@aiwg/cli 0.0.0-bootstrap.0 → 2026.7.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +22 -1
- package/bin/aiwg.mjs +349 -0
- package/dist/src/a2a/agent-card.js +145 -0
- package/dist/src/a2a/client.js +411 -0
- package/dist/src/a2a/hitl-cli.js +171 -0
- package/dist/src/a2a/hitl-driver.js +370 -0
- package/dist/src/a2a/hitl.js +181 -0
- package/dist/src/a2a/http.js +193 -0
- package/dist/src/a2a/jcs.js +128 -0
- package/dist/src/a2a/jws.js +187 -0
- package/dist/src/a2a/types.js +24 -0
- package/dist/src/a2a/webhook.js +240 -0
- package/dist/src/activity-log/cli.js +348 -0
- package/dist/src/activity-log/parser.js +81 -0
- package/dist/src/activity-log/types.js +50 -0
- package/dist/src/agents/agent-deployer.js +367 -0
- package/dist/src/agents/agent-packager.js +271 -0
- package/dist/src/agents/agent-validator.js +271 -0
- package/dist/src/agents/grounding/knowledge-base.js +161 -0
- package/dist/src/agents/grounding/types.js +12 -0
- package/dist/src/agents/index.js +10 -0
- package/dist/src/agents/packaged-agent-inventory.js +75 -0
- package/dist/src/agents/types.js +7 -0
- package/dist/src/api/index.d.ts +10 -0
- package/dist/src/api/index.js +10 -0
- package/dist/src/artifacts/address-parser.js +73 -0
- package/dist/src/artifacts/audit/cli.js +183 -0
- package/dist/src/artifacts/audit/drift.js +122 -0
- package/dist/src/artifacts/audit/types.js +12 -0
- package/dist/src/artifacts/backends/graphology-backend.js +160 -0
- package/dist/src/artifacts/backends/json-backend.js +129 -0
- package/dist/src/artifacts/backends/sqlite-backend.js +199 -0
- package/dist/src/artifacts/browser-export.js +622 -0
- package/dist/src/artifacts/capability-resolver.js +94 -0
- package/dist/src/artifacts/checksum-manifest.js +91 -0
- package/dist/src/artifacts/citation-parser.js +162 -0
- package/dist/src/artifacts/cli.js +1486 -0
- package/dist/src/artifacts/corpus-tools/citation-densify.js +311 -0
- package/dist/src/artifacts/corpus-tools/cli.js +393 -0
- package/dist/src/artifacts/corpus-tools/corpus-graph.js +225 -0
- package/dist/src/artifacts/corpus-tools/curator.js +186 -0
- package/dist/src/artifacts/corpus-tools/discovery-log.js +70 -0
- package/dist/src/artifacts/corpus-tools/funder-network.js +141 -0
- package/dist/src/artifacts/corpus-tools/induction-audit.js +233 -0
- package/dist/src/artifacts/corpus-tools/integrity-scan.js +202 -0
- package/dist/src/artifacts/corpus-tools/profile-communities.js +166 -0
- package/dist/src/artifacts/corpus-tools/profile-edges.js +72 -0
- package/dist/src/artifacts/corpus-tools/profile-embed.js +113 -0
- package/dist/src/artifacts/corpus-tools/profile-generate-fm.js +167 -0
- package/dist/src/artifacts/corpus-tools/profile-generate.js +181 -0
- package/dist/src/artifacts/corpus-tools/profile-metrics.js +98 -0
- package/dist/src/artifacts/corpus-tools/profile-status.js +86 -0
- package/dist/src/artifacts/corpus-tools/profile-temporal.js +139 -0
- package/dist/src/artifacts/corpus-tools/radar-init.js +93 -0
- package/dist/src/artifacts/corpus-tools/radar-report.js +118 -0
- package/dist/src/artifacts/corpus-tools/radar-shared.js +189 -0
- package/dist/src/artifacts/corpus-tools/radar-status.js +68 -0
- package/dist/src/artifacts/corpus-tools/sidecar-lint.js +233 -0
- package/dist/src/artifacts/corpus-tools/sidecar-repair.js +277 -0
- package/dist/src/artifacts/corpus-tools/snapshot.js +591 -0
- package/dist/src/artifacts/corpus-tools/source-types.js +164 -0
- package/dist/src/artifacts/corpus-tools/vision-extract.js +243 -0
- package/dist/src/artifacts/corpus-views/build.js +126 -0
- package/dist/src/artifacts/corpus-views/corpus-config.js +124 -0
- package/dist/src/artifacts/corpus-views/ref-parser.js +437 -0
- package/dist/src/artifacts/corpus-views/renderers.js +353 -0
- package/dist/src/artifacts/corpus-views/taxonomies.js +131 -0
- package/dist/src/artifacts/dep-graph.js +173 -0
- package/dist/src/artifacts/discover-facets.js +375 -0
- package/dist/src/artifacts/embedding-index.js +354 -0
- package/dist/src/artifacts/enrichment/cli.js +240 -0
- package/dist/src/artifacts/enrichment/prompt.js +47 -0
- package/dist/src/artifacts/enrichment/store.js +90 -0
- package/dist/src/artifacts/enrichment/types.js +12 -0
- package/dist/src/artifacts/fortemi-core-query-adapter.js +475 -0
- package/dist/src/artifacts/fortemi-core-sync.js +251 -0
- package/dist/src/artifacts/fortemi-shard-export.js +44 -0
- package/dist/src/artifacts/fulltext.js +108 -0
- package/dist/src/artifacts/graph-backend.js +51 -0
- package/dist/src/artifacts/graph-query.js +247 -0
- package/dist/src/artifacts/hybrid-query.js +225 -0
- package/dist/src/artifacts/index-builder.js +1089 -0
- package/dist/src/artifacts/index-reader.js +112 -0
- package/dist/src/artifacts/index-status.js +193 -0
- package/dist/src/artifacts/legacy-index-migration.js +169 -0
- package/dist/src/artifacts/move.js +154 -0
- package/dist/src/artifacts/operational-state.js +239 -0
- package/dist/src/artifacts/prebuilt-build-lock.js +49 -0
- package/dist/src/artifacts/query-engine.js +1955 -0
- package/dist/src/artifacts/source-graph.js +529 -0
- package/dist/src/artifacts/stats.js +169 -0
- package/dist/src/artifacts/types.js +606 -0
- package/dist/src/artifacts/views/cli.js +293 -0
- package/dist/src/artifacts/views/definition.js +170 -0
- package/dist/src/artifacts/views/store.js +149 -0
- package/dist/src/artifacts/views/types.js +8 -0
- package/dist/src/artifacts/watcher.js +255 -0
- package/dist/src/catalog/builtin-models.json +636 -0
- package/dist/src/catalog/cli.js +228 -0
- package/dist/src/catalog/cli.mjs +289 -0
- package/dist/src/catalog/index.js +15 -0
- package/dist/src/catalog/loader.js +217 -0
- package/dist/src/catalog/loader.mjs +251 -0
- package/dist/src/catalog/sources.json +41 -0
- package/dist/src/catalog/types.js +8 -0
- package/dist/src/channel/manager.mjs +504 -0
- package/dist/src/cli/agent-spawn.js +178 -0
- package/dist/src/cli/cli-extension-loader.js +245 -0
- package/dist/src/cli/command-log.js +275 -0
- package/dist/src/cli/config-loader.js +232 -0
- package/dist/src/cli/env.js +82 -0
- package/dist/src/cli/errors.js +150 -0
- package/dist/src/cli/find-package-root.js +40 -0
- package/dist/src/cli/git-hooks.js +250 -0
- package/dist/src/cli/handlers/agentcard.js +206 -0
- package/dist/src/cli/handlers/artifacts.js +76 -0
- package/dist/src/cli/handlers/best-practices-audit.js +280 -0
- package/dist/src/cli/handlers/cockpit.js +137 -0
- package/dist/src/cli/handlers/command-log.js +37 -0
- package/dist/src/cli/handlers/daemon.js +59 -0
- package/dist/src/cli/handlers/diagnose.js +300 -0
- package/dist/src/cli/handlers/execution-mode.js +105 -0
- package/dist/src/cli/handlers/feedback.js +341 -0
- package/dist/src/cli/handlers/help.js +147 -0
- package/dist/src/cli/handlers/index.js +302 -0
- package/dist/src/cli/handlers/init.js +179 -0
- package/dist/src/cli/handlers/install.js +129 -0
- package/dist/src/cli/handlers/issues.js +46 -0
- package/dist/src/cli/handlers/lint.js +42 -0
- package/dist/src/cli/handlers/local-executor.js +315 -0
- package/dist/src/cli/handlers/marketplace.js +168 -0
- package/dist/src/cli/handlers/mc.js +1010 -0
- package/dist/src/cli/handlers/models.js +352 -0
- package/dist/src/cli/handlers/packages.js +155 -0
- package/dist/src/cli/handlers/ralph-launcher.js +717 -0
- package/dist/src/cli/handlers/ralph.js +575 -0
- package/dist/src/cli/handlers/refresh.js +432 -0
- package/dist/src/cli/handlers/regenerate.js +336 -0
- package/dist/src/cli/handlers/repo-access.js +109 -0
- package/dist/src/cli/handlers/run.js +165 -0
- package/dist/src/cli/handlers/runtime-info.js +301 -0
- package/dist/src/cli/handlers/sandbox.js +197 -0
- package/dist/src/cli/handlers/scaffolding.js +149 -0
- package/dist/src/cli/handlers/script-runner.js +121 -0
- package/dist/src/cli/handlers/sdlc-accelerate.js +148 -0
- package/dist/src/cli/handlers/serve.js +1835 -0
- package/dist/src/cli/handlers/session.js +348 -0
- package/dist/src/cli/handlers/setup.js +440 -0
- package/dist/src/cli/handlers/skill-lint.js +367 -0
- package/dist/src/cli/handlers/skill-usage.js +74 -0
- package/dist/src/cli/handlers/steward.js +567 -0
- package/dist/src/cli/handlers/subcommands.js +1702 -0
- package/dist/src/cli/handlers/team.js +337 -0
- package/dist/src/cli/handlers/types.js +11 -0
- package/dist/src/cli/handlers/use.js +2772 -0
- package/dist/src/cli/handlers/utilities.js +703 -0
- package/dist/src/cli/handlers/version.js +134 -0
- package/dist/src/cli/handlers/workspace-context.js +93 -0
- package/dist/src/cli/handlers/workspace.js +126 -0
- package/dist/src/cli/help-generator.js +178 -0
- package/dist/src/cli/hooks/builtin/activity-log-hook.js +126 -0
- package/dist/src/cli/hooks/executor.js +96 -0
- package/dist/src/cli/hooks/index.js +15 -0
- package/dist/src/cli/hooks/registry.js +143 -0
- package/dist/src/cli/hooks/types.js +13 -0
- package/dist/src/cli/log.js +492 -0
- package/dist/src/cli/project-isolation/detect.js +70 -0
- package/dist/src/cli/project-isolation/index.js +7 -0
- package/dist/src/cli/project-isolation/signals.js +17 -0
- package/dist/src/cli/project-isolation/warning.js +102 -0
- package/dist/src/cli/prompt-utils.js +155 -0
- package/dist/src/cli/provider-deployment-plan.js +126 -0
- package/dist/src/cli/provider-resolution.js +119 -0
- package/dist/src/cli/router.js +305 -0
- package/dist/src/cli/scope-resolver.js +392 -0
- package/dist/src/cli/skill-usage.js +616 -0
- package/dist/src/cli/ui.js +224 -0
- package/dist/src/cli/watch-service.js +203 -0
- package/dist/src/cli/workflow-orchestrator.js +478 -0
- package/dist/src/cli/workspace-signals.js +321 -0
- package/dist/src/community/footer.js +14 -0
- package/dist/src/community/links.js +123 -0
- package/dist/src/community/milestones.js +46 -0
- package/dist/src/community/nudge-policy.js +93 -0
- package/dist/src/config/aiwg-config.js +883 -0
- package/dist/src/config/cli.js +703 -0
- package/dist/src/config/gitignore.js +156 -0
- package/dist/src/config/project-artifacts.js +76 -0
- package/dist/src/config/user-config.js +428 -0
- package/dist/src/config/user-registry.js +127 -0
- package/dist/src/config/workspace.js +276 -0
- package/dist/src/contributors/detect.js +39 -0
- package/dist/src/contributors/discover.js +172 -0
- package/dist/src/contributors/heuristic.js +186 -0
- package/dist/src/contributors/index.js +11 -0
- package/dist/src/contributors/types.js +13 -0
- package/dist/src/contributors/validation.js +116 -0
- package/dist/src/data/community.schema.json +43 -0
- package/dist/src/data/community.yaml +16 -0
- package/dist/src/extensions/capability-index.js +270 -0
- package/dist/src/extensions/claude-hooks-installer.js +268 -0
- package/dist/src/extensions/commands/definitions.js +3485 -0
- package/dist/src/extensions/deployment-registration.js +463 -0
- package/dist/src/extensions/index.js +22 -0
- package/dist/src/extensions/loader.js +132 -0
- package/dist/src/extensions/managed-marker.js +100 -0
- package/dist/src/extensions/manifest.js +196 -0
- package/dist/src/extensions/project-local-activity.js +114 -0
- package/dist/src/extensions/project-local-discovery.js +261 -0
- package/dist/src/extensions/project-local-doctor.js +281 -0
- package/dist/src/extensions/project-local-gitignore.js +176 -0
- package/dist/src/extensions/project-local-paths.js +121 -0
- package/dist/src/extensions/project-local-promote.js +218 -0
- package/dist/src/extensions/project-local-remove.js +373 -0
- package/dist/src/extensions/project-local-scaffold.js +252 -0
- package/dist/src/extensions/project-quickref.js +291 -0
- package/dist/src/extensions/registry.js +368 -0
- package/dist/src/extensions/shadow-resolver.js +271 -0
- package/dist/src/extensions/types.js +86 -0
- package/dist/src/extensions/upstream-registry.js +195 -0
- package/dist/src/extensions/validation.js +631 -0
- package/dist/src/features/catalog.js +88 -0
- package/dist/src/features/cli.js +197 -0
- package/dist/src/features/installer.js +57 -0
- package/dist/src/features/paths.js +14 -0
- package/dist/src/features/runtime.js +21 -0
- package/dist/src/features/status.js +134 -0
- package/dist/src/hooks/laziness-detection.js +532 -0
- package/dist/src/intake/git-history-analyzer.js +486 -0
- package/dist/src/intake/index.js +9 -0
- package/dist/src/issues/cli.js +327 -0
- package/dist/src/issues/index.js +5 -0
- package/dist/src/issues/live.js +154 -0
- package/dist/src/issues/local.js +666 -0
- package/dist/src/issues/sync.js +143 -0
- package/dist/src/issues/types.js +2 -0
- package/dist/src/issues/workflows.js +164 -0
- package/dist/src/kb/cli.js +173 -0
- package/dist/src/lint/cli.js +171 -0
- package/dist/src/lint/loader.js +225 -0
- package/dist/src/lint/reporters.js +141 -0
- package/dist/src/lint/runner.js +364 -0
- package/dist/src/lint/types.js +10 -0
- package/dist/src/marketplace/cache.js +110 -0
- package/dist/src/marketplace/identifier.js +63 -0
- package/dist/src/marketplace/registry.js +36 -0
- package/dist/src/marketplace/sources/clawhub.js +53 -0
- package/dist/src/marketplace/sources/git.js +45 -0
- package/dist/src/marketplace/types.js +9 -0
- package/dist/src/mcp/adapters/codex-runtime.js +224 -0
- package/dist/src/mcp/cli.mjs +1197 -0
- package/dist/src/mcp/elicitation.mjs +149 -0
- package/dist/src/mcp/helpers.mjs +287 -0
- package/dist/src/mcp/index.mjs +11 -0
- package/dist/src/mcp/profiles.js +263 -0
- package/dist/src/mcp/profiles.mjs +360 -0
- package/dist/src/mcp/registry.js +376 -0
- package/dist/src/mcp/registry.mjs +387 -0
- package/dist/src/mcp/server.mjs +633 -0
- package/dist/src/mcp/test-simple.mjs +271 -0
- package/dist/src/mcp/tools/command-run.mjs +101 -0
- package/dist/src/mcp/tools/discovery.mjs +291 -0
- package/dist/src/mcp/tools/interaction.mjs +87 -0
- package/dist/src/mcp/tools/orchestration.mjs +320 -0
- package/dist/src/mcp/tools/subsystems.mjs +640 -0
- package/dist/src/memory/cli.js +166 -0
- package/dist/src/memory/project-registry.js +282 -0
- package/dist/src/metrics/artifact-metrics.js +184 -0
- package/dist/src/metrics/context-budget.js +174 -0
- package/dist/src/metrics/token-counter.js +133 -0
- package/dist/src/models/config-loader.js +228 -0
- package/dist/src/models/index.js +22 -0
- package/dist/src/models/model-capabilities.v1.json +120 -0
- package/dist/src/models/model-catalog.v1.json +96 -0
- package/dist/src/models/model-discovery.js +521 -0
- package/dist/src/models/provider-models.js +73 -0
- package/dist/src/models/provider-policy.js +273 -0
- package/dist/src/models/resolver.js +245 -0
- package/dist/src/models/router.js +70 -0
- package/dist/src/models/types.js +8 -0
- package/dist/src/models/wrapper-deployment.js +178 -0
- package/dist/src/models/wrapper-route.js +54 -0
- package/dist/src/ops/cli.js +268 -0
- package/dist/src/ops/registry.js +623 -0
- package/dist/src/packages/adapters/clawhub.js +113 -0
- package/dist/src/packages/adapters/git.js +153 -0
- package/dist/src/packages/adapters/gitea.js +93 -0
- package/dist/src/packages/adapters/github.js +69 -0
- package/dist/src/packages/adapters/local-cache.js +89 -0
- package/dist/src/packages/package-registry.js +143 -0
- package/dist/src/packages/registry.js +238 -0
- package/dist/src/packages/types.js +11 -0
- package/dist/src/plugin/cross-framework-ops.js +475 -0
- package/dist/src/plugin/framework-config-loader.js +235 -0
- package/dist/src/plugin/framework-detector.js +186 -0
- package/dist/src/plugin/framework-isolator.js +341 -0
- package/dist/src/plugin/framework-migration.js +371 -0
- package/dist/src/plugin/metadata-validator.js +906 -0
- package/dist/src/plugin/plugin-installer.js +436 -0
- package/dist/src/plugin/plugin-status.js +369 -0
- package/dist/src/plugin/plugin-uninstaller.js +473 -0
- package/dist/src/plugin/registry-validator.js +344 -0
- package/dist/src/plugin/skill-command-translator.js +415 -0
- package/dist/src/plugin/workspace-creator.js +189 -0
- package/dist/src/plugin/workspace-migrator.js +821 -0
- package/dist/src/policy/authorization.js +390 -0
- package/dist/src/policy/repo-access.js +215 -0
- package/dist/src/provenance/cli.js +16 -0
- package/dist/src/providers/capability-matrix.js +300 -0
- package/dist/src/providers/capability-matrix.yaml +514 -0
- package/dist/src/providers/provider-definitions.js +977 -0
- package/dist/src/providers/provider-definitions.mjs +159 -0
- package/dist/src/providers/provider-inventory.js +169 -0
- package/dist/src/quality/feedback-ab.js +174 -0
- package/dist/src/quality/feedback-collector.js +176 -0
- package/dist/src/quality/feedback-tracker.js +123 -0
- package/dist/src/quality/patterns/adr.json +24 -0
- package/dist/src/quality/patterns/sad.json +24 -0
- package/dist/src/quality/patterns/test-plan.json +24 -0
- package/dist/src/quality/patterns/use-case.json +24 -0
- package/dist/src/quality/scoring.js +157 -0
- package/dist/src/reflections/cli.js +15 -0
- package/dist/src/release/plan.js +139 -0
- package/dist/src/research/cache/manager.js +227 -0
- package/dist/src/research/clients/arxiv.js +156 -0
- package/dist/src/research/clients/base.js +197 -0
- package/dist/src/research/clients/crossref.js +112 -0
- package/dist/src/research/clients/semantic-scholar.js +126 -0
- package/dist/src/research/clients/unpaywall.js +87 -0
- package/dist/src/research/index.js +14 -0
- package/dist/src/research/query-cli.js +336 -0
- package/dist/src/research/services/acquisition.js +313 -0
- package/dist/src/research/services/archival.js +225 -0
- package/dist/src/research/services/citation.js +279 -0
- package/dist/src/research/services/discovery.js +243 -0
- package/dist/src/research/services/documentation.js +269 -0
- package/dist/src/research/services/index.js +14 -0
- package/dist/src/research/services/provenance.js +279 -0
- package/dist/src/research/services/quality.js +370 -0
- package/dist/src/research/services/types.js +7 -0
- package/dist/src/research/storage-cli.js +20 -0
- package/dist/src/research/types.js +47 -0
- package/dist/src/resources/index.d.ts +2 -0
- package/dist/src/resources/index.js +2 -0
- package/dist/src/resources/web-release.d.ts +89 -0
- package/dist/src/resources/web-release.js +886 -0
- package/dist/src/rlm/cache/cli.js +162 -0
- package/dist/src/rlm/cache/hash.js +35 -0
- package/dist/src/rlm/cache/store.js +170 -0
- package/dist/src/rlm/cache/types.js +8 -0
- package/dist/src/rlm/cli.js +650 -0
- package/dist/src/serve/a2a-terminal-observer.js +120 -0
- package/dist/src/serve/agent-router.js +205 -0
- package/dist/src/serve/dispatch-router.js +171 -0
- package/dist/src/serve/executor-registry.js +715 -0
- package/dist/src/serve/mission-conductor.js +177 -0
- package/dist/src/serve/orchestrator-adapter.js +113 -0
- package/dist/src/serve/orchestrator-override.js +94 -0
- package/dist/src/serve/orchestrator-pty.js +133 -0
- package/dist/src/serve/pty-bridge.js +799 -0
- package/dist/src/serve/sandbox-registry.js +832 -0
- package/dist/src/serve/screen-reader.js +228 -0
- package/dist/src/serve/stack-adapters.js +68 -0
- package/dist/src/serve/telemetry.js +143 -0
- package/dist/src/skills/adapters/clawhub.js +250 -0
- package/dist/src/skills/adapters/local.js +335 -0
- package/dist/src/skills/adapters/openclaw.js +316 -0
- package/dist/src/skills/cli.js +334 -0
- package/dist/src/skills/registry.js +117 -0
- package/dist/src/skills/run.js +259 -0
- package/dist/src/skills/runtime.js +94 -0
- package/dist/src/skills/types.js +10 -0
- package/dist/src/smiths/agentsmith/demo.js +116 -0
- package/dist/src/smiths/agentsmith/examples.js +300 -0
- package/dist/src/smiths/agentsmith/generator.js +503 -0
- package/dist/src/smiths/agentsmith/index.js +11 -0
- package/dist/src/smiths/agentsmith/types.js +8 -0
- package/dist/src/smiths/commandsmith/example.js +220 -0
- package/dist/src/smiths/commandsmith/generator.js +288 -0
- package/dist/src/smiths/commandsmith/index.js +41 -0
- package/dist/src/smiths/commandsmith/templates.js +296 -0
- package/dist/src/smiths/commandsmith/types.js +7 -0
- package/dist/src/smiths/context-pipeline/aiwg-md.js +104 -0
- package/dist/src/smiths/context-pipeline/allowlist.js +195 -0
- package/dist/src/smiths/context-pipeline/claude-hook.js +127 -0
- package/dist/src/smiths/context-pipeline/discovery.js +187 -0
- package/dist/src/smiths/context-pipeline/external-links-section.js +49 -0
- package/dist/src/smiths/context-pipeline/finalization.js +147 -0
- package/dist/src/smiths/context-pipeline/generator.js +477 -0
- package/dist/src/smiths/context-pipeline/index.js +30 -0
- package/dist/src/smiths/context-pipeline/legacy-inject.js +103 -0
- package/dist/src/smiths/context-pipeline/managed-hook.js +95 -0
- package/dist/src/smiths/context-pipeline/overflow.js +212 -0
- package/dist/src/smiths/context-pipeline/parallelism-section.js +94 -0
- package/dist/src/smiths/context-pipeline/provider-policy.js +64 -0
- package/dist/src/smiths/context-pipeline/sanitizer.js +93 -0
- package/dist/src/smiths/context-pipeline/types.js +23 -0
- package/dist/src/smiths/context-pipeline/workspace-context.js +988 -0
- package/dist/src/smiths/hook-bridge/codex-translator.js +129 -0
- package/dist/src/smiths/hook-bridge/copilot-translator.js +64 -0
- package/dist/src/smiths/hook-bridge/factory-translator.js +43 -0
- package/dist/src/smiths/hook-bridge/hermes-translator.js +88 -0
- package/dist/src/smiths/hook-bridge/index.js +79 -0
- package/dist/src/smiths/hook-bridge/loader.js +116 -0
- package/dist/src/smiths/hook-bridge/shim.js +89 -0
- package/dist/src/smiths/hook-bridge/types.js +31 -0
- package/dist/src/smiths/index.js +39 -0
- package/dist/src/smiths/mcpsmith/analyzers/cli-analyzer.js +390 -0
- package/dist/src/smiths/mcpsmith/example.js +119 -0
- package/dist/src/smiths/mcpsmith/generator.js +236 -0
- package/dist/src/smiths/mcpsmith/index.js +17 -0
- package/dist/src/smiths/mcpsmith/types.js +10 -0
- package/dist/src/smiths/platform-paths.js +101 -0
- package/dist/src/smiths/skillsmith/codex-sidecar.js +85 -0
- package/dist/src/smiths/skillsmith/collision-detector.js +249 -0
- package/dist/src/smiths/skillsmith/demo.js +83 -0
- package/dist/src/smiths/skillsmith/examples.js +161 -0
- package/dist/src/smiths/skillsmith/generator.js +316 -0
- package/dist/src/smiths/skillsmith/index.js +12 -0
- package/dist/src/smiths/skillsmith/namespace-adapter.js +180 -0
- package/dist/src/smiths/skillsmith/platform-resolver.js +157 -0
- package/dist/src/smiths/skillsmith/types.js +9 -0
- package/dist/src/smiths/toolsmith/index.js +10 -0
- package/dist/src/smiths/toolsmith/runtime-discovery.mjs +710 -0
- package/dist/src/smiths/toolsmith/types.js +8 -0
- package/dist/src/storage/backends/fortemi.js +227 -0
- package/dist/src/storage/backends/fs.js +134 -0
- package/dist/src/storage/backends/logseq.js +309 -0
- package/dist/src/storage/backends/obsidian.js +233 -0
- package/dist/src/storage/cli.js +468 -0
- package/dist/src/storage/config.js +272 -0
- package/dist/src/storage/index.js +108 -0
- package/dist/src/storage/subsystem-cli.js +201 -0
- package/dist/src/storage/types.js +33 -0
- package/dist/src/testing/corpus/corpus-builder.js +383 -0
- package/dist/src/testing/corpus/ground-truth-manager.js +460 -0
- package/dist/src/testing/corpus/index.js +10 -0
- package/dist/src/testing/fixtures/index.js +9 -0
- package/dist/src/testing/fixtures/test-data-factory.js +472 -0
- package/dist/src/testing/generators/index.js +11 -0
- package/dist/src/testing/generators/test-case-generator.js +393 -0
- package/dist/src/testing/generators/test-code-generator.js +384 -0
- package/dist/src/testing/generators/use-case-parser.js +325 -0
- package/dist/src/testing/index.js +11 -0
- package/dist/src/tracker/capability-protocol.js +118 -0
- package/dist/src/update/checker.mjs +396 -0
- package/dist/src/update/notifier.mjs +235 -0
- package/dist/src/writing/content-diversifier.js +804 -0
- package/dist/src/writing/example-generator.js +959 -0
- package/dist/src/writing/example-templates.js +99 -0
- package/dist/src/writing/pattern-library.js +486 -0
- package/dist/src/writing/patterns/banned-phrases.json +4413 -0
- package/dist/src/writing/patterns/formulaic-structures.json +1300 -0
- package/dist/src/writing/patterns/generic-adjectives.json +1510 -0
- package/dist/src/writing/patterns/hedging-language.json +2096 -0
- package/dist/src/writing/patterns/transition-words.json +1285 -0
- package/dist/src/writing/patterns/weak-verbs.json +1112 -0
- package/dist/src/writing/prompt-optimizer.js +660 -0
- package/dist/src/writing/prompt-templates.js +583 -0
- package/dist/src/writing/scoring-config-loader.js +168 -0
- package/dist/src/writing/validation-engine.js +595 -0
- package/dist/src/writing/validation-rules.js +380 -0
- package/dist/src/writing/voice-analyzer.js +439 -0
- package/dist/src/writing/voice-calibration.js +661 -0
- package/dist/src/writing/voice-profiles.json +588 -0
- package/package.json +65 -9
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FrameworkIsolator - Enforce framework-scoped isolation
|
|
3
|
+
*
|
|
4
|
+
* Ensures framework-specific resources (agents, commands, memory) are isolated
|
|
5
|
+
* from each other while allowing shared resources (requirements, architecture)
|
|
6
|
+
* to be accessible across all frameworks.
|
|
7
|
+
*
|
|
8
|
+
* FID-007 Framework-Scoped Workspaces isolation logic.
|
|
9
|
+
*
|
|
10
|
+
* @module src/plugin/framework-isolator
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
* @since 2025-10-23
|
|
13
|
+
*/
|
|
14
|
+
import * as fs from 'fs/promises';
|
|
15
|
+
import * as path from 'path';
|
|
16
|
+
// ===========================
|
|
17
|
+
// FrameworkIsolator Class
|
|
18
|
+
// ===========================
|
|
19
|
+
export class FrameworkIsolator {
|
|
20
|
+
projectRoot;
|
|
21
|
+
FRAMEWORK_SPECIFIC = ['agents', 'commands', 'memory', 'context'];
|
|
22
|
+
SHARED_RESOURCES = [
|
|
23
|
+
'intake', 'requirements', 'architecture', 'testing', 'deployment',
|
|
24
|
+
'security', 'quality', 'risks', 'planning', 'reports', 'working',
|
|
25
|
+
'handoffs', 'gates', 'decisions', 'team', 'management'
|
|
26
|
+
];
|
|
27
|
+
constructor(projectRoot) {
|
|
28
|
+
this.projectRoot = path.resolve(projectRoot);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get framework-specific path
|
|
32
|
+
*
|
|
33
|
+
* @param framework - Framework name
|
|
34
|
+
* @param resource - Optional resource path
|
|
35
|
+
* @returns Full path to framework resource
|
|
36
|
+
*/
|
|
37
|
+
getFrameworkPath(framework, resource) {
|
|
38
|
+
if (framework === 'shared') {
|
|
39
|
+
const basePath = path.join(this.projectRoot, '.aiwg', 'shared');
|
|
40
|
+
return resource ? path.join(basePath, resource) : basePath;
|
|
41
|
+
}
|
|
42
|
+
if (!['claude', 'codex', 'cursor'].includes(framework)) {
|
|
43
|
+
throw new Error(`Unknown framework: ${framework}`);
|
|
44
|
+
}
|
|
45
|
+
const basePath = path.join(this.projectRoot, '.aiwg', framework);
|
|
46
|
+
if (resource) {
|
|
47
|
+
// Normalize resource path
|
|
48
|
+
const normalizedResource = resource.startsWith('/') ? resource.slice(1) : resource;
|
|
49
|
+
return path.join(basePath, normalizedResource);
|
|
50
|
+
}
|
|
51
|
+
return basePath;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Check if resource is shared across frameworks
|
|
55
|
+
*
|
|
56
|
+
* @param resourcePath - Resource path
|
|
57
|
+
* @returns True if resource is shared
|
|
58
|
+
*/
|
|
59
|
+
isSharedResource(resourcePath) {
|
|
60
|
+
const firstDir = resourcePath.split('/')[0];
|
|
61
|
+
return this.SHARED_RESOURCES.includes(firstDir);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get framework-specific resources
|
|
65
|
+
*
|
|
66
|
+
* @param framework - Framework name
|
|
67
|
+
* @param resourceType - Resource type (agents, commands, etc.)
|
|
68
|
+
* @returns Array of resource paths
|
|
69
|
+
*/
|
|
70
|
+
async getFrameworkResources(framework, resourceType) {
|
|
71
|
+
const frameworkPath = this.getFrameworkPath(framework, resourceType);
|
|
72
|
+
try {
|
|
73
|
+
const entries = await fs.readdir(frameworkPath);
|
|
74
|
+
return entries;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get shared resources
|
|
82
|
+
*
|
|
83
|
+
* @param resourceType - Resource type
|
|
84
|
+
* @param framework - Optional framework name (for access checking)
|
|
85
|
+
* @returns Array of resource paths
|
|
86
|
+
*/
|
|
87
|
+
async getSharedResources(resourceType, _framework) {
|
|
88
|
+
const sharedPath = path.join(this.projectRoot, '.aiwg', 'shared', resourceType);
|
|
89
|
+
try {
|
|
90
|
+
const entries = await fs.readdir(sharedPath);
|
|
91
|
+
return entries;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get framework-specific config
|
|
99
|
+
*
|
|
100
|
+
* @param framework - Framework name
|
|
101
|
+
* @returns Framework configuration
|
|
102
|
+
*/
|
|
103
|
+
async getFrameworkConfig(framework) {
|
|
104
|
+
const configPath = this.getFrameworkPath(framework, 'settings.json');
|
|
105
|
+
try {
|
|
106
|
+
const content = await fs.readFile(configPath, 'utf-8');
|
|
107
|
+
return JSON.parse(content);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// Fallback for YAML config
|
|
111
|
+
const yamlPath = this.getFrameworkPath(framework, 'config.yaml');
|
|
112
|
+
try {
|
|
113
|
+
const content = await fs.readFile(yamlPath, 'utf-8');
|
|
114
|
+
// Simple YAML parsing (for basic cases)
|
|
115
|
+
return this.parseSimpleYaml(content);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return { framework };
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Validate workspace isolation
|
|
124
|
+
*
|
|
125
|
+
* @returns Validation result
|
|
126
|
+
*/
|
|
127
|
+
async validateIsolation() {
|
|
128
|
+
const errors = [];
|
|
129
|
+
// Check for framework-specific resources in shared
|
|
130
|
+
const sharedPath = path.join(this.projectRoot, '.aiwg', 'shared');
|
|
131
|
+
try {
|
|
132
|
+
const entries = await fs.readdir(sharedPath, { withFileTypes: true });
|
|
133
|
+
for (const entry of entries) {
|
|
134
|
+
if (entry.isDirectory() && this.FRAMEWORK_SPECIFIC.includes(entry.name)) {
|
|
135
|
+
errors.push({
|
|
136
|
+
type: 'contamination',
|
|
137
|
+
path: path.join('shared', entry.name),
|
|
138
|
+
message: `${entry.name} should not be in shared`
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Check for settings files in shared
|
|
143
|
+
const files = entries.filter(e => e.isFile());
|
|
144
|
+
for (const file of files) {
|
|
145
|
+
if (file.name === 'settings.json' || file.name === 'config.yaml') {
|
|
146
|
+
errors.push({
|
|
147
|
+
type: 'contamination',
|
|
148
|
+
path: path.join('shared', file.name),
|
|
149
|
+
message: `${file.name} should not be in shared`
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
// Shared directory doesn't exist
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
valid: errors.length === 0,
|
|
159
|
+
errors
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Check if framework can access resource
|
|
164
|
+
*
|
|
165
|
+
* @param framework - Framework name
|
|
166
|
+
* @param resourcePath - Resource path
|
|
167
|
+
* @returns True if access allowed
|
|
168
|
+
*/
|
|
169
|
+
async canAccess(framework, resourcePath) {
|
|
170
|
+
// Shared resources are accessible to all
|
|
171
|
+
if (resourcePath.startsWith('shared/')) {
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
// Framework can access its own resources
|
|
175
|
+
if (resourcePath.startsWith(`${framework}/`)) {
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Check if framework can read resource
|
|
182
|
+
*
|
|
183
|
+
* @param framework - Framework name
|
|
184
|
+
* @param resourcePath - Resource path
|
|
185
|
+
* @returns True if read allowed
|
|
186
|
+
*/
|
|
187
|
+
async canRead(framework, resourcePath) {
|
|
188
|
+
return this.canAccess(framework, resourcePath);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Check if framework can write to resource
|
|
192
|
+
*
|
|
193
|
+
* @param framework - Framework name
|
|
194
|
+
* @param resourcePath - Resource path
|
|
195
|
+
* @returns True if write allowed
|
|
196
|
+
*/
|
|
197
|
+
async canWrite(framework, resourcePath) {
|
|
198
|
+
// Cannot write to other framework's directories
|
|
199
|
+
if (resourcePath.startsWith('claude/') ||
|
|
200
|
+
resourcePath.startsWith('codex/') ||
|
|
201
|
+
resourcePath.startsWith('cursor/')) {
|
|
202
|
+
return resourcePath.startsWith(`${framework}/`);
|
|
203
|
+
}
|
|
204
|
+
// Can write to shared if authorized
|
|
205
|
+
if (resourcePath.startsWith('shared/')) {
|
|
206
|
+
return true;
|
|
207
|
+
}
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Identify framework-specific resources in legacy workspace
|
|
212
|
+
*
|
|
213
|
+
* @param workspacePath - Workspace path
|
|
214
|
+
* @returns Array of framework-specific resources
|
|
215
|
+
*/
|
|
216
|
+
async identifyFrameworkSpecificResources(workspacePath) {
|
|
217
|
+
const resources = [];
|
|
218
|
+
for (const dir of this.FRAMEWORK_SPECIFIC) {
|
|
219
|
+
const dirPath = path.join(workspacePath, dir);
|
|
220
|
+
try {
|
|
221
|
+
const files = await this.listFilesRecursive(dirPath);
|
|
222
|
+
for (const file of files) {
|
|
223
|
+
resources.push({
|
|
224
|
+
source: path.join(dir, file),
|
|
225
|
+
type: 'framework-specific'
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// Directory doesn't exist
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return resources;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Identify shared resources in legacy workspace
|
|
237
|
+
*
|
|
238
|
+
* @param workspacePath - Workspace path
|
|
239
|
+
* @returns Array of shared resources
|
|
240
|
+
*/
|
|
241
|
+
async identifySharedResources(workspacePath) {
|
|
242
|
+
const resources = [];
|
|
243
|
+
for (const dir of this.SHARED_RESOURCES) {
|
|
244
|
+
const dirPath = path.join(workspacePath, dir);
|
|
245
|
+
try {
|
|
246
|
+
const files = await this.listFilesRecursive(dirPath);
|
|
247
|
+
for (const file of files) {
|
|
248
|
+
resources.push({
|
|
249
|
+
source: path.join(dir, file),
|
|
250
|
+
target: path.join('shared', dir, file)
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
// Directory doesn't exist
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return resources;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Categorize all resources
|
|
262
|
+
*
|
|
263
|
+
* @param workspacePath - Workspace path
|
|
264
|
+
* @returns Categorized resources
|
|
265
|
+
*/
|
|
266
|
+
async categorizeResources(workspacePath) {
|
|
267
|
+
const frameworkSpecificResources = await this.identifyFrameworkSpecificResources(workspacePath);
|
|
268
|
+
const sharedResources = await this.identifySharedResources(workspacePath);
|
|
269
|
+
return {
|
|
270
|
+
frameworkSpecific: frameworkSpecificResources.map(r => r.source),
|
|
271
|
+
shared: sharedResources.map(r => r.source)
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Suggest target frameworks for resources
|
|
276
|
+
*
|
|
277
|
+
* @param workspacePath - Workspace path
|
|
278
|
+
* @returns Array of framework suggestions
|
|
279
|
+
*/
|
|
280
|
+
async suggestFrameworkTargets(workspacePath) {
|
|
281
|
+
const suggestions = [];
|
|
282
|
+
// Detect installed frameworks
|
|
283
|
+
const { FrameworkDetector } = await import('./framework-detector.js');
|
|
284
|
+
const detector = new FrameworkDetector(this.projectRoot);
|
|
285
|
+
const frameworks = await detector.detectFrameworks();
|
|
286
|
+
if (frameworks.length === 0) {
|
|
287
|
+
return suggestions;
|
|
288
|
+
}
|
|
289
|
+
// Suggest first detected framework for all framework-specific resources
|
|
290
|
+
const frameworkSpecific = await this.identifyFrameworkSpecificResources(workspacePath);
|
|
291
|
+
const targetFramework = frameworks[0];
|
|
292
|
+
for (const resource of frameworkSpecific) {
|
|
293
|
+
suggestions.push({
|
|
294
|
+
resource: resource.source,
|
|
295
|
+
suggestedFramework: targetFramework,
|
|
296
|
+
confidence: frameworks.length === 1 ? 1.0 : 0.7
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
return suggestions;
|
|
300
|
+
}
|
|
301
|
+
// ===========================
|
|
302
|
+
// Helper Methods
|
|
303
|
+
// ===========================
|
|
304
|
+
async listFilesRecursive(dirPath) {
|
|
305
|
+
const files = [];
|
|
306
|
+
const walk = async (currentPath, relativePath = '') => {
|
|
307
|
+
const entries = await fs.readdir(currentPath, { withFileTypes: true });
|
|
308
|
+
for (const entry of entries) {
|
|
309
|
+
const fullPath = path.join(currentPath, entry.name);
|
|
310
|
+
const relPath = path.join(relativePath, entry.name);
|
|
311
|
+
if (entry.isDirectory()) {
|
|
312
|
+
await walk(fullPath, relPath);
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
files.push(relPath);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
await walk(dirPath);
|
|
320
|
+
return files;
|
|
321
|
+
}
|
|
322
|
+
parseSimpleYaml(content) {
|
|
323
|
+
const result = {};
|
|
324
|
+
const lines = content.split('\n');
|
|
325
|
+
for (const line of lines) {
|
|
326
|
+
const trimmed = line.trim();
|
|
327
|
+
if (!trimmed || trimmed.startsWith('#'))
|
|
328
|
+
continue;
|
|
329
|
+
const colonIndex = trimmed.indexOf(':');
|
|
330
|
+
if (colonIndex === -1)
|
|
331
|
+
continue;
|
|
332
|
+
const key = trimmed.slice(0, colonIndex).trim();
|
|
333
|
+
const value = trimmed.slice(colonIndex + 1).trim();
|
|
334
|
+
if (value) {
|
|
335
|
+
result[key] = value;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
return result;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
//# sourceMappingURL=framework-isolator.js.map
|