@seat-mesh/core 1.0.0 → 1.0.3

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.
Files changed (154) hide show
  1. package/dist/ack/ack-algo.d.ts +84 -0
  2. package/dist/ack/ack-algo.d.ts.map +1 -0
  3. package/dist/ack/ack-algo.js +155 -0
  4. package/dist/ack/ack-algo.js.map +1 -0
  5. package/dist/ack/ack-algo.test.d.ts +2 -0
  6. package/dist/ack/ack-algo.test.d.ts.map +1 -0
  7. package/dist/ack/ack-algo.test.js +164 -0
  8. package/dist/ack/ack-algo.test.js.map +1 -0
  9. package/dist/ack/ack-copy.d.ts +27 -0
  10. package/dist/ack/ack-copy.d.ts.map +1 -0
  11. package/dist/ack/ack-copy.js +86 -0
  12. package/dist/ack/ack-copy.js.map +1 -0
  13. package/dist/ack/index.d.ts +4 -0
  14. package/dist/ack/index.d.ts.map +1 -0
  15. package/dist/ack/index.js +4 -0
  16. package/dist/ack/index.js.map +1 -0
  17. package/dist/ack/types.d.ts +40 -0
  18. package/dist/ack/types.d.ts.map +1 -0
  19. package/dist/ack/types.js +2 -0
  20. package/dist/ack/types.js.map +1 -0
  21. package/dist/chatfile/slot.js +1 -1
  22. package/dist/chatfile/slot.js.map +1 -1
  23. package/dist/chatroom/calls.d.ts.map +1 -1
  24. package/dist/chatroom/calls.js +2 -1
  25. package/dist/chatroom/calls.js.map +1 -1
  26. package/dist/chatroom/calls.test.js +3 -2
  27. package/dist/chatroom/calls.test.js.map +1 -1
  28. package/dist/chatroom/checkback-hint.d.ts +15 -4
  29. package/dist/chatroom/checkback-hint.d.ts.map +1 -1
  30. package/dist/chatroom/checkback-hint.js +28 -12
  31. package/dist/chatroom/checkback-hint.js.map +1 -1
  32. package/dist/chatroom/checkback-hint.test.js +4 -4
  33. package/dist/chatroom/checkback-hint.test.js.map +1 -1
  34. package/dist/chatroom/eod.d.ts +17 -0
  35. package/dist/chatroom/eod.d.ts.map +1 -0
  36. package/dist/chatroom/eod.js +32 -0
  37. package/dist/chatroom/eod.js.map +1 -0
  38. package/dist/chatroom/eod.test.d.ts +2 -0
  39. package/dist/chatroom/eod.test.d.ts.map +1 -0
  40. package/dist/chatroom/eod.test.js +24 -0
  41. package/dist/chatroom/eod.test.js.map +1 -0
  42. package/dist/chatroom/inbox-client.d.ts +10 -0
  43. package/dist/chatroom/inbox-client.d.ts.map +1 -1
  44. package/dist/chatroom/inbox-client.js +35 -0
  45. package/dist/chatroom/inbox-client.js.map +1 -1
  46. package/dist/chatroom/index.d.ts +3 -0
  47. package/dist/chatroom/index.d.ts.map +1 -1
  48. package/dist/chatroom/index.js +3 -0
  49. package/dist/chatroom/index.js.map +1 -1
  50. package/dist/chatroom/mdview-publish.d.ts +40 -0
  51. package/dist/chatroom/mdview-publish.d.ts.map +1 -0
  52. package/dist/chatroom/mdview-publish.js +109 -0
  53. package/dist/chatroom/mdview-publish.js.map +1 -0
  54. package/dist/chatroom/mdview-publish.test.d.ts +2 -0
  55. package/dist/chatroom/mdview-publish.test.d.ts.map +1 -0
  56. package/dist/chatroom/mdview-publish.test.js +37 -0
  57. package/dist/chatroom/mdview-publish.test.js.map +1 -0
  58. package/dist/chatroom/notify-act-client.d.ts +24 -6
  59. package/dist/chatroom/notify-act-client.d.ts.map +1 -1
  60. package/dist/chatroom/notify-act-client.js +83 -14
  61. package/dist/chatroom/notify-act-client.js.map +1 -1
  62. package/dist/chatroom/notify-act-client.test.js +32 -14
  63. package/dist/chatroom/notify-act-client.test.js.map +1 -1
  64. package/dist/chatroom/notify-act.d.ts +13 -0
  65. package/dist/chatroom/notify-act.d.ts.map +1 -1
  66. package/dist/chatroom/room.d.ts.map +1 -1
  67. package/dist/chatroom/room.js +7 -1
  68. package/dist/chatroom/room.js.map +1 -1
  69. package/dist/chatroom/room.test.js +15 -6
  70. package/dist/chatroom/room.test.js.map +1 -1
  71. package/dist/chatroom/target-client.d.ts +60 -0
  72. package/dist/chatroom/target-client.d.ts.map +1 -0
  73. package/dist/chatroom/target-client.js +124 -0
  74. package/dist/chatroom/target-client.js.map +1 -0
  75. package/dist/comms/call-target.d.ts +16 -0
  76. package/dist/comms/call-target.d.ts.map +1 -0
  77. package/dist/comms/call-target.js +30 -0
  78. package/dist/comms/call-target.js.map +1 -0
  79. package/dist/comms/call-target.test.d.ts +2 -0
  80. package/dist/comms/call-target.test.d.ts.map +1 -0
  81. package/dist/comms/call-target.test.js +29 -0
  82. package/dist/comms/call-target.test.js.map +1 -0
  83. package/dist/comms/envelope.d.ts +2 -2
  84. package/dist/composer/claude-idle.d.ts +13 -0
  85. package/dist/composer/claude-idle.d.ts.map +1 -0
  86. package/dist/composer/claude-idle.js +70 -0
  87. package/dist/composer/claude-idle.js.map +1 -0
  88. package/dist/index.d.ts +5 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +5 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/messages/cli-hints.d.ts +29 -5
  93. package/dist/messages/cli-hints.d.ts.map +1 -1
  94. package/dist/messages/cli-hints.js +58 -8
  95. package/dist/messages/cli-hints.js.map +1 -1
  96. package/dist/messages/cli-hints.test.d.ts +2 -0
  97. package/dist/messages/cli-hints.test.d.ts.map +1 -0
  98. package/dist/messages/cli-hints.test.js +20 -0
  99. package/dist/messages/cli-hints.test.js.map +1 -0
  100. package/dist/messages/mesh-inbox-intent.d.ts +3 -1
  101. package/dist/messages/mesh-inbox-intent.d.ts.map +1 -1
  102. package/dist/messages/mesh-inbox-intent.js +5 -0
  103. package/dist/messages/mesh-inbox-intent.js.map +1 -1
  104. package/dist/messages/mesh-inject-text.d.ts +10 -0
  105. package/dist/messages/mesh-inject-text.d.ts.map +1 -0
  106. package/dist/messages/mesh-inject-text.js +45 -0
  107. package/dist/messages/mesh-inject-text.js.map +1 -0
  108. package/dist/messages/peer-bulk.d.ts +28 -0
  109. package/dist/messages/peer-bulk.d.ts.map +1 -0
  110. package/dist/messages/peer-bulk.js +59 -0
  111. package/dist/messages/peer-bulk.js.map +1 -0
  112. package/dist/messages/peer-bulk.test.d.ts +2 -0
  113. package/dist/messages/peer-bulk.test.d.ts.map +1 -0
  114. package/dist/messages/peer-bulk.test.js +30 -0
  115. package/dist/messages/peer-bulk.test.js.map +1 -0
  116. package/dist/paths/paths-manifest.d.ts.map +1 -1
  117. package/dist/paths/paths-manifest.js +14 -2
  118. package/dist/paths/paths-manifest.js.map +1 -1
  119. package/dist/paths/paths-manifest.test.js +10 -0
  120. package/dist/paths/paths-manifest.test.js.map +1 -1
  121. package/dist/paths/runtime-paths.d.ts +1 -0
  122. package/dist/paths/runtime-paths.d.ts.map +1 -1
  123. package/dist/paths/runtime-paths.js +1 -0
  124. package/dist/paths/runtime-paths.js.map +1 -1
  125. package/dist/profile/profile.d.ts +1 -0
  126. package/dist/profile/profile.d.ts.map +1 -1
  127. package/dist/schema/agents.d.ts +75 -75
  128. package/dist/schema/layout.d.ts +5 -5
  129. package/dist/schema/profile.d.ts +48 -9
  130. package/dist/schema/profile.d.ts.map +1 -1
  131. package/dist/schema/profile.js +11 -0
  132. package/dist/schema/profile.js.map +1 -1
  133. package/dist/schema/seat-kind.d.ts +1 -1
  134. package/dist/schema/seat-kind.d.ts.map +1 -1
  135. package/dist/schema/seat-kind.js +5 -3
  136. package/dist/schema/seat-kind.js.map +1 -1
  137. package/dist/schema/seat-kind.test.js +2 -0
  138. package/dist/schema/seat-kind.test.js.map +1 -1
  139. package/dist/slot/guards.d.ts.map +1 -1
  140. package/dist/slot/guards.js +13 -0
  141. package/dist/slot/guards.js.map +1 -1
  142. package/dist/slot/types.d.ts +1 -1
  143. package/dist/slot/types.d.ts.map +1 -1
  144. package/dist/slot/types.js +1 -0
  145. package/dist/slot/types.js.map +1 -1
  146. package/dist/ux/defaults.d.ts.map +1 -1
  147. package/dist/ux/defaults.js +11 -0
  148. package/dist/ux/defaults.js.map +1 -1
  149. package/dist/ux/evaluate.d.ts.map +1 -1
  150. package/dist/ux/evaluate.js +14 -0
  151. package/dist/ux/evaluate.js.map +1 -1
  152. package/dist/ux/evaluate.test.js +12 -0
  153. package/dist/ux/evaluate.test.js.map +1 -1
  154. package/package.json +1 -1
@@ -98,7 +98,9 @@ describe("formatRoomCommsCheckback", () => {
98
98
  });
99
99
  expect(msg).toContain("inbound already has");
100
100
  expect(msg).toContain("peer");
101
- expect(formatRoomCommsCheckback("chat-room:managers peer update (msg)", { role: "manager" }, "manager-2")).toContain('seatmesh --profile .sm peer manager-2 "<msg>"');
101
+ expect(msg).toContain("cb cancel");
102
+ expect(msg).toContain("queued");
103
+ expect(formatRoomCommsCheckback("chat-room:managers peer update (msg)", { role: "manager" }, "manager-2")).toContain('seatmesh agent peer manager-2 "<msg>"');
102
104
  expect(parseRoomCommsExpect("chat-room:supervise peer update (claim)")?.slug).toBe("supervise");
103
105
  });
104
106
  it("does not offer a second harness", () => {
@@ -108,6 +110,11 @@ describe("formatRoomCommsCheckback", () => {
108
110
  expect(msg).not.toContain("room say");
109
111
  expect(msg).not.toContain("room tail");
110
112
  });
113
+ it("embeds cancel id when provided", () => {
114
+ const msg = formatRoomCommsCheckback("chat-room:global peer update (broadcast)", { role: "secretary" }, null, { verifyOnly: true, id: "cb-peer-1234567890-abcdef" });
115
+ expect(msg).toContain("cb cancel peer-12345");
116
+ expect(msg).toContain("chat reply does NOT cancel");
117
+ });
111
118
  });
112
119
  describe("formatRoomCoordNotify", () => {
113
120
  it("rich ping for manager/secretary/leads — includes body snippet", () => {
@@ -115,7 +122,7 @@ describe("formatRoomCoordNotify", () => {
115
122
  expect(msg).toContain("[mesh-inbox-room] supervise | mini-5 | claim");
116
123
  expect(msg).toContain("CLAIMED: proxy-restart lead slice");
117
124
  expect(msg).toContain("(+14 more unseen)");
118
- expect(msg).toContain('seatmesh --profile .sm peer mini-5 "<msg>"');
125
+ expect(msg).toContain('seatmesh agent peer mini-5 "<msg>"');
119
126
  expect(msg).not.toContain("room tail");
120
127
  });
121
128
  });
@@ -123,8 +130,8 @@ describe("formatRoomPeerNotify", () => {
123
130
  it("thin ping with unseen — no body relay", () => {
124
131
  const msg = formatRoomPeerNotify("team-room", "fyi", "worker-3", "FYI: long body that must not appear in inject", { role: "worker", slot: 6, workerCount: 8 }, { unseen: 2 });
125
132
  expect(msg).toContain("[mesh-inbox-room] team-room | worker-3 | fyi 2 unseen");
126
- expect(msg).toContain("seatmesh --profile .sm room tail -r team-room -n 15");
127
- expect(msg).toContain('seatmesh --profile .sm peer slot-3 "<msg>"');
133
+ expect(msg).toContain("seatmesh agent room tail -r team-room -n 15");
134
+ expect(msg).toContain('seatmesh agent peer slot-3 "<msg>"');
128
135
  expect(msg).not.toContain("long body that must not appear");
129
136
  expect(msg).not.toContain("standing:");
130
137
  });
@@ -133,13 +140,15 @@ describe("formatRoomDirectPm", () => {
133
140
  it("harness-style direct line for 2-member / @mention", () => {
134
141
  const msg = formatRoomDirectPm("peer-3-6-abc", "worker-3", "3", "3030/3031", "FYI: round 1 take", { role: "worker", slot: 6 });
135
142
  expect(msg).toContain("[agent-worker-slot-3] room peer-3-6-abc");
136
- expect(msg).toContain('seatmesh --profile .sm peer slot-3 "<msg>"');
143
+ expect(msg).toContain('seatmesh agent peer slot-3 "<msg>"');
137
144
  });
138
145
  });
139
146
  describe("formatGenericCheckback", () => {
140
147
  it("hints inbox grep for digest ACK", () => {
141
- const msg = formatGenericCheckback("master ACK review of opencode provider TS fix (digest queued 400ac9c9)", { role: "manager" });
148
+ const msg = formatGenericCheckback("master ACK review of opencode provider TS fix (digest queued 400ac9c9)", { role: "manager" }, { id: "cb-digest-aa" });
142
149
  expect(msg).toContain("inbox list | grep 400ac9c9");
150
+ expect(msg).toContain("cb cancel digest-aa");
151
+ expect(msg).toContain("queued");
143
152
  });
144
153
  });
145
154
  describe("looksLikeExpectsReply", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"room.test.js","sourceRoot":"","sources":["../../src/chatroom/room.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room.test.js","sourceRoot":"","sources":["../../src/chatroom/room.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ export interface TargetEntry {
2
+ id: string;
3
+ status: "active" | "done" | "cancelled";
4
+ goal: string;
5
+ deadlineAt: string;
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ kind?: "scope" | "slice";
9
+ parentId?: string;
10
+ remindedAt?: string;
11
+ triageAt?: string;
12
+ triageTo?: string[];
13
+ source?: string;
14
+ }
15
+ export interface AddTargetInput {
16
+ inboxBase: string;
17
+ goal: string;
18
+ /** eod (default) | ISO | duration */
19
+ deadline?: string;
20
+ triageTo?: string[];
21
+ /** Whole-operator goal for leads to break down. */
22
+ kind?: "scope" | "slice";
23
+ /** Parent scope id when adding a slice. */
24
+ parentId?: string;
25
+ }
26
+ export declare function addTarget(input: AddTargetInput): Promise<{
27
+ ok: boolean;
28
+ id?: string;
29
+ error?: string;
30
+ target?: TargetEntry;
31
+ }>;
32
+ export declare function addTargetSync(input: AddTargetInput): {
33
+ ok: boolean;
34
+ id?: string;
35
+ error?: string;
36
+ target?: TargetEntry;
37
+ };
38
+ export declare function listTargets(inboxBase: string, opts?: {
39
+ all?: boolean;
40
+ }): Promise<TargetEntry[]>;
41
+ export declare function listTargetsSync(inboxBase: string, opts?: {
42
+ all?: boolean;
43
+ }): TargetEntry[];
44
+ export declare function targetDone(inboxBase: string, id: string): Promise<{
45
+ ok: boolean;
46
+ error?: string;
47
+ }>;
48
+ export declare function targetCancel(inboxBase: string, id: string): Promise<{
49
+ ok: boolean;
50
+ error?: string;
51
+ }>;
52
+ export declare function targetTriage(inboxBase: string, id: string, triageTo?: string[]): Promise<{
53
+ ok: boolean;
54
+ error?: string;
55
+ }>;
56
+ export declare function targetRemind(inboxBase: string, id: string): Promise<{
57
+ ok: boolean;
58
+ error?: string;
59
+ }>;
60
+ //# sourceMappingURL=target-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-client.d.ts","sourceRoot":"","sources":["../../src/chatroom/target-client.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC,CA+B5H;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CA+BvH;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACvB,OAAO,CAAC,WAAW,EAAE,CAAC,CAUxB;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,EAAE,CAW1F;AAwBD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;QAjBvC,OAAO;YAAU,MAAM;GAmBvC;AACD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;QApBzC,OAAO;YAAU,MAAM;GAsBvC;AACD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE;QAvB9D,OAAO;YAAU,MAAM;GAyBvC;AACD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;QA1BzC,OAAO;YAAU,MAAM;GA4BvC"}
@@ -0,0 +1,124 @@
1
+ import { spawnSync } from "node:child_process";
2
+ import ky from "ky";
3
+ import { parseTargetDeadline } from "./eod.js";
4
+ function inboxClient(base) {
5
+ return ky.create({
6
+ prefix: base.replace(/\/$/, ""),
7
+ timeout: 5_000,
8
+ retry: { limit: 0 },
9
+ });
10
+ }
11
+ export function addTarget(input) {
12
+ const goal = input.goal.trim();
13
+ if (!goal)
14
+ return Promise.resolve({ ok: false, error: "goal required" });
15
+ const parsed = parseTargetDeadline(input.deadline, new Date());
16
+ if (!parsed.ok)
17
+ return Promise.resolve({ ok: false, error: parsed.error });
18
+ const payload = {
19
+ goal,
20
+ deadlineAt: parsed.deadlineAt,
21
+ triageTo: input.triageTo,
22
+ kind: input.kind,
23
+ parentId: input.parentId,
24
+ };
25
+ return (async () => {
26
+ try {
27
+ const json = (await inboxClient(input.inboxBase).post("targets", { json: payload }).json());
28
+ if (!json.ok)
29
+ return { ok: false, error: json.error ?? "rejected" };
30
+ return { ok: true, id: json.id, target: json.target };
31
+ }
32
+ catch (e) {
33
+ const err = e;
34
+ if (err.response) {
35
+ const text = await err.response.text().catch(() => "");
36
+ return { ok: false, error: `inbox POST ${err.response.status}: ${text.slice(0, 200)}` };
37
+ }
38
+ return { ok: false, error: err.message ?? String(e) };
39
+ }
40
+ })();
41
+ }
42
+ export function addTargetSync(input) {
43
+ const goal = input.goal.trim();
44
+ if (!goal)
45
+ return { ok: false, error: "goal required" };
46
+ const parsed = parseTargetDeadline(input.deadline, new Date());
47
+ if (!parsed.ok)
48
+ return { ok: false, error: parsed.error };
49
+ const payload = JSON.stringify({
50
+ goal,
51
+ deadlineAt: parsed.deadlineAt,
52
+ triageTo: input.triageTo,
53
+ kind: input.kind,
54
+ parentId: input.parentId,
55
+ });
56
+ const base = input.inboxBase.replace(/\/$/, "");
57
+ const r = spawnSync("curl", ["-sS", "-m", "5", "-X", "POST", `${base}/targets`, "-H", "content-type: application/json", "-d", payload], { encoding: "utf8" });
58
+ if (r.status !== 0)
59
+ return { ok: false, error: (r.stderr || r.stdout || "curl failed").trim().slice(0, 200) };
60
+ try {
61
+ const json = JSON.parse(r.stdout || "{}");
62
+ if (!json.ok)
63
+ return { ok: false, error: json.error ?? "rejected" };
64
+ return { ok: true, id: json.id, target: json.target };
65
+ }
66
+ catch {
67
+ return { ok: false, error: `bad response: ${(r.stdout || "").slice(0, 120)}` };
68
+ }
69
+ }
70
+ export async function listTargets(inboxBase, opts) {
71
+ const q = opts?.all ? "?all=1" : "";
72
+ try {
73
+ const json = (await inboxClient(inboxBase).get(`targets${q}`).json());
74
+ return json.targets ?? [];
75
+ }
76
+ catch {
77
+ return [];
78
+ }
79
+ }
80
+ export function listTargetsSync(inboxBase, opts) {
81
+ const q = opts?.all ? "?all=1" : "";
82
+ const base = inboxBase.replace(/\/$/, "");
83
+ const r = spawnSync("curl", ["-sS", "-m", "5", `${base}/targets${q}`], { encoding: "utf8" });
84
+ if (r.status !== 0)
85
+ return [];
86
+ try {
87
+ const json = JSON.parse(r.stdout || "{}");
88
+ return json.targets ?? [];
89
+ }
90
+ catch {
91
+ return [];
92
+ }
93
+ }
94
+ async function postTargetAction(inboxBase, id, action, body) {
95
+ try {
96
+ const json = (await inboxClient(inboxBase)
97
+ .post(`targets/${encodeURIComponent(id)}/${action}`, { json: body ?? {} })
98
+ .json());
99
+ if (!json.ok)
100
+ return { ok: false, error: json.error ?? "rejected" };
101
+ return { ok: true };
102
+ }
103
+ catch (e) {
104
+ const err = e;
105
+ if (err.response) {
106
+ const text = await err.response.text().catch(() => "");
107
+ return { ok: false, error: `inbox POST ${err.response.status}: ${text.slice(0, 200)}` };
108
+ }
109
+ return { ok: false, error: err.message ?? String(e) };
110
+ }
111
+ }
112
+ export function targetDone(inboxBase, id) {
113
+ return postTargetAction(inboxBase, id, "done");
114
+ }
115
+ export function targetCancel(inboxBase, id) {
116
+ return postTargetAction(inboxBase, id, "cancel");
117
+ }
118
+ export function targetTriage(inboxBase, id, triageTo) {
119
+ return postTargetAction(inboxBase, id, "triage", triageTo ? { triageTo } : {});
120
+ }
121
+ export function targetRemind(inboxBase, id) {
122
+ return postTargetAction(inboxBase, id, "remind");
123
+ }
124
+ //# sourceMappingURL=target-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-client.js","sourceRoot":"","sources":["../../src/chatroom/target-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export type CallDest = {
2
+ tier: "worker";
3
+ slot: number;
4
+ } | {
5
+ tier: "mini";
6
+ mini: number;
7
+ };
8
+ /** Parse room-call / cross-tier peer destination (slot-1, 1, mini-2, m2). */
9
+ export declare function parseCallDest(raw: string, opts: {
10
+ workerCount: number;
11
+ miniMax: number;
12
+ }): CallDest;
13
+ export declare function callDestLabel(dest: CallDest): string;
14
+ export declare function callDestResolveTarget(dest: CallDest): string;
15
+ export declare function peerRoomSlugAgents(agentA: string, agentB: string, shortId: string): string;
16
+ //# sourceMappingURL=call-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-target.d.ts","sourceRoot":"","sources":["../../src/comms/call-target.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,6EAA6E;AAC7E,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7C,QAAQ,CAmBV;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAI1F"}
@@ -0,0 +1,30 @@
1
+ /** Parse room-call / cross-tier peer destination (slot-1, 1, mini-2, m2). */
2
+ export function parseCallDest(raw, opts) {
3
+ const t = raw.trim().replace(/^slot-/, "");
4
+ const miniMatch = raw.match(/^(?:mini|manager-mini)-([1-9]\d*)$/i) ??
5
+ raw.match(/^m([1-9]\d*)$/i);
6
+ if (miniMatch) {
7
+ const mini = Number(miniMatch[1]);
8
+ if (mini < 1 || mini > opts.miniMax) {
9
+ throw new Error(`refused: mini-${mini} outside 1..${opts.miniMax}`);
10
+ }
11
+ return { tier: "mini", mini };
12
+ }
13
+ const slot = Number(t);
14
+ if (!/^[1-9]\d*$/.test(t) || slot < 1 || slot > opts.workerCount) {
15
+ throw new Error(`usage: room call <slot-N|mini-N> <topic...> (workers 1-${opts.workerCount}, minis 1-${opts.miniMax})`);
16
+ }
17
+ return { tier: "worker", slot };
18
+ }
19
+ export function callDestLabel(dest) {
20
+ return dest.tier === "worker" ? `slot-${dest.slot}` : `mini-${dest.mini}`;
21
+ }
22
+ export function callDestResolveTarget(dest) {
23
+ return dest.tier === "worker" ? String(dest.slot) : `mini-${dest.mini}`;
24
+ }
25
+ export function peerRoomSlugAgents(agentA, agentB, shortId) {
26
+ const [lo, hi] = [agentA, agentB].sort();
27
+ const safe = (s) => s.replace(/[^a-z0-9-]+/gi, "-").replace(/-+/g, "-");
28
+ return `peer-${safe(lo)}-${safe(hi)}-${shortId}`;
29
+ }
30
+ //# sourceMappingURL=call-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-target.js","sourceRoot":"","sources":["../../src/comms/call-target.ts"],"names":[],"mappings":"AAIA,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,IAA8C;IAE9C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,SAAS,GACb,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC;QAChD,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,4DAA4D,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,OAAO,GAAG,CACzG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,MAAc,EAAE,OAAe;IAChF,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChF,OAAO,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;AACnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=call-target.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-target.test.d.ts","sourceRoot":"","sources":["../../src/comms/call-target.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { callDestLabel, parseCallDest, peerRoomSlugAgents } from "./call-target.js";
3
+ describe("parseCallDest", () => {
4
+ const opts = { workerCount: 4, miniMax: 4 };
5
+ it("parses worker slot", () => {
6
+ expect(parseCallDest("slot-2", opts)).toEqual({ tier: "worker", slot: 2 });
7
+ expect(parseCallDest("3", opts)).toEqual({ tier: "worker", slot: 3 });
8
+ });
9
+ it("parses mini", () => {
10
+ expect(parseCallDest("mini-1", opts)).toEqual({ tier: "mini", mini: 1 });
11
+ expect(parseCallDest("manager-mini-2", opts)).toEqual({ tier: "mini", mini: 2 });
12
+ });
13
+ it("rejects out of range", () => {
14
+ expect(() => parseCallDest("mini-9", opts)).toThrow(/outside/);
15
+ expect(() => parseCallDest("9", opts)).toThrow(/usage/);
16
+ });
17
+ });
18
+ describe("peerRoomSlugAgents", () => {
19
+ it("sorts agent ids stably", () => {
20
+ expect(peerRoomSlugAgents("worker-2", "mini-1", "abcd1234")).toBe("peer-mini-1-worker-2-abcd1234");
21
+ });
22
+ });
23
+ describe("callDestLabel", () => {
24
+ it("labels tiers", () => {
25
+ expect(callDestLabel({ tier: "worker", slot: 1 })).toBe("slot-1");
26
+ expect(callDestLabel({ tier: "mini", mini: 2 })).toBe("mini-2");
27
+ });
28
+ });
29
+ //# sourceMappingURL=call-target.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-target.test.js","sourceRoot":"","sources":["../../src/comms/call-target.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAE5C,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAC/D,+BAA+B,CAChC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -99,7 +99,7 @@ export declare const CommsEnvelopeSchema: z.ZodObject<{
99
99
  body: string;
100
100
  expectReply: boolean;
101
101
  id?: string | undefined;
102
- prefixMode?: "manager" | "worker" | "none" | "mini-peer" | "mini-ask" | "plain" | undefined;
102
+ prefixMode?: "manager" | "worker" | "plain" | "none" | "mini-peer" | "mini-ask" | undefined;
103
103
  meta?: {
104
104
  kind?: "ack" | "substance" | "prove" | "blocked" | "fyi" | undefined;
105
105
  scheduleId?: string | undefined;
@@ -122,7 +122,7 @@ export declare const CommsEnvelopeSchema: z.ZodObject<{
122
122
  body: string;
123
123
  id?: string | undefined;
124
124
  priority?: number | undefined;
125
- prefixMode?: "manager" | "worker" | "none" | "mini-peer" | "mini-ask" | "plain" | undefined;
125
+ prefixMode?: "manager" | "worker" | "plain" | "none" | "mini-peer" | "mini-ask" | undefined;
126
126
  expectReply?: boolean | undefined;
127
127
  meta?: {
128
128
  kind?: "ack" | "substance" | "prove" | "blocked" | "fyi" | undefined;
@@ -0,0 +1,13 @@
1
+ export declare function isClaudePlaceholderPromptContent(text: string): boolean;
2
+ export declare function isClaudeDecorativeChromeNeighbor(prevLine: string, nextLine: string): boolean;
3
+ /**
4
+ * Claude auto-mode wraps the live composer between divider lines with an
5
+ * "auto mode on" footer — still the real composer, not a scrollback chip.
6
+ */
7
+ export declare function isClaudeLiveComposerRow(lines: string[], idx: number): boolean;
8
+ /**
9
+ * True when Claude shows a live empty composer (❯ with no draft) in the bottom band.
10
+ * Scrollback status lines like "still thinking" must not wedge borders as BUSY.
11
+ */
12
+ export declare function claudeIdleEmptyComposer(captureTail: string): boolean;
13
+ //# sourceMappingURL=claude-idle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-idle.d.ts","sourceRoot":"","sources":["../../src/composer/claude-idle.ts"],"names":[],"mappings":"AAKA,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMtE;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5F;AAID;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ7E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CA8BpE"}
@@ -0,0 +1,70 @@
1
+ /** A run of box-drawing/rule characters — decorative divider, not composer text. */
2
+ const RULE_LINE_RE = /^[\s─━│┃┆┊╌╍┄┅╭╮╰╯┌┐└┘┏┓┗┛┣┫┳┻╋=_.\-]{3,}$/;
3
+ const CLAUDE_NON_DRAFT_HINT_RE = /^Press up to edit queued messages$/i;
4
+ export function isClaudePlaceholderPromptContent(text) {
5
+ const t = text.trim();
6
+ if (!t)
7
+ return true;
8
+ if (RULE_LINE_RE.test(t))
9
+ return true;
10
+ if (/^[\s─━│┃┆┊╌╍┄┅╭╮╰╯┌┐└┘┏┓┗┛┣┫┳┻╋=_.\-]+$/.test(t))
11
+ return true;
12
+ return false;
13
+ }
14
+ export function isClaudeDecorativeChromeNeighbor(prevLine, nextLine) {
15
+ return RULE_LINE_RE.test(prevLine.trim()) || RULE_LINE_RE.test(nextLine.trim());
16
+ }
17
+ const CLAUDE_AUTO_MODE_FOOTER_RE = /auto mode on|shift\+tab to cycle/i;
18
+ /**
19
+ * Claude auto-mode wraps the live composer between divider lines with an
20
+ * "auto mode on" footer — still the real composer, not a scrollback chip.
21
+ */
22
+ export function isClaudeLiveComposerRow(lines, idx) {
23
+ const prev = lines[idx - 1] ?? "";
24
+ const next = lines[idx + 1] ?? "";
25
+ if (!isClaudeDecorativeChromeNeighbor(prev, next))
26
+ return true;
27
+ for (let j = idx + 1; j < Math.min(lines.length, idx + 6); j++) {
28
+ if (CLAUDE_AUTO_MODE_FOOTER_RE.test(lines[j] ?? ""))
29
+ return true;
30
+ }
31
+ return false;
32
+ }
33
+ /**
34
+ * True when Claude shows a live empty composer (❯ with no draft) in the bottom band.
35
+ * Scrollback status lines like "still thinking" must not wedge borders as BUSY.
36
+ */
37
+ export function claudeIdleEmptyComposer(captureTail) {
38
+ const lines = captureTail.split("\n");
39
+ const start = Math.max(0, lines.length - 14);
40
+ for (let i = lines.length - 1; i >= start; i--) {
41
+ const line = lines[i] ?? "";
42
+ const m = /^\s*❯\s+(.*)$/.exec(line);
43
+ if (m) {
44
+ const first = (m[1] ?? "").trim();
45
+ const emptyPrompt = isClaudePlaceholderPromptContent(first) || CLAUDE_NON_DRAFT_HINT_RE.test(first);
46
+ if (!emptyPrompt && !isClaudeLiveComposerRow(lines, i)) {
47
+ continue;
48
+ }
49
+ if (!emptyPrompt) {
50
+ // Live draft on prompt row (may continue on following lines).
51
+ for (let j = i + 1; j < lines.length; j++) {
52
+ const cont = lines[j] ?? "";
53
+ if (!cont.trim())
54
+ break;
55
+ if (/^\s*❯\s/.test(cont))
56
+ break;
57
+ if (cont.trim())
58
+ return false;
59
+ }
60
+ return false;
61
+ }
62
+ return true;
63
+ }
64
+ if (/^\s*❯\s*$/.test(line.replace(/\u00a0/g, " "))) {
65
+ return true;
66
+ }
67
+ }
68
+ return false;
69
+ }
70
+ //# sourceMappingURL=claude-idle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-idle.js","sourceRoot":"","sources":["../../src/composer/claude-idle.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export * from "./providers/registry.js";
13
13
  export * from "./queue/types.js";
14
14
  export * from "./pane-ops/types.js";
15
15
  export * from "./comms/envelope.js";
16
+ export * from "./comms/call-target.js";
16
17
  export * from "./slot/types.js";
17
18
  export * from "./slot/guards.js";
18
19
  export * from "./paths/paths.js";
@@ -29,6 +30,10 @@ export * from "./stack/index.js";
29
30
  export * from "./contracts/index.js";
30
31
  export * from "./runtime/global-registry.js";
31
32
  export * from "./messages/mesh-copy.js";
33
+ export * from "./messages/mesh-inject-text.js";
32
34
  export * from "./messages/mesh-inbox-intent.js";
35
+ export * from "./messages/peer-bulk.js";
36
+ export * from "./ack/index.js";
33
37
  export * from "./messages/cli-hints.js";
38
+ export * from "./composer/claude-idle.js";
34
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ export * from "./providers/registry.js";
13
13
  export * from "./queue/types.js";
14
14
  export * from "./pane-ops/types.js";
15
15
  export * from "./comms/envelope.js";
16
+ export * from "./comms/call-target.js";
16
17
  export * from "./slot/types.js";
17
18
  export * from "./slot/guards.js";
18
19
  export * from "./paths/paths.js";
@@ -29,6 +30,10 @@ export * from "./stack/index.js";
29
30
  export * from "./contracts/index.js";
30
31
  export * from "./runtime/global-registry.js";
31
32
  export * from "./messages/mesh-copy.js";
33
+ export * from "./messages/mesh-inject-text.js";
32
34
  export * from "./messages/mesh-inbox-intent.js";
35
+ export * from "./messages/peer-bulk.js";
36
+ export * from "./ack/index.js";
33
37
  export * from "./messages/cli-hints.js";
38
+ export * from "./composer/claude-idle.js";
34
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC"}
@@ -1,12 +1,36 @@
1
- /** User-facing CLI strings — no workspace wrappers, no operator names. */
1
+ /** User-facing CLI strings — no workspace wrappers with operator names. */
2
2
  export declare const SEATMESH_BIN = "seatmesh";
3
- /** zsign consumer profile from repo root — agents use this, not ./sm.sh */
4
- export declare const SEATMESH_ZSIGN_PROFILE = "seatmesh --profile .sm";
5
- /** Monorepo dev when global binary is stale: npx --prefix services/seat-mesh --no seatmesh -- --profile .sm */
6
- export declare const SEATMESH_ZSIGN_NPX = "npx --prefix services/seat-mesh --no seatmesh -- --profile .sm";
3
+ /**
4
+ * Default agent/operator prefix. Profile walks up to `.sm/` — no flag needed.
5
+ * Multi-config: `seatmesh --profile .sm-<name> …` (see {@link seatmeshProfileCmd}).
6
+ */
7
+ export declare const SEATMESH_DEFAULT = "seatmesh";
8
+ /**
9
+ * @deprecated Alias of {@link SEATMESH_DEFAULT}. Kept so older imports compile.
10
+ * Was `seatmesh --profile .sm` — that flag is optional now (default walk-up).
11
+ */
12
+ export declare const SEATMESH_ZSIGN_PROFILE = "seatmesh";
13
+ /** @deprecated Retired — agents must use {@link SEATMESH_DEFAULT} / {@link seatmeshCmd}. */
14
+ export declare const SEATMESH_AGENT_SHORTHAND = "seatmesh";
15
+ /** Monorepo / foreign workspace when the published bin is stale. */
16
+ export declare const SEATMESH_ZSIGN_NPX = "npx --prefix services/seat-mesh --no seatmesh --";
7
17
  /** Install: `npm install -g seatmesh@latest` or monorepo npx prefix (see SEATMESH_ZSIGN_NPX) */
8
18
  export declare const SEATMESH_INSTALL_HINT = "npm install -g seatmesh@latest (dev: npx --prefix services/seat-mesh --no seatmesh -- \u2026)";
19
+ /** Normalize a multi-config id to a dotdir: `cpe` | `sm-cpe` | `.sm-cpe` → `.sm-cpe`. */
20
+ export declare function normalizeSmProfileDir(name: string): string;
21
+ /** Explicit multi-config prefix: `seatmesh --profile .sm-cpe`. */
22
+ export declare function seatmeshProfileCmd(profileDir: string, sub?: string): string;
23
+ /**
24
+ * Agent inject / card line — always through the gateway:
25
+ * `seatmesh agent <sub>`
26
+ * Bare card: `seatmesh agent`
27
+ * Multi-config: {@link seatmeshProfileCmd}.
28
+ */
9
29
  export declare function seatmeshCmd(sub: string): string;
30
+ /** Top-level (operator / shared) — no `agent` gateway. */
31
+ export declare function seatmeshCmdTop(sub: string): string;
32
+ /** @deprecated Same as {@link seatmeshCmdTop}. */
33
+ export declare function seatmeshCmdLong(sub: string): string;
10
34
  export declare function seatmeshInboxRestart(): string;
11
35
  export declare function seatmeshWithProfile(cmd: string): string;
12
36
  export declare function seatmeshInboxDown(port: number): string;