akm-cli 0.9.0-rc.1 → 0.9.0-rc.2
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/CHANGELOG.md +223 -9
- package/SECURITY.md +23 -24
- package/dist/assets/help/help-improve.md +10 -10
- package/dist/assets/hints/cli-hints-full.md +44 -10
- package/dist/assets/hints/cli-hints-short.md +6 -2
- package/dist/assets/{profiles → improve-strategies}/default.json +1 -0
- package/dist/assets/{profiles → improve-strategies}/graph-refresh.json +1 -1
- package/dist/assets/{profiles → improve-strategies}/proactive-maintenance.json +2 -3
- package/dist/assets/{profiles → improve-strategies}/reflect-distill.json +3 -4
- package/dist/assets/stash-skeleton/README.md +28 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/agent.md +6 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/command.md +6 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/fact.md +12 -1
- package/dist/assets/stash-skeleton/facts/conventions/assets/knowledge.md +11 -1
- package/dist/assets/stash-skeleton/facts/conventions/assets/lesson.md +6 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/memory.md +9 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/script.md +7 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/skill.md +7 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/workflow.md +6 -0
- package/dist/assets/stash-skeleton/facts/conventions/backlinks.md +98 -0
- package/dist/assets/stash-skeleton/facts/conventions/domains.md +63 -0
- package/dist/assets/stash-skeleton/facts/conventions/organization.md +127 -0
- package/dist/assets/tasks/core/backup.yml +1 -0
- package/dist/assets/tasks/core/extract.yml +1 -0
- package/dist/assets/tasks/core/improve.yml +1 -0
- package/dist/assets/tasks/core/index-refresh.yml +1 -0
- package/dist/assets/tasks/core/sync.yml +1 -0
- package/dist/assets/tasks/core/version-check.yml +1 -0
- package/dist/assets/tasks/graph-refresh-weekly.yml +4 -4
- package/dist/assets/templates/html/health.html +5 -1
- package/dist/cli/config-migrate.js +31 -138
- package/dist/cli/config-validate.js +10 -8
- package/dist/cli.js +48 -14
- package/dist/commands/agent/agent-dispatch.js +17 -16
- package/dist/commands/agent/agent-support.js +0 -24
- package/dist/commands/agent/contribute-cli.js +5 -15
- package/dist/commands/backup-cli.js +54 -0
- package/dist/commands/config-cli.js +45 -159
- package/dist/commands/env/secret.js +8 -5
- package/dist/commands/health/checks.js +130 -83
- package/dist/commands/health/html-report.js +4 -0
- package/dist/commands/health/improve-metrics.js +30 -32
- package/dist/commands/health/llm-usage.js +19 -19
- package/dist/commands/health/md-report.js +4 -0
- package/dist/commands/health/metrics.js +2 -1
- package/dist/commands/health/surfaces.js +5 -4
- package/dist/commands/health.js +1 -1
- package/dist/commands/improve/consolidate/chunking.js +2 -2
- package/dist/commands/improve/consolidate.js +28 -25
- package/dist/commands/improve/distill/promote-memory.js +5 -12
- package/dist/commands/improve/distill/quality-gate.js +5 -7
- package/dist/commands/improve/distill.js +16 -5
- package/dist/commands/improve/eligibility.js +22 -12
- package/dist/commands/improve/extract-cli.js +47 -19
- package/dist/commands/improve/extract.js +110 -62
- package/dist/commands/improve/improve-cli.js +38 -16
- package/dist/commands/improve/improve-result-file.js +30 -24
- package/dist/commands/improve/improve-strategies.js +137 -0
- package/dist/commands/improve/improve.js +60 -30
- package/dist/commands/improve/locks.js +66 -45
- package/dist/commands/improve/loop-stages.js +75 -33
- package/dist/commands/improve/memory/memory-belief.js +79 -7
- package/dist/commands/improve/memory/memory-contradiction-detect.js +12 -4
- package/dist/commands/improve/preparation.js +71 -73
- package/dist/commands/improve/procedural.js +3 -2
- package/dist/commands/improve/recombine.js +2 -1
- package/dist/commands/improve/reflect.js +119 -214
- package/dist/commands/improve/shared.js +11 -5
- package/dist/commands/lint/base-linter.js +152 -42
- package/dist/commands/mv-cli.js +809 -0
- package/dist/commands/proposal/proposal-cli.js +18 -8
- package/dist/commands/proposal/propose.js +64 -69
- package/dist/commands/read/knowledge.js +436 -4
- package/dist/commands/read/remember-cli.js +39 -2
- package/dist/commands/read/search-cli.js +6 -1
- package/dist/commands/registry-cli.js +29 -14
- package/dist/commands/remember.js +2 -0
- package/dist/commands/sources/init.js +13 -14
- package/dist/commands/sources/schema-repair.js +2 -4
- package/dist/commands/sources/source-add.js +62 -73
- package/dist/commands/sources/source-manage.js +50 -46
- package/dist/commands/sources/stash-cli.js +41 -4
- package/dist/commands/tasks/default-tasks.js +12 -12
- package/dist/commands/tasks/tasks-cli.js +7 -3
- package/dist/commands/tasks/tasks.js +113 -18
- package/dist/commands/wiki-cli.js +9 -10
- package/dist/core/asset/frontmatter.js +12 -2
- package/dist/core/common.js +5 -3
- package/dist/core/config/config-io.js +28 -17
- package/dist/core/config/config-schema.js +358 -66
- package/dist/core/config/config-types.js +3 -3
- package/dist/core/config/config-version.js +29 -0
- package/dist/core/config/config-walker.js +98 -27
- package/dist/core/config/config.js +132 -266
- package/dist/core/config/deep-merge.js +41 -0
- package/dist/core/config/engine-semantics.js +32 -0
- package/dist/core/errors.js +2 -2
- package/dist/core/extra-params.js +61 -0
- package/dist/core/file-lock.js +201 -56
- package/dist/core/improve-result.js +178 -0
- package/dist/core/maintenance-barrier.js +119 -0
- package/dist/core/migration-backup.js +416 -0
- package/dist/core/paths.js +3 -0
- package/dist/core/redaction.js +358 -0
- package/dist/core/state/migrations.js +17 -2
- package/dist/core/state-db.js +44 -1
- package/dist/indexer/db/db.js +116 -1
- package/dist/indexer/graph/graph-extraction.js +28 -16
- package/dist/indexer/index-writer-lock.js +31 -24
- package/dist/indexer/index-written-assets.js +15 -6
- package/dist/indexer/indexer.js +47 -2
- package/dist/indexer/passes/memory-inference.js +10 -6
- package/dist/indexer/passes/metadata.js +250 -0
- package/dist/indexer/search/db-search.js +111 -44
- package/dist/indexer/search/fts-query.js +41 -0
- package/dist/indexer/search/ranking-contributors.js +48 -0
- package/dist/indexer/search/ranking.js +36 -23
- package/dist/indexer/search/search-fields.js +11 -1
- package/dist/integrations/agent/builder-shared.js +7 -0
- package/dist/integrations/agent/builders.js +5 -52
- package/dist/integrations/agent/config.js +3 -143
- package/dist/integrations/agent/detect.js +17 -2
- package/dist/integrations/agent/engine-resolution.js +202 -0
- package/dist/integrations/agent/index.js +1 -2
- package/dist/integrations/agent/model-aliases.js +7 -2
- package/dist/integrations/agent/profiles.js +6 -99
- package/dist/integrations/agent/runner-dispatch.js +76 -13
- package/dist/integrations/agent/runner.js +76 -207
- package/dist/integrations/agent/spawn.js +4 -6
- package/dist/integrations/harnesses/aider/agent-builder.js +2 -3
- package/dist/integrations/harnesses/aider/index.js +0 -1
- package/dist/integrations/harnesses/amazonq/agent-builder.js +2 -3
- package/dist/integrations/harnesses/amazonq/index.js +0 -1
- package/dist/integrations/harnesses/claude/agent-builder.js +2 -3
- package/dist/integrations/harnesses/claude/index.js +0 -2
- package/dist/integrations/harnesses/codex/agent-builder.js +2 -3
- package/dist/integrations/harnesses/codex/index.js +0 -1
- package/dist/integrations/harnesses/copilot/agent-builder.js +2 -3
- package/dist/integrations/harnesses/copilot/index.js +0 -1
- package/dist/integrations/harnesses/gemini/agent-builder.js +2 -3
- package/dist/integrations/harnesses/gemini/index.js +0 -1
- package/dist/integrations/harnesses/index.js +1 -24
- package/dist/integrations/harnesses/opencode/agent-builder.js +2 -3
- package/dist/integrations/harnesses/opencode/index.js +0 -6
- package/dist/integrations/harnesses/opencode-sdk/harness.js +1 -6
- package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +274 -191
- package/dist/integrations/harnesses/openhands/agent-builder.js +2 -3
- package/dist/integrations/harnesses/openhands/index.js +0 -1
- package/dist/integrations/harnesses/pi/agent-builder.js +2 -3
- package/dist/integrations/harnesses/pi/index.js +0 -1
- package/dist/integrations/harnesses/types.js +1 -32
- package/dist/integrations/lockfile.js +32 -21
- package/dist/llm/client.js +48 -14
- package/dist/llm/feature-gate.js +15 -47
- package/dist/llm/graph-extract.js +1 -1
- package/dist/llm/index-passes.js +8 -42
- package/dist/llm/memory-infer-impl.js +1 -1
- package/dist/llm/usage-persist.js +4 -0
- package/dist/llm/usage-telemetry.js +35 -5
- package/dist/output/shapes/helpers.js +2 -1
- package/dist/output/shapes/passthrough.js +2 -0
- package/dist/output/text/helpers.js +3 -1
- package/dist/schemas/akm-config.json +11013 -8600
- package/dist/schemas/akm-task.json +87 -0
- package/dist/schemas/akm-workflow.json +57 -13
- package/dist/scripts/migrate-storage.js +8591 -509
- package/dist/scripts/migrations/import-fs-improve-runs-to-db.js +8623 -484
- package/dist/setup/detected-engines.js +142 -0
- package/dist/setup/engine-config.js +89 -0
- package/dist/setup/setup.js +236 -132
- package/dist/setup/steps/connection.js +61 -32
- package/dist/setup/steps/platforms.js +4 -4
- package/dist/setup/steps.js +3 -2
- package/dist/storage/database.js +13 -1
- package/dist/storage/engines/sqlite-migrations.js +1 -0
- package/dist/storage/repositories/improve-runs-repository.js +5 -5
- package/dist/storage/repositories/task-history-repository.js +78 -0
- package/dist/storage/repositories/workflow-runs-repository.js +9 -8
- package/dist/tasks/parser.js +138 -52
- package/dist/tasks/runner.js +71 -75
- package/dist/tasks/schema.js +1 -1
- package/dist/tasks/validator.js +11 -6
- package/dist/wiki/wiki.js +9 -8
- package/dist/workflows/authoring/workflow-program-template.yaml +3 -3
- package/dist/workflows/concurrency-policy.js +15 -0
- package/dist/workflows/db.js +65 -13
- package/dist/workflows/exec/brief.js +18 -24
- package/dist/workflows/exec/frozen-judge.js +47 -0
- package/dist/workflows/exec/native-executor.js +124 -65
- package/dist/workflows/exec/report.js +93 -33
- package/dist/workflows/exec/run-workflow.js +38 -25
- package/dist/workflows/exec/scheduler.js +12 -41
- package/dist/workflows/exec/step-work.js +91 -35
- package/dist/workflows/ir/compile.js +13 -26
- package/dist/workflows/ir/freeze.js +243 -0
- package/dist/workflows/ir/plan-hash.js +40 -5
- package/dist/workflows/ir/schema.js +542 -1
- package/dist/workflows/parser.js +7 -0
- package/dist/workflows/program/parser.js +132 -23
- package/dist/workflows/program/project.js +3 -4
- package/dist/workflows/program/schema.js +2 -2
- package/dist/workflows/resource-limits.js +20 -0
- package/dist/workflows/runtime/plan-classifier.js +187 -0
- package/dist/workflows/runtime/runs.js +54 -47
- package/dist/workflows/runtime/workflow-asset-loader.js +0 -22
- package/dist/workflows/validator.js +25 -0
- package/docs/data-and-telemetry.md +2 -2
- package/docs/migration/release-notes/0.6.0.md +1 -1
- package/docs/migration/release-notes/0.7.0.md +5 -4
- package/docs/migration/v0.8-to-v0.9.md +401 -0
- package/package.json +4 -2
- package/schemas/akm-config.json +16638 -0
- package/schemas/akm-task.json +87 -0
- package/schemas/akm-workflow.json +372 -0
- package/dist/commands/improve/improve-profiles.js +0 -168
- package/dist/core/config/config-migration.js +0 -602
- package/dist/core/deep-merge.js +0 -38
- package/dist/llm/call-ai.js +0 -62
- package/dist/setup/legacy-config.js +0 -106
- package/docs/README.md +0 -104
- /package/dist/assets/{profiles → improve-strategies}/catchup.json +0 -0
- /package/dist/assets/{profiles → improve-strategies}/consolidate.json +0 -0
- /package/dist/assets/{profiles → improve-strategies}/frequent.json +0 -0
- /package/dist/assets/{profiles → improve-strategies}/memory-focus.json +0 -0
- /package/dist/assets/{profiles → improve-strategies}/quick.json +0 -0
- /package/dist/assets/{profiles → improve-strategies}/recombine-only.json +0 -0
- /package/dist/assets/{profiles → improve-strategies}/synthesize.json +0 -0
- /package/dist/assets/{profiles → improve-strategies}/thorough.json +0 -0
|
@@ -34,8 +34,7 @@
|
|
|
34
34
|
*
|
|
35
35
|
* The builder's `platform` stays `'claude'` (the canonical harness id).
|
|
36
36
|
*/
|
|
37
|
-
import { assertNotFlag, normalizeTools, } from "../../agent/builder-shared.js";
|
|
38
|
-
import { resolveModel } from "../../agent/model-aliases.js";
|
|
37
|
+
import { assertNotFlag, normalizeTools, resolveDispatchModel, } from "../../agent/builder-shared.js";
|
|
39
38
|
/**
|
|
40
39
|
* Assemble the positional prompt: the task prompt and — when a schema is
|
|
41
40
|
* requested — the same schema directive the workflow engine's prompt assembly
|
|
@@ -67,7 +66,7 @@ export const claudeBuilder = {
|
|
|
67
66
|
args.push("--system-prompt", req.systemPrompt);
|
|
68
67
|
}
|
|
69
68
|
if (req.model) {
|
|
70
|
-
const resolved =
|
|
69
|
+
const resolved = resolveDispatchModel(req, profile, "claude");
|
|
71
70
|
args.push("--model", resolved);
|
|
72
71
|
}
|
|
73
72
|
if (req.tools) {
|
|
@@ -16,7 +16,6 @@ function caps(c) {
|
|
|
16
16
|
detection: false,
|
|
17
17
|
configImport: false,
|
|
18
18
|
runtimeIdentity: false,
|
|
19
|
-
v1Migration: false,
|
|
20
19
|
...c,
|
|
21
20
|
};
|
|
22
21
|
}
|
|
@@ -63,6 +62,5 @@ export class ClaudeHarness extends BaseHarness {
|
|
|
63
62
|
detection: true,
|
|
64
63
|
configImport: true,
|
|
65
64
|
runtimeIdentity: true,
|
|
66
|
-
v1Migration: true,
|
|
67
65
|
});
|
|
68
66
|
}
|
|
@@ -52,8 +52,7 @@
|
|
|
52
52
|
import { mkdtempSync, writeFileSync } from "node:fs";
|
|
53
53
|
import { tmpdir } from "node:os";
|
|
54
54
|
import { join } from "node:path";
|
|
55
|
-
import { assertNotFlag } from "../../agent/builder-shared.js";
|
|
56
|
-
import { resolveModel } from "../../agent/model-aliases.js";
|
|
55
|
+
import { assertNotFlag, resolveDispatchModel } from "../../agent/builder-shared.js";
|
|
57
56
|
/**
|
|
58
57
|
* Write a node's JSON Schema to a fresh temp file for `--output-schema`.
|
|
59
58
|
*
|
|
@@ -119,7 +118,7 @@ export const codexBuilder = {
|
|
|
119
118
|
const sandboxArgs = ensureSandboxFlags(extra);
|
|
120
119
|
const args = ["exec", ...sandboxArgs];
|
|
121
120
|
if (req.model) {
|
|
122
|
-
const resolved =
|
|
121
|
+
const resolved = resolveDispatchModel(req, profile, "codex");
|
|
123
122
|
args.push("--model", resolved);
|
|
124
123
|
}
|
|
125
124
|
// JSONL event stream on stdout — the codex result extractor's input.
|
|
@@ -44,8 +44,7 @@
|
|
|
44
44
|
* follow-up integration task. Exported standalone so that task only adds a
|
|
45
45
|
* registry entry.
|
|
46
46
|
*/
|
|
47
|
-
import { assertNotFlag } from "../../agent/builder-shared.js";
|
|
48
|
-
import { resolveModel } from "../../agent/model-aliases.js";
|
|
47
|
+
import { assertNotFlag, resolveDispatchModel, } from "../../agent/builder-shared.js";
|
|
49
48
|
/** Canonical harness/platform id used for model-alias resolution. */
|
|
50
49
|
export const COPILOT_PLATFORM = "copilot";
|
|
51
50
|
/**
|
|
@@ -94,7 +93,7 @@ export const copilotBuilder = {
|
|
|
94
93
|
assertNotFlag(req.model, "model");
|
|
95
94
|
const args = [...profile.args];
|
|
96
95
|
if (req.model) {
|
|
97
|
-
const resolved =
|
|
96
|
+
const resolved = resolveDispatchModel(req, profile, COPILOT_PLATFORM);
|
|
98
97
|
args.push("--model", resolved);
|
|
99
98
|
}
|
|
100
99
|
if (req.tools) {
|
|
@@ -49,8 +49,7 @@
|
|
|
49
49
|
* follow-up integration task. Exported standalone so that task only adds a
|
|
50
50
|
* registry entry.
|
|
51
51
|
*/
|
|
52
|
-
import { assertNotFlag } from "../../agent/builder-shared.js";
|
|
53
|
-
import { resolveModel } from "../../agent/model-aliases.js";
|
|
52
|
+
import { assertNotFlag, resolveDispatchModel, } from "../../agent/builder-shared.js";
|
|
54
53
|
/** Canonical harness/platform id used for model-alias resolution. */
|
|
55
54
|
export const GEMINI_PLATFORM = "gemini";
|
|
56
55
|
/**
|
|
@@ -99,7 +98,7 @@ export const geminiBuilder = {
|
|
|
99
98
|
assertNotFlag(req.model, "model");
|
|
100
99
|
const args = [...profile.args];
|
|
101
100
|
if (req.model) {
|
|
102
|
-
const resolved =
|
|
101
|
+
const resolved = resolveDispatchModel(req, profile, GEMINI_PLATFORM);
|
|
103
102
|
args.push("--model", resolved);
|
|
104
103
|
}
|
|
105
104
|
if (req.tools) {
|
|
@@ -82,7 +82,7 @@ const HARNESS_BY_ANY_ID = (() => {
|
|
|
82
82
|
})();
|
|
83
83
|
/**
|
|
84
84
|
* Canonical, ordered list of valid harness / platform ids. The Zod
|
|
85
|
-
* `AgentPlatformSchema` enum, the
|
|
85
|
+
* `AgentPlatformSchema` enum, the agent-engine platform union, and
|
|
86
86
|
* setup's `DetectedHarness` union all derive from this so they cannot drift.
|
|
87
87
|
*/
|
|
88
88
|
export const VALID_HARNESS_IDS = Object.freeze(HARNESS_REGISTRY.map((h) => h.id));
|
|
@@ -112,29 +112,6 @@ export function getHarness(id) {
|
|
|
112
112
|
export function normalizeHarnessId(id) {
|
|
113
113
|
return HARNESS_BY_ANY_ID.get(id)?.id ?? id;
|
|
114
114
|
}
|
|
115
|
-
/**
|
|
116
|
-
* Resolve a legacy v1 agent-profile name to its v2 platform id (#566).
|
|
117
|
-
*
|
|
118
|
-
* v1 agent profiles never carried an explicit `platform`; it had to be inferred
|
|
119
|
-
* from the profile name. This is the SINGLE registry-backed resolver that
|
|
120
|
-
* replaces both the old standalone `guessAgentPlatform()` in config-migration
|
|
121
|
-
* and the `name.includes("claude") ? "claude" : "opencode"` heuristic in setup.
|
|
122
|
-
* Each harness owns its own `matchesV1ProfileName()`; an unknown name matches no
|
|
123
|
-
* harness and returns `undefined`, so the caller drops it instead of silently
|
|
124
|
-
* defaulting to `'opencode'`.
|
|
125
|
-
*
|
|
126
|
-
* Harnesses are consulted most-specific-id-first (longest id wins) so a
|
|
127
|
-
* decorated name like `"opencode-sdk-fast"` resolves to `'opencode-sdk'` rather
|
|
128
|
-
* than being over-matched by OpenCode's `"opencode"` prefix.
|
|
129
|
-
*/
|
|
130
|
-
const V1_RESOLUTION_ORDER = [...HARNESS_REGISTRY].sort((a, b) => b.id.length - a.id.length);
|
|
131
|
-
export function v1ProfilePlatform(name) {
|
|
132
|
-
for (const h of V1_RESOLUTION_ORDER) {
|
|
133
|
-
if (h.matchesV1ProfileName(name))
|
|
134
|
-
return h.id;
|
|
135
|
-
}
|
|
136
|
-
return undefined;
|
|
137
|
-
}
|
|
138
115
|
/**
|
|
139
116
|
* Default agent-profile name for a detected harness id (#566).
|
|
140
117
|
*
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
* pre-migration `opencodeBuilder`. The builder's `platform` stays `'opencode'`
|
|
15
15
|
* (the canonical harness id).
|
|
16
16
|
*/
|
|
17
|
-
import { assertNotFlag } from "../../agent/builder-shared.js";
|
|
18
|
-
import { resolveModel } from "../../agent/model-aliases.js";
|
|
17
|
+
import { assertNotFlag, resolveDispatchModel } from "../../agent/builder-shared.js";
|
|
19
18
|
/**
|
|
20
19
|
* OpenCode builder.
|
|
21
20
|
* Command shape: opencode run [--system-prompt "..."] [--model <m>] "<prompt>"
|
|
@@ -33,7 +32,7 @@ export const opencodeBuilder = {
|
|
|
33
32
|
args.push("--system-prompt", req.systemPrompt);
|
|
34
33
|
}
|
|
35
34
|
if (req.model) {
|
|
36
|
-
const resolved =
|
|
35
|
+
const resolved = resolveDispatchModel(req, profile, "opencode");
|
|
37
36
|
args.push("--model", resolved);
|
|
38
37
|
}
|
|
39
38
|
args.push("--");
|
|
@@ -14,7 +14,6 @@ function caps(c) {
|
|
|
14
14
|
detection: false,
|
|
15
15
|
configImport: false,
|
|
16
16
|
runtimeIdentity: false,
|
|
17
|
-
v1Migration: false,
|
|
18
17
|
...c,
|
|
19
18
|
};
|
|
20
19
|
}
|
|
@@ -30,10 +29,6 @@ export class OpencodeHarness extends BaseHarness {
|
|
|
30
29
|
// Home-relative config dir scanned by `akm setup` (#567). OpenCode has a
|
|
31
30
|
// session-log provider, so offering it as a stash source is functional.
|
|
32
31
|
setupDetectionDir = ".config/opencode";
|
|
33
|
-
// Decorated v1 profile names like "opencode-fast" still belong to OpenCode.
|
|
34
|
-
// `v1ProfilePlatform()` resolves most-specific-id-first, so "opencode-sdk-*"
|
|
35
|
-
// is claimed by OpencodeSdkHarness before this prefix can over-match it.
|
|
36
|
-
v1ProfilePrefixes = ["opencode"];
|
|
37
32
|
agentBuilder = opencodeBuilder;
|
|
38
33
|
// ── Workflow-engine descriptor (plan §"Capability matrix", P2) ────────────
|
|
39
34
|
// This entry is the CLI spawn path (`opencode run …`): akm launches the
|
|
@@ -55,6 +50,5 @@ export class OpencodeHarness extends BaseHarness {
|
|
|
55
50
|
detection: true,
|
|
56
51
|
configImport: true,
|
|
57
52
|
runtimeIdentity: true,
|
|
58
|
-
v1Migration: true,
|
|
59
53
|
});
|
|
60
54
|
}
|
|
@@ -29,22 +29,18 @@ function caps(c) {
|
|
|
29
29
|
detection: false,
|
|
30
30
|
configImport: false,
|
|
31
31
|
runtimeIdentity: false,
|
|
32
|
-
v1Migration: false,
|
|
33
32
|
...c,
|
|
34
33
|
};
|
|
35
34
|
}
|
|
36
35
|
/**
|
|
37
36
|
* OpenCode SDK (embedded-SDK dispatch path).
|
|
38
37
|
*
|
|
39
|
-
* Dispatch-only: no native session logs, but detected at setup
|
|
40
|
-
* from v1 profile names.
|
|
38
|
+
* Dispatch-only: no native session logs, but detected at setup.
|
|
41
39
|
*/
|
|
42
40
|
export class OpencodeSdkHarness extends BaseHarness {
|
|
43
41
|
id = "opencode-sdk";
|
|
44
42
|
displayName = "OpenCode SDK";
|
|
45
43
|
aliases = [];
|
|
46
|
-
// Decorated v1 profile names like "opencode-sdk-fast" belong to the SDK path.
|
|
47
|
-
v1ProfilePrefixes = ["opencode-sdk"];
|
|
48
44
|
// ── Workflow-engine descriptor (plan §"Capability matrix", P2) ────────────
|
|
49
45
|
// Embedded-SDK dispatch on this machine ⇒ local-runner (the matrix's
|
|
50
46
|
// "local (sdk/cli)" row, SDK half).
|
|
@@ -60,6 +56,5 @@ export class OpencodeSdkHarness extends BaseHarness {
|
|
|
60
56
|
capabilities = caps({
|
|
61
57
|
agentDispatch: true,
|
|
62
58
|
detection: true,
|
|
63
|
-
v1Migration: true,
|
|
64
59
|
});
|
|
65
60
|
}
|