@cotal-ai/connector-core 0.3.2 → 0.4.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 +11 -0
- package/dist/agent.d.ts +22 -4
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +63 -25
- package/dist/agent.js.map +1 -1
- package/dist/config.d.ts +14 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +31 -10
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/launch.d.ts +39 -0
- package/dist/launch.d.ts.map +1 -0
- package/dist/launch.js +93 -0
- package/dist/launch.js.map +1 -0
- package/dist/tool-specs.d.ts.map +1 -1
- package/dist/tool-specs.js +70 -45
- package/dist/tool-specs.js.map +1 -1
- package/package.json +3 -2
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @cotal-ai/connector-core
|
|
2
|
+
|
|
3
|
+
The shared MCP-bridge runtime: the mesh agent, the `cotal_*` tool specs (including
|
|
4
|
+
`cotal_spawn` / `cotal_persona` / `cotal_despawn`), and the hook relay. The connector adapters
|
|
5
|
+
(Claude Code, OpenCode, Hermes) are thin clients over it.
|
|
6
|
+
|
|
7
|
+
**Tier:** `extensions/`. Peer-depends [`@cotal-ai/core`](../../packages/core); self-registers on
|
|
8
|
+
import.
|
|
9
|
+
|
|
10
|
+
See [docs/claude-code-integration.md](../../docs/claude-code-integration.md) for how a session
|
|
11
|
+
joins, and the [root AGENTS.md](../../AGENTS.md) for the tier rules.
|
package/dist/agent.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ export declare class MeshAgent extends EventEmitter {
|
|
|
56
56
|
private _connected;
|
|
57
57
|
private _status;
|
|
58
58
|
private _attention;
|
|
59
|
+
private _contextId;
|
|
59
60
|
/** Chat-stream frontier captured when this agent entered `focus` — recall surfaces ambient
|
|
60
61
|
* published after it ("since you entered focus"). Undefined unless in focus. */
|
|
61
62
|
private focusSince?;
|
|
@@ -63,10 +64,21 @@ export declare class MeshAgent extends EventEmitter {
|
|
|
63
64
|
constructor(config: AgentConfig);
|
|
64
65
|
get id(): string;
|
|
65
66
|
get connected(): boolean;
|
|
67
|
+
/** Correlates outgoing messages to the host agent's current context/window. */
|
|
68
|
+
setContextId(contextId: string | undefined): void;
|
|
66
69
|
/** Begin connecting (with background retry). Returns immediately. */
|
|
67
70
|
start(retryMs?: number): void;
|
|
68
71
|
private connectLoop;
|
|
69
72
|
stop(): Promise<void>;
|
|
73
|
+
/** Manual reconnect: tear down the mesh connection and rebuild it in-process, WITHOUT
|
|
74
|
+
* stopping the agent (the recovery path, so it does NOT assert connected). Delegates to
|
|
75
|
+
* {@link CotalEndpoint.reconnect}, which is serialized with the self-heal supervisor and
|
|
76
|
+
* interruptible. Returns a one-line status for the caller to surface (e.g. the
|
|
77
|
+
* cotal_reconnect tool → TUI); on failure the endpoint keeps retrying in the background. */
|
|
78
|
+
reconnect(): Promise<{
|
|
79
|
+
ok: boolean;
|
|
80
|
+
message: string;
|
|
81
|
+
}>;
|
|
70
82
|
private ingest;
|
|
71
83
|
/** Normalize a wire message into an {@link InboxItem}. `kind` is the **authenticated** class
|
|
72
84
|
* from {@link MessageMeta} (subject-derived), never the forgeable payload `to`/`toService`;
|
|
@@ -118,7 +130,9 @@ export declare class MeshAgent extends EventEmitter {
|
|
|
118
130
|
* after connect) throws. See docs/architecture.md. */
|
|
119
131
|
private assertKnownMentions;
|
|
120
132
|
anycast(role: string, text: string): Promise<CotalMessage>;
|
|
121
|
-
/** Resolve a peer by instance id (exact) or display name
|
|
133
|
+
/** Resolve a peer by instance id (exact) or display name. Deterministic and fail-loud: returns
|
|
134
|
+
* one peer, `undefined` if none match, or throws `AmbiguousPeerError` on a same-name collision —
|
|
135
|
+
* it never silently picks. See `resolvePeer` in @cotal-ai/core. */
|
|
122
136
|
resolvePeer(target: string): Presence | undefined;
|
|
123
137
|
dm(target: string, text: string): Promise<{
|
|
124
138
|
msg: CotalMessage;
|
|
@@ -130,8 +144,13 @@ export declare class MeshAgent extends EventEmitter {
|
|
|
130
144
|
spawn(name: string, role?: string): Promise<ControlReply>;
|
|
131
145
|
/** Ask the manager to tear a teammate down (its `stop` op). Graceful by default —
|
|
132
146
|
* the session is told to exit cleanly (so it leaves the mesh) before the
|
|
133
|
-
* process/tab is closed; `graceful:false` is a hard, immediate kill.
|
|
134
|
-
|
|
147
|
+
* process/tab is closed; `graceful:false` is a hard, immediate kill.
|
|
148
|
+
*
|
|
149
|
+
* No `name` ⇒ self-despawn: rides the self-service control subject and the manager
|
|
150
|
+
* resolves the target as the managed agent whose id == this caller — so it can only
|
|
151
|
+
* ever stop itself, never a peer. A `name` ⇒ rides the privileged control subject
|
|
152
|
+
* (transport-gated to spawn-capable/admin); the manager refines own-child vs admin. */
|
|
153
|
+
despawn(name?: string, opts?: {
|
|
135
154
|
graceful?: boolean;
|
|
136
155
|
}): Promise<ControlReply>;
|
|
137
156
|
/** Ask the manager to purge the space's retained chat backlog (its `purge` op). Cleanup only —
|
|
@@ -145,7 +164,6 @@ export declare class MeshAgent extends EventEmitter {
|
|
|
145
164
|
definePersona(def: {
|
|
146
165
|
name: string;
|
|
147
166
|
prompt: string;
|
|
148
|
-
role?: string;
|
|
149
167
|
model?: string;
|
|
150
168
|
}): Promise<ControlReply>;
|
|
151
169
|
/** The full roster, including ourselves. */
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAKL,aAAa,EAGb,KAAK,YAAY,EAGjB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kGAAkG;IAClG,UAAU,EAAE,OAAO,CAAC;IACpB,+FAA+F;IAC/F,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAMrD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,UAAU,CAAqB;IACvC;qFACiF;IACjF,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,WAAW;IA6B/B,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,+EAA+E;IAC/E,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKjD,qEAAqE;IACrE,KAAK,CAAC,OAAO,SAAO,GAAG,IAAI;YAIb,WAAW;IAenB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;;;iGAI6F;IACvF,SAAS,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAkB5D,OAAO,CAAC,MAAM;IA6Bd;;;gDAG4C;IAC5C,OAAO,CAAC,WAAW;IAsBnB,oGAAoG;IACpG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE;IAOvC,6EAA6E;IAC7E,SAAS,IAAI,SAAS,EAAE;IAIxB,UAAU,IAAI,MAAM;IAIpB;;;0EAGsE;IACtE,oBAAoB,IAAI,MAAM;IAI9B;;;wFAGoF;IACpF,WAAW,IAAI,IAAI;IAMnB,6FAA6F;IAC7F,IAAI,SAAS,IAAI,aAAa,CAE7B;IAED;;;;;;qCAMiC;IAC3B,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtD;;;;;;yCAMqC;IAC/B,aAAa,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiB3E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAOtF;;;;;2DAKuD;IACvD,OAAO,CAAC,mBAAmB;IASrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKhE;;wEAEoE;IACpE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI3C,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC;IAUtF;;uEAEmE;IAC7D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAK/D;;;;;;;4FAOwF;IAClF,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAYlF;uGACmG;IAC7F,YAAY,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ1E;;gGAE4F;IACtF,aAAa,CAAC,GAAG,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,YAAY,CAAC;IAazB,4CAA4C;IAC5C,MAAM,IAAI,QAAQ,EAAE;IAIpB,8CAA8C;IAC9C,IAAI,MAAM,IAAI,cAAc,CAE3B;IAEK,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzE;;;;qFAIiF;IACjF,eAAe,IAAI,MAAM,GAAG,SAAS;IAUrC;oFACgF;IAChF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAS9F,2EAA2E;IAC3E,cAAc,IAAI,MAAM,EAAE;IAI1B;;iEAE6D;IACvD,YAAY,IAAI,OAAO,CAC3B;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAChG;IAWD,kFAAkF;IAC5E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAKpF,mEAAmE;IAC7D,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAO/D,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,GAAG;CAGZ"}
|
package/dist/agent.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
|
-
import { normalizeMentions, subjectMatches, isConcreteChannel, CotalEndpoint, } from "@cotal-ai/core";
|
|
2
|
+
import { normalizeMentions, subjectMatches, isConcreteChannel, resolvePeer as resolvePeerInRoster, CotalEndpoint, CONTROL_PRIVILEGED, CONTROL_SELF_SERVICE, } from "@cotal-ai/core";
|
|
3
3
|
const MAX_INBOX = 200;
|
|
4
4
|
function sleep(ms) {
|
|
5
5
|
return new Promise((r) => setTimeout(r, ms));
|
|
@@ -26,6 +26,7 @@ export class MeshAgent extends EventEmitter {
|
|
|
26
26
|
_connected = false;
|
|
27
27
|
_status = "idle";
|
|
28
28
|
_attention = "open"; // F3: fail-open default; reset to open on SessionStart
|
|
29
|
+
_contextId;
|
|
29
30
|
/** Chat-stream frontier captured when this agent entered `focus` — recall surfaces ambient
|
|
30
31
|
* published after it ("since you entered focus"). Undefined unless in focus. */
|
|
31
32
|
focusSince;
|
|
@@ -41,7 +42,7 @@ export class MeshAgent extends EventEmitter {
|
|
|
41
42
|
pass: config.pass,
|
|
42
43
|
creds: config.creds,
|
|
43
44
|
tls: config.tls,
|
|
44
|
-
channels: config.
|
|
45
|
+
channels: config.subscribe, // the endpoint's live filter = the active read set
|
|
45
46
|
card: {
|
|
46
47
|
id: config.id,
|
|
47
48
|
name: config.name,
|
|
@@ -53,6 +54,10 @@ export class MeshAgent extends EventEmitter {
|
|
|
53
54
|
});
|
|
54
55
|
this.ep.on("message", (m, d, meta) => this.ingest(m, d, meta));
|
|
55
56
|
this.ep.on("error", (e) => this.log(`endpoint error: ${e.message}`));
|
|
57
|
+
// The endpoint's (re)binds are the single source of truth for connectedness: this fires on
|
|
58
|
+
// initial start, manual reconnect, AND the background self-heal — so a recovery the endpoint
|
|
59
|
+
// did on its own can't leave us thinking we're offline (which would skip stop() → leak).
|
|
60
|
+
this.ep.on("connection", (e) => { this._connected = e.connected; });
|
|
56
61
|
}
|
|
57
62
|
get id() {
|
|
58
63
|
return this.ep.card.id;
|
|
@@ -60,6 +65,11 @@ export class MeshAgent extends EventEmitter {
|
|
|
60
65
|
get connected() {
|
|
61
66
|
return this._connected;
|
|
62
67
|
}
|
|
68
|
+
/** Correlates outgoing messages to the host agent's current context/window. */
|
|
69
|
+
setContextId(contextId) {
|
|
70
|
+
const clean = contextId?.trim();
|
|
71
|
+
this._contextId = clean ? clean : undefined;
|
|
72
|
+
}
|
|
63
73
|
/** Begin connecting (with background retry). Returns immediately. */
|
|
64
74
|
start(retryMs = 3000) {
|
|
65
75
|
void this.connectLoop(retryMs);
|
|
@@ -68,8 +78,8 @@ export class MeshAgent extends EventEmitter {
|
|
|
68
78
|
while (!this.stopping && !this._connected) {
|
|
69
79
|
try {
|
|
70
80
|
await this.ep.start();
|
|
71
|
-
|
|
72
|
-
this.log(`connected to ${this.config.servers} as ${this.who()} in space "${this.config.space}" on #${this.config.
|
|
81
|
+
// _connected is set by the endpoint's "connection" event (fired inside start()), not here.
|
|
82
|
+
this.log(`connected to ${this.config.servers} as ${this.who()} in space "${this.config.space}" on #${this.config.subscribe.join(", #")}`);
|
|
73
83
|
}
|
|
74
84
|
catch (e) {
|
|
75
85
|
this.log(`mesh unreachable (${e.message}); retrying in ${retryMs}ms`);
|
|
@@ -79,8 +89,31 @@ export class MeshAgent extends EventEmitter {
|
|
|
79
89
|
}
|
|
80
90
|
async stop() {
|
|
81
91
|
this.stopping = true;
|
|
82
|
-
|
|
83
|
-
|
|
92
|
+
// Unconditional: a background self-heal can flip _connected without us, so a `_connected`
|
|
93
|
+
// guard could skip the stop and leak the live connection/heartbeat/supervisor. ep.stop() is
|
|
94
|
+
// idempotent (early-returns once stopped), so calling it when already-down is a noop.
|
|
95
|
+
await this.ep.stop();
|
|
96
|
+
}
|
|
97
|
+
/** Manual reconnect: tear down the mesh connection and rebuild it in-process, WITHOUT
|
|
98
|
+
* stopping the agent (the recovery path, so it does NOT assert connected). Delegates to
|
|
99
|
+
* {@link CotalEndpoint.reconnect}, which is serialized with the self-heal supervisor and
|
|
100
|
+
* interruptible. Returns a one-line status for the caller to surface (e.g. the
|
|
101
|
+
* cotal_reconnect tool → TUI); on failure the endpoint keeps retrying in the background. */
|
|
102
|
+
async reconnect() {
|
|
103
|
+
if (this.stopping) {
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
message: "This session is shutting down, so its Cotal mesh connection cannot be reconnected. Start a new session instead.",
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
await this.ep.reconnect();
|
|
111
|
+
// _connected is set by the endpoint's "connection" event on the successful rebind, not here.
|
|
112
|
+
return { ok: true, message: `Reconnected ✓ (${this.config.name}@${this.config.space})` };
|
|
113
|
+
}
|
|
114
|
+
catch (e) {
|
|
115
|
+
return { ok: false, message: `Reconnect failed: ${e.message}. Still retrying automatically — or run /reconnect to retry now.` };
|
|
116
|
+
}
|
|
84
117
|
}
|
|
85
118
|
// ---- inbox ---------------------------------------------------------------
|
|
86
119
|
ingest(m, delivery, meta) {
|
|
@@ -219,7 +252,7 @@ export class MeshAgent extends EventEmitter {
|
|
|
219
252
|
const clean = normalizeMentions(mentions);
|
|
220
253
|
if (clean)
|
|
221
254
|
this.assertKnownMentions(clean);
|
|
222
|
-
return this.ep.multicast(text, { channel, mentions: clean });
|
|
255
|
+
return this.ep.multicast(text, { channel, mentions: clean, contextId: this._contextId });
|
|
223
256
|
}
|
|
224
257
|
/** Throw if any name isn't a peer we've observed. Validates against the FULL roster
|
|
225
258
|
* (incl. self — your own name is a valid participant; resolvePeer's self-filter would
|
|
@@ -235,25 +268,20 @@ export class MeshAgent extends EventEmitter {
|
|
|
235
268
|
}
|
|
236
269
|
async anycast(role, text) {
|
|
237
270
|
this.assertConnected();
|
|
238
|
-
return this.ep.anycast(role, text);
|
|
271
|
+
return this.ep.anycast(role, text, { contextId: this._contextId });
|
|
239
272
|
}
|
|
240
|
-
/** Resolve a peer by instance id (exact) or display name
|
|
273
|
+
/** Resolve a peer by instance id (exact) or display name. Deterministic and fail-loud: returns
|
|
274
|
+
* one peer, `undefined` if none match, or throws `AmbiguousPeerError` on a same-name collision —
|
|
275
|
+
* it never silently picks. See `resolvePeer` in @cotal-ai/core. */
|
|
241
276
|
resolvePeer(target) {
|
|
242
|
-
|
|
243
|
-
const byId = roster.find((p) => p.card.id === target);
|
|
244
|
-
if (byId)
|
|
245
|
-
return byId;
|
|
246
|
-
const t = target.toLowerCase();
|
|
247
|
-
const present = roster.filter((p) => p.status !== "offline");
|
|
248
|
-
return (present.find((p) => p.card.name.toLowerCase() === t) ??
|
|
249
|
-
roster.find((p) => p.card.name.toLowerCase() === t));
|
|
277
|
+
return resolvePeerInRoster(this.ep.getRoster(), target, { selfId: this.id });
|
|
250
278
|
}
|
|
251
279
|
async dm(target, text) {
|
|
252
280
|
this.assertConnected();
|
|
253
281
|
const peer = this.resolvePeer(target);
|
|
254
282
|
if (!peer)
|
|
255
283
|
throw new Error(`no peer "${target}" in space "${this.config.space}"`);
|
|
256
|
-
const msg = await this.ep.unicast(peer.card.id, text);
|
|
284
|
+
const msg = await this.ep.unicast(peer.card.id, text, { contextId: this._contextId });
|
|
257
285
|
return { msg, peer };
|
|
258
286
|
}
|
|
259
287
|
// ---- supervision ---------------------------------------------------------
|
|
@@ -262,23 +290,32 @@ export class MeshAgent extends EventEmitter {
|
|
|
262
290
|
* runtime; from here it just joins the mesh as a lateral peer. */
|
|
263
291
|
async spawn(name, role) {
|
|
264
292
|
this.assertConnected();
|
|
265
|
-
return this.ep.requestControl(
|
|
293
|
+
return this.ep.requestControl(CONTROL_PRIVILEGED, { op: "start", args: { name, role } });
|
|
266
294
|
}
|
|
267
295
|
/** Ask the manager to tear a teammate down (its `stop` op). Graceful by default —
|
|
268
296
|
* the session is told to exit cleanly (so it leaves the mesh) before the
|
|
269
|
-
* process/tab is closed; `graceful:false` is a hard, immediate kill.
|
|
297
|
+
* process/tab is closed; `graceful:false` is a hard, immediate kill.
|
|
298
|
+
*
|
|
299
|
+
* No `name` ⇒ self-despawn: rides the self-service control subject and the manager
|
|
300
|
+
* resolves the target as the managed agent whose id == this caller — so it can only
|
|
301
|
+
* ever stop itself, never a peer. A `name` ⇒ rides the privileged control subject
|
|
302
|
+
* (transport-gated to spawn-capable/admin); the manager refines own-child vs admin. */
|
|
270
303
|
async despawn(name, opts) {
|
|
271
304
|
this.assertConnected();
|
|
272
|
-
|
|
305
|
+
const graceful = opts?.graceful ?? true;
|
|
306
|
+
if (!name) {
|
|
307
|
+
return this.ep.requestControl(CONTROL_SELF_SERVICE, { op: "stop", args: { graceful } });
|
|
308
|
+
}
|
|
309
|
+
return this.ep.requestControl(CONTROL_PRIVILEGED, {
|
|
273
310
|
op: "stop",
|
|
274
|
-
args: { name, graceful
|
|
311
|
+
args: { name, graceful },
|
|
275
312
|
});
|
|
276
313
|
}
|
|
277
314
|
/** Ask the manager to purge the space's retained chat backlog (its `purge` op). Cleanup only —
|
|
278
315
|
* it doesn't touch live agents or the anycast work queue. `includeDms` also clears DM history. */
|
|
279
316
|
async purgeHistory(opts) {
|
|
280
317
|
this.assertConnected();
|
|
281
|
-
return this.ep.requestControl(
|
|
318
|
+
return this.ep.requestControl(CONTROL_PRIVILEGED, {
|
|
282
319
|
op: "purge",
|
|
283
320
|
args: { includeDms: opts?.includeDms ?? false },
|
|
284
321
|
});
|
|
@@ -288,9 +325,10 @@ export class MeshAgent extends EventEmitter {
|
|
|
288
325
|
* half — so peers see the new persona; `spawn(name)` then launches an agent wearing it. */
|
|
289
326
|
async definePersona(def) {
|
|
290
327
|
this.assertConnected();
|
|
291
|
-
const reply = await this.ep.requestControl(
|
|
328
|
+
const reply = await this.ep.requestControl(CONTROL_PRIVILEGED, {
|
|
292
329
|
op: "definePersona",
|
|
293
|
-
|
|
330
|
+
// role is policy — set at spawn, never via definePersona; the manager ignores it regardless.
|
|
331
|
+
args: { name: def.name, model: def.model, persona: def.prompt },
|
|
294
332
|
});
|
|
295
333
|
if (reply.ok)
|
|
296
334
|
await this.send(`persona \`${def.name}\` is now available — spawn it to bring it online`);
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -21,11 +21,16 @@ export interface AgentConfig {
|
|
|
21
21
|
description?: string;
|
|
22
22
|
tags?: string[];
|
|
23
23
|
servers: string;
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
/** The *active* read set — channels this agent actually subscribes to (read). May include
|
|
25
|
+
* wildcard subtrees (`team.>`). Maps to the endpoint's live filter. ⊆ {@link allowSubscribe}. */
|
|
26
|
+
subscribe: string[];
|
|
27
|
+
/** The read ACL — channels this agent *may* read (auth mode → broker-enforced). Defaults to
|
|
28
|
+
* {@link subscribe}. Bounds runtime `cotal_join`. */
|
|
29
|
+
allowSubscribe: string[];
|
|
30
|
+
/** The post ACL — channels this agent may post to (auth mode → the minted publish ACL).
|
|
31
|
+
* **Default-deny** (empty): publishing must be declared. Informational only here; the broker
|
|
32
|
+
* enforces it under auth. */
|
|
33
|
+
allowPublish: string[];
|
|
29
34
|
kind: EndpointKind;
|
|
30
35
|
token?: string;
|
|
31
36
|
user?: string;
|
|
@@ -51,8 +56,10 @@ export declare function hasIdentity(env?: NodeJS.ProcessEnv): boolean;
|
|
|
51
56
|
export declare function configFromEnv(env?: NodeJS.ProcessEnv): AgentConfig;
|
|
52
57
|
/** One sentence telling the agent its channel lanes — what it reads and where it may post —
|
|
53
58
|
* so it knows its scope up front instead of discovering it from inbound tags and send errors.
|
|
54
|
-
* Folded into each connector's MCP `instructions`.
|
|
55
|
-
*
|
|
59
|
+
* Folded into each connector's MCP `instructions`. It must match the broker truth: under auth the
|
|
60
|
+
* post ACL is default-deny, so an undeclared agent genuinely cannot post (state it plainly rather
|
|
61
|
+
* than promise a lane the broker will reject). In open mode there is no cred, so posting is
|
|
62
|
+
* unrestricted regardless of the (display-only) post ACL. */
|
|
56
63
|
export declare function laneLine(config: AgentConfig): string;
|
|
57
64
|
/** Beta-feedback guidance folded into connector instructions. */
|
|
58
65
|
export declare function feedbackLine(config: AgentConfig): string;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmG,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEpJ,0EAA0E;AAC1E,eAAO,MAAM,YAAY,wCAAwC,CAAC;AAClE,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd;iEAC6D;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB;sGACkG;IAClG,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;0DACsD;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;kCAE8B;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb;+EAC2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD;;;uBAGuB;AACvB,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEzE;AAED;;;;;uEAKuE;AACvE,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CA4C/E;AAED;;;;;8DAK8D;AAC9D,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAWpD;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAaxD"}
|
package/dist/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { userInfo } from "node:os";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
|
-
import { DEFAULT_SERVER, loadAgentFile, parseJoinLink } from "@cotal-ai/core";
|
|
3
|
+
import { DEFAULT_SERVER, assertValidChannel, channelInAllow, loadAgentFile, parseJoinLink } from "@cotal-ai/core";
|
|
4
4
|
/** Keyed beta intake — used when a `COTAL_FEEDBACK_KEY` is configured. */
|
|
5
5
|
export const FEEDBACK_URL = "https://broker.cotal.ai/v1/feedback";
|
|
6
6
|
/** Public hosted intake — used without a key; requires a contact email. */
|
|
@@ -34,9 +34,20 @@ export function configFromEnv(env = process.env) {
|
|
|
34
34
|
const name = env.COTAL_NAME?.trim() || def?.name || (link ? userInfo().username : undefined);
|
|
35
35
|
if (!name)
|
|
36
36
|
throw new Error("COTAL_NAME, COTAL_AGENT_FILE or COTAL_LINK is required — a Cotal session needs an explicit identity from its launcher");
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
37
|
+
const subscribe = splitList(env.COTAL_SUBSCRIBE);
|
|
38
|
+
const resolvedSubscribe = subscribe.length ? subscribe : (def?.subscribe ?? link?.channels ?? ["general"]);
|
|
39
|
+
const allowSub = splitList(env.COTAL_ALLOW_SUBSCRIBE);
|
|
40
|
+
const resolvedAllowSub = allowSub.length ? allowSub : (def?.allowSubscribe ?? resolvedSubscribe);
|
|
41
|
+
// Fail loud on an inconsistent env override (the agent-file loader already checks the file): the
|
|
42
|
+
// active read set must be within the read ACL, or the agent would subscribe to what it can't read.
|
|
43
|
+
for (const ch of resolvedSubscribe)
|
|
44
|
+
if (!channelInAllow(resolvedAllowSub, ch))
|
|
45
|
+
throw new Error(`COTAL config: subscribe channel "${ch}" is not within allowSubscribe [${resolvedAllowSub.join(", ")}]`);
|
|
46
|
+
const allowPub = splitList(env.COTAL_ALLOW_PUBLISH);
|
|
47
|
+
const resolvedAllowPub = allowPub.length ? allowPub : (def?.allowPublish ?? []);
|
|
48
|
+
// Reject channel names the wire layer would rewrite (env overrides bypass the file loader's check).
|
|
49
|
+
for (const ch of [...resolvedSubscribe, ...resolvedAllowSub, ...resolvedAllowPub])
|
|
50
|
+
assertValidChannel(ch);
|
|
40
51
|
const credsPath = env.COTAL_CREDS?.trim();
|
|
41
52
|
return {
|
|
42
53
|
space: env.COTAL_SPACE?.trim() || link?.space || "demo",
|
|
@@ -47,8 +58,11 @@ export function configFromEnv(env = process.env) {
|
|
|
47
58
|
description: def?.description,
|
|
48
59
|
tags: def?.tags,
|
|
49
60
|
servers: env.COTAL_SERVERS?.trim() || link?.servers || DEFAULT_SERVER,
|
|
50
|
-
|
|
51
|
-
|
|
61
|
+
subscribe: resolvedSubscribe,
|
|
62
|
+
allowSubscribe: resolvedAllowSub,
|
|
63
|
+
// Post ACL is default-DENY: only what's explicitly declared (env > agent-file). The broker
|
|
64
|
+
// enforces it under auth; in open mode posting is unrestricted regardless (see laneLine).
|
|
65
|
+
allowPublish: resolvedAllowPub,
|
|
52
66
|
kind: env.COTAL_KIND?.trim() || def?.kind || "agent",
|
|
53
67
|
token: env.COTAL_TOKEN?.trim() || link?.token,
|
|
54
68
|
user: link?.user,
|
|
@@ -60,12 +74,19 @@ export function configFromEnv(env = process.env) {
|
|
|
60
74
|
}
|
|
61
75
|
/** One sentence telling the agent its channel lanes — what it reads and where it may post —
|
|
62
76
|
* so it knows its scope up front instead of discovering it from inbound tags and send errors.
|
|
63
|
-
* Folded into each connector's MCP `instructions`.
|
|
64
|
-
*
|
|
77
|
+
* Folded into each connector's MCP `instructions`. It must match the broker truth: under auth the
|
|
78
|
+
* post ACL is default-deny, so an undeclared agent genuinely cannot post (state it plainly rather
|
|
79
|
+
* than promise a lane the broker will reject). In open mode there is no cred, so posting is
|
|
80
|
+
* unrestricted regardless of the (display-only) post ACL. */
|
|
65
81
|
export function laneLine(config) {
|
|
66
82
|
const fmt = (cs) => cs.map((c) => `#${c}`).join(", ");
|
|
67
|
-
const subs = config.
|
|
68
|
-
|
|
83
|
+
const subs = config.subscribe;
|
|
84
|
+
// Open mode (no creds) ⇒ nothing is enforced; the agent reads and posts to its channels freely.
|
|
85
|
+
if (!config.creds)
|
|
86
|
+
return `You read and may post to ${fmt(subs)}. `;
|
|
87
|
+
const pubs = config.allowPublish;
|
|
88
|
+
if (!pubs.length)
|
|
89
|
+
return `You read ${fmt(subs)}; you may not post to any channel (no publish channels granted). `;
|
|
69
90
|
const same = subs.length === pubs.length && subs.every((c) => pubs.includes(c));
|
|
70
91
|
return same
|
|
71
92
|
? `You read and may post to ${fmt(subs)}. `
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAoC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/launch.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The spawned-agent env allow-list (P3) — the single chokepoint for what a child process sees.
|
|
3
|
+
*
|
|
4
|
+
* Connectors build the child's env as `{ ...launchEnv(...), <COTAL_* identity>, <connector vars> }`
|
|
5
|
+
* and the runtimes pass ONLY that (never `...process.env`). So the operator's *unrelated* env
|
|
6
|
+
* (AWS creds, GH tokens, other service keys sitting in their shell) stops bleeding into every
|
|
7
|
+
* spawned child. What a child sees is auditable from the spec, not "whatever the manager
|
|
8
|
+
* inherited."
|
|
9
|
+
*
|
|
10
|
+
* Scope this is HONEST about (P6): it closes ENV-VAR bleed. It does NOT close (i) model-key
|
|
11
|
+
* exfil for key-based providers — the agent holds the key in its own process to do inference, so
|
|
12
|
+
* a compromised agent exfils from its OWN env, spawn-gating the key only breaks the child's LLM
|
|
13
|
+
* function (the real fix is per-agent model auth, a separate roadmap item); nor (ii) filesystem
|
|
14
|
+
* secret access — HOME / XDG / platform config dirs are forwarded, so a child can still read
|
|
15
|
+
* ~/.aws / ~/.ssh / ~/.config off disk (needs a workspace sandbox, a separate control).
|
|
16
|
+
*/
|
|
17
|
+
import type { McpServerSpec } from "@cotal-ai/core";
|
|
18
|
+
/** Model-provider API keys a key-based connector may forward to its child. claude needs none
|
|
19
|
+
* (macOS Keychain / OAuth token, not an env key) → strong isolation for free; opencode/hermes
|
|
20
|
+
* need the key for the provider behind the agent's model → forward just these, by NAME, only if
|
|
21
|
+
* present. This is the single chokepoint for model-key forwarding — the seam for spawner-
|
|
22
|
+
* conditional gating (per-agent model auth) later. Never `...process.env`. */
|
|
23
|
+
export declare const MODEL_PROVIDER_KEYS: readonly ["OPENCODE_API_KEY", "ANTHROPIC_API_KEY", "OPENAI_API_KEY", "OPENROUTER_API_KEY", "NOUS_API_KEY"];
|
|
24
|
+
/** Build the base env a spawned agent runs with: the OS allow-list plus any named keys the
|
|
25
|
+
* connector declares the agent needs — `providerKeys` (the model-provider key) and `mcpKeys`
|
|
26
|
+
* (the `${VAR}` secrets a shared MCP server references, see {@link mcpServerEnvKeys}). Every
|
|
27
|
+
* entry is copied from the manager's env BY NAME and only when present — never required, never
|
|
28
|
+
* spread wholesale, so the operator's unrelated secrets don't bleed into the child (P3). */
|
|
29
|
+
export declare function launchEnv(opts?: {
|
|
30
|
+
providerKeys?: readonly string[];
|
|
31
|
+
mcpKeys?: readonly string[];
|
|
32
|
+
}): Record<string, string>;
|
|
33
|
+
/** The environment-variable NAMES a set of shared MCP server specs reference via `${VAR}` /
|
|
34
|
+
* `${VAR:-default}` (in command/args/env/url/headers). The single source of which operator vars
|
|
35
|
+
* a shared server needs: forwarded BY NAME through {@link launchEnv} (`mcpKeys`), never
|
|
36
|
+
* `...process.env`, so secret keys keep living in the operator's env (and the `.mcp.json`-style
|
|
37
|
+
* config stays a `${VAR}` reference, not a plaintext secret). */
|
|
38
|
+
export declare function mcpServerEnvKeys(servers: Record<string, McpServerSpec>): string[];
|
|
39
|
+
//# sourceMappingURL=launch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAsCpD;;;;+EAI+E;AAC/E,eAAO,MAAM,mBAAmB,4GAMtB,CAAC;AAEX;;;;6FAI6F;AAC7F,wBAAgB,SAAS,CACvB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GAC3E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB;AAED;;;;kEAIkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,EAAE,CAcjF"}
|
package/dist/launch.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/** OS env a coding-agent TUI genuinely needs to run — find its binary (PATH), render (TERM /
|
|
2
|
+
* COLORTERM), resolve home/config/data roots (HOME / XDG_*_HOME on Unix,
|
|
3
|
+
* USERPROFILE / APPDATA / LOCALAPPDATA on Windows), locale (LANG / LC_*), timezone (TZ), temp
|
|
4
|
+
* dirs, session/runtime dir (XDG_RUNTIME_DIR), and the shell it may invoke. NOT a model key,
|
|
5
|
+
* NOT an operator secret. A fixed, named allow-list. */
|
|
6
|
+
const OS_ENV_ALLOW = [
|
|
7
|
+
"PATH",
|
|
8
|
+
"HOME",
|
|
9
|
+
"USERPROFILE",
|
|
10
|
+
"HOMEDRIVE",
|
|
11
|
+
"HOMEPATH",
|
|
12
|
+
"USER",
|
|
13
|
+
"LOGNAME",
|
|
14
|
+
"SHELL",
|
|
15
|
+
"COMSPEC",
|
|
16
|
+
"PATHEXT",
|
|
17
|
+
"TERM",
|
|
18
|
+
"COLORTERM",
|
|
19
|
+
"COLORFGBG",
|
|
20
|
+
"LANG",
|
|
21
|
+
"LC_ALL",
|
|
22
|
+
"LC_CTYPE",
|
|
23
|
+
"LC_MESSAGES",
|
|
24
|
+
"TZ",
|
|
25
|
+
"TEMP",
|
|
26
|
+
"TMPDIR",
|
|
27
|
+
"TMP",
|
|
28
|
+
"XDG_CONFIG_HOME",
|
|
29
|
+
"XDG_DATA_HOME",
|
|
30
|
+
"XDG_STATE_HOME",
|
|
31
|
+
"XDG_CACHE_HOME",
|
|
32
|
+
"APPDATA",
|
|
33
|
+
"LOCALAPPDATA",
|
|
34
|
+
"XDG_RUNTIME_DIR",
|
|
35
|
+
];
|
|
36
|
+
/** Model-provider API keys a key-based connector may forward to its child. claude needs none
|
|
37
|
+
* (macOS Keychain / OAuth token, not an env key) → strong isolation for free; opencode/hermes
|
|
38
|
+
* need the key for the provider behind the agent's model → forward just these, by NAME, only if
|
|
39
|
+
* present. This is the single chokepoint for model-key forwarding — the seam for spawner-
|
|
40
|
+
* conditional gating (per-agent model auth) later. Never `...process.env`. */
|
|
41
|
+
export const MODEL_PROVIDER_KEYS = [
|
|
42
|
+
"OPENCODE_API_KEY",
|
|
43
|
+
"ANTHROPIC_API_KEY",
|
|
44
|
+
"OPENAI_API_KEY",
|
|
45
|
+
"OPENROUTER_API_KEY",
|
|
46
|
+
"NOUS_API_KEY",
|
|
47
|
+
];
|
|
48
|
+
/** Build the base env a spawned agent runs with: the OS allow-list plus any named keys the
|
|
49
|
+
* connector declares the agent needs — `providerKeys` (the model-provider key) and `mcpKeys`
|
|
50
|
+
* (the `${VAR}` secrets a shared MCP server references, see {@link mcpServerEnvKeys}). Every
|
|
51
|
+
* entry is copied from the manager's env BY NAME and only when present — never required, never
|
|
52
|
+
* spread wholesale, so the operator's unrelated secrets don't bleed into the child (P3). */
|
|
53
|
+
export function launchEnv(opts = {}) {
|
|
54
|
+
const env = {};
|
|
55
|
+
for (const k of OS_ENV_ALLOW) {
|
|
56
|
+
const v = process.env[k];
|
|
57
|
+
if (v !== undefined)
|
|
58
|
+
env[k] = v;
|
|
59
|
+
}
|
|
60
|
+
for (const k of [...(opts.providerKeys ?? []), ...(opts.mcpKeys ?? [])]) {
|
|
61
|
+
const v = process.env[k];
|
|
62
|
+
if (v !== undefined)
|
|
63
|
+
env[k] = v;
|
|
64
|
+
}
|
|
65
|
+
return env;
|
|
66
|
+
}
|
|
67
|
+
/** The environment-variable NAMES a set of shared MCP server specs reference via `${VAR}` /
|
|
68
|
+
* `${VAR:-default}` (in command/args/env/url/headers). The single source of which operator vars
|
|
69
|
+
* a shared server needs: forwarded BY NAME through {@link launchEnv} (`mcpKeys`), never
|
|
70
|
+
* `...process.env`, so secret keys keep living in the operator's env (and the `.mcp.json`-style
|
|
71
|
+
* config stays a `${VAR}` reference, not a plaintext secret). */
|
|
72
|
+
export function mcpServerEnvKeys(servers) {
|
|
73
|
+
const names = new Set();
|
|
74
|
+
const scan = (s) => {
|
|
75
|
+
if (!s)
|
|
76
|
+
return;
|
|
77
|
+
for (const m of s.matchAll(/\$\{([A-Za-z_][A-Za-z0-9_]*)(?::-[^}]*)?\}/g))
|
|
78
|
+
names.add(m[1]);
|
|
79
|
+
};
|
|
80
|
+
for (const spec of Object.values(servers)) {
|
|
81
|
+
scan(spec.command);
|
|
82
|
+
spec.args?.forEach(scan);
|
|
83
|
+
if (spec.env)
|
|
84
|
+
for (const v of Object.values(spec.env))
|
|
85
|
+
scan(v);
|
|
86
|
+
scan(spec.url);
|
|
87
|
+
if (spec.headers)
|
|
88
|
+
for (const v of Object.values(spec.headers))
|
|
89
|
+
scan(v);
|
|
90
|
+
}
|
|
91
|
+
return [...names];
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=launch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAkBA;;;;yDAIyD;AACzD,MAAM,YAAY,GAAG;IACnB,MAAM;IACN,MAAM;IACN,aAAa;IACb,WAAW;IACX,UAAU;IACV,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,WAAW;IACX,WAAW;IACX,MAAM;IACN,QAAQ;IACR,UAAU;IACV,aAAa;IACb,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,KAAK;IACL,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,cAAc;IACd,iBAAiB;CACT,CAAC;AAEX;;;;+EAI+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;CACN,CAAC;AAEX;;;;6FAI6F;AAC7F,MAAM,UAAU,SAAS,CACvB,OAA0E,EAAE;IAE5E,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;kEAIkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,OAAsC;IACrE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,CAAqB,EAAQ,EAAE;QAC3C,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG;YAAE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC"}
|
package/dist/tool-specs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-specs.d.ts","sourceRoot":"","sources":["../src/tool-specs.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAElF;yDACyD;AACzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"tool-specs.d.ts","sourceRoot":"","sources":["../src/tool-specs.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAElF;yDACyD;AACzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqBD,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC;IACvB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CACzF;AAqBD,2DAA2D;AAC3D,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAE5C;AA2CD,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQhE;AAED;+DAC+D;AAC/D,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,SAAc,GAAG,aAAa,EAAE,CAwZzF"}
|
package/dist/tool-specs.js
CHANGED
|
@@ -9,10 +9,23 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { execFileSync } from "node:child_process";
|
|
11
11
|
import { z } from "zod";
|
|
12
|
-
import { isConcreteChannel } from "@cotal-ai/core";
|
|
12
|
+
import { isConcreteChannel, channelInAllow, AmbiguousPeerError, isPermissionDenied } from "@cotal-ai/core";
|
|
13
13
|
import { FEEDBACK_URL, PUBLIC_FEEDBACK_URL } from "./config.js";
|
|
14
14
|
const ok = (text) => ({ text });
|
|
15
15
|
const err = (text) => ({ text, isError: true });
|
|
16
|
+
/** Error for a failed privileged control request (spawn / despawn-other / definePersona). A
|
|
17
|
+
* *permission denial* — this session's creds can't publish to the manager control subject
|
|
18
|
+
* because its persona lacks `capabilities: [spawn]` — is a different failure with a different
|
|
19
|
+
* fix than an *absent/unreachable manager*. Report them apart instead of always blaming the
|
|
20
|
+
* manager (which sent the operator chasing a non-existent "manager down"). */
|
|
21
|
+
function controlFailure(action, e) {
|
|
22
|
+
const detail = e?.message ?? String(e);
|
|
23
|
+
if (isPermissionDenied(e)) {
|
|
24
|
+
return err(`${action}: this session isn't allowed to — its persona needs \`capabilities: [spawn]\` ` +
|
|
25
|
+
`(which grants the privileged manager control subject). Add it and respawn so its creds re-mint. [${detail}]`);
|
|
26
|
+
}
|
|
27
|
+
return err(`${action}: no manager reachable (${detail}). Is the manager running?`);
|
|
28
|
+
}
|
|
16
29
|
function statusGlyph(s) {
|
|
17
30
|
return s === "working" ? "●" : s === "waiting" ? "◐" : s === "idle" ? "○" : "·";
|
|
18
31
|
}
|
|
@@ -101,12 +114,20 @@ export function cotalToolSpecs(config, source = "connector") {
|
|
|
101
114
|
const roster = agent.roster();
|
|
102
115
|
if (!roster.length)
|
|
103
116
|
return ok(`No one is present in "${config.space}" yet.`);
|
|
117
|
+
// Names aren't unique. Where one repeats, append the instance id so a DM can target the
|
|
118
|
+
// exact peer (the id is the only authoritative address); keep unique rows clean.
|
|
119
|
+
const counts = new Map();
|
|
120
|
+
for (const p of roster) {
|
|
121
|
+
const n = p.card.name.toLowerCase();
|
|
122
|
+
counts.set(n, (counts.get(n) ?? 0) + 1);
|
|
123
|
+
}
|
|
104
124
|
const lines = roster.map((p) => {
|
|
105
125
|
const who = p.card.role ? `${p.card.name}/${p.card.role}` : p.card.name;
|
|
106
126
|
const me = p.card.id === agent.id
|
|
107
127
|
? ` (you${agent.attention !== "open" ? `, ${agent.attention}` : ""})`
|
|
108
128
|
: "";
|
|
109
|
-
|
|
129
|
+
const id = (counts.get(p.card.name.toLowerCase()) ?? 0) > 1 ? ` — id: ${p.card.id}` : "";
|
|
130
|
+
return `${statusGlyph(p.status)} ${who} — ${p.status}${p.activity ? `: ${p.activity}` : ""}${me}${id}`;
|
|
110
131
|
});
|
|
111
132
|
return ok(`Present in "${config.space}" (${roster.length}):\n${lines.join("\n")}`);
|
|
112
133
|
},
|
|
@@ -154,7 +175,7 @@ export function cotalToolSpecs(config, source = "connector") {
|
|
|
154
175
|
channel: z
|
|
155
176
|
.string()
|
|
156
177
|
.optional()
|
|
157
|
-
.describe(`Channel to send on (default: ${config.
|
|
178
|
+
.describe(`Channel to send on (default: ${config.subscribe.find(isConcreteChannel) ?? "general"}). Concrete only — not a wildcard like team.>; reply on the channel you received a message on.`),
|
|
158
179
|
mentions: z
|
|
159
180
|
.array(z.string())
|
|
160
181
|
.optional()
|
|
@@ -184,6 +205,13 @@ export function cotalToolSpecs(config, source = "connector") {
|
|
|
184
205
|
return ok(`DM sent to ${peer.card.name}.`);
|
|
185
206
|
}
|
|
186
207
|
catch (e) {
|
|
208
|
+
if (e instanceof AmbiguousPeerError) {
|
|
209
|
+
const who = e.candidates
|
|
210
|
+
.map((c) => ` • ${c.name}${c.role ? `/${c.role}` : ""} (${c.status}) — id: ${c.id}`)
|
|
211
|
+
.join("\n");
|
|
212
|
+
return err(`"${e.target}" is ambiguous — ${e.candidates.length} peers share that name. ` +
|
|
213
|
+
`Re-send cotal_dm with the exact instance id as "to":\n${who}`);
|
|
214
|
+
}
|
|
187
215
|
return err(`Couldn't DM: ${e.message}`);
|
|
188
216
|
}
|
|
189
217
|
},
|
|
@@ -276,11 +304,15 @@ export function cotalToolSpecs(config, source = "connector") {
|
|
|
276
304
|
{
|
|
277
305
|
name: "cotal_join",
|
|
278
306
|
title: "Cotal: join a channel",
|
|
279
|
-
description: "Subscribe to a channel mid-session. Returns its registry info; if the channel replays, recent history is delivered to your inbox marked as catch-up (it pre-dates your join — don't treat it as live). Idempotent.",
|
|
307
|
+
description: "Subscribe to a channel mid-session. Returns its registry info; if the channel replays, recent history is delivered to your inbox marked as catch-up (it pre-dates your join — don't treat it as live). Idempotent. Bounded by your read ACL: a channel outside it is refused.",
|
|
280
308
|
schema: {
|
|
281
309
|
channel: z.string().describe("The channel to join (e.g. incident)."),
|
|
282
310
|
},
|
|
283
311
|
async run(agent, _config, { channel }) {
|
|
312
|
+
// Bound by the read ACL before touching the mesh — a clear refusal beats a broker/manager
|
|
313
|
+
// rejection. (Auth mode also enforces this server-side; this is the friendly client gate.)
|
|
314
|
+
if (!channelInAllow(config.allowSubscribe, channel))
|
|
315
|
+
return err(`Can't join #${channel}: it's outside your read ACL (allowSubscribe: ${config.allowSubscribe.map((c) => `#${c}`).join(", ")}).`);
|
|
284
316
|
try {
|
|
285
317
|
const r = await agent.joinChannel(channel);
|
|
286
318
|
if (!r.joined)
|
|
@@ -318,7 +350,7 @@ export function cotalToolSpecs(config, source = "connector") {
|
|
|
318
350
|
title: "Cotal: spawn a new teammate",
|
|
319
351
|
description: "Ask the manager to start a new peer endpoint in your space. It joins the mesh as a lateral peer (and, when the manager runs the cmux runtime, appears in its own tab). Use when the team needs another agent.",
|
|
320
352
|
schema: {
|
|
321
|
-
name: z.string().describe("
|
|
353
|
+
name: z.string().describe("Name for the new peer; auto-numbered (e.g. reviewer-2) if taken."),
|
|
322
354
|
role: z
|
|
323
355
|
.string()
|
|
324
356
|
.optional()
|
|
@@ -329,11 +361,17 @@ export function cotalToolSpecs(config, source = "connector") {
|
|
|
329
361
|
const reply = await agent.spawn(name, role);
|
|
330
362
|
if (!reply.ok)
|
|
331
363
|
return err(`Couldn't spawn ${name}: ${reply.error ?? "manager refused"}`);
|
|
332
|
-
const
|
|
333
|
-
|
|
364
|
+
const d = reply.data;
|
|
365
|
+
const actual = d?.name ?? name; // the manager auto-numbers on a collision — report what it spawned
|
|
366
|
+
const mode = d?.mode;
|
|
367
|
+
const who = role ? `${actual}/${role}` : actual;
|
|
368
|
+
// Make the rename unmissable: a colliding caller must see it asked for `name` but got
|
|
369
|
+
// `actual`, not silently address the wrong peer later (the tool result is the only channel).
|
|
370
|
+
const lead = actual !== name ? `"${name}" was taken — spawning ${who} instead` : `Spawning ${who}`;
|
|
371
|
+
return ok(`${lead}${mode ? ` (${mode})` : ""} — it will appear in the roster shortly.`);
|
|
334
372
|
}
|
|
335
373
|
catch (e) {
|
|
336
|
-
return
|
|
374
|
+
return controlFailure(`Couldn't spawn ${name}`, e);
|
|
337
375
|
}
|
|
338
376
|
},
|
|
339
377
|
},
|
|
@@ -401,9 +439,12 @@ export function cotalToolSpecs(config, source = "connector") {
|
|
|
401
439
|
{
|
|
402
440
|
name: "cotal_despawn",
|
|
403
441
|
title: "Cotal: stop a teammate",
|
|
404
|
-
description: "Ask the manager to tear a teammate down — it leaves the mesh and its process/tab is closed. Graceful by default (the session exits cleanly first); pass graceful:false for a hard, immediate kill. The inverse of cotal_spawn.",
|
|
442
|
+
description: "Ask the manager to tear a teammate down — it leaves the mesh and its process/tab is closed. Graceful by default (the session exits cleanly first); pass graceful:false for a hard, immediate kill. The inverse of cotal_spawn. Omit `name` to stop yourself (self-despawn): the manager resolves the target as your own managed entry, so it can only ever stop you, never a peer.",
|
|
405
443
|
schema: {
|
|
406
|
-
name: z
|
|
444
|
+
name: z
|
|
445
|
+
.string()
|
|
446
|
+
.optional()
|
|
447
|
+
.describe("Name of the peer to stop. Omit to stop yourself (self-despawn)."),
|
|
407
448
|
graceful: z
|
|
408
449
|
.boolean()
|
|
409
450
|
.optional()
|
|
@@ -412,66 +453,50 @@ export function cotalToolSpecs(config, source = "connector") {
|
|
|
412
453
|
async run(agent, _config, { name, graceful }) {
|
|
413
454
|
try {
|
|
414
455
|
const reply = await agent.despawn(name, { graceful });
|
|
415
|
-
if (!reply.ok)
|
|
416
|
-
return err(`Couldn't despawn ${name}: ${reply.error ?? "manager refused"}`);
|
|
417
|
-
|
|
456
|
+
if (!reply.ok) {
|
|
457
|
+
return err(`Couldn't despawn ${name ?? "self"}: ${reply.error ?? "manager refused"}`);
|
|
458
|
+
}
|
|
459
|
+
const who = name ?? "self";
|
|
460
|
+
return ok(`Stopping ${who}${graceful === false ? " (hard)" : ""} — it will leave the roster shortly.`);
|
|
418
461
|
}
|
|
419
462
|
catch (e) {
|
|
420
|
-
return
|
|
421
|
-
}
|
|
422
|
-
},
|
|
423
|
-
},
|
|
424
|
-
{
|
|
425
|
-
name: "cotal_purge",
|
|
426
|
-
title: "Cotal: clear chat history",
|
|
427
|
-
description: "Ask the manager to purge this space's retained chat backlog (channel history). Set includeDms to also clear direct-message history. Cleanup only — it does not affect live agents or the anycast work queue. Irreversible.",
|
|
428
|
-
schema: {
|
|
429
|
-
includeDms: z
|
|
430
|
-
.boolean()
|
|
431
|
-
.optional()
|
|
432
|
-
.describe("Default false: channel history only. true = also purge DM history."),
|
|
433
|
-
},
|
|
434
|
-
async run(agent, _config, { includeDms }) {
|
|
435
|
-
try {
|
|
436
|
-
const reply = await agent.purgeHistory({ includeDms });
|
|
437
|
-
if (!reply.ok)
|
|
438
|
-
return err(`Couldn't purge history: ${reply.error ?? "manager refused"}`);
|
|
439
|
-
const d = reply.data;
|
|
440
|
-
const chat = d?.chat ?? 0;
|
|
441
|
-
const dm = d?.dm;
|
|
442
|
-
return ok(`Cleared ${chat} channel message${chat === 1 ? "" : "s"}` +
|
|
443
|
-
`${dm === undefined ? "" : ` and ${dm} DM${dm === 1 ? "" : "s"}`} from "${_config.space}".`);
|
|
444
|
-
}
|
|
445
|
-
catch (e) {
|
|
446
|
-
return err(`Couldn't purge history: no manager reachable (${e.message}). Is the manager running?`);
|
|
463
|
+
return controlFailure(`Couldn't despawn ${name ?? "self"}`, e);
|
|
447
464
|
}
|
|
448
465
|
},
|
|
449
466
|
},
|
|
450
467
|
{
|
|
451
468
|
name: "cotal_persona",
|
|
452
469
|
title: "Cotal: define a persona",
|
|
453
|
-
description: "Define a new persona and save it as config (the manager writes .cotal/agents/<name>.md), then announce it on the mesh. Afterwards cotal_spawn(name) launches a real agent wearing this persona/model. Use to grow the team with a custom
|
|
470
|
+
description: "Define a new persona and save it as config (the manager writes .cotal/agents/<name>.md), then announce it on the mesh. Afterwards cotal_spawn(name) launches a real agent wearing this persona/model. Use to grow the team with a custom persona you describe on the fly; set its role at spawn (cotal_spawn takes a role).",
|
|
454
471
|
schema: {
|
|
455
472
|
name: z
|
|
456
473
|
.string()
|
|
457
474
|
.regex(/^[A-Za-z0-9_-]+$/, "letters, digits, _ or - only")
|
|
458
475
|
.describe("Unique name for the persona (also the spawn name): letters, digits, _ or -."),
|
|
459
476
|
prompt: z.string().max(10_000).describe("The persona — an appended system prompt describing who this agent is."),
|
|
460
|
-
role: z.string().max(120).optional().describe("Optional role label (e.g. reviewer, scout)."),
|
|
461
477
|
model: z.string().max(120).optional().describe("Optional model override (e.g. opus, sonnet)."),
|
|
462
478
|
},
|
|
463
|
-
async run(agent, _config, { name, prompt,
|
|
479
|
+
async run(agent, _config, { name, prompt, model }) {
|
|
464
480
|
try {
|
|
465
|
-
const reply = await agent.definePersona({ name, prompt,
|
|
481
|
+
const reply = await agent.definePersona({ name, prompt, model });
|
|
466
482
|
if (!reply.ok)
|
|
467
483
|
return err(`Couldn't define ${name}: ${reply.error ?? "manager refused"}`);
|
|
468
484
|
return ok(`Persona \`${name}\` saved — spawn it with cotal_spawn(name="${name}") to bring it online.`);
|
|
469
485
|
}
|
|
470
486
|
catch (e) {
|
|
471
|
-
return
|
|
487
|
+
return controlFailure(`Couldn't define ${name}`, e);
|
|
472
488
|
}
|
|
473
489
|
},
|
|
474
490
|
},
|
|
491
|
+
{
|
|
492
|
+
name: "cotal_reconnect",
|
|
493
|
+
title: "Cotal: reconnect to the mesh",
|
|
494
|
+
description: "Tear down and rebuild this session's mesh connection in-process — the manual recovery path when the connection has wedged (the counterpart to Claude Code's /mcp reconnect, and a complement to the automatic self-heal). Zero-argument; local only — it does not ride the mesh link. Returns a one-line status (Reconnected ✓ / Reconnect failed — still retrying automatically, or this session is shutting down).",
|
|
495
|
+
async run(agent) {
|
|
496
|
+
const r = await agent.reconnect();
|
|
497
|
+
return r.ok ? ok(r.message) : err(r.message);
|
|
498
|
+
},
|
|
499
|
+
},
|
|
475
500
|
];
|
|
476
501
|
}
|
|
477
502
|
//# sourceMappingURL=tool-specs.js.map
|
package/dist/tool-specs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-specs.js","sourceRoot":"","sources":["../src/tool-specs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-specs.js","sourceRoot":"","sources":["../src/tool-specs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/connector-core",
|
|
3
|
-
"
|
|
3
|
+
"description": "Shared MCP-bridge runtime for Cotal connectors: the mesh agent, cotal_* tools, and hook relay.",
|
|
4
|
+
"version": "0.4.0",
|
|
4
5
|
"license": "Apache-2.0",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
"@cotal-ai/core": ">=0.1.0"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
|
-
"@cotal-ai/core": "0.
|
|
28
|
+
"@cotal-ai/core": "0.4.0"
|
|
28
29
|
},
|
|
29
30
|
"files": [
|
|
30
31
|
"dist"
|