deepclause-sdk 0.0.59 → 0.0.60

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 (86) hide show
  1. package/README.md +71 -19
  2. package/dist/cli/compile.d.ts +9 -0
  3. package/dist/cli/compile.d.ts.map +1 -1
  4. package/dist/cli/compile.js +106 -138
  5. package/dist/cli/compile.js.map +1 -1
  6. package/dist/cli/config.d.ts +73 -23
  7. package/dist/cli/config.d.ts.map +1 -1
  8. package/dist/cli/config.js +151 -58
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/index.js +64 -14
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/interactive.d.ts +2 -0
  13. package/dist/cli/interactive.d.ts.map +1 -0
  14. package/dist/cli/interactive.js +20 -0
  15. package/dist/cli/interactive.js.map +1 -0
  16. package/dist/cli/prompt.d.ts +1 -19
  17. package/dist/cli/prompt.d.ts.map +1 -1
  18. package/dist/cli/prompt.js +1 -869
  19. package/dist/cli/prompt.js.map +1 -1
  20. package/dist/cli/run.d.ts +6 -1
  21. package/dist/cli/run.d.ts.map +1 -1
  22. package/dist/cli/run.js +65 -279
  23. package/dist/cli/run.js.map +1 -1
  24. package/dist/cli/search.d.ts +1 -0
  25. package/dist/cli/search.d.ts.map +1 -1
  26. package/dist/cli/search.js +10 -4
  27. package/dist/cli/search.js.map +1 -1
  28. package/dist/cli/tools.d.ts +2 -2
  29. package/dist/cli/tools.d.ts.map +1 -1
  30. package/dist/cli/tools.js +30 -5
  31. package/dist/cli/tools.js.map +1 -1
  32. package/dist/cli/tui.d.ts +58 -0
  33. package/dist/cli/tui.d.ts.map +1 -0
  34. package/dist/cli/tui.js +1742 -0
  35. package/dist/cli/tui.js.map +1 -0
  36. package/dist/compiler_prompt.d.ts +1 -1
  37. package/dist/compiler_prompt.d.ts.map +1 -1
  38. package/dist/compiler_prompt.js +8 -10
  39. package/dist/compiler_prompt.js.map +1 -1
  40. package/dist/system/assets/docs/CONDUCTOR_PROMPT.md +46 -0
  41. package/dist/system/assets/docs/DML_COMPILER_PROMPT.md +654 -0
  42. package/dist/system/assets/index.d.ts +9 -0
  43. package/dist/system/assets/index.d.ts.map +1 -0
  44. package/dist/system/assets/index.js +47 -0
  45. package/dist/system/assets/index.js.map +1 -0
  46. package/dist/system/assets/skills/conductor.dml +70 -0
  47. package/dist/system/assets/skills/skill-creator.dml +182 -0
  48. package/dist/system/config/model-slots.d.ts +34 -0
  49. package/dist/system/config/model-slots.d.ts.map +1 -0
  50. package/dist/system/config/model-slots.js +121 -0
  51. package/dist/system/config/model-slots.js.map +1 -0
  52. package/dist/system/runtime/agentvm-manager.d.ts +18 -0
  53. package/dist/system/runtime/agentvm-manager.d.ts.map +1 -0
  54. package/dist/system/runtime/agentvm-manager.js +98 -0
  55. package/dist/system/runtime/agentvm-manager.js.map +1 -0
  56. package/dist/system/runtime/conductor.d.ts +54 -0
  57. package/dist/system/runtime/conductor.d.ts.map +1 -0
  58. package/dist/system/runtime/conductor.js +457 -0
  59. package/dist/system/runtime/conductor.js.map +1 -0
  60. package/dist/system/runtime/console-capture.d.ts +9 -0
  61. package/dist/system/runtime/console-capture.d.ts.map +1 -0
  62. package/dist/system/runtime/console-capture.js +67 -0
  63. package/dist/system/runtime/console-capture.js.map +1 -0
  64. package/dist/system/runtime/dml-executor.d.ts +41 -0
  65. package/dist/system/runtime/dml-executor.d.ts.map +1 -0
  66. package/dist/system/runtime/dml-executor.js +137 -0
  67. package/dist/system/runtime/dml-executor.js.map +1 -0
  68. package/dist/system/runtime/runtime-tools.d.ts +16 -0
  69. package/dist/system/runtime/runtime-tools.d.ts.map +1 -0
  70. package/dist/system/runtime/runtime-tools.js +146 -0
  71. package/dist/system/runtime/runtime-tools.js.map +1 -0
  72. package/dist/system/runtime/shell-manager.d.ts +20 -0
  73. package/dist/system/runtime/shell-manager.d.ts.map +1 -0
  74. package/dist/system/runtime/shell-manager.js +133 -0
  75. package/dist/system/runtime/shell-manager.js.map +1 -0
  76. package/dist/system/runtime/skill-creator.d.ts +33 -0
  77. package/dist/system/runtime/skill-creator.d.ts.map +1 -0
  78. package/dist/system/runtime/skill-creator.js +583 -0
  79. package/dist/system/runtime/skill-creator.js.map +1 -0
  80. package/dist/system/runtime/token-usage.d.ts +16 -0
  81. package/dist/system/runtime/token-usage.d.ts.map +1 -0
  82. package/dist/system/runtime/token-usage.js +45 -0
  83. package/dist/system/runtime/token-usage.js.map +1 -0
  84. package/dist/tools.js +1 -1
  85. package/dist/tools.js.map +1 -1
  86. package/package.json +4 -3
package/README.md CHANGED
@@ -16,14 +16,15 @@ DeepClause takes a different approach: **compile task descriptions into DML prog
16
16
  Markdown description → compile → Logic program → run → Output
17
17
  ```
18
18
 
19
- ## Sandboxed by Default
19
+ ## Runtime Model
20
20
 
21
- Everything runs in WebAssembly—no native code execution, no container setup required:
21
+ DeepClause executes DML in a local CLI runtime:
22
22
 
23
- - **[AgentVM](https://github.com/deepclause/agentvm)**: A lightweight WASM-based Linux environment for shell commands, file operations, and Python/Node execution
24
- - **Prolog runtime**: The logic engine itself runs in WASM (SWI-Prolog compiled to WebAssembly)
23
+ - **Prolog runtime in WASM**: The DML logic engine runs in SWI-Prolog compiled to WebAssembly.
24
+ - **Host shell by default**: Shell tools run in the active local workspace shell.
25
+ - **AgentVM on demand**: Pass `--sandbox` when you want shell tools to run inside [AgentVM](https://github.com/deepclause/agentvm) instead.
25
26
 
26
- This means that DML tools and agents can execute arbitrary shell commands with minimal chance of escaping to your host system.
27
+ This keeps the default workflow simple for local development while still supporting an isolated shell backend when needed.
27
28
 
28
29
  ## Beyond Markdown: Why Logic Programming?
29
30
 
@@ -99,8 +100,11 @@ export OPENAI_API_KEY="sk-..."
99
100
  # Initialize in your project
100
101
  deepclause init
101
102
 
102
- # Configure the model for compilation
103
- deepclause set-model openai/gpt-4o
103
+ # Configure all model slots
104
+ deepclause set-model openai:gpt-4o
105
+
106
+ # Start the interactive conductor TUI
107
+ deepclause
104
108
 
105
109
  # Create a task description
106
110
  cat > .deepclause/tools/explain.md << 'EOF'
@@ -122,8 +126,22 @@ deepclause compile .deepclause/tools/explain.md
122
126
 
123
127
  # Run it
124
128
  deepclause run .deepclause/tools/explain.dml "function fib(n) { return n < 2 ? n : fib(n-1) + fib(n-2) }"
129
+
130
+ # Or run the conductor headlessly for a single prompt
131
+ deepclause -p "Summarize the repository architecture"
125
132
  ```
126
133
 
134
+ ## CLI Modes
135
+
136
+ `deepclause` with no subcommand starts the fullscreen conductor TUI.
137
+
138
+ - Session list on the left
139
+ - Messages in the center
140
+ - Execution log and context summary on the right
141
+ - Slash commands such as `/new`, `/sessions`, `/cancel`, and `/<skill> [args]`
142
+
143
+ For non-interactive use, `deepclause -p "..."` runs a single headless conductor turn with a fresh session.
144
+
127
145
  ## Use Cases
128
146
 
129
147
  ### Reliable tools for coding agents
@@ -233,10 +251,14 @@ Skills can use these built-in tools:
233
251
  |------|-------------|
234
252
  | `web_search` | Search the web (requires `BRAVE_API_KEY`) |
235
253
  | `news_search` | Search recent news |
236
- | `vm_exec` | Run shell commands in a sandbox |
254
+ | `url_fetch` | Fetch a URL or save it into the workspace |
255
+ | `bash` | Run shell commands in the active workspace shell |
256
+ | `vm_exec` | Alias of `bash`; with `--sandbox`, runs in AgentVM |
237
257
  | `ask_user` | Prompt the user for input |
238
258
 
239
- Configure tools in `.deepclause/config.json`.
259
+ Additional tools can come from configured MCP servers.
260
+
261
+ Configure runtime behavior in `.deepclause/config.json`.
240
262
 
241
263
  MCP support is on the roadmap.
242
264
 
@@ -247,19 +269,23 @@ deepclause init # Set up .deepclause/ folder
247
269
  deepclause compile <file.md> # Compile Markdown to DML
248
270
  deepclause compile-all <dir> # Compile all .md files in directory
249
271
  deepclause run <file.dml> [args] # Execute a compiled skill
272
+ deepclause # Start the interactive conductor TUI
273
+ deepclause -p <text> # Run one headless conductor turn
250
274
  deepclause list-commands # List available compiled skills
251
275
  deepclause list-tools # Show available tools
252
- deepclause set-model <model> # Change default model
276
+ deepclause show-model # Show gateway/run/compile slots
277
+ deepclause set-model <model> # Change all slots or one slot with --slot
253
278
  ```
254
279
 
255
280
  ### Run Options
256
281
 
257
282
  ```bash
258
283
  deepclause run skill.dml "input" \
259
- --model google/gemini-2.5-flash \ # Override model (e.g. use cheaper model for execution, SOTA model for planning/compilation)
284
+ --model google/gemini-2.5-flash \ # Override the run model for this execution
260
285
  --stream \ # Stream output
261
286
  --verbose \ # Show tool calls
262
- --workspace ./data # Set working directory
287
+ --workspace ./data \ # Set working directory
288
+ --sandbox # Use AgentVM instead of the local shell
263
289
  ```
264
290
 
265
291
  ## Configuration
@@ -267,26 +293,52 @@ deepclause run skill.dml "input" \
267
293
  `.deepclause/config.json`:
268
294
  ```json
269
295
  {
270
- "model": "gpt-4o",
271
- "provider": "openai",
296
+ "models": {
297
+ "gateway": "openai:gpt-4o",
298
+ "run": "openai:gpt-4o",
299
+ "compile": "openai:gpt-4o"
300
+ },
301
+ "temperatures": {
302
+ "gateway": 0.7,
303
+ "run": 0.7,
304
+ "compile": 0.4
305
+ },
272
306
  "agentvm": { "network": true }
273
307
  }
274
308
  ```
275
309
 
310
+ ### System Overrides
311
+
312
+ If you place system DML files in `.deepclause/system`, the CLI runtime will prefer them over the packaged defaults.
313
+
314
+ - `.deepclause/system/conductor.dml`
315
+ - `.deepclause/system/skill-creator.dml`
316
+
276
317
  ### Model at Compile Time vs Run Time
277
318
 
278
- The model specified in `config.json` (or via `--model`) is used during **compilation** to generate the DML program. At **run time**, you can use a different model:
319
+ DeepClause separates model selection into three slots:
320
+
321
+ - `gateway`: conductor and orchestration turns
322
+ - `run`: compiled skill execution
323
+ - `compile`: skill compilation
324
+
325
+ At execution time, you can still override the run model for a single command:
279
326
 
280
327
  ```bash
281
- # Compile with GPT-4o (better at understanding intent)
282
- deepclause set-model openai/gpt-4o
328
+ # Set all slots
329
+ deepclause set-model openai:gpt-4o
330
+
331
+ # Or tune a single slot
332
+ deepclause set-model anthropic:claude-sonnet-4-20250514 --slot compile
333
+
334
+ # Compile with the compile slot
283
335
  deepclause compile research.md
284
336
 
285
- # Run with a faster/cheaper model
337
+ # Run with a different one-off model override
286
338
  deepclause run research.dml "quantum computing" --model google/gemini-2.5-flash
287
339
  ```
288
340
 
289
- This lets you use a more capable model for the one-time compilation step, then execute with a faster or cheaper model for repeated runs.
341
+ This lets you keep different defaults for orchestration, skill execution, and compilation without constantly editing prompts or code.
290
342
 
291
343
  ### Supported Models
292
344
 
@@ -5,9 +5,11 @@
5
5
  * with LLM generation and Prolog validation.
6
6
  */
7
7
  import { type Provider } from './config.js';
8
+ import { extractDescription as extractDescriptionFromCompiler, extractParameters as extractParametersFromCompiler, extractToolDependencies as extractToolDependenciesFromCompiler } from '../compiler.js';
8
9
  export interface CompileOptions {
9
10
  force?: boolean;
10
11
  validateOnly?: boolean;
12
+ sandbox?: boolean;
11
13
  model?: string;
12
14
  provider?: Provider;
13
15
  temperature?: number;
@@ -74,4 +76,11 @@ export declare function compilePrompt(prompt: string, options?: CompileOptions):
74
76
  dml: string;
75
77
  tools: string[];
76
78
  }>;
79
+ export declare const extractToolDependencies: typeof extractToolDependenciesFromCompiler;
80
+ export declare const extractParameters: typeof extractParametersFromCompiler;
81
+ export declare const extractDescription: typeof extractDescriptionFromCompiler;
82
+ export declare function validateDMLSyntax(dml: string): {
83
+ valid: boolean;
84
+ errors: string[];
85
+ };
77
86
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/cli/compile.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAYrE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AA+DD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA2LxB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA8C3B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwB3C"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/cli/compile.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,10 @@
7
7
  import * as fs from 'fs/promises';
8
8
  import * as path from 'path';
9
9
  import * as crypto from 'crypto';
10
- import { loadConfig } from './config.js';
11
- import { getAgentVMTools } from './tools.js';
12
- import { compileToDML, extractParameters, extractDescription } from '../compiler.js';
10
+ import { applyResolvedModelConfig, buildModelOverride, getDefaultConfig, loadConfig, resolveModelSlot, } from './config.js';
11
+ import { promptUser } from './interactive.js';
12
+ import { compileWithSkillCreator } from '../system/runtime/skill-creator.js';
13
+ import { extractDescription as extractDescriptionFromCompiler, extractParameters as extractParametersFromCompiler, extractToolDependencies as extractToolDependenciesFromCompiler, } from '../compiler.js';
13
14
  // =============================================================================
14
15
  // Status Indicator
15
16
  // =============================================================================
@@ -70,7 +71,6 @@ export async function compile(sourcePath, outputDir, options = {}) {
70
71
  const maxAttempts = options.maxAttempts ?? 3;
71
72
  const verbose = options.verbose ?? false;
72
73
  const shouldStream = options.stream ?? true;
73
- const shouldAudit = options.audit ?? true;
74
74
  // Resolve paths
75
75
  const absoluteSource = path.resolve(sourcePath);
76
76
  const absoluteOutputDir = path.resolve(outputDir);
@@ -103,135 +103,68 @@ export async function compile(sourcePath, outputDir, options = {}) {
103
103
  }
104
104
  // Load config for model/provider (try cwd first, then source dir, then use defaults)
105
105
  let config;
106
+ let workspaceRoot;
106
107
  try {
108
+ workspaceRoot = process.cwd();
107
109
  config = await loadConfig(process.cwd());
108
110
  }
109
111
  catch {
110
112
  try {
111
113
  const sourceDir = path.dirname(absoluteSource).split('/.deepclause')[0];
114
+ workspaceRoot = sourceDir;
112
115
  config = await loadConfig(sourceDir);
113
116
  }
114
117
  catch {
115
118
  // Use sensible defaults if no config found
116
- config = {
117
- model: 'gpt-4o',
118
- provider: 'openai',
119
- providers: {},
120
- mcp: { servers: {} },
121
- agentvm: { network: true },
122
- dmlBase: '.deepclause/tools',
123
- workspace: './'
124
- };
119
+ workspaceRoot = process.cwd();
120
+ config = getDefaultConfig();
125
121
  }
126
122
  }
127
- const model = options.model || config.model;
128
- const provider = options.provider || config.provider;
129
- // Get available tools for the prompt
130
- const tools = await getAvailableTools(config);
123
+ const compileSelection = resolveModelSlot(config, 'compile', {
124
+ modelId: buildModelOverride(options.model, options.provider),
125
+ temperature: options.temperature,
126
+ });
127
+ applyResolvedModelConfig(compileSelection);
128
+ const runSelection = resolveModelSlot(config, 'run');
131
129
  // Status indicator
132
130
  const status = new StatusIndicator(verbose || shouldStream);
133
131
  status.start(`Compiling...`);
134
132
  try {
135
- // Call the shared compiler
136
- const result = await compileToDML(markdown, {
137
- model,
138
- provider: provider,
139
- temperature: options.temperature,
133
+ const result = await compileWithSkillCreator(markdown, {
134
+ sourcePath: absoluteSource,
135
+ outputDir: absoluteOutputDir,
136
+ baseName,
137
+ workspaceRoot,
138
+ workspacePath: path.resolve(config.workspace || './workspace'),
139
+ config,
140
+ compileSelection,
141
+ runSelection,
142
+ sandbox: options.sandbox,
143
+ validateOnly: options.validateOnly,
140
144
  maxAttempts,
141
145
  verbose,
142
- tools: tools, // Map CLI tools to compiler tools
143
- audit: shouldAudit
146
+ onUserInput: promptUser,
144
147
  });
145
- if (result.valid && result.dml) {
146
- status.stop();
147
- const dml = result.dml;
148
- const explanation = result.explanation || 'DML program compiled successfully.';
149
- // Print Analysis Warnings
150
- if (result.analysis) {
151
- if (result.analysis.warnings && result.analysis.warnings.length > 0) {
152
- console.log('\n⚠️ Static Analysis Warnings:');
153
- for (const w of result.analysis.warnings) {
154
- const icon = w.level === 'critical' ? '🔴' : w.level === 'high' ? '🟠' : w.level === 'medium' ? '🟡' : '⚪';
155
- console.log(` ${icon} [${w.level.toUpperCase()}] ${w.message}`);
156
- }
157
- }
158
- if (result.analysis.auditorReport) {
159
- console.log('\n🛡️ Security Audit Report:');
160
- console.log(result.analysis.auditorReport);
161
- console.log('--------------------------------------------------');
162
- }
163
- }
164
- // If validate-only, return without saving
165
- if (options.validateOnly) {
166
- console.log('\n✅ Compilation successful!\n');
167
- console.log(explanation);
168
- return {
169
- output: dmlPath,
170
- tools: result.tools,
171
- skipped: false,
172
- valid: true,
173
- dml,
174
- explanation,
175
- attempts: result.attempts
176
- };
177
- }
178
- // Save the DML
179
- await fs.mkdir(absoluteOutputDir, { recursive: true });
180
- // Load existing meta for history
181
- const existingMeta = await loadExistingMeta(metaPath);
182
- const history = existingMeta?.history || [];
183
- const newVersion = history.length + 1;
184
- // Create new meta file
185
- const extractedTools = result.tools;
186
- const extractedParams = extractParameters(dml);
187
- const description = extractDescription(markdown);
188
- const meta = {
189
- version: '1.0.0',
190
- source: path.relative(absoluteOutputDir, absoluteSource),
191
- sourceHash,
192
- compiledAt: new Date().toISOString(),
193
- model,
194
- provider,
195
- description,
196
- parameters: extractedParams,
197
- tools: extractedTools,
198
- history: [
199
- ...history,
200
- {
201
- version: newVersion,
202
- timestamp: new Date().toISOString(),
203
- sourceHash,
204
- model,
205
- provider
206
- }
207
- ]
208
- };
209
- // Write files
210
- await fs.writeFile(dmlPath, dml);
211
- await fs.writeFile(metaPath, JSON.stringify(meta, null, 2) + '\n');
212
- // Print success
213
- console.log('\n✅ Compilation successful!\n');
214
- console.log(explanation);
215
- return {
216
- output: dmlPath,
217
- tools: extractedTools,
218
- skipped: false,
219
- valid: true,
220
- dml,
221
- meta,
222
- explanation,
223
- attempts: result.attempts
224
- };
225
- }
226
- else {
227
- status.stop();
228
- console.log('\n❌ Compilation failed.\n');
229
- console.log('Errors:');
230
- for (const error of result.errors || []) {
231
- console.log(` - ${error}`);
148
+ status.stop();
149
+ if (result.analysis.warnings.length > 0) {
150
+ console.log('\n⚠️ Static Analysis Warnings:');
151
+ for (const warning of result.analysis.warnings) {
152
+ const icon = warning.level === 'critical' ? '🔴' : warning.level === 'high' ? '🟠' : warning.level === 'medium' ? '🟡' : '⚪';
153
+ console.log(` ${icon} [${warning.level.toUpperCase()}] ${warning.message}`);
232
154
  }
233
- throw new Error(`Compilation failed: ${(result.errors || []).join(', ')}`);
234
155
  }
156
+ console.log('\n✅ Compilation successful!\n');
157
+ console.log(result.explanation);
158
+ return {
159
+ output: dmlPath,
160
+ tools: result.tools,
161
+ skipped: false,
162
+ valid: true,
163
+ dml: result.dml,
164
+ meta: result.meta,
165
+ explanation: result.explanation,
166
+ attempts: 1,
167
+ };
235
168
  }
236
169
  catch (error) {
237
170
  status.stop();
@@ -289,36 +222,32 @@ export async function compileAll(sourceDir, outputDir, options = {}) {
289
222
  * Compile a natural language prompt directly to DML without saving to disk
290
223
  */
291
224
  export async function compilePrompt(prompt, options = {}) {
225
+ const workspaceRoot = process.cwd();
292
226
  const config = await loadConfig(process.cwd());
293
- const model = options.model || config.model;
294
- const provider = options.provider || config.provider;
295
- // Get available tools for the prompt
296
- const tools = await getAvailableTools(config);
297
- const result = await compileToDML(prompt, {
298
- model,
299
- provider: provider,
227
+ const compileSelection = resolveModelSlot(config, 'compile', {
228
+ modelId: buildModelOverride(options.model, options.provider),
300
229
  temperature: options.temperature,
230
+ });
231
+ const runSelection = resolveModelSlot(config, 'run');
232
+ const result = await compileWithSkillCreator(prompt, {
233
+ sourcePath: 'oneshot.md',
234
+ outputDir: path.resolve(config.dmlBase || '.deepclause/tools'),
235
+ baseName: 'oneshot',
236
+ workspaceRoot,
237
+ workspacePath: path.resolve(config.workspace || './workspace'),
238
+ config,
239
+ compileSelection,
240
+ runSelection,
241
+ sandbox: options.sandbox,
242
+ validateOnly: true,
301
243
  maxAttempts: options.maxAttempts,
302
- tools: tools
244
+ verbose: options.verbose,
245
+ onUserInput: promptUser,
303
246
  });
304
- if (result.valid && result.dml) {
305
- return {
306
- dml: result.dml,
307
- tools: result.tools
308
- };
309
- }
310
- throw new Error(`Failed to generate valid DML: ${(result.errors || []).join(", ")}`);
311
- }
312
- // =============================================================================
313
- // Tool Resolution
314
- // =============================================================================
315
- /**
316
- * Get all available tools for compilation prompt
317
- */
318
- async function getAvailableTools(_config) {
319
- const tools = [];
320
- tools.push(...getAgentVMTools());
321
- return tools;
247
+ return {
248
+ dml: result.dml,
249
+ tools: result.tools,
250
+ };
322
251
  }
323
252
  // =============================================================================
324
253
  // Helpers
@@ -341,4 +270,43 @@ async function loadExistingMeta(metaPath) {
341
270
  return null;
342
271
  }
343
272
  }
273
+ export const extractToolDependencies = extractToolDependenciesFromCompiler;
274
+ export const extractParameters = extractParametersFromCompiler;
275
+ export const extractDescription = extractDescriptionFromCompiler;
276
+ export function validateDMLSyntax(dml) {
277
+ const errors = [];
278
+ if (!dml.includes('agent_main')) {
279
+ errors.push('Missing agent_main predicate');
280
+ }
281
+ const stripped = dml
282
+ .replace(/"(?:[^"\\]|\\.)*"/g, '""')
283
+ .replace(/%.*$/gm, '')
284
+ .replace(/\/\*[\s\S]*?\*\//g, '');
285
+ let parenCount = 0;
286
+ let bracketCount = 0;
287
+ for (const char of stripped) {
288
+ if (char === '(')
289
+ parenCount++;
290
+ if (char === ')')
291
+ parenCount--;
292
+ if (char === '[')
293
+ bracketCount++;
294
+ if (char === ']')
295
+ bracketCount--;
296
+ }
297
+ if (parenCount !== 0) {
298
+ errors.push('Unbalanced parentheses');
299
+ }
300
+ if (bracketCount !== 0) {
301
+ errors.push('Unbalanced brackets');
302
+ }
303
+ const withoutQuotedStrings = dml.replace(/"(?:[^"\\]|\\.)*"/g, '');
304
+ if ((withoutQuotedStrings.match(/"/g) || []).length % 2 !== 0) {
305
+ errors.push('Unclosed string literal');
306
+ }
307
+ return {
308
+ valid: errors.length === 0,
309
+ errors: [...new Set(errors)],
310
+ };
311
+ }
344
312
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/cli/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/cli/compile.ts"],"names":[],"mappings":"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"}