@aiwg/cli 2026.10.3 → 2026.10.5
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/README.md +2 -2
- package/agentic/code/providers/model-capabilities.v1.json +96 -4
- package/bin/aiwg.mjs +50 -27
- package/dist/src/agents/grounding/knowledge-base.js +54 -6
- package/dist/src/artifacts/browser-export.js +6 -0
- package/dist/src/artifacts/checksum-manifest.js +1 -0
- package/dist/src/artifacts/citation-parser.js +173 -92
- package/dist/src/artifacts/citation-table-schema.js +59 -0
- package/dist/src/artifacts/cli.js +69 -18
- package/dist/src/artifacts/corpus-tools/snapshot.js +1 -1
- package/dist/src/artifacts/corpus-tools/vision-extract.js +2 -0
- package/dist/src/artifacts/corpus-views/ref-parser.js +3 -1
- package/dist/src/artifacts/corpus-views/renderers.js +3 -3
- package/dist/src/artifacts/discovery-eval.js +6 -4
- package/dist/src/artifacts/fortemi-core-query-adapter.js +36 -3
- package/dist/src/artifacts/fortemi-core-sync.js +166 -40
- package/dist/src/artifacts/framework-capabilities.js +171 -0
- package/dist/src/artifacts/framework-index-paths.js +73 -0
- package/dist/src/artifacts/framework-source-digest.js +75 -0
- package/dist/src/artifacts/index-builder.js +286 -131
- package/dist/src/artifacts/index-files.js +132 -18
- package/dist/src/artifacts/index-preparation.js +130 -0
- package/dist/src/artifacts/index-refresh.js +591 -0
- package/dist/src/artifacts/index-worker.mjs +11 -0
- package/dist/src/artifacts/prebuilt-build-lock.js +47 -4
- package/dist/src/artifacts/prebuilt-deployment.js +46 -0
- package/dist/src/artifacts/prebuilt-relations.js +80 -0
- package/dist/src/artifacts/query-engine.js +410 -88
- package/dist/src/artifacts/relations-builder.js +168 -0
- package/dist/src/artifacts/relations.js +148 -0
- package/dist/src/artifacts/stats.js +5 -2
- package/dist/src/artifacts/types.js +30 -10
- package/dist/src/artifacts/watcher.js +1 -1
- package/dist/src/auth/credential-store.js +2 -1
- package/dist/src/catalog/cli.d.mts +5 -0
- package/dist/src/channel/manager.d.mts +20 -0
- package/dist/src/channel/manager.mjs +19 -2
- package/dist/src/cli/command-log.js +2 -3
- package/dist/src/cli/handlers/artifacts.js +3 -0
- package/dist/src/cli/handlers/auth.js +3 -0
- package/dist/src/cli/handlers/decision.js +19 -12
- package/dist/src/cli/handlers/diagnose.js +4 -3
- package/dist/src/cli/handlers/effect.js +4 -2
- package/dist/src/cli/handlers/evidence.js +3 -0
- package/dist/src/cli/handlers/help.js +1 -0
- package/dist/src/cli/handlers/index.js +3 -1
- package/dist/src/cli/handlers/init.js +4 -1
- package/dist/src/cli/handlers/lint.js +5 -0
- package/dist/src/cli/handlers/models.js +104 -8
- package/dist/src/cli/handlers/ralph-launcher.js +2 -0
- package/dist/src/cli/handlers/refresh.js +12 -0
- package/dist/src/cli/handlers/resource-versions.js +3 -0
- package/dist/src/cli/handlers/rules.js +195 -0
- package/dist/src/cli/handlers/run.js +4 -0
- package/dist/src/cli/handlers/runtime-info.js +1 -2
- package/dist/src/cli/handlers/script-runner.js +3 -2
- package/dist/src/cli/handlers/session.js +19 -9
- package/dist/src/cli/handlers/sessions.js +137 -43
- package/dist/src/cli/handlers/setup-manifest.js +39 -44
- package/dist/src/cli/handlers/setup.js +41 -0
- package/dist/src/cli/handlers/steward.js +11 -0
- package/dist/src/cli/handlers/subcommands.js +57 -2
- package/dist/src/cli/handlers/uhp.js +3 -0
- package/dist/src/cli/handlers/use.js +294 -55
- package/dist/src/cli/handlers/utilities.js +26 -10
- package/dist/src/cli/handlers/version.js +8 -0
- package/dist/src/cli/router.js +15 -1
- package/dist/src/cli/services/deployment-verification.js +19 -9
- package/dist/src/cli/services/provider-prepare-coordinator.js +24 -0
- package/dist/src/cli/skill-usage.js +2 -3
- package/dist/src/config/aiwg-config.js +87 -37
- package/dist/src/config/cli.js +111 -5
- package/dist/src/config/decision-config.js +106 -0
- package/dist/src/config/dispatch-thresholds-runtime.d.mts +8 -0
- package/dist/src/config/gitignore.js +50 -0
- package/dist/src/config/index-graph-overrides.js +36 -0
- package/dist/src/config/project-artifacts-health.d.mts +37 -0
- package/dist/src/config/project-artifacts-runtime.d.mts +16 -0
- package/dist/src/config/user-config-dir.d.mts +9 -0
- package/dist/src/config/user-config.js +2 -1
- package/dist/src/config/user-registry.js +23 -15
- package/dist/src/config/user-state.js +7 -0
- package/dist/src/decision/ask.js +203 -43
- package/dist/src/decision/context-live-qualification.js +2 -2
- package/dist/src/decision/driver.js +13 -8
- package/dist/src/decision/ensemble/aggregate.js +23 -10
- package/dist/src/decision/ensemble-study/multifact-study.js +6 -2
- package/dist/src/decision/entry.js +2 -15
- package/dist/src/decision/graph-live-qualification.js +1 -1
- package/dist/src/decision/graph-run.js +9 -0
- package/dist/src/decision/heldout/collector.js +5 -13
- package/dist/src/decision/heldout/contract.js +30 -7
- package/dist/src/decision/jev-credentials.js +15 -1
- package/dist/src/decision/ledger.js +131 -28
- package/dist/src/decision/offload-activation.js +137 -0
- package/dist/src/decision/offload.js +550 -0
- package/dist/src/decision/qualification/load.js +4 -6
- package/dist/src/decision/savings.js +28 -0
- package/dist/src/effects/types.js +5 -1
- package/dist/src/effects/verifiers/git.js +2 -1
- package/dist/src/effects/verifiers/tracker.js +26 -14
- package/dist/src/extensions/commands/definitions.js +19 -0
- package/dist/src/extensions/project-local-remove.js +36 -1
- package/dist/src/gates/providers/loader.js +61 -17
- package/dist/src/installation/manager-command.d.mts +18 -0
- package/dist/src/installation/manager-command.mjs +14 -2
- package/dist/src/installation/manager.d.mts +49 -0
- package/dist/src/installation/manager.mjs +78 -3
- package/dist/src/issues/cli.js +4 -4
- package/dist/src/issues/local.js +24 -5
- package/dist/src/jobs/runner.js +1 -1
- package/dist/src/lint/cli.js +27 -1
- package/dist/src/lint/loader.js +2 -1
- package/dist/src/lint/reporters.js +25 -1
- package/dist/src/lint/rule-activation.js +43 -0
- package/dist/src/lint/runner.js +137 -62
- package/dist/src/mcp/adapters/codex-runtime.js +7 -1
- package/dist/src/mcp/claude-install.d.mts +4 -0
- package/dist/src/mcp/claude-install.mjs +41 -0
- package/dist/src/mcp/cli.d.mts +1 -0
- package/dist/src/mcp/cli.mjs +36 -11
- package/dist/src/mcp/config-file.d.mts +28 -0
- package/dist/src/mcp/config-layers.d.mts +36 -0
- package/dist/src/mcp/credentials.d.mts +51 -0
- package/dist/src/mcp/grok-build-config.d.mts +6 -0
- package/dist/src/mcp/grok-build-config.mjs +1 -1
- package/dist/src/mcp/helpers.mjs +3 -2
- package/dist/src/mcp/muse-native-config.d.mts +13 -0
- package/dist/src/mcp/muse-native-config.mjs +1 -0
- package/dist/src/mcp/omp-config.d.mts +4 -0
- package/dist/src/mcp/registry.js +3 -93
- package/dist/src/mcp/registry.mjs +3 -87
- package/dist/src/mcp/server-config.d.mts +3 -0
- package/dist/src/mcp/server-config.mjs +89 -0
- package/dist/src/mcp/server.mjs +37 -375
- package/dist/src/mcp/test-simple.mjs +2 -1
- package/dist/src/mcp/toml-editor.d.mts +4 -0
- package/dist/src/mcp/toml-string.d.mts +1 -0
- package/dist/src/mcp/toml-strip-mcp.d.mts +1 -0
- package/dist/src/mcp/tool-filters.d.mts +46 -0
- package/dist/src/mcp/tools/decision.mjs +12 -11
- package/dist/src/mcp/tools/discovery.mjs +62 -55
- package/dist/src/mcp/tools/orchestration.mjs +12 -2
- package/dist/src/mcp/tools/worker-invoke.mjs +1340 -23
- package/dist/src/mcp/tools/worker-shell-control.mjs +52 -21
- package/dist/src/mcp/tools/worker-stdin-runtime.mjs +3 -3
- package/dist/src/mission-protocol/codecs.js +8 -0
- package/dist/src/models/config-loader.js +7 -2
- package/dist/src/models/model-capabilities.v1.json +96 -4
- package/dist/src/models/model-discovery.js +76 -11
- package/dist/src/models/provider-policy.js +101 -7
- package/dist/src/models/qualification-digest.d.mts +2 -0
- package/dist/src/models/resolver.js +12 -10
- package/dist/src/models/worker-direct-readiness.js +65 -44
- package/dist/src/models/worker-dispatch-offer.js +3 -3
- package/dist/src/models/worker-health-readiness.js +16 -3
- package/dist/src/models/worker-installation.d.mts +39 -0
- package/dist/src/models/worker-installation.mjs +135 -28
- package/dist/src/process/bounded-child-process.d.mts +84 -0
- package/dist/src/process/bounded-child-process.mjs +43 -0
- package/dist/src/process/cli-command.d.mts +16 -0
- package/dist/src/process/signal-child.d.mts +6 -0
- package/dist/src/process/signal-child.mjs +7 -0
- package/dist/src/providers/deployed-skill-roots.js +20 -0
- package/dist/src/providers/grok-build-acp.js +3 -2
- package/dist/src/providers/grok-build-headless.js +12 -4
- package/dist/src/providers/grok-build-inspect.js +1 -0
- package/dist/src/providers/omp-agent.d.mts +8 -0
- package/dist/src/providers/omp-diagnostics.d.mts +1 -0
- package/dist/src/providers/omp-paths.d.mts +13 -0
- package/dist/src/providers/skill-ownership.d.mts +9 -0
- package/dist/src/providers/skill-ownership.mjs +88 -0
- package/dist/src/rules/activation.d.mts +21 -0
- package/dist/src/rules/activation.mjs +62 -0
- package/dist/src/rules/inline-budget.d.mts +26 -0
- package/dist/src/rules/inline-budget.mjs +66 -0
- package/dist/src/rules/inventory.js +129 -0
- package/dist/src/rules/pin-state.js +73 -0
- package/dist/src/rules/pins.d.mts +14 -0
- package/dist/src/rules/pins.mjs +112 -0
- package/dist/src/rules/rule-frontmatter.schema.json +197 -0
- package/dist/src/serve/mission-conductor.js +38 -12
- package/dist/src/serve/worker-invocation.js +30 -10
- package/dist/src/serve/worker-stdin-frame.d.mts +10 -0
- package/dist/src/sessions/adapter-registry.js +23 -19
- package/dist/src/sessions/adapters/claude.js +39 -54
- package/dist/src/sessions/adapters/codex.js +95 -67
- package/dist/src/sessions/adapters/copilot.js +4 -4
- package/dist/src/sessions/adapters/cursor.js +40 -57
- package/dist/src/sessions/adapters/deepseek-harness.js +15 -12
- package/dist/src/sessions/adapters/factory.js +31 -27
- package/dist/src/sessions/adapters/generic.js +10 -10
- package/dist/src/sessions/adapters/grok-build.js +11 -11
- package/dist/src/sessions/adapters/grokbot.js +24 -13
- package/dist/src/sessions/adapters/hermes.js +27 -29
- package/dist/src/sessions/adapters/muse-workspace-scan.js +31 -11
- package/dist/src/sessions/adapters/muse.js +150 -93
- package/dist/src/sessions/adapters/omp.js +28 -14
- package/dist/src/sessions/adapters/openclaw.js +89 -79
- package/dist/src/sessions/adapters/opencode.js +27 -24
- package/dist/src/sessions/adapters/openhuman.js +18 -60
- package/dist/src/sessions/adapters/pi.js +29 -14
- package/dist/src/sessions/adapters/warp.js +3 -3
- package/dist/src/sessions/adapters/windsurf.js +19 -48
- package/dist/src/sessions/batch-contracts.js +16 -8
- package/dist/src/sessions/batch-import.js +252 -12
- package/dist/src/sessions/contracts.js +50 -3
- package/dist/src/sessions/coverage-preflight.js +27 -2
- package/dist/src/sessions/export-plan.js +4 -3
- package/dist/src/sessions/import-exclusions.js +72 -0
- package/dist/src/sessions/import-lease.js +34 -18
- package/dist/src/sessions/import-limits.js +37 -0
- package/dist/src/sessions/importer.js +60 -38
- package/dist/src/sessions/lifecycle.js +45 -0
- package/dist/src/sessions/policy.js +145 -26
- package/dist/src/sessions/readers.js +106 -53
- package/dist/src/sessions/refresh.js +105 -0
- package/dist/src/sessions/repository.js +151 -54
- package/dist/src/sessions/workspace-discovery.js +292 -60
- package/dist/src/sessions/workspace-matching.js +107 -0
- package/dist/src/skills/importer.js +1 -0
- package/dist/src/smiths/context-pipeline/aiwg-md.js +11 -0
- package/dist/src/smiths/context-pipeline/claude-hook.js +3 -26
- package/dist/src/smiths/context-pipeline/finalization.js +6 -5
- package/dist/src/smiths/context-pipeline/generator.js +21 -4
- package/dist/src/smiths/context-pipeline/parallelism-section.js +7 -15
- package/dist/src/smiths/mcpsmith/generator.js +1 -1
- package/dist/src/smiths/toolsmith/runtime-discovery.d.mts +10 -0
- package/dist/src/smiths/toolsmith/runtime-discovery.mjs +76 -18
- package/dist/src/storage/backends/fs.js +18 -76
- package/dist/src/storage/backends/obsidian.js +1 -0
- package/dist/src/tracker/forge-http.js +2 -1
- package/dist/src/update/checker.d.mts +2 -0
- package/dist/src/update/service.d.mts +22 -0
- package/dist/src/utils/contained-filesystem.d.mts +37 -0
- package/dist/src/utils/contained-filesystem.mjs +683 -0
- package/dist/src/utils/temporary-directory.js +36 -0
- package/dist/src/writing/example-generator.js +1 -1
- package/package.json +15 -2
- package/schemas/models/model-catalog.v1.schema.json +1 -1
- package/schemas/models/provider-model-capabilities.v1.schema.json +6 -0
- package/tools/_resolve-impl.mjs +13 -15
- package/tools/agents/deploy-agents.mjs +49 -21
- package/tools/agents/providers/base.mjs +104 -134
- package/tools/agents/providers/claude.mjs +8 -24
- package/tools/agents/providers/codex.mjs +18 -11
- package/tools/agents/providers/cursor.mjs +19 -18
- package/tools/agents/providers/grok-build.mjs +3 -1
- package/tools/agents/providers/hermes.mjs +57 -47
- package/tools/agents/providers/openclaw.mjs +9 -4
- package/tools/agents/providers/pi.mjs +5 -0
- package/tools/agents/providers/provider-prepare-channel.mjs +5 -0
- package/tools/agents/providers/provider-prepare-coordinator.mjs +247 -0
- package/tools/agents/providers/provider-prepare-worker.mjs +84 -0
- package/tools/agents/providers/rule-delivery.mjs +1270 -0
- package/tools/agents/providers/warp.mjs +20 -26
- package/tools/cli/decision-offload-report.mjs +40 -0
- package/tools/cli/workspace-status.mjs +862 -0
- package/tools/plugin/package-plugins.mjs +186 -8
- package/tools/plugin/plugin-links.mjs +114 -0
- package/tools/providers/antigravity-transport.mjs +3 -1
- package/tools/providers/deepseek-harness-transport.mjs +6 -4
- package/tools/providers/omp-transport.mjs +4 -2
- package/tools/ralph-external/lib/consecutive-failure-circuit-breaker.mjs +1748 -0
- package/tools/ralph-external/lib/launcher-recovery-evidence.mjs +55 -0
- package/tools/ralph-external/lib/omp-adapter.mjs +1 -1
- package/tools/ralph-external/lib/pi-adapter.mjs +0 -4
- package/tools/ralph-external/lib/provider-adapter.mjs +59 -1
- package/tools/ralph-external/lib/recovery-probe.mjs +72 -0
- package/tools/ralph-external/lib/session-environment.mjs +28 -0
- package/tools/ralph-external/lib/systemd-client.mjs +49 -0
- package/tools/ralph-external/lib/worker-health.mjs +1 -1
- package/tools/ralph-external/lib/worker-isolation.mjs +717 -0
- package/tools/ralph-external/lib/worker-overflow.mjs +50 -0
- package/tools/ralph-external/process-monitor.mjs +1017 -0
- package/tools/ralph-external/session-launcher.mjs +5057 -0
- package/tools/scripts/resource-preflight.mjs +541 -0
- package/tools/skills/deploy-skills-codex.mjs +2 -1
- package/vscode-extension/schemas/aiwg.config.v1.json +1194 -231
|
@@ -476,6 +476,45 @@ export const setupHandler = {
|
|
|
476
476
|
description: 'CLI helper for agent-led repository policy and tracker setup',
|
|
477
477
|
category: 'project',
|
|
478
478
|
aliases: [],
|
|
479
|
+
async help() {
|
|
480
|
+
return {
|
|
481
|
+
exitCode: 0,
|
|
482
|
+
rawOutput: true,
|
|
483
|
+
message: `Usage: aiwg setup project [options]
|
|
484
|
+
|
|
485
|
+
Options:
|
|
486
|
+
--target <dir> Project directory
|
|
487
|
+
--yes Confirm writes without prompting
|
|
488
|
+
--dry-run Preview the setup plan
|
|
489
|
+
--non-interactive Disable prompts
|
|
490
|
+
--json Emit the plan as JSON
|
|
491
|
+
--primary <remote> Primary repository remote
|
|
492
|
+
--issue-tracker <remote> Internal issue tracker remote
|
|
493
|
+
--customer-issue-tracker <remote> Customer issue tracker remote
|
|
494
|
+
--ci <remote> CI remote
|
|
495
|
+
--issue-provider <provider> Internal tracker provider
|
|
496
|
+
--customer-issue-provider <provider> Customer tracker provider
|
|
497
|
+
--delivery-mode <mode> Delivery policy
|
|
498
|
+
--default-branch <branch> Default branch
|
|
499
|
+
--require-ci-green <boolean> Require passing CI
|
|
500
|
+
--auto-close-issues <boolean> Close delivered issues
|
|
501
|
+
--issue-comment-on-cycle <boolean> Report issue cycles
|
|
502
|
+
--force-push-policy <policy> Force-push policy
|
|
503
|
+
--require-signed-commits <boolean> Require signed commits
|
|
504
|
+
--committer-name <name> Committer identity
|
|
505
|
+
--committer-email <email> Committer email
|
|
506
|
+
--signing-format <format> Signing format
|
|
507
|
+
--signing-key <key> Signing key
|
|
508
|
+
--signing-enforce <commits|tags|all> Signing enforcement
|
|
509
|
+
--tracker-actor-login <login> Internal tracker actor
|
|
510
|
+
--tracker-actor-via <via> Internal tracker access method
|
|
511
|
+
--customer-tracker-actor-login <login> Customer tracker actor
|
|
512
|
+
--customer-tracker-actor-via <via> Customer tracker access method
|
|
513
|
+
--worker-dispatch <choice> Worker dispatch policy
|
|
514
|
+
--providers <ids> Comma-separated provider IDs
|
|
515
|
+
`,
|
|
516
|
+
};
|
|
517
|
+
},
|
|
479
518
|
async execute(ctx) {
|
|
480
519
|
const [subcommand] = ctx.args;
|
|
481
520
|
if (subcommand && subcommand !== 'project' && !subcommand.startsWith('--')) {
|
|
@@ -560,6 +599,8 @@ export const setupHandler = {
|
|
|
560
599
|
}
|
|
561
600
|
else {
|
|
562
601
|
printPlan(plan);
|
|
602
|
+
if (options.workerDispatchChoice === 'enable')
|
|
603
|
+
ui.info('Next: aiwg doctor --probe-workers --qualify.');
|
|
563
604
|
if (plan.workerDispatchOffer.shouldOffer) {
|
|
564
605
|
ui.info(workerDispatchOfferHintWithArg(plan.workerDispatchOffer.detected));
|
|
565
606
|
}
|
|
@@ -204,6 +204,7 @@ async function handleSteward(args, ctx) {
|
|
|
204
204
|
aiwg steward — Provider capability awareness and command routing
|
|
205
205
|
|
|
206
206
|
Usage:
|
|
207
|
+
aiwg steward decision-offload [--json] Offline advisory readiness and adoption report
|
|
207
208
|
aiwg steward capabilities --provider <name> Capabilities for a specific provider
|
|
208
209
|
aiwg steward capabilities --feature <name> Provider support matrix for a feature
|
|
209
210
|
aiwg steward capabilities --all Full matrix (all providers x features)
|
|
@@ -231,6 +232,16 @@ async function handleSteward(args, ctx) {
|
|
|
231
232
|
`);
|
|
232
233
|
return;
|
|
233
234
|
}
|
|
235
|
+
if (subcommand === 'decision-offload') {
|
|
236
|
+
const unknown = args.slice(1).filter(arg => arg !== '--json');
|
|
237
|
+
if (unknown.length)
|
|
238
|
+
throw new AiwgError({ code: 'ERR_USAGE_UNKNOWN_ARGUMENT',
|
|
239
|
+
message: `Unknown decision-offload argument: ${unknown[0]}`, exitCode: EXIT_CODES.USAGE });
|
|
240
|
+
const { buildDecisionOffloadSnapshot } = await import('../../decision/offload.js');
|
|
241
|
+
const decisionOffload = await buildDecisionOffloadSnapshot({ projectRoot: ctx?.cwd ?? process.cwd(), frameworkRoot: ctx?.frameworkRoot });
|
|
242
|
+
console.log(JSON.stringify(args.includes('--json') ? { decisionOffload } : decisionOffload, null, 2));
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
234
245
|
if (subcommand === 'permissions') {
|
|
235
246
|
const operation = args[1];
|
|
236
247
|
// `<namespace> --help` must reach the same usage block bare invocation prints (#2533).
|
|
@@ -21,6 +21,8 @@ import { sessionHandler } from "./session.js";
|
|
|
21
21
|
import { feedbackHandler } from "./feedback.js";
|
|
22
22
|
import { handlerResultFromError } from "../errors.js";
|
|
23
23
|
import { getProjectDir } from "../../config/aiwg-config.js";
|
|
24
|
+
import { deployedSkillRoots } from "../../providers/deployed-skill-roots.js";
|
|
25
|
+
import { releaseSkillOwnership } from "../../providers/skill-ownership.mjs";
|
|
24
26
|
import { formatDeployedWorkspaceSignalPlan, readWorkspaceSignalPlan } from "../workspace-signals.js";
|
|
25
27
|
import * as path from "node:path";
|
|
26
28
|
import * as fsSync from "node:fs";
|
|
@@ -32,6 +34,9 @@ export const quickrefHandler = {
|
|
|
32
34
|
description: 'Generate and deploy an always-visible project quickref',
|
|
33
35
|
category: 'project',
|
|
34
36
|
aliases: [],
|
|
37
|
+
async help() {
|
|
38
|
+
return { exitCode: 0, message: 'Usage: aiwg quickref generate|deploy --project [--provider <id>] [--dry-run]', rawOutput: true };
|
|
39
|
+
},
|
|
35
40
|
async execute(ctx) {
|
|
36
41
|
const action = ctx.args.find(arg => !arg.startsWith('-')) ?? 'generate';
|
|
37
42
|
if (!ctx.args.includes('--project')) {
|
|
@@ -147,6 +152,11 @@ export const mcpHandler = {
|
|
|
147
152
|
description: "AIWG MCP server commands (serve, install, add, remove, update, list, inject, info)",
|
|
148
153
|
category: "mcp",
|
|
149
154
|
aliases: ["mcp", "aiwg-mcp"],
|
|
155
|
+
async help() {
|
|
156
|
+
const { main } = await import("../../mcp/cli.mjs");
|
|
157
|
+
await main(["--help"]);
|
|
158
|
+
return { exitCode: 0 };
|
|
159
|
+
},
|
|
150
160
|
async execute(ctx) {
|
|
151
161
|
try {
|
|
152
162
|
// Dynamic import to avoid loading MCP dependencies unless needed
|
|
@@ -647,7 +657,15 @@ async function removeUserScopeDeploy(args) {
|
|
|
647
657
|
continue;
|
|
648
658
|
}
|
|
649
659
|
try {
|
|
650
|
-
|
|
660
|
+
if (type === 'skills') {
|
|
661
|
+
const { resolveFrameworkDir } = await import('./use.js');
|
|
662
|
+
const released = releaseSkillOwnership(target, { frameworkSlug: resolveFrameworkDir(positional) ?? positional });
|
|
663
|
+
if (released === null)
|
|
664
|
+
continue;
|
|
665
|
+
}
|
|
666
|
+
else {
|
|
667
|
+
await fs.rm(target, { recursive: true, force: true });
|
|
668
|
+
}
|
|
651
669
|
deletedHere++;
|
|
652
670
|
totalDeleted++;
|
|
653
671
|
}
|
|
@@ -770,6 +788,33 @@ export const removeHandler = {
|
|
|
770
788
|
const projectDir = getProjectDir({ cwd: ctx.cwd }, ctx.args);
|
|
771
789
|
const config = await readAiwgConfig(projectDir);
|
|
772
790
|
const entry = config?.installed?.[positionalArg];
|
|
791
|
+
if (config && entry && entry.source !== 'project-local') {
|
|
792
|
+
const fs = await import('node:fs/promises');
|
|
793
|
+
const { resolveFrameworkDir } = await import('./use.js');
|
|
794
|
+
const frameworkSlug = resolveFrameworkDir(positionalArg) ?? positionalArg;
|
|
795
|
+
const dryRun = ctx.args.includes('--dry-run');
|
|
796
|
+
const providers = Object.keys(entry.deployedTo).filter(p => !providerParse.provider || p === providerParse.provider);
|
|
797
|
+
if (providerParse.provider && providers.length === 0) {
|
|
798
|
+
return { exitCode: 1, message: `Error: '${positionalArg}' is not deployed for provider '${providerParse.provider}'.` };
|
|
799
|
+
}
|
|
800
|
+
let released = 0;
|
|
801
|
+
for (const provider of providers) {
|
|
802
|
+
for (const root of deployedSkillRoots(projectDir, provider)) {
|
|
803
|
+
for (const name of await fs.readdir(root).catch(() => [])) {
|
|
804
|
+
if (releaseSkillOwnership(path.join(root, name), { frameworkSlug }, { dryRun }) !== null)
|
|
805
|
+
released++;
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
if (!dryRun && !ctx.args.includes('--keep-registry'))
|
|
809
|
+
delete entry.deployedTo[provider];
|
|
810
|
+
}
|
|
811
|
+
if (!dryRun && !ctx.args.includes('--keep-registry')) {
|
|
812
|
+
if (Object.keys(entry.deployedTo).length === 0)
|
|
813
|
+
delete config.installed[positionalArg];
|
|
814
|
+
await writeAiwgConfig(projectDir, config);
|
|
815
|
+
}
|
|
816
|
+
return { exitCode: 0, message: `${dryRun ? 'Would release' : 'Released'} ${released} skill ownership receipt(s); operator files preserved.` };
|
|
817
|
+
}
|
|
773
818
|
if (config && entry?.source === 'project-local') {
|
|
774
819
|
const force = ctx.args.includes('--force');
|
|
775
820
|
const dryRun = ctx.args.includes('--dry-run');
|
|
@@ -1302,12 +1347,17 @@ export const indexHandler = {
|
|
|
1302
1347
|
description: "Artifact index commands (build, query, deps, stats)",
|
|
1303
1348
|
category: "index",
|
|
1304
1349
|
aliases: [],
|
|
1350
|
+
async help() {
|
|
1351
|
+
const { printIndexUsage } = await import("../../artifacts/cli.js");
|
|
1352
|
+
printIndexUsage();
|
|
1353
|
+
return { exitCode: 0 };
|
|
1354
|
+
},
|
|
1305
1355
|
async execute(ctx) {
|
|
1306
1356
|
try {
|
|
1307
1357
|
const { main } = await import("../../artifacts/cli.js");
|
|
1308
1358
|
await main(ctx.args);
|
|
1309
1359
|
return {
|
|
1310
|
-
exitCode: 0,
|
|
1360
|
+
exitCode: Number(process.exitCode ?? 0),
|
|
1311
1361
|
};
|
|
1312
1362
|
}
|
|
1313
1363
|
catch (error) {
|
|
@@ -1326,6 +1376,11 @@ export const corpusHandler = {
|
|
|
1326
1376
|
description: "Research-corpus tools (radar-init, radar-status, radar-report)",
|
|
1327
1377
|
category: "index",
|
|
1328
1378
|
aliases: [],
|
|
1379
|
+
async help() {
|
|
1380
|
+
const { corpusMain } = await import("../../artifacts/corpus-tools/cli.js");
|
|
1381
|
+
await corpusMain(["--help"]);
|
|
1382
|
+
return { exitCode: 0 };
|
|
1383
|
+
},
|
|
1329
1384
|
async execute(ctx) {
|
|
1330
1385
|
try {
|
|
1331
1386
|
const { corpusMain } = await import("../../artifacts/corpus-tools/cli.js");
|
|
@@ -76,6 +76,9 @@ export const uhpHandler = {
|
|
|
76
76
|
description: 'Inspect and smoke-test an explicitly selected experimental UHP endpoint profile',
|
|
77
77
|
category: 'toolsmith',
|
|
78
78
|
aliases: [],
|
|
79
|
+
async help() {
|
|
80
|
+
return { exitCode: 0, message: usage(), rawOutput: true };
|
|
81
|
+
},
|
|
79
82
|
async execute(ctx) {
|
|
80
83
|
try {
|
|
81
84
|
return await executeUhp(ctx);
|