cotal-ai 0.79.0 → 0.82.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/package.json +16 -16
- package/seeded-connectors/claude/.mcp.json +1 -1
- package/seeded-connectors/claude/dist/agui-map.d.ts +7 -0
- package/seeded-connectors/claude/dist/agui-map.d.ts.map +1 -1
- package/seeded-connectors/claude/dist/agui-source.d.ts.map +1 -1
- package/seeded-connectors/claude/dist/carried.d.ts +1 -1
- package/seeded-connectors/claude/dist/carried.d.ts.map +1 -1
- package/seeded-connectors/claude/dist/extension.d.ts.map +1 -1
- package/seeded-connectors/claude/dist/hook.cjs +37 -18
- package/seeded-connectors/claude/dist/hooks.d.ts +2 -0
- package/seeded-connectors/claude/dist/hooks.d.ts.map +1 -1
- package/seeded-connectors/claude/dist/index.js +13 -48
- package/seeded-connectors/claude/dist/mcp.cjs +960 -344
- package/seeded-connectors/claude/dist/mcp.d.cts +34 -0
- package/seeded-connectors/claude/dist/mcp.d.ts +33 -1
- package/seeded-connectors/claude/dist/mcp.d.ts.map +1 -1
- package/seeded-connectors/claude/dist/trust.d.ts +5 -7
- package/seeded-connectors/claude/dist/trust.d.ts.map +1 -1
- package/seeded-connectors/claude/hooks/hooks.json +10 -0
- package/seeded-connectors/claude/package.json +7 -3
- package/seeded-connectors/codex/dist/extension.d.ts.map +1 -1
- package/seeded-connectors/codex/dist/host.d.ts.map +1 -1
- package/seeded-connectors/codex/dist/host.js +796 -260
- package/seeded-connectors/codex/dist/index.js +4 -0
- package/seeded-connectors/codex/package.json +1 -1
- package/seeded-connectors/hermes/dist/launch.js +259 -182
- package/seeded-connectors/hermes/package.json +1 -1
- package/seeded-connectors/hermes/plugin/cotal/_sidecar/standalone.cjs +259 -182
- package/seeded-connectors/jcode/dist/agui-source.d.ts +1 -0
- package/seeded-connectors/jcode/dist/agui-source.d.ts.map +1 -1
- package/seeded-connectors/jcode/dist/host.d.ts.map +1 -1
- package/seeded-connectors/jcode/dist/host.js +849 -306
- package/seeded-connectors/jcode/dist/mcp.js +66 -45
- package/seeded-connectors/jcode/package.json +1 -1
- package/seeded-connectors/opencode/dist/agui-map.d.ts +3 -0
- package/seeded-connectors/opencode/dist/agui-map.d.ts.map +1 -1
- package/seeded-connectors/opencode/dist/agui-source.d.ts +18 -0
- package/seeded-connectors/opencode/dist/agui-source.d.ts.map +1 -1
- package/seeded-connectors/opencode/dist/launch.d.ts.map +1 -1
- package/seeded-connectors/opencode/dist/launch.js +26 -19
- package/seeded-connectors/opencode/dist/opencode2-types.d.ts +6 -0
- package/seeded-connectors/opencode/dist/opencode2-types.d.ts.map +1 -1
- package/seeded-connectors/opencode/dist/plugin/index.js +843 -297
- package/seeded-connectors/opencode/dist/plugin.d.ts.map +1 -1
- package/seeded-connectors/opencode/dist/plugin2.d.ts.map +1 -1
- package/seeded-connectors/opencode/dist/serve.js +26 -19
- package/seeded-connectors/opencode/package.json +1 -1
- package/seeded-connectors/pi/dist/agui-source.d.ts +1 -0
- package/seeded-connectors/pi/dist/agui-source.d.ts.map +1 -1
- package/seeded-connectors/pi/dist/events.d.ts +4 -3
- package/seeded-connectors/pi/dist/events.d.ts.map +1 -1
- package/seeded-connectors/pi/dist/extension.d.ts.map +1 -1
- package/seeded-connectors/pi/dist/index.js +597 -130
- package/seeded-connectors/pi/dist/standalone.js +802 -275
- package/seeded-connectors/pi/package.json +1 -1
- package/seeded-connectors/web/package.json +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cotal-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.82.0",
|
|
4
4
|
"description": "Cotal — lateral agent coordination over NATS. Run `npx cotal-ai` for the CLI.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -33,24 +33,24 @@
|
|
|
33
33
|
"node": ">=22"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@cotal-ai/auth": "0.
|
|
37
|
-
"@cotal-ai/cli": "0.
|
|
38
|
-
"@cotal-ai/connector-core": "0.
|
|
39
|
-
"@cotal-ai/core": "0.
|
|
40
|
-
"@cotal-ai/delivery": "0.
|
|
41
|
-
"@cotal-ai/manager": "0.
|
|
42
|
-
"@cotal-ai/runtime": "0.
|
|
43
|
-
"@cotal-ai/workspace": "0.
|
|
36
|
+
"@cotal-ai/auth": "0.82.0",
|
|
37
|
+
"@cotal-ai/cli": "0.82.0",
|
|
38
|
+
"@cotal-ai/connector-core": "0.82.0",
|
|
39
|
+
"@cotal-ai/core": "0.82.0",
|
|
40
|
+
"@cotal-ai/delivery": "0.82.0",
|
|
41
|
+
"@cotal-ai/manager": "0.82.0",
|
|
42
|
+
"@cotal-ai/runtime": "0.82.0",
|
|
43
|
+
"@cotal-ai/workspace": "0.82.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@cotal-ai/connector-claude-code": "0.
|
|
47
|
-
"@cotal-ai/connector-codex": "0.
|
|
48
|
-
"@cotal-ai/connector-hermes": "0.
|
|
49
|
-
"@cotal-ai/connector-jcode": "0.
|
|
50
|
-
"@cotal-ai/connector-opencode": "0.
|
|
51
|
-
"@cotal-ai/pi": "0.
|
|
46
|
+
"@cotal-ai/connector-claude-code": "0.82.0",
|
|
47
|
+
"@cotal-ai/connector-codex": "0.82.0",
|
|
48
|
+
"@cotal-ai/connector-hermes": "0.82.0",
|
|
49
|
+
"@cotal-ai/connector-jcode": "0.82.0",
|
|
50
|
+
"@cotal-ai/connector-opencode": "0.82.0",
|
|
51
|
+
"@cotal-ai/pi": "0.82.0",
|
|
52
52
|
"@cotal-ai/smoke-kit": "0.0.0",
|
|
53
|
-
"@cotal-ai/web": "0.
|
|
53
|
+
"@cotal-ai/web": "0.82.0",
|
|
54
54
|
"@nats-io/jetstream": "^3.4.0",
|
|
55
55
|
"@nats-io/transport-node": "^3.4.0",
|
|
56
56
|
"typescript": "^5.9.3"
|
|
@@ -137,6 +137,13 @@ export interface ClaudeMapperOptions {
|
|
|
137
137
|
threadId: string;
|
|
138
138
|
/** Mints a `runId`. Connector-minted by §3.1, so every `RUN_STARTED` carries `runIdSource`. */
|
|
139
139
|
mintRunId: () => string;
|
|
140
|
+
/**
|
|
141
|
+
* The run the write-ahead log has open when this mapper is built, so a mapper built for a
|
|
142
|
+
* re-established plane attributes the next assistant records to it. Without it the mapper
|
|
143
|
+
* opens with no run, drops every assistant record until the next prompt, and that prompt's
|
|
144
|
+
* `RUN_STARTED` is refused by brackets that still hold the earlier run open.
|
|
145
|
+
*/
|
|
146
|
+
resumeRunId?: string;
|
|
140
147
|
/**
|
|
141
148
|
* Emit `REASONING_*` for `thinking` blocks. **Off by default (§7 Q1).** The `signature` is never
|
|
142
149
|
* emitted at any setting (§3.5) and is not read by this module at all.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agui-map.d.ts","sourceRoot":"","sources":["../src/agui-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,OAAO,EAEL,KAAK,YAAY,EAalB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;KAClC,CAAC;CACH;AAmHD,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,uGAAuG;AACvG,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC/B;;;;;;;;;;;;;;;OAeG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAiBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"agui-map.d.ts","sourceRoot":"","sources":["../src/agui-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,OAAO,EAEL,KAAK,YAAY,EAalB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;KAClC,CAAC;CACH;AAmHD,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,uGAAuG;AACvG,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC/B;;;;;;;;;;;;;;;OAeG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAiBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CA2M1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agui-source.d.ts","sourceRoot":"","sources":["../src/agui-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAqC,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAClH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,MAAM,WAAW,0BAA0B;IACzC;uCACmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,wBAAsB,8BAA8B,CAAC,CAAC,EACpD,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAClC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GAC9D,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAiCxB;
|
|
1
|
+
{"version":3,"file":"agui-source.d.ts","sourceRoot":"","sources":["../src/agui-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAqC,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAClH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,MAAM,WAAW,0BAA0B;IACzC;uCACmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,wBAAsB,8BAA8B,CAAC,CAAC,EACpD,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAClC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GAC9D,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAiCxB;AA+BD,8FAA8F;AAC9F,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,EACtB,IAAI,GAAE,0BAA+B,GACpC,aAAa,CAAC,WAAW,CAAC,CAiB5B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,EACtB,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAKrC"}
|
|
@@ -8,7 +8,7 @@ export declare function refuseCarriedLaunch(binary: string, seatEnv: Record<stri
|
|
|
8
8
|
/** Where a carried seat writes its fork record: the manager's {@link LaunchSpec.resumeRecordPath}. */
|
|
9
9
|
export declare function carriedForkRecord(home: string): string;
|
|
10
10
|
/** Fill the seat's home: the carried transcript where `--resume` finds it, and the first-run state a
|
|
11
|
-
* fresh home would otherwise prompt for, trusting
|
|
11
|
+
* fresh home would otherwise prompt for, trusting the authorized launch directory. */
|
|
12
12
|
export declare function placeCarried(home: string, transcript: string, resume: string | undefined, cwd: string): Record<string, string>;
|
|
13
13
|
/**
|
|
14
14
|
* Write a carried seat's fork record once Claude has forked: the digest of the transcript its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carried.d.ts","sourceRoot":"","sources":["../src/carried.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAiD9D,eAAO,MAAM,sBAAsB,EAAE,uBAqBpC,CAAC;AAUF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAWzF;AAED,sGAAsG;AACtG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;
|
|
1
|
+
{"version":3,"file":"carried.d.ts","sourceRoot":"","sources":["../src/carried.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAiD9D,eAAO,MAAM,sBAAsB,EAAE,uBAqBpC,CAAC;AAUF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAWzF;AAED,sGAAsG;AACtG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;uFACuF;AACvF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ9H;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAY3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,SAAS,EAAoC,MAAM,gBAAgB,CAAC;AAQhI;;;;;;;;;4FAS4F;AAC5F,eAAO,MAAM,oBAAoB,8/DA4EvB,CAAC;AAgDX;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,SAAS,EAAoC,MAAM,gBAAgB,CAAC;AAQhI;;;;;;;;;4FAS4F;AAC5F,eAAO,MAAM,oBAAoB,8/DA4EvB,CAAC;AAgDX;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SA4M7B,CAAC"}
|
|
@@ -24153,6 +24153,8 @@ var AJV_PROFILE_OPTIONS = Object.freeze({
|
|
|
24153
24153
|
// a caller starts reading `errors.length`, or a verdict diverges between the settings — this
|
|
24154
24154
|
// pin must be re-measured before it stays.
|
|
24155
24155
|
allErrors: true,
|
|
24156
|
+
// JSON members are own properties. Host prototype names never satisfy required/properties.
|
|
24157
|
+
ownProperties: true,
|
|
24156
24158
|
validateFormats: false,
|
|
24157
24159
|
loadSchema: void 0,
|
|
24158
24160
|
// PINNED, never inherited from Ajv's default: the safe-pattern analyzer models `/u`
|
|
@@ -24622,18 +24624,6 @@ var MANAGER_ADMIN_SNAP = Object.freeze([...MANAGER_ADMIN_COMMANDS]);
|
|
|
24622
24624
|
// ../../packages/core/dist/lifecycle-state.js
|
|
24623
24625
|
var dec3 = new TextDecoder();
|
|
24624
24626
|
|
|
24625
|
-
// ../../packages/core/dist/lifecycle-saga.js
|
|
24626
|
-
var enc3 = new TextEncoder();
|
|
24627
|
-
var dec4 = new TextDecoder();
|
|
24628
|
-
|
|
24629
|
-
// ../../packages/core/dist/endpoint-cluster.js
|
|
24630
|
-
var TRAIT_GUARDED = "ai.cotal.guarded";
|
|
24631
|
-
var TRAIT_PRICED = "ai.cotal.priced";
|
|
24632
|
-
var GOVERNED_TRAIT_URNS = Object.freeze([TRAIT_GUARDED, TRAIT_PRICED]);
|
|
24633
|
-
|
|
24634
|
-
// ../../packages/core/dist/evict.js
|
|
24635
|
-
var import_transport_node3 = __toESM(require_transport_node(), 1);
|
|
24636
|
-
|
|
24637
24627
|
// ../../node_modules/.pnpm/@nats-io+jwt@0.0.10-5/node_modules/@nats-io/jwt/esm/jwt.js
|
|
24638
24628
|
var Types;
|
|
24639
24629
|
(function(Types2) {
|
|
@@ -26244,6 +26234,25 @@ var Algorithms;
|
|
|
26244
26234
|
// ../../packages/core/dist/identity.js
|
|
26245
26235
|
var import_nkeys = __toESM(require_mod2(), 1);
|
|
26246
26236
|
|
|
26237
|
+
// ../../packages/core/dist/remote-manager-authority.js
|
|
26238
|
+
var REMOTE_MANAGER_AUTHORITY_OPERATIONS = Object.freeze(["prepare", "activate", "renew", "session", "retire", "renewStandingBundle", "renewRunDriver", "transferReader"]);
|
|
26239
|
+
var MANAGED_AGENT_RUNTIME_STATES = Object.freeze(["reserved", "creating", "bound", "create-unknown", "closing", "closed"]);
|
|
26240
|
+
var MANAGED_AGENT_RUNTIME_READINESS = Object.freeze(["ready", "bound-not-ready", "none"]);
|
|
26241
|
+
var MANAGED_AGENT_RETIREMENT_PHASES = Object.freeze(["intent", "released", "retired", "deprovisioned", "terminal"]);
|
|
26242
|
+
var REMOTE_MANAGER_IDENTITY_NAMES = Object.freeze(["supervisor", "executor", "serve", "goalWriter", "sessionLedger"]);
|
|
26243
|
+
|
|
26244
|
+
// ../../packages/core/dist/lifecycle-saga.js
|
|
26245
|
+
var enc3 = new TextEncoder();
|
|
26246
|
+
var dec4 = new TextDecoder();
|
|
26247
|
+
|
|
26248
|
+
// ../../packages/core/dist/endpoint-cluster.js
|
|
26249
|
+
var TRAIT_GUARDED = "ai.cotal.guarded";
|
|
26250
|
+
var TRAIT_PRICED = "ai.cotal.priced";
|
|
26251
|
+
var GOVERNED_TRAIT_URNS = Object.freeze([TRAIT_GUARDED, TRAIT_PRICED]);
|
|
26252
|
+
|
|
26253
|
+
// ../../packages/core/dist/evict.js
|
|
26254
|
+
var import_transport_node3 = __toESM(require_transport_node(), 1);
|
|
26255
|
+
|
|
26247
26256
|
// ../../packages/core/dist/endpoint-service.js
|
|
26248
26257
|
var SOURCE_CHAIN_ID = "[A-Za-z0-9_-]{1,64}";
|
|
26249
26258
|
var SOURCE_CHAIN_ELEMENT = new RegExp(`^(root|handle\\.${SOURCE_CHAIN_ID}\\.${SOURCE_CHAIN_ID}|session\\.${SOURCE_CHAIN_ID})$`);
|
|
@@ -26502,6 +26511,10 @@ var CREDENTIAL_LIFETIMES = {
|
|
|
26502
26511
|
"transfer-reader": { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "one transcript-receive or sweep over the minting instance's own transfer bucket" },
|
|
26503
26512
|
"endpoint-evictor": { class: "one-shot", defaultTtlSeconds: 60, note: "one re-registration's verify-evict window: a scoped delivery-admin caller that kicks+verifies the SUPERSEDED serve family before the epoch advances; 60s bounds a copied cred to a minute" },
|
|
26504
26513
|
"remote-manager": { class: "standing-renewable", defaultTtlSeconds: STANDING_RENEWABLE_TTL_SEC, renewalOwner: "auth-service", note: "the scoped remote manager lifecycle: own lease/presence plus same-owner agent provisioning; issued only by the typed supervise protocol, never by cotal mint or a raw view/profile string" },
|
|
26514
|
+
"environment-bootstrap": { class: "one-shot", defaultTtlSeconds: FIVE_MINUTES, note: "one admitted environment's bootstrap caller; explicit expiry capped by admission and five minutes" },
|
|
26515
|
+
"environment-manager-supervisor": { class: "standing-renewable", renewalOwner: "environment-authority", note: "own lease/presence/liveness; explicit expiry capped by admission, no auth-store access" },
|
|
26516
|
+
"environment-manager-executor": { class: "standing-renewable", renewalOwner: "environment-authority", note: "own admitted authority instance RPC; explicit expiry capped by admission, no direct store access" },
|
|
26517
|
+
"environment-manager-goal-writer": { class: "standing-renewable", renewalOwner: "environment-authority", note: "manager goal rows without the auth-read belt; explicit expiry capped by admission" },
|
|
26505
26518
|
"membership-observer": { class: "rotation-renewed", defaultTtlSeconds: ROTATION_RENEWED_TTL_SEC, renewalOwner: "system-account rotation", note: "$SYS-account CONNZ observer; NOT online-renewable ($SYS seed dies at `up`) - bounded exp, renewed only by rotateSystemAccount + broker restart; doctor warns near expiry" },
|
|
26506
26519
|
"connection-evictor": { class: "rotation-renewed", defaultTtlSeconds: ROTATION_RENEWED_TTL_SEC, renewalOwner: "system-account rotation", note: "$SYS-account KICK-only live-eviction cred; same rotation-renewed posture as the observer" }
|
|
26507
26520
|
};
|
|
@@ -26619,12 +26632,18 @@ var Registry = class {
|
|
|
26619
26632
|
};
|
|
26620
26633
|
var registry2 = new Registry();
|
|
26621
26634
|
|
|
26622
|
-
// ../../packages/core/dist/
|
|
26623
|
-
var
|
|
26624
|
-
|
|
26625
|
-
|
|
26626
|
-
|
|
26627
|
-
|
|
26635
|
+
// ../../packages/core/dist/delegated-recovery.js
|
|
26636
|
+
var DELEGATED_RECOVERY_REASONS = Object.freeze([
|
|
26637
|
+
"provider-unknown",
|
|
26638
|
+
"store-unavailable",
|
|
26639
|
+
"authority-unavailable",
|
|
26640
|
+
"identity-unverified",
|
|
26641
|
+
"descriptor-incomplete",
|
|
26642
|
+
"retiring",
|
|
26643
|
+
"authority-drift",
|
|
26644
|
+
"identity-changed",
|
|
26645
|
+
"scope-changed"
|
|
26646
|
+
]);
|
|
26628
26647
|
|
|
26629
26648
|
// ../../packages/core/dist/agui-kind.js
|
|
26630
26649
|
var AGUI_EVENT_TYPE = Object.freeze({
|
|
@@ -2,6 +2,8 @@ import { type MeshAgent, type InboxItem, type HookEvent, type HookHandle } from
|
|
|
2
2
|
import type { AguiEmitterHolder } from "@cotal-ai/connector-core";
|
|
3
3
|
import type { ClaudeEntry } from "./agui-map.js";
|
|
4
4
|
export interface ClaudeHandleDeps {
|
|
5
|
+
/** Launch environment for a hosted session's carried-fork record. Omitted uses the process env. */
|
|
6
|
+
env?: NodeJS.ProcessEnv;
|
|
5
7
|
/** The session's AG-UI emitter, read lazily — `mcp.ts` assigns it after the handler exists. */
|
|
6
8
|
events?: () => AguiEmitterHolder<ClaudeEntry, unknown> | undefined;
|
|
7
9
|
/** Told which inbox items a frame surfaced; pass {@link WakePolicy.surfaced}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAcA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA+EjD,MAAM,WAAW,gBAAgB;IAC/B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACnE,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;CAClD;AAOD;;+DAE+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,iDAAiD;IACjD,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,gBAAqB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAcA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA+EjD,MAAM,WAAW,gBAAgB;IAC/B,mGAAmG;IACnG,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACnE,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;CAClD;AAOD;;+DAE+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,iDAAiD;IACjD,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,gBAAqB,GAAG,WAAW,CAoU3E;AAED,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5H,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC;+FAC2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAAC;IAC5C,sCAAsC;IACtC,IAAI,IAAI,IAAI,CAAC;CACd;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAe,GAAG,UAAU,CAsH3H"}
|
|
@@ -15120,8 +15120,8 @@ var claudeSetupProvider = {
|
|
|
15120
15120
|
run(prompt) {
|
|
15121
15121
|
const sessionArgs = assistSession ? ["--resume", assistSession] : ["--session-id", assistSession = randomUUID()];
|
|
15122
15122
|
const child = spawn("claude", [prompt, "--permission-mode", "auto", ...sessionArgs], { stdio: "inherit" });
|
|
15123
|
-
return new Promise((
|
|
15124
|
-
child.on("exit", () =>
|
|
15123
|
+
return new Promise((resolve2, reject) => {
|
|
15124
|
+
child.on("exit", () => resolve2());
|
|
15125
15125
|
child.on("error", reject);
|
|
15126
15126
|
});
|
|
15127
15127
|
}
|
|
@@ -15138,7 +15138,7 @@ var claudeSetupProvider = {
|
|
|
15138
15138
|
registry3.register(claudeSetupProvider);
|
|
15139
15139
|
|
|
15140
15140
|
// src/extension.ts
|
|
15141
|
-
import { resolve
|
|
15141
|
+
import { resolve } from "node:path";
|
|
15142
15142
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
15143
15143
|
import { loadAgentFile as loadAgentFile2, registry as registry4, writeLaunchArtifact } from "@cotal-ai/core";
|
|
15144
15144
|
|
|
@@ -15234,46 +15234,10 @@ function placeCarried(home, transcript, resume, cwd) {
|
|
|
15234
15234
|
}
|
|
15235
15235
|
|
|
15236
15236
|
// src/trust.ts
|
|
15237
|
-
|
|
15238
|
-
|
|
15239
|
-
|
|
15240
|
-
|
|
15241
|
-
return env.CLAUDE_CONFIG_DIR ? join4(env.CLAUDE_CONFIG_DIR, ".claude.json") : join4(env.HOME || homedir3(), ".claude.json");
|
|
15242
|
-
}
|
|
15243
|
-
function repoRoot(dir) {
|
|
15244
|
-
for (; ; dir = dirname2(dir)) {
|
|
15245
|
-
if (existsSync2(join4(dir, ".git"))) return dir;
|
|
15246
|
-
if (dirname2(dir) === dir) return void 0;
|
|
15247
|
-
}
|
|
15248
|
-
}
|
|
15249
|
-
function trustKey(root) {
|
|
15250
|
-
const dotGit = join4(root, ".git");
|
|
15251
|
-
const link = statSync(dotGit).isFile() && /^gitdir:(.*)/.exec(readFileSync3(dotGit, "utf8").trim());
|
|
15252
|
-
if (!link) return root;
|
|
15253
|
-
const gitDir = resolve(root, link[1].trim());
|
|
15254
|
-
const pointer = (name) => existsSync2(join4(gitDir, name)) ? resolve(gitDir, readFileSync3(join4(gitDir, name), "utf8").trim()) : void 0;
|
|
15255
|
-
const common = pointer("commondir"), back = pointer("gitdir");
|
|
15256
|
-
if (common === void 0 || back === void 0 || dirname2(gitDir) !== join4(common, "worktrees")) return root;
|
|
15257
|
-
if (!existsSync2(back) || realpathSync(back) !== join4(realpathSync(root), ".git")) return root;
|
|
15258
|
-
return basename(common) === ".git" ? dirname2(common) : common;
|
|
15259
|
-
}
|
|
15260
|
-
function refuseUntrustedCwd(cwd) {
|
|
15261
|
-
let projects;
|
|
15262
|
-
try {
|
|
15263
|
-
projects = JSON.parse(readFileSync3(stateFile(process.env), "utf8")).projects;
|
|
15264
|
-
} catch (e) {
|
|
15265
|
-
if (e.code !== "ENOENT") throw e;
|
|
15266
|
-
}
|
|
15267
|
-
const trusted = (dir) => projects?.[dir]?.hasTrustDialogAccepted === true;
|
|
15268
|
-
const root = repoRoot(cwd);
|
|
15269
|
-
if (root !== void 0 && trusted(trustKey(root))) return;
|
|
15270
|
-
for (let dir = cwd; !trusted(dir); dir = dirname2(dir)) {
|
|
15271
|
-
if (dir === root || dirname2(dir) === dir)
|
|
15272
|
-
throw new Error(
|
|
15273
|
-
`claude connector: the manager's Claude home does not trust ${cwd}, and a supervised seat cannot answer Claude's workspace-trust dialog; open \`claude\` in that directory on the manager host once and trust it, then launch again`
|
|
15274
|
-
);
|
|
15275
|
-
}
|
|
15276
|
-
}
|
|
15237
|
+
var CLAUDE_WORKSPACE_TRUST_REPLIES = Object.freeze([
|
|
15238
|
+
Object.freeze({ prompt: "\u276F No, exit\nYes, I trust this folder", key: "Down" }),
|
|
15239
|
+
Object.freeze({ prompt: "No, exit\n\u276F Yes, I trust this folder", key: "Enter" })
|
|
15240
|
+
]);
|
|
15277
15241
|
|
|
15278
15242
|
// src/extension.ts
|
|
15279
15243
|
var MCP_SERVER_NAME = "cotal";
|
|
@@ -15356,7 +15320,7 @@ var CLAUDE_PROVIDER_KEYS = [
|
|
|
15356
15320
|
];
|
|
15357
15321
|
var CHANNEL_REF = `server:${MCP_SERVER_NAME}`;
|
|
15358
15322
|
var PLUGIN_ROOT = fileURLToPath2(new URL("..", import.meta.url));
|
|
15359
|
-
var MCP_CJS =
|
|
15323
|
+
var MCP_CJS = resolve(PLUGIN_ROOT, "dist", "mcp.cjs");
|
|
15360
15324
|
function assertServableModel(model) {
|
|
15361
15325
|
if (!model.includes("/") || model.startsWith("arn:")) return;
|
|
15362
15326
|
throw new Error(
|
|
@@ -15411,8 +15375,6 @@ var claudeConnector = {
|
|
|
15411
15375
|
}
|
|
15412
15376
|
const binary = opts.resolvedBinaries?.claude ?? "claude";
|
|
15413
15377
|
if (opts.carried) refuseCarriedLaunch(binary, env);
|
|
15414
|
-
if (opts.cwd) refuseUntrustedCwd(opts.cwd);
|
|
15415
|
-
if (opts.carried && opts.carried.cwd !== opts.cwd) refuseUntrustedCwd(opts.carried.cwd);
|
|
15416
15378
|
if (opts.role) env.COTAL_ROLE = opts.role;
|
|
15417
15379
|
if (opts.id) env.COTAL_ID = opts.id;
|
|
15418
15380
|
if (opts.lifecycleUid) env.COTAL_LIFECYCLE_UID = opts.lifecycleUid;
|
|
@@ -15423,8 +15385,8 @@ var claudeConnector = {
|
|
|
15423
15385
|
throw new Error("claude connector: an initial prompt was given but it is empty, there is no first turn to submit");
|
|
15424
15386
|
const args = prompt ? [prompt, "--dangerously-load-development-channels", CHANNEL_REF, "--plugin-dir", PLUGIN_ROOT] : ["--dangerously-load-development-channels", CHANNEL_REF, "--plugin-dir", PLUGIN_ROOT];
|
|
15425
15387
|
args.push("--allowedTools", "WebFetch(domain:github.com),WebFetch(domain:raw.githubusercontent.com)");
|
|
15426
|
-
const mcpServers = { ...shared, [MCP_SERVER_NAME]: { command: "node", args: [MCP_CJS] } };
|
|
15427
|
-
const agentFile = opts.configPath ?
|
|
15388
|
+
const mcpServers = { ...shared, [MCP_SERVER_NAME]: { command: "node", args: ["--optimize-for-size", "--max-semi-space-size=1", MCP_CJS] } };
|
|
15389
|
+
const agentFile = opts.configPath ? resolve(opts.configPath) : void 0;
|
|
15428
15390
|
const def = agentFile ? loadAgentFile2(agentFile) : void 0;
|
|
15429
15391
|
if (opts.model) assertServableModel(opts.model);
|
|
15430
15392
|
const passthrough = connectorLaunchOptions("claude", opts.launchOptions).map(([k, v]) => [k, String(v)]);
|
|
@@ -15446,6 +15408,8 @@ var claudeConnector = {
|
|
|
15446
15408
|
}
|
|
15447
15409
|
if (opts.resume) args.push("--resume", opts.resume, "--fork-session");
|
|
15448
15410
|
if (opts.carried) Object.assign(env, placeCarried(opts.carried.home, opts.carried.transcript, opts.resume, opts.carried.cwd));
|
|
15411
|
+
if (!passthrough.some(([k]) => k === "permission-mode" || k === "dangerously-skip-permissions"))
|
|
15412
|
+
args.push("--permission-mode", "bypassPermissions");
|
|
15449
15413
|
for (const [k, val] of passthrough) {
|
|
15450
15414
|
if (val === "") args.push(`--${k}`);
|
|
15451
15415
|
else args.push(`--${k}`, val);
|
|
@@ -15458,6 +15422,7 @@ var claudeConnector = {
|
|
|
15458
15422
|
// "Enter to confirm" footer, which the workspace-trust dialog also renders with a different
|
|
15459
15423
|
// default action. The runtime presses Enter once when this connector-owned text appears.
|
|
15460
15424
|
confirm: "WARNING: Loading development channels",
|
|
15425
|
+
...opts.cwd ? { confirmBefore: CLAUDE_WORKSPACE_TRUST_REPLIES } : {},
|
|
15461
15426
|
control,
|
|
15462
15427
|
...opts.carried ? { resumeRecordPath: carriedForkRecord(opts.carried.home) } : {},
|
|
15463
15428
|
...artifacts.length > 0 ? { artifacts } : {}
|