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