@deepseek-insight/dsi 0.6.19 → 0.6.21
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/build/client/_app/immutable/assets/0.BQzh2ktU.css +2 -0
- package/build/client/_app/immutable/assets/{2.CulOeYPh.css → 2.ByYVysCj.css} +1 -1
- package/build/client/_app/immutable/chunks/6lkFuaQJ.js +1 -0
- package/build/client/_app/immutable/chunks/BtiOY3LQ.js +2 -0
- package/build/client/_app/immutable/chunks/Ct20Yiq1.js +1 -0
- package/build/client/_app/immutable/chunks/{CcfE8WnY.js → DygY_IXG.js} +1 -1
- package/build/client/_app/immutable/entry/{app.By0um08-.js → app.a14BvSUo.js} +2 -2
- package/build/client/_app/immutable/entry/start.DwHZM5ia.js +1 -0
- package/build/client/_app/immutable/nodes/{1.zMtTl7W9.js → 1.BKoLqRXA.js} +1 -1
- package/build/client/_app/immutable/nodes/2.CSRBDmmw.js +337 -0
- package/build/client/_app/version.json +1 -1
- package/build/handler.js +4 -4
- package/build/index.js +4 -4
- package/build/server/chunks/chunks/deliverables.js-Dg6XzNkW.js +46 -0
- package/build/server/chunks/chunks/{dsh-events.js-35seDLwL.js → dsh-events.js-CGuF_had.js} +2 -1
- package/build/server/chunks/chunks/{git-probe.js-D4DjBXSY.js → git-probe.js-6ARRicD2.js} +2 -2
- package/build/server/chunks/chunks/{internal2.js-BGlVENi_.js → internal2.js-Bcxjr5x2.js} +2 -2
- package/build/server/chunks/chunks/{state.js-BT8iDJXe.js → state.js-ez_uUx9I.js} +2 -2
- package/build/server/chunks/chunks/{watcher.js-CACduBB9.js → watcher.js-Dogr6xsl.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/a2a/{_server.ts.js-DHFHuGSm.js → _server.ts.js-BkLuKDZr.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/a2a/register/{_server.ts.js-CUUfDBcc.js → _server.ts.js-BOyrp9zt.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/events/{_server.ts.js-BiAJcPpb.js → _server.ts.js-LWw-YpVI.js} +7 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/history/{_server.ts.js-ecbtat_C.js → _server.ts.js-CYt4aYoc.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/workspace/file-write/{_server.ts.js-Cb7X2G82.js → _server.ts.js-CWWi0aa8.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/workspace/git-events/{_server.ts.js-DZ67v729.js → _server.ts.js-Dc0g7HPl.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/workspace/git-file-head/{_server.ts.js-BuO5Stmm.js → _server.ts.js-CvPoP9yH.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/workspace/git-map/{_server.ts.js-Bb_I5Ze7.js → _server.ts.js-f5Gk_lb6.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/workspace/git-status/{_server.ts.js-cHWxh5VB.js → _server.ts.js-BMkKlCgS.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/workspace/write-gate/{_server.ts.js-Blcfn0zm.js → _server.ts.js-DUL-2q1R.js} +3 -3
- package/build/server/chunks/entries/pages/{_error.svelte.js-DrXSHJGM.js → _error.svelte.js-DDQEX5e3.js} +3 -3
- package/build/server/chunks/entries/pages/{_page.server.ts.js-C_ydvzuE.js → _page.server.ts.js-DFRnK-I2.js} +7 -2
- package/build/server/chunks/entries/pages/{_page.svelte.js-BoCqON33.js → _page.svelte.js-DrMNc6ih.js} +461 -130
- package/build/server/chunks/{handler-CxEHv3N9.js → handler-Cqw6zPgE.js} +3 -3
- package/build/server/chunks/{index.js-Co6HpgIt.js → index.js-CZ6hvqti.js} +2 -2
- package/build/server/chunks/{manifest.js-BoZ1Tnyu.js → manifest.js-SFcYF8ua.js} +15 -15
- package/build/server/chunks/nodes/{0.js-zSkx80Fq.js → 0.js-BqYWZcQy.js} +3 -3
- package/build/server/chunks/nodes/1.js-CoGgQITW.js +9 -0
- package/build/server/chunks/nodes/{2.js-DNAbnuXD.js → 2.js-CnybOb74.js} +7 -6
- package/package.json +1 -1
- package/template/.dsi/prompts.sqlite-shm +0 -0
- package/template/.dsi/prompts.sqlite-wal +0 -0
- package/build/client/_app/immutable/assets/0.KhAZv9mf.css +0 -2
- package/build/client/_app/immutable/chunks/DR7O6pQK.js +0 -1
- package/build/client/_app/immutable/chunks/Db_zFoAP.js +0 -1
- package/build/client/_app/immutable/chunks/L81Qm9WF.js +0 -2
- package/build/client/_app/immutable/entry/start.DovVSimi.js +0 -1
- package/build/client/_app/immutable/nodes/2.C9y-bmIa.js +0 -337
- package/build/server/chunks/nodes/1.js-BWaCxXNn.js +0 -9
- /package/build/client/_app/immutable/nodes/{0.Jl8y_yU6.js → 0.BE97Xr19.js} +0 -0
|
@@ -8,7 +8,7 @@ import { D as DEFAULT_IMAGE_LIMITS } from '../../chunks/image-limits.js-CUdJ0f7r
|
|
|
8
8
|
import { s as sanitizeWorkspaceProfile, d as dsiKey, t as themePrefs } from '../../chunks/theme-prefs.svelte.js-8CaWz46g.js';
|
|
9
9
|
import { a as appConfig, p as previewSegments, b as parseTagWords, i as isValidTagWord, s as shouldRecordPrompt, g as getTrigger, t as triggerMode, c as searchKey, d as textPreviewOf } from '../../chunks/app-config.svelte.js-D7wkLUkK.js';
|
|
10
10
|
import { c as getLocale } from '../../chunks/runtime.js-CCJi3XaY.js';
|
|
11
|
-
import { p as page, a as afterNavigate, t, c as currentLocale, e as replaceState, u as unexpectederror1, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, b as backtoworkspace2 } from '../../chunks/state.js-
|
|
11
|
+
import { p as page, a as afterNavigate, t, c as currentLocale, e as replaceState, u as unexpectederror1, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, b as backtoworkspace2 } from '../../chunks/state.js-ez_uUx9I.js';
|
|
12
12
|
import 'yaml';
|
|
13
13
|
import 'html-to-image';
|
|
14
14
|
import hljs from 'highlight.js/lib/core';
|
|
@@ -20,7 +20,7 @@ import xml from 'highlight.js/lib/languages/xml';
|
|
|
20
20
|
import css from 'highlight.js/lib/languages/css';
|
|
21
21
|
import '../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
22
22
|
import '../../chunks/shared.js-HQ0rfhm4.js';
|
|
23
|
-
import '../../chunks/internal2.js-
|
|
23
|
+
import '../../chunks/internal2.js-Bcxjr5x2.js';
|
|
24
24
|
import '../../chunks/exports.js-DH_tjtdv.js';
|
|
25
25
|
import '../../chunks/utils.js-CAdNO8Tu.js';
|
|
26
26
|
|
|
@@ -3224,6 +3224,70 @@ var deleting = ((inputs = {}, options = {}) => {
|
|
|
3224
3224
|
return en_deleting();
|
|
3225
3225
|
});
|
|
3226
3226
|
//#endregion
|
|
3227
|
+
//#region src/lib/paraglide/messages/deliverablesfiles1.js
|
|
3228
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
3229
|
+
/** @typedef {{}} Deliverablesfiles1Inputs */
|
|
3230
|
+
var en_deliverablesfiles1 = () => {
|
|
3231
|
+
return ` files)`;
|
|
3232
|
+
};
|
|
3233
|
+
var zh_deliverablesfiles1 = () => {
|
|
3234
|
+
return ` 个文件)`;
|
|
3235
|
+
};
|
|
3236
|
+
var id_deliverablesfiles1 = () => {
|
|
3237
|
+
return ` berkas)`;
|
|
3238
|
+
};
|
|
3239
|
+
var es_deliverablesfiles1 = () => {
|
|
3240
|
+
return ` archivos)`;
|
|
3241
|
+
};
|
|
3242
|
+
/**
|
|
3243
|
+
* | output |
|
|
3244
|
+
* | --- |
|
|
3245
|
+
* | "files)" |
|
|
3246
|
+
*
|
|
3247
|
+
* @param {Deliverablesfiles1Inputs} inputs
|
|
3248
|
+
* @param {{ locale?: "en" | "zh" | "id" | "es" }} options
|
|
3249
|
+
* @returns {LocalizedString}
|
|
3250
|
+
*/
|
|
3251
|
+
var deliverablesfiles1 = ((inputs = {}, options = {}) => {
|
|
3252
|
+
const locale = options.locale ?? getLocale();
|
|
3253
|
+
if (locale === "zh") return zh_deliverablesfiles1();
|
|
3254
|
+
if (locale === "id") return id_deliverablesfiles1();
|
|
3255
|
+
if (locale === "es") return es_deliverablesfiles1();
|
|
3256
|
+
return en_deliverablesfiles1();
|
|
3257
|
+
});
|
|
3258
|
+
//#endregion
|
|
3259
|
+
//#region src/lib/paraglide/messages/deliverablestitle1.js
|
|
3260
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
3261
|
+
/** @typedef {{}} Deliverablestitle1Inputs */
|
|
3262
|
+
var en_deliverablestitle1 = () => {
|
|
3263
|
+
return `Deliverables (`;
|
|
3264
|
+
};
|
|
3265
|
+
var zh_deliverablestitle1 = () => {
|
|
3266
|
+
return `交付文件(`;
|
|
3267
|
+
};
|
|
3268
|
+
var id_deliverablestitle1 = () => {
|
|
3269
|
+
return `Hasil kerja (`;
|
|
3270
|
+
};
|
|
3271
|
+
var es_deliverablestitle1 = () => {
|
|
3272
|
+
return `Entregables (`;
|
|
3273
|
+
};
|
|
3274
|
+
/**
|
|
3275
|
+
* | output |
|
|
3276
|
+
* | --- |
|
|
3277
|
+
* | "Deliverables (" |
|
|
3278
|
+
*
|
|
3279
|
+
* @param {Deliverablestitle1Inputs} inputs
|
|
3280
|
+
* @param {{ locale?: "en" | "zh" | "id" | "es" }} options
|
|
3281
|
+
* @returns {LocalizedString}
|
|
3282
|
+
*/
|
|
3283
|
+
var deliverablestitle1 = ((inputs = {}, options = {}) => {
|
|
3284
|
+
const locale = options.locale ?? getLocale();
|
|
3285
|
+
if (locale === "zh") return zh_deliverablestitle1();
|
|
3286
|
+
if (locale === "id") return id_deliverablestitle1();
|
|
3287
|
+
if (locale === "es") return es_deliverablestitle1();
|
|
3288
|
+
return en_deliverablestitle1();
|
|
3289
|
+
});
|
|
3290
|
+
//#endregion
|
|
3227
3291
|
//#region src/lib/paraglide/messages/dirbreadcrumbs1.js
|
|
3228
3292
|
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
3229
3293
|
/** @typedef {{}} Dirbreadcrumbs1Inputs */
|
|
@@ -14495,6 +14559,8 @@ var _index_exports = /* @__PURE__ */ __exportAll({
|
|
|
14495
14559
|
del: () => del,
|
|
14496
14560
|
delete: () => _delete,
|
|
14497
14561
|
deleting: () => deleting,
|
|
14562
|
+
deliverablesFiles: () => deliverablesfiles1,
|
|
14563
|
+
deliverablesTitle: () => deliverablestitle1,
|
|
14498
14564
|
dirBreadcrumbs: () => dirbreadcrumbs1,
|
|
14499
14565
|
discardBroadcast: () => discardbroadcast1,
|
|
14500
14566
|
discardBroadcastTitle: () => discardbroadcasttitle2,
|
|
@@ -14953,6 +15019,8 @@ var messages_exports = /* @__PURE__ */ __exportAll({
|
|
|
14953
15019
|
del: () => del,
|
|
14954
15020
|
delete: () => _delete,
|
|
14955
15021
|
deleting: () => deleting,
|
|
15022
|
+
deliverablesFiles: () => deliverablesfiles1,
|
|
15023
|
+
deliverablesTitle: () => deliverablestitle1,
|
|
14956
15024
|
dirBreadcrumbs: () => dirbreadcrumbs1,
|
|
14957
15025
|
discardBroadcast: () => discardbroadcast1,
|
|
14958
15026
|
discardBroadcastTitle: () => discardbroadcasttitle2,
|
|
@@ -15461,6 +15529,29 @@ function Bookmark_plus($$renderer, $$props) {
|
|
|
15461
15529
|
]));
|
|
15462
15530
|
}
|
|
15463
15531
|
//#endregion
|
|
15532
|
+
//#region node_modules/.pnpm/@lucide+svelte@1.35.0_svelte@5.56.10/node_modules/@lucide/svelte/dist/icons/bot.svelte
|
|
15533
|
+
function Bot($$renderer, $$props) {
|
|
15534
|
+
let { $$slots, $$events, ...props } = $$props;
|
|
15535
|
+
Icon($$renderer, spread_props([
|
|
15536
|
+
{ name: "bot" },
|
|
15537
|
+
props,
|
|
15538
|
+
{ iconNode: [
|
|
15539
|
+
["path", { "d": "M12 8V4H8" }],
|
|
15540
|
+
["rect", {
|
|
15541
|
+
"width": "16",
|
|
15542
|
+
"height": "12",
|
|
15543
|
+
"x": "4",
|
|
15544
|
+
"y": "8",
|
|
15545
|
+
"rx": "2"
|
|
15546
|
+
}],
|
|
15547
|
+
["path", { "d": "M2 14h2" }],
|
|
15548
|
+
["path", { "d": "M20 14h2" }],
|
|
15549
|
+
["path", { "d": "M15 13v2" }],
|
|
15550
|
+
["path", { "d": "M9 13v2" }]
|
|
15551
|
+
] }
|
|
15552
|
+
]));
|
|
15553
|
+
}
|
|
15554
|
+
//#endregion
|
|
15464
15555
|
//#region node_modules/.pnpm/@lucide+svelte@1.35.0_svelte@5.56.10/node_modules/@lucide/svelte/dist/icons/camera.svelte
|
|
15465
15556
|
function Camera($$renderer, $$props) {
|
|
15466
15557
|
let { $$slots, $$events, ...props } = $$props;
|
|
@@ -15853,6 +15944,21 @@ function Moon($$renderer, $$props) {
|
|
|
15853
15944
|
]));
|
|
15854
15945
|
}
|
|
15855
15946
|
//#endregion
|
|
15947
|
+
//#region node_modules/.pnpm/@lucide+svelte@1.35.0_svelte@5.56.10/node_modules/@lucide/svelte/dist/icons/package.svelte
|
|
15948
|
+
function Package($$renderer, $$props) {
|
|
15949
|
+
let { $$slots, $$events, ...props } = $$props;
|
|
15950
|
+
Icon($$renderer, spread_props([
|
|
15951
|
+
{ name: "package" },
|
|
15952
|
+
props,
|
|
15953
|
+
{ iconNode: [
|
|
15954
|
+
["path", { "d": "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z" }],
|
|
15955
|
+
["path", { "d": "M12 22V12" }],
|
|
15956
|
+
["polyline", { "points": "3.29 7 12 12 20.71 7" }],
|
|
15957
|
+
["path", { "d": "m7.5 4.27 9 5.15" }]
|
|
15958
|
+
] }
|
|
15959
|
+
]));
|
|
15960
|
+
}
|
|
15961
|
+
//#endregion
|
|
15856
15962
|
//#region node_modules/.pnpm/@lucide+svelte@1.35.0_svelte@5.56.10/node_modules/@lucide/svelte/dist/icons/panel-left-close.svelte
|
|
15857
15963
|
function Panel_left_close($$renderer, $$props) {
|
|
15858
15964
|
let { $$slots, $$events, ...props } = $$props;
|
|
@@ -17140,7 +17246,7 @@ function SlashMenu($$renderer, $$props) {
|
|
|
17140
17246
|
* the submit ladder's own priority order) — filtered as the operator
|
|
17141
17247
|
* types the `/` draft.
|
|
17142
17248
|
*
|
|
17143
|
-
* Presentational (the
|
|
17249
|
+
* Presentational (the MacroBar rule): rows + filter query +
|
|
17144
17250
|
* lifecycle state in; kind-aware pick events out. No fetch, no store
|
|
17145
17251
|
* import — the HOST (Composer) owns the draft, the trigger, the
|
|
17146
17252
|
* catalog state, and the keyboard lifecycle. This component renders;
|
|
@@ -18337,7 +18443,7 @@ function ThemeToggle($$renderer, $$props) {
|
|
|
18337
18443
|
}
|
|
18338
18444
|
//#endregion
|
|
18339
18445
|
//#region package.json
|
|
18340
|
-
var version = "0.6.
|
|
18446
|
+
var version = "0.6.21";
|
|
18341
18447
|
var dsh = { "webVersion": "0.2.1-rc.2" };
|
|
18342
18448
|
//#endregion
|
|
18343
18449
|
//#region src/lib/version.ts
|
|
@@ -19031,6 +19137,11 @@ function createConversationStore(sessionId) {
|
|
|
19031
19137
|
* server first delivers the pair (older host / projections not
|
|
19032
19138
|
* composed); the panel keeps its partial fold then. */
|
|
19033
19139
|
let ledgerStats = null;
|
|
19140
|
+
/** The session's presented-file inventory (ADR-0027f D1): raw-lane
|
|
19141
|
+
* deliveries, cold-seeded/resync-replaced wholesale, delta-appended by
|
|
19142
|
+
* callId (idempotent — at-least-once polls never duplicate). Empty =
|
|
19143
|
+
* no presents yet (the anchor button's render gate). */
|
|
19144
|
+
let deliverables = [];
|
|
19034
19145
|
/**
|
|
19035
19146
|
* Cold/resync seed (authoritative replace, the entries semantics): the
|
|
19036
19147
|
* projections baseline (null = the host ships none) and the window's
|
|
@@ -19146,6 +19257,25 @@ function createConversationStore(sessionId) {
|
|
|
19146
19257
|
if (poll.plan !== void 0) planMode = poll.plan;
|
|
19147
19258
|
if (poll.goal !== void 0) goal = poll.goal;
|
|
19148
19259
|
if (poll.ledgerStats !== void 0) ledgerStats = poll.ledgerStats;
|
|
19260
|
+
if (poll.deliverables !== void 0) applyDeliverables(poll.deliverables);
|
|
19261
|
+
}
|
|
19262
|
+
/**
|
|
19263
|
+
* Fold raw-lane deliveries in (ADR-0027f D1): append by callId — an
|
|
19264
|
+
* already-known callId is a re-delivered poll delta, skipped whole.
|
|
19265
|
+
*/
|
|
19266
|
+
function applyDeliverables(delta) {
|
|
19267
|
+
if (delta.length === 0) return;
|
|
19268
|
+
const known = new Set(deliverables.map((d) => d.callId));
|
|
19269
|
+
const fresh = delta.filter((d) => !known.has(d.callId));
|
|
19270
|
+
if (fresh.length === 0) return;
|
|
19271
|
+
deliverables = [...deliverables, ...fresh];
|
|
19272
|
+
}
|
|
19273
|
+
/**
|
|
19274
|
+
* Seed the inventory (cold load + resync — authoritative replace, the
|
|
19275
|
+
* ledger's append-only truth re-read whole; ADR-0027f D1).
|
|
19276
|
+
*/
|
|
19277
|
+
function seedDeliverables(next) {
|
|
19278
|
+
deliverables = [...next];
|
|
19149
19279
|
}
|
|
19150
19280
|
/**
|
|
19151
19281
|
* Seed the live imageLimits projection (resync path — the delta seed
|
|
@@ -19198,13 +19328,14 @@ function createConversationStore(sessionId) {
|
|
|
19198
19328
|
* SAME replace-by-rpcId rules as the delta path, so a page stuck
|
|
19199
19329
|
* resyncing still renders pending/settled cards.
|
|
19200
19330
|
*/
|
|
19201
|
-
function resyncFromLedgerEntries(next, lastSeq, running, permissionSeed, answers) {
|
|
19331
|
+
function resyncFromLedgerEntries(next, lastSeq, running, permissionSeed, answers, deliverablesSeed) {
|
|
19202
19332
|
const pendingOptimistic = entries.filter((e) => e.kind === "user-message" && "local" in e && e.local === true);
|
|
19203
19333
|
replaceAll(next);
|
|
19204
19334
|
if (pendingOptimistic.length > 0) entries = mergeEntries(entries, pendingOptimistic);
|
|
19205
19335
|
applyStatus(running, lastSeq);
|
|
19206
19336
|
dedupeOptimistic();
|
|
19207
19337
|
if (permissionSeed !== void 0) seedPermission(permissionSeed.permission, permissionSeed.knobEvents);
|
|
19338
|
+
if (deliverablesSeed !== void 0) seedDeliverables(deliverablesSeed);
|
|
19208
19339
|
applyAnswers(answers?.pendingAnswers, answers?.settledAnswers);
|
|
19209
19340
|
}
|
|
19210
19341
|
/** Acquire the per-rpcId in-flight lock (false = already locked). */
|
|
@@ -19312,7 +19443,13 @@ function createConversationStore(sessionId) {
|
|
|
19312
19443
|
get ledgerStats() {
|
|
19313
19444
|
return ledgerStats;
|
|
19314
19445
|
},
|
|
19446
|
+
/** The session's presented-file inventory (ADR-0027f); empty =
|
|
19447
|
+
* no presents (the DeliverablesButton gate). */
|
|
19448
|
+
get deliverables() {
|
|
19449
|
+
return deliverables;
|
|
19450
|
+
},
|
|
19315
19451
|
seedImageLimits,
|
|
19452
|
+
seedDeliverables,
|
|
19316
19453
|
seedTodos,
|
|
19317
19454
|
seedPlanMode,
|
|
19318
19455
|
seedGoal,
|
|
@@ -19427,7 +19564,7 @@ function createPollingOrchestrator(store, deps = {}) {
|
|
|
19427
19564
|
}, {
|
|
19428
19565
|
pendingAnswers: body.pendingAnswers,
|
|
19429
19566
|
settledAnswers: body.settledAnswers
|
|
19430
|
-
});
|
|
19567
|
+
}, body.deliverables ?? []);
|
|
19431
19568
|
store.applyLiveStream(body.liveStream);
|
|
19432
19569
|
store.seedImageLimits(body.imageLimits ?? null);
|
|
19433
19570
|
store.seedTodos(body.todos ?? null);
|
|
@@ -22774,7 +22911,7 @@ function Composer($$renderer, $$props) {
|
|
|
22774
22911
|
* the panel never reaches into the component). */
|
|
22775
22912
|
/** Slash Menu (ADR "The Slash Menu", 2026-08-30): the session's
|
|
22776
22913
|
* cached host catalog + lifecycle, bridged from the panel — the
|
|
22777
|
-
* component never fetches (props-only, the
|
|
22914
|
+
* component never fetches (props-only, the MacroBar rule);
|
|
22778
22915
|
* null/absent renders the menu's loading row until the bridge
|
|
22779
22916
|
* lands the first read. */
|
|
22780
22917
|
/** Fired while the menu is open-shaped and its query moved (the
|
|
@@ -23457,20 +23594,26 @@ function ToolsAndStatusHeader($$renderer, $$props) {
|
|
|
23457
23594
|
$$renderer.push(`<div data-svelte="ToolsAndStatusHeader" class="ml-auto flex items-center gap-1">`);
|
|
23458
23595
|
OpenParentButton($$renderer, { parentSessionId });
|
|
23459
23596
|
$$renderer.push(`<!----> `);
|
|
23597
|
+
if (agentId) {
|
|
23598
|
+
$$renderer.push("<!--[0-->");
|
|
23599
|
+
$$renderer.push(`<button type="button" class="shrink-0 rounded-md p-1 text-text-muted hover:bg-surface-alt hover:text-text-secondary" data-testid="agent-chip-copy-id"${attr("aria-label", t(copyagentpresetid3))}${attr("title", agentId)}>`);
|
|
23600
|
+
$$renderer.push("<!--[-1-->");
|
|
23601
|
+
Copy($$renderer, {
|
|
23602
|
+
size: 12,
|
|
23603
|
+
"aria-hidden": "true"
|
|
23604
|
+
});
|
|
23605
|
+
$$renderer.push(`<!--]--></button>`);
|
|
23606
|
+
} else $$renderer.push("<!--[-1-->");
|
|
23607
|
+
$$renderer.push(`<!--]--> `);
|
|
23460
23608
|
if (agent) {
|
|
23461
23609
|
$$renderer.push("<!--[0-->");
|
|
23462
23610
|
$$renderer.push(`<span class="agent-chip svelte-1uiman" data-testid="agent-chip"${attr("title", agentId ? `agent preset — ${agentId}` : void 0)}>`);
|
|
23463
|
-
|
|
23464
|
-
|
|
23465
|
-
|
|
23466
|
-
|
|
23467
|
-
|
|
23468
|
-
|
|
23469
|
-
"aria-hidden": "true"
|
|
23470
|
-
});
|
|
23471
|
-
$$renderer.push(`<!--]--></button>`);
|
|
23472
|
-
} else $$renderer.push("<!--[-1-->");
|
|
23473
|
-
$$renderer.push(`<!--]--> ${escape_html(agent)}</span>`);
|
|
23611
|
+
Bot($$renderer, {
|
|
23612
|
+
size: 12,
|
|
23613
|
+
class: "shrink-0",
|
|
23614
|
+
"aria-hidden": "true"
|
|
23615
|
+
});
|
|
23616
|
+
$$renderer.push(`<!----> ${escape_html(agent)}</span>`);
|
|
23474
23617
|
} else $$renderer.push("<!--[-1-->");
|
|
23475
23618
|
$$renderer.push(`<!--]--> `);
|
|
23476
23619
|
PlanModeChip($$renderer, { plan });
|
|
@@ -27935,13 +28078,13 @@ function FloatingAnchorContainerPopup($$renderer, $$props) {
|
|
|
27935
28078
|
* `titleTestId` exists because the header's data-testid is part of
|
|
27936
28079
|
* each leaf's pinned surface (plan-popup-header, user-message-jumper-header).
|
|
27937
28080
|
*/
|
|
27938
|
-
let { open = false, triggerEl = void 0, title = void 0, titleTestId = void 0, popupTestId = "floating-anchor-popup", children } = $$props;
|
|
28081
|
+
let { open = false, triggerEl = void 0, title = void 0, titleTestId = void 0, popupTestId = "floating-anchor-popup", fitWidth = false, children } = $$props;
|
|
27939
28082
|
/** Focus the box — leaves call it through bind:this when an action
|
|
27940
28083
|
* must hand focus back (the jumper's stay-open jump). */
|
|
27941
28084
|
function focus() {}
|
|
27942
28085
|
if (open) {
|
|
27943
28086
|
$$renderer.push("<!--[0-->");
|
|
27944
|
-
$$renderer.push(`<div data-svelte="FloatingAnchorContainerPopup" tabindex="-1"
|
|
28087
|
+
$$renderer.push(`<div data-svelte="FloatingAnchorContainerPopup" tabindex="-1"${attr_class(`pointer-events-auto absolute right-full top-1/2 z-50 mr-2 max-h-[60vh] max-w-[80vw] -translate-y-1/2 overflow-y-auto rounded-lg border border-surface-border bg-surface-elevated py-1 shadow-xl outline-none focus:outline-none ${fitWidth ? "w-fit" : "w-96"}`)}${attr("data-testid", popupTestId)}>`);
|
|
27945
28088
|
if (title !== void 0) {
|
|
27946
28089
|
$$renderer.push("<!--[0-->");
|
|
27947
28090
|
$$renderer.push(`<div class="border-b border-surface-border px-2.5 py-1.5 text-[10px] font-medium uppercase tracking-wider text-text-muted"${attr("data-testid", titleTestId)}>${escape_html(title)}</div>`);
|
|
@@ -27958,7 +28101,7 @@ function FloatingAnchorContainerPopup($$renderer, $$props) {
|
|
|
27958
28101
|
});
|
|
27959
28102
|
}
|
|
27960
28103
|
//#endregion
|
|
27961
|
-
//#region src/lib/components/
|
|
28104
|
+
//#region src/lib/components/anchor/user-msg-anchor/UserMessageJumper.svelte
|
|
27962
28105
|
function UserMessageJumper($$renderer, $$props) {
|
|
27963
28106
|
$$renderer.component(($$renderer) => {
|
|
27964
28107
|
/**
|
|
@@ -28013,7 +28156,7 @@ function UserMessageJumper($$renderer, $$props) {
|
|
|
28013
28156
|
});
|
|
28014
28157
|
}
|
|
28015
28158
|
//#endregion
|
|
28016
|
-
//#region src/lib/components/
|
|
28159
|
+
//#region src/lib/components/anchor/user-msg-anchor/UserMessagesButton.svelte
|
|
28017
28160
|
function UserMessagesButton($$renderer, $$props) {
|
|
28018
28161
|
$$renderer.component(($$renderer) => {
|
|
28019
28162
|
/**
|
|
@@ -28045,7 +28188,7 @@ function UserMessagesButton($$renderer, $$props) {
|
|
|
28045
28188
|
function $$render_inner($$renderer) {
|
|
28046
28189
|
if (container !== void 0 && groups.some((g) => g.kind === "prompt")) {
|
|
28047
28190
|
$$renderer.push("<!--[0-->");
|
|
28048
|
-
$$renderer.push(`<div data-svelte="UserMessagesButton" class="relative"><button type="button"${attr_class("floating-anchor-btn tone-cyan svelte-
|
|
28191
|
+
$$renderer.push(`<div data-svelte="UserMessagesButton" class="relative"><button type="button"${attr_class("floating-anchor-btn tone-cyan svelte-7ykxqh", void 0, { "active": open })}${attr("title", t(usermessagestitle2))} data-testid="user-messages-button">`);
|
|
28049
28192
|
Message_square_text($$renderer, { size: 14 });
|
|
28050
28193
|
$$renderer.push(`<!----></button> `);
|
|
28051
28194
|
UserMessageJumper($$renderer, {
|
|
@@ -28081,7 +28224,7 @@ function BackToTheEdgeButton($$renderer, $$props) {
|
|
|
28081
28224
|
});
|
|
28082
28225
|
}
|
|
28083
28226
|
//#endregion
|
|
28084
|
-
//#region src/lib/components/anchor/plan/PlanPopup.svelte
|
|
28227
|
+
//#region src/lib/components/anchor/plan-anchor/PlanPopup.svelte
|
|
28085
28228
|
function PlanPopup($$renderer, $$props) {
|
|
28086
28229
|
$$renderer.component(($$renderer) => {
|
|
28087
28230
|
/**
|
|
@@ -28130,7 +28273,7 @@ function PlanPopup($$renderer, $$props) {
|
|
|
28130
28273
|
});
|
|
28131
28274
|
}
|
|
28132
28275
|
//#endregion
|
|
28133
|
-
//#region src/lib/components/anchor/plan/PlanButton.svelte
|
|
28276
|
+
//#region src/lib/components/anchor/plan-anchor/PlanButton.svelte
|
|
28134
28277
|
function PlanButton($$renderer, $$props) {
|
|
28135
28278
|
$$renderer.component(($$renderer) => {
|
|
28136
28279
|
/**
|
|
@@ -28164,7 +28307,7 @@ function PlanButton($$renderer, $$props) {
|
|
|
28164
28307
|
function $$render_inner($$renderer) {
|
|
28165
28308
|
if (items().length > 0) {
|
|
28166
28309
|
$$renderer.push("<!--[0-->");
|
|
28167
|
-
$$renderer.push(`<div data-svelte="PlanButton" class="relative"><button type="button"${attr_class("floating-anchor-btn tone-purple svelte-
|
|
28310
|
+
$$renderer.push(`<div data-svelte="PlanButton" class="relative"><button type="button"${attr_class("floating-anchor-btn tone-purple svelte-65h8xp", void 0, { "active": open })}${attr("title", t(currentplan1) + done() + "/" + items().length + t(donepart1))} data-testid="plan-button">`);
|
|
28168
28311
|
List_checks($$renderer, { size: 14 });
|
|
28169
28312
|
$$renderer.push(`<!----></button> `);
|
|
28170
28313
|
PlanPopup($$renderer, {
|
|
@@ -28191,7 +28334,127 @@ function PlanButton($$renderer, $$props) {
|
|
|
28191
28334
|
});
|
|
28192
28335
|
}
|
|
28193
28336
|
//#endregion
|
|
28194
|
-
//#region src/lib/components/anchor/
|
|
28337
|
+
//#region src/lib/components/anchor/deliverables-anchor/DeliverablesPopup.svelte
|
|
28338
|
+
function DeliverablesPopup($$renderer, $$props) {
|
|
28339
|
+
$$renderer.component(($$renderer) => {
|
|
28340
|
+
/**
|
|
28341
|
+
* DeliverablesPopup — the session's presented-file inventory
|
|
28342
|
+
* (ADR-0027f, D3, row format amended 2026-10-19): ONE line per file
|
|
28343
|
+
* across every present event, newest turn last — the description is
|
|
28344
|
+
* the label (active foreground), falling back to the bare filename
|
|
28345
|
+
* when the model supplied none; the full path rides the hover title
|
|
28346
|
+
* and the row's CopyButton, never the visible line. Extracted from
|
|
28347
|
+
* DeliverablesButton on
|
|
28348
|
+
* the PlanPopup pattern (content vs chrome): hosting lives in
|
|
28349
|
+
* FloatingAnchorContainerPopup (placement, width cap, close
|
|
28350
|
+
* contract); this leaf renders ONLY the rows. A row click opens the
|
|
28351
|
+
* file through the transcript's file-open seat — the popup is an
|
|
28352
|
+
* inventory with a jump, never a copy (the ledger's path is truth).
|
|
28353
|
+
*/
|
|
28354
|
+
let { deliveries, triggerEl, open = false, onopen } = $$props;
|
|
28355
|
+
const fileCount = derived(() => deliveries.reduce((n, d) => n + d.files.length, 0));
|
|
28356
|
+
/** The row's label: bare filename, extension stripped (ADR-0027f
|
|
28357
|
+
* D3 amendment 2026-10-19 — the full path rides the hover title
|
|
28358
|
+
* and the row's CopyButton, never the visible line). */
|
|
28359
|
+
function displayName(path) {
|
|
28360
|
+
const base = path.split("/").pop() ?? path;
|
|
28361
|
+
const dot = base.lastIndexOf(".");
|
|
28362
|
+
return dot > 0 ? base.slice(0, dot) : base;
|
|
28363
|
+
}
|
|
28364
|
+
FloatingAnchorContainerPopup($$renderer, {
|
|
28365
|
+
open,
|
|
28366
|
+
triggerEl,
|
|
28367
|
+
fitWidth: true,
|
|
28368
|
+
title: `${stringify(t(deliverablestitle1))}${stringify(fileCount())}${stringify(t(deliverablesfiles1))}`,
|
|
28369
|
+
titleTestId: "deliverables-popup-header",
|
|
28370
|
+
popupTestId: "deliverables-popup",
|
|
28371
|
+
children: ($$renderer) => {
|
|
28372
|
+
$$renderer.push(`<!--[-->`);
|
|
28373
|
+
const each_array = ensure_array_like(deliveries);
|
|
28374
|
+
for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {
|
|
28375
|
+
let delivery = each_array[$$index_1];
|
|
28376
|
+
$$renderer.push(`<!--[-->`);
|
|
28377
|
+
const each_array_1 = ensure_array_like(delivery.files);
|
|
28378
|
+
for (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {
|
|
28379
|
+
let file = each_array_1[$$index];
|
|
28380
|
+
$$renderer.push(`<button type="button" class="flex w-full items-center gap-1.5 border-b border-surface-border/30 px-2 py-1 text-left text-xs last:border-b-0 hover:bg-surface-border/20" data-testid="deliverables-popup-row"${attr("data-turn", delivery.turn)}${attr("title", file.path)}>`);
|
|
28381
|
+
CopyButton($$renderer, {
|
|
28382
|
+
value: file.path,
|
|
28383
|
+
title: t(copyfullpath2),
|
|
28384
|
+
size: 10,
|
|
28385
|
+
class: "shrink-0 rounded p-0.5 text-text-muted hover:bg-surface-hover hover:text-text-secondary"
|
|
28386
|
+
});
|
|
28387
|
+
$$renderer.push(`<!----> <span class="min-w-0 flex-1 truncate text-text-primary">${escape_html(file.description ?? displayName(file.path))}</span></button>`);
|
|
28388
|
+
}
|
|
28389
|
+
$$renderer.push(`<!--]-->`);
|
|
28390
|
+
}
|
|
28391
|
+
$$renderer.push(`<!--]-->`);
|
|
28392
|
+
},
|
|
28393
|
+
$$slots: { default: true }
|
|
28394
|
+
});
|
|
28395
|
+
bind_props($$props, { open });
|
|
28396
|
+
});
|
|
28397
|
+
}
|
|
28398
|
+
//#endregion
|
|
28399
|
+
//#region src/lib/components/anchor/deliverables-anchor/DeliverablesButton.svelte
|
|
28400
|
+
function DeliverablesButton($$renderer, $$props) {
|
|
28401
|
+
$$renderer.component(($$renderer) => {
|
|
28402
|
+
/**
|
|
28403
|
+
* DeliverablesButton — the Deliverables leaf of the floating anchor
|
|
28404
|
+
* stack (ADR-0027f, D2): the session's presented-file inventory as
|
|
28405
|
+
* one click, beside the transcript. Behaves like PlanButton: the
|
|
28406
|
+
* button owns its popup's open state and the trigger element while
|
|
28407
|
+
* DeliverablesPopup renders the rows — the wrapper div is the
|
|
28408
|
+
* popup's triggerEl, and the opening click bubbles to the window
|
|
28409
|
+
* outside-click handler without closing what it just opened.
|
|
28410
|
+
*
|
|
28411
|
+
* Renders NOTHING while the inventory is empty (null/[] — no present
|
|
28412
|
+
* ever landed; omit, never approximate). Tone CSS is OCI's verbatim
|
|
28413
|
+
* pattern (scoped style, var + fallback) — teal marks the hand-off
|
|
28414
|
+
* family (files the agent gave you).
|
|
28415
|
+
*/
|
|
28416
|
+
let { deliveries, onfileopen } = $$props;
|
|
28417
|
+
/** Popup open state — the active tone mirrors it on the button. */
|
|
28418
|
+
let open = false;
|
|
28419
|
+
/** The popup's trigger exclusion element (the wrapper div). */
|
|
28420
|
+
let triggerEl = void 0;
|
|
28421
|
+
/** Null-safe list — the render gate reads this, never the raw prop. */
|
|
28422
|
+
const items = derived(() => deliveries ?? []);
|
|
28423
|
+
const fileCount = derived(() => items().reduce((n, d) => n + d.files.length, 0));
|
|
28424
|
+
let $$settled = true;
|
|
28425
|
+
let $$inner_renderer;
|
|
28426
|
+
function $$render_inner($$renderer) {
|
|
28427
|
+
if (items().length > 0) {
|
|
28428
|
+
$$renderer.push("<!--[0-->");
|
|
28429
|
+
$$renderer.push(`<div data-svelte="DeliverablesButton" class="relative"><button type="button"${attr_class("floating-anchor-btn tone-teal svelte-1mhticx", void 0, { "active": open })}${attr("title", t(deliverablestitle1) + fileCount() + t(deliverablesfiles1))} data-testid="deliverables-button">`);
|
|
28430
|
+
Package($$renderer, { size: 14 });
|
|
28431
|
+
$$renderer.push(`<!----></button> `);
|
|
28432
|
+
DeliverablesPopup($$renderer, {
|
|
28433
|
+
deliveries: items(),
|
|
28434
|
+
triggerEl,
|
|
28435
|
+
onopen: onfileopen,
|
|
28436
|
+
get open() {
|
|
28437
|
+
return open;
|
|
28438
|
+
},
|
|
28439
|
+
set open($$value) {
|
|
28440
|
+
open = $$value;
|
|
28441
|
+
$$settled = false;
|
|
28442
|
+
}
|
|
28443
|
+
});
|
|
28444
|
+
$$renderer.push(`<!----></div>`);
|
|
28445
|
+
} else $$renderer.push("<!--[-1-->");
|
|
28446
|
+
$$renderer.push(`<!--]-->`);
|
|
28447
|
+
}
|
|
28448
|
+
do {
|
|
28449
|
+
$$settled = true;
|
|
28450
|
+
$$inner_renderer = $$renderer.copy();
|
|
28451
|
+
$$render_inner($$inner_renderer);
|
|
28452
|
+
} while (!$$settled);
|
|
28453
|
+
$$renderer.subsume($$inner_renderer);
|
|
28454
|
+
});
|
|
28455
|
+
}
|
|
28456
|
+
//#endregion
|
|
28457
|
+
//#region src/lib/components/anchor/job-anchor/JobsPopup.svelte
|
|
28195
28458
|
function JobsPopup($$renderer, $$props) {
|
|
28196
28459
|
$$renderer.component(($$renderer) => {
|
|
28197
28460
|
/**
|
|
@@ -28233,7 +28496,7 @@ function JobsPopup($$renderer, $$props) {
|
|
|
28233
28496
|
});
|
|
28234
28497
|
}
|
|
28235
28498
|
//#endregion
|
|
28236
|
-
//#region src/lib/components/anchor/job/JobsButton.svelte
|
|
28499
|
+
//#region src/lib/components/anchor/job-anchor/JobsButton.svelte
|
|
28237
28500
|
function JobsButton($$renderer, $$props) {
|
|
28238
28501
|
$$renderer.component(($$renderer) => {
|
|
28239
28502
|
/**
|
|
@@ -28263,7 +28526,7 @@ function JobsButton($$renderer, $$props) {
|
|
|
28263
28526
|
function $$render_inner($$renderer) {
|
|
28264
28527
|
if (liveCount() > 0) {
|
|
28265
28528
|
$$renderer.push("<!--[0-->");
|
|
28266
|
-
$$renderer.push(`<div data-svelte="JobsButton" class="relative" data-testid="jobs-button"><button type="button"${attr_class("floating-anchor-btn tone-amber svelte-
|
|
28529
|
+
$$renderer.push(`<div data-svelte="JobsButton" class="relative" data-testid="jobs-button"><button type="button"${attr_class("floating-anchor-btn tone-amber svelte-1jfxn7m", void 0, { "active": open })}${attr("title", t(() => liveCount() === 1 ? jobslivetitle_one2({ n: liveCount() }) : jobslivetitle_other2({ n: liveCount() })))} data-testid="jobs-button-trigger"><span class="dot svelte-1jfxn7m"></span>${escape_html(liveCount())}</button> `);
|
|
28267
28530
|
JobsPopup($$renderer, {
|
|
28268
28531
|
triggerEl,
|
|
28269
28532
|
jobs: jobs(),
|
|
@@ -28289,7 +28552,7 @@ function JobsButton($$renderer, $$props) {
|
|
|
28289
28552
|
});
|
|
28290
28553
|
}
|
|
28291
28554
|
//#endregion
|
|
28292
|
-
//#region src/lib/components/anchor/inject/InjectedShelfPopup.svelte
|
|
28555
|
+
//#region src/lib/components/anchor/inject-anchor/InjectedShelfPopup.svelte
|
|
28293
28556
|
function InjectedShelfPopup($$renderer, $$props) {
|
|
28294
28557
|
$$renderer.component(($$renderer) => {
|
|
28295
28558
|
/**
|
|
@@ -28312,6 +28575,7 @@ function InjectedShelfPopup($$renderer, $$props) {
|
|
|
28312
28575
|
function $$render_inner($$renderer) {
|
|
28313
28576
|
FloatingAnchorContainerPopup($$renderer, {
|
|
28314
28577
|
triggerEl,
|
|
28578
|
+
fitWidth: true,
|
|
28315
28579
|
title: t(() => injectedfiles1({ n: members.length })),
|
|
28316
28580
|
titleTestId: "injected-shelf-popup-header",
|
|
28317
28581
|
popupTestId: "injected-shelf-popup",
|
|
@@ -28329,15 +28593,15 @@ function InjectedShelfPopup($$renderer, $$props) {
|
|
|
28329
28593
|
let m = each_array[i];
|
|
28330
28594
|
if (i > 0 && members[i - 1].firstLoad === true && m.firstLoad === false) {
|
|
28331
28595
|
$$renderer.push("<!--[0-->");
|
|
28332
|
-
$$renderer.push(`<hr class="shelf-divider svelte-
|
|
28596
|
+
$$renderer.push(`<hr class="shelf-divider svelte-f316d6" data-testid="shelf-first-load-divider"/>`);
|
|
28333
28597
|
} else $$renderer.push("<!--[-1-->");
|
|
28334
|
-
$$renderer.push(`<!--]--> <div class="shelf-item svelte-
|
|
28598
|
+
$$renderer.push(`<!--]--> <div class="shelf-item svelte-f316d6" data-testid="injected-shelf-item"${attr("data-display-path", m.displayPath)}>`);
|
|
28335
28599
|
CopyButton($$renderer, {
|
|
28336
28600
|
value: m.origin === "system-prompt" ? injectedRecordFor(entries, m.displayPath)?.text ?? m.displayPath : injectedFullPath(workspace, m.displayPath),
|
|
28337
28601
|
title: m.origin === "system-prompt" ? "Copy prompt text — a shelf name, not a file" : "Copy full path",
|
|
28338
28602
|
class: "shelf-copy"
|
|
28339
28603
|
});
|
|
28340
|
-
$$renderer.push(`<!----> <button type="button" role="menuitem" class="shelf-pick svelte-
|
|
28604
|
+
$$renderer.push(`<!----> <button type="button" role="menuitem" class="shelf-pick svelte-f316d6" data-testid="injected-shelf-pick"${attr("title", m.displayPath)}><span class="shelf-pick-path svelte-f316d6">${escape_html(m.displayPath)}</span></button></div>`);
|
|
28341
28605
|
}
|
|
28342
28606
|
$$renderer.push(`<!--]-->`);
|
|
28343
28607
|
},
|
|
@@ -29204,7 +29468,7 @@ async function executeHostCommand(line, ctx, onNote) {
|
|
|
29204
29468
|
}
|
|
29205
29469
|
}
|
|
29206
29470
|
//#endregion
|
|
29207
|
-
//#region src/lib/components/anchor/inject/InjectedShelfButton.svelte
|
|
29471
|
+
//#region src/lib/components/anchor/inject-anchor/InjectedShelfButton.svelte
|
|
29208
29472
|
function InjectedShelfButton($$renderer, $$props) {
|
|
29209
29473
|
$$renderer.component(($$renderer) => {
|
|
29210
29474
|
/**
|
|
@@ -29251,7 +29515,7 @@ function InjectedShelfButton($$renderer, $$props) {
|
|
|
29251
29515
|
function $$render_inner($$renderer) {
|
|
29252
29516
|
if (members().length > 0) {
|
|
29253
29517
|
$$renderer.push("<!--[0-->");
|
|
29254
|
-
$$renderer.push(`<div data-svelte="InjectedShelfButton" class="relative svelte-
|
|
29518
|
+
$$renderer.push(`<div data-svelte="InjectedShelfButton" class="relative svelte-145ip4c"><button type="button"${attr_class("floating-anchor-btn tone-maroon svelte-145ip4c", void 0, { "active": open })}${attr("title", t(injectedtitle1))} data-testid="injected-shelf-button">`);
|
|
29255
29519
|
File_text($$renderer, { size: 14 });
|
|
29256
29520
|
$$renderer.push(`<!----></button> `);
|
|
29257
29521
|
InjectedShelfPopup($$renderer, {
|
|
@@ -29292,13 +29556,18 @@ function ConversationFloatingAnchor($$renderer, $$props) {
|
|
|
29292
29556
|
* far-edge jump. Purely presentational — the viewport and turn groups
|
|
29293
29557
|
* arrive as props.
|
|
29294
29558
|
*/
|
|
29295
|
-
let { groups, container, todos = null, jobsessionid = "", shelfentries = void 0, shelfsessionid = "", shelfworkspace = null, shelfpanelid = null, onshelfnote } = $$props;
|
|
29559
|
+
let { groups, container, todos = null, deliverables = null, onfileopen = void 0, jobsessionid = "", shelfentries = void 0, shelfsessionid = "", shelfworkspace = null, shelfpanelid = null, onshelfnote } = $$props;
|
|
29296
29560
|
if (container !== void 0) {
|
|
29297
29561
|
$$renderer.push("<!--[0-->");
|
|
29298
29562
|
FloatingAnchor($$renderer, {
|
|
29299
29563
|
children: ($$renderer) => {
|
|
29300
29564
|
PlanButton($$renderer, { todos: todos ?? [] });
|
|
29301
29565
|
$$renderer.push(`<!----> `);
|
|
29566
|
+
DeliverablesButton($$renderer, {
|
|
29567
|
+
deliveries: deliverables,
|
|
29568
|
+
onfileopen
|
|
29569
|
+
});
|
|
29570
|
+
$$renderer.push(`<!----> `);
|
|
29302
29571
|
JobsButton($$renderer, { sessionId: jobsessionid });
|
|
29303
29572
|
$$renderer.push(`<!----> `);
|
|
29304
29573
|
if (shelfentries !== void 0) {
|
|
@@ -30204,48 +30473,30 @@ var Paging = class {
|
|
|
30204
30473
|
}
|
|
30205
30474
|
};
|
|
30206
30475
|
//#endregion
|
|
30207
|
-
//#region src/lib/components/
|
|
30208
|
-
function
|
|
30476
|
+
//#region src/lib/components/bar/macro-bar/MacroChip.svelte
|
|
30477
|
+
function MacroChip($$renderer, $$props) {
|
|
30209
30478
|
$$renderer.component(($$renderer) => {
|
|
30210
30479
|
/**
|
|
30211
|
-
*
|
|
30212
|
-
*
|
|
30213
|
-
*
|
|
30214
|
-
*
|
|
30215
|
-
*
|
|
30216
|
-
* Presentational by contract (PRD Module Map): run state, per-line
|
|
30217
|
-
* records, and the panel's own poll truth (running, pendingAnswers)
|
|
30218
|
-
* arrive as props; every control leaves as a callback. The component
|
|
30219
|
-
* never fetches, never polls, never imports the runner — the panel
|
|
30220
|
-
* owns the wiring (D7: "the chip reads the panel's existing poll
|
|
30221
|
-
* state; the runner itself never polls").
|
|
30480
|
+
* MacroChip — the Prompt Macro's COLLAPSED CHIP (ADR D7, 2026-08-29):
|
|
30481
|
+
* the always-visible layer above the composer. Click toggles the
|
|
30482
|
+
* sheet; Stop is forward-only (unfed lines drop; queued are the
|
|
30483
|
+
* host's — the suffix names the boundary).
|
|
30222
30484
|
*
|
|
30223
|
-
*
|
|
30224
|
-
*
|
|
30225
|
-
*
|
|
30226
|
-
*
|
|
30227
|
-
* computes `lineMarks` from its OWN store (groupTurns pairing);
|
|
30228
|
-
* this component only renders what it is handed
|
|
30229
|
-
* - the transcript is the ground truth — this sheet is a map
|
|
30485
|
+
* Extracted from MacroBar (2026-10-19) — the bar owns the expand
|
|
30486
|
+
* state and renders MacroSheet; this component owns the chip label
|
|
30487
|
+
* derivation (phase labels + honest suffixes) and the Stop / Close
|
|
30488
|
+
* buttons.
|
|
30230
30489
|
*
|
|
30231
|
-
*
|
|
30232
|
-
*
|
|
30233
|
-
*
|
|
30234
|
-
* store.isStreaming — gates ▶ (the first fed line without a landed
|
|
30235
|
-
* turn while a turn is in flight).
|
|
30236
|
-
*
|
|
30237
|
-
* Mention rows (D9): a turn in ANOTHER session cannot derive ✓ from
|
|
30238
|
-
* this panel's poll — the row renders its executor note (`sent to
|
|
30239
|
-
* <target>`) and progress delegates to the a2a chip stack.
|
|
30490
|
+
* Presentational by contract: run state and the panel's own poll
|
|
30491
|
+
* truth (running, pendingAnswers) arrive as props; every control
|
|
30492
|
+
* leaves as a callback. Never fetches, never polls.
|
|
30240
30493
|
*/
|
|
30241
|
-
let { run, running = false, pendingAnswers = 0, onabort, onclose } = $$props;
|
|
30242
|
-
/**
|
|
30243
|
-
let expanded = false;
|
|
30244
|
-
/** The run is over (either ending) — [Run again] appears (D10). */
|
|
30494
|
+
let { run, running = false, pendingAnswers = 0, expanded = false, onabort, onclose } = $$props;
|
|
30495
|
+
/** The run is over (either ending) — Close (✕) appears (D10). */
|
|
30245
30496
|
const ended = derived(() => run.phase === "fed" || run.phase === "stopped" || run.phase === "failed");
|
|
30246
30497
|
/** A live run could still feed (held or mid-feed) — Stop means
|
|
30247
|
-
*
|
|
30248
|
-
*
|
|
30498
|
+
* "stop sending more"; once everything is queued there is nothing
|
|
30499
|
+
* left to hold (abort-after-queued honesty, D10). */
|
|
30249
30500
|
const unfedRemain = derived(() => run.fed < run.total);
|
|
30250
30501
|
const canAbort = derived(() => (run.phase === "held" || run.phase === "feeding") && unfedRemain());
|
|
30251
30502
|
/** Collapsed-chip suffixes (D5/D7): the honest queued/asking labels. */
|
|
@@ -30256,16 +30507,16 @@ function MacroRunSheet($$renderer, $$props) {
|
|
|
30256
30507
|
return "";
|
|
30257
30508
|
});
|
|
30258
30509
|
/** The line the chip names while feeding/held — the next unfed
|
|
30259
|
-
*
|
|
30260
|
-
*
|
|
30510
|
+
* section's display (feeding k/n · <display>), else the last
|
|
30511
|
+
* record's display. */
|
|
30261
30512
|
const currentLine = derived(() => {
|
|
30262
30513
|
const next = run.lines.find((l) => l.state === "pending" && !l.isQuery);
|
|
30263
30514
|
if (next) return next.display;
|
|
30264
30515
|
return run.lines.length > 0 ? run.lines[run.lines.length - 1].display : "";
|
|
30265
30516
|
});
|
|
30266
30517
|
/** Chip label per phase (D7): feeding k/n · all-queued k queued ·
|
|
30267
|
-
*
|
|
30268
|
-
*
|
|
30518
|
+
* stopped · failed — plus the suffixes above. Sections counted (a
|
|
30519
|
+
* block is one — D15). */
|
|
30269
30520
|
const chipLabel = derived(() => {
|
|
30270
30521
|
if (run.phase === "feeding") return `macro ▸ ${run.fed + 1}/${run.total} · ${currentLine()}`;
|
|
30271
30522
|
if (run.phase === "held") return `macro ⏸ held · ${run.fed}/${run.total}${queuedSuffix()}`;
|
|
@@ -30273,19 +30524,52 @@ function MacroRunSheet($$renderer, $$props) {
|
|
|
30273
30524
|
if (run.phase === "stopped") return `macro ⏹ stopped · ${run.note ?? ""}`;
|
|
30274
30525
|
return `macro ✕ failed · ${run.note ?? ""}`;
|
|
30275
30526
|
});
|
|
30527
|
+
$$renderer.push(`<div data-svelte="MacroChip" class="macro-chip svelte-8fijc3"${attr("data-phase", run.phase)} data-testid="macro-chip"><button type="button" class="macro-chip-label svelte-8fijc3"${attr("aria-expanded", expanded)}${attr("title", run.note ?? "Macro run")}><span class="macro-chip-text svelte-8fijc3">${escape_html(chipLabel())}</span> <span class="macro-chip-caret svelte-8fijc3">${escape_html(expanded ? "▾" : "▸")}</span></button> `);
|
|
30528
|
+
if (canAbort() && onabort) {
|
|
30529
|
+
$$renderer.push("<!--[0-->");
|
|
30530
|
+
$$renderer.push(`<button type="button" class="macro-stop svelte-8fijc3" data-testid="macro-stop"${attr("title", t(dropunsubmittedtitle2))}>${escape_html(t(stop))}</button>`);
|
|
30531
|
+
} else $$renderer.push("<!--[-1-->");
|
|
30532
|
+
$$renderer.push(`<!--]--> `);
|
|
30533
|
+
if (ended() && onclose) {
|
|
30534
|
+
$$renderer.push("<!--[0-->");
|
|
30535
|
+
$$renderer.push(`<button type="button" class="macro-close svelte-8fijc3" data-testid="macro-close"${attr("aria-label", t(dismissrunsheet2))}${attr("title", t(dismiss))}>✕</button>`);
|
|
30536
|
+
} else $$renderer.push("<!--[-1-->");
|
|
30537
|
+
$$renderer.push(`<!--]--></div>`);
|
|
30538
|
+
});
|
|
30539
|
+
}
|
|
30540
|
+
//#endregion
|
|
30541
|
+
//#region src/lib/components/bar/macro-bar/MacroBar.svelte
|
|
30542
|
+
function MacroBar($$renderer, $$props) {
|
|
30543
|
+
$$renderer.component(($$renderer) => {
|
|
30544
|
+
/**
|
|
30545
|
+
* MacroBar — the Prompt Macro's status surface (ADR D7 + D9,
|
|
30546
|
+
* 2026-08-29): the always-visible layer above the composer, split
|
|
30547
|
+
* into two children — MacroChip (the collapsed chip + Stop/Close)
|
|
30548
|
+
* and MacroSheet (the expanded per-line rows + held/ended controls).
|
|
30549
|
+
* The bar owns the expand state and forwards everything else.
|
|
30550
|
+
*
|
|
30551
|
+
* Presentational by contract (PRD Module Map): run state and the
|
|
30552
|
+
* panel's own poll truth (running, pendingAnswers) arrive as props;
|
|
30553
|
+
* every control leaves as a callback. The component never fetches,
|
|
30554
|
+
* never polls, never imports the runner — the panel owns the wiring
|
|
30555
|
+
* (D7: "the chip reads the panel's existing poll state; the runner
|
|
30556
|
+
* itself never polls").
|
|
30557
|
+
*/
|
|
30558
|
+
let { run, running = false, pendingAnswers = 0, onabort, onclose } = $$props;
|
|
30559
|
+
/** Sheet expanded state — the chip toggles it (click again to collapse). */
|
|
30560
|
+
let expanded = false;
|
|
30276
30561
|
if (run.phase !== "idle") {
|
|
30277
30562
|
$$renderer.push("<!--[0-->");
|
|
30278
|
-
$$renderer.push(`<div data-svelte="
|
|
30279
|
-
|
|
30280
|
-
|
|
30281
|
-
|
|
30282
|
-
|
|
30283
|
-
|
|
30284
|
-
|
|
30285
|
-
|
|
30286
|
-
|
|
30287
|
-
|
|
30288
|
-
$$renderer.push(`<!--]--></div> `);
|
|
30563
|
+
$$renderer.push(`<div data-svelte="MacroBar" class="macro-run svelte-1xpxh82" data-testid="macro-run">`);
|
|
30564
|
+
MacroChip($$renderer, {
|
|
30565
|
+
run,
|
|
30566
|
+
running,
|
|
30567
|
+
pendingAnswers,
|
|
30568
|
+
expanded,
|
|
30569
|
+
onabort,
|
|
30570
|
+
onclose
|
|
30571
|
+
});
|
|
30572
|
+
$$renderer.push(`<!----> `);
|
|
30289
30573
|
$$renderer.push("<!--[-1-->");
|
|
30290
30574
|
$$renderer.push(`<!--]--></div>`);
|
|
30291
30575
|
} else $$renderer.push("<!--[-1-->");
|
|
@@ -30293,7 +30577,72 @@ function MacroRunSheet($$renderer, $$props) {
|
|
|
30293
30577
|
});
|
|
30294
30578
|
}
|
|
30295
30579
|
//#endregion
|
|
30296
|
-
//#region src/lib/components/
|
|
30580
|
+
//#region src/lib/components/bar/goal-bar/GoalChip.svelte
|
|
30581
|
+
function GoalChip($$renderer, $$props) {
|
|
30582
|
+
$$renderer.component(($$renderer) => {
|
|
30583
|
+
/**
|
|
30584
|
+
* GoalChip — the always-visible collapsed layer of the goal bar (ADR
|
|
30585
|
+
* "The Goal Bar", 2026-09-08, D2): phase glyph, phase label plus
|
|
30586
|
+
* truncated objective, caret that toggles the sheet, and the phase
|
|
30587
|
+
* action buttons (Pause/Resume, Edit, Clear). Extracted from GoalBar as
|
|
30588
|
+
* a presentational child; the expanded state stays GoalBar-owned and
|
|
30589
|
+
* arrives as a prop with a toggle callback.
|
|
30590
|
+
*/
|
|
30591
|
+
let { goal, blockedTitle, expanded = false, onpause, onresume, onedit, onclear } = $$props;
|
|
30592
|
+
/** The chip's phase glyph (mirrors DSH's GoalBar language). */
|
|
30593
|
+
const glyph = derived(() => {
|
|
30594
|
+
if (goal.phase === "paused") return "⏸";
|
|
30595
|
+
if (goal.phase === "blocked") return "⚠";
|
|
30596
|
+
return "▶";
|
|
30597
|
+
});
|
|
30598
|
+
/** The objective the chip names, truncated for the one-line title. */
|
|
30599
|
+
const shortObjective = derived(() => goal.objective.length > 80 ? goal.objective.slice(0, 79) + "…" : goal.objective);
|
|
30600
|
+
/** Which phase action the chip offers: Pause on active, Resume on
|
|
30601
|
+
* paused, none on blocked (the host demands a reason fix first). */
|
|
30602
|
+
const phaseAction = derived(() => goal.phase === "active" ? "pause" : goal.phase === "paused" ? "resume" : void 0);
|
|
30603
|
+
$$renderer.push(`<div data-svelte="GoalChip" class="goal-chip svelte-ffx44v"${attr("data-phase", goal.phase)} data-testid="goal-chip"${attr("title", blockedTitle)}><button type="button" class="goal-chip-label svelte-ffx44v"${attr("aria-expanded", expanded)}${attr("title", blockedTitle ?? goal.objective)}><span class="goal-chip-glyph svelte-ffx44v" aria-hidden="true">${escape_html(glyph())}</span> <span class="goal-chip-text svelte-ffx44v">goal ${escape_html(goal.phase)} · ${escape_html(shortObjective())}</span> <span class="goal-chip-caret svelte-ffx44v">${escape_html(expanded ? "▾" : "▸")}</span></button> `);
|
|
30604
|
+
if (phaseAction() === "pause" && onpause) {
|
|
30605
|
+
$$renderer.push("<!--[0-->");
|
|
30606
|
+
$$renderer.push(`<button type="button" class="goal-action svelte-ffx44v" data-testid="goal-pause"${attr("title", t(pausegoal1))}>${escape_html(t(pause))}</button>`);
|
|
30607
|
+
} else $$renderer.push("<!--[-1-->");
|
|
30608
|
+
$$renderer.push(`<!--]--> `);
|
|
30609
|
+
if (phaseAction() === "resume" && onresume) {
|
|
30610
|
+
$$renderer.push("<!--[0-->");
|
|
30611
|
+
$$renderer.push(`<button type="button" class="goal-action svelte-ffx44v" data-testid="goal-resume"${attr("title", t(resumegoal1))}>${escape_html(t(resume))}</button>`);
|
|
30612
|
+
} else $$renderer.push("<!--[-1-->");
|
|
30613
|
+
$$renderer.push(`<!--]--> `);
|
|
30614
|
+
if (onedit) {
|
|
30615
|
+
$$renderer.push("<!--[0-->");
|
|
30616
|
+
$$renderer.push(`<button type="button" class="goal-action svelte-ffx44v" data-testid="goal-edit"${attr("title", t(editobjectivetitle2))}>${escape_html(t(edit))}</button>`);
|
|
30617
|
+
} else $$renderer.push("<!--[-1-->");
|
|
30618
|
+
$$renderer.push(`<!--]--> `);
|
|
30619
|
+
if (onclear) {
|
|
30620
|
+
$$renderer.push("<!--[0-->");
|
|
30621
|
+
$$renderer.push(`<button type="button" class="goal-action goal-clear svelte-ffx44v" data-testid="goal-clear"${attr("aria-label", t(clearthegoal2))}${attr("title", t(clearbtn1))}>✕</button>`);
|
|
30622
|
+
} else $$renderer.push("<!--[-1-->");
|
|
30623
|
+
$$renderer.push(`<!--]--></div>`);
|
|
30624
|
+
});
|
|
30625
|
+
}
|
|
30626
|
+
//#endregion
|
|
30627
|
+
//#region src/lib/components/bar/goal-bar/GoalEditor.svelte
|
|
30628
|
+
function GoalEditor($$renderer, $$props) {
|
|
30629
|
+
$$renderer.component(($$renderer) => {
|
|
30630
|
+
/**
|
|
30631
|
+
* GoalEditor — the goal editor form (Goal Editor ADR D2/D4): pre-filled
|
|
30632
|
+
* fields, Enter submits, Escape cancels; buttons mirror the keys.
|
|
30633
|
+
* Extracted from GoalBar as a presentational child; the editor state is
|
|
30634
|
+
* panel-owned (GoalBar passes it through) — this component renders
|
|
30635
|
+
* fields and emits callbacks only.
|
|
30636
|
+
*/
|
|
30637
|
+
let { editor} = $$props;
|
|
30638
|
+
$$renderer.push(`<div data-svelte="GoalEditor" class="goal-edit-form svelte-c4750g" data-testid="goal-edit-form"><label class="goal-edit-label svelte-c4750g"><span>objective</span> <textarea data-testid="goal-edit-objective" rows="2" class="svelte-c4750g">`);
|
|
30639
|
+
const $$body = escape_html(editor.objective);
|
|
30640
|
+
if ($$body) $$renderer.push(`${$$body}`);
|
|
30641
|
+
$$renderer.push(`</textarea></label> <label class="goal-edit-label svelte-c4750g"><span>${escape_html(t(maxrounds1))}</span> <input type="number" min="1" step="1" data-testid="goal-edit-rounds"${attr("value", editor.maxGoalRounds)} class="svelte-c4750g"/></label> <div class="goal-controls svelte-c4750g"><button type="button" data-testid="goal-edit-submit" class="svelte-c4750g">${escape_html(t(save))}</button> <button type="button" data-testid="goal-edit-cancel" class="svelte-c4750g">${escape_html(t(cancel))}</button></div></div>`);
|
|
30642
|
+
});
|
|
30643
|
+
}
|
|
30644
|
+
//#endregion
|
|
30645
|
+
//#region src/lib/components/bar/goal-bar/GoalBar.svelte
|
|
30297
30646
|
function GoalBar($$renderer, $$props) {
|
|
30298
30647
|
$$renderer.component(($$renderer) => {
|
|
30299
30648
|
/**
|
|
@@ -30302,7 +30651,7 @@ function GoalBar($$renderer, $$props) {
|
|
|
30302
30651
|
* plus truncated objective — that expands into the goal SHEET (rounds
|
|
30303
30652
|
* counter, blocked reason when present).
|
|
30304
30653
|
*
|
|
30305
|
-
* Presentational by contract (the
|
|
30654
|
+
* Presentational by contract (the MacroBar template): the goal
|
|
30306
30655
|
* value arrives as a prop; every action leaves as a zero-arg callback
|
|
30307
30656
|
* the panel maps to `/goal <verb>` lines. The component never fetches,
|
|
30308
30657
|
* never polls, imports no services and no projection module — the
|
|
@@ -30320,47 +30669,23 @@ function GoalBar($$renderer, $$props) {
|
|
|
30320
30669
|
let expanded = false;
|
|
30321
30670
|
/** The blocked phase carries its reason; the chip title shows it. */
|
|
30322
30671
|
const blockedTitle = derived(() => goal?.phase === "blocked" && goal.blockedReason ? "blocked: " + goal.blockedReason.code + " — " + goal.blockedReason.message : void 0);
|
|
30323
|
-
/** The chip's phase glyph (mirrors DSH's GoalBar language). */
|
|
30324
|
-
const glyph = derived(() => {
|
|
30325
|
-
if (!goal) return "";
|
|
30326
|
-
if (goal.phase === "paused") return "⏸";
|
|
30327
|
-
if (goal.phase === "blocked") return "⚠";
|
|
30328
|
-
return "▶";
|
|
30329
|
-
});
|
|
30330
|
-
/** The objective the chip names, truncated for the one-line title. */
|
|
30331
|
-
const shortObjective = derived(() => goal && goal.objective.length > 80 ? goal.objective.slice(0, 79) + "…" : goal?.objective ?? "");
|
|
30332
|
-
/** Which phase action the chip offers: Pause on active, Resume on
|
|
30333
|
-
* paused, none on blocked (the host demands a reason fix first). */
|
|
30334
|
-
const phaseAction = derived(() => goal?.phase === "active" ? "pause" : goal?.phase === "paused" ? "resume" : void 0);
|
|
30335
30672
|
if (goal && goal.phase !== "complete") {
|
|
30336
30673
|
$$renderer.push("<!--[0-->");
|
|
30337
|
-
$$renderer.push(`<div data-svelte="GoalBar" class="goal-bar svelte-
|
|
30338
|
-
|
|
30339
|
-
|
|
30340
|
-
|
|
30341
|
-
|
|
30342
|
-
|
|
30343
|
-
|
|
30344
|
-
|
|
30345
|
-
|
|
30346
|
-
}
|
|
30347
|
-
$$renderer.push(
|
|
30348
|
-
if (onedit) {
|
|
30349
|
-
$$renderer.push("<!--[0-->");
|
|
30350
|
-
$$renderer.push(`<button type="button" class="goal-action svelte-132xors" data-testid="goal-edit"${attr("title", t(editobjectivetitle2))}>${escape_html(t(edit))}</button>`);
|
|
30351
|
-
} else $$renderer.push("<!--[-1-->");
|
|
30352
|
-
$$renderer.push(`<!--]--> `);
|
|
30353
|
-
if (onclear) {
|
|
30354
|
-
$$renderer.push("<!--[0-->");
|
|
30355
|
-
$$renderer.push(`<button type="button" class="goal-action goal-clear svelte-132xors" data-testid="goal-clear"${attr("aria-label", t(clearthegoal2))}${attr("title", t(clearbtn1))}>✕</button>`);
|
|
30356
|
-
} else $$renderer.push("<!--[-1-->");
|
|
30357
|
-
$$renderer.push(`<!--]--></div> `);
|
|
30674
|
+
$$renderer.push(`<div data-svelte="GoalBar" class="goal-bar svelte-fcoddu" data-testid="goal-bar">`);
|
|
30675
|
+
GoalChip($$renderer, {
|
|
30676
|
+
goal,
|
|
30677
|
+
blockedTitle: blockedTitle(),
|
|
30678
|
+
expanded,
|
|
30679
|
+
onpause,
|
|
30680
|
+
onresume,
|
|
30681
|
+
onedit,
|
|
30682
|
+
onclear
|
|
30683
|
+
});
|
|
30684
|
+
$$renderer.push(`<!----> `);
|
|
30358
30685
|
if (editor) {
|
|
30359
30686
|
$$renderer.push("<!--[0-->");
|
|
30360
|
-
$$renderer
|
|
30361
|
-
|
|
30362
|
-
if ($$body) $$renderer.push(`${$$body}`);
|
|
30363
|
-
$$renderer.push(`</textarea></label> <label class="goal-edit-label svelte-132xors"><span>${escape_html(t(maxrounds1))}</span> <input type="number" min="1" step="1" data-testid="goal-edit-rounds"${attr("value", editor.maxGoalRounds)} class="svelte-132xors"/></label> <div class="goal-controls svelte-132xors"><button type="button" data-testid="goal-edit-submit" class="svelte-132xors">${escape_html(t(save))}</button> <button type="button" data-testid="goal-edit-cancel" class="svelte-132xors">${escape_html(t(cancel))}</button></div></div>`);
|
|
30687
|
+
GoalEditor($$renderer, {
|
|
30688
|
+
editor});
|
|
30364
30689
|
} else $$renderer.push("<!--[-1-->");
|
|
30365
30690
|
$$renderer.push(`<!--]--> `);
|
|
30366
30691
|
$$renderer.push("<!--[-1-->");
|
|
@@ -30485,7 +30810,7 @@ function ConversationPanel($$renderer, $$props) {
|
|
|
30485
30810
|
* existing command banner. Catalog reads fire on first menu open,
|
|
30486
30811
|
* never at mount (cold sessions stay cold).
|
|
30487
30812
|
*/
|
|
30488
|
-
let { panelId = null, sessionId, title: initialTitleProp = null, workspace = null, workspaces = [], agent, agentDisplay = null, subagent = false, depth = 0, parentSessionId = null, entries, lastSeq, running, hasMore = void 0, pendingAnswers = [], settledAnswers = [], permission = null, imageLimits = void 0, knobEvents = void 0, a2aRows = [], a2aTitles = {}, onNeedCold = void 0, onClose = void 0, focusComposer = false, oncomposerfocus = void 0, focused = false, onOpenExplorer = void 0, onFileLink = void 0, onFileOpen = void 0 } = $$props;
|
|
30813
|
+
let { panelId = null, sessionId, title: initialTitleProp = null, workspace = null, workspaces = [], agent, agentDisplay = null, subagent = false, depth = 0, parentSessionId = null, entries, lastSeq, running, hasMore = void 0, pendingAnswers = [], settledAnswers = [], permission = null, imageLimits = void 0, knobEvents = void 0, deliverables = void 0, a2aRows = [], a2aTitles = {}, onNeedCold = void 0, onClose = void 0, focusComposer = false, oncomposerfocus = void 0, focused = false, onOpenExplorer = void 0, onFileLink = void 0, onFileOpen = void 0 } = $$props;
|
|
30489
30814
|
setPanelMode(true);
|
|
30490
30815
|
setConversationSession(sessionId);
|
|
30491
30816
|
const store = createConversationStore(sessionId);
|
|
@@ -30494,6 +30819,7 @@ function ConversationPanel($$renderer, $$props) {
|
|
|
30494
30819
|
store.applyStatus(running, lastSeq);
|
|
30495
30820
|
store.applyAnswers(pendingAnswers, settledAnswers);
|
|
30496
30821
|
store.seedPermission(permission, knobEvents);
|
|
30822
|
+
if (deliverables !== void 0) store.seedDeliverables(deliverables);
|
|
30497
30823
|
/** Chip popup state (2026-08-22, OCI pattern): ONE open chip at a time —
|
|
30498
30824
|
* the id of the expanded entry; detail renders AFTER the chip row.
|
|
30499
30825
|
* Per-panel by construction (moved here with the block). */
|
|
@@ -30761,6 +31087,8 @@ function ConversationPanel($$renderer, $$props) {
|
|
|
30761
31087
|
groups: groups(),
|
|
30762
31088
|
container: viewport,
|
|
30763
31089
|
todos: store.todos ?? null,
|
|
31090
|
+
deliverables: store.deliverables,
|
|
31091
|
+
onfileopen: onFileOpen,
|
|
30764
31092
|
jobsessionid: sessionId,
|
|
30765
31093
|
shelfentries: store.entries,
|
|
30766
31094
|
shelfsessionid: sessionId,
|
|
@@ -30795,7 +31123,7 @@ function ConversationPanel($$renderer, $$props) {
|
|
|
30795
31123
|
$$renderer.push("<!--[0-->");
|
|
30796
31124
|
if (macroOurs()) {
|
|
30797
31125
|
$$renderer.push("<!--[0-->");
|
|
30798
|
-
|
|
31126
|
+
MacroBar($$renderer, {
|
|
30799
31127
|
run: macroRun(),
|
|
30800
31128
|
landedTurns: macroLanded(),
|
|
30801
31129
|
running: store.isStreaming,
|
|
@@ -33586,7 +33914,8 @@ async function fetchColdFromWire(sessionId) {
|
|
|
33586
33914
|
settledAnswers: events.settledAnswers ?? [],
|
|
33587
33915
|
permission: events.permission ?? null,
|
|
33588
33916
|
imageLimits: events.imageLimits ?? null,
|
|
33589
|
-
knobEvents: events.knobEvents ?? []
|
|
33917
|
+
knobEvents: events.knobEvents ?? [],
|
|
33918
|
+
deliverables: events.deliverables ?? []
|
|
33590
33919
|
};
|
|
33591
33920
|
}
|
|
33592
33921
|
//#endregion
|
|
@@ -33810,7 +34139,8 @@ function seedColdOf(data) {
|
|
|
33810
34139
|
settledAnswers: d.settledAnswers ?? [],
|
|
33811
34140
|
permission: d.permission ?? null,
|
|
33812
34141
|
imageLimits: d.imageLimits ?? null,
|
|
33813
|
-
knobEvents: d.knobEvents ?? []
|
|
34142
|
+
knobEvents: d.knobEvents ?? [],
|
|
34143
|
+
deliverables: d.deliverables ?? []
|
|
33814
34144
|
} : void 0;
|
|
33815
34145
|
}
|
|
33816
34146
|
//#endregion
|
|
@@ -34015,6 +34345,7 @@ function _page($$renderer, $$props) {
|
|
|
34015
34345
|
permission: cold.permission,
|
|
34016
34346
|
imageLimits: cold.imageLimits ?? void 0,
|
|
34017
34347
|
knobEvents: cold.knobEvents,
|
|
34348
|
+
deliverables: cold.deliverables,
|
|
34018
34349
|
a2aRows: a2aRowsFor(p.sessionId),
|
|
34019
34350
|
a2aTitles: spineTitles(),
|
|
34020
34351
|
onOpenExplorer: openWorkspaceExplorer,
|
|
@@ -34151,4 +34482,4 @@ function _page($$renderer, $$props) {
|
|
|
34151
34482
|
}
|
|
34152
34483
|
|
|
34153
34484
|
export { _page as default };
|
|
34154
|
-
//# sourceMappingURL=_page.svelte.js-
|
|
34485
|
+
//# sourceMappingURL=_page.svelte.js-DrMNc6ih.js.map
|