@relayfx/sdk 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/ai.js +1 -1
  2. package/dist/http-server.js +1 -1
  3. package/dist/{index-4y9111jh.js → index-0jx86sx3.js} +1 -1
  4. package/dist/{index-y9ncz0zd.js → index-96b7htye.js} +893 -712
  5. package/dist/{index-x32kbvxv.js → index-c6jave5p.js} +989 -958
  6. package/dist/{index-3w6txjtg.js → index-fh2ftte9.js} +7 -2
  7. package/dist/index.js +254 -119
  8. package/dist/migrations/20260721120000_steering_delivered/migration.sql +3 -0
  9. package/dist/migrations/20260721170000_session_writer_ownership/migration.sql +5 -0
  10. package/dist/migrations/mysql/0013_steering_delivered.sql +3 -0
  11. package/dist/migrations/mysql/0014_session_writer_ownership.sql +5 -0
  12. package/dist/migrations/pg/20260721120000_steering_delivered/migration.sql +3 -0
  13. package/dist/migrations/pg/20260721170000_session_writer_ownership/migration.sql +5 -0
  14. package/dist/migrations/sqlite/0013_steering_delivered.sql +3 -0
  15. package/dist/migrations/sqlite/0014_session_writer_ownership.sql +5 -0
  16. package/dist/mysql.js +21 -5
  17. package/dist/postgres.js +10 -6
  18. package/dist/sqlite.js +21 -5
  19. package/dist/types/ai/language-model/language-model-registration.d.ts +23 -11
  20. package/dist/types/relay/client-public-executions.d.ts +2 -2
  21. package/dist/types/relay/language-model-registration.d.ts +25 -11
  22. package/dist/types/relay/mysql-migrations.d.ts +1 -1
  23. package/dist/types/relay/operation.d.ts +7 -4
  24. package/dist/types/relay/sqlite-migrations.d.ts +11 -1
  25. package/dist/types/relay/tool-worker.d.ts +1 -1
  26. package/dist/types/runtime/agent/agent-loop-error.d.ts +1 -1
  27. package/dist/types/runtime/agent/relay-permissions.d.ts +2 -2
  28. package/dist/types/runtime/execution/active-execution-registry.d.ts +1 -0
  29. package/dist/types/runtime/model/model-hub.d.ts +5 -5
  30. package/dist/types/runtime/runner/runner-runtime-service.d.ts +4 -4
  31. package/dist/types/runtime/session/session-store-service.d.ts +1 -0
  32. package/dist/types/schema/execution-schema.d.ts +8 -3
  33. package/dist/types/schema/ids-schema.d.ts +4 -0
  34. package/dist/types/store-sql/schema/session-schema.d.ts +45 -0
  35. package/dist/types/store-sql/session/session-records.d.ts +5 -47
  36. package/dist/types/store-sql/session/session-repository.d.ts +35 -1
  37. package/dist/types/store-sql/session/session-row.d.ts +60 -0
  38. package/package.json +3 -3
package/dist/postgres.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  database,
4
4
  normalizeMigrationCause
5
- } from "./index-4y9111jh.js";
5
+ } from "./index-0jx86sx3.js";
6
6
  import {
7
7
  Dialect,
8
8
  RuntimeMigrationError,
@@ -14,11 +14,11 @@ import {
14
14
  fromDbTimestamp,
15
15
  fromNullableDbTimestamp,
16
16
  timestampParam
17
- } from "./index-y9ncz0zd.js";
18
- import"./index-x32kbvxv.js";
17
+ } from "./index-96b7htye.js";
18
+ import"./index-c6jave5p.js";
19
19
  import {
20
20
  exports_ids_schema
21
- } from "./index-3w6txjtg.js";
21
+ } from "./index-fh2ftte9.js";
22
22
  import {
23
23
  __export
24
24
  } from "./index-nb39b5ae.js";
@@ -487,12 +487,15 @@ var relayTopicSubscriptions = pgTable6("relay_topic_subscriptions", {
487
487
  index4("idx_relay_topic_subscriptions_subscriber").on(table.tenantId, table.subscriberExecutionId)
488
488
  ]);
489
489
  // ../store-sql/src/schema/session-schema.ts
490
- import { index as index5, jsonb as jsonb7, pgTable as pgTable7, primaryKey as primaryKey7, text as text8, timestamp as timestamp7 } from "drizzle-orm/pg-core";
490
+ import { bigint, boolean as boolean3, index as index5, jsonb as jsonb7, pgTable as pgTable7, primaryKey as primaryKey7, text as text8, timestamp as timestamp7 } from "drizzle-orm/pg-core";
491
491
  var relaySessions = pgTable7("relay_sessions", {
492
492
  tenantId: tenantId(),
493
493
  id: text8("id").$type().notNull(),
494
494
  rootAddressId: text8("root_address_id").$type().notNull(),
495
495
  leafEntryId: text8("leaf_entry_id").$type(),
496
+ ownerExecutionId: text8("owner_execution_id").$type(),
497
+ ownerEpoch: bigint("owner_epoch", { mode: "number" }).notNull().default(0),
498
+ ownerReleased: boolean3("owner_released").notNull().default(true),
496
499
  metadataJson: jsonb7("metadata_json").$type().notNull().default({}),
497
500
  createdAt: timestamp7("created_at", { withTimezone: true }).notNull().defaultNow(),
498
501
  updatedAt: timestamp7("updated_at", { withTimezone: true }).notNull().defaultNow()
@@ -745,7 +748,7 @@ var relayIdempotencyKeys = pgTable13("relay_idempotency_keys", {
745
748
  uniqueIndex9("uq_relay_idempotency_scope_operation_key").on(table.tenantId, table.scope, table.operation, table.key)
746
749
  ]);
747
750
  // src/postgres.ts
748
- var schemaHead = "20260719120000_rename_entity_to_resident";
751
+ var schemaHead = "20260721120000_steering_delivered";
749
752
  var migrationNames = [
750
753
  "20260701002839_sour_cerebro",
751
754
  "20260701041134_acoustic_hulk",
@@ -773,6 +776,7 @@ var migrationNames = [
773
776
  "20260712190000_workflow_definitions",
774
777
  "20260712200000_workflow_runtime",
775
778
  "20260718140000_execution_scoped_tool_calls",
779
+ "20260719120000_rename_entity_to_resident",
776
780
  schemaHead
777
781
  ];
778
782
  var migrationsFolderUrl = import.meta.url.endsWith("/src/postgres.ts") ? new URL("../../../migrations/pg", import.meta.url) : new URL("./migrations/pg", import.meta.url);
package/dist/sqlite.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  database,
4
4
  normalizeMigrationCause
5
- } from "./index-4y9111jh.js";
5
+ } from "./index-0jx86sx3.js";
6
6
  import {
7
7
  DatabaseAlreadyOwned,
8
8
  RuntimeConfigurationError,
@@ -12,9 +12,9 @@ import {
12
12
  make,
13
13
  makeDatabaseIdentity,
14
14
  runtimeLayer
15
- } from "./index-y9ncz0zd.js";
16
- import"./index-x32kbvxv.js";
17
- import"./index-3w6txjtg.js";
15
+ } from "./index-96b7htye.js";
16
+ import"./index-c6jave5p.js";
17
+ import"./index-fh2ftte9.js";
18
18
  import"./index-nb39b5ae.js";
19
19
 
20
20
  // src/sqlite-runtime.ts
@@ -668,6 +668,20 @@ DROP INDEX idx_relay_entity_instances_kind_status;
668
668
  CREATE INDEX idx_relay_resident_instances_kind_status ON relay_resident_instances (tenant_id, kind, status);
669
669
  `;
670
670
 
671
+ // ../../migrations/sqlite/0013_steering_delivered.sql
672
+ var _0013_steering_delivered_default = `UPDATE relay_execution_events
673
+ SET type = 'steering.delivered', id = replace(id, ':received', ':delivered')
674
+ WHERE type = 'steering.received';
675
+ `;
676
+
677
+ // ../../migrations/sqlite/0014_session_writer_ownership.sql
678
+ var _0014_session_writer_ownership_default = `ALTER TABLE "relay_sessions" ADD COLUMN "owner_execution_id" TEXT;
679
+ --> statement-breakpoint
680
+ ALTER TABLE "relay_sessions" ADD COLUMN "owner_epoch" INTEGER NOT NULL DEFAULT 0;
681
+ --> statement-breakpoint
682
+ ALTER TABLE "relay_sessions" ADD COLUMN "owner_released" INTEGER NOT NULL DEFAULT 1;
683
+ `;
684
+
671
685
  // src/sqlite-migrations.ts
672
686
  import { Effect } from "effect";
673
687
  import { SqlClient } from "effect/unstable/sql/SqlClient";
@@ -690,7 +704,9 @@ var migrations = [
690
704
  { id: 9, name: "workflow_definitions", file: "0009_workflow_definitions.sql", source: _0009_workflow_definitions_default },
691
705
  { id: 10, name: "workflow_runtime", file: "0010_workflow_runtime.sql", source: _0010_workflow_runtime_default },
692
706
  { id: 11, name: "execution_scoped_tool_calls", file: "0011_execution_scoped_tool_calls.sql", source: _0011_execution_scoped_tool_calls_default },
693
- { id: 12, name: "rename_entity_to_resident", file: "0012_rename_entity_to_resident.sql", source: _0012_rename_entity_to_resident_default }
707
+ { id: 12, name: "rename_entity_to_resident", file: "0012_rename_entity_to_resident.sql", source: _0012_rename_entity_to_resident_default },
708
+ { id: 13, name: "steering_delivered", file: "0013_steering_delivered.sql", source: _0013_steering_delivered_default },
709
+ { id: 14, name: "session_writer_ownership", file: "0014_session_writer_ownership.sql", source: _0014_session_writer_ownership_default }
694
710
  ];
695
711
  var loader = Effect.succeed(migrations.map(({ id, name, source }) => [id, name, Effect.succeed(execute(source))]));
696
712
 
@@ -1,13 +1,25 @@
1
1
  import { ModelRegistry } from "@batonfx/core";
2
+ import { type AnthropicInput, type LayerOptions as WithAnthropicOptions, layer as withAnthropic } from "@batonfx/providers/anthropic";
3
+ import { type DeterministicInput } from "@batonfx/providers/deterministic";
4
+ import { type LayerOptions as WithOpenAiOptions, type OpenAiAccountInput, type OpenAiInput, layer as withOpenAi, layerAccount as withOpenAiAccount } from "@batonfx/providers/openai";
5
+ import { type LayerOptions as WithOpenAiCompatibleOptions, type OpenAiCompatibleInput, layer as withOpenAiCompatible } from "@batonfx/providers/openai-compat";
6
+ import { type LayerOptions as WithOpenRouterOptions, type OpenRouterInput, layer as withOpenRouter } from "@batonfx/providers/openrouter";
7
+ import { Layer } from "effect";
2
8
  import type { Effect } from "effect";
3
- export type { AnthropicInput, WithAnthropicOptions } from "@batonfx/providers/anthropic";
4
- export { anthropic, anthropicClientLayerConfig, withAnthropic, withAnthropicFetch } from "@batonfx/providers/anthropic";
5
- export type { DeterministicInput, WithOpenAiOrDeterministicOptions } from "@batonfx/providers/deterministic";
6
- export { withDeterministic, withOpenAiOrDeterministic, withOpenAiOrDeterministicFetch, } from "@batonfx/providers/deterministic";
7
- export declare const deterministicModel: (input: import("@batonfx/providers/deterministic").DeterministicInput) => Effect.Effect<ModelRegistry.Registration>;
8
- export type { OpenAiAccountCredential, OpenAiAccountCredentials, OpenAiAccountInput, OpenAiInput, RegistrationOptions, WithOpenAiOptions, } from "@batonfx/providers/openai";
9
- export { openAi, openAiAccount, OpenAiAccountCredentialError, openAiClientLayerConfig, withOpenAi, withOpenAiAccount, withOpenAiAccountFetch, withOpenAiFetch, } from "@batonfx/providers/openai";
10
- export type { OpenAiCompatibleInput, WithOpenAiCompatibleOptions } from "@batonfx/providers/openai-compat";
11
- export { openAiCompatible, openAiCompatibleClientLayerConfig, withOpenAiCompatible, withOpenAiCompatibleFetch, } from "@batonfx/providers/openai-compat";
12
- export type { OpenRouterInput, WithOpenRouterOptions } from "@batonfx/providers/openrouter";
13
- export { openRouter, openRouterClientLayerConfig, withOpenRouter, withOpenRouterFetch, } from "@batonfx/providers/openrouter";
9
+ export { layerConfig as anthropicClientLayerConfig } from "@batonfx/providers/anthropic";
10
+ export { layer as deterministicLayer, layerOpenAi as openAiOrDeterministicLayer, } from "@batonfx/providers/deterministic";
11
+ export { OpenAiAccountCredentialError, layerConfig as openAiClientLayerConfig } from "@batonfx/providers/openai";
12
+ export { layerConfig as openAiCompatibleClientLayerConfig } from "@batonfx/providers/openai-compat";
13
+ export { layerConfig as openRouterClientLayerConfig } from "@batonfx/providers/openrouter";
14
+ export type { OpenAiFallbackOptions } from "@batonfx/providers/deterministic";
15
+ export type { OpenAiAccountCredential, OpenAiAccountCredentials, RegistrationOptions } from "@batonfx/providers/openai";
16
+ export { withAnthropic, withOpenAi, withOpenAiAccount, withOpenAiCompatible, withOpenRouter };
17
+ export type { AnthropicInput, DeterministicInput, OpenAiAccountInput, OpenAiCompatibleInput, OpenAiInput, OpenRouterInput, WithAnthropicOptions, WithOpenAiCompatibleOptions, WithOpenAiOptions, WithOpenRouterOptions, };
18
+ export declare const deterministicModel: (input: DeterministicInput) => Effect.Effect<ModelRegistry.Registration>;
19
+ export declare const openAi: (input: OpenAiInput) => Effect.Effect<ModelRegistry.Registration, never, import("@effect/ai-openai/OpenAiClient").OpenAiClient>;
20
+ export declare const openAiCompatible: (input: OpenAiCompatibleInput) => Effect.Effect<ModelRegistry.Registration, never, import("@effect/ai-openai-compat/OpenAiClient").OpenAiClient>;
21
+ export declare const withOpenAiFetch: (input: WithOpenAiOptions) => Layer.Layer<ModelRegistry.ModelRegistry, import("effect/Config").ConfigError, never>;
22
+ export declare const withAnthropicFetch: (input: WithAnthropicOptions) => Layer.Layer<ModelRegistry.ModelRegistry, import("effect/Config").ConfigError, never>;
23
+ export declare const withOpenRouterFetch: (input: WithOpenRouterOptions) => Layer.Layer<ModelRegistry.ModelRegistry, import("effect/Config").ConfigError, never>;
24
+ export declare const withOpenAiCompatibleFetch: (input: WithOpenAiCompatibleOptions) => Layer.Layer<ModelRegistry.ModelRegistry, import("effect/Config").ConfigError, never>;
25
+ export declare const withOpenAiAccountFetch: (input: OpenAiAccountInput) => Layer.Layer<ModelRegistry.ModelRegistry, never, never>;
@@ -31,7 +31,7 @@ export declare const followExecution: (input: FollowExecutionInput) => Stream.St
31
31
  readonly child_execution_id: import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "Relay.ChildExecutionId"> & {
32
32
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ChildExecutionId">;
33
33
  }>;
34
- readonly type: import("effect/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", "resident.created", "resident.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"]>;
34
+ readonly type: import("effect/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.delivered", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "resident.created", "resident.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"]>;
35
35
  readonly sequence: import("effect/Schema").Int;
36
36
  readonly cursor: import("effect/Schema").String;
37
37
  readonly content: import("effect/Schema").optionalKey<import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
@@ -151,7 +151,7 @@ export declare const streamSession: (input: StreamSessionInput) => Stream.Stream
151
151
  readonly child_execution_id: import("effect/Schema").optionalKey<import("effect/Schema").brand<import("effect/Schema").String, "Relay.ChildExecutionId"> & {
152
152
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ChildExecutionId">;
153
153
  }>;
154
- readonly type: import("effect/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", "resident.created", "resident.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"]>;
154
+ readonly type: import("effect/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.delivered", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "resident.created", "resident.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"]>;
155
155
  readonly sequence: import("effect/Schema").Int;
156
156
  readonly cursor: import("effect/Schema").String;
157
157
  readonly content: import("effect/Schema").optionalKey<import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
@@ -1,13 +1,27 @@
1
1
  import { ModelRegistry } from "@batonfx/core";
2
+ import { type AnthropicInput, type LayerOptions as WithAnthropicOptions, layer as withAnthropic } from "@batonfx/providers/anthropic";
3
+ import { type DeterministicInput } from "@batonfx/providers/deterministic";
4
+ import { type LayerOptions as WithOpenAiOptions, type OpenAiAccountInput, type OpenAiInput, layer as withOpenAi, layerAccount as withOpenAiAccount } from "@batonfx/providers/openai";
5
+ import { type LayerOptions as WithOpenAiCompatibleOptions, type OpenAiCompatibleInput, layer as withOpenAiCompatible } from "@batonfx/providers/openai-compat";
6
+ import { type LayerOptions as WithOpenRouterOptions, type OpenRouterInput, layer as withOpenRouter } from "@batonfx/providers/openrouter";
7
+ import { Layer } from "effect";
2
8
  import type { Effect } from "effect";
3
- export type { AnthropicInput, WithAnthropicOptions } from "@batonfx/providers/anthropic";
4
- export { anthropic, anthropicClientLayerConfig, withAnthropic, withAnthropicFetch } from "@batonfx/providers/anthropic";
5
- export type { DeterministicInput, WithOpenAiOrDeterministicOptions } from "@batonfx/providers/deterministic";
6
- export { withDeterministic, withOpenAiOrDeterministic, withOpenAiOrDeterministicFetch, } from "@batonfx/providers/deterministic";
7
- export declare const deterministicModel: (input: import("@batonfx/providers/deterministic").DeterministicInput) => Effect.Effect<ModelRegistry.Registration>;
8
- export type { OpenAiAccountCredential, OpenAiAccountCredentials, OpenAiAccountInput, OpenAiInput, RegistrationOptions, WithOpenAiOptions, } from "@batonfx/providers/openai";
9
- export { openAi, openAiAccount, OpenAiAccountCredentialError, openAiClientLayerConfig, withOpenAi, withOpenAiAccount, withOpenAiAccountFetch, withOpenAiFetch, } from "@batonfx/providers/openai";
10
- export type { OpenAiCompatibleInput, WithOpenAiCompatibleOptions } from "@batonfx/providers/openai-compat";
11
- export { openAiCompatible, openAiCompatibleClientLayerConfig, withOpenAiCompatible, withOpenAiCompatibleFetch, } from "@batonfx/providers/openai-compat";
12
- export type { OpenRouterInput, WithOpenRouterOptions } from "@batonfx/providers/openrouter";
13
- export { openRouter, openRouterClientLayerConfig, withOpenRouter, withOpenRouterFetch, } from "@batonfx/providers/openrouter";
9
+ export { layerConfig as anthropicClientLayerConfig } from "@batonfx/providers/anthropic";
10
+ export { layer as deterministicLayer, layerOpenAi as openAiOrDeterministicLayer, } from "@batonfx/providers/deterministic";
11
+ export { OpenAiAccountCredentialError, layerConfig as openAiClientLayerConfig } from "@batonfx/providers/openai";
12
+ export { layerConfig as openAiCompatibleClientLayerConfig } from "@batonfx/providers/openai-compat";
13
+ export { layerConfig as openRouterClientLayerConfig } from "@batonfx/providers/openrouter";
14
+ export type { OpenAiFallbackOptions } from "@batonfx/providers/deterministic";
15
+ export type { OpenAiAccountCredential, OpenAiAccountCredentials, RegistrationOptions } from "@batonfx/providers/openai";
16
+ export { withAnthropic, withOpenAi, withOpenAiAccount, withOpenAiCompatible, withOpenRouter };
17
+ export type { AnthropicInput, DeterministicInput, OpenAiAccountInput, OpenAiCompatibleInput, OpenAiInput, OpenRouterInput, WithAnthropicOptions, WithOpenAiCompatibleOptions, WithOpenAiOptions, WithOpenRouterOptions, };
18
+ export declare const deterministicModel: (input: DeterministicInput) => Effect.Effect<ModelRegistry.Registration>;
19
+ export declare const openAi: (input: OpenAiInput) => Effect.Effect<ModelRegistry.Registration, never, import("@effect/ai-openai/OpenAiClient").OpenAiClient>;
20
+ export declare const anthropic: (input: AnthropicInput) => Effect.Effect<ModelRegistry.Registration, never, import("@effect/ai-anthropic/AnthropicClient").AnthropicClient>;
21
+ export declare const openRouter: (input: OpenRouterInput) => Effect.Effect<ModelRegistry.Registration, never, import("@effect/ai-openrouter/OpenRouterClient").OpenRouterClient>;
22
+ export declare const openAiCompatible: (input: OpenAiCompatibleInput) => Effect.Effect<ModelRegistry.Registration, never, import("@effect/ai-openai-compat/OpenAiClient").OpenAiClient>;
23
+ export declare const withOpenAiFetch: (input: WithOpenAiOptions) => Layer.Layer<ModelRegistry.ModelRegistry, import("effect/Config").ConfigError, never>;
24
+ export declare const withAnthropicFetch: (input: WithAnthropicOptions) => Layer.Layer<ModelRegistry.ModelRegistry, import("effect/Config").ConfigError, never>;
25
+ export declare const withOpenRouterFetch: (input: WithOpenRouterOptions) => Layer.Layer<ModelRegistry.ModelRegistry, import("effect/Config").ConfigError, never>;
26
+ export declare const withOpenAiCompatibleFetch: (input: WithOpenAiCompatibleOptions) => Layer.Layer<ModelRegistry.ModelRegistry, import("effect/Config").ConfigError, never>;
27
+ export declare const withOpenAiAccountFetch: (input: OpenAiAccountInput) => Layer.Layer<ModelRegistry.ModelRegistry, never, never>;
@@ -1 +1 @@
1
- export declare const migrations: readonly [readonly [1, "baseline", string], readonly [2, "durable_tool_placement", string], readonly [3, "durable_inbox", string], readonly [4, "execution_state", string], readonly [5, "durable_entities", string], readonly [6, "ephemeral_presence", string], readonly [7, "topic_subscriptions", string], readonly [8, "child_fan_out", string], readonly [9, "workflow_definitions", string], readonly [10, "workflow_runtime", string], readonly [11, "execution_scoped_tool_calls", string], readonly [12, "rename_entity_to_resident", string]];
1
+ export declare const migrations: readonly [readonly [1, "baseline", string], readonly [2, "durable_tool_placement", string], readonly [3, "durable_inbox", string], readonly [4, "execution_state", string], readonly [5, "durable_entities", string], readonly [6, "ephemeral_presence", string], readonly [7, "topic_subscriptions", string], readonly [8, "child_fan_out", string], readonly [9, "workflow_definitions", string], readonly [10, "workflow_runtime", string], readonly [11, "execution_scoped_tool_calls", string], readonly [12, "rename_entity_to_resident", string], readonly [13, "steering_delivered", string], readonly [14, "session_writer_ownership", string]];
@@ -504,6 +504,9 @@ export declare const SteerAccepted: Schema.Struct<{
504
504
  };
505
505
  readonly kind: Schema.Literals<readonly ["steering", "follow_up"]>;
506
506
  readonly sequence: Schema.Int;
507
+ readonly steering_message_id: Schema.brand<Schema.String, "Relay.SteeringMessageId"> & {
508
+ make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.SteeringMessageId">;
509
+ };
507
510
  }>;
508
511
  export interface SteerAccepted extends Schema.Schema.Type<typeof SteerAccepted> {
509
512
  }
@@ -647,7 +650,7 @@ export declare const FollowExecutionItem: Schema.Union<readonly [Schema.Struct<{
647
650
  readonly child_execution_id: Schema.optionalKey<Schema.brand<Schema.String, "Relay.ChildExecutionId"> & {
648
651
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ChildExecutionId">;
649
652
  }>;
650
- 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", "resident.created", "resident.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"]>;
653
+ 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.delivered", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "resident.created", "resident.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"]>;
651
654
  readonly sequence: Schema.Int;
652
655
  readonly cursor: Schema.String;
653
656
  readonly content: Schema.optionalKey<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
@@ -2404,7 +2407,7 @@ export declare const SessionStreamItem: Schema.Union<readonly [Schema.TaggedStru
2404
2407
  readonly child_execution_id: Schema.optionalKey<Schema.brand<Schema.String, "Relay.ChildExecutionId"> & {
2405
2408
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ChildExecutionId">;
2406
2409
  }>;
2407
- 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", "resident.created", "resident.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"]>;
2410
+ 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.delivered", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "resident.created", "resident.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"]>;
2408
2411
  readonly sequence: Schema.Int;
2409
2412
  readonly cursor: Schema.String;
2410
2413
  readonly content: Schema.optionalKey<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
@@ -2715,7 +2718,7 @@ export declare const ReplayExecutionResult: Schema.Struct<{
2715
2718
  readonly child_execution_id: Schema.optionalKey<Schema.brand<Schema.String, "Relay.ChildExecutionId"> & {
2716
2719
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ChildExecutionId">;
2717
2720
  }>;
2718
- 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", "resident.created", "resident.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"]>;
2721
+ 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.delivered", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "resident.created", "resident.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"]>;
2719
2722
  readonly sequence: Schema.Int;
2720
2723
  readonly cursor: Schema.String;
2721
2724
  readonly content: Schema.optionalKey<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
@@ -2797,7 +2800,7 @@ export declare const PageExecutionEventsResult: Schema.Struct<{
2797
2800
  readonly child_execution_id: Schema.optionalKey<Schema.brand<Schema.String, "Relay.ChildExecutionId"> & {
2798
2801
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ChildExecutionId">;
2799
2802
  }>;
2800
- 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", "resident.created", "resident.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"]>;
2803
+ 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.delivered", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "resident.created", "resident.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"]>;
2801
2804
  readonly sequence: Schema.Int;
2802
2805
  readonly cursor: Schema.String;
2803
2806
  readonly content: Schema.optionalKey<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
@@ -60,5 +60,15 @@ export declare const migrations: readonly [{
60
60
  readonly name: "rename_entity_to_resident";
61
61
  readonly file: "0012_rename_entity_to_resident.sql";
62
62
  readonly source: string;
63
+ }, {
64
+ readonly id: 13;
65
+ readonly name: "steering_delivered";
66
+ readonly file: "0013_steering_delivered.sql";
67
+ readonly source: string;
68
+ }, {
69
+ readonly id: 14;
70
+ readonly name: "session_writer_ownership";
71
+ readonly file: "0014_session_writer_ownership.sql";
72
+ readonly source: string;
63
73
  }];
64
- export declare const loader: Effect.Effect<(readonly [1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12, "baseline" | "child_fan_out" | "durable_entities" | "durable_inbox" | "durable_tool_placement" | "ephemeral_presence" | "execution_scoped_tool_calls" | "execution_state" | "rename_entity_to_resident" | "topic_subscriptions" | "workflow_definitions" | "workflow_runtime", Effect.Effect<Effect.Effect<void, import("effect/unstable/sql/SqlError").SqlError, SqlClient>, never, never>])[], never, never>;
74
+ export declare const loader: Effect.Effect<(readonly [1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14, "baseline" | "child_fan_out" | "durable_entities" | "durable_inbox" | "durable_tool_placement" | "ephemeral_presence" | "execution_scoped_tool_calls" | "execution_state" | "rename_entity_to_resident" | "session_writer_ownership" | "steering_delivered" | "topic_subscriptions" | "workflow_definitions" | "workflow_runtime", Effect.Effect<Effect.Effect<void, import("effect/unstable/sql/SqlError").SqlError, SqlClient>, never, never>])[], never, never>;
@@ -16,5 +16,5 @@ export interface Options<E = Error, R = never> {
16
16
  readonly handlers: Readonly<Record<string, Handler<E, R>>>;
17
17
  }
18
18
  export declare const runOnce: <E, R>(options: Options<E, R>) => Effect.Effect<boolean, ClientError, R | ClientService>;
19
- export declare const run: <E, R>(options: Options<E, R>) => Effect.Effect<never, ClientError, R | ClientService>;
19
+ export declare const run: <E, R>(options: Options<E, R>) => Effect.Effect<never, never, R | ClientService>;
20
20
  export type Error = ClientError;
@@ -4,7 +4,7 @@ import { AiError } from "effect/unstable/ai";
4
4
  declare const AgentLoopError_base: Schema.Class<AgentLoopError, Schema.TaggedStruct<"AgentLoopError", {
5
5
  readonly message: Schema.String;
6
6
  readonly failure_classification: Schema.optionalKey<Schema.Literal<"context-overflow">>;
7
- readonly baton_failure: Schema.optionalKey<Schema.Union<readonly [typeof AgentEvent.AgentError, typeof AgentEvent.ResumeMismatch, typeof TurnPolicy.TurnPolicyError, typeof AgentEvent.TurnPolicyStopped, typeof AgentEvent.TurnLimitExceeded, typeof AgentEvent.MiddlewareViolation, typeof AgentEvent.DuplicateToolCallId, typeof AgentEvent.ProgressOverflowError, typeof AgentEvent.ToolNameCollision, typeof AiError.AiError, typeof ModelRegistry.LanguageModelNotRegistered, typeof ToolExecutor.FrameworkFailure]>>;
7
+ readonly baton_failure: Schema.optionalKey<Schema.Union<readonly [typeof AgentEvent.AgentError, typeof AgentEvent.ResumeMismatch, typeof TurnPolicy.TurnPolicyError, typeof AgentEvent.TurnPolicyStopped, typeof AgentEvent.TurnLimitExceeded, typeof AgentEvent.MiddlewareViolation, typeof AgentEvent.DuplicateToolCallId, typeof AgentEvent.ProgressOverflow, typeof AgentEvent.ToolNameCollision, typeof AiError.AiError, typeof ModelRegistry.LanguageModelNotRegistered, typeof ToolExecutor.FrameworkFailure]>>;
8
8
  readonly next_event_sequence: Schema.optionalKey<Schema.Int>;
9
9
  }>, import("effect/Cause").YieldableError>;
10
10
  export declare class AgentLoopError extends AgentLoopError_base {
@@ -1,4 +1,4 @@
1
- import { Permissions } from "@batonfx/core";
1
+ import { Approvals, Permissions } from "@batonfx/core";
2
2
  import { Agent, Execution, Ids } from "../../schema/index";
3
3
  import { PermissionRuleRepository } from "../../store-sql/portable";
4
4
  import { Effect, Layer } from "effect";
@@ -21,4 +21,4 @@ export interface Config {
21
21
  readonly startedAt: number;
22
22
  readonly eventSequence: Execution.ExecutionEventSequence;
23
23
  }
24
- export declare const layer: (config: Config) => Layer.Layer<Permissions.Permissions | Permissions.RuleStore, never, never>;
24
+ export declare const layer: (config: Config) => Layer.Layer<Approvals.Approvals | Permissions.Permissions | Permissions.RuleStore, never, never>;
@@ -3,6 +3,7 @@ import { Context, Effect, Layer } from "effect";
3
3
  export interface Interface {
4
4
  readonly run: <A, E, R>(executionId: Ids.ExecutionId, effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
5
5
  readonly interrupt: (executionId: Ids.ExecutionId) => Effect.Effect<boolean>;
6
+ readonly awaitQuiescent: (executionId: Ids.ExecutionId) => Effect.Effect<void>;
6
7
  }
7
8
  declare const Service_base: Context.ServiceClass<Service, "@relayfx/runtime/execution/active-execution-registry/Service", Interface>;
8
9
  export declare class Service extends Service_base {
@@ -16,12 +16,12 @@ declare const Service_base: Context.ServiceClass<Service, "@relayfx/runtime/mode
16
16
  export declare class Service extends Service_base {
17
17
  }
18
18
  export declare const layer: {
19
- (registrations: ReadonlyArray<ModelRegistry.Registration>, options?: ModelRegistry.GovernanceOptions): Layer.Layer<Service | LanguageModelService | ModelRegistry.Service, ModelRegistrationCollision>;
20
- (options?: ModelRegistry.GovernanceOptions): (registrations: ReadonlyArray<ModelRegistry.Registration>) => Layer.Layer<Service | LanguageModelService | ModelRegistry.Service, ModelRegistrationCollision>;
19
+ (registrations: ReadonlyArray<ModelRegistry.Registration>, options?: ModelRegistry.GovernanceOptions): Layer.Layer<Service | LanguageModelService | ModelRegistry.ModelRegistry, ModelRegistrationCollision>;
20
+ (options?: ModelRegistry.GovernanceOptions): (registrations: ReadonlyArray<ModelRegistry.Registration>) => Layer.Layer<Service | LanguageModelService | ModelRegistry.ModelRegistry, ModelRegistrationCollision>;
21
21
  };
22
22
  export declare const layerFromRegistrationEffects: {
23
- <E, R>(declarations: ReadonlyArray<Effect.Effect<ModelRegistry.Registration, E, R>>, options?: ModelRegistry.GovernanceOptions): Layer.Layer<Service | LanguageModelService | ModelRegistry.Service, E | ModelRegistrationCollision, Exclude<R, import("effect/Scope").Scope>>;
24
- (options?: ModelRegistry.GovernanceOptions): <E, R>(declarations: ReadonlyArray<Effect.Effect<ModelRegistry.Registration, E, R>>) => Layer.Layer<Service | LanguageModelService | ModelRegistry.Service, E | ModelRegistrationCollision, Exclude<R, import("effect/Scope").Scope>>;
23
+ <E, R>(declarations: ReadonlyArray<Effect.Effect<ModelRegistry.Registration, E, R>>, options?: ModelRegistry.GovernanceOptions): Layer.Layer<Service | LanguageModelService | ModelRegistry.ModelRegistry, E | ModelRegistrationCollision, Exclude<R, import("effect/Scope").Scope>>;
24
+ (options?: ModelRegistry.GovernanceOptions): <E, R>(declarations: ReadonlyArray<Effect.Effect<ModelRegistry.Registration, E, R>>) => Layer.Layer<Service | LanguageModelService | ModelRegistry.ModelRegistry, E | ModelRegistrationCollision, Exclude<R, import("effect/Scope").Scope>>;
25
25
  };
26
- export declare const testLayer: (modelRegistry: ModelRegistry.Interface) => Layer.Layer<ModelRegistry.Service | LanguageModelService | Service, never, never>;
26
+ export declare const testLayer: (modelRegistry: ModelRegistry.Interface) => Layer.Layer<ModelRegistry.ModelRegistry | LanguageModelService | Service, never, never>;
27
27
  export {};
@@ -147,7 +147,7 @@ export declare const layerWithLanguageModelService: <DatabaseError, DatabaseIn,
147
147
  readonly languageModelLayer: Layer.Layer<LanguageModelServiceService, LanguageModelError, LanguageModelIn>;
148
148
  }) => Layer.Layer<MessageStorage.MessageStorage | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | NotificationBus.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | SchedulerServiceService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig | WorkflowEngine.WorkflowEngine, DatabaseError | LanguageModelError | ClusterConfigMismatch | Config.ConfigError, DatabaseIn | Exclude<LanguageModelIn, SqlClient> | Exclude<Exclude<LanguageModelIn, ArtifactStoreService>, SqlClient> | Exclude<Exclude<Exclude<Exclude<LanguageModelIn, AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | NotificationBus.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service>, BlobStoreService>, ArtifactStoreService>, SqlClient> | Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<LanguageModelIn, never>, WorkflowEngine.WorkflowEngine>, MessageStorage.MessageStorage | Runners.Runners | Sharding.Sharding | ShardingConfig.ShardingConfig>, AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | NotificationBus.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service>, BlobStoreService>, ArtifactStoreService>, SqlClient> | Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<LanguageModelIn, import("../inbox/inbox-service").Service>, import("../address/address-book-service").Service | import("../inbox/inbox-service").Service | import("../envelope/envelope-service").Service>, import("../inbox/inbox-service").Service | import("../topic/topic-service").Service>, import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../agent/agent-registry-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service>, import("../state/execution-state-service").Service>, import("../wait/wait-service").Service>, import("../execution/event-log-service").Service>, LanguageModelServiceService>, never>, WorkflowEngine.WorkflowEngine>, MessageStorage.MessageStorage | Runners.Runners | Sharding.Sharding | ShardingConfig.ShardingConfig>, AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | NotificationBus.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service>, BlobStoreService>, ArtifactStoreService>, SqlClient> | Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<Exclude<LanguageModelIn, SchemaRegistryService>, import("../inbox/inbox-service").Service>, import("../address/address-book-service").Service | import("../inbox/inbox-service").Service | import("../envelope/envelope-service").Service>, import("../inbox/inbox-service").Service | import("../topic/topic-service").Service>, import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../agent/agent-registry-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service>, import("../state/execution-state-service").Service>, import("../wait/wait-service").Service>, import("../execution/event-log-service").Service>, LanguageModelServiceService>, never>, WorkflowEngine.WorkflowEngine>, MessageStorage.MessageStorage | Runners.Runners | Sharding.Sharding | ShardingConfig.ShardingConfig>, AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | NotificationBus.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service>, BlobStoreService>, ArtifactStoreService>, SqlClient>>;
149
149
  /** @deprecated Use `Runtime.layerEmbedded` for an embedded process role. */
150
- export declare const layer: Layer.Layer<MessageStorage.MessageStorage | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | NotificationBus.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | ModelRegistry.Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | ModelHubService | SchedulerServiceService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig | WorkflowEngine.WorkflowEngine, ClusterConfigMismatch | Config.ConfigError, SqlClient>;
150
+ export declare const layer: Layer.Layer<MessageStorage.MessageStorage | ModelRegistry.ModelRegistry | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | NotificationBus.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | ModelHubService | SchedulerServiceService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig | WorkflowEngine.WorkflowEngine, ClusterConfigMismatch | Config.ConfigError, SqlClient>;
151
151
  /** @deprecated Use `Runtime.layerEmbedded` with a test database and test host layers. */
152
152
  export declare const testLayerWithServices: <LanguageModelError, LanguageModelIn, ToolRuntimeError, ToolRuntimeIn>(options: {
153
153
  readonly languageModelLayer: Layer.Layer<LanguageModelServiceService, LanguageModelError, LanguageModelIn>;
@@ -159,11 +159,11 @@ export declare const testLayerWithLanguageModelService: <LanguageModelError, Lan
159
159
  /** @deprecated Use `Runtime.layerEmbedded` with a test database and test host layers. */
160
160
  export declare const testLayer: Layer.Layer<Crypto.Crypto | MessageStorage.MemoryDriver | MessageStorage.MessageStorage | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | SchedulerServiceService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig | WorkflowEngine.WorkflowEngine, Config.ConfigError, never>;
161
161
  /** @deprecated Use `Runtime.layerClient` with a test database. */
162
- export declare const testClientLayer: Layer.Layer<Crypto.Crypto | MessageStorage.MemoryDriver | MessageStorage.MessageStorage | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | ModelRegistry.Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | ModelHubService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig, Config.ConfigError, never>;
162
+ export declare const testClientLayer: Layer.Layer<Crypto.Crypto | MessageStorage.MemoryDriver | MessageStorage.MessageStorage | ModelRegistry.ModelRegistry | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | ModelHubService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig, Config.ConfigError, never>;
163
163
  /** @deprecated Use `Runtime.layerEmbedded` and read `Runtime.Service.readiness`. */
164
- export declare const testLayerWithDatabaseCheck: <CheckError>(checkDatabase: Effect.Effect<void, CheckError>) => Layer.Layer<Crypto.Crypto | MessageStorage.MemoryDriver | MessageStorage.MessageStorage | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | ModelRegistry.Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | ModelHubService | SchedulerServiceService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig | WorkflowEngine.WorkflowEngine, Config.ConfigError, never>;
164
+ export declare const testLayerWithDatabaseCheck: <CheckError>(checkDatabase: Effect.Effect<void, CheckError>) => Layer.Layer<Crypto.Crypto | MessageStorage.MemoryDriver | MessageStorage.MessageStorage | ModelRegistry.ModelRegistry | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | ModelHubService | SchedulerServiceService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig | WorkflowEngine.WorkflowEngine, Config.ConfigError, never>;
165
165
  /** @deprecated Use `Runtime.layerClient` and read `Runtime.Service.readiness`. */
166
- export declare const testClientLayerWithDatabaseCheck: <CheckError>(checkDatabase: Effect.Effect<void, CheckError>) => Layer.Layer<Crypto.Crypto | MessageStorage.MemoryDriver | MessageStorage.MessageStorage | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | ModelRegistry.Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | ModelHubService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig, Config.ConfigError, never>;
166
+ export declare const testClientLayerWithDatabaseCheck: <CheckError>(checkDatabase: Effect.Effect<void, CheckError>) => Layer.Layer<Crypto.Crypto | MessageStorage.MemoryDriver | MessageStorage.MessageStorage | ModelRegistry.ModelRegistry | Runners.Runners | AddressBookRepository.Service | AgentChatRepository.Service | AgentDefinitionRepository.Service | ChildExecutionRepository.Service | ChildFanOutRepository.Service | ClusterRegistryRepository.Service | CompactionRepository.Service | ContextEpochRepository.Service | EnvelopeRepository.Service | ResidentRepository.Service | ExecutionEventRepository.Service | ExecutionRepository.Service | ExecutionStateRepository.Service | InboxRepository.Service | TopicRepository.Service | MemoryRepository.Service | PermissionRuleRepository.Service | PresenceRepository.Service | ScheduleRepository.Service | SessionRepository.Service | SkillDefinitionRepository.Service | SteeringRepository.Service | ToolCallRepository.Service | WorkspaceLeaseRepository.Service | WorkflowDefinitionRepository.Service | import("../address/address-book-service").Service | import("../execution/event-log-service").Service | import("../wait/wait-service").Service | ToolRuntimeService | import("../agent/agent-registry-service").Service | import("../address/address-resolution-service").Service | import("../child/child-run-service").Service | LanguageModelServiceService | import("../model/model-call-policy").Service | import("../presence/presence-contract").Service | SchemaRegistryService | BlobStoreService | import("../state/execution-state-service").Service | ParentNotifierService | import("../skill/skill-registry-service").Service | import("../execution/execution-service").Service | import("../execution/active-execution-registry").Service | ToolTransitionCoordinatorService | import("../workspace/workspace-planner-service").Service | import("../inbox/inbox-service").Service | import("../topic/topic-service").Service | import("../envelope/envelope-service").Service | ArtifactStoreService | PromptAssemblerService | import("../agent/agent-loop-service").Service | import("../resident/resident-registry-service").Service | import("../resident/resident-instance-service").Service | import("../execution/execution-watch-service").Service | import("../execution/session-stream-service").Service | ModelHubService | Service | Sharding.Sharding | ShardingConfig.ShardingConfig, Config.ConfigError, never>;
167
167
  /** @deprecated Read `Runtime.Service.readiness` from a unified Runtime layer. */
168
168
  export declare const check: () => Effect.Effect<ReadinessStatus, RunnerRuntimeError, Service>;
169
169
  export {};
@@ -8,6 +8,7 @@ export declare class Service extends Service_base {
8
8
  }
9
9
  export interface MakeOptions {
10
10
  readonly onCheckpointCommitted?: (result: Session.CheckpointAppend) => Effect.Effect<void, Session.SessionStoreError | Session.SessionConflict>;
11
+ readonly writer?: SessionRepository.ExpectedSessionWriter;
11
12
  }
12
13
  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>;
13
14
  export declare const serviceLayer: {
@@ -1,6 +1,6 @@
1
1
  import { Schema } from "effect";
2
2
  import { Definition } from "./agent-schema";
3
- import { ChildExecutionId } from "./ids-schema";
3
+ import { ChildExecutionId, ExecutionId } from "./ids-schema";
4
4
  export declare const ExecutionStatus: Schema.Literals<readonly ["queued", "running", "waiting", "completed", "failed", "cancelled"]>;
5
5
  export type ExecutionStatus = typeof ExecutionStatus.Type;
6
6
  export declare const Execution: Schema.Struct<{
@@ -385,7 +385,12 @@ export declare const ChildRunAccepted: Schema.Struct<{
385
385
  export interface ChildRunAccepted extends Schema.Schema.Type<typeof ChildRunAccepted> {
386
386
  }
387
387
  export declare const childSessionId: (childExecutionId: ChildExecutionId) => string & import("effect/Brand").Brand<"Relay.SessionId">;
388
- 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", "resident.created", "resident.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"]>;
388
+ export declare const steeringMessageId: (input: {
389
+ readonly execution_id: ExecutionId;
390
+ readonly kind: "steering" | "follow_up";
391
+ readonly sequence: number;
392
+ }) => string & import("effect/Brand").Brand<"Relay.SteeringMessageId">;
393
+ 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.delivered", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "resident.created", "resident.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"]>;
389
394
  export type ExecutionEventType = typeof ExecutionEventType.Type;
390
395
  export declare const CompactionCommittedEventData: Schema.Struct<{
391
396
  readonly checkpoint_id: Schema.brand<Schema.String, "Relay.SessionEntryId"> & {
@@ -408,7 +413,7 @@ export declare const ExecutionEvent: Schema.Struct<{
408
413
  readonly child_execution_id: Schema.optionalKey<Schema.brand<Schema.String, "Relay.ChildExecutionId"> & {
409
414
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.ChildExecutionId">;
410
415
  }>;
411
- 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", "resident.created", "resident.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"]>;
416
+ 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.delivered", "state.updated", "state.deleted", "inbox.enqueued", "inbox.drained", "resident.created", "resident.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"]>;
412
417
  readonly sequence: Schema.Int;
413
418
  readonly cursor: Schema.String;
414
419
  readonly content: Schema.optionalKey<Schema.$Array<Schema.Union<readonly [Schema.Struct<{
@@ -104,3 +104,7 @@ export declare const EventId: Schema.brand<Schema.String, "Relay.EventId"> & {
104
104
  make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.EventId">;
105
105
  };
106
106
  export type EventId = typeof EventId.Type;
107
+ export declare const SteeringMessageId: Schema.brand<Schema.String, "Relay.SteeringMessageId"> & {
108
+ make: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => string & import("effect/Brand").Brand<"Relay.SteeringMessageId">;
109
+ };
110
+ export type SteeringMessageId = typeof SteeringMessageId.Type;