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.
- package/CHANGELOG.md +15 -0
- package/README.md +27 -0
- package/contracts/v1/fixtures/backend-capabilities.json +40 -1
- package/contracts/v1/fixtures/backend-compatibility.json +21 -0
- package/contracts/v1/fixtures/backend-version.json +6 -1
- package/contracts/v1/fixtures/operation-action-prepared-event.json +42 -0
- package/contracts/v1/fixtures/operation-action.json +13 -0
- package/contracts/v1/fixtures/operation-artifact-receipt.json +14 -0
- package/contracts/v1/fixtures/operation-artifact-transfer-intent-event.json +24 -0
- package/contracts/v1/fixtures/operation-artifact-transfer-receipt-event.json +26 -0
- package/contracts/v1/fixtures/operation-artifact-transfer-state.json +178 -0
- package/contracts/v1/fixtures/operation-blocker.json +10 -0
- package/contracts/v1/fixtures/operation-collect-request.json +17 -0
- package/contracts/v1/fixtures/operation-collect-result.json +42 -0
- package/contracts/v1/fixtures/operation-control-receipt.json +13 -0
- package/contracts/v1/fixtures/operation-control-request.json +18 -0
- package/contracts/v1/fixtures/operation-control-result.json +31 -0
- package/contracts/v1/fixtures/operation-event.json +18 -0
- package/contracts/v1/fixtures/operation-handle.json +10 -0
- package/contracts/v1/fixtures/operation-inspect-request.json +13 -0
- package/contracts/v1/fixtures/operation-inspect-result.json +205 -0
- package/contracts/v1/fixtures/operation-ownership-baseline-event.json +34 -0
- package/contracts/v1/fixtures/operation-receipt.json +32 -0
- package/contracts/v1/fixtures/operation-recovery-decision.json +7 -0
- package/contracts/v1/fixtures/operation-recovery-observation.json +12 -0
- package/contracts/v1/fixtures/operation-request.json +33 -0
- package/contracts/v1/fixtures/operation-state.json +144 -0
- package/contracts/v1/fixtures/operation-submission-witness-event.json +20 -0
- package/contracts/v1/fixtures/operation-submission-witness.json +11 -0
- package/contracts/v1/fixtures/operation-submit-result.json +16 -0
- package/contracts/v1/fixtures/operation-target-established-event.json +21 -0
- package/contracts/v1/manifest.json +155 -1
- package/contracts/v1/parity-suite.json +96 -1
- package/contracts/v1/schemas/backend-compatibility.schema.json +65 -0
- package/contracts/v1/schemas/backend-request.schema.json +8 -2
- package/contracts/v1/schemas/capabilities.schema.json +81 -1
- package/contracts/v1/schemas/manifest.schema.json +57 -0
- package/contracts/v1/schemas/operation-action.schema.json +155 -0
- package/contracts/v1/schemas/operation-artifact-receipt.schema.json +89 -0
- package/contracts/v1/schemas/operation-blocker.schema.json +70 -0
- package/contracts/v1/schemas/operation-collect-request.schema.json +46 -0
- package/contracts/v1/schemas/operation-collect-result.schema.json +74 -0
- package/contracts/v1/schemas/operation-control-receipt.schema.json +108 -0
- package/contracts/v1/schemas/operation-control-request.schema.json +111 -0
- package/contracts/v1/schemas/operation-control-result.schema.json +112 -0
- package/contracts/v1/schemas/operation-event.schema.json +756 -0
- package/contracts/v1/schemas/operation-handle.schema.json +55 -0
- package/contracts/v1/schemas/operation-inspect-request.schema.json +42 -0
- package/contracts/v1/schemas/operation-inspect-result.schema.json +1662 -0
- package/contracts/v1/schemas/operation-receipt.schema.json +153 -0
- package/contracts/v1/schemas/operation-recovery.schema.json +314 -0
- package/contracts/v1/schemas/operation-request.schema.json +158 -0
- package/contracts/v1/schemas/operation-state.schema.json +691 -0
- package/contracts/v1/schemas/operation-submission-witness.schema.json +48 -0
- package/contracts/v1/schemas/operation-submit-result.schema.json +94 -0
- package/contracts/v1/surface-drift-policy.json +50 -0
- package/contracts/v1/vectors/operation-request-digest-v1.json +43 -0
- package/dist/codex-chatgpt-control-backend.mjs +43897 -9094
- package/dist/codex-chatgpt-control.bundle.mjs +46360 -10262
- package/dist/src/backend/client.d.ts +103 -2
- package/dist/src/backend/client.js +1436 -97
- package/dist/src/backend/compatibility.d.ts +12 -0
- package/dist/src/backend/compatibility.js +208 -0
- package/dist/src/backend/protocol.d.ts +84 -1
- package/dist/src/backend/protocol.js +31 -5
- package/dist/src/backend/runtime-identity.d.ts +10 -0
- package/dist/src/backend/runtime-identity.js +141 -0
- package/dist/src/backend/session.d.ts +10 -2
- package/dist/src/backend/session.js +478 -7
- package/dist/src/backend/stdio-server.d.ts +4 -1
- package/dist/src/backend/stdio-server.js +240 -28
- package/dist/src/browser/active-composer-file-input.d.ts +9 -0
- package/dist/src/browser/active-composer-file-input.js +33 -0
- package/dist/src/browser/attach.d.ts +4 -1
- package/dist/src/browser/attach.js +136 -28
- package/dist/src/browser/downloads.d.ts +2 -0
- package/dist/src/client.d.ts +38 -0
- package/dist/src/client.js +1222 -59
- package/dist/src/commands/configuration.js +13 -7
- package/dist/src/commands/doctor.d.ts +1 -1
- package/dist/src/commands/doctor.js +26 -3
- package/dist/src/commands/experience.js +35 -0
- package/dist/src/commands/files.js +4 -27
- package/dist/src/commands/modes.js +49 -17
- package/dist/src/commands/power-discovery.d.ts +130 -0
- package/dist/src/commands/power-discovery.js +627 -0
- package/dist/src/commands/project-sources.js +325 -31
- package/dist/src/commands/sequence.js +59 -32
- package/dist/src/commands/session.js +7 -2
- package/dist/src/commands/work.js +31 -0
- package/dist/src/errors.d.ts +9 -0
- package/dist/src/errors.js +22 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.js +9 -0
- package/dist/src/operations/artifact-output.d.ts +69 -0
- package/dist/src/operations/artifact-output.js +1748 -0
- package/dist/src/operations/artifact-stream.d.ts +19 -0
- package/dist/src/operations/artifact-stream.js +35 -0
- package/dist/src/operations/artifact-transfer.d.ts +149 -0
- package/dist/src/operations/artifact-transfer.js +1312 -0
- package/dist/src/operations/browser-adapter.d.ts +161 -0
- package/dist/src/operations/browser-adapter.js +2023 -0
- package/dist/src/operations/browser-observation.d.ts +110 -0
- package/dist/src/operations/browser-observation.js +1208 -0
- package/dist/src/operations/browser-target.d.ts +103 -0
- package/dist/src/operations/browser-target.js +489 -0
- package/dist/src/operations/canonical.d.ts +4 -0
- package/dist/src/operations/canonical.js +412 -0
- package/dist/src/operations/chatgpt-runtime.d.ts +72 -0
- package/dist/src/operations/chatgpt-runtime.js +1150 -0
- package/dist/src/operations/client.d.ts +138 -0
- package/dist/src/operations/client.js +1143 -0
- package/dist/src/operations/collector.d.ts +195 -0
- package/dist/src/operations/collector.js +1039 -0
- package/dist/src/operations/control.d.ts +372 -0
- package/dist/src/operations/control.js +1498 -0
- package/dist/src/operations/file-identity.d.ts +33 -0
- package/dist/src/operations/file-identity.js +153 -0
- package/dist/src/operations/handle.d.ts +19 -0
- package/dist/src/operations/handle.js +727 -0
- package/dist/src/operations/index.d.ts +22 -0
- package/dist/src/operations/index.js +22 -0
- package/dist/src/operations/journal.d.ts +142 -0
- package/dist/src/operations/journal.js +1931 -0
- package/dist/src/operations/production-attachments.d.ts +116 -0
- package/dist/src/operations/production-attachments.js +1018 -0
- package/dist/src/operations/production-chatgpt-artifacts.d.ts +74 -0
- package/dist/src/operations/production-chatgpt-artifacts.js +1146 -0
- package/dist/src/operations/production-chatgpt-attachments.d.ts +71 -0
- package/dist/src/operations/production-chatgpt-attachments.js +1563 -0
- package/dist/src/operations/production-configuration.d.ts +42 -0
- package/dist/src/operations/production-configuration.js +1363 -0
- package/dist/src/operations/production-primitives.d.ts +53 -0
- package/dist/src/operations/production-primitives.js +1073 -0
- package/dist/src/operations/production-work-steer.d.ts +203 -0
- package/dist/src/operations/production-work-steer.js +1218 -0
- package/dist/src/operations/recovery.d.ts +80 -0
- package/dist/src/operations/recovery.js +174 -0
- package/dist/src/operations/runtime-adapter.d.ts +118 -0
- package/dist/src/operations/runtime-adapter.js +786 -0
- package/dist/src/operations/send-once.d.ts +224 -0
- package/dist/src/operations/send-once.js +1081 -0
- package/dist/src/operations/service.d.ts +281 -0
- package/dist/src/operations/service.js +2810 -0
- package/dist/src/operations/staging.d.ts +136 -0
- package/dist/src/operations/staging.js +630 -0
- package/dist/src/operations/state-machine.d.ts +29 -0
- package/dist/src/operations/state-machine.js +2047 -0
- package/dist/src/operations/submission.d.ts +423 -0
- package/dist/src/operations/submission.js +1676 -0
- package/dist/src/operations/turn-ownership.d.ts +202 -0
- package/dist/src/operations/turn-ownership.js +700 -0
- package/dist/src/operations/types.d.ts +454 -0
- package/dist/src/operations/types.js +20 -0
- package/dist/src/operations/wire-requests.d.ts +21 -0
- package/dist/src/operations/wire-requests.js +396 -0
- package/dist/src/operations/wire-results.d.ts +97 -0
- package/dist/src/operations/wire-results.js +818 -0
- package/dist/src/runner/responses.d.ts +3 -1
- package/dist/src/runner/responses.js +19 -1
- package/dist/src/runner/result.js +227 -55
- package/dist/src/runner/types.d.ts +12 -0
- package/dist/src/runtime/command-routing.d.ts +149 -0
- package/dist/src/runtime/command-routing.js +431 -0
- package/dist/src/runtime/coordinated-browser.d.ts +24 -0
- package/dist/src/runtime/coordinated-browser.js +315 -0
- package/dist/src/runtime/coordinated-page.d.ts +39 -0
- package/dist/src/runtime/coordinated-page.js +634 -0
- package/dist/src/runtime/operation-context.d.ts +142 -0
- package/dist/src/runtime/operation-context.js +410 -0
- package/dist/src/runtime/runtime-session.d.ts +95 -0
- package/dist/src/runtime/runtime-session.js +314 -0
- package/dist/src/runtime/tab-coordinator.d.ts +200 -0
- package/dist/src/runtime/tab-coordinator.js +1200 -0
- package/dist/src/runtime/value-boundaries.d.ts +18 -0
- package/dist/src/runtime/value-boundaries.js +49 -0
- package/dist/src/safety/untrusted-output.js +2 -1
- package/dist/src/scripts/backend-server.js +4 -1
- package/dist/src/scripts/live-smoke/harness.js +79 -7
- package/dist/src/scripts/live-smoke/scenarios.d.ts +28 -0
- package/dist/src/scripts/live-smoke/scenarios.js +110 -18
- package/dist/src/scripts/live-smoke/types.d.ts +3 -0
- package/dist/src/scripts/release-canary-module.js +17 -4
- package/dist/src/types.d.ts +38 -1
- package/package.json +1 -1
- package/references/2026-08-16-transactional-operations.md +459 -0
- package/references/agents-runner.md +34 -0
- package/references/backend-protocol.md +73 -0
- package/references/python-parity.md +72 -0
- package/references/responses-adapter.md +19 -0
- package/references/streaming.md +6 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { LocatorLike, PageLike } from "../types.js";
|
|
2
|
+
import type { BrowserObservationDigest } from "./browser-observation.js";
|
|
3
|
+
import { type OperationFileIdentity, type OperationFileManifestEntryV1 } from "./file-identity.js";
|
|
4
|
+
import type { SubmissionAttachmentObservation, SubmissionAttachmentRequest, SubmissionHandoffRequest, SubmissionHandoffResult } from "./submission.js";
|
|
5
|
+
import type { OperationTargetBindingV1 } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Provider capability for activating the one proven attachment/upload
|
|
8
|
+
* control. Most providers return a visible locator. A browser integration may
|
|
9
|
+
* instead return one bounded activation callback when its native upload input
|
|
10
|
+
* is intentionally hidden and the provider can prove the exact active-composer
|
|
11
|
+
* target through a narrower browser capability.
|
|
12
|
+
*/
|
|
13
|
+
export type ProductionAttachmentActivation = Readonly<{
|
|
14
|
+
/** Provider-side candidate count before this primitive is allowed to click. */
|
|
15
|
+
candidateCount: number;
|
|
16
|
+
/** Stable provider capability key, never a localized display string. */
|
|
17
|
+
capabilityKey: string;
|
|
18
|
+
} & ({
|
|
19
|
+
locator: LocatorLike;
|
|
20
|
+
activate?: never;
|
|
21
|
+
} | {
|
|
22
|
+
locator?: never;
|
|
23
|
+
/** One provider-owned gesture. The primitive starts the chooser waiter first. */
|
|
24
|
+
activate: (options: Readonly<{
|
|
25
|
+
timeoutMs: number;
|
|
26
|
+
}>) => Promise<void> | void;
|
|
27
|
+
})>;
|
|
28
|
+
/**
|
|
29
|
+
* Optional bounded preparation for providers whose composer exposes a plus
|
|
30
|
+
* menu before the final localized Upload row. The durable file-handoff intent
|
|
31
|
+
* must already exist before this callback is invoked. This is a mutation and
|
|
32
|
+
* therefore the callback receives the provider timeout and is awaited to
|
|
33
|
+
* settlement; the primitive never retries it.
|
|
34
|
+
*/
|
|
35
|
+
export type ProductionAttachmentPreparationResult = Readonly<{
|
|
36
|
+
status: "prepared";
|
|
37
|
+
providerEvidenceDigest: string;
|
|
38
|
+
} | {
|
|
39
|
+
status: "not_satisfied";
|
|
40
|
+
blockerCode: "selector_drift" | "ambiguous_file_handoff" | "operation_timeout";
|
|
41
|
+
} | {
|
|
42
|
+
status: "uncertain";
|
|
43
|
+
quarantine: "provider" | "caller";
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* A provider attachment observer must return identity evidence from the live
|
|
47
|
+
* surface itself. A filename, aria-label, or display name is not a content
|
|
48
|
+
* identity and must never be converted into a manifest SHA or identity digest.
|
|
49
|
+
*/
|
|
50
|
+
export type ProductionAttachmentSurfaceRead = Readonly<{
|
|
51
|
+
status: "absent";
|
|
52
|
+
source: "live_surface";
|
|
53
|
+
count: 0;
|
|
54
|
+
identityDigests: readonly [];
|
|
55
|
+
providerEvidenceDigest: string;
|
|
56
|
+
} | {
|
|
57
|
+
status: "exact";
|
|
58
|
+
source: "live_surface";
|
|
59
|
+
count: number;
|
|
60
|
+
identityDigests: readonly string[];
|
|
61
|
+
providerEvidenceDigest: string;
|
|
62
|
+
} | {
|
|
63
|
+
status: "mismatch" | "delayed" | "ambiguous" | "unavailable";
|
|
64
|
+
source: "live_surface";
|
|
65
|
+
providerEvidenceDigest?: string;
|
|
66
|
+
}>;
|
|
67
|
+
export type ProductionAttachmentPrimitiveOptions = Readonly<{
|
|
68
|
+
/** Journal-keyed HMAC evidence. Bare hashes are rejected. */
|
|
69
|
+
evidenceDigest: BrowserObservationDigest;
|
|
70
|
+
/** Request-local immutable inputs. Paths remain inside this module closure. */
|
|
71
|
+
files: readonly OperationFileIdentity[];
|
|
72
|
+
/** Computes the operation identity digest for one immutable file manifest. */
|
|
73
|
+
identityDigest: (ordinal: number, manifest: OperationFileManifestEntryV1) => string;
|
|
74
|
+
/** Provider proof that a path still has its established identity. */
|
|
75
|
+
revalidateFile: (identity: OperationFileIdentity) => Promise<void>;
|
|
76
|
+
/** One bounded read of the provider's live attachment surface. Never polls. */
|
|
77
|
+
observeSurface: (request: SubmissionAttachmentRequest, page: Readonly<PageLike>, target: OperationTargetBindingV1) => Promise<ProductionAttachmentSurfaceRead>;
|
|
78
|
+
/** One bounded discovery of the unique visible localized activation control. */
|
|
79
|
+
resolveActivation: (request: SubmissionHandoffRequest, page: Readonly<PageLike>, target: OperationTargetBindingV1) => Promise<ProductionAttachmentActivation | undefined>;
|
|
80
|
+
/**
|
|
81
|
+
* Optional one-shot plus-menu preparation. When present, this is the only
|
|
82
|
+
* supported route for a two-step composer; callers must not hide a second
|
|
83
|
+
* activation inside resolveActivation.
|
|
84
|
+
*/
|
|
85
|
+
prepareActivation?: (request: SubmissionHandoffRequest, page: Readonly<PageLike>, target: OperationTargetBindingV1, options: Readonly<{
|
|
86
|
+
timeoutMs: number;
|
|
87
|
+
}>) => Promise<ProductionAttachmentPreparationResult>;
|
|
88
|
+
/** Maximum chooser/callback budget. No polling interval is used. */
|
|
89
|
+
timeoutMs?: number;
|
|
90
|
+
/** Maximum accepted provider candidate count. */
|
|
91
|
+
maxCandidates?: number;
|
|
92
|
+
}>;
|
|
93
|
+
/** Direct API plus the adapter-shaped bridge used by OperationBrowserAdapter. */
|
|
94
|
+
export type ProductionAttachmentPrimitive = Readonly<{
|
|
95
|
+
observeAttachments: (request: SubmissionAttachmentRequest, page: Readonly<PageLike>, target: OperationTargetBindingV1) => Promise<SubmissionAttachmentObservation>;
|
|
96
|
+
handoffFiles: (request: SubmissionHandoffRequest, page: Readonly<PageLike>, target: OperationTargetBindingV1) => Promise<SubmissionHandoffResult>;
|
|
97
|
+
/**
|
|
98
|
+
* Adapter-compatible wrapper. The supplied identities are checked against
|
|
99
|
+
* the request-local immutable list, then discarded; raw paths never enter a
|
|
100
|
+
* provider result or evidence payload.
|
|
101
|
+
*/
|
|
102
|
+
handoffFilesForAdapter: (request: SubmissionHandoffRequest, files: readonly OperationFileIdentity[], page: Readonly<PageLike>, target: OperationTargetBindingV1) => Promise<SubmissionHandoffResult>;
|
|
103
|
+
}>;
|
|
104
|
+
export declare const PRODUCTION_ATTACHMENT_SCHEMA_VERSION: "chatgpt.browser_control.production_attachments.v1";
|
|
105
|
+
/**
|
|
106
|
+
* Build one request-scoped, non-repeatable attachment capability.
|
|
107
|
+
*
|
|
108
|
+
* The factory validates and freezes the entire identity graph before any
|
|
109
|
+
* provider callback can run. Handoff has one state machine: revalidate -> arm
|
|
110
|
+
* one chooser waiter -> resolve one visible control -> click at most once ->
|
|
111
|
+
* setFiles at most once. If either browser mutation can have happened and its
|
|
112
|
+
* outcome is not exact, the result is quarantined as uncertain.
|
|
113
|
+
*/
|
|
114
|
+
export declare function createProductionAttachmentPrimitive(options: ProductionAttachmentPrimitiveOptions): ProductionAttachmentPrimitive;
|
|
115
|
+
/** Alias retained for integrations that name the layer after its provider. */
|
|
116
|
+
export declare const createOperationProductionAttachments: typeof createProductionAttachmentPrimitive;
|