@cortexkit/opencode-magic-context 0.44.1 → 0.44.3
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/README.md +6 -0
- package/dist/agents/dreamer.d.ts +4 -6
- package/dist/agents/dreamer.d.ts.map +1 -1
- package/dist/config/live-child-output-cap.d.ts.map +1 -1
- package/dist/config/schema/magic-context.d.ts +63 -10
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/{conflict-warning-hook-d14ah73v.js → conflict-warning-hook-hmpzxep6.js} +3 -3
- package/dist/{derive-budgets-gd2270s0.js → derive-budgets-vjmvh6pz.js} +3 -1
- package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts +11 -0
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
- package/dist/features/magic-context/compartment-storage.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/docs-proposals.d.ts +2 -0
- package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/lease.d.ts +1 -1
- package/dist/features/magic-context/dreamer/lease.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/manual-summary.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts +1 -1
- package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts +5 -0
- package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/refresh-primers.d.ts +5 -0
- package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts +2 -2
- package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +8 -1
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts +5 -0
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-prompts.d.ts +18 -2
- package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-registry.d.ts +12 -0
- package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts +3 -1
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/token-budget.d.ts +33 -0
- package/dist/features/magic-context/dreamer/token-budget.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/verify-diff.d.ts +15 -0
- package/dist/features/magic-context/dreamer/verify-diff.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/verify-gate.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify-prompt.d.ts +5 -2
- package/dist/features/magic-context/dreamer/verify-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify-read-cap.d.ts +4 -0
- package/dist/features/magic-context/dreamer/verify-read-cap.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/verify.d.ts +5 -0
- package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
- package/dist/features/magic-context/git-commits/git-log-reader.d.ts.map +1 -1
- package/dist/features/magic-context/memory/project-identity-cache.d.ts +6 -0
- package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -0
- package/dist/features/magic-context/memory/project-identity.d.ts +11 -22
- package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
- package/dist/features/magic-context/memory/storage-memory-fts.d.ts +1 -0
- package/dist/features/magic-context/memory/storage-memory-fts.d.ts.map +1 -1
- package/dist/features/magic-context/memory/verification-paths.d.ts +1 -0
- package/dist/features/magic-context/memory/verification-paths.d.ts.map +1 -1
- package/dist/features/magic-context/message-index-async.d.ts +1 -1
- package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts +5 -0
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/search.d.ts.map +1 -1
- package/dist/features/magic-context/session-activity.d.ts +10 -0
- package/dist/features/magic-context/session-activity.d.ts.map +1 -0
- package/dist/features/magic-context/session-project-backfill.d.ts +4 -1
- package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -1
- package/dist/features/magic-context/session-project-storage.d.ts +5 -5
- package/dist/features/magic-context/session-project-storage.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/compiler.d.ts +5 -0
- package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts +1 -0
- package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/storage.d.ts +1 -1
- package/dist/features/magic-context/smart-notes/storage.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/types.d.ts +2 -0
- package/dist/features/magic-context/smart-notes/types.d.ts.map +1 -1
- package/dist/features/magic-context/storage-db.d.ts +2 -1
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/storage-embedding-measurements.d.ts.map +1 -1
- package/dist/features/magic-context/storage-identity-merge.d.ts +4 -1
- package/dist/features/magic-context/storage-identity-merge.d.ts.map +1 -1
- package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
- package/dist/features/magic-context/v22-deferred-backfill.d.ts.map +1 -1
- package/dist/hooks/auto-update-checker/checker.d.ts.map +1 -1
- package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts +2 -1
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-types.d.ts +1 -0
- package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner.d.ts +1 -0
- package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/derive-budgets.d.ts +4 -0
- package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -1
- package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -1
- package/dist/hooks/magic-context/embed-session-state.d.ts +3 -0
- package/dist/hooks/magic-context/embed-session-state.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-handler.d.ts +1 -0
- package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-payloads.d.ts +1 -0
- package/dist/hooks/magic-context/event-payloads.d.ts.map +1 -1
- package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-persist.d.ts +1 -4
- package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-replay.d.ts +6 -4
- package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
- package/dist/hooks/magic-context/producer-window-guard.d.ts +4 -1
- package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts +1 -0
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/storage-busy-refusal.d.ts +13 -0
- package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -0
- package/dist/hooks/magic-context/strip-content.d.ts +1 -0
- package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/{index-a9vbtdzv.js → index-33q7s9y2.js} +1 -1
- package/dist/{index-cz88kw0n.js → index-4an2p8qa.js} +183 -39
- package/dist/{index-d107az47.js → index-638hf49n.js} +1 -1
- package/dist/{index-stb5fg12.js → index-9y5p0d50.js} +31 -1
- package/dist/{index-s6b7h12g.js → index-dgg5y7er.js} +73 -2
- package/dist/{index-6w9p73jz.js → index-jqcbs2k1.js} +10 -0
- package/dist/{index-0rp6pj54.js → index-nf9sk8sh.js} +7 -5
- package/dist/index-q5p1aqvv.js +7260 -0
- package/dist/index-rdsaxnf2.js +125 -0
- package/dist/{index-jtdrvmcn.js → index-yhm60r53.js} +37544 -37072
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8402 -14429
- package/dist/plugin/dream-timer.d.ts.map +1 -1
- package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/messages-transform.d.ts +10 -9
- package/dist/plugin/messages-transform.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts +1 -0
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/{read-session-chunk-fkdv2g5b.js → read-session-chunk-n072mcq4.js} +2 -2
- package/dist/{recomp-orchestrator-k4h5n0p3.js → recomp-orchestrator-19tr6zya.js} +6 -5
- package/dist/{send-session-notification-g2k03zyn.js → send-session-notification-04hvd54c.js} +2 -2
- package/dist/shared/model-suggestion-retry.d.ts +1 -1
- package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
- package/dist/shared/prompt-async-transport.d.ts +7 -7
- package/dist/shared/prompt-async-transport.d.ts.map +1 -1
- package/dist/shared/rpc-server.d.ts.map +1 -1
- package/dist/shared/rpc-utils.d.ts +21 -0
- package/dist/shared/rpc-utils.d.ts.map +1 -1
- package/dist/shared/run-token-log.d.ts +13 -0
- package/dist/shared/run-token-log.d.ts.map +1 -0
- package/dist/shared/sqlite-write-locker-test-support.d.ts.map +1 -1
- package/dist/shared/sqlite.d.ts +19 -0
- package/dist/shared/sqlite.d.ts.map +1 -1
- package/dist/shared/subagent-runner.d.ts +3 -1
- package/dist/shared/subagent-runner.d.ts.map +1 -1
- package/dist/shared/user-facing-codes.d.ts +5 -0
- package/dist/shared/user-facing-codes.d.ts.map +1 -1
- package/dist/{task-config-mgf5nsh3.js → task-config-2bm68628.js} +1 -1
- package/dist/transform-postprocess-phase-z2mfc5w1.js +36 -0
- package/dist/v2/hidden-completion.d.ts +9 -1
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/hooks/context.d.ts.map +1 -1
- package/dist/v2/hooks/hidden-child.d.ts +1 -0
- package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
- package/dist/v2/hooks/hidden-terminal-error.d.ts +8 -0
- package/dist/v2/hooks/hidden-terminal-error.d.ts.map +1 -0
- package/dist/v2/hooks/lkg-system.d.ts +11 -0
- package/dist/v2/hooks/lkg-system.d.ts.map +1 -0
- package/dist/v2/hooks/session-project-backfill.d.ts +1 -1
- package/dist/v2/hooks/session-project-backfill.d.ts.map +1 -1
- package/dist/v2/hooks/storage-gate.d.ts +11 -5
- package/dist/v2/hooks/storage-gate.d.ts.map +1 -1
- package/dist/v2/hooks/tools.d.ts +1 -1
- package/dist/v2/hooks/tools.d.ts.map +1 -1
- package/dist/v2/host-service.d.ts +2 -1
- package/dist/v2/host-service.d.ts.map +1 -1
- package/dist/v2/server.js +24948 -22659
- package/dist/v2/store-reader.d.ts +2 -0
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/{wrapup-orchestrator-35y56636.js → wrapup-orchestrator-sy4m56a7.js} +7 -6
- package/package.json +1 -1
- package/src/agents/dreamer.ts +4 -6
- package/src/agents/hidden-agent-registrations.ts +3 -3
- package/src/agents/permissions.test.ts +3 -4
- package/src/config/latch-permanence-guard.test.ts +13 -0
- package/src/config/live-child-output-cap.test.ts +26 -0
- package/src/config/live-child-output-cap.ts +6 -2
- package/src/config/schema/magic-context.ts +21 -6
- package/src/features/magic-context/dreamer/task-registry.ts +13 -0
- package/src/shared/data-path.test.ts +1 -1
- package/src/shared/logger.test.ts +1 -0
- package/src/shared/model-suggestion-retry.ts +9 -2
- package/src/shared/models-dev-cache.test.ts +30 -1
- package/src/shared/prompt-async-transport.test.ts +254 -1
- package/src/shared/prompt-async-transport.ts +153 -44
- package/src/shared/rpc-async-probes.test.ts +230 -0
- package/src/shared/rpc-server.ts +6 -4
- package/src/shared/rpc-utils.test.ts +27 -1
- package/src/shared/rpc-utils.ts +161 -9
- package/src/shared/run-token-log.test.ts +65 -0
- package/src/shared/run-token-log.ts +39 -0
- package/src/shared/sqlite-acquisition-fence.test.ts +132 -0
- package/src/shared/sqlite-acquisition-routing.test.ts +102 -0
- package/src/shared/sqlite-pass-scope.test.ts +153 -0
- package/src/shared/sqlite-transaction-mode-guard.test.ts +42 -10
- package/src/shared/sqlite-write-locker-test-support.ts +1 -0
- package/src/shared/sqlite.ts +245 -56
- package/src/shared/storage-busy.test.ts +72 -0
- package/src/shared/subagent-runner.ts +4 -0
- package/src/shared/user-facing-codes.ts +6 -0
- package/src/shared/windows-hidden-spawns.test.ts +132 -0
- package/src/shared/write-transaction-attribution.test.ts +14 -11
|
@@ -207,6 +207,7 @@ function closeQuietly(db) {
|
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
// src/shared/sqlite.ts
|
|
210
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
210
211
|
import { statSync as statSync2 } from "node:fs";
|
|
211
212
|
var reportSlowPrivilegedWrite;
|
|
212
213
|
function registerSlowWriteReporter(reporter) {
|
|
@@ -262,6 +263,65 @@ var sqliteModule = await loadSqliteModule(detectedRuntime);
|
|
|
262
263
|
var DatabaseImpl = isBun ? sqliteModule.Database : buildNodeSqliteDatabaseClass(sqliteModule.DatabaseSync);
|
|
263
264
|
var trackedSqliteConnections = new Map;
|
|
264
265
|
var nextSqliteConnectionSequence = 1;
|
|
266
|
+
function installTransactionRouting(db, readonly) {
|
|
267
|
+
const nativeExec = db.exec.bind(db);
|
|
268
|
+
Object.defineProperty(db, "exec", {
|
|
269
|
+
configurable: true,
|
|
270
|
+
writable: true,
|
|
271
|
+
value: (sql) => {
|
|
272
|
+
if (/^\s*BEGIN\s+(?:IMMEDIATE|EXCLUSIVE)(?:\s+TRANSACTION)?\s*;?\s*$/i.test(sql)) {
|
|
273
|
+
if (transformPassScope.getStore()?.active || backgroundWriterScope.getStore())
|
|
274
|
+
acquireShort(db, () => nativeExec(sql), sql.trim());
|
|
275
|
+
else
|
|
276
|
+
nativeExec(sql);
|
|
277
|
+
return db;
|
|
278
|
+
}
|
|
279
|
+
return nativeExec(sql);
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
Object.defineProperty(db, "transaction", {
|
|
283
|
+
configurable: true,
|
|
284
|
+
writable: true,
|
|
285
|
+
value: (fn) => {
|
|
286
|
+
const make = (mode) => function(...args) {
|
|
287
|
+
const nested = isInTransaction(db);
|
|
288
|
+
const savepoint = "mc_tx_sp";
|
|
289
|
+
db.exec(nested ? `SAVEPOINT ${savepoint}` : `BEGIN ${mode}`);
|
|
290
|
+
try {
|
|
291
|
+
const result = fn.apply(this, args);
|
|
292
|
+
db.exec(nested ? `RELEASE ${savepoint}` : "COMMIT");
|
|
293
|
+
return result;
|
|
294
|
+
} catch (error) {
|
|
295
|
+
if (isInTransaction(db)) {
|
|
296
|
+
if (nested) {
|
|
297
|
+
db.exec(`ROLLBACK TO ${savepoint}`);
|
|
298
|
+
db.exec(`RELEASE ${savepoint}`);
|
|
299
|
+
} else
|
|
300
|
+
db.exec("ROLLBACK");
|
|
301
|
+
}
|
|
302
|
+
throw error;
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
const defaultTransaction = make(readonly ? "DEFERRED" : "IMMEDIATE");
|
|
306
|
+
const variants = {
|
|
307
|
+
default: defaultTransaction,
|
|
308
|
+
deferred: make("DEFERRED"),
|
|
309
|
+
immediate: make("IMMEDIATE"),
|
|
310
|
+
exclusive: make("EXCLUSIVE"),
|
|
311
|
+
database: db
|
|
312
|
+
};
|
|
313
|
+
for (const transaction of [
|
|
314
|
+
variants.default,
|
|
315
|
+
variants.deferred,
|
|
316
|
+
variants.immediate,
|
|
317
|
+
variants.exclusive
|
|
318
|
+
]) {
|
|
319
|
+
Object.assign(transaction, variants);
|
|
320
|
+
}
|
|
321
|
+
return defaultTransaction;
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
265
325
|
function trackSqliteConnection(db, filename, options) {
|
|
266
326
|
const originalClose = db.close.bind(db);
|
|
267
327
|
const sequence = nextSqliteConnectionSequence++;
|
|
@@ -270,6 +330,7 @@ function trackSqliteConnection(db, filename, options) {
|
|
|
270
330
|
filename: typeof filename === "string" ? filename : Buffer.isBuffer(filename) ? "<buffer>" : ":memory:",
|
|
271
331
|
readonly: Boolean(options) && typeof options === "object" && (options.readonly === true || options.readOnly === true)
|
|
272
332
|
};
|
|
333
|
+
installTransactionRouting(db, metadata.readonly);
|
|
273
334
|
Object.defineProperty(db, "close", {
|
|
274
335
|
configurable: true,
|
|
275
336
|
value: (...args) => {
|
|
@@ -293,7 +354,6 @@ var TrackedDatabase = new Proxy(DatabaseImpl, {
|
|
|
293
354
|
}
|
|
294
355
|
});
|
|
295
356
|
function buildNodeSqliteDatabaseClass(DatabaseSync) {
|
|
296
|
-
const SAVEPOINT = "mc_tx_sp";
|
|
297
357
|
|
|
298
358
|
class NodeSqliteDatabase extends DatabaseSync {
|
|
299
359
|
constructor(filename, options) {
|
|
@@ -312,42 +372,6 @@ function buildNodeSqliteDatabaseClass(DatabaseSync) {
|
|
|
312
372
|
}
|
|
313
373
|
return stmt;
|
|
314
374
|
}
|
|
315
|
-
transaction(fn) {
|
|
316
|
-
const self = this;
|
|
317
|
-
const execute = (mode, receiver, args) => {
|
|
318
|
-
const nested = self.isTransaction === true;
|
|
319
|
-
self.exec(nested ? `SAVEPOINT ${SAVEPOINT}` : `BEGIN${mode ? ` ${mode}` : ""}`);
|
|
320
|
-
try {
|
|
321
|
-
const result = fn.apply(receiver, args);
|
|
322
|
-
self.exec(nested ? `RELEASE ${SAVEPOINT}` : "COMMIT");
|
|
323
|
-
return result;
|
|
324
|
-
} catch (error) {
|
|
325
|
-
if (nested) {
|
|
326
|
-
self.exec(`ROLLBACK TO ${SAVEPOINT}`);
|
|
327
|
-
self.exec(`RELEASE ${SAVEPOINT}`);
|
|
328
|
-
} else {
|
|
329
|
-
self.exec("ROLLBACK");
|
|
330
|
-
}
|
|
331
|
-
throw error;
|
|
332
|
-
}
|
|
333
|
-
};
|
|
334
|
-
const wrapped = function(...args) {
|
|
335
|
-
return execute("", this, args);
|
|
336
|
-
};
|
|
337
|
-
wrapped.default = function(...args) {
|
|
338
|
-
return execute("", this, args);
|
|
339
|
-
};
|
|
340
|
-
wrapped.deferred = function(...args) {
|
|
341
|
-
return execute("DEFERRED", this, args);
|
|
342
|
-
};
|
|
343
|
-
wrapped.immediate = function(...args) {
|
|
344
|
-
return execute("IMMEDIATE", this, args);
|
|
345
|
-
};
|
|
346
|
-
wrapped.exclusive = function(...args) {
|
|
347
|
-
return execute("EXCLUSIVE", this, args);
|
|
348
|
-
};
|
|
349
|
-
return wrapped;
|
|
350
|
-
}
|
|
351
375
|
}
|
|
352
376
|
return NodeSqliteDatabase;
|
|
353
377
|
}
|
|
@@ -432,6 +456,120 @@ function getSqliteMemoryStats() {
|
|
|
432
456
|
};
|
|
433
457
|
}
|
|
434
458
|
var privilegeDepth = new WeakMap;
|
|
459
|
+
var transformPassScope = new AsyncLocalStorage;
|
|
460
|
+
var admissionScope = new AsyncLocalStorage;
|
|
461
|
+
var backgroundWriterScope = new AsyncLocalStorage;
|
|
462
|
+
function withSqliteBackgroundWriter(operation) {
|
|
463
|
+
return backgroundWriterScope.run(true, operation);
|
|
464
|
+
}
|
|
465
|
+
function withSqliteTransformPass(operation) {
|
|
466
|
+
const lease = { active: true };
|
|
467
|
+
return transformPassScope.run(lease, () => {
|
|
468
|
+
try {
|
|
469
|
+
const result = operation();
|
|
470
|
+
if (result && typeof result.then === "function") {
|
|
471
|
+
return Promise.resolve(result).finally(() => {
|
|
472
|
+
lease.active = false;
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
lease.active = false;
|
|
476
|
+
return result;
|
|
477
|
+
} catch (error) {
|
|
478
|
+
lease.active = false;
|
|
479
|
+
throw error;
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
function withoutSqliteTransformPass(operation) {
|
|
484
|
+
return transformPassScope.run(undefined, operation);
|
|
485
|
+
}
|
|
486
|
+
function isTransientSqliteError(error) {
|
|
487
|
+
if (!error || typeof error !== "object")
|
|
488
|
+
return false;
|
|
489
|
+
const value = error;
|
|
490
|
+
return typeof value.code === "string" && /^(SQLITE_BUSY|SQLITE_LOCKED)(_|$)/.test(value.code) || typeof value.errcode === "number" && [5, 6].includes(value.errcode & 255);
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
class SqliteAcquisitionBusyError extends Error {
|
|
494
|
+
code = "SQLITE_BUSY";
|
|
495
|
+
stage;
|
|
496
|
+
constructor(cause, stage = "BEGIN IMMEDIATE") {
|
|
497
|
+
super("SQLite writer acquisition remained busy", { cause });
|
|
498
|
+
this.name = "SqliteAcquisitionBusyError";
|
|
499
|
+
this.stage = stage;
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
var SHORT_BUSY_TIMEOUT_MS = 25;
|
|
503
|
+
var FOREGROUND_IN_PASS_BUSY_TIMEOUT_MS = 250;
|
|
504
|
+
var FOREGROUND_ACQUISITION_BUDGET_MS = 16500;
|
|
505
|
+
function acquireShort(db, acquire, site) {
|
|
506
|
+
const started = performance.now();
|
|
507
|
+
const previous = pragmaNumber(db, "busy_timeout");
|
|
508
|
+
let acquired = false;
|
|
509
|
+
try {
|
|
510
|
+
const timeout = transformPassScope.getStore()?.active && !admissionScope.getStore() && !backgroundWriterScope.getStore() ? FOREGROUND_IN_PASS_BUSY_TIMEOUT_MS : SHORT_BUSY_TIMEOUT_MS;
|
|
511
|
+
db.exec(`PRAGMA busy_timeout=${timeout}`);
|
|
512
|
+
acquire();
|
|
513
|
+
acquired = true;
|
|
514
|
+
} catch (error) {
|
|
515
|
+
if (transformPassScope.getStore()?.active && isTransientSqliteError(error))
|
|
516
|
+
throw new SqliteAcquisitionBusyError(error, site);
|
|
517
|
+
throw error;
|
|
518
|
+
} finally {
|
|
519
|
+
if (previous !== null)
|
|
520
|
+
db.exec(`PRAGMA busy_timeout=${previous}`);
|
|
521
|
+
const elapsed = performance.now() - started;
|
|
522
|
+
if (elapsed >= 250)
|
|
523
|
+
console.warn(`[${new Date().toISOString()}] [magic-context] sqlite acquisition site=${site} lane=${transformPassScope.getStore()?.active ? "foreground" : "background"} elapsed=${Math.round(elapsed)}ms attempts=1 outcome=${acquired ? "acquired" : "busy"}`);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
async function beginSqliteWriterAsync(db, site) {
|
|
527
|
+
const started = performance.now();
|
|
528
|
+
let attempts = 0;
|
|
529
|
+
for (;; ) {
|
|
530
|
+
attempts++;
|
|
531
|
+
try {
|
|
532
|
+
withSqliteBackgroundWriter(() => db.exec("BEGIN IMMEDIATE"));
|
|
533
|
+
const elapsed = performance.now() - started;
|
|
534
|
+
if (elapsed >= 250)
|
|
535
|
+
console.warn(`[${new Date().toISOString()}] [magic-context] sqlite acquisition site=${site} lane=background elapsed=${Math.round(elapsed)}ms attempts=${attempts} outcome=acquired`);
|
|
536
|
+
return;
|
|
537
|
+
} catch (error) {
|
|
538
|
+
if (!isTransientSqliteError(error))
|
|
539
|
+
throw error;
|
|
540
|
+
const elapsed = performance.now() - started;
|
|
541
|
+
if (elapsed >= FOREGROUND_ACQUISITION_BUDGET_MS) {
|
|
542
|
+
console.warn(`[${new Date().toISOString()}] [magic-context] sqlite acquisition site=${site} lane=background elapsed=${Math.round(elapsed)}ms attempts=${attempts} outcome=busy`);
|
|
543
|
+
throw error;
|
|
544
|
+
}
|
|
545
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(attempts === 1 ? 500 : 1000, FOREGROUND_ACQUISITION_BUDGET_MS - elapsed)));
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
async function withAsyncPrivilegedWriter(db, operation) {
|
|
550
|
+
const started = performance.now();
|
|
551
|
+
let attempts = 0;
|
|
552
|
+
for (;; ) {
|
|
553
|
+
attempts++;
|
|
554
|
+
try {
|
|
555
|
+
const result = admissionScope.run(true, () => withSqliteTransformPass(() => withPrivilegedWriter(db, operation)));
|
|
556
|
+
const elapsed = performance.now() - started;
|
|
557
|
+
if (elapsed >= 250)
|
|
558
|
+
console.warn(`[${new Date().toISOString()}] [magic-context] sqlite acquisition site=privileged_writer lane=foreground elapsed=${Math.round(elapsed)}ms attempts=${attempts} outcome=acquired`);
|
|
559
|
+
return result;
|
|
560
|
+
} catch (error) {
|
|
561
|
+
if (!(error instanceof SqliteAcquisitionBusyError))
|
|
562
|
+
throw error;
|
|
563
|
+
const elapsed = performance.now() - started;
|
|
564
|
+
if (elapsed >= FOREGROUND_ACQUISITION_BUDGET_MS) {
|
|
565
|
+
if (elapsed >= 250)
|
|
566
|
+
console.warn(`[${new Date().toISOString()}] [magic-context] sqlite acquisition site=privileged_writer lane=foreground elapsed=${Math.round(elapsed)}ms attempts=${attempts} outcome=busy`);
|
|
567
|
+
throw error instanceof SqliteAcquisitionBusyError ? error : new SqliteAcquisitionBusyError(error);
|
|
568
|
+
}
|
|
569
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(attempts === 1 ? 500 : 1000, FOREGROUND_ACQUISITION_BUDGET_MS - elapsed)));
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}
|
|
435
573
|
function isInTransaction(db) {
|
|
436
574
|
const candidate = db;
|
|
437
575
|
return candidate.inTransaction === true || candidate.isTransaction === true;
|
|
@@ -444,7 +582,13 @@ function withPrivilegedWriter(db, operation) {
|
|
|
444
582
|
if (nested) {
|
|
445
583
|
db.exec(`SAVEPOINT ${savepoint}`);
|
|
446
584
|
} else {
|
|
447
|
-
|
|
585
|
+
try {
|
|
586
|
+
db.exec("BEGIN IMMEDIATE");
|
|
587
|
+
} catch (error) {
|
|
588
|
+
if (transformPassScope.getStore()?.active && isTransientSqliteError(error))
|
|
589
|
+
throw new SqliteAcquisitionBusyError(error);
|
|
590
|
+
throw error;
|
|
591
|
+
}
|
|
448
592
|
}
|
|
449
593
|
privilegeDepth.set(db, previousDepth + 1);
|
|
450
594
|
try {
|
|
@@ -909,4 +1053,4 @@ function findLastAssistantModelFromOpenCodeDb(sessionId) {
|
|
|
909
1053
|
}
|
|
910
1054
|
}
|
|
911
1055
|
|
|
912
|
-
export { resolveOpenCodeDbPath, hasV1MessageTables, assertOpenCodeStoreGeneration, openCodeDbPathExists, getOpenCodeDbProbeDescriptions, formatOpenCodeDbMissingBanner, formatOpenCodeDbMissingStatusLine, formatOpenCodeDbReadFailureStatusLine, recordOpenCodeDbReadFailure, clearOpenCodeDbReadFailure, getOpenCodeDbReadFailure, claimOpenCodeDbDiagnosticOnce, registerSlowWriteReporter, detectSqliteRuntime, Database, getSqliteMemoryStats, withPrivilegedWriter, closeQuietly, openCodeDbExists, withReadOnlySessionDb, getRawSessionMessageCountFromDb, observeOpenCodeTurnEvent, clearTrackedOpenCodeSession, assistantAwaitingTools, shouldHoldIgnoredNotification, latestPersistedMessageForRecovery, getMessageTimesFromOpenCodeDb, findLastAssistantModelFromOpenCodeDb };
|
|
1056
|
+
export { resolveOpenCodeDbPath, hasV1MessageTables, assertOpenCodeStoreGeneration, openCodeDbPathExists, getOpenCodeDbProbeDescriptions, formatOpenCodeDbMissingBanner, formatOpenCodeDbMissingStatusLine, formatOpenCodeDbReadFailureStatusLine, recordOpenCodeDbReadFailure, clearOpenCodeDbReadFailure, getOpenCodeDbReadFailure, claimOpenCodeDbDiagnosticOnce, registerSlowWriteReporter, detectSqliteRuntime, Database, getSqliteMemoryStats, withSqliteBackgroundWriter, withSqliteTransformPass, withoutSqliteTransformPass, isTransientSqliteError, SqliteAcquisitionBusyError, beginSqliteWriterAsync, withAsyncPrivilegedWriter, withPrivilegedWriter, closeQuietly, openCodeDbExists, withReadOnlySessionDb, getRawSessionMessageCountFromDb, observeOpenCodeTurnEvent, clearTrackedOpenCodeSession, assistantAwaitingTools, shouldHoldIgnoredNotification, latestPersistedMessageForRecovery, getMessageTimesFromOpenCodeDb, findLastAssistantModelFromOpenCodeDb };
|
|
@@ -787,6 +787,21 @@ function getSdkOutputLimit(providerID, modelID) {
|
|
|
787
787
|
loadPersistedApiCacheOnce();
|
|
788
788
|
return lookupMetadataWithTagFallback(apiCache, providerID, modelID)?.outputLimit;
|
|
789
789
|
}
|
|
790
|
+
function getSdkInputLimit(providerID, modelID) {
|
|
791
|
+
loadPersistedApiCacheOnce();
|
|
792
|
+
if (!apiCache)
|
|
793
|
+
return;
|
|
794
|
+
const direct = apiCache.get(`${providerID}/${modelID}`)?.inputLimit;
|
|
795
|
+
if (isSaneLimit(direct))
|
|
796
|
+
return direct;
|
|
797
|
+
const colon = modelID.indexOf(":");
|
|
798
|
+
if (colon > 0) {
|
|
799
|
+
const tagless = apiCache.get(`${providerID}/${modelID.slice(0, colon)}`)?.inputLimit;
|
|
800
|
+
if (isSaneLimit(tagless))
|
|
801
|
+
return tagless;
|
|
802
|
+
}
|
|
803
|
+
return;
|
|
804
|
+
}
|
|
790
805
|
function lookupMetadataWithTagFallback(cache, providerID, modelID) {
|
|
791
806
|
if (!cache)
|
|
792
807
|
return;
|
|
@@ -842,6 +857,21 @@ function resolveKnownHistorianContextLimit2(historianModelOverride) {
|
|
|
842
857
|
const limit = getSdkContextLimit(providerID, modelID, undefined, { reservation: "none" });
|
|
843
858
|
return typeof limit === "number" && limit > 0 ? limit : undefined;
|
|
844
859
|
}
|
|
860
|
+
function resolveHistorianProducerLimits2(modelKey) {
|
|
861
|
+
if (!modelKey?.includes("/"))
|
|
862
|
+
return {};
|
|
863
|
+
const [provider, ...parts] = modelKey.split("/");
|
|
864
|
+
const model = parts.join("/");
|
|
865
|
+
if (!provider || !model)
|
|
866
|
+
return {};
|
|
867
|
+
const input = getSdkInputLimit(provider, model);
|
|
868
|
+
const window = getSdkWindowGeometry(provider, model)?.derivation.window;
|
|
869
|
+
const context = window ?? (input === undefined ? resolveKnownHistorianContextLimit2(modelKey) : undefined);
|
|
870
|
+
return {
|
|
871
|
+
...context !== undefined ? { context } : {},
|
|
872
|
+
...input !== undefined ? { input } : {}
|
|
873
|
+
};
|
|
874
|
+
}
|
|
845
875
|
function resolveHistorianContextLimit2(historianModelOverride) {
|
|
846
876
|
if (typeof historianModelOverride === "string" && historianModelOverride.includes("/")) {
|
|
847
877
|
return resolveKnownHistorianContextLimit2(historianModelOverride) ?? DEFAULT_HISTORIAN_CONTEXT_FALLBACK;
|
|
@@ -857,4 +887,4 @@ function producerSourceLocalBudget2(providerTokens, modelKey) {
|
|
|
857
887
|
return ratio === 1 ? providerTokens : localBudget(providerTokens, ratio);
|
|
858
888
|
}
|
|
859
889
|
|
|
860
|
-
export { canonicalModelIdentity, piModelRefToCanonical, modelRefLookupOrder, setStoragePrivatePermissionEnforcement, shouldEnforcePrivateStoragePermissions, catalogOutputReserve, setWindowOverlayPath, reloadWindowOverlay, hasTrustedAbsoluteWall, applyProvenInputFloor, formatWindowDerivationLine, isSaneLimit, setOutputReserveConfig, resolveLimit, refreshModelLimitsFromApi, refreshModelLimitsAfterAuthOnce, getSdkWindowGeometry, getSdkContextLimit, modelSupportsVision, getSdkOutputLimit, getModelsDevCacheState, deriveTriggerBudget2, deriveHistorianChunkTokens2, resolveKnownHistorianContextLimit2, resolveHistorianContextLimit2, producerSourceLocalBudget2 };
|
|
890
|
+
export { canonicalModelIdentity, piModelRefToCanonical, modelRefLookupOrder, setStoragePrivatePermissionEnforcement, shouldEnforcePrivateStoragePermissions, catalogOutputReserve, setWindowOverlayPath, reloadWindowOverlay, hasTrustedAbsoluteWall, applyProvenInputFloor, formatWindowDerivationLine, isSaneLimit, setOutputReserveConfig, resolveLimit, refreshModelLimitsFromApi, refreshModelLimitsAfterAuthOnce, getSdkWindowGeometry, getSdkContextLimit, modelSupportsVision, getSdkOutputLimit, getModelsDevCacheState, deriveTriggerBudget2, deriveHistorianChunkTokens2, resolveKnownHistorianContextLimit2, resolveHistorianProducerLimits2, resolveHistorianContextLimit2, producerSourceLocalBudget2 };
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
withReadOnlySessionDb,
|
|
7
7
|
getRawSessionMessageCountFromDb,
|
|
8
8
|
getMessageTimesFromOpenCodeDb
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-4an2p8qa.js";
|
|
10
10
|
import {
|
|
11
11
|
UNKNOWN_FIT_RATIO,
|
|
12
12
|
resolveDecisionCalibration,
|
|
@@ -3984,6 +3984,72 @@ function buildFileSourceContent(parts) {
|
|
|
3984
3984
|
return content.length > 0 ? content : null;
|
|
3985
3985
|
}
|
|
3986
3986
|
|
|
3987
|
+
// src/features/magic-context/dreamer/token-budget.ts
|
|
3988
|
+
class DreamTokenBudgetExceeded extends Error {
|
|
3989
|
+
sessionId;
|
|
3990
|
+
spent;
|
|
3991
|
+
constructor(sessionId, spent) {
|
|
3992
|
+
super(`Dreamer child ${sessionId} spent ${spent} prompt tokens (token_budget)`);
|
|
3993
|
+
this.sessionId = sessionId;
|
|
3994
|
+
this.spent = spent;
|
|
3995
|
+
this.name = "DreamTokenBudgetExceeded";
|
|
3996
|
+
}
|
|
3997
|
+
}
|
|
3998
|
+
var TOKEN_BUDGET_FINALIZE_MESSAGE = "You're out of token budget. Stop investigating: make no more tool calls and output your result now, covering only what you've already checked; leave the rest out.";
|
|
3999
|
+
var TOKEN_BUDGET_TOOL_REFUSAL = "Out of token budget: no more tool calls. Output your result now.";
|
|
4000
|
+
var finalizingChildren = new Map;
|
|
4001
|
+
function registerBudgetFinalizeChild(sessionId, guard) {
|
|
4002
|
+
finalizingChildren.set(sessionId, guard);
|
|
4003
|
+
}
|
|
4004
|
+
function releaseBudgetFinalizeChild(sessionId) {
|
|
4005
|
+
finalizingChildren.delete(sessionId);
|
|
4006
|
+
}
|
|
4007
|
+
function refuseBudgetedToolCall(sessionId) {
|
|
4008
|
+
return finalizingChildren.get(sessionId)?.refuseTool() ?? null;
|
|
4009
|
+
}
|
|
4010
|
+
function createDreamTokenBudget(budget) {
|
|
4011
|
+
if (!Number.isSafeInteger(budget) || budget <= 0)
|
|
4012
|
+
throw new Error("Invalid token budget");
|
|
4013
|
+
let spent = 0;
|
|
4014
|
+
let finalizeFired = false;
|
|
4015
|
+
let refusedCalls = 0;
|
|
4016
|
+
let forcedStop = false;
|
|
4017
|
+
const snapshot = () => ({
|
|
4018
|
+
budget,
|
|
4019
|
+
spent,
|
|
4020
|
+
finalizeFired,
|
|
4021
|
+
refusedCalls,
|
|
4022
|
+
hardStopped: forcedStop || spent >= budget || refusedCalls >= 2
|
|
4023
|
+
});
|
|
4024
|
+
return {
|
|
4025
|
+
snapshot,
|
|
4026
|
+
charge(input, cacheRead, cacheWrite, completed = false, canFinalize = true) {
|
|
4027
|
+
for (const value of [input, cacheRead, cacheWrite]) {
|
|
4028
|
+
if (!Number.isSafeInteger(value) || value < 0)
|
|
4029
|
+
throw new Error("Invalid prompt usage");
|
|
4030
|
+
}
|
|
4031
|
+
spent += input + cacheRead + cacheWrite;
|
|
4032
|
+
if (spent >= budget)
|
|
4033
|
+
return "stop";
|
|
4034
|
+
if (!completed && !finalizeFired && spent >= budget * 0.8) {
|
|
4035
|
+
if (!canFinalize) {
|
|
4036
|
+
forcedStop = true;
|
|
4037
|
+
return "stop";
|
|
4038
|
+
}
|
|
4039
|
+
finalizeFired = true;
|
|
4040
|
+
return "finalize";
|
|
4041
|
+
}
|
|
4042
|
+
return "continue";
|
|
4043
|
+
},
|
|
4044
|
+
refuseTool() {
|
|
4045
|
+
if (!finalizeFired)
|
|
4046
|
+
return null;
|
|
4047
|
+
refusedCalls += 1;
|
|
4048
|
+
return { message: TOKEN_BUDGET_TOOL_REFUSAL, hardStopped: snapshot().hardStopped };
|
|
4049
|
+
}
|
|
4050
|
+
};
|
|
4051
|
+
}
|
|
4052
|
+
|
|
3987
4053
|
// src/hooks/magic-context/dropped-input-guard.ts
|
|
3988
4054
|
var LEGACY_TRUNCATED_VALUE = /^[\s\S]{0,5}\.\.\.\[truncated\]$/;
|
|
3989
4055
|
var MAX_QUOTED_ARGUMENTS = 160;
|
|
@@ -4150,6 +4216,11 @@ function createDroppedInputToolExecuteBeforeHook() {
|
|
|
4150
4216
|
return async (input, output) => {
|
|
4151
4217
|
const call = isRecord2(input) ? input : {};
|
|
4152
4218
|
const args = isRecord2(output) ? output.args : undefined;
|
|
4219
|
+
if (typeof call.sessionID === "string") {
|
|
4220
|
+
const refusal = refuseBudgetedToolCall(call.sessionID);
|
|
4221
|
+
if (refusal)
|
|
4222
|
+
throw new Error(refusal.message);
|
|
4223
|
+
}
|
|
4153
4224
|
assertExecutableToolInput(guard, {
|
|
4154
4225
|
sessionID: typeof call.sessionID === "string" ? call.sessionID : undefined,
|
|
4155
4226
|
toolName: typeof call.tool === "string" ? call.tool : undefined,
|
|
@@ -5687,4 +5758,4 @@ function readRawSessionSeedTail2(sessionId, boundaryId, onQuery) {
|
|
|
5687
5758
|
});
|
|
5688
5759
|
}
|
|
5689
5760
|
|
|
5690
|
-
export { textMentionsRecentCommit, removeSystemReminders, hasMeaningfulUserText2, extractTexts2, extractToolCallSummaries, getTokenizerNativeMemoryStats, preloadTokenizer, estimateTokens, normalizeText, stableStringify, getCurrentToolSetHash, setDatabase, loadToolDefinitionMeasurements, recordToolDefinition, getMeasuredToolDefinitionTokens, CTX_REDUCE_KEEP, newestCtxReduceTagNumbers, stripWellFormedLeadingTagPrefix, stripPersistedAssistantText, byteSize, stripTagPrefix, peelLeadingMcTagNotation, prependTag, isThinkingPart, isRecord, estimateImageTokensFromDataUrl, estimateToolAttachmentImageTokens, normalizeTodoStateJson, buildSyntheticTodoPart, computeSyntheticCallId, isSyntheticTodoPart, countRealUserMessages, tailHygieneStructuralSignature, sameTailHygieneStructuralSignature, formatTailHygienePrefixMismatch, refreshTailHygieneBaseline, effectiveTailHygiene, assertTailHygieneContentUnchanged, CHANNEL1_SENTINEL, CHANNEL1_FLOOR_TOKENS, isDroppedToolOutput, toolOutputTokens, decideChannel1, evaluateChannel2, formatChannel1Evaluation, formatChannel2Evaluation, reclaimableToolOutputCount, buildChannel2Reminder, buildChannel1Reminder, estimateEmergencyDropReclaimTokens, planEmergencyDrop, measureEmergencyTag, getRecentTagOwnerMessageIds, AGE_RECLAIM_MIN_TOKENS, getOldestActiveUnprotectedToolTags, getActiveToolTagsForAgeReclaim, getTriggerTagTokenUpperBound, getActiveTagTokenTotalsByMessage, getAllStatusTagTokenTotalsFlat, tagTokenCountIsNull, backfillTagTokenCounts, insertTag, updateTagStatus, markWhitespaceAssistantTagInert, getInertWhitespaceAssistantTags, updateTagDropMode, updateCavemanDepth, updateTagMessageId, foldShrunkPartTags, markTagsCompactedByMessageIds, deleteTagsByMessageId, getMaxTagNumberBySession, getTagNumberByMessageId, getAssignableTagNumberByMessageId, deriveTagLoadFloor, TAG_SELECT_COLUMNS, getTagsBySession, getActiveTagsBySession, getTailHygieneTags, getDroppedTagsBySession, getTagsByNumbers, getDroppedTagsByNumbers, getMaxDroppedTagNumber, getTagById, getToolTagNumberByOwner, getNullOwnerToolTag, adoptNullOwnerToolTag, getCandidateToolOwners, pickNearestPriorOwner, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, isStrictGapHealingMessage, isRawCompactionSummaryInfo, extractInMemoryMessageViews, buildInMemoryTailRawMessages, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, describeFinalWireTail, estimateMessageTokens, estimateFinalWireInputTokens, SKELETON_REAL_INPUT_MAX_BYTES, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, resolveHostServedBoundaryId2, hasRawMessageProvider2, setRawMessageProvider2, setBoundedRawMessageProvider2, cleanUserText2, withRawSessionMessageCache2, readRawSessionMessages2, readRawSessionMessagePage2, getRawSessionMessageOrdinalCount2, visitRawSessionMessages2, readRawSessionMessageRange2, primeTailRawMessageCache2, getCachedAbsoluteMessageCount2, primeInMemoryTailRawMessageCache2, readRawSessionMessageOrdinalPage2, getRawSessionStoredMessageCount2, readRawSessionMessageIdOrdinalsForRange2, readRawSessionMessagePartsById2, hasRawSessionMessageById2, readRawSessionMessageOrdinalById2, compareRawSessionMessageOrder2, readRawSessionMessageById2, getRawSessionMessageCount2, getRawSessionTagKeysThrough2, getLegacyProtectedTailStartOrdinal2, readSessionChunk2, readRawSessionSeedTail2 };
|
|
5761
|
+
export { textMentionsRecentCommit, removeSystemReminders, hasMeaningfulUserText2, extractTexts2, extractToolCallSummaries, getTokenizerNativeMemoryStats, preloadTokenizer, estimateTokens, normalizeText, stableStringify, getCurrentToolSetHash, setDatabase, loadToolDefinitionMeasurements, recordToolDefinition, getMeasuredToolDefinitionTokens, CTX_REDUCE_KEEP, newestCtxReduceTagNumbers, stripWellFormedLeadingTagPrefix, stripPersistedAssistantText, byteSize, stripTagPrefix, peelLeadingMcTagNotation, prependTag, isThinkingPart, isRecord, estimateImageTokensFromDataUrl, estimateToolAttachmentImageTokens, normalizeTodoStateJson, buildSyntheticTodoPart, computeSyntheticCallId, isSyntheticTodoPart, countRealUserMessages, tailHygieneStructuralSignature, sameTailHygieneStructuralSignature, formatTailHygienePrefixMismatch, refreshTailHygieneBaseline, effectiveTailHygiene, assertTailHygieneContentUnchanged, CHANNEL1_SENTINEL, CHANNEL1_FLOOR_TOKENS, isDroppedToolOutput, toolOutputTokens, decideChannel1, evaluateChannel2, formatChannel1Evaluation, formatChannel2Evaluation, reclaimableToolOutputCount, buildChannel2Reminder, buildChannel1Reminder, estimateEmergencyDropReclaimTokens, planEmergencyDrop, measureEmergencyTag, getRecentTagOwnerMessageIds, AGE_RECLAIM_MIN_TOKENS, getOldestActiveUnprotectedToolTags, getActiveToolTagsForAgeReclaim, getTriggerTagTokenUpperBound, getActiveTagTokenTotalsByMessage, getAllStatusTagTokenTotalsFlat, tagTokenCountIsNull, backfillTagTokenCounts, insertTag, updateTagStatus, markWhitespaceAssistantTagInert, getInertWhitespaceAssistantTags, updateTagDropMode, updateCavemanDepth, updateTagMessageId, foldShrunkPartTags, markTagsCompactedByMessageIds, deleteTagsByMessageId, getMaxTagNumberBySession, getTagNumberByMessageId, getAssignableTagNumberByMessageId, deriveTagLoadFloor, TAG_SELECT_COLUMNS, getTagsBySession, getActiveTagsBySession, getTailHygieneTags, getDroppedTagsBySession, getTagsByNumbers, getDroppedTagsByNumbers, getMaxDroppedTagNumber, getTagById, getToolTagNumberByOwner, getNullOwnerToolTag, adoptNullOwnerToolTag, getCandidateToolOwners, pickNearestPriorOwner, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, isStrictGapHealingMessage, isRawCompactionSummaryInfo, extractInMemoryMessageViews, buildInMemoryTailRawMessages, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, describeFinalWireTail, estimateMessageTokens, estimateFinalWireInputTokens, SKELETON_REAL_INPUT_MAX_BYTES, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, resolveHostServedBoundaryId2, hasRawMessageProvider2, setRawMessageProvider2, setBoundedRawMessageProvider2, cleanUserText2, withRawSessionMessageCache2, readRawSessionMessages2, readRawSessionMessagePage2, getRawSessionMessageOrdinalCount2, visitRawSessionMessages2, readRawSessionMessageRange2, primeTailRawMessageCache2, getCachedAbsoluteMessageCount2, primeInMemoryTailRawMessageCache2, readRawSessionMessageOrdinalPage2, getRawSessionStoredMessageCount2, readRawSessionMessageIdOrdinalsForRange2, readRawSessionMessagePartsById2, hasRawSessionMessageById2, readRawSessionMessageOrdinalById2, compareRawSessionMessageOrder2, readRawSessionMessageById2, getRawSessionMessageCount2, getRawSessionTagKeysThrough2, getLegacyProtectedTailStartOrdinal2, readSessionChunk2, readRawSessionSeedTail2 };
|
|
@@ -17,6 +17,15 @@ var CANONICAL_DREAM_TASKS = [
|
|
|
17
17
|
"promote-primers",
|
|
18
18
|
"refresh-primers"
|
|
19
19
|
];
|
|
20
|
+
var DREAM_TOOL_LOOP_TOKEN_BUDGETS = {
|
|
21
|
+
"map-memories": 1500000,
|
|
22
|
+
verify: 1700000,
|
|
23
|
+
"verify-broad": 1700000,
|
|
24
|
+
curate: 1500000,
|
|
25
|
+
retrospective: 300000,
|
|
26
|
+
"maintain-docs": 1600000,
|
|
27
|
+
"refresh-primers": 350000
|
|
28
|
+
};
|
|
20
29
|
var DREAM_TASK_CAPABILITIES = {
|
|
21
30
|
"map-memories": {
|
|
22
31
|
requiresTools: true,
|
|
@@ -157,6 +166,7 @@ function buildDreamTaskRuntimeConfigs2(dreamer, harness, language, muralModel) {
|
|
|
157
166
|
thinkingLevel: harness === "pi" ? resolved.primary?.qualifier : undefined,
|
|
158
167
|
language,
|
|
159
168
|
timeoutMinutes: resolved.timeoutMinutes ?? 20,
|
|
169
|
+
tokenBudget: task in DREAM_TOOL_LOOP_TOKEN_BUDGETS ? dreamer?.tasks?.[task]?.token_budget ?? DREAM_TOOL_LOOP_TOKEN_BUDGETS[task] : undefined,
|
|
160
170
|
promotionThreshold: resolved.promotionThreshold,
|
|
161
171
|
docsMaxTokens: task === "maintain-docs" ? dreamer?.tasks?.["maintain-docs"]?.max_tokens ?? 12000 : undefined,
|
|
162
172
|
retrospectiveRecencyDays: task === "retrospective" ? dreamer?.tasks?.retrospective?.recency_days ?? 30 : undefined
|
|
@@ -20,16 +20,18 @@ import {
|
|
|
20
20
|
runCompartmentAgent,
|
|
21
21
|
getActiveCompartmentRun,
|
|
22
22
|
markActiveCompartmentRunPublished,
|
|
23
|
-
registerActiveCompartmentRun
|
|
24
|
-
|
|
25
|
-
setRecompTerminal2
|
|
26
|
-
} from "./index-jtdrvmcn.js";
|
|
23
|
+
registerActiveCompartmentRun
|
|
24
|
+
} from "./index-yhm60r53.js";
|
|
27
25
|
import {
|
|
28
26
|
pushNotification2
|
|
29
27
|
} from "./index-jdxxq8cz.js";
|
|
30
28
|
import {
|
|
31
29
|
sendStatusNotification2
|
|
32
|
-
} from "./index-
|
|
30
|
+
} from "./index-33q7s9y2.js";
|
|
31
|
+
import {
|
|
32
|
+
setRecompStarting2,
|
|
33
|
+
setRecompTerminal2
|
|
34
|
+
} from "./index-rdsaxnf2.js";
|
|
33
35
|
|
|
34
36
|
// src/hooks/magic-context/wrapup-orchestrator.ts
|
|
35
37
|
import * as crypto from "node:crypto";
|