@songsid/agend 2.3.2-beta.1 → 2.3.2-beta.11
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/THIRD_PARTY_NOTICES.md +40 -0
- package/dist/agent-cli.js +69 -2
- package/dist/agent-cli.js.map +1 -1
- package/dist/agent-endpoint.js +11 -0
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/agent-whats-new.js +3 -0
- package/dist/agent-whats-new.js.map +1 -1
- package/dist/antigravity-usage-scan.d.ts +58 -0
- package/dist/antigravity-usage-scan.js +257 -0
- package/dist/antigravity-usage-scan.js.map +1 -0
- package/dist/antigravity-usage-worker.d.ts +1 -0
- package/dist/antigravity-usage-worker.js +10 -0
- package/dist/antigravity-usage-worker.js.map +1 -0
- package/dist/auth-api.js +4 -0
- package/dist/auth-api.js.map +1 -1
- package/dist/backend/kiro-classic-archive.d.ts +52 -0
- package/dist/backend/kiro-classic-archive.js +444 -0
- package/dist/backend/kiro-classic-archive.js.map +1 -0
- package/dist/backend/kiro-identity.d.ts +83 -0
- package/dist/backend/kiro-identity.js +144 -0
- package/dist/backend/kiro-identity.js.map +1 -1
- package/dist/backend/kiro-migration-verify.d.ts +10 -0
- package/dist/backend/kiro-migration-verify.js +52 -0
- package/dist/backend/kiro-migration-verify.js.map +1 -0
- package/dist/backend/kiro-retired-model.d.ts +62 -0
- package/dist/backend/kiro-retired-model.js +160 -0
- package/dist/backend/kiro-retired-model.js.map +1 -0
- package/dist/backend/kiro-v2-store-worker.js +21 -1
- package/dist/backend/kiro-v2-store-worker.js.map +1 -1
- package/dist/backend/kiro-v2-store.d.ts +8 -0
- package/dist/backend/kiro-v2-store.js.map +1 -1
- package/dist/backend/kiro.d.ts +169 -2
- package/dist/backend/kiro.js +703 -28
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/types.d.ts +108 -0
- package/dist/backend/types.js +9 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/backend-signin-guide.d.ts +1 -0
- package/dist/backend-signin-guide.js +9 -0
- package/dist/backend-signin-guide.js.map +1 -0
- package/dist/backend-signin-pending.d.ts +10 -0
- package/dist/backend-signin-pending.js +44 -0
- package/dist/backend-signin-pending.js.map +1 -0
- package/dist/browser-backend-signins.d.ts +56 -0
- package/dist/browser-backend-signins.js +189 -0
- package/dist/browser-backend-signins.js.map +1 -0
- package/dist/cache-ledger.d.ts +38 -2
- package/dist/cache-ledger.js +133 -8
- package/dist/cache-ledger.js.map +1 -1
- package/dist/cache-prices.d.ts +2 -1
- package/dist/cache-prices.js +5 -2
- package/dist/cache-prices.js.map +1 -1
- package/dist/cache-service.d.ts +68 -0
- package/dist/cache-service.js +355 -13
- package/dist/cache-service.js.map +1 -1
- package/dist/channel/adapters/discord.d.ts +11 -0
- package/dist/channel/adapters/discord.js +71 -14
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/ipc-timeouts.js +3 -0
- package/dist/channel/ipc-timeouts.js.map +1 -1
- package/dist/channel/mcp-tools.js +41 -2
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/channel/tool-router.js +2 -1
- package/dist/channel/tool-router.js.map +1 -1
- package/dist/classic-channel-manager.d.ts +11 -0
- package/dist/classic-channel-manager.js +39 -1
- package/dist/classic-channel-manager.js.map +1 -1
- package/dist/cli.js +54 -2
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.d.ts +7 -1
- package/dist/config-validator.js +55 -10
- package/dist/config-validator.js.map +1 -1
- package/dist/config.d.ts +19 -0
- package/dist/config.js +33 -1
- package/dist/config.js.map +1 -1
- package/dist/cpu-quota.d.ts +23 -0
- package/dist/cpu-quota.js +86 -0
- package/dist/cpu-quota.js.map +1 -0
- package/dist/daemon.d.ts +68 -0
- package/dist/daemon.js +448 -26
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard-permissions.d.ts +31 -6
- package/dist/dashboard-permissions.js +84 -9
- package/dist/dashboard-permissions.js.map +1 -1
- package/dist/doctor.js +2 -1
- package/dist/doctor.js.map +1 -1
- package/dist/fleet-control-audit.d.ts +1 -1
- package/dist/fleet-control-audit.js +3 -0
- package/dist/fleet-control-audit.js.map +1 -1
- package/dist/fleet-manager.d.ts +133 -2
- package/dist/fleet-manager.js +905 -94
- package/dist/fleet-manager.js.map +1 -1
- package/dist/forged-envelope-scan.d.ts +9 -0
- package/dist/forged-envelope-scan.js +30 -5
- package/dist/forged-envelope-scan.js.map +1 -1
- package/dist/general-knowledge/skills/credential-profiles/SKILL.md +5 -2
- package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +24 -1
- package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +49 -1
- package/dist/general-knowledge/skills/web-appearance/SKILL.md +49 -1
- package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +47 -9
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +54 -11
- package/dist/instance-config-impact.js +10 -5
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +23 -0
- package/dist/instance-lifecycle.js +62 -12
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/kiro-db-reader.d.ts +5 -0
- package/dist/kiro-db-reader.js +18 -0
- package/dist/kiro-db-reader.js.map +1 -1
- package/dist/kiro-engine-status.d.ts +2 -0
- package/dist/kiro-engine-status.js +9 -0
- package/dist/kiro-engine-status.js.map +1 -1
- package/dist/kiro-migrate.d.ts +60 -0
- package/dist/kiro-migrate.js +160 -0
- package/dist/kiro-migrate.js.map +1 -0
- package/dist/kiro-session-proof.d.ts +41 -0
- package/dist/kiro-session-proof.js +89 -0
- package/dist/kiro-session-proof.js.map +1 -0
- package/dist/kiro-transcript-lane.d.ts +2 -0
- package/dist/kiro-transcript-lane.js.map +1 -1
- package/dist/kiro-transcript-worker.js +1 -0
- package/dist/kiro-transcript-worker.js.map +1 -1
- package/dist/kiro-tui-forensic.d.ts +12 -0
- package/dist/kiro-tui-forensic.js +110 -0
- package/dist/kiro-tui-forensic.js.map +1 -0
- package/dist/kiro-usage-run.d.ts +7 -0
- package/dist/kiro-usage-run.js +39 -0
- package/dist/kiro-usage-run.js.map +1 -0
- package/dist/kiro-usage-scan.d.ts +49 -0
- package/dist/kiro-usage-scan.js +223 -0
- package/dist/kiro-usage-scan.js.map +1 -0
- package/dist/kiro-usage-worker.d.ts +1 -0
- package/dist/kiro-usage-worker.js +10 -0
- package/dist/kiro-usage-worker.js.map +1 -0
- package/dist/kiro-usage.d.ts +58 -0
- package/dist/kiro-usage.js +310 -0
- package/dist/kiro-usage.js.map +1 -0
- package/dist/locale.js +230 -8
- package/dist/locale.js.map +1 -1
- package/dist/log-service.js +1 -1
- package/dist/log-service.js.map +1 -1
- package/dist/login-url.d.ts +4 -0
- package/dist/login-url.js +22 -0
- package/dist/login-url.js.map +1 -0
- package/dist/needs-you-hub.d.ts +2 -1
- package/dist/needs-you-hub.js +1 -1
- package/dist/needs-you-hub.js.map +1 -1
- package/dist/needs-you.d.ts +10 -2
- package/dist/needs-you.js +10 -2
- package/dist/needs-you.js.map +1 -1
- package/dist/notice-delivery.d.ts +16 -0
- package/dist/notice-delivery.js +35 -0
- package/dist/notice-delivery.js.map +1 -0
- package/dist/office-share-page.d.ts +16 -0
- package/dist/office-share-page.js +85 -0
- package/dist/office-share-page.js.map +1 -0
- package/dist/office-share-service.d.ts +91 -0
- package/dist/office-share-service.js +176 -0
- package/dist/office-share-service.js.map +1 -0
- package/dist/office-share.d.ts +268 -0
- package/dist/office-share.js +574 -0
- package/dist/office-share.js.map +1 -0
- package/dist/opencode-usage-scan.d.ts +28 -0
- package/dist/opencode-usage-scan.js +92 -0
- package/dist/opencode-usage-scan.js.map +1 -0
- package/dist/opencode-usage-worker.d.ts +1 -0
- package/dist/opencode-usage-worker.js +10 -0
- package/dist/opencode-usage-worker.js.map +1 -0
- package/dist/outbound-handlers.js +22 -2
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +65 -2
- package/dist/outbound-schemas.js +56 -2
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/public-web-gateway.js +7 -1
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/quickstart-api.js +13 -2
- package/dist/quickstart-api.js.map +1 -1
- package/dist/quickstart.js +2 -1
- package/dist/quickstart.js.map +1 -1
- package/dist/remote-card-answer.d.ts +83 -0
- package/dist/remote-card-answer.js +208 -0
- package/dist/remote-card-answer.js.map +1 -0
- package/dist/remote-card-prompt.d.ts +38 -0
- package/dist/remote-card-prompt.js +86 -0
- package/dist/remote-card-prompt.js.map +1 -0
- package/dist/reply-triggers.d.ts +2 -0
- package/dist/reply-triggers.js +3 -0
- package/dist/reply-triggers.js.map +1 -0
- package/dist/settings-api.d.ts +2 -0
- package/dist/settings-api.js +41 -16
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +20 -14
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-effect.js +7 -1
- package/dist/settings-effect.js.map +1 -1
- package/dist/settings-instance-patch.js +4 -1
- package/dist/settings-instance-patch.js.map +1 -1
- package/dist/setup-form.d.ts +1 -1
- package/dist/setup-form.js +55 -6
- package/dist/setup-form.js.map +1 -1
- package/dist/setup-host.d.ts +9 -0
- package/dist/setup-host.js +127 -6
- package/dist/setup-host.js.map +1 -1
- package/dist/setup-signin-assets.d.ts +2 -0
- package/dist/setup-signin-assets.js +6 -0
- package/dist/setup-signin-assets.js.map +1 -0
- package/dist/setup-wizard.js +2 -0
- package/dist/setup-wizard.js.map +1 -1
- package/dist/structured-signin-transport.d.ts +8 -0
- package/dist/structured-signin-transport.js +79 -0
- package/dist/structured-signin-transport.js.map +1 -0
- package/dist/structured-signin.d.ts +131 -0
- package/dist/structured-signin.js +388 -0
- package/dist/structured-signin.js.map +1 -0
- package/dist/tool-permissions.js +29 -0
- package/dist/tool-permissions.js.map +1 -1
- package/dist/topic-commands.js +6 -2
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-sources.d.ts +27 -2
- package/dist/transcript-sources.js +104 -40
- package/dist/transcript-sources.js.map +1 -1
- package/dist/turn-reply-guard.d.ts +1 -1
- package/dist/turn-reply-guard.js +1 -1
- package/dist/turn-reply-guard.js.map +1 -1
- package/dist/types.d.ts +33 -8
- package/dist/ui/backend-signin.js +63 -10
- package/dist/ui/chat-store.js +3 -2
- package/dist/ui/chat-strings.js +4 -4
- package/dist/ui/fleet-office-editor.js +68 -11
- package/dist/ui/fleet-office-layout.js +110 -35
- package/dist/ui/fleet-office-model.js +6 -3
- package/dist/ui/fleet-office-overview.js +167 -0
- package/dist/ui/fleet-office-pack.d.ts +13 -3
- package/dist/ui/fleet-office-pack.js +214 -24
- package/dist/ui/fleet-office-skin.js +98 -23
- package/dist/ui/fleet-office-store.js +82 -5
- package/dist/ui/fleet-office-view.js +5 -4
- package/dist/ui/fleet-office-zones.js +232 -21
- package/dist/ui/fleet-office.js +549 -186
- package/dist/ui/fleet-usage.js +19 -15
- package/dist/ui/office-share-dialog.js +145 -0
- package/dist/ui/office-share-page.js +164 -0
- package/dist/ui/panel-chat.js +22 -3
- package/dist/ui/panel-log.js +4 -4
- package/dist/ui/panel-needs.js +5 -5
- package/dist/ui/panel-settings.js +38 -12
- package/dist/ui/settings-dialogs.js +8 -1
- package/dist/ui/settings-guests.js +17 -7
- package/dist/ui/settings-model.js +22 -6
- package/dist/ui/settings-registry.js +4 -0
- package/dist/ui/settings-strings.js +18 -2
- package/dist/ui/shared/app-i18n.js +4 -2
- package/dist/ui/shared/app-shell.js +14 -6
- package/dist/ui/shared/app-stream.js +2 -1
- package/dist/ui/shared/app.css +85 -4
- package/dist/ui/shared/office/cozy.png +0 -0
- package/dist/ui/shared/side-panel.js +95 -0
- package/dist/ui/structured-signin.js +115 -0
- package/dist/usage-report.d.ts +20 -0
- package/dist/usage-report.js +54 -17
- package/dist/usage-report.js.map +1 -1
- package/dist/usage-rollup.d.ts +9 -1
- package/dist/usage-rollup.js +20 -4
- package/dist/usage-rollup.js.map +1 -1
- package/dist/web-api.d.ts +23 -1
- package/dist/web-api.js +292 -3
- package/dist/web-api.js.map +1 -1
- package/dist/web-auth.js +1 -1
- package/dist/web-auth.js.map +1 -1
- package/dist/web-backend-login.d.ts +1 -7
- package/dist/web-backend-login.js +2 -24
- package/dist/web-backend-login.js.map +1 -1
- package/dist/web-office-acts.d.ts +173 -0
- package/dist/web-office-acts.js +285 -0
- package/dist/web-office-acts.js.map +1 -0
- package/dist/web-office-pack-read.d.ts +35 -0
- package/dist/web-office-pack-read.js +252 -0
- package/dist/web-office-pack-read.js.map +1 -0
- package/dist/web-office-pack-tools.d.ts +232 -0
- package/dist/web-office-pack-tools.js +754 -0
- package/dist/web-office-pack-tools.js.map +1 -0
- package/dist/web-office-skins.d.ts +71 -6
- package/dist/web-office-skins.js +321 -35
- package/dist/web-office-skins.js.map +1 -1
- package/dist/web-office-store.d.ts +5 -2
- package/dist/web-office-store.js +69 -10
- package/dist/web-office-store.js.map +1 -1
- package/dist/web-settings-patch.d.ts +2 -1
- package/dist/web-settings-patch.js +4 -1
- package/dist/web-settings-patch.js.map +1 -1
- package/dist/working-recovery.d.ts +2 -2
- package/dist/working-recovery.js +43 -8
- package/dist/working-recovery.js.map +1 -1
- package/dist/working-state-journal.d.ts +2 -0
- package/dist/working-state-journal.js +16 -1
- package/dist/working-state-journal.js.map +1 -1
- package/package.json +3 -2
- package/templates/windows-shortcuts.ps1 +155 -140
|
@@ -303,6 +303,76 @@ export function kiroIdentityNeedsStore(opts) {
|
|
|
303
303
|
return true;
|
|
304
304
|
return record.id === null || !heldBy(claimOf(p.claims, record.id), opts.instance);
|
|
305
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* #2648: the conversation this instance's record — else its pending adoption — names for this key, read-only (the
|
|
308
|
+
* small identity files only). What launch preparation reads ahead for; the resolver still decides the launch itself.
|
|
309
|
+
*/
|
|
310
|
+
export function kiroRecordedConversation(opts) {
|
|
311
|
+
if (!OWNER_NAME.test(opts.instance))
|
|
312
|
+
return null;
|
|
313
|
+
const p = paths(opts.agendHome, opts.engine, opts.instance);
|
|
314
|
+
const read = readState(p.state, opts.instance);
|
|
315
|
+
const key = keyOf(opts.engine, opts.workingDirectory, opts.credentialProfile);
|
|
316
|
+
const record = read.kind === "ok" ? read.state.keys[key] : undefined;
|
|
317
|
+
if (record?.id)
|
|
318
|
+
return record.id;
|
|
319
|
+
const pending = readPending(p.pending);
|
|
320
|
+
return pending !== "unreadable" && Object.hasOwn(pending, key) ? pending[key] : null;
|
|
321
|
+
}
|
|
322
|
+
/** Read-only forensic pin: a completed record AND its live claim, never a pending adoption or directory guess. */
|
|
323
|
+
export function kiroOwnedConversation(opts) {
|
|
324
|
+
if (!OWNER_NAME.test(opts.instance))
|
|
325
|
+
return null;
|
|
326
|
+
const p = paths(opts.agendHome, opts.engine, opts.instance);
|
|
327
|
+
const read = readState(p.state, opts.instance);
|
|
328
|
+
const record = read.kind === "ok" ? read.state.keys[keyOf(opts.engine, opts.workingDirectory, opts.credentialProfile)] : undefined;
|
|
329
|
+
return record?.id && record.engine === opts.engine && kiroCanonicalDirectory(record.workingDirectory) === kiroCanonicalDirectory(opts.workingDirectory)
|
|
330
|
+
&& record.credentialProfile === opts.credentialProfile && !record.abandoned.includes(record.id)
|
|
331
|
+
&& heldBy(claimOf(p.claims, record.id), opts.instance) ? record.id : null;
|
|
332
|
+
}
|
|
333
|
+
/** The original classic owner identifies an incomplete carried migration; never choose a newest session. */
|
|
334
|
+
export function kiroCarryCandidate(opts) {
|
|
335
|
+
const p = paths(opts.agendHome, "v2", opts.instance), read = readState(p.state, opts.instance);
|
|
336
|
+
if (read.kind === "bad")
|
|
337
|
+
throw new KiroIdentityError("Kiro ownership record is unreadable; migration repair held");
|
|
338
|
+
if (read.kind !== "ok")
|
|
339
|
+
return null;
|
|
340
|
+
const classic = read.state.keys[keyOf("v1", opts.workingDirectory, opts.credentialProfile)];
|
|
341
|
+
const tui = read.state.keys[keyOf("v2", opts.workingDirectory, opts.credentialProfile)];
|
|
342
|
+
for (const [record, engine] of [[classic, "v1"], [tui, "v2"]]) {
|
|
343
|
+
if (record && (record.engine !== engine || kiroCanonicalDirectory(record.workingDirectory) !== kiroCanonicalDirectory(opts.workingDirectory)
|
|
344
|
+
|| record.credentialProfile !== opts.credentialProfile))
|
|
345
|
+
throw new KiroIdentityError("Carry ownership record does not match its engine, directory or profile");
|
|
346
|
+
}
|
|
347
|
+
if (!classic?.id || !tui || (!tui.abandoned.includes(classic.id) && tui.id !== classic.id))
|
|
348
|
+
return null;
|
|
349
|
+
if (tui.id && tui.id !== classic.id)
|
|
350
|
+
return null; // an already-owned deliberate replacement is never overwritten
|
|
351
|
+
if (!heldBy(claimOf(paths(opts.agendHome, "v1", opts.instance).claims, classic.id), opts.instance))
|
|
352
|
+
throw new KiroIdentityError("Original classic ownership is not proven; migration repair held");
|
|
353
|
+
if (tui.id === classic.id && heldBy(claimOf(p.claims, classic.id), opts.instance))
|
|
354
|
+
return { id: classic.id, repair: false, since: tui.since };
|
|
355
|
+
const claim = claimOf(p.claims, classic.id);
|
|
356
|
+
if (tui.id !== null || !tui.abandoned.includes(classic.id) || !claim || claim === "incomplete" || claim.owner !== opts.instance) {
|
|
357
|
+
throw new KiroIdentityError("The carried V2 pin cannot be recovered without replacing another owner/session");
|
|
358
|
+
}
|
|
359
|
+
return { id: classic.id, repair: true, since: tui.since };
|
|
360
|
+
}
|
|
361
|
+
/** Only after external stopped-process and complete-owned-carry proofs. A failed state write leaves the old owner reserved. */
|
|
362
|
+
export function reinstateKiroCarryPin(opts, id) {
|
|
363
|
+
const candidate = kiroCarryCandidate(opts);
|
|
364
|
+
if (!candidate || candidate.id !== id)
|
|
365
|
+
throw new KiroIdentityError("Carried session ownership changed before re-pin");
|
|
366
|
+
if (!candidate.repair)
|
|
367
|
+
return;
|
|
368
|
+
const p = paths(opts.agendHome, "v2", opts.instance), read = readState(p.state, opts.instance);
|
|
369
|
+
if (read.kind !== "ok")
|
|
370
|
+
throw new KiroIdentityError("Carried ownership record changed");
|
|
371
|
+
const key = keyOf("v2", opts.workingDirectory, opts.credentialProfile), previous = read.state.keys[key];
|
|
372
|
+
writeFileAtomic(join(p.claims, id), opts.instance + "\n");
|
|
373
|
+
writeFileAtomic(p.state, JSON.stringify({ ...read.state, keys: { ...read.state.keys, [key]: { ...previous, id,
|
|
374
|
+
abandoned: previous.abandoned.filter(old => old !== id), agentConfirmed: false } } }) + "\n");
|
|
375
|
+
}
|
|
306
376
|
export function resolveKiroIdentity(opts) {
|
|
307
377
|
const { instance, engine, workingDirectory, credentialProfile } = opts;
|
|
308
378
|
if (!OWNER_NAME.test(instance))
|
|
@@ -548,4 +618,78 @@ export function forgetKiroIdentity(agendHome, instance) {
|
|
|
548
618
|
rmSync(paths(agendHome, "v1", instance).state, { force: true });
|
|
549
619
|
rmSync(paths(agendHome, "v1", instance).pending, { force: true });
|
|
550
620
|
}
|
|
621
|
+
/**
|
|
622
|
+
* #2598 B3: the newest engine this instance has a conversation record on — v2 once it ran under the TUI, v3 under V3
|
|
623
|
+
* — or null (never past classic). Moving to a newer engine forks the conversation and freezes the old engine's copy, so
|
|
624
|
+
* a launch on an older engine than this would resume the stale copy and lose everything done since. A pending
|
|
625
|
+
* migration does not count: until the newer engine's launch records it, nothing has happened there.
|
|
626
|
+
*/
|
|
627
|
+
export function kiroEngineFloor(agendHome, instance) {
|
|
628
|
+
if (!OWNER_NAME.test(instance))
|
|
629
|
+
return null;
|
|
630
|
+
const read = readState(paths(agendHome, "v1", instance).state, instance);
|
|
631
|
+
if (read.kind !== "ok")
|
|
632
|
+
return null;
|
|
633
|
+
const engines = new Set(Object.values(read.state.keys).map(r => r.engine));
|
|
634
|
+
return engines.has("v3") ? "v3" : engines.has("v2") ? "v2" : null;
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* #2598 B2: what moving this instance from classic (v1) to the TUI (v2) would carry, read-only. Its classic
|
|
638
|
+
* conversation is the one its v1 record holds (claim still held); null when it has none (a fresh or legacy-mode
|
|
639
|
+
* instance). Refused once it has any TUI record or a TUI adoption under way.
|
|
640
|
+
*/
|
|
641
|
+
export function inspectKiroTuiMigration(opts) {
|
|
642
|
+
const { agendHome, instance, workingDirectory, credentialProfile } = opts;
|
|
643
|
+
if (!OWNER_NAME.test(instance))
|
|
644
|
+
return { kind: "refused", reason: "name" };
|
|
645
|
+
const p1 = paths(agendHome, "v1", instance);
|
|
646
|
+
const read = readState(p1.state, instance);
|
|
647
|
+
if (read.kind === "bad")
|
|
648
|
+
return { kind: "refused", reason: "unreadable" };
|
|
649
|
+
const pending = readPending(p1.pending);
|
|
650
|
+
if (pending === "unreadable")
|
|
651
|
+
return { kind: "refused", reason: "unreadable" };
|
|
652
|
+
const v2Key = keyOf("v2", workingDirectory, credentialProfile);
|
|
653
|
+
const keys = read.kind === "ok" ? read.state.keys : {};
|
|
654
|
+
if (Object.values(keys).some(r => r.engine === "v2" || r.engine === "v3") || Object.hasOwn(pending, v2Key)) {
|
|
655
|
+
return { kind: "refused", reason: "already-tui" };
|
|
656
|
+
}
|
|
657
|
+
const v1 = keys[keyOf("v1", workingDirectory, credentialProfile)];
|
|
658
|
+
const classicId = v1?.id && heldBy(claimOf(p1.claims, v1.id), instance) ? v1.id : null;
|
|
659
|
+
return { kind: "ready", classicId };
|
|
660
|
+
}
|
|
661
|
+
/**
|
|
662
|
+
* #2598 B2: arm the move. The classic conversation is recorded as this instance's TUI adoption under way, so the
|
|
663
|
+
* next TUI launch resolves to exactly it (resolveKiroIdentity's pending path: claimed, recorded, resumed by id once —
|
|
664
|
+
* kiro copies the classic history into its session files). Nothing else is written; the classic record and claim
|
|
665
|
+
* stay as they are. With no classic conversation nothing is armed, and the TUI launch starts fresh.
|
|
666
|
+
* Throws when the adoption cannot be written. Returns what was armed.
|
|
667
|
+
*/
|
|
668
|
+
export function armKiroTuiMigration(opts) {
|
|
669
|
+
const inspected = inspectKiroTuiMigration(opts);
|
|
670
|
+
if (inspected.kind !== "ready" || !inspected.classicId)
|
|
671
|
+
return inspected;
|
|
672
|
+
const p = paths(opts.agendHome, "v2", opts.instance);
|
|
673
|
+
const pending = readPending(p.pending);
|
|
674
|
+
if (pending === "unreadable")
|
|
675
|
+
return { kind: "refused", reason: "unreadable" };
|
|
676
|
+
mkdirSync(p.instances, { recursive: true, mode: 0o700 });
|
|
677
|
+
writePending(p.pending, { ...pending, [keyOf("v2", opts.workingDirectory, opts.credentialProfile)]: inspected.classicId });
|
|
678
|
+
return inspected;
|
|
679
|
+
}
|
|
680
|
+
/** Undo armKiroTuiMigration before any TUI launch took it up (a config save that failed after arming). */
|
|
681
|
+
export function disarmKiroTuiMigration(opts) {
|
|
682
|
+
if (!OWNER_NAME.test(opts.instance))
|
|
683
|
+
return;
|
|
684
|
+
const p = paths(opts.agendHome, "v2", opts.instance);
|
|
685
|
+
const pending = readPending(p.pending);
|
|
686
|
+
if (pending === "unreadable")
|
|
687
|
+
return;
|
|
688
|
+
const rest = { ...pending };
|
|
689
|
+
delete rest[keyOf("v2", opts.workingDirectory, opts.credentialProfile)];
|
|
690
|
+
try {
|
|
691
|
+
writePending(p.pending, rest);
|
|
692
|
+
}
|
|
693
|
+
catch { /* left armed: the next TUI launch takes it up, as intended anyway */ }
|
|
694
|
+
}
|
|
551
695
|
//# sourceMappingURL=kiro-identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro-identity.js","sourceRoot":"","sources":["../../src/backend/kiro-identity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kiro-identity.js","sourceRoot":"","sources":["../../src/backend/kiro-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type KiroClassicArchiveInput } from "./kiro-classic-archive.js";
|
|
2
|
+
export interface KiroMigrationVerificationInput extends KiroClassicArchiveInput {
|
|
3
|
+
archived: boolean;
|
|
4
|
+
model: string;
|
|
5
|
+
outboxDbPath: string;
|
|
6
|
+
knownInstances: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function verifyKiroMigrationStore(input: KiroMigrationVerificationInput): {
|
|
9
|
+
forensic: string;
|
|
10
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** #2598: read-only store proof, on the existing bounded Kiro worker lane. */
|
|
2
|
+
import Database from "better-sqlite3";
|
|
3
|
+
import { readdirSync } from "node:fs";
|
|
4
|
+
import { createHash } from "node:crypto";
|
|
5
|
+
import { join, resolve } from "node:path";
|
|
6
|
+
import { kiroCanonicalDirectory, kiroDirectoryKeys, kiroOwnedConversation } from "./kiro-identity.js";
|
|
7
|
+
import { snapshotKiroTuiFile } from "../kiro-tui-forensic.js";
|
|
8
|
+
import { scanKiroInstanceForForgedEnvelopes } from "../forged-envelope-scan.js";
|
|
9
|
+
import { kiroClassicArchiveMetadata } from "./kiro-classic-archive.js";
|
|
10
|
+
export function verifyKiroMigrationStore(input) {
|
|
11
|
+
const current = () => kiroOwnedConversation({ ...input, engine: "v2" }) === input.sessionId;
|
|
12
|
+
if (!current())
|
|
13
|
+
throw new Error("Carried V2 ownership is not current");
|
|
14
|
+
const snapshot = snapshotKiroTuiFile(join(input.sessionsDir, input.sessionId + ".json"), 8 * 1024 * 1024);
|
|
15
|
+
const meta = JSON.parse(snapshot.text);
|
|
16
|
+
if (meta.exported_from_v1 !== true || meta.session_id !== input.sessionId || typeof meta.cwd !== "string"
|
|
17
|
+
|| kiroCanonicalDirectory(meta.cwd) !== kiroCanonicalDirectory(input.workingDirectory)
|
|
18
|
+
|| meta.session_state?.rts_model_state?.conversation_id !== input.sessionId
|
|
19
|
+
|| meta.session_state?.rts_model_state?.model_info?.model_id !== input.model)
|
|
20
|
+
throw new Error("The carried V2 metadata/model does not match");
|
|
21
|
+
const scan = scanKiroInstanceForForgedEnvelopes({ instanceName: input.instance, workingDirectory: input.workingDirectory,
|
|
22
|
+
outboxDbPath: input.outboxDbPath, knownInstances: new Set(input.knownInstances),
|
|
23
|
+
tui: { sessionId: input.sessionId, sessionsDir: input.sessionsDir, stillOwned: current } });
|
|
24
|
+
if (scan.status === "unreadable-store" || scan.status === "no-conversation")
|
|
25
|
+
throw new Error("Forensic V2 reader is unavailable: " + (scan.reason ?? scan.status));
|
|
26
|
+
if (input.archived) {
|
|
27
|
+
const root = join(input.agendHome, "kiro-classic-archives", createHash("sha256").update(input.instance).digest("hex").slice(0, 32));
|
|
28
|
+
const found = readdirSync(root).some(name => {
|
|
29
|
+
if (!name.startsWith(input.sessionId + "-") || !name.endsWith(".json"))
|
|
30
|
+
return false;
|
|
31
|
+
const archive = kiroClassicArchiveMetadata(join(root, name));
|
|
32
|
+
return archive.instance === input.instance && archive.sessionId === input.sessionId && archive.directory === kiroCanonicalDirectory(input.workingDirectory)
|
|
33
|
+
&& archive.profile === input.credentialProfile && archive.dbPath === resolve(input.dbPath);
|
|
34
|
+
});
|
|
35
|
+
if (!found)
|
|
36
|
+
throw new Error("No verified classic archive exists");
|
|
37
|
+
const db = new Database(input.dbPath, { readonly: true, fileMustExist: true, timeout: 200 });
|
|
38
|
+
try {
|
|
39
|
+
const keys = kiroDirectoryKeys(input.workingDirectory);
|
|
40
|
+
if (db.prepare(`SELECT 1 FROM conversations_v2 WHERE key IN (${keys.map(() => "?").join(",")}) AND conversation_id=? LIMIT 1`).get(...keys, input.sessionId))
|
|
41
|
+
throw new Error("The frozen classic duplicate is still indexed");
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
db.close();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (!snapshot.unchanged() || !current())
|
|
48
|
+
throw new Error("V2 ownership or metadata changed during verification");
|
|
49
|
+
// Dirty/expired evidence remains an explicit verdict, never silently converted to clean.
|
|
50
|
+
return { forensic: scan.status };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=kiro-migration-verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kiro-migration-verify.js","sourceRoot":"","sources":["../../src/backend/kiro-migration-verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/** kiro's own default model: what `--list-models` names `default_model` (2.30.0: "auto", which kiro routes itself). */
|
|
2
|
+
export declare const KIRO_FALLBACK_MODEL = "auto";
|
|
3
|
+
export interface KiroModelSwitch {
|
|
4
|
+
from: string | null;
|
|
5
|
+
to: string;
|
|
6
|
+
announced: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface KiroModelRecords {
|
|
9
|
+
/** conversation id → the model it is launched on instead of its saved one. */
|
|
10
|
+
switched: Record<string, KiroModelSwitch>;
|
|
11
|
+
/** conversations restarted once after a model error (step 2). */
|
|
12
|
+
restarted: string[];
|
|
13
|
+
/** model errors already said: `<conversation id or ->|<model or ->`. */
|
|
14
|
+
notified: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare function readKiroModelRecords(instanceDir: string): KiroModelRecords;
|
|
17
|
+
export declare function writeKiroModelRecords(instanceDir: string, records: KiroModelRecords): void;
|
|
18
|
+
/**
|
|
19
|
+
* v1: the model a conversation was saved with, or null when it cannot be read (never an error: step 2 covers it). The
|
|
20
|
+
* owned row only — this directory's keys and this conversation id, through the (key, updated_at) index — in a
|
|
21
|
+
* read-only connection with a short busy timeout. Synchronous, on the launch path: one indexed row.
|
|
22
|
+
*/
|
|
23
|
+
export declare function readKiroV1SavedModel(launch: {
|
|
24
|
+
id: string;
|
|
25
|
+
workingDirectory: string;
|
|
26
|
+
dbPath: string;
|
|
27
|
+
}): string | null;
|
|
28
|
+
/**
|
|
29
|
+
* v2: the model in a session file's `rts_model_state`, or null. Asynchronous — session files are never read on the
|
|
30
|
+
* fleet loop (#1417) — so it runs in the launch's preparation, for the conversation the instance has recorded.
|
|
31
|
+
*/
|
|
32
|
+
export declare function readKiroV2SavedModel(sessionsDir: string, id: string): Promise<string | null>;
|
|
33
|
+
/** kiro's model list from AgEnD's cached probe (cli-env/kiro-cli.json); null when missing, damaged or stale. */
|
|
34
|
+
export declare function readKiroKnownModels(agendHome: string, now?: number): {
|
|
35
|
+
models: Set<string>;
|
|
36
|
+
defaultModel: string;
|
|
37
|
+
} | null;
|
|
38
|
+
export type KiroModelErrorVerdict =
|
|
39
|
+
/** Step 2: restart once on `model` (recorded; the restart's launch announces it). */
|
|
40
|
+
{
|
|
41
|
+
kind: "restart";
|
|
42
|
+
model: string;
|
|
43
|
+
}
|
|
44
|
+
/** Say it, once: `configured` = the instance's own model is the unavailable one (step 4). */
|
|
45
|
+
| {
|
|
46
|
+
kind: "notify";
|
|
47
|
+
configured: string | null;
|
|
48
|
+
}
|
|
49
|
+
/** Already said for this conversation and model. */
|
|
50
|
+
| {
|
|
51
|
+
kind: "quiet";
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* What a kiro model error should do. `ownModel` = the model this launch was given from the instance's (or fleet's)
|
|
55
|
+
* configuration; `launchModel` = the --model it ran with (its own, or a fallback from a switch); `conversation` = the
|
|
56
|
+
* resumed conversation, null for a fresh one. Records what it decides.
|
|
57
|
+
*/
|
|
58
|
+
export declare function decideKiroModelError(instanceDir: string, launch: {
|
|
59
|
+
ownModel: string | null;
|
|
60
|
+
launchModel: string | null;
|
|
61
|
+
conversation: string | null;
|
|
62
|
+
}, fallbackModel: string): KiroModelErrorVerdict;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #2648: a kiro conversation saved with a model kiro has since retired. Resumed as is, kiro answers every start with
|
|
3
|
+
* "Model unavailable — use /model to switch", and an instance with no model of its own never gets past it.
|
|
4
|
+
*
|
|
5
|
+
* `--model` on a resume overrides the conversation's saved model in every engine and launch form (probed on 2.30.0:
|
|
6
|
+
* classic and TUI, interactive and not); the model given answers and becomes the saved one. So, for an instance with
|
|
7
|
+
* no model of its own (none on the instance and none inherited from the fleet):
|
|
8
|
+
* 1. at launch, the conversation it resumes is read (its own row or session file, read-only); a saved model that is
|
|
9
|
+
* not in kiro's cached model list launches with kiro's default model instead;
|
|
10
|
+
* 2. a model error after a resume that (1) could not foresee restarts it once on that default, per conversation;
|
|
11
|
+
* 3. the switch is announced once per conversation.
|
|
12
|
+
* An instance whose own model is the retired one is a configuration error: it is said once, never switched (4).
|
|
13
|
+
*
|
|
14
|
+
* The records live in the instance's directory (kiro-model.json); a missing or damaged file reads as empty.
|
|
15
|
+
*/
|
|
16
|
+
import { readFileSync } from "node:fs";
|
|
17
|
+
import { readFile, stat } from "node:fs/promises";
|
|
18
|
+
import { join } from "node:path";
|
|
19
|
+
import Database from "better-sqlite3";
|
|
20
|
+
import { atomicWriteFileSync } from "../atomic-write.js";
|
|
21
|
+
import { CLI_ENV_TTL_MS } from "./types.js";
|
|
22
|
+
import { kiroDirectoryKeys } from "./kiro-identity.js";
|
|
23
|
+
/** kiro's own default model: what `--list-models` names `default_model` (2.30.0: "auto", which kiro routes itself). */
|
|
24
|
+
export const KIRO_FALLBACK_MODEL = "auto";
|
|
25
|
+
const RECORD_FILE = "kiro-model.json";
|
|
26
|
+
/** Bounds the records an instance keeps (one per conversation it has had switched or reported). */
|
|
27
|
+
const MAX_ENTRIES = 32;
|
|
28
|
+
/** A v2 session file larger than this is not read on the launch path (the model sits near its top, but JSON is whole). */
|
|
29
|
+
const MAX_SESSION_FILE_BYTES = 8 * 1024 * 1024;
|
|
30
|
+
function empty() {
|
|
31
|
+
return { switched: Object.create(null), restarted: [], notified: [] };
|
|
32
|
+
}
|
|
33
|
+
export function readKiroModelRecords(instanceDir) {
|
|
34
|
+
const out = empty();
|
|
35
|
+
let raw;
|
|
36
|
+
try {
|
|
37
|
+
raw = JSON.parse(readFileSync(join(instanceDir, RECORD_FILE), "utf-8"));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return out;
|
|
41
|
+
}
|
|
42
|
+
if (!raw || typeof raw !== "object")
|
|
43
|
+
return out;
|
|
44
|
+
const r = raw;
|
|
45
|
+
if (r.switched && typeof r.switched === "object") {
|
|
46
|
+
for (const [id, v] of Object.entries(r.switched)) {
|
|
47
|
+
const s = v;
|
|
48
|
+
if (!s || typeof s.to !== "string" || !s.to)
|
|
49
|
+
continue;
|
|
50
|
+
out.switched[id] = { from: typeof s.from === "string" ? s.from : null, to: s.to, announced: s.announced === true };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const strings = (v) => Array.isArray(v) ? v.filter((x) => typeof x === "string") : [];
|
|
54
|
+
out.restarted = strings(r.restarted);
|
|
55
|
+
out.notified = strings(r.notified);
|
|
56
|
+
return out;
|
|
57
|
+
}
|
|
58
|
+
export function writeKiroModelRecords(instanceDir, records) {
|
|
59
|
+
const switched = Object.entries(records.switched).slice(-MAX_ENTRIES);
|
|
60
|
+
atomicWriteFileSync(join(instanceDir, RECORD_FILE), JSON.stringify({
|
|
61
|
+
switched: Object.fromEntries(switched),
|
|
62
|
+
restarted: records.restarted.slice(-MAX_ENTRIES),
|
|
63
|
+
notified: records.notified.slice(-MAX_ENTRIES),
|
|
64
|
+
}) + "\n", { mode: 0o600 });
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* v1: the model a conversation was saved with, or null when it cannot be read (never an error: step 2 covers it). The
|
|
68
|
+
* owned row only — this directory's keys and this conversation id, through the (key, updated_at) index — in a
|
|
69
|
+
* read-only connection with a short busy timeout. Synchronous, on the launch path: one indexed row.
|
|
70
|
+
*/
|
|
71
|
+
export function readKiroV1SavedModel(launch) {
|
|
72
|
+
let db = null;
|
|
73
|
+
try {
|
|
74
|
+
db = new Database(launch.dbPath, { readonly: true, fileMustExist: true, timeout: 200 });
|
|
75
|
+
const [a, b = a, c = b] = kiroDirectoryKeys(launch.workingDirectory);
|
|
76
|
+
const row = db.prepare("SELECT json_extract(value, '$.model_info.model_id') AS m FROM conversations_v2 INDEXED BY idx_conversations_v2_key_updated"
|
|
77
|
+
+ " WHERE key IN (?, ?, ?) AND conversation_id = ? LIMIT 1").get(a, b, c, launch.id);
|
|
78
|
+
return typeof row?.m === "string" && row.m ? row.m : null;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
try {
|
|
85
|
+
db?.close();
|
|
86
|
+
}
|
|
87
|
+
catch { /* closed */ }
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* v2: the model in a session file's `rts_model_state`, or null. Asynchronous — session files are never read on the
|
|
92
|
+
* fleet loop (#1417) — so it runs in the launch's preparation, for the conversation the instance has recorded.
|
|
93
|
+
*/
|
|
94
|
+
export async function readKiroV2SavedModel(sessionsDir, id) {
|
|
95
|
+
if (!/^[A-Za-z0-9-]{8,64}$/.test(id))
|
|
96
|
+
return null;
|
|
97
|
+
const path = join(sessionsDir, `${id}.json`);
|
|
98
|
+
try {
|
|
99
|
+
if ((await stat(path)).size > MAX_SESSION_FILE_BYTES)
|
|
100
|
+
return null;
|
|
101
|
+
const session = JSON.parse(await readFile(path, "utf-8"));
|
|
102
|
+
const model = session?.session_state?.rts_model_state?.model_info?.model_id;
|
|
103
|
+
return typeof model === "string" && model ? model : null;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** kiro's model list from AgEnD's cached probe (cli-env/kiro-cli.json); null when missing, damaged or stale. */
|
|
110
|
+
export function readKiroKnownModels(agendHome, now = Date.now()) {
|
|
111
|
+
try {
|
|
112
|
+
const env = JSON.parse(readFileSync(join(agendHome, "cli-env", "kiro-cli.json"), "utf-8"));
|
|
113
|
+
if (typeof env?.probedAt !== "number" || now - env.probedAt >= CLI_ENV_TTL_MS)
|
|
114
|
+
return null;
|
|
115
|
+
const models = new Set((env.models ?? []).map(m => m?.id).filter((id) => typeof id === "string" && !!id));
|
|
116
|
+
if (models.size === 0)
|
|
117
|
+
return null;
|
|
118
|
+
const defaultModel = typeof env.currentModel === "string" && models.has(env.currentModel) ? env.currentModel : KIRO_FALLBACK_MODEL;
|
|
119
|
+
return { models, defaultModel };
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* What a kiro model error should do. `ownModel` = the model this launch was given from the instance's (or fleet's)
|
|
127
|
+
* configuration; `launchModel` = the --model it ran with (its own, or a fallback from a switch); `conversation` = the
|
|
128
|
+
* resumed conversation, null for a fresh one. Records what it decides.
|
|
129
|
+
*/
|
|
130
|
+
export function decideKiroModelError(instanceDir, launch, fallbackModel) {
|
|
131
|
+
const records = readKiroModelRecords(instanceDir);
|
|
132
|
+
const save = () => { try {
|
|
133
|
+
writeKiroModelRecords(instanceDir, records);
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return false;
|
|
138
|
+
} };
|
|
139
|
+
if (!launch.ownModel && launch.conversation && !launch.launchModel && !records.restarted.includes(launch.conversation)) {
|
|
140
|
+
const before = records.switched[launch.conversation];
|
|
141
|
+
records.restarted.push(launch.conversation);
|
|
142
|
+
records.switched[launch.conversation] = { from: before?.from ?? null, to: fallbackModel, announced: false };
|
|
143
|
+
// The restart is the record's to authorize: one that cannot be committed would restart again on the same error,
|
|
144
|
+
// and the next launch would not know to switch. Then it is only said (#2649 review).
|
|
145
|
+
if (save())
|
|
146
|
+
return { kind: "restart", model: fallbackModel };
|
|
147
|
+
records.restarted.pop();
|
|
148
|
+
if (before)
|
|
149
|
+
records.switched[launch.conversation] = before;
|
|
150
|
+
else
|
|
151
|
+
delete records.switched[launch.conversation];
|
|
152
|
+
}
|
|
153
|
+
const key = `${launch.conversation ?? "-"}|${launch.launchModel ?? "-"}`;
|
|
154
|
+
if (records.notified.includes(key))
|
|
155
|
+
return { kind: "quiet" };
|
|
156
|
+
records.notified.push(key);
|
|
157
|
+
save();
|
|
158
|
+
return { kind: "notify", configured: launch.ownModel };
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=kiro-retired-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kiro-retired-model.js","sourceRoot":"","sources":["../../src/backend/kiro-retired-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { verifyKiroMigrationStore } from "./kiro-migration-verify.js";
|
|
1
2
|
import { parentPort } from "node:worker_threads";
|
|
2
3
|
import { performance } from "node:perf_hooks";
|
|
3
4
|
import { readdirSync, readFileSync, statSync } from "node:fs";
|
|
4
5
|
import { join } from "node:path";
|
|
6
|
+
import { prepareKiroCarryForLaunch } from "./kiro-classic-archive.js";
|
|
5
7
|
const CACHE_LIMIT = 4096;
|
|
6
8
|
const CACHE_BYTES = 4 * 1024 * 1024;
|
|
7
9
|
let cacheBytes = 0;
|
|
@@ -81,7 +83,25 @@ function scan({ keys, sessionsDir }, deadlineAt) {
|
|
|
81
83
|
return { kind: "ok", sessions, diagnostics: { reads, hits } };
|
|
82
84
|
}
|
|
83
85
|
parentPort?.on("message", ({ id, input, deadlineAt }) => {
|
|
84
|
-
|
|
86
|
+
let reply;
|
|
87
|
+
try {
|
|
88
|
+
if (input.migration) {
|
|
89
|
+
if (performance.now() >= deadlineAt)
|
|
90
|
+
throw new Error("Kiro verification timed out");
|
|
91
|
+
reply = { kind: "ok", sessions: [], diagnostics: { reads: 0, hits: 0 }, verification: verifyKiroMigrationStore(input.migration) };
|
|
92
|
+
}
|
|
93
|
+
else if (input.carry) {
|
|
94
|
+
const checkpoint = () => { if (performance.now() >= deadlineAt)
|
|
95
|
+
throw new Error("Kiro carry archive timed out"); };
|
|
96
|
+
checkpoint();
|
|
97
|
+
reply = { kind: "ok", sessions: [], diagnostics: { reads: 0, hits: 0 }, carry: prepareKiroCarryForLaunch(input.carry, checkpoint) };
|
|
98
|
+
}
|
|
99
|
+
else
|
|
100
|
+
reply = scan(input, deadlineAt);
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
reply = { kind: "unreadable", detail: err.message };
|
|
104
|
+
}
|
|
85
105
|
parentPort?.postMessage({ id, reply });
|
|
86
106
|
});
|
|
87
107
|
//# sourceMappingURL=kiro-v2-store-worker.js.map
|