cotal-ai 0.73.0 → 0.76.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/dist/agui-map.d.ts +9 -47
- package/seeded-connectors/claude/dist/agui-map.d.ts.map +1 -1
- package/seeded-connectors/claude/dist/hook.cjs +13 -11
- package/seeded-connectors/claude/dist/index.js +6 -6
- package/seeded-connectors/claude/dist/mcp.cjs +789 -333
- package/seeded-connectors/claude/package.json +1 -1
- package/seeded-connectors/codex/dist/host.d.ts.map +1 -1
- package/seeded-connectors/codex/dist/host.js +742 -293
- package/seeded-connectors/codex/dist/index.js +6 -6
- package/seeded-connectors/codex/package.json +1 -1
- package/seeded-connectors/hermes/dist/index.js +6 -6
- package/seeded-connectors/hermes/dist/launch.js +735 -266
- package/seeded-connectors/hermes/package.json +1 -1
- package/seeded-connectors/hermes/plugin/cotal/_sidecar/standalone.cjs +687 -227
- package/seeded-connectors/jcode/dist/host.d.ts.map +1 -1
- package/seeded-connectors/jcode/dist/host.js +43032 -42579
- package/seeded-connectors/jcode/dist/index.js +6 -6
- package/seeded-connectors/jcode/dist/mcp.js +115 -34
- package/seeded-connectors/jcode/package.json +1 -1
- package/seeded-connectors/opencode/dist/index.js +6 -6
- package/seeded-connectors/opencode/dist/launch.d.ts.map +1 -1
- package/seeded-connectors/opencode/dist/launch.js +13 -5
- package/seeded-connectors/opencode/dist/plugin/index.js +718 -254
- 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 +13 -5
- package/seeded-connectors/opencode/package.json +1 -1
- package/seeded-connectors/pi/dist/extension.d.ts.map +1 -1
- package/seeded-connectors/pi/dist/index.js +252 -113
- package/seeded-connectors/pi/dist/standalone.js +729 -270
- package/seeded-connectors/pi/package.json +1 -1
- package/seeded-connectors/web/dist/web/app.js +1 -3
- package/seeded-connectors/web/dist/web/graph.js +1 -1
- package/seeded-connectors/web/dist/web/parts.js +8 -2
- package/seeded-connectors/web/dist/web.d.ts +27 -36
- package/seeded-connectors/web/dist/web.d.ts.map +1 -1
- package/seeded-connectors/web/dist/web.js +75 -108
- package/seeded-connectors/web/dist/web.js.map +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.76.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.76.0",
|
|
37
|
+
"@cotal-ai/cli": "0.76.0",
|
|
38
|
+
"@cotal-ai/connector-core": "0.76.0",
|
|
39
|
+
"@cotal-ai/core": "0.76.0",
|
|
40
|
+
"@cotal-ai/delivery": "0.76.0",
|
|
41
|
+
"@cotal-ai/manager": "0.76.0",
|
|
42
|
+
"@cotal-ai/runtime": "0.76.0",
|
|
43
|
+
"@cotal-ai/workspace": "0.76.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.76.0",
|
|
47
|
+
"@cotal-ai/connector-codex": "0.76.0",
|
|
48
|
+
"@cotal-ai/connector-hermes": "0.76.0",
|
|
49
|
+
"@cotal-ai/connector-jcode": "0.76.0",
|
|
50
|
+
"@cotal-ai/connector-opencode": "0.76.0",
|
|
51
|
+
"@cotal-ai/pi": "0.76.0",
|
|
52
52
|
"@cotal-ai/smoke-kit": "0.0.0",
|
|
53
|
-
"@cotal-ai/web": "0.
|
|
53
|
+
"@cotal-ai/web": "0.76.0",
|
|
54
54
|
"@nats-io/jetstream": "^3.4.0",
|
|
55
55
|
"@nats-io/transport-node": "^3.4.0",
|
|
56
56
|
"typescript": "^5.9.3"
|
|
@@ -8,23 +8,13 @@
|
|
|
8
8
|
* imported from `connector-core` and nothing about Claude goes back the other way.
|
|
9
9
|
*
|
|
10
10
|
* ---------------------------------------------------------------------------------------------
|
|
11
|
-
* THREE THINGS THE PLAN
|
|
11
|
+
* THREE THINGS THE PLAN DID NOT SETTLE.
|
|
12
12
|
*
|
|
13
|
-
* **(A) The
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* record-sourced stream. The two halves of the design were specified against different inputs.
|
|
19
|
-
*
|
|
20
|
-
* What this file does instead is stated plainly so a ruling can replace it in one function:
|
|
21
|
-
* **brackets are derived from the record stream.** A human prompt opens a run; the NEXT human
|
|
22
|
-
* prompt closes the previous one. Two consequences, both of which a reader must know:
|
|
23
|
-
* 1. `RUN_FINISHED` lags by one turn. It is emitted when the next turn starts, not when the turn
|
|
24
|
-
* ends, so a consumer sees the finish later than the `Stop` hook would have said it.
|
|
25
|
-
* 2. **The last run of a session never closes.** There is no record after it to close it on.
|
|
26
|
-
* Neither is silently absorbed: {@link closeOpenRun} exists so the connector's `Stop` hook can shut
|
|
27
|
-
* the run at the real boundary once a vehicle is ruled, and until then the lag is honest.
|
|
13
|
+
* **(A) The record stream cannot see a turn end.** A hook fires in a different process and writes
|
|
14
|
+
* no JSONL record, so on records alone a run closes only when the next prompt opens one, and the
|
|
15
|
+
* last run of a session never closes. The `Stop` and `StopFailure` hooks therefore close the open
|
|
16
|
+
* run through the emitter holder (`AguiEmitterHolder.closeRun`) at the real boundary, and the
|
|
17
|
+
* holder reports the closed run back through {@link ClaudeMapper.forgetOpenRun}.
|
|
28
18
|
*
|
|
29
19
|
* **(B) `origin.kind === "human"` OPENS NO RUN IN ANY AGENT-DRIVEN SESSION — MEASURED on three, and
|
|
30
20
|
* this is why the mapping smoke reads a real session rather than a fixture.** §3.1's rule is right
|
|
@@ -61,8 +51,7 @@
|
|
|
61
51
|
* peer-initiated turn can be a turn without re-emitting the peer's content. See
|
|
62
52
|
* {@link ORIGIN_RULE} and {@link ABSENT_ORIGIN_RULE}, which are where this lives.
|
|
63
53
|
*
|
|
64
|
-
* On the 5938-record session the real mapper opens **67 runs** and emits **5217 events
|
|
65
|
-
* `diagnose()` returns `null`.
|
|
54
|
+
* On the 5938-record session the real mapper opens **67 runs** and emits **5217 events**.
|
|
66
55
|
*
|
|
67
56
|
* **DO NOT "FIX" THIS BY TREATING ABSENT `origin` AS HUMAN.** In a Claude session `user` is also the
|
|
68
57
|
* role of a TOOL RESULT: that predicate selects **825** of the interactive session's 892 user
|
|
@@ -90,7 +79,7 @@
|
|
|
90
79
|
* repeatedly and collapses text and reasoning into a single message in the reference reducer. The
|
|
91
80
|
* provider id is preserved as `cotal.providerMessageId`, which is what it is good for.
|
|
92
81
|
*/
|
|
93
|
-
import { type
|
|
82
|
+
import { type RecordMapper } from "@cotal-ai/connector-core";
|
|
94
83
|
/**
|
|
95
84
|
* One JSONL entry, typed to what the mapping actually reads and no further.
|
|
96
85
|
*
|
|
@@ -160,23 +149,9 @@ export interface ClaudeMapperOptions {
|
|
|
160
149
|
*/
|
|
161
150
|
now?: () => number;
|
|
162
151
|
}
|
|
163
|
-
/** What {@link createClaudeMapper} returns: the mapper plus the
|
|
152
|
+
/** What {@link createClaudeMapper} returns: the mapper plus the report of a run the emitter closed. */
|
|
164
153
|
export interface ClaudeMapper {
|
|
165
154
|
map: RecordMapper<ClaudeEntry>;
|
|
166
|
-
/**
|
|
167
|
-
* Close the open run, if there is one, at a boundary the record stream cannot see — the `Stop`
|
|
168
|
-
* hook. Returns `null` when no run is open, so calling it twice is not an error and cannot
|
|
169
|
-
* manufacture a second `RUN_FINISHED` the bracket machine would refuse.
|
|
170
|
-
*
|
|
171
|
-
* It exists because gap (A) above is a gap: the durable plane has no way to hear a hook today,
|
|
172
|
-
* and this is the seam a ruling plugs into rather than a rewrite.
|
|
173
|
-
*/
|
|
174
|
-
closeOpenRun: (timestamp: number, stopReason?: string) => {
|
|
175
|
-
runId: string;
|
|
176
|
-
events: AguiEvent[];
|
|
177
|
-
} | null;
|
|
178
|
-
/** The run currently open, or `null`. Read-only view for a caller that needs to know. */
|
|
179
|
-
openRun: () => string | null;
|
|
180
155
|
/**
|
|
181
156
|
* Forget a run the EMITTER closed out of band, so this mapper stops treating it as open.
|
|
182
157
|
*
|
|
@@ -194,19 +169,6 @@ export interface ClaudeMapper {
|
|
|
194
169
|
* send. A run that is not the one named is left exactly as it is.
|
|
195
170
|
*/
|
|
196
171
|
forgetOpenRun: (runId: string) => void;
|
|
197
|
-
/**
|
|
198
|
-
* **WHY THIS SESSION OPENED NO RUNS** — a sentence, or `null` once any run has opened.
|
|
199
|
-
*
|
|
200
|
-
* A mapper that opens zero runs is byte-indistinguishable from a session nobody prompted, and
|
|
201
|
-
* from a mapper that is simply broken. Refusing a record is a legitimate outcome; refusing it
|
|
202
|
-
* SILENTLY is not, and the silence is the defect, not the refusal. This is the production
|
|
203
|
-
* statement of that — it lives in the shipped mapper, not in a smoke summary, so the connector
|
|
204
|
-
* and any operator reading it get the same sentence the suite does.
|
|
205
|
-
*
|
|
206
|
-
* It is deliberately NOT a throw. Some sessions genuinely contain no prompt yet, and a mapper
|
|
207
|
-
* that threw on one would take down a live connector over an empty file.
|
|
208
|
-
*/
|
|
209
|
-
diagnose: () => string | null;
|
|
210
172
|
}
|
|
211
173
|
export declare function createClaudeMapper(opts: ClaudeMapperOptions): ClaudeMapper;
|
|
212
174
|
//# sourceMappingURL=agui-map.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agui-map.d.ts","sourceRoot":"","sources":["../src/agui-map.ts"],"names":[],"mappings":"AAAA
|
|
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,CAyM1E"}
|
|
@@ -389,7 +389,7 @@ var require_util = __commonJS({
|
|
|
389
389
|
exports2.jitter = jitter;
|
|
390
390
|
exports2.backoff = backoff;
|
|
391
391
|
exports2.nanos = nanos6;
|
|
392
|
-
exports2.millis =
|
|
392
|
+
exports2.millis = millis2;
|
|
393
393
|
exports2.randomToken = randomToken;
|
|
394
394
|
var encoders_1 = require_encoders();
|
|
395
395
|
var errors_1 = require_errors();
|
|
@@ -444,11 +444,11 @@ var require_util = __commonJS({
|
|
|
444
444
|
});
|
|
445
445
|
return Object.assign(p, methods);
|
|
446
446
|
}
|
|
447
|
-
async function deadline(p,
|
|
447
|
+
async function deadline(p, millis3 = 1e3) {
|
|
448
448
|
const d = deferred();
|
|
449
449
|
const timer = setTimeout(() => {
|
|
450
450
|
d.reject(new errors_1.TimeoutError());
|
|
451
|
-
},
|
|
451
|
+
}, millis3);
|
|
452
452
|
try {
|
|
453
453
|
return await Promise.race([p, d]);
|
|
454
454
|
} finally {
|
|
@@ -573,10 +573,10 @@ var require_util = __commonJS({
|
|
|
573
573
|
}
|
|
574
574
|
};
|
|
575
575
|
}
|
|
576
|
-
function nanos6(
|
|
577
|
-
return
|
|
576
|
+
function nanos6(millis3) {
|
|
577
|
+
return millis3 * 1e6;
|
|
578
578
|
}
|
|
579
|
-
function
|
|
579
|
+
function millis2(ns) {
|
|
580
580
|
return Math.floor(ns / 1e6);
|
|
581
581
|
}
|
|
582
582
|
var tokenDigits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
|
@@ -10398,10 +10398,10 @@ var require_jsmsg = __commonJS({
|
|
|
10398
10398
|
ack() {
|
|
10399
10399
|
this.doAck(exports2.ACK);
|
|
10400
10400
|
}
|
|
10401
|
-
nak(
|
|
10401
|
+
nak(millis2) {
|
|
10402
10402
|
let payload = NAK;
|
|
10403
|
-
if (
|
|
10404
|
-
payload = new TextEncoder().encode(`-NAK ${JSON.stringify({ delay: (0, internal_1.nanos)(
|
|
10403
|
+
if (millis2) {
|
|
10404
|
+
payload = new TextEncoder().encode(`-NAK ${JSON.stringify({ delay: (0, internal_1.nanos)(millis2) })}`);
|
|
10405
10405
|
}
|
|
10406
10406
|
this.doAck(payload);
|
|
10407
10407
|
}
|
|
@@ -24341,7 +24341,7 @@ var RECORD_KINDS = {
|
|
|
24341
24341
|
mediation: "mediated"
|
|
24342
24342
|
},
|
|
24343
24343
|
goalidx: {
|
|
24344
|
-
// The MANAGER-ENDPOINT reconcile index
|
|
24344
|
+
// The MANAGER-ENDPOINT reconcile index: one atomic unsplit key per
|
|
24345
24345
|
// IN-FLIGHT action goal, `goalidx.<e>.<cOwner>.<cActor>.<cUid>.<goalId>`, written CREATE-ONLY
|
|
24346
24346
|
// by the goal-writer BEFORE the goal bind and DELETED at the terminal. It is the endpoint's
|
|
24347
24347
|
// OWN durable list of accepted-but-unterminal goals: a successor incarnation (a manager
|
|
@@ -24583,7 +24583,7 @@ var BASELINE_DELIVERY_ENDPOINT = "delivery";
|
|
|
24583
24583
|
var BASELINE_DELIVERY_COMMANDS = Object.freeze(["join", "leave", "list"]);
|
|
24584
24584
|
var BASELINE_LIFECYCLE_ENDPOINT = "manager";
|
|
24585
24585
|
var BASELINE_SELF_LIFECYCLE_COMMANDS = Object.freeze(["stop", "turn-pending", "turn-yield", "run-answer"]);
|
|
24586
|
-
var SPAWN_CREATE_COMMANDS = Object.freeze(["spawn"]);
|
|
24586
|
+
var SPAWN_CREATE_COMMANDS = Object.freeze(["spawn", "resolve-agent"]);
|
|
24587
24587
|
var SPAWN_OWNER_LIFECYCLE_COMMANDS = Object.freeze(["despawn", "attach"]);
|
|
24588
24588
|
var OPERATOR_SEAT_COMMANDS = Object.freeze(["input", "turn"]);
|
|
24589
24589
|
var SPAWN_SERVICE_COMMANDS = Object.freeze(["define-persona", "inspect", "list-personas", "show-persona", "goal-result"]);
|
|
@@ -26617,9 +26617,11 @@ var Registry = class {
|
|
|
26617
26617
|
var registry2 = new Registry();
|
|
26618
26618
|
|
|
26619
26619
|
// ../../packages/core/dist/remote-manager-authority.js
|
|
26620
|
+
var REMOTE_MANAGER_AUTHORITY_OPERATIONS = Object.freeze(["prepare", "activate", "renew", "session", "retire", "renewStandingBundle", "renewRunDriver", "transferReader"]);
|
|
26620
26621
|
var MANAGED_AGENT_RUNTIME_STATES = Object.freeze(["reserved", "creating", "bound", "create-unknown", "closing", "closed"]);
|
|
26621
26622
|
var MANAGED_AGENT_RUNTIME_READINESS = Object.freeze(["ready", "bound-not-ready", "none"]);
|
|
26622
26623
|
var MANAGED_AGENT_RETIREMENT_PHASES = Object.freeze(["intent", "released", "retired", "deprovisioned", "terminal"]);
|
|
26624
|
+
var REMOTE_MANAGER_IDENTITY_NAMES = Object.freeze(["supervisor", "executor", "serve", "goalWriter", "sessionLedger"]);
|
|
26623
26625
|
|
|
26624
26626
|
// ../../packages/core/dist/agui-kind.js
|
|
26625
26627
|
var AGUI_EVENT_TYPE = Object.freeze({
|
|
@@ -24,13 +24,13 @@ import { DEFAULT_SERVER, DEV_OWNER, LAUNCH_MATERIAL_ENV as LAUNCH_MATERIAL_ENV2,
|
|
|
24
24
|
import { LAUNCH_MATERIAL_ENV, readLaunchMaterial } from "@cotal-ai/core/launch-material";
|
|
25
25
|
|
|
26
26
|
// ../connector-core/dist/agent.js
|
|
27
|
-
import { normalizeMentions, RUN_LAUNCH_DEADLINE_MS, subjectMatches, isConcreteChannel as isConcreteChannel2, assertValidChannel as assertValidChannel2, channelInAllow as channelInAllow2, resolvePeer as resolvePeerInRoster, peerLabel as peerLabel2, CotalEndpoint, BASELINE_LIFECYCLE_ENDPOINT as BASELINE_LIFECYCLE_ENDPOINT2, BIND_SPLIT_REISSUES, assertLifecycleToken as
|
|
27
|
+
import { normalizeMentions, RUN_LAUNCH_DEADLINE_MS, subjectMatches, isConcreteChannel as isConcreteChannel2, assertValidChannel as assertValidChannel2, channelInAllow as channelInAllow2, resolvePeer as resolvePeerInRoster, peerLabel as peerLabel2, CotalEndpoint, acquireLocalConsumer, BASELINE_LIFECYCLE_ENDPOINT as BASELINE_LIFECYCLE_ENDPOINT2, BIND_SPLIT_REISSUES, assertLifecycleToken as assertLifecycleToken2, EpEnvelopeError, isPublishPermissionDenied, unansweredRequest, renderLifecycleBlocked, controlReplyFrom, runAgentBearer, partsToText, assertValidRole } from "@cotal-ai/core";
|
|
28
28
|
|
|
29
29
|
// ../connector-core/dist/framing.js
|
|
30
30
|
import { peerLabel } from "@cotal-ai/core";
|
|
31
31
|
|
|
32
32
|
// ../connector-core/dist/manager-call.js
|
|
33
|
-
import { BASELINE_LIFECYCLE_ENDPOINT,
|
|
33
|
+
import { BASELINE_LIFECYCLE_ENDPOINT, dialerFor, goalFollowRefusal, invokeCommand, isPermissionDenied, issuedUserCaller, managerCallerBinding, replyRefusedBeforeEffect, resolveService, standaloneConnectOpts } from "@cotal-ai/core";
|
|
34
34
|
|
|
35
35
|
// ../connector-core/dist/runtime.js
|
|
36
36
|
import { tmpdir } from "node:os";
|
|
@@ -145,11 +145,11 @@ function launchEnv(opts = {}) {
|
|
|
145
145
|
}
|
|
146
146
|
function aclEnv(opts) {
|
|
147
147
|
const env = {};
|
|
148
|
-
if (opts.subscribe
|
|
148
|
+
if (opts.subscribe)
|
|
149
149
|
env.COTAL_SUBSCRIBE = opts.subscribe.join(",");
|
|
150
|
-
if (opts.allowSubscribe
|
|
150
|
+
if (opts.allowSubscribe)
|
|
151
151
|
env.COTAL_ALLOW_SUBSCRIBE = opts.allowSubscribe.join(",");
|
|
152
|
-
if (opts.allowPublish
|
|
152
|
+
if (opts.allowPublish)
|
|
153
153
|
env.COTAL_ALLOW_PUBLISH = opts.allowPublish.join(",");
|
|
154
154
|
if (opts.capabilities?.length)
|
|
155
155
|
env.COTAL_CAPABILITIES = opts.capabilities.join(",");
|
|
@@ -14888,7 +14888,7 @@ function date4(params) {
|
|
|
14888
14888
|
config(en_default());
|
|
14889
14889
|
|
|
14890
14890
|
// ../connector-core/dist/tool-specs.js
|
|
14891
|
-
import { isConcreteChannel as isConcreteChannel3, channelInAllow as channelInAllow3, AmbiguousPeerError, peerLabel as peerLabel4, assertLifecycleToken as
|
|
14891
|
+
import { isConcreteChannel as isConcreteChannel3, channelInAllow as channelInAllow3, AmbiguousPeerError, peerLabel as peerLabel4, assertLifecycleToken as assertLifecycleToken3, isPermissionDenied as isPermissionDenied2, renderLifecycleBlocked as renderLifecycleBlocked2, EpEnvelopeError as EpEnvelopeError2, LANG_PROBLEM_DETAIL_KIND, formatAge, presenceAges } from "@cotal-ai/core";
|
|
14892
14892
|
|
|
14893
14893
|
// ../connector-core/dist/orientation.js
|
|
14894
14894
|
import { peerLabel as peerLabel3 } from "@cotal-ai/core";
|