@granular-software/sdk 0.4.73 → 0.4.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -25481,13 +25481,15 @@ var Environment = class _Environment {
25481
25481
  _apiEndpoint;
25482
25482
  _tokenProvider;
25483
25483
  _beforeMutationSend;
25484
- constructor(granular, envData, apiKey, apiEndpoint, tokenProvider, beforeMutationSend) {
25484
+ _graphqlIdempotencyKey;
25485
+ constructor(granular, envData, apiKey, apiEndpoint, tokenProvider, beforeMutationSend, graphqlIdempotencyKey) {
25485
25486
  this.granular = granular;
25486
25487
  this.envData = envData;
25487
25488
  this._apiKey = apiKey;
25488
25489
  this._apiEndpoint = apiEndpoint;
25489
25490
  this._tokenProvider = tokenProvider;
25490
25491
  this._beforeMutationSend = beforeMutationSend;
25492
+ this._graphqlIdempotencyKey = graphqlIdempotencyKey;
25491
25493
  }
25492
25494
  /** The environment ID */
25493
25495
  get environmentId() {
@@ -26030,11 +26032,13 @@ var Environment = class _Environment {
26030
26032
  if (this._beforeMutationSend && isGraphQLMutationDocument(query)) {
26031
26033
  this._beforeMutationSend?.();
26032
26034
  }
26035
+ const idempotencyKey = this._graphqlIdempotencyKey?.(query, variables);
26033
26036
  const response = await fetch(this._apiEndpoint, {
26034
26037
  method: "POST",
26035
26038
  headers: {
26036
26039
  "Content-Type": "application/json",
26037
- Authorization: `Bearer ${authToken}`
26040
+ Authorization: `Bearer ${authToken}`,
26041
+ ...idempotencyKey ? { "Idempotency-Key": idempotencyKey } : {}
26038
26042
  },
26039
26043
  body: JSON.stringify({
26040
26044
  environmentId: this.environmentId,
@@ -27608,6 +27612,7 @@ var Granular = class _Granular {
27608
27612
  onUnexpectedClose;
27609
27613
  onReconnectError;
27610
27614
  effectHostUrl;
27615
+ graphqlIdempotencyKey;
27611
27616
  debugHttp = process.env.GRANULAR_DEBUG_HTTP === "1";
27612
27617
  /** Sandbox-level effect registry: sandboxId → (effectKey@selector → ToolWithHandler) */
27613
27618
  sandboxEffects = /* @__PURE__ */ new Map();
@@ -27637,6 +27642,7 @@ var Granular = class _Granular {
27637
27642
  this.onUnexpectedClose = options.onUnexpectedClose;
27638
27643
  this.onReconnectError = options.onReconnectError;
27639
27644
  this.effectHostUrl = options.effectHostUrl;
27645
+ this.graphqlIdempotencyKey = options.graphqlIdempotencyKey;
27640
27646
  this.httpUrl = this.apiUrl.replace(/^wss:\/\//, "https://").replace(/^ws:\/\//, "http://").replace(/\/ws$/, "");
27641
27647
  }
27642
27648
  /**
@@ -28652,7 +28658,9 @@ var Granular = class _Granular {
28652
28658
  envData,
28653
28659
  this.apiKey,
28654
28660
  graphqlEndpoint,
28655
- this.tokenProvider
28661
+ this.tokenProvider,
28662
+ void 0,
28663
+ this.graphqlIdempotencyKey
28656
28664
  );
28657
28665
  }
28658
28666
  async bindWebSocketEnvironmentSession(environment, clientId, session2, transportOptions = {}) {
@@ -1,4 +1,4 @@
1
- import { dv as WSClientOptions, ab as SessionFeedApi, bf as GranularQuotaProgress, T as ToolWithHandler, t as PublishToolsResult, cl as Job, u as ToolHandler, I as InstanceToolHandler, co as UserMessageInput, cp as UserMessageAppendResult, c8 as EffectInfo, n as Prompt, c7 as ToolInfo, ca as EffectsChangedEvent, c9 as ToolsChangedEvent, D as DomainState, ae as FeedListTransport, aX as GranularOptions, e1 as EnvironmentImporter, a_ as RecordUserOptions, aZ as User, b0 as OpenEnvironmentOptions, E as EnvironmentData, aW as AccessTokenProvider, bp as BuildPolicy, d_ as EnvironmentSetupSummary, b6 as ConversationSessionListOptions, b4 as ConversationSessionInfo, b7 as ConversationSessionListResponse, b3 as CreateSessionOptions, h as RecordObjectOptions, dN as RecordObjectResult, dP as RecordObjectsOptions, dW as RecordImport, dS as RecordImportStatus, dV as RecordImportItem, a as EnvironmentRecordImportSummary, cj as EnvironmentFeedbackRecord, m as SessionHeapSnapshot, dh as SessionDocumentResult, cq as AssistantReplyPublicationInput, cr as AssistantReplyPublicationResult, di as SessionCollectionListOptions, dk as SessionCollectionListResult, cu as SessionTimelineEvent, dj as SessionJobListOptions, da as SessionJobRecord, bT as SessionMutationView, cN as SessionArtifactListOptions, r as SessionArtifactRecord, cP as SessionArtifactRelationshipOptionsInput, cR as SessionArtifactRelationshipOptionsResult, cS as SessionArtifactRelationshipCreateInput, cO as SessionArtifactValidationResult, cU as SessionArtifactExecutionOptions, cT as SessionArtifactExecutionResult, cV as SessionArtifactApprovalOptions, d3 as RecordManualActionInput, d5 as ManualActionRecordResult, d6 as ManualActionListOptions, d4 as ManualActionOccurrence, d8 as ManualActionSuggestionOptions, d7 as ManualActionSuggestion, cY as ArtifactApprovalTaskListOptions, cX as ArtifactApprovalTask, cZ as ArtifactApprovalDecisionInput, c_ as ArtifactApprovalDecisionResult, cy as SessionFileRecord, d9 as SessionFileUploadOptions, S as SessionHeapEntry, k as SessionHeapList, dd as SessionHeapVariable, o as SessionTranscriptEntry, ev as GraphQLResult, df as RecordSearchOptions, de as RecordSearchResult, dg as RecordMentionInput, dG as DefineRelationshipOptions, dF as RelationshipInfo, dE as ModelRef, i as ManifestContent, dK as EnvironmentStateUpdateInput, dI as EnvironmentStateTarget, dM as EnvironmentStateProxy, dR as RecordImportOptions, dr as UserEnvironmentStateOptions, dq as UserEnvironmentState, ds as MarkUserEnvironmentReadOptions, d as ProjectionMapper, bM as EffectProjectionResult, bR as ExternalCommitOptions, C as CommitReceipt, bN as TransitionProjectionResult, bS as ObservationReceipt, b1 as AdoptEnvironmentOptions, b2 as ConnectOptions, dY as RunEnvironmentImporterOptions, aJ as OpenAIUsageSpendEvent, aI as GranularSpendContext, aL as RecordOpenAIUsageSpendResult, bi as SandboxListResponse, bg as Sandbox, bh as CreateSandboxData, ex as DeleteResponse, bk as PermissionProfile, bl as CreatePermissionProfileData, bs as CreateEnvironmentData, ey as StreamEvent, ez as StreamSubscription, eA as StreamStats, a$ as Subject, bo as AssignmentListResponse } from './spend-k8V2Y1Tt.js';
1
+ import { dv as WSClientOptions, ab as SessionFeedApi, bf as GranularQuotaProgress, T as ToolWithHandler, t as PublishToolsResult, cl as Job, u as ToolHandler, I as InstanceToolHandler, co as UserMessageInput, cp as UserMessageAppendResult, c8 as EffectInfo, n as Prompt, c7 as ToolInfo, ca as EffectsChangedEvent, c9 as ToolsChangedEvent, D as DomainState, ae as FeedListTransport, aX as GranularOptions, e1 as EnvironmentImporter, a_ as RecordUserOptions, aZ as User, b0 as OpenEnvironmentOptions, E as EnvironmentData, aW as AccessTokenProvider, bp as BuildPolicy, d_ as EnvironmentSetupSummary, b6 as ConversationSessionListOptions, b4 as ConversationSessionInfo, b7 as ConversationSessionListResponse, b3 as CreateSessionOptions, h as RecordObjectOptions, dN as RecordObjectResult, dP as RecordObjectsOptions, dW as RecordImport, dS as RecordImportStatus, dV as RecordImportItem, a as EnvironmentRecordImportSummary, cj as EnvironmentFeedbackRecord, m as SessionHeapSnapshot, dh as SessionDocumentResult, cq as AssistantReplyPublicationInput, cr as AssistantReplyPublicationResult, di as SessionCollectionListOptions, dk as SessionCollectionListResult, cu as SessionTimelineEvent, dj as SessionJobListOptions, da as SessionJobRecord, bT as SessionMutationView, cN as SessionArtifactListOptions, r as SessionArtifactRecord, cP as SessionArtifactRelationshipOptionsInput, cR as SessionArtifactRelationshipOptionsResult, cS as SessionArtifactRelationshipCreateInput, cO as SessionArtifactValidationResult, cU as SessionArtifactExecutionOptions, cT as SessionArtifactExecutionResult, cV as SessionArtifactApprovalOptions, d3 as RecordManualActionInput, d5 as ManualActionRecordResult, d6 as ManualActionListOptions, d4 as ManualActionOccurrence, d8 as ManualActionSuggestionOptions, d7 as ManualActionSuggestion, cY as ArtifactApprovalTaskListOptions, cX as ArtifactApprovalTask, cZ as ArtifactApprovalDecisionInput, c_ as ArtifactApprovalDecisionResult, cy as SessionFileRecord, d9 as SessionFileUploadOptions, S as SessionHeapEntry, k as SessionHeapList, dd as SessionHeapVariable, o as SessionTranscriptEntry, ev as GraphQLResult, df as RecordSearchOptions, de as RecordSearchResult, dg as RecordMentionInput, dG as DefineRelationshipOptions, dF as RelationshipInfo, dE as ModelRef, i as ManifestContent, dK as EnvironmentStateUpdateInput, dI as EnvironmentStateTarget, dM as EnvironmentStateProxy, dR as RecordImportOptions, dr as UserEnvironmentStateOptions, dq as UserEnvironmentState, ds as MarkUserEnvironmentReadOptions, d as ProjectionMapper, bM as EffectProjectionResult, bR as ExternalCommitOptions, C as CommitReceipt, bN as TransitionProjectionResult, bS as ObservationReceipt, b1 as AdoptEnvironmentOptions, b2 as ConnectOptions, dY as RunEnvironmentImporterOptions, aJ as OpenAIUsageSpendEvent, aI as GranularSpendContext, aL as RecordOpenAIUsageSpendResult, bi as SandboxListResponse, bg as Sandbox, bh as CreateSandboxData, ex as DeleteResponse, bk as PermissionProfile, bl as CreatePermissionProfileData, bs as CreateEnvironmentData, ey as StreamEvent, ez as StreamSubscription, eA as StreamStats, a$ as Subject, bo as AssignmentListResponse } from './spend-DBRQOSaj.mjs';
2
2
  import * as Automerge from '@automerge/automerge';
3
3
  import { Doc } from '@automerge/automerge/slim';
4
4
 
@@ -343,7 +343,8 @@ declare class Environment {
343
343
  private _apiEndpoint;
344
344
  private _tokenProvider?;
345
345
  private _beforeMutationSend?;
346
- constructor(granular: Granular, envData: EnvironmentData, apiKey: string, apiEndpoint: string, tokenProvider?: AccessTokenProvider, beforeMutationSend?: () => void);
346
+ private _graphqlIdempotencyKey?;
347
+ constructor(granular: Granular, envData: EnvironmentData, apiKey: string, apiEndpoint: string, tokenProvider?: AccessTokenProvider, beforeMutationSend?: () => void, graphqlIdempotencyKey?: GranularOptions["graphqlIdempotencyKey"]);
347
348
  /** The environment ID */
348
349
  get environmentId(): string;
349
350
  /** The sandbox ID */
@@ -1052,6 +1053,7 @@ declare class Granular {
1052
1053
  private onUnexpectedClose?;
1053
1054
  private onReconnectError?;
1054
1055
  private effectHostUrl?;
1056
+ private graphqlIdempotencyKey?;
1055
1057
  private debugHttp;
1056
1058
  /** Sandbox-level effect registry: sandboxId → (effectKey@selector → ToolWithHandler) */
1057
1059
  private sandboxEffects;
@@ -1,4 +1,4 @@
1
- import { dv as WSClientOptions, ab as SessionFeedApi, bf as GranularQuotaProgress, T as ToolWithHandler, t as PublishToolsResult, cl as Job, u as ToolHandler, I as InstanceToolHandler, co as UserMessageInput, cp as UserMessageAppendResult, c8 as EffectInfo, n as Prompt, c7 as ToolInfo, ca as EffectsChangedEvent, c9 as ToolsChangedEvent, D as DomainState, ae as FeedListTransport, aX as GranularOptions, e1 as EnvironmentImporter, a_ as RecordUserOptions, aZ as User, b0 as OpenEnvironmentOptions, E as EnvironmentData, aW as AccessTokenProvider, bp as BuildPolicy, d_ as EnvironmentSetupSummary, b6 as ConversationSessionListOptions, b4 as ConversationSessionInfo, b7 as ConversationSessionListResponse, b3 as CreateSessionOptions, h as RecordObjectOptions, dN as RecordObjectResult, dP as RecordObjectsOptions, dW as RecordImport, dS as RecordImportStatus, dV as RecordImportItem, a as EnvironmentRecordImportSummary, cj as EnvironmentFeedbackRecord, m as SessionHeapSnapshot, dh as SessionDocumentResult, cq as AssistantReplyPublicationInput, cr as AssistantReplyPublicationResult, di as SessionCollectionListOptions, dk as SessionCollectionListResult, cu as SessionTimelineEvent, dj as SessionJobListOptions, da as SessionJobRecord, bT as SessionMutationView, cN as SessionArtifactListOptions, r as SessionArtifactRecord, cP as SessionArtifactRelationshipOptionsInput, cR as SessionArtifactRelationshipOptionsResult, cS as SessionArtifactRelationshipCreateInput, cO as SessionArtifactValidationResult, cU as SessionArtifactExecutionOptions, cT as SessionArtifactExecutionResult, cV as SessionArtifactApprovalOptions, d3 as RecordManualActionInput, d5 as ManualActionRecordResult, d6 as ManualActionListOptions, d4 as ManualActionOccurrence, d8 as ManualActionSuggestionOptions, d7 as ManualActionSuggestion, cY as ArtifactApprovalTaskListOptions, cX as ArtifactApprovalTask, cZ as ArtifactApprovalDecisionInput, c_ as ArtifactApprovalDecisionResult, cy as SessionFileRecord, d9 as SessionFileUploadOptions, S as SessionHeapEntry, k as SessionHeapList, dd as SessionHeapVariable, o as SessionTranscriptEntry, ev as GraphQLResult, df as RecordSearchOptions, de as RecordSearchResult, dg as RecordMentionInput, dG as DefineRelationshipOptions, dF as RelationshipInfo, dE as ModelRef, i as ManifestContent, dK as EnvironmentStateUpdateInput, dI as EnvironmentStateTarget, dM as EnvironmentStateProxy, dR as RecordImportOptions, dr as UserEnvironmentStateOptions, dq as UserEnvironmentState, ds as MarkUserEnvironmentReadOptions, d as ProjectionMapper, bM as EffectProjectionResult, bR as ExternalCommitOptions, C as CommitReceipt, bN as TransitionProjectionResult, bS as ObservationReceipt, b1 as AdoptEnvironmentOptions, b2 as ConnectOptions, dY as RunEnvironmentImporterOptions, aJ as OpenAIUsageSpendEvent, aI as GranularSpendContext, aL as RecordOpenAIUsageSpendResult, bi as SandboxListResponse, bg as Sandbox, bh as CreateSandboxData, ex as DeleteResponse, bk as PermissionProfile, bl as CreatePermissionProfileData, bs as CreateEnvironmentData, ey as StreamEvent, ez as StreamSubscription, eA as StreamStats, a$ as Subject, bo as AssignmentListResponse } from './spend-k8V2Y1Tt.mjs';
1
+ import { dv as WSClientOptions, ab as SessionFeedApi, bf as GranularQuotaProgress, T as ToolWithHandler, t as PublishToolsResult, cl as Job, u as ToolHandler, I as InstanceToolHandler, co as UserMessageInput, cp as UserMessageAppendResult, c8 as EffectInfo, n as Prompt, c7 as ToolInfo, ca as EffectsChangedEvent, c9 as ToolsChangedEvent, D as DomainState, ae as FeedListTransport, aX as GranularOptions, e1 as EnvironmentImporter, a_ as RecordUserOptions, aZ as User, b0 as OpenEnvironmentOptions, E as EnvironmentData, aW as AccessTokenProvider, bp as BuildPolicy, d_ as EnvironmentSetupSummary, b6 as ConversationSessionListOptions, b4 as ConversationSessionInfo, b7 as ConversationSessionListResponse, b3 as CreateSessionOptions, h as RecordObjectOptions, dN as RecordObjectResult, dP as RecordObjectsOptions, dW as RecordImport, dS as RecordImportStatus, dV as RecordImportItem, a as EnvironmentRecordImportSummary, cj as EnvironmentFeedbackRecord, m as SessionHeapSnapshot, dh as SessionDocumentResult, cq as AssistantReplyPublicationInput, cr as AssistantReplyPublicationResult, di as SessionCollectionListOptions, dk as SessionCollectionListResult, cu as SessionTimelineEvent, dj as SessionJobListOptions, da as SessionJobRecord, bT as SessionMutationView, cN as SessionArtifactListOptions, r as SessionArtifactRecord, cP as SessionArtifactRelationshipOptionsInput, cR as SessionArtifactRelationshipOptionsResult, cS as SessionArtifactRelationshipCreateInput, cO as SessionArtifactValidationResult, cU as SessionArtifactExecutionOptions, cT as SessionArtifactExecutionResult, cV as SessionArtifactApprovalOptions, d3 as RecordManualActionInput, d5 as ManualActionRecordResult, d6 as ManualActionListOptions, d4 as ManualActionOccurrence, d8 as ManualActionSuggestionOptions, d7 as ManualActionSuggestion, cY as ArtifactApprovalTaskListOptions, cX as ArtifactApprovalTask, cZ as ArtifactApprovalDecisionInput, c_ as ArtifactApprovalDecisionResult, cy as SessionFileRecord, d9 as SessionFileUploadOptions, S as SessionHeapEntry, k as SessionHeapList, dd as SessionHeapVariable, o as SessionTranscriptEntry, ev as GraphQLResult, df as RecordSearchOptions, de as RecordSearchResult, dg as RecordMentionInput, dG as DefineRelationshipOptions, dF as RelationshipInfo, dE as ModelRef, i as ManifestContent, dK as EnvironmentStateUpdateInput, dI as EnvironmentStateTarget, dM as EnvironmentStateProxy, dR as RecordImportOptions, dr as UserEnvironmentStateOptions, dq as UserEnvironmentState, ds as MarkUserEnvironmentReadOptions, d as ProjectionMapper, bM as EffectProjectionResult, bR as ExternalCommitOptions, C as CommitReceipt, bN as TransitionProjectionResult, bS as ObservationReceipt, b1 as AdoptEnvironmentOptions, b2 as ConnectOptions, dY as RunEnvironmentImporterOptions, aJ as OpenAIUsageSpendEvent, aI as GranularSpendContext, aL as RecordOpenAIUsageSpendResult, bi as SandboxListResponse, bg as Sandbox, bh as CreateSandboxData, ex as DeleteResponse, bk as PermissionProfile, bl as CreatePermissionProfileData, bs as CreateEnvironmentData, ey as StreamEvent, ez as StreamSubscription, eA as StreamStats, a$ as Subject, bo as AssignmentListResponse } from './spend-DBRQOSaj.js';
2
2
  import * as Automerge from '@automerge/automerge';
3
3
  import { Doc } from '@automerge/automerge/slim';
4
4
 
@@ -343,7 +343,8 @@ declare class Environment {
343
343
  private _apiEndpoint;
344
344
  private _tokenProvider?;
345
345
  private _beforeMutationSend?;
346
- constructor(granular: Granular, envData: EnvironmentData, apiKey: string, apiEndpoint: string, tokenProvider?: AccessTokenProvider, beforeMutationSend?: () => void);
346
+ private _graphqlIdempotencyKey?;
347
+ constructor(granular: Granular, envData: EnvironmentData, apiKey: string, apiEndpoint: string, tokenProvider?: AccessTokenProvider, beforeMutationSend?: () => void, graphqlIdempotencyKey?: GranularOptions["graphqlIdempotencyKey"]);
347
348
  /** The environment ID */
348
349
  get environmentId(): string;
349
350
  /** The sandbox ID */
@@ -1052,6 +1053,7 @@ declare class Granular {
1052
1053
  private onUnexpectedClose?;
1053
1054
  private onReconnectError?;
1054
1055
  private effectHostUrl?;
1056
+ private graphqlIdempotencyKey?;
1055
1057
  private debugHttp;
1056
1058
  /** Sandbox-level effect registry: sandboxId → (effectKey@selector → ToolWithHandler) */
1057
1059
  private sandboxEffects;
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, i as isGraphQLMutationDocument } from './client-U0rb2nG5.mjs';
2
- import { E as EnvironmentData, a as EnvironmentRecordImportSummary, b as EndpointMode, c as EffectCommitRequest, C as CommitReceipt, T as ToolWithHandler, P as ProjectionResult, d as ProjectionMapper, e as CommitTransitionOutcomeDeclaration, f as CommitDeclaration, g as EffectHandlerContext, F as FeedPublishTransport, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, h as RecordObjectOptions, i as ManifestContent, j as CommitTransitionInvocation, S as SessionHeapEntry, k as SessionHeapList, l as FeedItem, m as SessionHeapSnapshot, n as Prompt, o as SessionTranscriptEntry, A as ArtifactWorkflowNode, p as ArtifactWorkflowNodeStatus, q as ArtifactWorkflow, r as SessionArtifactRecord } from './spend-k8V2Y1Tt.mjs';
3
- export { ew as APIError, aW as AccessTokenProvider, a0 as ActionSuggestionFeedItem, b1 as AdoptEnvironmentOptions, bO as AgentCommitStatus, cZ as ArtifactApprovalDecisionInput, c_ as ArtifactApprovalDecisionResult, cX as ArtifactApprovalTask, cY as ArtifactApprovalTaskListOptions, cW as ArtifactApprovalTaskStatus, Y as ArtifactFeedItem, c2 as ArtifactOptionsHandler, cH as ArtifactWorkflowAttention, cC as ArtifactWorkflowCompletionState, cD as ArtifactWorkflowNodeAvailability, cB as ArtifactWorkflowNodeKind, cE as ArtifactWorkflowOperationPhase, cG as ArtifactWorkflowRecap, cF as ArtifactWorkflowRecapItem, bn as Assignment, bo as AssignmentListResponse, cq as AssistantReplyPublicationInput, cr as AssistantReplyPublicationResult, bL as BaseProjectionResult, bx as Build, bz as BuildListResponse, bp as BuildPolicy, bw as BuildStatus, bG as CanonicalProjectedRecord, bP as CommitChangeReceipt, bE as CommitSafeError, bQ as CommitTransitionReceipt, aS as ConditionIR, b2 as ConnectOptions, b4 as ConversationSessionInfo, b6 as ConversationSessionListOptions, b7 as ConversationSessionListResponse, b5 as ConversationSessionListStatus, bs as CreateEnvironmentData, bl as CreatePermissionProfileData, bh as CreateSandboxData, b3 as CreateSessionOptions, dG as DefineRelationshipOptions, ex as DeleteResponse, D as DomainState, b_ as EffectArtifactOptionsInvocation, c0 as EffectArtifactRelationshipOption, c1 as EffectArtifactRelationshipOptionsResult, bU as EffectCommitContext, cb as EffectHandler, c8 as EffectInfo, b$ as EffectInvocationMetadata, bZ as EffectInvocationMode, bM as EffectProjectionResult, c3 as EffectSchema, c6 as EffectVersionSelector, c4 as EffectWithHandler, ca as EffectsChangedEvent, cj as EnvironmentFeedbackRecord, e1 as EnvironmentImporter, e0 as EnvironmentImporterImportOptions, bt as EnvironmentListResponse, d$ as EnvironmentSetupImporterClaim, dZ as EnvironmentSetupLifecycleStatus, d_ as EnvironmentSetupSummary, dX as EnvironmentSetupTriggerReason, dL as EnvironmentStateMachineProxy, dJ as EnvironmentStateObservationInput, dM as EnvironmentStateProxy, dI as EnvironmentStateTarget, dK as EnvironmentStateUpdateInput, bR as ExternalCommitOptions, ag as FeedDiagnostic, ah as FeedDiagnosticListener, ao as FeedDocumentState, y as FeedFeedbackTone, Z as FeedFileSource, x as FeedIconToken, H as FeedItemBase, B as FeedItemKind, a7 as FeedListOptions, ae as FeedListTransport, L as FeedObjectReference, a8 as FeedPage, az as FeedPublisher, a6 as FeedSnapshot, af as FeedSnapshotRegressionReason, w as FeedSource, v as FeedSourceActor, a9 as FeedSubscribeOptions, aa as FeedSubscriptionChange, N as FeedTableCell, Q as FeedTableColumn, W as FeedTableProjection, V as FeedTableRow, U as FeedTableRowReference, G as FeedTarget, z as FeedTransientFeedbackTone, dA as FeedTransientPatchMessage, K as FeedbackFeedItem, _ as FileFeedItem, ai as GRANULAR_FEED_DIAGNOSTIC_EVENT, aY as GranularAuth, aX as GranularOptions, be as GranularQuotaPolicy, bf as GranularQuotaProgress, aI as GranularSpendContext, ev as GraphQLResult, cc as InstanceEffectHandler, I as InstanceToolHandler, cl as Job, dz as JobActionTraceMessage, ch as JobFeedbackInput, cg as JobFeedbackMetadata, ci as JobFeedbackRecord, ce as JobFeedbackSentiment, cf as JobFeedbackToolCall, cd as JobStatus, ck as JobSubmitResult, bu as Manifest, el as ManifestApprovalRequiredSpec, em as ManifestCreatesSpec, ej as ManifestDryRunSpec, ep as ManifestEffectDeclaration, eo as ManifestEffectSchema, e4 as ManifestEnumRuleSpec, er as ManifestEventStreamDef, eq as ManifestEventTypeDef, e5 as ManifestFilterBySpec, et as ManifestImport, bv as ManifestListResponse, es as ManifestOperation, ei as ManifestPostConditionSpec, e2 as ManifestPropertySpec, en as ManifestRelationshipDef, ek as ManifestReverseSpec, eh as ManifestStateMachineSpec, e7 as ManifestStateMachineStateSpec, eg as ManifestStateMachineTransitionSpec, e9 as ManifestStateTransitionActionSpec, ea as ManifestStateTransitionAssigneeSpec, ee as ManifestStateTransitionExpectedOutcomeSpec, e8 as ManifestStateTransitionInputBinding, ef as ManifestStateTransitionOutcomeSpec, ed as ManifestStateTransitionPermissionSpec, eb as ManifestStateTransitionRelatedStateRequirementSpec, ec as ManifestStateTransitionRequirementsSpec, e3 as ManifestValidationOperator, e6 as ManifestValidationRuleSpec, eu as ManifestVolume, d6 as ManualActionListOptions, d4 as ManualActionOccurrence, d5 as ManualActionRecordResult, d2 as ManualActionRelatedRecord, d0 as ManualActionSource, c$ as ManualActionStatus, d7 as ManualActionSuggestion, d8 as ManualActionSuggestionOptions, d1 as ManualActionTarget, ds as MarkUserEnvironmentReadOptions, aV as MatchedPolicy, J as MessageFeedItem, dE as ModelRef, aC as NormalizedOpenAIUsage, $ as NormalizedSuggestedArtifact, aE as OPENAI_MODEL_PRICING_USD_PER_MILLION, bH as ObjectProjectionChange, bC as ObjectReference, O as ObjectsFeedItem, bS as ObservationReceipt, aB as OpenAIModelPricing, aD as OpenAITokenSpend, aJ as OpenAIUsageSpendEvent, b0 as OpenEnvironmentOptions, bk as PermissionProfile, bm as PermissionProfileListResponse, bj as PermissionRules, aR as PolicyOperator, aT as PolicyOrigin, aQ as PolicyPredicateSource, aU as PolicyRuleIR, aP as PolicySource, bK as ProjectionChange, a1 as PromptFeedItem, c5 as PublishEffectsResult, av as PublishFeedbackOptions, t as PublishToolsResult, aw as PublishTransientFeedbackOptions, bd as QuotaLineItemFilter, ba as QuotaPeriod, b9 as QuotaScopeType, bb as QuotaStatus, dw as RPCRequest, dB as RPCRequestFromServer, dx as RPCResponse, dW as RecordImport, dV as RecordImportItem, dT as RecordImportItemStatus, dR as RecordImportOptions, dU as RecordImportStats, dS as RecordImportStatus, dQ as RecordImportWriteMode, d3 as RecordManualActionInput, dg as RecordMentionInput, dN as RecordObjectResult, dH as RecordObjectStateValue, dO as RecordObjectsChunkInfo, dP as RecordObjectsOptions, aK as RecordOpenAIUsageSpendOptions, aL as RecordOpenAIUsageSpendResult, df as RecordSearchOptions, de as RecordSearchResult, a_ as RecordUserOptions, dF as RelationshipInfo, bI as RelationshipProjectionChange, bY as ResolvedEffectApprovalRequired, bW as ResolvedEffectDryRun, bV as ResolvedEffectPostCondition, bX as ResolvedEffectReverse, dY as RunEnvironmentImporterOptions, bg as Sandbox, bi as SandboxListResponse, bB as SemanticVersionDiff, bA as SemanticVersionDiffEntry, cV as SessionArtifactApprovalOptions, cI as SessionArtifactAutonomyPolicy, cU as SessionArtifactExecutionOptions, cT as SessionArtifactExecutionResult, cM as SessionArtifactFieldProvenance, cJ as SessionArtifactFieldProvenanceSource, cA as SessionArtifactKind, cN as SessionArtifactListOptions, cS as SessionArtifactRelationshipCreateInput, cQ as SessionArtifactRelationshipOption, cP as SessionArtifactRelationshipOptionsInput, cR as SessionArtifactRelationshipOptionsResult, cL as SessionArtifactRequestContext, cK as SessionArtifactRequestContextSource, cz as SessionArtifactStatus, cO as SessionArtifactValidationResult, di as SessionCollectionListOptions, dk as SessionCollectionListResult, dh as SessionDocumentResult, ab as SessionFeedApi, au as SessionFeedController, an as SessionFeedControllerOptions, cw as SessionFileKind, cy as SessionFileRecord, cv as SessionFileSource, cx as SessionFileStatus, d9 as SessionFileUploadOptions, db as SessionHeapFieldType, dc as SessionHeapFieldValue, dd as SessionHeapVariable, dj as SessionJobListOptions, da as SessionJobRecord, bT as SessionMutationView, cu as SessionTimelineEvent, cs as SessionTranscriptActionSuggestion, ct as SessionTranscriptShowRefs, ax as SettleTransientFeedbackOptions, dy as SnapshotResetMessage, bD as SourceAcknowledgement, b8 as SpendLineItemType, bc as SpendSummary, bJ as StateObservationProjectionChange, ey as StreamEvent, eA as StreamStats, ez as StreamSubscription, a$ as Subject, X as TableFeedItem, u as ToolHandler, c7 as ToolInfo, dC as ToolInvokeParams, dD as ToolResultParams, s as ToolSchema, c9 as ToolsChangedEvent, a5 as TransientFeedItem, a2 as TransientFeedItemBase, a4 as TransientFeedbackFeedItem, ay as TransientFeedbackHandle, a3 as TransientMessageFeedItem, bF as TransitionOutcomeProjection, bN as TransitionProjectionResult, aZ as User, dn as UserEnvironmentArtifactAttention, dm as UserEnvironmentMessagePreview, dl as UserEnvironmentPrompt, dp as UserEnvironmentSessionState, dq as UserEnvironmentState, dr as UserEnvironmentStateOptions, cp as UserMessageAppendResult, co as UserMessageInput, cm as UserMessageShowRefs, cn as UserMessageTarget, by as Version, br as VersionTag, bq as VersionTracking, dv as WSClientOptions, dt as WSDisconnectInfo, du as WSReconnectErrorInfo, aN as buildOpenAISpendEventId, aH as calculateOpenAITokenSpend, aA as createFeedPublisher, am as emitFeedDiagnostic, al as emitFeedDiagnosticToDefaultSink, ap as emptyFeedSnapshot, aF as getOpenAIModelPricing, aq as hasCanonicalSessionFeedActivation, ar as isCanonicalSessionFeedDocument, ac as mergeFeedItemsBySequence, ak as normalizeFeedDiagnostic, aj as normalizeFeedDiagnosticKind, at as normalizeFeedPage, aG as normalizeOpenAIUsage, ad as orderTransientFeedItems, as as readSessionFeedSnapshot, aO as recordOpenAIUsageSpend, aM as toGranularHttpBase } from './spend-k8V2Y1Tt.mjs';
1
+ export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient, i as isGraphQLMutationDocument } from './client-6d1OsWJf.mjs';
2
+ import { E as EnvironmentData, a as EnvironmentRecordImportSummary, b as EndpointMode, c as EffectCommitRequest, C as CommitReceipt, T as ToolWithHandler, P as ProjectionResult, d as ProjectionMapper, e as CommitTransitionOutcomeDeclaration, f as CommitDeclaration, g as EffectHandlerContext, F as FeedPublishTransport, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, h as RecordObjectOptions, i as ManifestContent, j as CommitTransitionInvocation, S as SessionHeapEntry, k as SessionHeapList, l as FeedItem, m as SessionHeapSnapshot, n as Prompt, o as SessionTranscriptEntry, A as ArtifactWorkflowNode, p as ArtifactWorkflowNodeStatus, q as ArtifactWorkflow, r as SessionArtifactRecord } from './spend-DBRQOSaj.mjs';
3
+ export { ew as APIError, aW as AccessTokenProvider, a0 as ActionSuggestionFeedItem, b1 as AdoptEnvironmentOptions, bO as AgentCommitStatus, cZ as ArtifactApprovalDecisionInput, c_ as ArtifactApprovalDecisionResult, cX as ArtifactApprovalTask, cY as ArtifactApprovalTaskListOptions, cW as ArtifactApprovalTaskStatus, Y as ArtifactFeedItem, c2 as ArtifactOptionsHandler, cH as ArtifactWorkflowAttention, cC as ArtifactWorkflowCompletionState, cD as ArtifactWorkflowNodeAvailability, cB as ArtifactWorkflowNodeKind, cE as ArtifactWorkflowOperationPhase, cG as ArtifactWorkflowRecap, cF as ArtifactWorkflowRecapItem, bn as Assignment, bo as AssignmentListResponse, cq as AssistantReplyPublicationInput, cr as AssistantReplyPublicationResult, bL as BaseProjectionResult, bx as Build, bz as BuildListResponse, bp as BuildPolicy, bw as BuildStatus, bG as CanonicalProjectedRecord, bP as CommitChangeReceipt, bE as CommitSafeError, bQ as CommitTransitionReceipt, aS as ConditionIR, b2 as ConnectOptions, b4 as ConversationSessionInfo, b6 as ConversationSessionListOptions, b7 as ConversationSessionListResponse, b5 as ConversationSessionListStatus, bs as CreateEnvironmentData, bl as CreatePermissionProfileData, bh as CreateSandboxData, b3 as CreateSessionOptions, dG as DefineRelationshipOptions, ex as DeleteResponse, D as DomainState, b_ as EffectArtifactOptionsInvocation, c0 as EffectArtifactRelationshipOption, c1 as EffectArtifactRelationshipOptionsResult, bU as EffectCommitContext, cb as EffectHandler, c8 as EffectInfo, b$ as EffectInvocationMetadata, bZ as EffectInvocationMode, bM as EffectProjectionResult, c3 as EffectSchema, c6 as EffectVersionSelector, c4 as EffectWithHandler, ca as EffectsChangedEvent, cj as EnvironmentFeedbackRecord, e1 as EnvironmentImporter, e0 as EnvironmentImporterImportOptions, bt as EnvironmentListResponse, d$ as EnvironmentSetupImporterClaim, dZ as EnvironmentSetupLifecycleStatus, d_ as EnvironmentSetupSummary, dX as EnvironmentSetupTriggerReason, dL as EnvironmentStateMachineProxy, dJ as EnvironmentStateObservationInput, dM as EnvironmentStateProxy, dI as EnvironmentStateTarget, dK as EnvironmentStateUpdateInput, bR as ExternalCommitOptions, ag as FeedDiagnostic, ah as FeedDiagnosticListener, ao as FeedDocumentState, y as FeedFeedbackTone, Z as FeedFileSource, x as FeedIconToken, H as FeedItemBase, B as FeedItemKind, a7 as FeedListOptions, ae as FeedListTransport, L as FeedObjectReference, a8 as FeedPage, az as FeedPublisher, a6 as FeedSnapshot, af as FeedSnapshotRegressionReason, w as FeedSource, v as FeedSourceActor, a9 as FeedSubscribeOptions, aa as FeedSubscriptionChange, N as FeedTableCell, Q as FeedTableColumn, W as FeedTableProjection, V as FeedTableRow, U as FeedTableRowReference, G as FeedTarget, z as FeedTransientFeedbackTone, dA as FeedTransientPatchMessage, K as FeedbackFeedItem, _ as FileFeedItem, ai as GRANULAR_FEED_DIAGNOSTIC_EVENT, aY as GranularAuth, aX as GranularOptions, be as GranularQuotaPolicy, bf as GranularQuotaProgress, aI as GranularSpendContext, ev as GraphQLResult, cc as InstanceEffectHandler, I as InstanceToolHandler, cl as Job, dz as JobActionTraceMessage, ch as JobFeedbackInput, cg as JobFeedbackMetadata, ci as JobFeedbackRecord, ce as JobFeedbackSentiment, cf as JobFeedbackToolCall, cd as JobStatus, ck as JobSubmitResult, bu as Manifest, el as ManifestApprovalRequiredSpec, em as ManifestCreatesSpec, ej as ManifestDryRunSpec, ep as ManifestEffectDeclaration, eo as ManifestEffectSchema, e4 as ManifestEnumRuleSpec, er as ManifestEventStreamDef, eq as ManifestEventTypeDef, e5 as ManifestFilterBySpec, et as ManifestImport, bv as ManifestListResponse, es as ManifestOperation, ei as ManifestPostConditionSpec, e2 as ManifestPropertySpec, en as ManifestRelationshipDef, ek as ManifestReverseSpec, eh as ManifestStateMachineSpec, e7 as ManifestStateMachineStateSpec, eg as ManifestStateMachineTransitionSpec, e9 as ManifestStateTransitionActionSpec, ea as ManifestStateTransitionAssigneeSpec, ee as ManifestStateTransitionExpectedOutcomeSpec, e8 as ManifestStateTransitionInputBinding, ef as ManifestStateTransitionOutcomeSpec, ed as ManifestStateTransitionPermissionSpec, eb as ManifestStateTransitionRelatedStateRequirementSpec, ec as ManifestStateTransitionRequirementsSpec, e3 as ManifestValidationOperator, e6 as ManifestValidationRuleSpec, eu as ManifestVolume, d6 as ManualActionListOptions, d4 as ManualActionOccurrence, d5 as ManualActionRecordResult, d2 as ManualActionRelatedRecord, d0 as ManualActionSource, c$ as ManualActionStatus, d7 as ManualActionSuggestion, d8 as ManualActionSuggestionOptions, d1 as ManualActionTarget, ds as MarkUserEnvironmentReadOptions, aV as MatchedPolicy, J as MessageFeedItem, dE as ModelRef, aC as NormalizedOpenAIUsage, $ as NormalizedSuggestedArtifact, aE as OPENAI_MODEL_PRICING_USD_PER_MILLION, bH as ObjectProjectionChange, bC as ObjectReference, O as ObjectsFeedItem, bS as ObservationReceipt, aB as OpenAIModelPricing, aD as OpenAITokenSpend, aJ as OpenAIUsageSpendEvent, b0 as OpenEnvironmentOptions, bk as PermissionProfile, bm as PermissionProfileListResponse, bj as PermissionRules, aR as PolicyOperator, aT as PolicyOrigin, aQ as PolicyPredicateSource, aU as PolicyRuleIR, aP as PolicySource, bK as ProjectionChange, a1 as PromptFeedItem, c5 as PublishEffectsResult, av as PublishFeedbackOptions, t as PublishToolsResult, aw as PublishTransientFeedbackOptions, bd as QuotaLineItemFilter, ba as QuotaPeriod, b9 as QuotaScopeType, bb as QuotaStatus, dw as RPCRequest, dB as RPCRequestFromServer, dx as RPCResponse, dW as RecordImport, dV as RecordImportItem, dT as RecordImportItemStatus, dR as RecordImportOptions, dU as RecordImportStats, dS as RecordImportStatus, dQ as RecordImportWriteMode, d3 as RecordManualActionInput, dg as RecordMentionInput, dN as RecordObjectResult, dH as RecordObjectStateValue, dO as RecordObjectsChunkInfo, dP as RecordObjectsOptions, aK as RecordOpenAIUsageSpendOptions, aL as RecordOpenAIUsageSpendResult, df as RecordSearchOptions, de as RecordSearchResult, a_ as RecordUserOptions, dF as RelationshipInfo, bI as RelationshipProjectionChange, bY as ResolvedEffectApprovalRequired, bW as ResolvedEffectDryRun, bV as ResolvedEffectPostCondition, bX as ResolvedEffectReverse, dY as RunEnvironmentImporterOptions, bg as Sandbox, bi as SandboxListResponse, bB as SemanticVersionDiff, bA as SemanticVersionDiffEntry, cV as SessionArtifactApprovalOptions, cI as SessionArtifactAutonomyPolicy, cU as SessionArtifactExecutionOptions, cT as SessionArtifactExecutionResult, cM as SessionArtifactFieldProvenance, cJ as SessionArtifactFieldProvenanceSource, cA as SessionArtifactKind, cN as SessionArtifactListOptions, cS as SessionArtifactRelationshipCreateInput, cQ as SessionArtifactRelationshipOption, cP as SessionArtifactRelationshipOptionsInput, cR as SessionArtifactRelationshipOptionsResult, cL as SessionArtifactRequestContext, cK as SessionArtifactRequestContextSource, cz as SessionArtifactStatus, cO as SessionArtifactValidationResult, di as SessionCollectionListOptions, dk as SessionCollectionListResult, dh as SessionDocumentResult, ab as SessionFeedApi, au as SessionFeedController, an as SessionFeedControllerOptions, cw as SessionFileKind, cy as SessionFileRecord, cv as SessionFileSource, cx as SessionFileStatus, d9 as SessionFileUploadOptions, db as SessionHeapFieldType, dc as SessionHeapFieldValue, dd as SessionHeapVariable, dj as SessionJobListOptions, da as SessionJobRecord, bT as SessionMutationView, cu as SessionTimelineEvent, cs as SessionTranscriptActionSuggestion, ct as SessionTranscriptShowRefs, ax as SettleTransientFeedbackOptions, dy as SnapshotResetMessage, bD as SourceAcknowledgement, b8 as SpendLineItemType, bc as SpendSummary, bJ as StateObservationProjectionChange, ey as StreamEvent, eA as StreamStats, ez as StreamSubscription, a$ as Subject, X as TableFeedItem, u as ToolHandler, c7 as ToolInfo, dC as ToolInvokeParams, dD as ToolResultParams, s as ToolSchema, c9 as ToolsChangedEvent, a5 as TransientFeedItem, a2 as TransientFeedItemBase, a4 as TransientFeedbackFeedItem, ay as TransientFeedbackHandle, a3 as TransientMessageFeedItem, bF as TransitionOutcomeProjection, bN as TransitionProjectionResult, aZ as User, dn as UserEnvironmentArtifactAttention, dm as UserEnvironmentMessagePreview, dl as UserEnvironmentPrompt, dp as UserEnvironmentSessionState, dq as UserEnvironmentState, dr as UserEnvironmentStateOptions, cp as UserMessageAppendResult, co as UserMessageInput, cm as UserMessageShowRefs, cn as UserMessageTarget, by as Version, br as VersionTag, bq as VersionTracking, dv as WSClientOptions, dt as WSDisconnectInfo, du as WSReconnectErrorInfo, aN as buildOpenAISpendEventId, aH as calculateOpenAITokenSpend, aA as createFeedPublisher, am as emitFeedDiagnostic, al as emitFeedDiagnosticToDefaultSink, ap as emptyFeedSnapshot, aF as getOpenAIModelPricing, aq as hasCanonicalSessionFeedActivation, ar as isCanonicalSessionFeedDocument, ac as mergeFeedItemsBySequence, ak as normalizeFeedDiagnostic, aj as normalizeFeedDiagnosticKind, at as normalizeFeedPage, aG as normalizeOpenAIUsage, ad as orderTransientFeedItems, as as readSessionFeedSnapshot, aO as recordOpenAIUsageSpend, aM as toGranularHttpBase } from './spend-DBRQOSaj.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, i as isGraphQLMutationDocument } from './client-WJrPOw6N.js';
2
- import { E as EnvironmentData, a as EnvironmentRecordImportSummary, b as EndpointMode, c as EffectCommitRequest, C as CommitReceipt, T as ToolWithHandler, P as ProjectionResult, d as ProjectionMapper, e as CommitTransitionOutcomeDeclaration, f as CommitDeclaration, g as EffectHandlerContext, F as FeedPublishTransport, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, h as RecordObjectOptions, i as ManifestContent, j as CommitTransitionInvocation, S as SessionHeapEntry, k as SessionHeapList, l as FeedItem, m as SessionHeapSnapshot, n as Prompt, o as SessionTranscriptEntry, A as ArtifactWorkflowNode, p as ArtifactWorkflowNodeStatus, q as ArtifactWorkflow, r as SessionArtifactRecord } from './spend-k8V2Y1Tt.js';
3
- export { ew as APIError, aW as AccessTokenProvider, a0 as ActionSuggestionFeedItem, b1 as AdoptEnvironmentOptions, bO as AgentCommitStatus, cZ as ArtifactApprovalDecisionInput, c_ as ArtifactApprovalDecisionResult, cX as ArtifactApprovalTask, cY as ArtifactApprovalTaskListOptions, cW as ArtifactApprovalTaskStatus, Y as ArtifactFeedItem, c2 as ArtifactOptionsHandler, cH as ArtifactWorkflowAttention, cC as ArtifactWorkflowCompletionState, cD as ArtifactWorkflowNodeAvailability, cB as ArtifactWorkflowNodeKind, cE as ArtifactWorkflowOperationPhase, cG as ArtifactWorkflowRecap, cF as ArtifactWorkflowRecapItem, bn as Assignment, bo as AssignmentListResponse, cq as AssistantReplyPublicationInput, cr as AssistantReplyPublicationResult, bL as BaseProjectionResult, bx as Build, bz as BuildListResponse, bp as BuildPolicy, bw as BuildStatus, bG as CanonicalProjectedRecord, bP as CommitChangeReceipt, bE as CommitSafeError, bQ as CommitTransitionReceipt, aS as ConditionIR, b2 as ConnectOptions, b4 as ConversationSessionInfo, b6 as ConversationSessionListOptions, b7 as ConversationSessionListResponse, b5 as ConversationSessionListStatus, bs as CreateEnvironmentData, bl as CreatePermissionProfileData, bh as CreateSandboxData, b3 as CreateSessionOptions, dG as DefineRelationshipOptions, ex as DeleteResponse, D as DomainState, b_ as EffectArtifactOptionsInvocation, c0 as EffectArtifactRelationshipOption, c1 as EffectArtifactRelationshipOptionsResult, bU as EffectCommitContext, cb as EffectHandler, c8 as EffectInfo, b$ as EffectInvocationMetadata, bZ as EffectInvocationMode, bM as EffectProjectionResult, c3 as EffectSchema, c6 as EffectVersionSelector, c4 as EffectWithHandler, ca as EffectsChangedEvent, cj as EnvironmentFeedbackRecord, e1 as EnvironmentImporter, e0 as EnvironmentImporterImportOptions, bt as EnvironmentListResponse, d$ as EnvironmentSetupImporterClaim, dZ as EnvironmentSetupLifecycleStatus, d_ as EnvironmentSetupSummary, dX as EnvironmentSetupTriggerReason, dL as EnvironmentStateMachineProxy, dJ as EnvironmentStateObservationInput, dM as EnvironmentStateProxy, dI as EnvironmentStateTarget, dK as EnvironmentStateUpdateInput, bR as ExternalCommitOptions, ag as FeedDiagnostic, ah as FeedDiagnosticListener, ao as FeedDocumentState, y as FeedFeedbackTone, Z as FeedFileSource, x as FeedIconToken, H as FeedItemBase, B as FeedItemKind, a7 as FeedListOptions, ae as FeedListTransport, L as FeedObjectReference, a8 as FeedPage, az as FeedPublisher, a6 as FeedSnapshot, af as FeedSnapshotRegressionReason, w as FeedSource, v as FeedSourceActor, a9 as FeedSubscribeOptions, aa as FeedSubscriptionChange, N as FeedTableCell, Q as FeedTableColumn, W as FeedTableProjection, V as FeedTableRow, U as FeedTableRowReference, G as FeedTarget, z as FeedTransientFeedbackTone, dA as FeedTransientPatchMessage, K as FeedbackFeedItem, _ as FileFeedItem, ai as GRANULAR_FEED_DIAGNOSTIC_EVENT, aY as GranularAuth, aX as GranularOptions, be as GranularQuotaPolicy, bf as GranularQuotaProgress, aI as GranularSpendContext, ev as GraphQLResult, cc as InstanceEffectHandler, I as InstanceToolHandler, cl as Job, dz as JobActionTraceMessage, ch as JobFeedbackInput, cg as JobFeedbackMetadata, ci as JobFeedbackRecord, ce as JobFeedbackSentiment, cf as JobFeedbackToolCall, cd as JobStatus, ck as JobSubmitResult, bu as Manifest, el as ManifestApprovalRequiredSpec, em as ManifestCreatesSpec, ej as ManifestDryRunSpec, ep as ManifestEffectDeclaration, eo as ManifestEffectSchema, e4 as ManifestEnumRuleSpec, er as ManifestEventStreamDef, eq as ManifestEventTypeDef, e5 as ManifestFilterBySpec, et as ManifestImport, bv as ManifestListResponse, es as ManifestOperation, ei as ManifestPostConditionSpec, e2 as ManifestPropertySpec, en as ManifestRelationshipDef, ek as ManifestReverseSpec, eh as ManifestStateMachineSpec, e7 as ManifestStateMachineStateSpec, eg as ManifestStateMachineTransitionSpec, e9 as ManifestStateTransitionActionSpec, ea as ManifestStateTransitionAssigneeSpec, ee as ManifestStateTransitionExpectedOutcomeSpec, e8 as ManifestStateTransitionInputBinding, ef as ManifestStateTransitionOutcomeSpec, ed as ManifestStateTransitionPermissionSpec, eb as ManifestStateTransitionRelatedStateRequirementSpec, ec as ManifestStateTransitionRequirementsSpec, e3 as ManifestValidationOperator, e6 as ManifestValidationRuleSpec, eu as ManifestVolume, d6 as ManualActionListOptions, d4 as ManualActionOccurrence, d5 as ManualActionRecordResult, d2 as ManualActionRelatedRecord, d0 as ManualActionSource, c$ as ManualActionStatus, d7 as ManualActionSuggestion, d8 as ManualActionSuggestionOptions, d1 as ManualActionTarget, ds as MarkUserEnvironmentReadOptions, aV as MatchedPolicy, J as MessageFeedItem, dE as ModelRef, aC as NormalizedOpenAIUsage, $ as NormalizedSuggestedArtifact, aE as OPENAI_MODEL_PRICING_USD_PER_MILLION, bH as ObjectProjectionChange, bC as ObjectReference, O as ObjectsFeedItem, bS as ObservationReceipt, aB as OpenAIModelPricing, aD as OpenAITokenSpend, aJ as OpenAIUsageSpendEvent, b0 as OpenEnvironmentOptions, bk as PermissionProfile, bm as PermissionProfileListResponse, bj as PermissionRules, aR as PolicyOperator, aT as PolicyOrigin, aQ as PolicyPredicateSource, aU as PolicyRuleIR, aP as PolicySource, bK as ProjectionChange, a1 as PromptFeedItem, c5 as PublishEffectsResult, av as PublishFeedbackOptions, t as PublishToolsResult, aw as PublishTransientFeedbackOptions, bd as QuotaLineItemFilter, ba as QuotaPeriod, b9 as QuotaScopeType, bb as QuotaStatus, dw as RPCRequest, dB as RPCRequestFromServer, dx as RPCResponse, dW as RecordImport, dV as RecordImportItem, dT as RecordImportItemStatus, dR as RecordImportOptions, dU as RecordImportStats, dS as RecordImportStatus, dQ as RecordImportWriteMode, d3 as RecordManualActionInput, dg as RecordMentionInput, dN as RecordObjectResult, dH as RecordObjectStateValue, dO as RecordObjectsChunkInfo, dP as RecordObjectsOptions, aK as RecordOpenAIUsageSpendOptions, aL as RecordOpenAIUsageSpendResult, df as RecordSearchOptions, de as RecordSearchResult, a_ as RecordUserOptions, dF as RelationshipInfo, bI as RelationshipProjectionChange, bY as ResolvedEffectApprovalRequired, bW as ResolvedEffectDryRun, bV as ResolvedEffectPostCondition, bX as ResolvedEffectReverse, dY as RunEnvironmentImporterOptions, bg as Sandbox, bi as SandboxListResponse, bB as SemanticVersionDiff, bA as SemanticVersionDiffEntry, cV as SessionArtifactApprovalOptions, cI as SessionArtifactAutonomyPolicy, cU as SessionArtifactExecutionOptions, cT as SessionArtifactExecutionResult, cM as SessionArtifactFieldProvenance, cJ as SessionArtifactFieldProvenanceSource, cA as SessionArtifactKind, cN as SessionArtifactListOptions, cS as SessionArtifactRelationshipCreateInput, cQ as SessionArtifactRelationshipOption, cP as SessionArtifactRelationshipOptionsInput, cR as SessionArtifactRelationshipOptionsResult, cL as SessionArtifactRequestContext, cK as SessionArtifactRequestContextSource, cz as SessionArtifactStatus, cO as SessionArtifactValidationResult, di as SessionCollectionListOptions, dk as SessionCollectionListResult, dh as SessionDocumentResult, ab as SessionFeedApi, au as SessionFeedController, an as SessionFeedControllerOptions, cw as SessionFileKind, cy as SessionFileRecord, cv as SessionFileSource, cx as SessionFileStatus, d9 as SessionFileUploadOptions, db as SessionHeapFieldType, dc as SessionHeapFieldValue, dd as SessionHeapVariable, dj as SessionJobListOptions, da as SessionJobRecord, bT as SessionMutationView, cu as SessionTimelineEvent, cs as SessionTranscriptActionSuggestion, ct as SessionTranscriptShowRefs, ax as SettleTransientFeedbackOptions, dy as SnapshotResetMessage, bD as SourceAcknowledgement, b8 as SpendLineItemType, bc as SpendSummary, bJ as StateObservationProjectionChange, ey as StreamEvent, eA as StreamStats, ez as StreamSubscription, a$ as Subject, X as TableFeedItem, u as ToolHandler, c7 as ToolInfo, dC as ToolInvokeParams, dD as ToolResultParams, s as ToolSchema, c9 as ToolsChangedEvent, a5 as TransientFeedItem, a2 as TransientFeedItemBase, a4 as TransientFeedbackFeedItem, ay as TransientFeedbackHandle, a3 as TransientMessageFeedItem, bF as TransitionOutcomeProjection, bN as TransitionProjectionResult, aZ as User, dn as UserEnvironmentArtifactAttention, dm as UserEnvironmentMessagePreview, dl as UserEnvironmentPrompt, dp as UserEnvironmentSessionState, dq as UserEnvironmentState, dr as UserEnvironmentStateOptions, cp as UserMessageAppendResult, co as UserMessageInput, cm as UserMessageShowRefs, cn as UserMessageTarget, by as Version, br as VersionTag, bq as VersionTracking, dv as WSClientOptions, dt as WSDisconnectInfo, du as WSReconnectErrorInfo, aN as buildOpenAISpendEventId, aH as calculateOpenAITokenSpend, aA as createFeedPublisher, am as emitFeedDiagnostic, al as emitFeedDiagnosticToDefaultSink, ap as emptyFeedSnapshot, aF as getOpenAIModelPricing, aq as hasCanonicalSessionFeedActivation, ar as isCanonicalSessionFeedDocument, ac as mergeFeedItemsBySequence, ak as normalizeFeedDiagnostic, aj as normalizeFeedDiagnosticKind, at as normalizeFeedPage, aG as normalizeOpenAIUsage, ad as orderTransientFeedItems, as as readSessionFeedSnapshot, aO as recordOpenAIUsageSpend, aM as toGranularHttpBase } from './spend-k8V2Y1Tt.js';
1
+ export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient, i as isGraphQLMutationDocument } from './client-DdEXINlv.js';
2
+ import { E as EnvironmentData, a as EnvironmentRecordImportSummary, b as EndpointMode, c as EffectCommitRequest, C as CommitReceipt, T as ToolWithHandler, P as ProjectionResult, d as ProjectionMapper, e as CommitTransitionOutcomeDeclaration, f as CommitDeclaration, g as EffectHandlerContext, F as FeedPublishTransport, M as ManifestEffectMetamodelSpec, R as ResolvedEffectBehaviors, h as RecordObjectOptions, i as ManifestContent, j as CommitTransitionInvocation, S as SessionHeapEntry, k as SessionHeapList, l as FeedItem, m as SessionHeapSnapshot, n as Prompt, o as SessionTranscriptEntry, A as ArtifactWorkflowNode, p as ArtifactWorkflowNodeStatus, q as ArtifactWorkflow, r as SessionArtifactRecord } from './spend-DBRQOSaj.js';
3
+ export { ew as APIError, aW as AccessTokenProvider, a0 as ActionSuggestionFeedItem, b1 as AdoptEnvironmentOptions, bO as AgentCommitStatus, cZ as ArtifactApprovalDecisionInput, c_ as ArtifactApprovalDecisionResult, cX as ArtifactApprovalTask, cY as ArtifactApprovalTaskListOptions, cW as ArtifactApprovalTaskStatus, Y as ArtifactFeedItem, c2 as ArtifactOptionsHandler, cH as ArtifactWorkflowAttention, cC as ArtifactWorkflowCompletionState, cD as ArtifactWorkflowNodeAvailability, cB as ArtifactWorkflowNodeKind, cE as ArtifactWorkflowOperationPhase, cG as ArtifactWorkflowRecap, cF as ArtifactWorkflowRecapItem, bn as Assignment, bo as AssignmentListResponse, cq as AssistantReplyPublicationInput, cr as AssistantReplyPublicationResult, bL as BaseProjectionResult, bx as Build, bz as BuildListResponse, bp as BuildPolicy, bw as BuildStatus, bG as CanonicalProjectedRecord, bP as CommitChangeReceipt, bE as CommitSafeError, bQ as CommitTransitionReceipt, aS as ConditionIR, b2 as ConnectOptions, b4 as ConversationSessionInfo, b6 as ConversationSessionListOptions, b7 as ConversationSessionListResponse, b5 as ConversationSessionListStatus, bs as CreateEnvironmentData, bl as CreatePermissionProfileData, bh as CreateSandboxData, b3 as CreateSessionOptions, dG as DefineRelationshipOptions, ex as DeleteResponse, D as DomainState, b_ as EffectArtifactOptionsInvocation, c0 as EffectArtifactRelationshipOption, c1 as EffectArtifactRelationshipOptionsResult, bU as EffectCommitContext, cb as EffectHandler, c8 as EffectInfo, b$ as EffectInvocationMetadata, bZ as EffectInvocationMode, bM as EffectProjectionResult, c3 as EffectSchema, c6 as EffectVersionSelector, c4 as EffectWithHandler, ca as EffectsChangedEvent, cj as EnvironmentFeedbackRecord, e1 as EnvironmentImporter, e0 as EnvironmentImporterImportOptions, bt as EnvironmentListResponse, d$ as EnvironmentSetupImporterClaim, dZ as EnvironmentSetupLifecycleStatus, d_ as EnvironmentSetupSummary, dX as EnvironmentSetupTriggerReason, dL as EnvironmentStateMachineProxy, dJ as EnvironmentStateObservationInput, dM as EnvironmentStateProxy, dI as EnvironmentStateTarget, dK as EnvironmentStateUpdateInput, bR as ExternalCommitOptions, ag as FeedDiagnostic, ah as FeedDiagnosticListener, ao as FeedDocumentState, y as FeedFeedbackTone, Z as FeedFileSource, x as FeedIconToken, H as FeedItemBase, B as FeedItemKind, a7 as FeedListOptions, ae as FeedListTransport, L as FeedObjectReference, a8 as FeedPage, az as FeedPublisher, a6 as FeedSnapshot, af as FeedSnapshotRegressionReason, w as FeedSource, v as FeedSourceActor, a9 as FeedSubscribeOptions, aa as FeedSubscriptionChange, N as FeedTableCell, Q as FeedTableColumn, W as FeedTableProjection, V as FeedTableRow, U as FeedTableRowReference, G as FeedTarget, z as FeedTransientFeedbackTone, dA as FeedTransientPatchMessage, K as FeedbackFeedItem, _ as FileFeedItem, ai as GRANULAR_FEED_DIAGNOSTIC_EVENT, aY as GranularAuth, aX as GranularOptions, be as GranularQuotaPolicy, bf as GranularQuotaProgress, aI as GranularSpendContext, ev as GraphQLResult, cc as InstanceEffectHandler, I as InstanceToolHandler, cl as Job, dz as JobActionTraceMessage, ch as JobFeedbackInput, cg as JobFeedbackMetadata, ci as JobFeedbackRecord, ce as JobFeedbackSentiment, cf as JobFeedbackToolCall, cd as JobStatus, ck as JobSubmitResult, bu as Manifest, el as ManifestApprovalRequiredSpec, em as ManifestCreatesSpec, ej as ManifestDryRunSpec, ep as ManifestEffectDeclaration, eo as ManifestEffectSchema, e4 as ManifestEnumRuleSpec, er as ManifestEventStreamDef, eq as ManifestEventTypeDef, e5 as ManifestFilterBySpec, et as ManifestImport, bv as ManifestListResponse, es as ManifestOperation, ei as ManifestPostConditionSpec, e2 as ManifestPropertySpec, en as ManifestRelationshipDef, ek as ManifestReverseSpec, eh as ManifestStateMachineSpec, e7 as ManifestStateMachineStateSpec, eg as ManifestStateMachineTransitionSpec, e9 as ManifestStateTransitionActionSpec, ea as ManifestStateTransitionAssigneeSpec, ee as ManifestStateTransitionExpectedOutcomeSpec, e8 as ManifestStateTransitionInputBinding, ef as ManifestStateTransitionOutcomeSpec, ed as ManifestStateTransitionPermissionSpec, eb as ManifestStateTransitionRelatedStateRequirementSpec, ec as ManifestStateTransitionRequirementsSpec, e3 as ManifestValidationOperator, e6 as ManifestValidationRuleSpec, eu as ManifestVolume, d6 as ManualActionListOptions, d4 as ManualActionOccurrence, d5 as ManualActionRecordResult, d2 as ManualActionRelatedRecord, d0 as ManualActionSource, c$ as ManualActionStatus, d7 as ManualActionSuggestion, d8 as ManualActionSuggestionOptions, d1 as ManualActionTarget, ds as MarkUserEnvironmentReadOptions, aV as MatchedPolicy, J as MessageFeedItem, dE as ModelRef, aC as NormalizedOpenAIUsage, $ as NormalizedSuggestedArtifact, aE as OPENAI_MODEL_PRICING_USD_PER_MILLION, bH as ObjectProjectionChange, bC as ObjectReference, O as ObjectsFeedItem, bS as ObservationReceipt, aB as OpenAIModelPricing, aD as OpenAITokenSpend, aJ as OpenAIUsageSpendEvent, b0 as OpenEnvironmentOptions, bk as PermissionProfile, bm as PermissionProfileListResponse, bj as PermissionRules, aR as PolicyOperator, aT as PolicyOrigin, aQ as PolicyPredicateSource, aU as PolicyRuleIR, aP as PolicySource, bK as ProjectionChange, a1 as PromptFeedItem, c5 as PublishEffectsResult, av as PublishFeedbackOptions, t as PublishToolsResult, aw as PublishTransientFeedbackOptions, bd as QuotaLineItemFilter, ba as QuotaPeriod, b9 as QuotaScopeType, bb as QuotaStatus, dw as RPCRequest, dB as RPCRequestFromServer, dx as RPCResponse, dW as RecordImport, dV as RecordImportItem, dT as RecordImportItemStatus, dR as RecordImportOptions, dU as RecordImportStats, dS as RecordImportStatus, dQ as RecordImportWriteMode, d3 as RecordManualActionInput, dg as RecordMentionInput, dN as RecordObjectResult, dH as RecordObjectStateValue, dO as RecordObjectsChunkInfo, dP as RecordObjectsOptions, aK as RecordOpenAIUsageSpendOptions, aL as RecordOpenAIUsageSpendResult, df as RecordSearchOptions, de as RecordSearchResult, a_ as RecordUserOptions, dF as RelationshipInfo, bI as RelationshipProjectionChange, bY as ResolvedEffectApprovalRequired, bW as ResolvedEffectDryRun, bV as ResolvedEffectPostCondition, bX as ResolvedEffectReverse, dY as RunEnvironmentImporterOptions, bg as Sandbox, bi as SandboxListResponse, bB as SemanticVersionDiff, bA as SemanticVersionDiffEntry, cV as SessionArtifactApprovalOptions, cI as SessionArtifactAutonomyPolicy, cU as SessionArtifactExecutionOptions, cT as SessionArtifactExecutionResult, cM as SessionArtifactFieldProvenance, cJ as SessionArtifactFieldProvenanceSource, cA as SessionArtifactKind, cN as SessionArtifactListOptions, cS as SessionArtifactRelationshipCreateInput, cQ as SessionArtifactRelationshipOption, cP as SessionArtifactRelationshipOptionsInput, cR as SessionArtifactRelationshipOptionsResult, cL as SessionArtifactRequestContext, cK as SessionArtifactRequestContextSource, cz as SessionArtifactStatus, cO as SessionArtifactValidationResult, di as SessionCollectionListOptions, dk as SessionCollectionListResult, dh as SessionDocumentResult, ab as SessionFeedApi, au as SessionFeedController, an as SessionFeedControllerOptions, cw as SessionFileKind, cy as SessionFileRecord, cv as SessionFileSource, cx as SessionFileStatus, d9 as SessionFileUploadOptions, db as SessionHeapFieldType, dc as SessionHeapFieldValue, dd as SessionHeapVariable, dj as SessionJobListOptions, da as SessionJobRecord, bT as SessionMutationView, cu as SessionTimelineEvent, cs as SessionTranscriptActionSuggestion, ct as SessionTranscriptShowRefs, ax as SettleTransientFeedbackOptions, dy as SnapshotResetMessage, bD as SourceAcknowledgement, b8 as SpendLineItemType, bc as SpendSummary, bJ as StateObservationProjectionChange, ey as StreamEvent, eA as StreamStats, ez as StreamSubscription, a$ as Subject, X as TableFeedItem, u as ToolHandler, c7 as ToolInfo, dC as ToolInvokeParams, dD as ToolResultParams, s as ToolSchema, c9 as ToolsChangedEvent, a5 as TransientFeedItem, a2 as TransientFeedItemBase, a4 as TransientFeedbackFeedItem, ay as TransientFeedbackHandle, a3 as TransientMessageFeedItem, bF as TransitionOutcomeProjection, bN as TransitionProjectionResult, aZ as User, dn as UserEnvironmentArtifactAttention, dm as UserEnvironmentMessagePreview, dl as UserEnvironmentPrompt, dp as UserEnvironmentSessionState, dq as UserEnvironmentState, dr as UserEnvironmentStateOptions, cp as UserMessageAppendResult, co as UserMessageInput, cm as UserMessageShowRefs, cn as UserMessageTarget, by as Version, br as VersionTag, bq as VersionTracking, dv as WSClientOptions, dt as WSDisconnectInfo, du as WSReconnectErrorInfo, aN as buildOpenAISpendEventId, aH as calculateOpenAITokenSpend, aA as createFeedPublisher, am as emitFeedDiagnostic, al as emitFeedDiagnosticToDefaultSink, ap as emptyFeedSnapshot, aF as getOpenAIModelPricing, aq as hasCanonicalSessionFeedActivation, ar as isCanonicalSessionFeedDocument, ac as mergeFeedItemsBySequence, ak as normalizeFeedDiagnostic, aj as normalizeFeedDiagnosticKind, at as normalizeFeedPage, aG as normalizeOpenAIUsage, ad as orderTransientFeedItems, as as readSessionFeedSnapshot, aO as recordOpenAIUsageSpend, aM as toGranularHttpBase } from './spend-DBRQOSaj.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';
package/dist/index.js CHANGED
@@ -17577,13 +17577,15 @@ var Environment = class _Environment {
17577
17577
  _apiEndpoint;
17578
17578
  _tokenProvider;
17579
17579
  _beforeMutationSend;
17580
- constructor(granular, envData, apiKey, apiEndpoint, tokenProvider, beforeMutationSend) {
17580
+ _graphqlIdempotencyKey;
17581
+ constructor(granular, envData, apiKey, apiEndpoint, tokenProvider, beforeMutationSend, graphqlIdempotencyKey) {
17581
17582
  this.granular = granular;
17582
17583
  this.envData = envData;
17583
17584
  this._apiKey = apiKey;
17584
17585
  this._apiEndpoint = apiEndpoint;
17585
17586
  this._tokenProvider = tokenProvider;
17586
17587
  this._beforeMutationSend = beforeMutationSend;
17588
+ this._graphqlIdempotencyKey = graphqlIdempotencyKey;
17587
17589
  }
17588
17590
  /** The environment ID */
17589
17591
  get environmentId() {
@@ -18126,11 +18128,13 @@ var Environment = class _Environment {
18126
18128
  if (this._beforeMutationSend && isGraphQLMutationDocument(query)) {
18127
18129
  this._beforeMutationSend?.();
18128
18130
  }
18131
+ const idempotencyKey = this._graphqlIdempotencyKey?.(query, variables);
18129
18132
  const response = await fetch(this._apiEndpoint, {
18130
18133
  method: "POST",
18131
18134
  headers: {
18132
18135
  "Content-Type": "application/json",
18133
- Authorization: `Bearer ${authToken}`
18136
+ Authorization: `Bearer ${authToken}`,
18137
+ ...idempotencyKey ? { "Idempotency-Key": idempotencyKey } : {}
18134
18138
  },
18135
18139
  body: JSON.stringify({
18136
18140
  environmentId: this.environmentId,
@@ -19704,6 +19708,7 @@ var Granular = class _Granular {
19704
19708
  onUnexpectedClose;
19705
19709
  onReconnectError;
19706
19710
  effectHostUrl;
19711
+ graphqlIdempotencyKey;
19707
19712
  debugHttp = process.env.GRANULAR_DEBUG_HTTP === "1";
19708
19713
  /** Sandbox-level effect registry: sandboxId → (effectKey@selector → ToolWithHandler) */
19709
19714
  sandboxEffects = /* @__PURE__ */ new Map();
@@ -19733,6 +19738,7 @@ var Granular = class _Granular {
19733
19738
  this.onUnexpectedClose = options.onUnexpectedClose;
19734
19739
  this.onReconnectError = options.onReconnectError;
19735
19740
  this.effectHostUrl = options.effectHostUrl;
19741
+ this.graphqlIdempotencyKey = options.graphqlIdempotencyKey;
19736
19742
  this.httpUrl = this.apiUrl.replace(/^wss:\/\//, "https://").replace(/^ws:\/\//, "http://").replace(/\/ws$/, "");
19737
19743
  }
19738
19744
  /**
@@ -20748,7 +20754,9 @@ var Granular = class _Granular {
20748
20754
  envData,
20749
20755
  this.apiKey,
20750
20756
  graphqlEndpoint,
20751
- this.tokenProvider
20757
+ this.tokenProvider,
20758
+ void 0,
20759
+ this.graphqlIdempotencyKey
20752
20760
  );
20753
20761
  }
20754
20762
  async bindWebSocketEnvironmentSession(environment, clientId, session, transportOptions = {}) {