cli-jaw 1.5.0 → 1.6.0
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/README.ko.md +2 -2
- package/README.md +21 -2
- package/README.zh-CN.md +2 -2
- package/dist/bin/cli-jaw.js +5 -1
- package/dist/bin/cli-jaw.js.map +1 -1
- package/dist/bin/commands/dispatch.js +50 -0
- package/dist/bin/commands/dispatch.js.map +1 -0
- package/dist/lib/mcp-sync.js +1 -1
- package/dist/lib/mcp-sync.js.map +1 -1
- package/dist/lib/upload.js +14 -1
- package/dist/lib/upload.js.map +1 -1
- package/dist/server.js +53 -40
- package/dist/server.js.map +1 -1
- package/dist/src/agent/events.js +72 -13
- package/dist/src/agent/events.js.map +1 -1
- package/dist/src/agent/spawn.js +65 -24
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/cli/commands.js +6 -6
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/handlers.js +11 -9
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/registry.js +7 -1
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/core/config.js +15 -8
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +18 -3
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/employees.js +34 -0
- package/dist/src/core/employees.js.map +1 -0
- package/dist/src/discord/bot.js +72 -9
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/commands.js +12 -8
- package/dist/src/discord/commands.js.map +1 -1
- package/dist/src/orchestrator/distribute.js +41 -24
- package/dist/src/orchestrator/distribute.js.map +1 -1
- package/dist/src/orchestrator/gateway.js +3 -1
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +93 -27
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/research.js +5 -5
- package/dist/src/orchestrator/research.js.map +1 -1
- package/dist/src/orchestrator/scope.js +55 -0
- package/dist/src/orchestrator/scope.js.map +1 -0
- package/dist/src/orchestrator/state-machine.js +23 -21
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/orchestrator/worker-registry.js +9 -2
- package/dist/src/orchestrator/worker-registry.js.map +1 -1
- package/dist/src/prompt/builder.js +78 -37
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +40 -0
- package/dist/src/prompt/templates/employee.md +10 -1
- package/dist/src/prompt/templates/orchestration.md +17 -1
- package/dist/src/telegram/bot.js +7 -1
- package/dist/src/telegram/bot.js.map +1 -1
- package/package.json +4 -2
- package/public/assets/fonts/GeistVF.woff2 +0 -0
- package/public/assets/fonts/JetBrainsMono-Variable.woff2 +0 -0
- package/public/assets/providers/claude-color.svg +1 -0
- package/public/assets/providers/claude.svg +1 -0
- package/public/assets/providers/copilot-color.svg +1 -0
- package/public/assets/providers/copilot.svg +1 -0
- package/public/assets/providers/discord.svg +1 -0
- package/public/assets/providers/gemini-color.svg +1 -0
- package/public/assets/providers/gemini.svg +1 -0
- package/public/assets/providers/openai.svg +1 -0
- package/public/assets/providers/opencode.svg +1 -0
- package/public/assets/providers/telegram.svg +1 -0
- package/public/css/chat.css +79 -51
- package/public/css/diagram.css +348 -0
- package/public/css/layout.css +33 -10
- package/public/css/markdown.css +64 -18
- package/public/css/modals.css +3 -3
- package/public/css/orc-state.css +9 -9
- package/public/css/sidebar.css +37 -3
- package/public/css/tool-ui.css +46 -11
- package/public/css/variables.css +63 -63
- package/public/dist/assets/api-Bbmmo0o1.js +1 -0
- package/public/dist/assets/architecture-YZFGNWBL-BxiHqtOH.js +1 -0
- package/public/dist/assets/architectureDiagram-Q4EWVU46-CJTGDw5p.js +1 -0
- package/public/dist/assets/blockDiagram-DXYQGD6D-Btl5Y-Er.js +1 -0
- package/public/dist/assets/c4Diagram-AHTNJAMY-sDfjW4ZF.js +1 -0
- package/public/dist/assets/classDiagram-6PBFFD2Q-ByCgggL2.js +1 -0
- package/public/dist/assets/classDiagram-v2-HSJHXN6E-t1amaXkU.js +1 -0
- package/public/dist/assets/constants-C8_0OtK2.js +1 -0
- package/public/dist/assets/cose-bilkent-S5V4N54A-eOSFGdaE.js +1 -0
- package/public/dist/assets/dagre-KV5264BT-OCB5j8Q6.js +1 -0
- package/public/dist/assets/diagram-5BDNPKRD-C-4fgK5P.js +1 -0
- package/public/dist/assets/diagram-G4DWMVQ6-C6vmHKDV.js +1 -0
- package/public/dist/assets/diagram-MMDJMWI5-BMCo_wmt.js +1 -0
- package/public/dist/assets/diagram-TYMM5635-DaCLdttJ.js +1 -0
- package/public/dist/assets/employees-D5n7mX5v.js +39 -0
- package/public/dist/assets/erDiagram-SMLLAGMA-BiTRdm5s.js +1 -0
- package/public/dist/assets/flowDiagram-DWJPFMVM-sv6jVi0d.js +1 -0
- package/public/dist/assets/ganttDiagram-T4ZO3ILL-jCP3OW23.js +1 -0
- package/public/dist/assets/gitGraph-7Q5UKJZL-BIeKLxpm.js +1 -0
- package/public/dist/assets/gitGraphDiagram-UUTBAWPF-CokylnbW.js +1 -0
- package/public/dist/assets/index-Br2UdKlR.css +1 -0
- package/public/dist/assets/index-CmAU0d96.js +49 -0
- package/public/dist/assets/info-OMHHGYJF-CIEl5dWF.js +1 -0
- package/public/dist/assets/infoDiagram-42DDH7IO-BBnK1Bh2.js +1 -0
- package/public/dist/assets/ishikawaDiagram-UXIWVN3A-qXIz0VhS.js +1 -0
- package/public/dist/assets/journeyDiagram-VCZTEJTY-BdrOLof3.js +1 -0
- package/public/dist/assets/kanban-definition-6JOO6SKY-CcX7CE04.js +1 -0
- package/public/dist/assets/mermaid.core-BoxIvw7E.js +1 -0
- package/public/dist/assets/mindmap-definition-QFDTVHPH-CdXARskX.js +1 -0
- package/public/dist/assets/packet-4T2RLAQJ-Bz4ZwYZ3.js +1 -0
- package/public/dist/assets/pie-ZZUOXDRM-AtGL3wZ2.js +1 -0
- package/public/dist/assets/pieDiagram-DEJITSTG-B5SOq9Yr.js +1 -0
- package/public/dist/assets/quadrantDiagram-34T5L4WZ-D0uNWgpI.js +1 -0
- package/public/dist/assets/radar-PYXPWWZC-AbJSfeqB.js +1 -0
- package/public/dist/assets/render-C8N0rp4L.js +25 -0
- package/public/dist/assets/requirementDiagram-MS252O5E-62td6IQ-.js +1 -0
- package/public/dist/assets/sankeyDiagram-XADWPNL6-Crg_02iC.js +1 -0
- package/public/dist/assets/sequenceDiagram-FGHM5R23-fbCocZHj.js +1 -0
- package/public/dist/assets/settings-BJR-IGM5.js +41 -0
- package/public/dist/assets/settings-Dm6OnPmY.js +1 -0
- package/public/dist/assets/skills-D6jv9AIs.js +1 -0
- package/public/dist/assets/skills-uywskdFh.js +12 -0
- package/public/dist/assets/slash-commands-CCDonT40.js +1 -0
- package/public/dist/assets/{slash-commands-DMsE88bu.js → slash-commands-DWvL-VDU.js} +1 -1
- package/public/dist/assets/stateDiagram-FHFEXIEX-Gy3DhXxQ.js +1 -0
- package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-DJc-FW9O.js +1 -0
- package/public/dist/assets/timeline-definition-GMOUNBTQ-B3cA9DgY.js +1 -0
- package/public/dist/assets/treeView-SZITEDCU-Cn58DIbB.js +1 -0
- package/public/dist/assets/treemap-W4RFUUIX-DPcYjDzH.js +1 -0
- package/public/dist/assets/ui-C1daR00l.js +1 -0
- package/public/dist/assets/ui-D-oFkXed.js +131 -0
- package/public/dist/assets/vendor-icons-1Ec7ZWcT.js +1 -0
- package/public/dist/assets/{vendor-mermaid-COidH9HB.js → vendor-mermaid-lvHqQdfg.js} +4 -4
- package/public/dist/assets/vennDiagram-DHZGUBPP-DkBfxilo.js +1 -0
- package/public/dist/assets/wardley-RL74JXVD-6Dg0PJ4H.js +1 -0
- package/public/dist/assets/wardleyDiagram-NUSXRM2D-Dsntl_vy.js +1 -0
- package/public/dist/assets/ws-Dnn8HG8B.js +2 -0
- package/public/dist/assets/xychartDiagram-5P7HB3ND-B_McB5GE.js +1 -0
- package/public/dist/index.html +63 -55
- package/public/index.html +62 -53
- package/public/js/constants.ts +8 -2
- package/public/js/diagram/iframe-renderer.ts +559 -0
- package/public/js/diagram/types.ts +129 -0
- package/public/js/diagram/widget-validator.ts +82 -0
- package/public/js/features/chat.ts +24 -12
- package/public/js/features/employees.ts +3 -2
- package/public/js/features/heartbeat.ts +4 -3
- package/public/js/features/memory.ts +4 -3
- package/public/js/features/process-block.ts +12 -11
- package/public/js/features/settings-cli-status.ts +10 -7
- package/public/js/features/settings-core.ts +13 -3
- package/public/js/features/settings-discord.ts +9 -0
- package/public/js/features/settings-mcp.ts +8 -7
- package/public/js/features/settings-stt.ts +4 -4
- package/public/js/features/settings-templates.ts +10 -8
- package/public/js/features/settings-types.ts +1 -1
- package/public/js/features/settings.ts +1 -1
- package/public/js/features/sidebar.ts +4 -2
- package/public/js/features/skills.ts +4 -3
- package/public/js/features/theme.ts +4 -0
- package/public/js/features/tool-ui.ts +6 -5
- package/public/js/features/voice-recorder.ts +2 -1
- package/public/js/icons.ts +257 -0
- package/public/js/main.ts +9 -3
- package/public/js/provider-icons.ts +88 -0
- package/public/js/render.ts +493 -30
- package/public/js/streaming-render.ts +3 -3
- package/public/js/ui.ts +38 -18
- package/public/js/ws.ts +17 -10
- package/public/locales/en.json +89 -88
- package/public/locales/ko.json +89 -88
- package/scripts/release-preview.sh +1 -1
- package/public/dist/assets/api-BlPw3bUI.js +0 -1
- package/public/dist/assets/architecture-YZFGNWBL-BkS7SZQi.js +0 -1
- package/public/dist/assets/architectureDiagram-Q4EWVU46-Dl3iBKeR.js +0 -1
- package/public/dist/assets/blockDiagram-DXYQGD6D-DPr4D17p.js +0 -1
- package/public/dist/assets/c4Diagram-AHTNJAMY-CfoxJtDk.js +0 -1
- package/public/dist/assets/classDiagram-6PBFFD2Q-BOAdHnnB.js +0 -1
- package/public/dist/assets/classDiagram-v2-HSJHXN6E-B2QCJXWC.js +0 -1
- package/public/dist/assets/constants-DshMUJbo.js +0 -1
- package/public/dist/assets/cose-bilkent-S5V4N54A-CA14jk7w.js +0 -1
- package/public/dist/assets/dagre-KV5264BT-BVwNaSwC.js +0 -1
- package/public/dist/assets/diagram-5BDNPKRD-CHqIAvdc.js +0 -1
- package/public/dist/assets/diagram-G4DWMVQ6-DxvsCvTP.js +0 -1
- package/public/dist/assets/diagram-MMDJMWI5-DqOPO7dl.js +0 -1
- package/public/dist/assets/diagram-TYMM5635-C9xMWPQn.js +0 -1
- package/public/dist/assets/employees-CFRlsbHm.js +0 -39
- package/public/dist/assets/erDiagram-SMLLAGMA-BTmpfRkm.js +0 -1
- package/public/dist/assets/flowDiagram-DWJPFMVM-DZBSQAKA.js +0 -1
- package/public/dist/assets/ganttDiagram-T4ZO3ILL-TAEMCRbT.js +0 -1
- package/public/dist/assets/gitGraph-7Q5UKJZL-bbxndRNA.js +0 -1
- package/public/dist/assets/gitGraphDiagram-UUTBAWPF-CBxtx0MB.js +0 -1
- package/public/dist/assets/index-1Gg-6jeC.css +0 -1
- package/public/dist/assets/index-CQHqXjrK.js +0 -49
- package/public/dist/assets/info-OMHHGYJF-DRXq_Ywr.js +0 -1
- package/public/dist/assets/infoDiagram-42DDH7IO-C7FFwX4m.js +0 -1
- package/public/dist/assets/ishikawaDiagram-UXIWVN3A-DEZJE79j.js +0 -1
- package/public/dist/assets/journeyDiagram-VCZTEJTY-ZHLiY6GV.js +0 -1
- package/public/dist/assets/kanban-definition-6JOO6SKY-NP7pY7ML.js +0 -1
- package/public/dist/assets/mermaid.core-CHuluSlD.js +0 -1
- package/public/dist/assets/mindmap-definition-QFDTVHPH-Bd1OgfN_.js +0 -1
- package/public/dist/assets/packet-4T2RLAQJ-CGu8ST97.js +0 -1
- package/public/dist/assets/pie-ZZUOXDRM-CDG65mhS.js +0 -1
- package/public/dist/assets/pieDiagram-DEJITSTG-BbMBHLDM.js +0 -1
- package/public/dist/assets/quadrantDiagram-34T5L4WZ-CDCDgI1e.js +0 -1
- package/public/dist/assets/radar-PYXPWWZC-1gS-6ylu.js +0 -1
- package/public/dist/assets/render-YHvL5VM_.js +0 -6
- package/public/dist/assets/requirementDiagram-MS252O5E-DkmvOtYz.js +0 -1
- package/public/dist/assets/sankeyDiagram-XADWPNL6-GNcXIYsL.js +0 -1
- package/public/dist/assets/sequenceDiagram-FGHM5R23-BFrw2n6x.js +0 -1
- package/public/dist/assets/settings-BQF_u5px.js +0 -37
- package/public/dist/assets/settings-C5Q9IPjJ.js +0 -1
- package/public/dist/assets/skills-9Pd2rOw-.js +0 -1
- package/public/dist/assets/skills-BI7sQAdk.js +0 -12
- package/public/dist/assets/slash-commands-FMpJzlDB.js +0 -1
- package/public/dist/assets/stateDiagram-FHFEXIEX-BLgKnllT.js +0 -1
- package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-CbzuWsSa.js +0 -1
- package/public/dist/assets/timeline-definition-GMOUNBTQ-CcZTJ3gL.js +0 -1
- package/public/dist/assets/treeView-SZITEDCU-BDqBsaH1.js +0 -1
- package/public/dist/assets/treemap-W4RFUUIX-BaWHA3Di.js +0 -1
- package/public/dist/assets/ui-BukgLHuh.js +0 -29
- package/public/dist/assets/ui-Bvz1JfTE.js +0 -1
- package/public/dist/assets/vennDiagram-DHZGUBPP-BWV_j1bh.js +0 -1
- package/public/dist/assets/wardley-RL74JXVD-C7gKA3d7.js +0 -1
- package/public/dist/assets/wardleyDiagram-NUSXRM2D-BUoq_wug.js +0 -1
- package/public/dist/assets/ws-S_AZgx7L.js +0 -2
- package/public/dist/assets/xychartDiagram-5P7HB3ND-PvT5Ec82.js +0 -1
- /package/public/dist/assets/{api-B8XKQ4OT.js → api-Ci-lgwRp.js} +0 -0
- /package/public/dist/assets/{locale-BjoAcbis.js → locale-DIXc-_34.js} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { settings } from '../core/config.js';
|
|
2
|
+
import { listActiveOrcStates } from '../core/db.js';
|
|
3
|
+
function normalizeRemoteKey(target, chatId) {
|
|
4
|
+
if (chatId !== undefined && chatId !== null)
|
|
5
|
+
return String(chatId);
|
|
6
|
+
if (!target)
|
|
7
|
+
return 'default';
|
|
8
|
+
if (typeof target === 'string')
|
|
9
|
+
return target;
|
|
10
|
+
return String(target.channelId
|
|
11
|
+
|| target.threadId
|
|
12
|
+
|| target.id
|
|
13
|
+
|| 'default');
|
|
14
|
+
}
|
|
15
|
+
export function resolveOrcScope(input = {}) {
|
|
16
|
+
if (input.persistedScopeId)
|
|
17
|
+
return String(input.persistedScopeId);
|
|
18
|
+
const origin = String(input.origin || 'web').trim() || 'web';
|
|
19
|
+
const workingDir = String(input.workingDir ?? settings.workingDir ?? '~').trim() || '~';
|
|
20
|
+
if (origin === 'telegram' || origin === 'discord') {
|
|
21
|
+
return `${origin}:${normalizeRemoteKey(input.target, input.chatId)}:${workingDir}`;
|
|
22
|
+
}
|
|
23
|
+
return `local:${workingDir}`;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Find an existing active (non-IDLE) scope row matching the given origin/chatId.
|
|
27
|
+
* Used when workingDir may have changed mid-phase — the old scope row has the
|
|
28
|
+
* persisted scopeId that should be reused.
|
|
29
|
+
*
|
|
30
|
+
* When multiple active rows match, returns the most recently updated one.
|
|
31
|
+
* This is a best-effort heuristic: if a user runs concurrent PABCD flows
|
|
32
|
+
* from different directories, the most-recently-active flow wins.
|
|
33
|
+
*/
|
|
34
|
+
export function findActiveScope(origin, chatId) {
|
|
35
|
+
const activeRows = listActiveOrcStates.all();
|
|
36
|
+
if (!activeRows.length)
|
|
37
|
+
return null;
|
|
38
|
+
let matches;
|
|
39
|
+
if (origin === 'telegram' || origin === 'discord') {
|
|
40
|
+
const chatKey = normalizeRemoteKey(undefined, chatId);
|
|
41
|
+
const prefix = `${origin}:${chatKey}:`;
|
|
42
|
+
matches = activeRows.filter(r => r.id.startsWith(prefix));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
matches = activeRows.filter(r => r.id.startsWith('local:'));
|
|
46
|
+
}
|
|
47
|
+
if (matches.length === 0)
|
|
48
|
+
return null;
|
|
49
|
+
if (matches.length === 1)
|
|
50
|
+
return matches[0].id;
|
|
51
|
+
// Multiple active scopes for this origin — pick most recently updated
|
|
52
|
+
matches.sort((a, b) => (b.updated_at > a.updated_at ? 1 : -1));
|
|
53
|
+
return matches[0].id;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/orchestrator/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAWpD,SAAS,kBAAkB,CAAC,MAAqB,EAAE,MAAwB;IACvE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,MAAM,CACR,MAA8B,CAAC,SAAS;WACrC,MAA8B,CAAC,QAAQ;WACvC,MAA8B,CAAC,EAAE;WAClC,SAAS,CACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAuB,EAAE;IACrD,IAAI,KAAK,CAAC,gBAAgB;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;IAExF,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,GAAG,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;IACvF,CAAC;IAED,OAAO,SAAS,UAAU,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAAwB;IACpE,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,EAA+C,CAAC;IAC1F,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEpC,IAAI,OAAkD,CAAC;IAEvD,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,GAAG,CAAC;QACvC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;IAEhD,sEAAsE;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -6,12 +6,12 @@ import { getOrcState, setOrcState, resetOrcState } from '../core/db.js';
|
|
|
6
6
|
import { broadcast } from '../core/bus.js';
|
|
7
7
|
import { readLatestWorklog } from '../memory/worklog.js';
|
|
8
8
|
// ─── State Read/Write (DB-backed) ───────────────────
|
|
9
|
-
export function getState() {
|
|
10
|
-
const row = getOrcState();
|
|
9
|
+
export function getState(scope = 'default') {
|
|
10
|
+
const row = getOrcState.get(scope);
|
|
11
11
|
return row?.state || 'IDLE';
|
|
12
12
|
}
|
|
13
|
-
export function getCtx() {
|
|
14
|
-
const row = getOrcState();
|
|
13
|
+
export function getCtx(scope = 'default') {
|
|
14
|
+
const row = getOrcState.get(scope);
|
|
15
15
|
if (!row?.ctx)
|
|
16
16
|
return null;
|
|
17
17
|
try {
|
|
@@ -24,30 +24,32 @@ export function getCtx() {
|
|
|
24
24
|
return null;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
export function setState(s, ctx) {
|
|
27
|
+
export function setState(s, ctx, scope = 'default', titleOverride) {
|
|
28
28
|
const ctxJson = ctx !== undefined
|
|
29
29
|
? (ctx ? JSON.stringify(ctx) : null)
|
|
30
|
-
: getOrcState()?.ctx || null;
|
|
31
|
-
setOrcState.run(s, ctxJson
|
|
30
|
+
: (getOrcState.get(scope)?.ctx || null);
|
|
31
|
+
setOrcState.run(scope, s, ctxJson);
|
|
32
32
|
// Parse worklog title (max 2 words + …)
|
|
33
|
-
let title = 'PABCD';
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
let title = titleOverride || 'PABCD';
|
|
34
|
+
if (!titleOverride) {
|
|
35
|
+
try {
|
|
36
|
+
const wl = readLatestWorklog();
|
|
37
|
+
if (wl?.content) {
|
|
38
|
+
const firstLine = wl.content.split('\n')[0] || '';
|
|
39
|
+
const raw = firstLine.replace(/^#\s*Work Log:\s*"?/, '').replace(/"?\s*$/, '').trim();
|
|
40
|
+
if (raw) {
|
|
41
|
+
const words = raw.split(/\s+/);
|
|
42
|
+
title = words.slice(0, 2).join(' ') + (words.length > 2 ? '…' : '');
|
|
43
|
+
}
|
|
42
44
|
}
|
|
43
45
|
}
|
|
46
|
+
catch { /* fallback to PABCD */ }
|
|
44
47
|
}
|
|
45
|
-
|
|
46
|
-
broadcast('orc_state', { state: s, title });
|
|
48
|
+
broadcast('orc_state', { state: s, title, scope });
|
|
47
49
|
}
|
|
48
|
-
export function resetState() {
|
|
49
|
-
resetOrcState();
|
|
50
|
-
broadcast('orc_state', { state: 'IDLE', title: '' });
|
|
50
|
+
export function resetState(scope = 'default') {
|
|
51
|
+
resetOrcState.run(scope);
|
|
52
|
+
broadcast('orc_state', { state: 'IDLE', title: '', scope });
|
|
51
53
|
}
|
|
52
54
|
// ─── Prefix Map ─────────────────────────────────────
|
|
53
55
|
// B state: only worker results get Bb2 prefix, user messages get no prefix.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../src/orchestrator/state-machine.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,mFAAmF;AACnF,6CAA6C;AAC7C,kEAAkE;AAElE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../src/orchestrator/state-machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export function claimWorker(emp, task) {
|
|
|
14
14
|
completedAt: null,
|
|
15
15
|
pendingReplay: false,
|
|
16
16
|
replayClaimed: false,
|
|
17
|
+
replayAttempts: 0,
|
|
17
18
|
result: null,
|
|
18
19
|
};
|
|
19
20
|
workers.set(emp.id, slot);
|
|
@@ -42,7 +43,7 @@ export function failWorker(agentId, result) {
|
|
|
42
43
|
slot.state = 'failed';
|
|
43
44
|
slot.completedAt = Date.now();
|
|
44
45
|
slot.result = result;
|
|
45
|
-
slot.pendingReplay =
|
|
46
|
+
slot.pendingReplay = false; // Failed workers don't need replay — no result to feed back to Boss
|
|
46
47
|
}
|
|
47
48
|
export function cancelWorker(agentId) {
|
|
48
49
|
const slot = workers.get(agentId);
|
|
@@ -73,7 +74,7 @@ export function hasPendingWorkerReplays() {
|
|
|
73
74
|
export function listPendingWorkerResults() {
|
|
74
75
|
const results = [];
|
|
75
76
|
for (const slot of workers.values()) {
|
|
76
|
-
if (slot.pendingReplay && !slot.replayClaimed && slot.result) {
|
|
77
|
+
if (slot.state === 'done' && slot.pendingReplay && !slot.replayClaimed && slot.result) {
|
|
77
78
|
results.push({ agentId: slot.agentId, text: slot.result });
|
|
78
79
|
}
|
|
79
80
|
}
|
|
@@ -100,6 +101,12 @@ export function releaseWorkerReplay(agentId) {
|
|
|
100
101
|
if (!slot)
|
|
101
102
|
return;
|
|
102
103
|
slot.replayClaimed = false;
|
|
104
|
+
slot.replayAttempts++;
|
|
105
|
+
if (slot.replayAttempts >= 3) {
|
|
106
|
+
console.error(`[worker-registry] ${agentId} replay failed 3 times — marking as failed`);
|
|
107
|
+
slot.state = 'failed';
|
|
108
|
+
slot.pendingReplay = false;
|
|
109
|
+
}
|
|
103
110
|
}
|
|
104
111
|
export function clearAllWorkers() {
|
|
105
112
|
workers.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-registry.js","sourceRoot":"","sources":["../../../src/orchestrator/worker-registry.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,mEAAmE;AAEnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-registry.js","sourceRoot":"","sources":["../../../src/orchestrator/worker-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,12 @@ import { describeHeartbeatSchedule, normalizeHeartbeatSchedule } from '../memory
|
|
|
9
9
|
import { buildTaskSnapshot, getMemoryStatus, loadProfileSummary } from '../memory/runtime.js';
|
|
10
10
|
import { loadAndRender, loadTemplate, renderTemplate, parseWorkerContexts, clearTemplateCache } from './template-loader.js';
|
|
11
11
|
const promptCache = new Map();
|
|
12
|
+
function getRepoBundledSkillPath(...parts) {
|
|
13
|
+
return join(process.cwd(), ...parts);
|
|
14
|
+
}
|
|
15
|
+
function findFirstExistingPath(paths) {
|
|
16
|
+
return paths.find(p => fs.existsSync(p)) || null;
|
|
17
|
+
}
|
|
12
18
|
// ─── Legacy A1 Source Hashes ─────────────────────────
|
|
13
19
|
// MD5 hashes of source templates (unrendered) for every historical pre-hash version.
|
|
14
20
|
// Used to identify known stock files during pre-hash migration.
|
|
@@ -384,28 +390,29 @@ export function getSystemPrompt(opts = {}) {
|
|
|
384
390
|
}
|
|
385
391
|
}
|
|
386
392
|
catch { /* vision-click not ready */ }
|
|
387
|
-
// ───
|
|
388
|
-
//
|
|
389
|
-
//
|
|
390
|
-
//
|
|
391
|
-
// because it maintains a persistent session.
|
|
393
|
+
// ─── Delegation rules: jaw employees vs CLI sub-agents ───
|
|
394
|
+
// Both tools exist. The prompt must clarify WHEN to use which.
|
|
395
|
+
// Sub-agents (Task tool) are always available for internal work.
|
|
396
|
+
// jaw employees are dispatched via subtask JSON (server) or cli-jaw dispatch (pipe).
|
|
392
397
|
const pipeActiveCli = opts.activeCli || settings.cli;
|
|
393
398
|
const PIPE_MODE_CLIS = ['codex', 'claude', 'gemini', 'opencode'];
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
prompt += '
|
|
407
|
-
prompt += 'Do all work directly. Break large tasks into sequential steps.\n';
|
|
399
|
+
const isPipe = !opts.forDisk && PIPE_MODE_CLIS.includes(pipeActiveCli || '');
|
|
400
|
+
prompt += '\n\n---\n## Delegation Rules\n';
|
|
401
|
+
prompt += '### CLI Sub-agents (Task/Agent tool)\n';
|
|
402
|
+
prompt += 'You CAN use your CLI\'s Task/Agent tools for internal subtasks: research, parallel file reads, code analysis.\n';
|
|
403
|
+
prompt += 'Subagents you spawn must NOT spawn further subagents (1-level only).\n';
|
|
404
|
+
prompt += 'When spawning a subagent, include: "Do NOT use Agent, subagent, or delegation tools. Do all work directly."\n';
|
|
405
|
+
prompt += '\n### jaw Employee Dispatch\n';
|
|
406
|
+
if (isPipe) {
|
|
407
|
+
prompt += 'subtask JSON is NOT parsed in pipe mode. Use the CLI command:\n';
|
|
408
|
+
prompt += '```bash\ncli-jaw dispatch --agent "Frontend" --task "task description"\n```\n';
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
prompt += 'Output subtask JSON to dispatch jaw employees. jaw handles the rest.\n';
|
|
408
412
|
}
|
|
413
|
+
prompt += '\n### ⛔ Do NOT confuse the two\n';
|
|
414
|
+
prompt += '- Do NOT use CLI Task tool to "dispatch" jaw employees — use subtask JSON or `cli-jaw dispatch`.\n';
|
|
415
|
+
prompt += '- Do NOT assign simple research to jaw employees — use your CLI sub-agents instead.\n';
|
|
409
416
|
return prompt;
|
|
410
417
|
}
|
|
411
418
|
// ─── Employee Prompt (orchestration-free) ────────────
|
|
@@ -438,22 +445,43 @@ export function getEmployeePromptV2(emp, role, currentPhase) {
|
|
|
438
445
|
return promptCache.get(cacheKey);
|
|
439
446
|
let prompt = getEmployeePrompt(emp);
|
|
440
447
|
// ─── 1. Common dev skill (always injected)
|
|
441
|
-
const devCommonPath =
|
|
442
|
-
|
|
448
|
+
const devCommonPath = findFirstExistingPath([
|
|
449
|
+
join(SKILLS_DIR, 'dev', 'SKILL.md'),
|
|
450
|
+
getRepoBundledSkillPath('skills', 'dev', 'SKILL.md'),
|
|
451
|
+
]);
|
|
452
|
+
if (devCommonPath) {
|
|
443
453
|
prompt += `\n\n## Development Guide (Common)\n${fs.readFileSync(devCommonPath, 'utf8')}`;
|
|
444
454
|
}
|
|
445
455
|
// ─── 1b. Scaffolding guide (always injected)
|
|
446
|
-
const scaffoldingPath =
|
|
447
|
-
|
|
456
|
+
const scaffoldingPath = findFirstExistingPath([
|
|
457
|
+
join(SKILLS_DIR, 'dev-scaffolding', 'SKILL.md'),
|
|
458
|
+
getRepoBundledSkillPath('skills', 'dev-scaffolding', 'SKILL.md'),
|
|
459
|
+
]);
|
|
460
|
+
if (scaffoldingPath) {
|
|
448
461
|
prompt += `\n\n## Project Scaffolding Guide\n${fs.readFileSync(scaffoldingPath, 'utf8')}`;
|
|
449
462
|
}
|
|
450
463
|
// ─── 2. Role-based dev skill injection
|
|
451
464
|
const ROLE_SKILL_MAP = {
|
|
452
|
-
frontend:
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
465
|
+
frontend: findFirstExistingPath([
|
|
466
|
+
join(SKILLS_DIR, 'dev-frontend', 'SKILL.md'),
|
|
467
|
+
getRepoBundledSkillPath('skills', 'dev-frontend', 'SKILL.md'),
|
|
468
|
+
]),
|
|
469
|
+
backend: findFirstExistingPath([
|
|
470
|
+
join(SKILLS_DIR, 'dev-backend', 'SKILL.md'),
|
|
471
|
+
getRepoBundledSkillPath('skills', 'dev-backend', 'SKILL.md'),
|
|
472
|
+
]),
|
|
473
|
+
research: findFirstExistingPath([
|
|
474
|
+
join(SKILLS_REF_DIR, 'research-worker', 'SKILL.md'),
|
|
475
|
+
getRepoBundledSkillPath('skills_ref', 'research-worker', 'SKILL.md'),
|
|
476
|
+
]),
|
|
477
|
+
data: findFirstExistingPath([
|
|
478
|
+
join(SKILLS_DIR, 'dev-data', 'SKILL.md'),
|
|
479
|
+
getRepoBundledSkillPath('skills', 'dev-data', 'SKILL.md'),
|
|
480
|
+
]),
|
|
481
|
+
docs: findFirstExistingPath([
|
|
482
|
+
join(SKILLS_DIR, 'documentation', 'SKILL.md'),
|
|
483
|
+
getRepoBundledSkillPath('skills', 'documentation', 'SKILL.md'),
|
|
484
|
+
]),
|
|
457
485
|
custom: null,
|
|
458
486
|
};
|
|
459
487
|
const skillPath = ROLE_SKILL_MAP[role];
|
|
@@ -462,15 +490,25 @@ export function getEmployeePromptV2(emp, role, currentPhase) {
|
|
|
462
490
|
}
|
|
463
491
|
// ─── 3a. Plan audit phase(2) → inject dev-code-reviewer
|
|
464
492
|
if (phase === 2) {
|
|
465
|
-
const reviewerPath =
|
|
466
|
-
|
|
493
|
+
const reviewerPath = findFirstExistingPath([
|
|
494
|
+
join(SKILLS_DIR, 'dev-code-reviewer', 'SKILL.md'),
|
|
495
|
+
join(SKILLS_REF_DIR, 'dev-code-reviewer', 'SKILL.md'),
|
|
496
|
+
getRepoBundledSkillPath('skills', 'dev-code-reviewer', 'SKILL.md'),
|
|
497
|
+
getRepoBundledSkillPath('skills_ref', 'dev-code-reviewer', 'SKILL.md'),
|
|
498
|
+
]);
|
|
499
|
+
if (reviewerPath) {
|
|
467
500
|
prompt += `\n\n## Code Review Guide (Phase 2 — Strict Audit)\n${fs.readFileSync(reviewerPath, 'utf8')}`;
|
|
468
501
|
}
|
|
469
502
|
}
|
|
470
503
|
// ─── 3b. Debug/check phase(4) → inject dev-testing
|
|
471
504
|
if (phase === 4) {
|
|
472
|
-
const testingPath =
|
|
473
|
-
|
|
505
|
+
const testingPath = findFirstExistingPath([
|
|
506
|
+
join(SKILLS_DIR, 'dev-testing', 'SKILL.md'),
|
|
507
|
+
join(SKILLS_REF_DIR, 'dev-testing', 'SKILL.md'),
|
|
508
|
+
getRepoBundledSkillPath('skills', 'dev-testing', 'SKILL.md'),
|
|
509
|
+
getRepoBundledSkillPath('skills_ref', 'dev-testing', 'SKILL.md'),
|
|
510
|
+
]);
|
|
511
|
+
if (testingPath) {
|
|
474
512
|
prompt += `\n\n## Testing Guide (Phase 4)\n${fs.readFileSync(testingPath, 'utf8')}`;
|
|
475
513
|
}
|
|
476
514
|
}
|
|
@@ -483,17 +521,20 @@ export function getEmployeePromptV2(emp, role, currentPhase) {
|
|
|
483
521
|
prompt += `\n- Do not touch files outside your assigned scope`;
|
|
484
522
|
prompt += `\n- Focus only on your assigned area`;
|
|
485
523
|
prompt += `\n- Report results clearly with specific file paths and line numbers`;
|
|
486
|
-
// ───
|
|
487
|
-
prompt += `\n\n##
|
|
488
|
-
prompt += `\nYou
|
|
489
|
-
prompt += `\
|
|
490
|
-
prompt += `\
|
|
524
|
+
// ─── Sub-agent usage (employees CAN use sub-agents; must NOT dispatch jaw employees) ───
|
|
525
|
+
prompt += `\n\n## Sub-agent Usage Rules`;
|
|
526
|
+
prompt += `\nYou CAN use your CLI's Task/Agent tools for your own work (parallel file reads, research, code analysis).`;
|
|
527
|
+
prompt += `\nSubagents you spawn must NOT spawn further subagents (1-level only).`;
|
|
528
|
+
prompt += `\nWhen spawning a subagent, include: "Do NOT use Agent, subagent, or delegation tools. Do all work directly."`;
|
|
529
|
+
prompt += `\n\n⛔ You must NOT output jaw employee subtask JSON — only the Boss can dispatch jaw employees.`;
|
|
530
|
+
prompt += `\nIf a task seems too large, use your CLI sub-agents to parallelize — do NOT try to dispatch other jaw employees.`;
|
|
491
531
|
promptCache.set(cacheKey, prompt);
|
|
492
532
|
return prompt;
|
|
493
533
|
}
|
|
494
534
|
export function clearPromptCache() { promptCache.clear(); }
|
|
495
535
|
export function regenerateB() {
|
|
496
536
|
clearTemplateCache();
|
|
537
|
+
clearPromptCache();
|
|
497
538
|
const fullPrompt = getSystemPrompt({ forDisk: true });
|
|
498
539
|
fs.writeFileSync(join(PROMPTS_DIR, 'B.md'), fullPrompt);
|
|
499
540
|
// Generate {workDir}/AGENTS.md — read by Codex, Copilot, and OpenCode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/prompt/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/prompt/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ Execute tasks on the user's computer via CLI tools.
|
|
|
7
7
|
- Follow the user's instructions precisely
|
|
8
8
|
- Respond in the user's language
|
|
9
9
|
- Report results clearly with file paths and outputs
|
|
10
|
+
- Prefer short, structured Markdown and actively use heading levels from `#` through `####` when they improve scanability
|
|
11
|
+
- Avoid dense wall-of-text; group findings, actions, and next steps into scan-friendly sections
|
|
10
12
|
- Ask for clarification when ambiguous
|
|
11
13
|
- Never run git commit/push/branch/reset/clean unless the user explicitly asks in the same turn
|
|
12
14
|
- Default delivery is file changes + verification report (no commit/push)
|
|
@@ -24,6 +26,18 @@ Execute tasks on the user's computer via CLI tools.
|
|
|
24
26
|
|
|
25
27
|
**Rule**: Use jaw employees for orchestrated multi-agent tasks. Use CLI sub-agents for your own internal subtasks (if available). Do not use one for the other.
|
|
26
28
|
|
|
29
|
+
### When to Use Which — Decision Tree
|
|
30
|
+
|
|
31
|
+
1. "I need Frontend to fix CSS and Backend to update the API" → **jaw Employee dispatch** (subtask JSON or `cli-jaw dispatch`)
|
|
32
|
+
2. "I need to investigate 3 files in parallel before deciding" → **CLI Sub-agent** (Task tool)
|
|
33
|
+
3. "Pipe mode, need to send employee" → `cli-jaw dispatch --agent "Name" --task "..."` (NOT subtask JSON, NOT Task tool)
|
|
34
|
+
4. "Employee needs to research before implementing" → Tell the employee to use **their own CLI sub-agents** (Task tool) — this is allowed
|
|
35
|
+
|
|
36
|
+
⛔ Do NOT:
|
|
37
|
+
- Use CLI Task tool to "dispatch" a jaw employee (Task tool spawns a subprocess, not a jaw employee)
|
|
38
|
+
- Assign simple file reads or research to jaw employees (use your own CLI sub-agents instead — faster, cheaper)
|
|
39
|
+
- Confuse the two: jaw employees are registered agents with their own CLI; CLI sub-agents are your internal tool
|
|
40
|
+
|
|
27
41
|
## How jaw Works (Architecture)
|
|
28
42
|
|
|
29
43
|
User message → jaw server → You (Boss agent)
|
|
@@ -154,3 +168,29 @@ Before writing ANY code, you MUST read the relevant dev skill guides:
|
|
|
154
168
|
3. **How to read**: `cat {{JAW_HOME}}/skills/dev/SKILL.md` or `cli-jaw skill read dev`
|
|
155
169
|
4. Follow ALL guidelines from the skill before and during implementation
|
|
156
170
|
5. If a skill contradicts these rules, the skill takes priority (skills are project-specific)
|
|
171
|
+
|
|
172
|
+
## Diagrams (MANDATORY — diagram skill file FIRST, always)
|
|
173
|
+
|
|
174
|
+
**Stop-and-read trigger**: any request involving `diagram / chart / graph / visualize / flowchart / mermaid / SVG / heatmap / sankey / radar / treemap / gauge / funnel / candlestick / map / sequence / class / state machine / timeline / mind map / 다이어그램 / 도식 / 시각화 / 차트 / 지도` — or any user intent that would benefit from a visual explanation — means you **MUST read `{{JAW_HOME}}/skills/diagram/SKILL.md` before writing a single line of output**. Do not rely on prior knowledge. Do not skip this step because "I already know how to make an SVG". The skill file has the current routing table, color system, complexity budget, delivery rules, and reference pointers — none of which you can reconstruct from memory.
|
|
175
|
+
|
|
176
|
+
**The diagram skill is the single source of truth.** Follow all its guidelines. If it seems to miss something for your use case, **update the skill file** — do NOT invent rules inside the response. A1 only lists triggers; every actual rule lives in the skill.
|
|
177
|
+
|
|
178
|
+
### Required reading order
|
|
179
|
+
|
|
180
|
+
1. **Always first**: `{{JAW_HOME}}/skills/diagram/SKILL.md` (or `cli-jaw skill read diagram`)
|
|
181
|
+
2. **Then the matching reference module** — pick the one(s) that match your output type:
|
|
182
|
+
- `reference/svg-components.md` — static inline SVG (viewBox, nodes, connectors, text, font calibration)
|
|
183
|
+
- `reference/color-palette.md` — 9 color ramps, assignment rules, CSS variable map
|
|
184
|
+
- `reference/module-chart.md` — Chart.js, D3 + **ECharts 6** (heatmap / sankey / radar / treemap / gauge / funnel / candlestick / chord)
|
|
185
|
+
- `reference/module-widget.md` — Three.js (WebGL 2 default + optional WebGPU), p5.js, Tone.js, Matter.js, Math.js
|
|
186
|
+
- `reference/module-interactive.md` — sliders, selects, segmented buttons, play/pause, throttle/debounce, sendPrompt
|
|
187
|
+
- `reference/module-map.md` — Leaflet interactive maps (OSM tiles, markers, popups, dark mode)
|
|
188
|
+
- `reference/module-mockup.md` / `reference/module-art.md` — UI wireframes, decorative SVG
|
|
189
|
+
|
|
190
|
+
### Delivery show-stoppers (the skill file has full detail — these three are the ones that silently break things)
|
|
191
|
+
|
|
192
|
+
`<svg>`, ` ```mermaid `, and ` ```diagram-html ` blocks render **inline in the chat response**; the jaw frontend mounts `diagram-html` in a sandboxed `<iframe>` automatically. Paste raw blocks directly into your reply — that is the entire delivery mechanism.
|
|
193
|
+
|
|
194
|
+
- ❌ Never save diagrams to a file (`.svg` / `.html` / `.png`) via Write / `cat >` / `fs.writeFile`, and never send them through `/api/channel/send` or Telegram/Discord — they are **response text, not attachments**.
|
|
195
|
+
- ❌ Never wrap `diagram-html` content in your own `<iframe>` / `<html>` / `<body>` / `<head>` — the host injects all of that.
|
|
196
|
+
- ✅ Only write a file when the user **explicitly** asks for a file on disk. Even then, show the diagram inline first so they can see it rendered.
|
|
@@ -35,6 +35,15 @@ Long-term memory:
|
|
|
35
35
|
- Search memory before claiming remembered facts
|
|
36
36
|
- Save only durable facts, decisions, and preferences
|
|
37
37
|
|
|
38
|
+
## Diagram & Visualization Delivery
|
|
39
|
+
If your task involves creating diagrams, charts, or visualizations:
|
|
40
|
+
- **Inline SVG**: paste `<svg>` markup directly in your response text
|
|
41
|
+
- **Interactive/JS diagrams**: use ` ```diagram-html ` code fence (EXACT tag — not `html`, not `interactive-html`, not `diagram`)
|
|
42
|
+
- The jaw frontend auto-mounts `diagram-html` blocks in sandboxed iframes
|
|
43
|
+
- ❌ Never save diagrams to files (`.svg` / `.html` / `.png`)
|
|
44
|
+
- ❌ Never wrap in `<iframe>` / `<html>` / `<body>` — the host does that
|
|
45
|
+
- ❌ Never send diagrams via `/api/channel/send` — they render inline
|
|
46
|
+
|
|
38
47
|
## Your Identity
|
|
39
48
|
|
|
40
49
|
You are **{{EMP_NAME}}**, a jaw employee (role: {{EMP_ROLE}}).
|
|
@@ -43,7 +52,7 @@ You are **{{EMP_NAME}}**, a jaw employee (role: {{EMP_ROLE}}).
|
|
|
43
52
|
- Complete your assigned task thoroughly and report results.
|
|
44
53
|
- Your results will be reviewed by the Boss, who may dispatch follow-up tasks.
|
|
45
54
|
- Do NOT output orchestration JSON (subtasks, phase transitions) — that's the Boss's responsibility.
|
|
46
|
-
-
|
|
55
|
+
- You CAN use your CLI's sub-agent features (Task tool) for internal parallel work (file reads, research, analysis). But you must NOT output jaw employee dispatch JSON — only the Boss does that.
|
|
47
56
|
|
|
48
57
|
## Task Completion Protocol
|
|
49
58
|
Do NOT output subtask JSON — you are an executor, not a planner.
|
|
@@ -7,7 +7,9 @@ CLI session and reports back to you. You do NOT spawn them — jaw handles dispa
|
|
|
7
7
|
{{EMPLOYEE_LIST}}
|
|
8
8
|
|
|
9
9
|
### Dispatch Format
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
**jaw 서버 경유 세션 (Web UI / Telegram):**
|
|
12
|
+
Output EXACTLY this format (triple-backtick fenced JSON block):
|
|
11
13
|
|
|
12
14
|
\`\`\`json
|
|
13
15
|
{
|
|
@@ -21,6 +23,20 @@ To assign work, output EXACTLY this format (triple-backtick fenced JSON block):
|
|
|
21
23
|
}
|
|
22
24
|
\`\`\`
|
|
23
25
|
|
|
26
|
+
**Pipe 모드 세션 (Claude Code CLI 직접 실행):**
|
|
27
|
+
subtask JSON은 파싱되지 않습니다. 두 가지 도구를 구분하세요:
|
|
28
|
+
|
|
29
|
+
**jaw Employee dispatch** (역할 기반 작업 위임):
|
|
30
|
+
```bash
|
|
31
|
+
cli-jaw dispatch --agent "Frontend" --task "Specific task instruction"
|
|
32
|
+
```
|
|
33
|
+
결과가 stdout으로 동기 반환됩니다.
|
|
34
|
+
|
|
35
|
+
**CLI Sub-agents** (자기 작업 내 병렬화):
|
|
36
|
+
CLI의 Task/Agent 도구는 Pipe 모드에서도 정상 동작합니다.
|
|
37
|
+
리서치, 파일 탐색, 코드 분석 등 자기 작업에는 CLI Sub-agent를 사용하세요.
|
|
38
|
+
jaw Employee를 CLI Task tool로 보내지 마세요 — `cli-jaw dispatch`를 사용하세요.
|
|
39
|
+
|
|
24
40
|
### CRITICAL RULES
|
|
25
41
|
1. JSON MUST be wrapped in ```json ... ``` code blocks (mandatory)
|
|
26
42
|
2. Never output raw JSON without code blocks
|
package/dist/src/telegram/bot.js
CHANGED
|
@@ -13,8 +13,9 @@ import { bumpSessionOwnershipGeneration } from '../agent/session-persistence.js'
|
|
|
13
13
|
import { parseCommand, executeCommand } from '../cli/commands.js';
|
|
14
14
|
import { getTelegramMenuCommands } from '../command-contract/policy.js';
|
|
15
15
|
import { downloadTelegramFile } from '../../lib/upload.js';
|
|
16
|
-
import { clearMainSessionState } from '../core/main-session.js';
|
|
16
|
+
import { clearMainSessionState, resetSessionPreservingHistory } from '../core/main-session.js';
|
|
17
17
|
import { applyRuntimeSettingsPatch } from '../core/runtime-settings.js';
|
|
18
|
+
import { seedDefaultEmployees } from '../core/employees.js';
|
|
18
19
|
import { handleVoice } from './voice.js';
|
|
19
20
|
import { registerTransport, setLastActiveTarget, setLatestSeenTarget } from '../messaging/runtime.js';
|
|
20
21
|
import { registerSendTransport } from '../messaging/send.js';
|
|
@@ -175,6 +176,11 @@ function makeTelegramCommandCtx() {
|
|
|
175
176
|
bumpSessionOwnershipGeneration();
|
|
176
177
|
clearMainSessionState();
|
|
177
178
|
},
|
|
179
|
+
resetSession: () => {
|
|
180
|
+
bumpSessionOwnershipGeneration();
|
|
181
|
+
resetSessionPreservingHistory();
|
|
182
|
+
},
|
|
183
|
+
resetEmployees: () => seedDefaultEmployees({ reset: true, notify: true }),
|
|
178
184
|
});
|
|
179
185
|
}
|
|
180
186
|
// ─── Init ────────────────────────────────────────────
|