@seat-mesh/core 0.1.17 → 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.
- package/dist/chatroom/agent-id.d.ts +6 -0
- package/dist/chatroom/agent-id.d.ts.map +1 -1
- package/dist/chatroom/agent-id.js +23 -4
- package/dist/chatroom/agent-id.js.map +1 -1
- package/dist/chatroom/checkback-hint.d.ts +12 -2
- package/dist/chatroom/checkback-hint.d.ts.map +1 -1
- package/dist/chatroom/checkback-hint.js +65 -31
- package/dist/chatroom/checkback-hint.js.map +1 -1
- package/dist/chatroom/checkback-hint.test.js +18 -1
- package/dist/chatroom/checkback-hint.test.js.map +1 -1
- package/dist/chatroom/comms-checkback.d.ts +3 -0
- package/dist/chatroom/comms-checkback.d.ts.map +1 -1
- package/dist/chatroom/comms-checkback.js +19 -1
- package/dist/chatroom/comms-checkback.js.map +1 -1
- package/dist/chatroom/inbox-client.d.ts +2 -0
- package/dist/chatroom/inbox-client.d.ts.map +1 -1
- package/dist/chatroom/inbox-client.js +45 -0
- package/dist/chatroom/inbox-client.js.map +1 -1
- package/dist/chatroom/read-state.d.ts +2 -0
- package/dist/chatroom/read-state.d.ts.map +1 -1
- package/dist/chatroom/read-state.js +10 -0
- package/dist/chatroom/read-state.js.map +1 -1
- package/dist/chatroom/room.d.ts +2 -0
- package/dist/chatroom/room.d.ts.map +1 -1
- package/dist/chatroom/room.js +30 -2
- package/dist/chatroom/room.js.map +1 -1
- package/dist/chatroom/room.test.js +33 -8
- package/dist/chatroom/room.test.js.map +1 -1
- package/dist/comms/envelope.d.ts +2 -2
- package/dist/contracts/agent-apply.d.ts +176 -0
- package/dist/contracts/agent-apply.d.ts.map +1 -0
- package/dist/contracts/agent-apply.js +296 -0
- package/dist/contracts/agent-apply.js.map +1 -0
- package/dist/contracts/agent-apply.test.d.ts +2 -0
- package/dist/contracts/agent-apply.test.d.ts.map +1 -0
- package/dist/contracts/agent-apply.test.js +103 -0
- package/dist/contracts/agent-apply.test.js.map +1 -0
- package/dist/contracts/balance-contract.test.d.ts +2 -0
- package/dist/contracts/balance-contract.test.d.ts.map +1 -0
- package/dist/contracts/balance-contract.test.js +38 -0
- package/dist/contracts/balance-contract.test.js.map +1 -0
- package/dist/contracts/balance.d.ts +36 -0
- package/dist/contracts/balance.d.ts.map +1 -0
- package/dist/contracts/balance.js +37 -0
- package/dist/contracts/balance.js.map +1 -0
- package/dist/contracts/index.d.ts +2 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +2 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/layout/stack.d.ts +1 -1
- package/dist/layout/stack.d.ts.map +1 -1
- package/dist/layout/stack.js +3 -2
- package/dist/layout/stack.js.map +1 -1
- package/dist/messages/cli-hints.d.ts +13 -0
- package/dist/messages/cli-hints.d.ts.map +1 -0
- package/dist/messages/cli-hints.js +22 -0
- package/dist/messages/cli-hints.js.map +1 -0
- package/dist/messages/mesh-copy.d.ts +88 -0
- package/dist/messages/mesh-copy.d.ts.map +1 -0
- package/dist/messages/mesh-copy.js +154 -0
- package/dist/messages/mesh-copy.js.map +1 -0
- package/dist/messages/mesh-copy.test.d.ts +2 -0
- package/dist/messages/mesh-copy.test.d.ts.map +1 -0
- package/dist/messages/mesh-copy.test.js +47 -0
- package/dist/messages/mesh-copy.test.js.map +1 -0
- package/dist/messages/mesh-inbox-intent.d.ts +12 -0
- package/dist/messages/mesh-inbox-intent.d.ts.map +1 -0
- package/dist/messages/mesh-inbox-intent.js +61 -0
- package/dist/messages/mesh-inbox-intent.js.map +1 -0
- package/dist/messages/mesh-inbox-intent.test.d.ts +2 -0
- package/dist/messages/mesh-inbox-intent.test.d.ts.map +1 -0
- package/dist/messages/mesh-inbox-intent.test.js +18 -0
- package/dist/messages/mesh-inbox-intent.test.js.map +1 -0
- package/dist/paths-manifest.test.js +1 -0
- package/dist/paths-manifest.test.js.map +1 -1
- package/dist/profile-edit.d.ts +26 -0
- package/dist/profile-edit.d.ts.map +1 -0
- package/dist/profile-edit.js +87 -0
- package/dist/profile-edit.js.map +1 -0
- package/dist/profile-edit.test.d.ts +2 -0
- package/dist/profile-edit.test.d.ts.map +1 -0
- package/dist/profile-edit.test.js +111 -0
- package/dist/profile-edit.test.js.map +1 -0
- package/dist/profile.d.ts +0 -1
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +6 -4
- package/dist/profile.js.map +1 -1
- package/dist/providers/types.d.ts +8 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/role-index.d.ts +25 -2
- package/dist/role-index.d.ts.map +1 -1
- package/dist/role-index.js +98 -16
- package/dist/role-index.js.map +1 -1
- package/dist/role-index.test.js +42 -1
- package/dist/role-index.test.js.map +1 -1
- package/dist/schema/agents.d.ts +886 -141
- package/dist/schema/agents.d.ts.map +1 -1
- package/dist/schema/agents.js +34 -7
- package/dist/schema/agents.js.map +1 -1
- package/dist/schema/layout-manager2.test.js +1 -1
- package/dist/schema/layout-manager2.test.js.map +1 -1
- package/dist/schema/layout.d.ts +63 -62
- package/dist/schema/layout.d.ts.map +1 -1
- package/dist/schema/layout.js +33 -13
- package/dist/schema/layout.js.map +1 -1
- package/dist/schema/profile.d.ts +105 -132
- package/dist/schema/profile.d.ts.map +1 -1
- package/dist/schema/profile.js +8 -7
- package/dist/schema/profile.js.map +1 -1
- package/dist/schema/seat-kind.d.ts +43 -0
- package/dist/schema/seat-kind.d.ts.map +1 -0
- package/dist/schema/seat-kind.js +102 -0
- package/dist/schema/seat-kind.js.map +1 -0
- package/dist/schema/seat-kind.test.d.ts +2 -0
- package/dist/schema/seat-kind.test.d.ts.map +1 -0
- package/dist/schema/seat-kind.test.js +62 -0
- package/dist/schema/seat-kind.test.js.map +1 -0
- package/dist/ux/defaults.d.ts.map +1 -1
- package/dist/ux/defaults.js +6 -7
- package/dist/ux/defaults.js.map +1 -1
- package/dist/ux/evaluate.d.ts.map +1 -1
- package/dist/ux/evaluate.js +6 -3
- package/dist/ux/evaluate.js.map +1 -1
- 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":"
|
|
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,
|
|
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
|
|
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":"
|
|
1
|
+
{"version":3,"file":"checkback-hint.d.ts","sourceRoot":"","sources":["../../src/chatroom/checkback-hint.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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
|
|
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
|
|
44
|
+
return `${MESH_INBOX_TAG} ${from}: ${text}`;
|
|
40
45
|
}
|
|
41
46
|
if (ctx.role === "manager" && /DIGEST/i.test(tag)) {
|
|
42
|
-
return
|
|
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} |
|
|
54
|
+
return `${seat} | ${MESH_INBOX_TAG} ${tag}: ${text}`;
|
|
50
55
|
}
|
|
51
|
-
return `${seat} |
|
|
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
|
|
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
|
|
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
|
|
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
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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}
|
|
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,
|
|
149
|
+
return formatCheckNudge(ctx, expect, `room accept ${callId} | room decline ${callId}`);
|
|
116
150
|
}
|
|
117
|
-
return formatCheckNudge(ctx, expect,
|
|
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} —
|
|
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}`,
|
|
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,
|
|
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, "
|
|
170
|
+
return formatCheckNudge(ctx, expect, "proxy status");
|
|
137
171
|
}
|
|
138
|
-
return formatCheckNudge(ctx, expect, "
|
|
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":"AAAA,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC;AAWD,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,MAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC/E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC;IAClC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;
|
|
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,
|
|
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,
|
|
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;
|
|
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":"
|
|
1
|
+
{"version":3,"file":"inbox-client.d.ts","sourceRoot":"","sources":["../../src/chatroom/inbox-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
package/dist/chatroom/room.d.ts
CHANGED
|
@@ -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[]>;
|