@relayfx/sdk 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/ai.js +67 -37
  2. package/dist/http-server.js +22 -0
  3. package/dist/{index-c2skef55.js → index-70m3hgk1.js} +16521 -18783
  4. package/dist/index-bknsjvwf.js +3423 -0
  5. package/dist/index-cphmds30.js +2852 -0
  6. package/dist/index-nb39b5ae.js +17 -0
  7. package/dist/{index-3sv8mmz5.js → index-szzswx0z.js} +23 -30
  8. package/dist/index.js +315 -844
  9. package/dist/mysql.js +18 -18
  10. package/dist/postgres.js +724 -24
  11. package/dist/sqlite.js +57 -168
  12. package/dist/types/ai/index.d.ts +2 -1
  13. package/dist/types/ai/language-model/language-model-registration.d.ts +9 -6
  14. package/dist/types/relay/adapter-outbox.d.ts +1 -1
  15. package/dist/types/relay/ai.d.ts +34 -2
  16. package/dist/types/relay/child-fan-out-admission.d.ts +5 -0
  17. package/dist/types/relay/child-fan-out-host.d.ts +73 -0
  18. package/dist/types/relay/client-public.d.ts +481 -0
  19. package/dist/types/relay/client.d.ts +1 -478
  20. package/dist/types/relay/database-identity.d.ts +4 -0
  21. package/dist/types/relay/http-server.d.ts +95 -0
  22. package/dist/types/relay/index.d.ts +37 -14
  23. package/dist/types/relay/internal-client.d.ts +22 -0
  24. package/dist/types/relay/language-model-registration.d.ts +13 -0
  25. package/dist/types/relay/mysql.d.ts +6 -7
  26. package/dist/types/relay/operation.d.ts +4 -4
  27. package/dist/types/relay/postgres.d.ts +10 -7
  28. package/dist/types/relay/runtime-acquisition-error.d.ts +61 -0
  29. package/dist/types/relay/runtime-database-adapter.d.ts +8 -5
  30. package/dist/types/relay/runtime-database-owner.d.ts +13 -0
  31. package/dist/types/relay/runtime-database-public.d.ts +10 -0
  32. package/dist/types/relay/runtime.d.ts +77 -72
  33. package/dist/types/relay/sqlite-runtime.d.ts +5 -18
  34. package/dist/types/relay/sqlite.d.ts +4 -31
  35. package/dist/types/relay/state-version-conflict.d.ts +12 -0
  36. package/dist/types/relay/tool-runtime.d.ts +44 -0
  37. package/dist/types/relay/tool-worker.d.ts +2 -2
  38. package/dist/types/relay/workflow-definition-host.d.ts +32 -0
  39. package/dist/types/runtime/agent/agent-loop-error.d.ts +21 -0
  40. package/dist/types/runtime/agent/agent-loop-service.d.ts +6 -16
  41. package/dist/types/runtime/agent/prompt-assembler-service.d.ts +3 -3
  42. package/dist/types/runtime/cluster/execution-entity.d.ts +3 -3
  43. package/dist/types/runtime/execution/execution-service.d.ts +3 -0
  44. package/dist/types/runtime/index.d.ts +1 -0
  45. package/dist/types/runtime/model/language-model-service.d.ts +5 -12
  46. package/dist/types/runtime/model/model-hub.d.ts +27 -0
  47. package/dist/types/runtime/presence/presence-contract.d.ts +24 -0
  48. package/dist/types/runtime/presence/presence-service.d.ts +6 -24
  49. package/dist/types/runtime/runner/runner-runtime-service.d.ts +29 -13
  50. package/dist/types/runtime/session/session-store-service.d.ts +4 -1
  51. package/dist/types/runtime/tool/tool-runtime-contract.d.ts +121 -0
  52. package/dist/types/runtime/tool/tool-runtime-service.d.ts +6 -120
  53. package/dist/types/runtime/workflow/execution-workflow.d.ts +22 -24
  54. package/dist/types/schema/agent-schema.d.ts +4 -1
  55. package/dist/types/schema/execution-schema.d.ts +13 -2
  56. package/dist/types/schema/index.d.ts +1 -0
  57. package/dist/types/schema/pagination-schema.d.ts +17 -0
  58. package/dist/types/schema/shared-schema.d.ts +4 -0
  59. package/dist/types/store-sql/schema/relay-schema.d.ts +12 -12
  60. package/dist/types/store-sql/session/session-repository.d.ts +54 -11
  61. package/package.json +17 -14
  62. package/dist/index-9k4k3wq1.js +0 -2860
  63. package/dist/index-d3dme13d.js +0 -141
  64. package/dist/types/relay/database.d.ts +0 -16
@@ -6,7 +6,10 @@ export type Interface = Session.Interface;
6
6
  declare const Service_base: Context.ServiceClass<Service, "@relayfx/runtime/session/session-store-service/Service", Session.Interface>;
7
7
  export declare class Service extends Service_base {
8
8
  }
9
- export declare const make: (sessionId: string & import("effect/Brand").Brand<"Relay.SessionId">, entryScope?: string | undefined) => Effect.Effect<Session.Interface, never, SessionRepository.Service>;
9
+ export interface MakeOptions {
10
+ readonly onCheckpointCommitted?: (result: Session.CheckpointAppend) => Effect.Effect<void, Session.SessionStoreError | Session.SessionConflict>;
11
+ }
12
+ export declare const make: (sessionId: string & import("effect/Brand").Brand<"Relay.SessionId">, entryScope?: string | undefined, makeOptions?: MakeOptions | undefined) => Effect.Effect<Session.Interface, never, SessionRepository.Service>;
10
13
  export declare const serviceLayer: {
11
14
  (sessionId: Ids.SessionId, entryScope?: string): Layer.Layer<Service, never, SessionRepository.Service>;
12
15
  (entryScope?: string): (sessionId: Ids.SessionId) => Layer.Layer<Service, never, SessionRepository.Service>;
@@ -0,0 +1,121 @@
1
+ import { Execution, Ids, Shared, Tool } from "../../schema/index";
2
+ import { Tool as AiTool } from "effect/unstable/ai";
3
+ import { Context, Effect, Layer, Schema } from "effect";
4
+ declare const ToolNotRegistered_base: Schema.Class<ToolNotRegistered, Schema.TaggedStruct<"ToolNotRegistered", {
5
+ readonly tool_name: Schema.String;
6
+ }>, import("effect/Cause").YieldableError>;
7
+ export declare class ToolNotRegistered extends ToolNotRegistered_base {
8
+ }
9
+ declare const ToolPermissionDenied_base: Schema.Class<ToolPermissionDenied, Schema.TaggedStruct<"ToolPermissionDenied", {
10
+ readonly tool_name: Schema.String;
11
+ readonly permission_name: Schema.String;
12
+ }>, import("effect/Cause").YieldableError>;
13
+ export declare class ToolPermissionDenied extends ToolPermissionDenied_base {
14
+ }
15
+ declare const ToolInputInvalid_base: Schema.Class<ToolInputInvalid, Schema.TaggedStruct<"ToolInputInvalid", {
16
+ readonly tool_name: Schema.String;
17
+ readonly message: Schema.String;
18
+ }>, import("effect/Cause").YieldableError>;
19
+ export declare class ToolInputInvalid extends ToolInputInvalid_base {
20
+ }
21
+ declare const ToolExecutionFailed_base: Schema.Class<ToolExecutionFailed, Schema.TaggedStruct<"ToolExecutionFailed", {
22
+ readonly tool_name: Schema.String;
23
+ readonly message: Schema.String;
24
+ }>, import("effect/Cause").YieldableError>;
25
+ export declare class ToolExecutionFailed extends ToolExecutionFailed_base {
26
+ }
27
+ declare const ToolExecutionWaitRequested_base: Schema.Class<ToolExecutionWaitRequested, Schema.TaggedStruct<"ToolExecutionWaitRequested", {
28
+ readonly tool_name: Schema.String;
29
+ readonly wait_id: Schema.brand<Schema.String, "Relay.WaitId"> & {
30
+ make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.WaitId">;
31
+ };
32
+ }>, import("effect/Cause").YieldableError>;
33
+ export declare class ToolExecutionWaitRequested extends ToolExecutionWaitRequested_base {
34
+ }
35
+ declare const ToolRuntimeError_base: Schema.Class<ToolRuntimeError, Schema.TaggedStruct<"ToolRuntimeError", {
36
+ readonly message: Schema.String;
37
+ }>, import("effect/Cause").YieldableError>;
38
+ export declare class ToolRuntimeError extends ToolRuntimeError_base {
39
+ }
40
+ export interface ToolExecutionContext {
41
+ readonly executionId: Ids.ExecutionId;
42
+ readonly call: Tool.Call;
43
+ readonly permissions: ReadonlyArray<Tool.Permission>;
44
+ readonly eventSequence: Execution.ExecutionEventSequence;
45
+ readonly createdAt: number;
46
+ readonly idempotencyKey: string;
47
+ }
48
+ export interface ToolCallInfoData extends ToolExecutionContext {
49
+ }
50
+ declare const ToolCallInfo_base: Context.ServiceClass<ToolCallInfo, "@relayfx/runtime/tool/tool-runtime-contract/ToolCallInfo", ToolCallInfoData>;
51
+ export declare class ToolCallInfo extends ToolCallInfo_base {
52
+ }
53
+ export interface RegisteredTool {
54
+ readonly definition: Tool.Definition;
55
+ readonly tool: AiTool.Any;
56
+ readonly placement?: Tool.Placement | undefined;
57
+ readonly requiredPermissions?: ReadonlyArray<string>;
58
+ readonly validateInput?: (input: Shared.JsonValue) => Effect.Effect<void, ToolInputInvalid>;
59
+ readonly run?: ((input: Shared.JsonValue, context: ToolExecutionContext) => Effect.Effect<Shared.JsonValue, ToolExecutionFailed | ToolExecutionWaitRequested | ToolRuntimeError>) | undefined;
60
+ }
61
+ export interface ToolOptions<Input extends Schema.ConstraintCodec<unknown, unknown, never, never>, Output extends Schema.ConstraintCodec<unknown, unknown, never, never>> {
62
+ readonly description: string;
63
+ readonly input: Input;
64
+ readonly output: Output;
65
+ readonly permissions?: ReadonlyArray<Tool.Permission> | undefined;
66
+ readonly requiredPermissions?: ReadonlyArray<string> | undefined;
67
+ readonly requirements?: ReadonlyArray<Tool.RuntimeRequirement> | undefined;
68
+ readonly needsApproval?: boolean | undefined;
69
+ readonly metadata?: Shared.Metadata | undefined;
70
+ readonly placement?: Tool.Placement | undefined;
71
+ readonly run: (input: Input["Type"], context: ToolExecutionContext) => Effect.Effect<Output["Type"], ToolExecutionFailed | ToolExecutionWaitRequested | ToolRuntimeError, ToolCallInfo>;
72
+ }
73
+ export interface DynamicToolOptions {
74
+ readonly description: string;
75
+ readonly inputSchema: Shared.JsonValue;
76
+ readonly outputSchema: Shared.JsonValue;
77
+ readonly permissions?: ReadonlyArray<Tool.Permission> | undefined;
78
+ readonly requiredPermissions?: ReadonlyArray<string> | undefined;
79
+ readonly requirements?: ReadonlyArray<Tool.RuntimeRequirement> | undefined;
80
+ readonly needsApproval?: boolean | undefined;
81
+ readonly metadata?: Shared.Metadata | undefined;
82
+ readonly placement?: Tool.Placement | undefined;
83
+ readonly run: (input: Shared.JsonValue, context: ToolExecutionContext) => Effect.Effect<Shared.JsonValue, ToolExecutionFailed | ToolExecutionWaitRequested | ToolRuntimeError>;
84
+ }
85
+ export interface ToolkitToolOptions {
86
+ readonly permissions?: ReadonlyArray<Tool.Permission> | undefined;
87
+ readonly requiredPermissions?: ReadonlyArray<string> | undefined;
88
+ readonly requirements?: ReadonlyArray<Tool.RuntimeRequirement> | undefined;
89
+ readonly needsApproval?: boolean | undefined;
90
+ readonly metadata?: Shared.Metadata | undefined;
91
+ readonly placement?: Tool.Placement | undefined;
92
+ }
93
+ export interface PlacedToolOptions {
94
+ readonly permissions?: ReadonlyArray<Tool.Permission> | undefined;
95
+ readonly requiredPermissions?: ReadonlyArray<string> | undefined;
96
+ readonly requirements?: ReadonlyArray<Tool.RuntimeRequirement> | undefined;
97
+ readonly needsApproval?: boolean | undefined;
98
+ readonly metadata?: Shared.Metadata | undefined;
99
+ }
100
+ export type ToolkitRegistrationOptions = ToolkitToolOptions | ((tool: AiTool.Any) => ToolkitToolOptions);
101
+ export interface RunInput {
102
+ readonly executionId: Ids.ExecutionId;
103
+ readonly call: Tool.Call;
104
+ readonly permissions: ReadonlyArray<Tool.Permission>;
105
+ readonly eventSequence: Execution.ExecutionEventSequence;
106
+ readonly createdAt: number;
107
+ readonly extraTools?: ReadonlyArray<RegisteredTool>;
108
+ readonly transformResult?: (result: Tool.Result) => Effect.Effect<Tool.Result, ToolRuntimeError>;
109
+ }
110
+ export type RunError = ToolNotRegistered | ToolPermissionDenied | ToolInputInvalid | ToolExecutionFailed | ToolExecutionWaitRequested | ToolRuntimeError;
111
+ export interface Interface {
112
+ readonly register: (tool: RegisteredTool) => Effect.Effect<void>;
113
+ readonly definitions: Effect.Effect<ReadonlyArray<Tool.Definition>>;
114
+ readonly registeredTools: Effect.Effect<ReadonlyArray<RegisteredTool>>;
115
+ readonly run: (input: RunInput) => Effect.Effect<Tool.Result, RunError>;
116
+ }
117
+ declare const Service_base: Context.ServiceClass<Service, "@relayfx/runtime/tool/tool-runtime-contract/Service", Interface>;
118
+ export declare class Service extends Service_base {
119
+ }
120
+ export declare const testLayer: (implementation: Interface) => Layer.Layer<Service>;
121
+ export {};
@@ -1,117 +1,12 @@
1
- import { Execution, Ids, Shared, Tool } from "../../schema/index";
1
+ import { Tool } from "../../schema/index";
2
2
  import { ToolCallRepository } from "../../store-sql/portable";
3
3
  import { Tool as AiTool, Toolkit } from "effect/unstable/ai";
4
- import { Context, Effect, Layer, Schema } from "effect";
4
+ import { Effect, Layer, Schema } from "effect";
5
5
  import { Service as EventLogService } from "../execution/event-log-service";
6
6
  import { Service as WaitServiceService } from "../wait/wait-service";
7
- declare const ToolNotRegistered_base: Schema.Class<ToolNotRegistered, Schema.TaggedStruct<"ToolNotRegistered", {
8
- readonly tool_name: Schema.String;
9
- }>, import("effect/Cause").YieldableError>;
10
- export declare class ToolNotRegistered extends ToolNotRegistered_base {
11
- }
12
- declare const ToolPermissionDenied_base: Schema.Class<ToolPermissionDenied, Schema.TaggedStruct<"ToolPermissionDenied", {
13
- readonly tool_name: Schema.String;
14
- readonly permission_name: Schema.String;
15
- }>, import("effect/Cause").YieldableError>;
16
- export declare class ToolPermissionDenied extends ToolPermissionDenied_base {
17
- }
18
- declare const ToolInputInvalid_base: Schema.Class<ToolInputInvalid, Schema.TaggedStruct<"ToolInputInvalid", {
19
- readonly tool_name: Schema.String;
20
- readonly message: Schema.String;
21
- }>, import("effect/Cause").YieldableError>;
22
- export declare class ToolInputInvalid extends ToolInputInvalid_base {
23
- }
24
- declare const ToolExecutionFailed_base: Schema.Class<ToolExecutionFailed, Schema.TaggedStruct<"ToolExecutionFailed", {
25
- readonly tool_name: Schema.String;
26
- readonly message: Schema.String;
27
- }>, import("effect/Cause").YieldableError>;
28
- export declare class ToolExecutionFailed extends ToolExecutionFailed_base {
29
- }
30
- declare const ToolExecutionWaitRequested_base: Schema.Class<ToolExecutionWaitRequested, Schema.TaggedStruct<"ToolExecutionWaitRequested", {
31
- readonly tool_name: Schema.String;
32
- readonly wait_id: Schema.brand<Schema.String, "Relay.WaitId"> & {
33
- make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.WaitId">;
34
- };
35
- }>, import("effect/Cause").YieldableError>;
36
- export declare class ToolExecutionWaitRequested extends ToolExecutionWaitRequested_base {
37
- }
38
- declare const ToolRuntimeError_base: Schema.Class<ToolRuntimeError, Schema.TaggedStruct<"ToolRuntimeError", {
39
- readonly message: Schema.String;
40
- }>, import("effect/Cause").YieldableError>;
41
- export declare class ToolRuntimeError extends ToolRuntimeError_base {
42
- }
43
- export interface ToolExecutionContext {
44
- readonly executionId: Ids.ExecutionId;
45
- readonly call: Tool.Call;
46
- readonly permissions: ReadonlyArray<Tool.Permission>;
47
- readonly eventSequence: Execution.ExecutionEventSequence;
48
- readonly createdAt: number;
49
- readonly idempotencyKey: string;
50
- }
51
- export interface ToolCallInfoData extends ToolExecutionContext {
52
- }
53
- declare const ToolCallInfo_base: Context.ServiceClass<ToolCallInfo, "@relayfx/runtime/tool/tool-runtime-service/ToolCallInfo", ToolCallInfoData>;
54
- export declare class ToolCallInfo extends ToolCallInfo_base {
55
- }
56
- export interface RegisteredTool {
57
- readonly definition: Tool.Definition;
58
- readonly tool: AiTool.Any;
59
- readonly placement?: Tool.Placement | undefined;
60
- readonly requiredPermissions?: ReadonlyArray<string>;
61
- readonly validateInput?: (input: Shared.JsonValue) => Effect.Effect<void, ToolInputInvalid>;
62
- readonly run?: ((input: Shared.JsonValue, context: ToolExecutionContext) => Effect.Effect<Shared.JsonValue, ToolExecutionFailed | ToolExecutionWaitRequested | ToolRuntimeError>) | undefined;
63
- }
64
- export interface ToolOptions<Input extends Schema.ConstraintCodec<unknown, unknown, never, never>, Output extends Schema.ConstraintCodec<unknown, unknown, never, never>> {
65
- readonly description: string;
66
- readonly input: Input;
67
- readonly output: Output;
68
- readonly permissions?: ReadonlyArray<Tool.Permission> | undefined;
69
- readonly requiredPermissions?: ReadonlyArray<string> | undefined;
70
- readonly requirements?: ReadonlyArray<Tool.RuntimeRequirement> | undefined;
71
- readonly needsApproval?: boolean | undefined;
72
- readonly metadata?: Shared.Metadata | undefined;
73
- readonly placement?: Tool.Placement | undefined;
74
- readonly run: (input: Input["Type"], context: ToolExecutionContext) => Effect.Effect<Output["Type"], ToolExecutionFailed | ToolExecutionWaitRequested | ToolRuntimeError, ToolCallInfo>;
75
- }
76
- export interface DynamicToolOptions {
77
- readonly description: string;
78
- readonly inputSchema: Shared.JsonValue;
79
- readonly outputSchema: Shared.JsonValue;
80
- readonly permissions?: ReadonlyArray<Tool.Permission> | undefined;
81
- readonly requiredPermissions?: ReadonlyArray<string> | undefined;
82
- readonly requirements?: ReadonlyArray<Tool.RuntimeRequirement> | undefined;
83
- readonly needsApproval?: boolean | undefined;
84
- readonly metadata?: Shared.Metadata | undefined;
85
- readonly placement?: Tool.Placement | undefined;
86
- readonly run: (input: Shared.JsonValue, context: ToolExecutionContext) => Effect.Effect<Shared.JsonValue, ToolExecutionFailed | ToolExecutionWaitRequested | ToolRuntimeError>;
87
- }
88
- export interface ToolkitToolOptions {
89
- readonly permissions?: ReadonlyArray<Tool.Permission> | undefined;
90
- readonly requiredPermissions?: ReadonlyArray<string> | undefined;
91
- readonly requirements?: ReadonlyArray<Tool.RuntimeRequirement> | undefined;
92
- readonly needsApproval?: boolean | undefined;
93
- readonly metadata?: Shared.Metadata | undefined;
94
- readonly placement?: Tool.Placement | undefined;
95
- }
96
- export type ToolkitRegistrationOptions = ToolkitToolOptions | ((tool: AiTool.Any) => ToolkitToolOptions);
97
- export interface RunInput {
98
- readonly executionId: Ids.ExecutionId;
99
- readonly call: Tool.Call;
100
- readonly permissions: ReadonlyArray<Tool.Permission>;
101
- readonly eventSequence: Execution.ExecutionEventSequence;
102
- readonly createdAt: number;
103
- readonly extraTools?: ReadonlyArray<RegisteredTool>;
104
- readonly transformResult?: (result: Tool.Result) => Effect.Effect<Tool.Result, ToolRuntimeError>;
105
- }
106
- export interface Interface {
107
- readonly register: (tool: RegisteredTool) => Effect.Effect<void>;
108
- readonly definitions: Effect.Effect<ReadonlyArray<Tool.Definition>>;
109
- readonly registeredTools: Effect.Effect<ReadonlyArray<RegisteredTool>>;
110
- readonly run: (input: RunInput) => Effect.Effect<Tool.Result, ToolNotRegistered | ToolPermissionDenied | ToolInputInvalid | ToolExecutionFailed | ToolExecutionWaitRequested | ToolRuntimeError, never>;
111
- }
112
- declare const Service_base: Context.ServiceClass<Service, "@relayfx/runtime/tool/tool-runtime-service/Service", Interface>;
113
- export declare class Service extends Service_base {
114
- }
7
+ export * from "./tool-runtime-contract";
8
+ import { Service } from "./tool-runtime-contract";
9
+ import type { DynamicToolOptions, PlacedToolOptions, RegisteredTool, RunInput, ToolkitRegistrationOptions, ToolOptions } from "./tool-runtime-contract";
115
10
  export declare const toolFromRegistered: (tool: RegisteredTool) => AiTool.Any;
116
11
  export declare const toolsFromToolkit: {
117
12
  <Tools extends Record<string, AiTool.Any>>(toolkit: Toolkit.WithHandler<Tools>, options?: ToolkitRegistrationOptions): ReadonlyArray<RegisteredTool>;
@@ -125,13 +20,6 @@ export declare const dynamicTool: {
125
20
  <const Name extends string>(name: Name, options: DynamicToolOptions): RegisteredTool;
126
21
  (options: DynamicToolOptions): <const Name extends string>(name: Name) => RegisteredTool;
127
22
  };
128
- export interface PlacedToolOptions {
129
- readonly permissions?: ReadonlyArray<Tool.Permission> | undefined;
130
- readonly requiredPermissions?: ReadonlyArray<string> | undefined;
131
- readonly requirements?: ReadonlyArray<Tool.RuntimeRequirement> | undefined;
132
- readonly needsApproval?: boolean | undefined;
133
- readonly metadata?: Shared.Metadata | undefined;
134
- }
135
23
  export declare const clientTool: {
136
24
  (modelTool: AiTool.Any, options?: PlacedToolOptions): RegisteredTool;
137
25
  (options?: PlacedToolOptions): (modelTool: AiTool.Any) => RegisteredTool;
@@ -154,9 +42,7 @@ export declare const memoryLayerFromToolkit: {
154
42
  <Tools extends Record<string, AiTool.Any>>(toolkit: Toolkit.Toolkit<Tools>, options?: ToolkitRegistrationOptions): Layer.Layer<Service, never, Exclude<AiTool.HandlersFor<Tools>, ToolCallRepository.Service | EventLogService | WaitServiceService>>;
155
43
  (options?: ToolkitRegistrationOptions): <Tools extends Record<string, AiTool.Any>>(toolkit: Toolkit.Toolkit<Tools>) => Layer.Layer<Service, never, Exclude<AiTool.HandlersFor<Tools>, ToolCallRepository.Service | EventLogService | WaitServiceService>>;
156
44
  };
157
- export declare const testLayer: (implementation: Interface) => Layer.Layer<Service, never, never>;
158
45
  export declare const register: (registeredTool: RegisteredTool) => Effect.Effect<void, never, Service>;
159
46
  export declare const definitions: () => Effect.Effect<readonly Tool.Definition[], never, Service>;
160
47
  export declare const registeredTools: () => Effect.Effect<readonly RegisteredTool[], never, Service>;
161
- export declare const run: (input: RunInput) => Effect.Effect<Tool.Result, ToolExecutionFailed | ToolExecutionWaitRequested | ToolInputInvalid | ToolNotRegistered | ToolPermissionDenied | ToolRuntimeError, Service>;
162
- export {};
48
+ export declare const run: (input: RunInput) => Effect.Effect<Tool.Result, import("./tool-runtime-contract").RunError, Service>;
@@ -1,7 +1,9 @@
1
+ import { AgentEvent } from "@batonfx/core";
1
2
  import { Agent, Ids } from "../../schema/index";
2
3
  import { ChildExecutionRepository, EnvelopeRepository, ExecutionRepository, ToolCallRepository } from "../../store-sql/portable";
3
4
  import { Workflow, WorkflowEngine } from "effect/unstable/workflow";
4
- import { Effect, Layer, Option, Schema } from "effect";
5
+ import { Cause, Effect, Layer, Option, Schema } from "effect";
6
+ import { AgentLoopBudgetExceeded, AgentLoopError } from "../agent/agent-loop-error";
5
7
  import { Service as AgentLoopService } from "../agent/agent-loop-service";
6
8
  import { ChildTerminalStatus } from "../child/parent-notifier-service";
7
9
  import { Service as EventLogService } from "../execution/event-log-service";
@@ -9,9 +11,17 @@ import { Service as ToolRuntimeService } from "../tool/tool-runtime-service";
9
11
  import { Service as ToolTransitionCoordinatorService } from "../tool/tool-transition-coordinator";
10
12
  declare const ExecutionWorkflowFailed_base: Schema.Class<ExecutionWorkflowFailed, Schema.TaggedStruct<"ExecutionWorkflowFailed", {
11
13
  readonly message: Schema.String;
12
- }>, import("effect/Cause").YieldableError>;
14
+ readonly terminal_failure: Schema.optionalKey<Schema.Union<readonly [typeof AgentLoopError, typeof AgentLoopBudgetExceeded]>>;
15
+ }>, Cause.YieldableError>;
13
16
  export declare class ExecutionWorkflowFailed extends ExecutionWorkflowFailed_base {
14
17
  }
18
+ declare const AgentCheckpointCompatibilityError_base: Schema.Class<AgentCheckpointCompatibilityError, Schema.TaggedStruct<"AgentCheckpointCompatibilityError", {
19
+ readonly message: Schema.String;
20
+ }>, Cause.YieldableError>;
21
+ export declare class AgentCheckpointCompatibilityError extends AgentCheckpointCompatibilityError_base {
22
+ }
23
+ export declare const ExecutionWorkflowError: Schema.Union<readonly [typeof ExecutionWorkflowFailed, typeof AgentCheckpointCompatibilityError]>;
24
+ export type ExecutionWorkflowError = typeof ExecutionWorkflowError.Type;
15
25
  export declare const StartInput: Schema.Struct<{
16
26
  readonly execution_id: Schema.brand<Schema.String, "Relay.ExecutionId"> & {
17
27
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ExecutionId">;
@@ -184,14 +194,7 @@ export declare const StartInput: Schema.Struct<{
184
194
  readonly wait_id: Schema.optionalKey<Schema.brand<Schema.String, "Relay.WaitId"> & {
185
195
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.WaitId">;
186
196
  }>;
187
- readonly resume_tool_call: Schema.optionalKey<Schema.Struct<{
188
- readonly id: Schema.brand<Schema.String, "Relay.ToolCallId"> & {
189
- make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ToolCallId">;
190
- };
191
- readonly name: Schema.String;
192
- readonly input: Schema.Codec<Schema.Json, Schema.Json, never, never>;
193
- readonly metadata: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
194
- }>>;
197
+ readonly resume_suspension: Schema.optionalKey<typeof AgentEvent.AgentSuspended>;
195
198
  readonly workflow_generation: Schema.optionalKey<Schema.Int>;
196
199
  readonly metadata: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
197
200
  }>;
@@ -281,6 +284,7 @@ export declare const ActivityNames: {
281
284
  readonly resumeWorkspace: (key: string) => string;
282
285
  readonly releaseWorkspace: "Relay/Execution/Start/ReleaseWorkspace";
283
286
  readonly complete: (turn: number) => string;
287
+ readonly failIncompatibleCheckpoint: "Relay/Execution/Start/FailIncompatibleCheckpoint";
284
288
  readonly checkQueuedChildCancellation: "Relay/Execution/Start/CheckQueuedChildCancellation";
285
289
  readonly notifyParent: (status: ChildTerminalStatus) => string;
286
290
  readonly continueAsNew: (turn: number) => string;
@@ -298,6 +302,7 @@ export declare const ActivityNameTemplates: {
298
302
  readonly resumeWorkspace: "Relay/Execution/Start/ResumeWorkspace/:key";
299
303
  readonly releaseWorkspace: "Relay/Execution/Start/ReleaseWorkspace";
300
304
  readonly complete: "Relay/Execution/Start/Complete/:turn";
305
+ readonly failIncompatibleCheckpoint: "Relay/Execution/Start/FailIncompatibleCheckpoint";
301
306
  readonly checkQueuedChildCancellation: "Relay/Execution/Start/CheckQueuedChildCancellation";
302
307
  readonly notifyParent: "Relay/Execution/Start/NotifyParent/:status";
303
308
  readonly continueAsNew: "Relay/Execution/Start/ContinueAsNew/:turn";
@@ -474,14 +479,7 @@ export declare const StartExecutionWorkflow: Workflow.Workflow<"Relay/Execution/
474
479
  readonly wait_id: Schema.optionalKey<Schema.brand<Schema.String, "Relay.WaitId"> & {
475
480
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.WaitId">;
476
481
  }>;
477
- readonly resume_tool_call: Schema.optionalKey<Schema.Struct<{
478
- readonly id: Schema.brand<Schema.String, "Relay.ToolCallId"> & {
479
- make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ToolCallId">;
480
- };
481
- readonly name: Schema.String;
482
- readonly input: Schema.Codec<Schema.Json, Schema.Json, never, never>;
483
- readonly metadata: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
484
- }>>;
482
+ readonly resume_suspension: Schema.optionalKey<typeof AgentEvent.AgentSuspended>;
485
483
  readonly workflow_generation: Schema.optionalKey<Schema.Int>;
486
484
  readonly metadata: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
487
485
  }>, Schema.Struct<{
@@ -494,7 +492,7 @@ export declare const StartExecutionWorkflow: Workflow.Workflow<"Relay/Execution/
494
492
  }>;
495
493
  readonly wait_state: Schema.optionalKey<Schema.Literals<readonly ["resolved", "timed_out", "cancelled"]>>;
496
494
  readonly metadata: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
497
- }>, typeof ExecutionWorkflowFailed>;
495
+ }>, Schema.Union<readonly [typeof ExecutionWorkflowFailed, typeof AgentCheckpointCompatibilityError]>>;
498
496
  export declare const sessionEntryScope: {
499
497
  (input: StartInput, turn: number): string;
500
498
  (turn: number): (input: StartInput) => string;
@@ -504,11 +502,11 @@ interface StartOptions<Discard extends boolean> {
504
502
  readonly discard?: Discard;
505
503
  }
506
504
  export declare const start: {
507
- <const Discard extends boolean = false>(input: StartInput, options?: StartOptions<Discard>): Effect.Effect<Discard extends true ? string : StartResult, ExecutionWorkflowFailed, WorkflowEngine.WorkflowEngine>;
508
- <const Discard extends boolean = false>(options?: StartOptions<Discard>): (input: StartInput) => Effect.Effect<Discard extends true ? string : StartResult, ExecutionWorkflowFailed, WorkflowEngine.WorkflowEngine>;
505
+ <const Discard extends boolean = false>(input: StartInput, options?: StartOptions<Discard>): Effect.Effect<Discard extends true ? string : StartResult, ExecutionWorkflowError, WorkflowEngine.WorkflowEngine>;
506
+ <const Discard extends boolean = false>(options?: StartOptions<Discard>): (input: StartInput) => Effect.Effect<Discard extends true ? string : StartResult, ExecutionWorkflowError, WorkflowEngine.WorkflowEngine>;
509
507
  };
510
- export declare const startRequest: (input: StartInput) => Effect.Effect<StartResult, ExecutionWorkflowFailed, ExecutionRepository.Service | import("../wait/wait-service").Service | WorkflowEngine.WorkflowEngine>;
511
- export declare const dispatchRequest: (input: StartInput) => Effect.Effect<void, ExecutionWorkflowFailed, WorkflowEngine.WorkflowEngine>;
508
+ export declare const startRequest: (input: StartInput) => Effect.Effect<StartResult, AgentCheckpointCompatibilityError | ExecutionWorkflowFailed, ExecutionRepository.Service | import("../wait/wait-service").Service | WorkflowEngine.WorkflowEngine>;
509
+ export declare const dispatchRequest: (input: StartInput) => Effect.Effect<void, AgentCheckpointCompatibilityError | ExecutionWorkflowFailed, WorkflowEngine.WorkflowEngine>;
512
510
  export declare const cancelRequest: (input: CancelExecutionInput) => Effect.Effect<{
513
511
  execution_id: string & import("effect/Brand").Brand<"Relay.ExecutionId">;
514
512
  status: "cancelled" | "completed" | "failed" | "queued" | "running" | "waiting";
@@ -521,7 +519,7 @@ export declare const poll: (executionId: string) => Effect.Effect<Option.Option<
521
519
  readonly metadata?: {
522
520
  readonly [x: string]: Schema.Json;
523
521
  };
524
- }, ExecutionWorkflowFailed>>, never, WorkflowEngine.WorkflowEngine>;
522
+ }, AgentCheckpointCompatibilityError | ExecutionWorkflowFailed>>, never, WorkflowEngine.WorkflowEngine>;
525
523
  export declare const resume: (executionId: string) => Effect.Effect<void, never, WorkflowEngine.WorkflowEngine>;
526
524
  export declare const workflowExecutionId: (input: StartInput) => Effect.Effect<string, never, never>;
527
525
  export declare const workflowExecutionIdForExecution: {
@@ -97,6 +97,9 @@ export interface RecursTurnPolicySnapshot {
97
97
  readonly kind: "recurs";
98
98
  readonly count: number;
99
99
  }
100
+ export interface ForeverTurnPolicySnapshot {
101
+ readonly kind: "forever";
102
+ }
100
103
  export interface UntilToolCallTurnPolicySnapshot {
101
104
  readonly kind: "until-tool-call";
102
105
  readonly name: string;
@@ -106,7 +109,7 @@ export interface BothTurnPolicySnapshot {
106
109
  readonly first: TurnPolicySnapshot;
107
110
  readonly second: TurnPolicySnapshot;
108
111
  }
109
- export type TurnPolicySnapshot = RecursTurnPolicySnapshot | UntilToolCallTurnPolicySnapshot | BothTurnPolicySnapshot;
112
+ export type TurnPolicySnapshot = ForeverTurnPolicySnapshot | RecursTurnPolicySnapshot | UntilToolCallTurnPolicySnapshot | BothTurnPolicySnapshot;
110
113
  export declare const maxTurnPolicySnapshotDepth = 16;
111
114
  export declare const maxTurnPolicySnapshotNodes = 64;
112
115
  export declare const TurnPolicySnapshot: Schema.Codec<TurnPolicySnapshot>;
@@ -382,8 +382,19 @@ export declare const ChildRunAccepted: Schema.Struct<{
382
382
  export interface ChildRunAccepted extends Schema.Schema.Type<typeof ChildRunAccepted> {
383
383
  }
384
384
  export declare const childSessionId: (childExecutionId: ChildExecutionId) => string & import("effect/Brand").Brand<"Relay.SessionId">;
385
- export declare const ExecutionEventType: Schema.Literals<readonly ["execution.accepted", "execution.started", "execution.completed", "execution.failed", "execution.cancelled", "model.input.prepared", "model.output.delta", "model.reasoning.delta", "model.toolcall.delta", "model.output.completed", "model.usage.reported", "budget.exceeded", "tool.call.requested", "tool.result.received", "tool.approval.requested", "tool.approval.resolved", "permission.ask.requested", "permission.ask.resolved", "steering.received", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "entity.created", "entity.destroyed", "envelope.accepted", "envelope.routed", "envelope.ready", "delivery.attempt", "wait.created", "wait.woken", "wait.timed_out", "wait.cancelled", "child_run.spawned", "child_run.event", "child_fan_out.created", "child_fan_out.member.admitted", "child_fan_out.member.terminal", "child_fan_out.terminal", "workspace.lease.planned", "workspace.lease.acquired", "workspace.suspended", "workspace.resumed", "workspace.snapshot.created", "workspace.lease.released", "workspace.lease.failed"]>;
385
+ export declare const ExecutionEventType: Schema.Literals<readonly ["execution.accepted", "execution.started", "execution.completed", "execution.failed", "execution.cancelled", "model.input.prepared", "model.output.delta", "model.reasoning.delta", "model.toolcall.delta", "model.output.completed", "model.usage.reported", "agent.compaction.committed", "budget.exceeded", "tool.call.requested", "tool.result.received", "tool.approval.requested", "tool.approval.resolved", "permission.ask.requested", "permission.ask.resolved", "steering.received", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "entity.created", "entity.destroyed", "envelope.accepted", "envelope.routed", "envelope.ready", "delivery.attempt", "wait.created", "wait.woken", "wait.timed_out", "wait.cancelled", "child_run.spawned", "child_run.event", "child_fan_out.created", "child_fan_out.member.admitted", "child_fan_out.member.terminal", "child_fan_out.terminal", "workspace.lease.planned", "workspace.lease.acquired", "workspace.suspended", "workspace.resumed", "workspace.snapshot.created", "workspace.lease.released", "workspace.lease.failed"]>;
386
386
  export type ExecutionEventType = typeof ExecutionEventType.Type;
387
+ export declare const CompactionCommittedEventData: Schema.Struct<{
388
+ readonly checkpoint_id: Schema.brand<Schema.String, "Relay.SessionEntryId"> & {
389
+ make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.SessionEntryId">;
390
+ };
391
+ readonly session_id: Schema.brand<Schema.String, "Relay.SessionId"> & {
392
+ make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.SessionId">;
393
+ };
394
+ readonly summary_present: Schema.Boolean;
395
+ }>;
396
+ export interface CompactionCommittedEventData extends Schema.Schema.Type<typeof CompactionCommittedEventData> {
397
+ }
387
398
  export declare const ExecutionEvent: Schema.Struct<{
388
399
  readonly id: Schema.brand<Schema.String, "Relay.EventId"> & {
389
400
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.EventId">;
@@ -394,7 +405,7 @@ export declare const ExecutionEvent: Schema.Struct<{
394
405
  readonly child_execution_id: Schema.optionalKey<Schema.brand<Schema.String, "Relay.ChildExecutionId"> & {
395
406
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ChildExecutionId">;
396
407
  }>;
397
- readonly type: Schema.Literals<readonly ["execution.accepted", "execution.started", "execution.completed", "execution.failed", "execution.cancelled", "model.input.prepared", "model.output.delta", "model.reasoning.delta", "model.toolcall.delta", "model.output.completed", "model.usage.reported", "budget.exceeded", "tool.call.requested", "tool.result.received", "tool.approval.requested", "tool.approval.resolved", "permission.ask.requested", "permission.ask.resolved", "steering.received", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "entity.created", "entity.destroyed", "envelope.accepted", "envelope.routed", "envelope.ready", "delivery.attempt", "wait.created", "wait.woken", "wait.timed_out", "wait.cancelled", "child_run.spawned", "child_run.event", "child_fan_out.created", "child_fan_out.member.admitted", "child_fan_out.member.terminal", "child_fan_out.terminal", "workspace.lease.planned", "workspace.lease.acquired", "workspace.suspended", "workspace.resumed", "workspace.snapshot.created", "workspace.lease.released", "workspace.lease.failed"]>;
408
+ readonly type: Schema.Literals<readonly ["execution.accepted", "execution.started", "execution.completed", "execution.failed", "execution.cancelled", "model.input.prepared", "model.output.delta", "model.reasoning.delta", "model.toolcall.delta", "model.output.completed", "model.usage.reported", "agent.compaction.committed", "budget.exceeded", "tool.call.requested", "tool.result.received", "tool.approval.requested", "tool.approval.resolved", "permission.ask.requested", "permission.ask.resolved", "steering.received", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "entity.created", "entity.destroyed", "envelope.accepted", "envelope.routed", "envelope.ready", "delivery.attempt", "wait.created", "wait.woken", "wait.timed_out", "wait.cancelled", "child_run.spawned", "child_run.event", "child_fan_out.created", "child_fan_out.member.admitted", "child_fan_out.member.terminal", "child_fan_out.terminal", "workspace.lease.planned", "workspace.lease.acquired", "workspace.suspended", "workspace.resumed", "workspace.snapshot.created", "workspace.lease.released", "workspace.lease.failed"]>;
398
409
  readonly sequence: Schema.Int;
399
410
  readonly cursor: Schema.String;
400
411
  readonly content: Schema.optionalKey<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
@@ -7,6 +7,7 @@ export * as Entity from "./entity-schema";
7
7
  export * as Execution from "./execution-schema";
8
8
  export * as Ids from "./ids-schema";
9
9
  export * as Inbox from "./inbox-schema";
10
+ export * as Pagination from "./pagination-schema";
10
11
  export * as Presence from "./presence-schema";
11
12
  export * as Schedule from "./schedule-schema";
12
13
  export * as Shared from "./shared-schema";
@@ -0,0 +1,17 @@
1
+ import { Schema } from "effect";
2
+ export declare const ExecutionCursorCodec: Schema.decodeTo<Schema.fromJsonString<Schema.Struct<{
3
+ readonly id: Schema.brand<Schema.String, "Relay.ExecutionId"> & {
4
+ make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ExecutionId">;
5
+ };
6
+ readonly at: Schema.Int;
7
+ }>>, Schema.StringFromBase64Url, never, never>;
8
+ export declare const ExecutionCursor: Schema.String;
9
+ export type ExecutionCursor = typeof ExecutionCursor.Type;
10
+ export declare const SessionCursorCodec: Schema.decodeTo<Schema.fromJsonString<Schema.Struct<{
11
+ readonly id: Schema.brand<Schema.String, "Relay.SessionId"> & {
12
+ make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.SessionId">;
13
+ };
14
+ readonly at: Schema.Int;
15
+ }>>, Schema.StringFromBase64Url, never, never>;
16
+ export declare const SessionCursor: Schema.String;
17
+ export type SessionCursor = typeof SessionCursor.Type;
@@ -11,3 +11,7 @@ export declare const NonEmptyString: Schema.String;
11
11
  export type NonEmptyString = typeof NonEmptyString.Type;
12
12
  export declare const canonicalValue: (value: unknown) => unknown;
13
13
  export declare const canonicalString: (value: unknown) => string;
14
+ export declare const canonicalEquals: {
15
+ (right: unknown): (left: unknown) => boolean;
16
+ (left: unknown, right: unknown): boolean;
17
+ };
@@ -274,6 +274,12 @@ export declare const relayWorkflowDefinitionRevisions: import("drizzle-orm/pg-co
274
274
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
275
275
  };
276
276
  }, "Type"> | {
277
+ readonly id: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
278
+ readonly kind: "child";
279
+ readonly address_id: string & import("effect/Brand").Brand<"Relay.AddressId">;
280
+ readonly preset_name?: string;
281
+ readonly input?: import("effect/Schema").Json;
282
+ } | {
277
283
  readonly id: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
278
284
  readonly kind: "tool";
279
285
  readonly tool_name: string;
@@ -283,12 +289,6 @@ export declare const relayWorkflowDefinitionRevisions: import("drizzle-orm/pg-co
283
289
  readonly kind: "cancellation";
284
290
  readonly operation: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
285
291
  readonly on_cancel?: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
286
- } | {
287
- readonly id: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
288
- readonly kind: "child";
289
- readonly address_id: string & import("effect/Brand").Brand<"Relay.AddressId">;
290
- readonly preset_name?: string;
291
- readonly input?: import("effect/Schema").Json;
292
292
  })[];
293
293
  readonly metadata?: {
294
294
  readonly [x: string]: import("effect/Schema").Json;
@@ -507,6 +507,12 @@ export declare const relayWorkflowDefinitionRevisions: import("drizzle-orm/pg-co
507
507
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
508
508
  };
509
509
  }, "Type"> | {
510
+ readonly id: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
511
+ readonly kind: "child";
512
+ readonly address_id: string & import("effect/Brand").Brand<"Relay.AddressId">;
513
+ readonly preset_name?: string;
514
+ readonly input?: import("effect/Schema").Json;
515
+ } | {
510
516
  readonly id: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
511
517
  readonly kind: "tool";
512
518
  readonly tool_name: string;
@@ -516,12 +522,6 @@ export declare const relayWorkflowDefinitionRevisions: import("drizzle-orm/pg-co
516
522
  readonly kind: "cancellation";
517
523
  readonly operation: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
518
524
  readonly on_cancel?: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
519
- } | {
520
- readonly id: string & import("effect/Brand").Brand<"Relay.WorkflowOperationId">;
521
- readonly kind: "child";
522
- readonly address_id: string & import("effect/Brand").Brand<"Relay.AddressId">;
523
- readonly preset_name?: string;
524
- readonly input?: import("effect/Schema").Json;
525
525
  })[];
526
526
  readonly metadata?: {
527
527
  readonly [x: string]: import("effect/Schema").Json;