@xrkseek/harness 0.5.10 → 0.5.12
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/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts +4 -3
- package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-agent-loop/dist/index.js +27 -50
- package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/core-agent-loop/dist/settle-batch.d.ts +11 -3
- package/node_modules/@xrkseek/core-agent-loop/dist/settle-batch.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-agent-loop/dist/settle-batch.js +23 -8
- package/node_modules/@xrkseek/core-agent-loop/dist/settle-batch.js.map +1 -1
- package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +27 -1
- package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/index.d.ts +1 -1
- package/node_modules/@xrkseek/core-tools/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/index.js +1 -1
- package/node_modules/@xrkseek/core-tools/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.d.ts +9 -0
- package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.d.ts.map +1 -1
- package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js +47 -18
- package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +9 -1
- package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/index.js +18 -13
- package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/paths.d.ts +11 -0
- package/node_modules/@xrkseek/exec-fs/dist/paths.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-fs/dist/paths.js +40 -0
- package/node_modules/@xrkseek/exec-fs/dist/paths.js.map +1 -1
- package/node_modules/@xrkseek/exec-memory/dist/index.d.ts +2 -2
- package/node_modules/@xrkseek/exec-memory/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-memory/dist/index.js +2 -2
- package/node_modules/@xrkseek/exec-memory/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/exec-memory/dist/store.d.ts +18 -0
- package/node_modules/@xrkseek/exec-memory/dist/store.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-memory/dist/store.js +108 -7
- package/node_modules/@xrkseek/exec-memory/dist/store.js.map +1 -1
- package/node_modules/@xrkseek/exec-memory/dist/tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-memory/dist/tools.js +17 -1
- package/node_modules/@xrkseek/exec-memory/dist/tools.js.map +1 -1
- package/node_modules/@xrkseek/exec-memory/dist/write-path.d.ts +2 -0
- package/node_modules/@xrkseek/exec-memory/dist/write-path.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-memory/dist/write-path.js +28 -3
- package/node_modules/@xrkseek/exec-memory/dist/write-path.js.map +1 -1
- package/node_modules/@xrkseek/exec-sandbox/dist/resolve.d.ts +7 -4
- package/node_modules/@xrkseek/exec-sandbox/dist/resolve.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-sandbox/dist/resolve.js +4 -0
- package/node_modules/@xrkseek/exec-sandbox/dist/resolve.js.map +1 -1
- package/node_modules/@xrkseek/exec-sandbox/dist/service.d.ts +7 -0
- package/node_modules/@xrkseek/exec-sandbox/dist/service.d.ts.map +1 -1
- package/node_modules/@xrkseek/exec-sandbox/dist/service.js +18 -8
- package/node_modules/@xrkseek/exec-sandbox/dist/service.js.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +16 -0
- package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/preset.js +13 -2
- package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
- package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/preset-server/dist/preset.d.ts.map +1 -1
- package/node_modules/@xrkseek/preset-server/dist/preset.js +7 -1
- package/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
- package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts +6 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js +28 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/index.d.ts +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/index.js +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/index.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/model-route.d.ts +5 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/model-route.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/model-route.js +16 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/model-route.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts +32 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js +87 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts +11 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js +19 -0
- package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +138 -0
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +636 -0
- package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.d.ts +12 -0
- package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js +152 -0
- package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts +6 -0
- package/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js +61 -0
- package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/capture-member-playbook.d.ts +6 -0
- package/node_modules/@xrkseek/server-face/dist/capture-member-playbook.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/capture-member-playbook.js +43 -0
- package/node_modules/@xrkseek/server-face/dist/capture-member-playbook.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts +41 -0
- package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/collab-board.js +79 -0
- package/node_modules/@xrkseek/server-face/dist/collab-board.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/context.d.ts +4 -0
- package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/dispatch.js +19 -0
- package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/fork-cut.d.ts +3 -2
- package/node_modules/@xrkseek/server-face/dist/fork-cut.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/fork-cut.js +58 -20
- package/node_modules/@xrkseek/server-face/dist/fork-cut.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/session.js +56 -20
- package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +5 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/handlers/team.d.ts +11 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/team.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/team.js +280 -0
- package/node_modules/@xrkseek/server-face/dist/handlers/team.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/index.d.ts +6 -0
- package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/index.js +6 -0
- package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts +11 -1
- package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/model-catalog.js +27 -1
- package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.d.ts +26 -0
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.js +84 -0
- package/node_modules/@xrkseek/server-face/dist/presence-dressing.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/presence-tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/presence-tools.js +19 -6
- package/node_modules/@xrkseek/server-face/dist/presence-tools.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/presets-catalog.d.ts +16 -0
- package/node_modules/@xrkseek/server-face/dist/presets-catalog.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/presets-catalog.js +5 -0
- package/node_modules/@xrkseek/server-face/dist/presets-catalog.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.js +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/index.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/registry.d.ts +2 -2
- package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.d.ts +23 -5
- package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.js +36 -18
- package/node_modules/@xrkseek/server-face/dist/projections/units/turn-outline.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/runtime.js +21 -0
- package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-model-store.d.ts +2 -0
- package/node_modules/@xrkseek/server-face/dist/session-model-store.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-model-store.js +14 -0
- package/node_modules/@xrkseek/server-face/dist/session-model-store.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +50 -0
- package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-status.js +71 -8
- package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts +17 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-message.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-message.js +34 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-message.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-publish.d.ts +17 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-publish.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-publish.js +34 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-publish.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-store.d.ts +40 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-store.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-store.js +217 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-store.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts +27 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js +375 -0
- package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js.map +1 -0
- package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-document.js +45 -11
- package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +23 -10
- package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts +25 -0
- package/node_modules/@xrkseek/server-face/dist/subagent-registry.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-registry.js +65 -13
- package/node_modules/@xrkseek/server-face/dist/subagent-registry.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts +21 -0
- package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +149 -37
- package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/types.d.ts +9 -0
- package/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/wire/paths.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/wire/paths.js +2 -0
- package/node_modules/@xrkseek/server-face/dist/wire/paths.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/workspace-face.js +7 -0
- package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/agent-cache.d.ts +5 -1
- package/node_modules/@xrkseek/server-host/dist/agent-cache.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/agent-cache.js +29 -3
- package/node_modules/@xrkseek/server-host/dist/agent-cache.js.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/index.d.ts +27 -0
- package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-host/dist/index.js +112 -8
- package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/static.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-http/dist/static.js +45 -5
- package/node_modules/@xrkseek/server-http/dist/static.js.map +1 -1
- package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts +8 -0
- package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.d.ts.map +1 -1
- package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js +6 -2
- package/node_modules/@xrkseek/workspace/dist/ecosystem-instructions.js.map +1 -1
- package/node_modules/@xrkseek/workspace/dist/index.d.ts +16 -0
- package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
- package/node_modules/@xrkseek/workspace/dist/index.js +17 -8
- package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
- package/node_modules/@xrkseek/workspace/dist/skills.d.ts +1 -1
- package/node_modules/@xrkseek/workspace/dist/skills.d.ts.map +1 -1
- package/node_modules/@xrkseek/workspace/dist/skills.js +1 -1
- package/node_modules/@xrkseek/workspace/dist/skills.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/** Shared costume slots + sticker library for Settings and Agent Team. */
|
|
2
|
+
const OVERLAY_MAX = 80_000;
|
|
3
|
+
const OVERLAY_RE = /^data:image\/(png|jpe?g|webp|gif);base64,[A-Za-z0-9+/=\s]+$/i;
|
|
4
|
+
function parseOverlayImage(raw) {
|
|
5
|
+
if (typeof raw !== "string")
|
|
6
|
+
return undefined;
|
|
7
|
+
const face = raw.trim();
|
|
8
|
+
if (!face || face.length > OVERLAY_MAX)
|
|
9
|
+
return undefined;
|
|
10
|
+
if (!OVERLAY_RE.test(face))
|
|
11
|
+
return undefined;
|
|
12
|
+
return face.replace(/\s+/g, "");
|
|
13
|
+
}
|
|
14
|
+
export const STICKER_PREFIX = "sticker:";
|
|
15
|
+
export const PRESENCE_STICKERS_MAX = 24;
|
|
16
|
+
export const HAT_BUILTINS = ["none", "bow", "cap", "beanie", "visor", "halo"];
|
|
17
|
+
export const GLASSES_BUILTINS = ["none", "specs", "specs-rect", "specs-cat", "specs-sun"];
|
|
18
|
+
export const HELD_BUILTINS = ["none", "flower", "tea", "flag", "spark"];
|
|
19
|
+
const STICKER_ID_RE = /^stk_[a-zA-Z0-9]{6,24}$/;
|
|
20
|
+
const STICKER_PICK_RE = /^sticker:(stk_[a-zA-Z0-9]{6,24})$/;
|
|
21
|
+
export function splitLegacyKit(kit) {
|
|
22
|
+
if (!kit || kit === "none")
|
|
23
|
+
return { hat: "none", glasses: "none" };
|
|
24
|
+
if (kit.startsWith("specs"))
|
|
25
|
+
return { hat: "none", glasses: kit };
|
|
26
|
+
return { hat: kit, glasses: "none" };
|
|
27
|
+
}
|
|
28
|
+
export function stickerIdFromPick(pick) {
|
|
29
|
+
const match = STICKER_PICK_RE.exec(pick);
|
|
30
|
+
return match?.[1];
|
|
31
|
+
}
|
|
32
|
+
export function parseStickers(raw) {
|
|
33
|
+
if (Array.isArray(raw)) {
|
|
34
|
+
return raw.flatMap((row) => {
|
|
35
|
+
if (!row || typeof row !== "object" || Array.isArray(row))
|
|
36
|
+
return [];
|
|
37
|
+
const id = typeof row.id === "string" ? row.id : "";
|
|
38
|
+
const image = parseOverlayImage(row.image);
|
|
39
|
+
if (!STICKER_ID_RE.test(id) || !image)
|
|
40
|
+
return [];
|
|
41
|
+
return [{ id, image }];
|
|
42
|
+
}).slice(0, PRESENCE_STICKERS_MAX);
|
|
43
|
+
}
|
|
44
|
+
if (typeof raw !== "string" || !raw.trim())
|
|
45
|
+
return [];
|
|
46
|
+
try {
|
|
47
|
+
return parseStickers(JSON.parse(raw));
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export function parseSlotPick(raw, builtins) {
|
|
54
|
+
if (typeof raw !== "string")
|
|
55
|
+
return undefined;
|
|
56
|
+
const pick = raw.trim();
|
|
57
|
+
if (!pick || pick === "none")
|
|
58
|
+
return "none";
|
|
59
|
+
if (builtins.includes(pick))
|
|
60
|
+
return pick;
|
|
61
|
+
if (stickerIdFromPick(pick))
|
|
62
|
+
return pick;
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
export function resolveEnginePick(pick, builtins) {
|
|
66
|
+
return builtins.includes(pick) && pick !== "none" ? pick : "none";
|
|
67
|
+
}
|
|
68
|
+
export function resolveStickerOverlay(pick, stickers) {
|
|
69
|
+
const id = stickerIdFromPick(pick);
|
|
70
|
+
if (!id)
|
|
71
|
+
return undefined;
|
|
72
|
+
return stickers.find((row) => row.id === id)?.image;
|
|
73
|
+
}
|
|
74
|
+
export function dressingFromPresence(user) {
|
|
75
|
+
const stickers = parseStickers(user?.stickers);
|
|
76
|
+
const legacy = splitLegacyKit(typeof user?.kit === "string" ? user.kit : undefined);
|
|
77
|
+
return {
|
|
78
|
+
stickers,
|
|
79
|
+
kitHat: parseSlotPick(user?.kitHat, HAT_BUILTINS) ?? legacy.hat,
|
|
80
|
+
kitGlasses: parseSlotPick(user?.kitGlasses, GLASSES_BUILTINS) ?? legacy.glasses,
|
|
81
|
+
kitHeld: parseSlotPick(user?.kitHeld, HELD_BUILTINS) ?? "none",
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=presence-dressing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presence-dressing.js","sourceRoot":"","sources":["../src/presence-dressing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence-tools.d.ts","sourceRoot":"","sources":["../src/presence-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"presence-tools.d.ts","sourceRoot":"","sources":["../src/presence-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQhD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAeD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,wBAAwB,GAChC,IAAI,CAwFN"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { canvasWorkspaceIdForSession } from "./canvas-tools.js";
|
|
1
2
|
import { formatPresenceEmotionToolHint, isKnownPresenceEmotionId, } from "./presence-emotions.js";
|
|
3
|
+
import { publishSessionThread } from "./session-thread-publish.js";
|
|
2
4
|
function registerTool(tools, tool) {
|
|
3
5
|
// Keep the first instance. resolveAgent rebinds Face tools every open;
|
|
4
6
|
// replace() minting a new object identity makes materializeTools settle
|
|
@@ -16,13 +18,17 @@ function readArgs(args) {
|
|
|
16
18
|
export function bindPresenceTools(tools, options) {
|
|
17
19
|
const { runtime, sessionId } = options;
|
|
18
20
|
const catalogHint = formatPresenceEmotionToolHint();
|
|
21
|
+
const child = Boolean(runtime.subagents.getByChild(sessionId));
|
|
22
|
+
const description = child
|
|
23
|
+
? "Show this session's Overview emotion + 支线 caption (what you are doing now). Call when mood or work shifts — do not wait to be asked. "
|
|
24
|
+
+ `Prefer the catalog: ${catalogHint}. tips ≤200 chars. emotionId "auto" clears sticky mood.`
|
|
25
|
+
: "Show this session's 支线: Overview emotion ball + a short caption of what you are doing now "
|
|
26
|
+
+ "(sidebar under the session name). Call when mood or current work shifts — do not wait to be asked. "
|
|
27
|
+
+ `Prefer the full catalog: ${catalogHint}. `
|
|
28
|
+
+ 'tips = 支线 (≤200 chars). Pass emotionId "auto" only to clear sticky mood.';
|
|
19
29
|
registerTool(tools, {
|
|
20
30
|
name: "presence_set",
|
|
21
|
-
description
|
|
22
|
-
"about the work shifts — do not wait for the user to ask. Prefer the full " +
|
|
23
|
-
`catalog (not only a few favorites): ${catalogHint}. ` +
|
|
24
|
-
'Optional short tips (caption). Pass emotionId "auto" only to clear sticky ' +
|
|
25
|
-
"mood and let activity-derived emotion take over.",
|
|
31
|
+
description,
|
|
26
32
|
parameters: {
|
|
27
33
|
type: "object",
|
|
28
34
|
properties: {
|
|
@@ -32,7 +38,7 @@ export function bindPresenceTools(tools, options) {
|
|
|
32
38
|
},
|
|
33
39
|
tips: {
|
|
34
40
|
type: "string",
|
|
35
|
-
description: "
|
|
41
|
+
description: "支线 caption: what you are doing now (Overview + sidebar, ≤200 chars).",
|
|
36
42
|
},
|
|
37
43
|
},
|
|
38
44
|
required: ["emotionId"],
|
|
@@ -71,6 +77,13 @@ export function bindPresenceTools(tools, options) {
|
|
|
71
77
|
emotionId: rawId,
|
|
72
78
|
...(tips ? { tips } : {}),
|
|
73
79
|
});
|
|
80
|
+
if (tips) {
|
|
81
|
+
const workspaceId = canvasWorkspaceIdForSession(runtime, sessionId);
|
|
82
|
+
if (runtime.sessionThreads.bindOf(workspaceId, sessionId)) {
|
|
83
|
+
runtime.sessionThreads.setSideline(workspaceId, sessionId, tips);
|
|
84
|
+
}
|
|
85
|
+
publishSessionThread(runtime, workspaceId, sessionId);
|
|
86
|
+
}
|
|
74
87
|
return {
|
|
75
88
|
content: JSON.stringify({
|
|
76
89
|
sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence-tools.js","sourceRoot":"","sources":["../src/presence-tools.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"presence-tools.js","sourceRoot":"","sources":["../src/presence-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,17 @@ export interface AgentToolFlags {
|
|
|
28
28
|
readonly lsp: boolean;
|
|
29
29
|
readonly pty: boolean;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* When a session may spawn subagents without the user asking for it
|
|
33
|
+
* (Codex `multi_agent.rs`: two mutually exclusive mode instructions, chosen
|
|
34
|
+
* per session rather than hardcoded into one prompt).
|
|
35
|
+
*
|
|
36
|
+
* - `explicit` — spawn only when the user, AGENTS.md, or the task itself asks
|
|
37
|
+
* for delegation. "Go deeper / investigate more" is NOT authorization.
|
|
38
|
+
* - `proactive` — spawning is an approved strategy; spawn when it actually
|
|
39
|
+
* helps. Depth and concurrency caps still apply.
|
|
40
|
+
*/
|
|
41
|
+
export type DelegationMode = "explicit" | "proactive";
|
|
31
42
|
export interface AgentPresetProfile {
|
|
32
43
|
readonly id: CatalogAgentPresetId;
|
|
33
44
|
readonly composition: AgentToolComposition;
|
|
@@ -35,6 +46,11 @@ export interface AgentPresetProfile {
|
|
|
35
46
|
readonly subagents: AgentSubagentPolicy;
|
|
36
47
|
/** Skip harness `tool:subagent` routing prompt when subagents are off. */
|
|
37
48
|
readonly subagentRouting: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Delegation posture while `subagents.mode === "on"` (badge with subagents
|
|
51
|
+
* off never spawns, so the value is unused there).
|
|
52
|
+
*/
|
|
53
|
+
readonly delegation: DelegationMode;
|
|
38
54
|
/**
|
|
39
55
|
* Seed `plan/mode` active on session.create.
|
|
40
56
|
* Prefer `/plan` for collaboration mode; badges keep this false.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets-catalog.d.ts","sourceRoot":"","sources":["../src/presets-catalog.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACtC;AAED,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,wEAAwE;AACxE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAQ7C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,
|
|
1
|
+
{"version":3,"file":"presets-catalog.d.ts","sourceRoot":"","sources":["../src/presets-catalog.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACtC;AAED,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,wEAAwE;AACxE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAQ7C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAiFxD,CAAC;AAMF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,wDAItB,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,aAAuC,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,YAAY,SAAY,GACvB,kBAAkB,CAapB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,YAAY,SAAY,GACvB,oBAAoB,CAEtB;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,CAEvE"}
|
|
@@ -22,6 +22,7 @@ export const FACE_AGENT_PRESETS = [
|
|
|
22
22
|
tools: MINIMAL_TOOLS,
|
|
23
23
|
subagents: SUBAGENTS_OFF,
|
|
24
24
|
subagentRouting: false,
|
|
25
|
+
delegation: "explicit",
|
|
25
26
|
planModeDefault: false,
|
|
26
27
|
},
|
|
27
28
|
},
|
|
@@ -35,6 +36,7 @@ export const FACE_AGENT_PRESETS = [
|
|
|
35
36
|
tools: SHELL_TOOLS,
|
|
36
37
|
subagents: SUBAGENTS_OFF,
|
|
37
38
|
subagentRouting: false,
|
|
39
|
+
delegation: "explicit",
|
|
38
40
|
planModeDefault: false,
|
|
39
41
|
},
|
|
40
42
|
},
|
|
@@ -48,6 +50,7 @@ export const FACE_AGENT_PRESETS = [
|
|
|
48
50
|
tools: FULL_TOOLS,
|
|
49
51
|
subagents: SUBAGENTS_OFF,
|
|
50
52
|
subagentRouting: false,
|
|
53
|
+
delegation: "explicit",
|
|
51
54
|
planModeDefault: false,
|
|
52
55
|
},
|
|
53
56
|
},
|
|
@@ -64,6 +67,7 @@ export const FACE_AGENT_PRESETS = [
|
|
|
64
67
|
maxDepth: 1,
|
|
65
68
|
},
|
|
66
69
|
subagentRouting: true,
|
|
70
|
+
delegation: "proactive",
|
|
67
71
|
planModeDefault: false,
|
|
68
72
|
},
|
|
69
73
|
},
|
|
@@ -79,6 +83,7 @@ export const FACE_AGENT_PRESETS = [
|
|
|
79
83
|
mode: "on",
|
|
80
84
|
},
|
|
81
85
|
subagentRouting: true,
|
|
86
|
+
delegation: "proactive",
|
|
82
87
|
planModeDefault: false,
|
|
83
88
|
},
|
|
84
89
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets-catalog.js","sourceRoot":"","sources":["../src/presets-catalog.ts"],"names":[],"mappings":"AAAA,+EAA+E;
|
|
1
|
+
{"version":3,"file":"presets-catalog.js","sourceRoot":"","sources":["../src/presets-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export { createPlanProjectionUnit } from "./units/plan.js";
|
|
|
7
7
|
export { createImageLimitsProjectionUnit } from "./units/image-limits.js";
|
|
8
8
|
export { createFileLimitsProjectionUnit } from "./units/file-limits.js";
|
|
9
9
|
export { createSessionStatsProjectionUnit, type SessionStatsProjection, } from "./units/session-stats.js";
|
|
10
|
-
export { createTurnOutlineProjectionUnit, type TurnOutlineEntry, type TurnOutlineState, } from "./units/turn-outline.js";
|
|
10
|
+
export { createTurnOutlineProjectionUnit, publishedTurnOutline, type TurnOutlineEntry, type TurnOutlineState, } from "./units/turn-outline.js";
|
|
11
11
|
export { createTokenUsageProjectionUnit, type TokenUsageProjection, } from "./units/token-usage.js";
|
|
12
12
|
export { createContextPressureProjectionUnit, type ContextPressureProjection, } from "./units/context-pressure.js";
|
|
13
13
|
export { createContextBreakdownProjectionUnit, type ContextBreakdownProjection, } from "./units/context-breakdown.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/projections/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,gCAAgC,EAChC,KAAK,sBAAsB,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,EAC9B,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mCAAmC,EACnC,KAAK,yBAAyB,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oCAAoC,EACpC,KAAK,0BAA0B,GAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mCAAmC,EACnC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kCAAkC,EAClC,KAAK,wBAAwB,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,6BAA6B,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,EAC5B,8BAA8B,EAC9B,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/projections/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,gCAAgC,EAChC,KAAK,sBAAsB,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,EAC9B,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mCAAmC,EACnC,KAAK,yBAAyB,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oCAAoC,EACpC,KAAK,0BAA0B,GAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mCAAmC,EACnC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kCAAkC,EAClC,KAAK,wBAAwB,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,6BAA6B,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,EAC5B,8BAA8B,EAC9B,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
|
@@ -7,7 +7,7 @@ export { createPlanProjectionUnit } from "./units/plan.js";
|
|
|
7
7
|
export { createImageLimitsProjectionUnit } from "./units/image-limits.js";
|
|
8
8
|
export { createFileLimitsProjectionUnit } from "./units/file-limits.js";
|
|
9
9
|
export { createSessionStatsProjectionUnit, } from "./units/session-stats.js";
|
|
10
|
-
export { createTurnOutlineProjectionUnit, } from "./units/turn-outline.js";
|
|
10
|
+
export { createTurnOutlineProjectionUnit, publishedTurnOutline, } from "./units/turn-outline.js";
|
|
11
11
|
export { createTokenUsageProjectionUnit, } from "./units/token-usage.js";
|
|
12
12
|
export { createContextPressureProjectionUnit, } from "./units/context-pressure.js";
|
|
13
13
|
export { createContextBreakdownProjectionUnit, } from "./units/context-breakdown.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/projections/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAW7B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,gCAAgC,GAEjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/projections/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAW7B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,gCAAgC,GAEjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,GAGrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,GAE/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mCAAmC,GAEpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oCAAoC,GAErC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mCAAmC,GAIpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kCAAkC,GAEnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,6BAA6B,GAE9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,EAC5B,8BAA8B,EAC9B,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
|
@@ -35,8 +35,8 @@ export interface FaceProjectionMap {
|
|
|
35
35
|
*/
|
|
36
36
|
readonly fileLimits: FileAttachmentLimits;
|
|
37
37
|
/**
|
|
38
|
-
* Whole-log
|
|
39
|
-
*
|
|
38
|
+
* Whole-log 轮次 outline for the chat rail: Host turns with a human opener,
|
|
39
|
+
* `turn/start` Face seq, gapless `round`, and bounded previews. Paging cannot
|
|
40
40
|
* shrink the ladder — unloaded marks jump via loadThrough.
|
|
41
41
|
*/
|
|
42
42
|
readonly turnOutline: readonly TurnOutlineEntry[];
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import type { ProjectionDefinition } from "../registry.js";
|
|
2
|
-
/**
|
|
2
|
+
/** Fold row: every started Host turn, including those with no 轮次 prompt yet. */
|
|
3
|
+
interface TurnOutlineFoldEntry {
|
|
4
|
+
readonly turn: number;
|
|
5
|
+
readonly seq: number;
|
|
6
|
+
readonly prompt: string;
|
|
7
|
+
readonly response: string;
|
|
8
|
+
}
|
|
9
|
+
/** One 轮次 on the wire: a started turn that already has a human opener. */
|
|
3
10
|
export interface TurnOutlineEntry {
|
|
4
11
|
/** Face wire turn number (order of first-seen `turnId`). */
|
|
5
12
|
readonly turn: number;
|
|
13
|
+
/** Gapless 轮次 (1-based) among published openers. Not Host `turn`. */
|
|
14
|
+
readonly round: number;
|
|
6
15
|
/** Face seq of this turn's `turn/start` (loadThrough target). */
|
|
7
16
|
readonly seq: number;
|
|
8
|
-
/** Bounded first-human-prompt preview
|
|
17
|
+
/** Bounded first-human-prompt preview. */
|
|
9
18
|
readonly prompt: string;
|
|
10
19
|
/** Bounded final-response preview; `''` until turn/end commits assistant text. */
|
|
11
20
|
readonly response: string;
|
|
12
21
|
}
|
|
22
|
+
/** Published ladder: drop Host turns with no opener, then number 轮次. */
|
|
23
|
+
export declare function publishedTurnOutline(turns: readonly TurnOutlineFoldEntry[]): readonly TurnOutlineEntry[];
|
|
13
24
|
/**
|
|
14
25
|
* Fold state: served entries plus the open turn's response draft. Draft is
|
|
15
26
|
* host-only until `turn/end` — mutate it in place and keep `Object.is` so the
|
|
@@ -17,11 +28,18 @@ export interface TurnOutlineEntry {
|
|
|
17
28
|
* "same reference = no downstream").
|
|
18
29
|
*/
|
|
19
30
|
export interface TurnOutlineState {
|
|
20
|
-
readonly turns: readonly
|
|
31
|
+
readonly turns: readonly TurnOutlineFoldEntry[];
|
|
21
32
|
draft: string;
|
|
22
|
-
/**
|
|
23
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Every `turnId` that already anchored an entry, in first-seen order. This
|
|
35
|
+
* must mirror {@link FaceWireIdMaps.turn}'s dedup scope — the whole log, not
|
|
36
|
+
* just the previous event — or the outline's numbering drifts off the wire
|
|
37
|
+
* numbers the client timeline is keyed by, and the rail grows marks for
|
|
38
|
+
* turns the transcript does not have.
|
|
39
|
+
*/
|
|
40
|
+
readonly seenTurnIds: readonly string[];
|
|
24
41
|
}
|
|
25
42
|
/** The `turnOutline` unit registered on Face default projections. */
|
|
26
43
|
export declare function createTurnOutlineProjectionUnit(): ProjectionDefinition<"turnOutline", TurnOutlineState, readonly TurnOutlineEntry[]>;
|
|
44
|
+
export {};
|
|
27
45
|
//# sourceMappingURL=turn-outline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-outline.d.ts","sourceRoot":"","sources":["../../../src/projections/units/turn-outline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"turn-outline.d.ts","sourceRoot":"","sources":["../../../src/projections/units/turn-outline.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAO3D,gFAAgF;AAChF,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GACrC,SAAS,gBAAgB,EAAE,CAa7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAkED,qEAAqE;AACrE,wBAAgB,+BAA+B,IAAI,oBAAoB,CACrE,aAAa,EACb,gBAAgB,EAChB,SAAS,gBAAgB,EAAE,CAC5B,CAuFA"}
|
|
@@ -3,11 +3,22 @@ import { asContentBlocks, isHumanUserMessageSource, } from "@xrkseek/protocol";
|
|
|
3
3
|
const PROMPT_PREVIEW_LIMIT = 50;
|
|
4
4
|
/** Response budget: up to three rail-card lines. */
|
|
5
5
|
const RESPONSE_PREVIEW_LIMIT = 120;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
/** Published ladder: drop Host turns with no opener, then number 轮次. */
|
|
7
|
+
export function publishedTurnOutline(turns) {
|
|
8
|
+
const out = [];
|
|
9
|
+
for (const row of turns) {
|
|
10
|
+
if (row.prompt === "")
|
|
11
|
+
continue;
|
|
12
|
+
out.push({
|
|
13
|
+
turn: row.turn,
|
|
14
|
+
seq: row.seq,
|
|
15
|
+
prompt: row.prompt,
|
|
16
|
+
response: row.response,
|
|
17
|
+
round: out.length + 1,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return out;
|
|
21
|
+
}
|
|
11
22
|
/** Space-join text, collapse whitespace, cap at `limit` with a trailing ellipsis. */
|
|
12
23
|
function previewFromBlocks(content, limit) {
|
|
13
24
|
let text = "";
|
|
@@ -40,7 +51,7 @@ function previewFromString(content, limit) {
|
|
|
40
51
|
}
|
|
41
52
|
return normalized;
|
|
42
53
|
}
|
|
43
|
-
function
|
|
54
|
+
function parseFoldEntry(value) {
|
|
44
55
|
if (!value || typeof value !== "object") {
|
|
45
56
|
throw new Error("turnOutline entry must be an object");
|
|
46
57
|
}
|
|
@@ -74,21 +85,28 @@ function parseEntry(value) {
|
|
|
74
85
|
export function createTurnOutlineProjectionUnit() {
|
|
75
86
|
return {
|
|
76
87
|
key: "turnOutline",
|
|
77
|
-
stateVersion:
|
|
78
|
-
|
|
88
|
+
stateVersion: 3,
|
|
89
|
+
// A fresh object per session, never a module-level singleton: `apply`
|
|
90
|
+
// mutates `draft` in place, and every session's fold starts from this.
|
|
91
|
+
// Sharing one instance lets a streaming session's draft bleed into the
|
|
92
|
+
// next session's first `user/message`, which forwards the field.
|
|
93
|
+
init: () => ({ turns: [], draft: "", seenTurnIds: [] }),
|
|
79
94
|
apply(state, event, seq) {
|
|
80
95
|
switch (event.type) {
|
|
81
96
|
case "turn/start": {
|
|
82
|
-
|
|
97
|
+
// Whole-log dedup, matching FaceWireIdMaps.turn(): a turnId that
|
|
98
|
+
// already anchored an entry keeps it, so numbering stays "first seen
|
|
99
|
+
// wins" however far apart the repeats are.
|
|
100
|
+
if (state.seenTurnIds.includes(event.turnId))
|
|
83
101
|
return state;
|
|
84
|
-
const turn =
|
|
102
|
+
const turn = state.turns.length + 1;
|
|
85
103
|
return {
|
|
86
104
|
turns: [
|
|
87
105
|
...state.turns,
|
|
88
106
|
{ turn, seq, prompt: "", response: "" },
|
|
89
107
|
],
|
|
90
108
|
draft: "",
|
|
91
|
-
|
|
109
|
+
seenTurnIds: [...state.seenTurnIds, event.turnId],
|
|
92
110
|
};
|
|
93
111
|
}
|
|
94
112
|
case "user/message": {
|
|
@@ -103,7 +121,7 @@ export function createTurnOutlineProjectionUnit() {
|
|
|
103
121
|
return {
|
|
104
122
|
turns: [...state.turns.slice(0, -1), { ...last, prompt }],
|
|
105
123
|
draft: state.draft,
|
|
106
|
-
|
|
124
|
+
seenTurnIds: state.seenTurnIds,
|
|
107
125
|
};
|
|
108
126
|
}
|
|
109
127
|
case "assistant/message": {
|
|
@@ -128,7 +146,7 @@ export function createTurnOutlineProjectionUnit() {
|
|
|
128
146
|
{ ...last, response: state.draft },
|
|
129
147
|
],
|
|
130
148
|
draft: "",
|
|
131
|
-
|
|
149
|
+
seenTurnIds: state.seenTurnIds,
|
|
132
150
|
};
|
|
133
151
|
}
|
|
134
152
|
default:
|
|
@@ -136,22 +154,22 @@ export function createTurnOutlineProjectionUnit() {
|
|
|
136
154
|
}
|
|
137
155
|
},
|
|
138
156
|
wire: {
|
|
139
|
-
view: (state) => state.turns,
|
|
157
|
+
view: (state) => publishedTurnOutline(state.turns),
|
|
140
158
|
parse(value) {
|
|
141
159
|
if (!Array.isArray(value)) {
|
|
142
160
|
throw new Error("turnOutline projection must be an array");
|
|
143
161
|
}
|
|
144
|
-
const
|
|
162
|
+
const folded = [];
|
|
145
163
|
let previous = -1;
|
|
146
164
|
for (const row of value) {
|
|
147
|
-
const entry =
|
|
165
|
+
const entry = parseFoldEntry(row);
|
|
148
166
|
if (entry.turn <= previous) {
|
|
149
167
|
throw new Error("turnOutline entries must be strictly increasing by turn");
|
|
150
168
|
}
|
|
151
169
|
previous = entry.turn;
|
|
152
|
-
|
|
170
|
+
folded.push(entry);
|
|
153
171
|
}
|
|
154
|
-
return
|
|
172
|
+
return publishedTurnOutline(folded);
|
|
155
173
|
},
|
|
156
174
|
},
|
|
157
175
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-outline.js","sourceRoot":"","sources":["../../../src/projections/units/turn-outline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"turn-outline.js","sourceRoot":"","sources":["../../../src/projections/units/turn-outline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQxD,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAuB,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtG,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAML,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAML,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ import { bindSettingsTools } from "./settings-agent-tools.js";
|
|
|
20
20
|
import { bindSessionQueryTools } from "./session-query-tools.js";
|
|
21
21
|
import { bindGoalTools } from "./goal-tools.js";
|
|
22
22
|
import { bindCanvasTools } from "./canvas-tools.js";
|
|
23
|
+
import { bindSessionThreadTools } from "./session-thread-tools.js";
|
|
24
|
+
import { bindAgentRosterTools } from "./agent-roster-tools.js";
|
|
23
25
|
import { FacePresenceStore } from "./presence-store.js";
|
|
24
26
|
import { bindPresenceTools } from "./presence-tools.js";
|
|
25
27
|
import { bindProposeSkillTool } from "./propose-skill.js";
|
|
@@ -33,6 +35,8 @@ import { ManagedWorktreeManager, managedWorktreesPath, } from "./managed-worktre
|
|
|
33
35
|
import { FaceMessageFeedbackStore } from "./message-feedback.js";
|
|
34
36
|
import { FaceGoalStore } from "./goal-store.js";
|
|
35
37
|
import { FaceCanvasStore } from "./canvas-store.js";
|
|
38
|
+
import { FaceSessionThreadStore } from "./session-thread-store.js";
|
|
39
|
+
import { FaceAgentRosterStore } from "./agent-roster-store.js";
|
|
36
40
|
import { FaceWireIdMaps } from "./adapt/wire-ids.js";
|
|
37
41
|
import { configureCostMeterHome } from "./cost-meter-store.js";
|
|
38
42
|
import { resolveXrkHome } from "@xrkseek/server-config";
|
|
@@ -156,6 +160,8 @@ export function createFaceRuntime(options) {
|
|
|
156
160
|
const messageFeedback = new FaceMessageFeedbackStore();
|
|
157
161
|
const goals = new FaceGoalStore(options.goalPersistPath);
|
|
158
162
|
const canvases = new FaceCanvasStore(productHome);
|
|
163
|
+
const sessionThreads = new FaceSessionThreadStore(productHome);
|
|
164
|
+
const agentRoster = new FaceAgentRosterStore(productHome);
|
|
159
165
|
const presence = new FacePresenceStore();
|
|
160
166
|
const wireIds = new FaceWireIdMaps();
|
|
161
167
|
const toolArgMaps = new FaceToolArgMaps();
|
|
@@ -441,6 +447,19 @@ export function createFaceRuntime(options) {
|
|
|
441
447
|
runtime: runtimeBox.current,
|
|
442
448
|
sessionId,
|
|
443
449
|
});
|
|
450
|
+
const childLink = runtimeBox.current.subagents.getByChild(sessionId);
|
|
451
|
+
if (!childLink) {
|
|
452
|
+
bindSessionThreadTools(agent.tools, {
|
|
453
|
+
runtime: runtimeBox.current,
|
|
454
|
+
sessionId,
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
if (!childLink || childLink.role === "lead") {
|
|
458
|
+
bindAgentRosterTools(agent.tools, {
|
|
459
|
+
runtime: runtimeBox.current,
|
|
460
|
+
sessionId,
|
|
461
|
+
});
|
|
462
|
+
}
|
|
444
463
|
bindPresenceTools(agent.tools, {
|
|
445
464
|
runtime: runtimeBox.current,
|
|
446
465
|
sessionId,
|
|
@@ -726,6 +745,8 @@ export function createFaceRuntime(options) {
|
|
|
726
745
|
: {}),
|
|
727
746
|
goals,
|
|
728
747
|
canvases,
|
|
748
|
+
sessionThreads,
|
|
749
|
+
agentRoster,
|
|
729
750
|
presence,
|
|
730
751
|
wireIds,
|
|
731
752
|
inboxWire,
|