@deepseek-insight/dsi 0.5.34 → 0.5.36
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/.agents/skills/dsi-bump-up/SKILL.md +82 -0
- package/build/client/_app/immutable/assets/{2.DEfYr14g.css → 2.B2TMGoNC.css} +1 -1
- package/build/client/_app/immutable/chunks/B8475bbs.js +1 -0
- package/build/client/_app/immutable/chunks/{B53Y9F3N.js → Cvfdkz5B.js} +1 -1
- package/build/client/_app/immutable/chunks/{D07HHvcI.js → ZTD3u9Qg.js} +2 -2
- package/build/client/_app/immutable/chunks/b-tPv4uU.js +1 -0
- package/build/client/_app/immutable/entry/{app.JnGE9QaY.js → app.DM-WIZa8.js} +2 -2
- package/build/client/_app/immutable/entry/start.DsdVwQ2P.js +1 -0
- package/build/client/_app/immutable/nodes/{1.DibfLi2p.js → 1.CSG0CVRN.js} +1 -1
- package/build/client/_app/immutable/nodes/{2.ChfcYWGA.js → 2.CWJBqz9q.js} +190 -190
- 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/{internal.js-CiAyaHU8.js → internal.js-D8oISUTm.js} +2 -2
- package/build/server/chunks/chunks/{state.js-DDFKGUCM.js → state.js-D6nZd_zN.js} +2 -2
- package/build/server/chunks/entries/pages/{_error.svelte.js-CfEcN0a5.js → _error.svelte.js-yH59g5II.js} +3 -3
- package/build/server/chunks/entries/pages/{_page.svelte.js-5qYAGNkZ.js → _page.svelte.js-Be_p_N6K.js} +92 -14
- package/build/server/chunks/{handler-C29GDWFA.js → handler-DjgkfjqU.js} +3 -3
- package/build/server/chunks/{index.js-CzsX25WI.js → index.js-DAuFLIFQ.js} +2 -2
- package/build/server/chunks/{manifest.js-BKlTd1KI.js → manifest.js-9-1nxrAa.js} +4 -4
- package/build/server/chunks/nodes/1.js-CBSPs58f.js +9 -0
- package/build/server/chunks/nodes/{2.js-043RuGl0.js → 2.js-C8rwGPl3.js} +4 -4
- package/package.json +1 -1
- package/build/client/_app/immutable/chunks/B5GSQvZ-.js +0 -1
- package/build/client/_app/immutable/chunks/D25JjSwh.js +0 -1
- package/build/client/_app/immutable/entry/start.B82JjWXe.js +0 -1
- package/build/server/chunks/nodes/1.js-Dv0mcT1C.js +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1790387602090"}
|
package/build/handler.js
CHANGED
|
@@ -2,9 +2,9 @@ import './shims.js';
|
|
|
2
2
|
import 'node:fs';
|
|
3
3
|
import 'node:path';
|
|
4
4
|
import 'node:process';
|
|
5
|
-
export { h as handler } from './server/chunks/handler-
|
|
6
|
-
import './server/chunks/index.js-
|
|
7
|
-
import './server/chunks/manifest.js-
|
|
5
|
+
export { h as handler } from './server/chunks/handler-DjgkfjqU.js';
|
|
6
|
+
import './server/chunks/index.js-DAuFLIFQ.js';
|
|
7
|
+
import './server/chunks/manifest.js-9-1nxrAa.js';
|
|
8
8
|
import './env.js';
|
|
9
9
|
import 'node:buffer';
|
|
10
10
|
import 'node:crypto';
|
|
@@ -16,7 +16,7 @@ import './server/chunks/chunks/shared.js-HQ0rfhm4.js';
|
|
|
16
16
|
import './server/chunks/chunks/uneval.js-BJ9Qq2SF.js';
|
|
17
17
|
import './server/chunks/chunks/utils.js-CAdNO8Tu.js';
|
|
18
18
|
import 'node:url';
|
|
19
|
-
import './server/chunks/chunks/internal.js-
|
|
19
|
+
import './server/chunks/chunks/internal.js-D8oISUTm.js';
|
|
20
20
|
import './server/chunks/chunks/server.js-11-pxAWV.js';
|
|
21
21
|
import './server/chunks/chunks/internal2.js-BcS47nI-.js';
|
|
22
22
|
import './server/chunks/chunks/exports.js-DH_tjtdv.js';
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import http from 'node:http';
|
|
2
2
|
import fs__default from 'node:fs';
|
|
3
3
|
import process from 'node:process';
|
|
4
|
-
import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-
|
|
4
|
+
import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-DjgkfjqU.js';
|
|
5
5
|
import { env, timeout_env } from './env.js';
|
|
6
6
|
import { rm } from 'node:fs/promises';
|
|
7
7
|
import './shims.js';
|
|
@@ -14,12 +14,12 @@ import 'node:stream';
|
|
|
14
14
|
import './server/chunks/chunks/shared.js-HQ0rfhm4.js';
|
|
15
15
|
import './server/chunks/chunks/uneval.js-BJ9Qq2SF.js';
|
|
16
16
|
import './server/chunks/chunks/utils.js-CAdNO8Tu.js';
|
|
17
|
-
import './server/chunks/index.js-
|
|
18
|
-
import './server/chunks/chunks/internal.js-
|
|
17
|
+
import './server/chunks/index.js-DAuFLIFQ.js';
|
|
18
|
+
import './server/chunks/chunks/internal.js-D8oISUTm.js';
|
|
19
19
|
import './server/chunks/chunks/server.js-11-pxAWV.js';
|
|
20
20
|
import './server/chunks/chunks/internal2.js-BcS47nI-.js';
|
|
21
21
|
import './server/chunks/chunks/exports.js-DH_tjtdv.js';
|
|
22
|
-
import './server/chunks/manifest.js-
|
|
22
|
+
import './server/chunks/manifest.js-9-1nxrAa.js';
|
|
23
23
|
import 'node:url';
|
|
24
24
|
|
|
25
25
|
const path = env('SOCKET_PATH', false);
|
|
@@ -722,7 +722,7 @@ var options = {
|
|
|
722
722
|
app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"%paraglide.locale%\">\n <head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"" + assets + "/favicon.svg\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n " + head + "\n </head>\n <body data-sveltekit-preload-data=\"tap\">\n <div style=\"display: contents\">" + body + "</div>\n </body>\n</html>\n",
|
|
723
723
|
error: error_template_default
|
|
724
724
|
},
|
|
725
|
-
version_hash: "
|
|
725
|
+
version_hash: "11vgwpn"
|
|
726
726
|
};
|
|
727
727
|
async function get_hooks() {
|
|
728
728
|
let handle;
|
|
@@ -745,4 +745,4 @@ async function get_hooks() {
|
|
|
745
745
|
}
|
|
746
746
|
|
|
747
747
|
export { __commonJSMin as _, set_public_env as a, set_read_implementation as b, onDestroy as c, __exportAll as d, get_hooks as g, index_server_exports as i, options as o, public_env as p, read_implementation as r, set_private_env as s };
|
|
748
|
-
//# sourceMappingURL=internal.js-
|
|
748
|
+
//# sourceMappingURL=internal.js-D8oISUTm.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as index_server_exports } from './internal.js-
|
|
1
|
+
import { i as index_server_exports } from './internal.js-D8oISUTm.js';
|
|
2
2
|
import './shared.js-HQ0rfhm4.js';
|
|
3
3
|
import './exports.js-DH_tjtdv.js';
|
|
4
4
|
import { U as snapshot, J as getContext, G as noop } from './server.js-11-pxAWV.js';
|
|
@@ -303,4 +303,4 @@ var page = {
|
|
|
303
303
|
};
|
|
304
304
|
|
|
305
305
|
export { afterNavigate as a, backtoworkspace2 as b, replaceState as c, dshunreachable1 as d, currentLocale as e, page as p, reapednote1 as r, sessionnotfound2 as s, t, unexpectederror1 as u };
|
|
306
|
-
//# sourceMappingURL=state.js-
|
|
306
|
+
//# sourceMappingURL=state.js-D6nZd_zN.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { V as head, W as escape_html, y as derived } from '../../chunks/server.js-11-pxAWV.js';
|
|
2
|
-
import { t, p as page, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, u as unexpectederror1, b as backtoworkspace2 } from '../../chunks/state.js-
|
|
2
|
+
import { t, p as page, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, u as unexpectederror1, b as backtoworkspace2 } from '../../chunks/state.js-D6nZd_zN.js';
|
|
3
3
|
import '../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
4
|
-
import '../../chunks/internal.js-
|
|
4
|
+
import '../../chunks/internal.js-D8oISUTm.js';
|
|
5
5
|
import '../../chunks/shared.js-HQ0rfhm4.js';
|
|
6
6
|
import '../../chunks/exports.js-DH_tjtdv.js';
|
|
7
7
|
import '../../chunks/config.js-B0w1-uCA.js';
|
|
@@ -40,4 +40,4 @@ function _error($$renderer, $$props) {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
export { _error as default };
|
|
43
|
-
//# sourceMappingURL=_error.svelte.js-
|
|
43
|
+
//# sourceMappingURL=_error.svelte.js-yH59g5II.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as onDestroy, d as __exportAll } from '../../chunks/internal.js-
|
|
1
|
+
import { c as onDestroy, d as __exportAll } from '../../chunks/internal.js-D8oISUTm.js';
|
|
2
2
|
import { V as head, y as derived, X as bind_props, W as escape_html, Y as attr, Z as attr_style, _ as attr_class, x as setContext, $ as spread_props, a0 as attributes, a1 as clsx, a2 as ensure_array_like, a3 as element, J as getContext, a4 as stringify, a5 as html, F as run, a6 as props_id } from '../../chunks/server.js-11-pxAWV.js';
|
|
3
3
|
import { U as UI_LOCALES } from '../../chunks/config.js-B0w1-uCA.js';
|
|
4
4
|
import { m as mergeEntries, c as collapseSystemPromptEntries, t as truncate } from '../../chunks/dsh-events.js-CyvSb4O3.js';
|
|
@@ -7,7 +7,7 @@ import { b as applyKnobEvent, E as EMPTY_KNOBS, r as resolvePermission, l as loc
|
|
|
7
7
|
import { D as DEFAULT_IMAGE_LIMITS } from '../../chunks/image-limits.js-CUdJ0f7r.js';
|
|
8
8
|
import { a as appConfig, t as triggerMode, g as getTrigger, p as previewSegments, i as isValidTagWord, b as textPreviewOf, s as searchKey, c as shouldRecordPrompt, d as parseTagWords } from '../../chunks/app-config.svelte.js-BBPHOX4N.js';
|
|
9
9
|
import { c as getLocale } from '../../chunks/runtime.js-CCJi3XaY.js';
|
|
10
|
-
import { p as page, a as afterNavigate, t, c as replaceState, e as currentLocale, u as unexpectederror1, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, b as backtoworkspace2 } from '../../chunks/state.js-
|
|
10
|
+
import { p as page, a as afterNavigate, t, c as replaceState, e as currentLocale, u as unexpectederror1, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, b as backtoworkspace2 } from '../../chunks/state.js-D6nZd_zN.js';
|
|
11
11
|
import 'yaml';
|
|
12
12
|
import 'html-to-image';
|
|
13
13
|
import hljs from 'highlight.js/lib/core';
|
|
@@ -20022,6 +20022,56 @@ function LoadOlderSentinel($$renderer, $$props) {
|
|
|
20022
20022
|
});
|
|
20023
20023
|
}
|
|
20024
20024
|
//#endregion
|
|
20025
|
+
//#region src/lib/utils/file-link.ts
|
|
20026
|
+
/**
|
|
20027
|
+
* file-link — pure predicates for transcript file links (File Link Intent
|
|
20028
|
+
* spec, 2026-09-25; ADR The File Link Intent D2/D4). No DOM, no I/O: the
|
|
20029
|
+
* sanitizer (markdown.ts) stays pure and the transcript handler stays
|
|
20030
|
+
* testable — this module is the shared layer both import.
|
|
20031
|
+
*
|
|
20032
|
+
* The CONFINEMENT authority is the host (workspace-tree/workspace-file
|
|
20033
|
+
* routes refuse outside-workspace reads); these predicates are a client
|
|
20034
|
+
* fast-fail, not a security boundary.
|
|
20035
|
+
*/
|
|
20036
|
+
/** True when the segment escapes the workspace — never a real file. */
|
|
20037
|
+
function hasDotDotSegment(path) {
|
|
20038
|
+
return path.split("/").some((segment) => segment === "..");
|
|
20039
|
+
}
|
|
20040
|
+
/**
|
|
20041
|
+
* Normalize a file-link href to a workspace-relative path: strip a
|
|
20042
|
+
* leading './', collapse duplicate slashes, strip a single leading slash.
|
|
20043
|
+
* Returns null when the path escapes the workspace ('..' anywhere) or
|
|
20044
|
+
* normalizes to empty.
|
|
20045
|
+
*/
|
|
20046
|
+
function normalizeFileLinkPath(href) {
|
|
20047
|
+
let value = href.trim().replace(/^\.\//, "").replace(/\/{2,}/g, "/");
|
|
20048
|
+
if (value.startsWith("/")) value = value.slice(1);
|
|
20049
|
+
if (value === "" || hasDotDotSegment(value)) return null;
|
|
20050
|
+
return value;
|
|
20051
|
+
}
|
|
20052
|
+
/**
|
|
20053
|
+
* The existence gate (ADR D3): probe the dirname via the confined tree
|
|
20054
|
+
* route and require the basename in the listing. Any refusal (404
|
|
20055
|
+
* missing/outside, 415, 502, transport) resolves false — the click
|
|
20056
|
+
* drops. Uses the injected fetch so tests mount the double.
|
|
20057
|
+
*/
|
|
20058
|
+
async function workspaceFileExists(sessionId, path, fetchImpl = fetch) {
|
|
20059
|
+
const clean = path.split("#")[0];
|
|
20060
|
+
if (clean === "") return false;
|
|
20061
|
+
const slash = clean.lastIndexOf("/");
|
|
20062
|
+
const dir = slash === -1 ? "" : clean.slice(0, slash);
|
|
20063
|
+
const base = slash === -1 ? clean : clean.slice(slash + 1);
|
|
20064
|
+
try {
|
|
20065
|
+
const res = await fetchImpl(`/api/dsh/workspace-tree?sessionId=${encodeURIComponent(sessionId)}&path=${encodeURIComponent(dir)}`);
|
|
20066
|
+
if (!res.ok) return false;
|
|
20067
|
+
const body = await res.json();
|
|
20068
|
+
if (body?.ok !== true || !Array.isArray(body.listing?.entries)) return false;
|
|
20069
|
+
return body.listing.entries.some((entry) => entry.name === base);
|
|
20070
|
+
} catch {
|
|
20071
|
+
return false;
|
|
20072
|
+
}
|
|
20073
|
+
}
|
|
20074
|
+
//#endregion
|
|
20025
20075
|
//#region src/lib/components/common/buttons/CopyButton.svelte
|
|
20026
20076
|
function CopyButton($$renderer, $$props) {
|
|
20027
20077
|
$$renderer.component(($$renderer) => {
|
|
@@ -20053,7 +20103,7 @@ function RawPreviewToggle($$renderer, $$props) {
|
|
|
20053
20103
|
//#region src/lib/components/common/viewers/MarkdownContent.svelte
|
|
20054
20104
|
function MarkdownContent($$renderer, $$props) {
|
|
20055
20105
|
$$renderer.component(($$renderer) => {
|
|
20056
|
-
let { content, small = false, hideToggle = false, searchTerm = "" } = $$props;
|
|
20106
|
+
let { content, small = false, hideToggle = false, searchTerm = "", onFileLink = void 0 } = $$props;
|
|
20057
20107
|
let showRaw = false;
|
|
20058
20108
|
let containerEl = null;
|
|
20059
20109
|
/** Sanitized HTML — BC-12: allow-listed tags only (never raw input). */
|
|
@@ -23332,7 +23382,7 @@ function ConversationScrollArea($$renderer, $$props) {
|
|
|
23332
23382
|
* The viewport element is $bindable: the page keeps it for the
|
|
23333
23383
|
* floating anchor stack (jumper + back-to-top act on this scroller).
|
|
23334
23384
|
*/
|
|
23335
|
-
let { viewport = void 0, stick = true, entries, groups, hasMore, loadingOlder, olderError, onloadolder, openChipId, ontogglechip, autoThinkId = null, autoPlanId = null, peekOpenRunKey, ontogglepeek, pendingCards, settledCards, onanswer, sessionId, title = null, agentPreset = null, subagent = false, depth = 0 } = $$props;
|
|
23385
|
+
let { viewport = void 0, stick = true, entries, groups, hasMore, loadingOlder, olderError, onloadolder, openChipId, ontogglechip, autoThinkId = null, autoPlanId = null, peekOpenRunKey, ontogglepeek, pendingCards, settledCards, onanswer, onFileLink = void 0, sessionId, title = null, agentPreset = null, subagent = false, depth = 0 } = $$props;
|
|
23336
23386
|
/** Depth-graded sub-agent tints: beige at depth 1, one step darker
|
|
23337
23387
|
* per nesting level, darkest from depth 3 on (the cap). */
|
|
23338
23388
|
const SUBAGENT_TINTS = [
|
|
@@ -23513,7 +23563,8 @@ function ConversationScrollArea($$renderer, $$props) {
|
|
|
23513
23563
|
$$renderer.push("<!--[0-->");
|
|
23514
23564
|
MarkdownContent($$renderer, {
|
|
23515
23565
|
content: run.entry.text,
|
|
23516
|
-
hideToggle: true
|
|
23566
|
+
hideToggle: true,
|
|
23567
|
+
onFileLink
|
|
23517
23568
|
});
|
|
23518
23569
|
} else {
|
|
23519
23570
|
$$renderer.push("<!--[-1-->");
|
|
@@ -23541,7 +23592,8 @@ function ConversationScrollArea($$renderer, $$props) {
|
|
|
23541
23592
|
$$renderer.push("<!--[0-->");
|
|
23542
23593
|
MarkdownContent($$renderer, {
|
|
23543
23594
|
content: run.entry.text,
|
|
23544
|
-
hideToggle: true
|
|
23595
|
+
hideToggle: true,
|
|
23596
|
+
onFileLink
|
|
23545
23597
|
});
|
|
23546
23598
|
} else {
|
|
23547
23599
|
$$renderer.push("<!--[-1-->");
|
|
@@ -23570,7 +23622,8 @@ function ConversationScrollArea($$renderer, $$props) {
|
|
|
23570
23622
|
$$renderer.push("<!--[0-->");
|
|
23571
23623
|
MarkdownContent($$renderer, {
|
|
23572
23624
|
content: run.entry.text,
|
|
23573
|
-
hideToggle: true
|
|
23625
|
+
hideToggle: true,
|
|
23626
|
+
onFileLink
|
|
23574
23627
|
});
|
|
23575
23628
|
} else {
|
|
23576
23629
|
$$renderer.push("<!--[-1-->");
|
|
@@ -25741,7 +25794,7 @@ function ConversationPanel($$renderer, $$props) {
|
|
|
25741
25794
|
* existing command banner. Catalog reads fire on first menu open,
|
|
25742
25795
|
* never at mount (cold sessions stay cold).
|
|
25743
25796
|
*/
|
|
25744
|
-
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 } = $$props;
|
|
25797
|
+
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 } = $$props;
|
|
25745
25798
|
setPanelMode(true);
|
|
25746
25799
|
setConversationSession(sessionId);
|
|
25747
25800
|
const store = createConversationStore(sessionId);
|
|
@@ -26147,6 +26200,7 @@ function ConversationPanel($$renderer, $$props) {
|
|
|
26147
26200
|
pendingCards: pendingCards(),
|
|
26148
26201
|
settledCards: settledCards(),
|
|
26149
26202
|
onanswer: (rpcId, payload) => void onanswer(rpcId, payload),
|
|
26203
|
+
onFileLink,
|
|
26150
26204
|
sessionId: store.sessionId,
|
|
26151
26205
|
title,
|
|
26152
26206
|
agentPreset: agent,
|
|
@@ -27363,7 +27417,7 @@ function WorkspaceExplorerTree($$renderer, $$props) {
|
|
|
27363
27417
|
*/
|
|
27364
27418
|
/** One listing row (workspaceFiles/list WorkspaceDirectoryEntry). */
|
|
27365
27419
|
/** Viewing state for one fetched level (owner-held, never persisted). */
|
|
27366
|
-
let { root, levels, expanded, repoMaps, changedPaths, changedDirs} = $$props;
|
|
27420
|
+
let { root, levels, expanded, repoMaps, changedPaths, changedDirs, activeFile = null } = $$props;
|
|
27367
27421
|
/** The row's child rel path (the listing's names are basenames). */
|
|
27368
27422
|
function childRel(rel, name) {
|
|
27369
27423
|
return rel === "" ? name : rel + "/" + name;
|
|
@@ -27383,7 +27437,8 @@ function WorkspaceExplorerTree($$renderer, $$props) {
|
|
|
27383
27437
|
const isRepoChild = dir && repoMaps[rel]?.repos?.[entry.name] === true;
|
|
27384
27438
|
const isChanged = !dir && changedPaths.has(childRel(rel, entry.name));
|
|
27385
27439
|
const isHotDir = dir && changedDirs.has(childRel(rel, entry.name));
|
|
27386
|
-
|
|
27440
|
+
const isActive = activeFile !== null && activeFile === child;
|
|
27441
|
+
$$renderer.push(`<li role="treeitem"${attr("aria-selected", isActive)}${attr("aria-expanded", dir ? isOpen : void 0)}${attr_class("row-line svelte-hbtlo6", void 0, { "active": isActive })}>`);
|
|
27387
27442
|
if (dir) {
|
|
27388
27443
|
$$renderer.push("<!--[0-->");
|
|
27389
27444
|
$$renderer.push(`<button${attr_class("row dir svelte-hbtlo6", void 0, {
|
|
@@ -27457,7 +27512,7 @@ function WorkspaceExplorerTree($$renderer, $$props) {
|
|
|
27457
27512
|
} else $$renderer.push("<!--[-1-->");
|
|
27458
27513
|
$$renderer.push(`<!--]--></li>`);
|
|
27459
27514
|
}
|
|
27460
|
-
$$renderer.push(`<ul data-svelte="WorkspaceExplorerTree" class="tree svelte-hbtlo6" role="tree"${attr("aria-label", workspacePanelCopy.explorer.title + ": " + root)}><!--[-->`);
|
|
27515
|
+
$$renderer.push(`<ul data-svelte="WorkspaceExplorerTree" class="tree svelte-hbtlo6" role="tree"${attr("aria-label", workspacePanelCopy.explorer.title + ": " + root)}${attr("data-active-file", activeFile ?? "")}><!--[-->`);
|
|
27461
27516
|
const each_array_1 = ensure_array_like(sorted(levels[""]?.kind === "ready" ? levels[""].entries : []));
|
|
27462
27517
|
for (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {
|
|
27463
27518
|
let entry = each_array_1[$$index];
|
|
@@ -27582,7 +27637,7 @@ function WorkspaceExplorer($$renderer, $$props) {
|
|
|
27582
27637
|
* never scroll itself; the scroll lives on .tree-scroll so the toolbar
|
|
27583
27638
|
* stays pinned (the toolbar-scrolls-away bug).
|
|
27584
27639
|
*/
|
|
27585
|
-
let { root, activeTab, levels, expanded, repoMaps, changedPaths, changedDirs, changesRepos, changesStatuses, collapsedRepos} = $$props;
|
|
27640
|
+
let { root, activeTab, levels, expanded, repoMaps, changedPaths, changedDirs, activeFile = null, changesRepos, changesStatuses, collapsedRepos} = $$props;
|
|
27586
27641
|
$$renderer.push(`<div data-svelte="WorkspaceExplorer" class="explorer svelte-1l3v1je">`);
|
|
27587
27642
|
WorkspaceExplorerToolbar($$renderer, {
|
|
27588
27643
|
activeTab});
|
|
@@ -27605,7 +27660,9 @@ function WorkspaceExplorer($$renderer, $$props) {
|
|
|
27605
27660
|
expanded,
|
|
27606
27661
|
repoMaps,
|
|
27607
27662
|
changedPaths,
|
|
27608
|
-
changedDirs
|
|
27663
|
+
changedDirs,
|
|
27664
|
+
activeFile
|
|
27665
|
+
});
|
|
27609
27666
|
$$renderer.push(`<!----></div>`);
|
|
27610
27667
|
}
|
|
27611
27668
|
$$renderer.push(`<!--]--></div>`);
|
|
@@ -28403,6 +28460,7 @@ function WorkspaceExplorerPanel($$renderer, $$props) {
|
|
|
28403
28460
|
const splitPct = derived(() => clampTreePct(treePct));
|
|
28404
28461
|
$$renderer.push(`<div data-svelte="WorkspaceExplorerPanel" data-testid="workspace-explorer" class="split svelte-v4uero"${attr_style(`--tree-basis: ${stringify(splitPct())}%; --file-basis: ${stringify(100 - splitPct())}%`)}>`);
|
|
28405
28462
|
WorkspaceExplorer($$renderer, {
|
|
28463
|
+
activeFile,
|
|
28406
28464
|
root,
|
|
28407
28465
|
activeTab: activeTab(),
|
|
28408
28466
|
levels,
|
|
@@ -29152,6 +29210,24 @@ function _page($$renderer, $$props) {
|
|
|
29152
29210
|
const host = sessionWorkspaceExplorer(sessionId);
|
|
29153
29211
|
if (host) publishFileIntent(host.id, path);
|
|
29154
29212
|
}
|
|
29213
|
+
/** File Link Intent (ADR 2026-09-25 D3): a transcript file link publishes
|
|
29214
|
+
* ONLY after the tree route proves the file exists inside the session's
|
|
29215
|
+
* workspace — the gate lives in the shared util; anything else drops the
|
|
29216
|
+
* click. No navigation ever happens. */
|
|
29217
|
+
async function openFileLinkFromMarkdown(sessionId, rawHref) {
|
|
29218
|
+
const path = normalizeFileLinkPath(rawHref);
|
|
29219
|
+
console.log("[FLINK] click", sessionId, rawHref, "->", path);
|
|
29220
|
+
if (path === null) return;
|
|
29221
|
+
const exists = await workspaceFileExists(sessionId, path);
|
|
29222
|
+
console.log("[FLINK] exists:", exists);
|
|
29223
|
+
if (!exists) return;
|
|
29224
|
+
if (!sessionWorkspaceExplorer(sessionId)) {
|
|
29225
|
+
const root = panelWorkspaceFor(sessionId);
|
|
29226
|
+
if (!root) return;
|
|
29227
|
+
openWorkspaceExplorer(sessionId, root);
|
|
29228
|
+
}
|
|
29229
|
+
openWorkspaceFile(sessionId, path);
|
|
29230
|
+
}
|
|
29155
29231
|
const seedData = page.data;
|
|
29156
29232
|
const seedCold = seedData && typeof seedData.sessionId === "string" && Array.isArray(seedData.entries) ? {
|
|
29157
29233
|
title: seedData.title ?? null,
|
|
@@ -29583,6 +29659,7 @@ function _page($$renderer, $$props) {
|
|
|
29583
29659
|
ConversationPanel($$renderer, {
|
|
29584
29660
|
panelId: floorPanelId,
|
|
29585
29661
|
sessionId: p.sessionId,
|
|
29662
|
+
onFileLink: (href) => void openFileLinkFromMarkdown(p.sessionId, href),
|
|
29586
29663
|
title: panelTitleFor(p.sessionId),
|
|
29587
29664
|
workspace: panelWorkspaceFor(p.sessionId),
|
|
29588
29665
|
workspaces: spineWorkspaces(),
|
|
@@ -29615,6 +29692,7 @@ function _page($$renderer, $$props) {
|
|
|
29615
29692
|
ConversationPanel($$renderer, {
|
|
29616
29693
|
panelId: floorPanelId,
|
|
29617
29694
|
sessionId: p.sessionId,
|
|
29695
|
+
onFileLink: (href) => void openFileLinkFromMarkdown(p.sessionId, href),
|
|
29618
29696
|
title: panelTitleFor(p.sessionId),
|
|
29619
29697
|
workspace: panelWorkspaceFor(p.sessionId),
|
|
29620
29698
|
workspaces: spineWorkspaces(),
|
|
@@ -29731,4 +29809,4 @@ function _page($$renderer, $$props) {
|
|
|
29731
29809
|
}
|
|
29732
29810
|
|
|
29733
29811
|
export { _page as default };
|
|
29734
|
-
//# sourceMappingURL=_page.svelte.js-
|
|
29812
|
+
//# sourceMappingURL=_page.svelte.js-Be_p_N6K.js.map
|
|
@@ -9,8 +9,8 @@ import * as qs from 'node:querystring';
|
|
|
9
9
|
import { Readable } from 'node:stream';
|
|
10
10
|
import { S as SvelteKitError } from './chunks/shared.js-HQ0rfhm4.js';
|
|
11
11
|
import './chunks/utils.js-CAdNO8Tu.js';
|
|
12
|
-
import { S as Server } from './index.js-
|
|
13
|
-
import { m as manifest } from './manifest.js-
|
|
12
|
+
import { S as Server } from './index.js-DAuFLIFQ.js';
|
|
13
|
+
import { m as manifest } from './manifest.js-9-1nxrAa.js';
|
|
14
14
|
import { env, dir, env_prefix } from '../../env.js';
|
|
15
15
|
import { format } from 'node:url';
|
|
16
16
|
|
|
@@ -1732,4 +1732,4 @@ const handler = sequence(
|
|
|
1732
1732
|
);
|
|
1733
1733
|
|
|
1734
1734
|
export { format_listening_address as f, handler as h, polka as p };
|
|
1735
|
-
//# sourceMappingURL=handler-
|
|
1735
|
+
//# sourceMappingURL=handler-DjgkfjqU.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as __commonJSMin, o as options, s as set_private_env, a as set_public_env, g as get_hooks, p as public_env, r as read_implementation, b as set_read_implementation } from './chunks/internal.js-
|
|
1
|
+
import { _ as __commonJSMin, o as options, s as set_private_env, a as set_public_env, g as get_hooks, p as public_env, r as read_implementation, b as set_read_implementation } from './chunks/internal.js-D8oISUTm.js';
|
|
2
2
|
import { n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, R as Redirect, b as get_relative_path, S as SvelteKitError, g as get_status, t as text_encoder, o as once, H as HttpError, d as normalize_error, e as create_remote_key, f as parse_remote_arg, s as stringify, h as stringify$1, A as ActionFailure, i as split_remote_key, j as base64_encode } from './chunks/shared.js-HQ0rfhm4.js';
|
|
3
3
|
import { b as base, o as override, a as assets, r as reset, c as app_dir } from './chunks/internal2.js-BcS47nI-.js';
|
|
4
4
|
import { f as format_server_error, j as json, i as is_form_content_type, t as text, h as has_prerendered_path, a as handle_fatal_error, r as redirect_response, g as get_set_cookies, n as negotiate, w as with_request_store, p as parseString, m as merge_tracing, b as method_not_allowed, s as static_error_page, c as handle_error_and_jsonify, d as get_global_name, e as create_replacer, k as serialize_uses, l as clarify_devalue_error, E as ENDPOINT_METHODS, P as PAGE_METHODS, o as get_node_type, q as isRedirect, u as escape_html, v as error, x as deserialize_binary_form } from './chunks/utils.js-CAdNO8Tu.js';
|
|
@@ -3861,4 +3861,4 @@ var Server = class {
|
|
|
3861
3861
|
};
|
|
3862
3862
|
|
|
3863
3863
|
export { Server as S };
|
|
3864
|
-
//# sourceMappingURL=index.js-
|
|
3864
|
+
//# sourceMappingURL=index.js-DAuFLIFQ.js.map
|
|
@@ -10,11 +10,11 @@ return {
|
|
|
10
10
|
assets: new Set(["favicon.svg"]),
|
|
11
11
|
mimeTypes: {".svg":"image/svg+xml"},
|
|
12
12
|
_: {
|
|
13
|
-
client: {start:"_app/immutable/entry/start.
|
|
13
|
+
client: {start:"_app/immutable/entry/start.DsdVwQ2P.js",app:"_app/immutable/entry/app.DM-WIZa8.js",imports:["_app/immutable/entry/start.DsdVwQ2P.js","_app/immutable/chunks/ZTD3u9Qg.js","_app/immutable/chunks/C-58cZAk.js","_app/immutable/entry/app.DM-WIZa8.js","_app/immutable/chunks/C-58cZAk.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
14
|
nodes: [
|
|
15
15
|
__memo(() => import('./nodes/0.js-D1vjUdTF.js')),
|
|
16
|
-
__memo(() => import('./nodes/1.js-
|
|
17
|
-
__memo(() => import('./nodes/2.js-
|
|
16
|
+
__memo(() => import('./nodes/1.js-CBSPs58f.js')),
|
|
17
|
+
__memo(() => import('./nodes/2.js-C8rwGPl3.js'))
|
|
18
18
|
],
|
|
19
19
|
remotes: {
|
|
20
20
|
|
|
@@ -424,4 +424,4 @@ return {
|
|
|
424
424
|
})();
|
|
425
425
|
|
|
426
426
|
export { manifest as m };
|
|
427
|
-
//# sourceMappingURL=manifest.js-
|
|
427
|
+
//# sourceMappingURL=manifest.js-9-1nxrAa.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const index = 1;
|
|
2
|
+
let component_cache;
|
|
3
|
+
const component = async () => component_cache ??= (await import('../entries/pages/_error.svelte.js-yH59g5II.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/1.CSG0CVRN.js","_app/immutable/chunks/C-58cZAk.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/Cvfdkz5B.js","_app/immutable/chunks/ZTD3u9Qg.js","_app/immutable/chunks/DlfWhx6l.js"];
|
|
5
|
+
const stylesheets = [];
|
|
6
|
+
const fonts = [];
|
|
7
|
+
|
|
8
|
+
export { component, fonts, imports, index, stylesheets };
|
|
9
|
+
//# sourceMappingURL=1.js-CBSPs58f.js.map
|
|
@@ -17,11 +17,11 @@ import '../chunks/uneval.js-BJ9Qq2SF.js';
|
|
|
17
17
|
|
|
18
18
|
const index = 2;
|
|
19
19
|
let component_cache;
|
|
20
|
-
const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-
|
|
20
|
+
const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-Be_p_N6K.js')).default;
|
|
21
21
|
const server_id = "src/routes/+page.server.ts";
|
|
22
|
-
const imports = ["_app/immutable/nodes/2.
|
|
23
|
-
const stylesheets = ["_app/immutable/assets/2.
|
|
22
|
+
const imports = ["_app/immutable/nodes/2.CWJBqz9q.js","_app/immutable/chunks/C-58cZAk.js","_app/immutable/chunks/ZTD3u9Qg.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DlfWhx6l.js","_app/immutable/chunks/DsZdPfqt.js","_app/immutable/chunks/Cvfdkz5B.js"];
|
|
23
|
+
const stylesheets = ["_app/immutable/assets/2.B2TMGoNC.css"];
|
|
24
24
|
const fonts = [];
|
|
25
25
|
|
|
26
26
|
export { component, fonts, imports, index, server_id, stylesheets };
|
|
27
|
-
//# sourceMappingURL=2.js-
|
|
27
|
+
//# sourceMappingURL=2.js-C8rwGPl3.js.map
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{H as e}from"../nodes/2.ChfcYWGA.js";export{e as startPanelResize};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"../nodes/2.ChfcYWGA.js";export{e as stringify};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"../chunks/D07HHvcI.js";export{e as load_css,t as start};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
const index = 1;
|
|
2
|
-
let component_cache;
|
|
3
|
-
const component = async () => component_cache ??= (await import('../entries/pages/_error.svelte.js-CfEcN0a5.js')).default;
|
|
4
|
-
const imports = ["_app/immutable/nodes/1.DibfLi2p.js","_app/immutable/chunks/C-58cZAk.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/B53Y9F3N.js","_app/immutable/chunks/D07HHvcI.js","_app/immutable/chunks/DlfWhx6l.js"];
|
|
5
|
-
const stylesheets = [];
|
|
6
|
-
const fonts = [];
|
|
7
|
-
|
|
8
|
-
export { component, fonts, imports, index, stylesheets };
|
|
9
|
-
//# sourceMappingURL=1.js-Dv0mcT1C.js.map
|