@relayfx/test 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -415,8 +415,8 @@ var makeTurnPolicySnapshotTree = () => {
415
415
  return tree;
416
416
  };
417
417
  var TurnPolicySnapshot = makeTurnPolicySnapshotTree().check(turnPolicySnapshotNodeCount).annotate({ identifier: "Relay.Agent.TurnPolicySnapshot" });
418
- var defaultMaxToolTurns = 8;
419
- var defaultMaxWaitTurns = 8;
418
+ var defaultMaxToolTurns = Number.POSITIVE_INFINITY;
419
+ var defaultMaxWaitTurns = Number.POSITIVE_INFINITY;
420
420
  var DefinitionSchema = Schema5.Struct({
421
421
  name: NonEmptyString,
422
422
  instructions: Schema5.optionalKey(Schema5.String),
@@ -13631,6 +13631,23 @@ var Output = Schema67.Struct({
13631
13631
  var TransferInput = Schema67.Struct({
13632
13632
  input: Schema67.optionalKey(Schema67.Array(exports_content_schema.Part))
13633
13633
  }).annotate({ identifier: "Relay.SpawnChildRunTool.TransferInput" });
13634
+ var ModelInput = Schema67.Struct({
13635
+ preset_name: Schema67.optionalKey(Schema67.String),
13636
+ instructions: Schema67.optionalKey(Schema67.String),
13637
+ model: Schema67.optionalKey(Schema67.Struct({
13638
+ provider: Schema67.String,
13639
+ model: Schema67.String,
13640
+ registration_key: Schema67.optionalKey(Schema67.String)
13641
+ })),
13642
+ tool_names: Schema67.optionalKey(Schema67.Array(Schema67.String)),
13643
+ permissions: Schema67.optionalKey(Schema67.Array(Schema67.String)),
13644
+ output_schema_ref: Schema67.optionalKey(Schema67.String),
13645
+ metadata: Schema67.optionalKey(Schema67.Record(Schema67.String, Schema67.String)),
13646
+ input: Schema67.optionalKey(Schema67.Array(Schema67.Struct({ type: Schema67.Literal("text"), text: Schema67.String })))
13647
+ });
13648
+ var ModelTransferInput = Schema67.Struct({
13649
+ input: Schema67.optionalKey(Schema67.Array(Schema67.Struct({ type: Schema67.Literal("text"), text: Schema67.String })))
13650
+ });
13634
13651
  var enabled = (agent) => agent.metadata?.multi_agent_enabled === true;
13635
13652
  var parentContext = (agent) => ({
13636
13653
  ...agent.instructions === undefined ? {} : { instructions: agent.instructions },
@@ -13794,24 +13811,24 @@ var run2 = Effect59.fn("SpawnChildRunTool.run")(function* (config, activeToolNam
13794
13811
  });
13795
13812
  var registeredTool = (config) => tool(toolName, {
13796
13813
  description: "Spawn a durable child run and wait for its terminal output.",
13797
- input: Input,
13814
+ input: ModelInput,
13798
13815
  output: Output,
13799
13816
  permissions: [{ name: permissionName, value: true }],
13800
13817
  requiredPermissions: [permissionName],
13801
13818
  metadata: { relay_core_tool: true },
13802
- run: (input, context) => run2(config, toolName, input, context, true)
13819
+ run: (input, context) => Schema67.decodeUnknownEffect(Input)(input).pipe(Effect59.flatMap((decoded) => run2(config, toolName, decoded, context, true)))
13803
13820
  });
13804
13821
  var transferToolName2 = (name) => `transfer_to_${name.trim().toLowerCase().replaceAll(/[^a-z0-9]+/g, "_").replaceAll(/^_+|_+$/g, "")}`;
13805
13822
  var transferTools = (config) => (config.agent.handoff_targets ?? []).map((target) => {
13806
13823
  const name = transferToolName2(target.name);
13807
13824
  return tool(name, {
13808
13825
  description: "Transfer to a durable child run preset and wait for its terminal output.",
13809
- input: TransferInput,
13826
+ input: ModelTransferInput,
13810
13827
  output: Output,
13811
13828
  permissions: [{ name: permissionName, value: true }],
13812
13829
  requiredPermissions: [permissionName],
13813
13830
  metadata: { relay_core_tool: true, handoff_target: target.name, preset_name: target.preset_name },
13814
- run: (input, context) => run2(config, name, { preset_name: target.preset_name, input: input.input ?? [] }, context, false)
13831
+ run: (input, context) => Schema67.decodeUnknownEffect(TransferInput)(input).pipe(Effect59.flatMap((decoded) => run2(config, name, { preset_name: target.preset_name, input: decoded.input ?? [] }, context, false)))
13815
13832
  });
13816
13833
  });
13817
13834
 
@@ -17588,8 +17605,11 @@ var turnPolicyFromSnapshot = (snapshot2) => {
17588
17605
  }
17589
17606
  };
17590
17607
  var turnPolicyFromDefinition = (agent) => {
17591
- const cap = exports_turn_policy.recurs(agent.max_tool_turns ?? exports_agent_schema.defaultMaxToolTurns);
17592
- return agent.turn_policy === undefined ? cap : exports_turn_policy.both(cap, turnPolicyFromSnapshot(agent.turn_policy));
17608
+ const policy = agent.turn_policy === undefined ? undefined : turnPolicyFromSnapshot(agent.turn_policy);
17609
+ if (agent.max_tool_turns === undefined)
17610
+ return policy ?? exports_turn_policy.recurs(Number.POSITIVE_INFINITY);
17611
+ const cap = exports_turn_policy.recurs(agent.max_tool_turns);
17612
+ return policy === undefined ? cap : exports_turn_policy.both(cap, policy);
17593
17613
  };
17594
17614
  var availableRegisteredTools = (agent, registered) => {
17595
17615
  const names = toolNames(agent);
@@ -84,8 +84,8 @@ export type TurnPolicySnapshot = RecursTurnPolicySnapshot | UntilToolCallTurnPol
84
84
  export declare const maxTurnPolicySnapshotDepth = 16;
85
85
  export declare const maxTurnPolicySnapshotNodes = 64;
86
86
  export declare const TurnPolicySnapshot: Schema.Codec<TurnPolicySnapshot>;
87
- export declare const defaultMaxToolTurns = 8;
88
- export declare const defaultMaxWaitTurns = 8;
87
+ export declare const defaultMaxToolTurns: number;
88
+ export declare const defaultMaxWaitTurns: number;
89
89
  declare const DefinitionSchema: Schema.Struct<{
90
90
  readonly name: Schema.String;
91
91
  readonly instructions: Schema.optionalKey<Schema.String>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@relayfx/test",
4
- "version": "0.2.3",
4
+ "version": "0.2.5",
5
5
  "description": "Experimental deterministic test kit for Relay applications",
6
6
  "type": "module",
7
7
  "exports": {
@@ -36,7 +36,7 @@
36
36
  "typecheck": "bun tsc --noEmit"
37
37
  },
38
38
  "dependencies": {
39
- "@relayfx/sdk": "0.2.3",
39
+ "@relayfx/sdk": "0.2.5",
40
40
  "effect": "4.0.0-beta.93"
41
41
  },
42
42
  "peerDependencies": {