@wrongstack/core 0.6.7 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/{agent-bridge-BCVxmrOn.d.ts → agent-bridge-CrQpYjM7.d.ts} +1 -1
  2. package/dist/{compactor-BUJ8550X.d.ts → compactor-CWV1u-IU.d.ts} +1 -1
  3. package/dist/{config-BHkYGzUT.d.ts → config-C34JRwl4.d.ts} +1 -1
  4. package/dist/{context-C8mBUzBv.d.ts → context-bmR0YgBm.d.ts} +71 -3
  5. package/dist/coordination/index.d.ts +11 -11
  6. package/dist/coordination/index.js +53 -9
  7. package/dist/coordination/index.js.map +1 -1
  8. package/dist/default-config-DvRSTELf.d.ts +20 -0
  9. package/dist/defaults/index.d.ts +20 -19
  10. package/dist/defaults/index.js +130 -32
  11. package/dist/defaults/index.js.map +1 -1
  12. package/dist/{events-DounT6pP.d.ts → events-CEKFTmIY.d.ts} +1 -1
  13. package/dist/execution/index.d.ts +19 -13
  14. package/dist/execution/index.js +94 -22
  15. package/dist/execution/index.js.map +1 -1
  16. package/dist/extension/index.d.ts +6 -6
  17. package/dist/extension/index.js +3 -1
  18. package/dist/extension/index.js.map +1 -1
  19. package/dist/{index-DiIGZh5I.d.ts → index-BJIFLGII.d.ts} +5 -5
  20. package/dist/{index-BlVITqm-.d.ts → index-CZR0HjxM.d.ts} +12 -105
  21. package/dist/index.d.ts +27 -26
  22. package/dist/index.js +184 -53
  23. package/dist/index.js.map +1 -1
  24. package/dist/infrastructure/index.d.ts +6 -6
  25. package/dist/kernel/index.d.ts +9 -9
  26. package/dist/kernel/index.js +8 -4
  27. package/dist/kernel/index.js.map +1 -1
  28. package/dist/{mcp-servers-CXFfDN_d.d.ts → mcp-servers-BRJicm5o.d.ts} +3 -3
  29. package/dist/models/index.d.ts +2 -2
  30. package/dist/{multi-agent-Iy8YUe3v.d.ts → multi-agent-Cm1wYSrw.d.ts} +7 -2
  31. package/dist/{agent-subagent-runner-BTloSwjE.d.ts → multi-agent-coordinator-CCupVFqv.d.ts} +117 -4
  32. package/dist/observability/index.d.ts +2 -2
  33. package/dist/{path-resolver-DwJO5XBn.d.ts → path-resolver-CfT7e_HT.d.ts} +2 -2
  34. package/dist/{plan-templates-CG_pInJV.d.ts → plan-templates-Q78an-GJ.d.ts} +4 -4
  35. package/dist/{provider-runner-DoohzfyD.d.ts → provider-runner-WDj28o7J.d.ts} +3 -3
  36. package/dist/{retry-policy-DOnwHAyz.d.ts → retry-policy-Dpxp4SET.d.ts} +1 -1
  37. package/dist/sdd/index.d.ts +3 -3
  38. package/dist/{secret-scrubber-C9UJxFCJ.d.ts → secret-scrubber-C2YCYtkn.d.ts} +1 -1
  39. package/dist/{secret-scrubber-DcTK9JHC.d.ts → secret-scrubber-CowtdEF8.d.ts} +1 -1
  40. package/dist/security/index.d.ts +3 -3
  41. package/dist/{selector-DVo3eT-P.d.ts → selector-CP39HhCe.d.ts} +1 -1
  42. package/dist/{session-reader-BXWxFAhS.d.ts → session-reader-Dwjn4WZR.d.ts} +1 -1
  43. package/dist/storage/index.d.ts +5 -5
  44. package/dist/storage/index.js +93 -10
  45. package/dist/storage/index.js.map +1 -1
  46. package/dist/{system-prompt-BBGles-N.d.ts → system-prompt-CfgXqyv2.d.ts} +1 -1
  47. package/dist/{tool-executor-CwpjhwHC.d.ts → tool-executor-D5NFi_LV.d.ts} +5 -5
  48. package/dist/types/index.d.ts +16 -15
  49. package/dist/types/index.js +101 -20
  50. package/dist/types/index.js.map +1 -1
  51. package/dist/utils/index.d.ts +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Shared configuration constants used across execution, storage, CLI, and WebUI.
3
+ * Centralized here to avoid cross-domain import cycles.
4
+ */
5
+ /** Default tools config — mirrors values baked into BEHAVIOR_DEFAULTS. */
6
+ declare const DEFAULT_TOOLS_CONFIG: Readonly<{
7
+ defaultExecutionStrategy: "smart";
8
+ maxIterations: 100;
9
+ iterationTimeoutMs: 300000;
10
+ sessionTimeoutMs: 1800000;
11
+ perIterationOutputCapBytes: 100000;
12
+ autoExtendLimit: true;
13
+ }>;
14
+ /** Default context config — mirrors BEHAVIOR_DEFAULTS.context. */
15
+ declare const DEFAULT_CONTEXT_CONFIG: Readonly<{
16
+ preserveK: 10;
17
+ eliseThreshold: 2000;
18
+ }>;
19
+
20
+ export { DEFAULT_CONTEXT_CONFIG as D, DEFAULT_TOOLS_CONFIG as a };
@@ -1,37 +1,38 @@
1
1
  export { D as DefaultLogger, a as DefaultLoggerOptions } from '../logger-BH6AE0W9.js';
2
- export { A as AbandonedSession, a as AttachmentStoreOptions, C as ConfigLoaderOptions, b as ConfigMigration, c as ConfigMigrationError, d as ConfigSource, D as DEFAULT_CONFIG_MIGRATIONS, e as DefaultAttachmentStore, f as DefaultConfigLoader, g as DefaultConfigStore, h as DefaultMemoryStore, i as DefaultSessionStore, M as MemoryStoreOptions, j as MigrationContext, k as MigrationResult, P as PersistedQueueItem, l as PlanFile, m as PlanItem, n as PlanTemplate, Q as QueueStore, R as RecoveryLock, o as RecoveryLockOptions, S as SessionAnalyzer, p as SessionStoreOptions, T as TodosCheckpointFile, q as addPlanItem, r as attachPlanCheckpoint, s as attachTodosCheckpoint, t as clearPlan, u as deriveTodosFromPlanItem, v as emptyPlan, w as formatPlan, x as formatPlanTemplates, y as getPlanTemplate, z as listPlanTemplates, B as loadPlan, E as loadTodosCheckpoint, F as removePlanItem, G as runConfigMigrations, H as savePlan, I as saveTodosCheckpoint, J as setPlanItemStatus } from '../plan-templates-CG_pInJV.js';
3
- export { D as DefaultSessionReader } from '../session-reader-BXWxFAhS.js';
2
+ export { A as AbandonedSession, a as AttachmentStoreOptions, C as ConfigLoaderOptions, b as ConfigMigration, c as ConfigMigrationError, d as ConfigSource, D as DEFAULT_CONFIG_MIGRATIONS, e as DefaultAttachmentStore, f as DefaultConfigLoader, g as DefaultConfigStore, h as DefaultMemoryStore, i as DefaultSessionStore, M as MemoryStoreOptions, j as MigrationContext, k as MigrationResult, P as PersistedQueueItem, l as PlanFile, m as PlanItem, n as PlanTemplate, Q as QueueStore, R as RecoveryLock, o as RecoveryLockOptions, S as SessionAnalyzer, p as SessionStoreOptions, T as TodosCheckpointFile, q as addPlanItem, r as attachPlanCheckpoint, s as attachTodosCheckpoint, t as clearPlan, u as deriveTodosFromPlanItem, v as emptyPlan, w as formatPlan, x as formatPlanTemplates, y as getPlanTemplate, z as listPlanTemplates, B as loadPlan, E as loadTodosCheckpoint, F as removePlanItem, G as runConfigMigrations, H as savePlan, I as saveTodosCheckpoint, J as setPlanItemStatus } from '../plan-templates-Q78an-GJ.js';
3
+ export { D as DefaultSessionReader } from '../session-reader-Dwjn4WZR.js';
4
4
  export { D as DirectorStateCheckpoint, a as DirectorStateSnapshot, b as DirectorSubagentState, c as DirectorTaskState, l as loadDirectorState } from '../director-state-BmYi3DGA.js';
5
- export { D as DefaultSecretScrubber, a as DefaultSecretVault, S as SecretVaultOptions, d as decryptConfigSecrets, e as encryptConfigSecrets, m as migratePlaintextSecrets, r as rewriteConfigEncrypted } from '../secret-scrubber-DcTK9JHC.js';
5
+ export { D as DefaultSecretScrubber, a as DefaultSecretVault, S as SecretVaultOptions, d as decryptConfigSecrets, e as encryptConfigSecrets, m as migratePlaintextSecrets, r as rewriteConfigEncrypted } from '../secret-scrubber-CowtdEF8.js';
6
6
  export { AutoApprovePermissionPolicy, DefaultPermissionPolicy, PermissionPolicyOptions } from '../security/index.js';
7
- export { C as CompactorOptions, a as DefaultErrorHandler, b as DefaultRetryPolicy, H as HybridCompactor, T as ToolExecutor } from '../tool-executor-CwpjhwHC.js';
7
+ export { C as CompactorOptions, a as DefaultErrorHandler, b as DefaultRetryPolicy, H as HybridCompactor, T as ToolExecutor } from '../tool-executor-D5NFi_LV.js';
8
8
  export { AutoCompactionMiddleware, AutonomousRunner, AutonomousRunnerOptions, AutonomyPromptContributorOptions, DefaultSkillLoader, DoneCheckResult, DoneConditionChecker, EternalAutonomyEngine, EternalAutonomyOptions, EternalEngineState, IntelligentCompactor, IntelligentCompactorOptions, ParallelEngineState, ParallelEternalEngine, ParallelEternalOptions, SelectiveCompactor, SelectiveCompactorOptions, SkillLoaderOptions, buildGoalPreamble, makeAutonomyPromptContributor } from '../execution/index.js';
9
- import { P as ProviderRunner, R as RunProviderOptions } from '../provider-runner-DoohzfyD.js';
10
- import { j as Response } from '../context-C8mBUzBv.js';
11
- export { A as ALL_FLEET_AGENTS, a as AUDIT_LOG_AGENT, B as BUG_HUNTER_AGENT, C as CreateDelegateToolOptions, D as DEFAULT_DIRECTOR_PREAMBLE, b as DEFAULT_SUBAGENT_BASELINE, c as DefaultMultiAgentCoordinator, d as DelegateHost, e as Director, f as DirectorPromptParts, g as DirectorSessionFactory, h as DirectorSessionFactoryOptions, F as FLEET_ROSTER, i as FLEET_ROSTER_BUDGETS, l as FleetSpawnBudgetError, I as ICoordinator, m as IFleetManager, M as MultiAgentCoordinatorOptions, N as NULL_FLEET_BUS, R as REFACTOR_PLANNER_AGENT, S as SECURITY_SCANNER_AGENT, n as SubagentPromptParts, o as applyRosterBudget, p as composeDirectorPrompt, q as composeSubagentPrompt, r as createDelegateTool, s as makeDirectorSessionFactory, t as rosterSummaryFromConfigs } from '../index-BlVITqm-.js';
12
- export { n as BudgetExceededError, o as BudgetKind, p as BudgetLimits, q as BudgetUsage, r as SubagentBudget } from '../multi-agent-Iy8YUe3v.js';
13
- export { A as AgentFactory, a as AgentFactoryResult, b as AgentRunnerOptions, F as FleetBus, c as FleetEvent, d as FleetHandler, e as FleetUsage, f as FleetUsageAggregator, S as SubagentUsageSnapshot, m as makeAgentSubagentRunner } from '../agent-subagent-runner-BTloSwjE.js';
14
- export { I as InMemoryAgentBridge, a as InMemoryBridgeTransport, c as createMessage } from '../agent-bridge-BCVxmrOn.js';
9
+ import { P as ProviderRunner, R as RunProviderOptions } from '../provider-runner-WDj28o7J.js';
10
+ import { l as Response } from '../context-bmR0YgBm.js';
11
+ export { A as ALL_FLEET_AGENTS, a as AUDIT_LOG_AGENT, B as BUG_HUNTER_AGENT, C as CreateDelegateToolOptions, D as DEFAULT_DIRECTOR_PREAMBLE, b as DEFAULT_SUBAGENT_BASELINE, c as DelegateHost, d as Director, e as DirectorPromptParts, f as DirectorSessionFactory, g as DirectorSessionFactoryOptions, F as FLEET_ROSTER, h as FLEET_ROSTER_BUDGETS, k as FleetSpawnBudgetError, I as ICoordinator, l as IFleetManager, N as NULL_FLEET_BUS, R as REFACTOR_PLANNER_AGENT, S as SECURITY_SCANNER_AGENT, m as SubagentPromptParts, n as applyRosterBudget, o as composeDirectorPrompt, p as composeSubagentPrompt, q as createDelegateTool, r as makeDirectorSessionFactory, s as rosterSummaryFromConfigs } from '../index-CZR0HjxM.js';
12
+ export { A as AgentFactory, a as AgentFactoryResult, b as AgentRunnerOptions, D as DefaultMultiAgentCoordinator, F as FleetBus, c as FleetEvent, d as FleetHandler, e as FleetUsage, f as FleetUsageAggregator, M as MultiAgentCoordinatorOptions, S as SubagentUsageSnapshot, m as makeAgentSubagentRunner } from '../multi-agent-coordinator-CCupVFqv.js';
13
+ export { n as BudgetExceededError, o as BudgetKind, p as BudgetLimits, q as BudgetUsage, r as SubagentBudget } from '../multi-agent-Cm1wYSrw.js';
14
+ export { I as InMemoryAgentBridge, a as InMemoryBridgeTransport, c as createMessage } from '../agent-bridge-CrQpYjM7.js';
15
15
  export { D as DefaultModelsRegistry, a as DefaultModelsRegistryOptions, c as classifyFamily } from '../models-registry-DqzwpBQy.js';
16
16
  export { DefaultModeStore, LLMSelector, LLMSelectorOptions, ModeLoaderOptions, loadProjectModes, loadUserModes } from '../models/index.js';
17
17
  export { AISpecBuilder, AISpecBuilderOptions, AISpecPhase, AISpecSession, AutoExecutor, AutoExecutorOptions, BottleneckTask, CollectedAnswer, CriticalPathAnalysis, DefaultTaskStore, ExecutionSummary, GeneratedTask, SPEC_TEMPLATES, SpecDiff, SpecDrivenDev, SpecDrivenDevOptions, SpecIndexEntry, SpecParser, SpecStore, SpecStoreOptions, SpecVersion, SpecVersioning, TaskExecutionContext, TaskExecutionResult, TaskFlow, TaskFlowEventMap, TaskFlowEventName, TaskFlowExecutionContext, TaskFlowOptions, TaskFlowPhase, TaskGenerator, TaskGeneratorOptions, TaskGraphIndexEntry, TaskGraphStore, TaskGraphStoreOptions, TaskStore, TaskTracker, TaskTrackerOptions, TaskTransition, analyzeCriticalPath, createAutoExecutor, getTemplate, listTemplates, renderProgress, renderSpecAnalysis, renderTaskGraph, renderTaskList, templateToMarkdown } from '../sdd/index.js';
18
18
  export { DefaultHealthRegistry, InMemoryMetricsSink, MetricsServerHandle, MetricsServerOptions, NoopMetricsSink, NoopTracer, OTelTracer, OtlpMetricsExporterHandle, OtlpMetricsExporterOptions, OtlpTraceExporterHandle, OtlpTraceExporterOptions, PROMETHEUS_CONTENT_TYPE, buildOtlpMetricsRequest, buildOtlpTracesRequest, renderPrometheus, startMetricsServer, startOtlpMetricsExporter, startOtlpTraceExporter, wireMetricsToEvents } from '../observability/index.js';
19
- export { C as ContextManagerAction, a as ContextManagerInput, b as ContextManagerResult, c as ContextManagerToolOptions, d as allServers, e as awsServer, f as blockServer, g as braveSearchServer, h as context7Server, i as contextManagerTool, j as createContextManagerTool, k as everArtServer, l as filesystemServer, m as githubServer, n as googleMapsServer, o as miniMaxVisionServer, s as sentinelServer, p as slackServer, z as zaiVisionServer } from '../mcp-servers-CXFfDN_d.js';
19
+ export { C as ContextManagerAction, a as ContextManagerInput, b as ContextManagerResult, c as ContextManagerToolOptions, d as allServers, e as awsServer, f as blockServer, g as braveSearchServer, h as context7Server, i as contextManagerTool, j as createContextManagerTool, k as everArtServer, l as filesystemServer, m as githubServer, n as googleMapsServer, o as miniMaxVisionServer, s as sentinelServer, p as slackServer, z as zaiVisionServer } from '../mcp-servers-BRJicm5o.js';
20
+ export { D as DEFAULT_CONTEXT_CONFIG, a as DEFAULT_TOOLS_CONFIG } from '../default-config-DvRSTELf.js';
20
21
  import '../logger-BMQgxvdy.js';
21
- import '../events-DounT6pP.js';
22
+ import '../events-CEKFTmIY.js';
22
23
  import '../memory-CEXuo7sz.js';
23
24
  import '../wstack-paths-86YPFktR.js';
24
- import '../config-BHkYGzUT.js';
25
+ import '../config-C34JRwl4.js';
25
26
  import '../models-registry-Y2xbog0E.js';
26
27
  import '../secret-vault-DoISxaKO.js';
27
- import '../secret-scrubber-C9UJxFCJ.js';
28
+ import '../secret-scrubber-C2YCYtkn.js';
28
29
  import '../input-reader-E-ffP2ee.js';
29
- import '../compactor-BUJ8550X.js';
30
- import '../retry-policy-DOnwHAyz.js';
31
- import '../index-DiIGZh5I.js';
32
- import '../system-prompt-BBGles-N.js';
30
+ import '../compactor-CWV1u-IU.js';
31
+ import '../retry-policy-Dpxp4SET.js';
32
+ import '../index-BJIFLGII.js';
33
+ import '../system-prompt-CfgXqyv2.js';
33
34
  import '../observability-BhnVLBLS.js';
34
- import '../selector-DVo3eT-P.js';
35
+ import '../selector-CP39HhCe.js';
35
36
  import '../goal-store-HHgaq5ue.js';
36
37
  import '../skill-CxuWrsKK.js';
37
38
  import 'node:events';
@@ -348,8 +348,16 @@ var DefaultSessionStore = class {
348
348
  }
349
349
  }
350
350
  async resume(id) {
351
- const data = await this.load(id);
352
351
  const file = path3.join(this.dir, `${id}.jsonl`);
352
+ try {
353
+ await fsp.access(file, fsp.constants.R_OK);
354
+ } catch {
355
+ throw new Error(
356
+ `Session "${id}" not found \u2014 the session file does not exist or was deleted.`,
357
+ { cause: new Error("ENOENT") }
358
+ );
359
+ }
360
+ const data = await this.load(id);
353
361
  let handle;
354
362
  try {
355
363
  handle = await fsp.open(file, "a", 384);
@@ -1303,6 +1311,20 @@ function safeParse(input, maxBytes = 5e6) {
1303
1311
  }
1304
1312
  }
1305
1313
 
1314
+ // src/types/default-config.ts
1315
+ var DEFAULT_TOOLS_CONFIG = Object.freeze({
1316
+ defaultExecutionStrategy: "smart",
1317
+ maxIterations: 100,
1318
+ iterationTimeoutMs: 3e5,
1319
+ sessionTimeoutMs: 18e5,
1320
+ perIterationOutputCapBytes: 1e5,
1321
+ autoExtendLimit: true
1322
+ });
1323
+ var DEFAULT_CONTEXT_CONFIG = Object.freeze({
1324
+ preserveK: 10,
1325
+ eliseThreshold: 2e3
1326
+ });
1327
+
1306
1328
  // src/storage/config-loader.ts
1307
1329
  var BEHAVIOR_DEFAULTS = {
1308
1330
  version: 1,
@@ -1312,16 +1334,16 @@ var BEHAVIOR_DEFAULTS = {
1312
1334
  softThreshold: 0.75,
1313
1335
  hardThreshold: 0.9,
1314
1336
  autoCompact: true,
1315
- preserveK: 10,
1316
- eliseThreshold: 2e3
1337
+ preserveK: DEFAULT_CONTEXT_CONFIG.preserveK,
1338
+ eliseThreshold: DEFAULT_CONTEXT_CONFIG.eliseThreshold
1317
1339
  },
1318
1340
  tools: {
1319
- defaultExecutionStrategy: "smart",
1320
- maxIterations: 100,
1321
- iterationTimeoutMs: 3e5,
1322
- sessionTimeoutMs: 18e5,
1323
- perIterationOutputCapBytes: 1e5,
1324
- autoExtendLimit: true
1341
+ defaultExecutionStrategy: DEFAULT_TOOLS_CONFIG.defaultExecutionStrategy,
1342
+ maxIterations: DEFAULT_TOOLS_CONFIG.maxIterations,
1343
+ iterationTimeoutMs: DEFAULT_TOOLS_CONFIG.iterationTimeoutMs,
1344
+ sessionTimeoutMs: DEFAULT_TOOLS_CONFIG.sessionTimeoutMs,
1345
+ perIterationOutputCapBytes: DEFAULT_TOOLS_CONFIG.perIterationOutputCapBytes,
1346
+ autoExtendLimit: DEFAULT_TOOLS_CONFIG.autoExtendLimit
1325
1347
  },
1326
1348
  log: { level: "info" },
1327
1349
  features: {
@@ -3192,6 +3214,22 @@ var AutoApprovePermissionPolicy = class {
3192
3214
  };
3193
3215
 
3194
3216
  // src/types/errors.ts
3217
+ var ERROR_CODES = {
3218
+ // Provider
3219
+ PROVIDER_RATE_LIMITED: "PROVIDER_RATE_LIMITED",
3220
+ PROVIDER_AUTH_FAILED: "PROVIDER_AUTH_FAILED",
3221
+ PROVIDER_OVERLOADED: "PROVIDER_OVERLOADED",
3222
+ PROVIDER_INVALID_REQUEST: "PROVIDER_INVALID_REQUEST",
3223
+ PROVIDER_SERVER_ERROR: "PROVIDER_SERVER_ERROR",
3224
+ PROVIDER_NETWORK_ERROR: "PROVIDER_NETWORK_ERROR",
3225
+ // Agent
3226
+ AGENT_ITERATION_LIMIT: "AGENT_ITERATION_LIMIT",
3227
+ AGENT_CONTEXT_OVERFLOW: "AGENT_CONTEXT_OVERFLOW",
3228
+ AGENT_ABORTED: "AGENT_ABORTED",
3229
+ AGENT_RUN_FAILED: "AGENT_RUN_FAILED",
3230
+ // File system
3231
+ FS_READ_FAILED: "FS_READ_FAILED",
3232
+ FS_ATOMIC_WRITE_FAILED: "FS_ATOMIC_WRITE_FAILED"};
3195
3233
  var WrongStackError = class extends Error {
3196
3234
  code;
3197
3235
  subsystem;
@@ -3226,23 +3264,39 @@ var AgentError = class extends WrongStackError {
3226
3264
  message: opts.message,
3227
3265
  code: opts.code,
3228
3266
  subsystem: "agent",
3229
- severity: opts.code === "AGENT_ABORTED" ? "warning" : "error",
3230
- recoverable: opts.recoverable ?? opts.code === "AGENT_ITERATION_LIMIT",
3267
+ severity: opts.code === ERROR_CODES.AGENT_ABORTED ? "warning" : "error",
3268
+ recoverable: opts.recoverable ?? opts.code === ERROR_CODES.AGENT_ITERATION_LIMIT,
3231
3269
  context: opts.context,
3232
3270
  cause: opts.cause
3233
3271
  });
3234
3272
  this.name = "AgentError";
3235
3273
  }
3236
3274
  };
3237
- function toWrongStackError(err, code = "AGENT_RUN_FAILED") {
3275
+ function toWrongStackError(err, code = ERROR_CODES.AGENT_RUN_FAILED) {
3238
3276
  if (err instanceof WrongStackError) return err;
3239
3277
  const message = err instanceof Error ? err.message : String(err);
3240
3278
  return new AgentError({
3241
3279
  message,
3242
- code: code === "UNKNOWN" ? "AGENT_RUN_FAILED" : code,
3280
+ code: code === "UNKNOWN" ? ERROR_CODES.AGENT_RUN_FAILED : code,
3243
3281
  cause: err
3244
3282
  });
3245
3283
  }
3284
+ var FsError = class extends WrongStackError {
3285
+ path;
3286
+ constructor(opts) {
3287
+ super({
3288
+ message: opts.message,
3289
+ code: opts.code,
3290
+ subsystem: "fs",
3291
+ severity: "error",
3292
+ recoverable: opts.code !== ERROR_CODES.FS_READ_FAILED,
3293
+ context: { path: opts.path, ...opts.context },
3294
+ cause: opts.cause
3295
+ });
3296
+ this.name = "FsError";
3297
+ this.path = opts.path;
3298
+ }
3299
+ };
3246
3300
 
3247
3301
  // src/types/provider.ts
3248
3302
  var ProviderError = class extends WrongStackError {
@@ -3306,26 +3360,28 @@ function truncate(s, n) {
3306
3360
  return s.length <= n ? s : `${s.slice(0, n - 1)}\u2026`;
3307
3361
  }
3308
3362
  function providerStatusToCode(status, type) {
3309
- if (status === 0) return "PROVIDER_NETWORK_ERROR";
3310
- if (type === "rate_limit_error" || status === 429) return "PROVIDER_RATE_LIMITED";
3311
- if (type === "authentication_error" || status === 401) return "PROVIDER_AUTH_FAILED";
3312
- if (type === "overloaded_error" || status === 529) return "PROVIDER_OVERLOADED";
3313
- if (type === "invalid_request_error" || status === 400) return "PROVIDER_INVALID_REQUEST";
3314
- if (status === 408) return "PROVIDER_NETWORK_ERROR";
3315
- if (status >= 500) return "PROVIDER_SERVER_ERROR";
3316
- return "PROVIDER_INVALID_REQUEST";
3363
+ if (status === 0) return ERROR_CODES.PROVIDER_NETWORK_ERROR;
3364
+ if (type === "rate_limit_error" || status === 429) return ERROR_CODES.PROVIDER_RATE_LIMITED;
3365
+ if (type === "authentication_error" || status === 401) return ERROR_CODES.PROVIDER_AUTH_FAILED;
3366
+ if (type === "overloaded_error" || status === 529) return ERROR_CODES.PROVIDER_OVERLOADED;
3367
+ if (type === "invalid_request_error" || status === 400) return ERROR_CODES.PROVIDER_INVALID_REQUEST;
3368
+ if (status === 408) return ERROR_CODES.PROVIDER_NETWORK_ERROR;
3369
+ if (status >= 500) return ERROR_CODES.PROVIDER_SERVER_ERROR;
3370
+ return ERROR_CODES.PROVIDER_INVALID_REQUEST;
3317
3371
  }
3318
3372
 
3373
+ // src/execution/regex-patterns.ts
3374
+ var NETWORK_ERR_RE = /ECONN|ETIMEDOUT|ETIME|ENOTFOUND|EAI_AGAIN|fetch failed/i;
3375
+
3319
3376
  // src/execution/retry-policy.ts
3320
- var DefaultRetryPolicy = class _DefaultRetryPolicy {
3321
- static NETWORK_ERR_RE = /ECONN|ETIMEDOUT|ETIME|ENOTFOUND|EAI_AGAIN|fetch failed/i;
3377
+ var DefaultRetryPolicy = class {
3322
3378
  shouldRetry(err, attempt) {
3323
3379
  if (err instanceof ProviderError) {
3324
3380
  if (!err.retryable) return false;
3325
3381
  return attempt < this.maxAttempts(err);
3326
3382
  }
3327
3383
  const msg = err.message ?? "";
3328
- const isNetwork = _DefaultRetryPolicy.NETWORK_ERR_RE.test(msg);
3384
+ const isNetwork = NETWORK_ERR_RE.test(msg);
3329
3385
  if (isNetwork) return attempt < 2;
3330
3386
  return false;
3331
3387
  }
@@ -3348,7 +3404,6 @@ var DefaultRetryPolicy = class _DefaultRetryPolicy {
3348
3404
 
3349
3405
  // src/execution/error-handler.ts
3350
3406
  var CONTEXT_OVERFLOW_RE = /context|too long|tokens/i;
3351
- var NETWORK_ERR_RE = /ECONN|ETIMEDOUT|ETIME|ENOTFOUND|EAI_AGAIN|fetch failed/i;
3352
3407
  function buildRecoveryStrategies(opts) {
3353
3408
  return [
3354
3409
  {
@@ -4815,7 +4870,7 @@ var AutoCompactionMiddleware = class {
4815
4870
  if (fatal) {
4816
4871
  throw new AgentError({
4817
4872
  message: `Auto-compaction failed at ${pressure.level} threshold`,
4818
- code: "AGENT_CONTEXT_OVERFLOW",
4873
+ code: ERROR_CODES.AGENT_CONTEXT_OVERFLOW,
4819
4874
  recoverable: true,
4820
4875
  context: {
4821
4876
  level: pressure.level,
@@ -5348,7 +5403,16 @@ async function loadGoal(filePath) {
5348
5403
  }
5349
5404
  }
5350
5405
  async function saveGoal(filePath, goal) {
5351
- await atomicWrite(filePath, JSON.stringify(goal, null, 2), { mode: 384 });
5406
+ try {
5407
+ await atomicWrite(filePath, JSON.stringify(goal, null, 2), { mode: 384 });
5408
+ } catch (err) {
5409
+ throw new FsError({
5410
+ message: err instanceof Error ? err.message : String(err),
5411
+ code: ERROR_CODES.FS_ATOMIC_WRITE_FAILED,
5412
+ path: filePath,
5413
+ cause: err
5414
+ });
5415
+ }
5352
5416
  }
5353
5417
  function appendJournal(goal, entry) {
5354
5418
  const iteration = goal.iterations + 1;
@@ -5506,7 +5570,7 @@ var EternalAutonomyEngine = class {
5506
5570
  // Cap the inner loop so a runaway agent.run can't burn through
5507
5571
  // the iteration timeout — the engine's own outer loop is the
5508
5572
  // long-running thing, each tick should be bounded.
5509
- maxIterations: this.opts.iterationMaxAgentSteps ?? 50
5573
+ maxIterations: this.opts.iterationMaxAgentSteps ?? 500
5510
5574
  }
5511
5575
  );
5512
5576
  if (result.status === "aborted") {
@@ -6654,6 +6718,30 @@ var DefaultMultiAgentCoordinator = class extends EventEmitter {
6654
6718
  this.drainPendingAsAborted("Coordinator stopAll() drained the pending queue");
6655
6719
  await Promise.allSettled([...this.subagents.keys()].map((id) => this.stop(id)));
6656
6720
  }
6721
+ async remove(subagentId) {
6722
+ await this.stop(subagentId);
6723
+ this.subagents.delete(subagentId);
6724
+ }
6725
+ /**
6726
+ * Get current coordinator stats for monitoring/debugging.
6727
+ */
6728
+ getStats() {
6729
+ let running = 0, idle = 0, stopped = 0;
6730
+ for (const [, entry] of this.subagents) {
6731
+ if (entry.status === "running") running++;
6732
+ else if (entry.status === "idle") idle++;
6733
+ else stopped++;
6734
+ }
6735
+ return {
6736
+ total: this.subagents.size,
6737
+ running,
6738
+ idle,
6739
+ stopped,
6740
+ inFlight: this.inFlight,
6741
+ pending: this.pendingTasks.length,
6742
+ completed: this.completedResults.length
6743
+ };
6744
+ }
6657
6745
  getStatus() {
6658
6746
  return {
6659
6747
  coordinatorId: this.coordinatorId,
@@ -7121,6 +7209,12 @@ var ParallelEternalEngine = class {
7121
7209
  get currentState() {
7122
7210
  return this.state;
7123
7211
  }
7212
+ /**
7213
+ * Get the underlying coordinator for stats/monitoring.
7214
+ */
7215
+ getCoordinator() {
7216
+ return this.coordinator;
7217
+ }
7124
7218
  stop() {
7125
7219
  this.stopRequested = true;
7126
7220
  void this.persistState("stopped").catch(() => {
@@ -7257,8 +7351,8 @@ Task: ${task}
7257
7351
  await coordinator.spawn({
7258
7352
  id: subagentId,
7259
7353
  name: `slot-${subagentId.slice(-6)}`,
7260
- maxIterations: 50,
7261
- maxToolCalls: 200,
7354
+ // Let the coordinator apply its default budget (from roster or generic).
7355
+ // Hardcoding low limits here defeats the x10 budget improvement.
7262
7356
  timeoutMs: this.timeoutMs
7263
7357
  });
7264
7358
  subagentIds.push(subagentId);
@@ -7275,7 +7369,7 @@ Task: ${task}
7275
7369
  let results = [];
7276
7370
  try {
7277
7371
  const ctrl = new AbortController();
7278
- const timer = setTimeout(() => ctrl.abort(), this.timeoutMs + 6e4);
7372
+ const timer = setTimeout(() => ctrl.abort(), Math.max(this.timeoutMs * 2, 72e5));
7279
7373
  try {
7280
7374
  results = await coordinator.awaitTasks(taskIds);
7281
7375
  } finally {
@@ -8758,6 +8852,9 @@ var Director = class {
8758
8852
  async terminateAll() {
8759
8853
  await this.coordinator.stopAll();
8760
8854
  }
8855
+ async remove(subagentId) {
8856
+ await this.coordinator.remove(subagentId);
8857
+ }
8761
8858
  status() {
8762
8859
  return this.coordinator.getStatus();
8763
8860
  }
@@ -9227,6 +9324,7 @@ async function readSubagentPartial(opts, subagentId) {
9227
9324
  }
9228
9325
  }
9229
9326
  } catch {
9327
+ continue;
9230
9328
  }
9231
9329
  }
9232
9330
  return {
@@ -13215,6 +13313,6 @@ var allServers = () => ({
13215
13313
  "minimax-vision": { ...miniMaxVisionServer(), enabled: false }
13216
13314
  });
13217
13315
 
13218
- export { AISpecBuilder, ALL_FLEET_AGENTS, AUDIT_LOG_AGENT, AutoApprovePermissionPolicy, AutoCompactionMiddleware, AutoExecutor, AutonomousRunner, BUG_HUNTER_AGENT, BudgetExceededError, ConfigMigrationError, DEFAULT_CONFIG_MIGRATIONS, DEFAULT_DIRECTOR_PREAMBLE, DEFAULT_SUBAGENT_BASELINE, DefaultAttachmentStore, DefaultConfigLoader, DefaultConfigStore, DefaultErrorHandler, DefaultHealthRegistry, DefaultLogger, DefaultMemoryStore, DefaultModeStore, DefaultModelsRegistry, DefaultMultiAgentCoordinator, DefaultPermissionPolicy, DefaultProviderRunner, DefaultRetryPolicy, DefaultSecretScrubber, DefaultSecretVault, DefaultSessionReader, DefaultSessionStore, DefaultSkillLoader, DefaultTaskStore, Director, DirectorStateCheckpoint, DoneConditionChecker, EternalAutonomyEngine, FLEET_ROSTER, FLEET_ROSTER_BUDGETS, FleetBus, FleetSpawnBudgetError, FleetUsageAggregator, HybridCompactor, InMemoryAgentBridge, InMemoryBridgeTransport, InMemoryMetricsSink, IntelligentCompactor, LLMSelector, NULL_FLEET_BUS, NoopMetricsSink, NoopTracer, OTelTracer, PROMETHEUS_CONTENT_TYPE, ParallelEternalEngine, QueueStore, REFACTOR_PLANNER_AGENT, RecoveryLock, SECURITY_SCANNER_AGENT, SPEC_TEMPLATES, SelectiveCompactor, SessionAnalyzer, SpecDrivenDev, SpecParser, SpecStore, SpecVersioning, SubagentBudget, TaskFlow, TaskGenerator, TaskGraphStore, TaskTracker, ToolExecutor, addPlanItem, allServers, analyzeCriticalPath, applyRosterBudget, attachPlanCheckpoint, attachTodosCheckpoint, awsServer, blockServer, braveSearchServer, buildGoalPreamble, buildOtlpMetricsRequest, buildOtlpTracesRequest, classifyFamily, clearPlan, composeDirectorPrompt, composeSubagentPrompt, context7Server, contextManagerTool, createAutoExecutor, createContextManagerTool, createDelegateTool, createMessage, decryptConfigSecrets2 as decryptConfigSecrets, deriveTodosFromPlanItem, emptyPlan, encryptConfigSecrets, everArtServer, filesystemServer, formatPlan, formatPlanTemplates, getPlanTemplate, getTemplate, githubServer, googleMapsServer, listPlanTemplates, listTemplates, loadDirectorState, loadPlan, loadProjectModes, loadTodosCheckpoint, loadUserModes, makeAgentSubagentRunner, makeAutonomyPromptContributor, makeDirectorSessionFactory, migratePlaintextSecrets, miniMaxVisionServer, removePlanItem, renderProgress, renderPrometheus, renderSpecAnalysis, renderTaskGraph, renderTaskList, rewriteConfigEncrypted, rosterSummaryFromConfigs, runConfigMigrations, savePlan, saveTodosCheckpoint, sentinelServer, setPlanItemStatus, slackServer, startMetricsServer, startOtlpMetricsExporter, startOtlpTraceExporter, templateToMarkdown, wireMetricsToEvents, zaiVisionServer };
13316
+ export { AISpecBuilder, ALL_FLEET_AGENTS, AUDIT_LOG_AGENT, AutoApprovePermissionPolicy, AutoCompactionMiddleware, AutoExecutor, AutonomousRunner, BUG_HUNTER_AGENT, BudgetExceededError, ConfigMigrationError, DEFAULT_CONFIG_MIGRATIONS, DEFAULT_CONTEXT_CONFIG, DEFAULT_DIRECTOR_PREAMBLE, DEFAULT_SUBAGENT_BASELINE, DEFAULT_TOOLS_CONFIG, DefaultAttachmentStore, DefaultConfigLoader, DefaultConfigStore, DefaultErrorHandler, DefaultHealthRegistry, DefaultLogger, DefaultMemoryStore, DefaultModeStore, DefaultModelsRegistry, DefaultMultiAgentCoordinator, DefaultPermissionPolicy, DefaultProviderRunner, DefaultRetryPolicy, DefaultSecretScrubber, DefaultSecretVault, DefaultSessionReader, DefaultSessionStore, DefaultSkillLoader, DefaultTaskStore, Director, DirectorStateCheckpoint, DoneConditionChecker, EternalAutonomyEngine, FLEET_ROSTER, FLEET_ROSTER_BUDGETS, FleetBus, FleetSpawnBudgetError, FleetUsageAggregator, HybridCompactor, InMemoryAgentBridge, InMemoryBridgeTransport, InMemoryMetricsSink, IntelligentCompactor, LLMSelector, NULL_FLEET_BUS, NoopMetricsSink, NoopTracer, OTelTracer, PROMETHEUS_CONTENT_TYPE, ParallelEternalEngine, QueueStore, REFACTOR_PLANNER_AGENT, RecoveryLock, SECURITY_SCANNER_AGENT, SPEC_TEMPLATES, SelectiveCompactor, SessionAnalyzer, SpecDrivenDev, SpecParser, SpecStore, SpecVersioning, SubagentBudget, TaskFlow, TaskGenerator, TaskGraphStore, TaskTracker, ToolExecutor, addPlanItem, allServers, analyzeCriticalPath, applyRosterBudget, attachPlanCheckpoint, attachTodosCheckpoint, awsServer, blockServer, braveSearchServer, buildGoalPreamble, buildOtlpMetricsRequest, buildOtlpTracesRequest, classifyFamily, clearPlan, composeDirectorPrompt, composeSubagentPrompt, context7Server, contextManagerTool, createAutoExecutor, createContextManagerTool, createDelegateTool, createMessage, decryptConfigSecrets2 as decryptConfigSecrets, deriveTodosFromPlanItem, emptyPlan, encryptConfigSecrets, everArtServer, filesystemServer, formatPlan, formatPlanTemplates, getPlanTemplate, getTemplate, githubServer, googleMapsServer, listPlanTemplates, listTemplates, loadDirectorState, loadPlan, loadProjectModes, loadTodosCheckpoint, loadUserModes, makeAgentSubagentRunner, makeAutonomyPromptContributor, makeDirectorSessionFactory, migratePlaintextSecrets, miniMaxVisionServer, removePlanItem, renderProgress, renderPrometheus, renderSpecAnalysis, renderTaskGraph, renderTaskList, rewriteConfigEncrypted, rosterSummaryFromConfigs, runConfigMigrations, savePlan, saveTodosCheckpoint, sentinelServer, setPlanItemStatus, slackServer, startMetricsServer, startOtlpMetricsExporter, startOtlpTraceExporter, templateToMarkdown, wireMetricsToEvents, zaiVisionServer };
13219
13317
  //# sourceMappingURL=index.js.map
13220
13318
  //# sourceMappingURL=index.js.map