@openspecui/core 4.1.0 → 6.0.0-beta.0

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.
Files changed (116) hide show
  1. package/dist/cli-projection-DxnVGm2B.d.mts +789 -0
  2. package/dist/cli-projection-vO3-FJg5.mjs +161 -0
  3. package/dist/cli-projection.d.mts +6 -0
  4. package/dist/cli-projection.mjs +4 -0
  5. package/dist/command-result-fkH3Ekdz.d.mts +8477 -0
  6. package/dist/common-D8YUK9dA.mjs +57 -0
  7. package/dist/dashboard-summary-transport-CQ4is5_e.d.mts +66227 -0
  8. package/dist/dashboard-summary-transport-D2VBAIxg.mjs +175 -0
  9. package/dist/dashboard-summary-transport.d.mts +25 -0
  10. package/dist/dashboard-summary-transport.mjs +6 -0
  11. package/dist/{document-translation-D4YK18I3.mjs → document-translation-CeJFGMoy.mjs} +1 -1
  12. package/dist/{document-translation-CIPGsZD8.d.mts → document-translation-D50BnvVh.d.mts} +100 -100
  13. package/dist/document-translation.d.mts +1 -1
  14. package/dist/document-translation.mjs +2 -2
  15. package/dist/{hosted-app-CzMRiEgY.mjs → hosted-app-BPU4OR41.mjs} +31 -9
  16. package/dist/hosted-app.d.mts +25 -2
  17. package/dist/hosted-app.mjs +7 -2
  18. package/dist/hosted-contract-CcRnb51e.mjs +234 -0
  19. package/dist/hosted-contract.d.mts +25 -0
  20. package/dist/hosted-contract.mjs +7 -0
  21. package/dist/index.d.mts +25 -2686
  22. package/dist/index.mjs +2114 -1098
  23. package/dist/{local-download-profiles-B30HrSO2.d.mts → local-download-profiles-BL_rtlVM.d.mts} +1 -1
  24. package/dist/local-download-profiles.d.mts +2 -2
  25. package/dist/local-download-profiles.mjs +1 -1
  26. package/dist/markdown-facts.d.mts +1 -1
  27. package/dist/markdown-facts.mjs +1 -1
  28. package/dist/{markdown-reading-CgXuXp6s.d.mts → markdown-reading-LUdqfbxH.d.mts} +1 -1
  29. package/dist/{markdown-reading-DdcB7run.mjs → markdown-reading-mG4OAbDO.mjs} +1 -1
  30. package/dist/markdown-reading.d.mts +2 -2
  31. package/dist/markdown-reading.mjs +2 -2
  32. package/dist/{notifications-AKAcmeKT.mjs → notifications-C2bxAzX_.mjs} +13 -2
  33. package/dist/{notifications-HYH-lklF.d.mts → notifications-CgJlLgLO.d.mts} +34 -8
  34. package/dist/notifications.d.mts +2 -2
  35. package/dist/notifications.mjs +3 -3
  36. package/dist/{openspec-annotations-CeXd0JIZ.d.mts → openspec-annotations-C58Aoi-V.d.mts} +2 -2
  37. package/dist/{openspec-annotations-D_6Pz7k4.mjs → openspec-annotations-DCfqBMal.mjs} +2 -2
  38. package/dist/openspec-annotations.d.mts +3 -3
  39. package/dist/openspec-annotations.mjs +3 -3
  40. package/dist/openspec-compat.d.mts +18 -11
  41. package/dist/openspec-compat.mjs +22 -14
  42. package/dist/{openspec-projection-B8s-KWQ7.mjs → openspec-projection-DCgToo0Q.mjs} +2 -2
  43. package/dist/{openspec-projection-BphzrwYP.d.mts → openspec-projection-RohNZI4p.d.mts} +3 -3
  44. package/dist/openspec-projection.d.mts +5 -5
  45. package/dist/openspec-projection.mjs +4 -4
  46. package/dist/opsx-display-path.d.mts +1 -1
  47. package/dist/opsx-display-path.mjs +1 -1
  48. package/dist/{opsx-entity-CFUCqev8.d.mts → opsx-entity-D7kDQsze.d.mts} +2 -2
  49. package/dist/opsx-entity.d.mts +7 -3
  50. package/dist/opsx-entity.mjs +1 -1
  51. package/dist/{opsx-schema-detail-DXKXqMQa.d.mts → opsx-schema-detail-BxDXEwDY.d.mts} +2 -2
  52. package/dist/opsx-schema-detail.d.mts +8 -4
  53. package/dist/opsx-schema-detail.mjs +1 -1
  54. package/dist/opsx-types-BJ8AjhrS.d.mts +3642 -0
  55. package/dist/opsx-workflows-BvnJqjfL.d.mts +36 -0
  56. package/dist/opsx-workflows-Ccc6U7IR.mjs +89 -0
  57. package/dist/opsx-workflows.d.mts +2 -0
  58. package/dist/opsx-workflows.mjs +3 -0
  59. package/dist/planning-cli-projection-DIRxeq2H.mjs +421 -0
  60. package/dist/planning-cli-projection.d.mts +25 -0
  61. package/dist/planning-cli-projection.mjs +9 -0
  62. package/dist/schemas-BFroDdOC.mjs +287 -0
  63. package/dist/{schemas-CNKCVc7m.d.mts → schemas-DS-JqAJ2.d.mts} +498 -52
  64. package/dist/{sounds-J6z7o4mt.d.mts → sounds-qhRgCy0F.d.mts} +5 -5
  65. package/dist/sounds.d.mts +1 -1
  66. package/dist/sounds.mjs +1 -1
  67. package/dist/spec-catalog-ZGuiZ4CE.mjs +901 -0
  68. package/dist/spec-catalog.d.mts +25 -0
  69. package/dist/spec-catalog.mjs +6 -0
  70. package/dist/store-mutation-protocol-5tfs-RmD.d.mts +727 -0
  71. package/dist/store-mutation-protocol-CSwD-xPO.mjs +63 -0
  72. package/dist/store-mutation-protocol.d.mts +2 -0
  73. package/dist/store-mutation-protocol.mjs +4 -0
  74. package/dist/{store-types-Cu41QSww.mjs → store-types-DlX1REBg.mjs} +39 -18
  75. package/dist/{store-types-BiE-Ey--.d.mts → store-types-b554wAQJ.d.mts} +22 -12
  76. package/dist/store-types.d.mts +6 -2
  77. package/dist/store-types.mjs +2 -2
  78. package/dist/task-progress-B_IWVXjA.mjs +216 -0
  79. package/dist/task-progress.d.mts +7 -4
  80. package/dist/task-progress.mjs +3 -3
  81. package/dist/{terminal-audio-TBoU2jSK.mjs → terminal-audio-d6KItUeJ.mjs} +1 -1
  82. package/dist/{terminal-audio-BeUXlQgj.d.mts → terminal-audio-tXDm_EDe.d.mts} +2 -2
  83. package/dist/terminal-audio.d.mts +2 -2
  84. package/dist/terminal-audio.mjs +2 -2
  85. package/dist/terminal-control.d.mts +2 -2
  86. package/dist/terminal-control.mjs +1 -1
  87. package/dist/{terminal-invocation-ClVh0HeM.d.mts → terminal-invocation-BOvxThym.d.mts} +203 -84
  88. package/dist/terminal-invocation.d.mts +1 -1
  89. package/dist/terminal-invocation.mjs +1 -1
  90. package/dist/terminal-theme.d.mts +1 -1
  91. package/dist/terminal-theme.mjs +1 -1
  92. package/dist/translation-language-pair.d.mts +1 -1
  93. package/dist/translation-language-pair.mjs +1 -1
  94. package/dist/{translator-D6t_LEVN.d.mts → translator-NKv1wo3o.d.mts} +208 -208
  95. package/dist/translator.d.mts +1 -1
  96. package/dist/translator.mjs +1 -1
  97. package/package.json +55 -7
  98. package/dist/hosted-app-DHs94gIR.d.mts +0 -43
  99. package/dist/opsx-types-2rgsQHsB.d.mts +0 -402
  100. package/dist/task-progress-BHn4bCoD.d.mts +0 -24
  101. package/dist/task-progress-DhHYHnTv.mjs +0 -70
  102. /package/dist/{local-download-profiles-kpNEcdF_.mjs → local-download-profiles-odzOdf96.mjs} +0 -0
  103. /package/dist/{markdown-facts-BBCTe_qq.mjs → markdown-facts-BUqLvFRf.mjs} +0 -0
  104. /package/dist/{markdown-facts-Dk7FKaaT.d.mts → markdown-facts-CCw3QdbM.d.mts} +0 -0
  105. /package/dist/{opsx-display-path-CUCOrHcM.mjs → opsx-display-path-D13XV20v.mjs} +0 -0
  106. /package/dist/{opsx-display-path-cIMKa1aw.d.mts → opsx-display-path-RXS5JTbV.d.mts} +0 -0
  107. /package/dist/{opsx-entity-c7m5CbgU.mjs → opsx-entity-Cn_Zu1J3.mjs} +0 -0
  108. /package/dist/{opsx-schema-detail-BH82X6aU.mjs → opsx-schema-detail-Beis4Ba2.mjs} +0 -0
  109. /package/dist/{sounds-CB3ubSnj.mjs → sounds-NXwveBqq.mjs} +0 -0
  110. /package/dist/{terminal-control-VpTuh17B.mjs → terminal-control-BSAlOTs8.mjs} +0 -0
  111. /package/dist/{terminal-invocation-C2MCNBhK.mjs → terminal-invocation-0p-j2eSP.mjs} +0 -0
  112. /package/dist/{terminal-theme-cevliJw2.mjs → terminal-theme-B8iRttTR.mjs} +0 -0
  113. /package/dist/{terminal-theme-hvQjTsNh.d.mts → terminal-theme-m3MSGJ7U.d.mts} +0 -0
  114. /package/dist/{translation-language-pair-DZ_WNp_M.mjs → translation-language-pair-Bbhk-LAC.mjs} +0 -0
  115. /package/dist/{translation-language-pair-DmaOfHqD.d.mts → translation-language-pair-C18GPATW.d.mts} +0 -0
  116. /package/dist/{translator-DbUT1Ayn.mjs → translator-Cjtv4tya.mjs} +0 -0
@@ -0,0 +1,175 @@
1
+ import { d as TrackedTaskProgressSchema } from "./schemas-BFroDdOC.mjs";
2
+ import { s as CliProjectionStateNameSchema, u as createCliProjectionStateSchema } from "./cli-projection-vO3-FJg5.mjs";
3
+ import { z } from "zod";
4
+
5
+ //#region src/dashboard-types.ts
6
+ /**
7
+ * Orthogonal intents (updated 2026-07-23 Asia/Shanghai):
8
+ * 1. Define Dashboard metrics, trends, planning projections, and Git snapshot contracts.
9
+ * 2. Preserve backend-issued Code binding provenance on live Git snapshots.
10
+ * 3. Split independently refreshable Summary and Trends facts from the aggregate Dashboard compatibility view.
11
+ *
12
+ * Original request (2026-07-19): "代码已经提交,开始review。如果有问题,那么可更新change。"
13
+ * Derived requirement (2026-07-19): Checkpoint 6.11 binds Dashboard snapshots to their Code token.
14
+ * Original request (2026-07-23): "现在页面数据的加载数据非常慢(比如dashboard页面、changes页面都要等待非常久,页面刷新后,似乎后台没有缓存一样,也要加载很久。"
15
+ */
16
+ const DASHBOARD_METRIC_KEYS = [
17
+ "specifications",
18
+ "requirements",
19
+ "activeChanges",
20
+ "inProgressChanges",
21
+ "completedChanges",
22
+ "taskCompletionPercent"
23
+ ];
24
+ const DashboardTrendPointSchema = z.object({
25
+ ts: z.number(),
26
+ value: z.number()
27
+ });
28
+ const DashboardTriColorTrendPointSchema = z.object({
29
+ ts: z.number(),
30
+ add: z.number(),
31
+ modify: z.number(),
32
+ delete: z.number()
33
+ });
34
+ const DashboardTrendRecordSchema = z.object({
35
+ specifications: z.array(DashboardTrendPointSchema),
36
+ requirements: z.array(DashboardTrendPointSchema),
37
+ activeChanges: z.array(DashboardTrendPointSchema),
38
+ inProgressChanges: z.array(DashboardTrendPointSchema),
39
+ completedChanges: z.array(DashboardTrendPointSchema),
40
+ taskCompletionPercent: z.array(DashboardTrendPointSchema)
41
+ });
42
+ const DashboardTriColorTrendRecordSchema = z.object({
43
+ specifications: z.array(DashboardTriColorTrendPointSchema),
44
+ requirements: z.array(DashboardTriColorTrendPointSchema),
45
+ activeChanges: z.array(DashboardTriColorTrendPointSchema),
46
+ inProgressChanges: z.array(DashboardTriColorTrendPointSchema),
47
+ completedChanges: z.array(DashboardTriColorTrendPointSchema),
48
+ taskCompletionPercent: z.array(DashboardTriColorTrendPointSchema)
49
+ });
50
+ const DashboardTrendKindsSchema = z.object({
51
+ specifications: z.enum(["monotonic", "bidirectional"]),
52
+ requirements: z.enum(["monotonic", "bidirectional"]),
53
+ activeChanges: z.enum(["monotonic", "bidirectional"]),
54
+ inProgressChanges: z.enum(["monotonic", "bidirectional"]),
55
+ completedChanges: z.enum(["monotonic", "bidirectional"]),
56
+ taskCompletionPercent: z.enum(["monotonic", "bidirectional"])
57
+ });
58
+ const DashboardCardAvailabilitySchema = z.discriminatedUnion("state", [z.object({ state: z.literal("ok") }), z.object({
59
+ state: z.literal("invalid"),
60
+ reason: z.enum(["semantic-uncomputable", "objective-history-unavailable"])
61
+ })]);
62
+ const DashboardCardAvailabilityRecordSchema = z.object({
63
+ specifications: DashboardCardAvailabilitySchema,
64
+ requirements: DashboardCardAvailabilitySchema,
65
+ activeChanges: DashboardCardAvailabilitySchema,
66
+ inProgressChanges: DashboardCardAvailabilitySchema,
67
+ completedChanges: DashboardCardAvailabilitySchema,
68
+ taskCompletionPercent: DashboardCardAvailabilitySchema
69
+ });
70
+ const DashboardSummarySchema = z.object({
71
+ specifications: z.number(),
72
+ requirements: z.number(),
73
+ activeChanges: z.number(),
74
+ inProgressChanges: z.number(),
75
+ completedChanges: z.number(),
76
+ archivedTasksCompleted: z.number(),
77
+ tasksTotal: z.number(),
78
+ tasksCompleted: z.number(),
79
+ taskCompletionPercent: z.number().nullable()
80
+ });
81
+ const DashboardGitDiffStatsSchema = z.object({
82
+ files: z.number(),
83
+ insertions: z.number(),
84
+ deletions: z.number()
85
+ });
86
+ const DashboardGitEntrySchema = z.discriminatedUnion("type", [z.object({
87
+ type: z.literal("commit"),
88
+ hash: z.string(),
89
+ title: z.string(),
90
+ committedAt: z.number(),
91
+ relatedChanges: z.array(z.string()),
92
+ diff: DashboardGitDiffStatsSchema
93
+ }), z.object({
94
+ type: z.literal("uncommitted"),
95
+ title: z.string(),
96
+ updatedAt: z.number().nullable(),
97
+ relatedChanges: z.array(z.string()),
98
+ diff: DashboardGitDiffStatsSchema
99
+ })]);
100
+ const DashboardGitWorktreeSchema = z.object({
101
+ path: z.string(),
102
+ relativePath: z.string(),
103
+ pathAvailable: z.boolean(),
104
+ branchName: z.string(),
105
+ detached: z.boolean(),
106
+ isCurrent: z.boolean(),
107
+ ahead: z.number(),
108
+ behind: z.number(),
109
+ diff: DashboardGitDiffStatsSchema,
110
+ entries: z.array(DashboardGitEntrySchema)
111
+ });
112
+ const DashboardGitSnapshotSchema = z.object({
113
+ bindingToken: z.string().nullable(),
114
+ defaultBranch: z.string(),
115
+ worktrees: z.array(DashboardGitWorktreeSchema)
116
+ });
117
+ const DashboardSummaryProjectionSchema = z.object({
118
+ summary: DashboardSummarySchema,
119
+ specifications: z.array(z.object({
120
+ id: z.string(),
121
+ name: z.string(),
122
+ requirements: z.number(),
123
+ updatedAt: z.number()
124
+ })),
125
+ activeChanges: z.array(z.object({
126
+ id: z.string(),
127
+ name: z.string(),
128
+ trackedTaskProgress: TrackedTaskProgressSchema,
129
+ updatedAt: z.number()
130
+ }))
131
+ });
132
+ const DashboardTrendsProjectionSchema = z.object({
133
+ trends: DashboardTrendRecordSchema,
134
+ triColorTrends: DashboardTriColorTrendRecordSchema,
135
+ trendKinds: DashboardTrendKindsSchema,
136
+ cardAvailability: DashboardCardAvailabilityRecordSchema,
137
+ trendMeta: z.object({
138
+ pointLimit: z.number(),
139
+ lastUpdatedAt: z.number()
140
+ })
141
+ });
142
+ const DashboardOverviewSchema = DashboardSummaryProjectionSchema.merge(DashboardTrendsProjectionSchema).extend({ git: DashboardGitSnapshotSchema });
143
+
144
+ //#endregion
145
+ //#region src/dashboard-summary-transport.ts
146
+ /**
147
+ * Orthogonal intents (updated 2026-07-27 Asia/Shanghai):
148
+ * 1. Define browser-safe opaque identity and wake-up contracts for Dashboard Summary v2.
149
+ * 2. Define the full typed Summary projection state without exposing Planning-root filesystem provenance.
150
+ * 3. Preserve retained versus current authority across fresh browser Documents.
151
+ *
152
+ * Original request (2026-07-23): "在已有content的时候,服务端推送变更,然后客户端收到推送通知,于是开始加载更新数据。"
153
+ * Original request (2026-07-27): "Dashboard页面每次页面刷新的时候,它仍然要加载很多?"
154
+ */
155
+ /** Opaque Server-issued identity; it is derived from, but never contains, a Planning-root path. */
156
+ const DashboardSummaryIdentitySchema = z.string().regex(/^dashboard-summary-v2:[A-Za-z0-9_-]{43}$/);
157
+ /** Reasons that can wake the migrated Summary adapter in this bounded v2 slice. */
158
+ const DashboardSummaryInvalidationCauseSchema = z.enum([
159
+ "initial",
160
+ "server-push",
161
+ "root-rebind"
162
+ ]);
163
+ /** Data-free subscription event. Replacement Summary data always arrives through the typed pull. */
164
+ const DashboardSummaryInvalidationSchema = z.object({
165
+ identity: DashboardSummaryIdentitySchema,
166
+ workGeneration: z.number().int().nonnegative(),
167
+ snapshotGeneration: z.number().int().nonnegative().nullable(),
168
+ state: CliProjectionStateNameSchema,
169
+ cause: DashboardSummaryInvalidationCauseSchema
170
+ }).strict();
171
+ /** Full Summary Pull state correlated to the exact Server-owned work identity and generation. */
172
+ const DashboardSummaryProjectionStateSchema = createCliProjectionStateSchema(DashboardSummaryProjectionSchema);
173
+
174
+ //#endregion
175
+ export { DASHBOARD_METRIC_KEYS as a, DashboardSummaryProjectionSchema as c, DashboardSummaryProjectionStateSchema as i, DashboardTrendsProjectionSchema as l, DashboardSummaryInvalidationCauseSchema as n, DashboardGitSnapshotSchema as o, DashboardSummaryInvalidationSchema as r, DashboardOverviewSchema as s, DashboardSummaryIdentitySchema as t };
@@ -0,0 +1,25 @@
1
+ import "./command-result-fkH3Ekdz.mjs";
2
+ import "./document-translation-D50BnvVh.mjs";
3
+ import "./sounds-qhRgCy0F.mjs";
4
+ import "./notifications-CgJlLgLO.mjs";
5
+ import "./cli-projection-DxnVGm2B.mjs";
6
+ import "./schemas-DS-JqAJ2.mjs";
7
+ import "./opsx-types-BJ8AjhrS.mjs";
8
+ import "./opsx-entity-D7kDQsze.mjs";
9
+ import { a as DashboardSummaryInvalidationCauseSchema, c as DashboardSummaryProjectionStateSchema, i as DashboardSummaryInvalidationCause, n as DashboardSummaryIdentitySchema, o as DashboardSummaryInvalidationSchema, r as DashboardSummaryInvalidation, s as DashboardSummaryProjectionState, t as DashboardSummaryIdentity } from "./dashboard-summary-transport-CQ4is5_e.mjs";
10
+ import "./markdown-facts-CCw3QdbM.mjs";
11
+ import "./markdown-reading-LUdqfbxH.mjs";
12
+ import "./openspec-annotations-C58Aoi-V.mjs";
13
+ import "./openspec-projection-RohNZI4p.mjs";
14
+ import "./translator-NKv1wo3o.mjs";
15
+ import "./terminal-audio-tXDm_EDe.mjs";
16
+ import "./local-download-profiles-BL_rtlVM.mjs";
17
+ import "./translation-language-pair-C18GPATW.mjs";
18
+ import "./opsx-workflows-BvnJqjfL.mjs";
19
+ import "./opsx-display-path-RXS5JTbV.mjs";
20
+ import "./store-mutation-protocol-5tfs-RmD.mjs";
21
+ import "./store-types-b554wAQJ.mjs";
22
+ import "./terminal-invocation-BOvxThym.mjs";
23
+ import "./terminal-theme-m3MSGJ7U.mjs";
24
+ import "./opsx-schema-detail-BxDXEwDY.mjs";
25
+ export { DashboardSummaryIdentity, DashboardSummaryIdentitySchema, DashboardSummaryInvalidation, DashboardSummaryInvalidationCause, DashboardSummaryInvalidationCauseSchema, DashboardSummaryInvalidationSchema, DashboardSummaryProjectionState, DashboardSummaryProjectionStateSchema };
@@ -0,0 +1,6 @@
1
+ import "./schemas-BFroDdOC.mjs";
2
+ import "./common-D8YUK9dA.mjs";
3
+ import "./cli-projection-vO3-FJg5.mjs";
4
+ import { i as DashboardSummaryProjectionStateSchema, n as DashboardSummaryInvalidationCauseSchema, r as DashboardSummaryInvalidationSchema, t as DashboardSummaryIdentitySchema } from "./dashboard-summary-transport-D2VBAIxg.mjs";
5
+
6
+ export { DashboardSummaryIdentitySchema, DashboardSummaryInvalidationCauseSchema, DashboardSummaryInvalidationSchema, DashboardSummaryProjectionStateSchema };
@@ -1,4 +1,4 @@
1
- import { A as TranslationEngineIdSchema, i as DEFAULT_TRANSLATION_ENGINE_ID } from "./translator-DbUT1Ayn.mjs";
1
+ import { A as TranslationEngineIdSchema, i as DEFAULT_TRANSLATION_ENGINE_ID } from "./translator-Cjtv4tya.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region src/document-translation.ts