@openspecui/web 13.0.1 → 13.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-C6nQouC6.js → App-BFiJJmOe.js} +107 -107
- package/dist/assets/App-CJAg_zBM.css +1 -0
- package/dist/assets/{main-CGJ5sQ3N.js → main-DP5AA7T8.js} +2 -2
- package/dist/assets/{trpc-Cq_wSpa5.js → trpc-CoFrOhYa.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-9Cqh3Omm.js +1 -0
- package/dist-ssg/client/assets/WebGLRenderer-BuKPvwwK.js +1 -0
- package/dist-ssg/client/assets/WebGPURenderer-D--aziy9.js +1 -0
- package/dist-ssg/client/assets/browserAll-B2xWksCP.js +1 -0
- package/dist-ssg/client/assets/{config-guide-presentation-DqNeQzUr.js → config-guide-presentation-BnPXaBWb.js} +1 -1
- package/dist-ssg/client/assets/dist--Ym0xKR0.js +1 -0
- package/dist-ssg/client/assets/{dist-CaeREplI.js → dist-B-VN_V_x.js} +1 -1
- package/dist-ssg/client/assets/{dist-CY1qnMaG.js → dist-BD-45k70.js} +1 -1
- package/dist-ssg/client/assets/{dist-DImGv92l.js → dist-BRAQcINV.js} +1 -1
- package/dist-ssg/client/assets/{dist-FrX9lO7v.js → dist-BY_UBuCJ.js} +1 -1
- package/dist-ssg/client/assets/{dist-Bbhzl31A.js → dist-BpGxtKw4.js} +1 -1
- package/dist-ssg/client/assets/{dist-DvFFLa-_.js → dist-CTLF_n4x.js} +1 -1
- package/dist-ssg/client/assets/dist-CWSG-_Cm.js +1 -0
- package/dist-ssg/client/assets/{dist-CdubN8-m.js → dist-CaJDVBYQ.js} +1 -1
- package/dist-ssg/client/assets/{dist-DvI6Bh6U.js → dist-CqGjG57_.js} +1 -1
- package/dist-ssg/client/assets/{dist-BD3jMQZ6.js → dist-UdCD0Xt7.js} +1 -1
- package/dist-ssg/client/assets/dist-yI5mAB5M.js +1 -0
- package/dist-ssg/client/assets/{ghostty-web-iJUDy0Q_.js → ghostty-web-B4UZWg1Q.js} +1 -1
- package/dist-ssg/client/assets/index--tFLAZQ-.css +1 -0
- package/dist-ssg/client/assets/{index.ssg-C1gQDtR3.js → index.ssg-DNgiMN3S.js} +19 -19
- package/dist-ssg/client/assets/{init-CXOzxy8a.js → init-DFr9qeU_.js} +1 -1
- package/dist-ssg/client/assets/{trpc-DeGTgf0N.js → trpc-DyWBkNL8.js} +1 -1
- package/dist-ssg/client/assets/webworkerAll-ChxVgXMo.js +1 -0
- package/dist-ssg/client/index.ssg.html +2 -2
- package/dist-ssg/server/assets/CanvasRenderer-VdoPCddE.js +3 -0
- package/dist-ssg/server/assets/WebGLRenderer-BGWO4Aaa.js +3 -0
- package/dist-ssg/server/assets/WebGPURenderer-BBiS4Qa7.js +3 -0
- package/dist-ssg/server/assets/{browserAll-C3aU2kkg.js → browserAll-MoEM-nXs.js} +2 -2
- package/dist-ssg/server/assets/{config-guide-presentation-BQdHuc5R.js → config-guide-presentation-Cji5XRfB.js} +1 -1
- package/dist-ssg/server/assets/{dist-uLS_wgVI.js → dist-0aQeTIoi.js} +1 -1
- package/dist-ssg/server/assets/{dist-CeAwBeY0.js → dist-3qCMKg-J.js} +1 -1
- package/dist-ssg/server/assets/{dist-DVq3OitZ.js → dist-BC_SFEy1.js} +1 -1
- package/dist-ssg/server/assets/{dist-C8tud7al.js → dist-Bje3KXXQ.js} +1 -1
- package/dist-ssg/server/assets/{dist-cd39lbM_.js → dist-BysPZ53t.js} +1 -1
- package/dist-ssg/server/assets/{dist-DoPtyXvU.js → dist-C8dQw205.js} +1 -1
- package/dist-ssg/server/assets/dist-CJQNYu8f.js +3 -0
- package/dist-ssg/server/assets/dist-Cby8evAB.js +3 -0
- package/dist-ssg/server/assets/{dist-BrgApT3v.js → dist-DBlIdFv8.js} +1 -1
- package/dist-ssg/server/assets/{dist-CYFz-Xe6.js → dist-DpiAsvsU.js} +1 -1
- package/dist-ssg/server/assets/dist-J8FQ60oq.js +3 -0
- package/dist-ssg/server/assets/{dist-BuA1hNQD.js → dist-KtEgkR36.js} +1 -1
- package/dist-ssg/server/assets/{entry-server-DOzQvxeU.js → entry-server-BqIqbfZo.js} +172 -42
- package/dist-ssg/server/assets/{init-Dw3wIW5D.js → init-D4SqIz1z.js} +1 -1
- package/dist-ssg/server/assets/trpc-ui6oSp6K.js +3 -0
- package/dist-ssg/server/assets/webworkerAll-V-joRC8L.js +4 -0
- package/dist-ssg/server/ssr-entry-manifest.json +24 -24
- package/package.json +3 -3
- package/dist/assets/App-CYwWbLgm.css +0 -1
- package/dist-ssg/client/assets/CanvasRenderer-Dxe-hfnN.js +0 -1
- package/dist-ssg/client/assets/WebGLRenderer-CUJXjtiP.js +0 -1
- package/dist-ssg/client/assets/WebGPURenderer-CZL-JNBq.js +0 -1
- package/dist-ssg/client/assets/browserAll-5wBADmKd.js +0 -1
- package/dist-ssg/client/assets/dist-9A8186dQ.js +0 -1
- package/dist-ssg/client/assets/dist-BMEQqWwb.js +0 -1
- package/dist-ssg/client/assets/dist-BTKdGHSA.js +0 -1
- package/dist-ssg/client/assets/index-CMfi0IZJ.css +0 -1
- package/dist-ssg/client/assets/webworkerAll-D2PWaP7M.js +0 -1
- package/dist-ssg/server/assets/CanvasRenderer-B1MUQY2W.js +0 -3
- package/dist-ssg/server/assets/WebGLRenderer-DIOoeqKv.js +0 -3
- package/dist-ssg/server/assets/WebGPURenderer-hzdCHpRg.js +0 -3
- package/dist-ssg/server/assets/dist-DQfK_0MA.js +0 -3
- package/dist-ssg/server/assets/dist-DhIAeIAf.js +0 -3
- package/dist-ssg/server/assets/dist-wVpQUanK.js +0 -3
- package/dist-ssg/server/assets/trpc-CE2cP14O.js +0 -3
- package/dist-ssg/server/assets/webworkerAll-CMJ1pR5p.js +0 -4
|
@@ -30912,7 +30912,7 @@ var NavController = class {
|
|
|
30912
30912
|
this.storageKey = scopedStorageKey;
|
|
30913
30913
|
this.rebindProjectScopedLayout(scopedStorageKey);
|
|
30914
30914
|
}
|
|
30915
|
-
const { trpcClient } = await import("./trpc-
|
|
30915
|
+
const { trpcClient } = await import("./trpc-ui6oSp6K.js");
|
|
30916
30916
|
const remote = parsePersistedLayout(await trpcClient.kv.get.query({ key: this.storageKey }));
|
|
30917
30917
|
if (remote) {
|
|
30918
30918
|
if (remote.updatedAt > this.state.updatedAt) this.dispatch({
|
|
@@ -31055,7 +31055,7 @@ var NavController = class {
|
|
|
31055
31055
|
this.cancelPersistTimer();
|
|
31056
31056
|
this.persistTimer = setTimeout(() => {
|
|
31057
31057
|
this.persistTimer = null;
|
|
31058
|
-
import("./trpc-
|
|
31058
|
+
import("./trpc-ui6oSp6K.js").then(({ trpcClient }) => trpcClient.kv.set.mutate({
|
|
31059
31059
|
key: this.storageKey,
|
|
31060
31060
|
value: {
|
|
31061
31061
|
mainTabs: this.state.mainTabs,
|
|
@@ -38947,7 +38947,7 @@ function F$1(t) {
|
|
|
38947
38947
|
//#endregion
|
|
38948
38948
|
//#region ../core/src/cli-contracts/workflow.ts
|
|
38949
38949
|
/**
|
|
38950
|
-
* Orthogonal intents (updated 2026-09-
|
|
38950
|
+
* Orthogonal intents (updated 2026-09-26 Asia/Shanghai):
|
|
38951
38951
|
* 1. Model camelCase workflow JSON independently from Store-family JSON.
|
|
38952
38952
|
* 2. Preserve strict, archived, and bulk Validate plus Archive outcomes, including failure payloads.
|
|
38953
38953
|
* 3. Preserve multiline requirement bodies from `show --json`.
|
|
@@ -38969,14 +38969,20 @@ function F$1(t) {
|
|
|
38969
38969
|
* array as additive optional facts (absent when empty, never null): an entry carrying
|
|
38970
38970
|
* `nested` is a namespace folder, not an actionable change; `code` stays an open string
|
|
38971
38971
|
* because an in-window patch may add codes beyond `nested_change_directory`.
|
|
38972
|
+
* 10. Type the OpenSpec 1.13.2 Apply tracking-evidence members (`taskTrackingConfigured`
|
|
38973
|
+
* boolean, `unavailableTrackingFiles` `{path, reason}[]`) as additive optional success
|
|
38974
|
+
* members: 1.13.2 always emits the boolean while 1.13.0/1.13.1 (still admitted) emit
|
|
38975
|
+
* neither, so absence stays "unknown" and is never synthesized; the array is
|
|
38976
|
+
* absent-when-everything-is-readable and both stay verbatim evidence.
|
|
38972
38977
|
*
|
|
38973
38978
|
* Original request (2026-07-15): "为不同命令建立强类型适配器,不实现平行解析规则。"
|
|
38974
38979
|
* Original request (2026-07-26): "展开全面的接口升级和内核升级和测试升级。"
|
|
38975
38980
|
* Original request (2026-08-15): "v9的适配需要同时适配 1.8和1.9。"
|
|
38976
38981
|
* Original request (2026-08-28): "直接将 0.10.0 和 0.11.0 一起适配,然后发布 v11。"
|
|
38977
|
-
* Original request (2026-09-03): "Openspec 1.12.0 刚刚放出来,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree
|
|
38982
|
+
* Original request (2026-09-03): "Openspec 1.12.0 刚刚放出来,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。"
|
|
38978
38983
|
* Original request (2026-09-12): "Openspec 1.13.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。"
|
|
38979
38984
|
* Original request (2026-09-17): "Openspec 1.13.1 释放了…" — change-list nested/warnings projection (update-openspec-cli-1131 Slice 2).
|
|
38985
|
+
* Original request (2026-09-26): "Openspec 1.13.2 释放了…" — Apply tracking-evidence decode contract (update-openspec-cli-1132 Slice 2).
|
|
38980
38986
|
*/
|
|
38981
38987
|
/**
|
|
38982
38988
|
* One top-level change-list hygiene warning (OpenSpec 1.13.1 `list --json`).
|
|
@@ -39172,6 +39178,11 @@ unionType([objectType({
|
|
|
39172
39178
|
missingArtifacts: arrayType(stringType()).optional(),
|
|
39173
39179
|
missingPrerequisites: arrayType(stringType()).optional(),
|
|
39174
39180
|
warnings: arrayType(stringType()).optional(),
|
|
39181
|
+
taskTrackingConfigured: booleanType().optional(),
|
|
39182
|
+
unavailableTrackingFiles: arrayType(objectType({
|
|
39183
|
+
path: stringType(),
|
|
39184
|
+
reason: stringType()
|
|
39185
|
+
})).optional(),
|
|
39175
39186
|
instruction: stringType(),
|
|
39176
39187
|
references: arrayType(CliReferenceIndexEntrySchema).optional(),
|
|
39177
39188
|
context: stringType().optional(),
|
|
@@ -43399,7 +43410,7 @@ function createApplyInstructionProgress(input, trackedTaskProgress) {
|
|
|
43399
43410
|
//#endregion
|
|
43400
43411
|
//#region ../core/src/opsx-types.ts
|
|
43401
43412
|
/**
|
|
43402
|
-
* Orthogonal intents (updated 2026-09-
|
|
43413
|
+
* Orthogonal intents (updated 2026-09-26 Asia/Shanghai):
|
|
43403
43414
|
* 1. Publish runtime schemas for final Projection Work payloads, including transformed Apply progress.
|
|
43404
43415
|
* 2. Keep isPlanningComplete as the authoritative planning fact over any local tracked alias.
|
|
43405
43416
|
* 3. Carry CLI status evidence, diagnostics, and per-artifact requires as typed facts.
|
|
@@ -43408,10 +43419,18 @@ function createApplyInstructionProgress(input, trackedTaskProgress) {
|
|
|
43408
43419
|
* 6. Project the OpenSpec 1.13 Apply `warnings` and `missingPrerequisites` fields through the
|
|
43409
43420
|
* input and final projection schemas verbatim: optional everywhere, never defaulted to
|
|
43410
43421
|
* empty arrays, and never allowed to alter state/progress/tasks semantics.
|
|
43422
|
+
* 7. Project the OpenSpec 1.13.2 Apply tracking-evidence members (`taskTrackingConfigured`,
|
|
43423
|
+
* `unavailableTrackingFiles`) the same way: absent-when-upstream-absent (never a
|
|
43424
|
+
* synthesized `false` or empty array), verbatim evidence, never apply gating.
|
|
43425
|
+
* 8. Keep `isGlobPattern` a verbatim parity port of the pinned CLI's artifact-graph
|
|
43426
|
+
* recognition (OpenSpec 1.13.2, references/openspec/src/core/artifact-graph/outputs.ts):
|
|
43427
|
+
* original wildcards plus extglob groups and brace expansions after POSIX separator
|
|
43428
|
+
* normalization — watcher-granularity only, so dependency watching never forks upstream.
|
|
43411
43429
|
*
|
|
43412
43430
|
* Original request (2026-07-15): "为内核载荷建立强类型。"
|
|
43413
43431
|
* Original request (2026-08-15): "v9的适配需要同时适配 1.8和1.9。"
|
|
43414
43432
|
* Original request (2026-09-12): "Openspec 1.13.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。"
|
|
43433
|
+
* Original request (2026-09-26): "Openspec 1.13.2 释放了…" — tracking-evidence projection + glob-recognition watcher parity (update-openspec-cli-1132 Slice 2).
|
|
43415
43434
|
*/
|
|
43416
43435
|
/** Runtime schema for one JSON value retained from a CLI Status stdout document. */
|
|
43417
43436
|
var OpsxCliJsonValueSchema = lazyType(() => unionType([
|
|
@@ -43507,6 +43526,11 @@ var ApplyInstructionsInputSchema = objectType({
|
|
|
43507
43526
|
missingArtifacts: arrayType(stringType()).optional(),
|
|
43508
43527
|
missingPrerequisites: arrayType(stringType()).optional(),
|
|
43509
43528
|
warnings: arrayType(stringType()).optional(),
|
|
43529
|
+
taskTrackingConfigured: booleanType().optional(),
|
|
43530
|
+
unavailableTrackingFiles: arrayType(objectType({
|
|
43531
|
+
path: stringType(),
|
|
43532
|
+
reason: stringType()
|
|
43533
|
+
})).optional(),
|
|
43510
43534
|
instruction: stringType(),
|
|
43511
43535
|
references: arrayType(CliReferenceIndexEntrySchema).optional(),
|
|
43512
43536
|
context: stringType().optional(),
|
|
@@ -43558,6 +43582,11 @@ var ApplyInstructionsProjectionSchema = objectType({
|
|
|
43558
43582
|
missingArtifacts: arrayType(stringType()).optional(),
|
|
43559
43583
|
missingPrerequisites: arrayType(stringType()).optional(),
|
|
43560
43584
|
warnings: arrayType(stringType()).optional(),
|
|
43585
|
+
taskTrackingConfigured: booleanType().optional(),
|
|
43586
|
+
unavailableTrackingFiles: arrayType(objectType({
|
|
43587
|
+
path: stringType(),
|
|
43588
|
+
reason: stringType()
|
|
43589
|
+
})).optional(),
|
|
43561
43590
|
instruction: stringType(),
|
|
43562
43591
|
references: arrayType(CliReferenceIndexEntrySchema).optional(),
|
|
43563
43592
|
context: stringType().optional(),
|
|
@@ -71396,7 +71425,7 @@ var browserExt = {
|
|
|
71396
71425
|
},
|
|
71397
71426
|
test: () => true,
|
|
71398
71427
|
load: async () => {
|
|
71399
|
-
await import("./browserAll-
|
|
71428
|
+
await import("./browserAll-MoEM-nXs.js");
|
|
71400
71429
|
}
|
|
71401
71430
|
};
|
|
71402
71431
|
//#endregion
|
|
@@ -71409,7 +71438,7 @@ var webworkerExt = {
|
|
|
71409
71438
|
},
|
|
71410
71439
|
test: () => typeof self !== "undefined" && self.WorkerGlobalScope !== void 0,
|
|
71411
71440
|
load: async () => {
|
|
71412
|
-
await import("./webworkerAll-
|
|
71441
|
+
await import("./webworkerAll-V-joRC8L.js");
|
|
71413
71442
|
}
|
|
71414
71443
|
};
|
|
71415
71444
|
//#endregion
|
|
@@ -74003,7 +74032,7 @@ async function autoDetectRenderer(options) {
|
|
|
74003
74032
|
for (let i = 0; i < preferredOrder.length; i++) {
|
|
74004
74033
|
const rendererType = preferredOrder[i];
|
|
74005
74034
|
if (rendererType === "webgpu" && await isWebGPUSupported()) {
|
|
74006
|
-
const { WebGPURenderer } = await import("./WebGPURenderer-
|
|
74035
|
+
const { WebGPURenderer } = await import("./WebGPURenderer-BBiS4Qa7.js");
|
|
74007
74036
|
RendererClass = WebGPURenderer;
|
|
74008
74037
|
finalOptions = {
|
|
74009
74038
|
...options,
|
|
@@ -74011,7 +74040,7 @@ async function autoDetectRenderer(options) {
|
|
|
74011
74040
|
};
|
|
74012
74041
|
break;
|
|
74013
74042
|
} else if (rendererType === "webgl" && isWebGLSupported(options.failIfMajorPerformanceCaveat ?? AbstractRenderer.defaultOptions.failIfMajorPerformanceCaveat)) {
|
|
74014
|
-
const { WebGLRenderer } = await import("./WebGLRenderer-
|
|
74043
|
+
const { WebGLRenderer } = await import("./WebGLRenderer-BGWO4Aaa.js");
|
|
74015
74044
|
RendererClass = WebGLRenderer;
|
|
74016
74045
|
finalOptions = {
|
|
74017
74046
|
...options,
|
|
@@ -74019,7 +74048,7 @@ async function autoDetectRenderer(options) {
|
|
|
74019
74048
|
};
|
|
74020
74049
|
break;
|
|
74021
74050
|
} else if (rendererType === "canvas") {
|
|
74022
|
-
const { CanvasRenderer } = await import("./CanvasRenderer-
|
|
74051
|
+
const { CanvasRenderer } = await import("./CanvasRenderer-VdoPCddE.js");
|
|
74023
74052
|
RendererClass = CanvasRenderer;
|
|
74024
74053
|
finalOptions = {
|
|
74025
74054
|
...options,
|
|
@@ -97768,7 +97797,7 @@ var TerminalController = class {
|
|
|
97768
97797
|
if (this.configPersistTimer) clearTimeout(this.configPersistTimer);
|
|
97769
97798
|
this.configPersistTimer = setTimeout(() => {
|
|
97770
97799
|
this.configPersistTimer = null;
|
|
97771
|
-
import("./trpc-
|
|
97800
|
+
import("./trpc-ui6oSp6K.js").then(({ trpcClient }) => {
|
|
97772
97801
|
trpcClient.config.update.mutate({ terminal: { fontSize: this.config.fontSize } });
|
|
97773
97802
|
}).catch(() => {});
|
|
97774
97803
|
}, CONFIG_PERSIST_DEBOUNCE);
|
|
@@ -108329,7 +108358,7 @@ var languages = [
|
|
|
108329
108358
|
name: "CSS",
|
|
108330
108359
|
extensions: ["css"],
|
|
108331
108360
|
load() {
|
|
108332
|
-
return import("./dist-
|
|
108361
|
+
return import("./dist-Cby8evAB.js").then((m) => m.css());
|
|
108333
108362
|
}
|
|
108334
108363
|
}),
|
|
108335
108364
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108349,7 +108378,7 @@ var languages = [
|
|
|
108349
108378
|
"hbs"
|
|
108350
108379
|
],
|
|
108351
108380
|
load() {
|
|
108352
|
-
return import("./dist-
|
|
108381
|
+
return import("./dist-DpiAsvsU.js").then((m) => m.html());
|
|
108353
108382
|
}
|
|
108354
108383
|
}),
|
|
108355
108384
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108383,7 +108412,7 @@ var languages = [
|
|
|
108383
108412
|
"jinja2"
|
|
108384
108413
|
],
|
|
108385
108414
|
load() {
|
|
108386
|
-
return import("./dist-
|
|
108415
|
+
return import("./dist-C8dQw205.js").then((m) => m.jinja());
|
|
108387
108416
|
}
|
|
108388
108417
|
}),
|
|
108389
108418
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108391,7 +108420,7 @@ var languages = [
|
|
|
108391
108420
|
alias: ["json5"],
|
|
108392
108421
|
extensions: ["json", "map"],
|
|
108393
108422
|
load() {
|
|
108394
|
-
return import("./dist-
|
|
108423
|
+
return import("./dist-CJQNYu8f.js").then((m) => m.json());
|
|
108395
108424
|
}
|
|
108396
108425
|
}),
|
|
108397
108426
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108405,14 +108434,14 @@ var languages = [
|
|
|
108405
108434
|
name: "LESS",
|
|
108406
108435
|
extensions: ["less"],
|
|
108407
108436
|
load() {
|
|
108408
|
-
return import("./dist-
|
|
108437
|
+
return import("./dist-3qCMKg-J.js").then((m) => m.less());
|
|
108409
108438
|
}
|
|
108410
108439
|
}),
|
|
108411
108440
|
/* @__PURE__ */ LanguageDescription.of({
|
|
108412
108441
|
name: "Liquid",
|
|
108413
108442
|
extensions: ["liquid"],
|
|
108414
108443
|
load() {
|
|
108415
|
-
return import("./dist-
|
|
108444
|
+
return import("./dist-Bje3KXXQ.js").then((m) => m.liquid());
|
|
108416
108445
|
}
|
|
108417
108446
|
}),
|
|
108418
108447
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108429,7 +108458,7 @@ var languages = [
|
|
|
108429
108458
|
"mkd"
|
|
108430
108459
|
],
|
|
108431
108460
|
load() {
|
|
108432
|
-
return import("./dist-
|
|
108461
|
+
return import("./dist-BC_SFEy1.js").then((m) => m.markdown());
|
|
108433
108462
|
}
|
|
108434
108463
|
}),
|
|
108435
108464
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108455,7 +108484,7 @@ var languages = [
|
|
|
108455
108484
|
"phtml"
|
|
108456
108485
|
],
|
|
108457
108486
|
load() {
|
|
108458
|
-
return import("./dist-
|
|
108487
|
+
return import("./dist-KtEgkR36.js").then((m) => m.php());
|
|
108459
108488
|
}
|
|
108460
108489
|
}),
|
|
108461
108490
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108495,14 +108524,14 @@ var languages = [
|
|
|
108495
108524
|
name: "Sass",
|
|
108496
108525
|
extensions: ["sass"],
|
|
108497
108526
|
load() {
|
|
108498
|
-
return import("./dist-
|
|
108527
|
+
return import("./dist-0aQeTIoi.js").then((m) => m.sass({ indented: true }));
|
|
108499
108528
|
}
|
|
108500
108529
|
}),
|
|
108501
108530
|
/* @__PURE__ */ LanguageDescription.of({
|
|
108502
108531
|
name: "SCSS",
|
|
108503
108532
|
extensions: ["scss"],
|
|
108504
108533
|
load() {
|
|
108505
|
-
return import("./dist-
|
|
108534
|
+
return import("./dist-0aQeTIoi.js").then((m) => m.sass());
|
|
108506
108535
|
}
|
|
108507
108536
|
}),
|
|
108508
108537
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108569,7 +108598,7 @@ var languages = [
|
|
|
108569
108598
|
alias: ["yml"],
|
|
108570
108599
|
extensions: ["yaml", "yml"],
|
|
108571
108600
|
load() {
|
|
108572
|
-
return import("./dist-
|
|
108601
|
+
return import("./dist-J8FQ60oq.js").then((m) => m.yaml());
|
|
108573
108602
|
}
|
|
108574
108603
|
}),
|
|
108575
108604
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -109456,13 +109485,13 @@ var languages = [
|
|
|
109456
109485
|
name: "Vue",
|
|
109457
109486
|
extensions: ["vue"],
|
|
109458
109487
|
load() {
|
|
109459
|
-
return import("./dist-
|
|
109488
|
+
return import("./dist-BysPZ53t.js").then((m) => m.vue());
|
|
109460
109489
|
}
|
|
109461
109490
|
}),
|
|
109462
109491
|
/* @__PURE__ */ LanguageDescription.of({
|
|
109463
109492
|
name: "Angular Template",
|
|
109464
109493
|
load() {
|
|
109465
|
-
return import("./dist-
|
|
109494
|
+
return import("./dist-DBlIdFv8.js").then((m) => m.angular());
|
|
109466
109495
|
}
|
|
109467
109496
|
})
|
|
109468
109497
|
];
|
|
@@ -156255,15 +156284,31 @@ function MarkdownFilesContent({ components, files, emptyMessage, translationConf
|
|
|
156255
156284
|
//#endregion
|
|
156256
156285
|
//#region src/components/opsx/artifact-output-viewer.tsx
|
|
156257
156286
|
/**
|
|
156258
|
-
* Orthogonal intents (updated 2026-
|
|
156287
|
+
* Orthogonal intents (updated 2026-09-26 Asia/Shanghai):
|
|
156259
156288
|
* 1. Render single-file and glob artifact output from the current OPSX projection.
|
|
156260
156289
|
* 2. Preserve schema-provided artifact fallbacks and document translation configuration.
|
|
156261
156290
|
* 3. Distinguish initial output admission, missing output, and intentionally skipped non-output.
|
|
156291
|
+
* 4. Classify artifact outputs with the widened OpenSpec 1.13.2 glob syntax (brace/extglob),
|
|
156292
|
+
* mirroring the core `isGlobPattern` owner verbatim (subpath unification is recorded debt).
|
|
156262
156293
|
*
|
|
156263
156294
|
* Original request (2026-07-27): "统一修复所有类似的问题(我们也没不多,各个页面都检查一下,特别是app 那边新增的页面)"
|
|
156264
|
-
|
|
156295
|
+
* Original request (2026-09-26): "Openspec 1.13.2 释放了…" — brace/extglob outputs render as glob content (update-openspec-cli-1132 Slice 2 fold).
|
|
156296
|
+
*/
|
|
156297
|
+
var EXTGLOB_RE = /[!*+?@]\([^(]*\)/u;
|
|
156298
|
+
var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./u;
|
|
156299
|
+
function hasBraceExpansion(pattern) {
|
|
156300
|
+
const openings = [];
|
|
156301
|
+
for (let index = 0; index < pattern.length; index += 1) {
|
|
156302
|
+
if (pattern[index] === "{") openings.push(index);
|
|
156303
|
+
if (pattern[index] !== "}") continue;
|
|
156304
|
+
const opening = openings.pop();
|
|
156305
|
+
if (opening !== void 0 && BRACE_EXPANSION_SEPARATORS_RE.test(pattern.slice(opening, index))) return true;
|
|
156306
|
+
}
|
|
156307
|
+
return false;
|
|
156308
|
+
}
|
|
156265
156309
|
function isGlobPattern(pattern) {
|
|
156266
|
-
|
|
156310
|
+
const normalized = pattern.replaceAll("\\", "/");
|
|
156311
|
+
return normalized.includes("*") || normalized.includes("?") || normalized.includes("[") || EXTGLOB_RE.test(normalized) || hasBraceExpansion(normalized);
|
|
156267
156312
|
}
|
|
156268
156313
|
function ArtifactOutputDocumentShell({ artifact, children }) {
|
|
156269
156314
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OpsxArtifactDocumentShell, {
|
|
@@ -170367,6 +170412,7 @@ function useChangeListContinuity(incomingChanges, containerRef) {
|
|
|
170367
170412
|
* Original request (2026-09-12): Owner walkthrough: unify the Change display title — generic
|
|
170368
170413
|
* "# Proposal" headings fall back to the change id on every surface.
|
|
170369
170414
|
* Original request (2026-09-17): "Openspec 1.13.1 释放了…" — change-list nested/warnings projection (update-openspec-cli-1131 Slice 2).
|
|
170415
|
+
* Original request (2026-09-27): Owner walkthrough P3 adjudication — No tasks presentation for the CLI no-tasks status.
|
|
170370
170416
|
*/
|
|
170371
170417
|
function buildStatusMap(statuses) {
|
|
170372
170418
|
return new Map((statuses ?? []).map((status) => [status.changeName, status]));
|
|
@@ -170550,7 +170596,12 @@ function ChangeList() {
|
|
|
170550
170596
|
});
|
|
170551
170597
|
const cliTaskSummary = change.cliTaskSummary;
|
|
170552
170598
|
const cliProgressRatio = cliTaskSummary && cliTaskSummary.totalTasks > 0 ? cliTaskSummary.completedTasks / cliTaskSummary.totalTasks : null;
|
|
170553
|
-
const
|
|
170599
|
+
const cliNoTasks = cliTaskSummary?.status === "no-tasks" && cliTaskSummary.totalTasks === 0;
|
|
170600
|
+
const cliTaskEvidence = cliTaskSummary ? cliNoTasks ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
170601
|
+
className: "text-muted-foreground",
|
|
170602
|
+
title: "The OpenSpec CLI reports no tasks for this Change (no apply.tracks, or an empty tracked task list).",
|
|
170603
|
+
children: "No tasks"
|
|
170604
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
170554
170605
|
title: "Task counts reported by the OpenSpec CLI for this Change.",
|
|
170555
170606
|
children: [
|
|
170556
170607
|
"Tasks ",
|
|
@@ -171628,7 +171679,7 @@ function EvidenceDisclosure({ title, children, summary, defaultOpen = false, cla
|
|
|
171628
171679
|
//#endregion
|
|
171629
171680
|
//#region src/components/apply-progress-notice.tsx
|
|
171630
171681
|
/**
|
|
171631
|
-
* Orthogonal intents (updated 2026-09-
|
|
171682
|
+
* Orthogonal intents (updated 2026-09-26 Asia/Shanghai):
|
|
171632
171683
|
* 1. Attribute Apply instruction counts to the upstream Apply command.
|
|
171633
171684
|
* 2. Compress agreement to one subtitle badge; keep divergence a direct blocker.
|
|
171634
171685
|
* 3. Keep divergence's two objective source counts side by side with their causes.
|
|
@@ -171641,6 +171692,14 @@ function EvidenceDisclosure({ title, children, summary, defaultOpen = false, cla
|
|
|
171641
171692
|
* semantics), including when the Apply state is already `ready`.
|
|
171642
171693
|
* 7. Degrade to the previous presentation when either 1.13 field is absent — absent keys
|
|
171643
171694
|
* are the upstream encoding for "none", so no empty state is ever synthesized.
|
|
171695
|
+
* 8. Render the OpenSpec 1.13.2 tracking evidence on the same direct plane: one amber
|
|
171696
|
+
* evidence line per unreadable `{path, reason}` with the same status semantics as the
|
|
171697
|
+
* warnings area, a compact note when the schema tracks no tasks (empty tasks are not
|
|
171698
|
+
* missing evidence), and nothing extra when both members are absent — absence is
|
|
171699
|
+
* "unknown (pre-1.13.2 CLI)", never a fabricated 0/0 or unavailable claim.
|
|
171700
|
+
* 9. Degrade, never hide, the subtitle badge's CLI numbers when the schema tracks no tasks:
|
|
171701
|
+
* `taskTrackingConfigured === false` lowers the badge's visual weight and appends the
|
|
171702
|
+
* qualification to its accessible name and tooltip; the numbers stay CLI-owned verbatim.
|
|
171644
171703
|
*
|
|
171645
171704
|
* Original request (2026-07-15): "与 tracked glob 进度分歧时各自归因展示。"
|
|
171646
171705
|
* Original request (2026-07-28): supporting 6.x evidence should use Badge + Tooltip or Accordion.
|
|
@@ -171649,6 +171708,9 @@ function EvidenceDisclosure({ title, children, summary, defaultOpen = false, cla
|
|
|
171649
171708
|
* Original request (2026-09-12): "Openspec 1.13.0 释放了,你更新一下,调查变更内容,然后开始规划适配工作,我们将用标准工作流worktree来推进。让 codex 参与。"
|
|
171650
171709
|
* Original request (2026-09-12): Owner walkthrough: the always-expanded warning/build-order blocks
|
|
171651
171710
|
* consumed the page; collapse them behind one summary row while keeping direct-plane discovery.
|
|
171711
|
+
* Original request (2026-09-26): "Openspec 1.13.2 释放了…" — tracking-evidence surface (update-openspec-cli-1132 Slice 2).
|
|
171712
|
+
* Original request (2026-09-27): Owner walkthrough P3 adjudication — badge/list no-tracking count
|
|
171713
|
+
* presentation (clarify-no-tracking-task-counts).
|
|
171652
171714
|
*/
|
|
171653
171715
|
/**
|
|
171654
171716
|
* One compact, source-attributed Apply progress badge for the Change subtitle row.
|
|
@@ -171656,11 +171718,13 @@ function EvidenceDisclosure({ title, children, summary, defaultOpen = false, cla
|
|
|
171656
171718
|
* this stays rendered whenever instructions exist — agreement is not a reason to hide the
|
|
171657
171719
|
* CLI's own count, but it needs no separate block.
|
|
171658
171720
|
*/
|
|
171659
|
-
function ApplyProgressBadge({ applyInstructionProgress }) {
|
|
171721
|
+
function ApplyProgressBadge({ applyInstructionProgress, taskTrackingConfigured }) {
|
|
171660
171722
|
const { complete, total, remaining } = applyInstructionProgress;
|
|
171723
|
+
const untracked = taskTrackingConfigured === false;
|
|
171661
171724
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(InformationBadge, {
|
|
171662
|
-
ariaLabel: `Apply instructions progress ${complete} of ${total}`,
|
|
171663
|
-
tooltip: `Progress reported by openspec instructions apply — ${complete} of ${total} tasks applied, ${remaining} remaining.`,
|
|
171725
|
+
ariaLabel: `Apply instructions progress ${complete} of ${total}${untracked ? "; schema tracks no tasks" : ""}`,
|
|
171726
|
+
tooltip: untracked ? `Progress reported by openspec instructions apply — ${complete} of ${total} tasks applied, ${remaining} remaining. The schema sets no apply.tracks, so 0 of 0 is not incomplete work.` : `Progress reported by openspec instructions apply — ${complete} of ${total} tasks applied, ${remaining} remaining.`,
|
|
171727
|
+
className: untracked ? "opacity-75" : void 0,
|
|
171664
171728
|
children: [
|
|
171665
171729
|
"Apply ",
|
|
171666
171730
|
complete,
|
|
@@ -171676,16 +171740,21 @@ var GUIDANCE_DETAIL_ID = "apply-readiness-guidance-detail";
|
|
|
171676
171740
|
* Render the Apply/tracked divergence as one direct, source-attributed blocker, plus the
|
|
171677
171741
|
* OpenSpec 1.13 `warnings` and `missingPrerequisites` evidence as one collapsible summary row:
|
|
171678
171742
|
* the row itself names the warning count and the build-order chain (discovery needs no hover),
|
|
171679
|
-
* and expanding reveals the verbatim upstream evidence on the same direct plane.
|
|
171743
|
+
* and expanding reveals the verbatim upstream evidence on the same direct plane. The OpenSpec
|
|
171744
|
+
* 1.13.2 tracking evidence rides the same plane: unreadable tracking files render one amber
|
|
171745
|
+
* evidence line each (path + verbatim reason) and a no-tracking schema renders a compact note
|
|
171746
|
+
* so its empty task list is never read as missing evidence.
|
|
171680
171747
|
* Returns null when none apply — the agreement case lives in the subtitle badge row via
|
|
171681
|
-
* {@link ApplyProgressBadge}, and absent
|
|
171748
|
+
* {@link ApplyProgressBadge}, and absent upstream keys render nothing.
|
|
171682
171749
|
*/
|
|
171683
|
-
function ApplyProgressNotice({ applyInstructionProgress, warnings, missingPrerequisites }) {
|
|
171750
|
+
function ApplyProgressNotice({ applyInstructionProgress, warnings, missingPrerequisites, taskTrackingConfigured, unavailableTrackingFiles }) {
|
|
171684
171751
|
const divergence = applyInstructionProgress.divergence;
|
|
171685
171752
|
const hasWarnings = (warnings?.length ?? 0) > 0;
|
|
171686
171753
|
const hasPrerequisites = (missingPrerequisites?.length ?? 0) > 0;
|
|
171754
|
+
const hasUnavailableTracking = (unavailableTrackingFiles?.length ?? 0) > 0;
|
|
171755
|
+
const tracksNoTasks = taskTrackingConfigured === false;
|
|
171687
171756
|
const [expanded, setExpanded] = (0, import_react.useState)(false);
|
|
171688
|
-
if (!divergence && !hasWarnings && !hasPrerequisites) return null;
|
|
171757
|
+
if (!divergence && !hasWarnings && !hasPrerequisites && !hasUnavailableTracking && !tracksNoTasks) return null;
|
|
171689
171758
|
const guidanceSummaryParts = [];
|
|
171690
171759
|
if (hasWarnings) {
|
|
171691
171760
|
const count = warnings.length;
|
|
@@ -171764,6 +171833,55 @@ function ApplyProgressNotice({ applyInstructionProgress, warnings, missingPrereq
|
|
|
171764
171833
|
})]
|
|
171765
171834
|
}) : null]
|
|
171766
171835
|
}) : null,
|
|
171836
|
+
hasUnavailableTracking ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
171837
|
+
role: "status",
|
|
171838
|
+
"data-apply-notice": "tracking-unavailable",
|
|
171839
|
+
"aria-label": `Apply tracking evidence unavailable from ${APPLY_COMMAND_ATTRIBUTION}`,
|
|
171840
|
+
className: "flex min-w-0 items-start gap-2 border border-amber-300 bg-amber-50 px-3 py-2 text-xs text-amber-950 dark:border-amber-700 dark:bg-amber-950/40 dark:text-amber-100",
|
|
171841
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TriangleAlert, {
|
|
171842
|
+
className: "mt-0.5 h-4 w-4 shrink-0",
|
|
171843
|
+
"aria-hidden": "true"
|
|
171844
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
171845
|
+
className: "min-w-0 space-y-1",
|
|
171846
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
171847
|
+
className: "font-medium",
|
|
171848
|
+
children: ["Tracking evidence unavailable — reported by ", APPLY_COMMAND_ATTRIBUTION]
|
|
171849
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
|
|
171850
|
+
className: "space-y-1",
|
|
171851
|
+
children: unavailableTrackingFiles?.map((file) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
|
|
171852
|
+
className: "min-w-0 space-y-0.5",
|
|
171853
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
171854
|
+
className: "break-words rounded border border-amber-400/60 bg-amber-100/60 px-1 py-0.5 font-mono [overflow-wrap:anywhere] dark:border-amber-800 dark:bg-amber-900/40",
|
|
171855
|
+
children: file.path
|
|
171856
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
171857
|
+
className: "break-words [overflow-wrap:anywhere]",
|
|
171858
|
+
children: file.reason
|
|
171859
|
+
})]
|
|
171860
|
+
}, file.path))
|
|
171861
|
+
})]
|
|
171862
|
+
})]
|
|
171863
|
+
}) : null,
|
|
171864
|
+
tracksNoTasks ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
171865
|
+
role: "status",
|
|
171866
|
+
"data-apply-notice": "no-tracking",
|
|
171867
|
+
"aria-label": "Apply task tracking not configured",
|
|
171868
|
+
className: "text-muted-foreground flex min-w-0 items-center gap-2 rounded-md border px-3 py-1.5 text-xs",
|
|
171869
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Info$1, {
|
|
171870
|
+
className: "h-4 w-4 shrink-0",
|
|
171871
|
+
"aria-hidden": "true"
|
|
171872
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
171873
|
+
className: "min-w-0",
|
|
171874
|
+
children: [
|
|
171875
|
+
"Schema tracks no tasks (no ",
|
|
171876
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
171877
|
+
className: "font-mono",
|
|
171878
|
+
children: "apply.tracks"
|
|
171879
|
+
}),
|
|
171880
|
+
" configured) — an empty task list is not missing evidence — ",
|
|
171881
|
+
APPLY_COMMAND_ATTRIBUTION
|
|
171882
|
+
]
|
|
171883
|
+
})]
|
|
171884
|
+
}) : null,
|
|
171767
171885
|
divergence ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
171768
171886
|
role: "status",
|
|
171769
171887
|
"data-apply-notice": "divergence",
|
|
@@ -171820,6 +171938,7 @@ function ApplyProgressNotice({ applyInstructionProgress, warnings, missingPrereq
|
|
|
171820
171938
|
* Owner correction (2026-08-03): unify Change scan Tooltips in the subtitle and keep failures below the Header.
|
|
171821
171939
|
* Original request (2026-08-15): Owner walkthrough: merge Apply progress into the subtitle badge row.
|
|
171822
171940
|
* Original request (2026-08-15): 刷新/解析中的 lifecycle 锁收敛为副标题行内的 shiny 徽章 + Tooltip。
|
|
171941
|
+
* Original request (2026-09-27): Owner walkthrough P3 adjudication — taskTrackingConfigured passthrough to the apply badge.
|
|
171823
171942
|
*/
|
|
171824
171943
|
function summarizeReferences(references) {
|
|
171825
171944
|
return references.reduce((counts, reference) => {
|
|
@@ -171840,7 +171959,7 @@ function referenceErrorLabels(references) {
|
|
|
171840
171959
|
});
|
|
171841
171960
|
}
|
|
171842
171961
|
/** Compact source-attributed facts that share the Change Header subtitle. */
|
|
171843
|
-
function ChangeContextSummary({ status, referenceEvidence, applyInstructionProgress, statusRefreshing = null, rootChecking = null }) {
|
|
171962
|
+
function ChangeContextSummary({ status, referenceEvidence, applyInstructionProgress, taskTrackingConfigured, statusRefreshing = null, rootChecking = null }) {
|
|
171844
171963
|
const provenance = status.provenance;
|
|
171845
171964
|
const references = referenceEvidence.state === "unavailable" ? null : referenceEvidence.references;
|
|
171846
171965
|
const referenceCounts = references ? summarizeReferences(references) : null;
|
|
@@ -171866,7 +171985,10 @@ function ChangeContextSummary({ status, referenceEvidence, applyInstructionProgr
|
|
|
171866
171985
|
" artifacts"
|
|
171867
171986
|
]
|
|
171868
171987
|
}),
|
|
171869
|
-
applyInstructionProgress ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ApplyProgressBadge, {
|
|
171988
|
+
applyInstructionProgress ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ApplyProgressBadge, {
|
|
171989
|
+
applyInstructionProgress,
|
|
171990
|
+
taskTrackingConfigured
|
|
171991
|
+
}) : null,
|
|
171870
171992
|
provenance.kind === "static" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(InformationBadge, {
|
|
171871
171993
|
ariaLabel: "Static Change context has no live backend provenance",
|
|
171872
171994
|
tooltip: "CLI Change context is unavailable in this static snapshot.",
|
|
@@ -173856,7 +173978,7 @@ function RootActionNotice({ state }) {
|
|
|
173856
173978
|
//#endregion
|
|
173857
173979
|
//#region src/routes/change-view.tsx
|
|
173858
173980
|
/**
|
|
173859
|
-
* Orthogonal intents (updated 2026-09-
|
|
173981
|
+
* Orthogonal intents (updated 2026-09-26 Asia/Shanghai):
|
|
173860
173982
|
* 1. Render schema-aware change artifacts and source files while retaining terminal status errors.
|
|
173861
173983
|
* 2. Dispatch change workflows through routed compose/verify surfaces and the shared Operator launcher.
|
|
173862
173984
|
* 3. Lock every change workflow action behind current Root Context and Status projection authority.
|
|
@@ -173864,6 +173986,9 @@ function RootActionNotice({ state }) {
|
|
|
173864
173986
|
* 5. Keep compact Change facts in subtitle badges while routing complete CLI evidence through a dedicated tab.
|
|
173865
173987
|
* 6. Mount the container-responsive list-detail Evidence workspace as the sole Evidence tab surface.
|
|
173866
173988
|
* 7. Mount OpenSpec 1.13 Apply warnings and the build-order chain on the direct status plane.
|
|
173989
|
+
* 8. Mount OpenSpec 1.13.2 Apply tracking evidence on the same plane: unreadable tracking
|
|
173990
|
+
* files and no-tracking schemas (`taskTrackingConfigured === false`) mount the status
|
|
173991
|
+
* region and reach the notice, while absent members keep the pre-1.13.2 presentation.
|
|
173867
173992
|
*
|
|
173868
173993
|
* Original request (2026-07-15): "Root-dependent actions remain locked until root selection succeeds."
|
|
173869
173994
|
* Review request (2026-07-23): "代码已经提交,开始review。如果有问题,那么可更新change。"
|
|
@@ -173881,6 +174006,8 @@ function RootActionNotice({ state }) {
|
|
|
173881
174006
|
* headings fall back to the change id) and collapse Apply readiness guidance into one summary row.
|
|
173882
174007
|
* — the status region gains the OpenSpec 1.13 Apply `warnings` and `missingPrerequisites`
|
|
173883
174008
|
* direct-plane evidence beside the existing divergence notice.
|
|
174009
|
+
* Original request (2026-09-26): "Openspec 1.13.2 释放了…" — tracking-evidence direct-plane mounting (update-openspec-cli-1132 Slice 2).
|
|
174010
|
+
* Original request (2026-09-27): Owner walkthrough P3 adjudication — badge receives taskTrackingConfigured.
|
|
173884
174011
|
*/
|
|
173885
174012
|
function ChangeView() {
|
|
173886
174013
|
const { changeId } = useParams({ from: "/changes/$changeId" });
|
|
@@ -173963,7 +174090,7 @@ function ChangeView() {
|
|
|
173963
174090
|
})
|
|
173964
174091
|
}] : [], [referenceEvidence, status]);
|
|
173965
174092
|
const hasReferenceFailures = referenceEvidence.state !== "unavailable" && referenceEvidence.references.some((reference) => reference.status.some((diagnostic) => diagnostic.severity === "error"));
|
|
173966
|
-
const hasDirectStatus = Boolean(error) || rootAction.status === "blocked" || hasReferenceFailures || Boolean(applyInstructions?.applyInstructionProgress.divergence) || (applyInstructions?.warnings?.length ?? 0) > 0 || (applyInstructions?.missingPrerequisites?.length ?? 0) > 0;
|
|
174093
|
+
const hasDirectStatus = Boolean(error) || rootAction.status === "blocked" || hasReferenceFailures || Boolean(applyInstructions?.applyInstructionProgress.divergence) || (applyInstructions?.warnings?.length ?? 0) > 0 || (applyInstructions?.missingPrerequisites?.length ?? 0) > 0 || (applyInstructions?.unavailableTrackingFiles?.length ?? 0) > 0 || applyInstructions?.taskTrackingConfigured === false;
|
|
173967
174094
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OpsxEntityDetailView, {
|
|
173968
174095
|
entityId: changeId,
|
|
173969
174096
|
sharedFamily: "changes",
|
|
@@ -173975,6 +174102,7 @@ function ChangeView() {
|
|
|
173975
174102
|
status,
|
|
173976
174103
|
referenceEvidence,
|
|
173977
174104
|
applyInstructionProgress: applyInstructions?.applyInstructionProgress ?? null,
|
|
174105
|
+
taskTrackingConfigured: applyInstructions?.taskTrackingConfigured,
|
|
173978
174106
|
statusRefreshing: statusCurrent ? null : {
|
|
173979
174107
|
label: "Status refreshing",
|
|
173980
174108
|
message: statusAuthorityMessage ?? ""
|
|
@@ -174041,7 +174169,9 @@ function ChangeView() {
|
|
|
174041
174169
|
applyInstructions ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ApplyProgressNotice, {
|
|
174042
174170
|
applyInstructionProgress: applyInstructions.applyInstructionProgress,
|
|
174043
174171
|
warnings: applyInstructions.warnings,
|
|
174044
|
-
missingPrerequisites: applyInstructions.missingPrerequisites
|
|
174172
|
+
missingPrerequisites: applyInstructions.missingPrerequisites,
|
|
174173
|
+
taskTrackingConfigured: applyInstructions.taskTrackingConfigured,
|
|
174174
|
+
unavailableTrackingFiles: applyInstructions.unavailableTrackingFiles
|
|
174045
174175
|
}) : null
|
|
174046
174176
|
]
|
|
174047
174177
|
}) : null
|
|
@@ -174082,7 +174212,7 @@ var CONFIG_GUIDE_STAGE_META = {
|
|
|
174082
174212
|
//#region src/components/config/config-guide.tsx
|
|
174083
174213
|
var ConfigGuideContext = (0, import_react.createContext)(null);
|
|
174084
174214
|
(0, import_react.lazy)(async () => {
|
|
174085
|
-
return { default: (await import("./config-guide-presentation-
|
|
174215
|
+
return { default: (await import("./config-guide-presentation-Cji5XRfB.js")).ConfigGuidePresentationLayer };
|
|
174086
174216
|
});
|
|
174087
174217
|
/** Access the root-owned adaptive Guide runtime. */
|
|
174088
174218
|
function useConfigGuide() {
|
|
@@ -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-BqIqbfZo.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);
|