@openspecui/web 3.11.6 → 4.0.1
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/CanvasRenderer-CLQD6X5w.js +1 -0
- package/dist/assets/WebGLRenderer-CCytcJrB.js +1 -0
- package/dist/assets/WebGPURenderer-DAH_m5D3.js +1 -0
- package/dist/assets/browserAll-Dp578vps.js +1 -0
- package/dist/assets/{dist-DSuLZBKC.js → dist--fdiDhsa.js} +1 -1
- package/dist/assets/{dist-DHe7I_KZ.js → dist-56Ibj2m1.js} +1 -1
- package/dist/assets/{dist-C4vm2Q_T.js → dist-BhkpGj11.js} +1 -1
- package/dist/assets/{dist-B1OAaHtN.js → dist-BzodlTBW.js} +1 -1
- package/dist/assets/{dist-BD5mncFZ.js → dist-CKjYpdph.js} +1 -1
- package/dist/assets/{dist-BoE24RpQ.js → dist-DKpbXO9V.js} +1 -1
- package/dist/assets/{dist-CM2xvCkf.js → dist-DSyaj1iO.js} +1 -1
- package/dist/assets/dist-DT99Gaya.js +1 -0
- package/dist/assets/dist-D_hpFHgB.js +1 -0
- package/dist/assets/dist-DroIyWBO.js +1 -0
- package/dist/assets/{dist-BPXRU7xA.js → dist-KjL9POKA.js} +1 -1
- package/dist/assets/{dist-iayOqDE6.js → dist-v0p4Oxur.js} +1 -1
- package/dist/assets/{init-DUi_seZz.js → init-CHa3E6Fn.js} +1 -1
- package/dist/assets/main-BzdJabcp.js +1670 -0
- package/dist/assets/trpc-D1nFWwj3.js +1 -0
- package/dist/assets/webworkerAll-CONHxfi1.js +1 -0
- package/dist/index.html +1 -1
- package/dist-ssg/client/.vite/ssr-manifest.json +25 -15
- package/dist-ssg/client/assets/CanvasRenderer-7YZbbJmc.js +1 -0
- package/dist-ssg/client/assets/WebGLRenderer-BZ3xFy4y.js +1 -0
- package/dist-ssg/client/assets/WebGPURenderer-Bx8MAvvI.js +1 -0
- package/dist-ssg/client/assets/browserAll-y9op8R_K.js +1 -0
- package/dist-ssg/client/assets/{dist-n4MxMk4A.js → dist-0BjR7vsp.js} +1 -1
- package/dist-ssg/client/assets/{dist-CsJzUP3e.js → dist-B7FpZICw.js} +1 -1
- package/dist-ssg/client/assets/dist-BJTXGL17.js +1 -0
- package/dist-ssg/client/assets/{dist-DMB6LAIC.js → dist-BOTbMEl0.js} +1 -1
- package/dist-ssg/client/assets/{dist-BZziKvqb.js → dist-BnCMiRF2.js} +1 -1
- package/dist-ssg/client/assets/{dist-CIuFQ_JU.js → dist-CJOctZ0g.js} +1 -1
- package/dist-ssg/client/assets/{dist-BjFWEmHB.js → dist-DDCOLIIX.js} +1 -1
- package/dist-ssg/client/assets/{dist-BHOFHtBx.js → dist-DJnwvakG.js} +1 -1
- package/dist-ssg/client/assets/dist-DMrNCfrj.js +1 -0
- package/dist-ssg/client/assets/{dist-Bv4vhBN7.js → dist-Dz5uN7CX.js} +1 -1
- package/dist-ssg/client/assets/{dist-BnZ2HTAx.js → dist-SPugoAts.js} +1 -1
- package/dist-ssg/client/assets/dist-ZLeHAK7-.js +1 -0
- package/dist-ssg/client/assets/{ghostty-web-BcYHa-ju.js → ghostty-web-Dvv-X0yw.js} +1 -1
- package/dist-ssg/client/assets/{index.ssg-VKLGiOJL.js → index.ssg-DsnsJxRg.js} +141 -140
- package/dist-ssg/client/assets/{init-BotiXPO-.js → init-CCfzHfxE.js} +1 -1
- package/dist-ssg/client/assets/trpc-CT6vor49.js +1 -0
- package/dist-ssg/client/assets/webworkerAll-BgsJypDI.js +1 -0
- package/dist-ssg/client/index.ssg.html +1 -1
- package/dist-ssg/server/entry-server.js +76 -1
- package/package.json +3 -3
- package/dist/assets/CanvasRenderer-B4xoxAIc.js +0 -1
- package/dist/assets/WebGLRenderer-B0Jtk0nh.js +0 -1
- package/dist/assets/WebGPURenderer-Cfl-sqIJ.js +0 -1
- package/dist/assets/browserAll-BAtKDoiA.js +0 -1
- package/dist/assets/dist-BPb0nckX.js +0 -1
- package/dist/assets/dist-C5Si4P75.js +0 -1
- package/dist/assets/dist-CyBfJ6hc.js +0 -1
- package/dist/assets/main-CWtuI7Nz.js +0 -1669
- package/dist/assets/trpc-C0ZfTMd0.js +0 -1
- package/dist/assets/webworkerAll-s8l06Z4r.js +0 -1
- package/dist-ssg/client/assets/CanvasRenderer-C0SJkAx_.js +0 -1
- package/dist-ssg/client/assets/WebGLRenderer-_kPaznMR.js +0 -1
- package/dist-ssg/client/assets/WebGPURenderer-BxiyOM-9.js +0 -1
- package/dist-ssg/client/assets/browserAll-gJgi68_s.js +0 -1
- package/dist-ssg/client/assets/dist-CrxbKAeY.js +0 -1
- package/dist-ssg/client/assets/dist-DI0_1FlR.js +0 -1
- package/dist-ssg/client/assets/dist-DtUEqoN7.js +0 -1
- package/dist-ssg/client/assets/trpc-C4pu2wyc.js +0 -1
- package/dist-ssg/client/assets/webworkerAll-DBwLgZ3e.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{it as e}from"./Geometry-DYOOLchf.js";import{E as t,T as n}from"./index.ssg-
|
|
1
|
+
import{it as e}from"./Geometry-DYOOLchf.js";import{E as t,T as n}from"./index.ssg-DsnsJxRg.js";e.add(n),e.add(t);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e}from"./index.ssg-DsnsJxRg.js";export{e as trpcClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./Geometry-DYOOLchf.js";import"./index.ssg-DsnsJxRg.js";import"./init-CCfzHfxE.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-DsnsJxRg.js"></script>
|
|
12
12
|
<link rel="modulepreload" crossorigin href="/assets/chunk-DECur_0Z.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="/assets/dist-UN0VvTJo.js">
|
|
14
14
|
<link rel="modulepreload" crossorigin href="/assets/dist-DK_X22KS.js">
|
|
@@ -39642,6 +39642,72 @@ function getBuiltinSoundUrl(soundId) {
|
|
|
39642
39642
|
return option ? `/sounds/${option.filename}` : null;
|
|
39643
39643
|
}
|
|
39644
39644
|
//#endregion
|
|
39645
|
+
//#region ../core/src/task-progress.ts
|
|
39646
|
+
var CHECKBOX_TASK_LINE = /^\s*[-*]\s+\[([ xX])\]\s+(.+)$/;
|
|
39647
|
+
var MARKDOWN_FILE_PATH = /\.(?:md|markdown)$/i;
|
|
39648
|
+
function isMarkdownTaskSourcePath(path) {
|
|
39649
|
+
return MARKDOWN_FILE_PATH.test(path);
|
|
39650
|
+
}
|
|
39651
|
+
function parseMarkdownTasks(content, options = {}) {
|
|
39652
|
+
const tasks = [];
|
|
39653
|
+
const lines = content.split("\n");
|
|
39654
|
+
let currentSection = "";
|
|
39655
|
+
let taskIndex = options.initialIndex ?? 0;
|
|
39656
|
+
for (const line of lines) {
|
|
39657
|
+
const headingMatch = line.match(/^#{1,6}\s+(.+)$/);
|
|
39658
|
+
if (headingMatch) {
|
|
39659
|
+
currentSection = headingMatch[1].trim();
|
|
39660
|
+
continue;
|
|
39661
|
+
}
|
|
39662
|
+
const taskMatch = line.match(CHECKBOX_TASK_LINE);
|
|
39663
|
+
if (!taskMatch) continue;
|
|
39664
|
+
taskIndex += 1;
|
|
39665
|
+
tasks.push({
|
|
39666
|
+
id: `task-${taskIndex}`,
|
|
39667
|
+
text: taskMatch[2].trim(),
|
|
39668
|
+
completed: taskMatch[1].toLowerCase() === "x",
|
|
39669
|
+
section: currentSection || void 0
|
|
39670
|
+
});
|
|
39671
|
+
}
|
|
39672
|
+
return tasks;
|
|
39673
|
+
}
|
|
39674
|
+
function computeTaskProgress(tasks) {
|
|
39675
|
+
return {
|
|
39676
|
+
total: tasks.length,
|
|
39677
|
+
completed: tasks.filter((task) => task.completed).length
|
|
39678
|
+
};
|
|
39679
|
+
}
|
|
39680
|
+
function getSchemaTaskPatterns(schemaDetail) {
|
|
39681
|
+
if (!schemaDetail) return [];
|
|
39682
|
+
const patterns = [...schemaDetail.artifacts.map((artifact) => artifact.outputPath), schemaDetail.applyTracks].filter((pattern) => typeof pattern === "string" && pattern.trim().length > 0);
|
|
39683
|
+
return [...new Set(patterns)];
|
|
39684
|
+
}
|
|
39685
|
+
function selectTaskSources(files, options) {
|
|
39686
|
+
const markdownFiles = files.filter((file) => file.type === "file" && typeof file.content === "string" && isMarkdownTaskSourcePath(file.path));
|
|
39687
|
+
const schemaPatterns = getSchemaTaskPatterns(options.schemaDetail);
|
|
39688
|
+
if (schemaPatterns.length > 0) return markdownFiles.filter((file) => schemaPatterns.some((pattern) => opsxPathMatchesPattern(file.path, pattern))).map((file) => ({
|
|
39689
|
+
path: file.path,
|
|
39690
|
+
content: file.content
|
|
39691
|
+
}));
|
|
39692
|
+
if (options.hasSchemaMetadata) return markdownFiles.map((file) => ({
|
|
39693
|
+
path: file.path,
|
|
39694
|
+
content: file.content
|
|
39695
|
+
}));
|
|
39696
|
+
return markdownFiles.filter((file) => file.path === "tasks.md").map((file) => ({
|
|
39697
|
+
path: file.path,
|
|
39698
|
+
content: file.content
|
|
39699
|
+
}));
|
|
39700
|
+
}
|
|
39701
|
+
function projectTasksFromMarkdownFiles(files, options = {}) {
|
|
39702
|
+
const sources = selectTaskSources(files, options);
|
|
39703
|
+
const tasks = [];
|
|
39704
|
+
for (const source of sources) tasks.push(...parseMarkdownTasks(source.content, { initialIndex: tasks.length }));
|
|
39705
|
+
return {
|
|
39706
|
+
tasks,
|
|
39707
|
+
progress: computeTaskProgress(tasks)
|
|
39708
|
+
};
|
|
39709
|
+
}
|
|
39710
|
+
//#endregion
|
|
39645
39711
|
//#region src/lib/static-data-provider.ts
|
|
39646
39712
|
/**
|
|
39647
39713
|
* In-memory cache of the loaded snapshot
|
|
@@ -39799,6 +39865,14 @@ function buildStaticObjectiveTrends(snapshot, pointLimit, rightEdgeTs) {
|
|
|
39799
39865
|
}), pointLimit, "sum", rightEdgeTs);
|
|
39800
39866
|
return trends;
|
|
39801
39867
|
}
|
|
39868
|
+
function getArchiveTaskProgress(snapshot, archive) {
|
|
39869
|
+
if (archive.progress) return archive.progress;
|
|
39870
|
+
const schemaDetail = archive.entity.schemaName ? snapshot.opsx?.schemaDetails[archive.entity.schemaName] ?? null : null;
|
|
39871
|
+
return projectTasksFromMarkdownFiles(archive.entity.files, {
|
|
39872
|
+
schemaDetail,
|
|
39873
|
+
hasSchemaMetadata: Boolean(archive.entity.schemaName)
|
|
39874
|
+
}).progress;
|
|
39875
|
+
}
|
|
39802
39876
|
function normalizePath(path) {
|
|
39803
39877
|
return path.replace(/\\/g, "/").replace(/^\.?\//, "");
|
|
39804
39878
|
}
|
|
@@ -40085,7 +40159,7 @@ async function getDashboardOverview() {
|
|
|
40085
40159
|
const requirements = allSpecifications.reduce((sum, spec) => sum + spec.requirements, 0);
|
|
40086
40160
|
const tasksTotal = allActiveChanges.reduce((sum, change) => sum + change.progress.total, 0);
|
|
40087
40161
|
const tasksCompleted = allActiveChanges.reduce((sum, change) => sum + change.progress.completed, 0);
|
|
40088
|
-
const archivedTasksCompleted = 0;
|
|
40162
|
+
const archivedTasksCompleted = snapshot.archives.reduce((sum, archive) => sum + getArchiveTaskProgress(snapshot, archive).completed, 0);
|
|
40089
40163
|
const taskCompletionPercent = tasksTotal > 0 ? Math.round(tasksCompleted / tasksTotal * 100) : null;
|
|
40090
40164
|
const inProgressChanges = allActiveChanges.filter((change) => change.progress.total > 0 && change.progress.completed < change.progress.total).length;
|
|
40091
40165
|
const trends = buildStaticObjectiveTrends(snapshot, trendPointLimit, rightEdgeTs);
|
|
@@ -40202,6 +40276,7 @@ async function getArchives() {
|
|
|
40202
40276
|
return snapshot.archives.map((archive) => ({
|
|
40203
40277
|
id: archive.id,
|
|
40204
40278
|
name: archive.name,
|
|
40279
|
+
progress: getArchiveTaskProgress(snapshot, archive),
|
|
40205
40280
|
createdAt: archive.createdAt,
|
|
40206
40281
|
updatedAt: archive.updatedAt
|
|
40207
40282
|
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openspecui/web",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"openspecui-ssg": "./dist-ssg/ssg-cli.mjs"
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"@fontsource/share-tech-mono": "^5.2.7",
|
|
42
42
|
"@lezer/common": "^1.4.0",
|
|
43
43
|
"@lezer/highlight": "^1.2.3",
|
|
44
|
-
"@openspecui/search": "
|
|
45
|
-
"@openspecui/server": "
|
|
44
|
+
"@openspecui/search": "4.0.1",
|
|
45
|
+
"@openspecui/server": "4.0.1",
|
|
46
46
|
"@storybook/addon-vitest": "^10.2.19",
|
|
47
47
|
"@storybook/web-components": "^10.2.19",
|
|
48
48
|
"@storybook/web-components-vite": "^10.2.19",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-Dr8DqqDe.js";import{w as e}from"./main-CWtuI7Nz.js";export{e as CanvasRenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-Dr8DqqDe.js";import{C as e}from"./main-CWtuI7Nz.js";export{e as WebGLRenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-Dr8DqqDe.js";import{S as e}from"./main-CWtuI7Nz.js";export{e as WebGPURenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{it as e,x as t}from"./Geometry-Dr8DqqDe.js";import{A as n,D as r,O as i,k as a}from"./main-CWtuI7Nz.js";import"./init-DUi_seZz.js";e.add(n),e.mixin(t,a),e.add(i),e.mixin(t,r);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-vqrjFRzf.js";import{t as e}from"./main-CWtuI7Nz.js";export{e as yaml};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-vqrjFRzf.js";import{g as e}from"./main-CWtuI7Nz.js";export{e as css};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-vqrjFRzf.js";import{b as e}from"./main-CWtuI7Nz.js";export{e as json};
|