@opengeni/sdk 0.52.1 → 0.57.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.
- package/README.md +61 -7
- package/dist/artifacts.js +5 -5
- package/dist/{chunk-V5F253OG.js → chunk-GU6JF75T.js} +6 -3
- package/dist/chunk-GU6JF75T.js.map +1 -0
- package/dist/{chunk-FRJFNDIR.js → chunk-HJ3HHUT5.js} +5 -1
- package/dist/chunk-HJ3HHUT5.js.map +1 -0
- package/dist/{chunk-KIHGPM7H.js → chunk-JDLDDRNE.js} +20 -14
- package/dist/chunk-JDLDDRNE.js.map +1 -0
- package/dist/{chunk-FHI4DFIG.js → chunk-JRPFWI6T.js} +2 -2
- package/dist/{chunk-ILQZR5N6.js → chunk-PKQ377ED.js} +693 -34
- package/dist/chunk-PKQ377ED.js.map +1 -0
- package/dist/{chunk-MZWTWOX6.js → chunk-ST5DDKJP.js} +327 -1
- package/dist/chunk-ST5DDKJP.js.map +1 -0
- package/dist/{chunk-DXDL7EEW.js → chunk-YKZME56C.js} +197 -113
- package/dist/chunk-YKZME56C.js.map +1 -0
- package/dist/client.d.ts +106 -16
- package/dist/codex-realtime-controller.d.ts +3 -0
- package/dist/codex-realtime-controller.js +2 -2
- package/dist/core.js +7 -7
- package/dist/desktop.d.ts +8 -0
- package/dist/editable-artifacts.js +4 -4
- package/dist/gateway-realtime-transport.d.ts +1 -0
- package/dist/gateway-realtime-transport.js +5 -3
- package/dist/index.d.ts +6 -2
- package/dist/index.js +68 -34
- package/dist/index.js.map +1 -1
- package/dist/interaction-revision-stream.d.ts +11 -0
- package/dist/interaction.d.ts +604 -5
- package/dist/interaction.js +27 -1
- package/dist/realtime.d.ts +3 -3
- package/dist/realtime.js +11 -7
- package/dist/realtime.js.map +1 -1
- package/dist/types.d.ts +267 -64
- package/dist/workspace-live-stream.d.ts +14 -0
- package/package.json +2 -2
- package/src/client.ts +861 -60
- package/src/codex-realtime-controller.ts +25 -7
- package/src/codex-realtime-lifecycle.ts +1 -0
- package/src/desktop.ts +11 -1
- package/src/errors.ts +16 -2
- package/src/gateway-realtime-transport.ts +252 -109
- package/src/index.ts +42 -13
- package/src/interaction-revision-stream.ts +117 -0
- package/src/interaction.ts +1049 -5
- package/src/realtime.ts +14 -4
- package/src/types.ts +336 -67
- package/src/workspace-live-stream.ts +137 -0
- package/dist/chunk-DXDL7EEW.js.map +0 -1
- package/dist/chunk-FRJFNDIR.js.map +0 -1
- package/dist/chunk-ILQZR5N6.js.map +0 -1
- package/dist/chunk-KIHGPM7H.js.map +0 -1
- package/dist/chunk-MZWTWOX6.js.map +0 -1
- package/dist/chunk-V5F253OG.js.map +0 -1
- /package/dist/{chunk-FHI4DFIG.js.map → chunk-JRPFWI6T.js.map} +0 -0
package/README.md
CHANGED
|
@@ -139,6 +139,60 @@ and long-lived credentials are never placed in the WebSocket URL. Hosts may
|
|
|
139
139
|
inject both `fetch` and the WebSocket factory for authenticated proxies and
|
|
140
140
|
tests; negotiated frame and mutation limits are enforced before work is queued.
|
|
141
141
|
|
|
142
|
+
## Browser and computer interaction (`@opengeni/sdk/interaction`)
|
|
143
|
+
|
|
144
|
+
An interaction **resource** is a workspace-scoped, durable object with a stable
|
|
145
|
+
id and lifecycle, such as a `BrowserSession`, `ComputerSession`, browser
|
|
146
|
+
identity, network route, auth run, or pending human intervention. This use of
|
|
147
|
+
"resource" is unrelated to the file/repository `resources` attached to a chat
|
|
148
|
+
message. A **facade** is only the typed, resource-oriented SDK organization
|
|
149
|
+
shown below; it owns no state or authority of its own.
|
|
150
|
+
|
|
151
|
+
`OpenGeniClient.interaction` is the framework-free resource facade over the same
|
|
152
|
+
public BrowserSession, ComputerSession, identity, auth, network-route, and human
|
|
153
|
+
intervention APIs used by OpenGeni itself. It adds no second state or execution
|
|
154
|
+
path: facade methods call the ordinary typed transport, and every mutation still
|
|
155
|
+
uses the canonical generation fences, operation receipt, permission check, and
|
|
156
|
+
placement controller.
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
const browser = await client.interaction.browsers.currentOrOpen({
|
|
160
|
+
workspaceId,
|
|
161
|
+
associationSessionId: session.id,
|
|
162
|
+
initialUrl: "http://127.0.0.1:3000",
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
const { targets } = await browser.tabs.list();
|
|
166
|
+
const target = targets.find((candidate) => candidate.selected) ?? targets[0]!;
|
|
167
|
+
const page = await browser.observe(target.id);
|
|
168
|
+
|
|
169
|
+
const receipt = await browser.act({
|
|
170
|
+
operationId: crypto.randomUUID(),
|
|
171
|
+
targetId: target.id,
|
|
172
|
+
expectedTargetGeneration: target.targetGeneration,
|
|
173
|
+
expectedDocumentGeneration: target.documentGeneration,
|
|
174
|
+
expectedFrameId: page.frameId,
|
|
175
|
+
action: { type: "click", locator: { kind: "role", role: "button", name: "Continue" } },
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
if (receipt.state === "outcome_unknown") {
|
|
179
|
+
// Do not replay a mutation blindly. Re-observe, then inspect this exact receipt.
|
|
180
|
+
console.log(await browser.receipt(receipt.operationId));
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Browser identities are immutable version graphs: live browser state stays
|
|
185
|
+
private until `browser.publishRevision(...)` explicitly creates a new revision.
|
|
186
|
+
Protected auth fills resolve connection secrets only inside the broker/controller
|
|
187
|
+
path; normal SDK reads, observations, diagnostics, receipts, and logs never
|
|
188
|
+
return credential values. `client.openWorkspaceInteractionRevisionStream(...)`
|
|
189
|
+
is the low-volume latest-wins invalidation stream for keeping resource catalogs
|
|
190
|
+
fresh without attaching them to an inference/session event stream.
|
|
191
|
+
|
|
192
|
+
Use the flat `OpenGeniClient` interaction methods when implementing a proxy or
|
|
193
|
+
custom transport. Use `client.interaction` for application logic. Both are the
|
|
194
|
+
same API and authority boundary.
|
|
195
|
+
|
|
142
196
|
## Workspace artifacts
|
|
143
197
|
|
|
144
198
|
Workspace artifacts are generic, immutable HTML publications. The SDK does not
|
|
@@ -484,13 +538,13 @@ Every public endpoint group has typed methods:
|
|
|
484
538
|
| Packs | `listPacks`, `registerPack`, `getPack`, `enablePack`, `deletePack`, `listPackInstallations` |
|
|
485
539
|
| Capabilities | `listCapabilities`, `createCapability`, `enableCapability`, `disableCapability`, `discoverMcpCapabilities` |
|
|
486
540
|
| Plugin packages | `previewPlugin`, `installPlugin`, `previewPluginUninstall`, `uninstallPlugin` |
|
|
487
|
-
| API Integrations | `
|
|
541
|
+
| API Integrations | `listIntegrationDefinitions`, `listApiIntegrations`, `previewApiIntegration`, `startApiIntegrationOAuth`, `installApiIntegration`, `previewApiIntegrationUninstall`, `uninstallApiIntegration`, `listIntegrationFacets`, `configureIntegrationFacet`, `pauseIntegrationFacet`, `resumeIntegrationFacet`, `removeIntegrationFacet`, `browseGoogleDriveFacetSource`, `saveGoogleDriveFacetSource` |
|
|
488
542
|
| Remote Skills | `previewSkillImport`, `installSkill`, `previewSkillUninstall`, `uninstallSkill` |
|
|
489
543
|
| GitHub | `getGitHubApp`, `githubConnectUrl`, `listGitHubRepositories`, `syncGitHubRepositories`, `createGitHubAppManifest` |
|
|
490
544
|
| API keys | `listApiKeys`, `createApiKey`, `deleteApiKey` |
|
|
491
545
|
| Billing | `getBilling`, `getBillingUsage`, `getBillingEntitlements`, `createBillingCheckout` |
|
|
492
546
|
|
|
493
|
-
`
|
|
547
|
+
`listIntegrationDefinitions` returns safe Integration Definition metadata without any
|
|
494
548
|
deployment OAuth client credentials. API Integrations are multi-instance:
|
|
495
549
|
`installApiIntegration` may supply a
|
|
496
550
|
stable `instanceKey`, display name, and exact Connection. The returned
|
|
@@ -499,14 +553,14 @@ selected in one session without tool-name collision. Uninstall preview and
|
|
|
499
553
|
uninstall both require the exact `instanceKey` and instance version; neither
|
|
500
554
|
operation disconnects the underlying Connection.
|
|
501
555
|
|
|
502
|
-
Adapter-owned Integration
|
|
503
|
-
`capabilityId` + `instanceKey` + `
|
|
504
|
-
`
|
|
556
|
+
Adapter-owned Integration facets are listed and mutated under the exact
|
|
557
|
+
`capabilityId` + `instanceKey` + `facetKey`. Generic primitive schemas use
|
|
558
|
+
`configureIntegrationFacet`; lifecycle changes and removal require the
|
|
505
559
|
binding's exact optimistic version plus a caller UUID idempotency key. Google
|
|
506
560
|
Drive's nested folder/Shared Drive source schema has dedicated
|
|
507
|
-
`
|
|
561
|
+
`browseGoogleDriveFacetSource` and `saveGoogleDriveFacetSource`
|
|
508
562
|
methods. They verify provider metadata through that instance's exact Connection
|
|
509
|
-
and persist only a versioned
|
|
563
|
+
and persist only a versioned facet binding—never provider credentials, page
|
|
510
564
|
tokens, or selected-source configuration on the Connection.
|
|
511
565
|
|
|
512
566
|
### Protocol routes (deliberately not in the SDK)
|
package/dist/artifacts.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OpenGeniClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-JRPFWI6T.js";
|
|
4
|
+
import "./chunk-PKQ377ED.js";
|
|
5
|
+
import "./chunk-HJ3HHUT5.js";
|
|
6
|
+
import "./chunk-GU6JF75T.js";
|
|
7
|
+
import "./chunk-ST5DDKJP.js";
|
|
8
8
|
export {
|
|
9
9
|
OpenGeniClient
|
|
10
10
|
};
|
|
@@ -21,7 +21,7 @@ var OpenGeniApiError = class extends Error {
|
|
|
21
21
|
this.code = options.code ?? decoded?.code ?? (gatewayFailure && fromResponse ? "upstream_unavailable" : void 0);
|
|
22
22
|
this.retryable = options.retryable ?? decoded?.retryable ?? retryableApiStatus(status);
|
|
23
23
|
this.correlationId = correlationId;
|
|
24
|
-
this.outcomeUnknown = options.outcomeUnknown ?? (gatewayFailure && !!options.mutation && !decoded);
|
|
24
|
+
this.outcomeUnknown = options.outcomeUnknown ?? decoded?.outcomeUnknown ?? (gatewayFailure && !!options.mutation && !decoded);
|
|
25
25
|
this.body = !fromResponse || decoded ? body : "";
|
|
26
26
|
this.details = decoded?.details;
|
|
27
27
|
}
|
|
@@ -37,13 +37,16 @@ function decodeApiErrorBody(body) {
|
|
|
37
37
|
const message = boundedApiField(nested.message);
|
|
38
38
|
const requestId = boundedCorrelationId(nested.requestId);
|
|
39
39
|
const retryable = typeof nested.retryable === "boolean" ? nested.retryable : void 0;
|
|
40
|
+
const outcomeUnknown = typeof nested.outcomeUnknown === "boolean" ? nested.outcomeUnknown : void 0;
|
|
40
41
|
const details = boundedApiDetails(nested.details);
|
|
41
|
-
if (!code && !message && !requestId && retryable === void 0 && !details)
|
|
42
|
+
if (!code && !message && !requestId && retryable === void 0 && outcomeUnknown === void 0 && !details)
|
|
43
|
+
return null;
|
|
42
44
|
return {
|
|
43
45
|
code,
|
|
44
46
|
message,
|
|
45
47
|
requestId,
|
|
46
48
|
retryable,
|
|
49
|
+
outcomeUnknown,
|
|
47
50
|
details
|
|
48
51
|
};
|
|
49
52
|
} catch {
|
|
@@ -113,4 +116,4 @@ export {
|
|
|
113
116
|
isAbortError,
|
|
114
117
|
isRetryableStreamError
|
|
115
118
|
};
|
|
116
|
-
//# sourceMappingURL=chunk-
|
|
119
|
+
//# sourceMappingURL=chunk-GU6JF75T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/errors.ts"],"sourcesContent":["/** Error for a non-2xx OpenGeni API response. */\nexport class OpenGeniApiError extends Error {\n readonly status: number;\n readonly code: string | undefined;\n readonly retryable: boolean;\n readonly correlationId: string | undefined;\n /** True only when an uncontrolled transport failed after a mutation may have been accepted. */\n readonly outcomeUnknown: boolean;\n readonly body: string;\n readonly details: Record<string, unknown> | undefined;\n\n constructor(\n status: number,\n body: string,\n options: {\n code?: string | undefined;\n retryable?: boolean | undefined;\n correlationId?: string | undefined;\n outcomeUnknown?: boolean | undefined;\n displayMessage?: string | undefined;\n mutation?: boolean | undefined;\n } = {},\n ) {\n const decoded = decodeApiErrorBody(body);\n const correlationId = decoded?.requestId ?? boundedCorrelationId(options.correlationId);\n const gatewayFailure = status >= 502 && status <= 504;\n const fromResponse = options.mutation !== undefined;\n const message = decoded?.message ?? (fromResponse ? \"Request failed.\" : body || \"(empty body)\");\n const displayMessage =\n options.displayMessage ??\n (gatewayFailure && fromResponse\n ? (decoded?.message ?? \"OpenGeni is temporarily unavailable — retry.\")\n : `OpenGeni API ${status}: ${message}`);\n super(correlationId ? `${displayMessage} Reference: ${correlationId}.` : displayMessage);\n this.name = \"OpenGeniApiError\";\n this.status = status;\n this.code =\n options.code ??\n decoded?.code ??\n (gatewayFailure && fromResponse ? \"upstream_unavailable\" : undefined);\n this.retryable = options.retryable ?? decoded?.retryable ?? retryableApiStatus(status);\n this.correlationId = correlationId;\n this.outcomeUnknown =\n options.outcomeUnknown ??\n decoded?.outcomeUnknown ??\n (gatewayFailure && !!options.mutation && !decoded);\n this.body = !fromResponse || decoded ? body : \"\";\n this.details = decoded?.details;\n }\n}\n\nfunction decodeApiErrorBody(body: string): {\n code: string | undefined;\n message: string | undefined;\n requestId: string | undefined;\n retryable: boolean | undefined;\n outcomeUnknown: boolean | undefined;\n details: Record<string, unknown> | undefined;\n} | null {\n if (!body) return null;\n try {\n const decoded: unknown = JSON.parse(body);\n if (!decoded || typeof decoded !== \"object\" || Array.isArray(decoded)) return null;\n const record = decoded as Record<string, unknown>;\n const nested =\n record.error && typeof record.error === \"object\" && !Array.isArray(record.error)\n ? (record.error as Record<string, unknown>)\n : record;\n const code = boundedApiField(nested.code);\n const message = boundedApiField(nested.message);\n const requestId = boundedCorrelationId(nested.requestId);\n const retryable = typeof nested.retryable === \"boolean\" ? nested.retryable : undefined;\n const outcomeUnknown =\n typeof nested.outcomeUnknown === \"boolean\" ? nested.outcomeUnknown : undefined;\n const details = boundedApiDetails(nested.details);\n if (\n !code &&\n !message &&\n !requestId &&\n retryable === undefined &&\n outcomeUnknown === undefined &&\n !details\n )\n return null;\n return {\n code,\n message,\n requestId,\n retryable,\n outcomeUnknown,\n details,\n };\n } catch {\n return null;\n }\n}\n\nfunction boundedApiDetails(value: unknown): Record<string, unknown> | undefined {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return;\n const entries = Object.entries(value as Record<string, unknown>).slice(0, 16);\n const details: Record<string, unknown> = {};\n for (const [key, entry] of entries) {\n if (!/^[a-zA-Z][\\w.-]{0,63}$/.test(key)) continue;\n if (typeof entry === \"string\") {\n const bounded = boundedApiField(entry);\n if (bounded !== undefined) details[key] = bounded;\n } else if (typeof entry === \"number\" || typeof entry === \"boolean\" || entry === null) {\n details[key] = entry;\n }\n }\n return Object.keys(details).length > 0 ? details : undefined;\n}\n\nfunction boundedApiField(value: unknown): string | undefined {\n if (typeof value !== \"string\") return;\n const bytes = new TextEncoder().encode(value);\n return bytes.byteLength <= 512 ? value : new TextDecoder().decode(bytes.slice(0, 512));\n}\n\nfunction retryableApiStatus(status: number): boolean {\n return status === 408 || status === 409 || status === 425 || status === 429 || status >= 500;\n}\n\nfunction boundedCorrelationId(value: unknown): string | undefined {\n if (typeof value !== \"string\" || value.length > 128 || !/^[\\w.:-]+$/.test(value)) {\n return;\n }\n return value;\n}\n\n/** A short-lived session-list snapshot cursor can no longer be continued. */\nexport class OpenGeniSessionListCursorError extends OpenGeniApiError {}\n\n/** The browser bundle and API disagree about their state-changing wire contract. */\nexport class OpenGeniApiContractMismatchError extends Error {\n readonly expected: string;\n readonly actual: string;\n\n constructor(expected: string, actual: string) {\n super(`OpenGeni API contract mismatch: client expects ${expected}, API serves ${actual}`);\n this.name = \"OpenGeniApiContractMismatchError\";\n this.expected = expected;\n this.actual = actual;\n }\n}\n\n/** Error for an unrecoverable event-stream condition (not a transient drop). */\nexport class OpenGeniStreamError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"OpenGeniStreamError\";\n }\n}\n\nexport function isAbortError(error: unknown): boolean {\n return (\n (error instanceof DOMException && error.name === \"AbortError\") ||\n (error instanceof Error && error.name === \"AbortError\")\n );\n}\n\n/**\n * Transient conditions worth a reconnect: network-level failures (`fetch`\n * rejects with `TypeError`) and HTTP statuses that signal a temporary server\n * or contention condition. Auth/validation failures (401/403/404/...) are\n * permanent and surface to the caller instead.\n */\nexport function isRetryableStreamError(error: unknown): boolean {\n if (error instanceof OpenGeniApiError) return error.retryable;\n return error instanceof TypeError;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -47,6 +47,9 @@ var SESSION_EVENT_TYPES = [
|
|
|
47
47
|
"artifact.created",
|
|
48
48
|
"goal.set",
|
|
49
49
|
"goal.updated",
|
|
50
|
+
"goal.progress",
|
|
51
|
+
"goal.rewrite.proposed",
|
|
52
|
+
"goal.rewrite.rejected",
|
|
50
53
|
"goal.completed",
|
|
51
54
|
"goal.paused",
|
|
52
55
|
"goal.resumed",
|
|
@@ -86,6 +89,7 @@ var SESSION_EVENT_TYPES = [
|
|
|
86
89
|
"terminal.pty.output.delta",
|
|
87
90
|
"terminal.pty.exited",
|
|
88
91
|
"session.title_set",
|
|
92
|
+
"session.visibility.changed",
|
|
89
93
|
"session.mcp.approval_policy.updated",
|
|
90
94
|
"session.tool_policy.updated",
|
|
91
95
|
// Multi-account Codex (P1): the session's inference account changed.
|
|
@@ -215,4 +219,4 @@ export {
|
|
|
215
219
|
GENERATED_VIDEO_MAX_BYTES,
|
|
216
220
|
KNOWN_USAGE_EVENT_TYPES
|
|
217
221
|
};
|
|
218
|
-
//# sourceMappingURL=chunk-
|
|
222
|
+
//# sourceMappingURL=chunk-HJ3HHUT5.js.map
|