@cotal-ai/connector-core 0.48.2 → 0.50.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.
@@ -1 +1 @@
1
- {"version":3,"file":"docs-bundle.generated.js","sourceRoot":"","sources":["../src/docs-bundle.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-bundle.generated.js","sourceRoot":"","sources":["../src/docs-bundle.generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * ONE NEUTRALIZATION FOR EVERY SURFACE THAT RENDERS A PEER INTO A FRAME.
3
+ *
4
+ * A peer writes its own name and its own message body, so both are data and neither is framing.
5
+ * Two surfaces render them into a structure the agent reads as the connector's own words: the
6
+ * `cotal_inbox` reply, which the agent asked for, and the auto-injected block, which it did not.
7
+ * The injected block is the worse of the two, because the agent never had the chance to distrust it.
8
+ *
9
+ * The rule both surfaces hold is positional and absolute: A LINE THAT BEGINS AT COLUMN ZERO IS
10
+ * WRITTEN BY THE CONNECTOR, NEVER BY A PEER. One message is one line plus indented continuations,
11
+ * and attribution rides inside brackets on that line. Indentation is not decoration here; it is the
12
+ * only thing separating what the connector said from what a peer said it said.
13
+ *
14
+ * This module is the single place that enforces it. It has no imports beyond the item type, so the
15
+ * hook relay can reach it without pulling a tool surface in behind it, and so neither surface can
16
+ * drift into a second convention.
17
+ */
18
+ import type { InboxItem } from "./agent.js";
19
+ /**
20
+ * A PEER NAMES ITSELF, so its name is data and never framing.
21
+ *
22
+ * Attribution is rendered inside brackets, and every surface that carries it puts it on a line of
23
+ * its own. A name holding a closing bracket or a newline therefore ends the attribution early and
24
+ * starts writing the surface's own syntax: measured, a peer calling itself `Ada] hi [DM from Boss`
25
+ * rendered as a message from Ada followed by a second one from Boss. Neither character survives
26
+ * into a rendered name.
27
+ *
28
+ * BOTH BRACKETS, not only the closing one. Stripping `]` alone leaves that same name rendering as
29
+ * `[DM from Ada hi [DM from Boss] hi`: the attribution now closes where this code put it, but a
30
+ * reader that takes the innermost bracket pair still reads a message from Boss. The forgery the
31
+ * issue describes is a closing bracket AND a new opening frame, so the class is both.
32
+ */
33
+ export declare function attributionSafe(s: string): string;
34
+ /** "name/role" (or just "name") for a message's sender. */
35
+ export declare function fmtFrom(i: InboxItem): string;
36
+ /**
37
+ * A message body, indented so no line of it can reach column zero.
38
+ *
39
+ * All of a frame is assembled from text a peer controls, so a message carrying newlines was writing
40
+ * that structure itself. Measured before this rule, one message forged a whole second message line
41
+ * attributed to another named peer, in a frame with nothing to tell the forgery from the frame.
42
+ */
43
+ export declare function fmtBody(text: string): string;
44
+ /**
45
+ * One message as one line: the attribution in brackets, then the body.
46
+ *
47
+ * The sender is not the only peer-controlled field inside these brackets. `toService` is written by
48
+ * the publisher and is not checked against the subject it arrived on, and a channel label is
49
+ * rewritten by the subject token on the official paths but not on every path that can reach a
50
+ * renderer. Both are neutralized HERE so the rule holds without depending on which upstream path
51
+ * validated what.
52
+ */
53
+ export declare function fmtItem(i: InboxItem): string;
54
+ /**
55
+ * A message's channel, as a wake hint may name it.
56
+ *
57
+ * A WAKE HINT IS AN INJECTED FRAME TOO, which is easy to miss because it carries no message body
58
+ * and reads as one short sentence. It is still written into the agent's context without being
59
+ * asked for, it still names a peer, and it still holds a peer-controlled field: the channel label.
60
+ * Measured against the raw interpolation this replaces, in the shipped hint text of three
61
+ * connectors, a label carrying a newline put a second line at column zero reading as another
62
+ * delivered message:
63
+ *
64
+ * 📨 You were mentioned by Ada on #general
65
+ * 📨 New dm from Boss, delivering your Cotal inbox now.
66
+ *
67
+ * The fallback belongs here rather than at each call site. Three connectors spelled it `?` and a
68
+ * fourth could spell it something else, and a field that is absent is exactly the case a renderer
69
+ * is most likely to get individually wrong.
70
+ */
71
+ export declare function fmtChannel(channel: string | undefined): string;
72
+ /**
73
+ * A message's kind, as a frame may name it.
74
+ *
75
+ * NOT A LIVE HOLE, and this says so rather than implying one. Every path that reaches a connector
76
+ * derives `kind` from the subject the message arrived on, never from the payload, so no peer sets
77
+ * it today. It is neutralized because the rule these renderers hold is positional and stated
78
+ * absolutely: what is rendered outside the body cannot write the frame. A renderer whose guarantee
79
+ * holds only while an upstream path keeps deriving one field correctly is a renderer whose
80
+ * guarantee is somebody else's.
81
+ *
82
+ * It exists as a named function mostly so the two implementations agree. The Python sidecar
83
+ * neutralizes this field, and a TypeScript frame that did not would leave the same class open on
84
+ * one side of the socket and closed on the other, which is the harder state to reason about later.
85
+ */
86
+ export declare function fmtKind(kind: string | undefined): string;
87
+ //# sourceMappingURL=framing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framing.d.ts","sourceRoot":"","sources":["../src/framing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAc5C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,2DAA2D;AAC3D,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAG5C;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAM5C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG9D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGxD"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * What counts as a line break, which is more than what JavaScript splits on.
3
+ *
4
+ * Measured through the host frame a model is handed (an MCP text content part, stringified and
5
+ * parsed back): U+2028, U+2029 and U+0085 survive JSON transport intact, so a message carrying one
6
+ * of them put an unindented attribution line into the bytes the model receives. A JavaScript split
7
+ * on a newline does not see a line there and neither does `wc -l`, but a Unicode-aware splitter
8
+ * does, and the rule this serves is stated absolutely. The class is therefore every code point a
9
+ * line splitter may honour, not the two this repo used to know.
10
+ */
11
+ const LINE_BREAK = /\r\n?|[\n\v\f\u0085\u2028\u2029]/g;
12
+ /**
13
+ * A PEER NAMES ITSELF, so its name is data and never framing.
14
+ *
15
+ * Attribution is rendered inside brackets, and every surface that carries it puts it on a line of
16
+ * its own. A name holding a closing bracket or a newline therefore ends the attribution early and
17
+ * starts writing the surface's own syntax: measured, a peer calling itself `Ada] hi [DM from Boss`
18
+ * rendered as a message from Ada followed by a second one from Boss. Neither character survives
19
+ * into a rendered name.
20
+ *
21
+ * BOTH BRACKETS, not only the closing one. Stripping `]` alone leaves that same name rendering as
22
+ * `[DM from Ada hi [DM from Boss] hi`: the attribution now closes where this code put it, but a
23
+ * reader that takes the innermost bracket pair still reads a message from Boss. The forgery the
24
+ * issue describes is a closing bracket AND a new opening frame, so the class is both.
25
+ */
26
+ export function attributionSafe(s) {
27
+ return s.replace(/[\r\n\v\f\u0085\u2028\u2029[\]]+/g, " ");
28
+ }
29
+ /** "name/role" (or just "name") for a message's sender. */
30
+ export function fmtFrom(i) {
31
+ const name = attributionSafe(i.fromName);
32
+ return i.fromRole ? `${name}/${attributionSafe(i.fromRole)}` : name;
33
+ }
34
+ /**
35
+ * A message body, indented so no line of it can reach column zero.
36
+ *
37
+ * All of a frame is assembled from text a peer controls, so a message carrying newlines was writing
38
+ * that structure itself. Measured before this rule, one message forged a whole second message line
39
+ * attributed to another named peer, in a frame with nothing to tell the forgery from the frame.
40
+ */
41
+ export function fmtBody(text) {
42
+ return text.replace(LINE_BREAK, "\n ");
43
+ }
44
+ /**
45
+ * One message as one line: the attribution in brackets, then the body.
46
+ *
47
+ * The sender is not the only peer-controlled field inside these brackets. `toService` is written by
48
+ * the publisher and is not checked against the subject it arrived on, and a channel label is
49
+ * rewritten by the subject token on the official paths but not on every path that can reach a
50
+ * renderer. Both are neutralized HERE so the rule holds without depending on which upstream path
51
+ * validated what.
52
+ */
53
+ export function fmtItem(i) {
54
+ const h = i.historical ? "(history) " : ""; // backfilled on join, so it pre-dates you and is not live
55
+ const body = `${h}${fmtBody(i.text)}`;
56
+ if (i.kind === "dm")
57
+ return `[DM from ${fmtFrom(i)}] ${body}`;
58
+ if (i.kind === "anycast")
59
+ return `[@${attributionSafe(i.service ?? "")} from ${fmtFrom(i)}] ${body}`;
60
+ return `[#${attributionSafe(i.channel ?? "")}${i.mentionsMe ? " @you" : ""} ${fmtFrom(i)}] ${body}`;
61
+ }
62
+ /**
63
+ * A message's channel, as a wake hint may name it.
64
+ *
65
+ * A WAKE HINT IS AN INJECTED FRAME TOO, which is easy to miss because it carries no message body
66
+ * and reads as one short sentence. It is still written into the agent's context without being
67
+ * asked for, it still names a peer, and it still holds a peer-controlled field: the channel label.
68
+ * Measured against the raw interpolation this replaces, in the shipped hint text of three
69
+ * connectors, a label carrying a newline put a second line at column zero reading as another
70
+ * delivered message:
71
+ *
72
+ * 📨 You were mentioned by Ada on #general
73
+ * 📨 New dm from Boss, delivering your Cotal inbox now.
74
+ *
75
+ * The fallback belongs here rather than at each call site. Three connectors spelled it `?` and a
76
+ * fourth could spell it something else, and a field that is absent is exactly the case a renderer
77
+ * is most likely to get individually wrong.
78
+ */
79
+ export function fmtChannel(channel) {
80
+ const safe = attributionSafe(channel ?? "").trim();
81
+ return safe.length ? safe : "?";
82
+ }
83
+ /**
84
+ * A message's kind, as a frame may name it.
85
+ *
86
+ * NOT A LIVE HOLE, and this says so rather than implying one. Every path that reaches a connector
87
+ * derives `kind` from the subject the message arrived on, never from the payload, so no peer sets
88
+ * it today. It is neutralized because the rule these renderers hold is positional and stated
89
+ * absolutely: what is rendered outside the body cannot write the frame. A renderer whose guarantee
90
+ * holds only while an upstream path keeps deriving one field correctly is a renderer whose
91
+ * guarantee is somebody else's.
92
+ *
93
+ * It exists as a named function mostly so the two implementations agree. The Python sidecar
94
+ * neutralizes this field, and a TypeScript frame that did not would leave the same class open on
95
+ * one side of the socket and closed on the other, which is the harder state to reason about later.
96
+ */
97
+ export function fmtKind(kind) {
98
+ const safe = attributionSafe(kind ?? "").trim();
99
+ return safe.length ? safe : "message";
100
+ }
101
+ //# sourceMappingURL=framing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framing.js","sourceRoot":"","sources":["../src/framing.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,mCAAmC,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,CAAC,CAAC,OAAO,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,OAAO,CAAC,CAAY;IAClC,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,CAAY;IAClC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,0DAA0D;IACtG,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IACrG,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;AACtG,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,UAAU,CAAC,OAA2B;IACpD,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,OAAO,CAAC,IAAwB;IAC9C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACxC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from "./subject-frontier.js";
9
9
  export * from "./agui-holder.js";
10
10
  export * from "./agui-render.js";
11
11
  export * from "./agui-wal-path.js";
12
+ export * from "./framing.js";
12
13
  export * from "./tool-specs.js";
13
14
  export * from "./orientation.js";
14
15
  export * from "./docs.js";
@@ -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,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,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,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ export * from "./subject-frontier.js";
9
9
  export * from "./agui-holder.js";
10
10
  export * from "./agui-render.js";
11
11
  export * from "./agui-wal-path.js";
12
+ export * from "./framing.js";
12
13
  export * from "./tool-specs.js";
13
14
  export * from "./orientation.js";
14
15
  export * from "./docs.js";
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,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,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,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
package/dist/runtime.d.ts CHANGED
@@ -1,22 +1,3 @@
1
- /**
2
- * A connector's local control endpoint: the OS path its lifecycle hooks (and the manager's
3
- * cooperative-shutdown call) connect to, plus the shared secret that authenticates the first frame.
4
- *
5
- * The path id is `sha256(space\0name\0pid\0token)` (base64url, ≤32) — unguessable and
6
- * collision-free without leaking identity; the 256-bit `token` is the actual auth boundary (the
7
- * server validates it with a constant-time compare before doing anything — see `control.ts`).
8
- *
9
- * Transport is per-platform but the same `node:net` path string drives both: win32 has no
10
- * filesystem AF_UNIX socket Node can bind, so the path is a named pipe (`\\.\pipe\…`) whose default
11
- * DACL lets ANY local process connect — which is exactly why the token, not the path, is the
12
- * security boundary there. POSIX uses a per-user `tmpdir` socket.
13
- *
14
- * Minted ONCE at launch (in the manager's process, via the connector's `buildLaunch`). Both ends —
15
- * the in-agent server that LISTENS and the short-lived hooks that CONNECT — then read `path`+`token`
16
- * from the child env (`COTAL_CONTROL_SOCKET`/`COTAL_CONTROL_TOKEN`), never recompute them from
17
- * public identity; the manager keeps them in memory for the cooperative shutdown. (`process.pid` is
18
- * just generation-time entropy — the value flows by env, so it never has to match across processes.)
19
- */
20
1
  export declare function controlEndpoint(space: string, name: string, token?: string): {
21
2
  path: string;
22
3
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAA8C,GACpD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQjC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAqCA,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAA8C,GACpD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwBjC"}
package/dist/runtime.js CHANGED
@@ -20,12 +20,39 @@ import { createHash, randomBytes } from "node:crypto";
20
20
  * public identity; the manager keeps them in memory for the cooperative shutdown. (`process.pid` is
21
21
  * just generation-time entropy — the value flows by env, so it never has to match across processes.)
22
22
  */
23
+ /**
24
+ * The longest control-socket path the kernel will actually bind, in BYTES.
25
+ *
26
+ * `sockaddr_un.sun_path` is 108 bytes on Linux and 104 on macOS, and overrunning it fails at the
27
+ * bind with a bare `EINVAL` — an errno that names neither paths, nor lengths, nor sockets. The
28
+ * connector then reads as broken when what is actually wrong is the directory it was handed.
29
+ *
30
+ * MEASURED, not assumed: on this Linux 6.12 box a 108-byte path binds and a 109-byte path fails
31
+ * `EINVAL`, so the limit is INCLUSIVE and the whole 108 is usable. The darwin figure is the
32
+ * documented `sun_path` size and is NOT measured here; it is the smaller of the two, so taking it
33
+ * as the cap fails closed.
34
+ */
35
+ const SUN_PATH_MAX_BYTES = process.platform === "darwin" ? 104 : 108;
23
36
  export function controlEndpoint(space, name, token = randomBytes(32).toString("base64url")) {
24
37
  const id = createHash("sha256")
25
38
  .update(`${space}\0${name}\0${process.pid}\0${token}`)
26
39
  .digest("base64url")
27
40
  .slice(0, 32);
28
41
  const path = process.platform === "win32" ? `\\\\.\\pipe\\cotal-${id}` : join(tmpdir(), `cotal-${id}.sock`);
42
+ // `id` is a fixed 32 chars, so `tmpdir()` is the ONLY variable in this path: the tail
43
+ // `/cotal-<id>.sock` is a constant 44 bytes, leaving 64 for the temp root on Linux. A TMPDIR
44
+ // pointed inside a deep working copy spends that budget silently, and the overrun then surfaces
45
+ // as an `EINVAL` from a bind that cannot say why. Refuse HERE, where the path, its length and the
46
+ // limit are all in hand. win32 named pipes are not `sun_path` and carry no such limit.
47
+ const bytes = Buffer.byteLength(path);
48
+ if (process.platform !== "win32" && bytes > SUN_PATH_MAX_BYTES) {
49
+ const tail = `/cotal-${id}.sock`.length;
50
+ throw new Error(`control socket path is ${bytes} bytes, over the ${SUN_PATH_MAX_BYTES}-byte sun_path limit on ` +
51
+ `${process.platform}, so it cannot be bound and the kernel would report only EINVAL: ${path}. ` +
52
+ `The socket name is a fixed ${tail} bytes, so the temp root must be at most ` +
53
+ `${SUN_PATH_MAX_BYTES - tail} bytes — TMPDIR is ${Buffer.byteLength(tmpdir())} bytes ` +
54
+ `(${tmpdir()}). Point TMPDIR at a shorter directory.`);
55
+ }
29
56
  return { path, token };
30
57
  }
31
58
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,IAAY,EACZ,QAAgB,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAErD,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC5B,MAAM,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;SACrD,MAAM,CAAC,WAAW,CAAC;SACnB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;;;;;;;GAWG;AACH,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAErE,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,IAAY,EACZ,QAAgB,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAErD,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC5B,MAAM,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;SACrD,MAAM,CAAC,WAAW,CAAC;SACnB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjG,sFAAsF;IACtF,6FAA6F;IAC7F,gGAAgG;IAChG,kGAAkG;IAClG,uFAAuF;IACvF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,GAAG,kBAAkB,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,oBAAoB,kBAAkB,0BAA0B;YAC7F,GAAG,OAAO,CAAC,QAAQ,oEAAoE,IAAI,IAAI;YAC/F,8BAA8B,IAAI,2CAA2C;YAC7E,GAAG,kBAAkB,GAAG,IAAI,sBAAsB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,SAAS;YACtF,IAAI,MAAM,EAAE,yCAAyC,CACxD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC"}
@@ -54,8 +54,8 @@ export declare function parseToolArgs(spec: CotalToolSpec, args: unknown): Recor
54
54
  * A host given this refuses extras itself; a host given no `inputSchema` at all forwards them. */
55
55
  export declare const NO_TOOL_ARGS: CotalToolInput;
56
56
  export declare function refuseAnyArgs(name: string, args: unknown): string | undefined;
57
- /** "name/role" (or just "name") for a message's sender. */
58
- export declare function fmtFrom(i: InboxItem): string;
57
+ /** The neutralization and the per-item rendering live in `framing.ts`, one convention shared with
58
+ * the auto-injected block, and are used here rather than restated. See that file for the rule. */
59
59
  /**
60
60
  * HOW MUCH OF THE INBOX ONE RESPONSE MAY CARRY, in characters.
61
61
  *
@@ -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,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAI5F;yDACyD;AACzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgDD;;;;;;;sGAOsG;AACtG,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAExD,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB;;;;8FAI0F;IAC1F,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CACzF;AAUD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzF;AAED;;;;;;;;;GASG;AACH;mGACmG;AACnG,eAAO,MAAM,YAAY,EAAE,cAAmC,CAAC;AAE/D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG7E;AAeD,2DAA2D;AAC3D,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAG5C;AAeD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,oCAAoC;IACpC,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,8EAA8E;IAC9E,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B,uEAAuE;IACvE,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,KAAK,MAAM,CAAC;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC,GAAG,aAAa,CAyFhB;AA8LD,+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,CAy6BzF"}
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,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAI5F;yDACyD;AACzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgDD;;;;;;;sGAOsG;AACtG,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAExD,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB;;;;8FAI0F;IAC1F,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CACzF;AAUD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzF;AAED;;;;;;;;;GASG;AACH;mGACmG;AACnG,eAAO,MAAM,YAAY,EAAE,cAAmC,CAAC;AAE/D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG7E;AAeD;mGACmG;AACnG;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,oCAAoC;IACpC,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,8EAA8E;IAC9E,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B,uEAAuE;IACvE,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,KAAK,MAAM,CAAC;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC,GAAG,aAAa,CAyFhB;AAyJD,+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,CAk+BzF"}