cli-jaw 2.1.2 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/README.md +6 -5
  2. package/dist/bin/cli-jaw.js +14 -2
  3. package/dist/bin/cli-jaw.js.map +1 -1
  4. package/dist/bin/commands/chat-search.js +71 -0
  5. package/dist/bin/commands/chat-search.js.map +1 -0
  6. package/dist/bin/commands/goal.js +48 -3
  7. package/dist/bin/commands/goal.js.map +1 -1
  8. package/dist/bin/commands/history.js +61 -0
  9. package/dist/bin/commands/history.js.map +1 -0
  10. package/dist/bin/commands/lock.js +104 -0
  11. package/dist/bin/commands/lock.js.map +1 -0
  12. package/dist/bin/commands/memory.js +23 -2
  13. package/dist/bin/commands/memory.js.map +1 -1
  14. package/dist/bin/commands/project.js +4 -1
  15. package/dist/bin/commands/project.js.map +1 -1
  16. package/dist/bin/commands/tui/simple-mode.js +0 -1
  17. package/dist/bin/commands/tui/simple-mode.js.map +1 -1
  18. package/dist/lib/upload.js +7 -0
  19. package/dist/lib/upload.js.map +1 -1
  20. package/dist/server.js +127 -19
  21. package/dist/server.js.map +1 -1
  22. package/dist/src/agent/agy-runtime.js +1 -0
  23. package/dist/src/agent/agy-runtime.js.map +1 -1
  24. package/dist/src/agent/agy-transcript-watcher.js +78 -0
  25. package/dist/src/agent/agy-transcript-watcher.js.map +1 -0
  26. package/dist/src/agent/agy-transcript.js +158 -0
  27. package/dist/src/agent/agy-transcript.js.map +1 -0
  28. package/dist/src/agent/args.js +18 -4
  29. package/dist/src/agent/args.js.map +1 -1
  30. package/dist/src/agent/codex-app-client.js +1 -1
  31. package/dist/src/agent/codex-app-client.js.map +1 -1
  32. package/dist/src/agent/cursor-runtime.js +1 -0
  33. package/dist/src/agent/cursor-runtime.js.map +1 -1
  34. package/dist/src/agent/kiro-runtime.js +11 -3
  35. package/dist/src/agent/kiro-runtime.js.map +1 -1
  36. package/dist/src/agent/lifecycle-handler.js +18 -11
  37. package/dist/src/agent/lifecycle-handler.js.map +1 -1
  38. package/dist/src/agent/memory-flush-controller.js +2 -1
  39. package/dist/src/agent/memory-flush-controller.js.map +1 -1
  40. package/dist/src/agent/session-persistence.js +2 -2
  41. package/dist/src/agent/session-persistence.js.map +1 -1
  42. package/dist/src/agent/spawn/queue.js +1 -1
  43. package/dist/src/agent/spawn/queue.js.map +1 -1
  44. package/dist/src/agent/spawn-env.js +1 -1
  45. package/dist/src/agent/spawn-env.js.map +1 -1
  46. package/dist/src/agent/spawn.js +76 -48
  47. package/dist/src/agent/spawn.js.map +1 -1
  48. package/dist/src/agent/watchdog.js +1 -1
  49. package/dist/src/agent/watchdog.js.map +1 -1
  50. package/dist/src/browser/actions.js +0 -8
  51. package/dist/src/browser/actions.js.map +1 -1
  52. package/dist/src/browser/adaptive-fetch/browser-escalation.js +5 -29
  53. package/dist/src/browser/adaptive-fetch/browser-escalation.js.map +1 -1
  54. package/dist/src/browser/adaptive-fetch/browser-runtime.js +5 -14
  55. package/dist/src/browser/adaptive-fetch/browser-runtime.js.map +1 -1
  56. package/dist/src/browser/adaptive-fetch/browser-session.js +14 -28
  57. package/dist/src/browser/adaptive-fetch/browser-session.js.map +1 -1
  58. package/dist/src/browser/adaptive-fetch/challenge-detector.js +4 -26
  59. package/dist/src/browser/adaptive-fetch/challenge-detector.js.map +1 -1
  60. package/dist/src/browser/adaptive-fetch/content-scorer.js +5 -29
  61. package/dist/src/browser/adaptive-fetch/content-scorer.js.map +1 -1
  62. package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js +0 -64
  63. package/dist/src/browser/adaptive-fetch/endpoint-resolvers.js.map +1 -1
  64. package/dist/src/browser/adaptive-fetch/fetcher.js +4 -19
  65. package/dist/src/browser/adaptive-fetch/fetcher.js.map +1 -1
  66. package/dist/src/browser/adaptive-fetch/human-loop.js +0 -26
  67. package/dist/src/browser/adaptive-fetch/human-loop.js.map +1 -1
  68. package/dist/src/browser/adaptive-fetch/index.js +74 -145
  69. package/dist/src/browser/adaptive-fetch/index.js.map +1 -1
  70. package/dist/src/browser/adaptive-fetch/metadata.js +1 -41
  71. package/dist/src/browser/adaptive-fetch/metadata.js.map +1 -1
  72. package/dist/src/browser/adaptive-fetch/output.js +1 -18
  73. package/dist/src/browser/adaptive-fetch/output.js.map +1 -1
  74. package/dist/src/browser/adaptive-fetch/reader-adapters.js +43 -75
  75. package/dist/src/browser/adaptive-fetch/reader-adapters.js.map +1 -1
  76. package/dist/src/browser/adaptive-fetch/safety.js +5 -48
  77. package/dist/src/browser/adaptive-fetch/safety.js.map +1 -1
  78. package/dist/src/browser/adaptive-fetch/third-party-readers.js +0 -11
  79. package/dist/src/browser/adaptive-fetch/third-party-readers.js.map +1 -1
  80. package/dist/src/browser/adaptive-fetch/trace.js +3 -18
  81. package/dist/src/browser/adaptive-fetch/trace.js.map +1 -1
  82. package/dist/src/browser/adaptive-fetch/transforms.js +0 -23
  83. package/dist/src/browser/adaptive-fetch/transforms.js.map +1 -1
  84. package/dist/src/browser/adaptive-fetch/types.js +3 -0
  85. package/dist/src/browser/adaptive-fetch/types.js.map +1 -0
  86. package/dist/src/browser/adaptive-fetch/validators.js +0 -17
  87. package/dist/src/browser/adaptive-fetch/validators.js.map +1 -1
  88. package/dist/src/browser/adaptive-fetch/waf-profiles.js +0 -10
  89. package/dist/src/browser/adaptive-fetch/waf-profiles.js.map +1 -1
  90. package/dist/src/browser/connection.js +1 -1
  91. package/dist/src/browser/connection.js.map +1 -1
  92. package/dist/src/browser/web-ai/chatgpt-response.js +0 -1
  93. package/dist/src/browser/web-ai/chatgpt-response.js.map +1 -1
  94. package/dist/src/browser/web-ai/chatgpt.js +0 -33
  95. package/dist/src/browser/web-ai/chatgpt.js.map +1 -1
  96. package/dist/src/browser/web-ai/diagnostics.js +0 -16
  97. package/dist/src/browser/web-ai/diagnostics.js.map +1 -1
  98. package/dist/src/browser/web-ai/doctor.js.map +1 -1
  99. package/dist/src/browser/web-ai/errors.js +1 -1
  100. package/dist/src/browser/web-ai/errors.js.map +1 -1
  101. package/dist/src/cli/command-context.js.map +1 -1
  102. package/dist/src/cli/commands.js +13 -2
  103. package/dist/src/cli/commands.js.map +1 -1
  104. package/dist/src/cli/compact.js +2 -1
  105. package/dist/src/cli/compact.js.map +1 -1
  106. package/dist/src/cli/handlers/session-handlers.js +34 -0
  107. package/dist/src/cli/handlers/session-handlers.js.map +1 -0
  108. package/dist/src/cli/handlers-project.js.map +1 -1
  109. package/dist/src/cli/handlers-workflows.js +76 -13
  110. package/dist/src/cli/handlers-workflows.js.map +1 -1
  111. package/dist/src/cli/handlers.js +37 -36
  112. package/dist/src/cli/handlers.js.map +1 -1
  113. package/dist/src/cli/registry.js +7 -7
  114. package/dist/src/cli/registry.js.map +1 -1
  115. package/dist/src/core/chat-sessions.js +63 -0
  116. package/dist/src/core/chat-sessions.js.map +1 -0
  117. package/dist/src/core/compact.js +43 -11
  118. package/dist/src/core/compact.js.map +1 -1
  119. package/dist/src/core/config.js +9 -1
  120. package/dist/src/core/config.js.map +1 -1
  121. package/dist/src/core/db.js +48 -15
  122. package/dist/src/core/db.js.map +1 -1
  123. package/dist/src/core/main-session.js +3 -2
  124. package/dist/src/core/main-session.js.map +1 -1
  125. package/dist/src/goal/heartbeat.js +88 -5
  126. package/dist/src/goal/heartbeat.js.map +1 -1
  127. package/dist/src/goal/store.js +38 -3
  128. package/dist/src/goal/store.js.map +1 -1
  129. package/dist/src/manager/lifecycle-store.js.map +1 -1
  130. package/dist/src/manager/lifecycle.js +45 -1
  131. package/dist/src/manager/lifecycle.js.map +1 -1
  132. package/dist/src/manager/preview-link-policy.js +11 -4
  133. package/dist/src/manager/preview-link-policy.js.map +1 -1
  134. package/dist/src/manager/server.js +25 -9
  135. package/dist/src/manager/server.js.map +1 -1
  136. package/dist/src/manager/shutdown.js +8 -3
  137. package/dist/src/manager/shutdown.js.map +1 -1
  138. package/dist/src/memory/indexing.js +49 -1
  139. package/dist/src/memory/indexing.js.map +1 -1
  140. package/dist/src/memory/runtime.js +2 -1
  141. package/dist/src/memory/runtime.js.map +1 -1
  142. package/dist/src/messaging/send.js +66 -7
  143. package/dist/src/messaging/send.js.map +1 -1
  144. package/dist/src/orchestrator/distribute.js +2 -2
  145. package/dist/src/orchestrator/gateway.js +4 -4
  146. package/dist/src/orchestrator/gateway.js.map +1 -1
  147. package/dist/src/orchestrator/pipeline.js +2 -1
  148. package/dist/src/orchestrator/pipeline.js.map +1 -1
  149. package/dist/src/orchestrator/sanitize.js +57 -7
  150. package/dist/src/orchestrator/sanitize.js.map +1 -1
  151. package/dist/src/orchestrator/state-machine.js +15 -8
  152. package/dist/src/orchestrator/state-machine.js.map +1 -1
  153. package/dist/src/prompt/builder.js +171 -86
  154. package/dist/src/prompt/builder.js.map +1 -1
  155. package/dist/src/prompt/templates/a1-system.md +94 -66
  156. package/dist/src/prompt/templates/employee.md +41 -59
  157. package/dist/src/prompt/templates/skills.md +6 -0
  158. package/dist/src/routes/browser.js +3 -3
  159. package/dist/src/routes/browser.js.map +1 -1
  160. package/dist/src/routes/goal.js +38 -2
  161. package/dist/src/routes/goal.js.map +1 -1
  162. package/dist/src/routes/messaging.js +8 -3
  163. package/dist/src/routes/messaging.js.map +1 -1
  164. package/dist/src/routes/orchestrate.js +3 -2
  165. package/dist/src/routes/orchestrate.js.map +1 -1
  166. package/dist/src/routes/quota-agy-reverse.js +6 -0
  167. package/dist/src/routes/quota-agy-reverse.js.map +1 -1
  168. package/dist/src/routes/quota.js +68 -6
  169. package/dist/src/routes/quota.js.map +1 -1
  170. package/dist/src/routes/settings.js +6 -6
  171. package/dist/src/routes/settings.js.map +1 -1
  172. package/dist/src/security/path-guards.js +0 -3
  173. package/dist/src/security/path-guards.js.map +1 -1
  174. package/dist/src/workflows/scope-sandbox.js +17 -5
  175. package/dist/src/workflows/scope-sandbox.js.map +1 -1
  176. package/package.json +1 -1
  177. package/public/css/chat.css +27 -0
  178. package/public/css/orc-state.css +10 -6
  179. package/public/css/variables.css +4 -0
  180. package/public/dist/assets/{Agent-DkH7eoHd.js → Agent-DBKNQ6tp.js} +1 -1
  181. package/public/dist/assets/{FolderPanel-DSkanaGN.js → FolderPanel-DT0fU8f2.js} +1 -1
  182. package/public/dist/assets/{Heartbeat-C3JS6gkF.js → Heartbeat-fsuLzY9c.js} +1 -1
  183. package/public/dist/assets/{Memory-C-EQubN2.js → Memory-CRR8kotI.js} +1 -1
  184. package/public/dist/assets/{ModelProvider-BD2KrypI.js → ModelProvider-DQgISbKw.js} +1 -1
  185. package/public/dist/assets/agent-meta-C4mauPL5.js +1 -0
  186. package/public/dist/assets/app-0OQhPpTG.css +1 -0
  187. package/public/dist/assets/app-CSqIyg9A.js +55 -0
  188. package/public/dist/assets/constants-BHMkzpN_.js +1 -0
  189. package/public/dist/assets/{employees-_A-p_bZg.js → employees-CZdWHH-r.js} +1 -1
  190. package/public/dist/assets/manager-CGTQ5EIm.js +12 -0
  191. package/public/dist/assets/manager-UBunDqMH.css +1 -0
  192. package/public/dist/assets/{memory-D9AUn8fG.js → memory-B3QSmj_e.js} +1 -1
  193. package/public/dist/assets/memory-DOBqiuPc.js +1 -0
  194. package/public/dist/assets/render-J11oxfnl.js +28 -0
  195. package/public/dist/assets/settings-BV_2Bh0_.js +1 -0
  196. package/public/dist/assets/settings-m_cim0ov.js +151 -0
  197. package/public/dist/assets/sidebar-ZBXdBgF7.js +49 -0
  198. package/public/dist/assets/{skills-BDVLIrVT.js → skills-CjaBmIPV.js} +1 -1
  199. package/public/dist/assets/skills-Xm3fl1zr.js +1 -0
  200. package/public/dist/assets/{slash-commands-C5da3q1p.js → slash-commands-71jc07Wf.js} +1 -1
  201. package/public/dist/assets/slash-commands-BO6ssnAz.js +1 -0
  202. package/public/dist/assets/{trace-drawer-5kqBzFMk.js → trace-drawer-Czvf2P2o.js} +1 -1
  203. package/public/dist/assets/ui-CverZJnd.js +1 -0
  204. package/public/dist/assets/ui-qKxy-4p9.js +142 -0
  205. package/public/dist/index.html +2 -2
  206. package/public/dist/manager/index.html +2 -2
  207. package/public/js/constants.ts +4 -4
  208. package/public/js/features/chat-messages.ts +13 -2
  209. package/public/js/features/chat.ts +86 -44
  210. package/public/js/features/media-lightbox.ts +40 -0
  211. package/public/js/features/pending-queue.ts +20 -2
  212. package/public/js/features/settings-cli-status-render.ts +2 -4
  213. package/public/js/features/settings-cli-status.ts +6 -2
  214. package/public/js/features/settings-types.ts +1 -0
  215. package/public/js/features/ui-status.ts +5 -1
  216. package/public/js/main.ts +2 -0
  217. package/public/js/render/markdown.ts +16 -0
  218. package/public/js/ui.ts +8 -4
  219. package/public/js/ws.ts +27 -16
  220. package/public/locales/en.json +1 -0
  221. package/public/locales/ja.json +1 -0
  222. package/public/locales/ko.json +1 -0
  223. package/public/locales/zh.json +1 -0
  224. package/public/manager/src/InstancePreview.tsx +21 -1
  225. package/public/manager/src/SidebarRailRouter.tsx +32 -4
  226. package/public/manager/src/components/InstanceRow.tsx +0 -1
  227. package/public/manager/src/components/WorkbenchHeader.tsx +17 -7
  228. package/public/manager/src/folder-panel/FolderPanel.tsx +13 -2
  229. package/public/manager/src/hooks/useElectronDroppedPaths.ts +89 -0
  230. package/public/manager/src/manager-components.css +34 -0
  231. package/public/manager/src/manager-polish.css +10 -0
  232. package/public/manager/src/panels/desktop-bridge.ts +11 -0
  233. package/public/manager/src/settings/pages/components/agent/agent-meta.ts +4 -4
  234. package/scripts/smoke/agy-transcript-tail-smoke.mjs +89 -0
  235. package/public/dist/assets/agent-meta-B1098B_a.js +0 -1
  236. package/public/dist/assets/app-ByHYOMZE.js +0 -48
  237. package/public/dist/assets/app-CYdhP6Vh.css +0 -1
  238. package/public/dist/assets/constants-s2UJodER.js +0 -1
  239. package/public/dist/assets/manager-B2qEQRxN.css +0 -1
  240. package/public/dist/assets/manager-CR9BA-wO.js +0 -12
  241. package/public/dist/assets/memory-D1RKYvyu.js +0 -1
  242. package/public/dist/assets/render-DFBujF8n.js +0 -28
  243. package/public/dist/assets/settings-B4ZkeaU-.js +0 -1
  244. package/public/dist/assets/settings-D9jTceN0.js +0 -151
  245. package/public/dist/assets/sidebar-DPPRNiTc.js +0 -48
  246. package/public/dist/assets/skills-8nHJkv-r.js +0 -1
  247. package/public/dist/assets/slash-commands-RJWO8wJZ.js +0 -1
  248. package/public/dist/assets/ui-Crnp79bG.js +0 -142
  249. package/public/dist/assets/ui-HtSKByR3.js +0 -1
  250. /package/public/dist/assets/{locale-DT1WRaeJ.js → locale-BHMJIzyw.js} +0 -0
  251. /package/public/dist/assets/{provider-icons-CVVK5xUP.js → provider-icons-Crv6yvlG.js} +0 -0
@@ -2,7 +2,7 @@ import fs from 'fs';
2
2
  import os from 'os';
3
3
  import { createHash } from 'crypto';
4
4
  import { join } from 'path';
5
- import { settings, JAW_HOME, PROMPTS_DIR, SKILLS_DIR, SKILLS_REF_DIR, loadHeartbeatFile, deriveCdpPort } from '../core/config.js';
5
+ import { settings, JAW_HOME, PROMPTS_DIR, SKILLS_DIR, SKILLS_REF_DIR, loadHeartbeatFile, deriveCdpPort, getProjectDirs } from '../core/config.js';
6
6
  import { expandHomePath } from '../core/path-expand.js';
7
7
  import { stripUndefined } from '../core/strip-undefined.js';
8
8
  import { getEmployees } from '../core/db.js';
@@ -21,6 +21,101 @@ function getRepoBundledSkillPath(...parts) {
21
21
  function findFirstExistingPath(paths) {
22
22
  return paths.find(p => fs.existsSync(p)) || null;
23
23
  }
24
+ function findSkillPath(skillName) {
25
+ return findFirstExistingPath([
26
+ join(SKILLS_DIR, skillName, 'SKILL.md'),
27
+ join(SKILLS_REF_DIR, skillName, 'SKILL.md'),
28
+ getRepoBundledSkillPath('skills', skillName, 'SKILL.md'),
29
+ getRepoBundledSkillPath('skills_ref', skillName, 'SKILL.md'),
30
+ ]);
31
+ }
32
+ function normalizeSkillDescription(description) {
33
+ return String(description || '')
34
+ .trim()
35
+ .replace(/^["']|["']$/g, '')
36
+ .replace(/\s+/g, ' ');
37
+ }
38
+ function normalizeSkillMetadataList(value) {
39
+ if (Array.isArray(value))
40
+ return value.map(v => String(v).trim()).filter(Boolean);
41
+ const raw = String(value || '').trim();
42
+ if (!raw)
43
+ return [];
44
+ const unwrapped = raw.replace(/^\[/, '').replace(/\]$/, '');
45
+ return unwrapped.split(',').map(v => v.trim().replace(/^["']|["']$/g, '')).filter(Boolean);
46
+ }
47
+ function parseTopLevelSkillMetadataList(content, field) {
48
+ const match = content.match(new RegExp(`^${field}:\\s*(.+)$`, 'm'));
49
+ return normalizeSkillMetadataList(match?.[1]);
50
+ }
51
+ function parseSkillMetadataObject(content) {
52
+ const frontmatter = content.match(/^---\n([\s\S]*?)\n---/);
53
+ const source = frontmatter?.[1] || content;
54
+ const metadataMatch = source.match(/^metadata:\s*\n([\s\S]*)$/m);
55
+ if (!metadataMatch?.[1])
56
+ return {};
57
+ let raw = metadataMatch[1];
58
+ const nextTopLevelKey = raw.search(/\n[A-Za-z0-9_-]+:\s*/);
59
+ if (nextTopLevelKey >= 0)
60
+ raw = raw.slice(0, nextTopLevelKey);
61
+ try {
62
+ const parsed = JSON.parse(raw.trim());
63
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
64
+ }
65
+ catch {
66
+ return {};
67
+ }
68
+ }
69
+ function parseSkillMetadataList(content, field) {
70
+ const topLevel = parseTopLevelSkillMetadataList(content, field);
71
+ const metadata = parseSkillMetadataObject(content);
72
+ const nested = normalizeSkillMetadataList(metadata[field]);
73
+ return [...new Set([...topLevel, ...nested])];
74
+ }
75
+ function formatSkillRoutingMetadata(skill) {
76
+ const keywords = normalizeSkillMetadataList(skill.keywords);
77
+ const triggers = normalizeSkillMetadataList(skill.triggers);
78
+ const parts = [];
79
+ if (keywords.length)
80
+ parts.push(`keywords: ${keywords.join(', ')}`);
81
+ if (triggers.length)
82
+ parts.push(`triggers: ${triggers.join(', ')}`);
83
+ return parts.length ? ` [${parts.join('; ')}]` : '';
84
+ }
85
+ function readSkillMetadata(skillName, skillPath) {
86
+ if (!skillPath || !fs.existsSync(skillPath))
87
+ return { name: skillName, description: '', keywords: [], triggers: [] };
88
+ try {
89
+ const content = fs.readFileSync(skillPath, 'utf8');
90
+ const nameMatch = content.match(/^name:\s*(.+)/m);
91
+ const descMatch = content.match(/^description:\s*"?(.+?)"?\s*$/m);
92
+ return {
93
+ name: nameMatch?.[1]?.trim() || skillName,
94
+ description: normalizeSkillDescription(descMatch?.[1]),
95
+ keywords: parseSkillMetadataList(content, 'keywords'),
96
+ triggers: parseSkillMetadataList(content, 'triggers'),
97
+ };
98
+ }
99
+ catch {
100
+ return { name: skillName, description: '', keywords: [], triggers: [] };
101
+ }
102
+ }
103
+ export function formatSkillListItem(skill) {
104
+ const name = String(skill.name || skill.id).trim();
105
+ const label = name && name !== skill.id ? `${name} (${skill.id})` : skill.id;
106
+ const description = normalizeSkillDescription(skill.description);
107
+ const routing = formatSkillRoutingMetadata(skill);
108
+ return description ? `- ${label} — ${description}${routing}` : `- ${label}${routing}`;
109
+ }
110
+ function formatSkillPath(skillName, skillPath) {
111
+ if (!skillPath)
112
+ return `${skillName}: unavailable`;
113
+ const meta = readSkillMetadata(skillName, skillPath);
114
+ const label = meta.name && meta.name !== skillName ? `${meta.name} (${skillName})` : skillName;
115
+ return meta.description
116
+ ? `${label}: ${skillPath} — ${meta.description}${formatSkillRoutingMetadata(meta)}`
117
+ : `${label}: ${skillPath}${formatSkillRoutingMetadata(meta)}`;
118
+ }
24
119
  // ─── Legacy A1 Source Hashes ─────────────────────────
25
120
  // MD5 hashes of source templates (unrendered) for every historical pre-hash version.
26
121
  // Used to identify known stock files during pre-hash migration.
@@ -64,6 +159,8 @@ export function loadActiveSkills() {
64
159
  id: d.name,
65
160
  name: nameMatch?.[1]?.trim() || d.name,
66
161
  description: descMatch?.[1]?.trim() || '',
162
+ keywords: parseSkillMetadataList(content, 'keywords'),
163
+ triggers: parseSkillMetadataList(content, 'triggers'),
67
164
  content,
68
165
  };
69
166
  })
@@ -345,6 +442,11 @@ export function getSystemPrompt(opts = {}) {
345
442
  const a1 = fs.existsSync(A1_PATH) ? fs.readFileSync(A1_PATH, 'utf8') : getA1Content();
346
443
  const a2 = fs.existsSync(A2_PATH) ? fs.readFileSync(A2_PATH, 'utf8') : '';
347
444
  let prompt = `${a1}\n\n${a2}`;
445
+ const projectDirs = getProjectDirs();
446
+ if (projectDirs && projectDirs.length > 0) {
447
+ const rootLines = projectDirs.map(d => `Project root: ${d}`).join('\n');
448
+ prompt = `${rootLines}\n\n${prompt}`;
449
+ }
348
450
  const currentPrompt = String(opts.currentPrompt || '').trim();
349
451
  const forDisk = opts.forDisk === true;
350
452
  // Phase 15: Telegram guidance is now part of A1_CONTENT (hardcoded)
@@ -419,7 +521,10 @@ export function getSystemPrompt(opts = {}) {
419
521
  prompt += '\n\n---\n' + renderTemplate(loadTemplate('heartbeat-jobs.md'), vars);
420
522
  }
421
523
  }
422
- catch { /* heartbeat.json not ready */ }
524
+ catch (error) {
525
+ prompt += '\n\n---\n## Heartbeat Jobs\n';
526
+ prompt += `Heartbeat file failed to load: ${error.message}\n`;
527
+ }
423
528
  try {
424
529
  const activeSkills = loadActiveSkills();
425
530
  const refSkills = loadSkillRegistry();
@@ -429,9 +534,21 @@ export function getSystemPrompt(opts = {}) {
429
534
  prompt += '\n\n---\n## Skills System\n';
430
535
  const vars = getTemplateVars();
431
536
  vars["ACTIVE_SKILLS_COUNT"] = String(activeSkills.length);
432
- vars["ACTIVE_SKILLS_LIST"] = activeSkills.map(s => `- ${s.name} (${s.id})`).join('\n');
537
+ vars["ACTIVE_SKILLS_LIST"] = activeSkills.map(s => formatSkillListItem({
538
+ id: s.id,
539
+ name: s.name,
540
+ description: s.description,
541
+ keywords: s.keywords,
542
+ triggers: s.triggers,
543
+ })).join('\n');
433
544
  vars["REF_SKILLS_COUNT"] = String(availableRef.length);
434
- vars["REF_SKILLS_LIST"] = availableRef.map(s => s.id).join(', ');
545
+ vars["REF_SKILLS_LIST"] = availableRef.map(s => formatSkillListItem({
546
+ id: s.id,
547
+ name: s.name,
548
+ description: s.description,
549
+ keywords: s.keywords,
550
+ triggers: s.triggers,
551
+ })).join('\n');
435
552
  // Only render sections that have content
436
553
  if (activeSkills.length > 0 && availableRef.length > 0) {
437
554
  prompt += renderTemplate(loadTemplate('skills.md'), vars);
@@ -446,8 +563,9 @@ export function getSystemPrompt(opts = {}) {
446
563
  else {
447
564
  // Only ref skills
448
565
  const tmpl = loadTemplate('skills.md');
566
+ const matchingSection = tmpl.split('### Active Skills')[0];
449
567
  const refSection = tmpl.substring(tmpl.indexOf('### Available Skills'));
450
- prompt += renderTemplate(refSection, vars);
568
+ prompt += renderTemplate(matchingSection + refSection, vars);
451
569
  }
452
570
  }
453
571
  }
@@ -500,9 +618,19 @@ export function getEmployeePrompt(emp) {
500
618
  const activeSkills = loadActiveSkills();
501
619
  if (activeSkills.length > 0) {
502
620
  let section = `\n## Active Skills (${activeSkills.length})\n`;
503
- section += `Installed skills — automatically triggered by the CLI.\n`;
621
+ section += `Installed skills — automatically triggered by the CLI. Use each description to decide whether to read its SKILL.md.\n`;
622
+ section += `Read active skills from ${SKILLS_DIR}/<skill-id>/SKILL.md.\n`;
623
+ section += `Match by intent, not exact words: compare the request, files, domain nouns, output, and task verbs against visible skill names, descriptions, and any listed metadata, keywords, or triggers.\n`;
624
+ section += `When uncertain, inspect the best candidate: if metadata suggests a plausible match, read that SKILL.md once before deciding it does not apply.\n`;
625
+ section += `Search intent override: for "검색", "검색해", "찾아봐", "알아봐", "look up", or "search" targeting external/current/docs/library information, inspect the active search skill before local Grep/Glob.\n`;
504
626
  for (const s of activeSkills) {
505
- section += `- ${s.name} (${s.id})\n`;
627
+ section += `${formatSkillListItem({
628
+ id: s.id,
629
+ name: s.name,
630
+ description: s.description,
631
+ keywords: s.keywords,
632
+ triggers: s.triggers,
633
+ })}\n`;
506
634
  }
507
635
  vars["ACTIVE_SKILLS_SECTION"] = section;
508
636
  }
@@ -534,91 +662,48 @@ export function getEmployeePromptV2(emp, role, currentPhase, opts) {
534
662
  console.warn(`[prompt] ${staticSpec.name} system patch load failed:`, e.message);
535
663
  }
536
664
  }
537
- // Static-employee declared skills are injected INLINE so the employee never
538
- // needs to read skill files from disk. Previously `skills: [...]` was metadata
539
- // only employees tried `sed`/`cat` on absolute paths (often wrong), wasting
540
- // a turn and sometimes failing entirely. The skill content now lives in the
541
- // system prompt; reference files (`reference/*.md`) stay on disk for deep
542
- // lookups the employee can do with `cli-jaw skill read <name> <ref>`.
665
+ // Skill bodies are intentionally not inlined. Each employee receives a
666
+ // compact path contract and reads only the guide needed for the task.
667
+ const devCommonPath = findSkillPath('dev');
668
+ const scaffoldingPath = findSkillPath('dev-scaffolding');
669
+ const ROLE_SKILL_NAME_MAP = {
670
+ frontend: 'dev-frontend',
671
+ backend: 'dev-backend',
672
+ data: 'dev-data',
673
+ docs: 'doc-coauthoring',
674
+ custom: null,
675
+ };
676
+ const roleSkillName = ROLE_SKILL_NAME_MAP[role] ?? null;
677
+ const roleSkillPath = roleSkillName ? findSkillPath(roleSkillName) : null;
678
+ const pabcdPath = findSkillPath('dev-pabcd');
679
+ const reviewerPath = findSkillPath('dev-code-reviewer');
680
+ const testingPath = findSkillPath('dev-testing');
681
+ prompt += `\n\n## Skill Loading Contract`;
682
+ prompt += `\nSkill bodies are not preloaded. Read each guide once, only when the task requires it.`;
683
+ prompt += `\n- Match by intent, not exact words: compare the task, files, domain nouns, output, and task verbs against visible skill names, descriptions, and any listed metadata, keywords, or triggers.`;
684
+ prompt += `\n- When uncertain, inspect the best candidate: if metadata suggests a plausible match, read that SKILL.md once before deciding it does not apply.`;
685
+ prompt += `\n- Search intent override: for "검색", "검색해", "찾아봐", "알아봐", "look up", or "search" targeting external/current/docs/library information, inspect the active search skill before local Grep/Glob.`;
686
+ prompt += `\n- Common dev guide: ${formatSkillPath('dev', devCommonPath)}`;
687
+ prompt += `\n- Scaffolding guide: ${formatSkillPath('dev-scaffolding', scaffoldingPath)} (read only for new projects, new modules, or structure audits)`;
543
688
  if (staticSpec?.skills?.length) {
689
+ prompt += `\n- Static employee skills:`;
544
690
  for (const skillName of staticSpec.skills) {
545
- const skillPath = findFirstExistingPath([
546
- join(SKILLS_DIR, skillName, 'SKILL.md'),
547
- join(SKILLS_REF_DIR, skillName, 'SKILL.md'),
548
- getRepoBundledSkillPath('skills', skillName, 'SKILL.md'),
549
- getRepoBundledSkillPath('skills_ref', skillName, 'SKILL.md'),
550
- ]);
551
- if (skillPath && fs.existsSync(skillPath)) {
552
- prompt += `\n\n## Skill: ${skillName} (inlined — do NOT read from disk)\n${fs.readFileSync(skillPath, 'utf8')}`;
553
- }
554
- else {
555
- console.warn(`[prompt] ${staticSpec.name}: skill '${skillName}' not found on disk — check SKILLS_DIR/SKILLS_REF_DIR`);
556
- }
691
+ prompt += `\n - ${formatSkillPath(skillName, findSkillPath(skillName))}`;
557
692
  }
558
693
  }
559
- // ─── 1. Common dev skill (always injected)
560
- const devCommonPath = findFirstExistingPath([
561
- join(SKILLS_DIR, 'dev', 'SKILL.md'),
562
- getRepoBundledSkillPath('skills', 'dev', 'SKILL.md'),
563
- ]);
564
- if (devCommonPath) {
565
- prompt += `\n\n## Development Guide (Common)\n${fs.readFileSync(devCommonPath, 'utf8')}`;
566
- }
567
- // ─── 1b. Scaffolding guide (always injected)
568
- const scaffoldingPath = findFirstExistingPath([
569
- join(SKILLS_DIR, 'dev-scaffolding', 'SKILL.md'),
570
- getRepoBundledSkillPath('skills', 'dev-scaffolding', 'SKILL.md'),
571
- ]);
572
- if (scaffoldingPath) {
573
- prompt += `\n\n## Project Scaffolding Guide\n${fs.readFileSync(scaffoldingPath, 'utf8')}`;
574
- }
575
- // ─── 2. Role-based dev skill injection
576
- const ROLE_SKILL_MAP = {
577
- frontend: findFirstExistingPath([
578
- join(SKILLS_DIR, 'dev-frontend', 'SKILL.md'),
579
- getRepoBundledSkillPath('skills', 'dev-frontend', 'SKILL.md'),
580
- ]),
581
- backend: findFirstExistingPath([
582
- join(SKILLS_DIR, 'dev-backend', 'SKILL.md'),
583
- getRepoBundledSkillPath('skills', 'dev-backend', 'SKILL.md'),
584
- ]),
585
- data: findFirstExistingPath([
586
- join(SKILLS_DIR, 'dev-data', 'SKILL.md'),
587
- getRepoBundledSkillPath('skills', 'dev-data', 'SKILL.md'),
588
- ]),
589
- docs: findFirstExistingPath([
590
- join(SKILLS_DIR, 'documentation', 'SKILL.md'),
591
- getRepoBundledSkillPath('skills', 'documentation', 'SKILL.md'),
592
- ]),
593
- custom: null,
594
- };
595
- const skillPath = ROLE_SKILL_MAP[role];
596
- if (skillPath && fs.existsSync(skillPath)) {
597
- prompt += `\n\n## Development Guide (${role})\n${fs.readFileSync(skillPath, 'utf8')}`;
598
- }
599
- // ─── 3a. Plan audit phase(2) → inject dev-code-reviewer
694
+ prompt += `\n\n## Role Contract`;
695
+ prompt += `\n- Role: ${role}`;
696
+ prompt += `\n- Role guide: ${roleSkillName ? formatSkillPath(roleSkillName, roleSkillPath) : 'none'}`;
697
+ prompt += `\n- Apply this role on every assigned task. Before role-specific implementation or review, read the role guide once if it is available.`;
698
+ prompt += `\n- Also read the common dev guide before modifying code.`;
699
+ prompt += `\n\n## Phase Guide`;
700
+ prompt += `\n- Use the phase context below as the source of truth for what this employee should do now.`;
701
+ prompt += `\n- Full PABCD guide: ${formatSkillPath('dev-pabcd', pabcdPath)} (read only if phase rules are unclear).`;
600
702
  if (phase === 2) {
601
- const reviewerPath = findFirstExistingPath([
602
- join(SKILLS_DIR, 'dev-code-reviewer', 'SKILL.md'),
603
- join(SKILLS_REF_DIR, 'dev-code-reviewer', 'SKILL.md'),
604
- getRepoBundledSkillPath('skills', 'dev-code-reviewer', 'SKILL.md'),
605
- getRepoBundledSkillPath('skills_ref', 'dev-code-reviewer', 'SKILL.md'),
606
- ]);
607
- if (reviewerPath) {
608
- prompt += `\n\n## Code Review Guide (Phase 2 — Strict Audit)\n${fs.readFileSync(reviewerPath, 'utf8')}`;
609
- }
703
+ prompt += `\n- Phase 2 audit: read ${formatSkillPath('dev-code-reviewer', reviewerPath)} before reviewing plans or code.`;
610
704
  }
611
- // ─── 3b. Debug/check phase(4) → inject dev-testing
612
- if (phase === 4) {
613
- const testingPath = findFirstExistingPath([
614
- join(SKILLS_DIR, 'dev-testing', 'SKILL.md'),
615
- join(SKILLS_REF_DIR, 'dev-testing', 'SKILL.md'),
616
- getRepoBundledSkillPath('skills', 'dev-testing', 'SKILL.md'),
617
- getRepoBundledSkillPath('skills_ref', 'dev-testing', 'SKILL.md'),
618
- ]);
619
- if (testingPath) {
620
- prompt += `\n\n## Testing Guide (Phase 4)\n${fs.readFileSync(testingPath, 'utf8')}`;
621
- }
705
+ else if (phase === 4) {
706
+ prompt += `\n- Phase 4 check: read ${formatSkillPath('dev-testing', testingPath)} before designing or running verification.`;
622
707
  }
623
708
  // ─── 4. Employee context (PABCD-aware)
624
709
  const workerContexts = parseWorkerContexts();
@@ -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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"}