@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.
- package/dist/{agent-bridge-BCVxmrOn.d.ts → agent-bridge-CrQpYjM7.d.ts} +1 -1
- package/dist/{compactor-BUJ8550X.d.ts → compactor-CWV1u-IU.d.ts} +1 -1
- package/dist/{config-BHkYGzUT.d.ts → config-C34JRwl4.d.ts} +1 -1
- package/dist/{context-C8mBUzBv.d.ts → context-bmR0YgBm.d.ts} +71 -3
- package/dist/coordination/index.d.ts +11 -11
- package/dist/coordination/index.js +53 -9
- package/dist/coordination/index.js.map +1 -1
- package/dist/default-config-DvRSTELf.d.ts +20 -0
- package/dist/defaults/index.d.ts +20 -19
- package/dist/defaults/index.js +130 -32
- package/dist/defaults/index.js.map +1 -1
- package/dist/{events-DounT6pP.d.ts → events-CEKFTmIY.d.ts} +1 -1
- package/dist/execution/index.d.ts +19 -13
- package/dist/execution/index.js +94 -22
- package/dist/execution/index.js.map +1 -1
- package/dist/extension/index.d.ts +6 -6
- package/dist/extension/index.js +3 -1
- package/dist/extension/index.js.map +1 -1
- package/dist/{index-DiIGZh5I.d.ts → index-BJIFLGII.d.ts} +5 -5
- package/dist/{index-BlVITqm-.d.ts → index-CZR0HjxM.d.ts} +12 -105
- package/dist/index.d.ts +27 -26
- package/dist/index.js +184 -53
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/index.d.ts +6 -6
- package/dist/kernel/index.d.ts +9 -9
- package/dist/kernel/index.js +8 -4
- package/dist/kernel/index.js.map +1 -1
- package/dist/{mcp-servers-CXFfDN_d.d.ts → mcp-servers-BRJicm5o.d.ts} +3 -3
- package/dist/models/index.d.ts +2 -2
- package/dist/{multi-agent-Iy8YUe3v.d.ts → multi-agent-Cm1wYSrw.d.ts} +7 -2
- package/dist/{agent-subagent-runner-BTloSwjE.d.ts → multi-agent-coordinator-CCupVFqv.d.ts} +117 -4
- package/dist/observability/index.d.ts +2 -2
- package/dist/{path-resolver-DwJO5XBn.d.ts → path-resolver-CfT7e_HT.d.ts} +2 -2
- package/dist/{plan-templates-CG_pInJV.d.ts → plan-templates-Q78an-GJ.d.ts} +4 -4
- package/dist/{provider-runner-DoohzfyD.d.ts → provider-runner-WDj28o7J.d.ts} +3 -3
- package/dist/{retry-policy-DOnwHAyz.d.ts → retry-policy-Dpxp4SET.d.ts} +1 -1
- package/dist/sdd/index.d.ts +3 -3
- package/dist/{secret-scrubber-C9UJxFCJ.d.ts → secret-scrubber-C2YCYtkn.d.ts} +1 -1
- package/dist/{secret-scrubber-DcTK9JHC.d.ts → secret-scrubber-CowtdEF8.d.ts} +1 -1
- package/dist/security/index.d.ts +3 -3
- package/dist/{selector-DVo3eT-P.d.ts → selector-CP39HhCe.d.ts} +1 -1
- package/dist/{session-reader-BXWxFAhS.d.ts → session-reader-Dwjn4WZR.d.ts} +1 -1
- package/dist/storage/index.d.ts +5 -5
- package/dist/storage/index.js +93 -10
- package/dist/storage/index.js.map +1 -1
- package/dist/{system-prompt-BBGles-N.d.ts → system-prompt-CfgXqyv2.d.ts} +1 -1
- package/dist/{tool-executor-CwpjhwHC.d.ts → tool-executor-D5NFi_LV.d.ts} +5 -5
- package/dist/types/index.d.ts +16 -15
- package/dist/types/index.js +101 -20
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -106,6 +106,53 @@ var init_atomic_write = __esm({
|
|
|
106
106
|
});
|
|
107
107
|
|
|
108
108
|
// src/types/errors.ts
|
|
109
|
+
var ERROR_CODES = {
|
|
110
|
+
// Provider
|
|
111
|
+
PROVIDER_RATE_LIMITED: "PROVIDER_RATE_LIMITED",
|
|
112
|
+
PROVIDER_AUTH_FAILED: "PROVIDER_AUTH_FAILED",
|
|
113
|
+
PROVIDER_OVERLOADED: "PROVIDER_OVERLOADED",
|
|
114
|
+
PROVIDER_INVALID_REQUEST: "PROVIDER_INVALID_REQUEST",
|
|
115
|
+
PROVIDER_SERVER_ERROR: "PROVIDER_SERVER_ERROR",
|
|
116
|
+
PROVIDER_NETWORK_ERROR: "PROVIDER_NETWORK_ERROR",
|
|
117
|
+
PROVIDER_CONTEXT_OVERFLOW: "PROVIDER_CONTEXT_OVERFLOW",
|
|
118
|
+
// Tool
|
|
119
|
+
TOOL_NOT_FOUND: "TOOL_NOT_FOUND",
|
|
120
|
+
TOOL_PERMISSION_DENIED: "TOOL_PERMISSION_DENIED",
|
|
121
|
+
TOOL_EXECUTION_FAILED: "TOOL_EXECUTION_FAILED",
|
|
122
|
+
TOOL_TIMEOUT: "TOOL_TIMEOUT",
|
|
123
|
+
TOOL_INPUT_INVALID: "TOOL_INPUT_INVALID",
|
|
124
|
+
// Config
|
|
125
|
+
CONFIG_INVALID: "CONFIG_INVALID",
|
|
126
|
+
CONFIG_NOT_FOUND: "CONFIG_NOT_FOUND",
|
|
127
|
+
CONFIG_PARSE_FAILED: "CONFIG_PARSE_FAILED",
|
|
128
|
+
CONFIG_MIGRATION_NEEDED: "CONFIG_MIGRATION_NEEDED",
|
|
129
|
+
// Plugin
|
|
130
|
+
PLUGIN_LOAD_FAILED: "PLUGIN_LOAD_FAILED",
|
|
131
|
+
PLUGIN_API_MISMATCH: "PLUGIN_API_MISMATCH",
|
|
132
|
+
PLUGIN_MISSING_DEPENDENCY: "PLUGIN_MISSING_DEPENDENCY",
|
|
133
|
+
// Agent
|
|
134
|
+
AGENT_ITERATION_LIMIT: "AGENT_ITERATION_LIMIT",
|
|
135
|
+
AGENT_CONTEXT_OVERFLOW: "AGENT_CONTEXT_OVERFLOW",
|
|
136
|
+
AGENT_ABORTED: "AGENT_ABORTED",
|
|
137
|
+
AGENT_RUN_FAILED: "AGENT_RUN_FAILED",
|
|
138
|
+
// Session
|
|
139
|
+
SESSION_NOT_FOUND: "SESSION_NOT_FOUND",
|
|
140
|
+
SESSION_CORRUPTED: "SESSION_CORRUPTED",
|
|
141
|
+
SESSION_WRITE_FAILED: "SESSION_WRITE_FAILED",
|
|
142
|
+
// Container / Registry
|
|
143
|
+
CONTAINER_TOKEN_ALREADY_BOUND: "CONTAINER_TOKEN_ALREADY_BOUND",
|
|
144
|
+
CONTAINER_TOKEN_NOT_BOUND: "CONTAINER_TOKEN_NOT_BOUND",
|
|
145
|
+
REGISTRY_DUPLICATE: "REGISTRY_DUPLICATE",
|
|
146
|
+
REGISTRY_NOT_FOUND: "REGISTRY_NOT_FOUND",
|
|
147
|
+
// File system
|
|
148
|
+
FS_READ_FAILED: "FS_READ_FAILED",
|
|
149
|
+
FS_WRITE_FAILED: "FS_WRITE_FAILED",
|
|
150
|
+
FS_MKDIR_FAILED: "FS_MKDIR_FAILED",
|
|
151
|
+
FS_DELETE_FAILED: "FS_DELETE_FAILED",
|
|
152
|
+
FS_ATOMIC_WRITE_FAILED: "FS_ATOMIC_WRITE_FAILED",
|
|
153
|
+
// General
|
|
154
|
+
UNKNOWN: "UNKNOWN"
|
|
155
|
+
};
|
|
109
156
|
var WrongStackError = class extends Error {
|
|
110
157
|
code;
|
|
111
158
|
subsystem;
|
|
@@ -171,7 +218,7 @@ var PluginError = class extends WrongStackError {
|
|
|
171
218
|
code: opts.code,
|
|
172
219
|
subsystem: "plugin",
|
|
173
220
|
severity: "error",
|
|
174
|
-
recoverable: opts.code ===
|
|
221
|
+
recoverable: opts.code === ERROR_CODES.PLUGIN_MISSING_DEPENDENCY,
|
|
175
222
|
context: { plugin: opts.pluginName, ...opts.context },
|
|
176
223
|
cause: opts.cause
|
|
177
224
|
});
|
|
@@ -185,20 +232,20 @@ var AgentError = class extends WrongStackError {
|
|
|
185
232
|
message: opts.message,
|
|
186
233
|
code: opts.code,
|
|
187
234
|
subsystem: "agent",
|
|
188
|
-
severity: opts.code ===
|
|
189
|
-
recoverable: opts.recoverable ?? opts.code ===
|
|
235
|
+
severity: opts.code === ERROR_CODES.AGENT_ABORTED ? "warning" : "error",
|
|
236
|
+
recoverable: opts.recoverable ?? opts.code === ERROR_CODES.AGENT_ITERATION_LIMIT,
|
|
190
237
|
context: opts.context,
|
|
191
238
|
cause: opts.cause
|
|
192
239
|
});
|
|
193
240
|
this.name = "AgentError";
|
|
194
241
|
}
|
|
195
242
|
};
|
|
196
|
-
function toWrongStackError(err, code =
|
|
243
|
+
function toWrongStackError(err, code = ERROR_CODES.AGENT_RUN_FAILED) {
|
|
197
244
|
if (err instanceof WrongStackError) return err;
|
|
198
245
|
const message = err instanceof Error ? err.message : String(err);
|
|
199
246
|
return new AgentError({
|
|
200
247
|
message,
|
|
201
|
-
code: code === "UNKNOWN" ?
|
|
248
|
+
code: code === "UNKNOWN" ? ERROR_CODES.AGENT_RUN_FAILED : code,
|
|
202
249
|
cause: err
|
|
203
250
|
});
|
|
204
251
|
}
|
|
@@ -209,8 +256,8 @@ var SessionError = class extends WrongStackError {
|
|
|
209
256
|
message: opts.message,
|
|
210
257
|
code: opts.code,
|
|
211
258
|
subsystem: "session",
|
|
212
|
-
severity: opts.code ===
|
|
213
|
-
recoverable: opts.code !==
|
|
259
|
+
severity: opts.code === ERROR_CODES.SESSION_WRITE_FAILED ? "error" : "warning",
|
|
260
|
+
recoverable: opts.code !== ERROR_CODES.SESSION_CORRUPTED,
|
|
214
261
|
context: { sessionId: opts.sessionId, ...opts.context },
|
|
215
262
|
cause: opts.cause
|
|
216
263
|
});
|
|
@@ -218,6 +265,22 @@ var SessionError = class extends WrongStackError {
|
|
|
218
265
|
this.sessionId = opts.sessionId;
|
|
219
266
|
}
|
|
220
267
|
};
|
|
268
|
+
var FsError = class extends WrongStackError {
|
|
269
|
+
path;
|
|
270
|
+
constructor(opts) {
|
|
271
|
+
super({
|
|
272
|
+
message: opts.message,
|
|
273
|
+
code: opts.code,
|
|
274
|
+
subsystem: "fs",
|
|
275
|
+
severity: "error",
|
|
276
|
+
recoverable: opts.code !== ERROR_CODES.FS_READ_FAILED,
|
|
277
|
+
context: { path: opts.path, ...opts.context },
|
|
278
|
+
cause: opts.cause
|
|
279
|
+
});
|
|
280
|
+
this.name = "FsError";
|
|
281
|
+
this.path = opts.path;
|
|
282
|
+
}
|
|
283
|
+
};
|
|
221
284
|
function isWrongStackError(err) {
|
|
222
285
|
return err instanceof WrongStackError;
|
|
223
286
|
}
|
|
@@ -236,6 +299,9 @@ function isSessionError(err) {
|
|
|
236
299
|
function isAgentError(err) {
|
|
237
300
|
return err instanceof AgentError;
|
|
238
301
|
}
|
|
302
|
+
function isFsError(err) {
|
|
303
|
+
return err instanceof FsError;
|
|
304
|
+
}
|
|
239
305
|
|
|
240
306
|
// src/kernel/container.ts
|
|
241
307
|
var Container = class {
|
|
@@ -244,7 +310,7 @@ var Container = class {
|
|
|
244
310
|
if (this.entries.has(token)) {
|
|
245
311
|
throw new WrongStackError({
|
|
246
312
|
message: `Container: token "${token.description ?? "unknown"}" already bound`,
|
|
247
|
-
code:
|
|
313
|
+
code: ERROR_CODES.CONTAINER_TOKEN_ALREADY_BOUND,
|
|
248
314
|
subsystem: "container",
|
|
249
315
|
context: { token: token.description }
|
|
250
316
|
});
|
|
@@ -261,7 +327,7 @@ var Container = class {
|
|
|
261
327
|
if (!existing) {
|
|
262
328
|
throw new WrongStackError({
|
|
263
329
|
message: `Container: cannot override "${token.description ?? "unknown"}" \u2014 not bound`,
|
|
264
|
-
code:
|
|
330
|
+
code: ERROR_CODES.CONTAINER_TOKEN_NOT_BOUND,
|
|
265
331
|
subsystem: "container",
|
|
266
332
|
context: { token: token.description }
|
|
267
333
|
});
|
|
@@ -278,7 +344,7 @@ var Container = class {
|
|
|
278
344
|
if (!existing) {
|
|
279
345
|
throw new WrongStackError({
|
|
280
346
|
message: `Container: cannot decorate "${token.description ?? "unknown"}" \u2014 not bound`,
|
|
281
|
-
code:
|
|
347
|
+
code: ERROR_CODES.CONTAINER_TOKEN_NOT_BOUND,
|
|
282
348
|
subsystem: "container",
|
|
283
349
|
context: { token: token.description }
|
|
284
350
|
});
|
|
@@ -292,7 +358,7 @@ var Container = class {
|
|
|
292
358
|
if (!entry) {
|
|
293
359
|
throw new WrongStackError({
|
|
294
360
|
message: `Container: token "${token.description ?? "unknown"}" not bound`,
|
|
295
|
-
code:
|
|
361
|
+
code: ERROR_CODES.CONTAINER_TOKEN_NOT_BOUND,
|
|
296
362
|
subsystem: "container",
|
|
297
363
|
context: { token: token.description }
|
|
298
364
|
});
|
|
@@ -895,16 +961,30 @@ function truncate(s, n) {
|
|
|
895
961
|
return s.length <= n ? s : `${s.slice(0, n - 1)}\u2026`;
|
|
896
962
|
}
|
|
897
963
|
function providerStatusToCode(status, type) {
|
|
898
|
-
if (status === 0) return
|
|
899
|
-
if (type === "rate_limit_error" || status === 429) return
|
|
900
|
-
if (type === "authentication_error" || status === 401) return
|
|
901
|
-
if (type === "overloaded_error" || status === 529) return
|
|
902
|
-
if (type === "invalid_request_error" || status === 400) return
|
|
903
|
-
if (status === 408) return
|
|
904
|
-
if (status >= 500) return
|
|
905
|
-
return
|
|
964
|
+
if (status === 0) return ERROR_CODES.PROVIDER_NETWORK_ERROR;
|
|
965
|
+
if (type === "rate_limit_error" || status === 429) return ERROR_CODES.PROVIDER_RATE_LIMITED;
|
|
966
|
+
if (type === "authentication_error" || status === 401) return ERROR_CODES.PROVIDER_AUTH_FAILED;
|
|
967
|
+
if (type === "overloaded_error" || status === 529) return ERROR_CODES.PROVIDER_OVERLOADED;
|
|
968
|
+
if (type === "invalid_request_error" || status === 400) return ERROR_CODES.PROVIDER_INVALID_REQUEST;
|
|
969
|
+
if (status === 408) return ERROR_CODES.PROVIDER_NETWORK_ERROR;
|
|
970
|
+
if (status >= 500) return ERROR_CODES.PROVIDER_SERVER_ERROR;
|
|
971
|
+
return ERROR_CODES.PROVIDER_INVALID_REQUEST;
|
|
906
972
|
}
|
|
907
973
|
|
|
974
|
+
// src/types/default-config.ts
|
|
975
|
+
var DEFAULT_TOOLS_CONFIG = Object.freeze({
|
|
976
|
+
defaultExecutionStrategy: "smart",
|
|
977
|
+
maxIterations: 100,
|
|
978
|
+
iterationTimeoutMs: 3e5,
|
|
979
|
+
sessionTimeoutMs: 18e5,
|
|
980
|
+
perIterationOutputCapBytes: 1e5,
|
|
981
|
+
autoExtendLimit: true
|
|
982
|
+
});
|
|
983
|
+
var DEFAULT_CONTEXT_CONFIG = Object.freeze({
|
|
984
|
+
preserveK: 10,
|
|
985
|
+
eliseThreshold: 2e3
|
|
986
|
+
});
|
|
987
|
+
|
|
908
988
|
// src/types/secret-vault.ts
|
|
909
989
|
var ENCRYPTED_PREFIX = "enc:v1:";
|
|
910
990
|
|
|
@@ -1736,9 +1816,11 @@ var DefaultPathResolver = class {
|
|
|
1736
1816
|
}
|
|
1737
1817
|
};
|
|
1738
1818
|
|
|
1819
|
+
// src/execution/regex-patterns.ts
|
|
1820
|
+
var NETWORK_ERR_RE = /ECONN|ETIMEDOUT|ETIME|ENOTFOUND|EAI_AGAIN|fetch failed/i;
|
|
1821
|
+
|
|
1739
1822
|
// src/execution/error-handler.ts
|
|
1740
1823
|
var CONTEXT_OVERFLOW_RE = /context|too long|tokens/i;
|
|
1741
|
-
var NETWORK_ERR_RE = /ECONN|ETIMEDOUT|ETIME|ENOTFOUND|EAI_AGAIN|fetch failed/i;
|
|
1742
1824
|
function buildRecoveryStrategies(opts) {
|
|
1743
1825
|
return [
|
|
1744
1826
|
{
|
|
@@ -1845,15 +1927,14 @@ var DefaultErrorHandler = class {
|
|
|
1845
1927
|
};
|
|
1846
1928
|
|
|
1847
1929
|
// src/execution/retry-policy.ts
|
|
1848
|
-
var DefaultRetryPolicy = class
|
|
1849
|
-
static NETWORK_ERR_RE = /ECONN|ETIMEDOUT|ETIME|ENOTFOUND|EAI_AGAIN|fetch failed/i;
|
|
1930
|
+
var DefaultRetryPolicy = class {
|
|
1850
1931
|
shouldRetry(err, attempt) {
|
|
1851
1932
|
if (err instanceof ProviderError) {
|
|
1852
1933
|
if (!err.retryable) return false;
|
|
1853
1934
|
return attempt < this.maxAttempts(err);
|
|
1854
1935
|
}
|
|
1855
1936
|
const msg = err.message ?? "";
|
|
1856
|
-
const isNetwork =
|
|
1937
|
+
const isNetwork = NETWORK_ERR_RE.test(msg);
|
|
1857
1938
|
if (isNetwork) return attempt < 2;
|
|
1858
1939
|
return false;
|
|
1859
1940
|
}
|
|
@@ -3922,8 +4003,16 @@ var DefaultSessionStore = class {
|
|
|
3922
4003
|
}
|
|
3923
4004
|
}
|
|
3924
4005
|
async resume(id) {
|
|
3925
|
-
const data = await this.load(id);
|
|
3926
4006
|
const file = path6.join(this.dir, `${id}.jsonl`);
|
|
4007
|
+
try {
|
|
4008
|
+
await fsp2.access(file, fsp2.constants.R_OK);
|
|
4009
|
+
} catch {
|
|
4010
|
+
throw new Error(
|
|
4011
|
+
`Session "${id}" not found \u2014 the session file does not exist or was deleted.`,
|
|
4012
|
+
{ cause: new Error("ENOENT") }
|
|
4013
|
+
);
|
|
4014
|
+
}
|
|
4015
|
+
const data = await this.load(id);
|
|
3927
4016
|
let handle;
|
|
3928
4017
|
try {
|
|
3929
4018
|
handle = await fsp2.open(file, "a", 384);
|
|
@@ -4820,16 +4909,16 @@ var BEHAVIOR_DEFAULTS = {
|
|
|
4820
4909
|
softThreshold: 0.75,
|
|
4821
4910
|
hardThreshold: 0.9,
|
|
4822
4911
|
autoCompact: true,
|
|
4823
|
-
preserveK:
|
|
4824
|
-
eliseThreshold:
|
|
4912
|
+
preserveK: DEFAULT_CONTEXT_CONFIG.preserveK,
|
|
4913
|
+
eliseThreshold: DEFAULT_CONTEXT_CONFIG.eliseThreshold
|
|
4825
4914
|
},
|
|
4826
4915
|
tools: {
|
|
4827
|
-
defaultExecutionStrategy:
|
|
4828
|
-
maxIterations:
|
|
4829
|
-
iterationTimeoutMs:
|
|
4830
|
-
sessionTimeoutMs:
|
|
4831
|
-
perIterationOutputCapBytes:
|
|
4832
|
-
autoExtendLimit:
|
|
4916
|
+
defaultExecutionStrategy: DEFAULT_TOOLS_CONFIG.defaultExecutionStrategy,
|
|
4917
|
+
maxIterations: DEFAULT_TOOLS_CONFIG.maxIterations,
|
|
4918
|
+
iterationTimeoutMs: DEFAULT_TOOLS_CONFIG.iterationTimeoutMs,
|
|
4919
|
+
sessionTimeoutMs: DEFAULT_TOOLS_CONFIG.sessionTimeoutMs,
|
|
4920
|
+
perIterationOutputCapBytes: DEFAULT_TOOLS_CONFIG.perIterationOutputCapBytes,
|
|
4921
|
+
autoExtendLimit: DEFAULT_TOOLS_CONFIG.autoExtendLimit
|
|
4833
4922
|
},
|
|
4834
4923
|
log: { level: "info" },
|
|
4835
4924
|
features: {
|
|
@@ -7173,7 +7262,7 @@ var AutoCompactionMiddleware = class {
|
|
|
7173
7262
|
if (fatal) {
|
|
7174
7263
|
throw new AgentError({
|
|
7175
7264
|
message: `Auto-compaction failed at ${pressure.level} threshold`,
|
|
7176
|
-
code:
|
|
7265
|
+
code: ERROR_CODES.AGENT_CONTEXT_OVERFLOW,
|
|
7177
7266
|
recoverable: true,
|
|
7178
7267
|
context: {
|
|
7179
7268
|
level: pressure.level,
|
|
@@ -7376,7 +7465,16 @@ async function loadGoal(filePath) {
|
|
|
7376
7465
|
}
|
|
7377
7466
|
}
|
|
7378
7467
|
async function saveGoal(filePath, goal) {
|
|
7379
|
-
|
|
7468
|
+
try {
|
|
7469
|
+
await atomicWrite(filePath, JSON.stringify(goal, null, 2), { mode: 384 });
|
|
7470
|
+
} catch (err) {
|
|
7471
|
+
throw new FsError({
|
|
7472
|
+
message: err instanceof Error ? err.message : String(err),
|
|
7473
|
+
code: ERROR_CODES.FS_ATOMIC_WRITE_FAILED,
|
|
7474
|
+
path: filePath,
|
|
7475
|
+
cause: err
|
|
7476
|
+
});
|
|
7477
|
+
}
|
|
7380
7478
|
}
|
|
7381
7479
|
function emptyGoal(goal) {
|
|
7382
7480
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -7591,7 +7689,7 @@ var EternalAutonomyEngine = class {
|
|
|
7591
7689
|
// Cap the inner loop so a runaway agent.run can't burn through
|
|
7592
7690
|
// the iteration timeout — the engine's own outer loop is the
|
|
7593
7691
|
// long-running thing, each tick should be bounded.
|
|
7594
|
-
maxIterations: this.opts.iterationMaxAgentSteps ??
|
|
7692
|
+
maxIterations: this.opts.iterationMaxAgentSteps ?? 500
|
|
7595
7693
|
}
|
|
7596
7694
|
);
|
|
7597
7695
|
if (result.status === "aborted") {
|
|
@@ -8739,6 +8837,30 @@ var DefaultMultiAgentCoordinator = class extends EventEmitter {
|
|
|
8739
8837
|
this.drainPendingAsAborted("Coordinator stopAll() drained the pending queue");
|
|
8740
8838
|
await Promise.allSettled([...this.subagents.keys()].map((id) => this.stop(id)));
|
|
8741
8839
|
}
|
|
8840
|
+
async remove(subagentId) {
|
|
8841
|
+
await this.stop(subagentId);
|
|
8842
|
+
this.subagents.delete(subagentId);
|
|
8843
|
+
}
|
|
8844
|
+
/**
|
|
8845
|
+
* Get current coordinator stats for monitoring/debugging.
|
|
8846
|
+
*/
|
|
8847
|
+
getStats() {
|
|
8848
|
+
let running = 0, idle = 0, stopped = 0;
|
|
8849
|
+
for (const [, entry] of this.subagents) {
|
|
8850
|
+
if (entry.status === "running") running++;
|
|
8851
|
+
else if (entry.status === "idle") idle++;
|
|
8852
|
+
else stopped++;
|
|
8853
|
+
}
|
|
8854
|
+
return {
|
|
8855
|
+
total: this.subagents.size,
|
|
8856
|
+
running,
|
|
8857
|
+
idle,
|
|
8858
|
+
stopped,
|
|
8859
|
+
inFlight: this.inFlight,
|
|
8860
|
+
pending: this.pendingTasks.length,
|
|
8861
|
+
completed: this.completedResults.length
|
|
8862
|
+
};
|
|
8863
|
+
}
|
|
8742
8864
|
getStatus() {
|
|
8743
8865
|
return {
|
|
8744
8866
|
coordinatorId: this.coordinatorId,
|
|
@@ -9206,6 +9328,12 @@ var ParallelEternalEngine = class {
|
|
|
9206
9328
|
get currentState() {
|
|
9207
9329
|
return this.state;
|
|
9208
9330
|
}
|
|
9331
|
+
/**
|
|
9332
|
+
* Get the underlying coordinator for stats/monitoring.
|
|
9333
|
+
*/
|
|
9334
|
+
getCoordinator() {
|
|
9335
|
+
return this.coordinator;
|
|
9336
|
+
}
|
|
9209
9337
|
stop() {
|
|
9210
9338
|
this.stopRequested = true;
|
|
9211
9339
|
void this.persistState("stopped").catch(() => {
|
|
@@ -9342,8 +9470,8 @@ Task: ${task}
|
|
|
9342
9470
|
await coordinator.spawn({
|
|
9343
9471
|
id: subagentId,
|
|
9344
9472
|
name: `slot-${subagentId.slice(-6)}`,
|
|
9345
|
-
|
|
9346
|
-
|
|
9473
|
+
// Let the coordinator apply its default budget (from roster or generic).
|
|
9474
|
+
// Hardcoding low limits here defeats the x10 budget improvement.
|
|
9347
9475
|
timeoutMs: this.timeoutMs
|
|
9348
9476
|
});
|
|
9349
9477
|
subagentIds.push(subagentId);
|
|
@@ -9360,7 +9488,7 @@ Task: ${task}
|
|
|
9360
9488
|
let results = [];
|
|
9361
9489
|
try {
|
|
9362
9490
|
const ctrl = new AbortController();
|
|
9363
|
-
const timer = setTimeout(() => ctrl.abort(), this.timeoutMs
|
|
9491
|
+
const timer = setTimeout(() => ctrl.abort(), Math.max(this.timeoutMs * 2, 72e5));
|
|
9364
9492
|
try {
|
|
9365
9493
|
results = await coordinator.awaitTasks(taskIds);
|
|
9366
9494
|
} finally {
|
|
@@ -10699,6 +10827,9 @@ var Director = class {
|
|
|
10699
10827
|
async terminateAll() {
|
|
10700
10828
|
await this.coordinator.stopAll();
|
|
10701
10829
|
}
|
|
10830
|
+
async remove(subagentId) {
|
|
10831
|
+
await this.coordinator.remove(subagentId);
|
|
10832
|
+
}
|
|
10702
10833
|
status() {
|
|
10703
10834
|
return this.coordinator.getStatus();
|
|
10704
10835
|
}
|
|
@@ -11168,6 +11299,7 @@ async function readSubagentPartial(opts, subagentId) {
|
|
|
11168
11299
|
}
|
|
11169
11300
|
}
|
|
11170
11301
|
} catch {
|
|
11302
|
+
continue;
|
|
11171
11303
|
}
|
|
11172
11304
|
}
|
|
11173
11305
|
return {
|
|
@@ -16425,7 +16557,6 @@ var defaultGitignoreUpdater = new GitignoreUpdater();
|
|
|
16425
16557
|
|
|
16426
16558
|
// src/security-scanner/orchestrator.ts
|
|
16427
16559
|
init_atomic_write();
|
|
16428
|
-
var NETWORK_ERR_RE2 = /ECONN|ETIMEDOUT|ETIME|ENOTFOUND|EAI_AGAIN|fetch failed/i;
|
|
16429
16560
|
var SecurityScannerOrchestrator = class {
|
|
16430
16561
|
constructor(retryPolicy, errorHandler) {
|
|
16431
16562
|
this.retryPolicy = retryPolicy;
|
|
@@ -16448,7 +16579,7 @@ var SecurityScannerOrchestrator = class {
|
|
|
16448
16579
|
const isProviderErr = err instanceof ProviderError;
|
|
16449
16580
|
const policy = this.retryPolicy;
|
|
16450
16581
|
const errAsErr = isProviderErr ? err : err instanceof Error ? err : new Error(String(err));
|
|
16451
|
-
if (!policy || !isProviderErr && !
|
|
16582
|
+
if (!policy || !isProviderErr && !NETWORK_ERR_RE.test(errAsErr.message)) {
|
|
16452
16583
|
throw err;
|
|
16453
16584
|
}
|
|
16454
16585
|
const canRetry = policy.shouldRetry(errAsErr, attempt);
|
|
@@ -17645,7 +17776,7 @@ var ExtensionRegistry = class {
|
|
|
17645
17776
|
if (this.extensions.some((e) => e.name === ext.name)) {
|
|
17646
17777
|
throw new WrongStackError({
|
|
17647
17778
|
message: `Extension "${ext.name}" already registered`,
|
|
17648
|
-
code:
|
|
17779
|
+
code: ERROR_CODES.REGISTRY_DUPLICATE,
|
|
17649
17780
|
subsystem: "container",
|
|
17650
17781
|
context: { extension: ext.name }
|
|
17651
17782
|
});
|
|
@@ -19210,7 +19341,7 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
19210
19341
|
if (this.tools.has(tool.name)) {
|
|
19211
19342
|
throw new WrongStackError({
|
|
19212
19343
|
message: `Tool "${tool.name}" already registered`,
|
|
19213
|
-
code:
|
|
19344
|
+
code: ERROR_CODES.REGISTRY_DUPLICATE,
|
|
19214
19345
|
subsystem: "container",
|
|
19215
19346
|
context: { tool: tool.name }
|
|
19216
19347
|
});
|
|
@@ -19262,7 +19393,7 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
19262
19393
|
if (!this.tools.has(name)) {
|
|
19263
19394
|
throw new WrongStackError({
|
|
19264
19395
|
message: `Tool "${name}" not registered; cannot override`,
|
|
19265
|
-
code:
|
|
19396
|
+
code: ERROR_CODES.REGISTRY_NOT_FOUND,
|
|
19266
19397
|
subsystem: "container",
|
|
19267
19398
|
context: { tool: name }
|
|
19268
19399
|
});
|
|
@@ -19285,7 +19416,7 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
19285
19416
|
if (!entry) {
|
|
19286
19417
|
throw new WrongStackError({
|
|
19287
19418
|
message: `Tool "${name}" not registered; cannot wrap`,
|
|
19288
|
-
code:
|
|
19419
|
+
code: ERROR_CODES.REGISTRY_NOT_FOUND,
|
|
19289
19420
|
subsystem: "container",
|
|
19290
19421
|
context: { tool: name }
|
|
19291
19422
|
});
|
|
@@ -19667,7 +19798,7 @@ function topoSort(plugins) {
|
|
|
19667
19798
|
if (visiting.has(p.name)) {
|
|
19668
19799
|
throw new PluginError({
|
|
19669
19800
|
message: `Plugin dependency cycle: ${[...stack, p.name].join(" -> ")}`,
|
|
19670
|
-
code:
|
|
19801
|
+
code: ERROR_CODES.PLUGIN_LOAD_FAILED,
|
|
19671
19802
|
pluginName: p.name
|
|
19672
19803
|
});
|
|
19673
19804
|
}
|
|
@@ -19678,7 +19809,7 @@ function topoSort(plugins) {
|
|
|
19678
19809
|
if (!d) {
|
|
19679
19810
|
throw new PluginError({
|
|
19680
19811
|
message: `Plugin "${p.name}" depends on missing plugin "${dep.name}"`,
|
|
19681
|
-
code:
|
|
19812
|
+
code: ERROR_CODES.PLUGIN_MISSING_DEPENDENCY,
|
|
19682
19813
|
pluginName: p.name,
|
|
19683
19814
|
context: { dependency: dep.name }
|
|
19684
19815
|
});
|
|
@@ -19686,7 +19817,7 @@ function topoSort(plugins) {
|
|
|
19686
19817
|
if (dep.version && d.version && !satisfies(dep.version, d.version)) {
|
|
19687
19818
|
throw new PluginError({
|
|
19688
19819
|
message: `Plugin "${p.name}" requires "${dep.name}@${dep.version}", found ${d.version}`,
|
|
19689
|
-
code:
|
|
19820
|
+
code: ERROR_CODES.PLUGIN_LOAD_FAILED,
|
|
19690
19821
|
pluginName: p.name,
|
|
19691
19822
|
context: { dependency: dep.name, required: dep.version, found: d.version }
|
|
19692
19823
|
});
|
|
@@ -19700,7 +19831,7 @@ function topoSort(plugins) {
|
|
|
19700
19831
|
if (dep.version && d.version && !satisfies(dep.version, d.version)) {
|
|
19701
19832
|
throw new PluginError({
|
|
19702
19833
|
message: `Plugin "${p.name}" optional dep "${dep.name}@${dep.version}" found ${d.version}`,
|
|
19703
|
-
code:
|
|
19834
|
+
code: ERROR_CODES.PLUGIN_LOAD_FAILED,
|
|
19704
19835
|
pluginName: p.name,
|
|
19705
19836
|
context: { dependency: dep.name, required: dep.version, found: d.version }
|
|
19706
19837
|
});
|
|
@@ -19725,7 +19856,7 @@ async function loadPlugins(plugins, opts) {
|
|
|
19725
19856
|
if (names.has(c)) {
|
|
19726
19857
|
throw new PluginError({
|
|
19727
19858
|
message: `Plugin "${p.name}" conflicts with loaded plugin "${c}"`,
|
|
19728
|
-
code:
|
|
19859
|
+
code: ERROR_CODES.PLUGIN_LOAD_FAILED,
|
|
19729
19860
|
pluginName: p.name,
|
|
19730
19861
|
context: { conflictsWith: c }
|
|
19731
19862
|
});
|
|
@@ -19743,7 +19874,7 @@ async function loadPlugins(plugins, opts) {
|
|
|
19743
19874
|
if (!satisfies(plugin.apiVersion, kernelVersion)) {
|
|
19744
19875
|
const err = new PluginError({
|
|
19745
19876
|
message: `Plugin "${plugin.name}" requires apiVersion ${plugin.apiVersion}; kernel is ${kernelVersion}`,
|
|
19746
|
-
code:
|
|
19877
|
+
code: ERROR_CODES.PLUGIN_API_MISMATCH,
|
|
19747
19878
|
pluginName: plugin.name,
|
|
19748
19879
|
context: { required: plugin.apiVersion, kernel: kernelVersion }
|
|
19749
19880
|
});
|
|
@@ -19765,7 +19896,7 @@ async function loadPlugins(plugins, opts) {
|
|
|
19765
19896
|
const detail = firstErr ? `${firstErr.path}: ${firstErr.message}` : "config invalid";
|
|
19766
19897
|
const err = new PluginError({
|
|
19767
19898
|
message: `Plugin "${plugin.name}" config invalid \u2014 ${detail}`,
|
|
19768
|
-
code:
|
|
19899
|
+
code: ERROR_CODES.PLUGIN_LOAD_FAILED,
|
|
19769
19900
|
pluginName: plugin.name,
|
|
19770
19901
|
context: { errors: result.errors }
|
|
19771
19902
|
});
|
|
@@ -19815,7 +19946,7 @@ function wrapApiForCapabilityCheck(plugin, api, log, enforce = false) {
|
|
|
19815
19946
|
if (enforce) {
|
|
19816
19947
|
throw new PluginError({
|
|
19817
19948
|
message: msg,
|
|
19818
|
-
code:
|
|
19949
|
+
code: ERROR_CODES.PLUGIN_LOAD_FAILED,
|
|
19819
19950
|
pluginName: plugin.name,
|
|
19820
19951
|
context: { subsystem, detail }
|
|
19821
19952
|
});
|
|
@@ -19888,6 +20019,6 @@ function wrapApiForCapabilityCheck(plugin, api, log, enforce = false) {
|
|
|
19888
20019
|
});
|
|
19889
20020
|
}
|
|
19890
20021
|
|
|
19891
|
-
export { AISpecBuilder, ALL_FLEET_AGENTS, AUDIT_LOG_AGENT, Agent, AgentError, AutoApprovePermissionPolicy, AutoCompactionMiddleware, AutoExecutor, AutonomousRunner, BUG_HUNTER_AGENT, BudgetExceededError, CONTEXT_WINDOW_MODES, ConfigError, ConfigMigrationError, Container, Context, ConversationState, DEFAULT_CONFIG_MIGRATIONS, DEFAULT_CONTEXT_WINDOW_MODE_ID, DEFAULT_DIRECTOR_PREAMBLE, DEFAULT_MAX_ITERATIONS, DEFAULT_MODES, DEFAULT_RECOVERY_STRATEGIES, DEFAULT_SPEC_TEMPLATE, DEFAULT_SUBAGENT_BASELINE, DefaultAttachmentStore, DefaultConfigLoader, DefaultConfigStore, DefaultErrorHandler, DefaultHealthRegistry, DefaultLogger, DefaultMemoryStore, DefaultModeStore, DefaultModelsRegistry, DefaultMultiAgentCoordinator, DefaultPathResolver, DefaultPermissionPolicy, DefaultPluginAPI, DefaultProviderRunner, DefaultRetryPolicy, DefaultSecretScrubber, DefaultSecretVault, DefaultSessionReader, DefaultSessionRewinder, DefaultSessionStore, DefaultSkillLoader, DefaultSystemPromptBuilder, DefaultTaskStore, DefaultTokenCounter, Director, DirectorStateCheckpoint, DoneConditionChecker, EternalAutonomyEngine, EventBus, ExtensionRegistry, FLEET_ROSTER, FLEET_ROSTER_BUDGETS, FleetBus, FleetManager, FleetSpawnBudgetError, FleetUsageAggregator, GitignoreUpdater, HybridCompactor, InMemoryAgentBridge, InMemoryBridgeTransport, InMemoryMetricsSink, InputBuilder, IntelligentCompactor, KERNEL_API_VERSION, LAYER_1_IDENTITY, LLMSelector, MAX_JOURNAL_ENTRIES, NULL_FLEET_BUS, NoopMetricsSink, NoopTracer, OTelTracer, PROMETHEUS_CONTENT_TYPE, ParallelEternalEngine, Pipeline, PluginError, ProviderError, ProviderRegistry, QueueStore, REFACTOR_PLANNER_AGENT, RecoveryLock, ReportGenerator, RunController, SECURITY_SCANNER_AGENT, SPEC_TEMPLATES, ScopedEventBus, SecurityScanner, SecurityScannerOrchestrator, SelectiveCompactor, SessionAnalyzer, SessionError, SkillGenerator, SkillInstaller, SkillManifestStore, SlashCommandRegistry, SpecDrivenDev, SpecParser, SpecStore, SpecVersioning, SubagentBudget, TOKENS, TaskFlow, TaskGenerator, TaskGraphStore, TaskTracker, TechStackDetector, ToolError, ToolExecutor, ToolRegistry, WrongStackError, addPlanItem, allServers, analyzeCriticalPath, appendJournal, applyRosterBudget, asBlocks, asText, atomicWrite, attachPlanCheckpoint, attachTodosCheckpoint, awsServer, blockServer, braveSearchServer, buildChildEnv, buildGoalPreamble, buildOtlpMetricsRequest, buildOtlpTracesRequest, buildRecoveryStrategies, classifyFamily, clearPlan, color, compileGlob, compileUserRegex, composeDirectorPrompt, composeSubagentPrompt, computeTaskProgress, context7Server, contextManagerTool, createAutoExecutor, createContextManagerTool, createDefaultPipelines, createDelegateTool, createMcpControlTool, createMessage, createSecuritySlashCommand, createToolOutputSerializer, decryptConfigSecrets, defaultGitignoreUpdater, defaultOrchestrator, defaultReportGenerator, defaultSecurityScanner, defaultSkillGenerator, defaultTechStackDetector, deriveTodosFromPlanItem, detectNewlineStyle, downloadGitHubTarball, emptyGoal, emptyPlan, encryptConfigSecrets, ensureDir, estimateRequestTokens, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, everArtServer, extractRunEnv, filesystemServer, findCriticalPath, formatContextWindowModeList, formatGoal, formatPlan, formatPlanTemplates, formatTodosList, getContextWindowMode, getPlanTemplate, getTemplate, githubServer, goalFilePath, googleMapsServer, isAgentError, isConfigError, isContextWindowModeId, isImageBlock, isPluginError, isSessionError, isTextBlock, isThinkingBlock, isToolError, isToolResultBlock, isToolUseBlock, isWrongStackError, listContextWindowModes, listPlanTemplates, listTemplates, loadDirectorState, loadGoal, loadPlan, loadPlugins, loadProjectModes, loadTodosCheckpoint, loadUserModes, makeAgentSubagentRunner, makeAutonomyPromptContributor, makeContinueToNextIterationTool, makeDirectorSessionFactory, matchAny, matchGlob, migratePlaintextSecrets, miniMaxVisionServer, normalizeToLf, parseContinueDirective, parseSkillRef, projectHash, removePlanItem, renderProgress, renderPrometheus, renderSpecAnalysis, renderTaskGraph, renderTaskList, repairToolUseAdjacency, resolveContextWindowPolicy, resolveWstackPaths, rewriteConfigEncrypted, rosterSummaryFromConfigs, runConfigMigrations, safeParse, safeStringify, sanitizeJsonString, saveGoal, savePlan, saveTodosCheckpoint, securitySlashCommand, sentinelServer, setPlanItemStatus, slackServer, startMetricsServer, startOtlpMetricsExporter, startOtlpTraceExporter, stripAnsi, summarizeUsage, templateToMarkdown, toStyle, toWrongStackError, topologicalSort, unifiedDiff, unloadPlugins, validateAgainstSchema, wireMetricsToEvents, wrapAsState, zaiVisionServer };
|
|
20022
|
+
export { AISpecBuilder, ALL_FLEET_AGENTS, AUDIT_LOG_AGENT, Agent, AgentError, AutoApprovePermissionPolicy, AutoCompactionMiddleware, AutoExecutor, AutonomousRunner, BUG_HUNTER_AGENT, BudgetExceededError, CONTEXT_WINDOW_MODES, ConfigError, ConfigMigrationError, Container, Context, ConversationState, DEFAULT_CONFIG_MIGRATIONS, DEFAULT_CONTEXT_CONFIG, DEFAULT_CONTEXT_WINDOW_MODE_ID, DEFAULT_DIRECTOR_PREAMBLE, DEFAULT_MAX_ITERATIONS, DEFAULT_MODES, DEFAULT_RECOVERY_STRATEGIES, DEFAULT_SPEC_TEMPLATE, DEFAULT_SUBAGENT_BASELINE, DEFAULT_TOOLS_CONFIG, DefaultAttachmentStore, DefaultConfigLoader, DefaultConfigStore, DefaultErrorHandler, DefaultHealthRegistry, DefaultLogger, DefaultMemoryStore, DefaultModeStore, DefaultModelsRegistry, DefaultMultiAgentCoordinator, DefaultPathResolver, DefaultPermissionPolicy, DefaultPluginAPI, DefaultProviderRunner, DefaultRetryPolicy, DefaultSecretScrubber, DefaultSecretVault, DefaultSessionReader, DefaultSessionRewinder, DefaultSessionStore, DefaultSkillLoader, DefaultSystemPromptBuilder, DefaultTaskStore, DefaultTokenCounter, Director, DirectorStateCheckpoint, DoneConditionChecker, ERROR_CODES, EternalAutonomyEngine, EventBus, ExtensionRegistry, FLEET_ROSTER, FLEET_ROSTER_BUDGETS, FleetBus, FleetManager, FleetSpawnBudgetError, FleetUsageAggregator, FsError, GitignoreUpdater, HybridCompactor, InMemoryAgentBridge, InMemoryBridgeTransport, InMemoryMetricsSink, InputBuilder, IntelligentCompactor, KERNEL_API_VERSION, LAYER_1_IDENTITY, LLMSelector, MAX_JOURNAL_ENTRIES, NULL_FLEET_BUS, NoopMetricsSink, NoopTracer, OTelTracer, PROMETHEUS_CONTENT_TYPE, ParallelEternalEngine, Pipeline, PluginError, ProviderError, ProviderRegistry, QueueStore, REFACTOR_PLANNER_AGENT, RecoveryLock, ReportGenerator, RunController, SECURITY_SCANNER_AGENT, SPEC_TEMPLATES, ScopedEventBus, SecurityScanner, SecurityScannerOrchestrator, SelectiveCompactor, SessionAnalyzer, SessionError, SkillGenerator, SkillInstaller, SkillManifestStore, SlashCommandRegistry, SpecDrivenDev, SpecParser, SpecStore, SpecVersioning, SubagentBudget, TOKENS, TaskFlow, TaskGenerator, TaskGraphStore, TaskTracker, TechStackDetector, ToolError, ToolExecutor, ToolRegistry, WrongStackError, addPlanItem, allServers, analyzeCriticalPath, appendJournal, applyRosterBudget, asBlocks, asText, atomicWrite, attachPlanCheckpoint, attachTodosCheckpoint, awsServer, blockServer, braveSearchServer, buildChildEnv, buildGoalPreamble, buildOtlpMetricsRequest, buildOtlpTracesRequest, buildRecoveryStrategies, classifyFamily, clearPlan, color, compileGlob, compileUserRegex, composeDirectorPrompt, composeSubagentPrompt, computeTaskProgress, context7Server, contextManagerTool, createAutoExecutor, createContextManagerTool, createDefaultPipelines, createDelegateTool, createMcpControlTool, createMessage, createSecuritySlashCommand, createToolOutputSerializer, decryptConfigSecrets, defaultGitignoreUpdater, defaultOrchestrator, defaultReportGenerator, defaultSecurityScanner, defaultSkillGenerator, defaultTechStackDetector, deriveTodosFromPlanItem, detectNewlineStyle, downloadGitHubTarball, emptyGoal, emptyPlan, encryptConfigSecrets, ensureDir, estimateRequestTokens, estimateTextTokens, estimateToolDefTokens, estimateToolInputTokens, estimateToolResultTokens, everArtServer, extractRunEnv, filesystemServer, findCriticalPath, formatContextWindowModeList, formatGoal, formatPlan, formatPlanTemplates, formatTodosList, getContextWindowMode, getPlanTemplate, getTemplate, githubServer, goalFilePath, googleMapsServer, isAgentError, isConfigError, isContextWindowModeId, isFsError, isImageBlock, isPluginError, isSessionError, isTextBlock, isThinkingBlock, isToolError, isToolResultBlock, isToolUseBlock, isWrongStackError, listContextWindowModes, listPlanTemplates, listTemplates, loadDirectorState, loadGoal, loadPlan, loadPlugins, loadProjectModes, loadTodosCheckpoint, loadUserModes, makeAgentSubagentRunner, makeAutonomyPromptContributor, makeContinueToNextIterationTool, makeDirectorSessionFactory, matchAny, matchGlob, migratePlaintextSecrets, miniMaxVisionServer, normalizeToLf, parseContinueDirective, parseSkillRef, projectHash, removePlanItem, renderProgress, renderPrometheus, renderSpecAnalysis, renderTaskGraph, renderTaskList, repairToolUseAdjacency, resolveContextWindowPolicy, resolveWstackPaths, rewriteConfigEncrypted, rosterSummaryFromConfigs, runConfigMigrations, safeParse, safeStringify, sanitizeJsonString, saveGoal, savePlan, saveTodosCheckpoint, securitySlashCommand, sentinelServer, setPlanItemStatus, slackServer, startMetricsServer, startOtlpMetricsExporter, startOtlpTraceExporter, stripAnsi, summarizeUsage, templateToMarkdown, toStyle, toWrongStackError, topologicalSort, unifiedDiff, unloadPlugins, validateAgainstSchema, wireMetricsToEvents, wrapAsState, zaiVisionServer };
|
|
19892
20023
|
//# sourceMappingURL=index.js.map
|
|
19893
20024
|
//# sourceMappingURL=index.js.map
|