@kynetic-ai/spec 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/acp/client.d.ts +6 -1
- package/dist/acp/client.d.ts.map +1 -1
- package/dist/acp/client.js +7 -2
- package/dist/acp/client.js.map +1 -1
- package/dist/acp/framing.d.ts +12 -1
- package/dist/acp/framing.d.ts.map +1 -1
- package/dist/acp/framing.js +27 -4
- package/dist/acp/framing.js.map +1 -1
- package/dist/agent-runtime/dispatch.d.ts +261 -0
- package/dist/agent-runtime/dispatch.d.ts.map +1 -0
- package/dist/agent-runtime/dispatch.js +791 -0
- package/dist/agent-runtime/dispatch.js.map +1 -0
- package/dist/agent-runtime/index.d.ts +11 -0
- package/dist/agent-runtime/index.d.ts.map +1 -0
- package/dist/agent-runtime/index.js +11 -0
- package/dist/agent-runtime/index.js.map +1 -0
- package/dist/agent-runtime/invocation.d.ts +86 -0
- package/dist/agent-runtime/invocation.d.ts.map +1 -0
- package/dist/agent-runtime/invocation.js +442 -0
- package/dist/agent-runtime/invocation.js.map +1 -0
- package/dist/agent-runtime/prompts.d.ts +50 -0
- package/dist/agent-runtime/prompts.d.ts.map +1 -0
- package/dist/agent-runtime/prompts.js +108 -0
- package/dist/agent-runtime/prompts.js.map +1 -0
- package/dist/agents/spawner.d.ts.map +1 -1
- package/dist/agents/spawner.js +60 -4
- package/dist/agents/spawner.js.map +1 -1
- package/dist/cli/batch-exec.d.ts.map +1 -1
- package/dist/cli/batch-exec.js +140 -62
- package/dist/cli/batch-exec.js.map +1 -1
- package/dist/cli/batch-write-buffer.d.ts +141 -0
- package/dist/cli/batch-write-buffer.d.ts.map +1 -0
- package/dist/cli/batch-write-buffer.js +400 -0
- package/dist/cli/batch-write-buffer.js.map +1 -0
- package/dist/cli/commands/agent.d.ts +20 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +831 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/inbox.d.ts.map +1 -1
- package/dist/cli/commands/inbox.js +46 -22
- package/dist/cli/commands/inbox.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/item.d.ts.map +1 -1
- package/dist/cli/commands/item.js +22 -16
- package/dist/cli/commands/item.js.map +1 -1
- package/dist/cli/commands/log.js +1 -1
- package/dist/cli/commands/log.js.map +1 -1
- package/dist/cli/commands/meta.d.ts.map +1 -1
- package/dist/cli/commands/meta.js +159 -6
- package/dist/cli/commands/meta.js.map +1 -1
- package/dist/cli/commands/module.d.ts.map +1 -1
- package/dist/cli/commands/module.js +2 -1
- package/dist/cli/commands/module.js.map +1 -1
- package/dist/cli/commands/plan-import.js +19 -3
- package/dist/cli/commands/plan-import.js.map +1 -1
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js +87 -43
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/ralph.d.ts +5 -56
- package/dist/cli/commands/ralph.d.ts.map +1 -1
- package/dist/cli/commands/ralph.js +52 -1502
- package/dist/cli/commands/ralph.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +22 -13
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +70 -11
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/session/checkpoint.d.ts.map +1 -1
- package/dist/cli/commands/session/checkpoint.js +7 -2
- package/dist/cli/commands/session/checkpoint.js.map +1 -1
- package/dist/cli/commands/session/commands.d.ts.map +1 -1
- package/dist/cli/commands/session/commands.js +15 -0
- package/dist/cli/commands/session/commands.js.map +1 -1
- package/dist/cli/commands/session/context.d.ts.map +1 -1
- package/dist/cli/commands/session/context.js +10 -5
- package/dist/cli/commands/session/context.js.map +1 -1
- package/dist/cli/commands/session/log.d.ts +1 -0
- package/dist/cli/commands/session/log.d.ts.map +1 -1
- package/dist/cli/commands/session/log.js +124 -8
- package/dist/cli/commands/session/log.js.map +1 -1
- package/dist/cli/commands/session/stale-close.d.ts +17 -0
- package/dist/cli/commands/session/stale-close.d.ts.map +1 -0
- package/dist/cli/commands/session/stale-close.js +378 -0
- package/dist/cli/commands/session/stale-close.js.map +1 -0
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +95 -0
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skill-crud.d.ts.map +1 -1
- package/dist/cli/commands/skill-crud.js +4 -3
- package/dist/cli/commands/skill-crud.js.map +1 -1
- package/dist/cli/commands/skill-diff.d.ts.map +1 -1
- package/dist/cli/commands/skill-diff.js +15 -0
- package/dist/cli/commands/skill-diff.js.map +1 -1
- package/dist/cli/commands/skill-install.d.ts.map +1 -1
- package/dist/cli/commands/skill-install.js +50 -18
- package/dist/cli/commands/skill-install.js.map +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +536 -310
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/tasks.js +1 -1
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/commands/triage.d.ts.map +1 -1
- package/dist/cli/commands/triage.js +37 -13
- package/dist/cli/commands/triage.js.map +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +65 -25
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/help/content.d.ts.map +1 -1
- package/dist/cli/help/content.js +5 -0
- package/dist/cli/help/content.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +5 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/daemon/project-context.ts +22 -0
- package/dist/daemon/routes/agent-dispatch.ts +272 -0
- package/dist/daemon/server.ts +55 -20
- package/dist/daemon/websocket/handler.ts +67 -6
- package/dist/daemon/websocket/lifecycle.ts +19 -0
- package/dist/daemon/websocket/pubsub.ts +74 -3
- package/dist/export/html.d.ts.map +1 -1
- package/dist/export/html.js +5 -2
- package/dist/export/html.js.map +1 -1
- package/dist/export/triage.d.ts +1 -1
- package/dist/export/triage.d.ts.map +1 -1
- package/dist/export/triage.js +5 -3
- package/dist/export/triage.js.map +1 -1
- package/dist/parser/alignment.d.ts.map +1 -1
- package/dist/parser/alignment.js +6 -3
- package/dist/parser/alignment.js.map +1 -1
- package/dist/parser/assess.js +1 -1
- package/dist/parser/assess.js.map +1 -1
- package/dist/parser/config.d.ts +6 -6
- package/dist/parser/meta.d.ts.map +1 -1
- package/dist/parser/meta.js +9 -8
- package/dist/parser/meta.js.map +1 -1
- package/dist/parser/plan-document.d.ts +12 -12
- package/dist/parser/plans.d.ts +7 -0
- package/dist/parser/plans.d.ts.map +1 -1
- package/dist/parser/plans.js +100 -15
- package/dist/parser/plans.js.map +1 -1
- package/dist/parser/refs.d.ts +5 -0
- package/dist/parser/refs.d.ts.map +1 -1
- package/dist/parser/refs.js +17 -12
- package/dist/parser/refs.js.map +1 -1
- package/dist/parser/shadow.d.ts +1 -1
- package/dist/parser/shadow.d.ts.map +1 -1
- package/dist/parser/shadow.js +71 -4
- package/dist/parser/shadow.js.map +1 -1
- package/dist/parser/skill-render.d.ts.map +1 -1
- package/dist/parser/skill-render.js +6 -3
- package/dist/parser/skill-render.js.map +1 -1
- package/dist/parser/validate.d.ts.map +1 -1
- package/dist/parser/validate.js +35 -76
- package/dist/parser/validate.js.map +1 -1
- package/dist/parser/yaml.d.ts +24 -5
- package/dist/parser/yaml.d.ts.map +1 -1
- package/dist/parser/yaml.js +224 -64
- package/dist/parser/yaml.js.map +1 -1
- package/dist/schema/meta.d.ts +442 -119
- package/dist/schema/meta.d.ts.map +1 -1
- package/dist/schema/meta.js +55 -0
- package/dist/schema/meta.js.map +1 -1
- package/dist/schema/plan.d.ts +22 -22
- package/dist/schema/spec.d.ts +39 -39
- package/dist/schema/task.d.ts +43 -32
- package/dist/schema/task.d.ts.map +1 -1
- package/dist/schema/task.js +5 -0
- package/dist/schema/task.js.map +1 -1
- package/dist/sessions/store.d.ts +112 -0
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +414 -22
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/types.d.ts +75 -17
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/sessions/types.js +51 -1
- package/dist/sessions/types.js.map +1 -1
- package/dist/triage/actions.d.ts +1 -0
- package/dist/triage/actions.d.ts.map +1 -1
- package/dist/triage/actions.js +34 -7
- package/dist/triage/actions.js.map +1 -1
- package/dist/utils/commit.js +1 -1
- package/dist/utils/commit.js.map +1 -1
- package/dist/web-ui/_app/env.js +1 -0
- package/dist/web-ui/_app/immutable/assets/0.BxCxvrZR.css +1 -0
- package/dist/web-ui/_app/immutable/assets/select-trigger.CV-KWLNP.css +1 -0
- package/dist/web-ui/_app/immutable/chunks/B-CZR0q8.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/B1IR5Su5.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BCkp8Hs8.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/B_Cvvtc4.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BtFaGGII.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/Bu8JVsCH.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/C87u-CNA.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/CrFkBTYp.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/D1ArdqNb.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/D28BF5MJ.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/D6RtLpzL.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/D7FHSgx2.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DBXrsxZQ.js +2 -0
- package/dist/web-ui/_app/immutable/chunks/Da_hHMuA.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/Do6LchSF.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DoNPtcAw.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DtUbXRZz.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DyFPRlLl.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DzAP8lRM.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DzVXElzN.js +2 -0
- package/dist/web-ui/_app/immutable/chunks/aoPBFken.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/i-XnOIX0.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/laxtrUO3.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/q1nIWgqB.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/sTLbk5Nm.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/vwKgQu5P.js +5 -0
- package/dist/web-ui/_app/immutable/entry/app.BCwMcqnT.js +2 -0
- package/dist/web-ui/_app/immutable/entry/start.wKCQH-tt.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/0.CjGVMG74.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/1.B6_AIPan.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/2.q4oCS7Ws.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/3.rTKZf9o2.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/4.DVIDRu1d.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/5.8PtPXIOd.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/6.ZZrTemy_.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/7.IP-gxCxi.js +1 -0
- package/dist/web-ui/_app/version.json +1 -0
- package/dist/web-ui/index.html +36 -0
- package/dist/web-ui/robots.txt +3 -0
- package/package.json +3 -2
- package/plugin/.claude-plugin/marketplace.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/plugins/kspec/skills/task-work/SKILL.md +25 -2
- package/templates/agents-sections/06-ralph-loop.md +64 -11
- package/templates/skills/task-work/SKILL.md +25 -2
- package/dist/ralph/cli-renderer.d.ts +0 -27
- package/dist/ralph/cli-renderer.d.ts.map +0 -1
- package/dist/ralph/cli-renderer.js +0 -250
- package/dist/ralph/cli-renderer.js.map +0 -1
- package/dist/ralph/events.d.ts +0 -65
- package/dist/ralph/events.d.ts.map +0 -1
- package/dist/ralph/events.js +0 -600
- package/dist/ralph/events.js.map +0 -1
- package/dist/ralph/index.d.ts +0 -11
- package/dist/ralph/index.d.ts.map +0 -1
- package/dist/ralph/index.js +0 -16
- package/dist/ralph/index.js.map +0 -1
- package/dist/ralph/loop-errors.d.ts +0 -83
- package/dist/ralph/loop-errors.d.ts.map +0 -1
- package/dist/ralph/loop-errors.js +0 -150
- package/dist/ralph/loop-errors.js.map +0 -1
- package/dist/ralph/subagent.d.ts +0 -127
- package/dist/ralph/subagent.d.ts.map +0 -1
- package/dist/ralph/subagent.js +0 -268
- package/dist/ralph/subagent.js.map +0 -1
- package/dist/ralph/wrap-up.d.ts +0 -127
- package/dist/ralph/wrap-up.d.ts.map +0 -1
- package/dist/ralph/wrap-up.js +0 -271
- package/dist/ralph/wrap-up.js.map +0 -1
package/README.md
CHANGED
|
@@ -301,11 +301,12 @@ kspec validate --alignment # Spec-task alignment
|
|
|
301
301
|
kspec validate --completeness # Spec completeness
|
|
302
302
|
kspec validate --orphans # Orphaned items
|
|
303
303
|
kspec validate --strict # Treat warnings as errors
|
|
304
|
+
kspec validate --warnings-ok # Treat warnings-only as success (exit 0)
|
|
304
305
|
kspec validate --fix # Auto-fix (invalid ULIDs, missing timestamps)
|
|
305
306
|
kspec validate -v # Verbose output
|
|
306
307
|
```
|
|
307
308
|
|
|
308
|
-
**Exit codes:** `0` = success, `4` = validation errors, `6` = warnings only.
|
|
309
|
+
**Exit codes:** `0` = success, `4` = validation errors, `6` = warnings only (unless `--warnings-ok`).
|
|
309
310
|
|
|
310
311
|
## Session Log
|
|
311
312
|
|
package/dist/acp/client.d.ts
CHANGED
|
@@ -170,8 +170,13 @@ export declare class ACPClient extends EventEmitter {
|
|
|
170
170
|
* Close the client connection
|
|
171
171
|
*
|
|
172
172
|
* Rejects any pending requests and cleans up resources.
|
|
173
|
+
*
|
|
174
|
+
* @param reason - Optional reason message for pending request rejections.
|
|
175
|
+
* Defaults to "JsonRpcFraming closed". Pass process exit info here so
|
|
176
|
+
* callers see "Subagent process exited with signal SIGKILL" instead of
|
|
177
|
+
* the opaque framing error.
|
|
173
178
|
*/
|
|
174
|
-
close(): void;
|
|
179
|
+
close(reason?: string): void;
|
|
175
180
|
/**
|
|
176
181
|
* Handle incoming notifications from the agent
|
|
177
182
|
*/
|
package/dist/acp/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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"}
|
package/dist/acp/client.js
CHANGED
|
@@ -265,10 +265,15 @@ export class ACPClient extends EventEmitter {
|
|
|
265
265
|
* Close the client connection
|
|
266
266
|
*
|
|
267
267
|
* Rejects any pending requests and cleans up resources.
|
|
268
|
+
*
|
|
269
|
+
* @param reason - Optional reason message for pending request rejections.
|
|
270
|
+
* Defaults to "JsonRpcFraming closed". Pass process exit info here so
|
|
271
|
+
* callers see "Subagent process exited with signal SIGKILL" instead of
|
|
272
|
+
* the opaque framing error.
|
|
268
273
|
*/
|
|
269
|
-
close() {
|
|
274
|
+
close(reason) {
|
|
270
275
|
this.sessions.clear();
|
|
271
|
-
this.framing.close();
|
|
276
|
+
this.framing.close(reason);
|
|
272
277
|
}
|
|
273
278
|
/**
|
|
274
279
|
* Handle incoming notifications from the agent
|
package/dist/acp/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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"}
|
package/dist/acp/framing.d.ts
CHANGED
|
@@ -68,8 +68,12 @@ export declare class JsonRpcFraming extends EventEmitter {
|
|
|
68
68
|
sendError(id: string | number | null, error: JsonRpcErrorObject): void;
|
|
69
69
|
/**
|
|
70
70
|
* Close the framing layer
|
|
71
|
+
*
|
|
72
|
+
* @param reason - Optional reason message for pending request rejections.
|
|
73
|
+
* Defaults to "JsonRpcFraming closed". Use this to surface process exit
|
|
74
|
+
* information (e.g., "Subagent process exited with signal SIGKILL").
|
|
71
75
|
*/
|
|
72
|
-
close(): void;
|
|
76
|
+
close(reason?: string): void;
|
|
73
77
|
/**
|
|
74
78
|
* Check if the framing layer is closed
|
|
75
79
|
*/
|
|
@@ -115,5 +119,12 @@ export declare class JsonRpcFraming extends EventEmitter {
|
|
|
115
119
|
* Handle stdin error
|
|
116
120
|
*/
|
|
117
121
|
private handleError;
|
|
122
|
+
/**
|
|
123
|
+
* Handle stdout write/pipe errors.
|
|
124
|
+
*
|
|
125
|
+
* EPIPE (or destroyed stream) means the peer is gone. Treat this as a
|
|
126
|
+
* closed connection instead of surfacing an uncaught exception.
|
|
127
|
+
*/
|
|
128
|
+
private handleOutputError;
|
|
118
129
|
}
|
|
119
130
|
//# sourceMappingURL=framing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framing.d.ts","sourceRoot":"","sources":["../../src/acp/framing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAEV,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA2BD;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,qBAA0B;
|
|
1
|
+
{"version":3,"file":"framing.d.ts","sourceRoot":"","sources":["../../src/acp/framing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAEV,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA2BD;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,qBAA0B;IAuB/C;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,OAAO,CAAC;IA2CnB;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAcxD;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAcxD;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI;IActE;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB5B;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,IAAI;IAUZ;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuC3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}
|
package/dist/acp/framing.js
CHANGED
|
@@ -51,6 +51,7 @@ export class JsonRpcFraming extends EventEmitter {
|
|
|
51
51
|
this.stdin.on("data", (chunk) => this.handleData(chunk.toString()));
|
|
52
52
|
this.stdin.on("end", () => this.handleEnd());
|
|
53
53
|
this.stdin.on("error", (err) => this.handleError(err));
|
|
54
|
+
this.stdout.on("error", (err) => this.handleOutputError(err));
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* Send a JSON-RPC request and wait for response
|
|
@@ -132,15 +133,20 @@ export class JsonRpcFraming extends EventEmitter {
|
|
|
132
133
|
}
|
|
133
134
|
/**
|
|
134
135
|
* Close the framing layer
|
|
136
|
+
*
|
|
137
|
+
* @param reason - Optional reason message for pending request rejections.
|
|
138
|
+
* Defaults to "JsonRpcFraming closed". Use this to surface process exit
|
|
139
|
+
* information (e.g., "Subagent process exited with signal SIGKILL").
|
|
135
140
|
*/
|
|
136
|
-
close() {
|
|
141
|
+
close(reason) {
|
|
137
142
|
if (this.closed)
|
|
138
143
|
return;
|
|
139
144
|
this.closed = true;
|
|
145
|
+
const errorMessage = reason ?? "JsonRpcFraming closed";
|
|
140
146
|
// Reject all pending requests
|
|
141
147
|
for (const [id, pending] of this.pending.entries()) {
|
|
142
148
|
clearTimeout(pending.timer);
|
|
143
|
-
pending.reject(new Error(
|
|
149
|
+
pending.reject(new Error(errorMessage));
|
|
144
150
|
this.pending.delete(id);
|
|
145
151
|
}
|
|
146
152
|
this.emit("close");
|
|
@@ -174,12 +180,12 @@ export class JsonRpcFraming extends EventEmitter {
|
|
|
174
180
|
* Send a JSON-RPC message
|
|
175
181
|
*/
|
|
176
182
|
send(message) {
|
|
183
|
+
const json = JSON.stringify(message);
|
|
177
184
|
try {
|
|
178
|
-
const json = JSON.stringify(message);
|
|
179
185
|
this.stdout.write(`${json}\n`);
|
|
180
186
|
}
|
|
181
187
|
catch (err) {
|
|
182
|
-
|
|
188
|
+
this.handleOutputError(err);
|
|
183
189
|
}
|
|
184
190
|
}
|
|
185
191
|
/**
|
|
@@ -306,5 +312,22 @@ export class JsonRpcFraming extends EventEmitter {
|
|
|
306
312
|
this.emit("error", err);
|
|
307
313
|
this.close();
|
|
308
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* Handle stdout write/pipe errors.
|
|
317
|
+
*
|
|
318
|
+
* EPIPE (or destroyed stream) means the peer is gone. Treat this as a
|
|
319
|
+
* closed connection instead of surfacing an uncaught exception.
|
|
320
|
+
*/
|
|
321
|
+
handleOutputError(err) {
|
|
322
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
323
|
+
const code = error.code;
|
|
324
|
+
if (code === "EPIPE" || code === "ERR_STREAM_DESTROYED") {
|
|
325
|
+
this.close();
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
console.error(`Stdout error: ${error.message}`);
|
|
329
|
+
this.emit("error", error);
|
|
330
|
+
this.close();
|
|
331
|
+
}
|
|
309
332
|
}
|
|
310
333
|
//# sourceMappingURL=framing.js.map
|
package/dist/acp/framing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framing.js","sourceRoot":"","sources":["../../src/acp/framing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA2C5E;;;GAGG;AACH,MAAM,uBAAuB,GAA2B;IACtD,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;IAC7C,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;CAC9C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IACtC,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IACrD,OAAO,CAAS;IAChB,cAAc,CAAyB;IACvC,KAAK,CAAwB;IAC7B,MAAM,CAAwB;IAC9B,MAAM,GAAG,EAAE,CAAC;IACZ,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,UAAiC,EAAE;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,6DAA6D;QAC7D,IAAI,CAAC,cAAc,GAAG;YACpB,GAAG,uBAAuB;YAC1B,GAAG,OAAO,CAAC,cAAc;SAC1B,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAE/C,+BAA+B;QAC/B,IAAI,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,KAA2B,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAC/C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAClC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"framing.js","sourceRoot":"","sources":["../../src/acp/framing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Dispatch Engine
|
|
3
|
+
*
|
|
4
|
+
* Core dispatch runtime for the daemon. Watches for task state changes via
|
|
5
|
+
* file watcher events and direct API event emission from CLI commands. Matches
|
|
6
|
+
* state changes against agent dispatch rules, queues invocations, manages
|
|
7
|
+
* concurrency, and handles deduplication of events from dual sources.
|
|
8
|
+
* Serializes shadow branch mutations when multiple agents run concurrently.
|
|
9
|
+
*
|
|
10
|
+
* AC: @agent-dispatch-engine ac-1 through ac-12
|
|
11
|
+
*/
|
|
12
|
+
import { type LoadedTask } from "../parser/index.js";
|
|
13
|
+
/**
|
|
14
|
+
* A minimal promise-based mutex for serializing async operations.
|
|
15
|
+
* AC: @agent-dispatch-engine ac-12
|
|
16
|
+
*/
|
|
17
|
+
declare class Mutex {
|
|
18
|
+
private _queue;
|
|
19
|
+
private _locked;
|
|
20
|
+
runExclusive<T>(fn: () => Promise<T>): Promise<T>;
|
|
21
|
+
private _acquire;
|
|
22
|
+
private _release;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Task state as used for dispatch tracking.
|
|
26
|
+
*/
|
|
27
|
+
export type TaskStatus = "pending" | "in_progress" | "pending_review" | "needs_work" | "blocked" | "completed" | "cancelled";
|
|
28
|
+
/**
|
|
29
|
+
* Interpolate {{variable}} placeholders in a prompt template.
|
|
30
|
+
* Unresolved variables pass through unchanged.
|
|
31
|
+
*
|
|
32
|
+
* AC: @agent-dispatch-engine ac-16
|
|
33
|
+
*/
|
|
34
|
+
export declare function interpolateTemplate(template: string, vars: Record<string, string>): string;
|
|
35
|
+
/**
|
|
36
|
+
* Build orientation context block for a dispatch prompt.
|
|
37
|
+
* Provides the agent with task title, trigger meaning, and relevant context.
|
|
38
|
+
*
|
|
39
|
+
* AC: @agent-dispatch-engine ac-13, ac-14, ac-15
|
|
40
|
+
*/
|
|
41
|
+
export declare function buildOrientationContext(taskRef: string, trigger: string, task?: {
|
|
42
|
+
title: string;
|
|
43
|
+
notes?: Array<{
|
|
44
|
+
created_at: string;
|
|
45
|
+
author?: string;
|
|
46
|
+
content: string;
|
|
47
|
+
}>;
|
|
48
|
+
review_url?: string;
|
|
49
|
+
}): string;
|
|
50
|
+
/**
|
|
51
|
+
* A state change event for a single task.
|
|
52
|
+
*/
|
|
53
|
+
export interface TaskStateChange {
|
|
54
|
+
taskId: string;
|
|
55
|
+
taskRef: string;
|
|
56
|
+
fromStatus: TaskStatus;
|
|
57
|
+
toStatus: TaskStatus;
|
|
58
|
+
timestamp: number;
|
|
59
|
+
/** Optional task data used for filter evaluation (AC-6) */
|
|
60
|
+
task?: LoadedTask;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Invocation lifecycle event payload.
|
|
64
|
+
* AC: @daemon-agent-dispatch ac-3, ac-4
|
|
65
|
+
*/
|
|
66
|
+
export interface InvocationEvent {
|
|
67
|
+
type: "started" | "completed" | "failed";
|
|
68
|
+
session_id: string;
|
|
69
|
+
agent_id: string;
|
|
70
|
+
task_id: string | undefined;
|
|
71
|
+
status: "started" | "completed" | "failed";
|
|
72
|
+
timestamp: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Options for creating a DispatchEngine.
|
|
76
|
+
*/
|
|
77
|
+
export interface DispatchEngineOptions {
|
|
78
|
+
/** Project root directory */
|
|
79
|
+
projectDir: string;
|
|
80
|
+
/**
|
|
81
|
+
* Spec directory (.kspec/ for shadow mode, or same as projectDir for traditional mode).
|
|
82
|
+
* Defaults to projectDir/.kspec if not specified.
|
|
83
|
+
*/
|
|
84
|
+
specDir?: string;
|
|
85
|
+
/** Working directory for spawned agents */
|
|
86
|
+
cwd?: string;
|
|
87
|
+
/** Deduplication window in milliseconds (default 2000) */
|
|
88
|
+
dedupWindowMs?: number;
|
|
89
|
+
/** Path to kspec CLI binary (for task notes) */
|
|
90
|
+
kspecCliPath?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Optional callback invoked on invocation lifecycle events (start, complete, fail).
|
|
93
|
+
* AC: @daemon-agent-dispatch ac-3, ac-4
|
|
94
|
+
*/
|
|
95
|
+
onInvocationEvent?: (event: InvocationEvent) => void;
|
|
96
|
+
/**
|
|
97
|
+
* Optional callback invoked for each text chunk produced by a running agent.
|
|
98
|
+
* AC: @cli-agent-commands ac-13 (broadcast to watch subscribers)
|
|
99
|
+
* AC: @daemon-agent-dispatch ac-8
|
|
100
|
+
*/
|
|
101
|
+
onTextChunk?: (sessionId: string, agentId: string, taskId: string | null, text: string) => void;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The core dispatch runtime.
|
|
105
|
+
*
|
|
106
|
+
* Lifecycle:
|
|
107
|
+
* 1. Create with new DispatchEngine(options)
|
|
108
|
+
* 2. Call start() to bootstrap and begin processing
|
|
109
|
+
* 3. Feed state changes via handleStateChange()
|
|
110
|
+
* 4. Call stop() for graceful shutdown
|
|
111
|
+
*
|
|
112
|
+
* AC: @agent-dispatch-engine ac-1 through ac-12
|
|
113
|
+
*/
|
|
114
|
+
export declare class DispatchEngine {
|
|
115
|
+
private projectDir;
|
|
116
|
+
private specDir;
|
|
117
|
+
private cwd;
|
|
118
|
+
private dedupWindowMs;
|
|
119
|
+
private kspecCliPath?;
|
|
120
|
+
private onInvocationEvent?;
|
|
121
|
+
private onTextChunk?;
|
|
122
|
+
/** Queue of pending dispatch entries, per agent id */
|
|
123
|
+
private queues;
|
|
124
|
+
/** Count of active (running) invocations per agent id */
|
|
125
|
+
private activeCount;
|
|
126
|
+
/** Recent dedup keys with their expiry timestamps */
|
|
127
|
+
private recentEvents;
|
|
128
|
+
/** Previous task states (for file watcher diffing) */
|
|
129
|
+
private prevTaskStates;
|
|
130
|
+
/** Mutex serializing shadow branch mutations */
|
|
131
|
+
private shadowMutex;
|
|
132
|
+
/** Whether the engine is currently running */
|
|
133
|
+
private running;
|
|
134
|
+
/** Set of running invocation promises (for graceful shutdown) */
|
|
135
|
+
private runningInvocations;
|
|
136
|
+
/** AbortControllers for active invocations (for graceful cancel on stop) */
|
|
137
|
+
private invocationAbortControllers;
|
|
138
|
+
/** Per-invocation tracking records for status display */
|
|
139
|
+
private activeInvocationDetails;
|
|
140
|
+
/** Monotonic enqueue sequence for deterministic queue ordering */
|
|
141
|
+
private nextQueueSequence;
|
|
142
|
+
constructor(options: DispatchEngineOptions);
|
|
143
|
+
/**
|
|
144
|
+
* Start the dispatch engine.
|
|
145
|
+
*
|
|
146
|
+
* Loads current task states and evaluates dispatch rules for bootstrap.
|
|
147
|
+
* AC: @agent-dispatch-engine ac-8
|
|
148
|
+
*/
|
|
149
|
+
start(): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Handle a task state change event from any source (file watcher or API).
|
|
152
|
+
*
|
|
153
|
+
* AC: @agent-dispatch-engine ac-1, ac-2, ac-4, ac-5, ac-6, ac-7
|
|
154
|
+
*/
|
|
155
|
+
handleStateChange(change: TaskStateChange): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Handle file watcher notification: diff previous vs current task states.
|
|
158
|
+
*
|
|
159
|
+
* AC: @agent-dispatch-engine ac-5
|
|
160
|
+
*/
|
|
161
|
+
handleFileChange(specDir: string): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Stop the dispatch engine gracefully.
|
|
164
|
+
*
|
|
165
|
+
* Sends cancel signals to all active invocations and waits for them to finish.
|
|
166
|
+
* AC: @agent-dispatch-engine ac-11
|
|
167
|
+
*/
|
|
168
|
+
stop(): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
* Get the shadow mutex for external callers that need to serialize mutations.
|
|
171
|
+
* AC: @agent-dispatch-engine ac-12
|
|
172
|
+
*/
|
|
173
|
+
getShadowMutex(): Mutex;
|
|
174
|
+
/**
|
|
175
|
+
* Returns current engine status info including per-invocation details.
|
|
176
|
+
* AC: @cli-agent-commands ac-6
|
|
177
|
+
*/
|
|
178
|
+
getStatus(): {
|
|
179
|
+
running: boolean;
|
|
180
|
+
activeInvocations: number;
|
|
181
|
+
queuedInvocations: number;
|
|
182
|
+
invocations: Array<{
|
|
183
|
+
invocationId: string;
|
|
184
|
+
sessionId: string;
|
|
185
|
+
agentId: string;
|
|
186
|
+
agentName: string;
|
|
187
|
+
taskRef: string | undefined;
|
|
188
|
+
elapsedMs: number;
|
|
189
|
+
}>;
|
|
190
|
+
queued: Array<{
|
|
191
|
+
agentId: string;
|
|
192
|
+
agentName: string;
|
|
193
|
+
taskRef: string | undefined;
|
|
194
|
+
waitMs: number;
|
|
195
|
+
}>;
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Bootstrap: evaluate all current tasks against dispatch rules.
|
|
199
|
+
* AC: @agent-dispatch-engine ac-8
|
|
200
|
+
*/
|
|
201
|
+
private _bootstrap;
|
|
202
|
+
/**
|
|
203
|
+
* Load agent definitions from meta context.
|
|
204
|
+
*/
|
|
205
|
+
private _loadAgents;
|
|
206
|
+
/**
|
|
207
|
+
* Check if a state change matches a dispatch rule's filters.
|
|
208
|
+
* AC: @agent-dispatch-engine ac-6
|
|
209
|
+
*/
|
|
210
|
+
private _matchesFilter;
|
|
211
|
+
/**
|
|
212
|
+
* Build a deduplication key for a state change.
|
|
213
|
+
* AC: @agent-dispatch-engine ac-7
|
|
214
|
+
*/
|
|
215
|
+
private _dedupKey;
|
|
216
|
+
/**
|
|
217
|
+
* Check whether this event is a duplicate within the dedup window.
|
|
218
|
+
* AC: @agent-dispatch-engine ac-7
|
|
219
|
+
*/
|
|
220
|
+
private _isDuplicate;
|
|
221
|
+
/**
|
|
222
|
+
* Record a state change for deduplication.
|
|
223
|
+
* AC: @agent-dispatch-engine ac-7
|
|
224
|
+
*/
|
|
225
|
+
private _recordEvent;
|
|
226
|
+
/**
|
|
227
|
+
* Enqueue a dispatch entry for an agent.
|
|
228
|
+
* AC: @agent-dispatch-engine ac-3
|
|
229
|
+
*/
|
|
230
|
+
private _enqueue;
|
|
231
|
+
/**
|
|
232
|
+
* Insert an entry into an agent queue using deterministic status precedence.
|
|
233
|
+
* AC: @dispatch-in-progress-priority ac-1
|
|
234
|
+
*/
|
|
235
|
+
private _insertQueueEntry;
|
|
236
|
+
/**
|
|
237
|
+
* Compare queue entries by dispatch precedence, then by enqueue sequence.
|
|
238
|
+
* AC: @dispatch-in-progress-priority ac-1
|
|
239
|
+
*/
|
|
240
|
+
private _compareQueueEntries;
|
|
241
|
+
/**
|
|
242
|
+
* Drain queues, spawning invocations up to each agent's max_concurrent limit.
|
|
243
|
+
* AC: @agent-dispatch-engine ac-3, ac-17
|
|
244
|
+
*/
|
|
245
|
+
private _drainQueues;
|
|
246
|
+
/**
|
|
247
|
+
* Build dispatch-mode prompt guardrails to keep autonomous agents from
|
|
248
|
+
* stopping with handoff text instead of performing required actions.
|
|
249
|
+
*
|
|
250
|
+
* AC: @agent-dispatch-engine ac-13, ac-14, ac-15, ac-16
|
|
251
|
+
*/
|
|
252
|
+
private _buildDispatchPrompt;
|
|
253
|
+
/**
|
|
254
|
+
* Spawn a single invocation for a queue entry.
|
|
255
|
+
* Returns true if an invocation was actually started, false if skipped.
|
|
256
|
+
* AC: @agent-dispatch-engine ac-9, ac-10, ac-11, ac-12
|
|
257
|
+
*/
|
|
258
|
+
private _spawnInvocation;
|
|
259
|
+
}
|
|
260
|
+
export {};
|
|
261
|
+
//# sourceMappingURL=dispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/dispatch.ts"],"names":[],"mappings":"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"}
|