@openrig/cli 0.3.1 → 0.3.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/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +2 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +36 -0
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +66 -0
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.d.ts +5 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.d.ts.map +1 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.js +5 -1
- package/daemon/dist/db/migrations/037_mission_control_actions.js.map +1 -1
- package/daemon/dist/db/migrations/041_rig_policy.d.ts +32 -0
- package/daemon/dist/db/migrations/041_rig_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/041_rig_policy.js +47 -0
- package/daemon/dist/db/migrations/041_rig_policy.js.map +1 -0
- package/daemon/dist/domain/agent-images/resume-token-discovery.js +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.d.ts.map +1 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.js +2 -1
- package/daemon/dist/domain/agent-images/snapshot-capturer.js.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +27 -0
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +86 -6
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/bundle-agent-images-router.d.ts +95 -0
- package/daemon/dist/domain/bundle-agent-images-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-agent-images-router.js +140 -0
- package/daemon/dist/domain/bundle-agent-images-router.js.map +1 -0
- package/daemon/dist/domain/bundle-assembler.d.ts +18 -1
- package/daemon/dist/domain/bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-assembler.js +11 -1
- package/daemon/dist/domain/bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/bundle-audit.d.ts +89 -0
- package/daemon/dist/domain/bundle-audit.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-audit.js +87 -0
- package/daemon/dist/domain/bundle-audit.js.map +1 -0
- package/daemon/dist/domain/bundle-conflict-detector.d.ts +57 -0
- package/daemon/dist/domain/bundle-conflict-detector.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-conflict-detector.js +49 -0
- package/daemon/dist/domain/bundle-conflict-detector.js.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts +100 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.js +158 -0
- package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -0
- package/daemon/dist/domain/bundle-plugins-router.d.ts +69 -0
- package/daemon/dist/domain/bundle-plugins-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-plugins-router.js +87 -0
- package/daemon/dist/domain/bundle-plugins-router.js.map +1 -0
- package/daemon/dist/domain/bundle-skills-router.d.ts +62 -0
- package/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-skills-router.js +90 -0
- package/daemon/dist/domain/bundle-skills-router.js.map +1 -0
- package/daemon/dist/domain/bundle-types.d.ts +106 -0
- package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-types.js +375 -0
- package/daemon/dist/domain/bundle-types.js.map +1 -1
- package/daemon/dist/domain/bundle-workflow-specs-router.d.ts +94 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.js +144 -0
- package/daemon/dist/domain/bundle-workflow-specs-router.js.map +1 -0
- package/daemon/dist/domain/context-monitor.d.ts +5 -1
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +28 -15
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/graph-projection.d.ts +6 -0
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +6 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +7 -7
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +18 -0
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +98 -0
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +12 -0
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +25 -1
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.d.ts +16 -1
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.js +11 -1
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +10 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +4 -0
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +22 -0
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +57 -0
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +37 -1
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +99 -2
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/restore-check-service.d.ts +4 -0
- package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
- package/daemon/dist/domain/restore-check-service.js +16 -7
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts +48 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.js +96 -0
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts +46 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.js +171 -0
- package/daemon/dist/domain/rig-policy/rig-policy-store.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts +145 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.js +52 -0
- package/daemon/dist/domain/rig-policy/rig-policy-types.js.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts +58 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +1 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.js +211 -0
- package/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +1 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +109 -18
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +79 -0
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -0
- package/daemon/dist/domain/seat-activity-service.js +123 -0
- package/daemon/dist/domain/seat-activity-service.js.map +1 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts +12 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +23 -0
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/daemon/dist/domain/spec-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/spec-library-service.js +19 -0
- package/daemon/dist/domain/spec-library-service.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +79 -3
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts +22 -0
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.js +37 -0
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +7 -0
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +156 -3
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts +197 -0
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/workspace-doctor.js +448 -0
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +11 -0
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +966 -7
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/config.d.ts.map +1 -1
- package/daemon/dist/routes/config.js +19 -2
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/info.d.ts +3 -0
- package/daemon/dist/routes/info.d.ts.map +1 -0
- package/daemon/dist/routes/info.js +20 -0
- package/daemon/dist/routes/info.js.map +1 -0
- package/daemon/dist/routes/queue.d.ts +18 -0
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +97 -5
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rig-policy.d.ts +9 -0
- package/daemon/dist/routes/rig-policy.d.ts.map +1 -0
- package/daemon/dist/routes/rig-policy.js +174 -0
- package/daemon/dist/routes/rig-policy.js.map +1 -0
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +10 -2
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +26 -3
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/up.d.ts +25 -0
- package/daemon/dist/routes/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +70 -3
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/workspace.d.ts.map +1 -1
- package/daemon/dist/routes/workspace.js +80 -1
- package/daemon/dist/routes/workspace.js.map +1 -1
- package/daemon/dist/server.d.ts +10 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +11 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +45 -4
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +28 -4
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +285 -8
- package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +2 -2
- package/daemon/specs/rigs/launch/conveyor/rig.yaml +1 -1
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +13 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/bundle.d.ts.map +1 -1
- package/dist/commands/bundle.js +123 -2
- package/dist/commands/bundle.js.map +1 -1
- package/dist/commands/config-init-workspace.d.ts.map +1 -1
- package/dist/commands/config-init-workspace.js +40 -5
- package/dist/commands/config-init-workspace.js.map +1 -1
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +51 -8
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +6 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +103 -5
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/rig-policy.d.ts +48 -0
- package/dist/commands/rig-policy.d.ts.map +1 -0
- package/dist/commands/rig-policy.js +429 -0
- package/dist/commands/rig-policy.js.map +1 -0
- package/dist/commands/scope.d.ts +6 -0
- package/dist/commands/scope.d.ts.map +1 -0
- package/dist/commands/scope.js +659 -0
- package/dist/commands/scope.js.map +1 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +47 -0
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/workflow.d.ts +9 -0
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +139 -1
- package/dist/commands/workflow.js.map +1 -1
- package/dist/commands/workspace.d.ts +20 -0
- package/dist/commands/workspace.d.ts.map +1 -1
- package/dist/commands/workspace.js +138 -7
- package/dist/commands/workspace.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +25 -1
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +33 -2
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/dot-id.d.ts +43 -0
- package/dist/lib/scope/dot-id.d.ts.map +1 -0
- package/dist/lib/scope/dot-id.js +165 -0
- package/dist/lib/scope/dot-id.js.map +1 -0
- package/dist/lib/scope/scope-fs.d.ts +79 -0
- package/dist/lib/scope/scope-fs.d.ts.map +1 -0
- package/dist/lib/scope/scope-fs.js +468 -0
- package/dist/lib/scope/scope-fs.js.map +1 -0
- package/dist/lib/scope/templates.d.ts +38 -0
- package/dist/lib/scope/templates.d.ts.map +1 -0
- package/dist/lib/scope/templates.js +109 -0
- package/dist/lib/scope/templates.js.map +1 -0
- package/dist/lib/scope/types.d.ts +61 -0
- package/dist/lib/scope/types.d.ts.map +1 -0
- package/dist/lib/scope/types.js +38 -0
- package/dist/lib/scope/types.js.map +1 -0
- package/dist/lib/scope-templates/backlog-deprecation.md +26 -0
- package/dist/lib/scope-templates/backlog-tech-debt.md +22 -0
- package/dist/lib/scope-templates/bug-fix.md +30 -0
- package/dist/lib/scope-templates/mission-notes.md +97 -0
- package/dist/lib/scope-templates/mission-placeholder.md +20 -0
- package/dist/lib/scope-templates/mission-release.md +25 -0
- package/dist/lib/scope-templates/placeholder.md +30 -0
- package/dist/lib/scope-templates/release-feature.md +26 -0
- package/dist/lib/scope-templates/research.md +22 -0
- package/package.json +2 -2
- package/ui/dist/assets/index-GjTxfi9S.js +547 -0
- package/ui/dist/index.html +1 -1
- package/ui/dist/assets/index-Rl3ZBrUg.js +0 -547
|
@@ -1,4 +1,316 @@
|
|
|
1
1
|
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
|
|
2
|
+
const PROVENANCE_STRING_FIELDS = [
|
|
3
|
+
"created_at",
|
|
4
|
+
"source_host",
|
|
5
|
+
"author_session",
|
|
6
|
+
"source_rig_id",
|
|
7
|
+
"source_rig_name",
|
|
8
|
+
"daemon_version",
|
|
9
|
+
"cli_version",
|
|
10
|
+
"notes",
|
|
11
|
+
];
|
|
12
|
+
/** Validate optional provenance block. Appends to errors if present-but-malformed. */
|
|
13
|
+
function validateProvenanceBlock(raw, errors) {
|
|
14
|
+
if (raw === undefined)
|
|
15
|
+
return;
|
|
16
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
|
|
17
|
+
errors.push("provenance must be an object");
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const p = raw;
|
|
21
|
+
for (const field of PROVENANCE_STRING_FIELDS) {
|
|
22
|
+
if (field in p && typeof p[field] !== "string") {
|
|
23
|
+
errors.push(`provenance.${field} must be a string`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Serialize a typed BundleProvenance to the snake_case YAML record shape. */
|
|
28
|
+
function provenanceToYamlRecord(p) {
|
|
29
|
+
const out = {};
|
|
30
|
+
if (p.createdAt !== undefined)
|
|
31
|
+
out["created_at"] = p.createdAt;
|
|
32
|
+
if (p.sourceHost !== undefined)
|
|
33
|
+
out["source_host"] = p.sourceHost;
|
|
34
|
+
if (p.authorSession !== undefined)
|
|
35
|
+
out["author_session"] = p.authorSession;
|
|
36
|
+
if (p.sourceRigId !== undefined)
|
|
37
|
+
out["source_rig_id"] = p.sourceRigId;
|
|
38
|
+
if (p.sourceRigName !== undefined)
|
|
39
|
+
out["source_rig_name"] = p.sourceRigName;
|
|
40
|
+
if (p.daemonVersion !== undefined)
|
|
41
|
+
out["daemon_version"] = p.daemonVersion;
|
|
42
|
+
if (p.cliVersion !== undefined)
|
|
43
|
+
out["cli_version"] = p.cliVersion;
|
|
44
|
+
if (p.notes !== undefined)
|
|
45
|
+
out["notes"] = p.notes;
|
|
46
|
+
return out;
|
|
47
|
+
}
|
|
48
|
+
/** Validate optional plugins[] block. Appends to errors if present-but-malformed. */
|
|
49
|
+
function validatePluginsBlock(raw, errors) {
|
|
50
|
+
if (raw === undefined)
|
|
51
|
+
return;
|
|
52
|
+
if (!Array.isArray(raw)) {
|
|
53
|
+
errors.push("plugins must be an array");
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
for (let i = 0; i < raw.length; i++) {
|
|
57
|
+
const entry = raw[i];
|
|
58
|
+
if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
|
|
59
|
+
errors.push(`plugins[${i}] must be an object`);
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const p = entry;
|
|
63
|
+
if (typeof p["id"] !== "string" || !p["id"]) {
|
|
64
|
+
errors.push(`plugins[${i}].id is required`);
|
|
65
|
+
}
|
|
66
|
+
const source = p["source"];
|
|
67
|
+
if (!source || typeof source !== "object" || Array.isArray(source)) {
|
|
68
|
+
errors.push(`plugins[${i}].source must be an object`);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const s = source;
|
|
72
|
+
if (s["kind"] !== "local") {
|
|
73
|
+
errors.push(`plugins[${i}].source.kind must be 'local' (other kinds reserved for future)`);
|
|
74
|
+
}
|
|
75
|
+
if (typeof s["path"] !== "string" || !s["path"]) {
|
|
76
|
+
errors.push(`plugins[${i}].source.path is required`);
|
|
77
|
+
}
|
|
78
|
+
else if (!isRelativeSafePath(s["path"])) {
|
|
79
|
+
errors.push(`plugins[${i}].source.path is not safe: '${s["path"]}'`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** Normalize raw plugins[] block (defensive copy). */
|
|
84
|
+
function normalizePluginsBlock(raw) {
|
|
85
|
+
if (!Array.isArray(raw))
|
|
86
|
+
return undefined;
|
|
87
|
+
const result = [];
|
|
88
|
+
for (const entry of raw) {
|
|
89
|
+
if (!entry || typeof entry !== "object" || Array.isArray(entry))
|
|
90
|
+
continue;
|
|
91
|
+
const p = entry;
|
|
92
|
+
const s = p["source"];
|
|
93
|
+
if (typeof p["id"] !== "string" || !p["id"])
|
|
94
|
+
continue;
|
|
95
|
+
if (!s || typeof s !== "object" || Array.isArray(s))
|
|
96
|
+
continue;
|
|
97
|
+
const src = s;
|
|
98
|
+
if (src["kind"] !== "local" || typeof src["path"] !== "string" || !src["path"])
|
|
99
|
+
continue;
|
|
100
|
+
result.push({ id: p["id"], source: { kind: "local", path: src["path"] } });
|
|
101
|
+
}
|
|
102
|
+
return result.length > 0 ? result : undefined;
|
|
103
|
+
}
|
|
104
|
+
/** Validate optional skills[] block. Appends to errors if present-but-malformed. */
|
|
105
|
+
function validateSkillsBlock(raw, errors) {
|
|
106
|
+
if (raw === undefined)
|
|
107
|
+
return;
|
|
108
|
+
if (!Array.isArray(raw)) {
|
|
109
|
+
errors.push("skills must be an array");
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
for (let i = 0; i < raw.length; i++) {
|
|
113
|
+
const entry = raw[i];
|
|
114
|
+
if (typeof entry !== "string") {
|
|
115
|
+
errors.push(`skills[${i}] must be a string`);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (!isRelativeSafePath(entry)) {
|
|
119
|
+
errors.push(`skills[${i}] path is not safe: '${entry}'`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** Normalize raw skills[] block (defensive copy + string filter). */
|
|
124
|
+
function normalizeSkillsBlock(raw) {
|
|
125
|
+
if (!Array.isArray(raw))
|
|
126
|
+
return undefined;
|
|
127
|
+
const result = [];
|
|
128
|
+
for (const entry of raw) {
|
|
129
|
+
if (typeof entry === "string" && entry.length > 0)
|
|
130
|
+
result.push(entry);
|
|
131
|
+
}
|
|
132
|
+
return result.length > 0 ? result : undefined;
|
|
133
|
+
}
|
|
134
|
+
/** Validate optional workflow_specs[] block. Appends to errors if present-but-malformed.
|
|
135
|
+
* Item 6 / slice-05 Checkpoint 7.3e. Same shape as skills[]: array of relative-safe paths
|
|
136
|
+
* to workflow spec YAML files inside the bundle. */
|
|
137
|
+
function validateWorkflowSpecsBlock(raw, errors) {
|
|
138
|
+
if (raw === undefined)
|
|
139
|
+
return;
|
|
140
|
+
if (!Array.isArray(raw)) {
|
|
141
|
+
errors.push("workflow_specs must be an array");
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
for (let i = 0; i < raw.length; i++) {
|
|
145
|
+
const entry = raw[i];
|
|
146
|
+
if (typeof entry !== "string") {
|
|
147
|
+
errors.push(`workflow_specs[${i}] must be a string`);
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (!isRelativeSafePath(entry)) {
|
|
151
|
+
errors.push(`workflow_specs[${i}] path is not safe: '${entry}'`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/** Normalize raw workflow_specs[] block (defensive copy + string filter). */
|
|
156
|
+
function normalizeWorkflowSpecsBlock(raw) {
|
|
157
|
+
if (!Array.isArray(raw))
|
|
158
|
+
return undefined;
|
|
159
|
+
const result = [];
|
|
160
|
+
for (const entry of raw) {
|
|
161
|
+
if (typeof entry === "string" && entry.length > 0)
|
|
162
|
+
result.push(entry);
|
|
163
|
+
}
|
|
164
|
+
return result.length > 0 ? result : undefined;
|
|
165
|
+
}
|
|
166
|
+
/** Validate optional context_packs[] block. Item 6 / slice-05 Checkpoint 7.3f.
|
|
167
|
+
* Each entry is a relative-safe path to a context-pack's manifest.yaml inside
|
|
168
|
+
* the bundle (per PRD §Item 6). The router copies the parent directory of
|
|
169
|
+
* each manifest path to the operator context-packs library on install. */
|
|
170
|
+
function validateContextPacksBlock(raw, errors) {
|
|
171
|
+
if (raw === undefined)
|
|
172
|
+
return;
|
|
173
|
+
if (!Array.isArray(raw)) {
|
|
174
|
+
errors.push("context_packs must be an array");
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
for (let i = 0; i < raw.length; i++) {
|
|
178
|
+
const entry = raw[i];
|
|
179
|
+
if (typeof entry !== "string") {
|
|
180
|
+
errors.push(`context_packs[${i}] must be a string`);
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
if (!isRelativeSafePath(entry)) {
|
|
184
|
+
errors.push(`context_packs[${i}] path is not safe: '${entry}'`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/** Normalize raw context_packs[] block (defensive copy + string filter). */
|
|
189
|
+
function normalizeContextPacksBlock(raw) {
|
|
190
|
+
if (!Array.isArray(raw))
|
|
191
|
+
return undefined;
|
|
192
|
+
const result = [];
|
|
193
|
+
for (const entry of raw) {
|
|
194
|
+
if (typeof entry === "string" && entry.length > 0)
|
|
195
|
+
result.push(entry);
|
|
196
|
+
}
|
|
197
|
+
return result.length > 0 ? result : undefined;
|
|
198
|
+
}
|
|
199
|
+
/** Validate optional agent_images[] block. Item 6 / slice-05 Checkpoint 7.3g.
|
|
200
|
+
* Each entry is a relative-safe path to an agent-image DIRECTORY inside the
|
|
201
|
+
* bundle (per PRD §Item 6 line 197: agent_images: [path/to/agent-image-name/,
|
|
202
|
+
* ...]). The router copies the declared directory itself to the operator
|
|
203
|
+
* agent-images library on install. The consumer
|
|
204
|
+
* (agent-image-library-service.ts:77-95) requires manifest.yaml to exist
|
|
205
|
+
* inside each routed image dir; the router enforces that at copy time. */
|
|
206
|
+
function validateAgentImagesBlock(raw, errors) {
|
|
207
|
+
if (raw === undefined)
|
|
208
|
+
return;
|
|
209
|
+
if (!Array.isArray(raw)) {
|
|
210
|
+
errors.push("agent_images must be an array");
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
for (let i = 0; i < raw.length; i++) {
|
|
214
|
+
const entry = raw[i];
|
|
215
|
+
if (typeof entry !== "string") {
|
|
216
|
+
errors.push(`agent_images[${i}] must be a string`);
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
if (!isRelativeSafePath(entry)) {
|
|
220
|
+
errors.push(`agent_images[${i}] path is not safe: '${entry}'`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/** Normalize raw agent_images[] block (defensive copy + string filter). */
|
|
225
|
+
function normalizeAgentImagesBlock(raw) {
|
|
226
|
+
if (!Array.isArray(raw))
|
|
227
|
+
return undefined;
|
|
228
|
+
const result = [];
|
|
229
|
+
for (const entry of raw) {
|
|
230
|
+
if (typeof entry === "string" && entry.length > 0)
|
|
231
|
+
result.push(entry);
|
|
232
|
+
}
|
|
233
|
+
return result.length > 0 ? result : undefined;
|
|
234
|
+
}
|
|
235
|
+
/** Validate optional compatibility block. Appends to errors if present-but-malformed. */
|
|
236
|
+
function validateCompatibilityBlock(raw, errors) {
|
|
237
|
+
if (raw === undefined)
|
|
238
|
+
return;
|
|
239
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
|
|
240
|
+
errors.push("compatibility must be an object");
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
const c = raw;
|
|
244
|
+
if ("min_daemon_version" in c && typeof c["min_daemon_version"] !== "string") {
|
|
245
|
+
errors.push("compatibility.min_daemon_version must be a string");
|
|
246
|
+
}
|
|
247
|
+
if ("min_cli_version" in c && typeof c["min_cli_version"] !== "string") {
|
|
248
|
+
errors.push("compatibility.min_cli_version must be a string");
|
|
249
|
+
}
|
|
250
|
+
if ("schema_version" in c && typeof c["schema_version"] !== "number") {
|
|
251
|
+
errors.push("compatibility.schema_version must be a number");
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/** Serialize a typed BundleCompatibility to the snake_case YAML record shape. */
|
|
255
|
+
function compatibilityToYamlRecord(c) {
|
|
256
|
+
const out = {};
|
|
257
|
+
if (c.minDaemonVersion !== undefined)
|
|
258
|
+
out["min_daemon_version"] = c.minDaemonVersion;
|
|
259
|
+
if (c.minCliVersion !== undefined)
|
|
260
|
+
out["min_cli_version"] = c.minCliVersion;
|
|
261
|
+
if (c.schemaVersion !== undefined)
|
|
262
|
+
out["schema_version"] = c.schemaVersion;
|
|
263
|
+
return out;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Normalize raw snake_case compatibility to typed camelCase BundleCompatibility.
|
|
267
|
+
* Returns undefined when absent or empty. Exported alongside the provenance
|
|
268
|
+
* normalizer so the v2 inspect-route projection can produce a single
|
|
269
|
+
* camelCase shape for both manifest schemas.
|
|
270
|
+
*/
|
|
271
|
+
export function normalizeCompatibilityBlock(raw) {
|
|
272
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
273
|
+
return undefined;
|
|
274
|
+
const c = raw;
|
|
275
|
+
const result = {};
|
|
276
|
+
if (typeof c["min_daemon_version"] === "string")
|
|
277
|
+
result.minDaemonVersion = c["min_daemon_version"];
|
|
278
|
+
if (typeof c["min_cli_version"] === "string")
|
|
279
|
+
result.minCliVersion = c["min_cli_version"];
|
|
280
|
+
if (typeof c["schema_version"] === "number")
|
|
281
|
+
result.schemaVersion = c["schema_version"];
|
|
282
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Normalize raw snake_case provenance (as parsed from YAML or received from
|
|
286
|
+
* a request body) to typed camelCase BundleProvenance. Returns undefined when
|
|
287
|
+
* absent or empty. Exported so both the v1 normalizer pipeline and the v2
|
|
288
|
+
* inspect-route projection produce identical camelCase shapes — the
|
|
289
|
+
* /api/bundles/inspect contract is one shape regardless of schema version.
|
|
290
|
+
*/
|
|
291
|
+
export function normalizeProvenanceBlock(raw) {
|
|
292
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
293
|
+
return undefined;
|
|
294
|
+
const p = raw;
|
|
295
|
+
const result = {};
|
|
296
|
+
if (typeof p["created_at"] === "string")
|
|
297
|
+
result.createdAt = p["created_at"];
|
|
298
|
+
if (typeof p["source_host"] === "string")
|
|
299
|
+
result.sourceHost = p["source_host"];
|
|
300
|
+
if (typeof p["author_session"] === "string")
|
|
301
|
+
result.authorSession = p["author_session"];
|
|
302
|
+
if (typeof p["source_rig_id"] === "string")
|
|
303
|
+
result.sourceRigId = p["source_rig_id"];
|
|
304
|
+
if (typeof p["source_rig_name"] === "string")
|
|
305
|
+
result.sourceRigName = p["source_rig_name"];
|
|
306
|
+
if (typeof p["daemon_version"] === "string")
|
|
307
|
+
result.daemonVersion = p["daemon_version"];
|
|
308
|
+
if (typeof p["cli_version"] === "string")
|
|
309
|
+
result.cliVersion = p["cli_version"];
|
|
310
|
+
if (typeof p["notes"] === "string")
|
|
311
|
+
result.notes = p["notes"];
|
|
312
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
313
|
+
}
|
|
2
314
|
export function validatePodBundleManifest(raw) {
|
|
3
315
|
const errors = [];
|
|
4
316
|
if (!raw || typeof raw !== "object")
|
|
@@ -32,6 +344,13 @@ export function validatePodBundleManifest(raw) {
|
|
|
32
344
|
errors.push(`agents[${i}].hash is required`);
|
|
33
345
|
}
|
|
34
346
|
}
|
|
347
|
+
validateProvenanceBlock(m["provenance"], errors);
|
|
348
|
+
validateCompatibilityBlock(m["compatibility"], errors);
|
|
349
|
+
validateSkillsBlock(m["skills"], errors);
|
|
350
|
+
validatePluginsBlock(m["plugins"], errors);
|
|
351
|
+
validateWorkflowSpecsBlock(m["workflow_specs"], errors);
|
|
352
|
+
validateContextPacksBlock(m["context_packs"], errors);
|
|
353
|
+
validateAgentImagesBlock(m["agent_images"], errors);
|
|
35
354
|
return { valid: errors.length === 0, errors };
|
|
36
355
|
}
|
|
37
356
|
export function serializePodBundleManifest(manifest) {
|
|
@@ -60,6 +379,20 @@ export function serializePodBundleManifest(manifest) {
|
|
|
60
379
|
doc["culture_file"] = manifest.cultureFile;
|
|
61
380
|
if (manifest.integrity)
|
|
62
381
|
doc["integrity"] = { algorithm: manifest.integrity.algorithm, files: manifest.integrity.files };
|
|
382
|
+
if (manifest.provenance)
|
|
383
|
+
doc["provenance"] = provenanceToYamlRecord(manifest.provenance);
|
|
384
|
+
if (manifest.compatibility)
|
|
385
|
+
doc["compatibility"] = compatibilityToYamlRecord(manifest.compatibility);
|
|
386
|
+
if (manifest.skills && manifest.skills.length > 0)
|
|
387
|
+
doc["skills"] = manifest.skills;
|
|
388
|
+
if (manifest.plugins && manifest.plugins.length > 0)
|
|
389
|
+
doc["plugins"] = manifest.plugins.map((p) => ({ id: p.id, source: { kind: p.source.kind, path: p.source.path } }));
|
|
390
|
+
if (manifest.workflowSpecs && manifest.workflowSpecs.length > 0)
|
|
391
|
+
doc["workflow_specs"] = manifest.workflowSpecs;
|
|
392
|
+
if (manifest.contextPacks && manifest.contextPacks.length > 0)
|
|
393
|
+
doc["context_packs"] = manifest.contextPacks;
|
|
394
|
+
if (manifest.agentImages && manifest.agentImages.length > 0)
|
|
395
|
+
doc["agent_images"] = manifest.agentImages;
|
|
63
396
|
return stringifyYaml(doc);
|
|
64
397
|
}
|
|
65
398
|
export function parsePodBundleManifest(yaml) {
|
|
@@ -153,6 +486,13 @@ export function validateLegacyBundleManifest(raw, opts) {
|
|
|
153
486
|
}
|
|
154
487
|
}
|
|
155
488
|
}
|
|
489
|
+
validateProvenanceBlock(m["provenance"], errors);
|
|
490
|
+
validateCompatibilityBlock(m["compatibility"], errors);
|
|
491
|
+
validateSkillsBlock(m["skills"], errors);
|
|
492
|
+
validatePluginsBlock(m["plugins"], errors);
|
|
493
|
+
validateWorkflowSpecsBlock(m["workflow_specs"], errors);
|
|
494
|
+
validateContextPacksBlock(m["context_packs"], errors);
|
|
495
|
+
validateAgentImagesBlock(m["agent_images"], errors);
|
|
156
496
|
return { valid: errors.length === 0, errors };
|
|
157
497
|
}
|
|
158
498
|
/** Parse bundle.yaml YAML string to unknown */
|
|
@@ -189,6 +529,27 @@ export function normalizeLegacyBundleManifest(raw) {
|
|
|
189
529
|
files: integ["files"] ?? {},
|
|
190
530
|
};
|
|
191
531
|
}
|
|
532
|
+
const provenance = normalizeProvenanceBlock(m["provenance"]);
|
|
533
|
+
if (provenance)
|
|
534
|
+
result.provenance = provenance;
|
|
535
|
+
const compatibility = normalizeCompatibilityBlock(m["compatibility"]);
|
|
536
|
+
if (compatibility)
|
|
537
|
+
result.compatibility = compatibility;
|
|
538
|
+
const skills = normalizeSkillsBlock(m["skills"]);
|
|
539
|
+
if (skills)
|
|
540
|
+
result.skills = skills;
|
|
541
|
+
const plugins = normalizePluginsBlock(m["plugins"]);
|
|
542
|
+
if (plugins)
|
|
543
|
+
result.plugins = plugins;
|
|
544
|
+
const workflowSpecs = normalizeWorkflowSpecsBlock(m["workflow_specs"]);
|
|
545
|
+
if (workflowSpecs)
|
|
546
|
+
result.workflowSpecs = workflowSpecs;
|
|
547
|
+
const contextPacks = normalizeContextPacksBlock(m["context_packs"]);
|
|
548
|
+
if (contextPacks)
|
|
549
|
+
result.contextPacks = contextPacks;
|
|
550
|
+
const agentImages = normalizeAgentImagesBlock(m["agent_images"]);
|
|
551
|
+
if (agentImages)
|
|
552
|
+
result.agentImages = agentImages;
|
|
192
553
|
return result;
|
|
193
554
|
}
|
|
194
555
|
/** Serialize a LegacyBundleManifest to YAML */
|
|
@@ -213,6 +574,20 @@ export function serializeLegacyBundleManifest(manifest) {
|
|
|
213
574
|
files: manifest.integrity.files,
|
|
214
575
|
};
|
|
215
576
|
}
|
|
577
|
+
if (manifest.provenance)
|
|
578
|
+
doc["provenance"] = provenanceToYamlRecord(manifest.provenance);
|
|
579
|
+
if (manifest.compatibility)
|
|
580
|
+
doc["compatibility"] = compatibilityToYamlRecord(manifest.compatibility);
|
|
581
|
+
if (manifest.skills && manifest.skills.length > 0)
|
|
582
|
+
doc["skills"] = manifest.skills;
|
|
583
|
+
if (manifest.plugins && manifest.plugins.length > 0)
|
|
584
|
+
doc["plugins"] = manifest.plugins.map((p) => ({ id: p.id, source: { kind: p.source.kind, path: p.source.path } }));
|
|
585
|
+
if (manifest.workflowSpecs && manifest.workflowSpecs.length > 0)
|
|
586
|
+
doc["workflow_specs"] = manifest.workflowSpecs;
|
|
587
|
+
if (manifest.contextPacks && manifest.contextPacks.length > 0)
|
|
588
|
+
doc["context_packs"] = manifest.contextPacks;
|
|
589
|
+
if (manifest.agentImages && manifest.agentImages.length > 0)
|
|
590
|
+
doc["agent_images"] = manifest.agentImages;
|
|
216
591
|
return stringifyYaml(doc);
|
|
217
592
|
}
|
|
218
593
|
//# sourceMappingURL=bundle-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-types.js","sourceRoot":"","sources":["../../src/domain/bundle-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bundle-types.js","sourceRoot":"","sources":["../../src/domain/bundle-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundle workflow_specs router (Item 6 / slice-05 Checkpoint 7.3e step 2).
|
|
3
|
+
*
|
|
4
|
+
* Pure function. Copies workflow spec YAML files declared in a bundle
|
|
5
|
+
* manifest's workflow_specs[] block from the bundle's extracted tree to the
|
|
6
|
+
* operator workflow-specs library. No daemon dependencies — fully
|
|
7
|
+
* unit-testable via FsOps injection.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors the bundle-skills-router pattern (file-paths, single-file copy
|
|
10
|
+
* preserving directory layout, leading-prefix strip). Per orch-ratified
|
|
11
|
+
* Candidate A on Item-6 completeness: workflow_specs is the 3rd v0
|
|
12
|
+
* cross-primitive kind (after skills + plugins). Source primitive
|
|
13
|
+
* reachable on main (WorkflowSpecCache + workflow-runtime + scanner).
|
|
14
|
+
*
|
|
15
|
+
* Safety (banked feedback_pre_existing_trust_boundary_reuse_canonical_helper
|
|
16
|
+
* addendum): both-sides containment — declared source path must stay
|
|
17
|
+
* inside bundleRoot; resolved target path (after leading "workflows/"
|
|
18
|
+
* strip) must stay inside targetWorkflowSpecsDir. The leading-prefix
|
|
19
|
+
* strip can promote intermediate ../ segments that bypass source check
|
|
20
|
+
* but escape target.
|
|
21
|
+
*
|
|
22
|
+
* Honest-scoping: missing source files surface as warnings in the
|
|
23
|
+
* result (NOT thrown errors) so the install lifecycle can continue
|
|
24
|
+
* with what's available. Same as bundle-skills-router.
|
|
25
|
+
*
|
|
26
|
+
* /install handler integration lands at Checkpoint 7.3e step 3.
|
|
27
|
+
*/
|
|
28
|
+
/** Filesystem injection point — real impl wraps node:fs. Tests substitute in-memory. */
|
|
29
|
+
export interface WorkflowSpecsRouterFsOps {
|
|
30
|
+
exists: (path: string) => boolean;
|
|
31
|
+
readFile: (path: string) => string;
|
|
32
|
+
writeFile: (path: string, content: string) => void;
|
|
33
|
+
mkdirp: (path: string) => void;
|
|
34
|
+
}
|
|
35
|
+
/** Inputs to routeWorkflowSpecs. */
|
|
36
|
+
export interface RouteWorkflowSpecsInput {
|
|
37
|
+
/** Absolute path to the bundle's extracted root (tmp dir from unpack). */
|
|
38
|
+
bundleRoot: string;
|
|
39
|
+
/** Relative workflow_spec paths declared in the manifest's workflow_specs[] block. */
|
|
40
|
+
declaredWorkflowSpecs: string[];
|
|
41
|
+
/**
|
|
42
|
+
* Absolute path to the operator workflow-specs library that the
|
|
43
|
+
* spec-library-workflow-scanner ACTUALLY reads from. **CALLER CONTRACT**:
|
|
44
|
+
* this MUST be exactly
|
|
45
|
+
* `nodePath.join(ContextPackSettingsStore.resolveConfig().workspaceSpecsRoot, "workflows")`
|
|
46
|
+
* — the folder discovered by `scanWorkflowSpecFolder` in
|
|
47
|
+
* `packages/daemon/src/domain/spec-library-workflow-scanner.ts:320-342`
|
|
48
|
+
* and exposed via `deps.workflowsFolderDir` in
|
|
49
|
+
* `packages/daemon/src/startup.ts:903-916`. SettingsStore is the sole
|
|
50
|
+
* authority for the actual operator-host path; do NOT hardcode a default
|
|
51
|
+
* here — settings layering (env > config > workspace-default) can shift
|
|
52
|
+
* the resolved root, so any literal default repeated in this comment
|
|
53
|
+
* would be a drift hazard. Writing anywhere else will succeed silently
|
|
54
|
+
* but be invisible to the live workflow scanner — operator dead-end.
|
|
55
|
+
* The /install integration helper (Checkpoint 7.3e step 3) MUST resolve
|
|
56
|
+
* this path via the SettingsStore call shown above before invoking
|
|
57
|
+
* routeWorkflowSpecs.
|
|
58
|
+
*/
|
|
59
|
+
targetWorkflowSpecsDir: string;
|
|
60
|
+
}
|
|
61
|
+
/** One routed workflow_spec (or one rejection). */
|
|
62
|
+
export interface RoutedWorkflowSpecRecord {
|
|
63
|
+
/** Declared path from manifest.workflow_specs[]. */
|
|
64
|
+
declaredPath: string;
|
|
65
|
+
/** "routed" = copied successfully and scanner-visible.
|
|
66
|
+
* "missing" = source not in bundle (honest skip).
|
|
67
|
+
* "unsafe" = source escapes bundleRoot OR declared path has a non-YAML
|
|
68
|
+
* suffix the scanner will ignore (operator-invisible-by-construction).
|
|
69
|
+
* "conflict" = basename collision with an earlier routed entry — only
|
|
70
|
+
* the first such declared path is written; later ones flagged so the
|
|
71
|
+
* routed count stays truthful at the scanner-visible boundary (mirror
|
|
72
|
+
* of the slice's broader 3-part collision-error posture). */
|
|
73
|
+
status: "routed" | "missing" | "unsafe" | "conflict";
|
|
74
|
+
/** Where the workflow_spec landed in the target library (absolute path), if routed. */
|
|
75
|
+
installedAt?: string;
|
|
76
|
+
/** Human-readable detail (3-part error shape input for caller). */
|
|
77
|
+
detail?: string;
|
|
78
|
+
}
|
|
79
|
+
/** Aggregate routing result. */
|
|
80
|
+
export interface RouteWorkflowSpecsResult {
|
|
81
|
+
records: RoutedWorkflowSpecRecord[];
|
|
82
|
+
routedCount: number;
|
|
83
|
+
rejectedCount: number;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Route each declared workflow_spec from the bundle tree to the operator
|
|
87
|
+
* workflow-specs library. Per-entry safety: BOTH source path (under
|
|
88
|
+
* bundleRoot) AND target path (under targetWorkflowSpecsDir, post leading-
|
|
89
|
+
* prefix strip) are containment-checked. Banked both-sides-trust-boundary
|
|
90
|
+
* lesson applied. Caller writes the install audit record using the records
|
|
91
|
+
* returned here.
|
|
92
|
+
*/
|
|
93
|
+
export declare function routeWorkflowSpecs(input: RouteWorkflowSpecsInput, fs: WorkflowSpecsRouterFsOps): RouteWorkflowSpecsResult;
|
|
94
|
+
//# sourceMappingURL=bundle-workflow-specs-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-workflow-specs-router.d.ts","sourceRoot":"","sources":["../../src/domain/bundle-workflow-specs-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,wFAAwF;AACxF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,oCAAoC;AACpC,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;;;;;;;;;;OAiBG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,mDAAmD;AACnD,MAAM,WAAW,wBAAwB;IACvC,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;iEAO6D;IAC7D,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrD,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gCAAgC;AAChC,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,EAC9B,EAAE,EAAE,wBAAwB,GAC3B,wBAAwB,CA4G1B"}
|