@granular-software/sdk 0.4.49 → 0.4.50

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 { bl as WSClientOptions, a7 as GranularQuotaProgress, T as ToolWithHandler, f as PublishToolsResult, aT as Job, g as ToolHandler, I as InstanceToolHandler, aV as ConversationMessageInput, aW as ConversationAppendResult, aG as EffectInfo, P as Prompt, aF as ToolInfo, aI as EffectsChangedEvent, aH as ToolsChangedEvent, D as DomainState, Q as GranularOptions, bM as EnvironmentImporter, W as RecordUserOptions, V as User, Y as OpenEnvironmentOptions, ak as EnvironmentData, ah as BuildPolicy, bK as EnvironmentSetupSummary, $ as ConversationSessionInfo, _ as CreateSessionOptions, bv as RecordObjectOptions, bw as RecordObjectResult, by as RecordObjectsOptions, bF as RecordImport, bB as RecordImportStatus, bG as EnvironmentRecordImportSummary, aR as EnvironmentFeedbackRecord, c as SessionHeapSnapshot, b9 as SessionDocumentResult, ba as SessionCollectionListOptions, bc as SessionCollectionListResult, aX as SessionConversationMessage, aY as SessionTimelineEvent, bb as SessionJobListOptions, b2 as SessionJobRecord, b0 as SessionFileRecord, b1 as SessionFileUploadOptions, S as SessionHeapEntry, b as SessionHeapList, b5 as SessionHeapVariable, d as SessionTranscriptEntry, c6 as GraphQLResult, b7 as RecordSearchOptions, b6 as RecordSearchResult, b8 as RecordMentionInput, bu as DefineRelationshipOptions, bt as RelationshipInfo, bs as ModelRef, c5 as ManifestContent, bA as RecordImportOptions, bh as UserEnvironmentStateOptions, bg as UserEnvironmentState, bi as MarkUserEnvironmentReadOptions, Z as ConnectOptions, bI as RunEnvironmentImporterOptions, l as OpenAIUsageSpendEvent, G as GranularSpendContext, o as RecordOpenAIUsageSpendResult, aa as SandboxListResponse, a8 as Sandbox, a9 as CreateSandboxData, c8 as DeleteResponse, ac as PermissionProfile, ad as CreatePermissionProfileData, al as CreateEnvironmentData, c9 as StreamEvent, ca as StreamSubscription, cb as StreamStats, X as Subject, ag as AssignmentListResponse } from './spend-CStuOBXb.mjs';
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';
2
2
  import * as Automerge from '@automerge/automerge';
3
3
  import { Doc } from '@automerge/automerge/slim';
4
4
 
@@ -338,9 +338,33 @@ declare class Environment {
338
338
  cancelImport: (importId: string) => Promise<RecordImport>;
339
339
  getAwaitingCount: () => Promise<number>;
340
340
  };
341
+ /**
342
+ * Mirror product-owned workflow state into Granular without making Granular
343
+ * own the customer application's state machine.
344
+ */
345
+ recordState(input: EnvironmentStateUpdateInput): Promise<RecordObjectResult>;
346
+ /**
347
+ * Mirror product-owned workflow state into Granular without making Granular
348
+ * own the customer application's state machine.
349
+ *
350
+ * Example:
351
+ * `await env.recordState({ className: "spend_request", id, machine: "lifecycle", state: "policy_review", source: "customer_backend" })`
352
+ */
353
+ state(target: EnvironmentStateTarget): EnvironmentStateProxy;
341
354
  get feedback(): {
342
355
  list: () => Promise<EnvironmentFeedbackRecord[]>;
343
356
  };
357
+ get manualActions(): {
358
+ record: (input: RecordManualActionInput) => Promise<ManualActionRecordResult>;
359
+ list: (options?: ManualActionListOptions) => Promise<SessionCollectionListResult<ManualActionOccurrence>>;
360
+ suggest: (options?: ManualActionSuggestionOptions) => Promise<{
361
+ items: ManualActionSuggestion[];
362
+ }>;
363
+ };
364
+ get artifactApprovals(): {
365
+ list: (options?: ArtifactApprovalTaskListOptions) => Promise<SessionCollectionListResult<ArtifactApprovalTask>>;
366
+ decide: (approvalTaskId: string, input: ArtifactApprovalDecisionInput) => Promise<ArtifactApprovalDecisionResult>;
367
+ };
344
368
  /**
345
369
  * Sessionless environments do not own a live transport, so disconnecting the
346
370
  * environment handle itself is a no-op. This keeps the public surface
@@ -363,6 +387,13 @@ declare class Environment {
363
387
  }): Promise<EnvironmentSession>;
364
388
  closeSession(sessionId: string, session?: EnvironmentSession | null): Promise<void>;
365
389
  listFeedback(): Promise<EnvironmentFeedbackRecord[]>;
390
+ recordManualAction(input: RecordManualActionInput): Promise<ManualActionRecordResult>;
391
+ listManualActions(options?: ManualActionListOptions): Promise<SessionCollectionListResult<ManualActionOccurrence>>;
392
+ suggestManualActions(options?: ManualActionSuggestionOptions): Promise<{
393
+ items: ManualActionSuggestion[];
394
+ }>;
395
+ listArtifactApprovals(options?: ArtifactApprovalTaskListOptions): Promise<SessionCollectionListResult<ArtifactApprovalTask>>;
396
+ decideArtifactApproval(approvalTaskId: string, input: ArtifactApprovalDecisionInput): Promise<ArtifactApprovalDecisionResult>;
366
397
  private getRuntimeBaseUrl;
367
398
  private controlPlaneRequest;
368
399
  private static normalizeGraphPathSegment;
@@ -707,6 +738,34 @@ declare class EnvironmentSession extends Session {
707
738
  get jobs(): {
708
739
  list: (options?: SessionJobListOptions) => Promise<SessionCollectionListResult<SessionJobRecord>>;
709
740
  get: (jobId: string) => Promise<SessionJobRecord>;
741
+ latest: (options?: Pick<SessionJobListOptions, "status">) => Promise<SessionJobRecord | null>;
742
+ };
743
+ get artifacts(): {
744
+ list: (options?: SessionArtifactListOptions) => Promise<SessionCollectionListResult<SessionArtifactRecord>>;
745
+ listForLatestJob: (options?: Omit<SessionArtifactListOptions, "jobId" | "latestJob">) => Promise<SessionCollectionListResult<SessionArtifactRecord>>;
746
+ get: (artifactId: string) => Promise<SessionArtifactRecord>;
747
+ create: (artifact: Partial<SessionArtifactRecord> & {
748
+ label: string;
749
+ }) => Promise<SessionArtifactRecord>;
750
+ updateInputs: (artifactId: string, patch: {
751
+ inputValues?: Record<string, unknown>;
752
+ relationships?: Record<string, string | string[] | null>;
753
+ }) => Promise<SessionArtifactRecord>;
754
+ validate: (artifactId: string) => Promise<SessionArtifactValidationResult>;
755
+ execute: (artifactId: string, options: SessionArtifactExecutionOptions) => Promise<SessionArtifactExecutionResult>;
756
+ approve: (artifactId: string, options: SessionArtifactApprovalOptions) => Promise<SessionArtifactExecutionResult>;
757
+ cancel: (artifactId: string) => Promise<SessionArtifactRecord>;
758
+ };
759
+ get manualActions(): {
760
+ record: (input: RecordManualActionInput) => Promise<ManualActionRecordResult>;
761
+ list: (options?: ManualActionListOptions) => Promise<SessionCollectionListResult<ManualActionOccurrence>>;
762
+ suggest: (options?: ManualActionSuggestionOptions) => Promise<{
763
+ items: ManualActionSuggestion[];
764
+ }>;
765
+ };
766
+ get artifactApprovals(): {
767
+ list: (options?: ArtifactApprovalTaskListOptions) => Promise<SessionCollectionListResult<ArtifactApprovalTask>>;
768
+ decide: (approvalTaskId: string, input: ArtifactApprovalDecisionInput) => Promise<ArtifactApprovalDecisionResult>;
710
769
  };
711
770
  get files(): {
712
771
  list: (options?: SessionCollectionListOptions & {
@@ -755,6 +814,8 @@ declare class EnvironmentSession extends Session {
755
814
  errors: string[];
756
815
  }>;
757
816
  recordObject(options: RecordObjectOptions): Promise<RecordObjectResult>;
817
+ recordState(input: EnvironmentStateUpdateInput): Promise<RecordObjectResult>;
818
+ state(target: EnvironmentStateTarget): EnvironmentStateProxy;
758
819
  recordObjects(records: RecordObjectOptions[], options?: RecordObjectsOptions): Promise<RecordObjectResult[]>;
759
820
  enqueueRecordImport(records: RecordObjectOptions[], options?: RecordImportOptions): Promise<RecordImport>;
760
821
  listRecordImports(status?: RecordImportStatus): Promise<RecordImport[]>;
@@ -1,4 +1,4 @@
1
- import { bl as WSClientOptions, a7 as GranularQuotaProgress, T as ToolWithHandler, f as PublishToolsResult, aT as Job, g as ToolHandler, I as InstanceToolHandler, aV as ConversationMessageInput, aW as ConversationAppendResult, aG as EffectInfo, P as Prompt, aF as ToolInfo, aI as EffectsChangedEvent, aH as ToolsChangedEvent, D as DomainState, Q as GranularOptions, bM as EnvironmentImporter, W as RecordUserOptions, V as User, Y as OpenEnvironmentOptions, ak as EnvironmentData, ah as BuildPolicy, bK as EnvironmentSetupSummary, $ as ConversationSessionInfo, _ as CreateSessionOptions, bv as RecordObjectOptions, bw as RecordObjectResult, by as RecordObjectsOptions, bF as RecordImport, bB as RecordImportStatus, bG as EnvironmentRecordImportSummary, aR as EnvironmentFeedbackRecord, c as SessionHeapSnapshot, b9 as SessionDocumentResult, ba as SessionCollectionListOptions, bc as SessionCollectionListResult, aX as SessionConversationMessage, aY as SessionTimelineEvent, bb as SessionJobListOptions, b2 as SessionJobRecord, b0 as SessionFileRecord, b1 as SessionFileUploadOptions, S as SessionHeapEntry, b as SessionHeapList, b5 as SessionHeapVariable, d as SessionTranscriptEntry, c6 as GraphQLResult, b7 as RecordSearchOptions, b6 as RecordSearchResult, b8 as RecordMentionInput, bu as DefineRelationshipOptions, bt as RelationshipInfo, bs as ModelRef, c5 as ManifestContent, bA as RecordImportOptions, bh as UserEnvironmentStateOptions, bg as UserEnvironmentState, bi as MarkUserEnvironmentReadOptions, Z as ConnectOptions, bI as RunEnvironmentImporterOptions, l as OpenAIUsageSpendEvent, G as GranularSpendContext, o as RecordOpenAIUsageSpendResult, aa as SandboxListResponse, a8 as Sandbox, a9 as CreateSandboxData, c8 as DeleteResponse, ac as PermissionProfile, ad as CreatePermissionProfileData, al as CreateEnvironmentData, c9 as StreamEvent, ca as StreamSubscription, cb as StreamStats, X as Subject, ag as AssignmentListResponse } from './spend-CStuOBXb.js';
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';
2
2
  import * as Automerge from '@automerge/automerge';
3
3
  import { Doc } from '@automerge/automerge/slim';
4
4
 
@@ -338,9 +338,33 @@ declare class Environment {
338
338
  cancelImport: (importId: string) => Promise<RecordImport>;
339
339
  getAwaitingCount: () => Promise<number>;
340
340
  };
341
+ /**
342
+ * Mirror product-owned workflow state into Granular without making Granular
343
+ * own the customer application's state machine.
344
+ */
345
+ recordState(input: EnvironmentStateUpdateInput): Promise<RecordObjectResult>;
346
+ /**
347
+ * Mirror product-owned workflow state into Granular without making Granular
348
+ * own the customer application's state machine.
349
+ *
350
+ * Example:
351
+ * `await env.recordState({ className: "spend_request", id, machine: "lifecycle", state: "policy_review", source: "customer_backend" })`
352
+ */
353
+ state(target: EnvironmentStateTarget): EnvironmentStateProxy;
341
354
  get feedback(): {
342
355
  list: () => Promise<EnvironmentFeedbackRecord[]>;
343
356
  };
357
+ get manualActions(): {
358
+ record: (input: RecordManualActionInput) => Promise<ManualActionRecordResult>;
359
+ list: (options?: ManualActionListOptions) => Promise<SessionCollectionListResult<ManualActionOccurrence>>;
360
+ suggest: (options?: ManualActionSuggestionOptions) => Promise<{
361
+ items: ManualActionSuggestion[];
362
+ }>;
363
+ };
364
+ get artifactApprovals(): {
365
+ list: (options?: ArtifactApprovalTaskListOptions) => Promise<SessionCollectionListResult<ArtifactApprovalTask>>;
366
+ decide: (approvalTaskId: string, input: ArtifactApprovalDecisionInput) => Promise<ArtifactApprovalDecisionResult>;
367
+ };
344
368
  /**
345
369
  * Sessionless environments do not own a live transport, so disconnecting the
346
370
  * environment handle itself is a no-op. This keeps the public surface
@@ -363,6 +387,13 @@ declare class Environment {
363
387
  }): Promise<EnvironmentSession>;
364
388
  closeSession(sessionId: string, session?: EnvironmentSession | null): Promise<void>;
365
389
  listFeedback(): Promise<EnvironmentFeedbackRecord[]>;
390
+ recordManualAction(input: RecordManualActionInput): Promise<ManualActionRecordResult>;
391
+ listManualActions(options?: ManualActionListOptions): Promise<SessionCollectionListResult<ManualActionOccurrence>>;
392
+ suggestManualActions(options?: ManualActionSuggestionOptions): Promise<{
393
+ items: ManualActionSuggestion[];
394
+ }>;
395
+ listArtifactApprovals(options?: ArtifactApprovalTaskListOptions): Promise<SessionCollectionListResult<ArtifactApprovalTask>>;
396
+ decideArtifactApproval(approvalTaskId: string, input: ArtifactApprovalDecisionInput): Promise<ArtifactApprovalDecisionResult>;
366
397
  private getRuntimeBaseUrl;
367
398
  private controlPlaneRequest;
368
399
  private static normalizeGraphPathSegment;
@@ -707,6 +738,34 @@ declare class EnvironmentSession extends Session {
707
738
  get jobs(): {
708
739
  list: (options?: SessionJobListOptions) => Promise<SessionCollectionListResult<SessionJobRecord>>;
709
740
  get: (jobId: string) => Promise<SessionJobRecord>;
741
+ latest: (options?: Pick<SessionJobListOptions, "status">) => Promise<SessionJobRecord | null>;
742
+ };
743
+ get artifacts(): {
744
+ list: (options?: SessionArtifactListOptions) => Promise<SessionCollectionListResult<SessionArtifactRecord>>;
745
+ listForLatestJob: (options?: Omit<SessionArtifactListOptions, "jobId" | "latestJob">) => Promise<SessionCollectionListResult<SessionArtifactRecord>>;
746
+ get: (artifactId: string) => Promise<SessionArtifactRecord>;
747
+ create: (artifact: Partial<SessionArtifactRecord> & {
748
+ label: string;
749
+ }) => Promise<SessionArtifactRecord>;
750
+ updateInputs: (artifactId: string, patch: {
751
+ inputValues?: Record<string, unknown>;
752
+ relationships?: Record<string, string | string[] | null>;
753
+ }) => Promise<SessionArtifactRecord>;
754
+ validate: (artifactId: string) => Promise<SessionArtifactValidationResult>;
755
+ execute: (artifactId: string, options: SessionArtifactExecutionOptions) => Promise<SessionArtifactExecutionResult>;
756
+ approve: (artifactId: string, options: SessionArtifactApprovalOptions) => Promise<SessionArtifactExecutionResult>;
757
+ cancel: (artifactId: string) => Promise<SessionArtifactRecord>;
758
+ };
759
+ get manualActions(): {
760
+ record: (input: RecordManualActionInput) => Promise<ManualActionRecordResult>;
761
+ list: (options?: ManualActionListOptions) => Promise<SessionCollectionListResult<ManualActionOccurrence>>;
762
+ suggest: (options?: ManualActionSuggestionOptions) => Promise<{
763
+ items: ManualActionSuggestion[];
764
+ }>;
765
+ };
766
+ get artifactApprovals(): {
767
+ list: (options?: ArtifactApprovalTaskListOptions) => Promise<SessionCollectionListResult<ArtifactApprovalTask>>;
768
+ decide: (approvalTaskId: string, input: ArtifactApprovalDecisionInput) => Promise<ArtifactApprovalDecisionResult>;
710
769
  };
711
770
  get files(): {
712
771
  list: (options?: SessionCollectionListOptions & {
@@ -755,6 +814,8 @@ declare class EnvironmentSession extends Session {
755
814
  errors: string[];
756
815
  }>;
757
816
  recordObject(options: RecordObjectOptions): Promise<RecordObjectResult>;
817
+ recordState(input: EnvironmentStateUpdateInput): Promise<RecordObjectResult>;
818
+ state(target: EnvironmentStateTarget): EnvironmentStateProxy;
758
819
  recordObjects(records: RecordObjectOptions[], options?: RecordObjectsOptions): Promise<RecordObjectResult[]>;
759
820
  enqueueRecordImport(records: RecordObjectOptions[], options?: RecordImportOptions): Promise<RecordImport>;
760
821
  listRecordImports(status?: RecordImportStatus): Promise<RecordImport[]>;
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-B-MPVvDr.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-CStuOBXb.mjs';
3
- export { c7 as APIError, K as AccessTokenProvider, af as Assignment, ag as AssignmentListResponse, aq as Build, as as BuildListResponse, ah as BuildPolicy, ap as BuildStatus, C as ConditionIR, J as ConditionalPolicySpec, Z as ConnectOptions, aW as ConversationAppendResult, aV as ConversationMessageInput, aU as ConversationMessageShowRefs, $ as ConversationSessionInfo, al as CreateEnvironmentData, ad as CreatePermissionProfileData, a9 as CreateSandboxData, _ as CreateSessionOptions, bu as DefineRelationshipOptions, c8 as DeleteResponse, D as DomainState, aJ as EffectHandler, aG as EffectInfo, aA as EffectInvocationMetadata, az as EffectInvocationMode, aB as EffectSchema, aE as EffectVersionSelector, aC as EffectWithHandler, aI as EffectsChangedEvent, ak as EnvironmentData, aR as EnvironmentFeedbackRecord, bM as EnvironmentImporter, bL as EnvironmentImporterImportOptions, am as EnvironmentListResponse, bG as EnvironmentRecordImportSummary, bJ as EnvironmentSetupLifecycleStatus, bK as EnvironmentSetupSummary, bH as EnvironmentSetupTriggerReason, U as GranularAuth, Q as GranularOptions, a6 as GranularQuotaPolicy, a7 as GranularQuotaProgress, G as GranularSpendContext, c6 as GraphQLResult, aK as InstanceEffectHandler, I as InstanceToolHandler, aT as Job, aP as JobFeedbackInput, aO as JobFeedbackMetadata, aQ as JobFeedbackRecord, aM as JobFeedbackSentiment, aN as JobFeedbackToolCall, aL as JobStatus, aS as JobSubmitResult, L as LimitPolicySpec, an as Manifest, bY as ManifestApprovalRequiredSpec, c5 as ManifestContent, bW as ManifestDryRunSpec, b$ as ManifestEffectDeclaration, b_ as ManifestEffectSchema, bP as ManifestEnumRuleSpec, c1 as ManifestEventStreamDef, c0 as ManifestEventTypeDef, bQ as ManifestFilterBySpec, c3 as ManifestImport, ao as ManifestListResponse, c2 as ManifestOperation, bV as ManifestPostConditionSpec, bN as ManifestPropertySpec, bZ as ManifestRelationshipDef, bX as ManifestReverseSpec, bU as ManifestStateMachineSpec, bS as ManifestStateMachineStateSpec, bT as ManifestStateMachineTransitionSpec, bO as ManifestValidationOperator, bR as ManifestValidationRuleSpec, c4 as ManifestVolume, bi as MarkUserEnvironmentReadOptions, y as MatchedPolicy, bs as ModelRef, N as NormalizedOpenAIUsage, i as OPENAI_MODEL_PRICING_USD_PER_MILLION, O as OpenAIModelPricing, h as OpenAITokenSpend, l as OpenAIUsageSpendEvent, Y as OpenEnvironmentOptions, H as PermissionActionSpec, F as PermissionPolicySpec, ac as PermissionProfile, B as PermissionProfileFile, ae as PermissionProfileListResponse, ab as PermissionRules, z as PolicyDecision, A as PolicyEvaluationContext, v as PolicyOperator, w as PolicyOrigin, q as PolicyOutcome, u as PolicyPredicateSource, x as PolicyRuleIR, s as PolicySource, aD as PublishEffectsResult, f as PublishToolsResult, a5 as QuotaLineItemFilter, a2 as QuotaPeriod, a1 as QuotaScopeType, a3 as QuotaStatus, bm as RPCRequest, bp as RPCRequestFromServer, bn as RPCResponse, bF as RecordImport, bE as RecordImportItem, bC as RecordImportItemStatus, bA as RecordImportOptions, bD as RecordImportStats, bB as RecordImportStatus, bz as RecordImportWriteMode, b8 as RecordMentionInput, bv as RecordObjectOptions, bw as RecordObjectResult, bx as RecordObjectsChunkInfo, by as RecordObjectsOptions, m as RecordOpenAIUsageSpendOptions, o as RecordOpenAIUsageSpendResult, b7 as RecordSearchOptions, b6 as RecordSearchResult, W as RecordUserOptions, bt as RelationshipInfo, ay as ResolvedEffectApprovalRequired, aw as ResolvedEffectDryRun, av as ResolvedEffectPostCondition, ax as ResolvedEffectReverse, bI as RunEnvironmentImporterOptions, a8 as Sandbox, aa as SandboxListResponse, au as SemanticVersionDiff, at as SemanticVersionDiffEntry, ba as SessionCollectionListOptions, bc as SessionCollectionListResult, aX as SessionConversationMessage, b9 as SessionDocumentResult, a_ as SessionFileKind, b0 as SessionFileRecord, aZ as SessionFileSource, a$ as SessionFileStatus, b1 as SessionFileUploadOptions, b3 as SessionHeapFieldType, b4 as SessionHeapFieldValue, b5 as SessionHeapVariable, bb as SessionJobListOptions, b2 as SessionJobRecord, aY as SessionTimelineEvent, a0 as SpendLineItemType, a4 as SpendSummary, c9 as StreamEvent, cb as StreamStats, ca as StreamSubscription, X as Subject, bo as SyncMessage, g as ToolHandler, aF as ToolInfo, bq as ToolInvokeParams, br as ToolResultParams, e as ToolSchema, aH as ToolsChangedEvent, V as User, be as UserEnvironmentMessagePreview, bd as UserEnvironmentPrompt, bf as UserEnvironmentSessionState, bg as UserEnvironmentState, bh as UserEnvironmentStateOptions, ar as Version, aj as VersionTag, ai as VersionTracking, bl as WSClientOptions, bj as WSDisconnectInfo, bk as WSReconnectErrorInfo, p as buildOpenAISpendEventId, k as calculateOpenAITokenSpend, j as getOpenAIModelPricing, n as normalizeOpenAIUsage, r as recordOpenAIUsageSpend, t as toGranularHttpBase } from './spend-CStuOBXb.mjs';
4
- export { BuildGranularAgentSystemPromptInput, GeneratedJobCodeIssue, GranularAgentExecutionCheckpoint, GranularAgentHeapSummaryOptions, 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, 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';
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';
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';
7
7
 
@@ -29,6 +29,105 @@ type EffectRuntimeRequest = {
29
29
  declare function normalizeEffectBehaviors(value?: ManifestEffectMetamodelSpec | ResolvedEffectBehaviors | null): ResolvedEffectBehaviors;
30
30
  declare function invokeRegisteredEffect(effectMap: Map<string, ToolWithHandler>, request: EffectRuntimeRequest): Promise<unknown>;
31
31
 
32
+ interface ValidationRuleEvaluationInput {
33
+ operator?: string | null;
34
+ stringValue?: string;
35
+ string_value?: string;
36
+ numberValue?: number;
37
+ number_value?: number;
38
+ booleanValue?: boolean;
39
+ boolean_value?: boolean;
40
+ message?: string | null;
41
+ }
42
+ interface ValidationRuleEvaluationResult {
43
+ passed: boolean;
44
+ operator: string;
45
+ message?: string | null;
46
+ }
47
+ declare function evaluateValidationRule(value: unknown, rule: ValidationRuleEvaluationInput): ValidationRuleEvaluationResult;
48
+ declare function validationRuleFailureMessage(path: string, rule: ValidationRuleEvaluationInput): string;
49
+
50
+ type PolicyOutcome = "allow" | "confirm" | "deny";
51
+ type PolicySource = "manifest" | "permissionProfile" | "builtin";
52
+ type PolicyOrigin = {
53
+ kind: "manifest";
54
+ manifestId?: string;
55
+ effectKey: string;
56
+ } | {
57
+ kind: "permissionProfile";
58
+ profileName: string;
59
+ permissionProfileVersionId?: string;
60
+ source: PolicySource;
61
+ };
62
+ interface MatchedPolicy {
63
+ id: string;
64
+ outcome: PolicyOutcome;
65
+ origin: PolicyOrigin;
66
+ reason?: string;
67
+ summary: string;
68
+ }
69
+ interface PolicyDecision {
70
+ outcome: PolicyOutcome;
71
+ matches: MatchedPolicy[];
72
+ }
73
+ interface PolicyEvaluationContext {
74
+ input?: Record<string, unknown> | null;
75
+ object?: Record<string, unknown> | null;
76
+ stateMachines?: Record<string, string | null | undefined> | null;
77
+ }
78
+ interface PermissionProfileFile {
79
+ schemaVersion?: number;
80
+ name: string;
81
+ label?: string;
82
+ description?: string;
83
+ extends?: string;
84
+ defaultsOwnerName?: string;
85
+ source?: PolicySource;
86
+ sourcePath?: string;
87
+ defaults?: {
88
+ actionPolicy?: PolicyOutcome;
89
+ };
90
+ policies?: PermissionPolicySpec[];
91
+ actions?: PermissionActionSpec[];
92
+ }
93
+ interface PermissionPolicySpec {
94
+ id?: string;
95
+ ownerProfileName?: string;
96
+ action?: string;
97
+ on?: string;
98
+ decision?: PolicyOutcome;
99
+ outcome?: PolicyOutcome;
100
+ reason?: string;
101
+ when?: unknown;
102
+ }
103
+ interface PermissionActionSpec {
104
+ id?: string;
105
+ ownerProfileName?: string;
106
+ action: string;
107
+ on?: string;
108
+ allow?: "always";
109
+ deny?: "always";
110
+ confirm?: "always";
111
+ reason?: string;
112
+ allowWhen?: ConditionalPolicySpec[];
113
+ confirmWhen?: ConditionalPolicySpec[];
114
+ denyWhen?: ConditionalPolicySpec[];
115
+ limits?: LimitPolicySpec[];
116
+ }
117
+ interface ConditionalPolicySpec {
118
+ id?: string;
119
+ reason?: string;
120
+ when: unknown;
121
+ }
122
+ interface LimitPolicySpec {
123
+ id?: string;
124
+ input: string | string[];
125
+ upTo?: number;
126
+ above?: number;
127
+ decision: PolicyOutcome;
128
+ reason?: string;
129
+ }
130
+
32
131
  interface JobPresentation {
33
132
  responseText: string | null;
34
133
  entries: SessionHeapEntry[];
@@ -75,4 +174,4 @@ declare function buildSessionTranscript(input: {
75
174
  sessionHeap?: SessionHeapSnapshot;
76
175
  }): SessionTranscriptEntry[];
77
176
 
78
- export { EffectHandlerContext, EndpointMode, type JobPresentation, ManifestEffectMetamodelSpec, type NormalizedPromptChoiceOption, Prompt, ResolvedEffectBehaviors, SessionHeapEntry, SessionHeapList, SessionHeapSnapshot, SessionTranscriptEntry, ToolWithHandler, buildSessionTranscript, extractPromptTokens, invokeRegisteredEffect, isLocalApiUrl, normalizeEffectBehaviors, normalizePrompt, normalizePromptChoiceOption, normalizePromptText, normalizePromptType, resolveApiUrl, resolveAuthTokenForApiUrl, resolveJobPresentation, resolvePromptAnswer, scorePromptChoiceMatch };
177
+ export { type ConditionalPolicySpec, EffectHandlerContext, EndpointMode, type JobPresentation, type LimitPolicySpec, ManifestEffectMetamodelSpec, type NormalizedPromptChoiceOption, type PermissionActionSpec, type PermissionPolicySpec, type PermissionProfileFile, type PolicyDecision, type PolicyEvaluationContext, type PolicyOutcome, Prompt, ResolvedEffectBehaviors, SessionHeapEntry, SessionHeapList, SessionHeapSnapshot, SessionTranscriptEntry, ToolWithHandler, type ValidationRuleEvaluationInput, type ValidationRuleEvaluationResult, buildSessionTranscript, evaluateValidationRule, extractPromptTokens, invokeRegisteredEffect, isLocalApiUrl, normalizeEffectBehaviors, normalizePrompt, normalizePromptChoiceOption, normalizePromptText, normalizePromptType, resolveApiUrl, resolveAuthTokenForApiUrl, resolveJobPresentation, resolvePromptAnswer, scorePromptChoiceMatch, validationRuleFailureMessage };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { E as Environment, a as EnvironmentSession, G as Granular, O as OntologyHandle, S as Session, W as WSClient } from './client-zihxkDDs.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-CStuOBXb.js';
3
- export { c7 as APIError, K as AccessTokenProvider, af as Assignment, ag as AssignmentListResponse, aq as Build, as as BuildListResponse, ah as BuildPolicy, ap as BuildStatus, C as ConditionIR, J as ConditionalPolicySpec, Z as ConnectOptions, aW as ConversationAppendResult, aV as ConversationMessageInput, aU as ConversationMessageShowRefs, $ as ConversationSessionInfo, al as CreateEnvironmentData, ad as CreatePermissionProfileData, a9 as CreateSandboxData, _ as CreateSessionOptions, bu as DefineRelationshipOptions, c8 as DeleteResponse, D as DomainState, aJ as EffectHandler, aG as EffectInfo, aA as EffectInvocationMetadata, az as EffectInvocationMode, aB as EffectSchema, aE as EffectVersionSelector, aC as EffectWithHandler, aI as EffectsChangedEvent, ak as EnvironmentData, aR as EnvironmentFeedbackRecord, bM as EnvironmentImporter, bL as EnvironmentImporterImportOptions, am as EnvironmentListResponse, bG as EnvironmentRecordImportSummary, bJ as EnvironmentSetupLifecycleStatus, bK as EnvironmentSetupSummary, bH as EnvironmentSetupTriggerReason, U as GranularAuth, Q as GranularOptions, a6 as GranularQuotaPolicy, a7 as GranularQuotaProgress, G as GranularSpendContext, c6 as GraphQLResult, aK as InstanceEffectHandler, I as InstanceToolHandler, aT as Job, aP as JobFeedbackInput, aO as JobFeedbackMetadata, aQ as JobFeedbackRecord, aM as JobFeedbackSentiment, aN as JobFeedbackToolCall, aL as JobStatus, aS as JobSubmitResult, L as LimitPolicySpec, an as Manifest, bY as ManifestApprovalRequiredSpec, c5 as ManifestContent, bW as ManifestDryRunSpec, b$ as ManifestEffectDeclaration, b_ as ManifestEffectSchema, bP as ManifestEnumRuleSpec, c1 as ManifestEventStreamDef, c0 as ManifestEventTypeDef, bQ as ManifestFilterBySpec, c3 as ManifestImport, ao as ManifestListResponse, c2 as ManifestOperation, bV as ManifestPostConditionSpec, bN as ManifestPropertySpec, bZ as ManifestRelationshipDef, bX as ManifestReverseSpec, bU as ManifestStateMachineSpec, bS as ManifestStateMachineStateSpec, bT as ManifestStateMachineTransitionSpec, bO as ManifestValidationOperator, bR as ManifestValidationRuleSpec, c4 as ManifestVolume, bi as MarkUserEnvironmentReadOptions, y as MatchedPolicy, bs as ModelRef, N as NormalizedOpenAIUsage, i as OPENAI_MODEL_PRICING_USD_PER_MILLION, O as OpenAIModelPricing, h as OpenAITokenSpend, l as OpenAIUsageSpendEvent, Y as OpenEnvironmentOptions, H as PermissionActionSpec, F as PermissionPolicySpec, ac as PermissionProfile, B as PermissionProfileFile, ae as PermissionProfileListResponse, ab as PermissionRules, z as PolicyDecision, A as PolicyEvaluationContext, v as PolicyOperator, w as PolicyOrigin, q as PolicyOutcome, u as PolicyPredicateSource, x as PolicyRuleIR, s as PolicySource, aD as PublishEffectsResult, f as PublishToolsResult, a5 as QuotaLineItemFilter, a2 as QuotaPeriod, a1 as QuotaScopeType, a3 as QuotaStatus, bm as RPCRequest, bp as RPCRequestFromServer, bn as RPCResponse, bF as RecordImport, bE as RecordImportItem, bC as RecordImportItemStatus, bA as RecordImportOptions, bD as RecordImportStats, bB as RecordImportStatus, bz as RecordImportWriteMode, b8 as RecordMentionInput, bv as RecordObjectOptions, bw as RecordObjectResult, bx as RecordObjectsChunkInfo, by as RecordObjectsOptions, m as RecordOpenAIUsageSpendOptions, o as RecordOpenAIUsageSpendResult, b7 as RecordSearchOptions, b6 as RecordSearchResult, W as RecordUserOptions, bt as RelationshipInfo, ay as ResolvedEffectApprovalRequired, aw as ResolvedEffectDryRun, av as ResolvedEffectPostCondition, ax as ResolvedEffectReverse, bI as RunEnvironmentImporterOptions, a8 as Sandbox, aa as SandboxListResponse, au as SemanticVersionDiff, at as SemanticVersionDiffEntry, ba as SessionCollectionListOptions, bc as SessionCollectionListResult, aX as SessionConversationMessage, b9 as SessionDocumentResult, a_ as SessionFileKind, b0 as SessionFileRecord, aZ as SessionFileSource, a$ as SessionFileStatus, b1 as SessionFileUploadOptions, b3 as SessionHeapFieldType, b4 as SessionHeapFieldValue, b5 as SessionHeapVariable, bb as SessionJobListOptions, b2 as SessionJobRecord, aY as SessionTimelineEvent, a0 as SpendLineItemType, a4 as SpendSummary, c9 as StreamEvent, cb as StreamStats, ca as StreamSubscription, X as Subject, bo as SyncMessage, g as ToolHandler, aF as ToolInfo, bq as ToolInvokeParams, br as ToolResultParams, e as ToolSchema, aH as ToolsChangedEvent, V as User, be as UserEnvironmentMessagePreview, bd as UserEnvironmentPrompt, bf as UserEnvironmentSessionState, bg as UserEnvironmentState, bh as UserEnvironmentStateOptions, ar as Version, aj as VersionTag, ai as VersionTracking, bl as WSClientOptions, bj as WSDisconnectInfo, bk as WSReconnectErrorInfo, p as buildOpenAISpendEventId, k as calculateOpenAITokenSpend, j as getOpenAIModelPricing, n as normalizeOpenAIUsage, r as recordOpenAIUsageSpend, t as toGranularHttpBase } from './spend-CStuOBXb.js';
4
- export { BuildGranularAgentSystemPromptInput, GeneratedJobCodeIssue, GranularAgentExecutionCheckpoint, GranularAgentHeapSummaryOptions, 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, 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';
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';
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';
7
7
 
@@ -29,6 +29,105 @@ type EffectRuntimeRequest = {
29
29
  declare function normalizeEffectBehaviors(value?: ManifestEffectMetamodelSpec | ResolvedEffectBehaviors | null): ResolvedEffectBehaviors;
30
30
  declare function invokeRegisteredEffect(effectMap: Map<string, ToolWithHandler>, request: EffectRuntimeRequest): Promise<unknown>;
31
31
 
32
+ interface ValidationRuleEvaluationInput {
33
+ operator?: string | null;
34
+ stringValue?: string;
35
+ string_value?: string;
36
+ numberValue?: number;
37
+ number_value?: number;
38
+ booleanValue?: boolean;
39
+ boolean_value?: boolean;
40
+ message?: string | null;
41
+ }
42
+ interface ValidationRuleEvaluationResult {
43
+ passed: boolean;
44
+ operator: string;
45
+ message?: string | null;
46
+ }
47
+ declare function evaluateValidationRule(value: unknown, rule: ValidationRuleEvaluationInput): ValidationRuleEvaluationResult;
48
+ declare function validationRuleFailureMessage(path: string, rule: ValidationRuleEvaluationInput): string;
49
+
50
+ type PolicyOutcome = "allow" | "confirm" | "deny";
51
+ type PolicySource = "manifest" | "permissionProfile" | "builtin";
52
+ type PolicyOrigin = {
53
+ kind: "manifest";
54
+ manifestId?: string;
55
+ effectKey: string;
56
+ } | {
57
+ kind: "permissionProfile";
58
+ profileName: string;
59
+ permissionProfileVersionId?: string;
60
+ source: PolicySource;
61
+ };
62
+ interface MatchedPolicy {
63
+ id: string;
64
+ outcome: PolicyOutcome;
65
+ origin: PolicyOrigin;
66
+ reason?: string;
67
+ summary: string;
68
+ }
69
+ interface PolicyDecision {
70
+ outcome: PolicyOutcome;
71
+ matches: MatchedPolicy[];
72
+ }
73
+ interface PolicyEvaluationContext {
74
+ input?: Record<string, unknown> | null;
75
+ object?: Record<string, unknown> | null;
76
+ stateMachines?: Record<string, string | null | undefined> | null;
77
+ }
78
+ interface PermissionProfileFile {
79
+ schemaVersion?: number;
80
+ name: string;
81
+ label?: string;
82
+ description?: string;
83
+ extends?: string;
84
+ defaultsOwnerName?: string;
85
+ source?: PolicySource;
86
+ sourcePath?: string;
87
+ defaults?: {
88
+ actionPolicy?: PolicyOutcome;
89
+ };
90
+ policies?: PermissionPolicySpec[];
91
+ actions?: PermissionActionSpec[];
92
+ }
93
+ interface PermissionPolicySpec {
94
+ id?: string;
95
+ ownerProfileName?: string;
96
+ action?: string;
97
+ on?: string;
98
+ decision?: PolicyOutcome;
99
+ outcome?: PolicyOutcome;
100
+ reason?: string;
101
+ when?: unknown;
102
+ }
103
+ interface PermissionActionSpec {
104
+ id?: string;
105
+ ownerProfileName?: string;
106
+ action: string;
107
+ on?: string;
108
+ allow?: "always";
109
+ deny?: "always";
110
+ confirm?: "always";
111
+ reason?: string;
112
+ allowWhen?: ConditionalPolicySpec[];
113
+ confirmWhen?: ConditionalPolicySpec[];
114
+ denyWhen?: ConditionalPolicySpec[];
115
+ limits?: LimitPolicySpec[];
116
+ }
117
+ interface ConditionalPolicySpec {
118
+ id?: string;
119
+ reason?: string;
120
+ when: unknown;
121
+ }
122
+ interface LimitPolicySpec {
123
+ id?: string;
124
+ input: string | string[];
125
+ upTo?: number;
126
+ above?: number;
127
+ decision: PolicyOutcome;
128
+ reason?: string;
129
+ }
130
+
32
131
  interface JobPresentation {
33
132
  responseText: string | null;
34
133
  entries: SessionHeapEntry[];
@@ -75,4 +174,4 @@ declare function buildSessionTranscript(input: {
75
174
  sessionHeap?: SessionHeapSnapshot;
76
175
  }): SessionTranscriptEntry[];
77
176
 
78
- export { EffectHandlerContext, EndpointMode, type JobPresentation, ManifestEffectMetamodelSpec, type NormalizedPromptChoiceOption, Prompt, ResolvedEffectBehaviors, SessionHeapEntry, SessionHeapList, SessionHeapSnapshot, SessionTranscriptEntry, ToolWithHandler, buildSessionTranscript, extractPromptTokens, invokeRegisteredEffect, isLocalApiUrl, normalizeEffectBehaviors, normalizePrompt, normalizePromptChoiceOption, normalizePromptText, normalizePromptType, resolveApiUrl, resolveAuthTokenForApiUrl, resolveJobPresentation, resolvePromptAnswer, scorePromptChoiceMatch };
177
+ export { type ConditionalPolicySpec, EffectHandlerContext, EndpointMode, type JobPresentation, type LimitPolicySpec, ManifestEffectMetamodelSpec, type NormalizedPromptChoiceOption, type PermissionActionSpec, type PermissionPolicySpec, type PermissionProfileFile, type PolicyDecision, type PolicyEvaluationContext, type PolicyOutcome, Prompt, ResolvedEffectBehaviors, SessionHeapEntry, SessionHeapList, SessionHeapSnapshot, SessionTranscriptEntry, ToolWithHandler, type ValidationRuleEvaluationInput, type ValidationRuleEvaluationResult, buildSessionTranscript, evaluateValidationRule, extractPromptTokens, invokeRegisteredEffect, isLocalApiUrl, normalizeEffectBehaviors, normalizePrompt, normalizePromptChoiceOption, normalizePromptText, normalizePromptType, resolveApiUrl, resolveAuthTokenForApiUrl, resolveJobPresentation, resolvePromptAnswer, scorePromptChoiceMatch, validationRuleFailureMessage };