deepclause-sdk 0.0.88 → 0.1.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.
Files changed (318) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +418 -914
  3. package/dist/agent.d.ts +19 -2
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +221 -4
  6. package/dist/agent.js.map +1 -1
  7. package/dist/cli/config.d.ts +323 -176
  8. package/dist/cli/config.d.ts.map +1 -1
  9. package/dist/cli/config.js +146 -188
  10. package/dist/cli/config.js.map +1 -1
  11. package/dist/cli/index.d.ts +3 -2
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +61 -425
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/login.d.ts +29 -0
  16. package/dist/cli/login.d.ts.map +1 -0
  17. package/dist/cli/login.js +184 -0
  18. package/dist/cli/login.js.map +1 -0
  19. package/dist/cli/readline.d.ts +6 -0
  20. package/dist/cli/readline.d.ts.map +1 -0
  21. package/dist/cli/readline.js +15 -0
  22. package/dist/cli/readline.js.map +1 -0
  23. package/dist/cli/repl-bin.d.ts +9 -0
  24. package/dist/cli/repl-bin.d.ts.map +1 -0
  25. package/dist/cli/repl-bin.js +16 -0
  26. package/dist/cli/repl-bin.js.map +1 -0
  27. package/dist/cli/repl.d.ts +191 -0
  28. package/dist/cli/repl.d.ts.map +1 -0
  29. package/dist/cli/repl.js +1232 -0
  30. package/dist/cli/repl.js.map +1 -0
  31. package/dist/cli/run.d.ts +17 -18
  32. package/dist/cli/run.d.ts.map +1 -1
  33. package/dist/cli/run.js +196 -183
  34. package/dist/cli/run.js.map +1 -1
  35. package/dist/cli/set-backend.d.ts +53 -0
  36. package/dist/cli/set-backend.d.ts.map +1 -0
  37. package/dist/cli/set-backend.js +259 -0
  38. package/dist/cli/set-backend.js.map +1 -0
  39. package/dist/cli/visualize.d.ts +38 -0
  40. package/dist/cli/visualize.d.ts.map +1 -0
  41. package/dist/cli/visualize.js +125 -0
  42. package/dist/cli/visualize.js.map +1 -0
  43. package/dist/compiler.d.ts +5 -52
  44. package/dist/compiler.d.ts.map +1 -1
  45. package/dist/compiler.js +4 -768
  46. package/dist/compiler.js.map +1 -1
  47. package/dist/index.d.ts +29 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +20 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/judge/index.d.ts +9 -0
  52. package/dist/judge/index.d.ts.map +1 -0
  53. package/dist/judge/index.js +6 -0
  54. package/dist/judge/index.js.map +1 -0
  55. package/dist/judge/jev.d.ts +21 -0
  56. package/dist/judge/jev.d.ts.map +1 -0
  57. package/dist/judge/jev.js +218 -0
  58. package/dist/judge/jev.js.map +1 -0
  59. package/dist/judge/llm.d.ts +23 -0
  60. package/dist/judge/llm.d.ts.map +1 -0
  61. package/dist/judge/llm.js +120 -0
  62. package/dist/judge/llm.js.map +1 -0
  63. package/dist/judge/marshal.d.ts +26 -0
  64. package/dist/judge/marshal.d.ts.map +1 -0
  65. package/dist/judge/marshal.js +266 -0
  66. package/dist/judge/marshal.js.map +1 -0
  67. package/dist/judge/mock.d.ts +28 -0
  68. package/dist/judge/mock.d.ts.map +1 -0
  69. package/dist/judge/mock.js +98 -0
  70. package/dist/judge/mock.js.map +1 -0
  71. package/dist/judge/types.d.ts +95 -0
  72. package/dist/judge/types.d.ts.map +1 -0
  73. package/dist/judge/types.js +23 -0
  74. package/dist/judge/types.js.map +1 -0
  75. package/dist/prolog/bridge.d.ts +5 -1
  76. package/dist/prolog/bridge.d.ts.map +1 -1
  77. package/dist/prolog/bridge.js +29 -1
  78. package/dist/prolog/bridge.js.map +1 -1
  79. package/dist/prolog-src/deepclause_analysis.pl +10 -2
  80. package/dist/prolog-src/deepclause_mi.pl +2522 -118
  81. package/dist/repl/agent.d.ts +72 -0
  82. package/dist/repl/agent.d.ts.map +1 -0
  83. package/dist/repl/agent.js +366 -0
  84. package/dist/repl/agent.js.map +1 -0
  85. package/dist/repl/auth.d.ts +45 -0
  86. package/dist/repl/auth.d.ts.map +1 -0
  87. package/dist/repl/auth.js +116 -0
  88. package/dist/repl/auth.js.map +1 -0
  89. package/dist/repl/backend.d.ts +290 -0
  90. package/dist/repl/backend.d.ts.map +1 -0
  91. package/dist/repl/backend.js +370 -0
  92. package/dist/repl/backend.js.map +1 -0
  93. package/dist/repl/compaction.d.ts +122 -0
  94. package/dist/repl/compaction.d.ts.map +1 -0
  95. package/dist/repl/compaction.js +318 -0
  96. package/dist/repl/compaction.js.map +1 -0
  97. package/dist/repl/export.d.ts +30 -0
  98. package/dist/repl/export.d.ts.map +1 -0
  99. package/dist/repl/export.js +23 -0
  100. package/dist/repl/export.js.map +1 -0
  101. package/dist/repl/frames.d.ts +21 -0
  102. package/dist/repl/frames.d.ts.map +1 -0
  103. package/dist/repl/frames.js +79 -0
  104. package/dist/repl/frames.js.map +1 -0
  105. package/dist/repl/harness-tools.d.ts +74 -0
  106. package/dist/repl/harness-tools.d.ts.map +1 -0
  107. package/dist/repl/harness-tools.js +121 -0
  108. package/dist/repl/harness-tools.js.map +1 -0
  109. package/dist/repl/highlight.d.ts +30 -0
  110. package/dist/repl/highlight.d.ts.map +1 -0
  111. package/dist/repl/highlight.js +285 -0
  112. package/dist/repl/highlight.js.map +1 -0
  113. package/dist/repl/history.d.ts +234 -0
  114. package/dist/repl/history.d.ts.map +1 -0
  115. package/dist/repl/history.js +661 -0
  116. package/dist/repl/history.js.map +1 -0
  117. package/dist/repl/index.d.ts +120 -0
  118. package/dist/repl/index.d.ts.map +1 -0
  119. package/dist/repl/index.js +107 -0
  120. package/dist/repl/index.js.map +1 -0
  121. package/dist/repl/judge.d.ts +51 -0
  122. package/dist/repl/judge.d.ts.map +1 -0
  123. package/dist/repl/judge.js +58 -0
  124. package/dist/repl/judge.js.map +1 -0
  125. package/dist/repl/markdown.d.ts +25 -0
  126. package/dist/repl/markdown.d.ts.map +1 -0
  127. package/dist/repl/markdown.js +103 -0
  128. package/dist/repl/markdown.js.map +1 -0
  129. package/dist/repl/picker.d.ts +34 -0
  130. package/dist/repl/picker.d.ts.map +1 -0
  131. package/dist/repl/picker.js +81 -0
  132. package/dist/repl/picker.js.map +1 -0
  133. package/dist/repl/project-context.d.ts +16 -0
  134. package/dist/repl/project-context.d.ts.map +1 -0
  135. package/dist/repl/project-context.js +23 -0
  136. package/dist/repl/project-context.js.map +1 -0
  137. package/dist/repl/render.d.ts +160 -0
  138. package/dist/repl/render.d.ts.map +1 -0
  139. package/dist/repl/render.js +715 -0
  140. package/dist/repl/render.js.map +1 -0
  141. package/dist/repl/session.d.ts +356 -0
  142. package/dist/repl/session.d.ts.map +1 -0
  143. package/dist/repl/session.js +1275 -0
  144. package/dist/repl/session.js.map +1 -0
  145. package/dist/repl/status.d.ts +100 -0
  146. package/dist/repl/status.d.ts.map +1 -0
  147. package/dist/repl/status.js +218 -0
  148. package/dist/repl/status.js.map +1 -0
  149. package/dist/repl/tools.d.ts +53 -0
  150. package/dist/repl/tools.d.ts.map +1 -0
  151. package/dist/repl/tools.js +307 -0
  152. package/dist/repl/tools.js.map +1 -0
  153. package/dist/repl/toolset.d.ts +32 -0
  154. package/dist/repl/toolset.d.ts.map +1 -0
  155. package/dist/repl/toolset.js +82 -0
  156. package/dist/repl/toolset.js.map +1 -0
  157. package/dist/repl/tui/editor.d.ts +17 -0
  158. package/dist/repl/tui/editor.d.ts.map +1 -0
  159. package/dist/repl/tui/editor.js +39 -0
  160. package/dist/repl/tui/editor.js.map +1 -0
  161. package/dist/repl/tui/status-bar.d.ts +26 -0
  162. package/dist/repl/tui/status-bar.d.ts.map +1 -0
  163. package/dist/repl/tui/status-bar.js +47 -0
  164. package/dist/repl/tui/status-bar.js.map +1 -0
  165. package/dist/repl/tui/theme.d.ts +30 -0
  166. package/dist/repl/tui/theme.d.ts.map +1 -0
  167. package/dist/repl/tui/theme.js +81 -0
  168. package/dist/repl/tui/theme.js.map +1 -0
  169. package/dist/repl/tui/transcript.d.ts +39 -0
  170. package/dist/repl/tui/transcript.d.ts.map +1 -0
  171. package/dist/repl/tui/transcript.js +123 -0
  172. package/dist/repl/tui/transcript.js.map +1 -0
  173. package/dist/runner.d.ts +145 -13
  174. package/dist/runner.d.ts.map +1 -1
  175. package/dist/runner.js +600 -282
  176. package/dist/runner.js.map +1 -1
  177. package/dist/sdk.d.ts.map +1 -1
  178. package/dist/sdk.js +56 -32
  179. package/dist/sdk.js.map +1 -1
  180. package/dist/system/assets/docs/AGENT_PROMPT.md +1373 -0
  181. package/dist/system/assets/docs/DML_AUTHORING.md +195 -0
  182. package/dist/system/assets/docs/DML_REFERENCE.md +393 -72
  183. package/dist/system/assets/docs/HARNESS_EXAMPLES.md +172 -0
  184. package/dist/system/assets/docs/HARNESS_PATTERNS.md +562 -0
  185. package/dist/system/assets/docs/META_PROMPT.md +68 -0
  186. package/dist/system/assets/docs/PROLOG_SNIPPETS.md +117 -0
  187. package/dist/system/assets/index.d.ts +9 -17
  188. package/dist/system/assets/index.d.ts.map +1 -1
  189. package/dist/system/assets/index.js +26 -85
  190. package/dist/system/assets/index.js.map +1 -1
  191. package/dist/system/runtime/agentvm-manager.d.ts +9 -2
  192. package/dist/system/runtime/agentvm-manager.d.ts.map +1 -1
  193. package/dist/system/runtime/agentvm-manager.js +70 -44
  194. package/dist/system/runtime/agentvm-manager.js.map +1 -1
  195. package/dist/system/runtime/media.d.ts +23 -0
  196. package/dist/system/runtime/media.d.ts.map +1 -0
  197. package/dist/system/runtime/media.js +55 -0
  198. package/dist/system/runtime/media.js.map +1 -0
  199. package/dist/system/runtime/shell-limits.d.ts +21 -0
  200. package/dist/system/runtime/shell-limits.d.ts.map +1 -0
  201. package/dist/system/runtime/shell-limits.js +39 -0
  202. package/dist/system/runtime/shell-limits.js.map +1 -0
  203. package/dist/system/runtime/shell-manager.d.ts +8 -3
  204. package/dist/system/runtime/shell-manager.d.ts.map +1 -1
  205. package/dist/system/runtime/shell-manager.js +56 -39
  206. package/dist/system/runtime/shell-manager.js.map +1 -1
  207. package/dist/system/runtime/shell-tool-events.js +5 -0
  208. package/dist/system/runtime/shell-tool-events.js.map +1 -1
  209. package/dist/system/runtime/token-usage.d.ts +2 -0
  210. package/dist/system/runtime/token-usage.d.ts.map +1 -1
  211. package/dist/system/runtime/token-usage.js +7 -0
  212. package/dist/system/runtime/token-usage.js.map +1 -1
  213. package/dist/tools.d.ts +3 -21
  214. package/dist/tools.d.ts.map +1 -1
  215. package/dist/tools.js +14 -168
  216. package/dist/tools.js.map +1 -1
  217. package/dist/types.d.ts +149 -118
  218. package/dist/types.d.ts.map +1 -1
  219. package/dist/validate.d.ts +19 -0
  220. package/dist/validate.d.ts.map +1 -0
  221. package/dist/validate.js +338 -0
  222. package/dist/validate.js.map +1 -0
  223. package/dist/visualize/index.d.ts +52 -0
  224. package/dist/visualize/index.d.ts.map +1 -0
  225. package/dist/visualize/index.js +189 -0
  226. package/dist/visualize/index.js.map +1 -0
  227. package/package.json +17 -15
  228. package/src/prolog-src/deepclause_analysis.pl +10 -2
  229. package/src/prolog-src/deepclause_mi.pl +2522 -118
  230. package/dist/cli/commands.d.ts +0 -42
  231. package/dist/cli/commands.d.ts.map +0 -1
  232. package/dist/cli/commands.js +0 -246
  233. package/dist/cli/commands.js.map +0 -1
  234. package/dist/cli/compile.d.ts +0 -99
  235. package/dist/cli/compile.d.ts.map +0 -1
  236. package/dist/cli/compile.js +0 -363
  237. package/dist/cli/compile.js.map +0 -1
  238. package/dist/cli/default-skills.d.ts +0 -10
  239. package/dist/cli/default-skills.d.ts.map +0 -1
  240. package/dist/cli/default-skills.js +0 -206
  241. package/dist/cli/default-skills.js.map +0 -1
  242. package/dist/cli/interactive.d.ts +0 -2
  243. package/dist/cli/interactive.d.ts.map +0 -1
  244. package/dist/cli/interactive.js +0 -20
  245. package/dist/cli/interactive.js.map +0 -1
  246. package/dist/cli/mcp.d.ts +0 -56
  247. package/dist/cli/mcp.d.ts.map +0 -1
  248. package/dist/cli/mcp.js +0 -138
  249. package/dist/cli/mcp.js.map +0 -1
  250. package/dist/cli/prompt.d.ts +0 -2
  251. package/dist/cli/prompt.d.ts.map +0 -1
  252. package/dist/cli/prompt.js +0 -2
  253. package/dist/cli/prompt.js.map +0 -1
  254. package/dist/cli/search.d.ts +0 -19
  255. package/dist/cli/search.d.ts.map +0 -1
  256. package/dist/cli/search.js +0 -189
  257. package/dist/cli/search.js.map +0 -1
  258. package/dist/cli/tool-args.d.ts +0 -2
  259. package/dist/cli/tool-args.d.ts.map +0 -1
  260. package/dist/cli/tool-args.js +0 -39
  261. package/dist/cli/tool-args.js.map +0 -1
  262. package/dist/cli/tools.d.ts +0 -36
  263. package/dist/cli/tools.d.ts.map +0 -1
  264. package/dist/cli/tools.js +0 -229
  265. package/dist/cli/tools.js.map +0 -1
  266. package/dist/cli/tui/index.d.ts +0 -22
  267. package/dist/cli/tui/index.d.ts.map +0 -1
  268. package/dist/cli/tui/index.js +0 -29
  269. package/dist/cli/tui/index.js.map +0 -1
  270. package/dist/cli/tui.d.ts +0 -167
  271. package/dist/cli/tui.d.ts.map +0 -1
  272. package/dist/cli/tui.js +0 -5228
  273. package/dist/cli/tui.js.map +0 -1
  274. package/dist/compiler_prompt.d.ts +0 -20
  275. package/dist/compiler_prompt.d.ts.map +0 -1
  276. package/dist/compiler_prompt.js +0 -870
  277. package/dist/compiler_prompt.js.map +0 -1
  278. package/dist/deepclause-cli.skill +0 -0
  279. package/dist/prolog-src/deepclause_mi.pl.bak +0 -570
  280. package/dist/system/assets/compactors/default-memory-compactor.dml +0 -6
  281. package/dist/system/assets/docs/CONDUCTOR_PROMPT.md +0 -105
  282. package/dist/system/assets/docs/DML_COMPILER_PROMPT.md +0 -700
  283. package/dist/system/assets/docs/TUI.md +0 -150
  284. package/dist/system/assets/recipes/deepclause-coding-workflow/SKILL.md +0 -100
  285. package/dist/system/assets/skills/conductor.dml +0 -76
  286. package/dist/system/assets/skills/deep-planner.dml +0 -412
  287. package/dist/system/assets/skills/plan.dml +0 -429
  288. package/dist/system/assets/skills/security-planner.dml +0 -337
  289. package/dist/system/assets/skills/skill-creator.dml +0 -187
  290. package/dist/system/runtime/catalog-recipes.d.ts +0 -24
  291. package/dist/system/runtime/catalog-recipes.d.ts.map +0 -1
  292. package/dist/system/runtime/catalog-recipes.js +0 -273
  293. package/dist/system/runtime/catalog-recipes.js.map +0 -1
  294. package/dist/system/runtime/catalog-skills.d.ts +0 -50
  295. package/dist/system/runtime/catalog-skills.d.ts.map +0 -1
  296. package/dist/system/runtime/catalog-skills.js +0 -152
  297. package/dist/system/runtime/catalog-skills.js.map +0 -1
  298. package/dist/system/runtime/conductor.d.ts +0 -105
  299. package/dist/system/runtime/conductor.d.ts.map +0 -1
  300. package/dist/system/runtime/conductor.js +0 -732
  301. package/dist/system/runtime/conductor.js.map +0 -1
  302. package/dist/system/runtime/console-capture.d.ts +0 -9
  303. package/dist/system/runtime/console-capture.d.ts.map +0 -1
  304. package/dist/system/runtime/console-capture.js +0 -67
  305. package/dist/system/runtime/console-capture.js.map +0 -1
  306. package/dist/system/runtime/dml-executor.d.ts +0 -52
  307. package/dist/system/runtime/dml-executor.d.ts.map +0 -1
  308. package/dist/system/runtime/dml-executor.js +0 -203
  309. package/dist/system/runtime/dml-executor.js.map +0 -1
  310. package/dist/system/runtime/runtime-tools.d.ts +0 -31
  311. package/dist/system/runtime/runtime-tools.d.ts.map +0 -1
  312. package/dist/system/runtime/runtime-tools.js +0 -312
  313. package/dist/system/runtime/runtime-tools.js.map +0 -1
  314. package/dist/system/runtime/skill-creator.d.ts +0 -38
  315. package/dist/system/runtime/skill-creator.d.ts.map +0 -1
  316. package/dist/system/runtime/skill-creator.js +0 -763
  317. package/dist/system/runtime/skill-creator.js.map +0 -1
  318. package/src/prolog-src/deepclause_mi.pl.bak +0 -570
@@ -1,273 +0,0 @@
1
- import * as fs from 'fs/promises';
2
- import * as path from 'path';
3
- import { getPackagedRecipeAssetsDir, getWorkspaceRecipeAssetsDir, } from '../assets/index.js';
4
- export async function listRecipeCatalog(workspaceRoot) {
5
- const packaged = await readRecipeEntries(getPackagedRecipeAssetsDir(), 'packaged');
6
- const workspace = await readRecipeEntries(getWorkspaceRecipeAssetsDir(workspaceRoot), 'workspace');
7
- const bySlug = new Map();
8
- for (const entry of packaged) {
9
- bySlug.set(entry.slug, entry);
10
- }
11
- for (const entry of workspace) {
12
- bySlug.set(entry.slug, entry);
13
- }
14
- return [...bySlug.values()].sort((left, right) => left.slug.localeCompare(right.slug));
15
- }
16
- export async function searchRecipeCatalog(workspaceRoot, query, options = {}) {
17
- const trimmedQuery = query.trim();
18
- const recipes = await listRecipeCatalog(workspaceRoot);
19
- if (!trimmedQuery) {
20
- return [];
21
- }
22
- const tokens = tokenize(trimmedQuery);
23
- const matches = recipes
24
- .map((recipe) => scoreRecipe(recipe, trimmedQuery, tokens))
25
- .filter((recipe) => recipe !== null)
26
- .sort((left, right) => {
27
- if (right.score !== left.score) {
28
- return right.score - left.score;
29
- }
30
- return left.slug.localeCompare(right.slug);
31
- });
32
- return matches.slice(0, Math.max(1, options.maxResults ?? 3));
33
- }
34
- async function readRecipeEntries(recipesDir, source) {
35
- let entries;
36
- try {
37
- entries = await fs.readdir(recipesDir, { withFileTypes: true });
38
- }
39
- catch (error) {
40
- if (error.code === 'ENOENT') {
41
- return [];
42
- }
43
- throw error;
44
- }
45
- const recipes = await Promise.all(entries
46
- .filter((entry) => entry.isDirectory())
47
- .map(async (entry) => loadRecipeEntry(path.join(recipesDir, entry.name), entry.name, source)));
48
- return recipes.filter((entry) => entry !== null);
49
- }
50
- async function loadRecipeEntry(recipeDir, slug, source) {
51
- const skillPath = await findRecipeSkillPath(recipeDir);
52
- if (!skillPath) {
53
- return null;
54
- }
55
- const rawMarkdown = await fs.readFile(skillPath, 'utf8');
56
- const { frontmatter, body } = parseRecipeMarkdown(rawMarkdown);
57
- return {
58
- slug,
59
- name: frontmatter.name?.trim() || humanizeSlug(slug),
60
- description: frontmatter.description?.trim() || inferDescription(body),
61
- tags: normalizeStringList(frontmatter.tags),
62
- whenToUse: normalizeStringList(frontmatter.when_to_use),
63
- whenNotToUse: normalizeStringList(frontmatter.when_not_to_use),
64
- globs: normalizeStringList(frontmatter.globs),
65
- priority: normalizePriority(frontmatter.priority),
66
- content: body.trim(),
67
- sourcePath: skillPath,
68
- source,
69
- };
70
- }
71
- async function findRecipeSkillPath(recipeDir) {
72
- let entries;
73
- try {
74
- entries = await fs.readdir(recipeDir);
75
- }
76
- catch (error) {
77
- if (error.code === 'ENOENT') {
78
- return null;
79
- }
80
- throw error;
81
- }
82
- const skillFile = entries.find((entry) => /^skill\.md$/i.test(entry));
83
- return skillFile ? path.join(recipeDir, skillFile) : null;
84
- }
85
- function parseRecipeMarkdown(markdown) {
86
- const lines = markdown.split(/\r?\n/);
87
- if (lines[0]?.trim() !== '---') {
88
- return { frontmatter: {}, body: markdown };
89
- }
90
- const frontmatterLines = [];
91
- let closingIndex = -1;
92
- for (let index = 1; index < lines.length; index += 1) {
93
- if (lines[index].trim() === '---') {
94
- closingIndex = index;
95
- break;
96
- }
97
- frontmatterLines.push(lines[index]);
98
- }
99
- if (closingIndex === -1) {
100
- return { frontmatter: {}, body: markdown };
101
- }
102
- return {
103
- frontmatter: parseFrontmatter(frontmatterLines),
104
- body: lines.slice(closingIndex + 1).join('\n'),
105
- };
106
- }
107
- function parseFrontmatter(lines) {
108
- const frontmatter = {};
109
- let currentListKey = null;
110
- for (const line of lines) {
111
- const trimmed = line.trim();
112
- if (!trimmed || trimmed.startsWith('#')) {
113
- continue;
114
- }
115
- const listStartMatch = line.match(/^\s*([a-zA-Z0-9_]+):\s*$/);
116
- if (listStartMatch) {
117
- currentListKey = listStartMatch[1];
118
- frontmatter[currentListKey] = [];
119
- continue;
120
- }
121
- const inlineArrayMatch = line.match(/^\s*([a-zA-Z0-9_]+):\s*\[(.*)\]\s*$/);
122
- if (inlineArrayMatch) {
123
- currentListKey = null;
124
- frontmatter[inlineArrayMatch[1]] = inlineArrayMatch[2]
125
- .split(',')
126
- .map((item) => stripQuotes(item.trim()))
127
- .filter((item) => item.length > 0);
128
- continue;
129
- }
130
- const scalarMatch = line.match(/^\s*([a-zA-Z0-9_]+):\s*(.+?)\s*$/);
131
- if (scalarMatch) {
132
- currentListKey = null;
133
- frontmatter[scalarMatch[1]] = stripQuotes(scalarMatch[2]);
134
- continue;
135
- }
136
- const listItemMatch = line.match(/^\s*-\s*(.+?)\s*$/);
137
- if (listItemMatch && currentListKey) {
138
- const current = frontmatter[currentListKey];
139
- if (Array.isArray(current)) {
140
- current.push(stripQuotes(listItemMatch[1]));
141
- }
142
- }
143
- }
144
- return frontmatter;
145
- }
146
- function stripQuotes(value) {
147
- if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
148
- return value.slice(1, -1);
149
- }
150
- return value;
151
- }
152
- function normalizeStringList(value) {
153
- if (!value || value.length === 0) {
154
- return [];
155
- }
156
- return Array.from(new Set(value
157
- .map((item) => item.trim())
158
- .filter((item) => item.length > 0)));
159
- }
160
- function normalizePriority(value) {
161
- switch ((value ?? '').trim().toLowerCase()) {
162
- case 'high':
163
- return 'high';
164
- case 'low':
165
- return 'low';
166
- default:
167
- return 'normal';
168
- }
169
- }
170
- function inferDescription(markdown) {
171
- const lines = markdown.split(/\r?\n/)
172
- .map((line) => line.trim())
173
- .filter((line) => line.length > 0 && !line.startsWith('#'));
174
- return lines[0] ?? 'No description provided.';
175
- }
176
- function humanizeSlug(slug) {
177
- return slug
178
- .split(/[-_]+/)
179
- .filter((part) => part.length > 0)
180
- .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
181
- .join(' ');
182
- }
183
- function tokenize(value) {
184
- return Array.from(new Set(value
185
- .toLowerCase()
186
- .split(/[^a-z0-9]+/)
187
- .map((token) => token.trim())
188
- .filter((token) => token.length >= 3)));
189
- }
190
- function scoreRecipe(recipe, query, tokens) {
191
- const fields = {
192
- slug: recipe.slug.toLowerCase(),
193
- name: recipe.name.toLowerCase(),
194
- description: recipe.description.toLowerCase(),
195
- tags: recipe.tags.join(' ').toLowerCase(),
196
- whenToUse: recipe.whenToUse.join(' ').toLowerCase(),
197
- whenNotToUse: recipe.whenNotToUse.join(' ').toLowerCase(),
198
- content: recipe.content.toLowerCase(),
199
- };
200
- const normalizedQuery = query.toLowerCase();
201
- let score = priorityBonus(recipe.priority);
202
- const matchedOn = new Set();
203
- const strongMatchFields = new Set();
204
- if (fields.slug.includes(normalizedQuery)) {
205
- score += 40;
206
- matchedOn.add('slug');
207
- strongMatchFields.add('slug');
208
- }
209
- if (fields.name.includes(normalizedQuery)) {
210
- score += 36;
211
- matchedOn.add('name');
212
- strongMatchFields.add('name');
213
- }
214
- if (fields.description.includes(normalizedQuery)) {
215
- score += 28;
216
- matchedOn.add('description');
217
- strongMatchFields.add('description');
218
- }
219
- for (const token of tokens) {
220
- if (fields.slug.includes(token)) {
221
- score += 12;
222
- matchedOn.add('slug');
223
- strongMatchFields.add('slug');
224
- }
225
- if (fields.name.includes(token)) {
226
- score += 10;
227
- matchedOn.add('name');
228
- strongMatchFields.add('name');
229
- }
230
- if (fields.description.includes(token)) {
231
- score += 8;
232
- matchedOn.add('description');
233
- strongMatchFields.add('description');
234
- }
235
- if (fields.tags.includes(token)) {
236
- score += 7;
237
- matchedOn.add('tags');
238
- strongMatchFields.add('tags');
239
- }
240
- if (fields.whenToUse.includes(token)) {
241
- score += 6;
242
- matchedOn.add('when_to_use');
243
- strongMatchFields.add('when_to_use');
244
- }
245
- if (fields.whenNotToUse.includes(token)) {
246
- score += 3;
247
- matchedOn.add('when_not_to_use');
248
- }
249
- if (fields.content.includes(token)) {
250
- score += 2;
251
- matchedOn.add('content');
252
- }
253
- }
254
- if (strongMatchFields.size === 0 || score <= 0) {
255
- return null;
256
- }
257
- return {
258
- ...recipe,
259
- score,
260
- matchedOn: [...matchedOn],
261
- };
262
- }
263
- function priorityBonus(priority) {
264
- switch (priority) {
265
- case 'high':
266
- return 3;
267
- case 'normal':
268
- return 1;
269
- case 'low':
270
- return 0;
271
- }
272
- }
273
- //# sourceMappingURL=catalog-recipes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog-recipes.js","sourceRoot":"","sources":["../../../src/system/runtime/catalog-recipes.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import { type Parameter } from '../../cli/commands.js';
2
- import { type Config, type ResolvedModelConfig } from '../../cli/config.js';
3
- export declare const DEFAULT_MAX_SKILL_DEPTH = 3;
4
- export interface LocalSkillCatalogEntry {
5
- slug: string;
6
- name?: string;
7
- description: string;
8
- usage?: string;
9
- trigger_phrases?: string[];
10
- parameters?: Parameter[];
11
- capabilities?: string[];
12
- tools?: string[];
13
- compiled_at?: string;
14
- model?: string;
15
- }
16
- export interface ExecuteNestedSkillRequest {
17
- slug: string;
18
- dmlCode: string;
19
- args: unknown[];
20
- params: Record<string, unknown>;
21
- currentSkillSlug: string;
22
- invocationStack: string[];
23
- }
24
- export interface ExecuteNestedSkillResult {
25
- output: string[];
26
- answer?: string;
27
- error?: string;
28
- trace?: object;
29
- }
30
- export interface LocalSkillCatalogRuntime {
31
- listSkills(): Promise<LocalSkillCatalogEntry[]>;
32
- runSkill(args: Record<string, unknown>): Promise<Record<string, unknown>>;
33
- }
34
- export interface LocalSkillCatalogRuntimeOptions {
35
- workspaceRoot: string;
36
- workspacePath: string;
37
- config: Config;
38
- selection: ResolvedModelConfig;
39
- currentSkillSlug?: string;
40
- invocationStack?: string[];
41
- maxDepth?: number;
42
- includeSystemSkillsInList?: boolean;
43
- executeNestedSkill(request: ExecuteNestedSkillRequest): Promise<ExecuteNestedSkillResult>;
44
- }
45
- export declare function listLocalSkillCatalog(workspaceRoot: string, options?: {
46
- detailed?: boolean;
47
- includeSystemSkills?: boolean;
48
- }): Promise<LocalSkillCatalogEntry[]>;
49
- export declare function createLocalSkillCatalogRuntime(options: LocalSkillCatalogRuntimeOptions): LocalSkillCatalogRuntime;
50
- //# sourceMappingURL=catalog-skills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog-skills.d.ts","sourceRoot":"","sources":["../../../src/system/runtime/catalog-skills.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAe,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAIzF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAYzC,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAC3F;AAED,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1B,GACL,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAgBnC;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,wBAAwB,CAqD1B"}
@@ -1,152 +0,0 @@
1
- import * as fs from 'fs/promises';
2
- import * as path from 'path';
3
- import { listCommands } from '../../cli/commands.js';
4
- import { getToolsDir } from '../../cli/config.js';
5
- import { buildDmlParams } from './dml-params.js';
6
- import { verifyRuntimeToolsAvailable } from './runtime-tools.js';
7
- export const DEFAULT_MAX_SKILL_DEPTH = 3;
8
- export async function listLocalSkillCatalog(workspaceRoot, options = {}) {
9
- const commands = await listCommands(workspaceRoot, { detailed: options.detailed ?? true });
10
- return commands
11
- .filter((command) => options.includeSystemSkills || !isSystemSkillSlug(command.name))
12
- .map((command) => ({
13
- slug: command.name,
14
- name: command.displayName,
15
- description: command.description,
16
- usage: buildRunSkillUsage(command.name, command.parameters),
17
- trigger_phrases: command.triggerPhrases,
18
- parameters: command.parameters,
19
- capabilities: command.capabilities,
20
- tools: command.tools,
21
- compiled_at: command.compiledAt,
22
- model: command.model,
23
- }));
24
- }
25
- export function createLocalSkillCatalogRuntime(options) {
26
- const stack = getInvocationStack(options.currentSkillSlug, options.invocationStack);
27
- return {
28
- listSkills: () => listLocalSkillCatalog(options.workspaceRoot, {
29
- detailed: true,
30
- includeSystemSkills: options.includeSystemSkillsInList ?? false,
31
- }),
32
- runSkill: async (args) => {
33
- const slug = String(args.slug ?? '').trim();
34
- if (!slug) {
35
- throw new Error('slug is required');
36
- }
37
- if (isSystemSkillSlug(slug)) {
38
- throw new Error(`run_skill cannot invoke system skill "${slug}"`);
39
- }
40
- if (stack.includes(slug)) {
41
- throw new Error(`run_skill cannot create a cycle: ${[...stack, slug].join(' -> ')}`);
42
- }
43
- const maxDepth = options.maxDepth ?? DEFAULT_MAX_SKILL_DEPTH;
44
- if (stack.length >= maxDepth) {
45
- throw new Error(`run_skill exceeded maximum depth of ${maxDepth}`);
46
- }
47
- const childArgs = normalizeRuntimeArgList(args.args);
48
- const { dmlCode, meta } = await loadSkillProgram(options.workspaceRoot, slug);
49
- const toolCheck = verifyRuntimeToolsAvailable(options.config, meta?.tools ?? []);
50
- if (!toolCheck.available) {
51
- throw new Error(`Missing required tools for skill "${slug}": ${toolCheck.missing.join(', ')}`);
52
- }
53
- const result = await options.executeNestedSkill({
54
- slug,
55
- dmlCode,
56
- args: childArgs,
57
- params: buildDmlParams(childArgs, undefined, meta),
58
- currentSkillSlug: slug,
59
- invocationStack: [...stack, slug],
60
- });
61
- return {
62
- success: !result.error,
63
- slug,
64
- answer: result.answer,
65
- output: result.output,
66
- error: result.error,
67
- };
68
- },
69
- };
70
- }
71
- function getInvocationStack(currentSkillSlug, invocationStack) {
72
- if (invocationStack && invocationStack.length > 0) {
73
- return [...invocationStack];
74
- }
75
- return currentSkillSlug ? [currentSkillSlug] : [];
76
- }
77
- function isSystemSkillSlug(slug) {
78
- return slug.startsWith('_');
79
- }
80
- function normalizeRuntimeArgList(value) {
81
- if (value === undefined || value === null) {
82
- return [];
83
- }
84
- if (Array.isArray(value)) {
85
- return value;
86
- }
87
- if (typeof value === 'string') {
88
- const trimmed = value.trim();
89
- if ((trimmed.startsWith('[') && trimmed.endsWith(']'))
90
- || (trimmed.startsWith('{') && trimmed.endsWith('}'))) {
91
- try {
92
- const parsed = JSON.parse(trimmed);
93
- return Array.isArray(parsed) ? parsed : [parsed];
94
- }
95
- catch {
96
- return [value];
97
- }
98
- }
99
- return [value];
100
- }
101
- return [value];
102
- }
103
- async function loadSkillProgram(workspaceRoot, slug) {
104
- const toolsDir = getToolsDir(workspaceRoot);
105
- const dmlPath = path.join(toolsDir, `${slug}.dml`);
106
- const metaPath = path.join(toolsDir, `${slug}.meta.json`);
107
- let dmlCode;
108
- try {
109
- dmlCode = await fs.readFile(dmlPath, 'utf8');
110
- }
111
- catch (error) {
112
- if (error.code === 'ENOENT') {
113
- throw new Error(`Skill "${slug}" not found in the local catalog`);
114
- }
115
- throw error;
116
- }
117
- let meta = null;
118
- try {
119
- meta = JSON.parse(await fs.readFile(metaPath, 'utf8'));
120
- }
121
- catch (error) {
122
- if (error.code !== 'ENOENT') {
123
- throw error;
124
- }
125
- }
126
- return { dmlCode, meta };
127
- }
128
- function buildRunSkillUsage(slug, parameters) {
129
- const args = orderParameters(parameters).map((parameter) => `"${formatRunSkillArgument(parameter)}"`);
130
- if (args.length === 0) {
131
- return `run_skill(slug: "${slug}")`;
132
- }
133
- return `run_skill(slug: "${slug}", args: [${args.join(', ')}])`;
134
- }
135
- function orderParameters(parameters) {
136
- if (!parameters || parameters.length === 0) {
137
- return [];
138
- }
139
- return [...parameters]
140
- .map((parameter, index) => ({ parameter, index }))
141
- .sort((left, right) => (left.parameter.position ?? left.index) - (right.parameter.position ?? right.index))
142
- .map(({ parameter }) => parameter);
143
- }
144
- function formatRunSkillArgument(parameter) {
145
- if (parameter.required === false || parameter.default !== undefined) {
146
- return parameter.default !== undefined
147
- ? `[${parameter.name}=${parameter.default}]`
148
- : `[${parameter.name}]`;
149
- }
150
- return `<${parameter.name}>`;
151
- }
152
- //# sourceMappingURL=catalog-skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog-skills.js","sourceRoot":"","sources":["../../../src/system/runtime/catalog-skills.ts"],"names":[],"mappings":"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"}
@@ -1,105 +0,0 @@
1
- import { resolveModelSlot, type Config } from '../../cli/config.js';
2
- import type { DMLEvent } from '../../types.js';
3
- import { type TokenUsageByModel } from './token-usage.js';
4
- export interface ConductorSessionSummary {
5
- id: string;
6
- title: string;
7
- createdAt: string;
8
- updatedAt: string;
9
- }
10
- export interface ConductorSessionMessage {
11
- role: 'user' | 'assistant';
12
- content: string;
13
- timestamp: string;
14
- }
15
- export interface ConductorSessionDetail extends ConductorSessionSummary {
16
- messages: ConductorSessionMessage[];
17
- assistantMemory: string;
18
- taskMemory: string;
19
- usageByModel?: TokenUsageByModel;
20
- executionLogPath: string;
21
- }
22
- export interface ConductorTurnOptions {
23
- sessionId?: string;
24
- sessionTitle?: string;
25
- workspaceRoot?: string;
26
- workspacePath?: string;
27
- config?: Config;
28
- verbose?: boolean;
29
- trace?: boolean;
30
- gasLimit?: number;
31
- stream?: boolean;
32
- headless?: boolean;
33
- sandbox?: boolean;
34
- signal?: AbortSignal;
35
- toolAbortSignalRef?: {
36
- signal?: AbortSignal;
37
- };
38
- onUserInput?: (prompt: string) => Promise<string>;
39
- onEvent?: (event: ConductorLogEvent) => void;
40
- }
41
- export interface ConductorTurnResult {
42
- sessionId: string;
43
- output: string[];
44
- answer?: string;
45
- error?: string;
46
- trace?: object;
47
- }
48
- export interface ConductorLogEvent {
49
- scope: 'main' | 'child';
50
- childSlug?: string;
51
- modelId?: string;
52
- event: DMLEvent;
53
- }
54
- export type SessionExecutionKind = 'conductor' | 'skill' | 'skill-creator';
55
- export interface SessionExecutionLogWriter {
56
- readonly executionId: string;
57
- readonly logPath: string;
58
- recordEvent(event: ConductorLogEvent): void;
59
- finish(summary: {
60
- status: 'success' | 'error';
61
- answer?: string;
62
- error?: string;
63
- outputCount?: number;
64
- usageByModel?: TokenUsageByModel;
65
- }): Promise<void>;
66
- flush(): Promise<void>;
67
- }
68
- export declare function listConductorSessions(workspaceRoot?: string): Promise<ConductorSessionSummary[]>;
69
- export declare function createConductorSession(workspaceRoot?: string, title?: string): Promise<ConductorSessionSummary>;
70
- export declare function getConductorSessionDetail(workspaceRoot: string | undefined, sessionId: string): Promise<ConductorSessionDetail>;
71
- export declare function appendConductorSessionMessages(workspaceRoot: string | undefined, sessionId: string, messages: Array<{
72
- role: 'user' | 'assistant';
73
- content: string;
74
- }>): Promise<void>;
75
- export declare function runConductorTurn(userMessage: string, options?: ConductorTurnOptions): Promise<ConductorTurnResult>;
76
- export declare function consultRecipes(options: {
77
- workspaceRoot: string;
78
- query: string;
79
- maxResults?: number;
80
- }): Promise<Record<string, unknown>>;
81
- export declare function createLocalSkill(options: {
82
- spec: string;
83
- workspaceRoot: string;
84
- workspacePath: string;
85
- config: Config;
86
- compileSelection: ReturnType<typeof resolveModelSlot>;
87
- runSelection: ReturnType<typeof resolveModelSlot>;
88
- sessionId: string;
89
- verbose?: boolean;
90
- sandbox: boolean;
91
- signal?: AbortSignal;
92
- onUserInput: (prompt: string) => Promise<string>;
93
- onEvent?: (event: ConductorLogEvent) => void;
94
- }): Promise<Record<string, unknown>>;
95
- export declare function createSessionExecutionLogWriter(options: {
96
- workspaceRoot: string;
97
- sessionId: string;
98
- executionKind: SessionExecutionKind;
99
- inputText: string;
100
- skillName?: string;
101
- args?: unknown[];
102
- modelId?: string;
103
- }): SessionExecutionLogWriter;
104
- export declare function mergeSessionUsage(workspaceRoot: string, sessionId: string, delta: TokenUsageByModel): Promise<void>;
105
- //# sourceMappingURL=conductor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conductor.d.ts","sourceRoot":"","sources":["../../../src/system/runtime/conductor.ts"],"names":[],"mappings":"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"}