@openspecui/web 9.0.0 → 9.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/App-CKmWaGbS.css +1 -0
- package/dist/assets/{App-pfObbe6n.js → App-Cm5Z3aXu.js} +6 -6
- package/dist/assets/{main-Bc_Hy41u.js → main-DbOTQVqN.js} +2 -2
- package/dist/assets/{trpc--JMUaLps.js → trpc-DriEPW9x.js} +1 -1
- package/dist/index.html +1 -1
- package/dist-ssg/client/.vite/ssr-manifest.json +29 -29
- package/dist-ssg/client/assets/CanvasRenderer-BhcfZraw.js +1 -0
- package/dist-ssg/client/assets/WebGLRenderer-BMU-g2CE.js +1 -0
- package/dist-ssg/client/assets/WebGPURenderer-BAsbFOnm.js +1 -0
- package/dist-ssg/client/assets/browserAll-DzAH94Dz.js +1 -0
- package/dist-ssg/client/assets/{config-guide-presentation-BOR0ydhm.js → config-guide-presentation-Cn3kSpXZ.js} +1 -1
- package/dist-ssg/client/assets/{dist-0yxWvQWL.js → dist-BM1aVB3p.js} +1 -1
- package/dist-ssg/client/assets/{dist-CcTAgsaD.js → dist-BVC-3Mz_.js} +1 -1
- package/dist-ssg/client/assets/dist-CdxtXLZp.js +1 -0
- package/dist-ssg/client/assets/{dist-DFrBPW6S.js → dist-CfapX6Lr.js} +1 -1
- package/dist-ssg/client/assets/{dist-BXnglWxe.js → dist-DSbjfgtE.js} +1 -1
- package/dist-ssg/client/assets/{dist-Cqsy4GXU.js → dist-DTfE1AGY.js} +1 -1
- package/dist-ssg/client/assets/{dist-DclbMTMt.js → dist-D_8785UD.js} +1 -1
- package/dist-ssg/client/assets/{dist-biv4iN0V.js → dist-Dq7tP1jy.js} +1 -1
- package/dist-ssg/client/assets/dist-Dw6bnxbK.js +1 -0
- package/dist-ssg/client/assets/{dist-DR4ycVu1.js → dist-URgAfvaG.js} +1 -1
- package/dist-ssg/client/assets/{dist-CqBkec9X.js → dist-bIKkmeGM.js} +1 -1
- package/dist-ssg/client/assets/dist-nRw76b0P.js +1 -0
- package/dist-ssg/client/assets/{ghostty-web-D2QuMH_Q.js → ghostty-web-CepiWfia.js} +1 -1
- package/dist-ssg/client/assets/index-CltZALZD.css +1 -0
- package/dist-ssg/client/assets/{index.ssg-JS2ceq7d.js → index.ssg-DAtF3E31.js} +22 -22
- package/dist-ssg/client/assets/{init-CHYK3_IX.js → init-BOhrbGmd.js} +1 -1
- package/dist-ssg/client/assets/{trpc-B-w8tA8C.js → trpc-CfpujRJ8.js} +1 -1
- package/dist-ssg/client/assets/webworkerAll-BPYJdLSv.js +1 -0
- package/dist-ssg/client/index.ssg.html +2 -2
- package/dist-ssg/server/assets/CanvasRenderer-k_tFIFoA.js +3 -0
- package/dist-ssg/server/assets/WebGLRenderer-cfN96M_D.js +3 -0
- package/dist-ssg/server/assets/WebGPURenderer-moX8CQUm.js +3 -0
- package/dist-ssg/server/assets/{browserAll-BNHXRTWn.js → browserAll-BJZwRDaI.js} +2 -2
- package/dist-ssg/server/assets/{config-guide-presentation-CmUNOJoP.js → config-guide-presentation-CcpWbzbF.js} +1 -1
- package/dist-ssg/server/assets/{dist-CzfcaAEs.js → dist-BZbvCEXY.js} +1 -1
- package/dist-ssg/server/assets/{dist-tvIcsOn0.js → dist-BbKu_y6W.js} +1 -1
- package/dist-ssg/server/assets/dist-Bosp3yvI.js +3 -0
- package/dist-ssg/server/assets/{dist-CkE7XypO.js → dist-C0TNMvo3.js} +1 -1
- package/dist-ssg/server/assets/{dist-BZwNiEjE.js → dist-C7cu-Ohs.js} +1 -1
- package/dist-ssg/server/assets/{dist-CD_P89TI.js → dist-CTDTyhyq.js} +1 -1
- package/dist-ssg/server/assets/dist-CgFGYGuV.js +3 -0
- package/dist-ssg/server/assets/{dist-CSnQ9MUZ.js → dist-CmkO24b2.js} +1 -1
- package/dist-ssg/server/assets/{dist-Bg6kJ4lE.js → dist-Cxmy4PRF.js} +1 -1
- package/dist-ssg/server/assets/dist-DaxZJMDX.js +3 -0
- package/dist-ssg/server/assets/{dist-TFBLKdTC.js → dist-FpVzh8vE.js} +1 -1
- package/dist-ssg/server/assets/{dist-BTzm9CCH.js → dist-glvfDQXi.js} +1 -1
- package/dist-ssg/server/assets/{entry-server-C_EGBt5m.js → entry-server-D-Z6rVrS.js} +86 -89
- package/dist-ssg/server/assets/{init-Ds70MQGb.js → init-CCY3tsKc.js} +1 -1
- package/dist-ssg/server/assets/trpc-4dLqTVBm.js +3 -0
- package/dist-ssg/server/assets/webworkerAll-DVUDp5xO.js +4 -0
- package/dist-ssg/server/ssr-entry-manifest.json +24 -24
- package/package.json +3 -3
- package/dist/assets/App-BvtmL_DV.css +0 -1
- package/dist-ssg/client/assets/CanvasRenderer-BFbMT1Ul.js +0 -1
- package/dist-ssg/client/assets/WebGLRenderer-C7eR_UnH.js +0 -1
- package/dist-ssg/client/assets/WebGPURenderer-BTQYx5S7.js +0 -1
- package/dist-ssg/client/assets/browserAll-C88S5YfV.js +0 -1
- package/dist-ssg/client/assets/dist-4fNILwqh.js +0 -1
- package/dist-ssg/client/assets/dist-Cd3-dF0O.js +0 -1
- package/dist-ssg/client/assets/dist-DxTZTTY6.js +0 -1
- package/dist-ssg/client/assets/index-CrVhSCmS.css +0 -1
- package/dist-ssg/client/assets/webworkerAll-DFRsQGYS.js +0 -1
- package/dist-ssg/server/assets/CanvasRenderer-Cud3mH2M.js +0 -3
- package/dist-ssg/server/assets/WebGLRenderer-BG7MkvqA.js +0 -3
- package/dist-ssg/server/assets/WebGPURenderer--JR4o1Id.js +0 -3
- package/dist-ssg/server/assets/dist-CpgxMd46.js +0 -3
- package/dist-ssg/server/assets/dist-gfV2B0G7.js +0 -3
- package/dist-ssg/server/assets/dist-vPFtDCqy.js +0 -3
- package/dist-ssg/server/assets/trpc-DMtttD_4.js +0 -3
- package/dist-ssg/server/assets/webworkerAll-6pG_bTSk.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{it as e}from"./Geometry-B_ASJa8G.js";import{M as t,j as n}from"./index.ssg-
|
|
1
|
+
import{it as e}from"./Geometry-B_ASJa8G.js";import{M as t,j as n}from"./index.ssg-DAtF3E31.js";e.add(n),e.add(t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./jsx-runtime-BLLrG8rB.js";import{Mt as e}from"./index.ssg-
|
|
1
|
+
import"./jsx-runtime-BLLrG8rB.js";import{Mt as e}from"./index.ssg-DAtF3E31.js";export{e as trpcClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./Geometry-B_ASJa8G.js";import"./index.ssg-DAtF3E31.js";import"./init-BOhrbGmd.js";
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<script>
|
|
9
9
|
window.__OPENSPEC_BASE_PATH__ = '/'
|
|
10
10
|
</script>
|
|
11
|
-
<script type="module" crossorigin src="/assets/index.ssg-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index.ssg-DAtF3E31.js"></script>
|
|
12
12
|
<link rel="modulepreload" crossorigin href="/assets/chunk-BEqpzyXh.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="/assets/dist-B1LJ4aUx.js">
|
|
14
14
|
<link rel="modulepreload" crossorigin href="/assets/dist-xTC3A7_k.js">
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/BufferResource-5e2UtsWs.js">
|
|
20
20
|
<link rel="modulepreload" crossorigin href="/assets/ImageSource-DRiTQZHU.js">
|
|
21
21
|
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BLLrG8rB.js">
|
|
22
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
22
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CltZALZD.css">
|
|
23
23
|
</head>
|
|
24
24
|
<body>
|
|
25
25
|
<div id="root"><!--app-html--></div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { it as extensions, x as Container } from "./Geometry-jQ4l8GtP.js";
|
|
2
|
-
import { F as accessibilityTarget, I as AccessibilitySystem, N as FederatedContainer, P as EventSystem } from "./entry-server-
|
|
3
|
-
import "./init-
|
|
2
|
+
import { F as accessibilityTarget, I as AccessibilitySystem, N as FederatedContainer, P as EventSystem } from "./entry-server-D-Z6rVrS.js";
|
|
3
|
+
import "./init-CCY3tsKc.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/pixi.js@8.16.0/node_modules/pixi.js/lib/accessibility/init.mjs
|
|
5
5
|
extensions.add(AccessibilitySystem);
|
|
6
6
|
extensions.mixin(Container, accessibilityTarget);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-CBcaU1I6.js";
|
|
2
2
|
import { n as require_react, t as require_jsx_runtime } from "./jsx-runtime-CQL-l9BP.js";
|
|
3
|
-
import { $ as useAnimationsFinished, B as useAnchorPositioning, Ct as Timeout, D as Button, Dt as useOnFirstRender, Et as useIsoLayoutEffect, G as useHoverFloatingInteraction, H as useBaseUiId, J as popupStoreSelectors, K as useSyncedFloatingRootContext, L as cn, Ot as useRefWithInit, Pt as require_react_dom, Q as useOpenChangeComplete, R as inertValue, St as isHTMLElement, Tt as formatErrorMessage, U as popupStateMapping, V as adaptiveOrigin, W as useInteractions, X as useImplicitActiveTrigger, Y as PopupTriggerMap, Z as useOpenStateTransitions, _t as triggerHover, a as useOpenInteractionType, at as FloatingNode, bt as EMPTY_OBJECT, ct as useFloatingParentNodeId, dt as useId$1, et as transitionStatusMapping, ft as useStableCallback, gt as imperativeAction, i as useScrollLock, it as FloatingFocusManager, kt as X, lt as FloatingPortal, n as useToolbarRootContext, nt as createSelector, ot as FloatingTree, pt as createChangeEventDetails, q as createInitialPopupStoreState, r as InternalBackdrop, rt as useDismiss, st as useFloatingNodeId, t as COMPOSITE_KEYS, tt as ReactStore, ut as useRenderElement, wt as useOnMount, xt as getFloatingFocusElement, yt as POPUP_COLLISION_AVOIDANCE, z as getDisabledMountTransitionStyles } from "./entry-server-
|
|
3
|
+
import { $ as useAnimationsFinished, B as useAnchorPositioning, Ct as Timeout, D as Button, Dt as useOnFirstRender, Et as useIsoLayoutEffect, G as useHoverFloatingInteraction, H as useBaseUiId, J as popupStoreSelectors, K as useSyncedFloatingRootContext, L as cn, Ot as useRefWithInit, Pt as require_react_dom, Q as useOpenChangeComplete, R as inertValue, St as isHTMLElement, Tt as formatErrorMessage, U as popupStateMapping, V as adaptiveOrigin, W as useInteractions, X as useImplicitActiveTrigger, Y as PopupTriggerMap, Z as useOpenStateTransitions, _t as triggerHover, a as useOpenInteractionType, at as FloatingNode, bt as EMPTY_OBJECT, ct as useFloatingParentNodeId, dt as useId$1, et as transitionStatusMapping, ft as useStableCallback, gt as imperativeAction, i as useScrollLock, it as FloatingFocusManager, kt as X, lt as FloatingPortal, n as useToolbarRootContext, nt as createSelector, ot as FloatingTree, pt as createChangeEventDetails, q as createInitialPopupStoreState, r as InternalBackdrop, rt as useDismiss, st as useFloatingNodeId, t as COMPOSITE_KEYS, tt as ReactStore, ut as useRenderElement, wt as useOnMount, xt as getFloatingFocusElement, yt as POPUP_COLLISION_AVOIDANCE, z as getDisabledMountTransitionStyles } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.7_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useRole.js
|
|
5
5
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
6
6
|
var componentRoleToAriaRoleMap = new Map([
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { L as styleTags, Lt as parseMixed, R as tags, i as LocalTokenGroup, r as LRParser, s as LRLanguage, u as LanguageSupport } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import { r as javascriptLanguage } from "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@codemirror+lang-vue@0.1.3/node_modules/@codemirror/lang-vue/dist/index.js
|
|
5
5
|
var parser = /* @__PURE__ */ LRParser.deserialize({
|
|
6
6
|
version: 14,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { L as styleTags, Lt as parseMixed, R as tags, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import { r as javascriptLanguage } from "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@codemirror+lang-angular@0.1.4/node_modules/@codemirror/lang-angular/dist/index.js
|
|
5
5
|
var Text = 1, attributeContentSingle = 33, attributeContentDouble = 34, scriptAttributeContentSingle = 35, scriptAttributeContentDouble = 36;
|
|
6
6
|
var text = /* @__PURE__ */ new ExternalTokenizer((input) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, L as styleTags, R as tags, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, x as foldInside } from "./dist-5X8O7Rwc.js";
|
|
2
|
-
import { w as defineCSSCompletionSource } from "./entry-server-
|
|
2
|
+
import { w as defineCSSCompletionSource } from "./entry-server-D-Z6rVrS.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@codemirror+lang-less@6.0.2/node_modules/@codemirror/lang-less/dist/index.js
|
|
4
4
|
var descendantOp = 110, Unit = 1, openArgList = 2;
|
|
5
5
|
var space = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, F as syntaxTree, L as styleTags, Lt as parseMixed, R as tags, V as EditorView, ft as EditorSelection, i as LocalTokenGroup, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@codemirror+lang-jinja@6.0.0/node_modules/@codemirror/lang-jinja/dist/index.js
|
|
5
5
|
var interpolationStart = 1, commentTagStart = 2, tagStart = 3, text = 155, endrawTagStart = 4, rawText = 156;
|
|
6
6
|
function wordChar(code) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, L as styleTags, R as tags, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, x as foldInside } from "./dist-5X8O7Rwc.js";
|
|
2
|
-
import { w as defineCSSCompletionSource } from "./entry-server-
|
|
2
|
+
import { w as defineCSSCompletionSource } from "./entry-server-D-Z6rVrS.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@lezer+sass@1.1.0/node_modules/@lezer/sass/dist/index.js
|
|
4
4
|
var indent = 168, dedent = 169, descendantOp = 170, InterpolationEnd = 1, InterpolationContinue = 2, Unit = 3, callee = 171, identifier = 172, VariableName = 4, queryIdentifier = 173, InterpolationStart = 5, newline = 174, blankLineStart = 175, eof = 176, whitespace = 177, LineComment = 6, Comment = 7, IndentedMixin = 8, IndentedInclude = 9, Dialect_indented = 0;
|
|
5
5
|
var space = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, F as syntaxTree, L as styleTags, Lt as parseMixed, R as tags, V as EditorView, ft as EditorSelection, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@codemirror+lang-liquid@6.3.0/node_modules/@codemirror/lang-liquid/dist/index.js
|
|
5
5
|
var interpolationStart = 1, tagStart = 2, endTagStart = 3, text = 179, endrawTagStart = 4, rawText = 180, endcommentTagStart = 5, commentText = 181, InlineComment = 6;
|
|
6
6
|
function wordChar(code) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, L as styleTags, Lt as parseMixed, R as tags, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent, x as foldInside } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@lezer+php@1.0.5/node_modules/@lezer/php/dist/index.js
|
|
5
5
|
var castOpen = 1, HeredocString = 2, interpolatedStringContent = 275, EscapeSequence = 3, afterInterpolation = 276, automaticSemicolon = 277, eof = 278, abstract = 4, and = 5, array = 6, as = 7, Boolean = 8, _break = 9, _case = 10, _catch = 11, clone = 12, _const = 13, _continue = 14, _default = 15, declare = 16, _do = 17, echo = 18, _else = 19, elseif = 20, enddeclare = 21, endfor = 22, endforeach = 23, endif = 24, endswitch = 25, endwhile = 26, _enum = 27, _extends = 28, final = 29, _finally = 30, fn = 31, _for = 32, foreach = 33, from = 34, _function = 35, global = 36, goto = 37, _if = 38, _implements = 39, include = 40, include_once = 41, _instanceof = 42, insteadof = 43, _interface = 44, list = 45, match = 46, namespace = 47, _new = 48, _null = 49, or = 50, print = 51, readonly = 52, _require = 53, require_once = 54, _return = 55, _switch = 56, _throw = 57, trait = 58, _try = 59, unset = 60, use = 61, _var = 62, Visibility = 63;
|
|
6
6
|
var keywordMap = {
|
|
@@ -30908,7 +30908,7 @@ var NavController = class {
|
|
|
30908
30908
|
this.storageKey = scopedStorageKey;
|
|
30909
30909
|
this.rebindProjectScopedLayout(scopedStorageKey);
|
|
30910
30910
|
}
|
|
30911
|
-
const { trpcClient } = await import("./trpc-
|
|
30911
|
+
const { trpcClient } = await import("./trpc-4dLqTVBm.js");
|
|
30912
30912
|
const remote = parsePersistedLayout(await trpcClient.kv.get.query({ key: this.storageKey }));
|
|
30913
30913
|
if (remote) {
|
|
30914
30914
|
if (remote.updatedAt > this.state.updatedAt) this.dispatch({
|
|
@@ -31051,7 +31051,7 @@ var NavController = class {
|
|
|
31051
31051
|
this.cancelPersistTimer();
|
|
31052
31052
|
this.persistTimer = setTimeout(() => {
|
|
31053
31053
|
this.persistTimer = null;
|
|
31054
|
-
import("./trpc-
|
|
31054
|
+
import("./trpc-4dLqTVBm.js").then(({ trpcClient }) => trpcClient.kv.set.mutate({
|
|
31055
31055
|
key: this.storageKey,
|
|
31056
31056
|
value: {
|
|
31057
31057
|
mainTabs: this.state.mainTabs,
|
|
@@ -71099,7 +71099,7 @@ var browserExt = {
|
|
|
71099
71099
|
},
|
|
71100
71100
|
test: () => true,
|
|
71101
71101
|
load: async () => {
|
|
71102
|
-
await import("./browserAll-
|
|
71102
|
+
await import("./browserAll-BJZwRDaI.js");
|
|
71103
71103
|
}
|
|
71104
71104
|
};
|
|
71105
71105
|
//#endregion
|
|
@@ -71112,7 +71112,7 @@ var webworkerExt = {
|
|
|
71112
71112
|
},
|
|
71113
71113
|
test: () => typeof self !== "undefined" && self.WorkerGlobalScope !== void 0,
|
|
71114
71114
|
load: async () => {
|
|
71115
|
-
await import("./webworkerAll-
|
|
71115
|
+
await import("./webworkerAll-DVUDp5xO.js");
|
|
71116
71116
|
}
|
|
71117
71117
|
};
|
|
71118
71118
|
//#endregion
|
|
@@ -73706,7 +73706,7 @@ async function autoDetectRenderer(options) {
|
|
|
73706
73706
|
for (let i = 0; i < preferredOrder.length; i++) {
|
|
73707
73707
|
const rendererType = preferredOrder[i];
|
|
73708
73708
|
if (rendererType === "webgpu" && await isWebGPUSupported()) {
|
|
73709
|
-
const { WebGPURenderer } = await import("./WebGPURenderer
|
|
73709
|
+
const { WebGPURenderer } = await import("./WebGPURenderer-moX8CQUm.js");
|
|
73710
73710
|
RendererClass = WebGPURenderer;
|
|
73711
73711
|
finalOptions = {
|
|
73712
73712
|
...options,
|
|
@@ -73714,7 +73714,7 @@ async function autoDetectRenderer(options) {
|
|
|
73714
73714
|
};
|
|
73715
73715
|
break;
|
|
73716
73716
|
} else if (rendererType === "webgl" && isWebGLSupported(options.failIfMajorPerformanceCaveat ?? AbstractRenderer.defaultOptions.failIfMajorPerformanceCaveat)) {
|
|
73717
|
-
const { WebGLRenderer } = await import("./WebGLRenderer-
|
|
73717
|
+
const { WebGLRenderer } = await import("./WebGLRenderer-cfN96M_D.js");
|
|
73718
73718
|
RendererClass = WebGLRenderer;
|
|
73719
73719
|
finalOptions = {
|
|
73720
73720
|
...options,
|
|
@@ -73722,7 +73722,7 @@ async function autoDetectRenderer(options) {
|
|
|
73722
73722
|
};
|
|
73723
73723
|
break;
|
|
73724
73724
|
} else if (rendererType === "canvas") {
|
|
73725
|
-
const { CanvasRenderer } = await import("./CanvasRenderer-
|
|
73725
|
+
const { CanvasRenderer } = await import("./CanvasRenderer-k_tFIFoA.js");
|
|
73726
73726
|
RendererClass = CanvasRenderer;
|
|
73727
73727
|
finalOptions = {
|
|
73728
73728
|
...options,
|
|
@@ -97471,7 +97471,7 @@ var TerminalController = class {
|
|
|
97471
97471
|
if (this.configPersistTimer) clearTimeout(this.configPersistTimer);
|
|
97472
97472
|
this.configPersistTimer = setTimeout(() => {
|
|
97473
97473
|
this.configPersistTimer = null;
|
|
97474
|
-
import("./trpc-
|
|
97474
|
+
import("./trpc-4dLqTVBm.js").then(({ trpcClient }) => {
|
|
97475
97475
|
trpcClient.config.update.mutate({ terminal: { fontSize: this.config.fontSize } });
|
|
97476
97476
|
}).catch(() => {});
|
|
97477
97477
|
}, CONFIG_PERSIST_DEBOUNCE);
|
|
@@ -108032,7 +108032,7 @@ var languages = [
|
|
|
108032
108032
|
name: "CSS",
|
|
108033
108033
|
extensions: ["css"],
|
|
108034
108034
|
load() {
|
|
108035
|
-
return import("./dist-
|
|
108035
|
+
return import("./dist-CgFGYGuV.js").then((m) => m.css());
|
|
108036
108036
|
}
|
|
108037
108037
|
}),
|
|
108038
108038
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108052,7 +108052,7 @@ var languages = [
|
|
|
108052
108052
|
"hbs"
|
|
108053
108053
|
],
|
|
108054
108054
|
load() {
|
|
108055
|
-
return import("./dist-
|
|
108055
|
+
return import("./dist-C7cu-Ohs.js").then((m) => m.html());
|
|
108056
108056
|
}
|
|
108057
108057
|
}),
|
|
108058
108058
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108086,7 +108086,7 @@ var languages = [
|
|
|
108086
108086
|
"jinja2"
|
|
108087
108087
|
],
|
|
108088
108088
|
load() {
|
|
108089
|
-
return import("./dist-
|
|
108089
|
+
return import("./dist-CmkO24b2.js").then((m) => m.jinja());
|
|
108090
108090
|
}
|
|
108091
108091
|
}),
|
|
108092
108092
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108094,7 +108094,7 @@ var languages = [
|
|
|
108094
108094
|
alias: ["json5"],
|
|
108095
108095
|
extensions: ["json", "map"],
|
|
108096
108096
|
load() {
|
|
108097
|
-
return import("./dist-
|
|
108097
|
+
return import("./dist-Bosp3yvI.js").then((m) => m.json());
|
|
108098
108098
|
}
|
|
108099
108099
|
}),
|
|
108100
108100
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108108,14 +108108,14 @@ var languages = [
|
|
|
108108
108108
|
name: "LESS",
|
|
108109
108109
|
extensions: ["less"],
|
|
108110
108110
|
load() {
|
|
108111
|
-
return import("./dist-
|
|
108111
|
+
return import("./dist-CTDTyhyq.js").then((m) => m.less());
|
|
108112
108112
|
}
|
|
108113
108113
|
}),
|
|
108114
108114
|
/* @__PURE__ */ LanguageDescription.of({
|
|
108115
108115
|
name: "Liquid",
|
|
108116
108116
|
extensions: ["liquid"],
|
|
108117
108117
|
load() {
|
|
108118
|
-
return import("./dist-
|
|
108118
|
+
return import("./dist-FpVzh8vE.js").then((m) => m.liquid());
|
|
108119
108119
|
}
|
|
108120
108120
|
}),
|
|
108121
108121
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108132,7 +108132,7 @@ var languages = [
|
|
|
108132
108132
|
"mkd"
|
|
108133
108133
|
],
|
|
108134
108134
|
load() {
|
|
108135
|
-
return import("./dist-
|
|
108135
|
+
return import("./dist-BbKu_y6W.js").then((m) => m.markdown());
|
|
108136
108136
|
}
|
|
108137
108137
|
}),
|
|
108138
108138
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108158,7 +108158,7 @@ var languages = [
|
|
|
108158
108158
|
"phtml"
|
|
108159
108159
|
],
|
|
108160
108160
|
load() {
|
|
108161
|
-
return import("./dist-
|
|
108161
|
+
return import("./dist-glvfDQXi.js").then((m) => m.php());
|
|
108162
108162
|
}
|
|
108163
108163
|
}),
|
|
108164
108164
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108198,14 +108198,14 @@ var languages = [
|
|
|
108198
108198
|
name: "Sass",
|
|
108199
108199
|
extensions: ["sass"],
|
|
108200
108200
|
load() {
|
|
108201
|
-
return import("./dist-
|
|
108201
|
+
return import("./dist-Cxmy4PRF.js").then((m) => m.sass({ indented: true }));
|
|
108202
108202
|
}
|
|
108203
108203
|
}),
|
|
108204
108204
|
/* @__PURE__ */ LanguageDescription.of({
|
|
108205
108205
|
name: "SCSS",
|
|
108206
108206
|
extensions: ["scss"],
|
|
108207
108207
|
load() {
|
|
108208
|
-
return import("./dist-
|
|
108208
|
+
return import("./dist-Cxmy4PRF.js").then((m) => m.sass());
|
|
108209
108209
|
}
|
|
108210
108210
|
}),
|
|
108211
108211
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108272,7 +108272,7 @@ var languages = [
|
|
|
108272
108272
|
alias: ["yml"],
|
|
108273
108273
|
extensions: ["yaml", "yml"],
|
|
108274
108274
|
load() {
|
|
108275
|
-
return import("./dist-
|
|
108275
|
+
return import("./dist-DaxZJMDX.js").then((m) => m.yaml());
|
|
108276
108276
|
}
|
|
108277
108277
|
}),
|
|
108278
108278
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -109159,13 +109159,13 @@ var languages = [
|
|
|
109159
109159
|
name: "Vue",
|
|
109160
109160
|
extensions: ["vue"],
|
|
109161
109161
|
load() {
|
|
109162
|
-
return import("./dist-
|
|
109162
|
+
return import("./dist-BZbvCEXY.js").then((m) => m.vue());
|
|
109163
109163
|
}
|
|
109164
109164
|
}),
|
|
109165
109165
|
/* @__PURE__ */ LanguageDescription.of({
|
|
109166
109166
|
name: "Angular Template",
|
|
109167
109167
|
load() {
|
|
109168
|
-
return import("./dist-
|
|
109168
|
+
return import("./dist-C0TNMvo3.js").then((m) => m.angular());
|
|
109169
109169
|
}
|
|
109170
109170
|
})
|
|
109171
109171
|
];
|
|
@@ -169295,6 +169295,7 @@ function ProjectionEvidence({ activeError, archiveError, applyStatusError, rowEr
|
|
|
169295
169295
|
* 2. Share one compact/full presentation while compact Pending geometry stays fixed.
|
|
169296
169296
|
* 3. Own a 1/2/4-column container-responsive topology composed from layered lane viewports.
|
|
169297
169297
|
* 4. Preserve list continuity through motion layout transitions and stable identities.
|
|
169298
|
+
* 5. Show task counts and progress only when supplied by the CLI row projection.
|
|
169298
169299
|
*
|
|
169299
169300
|
* Original request (2026-07-28): add ReadonlyKanban to Dashboard and keep static mode objective.
|
|
169300
169301
|
* Owner correction (2026-07-28): use container queries for 4x1, 2x2, and 1x4 without horizontal scrolling.
|
|
@@ -169391,15 +169392,12 @@ function ReadonlyKanbanRow({ item, laneId, compact }) {
|
|
|
169391
169392
|
family: archived ? "archive" : "changes",
|
|
169392
169393
|
entityId: item.id
|
|
169393
169394
|
};
|
|
169394
|
-
const cli = item.cliTaskSummary
|
|
169395
|
-
const
|
|
169395
|
+
const cli = item.cliTaskSummary;
|
|
169396
|
+
const cliProgress = cli ? {
|
|
169396
169397
|
completed: cli.completedTasks,
|
|
169397
169398
|
total: cli.totalTasks
|
|
169398
|
-
} :
|
|
169399
|
-
|
|
169400
|
-
total: item.trackedTaskProgress.total
|
|
169401
|
-
};
|
|
169402
|
-
const percent = progress.total > 0 ? Math.round(progress.completed / progress.total * 100) : 0;
|
|
169399
|
+
} : null;
|
|
169400
|
+
const cliPercent = cliProgress && cliProgress.total > 0 ? Math.min(100, Math.max(0, cliProgress.completed / cliProgress.total * 100)) : 0;
|
|
169403
169401
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(VTLink, {
|
|
169404
169402
|
to: archived ? "/archive/$changeId" : "/changes/$changeId",
|
|
169405
169403
|
params: { changeId: item.id },
|
|
@@ -169429,21 +169427,21 @@ function ReadonlyKanbanRow({ item, laneId, compact }) {
|
|
|
169429
169427
|
children: archived ? formatDate(getKanbanArchiveTimestamp(item)) : item.updatedAt > 0 ? formatRelativeTime(item.updatedAt) : item.id
|
|
169430
169428
|
})]
|
|
169431
169429
|
}),
|
|
169432
|
-
!archived ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
169430
|
+
!archived && cliProgress ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
169433
169431
|
className: "text-muted-foreground shrink-0 font-mono text-[10px]",
|
|
169434
169432
|
children: [
|
|
169435
|
-
|
|
169433
|
+
cliProgress.completed,
|
|
169436
169434
|
"/",
|
|
169437
|
-
|
|
169435
|
+
cliProgress.total
|
|
169438
169436
|
]
|
|
169439
169437
|
}) : null
|
|
169440
169438
|
]
|
|
169441
|
-
}), !archived && !compact ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
169439
|
+
}), !archived && !compact && cliProgress ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
169442
169440
|
className: "bg-muted mt-2 h-1 rounded-full",
|
|
169443
169441
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(motion.div, {
|
|
169444
169442
|
className: "bg-primary h-full rounded-full",
|
|
169445
169443
|
initial: false,
|
|
169446
|
-
animate: { width: `${
|
|
169444
|
+
animate: { width: `${cliPercent}%` }
|
|
169447
169445
|
})
|
|
169448
169446
|
}) : null]
|
|
169449
169447
|
});
|
|
@@ -169803,25 +169801,18 @@ function Board() {
|
|
|
169803
169801
|
* 2. Keep the phase badge vertically centered while the time anchors the rail bottom.
|
|
169804
169802
|
* 3. Share the exact row vocabulary between the Changes list and Dashboard.
|
|
169805
169803
|
* 4. Preserve shared-element bindings for View Transition continuity.
|
|
169806
|
-
* 5.
|
|
169807
|
-
* an ambient progress signal that survives subtitle truncation on narrow viewports.
|
|
169804
|
+
* 5. Render an optional CLI Apply ratio as an ambient fill without making local tracked data authoritative.
|
|
169808
169805
|
*
|
|
169809
169806
|
* Original request (2026-08-15): Owner walkthrough: grid layout, subtitle facts, badge
|
|
169810
169807
|
* centered with time at the bottom, one atomic row component across pages.
|
|
169811
|
-
* Original request (2026-08-16): Owner walkthrough: use a soft primary fill behind the
|
|
169812
|
-
* Applying badge as a space-free progress affordance for mobile truncation.
|
|
169813
|
-
*/
|
|
169814
|
-
/**
|
|
169815
|
-
* Ambient fill layer behind the phase badge: a soft primary wash sized to the applied-task
|
|
169816
|
-
* ratio. It carries no text and claims no layout — a visual progress hint that stays
|
|
169817
|
-
* readable when the row's subtitle facts are truncated on narrow viewports.
|
|
169818
169808
|
*/
|
|
169809
|
+
/** Ambient fill behind a phase badge; the caller must derive this ratio from CLI evidence. */
|
|
169819
169810
|
function PhaseBadgeProgressFill({ ratio }) {
|
|
169820
169811
|
if (!Number.isFinite(ratio) || ratio <= 0) return null;
|
|
169821
169812
|
const clamped = Math.min(100, Math.max(0, ratio * 100));
|
|
169822
169813
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
169823
169814
|
"aria-hidden": "true",
|
|
169824
|
-
className: "bg-primary/50 pointer-events-none absolute inset-y-0 left-0
|
|
169815
|
+
className: "bg-primary/50 pointer-events-none absolute inset-y-0 left-0",
|
|
169825
169816
|
style: { width: `${clamped}%` }
|
|
169826
169817
|
});
|
|
169827
169818
|
}
|
|
@@ -169888,34 +169879,25 @@ function ChangeRowChevron() {
|
|
|
169888
169879
|
//#endregion
|
|
169889
169880
|
//#region src/lib/change-workflow-phase.ts
|
|
169890
169881
|
function classifyChangeWorkflowPhase(params) {
|
|
169891
|
-
if (
|
|
169892
|
-
label: "Unknown",
|
|
169893
|
-
toneClass: "border-border text-muted-foreground"
|
|
169894
|
-
};
|
|
169895
|
-
if (params.isPlanningComplete && params.trackedTaskPhase === "complete") return {
|
|
169896
|
-
label: "Workflow Complete",
|
|
169897
|
-
toneClass: "border-emerald-500/40 text-emerald-700 dark:text-emerald-300"
|
|
169898
|
-
};
|
|
169899
|
-
if (params.trackedArtifactStatus === "blocked") return {
|
|
169882
|
+
if (params.hasStatus && params.trackedArtifactStatus === "blocked") return {
|
|
169900
169883
|
label: "Draft",
|
|
169901
169884
|
toneClass: "border-amber-500/40 text-amber-700 dark:text-amber-300"
|
|
169902
169885
|
};
|
|
169903
|
-
if (params.
|
|
169904
|
-
label: "No Tracked Tasks",
|
|
169905
|
-
toneClass: "border-border text-muted-foreground"
|
|
169906
|
-
};
|
|
169907
|
-
const applied = params.cliCompletedTasks ?? null;
|
|
169908
|
-
if (applied !== null && applied > 0) return {
|
|
169886
|
+
if (typeof params.cliCompletedTasks === "number" && params.cliCompletedTasks > 0) return {
|
|
169909
169887
|
label: "Applying",
|
|
169910
169888
|
toneClass: "border-primary/40 text-primary"
|
|
169911
169889
|
};
|
|
169890
|
+
if (!params.hasStatus) return {
|
|
169891
|
+
label: "Unknown",
|
|
169892
|
+
toneClass: "border-border text-muted-foreground"
|
|
169893
|
+
};
|
|
169912
169894
|
if (params.isPlanningComplete) return {
|
|
169913
169895
|
label: "Planning Complete",
|
|
169914
169896
|
toneClass: "border-sky-500/40 text-sky-700 dark:text-sky-300"
|
|
169915
169897
|
};
|
|
169916
169898
|
return {
|
|
169917
|
-
label: "
|
|
169918
|
-
toneClass: "border-
|
|
169899
|
+
label: "Planning",
|
|
169900
|
+
toneClass: "border-border text-muted-foreground"
|
|
169919
169901
|
};
|
|
169920
169902
|
}
|
|
169921
169903
|
function inferTrackedArtifactStatus(artifactStatuses) {
|
|
@@ -170004,7 +169986,7 @@ function useChangeListContinuity(incomingChanges, containerRef) {
|
|
|
170004
169986
|
/**
|
|
170005
169987
|
* Orthogonal intents (updated 2026-08-15 Asia/Shanghai):
|
|
170006
169988
|
* 1. List only active Changes from the current writable Planning root.
|
|
170007
|
-
* 2. Derive
|
|
169989
|
+
* 2. Derive planning/artifact state from CLI Status and implementation progress from CLI task evidence.
|
|
170008
169990
|
* 3. Preserve ChangeList row continuity and stale display together with collision-safe detail navigation.
|
|
170009
169991
|
* 4. Keep the advanced New Change command reachable from the page header.
|
|
170010
169992
|
* 5. Defer aggregate workflow Status until a primary Change row is renderable; preserve explicit failures.
|
|
@@ -170140,10 +170122,20 @@ function ChangeList() {
|
|
|
170140
170122
|
const phase = classifyChangeWorkflowPhase({
|
|
170141
170123
|
hasStatus: Boolean(status),
|
|
170142
170124
|
isPlanningComplete: status?.isPlanningComplete ?? false,
|
|
170143
|
-
trackedTaskPhase: change.trackedTaskProgress.phase,
|
|
170144
170125
|
trackedArtifactStatus: inferTrackedArtifactStatus(status?.artifacts.map((artifact) => artifact.status) ?? []),
|
|
170145
170126
|
cliCompletedTasks: change.cliTaskSummary?.completedTasks ?? null
|
|
170146
170127
|
});
|
|
170128
|
+
const cliTaskSummary = change.cliTaskSummary;
|
|
170129
|
+
const cliProgressRatio = cliTaskSummary && cliTaskSummary.totalTasks > 0 ? cliTaskSummary.completedTasks / cliTaskSummary.totalTasks : null;
|
|
170130
|
+
const cliTaskEvidence = cliTaskSummary ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
170131
|
+
title: "Task counts reported by the OpenSpec CLI for this Change.",
|
|
170132
|
+
children: [
|
|
170133
|
+
"Tasks ",
|
|
170134
|
+
cliTaskSummary.completedTasks,
|
|
170135
|
+
"/",
|
|
170136
|
+
cliTaskSummary.totalTasks
|
|
170137
|
+
]
|
|
170138
|
+
}) : null;
|
|
170147
170139
|
const sharedDescriptor = {
|
|
170148
170140
|
family: "changes",
|
|
170149
170141
|
entityId: change.id
|
|
@@ -170171,20 +170163,19 @@ function ChangeList() {
|
|
|
170171
170163
|
phase,
|
|
170172
170164
|
updatedAt: change.updatedAt,
|
|
170173
170165
|
formatTime: formatRelativeTime,
|
|
170174
|
-
progressRatio:
|
|
170166
|
+
progressRatio: cliProgressRatio,
|
|
170175
170167
|
className: "min-w-0 flex-1",
|
|
170176
170168
|
titleProps: { ...change.id !== change.name ? {} : null },
|
|
170177
|
-
subtitle: !statusError && status ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
170178
|
-
|
|
170179
|
-
|
|
170180
|
-
|
|
170181
|
-
|
|
170182
|
-
|
|
170183
|
-
|
|
170184
|
-
|
|
170185
|
-
|
|
170186
|
-
|
|
170187
|
-
}) : !statusError && statuses === void 0 && isStatusLoading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RealtimeSkeletonLine, { className: "w-28" }) : "Workflow status unavailable"
|
|
170169
|
+
subtitle: !statusError && status ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
170170
|
+
doneArtifacts,
|
|
170171
|
+
"/",
|
|
170172
|
+
totalArtifacts,
|
|
170173
|
+
" artifacts · ",
|
|
170174
|
+
status.schemaName
|
|
170175
|
+
] }), cliTaskEvidence ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [" · ", cliTaskEvidence] }) : null] }) : !statusError && statuses === void 0 && isStatusLoading ? cliTaskEvidence ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
170176
|
+
className: "inline-flex items-center gap-1.5",
|
|
170177
|
+
children: [cliTaskEvidence, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RealtimeSkeletonLine, { className: "w-12" })]
|
|
170178
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RealtimeSkeletonLine, { className: "w-28" }) : cliTaskEvidence ?? "Workflow status unavailable"
|
|
170188
170179
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChangeRowChevron, {})]
|
|
170189
170180
|
})
|
|
170190
170181
|
}, change.id);
|
|
@@ -172409,7 +172400,7 @@ var CONFIG_GUIDE_STAGE_META = {
|
|
|
172409
172400
|
//#region src/components/config/config-guide.tsx
|
|
172410
172401
|
var ConfigGuideContext = (0, import_react.createContext)(null);
|
|
172411
172402
|
(0, import_react.lazy)(async () => {
|
|
172412
|
-
return { default: (await import("./config-guide-presentation-
|
|
172403
|
+
return { default: (await import("./config-guide-presentation-CcpWbzbF.js")).ConfigGuidePresentationLayer };
|
|
172413
172404
|
});
|
|
172414
172405
|
/** Access the root-owned adaptive Guide runtime. */
|
|
172415
172406
|
function useConfigGuide() {
|
|
@@ -177434,7 +177425,7 @@ async function refreshDashboardGitSnapshot(reason, expectedBindingToken) {
|
|
|
177434
177425
|
* 1. Render independent Dashboard projections inside stable region-owned Pending geometry.
|
|
177435
177426
|
* 2. Keep Dashboard-owned readonly Code Git refresh bound to rendered provenance and separate from Planning-root mutation authority.
|
|
177436
177427
|
* 3. Curate Code Git activity while preserving binding-token detail handoff provenance.
|
|
177437
|
-
* 4. Show
|
|
177428
|
+
* 4. Show objective planning/artifact facts plus CLI task evidence, never tracked task completion.
|
|
177438
177429
|
* 5. Retain stable regional snapshots beside their own loading, updating, and error evidence.
|
|
177439
177430
|
*
|
|
177440
177431
|
* Original request (2026-07-16): "接下来,你来接手后续工作"
|
|
@@ -177917,10 +177908,20 @@ function Dashboard() {
|
|
|
177917
177908
|
const phase = classifyChangeWorkflowPhase({
|
|
177918
177909
|
hasStatus: Boolean(status),
|
|
177919
177910
|
isPlanningComplete: status?.isPlanningComplete ?? false,
|
|
177920
|
-
trackedTaskPhase: change.trackedTaskProgress.phase,
|
|
177921
177911
|
trackedArtifactStatus,
|
|
177922
177912
|
cliCompletedTasks: change.cliTaskSummary?.completedTasks ?? null
|
|
177923
177913
|
});
|
|
177914
|
+
const cliTaskSummary = change.cliTaskSummary;
|
|
177915
|
+
const cliProgressRatio = cliTaskSummary && cliTaskSummary.totalTasks > 0 ? cliTaskSummary.completedTasks / cliTaskSummary.totalTasks : null;
|
|
177916
|
+
const cliTaskEvidence = cliTaskSummary ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
177917
|
+
title: "Task counts reported by the OpenSpec CLI for this Change.",
|
|
177918
|
+
children: [
|
|
177919
|
+
"Tasks ",
|
|
177920
|
+
cliTaskSummary.completedTasks,
|
|
177921
|
+
"/",
|
|
177922
|
+
cliTaskSummary.totalTasks
|
|
177923
|
+
]
|
|
177924
|
+
}) : null;
|
|
177924
177925
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(VTLink, {
|
|
177925
177926
|
to: "/changes/$changeId",
|
|
177926
177927
|
params: { changeId: change.id },
|
|
@@ -177950,19 +177951,15 @@ function Dashboard() {
|
|
|
177950
177951
|
phase,
|
|
177951
177952
|
updatedAt: change.updatedAt,
|
|
177952
177953
|
formatTime: formatRelativeTime,
|
|
177953
|
-
progressRatio:
|
|
177954
|
+
progressRatio: cliProgressRatio,
|
|
177954
177955
|
className: "min-w-0 flex-1",
|
|
177955
|
-
subtitle: status ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
177956
|
-
|
|
177957
|
-
|
|
177958
|
-
|
|
177959
|
-
|
|
177960
|
-
|
|
177961
|
-
|
|
177962
|
-
status.schemaName,
|
|
177963
|
-
change.cliTaskSummary ? ` · Tasks ${change.cliTaskSummary.completedTasks}/${change.cliTaskSummary.totalTasks}` : ""
|
|
177964
|
-
]
|
|
177965
|
-
}) : "Artifacts status unavailable"
|
|
177956
|
+
subtitle: status ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
177957
|
+
doneArtifacts,
|
|
177958
|
+
"/",
|
|
177959
|
+
totalArtifacts,
|
|
177960
|
+
" artifacts · ",
|
|
177961
|
+
status.schemaName
|
|
177962
|
+
] }), cliTaskEvidence ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [" · ", cliTaskEvidence] }) : null] }) : cliTaskEvidence ?? "Artifacts status unavailable"
|
|
177966
177963
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChangeRowChevron, {})]
|
|
177967
177964
|
})
|
|
177968
177965
|
}, change.id);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { it as extensions } from "./Geometry-jQ4l8GtP.js";
|
|
2
|
-
import { M as FilterPipe, j as FilterSystem } from "./entry-server-
|
|
2
|
+
import { M as FilterPipe, j as FilterSystem } from "./entry-server-D-Z6rVrS.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/pixi.js@8.16.0/node_modules/pixi.js/lib/filters/init.mjs
|
|
4
4
|
extensions.add(FilterSystem);
|
|
5
5
|
extensions.add(FilterPipe);
|