@apnex/network-adapter 0.1.10 → 0.1.12
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/dist/bin/seed-skills.d.ts +42 -0
- package/dist/bin/seed-skills.js +177 -0
- package/dist/bin/seed-skills.js.map +1 -0
- package/dist/build-info.json +4 -4
- package/dist/control-plane/contracts.d.ts +99 -0
- package/dist/control-plane/contracts.js +22 -0
- package/dist/control-plane/contracts.js.map +1 -0
- package/dist/control-plane/index.d.ts +14 -0
- package/dist/control-plane/index.js +3 -0
- package/dist/control-plane/index.js.map +1 -0
- package/dist/control-plane/reconcile-loop.d.ts +50 -0
- package/dist/control-plane/reconcile-loop.js +83 -0
- package/dist/control-plane/reconcile-loop.js.map +1 -0
- package/dist/control-plane/spec-store.d.ts +29 -0
- package/dist/control-plane/spec-store.js +41 -0
- package/dist/control-plane/spec-store.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/kernel/handshake.js +38 -28
- package/dist/kernel/handshake.js.map +1 -1
- package/dist/prompt-format.js +11 -0
- package/dist/prompt-format.js.map +1 -1
- package/dist/skills/claude-skill-actuator.d.ts +28 -0
- package/dist/skills/claude-skill-actuator.js +147 -0
- package/dist/skills/claude-skill-actuator.js.map +1 -0
- package/dist/skills/contracts.d.ts +33 -0
- package/dist/skills/contracts.js +15 -0
- package/dist/skills/contracts.js.map +1 -0
- package/dist/skills/file-skill-ledger.d.ts +7 -0
- package/dist/skills/file-skill-ledger.js +38 -0
- package/dist/skills/file-skill-ledger.js.map +1 -0
- package/dist/skills/index.d.ts +15 -0
- package/dist/skills/index.js +6 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/manifest.d.ts +30 -0
- package/dist/skills/manifest.js +110 -0
- package/dist/skills/manifest.js.map +1 -0
- package/dist/skills/role-skill-source.d.ts +29 -0
- package/dist/skills/role-skill-source.js +20 -0
- package/dist/skills/role-skill-source.js.map +1 -0
- package/dist/skills/set-diff-gate.d.ts +20 -0
- package/dist/skills/set-diff-gate.js +24 -0
- package/dist/skills/set-diff-gate.js.map +1 -0
- package/dist/tool-manager/dispatch/dispatch.d.ts +26 -0
- package/dist/tool-manager/dispatch/dispatch.js +42 -1
- package/dist/tool-manager/dispatch/dispatch.js.map +1 -1
- package/dist/tool-manager/orchestrator/dispatcher.d.ts +10 -0
- package/dist/tool-manager/orchestrator/dispatcher.js +5 -1
- package/dist/tool-manager/orchestrator/dispatcher.js.map +1 -1
- package/package.json +4 -1
package/dist/index.js
CHANGED
|
@@ -37,7 +37,7 @@ export { parseHarnessManifest, loadHarnessManifest, serverCapabilitiesFromManife
|
|
|
37
37
|
// tool-bridge) consumes the SAME per-call behavior wrapper the MCP CallTool
|
|
38
38
|
// handler uses — without importing an MCP server. This is the concrete payoff of
|
|
39
39
|
// the Slice-B extraction: one dispatch authority, many last-mile bindings.
|
|
40
|
-
export { runToolDispatch } from "./tool-manager/dispatch/dispatch.js";
|
|
40
|
+
export { runToolDispatch, DEFAULT_TRANSIENT_DROP_RETRY, } from "./tool-manager/dispatch/dispatch.js";
|
|
41
41
|
// Slice C: dispatcher is the orchestrator (binding assembly); dispatch authority
|
|
42
42
|
// + OIS policy live under dispatch/; cache/reconcile/health under catalog/.
|
|
43
43
|
export { createSharedDispatcher, pendingKey, injectQueueItemId, assertHostWiringComplete, } from "./tool-manager/orchestrator/dispatcher.js";
|
|
@@ -60,4 +60,6 @@ export { appendNotification, buildPendingTaskNotification } from "./notification
|
|
|
60
60
|
// essentials keeps downstream consumers from needing a separate
|
|
61
61
|
// dependency declaration for the standard-pipeline pattern.
|
|
62
62
|
export { CognitivePipeline, CognitiveTelemetry, CircuitBreaker, HubUnavailableError, WriteCallDedup, DedupTimeoutError, ToolResultCache, FlushAllOnWriteStrategy, ToolDescriptionEnricher, ErrorNormalizer, NormalizedError, ResponseSummarizer, summarizeResult, buildPaginationHint, } from "@apnex/cognitive-layer";
|
|
63
|
+
// hcapskills0 build_core — the harness-neutral, resource-generic HCAP consumer core.
|
|
64
|
+
export * from "./control-plane/index.js";
|
|
63
65
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAYtE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,sEAAsE;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAW9D,4EAA4E;AAC5E,uEAAuE;AACvE,6EAA6E;AAC7E,uEAAuE;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAgB9D,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,yEAAyE;AACzE,oEAAoE;AACpE,qEAAqE;AAErE,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAY/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,WAAW,EACX,MAAM,EACN,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAGnC,2EAA2E;AAC3E,wEAAwE;AACxE,8EAA8E;AAC9E,2EAA2E;AAC3E,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAGrC,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAuBtC,0EAA0E;AAC1E,sEAAsE;AACtE,4EAA4E;AAC5E,iFAAiF;AACjF,2EAA2E;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAYtE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,sEAAsE;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAW9D,4EAA4E;AAC5E,uEAAuE;AACvE,6EAA6E;AAC7E,uEAAuE;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAgB9D,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,yEAAyE;AACzE,oEAAoE;AACpE,qEAAqE;AAErE,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAY/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,WAAW,EACX,MAAM,EACN,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAGnC,2EAA2E;AAC3E,wEAAwE;AACxE,8EAA8E;AAC9E,2EAA2E;AAC3E,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAGrC,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAuBtC,0EAA0E;AAC1E,sEAAsE;AACtE,4EAA4E;AAC5E,iFAAiF;AACjF,2EAA2E;AAC3E,OAAO,EACL,eAAe,EACf,4BAA4B,GAC7B,MAAM,qCAAqC,CAAC;AAO7C,iFAAiF;AACjF,4EAA4E;AAC5E,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,2CAA2C,CAAC;AAQnD,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,GACb,MAAM,8CAA8C,CAAC;AAMtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAS1F,gFAAgF;AAChF,6EAA6E;AAC7E,oBAAoB;AACpB,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAG7F,yDAAyD;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AAKlG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAGtF,uEAAuE;AAEvE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAInE,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAMzF,uEAAuE;AACvE,yDAAyD;AACzD,iEAAiE;AACjE,gEAAgE;AAChE,4DAA4D;AAE5D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AA2BhC,qFAAqF;AACrF,cAAc,0BAA0B,CAAC"}
|
package/dist/kernel/handshake.js
CHANGED
|
@@ -22,6 +22,31 @@ export const FATAL_CODES = new Set([
|
|
|
22
22
|
"agent_thrashing_detected",
|
|
23
23
|
"role_mismatch",
|
|
24
24
|
]);
|
|
25
|
+
function parseJsonObject(text) {
|
|
26
|
+
const parsed = JSON.parse(text);
|
|
27
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
28
|
+
return null;
|
|
29
|
+
return parsed;
|
|
30
|
+
}
|
|
31
|
+
function parseHandshakeBody(result) {
|
|
32
|
+
if (typeof result === "string") {
|
|
33
|
+
const body = parseJsonObject(result);
|
|
34
|
+
return body ? { body, envelopeError: false } : null;
|
|
35
|
+
}
|
|
36
|
+
if (!result || typeof result !== "object")
|
|
37
|
+
return null;
|
|
38
|
+
const r = result;
|
|
39
|
+
if (Array.isArray(r.content) && r.content[0]?.text) {
|
|
40
|
+
const body = parseJsonObject(r.content[0].text);
|
|
41
|
+
return body ? { body, envelopeError: r.isError === true } : null;
|
|
42
|
+
}
|
|
43
|
+
// Parsed-body-directly shape: executeTool unwraps the envelope on some
|
|
44
|
+
// transports (e.g. bun-serve-proxy / opencode), dropping the isError
|
|
45
|
+
// flag — so the body-level `ok:false` is the failure signal. mission-93:
|
|
46
|
+
// this unwrapped path is exactly why a role_mismatch rejection fell
|
|
47
|
+
// through to parse_failed + silent engineer/offline degrade for Steve.
|
|
48
|
+
return { body: r, envelopeError: false };
|
|
49
|
+
}
|
|
25
50
|
/**
|
|
26
51
|
* Parse an MCP CallTool result for a structured handshake error payload.
|
|
27
52
|
* Returns the fatal error if the result matches `{isError:true, content:[{text: <json>}]}`
|
|
@@ -29,24 +54,10 @@ export const FATAL_CODES = new Set([
|
|
|
29
54
|
*/
|
|
30
55
|
export function parseHandshakeError(result) {
|
|
31
56
|
try {
|
|
32
|
-
const
|
|
33
|
-
if (!
|
|
57
|
+
const parsed = parseHandshakeBody(result);
|
|
58
|
+
if (!parsed)
|
|
34
59
|
return null;
|
|
35
|
-
|
|
36
|
-
let envelopeError = false;
|
|
37
|
-
if (Array.isArray(r.content) && r.content[0]?.text) {
|
|
38
|
-
// {content:[{text:<json>}], isError} envelope shape.
|
|
39
|
-
body = JSON.parse(r.content[0].text);
|
|
40
|
-
envelopeError = r.isError === true;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
// Parsed-body-directly shape: executeTool unwraps the envelope on some
|
|
44
|
-
// transports (e.g. bun-serve-proxy / opencode), dropping the isError
|
|
45
|
-
// flag — so the body-level `ok:false` is the failure signal. mission-93:
|
|
46
|
-
// this unwrapped path is exactly why a role_mismatch rejection fell
|
|
47
|
-
// through to parse_failed + silent engineer/offline degrade for Steve.
|
|
48
|
-
body = r;
|
|
49
|
-
}
|
|
60
|
+
const { body, envelopeError } = parsed;
|
|
50
61
|
const isFailure = envelopeError || body.ok === false;
|
|
51
62
|
if (isFailure && typeof body.code === "string" && FATAL_CODES.has(body.code)) {
|
|
52
63
|
return { code: body.code, message: String(body.message ?? "") };
|
|
@@ -69,15 +80,10 @@ export function parseHandshakeError(result) {
|
|
|
69
80
|
*/
|
|
70
81
|
export function parseHandshakeResponse(result) {
|
|
71
82
|
try {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
body = text ? JSON.parse(text) : {};
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
body = r;
|
|
80
|
-
}
|
|
83
|
+
const parsed = parseHandshakeBody(result);
|
|
84
|
+
if (!parsed)
|
|
85
|
+
return null;
|
|
86
|
+
const { body } = parsed;
|
|
81
87
|
const agent = body.agent;
|
|
82
88
|
const session = body.session;
|
|
83
89
|
if (agent &&
|
|
@@ -217,11 +223,15 @@ export async function performHandshake(ctx) {
|
|
|
217
223
|
try {
|
|
218
224
|
const r = result;
|
|
219
225
|
let body = {};
|
|
220
|
-
if (
|
|
226
|
+
if (typeof result === "string") {
|
|
227
|
+
envelope = "raw-string";
|
|
228
|
+
body = parseJsonObject(result) ?? {};
|
|
229
|
+
}
|
|
230
|
+
else if (Array.isArray(r.content)) {
|
|
221
231
|
envelope = "content-array";
|
|
222
232
|
const text = r.content[0]
|
|
223
233
|
?.text;
|
|
224
|
-
body = text ?
|
|
234
|
+
body = text ? (parseJsonObject(text) ?? {}) : {};
|
|
225
235
|
}
|
|
226
236
|
else {
|
|
227
237
|
envelope = "raw-object";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/kernel/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IACtD,0BAA0B;IAC1B,eAAe;CAChB,CAAC,CAAC;AAqDH
|
|
1
|
+
{"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/kernel/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IACtD,0BAA0B;IAC1B,eAAe;CAChB,CAAC,CAAC;AAqDH,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,CAAC,GAAG,MAA6F,CAAC;IACxG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IAED,uEAAuE;IACvE,qEAAqE;IACrE,yEAAyE;IACzE,oEAAoE;IACpE,uEAAuE;IACvE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QACvC,MAAM,SAAS,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC;QACrD,IAAI,SAAS,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAe;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAA4C,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAA8C,CAAC;QACpE,IACE,KAAK;YACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;YAC5B,OAAO;YACP,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EACjC,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,YAAY,EAAE,OAAO,CAAC,KAAK;gBAC3B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;aACrC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA6ED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAuB,EAAE,SAAiB;IAC1E,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAuB,EAAE,YAAoB;IAChF,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAwB;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,GAAG,CACD,kHAAkH,CACnH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,GAAG,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAuB;IAC3D,MAAM,OAAO,GAAqB;QAChC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,cAAc,EAAE;YACd,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;YACvE,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;YACnF,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,QAAQ,EAAE;YACpB,QAAQ,EAAE,UAAU,EAAE;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,kEAAkE;YAClE,+DAA+D;YAC/D,+BAA+B;YAC/B,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;YACrF,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;YACzE,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;YAC/E,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;SACpE;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;SACvC;KACF,CAAC;IACF,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,IAAI,MAAM,CAAC,YAAY;QAAG,OAA8C,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC5G,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAAG,OAA8C,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1H,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAqB;IAErB,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,OAA6C,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,GAAG,CACL,kCAAkC,EAClC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACtB,iEAAiE,GAAG,EAAE,CACvE,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,CAAC,GAAG,CACL,uBAAuB,EACvB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAC5C,qBAAqB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CACpD,CAAC;QACF,IAAI,GAAG,CAAC,WAAW;YAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,qEAAqE;QACrE,qEAAqE;QACrE,8EAA8E;QAC9E,sEAAsE;QACtE,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,QAAQ,GAAG,MAAM,CAAC;QACtB,IAAI,eAAe,GAAG,MAAM,CAAC;QAC7B,IAAI,iBAAiB,GAAG,MAAM,CAAC;QAC/B,IAAI,iBAAiB,GAAG,QAAQ,CAAC;QACjC,IAAI,sBAAsB,GAAG,QAAQ,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAEiB,CAAC;YAC5B,IAAI,IAAI,GAA4B,EAAE,CAAC;YACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,QAAQ,GAAG,YAAY,CAAC;gBACxB,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAE,CAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,QAAQ,GAAG,eAAe,CAAC;gBAC3B,MAAM,IAAI,GAAI,CAA2C,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClE,EAAE,IAAI,CAAC;gBACT,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,YAAY,CAAC;gBACxB,IAAI,GAAG,CAA4B,CAAC;YACtC,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAgC,CAAC;qBACjE,IAAI,EAAE;qBACN,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC9E,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAkC,CAAC;qBACrE,IAAI,EAAE;qBACN,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,iBAAiB;gBACf,IAAI,CAAC,OAAO,KAAK,SAAS;oBACxB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI;wBACrB,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC;YAC5B,sBAAsB;gBACpB,IAAI,CAAC,YAAY,KAAK,SAAS;oBAC7B,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI;wBAC1B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,eAAgB,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrE,CAAC;QACD,GAAG,CAAC,GAAG,CACL,8BAA8B,EAC9B,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,EACrG,+CAA+C,CAChD,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;IACtD,CAAC;IAED,0EAA0E;IAC1E,oEAAoE;IACpE,sEAAsE;IACtE,oEAAoE;IACpE,mEAAmE;IACnE,oEAAoE;IACpE,yEAAyE;IACzE,sEAAsE;IACtE,uDAAuD;IACvD,EAAE;IACF,wEAAwE;IACxE,gEAAgE;IAChE,2CAA2C;IAC3C,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,GAAG,CACL,4BAA4B,EAC5B,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,YAAY,EAAE,EACtD,0CAA0C,GAAG,CAAC,aAAa,OAAO,QAAQ,CAAC,YAAY,4IAA4I,CACpO,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,GAAG,CACL,4BAA4B,EAC5B;QACE,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,QAAQ,CAAC,YAAY;QAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,EACD,6BAA6B,QAAQ,CAAC,OAAO,WAAW,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,CAChI,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAA0B,EAC1B,OAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAA2B,EACnF,OAAO,GAAG,GAAG;IAEb,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,CAAC;QACV,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/prompt-format.js
CHANGED
|
@@ -217,6 +217,17 @@ function renderMessageArrived(data, cfg) {
|
|
|
217
217
|
"(empty note body)";
|
|
218
218
|
const sender = msg.authorAgentId || "unknown";
|
|
219
219
|
const senderRole = msg.authorRole || "agent";
|
|
220
|
+
const replyExpected = payload.replyExpected;
|
|
221
|
+
const terminalAck = payload.terminalAck === true;
|
|
222
|
+
const noReplyExpected = replyExpected === false || terminalAck;
|
|
223
|
+
// mission-111 / stale_fyi0: explicit terminal-ACK/no-reply metadata makes
|
|
224
|
+
// a note ACK-only at render time. This is display-only; it does not resolve
|
|
225
|
+
// threads, complete work, or mutate substrate state.
|
|
226
|
+
if (noReplyExpected) {
|
|
227
|
+
const reason = terminalAck ? "terminalAck=true" : "replyExpected=false";
|
|
228
|
+
return (`[${senderRole}/${sender}] Note: ${body} ` +
|
|
229
|
+
`(Message ID: ${msgId}; ${reason}; no reply expected — claim/ack only unless current substrate state creates a separate action.)`);
|
|
230
|
+
}
|
|
220
231
|
// mission-66 W1+W2 commit 5b-final (architect-portion; canonical shape per
|
|
221
232
|
// hub/src/policy/note-schema.ts; see pulse-template comment above for context).
|
|
222
233
|
return (`[${senderRole}/${sender}] Note: ${body} ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-format.js","sourceRoot":"","sources":["../src/prompt-format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-format.js","sourceRoot":"","sources":["../src/prompt-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ResourceActuatorPort, ResourceSpec, ConvergeResult, ManagedObservation } from "../control-plane/contracts.js";
|
|
2
|
+
import type { SkillLedgerPort } from "./contracts.js";
|
|
3
|
+
export interface ClaudeSkillActuatorDeps {
|
|
4
|
+
/** the seat's skills root — $CLAUDE_CONFIG_DIR/skills (INJECTED by the bin; the
|
|
5
|
+
* shared package never reads env). Must exist (the bin creates it cold). */
|
|
6
|
+
skillsDir: string;
|
|
7
|
+
/** durable managed-set persistence (invariant 1). */
|
|
8
|
+
ledger: SkillLedgerPort;
|
|
9
|
+
log?: (msg: string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare class ClaudeSkillActuator implements ResourceActuatorPort {
|
|
12
|
+
private readonly skillsDir;
|
|
13
|
+
private readonly ledger;
|
|
14
|
+
private readonly log;
|
|
15
|
+
/** the DURABLE managed ledger, in memory for this pass — seeded from persistence at
|
|
16
|
+
* construct, written back after every converge. The ONLY set removal may touch. */
|
|
17
|
+
private readonly managed;
|
|
18
|
+
constructor(deps: ClaudeSkillActuatorDeps);
|
|
19
|
+
converge(desired: readonly ResourceSpec[]): ConvergeResult;
|
|
20
|
+
observeManaged(): ManagedObservation;
|
|
21
|
+
/** merge-copy sourceDir → skillsDir/<name>/ (mkdir -p + recursive force copy). */
|
|
22
|
+
private materialize;
|
|
23
|
+
/** unlink skillsDir/<name>/ — only ever called for a name IN the managed ledger. */
|
|
24
|
+
private unlink;
|
|
25
|
+
/** the managed-scoped on-disk observation: dirs under skillsDir that hold a SKILL.md
|
|
26
|
+
* AND are in our managed ledger. Never reports foreign/bootstrap/legacy skills. */
|
|
27
|
+
private readManagedOnDisk;
|
|
28
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* claude-skill-actuator.ts — ClaudeSkillActuator (hcapskills0 build_claude): the
|
|
3
|
+
* Claude SKILLS concrete `ResourceActuatorPort` impl. The mirror of `PiToolActuator`
|
|
4
|
+
* for a different (harness, kind): pi actuates tools via an in-process ExtensionAPI;
|
|
5
|
+
* this actuates skills via the FILESYSTEM claude watches ($CLAUDE_CONFIG_DIR/skills/).
|
|
6
|
+
*
|
|
7
|
+
* RUNTIME-FREE by construction — node:fs only, NO claude SDK — which is what lets the
|
|
8
|
+
* headless seed bin materialize skills before/without the claude runtime (design §5).
|
|
9
|
+
* The SOLE coupling to the claude skill surface (the fs layout + SKILL.md tree shape);
|
|
10
|
+
* skill-isms live here, NEVER in control-plane/ (the import-boundary test guards it).
|
|
11
|
+
*
|
|
12
|
+
* COEXISTENCE UNLINK SAFETY (design §9 firebreak; the load-bearing fleet-safety
|
|
13
|
+
* property during coexist with legacy `mission_kit_sync`, which writes the SAME dir):
|
|
14
|
+
* 1. The managed ledger is DURABLE (injected `SkillLedgerPort`; the bin file-backs
|
|
15
|
+
* it) — a fresh headless process each launch reconstructs its managed set.
|
|
16
|
+
* 2. Removal is STRICTLY ledger-scoped: the unlink set is `managed \ managedEnabled`,
|
|
17
|
+
* iterated over the persisted ledger — NEVER `readdir`. The actuator is
|
|
18
|
+
* structurally incapable of unlinking a path it did not itself materialize
|
|
19
|
+
* (bootstrap / user / mission_kit_sync skills are not in the ledger → untouchable).
|
|
20
|
+
* 3. Materialize is merge-copy (mkdir -p + recursive force copy), mirroring
|
|
21
|
+
* `mission_kit_sync`'s `cp` — a shared-name collision writes identical pinned
|
|
22
|
+
* content, never a split-brain.
|
|
23
|
+
*
|
|
24
|
+
* Seed-time materialize is race-free (the bin completes before `exec claude`, so the
|
|
25
|
+
* watcher is not yet running). Atomic temp-dir+rename is a DEFERRED refinement only
|
|
26
|
+
* the future mid-session dynamic path needs.
|
|
27
|
+
*/
|
|
28
|
+
import { cpSync, existsSync, mkdirSync, readdirSync, rmSync, statSync, } from "node:fs";
|
|
29
|
+
import { join } from "node:path";
|
|
30
|
+
export class ClaudeSkillActuator {
|
|
31
|
+
skillsDir;
|
|
32
|
+
ledger;
|
|
33
|
+
log;
|
|
34
|
+
/** the DURABLE managed ledger, in memory for this pass — seeded from persistence at
|
|
35
|
+
* construct, written back after every converge. The ONLY set removal may touch. */
|
|
36
|
+
managed;
|
|
37
|
+
constructor(deps) {
|
|
38
|
+
this.skillsDir = deps.skillsDir;
|
|
39
|
+
this.ledger = deps.ledger;
|
|
40
|
+
this.log = deps.log ?? (() => { });
|
|
41
|
+
this.managed = new Set(this.ledger.read());
|
|
42
|
+
}
|
|
43
|
+
converge(desired) {
|
|
44
|
+
const managedEnabled = desired.filter((s) => s.enabled).map((s) => s.name);
|
|
45
|
+
const managedEnabledSet = new Set(managedEnabled);
|
|
46
|
+
try {
|
|
47
|
+
// Level 1 — MATERIALIZE every enabled declared skill (merge-copy, idempotent).
|
|
48
|
+
// A materialize fault (missing source tree, unwritable target) is an actuation
|
|
49
|
+
// fault → status:"failed" so the seed bin can fail-closed (abort launch).
|
|
50
|
+
for (const spec of desired) {
|
|
51
|
+
if (!spec.enabled)
|
|
52
|
+
continue;
|
|
53
|
+
this.materialize(spec.name, spec.definition);
|
|
54
|
+
this.managed.add(spec.name); // ledger records only what we actually wrote
|
|
55
|
+
}
|
|
56
|
+
// Level 2 — REMOVE the set-subtraction, STRICTLY ledger-scoped (invariant 2):
|
|
57
|
+
// `managed \ managedEnabled` — a skill THIS actuator materialized in a prior
|
|
58
|
+
// pass that is no longer desired-enabled. We iterate the persisted ledger, NEVER
|
|
59
|
+
// readdir, so a foreign/bootstrap/mission_kit_sync skill (absent from the ledger)
|
|
60
|
+
// can never be unlinked. The set-diff gate (role_map ⊇ mks-delivered) is the
|
|
61
|
+
// second guarantee that an mks-delivered skill is never in this set.
|
|
62
|
+
for (const name of [...this.managed]) {
|
|
63
|
+
if (managedEnabledSet.has(name))
|
|
64
|
+
continue;
|
|
65
|
+
this.unlink(name);
|
|
66
|
+
this.managed.delete(name);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
// persist whatever we durably achieved before the fault (no ledger/disk skew).
|
|
71
|
+
this.ledger.write([...this.managed]);
|
|
72
|
+
return {
|
|
73
|
+
status: "failed",
|
|
74
|
+
klass: "actuate-failed",
|
|
75
|
+
detail: err?.message ?? String(err),
|
|
76
|
+
desiredManaged: managedEnabled,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
this.ledger.write([...this.managed]);
|
|
80
|
+
// Observe the MANAGED subset fresh off DISK (readdir ∩ managed). The filesystem is
|
|
81
|
+
// synchronous + authoritative, so a successful materialize is observable this pass
|
|
82
|
+
// → converged (no next-turn latency like pi; the claude WATCHER's async pickup is
|
|
83
|
+
// the harness's concern, not the actuator's convergence signal).
|
|
84
|
+
const observedManaged = this.readManagedOnDisk();
|
|
85
|
+
const status = sameSet(observedManaged, managedEnabled) ? "converged" : "pending";
|
|
86
|
+
return { status, desiredManaged: managedEnabled };
|
|
87
|
+
}
|
|
88
|
+
observeManaged() {
|
|
89
|
+
return {
|
|
90
|
+
observedManaged: this.readManagedOnDisk(),
|
|
91
|
+
managedNames: [...this.managed],
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/** merge-copy sourceDir → skillsDir/<name>/ (mkdir -p + recursive force copy). */
|
|
95
|
+
materialize(name, def) {
|
|
96
|
+
const sourceDir = def?.sourceDir;
|
|
97
|
+
if (typeof sourceDir !== "string" || sourceDir.length === 0) {
|
|
98
|
+
throw new Error(`skill '${name}': definition.sourceDir missing`);
|
|
99
|
+
}
|
|
100
|
+
if (!existsSync(join(sourceDir, "SKILL.md"))) {
|
|
101
|
+
throw new Error(`skill '${name}': source tree has no SKILL.md (${sourceDir}) — refusing to materialize an empty skill`);
|
|
102
|
+
}
|
|
103
|
+
const dest = join(this.skillsDir, name);
|
|
104
|
+
mkdirSync(dest, { recursive: true });
|
|
105
|
+
cpSync(sourceDir, dest, { recursive: true, force: true });
|
|
106
|
+
this.log(`[hcap-skills] materialized '${name}' → ${dest}`);
|
|
107
|
+
}
|
|
108
|
+
/** unlink skillsDir/<name>/ — only ever called for a name IN the managed ledger. */
|
|
109
|
+
unlink(name) {
|
|
110
|
+
const dest = join(this.skillsDir, name);
|
|
111
|
+
rmSync(dest, { recursive: true, force: true });
|
|
112
|
+
this.log(`[hcap-skills] unlinked managed skill '${name}' (no longer desired)`);
|
|
113
|
+
}
|
|
114
|
+
/** the managed-scoped on-disk observation: dirs under skillsDir that hold a SKILL.md
|
|
115
|
+
* AND are in our managed ledger. Never reports foreign/bootstrap/legacy skills. */
|
|
116
|
+
readManagedOnDisk() {
|
|
117
|
+
let entries;
|
|
118
|
+
try {
|
|
119
|
+
entries = readdirSync(this.skillsDir);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return []; // skillsDir absent (cold seat pre-mkdir) → nothing observed yet.
|
|
123
|
+
}
|
|
124
|
+
return entries.filter((name) => this.managed.has(name) &&
|
|
125
|
+
isDir(join(this.skillsDir, name)) &&
|
|
126
|
+
existsSync(join(this.skillsDir, name, "SKILL.md")));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function isDir(p) {
|
|
130
|
+
try {
|
|
131
|
+
return statSync(p).isDirectory();
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/** Order-independent set equality over string name lists. */
|
|
138
|
+
function sameSet(a, b) {
|
|
139
|
+
if (a.length !== b.length)
|
|
140
|
+
return false;
|
|
141
|
+
const sa = new Set(a);
|
|
142
|
+
for (const x of b)
|
|
143
|
+
if (!sa.has(x))
|
|
144
|
+
return false;
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=claude-skill-actuator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-skill-actuator.js","sourceRoot":"","sources":["../../src/skills/claude-skill-actuator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* skills/contracts.ts — skills-kind-LOCAL types (hcapskills0 build_claude). These are
|
|
3
|
+
* NOT part of the neutral control-plane/ Controller; they carry the skill-ism (a skill is a
|
|
4
|
+
* directory TREE materialized on a filesystem claude watches). The neutral Controller sees
|
|
5
|
+
* only `ResourceSpec` with an OPAQUE `definition` — here we pin what that opaque
|
|
6
|
+
* payload IS for the skills kind, and the ledger the actuator scopes itself with.
|
|
7
|
+
*
|
|
8
|
+
* Home rule (ratified 2026-07-13): an actuator lives at the LOWEST layer that can
|
|
9
|
+
* express its coupling. `ClaudeSkillActuator` is contract-coupled but RUNTIME-FREE
|
|
10
|
+
* (node:fs to a path claude watches; no claude SDK) → it lives in the shared package
|
|
11
|
+
* as a control-plane/ SIBLING, reachable by the headless seed bin — which is exactly
|
|
12
|
+
* what lets §5's entrypoint materialize skills before/without the claude runtime.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* The opaque `ResourceSpec.definition` payload for a skill: WHERE its SKILL.md tree is
|
|
16
|
+
* read from. The seed bin resolves this (a path inside the pinned-source clone); the
|
|
17
|
+
* actuator only materializes it (fs copy) — git/clone never enters the actuator.
|
|
18
|
+
*/
|
|
19
|
+
export interface SkillDefinition {
|
|
20
|
+
/** absolute path to the source `skills/<name>/` tree (contains SKILL.md; depth:2). */
|
|
21
|
+
sourceDir: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Persistence for the managed-skill LEDGER — the skill-ids THIS actuator has
|
|
25
|
+
* materialized. It scopes observe + removal to our OWN set, so a foreign/bootstrap
|
|
26
|
+
* skill or a legacy `mission_kit_sync`-copied skill is never mistaken for drift nor
|
|
27
|
+
* unlinked (the coexist firebreak, design §9). Cold seat ⇒ `read()` returns `[]`
|
|
28
|
+
* (the ledger is created empty on the first `write`).
|
|
29
|
+
*/
|
|
30
|
+
export interface SkillLedgerPort {
|
|
31
|
+
read(): string[];
|
|
32
|
+
write(names: readonly string[]): void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* skills/contracts.ts — skills-kind-LOCAL types (hcapskills0 build_claude). These are
|
|
3
|
+
* NOT part of the neutral control-plane/ Controller; they carry the skill-ism (a skill is a
|
|
4
|
+
* directory TREE materialized on a filesystem claude watches). The neutral Controller sees
|
|
5
|
+
* only `ResourceSpec` with an OPAQUE `definition` — here we pin what that opaque
|
|
6
|
+
* payload IS for the skills kind, and the ledger the actuator scopes itself with.
|
|
7
|
+
*
|
|
8
|
+
* Home rule (ratified 2026-07-13): an actuator lives at the LOWEST layer that can
|
|
9
|
+
* express its coupling. `ClaudeSkillActuator` is contract-coupled but RUNTIME-FREE
|
|
10
|
+
* (node:fs to a path claude watches; no claude SDK) → it lives in the shared package
|
|
11
|
+
* as a control-plane/ SIBLING, reachable by the headless seed bin — which is exactly
|
|
12
|
+
* what lets §5's entrypoint materialize skills before/without the claude runtime.
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/skills/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* file-skill-ledger.ts — FileSkillLedger (hcapskills0 build_claude, invariant 1): the
|
|
3
|
+
* DURABLE backing for the managed-skill ledger. A JSON sidecar the seed bin points at
|
|
4
|
+
* (kept OUTSIDE skillsDir so it never confuses claude's `<name>/SKILL.md` scanner).
|
|
5
|
+
* A fresh headless process each launch reconstructs its managed set from this file.
|
|
6
|
+
*
|
|
7
|
+
* Cold seat: the file is absent → `read()` returns `[]` (created empty on first write).
|
|
8
|
+
* Corrupt ledger: reads as EMPTY (fail-safe) — the actuator re-materializes its desired
|
|
9
|
+
* set + rewrites a clean ledger, and unlinks NOTHING (removal is managed-scoped and the
|
|
10
|
+
* managed set starts empty on an unreadable ledger; orphans are safe, missing skills are
|
|
11
|
+
* not). This is the deliberately-safe failure direction for the coexist firebreak.
|
|
12
|
+
*/
|
|
13
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
14
|
+
import { dirname } from "node:path";
|
|
15
|
+
export class FileSkillLedger {
|
|
16
|
+
path;
|
|
17
|
+
constructor(path) {
|
|
18
|
+
this.path = path;
|
|
19
|
+
}
|
|
20
|
+
read() {
|
|
21
|
+
if (!existsSync(this.path))
|
|
22
|
+
return [];
|
|
23
|
+
try {
|
|
24
|
+
const raw = JSON.parse(readFileSync(this.path, "utf8"));
|
|
25
|
+
if (!Array.isArray(raw?.managed))
|
|
26
|
+
return [];
|
|
27
|
+
return raw.managed.filter((n) => typeof n === "string");
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
write(names) {
|
|
34
|
+
mkdirSync(dirname(this.path), { recursive: true });
|
|
35
|
+
writeFileSync(this.path, `${JSON.stringify({ managed: [...names].sort() }, null, 2)}\n`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=file-skill-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-skill-ledger.js","sourceRoot":"","sources":["../../src/skills/file-skill-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C,IAAI;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAA0B,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAwB;QAC5B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,aAAa,CACX,IAAI,CAAC,IAAI,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC/D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* skills/ — the Claude SKILLS kind-module (hcapskills0 build_claude): the SECOND kind
|
|
3
|
+
* composed onto the neutral control-plane/ Controller (the FIRST being pi-tools, in
|
|
4
|
+
* adapters/pi-plugin). Contains the ClaudeSkillActuator (outbound edge-seam) +
|
|
5
|
+
* RoleSkillSource (inbound) + the wanted-bundles manifest expansion + the durable
|
|
6
|
+
* ledger. Skill-isms (node:fs, SKILL.md layout, the managed ledger) live HERE — NEVER
|
|
7
|
+
* in control-plane/ (the import-boundary test guards that). The Controller still depends
|
|
8
|
+
* only on ResourceActuatorPort; the seed bin constructs + injects this actuator.
|
|
9
|
+
*/
|
|
10
|
+
export type { SkillDefinition, SkillLedgerPort } from "./contracts.js";
|
|
11
|
+
export { ClaudeSkillActuator, type ClaudeSkillActuatorDeps, } from "./claude-skill-actuator.js";
|
|
12
|
+
export { FileSkillLedger } from "./file-skill-ledger.js";
|
|
13
|
+
export { RoleSkillSource, type RoleSkillSourceDeps } from "./role-skill-source.js";
|
|
14
|
+
export { parseWantedBundles, parseBundleSkills, expandWantedBundles, type WantedBundles, } from "./manifest.js";
|
|
15
|
+
export { missingFromRoleMap } from "./set-diff-gate.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ClaudeSkillActuator, } from "./claude-skill-actuator.js";
|
|
2
|
+
export { FileSkillLedger } from "./file-skill-ledger.js";
|
|
3
|
+
export { RoleSkillSource } from "./role-skill-source.js";
|
|
4
|
+
export { parseWantedBundles, parseBundleSkills, expandWantedBundles, } from "./manifest.js";
|
|
5
|
+
export { missingFromRoleMap } from "./set-diff-gate.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,mBAAmB,GAEpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAA4B,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* manifest.ts — wanted-bundles.yaml parsing + MECHANICAL bundle-expand (hcapskills0
|
|
3
|
+
* build_claude, design §5). Pure functions, NO fs/env/git (the seed bin reads files
|
|
4
|
+
* and injects a bundle-reader). No yaml dependency — a focused subset parser for the
|
|
5
|
+
* manifest shape we own (mirrors ois `_mk_yaml_scalar` / `_mk_yaml_list`), matching the
|
|
6
|
+
* pinned-source contract so the derived role-map is exactly the set legacy delivers.
|
|
7
|
+
*
|
|
8
|
+
* Format (ois/manifests/skill-sync/wanted-bundles.yaml):
|
|
9
|
+
* source_repo: <git url>
|
|
10
|
+
* source_ref: <sha> # PINNED for reproducibility
|
|
11
|
+
* bundles: [] | - <name> # resolved via <clone>/bundles/<name>.yaml `skills:`
|
|
12
|
+
* extra_skills: - <name> # individual skill via <clone>/skills/<name>/SKILL.md
|
|
13
|
+
*/
|
|
14
|
+
export interface WantedBundles {
|
|
15
|
+
sourceRepo: string;
|
|
16
|
+
sourceRef: string;
|
|
17
|
+
bundles: string[];
|
|
18
|
+
extraSkills: string[];
|
|
19
|
+
}
|
|
20
|
+
/** Parse the top-level manifest (pure). */
|
|
21
|
+
export declare function parseWantedBundles(text: string): WantedBundles;
|
|
22
|
+
/** Parse a bundle file's `skills:` list (pure). */
|
|
23
|
+
export declare function parseBundleSkills(text: string): string[];
|
|
24
|
+
/**
|
|
25
|
+
* The MECHANICAL expansion: bundle skills (resolved via the injected reader) ∪
|
|
26
|
+
* extra_skills, deduped + ordered. `readBundleSkills` reads `<clone>/bundles/<b>.yaml`
|
|
27
|
+
* — injected by the bin so this stays fs-free. Slice-1 manifest has `bundles: []`, so
|
|
28
|
+
* only extra_skills contribute today; the bundle path is implemented for the general case.
|
|
29
|
+
*/
|
|
30
|
+
export declare function expandWantedBundles(manifest: WantedBundles, readBundleSkills: (bundleName: string) => string[]): string[];
|