codex-chatgpt-control 0.5.1-alpha.2 → 0.5.1-alpha.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 (191) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +27 -0
  3. package/contracts/v1/fixtures/backend-capabilities.json +40 -1
  4. package/contracts/v1/fixtures/backend-compatibility.json +21 -0
  5. package/contracts/v1/fixtures/backend-version.json +6 -1
  6. package/contracts/v1/fixtures/operation-action-prepared-event.json +42 -0
  7. package/contracts/v1/fixtures/operation-action.json +13 -0
  8. package/contracts/v1/fixtures/operation-artifact-receipt.json +14 -0
  9. package/contracts/v1/fixtures/operation-artifact-transfer-intent-event.json +24 -0
  10. package/contracts/v1/fixtures/operation-artifact-transfer-receipt-event.json +26 -0
  11. package/contracts/v1/fixtures/operation-artifact-transfer-state.json +178 -0
  12. package/contracts/v1/fixtures/operation-blocker.json +10 -0
  13. package/contracts/v1/fixtures/operation-collect-request.json +17 -0
  14. package/contracts/v1/fixtures/operation-collect-result.json +42 -0
  15. package/contracts/v1/fixtures/operation-control-receipt.json +13 -0
  16. package/contracts/v1/fixtures/operation-control-request.json +18 -0
  17. package/contracts/v1/fixtures/operation-control-result.json +31 -0
  18. package/contracts/v1/fixtures/operation-event.json +18 -0
  19. package/contracts/v1/fixtures/operation-handle.json +10 -0
  20. package/contracts/v1/fixtures/operation-inspect-request.json +13 -0
  21. package/contracts/v1/fixtures/operation-inspect-result.json +205 -0
  22. package/contracts/v1/fixtures/operation-ownership-baseline-event.json +34 -0
  23. package/contracts/v1/fixtures/operation-receipt.json +32 -0
  24. package/contracts/v1/fixtures/operation-recovery-decision.json +7 -0
  25. package/contracts/v1/fixtures/operation-recovery-observation.json +12 -0
  26. package/contracts/v1/fixtures/operation-request.json +33 -0
  27. package/contracts/v1/fixtures/operation-state.json +144 -0
  28. package/contracts/v1/fixtures/operation-submission-witness-event.json +20 -0
  29. package/contracts/v1/fixtures/operation-submission-witness.json +11 -0
  30. package/contracts/v1/fixtures/operation-submit-result.json +16 -0
  31. package/contracts/v1/fixtures/operation-target-established-event.json +21 -0
  32. package/contracts/v1/manifest.json +155 -1
  33. package/contracts/v1/parity-suite.json +96 -1
  34. package/contracts/v1/schemas/backend-compatibility.schema.json +65 -0
  35. package/contracts/v1/schemas/backend-request.schema.json +8 -2
  36. package/contracts/v1/schemas/capabilities.schema.json +81 -1
  37. package/contracts/v1/schemas/manifest.schema.json +57 -0
  38. package/contracts/v1/schemas/operation-action.schema.json +155 -0
  39. package/contracts/v1/schemas/operation-artifact-receipt.schema.json +89 -0
  40. package/contracts/v1/schemas/operation-blocker.schema.json +70 -0
  41. package/contracts/v1/schemas/operation-collect-request.schema.json +46 -0
  42. package/contracts/v1/schemas/operation-collect-result.schema.json +74 -0
  43. package/contracts/v1/schemas/operation-control-receipt.schema.json +108 -0
  44. package/contracts/v1/schemas/operation-control-request.schema.json +111 -0
  45. package/contracts/v1/schemas/operation-control-result.schema.json +112 -0
  46. package/contracts/v1/schemas/operation-event.schema.json +756 -0
  47. package/contracts/v1/schemas/operation-handle.schema.json +55 -0
  48. package/contracts/v1/schemas/operation-inspect-request.schema.json +42 -0
  49. package/contracts/v1/schemas/operation-inspect-result.schema.json +1662 -0
  50. package/contracts/v1/schemas/operation-receipt.schema.json +153 -0
  51. package/contracts/v1/schemas/operation-recovery.schema.json +314 -0
  52. package/contracts/v1/schemas/operation-request.schema.json +158 -0
  53. package/contracts/v1/schemas/operation-state.schema.json +691 -0
  54. package/contracts/v1/schemas/operation-submission-witness.schema.json +48 -0
  55. package/contracts/v1/schemas/operation-submit-result.schema.json +94 -0
  56. package/contracts/v1/surface-drift-policy.json +50 -0
  57. package/contracts/v1/vectors/operation-request-digest-v1.json +43 -0
  58. package/dist/codex-chatgpt-control-backend.mjs +43897 -9094
  59. package/dist/codex-chatgpt-control.bundle.mjs +46360 -10262
  60. package/dist/src/backend/client.d.ts +103 -2
  61. package/dist/src/backend/client.js +1436 -97
  62. package/dist/src/backend/compatibility.d.ts +12 -0
  63. package/dist/src/backend/compatibility.js +208 -0
  64. package/dist/src/backend/protocol.d.ts +84 -1
  65. package/dist/src/backend/protocol.js +31 -5
  66. package/dist/src/backend/runtime-identity.d.ts +10 -0
  67. package/dist/src/backend/runtime-identity.js +141 -0
  68. package/dist/src/backend/session.d.ts +10 -2
  69. package/dist/src/backend/session.js +478 -7
  70. package/dist/src/backend/stdio-server.d.ts +4 -1
  71. package/dist/src/backend/stdio-server.js +240 -28
  72. package/dist/src/browser/active-composer-file-input.d.ts +9 -0
  73. package/dist/src/browser/active-composer-file-input.js +33 -0
  74. package/dist/src/browser/attach.d.ts +4 -1
  75. package/dist/src/browser/attach.js +136 -28
  76. package/dist/src/browser/downloads.d.ts +2 -0
  77. package/dist/src/client.d.ts +38 -0
  78. package/dist/src/client.js +1222 -59
  79. package/dist/src/commands/configuration.js +13 -7
  80. package/dist/src/commands/doctor.d.ts +1 -1
  81. package/dist/src/commands/doctor.js +26 -3
  82. package/dist/src/commands/experience.js +35 -0
  83. package/dist/src/commands/files.js +4 -27
  84. package/dist/src/commands/modes.js +49 -17
  85. package/dist/src/commands/power-discovery.d.ts +130 -0
  86. package/dist/src/commands/power-discovery.js +627 -0
  87. package/dist/src/commands/project-sources.js +325 -31
  88. package/dist/src/commands/sequence.js +59 -32
  89. package/dist/src/commands/session.js +7 -2
  90. package/dist/src/commands/work.js +31 -0
  91. package/dist/src/errors.d.ts +9 -0
  92. package/dist/src/errors.js +22 -0
  93. package/dist/src/index.d.ts +6 -0
  94. package/dist/src/index.js +9 -0
  95. package/dist/src/operations/artifact-output.d.ts +69 -0
  96. package/dist/src/operations/artifact-output.js +1748 -0
  97. package/dist/src/operations/artifact-stream.d.ts +19 -0
  98. package/dist/src/operations/artifact-stream.js +35 -0
  99. package/dist/src/operations/artifact-transfer.d.ts +149 -0
  100. package/dist/src/operations/artifact-transfer.js +1312 -0
  101. package/dist/src/operations/browser-adapter.d.ts +161 -0
  102. package/dist/src/operations/browser-adapter.js +2023 -0
  103. package/dist/src/operations/browser-observation.d.ts +110 -0
  104. package/dist/src/operations/browser-observation.js +1208 -0
  105. package/dist/src/operations/browser-target.d.ts +103 -0
  106. package/dist/src/operations/browser-target.js +489 -0
  107. package/dist/src/operations/canonical.d.ts +4 -0
  108. package/dist/src/operations/canonical.js +412 -0
  109. package/dist/src/operations/chatgpt-runtime.d.ts +72 -0
  110. package/dist/src/operations/chatgpt-runtime.js +1150 -0
  111. package/dist/src/operations/client.d.ts +138 -0
  112. package/dist/src/operations/client.js +1143 -0
  113. package/dist/src/operations/collector.d.ts +195 -0
  114. package/dist/src/operations/collector.js +1039 -0
  115. package/dist/src/operations/control.d.ts +372 -0
  116. package/dist/src/operations/control.js +1498 -0
  117. package/dist/src/operations/file-identity.d.ts +33 -0
  118. package/dist/src/operations/file-identity.js +153 -0
  119. package/dist/src/operations/handle.d.ts +19 -0
  120. package/dist/src/operations/handle.js +727 -0
  121. package/dist/src/operations/index.d.ts +22 -0
  122. package/dist/src/operations/index.js +22 -0
  123. package/dist/src/operations/journal.d.ts +142 -0
  124. package/dist/src/operations/journal.js +1931 -0
  125. package/dist/src/operations/production-attachments.d.ts +116 -0
  126. package/dist/src/operations/production-attachments.js +1018 -0
  127. package/dist/src/operations/production-chatgpt-artifacts.d.ts +74 -0
  128. package/dist/src/operations/production-chatgpt-artifacts.js +1146 -0
  129. package/dist/src/operations/production-chatgpt-attachments.d.ts +71 -0
  130. package/dist/src/operations/production-chatgpt-attachments.js +1563 -0
  131. package/dist/src/operations/production-configuration.d.ts +42 -0
  132. package/dist/src/operations/production-configuration.js +1363 -0
  133. package/dist/src/operations/production-primitives.d.ts +53 -0
  134. package/dist/src/operations/production-primitives.js +1073 -0
  135. package/dist/src/operations/production-work-steer.d.ts +203 -0
  136. package/dist/src/operations/production-work-steer.js +1218 -0
  137. package/dist/src/operations/recovery.d.ts +80 -0
  138. package/dist/src/operations/recovery.js +174 -0
  139. package/dist/src/operations/runtime-adapter.d.ts +118 -0
  140. package/dist/src/operations/runtime-adapter.js +786 -0
  141. package/dist/src/operations/send-once.d.ts +224 -0
  142. package/dist/src/operations/send-once.js +1081 -0
  143. package/dist/src/operations/service.d.ts +281 -0
  144. package/dist/src/operations/service.js +2810 -0
  145. package/dist/src/operations/staging.d.ts +136 -0
  146. package/dist/src/operations/staging.js +630 -0
  147. package/dist/src/operations/state-machine.d.ts +29 -0
  148. package/dist/src/operations/state-machine.js +2047 -0
  149. package/dist/src/operations/submission.d.ts +423 -0
  150. package/dist/src/operations/submission.js +1676 -0
  151. package/dist/src/operations/turn-ownership.d.ts +202 -0
  152. package/dist/src/operations/turn-ownership.js +700 -0
  153. package/dist/src/operations/types.d.ts +454 -0
  154. package/dist/src/operations/types.js +20 -0
  155. package/dist/src/operations/wire-requests.d.ts +21 -0
  156. package/dist/src/operations/wire-requests.js +396 -0
  157. package/dist/src/operations/wire-results.d.ts +97 -0
  158. package/dist/src/operations/wire-results.js +818 -0
  159. package/dist/src/runner/responses.d.ts +3 -1
  160. package/dist/src/runner/responses.js +19 -1
  161. package/dist/src/runner/result.js +227 -55
  162. package/dist/src/runner/types.d.ts +12 -0
  163. package/dist/src/runtime/command-routing.d.ts +149 -0
  164. package/dist/src/runtime/command-routing.js +431 -0
  165. package/dist/src/runtime/coordinated-browser.d.ts +24 -0
  166. package/dist/src/runtime/coordinated-browser.js +315 -0
  167. package/dist/src/runtime/coordinated-page.d.ts +39 -0
  168. package/dist/src/runtime/coordinated-page.js +634 -0
  169. package/dist/src/runtime/operation-context.d.ts +142 -0
  170. package/dist/src/runtime/operation-context.js +410 -0
  171. package/dist/src/runtime/runtime-session.d.ts +95 -0
  172. package/dist/src/runtime/runtime-session.js +314 -0
  173. package/dist/src/runtime/tab-coordinator.d.ts +200 -0
  174. package/dist/src/runtime/tab-coordinator.js +1200 -0
  175. package/dist/src/runtime/value-boundaries.d.ts +18 -0
  176. package/dist/src/runtime/value-boundaries.js +49 -0
  177. package/dist/src/safety/untrusted-output.js +2 -1
  178. package/dist/src/scripts/backend-server.js +4 -1
  179. package/dist/src/scripts/live-smoke/harness.js +79 -7
  180. package/dist/src/scripts/live-smoke/scenarios.d.ts +28 -0
  181. package/dist/src/scripts/live-smoke/scenarios.js +110 -18
  182. package/dist/src/scripts/live-smoke/types.d.ts +3 -0
  183. package/dist/src/scripts/release-canary-module.js +17 -4
  184. package/dist/src/types.d.ts +38 -1
  185. package/package.json +1 -1
  186. package/references/2026-08-16-transactional-operations.md +459 -0
  187. package/references/agents-runner.md +34 -0
  188. package/references/backend-protocol.md +73 -0
  189. package/references/python-parity.md +72 -0
  190. package/references/responses-adapter.md +19 -0
  191. package/references/streaming.md +6 -0
@@ -0,0 +1,281 @@
1
+ import { OperationJournal } from "./journal.js";
2
+ import { type CollectorObservation, type CollectorObservationRequest, type CollectorResult, type CollectorOptions } from "./collector.js";
3
+ import { type SubmissionAttachmentObservation, type SubmissionAttachmentRequest, type SubmissionFinalTransactionRequest, type SubmissionFinalTransactionResult, type SubmissionHandoffRequest, type SubmissionHandoffResult, type SubmissionPrepareSendRequest, type SubmissionPrepareSendResult, type SubmissionExecutePreparedSendRequest, type SubmissionExecutePreparedSendResult, type SubmissionVerifyPreparedSendRequest, type SubmissionRecoverSendRequest, type SubmissionResult, type SubmissionStageObservation, type SubmissionStageRequest } from "./submission.js";
4
+ import { type ControlExecutionRequest, type ControlExecutionResult, type ControlOptions, type ControlPostconditionObservation, type ControlPostconditionRetryPolicy, type ControlPostconditionRequest, type ControlSteerPhaseResult, type ControlSteerPrepareRequest, type ControlSteerExecutePreparedRequest, type ControlSteerVerifyRequest, type ControlSteerRecoverRequest, type ControlTurnObservation, type ControlTurnObservationRequest } from "./control.js";
5
+ import { type OperationStagingCallbackRequest, type OperationStagingMutationResult, type OperationStagingObservation } from "./staging.js";
6
+ import type { ArtifactTransferJournalPort, ArtifactTransferKind, ArtifactTransferResult } from "./artifact-transfer.js";
7
+ import { type OperationControlRequestV1, type OperationHandleV1, type OperationStateV1, type OperationSubmitRequestV1, type OperationSurface, type OperationTargetBindingV1, type OperationTargetRequestV1 } from "./types.js";
8
+ import { type OwnershipBaseline, type OwnershipBinding, type OwnershipCursor, type OwnershipSubmissionWitness } from "./turn-ownership.js";
9
+ export declare class OperationServiceError extends Error {
10
+ readonly code: string;
11
+ constructor(code: string, message: string);
12
+ }
13
+ export type OperationTargetResolution = Readonly<{
14
+ target: OperationTargetBindingV1;
15
+ /** Read-only receipts for the exact configuration/composer envelope. */
16
+ configurationReceiptDigest?: string;
17
+ composerReceiptDigest?: string;
18
+ }>;
19
+ export type OperationTargetResolutionRequest = Readonly<{
20
+ operationId: string;
21
+ requestDigest: string;
22
+ surface: OperationSurface;
23
+ target: OperationTargetRequestV1;
24
+ signal: AbortSignal;
25
+ }>;
26
+ export type OperationCollectorContext = Readonly<{
27
+ binding: OwnershipBinding;
28
+ baseline: OwnershipBaseline;
29
+ submissionWitness?: OwnershipSubmissionWitness;
30
+ prior?: OwnershipCursor;
31
+ }>;
32
+ export type OperationCollectorContextRequest = Readonly<{
33
+ operationId: string;
34
+ requestDigest: string;
35
+ targetBindingDigest: string;
36
+ submissionActionId?: string;
37
+ /** Authenticated causal action kind selected from the journal. */
38
+ submissionActionKind?: "send" | "work_steer";
39
+ /** Authenticated causal witness selected from the journal. */
40
+ submissionWitness?: OwnershipSubmissionWitness;
41
+ /** Authenticated causal baseline projected from the journal on recovery. */
42
+ baseline?: OwnershipBaseline;
43
+ signal: AbortSignal;
44
+ }>;
45
+ export type OperationSubmissionAdapter = Readonly<{
46
+ observeStaging(request: SubmissionStageRequest): Promise<SubmissionStageObservation>;
47
+ executeFileHandoffOnce(request: SubmissionHandoffRequest): Promise<SubmissionHandoffResult>;
48
+ observeAttachments(request: SubmissionAttachmentRequest): Promise<SubmissionAttachmentObservation>;
49
+ prepareSend(request: SubmissionPrepareSendRequest): Promise<SubmissionPrepareSendResult>;
50
+ executePreparedSend(request: SubmissionExecutePreparedSendRequest): Promise<SubmissionExecutePreparedSendResult>;
51
+ verifyPreparedSend(request: SubmissionVerifyPreparedSendRequest): Promise<SubmissionFinalTransactionResult>;
52
+ recoverSend(request: SubmissionRecoverSendRequest): Promise<SubmissionFinalTransactionResult>;
53
+ /** Compatibility-only legacy composition; the transactional path never invokes it. */
54
+ executeFinalTabTransaction(request: SubmissionFinalTransactionRequest): Promise<SubmissionFinalTransactionResult>;
55
+ }>;
56
+ export type OperationCollectorAdapter = Readonly<{
57
+ readContext(request: OperationCollectorContextRequest): Promise<OperationCollectorContext>;
58
+ observe(request: CollectorObservationRequest): Promise<CollectorObservation>;
59
+ sleep(milliseconds: number, signal: AbortSignal): Promise<void>;
60
+ }>;
61
+ export type OperationControlAdapter = Readonly<{
62
+ observeTurn(request: ControlTurnObservationRequest): Promise<ControlTurnObservation>;
63
+ executeOnce(request: ControlExecutionRequest): Promise<ControlExecutionResult>;
64
+ observePostcondition(request: ControlPostconditionRequest): Promise<ControlPostconditionObservation>;
65
+ postconditionRetry?: ControlPostconditionRetryPolicy;
66
+ /** Read-only Work-steer preparation; prompt text remains in the adapter closure. */
67
+ prepareSteer?(request: ControlSteerPrepareRequest): Promise<ControlSteerPhaseResult>;
68
+ /** One-shot Work-steer mutation over an authenticated prepared record. */
69
+ executeSteerPrepared?(request: ControlSteerExecutePreparedRequest): Promise<ControlSteerPhaseResult>;
70
+ /** Read-only same-process postcondition verification. */
71
+ verifySteer?(request: ControlSteerVerifyRequest): Promise<ControlSteerPhaseResult>;
72
+ /** Read-only restart/quarantine recovery. */
73
+ recoverSteer?(request: ControlSteerRecoverRequest): Promise<ControlSteerPhaseResult>;
74
+ }>;
75
+ /**
76
+ * Request-local artifact transfer capability. The implementation owns the
77
+ * output directory and provider source closure; the service supplies only
78
+ * path-free operation/artifact identity and journal callbacks. Keeping this
79
+ * seam optional is important for restart: a handle factory may be unable to
80
+ * recreate a destination, in which case the service closes the obligation
81
+ * durably without retrying a provider source.
82
+ */
83
+ export type OperationArtifactTransferRequest = Readonly<{
84
+ operationId: string;
85
+ requestDigest: string;
86
+ targetBindingDigest: string;
87
+ assistantTurnId: string;
88
+ sourceIdentityDigest: string;
89
+ kind: ArtifactTransferKind;
90
+ ordinal: number;
91
+ transferActionId: string;
92
+ mimeTypeHint?: string;
93
+ signal: AbortSignal;
94
+ deadlineAt: number;
95
+ journal: ArtifactTransferJournalPort;
96
+ }>;
97
+ export type OperationArtifactAdapter = Readonly<{
98
+ transfer(request: OperationArtifactTransferRequest): Promise<ArtifactTransferResult>;
99
+ }>;
100
+ export type OperationStagingAdapter = Readonly<{
101
+ readCurrent(request: OperationStagingCallbackRequest): Promise<OperationStagingObservation>;
102
+ mutateOnce(request: OperationStagingCallbackRequest): Promise<OperationStagingMutationResult>;
103
+ observe(request: OperationStagingCallbackRequest): Promise<OperationStagingObservation>;
104
+ }>;
105
+ export type OperationBrowserAdapter = Readonly<{
106
+ /** Read-only target/identity probe. It must not alter configuration or the composer. */
107
+ resolveTarget(request: OperationTargetResolutionRequest): Promise<OperationTargetResolution>;
108
+ submission: OperationSubmissionAdapter;
109
+ collector: OperationCollectorAdapter;
110
+ artifacts?: OperationArtifactAdapter;
111
+ staging?: OperationStagingAdapter;
112
+ control?: OperationControlAdapter;
113
+ }>;
114
+ export type OperationServiceOptions = Readonly<{
115
+ now?: () => number;
116
+ maxCasRetries?: number;
117
+ }>;
118
+ export type OperationSubmitOptions = Readonly<{
119
+ signal?: AbortSignal;
120
+ deadlineAt?: number;
121
+ /** An independently computed digest may be supplied, but is always checked. */
122
+ requestDigest?: string;
123
+ }>;
124
+ export type OperationSubmitResult = Readonly<{
125
+ handle: OperationHandleV1;
126
+ submission: SubmissionResult;
127
+ }>;
128
+ export type OperationInspectResult = Readonly<{
129
+ handle: OperationHandleV1;
130
+ state: OperationStateV1;
131
+ }>;
132
+ /** Browser integration's post-Send identity proof for a genuine new target. */
133
+ export type OperationTargetEstablishmentRequest = Readonly<{
134
+ operationId: string;
135
+ requestDigest: string;
136
+ targetBindingDigest: string;
137
+ anchorDigest: string;
138
+ causalSendActionId: string;
139
+ conversationId: string;
140
+ canonicalThreadUrl: string;
141
+ userTurnId: string;
142
+ userTurnEvidenceDigest: string;
143
+ postSendDeltaDigest?: string;
144
+ evidenceDigest: string;
145
+ observedAt?: string;
146
+ }>;
147
+ export type OperationTargetEstablishmentResult = Readonly<{
148
+ handle: OperationHandleV1;
149
+ state: OperationStateV1;
150
+ }>;
151
+ export type OperationRunResult = Readonly<{
152
+ submit: OperationSubmitResult;
153
+ collect?: CollectorResult;
154
+ }>;
155
+ /**
156
+ * Compose the additive operations surface over an authenticated journal.
157
+ * Construct one instance per stable state root and share it between callers.
158
+ */
159
+ export declare class OperationService {
160
+ private readonly journal;
161
+ private readonly now;
162
+ private readonly maxCasRetries;
163
+ /**
164
+ * Same-process convergence for a collector race. The journal remains the
165
+ * cross-process authority; this map prevents two callers from even asking
166
+ * an arbitrary adapter to begin the same local effect concurrently.
167
+ */
168
+ private readonly artifactTransfersInFlight;
169
+ constructor(journal: OperationJournal, options?: OperationServiceOptions);
170
+ /**
171
+ * Submit once and return a fresh locator. A successful return means only
172
+ * that the submission result has been reconciled and durably bridged; it
173
+ * does not wait for assistant generation.
174
+ */
175
+ submit(request: OperationSubmitRequestV1, files: readonly import("./file-identity.js").OperationFileManifestEntryV1[], adapter: OperationBrowserAdapter, options?: OperationSubmitOptions): Promise<OperationSubmitResult>;
176
+ /**
177
+ * Collect from a caller locator. It reloads the journal for every collector
178
+ * attempt and never calls the submission path. Completed receipts are
179
+ * returned directly, so a browser adapter is not needed for that case.
180
+ */
181
+ collect(handle: OperationHandleV1, adapter: OperationBrowserAdapter, options?: CollectorOptions): Promise<CollectorResult>;
182
+ /** Browser-free state inspection. The adapter is intentionally not accepted. */
183
+ inspect(handle: OperationHandleV1): Promise<OperationInspectResult>;
184
+ /**
185
+ * Persist the one-way provider identity refinement for a genuine new
186
+ * target. This seam is browser-free: the adapter must first prove the exact
187
+ * post-Send user turn and provider identity, then call this method. It never
188
+ * allocates or guesses a conversation ID and it converges identical
189
+ * concurrent observations without appending a duplicate event.
190
+ */
191
+ establishTarget(request: OperationTargetEstablishmentRequest): Promise<OperationTargetEstablishmentResult>;
192
+ /** Submit followed by collect with the same operation ID and handle. */
193
+ run(request: OperationSubmitRequestV1, files: readonly import("./file-identity.js").OperationFileManifestEntryV1[], adapter: OperationBrowserAdapter, options?: OperationSubmitOptions & CollectorOptions): Promise<OperationRunResult>;
194
+ /** Run one operation-bound Stop or Work steer through the same journal. */
195
+ control(request: OperationControlRequestV1, adapter: OperationBrowserAdapter, options?: ControlOptions): Promise<import("./control.js").ControlResult>;
196
+ private computeRequestDigest;
197
+ private ensureCreated;
198
+ private resolveAndBindTarget;
199
+ private appendTarget;
200
+ private submissionPorts;
201
+ private stageRequest;
202
+ private stagingActionId;
203
+ private persistStagingIntent;
204
+ private persistStagingReceipt;
205
+ private submissionFromStagingBlocker;
206
+ private persistActionIntent;
207
+ /**
208
+ * Persist the non-repeatable Send intent and its complete ownership anchor
209
+ * in one event. `executeAllowed` is true only when this exact invocation's
210
+ * append and adjacent phase transition both returned successfully. Any
211
+ * commit-then-throw or concurrent convergence is observation-only.
212
+ */
213
+ private persistPreparedSend;
214
+ /**
215
+ * Atomically fence a Work-steer action with its complete pre-steer
216
+ * ownership anchor. The action_prepared event is the sole mutation
217
+ * authorization boundary: an invocation that observes or converges a
218
+ * committed prefix is permanently recovery-only. A different unresolved
219
+ * action receives an explicit typed block; a previously settled action does
220
+ * not prevent a new caller-owned steer.
221
+ */
222
+ private persistSteerIntentAndBaseline;
223
+ private persistSubmissionEvidence;
224
+ private persistReturnedSubmissionBlocker;
225
+ /**
226
+ * Append the one immutable post-Send ownership witness. This is deliberately
227
+ * separate from action receipts and phase events: callers must be able to
228
+ * replay a crash prefix and distinguish "Send was invoked" from "the exact
229
+ * operation-owned user turn was proven" without consulting the browser.
230
+ */
231
+ private appendSubmissionWitnessConvergent;
232
+ private submissionWitnessFromEstablishment;
233
+ private submissionWitnessFromReceipt;
234
+ private appendActionReceiptConvergent;
235
+ /**
236
+ * Append the complete redacted pre-Send ownership baseline. The callback is
237
+ * invoked by the adapter after its final precondition read and before its
238
+ * sole browser activation. Consequently a process crash can leave either a
239
+ * durable baseline with no click, or a durable baseline plus a Send intent;
240
+ * it can never require reconstructing authority from a post-Send page.
241
+ */
242
+ private persistOwnershipBaseline;
243
+ private appendPhaseConvergent;
244
+ private appendConvergent;
245
+ private eventEffectExists;
246
+ private persistProgress;
247
+ private persistTerminal;
248
+ /**
249
+ * Transfer each exact terminal artifact and project only durable transfer
250
+ * facts into the operation receipt. No provider result is trusted until its
251
+ * journal callbacks have produced an authenticated artifact-transfer
252
+ * receipt. A missing adapter, a prior intent without a receipt, or an
253
+ * adapter protocol failure closes the one-shot obligation as partial/blocked
254
+ * without re-opening the source.
255
+ */
256
+ private persistTerminalArtifactTransfers;
257
+ private persistTerminalArtifactTransfer;
258
+ private invokeArtifactAdapter;
259
+ private artifactTransferActionId;
260
+ private makeUnavailableArtifactTransferIntent;
261
+ private closeArtifactTransferWithoutSource;
262
+ private artifactTransferJournal;
263
+ private readArtifactTransferState;
264
+ private persistArtifactTransferIntent;
265
+ private persistArtifactTransferReceipt;
266
+ private advanceToCapturing;
267
+ /**
268
+ * Rebuild the prompt-free Work-steer prepared record from authenticated
269
+ * journal state. The journal stores the action-prepared action/baseline;
270
+ * assistant branch identity is derived from that baseline and the caller's
271
+ * exact control request, then the keyed prepared digest is recomputed.
272
+ */
273
+ private reconstructSteerIntent;
274
+ private readControlParent;
275
+ private persistControlIntent;
276
+ private persistControlReceipt;
277
+ private loadForHandle;
278
+ private targetBindingDigest;
279
+ private timestamp;
280
+ private serviceError;
281
+ }