@loucompanion/forge-bridge 0.1.3-dev.f66395c3ac21 → 0.1.4-dev.bfa11ebe98c6

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 (219) hide show
  1. package/README.md +165 -1
  2. package/dist/bridge/bridge-chat.types.d.ts +111 -0
  3. package/dist/bridge/bridge-chat.types.js +401 -0
  4. package/dist/bridge/bridge.base.d.ts +9 -1
  5. package/dist/bridge/bridge.service.d.ts +129 -3
  6. package/dist/bridge/bridge.service.js +2426 -70
  7. package/dist/bridge/bridge.types.d.ts +218 -2
  8. package/dist/bridge/dispatch-result-outbox.d.ts +25 -0
  9. package/dist/bridge/dispatch-result-outbox.js +62 -0
  10. package/dist/bridge/dispatch-result-worker.d.ts +2 -0
  11. package/dist/bridge/dispatch-result-worker.js +122 -0
  12. package/dist/bridge/internals.d.ts +2 -0
  13. package/dist/bridge/internals.js +1 -0
  14. package/dist/bridge/readiness-result-outbox.d.ts +21 -0
  15. package/dist/bridge/readiness-result-outbox.js +54 -0
  16. package/dist/bridge/readiness-result-worker.d.ts +2 -0
  17. package/dist/bridge/readiness-result-worker.js +121 -0
  18. package/dist/bridge/runner-host-capabilities.d.ts +15 -0
  19. package/dist/bridge/runner-host-capabilities.js +93 -0
  20. package/dist/cleanup/cleanup.service.d.ts +14 -2
  21. package/dist/cleanup/cleanup.service.js +496 -3
  22. package/dist/cleanup/cleanup.types.d.ts +10 -0
  23. package/dist/cleanup/index.d.ts +1 -1
  24. package/dist/cleanup/index.js +1 -1
  25. package/dist/cleanup/internals.d.ts +2 -2
  26. package/dist/cleanup/internals.js +1 -1
  27. package/dist/cli/cli.help.d.ts +2 -0
  28. package/dist/cli/cli.help.js +217 -0
  29. package/dist/cli/cli.service.d.ts +55 -7
  30. package/dist/cli/cli.service.js +429 -219
  31. package/dist/cli/local-config.d.ts +7 -0
  32. package/dist/cli/local-config.js +51 -3
  33. package/dist/runtime/aspnet-runtime-prebuild.d.ts +36 -0
  34. package/dist/runtime/aspnet-runtime-prebuild.js +341 -0
  35. package/dist/runtime/attempt-node-runtime-launcher.d.ts +18 -0
  36. package/dist/runtime/attempt-node-runtime-launcher.js +140 -0
  37. package/dist/runtime/attempt-path-operation.d.ts +21 -0
  38. package/dist/runtime/attempt-path-operation.js +94 -0
  39. package/dist/runtime/attempt-private-directory.d.ts +6 -0
  40. package/dist/runtime/attempt-private-directory.js +54 -0
  41. package/dist/runtime/attempt-process-supervisor-registry.d.ts +20 -0
  42. package/dist/runtime/attempt-process-supervisor-registry.js +64 -0
  43. package/dist/runtime/attempt-process-supervisor.d.ts +97 -0
  44. package/dist/runtime/attempt-process-supervisor.js +397 -0
  45. package/dist/runtime/canonical-source-file.d.ts +3 -0
  46. package/dist/runtime/canonical-source-file.js +54 -0
  47. package/dist/runtime/docker-engine-probe.d.ts +90 -0
  48. package/dist/runtime/docker-engine-probe.js +333 -0
  49. package/dist/runtime/generated-output-reset.d.ts +20 -0
  50. package/dist/runtime/generated-output-reset.js +157 -0
  51. package/dist/runtime/host-database-capability-boundary.d.ts +16 -0
  52. package/dist/runtime/host-database-capability-boundary.js +62 -0
  53. package/dist/runtime/host-diagnostics.d.ts +11 -0
  54. package/dist/runtime/host-diagnostics.js +191 -0
  55. package/dist/runtime/host-execution-root.d.ts +4 -0
  56. package/dist/runtime/host-execution-root.js +39 -0
  57. package/dist/runtime/host-listener-inspector.d.ts +51 -0
  58. package/dist/runtime/host-listener-inspector.js +385 -0
  59. package/dist/runtime/host-port-broker.d.ts +76 -0
  60. package/dist/runtime/host-port-broker.js +333 -0
  61. package/dist/runtime/host-runtime-contract.d.ts +58 -0
  62. package/dist/runtime/host-runtime-contract.js +754 -0
  63. package/dist/runtime/host-runtime-lease.d.ts +215 -0
  64. package/dist/runtime/host-runtime-lease.js +2449 -0
  65. package/dist/runtime/host-runtime-promotion.d.ts +32 -0
  66. package/dist/runtime/host-runtime-promotion.js +206 -0
  67. package/dist/runtime/memory-capacity.d.ts +70 -0
  68. package/dist/runtime/memory-capacity.js +123 -0
  69. package/dist/runtime/native-test-postgres-fallback.d.ts +25 -0
  70. package/dist/runtime/native-test-postgres-fallback.js +91 -0
  71. package/dist/runtime/node-host-runtime-adapter.d.ts +54 -0
  72. package/dist/runtime/node-host-runtime-adapter.js +285 -0
  73. package/dist/runtime/pinned-directory-process.d.ts +9 -0
  74. package/dist/runtime/pinned-directory-process.js +61 -0
  75. package/dist/runtime/pinned-source-directory.d.ts +17 -0
  76. package/dist/runtime/pinned-source-directory.js +94 -0
  77. package/dist/runtime/playwright-host-runtime-adapter.d.ts +21 -0
  78. package/dist/runtime/playwright-host-runtime-adapter.js +268 -0
  79. package/dist/runtime/prepared-runtime-identity.d.ts +6 -0
  80. package/dist/runtime/prepared-runtime-identity.js +218 -0
  81. package/dist/runtime/prepared-runtime-readiness.d.ts +30 -0
  82. package/dist/runtime/prepared-runtime-readiness.js +285 -0
  83. package/dist/runtime/runtime-isolation-lease.d.ts +67 -0
  84. package/dist/runtime/runtime-isolation-lease.js +161 -0
  85. package/dist/runtime/workspace-resource-estimator.d.ts +17 -0
  86. package/dist/runtime/workspace-resource-estimator.js +174 -0
  87. package/dist/sandbox/command-runner.d.ts +4 -0
  88. package/dist/sandbox/command-runner.js +47 -0
  89. package/dist/sandbox/contract.d.ts +5 -0
  90. package/dist/sandbox/contract.js +276 -0
  91. package/dist/sandbox/event-budget.d.ts +11 -0
  92. package/dist/sandbox/event-budget.js +27 -0
  93. package/dist/sandbox/image-policy.d.ts +35 -0
  94. package/dist/sandbox/image-policy.js +247 -0
  95. package/dist/sandbox/index.d.ts +5 -0
  96. package/dist/sandbox/index.js +5 -0
  97. package/dist/sandbox/lease-watchdog.d.ts +18 -0
  98. package/dist/sandbox/lease-watchdog.js +67 -0
  99. package/dist/sandbox/preflight.d.ts +84 -0
  100. package/dist/sandbox/preflight.js +521 -0
  101. package/dist/sandbox/process.d.ts +20 -0
  102. package/dist/sandbox/process.js +209 -0
  103. package/dist/sandbox/provider-auth/codex.d.ts +26 -0
  104. package/dist/sandbox/provider-auth/codex.js +212 -0
  105. package/dist/sandbox/repository-lock.d.ts +6 -0
  106. package/dist/sandbox/repository-lock.js +128 -0
  107. package/dist/sandbox/runtime.d.ts +302 -0
  108. package/dist/sandbox/runtime.js +2367 -0
  109. package/dist/sandbox/sandbox.types.d.ts +93 -0
  110. package/dist/sandbox/sandbox.types.js +1 -0
  111. package/dist/sandbox/smoke.d.ts +76 -0
  112. package/dist/sandbox/smoke.js +380 -0
  113. package/dist/sandbox/worker-supervisor.d.ts +13 -0
  114. package/dist/sandbox/worker-supervisor.js +36 -0
  115. package/dist/sandbox/worker.d.ts +1 -0
  116. package/dist/sandbox/worker.js +225 -0
  117. package/dist/sandbox/workspace.service.d.ts +13 -0
  118. package/dist/sandbox/workspace.service.js +74 -0
  119. package/dist/session/managed-attempt-tools.d.ts +28 -0
  120. package/dist/session/managed-attempt-tools.js +1011 -0
  121. package/dist/session/managed-build-coordinator.d.ts +5 -0
  122. package/dist/session/managed-build-coordinator.js +105 -0
  123. package/dist/session/managed-build-receipt.d.ts +21 -0
  124. package/dist/session/managed-build-receipt.js +337 -0
  125. package/dist/session/managed-verification-timeouts.d.ts +8 -0
  126. package/dist/session/managed-verification-timeouts.js +17 -0
  127. package/dist/session/phase-completion.artifacts.d.ts +27 -0
  128. package/dist/session/phase-completion.artifacts.js +829 -0
  129. package/dist/session/phase-completion.d.ts +53 -42
  130. package/dist/session/phase-completion.helpers.d.ts +117 -0
  131. package/dist/session/phase-completion.helpers.js +707 -0
  132. package/dist/session/phase-completion.js +125 -3007
  133. package/dist/session/phase-completion.prompts.d.ts +14 -0
  134. package/dist/session/phase-completion.prompts.js +233 -0
  135. package/dist/session/phase-completion.runtime.d.ts +49 -0
  136. package/dist/session/phase-completion.runtime.js +833 -0
  137. package/dist/session/phase-completion.schemas.d.ts +3 -0
  138. package/dist/session/phase-completion.schemas.js +859 -0
  139. package/dist/session/phase-completion.validation.d.ts +38 -0
  140. package/dist/session/phase-completion.validation.js +918 -0
  141. package/dist/session/pre-publication-validation.d.ts +75 -0
  142. package/dist/session/pre-publication-validation.js +657 -0
  143. package/dist/session/provider-cli/bridge-cli.conformance-fixtures.d.ts +72 -0
  144. package/dist/session/provider-cli/bridge-cli.conformance-fixtures.js +462 -0
  145. package/dist/session/provider-cli/ci-repair-readiness.d.ts +16 -0
  146. package/dist/session/provider-cli/ci-repair-readiness.js +110 -0
  147. package/dist/session/provider-cli/provider-cli.artifacts.d.ts +95 -0
  148. package/dist/session/provider-cli/provider-cli.artifacts.js +812 -0
  149. package/dist/session/provider-cli/provider-cli.base.d.ts +1 -0
  150. package/dist/session/provider-cli/provider-cli.deterministic-payloads.d.ts +12 -0
  151. package/dist/session/provider-cli/provider-cli.deterministic-payloads.js +279 -0
  152. package/dist/session/provider-cli/provider-cli.deterministic.d.ts +14 -0
  153. package/dist/session/provider-cli/provider-cli.deterministic.js +407 -0
  154. package/dist/session/provider-cli/provider-cli.process.d.ts +99 -0
  155. package/dist/session/provider-cli/provider-cli.process.js +874 -0
  156. package/dist/session/provider-cli/provider-cli.prompts.d.ts +52 -0
  157. package/dist/session/provider-cli/provider-cli.prompts.js +715 -0
  158. package/dist/session/provider-cli/provider-cli.qa-sidecars.d.ts +11 -0
  159. package/dist/session/provider-cli/provider-cli.qa-sidecars.js +66 -0
  160. package/dist/session/provider-cli/provider-cli.repair-epoch.d.ts +6 -0
  161. package/dist/session/provider-cli/provider-cli.repair-epoch.js +11 -0
  162. package/dist/session/provider-cli/provider-cli.runtime.d.ts +16 -0
  163. package/dist/session/provider-cli/provider-cli.runtime.js +78 -0
  164. package/dist/session/provider-cli/provider-cli.service.d.ts +47 -53
  165. package/dist/session/provider-cli/provider-cli.service.js +1257 -2497
  166. package/dist/session/provider-cli/provider-cli.types.d.ts +8 -0
  167. package/dist/session/provider-cli/provider-output-state.d.ts +32 -0
  168. package/dist/session/provider-cli/provider-output-state.js +817 -0
  169. package/dist/session/provider-cli/provider-usage.d.ts +7 -0
  170. package/dist/session/provider-cli/provider-usage.js +28 -5
  171. package/dist/session/session-redaction.d.ts +3 -0
  172. package/dist/session/session-redaction.js +448 -0
  173. package/dist/session/session.base.d.ts +6 -1
  174. package/dist/session/session.service.d.ts +8 -2
  175. package/dist/session/session.service.js +586 -59
  176. package/dist/session/session.types.d.ts +324 -3
  177. package/dist/session/session.types.js +939 -10
  178. package/dist/session/unreferenced-exports.d.ts +12 -0
  179. package/dist/session/unreferenced-exports.js +59 -0
  180. package/dist/shared/format/format-bytes.d.ts +1 -0
  181. package/dist/shared/format/format-bytes.js +9 -0
  182. package/dist/shared/git/git.js +2 -1
  183. package/dist/shared/path/path.d.ts +1 -0
  184. package/dist/shared/path/path.js +21 -1
  185. package/dist/shared/process/dotnet-toolchain.d.ts +17 -0
  186. package/dist/shared/process/dotnet-toolchain.js +307 -0
  187. package/dist/shared/process/host-process-recovery.d.ts +12 -0
  188. package/dist/shared/process/host-process-recovery.js +78 -0
  189. package/dist/shared/process/host-process-supervisor.d.ts +59 -0
  190. package/dist/shared/process/host-process-supervisor.js +330 -0
  191. package/dist/shared/process/process.d.ts +3 -0
  192. package/dist/shared/process/process.js +13 -7
  193. package/dist/shared/process/windows-launch.d.ts +8 -0
  194. package/dist/shared/process/windows-launch.js +41 -0
  195. package/dist/shared/provider-capabilities.d.ts +4 -0
  196. package/dist/shared/provider-capabilities.js +88 -0
  197. package/dist/shared/redaction/redaction.d.ts +1 -0
  198. package/dist/shared/redaction/redaction.js +47 -4
  199. package/dist/version.d.ts +1 -1
  200. package/dist/version.js +1 -1
  201. package/dist/worktree/artifact-injector.d.ts +3 -2
  202. package/dist/worktree/artifact-injector.js +82 -10
  203. package/dist/worktree/dependency-warmer.d.ts +53 -1
  204. package/dist/worktree/dependency-warmer.js +619 -11
  205. package/dist/worktree/index.d.ts +2 -1
  206. package/dist/worktree/index.js +1 -0
  207. package/dist/worktree/prior-phase-artifact-hydrator.d.ts +2 -0
  208. package/dist/worktree/prior-phase-artifact-hydrator.js +136 -0
  209. package/dist/worktree/story-qa-reference-hydrator.d.ts +4 -0
  210. package/dist/worktree/story-qa-reference-hydrator.js +253 -0
  211. package/dist/worktree/worktree-paths.d.ts +4 -0
  212. package/dist/worktree/worktree-paths.js +30 -0
  213. package/dist/worktree/worktree.base.d.ts +3 -0
  214. package/dist/worktree/worktree.service.d.ts +16 -3
  215. package/dist/worktree/worktree.service.js +334 -54
  216. package/dist/worktree/worktree.types.d.ts +9 -1
  217. package/package.json +12 -7
  218. package/runtime/windows-job-supervisor.ps1 +722 -0
  219. package/runtime/windows-listener-owner.ps1 +33 -0
@@ -1,24 +1,34 @@
1
- import type { RunOnceDispatchPacket, RunnerDispatchArtifact } from "./session.types.js";
1
+ import type { RunOnceDispatchPacket } from "./session.types.js";
2
2
  import type { WorktreeHandle } from "../worktree/worktree.types.js";
3
+ export { isDebugCompletionPhase } from "./phase-completion.validation.js";
4
+ export { readCompletionArtifact, writeCompletionArtifact } from "./phase-completion.artifacts.js";
5
+ export * from "./phase-completion.prompts.js";
6
+ export * from "./phase-completion.runtime.js";
3
7
  export type DevelopCompletionPhase = "implementation" | "self_review" | "validation";
4
8
  export type DebugCompletionPhase = "debug_repro" | "debug_root_cause" | "debug_fix" | "debug_regression";
5
9
  export type ArchitectCompletionPhase = "architect";
6
10
  export type DraftCompletionPhase = "draft";
7
- export type CompletionPhase = DevelopCompletionPhase | "qa" | DebugCompletionPhase | ArchitectCompletionPhase | DraftCompletionPhase;
11
+ export type DecomposeCompletionPhase = "decompose";
12
+ export type CiRepairCompletionPhase = "ci_repair";
13
+ export type CommentRepairCompletionPhase = "comment_repair";
14
+ export type CompletionPhase = DevelopCompletionPhase | "qa" | DebugCompletionPhase | ArchitectCompletionPhase | DraftCompletionPhase | DecomposeCompletionPhase | CiRepairCompletionPhase | CommentRepairCompletionPhase;
8
15
  export type QaCompletionGate = "qa_plan" | "qa_regression" | "qa_api" | "qa_manual_web" | "qa_bug_repro" | "qa_findings" | "qa_verdict";
9
16
  export type DraftCompletionGate = "draft_intent" | "draft_repo_context" | "draft_graph_context" | "draft_product_scope" | "draft_work_order_plan" | "draft_critic" | "draft_proposal";
17
+ export type DecomposeCompletionGate = "decompose_subject_intake" | "decompose_context_review" | "decompose_breakdown_strategy" | "decompose_child_items" | "decompose_dependency_graph" | "decompose_critic" | "decompose_proposal";
10
18
  export interface CompletionToolRuntime {
11
19
  readonly serverName: string;
12
20
  readonly command: string;
13
21
  readonly args: readonly string[];
14
22
  readonly env: Readonly<Record<string, string>>;
15
23
  readonly cursorMcpConfigPath?: string | null;
24
+ readonly claudeMcpConfigPath?: string | null;
16
25
  cleanup(): Promise<void>;
17
26
  }
18
27
  export interface CompletionToolRuntimeOptions {
19
28
  readonly dispatch: RunOnceDispatchPacket;
20
29
  readonly worktree: WorktreeHandle;
21
30
  readonly phase?: CompletionPhase;
31
+ readonly runtimeEnvironment?: Readonly<Record<string, string>>;
22
32
  }
23
33
  export interface CompletionToolServerConfig {
24
34
  readonly worktreePath: string;
@@ -33,6 +43,7 @@ export interface CompletionToolServerConfig {
33
43
  readonly debugCycle?: boolean;
34
44
  readonly architectCycle?: boolean;
35
45
  readonly draftCycle?: boolean;
46
+ readonly decomposeCycle?: boolean;
36
47
  }
37
48
  export interface CompletionToolCallResult {
38
49
  readonly content: readonly {
@@ -40,15 +51,23 @@ export interface CompletionToolCallResult {
40
51
  readonly text: string;
41
52
  }[];
42
53
  readonly structuredContent: CompletionArtifactReference & {
54
+ readonly artifact_written: true;
55
+ readonly artifact_receipt: {
56
+ readonly schema_version: 1;
57
+ readonly path: string;
58
+ readonly report_path: string;
59
+ readonly content_hash: string;
60
+ };
43
61
  readonly gate: {
44
62
  readonly phase: CompletionPhase;
45
63
  readonly qaGate?: QaCompletionGate;
46
64
  readonly draftGate?: DraftCompletionGate;
65
+ readonly decomposeGate?: DecomposeCompletionGate;
47
66
  readonly status: string;
48
67
  readonly allowed: boolean;
49
68
  readonly reason: string;
50
69
  };
51
- readonly nextPhase: CompletionPhase | "dev_test_ready" | "qa_ready" | "sign_off_ready";
70
+ readonly nextPhase: CompletionPhase | "dev_test_ready" | "qa_ready" | "sign_off_ready" | "provider_checks_ready";
52
71
  readonly nextInstruction: string;
53
72
  };
54
73
  }
@@ -64,9 +83,38 @@ export interface CompletionArtifactReference {
64
83
  readonly status: string;
65
84
  readonly producedBy: string;
66
85
  }
86
+ export interface CompletionArtifactFiles {
87
+ readonly jsonFileName: string;
88
+ readonly reportFileName: string;
89
+ }
90
+ export declare const toolServerName = "forge";
91
+ export declare const completionRedactionSecretsEnv = "FORGE_COMPLETION_REDACTION_SECRETS";
92
+ export declare const completionPhaseOrder: readonly DevelopCompletionPhase[];
67
93
  export declare const debugCompletionPhaseOrder: readonly DebugCompletionPhase[];
68
94
  export declare const qaCompletionGateOrder: readonly QaCompletionGate[];
69
95
  export declare const draftCompletionGateOrder: readonly DraftCompletionGate[];
96
+ export declare const decomposeCompletionGateOrder: readonly DecomposeCompletionGate[];
97
+ export declare const decomposeGateFileNames: Record<DecomposeCompletionGate, string>;
98
+ export declare const decomposeGateToolNames: Record<DecomposeCompletionGate, string>;
99
+ export declare const draftGateFileNames: Record<DraftCompletionGate, string>;
100
+ export declare const draftGateToolNames: Record<DraftCompletionGate, string>;
101
+ export declare const qaGateFileNames: Record<QaCompletionGate, string>;
102
+ export declare const qaGateToolNames: Record<QaCompletionGate, string>;
103
+ export declare const debugGateToolNames: Record<DebugCompletionPhase, string>;
104
+ export declare const qaBlockerReasons: Set<string>;
105
+ export declare const resolvedFindingStatusValues: readonly ["resolved", "disputed", "not_reproduced"];
106
+ export declare const resolvedFindingStatuses: Set<string>;
107
+ export declare const qaFindingSeverities: Set<string>;
108
+ export declare const qaFindingScopes: Set<string>;
109
+ export declare const qaCandidateBugActions: Set<string>;
110
+ export declare const qaScopeSurfaces: Set<string>;
111
+ export declare const qaScopeEvidence: Set<string>;
112
+ export declare const qaScopeCapabilities: Set<string>;
113
+ export declare const qaScopeSources: Set<string>;
114
+ export declare const qaScopeAuthorities: Set<string>;
115
+ export declare const qaScopeConfidence: Set<string>;
116
+ export declare const qaScopeFields: Set<string>;
117
+ export declare const phaseFiles: Record<CompletionPhase, CompletionArtifactFiles>;
70
118
  export declare function completionPhaseFromDispatch(dispatch: RunOnceDispatchPacket): CompletionPhase;
71
119
  export declare function normalizeCompletionPhase(value: string | null | undefined): CompletionPhase;
72
120
  export declare function usesDevelopCycleCompletion(dispatch: RunOnceDispatchPacket): boolean;
@@ -77,50 +125,13 @@ export declare function completionToolNamesForPhase(phase: CompletionPhase): rea
77
125
  export declare function completionToolNamesForQaGate(gate: QaCompletionGate): readonly string[];
78
126
  export declare function completionToolNamesForDebugGate(gate: DebugCompletionPhase): readonly string[];
79
127
  export declare function completionToolNamesForDraftGate(gate: DraftCompletionGate): readonly string[];
128
+ export declare function completionToolNamesForDecomposeGate(gate: DecomposeCompletionGate): readonly string[];
80
129
  export declare function expectedCompletionToolName(phase: CompletionPhase): string;
81
130
  export declare function expectedQaCompletionToolName(gate: QaCompletionGate): string;
82
131
  export declare function expectedDebugCompletionToolName(gate: DebugCompletionPhase): string;
83
132
  export declare function expectedDraftCompletionToolName(gate: DraftCompletionGate): string;
133
+ export declare function expectedDecomposeCompletionToolName(gate: DecomposeCompletionGate): string;
84
134
  export declare function artifactRootFor(worktreePath: string, workItemId: string): string;
85
135
  export declare function artifactRootForOwner(worktreePath: string, ownerType: string, ownerId: string): string;
86
136
  export declare function completionArtifactJsonPath(worktreePath: string, workItemId: string, phase: CompletionPhase, ownerType?: string | null, ownerId?: string | null): string;
87
137
  export declare function completionArtifactReportPath(worktreePath: string, workItemId: string, phase: CompletionPhase, ownerType?: string | null, ownerId?: string | null): string;
88
- export declare function prepareCompletionToolRuntime(options: CompletionToolRuntimeOptions): Promise<CompletionToolRuntime>;
89
- export declare function buildCompletionToolServerArgs(config: CompletionToolServerConfig): readonly string[];
90
- export declare function codexMcpConfigArgs(runtime: CompletionToolRuntime): readonly string[];
91
- export declare function cursorMcpServerConfig(runtime: CompletionToolRuntime): unknown;
92
- export declare function completionPromptForPhase(phase: CompletionPhase): string;
93
- export declare function completionPromptForDevelopCycle(phase: CompletionPhase): string;
94
- export declare function completionPromptForQaCycle(currentGate?: QaCompletionGate): string;
95
- export declare function completionPromptForDraftCycle(currentGate?: DraftCompletionGate): string;
96
- export declare function completionPromptForDebugCycle(currentGate?: DebugCompletionPhase): string;
97
- export declare function completionToolNamesForServer(config: CompletionToolServerConfig): readonly string[];
98
- export declare class CompletionToolServerSession {
99
- private readonly config;
100
- private currentPhase;
101
- private currentQaGate;
102
- private currentDraftGate;
103
- private completed;
104
- constructor(config: CompletionToolServerConfig);
105
- get instructions(): string;
106
- toolDefinitions(): readonly unknown[];
107
- callTool(toolName: string, input: unknown): Promise<CompletionToolCallResult>;
108
- private callDraftGateTool;
109
- private callDebugGateTool;
110
- private callQaGateTool;
111
- private advanceAfterPass;
112
- private advanceAfterDraftGate;
113
- private advanceAfterQaGate;
114
- private advanceAfterDebugGate;
115
- }
116
- export declare function writeCompletionArtifact(config: CompletionToolServerConfig, toolName: string, input: unknown): Promise<CompletionArtifactReference>;
117
- export declare function readCompletionArtifact(worktreePath: string, workItemId: string, phase: CompletionPhase, ownerType?: string | null, ownerId?: string | null): Promise<RunnerDispatchArtifact | null>;
118
- export declare function runCompletionMcpServer(config: CompletionToolServerConfig): Promise<void>;
119
- export declare function parseCompletionMcpArgs(argv: readonly string[]): {
120
- readonly ok: true;
121
- readonly config: CompletionToolServerConfig;
122
- } | {
123
- readonly ok: false;
124
- readonly error: string;
125
- };
126
- export declare function completionRedactionEnv(secrets: readonly string[]): Readonly<Record<string, string>>;
@@ -0,0 +1,117 @@
1
+ import type { RunOnceDispatchPacket } from "./session.types.js";
2
+ import { type CompletionPhase, type DebugCompletionPhase, type DecomposeCompletionGate, type DevelopCompletionPhase, type DraftCompletionGate, type QaCompletionGate } from "./phase-completion.js";
3
+ export declare function normalizeArtifactPayload(payload: Record<string, unknown>, defaults: {
4
+ readonly phase: CompletionPhase;
5
+ readonly workItemId: string;
6
+ readonly ownerType?: string;
7
+ readonly ownerId?: string;
8
+ readonly producedBy: string;
9
+ readonly status: string;
10
+ }): Record<string, unknown>;
11
+ export declare function normalizeQaGateArtifactPayload(payload: Record<string, unknown>, defaults: {
12
+ readonly gate: QaCompletionGate;
13
+ readonly workItemId: string;
14
+ readonly ownerType?: string;
15
+ readonly ownerId?: string;
16
+ readonly producedBy: string;
17
+ readonly status: string;
18
+ }): Record<string, unknown>;
19
+ export declare function reportMarkdown(payload: Record<string, unknown>, phase: CompletionPhase, status: string, producedBy: string, contentHash: string): string;
20
+ export declare function parseStrictCompletionPhase(value: string | null | undefined): CompletionPhase | null;
21
+ export declare function normalizeDebugCompletionPhase(value: string | null | undefined): DebugCompletionPhase | null;
22
+ export declare function isDevelopCompletionPhase(phase: CompletionPhase): phase is DevelopCompletionPhase;
23
+ export declare function isDebugCompletionPhase(phase: string | null | undefined): phase is DebugCompletionPhase;
24
+ export declare function asDebugCompletionPhase(phase: CompletionPhase): DebugCompletionPhase;
25
+ export declare function parseCompletionRedactionSecrets(raw: string | undefined): readonly string[];
26
+ export declare function phaseFromToolName(toolName: string): CompletionPhase;
27
+ export declare function draftGateFromToolName(toolName: string): DraftCompletionGate | null;
28
+ export declare function decomposeGateFromToolName(toolName: string): DecomposeCompletionGate | null;
29
+ export declare function isDecomposeDispatch(dispatch: RunOnceDispatchPacket): boolean;
30
+ export declare function debugGateFromToolName(toolName: string): DebugCompletionPhase | null;
31
+ export declare function qaGateFromToolName(toolName: string): QaCompletionGate | null;
32
+ export declare function requireField(payload: Record<string, unknown>, key: string): void;
33
+ export declare function requireNonPassEvidence(payload: Record<string, unknown>): void;
34
+ export declare function requireImplementationEvidence(payload: Record<string, unknown>): void;
35
+ export declare function requirePassingCommands(payload: Record<string, unknown>): void;
36
+ export declare class CompletionPayloadValidationError extends Error {
37
+ readonly issues: readonly string[];
38
+ constructor(issues: readonly string[]);
39
+ }
40
+ export declare function throwCompletionPayloadIssues(issues: readonly string[]): void;
41
+ export declare function requireArray(payload: Record<string, unknown>, key: string): void;
42
+ export declare function requireNonEmptyArray(payload: Record<string, unknown>, key: string): void;
43
+ export declare function arrayLength(payload: Record<string, unknown>, key: string): number;
44
+ export declare function requireAllowedStatus(payload: Record<string, unknown>, key: string, allowed: readonly string[]): void;
45
+ export declare function requireObject(payload: Record<string, unknown>, key: string): void;
46
+ export declare function requiredRecord(payload: Record<string, unknown>, key: string): Record<string, unknown>;
47
+ export declare function requireBoolean(payload: Record<string, unknown>, key: string): void;
48
+ export declare function requireNumericOne(payload: Record<string, unknown>, key: string, pathLabel: string): void;
49
+ export declare function requireSatisfiedAcceptanceCriteria(payload: Record<string, unknown>): void;
50
+ export declare function validateResolvedFindings(payload: Record<string, unknown>): void;
51
+ export declare function qaEvidenceSource(payload: Record<string, unknown>): Record<string, unknown>;
52
+ export declare function qaArray(payload: Record<string, unknown>, key: string, fallback?: Record<string, unknown>): readonly unknown[];
53
+ export declare function qaObjectArray(payload: Record<string, unknown>, key: string): Record<string, unknown>[];
54
+ export declare function qaPolicyWarnings(payload: Record<string, unknown>): Record<string, unknown>[];
55
+ export declare function qaStringArray(payload: Record<string, unknown>, key: string): string[];
56
+ export declare function requireEvidenceRecord(value: unknown, label: string): void;
57
+ export declare function requireNonEmptyStringRecord(source: Record<string, unknown>, key: string, prefix?: string): void;
58
+ export declare function requireArrayRecord(source: Record<string, unknown>, key: string, prefix?: string): void;
59
+ export declare function requireKnownStringRecord(source: Record<string, unknown>, key: string, allowed: ReadonlySet<string>, prefix?: string): void;
60
+ export declare function requireNonEmptyStringArrayRecord(source: Record<string, unknown>, key: string, prefix?: string): void;
61
+ export declare function requireSubstantiveValueRecord(source: Record<string, unknown>, key: string, prefix?: string): void;
62
+ export declare function requireSubstantiveEvidenceRecord(source: Record<string, unknown>, prefix?: string): void;
63
+ export declare function hasSubstantiveJsonValue(value: unknown): boolean;
64
+ export declare function normalizedString(value: unknown): string;
65
+ export declare function normalizedOwnerType(value: unknown): "work_item" | "story" | undefined;
66
+ export declare function artifactOwnerFields(config: {
67
+ readonly workItemId: string;
68
+ readonly ownerType?: string;
69
+ readonly ownerId?: string;
70
+ }): {
71
+ readonly owner_type?: string;
72
+ readonly owner_id?: string;
73
+ };
74
+ export declare function artifactReferenceOwnerFields(config: {
75
+ readonly workItemId: string;
76
+ readonly ownerType?: string;
77
+ readonly ownerId?: string;
78
+ }): {
79
+ readonly ownerType?: string;
80
+ readonly ownerId?: string;
81
+ };
82
+ export declare function artifactOwnerDirectory(ownerType: string): string;
83
+ export declare function artifactOwnerRelativeRoot(ownerType: string | undefined, ownerId: string | undefined, workItemId: string): string;
84
+ export declare function defaultQaChecklist(status: string): string[];
85
+ export declare function qaArtifactRelativePath(workItemId: string, fileName: string): string;
86
+ export declare function qaArtifactRelativePathForOwner(ownerType: string, ownerId: string, fileName: string): string;
87
+ export declare function jsonText(value: unknown): string;
88
+ export declare function fallbackReport(parsed: Record<string, unknown>, phase: CompletionPhase, artifactPath: string): string;
89
+ export declare function parseJsonObject(content: string, label: string): Record<string, unknown>;
90
+ export declare function parseOptionalJsonObject(content: string, label: string): Record<string, unknown>;
91
+ export declare function asRecord(value: unknown, label: string): Record<string, unknown>;
92
+ export declare function asMutableRecord(value: unknown): Record<string, unknown>;
93
+ export declare function requiredString(source: Record<string, unknown>, key: string): string;
94
+ export declare function optionalString(source: Record<string, unknown>, key: string): string | null;
95
+ export declare function numberOrDefault(value: unknown, fallback: number): number;
96
+ export declare function stripUndefined(value: Record<string, unknown>): Record<string, unknown>;
97
+ export declare function safePathSegment(value: string, label: string): string;
98
+ export declare function readOptionalFile(filePath: string): Promise<string | null>;
99
+ export declare function writeFileAtomic(filePath: string, content: string): Promise<void>;
100
+ export declare function stableStringify(value: unknown): string;
101
+ export declare function sortJson(value: unknown): unknown;
102
+ export declare function sha256(content: string): string;
103
+ export declare function forgeBridgeCliBinPath(): string;
104
+ export declare function tomlString(value: string): string;
105
+ export declare function tomlStringArray(values: readonly string[]): string;
106
+ export declare function writeJsonRpc(message: unknown): void;
107
+ export declare function rpcError(code: number, message: string): {
108
+ readonly code: number;
109
+ readonly message: string;
110
+ };
111
+ export declare function asJsonRpcMessage(value: unknown): {
112
+ readonly id?: string | number | null;
113
+ readonly method: string;
114
+ readonly params?: unknown;
115
+ } | null;
116
+ export declare function errorMessage(error: unknown): string;
117
+ export declare function isNodeError(error: unknown): error is NodeJS.ErrnoException;