@granular-software/sdk 0.4.50 → 0.4.52

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.
@@ -1,4 +1,4 @@
1
- import { bB as WSClientOptions, $ as GranularQuotaProgress, T as ToolWithHandler, f as PublishToolsResult, aL as Job, g as ToolHandler, I as InstanceToolHandler, aO as ConversationMessageInput, aP as ConversationAppendResult, ay as EffectInfo, P as Prompt, ax as ToolInfo, aA as EffectsChangedEvent, az as ToolsChangedEvent, D as DomainState, y as GranularOptions, c6 as EnvironmentImporter, B as RecordUserOptions, U as User, H as OpenEnvironmentOptions, ac as EnvironmentData, a9 as BuildPolicy, c4 as EnvironmentSetupSummary, L as ConversationSessionInfo, K as CreateSessionOptions, bL as RecordObjectOptions, bS as RecordObjectResult, bU as RecordObjectsOptions, b$ as RecordImport, bX as RecordImportStatus, c0 as EnvironmentRecordImportSummary, aJ as EnvironmentFeedbackRecord, c as SessionHeapSnapshot, bp as SessionDocumentResult, bq as SessionCollectionListOptions, bs as SessionCollectionListResult, aQ as SessionConversationMessage, aR as SessionTimelineEvent, br as SessionJobListOptions, bi as SessionJobRecord, aZ as SessionArtifactListOptions, aY as SessionArtifactRecord, a_ as SessionArtifactValidationResult, b0 as SessionArtifactExecutionOptions, a$ as SessionArtifactExecutionResult, b1 as SessionArtifactApprovalOptions, bb as RecordManualActionInput, bd as ManualActionRecordResult, be as ManualActionListOptions, bc as ManualActionOccurrence, bg as ManualActionSuggestionOptions, bf as ManualActionSuggestion, b4 as ArtifactApprovalTaskListOptions, b3 as ArtifactApprovalTask, b5 as ArtifactApprovalDecisionInput, b6 as ArtifactApprovalDecisionResult, aV as SessionFileRecord, bh as SessionFileUploadOptions, S as SessionHeapEntry, b as SessionHeapList, bl as SessionHeapVariable, d as SessionTranscriptEntry, cA as GraphQLResult, bn as RecordSearchOptions, bm as RecordSearchResult, bo as RecordMentionInput, bK as DefineRelationshipOptions, bJ as RelationshipInfo, bI as ModelRef, cz as ManifestContent, bP as EnvironmentStateUpdateInput, bN as EnvironmentStateTarget, bR as EnvironmentStateProxy, bW as RecordImportOptions, bx as UserEnvironmentStateOptions, bw as UserEnvironmentState, by as MarkUserEnvironmentReadOptions, J as ConnectOptions, c2 as RunEnvironmentImporterOptions, l as OpenAIUsageSpendEvent, G as GranularSpendContext, o as RecordOpenAIUsageSpendResult, a2 as SandboxListResponse, a0 as Sandbox, a1 as CreateSandboxData, cC as DeleteResponse, a4 as PermissionProfile, a5 as CreatePermissionProfileData, ad as CreateEnvironmentData, cD as StreamEvent, cE as StreamSubscription, cF as StreamStats, F as Subject, a8 as AssignmentListResponse } from './spend-RpJikX9w.mjs';
1
+ import { bM as WSClientOptions, a2 as GranularQuotaProgress, T as ToolWithHandler, f as PublishToolsResult, aO as Job, g as ToolHandler, I as InstanceToolHandler, aY as ConversationMessageInput, aZ as ConversationAppendResult, aB as EffectInfo, P as Prompt, aA as ToolInfo, aD as EffectsChangedEvent, aC as ToolsChangedEvent, D as DomainState, y as GranularOptions, ci as EnvironmentImporter, B as RecordUserOptions, U as User, H as OpenEnvironmentOptions, af as EnvironmentData, ac as BuildPolicy, cf as EnvironmentSetupSummary, W as ConversationSessionListOptions, Q as ConversationSessionInfo, L as CreateSessionOptions, bW as RecordObjectOptions, c1 as RecordObjectResult, c3 as RecordObjectsOptions, ca as RecordImport, c6 as RecordImportStatus, cb as EnvironmentRecordImportSummary, aM as EnvironmentFeedbackRecord, c as SessionHeapSnapshot, bA as SessionDocumentResult, bB as SessionCollectionListOptions, bD as SessionCollectionListResult, a_ as SessionConversationMessage, a$ as SessionTimelineEvent, bC as SessionJobListOptions, bt as SessionJobRecord, b8 as SessionArtifactListOptions, b7 as SessionArtifactRecord, b9 as SessionArtifactValidationResult, bb as SessionArtifactExecutionOptions, ba as SessionArtifactExecutionResult, bc as SessionArtifactApprovalOptions, bm as RecordManualActionInput, bo as ManualActionRecordResult, bp as ManualActionListOptions, bn as ManualActionOccurrence, br as ManualActionSuggestionOptions, bq as ManualActionSuggestion, bf as ArtifactApprovalTaskListOptions, be as ArtifactApprovalTask, bg as ArtifactApprovalDecisionInput, bh as ArtifactApprovalDecisionResult, b3 as SessionFileRecord, bs as SessionFileUploadOptions, S as SessionHeapEntry, b as SessionHeapList, bw as SessionHeapVariable, d as SessionTranscriptEntry, cM as GraphQLResult, by as RecordSearchOptions, bx as RecordSearchResult, bz as RecordMentionInput, bV as DefineRelationshipOptions, bU as RelationshipInfo, bT as ModelRef, cL as ManifestContent, b_ as EnvironmentStateUpdateInput, bY as EnvironmentStateTarget, c0 as EnvironmentStateProxy, c5 as RecordImportOptions, bI as UserEnvironmentStateOptions, bH as UserEnvironmentState, bJ as MarkUserEnvironmentReadOptions, J as AdoptEnvironmentOptions, K as ConnectOptions, cd as RunEnvironmentImporterOptions, l as OpenAIUsageSpendEvent, G as GranularSpendContext, o as RecordOpenAIUsageSpendResult, a5 as SandboxListResponse, a3 as Sandbox, a4 as CreateSandboxData, cO as DeleteResponse, a7 as PermissionProfile, a8 as CreatePermissionProfileData, ag as CreateEnvironmentData, cP as StreamEvent, cQ as StreamSubscription, cR as StreamStats, F as Subject, ab as AssignmentListResponse } from './spend-DpRRCrAr.mjs';
2
2
  import * as Automerge from '@automerge/automerge';
3
3
  import { Doc } from '@automerge/automerge/slim';
4
4
 
@@ -18,9 +18,14 @@ declare class WSClient {
18
18
  private tokenRefreshTimer;
19
19
  private isExplicitlyDisconnected;
20
20
  private reconnectAttempts;
21
+ private connectPromise;
22
+ private connectionEpoch;
23
+ private cancelConnectAttempt;
21
24
  private options;
22
25
  constructor(options: WSClientOptions);
23
26
  get currentSessionId(): string;
27
+ seedDocumentSnapshot(document: Record<string, unknown> | Uint8Array | null | undefined): void;
28
+ saveDocumentSnapshot(): Uint8Array;
24
29
  private clearTokenRefreshTimer;
25
30
  private decodeBase64Url;
26
31
  private getTokenExpiryMs;
@@ -31,9 +36,14 @@ declare class WSClient {
31
36
  * Connect to the WebSocket server
32
37
  * @returns {Promise<void>} Resolves when connection is open
33
38
  */
34
- connect(): Promise<void>;
39
+ connect(options?: {
40
+ signal?: AbortSignal;
41
+ }): Promise<void>;
42
+ private connectAttempt;
35
43
  private normalizeReason;
36
44
  private rejectPending;
45
+ private emitReconnectErrorMessage;
46
+ private scheduleReconnectAttempt;
37
47
  private buildDisconnectError;
38
48
  private handleDisconnect;
39
49
  private handleMessage;
@@ -73,7 +83,9 @@ declare class WSClient {
73
83
  /**
74
84
  * Disconnect the WebSocket and clear state
75
85
  */
76
- disconnect(): void;
86
+ disconnect(options?: {
87
+ reason?: string;
88
+ }): void;
77
89
  }
78
90
 
79
91
  declare class Session {
@@ -308,9 +320,7 @@ declare class Environment {
308
320
  get runtimeBaseUrl(): string;
309
321
  syncEnvironmentData(envData: EnvironmentData): void;
310
322
  get sessions(): {
311
- list: (options?: {
312
- status?: "active" | "closed" | "all";
313
- }) => Promise<ConversationSessionInfo[]>;
323
+ list: (options?: Omit<ConversationSessionListOptions, "environmentId" | "sandboxId" | "subjectId">) => Promise<ConversationSessionInfo[]>;
314
324
  create: (options?: CreateSessionOptions) => Promise<EnvironmentSession>;
315
325
  connect: (sessionId: string, options?: {
316
326
  clientId?: string;
@@ -373,7 +383,8 @@ declare class Environment {
373
383
  * or a session.
374
384
  */
375
385
  disconnect(): Promise<void>;
376
- listSessions(status?: "active" | "closed" | "all"): Promise<ConversationSessionInfo[]>;
386
+ listSessions(status?: ConversationSessionListOptions["status"]): Promise<ConversationSessionInfo[]>;
387
+ listSessions(options?: Omit<ConversationSessionListOptions, "environmentId" | "sandboxId" | "subjectId">): Promise<ConversationSessionInfo[]>;
377
388
  getUserEnvironmentState(options?: UserEnvironmentStateOptions): Promise<UserEnvironmentState>;
378
389
  markUserEnvironmentSessionsRead(options: MarkUserEnvironmentReadOptions): Promise<UserEnvironmentState["readAtBySessionId"]>;
379
390
  createSession(options?: CreateSessionOptions): Promise<EnvironmentSession>;
@@ -750,6 +761,7 @@ declare class EnvironmentSession extends Session {
750
761
  updateInputs: (artifactId: string, patch: {
751
762
  inputValues?: Record<string, unknown>;
752
763
  relationships?: Record<string, string | string[] | null>;
764
+ expectedUpdatedAt?: number;
753
765
  }) => Promise<SessionArtifactRecord>;
754
766
  validate: (artifactId: string) => Promise<SessionArtifactValidationResult>;
755
767
  execute: (artifactId: string, options: SessionArtifactExecutionOptions) => Promise<SessionArtifactExecutionResult>;
@@ -940,6 +952,23 @@ declare class Granular {
940
952
  * ```
941
953
  */
942
954
  openEnvironment(options: OpenEnvironmentOptions): Promise<Environment>;
955
+ /**
956
+ * Read the active environment selected by Granular for an already-recorded
957
+ * external user. This is intentionally read-only: browser/login code must
958
+ * not create subjects or environments as a side effect.
959
+ */
960
+ getActiveEnvironmentForUser(options: {
961
+ sandboxId: string;
962
+ tag: string;
963
+ userId: string;
964
+ slot?: string;
965
+ }): Promise<Environment | null>;
966
+ /**
967
+ * Register one reviewed, pre-existing environment as the active workspace
968
+ * for an external user. This is for a controlled migration only: it does
969
+ * not create an environment and it does not run an importer.
970
+ */
971
+ adoptEnvironmentForUser(options: AdoptEnvironmentOptions): Promise<Environment>;
943
972
  /**
944
973
  * Deprecated compatibility alias for `openEnvironment()`.
945
974
  *
@@ -959,20 +988,22 @@ declare class Granular {
959
988
  private resolveRequestedTag;
960
989
  private buildManagedEnvironmentName;
961
990
  private isManagedEnvironmentName;
962
- private isPinnedToVersion;
963
- private matchesTagTrackedEnvironment;
964
991
  private sortEnvironmentsByRecency;
965
992
  private resolveOpenEnvironmentData;
966
993
  /**
967
- * List active (open) sessions for an environment each session is one agent conversation thread.
994
+ * List indexed sessions using ownership filters and bounded pagination.
995
+ */
996
+ listSessions(options: ConversationSessionListOptions): Promise<ConversationSessionInfo[]>;
997
+ /**
998
+ * List active (open) sessions for an environment.
968
999
  */
969
- listOpenSessions(filters: {
1000
+ listOpenSessions(filters: Omit<ConversationSessionListOptions, "status"> & {
970
1001
  environmentId: string;
971
1002
  }): Promise<ConversationSessionInfo[]>;
972
1003
  /**
973
1004
  * List closed sessions for an environment (conversations that have disconnected).
974
1005
  */
975
- listClosedSessions(filters: {
1006
+ listClosedSessions(filters: Omit<ConversationSessionListOptions, "status"> & {
976
1007
  environmentId: string;
977
1008
  }): Promise<ConversationSessionInfo[]>;
978
1009
  getUserEnvironmentState(options: UserEnvironmentStateOptions & {
@@ -981,7 +1012,6 @@ declare class Granular {
981
1012
  markUserEnvironmentSessionsRead(options: MarkUserEnvironmentReadOptions & {
982
1013
  environmentId: string;
983
1014
  }): Promise<UserEnvironmentState["readAtBySessionId"]>;
984
- private listSessionsForEnvironment;
985
1015
  private normalizeConversationSession;
986
1016
  private normalizeUserEnvironmentState;
987
1017
  private static coerceIsoDate;
@@ -992,6 +1022,7 @@ declare class Granular {
992
1022
  createSession(options: {
993
1023
  environmentId: string;
994
1024
  clientId?: string;
1025
+ sessionScope?: CreateSessionOptions["sessionScope"];
995
1026
  initialHeap?: CreateSessionOptions["initialHeap"];
996
1027
  }): Promise<EnvironmentSession>;
997
1028
  /**
@@ -1,4 +1,4 @@
1
- import { bB as WSClientOptions, $ as GranularQuotaProgress, T as ToolWithHandler, f as PublishToolsResult, aL as Job, g as ToolHandler, I as InstanceToolHandler, aO as ConversationMessageInput, aP as ConversationAppendResult, ay as EffectInfo, P as Prompt, ax as ToolInfo, aA as EffectsChangedEvent, az as ToolsChangedEvent, D as DomainState, y as GranularOptions, c6 as EnvironmentImporter, B as RecordUserOptions, U as User, H as OpenEnvironmentOptions, ac as EnvironmentData, a9 as BuildPolicy, c4 as EnvironmentSetupSummary, L as ConversationSessionInfo, K as CreateSessionOptions, bL as RecordObjectOptions, bS as RecordObjectResult, bU as RecordObjectsOptions, b$ as RecordImport, bX as RecordImportStatus, c0 as EnvironmentRecordImportSummary, aJ as EnvironmentFeedbackRecord, c as SessionHeapSnapshot, bp as SessionDocumentResult, bq as SessionCollectionListOptions, bs as SessionCollectionListResult, aQ as SessionConversationMessage, aR as SessionTimelineEvent, br as SessionJobListOptions, bi as SessionJobRecord, aZ as SessionArtifactListOptions, aY as SessionArtifactRecord, a_ as SessionArtifactValidationResult, b0 as SessionArtifactExecutionOptions, a$ as SessionArtifactExecutionResult, b1 as SessionArtifactApprovalOptions, bb as RecordManualActionInput, bd as ManualActionRecordResult, be as ManualActionListOptions, bc as ManualActionOccurrence, bg as ManualActionSuggestionOptions, bf as ManualActionSuggestion, b4 as ArtifactApprovalTaskListOptions, b3 as ArtifactApprovalTask, b5 as ArtifactApprovalDecisionInput, b6 as ArtifactApprovalDecisionResult, aV as SessionFileRecord, bh as SessionFileUploadOptions, S as SessionHeapEntry, b as SessionHeapList, bl as SessionHeapVariable, d as SessionTranscriptEntry, cA as GraphQLResult, bn as RecordSearchOptions, bm as RecordSearchResult, bo as RecordMentionInput, bK as DefineRelationshipOptions, bJ as RelationshipInfo, bI as ModelRef, cz as ManifestContent, bP as EnvironmentStateUpdateInput, bN as EnvironmentStateTarget, bR as EnvironmentStateProxy, bW as RecordImportOptions, bx as UserEnvironmentStateOptions, bw as UserEnvironmentState, by as MarkUserEnvironmentReadOptions, J as ConnectOptions, c2 as RunEnvironmentImporterOptions, l as OpenAIUsageSpendEvent, G as GranularSpendContext, o as RecordOpenAIUsageSpendResult, a2 as SandboxListResponse, a0 as Sandbox, a1 as CreateSandboxData, cC as DeleteResponse, a4 as PermissionProfile, a5 as CreatePermissionProfileData, ad as CreateEnvironmentData, cD as StreamEvent, cE as StreamSubscription, cF as StreamStats, F as Subject, a8 as AssignmentListResponse } from './spend-RpJikX9w.js';
1
+ import { bM as WSClientOptions, a2 as GranularQuotaProgress, T as ToolWithHandler, f as PublishToolsResult, aO as Job, g as ToolHandler, I as InstanceToolHandler, aY as ConversationMessageInput, aZ as ConversationAppendResult, aB as EffectInfo, P as Prompt, aA as ToolInfo, aD as EffectsChangedEvent, aC as ToolsChangedEvent, D as DomainState, y as GranularOptions, ci as EnvironmentImporter, B as RecordUserOptions, U as User, H as OpenEnvironmentOptions, af as EnvironmentData, ac as BuildPolicy, cf as EnvironmentSetupSummary, W as ConversationSessionListOptions, Q as ConversationSessionInfo, L as CreateSessionOptions, bW as RecordObjectOptions, c1 as RecordObjectResult, c3 as RecordObjectsOptions, ca as RecordImport, c6 as RecordImportStatus, cb as EnvironmentRecordImportSummary, aM as EnvironmentFeedbackRecord, c as SessionHeapSnapshot, bA as SessionDocumentResult, bB as SessionCollectionListOptions, bD as SessionCollectionListResult, a_ as SessionConversationMessage, a$ as SessionTimelineEvent, bC as SessionJobListOptions, bt as SessionJobRecord, b8 as SessionArtifactListOptions, b7 as SessionArtifactRecord, b9 as SessionArtifactValidationResult, bb as SessionArtifactExecutionOptions, ba as SessionArtifactExecutionResult, bc as SessionArtifactApprovalOptions, bm as RecordManualActionInput, bo as ManualActionRecordResult, bp as ManualActionListOptions, bn as ManualActionOccurrence, br as ManualActionSuggestionOptions, bq as ManualActionSuggestion, bf as ArtifactApprovalTaskListOptions, be as ArtifactApprovalTask, bg as ArtifactApprovalDecisionInput, bh as ArtifactApprovalDecisionResult, b3 as SessionFileRecord, bs as SessionFileUploadOptions, S as SessionHeapEntry, b as SessionHeapList, bw as SessionHeapVariable, d as SessionTranscriptEntry, cM as GraphQLResult, by as RecordSearchOptions, bx as RecordSearchResult, bz as RecordMentionInput, bV as DefineRelationshipOptions, bU as RelationshipInfo, bT as ModelRef, cL as ManifestContent, b_ as EnvironmentStateUpdateInput, bY as EnvironmentStateTarget, c0 as EnvironmentStateProxy, c5 as RecordImportOptions, bI as UserEnvironmentStateOptions, bH as UserEnvironmentState, bJ as MarkUserEnvironmentReadOptions, J as AdoptEnvironmentOptions, K as ConnectOptions, cd as RunEnvironmentImporterOptions, l as OpenAIUsageSpendEvent, G as GranularSpendContext, o as RecordOpenAIUsageSpendResult, a5 as SandboxListResponse, a3 as Sandbox, a4 as CreateSandboxData, cO as DeleteResponse, a7 as PermissionProfile, a8 as CreatePermissionProfileData, ag as CreateEnvironmentData, cP as StreamEvent, cQ as StreamSubscription, cR as StreamStats, F as Subject, ab as AssignmentListResponse } from './spend-DpRRCrAr.js';
2
2
  import * as Automerge from '@automerge/automerge';
3
3
  import { Doc } from '@automerge/automerge/slim';
4
4
 
@@ -18,9 +18,14 @@ declare class WSClient {
18
18
  private tokenRefreshTimer;
19
19
  private isExplicitlyDisconnected;
20
20
  private reconnectAttempts;
21
+ private connectPromise;
22
+ private connectionEpoch;
23
+ private cancelConnectAttempt;
21
24
  private options;
22
25
  constructor(options: WSClientOptions);
23
26
  get currentSessionId(): string;
27
+ seedDocumentSnapshot(document: Record<string, unknown> | Uint8Array | null | undefined): void;
28
+ saveDocumentSnapshot(): Uint8Array;
24
29
  private clearTokenRefreshTimer;
25
30
  private decodeBase64Url;
26
31
  private getTokenExpiryMs;
@@ -31,9 +36,14 @@ declare class WSClient {
31
36
  * Connect to the WebSocket server
32
37
  * @returns {Promise<void>} Resolves when connection is open
33
38
  */
34
- connect(): Promise<void>;
39
+ connect(options?: {
40
+ signal?: AbortSignal;
41
+ }): Promise<void>;
42
+ private connectAttempt;
35
43
  private normalizeReason;
36
44
  private rejectPending;
45
+ private emitReconnectErrorMessage;
46
+ private scheduleReconnectAttempt;
37
47
  private buildDisconnectError;
38
48
  private handleDisconnect;
39
49
  private handleMessage;
@@ -73,7 +83,9 @@ declare class WSClient {
73
83
  /**
74
84
  * Disconnect the WebSocket and clear state
75
85
  */
76
- disconnect(): void;
86
+ disconnect(options?: {
87
+ reason?: string;
88
+ }): void;
77
89
  }
78
90
 
79
91
  declare class Session {
@@ -308,9 +320,7 @@ declare class Environment {
308
320
  get runtimeBaseUrl(): string;
309
321
  syncEnvironmentData(envData: EnvironmentData): void;
310
322
  get sessions(): {
311
- list: (options?: {
312
- status?: "active" | "closed" | "all";
313
- }) => Promise<ConversationSessionInfo[]>;
323
+ list: (options?: Omit<ConversationSessionListOptions, "environmentId" | "sandboxId" | "subjectId">) => Promise<ConversationSessionInfo[]>;
314
324
  create: (options?: CreateSessionOptions) => Promise<EnvironmentSession>;
315
325
  connect: (sessionId: string, options?: {
316
326
  clientId?: string;
@@ -373,7 +383,8 @@ declare class Environment {
373
383
  * or a session.
374
384
  */
375
385
  disconnect(): Promise<void>;
376
- listSessions(status?: "active" | "closed" | "all"): Promise<ConversationSessionInfo[]>;
386
+ listSessions(status?: ConversationSessionListOptions["status"]): Promise<ConversationSessionInfo[]>;
387
+ listSessions(options?: Omit<ConversationSessionListOptions, "environmentId" | "sandboxId" | "subjectId">): Promise<ConversationSessionInfo[]>;
377
388
  getUserEnvironmentState(options?: UserEnvironmentStateOptions): Promise<UserEnvironmentState>;
378
389
  markUserEnvironmentSessionsRead(options: MarkUserEnvironmentReadOptions): Promise<UserEnvironmentState["readAtBySessionId"]>;
379
390
  createSession(options?: CreateSessionOptions): Promise<EnvironmentSession>;
@@ -750,6 +761,7 @@ declare class EnvironmentSession extends Session {
750
761
  updateInputs: (artifactId: string, patch: {
751
762
  inputValues?: Record<string, unknown>;
752
763
  relationships?: Record<string, string | string[] | null>;
764
+ expectedUpdatedAt?: number;
753
765
  }) => Promise<SessionArtifactRecord>;
754
766
  validate: (artifactId: string) => Promise<SessionArtifactValidationResult>;
755
767
  execute: (artifactId: string, options: SessionArtifactExecutionOptions) => Promise<SessionArtifactExecutionResult>;
@@ -940,6 +952,23 @@ declare class Granular {
940
952
  * ```
941
953
  */
942
954
  openEnvironment(options: OpenEnvironmentOptions): Promise<Environment>;
955
+ /**
956
+ * Read the active environment selected by Granular for an already-recorded
957
+ * external user. This is intentionally read-only: browser/login code must
958
+ * not create subjects or environments as a side effect.
959
+ */
960
+ getActiveEnvironmentForUser(options: {
961
+ sandboxId: string;
962
+ tag: string;
963
+ userId: string;
964
+ slot?: string;
965
+ }): Promise<Environment | null>;
966
+ /**
967
+ * Register one reviewed, pre-existing environment as the active workspace
968
+ * for an external user. This is for a controlled migration only: it does
969
+ * not create an environment and it does not run an importer.
970
+ */
971
+ adoptEnvironmentForUser(options: AdoptEnvironmentOptions): Promise<Environment>;
943
972
  /**
944
973
  * Deprecated compatibility alias for `openEnvironment()`.
945
974
  *
@@ -959,20 +988,22 @@ declare class Granular {
959
988
  private resolveRequestedTag;
960
989
  private buildManagedEnvironmentName;
961
990
  private isManagedEnvironmentName;
962
- private isPinnedToVersion;
963
- private matchesTagTrackedEnvironment;
964
991
  private sortEnvironmentsByRecency;
965
992
  private resolveOpenEnvironmentData;
966
993
  /**
967
- * List active (open) sessions for an environment each session is one agent conversation thread.
994
+ * List indexed sessions using ownership filters and bounded pagination.
995
+ */
996
+ listSessions(options: ConversationSessionListOptions): Promise<ConversationSessionInfo[]>;
997
+ /**
998
+ * List active (open) sessions for an environment.
968
999
  */
969
- listOpenSessions(filters: {
1000
+ listOpenSessions(filters: Omit<ConversationSessionListOptions, "status"> & {
970
1001
  environmentId: string;
971
1002
  }): Promise<ConversationSessionInfo[]>;
972
1003
  /**
973
1004
  * List closed sessions for an environment (conversations that have disconnected).
974
1005
  */
975
- listClosedSessions(filters: {
1006
+ listClosedSessions(filters: Omit<ConversationSessionListOptions, "status"> & {
976
1007
  environmentId: string;
977
1008
  }): Promise<ConversationSessionInfo[]>;
978
1009
  getUserEnvironmentState(options: UserEnvironmentStateOptions & {
@@ -981,7 +1012,6 @@ declare class Granular {
981
1012
  markUserEnvironmentSessionsRead(options: MarkUserEnvironmentReadOptions & {
982
1013
  environmentId: string;
983
1014
  }): Promise<UserEnvironmentState["readAtBySessionId"]>;
984
- private listSessionsForEnvironment;
985
1015
  private normalizeConversationSession;
986
1016
  private normalizeUserEnvironmentState;
987
1017
  private static coerceIsoDate;
@@ -992,6 +1022,7 @@ declare class Granular {
992
1022
  createSession(options: {
993
1023
  environmentId: string;
994
1024
  clientId?: string;
1025
+ sessionScope?: CreateSessionOptions["sessionScope"];
995
1026
  initialHeap?: CreateSessionOptions["initialHeap"];
996
1027
  }): Promise<EnvironmentSession>;
997
1028
  /**
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-DaYFTHG8.mjs';
2
- import { E as EndpointMode, T as ToolWithHandler, a as EffectHandlerContext, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, S as SessionHeapEntry, b as SessionHeapList, c as SessionHeapSnapshot, P as Prompt, d as SessionTranscriptEntry } from './spend-RpJikX9w.mjs';
3
- export { cB as APIError, A as AccessTokenProvider, b5 as ArtifactApprovalDecisionInput, b6 as ArtifactApprovalDecisionResult, b3 as ArtifactApprovalTask, b4 as ArtifactApprovalTaskListOptions, b2 as ArtifactApprovalTaskStatus, a7 as Assignment, a8 as AssignmentListResponse, ai as Build, ak as BuildListResponse, a9 as BuildPolicy, ah as BuildStatus, C as ConditionIR, J as ConnectOptions, aN as ConversationActionSuggestion, aP as ConversationAppendResult, aO as ConversationMessageInput, aM as ConversationMessageShowRefs, L as ConversationSessionInfo, ad as CreateEnvironmentData, a5 as CreatePermissionProfileData, a1 as CreateSandboxData, K as CreateSessionOptions, bK as DefineRelationshipOptions, cC as DeleteResponse, D as DomainState, aB as EffectHandler, ay as EffectInfo, as as EffectInvocationMetadata, ar as EffectInvocationMode, at as EffectSchema, aw as EffectVersionSelector, au as EffectWithHandler, aA as EffectsChangedEvent, ac as EnvironmentData, aJ as EnvironmentFeedbackRecord, c6 as EnvironmentImporter, c5 as EnvironmentImporterImportOptions, ae as EnvironmentListResponse, c0 as EnvironmentRecordImportSummary, c3 as EnvironmentSetupLifecycleStatus, c4 as EnvironmentSetupSummary, c1 as EnvironmentSetupTriggerReason, bQ as EnvironmentStateMachineProxy, bO as EnvironmentStateObservationInput, bR as EnvironmentStateProxy, bN as EnvironmentStateTarget, bP as EnvironmentStateUpdateInput, z as GranularAuth, y as GranularOptions, _ as GranularQuotaPolicy, $ as GranularQuotaProgress, G as GranularSpendContext, cA as GraphQLResult, aC as InstanceEffectHandler, I as InstanceToolHandler, aL as Job, aH as JobFeedbackInput, aG as JobFeedbackMetadata, aI as JobFeedbackRecord, aE as JobFeedbackSentiment, aF as JobFeedbackToolCall, aD as JobStatus, aK as JobSubmitResult, af as Manifest, cp as ManifestApprovalRequiredSpec, cz as ManifestContent, cq as ManifestCreatesSpec, cn as ManifestDryRunSpec, ct as ManifestEffectDeclaration, cs as ManifestEffectSchema, c9 as ManifestEnumRuleSpec, cv as ManifestEventStreamDef, cu as ManifestEventTypeDef, ca as ManifestFilterBySpec, cx as ManifestImport, ag as ManifestListResponse, cw as ManifestOperation, cm as ManifestPostConditionSpec, c7 as ManifestPropertySpec, cr as ManifestRelationshipDef, co as ManifestReverseSpec, cl as ManifestStateMachineSpec, cc as ManifestStateMachineStateSpec, ck as ManifestStateMachineTransitionSpec, ce as ManifestStateTransitionActionSpec, cf as ManifestStateTransitionAssigneeSpec, cj as ManifestStateTransitionExpectedOutcomeSpec, cd as ManifestStateTransitionInputBinding, ci as ManifestStateTransitionPermissionSpec, cg as ManifestStateTransitionRelatedStateRequirementSpec, ch as ManifestStateTransitionRequirementsSpec, c8 as ManifestValidationOperator, cb as ManifestValidationRuleSpec, cy as ManifestVolume, be as ManualActionListOptions, bc as ManualActionOccurrence, bd as ManualActionRecordResult, ba as ManualActionRelatedRecord, b8 as ManualActionSource, b7 as ManualActionStatus, bf as ManualActionSuggestion, bg as ManualActionSuggestionOptions, b9 as ManualActionTarget, by as MarkUserEnvironmentReadOptions, x as MatchedPolicy, bI as ModelRef, N as NormalizedOpenAIUsage, i as OPENAI_MODEL_PRICING_USD_PER_MILLION, O as OpenAIModelPricing, h as OpenAITokenSpend, l as OpenAIUsageSpendEvent, H as OpenEnvironmentOptions, a4 as PermissionProfile, a6 as PermissionProfileListResponse, a3 as PermissionRules, u as PolicyOperator, v as PolicyOrigin, s as PolicyPredicateSource, w as PolicyRuleIR, q as PolicySource, av as PublishEffectsResult, f as PublishToolsResult, Z as QuotaLineItemFilter, W as QuotaPeriod, V as QuotaScopeType, X as QuotaStatus, bC as RPCRequest, bF as RPCRequestFromServer, bD as RPCResponse, b$ as RecordImport, b_ as RecordImportItem, bY as RecordImportItemStatus, bW as RecordImportOptions, bZ as RecordImportStats, bX as RecordImportStatus, bV as RecordImportWriteMode, bb as RecordManualActionInput, bo as RecordMentionInput, bL as RecordObjectOptions, bS as RecordObjectResult, bM as RecordObjectStateValue, bT as RecordObjectsChunkInfo, bU as RecordObjectsOptions, m as RecordOpenAIUsageSpendOptions, o as RecordOpenAIUsageSpendResult, bn as RecordSearchOptions, bm as RecordSearchResult, B as RecordUserOptions, bJ as RelationshipInfo, aq as ResolvedEffectApprovalRequired, ao as ResolvedEffectDryRun, an as ResolvedEffectPostCondition, ap as ResolvedEffectReverse, c2 as RunEnvironmentImporterOptions, a0 as Sandbox, a2 as SandboxListResponse, am as SemanticVersionDiff, al as SemanticVersionDiffEntry, b1 as SessionArtifactApprovalOptions, b0 as SessionArtifactExecutionOptions, a$ as SessionArtifactExecutionResult, aX as SessionArtifactKind, aZ as SessionArtifactListOptions, aY as SessionArtifactRecord, aW as SessionArtifactStatus, a_ as SessionArtifactValidationResult, bq as SessionCollectionListOptions, bs as SessionCollectionListResult, aQ as SessionConversationMessage, bp as SessionDocumentResult, aT as SessionFileKind, aV as SessionFileRecord, aS as SessionFileSource, aU as SessionFileStatus, bh as SessionFileUploadOptions, bj as SessionHeapFieldType, bk as SessionHeapFieldValue, bl as SessionHeapVariable, br as SessionJobListOptions, bi as SessionJobRecord, aR as SessionTimelineEvent, Q as SpendLineItemType, Y as SpendSummary, cD as StreamEvent, cF as StreamStats, cE as StreamSubscription, F as Subject, bE as SyncMessage, g as ToolHandler, ax as ToolInfo, bG as ToolInvokeParams, bH as ToolResultParams, e as ToolSchema, az as ToolsChangedEvent, U as User, bu as UserEnvironmentMessagePreview, bt as UserEnvironmentPrompt, bv as UserEnvironmentSessionState, bw as UserEnvironmentState, bx as UserEnvironmentStateOptions, aj as Version, ab as VersionTag, aa as VersionTracking, bB as WSClientOptions, bz as WSDisconnectInfo, bA as WSReconnectErrorInfo, p as buildOpenAISpendEventId, k as calculateOpenAITokenSpend, j as getOpenAIModelPricing, n as normalizeOpenAIUsage, r as recordOpenAIUsageSpend, t as toGranularHttpBase } from './spend-RpJikX9w.mjs';
1
+ export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-B2OyGOHE.mjs';
2
+ import { E as EndpointMode, T as ToolWithHandler, a as EffectHandlerContext, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, S as SessionHeapEntry, b as SessionHeapList, c as SessionHeapSnapshot, P as Prompt, d as SessionTranscriptEntry } from './spend-DpRRCrAr.mjs';
3
+ export { cN as APIError, A as AccessTokenProvider, J as AdoptEnvironmentOptions, bg as ArtifactApprovalDecisionInput, bh as ArtifactApprovalDecisionResult, be as ArtifactApprovalTask, bf as ArtifactApprovalTaskListOptions, bd as ArtifactApprovalTaskStatus, aa as Assignment, ab as AssignmentListResponse, al as Build, an as BuildListResponse, ac as BuildPolicy, ak as BuildStatus, C as ConditionIR, K as ConnectOptions, aV as ConversationActionSuggestion, aZ as ConversationAppendResult, aW as ConversationMessageAction, aY as ConversationMessageInput, aX as ConversationMessagePart, aP as ConversationMessageShowRefs, Q as ConversationSessionInfo, W as ConversationSessionListOptions, V as ConversationSessionListStatus, aQ as ConversationTableCell, aR as ConversationTableColumn, aU as ConversationTableProjection, aT as ConversationTableRow, aS as ConversationTableRowReference, ag as CreateEnvironmentData, a8 as CreatePermissionProfileData, a4 as CreateSandboxData, L as CreateSessionOptions, bV as DefineRelationshipOptions, cO as DeleteResponse, D as DomainState, aE as EffectHandler, aB as EffectInfo, av as EffectInvocationMetadata, au as EffectInvocationMode, aw as EffectSchema, az as EffectVersionSelector, ax as EffectWithHandler, aD as EffectsChangedEvent, af as EnvironmentData, aM as EnvironmentFeedbackRecord, ci as EnvironmentImporter, ch as EnvironmentImporterImportOptions, ah as EnvironmentListResponse, cb as EnvironmentRecordImportSummary, cg as EnvironmentSetupImporterClaim, ce as EnvironmentSetupLifecycleStatus, cf as EnvironmentSetupSummary, cc as EnvironmentSetupTriggerReason, b$ as EnvironmentStateMachineProxy, bZ as EnvironmentStateObservationInput, c0 as EnvironmentStateProxy, bY as EnvironmentStateTarget, b_ as EnvironmentStateUpdateInput, z as GranularAuth, y as GranularOptions, a1 as GranularQuotaPolicy, a2 as GranularQuotaProgress, G as GranularSpendContext, cM as GraphQLResult, aF as InstanceEffectHandler, I as InstanceToolHandler, aO as Job, aK as JobFeedbackInput, aJ as JobFeedbackMetadata, aL as JobFeedbackRecord, aH as JobFeedbackSentiment, aI as JobFeedbackToolCall, aG as JobStatus, aN as JobSubmitResult, ai as Manifest, cB as ManifestApprovalRequiredSpec, cL as ManifestContent, cC as ManifestCreatesSpec, cz as ManifestDryRunSpec, cF as ManifestEffectDeclaration, cE as ManifestEffectSchema, cl as ManifestEnumRuleSpec, cH as ManifestEventStreamDef, cG as ManifestEventTypeDef, cm as ManifestFilterBySpec, cJ as ManifestImport, aj as ManifestListResponse, cI as ManifestOperation, cy as ManifestPostConditionSpec, cj as ManifestPropertySpec, cD as ManifestRelationshipDef, cA as ManifestReverseSpec, cx as ManifestStateMachineSpec, co as ManifestStateMachineStateSpec, cw as ManifestStateMachineTransitionSpec, cq as ManifestStateTransitionActionSpec, cr as ManifestStateTransitionAssigneeSpec, cv as ManifestStateTransitionExpectedOutcomeSpec, cp as ManifestStateTransitionInputBinding, cu as ManifestStateTransitionPermissionSpec, cs as ManifestStateTransitionRelatedStateRequirementSpec, ct as ManifestStateTransitionRequirementsSpec, ck as ManifestValidationOperator, cn as ManifestValidationRuleSpec, cK as ManifestVolume, bp as ManualActionListOptions, bn as ManualActionOccurrence, bo as ManualActionRecordResult, bl as ManualActionRelatedRecord, bj as ManualActionSource, bi as ManualActionStatus, bq as ManualActionSuggestion, br as ManualActionSuggestionOptions, bk as ManualActionTarget, bJ as MarkUserEnvironmentReadOptions, x as MatchedPolicy, bT as ModelRef, N as NormalizedOpenAIUsage, i as OPENAI_MODEL_PRICING_USD_PER_MILLION, O as OpenAIModelPricing, h as OpenAITokenSpend, l as OpenAIUsageSpendEvent, H as OpenEnvironmentOptions, a7 as PermissionProfile, a9 as PermissionProfileListResponse, a6 as PermissionRules, u as PolicyOperator, v as PolicyOrigin, s as PolicyPredicateSource, w as PolicyRuleIR, q as PolicySource, ay as PublishEffectsResult, f as PublishToolsResult, a0 as QuotaLineItemFilter, Z as QuotaPeriod, Y as QuotaScopeType, _ as QuotaStatus, bN as RPCRequest, bQ as RPCRequestFromServer, bO as RPCResponse, ca as RecordImport, c9 as RecordImportItem, c7 as RecordImportItemStatus, c5 as RecordImportOptions, c8 as RecordImportStats, c6 as RecordImportStatus, c4 as RecordImportWriteMode, bm as RecordManualActionInput, bz as RecordMentionInput, bW as RecordObjectOptions, c1 as RecordObjectResult, bX as RecordObjectStateValue, c2 as RecordObjectsChunkInfo, c3 as RecordObjectsOptions, m as RecordOpenAIUsageSpendOptions, o as RecordOpenAIUsageSpendResult, by as RecordSearchOptions, bx as RecordSearchResult, B as RecordUserOptions, bU as RelationshipInfo, at as ResolvedEffectApprovalRequired, ar as ResolvedEffectDryRun, aq as ResolvedEffectPostCondition, as as ResolvedEffectReverse, cd as RunEnvironmentImporterOptions, a3 as Sandbox, a5 as SandboxListResponse, ap as SemanticVersionDiff, ao as SemanticVersionDiffEntry, bc as SessionArtifactApprovalOptions, b6 as SessionArtifactAutonomyPolicy, bb as SessionArtifactExecutionOptions, ba as SessionArtifactExecutionResult, b5 as SessionArtifactKind, b8 as SessionArtifactListOptions, b7 as SessionArtifactRecord, b4 as SessionArtifactStatus, b9 as SessionArtifactValidationResult, bB as SessionCollectionListOptions, bD as SessionCollectionListResult, a_ as SessionConversationMessage, bA as SessionDocumentResult, b1 as SessionFileKind, b3 as SessionFileRecord, b0 as SessionFileSource, b2 as SessionFileStatus, bs as SessionFileUploadOptions, bu as SessionHeapFieldType, bv as SessionHeapFieldValue, bw as SessionHeapVariable, bC as SessionJobListOptions, bt as SessionJobRecord, a$ as SessionTimelineEvent, X as SpendLineItemType, $ as SpendSummary, cP as StreamEvent, cR as StreamStats, cQ as StreamSubscription, F as Subject, bP as SyncMessage, g as ToolHandler, aA as ToolInfo, bR as ToolInvokeParams, bS as ToolResultParams, e as ToolSchema, aC as ToolsChangedEvent, U as User, bF as UserEnvironmentMessagePreview, bE as UserEnvironmentPrompt, bG as UserEnvironmentSessionState, bH as UserEnvironmentState, bI as UserEnvironmentStateOptions, am as Version, ae as VersionTag, ad as VersionTracking, bM as WSClientOptions, bK as WSDisconnectInfo, bL as WSReconnectErrorInfo, p as buildOpenAISpendEventId, k as calculateOpenAITokenSpend, j as getOpenAIModelPricing, n as normalizeOpenAIUsage, r as recordOpenAIUsageSpend, t as toGranularHttpBase } from './spend-DpRRCrAr.mjs';
4
4
  export { BuildGranularAgentSystemPromptInput, GeneratedJobCodeIssue, GranularAgentExecutionCheckpoint, GranularAgentHeapSummaryOptions, GranularAgentManualActionMemorySuggestion, GranularAgentPromptCapabilities, GranularAgentReferentFocus, GranularAgentSessionContext, GranularAgentToolInfo, GranularAgentWorkflowFocus, GranularReasoningTraceChunkResult, GranularReasoningTraceOptions, HarnessContinuationDecision, HarnessControllerBudgets, HarnessProjectionOptions, HarnessPromptLike, HarnessRenderedContinuation, HarnessRenderedPrompt, HarnessTemplate, HarnessTemplateManifest, HarnessTemplateSelectionOptions, HarnessTemplateStatus, HarnessVerifierSnapshot, HarnessVerifierSnapshotInput, ReviewGeneratedJobCodeOptions, buildContinuationInstruction, buildContinuationInstructionFromTemplate, buildGranularAgentCheckpointBlock, buildGranularAgentDomainBlock, buildGranularAgentFileBlock, buildGranularAgentHeapBlock, buildGranularAgentLoopBlock, buildGranularAgentManualActionBlock, buildGranularAgentManualActionMemorySummary, buildGranularAgentReferentBlock, buildGranularAgentRuntimeImportsBlock, buildGranularAgentSessionBlock, buildGranularAgentSystemPrompt, buildGranularAgentSystemPromptFromTemplate, buildGranularAgentToolBlock, buildGranularAgentWorkflowBlock, consumeGranularReasoningOnlyChunk, consumeGranularReasoningTraceChunk, createHarnessVerifierSnapshot, evaluateContinuation, getCurrentClosureId, getDefaultHarnessTemplateId, getExclusivePromptTarget, hasOpenPrompt, hashHarnessTemplateValue, listHarnessTemplates, projectConversationReferentFocus, projectConversationReferentSummary, projectHeapSummary, projectLoopSummary, projectSessionFileSummary, projectWorkflowFocus, projectWorkflowSummary, renderContinuationInstructionFromTemplate, renderGranularAgentSystemPromptFromTemplate, resolveHarnessTemplate, reviewGeneratedJobCode, stripGranularReasoningTrace, validateHarnessTemplateManifest } from './agent-harness.mjs';
5
5
  import '@automerge/automerge';
6
6
  import '@automerge/automerge/slim';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-BbI7ThzU.js';
2
- import { E as EndpointMode, T as ToolWithHandler, a as EffectHandlerContext, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, S as SessionHeapEntry, b as SessionHeapList, c as SessionHeapSnapshot, P as Prompt, d as SessionTranscriptEntry } from './spend-RpJikX9w.js';
3
- export { cB as APIError, A as AccessTokenProvider, b5 as ArtifactApprovalDecisionInput, b6 as ArtifactApprovalDecisionResult, b3 as ArtifactApprovalTask, b4 as ArtifactApprovalTaskListOptions, b2 as ArtifactApprovalTaskStatus, a7 as Assignment, a8 as AssignmentListResponse, ai as Build, ak as BuildListResponse, a9 as BuildPolicy, ah as BuildStatus, C as ConditionIR, J as ConnectOptions, aN as ConversationActionSuggestion, aP as ConversationAppendResult, aO as ConversationMessageInput, aM as ConversationMessageShowRefs, L as ConversationSessionInfo, ad as CreateEnvironmentData, a5 as CreatePermissionProfileData, a1 as CreateSandboxData, K as CreateSessionOptions, bK as DefineRelationshipOptions, cC as DeleteResponse, D as DomainState, aB as EffectHandler, ay as EffectInfo, as as EffectInvocationMetadata, ar as EffectInvocationMode, at as EffectSchema, aw as EffectVersionSelector, au as EffectWithHandler, aA as EffectsChangedEvent, ac as EnvironmentData, aJ as EnvironmentFeedbackRecord, c6 as EnvironmentImporter, c5 as EnvironmentImporterImportOptions, ae as EnvironmentListResponse, c0 as EnvironmentRecordImportSummary, c3 as EnvironmentSetupLifecycleStatus, c4 as EnvironmentSetupSummary, c1 as EnvironmentSetupTriggerReason, bQ as EnvironmentStateMachineProxy, bO as EnvironmentStateObservationInput, bR as EnvironmentStateProxy, bN as EnvironmentStateTarget, bP as EnvironmentStateUpdateInput, z as GranularAuth, y as GranularOptions, _ as GranularQuotaPolicy, $ as GranularQuotaProgress, G as GranularSpendContext, cA as GraphQLResult, aC as InstanceEffectHandler, I as InstanceToolHandler, aL as Job, aH as JobFeedbackInput, aG as JobFeedbackMetadata, aI as JobFeedbackRecord, aE as JobFeedbackSentiment, aF as JobFeedbackToolCall, aD as JobStatus, aK as JobSubmitResult, af as Manifest, cp as ManifestApprovalRequiredSpec, cz as ManifestContent, cq as ManifestCreatesSpec, cn as ManifestDryRunSpec, ct as ManifestEffectDeclaration, cs as ManifestEffectSchema, c9 as ManifestEnumRuleSpec, cv as ManifestEventStreamDef, cu as ManifestEventTypeDef, ca as ManifestFilterBySpec, cx as ManifestImport, ag as ManifestListResponse, cw as ManifestOperation, cm as ManifestPostConditionSpec, c7 as ManifestPropertySpec, cr as ManifestRelationshipDef, co as ManifestReverseSpec, cl as ManifestStateMachineSpec, cc as ManifestStateMachineStateSpec, ck as ManifestStateMachineTransitionSpec, ce as ManifestStateTransitionActionSpec, cf as ManifestStateTransitionAssigneeSpec, cj as ManifestStateTransitionExpectedOutcomeSpec, cd as ManifestStateTransitionInputBinding, ci as ManifestStateTransitionPermissionSpec, cg as ManifestStateTransitionRelatedStateRequirementSpec, ch as ManifestStateTransitionRequirementsSpec, c8 as ManifestValidationOperator, cb as ManifestValidationRuleSpec, cy as ManifestVolume, be as ManualActionListOptions, bc as ManualActionOccurrence, bd as ManualActionRecordResult, ba as ManualActionRelatedRecord, b8 as ManualActionSource, b7 as ManualActionStatus, bf as ManualActionSuggestion, bg as ManualActionSuggestionOptions, b9 as ManualActionTarget, by as MarkUserEnvironmentReadOptions, x as MatchedPolicy, bI as ModelRef, N as NormalizedOpenAIUsage, i as OPENAI_MODEL_PRICING_USD_PER_MILLION, O as OpenAIModelPricing, h as OpenAITokenSpend, l as OpenAIUsageSpendEvent, H as OpenEnvironmentOptions, a4 as PermissionProfile, a6 as PermissionProfileListResponse, a3 as PermissionRules, u as PolicyOperator, v as PolicyOrigin, s as PolicyPredicateSource, w as PolicyRuleIR, q as PolicySource, av as PublishEffectsResult, f as PublishToolsResult, Z as QuotaLineItemFilter, W as QuotaPeriod, V as QuotaScopeType, X as QuotaStatus, bC as RPCRequest, bF as RPCRequestFromServer, bD as RPCResponse, b$ as RecordImport, b_ as RecordImportItem, bY as RecordImportItemStatus, bW as RecordImportOptions, bZ as RecordImportStats, bX as RecordImportStatus, bV as RecordImportWriteMode, bb as RecordManualActionInput, bo as RecordMentionInput, bL as RecordObjectOptions, bS as RecordObjectResult, bM as RecordObjectStateValue, bT as RecordObjectsChunkInfo, bU as RecordObjectsOptions, m as RecordOpenAIUsageSpendOptions, o as RecordOpenAIUsageSpendResult, bn as RecordSearchOptions, bm as RecordSearchResult, B as RecordUserOptions, bJ as RelationshipInfo, aq as ResolvedEffectApprovalRequired, ao as ResolvedEffectDryRun, an as ResolvedEffectPostCondition, ap as ResolvedEffectReverse, c2 as RunEnvironmentImporterOptions, a0 as Sandbox, a2 as SandboxListResponse, am as SemanticVersionDiff, al as SemanticVersionDiffEntry, b1 as SessionArtifactApprovalOptions, b0 as SessionArtifactExecutionOptions, a$ as SessionArtifactExecutionResult, aX as SessionArtifactKind, aZ as SessionArtifactListOptions, aY as SessionArtifactRecord, aW as SessionArtifactStatus, a_ as SessionArtifactValidationResult, bq as SessionCollectionListOptions, bs as SessionCollectionListResult, aQ as SessionConversationMessage, bp as SessionDocumentResult, aT as SessionFileKind, aV as SessionFileRecord, aS as SessionFileSource, aU as SessionFileStatus, bh as SessionFileUploadOptions, bj as SessionHeapFieldType, bk as SessionHeapFieldValue, bl as SessionHeapVariable, br as SessionJobListOptions, bi as SessionJobRecord, aR as SessionTimelineEvent, Q as SpendLineItemType, Y as SpendSummary, cD as StreamEvent, cF as StreamStats, cE as StreamSubscription, F as Subject, bE as SyncMessage, g as ToolHandler, ax as ToolInfo, bG as ToolInvokeParams, bH as ToolResultParams, e as ToolSchema, az as ToolsChangedEvent, U as User, bu as UserEnvironmentMessagePreview, bt as UserEnvironmentPrompt, bv as UserEnvironmentSessionState, bw as UserEnvironmentState, bx as UserEnvironmentStateOptions, aj as Version, ab as VersionTag, aa as VersionTracking, bB as WSClientOptions, bz as WSDisconnectInfo, bA as WSReconnectErrorInfo, p as buildOpenAISpendEventId, k as calculateOpenAITokenSpend, j as getOpenAIModelPricing, n as normalizeOpenAIUsage, r as recordOpenAIUsageSpend, t as toGranularHttpBase } from './spend-RpJikX9w.js';
1
+ export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-BMfjRJTs.js';
2
+ import { E as EndpointMode, T as ToolWithHandler, a as EffectHandlerContext, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, S as SessionHeapEntry, b as SessionHeapList, c as SessionHeapSnapshot, P as Prompt, d as SessionTranscriptEntry } from './spend-DpRRCrAr.js';
3
+ export { cN as APIError, A as AccessTokenProvider, J as AdoptEnvironmentOptions, bg as ArtifactApprovalDecisionInput, bh as ArtifactApprovalDecisionResult, be as ArtifactApprovalTask, bf as ArtifactApprovalTaskListOptions, bd as ArtifactApprovalTaskStatus, aa as Assignment, ab as AssignmentListResponse, al as Build, an as BuildListResponse, ac as BuildPolicy, ak as BuildStatus, C as ConditionIR, K as ConnectOptions, aV as ConversationActionSuggestion, aZ as ConversationAppendResult, aW as ConversationMessageAction, aY as ConversationMessageInput, aX as ConversationMessagePart, aP as ConversationMessageShowRefs, Q as ConversationSessionInfo, W as ConversationSessionListOptions, V as ConversationSessionListStatus, aQ as ConversationTableCell, aR as ConversationTableColumn, aU as ConversationTableProjection, aT as ConversationTableRow, aS as ConversationTableRowReference, ag as CreateEnvironmentData, a8 as CreatePermissionProfileData, a4 as CreateSandboxData, L as CreateSessionOptions, bV as DefineRelationshipOptions, cO as DeleteResponse, D as DomainState, aE as EffectHandler, aB as EffectInfo, av as EffectInvocationMetadata, au as EffectInvocationMode, aw as EffectSchema, az as EffectVersionSelector, ax as EffectWithHandler, aD as EffectsChangedEvent, af as EnvironmentData, aM as EnvironmentFeedbackRecord, ci as EnvironmentImporter, ch as EnvironmentImporterImportOptions, ah as EnvironmentListResponse, cb as EnvironmentRecordImportSummary, cg as EnvironmentSetupImporterClaim, ce as EnvironmentSetupLifecycleStatus, cf as EnvironmentSetupSummary, cc as EnvironmentSetupTriggerReason, b$ as EnvironmentStateMachineProxy, bZ as EnvironmentStateObservationInput, c0 as EnvironmentStateProxy, bY as EnvironmentStateTarget, b_ as EnvironmentStateUpdateInput, z as GranularAuth, y as GranularOptions, a1 as GranularQuotaPolicy, a2 as GranularQuotaProgress, G as GranularSpendContext, cM as GraphQLResult, aF as InstanceEffectHandler, I as InstanceToolHandler, aO as Job, aK as JobFeedbackInput, aJ as JobFeedbackMetadata, aL as JobFeedbackRecord, aH as JobFeedbackSentiment, aI as JobFeedbackToolCall, aG as JobStatus, aN as JobSubmitResult, ai as Manifest, cB as ManifestApprovalRequiredSpec, cL as ManifestContent, cC as ManifestCreatesSpec, cz as ManifestDryRunSpec, cF as ManifestEffectDeclaration, cE as ManifestEffectSchema, cl as ManifestEnumRuleSpec, cH as ManifestEventStreamDef, cG as ManifestEventTypeDef, cm as ManifestFilterBySpec, cJ as ManifestImport, aj as ManifestListResponse, cI as ManifestOperation, cy as ManifestPostConditionSpec, cj as ManifestPropertySpec, cD as ManifestRelationshipDef, cA as ManifestReverseSpec, cx as ManifestStateMachineSpec, co as ManifestStateMachineStateSpec, cw as ManifestStateMachineTransitionSpec, cq as ManifestStateTransitionActionSpec, cr as ManifestStateTransitionAssigneeSpec, cv as ManifestStateTransitionExpectedOutcomeSpec, cp as ManifestStateTransitionInputBinding, cu as ManifestStateTransitionPermissionSpec, cs as ManifestStateTransitionRelatedStateRequirementSpec, ct as ManifestStateTransitionRequirementsSpec, ck as ManifestValidationOperator, cn as ManifestValidationRuleSpec, cK as ManifestVolume, bp as ManualActionListOptions, bn as ManualActionOccurrence, bo as ManualActionRecordResult, bl as ManualActionRelatedRecord, bj as ManualActionSource, bi as ManualActionStatus, bq as ManualActionSuggestion, br as ManualActionSuggestionOptions, bk as ManualActionTarget, bJ as MarkUserEnvironmentReadOptions, x as MatchedPolicy, bT as ModelRef, N as NormalizedOpenAIUsage, i as OPENAI_MODEL_PRICING_USD_PER_MILLION, O as OpenAIModelPricing, h as OpenAITokenSpend, l as OpenAIUsageSpendEvent, H as OpenEnvironmentOptions, a7 as PermissionProfile, a9 as PermissionProfileListResponse, a6 as PermissionRules, u as PolicyOperator, v as PolicyOrigin, s as PolicyPredicateSource, w as PolicyRuleIR, q as PolicySource, ay as PublishEffectsResult, f as PublishToolsResult, a0 as QuotaLineItemFilter, Z as QuotaPeriod, Y as QuotaScopeType, _ as QuotaStatus, bN as RPCRequest, bQ as RPCRequestFromServer, bO as RPCResponse, ca as RecordImport, c9 as RecordImportItem, c7 as RecordImportItemStatus, c5 as RecordImportOptions, c8 as RecordImportStats, c6 as RecordImportStatus, c4 as RecordImportWriteMode, bm as RecordManualActionInput, bz as RecordMentionInput, bW as RecordObjectOptions, c1 as RecordObjectResult, bX as RecordObjectStateValue, c2 as RecordObjectsChunkInfo, c3 as RecordObjectsOptions, m as RecordOpenAIUsageSpendOptions, o as RecordOpenAIUsageSpendResult, by as RecordSearchOptions, bx as RecordSearchResult, B as RecordUserOptions, bU as RelationshipInfo, at as ResolvedEffectApprovalRequired, ar as ResolvedEffectDryRun, aq as ResolvedEffectPostCondition, as as ResolvedEffectReverse, cd as RunEnvironmentImporterOptions, a3 as Sandbox, a5 as SandboxListResponse, ap as SemanticVersionDiff, ao as SemanticVersionDiffEntry, bc as SessionArtifactApprovalOptions, b6 as SessionArtifactAutonomyPolicy, bb as SessionArtifactExecutionOptions, ba as SessionArtifactExecutionResult, b5 as SessionArtifactKind, b8 as SessionArtifactListOptions, b7 as SessionArtifactRecord, b4 as SessionArtifactStatus, b9 as SessionArtifactValidationResult, bB as SessionCollectionListOptions, bD as SessionCollectionListResult, a_ as SessionConversationMessage, bA as SessionDocumentResult, b1 as SessionFileKind, b3 as SessionFileRecord, b0 as SessionFileSource, b2 as SessionFileStatus, bs as SessionFileUploadOptions, bu as SessionHeapFieldType, bv as SessionHeapFieldValue, bw as SessionHeapVariable, bC as SessionJobListOptions, bt as SessionJobRecord, a$ as SessionTimelineEvent, X as SpendLineItemType, $ as SpendSummary, cP as StreamEvent, cR as StreamStats, cQ as StreamSubscription, F as Subject, bP as SyncMessage, g as ToolHandler, aA as ToolInfo, bR as ToolInvokeParams, bS as ToolResultParams, e as ToolSchema, aC as ToolsChangedEvent, U as User, bF as UserEnvironmentMessagePreview, bE as UserEnvironmentPrompt, bG as UserEnvironmentSessionState, bH as UserEnvironmentState, bI as UserEnvironmentStateOptions, am as Version, ae as VersionTag, ad as VersionTracking, bM as WSClientOptions, bK as WSDisconnectInfo, bL as WSReconnectErrorInfo, p as buildOpenAISpendEventId, k as calculateOpenAITokenSpend, j as getOpenAIModelPricing, n as normalizeOpenAIUsage, r as recordOpenAIUsageSpend, t as toGranularHttpBase } from './spend-DpRRCrAr.js';
4
4
  export { BuildGranularAgentSystemPromptInput, GeneratedJobCodeIssue, GranularAgentExecutionCheckpoint, GranularAgentHeapSummaryOptions, GranularAgentManualActionMemorySuggestion, GranularAgentPromptCapabilities, GranularAgentReferentFocus, GranularAgentSessionContext, GranularAgentToolInfo, GranularAgentWorkflowFocus, GranularReasoningTraceChunkResult, GranularReasoningTraceOptions, HarnessContinuationDecision, HarnessControllerBudgets, HarnessProjectionOptions, HarnessPromptLike, HarnessRenderedContinuation, HarnessRenderedPrompt, HarnessTemplate, HarnessTemplateManifest, HarnessTemplateSelectionOptions, HarnessTemplateStatus, HarnessVerifierSnapshot, HarnessVerifierSnapshotInput, ReviewGeneratedJobCodeOptions, buildContinuationInstruction, buildContinuationInstructionFromTemplate, buildGranularAgentCheckpointBlock, buildGranularAgentDomainBlock, buildGranularAgentFileBlock, buildGranularAgentHeapBlock, buildGranularAgentLoopBlock, buildGranularAgentManualActionBlock, buildGranularAgentManualActionMemorySummary, buildGranularAgentReferentBlock, buildGranularAgentRuntimeImportsBlock, buildGranularAgentSessionBlock, buildGranularAgentSystemPrompt, buildGranularAgentSystemPromptFromTemplate, buildGranularAgentToolBlock, buildGranularAgentWorkflowBlock, consumeGranularReasoningOnlyChunk, consumeGranularReasoningTraceChunk, createHarnessVerifierSnapshot, evaluateContinuation, getCurrentClosureId, getDefaultHarnessTemplateId, getExclusivePromptTarget, hasOpenPrompt, hashHarnessTemplateValue, listHarnessTemplates, projectConversationReferentFocus, projectConversationReferentSummary, projectHeapSummary, projectLoopSummary, projectSessionFileSummary, projectWorkflowFocus, projectWorkflowSummary, renderContinuationInstructionFromTemplate, renderGranularAgentSystemPromptFromTemplate, resolveHarnessTemplate, reviewGeneratedJobCode, stripGranularReasoningTrace, validateHarnessTemplateManifest } from './agent-harness.js';
5
5
  import '@automerge/automerge';
6
6
  import '@automerge/automerge/slim';