@osovv/vv-opencode 1.4.5 → 1.6.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 (143) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +47 -16
  3. package/dist/commands/patch-provider.d.ts +5 -5
  4. package/dist/commands/patch-provider.js +10 -6
  5. package/dist/commands/patch-provider.js.map +1 -1
  6. package/dist/lib/agent-tool-catalog.d.ts +144 -0
  7. package/dist/lib/agent-tool-catalog.js +2551 -0
  8. package/dist/lib/agent-tool-catalog.js.map +1 -0
  9. package/dist/lib/agent-tool-contract.d.ts +200 -0
  10. package/dist/lib/agent-tool-contract.js +407 -0
  11. package/dist/lib/agent-tool-contract.js.map +1 -0
  12. package/dist/lib/opencode/agent-registrations.d.ts +33 -0
  13. package/dist/lib/opencode/agent-registrations.js +469 -0
  14. package/dist/lib/opencode/agent-registrations.js.map +1 -0
  15. package/dist/lib/opencode/inspection.d.ts +84 -0
  16. package/dist/lib/opencode/inspection.js +367 -0
  17. package/dist/lib/opencode/inspection.js.map +1 -0
  18. package/dist/lib/opencode/model-overrides.d.ts +19 -0
  19. package/dist/lib/opencode/model-overrides.js +221 -0
  20. package/dist/lib/opencode/model-overrides.js.map +1 -0
  21. package/dist/lib/opencode/paths.d.ts +21 -0
  22. package/dist/lib/opencode/paths.js +62 -0
  23. package/dist/lib/opencode/paths.js.map +1 -0
  24. package/dist/lib/opencode/plugin-registration.d.ts +17 -0
  25. package/dist/lib/opencode/plugin-registration.js +210 -0
  26. package/dist/lib/opencode/plugin-registration.js.map +1 -0
  27. package/dist/lib/opencode/shared-utils.d.ts +30 -0
  28. package/dist/lib/opencode/shared-utils.js +183 -0
  29. package/dist/lib/opencode/shared-utils.js.map +1 -0
  30. package/dist/lib/opencode/vvoc-config-io.d.ts +9 -0
  31. package/dist/lib/opencode/vvoc-config-io.js +58 -0
  32. package/dist/lib/opencode/vvoc-config-io.js.map +1 -0
  33. package/dist/lib/opencode.d.ts +15 -174
  34. package/dist/lib/opencode.js +19 -1387
  35. package/dist/lib/opencode.js.map +1 -1
  36. package/dist/lib/spec-lint/cross-file-rules.d.ts +2 -0
  37. package/dist/lib/spec-lint/cross-file-rules.js +33 -0
  38. package/dist/lib/spec-lint/cross-file-rules.js.map +1 -0
  39. package/dist/lib/spec-lint/delegated-extraction.d.ts +8 -0
  40. package/dist/lib/spec-lint/delegated-extraction.js +112 -0
  41. package/dist/lib/spec-lint/delegated-extraction.js.map +1 -0
  42. package/dist/lib/spec-lint/lint.d.ts +7 -0
  43. package/dist/lib/spec-lint/lint.js +92 -0
  44. package/dist/lib/spec-lint/lint.js.map +1 -0
  45. package/dist/lib/spec-lint/parser.d.ts +101 -0
  46. package/dist/lib/spec-lint/parser.js +482 -0
  47. package/dist/lib/spec-lint/parser.js.map +1 -0
  48. package/dist/lib/spec-lint/plan-rules.d.ts +38 -0
  49. package/dist/lib/spec-lint/plan-rules.js +745 -0
  50. package/dist/lib/spec-lint/plan-rules.js.map +1 -0
  51. package/dist/lib/spec-lint/spec-rules.d.ts +8 -0
  52. package/dist/lib/spec-lint/spec-rules.js +188 -0
  53. package/dist/lib/spec-lint/spec-rules.js.map +1 -0
  54. package/dist/lib/spec-lint.d.ts +4 -63
  55. package/dist/lib/spec-lint.js +13 -1505
  56. package/dist/lib/spec-lint.js.map +1 -1
  57. package/dist/lib/vvoc-preset-registry.d.ts +7 -7
  58. package/dist/lib/vvoc-preset-registry.js +8 -8
  59. package/dist/lib/vvoc-preset-registry.js.map +1 -1
  60. package/dist/lib/workflow-contract.d.ts +12 -0
  61. package/dist/lib/workflow-contract.js +71 -18
  62. package/dist/lib/workflow-contract.js.map +1 -1
  63. package/dist/plugins/hashline-edit/index.js +102 -97
  64. package/dist/plugins/hashline-edit/index.js.map +1 -1
  65. package/dist/plugins/hashline-edit/normalize-edits.d.ts +2 -8
  66. package/dist/plugins/hashline-edit/normalize-edits.js +32 -17
  67. package/dist/plugins/hashline-edit/normalize-edits.js.map +1 -1
  68. package/dist/plugins/hashline-edit/schemas.d.ts +246 -0
  69. package/dist/plugins/hashline-edit/schemas.js +659 -0
  70. package/dist/plugins/hashline-edit/schemas.js.map +1 -0
  71. package/dist/plugins/hashline-edit/str-replace-editor.d.ts +6 -17
  72. package/dist/plugins/hashline-edit/str-replace-editor.js +19 -21
  73. package/dist/plugins/hashline-edit/str-replace-editor.js.map +1 -1
  74. package/dist/plugins/hashline-edit/tool-description.d.ts +1 -0
  75. package/dist/plugins/hashline-edit/tool-description.js +20 -4
  76. package/dist/plugins/hashline-edit/tool-description.js.map +1 -1
  77. package/dist/plugins/web-tools/fetch-service.d.ts +8 -5
  78. package/dist/plugins/web-tools/fetch-service.js +30 -45
  79. package/dist/plugins/web-tools/fetch-service.js.map +1 -1
  80. package/dist/plugins/web-tools/index.js +23 -5
  81. package/dist/plugins/web-tools/index.js.map +1 -1
  82. package/dist/plugins/web-tools/schemas.d.ts +469 -0
  83. package/dist/plugins/web-tools/schemas.js +523 -0
  84. package/dist/plugins/web-tools/schemas.js.map +1 -0
  85. package/dist/plugins/web-tools/search-service.d.ts +6 -3
  86. package/dist/plugins/web-tools/search-service.js +24 -29
  87. package/dist/plugins/web-tools/search-service.js.map +1 -1
  88. package/dist/plugins/workflow/authority.d.ts +6 -0
  89. package/dist/plugins/workflow/authority.js +45 -10
  90. package/dist/plugins/workflow/authority.js.map +1 -1
  91. package/dist/plugins/workflow/authorization.d.ts +30 -0
  92. package/dist/plugins/workflow/authorization.js +147 -0
  93. package/dist/plugins/workflow/authorization.js.map +1 -0
  94. package/dist/plugins/workflow/checkpoints.d.ts +41 -2
  95. package/dist/plugins/workflow/checkpoints.js +176 -47
  96. package/dist/plugins/workflow/checkpoints.js.map +1 -1
  97. package/dist/plugins/workflow/delegated.d.ts +15 -1
  98. package/dist/plugins/workflow/delegated.js +65 -35
  99. package/dist/plugins/workflow/delegated.js.map +1 -1
  100. package/dist/plugins/workflow/execution.d.ts +15 -30
  101. package/dist/plugins/workflow/execution.js +133 -33
  102. package/dist/plugins/workflow/execution.js.map +1 -1
  103. package/dist/plugins/workflow/index.js +197 -435
  104. package/dist/plugins/workflow/index.js.map +1 -1
  105. package/dist/plugins/workflow/input-validation.d.ts +48 -0
  106. package/dist/plugins/workflow/input-validation.js +536 -0
  107. package/dist/plugins/workflow/input-validation.js.map +1 -0
  108. package/dist/plugins/workflow/inspection.d.ts +60 -0
  109. package/dist/plugins/workflow/inspection.js +316 -0
  110. package/dist/plugins/workflow/inspection.js.map +1 -0
  111. package/dist/plugins/workflow/protocol.d.ts +2 -0
  112. package/dist/plugins/workflow/protocol.js +26 -4
  113. package/dist/plugins/workflow/protocol.js.map +1 -1
  114. package/dist/plugins/workflow/recovery.d.ts +18 -0
  115. package/dist/plugins/workflow/recovery.js +217 -0
  116. package/dist/plugins/workflow/recovery.js.map +1 -0
  117. package/dist/plugins/workflow/repair.d.ts +1 -1
  118. package/dist/plugins/workflow/repair.js +9 -10
  119. package/dist/plugins/workflow/repair.js.map +1 -1
  120. package/dist/plugins/workflow/results.d.ts +2566 -0
  121. package/dist/plugins/workflow/results.js +1111 -0
  122. package/dist/plugins/workflow/results.js.map +1 -0
  123. package/dist/plugins/workflow/schemas.d.ts +398 -0
  124. package/dist/plugins/workflow/schemas.js +399 -0
  125. package/dist/plugins/workflow/schemas.js.map +1 -0
  126. package/dist/plugins/workflow/state.d.ts +3 -2
  127. package/dist/plugins/workflow/state.js +15 -8
  128. package/dist/plugins/workflow/state.js.map +1 -1
  129. package/dist/plugins/workflow/system-instruction.md +17 -1
  130. package/dist/plugins/workflow/tooling.d.ts +11 -82
  131. package/dist/plugins/workflow/tooling.js +478 -461
  132. package/dist/plugins/workflow/tooling.js.map +1 -1
  133. package/dist/plugins/workflow/transactions.d.ts +13 -0
  134. package/dist/plugins/workflow/transactions.js +13 -3
  135. package/dist/plugins/workflow/transactions.js.map +1 -1
  136. package/package.json +6 -3
  137. package/schemas/vvoc/v3.json +1 -1
  138. package/templates/agents/vv-code-reviewer.md +13 -4
  139. package/templates/agents/vv-implementer.md +16 -9
  140. package/templates/agents/vv-spec-reviewer.md +13 -4
  141. package/templates/skills/vv-execute/SKILL.md +3 -3
  142. package/templates/skills/vv-execute/references/tool-contracts.md +1750 -0
  143. package/templates/skills/vv-review/SKILL.md +1 -1
@@ -2,6 +2,8 @@ import { type WorkItemStore } from "./state.js";
2
2
  import { type LookupRecoveryUserMessage } from "./delegated.js";
3
3
  import { type AuthorityMessageSnapshot } from "./authority.js";
4
4
  import type { LoadedDelegatedPlan } from "./checkpoint-io.js";
5
+ import type { CheckpointArgs, CloseArgs, DecideArgs, ListArgs } from "./schemas.js";
6
+ export type { CheckpointArgs, DecideArgs } from "./schemas.js";
5
7
  export type WorkflowToolContext = {
6
8
  sessionId: string;
7
9
  /** Trusted absolute workspace root; required for generic execution registration. */
@@ -22,24 +24,14 @@ export interface DelegatedControlOptions {
22
24
  messageId: string;
23
25
  }) => Promise<AuthorityMessageSnapshot | undefined>;
24
26
  }
25
- type OpenInputItem = {
26
- key?: unknown;
27
- title?: unknown;
28
- mode?: unknown;
29
- requiredReviewers?: unknown;
30
- writeScope?: unknown;
31
- planRunId?: unknown;
32
- planTaskId?: unknown;
33
- /** Generic execution task-contract fields. */
34
- taskId?: unknown;
35
- goal?: unknown;
36
- acceptanceCriteria?: unknown;
37
- verification?: unknown;
38
- dependsOn?: unknown;
39
- blockedBy?: unknown;
40
- };
41
- type OpenArgs = {
42
- items: OpenInputItem[];
27
+ /**
28
+ * work_item_open wrapper input. Deliberately looser than the registered
29
+ * schema shape in schemas.ts: this wrapper is the defensive validator for
30
+ * partially-shaped caller input, so item and descriptor fields stay unknown
31
+ * here and are rejected by validateWorkflowToolInput before any dispatch.
32
+ */
33
+ type OpenToolInput = {
34
+ items: unknown;
43
35
  /** Generic execution descriptor; mutually exclusive with runId. */
44
36
  execution?: unknown;
45
37
  /** Append tasks to an existing generic execution. */
@@ -47,69 +39,7 @@ type OpenArgs = {
47
39
  amendmentId?: unknown;
48
40
  rationale?: unknown;
49
41
  };
50
- type ListArgs = {
51
- includeClosed?: boolean;
52
- };
53
- type CloseArgs = {
54
- workItemId: string;
55
- };
56
- export type DecideArgs = {
57
- workItemId: string;
58
- attempt: number;
59
- decision: "accept" | "request_changes" | "rework" | "recover";
60
- /** Required for accept, request_changes, and rework; unused by recover. */
61
- rationale?: string;
62
- /** Required for accept and request_changes; unused by rework and recover. */
63
- evidence?: string[];
64
- concernsDisposition?: string;
65
- runId?: string;
66
- checkpointId?: string;
67
- /** Recover-only bounded diagnosis, changed condition, and verification references. */
68
- diagnosis?: string;
69
- changedCondition?: string;
70
- verification?: string[];
71
- recoveryId?: string;
72
- /** Recover-only fresh root-user message authorizing one further unit. */
73
- userMessageId?: string;
74
- /** Recover-only recorded advance authority authorizing one further unit. */
75
- authorityId?: string;
76
- };
77
- export type CheckpointArgs = {
78
- action: "register" | "start" | "verify" | "recover" | "review" | "bind" | "complete" | "amend" | "authorize" | "record_approval" | "revoke_authority";
79
- planPath?: string;
80
- runId?: string;
81
- checkpointId?: string;
82
- complete?: boolean;
83
- /** Recover-only bounded diagnosis, changed condition, and verification references. */
84
- diagnosis?: string;
85
- changedCondition?: string;
86
- verification?: string[];
87
- recoveryId?: string;
88
- /** Recover-only fresh root-user message authorizing one further generation. */
89
- userMessageId?: string;
90
- /** Generic checkpoint append/registration payloads. */
91
- checkpoints?: unknown;
92
- tasks?: unknown;
93
- amendmentId?: string;
94
- rationale?: string;
95
- startFingerprint?: string;
96
- /** Generic reviewer result recording (status is read from the linked round). */
97
- reviewer?: string;
98
- /** Advance authority inputs. */
99
- authorityId?: string;
100
- messageId?: string;
101
- approvalId?: string;
102
- stage?: string;
103
- artifactPath?: string;
104
- artifactSha256?: string;
105
- revocationId?: string;
106
- /** Authority scope inputs. */
107
- stages?: unknown;
108
- decisionScope?: string;
109
- fileBoundary?: unknown;
110
- reservedStops?: unknown;
111
- };
112
- export declare function createWorkItemOpenTool(store: WorkItemStore): WorkflowToolDefinition<OpenArgs, Record<string, unknown>>;
42
+ export declare function createWorkItemOpenTool(store: WorkItemStore): WorkflowToolDefinition<OpenToolInput, Record<string, unknown>>;
113
43
  export declare function createWorkItemListTool(store: WorkItemStore): WorkflowToolDefinition<ListArgs, Record<string, unknown>>;
114
44
  export declare function createWorkItemCloseTool(store: WorkItemStore): WorkflowToolDefinition<CloseArgs, Record<string, unknown>>;
115
45
  export declare function createWorkItemDecideTool(store: WorkItemStore, options?: DelegatedControlOptions): WorkflowToolDefinition<DecideArgs, Promise<Record<string, unknown>>>;
@@ -145,4 +75,3 @@ export type WorkCheckpointExecuteContext = WorkflowToolContext & {
145
75
  }>;
146
76
  };
147
77
  export declare function createWorkCheckpointTool(store: WorkItemStore, options?: DelegatedControlOptions): WorkflowToolDefinition<CheckpointArgs, Promise<Record<string, unknown>>>;
148
- export {};