odai-dsh-agent 0.2.33 → 0.2.35

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.
Files changed (68) hide show
  1. package/README.md +4 -4
  2. package/build/src/installer.d.mts.map +1 -1
  3. package/build/src/installer.mjs +7 -4
  4. package/build/src/installer.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/preset/odai/package.json +1 -1
  7. package/preset/odai/runtime/governance-bundle.d.mts +59 -0
  8. package/preset/odai/runtime/governance-bundle.d.mts.map +1 -0
  9. package/preset/odai/runtime/governance-bundle.mjs +131 -0
  10. package/preset/odai/runtime/governance-bundle.mjs.map +1 -0
  11. package/preset/odai/runtime/prompt-runtime.d.mts.map +1 -1
  12. package/preset/odai/runtime/prompt-runtime.mjs +5 -2
  13. package/preset/odai/runtime/prompt-runtime.mjs.map +1 -1
  14. package/preset/odai/runtime/research-packet.d.mts.map +1 -1
  15. package/preset/odai/runtime/research-packet.mjs +2 -5
  16. package/preset/odai/runtime/research-packet.mjs.map +1 -1
  17. package/preset/odai/runtime/role-overlays.mjs +1 -1
  18. package/preset/odai/runtime/role-overlays.mjs.map +1 -1
  19. package/preset/odai/runtime/router.mjs +2 -2
  20. package/preset/odai/runtime/router.mjs.map +1 -1
  21. package/preset/odai/runtime/runtime-support.mjs +5 -5
  22. package/preset/odai/runtime/runtime-support.mjs.map +1 -1
  23. package/preset/odai/runtime/skill-bundle.d.mts +19 -26
  24. package/preset/odai/runtime/skill-bundle.d.mts.map +1 -1
  25. package/preset/odai/runtime/skill-bundle.mjs +61 -300
  26. package/preset/odai/runtime/skill-bundle.mjs.map +1 -1
  27. package/preset/odai/runtime/skill-evolution.d.mts.map +1 -1
  28. package/preset/odai/runtime/skill-evolution.mjs +29 -50
  29. package/preset/odai/runtime/skill-evolution.mjs.map +1 -1
  30. package/preset/odai/skills/odai/SKILL.md +22 -26
  31. package/preset/odai/skills/odai/assets/task-state.md +2 -2
  32. package/preset/odai/skills/odai/manifest.json +8 -45
  33. package/preset/odai/skills/odai/references/care.md +2 -2
  34. package/preset/odai/skills/odai/references/craft.md +2 -2
  35. package/preset/odai/skills/odai/references/dao.md +2 -3
  36. package/preset/odai/skills/odai/references/human-safety.md +1 -1
  37. package/preset/odai/skills/odai/references/leverage.md +17 -52
  38. package/preset/odai/skills/odai/references/planning.md +6 -6
  39. package/preset/odai/skills/odai/references/support.md +17 -19
  40. package/preset/odai/skills/odai/references/verification.md +7 -5
  41. package/preset/odai/skills/odai-orchestration/SKILL.md +26 -0
  42. package/preset/odai/skills/odai-orchestration/agents/openai.yaml +4 -0
  43. package/preset/odai/skills/odai-orchestration/assets/routing-roles/controller.md +11 -0
  44. package/preset/odai/skills/{odai → odai-orchestration}/assets/routing-roles/frontend.md +1 -1
  45. package/preset/odai/skills/{odai → odai-orchestration}/assets/routing-roles/planner.md +3 -3
  46. package/preset/odai/skills/{odai → odai-orchestration}/assets/routing-roles/researcher.md +4 -4
  47. package/preset/odai/skills/odai-orchestration/assets/routing-roles/reviewer.md +11 -0
  48. package/preset/odai/skills/odai-orchestration/contracts/delegation.md +11 -0
  49. package/preset/odai/skills/odai-orchestration/manifest.json +43 -0
  50. package/preset/odai/skills/odai-orchestration/references/orchestration.md +41 -0
  51. package/preset/odai/skills/{odai → odai-orchestration}/scripts/build-routing.mjs +38 -35
  52. package/preset/odai/skills/odai-orchestration/scripts/compose-contracts.d.mts +26 -0
  53. package/preset/odai/skills/odai-orchestration/scripts/compose-contracts.mjs +66 -0
  54. package/preset/odai/skills/{odai → odai-orchestration}/scripts/install-routing.mjs +8 -5
  55. package/preset/odai/skills/odai/assets/hooks-policy.example.json +0 -24
  56. package/preset/odai/skills/odai/assets/routing-roles/controller.md +0 -15
  57. package/preset/odai/skills/odai/assets/routing-roles/reviewer.md +0 -11
  58. package/preset/odai/skills/odai/contracts/delegation.md +0 -11
  59. package/preset/odai/skills/odai/scripts/build-hooks.mjs +0 -273
  60. package/preset/odai/skills/odai/scripts/compose-contracts.d.mts +0 -20
  61. package/preset/odai/skills/odai/scripts/compose-contracts.mjs +0 -114
  62. package/preset/odai/skills/odai/scripts/odai-hook.mjs +0 -465
  63. /package/preset/odai/skills/{odai → odai-orchestration}/assets/claude-agents/agent.md +0 -0
  64. /package/preset/odai/skills/{odai → odai-orchestration}/assets/codex-agents/config.toml +0 -0
  65. /package/preset/odai/skills/{odai → odai-orchestration}/assets/codex-agents/role.toml +0 -0
  66. /package/preset/odai/skills/{odai → odai-orchestration}/assets/copilot-agents/agent.md +0 -0
  67. /package/preset/odai/skills/{odai → odai-orchestration}/scripts/run-role.mjs +0 -0
  68. /package/preset/odai/skills/{odai → odai-orchestration}/scripts/verify-routing.mjs +0 -0
@@ -1,332 +1,93 @@
1
1
  import { createHash } from "node:crypto";
2
- import { existsSync, readFileSync, realpathSync } from "node:fs";
3
- import { dirname, isAbsolute, relative, resolve } from "node:path";
4
- import { isUnknownRecord } from "./runtime-types.mjs";
5
- import { composeEntry, composeCore, composeRoleContract, validateCompositionManifest, RUNTIME_CONTRACT, ROLE_NAMES, REFERENCE_NAMES } from "#odai-contracts";
6
- export const ODAI_RUNTIME_CONTRACT = RUNTIME_CONTRACT;
2
+ import { readFileSync } from "node:fs";
3
+ import { resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import { composeRoleContract, validateCompositionManifest, stripEntryMetadata, ROLE_NAMES, REFERENCE_NAMES, ORCHESTRATION_URL } from "#odai-contracts";
6
+ import { GOVERNANCE_CONTRACT, loadGovernanceBundle, captureBundleFiles, bundleFile, parseSkillVersion, compareSkillVersions } from "./governance-bundle.mjs";
7
+ export { loadGovernanceBundle, readSkillManifest, parseSkillVersion, compareSkillVersions } from "./governance-bundle.mjs";
8
+ export const ODAI_RUNTIME_CONTRACT = GOVERNANCE_CONTRACT;
7
9
  export const SKILL_MANIFEST_FILE = "manifest.json";
8
10
  export const SKILL_SOURCE_MODES = Object.freeze(["bundled", "auto", "user"]);
9
11
  export const ODAI_ROLE_NAMES = ROLE_NAMES;
10
12
  export const ODAI_REFERENCE_NAMES = REFERENCE_NAMES;
11
- const MANIFEST_FIELDS = new Set([
12
- "schemaVersion",
13
- "name",
14
- "skillVersion",
15
- "runtimeContract",
16
- "roleFiles",
17
- "moduleFiles",
18
- "rolePresets",
19
- "referenceFiles",
20
- "requiredFiles",
21
- ]);
22
13
  const PROJECT_SOURCES = new Set(["project-dsh", "project-agents", "custom"]);
23
14
  const USER_SOURCES = new Set(["user-dsh", "user-agents"]);
24
- const VERSION_PATTERN = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/u;
25
- function assertPlainObject(value, field) {
26
- if (!isUnknownRecord(value))
27
- throw new TypeError(`${field} must be an object`);
28
- return value;
29
- }
30
- function isSkillSourceMode(value) {
31
- return typeof value === "string" && SKILL_SOURCE_MODES.includes(value);
32
- }
33
- export function parseSkillVersion(value, field = "skillVersion") {
34
- if (typeof value !== "string")
35
- throw new TypeError(`${field} must be a string`);
36
- const match = value.match(VERSION_PATTERN);
37
- if (!match)
38
- throw new TypeError(`${field} must use SemVer 2.0.0 syntax`);
39
- const prerelease = match[4] === undefined ? [] : match[4].split(".");
40
- for (const identifier of prerelease) {
41
- if (/^\d+$/u.test(identifier) && identifier.length > 1 && identifier.startsWith("0")) {
42
- throw new TypeError(`${field} has a numeric prerelease identifier with a leading zero`);
43
- }
44
- }
45
- return Object.freeze({
46
- core: Object.freeze([match[1], match[2], match[3]]),
47
- prerelease: Object.freeze(prerelease),
48
- });
49
- }
50
- function compareNumericIdentifier(left, right) {
51
- if (left.length < right.length)
52
- return -1;
53
- if (left.length > right.length)
54
- return 1;
55
- if (left < right)
56
- return -1;
57
- if (left > right)
58
- return 1;
59
- return 0;
60
- }
61
- function comparePrerelease(left, right) {
62
- if (left.length === 0 && right.length === 0)
63
- return 0;
64
- if (left.length === 0)
65
- return 1;
66
- if (right.length === 0)
67
- return -1;
68
- const length = Math.max(left.length, right.length);
69
- for (let index = 0; index < length; index += 1) {
70
- const leftValue = left[index];
71
- const rightValue = right[index];
72
- if (leftValue === undefined)
73
- return -1;
74
- if (rightValue === undefined)
75
- return 1;
76
- const leftNumeric = /^\d+$/u.test(leftValue);
77
- const rightNumeric = /^\d+$/u.test(rightValue);
78
- if (leftNumeric && rightNumeric) {
79
- const difference = compareNumericIdentifier(leftValue, rightValue);
80
- if (difference !== 0)
81
- return difference;
82
- continue;
83
- }
84
- if (leftNumeric !== rightNumeric)
85
- return leftNumeric ? -1 : 1;
86
- if (leftValue < rightValue)
87
- return -1;
88
- if (leftValue > rightValue)
89
- return 1;
90
- }
91
- return 0;
92
- }
93
- export function compareSkillVersions(left, right) {
94
- const leftVersion = typeof left === "string" ? parseSkillVersion(left, "left skillVersion") : left;
95
- const rightVersion = typeof right === "string" ? parseSkillVersion(right, "right skillVersion") : right;
96
- for (let index = 0; index < 3; index += 1) {
97
- const leftIdentifier = leftVersion.core[index];
98
- const rightIdentifier = rightVersion.core[index];
99
- if (leftIdentifier === undefined || rightIdentifier === undefined) {
100
- throw new TypeError("skillVersion core must contain three identifiers");
101
- }
102
- const difference = compareNumericIdentifier(leftIdentifier, rightIdentifier);
103
- if (difference !== 0)
104
- return difference;
105
- }
106
- return comparePrerelease(leftVersion.prerelease, rightVersion.prerelease);
107
- }
108
- function resolveBundleFile(root, relativePath) {
109
- if (typeof relativePath !== "string" || relativePath.trim() === "") {
110
- throw new TypeError("skill manifest requiredFiles entries must be non-empty strings");
111
- }
112
- const segments = relativePath.split("/");
113
- if (relativePath !== relativePath.trim()
114
- || relativePath.includes("\\")
115
- || isAbsolute(relativePath)
116
- || segments.some((segment) => segment === "" || segment === "." || segment === "..")) {
117
- throw new TypeError(`skill manifest contains unsafe required file ${JSON.stringify(relativePath)}`);
118
- }
119
- const target = resolve(root, ...segments);
120
- const fromRoot = relative(root, target);
121
- if (fromRoot === "" || fromRoot === ".." || fromRoot.startsWith(`..${process.platform === "win32" ? "\\" : "/"}`)) {
122
- throw new TypeError(`skill manifest required file escapes its bundle: ${relativePath}`);
123
- }
124
- return target;
125
- }
126
- function assertRealPathInside(rootRealPath, target, label) {
127
- const targetRealPath = realpathSync(target);
128
- const fromRoot = relative(rootRealPath, targetRealPath);
129
- if (fromRoot === "" || fromRoot === ".." || fromRoot.startsWith(`..${process.platform === "win32" ? "\\" : "/"}`)) {
130
- throw new Error(`Odai skill bundle path escapes through a symlink: ${label}`);
131
- }
132
- return targetRealPath;
133
- }
134
- export function readSkillManifest(skillRoot) {
135
- const rootRealPath = realpathSync(skillRoot);
136
- const manifestPath = resolve(skillRoot, SKILL_MANIFEST_FILE);
137
- let parsed;
138
- try {
139
- const manifestRealPath = assertRealPathInside(rootRealPath, manifestPath, SKILL_MANIFEST_FILE);
140
- parsed = JSON.parse(readFileSync(manifestRealPath, "utf8"));
141
- }
142
- catch (error) {
143
- throw new Error(`cannot read Odai skill manifest ${manifestPath}: ${error instanceof Error ? error.message : String(error)}`);
144
- }
145
- const manifest = assertPlainObject(parsed, `Odai skill manifest ${manifestPath}`);
146
- const unknownFields = Object.keys(manifest).filter((field) => !MANIFEST_FIELDS.has(field));
147
- if (unknownFields.length > 0) {
148
- throw new TypeError(`Odai skill manifest ${manifestPath} has unknown fields: ${unknownFields.join(", ")}`);
149
- }
150
- if (manifest.schemaVersion !== 3) {
151
- throw new TypeError(`Odai skill manifest ${manifestPath} has unsupported schemaVersion ${String(manifest.schemaVersion)}`);
152
- }
153
- if (manifest.name !== "odai")
154
- throw new TypeError(`Odai skill manifest ${manifestPath} must name odai`);
155
- if (typeof manifest.skillVersion !== "string") {
156
- throw new TypeError(`Odai skill manifest ${manifestPath}.skillVersion must be a string`);
157
- }
158
- const skillVersion = manifest.skillVersion;
159
- const versionParts = parseSkillVersion(skillVersion, `Odai skill manifest ${manifestPath}.skillVersion`);
160
- if (typeof manifest.runtimeContract !== "number" || !Number.isSafeInteger(manifest.runtimeContract) || manifest.runtimeContract <= 0) {
161
- throw new TypeError(`Odai skill manifest ${manifestPath}.runtimeContract must be a positive integer`);
162
- }
163
- if (!Array.isArray(manifest.requiredFiles) || manifest.requiredFiles.length === 0) {
164
- throw new TypeError(`Odai skill manifest ${manifestPath}.requiredFiles must be a non-empty array`);
165
- }
166
- const requiredFiles = manifest.requiredFiles.map((file) => {
167
- if (typeof file !== "string" || file.trim() === "") {
168
- throw new TypeError("skill manifest requiredFiles entries must be non-empty strings");
169
- }
170
- resolveBundleFile(skillRoot, file);
171
- return file;
172
- });
173
- if (new Set(requiredFiles).size !== requiredFiles.length) {
174
- throw new TypeError(`Odai skill manifest ${manifestPath}.requiredFiles contains duplicates`);
175
- }
176
- if (!requiredFiles.includes("SKILL.md")) {
177
- throw new TypeError(`Odai skill manifest ${manifestPath} is missing required runtime file SKILL.md`);
178
- }
179
- const topology = validateCompositionManifest(manifest);
180
- return Object.freeze({
181
- ...topology,
182
- schemaVersion: 3,
183
- name: "odai",
184
- skillVersion,
185
- versionParts,
186
- runtimeContract: manifest.runtimeContract,
187
- requiredFiles: Object.freeze(requiredFiles),
188
- });
15
+ export function loadOrchestrationBundle(root = fileURLToPath(ORCHESTRATION_URL)) {
16
+ root = resolve(root);
17
+ const raw = JSON.parse(readFileSync(bundleFile(root, "manifest.json"), "utf8"));
18
+ const manifest = validateCompositionManifest(raw);
19
+ parseSkillVersion(manifest.version, "orchestration version");
20
+ const captured = captureBundleFiles(root, manifest.requiredFiles, manifest);
21
+ const skillBody = stripEntryMetadata(Buffer.from(captured.fileContents["SKILL.md"] ?? "", "base64").toString("utf8"));
22
+ if (!skillBody)
23
+ throw new TypeError("orchestration entry is empty");
24
+ return Object.freeze({ root, manifest, skillBody, ...captured });
189
25
  }
190
26
  export function loadSkillBundle(skillPath, options = {}) {
191
- const entryPath = resolve(skillPath);
192
- const root = dirname(entryPath);
193
- const rootRealPath = realpathSync(root);
194
- const manifest = readSkillManifest(root);
195
- const digest = createHash("sha256");
196
- const contents = new Map();
197
- digest.update(JSON.stringify({
198
- schemaVersion: manifest.schemaVersion,
199
- name: manifest.name,
200
- skillVersion: manifest.skillVersion,
201
- runtimeContract: manifest.runtimeContract,
202
- moduleFiles: manifest.moduleFiles,
203
- rolePresets: manifest.rolePresets,
204
- roleFiles: manifest.roleFiles,
205
- referenceFiles: manifest.referenceFiles,
206
- requiredFiles: manifest.requiredFiles,
207
- }));
208
- for (const relativePath of [...manifest.requiredFiles].sort()) {
209
- const path = resolveBundleFile(root, relativePath);
210
- if (!existsSync(path))
211
- throw new Error(`Odai skill bundle ${root} is missing ${relativePath}`);
212
- const realPath = assertRealPathInside(rootRealPath, path, relativePath);
213
- const content = readFileSync(realPath);
214
- contents.set(relativePath, content);
215
- digest.update("\0");
216
- digest.update(relativePath);
217
- digest.update("\0");
218
- digest.update(content);
219
- }
220
- const skillContent = contents.get("SKILL.md");
221
- if (!skillContent)
222
- throw new Error(`Odai skill bundle ${root} is missing SKILL.md`);
223
- const skillText = skillContent.toString("utf8").trim();
224
- if (!skillText)
225
- throw new Error(`Odai canonical skill is empty: ${entryPath}`);
226
- const frontmatterMatch = skillText.match(/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/u);
227
- const frontmatter = frontmatterMatch?.[1];
228
- if (!frontmatterMatch || !frontmatter || !/^name:\s*odai\s*$/mu.test(frontmatter)) {
229
- throw new Error(`Odai canonical skill entry does not declare name odai: ${entryPath}`);
230
- }
231
- if (!skillText.slice(frontmatterMatch[0].length).trim())
232
- throw new Error(`Odai canonical skill body is empty: ${entryPath}`);
233
- const contractContents = Object.freeze(Object.fromEntries([...contents].map(([file, content]) => [file, content.toString("utf8")])));
234
- const skillBody = composeEntry(manifest, contractContents);
235
- const coreContract = composeCore(manifest, contractContents);
236
- const delegationContract = contractContents[manifest.moduleFiles.delegation].trim();
237
- const roleContracts = Object.freeze(Object.fromEntries(ODAI_ROLE_NAMES.map((role) => [role, composeRoleContract(role, manifest, contractContents, { embedded: true })])));
238
- const referenceContracts = Object.freeze(Object.fromEntries(ODAI_REFERENCE_NAMES.map((reference) => {
239
- const relativePath = manifest.referenceFiles[reference];
240
- const text = contents.get(relativePath)?.toString("utf8").trim();
241
- if (!text)
242
- throw new Error(`Odai canonical ${reference} reference is unavailable: ${resolve(root, relativePath)}`);
243
- return [reference, text];
244
- })));
245
- const fileContents = Object.freeze(Object.fromEntries([...contents].map(([relativePath, content]) => [relativePath, content.toString("base64")])));
246
- const bundle = {
247
- path: entryPath,
248
- root,
249
- source: typeof options.source === "string" && options.source ? options.source : "bundled",
250
- provider: typeof options.provider === "string" && options.provider ? options.provider : "odai-dsh-runtime",
251
- manifest,
252
- skillText,
253
- skillBody,
254
- coreContract,
255
- delegationContract,
256
- roleContracts,
257
- referenceContracts,
258
- digest: digest.digest("hex"),
259
- fileContents,
260
- };
27
+ const governance = loadGovernanceBundle(skillPath, options);
28
+ const orchestration = loadOrchestrationBundle(options.orchestrationRoot);
29
+ const contents = Object.freeze(Object.fromEntries(Object.entries(orchestration.fileContents).map(([file, bytes]) => [file, Buffer.from(bytes, "base64").toString("utf8")])));
30
+ const input = { runtimeContract: governance.manifest.runtimeContract, skillBody: governance.skillBody, referenceContracts: governance.referenceContracts };
31
+ const roleContracts = Object.freeze(Object.fromEntries(ODAI_ROLE_NAMES.map(role => [role, composeRoleContract(role, input, orchestration.manifest, contents, { embedded: true })])));
32
+ const delegationContract = contents[orchestration.manifest.delegationFile]?.trim();
33
+ const orchestrationReference = contents[orchestration.manifest.referenceFiles.orchestration]?.trim();
34
+ if (!delegationContract || !orchestrationReference)
35
+ throw new Error("orchestration contract is empty");
36
+ const referenceContracts = Object.freeze({ ...governance.referenceContracts, orchestration: orchestrationReference });
37
+ const referencePaths = Object.freeze({ ...governance.manifest.referenceFiles, orchestration: `orchestration/${orchestration.manifest.referenceFiles.orchestration}` });
38
+ const fileContents = Object.freeze({ ...governance.fileContents,
39
+ ...Object.fromEntries(Object.entries(orchestration.fileContents).map(([file, bytes]) => [`orchestration/${file}`, bytes])) });
40
+ const requiredFiles = Object.freeze([...governance.manifest.requiredFiles, ...orchestration.manifest.requiredFiles.map(file => `orchestration/${file}`)]);
41
+ const digest = createHash("sha256").update(JSON.stringify({ contract: "odai-dsh-composition/1", governance: governance.digest, orchestration: orchestration.digest })).digest("hex");
42
+ const bundle = { ...governance, governance, orchestration, coreContract: governance.skillBody,
43
+ delegationContract, roleContracts, referenceContracts, referencePaths, requiredFiles, digest, fileContents };
261
44
  Object.defineProperty(bundle, "fileContents", { value: fileContents, enumerable: false });
262
45
  return Object.freeze(bundle);
263
46
  }
264
47
  export function readSkillBundleFile(bundle, relativePath) {
265
- if (!bundle || typeof bundle !== "object" || !bundle.manifest?.requiredFiles?.includes(relativePath)) {
266
- throw new TypeError(`unknown Odai skill bundle file: ${String(relativePath)}`);
267
- }
268
- const encoded = bundle.fileContents?.[relativePath];
48
+ if (!bundle?.requiredFiles?.includes(relativePath))
49
+ throw new TypeError(`unknown Odai composition file: ${String(relativePath)}`);
50
+ const encoded = bundle.fileContents[relativePath];
269
51
  if (typeof encoded !== "string")
270
- throw new Error(`Odai skill bundle snapshot is missing ${relativePath}`);
52
+ throw new Error(`Odai composition snapshot is missing ${relativePath}`);
271
53
  return Buffer.from(encoded, "base64");
272
54
  }
273
55
  function fallbackSelection(mode, bundled, reasonCode, detail, candidate) {
274
- return Object.freeze({
275
- mode,
276
- status: "fallback",
277
- reasonCode,
278
- ...(detail === undefined ? {} : { detail }),
279
- bundle: bundled,
280
- ...(candidate ? { candidate } : {}),
281
- });
56
+ return Object.freeze({ mode, status: "fallback", reasonCode, ...(detail === undefined ? {} : { detail }), bundle: bundled, ...(candidate ? { candidate } : {}) });
282
57
  }
283
58
  function selected(mode, bundle, reasonCode, candidate) {
284
- return Object.freeze({
285
- mode,
286
- status: "selected",
287
- reasonCode,
288
- bundle,
289
- ...(candidate ? { candidate } : {}),
290
- });
59
+ return Object.freeze({ mode, status: "selected", reasonCode, bundle, ...(candidate ? { candidate } : {}) });
291
60
  }
292
61
  export function chooseSkillBundle(options = {}) {
293
62
  const { mode, bundled, candidate, candidateError } = options;
294
- if (!isSkillSourceMode(mode))
63
+ if (typeof mode !== "string" || !SKILL_SOURCE_MODES.includes(mode))
295
64
  throw new TypeError(`unknown Odai skill source mode: ${String(mode)}`);
65
+ const sourceMode = mode;
296
66
  if (!bundled)
297
67
  throw new TypeError("bundled Odai skill is required");
298
- if (mode === "bundled")
299
- return selected(mode, bundled, "bundled-configured");
300
- if (candidateError) {
301
- return fallbackSelection(mode, bundled, "external-invalid", candidateError instanceof Error ? candidateError.message : String(candidateError));
302
- }
303
- if (!candidate) {
304
- return mode === "auto"
305
- ? selected(mode, bundled, "external-not-installed")
306
- : fallbackSelection(mode, bundled, "user-source-missing", "no compatible user-level Odai skill is installed");
307
- }
308
- if (candidate.manifest.runtimeContract !== ODAI_RUNTIME_CONTRACT) {
309
- return fallbackSelection(mode, bundled, "runtime-contract-mismatch", `candidate runtimeContract ${candidate.manifest.runtimeContract} is incompatible with runtime contract ${ODAI_RUNTIME_CONTRACT}`, candidate);
310
- }
68
+ if (sourceMode === "bundled")
69
+ return selected(sourceMode, bundled, "bundled-configured");
70
+ if (candidateError)
71
+ return fallbackSelection(sourceMode, bundled, "external-invalid", candidateError instanceof Error ? candidateError.message : String(candidateError));
72
+ if (!candidate)
73
+ return sourceMode === "auto" ? selected(sourceMode, bundled, "external-not-installed") : fallbackSelection(sourceMode, bundled, "user-source-missing", "no compatible user-level Odai skill is installed");
74
+ if (candidate.manifest.runtimeContract !== ODAI_RUNTIME_CONTRACT)
75
+ return fallbackSelection(sourceMode, bundled, "runtime-contract-mismatch", `candidate runtimeContract ${candidate.manifest.runtimeContract} is incompatible with runtime contract ${ODAI_RUNTIME_CONTRACT}`, candidate);
311
76
  const versionOrder = compareSkillVersions(candidate.manifest.versionParts, bundled.manifest.versionParts);
312
77
  if (versionOrder === 0) {
313
- if (candidate.digest === bundled.digest)
314
- return selected(mode, bundled, "external-equivalent", candidate);
315
- return fallbackSelection(mode, bundled, "same-version-content-conflict", `candidate ${candidate.manifest.skillVersion} differs from the bundled content with the same version`, candidate);
78
+ if (candidate.governance.digest === bundled.governance.digest)
79
+ return selected(sourceMode, bundled, "external-equivalent", candidate);
80
+ return fallbackSelection(sourceMode, bundled, "same-version-content-conflict", `candidate ${candidate.manifest.skillVersion} differs from the bundled content with the same version`, candidate);
316
81
  }
317
- if (mode === "user") {
318
- if (!USER_SOURCES.has(candidate.source) && candidate.source !== "custom") {
319
- return fallbackSelection(mode, bundled, "user-source-invalid", `source ${candidate.source} is not user-level`, candidate);
320
- }
321
- return selected(mode, candidate, "user-configured", candidate);
82
+ if (sourceMode === "user") {
83
+ if (!USER_SOURCES.has(candidate.source) && candidate.source !== "custom")
84
+ return fallbackSelection(sourceMode, bundled, "user-source-invalid", `source ${candidate.source} is not user-level`, candidate);
85
+ return selected(sourceMode, candidate, "user-configured", candidate);
322
86
  }
323
87
  if (PROJECT_SOURCES.has(candidate.source))
324
- return selected(mode, candidate, "project-scope-override", candidate);
325
- if (USER_SOURCES.has(candidate.source)) {
326
- return versionOrder > 0
327
- ? selected(mode, candidate, "newer-user-skill", candidate)
328
- : fallbackSelection(mode, bundled, "user-skill-older", `candidate ${candidate.manifest.skillVersion} is older than bundled ${bundled.manifest.skillVersion}`, candidate);
329
- }
330
- return fallbackSelection(mode, bundled, "external-source-unsupported", `source ${candidate.source} cannot provide Odai governance`, candidate);
88
+ return selected(sourceMode, candidate, "project-scope-override", candidate);
89
+ if (USER_SOURCES.has(candidate.source))
90
+ return versionOrder > 0 ? selected(sourceMode, candidate, "newer-user-skill", candidate) : fallbackSelection(sourceMode, bundled, "user-skill-older", `candidate ${candidate.manifest.skillVersion} is older than bundled ${bundled.manifest.skillVersion}`, candidate);
91
+ return fallbackSelection(sourceMode, bundled, "external-source-unsupported", `source ${candidate.source} cannot provide Odai governance`, candidate);
331
92
  }
332
93
  //# sourceMappingURL=skill-bundle.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-bundle.mjs","sourceRoot":"","sources":["../src/skill-bundle.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-bundle.mjs","sourceRoot":"","sources":["../src/skill-bundle.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-evolution.d.mts","sourceRoot":"","sources":["../src/skill-evolution.mts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAY,WAAW,EAAiB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzG,KAAK,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;AAE1D,KAAK,kBAAkB,GAAG,UAAU,GAAG,UAAU,CAAC;AA0BlD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAyBD,UAAU,YAAY;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AACD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C;AAWD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;CACjD;AAGD,MAAM,WAAW,cAAc;IAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAmBhH,UAAU,uBAAwB,SAAQ,aAAa;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnH,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;CACxD;AACD,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC9E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CACrF;AACD,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC9D,WAAW,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG;QAAE,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CACvH;AACD,UAAU,0BAA0B;IAClC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,kBAAkB,CAAC;IAC9D,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACnE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CA4CnF;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,OAAO,EACvB,GAAG,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GAC9D,MAAM,CAWR;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GAAG,OAAO,CAE/G;AAyqBD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,kBAAkB,CAmFpB;AAsKD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,0BAA+B,GACvC,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CA8T1D"}
1
+ {"version":3,"file":"skill-evolution.d.mts","sourceRoot":"","sources":["../src/skill-evolution.mts"],"names":[],"mappings":"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"}