@uluops/core 0.22.0 → 0.22.7

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 (74) hide show
  1. package/README.md +56 -9
  2. package/dist/ai/AIProvider.d.ts +12 -0
  3. package/dist/ai/AIProvider.d.ts.map +1 -1
  4. package/dist/ai/AIProvider.js +12 -0
  5. package/dist/ai/AIProvider.js.map +1 -1
  6. package/dist/ai/ModelCatalog.d.ts +10 -2
  7. package/dist/ai/ModelCatalog.d.ts.map +1 -1
  8. package/dist/ai/ModelCatalog.js +19 -2
  9. package/dist/ai/ModelCatalog.js.map +1 -1
  10. package/dist/ai/TokenBudgetTracker.d.ts +6 -2
  11. package/dist/ai/TokenBudgetTracker.d.ts.map +1 -1
  12. package/dist/ai/TokenBudgetTracker.js +6 -2
  13. package/dist/ai/TokenBudgetTracker.js.map +1 -1
  14. package/dist/analysis/AnalysisSummaryExtractor.d.ts +33 -5
  15. package/dist/analysis/AnalysisSummaryExtractor.d.ts.map +1 -1
  16. package/dist/analysis/AnalysisSummaryExtractor.js +43 -6
  17. package/dist/analysis/AnalysisSummaryExtractor.js.map +1 -1
  18. package/dist/client/UluOpsClient.d.ts +133 -21
  19. package/dist/client/UluOpsClient.d.ts.map +1 -1
  20. package/dist/client/UluOpsClient.js +237 -118
  21. package/dist/client/UluOpsClient.js.map +1 -1
  22. package/dist/constants.d.ts +2 -2
  23. package/dist/constants.d.ts.map +1 -1
  24. package/dist/constants.js +2 -2
  25. package/dist/constants.js.map +1 -1
  26. package/dist/executor/AgentExecutor.d.ts.map +1 -1
  27. package/dist/executor/AgentExecutor.js +4 -1
  28. package/dist/executor/AgentExecutor.js.map +1 -1
  29. package/dist/executor/CommandExecutor.d.ts +12 -1
  30. package/dist/executor/CommandExecutor.d.ts.map +1 -1
  31. package/dist/executor/CommandExecutor.js +13 -2
  32. package/dist/executor/CommandExecutor.js.map +1 -1
  33. package/dist/executor/PipelineExecutor.d.ts +20 -2
  34. package/dist/executor/PipelineExecutor.d.ts.map +1 -1
  35. package/dist/executor/PipelineExecutor.js +20 -2
  36. package/dist/executor/PipelineExecutor.js.map +1 -1
  37. package/dist/executor/WorkflowExecutor.d.ts +3 -0
  38. package/dist/executor/WorkflowExecutor.d.ts.map +1 -1
  39. package/dist/executor/WorkflowExecutor.js +3 -0
  40. package/dist/executor/WorkflowExecutor.js.map +1 -1
  41. package/dist/executor/classifyDecision.d.ts +23 -0
  42. package/dist/executor/classifyDecision.d.ts.map +1 -1
  43. package/dist/executor/classifyDecision.js +23 -0
  44. package/dist/executor/classifyDecision.js.map +1 -1
  45. package/dist/executor/preflight.js +5 -1
  46. package/dist/executor/preflight.js.map +1 -1
  47. package/dist/index.d.ts +2 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/parser/OutputExtractor.d.ts +32 -2
  51. package/dist/parser/OutputExtractor.d.ts.map +1 -1
  52. package/dist/parser/OutputExtractor.js +32 -2
  53. package/dist/parser/OutputExtractor.js.map +1 -1
  54. package/dist/registry/RegistryClient.d.ts +33 -3
  55. package/dist/registry/RegistryClient.d.ts.map +1 -1
  56. package/dist/registry/RegistryClient.js +60 -6
  57. package/dist/registry/RegistryClient.js.map +1 -1
  58. package/dist/submission/SubmissionClient.d.ts +42 -4
  59. package/dist/submission/SubmissionClient.d.ts.map +1 -1
  60. package/dist/submission/SubmissionClient.js +51 -9
  61. package/dist/submission/SubmissionClient.js.map +1 -1
  62. package/dist/types/agent.d.ts +48 -0
  63. package/dist/types/agent.d.ts.map +1 -1
  64. package/dist/types/index.d.ts +2 -2
  65. package/dist/types/index.d.ts.map +1 -1
  66. package/package.json +4 -4
  67. package/dist/types/validation.d.ts +0 -116
  68. package/dist/types/validation.d.ts.map +0 -1
  69. package/dist/types/validation.js +0 -2
  70. package/dist/types/validation.js.map +0 -1
  71. package/dist/validation/ValidationClient.d.ts +0 -81
  72. package/dist/validation/ValidationClient.d.ts.map +0 -1
  73. package/dist/validation/ValidationClient.js +0 -266
  74. package/dist/validation/ValidationClient.js.map +0 -1
@@ -36,7 +36,7 @@ export class UluOpsClient {
36
36
  config;
37
37
  logger;
38
38
  constructor(config) {
39
- this.config = this.resolveConfig(config);
39
+ this.config = resolveConfig(config);
40
40
  this.logger = createLogger('[core]', this.config.debug);
41
41
  const logger = this.logger;
42
42
  this.registry = new RegistryClient(this.config, logger);
@@ -55,6 +55,26 @@ export class UluOpsClient {
55
55
  *
56
56
  * Use for interactive/ad-hoc validation, experimentation, and development.
57
57
  * For reproducible CI runs, use `runCommand()` instead.
58
+ *
59
+ * @param name - Agent name or `name@version` ref (e.g. `'code-validator'` or `'code-validator@1.2.0'`).
60
+ * @param targetOrInput - Absolute path to the project directory, or a full {@link ExecutionInput} object.
61
+ * @param options - Optional runtime overrides: `model`, `maxTokens`, `thresholds`, `reportMode`,
62
+ * and caller-pinned integrity hashes (`expectedHash`/`expectedPromptHash`).
63
+ * @returns The {@link AgentResult} — score, decision, category breakdown, `completeness`, and `degradationMarkers`.
64
+ * @throws {ConfigurationError} If the resolved definition is not an agent.
65
+ * @throws {IntegrityError} If integrity pins are supplied and do not match the resolved content.
66
+ * @throws {MaxStepsExhaustedError} If the tool loop exhausts its step ceiling with empty output.
67
+ * @example
68
+ * ```typescript
69
+ * const result = await client.runAgent('code-validator', './src');
70
+ * console.log(`${result.decision} · ${result.score}`);
71
+ *
72
+ * // With overrides and an integrity pin:
73
+ * await client.runAgent('security-analyst', { target: './src' }, {
74
+ * model: 'opus',
75
+ * expectedHash: 'sha256-…',
76
+ * });
77
+ * ```
58
78
  */
59
79
  async runAgent(name, targetOrInput, options) {
60
80
  const input = typeof targetOrInput === 'string'
@@ -80,6 +100,14 @@ export class UluOpsClient {
80
100
  * Uses model, thresholds, and aggregation from the command definition.
81
101
  * Pass `overrides.model` to override the definition's default model at runtime.
82
102
  * Ideal for CI/CD pipelines and team-standardized validation.
103
+ *
104
+ * @param name - Command name or `name@version` ref.
105
+ * @param input - Execution input ({@link ExecutionInput}); `target` is the absolute project path.
106
+ * @param overrides - Optional runtime overrides; `model` overrides the definition's default model.
107
+ * @returns The aggregated {@link CommandResult} with per-agent scores, decision, and recommendations.
108
+ * @throws {ConfigurationError} If the resolved definition is not a command.
109
+ * @throws {PreflightError} If a preflight check fails.
110
+ * @throws {ExecutionError} If an underlying agent execution fails.
83
111
  */
84
112
  async runCommand(name, input, overrides) {
85
113
  const resolved = await this.resolveByRef(name, 'command');
@@ -92,6 +120,15 @@ export class UluOpsClient {
92
120
  }
93
121
  /**
94
122
  * Execute a workflow with multi-phase orchestration.
123
+ *
124
+ * Phases run as a DAG with quality gates between them; a gate failure
125
+ * surfaces as a {@link WorkflowError} carrying partial phase results.
126
+ *
127
+ * @param name - Workflow name or `name@version` ref.
128
+ * @param input - Execution input ({@link ExecutionInput}); `target` is the absolute project path.
129
+ * @returns The {@link WorkflowResult} with per-phase results and aggregate metrics.
130
+ * @throws {ConfigurationError} If the resolved definition is not a workflow.
131
+ * @throws {WorkflowError} If a phase gate fails (`error.context.partialResult` holds completed phases).
95
132
  */
96
133
  async runWorkflow(name, input) {
97
134
  const resolved = await this.resolveByRef(name, 'workflow');
@@ -104,6 +141,15 @@ export class UluOpsClient {
104
141
  }
105
142
  /**
106
143
  * Execute a pipeline with multi-stage orchestration.
144
+ *
145
+ * Runs synchronously to completion. For long-running pipelines you want to
146
+ * monitor or cancel, use {@link UluOpsClient.startPipeline} instead.
147
+ *
148
+ * @param name - Pipeline name or `name@version` ref.
149
+ * @param input - Execution input ({@link ExecutionInput}); `target` is the absolute project path.
150
+ * @returns The {@link PipelineResult} with per-stage results and aggregate metrics.
151
+ * @throws {ConfigurationError} If the resolved definition is not a pipeline.
152
+ * @throws {PipelineError} If a stage fails (`error.context` holds stage name/index).
107
153
  */
108
154
  async runPipeline(name, input) {
109
155
  const resolved = await this.resolveByRef(name, 'pipeline');
@@ -121,7 +167,13 @@ export class UluOpsClient {
121
167
  * Universal execution — auto-routes based on definition type.
122
168
  *
123
169
  * Resolves the definition name and delegates to the appropriate executor.
124
- * Agents are directly executable (wrapped as ExecutionResult).
170
+ * Use when the definition type is not known at the call site; prefer the
171
+ * typed `run*` methods when it is, for a precise return type.
172
+ *
173
+ * @param name - Definition name or `name@version` ref (any of the four types).
174
+ * @param input - Execution input ({@link ExecutionInput}); `target` is the absolute project path.
175
+ * @returns An {@link AgentResult} for agents, or an {@link ExecutionResult} for command/workflow/pipeline.
176
+ * @throws {ConfigurationError} If the resolved definition has an unknown type.
125
177
  */
126
178
  async run(name, input) {
127
179
  const resolved = await this.resolveByRef(name);
@@ -152,7 +204,15 @@ export class UluOpsClient {
152
204
  }
153
205
  /**
154
206
  * Start an async pipeline execution.
155
- * Returns a PipelineHandle for monitoring and control.
207
+ *
208
+ * Returns a {@link PipelineHandle} for monitoring and control. Calling
209
+ * `handle.wait()` resolves with the final {@link PipelineResult} and tracks
210
+ * it (when tracking is enabled), mirroring {@link UluOpsClient.runPipeline}.
211
+ *
212
+ * @param name - Pipeline name or `name@version` ref.
213
+ * @param input - Execution input ({@link ExecutionInput}); `target` is the absolute project path.
214
+ * @returns A {@link PipelineHandle} exposing `wait()`, status polling, and cancellation.
215
+ * @throws {ConfigurationError} If the resolved definition is not a pipeline.
156
216
  */
157
217
  async startPipeline(name, input) {
158
218
  const resolved = await this.resolveByRef(name, 'pipeline');
@@ -231,6 +291,12 @@ export class UluOpsClient {
231
291
  * @param version - Optional explicit version (overrides any suffix in `name`)
232
292
  * @param type - Optional definition type to disambiguate when the same name exists across types
233
293
  * @returns Resolved definition metadata including type, version, hash, and interface
294
+ * @example
295
+ * ```typescript
296
+ * // When a name is registered as more than one type, pass `type` to disambiguate:
297
+ * const meta = await client.describe('socrates-explorer', undefined, 'agent');
298
+ * console.log(meta.type, meta.version, meta.hash);
299
+ * ```
234
300
  */
235
301
  async describe(name, version, type) {
236
302
  const resolved = await this.registry.resolve(name, version, type);
@@ -244,19 +310,52 @@ export class UluOpsClient {
244
310
  };
245
311
  }
246
312
  // ─── Submission Service Delegation ──────────────────────────────────────
247
- /** Query run history for a project. */
313
+ /**
314
+ * Query run history for a project. Delegates to {@link SubmissionClient.getHistory}.
315
+ *
316
+ * @param project - Target project name.
317
+ * @param options - Optional filters (`workflowType`, `limit`).
318
+ * @returns An array of {@link RunHistoryEntry} (most recent first).
319
+ * @throws {SdkApiError} For transport/auth failures from the submission service.
320
+ */
248
321
  async getHistory(project, options) {
249
322
  return this.submission.getHistory(project, options);
250
323
  }
251
- /** Get details for a specific run by ID. */
324
+ /**
325
+ * Get details for a specific run by ID. Delegates to {@link SubmissionClient.getRun}.
326
+ *
327
+ * @param runId - The run's UUID.
328
+ * @returns The {@link RunSubmissionResponse} for the run (correlation counts are zeroed).
329
+ * @throws {NotFoundError} If no run exists with that id.
330
+ * @throws {SdkApiError} For transport/auth failures from the submission service.
331
+ */
252
332
  async getRun(runId) {
253
333
  return this.submission.getRun(runId);
254
334
  }
255
- /** Preview what a submission would do without saving (dry run). */
335
+ /**
336
+ * Preview what a submission would do without saving (dry run).
337
+ * Delegates to {@link SubmissionClient.previewSubmission}.
338
+ *
339
+ * @param project - Target project name.
340
+ * @param workflowType - Workflow type (`agent`/`command`/`workflow`/`pipeline`).
341
+ * @param result - The execution result that would be submitted.
342
+ * @returns Whether the submit would create/update/regress, plus any validation errors.
343
+ * @throws {SdkApiError} For transport/auth failures from the submission service.
344
+ */
256
345
  async previewSubmission(project, workflowType, result) {
257
346
  return this.submission.previewSubmission(project, workflowType, result);
258
347
  }
259
- /** Manually submit execution results to the submission service. */
348
+ /**
349
+ * Manually submit execution results to the submission service.
350
+ * Delegates to {@link SubmissionClient.submit}.
351
+ *
352
+ * @param project - Target project name.
353
+ * @param workflowType - Workflow type (`agent`/`command`/`workflow`/`pipeline`).
354
+ * @param result - The execution result to submit.
355
+ * @returns The {@link RunSubmissionResponse} — run id/number, dashboard URL, correlation counts.
356
+ * @throws {SubmissionError} If the service rejects the submission.
357
+ * @throws {SdkApiError} For transport/auth failures from the submission service.
358
+ */
260
359
  async submitResults(project, workflowType, result) {
261
360
  return this.submission.submit({ project, workflowType, result });
262
361
  }
@@ -265,112 +364,6 @@ export class UluOpsClient {
265
364
  this.registry.clearCache();
266
365
  }
267
366
  // ─── Private Helpers ────────────────────────────────────────────────────
268
- resolveConfig(config) {
269
- const apiKey = config.apiKey ?? process.env['ULUOPS_API_KEY'] ?? process.env['ULU_API_KEY'];
270
- // API key is optional when using local definitions with tracking disabled.
271
- // Remote operations (registry resolve, submission) will fail at call
272
- // time if no key is available — but local-only usage works without one.
273
- const needsRemoteAccess = !config.localDefinitions || config.trackingEnabled !== false;
274
- if (!apiKey && needsRemoteAccess) {
275
- throw new ConfigurationError('UluOps API key is required for registry and tracking access. ' +
276
- 'Provide via config.apiKey, ULUOPS_API_KEY, or ULU_API_KEY environment variable. ' +
277
- 'Generate a key at https://app.uluops.ai. ' +
278
- 'For offline usage, set localDefinitions and trackingEnabled: false.');
279
- }
280
- if (apiKey && !apiKey.startsWith('ulr_')) {
281
- throw new ConfigurationError(`Invalid API key format: keys must begin with "ulr_". ` +
282
- `Got: "[redacted]". ` +
283
- `Generate a valid key at https://app.uluops.ai.`);
284
- }
285
- const registryUrl = config.registryUrl ?? process.env['ULUOPS_REGISTRY_URL'] ?? 'https://api.uluops.ai/api/v1/registry';
286
- const submissionUrl = config.submissionUrl ?? process.env['ULUOPS_SUBMISSION_URL'] ?? 'https://api.uluops.ai/api/v1';
287
- const dashboardUrl = config.dashboardUrl ?? process.env['ULUOPS_DASHBOARD_URL'] ?? 'https://app.uluops.ai';
288
- // Enforce HTTPS when a real API key is present to prevent credential exfiltration.
289
- // Allow HTTP for local development (no key, test_ prefix, or localhost/127.0.0.1).
290
- const isLocalUrl = (url) => {
291
- try {
292
- const u = new URL(url);
293
- return u.hostname === 'localhost' || u.hostname === '127.0.0.1';
294
- }
295
- catch {
296
- return false;
297
- }
298
- };
299
- if (apiKey && !apiKey.startsWith('test_')) {
300
- for (const [label, url] of [['registryUrl', registryUrl], ['submissionUrl', submissionUrl]]) {
301
- if (!url.startsWith('https://') && !isLocalUrl(url)) {
302
- throw new ConfigurationError(`${label} must use HTTPS when an API key is configured (got "${url}"). ` +
303
- `Use HTTPS to prevent credential exposure, or omit the API key for local-only usage.`);
304
- }
305
- }
306
- }
307
- return {
308
- apiKey,
309
- ai: this.resolveAIConfig(config.ai),
310
- registryUrl,
311
- submissionUrl,
312
- dashboardUrl,
313
- localDefinitions: config.localDefinitions ?? process.env['ULUOPS_LOCAL_DEFINITIONS'],
314
- trackingEnabled: config.trackingEnabled ?? (process.env['ULUOPS_TRACKING_ENABLED'] !== 'false'),
315
- timeout: config.timeout ?? DEFAULT_TIMEOUT_MS,
316
- defaultProject: config.defaultProject ?? process.env['ULUOPS_PROJECT'],
317
- defaultThinkingBudget: config.defaultThinkingBudget ?? 10_000,
318
- debug: config.debug ?? (process.env['ULUOPS_DEBUG'] === 'true'),
319
- contextBudget: config.contextBudget,
320
- maxRetries: config.maxRetries,
321
- maxConcurrency: config.maxConcurrency ?? this.parseMaxConcurrency(process.env['ULUOPS_MAX_CONCURRENCY']) ?? DEFAULT_MAX_CONCURRENCY,
322
- allowedTools: config.allowedTools ?? this.parseAllowedTools(process.env['ULUOPS_ALLOWED_TOOLS']),
323
- };
324
- }
325
- /**
326
- * Parse ULUOPS_MAX_CONCURRENCY env var into a positive integer, or undefined
327
- * if unset/invalid (caller falls back to DEFAULT_MAX_CONCURRENCY).
328
- */
329
- parseMaxConcurrency(envValue) {
330
- if (!envValue)
331
- return undefined;
332
- const n = Number.parseInt(envValue, 10);
333
- return Number.isFinite(n) && n > 0 ? n : undefined;
334
- }
335
- /**
336
- * Resolve AI config with env var fallbacks.
337
- *
338
- * Default: Anthropic provider with ANTHROPIC_API_KEY env var.
339
- * Env var convention: <PROVIDER>_API_KEY (e.g., ANTHROPIC_API_KEY, OPENAI_API_KEY)
340
- */
341
- parseAllowedTools(envValue) {
342
- if (!envValue)
343
- return undefined;
344
- return envValue.split(',').map(t => t.trim()).filter(Boolean);
345
- }
346
- resolveAIConfig(ai) {
347
- const providers = {};
348
- if (ai?.providers) {
349
- // Use explicitly configured providers with env var fallback
350
- for (const [name, creds] of Object.entries(ai.providers)) {
351
- const apiKey = creds.apiKey ?? resolveProviderApiKey(name);
352
- if (apiKey) {
353
- providers[name] = { apiKey };
354
- }
355
- }
356
- }
357
- else {
358
- // Auto-detect: scan env vars for known provider API keys
359
- const KNOWN_PROVIDERS = ['anthropic', 'openai', 'google', 'mistral', 'cohere'];
360
- for (const name of KNOWN_PROVIDERS) {
361
- const apiKey = resolveProviderApiKey(name);
362
- if (apiKey) {
363
- providers[name] = { apiKey };
364
- }
365
- }
366
- }
367
- return {
368
- providers,
369
- defaultProvider: ai?.defaultProvider ?? 'anthropic',
370
- modelOverride: ai?.modelOverride,
371
- additionalProviders: ai?.additionalProviders,
372
- };
373
- }
374
367
  async resolveByRef(name, type, opts) {
375
368
  const [refName, refVersion] = parseRef(name);
376
369
  if (opts) {
@@ -385,7 +378,7 @@ export class UluOpsClient {
385
378
  if (!shouldTrack)
386
379
  return;
387
380
  if (!this.config.apiKey) {
388
- this.logger.debug('Tracking skipped: no UluOps API key configured. Set trackingEnabled: false to suppress this message.');
381
+ this.logger.debug('Tracking skipped: no UluOps API key configured. Set trackingEnabled: false to disable tracking (this is a debug log; it does not appear unless debug logging is on).');
389
382
  return;
390
383
  }
391
384
  try {
@@ -409,7 +402,7 @@ export class UluOpsClient {
409
402
  const errMsg = error instanceof Error ? error.message : String(error);
410
403
  const errName = error instanceof Error ? error.constructor.name : typeof error;
411
404
  const errCode = error instanceof Error && 'code' in error ? error.code : undefined;
412
- this.logger.warn(`Tracking submission failed (non-fatal): [${errName}${errCode ? `:${errCode}` : ''}] ${errMsg}`);
405
+ this.logger.warn(`Tracking submission failed (non-fatal): [${errName}${errCode ? `:${errCode}` : ''}] ${errMsg}. Set trackingEnabled: false in config to disable result tracking.`);
413
406
  // Log SdkApiError details for diagnosis
414
407
  if (error instanceof Error) {
415
408
  const e = error;
@@ -461,19 +454,145 @@ export class UluOpsClient {
461
454
  return {};
462
455
  }
463
456
  }
457
+ /**
458
+ * Resolve a partial {@link UluOpsConfig} into a fully-defaulted {@link ResolvedConfig},
459
+ * applying config → environment-variable → built-in-default precedence.
460
+ *
461
+ * Pure: reads only its two arguments and module constants, with no `this` or
462
+ * collaborator dependency. This is the directly-testable unit for config-resolution
463
+ * behavior — assert its return value rather than introspecting what the constructor
464
+ * passes to RegistryClient/SubmissionClient/etc.
465
+ *
466
+ * @param config - Caller-supplied configuration.
467
+ * @param env - Environment source (defaults to `process.env`); pass an explicit
468
+ * object in tests to avoid mutating/restoring global env.
469
+ * @returns The fully-defaulted resolved configuration.
470
+ * @throws {ConfigurationError} If an API key is required but absent, malformed
471
+ * (missing `ulr_` prefix), or paired with a non-HTTPS URL while a real key is set.
472
+ */
473
+ export function resolveConfig(config, env = process.env) {
474
+ const apiKey = config.apiKey ?? env['ULUOPS_API_KEY'] ?? env['ULU_API_KEY'];
475
+ // API key is optional when using local definitions with tracking disabled.
476
+ // Remote operations (registry resolve, submission) will fail at call
477
+ // time if no key is available — but local-only usage works without one.
478
+ const needsRemoteAccess = !config.localDefinitions || config.trackingEnabled !== false;
479
+ if (!apiKey && needsRemoteAccess) {
480
+ throw new ConfigurationError('UluOps API key is required for registry and tracking access. ' +
481
+ 'Provide via config.apiKey, ULUOPS_API_KEY, or ULU_API_KEY environment variable. ' +
482
+ 'Generate a key at https://app.uluops.ai. ' +
483
+ 'For offline usage, set localDefinitions and trackingEnabled: false.');
484
+ }
485
+ if (apiKey && !apiKey.startsWith('ulr_')) {
486
+ throw new ConfigurationError(`Invalid API key format: keys must begin with "ulr_". ` +
487
+ `Got: "[redacted]". ` +
488
+ `Generate a valid key at https://app.uluops.ai.`);
489
+ }
490
+ const registryUrl = config.registryUrl ?? env['ULUOPS_REGISTRY_URL'] ?? 'https://api.uluops.ai/api/v1/registry';
491
+ const submissionUrl = config.submissionUrl ?? env['ULUOPS_SUBMISSION_URL'] ?? 'https://api.uluops.ai/api/v1';
492
+ const dashboardUrl = config.dashboardUrl ?? env['ULUOPS_DASHBOARD_URL'] ?? 'https://app.uluops.ai';
493
+ // Enforce HTTPS when a real API key is present to prevent credential exfiltration.
494
+ // Allow HTTP for local development (no key, test_ prefix, or localhost/127.0.0.1).
495
+ const isLocalUrl = (url) => {
496
+ try {
497
+ const u = new URL(url);
498
+ return u.hostname === 'localhost' || u.hostname === '127.0.0.1';
499
+ }
500
+ catch {
501
+ return false;
502
+ }
503
+ };
504
+ if (apiKey && !apiKey.startsWith('test_')) {
505
+ for (const [label, url] of [['registryUrl', registryUrl], ['submissionUrl', submissionUrl]]) {
506
+ if (!url.startsWith('https://') && !isLocalUrl(url)) {
507
+ throw new ConfigurationError(`${label} must use HTTPS when an API key is configured (got "${url}"). ` +
508
+ `Use HTTPS to prevent credential exposure, or omit the API key for local-only usage.`);
509
+ }
510
+ }
511
+ }
512
+ return {
513
+ apiKey,
514
+ ai: resolveAIConfig(config.ai, env),
515
+ registryUrl,
516
+ submissionUrl,
517
+ dashboardUrl,
518
+ localDefinitions: config.localDefinitions ?? env['ULUOPS_LOCAL_DEFINITIONS'],
519
+ trackingEnabled: config.trackingEnabled ?? (env['ULUOPS_TRACKING_ENABLED'] !== 'false'),
520
+ timeout: config.timeout ?? DEFAULT_TIMEOUT_MS,
521
+ defaultProject: config.defaultProject ?? env['ULUOPS_PROJECT'],
522
+ defaultThinkingBudget: config.defaultThinkingBudget ?? 10_000,
523
+ debug: config.debug ?? (env['ULUOPS_DEBUG'] === 'true'),
524
+ contextBudget: config.contextBudget,
525
+ maxRetries: config.maxRetries,
526
+ maxConcurrency: config.maxConcurrency ?? parseMaxConcurrency(env['ULUOPS_MAX_CONCURRENCY']) ?? DEFAULT_MAX_CONCURRENCY,
527
+ allowedTools: config.allowedTools ?? parseAllowedTools(env['ULUOPS_ALLOWED_TOOLS']),
528
+ };
529
+ }
530
+ /**
531
+ * Resolve AI config with env var fallbacks.
532
+ *
533
+ * Default: Anthropic provider with ANTHROPIC_API_KEY env var.
534
+ * Env var convention: <PROVIDER>_API_KEY (e.g., ANTHROPIC_API_KEY, OPENAI_API_KEY).
535
+ *
536
+ * @param ai - Caller-supplied AI config (providers, defaultProvider, modelOverride).
537
+ * @param env - Environment source (defaults to `process.env`).
538
+ */
539
+ export function resolveAIConfig(ai, env = process.env) {
540
+ const providers = {};
541
+ if (ai?.providers) {
542
+ // Use explicitly configured providers with env var fallback
543
+ for (const [name, creds] of Object.entries(ai.providers)) {
544
+ const apiKey = creds.apiKey ?? resolveProviderApiKey(name, env);
545
+ if (apiKey) {
546
+ providers[name] = { apiKey };
547
+ }
548
+ }
549
+ }
550
+ else {
551
+ // Auto-detect: scan env vars for known provider API keys
552
+ const KNOWN_PROVIDERS = ['anthropic', 'openai', 'google', 'mistral', 'cohere'];
553
+ for (const name of KNOWN_PROVIDERS) {
554
+ const apiKey = resolveProviderApiKey(name, env);
555
+ if (apiKey) {
556
+ providers[name] = { apiKey };
557
+ }
558
+ }
559
+ }
560
+ return {
561
+ providers,
562
+ defaultProvider: ai?.defaultProvider ?? 'anthropic',
563
+ modelOverride: ai?.modelOverride,
564
+ additionalProviders: ai?.additionalProviders,
565
+ };
566
+ }
567
+ /**
568
+ * Parse ULUOPS_MAX_CONCURRENCY env var into a positive integer, or undefined
569
+ * if unset/invalid (caller falls back to DEFAULT_MAX_CONCURRENCY).
570
+ */
571
+ function parseMaxConcurrency(envValue) {
572
+ if (!envValue)
573
+ return undefined;
574
+ const n = Number.parseInt(envValue, 10);
575
+ return Number.isFinite(n) && n > 0 ? n : undefined;
576
+ }
577
+ /** Parse a comma-separated ULUOPS_ALLOWED_TOOLS env var into a trimmed list. */
578
+ function parseAllowedTools(envValue) {
579
+ if (!envValue)
580
+ return undefined;
581
+ return envValue.split(',').map(t => t.trim()).filter(Boolean);
582
+ }
464
583
  /**
465
584
  * Resolve an API key for a provider from environment variables.
466
585
  * Checks `<PROVIDER>_API_KEY` first, then provider-specific fallbacks
467
586
  * (e.g., `GOOGLE_GENERATIVE_AI_API_KEY` for Google's SDK default).
468
587
  */
469
- function resolveProviderApiKey(name) {
588
+ function resolveProviderApiKey(name, env = process.env) {
470
589
  const envKey = `${name.toUpperCase()}_API_KEY`;
471
- const apiKey = process.env[envKey];
590
+ const apiKey = env[envKey];
472
591
  if (apiKey)
473
592
  return apiKey;
474
593
  // Google SDK uses GOOGLE_GENERATIVE_AI_API_KEY by default
475
594
  if (name === 'google') {
476
- return process.env['GOOGLE_GENERATIVE_AI_API_KEY'];
595
+ return env['GOOGLE_GENERATIVE_AI_API_KEY'];
477
596
  }
478
597
  return undefined;
479
598
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UluOpsClient.js","sourceRoot":"","sources":["../../src/client/UluOpsClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAA0B,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AASxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,kHAAkH;AAClH,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,YAAY;IACf,QAAQ,CAAiB;IACzB,UAAU,CAAmB;IAC7B,aAAa,CAAgB;IAC7B,eAAe,CAAkB;IACjC,gBAAgB,CAAmB;IACnC,gBAAgB,CAAmB;IACnC,MAAM,CAAiB;IACvB,MAAM,CAAkC;IAEhD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpD,yFAAyF;QACzF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAErE,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtG,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,EACb,MAAM,CACP,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,aAAsC,EACtC,OAA0B;QAE1B,MAAM,KAAK,GAAmB,OAAO,aAAa,KAAK,QAAQ;YAC7D,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE;YAC3B,CAAC,CAAC,aAAa,CAAC;QAElB,+EAA+E;QAC/E,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,IAAI,GACR,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,kBAAkB;YAClD,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE;YACxF,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAE9D,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CAAC,GAAG,IAAI,2BAA2B,QAAQ,CAAC,IAAI,8BAA8B,CAAC,CAAC;QAC9G,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,KAAqB,EAAE,SAA8B;QAClF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE1D,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,kBAAkB,CAAC,GAAG,IAAI,4BAA4B,QAAQ,CAAC,IAAI,8DAA8D,CAAC,CAAC;QAC/I,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,KAAqB;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE3D,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,kBAAkB,CAAC,GAAG,IAAI,6BAA6B,QAAQ,CAAC,IAAI,4DAA4D,CAAC,CAAC;QAC9I,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,KAAqB;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE3D,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,kBAAkB,CAAC,GAAG,IAAI,6BAA6B,QAAQ,CAAC,IAAI,kEAAkE,CAAC,CAAC;QACpJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE;YAClE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC9B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa;SACpC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,KAAqB;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,MAAqC,CAAC;QAE1C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,OAAO;gBACV,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE;oBAC5D,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAC9B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa;iBACpC,CAAC,CAAC;gBACH,MAAM;YACR,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,WAAW,GAAU,QAAQ,CAAC,IAAI,CAAC;gBACzC,MAAM,IAAI,kBAAkB,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,KAAqB;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE3D,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,kBAAkB,CAAC,GAAG,IAAI,6BAA6B,QAAQ,CAAC,IAAI,kEAAkE,CAAC,CAAC;QACpJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAElE,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,cAAuB,EAA2B,EAAE;YACvE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAClF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2EAA2E;IAE3E;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAiC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAiC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAiC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAAiC;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,OAAiC;QACxE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,2EAA2E;IAE3E;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAmD;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,OAAgB,EAChB,IAAqB;QASrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC;YACrD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;SAC1C,CAAC;IACJ,CAAC;IAED,2EAA2E;IAE3E,uCAAuC;IACvC,KAAK,CAAC,UAAU,CACd,OAAe,EACf,OAAgC;QAEhC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,iBAAiB,CACrB,OAAe,EACf,YAAoB,EACpB,MAAuB;QAEvB,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,aAAa,CACjB,OAAe,EACf,YAAoB,EACpB,MAAuB;QAEvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,kGAAkG;IAClG,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,2EAA2E;IAEnE,aAAa,CAAC,MAAoB;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE5F,2EAA2E;QAC3E,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,CAAC;QACvF,IAAI,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACjC,MAAM,IAAI,kBAAkB,CAC1B,+DAA+D;gBAC/D,kFAAkF;gBAClF,2CAA2C;gBAC3C,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,kBAAkB,CAC1B,uDAAuD;gBACvD,qBAAqB;gBACrB,gDAAgD,CACjD,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,uCAAuC,CAAC;QACxH,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,8BAA8B,CAAC;QACrH,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,uBAAuB,CAAC;QAE3G,mFAAmF;QACnF,mFAAmF;QACnF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;YACjC,IAAI,CAAC;gBAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC;YAAC,CAAC;YAChG,MAAM,CAAC;gBAAC,OAAO,KAAK,CAAC;YAAC,CAAC;QACzB,CAAC,CAAC;QACF,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,CAAU,EAAE,CAAC;gBACrG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,kBAAkB,CAC1B,GAAG,KAAK,uDAAuD,GAAG,MAAM;wBACxE,qFAAqF,CACtF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM;YACN,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,WAAW;YACX,aAAa;YACb,YAAY;YACZ,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;YACpF,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,OAAO,CAAC;YAC/F,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,kBAAkB;YAC7C,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACtE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,MAAM;YAC7D,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;YAC/D,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,IAAI,uBAAuB;YACnI,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;SACjG,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,QAAiB;QAC3C,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,QAAiB;QACzC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAEO,eAAe,CAAC,EAAa;QACnC,MAAM,SAAS,GAAuC,EAAE,CAAC;QAEzD,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;YAClB,4DAA4D;YAC5D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC3D,IAAI,MAAM,EAAE,CAAC;oBACX,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,yDAAyD;YACzD,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;YACxF,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,MAAM,EAAE,CAAC;oBACX,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,SAAS;YACT,eAAe,EAAE,EAAE,EAAE,eAAe,IAAI,WAAW;YACnD,aAAa,EAAE,EAAE,EAAE,aAAa;YAChC,mBAAmB,EAAE,EAAE,EAAE,mBAAmB;SAC7C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,IAAqB,EAAE,IAAwB;QACtF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI;YACT,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAqC,EACrC,QAA4B,EAC5B,YAAoB,EACpB,OAAsD,EACtD,MAAe;QAEf,MAAM,WAAW,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QACzE,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sGAAsG,CAAC,CAAC;YAC1H,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,gGAAgG;YAChG,sFAAsF;YACtF,gDAAgD;YAChD,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,eAAe;gBAC1E,YAAY;gBACZ,kFAAkF;gBAClF,MAAM;gBACN,kBAAkB,EAAE,QAAQ;aAC7B,CAAC,CAAC;YACH,iEAAiE;YACjE,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAE5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;YAC/E,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAE,KAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACzG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;YAClH,wCAAwC;YACxC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,KAAsF,CAAC;gBACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,cAAc,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;YACzH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oFAAoF;IAC5E,KAAK,CAAC,gBAAgB,CAC5B,QAA4B,EAC5B,MAAqC,EACrC,KAAa;QAEb,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAC/C,QAAQ,CAAC,IAAyE,EAClF,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,OAAO,EAChB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAC9B,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2CAA2C,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAChH,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;oBAAE,SAAS;gBAC5D,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAC/C,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAClC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAC9B,CAAC;gBACJ,CAAC;gBAAC,OAAO,cAAc,EAAE,CAAC;oBACxB,iEAAiE;oBACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,KAAK,CAAC,IAAI,KAAK,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CACtI,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,UAAmB;QAC1C,MAAM,GAAG,GAAG,UAAqC,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAI,OAAmC,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,OAAO,KAAgC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,0DAA0D;IAC1D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"UluOpsClient.js","sourceRoot":"","sources":["../../src/client/UluOpsClient.ts"],"names":[],"mappings":"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"}
@@ -54,12 +54,12 @@ export declare const ANTHROPIC_CONTEXT_KEEP_TOOL_USES = 5;
54
54
  export declare const ANTHROPIC_BASH_TOOL_VERSION = "bash_20250124";
55
55
  /** Anthropic context management edit type. Update when Anthropic ships a new version. */
56
56
  export declare const ANTHROPIC_CONTEXT_MANAGEMENT_TYPE = "clear_tool_uses_20250919";
57
+ /** Default model alias when no model is specified in options or agent definition. */
58
+ export declare const DEFAULT_MODEL_ALIAS = "sonnet";
57
59
  /**
58
60
  * Default allowlist of valid provider names for dynamic import.
59
61
  * Prevents path traversal via crafted provider strings (CWE-829).
60
62
  * Users can extend this via config.ai.additionalProviders.
61
63
  */
62
- /** Default model alias when no model is specified in options or agent definition. */
63
- export declare const DEFAULT_MODEL_ALIAS = "sonnet";
64
64
  export declare const DEFAULT_DYNAMIC_PROVIDERS: readonly ["anthropic", "openai", "google", "mistral", "cohere", "groq", "xai", "deepseek"];
65
65
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAA+C,CAAC;AAapF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;;0DAK0D;AAC1D,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;;qCAOqC;AACrC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;oEAGoE;AACpE,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;;yDAGyD;AACzD,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;yEAIyE;AACzE,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAOlD,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAE3D,yFAAyF;AACzF,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAI5E;;;;GAIG;AACH,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,yBAAyB,4FAE5B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAA+C,CAAC;AAapF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;;0DAK0D;AAC1D,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;;qCAOqC;AACrC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;oEAGoE;AACpE,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;;yDAGyD;AACzD,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;yEAIyE;AACzE,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAOlD,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAE3D,yFAAyF;AACzF,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAI5E,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,4FAE5B,CAAC"}
package/dist/constants.js CHANGED
@@ -72,13 +72,13 @@ export const ANTHROPIC_BASH_TOOL_VERSION = 'bash_20250124';
72
72
  /** Anthropic context management edit type. Update when Anthropic ships a new version. */
73
73
  export const ANTHROPIC_CONTEXT_MANAGEMENT_TYPE = 'clear_tool_uses_20250919';
74
74
  // ─── Provider Defaults ─────────────────────────────────────────────────────
75
+ /** Default model alias when no model is specified in options or agent definition. */
76
+ export const DEFAULT_MODEL_ALIAS = 'sonnet';
75
77
  /**
76
78
  * Default allowlist of valid provider names for dynamic import.
77
79
  * Prevents path traversal via crafted provider strings (CWE-829).
78
80
  * Users can extend this via config.ai.additionalProviders.
79
81
  */
80
- /** Default model alias when no model is specified in options or agent definition. */
81
- export const DEFAULT_MODEL_ALIAS = 'sonnet';
82
82
  export const DEFAULT_DYNAMIC_PROVIDERS = [
83
83
  'anthropic', 'openai', 'google', 'mistral', 'cohere', 'groq', 'xai', 'deepseek',
84
84
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AAEpF,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,qFAAqF;AACrF,8EAA8E;AAC9E,4EAA4E;AAC5E,yBAAyB;AAEzB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,gEAAgE;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;;;;0DAK0D;AAC1D,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC;;;;;;;qCAOqC;AACrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;;oEAGoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAExC;;;yDAGyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAE9C;;;;yEAIyE;AACzE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAElD,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AAEvE,uFAAuF;AACvF,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAE3D,yFAAyF;AACzF,MAAM,CAAC,MAAM,iCAAiC,GAAG,0BAA0B,CAAC;AAE5E,8EAA8E;AAE9E;;;;GAIG;AACH,qFAAqF;AACrF,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;CACvE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AAEpF,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,qFAAqF;AACrF,8EAA8E;AAC9E,4EAA4E;AAC5E,yBAAyB;AAEzB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,gEAAgE;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;;;;0DAK0D;AAC1D,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC;;;;;;;qCAOqC;AACrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC;;;oEAGoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAExC;;;yDAGyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAE9C;;;;yEAIyE;AACzE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAElD,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AAEvE,uFAAuF;AACvF,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAE3D,yFAAyF;AACzF,MAAM,CAAC,MAAM,iCAAiC,GAAG,0BAA0B,CAAC;AAE5E,8EAA8E;AAE9E,qFAAqF;AACrF,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;CACvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentExecutor.d.ts","sourceRoot":"","sources":["../../src/executor/AgentExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAC;AAWxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAiC,MAAM,sBAAsB,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAA8D,MAAM,uBAAuB,CAAC;AAC1I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAkB/C;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,eAAe,CAAyB;gBAGtC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM;IAGxB;;;;;;;;;;;;;;;OAeG;IACG,OAAO,CACX,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC;IAqHvB;;OAEG;YACW,UAAU;IAsBxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAYnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAkDnB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;YACW,mBAAmB;IAsCjC,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,qBAAqB;YAWf,oBAAoB;IA4BlC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;IAUxB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,wBAAwB;CAOjC"}
1
+ {"version":3,"file":"AgentExecutor.d.ts","sourceRoot":"","sources":["../../src/executor/AgentExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAC;AAWxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAiC,MAAM,sBAAsB,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAA8D,MAAM,uBAAuB,CAAC;AAC1I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAqB/C;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,eAAe,CAAyB;gBAGtC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM;IAGxB;;;;;;;;;;;;;;;OAeG;IACG,OAAO,CACX,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC;IAqHvB;;OAEG;YACW,UAAU;IAsBxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAYnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAkDnB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;YACW,mBAAmB;IAsCjC,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,qBAAqB;YAWf,oBAAoB;IA4BlC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;IAUxB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,wBAAwB;CAOjC"}
@@ -20,7 +20,10 @@ import { DEFAULT_PASS_THRESHOLD, DEFAULT_WARN_THRESHOLD, DEFAULT_MAX_STEPS, DEFA
20
20
  * Note: AnalysisSummaryExtractor.parseAnalysisBlock regexes a ```json fence
21
21
  * out of rawOutput. Lifting this ceiling improves — never degrades — its
22
22
  * ability to find the fence, because previous truncation at 32K frequently
23
- * clipped the closing ```.
23
+ * clipped the closing ```. The extractor no longer depends on this cap for
24
+ * correctness: if truncation clips the fence it falls back to the untruncated
25
+ * rawJson.analysis (captured by OutputExtractor from full output). The cap now
26
+ * bounds only the stored/displayed rawOutput string. (tracker d03bdb43)
24
27
  */
25
28
  const MAX_RAW_OUTPUT_BYTES = 512 * 1024;
26
29
  /**