@relkit/langchain 0.0.0-stage → 0.7.10
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/LICENSE +21 -0
- package/README.md +48 -2
- package/dist/client-contract-metadata.d.ts +31 -0
- package/dist/client-contract-metadata.d.ts.map +1 -0
- package/dist/client-contract-metadata.js +129 -0
- package/dist/client-contract-metadata.js.map +1 -0
- package/dist/client-contract-metadata.types.d.ts +59 -0
- package/dist/client-contract-metadata.types.d.ts.map +1 -0
- package/dist/client-contract-metadata.types.js +3 -0
- package/dist/client-contract-metadata.types.js.map +1 -0
- package/dist/client-contract-schema.d.ts +66 -0
- package/dist/client-contract-schema.d.ts.map +1 -0
- package/dist/client-contract-schema.js +153 -0
- package/dist/client-contract-schema.js.map +1 -0
- package/dist/continuation-validation.d.ts +9 -0
- package/dist/continuation-validation.d.ts.map +1 -0
- package/dist/continuation-validation.js +9 -0
- package/dist/continuation-validation.js.map +1 -0
- package/dist/deepagent-bucket-backend.d.ts +33 -0
- package/dist/deepagent-bucket-backend.d.ts.map +1 -0
- package/dist/deepagent-bucket-backend.js +47 -0
- package/dist/deepagent-bucket-backend.js.map +1 -0
- package/dist/deepagent-bucket-backend.types.d.ts +6 -0
- package/dist/deepagent-bucket-backend.types.d.ts.map +1 -0
- package/dist/deepagent-bucket-backend.types.js +2 -0
- package/dist/deepagent-bucket-backend.types.js.map +1 -0
- package/dist/deepagent-bucket-client.types.d.ts +25 -0
- package/dist/deepagent-bucket-client.types.d.ts.map +1 -0
- package/dist/deepagent-bucket-client.types.js +3 -0
- package/dist/deepagent-bucket-client.types.js.map +1 -0
- package/dist/deepagent-bucket-delete.d.ts +28 -0
- package/dist/deepagent-bucket-delete.d.ts.map +1 -0
- package/dist/deepagent-bucket-delete.js +64 -0
- package/dist/deepagent-bucket-delete.js.map +1 -0
- package/dist/deepagent-bucket-error.d.ts +17 -0
- package/dist/deepagent-bucket-error.d.ts.map +1 -0
- package/dist/deepagent-bucket-error.js +17 -0
- package/dist/deepagent-bucket-error.js.map +1 -0
- package/dist/deepagent-bucket-file-data.d.ts +40 -0
- package/dist/deepagent-bucket-file-data.d.ts.map +1 -0
- package/dist/deepagent-bucket-file-data.js +115 -0
- package/dist/deepagent-bucket-file-data.js.map +1 -0
- package/dist/deepagent-bucket-file-index.d.ts +34 -0
- package/dist/deepagent-bucket-file-index.d.ts.map +1 -0
- package/dist/deepagent-bucket-file-index.js +82 -0
- package/dist/deepagent-bucket-file-index.js.map +1 -0
- package/dist/deepagent-bucket-files.d.ts +5 -0
- package/dist/deepagent-bucket-files.d.ts.map +1 -0
- package/dist/deepagent-bucket-files.js +4 -0
- package/dist/deepagent-bucket-files.js.map +1 -0
- package/dist/deepagent-bucket-files.types.d.ts +8 -0
- package/dist/deepagent-bucket-files.types.d.ts.map +1 -0
- package/dist/deepagent-bucket-files.types.js +3 -0
- package/dist/deepagent-bucket-files.types.js.map +1 -0
- package/dist/deepagent-bucket-format.d.ts +59 -0
- package/dist/deepagent-bucket-format.d.ts.map +1 -0
- package/dist/deepagent-bucket-format.js +72 -0
- package/dist/deepagent-bucket-format.js.map +1 -0
- package/dist/deepagent-bucket-glob.d.ts +26 -0
- package/dist/deepagent-bucket-glob.d.ts.map +1 -0
- package/dist/deepagent-bucket-glob.js +66 -0
- package/dist/deepagent-bucket-glob.js.map +1 -0
- package/dist/deepagent-bucket-grep.d.ts +32 -0
- package/dist/deepagent-bucket-grep.d.ts.map +1 -0
- package/dist/deepagent-bucket-grep.js +73 -0
- package/dist/deepagent-bucket-grep.js.map +1 -0
- package/dist/deepagent-bucket-path.d.ts +67 -0
- package/dist/deepagent-bucket-path.d.ts.map +1 -0
- package/dist/deepagent-bucket-path.js +121 -0
- package/dist/deepagent-bucket-path.js.map +1 -0
- package/dist/deepagent-bucket-read.d.ts +65 -0
- package/dist/deepagent-bucket-read.d.ts.map +1 -0
- package/dist/deepagent-bucket-read.js +77 -0
- package/dist/deepagent-bucket-read.js.map +1 -0
- package/dist/deepagent-bucket-scope.d.ts +43 -0
- package/dist/deepagent-bucket-scope.d.ts.map +1 -0
- package/dist/deepagent-bucket-scope.js +40 -0
- package/dist/deepagent-bucket-scope.js.map +1 -0
- package/dist/deepagent-bucket-search.d.ts +22 -0
- package/dist/deepagent-bucket-search.d.ts.map +1 -0
- package/dist/deepagent-bucket-search.js +60 -0
- package/dist/deepagent-bucket-search.js.map +1 -0
- package/dist/deepagent-bucket-service.d.ts +17 -0
- package/dist/deepagent-bucket-service.d.ts.map +1 -0
- package/dist/deepagent-bucket-service.js +16 -0
- package/dist/deepagent-bucket-service.js.map +1 -0
- package/dist/deepagent-bucket-transfer.d.ts +52 -0
- package/dist/deepagent-bucket-transfer.d.ts.map +1 -0
- package/dist/deepagent-bucket-transfer.js +73 -0
- package/dist/deepagent-bucket-transfer.js.map +1 -0
- package/dist/deepagent-bucket-write.d.ts +55 -0
- package/dist/deepagent-bucket-write.d.ts.map +1 -0
- package/dist/deepagent-bucket-write.js +88 -0
- package/dist/deepagent-bucket-write.js.map +1 -0
- package/dist/define-agent-build.d.ts +12 -0
- package/dist/define-agent-build.d.ts.map +1 -0
- package/dist/define-agent-build.js +60 -0
- package/dist/define-agent-build.js.map +1 -0
- package/dist/define-agent-deep.d.ts +30 -0
- package/dist/define-agent-deep.d.ts.map +1 -0
- package/dist/define-agent-deep.js +125 -0
- package/dist/define-agent-deep.js.map +1 -0
- package/dist/define-agent-deep.types.d.ts +23 -0
- package/dist/define-agent-deep.types.d.ts.map +1 -0
- package/dist/define-agent-deep.types.js +3 -0
- package/dist/define-agent-deep.types.js.map +1 -0
- package/dist/define-agent-native-middleware.d.ts +34 -0
- package/dist/define-agent-native-middleware.d.ts.map +1 -0
- package/dist/define-agent-native-middleware.js +83 -0
- package/dist/define-agent-native-middleware.js.map +1 -0
- package/dist/define-agent-native-model.d.ts +16 -0
- package/dist/define-agent-native-model.d.ts.map +1 -0
- package/dist/define-agent-native-model.js +23 -0
- package/dist/define-agent-native-model.js.map +1 -0
- package/dist/define-agent-native-tools.d.ts +30 -0
- package/dist/define-agent-native-tools.d.ts.map +1 -0
- package/dist/define-agent-native-tools.js +72 -0
- package/dist/define-agent-native-tools.js.map +1 -0
- package/dist/define-agent-native.d.ts +6 -0
- package/dist/define-agent-native.d.ts.map +1 -0
- package/dist/define-agent-native.js +5 -0
- package/dist/define-agent-native.js.map +1 -0
- package/dist/define-agent-native.types.d.ts +36 -0
- package/dist/define-agent-native.types.d.ts.map +1 -0
- package/dist/define-agent-native.types.js +3 -0
- package/dist/define-agent-native.types.js.map +1 -0
- package/dist/define-agent-validation.d.ts +45 -0
- package/dist/define-agent-validation.d.ts.map +1 -0
- package/dist/define-agent-validation.js +92 -0
- package/dist/define-agent-validation.js.map +1 -0
- package/dist/define-agent.d.ts +41 -0
- package/dist/define-agent.d.ts.map +1 -0
- package/dist/define-agent.js +59 -0
- package/dist/define-agent.js.map +1 -0
- package/dist/define-agent.types.d.ts +54 -0
- package/dist/define-agent.types.d.ts.map +1 -0
- package/dist/define-agent.types.js +3 -0
- package/dist/define-agent.types.js.map +1 -0
- package/dist/define-graph-build.d.ts +12 -0
- package/dist/define-graph-build.d.ts.map +1 -0
- package/dist/define-graph-build.js +86 -0
- package/dist/define-graph-build.js.map +1 -0
- package/dist/define-graph-error.d.ts +17 -0
- package/dist/define-graph-error.d.ts.map +1 -0
- package/dist/define-graph-error.js +17 -0
- package/dist/define-graph-error.js.map +1 -0
- package/dist/define-graph-node.d.ts +42 -0
- package/dist/define-graph-node.d.ts.map +1 -0
- package/dist/define-graph-node.js +97 -0
- package/dist/define-graph-node.js.map +1 -0
- package/dist/define-graph-node.types.d.ts +38 -0
- package/dist/define-graph-node.types.d.ts.map +1 -0
- package/dist/define-graph-node.types.js +3 -0
- package/dist/define-graph-node.types.js.map +1 -0
- package/dist/define-graph.d.ts +44 -0
- package/dist/define-graph.d.ts.map +1 -0
- package/dist/define-graph.js +72 -0
- package/dist/define-graph.js.map +1 -0
- package/dist/define-graph.types.d.ts +69 -0
- package/dist/define-graph.types.d.ts.map +1 -0
- package/dist/define-graph.types.js +3 -0
- package/dist/define-graph.types.js.map +1 -0
- package/dist/define-persistence-guards.d.ts +32 -0
- package/dist/define-persistence-guards.d.ts.map +1 -0
- package/dist/define-persistence-guards.js +55 -0
- package/dist/define-persistence-guards.js.map +1 -0
- package/dist/define-persistence.d.ts +33 -0
- package/dist/define-persistence.d.ts.map +1 -0
- package/dist/define-persistence.js +112 -0
- package/dist/define-persistence.js.map +1 -0
- package/dist/define-persistence.types.d.ts +30 -0
- package/dist/define-persistence.types.d.ts.map +1 -0
- package/dist/define-persistence.types.js +3 -0
- package/dist/define-persistence.types.js.map +1 -0
- package/dist/graph-compile-error.d.ts +17 -0
- package/dist/graph-compile-error.d.ts.map +1 -0
- package/dist/graph-compile-error.js +17 -0
- package/dist/graph-compile-error.js.map +1 -0
- package/dist/graph-compile.d.ts +32 -0
- package/dist/graph-compile.d.ts.map +1 -0
- package/dist/graph-compile.js +94 -0
- package/dist/graph-compile.js.map +1 -0
- package/dist/graph-continuation-error.d.ts +17 -0
- package/dist/graph-continuation-error.d.ts.map +1 -0
- package/dist/graph-continuation-error.js +17 -0
- package/dist/graph-continuation-error.js.map +1 -0
- package/dist/graph-continuation-validation.d.ts +22 -0
- package/dist/graph-continuation-validation.d.ts.map +1 -0
- package/dist/graph-continuation-validation.js +67 -0
- package/dist/graph-continuation-validation.js.map +1 -0
- package/dist/graph-continuation-waiting.d.ts +23 -0
- package/dist/graph-continuation-waiting.d.ts.map +1 -0
- package/dist/graph-continuation-waiting.js +53 -0
- package/dist/graph-continuation-waiting.js.map +1 -0
- package/dist/graph-continuation.d.ts +43 -0
- package/dist/graph-continuation.d.ts.map +1 -0
- package/dist/graph-continuation.js +82 -0
- package/dist/graph-continuation.js.map +1 -0
- package/dist/graph-continuation.types.d.ts +11 -0
- package/dist/graph-continuation.types.d.ts.map +1 -0
- package/dist/graph-continuation.types.js +3 -0
- package/dist/graph-continuation.types.js.map +1 -0
- package/dist/graph-definition.d.ts +36 -0
- package/dist/graph-definition.d.ts.map +1 -0
- package/dist/graph-definition.js +90 -0
- package/dist/graph-definition.js.map +1 -0
- package/dist/graph-edge-destinations.d.ts +42 -0
- package/dist/graph-edge-destinations.d.ts.map +1 -0
- package/dist/graph-edge-destinations.js +100 -0
- package/dist/graph-edge-destinations.js.map +1 -0
- package/dist/graph-edge-mutations.d.ts +19 -0
- package/dist/graph-edge-mutations.d.ts.map +1 -0
- package/dist/graph-edge-mutations.js +62 -0
- package/dist/graph-edge-mutations.js.map +1 -0
- package/dist/graph-edge-mutations.types.d.ts +9 -0
- package/dist/graph-edge-mutations.types.d.ts.map +1 -0
- package/dist/graph-edge-mutations.types.js +2 -0
- package/dist/graph-edge-mutations.types.js.map +1 -0
- package/dist/graph-edges.d.ts +24 -0
- package/dist/graph-edges.d.ts.map +1 -0
- package/dist/graph-edges.js +37 -0
- package/dist/graph-edges.js.map +1 -0
- package/dist/graph-edges.types.d.ts +47 -0
- package/dist/graph-edges.types.d.ts.map +1 -0
- package/dist/graph-edges.types.js +3 -0
- package/dist/graph-edges.types.js.map +1 -0
- package/dist/graph-execution-symbol.d.ts +3 -0
- package/dist/graph-execution-symbol.d.ts.map +1 -0
- package/dist/graph-execution-symbol.js +3 -0
- package/dist/graph-execution-symbol.js.map +1 -0
- package/dist/graph-interruption.d.ts +84 -0
- package/dist/graph-interruption.d.ts.map +1 -0
- package/dist/graph-interruption.js +119 -0
- package/dist/graph-interruption.js.map +1 -0
- package/dist/graph-interruption.types.d.ts +16 -0
- package/dist/graph-interruption.types.d.ts.map +1 -0
- package/dist/graph-interruption.types.js +3 -0
- package/dist/graph-interruption.types.js.map +1 -0
- package/dist/graph-node-schema-validation.d.ts +9 -0
- package/dist/graph-node-schema-validation.d.ts.map +1 -0
- package/dist/graph-node-schema-validation.js +16 -0
- package/dist/graph-node-schema-validation.js.map +1 -0
- package/dist/graph-node-symbol.d.ts +3 -0
- package/dist/graph-node-symbol.d.ts.map +1 -0
- package/dist/graph-node-symbol.js +3 -0
- package/dist/graph-node-symbol.js.map +1 -0
- package/dist/graph-node-validation-error.d.ts +17 -0
- package/dist/graph-node-validation-error.d.ts.map +1 -0
- package/dist/graph-node-validation-error.js +17 -0
- package/dist/graph-node-validation-error.js.map +1 -0
- package/dist/graph-node-validation-value.d.ts +64 -0
- package/dist/graph-node-validation-value.d.ts.map +1 -0
- package/dist/graph-node-validation-value.js +117 -0
- package/dist/graph-node-validation-value.js.map +1 -0
- package/dist/graph-node-validation.d.ts +65 -0
- package/dist/graph-node-validation.d.ts.map +1 -0
- package/dist/graph-node-validation.js +113 -0
- package/dist/graph-node-validation.js.map +1 -0
- package/dist/graph-persistence-release.d.ts +16 -0
- package/dist/graph-persistence-release.d.ts.map +1 -0
- package/dist/graph-persistence-release.js +43 -0
- package/dist/graph-persistence-release.js.map +1 -0
- package/dist/graph-persistence.d.ts +39 -0
- package/dist/graph-persistence.d.ts.map +1 -0
- package/dist/graph-persistence.js +111 -0
- package/dist/graph-persistence.js.map +1 -0
- package/dist/graph-persistence.types.d.ts +21 -0
- package/dist/graph-persistence.types.d.ts.map +1 -0
- package/dist/graph-persistence.types.js +3 -0
- package/dist/graph-persistence.types.js.map +1 -0
- package/dist/graph-runtime-error.d.ts +17 -0
- package/dist/graph-runtime-error.d.ts.map +1 -0
- package/dist/graph-runtime-error.js +17 -0
- package/dist/graph-runtime-error.js.map +1 -0
- package/dist/graph-runtime-execution.d.ts +28 -0
- package/dist/graph-runtime-execution.d.ts.map +1 -0
- package/dist/graph-runtime-execution.js +69 -0
- package/dist/graph-runtime-execution.js.map +1 -0
- package/dist/graph-runtime-identity.d.ts +15 -0
- package/dist/graph-runtime-identity.d.ts.map +1 -0
- package/dist/graph-runtime-identity.js +14 -0
- package/dist/graph-runtime-identity.js.map +1 -0
- package/dist/graph-runtime-identity.types.d.ts +5 -0
- package/dist/graph-runtime-identity.types.d.ts.map +1 -0
- package/dist/graph-runtime-identity.types.js +2 -0
- package/dist/graph-runtime-identity.types.js.map +1 -0
- package/dist/graph-runtime-stream-state.d.ts +8 -0
- package/dist/graph-runtime-stream-state.d.ts.map +1 -0
- package/dist/graph-runtime-stream-state.js +67 -0
- package/dist/graph-runtime-stream-state.js.map +1 -0
- package/dist/graph-runtime-stream.d.ts +16 -0
- package/dist/graph-runtime-stream.d.ts.map +1 -0
- package/dist/graph-runtime-stream.js +49 -0
- package/dist/graph-runtime-stream.js.map +1 -0
- package/dist/graph-runtime-stream.types.d.ts +13 -0
- package/dist/graph-runtime-stream.types.d.ts.map +1 -0
- package/dist/graph-runtime-stream.types.js +2 -0
- package/dist/graph-runtime-stream.types.js.map +1 -0
- package/dist/graph-runtime.d.ts +21 -0
- package/dist/graph-runtime.d.ts.map +1 -0
- package/dist/graph-runtime.js +74 -0
- package/dist/graph-runtime.js.map +1 -0
- package/dist/graph-runtime.types.d.ts +8 -0
- package/dist/graph-runtime.types.d.ts.map +1 -0
- package/dist/graph-runtime.types.js +3 -0
- package/dist/graph-runtime.types.js.map +1 -0
- package/dist/graph-state-schema.d.ts +35 -0
- package/dist/graph-state-schema.d.ts.map +1 -0
- package/dist/graph-state-schema.js +65 -0
- package/dist/graph-state-schema.js.map +1 -0
- package/dist/graph-subgraph-symbol.d.ts +5 -0
- package/dist/graph-subgraph-symbol.d.ts.map +1 -0
- package/dist/graph-subgraph-symbol.js +5 -0
- package/dist/graph-subgraph-symbol.js.map +1 -0
- package/dist/graph-subgraph.d.ts +46 -0
- package/dist/graph-subgraph.d.ts.map +1 -0
- package/dist/graph-subgraph.js +82 -0
- package/dist/graph-subgraph.js.map +1 -0
- package/dist/graph-subgraph.types.d.ts +20 -0
- package/dist/graph-subgraph.types.d.ts.map +1 -0
- package/dist/graph-subgraph.types.js +3 -0
- package/dist/graph-subgraph.types.js.map +1 -0
- package/dist/graph-workflow-error.d.ts +17 -0
- package/dist/graph-workflow-error.d.ts.map +1 -0
- package/dist/graph-workflow-error.js +17 -0
- package/dist/graph-workflow-error.js.map +1 -0
- package/dist/graph-workflow.d.ts +37 -0
- package/dist/graph-workflow.d.ts.map +1 -0
- package/dist/graph-workflow.js +86 -0
- package/dist/graph-workflow.js.map +1 -0
- package/dist/graph-workflow.types.d.ts +41 -0
- package/dist/graph-workflow.types.d.ts.map +1 -0
- package/dist/graph-workflow.types.js +3 -0
- package/dist/graph-workflow.types.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/native-agent-interruption-error.d.ts +17 -0
- package/dist/native-agent-interruption-error.d.ts.map +1 -0
- package/dist/native-agent-interruption-error.js +17 -0
- package/dist/native-agent-interruption-error.js.map +1 -0
- package/dist/native-agent-interruption-schema.d.ts +66 -0
- package/dist/native-agent-interruption-schema.d.ts.map +1 -0
- package/dist/native-agent-interruption-schema.js +141 -0
- package/dist/native-agent-interruption-schema.js.map +1 -0
- package/dist/native-agent-interruption-schema.types.d.ts +16 -0
- package/dist/native-agent-interruption-schema.types.d.ts.map +1 -0
- package/dist/native-agent-interruption-schema.types.js +3 -0
- package/dist/native-agent-interruption-schema.types.js.map +1 -0
- package/dist/native-agent-interruption-validation.d.ts +19 -0
- package/dist/native-agent-interruption-validation.d.ts.map +1 -0
- package/dist/native-agent-interruption-validation.js +107 -0
- package/dist/native-agent-interruption-validation.js.map +1 -0
- package/dist/native-agent-interruption.d.ts +55 -0
- package/dist/native-agent-interruption.d.ts.map +1 -0
- package/dist/native-agent-interruption.js +85 -0
- package/dist/native-agent-interruption.js.map +1 -0
- package/dist/native-agent-interruption.types.d.ts +5 -0
- package/dist/native-agent-interruption.types.d.ts.map +1 -0
- package/dist/native-agent-interruption.types.js +2 -0
- package/dist/native-agent-interruption.types.js.map +1 -0
- package/dist/persistence-error.d.ts +17 -0
- package/dist/persistence-error.d.ts.map +1 -0
- package/dist/persistence-error.js +17 -0
- package/dist/persistence-error.js.map +1 -0
- package/dist/persistence-symbol.d.ts +3 -0
- package/dist/persistence-symbol.d.ts.map +1 -0
- package/dist/persistence-symbol.js +3 -0
- package/dist/persistence-symbol.js.map +1 -0
- package/dist/runtime-approval-decision.d.ts +13 -0
- package/dist/runtime-approval-decision.d.ts.map +1 -0
- package/dist/runtime-approval-decision.js +21 -0
- package/dist/runtime-approval-decision.js.map +1 -0
- package/dist/runtime-dependencies.d.ts +7 -0
- package/dist/runtime-dependencies.d.ts.map +1 -0
- package/dist/runtime-dependencies.js +10 -0
- package/dist/runtime-dependencies.js.map +1 -0
- package/dist/runtime-effect-error.d.ts +18 -0
- package/dist/runtime-effect-error.d.ts.map +1 -0
- package/dist/runtime-effect-error.js +19 -0
- package/dist/runtime-effect-error.js.map +1 -0
- package/dist/runtime-errors.d.ts +11 -0
- package/dist/runtime-errors.d.ts.map +1 -0
- package/dist/runtime-errors.js +15 -0
- package/dist/runtime-errors.js.map +1 -0
- package/dist/runtime-failure-diagnostics.d.ts +10 -0
- package/dist/runtime-failure-diagnostics.d.ts.map +1 -0
- package/dist/runtime-failure-diagnostics.js +61 -0
- package/dist/runtime-failure-diagnostics.js.map +1 -0
- package/dist/runtime-integration.d.ts +10 -0
- package/dist/runtime-integration.d.ts.map +1 -0
- package/dist/runtime-integration.js +9 -0
- package/dist/runtime-integration.js.map +1 -0
- package/dist/runtime-invoke.d.ts +27 -0
- package/dist/runtime-invoke.d.ts.map +1 -0
- package/dist/runtime-invoke.js +77 -0
- package/dist/runtime-invoke.js.map +1 -0
- package/dist/runtime-loop-context.types.d.ts +22 -0
- package/dist/runtime-loop-context.types.d.ts.map +1 -0
- package/dist/runtime-loop-context.types.js +2 -0
- package/dist/runtime-loop-context.types.js.map +1 -0
- package/dist/runtime-loop-execution.d.ts +4 -0
- package/dist/runtime-loop-execution.d.ts.map +1 -0
- package/dist/runtime-loop-execution.js +61 -0
- package/dist/runtime-loop-execution.js.map +1 -0
- package/dist/runtime-loop-state.d.ts +13 -0
- package/dist/runtime-loop-state.d.ts.map +1 -0
- package/dist/runtime-loop-state.js +57 -0
- package/dist/runtime-loop-state.js.map +1 -0
- package/dist/runtime-loop-telemetry.d.ts +5 -0
- package/dist/runtime-loop-telemetry.d.ts.map +1 -0
- package/dist/runtime-loop-telemetry.js +62 -0
- package/dist/runtime-loop-telemetry.js.map +1 -0
- package/dist/runtime-loop-values.d.ts +52 -0
- package/dist/runtime-loop-values.d.ts.map +1 -0
- package/dist/runtime-loop-values.js +85 -0
- package/dist/runtime-loop-values.js.map +1 -0
- package/dist/runtime-loop.d.ts +36 -0
- package/dist/runtime-loop.d.ts.map +1 -0
- package/dist/runtime-loop.js +45 -0
- package/dist/runtime-loop.js.map +1 -0
- package/dist/runtime-loop.types.d.ts +8 -0
- package/dist/runtime-loop.types.d.ts.map +1 -0
- package/dist/runtime-loop.types.js +3 -0
- package/dist/runtime-loop.types.js.map +1 -0
- package/dist/runtime-model-error.d.ts +17 -0
- package/dist/runtime-model-error.d.ts.map +1 -0
- package/dist/runtime-model-error.js +17 -0
- package/dist/runtime-model-error.js.map +1 -0
- package/dist/runtime-model.d.ts +31 -0
- package/dist/runtime-model.d.ts.map +1 -0
- package/dist/runtime-model.js +126 -0
- package/dist/runtime-model.js.map +1 -0
- package/dist/runtime-model.types.d.ts +22 -0
- package/dist/runtime-model.types.d.ts.map +1 -0
- package/dist/runtime-model.types.js +3 -0
- package/dist/runtime-model.types.js.map +1 -0
- package/dist/runtime-native-agent-build.d.ts +40 -0
- package/dist/runtime-native-agent-build.d.ts.map +1 -0
- package/dist/runtime-native-agent-build.js +77 -0
- package/dist/runtime-native-agent-build.js.map +1 -0
- package/dist/runtime-native-agent.d.ts +30 -0
- package/dist/runtime-native-agent.d.ts.map +1 -0
- package/dist/runtime-native-agent.js +84 -0
- package/dist/runtime-native-agent.js.map +1 -0
- package/dist/runtime-native-agent.types.d.ts +21 -0
- package/dist/runtime-native-agent.types.d.ts.map +1 -0
- package/dist/runtime-native-agent.types.js +3 -0
- package/dist/runtime-native-agent.types.js.map +1 -0
- package/dist/runtime-native-event-tools.d.ts +28 -0
- package/dist/runtime-native-event-tools.d.ts.map +1 -0
- package/dist/runtime-native-event-tools.js +88 -0
- package/dist/runtime-native-event-tools.js.map +1 -0
- package/dist/runtime-native-events-helpers.d.ts +30 -0
- package/dist/runtime-native-events-helpers.d.ts.map +1 -0
- package/dist/runtime-native-events-helpers.js +74 -0
- package/dist/runtime-native-events-helpers.js.map +1 -0
- package/dist/runtime-native-events.d.ts +45 -0
- package/dist/runtime-native-events.d.ts.map +1 -0
- package/dist/runtime-native-events.js +89 -0
- package/dist/runtime-native-events.js.map +1 -0
- package/dist/runtime-native-limits.d.ts +18 -0
- package/dist/runtime-native-limits.d.ts.map +1 -0
- package/dist/runtime-native-limits.js +59 -0
- package/dist/runtime-native-limits.js.map +1 -0
- package/dist/runtime-native-messages.d.ts +24 -0
- package/dist/runtime-native-messages.d.ts.map +1 -0
- package/dist/runtime-native-messages.js +83 -0
- package/dist/runtime-native-messages.js.map +1 -0
- package/dist/runtime-native-messages.types.d.ts +7 -0
- package/dist/runtime-native-messages.types.d.ts.map +1 -0
- package/dist/runtime-native-messages.types.js +2 -0
- package/dist/runtime-native-messages.types.js.map +1 -0
- package/dist/runtime-native-public-state.d.ts +22 -0
- package/dist/runtime-native-public-state.d.ts.map +1 -0
- package/dist/runtime-native-public-state.js +44 -0
- package/dist/runtime-native-public-state.js.map +1 -0
- package/dist/runtime-native-public-tools.d.ts +15 -0
- package/dist/runtime-native-public-tools.d.ts.map +1 -0
- package/dist/runtime-native-public-tools.js +39 -0
- package/dist/runtime-native-public-tools.js.map +1 -0
- package/dist/runtime-native-public.d.ts +28 -0
- package/dist/runtime-native-public.d.ts.map +1 -0
- package/dist/runtime-native-public.js +165 -0
- package/dist/runtime-native-public.js.map +1 -0
- package/dist/runtime-native-public.types.d.ts +5 -0
- package/dist/runtime-native-public.types.d.ts.map +1 -0
- package/dist/runtime-native-public.types.js +3 -0
- package/dist/runtime-native-public.types.js.map +1 -0
- package/dist/runtime-native-response-format.d.ts +15 -0
- package/dist/runtime-native-response-format.d.ts.map +1 -0
- package/dist/runtime-native-response-format.js +46 -0
- package/dist/runtime-native-response-format.js.map +1 -0
- package/dist/runtime-native-subagents.d.ts +47 -0
- package/dist/runtime-native-subagents.d.ts.map +1 -0
- package/dist/runtime-native-subagents.js +50 -0
- package/dist/runtime-native-subagents.js.map +1 -0
- package/dist/runtime-native-subagents.types.d.ts +7 -0
- package/dist/runtime-native-subagents.types.d.ts.map +1 -0
- package/dist/runtime-native-subagents.types.js +2 -0
- package/dist/runtime-native-subagents.types.js.map +1 -0
- package/dist/runtime-native-support.d.ts +67 -0
- package/dist/runtime-native-support.d.ts.map +1 -0
- package/dist/runtime-native-support.js +112 -0
- package/dist/runtime-native-support.js.map +1 -0
- package/dist/runtime-native-support.types.d.ts +9 -0
- package/dist/runtime-native-support.types.d.ts.map +1 -0
- package/dist/runtime-native-support.types.js +2 -0
- package/dist/runtime-native-support.types.js.map +1 -0
- package/dist/runtime-native-tool-build.d.ts +12 -0
- package/dist/runtime-native-tool-build.d.ts.map +1 -0
- package/dist/runtime-native-tool-build.js +81 -0
- package/dist/runtime-native-tool-build.js.map +1 -0
- package/dist/runtime-native-tool-build.types.d.ts +14 -0
- package/dist/runtime-native-tool-build.types.d.ts.map +1 -0
- package/dist/runtime-native-tool-build.types.js +2 -0
- package/dist/runtime-native-tool-build.types.js.map +1 -0
- package/dist/runtime-native-tools-identity.d.ts +15 -0
- package/dist/runtime-native-tools-identity.d.ts.map +1 -0
- package/dist/runtime-native-tools-identity.js +14 -0
- package/dist/runtime-native-tools-identity.js.map +1 -0
- package/dist/runtime-native-tools.d.ts +29 -0
- package/dist/runtime-native-tools.d.ts.map +1 -0
- package/dist/runtime-native-tools.js +65 -0
- package/dist/runtime-native-tools.js.map +1 -0
- package/dist/runtime-native-tools.types.d.ts +21 -0
- package/dist/runtime-native-tools.types.d.ts.map +1 -0
- package/dist/runtime-native-tools.types.js +3 -0
- package/dist/runtime-native-tools.types.js.map +1 -0
- package/dist/runtime-service.d.ts +15 -0
- package/dist/runtime-service.d.ts.map +1 -0
- package/dist/runtime-service.js +20 -0
- package/dist/runtime-service.js.map +1 -0
- package/dist/runtime-service.types.d.ts +12 -0
- package/dist/runtime-service.types.d.ts.map +1 -0
- package/dist/runtime-service.types.js +3 -0
- package/dist/runtime-service.types.js.map +1 -0
- package/dist/runtime-state-schemas.d.ts +19 -0
- package/dist/runtime-state-schemas.d.ts.map +1 -0
- package/dist/runtime-state-schemas.js +58 -0
- package/dist/runtime-state-schemas.js.map +1 -0
- package/dist/runtime-strict-response-schema.d.ts +9 -0
- package/dist/runtime-strict-response-schema.d.ts.map +1 -0
- package/dist/runtime-strict-response-schema.js +67 -0
- package/dist/runtime-strict-response-schema.js.map +1 -0
- package/dist/runtime-tool-adapter.d.ts +34 -0
- package/dist/runtime-tool-adapter.d.ts.map +1 -0
- package/dist/runtime-tool-adapter.js +66 -0
- package/dist/runtime-tool-adapter.js.map +1 -0
- package/dist/runtime-tool-dispatcher.d.ts +32 -0
- package/dist/runtime-tool-dispatcher.d.ts.map +1 -0
- package/dist/runtime-tool-dispatcher.js +67 -0
- package/dist/runtime-tool-dispatcher.js.map +1 -0
- package/dist/runtime-tool-events.d.ts +49 -0
- package/dist/runtime-tool-events.d.ts.map +1 -0
- package/dist/runtime-tool-events.js +106 -0
- package/dist/runtime-tool-events.js.map +1 -0
- package/dist/runtime-tool-events.types.d.ts +8 -0
- package/dist/runtime-tool-events.types.d.ts.map +1 -0
- package/dist/runtime-tool-events.types.js +3 -0
- package/dist/runtime-tool-events.types.js.map +1 -0
- package/dist/runtime-tool-invocation.d.ts +19 -0
- package/dist/runtime-tool-invocation.d.ts.map +1 -0
- package/dist/runtime-tool-invocation.js +74 -0
- package/dist/runtime-tool-invocation.js.map +1 -0
- package/dist/runtime-tool-lookup.d.ts +56 -0
- package/dist/runtime-tool-lookup.d.ts.map +1 -0
- package/dist/runtime-tool-lookup.js +71 -0
- package/dist/runtime-tool-lookup.js.map +1 -0
- package/dist/runtime-tools.d.ts +35 -0
- package/dist/runtime-tools.d.ts.map +1 -0
- package/dist/runtime-tools.js +78 -0
- package/dist/runtime-tools.js.map +1 -0
- package/dist/runtime-tools.types.d.ts +7 -0
- package/dist/runtime-tools.types.d.ts.map +1 -0
- package/dist/runtime-tools.types.js +2 -0
- package/dist/runtime-tools.types.js.map +1 -0
- package/dist/runtime-utils.d.ts +56 -0
- package/dist/runtime-utils.d.ts.map +1 -0
- package/dist/runtime-utils.js +106 -0
- package/dist/runtime-utils.js.map +1 -0
- package/dist/runtime.d.ts +47 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +90 -0
- package/dist/runtime.js.map +1 -0
- package/dist/runtime.types.d.ts +77 -0
- package/dist/runtime.types.d.ts.map +1 -0
- package/dist/runtime.types.js +3 -0
- package/dist/runtime.types.js.map +1 -0
- package/dist/signal-deadline.d.ts +12 -0
- package/dist/signal-deadline.d.ts.map +1 -0
- package/dist/signal-deadline.js +21 -0
- package/dist/signal-deadline.js.map +1 -0
- package/dist/signal.d.ts +64 -0
- package/dist/signal.d.ts.map +1 -0
- package/dist/signal.js +136 -0
- package/dist/signal.js.map +1 -0
- package/dist/signal.types.d.ts +35 -0
- package/dist/signal.types.d.ts.map +1 -0
- package/dist/signal.types.js +3 -0
- package/dist/signal.types.js.map +1 -0
- package/dist/testing/agent-approvals.d.ts +8 -0
- package/dist/testing/agent-approvals.d.ts.map +1 -0
- package/dist/testing/agent-approvals.js +98 -0
- package/dist/testing/agent-approvals.js.map +1 -0
- package/dist/testing/agent-approvals.types.d.ts +24 -0
- package/dist/testing/agent-approvals.types.d.ts.map +1 -0
- package/dist/testing/agent-approvals.types.js +3 -0
- package/dist/testing/agent-approvals.types.js.map +1 -0
- package/dist/testing/agent-harness.types.d.ts +25 -0
- package/dist/testing/agent-harness.types.d.ts.map +1 -0
- package/dist/testing/agent-harness.types.js +3 -0
- package/dist/testing/agent-harness.types.js.map +1 -0
- package/dist/testing/agent-state-invocation.d.ts +4 -0
- package/dist/testing/agent-state-invocation.d.ts.map +1 -0
- package/dist/testing/agent-state-invocation.js +41 -0
- package/dist/testing/agent-state-invocation.js.map +1 -0
- package/dist/testing/agent-state-lifecycle.d.ts +6 -0
- package/dist/testing/agent-state-lifecycle.d.ts.map +1 -0
- package/dist/testing/agent-state-lifecycle.js +36 -0
- package/dist/testing/agent-state-lifecycle.js.map +1 -0
- package/dist/testing/agent-state-setup.d.ts +18 -0
- package/dist/testing/agent-state-setup.d.ts.map +1 -0
- package/dist/testing/agent-state-setup.js +52 -0
- package/dist/testing/agent-state-setup.js.map +1 -0
- package/dist/testing/agent-state.d.ts +12 -0
- package/dist/testing/agent-state.d.ts.map +1 -0
- package/dist/testing/agent-state.js +40 -0
- package/dist/testing/agent-state.js.map +1 -0
- package/dist/testing/agents-model-native.d.ts +37 -0
- package/dist/testing/agents-model-native.d.ts.map +1 -0
- package/dist/testing/agents-model-native.js +111 -0
- package/dist/testing/agents-model-native.js.map +1 -0
- package/dist/testing/agents-model-operations.d.ts +28 -0
- package/dist/testing/agents-model-operations.d.ts.map +1 -0
- package/dist/testing/agents-model-operations.js +91 -0
- package/dist/testing/agents-model-operations.js.map +1 -0
- package/dist/testing/agents-model.d.ts +25 -0
- package/dist/testing/agents-model.d.ts.map +1 -0
- package/dist/testing/agents-model.js +72 -0
- package/dist/testing/agents-model.js.map +1 -0
- package/dist/testing/agents-model.types.d.ts +24 -0
- package/dist/testing/agents-model.types.d.ts.map +1 -0
- package/dist/testing/agents-model.types.js +3 -0
- package/dist/testing/agents-model.types.js.map +1 -0
- package/dist/testing/agents-types.d.ts +3 -0
- package/dist/testing/agents-types.d.ts.map +1 -0
- package/dist/testing/agents-types.js +2 -0
- package/dist/testing/agents-types.js.map +1 -0
- package/dist/testing/agents-utils.d.ts +26 -0
- package/dist/testing/agents-utils.d.ts.map +1 -0
- package/dist/testing/agents-utils.js +79 -0
- package/dist/testing/agents-utils.js.map +1 -0
- package/dist/testing/agents.d.ts +26 -0
- package/dist/testing/agents.d.ts.map +1 -0
- package/dist/testing/agents.js +64 -0
- package/dist/testing/agents.js.map +1 -0
- package/dist/testing/agents.types.d.ts +113 -0
- package/dist/testing/agents.types.d.ts.map +1 -0
- package/dist/testing/agents.types.js +3 -0
- package/dist/testing/agents.types.js.map +1 -0
- package/package.json +191 -4
package/dist/signal.d.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/** Builds and validates RELKIT signal descriptors used by native agent execution while retaining their payload schema and stable identity. */
|
|
2
|
+
import type { MaybePromise } from "@relkit/contracts";
|
|
3
|
+
import { Context, Effect, Layer } from "effect";
|
|
4
|
+
import { AgentRuntimeError } from "./runtime-errors.js";
|
|
5
|
+
import type { ExecutionSignalClockService, ExecutionSignalHandle, ExecutionSignalOptions } from "./signal.types.js";
|
|
6
|
+
export type * from "./signal.types.js";
|
|
7
|
+
declare const ExecutionSignalClock_base: Context.ServiceClass<ExecutionSignalClock, "relkit/agents/ExecutionSignalClock", ExecutionSignalClockService>;
|
|
8
|
+
/** Replaceable clock and timer boundary for execution deadlines.
|
|
9
|
+
* @example Effect.provide(createExecutionSignalEffect(options), ExecutionSignalClockLive);
|
|
10
|
+
*/
|
|
11
|
+
export declare class ExecutionSignalClock extends ExecutionSignalClock_base {
|
|
12
|
+
}
|
|
13
|
+
/** Live wall clock and timer implementation.
|
|
14
|
+
* @example Effect.runSync(Effect.provide(createExecutionSignalEffect(options), ExecutionSignalClockLive));
|
|
15
|
+
*/
|
|
16
|
+
export declare const ExecutionSignalClockLive: Layer.Layer<ExecutionSignalClock, never, never>;
|
|
17
|
+
/** Converts an abort reason to a safe invocation error.
|
|
18
|
+
* @param signal - Aborted invocation signal.
|
|
19
|
+
* @returns An Effect with a timeout or cancellation error.
|
|
20
|
+
* @example Effect.runSync(signalFailureEffect(signal));
|
|
21
|
+
*/
|
|
22
|
+
export declare const signalFailureEffect: (signal: AbortSignal) => Effect.Effect<AgentRuntimeError, never, never>;
|
|
23
|
+
/** Converts an abort reason for existing synchronous callers.
|
|
24
|
+
* @param signal - Aborted invocation signal.
|
|
25
|
+
* @returns A safe timeout or cancellation error.
|
|
26
|
+
* @example signalFailure(signal);
|
|
27
|
+
*/
|
|
28
|
+
export declare function signalFailure(signal: AbortSignal): AgentRuntimeError;
|
|
29
|
+
/** Creates a live execution signal with an owned timer and caller listener.
|
|
30
|
+
* @param options - Invocation limits, deadline, and caller signal.
|
|
31
|
+
* @returns An Effect with a closeable signal or AgentInvocationFailure.
|
|
32
|
+
* @example Effect.runSync(Effect.provide(createExecutionSignalEffect(options), testClock));
|
|
33
|
+
*/
|
|
34
|
+
export declare const createExecutionSignalEffect: (options: ExecutionSignalOptions) => Effect.Effect<ExecutionSignalHandle, import("./runtime-effect-error.js").AgentInvocationFailure, ExecutionSignalClock>;
|
|
35
|
+
/** Acquires an execution signal whose owner closes it with its Effect scope.
|
|
36
|
+
* @param options - Invocation limits, deadline, and caller signal.
|
|
37
|
+
* @returns A scoped Effect with a signal or AgentInvocationFailure.
|
|
38
|
+
* @example Effect.scoped(Effect.gen(function* () { const active = yield* acquireExecutionSignalEffect(options); }));
|
|
39
|
+
*/
|
|
40
|
+
export declare const acquireExecutionSignalEffect: (options: ExecutionSignalOptions) => Effect.Effect<ExecutionSignalHandle, import("./runtime-effect-error.js").AgentInvocationFailure, import("effect/Scope").Scope | ExecutionSignalClock>;
|
|
41
|
+
/** Creates a live signal for existing callers that own and close the handle.
|
|
42
|
+
* @param options - Invocation limits, deadline, and caller signal.
|
|
43
|
+
* @returns A closeable execution signal.
|
|
44
|
+
* @throws The original invalid deadline error.
|
|
45
|
+
* @example const active = createExecutionSignal(options); try { await work(active.signal); } finally { active.close(); }
|
|
46
|
+
*/
|
|
47
|
+
export declare function createExecutionSignal(options: ExecutionSignalOptions): ExecutionSignalHandle;
|
|
48
|
+
/** Races Promise work with caller and Effect cancellation.
|
|
49
|
+
* @param work - Already started Promise or immediate value.
|
|
50
|
+
* @param signal - Caller cancellation signal.
|
|
51
|
+
* @param linkEffectSignal - Whether to link direct Effect interruption.
|
|
52
|
+
* @returns An Effect with the value or AgentInvocationFailure.
|
|
53
|
+
* @example await Effect.runPromise(withSignalEffect(work, signal));
|
|
54
|
+
*/
|
|
55
|
+
export declare const withSignalEffect: <T>(work: MaybePromise<T>, signal: AbortSignal, linkEffectSignal?: boolean | undefined) => Effect.Effect<T, import("./runtime-effect-error.js").AgentInvocationFailure, never>;
|
|
56
|
+
/** Races work with a caller signal for existing Promise callers.
|
|
57
|
+
* @param work - Already started Promise or immediate value.
|
|
58
|
+
* @param signal - Caller cancellation signal.
|
|
59
|
+
* @returns The value when work completes before cancellation.
|
|
60
|
+
* @throws The original work error or AgentRuntimeError on cancellation.
|
|
61
|
+
* @example await withSignal(fetchData(), signal);
|
|
62
|
+
*/
|
|
63
|
+
export declare function withSignal<T>(work: MaybePromise<T>, signal: AbortSignal): Promise<T>;
|
|
64
|
+
//# sourceMappingURL=signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../src/signal.ts"],"names":[],"mappings":"AAAA,8IAA8I;AAG9I,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,mBAAmB,mBAAmB,CAAC;;AAEvC;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,yBAGD;CAAG;AAE5C;;GAEG;AACH,eAAO,MAAM,wBAAwB,iDAOpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,yEAQ/B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAEpE;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,6JAwCvC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,4LAMxC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAO5F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC1B,CAAC,4KAOH,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAMpF"}
|
package/dist/signal.js
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/** Builds and validates RELKIT signal descriptors used by native agent execution while retaining their payload schema and stable identity. */
|
|
2
|
+
import { executionDeadline } from "./signal-deadline.js";
|
|
3
|
+
import { Context, Effect, Layer } from "effect";
|
|
4
|
+
import { observeAgent } from "@relkit/agents/internal/agent-telemetry";
|
|
5
|
+
import { agentInvocationFailure } from "./runtime-effect-error.js";
|
|
6
|
+
import { AgentRuntimeError } from "./runtime-errors.js";
|
|
7
|
+
/** Replaceable clock and timer boundary for execution deadlines.
|
|
8
|
+
* @example Effect.provide(createExecutionSignalEffect(options), ExecutionSignalClockLive);
|
|
9
|
+
*/
|
|
10
|
+
export class ExecutionSignalClock extends Context.Service()("relkit/agents/ExecutionSignalClock") {
|
|
11
|
+
}
|
|
12
|
+
/** Live wall clock and timer implementation.
|
|
13
|
+
* @example Effect.runSync(Effect.provide(createExecutionSignalEffect(options), ExecutionSignalClockLive));
|
|
14
|
+
*/
|
|
15
|
+
export const ExecutionSignalClockLive = Layer.succeed(ExecutionSignalClock, ExecutionSignalClock.of({
|
|
16
|
+
now: () => Date.now(),
|
|
17
|
+
setTimeout: (callback, delayMs) => setTimeout(callback, delayMs),
|
|
18
|
+
clearTimeout: (handle) => clearTimeout(handle),
|
|
19
|
+
}));
|
|
20
|
+
/** Converts an abort reason to a safe invocation error.
|
|
21
|
+
* @param signal - Aborted invocation signal.
|
|
22
|
+
* @returns An Effect with a timeout or cancellation error.
|
|
23
|
+
* @example Effect.runSync(signalFailureEffect(signal));
|
|
24
|
+
*/
|
|
25
|
+
export const signalFailureEffect = Effect.fn("Agents.signal.failure")((signal) => Effect.sync(() => signal.reason instanceof AgentRuntimeError && signal.reason.code === "RELKIT_AGENT_TIMEOUT"
|
|
26
|
+
? signal.reason
|
|
27
|
+
: new AgentRuntimeError("RELKIT_AGENT_CANCELLED", "Agent invocation cancelled")), (effect) => observeAgent("signal.failure", effect));
|
|
28
|
+
/** Converts an abort reason for existing synchronous callers.
|
|
29
|
+
* @param signal - Aborted invocation signal.
|
|
30
|
+
* @returns A safe timeout or cancellation error.
|
|
31
|
+
* @example signalFailure(signal);
|
|
32
|
+
*/
|
|
33
|
+
export function signalFailure(signal) {
|
|
34
|
+
return Effect.runSync(signalFailureEffect(signal));
|
|
35
|
+
}
|
|
36
|
+
/** Creates a live execution signal with an owned timer and caller listener.
|
|
37
|
+
* @param options - Invocation limits, deadline, and caller signal.
|
|
38
|
+
* @returns An Effect with a closeable signal or AgentInvocationFailure.
|
|
39
|
+
* @example Effect.runSync(Effect.provide(createExecutionSignalEffect(options), testClock));
|
|
40
|
+
*/
|
|
41
|
+
export const createExecutionSignalEffect = Effect.fn("Agents.signal.create")(function* (options) {
|
|
42
|
+
const clock = yield* ExecutionSignalClock;
|
|
43
|
+
return yield* Effect.try({
|
|
44
|
+
try: () => {
|
|
45
|
+
const controller = new AbortController();
|
|
46
|
+
const listeners = [];
|
|
47
|
+
const now = clock.now();
|
|
48
|
+
const deadline = executionDeadline(options, now);
|
|
49
|
+
const timeout = new AgentRuntimeError("RELKIT_AGENT_TIMEOUT", "Agent deadline exceeded");
|
|
50
|
+
if (deadline <= now)
|
|
51
|
+
controller.abort(timeout);
|
|
52
|
+
const timer = clock.setTimeout(() => controller.abort(timeout), Math.max(0, deadline - now));
|
|
53
|
+
const signal = options.signal;
|
|
54
|
+
if (signal !== undefined) {
|
|
55
|
+
const abort = () => controller.abort(signal.reason);
|
|
56
|
+
if (signal.aborted)
|
|
57
|
+
abort();
|
|
58
|
+
else {
|
|
59
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
60
|
+
listeners.push([signal, abort]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
let closed = false;
|
|
64
|
+
return {
|
|
65
|
+
signal: controller.signal,
|
|
66
|
+
close: () => {
|
|
67
|
+
if (closed)
|
|
68
|
+
return;
|
|
69
|
+
closed = true;
|
|
70
|
+
clock.clearTimeout(timer);
|
|
71
|
+
for (const [source, listener] of listeners)
|
|
72
|
+
source.removeEventListener("abort", listener);
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
catch: agentInvocationFailure,
|
|
77
|
+
});
|
|
78
|
+
}, (effect) => observeAgent("signal.create", effect));
|
|
79
|
+
/** Acquires an execution signal whose owner closes it with its Effect scope.
|
|
80
|
+
* @param options - Invocation limits, deadline, and caller signal.
|
|
81
|
+
* @returns A scoped Effect with a signal or AgentInvocationFailure.
|
|
82
|
+
* @example Effect.scoped(Effect.gen(function* () { const active = yield* acquireExecutionSignalEffect(options); }));
|
|
83
|
+
*/
|
|
84
|
+
export const acquireExecutionSignalEffect = Effect.fn("Agents.signal.acquire")((options) => Effect.acquireRelease(createExecutionSignalEffect(options), (active) => Effect.sync(() => active.close())), (effect) => observeAgent("signal.acquire", effect));
|
|
85
|
+
/** Creates a live signal for existing callers that own and close the handle.
|
|
86
|
+
* @param options - Invocation limits, deadline, and caller signal.
|
|
87
|
+
* @returns A closeable execution signal.
|
|
88
|
+
* @throws The original invalid deadline error.
|
|
89
|
+
* @example const active = createExecutionSignal(options); try { await work(active.signal); } finally { active.close(); }
|
|
90
|
+
*/
|
|
91
|
+
export function createExecutionSignal(options) {
|
|
92
|
+
return Effect.runSync(createExecutionSignalEffect(options).pipe(Effect.catchTag("AgentInvocationFailure", (failure) => Effect.fail(failure.cause)), Effect.provide(ExecutionSignalClockLive)));
|
|
93
|
+
}
|
|
94
|
+
/** Races Promise work with caller and Effect cancellation.
|
|
95
|
+
* @param work - Already started Promise or immediate value.
|
|
96
|
+
* @param signal - Caller cancellation signal.
|
|
97
|
+
* @param linkEffectSignal - Whether to link direct Effect interruption.
|
|
98
|
+
* @returns An Effect with the value or AgentInvocationFailure.
|
|
99
|
+
* @example await Effect.runPromise(withSignalEffect(work, signal));
|
|
100
|
+
*/
|
|
101
|
+
export const withSignalEffect = Effect.fn("Agents.signal.withSignal")((work, signal, linkEffectSignal = true) => Effect.tryPromise({
|
|
102
|
+
try: (effectSignal) => withSignalCore(work, linkEffectSignal ? AbortSignal.any([signal, effectSignal]) : signal),
|
|
103
|
+
catch: agentInvocationFailure,
|
|
104
|
+
}), (effect) => observeAgent("signal.with-signal", effect));
|
|
105
|
+
/** Races work with a caller signal for existing Promise callers.
|
|
106
|
+
* @param work - Already started Promise or immediate value.
|
|
107
|
+
* @param signal - Caller cancellation signal.
|
|
108
|
+
* @returns The value when work completes before cancellation.
|
|
109
|
+
* @throws The original work error or AgentRuntimeError on cancellation.
|
|
110
|
+
* @example await withSignal(fetchData(), signal);
|
|
111
|
+
*/
|
|
112
|
+
export function withSignal(work, signal) {
|
|
113
|
+
return Effect.runPromise(withSignalEffect(work, signal, false).pipe(Effect.catchTag("AgentInvocationFailure", (failure) => Effect.fail(failure.cause))));
|
|
114
|
+
}
|
|
115
|
+
function withSignalCore(work, signal) {
|
|
116
|
+
if (signal.aborted)
|
|
117
|
+
return Promise.reject(signalFailure(signal));
|
|
118
|
+
return new Promise((resolve, reject) => {
|
|
119
|
+
let settled = false;
|
|
120
|
+
const finish = (complete) => {
|
|
121
|
+
if (settled)
|
|
122
|
+
return;
|
|
123
|
+
settled = true;
|
|
124
|
+
signal.removeEventListener("abort", abort);
|
|
125
|
+
complete();
|
|
126
|
+
};
|
|
127
|
+
const abort = () => finish(() => reject(signalFailure(signal)));
|
|
128
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
129
|
+
if (signal.aborted) {
|
|
130
|
+
abort();
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
Promise.resolve(work).then((value) => finish(() => resolve(value)), (error) => finish(() => reject(error)));
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=signal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../src/signal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Builds and validates RELKIT signal descriptors used by native agent execution while retaining their payload schema and stable identity. This companion preserves the native input and output types without starting runtime work. */
|
|
2
|
+
import type { AgentInvocationOptions, AgentRuntimeOptions } from "./runtime.js";
|
|
3
|
+
/** Options whose limits and caller signal determine an execution deadline. */
|
|
4
|
+
export type ExecutionSignalOptions = AgentRuntimeOptions & AgentInvocationOptions;
|
|
5
|
+
/** Live execution signal whose owner must call close once finished. */
|
|
6
|
+
export interface ExecutionSignalHandle {
|
|
7
|
+
readonly signal: AbortSignal;
|
|
8
|
+
/** Clears the deadline timer and caller signal listener.
|
|
9
|
+
* @returns Nothing; repeated calls are safe.
|
|
10
|
+
* @example handle.close();
|
|
11
|
+
*/
|
|
12
|
+
readonly close: () => void;
|
|
13
|
+
}
|
|
14
|
+
/** Replaceable deadline timer and current time boundary. */
|
|
15
|
+
export interface ExecutionSignalClockService {
|
|
16
|
+
/** Reads the current wall time in milliseconds.
|
|
17
|
+
* @returns Epoch milliseconds.
|
|
18
|
+
* @example clock.now();
|
|
19
|
+
*/
|
|
20
|
+
readonly now: () => number;
|
|
21
|
+
/** Schedules a deadline callback.
|
|
22
|
+
* @param callback - Deadline action.
|
|
23
|
+
* @param delayMs - Nonnegative delay.
|
|
24
|
+
* @returns Opaque timer handle.
|
|
25
|
+
* @example clock.setTimeout(onDeadline, 1000);
|
|
26
|
+
*/
|
|
27
|
+
readonly setTimeout: (callback: () => void, delayMs: number) => unknown;
|
|
28
|
+
/** Cancels a scheduled callback.
|
|
29
|
+
* @param handle - Opaque timer handle.
|
|
30
|
+
* @returns Nothing.
|
|
31
|
+
* @example clock.clearTimeout(handle);
|
|
32
|
+
*/
|
|
33
|
+
readonly clearTimeout: (handle: unknown) => void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=signal.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal.types.d.ts","sourceRoot":"","sources":["../src/signal.types.ts"],"names":[],"mappings":"AAAA,wOAAwO;AAExO,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEhF,8EAA8E;AAC9E,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAElF,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,4DAA4D;AAC5D,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACxE;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Builds and validates RELKIT signal descriptors used by native agent execution while retaining their payload schema and stable identity. This companion preserves the native input and output types without starting runtime work. */
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=signal.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal.types.js","sourceRoot":"","sources":["../src/signal.types.ts"],"names":[],"mappings":"AAAA,wOAAwO"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TestAgentApproval } from "./agents-types.js";
|
|
2
|
+
import type { AgentApprovalState } from "./agent-approvals.types.js";
|
|
3
|
+
/** Creates isolated native approval controls.
|
|
4
|
+
* @param choice - Existing fixed, pending or caller-defined policy.
|
|
5
|
+
* @returns Controls retaining selection errors and cancellation behavior.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createAgentApprovalState(choice: TestAgentApproval | undefined): AgentApprovalState;
|
|
8
|
+
//# sourceMappingURL=agent-approvals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-approvals.d.ts","sourceRoot":"","sources":["../../src/testing/agent-approvals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAA2B,MAAM,4BAA4B,CAAC;AAE9F;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,kBAAkB,CAuBpB"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Owns native pending decisions and cancellation listeners for one test agent.
|
|
3
|
+
* Settlement removes its listener before completing the same deferred decision.
|
|
4
|
+
*/
|
|
5
|
+
import { Deferred, Effect, Ref } from "effect";
|
|
6
|
+
/** Creates isolated native approval controls.
|
|
7
|
+
* @param choice - Existing fixed, pending or caller-defined policy.
|
|
8
|
+
* @returns Controls retaining selection errors and cancellation behavior.
|
|
9
|
+
*/
|
|
10
|
+
export function createAgentApprovalState(choice) {
|
|
11
|
+
const state = Ref.makeUnsafe({
|
|
12
|
+
pending: new Map(),
|
|
13
|
+
decisions: new Map(),
|
|
14
|
+
signals: new Map(),
|
|
15
|
+
});
|
|
16
|
+
const handler = approvalHandler(choice, state);
|
|
17
|
+
return Object.freeze({
|
|
18
|
+
...(handler === undefined ? {} : { handler }),
|
|
19
|
+
pending: () => Object.freeze([...Ref.getUnsafe(state).pending.values()]),
|
|
20
|
+
approve: (id) => resolvePending(state, id, "approved"),
|
|
21
|
+
deny: (id) => resolvePending(state, id, "denied"),
|
|
22
|
+
reset: () => {
|
|
23
|
+
const current = Ref.getUnsafe(state);
|
|
24
|
+
for (const key of [...current.decisions.keys()])
|
|
25
|
+
settle(state, key, "denied");
|
|
26
|
+
current.signals.clear();
|
|
27
|
+
},
|
|
28
|
+
registerSignal: (id, signal) => Ref.getUnsafe(state).signals.set(id, signal),
|
|
29
|
+
releaseSignal: (id) => {
|
|
30
|
+
Ref.getUnsafe(state).signals.delete(id);
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/** Selects the existing policy without acquiring a pending decision prematurely.
|
|
35
|
+
* @param choice - Authored policy.
|
|
36
|
+
* @param state - This owner's pending callback state.
|
|
37
|
+
* @returns The same optional approval callback.
|
|
38
|
+
*/
|
|
39
|
+
function approvalHandler(choice, state) {
|
|
40
|
+
if (choice === undefined)
|
|
41
|
+
return undefined;
|
|
42
|
+
if (typeof choice === "function")
|
|
43
|
+
return choice;
|
|
44
|
+
if (choice !== "pending")
|
|
45
|
+
return () => choice;
|
|
46
|
+
return (approval) => waitForApproval(state, approval);
|
|
47
|
+
}
|
|
48
|
+
/** Acquires a deferred decision linked to its invocation's cancellation.
|
|
49
|
+
* @param state - Owner state.
|
|
50
|
+
* @param approval - Canonical pending request.
|
|
51
|
+
* @returns The original native decision Promise.
|
|
52
|
+
*/
|
|
53
|
+
function waitForApproval(state, approval) {
|
|
54
|
+
const current = Ref.getUnsafe(state);
|
|
55
|
+
const key = `${approval.invocationId}:${approval.toolCallId}`;
|
|
56
|
+
const signal = current.signals.get(approval.invocationId);
|
|
57
|
+
const done = Deferred.makeUnsafe();
|
|
58
|
+
const abort = () => settle(state, key, "denied");
|
|
59
|
+
current.pending.set(key, approval);
|
|
60
|
+
current.decisions.set(key, { done, abort, ...(signal === undefined ? {} : { signal }) });
|
|
61
|
+
if (signal?.aborted)
|
|
62
|
+
abort();
|
|
63
|
+
else
|
|
64
|
+
signal?.addEventListener("abort", abort, { once: true });
|
|
65
|
+
return Effect.runPromise(Deferred.await(done));
|
|
66
|
+
}
|
|
67
|
+
/** Completes a decision after removing its native callback listener.
|
|
68
|
+
* @param state - Owner state.
|
|
69
|
+
* @param key - Invocation/tool-call identity.
|
|
70
|
+
* @param decision - Canonical native result.
|
|
71
|
+
* @returns Nothing; repeated completion is harmless.
|
|
72
|
+
*/
|
|
73
|
+
function settle(state, key, decision) {
|
|
74
|
+
const current = Ref.getUnsafe(state);
|
|
75
|
+
const entry = current.decisions.get(key);
|
|
76
|
+
if (entry === undefined)
|
|
77
|
+
return;
|
|
78
|
+
entry.signal?.removeEventListener("abort", entry.abort);
|
|
79
|
+
current.pending.delete(key);
|
|
80
|
+
current.decisions.delete(key);
|
|
81
|
+
Effect.runSync(Deferred.succeed(entry.done, decision));
|
|
82
|
+
}
|
|
83
|
+
/** Selects exactly one matching request before settling it once.
|
|
84
|
+
* @param state - Owner state.
|
|
85
|
+
* @param toolCallId - Optional tool-call, tool or resolver identity.
|
|
86
|
+
* @param decision - Canonical result.
|
|
87
|
+
* @returns Nothing after removing the matching resolver.
|
|
88
|
+
*/
|
|
89
|
+
function resolvePending(state, toolCallId, decision) {
|
|
90
|
+
const matches = [...Ref.getUnsafe(state).pending.entries()].filter(([key, approval]) => toolCallId === undefined ||
|
|
91
|
+
approval.toolCallId === toolCallId ||
|
|
92
|
+
approval.toolId === toolCallId ||
|
|
93
|
+
key === toolCallId);
|
|
94
|
+
if (matches.length !== 1)
|
|
95
|
+
throw new Error("Expected exactly one matching pending approval");
|
|
96
|
+
settle(state, matches[0][0], decision);
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=agent-approvals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-approvals.js","sourceRoot":"","sources":["../../src/testing/agent-approvals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Exercises native agent approval continuations through the harness's scoped model and execution owner, retaining resume identity and cleanup. This companion preserves the native input and output types without starting runtime work. */
|
|
2
|
+
import type { AgentApprovalHandler } from "../index.js";
|
|
3
|
+
import type { Deferred } from "effect";
|
|
4
|
+
import type { TestAgentApprovals } from "./agents-types.js";
|
|
5
|
+
/** Deferred decision authority and its native cancellation listener. */
|
|
6
|
+
export interface PendingAgentDecision {
|
|
7
|
+
readonly done: Deferred.Deferred<"approved" | "denied">;
|
|
8
|
+
readonly signal?: AbortSignal;
|
|
9
|
+
readonly abort: () => void;
|
|
10
|
+
}
|
|
11
|
+
/** Synchronous controls over owned native approval decisions and cancellation. */
|
|
12
|
+
export interface AgentApprovalState extends TestAgentApprovals {
|
|
13
|
+
readonly handler?: AgentApprovalHandler;
|
|
14
|
+
readonly reset: () => void;
|
|
15
|
+
readonly registerSignal: (id: string, signal: AbortSignal) => void;
|
|
16
|
+
readonly releaseSignal: (id: string) => void;
|
|
17
|
+
}
|
|
18
|
+
/** Native callback state retained by one test approval owner. */
|
|
19
|
+
export interface AgentApprovalOwnedState {
|
|
20
|
+
readonly pending: Map<string, import("../index.js").PendingApproval>;
|
|
21
|
+
readonly decisions: Map<string, PendingAgentDecision>;
|
|
22
|
+
readonly signals: Map<string, AbortSignal>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=agent-approvals.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-approvals.types.d.ts","sourceRoot":"","sources":["../../src/testing/agent-approvals.types.ts"],"names":[],"mappings":"AAAA,6OAA6O;AAE7O,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,kFAAkF;AAClF,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,iEAAiE;AACjE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,eAAe,CAAC,CAAC;IACrE,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC5C"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Exercises native agent approval continuations through the harness's scoped model and execution owner, retaining resume identity and cleanup. This companion preserves the native input and output types without starting runtime work. */
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=agent-approvals.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-approvals.types.js","sourceRoot":"","sources":["../../src/testing/agent-approvals.types.ts"],"names":[],"mappings":"AAAA,6OAA6O"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Defines the native test harness execution and lifecycle contract shared by model, tool and approval helpers. This companion preserves the native input and output types without starting runtime work. */
|
|
2
|
+
import type { Effect } from "effect";
|
|
3
|
+
import type { TestAgent, TestAgentInvocationOptions } from "./agents-types.js";
|
|
4
|
+
import type { AgentObservedEdge } from "../index.js";
|
|
5
|
+
import type { spanSnapshot } from "@relkit/invocation";
|
|
6
|
+
import type { acquireAgentHarness } from "./agent-state-setup.js";
|
|
7
|
+
/** Acquired native model, state and observer dependencies for one harness owner. */
|
|
8
|
+
export type AgentHarnessDependencies = Effect.Success<ReturnType<typeof acquireAgentHarness>>;
|
|
9
|
+
/** Trace ledgers and native work belong to the same agent owner. */
|
|
10
|
+
export interface AgentOwnedState {
|
|
11
|
+
closed: boolean;
|
|
12
|
+
invocationSequence: number;
|
|
13
|
+
readonly spans: ReturnType<typeof spanSnapshot>[];
|
|
14
|
+
readonly edges: AgentObservedEdge[];
|
|
15
|
+
readonly active: Set<AbortController>;
|
|
16
|
+
readonly pending: Set<Promise<unknown>>;
|
|
17
|
+
closing?: Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
/** Native state facade and Effect-owned invocation/shutdown workflows. */
|
|
20
|
+
export interface AgentHarnessService {
|
|
21
|
+
readonly close: Effect.Effect<void, unknown>;
|
|
22
|
+
readonly value: Omit<TestAgent, "invoke">;
|
|
23
|
+
readonly invoke: (input: unknown, invocation?: TestAgentInvocationOptions) => Effect.Effect<unknown, unknown>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=agent-harness.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-harness.types.d.ts","sourceRoot":"","sources":["../../src/testing/agent-harness.types.ts"],"names":[],"mappings":"AAAA,6MAA6M;AAE7M,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,oFAAoF;AACpF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;AAE9F,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAAE,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,OAAO,EACd,UAAU,CAAC,EAAE,0BAA0B,KACpC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-harness.types.js","sourceRoot":"","sources":["../../src/testing/agent-harness.types.ts"],"names":[],"mappings":"AAAA,6MAA6M"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AgentHarnessDependencies } from "./agent-harness.types.js";
|
|
2
|
+
import type { TestAgentDescriptor, TestAgentInvocationOptions, TestAgentOptions } from "./agents-types.js";
|
|
3
|
+
export declare function invokeAgentHarness<Agent extends TestAgentDescriptor>(options: TestAgentOptions<Agent>, harness: AgentHarnessDependencies, input: import("@relkit/schema").InferInput<Agent["input"]>, invocation?: TestAgentInvocationOptions): Promise<import("@relkit/schema").InferOutput<Agent["output"]>>;
|
|
4
|
+
//# sourceMappingURL=agent-state-invocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-state-invocation.d.ts","sourceRoot":"","sources":["../../src/testing/agent-state-invocation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,wBAAsB,kBAAkB,CAAC,KAAK,SAAS,mBAAmB,EACxE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAChC,OAAO,EAAE,wBAAwB,EAEjC,KAAK,EAAE,OAAO,gBAAgB,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAC1D,UAAU,GAAE,0BAA+B,GAC1C,OAAO,CAAC,OAAO,gBAAgB,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAoChE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** Runs native invocations under the harness-owned span and cancellation lifetime. */
|
|
2
|
+
import { Ref } from "effect";
|
|
3
|
+
import { completeSpan, runInExecutionContext, startRootSpan } from "@relkit/invocation";
|
|
4
|
+
import { combineSignals } from "@relkit/testing/internal/runtime-clock";
|
|
5
|
+
import { invokeAgent } from "../index.js";
|
|
6
|
+
export async function invokeAgentHarness(options, harness, input, invocation = {}) {
|
|
7
|
+
const { state, approvals, spanRuntime, model, engine, hooks } = harness;
|
|
8
|
+
const approval = approvals.handler;
|
|
9
|
+
const invocationId = invocation.invocationId ?? `test-agent-${++Ref.getUnsafe(state).invocationSequence}`;
|
|
10
|
+
const controller = new AbortController();
|
|
11
|
+
Ref.getUnsafe(state).active.add(controller);
|
|
12
|
+
const signals = combineSignals(invocation.signal, controller.signal);
|
|
13
|
+
approvals.registerSignal(invocationId, signals.signal);
|
|
14
|
+
const root = startRootSpan(spanRuntime, "relkit.testing.agent", "internal");
|
|
15
|
+
try {
|
|
16
|
+
return (await runInExecutionContext({ span: root, runtime: spanRuntime }, () => invokeAgent({
|
|
17
|
+
agent: options.agent,
|
|
18
|
+
tools: options.tools,
|
|
19
|
+
engine,
|
|
20
|
+
modelRegistry: {
|
|
21
|
+
resolveModel: () => ({ id: model.modelId, model: model.languageModel }),
|
|
22
|
+
},
|
|
23
|
+
...(options.maxInputBytes === undefined ? {} : { maxInputBytes: options.maxInputBytes }),
|
|
24
|
+
...(options.maxOutputBytes === undefined ? {} : { maxOutputBytes: options.maxOutputBytes }),
|
|
25
|
+
...(approval === undefined ? {} : { approval }),
|
|
26
|
+
...(options.capture === undefined ? {} : { capture: options.capture }),
|
|
27
|
+
...invocation,
|
|
28
|
+
signal: signals.signal,
|
|
29
|
+
input,
|
|
30
|
+
invocationId,
|
|
31
|
+
hooks,
|
|
32
|
+
})));
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
approvals.releaseSignal(invocationId);
|
|
36
|
+
signals.dispose();
|
|
37
|
+
Ref.getUnsafe(state).active.delete(controller);
|
|
38
|
+
completeSpan(root);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=agent-state-invocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-state-invocation.js","sourceRoot":"","sources":["../../src/testing/agent-state-invocation.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ1C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgC,EAChC,OAAiC,EAEjC,KAA0D,EAC1D,aAAyC,EAAE;IAE3C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;IACnC,MAAM,YAAY,GAChB,UAAU,CAAC,YAAY,IAAI,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACvF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACrE,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAC7E,WAAW,CAAC;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;YACN,aAAa,EAAE;gBACb,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;aACxE;YACD,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YACxF,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3F,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACtE,GAAG,UAAU;YACb,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK;YACL,YAAY;YACZ,KAAK;SACN,CAAC,CACH,CAA0D,CAAC;IAC9D,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Stops admission before aborting and joining every native invocation and model owner. */
|
|
2
|
+
import { Context, Effect } from "effect";
|
|
3
|
+
import type { AgentHarnessDependencies } from "./agent-harness.types.js";
|
|
4
|
+
export declare function agentHarnessClose(context: Context.Context<never>, harness: AgentHarnessDependencies): Effect.Effect<void, unknown, never>;
|
|
5
|
+
export declare function resetAgentHarness(harness: AgentHarnessDependencies): void;
|
|
6
|
+
//# sourceMappingURL=agent-state-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-state-lifecycle.d.ts","sourceRoot":"","sources":["../../src/testing/agent-state-lifecycle.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAE,OAAO,EAAY,MAAM,EAAO,MAAM,QAAQ,CAAC;AAExD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/B,OAAO,EAAE,wBAAwB,uCA4BlC;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CASzE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Stops admission before aborting and joining every native invocation and model owner. */
|
|
2
|
+
import { Context, Deferred, Effect, Ref } from "effect";
|
|
3
|
+
import { joinOwnedWork, runOwnedContext } from "@relkit/testing/internal/work-ownership";
|
|
4
|
+
export function agentHarnessClose(context, harness) {
|
|
5
|
+
const { state, approvals, model } = harness;
|
|
6
|
+
return Effect.uninterruptible(Effect.fn("Testing.agent.close")(function* () {
|
|
7
|
+
const current = Ref.getUnsafe(state);
|
|
8
|
+
if (current.closing !== undefined)
|
|
9
|
+
return yield* Effect.tryPromise({
|
|
10
|
+
try: () => current.closing,
|
|
11
|
+
catch: (cause) => cause,
|
|
12
|
+
});
|
|
13
|
+
const done = yield* Deferred.make();
|
|
14
|
+
current.closing = runOwnedContext(context, Deferred.await(done));
|
|
15
|
+
void current.closing.catch(() => undefined);
|
|
16
|
+
current.closed = true;
|
|
17
|
+
return yield* Effect.gen(function* () {
|
|
18
|
+
approvals.reset();
|
|
19
|
+
yield* Effect.forEach([...current.active], (controller) => Effect.sync(() => controller.abort(new Error("Test agent closed"))), { concurrency: 1, discard: true });
|
|
20
|
+
current.active.clear();
|
|
21
|
+
yield* joinOwnedWork(current.pending);
|
|
22
|
+
yield* Effect.tryPromise({ try: () => model.close(), catch: (cause) => cause });
|
|
23
|
+
}).pipe(Effect.onExit((exit) => Deferred.done(done, exit)));
|
|
24
|
+
})());
|
|
25
|
+
}
|
|
26
|
+
export function resetAgentHarness(harness) {
|
|
27
|
+
const { state, model, trace, approvals } = harness;
|
|
28
|
+
for (const controller of Ref.getUnsafe(state).active)
|
|
29
|
+
controller.abort(new Error("Test agent reset"));
|
|
30
|
+
Ref.getUnsafe(state).active.clear();
|
|
31
|
+
model.reset();
|
|
32
|
+
trace.clear();
|
|
33
|
+
approvals.reset();
|
|
34
|
+
Ref.getUnsafe(state).invocationSequence = 0;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=agent-state-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-state-lifecycle.js","sourceRoot":"","sources":["../../src/testing/agent-state-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Acquires one native test model and its trace, approval and cancellation state. */
|
|
2
|
+
import { Effect, Ref } from "effect";
|
|
3
|
+
import { SpanRuntime } from "@relkit/invocation";
|
|
4
|
+
import type { AgentOwnedState } from "./agent-harness.types.js";
|
|
5
|
+
import type { TestAgentOptions } from "./agents-types.js";
|
|
6
|
+
export declare const acquireAgentHarness: (options: TestAgentOptions<import("./agents.types.js").TestAgentDescriptor>) => Effect.Effect<{
|
|
7
|
+
failures: import("@relkit/testing/internal/fakes").TestFailureControls;
|
|
8
|
+
model: import("./agents-model.types.js").RuntimeTestAgentModel;
|
|
9
|
+
state: Ref.Ref<AgentOwnedState>;
|
|
10
|
+
approvals: import("./agent-approvals.types.js").AgentApprovalState;
|
|
11
|
+
trace: import("./agents.types.js").TestAgentTrace;
|
|
12
|
+
hooks: import("@relkit/agents/internal/observability").AgentRuntimeHooks;
|
|
13
|
+
spanRuntime: SpanRuntime;
|
|
14
|
+
engine: {
|
|
15
|
+
invoke: (request: Parameters<(options: import("@relkit/tools").ToolEngineInvocation) => Promise<unknown>>[0]) => Promise<unknown>;
|
|
16
|
+
};
|
|
17
|
+
}, never, import("effect/Scope").Scope>;
|
|
18
|
+
//# sourceMappingURL=agent-state-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-state-setup.d.ts","sourceRoot":"","sources":["../../src/testing/agent-state-setup.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AAK/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;0BAmBJ,UAAU,6EAA8B,CAAC,CAAC,CAAC;;uCAOrE,CAAC"}
|