tryassay 0.22.0 → 0.22.1

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 (130) hide show
  1. package/demo/css/style.css +495 -836
  2. package/demo/index.html +40 -184
  3. package/demo/js/chat.js +385 -142
  4. package/demo/js/preview.js +456 -0
  5. package/demo/js/sse-client.js +262 -135
  6. package/demo/js/state.js +11 -1
  7. package/demo/js/timeline.js +57 -371
  8. package/dist/api/server.d.ts +2 -0
  9. package/dist/api/server.js +63 -19
  10. package/dist/api/server.js.map +1 -1
  11. package/dist/cli.js +2 -0
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/assess.d.ts +2 -0
  14. package/dist/commands/assess.js +132 -164
  15. package/dist/commands/assess.js.map +1 -1
  16. package/dist/commands/demo.js +259 -9
  17. package/dist/commands/demo.js.map +1 -1
  18. package/dist/lib/__tests__/arithmetic-quick-test.d.ts +6 -0
  19. package/dist/lib/__tests__/arithmetic-quick-test.js +197 -0
  20. package/dist/lib/__tests__/arithmetic-quick-test.js.map +1 -0
  21. package/dist/lib/__tests__/arithmetic-real-llm-test.d.ts +13 -0
  22. package/dist/lib/__tests__/arithmetic-real-llm-test.js +284 -0
  23. package/dist/lib/__tests__/arithmetic-real-llm-test.js.map +1 -0
  24. package/dist/lib/__tests__/arithmetic-value-demo.d.ts +10 -0
  25. package/dist/lib/__tests__/arithmetic-value-demo.js +193 -0
  26. package/dist/lib/__tests__/arithmetic-value-demo.js.map +1 -0
  27. package/dist/lib/__tests__/flow-to-claims.test.d.ts +1 -0
  28. package/dist/lib/__tests__/flow-to-claims.test.js +91 -0
  29. package/dist/lib/__tests__/flow-to-claims.test.js.map +1 -0
  30. package/dist/lib/__tests__/formal-verifier-api-misuse.test.d.ts +9 -0
  31. package/dist/lib/__tests__/formal-verifier-api-misuse.test.js +391 -0
  32. package/dist/lib/__tests__/formal-verifier-api-misuse.test.js.map +1 -0
  33. package/dist/lib/__tests__/formal-verifier-arithmetic.test.d.ts +7 -0
  34. package/dist/lib/__tests__/formal-verifier-arithmetic.test.js +318 -0
  35. package/dist/lib/__tests__/formal-verifier-arithmetic.test.js.map +1 -0
  36. package/dist/lib/__tests__/intent-extractor.test.d.ts +1 -0
  37. package/dist/lib/__tests__/intent-extractor.test.js +97 -0
  38. package/dist/lib/__tests__/intent-extractor.test.js.map +1 -0
  39. package/dist/lib/__tests__/intent-reviewer.test.d.ts +1 -0
  40. package/dist/lib/__tests__/intent-reviewer.test.js +55 -0
  41. package/dist/lib/__tests__/intent-reviewer.test.js.map +1 -0
  42. package/dist/lib/__tests__/mr-gsm8k-benchmark.d.ts +11 -0
  43. package/dist/lib/__tests__/mr-gsm8k-benchmark.js +224 -0
  44. package/dist/lib/__tests__/mr-gsm8k-benchmark.js.map +1 -0
  45. package/dist/lib/anthropic.js +25 -33
  46. package/dist/lib/anthropic.js.map +1 -1
  47. package/dist/lib/assessment-reporter.js +9 -13
  48. package/dist/lib/assessment-reporter.js.map +1 -1
  49. package/dist/lib/claim-extractor.js +10 -19
  50. package/dist/lib/claim-extractor.js.map +1 -1
  51. package/dist/lib/code-verifier.js +16 -36
  52. package/dist/lib/code-verifier.js.map +1 -1
  53. package/dist/lib/constraint-engine.js +10 -19
  54. package/dist/lib/constraint-engine.js.map +1 -1
  55. package/dist/lib/formal-verifier.d.ts +1 -1
  56. package/dist/lib/formal-verifier.js +454 -0
  57. package/dist/lib/formal-verifier.js.map +1 -1
  58. package/dist/lib/guided-generator.js +19 -37
  59. package/dist/lib/guided-generator.js.map +1 -1
  60. package/dist/lib/intent-extractor.d.ts +47 -0
  61. package/dist/lib/intent-extractor.js +427 -0
  62. package/dist/lib/intent-extractor.js.map +1 -0
  63. package/dist/lib/intent-reviewer.d.ts +14 -0
  64. package/dist/lib/intent-reviewer.js +148 -0
  65. package/dist/lib/intent-reviewer.js.map +1 -0
  66. package/dist/lib/intent-types.d.ts +89 -0
  67. package/dist/lib/intent-types.js +5 -0
  68. package/dist/lib/intent-types.js.map +1 -0
  69. package/dist/lib/inventory-extractor.js +9 -22
  70. package/dist/lib/inventory-extractor.js.map +1 -1
  71. package/dist/lib/llm-provider.d.ts +23 -0
  72. package/dist/lib/llm-provider.js +130 -0
  73. package/dist/lib/llm-provider.js.map +1 -0
  74. package/dist/lib/remediator.js +20 -28
  75. package/dist/lib/remediator.js.map +1 -1
  76. package/dist/lib/requirements-generator.js +14 -19
  77. package/dist/lib/requirements-generator.js.map +1 -1
  78. package/dist/lib/spec-synthesizer.js +10 -19
  79. package/dist/lib/spec-synthesizer.js.map +1 -1
  80. package/dist/runtime/app-create-orchestrator.d.ts +5 -1
  81. package/dist/runtime/app-create-orchestrator.js +114 -39
  82. package/dist/runtime/app-create-orchestrator.js.map +1 -1
  83. package/dist/runtime/check-catalog.js +5 -3
  84. package/dist/runtime/check-catalog.js.map +1 -1
  85. package/dist/runtime/check-definitions.d.ts +10 -0
  86. package/dist/runtime/check-definitions.js +52 -2
  87. package/dist/runtime/check-definitions.js.map +1 -1
  88. package/dist/runtime/composition-verifier.js +8 -12
  89. package/dist/runtime/composition-verifier.js.map +1 -1
  90. package/dist/runtime/gap-detector.js +8 -10
  91. package/dist/runtime/gap-detector.js.map +1 -1
  92. package/dist/runtime/input-validator.d.ts +7 -0
  93. package/dist/runtime/input-validator.js +162 -0
  94. package/dist/runtime/input-validator.js.map +1 -0
  95. package/dist/runtime/model-router.d.ts +10 -0
  96. package/dist/runtime/model-router.js +42 -0
  97. package/dist/runtime/model-router.js.map +1 -0
  98. package/dist/runtime/pattern-extractor.js +8 -10
  99. package/dist/runtime/pattern-extractor.js.map +1 -1
  100. package/dist/runtime/planner.js +11 -16
  101. package/dist/runtime/planner.js.map +1 -1
  102. package/dist/runtime/prompt-guard.d.ts +2 -0
  103. package/dist/runtime/prompt-guard.js +180 -0
  104. package/dist/runtime/prompt-guard.js.map +1 -0
  105. package/dist/runtime/prompt-safety-analyzer.js +8 -13
  106. package/dist/runtime/prompt-safety-analyzer.js.map +1 -1
  107. package/dist/runtime/reasoner.js +19 -33
  108. package/dist/runtime/reasoner.js.map +1 -1
  109. package/dist/runtime/rule-meta-verifier.js +9 -11
  110. package/dist/runtime/rule-meta-verifier.js.map +1 -1
  111. package/dist/runtime/safe-executor.d.ts +23 -0
  112. package/dist/runtime/safe-executor.js +151 -0
  113. package/dist/runtime/safe-executor.js.map +1 -0
  114. package/dist/runtime/specialized-agent.js +10 -14
  115. package/dist/runtime/specialized-agent.js.map +1 -1
  116. package/dist/runtime/strategy-library.js +8 -10
  117. package/dist/runtime/strategy-library.js.map +1 -1
  118. package/dist/runtime/supabase-experience-store.js.map +1 -1
  119. package/dist/runtime/supabase-provisioner.d.ts +35 -0
  120. package/dist/runtime/supabase-provisioner.js +192 -0
  121. package/dist/runtime/supabase-provisioner.js.map +1 -0
  122. package/dist/runtime/types.d.ts +88 -0
  123. package/dist/sdk/forward-verify.js +16 -33
  124. package/dist/sdk/forward-verify.js.map +1 -1
  125. package/package.json +1 -1
  126. package/demo/data/demo-events.json +0 -103
  127. package/demo/js/demo-mode.js +0 -107
  128. package/demo/js/orb.js +0 -634
  129. package/demo/js/question-cards.js +0 -207
  130. package/demo/js/voice.js +0 -154
@@ -7,7 +7,8 @@
7
7
  // - Unbounded action permissions
8
8
  // - Missing safety constraints
9
9
  // ============================================================
10
- import { getClient, MODEL } from '../lib/anthropic.js';
10
+ import { getProvider } from '../lib/llm-provider.js';
11
+ import { MODEL } from '../lib/anthropic.js';
11
12
  const PROMPT_PATTERNS = [
12
13
  // Verification bypass patterns
13
14
  {
@@ -181,12 +182,12 @@ export class PromptSafetyAnalyzer {
181
182
  // ── Private: LLM-based semantic analysis ──────────────────
182
183
  async llmAnalysis(systemPrompt) {
183
184
  try {
184
- const client = getClient();
185
- const response = await client.messages.create({
185
+ const provider = getProvider();
186
+ const result = await provider.complete({
186
187
  model: MODEL,
187
- max_tokens: 2000,
188
+ maxTokens: 2000,
188
189
  temperature: 0,
189
- system: `You are a security analyzer for AI agent system prompts. Your job is to identify safety issues that pattern matching might miss.
190
+ systemPrompt: `You are a security analyzer for AI agent system prompts. Your job is to identify safety issues that pattern matching might miss.
190
191
 
191
192
  Analyze the given system prompt and identify ANY of these issues:
192
193
  1. Subtle verification bypass (e.g., "prioritize speed over thoroughness" = soft bypass)
@@ -200,15 +201,9 @@ Types: verification_bypass, privilege_escalation, self_reference, unbounded_acti
200
201
  Severities: critical, high, medium, low
201
202
 
202
203
  If the prompt is safe, return: { "findings": [] }`,
203
- messages: [{
204
- role: 'user',
205
- content: `Analyze this agent system prompt for safety issues:\n\n${systemPrompt}`,
206
- }],
204
+ userPrompt: `Analyze this agent system prompt for safety issues:\n\n${systemPrompt}`,
207
205
  });
208
- const content = response.content[0];
209
- if (content.type !== 'text')
210
- return [];
211
- let cleaned = content.text.trim();
206
+ let cleaned = result.content.trim();
212
207
  if (cleaned.startsWith('```')) {
213
208
  cleaned = cleaned.replace(/^```(?:json)?\s*/, '').replace(/\s*```$/, '');
214
209
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-safety-analyzer.js","sourceRoot":"","sources":["../../src/runtime/prompt-safety-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-safety-analyzer.js","sourceRoot":"","sources":["../../src/runtime/prompt-safety-analyzer.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  // Takes an Observation + context → produces a Decision via Claude
4
4
  // ============================================================
5
5
  import { randomUUID } from 'node:crypto';
6
- import { getClient, MODEL } from '../lib/anthropic.js';
6
+ import { getProvider } from '../lib/llm-provider.js';
7
+ import { MODEL } from '../lib/anthropic.js';
7
8
  // ── System prompt for the reasoner ────────────────────────────
8
9
  function buildSystemPrompt(config) {
9
10
  return `You are a reasoning engine for an autonomous agent named "${config.name}".
@@ -174,25 +175,22 @@ function makeDeferDecision(observationId, reason) {
174
175
  // ── Reasoner class ────────────────────────────────────────────
175
176
  export class Reasoner {
176
177
  async reason(observation, agentConfig, currentState, experiences, enrichedContext) {
177
- const client = getClient();
178
+ const provider = getProvider();
178
179
  const systemPrompt = buildSystemPrompt(agentConfig);
179
180
  const userPrompt = buildUserPrompt(observation, currentState, experiences, enrichedContext);
180
181
  let content = '';
181
182
  let inputTokens = 0;
182
183
  let outputTokens = 0;
183
184
  try {
184
- const stream = client.messages.stream({
185
+ const result = await provider.complete({
185
186
  model: agentConfig.modelId || MODEL,
186
- max_tokens: 4096,
187
- system: systemPrompt,
188
- messages: [{ role: 'user', content: userPrompt }],
187
+ systemPrompt,
188
+ userPrompt,
189
+ maxTokens: 4096,
189
190
  });
190
- stream.on('text', (text) => {
191
- content += text;
192
- });
193
- const finalMessage = await stream.finalMessage();
194
- inputTokens = finalMessage.usage.input_tokens;
195
- outputTokens = finalMessage.usage.output_tokens;
191
+ content = result.content;
192
+ inputTokens = result.inputTokens ?? 0;
193
+ outputTokens = result.outputTokens ?? 0;
196
194
  }
197
195
  catch (err) {
198
196
  const message = err instanceof Error ? err.message : String(err);
@@ -207,29 +205,17 @@ export class Reasoner {
207
205
  // Retry once with a corrective prompt
208
206
  const retryReason = firstError instanceof Error ? firstError.message : String(firstError);
209
207
  try {
210
- let retryContent = '';
211
- let retryInputTokens = 0;
212
- let retryOutputTokens = 0;
213
- const retryStream = client.messages.stream({
208
+ // Fold the conversation history into a single user prompt for the retry
209
+ const retryUserPrompt = `${userPrompt}\n\n--- PREVIOUS ASSISTANT RESPONSE (could not be parsed) ---\n${content}\n\n--- CORRECTION REQUEST ---\nYour previous response could not be parsed: ${retryReason}\n\nPlease respond with ONLY a valid JSON object matching the schema. No markdown, no explanation.`;
210
+ const retryResult = await provider.complete({
214
211
  model: agentConfig.modelId || MODEL,
215
- max_tokens: 4096,
216
- system: systemPrompt,
217
- messages: [
218
- { role: 'user', content: userPrompt },
219
- { role: 'assistant', content },
220
- {
221
- role: 'user',
222
- content: `Your previous response could not be parsed: ${retryReason}\n\nPlease respond with ONLY a valid JSON object matching the schema. No markdown, no explanation.`,
223
- },
224
- ],
225
- });
226
- retryStream.on('text', (text) => {
227
- retryContent += text;
212
+ systemPrompt,
213
+ userPrompt: retryUserPrompt,
214
+ maxTokens: 4096,
228
215
  });
229
- const retryFinal = await retryStream.finalMessage();
230
- retryInputTokens = retryFinal.usage.input_tokens;
231
- retryOutputTokens = retryFinal.usage.output_tokens;
232
- const raw = parseDecisionResponse(retryContent);
216
+ const retryInputTokens = retryResult.inputTokens ?? 0;
217
+ const retryOutputTokens = retryResult.outputTokens ?? 0;
218
+ const raw = parseDecisionResponse(retryResult.content);
233
219
  return toDecision(raw, observation.id, inputTokens + retryInputTokens, outputTokens + retryOutputTokens);
234
220
  }
235
221
  catch (retryError) {
@@ -1 +1 @@
1
- {"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../src/runtime/reasoner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../src/runtime/reasoner.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  // Rule N is verified by rules 1..N-1.
5
5
  // ============================================================
6
6
  import { randomUUID } from 'node:crypto';
7
- import { getClient, MODEL } from '../lib/anthropic.js';
7
+ import { getProvider } from '../lib/llm-provider.js';
8
+ import { MODEL } from '../lib/anthropic.js';
8
9
  // ── Rule Executor ──────────────────────────────────────────
9
10
  /**
10
11
  * Execute a rule's check against a code snippet.
@@ -67,24 +68,21 @@ function executeFormalCheck(check, code) {
67
68
  }
68
69
  async function executeLLMCheck(check, code, language) {
69
70
  try {
70
- const client = getClient();
71
+ const provider = getProvider();
71
72
  const prompt = check.prompt_template
72
73
  .replace('{{code}}', code)
73
74
  .replace('{{language}}', language)
74
75
  .replace('{{claim}}', 'Verify the code against the rule');
75
- const response = await client.messages.create({
76
+ const result = await provider.complete({
76
77
  model: MODEL,
77
- max_tokens: check.max_tokens,
78
+ maxTokens: check.max_tokens,
78
79
  temperature: check.temperature,
79
- messages: [{ role: 'user', content: prompt }],
80
+ userPrompt: prompt,
81
+ systemPrompt: 'You are a code verification agent. Evaluate the code and respond with PASS or FAIL.',
80
82
  });
81
- const content = response.content[0];
82
- if (content.type !== 'text') {
83
- return { verdict: 'FAIL', evidence: 'LLM returned non-text response' };
84
- }
85
- const text = content.text.toLowerCase();
83
+ const text = result.content.toLowerCase();
86
84
  const verdict = text.includes('pass') && !text.includes('fail') ? 'PASS' : 'FAIL';
87
- return { verdict, evidence: content.text.slice(0, 500) };
85
+ return { verdict, evidence: result.content.slice(0, 500) };
88
86
  }
89
87
  catch (err) {
90
88
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"rule-meta-verifier.js","sourceRoot":"","sources":["../../src/runtime/rule-meta-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-meta-verifier.js","sourceRoot":"","sources":["../../src/runtime/rule-meta-verifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type ChildProcess } from 'node:child_process';
2
+ import type { AllowedBinary, SafeExecResult, SafeExecOptions, SafeSpawnOptions } from './types.js';
3
+ /**
4
+ * Synchronous shell-free execution. Replaces execSync with string interpolation.
5
+ * Never throws on non-zero exit — returns structured result with .exitCode.
6
+ */
7
+ export declare function safeExecSync(binary: AllowedBinary, args: readonly string[], opts?: SafeExecOptions): SafeExecResult;
8
+ /**
9
+ * Async shell-free execution. Replaces exec with string interpolation.
10
+ * Never rejects on non-zero exit — resolves with structured result.
11
+ */
12
+ export declare function safeExec(binary: AllowedBinary, args: readonly string[], opts?: SafeExecOptions): Promise<SafeExecResult>;
13
+ /**
14
+ * Async shell-free execution with stdin piping.
15
+ * Like safeExec but writes stdinData to the child process's stdin.
16
+ * Useful when arguments would exceed OS ARG_MAX limits.
17
+ */
18
+ export declare function safeExecWithStdin(binary: AllowedBinary, args: readonly string[], stdinData: string, opts?: SafeExecOptions): Promise<SafeExecResult>;
19
+ /**
20
+ * Long-running shell-free spawn. Replaces spawn with shell:true.
21
+ * Returns the ChildProcess directly for stdout/stderr event handling.
22
+ */
23
+ export declare function safeSpawn(binary: AllowedBinary, args: readonly string[], opts?: SafeSpawnOptions): ChildProcess;
@@ -0,0 +1,151 @@
1
+ // ============================================================
2
+ // SafeExecutor — Shell-free command execution
3
+ // Uses execFile/spawn (no shell) with binary allowlist.
4
+ // Safety is structural: arguments never touch a shell parser.
5
+ // ============================================================
6
+ import { execFileSync, execFile, spawn } from 'node:child_process';
7
+ const ALLOWED_BINARIES = new Set([
8
+ 'supabase', 'npm', 'npx', 'node', 'git', 'tsc', 'claude',
9
+ ]);
10
+ const DEFAULT_TIMEOUT = 30_000;
11
+ const DEFAULT_MAX_BUFFER = 10 * 1024 * 1024; // 10MB
12
+ function assertAllowed(binary) {
13
+ if (!ALLOWED_BINARIES.has(binary)) {
14
+ throw new TypeError(`Binary '${binary}' is not in the allowlist. Allowed: ${[...ALLOWED_BINARIES].join(', ')}`);
15
+ }
16
+ }
17
+ /**
18
+ * Synchronous shell-free execution. Replaces execSync with string interpolation.
19
+ * Never throws on non-zero exit — returns structured result with .exitCode.
20
+ */
21
+ export function safeExecSync(binary, args, opts) {
22
+ assertAllowed(binary);
23
+ const start = Date.now();
24
+ try {
25
+ const stdout = execFileSync(binary, [...args], {
26
+ cwd: opts?.cwd,
27
+ timeout: opts?.timeout ?? DEFAULT_TIMEOUT,
28
+ maxBuffer: opts?.maxBuffer ?? DEFAULT_MAX_BUFFER,
29
+ encoding: 'utf-8',
30
+ stdio: ['pipe', 'pipe', 'pipe'],
31
+ env: opts?.env ? { ...process.env, ...opts.env } : undefined,
32
+ });
33
+ return {
34
+ stdout: typeof stdout === 'string' ? stdout.trim() : '',
35
+ stderr: '',
36
+ exitCode: 0,
37
+ timedOut: false,
38
+ durationMs: Date.now() - start,
39
+ };
40
+ }
41
+ catch (err) {
42
+ const e = err;
43
+ const timedOut = e.killed === true || e.signal === 'SIGTERM';
44
+ return {
45
+ stdout: (e.stdout ?? '').toString().trim(),
46
+ stderr: (e.stderr ?? '').toString().trim(),
47
+ exitCode: e.status ?? null,
48
+ timedOut,
49
+ durationMs: Date.now() - start,
50
+ };
51
+ }
52
+ }
53
+ /**
54
+ * Async shell-free execution. Replaces exec with string interpolation.
55
+ * Never rejects on non-zero exit — resolves with structured result.
56
+ */
57
+ export function safeExec(binary, args, opts) {
58
+ assertAllowed(binary);
59
+ const start = Date.now();
60
+ return new Promise((resolve) => {
61
+ const proc = execFile(binary, [...args], {
62
+ cwd: opts?.cwd,
63
+ timeout: opts?.timeout ?? DEFAULT_TIMEOUT,
64
+ maxBuffer: opts?.maxBuffer ?? DEFAULT_MAX_BUFFER,
65
+ encoding: 'utf-8',
66
+ env: opts?.env ? { ...process.env, ...opts.env } : undefined,
67
+ }, (err, stdout, stderr) => {
68
+ if (err) {
69
+ const e = err;
70
+ const timedOut = e.killed === true || e.signal === 'SIGTERM';
71
+ resolve({
72
+ stdout: (stdout ?? '').trim(),
73
+ stderr: (stderr ?? '').trim(),
74
+ exitCode: e.code ?? null,
75
+ timedOut,
76
+ durationMs: Date.now() - start,
77
+ });
78
+ return;
79
+ }
80
+ resolve({
81
+ stdout: (stdout ?? '').trim(),
82
+ stderr: (stderr ?? '').trim(),
83
+ exitCode: proc.exitCode ?? 0,
84
+ timedOut: false,
85
+ durationMs: Date.now() - start,
86
+ });
87
+ });
88
+ });
89
+ }
90
+ /**
91
+ * Async shell-free execution with stdin piping.
92
+ * Like safeExec but writes stdinData to the child process's stdin.
93
+ * Useful when arguments would exceed OS ARG_MAX limits.
94
+ */
95
+ export function safeExecWithStdin(binary, args, stdinData, opts) {
96
+ assertAllowed(binary);
97
+ const start = Date.now();
98
+ const timeout = opts?.timeout ?? DEFAULT_TIMEOUT;
99
+ return new Promise((resolve) => {
100
+ const proc = spawn(binary, [...args], {
101
+ cwd: opts?.cwd,
102
+ env: opts?.env ? { ...process.env, ...opts.env } : undefined,
103
+ stdio: ['pipe', 'pipe', 'pipe'],
104
+ });
105
+ let stdout = '';
106
+ let stderr = '';
107
+ let timedOut = false;
108
+ proc.stdout.on('data', (chunk) => { stdout += chunk.toString(); });
109
+ proc.stderr.on('data', (chunk) => { stderr += chunk.toString(); });
110
+ const timer = setTimeout(() => {
111
+ timedOut = true;
112
+ proc.kill('SIGTERM');
113
+ }, timeout);
114
+ proc.on('close', (code) => {
115
+ clearTimeout(timer);
116
+ resolve({
117
+ stdout: stdout.trim(),
118
+ stderr: stderr.trim(),
119
+ exitCode: code ?? null,
120
+ timedOut,
121
+ durationMs: Date.now() - start,
122
+ });
123
+ });
124
+ proc.on('error', (err) => {
125
+ clearTimeout(timer);
126
+ resolve({
127
+ stdout: stdout.trim(),
128
+ stderr: stderr.trim() || err.message,
129
+ exitCode: null,
130
+ timedOut: false,
131
+ durationMs: Date.now() - start,
132
+ });
133
+ });
134
+ proc.stdin.write(stdinData);
135
+ proc.stdin.end();
136
+ });
137
+ }
138
+ /**
139
+ * Long-running shell-free spawn. Replaces spawn with shell:true.
140
+ * Returns the ChildProcess directly for stdout/stderr event handling.
141
+ */
142
+ export function safeSpawn(binary, args, opts) {
143
+ assertAllowed(binary);
144
+ return spawn(binary, [...args], {
145
+ cwd: opts?.cwd,
146
+ env: opts?.env ? { ...process.env, ...opts.env } : undefined,
147
+ stdio: opts?.stdio ? [...opts.stdio] : ['ignore', 'pipe', 'pipe'],
148
+ // shell is intentionally omitted — defaults to false
149
+ });
150
+ }
151
+ //# sourceMappingURL=safe-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-executor.js","sourceRoot":"","sources":["../../src/runtime/safe-executor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  // message receiving, and artifact production.
5
5
  // ============================================================
6
6
  import { randomUUID } from 'node:crypto';
7
- import { getClient, MODEL } from '../lib/anthropic.js';
7
+ import { getProvider } from '../lib/llm-provider.js';
8
+ import { MODEL } from '../lib/anthropic.js';
8
9
  // ── Specialized Agent ───────────────────────────────────────
9
10
  export class SpecializedAgent {
10
11
  identity;
@@ -42,22 +43,17 @@ export class SpecializedAgent {
42
43
  * Returns the raw response text and token usage.
43
44
  */
44
45
  async callClaude(systemPrompt, userPrompt) {
45
- const client = getClient();
46
- let content = '';
47
- const stream = client.messages.stream({
46
+ const provider = getProvider();
47
+ const result = await provider.complete({
48
48
  model: this.modelId,
49
- max_tokens: 16_000,
50
- system: systemPrompt,
51
- messages: [{ role: 'user', content: userPrompt }],
49
+ systemPrompt,
50
+ userPrompt,
51
+ maxTokens: 16_000,
52
52
  });
53
- stream.on('text', (text) => {
54
- content += text;
55
- });
56
- const finalMessage = await stream.finalMessage();
57
53
  return {
58
- content,
59
- inputTokens: finalMessage.usage.input_tokens,
60
- outputTokens: finalMessage.usage.output_tokens,
54
+ content: result.content,
55
+ inputTokens: result.inputTokens ?? 0,
56
+ outputTokens: result.outputTokens ?? 0,
61
57
  };
62
58
  }
63
59
  /** Send a task result back to the coordinator. */
@@ -1 +1 @@
1
- {"version":3,"file":"specialized-agent.js","sourceRoot":"","sources":["../../src/runtime/specialized-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specialized-agent.js","sourceRoot":"","sources":["../../src/runtime/specialized-agent.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  // ranked by historical success rate.
5
5
  // ============================================================
6
6
  import { randomUUID } from 'node:crypto';
7
- import { getClient, MODEL } from '../lib/anthropic.js';
7
+ import { getProvider } from '../lib/llm-provider.js';
8
+ import { MODEL } from '../lib/anthropic.js';
8
9
  export class StrategyLibrary {
9
10
  strategies = new Map();
10
11
  constructor(initial) {
@@ -90,14 +91,12 @@ export class StrategyLibrary {
90
91
  planSteps: e.plan.steps.map(s => s.description),
91
92
  duration: e.execution.totalDurationMs,
92
93
  }));
93
- const client = getClient();
94
- const response = await client.messages.create({
94
+ const provider = getProvider();
95
+ const result = await provider.complete({
95
96
  model: MODEL,
96
- max_tokens: 1024,
97
- system: 'Extract a named strategy from successful agent experiences. Respond with ONLY JSON, no markdown.',
98
- messages: [{
99
- role: 'user',
100
- content: `These ${experiences.length} successful experiences in "${domain}" (operation: ${operationType}) share a common approach. Name and describe the strategy.
97
+ maxTokens: 1024,
98
+ systemPrompt: 'Extract a named strategy from successful agent experiences. Respond with ONLY JSON, no markdown.',
99
+ userPrompt: `These ${experiences.length} successful experiences in "${domain}" (operation: ${operationType}) share a common approach. Name and describe the strategy.
101
100
 
102
101
  EXAMPLES:
103
102
  ${JSON.stringify(summaries, null, 2)}
@@ -108,9 +107,8 @@ Respond:
108
107
  "description": "when to use this strategy",
109
108
  "planTemplate": "natural language template for the planner"
110
109
  }`,
111
- }],
112
110
  });
113
- const text = response.content[0].type === 'text' ? response.content[0].text : '';
111
+ const text = result.content;
114
112
  try {
115
113
  let cleaned = text.trim();
116
114
  if (cleaned.startsWith('```')) {
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-library.js","sourceRoot":"","sources":["../../src/runtime/strategy-library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy-library.js","sourceRoot":"","sources":["../../src/runtime/strategy-library.ts"],"names":[],"mappings":"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"}