@opengeni/sdk 3.3.2 → 3.5.1-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +15 -2
  2. package/dist/artifact-client.d.ts +2 -1
  3. package/dist/artifacts.d.ts +1 -1
  4. package/dist/artifacts.js +6 -6
  5. package/dist/browser.d.ts +3 -2
  6. package/dist/browser.js +6 -4
  7. package/dist/{chunk-QT3KFVDP.js → chunk-3VIQGNRX.js} +2 -2
  8. package/dist/chunk-3VIQGNRX.js.map +1 -0
  9. package/dist/{chunk-C2H7HBNP.js → chunk-7S2MZ65L.js} +6 -6
  10. package/dist/{chunk-TRNI7KEO.js → chunk-GXC4RESV.js} +164 -15
  11. package/dist/chunk-GXC4RESV.js.map +1 -0
  12. package/dist/{chunk-JUS2UYRP.js → chunk-HILHQEZD.js} +1 -1
  13. package/dist/chunk-HILHQEZD.js.map +1 -0
  14. package/dist/{chunk-C4DJPZRU.js → chunk-OO5LPTO7.js} +14 -1
  15. package/dist/chunk-OO5LPTO7.js.map +1 -0
  16. package/dist/{chunk-YXQX7RQT.js → chunk-PPWKSUDS.js} +2 -2
  17. package/dist/{chunk-KKRO2VCP.js → chunk-QTBAMHEF.js} +2 -2
  18. package/dist/client.d.ts +43 -4
  19. package/dist/codex-realtime-controller.js +2 -2
  20. package/dist/core.d.ts +3 -2
  21. package/dist/core.js +9 -7
  22. package/dist/document-authority.js +5 -5
  23. package/dist/editable-artifacts.js +4 -4
  24. package/dist/errors.d.ts +12 -0
  25. package/dist/github-repositories.d.ts +10 -0
  26. package/dist/github-repositories.js +36 -0
  27. package/dist/github-repositories.js.map +1 -0
  28. package/dist/index.d.ts +6 -5
  29. package/dist/index.js +62 -52
  30. package/dist/index.js.map +1 -1
  31. package/dist/interaction.js +2 -2
  32. package/dist/model-picker-order.d.ts +1 -0
  33. package/dist/model-picker-order.js +10 -0
  34. package/dist/model-picker-order.js.map +1 -0
  35. package/dist/realtime.js +2 -2
  36. package/dist/session-titles.d.ts +2 -28
  37. package/dist/stream.d.ts +2 -0
  38. package/dist/types.d.ts +121 -3
  39. package/package.json +10 -2
  40. package/src/artifact-client.ts +2 -1
  41. package/src/artifacts.ts +1 -0
  42. package/src/browser.ts +3 -0
  43. package/src/client.ts +261 -15
  44. package/src/core.ts +3 -0
  45. package/src/errors.ts +23 -0
  46. package/src/github-repositories.ts +60 -0
  47. package/src/index.ts +27 -1
  48. package/src/model-picker-order.ts +6 -0
  49. package/src/session-titles.ts +8 -82
  50. package/src/stream.ts +29 -8
  51. package/src/types.ts +147 -4
  52. package/dist/chunk-C4DJPZRU.js.map +0 -1
  53. package/dist/chunk-JUS2UYRP.js.map +0 -1
  54. package/dist/chunk-QT3KFVDP.js.map +0 -1
  55. package/dist/chunk-TRNI7KEO.js.map +0 -1
  56. /package/dist/{chunk-C2H7HBNP.js.map → chunk-7S2MZ65L.js.map} +0 -0
  57. /package/dist/{chunk-YXQX7RQT.js.map → chunk-PPWKSUDS.js.map} +0 -0
  58. /package/dist/{chunk-KKRO2VCP.js.map → chunk-QTBAMHEF.js.map} +0 -0
package/dist/stream.d.ts CHANGED
@@ -61,3 +61,5 @@ export declare function streamSessionEvents(transport: SessionEventStreamTranspo
61
61
  export declare function runBeforeLive(beforeLive: (() => void | Promise<void>) | undefined, timeoutMs: number, signal: AbortSignal | undefined): Promise<void>;
62
62
  export declare function jitteredDelay(delayMs: number, ratio: number): number;
63
63
  export declare function withStreamInactivityTimeout(stream: ReadableStream<Uint8Array>, timeoutMs: number, signal: AbortSignal | undefined): ReadableStream<Uint8Array>;
64
+ /** Trusted SSE coverage attached non-enumerably to a streamed event. */
65
+ export declare function sessionEventStreamCoveredThrough(event: SessionEvent): number | null;
package/dist/types.d.ts CHANGED
@@ -442,6 +442,7 @@ export type McpConnectionAuthoritySelection = {
442
442
  };
443
443
  export type McpServerConnectionRef = {
444
444
  connectionId?: string | undefined;
445
+ authoritySource?: "host" | undefined;
445
446
  provider?: string | undefined;
446
447
  providerDomain: string;
447
448
  kind?: ConnectionKind | undefined;
@@ -494,6 +495,7 @@ export type CreateConnectionRequest = {
494
495
  grantedScopes?: string[] | undefined;
495
496
  expiresAt?: string | null | undefined;
496
497
  metadata?: Record<string, unknown> | undefined;
498
+ operationId?: string | undefined;
497
499
  };
498
500
  export type PersonalGitHubConnectionMetadata = {
499
501
  credentialRole: "opengeni_github_personal";
@@ -841,6 +843,8 @@ export type UpdateConnectionRequest = {
841
843
  grantedScopes?: string[] | undefined;
842
844
  expiresAt?: string | null | undefined;
843
845
  metadata?: Record<string, unknown> | undefined;
846
+ expectedVersion?: number | undefined;
847
+ operationId?: string | undefined;
844
848
  };
845
849
  export type ConnectionResponse = {
846
850
  connection: ConnectionMetadata;
@@ -1371,6 +1375,8 @@ export type SessionEvent = {
1371
1375
  sessionId: string;
1372
1376
  /** Per-session sequence number: positive, contiguous, strictly increasing. */
1373
1377
  sequence: number;
1378
+ /** Server-owned durable high-water mark for a synthetic compact event. */
1379
+ coveredThrough?: number | undefined;
1374
1380
  type: SessionEventType;
1375
1381
  payload: unknown;
1376
1382
  occurredAt: string;
@@ -1486,7 +1492,9 @@ export type ToolAuthNeededPayload = {
1486
1492
  providerDomain: string;
1487
1493
  provider?: string | undefined;
1488
1494
  connectionId?: string | null | undefined;
1495
+ authoritySource?: "host" | undefined;
1489
1496
  reason: "missing_connection" | "expired" | "insufficient_scope" | "refresh_failed" | "personal_authority_unavailable" | "unsupported_auth" | "resource_scope_unavailable";
1497
+ hostReason?: "missing_connection" | "expired" | "insufficient_scope" | "refresh_failed" | "personal_authority_unavailable" | "unsupported_auth" | "resource_scope_unavailable" | undefined;
1490
1498
  scopes?: string[] | undefined;
1491
1499
  resource?: string | undefined;
1492
1500
  selectedResources?: Array<{
@@ -2205,6 +2213,8 @@ export type CreateSessionRequest = {
2205
2213
  resources?: ResourceRef[] | undefined;
2206
2214
  /** Inline skills fixed onto this session; omitted children inherit them. */
2207
2215
  skills?: SessionSkill[] | undefined;
2216
+ /** Installed session-selected Skill identities to freeze onto this session at creation. */
2217
+ installedSkillIds?: string[] | undefined;
2208
2218
  tools?: ToolRef[] | undefined;
2209
2219
  metadata?: Record<string, unknown> | undefined;
2210
2220
  model?: string | undefined;
@@ -2287,14 +2297,19 @@ export type ModelCredentialSourceV1 = {
2287
2297
  } | {
2288
2298
  kind: "workspace_connection";
2289
2299
  mechanism: "api_key";
2300
+ } | {
2301
+ kind: "organization_connection";
2302
+ mechanism: "api_key";
2290
2303
  };
2291
2304
  export type ModelBillingAttributionV1 = {
2292
- upstreamPayer: "deployment" | "workspace" | "connected_subscription";
2305
+ upstreamPayer: "deployment" | "workspace" | "organization" | "connected_subscription";
2293
2306
  metering: "opengeni_credits" | "external";
2294
2307
  };
2308
+ export type ModelCostClassV1 = "free" | "credits" | "subscription" | "workspace" | "organization";
2295
2309
  export type ModelPricingV1 = {
2296
2310
  inputMicrosPerMillionTokens: number;
2297
2311
  cachedInputMicrosPerMillionTokens?: number | undefined;
2312
+ cacheWriteMicrosPerMillionTokens?: number | undefined;
2298
2313
  outputMicrosPerMillionTokens: number;
2299
2314
  marginBps?: number | undefined;
2300
2315
  };
@@ -2320,7 +2335,7 @@ export type ClientModel = {
2320
2335
  provider: string;
2321
2336
  providerLabel: string;
2322
2337
  api: "responses" | "chat";
2323
- source?: "opengeni" | "codex" | "supergrok" | "workspace_gateway" | undefined;
2338
+ source?: "opengeni" | "codex" | "supergrok" | "workspace_gateway" | "openrouter" | undefined;
2324
2339
  contextWindowTokens?: number | undefined;
2325
2340
  schemaVersion?: 1 | undefined;
2326
2341
  aliases?: string[] | undefined;
@@ -2336,6 +2351,7 @@ export type ClientModel = {
2336
2351
  } | undefined;
2337
2352
  credentialSource?: ModelCredentialSourceV1 | undefined;
2338
2353
  billing?: ModelBillingAttributionV1 | undefined;
2354
+ cost?: ModelCostClassV1 | undefined;
2339
2355
  capabilities?: ModelCapabilitiesV1 | undefined;
2340
2356
  pricing?: ModelPricingScheduleV1 | undefined;
2341
2357
  definitionVersion?: string | undefined;
@@ -2361,6 +2377,55 @@ export type WorkspaceModelCatalogModel = ClientModel & {
2361
2377
  export type WorkspaceModelCatalogResponse = {
2362
2378
  models: WorkspaceModelCatalogModel[];
2363
2379
  };
2380
+ export type WorkspaceGatewayCustomModel = {
2381
+ id: string;
2382
+ upstreamModelId: string;
2383
+ label: string | null;
2384
+ version: number;
2385
+ createdAt: string;
2386
+ updatedAt: string;
2387
+ };
2388
+ export type WorkspaceGatewayCustomModelsResponse = {
2389
+ models: WorkspaceGatewayCustomModel[];
2390
+ };
2391
+ export type CreateWorkspaceGatewayCustomModelRequest = {
2392
+ operationId: string;
2393
+ upstreamModelId: string;
2394
+ label?: string | undefined;
2395
+ };
2396
+ export type DeleteWorkspaceGatewayCustomModelRequest = {
2397
+ expectedVersion: number;
2398
+ operationId: string;
2399
+ };
2400
+ export type WorkspaceOpenRouterCustomModel = WorkspaceGatewayCustomModel;
2401
+ export type WorkspaceOpenRouterCustomModelsResponse = {
2402
+ models: WorkspaceOpenRouterCustomModel[];
2403
+ };
2404
+ export type CreateWorkspaceOpenRouterCustomModelRequest = CreateWorkspaceGatewayCustomModelRequest;
2405
+ export type DeleteWorkspaceOpenRouterCustomModelRequest = DeleteWorkspaceGatewayCustomModelRequest;
2406
+ export type OrganizationModelProviderKind = "vercel_gateway" | "openrouter";
2407
+ export type OrganizationModelProviderConnection = {
2408
+ providerKind: OrganizationModelProviderKind;
2409
+ status: "active" | "revoked";
2410
+ version: number;
2411
+ createdAt: string;
2412
+ updatedAt: string;
2413
+ };
2414
+ export type UpsertOrganizationModelProviderConnectionRequest = {
2415
+ operationId: string;
2416
+ expectedVersion?: number | undefined;
2417
+ apiKey: string;
2418
+ };
2419
+ export type RevokeOrganizationModelProviderConnectionRequest = {
2420
+ operationId: string;
2421
+ expectedVersion: number;
2422
+ };
2423
+ export type OrganizationProviderCustomModel = WorkspaceGatewayCustomModel;
2424
+ export type OrganizationProviderCustomModelsResponse = {
2425
+ models: OrganizationProviderCustomModel[];
2426
+ };
2427
+ export type CreateOrganizationProviderCustomModelRequest = CreateWorkspaceGatewayCustomModelRequest;
2428
+ export type DeleteOrganizationProviderCustomModelRequest = DeleteWorkspaceGatewayCustomModelRequest;
2364
2429
  /**
2365
2430
  * The workspace's hard model/provider allowlist. `null` means unrestricted for
2366
2431
  * that dimension; an empty array is an explicit total block.
@@ -3086,6 +3151,16 @@ export type CreateOrganizationResponse = {
3086
3151
  organization: OrganizationSummary;
3087
3152
  workspaceId: string;
3088
3153
  };
3154
+ export type CreateAdditionalOrganizationRequest = {
3155
+ name: string;
3156
+ workspaceName: string;
3157
+ operationId: string;
3158
+ };
3159
+ export type CreateAdditionalOrganizationResponse = {
3160
+ organization: OrganizationSummary;
3161
+ workspaceId: string;
3162
+ personalWorkspaceId: string;
3163
+ };
3089
3164
  export type UpdateOrganizationNameRequest = {
3090
3165
  name: string;
3091
3166
  expectedUpdatedAt: string;
@@ -4744,9 +4819,11 @@ export type CapabilityPackSkillFile = {
4744
4819
  export type CapabilityPackSkill = {
4745
4820
  name: string;
4746
4821
  description?: string | undefined;
4822
+ /** Omitted means workspace-wide; session_selected requires explicit session attachment. */
4823
+ activationMode?: "workspace_managed" | "session_selected" | undefined;
4747
4824
  files: CapabilityPackSkillFile[];
4748
4825
  };
4749
- export type SessionSkill = CapabilityPackSkill;
4826
+ export type SessionSkill = Omit<CapabilityPackSkill, "activationMode">;
4750
4827
  export type CapabilityPackVariableSetSpec = {
4751
4828
  description: string;
4752
4829
  requiredVariables: string[];
@@ -4830,6 +4907,7 @@ export type RegisterCapabilityPackRequest = {
4830
4907
  skills?: {
4831
4908
  name: string;
4832
4909
  description?: string | undefined;
4910
+ activationMode?: "workspace_managed" | "session_selected" | undefined;
4833
4911
  files: CapabilityPackSkillFile[];
4834
4912
  }[] | undefined;
4835
4913
  components?: ({
@@ -5194,6 +5272,7 @@ export type CapabilityCatalogItem = {
5194
5272
  /** The connection backing this enabled installation, or null when none is involved. */
5195
5273
  connectionRef: {
5196
5274
  connectionId?: string | undefined;
5275
+ authoritySource?: "host" | undefined;
5197
5276
  providerDomain: string;
5198
5277
  kind: string;
5199
5278
  subjectScope?: "subject" | "workspace" | undefined;
@@ -5776,6 +5855,32 @@ export type GitHubAppInfo = {
5776
5855
  export type GitHubRepositoriesResponse = {
5777
5856
  repositories: GitHubRepository[];
5778
5857
  };
5858
+ export type VerifyPublicGitHubRepositoryRefRequest = {
5859
+ url: string;
5860
+ ref: string;
5861
+ };
5862
+ export type VerifyPublicGitHubRepositoryRefResponse = {
5863
+ owner: string;
5864
+ name: string;
5865
+ fullName: string;
5866
+ canonicalUrl: string;
5867
+ cloneUrl: string;
5868
+ defaultBranch: string;
5869
+ ref: string;
5870
+ commitSha: string;
5871
+ };
5872
+ export type GitHubRepositoryBranch = {
5873
+ name: string;
5874
+ isDefault: boolean;
5875
+ };
5876
+ export type ListGitHubRepositoryBranchesOptions = {
5877
+ cursor?: number | undefined;
5878
+ limit?: number | undefined;
5879
+ };
5880
+ export type GitHubRepositoryBranchesResponse = {
5881
+ branches: GitHubRepositoryBranch[];
5882
+ nextCursor: number | null;
5883
+ };
5779
5884
  export type CreateGitHubAppManifestRequest = {
5780
5885
  appName?: string | undefined;
5781
5886
  organization?: string | undefined;
@@ -5846,12 +5951,16 @@ export type InsightsModelUsageRow = {
5846
5951
  creditUsd: number;
5847
5952
  estimatedProviderUsd: number;
5848
5953
  estimatedProviderCostKnownCalls: number;
5954
+ equivalentCreditUsd: number;
5955
+ equivalentCreditCostKnownCalls: number;
5849
5956
  };
5850
5957
  export type InsightsSeriesPoint = {
5851
5958
  label: string;
5852
5959
  modelCostUsd: number;
5853
5960
  estimatedProviderUsd: number;
5854
5961
  estimatedProviderCostKnownCalls: number;
5962
+ equivalentCreditUsd: number;
5963
+ equivalentCreditCostKnownCalls: number;
5855
5964
  warmSeconds: number;
5856
5965
  inputTokens: number;
5857
5966
  outputTokens: number;
@@ -5880,6 +5989,8 @@ export type InsightsSpendDriver = {
5880
5989
  creditUsd: number;
5881
5990
  estimatedProviderUsd: number;
5882
5991
  estimatedProviderCostKnownCalls: number;
5992
+ equivalentCreditUsd: number;
5993
+ equivalentCreditCostKnownCalls: number;
5883
5994
  tokens: number;
5884
5995
  cacheHitPct: number;
5885
5996
  pctOfCreditUsd: number;
@@ -5921,6 +6032,8 @@ export type InsightsScheduleRow = {
5921
6032
  creditUsd: number | null;
5922
6033
  estimatedProviderUsd: number | null;
5923
6034
  estimatedProviderCostKnownCalls: number | null;
6035
+ equivalentCreditUsd: number | null;
6036
+ equivalentCreditCostKnownCalls: number | null;
5924
6037
  tokens: number | null;
5925
6038
  cacheHitPct: number | null;
5926
6039
  billing: InsightsBillingPath | null;
@@ -5944,6 +6057,7 @@ export type InsightsModelCallRow = {
5944
6057
  totalTokens: number | null;
5945
6058
  creditUsd: number;
5946
6059
  estimatedProviderUsd: number | null;
6060
+ equivalentCreditUsd: number | null;
5947
6061
  pricingSource: InsightsPricingSource | null;
5948
6062
  };
5949
6063
  export type ModelContextContributionSource = "workspace_instruction_policy" | "legacy_workspace_instructions" | "preference_registry_descriptor" | "company_profile" | "legacy_memory_v1" | "runtime_skill_catalog";
@@ -5994,6 +6108,10 @@ export type WorkspaceInsightsSnapshot = {
5994
6108
  priorEstimatedProviderUsd: number;
5995
6109
  estimatedProviderCostKnownCalls: number;
5996
6110
  priorEstimatedProviderCostKnownCalls: number;
6111
+ equivalentCreditUsd: number;
6112
+ priorEquivalentCreditUsd: number;
6113
+ equivalentCreditCostKnownCalls: number;
6114
+ priorEquivalentCreditCostKnownCalls: number;
5997
6115
  modelCalls: number;
5998
6116
  priorInputTokens: number;
5999
6117
  priorTotalTokens: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeni/sdk",
3
- "version": "3.3.2",
3
+ "version": "3.5.1-canary.0",
4
4
  "description": "Framework-agnostic TypeScript SDK for the OpenGeni API: typed client, session lifecycle, SSE event streaming with reconnect + replay-by-sequence, and proxy re-streaming helpers.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -34,6 +34,10 @@
34
34
  "types": "./dist/browser.d.ts",
35
35
  "import": "./dist/browser.js"
36
36
  },
37
+ "./github-repositories": {
38
+ "types": "./dist/github-repositories.d.ts",
39
+ "import": "./dist/github-repositories.js"
40
+ },
37
41
  "./document-authority": {
38
42
  "types": "./dist/document-authority.d.ts",
39
43
  "import": "./dist/document-authority.js"
@@ -89,6 +93,10 @@
89
93
  "./gateway-realtime-transport": {
90
94
  "types": "./dist/gateway-realtime-transport.d.ts",
91
95
  "import": "./dist/gateway-realtime-transport.js"
96
+ },
97
+ "./model-picker-order": {
98
+ "types": "./dist/model-picker-order.d.ts",
99
+ "import": "./dist/model-picker-order.js"
92
100
  }
93
101
  },
94
102
  "publishConfig": {
@@ -101,7 +109,7 @@
101
109
  "prepublishOnly": "bash ../../scripts/prepublish-guard"
102
110
  },
103
111
  "dependencies": {
104
- "@opengeni/contracts": "^2.9.2"
112
+ "@opengeni/contracts": "^2.11.1-canary.0"
105
113
  },
106
114
  "engines": {
107
115
  "node": ">=18"
@@ -1,4 +1,5 @@
1
1
  import { OpenGeniDocumentAuthorityClient } from "./document-authority-client";
2
+ import type { FetchResponse } from "./client";
2
3
  import type {
3
4
  CreateEditableArtifactMaterializationRequest,
4
5
  CreateEditableArtifactResourceRequest,
@@ -132,7 +133,7 @@ export class OpenGeniClient extends OpenGeniDocumentAuthorityClient {
132
133
  artifactId: string,
133
134
  jobId: string,
134
135
  options: ReadEditableArtifactMaterializationOptions,
135
- ): Promise<Response> {
136
+ ): Promise<FetchResponse> {
136
137
  return await this.requestResponse(
137
138
  "GET",
138
139
  `/v1/workspaces/${encodeURIComponent(workspaceId)}/editable-artifacts/${encodeURIComponent(artifactId)}/materializations/${encodeURIComponent(jobId)}/download`,
package/src/artifacts.ts CHANGED
@@ -16,6 +16,7 @@ export type {
16
16
  } from "./editable-artifact-resources";
17
17
  export type {
18
18
  FetchLike,
19
+ FetchResponse,
19
20
  GetSessionOptions,
20
21
  OpenGeniClientOptions,
21
22
  OpenGeniRequestOptions,
package/src/browser.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  export { OpenGeniClient as OpenGeniBrowserClient } from "./client";
3
3
  export type {
4
4
  FetchLike,
5
+ FetchResponse,
5
6
  GetSessionOptions,
6
7
  OpenGeniClientOptions,
7
8
  OpenGeniRequestOptions,
@@ -13,9 +14,11 @@ export type {
13
14
  export {
14
15
  OpenGeniApiContractMismatchError,
15
16
  OpenGeniApiError,
17
+ OpenGeniSecureContextRequiredError,
16
18
  OpenGeniSessionListCursorError,
17
19
  OpenGeniStreamError,
18
20
  isRetryableStreamError,
19
21
  } from "./errors";
22
+ export type { OpenGeniSecureContextRequiredReason } from "./errors";
20
23
  export { resolveWorkspaceVoiceInputEnabled } from "./transcription";
21
24
  export { OPENGENI_API_CONTRACT_HEADER, OPENGENI_API_CONTRACT_REVISION } from "./types";