ws-spec-kit 0.1.0-beta.1 → 0.1.0-beta.3

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 (95) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/connectors/git-native.d.ts +4 -1
  3. package/dist/adapters/connectors/git-native.js +87 -23
  4. package/dist/adapters/connectors/git-native.js.map +1 -1
  5. package/dist/adapters/connectors/github-cli.d.ts +1 -0
  6. package/dist/adapters/connectors/github-cli.js +1 -0
  7. package/dist/adapters/connectors/github-cli.js.map +1 -1
  8. package/dist/adapters/connectors/gitlab-cli.d.ts +1 -0
  9. package/dist/adapters/connectors/gitlab-cli.js +1 -0
  10. package/dist/adapters/connectors/gitlab-cli.js.map +1 -1
  11. package/dist/adapters/connectors/lark-cli.d.ts +1 -0
  12. package/dist/adapters/connectors/lark-cli.js +2 -0
  13. package/dist/adapters/connectors/lark-cli.js.map +1 -1
  14. package/dist/adapters/process/spawn-json.d.ts +2 -1
  15. package/dist/adapters/process/spawn-json.js +13 -0
  16. package/dist/adapters/process/spawn-json.js.map +1 -1
  17. package/dist/adapters/skills/install.js +76 -13
  18. package/dist/adapters/skills/install.js.map +1 -1
  19. package/dist/application/acquire.js +60 -30
  20. package/dist/application/acquire.js.map +1 -1
  21. package/dist/application/artifact.js +12 -5
  22. package/dist/application/artifact.js.map +1 -1
  23. package/dist/application/decide.js +39 -6
  24. package/dist/application/decide.js.map +1 -1
  25. package/dist/application/external-action.d.ts +3 -0
  26. package/dist/application/external-action.js +220 -54
  27. package/dist/application/external-action.js.map +1 -1
  28. package/dist/application/snapshot.d.ts +2 -1
  29. package/dist/application/snapshot.js +5 -1
  30. package/dist/application/snapshot.js.map +1 -1
  31. package/dist/application/start.js +3 -35
  32. package/dist/application/start.js.map +1 -1
  33. package/dist/application/state.d.ts +1 -0
  34. package/dist/application/state.js +7 -46
  35. package/dist/application/state.js.map +1 -1
  36. package/dist/application/submit.js +17 -4
  37. package/dist/application/submit.js.map +1 -1
  38. package/dist/cli/main.js +1 -1
  39. package/dist/domain/digests.d.ts +1 -1
  40. package/dist/domain/digests.js +27 -3
  41. package/dist/domain/digests.js.map +1 -1
  42. package/dist/domain/workflow.d.ts +2 -1
  43. package/dist/engine/approvals.d.ts +36 -3
  44. package/dist/engine/approvals.js +115 -23
  45. package/dist/engine/approvals.js.map +1 -1
  46. package/dist/engine/archive.d.ts +1 -0
  47. package/dist/engine/archive.js +9 -4
  48. package/dist/engine/archive.js.map +1 -1
  49. package/dist/engine/compiler.js +2 -1
  50. package/dist/engine/compiler.js.map +1 -1
  51. package/dist/engine/external-effects/authorization.d.ts +3 -0
  52. package/dist/engine/external-effects/authorization.js +8 -0
  53. package/dist/engine/external-effects/authorization.js.map +1 -1
  54. package/dist/engine/scheduler.js +3 -9
  55. package/dist/engine/scheduler.js.map +1 -1
  56. package/dist/protocol/application.d.ts +25 -4
  57. package/dist/protocol/public-contract.d.ts +5 -5
  58. package/dist/protocol/public-contract.js +6 -5
  59. package/dist/protocol/public-contract.js.map +1 -1
  60. package/dist/protocol/work-package.d.ts +20 -2
  61. package/dist/registry/connectors/external-executor.js +5 -4
  62. package/dist/registry/connectors/external-executor.js.map +1 -1
  63. package/dist/registry/connectors/requirement-source.d.ts +3 -1
  64. package/dist/registry/connectors/requirement-source.js +9 -4
  65. package/dist/registry/connectors/requirement-source.js.map +1 -1
  66. package/dist/registry/connectors/secret-detector.d.ts +1 -0
  67. package/dist/registry/connectors/secret-detector.js +14 -1
  68. package/dist/registry/connectors/secret-detector.js.map +1 -1
  69. package/dist/registry/skills/resolver.d.ts +3 -1
  70. package/dist/registry/skills/resolver.js +3 -2
  71. package/dist/registry/skills/resolver.js.map +1 -1
  72. package/dist/schemas/definitions.d.ts +1 -1
  73. package/dist/schemas/definitions.js +217 -6
  74. package/dist/schemas/definitions.js.map +1 -1
  75. package/dist/storage/control-plane.d.ts +13 -0
  76. package/dist/storage/control-plane.js +49 -8
  77. package/dist/storage/control-plane.js.map +1 -1
  78. package/dist/storage/events.d.ts +1 -1
  79. package/dist/storage/events.js.map +1 -1
  80. package/dist/storage/work-items.d.ts +8 -1
  81. package/dist/storage/work-items.js +150 -35
  82. package/dist/storage/work-items.js.map +1 -1
  83. package/dist/workflow-package/types.d.ts +2 -0
  84. package/dist/workflow-package/types.js.map +1 -1
  85. package/dist/workflow-package/workflow-v1.js +4 -2
  86. package/dist/workflow-package/workflow-v1.js.map +1 -1
  87. package/package.json +2 -2
  88. package/resources/workflows/documentation-delivery/workflow.yaml +15 -0
  89. package/resources/workflows/feature-delivery/workflow.yaml +18 -0
  90. package/schemas/builtin-agent-action-v1.schema.json +20 -0
  91. package/schemas/builtin-agent-action-v2.schema.json +867 -0
  92. package/schemas/builtin-application-decision-input-v2.schema.json +381 -0
  93. package/schemas/builtin-work-item-v1.schema.json +4 -2
  94. package/schemas/builtin-work-package-v1.schema.json +20 -0
  95. package/schemas/builtin-work-package-v2.schema.json +293 -0
@@ -117,6 +117,7 @@ async function assertExecutableUnchanged(executable) {
117
117
  function assertRequest(request) {
118
118
  if (!Number.isSafeInteger(request.timeoutMs) || request.timeoutMs < 1
119
119
  || !Number.isSafeInteger(request.maxStdoutBytes) || request.maxStdoutBytes < 1
120
+ || (request.signal !== undefined && !(request.signal instanceof AbortSignal))
120
121
  || request.argv.some((part) => typeof part !== "string" || part.includes("\0"))) {
121
122
  throw new ProcessJsonError("WSSPEC_PROCESS_REQUEST_INVALID", "进程请求参数无效。", "");
122
123
  }
@@ -200,6 +201,9 @@ async function runProcess(request) {
200
201
  let stdoutBytes = 0;
201
202
  let stderrBytes = 0;
202
203
  let termination;
204
+ if (request.signal?.aborted === true) {
205
+ throw new ProcessJsonError("WSSPEC_PROCESS_ABORTED", "Connector 子进程执行已取消。", "");
206
+ }
203
207
  const child = spawn(executable.path, [...request.argv], {
204
208
  shell: false,
205
209
  env: environment.env,
@@ -233,6 +237,10 @@ async function runProcess(request) {
233
237
  };
234
238
  const timeoutTimer = setTimeout(() => terminate("timeout"), request.timeoutMs);
235
239
  timeoutTimer.unref();
240
+ const abort = () => terminate("aborted");
241
+ request.signal?.addEventListener("abort", abort, { once: true });
242
+ if (request.signal?.aborted === true)
243
+ abort();
236
244
  child.stdout.on("data", (chunk) => {
237
245
  stdoutBytes = boundedAppend(stdoutChunks, stdoutBytes, chunk, request.maxStdoutBytes);
238
246
  if (stdoutBytes > request.maxStdoutBytes)
@@ -245,10 +253,12 @@ async function runProcess(request) {
245
253
  });
246
254
  child.once("error", () => {
247
255
  clearTimeout(timeoutTimer);
256
+ request.signal?.removeEventListener("abort", abort);
248
257
  void cleanupFailure().then(() => reject(new ProcessJsonError("WSSPEC_PROCESS_SPAWN_FAILED", "无法启动 Connector 子进程。", "")), reject);
249
258
  });
250
259
  child.once("close", (code, closeSignal) => {
251
260
  clearTimeout(timeoutTimer);
261
+ request.signal?.removeEventListener("abort", abort);
252
262
  closed = true;
253
263
  exitCode = code;
254
264
  signal = closeSignal;
@@ -259,6 +269,9 @@ async function runProcess(request) {
259
269
  child.stdin.end(`${serializedInput}\n`);
260
270
  const result = await resultPromise;
261
271
  try {
272
+ if (termination === "aborted") {
273
+ throw new ProcessJsonError("WSSPEC_PROCESS_ABORTED", "Connector 子进程执行已取消。", "");
274
+ }
262
275
  if (termination === "timeout") {
263
276
  throw new ProcessJsonError("WSSPEC_PROCESS_TIMEOUT", "Connector 子进程执行超时。", "");
264
277
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-json.js","sourceRoot":"","sources":["../../../src/adapters/process/spawn-json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-json.js","sourceRoot":"","sources":["../../../src/adapters/process/spawn-json.ts"],"names":[],"mappings":"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"}
@@ -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 = 7;
11
+ const currentDriverVersion = 9;
12
12
  const maximumDriverBytes = 1048576n;
13
13
  const driverDescription = "使用 WSSpecKit 驱动软件交付 Workflow;新任务、已有任务或用户明确要求时调用。";
14
14
  const driverFrontMatterKeys = ["description", "name", "wsspeckit-driver-content-digest", "wsspeckit-driver-version"];
@@ -25,6 +25,8 @@ const canonicalDriverDigests = {
25
25
  5: ["sha256:2168d90a410d3d250645efb01911d09bc0f72259835fa2800819eba6838b65db"],
26
26
  6: ["sha256:dbee7635c12c75cd3548241e36e919f53afa7f6ca5f93a147d2dc674cc39bb25"],
27
27
  7: ["sha256:cccac8ae5fa0fe9df0b6619afc8566be7964b3ae2a5d65f93002a3def5360039"],
28
+ 8: ["sha256:1dcde3f1ac6354c638e72d06f38c52c08eef3d23997d424ec4fb4965658828d4"],
29
+ 9: ["sha256:c6f840578f56f519abf2b1d46dcad1b9677ab967f3f10b8db52cc75059c05c51"],
28
30
  },
29
31
  claude: {
30
32
  1: [
@@ -37,6 +39,8 @@ const canonicalDriverDigests = {
37
39
  5: ["sha256:bbaf8982709f2a8a38e62fc1d4142725d9a38932385daad0bba70307295e7f62"],
38
40
  6: ["sha256:3d425ec1ad828b1c58768225bc07e5fa00468566d63997ce8b346c9ba0e50c1f"],
39
41
  7: ["sha256:c24cc8db341e713dc68558ebfa89ea7e697375ed607158daf8376b859e2cc2ff"],
42
+ 8: ["sha256:473652ca39298ac466cac9afe46200d75fccfe0824e196a7c9c48094f1b9a4b2"],
43
+ 9: ["sha256:7db41e216376d8ff9e453a4cfde3a7d0ac938a7e9910240cfe7873df9e32ac25"],
40
44
  },
41
45
  cursor: {
42
46
  1: [
@@ -49,6 +53,8 @@ const canonicalDriverDigests = {
49
53
  5: ["sha256:cb9f9b0b7698c91a8b92443e3818cb5e875392d8f2a97666408ed38967b3d2a7"],
50
54
  6: ["sha256:fde89e7d933eea21e9ef1b9d32f3e8a2b2c5905664cc7f924ad02de4390e73bc"],
51
55
  7: ["sha256:b9bf5f6060ac8d8c7c24aedea265724623e54d76af91c014fc2d8e450ecedb0d"],
56
+ 8: ["sha256:c433dcaa8a1daddd77029c798581d67199efbfb1bb0ef9f29cfbae9d60387997"],
57
+ 9: ["sha256:57c9f82585fff57fa754f3d91c08136296e935d2046cde68160e6b4a7f54c22d"],
52
58
  },
53
59
  generic: {
54
60
  1: [
@@ -61,6 +67,8 @@ const canonicalDriverDigests = {
61
67
  5: ["sha256:6a5288b339b5bc2ae41f3b445863b32ad11428d5b6362ba4a97bd025cafdcca9"],
62
68
  6: ["sha256:675dbd85103232c879728b080f648b64701813a540050a1af0d622655f37cde3"],
63
69
  7: ["sha256:b10bf3dee31acfa1364ebd8668659095e433ac572450670e1a22130f00c68d3b"],
70
+ 8: ["sha256:08eae7547d185a362fb81ef267c91b9aedcabae870b907154c154a3212f2576c"],
71
+ 9: ["sha256:b12c0a55f82ea7028735ce96e11073f4a5faff2b304aa956fb9d8da7e77f60e0"],
64
72
  },
65
73
  };
66
74
  function contract(agent) {
@@ -95,7 +103,6 @@ function contract(agent) {
95
103
  const decideActionCases = {
96
104
  ...actionCases,
97
105
  execute: {
98
- next: "submit",
99
106
  capture: {
100
107
  workPackage: "result.workPackage",
101
108
  stepId: "result.workPackage.stepId",
@@ -103,6 +110,18 @@ function contract(agent) {
103
110
  leaseToken: "result.workPackage.lease.token",
104
111
  requiredOutputs: "result.workPackage.requiredOutputs",
105
112
  },
113
+ routeByValue: {
114
+ field: "result.resumeSubmission",
115
+ cases: { true: { next: "submit" } },
116
+ default: {
117
+ next: "artifact",
118
+ initialize: actionCases.execute.initialize,
119
+ },
120
+ },
121
+ },
122
+ rejection_confirmed: {
123
+ next: "decide",
124
+ capture: { rejectionToken: "result.rejectionConfirmation.token" },
106
125
  },
107
126
  };
108
127
  return {
@@ -199,7 +218,7 @@ function body(agent) {
199
218
  "每次 acquire 都读取 `result.action` 并按下列分支处理:",
200
219
  "",
201
220
  "- `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。",
202
- "- `await_approval`:读取并向用户展示 `result.approval`,停止自动执行;不得代替用户批准。人工决定写入 `<decisionPath>` 后执行 `wspec decide --input \"<decisionPath>\" --actor \"<actor>\"`。若 decide 返回 `execute`,必须捕获其完整 Work Package identity,并使用原样未改的 `<resultPath>` 直接重新 submit,不得再次执行 Artifact authoring;若 Host 会话已中断,再从 inspect / acquire 恢复。",
221
+ "- `await_approval`:读取并向用户展示 `result.approval`,停止自动执行且不得代替用户批准。用户明确批准时,必须通过真实交互式 TTY 提交 `approved` 决定。用户明确提出修改要求时,将原话作为 `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 恢复。",
203
222
  "- `blocked`:读取并展示 `result.problems`,停止循环;只有问题被外部解决后才从 inspect / acquire 恢复。",
204
223
  "- `completed`:读取 `result.summary`,报告完成并停止,不再 acquire 或 submit。",
205
224
  "",
@@ -321,7 +340,7 @@ function ownedSkillVersion(content, agent) {
321
340
  && source.description === driverDescription
322
341
  && keys.length === driverFrontMatterKeys.length
323
342
  && keys.every((key, index) => key === driverFrontMatterKeys[index])
324
- && (version === 1 || version === 2 || version === 3 || version === 4 || version === 5 || version === 6 || version === 7)
343
+ && (version === 1 || version === 2 || version === 3 || version === 4 || version === 5 || version === 6 || version === 7 || version === 8 || version === 9)
325
344
  && typeof digest === "string"
326
345
  && digest === sha256(match[2])
327
346
  && canonicalDriverDigests[agent][version].includes(digest);
@@ -410,11 +429,21 @@ def existing_file(directory):
410
429
  fail()
411
430
  handle = os.open("SKILL.md", os.O_RDONLY | os.O_NOFOLLOW, dir_fd=directory)
412
431
  after = os.fstat(handle)
413
- if (before.st_dev, before.st_ino, before.st_size) != (after.st_dev, after.st_ino, after.st_size):
432
+ if (not stat.S_ISREG(after.st_mode) or after.st_nlink != 1
433
+ or (before.st_dev, before.st_ino, before.st_mode, before.st_size) != (after.st_dev, after.st_ino, after.st_mode, after.st_size)):
414
434
  os.close(handle)
415
435
  fail()
416
436
  return handle
417
437
 
438
+ def confirm_open_file(directory, handle, expected_size):
439
+ opened = os.fstat(handle)
440
+ current = os.stat("SKILL.md", dir_fd=directory, follow_symlinks=False)
441
+ if (not stat.S_ISREG(opened.st_mode) or opened.st_nlink != 1
442
+ or not stat.S_ISREG(current.st_mode) or current.st_nlink != 1
443
+ or opened.st_size != expected_size
444
+ or (opened.st_dev, opened.st_ino, opened.st_mode, opened.st_size) != (current.st_dev, current.st_ino, current.st_mode, current.st_size)):
445
+ fail()
446
+
418
447
  def verify(directory, expected_digest, expected_size):
419
448
  handle = existing_file(directory)
420
449
  if handle is None:
@@ -430,6 +459,7 @@ def verify(directory, expected_digest, expected_size):
430
459
  fail()
431
460
  if len(data) != expected_size or hashlib.sha256(data).hexdigest() != expected_digest:
432
461
  fail()
462
+ confirm_open_file(directory, handle, expected_size)
433
463
  finally:
434
464
  os.close(handle)
435
465
 
@@ -441,8 +471,10 @@ def create(directory, content, dry_run):
441
471
  if dry_run:
442
472
  return False
443
473
  handle = None
474
+ created_identity = None
444
475
  try:
445
476
  handle = os.open("SKILL.md", os.O_WRONLY | os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW, 0o600, dir_fd=directory)
477
+ created_identity = os.fstat(handle)
446
478
  offset = 0
447
479
  while offset < len(content):
448
480
  written = os.write(handle, content[offset:])
@@ -457,6 +489,15 @@ def create(directory, content, dry_run):
457
489
  except BaseException:
458
490
  if handle is not None:
459
491
  os.close(handle)
492
+ if created_identity is not None:
493
+ try:
494
+ current = os.stat("SKILL.md", dir_fd=directory, follow_symlinks=False)
495
+ if (stat.S_ISREG(current.st_mode) and current.st_nlink == 1
496
+ and (current.st_dev, current.st_ino) == (created_identity.st_dev, created_identity.st_ino)):
497
+ os.unlink("SKILL.md", dir_fd=directory)
498
+ os.fsync(directory)
499
+ except BaseException:
500
+ pass
460
501
  raise
461
502
 
462
503
  try:
@@ -470,26 +511,48 @@ try:
470
511
  dry_run = request_value(source, "dryRun", bool)
471
512
  directory = open_target(target, target_dev, target_ino)
472
513
  created = False
514
+ expected_digest = None
515
+ expected_size = None
516
+ created_identity = None
473
517
  try:
474
518
  if operation == "create":
475
519
  encoded = request_value(source, "contentBase64", str)
476
520
  content = base64.b64decode(encoded, validate=True)
477
521
  if len(content) > 1048576:
478
522
  fail()
523
+ expected_digest = hashlib.sha256(content).hexdigest()
524
+ expected_size = len(content)
479
525
  created = create(directory, content, dry_run)
480
526
  if created:
481
- verify(directory, hashlib.sha256(content).hexdigest(), len(content))
527
+ created_stat = os.stat("SKILL.md", dir_fd=directory, follow_symlinks=False)
528
+ if not stat.S_ISREG(created_stat.st_mode) or created_stat.st_nlink != 1:
529
+ fail()
530
+ created_identity = (created_stat.st_dev, created_stat.st_ino)
531
+ verify(directory, expected_digest, expected_size)
482
532
  elif operation == "verify":
483
- digest = request_value(source, "expectedDigest", str)
484
- size = request_value(source, "expectedSize", int)
485
- if dry_run not in (True, False) or len(digest) != 64 or size < 0 or size > 1048576:
533
+ expected_digest = request_value(source, "expectedDigest", str)
534
+ expected_size = request_value(source, "expectedSize", int)
535
+ if dry_run not in (True, False) or len(expected_digest) != 64 or expected_size < 0 or expected_size > 1048576:
486
536
  fail()
487
- verify(directory, digest, size)
537
+ verify(directory, expected_digest, expected_size)
488
538
  else:
489
539
  fail()
490
540
  confirmed = open_target(target, target_dev, target_ino)
491
- os.close(confirmed)
541
+ try:
542
+ if operation == "verify" or created:
543
+ verify(confirmed, expected_digest, expected_size)
544
+ finally:
545
+ os.close(confirmed)
492
546
  except BaseException:
547
+ if created_identity is not None:
548
+ try:
549
+ current = os.stat("SKILL.md", dir_fd=directory, follow_symlinks=False)
550
+ if (stat.S_ISREG(current.st_mode) and current.st_nlink == 1
551
+ and (current.st_dev, current.st_ino) == created_identity):
552
+ os.unlink("SKILL.md", dir_fd=directory)
553
+ os.fsync(directory)
554
+ except BaseException:
555
+ pass
493
556
  raise
494
557
  finally:
495
558
  os.close(directory)
@@ -541,10 +604,10 @@ export function createDriverSkillInstaller(overrides = {}) {
541
604
  throw error;
542
605
  }
543
606
  const existing = await assertOwned(target, input.agent);
607
+ const content = skill(input.agent);
544
608
  if (existing !== undefined && existing.version !== currentDriverVersion) {
545
- conflict("旧版 Driver 不进行原地升级;请移除旧文件后重新安装。");
609
+ conflict("安装目标是旧版 WSSpecKit Driver;安全安装器拒绝原地覆盖,请人工迁移后重试。");
546
610
  }
547
- const content = skill(input.agent);
548
611
  const request = existing === undefined
549
612
  ? {
550
613
  target,
@@ -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":"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"}
@@ -1,7 +1,7 @@
1
1
  import { isDeepStrictEqual } from "node:util";
2
2
  import { computeArtifactTreeDigest, computeWorkspaceSnapshot, computeWorkspaceTreeDigest, sha256 } from "../domain/digests.js";
3
3
  import { transitionStage, transitionWorkItem } from "../domain/states.js";
4
- import { revalidateGlobalSkillLock } from "../registry/skills/resolver.js";
4
+ import { revalidateSkillLock } from "../registry/skills/resolver.js";
5
5
  import { validate } from "../schemas/index.js";
6
6
  import { applicationCloseEvidenceKey, recoverControlPlane } from "../storage/control-plane.js";
7
7
  import { mutateControlPlane } from "../engine/scheduler.js";
@@ -9,13 +9,17 @@ import { closeChecklistForWorktree } from "../engine/archive.js";
9
9
  import { conditionScope, evaluateCondition } from "../engine/control/condition.js";
10
10
  import { advanceLoop, blockLoop, loopLimitProblem, loopStepInstanceId, startLoop, succeedLoop, } from "../engine/control/loop.js";
11
11
  import { implementationActors } from "../engine/actor-roles.js";
12
+ import { approvalRevisionEvidenceKey } from "../engine/approvals.js";
12
13
  import { acquireRetry, interruptedRetry, isRetryableStepFailure, isStepFailureCode, retryExhaustedProblem, retryLimit, stepFailureProblem, } from "../engine/control/retry.js";
13
14
  import { rebindAdditionalGlobalRoots } from "../storage/project-config.js";
15
+ import { loadWorkflowPackage } from "../workflow-package/loader.js";
16
+ import { lockWorkflowPackage } from "../workflow-package/lock.js";
14
17
  import { assertImplementHasTrustedRed, fixedTestGateForState, tddRedEvidenceKey } from "../engine/verification.js";
15
18
  import { loadApplicationState, selectedProfile } from "./state.js";
16
19
  import { externalActionApprovalSummary, externalActionRejectionKey } from "./external-action.js";
17
20
  import { readEvents } from "../storage/events.js";
18
21
  import { workPackageIdentityDigest } from "../domain/work-package-identity.js";
22
+ import { materializeWorkItem } from "../storage/work-items.js";
19
23
  export class ApplicationAcquireError extends Error {
20
24
  code;
21
25
  constructor(code, message) {
@@ -108,7 +112,8 @@ async function activeClaimContext(input) {
108
112
  || !rawClaim.allowedPaths.every((value) => typeof value === "string") || !Array.isArray(rawClaim.workspaceSnapshot)) {
109
113
  throw new Error("active Claim or Context shape is invalid");
110
114
  }
111
- const workPackage = validate("builtin.work-package.v1", context.workPackage);
115
+ const workPackageVersion = objectRecord(context.workPackage)?.version;
116
+ const workPackage = validate(workPackageVersion === 1 ? "builtin.work-package.v1" : "builtin.work-package.v2", context.workPackage);
112
117
  const step = claimedSnapshotStep(input);
113
118
  const stageStatus = input.projection.stages[input.stageId]?.status;
114
119
  const claimedAt = Date.parse(rawClaim.claimedAt);
@@ -139,17 +144,7 @@ async function activeClaimContext(input) {
139
144
  }
140
145
  async function reacquireActiveClaim(input) {
141
146
  const { context, step } = input.active;
142
- const additionalGlobalRoots = await rebindAdditionalGlobalRoots({
143
- root: input.root,
144
- rootIds: input.state.snapshot.skillResolution.additionalGlobalRootIds,
145
- });
146
- await revalidateGlobalSkillLock({
147
- lock: input.state.snapshot.skillLock,
148
- provider: input.state.snapshot.skillResolution.provider,
149
- projectRoot: input.state.worktree,
150
- home: input.dependencies.home,
151
- additionalGlobalRoots,
152
- });
147
+ await revalidateExecutionSources(input.state, input.root, input.dependencies.home);
153
148
  const token = crypto.randomUUID();
154
149
  const expiresAt = new Date(input.now.getTime() + input.state.snapshot.leaseTtlSeconds * 1000).toISOString();
155
150
  const workPackage = {
@@ -183,6 +178,30 @@ async function reacquireActiveClaim(input) {
183
178
  },
184
179
  };
185
180
  }
181
+ async function revalidateExecutionSources(state, root, home) {
182
+ let pkg;
183
+ try {
184
+ pkg = await loadWorkflowPackage({ root: state.worktree, ref: state.snapshot.workflowRef });
185
+ }
186
+ catch {
187
+ throw new ApplicationAcquireError("WSSPEC_WORKFLOW_SNAPSHOT_CHANGED", "Workflow Package 当前来源缺失或已变化。");
188
+ }
189
+ if (!isDeepStrictEqual(lockWorkflowPackage(pkg), state.snapshot.workflowPackageLock)) {
190
+ throw new ApplicationAcquireError("WSSPEC_WORKFLOW_SNAPSHOT_CHANGED", "Workflow Package 当前内容与已有 Lock 不一致。");
191
+ }
192
+ const additionalGlobalRoots = await rebindAdditionalGlobalRoots({
193
+ root,
194
+ rootIds: state.snapshot.skillResolution.additionalGlobalRootIds,
195
+ });
196
+ await revalidateSkillLock({
197
+ lock: state.snapshot.skillLock,
198
+ provider: state.snapshot.skillResolution.provider,
199
+ projectRoot: state.worktree,
200
+ home,
201
+ package: pkg,
202
+ additionalGlobalRoots,
203
+ });
204
+ }
186
205
  function completedResults(projection, stageId) {
187
206
  const direct = attemptRecord(projection.contexts[stageId])?.result;
188
207
  const loop = ownProjection(projection.loops, stageId);
@@ -289,7 +308,10 @@ function pendingExternalAction(projection, workItemId, now) {
289
308
  continue;
290
309
  return { action: "blocked", problems: [{ code: "WSSPEC_EXTERNAL_ATTEMPT_MISMATCH", message: "外部动作 Grant 绑定的 Attempt/Lease 已失效。", retryable: false }] };
291
310
  }
292
- return { action: "execute", workPackage: context.workPackage };
311
+ if (context.workPackage.version !== 1) {
312
+ return { action: "blocked", problems: [{ code: "WSSPEC_EXTERNAL_ATTEMPT_MISMATCH", message: "外部动作恢复只允许绑定普通 v1 Work Package。", retryable: false }] };
313
+ }
314
+ return { action: "execute", workPackage: context.workPackage, resumeSubmission: true };
293
315
  }
294
316
  }
295
317
  return undefined;
@@ -412,11 +434,19 @@ function workPackageFor(input) {
412
434
  ...(output.contentLevel === undefined ? {} : { contentLevel: output.contentLevel }),
413
435
  };
414
436
  });
415
- const value = {
416
- version: 1,
437
+ const stepInstanceId = input.stepInstanceId ?? input.step.id;
438
+ const revisionRequestId = input.projection.evidence[approvalRevisionEvidenceKey(stepInstanceId)];
439
+ const revisionApproval = typeof revisionRequestId === "string"
440
+ ? input.projection.approvals[revisionRequestId]
441
+ : undefined;
442
+ const revisionRequest = revisionApproval?.stageId !== stepInstanceId || revisionApproval.status !== "rejected" || revisionApproval.feedback === undefined
443
+ ? undefined
444
+ : { approvalRequestId: revisionApproval.requestId, feedback: revisionApproval.feedback };
445
+ const common = {
417
446
  workItemId: input.workItemId,
418
447
  stepId: input.stepInstanceId ?? input.step.id,
419
448
  attemptId: input.attemptId,
449
+ workspace: { mode: input.step.workspace ?? "isolated-worktree", materialized: input.materialized },
420
450
  lease: { token: input.token, expiresAt: input.expiresAt },
421
451
  objective: input.step.objective ?? `${input.step.uses}${input.step.action === undefined ? "" : `/${input.step.action}`}`,
422
452
  ...(input.step.artifactLevel === undefined ? {} : { artifactLevel: input.step.artifactLevel }),
@@ -435,7 +465,10 @@ function workPackageFor(input) {
435
465
  gates: input.step.gates.map((id) => ({ id, evidence: gatesById.get(id)?.evidence ?? "trusted", required: true })),
436
466
  resultSchema: "builtin.submit-result.v1",
437
467
  };
438
- return validate("builtin.work-package.v1", value);
468
+ const value = revisionRequest === undefined
469
+ ? { ...common, version: 1 }
470
+ : { ...common, version: 2, revisionRequest };
471
+ return validate(value.version === 1 ? "builtin.work-package.v1" : "builtin.work-package.v2", value);
439
472
  }
440
473
  function completed(workItemId, status, message) {
441
474
  return { action: "completed", summary: { workItemId: workItemId, status, message } };
@@ -521,6 +554,7 @@ async function acquireExecutableStep(input) {
521
554
  snapshot: input.state.snapshot,
522
555
  profile: input.profile,
523
556
  stepInstanceId: input.stepInstanceId,
557
+ materialized: input.state.item.execution.materialized !== false,
524
558
  ...(input.artifacts === undefined ? {} : { artifacts: input.artifacts }),
525
559
  });
526
560
  const claim = {
@@ -682,7 +716,8 @@ async function acquireLoopStep(input) {
682
716
  }
683
717
  }
684
718
  export async function acquireNextLocked(input) {
685
- const { state, actor, dependencies } = input;
719
+ let { state } = input;
720
+ const { actor, dependencies } = input;
686
721
  let projection = {
687
722
  ...input.projection,
688
723
  stages: { ...input.projection.stages },
@@ -696,6 +731,7 @@ export async function acquireNextLocked(input) {
696
731
  }
697
732
  const profile = selectedProfile(state.snapshot);
698
733
  const now = dependencies.now();
734
+ await revalidateExecutionSources(state, input.root, dependencies.home);
699
735
  const activeClaims = new Map();
700
736
  for (const [stepId, claim] of Object.entries(projection.claims)) {
701
737
  if (new Date(claim.expiresAt) > now) {
@@ -792,6 +828,10 @@ export async function acquireNextLocked(input) {
792
828
  skippedStepIds: promoted.skippedStepIds,
793
829
  };
794
830
  }
831
+ if (step.workspace !== "read-only" && state.item.execution.materialized === false) {
832
+ await materializeWorkItem({ root: input.root, item: state.item });
833
+ state = await loadApplicationState(input.root, state.item.workItemId);
834
+ }
795
835
  if (step.id === "implement") {
796
836
  const gate = await fixedTestGateForState(state);
797
837
  await assertImplementHasTrustedRed({
@@ -803,17 +843,6 @@ export async function acquireNextLocked(input) {
803
843
  requireWorkspaceMatch: true,
804
844
  });
805
845
  }
806
- const additionalGlobalRoots = await rebindAdditionalGlobalRoots({
807
- root: input.root,
808
- rootIds: state.snapshot.skillResolution.additionalGlobalRootIds,
809
- });
810
- await revalidateGlobalSkillLock({
811
- lock: state.snapshot.skillLock,
812
- provider: state.snapshot.skillResolution.provider,
813
- projectRoot: state.worktree,
814
- home: dependencies.home,
815
- additionalGlobalRoots,
816
- });
817
846
  dependencies.executors.assertStep(step);
818
847
  if (step.uses === "control.loop") {
819
848
  return acquireLoopStep({
@@ -831,7 +860,7 @@ export async function acquireNextLocked(input) {
831
860
  if (step.uses === "control.close") {
832
861
  const [workspaceTreeDigest, artifactTreeDigest] = await Promise.all([
833
862
  computeWorkspaceTreeDigest(state.worktree),
834
- computeArtifactTreeDigest(state.worktree),
863
+ computeArtifactTreeDigest(state.worktree, state.item.execution.materialized === false ? state.authorityRoot : undefined),
835
864
  ]);
836
865
  const decision = await closeChecklistForWorktree({
837
866
  profile,
@@ -841,6 +870,7 @@ export async function acquireNextLocked(input) {
841
870
  workspaceTreeDigest,
842
871
  configDigest: state.item.execution.configDigest,
843
872
  worktree: state.worktree,
873
+ ...(state.item.execution.materialized === false ? { authorityRoot: state.authorityRoot } : {}),
844
874
  source: state.snapshot.source,
845
875
  });
846
876
  if (!decision.allowed) {