ws-spec-kit 0.1.0-beta.10 → 0.1.0-beta.11

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 (49) hide show
  1. package/README.md +2 -1
  2. package/dist/adapters/skills/install.js +27 -6
  3. package/dist/adapters/skills/install.js.map +1 -1
  4. package/dist/application/acquire.js +3 -34
  5. package/dist/application/acquire.js.map +1 -1
  6. package/dist/application/implementation-baseline.d.ts +3 -0
  7. package/dist/application/implementation-baseline.js +41 -0
  8. package/dist/application/implementation-baseline.js.map +1 -0
  9. package/dist/application/inspect.js +6 -0
  10. package/dist/application/inspect.js.map +1 -1
  11. package/dist/application/recover.d.ts +8 -0
  12. package/dist/application/recover.js +21 -0
  13. package/dist/application/recover.js.map +1 -0
  14. package/dist/application/recovery-guidance.d.ts +4 -0
  15. package/dist/application/recovery-guidance.js +74 -0
  16. package/dist/application/recovery-guidance.js.map +1 -0
  17. package/dist/application/red-baseline.d.ts +7 -0
  18. package/dist/application/red-baseline.js +105 -0
  19. package/dist/application/red-baseline.js.map +1 -0
  20. package/dist/application/revalidate-red.d.ts +12 -0
  21. package/dist/application/revalidate-red.js +88 -0
  22. package/dist/application/revalidate-red.js.map +1 -0
  23. package/dist/cli/commands/core.js +10 -0
  24. package/dist/cli/commands/core.js.map +1 -1
  25. package/dist/cli/commands/public-contract.js +5 -1
  26. package/dist/cli/commands/public-contract.js.map +1 -1
  27. package/dist/domain/states.d.ts +1 -0
  28. package/dist/domain/states.js.map +1 -1
  29. package/dist/engine/control/retry.d.ts +2 -1
  30. package/dist/engine/control/retry.js +12 -5
  31. package/dist/engine/control/retry.js.map +1 -1
  32. package/dist/engine/tdd/red-gate.d.ts +8 -1
  33. package/dist/engine/tdd/red-gate.js +28 -5
  34. package/dist/engine/tdd/red-gate.js.map +1 -1
  35. package/dist/engine/tdd/runner-digest.d.ts +4 -1
  36. package/dist/engine/tdd/runner-digest.js +7 -1
  37. package/dist/engine/tdd/runner-digest.js.map +1 -1
  38. package/dist/engine/tdd/types.d.ts +9 -0
  39. package/dist/engine/tdd/types.js.map +1 -1
  40. package/dist/engine/verification.js +5 -5
  41. package/dist/engine/verification.js.map +1 -1
  42. package/dist/protocol/application.d.ts +18 -1
  43. package/dist/protocol/public-contract.d.ts +4 -2
  44. package/dist/protocol/public-contract.js +3 -1
  45. package/dist/protocol/public-contract.js.map +1 -1
  46. package/dist/schemas/definitions.js +5 -0
  47. package/dist/schemas/definitions.js.map +1 -1
  48. package/package.json +1 -1
  49. package/schemas/builtin-tdd-trusted-evidence-v1.schema.json +38 -0
package/README.md CHANGED
@@ -45,7 +45,8 @@ node dist/cli/main.js init
45
45
  | `artifact create` | 在活动 Attempt 范围内创建不可变 Artifact 引用。 |
46
46
  | `submit` | 提交一次 Attempt 的结果、Artifact 与 Evidence 引用。 |
47
47
  | `decide` | 提交步骤审批、工作流信任或外部动作相关决定。 |
48
- | `inspect` | 读取 Work Item 的快照状态。 |
48
+ | `inspect` | 查看当前步骤、执行/中断预算和下一步建议。 |
49
+ | `recover` | 自动选择可用的 Red 路径恢复或环境重验,保留原实现与审计记录。 |
49
50
  | `workflow` | 列出、查看、导出、校验或选择工作流。 |
50
51
  | `agent install` | 安装 Agent Driver Skill。 |
51
52
  | `doctor connectors` | 对已声明的连接器执行无外部写入的诊断。 |
@@ -8,7 +8,7 @@ import { claudeDriverTarget } from "./claude.js";
8
8
  import { codexDriverTarget } from "./codex.js";
9
9
  import { cursorDriverTarget } from "./cursor.js";
10
10
  import { genericDriverTarget } from "./generic.js";
11
- const currentDriverVersion = 11;
11
+ const currentDriverVersion = 12;
12
12
  const maximumDriverBytes = 1048576n;
13
13
  const driverDescription = "使用 WSSpecKit 驱动软件交付 Workflow;新任务、已有任务或用户明确要求时调用。";
14
14
  const driverFrontMatterKeys = ["description", "name", "wsspeckit-driver-content-digest", "wsspeckit-driver-version"];
@@ -28,6 +28,7 @@ const canonicalDriverDigests = {
28
28
  8: ["sha256:1dcde3f1ac6354c638e72d06f38c52c08eef3d23997d424ec4fb4965658828d4"],
29
29
  9: ["sha256:c6f840578f56f519abf2b1d46dcad1b9677ab967f3f10b8db52cc75059c05c51"],
30
30
  10: ["sha256:23ab06508a0fe66dd04288d9e61491beb5e27ce9ba74261bab1108b50d83cefb"],
31
+ 12: ["sha256:cab7f4bb237450218ea5607b54635ce2a8cd6078ac1f9a904f74026fc679a692"],
31
32
  11: ["sha256:3d2335676195672913c280663db65fc91bf8e141f3d69549a033678e55ee9383"],
32
33
  },
33
34
  claude: {
@@ -44,6 +45,7 @@ const canonicalDriverDigests = {
44
45
  8: ["sha256:473652ca39298ac466cac9afe46200d75fccfe0824e196a7c9c48094f1b9a4b2"],
45
46
  9: ["sha256:7db41e216376d8ff9e453a4cfde3a7d0ac938a7e9910240cfe7873df9e32ac25"],
46
47
  10: ["sha256:282b20e91c2118c552323bf18fd2e6fa5a8212c0ff3539f5a074eb3d3bdfe5c7"],
48
+ 12: ["sha256:4b132f4b736ca14510c115bd8ee70bf3e621ab503217272615af246a29229782"],
47
49
  11: ["sha256:c030ff3dc4958af5886149b48a3fbb7f030f7f9015845602be897fd906df6f88"],
48
50
  },
49
51
  cursor: {
@@ -60,6 +62,7 @@ const canonicalDriverDigests = {
60
62
  8: ["sha256:c433dcaa8a1daddd77029c798581d67199efbfb1bb0ef9f29cfbae9d60387997"],
61
63
  9: ["sha256:57c9f82585fff57fa754f3d91c08136296e935d2046cde68160e6b4a7f54c22d"],
62
64
  10: ["sha256:21ead795458a814064e4bf567d01e50d03676c0ef40b32abca2cc63439751187"],
65
+ 12: ["sha256:90a15b8b11a03758ba0c355521c588eb0912bfab7837bb4c3a1f2dcfa430f67b"],
63
66
  11: ["sha256:6646b72622b63e91b2bf7ca575412ae9eeb969c492645cd7ba327b9e00c7049f"],
64
67
  },
65
68
  generic: {
@@ -76,10 +79,20 @@ const canonicalDriverDigests = {
76
79
  8: ["sha256:08eae7547d185a362fb81ef267c91b9aedcabae870b907154c154a3212f2576c"],
77
80
  9: ["sha256:b12c0a55f82ea7028735ce96e11073f4a5faff2b304aa956fb9d8da7e77f60e0"],
78
81
  10: ["sha256:de7012748b5a190448f4a8377db4916a3c356deaeb6e38867141795aaf8e099b"],
82
+ 12: ["sha256:d5b430136b9e585242c242b739a2a88aeedbb066870e09f1bb8b0f0c47645d3d"],
79
83
  11: ["sha256:83c3ffeca711f3d914870a36954885da21dfbdcf19b5f96794a128bd57d587a9"],
80
84
  },
81
85
  };
82
86
  function contract(agent) {
87
+ const recoveryCases = {
88
+ acquire: { next: "acquire" },
89
+ "revalidate-red": { next: "recover" },
90
+ "retry-test-gate": { next: "recover" },
91
+ await_approval: { next: "acquire" },
92
+ reconcile: { next: "blocked" },
93
+ blocked: { next: "blocked" },
94
+ completed: { next: "completed" },
95
+ };
83
96
  const actionCases = {
84
97
  execute: {
85
98
  next: "artifact",
@@ -156,8 +169,14 @@ function contract(agent) {
156
169
  },
157
170
  inspect: {
158
171
  argv: ["wspec", "inspect", "${workItemId}"],
159
- capture: { workflowRef: "result.workflowRef" },
160
- next: "acquire",
172
+ capture: { workflowRef: "result.workflowRef", recoveryReason: "result.nextAction.reason" },
173
+ branch: { field: "result.nextAction.kind", cases: recoveryCases },
174
+ },
175
+ recover: {
176
+ argv: ["wspec", "recover", "${workItemId}", "--actor", "${actor}", "--reason", "${recoveryReason}"],
177
+ branch: { field: "result.nextAction.kind", cases: { ...recoveryCases,
178
+ "revalidate-red": { next: "blocked" }, "retry-test-gate": { next: "blocked" },
179
+ } },
161
180
  },
162
181
  acquire: {
163
182
  argv: ["wspec", "acquire", "${workItemId}", "--actor", "${actor}"],
@@ -227,7 +246,9 @@ function body(agent) {
227
246
  "",
228
247
  `新任务执行 \`wspec start --prompt "<用户需求>" --workflow "<workflowRef>" --profile "<profile>" --provider "${agent}"\`。从 JSON 输出读取 \`result.workItemId\` 和 \`result.workflowRef\`;后续所有命令都使用这个 \`workItemId\`,并确认 \`workflowRef\` 未变化。`,
229
248
  "",
230
- "已有任务或 Host 重启后的恢复固定执行 inspect -> acquire:先运行 `wspec inspect \"<workItemId>\"`,从 `result.workflowRef` 确认原 Workflow,再运行 `wspec acquire \"<workItemId>\" --actor \"<actor>\"`。不要重新 start,也不要按项目当前默认值替换原 `workflowRef`。",
249
+ "已有任务或 Host 重启后的恢复先执行 inspect,再按 nextAction 路由:先运行 `wspec inspect \"<workItemId>\"`,从 `result.workflowRef` 确认原 Workflow,仅当 nextAction.kind 为 acquire 或 await_approval 时再运行 `wspec acquire \"<workItemId>\" --actor \"<actor>\"`。不要重新 start,也不要按项目当前默认值替换原 `workflowRef`。",
250
+ "",
251
+ "inspect 的 result.nextAction.kind 为 revalidate-red 或 retry-test-gate 时,以 result.nextAction.reason 作为原因执行 `wspec recover <workItemId> --actor <actor> --reason <reason>`,恢复不会批准审批或重发外部请求。recover 返回 acquire 后继续领取;返回 blocked、reconcile 或再次要求恢复时停止并展示原因,禁止无变化循环重试。completed 则停止。",
231
252
  "",
232
253
  "## acquire / submit 循环",
233
254
  "",
@@ -235,7 +256,7 @@ function body(agent) {
235
256
  "",
236
257
  "- `execute`:读取 `result.workPackage.stepId`、`result.workPackage.attemptId`、`result.workPackage.lease.token` 和完整 `requiredOutputs`。先把 Work Package 中系统提供的 `requirement-source` 引用放入 `artifactRefs`;再按 `requiredOutputs` 顺序逐项处理其余输出。每项正文写入 Work Item 自有的 `.wsspec/work-items/<workItemId>/drafts/<outputId>.md`,执行 `wspec artifact create --work-item \"<workItemId>\" --step \"<stepId>\" --attempt \"<attemptId>\" --lease-token \"<leaseToken>\" --artifact-type \"<artifactType>\" --output \"<outputId>\" --content-file \".wsspec/work-items/<workItemId>/drafts/<outputId>.md\"`,并把每次 JSON stdout 的 `result` 追加到 `artifactRefs`。所有必需输出完成后才生成 SubmitResult;submit JSON 的 `artifacts` 只携带累积的 ArtifactRef,正文、`contentFile`、绝对路径和 Lease token 都不得写入 `<resultPath>`。随后执行 `wspec submit \"<workItemId>\" --step \"<stepId>\" --attempt \"<attemptId>\" --lease \"<leaseToken>\" --result \"<resultPath>\" --actor \"<actor>\"`。submit 也返回 `result.action`:若为 `execute`,它已经携带并 claim 新 Work Package,必须从 artifact 循环处理,不得再次 acquire;其余分支按下文停止。不得复用旧 attemptId 或 leaseToken。",
237
258
  "- `await_approval`:读取并向用户展示 `result.approval`,尚未获得明确决定时等待用户。普通步骤(`approval.kind: step`)的用户明确批准可直接转录为 `kind: approval`、`decision: approved`,加入 `confirmation: { source: conversation, userMessage: 用户确认原话 }`,绑定当前 `workItemId`、`requestId`、`expectedDigest: result.approval.digest`,以当前 Agent 的 `actor` 执行 `wspec decide`,无需用户再操作终端。已有对当前版本的明确确认时直接执行,不重复询问。确认记录标记为 `agent_transcribed`,表示 Agent 转录,不是独立验证的用户身份;仅保存这次确认原话,不复制整段会话。只在用户确认明确对应当前审批版本时转录;模糊回应或方案变更后重新展示待审批内容并澄清。`external_action`、`workflow_trust` 及需要人工决定的外部恢复仍要求 TTY:展示审批时就说明执行方式;遇到 `WSSPEC_INTERACTIVE_TTY_REQUIRED` 后不要原样反复重试,也不要自行创建 TTY 代替用户确认。用户明确提出修改要求时,将原话作为 `feedback`,先由 WSSpecKit 本地真实 TTY 提交 `confirm_rejection` 决定;收到 `rejection_confirmed` 后,把返回的一次性 `rejectionToken` 与同一份 `feedback` 写入 `rejected` 决定并执行 `wspec decide --input \"<decisionPath>\" --actor \"<actor>\"`。不得在拒绝决定成功前修改审批绑定的 Artifact。若决定后返回 `execute` 且 `resumeSubmission` 不为 `true`,按新 Work Package 重新执行 Artifact authoring;修订时读取 `workPackage.revisionRequest.feedback`。仅当 `resumeSubmission: true` 时,才使用原样未改的 `<resultPath>` 直接重新 submit。若 Host 会话已中断,再从 inspect / acquire 恢复。",
238
- "- `blocked`:读取并展示 `result.problems`。若 code 为 `WSSPEC_APPROVAL_EXPIRED`,明确说明本次批准未生效,按 inspect -> acquire 恢复,并使用新 Work Package 重新执行 Artifact authoring 和 submit;重新展示产物请求确认,不能复用旧审批或旧结果。这条路径不需要用户手动解除阻塞,不要重复提交旧 decide。其他 blocked 停止循环;只有问题被外部解决后才从 inspect / acquire 恢复。",
259
+ "- `blocked`:读取并展示 `result.problems`。若 code 为 `WSSPEC_APPROVAL_EXPIRED`,明确说明本次批准未生效,按 inspect -> acquire 恢复,并使用新 Work Package 重新执行 Artifact authoring 和 submit;重新展示产物请求确认,不能复用旧审批或旧结果。这条路径不需要用户手动解除阻塞,不要重复提交旧 decide。其他 blocked 停止当前循环并展示原因,问题解决后从 inspect nextAction 恢复;不要把 acquire 建议当作问题已修复,也不要原样反复重试。租约或证据错误从 inspect 恢复,并遵守 recover 的一次尝试边界。",
239
260
  "- `completed`:读取 `result.summary`,报告完成并停止,不再 acquire 或 submit。",
240
261
  "",
241
262
  "以下 fenced JSON 是 Host 和自动验收共同消费的命令/状态机合同;`${...}` 变量必须来自用户选择、Host 身份或前一条命令声明的 capture,不能自行猜测:",
@@ -356,7 +377,7 @@ function ownedSkillVersion(content, agent) {
356
377
  && source.description === driverDescription
357
378
  && keys.length === driverFrontMatterKeys.length
358
379
  && keys.every((key, index) => key === driverFrontMatterKeys[index])
359
- && (version === 1 || version === 2 || version === 3 || version === 4 || version === 5 || version === 6 || version === 7 || version === 8 || version === 9 || version === 10 || version === 11)
380
+ && (version === 1 || version === 2 || version === 3 || version === 4 || version === 5 || version === 6 || version === 7 || version === 8 || version === 9 || version === 10 || version === 11 || version === 12)
360
381
  && typeof digest === "string"
361
382
  && digest === sha256(match[2])
362
383
  && canonicalDriverDigests[agent][version].includes(digest);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/adapters/skills/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/adapters/skills/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAsBnD,MAAM,oBAAoB,GAAG,EAAW,CAAC;AACzC,MAAM,kBAAkB,GAAG,QAAU,CAAC;AACtC,MAAM,iBAAiB,GAAG,kDAAkD,CAAC;AAC7E,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,iCAAiC,EAAE,0BAA0B,CAAU,CAAC;AAE9H,uCAAuC;AACvC,MAAM,sBAAsB,GAAkE;IAC5F,KAAK,EAAE;QACL,CAAC,EAAE;YACD,yEAAyE;YACzE,yEAAyE;SAC1E;QACD,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,EAAE,EAAE,CAAC,yEAAyE,CAAC;QAC/E,EAAE,EAAE,CAAC,yEAAyE,CAAC;QAC/E,EAAE,EAAE,CAAC,yEAAyE,CAAC;KAChF;IACD,MAAM,EAAE;QACN,CAAC,EAAE;YACD,yEAAyE;YACzE,yEAAyE;SAC1E;QACD,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,EAAE,EAAE,CAAC,yEAAyE,CAAC;QAC/E,EAAE,EAAE,CAAC,yEAAyE,CAAC;QAC/E,EAAE,EAAE,CAAC,yEAAyE,CAAC;KAChF;IACD,MAAM,EAAE;QACN,CAAC,EAAE;YACD,yEAAyE;YACzE,yEAAyE;SAC1E;QACD,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,EAAE,EAAE,CAAC,yEAAyE,CAAC;QAC/E,EAAE,EAAE,CAAC,yEAAyE,CAAC;QAC/E,EAAE,EAAE,CAAC,yEAAyE,CAAC;KAChF;IACD,OAAO,EAAE;QACP,CAAC,EAAE;YACD,yEAAyE;YACzE,yEAAyE;SAC1E;QACD,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,CAAC,EAAE,CAAC,yEAAyE,CAAC;QAC9E,EAAE,EAAE,CAAC,yEAAyE,CAAC;QAC/E,EAAE,EAAE,CAAC,yEAAyE,CAAC;QAC/E,EAAE,EAAE,CAAC,yEAAyE,CAAC;KAChF;CACF,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAkB;IAClC,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;KACjC,CAAC;IACF,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE;YACP,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,WAAW,EAAE,oBAAoB;gBACjC,MAAM,EAAE,2BAA2B;gBACnC,SAAS,EAAE,8BAA8B;gBACzC,UAAU,EAAE,gCAAgC;gBAC5C,eAAe,EAAE,oCAAoC;aACtD;YACD,UAAU,EAAE;gBACV,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,8BAA8B;gBACtC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,EAAE;aAC/F;SACF;QACD,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;KACjC,CAAC;IACF,MAAM,iBAAiB,GAAG;QACxB,GAAG,WAAW;QACd,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;YACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE;SAC3D;KACF,CAAC;IACF,MAAM,iBAAiB,GAAG;QACxB,GAAG,WAAW;QACd,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,YAAY,EAAE;gBACZ,KAAK,EAAE,wBAAwB;gBAC/B,KAAK,EAAE,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;gBACvD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC7B;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,WAAW,EAAE,oBAAoB;gBACjC,MAAM,EAAE,2BAA2B;gBACnC,SAAS,EAAE,8BAA8B;gBACzC,UAAU,EAAE,gCAAgC;gBAC5C,eAAe,EAAE,oCAAoC;aACtD;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACnC,OAAO,EAAE;oBACP,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU;iBAC3C;aACF;SACF;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,oCAAoC,EAAE;SAClE;KACF,CAAC;IACF,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,CAAC;QACV,iBAAiB,EAAE;YACjB,OAAO,EAAE,sCAAsC;YAC/C,aAAa,EAAE,4CAA4C;SAC5D;QACD,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;QAClD,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC;gBACjI,OAAO,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC/E,IAAI,EAAE,SAAS;aAChB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC;gBAC3C,OAAO,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,0BAA0B,EAAE;gBAC1F,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,aAAa,EAAE;aAClE;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,CAAC;gBACnG,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,EAAE,GAAG,aAAa;wBAClE,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC9E,EAAE;aACJ;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC;gBAClE,MAAM,EAAE;oBACN,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,WAAW;iBACnB;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU,EAAE,QAAQ;oBAC7B,aAAa,EAAE,eAAe;oBAC9B,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,cAAc;oBAC3B,eAAe,EAAE,eAAe;oBAChC,iBAAiB,EAAE,iBAAiB;oBACpC,UAAU,EAAE,aAAa;oBACzB,gBAAgB,EAAE,gBAAgB;iBACnC;gBACD,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;gBAClC,OAAO,EAAE;oBACP,MAAM,EAAE,iBAAiB;oBACzB,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE;oBAClE,QAAQ,EAAE;wBACR,YAAY,EAAE,6BAA6B;wBAC3C,QAAQ,EAAE,yBAAyB;wBACnC,WAAW,EAAE,wDAAwD;qBACtE;oBACD,OAAO,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACrD;gBACD,IAAI,EAAE,QAAQ;aACf;YACD,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,OAAO,EAAE,QAAQ,EAAE,eAAe;oBAClC,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,eAAe;oBAC1B,UAAU,EAAE,eAAe;oBAC3B,SAAS,EAAE,UAAU;iBACtB;gBACD,cAAc,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;gBAC7C,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE;aAC7D;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,CAAC;gBAC9E,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE;aAC7D;SACF;QACD,SAAS,EAAE;YACT,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACvB,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC1B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,KAAkB;IAC9B,OAAO;QACL,oBAAoB;QACpB,EAAE;QACF,gBAAgB;QAChB,EAAE;QACF,qLAAqL;QACrL,EAAE;QACF,WAAW;QACX,EAAE;QACF,sGAAsG,KAAK,oHAAoH;QAC/N,EAAE;QACF,yQAAyQ;QACzQ,EAAE;QACF,+QAA+Q;QAC/Q,EAAE;QACF,wBAAwB;QACxB,EAAE;QACF,0CAA0C;QAC1C,EAAE;QACF,ygCAAygC;QACzgC,8jCAA8jC;QAC9jC,oVAAoV;QACpV,gEAAgE;QAChE,EAAE;QACF,+FAA+F;QAC/F,EAAE;QACF,SAAS;QACT,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,KAAK;QACL,EAAE;QACF,iDAAiD;QACjD,EAAE;QACF,mHAAmH;QACnH,EAAE;QACF,6HAA6H;QAC7H,EAAE;QACF,mCAAmC,KAAK,gGAAgG;QACxI,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,KAAK,CAAC,KAAkB;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO;QACL,KAAK;QACL,wBAAwB;QACxB,6BAA6B,oBAAoB,EAAE;QACnD,oCAAoC,MAAM,EAAE;QAC5C,gBAAgB,iBAAiB,EAAE;QACnC,KAAK;QACL,EAAE;QACF,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,OAAO,GAAG,mCAAmC;IAC7D,MAAM,IAAI,eAAe,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzG,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,SAAiB;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACjD,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QAAC,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAAC,CAAC;IAC5D,MAAM,CAAC;QAAC,OAAO,QAAQ,CAAC,+BAA+B,CAAC,CAAC;IAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IACzE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAA8B;IACrD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,eAAe,CAAC,yBAAyB,EAAE,gCAAgC,CAAC,CAAC;IACpJ,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF,MAAM,uBAAuB,GAAG,aAAa,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAC7F,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACxD,CAAC,CAAC,aAAa,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC9D,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACnD,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBACnD,CAAC,CAAC,uBAAuB,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,sCAAsC,CAAC,CAAC;IACzI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB,EAAE,KAAkB;IACzD,OAAO,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB;IACxC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,6CAA6C,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,SAAiB;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACvC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,eAAe,CAAC,WAAW,CAAC,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpF,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO;YAAE,QAAQ,CAAC,0CAA0C,CAAC,CAAC;QAC9F,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAAkB;IAC5D,MAAM,KAAK,GAAG,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/E,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,WAAoB,CAAC;IACzB,IAAI,CAAC;QAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IACnE,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5G,MAAM,MAAM,GAAG,WAAsC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,KAAK,kBAAkB;WAC3C,MAAM,CAAC,WAAW,KAAK,iBAAiB;WACxC,IAAI,CAAC,MAAM,KAAK,qBAAqB,CAAC,MAAM;WAC5C,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAAC;WAChE,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,CAAC;WAC7M,OAAO,MAAM,KAAK,QAAQ;WAC1B,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;WAC5B,sBAAsB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB;IAC3C,IAAI,IAAiB,CAAC;IACtB,IAAI,CAAC;QAAC,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IACvD,OAAO,KAAK,EAAE,CAAC;QAAC,IAAI,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAAC,MAAM,KAAK,CAAC;IAAC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,kBAAkB;QAAE,QAAQ,CAAC,wDAAwD,CAAC,CAAC;IAC9I,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,KAAkB;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IACpD,MAAM,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;IAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,QAAQ,EAAE,CAAC;IACpG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqLrC,CAAC;AAEF,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;WACtE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,IAAK,KAAiC,CAAC,EAAE,KAAK,IAAI,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAA6B;IACzE,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACpF,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;YAC7B,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC;YAC7C,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE,GAAG;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe;YAAE,MAAM,KAAK,CAAC;QAClD,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB,GAAqC,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC;AAEzG,MAAM,UAAU,0BAA0B,CAAC,YAAuD,EAAE;IAClG,MAAM,YAAY,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,SAAS,EAAE,CAAC;IAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,UAAuB,CAAC;QAC5B,IAAI,CAAC;YAAC,UAAU,GAAG,MAAM,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QACjE,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,SAAS,CAAC,KAAK,CAAC;gBAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;YACxE,QAAQ,CAAC,gDAAgD,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,OAAO,GAAyB,QAAQ,KAAK,SAAS;YAC1D,CAAC,CAAC;gBACA,MAAM;gBACN,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACpC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACpC,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI;gBAC7B,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACvD;YACD,CAAC,CAAC;gBACA,MAAM;gBACN,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACpC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACpC,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI;gBAC7B,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;gBAChE,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;aAClD,CAAC;QACJ,MAAM,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;IACvE,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,0BAA0B,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { implementationBaseline, workspaceSnapshotDigest } from "./implementation-baseline.js";
1
2
  import { isDeepStrictEqual } from "node:util";
2
3
  import { computeArtifactTreeDigest, computeWorkspaceSnapshot, computeWorkspaceTreeDigest, sha256 } from "../domain/digests.js";
3
4
  import { transitionStage, transitionWorkItem } from "../domain/states.js";
@@ -53,16 +54,6 @@ function objectRecord(value) {
53
54
  function sameStrings(left, right) {
54
55
  return left.length === right.length && left.every((value, index) => value === right[index]);
55
56
  }
56
- function workspaceSnapshotDigest(snapshot) {
57
- const entries = snapshot.map((entry) => {
58
- if (entry.type === "file")
59
- return { path: entry.path, type: entry.type, mode: entry.mode, digest: entry.digest };
60
- if (entry.type === "symlink")
61
- return { path: entry.path, type: entry.type, mode: entry.mode, target: entry.target };
62
- return { path: entry.path, type: entry.type, mode: entry.mode };
63
- });
64
- return sha256(`${JSON.stringify({ version: 1, entries })}\n`);
65
- }
66
57
  function claimedSnapshotStep(input) {
67
58
  const root = input.profile.steps.find(({ id }) => id === input.stageId);
68
59
  if (root === undefined)
@@ -538,28 +529,6 @@ function permanentFailureProblem(projection, stageId) {
538
529
  ? stepFailureProblem(result.failureCode, result.summary)
539
530
  : undefined;
540
531
  }
541
- // Recover only an engine-recorded implementation baseline bound to this Red.
542
- // Historical events also cover installations that already discarded expired Claims.
543
- async function implementationBaseline(projection) {
544
- const key = tddRedEvidenceKey(projection.workItemId);
545
- const red = projection.evidence[key];
546
- if (red === undefined)
547
- return undefined;
548
- const events = await readEvents(projection.controlPlane);
549
- for (let index = events.length - 1; index >= 0; index--) {
550
- const snapshot = objectRecord(objectRecord(events[index]?.result)?.projection);
551
- if (snapshot === undefined)
552
- continue;
553
- const historicalRed = objectRecord(objectRecord(snapshot.evidence)?.[key]);
554
- if (historicalRed?.evidenceId !== red.evidenceId)
555
- break;
556
- const claim = objectRecord(objectRecord(snapshot.claims)?.implement);
557
- if (claim?.stageId === "implement" && claim.inputWorkspaceTreeDigest === red.workspaceDigest
558
- && Array.isArray(claim.workspaceSnapshot) && workspaceSnapshotDigest(claim.workspaceSnapshot) === red.workspaceDigest)
559
- return claim;
560
- }
561
- return undefined;
562
- }
563
532
  async function acquireExecutableStep(input) {
564
533
  const maxAttempts = retryLimit(input.step.retry?.maxAttempts, input.state.snapshot.maxStageRetries);
565
534
  const retry = acquireRetry(ownProjection(input.projection.retries, input.stepInstanceId), input.stepInstanceId, maxAttempts);
@@ -668,7 +637,7 @@ async function acquireLoopStep(input) {
668
637
  if (attempt?.result?.status === "failed") {
669
638
  const retry = ownProjection(projection.retries, stepInstanceId);
670
639
  if (retry?.status === "exhausted") {
671
- return { projection, action: { action: "blocked", problems: [retryExhaustedProblem(stepInstanceId)] }, skippedStepIds };
640
+ return { projection, action: { action: "blocked", problems: [retryExhaustedProblem(stepInstanceId, ownProjection(projection.retries, stepInstanceId))] }, skippedStepIds };
672
641
  }
673
642
  selected = { step: child, stepInstanceId };
674
643
  break;
@@ -831,7 +800,7 @@ export async function acquireNextLocked(input) {
831
800
  return { step: candidate, problem: loopLimitProblem(loop) };
832
801
  const stepInstanceId = exhaustedRetryInstanceId(projection, candidate.id);
833
802
  if (stepInstanceId !== undefined)
834
- return { step: candidate, problem: retryExhaustedProblem(stepInstanceId) };
803
+ return { step: candidate, problem: retryExhaustedProblem(stepInstanceId, ownProjection(projection.retries, stepInstanceId)) };
835
804
  const problem = permanentFailureProblem(projection, candidate.id);
836
805
  return problem === undefined ? false : { step: candidate, problem };
837
806
  }).find((candidate) => candidate !== false);
@@ -1 +1 @@
1
- {"version":3,"file":"acquire.js","sourceRoot":"","sources":["../../src/application/acquire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acquire.js","sourceRoot":"","sources":["../../src/application/acquire.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { RuntimeProjection, RuntimeClaim } from "../storage/control-plane.js";
2
+ export declare function workspaceSnapshotDigest(snapshot: RuntimeClaim["workspaceSnapshot"]): string;
3
+ export declare function implementationBaseline(projection: RuntimeProjection): Promise<RuntimeClaim | undefined>;
@@ -0,0 +1,41 @@
1
+ import { sha256 } from "../domain/digests.js";
2
+ import { readEvents } from "../storage/events.js";
3
+ import { tddRedEvidenceKey } from "../engine/verification.js";
4
+ function objectRecord(value) {
5
+ return value !== null && typeof value === "object" && !Array.isArray(value) ? value : undefined;
6
+ }
7
+ export function workspaceSnapshotDigest(snapshot) {
8
+ const entries = snapshot.map(entry => entry.type === "file" ? { path: entry.path, type: entry.type, mode: entry.mode, digest: entry.digest }
9
+ : entry.type === "symlink" ? { path: entry.path, type: entry.type, mode: entry.mode, target: entry.target }
10
+ : { path: entry.path, type: entry.type, mode: entry.mode });
11
+ return sha256(`${JSON.stringify({ version: 1, entries })}\n`);
12
+ }
13
+ // Recover only an engine-recorded implementation baseline bound to this Red.
14
+ // Historical events also cover installations that already discarded expired Claims.
15
+ export async function implementationBaseline(projection) {
16
+ const key = tddRedEvidenceKey(projection.workItemId);
17
+ const red = projection.evidence[key];
18
+ if (red === undefined)
19
+ return undefined;
20
+ const recovery = objectRecord(projection.evidence["testing.red-revalidation"]);
21
+ const recovered = recovery?.baseline;
22
+ if (recovery?.redEvidenceId === red.evidenceId && recovered?.stageId === "implement"
23
+ && recovered.inputWorkspaceTreeDigest === red.workspaceDigest && Array.isArray(recovered.workspaceSnapshot)
24
+ && workspaceSnapshotDigest(recovered.workspaceSnapshot) === red.workspaceDigest)
25
+ return recovered;
26
+ const events = await readEvents(projection.controlPlane);
27
+ for (let index = events.length - 1; index >= 0; index--) {
28
+ const snapshot = objectRecord(objectRecord(events[index]?.result)?.projection);
29
+ if (snapshot === undefined)
30
+ continue;
31
+ const historicalRed = objectRecord(objectRecord(snapshot.evidence)?.[key]);
32
+ if (historicalRed?.evidenceId !== red.evidenceId)
33
+ break;
34
+ const claim = objectRecord(objectRecord(snapshot.claims)?.implement);
35
+ if (claim?.stageId === "implement" && claim.inputWorkspaceTreeDigest === red.workspaceDigest
36
+ && Array.isArray(claim.workspaceSnapshot) && workspaceSnapshotDigest(claim.workspaceSnapshot) === red.workspaceDigest)
37
+ return claim;
38
+ }
39
+ return undefined;
40
+ }
41
+ //# sourceMappingURL=implementation-baseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementation-baseline.js","sourceRoot":"","sources":["../../src/application/implementation-baseline.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import { recoveryGuidance } from "./recovery-guidance.js";
2
+ import { parseTrustedEvidence } from "../engine/tdd/red-gate.js";
3
+ import { tddRedEvidenceKey } from "../engine/verification.js";
1
4
  import { readTestingConfigMigration, testingConfigEvidenceKey } from "../storage/testing-config-migration.js";
2
5
  import { validate } from "../schemas/index.js";
3
6
  import { recoverControlPlane } from "../storage/control-plane.js";
@@ -22,7 +25,10 @@ export async function inspectApplication(input) {
22
25
  status: external.status,
23
26
  }));
24
27
  const failedRed = state.projection.contexts["verify-red"];
28
+ const red = parseTrustedEvidence(state.projection.evidence[tddRedEvidenceKey(state.item.workItemId)]);
25
29
  return {
30
+ ...await recoveryGuidance(state),
31
+ ...(red === undefined ? {} : { redEvidenceId: red.evidenceId }),
26
32
  ...(state.projection.stages["verify-red"]?.status !== "failed" || !failedRed?.workPackage?.attemptId ? {} : { failedTestGate: { stepId: "verify-red", attemptId: failedRed.workPackage.attemptId, summary: failedRed.result?.summary ?? "" } }),
27
33
  testingConfigDigest: readTestingConfigMigration(state.projection.evidence[testingConfigEvidenceKey], state.item.execution.configDigest)?.configDigest ?? state.item.execution.configDigest,
28
34
  workItemId: state.item.workItemId,
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/application/inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/application/inspect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { WorkItemId } from "../domain/ids.js";
2
+ /** Selects an existing guarded recovery operation; never approves or sends external writes. */
3
+ export declare function recoverApplication(input: {
4
+ root: string;
5
+ workItemId: WorkItemId;
6
+ actor: string;
7
+ reason: string;
8
+ }): Promise<import("../protocol/application.js").WorkItemView>;
@@ -0,0 +1,21 @@
1
+ import { inspectApplication } from "./inspect.js";
2
+ import { revalidateRed } from "./revalidate-red.js";
3
+ import { retryTestGate } from "./retry-test-gate.js";
4
+ import { VerificationError } from "../engine/tdd/types.js";
5
+ /** Selects an existing guarded recovery operation; never approves or sends external writes. */
6
+ export async function recoverApplication(input) {
7
+ if (!input.actor.trim() || !input.reason.trim())
8
+ throw new VerificationError("WSSPEC_TDD_GATE_CONFIGURATION_INVALID", "恢复必须提供操作者和原因。");
9
+ const view = await inspectApplication({ root: input.root, workItemId: input.workItemId });
10
+ const action = view.nextAction;
11
+ if (action.kind === "revalidate-red" && action.expectedEvidence !== undefined) {
12
+ await revalidateRed({ ...input, expectedEvidence: action.expectedEvidence });
13
+ }
14
+ else if (action.kind === "retry-test-gate" && action.expectedAttempt !== undefined) {
15
+ await retryTestGate({ ...input, expectedAttempt: action.expectedAttempt });
16
+ }
17
+ else
18
+ return view;
19
+ return inspectApplication({ root: input.root, workItemId: input.workItemId });
20
+ }
21
+ //# sourceMappingURL=recover.js.map