@wrongstack/core 0.9.20 → 0.10.2

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 (67) hide show
  1. package/README.md +37 -33
  2. package/dist/{agent-bridge-Dti3KXGk.d.ts → agent-bridge-DBBGP5O4.d.ts} +1 -1
  3. package/dist/{agent-subagent-runner-U-rs7kk7.d.ts → agent-subagent-runner-KwufTWwn.d.ts} +3 -3
  4. package/dist/{compactor-D7X96RLZ.d.ts → compactor-D1RHFRmF.d.ts} +1 -1
  5. package/dist/{config-CLXMDOSs.d.ts → config-CJXBka2r.d.ts} +38 -2
  6. package/dist/{context-zkZeILpr.d.ts → context-7u93AcGD.d.ts} +94 -0
  7. package/dist/coordination/index.d.ts +12 -12
  8. package/dist/coordination/index.js +130 -58
  9. package/dist/coordination/index.js.map +1 -1
  10. package/dist/{default-config-Uzla85H-.d.ts → default-config-DEXI4jsl.d.ts} +10 -1
  11. package/dist/defaults/index.d.ts +24 -24
  12. package/dist/defaults/index.js +611 -95
  13. package/dist/defaults/index.js.map +1 -1
  14. package/dist/{events-DH-9r-_C.d.ts → events-Bw1K5E6K.d.ts} +8 -1
  15. package/dist/execution/index.d.ts +18 -15
  16. package/dist/execution/index.js +309 -61
  17. package/dist/execution/index.js.map +1 -1
  18. package/dist/extension/index.d.ts +6 -6
  19. package/dist/extension/index.js.map +1 -1
  20. package/dist/goal-store-BeRsj7YX.d.ts +188 -0
  21. package/dist/{index-CFO9QmJo.d.ts → index-DIt5TIaF.d.ts} +8 -8
  22. package/dist/{index-BIHJ4uII.d.ts → index-DgQWnZxP.d.ts} +5 -5
  23. package/dist/index.d.ts +56 -35
  24. package/dist/index.js +742 -203
  25. package/dist/index.js.map +1 -1
  26. package/dist/infrastructure/index.d.ts +6 -6
  27. package/dist/kernel/index.d.ts +9 -9
  28. package/dist/kernel/index.js +57 -8
  29. package/dist/kernel/index.js.map +1 -1
  30. package/dist/{mcp-servers-DkESgh0G.d.ts → mcp-servers-BgINZzuo.d.ts} +3 -3
  31. package/dist/models/index.d.ts +3 -3
  32. package/dist/models/index.js +163 -10
  33. package/dist/models/index.js.map +1 -1
  34. package/dist/models-registry-gwMAo6E3.d.ts +86 -0
  35. package/dist/{multi-agent-DNp6lAzg.d.ts → multi-agent-C1O8EFzb.d.ts} +45 -4
  36. package/dist/{multi-agent-coordinator-CAhsegPz.d.ts → multi-agent-coordinator-DoVSBFNx.d.ts} +2 -2
  37. package/dist/{null-fleet-bus-Dnl19vmf.d.ts → null-fleet-bus-T-s3JaOt.d.ts} +8 -6
  38. package/dist/observability/index.d.ts +2 -2
  39. package/dist/{path-resolver-CHiBL0DD.d.ts → path-resolver-BfyK-I7w.d.ts} +2 -2
  40. package/dist/{permission-H35s9Evv.d.ts → permission-B6sldrSp.d.ts} +1 -1
  41. package/dist/{permission-policy-CT-nRmTn.d.ts → permission-policy-CtNscWOA.d.ts} +10 -9
  42. package/dist/{plan-templates-Bs8iRwi6.d.ts → plan-templates-BWs6Je7j.d.ts} +8 -8
  43. package/dist/{provider-runner-BZdDrWrS.d.ts → provider-runner-BmPe2RuU.d.ts} +3 -3
  44. package/dist/{retry-policy-J9N_PM40.d.ts → retry-policy-KF18W4dg.d.ts} +1 -1
  45. package/dist/sdd/index.d.ts +8 -8
  46. package/dist/sdd/index.js +130 -58
  47. package/dist/sdd/index.js.map +1 -1
  48. package/dist/security/index.d.ts +65 -4
  49. package/dist/security/index.js +67 -19
  50. package/dist/security/index.js.map +1 -1
  51. package/dist/{selector-CFTh3Z6p.d.ts → selector-DmXxpFyM.d.ts} +1 -1
  52. package/dist/{session-reader-C7JJlxOw.d.ts → session-reader-CCSBfQmd.d.ts} +1 -1
  53. package/dist/storage/index.d.ts +7 -7
  54. package/dist/storage/index.js +125 -6
  55. package/dist/storage/index.js.map +1 -1
  56. package/dist/{system-prompt-CneIxVip.d.ts → system-prompt-CM6zOhd2.d.ts} +19 -1
  57. package/dist/{tool-executor-flTuxsqO.d.ts → tool-executor-D7RxLtg4.d.ts} +4 -4
  58. package/dist/types/index.d.ts +16 -16
  59. package/dist/types/index.js +344 -14
  60. package/dist/types/index.js.map +1 -1
  61. package/dist/utils/index.d.ts +23 -3
  62. package/dist/utils/index.js +66 -1
  63. package/dist/utils/index.js.map +1 -1
  64. package/dist/{wstack-paths-BCgmTNlG.d.ts → wstack-paths-eMXnY1_X.d.ts} +8 -0
  65. package/package.json +1 -1
  66. package/dist/goal-store-C7jcumEh.d.ts +0 -96
  67. package/dist/models-registry-OG_30xqZ.d.ts +0 -46
@@ -0,0 +1,86 @@
1
+ import { b as ModelsRegistry, M as ModelsDevPayload, c as ResolvedProvider, R as ResolvedModel, W as WireFamily } from './models-registry-BcYJDKLm.js';
2
+
3
+ interface DefaultModelsRegistryOptions {
4
+ cacheFile: string;
5
+ url?: string;
6
+ ttlSeconds?: number;
7
+ fetchImpl?: typeof fetch;
8
+ /** Pre-seeded payload — useful for offline scenarios and tests. */
9
+ seed?: ModelsDevPayload;
10
+ /**
11
+ * Maximum age in seconds for stale cache fallback when network fails.
12
+ * Defaults to 7 days. Set to `Infinity` for full offline resilience
13
+ * (risk: deprecated models, wrong pricing). Set to `0` to disable
14
+ * stale fallback entirely.
15
+ */
16
+ maxStaleAgeSeconds?: number;
17
+ /**
18
+ * Curated override payload deep-merged ON TOP of the models.dev base via
19
+ * `mergeModelsPayload` — adds providers/models the base lacks and overrides
20
+ * fields it gets wrong. Resolution order (first non-empty wins): this
21
+ * in-memory `overlay` → `overlayUrl` (fetched, cached) → `overlayFile`
22
+ * (bundled, read from disk). A missing/broken overlay degrades to `{}` and
23
+ * never throws, so the base alone still works.
24
+ */
25
+ overlay?: ModelsDevPayload;
26
+ /** GitHub-raw (or any) URL serving the curated overlay `providers.json`. */
27
+ overlayUrl?: string;
28
+ /** Path to the bundled overlay `providers.json` (offline floor). */
29
+ overlayFile?: string;
30
+ /** Cache file for the fetched `overlayUrl`. Defaults next to `cacheFile`. */
31
+ overlayCacheFile?: string;
32
+ }
33
+ declare function classifyFamily(npm: string | undefined): WireFamily;
34
+ declare class DefaultModelsRegistry implements ModelsRegistry {
35
+ /** Merged (base + overlay) payload — what every reader sees. */
36
+ private payload?;
37
+ /** Memoised overlay payload (in-memory / fetched / file). */
38
+ private overlayPayload?;
39
+ private fetchedAt?;
40
+ private readonly cacheFile;
41
+ private readonly url;
42
+ private readonly ttlMs;
43
+ private readonly fetchImpl;
44
+ private readonly seed?;
45
+ private readonly maxStaleAgeMs;
46
+ private readonly overlay?;
47
+ private readonly overlayUrl?;
48
+ private readonly overlayFile?;
49
+ private readonly overlayCacheFile?;
50
+ constructor(opts: DefaultModelsRegistryOptions);
51
+ load(opts?: {
52
+ force?: boolean;
53
+ }): Promise<ModelsDevPayload>;
54
+ /**
55
+ * Load the models.dev base payload: fresh cache → network → stale cache.
56
+ * On total failure, degrade to `{}` (so a non-empty overlay still drives
57
+ * the catalog) rather than throwing — unless there's no curated overlay to
58
+ * fall back on, in which case the original error propagates so pure-
59
+ * models.dev setups still surface the problem.
60
+ */
61
+ private loadBase;
62
+ /** Fetch + cache the models.dev base. Throws on failure (used by `refresh`). */
63
+ private refreshBase;
64
+ /**
65
+ * Resolve the curated overlay, memoised. Order: in-memory `overlay` →
66
+ * fetched `overlayUrl` (cached, same TTL/stale rules) → `overlayFile` on
67
+ * disk. Never throws — a missing/broken overlay yields `{}`.
68
+ */
69
+ private loadOverlay;
70
+ private loadOverlayFromUrl;
71
+ private readOverlayFile;
72
+ refresh(): Promise<ModelsDevPayload>;
73
+ listProviders(): Promise<ResolvedProvider[]>;
74
+ getProvider(id: string): Promise<ResolvedProvider | undefined>;
75
+ getModel(providerId: string, modelId: string): Promise<ResolvedModel | undefined>;
76
+ suggestModel(providerId: string): Promise<string | undefined>;
77
+ ageSeconds(): Promise<number>;
78
+ private resolveProvider;
79
+ private isFresh;
80
+ private isWithinMaxStaleAge;
81
+ private readCacheAt;
82
+ /** Used by `wstack models refresh` to expose where the cache lives. */
83
+ cacheLocation(): string;
84
+ }
85
+
86
+ export { DefaultModelsRegistry as D, type DefaultModelsRegistryOptions as a, classifyFamily as c };
@@ -1,5 +1,5 @@
1
- import { $ as Usage } from './context-zkZeILpr.js';
2
- import { E as EventBus } from './events-DH-9r-_C.js';
1
+ import { $ as Usage } from './context-7u93AcGD.js';
2
+ import { E as EventBus } from './events-Bw1K5E6K.js';
3
3
 
4
4
  type BridgeMessageType = 'task' | 'result' | 'progress' | 'error' | 'heartbeat' | 'stop' | 'delegate' | 'budget_threshold';
5
5
  interface BridgeMessage<T = unknown> {
@@ -45,8 +45,21 @@ interface BudgetLimits {
45
45
  maxTokens?: number;
46
46
  /** Estimated USD cost ceiling. */
47
47
  maxCostUsd?: number;
48
- /** Wall-clock timeout from start() to checkTimeout(). */
48
+ /**
49
+ * Hard wall-clock timeout measured from `start()`. Off by default — set it
50
+ * explicitly only when a task must finish within an absolute window. For
51
+ * the everyday "don't kill an agent that's still working" guard, prefer
52
+ * `idleTimeoutMs`, which resets on activity.
53
+ */
49
54
  timeoutMs?: number;
55
+ /**
56
+ * Idle timeout: the maximum gap (ms) between activity signals (iterations,
57
+ * tool calls, token usage, streamed progress) before the subagent is
58
+ * considered hung and reaped. Unlike `timeoutMs`, an actively-working
59
+ * agent continuously resets this clock via `markActivity()`, so it never
60
+ * trips on a long-but-productive run — only on a genuine stall.
61
+ */
62
+ idleTimeoutMs?: number;
50
63
  }
51
64
  /**
52
65
  * Controls how the budget behaves when `onThreshold` is set and a limit is hit.
@@ -133,6 +146,13 @@ declare class SubagentBudget {
133
146
  private tokenOutput;
134
147
  private costUsd;
135
148
  private startTime;
149
+ /**
150
+ * Timestamp of the most recent activity (iteration / tool call / token
151
+ * usage / streamed progress). Drives the idle timeout — reset by
152
+ * `markActivity()`. Initialised to `start()` time so a never-active agent
153
+ * still eventually trips its idle window.
154
+ */
155
+ private lastActivityTime;
136
156
  private _onThreshold;
137
157
  /**
138
158
  * Hard cap on how long `_negotiateExtension` waits for the coordinator to
@@ -166,6 +186,18 @@ declare class SubagentBudget {
166
186
  get mode(): BudgetNegotiationMode;
167
187
  constructor(limits?: BudgetLimits, mode?: BudgetNegotiationMode);
168
188
  start(): void;
189
+ /**
190
+ * Reset the idle clock. Called on any sign of forward progress —
191
+ * iterations, tool calls, token usage, and streamed tool/text progress —
192
+ * so a long-but-productive subagent never trips its `idleTimeoutMs`.
193
+ */
194
+ markActivity(): void;
195
+ /**
196
+ * Milliseconds since the last activity signal. Returns 0 before `start()`
197
+ * (nothing to measure yet). Used by the coordinator watchdog to decide
198
+ * whether to re-arm (still active) or reap (genuinely idle).
199
+ */
200
+ idleMs(): number;
169
201
  /** Returns true if we're within 10% of any limit — useful for pre-flight checks. */
170
202
  isNearLimit(): boolean;
171
203
  /**
@@ -225,7 +257,7 @@ declare class SubagentBudget {
225
257
  * - `mode === 'auto'` + listener → throw `BudgetExceededError` (timeout is not extendable)
226
258
  */
227
259
  checkTimeout(): void;
228
- /** Returns true if a timeout has occurred without throwing. Useful for races. */
260
+ /** Returns true if a wall-clock or idle timeout has occurred without throwing. */
229
261
  isTimedOut(): boolean;
230
262
  usage(): BudgetUsage;
231
263
  }
@@ -239,7 +271,15 @@ interface SubagentConfig {
239
271
  maxToolCalls?: number;
240
272
  maxTokens?: number;
241
273
  maxCostUsd?: number;
274
+ /** Hard wall-clock cap (ms) from start. Opt-in; prefer `idleTimeoutMs`. */
242
275
  timeoutMs?: number;
276
+ /**
277
+ * Idle timeout (ms): reap the subagent only after this long with no
278
+ * activity. Resets on every iteration / tool call / streamed progress, so
279
+ * an actively-working agent runs until its task naturally ends. This is the
280
+ * default reaper for delegated subagents (see `applyRosterBudget`).
281
+ */
282
+ idleTimeoutMs?: number;
243
283
  tools?: string[];
244
284
  model?: string;
245
285
  priority?: number;
@@ -403,6 +443,7 @@ interface MultiAgentConfig {
403
443
  maxTokens?: number;
404
444
  maxCostUsd?: number;
405
445
  timeoutMs?: number;
446
+ idleTimeoutMs?: number;
406
447
  };
407
448
  }
408
449
  interface SpawnResult {
@@ -1,5 +1,5 @@
1
- import { n as SubagentConfig, l as MultiAgentCoordinator, M as MultiAgentConfig, t as SubagentRunner, S as SpawnResult, v as TaskSpec, B as BridgeMessage, A as AgentBridge, k as CoordinatorStatus, u as TaskResult } from './multi-agent-DNp6lAzg.js';
2
- import { F as FleetBus } from './agent-subagent-runner-U-rs7kk7.js';
1
+ import { n as SubagentConfig, l as MultiAgentCoordinator, M as MultiAgentConfig, t as SubagentRunner, S as SpawnResult, v as TaskSpec, B as BridgeMessage, A as AgentBridge, k as CoordinatorStatus, u as TaskResult } from './multi-agent-C1O8EFzb.js';
2
+ import { F as FleetBus } from './agent-subagent-runner-KwufTWwn.js';
3
3
  import { EventEmitter } from 'node:events';
4
4
 
5
5
  /**
@@ -1,11 +1,11 @@
1
- import { c as AgentPhase, b as AgentDefinition, d as DefaultMultiAgentCoordinator, f as DispatchClassifier } from './multi-agent-coordinator-CAhsegPz.js';
2
- import { n as SubagentConfig, u as TaskResult, k as CoordinatorStatus, v as TaskSpec, M as MultiAgentConfig, t as SubagentRunner } from './multi-agent-DNp6lAzg.js';
3
- import { B as SessionWriter, Q as Tool, y as SessionStore } from './context-zkZeILpr.js';
4
- import { F as FleetBus, e as FleetUsage, f as FleetUsageAggregator } from './agent-subagent-runner-U-rs7kk7.js';
1
+ import { c as AgentPhase, b as AgentDefinition, d as DefaultMultiAgentCoordinator, f as DispatchClassifier } from './multi-agent-coordinator-DoVSBFNx.js';
2
+ import { n as SubagentConfig, u as TaskResult, k as CoordinatorStatus, v as TaskSpec, M as MultiAgentConfig, t as SubagentRunner } from './multi-agent-C1O8EFzb.js';
3
+ import { B as SessionWriter, Q as Tool, y as SessionStore } from './context-7u93AcGD.js';
4
+ import { F as FleetBus, e as FleetUsage, f as FleetUsageAggregator } from './agent-subagent-runner-KwufTWwn.js';
5
5
  import { EventEmitter } from 'node:events';
6
6
  import { a as DirectorStateSnapshot } from './director-state-BmYi3DGA.js';
7
- import { I as InMemoryAgentBridge } from './agent-bridge-Dti3KXGk.js';
8
- import { E as EventBus } from './events-DH-9r-_C.js';
7
+ import { I as InMemoryAgentBridge } from './agent-bridge-DBBGP5O4.js';
8
+ import { E as EventBus } from './events-Bw1K5E6K.js';
9
9
 
10
10
  /**
11
11
  * Agent catalog aggregator.
@@ -1676,6 +1676,8 @@ declare const SECURITY_SCANNER_AGENT: SubagentConfig;
1676
1676
  declare const FLEET_ROSTER: Record<string, SubagentConfig>;
1677
1677
  interface FleetRosterBudget {
1678
1678
  timeoutMs?: number;
1679
+ /** Idle reap window (ms). Resets on activity — see `applyRosterBudget`. */
1680
+ idleTimeoutMs?: number;
1679
1681
  maxIterations?: number;
1680
1682
  maxToolCalls?: number;
1681
1683
  maxTokens?: number;
@@ -1,6 +1,6 @@
1
1
  import { e as MetricsSink, M as MetricLabels, f as MetricsSnapshot, b as HealthRegistry, H as HealthCheck, A as AggregateHealth, T as Tracer, S as Span } from '../observability-BhnVLBLS.js';
2
- import { E as EventBus } from '../events-DH-9r-_C.js';
3
- import '../context-zkZeILpr.js';
2
+ import { E as EventBus } from '../events-Bw1K5E6K.js';
3
+ import '../context-7u93AcGD.js';
4
4
 
5
5
  /**
6
6
  * In-memory metrics sink. Suitable for embedded use, tests, and /metrics
@@ -1,6 +1,6 @@
1
- import { E as EventBus } from './events-DH-9r-_C.js';
1
+ import { E as EventBus } from './events-Bw1K5E6K.js';
2
2
  import { b as ModelsRegistry, R as ResolvedModel } from './models-registry-BcYJDKLm.js';
3
- import { O as TokenCounter, $ as Usage, C as CacheStats } from './context-zkZeILpr.js';
3
+ import { O as TokenCounter, $ as Usage, C as CacheStats } from './context-7u93AcGD.js';
4
4
  import { P as PathResolver } from './path-resolver-CPRj4bFY.js';
5
5
 
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { Q as Tool, d as Context, P as Permission } from './context-zkZeILpr.js';
1
+ import { Q as Tool, d as Context, P as Permission } from './context-7u93AcGD.js';
2
2
 
3
3
  interface TrustPolicy {
4
4
  [toolNameOrPattern: string]: {
@@ -1,6 +1,6 @@
1
- import { Q as Tool, d as Context } from './context-zkZeILpr.js';
1
+ import { Q as Tool, d as Context } from './context-7u93AcGD.js';
2
2
  import { I as InputReader } from './input-reader-E-ffP2ee.js';
3
- import { a as PermissionPolicy, P as PermissionDecision } from './permission-H35s9Evv.js';
3
+ import { a as PermissionPolicy, P as PermissionDecision } from './permission-B6sldrSp.js';
4
4
 
5
5
  interface PermissionPolicyOptions {
6
6
  trustFile: string;
@@ -98,17 +98,18 @@ declare class DefaultPermissionPolicy implements PermissionPolicy {
98
98
  *
99
99
  * Tool defaults of `permission: 'deny'` are still honored (this is a
100
100
  * subagent capability override, not a deny-bypass).
101
+ *
102
+ * 2026-06+: Primary decision is now based on declared `Tool.capabilities`
103
+ * (capability allowlist / denylist model). The legacy name-based DENY set
104
+ * is kept only for backward compatibility with tools that have not yet
105
+ * declared capabilities.
101
106
  */
102
107
  declare class AutoApprovePermissionPolicy implements PermissionPolicy {
103
108
  /**
104
- * Tools that are too dangerous to auto-approve even in a delegated
105
- * subagent context. Subagents run non-interactively under a director
106
- * and cannot answer prompts, but inherited authorization does not
107
- * imply blanket permission for destructive or privilege-escalating
108
- * operations. These tools remain at their declared `permission`
109
- * level so the leader must explicitly allow them per-spawn.
109
+ * Legacy name-based denylist.
110
+ * @deprecated Prefer declaring `capabilities` on the Tool and using capability-based checks.
110
111
  */
111
- private static readonly DENY;
112
+ private static readonly LEGACY_NAME_DENY;
112
113
  /**
113
114
  * Tools from MCP servers (`mcp__<server>__<tool>`) are external code of
114
115
  * unknown capability — they may wrap a shell or filesystem. They are
@@ -1,10 +1,10 @@
1
- import { E as EventBus } from './events-DH-9r-_C.js';
1
+ import { E as EventBus } from './events-Bw1K5E6K.js';
2
2
  import { S as SecretScrubber } from './secret-scrubber-3MHDDAtm.js';
3
- import { y as SessionStore, x as SessionMetadata, B as SessionWriter, r as ResumedSession, S as SessionData, z as SessionSummary, c as ContentBlock, w as SessionEvent, N as TodoItem, f as ConversationState } from './context-zkZeILpr.js';
4
- import { e as AttachmentStore, A as AddAttachmentInput, d as AttachmentRef, a as Attachment } from './session-reader-C7JJlxOw.js';
3
+ import { y as SessionStore, x as SessionMetadata, B as SessionWriter, r as ResumedSession, S as SessionData, z as SessionSummary, c as ContentBlock, w as SessionEvent, N as TodoItem, f as ConversationState } from './context-7u93AcGD.js';
4
+ import { e as AttachmentStore, A as AddAttachmentInput, d as AttachmentRef, a as Attachment } from './session-reader-CCSBfQmd.js';
5
5
  import { b as MemoryStore, a as MemoryScope } from './memory-CEXuo7sz.js';
6
- import { a as WstackPaths } from './wstack-paths-BCgmTNlG.js';
7
- import { c as ConfigStore, a as Config, b as ConfigLoader, m as SyncConfig } from './config-CLXMDOSs.js';
6
+ import { a as WstackPaths } from './wstack-paths-eMXnY1_X.js';
7
+ import { c as ConfigStore, a as Config, b as ConfigLoader, n as SyncConfig } from './config-CJXBka2r.js';
8
8
  import { S as SecretVault } from './secret-vault-DoISxaKO.js';
9
9
 
10
10
  interface SessionStoreOptions {
@@ -84,9 +84,9 @@ interface AttachmentStoreOptions {
84
84
  }
85
85
  /**
86
86
  * In-memory attachment store with optional disk spool. Placeholder syntax
87
- * is `[<kind> #<seq>]` where kind is `pasted` / `image` / `file`. Unknown
88
- * placeholders are passed through as-is so users can write that literal
89
- * text without losing it.
87
+ * is `[<kind> #<seq>]` (seq-keyed) or `[file:<path>]` (path-keyed) where kind
88
+ * is `pasted` / `image` / `file`. Unknown placeholders are passed through
89
+ * as-is so users can write that literal text without losing it.
90
90
  */
91
91
  declare class DefaultAttachmentStore implements AttachmentStore {
92
92
  private readonly items;
@@ -1,8 +1,8 @@
1
- import { E as EventBus } from './events-DH-9r-_C.js';
1
+ import { E as EventBus } from './events-Bw1K5E6K.js';
2
2
  import { a as Logger } from './logger-DDd5C--Z.js';
3
3
  import { T as Tracer } from './observability-BhnVLBLS.js';
4
- import { m as Provider, p as Request, d as Context, q as Response } from './context-zkZeILpr.js';
5
- import { a as RetryPolicy } from './retry-policy-J9N_PM40.js';
4
+ import { m as Provider, p as Request, d as Context, q as Response } from './context-7u93AcGD.js';
5
+ import { a as RetryPolicy } from './retry-policy-KF18W4dg.js';
6
6
 
7
7
  /**
8
8
  * Options passed to a ProviderRunner when calling the provider.
@@ -1,4 +1,4 @@
1
- import { q as Response, d as Context, n as ProviderError } from './context-zkZeILpr.js';
1
+ import { q as Response, d as Context, n as ProviderError } from './context-7u93AcGD.js';
2
2
 
3
3
  type RecoveryDecision = {
4
4
  /**
@@ -1,15 +1,15 @@
1
1
  import { h as Specification, S as SpecAnalysis, g as SpecValidationResult, l as TaskGraph, m as TaskNode, k as TaskFilter, p as TaskSort, o as TaskProgress, r as TaskType, n as TaskPriority, e as SpecStatus, f as SpecTemplate, b as SpecRequirement } from '../task-graph-D1YQbpxF.js';
2
- import { E as EventBus } from '../events-DH-9r-_C.js';
3
- import { D as DoneCondition, u as TaskResult } from '../multi-agent-DNp6lAzg.js';
4
- import { c as Agent } from '../index-BIHJ4uII.js';
5
- import { A as AgentFactory } from '../agent-subagent-runner-U-rs7kk7.js';
6
- import '../context-zkZeILpr.js';
2
+ import { E as EventBus } from '../events-Bw1K5E6K.js';
3
+ import { D as DoneCondition, u as TaskResult } from '../multi-agent-C1O8EFzb.js';
4
+ import { c as Agent } from '../index-DgQWnZxP.js';
5
+ import { A as AgentFactory } from '../agent-subagent-runner-KwufTWwn.js';
6
+ import '../context-7u93AcGD.js';
7
7
  import '../logger-DDd5C--Z.js';
8
- import '../system-prompt-CneIxVip.js';
8
+ import '../system-prompt-CM6zOhd2.js';
9
9
  import '../observability-BhnVLBLS.js';
10
10
  import '../secret-scrubber-3MHDDAtm.js';
11
- import '../permission-H35s9Evv.js';
12
- import '../config-CLXMDOSs.js';
11
+ import '../permission-B6sldrSp.js';
12
+ import '../config-CJXBka2r.js';
13
13
  import '../models-registry-BcYJDKLm.js';
14
14
 
15
15
  declare class SpecParser {