@opengeni/core 0.28.0 → 1.0.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 (224) hide show
  1. package/README.md +1 -1
  2. package/dist/access/external-actor-authority.d.ts +47 -0
  3. package/dist/access/index.d.ts +182 -3
  4. package/dist/access/service-initiator.d.ts +3 -0
  5. package/dist/application/api-integration-servers.d.ts +20 -0
  6. package/dist/application/archived-session-imports.d.ts +6 -0
  7. package/dist/application/composer-submit.d.ts +24 -0
  8. package/dist/application/connect-authority.d.ts +13 -0
  9. package/dist/application/connect-operation.d.ts +31 -0
  10. package/dist/application/external-continuation.d.ts +15 -0
  11. package/dist/application/external-identity-lifecycle.d.ts +20 -0
  12. package/dist/application/external-link-work-admission.d.ts +12 -0
  13. package/dist/application/external-workspace-members.d.ts +34 -0
  14. package/dist/application/modal-native-worker-host-transport.d.ts +297 -0
  15. package/dist/application/new-session-drafts.d.ts +39 -2
  16. package/dist/application/sandbox-recovery.d.ts +58 -0
  17. package/dist/application/session-commands.d.ts +26 -13
  18. package/dist/application/session-mcp-credential-rotation.d.ts +29 -0
  19. package/dist/application/session-tenancy.d.ts +19 -0
  20. package/dist/application/user-resource-grants.d.ts +20 -0
  21. package/dist/billing/limits.d.ts +11 -0
  22. package/dist/canonical-human-identities.d.ts +7 -2
  23. package/dist/canonical-human-identities.js +17 -4
  24. package/dist/canonical-human-identities.js.map +1 -1
  25. package/dist/{chunk-6WKPWE5S.js → chunk-2MKMRGSY.js} +108 -24
  26. package/dist/chunk-2MKMRGSY.js.map +1 -0
  27. package/dist/{chunk-NYPMQ7NO.js → chunk-GVO3N37G.js} +205 -37
  28. package/dist/chunk-GVO3N37G.js.map +1 -0
  29. package/dist/{chunk-JJU6I5XD.js → chunk-LCQXNR62.js} +36 -10
  30. package/dist/chunk-LCQXNR62.js.map +1 -0
  31. package/dist/chunk-MM6N7CTO.js +387 -0
  32. package/dist/chunk-MM6N7CTO.js.map +1 -0
  33. package/dist/chunk-QO5GVFFO.js +235 -0
  34. package/dist/chunk-QO5GVFFO.js.map +1 -0
  35. package/dist/codex-model-availability.d.ts +14 -0
  36. package/dist/default-session-model.d.ts +139 -0
  37. package/dist/dependencies.d.ts +87 -4
  38. package/dist/developer-setup-credential-ceiling.d.ts +10 -0
  39. package/dist/domain/agent-config-resolution.d.ts +49 -0
  40. package/dist/domain/automations.d.ts +58 -0
  41. package/dist/domain/capabilities.d.ts +22 -4
  42. package/dist/domain/company-profile-agent-admin.d.ts +25 -0
  43. package/dist/domain/connection-account-selection-error.d.ts +8 -0
  44. package/dist/domain/connector-tool-permissions.d.ts +36 -0
  45. package/dist/domain/direct-model-provider.d.ts +3 -0
  46. package/dist/domain/editable-artifacts/agent-application.d.ts +10 -1
  47. package/dist/domain/editable-artifacts/durable-export.d.ts +22 -1
  48. package/dist/domain/editable-artifacts/ports.d.ts +10 -0
  49. package/dist/domain/editable-artifacts/service.d.ts +4 -3
  50. package/dist/domain/environments.d.ts +5 -9
  51. package/dist/domain/external-creation-attribution.d.ts +6 -0
  52. package/dist/domain/file-owner.d.ts +8 -0
  53. package/dist/domain/github-action-policies.d.ts +36 -0
  54. package/dist/domain/github-repository-bindings.d.ts +117 -0
  55. package/dist/domain/github-skill-source.d.ts +5 -0
  56. package/dist/domain/governed-learning-slack-publication.d.ts +45 -0
  57. package/dist/domain/insights-timing.d.ts +16 -0
  58. package/dist/domain/insights-usage.d.ts +27 -0
  59. package/dist/domain/insights.d.ts +28 -1
  60. package/dist/domain/knowledge-files.d.ts +20 -0
  61. package/dist/domain/knowledge-messages.d.ts +39 -0
  62. package/dist/domain/knowledge-messages.test.d.ts +1 -0
  63. package/dist/domain/knowledge-preparation.d.ts +10 -0
  64. package/dist/domain/knowledge-preparation.test.d.ts +1 -0
  65. package/dist/domain/knowledge-search.d.ts +15 -0
  66. package/dist/domain/knowledge-search.test.d.ts +1 -0
  67. package/dist/domain/knowledge.d.ts +9 -0
  68. package/dist/domain/mcp-account-bindings.d.ts +19 -0
  69. package/dist/domain/mcp-account-routes.d.ts +21 -0
  70. package/dist/domain/native-mcp-connection-admission.d.ts +3 -0
  71. package/dist/domain/organization-integration-catalog.d.ts +15 -0
  72. package/dist/domain/organization-membership-lifecycle.d.ts +1 -0
  73. package/dist/domain/personal-connection-delegations.d.ts +87 -4
  74. package/dist/domain/pr-review.d.ts +249 -0
  75. package/dist/domain/resources.d.ts +24 -3
  76. package/dist/domain/scheduled-task-access.d.ts +247 -0
  77. package/dist/domain/scheduled-tasks.d.ts +103 -6
  78. package/dist/domain/session-connection-accounts.d.ts +16 -0
  79. package/dist/domain/session-file-access.d.ts +4 -0
  80. package/dist/domain/session-native-connection-replacement.d.ts +14 -0
  81. package/dist/domain/session-start-timing.d.ts +7 -0
  82. package/dist/domain/session-tool-policy.d.ts +93 -4
  83. package/dist/domain/sessions.d.ts +275 -28
  84. package/dist/domain/skill-imports.d.ts +1 -0
  85. package/dist/domain/skill-search.d.ts +30 -0
  86. package/dist/domain/skills.d.ts +117 -0
  87. package/dist/domain/slack-bot.d.ts +46 -1
  88. package/dist/domain/workspace-members.d.ts +8 -1
  89. package/dist/editable-artifact-live/application.d.ts +12 -3
  90. package/dist/editable-artifact-live/ports.d.ts +0 -1
  91. package/dist/editable-artifact-live/server.d.ts +5 -2
  92. package/dist/editable-artifact-live/ticket.d.ts +2 -2
  93. package/dist/editable-artifact-live/types.d.ts +14 -2
  94. package/dist/editable-artifact-live.js +2 -2
  95. package/dist/editable-artifacts.js +10 -4
  96. package/dist/index.d.ts +49 -3
  97. package/dist/index.js +18826 -6847
  98. package/dist/index.js.map +1 -1
  99. package/dist/managed-auth-session-sets.d.ts +131 -0
  100. package/dist/managed-auth-session-sets.js +51 -0
  101. package/dist/managed-auth-session-sets.js.map +1 -0
  102. package/dist/managed-session.d.ts +98 -11
  103. package/dist/model-catalog.d.ts +117 -0
  104. package/dist/product-usage-metrics.d.ts +30 -0
  105. package/dist/rigs/index.d.ts +22 -5
  106. package/dist/rigs/provider-images.d.ts +1 -1
  107. package/dist/sandbox/fleet.d.ts +59 -10
  108. package/dist/sandbox/routing.d.ts +22 -2
  109. package/dist/sandbox/runtime-settings.d.ts +56 -0
  110. package/dist/session-authorization.d.ts +38 -1
  111. package/dist/site-session-origin.d.ts +9 -0
  112. package/dist/transcription.d.ts +12 -1
  113. package/dist/turn-surface.d.ts +18 -0
  114. package/dist/user-presence.d.ts +32 -0
  115. package/package.json +18 -11
  116. package/src/access/external-actor-authority.ts +94 -0
  117. package/src/access/index.ts +1386 -44
  118. package/src/access/service-initiator.ts +50 -0
  119. package/src/application/api-integration-servers.ts +215 -0
  120. package/src/application/archived-session-imports.ts +161 -0
  121. package/src/application/composer-submit.ts +77 -0
  122. package/src/application/connect-authority.ts +77 -0
  123. package/src/application/connect-operation.ts +80 -0
  124. package/src/application/external-continuation.ts +129 -0
  125. package/src/application/external-identity-lifecycle.ts +48 -0
  126. package/src/application/external-link-work-admission.ts +90 -0
  127. package/src/application/external-workspace-members.ts +232 -0
  128. package/src/application/modal-native-worker-host-transport.ts +263 -0
  129. package/src/application/new-session-drafts.ts +222 -29
  130. package/src/application/sandbox-recovery.ts +78 -0
  131. package/src/application/session-commands.ts +430 -73
  132. package/src/application/session-mcp-credential-rotation.ts +217 -0
  133. package/src/application/session-tenancy.ts +445 -0
  134. package/src/application/user-resource-grants.ts +154 -0
  135. package/src/billing/limits.ts +103 -24
  136. package/src/canonical-human-identities.ts +22 -3
  137. package/src/codex-model-availability.ts +136 -0
  138. package/src/default-session-model.ts +656 -0
  139. package/src/dependencies.ts +97 -5
  140. package/src/developer-setup-credential-ceiling.ts +60 -0
  141. package/src/domain/agent-config-resolution.ts +148 -0
  142. package/src/domain/automations.ts +270 -0
  143. package/src/domain/capabilities.ts +244 -151
  144. package/src/domain/company-profile-agent-admin.ts +56 -0
  145. package/src/domain/connection-account-selection-error.ts +19 -0
  146. package/src/domain/connector-tool-permissions.ts +371 -0
  147. package/src/domain/direct-model-provider.ts +62 -0
  148. package/src/domain/editable-artifacts/agent-application.ts +61 -15
  149. package/src/domain/editable-artifacts/durable-export.ts +100 -5
  150. package/src/domain/editable-artifacts/in-memory.ts +6 -0
  151. package/src/domain/editable-artifacts/ports.ts +11 -0
  152. package/src/domain/editable-artifacts/service.ts +32 -1
  153. package/src/domain/editable-artifacts/snapshot-compaction.ts +9 -5
  154. package/src/domain/editable-artifacts/snapshot-verifier-genesis.ts +10 -8
  155. package/src/domain/editable-artifacts/snapshot-verifier.ts +10 -3
  156. package/src/domain/environments.ts +25 -45
  157. package/src/domain/external-creation-attribution.ts +22 -0
  158. package/src/domain/file-owner.ts +67 -0
  159. package/src/domain/github-action-policies.ts +169 -0
  160. package/src/domain/github-repository-bindings.ts +295 -0
  161. package/src/domain/github-skill-source.ts +233 -0
  162. package/src/domain/governed-learning-slack-publication.ts +157 -0
  163. package/src/domain/insights-timing.ts +95 -0
  164. package/src/domain/insights-usage.ts +67 -0
  165. package/src/domain/insights.ts +270 -169
  166. package/src/domain/knowledge-files.ts +46 -0
  167. package/src/domain/knowledge-messages.test.ts +91 -0
  168. package/src/domain/knowledge-messages.ts +106 -0
  169. package/src/domain/knowledge-preparation.test.ts +276 -0
  170. package/src/domain/knowledge-preparation.ts +147 -0
  171. package/src/domain/knowledge-search.test.ts +561 -0
  172. package/src/domain/knowledge-search.ts +256 -0
  173. package/src/domain/knowledge.ts +133 -0
  174. package/src/domain/mcp-account-bindings.ts +171 -0
  175. package/src/domain/mcp-account-routes.ts +121 -0
  176. package/src/domain/native-mcp-connection-admission.ts +14 -0
  177. package/src/domain/organization-integration-catalog.ts +88 -0
  178. package/src/domain/organization-membership-lifecycle.ts +10 -0
  179. package/src/domain/personal-connection-delegations.ts +758 -115
  180. package/src/domain/pr-review.ts +687 -0
  181. package/src/domain/resources.ts +182 -25
  182. package/src/domain/scheduled-task-access.ts +1052 -0
  183. package/src/domain/scheduled-tasks.ts +1952 -215
  184. package/src/domain/session-connection-accounts.ts +67 -0
  185. package/src/domain/session-file-access.ts +47 -0
  186. package/src/domain/session-native-connection-replacement.ts +64 -0
  187. package/src/domain/session-start-timing.ts +55 -0
  188. package/src/domain/session-tool-policy.ts +443 -19
  189. package/src/domain/sessions.ts +3417 -619
  190. package/src/domain/skill-imports.ts +137 -17
  191. package/src/domain/skill-search.ts +221 -0
  192. package/src/domain/skills.ts +104 -0
  193. package/src/domain/slack-bot.ts +128 -3
  194. package/src/domain/workspace-members.ts +34 -2
  195. package/src/editable-artifact-live/application.ts +29 -4
  196. package/src/editable-artifact-live/ports.ts +0 -1
  197. package/src/editable-artifact-live/server.ts +167 -13
  198. package/src/editable-artifact-live/ticket.ts +87 -6
  199. package/src/editable-artifact-live/types.ts +16 -2
  200. package/src/editable-artifact-live/wire.ts +0 -10
  201. package/src/index.ts +69 -4
  202. package/src/managed-auth-session-sets.ts +371 -0
  203. package/src/managed-session.ts +520 -2
  204. package/src/model-catalog.ts +873 -0
  205. package/src/product-usage-metrics.ts +101 -0
  206. package/src/rigs/index.ts +179 -63
  207. package/src/rigs/provider-images.ts +2 -3
  208. package/src/sandbox/fleet.ts +471 -59
  209. package/src/sandbox/routing.ts +160 -33
  210. package/src/sandbox/runtime-settings.ts +281 -0
  211. package/src/session-authorization.ts +262 -78
  212. package/src/site-session-origin.ts +22 -0
  213. package/src/transcription.ts +13 -1
  214. package/src/turn-surface.ts +45 -0
  215. package/src/user-presence.ts +134 -0
  216. package/dist/chunk-6WKPWE5S.js.map +0 -1
  217. package/dist/chunk-IBOEYG6N.js +0 -34
  218. package/dist/chunk-IBOEYG6N.js.map +0 -1
  219. package/dist/chunk-JJU6I5XD.js.map +0 -1
  220. package/dist/chunk-NYPMQ7NO.js.map +0 -1
  221. package/dist/domain/durable-learning-slack-publication.d.ts +0 -72
  222. package/dist/domain/packs.d.ts +0 -55
  223. package/src/domain/durable-learning-slack-publication.ts +0 -202
  224. package/src/domain/packs.ts +0 -556
@@ -1,5 +1,6 @@
1
- import { type AccessGrant, type ConnectionMetadata, type OpenGeniSlackBotConnectionMetadata as OpenGeniSlackBotMetadata, type Session } from "@opengeni/contracts";
1
+ import { type AccessGrant, type ConnectionMetadata, type FirstPartyMcpToolName, type OpenGeniSlackBotConnectionMetadata as OpenGeniSlackBotMetadata, type ScheduledTask, type ScheduledTaskAgentConfig, type Session } from "@opengeni/contracts";
2
2
  import { type ConnectionMetadataWithVerification, type Database } from "@opengeni/db";
3
+ import { type AccessGrantAuthorization } from "../access/index.js";
3
4
  export declare function openGeniSlackBotMetadata(metadata: Record<string, unknown>): OpenGeniSlackBotMetadata | null;
4
5
  export declare function isOpenGeniSlackBotConnection(connection: ConnectionMetadata & Partial<Pick<ConnectionMetadataWithVerification, "verifiedInstallAt" | "verifiedInstallVersion">>): boolean;
5
6
  export declare function hasReservedOpenGeniSlackBotMetadata(metadata: Record<string, unknown> | null | undefined): boolean;
@@ -17,3 +18,47 @@ export declare function scheduledSlackBotConnectionId(metadata: Record<string, u
17
18
  * an authorization mechanism for a workspace-shared bot credential.
18
19
  */
19
20
  export declare function isTrustedScheduledSlackBotSession(session: Pick<Session, "createdBy" | "createdByContext" | "metadata">): boolean;
21
+ /**
22
+ * Proves, with the bot's own token, that it may post in the chosen channel:
23
+ * the bot is a member and the channel is active and not shared with another
24
+ * organization. Supplied only by the HTTP routes a person uses to edit tasks.
25
+ */
26
+ export type ScheduledTaskSlackChannelVerifier = (input: {
27
+ connectionId: string;
28
+ channelId: string;
29
+ }) => Promise<void>;
30
+ /**
31
+ * Whether this request is a signed-in person acting for themselves: never an
32
+ * agent attempt, a service, an API key, or a request carrying service
33
+ * provenance. The same rule gates Agent learning settings.
34
+ */
35
+ export declare function isAuthenticatedPersonAuthorization(authorization: AccessGrantAuthorization | undefined): boolean;
36
+ /**
37
+ * A scheduled task may post as the OpenGeni workspace bot only to the one
38
+ * Slack channel a person chose on the task. Choosing or changing that channel
39
+ * therefore needs a signed-in person with `connections:write`, and the bot's
40
+ * membership is verified at that moment. Keeping or clearing the existing
41
+ * channel needs neither, so an agent editing other task fields cannot redirect
42
+ * posts but also does not have to re-prove the person's choice. Clearing is the
43
+ * safe direction and is never refused, even for a task that continues one chat.
44
+ */
45
+ export declare function validateScheduledTaskSlackChannel(input: {
46
+ grant: AccessGrant;
47
+ authorization?: AccessGrantAuthorization | undefined;
48
+ previous: Pick<ScheduledTaskAgentConfig, "slackBotConnectionId" | "slackBotChannelId"> | null;
49
+ next: Pick<ScheduledTaskAgentConfig, "slackBotConnectionId" | "slackBotChannelId">;
50
+ runMode: ScheduledTask["runMode"];
51
+ /**
52
+ * Null unless the task already created the reusable chat its runs continue.
53
+ * Otherwise reports whether that chat was created with the posting tools,
54
+ * which are fixed at creation.
55
+ */
56
+ reusableSessionCanPost: (() => Promise<boolean>) | null;
57
+ verifySlackChannel?: ScheduledTaskSlackChannelVerifier | undefined;
58
+ }): Promise<void>;
59
+ /**
60
+ * Add the bot posting tools to a generated scheduled run when, and only when,
61
+ * a person chose the task's Slack channel. The deployment ceiling still
62
+ * applies: an operator who disallowed these tools keeps them off.
63
+ */
64
+ export declare function withScheduledSlackBotPostingTools(tools: readonly FirstPartyMcpToolName[], agentConfig: Pick<ScheduledTaskAgentConfig, "slackBotConnectionId" | "slackBotChannelId">, allowedTools: readonly FirstPartyMcpToolName[]): FirstPartyMcpToolName[];
@@ -1,4 +1,4 @@
1
- import type { WorkspaceMember } from "@opengeni/contracts";
1
+ import type { Permission, WorkspaceMember } from "@opengeni/contracts";
2
2
  /** A member can manage other members (directly or via the admin wildcard). */
3
3
  export declare function memberCanAdminister(member: Pick<WorkspaceMember, "permissions">): boolean;
4
4
  /** Only `user:` subjects are people; `api_key:` subjects belong to API keys. */
@@ -21,6 +21,13 @@ export declare function assertWorkspaceMemberRemovable(input: {
21
21
  subjectId: string;
22
22
  callerSubjectId: string;
23
23
  }): void;
24
+ /** Keep scoped member edits from orphaning the workspace or changing the caller's own grant. */
25
+ export declare function assertWorkspaceMemberUpdateAllowed(input: {
26
+ members: WorkspaceMember[];
27
+ subjectId: string;
28
+ callerSubjectId: string;
29
+ nextPermissions: Permission[];
30
+ }): void;
24
31
  /**
25
32
  * Guard the workspace-delete path before any external/DB mutation. Refuses
26
33
  * (409) to delete the account's last workspace, and refuses while any session
@@ -1,12 +1,16 @@
1
1
  import type { EditableArtifactService } from "../domain/editable-artifacts/service.js";
2
2
  import { type EditableArtifact, type EditableArtifactActor, type EditableArtifactClientTransactionId, type EditableArtifactId, type EditableArtifactModality, type EditableArtifactOriginalImport, type EditableArtifactScope, type ImportEditableArtifactRequest } from "../domain/editable-artifacts/types.js";
3
3
  import type { EditableArtifactLiveSession, EditableArtifactLiveServer, OpenEditableArtifactLiveInput } from "./server.js";
4
- import type { EditableArtifactLiveTicket } from "./types.js";
4
+ import type { EditableArtifactLiveSourceSessionAuthority, EditableArtifactLiveTicket } from "./types.js";
5
5
  export type EditableArtifactLiveCompatibilityRequest = Readonly<{
6
6
  artifact: EditableArtifact;
7
- protocolVersion: number;
7
+ modality: EditableArtifactModality;
8
+ liveProtocolVersion: number;
8
9
  kernelVersion: string;
9
10
  modelSchemaVersion: number;
11
+ snapshotVersion: number;
12
+ commandProtocolVersion: number;
13
+ committedTransactionProtocolVersion: number;
10
14
  }>;
11
15
  /** A client/runtime protocol tuple cannot be served by the loaded kernel. */
12
16
  export declare class EditableArtifactCompatibilityError extends Error {
@@ -41,10 +45,15 @@ export type ReadEditableArtifactApplicationInput = Readonly<{
41
45
  artifactId: EditableArtifactId;
42
46
  }>;
43
47
  export type MintEditableArtifactApplicationTicketInput = ReadEditableArtifactApplicationInput & Readonly<{
44
- protocolVersion: number;
48
+ modality: EditableArtifactModality;
49
+ liveProtocolVersion: number;
45
50
  kernelVersion: string;
46
51
  modelSchemaVersion: number;
52
+ snapshotVersion: number;
53
+ commandProtocolVersion: number;
54
+ committedTransactionProtocolVersion: number;
47
55
  allowEdit: boolean;
56
+ sourceSessionAuthority?: EditableArtifactLiveSourceSessionAuthority;
48
57
  }>;
49
58
  /** Exact application seam used by standalone API and embedding hosts. */
50
59
  export interface EditableArtifactApplicationPort {
@@ -21,7 +21,6 @@ export type EditableArtifactLiveBootstrapRead = Readonly<{
21
21
  scope: EditableArtifactScope;
22
22
  artifactId: EditableArtifactId;
23
23
  resume: EditableArtifactLiveResume;
24
- protocolVersion: number;
25
24
  }>;
26
25
  export type EditableArtifactLiveTransactionPage = Readonly<{
27
26
  transactions: readonly EditableArtifactLiveCommittedTransaction[];
@@ -1,10 +1,10 @@
1
1
  import type { EditableArtifactAuthorizationPort } from "../domain/editable-artifacts/ports.js";
2
2
  import type { EditableArtifactService } from "../domain/editable-artifacts/service.js";
3
+ import type { Database } from "@opengeni/db";
3
4
  import { type EditableArtifactActor, type EditableArtifactId, type EditableArtifactModality, type EditableArtifactRequestHash, type EditableArtifactScope } from "../domain/editable-artifacts/types.js";
4
5
  import type { EditableArtifactLiveAuthorizationInvalidationPort, EditableArtifactLiveClockPort, EditableArtifactLiveHintPort, EditableArtifactLiveReadPort, EditableArtifactLiveSchedulerPort, EditableArtifactLiveServerDependencies, EditableArtifactLiveSinkPort, EditableArtifactLiveTicketStorePort, EditableArtifactLiveTokenPort } from "./ports.js";
5
- import { type EditableArtifactLiveAppliedClientFrame, type EditableArtifactLiveClose, type EditableArtifactLiveCloseReason, type EditableArtifactLiveMutationReceipt, type EditableArtifactLiveResume, type EditableArtifactLiveTicket } from "./types.js";
6
+ import { type EditableArtifactLiveAppliedClientFrame, type EditableArtifactLiveClose, type EditableArtifactLiveCloseReason, type EditableArtifactLiveMutationReceipt, type EditableArtifactLiveResume, type EditableArtifactLiveTicket, type EditableArtifactLiveTicketRecord, type EditableArtifactLiveSourceSessionAuthority } from "./types.js";
6
7
  export type EditableArtifactLiveServerOptions = Readonly<{
7
- protocolVersion?: number;
8
8
  ticketTtlMs?: number;
9
9
  maxClientFrameBytes?: number;
10
10
  maxOutboundFrameBytes?: number;
@@ -29,6 +29,8 @@ export type OpenEditableArtifactLiveInput = Readonly<{
29
29
  resume: EditableArtifactLiveResume;
30
30
  sink: EditableArtifactLiveSinkPort;
31
31
  signal?: AbortSignal;
32
+ /** API-owned canonical source session authorization, including live revocation. */
33
+ authorizeSourceSession?: (ticket: EditableArtifactLiveTicketRecord, permission: "read" | "edit", transaction?: Database, signal?: AbortSignal) => Promise<boolean>;
32
34
  }>;
33
35
  export interface EditableArtifactLiveSession {
34
36
  readonly artifactId: EditableArtifactId;
@@ -59,6 +61,7 @@ export declare class EditableArtifactLiveServer {
59
61
  modality: EditableArtifactModality;
60
62
  actor: EditableArtifactActor;
61
63
  allowEdit: boolean;
64
+ sourceSessionAuthority?: EditableArtifactLiveSourceSessionAuthority;
62
65
  }>): Promise<EditableArtifactLiveTicket>;
63
66
  openLive(input: OpenEditableArtifactLiveInput): Promise<EditableArtifactLiveSession>;
64
67
  }
@@ -1,14 +1,13 @@
1
1
  import type { EditableArtifactAuthorizationPort } from "../domain/editable-artifacts/ports.js";
2
2
  import { type EditableArtifactActor, type EditableArtifactId, type EditableArtifactModality, type EditableArtifactScope } from "../domain/editable-artifacts/types.js";
3
3
  import type { EditableArtifactLiveClockPort, EditableArtifactLiveTicketStorePort, EditableArtifactLiveTokenPort } from "./ports.js";
4
- import { type EditableArtifactLiveTicket, type EditableArtifactLiveTicketRecord } from "./types.js";
4
+ import { type EditableArtifactLiveTicket, type EditableArtifactLiveTicketRecord, type EditableArtifactLiveSourceSessionAuthority } from "./types.js";
5
5
  export type EditableArtifactLiveTicketAuthorityDependencies = Readonly<{
6
6
  authorization: EditableArtifactAuthorizationPort;
7
7
  tickets: EditableArtifactLiveTicketStorePort;
8
8
  tokens: EditableArtifactLiveTokenPort;
9
9
  clock: EditableArtifactLiveClockPort;
10
10
  ttlMs?: number;
11
- protocolVersion?: number;
12
11
  }>;
13
12
  export declare class EditableArtifactLiveTicketAuthority {
14
13
  private readonly dependencies;
@@ -21,6 +20,7 @@ export declare class EditableArtifactLiveTicketAuthority {
21
20
  modality: EditableArtifactModality;
22
21
  actor: EditableArtifactActor;
23
22
  allowEdit: boolean;
23
+ sourceSessionAuthority?: EditableArtifactLiveSourceSessionAuthority;
24
24
  }>): Promise<EditableArtifactLiveTicket>;
25
25
  consume(input: Readonly<{
26
26
  token: string;
@@ -1,5 +1,13 @@
1
+ import type { AccessGrant } from "@opengeni/contracts";
2
+ import type { ExternalActorContinuation } from "@opengeni/contracts/external-identities";
1
3
  import type { EditableArtifactActor, EditableArtifactCausalFrontier, EditableArtifactClientTransactionId, EditableArtifactContentHash, EditableArtifactId, EditableArtifactModality, EditableArtifactRequestHash, EditableArtifactScope, EditableArtifactStateHash, EditableArtifactTransactionId } from "../domain/editable-artifacts/types.js";
2
- export declare const EDITABLE_ARTIFACT_LIVE_PROTOCOL_VERSION = 1;
4
+ export declare const EDITABLE_ARTIFACT_LIVE_PROTOCOL_VERSION: 2;
5
+ /** Authenticated by the digest of the complete one-use token, never client claims. */
6
+ export type EditableArtifactLiveSourceSessionAuthority = Readonly<{
7
+ sessionId: string;
8
+ grant: AccessGrant;
9
+ externalContinuation?: ExternalActorContinuation | undefined;
10
+ }>;
3
11
  export type EditableArtifactLiveTicket = Readonly<{
4
12
  artifactId: EditableArtifactId;
5
13
  modality: EditableArtifactModality;
@@ -15,6 +23,7 @@ export type EditableArtifactLiveTicketRecord = Readonly<{
15
23
  artifactId: EditableArtifactId;
16
24
  modality: EditableArtifactModality;
17
25
  actor: EditableArtifactActor;
26
+ sourceSessionAuthority?: EditableArtifactLiveSourceSessionAuthority;
18
27
  /** Delegated ceiling captured by the authenticated ticket-minting request. */
19
28
  allowEdit: boolean;
20
29
  protocolVersion: number;
@@ -34,6 +43,7 @@ export type EditableArtifactLiveSnapshot = (EditableArtifactLiveSnapshotCommon &
34
43
  modality: "spreadsheet";
35
44
  causalFrontier: EditableArtifactCausalFrontier;
36
45
  operationProtocolVersion: number;
46
+ snapshotVersion: number;
37
47
  }>) | (EditableArtifactLiveSnapshotCommon & Readonly<{
38
48
  modality: "document" | "presentation";
39
49
  nativeRevision: number;
@@ -82,7 +92,7 @@ type EditableArtifactLiveResumeCommon = Readonly<{
82
92
  requireSnapshot: boolean;
83
93
  }>;
84
94
  export type EditableArtifactLiveResume = (EditableArtifactLiveResumeCommon & Readonly<{
85
- modality?: "spreadsheet";
95
+ modality: "spreadsheet";
86
96
  localCausalFrontier: EditableArtifactCausalFrontier;
87
97
  }>) | (EditableArtifactLiveResumeCommon & Readonly<{
88
98
  modality: "document" | "presentation";
@@ -121,6 +131,8 @@ export type EditableArtifactLiveServerFrame = Readonly<{
121
131
  }> & (Readonly<{
122
132
  modality: "spreadsheet";
123
133
  causalFrontier: EditableArtifactCausalFrontier;
134
+ operationProtocolVersion: number;
135
+ snapshotVersion: number;
124
136
  }> | Readonly<{
125
137
  modality: "document" | "presentation";
126
138
  nativeRevision: number;
@@ -25,8 +25,8 @@ import {
25
25
  encodeEditableArtifactLiveOpenWireFrame,
26
26
  encodeEditableArtifactLiveServerWireFrame,
27
27
  inspectEditableArtifactLiveWireEnvelope
28
- } from "./chunk-NYPMQ7NO.js";
29
- import "./chunk-JJU6I5XD.js";
28
+ } from "./chunk-GVO3N37G.js";
29
+ import "./chunk-LCQXNR62.js";
30
30
  export {
31
31
  EDITABLE_ARTIFACT_HINT_MAX_BYTES,
32
32
  EDITABLE_ARTIFACT_HINT_SUBJECT_PREFIX,
@@ -1,4 +1,5 @@
1
1
  import {
2
+ EDITABLE_ARTIFACT_EXPORT_FORMATS,
2
3
  EDITABLE_ARTIFACT_EXPORT_MAX_DOWNLOAD_BYTES,
3
4
  EDITABLE_ARTIFACT_EXPORT_MAX_OPTIONS_BYTES,
4
5
  EditableArtifactAgentApplication,
@@ -10,6 +11,8 @@ import {
10
11
  InMemoryEditableArtifactStableIdFactory,
11
12
  InMemoryEditableArtifactStore,
12
13
  SystemEditableArtifactClock,
14
+ describeConfiguredExportFormats,
15
+ describeEditableArtifactExportFormats,
13
16
  editableArtifactAuthorizationRevisionPortFromPostgres,
14
17
  editableArtifactDurableExportStorePortFromPostgres,
15
18
  editableArtifactFormatMatchesModality,
@@ -19,13 +22,13 @@ import {
19
22
  editableArtifactMaterializationMimeType,
20
23
  editableArtifactScopeAuthorizationRevisionPortFromPostgres,
21
24
  editableArtifactStorePortFromPostgres,
25
+ unsupportedEditableArtifactExport,
22
26
  validateEditableArtifactMaterializationJob,
23
27
  validateEditableArtifactPinnedVersion
24
- } from "./chunk-6WKPWE5S.js";
28
+ } from "./chunk-2MKMRGSY.js";
25
29
  import {
26
30
  EDITABLE_ARTIFACT_COMPACTION_BYTE_THRESHOLD,
27
31
  EDITABLE_ARTIFACT_COMPACTION_TRANSACTION_THRESHOLD,
28
- EDITABLE_ARTIFACT_INTENT_PROTOCOL_VERSION,
29
32
  EDITABLE_ARTIFACT_MAX_COMMAND_BYTES_PER_TRANSACTION,
30
33
  EDITABLE_ARTIFACT_MAX_COMMITTED_TRANSACTION_BYTES,
31
34
  EDITABLE_ARTIFACT_MAX_COMMIT_ATTEMPTS,
@@ -87,13 +90,13 @@ import {
87
90
  mergeCausalFrontiers,
88
91
  ogatxEditableArtifactMutationIntentCodec,
89
92
  validateEditableArtifactActor
90
- } from "./chunk-JJU6I5XD.js";
93
+ } from "./chunk-LCQXNR62.js";
91
94
  export {
92
95
  EDITABLE_ARTIFACT_COMPACTION_BYTE_THRESHOLD,
93
96
  EDITABLE_ARTIFACT_COMPACTION_TRANSACTION_THRESHOLD,
97
+ EDITABLE_ARTIFACT_EXPORT_FORMATS,
94
98
  EDITABLE_ARTIFACT_EXPORT_MAX_DOWNLOAD_BYTES,
95
99
  EDITABLE_ARTIFACT_EXPORT_MAX_OPTIONS_BYTES,
96
- EDITABLE_ARTIFACT_INTENT_PROTOCOL_VERSION,
97
100
  EDITABLE_ARTIFACT_MAX_COMMAND_BYTES_PER_TRANSACTION,
98
101
  EDITABLE_ARTIFACT_MAX_COMMITTED_TRANSACTION_BYTES,
99
102
  EDITABLE_ARTIFACT_MAX_COMMIT_ATTEMPTS,
@@ -145,6 +148,8 @@ export {
145
148
  causalFrontierDominates,
146
149
  causalFrontiersEqual,
147
150
  compareCodeUnits,
151
+ describeConfiguredExportFormats,
152
+ describeEditableArtifactExportFormats,
148
153
  editableArtifactActorKey,
149
154
  editableArtifactAuthorizationRevisionPortFromPostgres,
150
155
  editableArtifactCausalFrontier,
@@ -172,6 +177,7 @@ export {
172
177
  hashEditableArtifactImportRequest,
173
178
  mergeCausalFrontiers,
174
179
  ogatxEditableArtifactMutationIntentCodec,
180
+ unsupportedEditableArtifactExport,
175
181
  validateEditableArtifactActor,
176
182
  validateEditableArtifactMaterializationJob,
177
183
  validateEditableArtifactPinnedVersion
package/dist/index.d.ts CHANGED
@@ -1,37 +1,83 @@
1
+ export { readSessionAttachmentFiles } from "./domain/session-file-access.js";
2
+ export { verifyDirectModelAccess } from "./domain/direct-model-provider.js";
3
+ export * from "./domain/skills.js";
4
+ export * from "./domain/mcp-account-bindings.js";
5
+ export * from "./domain/mcp-account-routes.js";
6
+ export * from "./domain/session-connection-accounts.js";
7
+ export * from "./domain/organization-integration-catalog.js";
8
+ export * from "./domain/knowledge.js";
9
+ export * from "./domain/knowledge-search.js";
1
10
  export * from "./dependencies.js";
2
11
  export * from "./workflow-wake-contract.js";
12
+ export * from "./user-presence.js";
13
+ export * from "./product-usage-metrics.js";
3
14
  export * from "./sandbox-types.js";
4
15
  export * from "./managed-auth-type.js";
5
- export * from "./managed-session.js";
16
+ export { getManagedAuthRequestActorAbortSignal, getManagedAuthRequestActorAdmissionStamp, getManagedAuthRequestActorEpoch, getManagedAuthRequestActorLeaseStamp, getManagedSession, configureManagedUserAdmission, assertManagedUserAdmission, ManagedAuthActorLeaseOutcomeUnknownError, markManagedAuthRequestActorTransitionApplied, releaseManagedAuthRequestActorLease, validateManagedAuthRequestActorLease, type ManagedAuthActorAdmissionStamp, type ManagedAuthActorMutationLeaseStamp, } from "./managed-session.js";
6
17
  export * from "./transcription.js";
18
+ export * from "./model-catalog.js";
19
+ export * from "./codex-model-availability.js";
20
+ export * from "./default-session-model.js";
7
21
  export * from "./sandbox/fleet.js";
8
22
  export * from "./sandbox/routing.js";
23
+ export * from "./sandbox/runtime-settings.js";
9
24
  export * from "./access/index.js";
25
+ export * from "./application/external-workspace-members.js";
26
+ export * from "./application/external-identity-lifecycle.js";
27
+ export * from "./application/external-continuation.js";
28
+ export * from "./application/session-mcp-credential-rotation.js";
29
+ export * from "./application/external-link-work-admission.js";
30
+ export * from "./application/connect-authority.js";
31
+ export * from "./application/connect-operation.js";
10
32
  export * from "./session-authorization.js";
11
33
  export * from "./billing/limits.js";
12
34
  export * from "./domain/capabilities.js";
35
+ export * from "./domain/native-mcp-connection-admission.js";
13
36
  export * from "./domain/skill-imports.js";
37
+ export * from "./domain/skill-search.js";
38
+ export * from "./domain/github-skill-source.js";
14
39
  export * from "./domain/environments.js";
15
40
  export * from "./rigs/index.js";
16
- export * from "./domain/packs.js";
41
+ export * from "./domain/automations.js";
42
+ export * from "./domain/pr-review.js";
17
43
  export * from "./domain/personal-connection-delegations.js";
18
44
  export * from "./domain/resources.js";
45
+ export * from "./domain/github-repository-bindings.js";
46
+ export * from "./domain/github-action-policies.js";
19
47
  export * from "./domain/session-tool-policy.js";
48
+ export * from "./domain/agent-config-resolution.js";
20
49
  export * from "./domain/scheduled-tasks.js";
50
+ export * from "./domain/scheduled-task-access.js";
21
51
  export * from "./domain/sessions.js";
22
52
  export * from "./domain/insights.js";
53
+ export * from "./domain/insights-usage.js";
23
54
  export * from "./domain/memory-slack-publication.js";
24
55
  export * from "./domain/memory-slack-delivery.js";
25
- export * from "./domain/durable-learning-slack-publication.js";
56
+ export * from "./domain/governed-learning-slack-publication.js";
26
57
  export * from "./domain/slack-publication-secret-safety.js";
27
58
  export * from "./domain/company-profile-durable-learning-adapter.js";
59
+ export * from "./domain/company-profile-agent-admin.js";
28
60
  export * from "./domain/slack-bot.js";
29
61
  export * from "./domain/conversation-integrations.js";
30
62
  export * from "./domain/fiken.js";
31
63
  export * from "./domain/workspace-members.js";
32
64
  export * from "./domain/video-generation.js";
33
65
  export * from "./domain/video-generation-capabilities.js";
66
+ export * from "./domain/organization-membership-lifecycle.js";
34
67
  export * from "./application/new-session-drafts.js";
68
+ export * from "./application/composer-submit.js";
35
69
  export * from "./application/session-commands.js";
70
+ export * from "./application/archived-session-imports.js";
71
+ export * from "./application/session-tenancy.js";
72
+ export * from "./application/sandbox-recovery.js";
73
+ export * from "./application/user-resource-grants.js";
74
+ export * from "./application/api-integration-servers.js";
36
75
  export * from "./editable-artifact-live.js";
37
76
  export * from "./editable-artifacts.js";
77
+ export { withSiteSessionOrigin } from "./site-session-origin.js";
78
+ export { resolveTurnSurface } from "./turn-surface.js";
79
+ export { fileOwnerContextForAccess, fileOwnerContextForAgent } from "./domain/file-owner.js";
80
+ export { prepareKnowledgeFile } from "./domain/knowledge-files.js";
81
+ export { prepareKnowledgeSave } from "./domain/knowledge-preparation.js";
82
+ export { retainKnowledgeMessage } from "./domain/knowledge-messages.js";
83
+ export * from "./domain/connector-tool-permissions.js";