@seat-mesh/core 0.1.18 → 0.1.22

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 (128) hide show
  1. package/dist/chatroom/agent-id.d.ts +6 -0
  2. package/dist/chatroom/agent-id.d.ts.map +1 -1
  3. package/dist/chatroom/agent-id.js +23 -4
  4. package/dist/chatroom/agent-id.js.map +1 -1
  5. package/dist/chatroom/checkback-hint.d.ts +12 -2
  6. package/dist/chatroom/checkback-hint.d.ts.map +1 -1
  7. package/dist/chatroom/checkback-hint.js +65 -31
  8. package/dist/chatroom/checkback-hint.js.map +1 -1
  9. package/dist/chatroom/checkback-hint.test.js +18 -1
  10. package/dist/chatroom/checkback-hint.test.js.map +1 -1
  11. package/dist/chatroom/comms-checkback.d.ts +3 -0
  12. package/dist/chatroom/comms-checkback.d.ts.map +1 -1
  13. package/dist/chatroom/comms-checkback.js +19 -1
  14. package/dist/chatroom/comms-checkback.js.map +1 -1
  15. package/dist/chatroom/inbox-client.d.ts +2 -0
  16. package/dist/chatroom/inbox-client.d.ts.map +1 -1
  17. package/dist/chatroom/inbox-client.js +45 -0
  18. package/dist/chatroom/inbox-client.js.map +1 -1
  19. package/dist/chatroom/read-state.d.ts +2 -0
  20. package/dist/chatroom/read-state.d.ts.map +1 -1
  21. package/dist/chatroom/read-state.js +10 -0
  22. package/dist/chatroom/read-state.js.map +1 -1
  23. package/dist/chatroom/room.d.ts +2 -0
  24. package/dist/chatroom/room.d.ts.map +1 -1
  25. package/dist/chatroom/room.js +30 -2
  26. package/dist/chatroom/room.js.map +1 -1
  27. package/dist/chatroom/room.test.js +33 -8
  28. package/dist/chatroom/room.test.js.map +1 -1
  29. package/dist/comms/envelope.d.ts +2 -2
  30. package/dist/contracts/agent-apply.d.ts +176 -0
  31. package/dist/contracts/agent-apply.d.ts.map +1 -0
  32. package/dist/contracts/agent-apply.js +296 -0
  33. package/dist/contracts/agent-apply.js.map +1 -0
  34. package/dist/contracts/agent-apply.test.d.ts +2 -0
  35. package/dist/contracts/agent-apply.test.d.ts.map +1 -0
  36. package/dist/contracts/agent-apply.test.js +103 -0
  37. package/dist/contracts/agent-apply.test.js.map +1 -0
  38. package/dist/contracts/balance-contract.test.d.ts +2 -0
  39. package/dist/contracts/balance-contract.test.d.ts.map +1 -0
  40. package/dist/contracts/balance-contract.test.js +38 -0
  41. package/dist/contracts/balance-contract.test.js.map +1 -0
  42. package/dist/contracts/balance.d.ts +36 -0
  43. package/dist/contracts/balance.d.ts.map +1 -0
  44. package/dist/contracts/balance.js +37 -0
  45. package/dist/contracts/balance.js.map +1 -0
  46. package/dist/contracts/index.d.ts +2 -0
  47. package/dist/contracts/index.d.ts.map +1 -1
  48. package/dist/contracts/index.js +2 -0
  49. package/dist/contracts/index.js.map +1 -1
  50. package/dist/index.d.ts +5 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +5 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/layout/stack.d.ts +1 -1
  55. package/dist/layout/stack.d.ts.map +1 -1
  56. package/dist/layout/stack.js +3 -2
  57. package/dist/layout/stack.js.map +1 -1
  58. package/dist/messages/cli-hints.d.ts +13 -0
  59. package/dist/messages/cli-hints.d.ts.map +1 -0
  60. package/dist/messages/cli-hints.js +22 -0
  61. package/dist/messages/cli-hints.js.map +1 -0
  62. package/dist/messages/mesh-copy.d.ts +88 -0
  63. package/dist/messages/mesh-copy.d.ts.map +1 -0
  64. package/dist/messages/mesh-copy.js +154 -0
  65. package/dist/messages/mesh-copy.js.map +1 -0
  66. package/dist/messages/mesh-copy.test.d.ts +2 -0
  67. package/dist/messages/mesh-copy.test.d.ts.map +1 -0
  68. package/dist/messages/mesh-copy.test.js +47 -0
  69. package/dist/messages/mesh-copy.test.js.map +1 -0
  70. package/dist/messages/mesh-inbox-intent.d.ts +12 -0
  71. package/dist/messages/mesh-inbox-intent.d.ts.map +1 -0
  72. package/dist/messages/mesh-inbox-intent.js +61 -0
  73. package/dist/messages/mesh-inbox-intent.js.map +1 -0
  74. package/dist/messages/mesh-inbox-intent.test.d.ts +2 -0
  75. package/dist/messages/mesh-inbox-intent.test.d.ts.map +1 -0
  76. package/dist/messages/mesh-inbox-intent.test.js +18 -0
  77. package/dist/messages/mesh-inbox-intent.test.js.map +1 -0
  78. package/dist/paths-manifest.test.js +1 -0
  79. package/dist/paths-manifest.test.js.map +1 -1
  80. package/dist/profile-edit.d.ts +26 -0
  81. package/dist/profile-edit.d.ts.map +1 -0
  82. package/dist/profile-edit.js +87 -0
  83. package/dist/profile-edit.js.map +1 -0
  84. package/dist/profile-edit.test.d.ts +2 -0
  85. package/dist/profile-edit.test.d.ts.map +1 -0
  86. package/dist/profile-edit.test.js +111 -0
  87. package/dist/profile-edit.test.js.map +1 -0
  88. package/dist/profile.d.ts +0 -1
  89. package/dist/profile.d.ts.map +1 -1
  90. package/dist/profile.js +6 -4
  91. package/dist/profile.js.map +1 -1
  92. package/dist/providers/types.d.ts +8 -0
  93. package/dist/providers/types.d.ts.map +1 -1
  94. package/dist/role-index.d.ts +25 -2
  95. package/dist/role-index.d.ts.map +1 -1
  96. package/dist/role-index.js +98 -16
  97. package/dist/role-index.js.map +1 -1
  98. package/dist/role-index.test.js +42 -1
  99. package/dist/role-index.test.js.map +1 -1
  100. package/dist/schema/agents.d.ts +886 -141
  101. package/dist/schema/agents.d.ts.map +1 -1
  102. package/dist/schema/agents.js +34 -7
  103. package/dist/schema/agents.js.map +1 -1
  104. package/dist/schema/layout-manager2.test.js +1 -1
  105. package/dist/schema/layout-manager2.test.js.map +1 -1
  106. package/dist/schema/layout.d.ts +63 -62
  107. package/dist/schema/layout.d.ts.map +1 -1
  108. package/dist/schema/layout.js +33 -13
  109. package/dist/schema/layout.js.map +1 -1
  110. package/dist/schema/profile.d.ts +105 -132
  111. package/dist/schema/profile.d.ts.map +1 -1
  112. package/dist/schema/profile.js +8 -7
  113. package/dist/schema/profile.js.map +1 -1
  114. package/dist/schema/seat-kind.d.ts +43 -0
  115. package/dist/schema/seat-kind.d.ts.map +1 -0
  116. package/dist/schema/seat-kind.js +102 -0
  117. package/dist/schema/seat-kind.js.map +1 -0
  118. package/dist/schema/seat-kind.test.d.ts +2 -0
  119. package/dist/schema/seat-kind.test.d.ts.map +1 -0
  120. package/dist/schema/seat-kind.test.js +62 -0
  121. package/dist/schema/seat-kind.test.js.map +1 -0
  122. package/dist/ux/defaults.d.ts.map +1 -1
  123. package/dist/ux/defaults.js +6 -7
  124. package/dist/ux/defaults.js.map +1 -1
  125. package/dist/ux/evaluate.d.ts.map +1 -1
  126. package/dist/ux/evaluate.js +6 -3
  127. package/dist/ux/evaluate.js.map +1 -1
  128. package/package.json +1 -1
@@ -4,4 +4,10 @@ export declare function resolveAgentId(input: {
4
4
  slot?: number | null;
5
5
  mini?: string | number | null;
6
6
  }): string;
7
+ /** One `./sm.sh peer` target — never bare `manager-mini` (use mini-N). */
8
+ export declare function peerTargetForComms(input: {
9
+ role: string;
10
+ slot?: number | null;
11
+ mini?: string | number | null;
12
+ }): string;
7
13
  //# sourceMappingURL=agent-id.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-id.d.ts","sourceRoot":"","sources":["../../src/chatroom/agent-id.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,MAAM,CAWT"}
1
+ {"version":3,"file":"agent-id.d.ts","sourceRoot":"","sources":["../../src/chatroom/agent-id.ts"],"names":[],"mappings":"AAMA,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,MAAM,CAUT;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,MAAM,CAWT"}
@@ -1,3 +1,7 @@
1
+ import { expandColumnAlias } from "../schema/seat-kind.js";
2
+ function hyphenColumnId(role) {
3
+ return expandColumnAlias(role).find((a) => a.includes("-")) ?? role;
4
+ }
1
5
  /** Stable agent id for room log lines (machine-oriented, not human chat). */
2
6
  export function resolveAgentId(input) {
3
7
  const role = input.role.toLowerCase();
@@ -5,14 +9,29 @@ export function resolveAgentId(input) {
5
9
  const m = input.mini ?? input.slot;
6
10
  return m != null && String(m).length ? `mini-${m}` : "mini";
7
11
  }
8
- if (role === "secretary")
9
- return "secretary";
10
- if (role === "manager-2")
11
- return "manager-2";
12
12
  if (role === "manager" || role === "master")
13
13
  return "manager";
14
+ if (role && role !== "worker")
15
+ return hyphenColumnId(role);
14
16
  if (input.slot != null)
15
17
  return `worker-${input.slot}`;
16
18
  return role || "unknown";
17
19
  }
20
+ /** One `./sm.sh peer` target — never bare `manager-mini` (use mini-N). */
21
+ export function peerTargetForComms(input) {
22
+ const role = input.role.toLowerCase();
23
+ if (role === "manager-mini" || role === "mini") {
24
+ const m = input.mini ?? null;
25
+ if (m != null && String(m).length > 0)
26
+ return `mini-${m}`;
27
+ return "mini-?";
28
+ }
29
+ if (role === "manager" || role === "master")
30
+ return "manager";
31
+ if (role && role !== "worker")
32
+ return hyphenColumnId(role);
33
+ if (input.slot != null)
34
+ return `slot-${input.slot}`;
35
+ return role || "unknown";
36
+ }
18
37
  //# sourceMappingURL=agent-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-id.js","sourceRoot":"","sources":["../../src/chatroom/agent-id.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,KAI9B;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"agent-id.js","sourceRoot":"","sources":["../../src/chatroom/agent-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACtE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,KAI9B;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;QACnC,OAAO,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC"}
@@ -23,14 +23,24 @@ export declare function formatSeatStamp(ctx?: RoomCommsReplyContext): string;
23
23
  export declare function formatMeshSteeringInject(ctx: RoomCommsReplyContext, tag: string, body: string): string;
24
24
  /** Worker prompt lead stamp for inject prefix. */
25
25
  export declare function formatWorkerInjectStamp(ctx: RoomCommsReplyContext): string;
26
- /** Room reply one-liner (receiver copies, replaces `<msg>`). */
26
+ /** Room reply one-liner (receiver runs in shell, replaces `<msg>`). */
27
27
  export declare function formatRoomSayReplyCmd(slug: string): string;
28
28
  /** Peer to-slot reply one-liner (`fromSlot` = sender to answer). */
29
29
  export declare function formatToSlotReplyCmd(fromSlot: string | number): string;
30
+ /** Coordinator peer reply one-liner (`fromRole` = sender column id). */
31
+ export declare function formatPeerReplyCmd(fromRole: string): string;
32
+ /** Map room/ledger agent id to the one `./sm.sh peer` target (no second harness). */
33
+ export declare function peerTargetFromAgentId(from: string): string;
34
+ /** Inbound comms footer — run in shell same turn; composer prose does not deliver. */
35
+ export declare function formatReplyToSender(from: string): string;
30
36
  /** Short checkback / patience nudge (not a full playbook). */
31
37
  export declare function formatCheckNudge(ctx: RoomCommsReplyContext, expect: string, hint: string): string;
38
+ export interface RoomCommsCheckbackOpts {
39
+ /** Daemon poll-later — no Reply: peer footer (keep working on hub). */
40
+ verifyOnly?: boolean;
41
+ }
32
42
  /** Engineering reply block for room-comms checkback injects (compact). */
33
- export declare function formatRoomCommsCheckback(expect: string, ctx?: RoomCommsReplyContext): string;
43
+ export declare function formatRoomCommsCheckback(expect: string, ctx?: RoomCommsReplyContext, from?: string | null, opts?: RoomCommsCheckbackOpts): string;
34
44
  export interface RoomPeerNotifyOpts {
35
45
  unseen?: number;
36
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkback-hint.d.ts","sourceRoot":"","sources":["../../src/chatroom/checkback-hint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkback-hint.d.ts","sourceRoot":"","sources":["../../src/chatroom/checkback-hint.ts"],"names":[],"mappings":"AAGA,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI1F;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,qBAA0C,GAAG,MAAM,CAczF;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,GAAG,GAAE,qBAA0C,GAAG,MAAM,CAEvF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,qBAAqB,EAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,MAAM,CAoBR;AAED,kDAAkD;AAClD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAG1E;AAED,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEtE;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjG;AAED,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,0EAA0E;AAC1E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,qBAA0C,EAC/C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,GAAE,sBAA2B,GAChC,MAAM,CAOR;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,qBAA0C,EAC/C,IAAI,GAAE,kBAAuB,GAC5B,MAAM,CAaR;AAED,mGAAmG;AACnG,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,qBAA0C,EAC/C,IAAI,GAAE,kBAAuB,GAC5B,MAAM,CAOR;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,qBAA0C,GAC/C,MAAM,CAGR;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAAA;CAAE,GAAG,IAAI,CAIjE;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,qBAA0C,GAC9C,MAAM,CAWR;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,qBAA0C,GAC9C,MAAM,CAOR;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,GAAE,qBAA0C,GAC9C,MAAM,CAUR;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,qBAA0C,GAC9C,MAAM,CAaR"}
@@ -1,3 +1,5 @@
1
+ import { MESH_INBOX_ROOM_TAG, MESH_INBOX_TAG } from "../messages/mesh-copy.js";
2
+ import { seatmeshCmd } from "../messages/cli-hints.js";
1
3
  /** Parse expect from room say checkback arm: `chat-room:<slug> peer update (<kind>)`. */
2
4
  export function parseRoomCommsExpect(expect) {
3
5
  const m = expect.match(/^chat-room:([^\s]+) peer update \(([^)]+)\)$/);
@@ -8,10 +10,13 @@ export function parseRoomCommsExpect(expect) {
8
10
  /** Compact seat token (harness `worker_inject_stamp` spirit: `slot-N ports P/P`). */
9
11
  export function formatCompactSeat(ctx = { role: "worker" }) {
10
12
  const role = ctx.role || "worker";
11
- if (role === "manager")
13
+ if (role === "manager" || role === "master")
12
14
  return "manager";
13
- if (role === "secretary")
14
- return "secretary";
15
+ if (role === "secretary" || role.startsWith("secretary-") || role.startsWith("manager-")) {
16
+ return role;
17
+ }
18
+ if (role !== "worker" && role !== "manager-mini")
19
+ return role;
15
20
  if (role === "manager-mini" || ctx.mini)
16
21
  return `mini-${ctx.mini ?? "?"}`;
17
22
  const slot = ctx.slot;
@@ -33,74 +38,103 @@ export function formatSeatStamp(ctx = { role: "worker" }) {
33
38
  export function formatMeshSteeringInject(ctx, tag, body) {
34
39
  const text = body.trim();
35
40
  if (!text)
36
- return `[mesh-inbox] ${tag}`;
41
+ return `${MESH_INBOX_TAG} ${tag}`;
37
42
  if (ctx.role === "manager" && /^TO-MASTER from /i.test(tag)) {
38
43
  const from = tag.replace(/^TO-MASTER from /i, "").trim();
39
- return `[mesh-inbox] ${from}: ${text}`;
44
+ return `${MESH_INBOX_TAG} ${from}: ${text}`;
40
45
  }
41
46
  if (ctx.role === "manager" && /DIGEST/i.test(tag)) {
42
- return `[mesh-inbox] DIGEST: ${text}`;
47
+ return `${MESH_INBOX_TAG} DIGEST: ${text}`;
43
48
  }
44
49
  if (/^\[agent-worker-slot-/m.test(text)) {
45
50
  return text;
46
51
  }
47
52
  const seat = formatCompactSeat(ctx);
48
53
  if (!text.includes("\n")) {
49
- return `${seat} | [mesh-inbox] ${tag}: ${text}`;
54
+ return `${seat} | ${MESH_INBOX_TAG} ${tag}: ${text}`;
50
55
  }
51
- return `${seat} | [mesh-inbox] ${tag}\n${text}`;
56
+ return `${seat} | ${MESH_INBOX_TAG} ${tag}\n${text}`;
52
57
  }
53
58
  /** Worker prompt lead stamp for inject prefix. */
54
59
  export function formatWorkerInjectStamp(ctx) {
55
60
  const seat = formatCompactSeat(ctx);
56
61
  return `${seat} -`;
57
62
  }
58
- /** Room reply one-liner (receiver copies, replaces `<msg>`). */
63
+ /** Room reply one-liner (receiver runs in shell, replaces `<msg>`). */
59
64
  export function formatRoomSayReplyCmd(slug) {
60
65
  const roomFlag = slug === "global" ? "" : ` -r ${slug}`;
61
- return `./sm.sh room say${roomFlag} "<msg>"`;
66
+ return seatmeshCmd(`room say${roomFlag} "<msg>"`);
62
67
  }
63
68
  /** Peer to-slot reply one-liner (`fromSlot` = sender to answer). */
64
69
  export function formatToSlotReplyCmd(fromSlot) {
65
- return `./sm.sh to-slot ${fromSlot} "<msg>"`;
70
+ return `to-slot ${fromSlot} "<msg>"`;
71
+ }
72
+ /** Coordinator peer reply one-liner (`fromRole` = sender column id). */
73
+ export function formatPeerReplyCmd(fromRole) {
74
+ return seatmeshCmd(`peer ${fromRole} "<msg>"`);
75
+ }
76
+ /** Map room/ledger agent id to the one `./sm.sh peer` target (no second harness). */
77
+ export function peerTargetFromAgentId(from) {
78
+ const id = from.trim();
79
+ if (!id || id === "master")
80
+ return "manager";
81
+ const worker = id.match(/^worker-(\d+)$/i);
82
+ if (worker)
83
+ return `slot-${worker[1]}`;
84
+ const mini = id.match(/^mini-(\d+)$/i);
85
+ if (mini)
86
+ return `mini-${mini[1]}`;
87
+ const managerMini = id.match(/^manager-mini-(\d+)$/i);
88
+ if (managerMini)
89
+ return `mini-${managerMini[1]}`;
90
+ if (id.toLowerCase() === "manager-mini" || id === "mini")
91
+ return "mini-?";
92
+ return id;
93
+ }
94
+ /** Inbound comms footer — run in shell same turn; composer prose does not deliver. */
95
+ export function formatReplyToSender(from) {
96
+ const shell = formatPeerReplyCmd(peerTargetFromAgentId(from));
97
+ return `SHELL (required — chat-only "received" does NOT file): ${shell}`;
66
98
  }
67
99
  /** Short checkback / patience nudge (not a full playbook). */
68
100
  export function formatCheckNudge(ctx, expect, hint) {
69
101
  return `${formatCompactSeat(ctx)} | Check: ${expect} — ${hint}`;
70
102
  }
71
103
  /** Engineering reply block for room-comms checkback injects (compact). */
72
- export function formatRoomCommsCheckback(expect, ctx = { role: "worker" }) {
73
- const parsed = parseRoomCommsExpect(expect);
74
- const slug = parsed?.slug ?? "global";
75
- const roomFlag = slug === "global" ? "" : ` -r ${slug}`;
76
- const tailCmd = `./sm.sh room tail${roomFlag} -n 30`;
77
- return formatCheckNudge(ctx, expect, `${tailCmd} | reply ${formatRoomSayReplyCmd(slug)}`);
104
+ export function formatRoomCommsCheckback(expect, ctx = { role: "worker" }, from, opts = {}) {
105
+ const hint = opts.verifyOnly
106
+ ? "one verify; continue current hub (no chat reply)"
107
+ : from?.trim()
108
+ ? formatReplyToSender(from)
109
+ : "inbound already has Reply: peer <sender>";
110
+ return formatCheckNudge(ctx, expect, hint);
78
111
  }
79
112
  /** Thin PEER wake-up for multi-member rooms (3+). Ledger is truth — no body relay. */
80
113
  export function formatRoomPeerNotify(slug, kind, from, _body, ctx = { role: "worker" }, opts = {}) {
81
- const roomFlag = slug === "global" ? "" : ` -r ${slug}`;
82
114
  const unseen = opts.unseen ?? 0;
83
115
  const unseenPart = unseen > 0 ? ` ${unseen} unseen` : "";
84
- const tail = `./sm.sh room tail${roomFlag} -n 15`;
85
116
  const seat = formatCompactSeat(ctx);
86
117
  const tag = `${slug} | ${from} | ${kind}${unseenPart}`;
87
- return `${seat} | [mesh-inbox-room] ${tag}\nVerify: ${tail} (no chat reply continue FOCUS/TASKS hub)`;
118
+ const roomFlag = slug === "global" ? "" : ` -r ${slug}`;
119
+ // A thin ping with only a "reply to sender" hint invites a blind reply without ever
120
+ // reading what's actually unseen (operator-reported: recipient had no way to see the
121
+ // content, just a reply command). Ledger is truth, so tell them how to read it first.
122
+ return (`${seat} | ${MESH_INBOX_ROOM_TAG} ${tag}\n` +
123
+ `Verify: ${seatmeshCmd(`room tail${roomFlag} -n 15`)}\n${formatReplyToSender(from)}`);
88
124
  }
89
125
  /** Rich PEER for manager / secretary / mini-leads / lead-workers — includes claim body snippet. */
90
126
  export function formatRoomCoordNotify(slug, kind, from, body, ctx = { role: "worker" }, opts = {}) {
91
- const roomFlag = slug === "global" ? "" : ` -r ${slug}`;
92
127
  const unseen = opts.unseen ?? 0;
93
128
  const unseenPart = unseen > 1 ? ` (+${unseen - 1} more unseen)` : "";
94
129
  const seat = formatCompactSeat(ctx);
95
130
  const text = body.trim();
96
131
  const snippet = text.length > 480 ? `${text.slice(0, 477)}...` : text;
97
- const tail = `./sm.sh room tail${roomFlag} -n 15`;
98
- return `${seat} | [mesh-inbox-room] ${slug} | ${from} | ${kind}${unseenPart}\n${snippet}\nVerify: ${tail} (no chat reply — continue FOCUS/TASKS hub)`;
132
+ return `${seat} | ${MESH_INBOX_ROOM_TAG} ${slug} | ${from} | ${kind}${unseenPart}\n${snippet}\n${formatReplyToSender(from)}`;
99
133
  }
100
134
  /** Harness-style direct room line (2-member rooms, @mentions). */
101
135
  export function formatRoomDirectPm(slug, from, fromSlot, fromPorts, body, _ctx = { role: "worker" }) {
102
136
  const text = body.trim();
103
- return `[agent-worker-slot-${fromSlot}] room ${slug} (${fromPorts}) from ${from}: ${text} — reply ${formatRoomSayReplyCmd(slug)}`;
137
+ return `[agent-worker-slot-${fromSlot}] room ${slug} (${fromPorts}) from ${from}: ${text}\n${formatReplyToSender(from)}`;
104
138
  }
105
139
  export function parseRoomCallExpect(expect) {
106
140
  const m = expect.match(/^room-call:([^\s]+) (resolved|accept\|decline)$/);
@@ -112,17 +146,17 @@ export function formatRoomCallCheckback(expect, ctx = { role: "worker" }) {
112
146
  const parsed = parseRoomCallExpect(expect);
113
147
  const callId = parsed?.callId ?? "?";
114
148
  if (parsed?.phase === "accept|decline") {
115
- return formatCheckNudge(ctx, expect, `./sm.sh room accept ${callId} | ./sm.sh room decline ${callId}`);
149
+ return formatCheckNudge(ctx, expect, `room accept ${callId} | room decline ${callId}`);
116
150
  }
117
- return formatCheckNudge(ctx, expect, `./sm.sh room calls (${callId})`);
151
+ return formatCheckNudge(ctx, expect, `room calls (${callId})`);
118
152
  }
119
153
  export function formatRoomCallInvite(callShortId, fromAgent, topic, ctx = { role: "worker" }) {
120
154
  const topicLine = topic.length > 120 ? `${topic.slice(0, 117)}...` : topic;
121
- return formatMeshSteeringInject(ctx, `CALL ${fromAgent}`, `${topicLine} — ./sm.sh room accept ${callShortId} | decline ${callShortId}`);
155
+ return formatMeshSteeringInject(ctx, `CALL ${fromAgent}`, `${topicLine} — room accept ${callShortId} | decline ${callShortId}`);
122
156
  }
123
157
  export function formatRoomCallResolved(status, peerAgent, roomSlug, callShortId, reason, ctx = { role: "worker" }) {
124
158
  if (status === "accepted" && roomSlug) {
125
- return formatMeshSteeringInject(ctx, `ACCEPTED ${peerAgent}`, `./sm.sh room tail -r ${roomSlug} -n 10`);
159
+ return formatMeshSteeringInject(ctx, `ACCEPTED ${peerAgent}`, `room tail -r ${roomSlug} -n 10`);
126
160
  }
127
161
  const why = reason?.trim() ? ` (${reason.trim().slice(0, 80)})` : "";
128
162
  return formatMeshSteeringInject(ctx, `DECLINED ${callShortId}`, `${peerAgent}${why}`);
@@ -130,11 +164,11 @@ export function formatRoomCallResolved(status, peerAgent, roomSlug, callShortId,
130
164
  export function formatGenericCheckback(expect, ctx = { role: "worker" }) {
131
165
  const digestId = expect.match(/digest queued ([a-f0-9-]+)/i)?.[1];
132
166
  if (digestId) {
133
- return formatCheckNudge(ctx, expect, `./sm.sh inbox list | grep ${digestId.slice(0, 8)}`);
167
+ return formatCheckNudge(ctx, expect, `inbox list | grep ${digestId.slice(0, 8)}`);
134
168
  }
135
169
  if (/proxy ipify|OC-LIMIT|Cannot connect/i.test(expect)) {
136
- return formatCheckNudge(ctx, expect, "./sm.sh proxy status");
170
+ return formatCheckNudge(ctx, expect, "proxy status");
137
171
  }
138
- return formatCheckNudge(ctx, expect, "./sm.sh checkback list | cancel <id>");
172
+ return formatCheckNudge(ctx, expect, "checkback list | cancel <id>");
139
173
  }
140
174
  //# sourceMappingURL=checkback-hint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkback-hint.js","sourceRoot":"","sources":["../../src/chatroom/checkback-hint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkback-hint.js","sourceRoot":"","sources":["../../src/chatroom/checkback-hint.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,26 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { formatCompactSeat, formatWorkerInjectStamp } from "./checkback-hint.js";
2
+ import { formatCompactSeat, formatPeerReplyCmd, formatReplyToSender, formatRoomSayReplyCmd, formatToSlotReplyCmd, formatWorkerInjectStamp, peerTargetFromAgentId, } from "./checkback-hint.js";
3
3
  describe("formatCompactSeat", () => {
4
4
  it("labels manager coord pane", () => {
5
5
  expect(formatCompactSeat({ role: "manager" })).toBe("manager");
6
6
  expect(formatWorkerInjectStamp({ role: "manager" })).toBe("manager -");
7
7
  });
8
8
  });
9
+ describe("reply cmd hints", () => {
10
+ it("formats room / to-slot / peer one-liners", () => {
11
+ expect(formatRoomSayReplyCmd("managers")).toBe('seatmesh --profile .sm room say -r managers "<msg>"');
12
+ expect(formatToSlotReplyCmd(3)).toBe('to-slot 3 "<msg>"');
13
+ expect(formatPeerReplyCmd("manager-2")).toBe('seatmesh --profile .sm peer manager-2 "<msg>"');
14
+ expect(formatPeerReplyCmd("manager")).toBe('seatmesh --profile .sm peer manager "<msg>"');
15
+ expect(peerTargetFromAgentId("worker-3")).toBe("slot-3");
16
+ expect(peerTargetFromAgentId("manager-2")).toBe("manager-2");
17
+ expect(peerTargetFromAgentId("mini-4")).toBe("mini-4");
18
+ expect(peerTargetFromAgentId("manager-mini-4")).toBe("mini-4");
19
+ expect(peerTargetFromAgentId("manager-mini")).toBe("mini-?");
20
+ expect(formatReplyToSender("manager-2")).toContain("SHELL (required");
21
+ expect(formatReplyToSender("manager-2")).toContain('seatmesh --profile .sm peer manager-2 "<msg>"');
22
+ expect(formatReplyToSender("mini-4")).toContain("peer mini-4");
23
+ expect(formatReplyToSender("worker-6")).toContain("peer slot-6");
24
+ });
25
+ });
9
26
  //# sourceMappingURL=checkback-hint.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkback-hint.test.js","sourceRoot":"","sources":["../../src/chatroom/checkback-hint.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"checkback-hint.test.js","sourceRoot":"","sources":["../../src/chatroom/checkback-hint.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAC5C,qDAAqD,CACtD,CAAC;QACF,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAC1C,+CAA+C,CAChD,CAAC;QACF,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1F,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtE,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAChD,+CAA+C,CAChD,CAAC;QACF,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -18,7 +18,10 @@ export declare function checkbackTimingForExpect(cfg: ChatRoomConfig, expect: st
18
18
  };
19
19
  /** Default poll-later on every comms send/receive (patience / checkback). */
20
20
  export declare function armCommsCheckback(input: ArmCommsCheckbackInput): Promise<ArmCheckbackResult>;
21
+ /** Blocking arm for CLI send (peer/assign/to-slot) — default 5m / renew 3m from profile. */
22
+ export declare function armCommsCheckbackSync(input: ArmCommsCheckbackInput): ArmCheckbackResult;
21
23
  export declare function expectPeerSlotReply(fromSlot: string): string;
24
+ export declare function expectPeerReply(target: string): string;
22
25
  export declare function expectRoomPeerReply(slug: string): string;
23
26
  export declare function expectRoomCallResolved(shortId: string): string;
24
27
  export declare function expectRoomCallPending(shortId: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"comms-checkback.d.ts","sourceRoot":"","sources":["../../src/chatroom/comms-checkback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,cAAc,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,GACb;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQrC;AAED,6EAA6E;AAC7E,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAa7B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7D"}
1
+ {"version":3,"file":"comms-checkback.d.ts","sourceRoot":"","sources":["../../src/chatroom/comms-checkback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5F,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,cAAc,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,GACb;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQrC;AAED,6EAA6E;AAC7E,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAa7B;AAED,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,GAAG,kBAAkB,CAavF;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -1,4 +1,4 @@
1
- import { armCheckback } from "./inbox-client.js";
1
+ import { armCheckback, armCheckbackSync } from "./inbox-client.js";
2
2
  export function isRoomCallExpect(expect) {
3
3
  return expect.startsWith("room-call:");
4
4
  }
@@ -26,9 +26,27 @@ export async function armCommsCheckback(input) {
26
26
  ownerMini: input.ownerMini,
27
27
  });
28
28
  }
29
+ /** Blocking arm for CLI send (peer/assign/to-slot) — default 5m / renew 3m from profile. */
30
+ export function armCommsCheckbackSync(input) {
31
+ const timing = checkbackTimingForExpect(input.cfg, input.expect);
32
+ return armCheckbackSync({
33
+ inboxBase: input.cfg.inboxBase,
34
+ ownerPane: input.ownerPane,
35
+ expect: input.expect,
36
+ duration: input.duration ?? timing.duration,
37
+ renew: input.renew ?? timing.renew,
38
+ kind: input.kind ?? "comms",
39
+ senderPane: input.senderPane ?? input.ownerPane,
40
+ ownerSlot: input.ownerSlot,
41
+ ownerMini: input.ownerMini,
42
+ });
43
+ }
29
44
  export function expectPeerSlotReply(fromSlot) {
30
45
  return `peer slot-${fromSlot} reply`;
31
46
  }
47
+ export function expectPeerReply(target) {
48
+ return `peer:${target} reply`;
49
+ }
32
50
  export function expectRoomPeerReply(slug) {
33
51
  return `chat-room:${slug} peer reply`;
34
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"comms-checkback.js","sourceRoot":"","sources":["../../src/chatroom/comms-checkback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;AAc1E,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAmB,EACnB,MAAc;IAEd,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,GAAG,CAAC,4BAA4B;YAC1C,KAAK,EAAE,GAAG,CAAC,yBAAyB;SACrC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;AACxE,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAA6B;IAE7B,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;QAClC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;QAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS;QAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO,aAAa,QAAQ,QAAQ,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,aAAa,IAAI,aAAa,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,aAAa,OAAO,WAAW,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,aAAa,OAAO,iBAAiB,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"comms-checkback.js","sourceRoot":"","sources":["../../src/chatroom/comms-checkback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAA2B,MAAM,mBAAmB,CAAC;AAc5F,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAmB,EACnB,MAAc;IAEd,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,GAAG,CAAC,4BAA4B;YAC1C,KAAK,EAAE,GAAG,CAAC,yBAAyB;SACrC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;AACxE,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAA6B;IAE7B,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;QAClC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;QAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS;QAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,qBAAqB,CAAC,KAA6B;IACjE,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,gBAAgB,CAAC;QACtB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;QAClC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;QAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS;QAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO,aAAa,QAAQ,QAAQ,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,aAAa,IAAI,aAAa,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,aAAa,OAAO,WAAW,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,aAAa,OAAO,iBAAiB,CAAC;AAC/C,CAAC"}
@@ -17,6 +17,8 @@ export interface ArmCheckbackResult {
17
17
  }
18
18
  /** Arm inbox checkback (poll-later). Default on comms so agents keep working instead of human POV chat-wait. */
19
19
  export declare function armCheckback(input: ArmCheckbackInput): Promise<ArmCheckbackResult>;
20
+ /** Sync arm — CLI send paths must not exit before the timer is posted. */
21
+ export declare function armCheckbackSync(input: ArmCheckbackInput): ArmCheckbackResult;
20
22
  export declare function inboxHealthy(inboxBase: string): Promise<boolean>;
21
23
  export interface CheckbackEntry {
22
24
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-client.d.ts","sourceRoot":"","sources":["../../src/chatroom/inbox-client.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,gHAAgH;AAChH,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwCxF;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOtE;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAGxC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,qBAAqB,CAAC,CAKhC;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,CAAC,CAIpC;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAc/B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,kBAAkB,CAAC,CAa7B"}
1
+ {"version":3,"file":"inbox-client.d.ts","sourceRoot":"","sources":["../../src/chatroom/inbox-client.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,gHAAgH;AAChH,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwCxF;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CA8C7E;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOtE;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAGxC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,qBAAqB,CAAC,CAKhC;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,yBAAyB,CAAC,CAIpC;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAc/B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,kBAAkB,CAAC,CAa7B"}
@@ -1,3 +1,4 @@
1
+ import { spawnSync } from "node:child_process";
1
2
  import ky from "ky";
2
3
  import { expiresAtUtcFromDuration, parseDurationToSeconds } from "./duration.js";
3
4
  function inboxClient(base) {
@@ -46,6 +47,50 @@ export async function armCheckback(input) {
46
47
  return { ok: false, reason: err.message ?? String(e) };
47
48
  }
48
49
  }
50
+ /** Sync arm — CLI send paths must not exit before the timer is posted. */
51
+ export function armCheckbackSync(input) {
52
+ if (!input.ownerPane) {
53
+ return { ok: false, reason: "no owner pane (--here / tmux pane required)" };
54
+ }
55
+ const expiresAt = expiresAtUtcFromDuration(input.duration);
56
+ if (!expiresAt) {
57
+ return { ok: false, reason: `bad duration: ${input.duration}` };
58
+ }
59
+ let renewSec = null;
60
+ if (input.renew) {
61
+ renewSec = parseDurationToSeconds(input.renew);
62
+ if (renewSec == null) {
63
+ return { ok: false, reason: `bad renew: ${input.renew}` };
64
+ }
65
+ }
66
+ const payload = {
67
+ expect: input.expect,
68
+ ownerPane: input.ownerPane,
69
+ expiresAt,
70
+ kind: input.kind ?? "comms",
71
+ renewSec,
72
+ ownerMini: input.ownerMini != null && String(input.ownerMini) !== "" ? input.ownerMini : null,
73
+ ownerSlot: input.ownerSlot != null && String(input.ownerSlot) !== "" ? input.ownerSlot : null,
74
+ senderPane: input.senderPane ?? null,
75
+ };
76
+ const base = input.inboxBase.replace(/\/$/, "");
77
+ const r = spawnSync("curl", [
78
+ "-sS",
79
+ "-m",
80
+ "5",
81
+ "-X",
82
+ "POST",
83
+ `${base}/patience`,
84
+ "-H",
85
+ "Content-Type: application/json",
86
+ "-d",
87
+ JSON.stringify(payload),
88
+ ], { encoding: "utf8" });
89
+ if (r.status !== 0) {
90
+ return { ok: false, reason: r.stderr?.trim() || r.stdout?.trim() || "curl patience failed" };
91
+ }
92
+ return { ok: true, response: r.stdout };
93
+ }
49
94
  export async function inboxHealthy(inboxBase) {
50
95
  try {
51
96
  await inboxClient(inboxBase).get("health");
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-client.js","sourceRoot":"","sources":["../../src/chatroom/inbox-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox-client.js","sourceRoot":"","sources":["../../src/chatroom/inbox-client.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export type RoomReadState = Record<string, AgentReadCursor>;
8
8
  export declare function loadRoomReadState(roomPath: string): RoomReadState;
9
9
  export declare function saveRoomReadState(roomPath: string, state: RoomReadState): void;
10
10
  export declare function listRoomMessages(workspace: string, cfg: ChatRoomConfig, slug: string): RoomMessage[];
11
+ /** Latest ledger `from` that is not `excludeFrom` (Check paste names this sender). */
12
+ export declare function lastInboundRoomFrom(messages: RoomMessage[], excludeFrom: string): string | null;
11
13
  export declare function countUnseenMessages(messages: RoomMessage[], agentId: string, cursor: AgentReadCursor | undefined): number;
12
14
  export declare function markRoomRead(workspace: string, cfg: ChatRoomConfig, slug: string, agentId: string): {
13
15
  marked: number;
@@ -1 +1 @@
1
- {"version":3,"file":"read-state.d.ts","sourceRoot":"","sources":["../../src/chatroom/read-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhD,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAM5D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAQjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAG9E;AAuBD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAGpG;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,MAAM,CAUR;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAY7C;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAKR"}
1
+ {"version":3,"file":"read-state.d.ts","sourceRoot":"","sources":["../../src/chatroom/read-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIhD,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAM5D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAQjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAG9E;AAuBD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAGpG;AAED,sFAAsF;AACtF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,MAAM,CAUR;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAY7C;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAKR"}
@@ -47,6 +47,16 @@ export function listRoomMessages(workspace, cfg, slug) {
47
47
  const file = roomLogPath(roomDir(workspace, cfg, slug));
48
48
  return listRoomMessagesSync(file);
49
49
  }
50
+ /** Latest ledger `from` that is not `excludeFrom` (Check paste names this sender). */
51
+ export function lastInboundRoomFrom(messages, excludeFrom) {
52
+ const self = excludeFrom.trim();
53
+ for (let i = messages.length - 1; i >= 0; i--) {
54
+ const from = messages[i]?.from?.trim();
55
+ if (from && from !== self)
56
+ return from;
57
+ }
58
+ return null;
59
+ }
50
60
  export function countUnseenMessages(messages, agentId, cursor) {
51
61
  const afterTs = cursor?.lastReadTs ?? "";
52
62
  const afterId = cursor?.lastReadId ?? "";
@@ -1 +1 @@
1
- {"version":3,"file":"read-state.js","sourceRoot":"","sources":["../../src/chatroom/read-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-state.js","sourceRoot":"","sources":["../../src/chatroom/read-state.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,8 @@ export interface SayResult {
55
55
  };
56
56
  }
57
57
  export declare function sayInRoom(workspace: string, cfg: ChatRoomConfig, slug: string, from: string, body: string, opts?: SayOptions): Promise<SayResult>;
58
+ /** Daemon-only: append room line without arming checkback (sync; single writer). */
59
+ export declare function sayInRoomSync(workspace: string, cfg: ChatRoomConfig, slug: string, from: string, body: string, opts?: Pick<SayOptions, "kind" | "expectReply">): RoomMessage;
58
60
  export declare function tailRoom(workspace: string, cfg: ChatRoomConfig, slug: string, lines?: number): Promise<RoomMessage[]>;
59
61
  /** Full room history (ndjson stream parse). */
60
62
  export declare function readRoom(workspace: string, cfg: ChatRoomConfig, slug: string): Promise<RoomMessage[]>;