modulePackage manifestv7.0.5

module.workspace

Workspace discovery and management module

@lssm-tech/module.workspace
Source, release and verification context

Source snapshot bcc79fcc · Declared package version 7.0.5. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.

Package source ↗ Manifest ↗
servernode
EXPLORE THE PACKAGE

See where this package fits.

Follow a declared connection, inspect an import, then open the source guide when you need the detail.

THIS PACKAGEmodule.workspaceplatform

Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.

12 déclarations · les 6 premières affichéesSELECT TO INSPECT

@lssm-tech/module.workspace

Website: https://contractspec.io

Workspace discovery, static analysis, and graph-building module.

What It Provides

  • Couche: module.
  • Generative Core role: owns pure static analyzers that turn scanned specs, package files, imports/exports, docs, tests, implementation links, and generated outputs into deterministic graph input.
  • Consumers: bundles (contractspec-studio), apps (cli-contractspec, vscode-contractspec).
  • Related ContractSpec packages include @lssm-tech/lib.contracts-integrations, @lssm-tech/lib.contracts-spec, @lssm-tech/lib.schema, @lssm-tech/tool.bun, @lssm-tech/tool.typescript.
  • Related ContractSpec packages include @lssm-tech/lib.contracts-integrations, @lssm-tech/lib.contracts-spec, @lssm-tech/lib.schema, @lssm-tech/tool.bun, @lssm-tech/tool.typescript.

Installation

npm install @lssm-tech/module.workspace

or

bun add @lssm-tech/module.workspace

Usage

Import the root entrypoint from @lssm-tech/module.workspace, or choose a documented subpath when you only need one part of the package surface.

Source scanning, authoring path conventions, structure validation, spec types, and Markdown/DocBlock rendering forward to their canonical implementations in @lssm-tech/lib.cli-runtime/workspace/analysis, /workspace/types, and /workspace/formatters. Existing workspace exports preserve function identity and behavior. Lower runtime consumers can use those CLI runtime leaves directly. Semantic diff, snapshot, impact classification, and static DocBlock extraction use the same compatible forwards.

Static DocBlock extraction (extractModuleDocData, analyzePackageDocBlocks, buildPackageDocManifest) parses through the typescript runtime port of @lssm-tech/lib.cli-runtime. @lssm-tech/bundle.workspace binds it when its root entry is imported and when it creates a CLI program. Other callers bind it first, or the call throws CliRuntimePortError (code: 'missingHostBinding'):

ts
import { bindCliRuntimePorts } from '@lssm-tech/lib.cli-runtime/ports/runtime';
import * as typescript from '@lssm-tech/lib.typescript-runtime';

bindCliRuntimePorts({ typescript });

Self-maintaining APIs

@lssm-tech/module.workspace/maintenance exposes provider-neutral contracts and pure orchestration for source ingestion, cross-language usage analysis, candidate patch planning, approval, CI validation, draft change requests, rollback, leasing, and merged-outcome observation.

The continuous worker is fail-closed: source refs must bind explicit base/head roles, approvals expire, leases fence concurrent workers, validation failure rolls back the candidate branch, and completion requires the repository adapter to observe a merged change request. Infrastructure and GitHub calls remain behind ports and are supplied by a bundle or host application.

GovernedChangeAutomationCoordinator is a separate additive V2 coordinator. It binds the maintenance case, patch receipt, exact base/head revisions, low-risk decision, and passing checks before it can mark a PR ready or schedule native auto-merge. Medium, high, unknown, stale, or failed-check changes remain blocked for human review. The original draft-only lifecycle is unchanged.

Architecture

  • src/ai is part of the package's public or composition surface.
  • src/analysis is part of the package's public or composition surface.
  • src/formatter.ts is part of the package's public or composition surface.
  • src/formatters is part of the package's public or composition surface.
  • src/index.ts is the root public barrel and package entrypoint.
  • src/maintenance owns the provider-neutral self-maintaining API lifecycle.
  • src/templates is part of the package's public or composition surface.
  • src/types is part of the package's public or composition surface.

Generative Core Analyzer Scope

  • Contract graph extraction covers authored operations, events, presentations, forms, workflows, knowledge, policies, integrations, jobs, translations, docs, tests, and generated-artifact refs.
  • Codebase graph extraction covers packages, files, imports, exports, tests, docs, generated targets, implementation links, and confidence diagnostics.
  • Visual scenarios are discovered from defineVisualScenario(...) declarations and the .visual-scenario.ts / visual-scenarios/ conventions.
  • The module stays pure: persistence, Connect policy, CLI rendering, and apply/repair orchestration remain in bundle/app layers.

Public Entry Points

  • Export . resolves through ./src/index.ts.
  • Export ./maintenance resolves through ./src/maintenance/index.ts.

Local Commands

  • bun run dev — contractspec-bun-build dev
  • bun run build — contractspec-bun-build build
  • bun run test — bun test
  • bun run lint — bun lint:fix
  • bun run lint:check — biome check .
  • bun run lint:fix — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
  • bun run typecheck — tsgo --noEmit
  • bun run publish:pkg — bun publish --tolerate-republish --ignore-scripts --verbose
  • bun run publish:pkg:canary — bun publish:pkg --tag canary
  • bun run clean — rimraf dist .turbo
  • bun run build:bundle — contractspec-bun-build transpile
  • bun run build:types — contractspec-bun-build types
  • bun run prebuild — contractspec-bun-build prebuild

Recent Updates

  • Replace eslint+prettier by biomejs to optimize speed.
  • Stability.
  • Add changesets and apply pending fixes.
  • Add ai-native messaging channel runtime.
  • Add the leased, approval-gated, provider-neutral self-maintaining API worker.

Notes

  • Uses ts-morph for AST analysis and compare-versions for semver checks -- version bumps may affect parsing behavior.
  • Workspace detection is file-system-dependent; always use the provided abstractions, never raw fs calls.
  • Changes here affect CLI, VSCode extension, and studio workspace initialization flows.

Data-view structure validation accepts both legacy defineDataView(spec) and translation-bound defineDataView(messages, spec), inspecting the spec argument rather than the translation catalog.

The root build targets Node-compatible server execution (including Bun). It requires filesystem, process, or native compiler facilities and does not advertise a browser export condition. Browser applications should use the relevant browser-safe contracts or UI entry points instead of importing this server root.

Declared capabilities.

Module Workspace

Workspace discovery and management module

Use it to

  • Adopt workspace discovery and management module

Requires

  • TypeScript

Choose another boundary when

  • The @lssm-tech/module.workspace package constraints do not match the target runtime or platform.

@lssm-tech/module.workspace

@lssm-tech/module.workspace/maintenance

Imports and export paths.

2 entries

These are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.

2 imports

Dependencies and related packages.

Runtime dependencies 12
compare-versions
catalog:data
ts-morph
^28.0.0
typescript
catalog:
zod
catalog:
Development dependencies 3
@electric-sql/pglite
catalog:data

Package scripts.

Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.

publish:pkgbun publish --tolerate-republish --ignore-scripts --verbose
publish:pkg:canarybun publish:pkg --tag canary
buildcontractspec-bun-build build
build:bundlecontractspec-bun-build transpile
build:typescontractspec-bun-build types
devcontractspec-bun-build dev
cleanrimraf dist .turbo
lintbun lint:fix
lint:fixnode ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .
lint:checknode ../../../../scripts/biome.cjs check .
testbun test
prebuildcontractspec-bun-build prebuild
typechecktsgo --noEmit
Votre vue

Make room for your context.

Shape the presentation around this moment. You can change it whenever you need.

Votre contexte

The different parts of you

Choose a starting point

Un mélange utile de contexte, de visuels et de guidage discret.

Tune each dimension
Each dimension can change independently. Product permissions and available actions stay unchanged.

Support the way you begin and return

Tune your support

Confort de lecture

Choisir votre langue

La langue de l’interface change uniquement le texte. Les marchés, les prix et les parcours conservent leurs propres paramètres.

Couverture des traductions

Une partie du contenu est affichée en anglais.

Navigation151
Graphe616
Catégories378
Portfolio833
Exemples2 035
Aperçu de la source1 542

D’autres traductions seront ajoutées à mesure que le contenu sera relu.

Cette préférence est enregistrée dans ce navigateur.

Rechercher sur le site

Des points de départ utiles

Aucun résultat. Essayez une expression plus courte, un nom d’opération ou un autre périmètre de recherche.

UN PEU DE PLACE POUR EXPLORER

Trouvez quelque chose à explorer.

Ouvrez un aperçu détaillé sur cette page, essayez une autre perspective ou suivez le détail vers sa propre page.

Fonctionnement des aperçus et des commandes
01

Regarder avant de partir

Survolez un lien ou sélectionnez-le avec Tab pour voir un aperçu. Cliquer sur le lien d’origine ou appuyer sur Entrée ouvre toujours sa destination.

02

Rester dans le contexte

Entrez dans l’aperçu pour explorer ses sections. Depuis un lien sélectionné, utilisez Alt + ↓ pour y entrer au clavier. Échap le ferme.

03

Ouvrir les possibilités

Les lignes dépliables, les choix de perspective et les commandes mises en évidence révèlent davantage. Votre vue adapte le confort de lecture et le contexte exploré.

Un bouton séparé pour voir de plus près

Affichez de petits boutons d’aperçu à côté des liens quand l’espace le permet. Touchez l’œil pour examiner ou le lien pour y aller directement. Ce choix reste dans cet onglet.

Aucun historique de navigation n’est collecté. La réduction des animations suit votre appareil et Votre vue.