@relkit/runtime-hono 0.5.3 → 0.5.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/agent-active-execution.d.ts +5 -11
- package/dist/agent-active-execution.d.ts.map +1 -1
- package/dist/agent-active-execution.js +3 -0
- package/dist/agent-active-execution.js.map +1 -1
- package/dist/agent-active-execution.types.d.ts +14 -0
- package/dist/agent-active-execution.types.d.ts.map +1 -0
- package/dist/agent-active-execution.types.js +2 -0
- package/dist/agent-active-execution.types.js.map +1 -0
- package/dist/agent-approval-coordinator.d.ts +17 -6
- package/dist/agent-approval-coordinator.d.ts.map +1 -1
- package/dist/agent-approval-coordinator.js +56 -53
- package/dist/agent-approval-coordinator.js.map +1 -1
- package/dist/agent-approval-coordinator.types.d.ts +14 -0
- package/dist/agent-approval-coordinator.types.d.ts.map +1 -0
- package/dist/agent-approval-coordinator.types.js +2 -0
- package/dist/agent-approval-coordinator.types.js.map +1 -0
- package/dist/agent-approval-support.d.ts +26 -0
- package/dist/agent-approval-support.d.ts.map +1 -0
- package/dist/agent-approval-support.js +47 -0
- package/dist/agent-approval-support.js.map +1 -0
- package/dist/agent-capability-negotiation.d.ts +4 -0
- package/dist/agent-capability-negotiation.d.ts.map +1 -1
- package/dist/agent-capability-negotiation.js +4 -0
- package/dist/agent-capability-negotiation.js.map +1 -1
- package/dist/agent-command-validation.d.ts +22 -0
- package/dist/agent-command-validation.d.ts.map +1 -0
- package/dist/agent-command-validation.js +35 -0
- package/dist/agent-command-validation.js.map +1 -0
- package/dist/agent-compatibility.d.ts +14 -0
- package/dist/agent-compatibility.d.ts.map +1 -1
- package/dist/agent-compatibility.js +18 -0
- package/dist/agent-compatibility.js.map +1 -1
- package/dist/agent-content-sink.d.ts +68 -7
- package/dist/agent-content-sink.d.ts.map +1 -1
- package/dist/agent-content-sink.js +136 -123
- package/dist/agent-content-sink.js.map +1 -1
- package/dist/agent-content-sink.types.d.ts +10 -0
- package/dist/agent-content-sink.types.d.ts.map +1 -0
- package/dist/agent-content-sink.types.js +2 -0
- package/dist/agent-content-sink.types.js.map +1 -0
- package/dist/agent-control-admission.d.ts +13 -0
- package/dist/agent-control-admission.d.ts.map +1 -0
- package/dist/agent-control-admission.js +70 -0
- package/dist/agent-control-admission.js.map +1 -0
- package/dist/agent-control-application.d.ts +32 -0
- package/dist/agent-control-application.d.ts.map +1 -0
- package/dist/agent-control-application.js +114 -0
- package/dist/agent-control-application.js.map +1 -0
- package/dist/agent-control-worker.d.ts +43 -2
- package/dist/agent-control-worker.d.ts.map +1 -1
- package/dist/agent-control-worker.js +39 -104
- package/dist/agent-control-worker.js.map +1 -1
- package/dist/agent-control-worker.types.d.ts +4 -0
- package/dist/agent-control-worker.types.d.ts.map +1 -0
- package/dist/agent-control-worker.types.js +2 -0
- package/dist/agent-control-worker.types.js.map +1 -0
- package/dist/agent-conversation.d.ts +18 -0
- package/dist/agent-conversation.d.ts.map +1 -0
- package/dist/agent-conversation.js +33 -0
- package/dist/agent-conversation.js.map +1 -0
- package/dist/agent-follow-up.d.ts +43 -7
- package/dist/agent-follow-up.d.ts.map +1 -1
- package/dist/agent-follow-up.js +59 -25
- package/dist/agent-follow-up.js.map +1 -1
- package/dist/agent-follow-up.types.d.ts +10 -0
- package/dist/agent-follow-up.types.d.ts.map +1 -0
- package/dist/agent-follow-up.types.js +2 -0
- package/dist/agent-follow-up.types.js.map +1 -0
- package/dist/agent-inspector-projection.d.ts +23 -0
- package/dist/agent-inspector-projection.d.ts.map +1 -1
- package/dist/agent-inspector-projection.js +39 -0
- package/dist/agent-inspector-projection.js.map +1 -1
- package/dist/agent-inspector.d.ts +6 -0
- package/dist/agent-inspector.d.ts.map +1 -1
- package/dist/agent-inspector.js +28 -0
- package/dist/agent-inspector.js.map +1 -1
- package/dist/agent-journal.d.ts +118 -0
- package/dist/agent-journal.d.ts.map +1 -0
- package/dist/agent-journal.js +138 -0
- package/dist/agent-journal.js.map +1 -0
- package/dist/agent-observation.d.ts +32 -0
- package/dist/agent-observation.d.ts.map +1 -0
- package/dist/agent-observation.js +96 -0
- package/dist/agent-observation.js.map +1 -0
- package/dist/agent-observation.types.d.ts +16 -0
- package/dist/agent-observation.types.d.ts.map +1 -0
- package/dist/agent-observation.types.js +2 -0
- package/dist/agent-observation.types.js.map +1 -0
- package/dist/agent-progress-sink.d.ts +37 -2
- package/dist/agent-progress-sink.d.ts.map +1 -1
- package/dist/agent-progress-sink.js +81 -46
- package/dist/agent-progress-sink.js.map +1 -1
- package/dist/agent-progress-sink.types.d.ts +4 -0
- package/dist/agent-progress-sink.types.d.ts.map +1 -0
- package/dist/agent-progress-sink.types.js +2 -0
- package/dist/agent-progress-sink.types.js.map +1 -0
- package/dist/agent-protocol-encoding.d.ts +4 -0
- package/dist/agent-protocol-encoding.d.ts.map +1 -1
- package/dist/agent-protocol-encoding.js +24 -0
- package/dist/agent-protocol-encoding.js.map +1 -1
- package/dist/agent-protocol-encoding.types.d.ts +6 -0
- package/dist/agent-protocol-encoding.types.d.ts.map +1 -0
- package/dist/agent-protocol-encoding.types.js +2 -0
- package/dist/agent-protocol-encoding.types.js.map +1 -0
- package/dist/agent-protocol-frame-state.d.ts +34 -0
- package/dist/agent-protocol-frame-state.d.ts.map +1 -1
- package/dist/agent-protocol-frame-state.js +51 -0
- package/dist/agent-protocol-frame-state.js.map +1 -1
- package/dist/agent-protocol-progress.d.ts +7 -5
- package/dist/agent-protocol-progress.d.ts.map +1 -1
- package/dist/agent-protocol-progress.js +6 -0
- package/dist/agent-protocol-progress.js.map +1 -1
- package/dist/agent-protocol-progress.types.d.ts +6 -0
- package/dist/agent-protocol-progress.types.d.ts.map +1 -0
- package/dist/agent-protocol-progress.types.js +2 -0
- package/dist/agent-protocol-progress.types.js.map +1 -0
- package/dist/agent-protocol-stream.d.ts +13 -50
- package/dist/agent-protocol-stream.d.ts.map +1 -1
- package/dist/agent-protocol-stream.js +22 -0
- package/dist/agent-protocol-stream.js.map +1 -1
- package/dist/agent-protocol-stream.types.d.ts +53 -0
- package/dist/agent-protocol-stream.types.d.ts.map +1 -0
- package/dist/agent-protocol-stream.types.js +2 -0
- package/dist/agent-protocol-stream.types.js.map +1 -0
- package/dist/agent-protocol-support.d.ts +52 -4
- package/dist/agent-protocol-support.d.ts.map +1 -1
- package/dist/agent-protocol-support.js +58 -0
- package/dist/agent-protocol-support.js.map +1 -1
- package/dist/agent-protocol-support.types.d.ts +6 -0
- package/dist/agent-protocol-support.types.d.ts.map +1 -0
- package/dist/agent-protocol-support.types.js +2 -0
- package/dist/agent-protocol-support.types.js.map +1 -0
- package/dist/agent-protocol-tool.d.ts +17 -9
- package/dist/agent-protocol-tool.d.ts.map +1 -1
- package/dist/agent-protocol-tool.js +15 -0
- package/dist/agent-protocol-tool.js.map +1 -1
- package/dist/agent-protocol-tool.types.d.ts +11 -0
- package/dist/agent-protocol-tool.types.d.ts.map +1 -0
- package/dist/agent-protocol-tool.types.js +2 -0
- package/dist/agent-protocol-tool.types.js.map +1 -0
- package/dist/agent-protocol.d.ts +5 -0
- package/dist/agent-protocol.d.ts.map +1 -1
- package/dist/agent-protocol.js +30 -0
- package/dist/agent-protocol.js.map +1 -1
- package/dist/agent-reads.d.ts +64 -0
- package/dist/agent-reads.d.ts.map +1 -0
- package/dist/agent-reads.js +119 -0
- package/dist/agent-reads.js.map +1 -0
- package/dist/agent-request-validation.d.ts +50 -0
- package/dist/agent-request-validation.d.ts.map +1 -0
- package/dist/agent-request-validation.js +87 -0
- package/dist/agent-request-validation.js.map +1 -0
- package/dist/agent-rpc-errors.d.ts +14 -0
- package/dist/agent-rpc-errors.d.ts.map +1 -1
- package/dist/agent-rpc-errors.js +22 -0
- package/dist/agent-rpc-errors.js.map +1 -1
- package/dist/agent-rpc-read.d.ts +26 -16
- package/dist/agent-rpc-read.d.ts.map +1 -1
- package/dist/agent-rpc-read.js +50 -122
- package/dist/agent-rpc-read.js.map +1 -1
- package/dist/agent-rpc-resume.d.ts +49 -2
- package/dist/agent-rpc-resume.d.ts.map +1 -1
- package/dist/agent-rpc-resume.js +57 -23
- package/dist/agent-rpc-resume.js.map +1 -1
- package/dist/agent-rpc-resume.types.d.ts +4 -0
- package/dist/agent-rpc-resume.types.d.ts.map +1 -0
- package/dist/agent-rpc-resume.types.js +2 -0
- package/dist/agent-rpc-resume.types.js.map +1 -0
- package/dist/agent-rpc-support.d.ts +60 -23
- package/dist/agent-rpc-support.d.ts.map +1 -1
- package/dist/agent-rpc-support.js +75 -65
- package/dist/agent-rpc-support.js.map +1 -1
- package/dist/agent-rpc-support.schemas.d.ts +4 -0
- package/dist/agent-rpc-support.schemas.d.ts.map +1 -0
- package/dist/agent-rpc-support.schemas.js +4 -0
- package/dist/agent-rpc-support.schemas.js.map +1 -0
- package/dist/agent-rpc-support.types.d.ts +18 -0
- package/dist/agent-rpc-support.types.d.ts.map +1 -0
- package/dist/agent-rpc-support.types.js +2 -0
- package/dist/agent-rpc-support.types.js.map +1 -0
- package/dist/agent-rpc-worker.d.ts +43 -2
- package/dist/agent-rpc-worker.d.ts.map +1 -1
- package/dist/agent-rpc-worker.js +120 -117
- package/dist/agent-rpc-worker.js.map +1 -1
- package/dist/agent-rpc-worker.types.d.ts +4 -0
- package/dist/agent-rpc-worker.types.d.ts.map +1 -0
- package/dist/agent-rpc-worker.types.js +2 -0
- package/dist/agent-rpc-worker.types.js.map +1 -0
- package/dist/agent-rpc-write.d.ts +25 -0
- package/dist/agent-rpc-write.d.ts.map +1 -1
- package/dist/agent-rpc-write.js +34 -105
- package/dist/agent-rpc-write.js.map +1 -1
- package/dist/agent-rpc.d.ts +4 -0
- package/dist/agent-rpc.d.ts.map +1 -1
- package/dist/agent-rpc.js +10 -0
- package/dist/agent-rpc.js.map +1 -1
- package/dist/agent-run-admission.d.ts +13 -0
- package/dist/agent-run-admission.d.ts.map +1 -0
- package/dist/agent-run-admission.js +60 -0
- package/dist/agent-run-admission.js.map +1 -0
- package/dist/agent-run-journal.d.ts +41 -3
- package/dist/agent-run-journal.d.ts.map +1 -1
- package/dist/agent-run-journal.js +63 -81
- package/dist/agent-run-journal.js.map +1 -1
- package/dist/agent-run-journal.types.d.ts +4 -0
- package/dist/agent-run-journal.types.d.ts.map +1 -0
- package/dist/agent-run-journal.types.js +2 -0
- package/dist/agent-run-journal.types.js.map +1 -0
- package/dist/agent-run-supervision.d.ts +20 -0
- package/dist/agent-run-supervision.d.ts.map +1 -0
- package/dist/agent-run-supervision.js +42 -0
- package/dist/agent-run-supervision.js.map +1 -0
- package/dist/agent-run-supervision.types.d.ts +7 -0
- package/dist/agent-run-supervision.types.d.ts.map +1 -0
- package/dist/agent-run-supervision.types.js +2 -0
- package/dist/agent-run-supervision.types.js.map +1 -0
- package/dist/agent-run-tasks.d.ts +35 -1
- package/dist/agent-run-tasks.d.ts.map +1 -1
- package/dist/agent-run-tasks.js +72 -4
- package/dist/agent-run-tasks.js.map +1 -1
- package/dist/agent-run-tasks.types.d.ts +5 -0
- package/dist/agent-run-tasks.types.d.ts.map +1 -0
- package/dist/agent-run-tasks.types.js +2 -0
- package/dist/agent-run-tasks.types.js.map +1 -0
- package/dist/agent-runtime.d.ts +1 -16
- package/dist/agent-runtime.d.ts.map +1 -1
- package/dist/agent-runtime.types.d.ts +18 -0
- package/dist/agent-runtime.types.d.ts.map +1 -0
- package/dist/agent-runtime.types.js +2 -0
- package/dist/agent-runtime.types.js.map +1 -0
- package/dist/agent-tool-content.d.ts +17 -0
- package/dist/agent-tool-content.d.ts.map +1 -0
- package/dist/agent-tool-content.js +61 -0
- package/dist/agent-tool-content.js.map +1 -0
- package/dist/api-docs.d.ts +8 -13
- package/dist/api-docs.d.ts.map +1 -1
- package/dist/api-docs.js +38 -2
- package/dist/api-docs.js.map +1 -1
- package/dist/api-docs.types.d.ts +14 -0
- package/dist/api-docs.types.d.ts.map +1 -0
- package/dist/api-docs.types.js +2 -0
- package/dist/api-docs.types.js.map +1 -0
- package/dist/auth.d.ts +26 -15
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +46 -4
- package/dist/auth.js.map +1 -1
- package/dist/auth.types.d.ts +20 -0
- package/dist/auth.types.d.ts.map +1 -0
- package/dist/auth.types.js +2 -0
- package/dist/auth.types.js.map +1 -0
- package/dist/client-authorization.d.ts +22 -0
- package/dist/client-authorization.d.ts.map +1 -1
- package/dist/client-authorization.js +26 -12
- package/dist/client-authorization.js.map +1 -1
- package/dist/client-contract.d.ts +8 -4
- package/dist/client-contract.d.ts.map +1 -1
- package/dist/client-contract.js +6 -0
- package/dist/client-contract.js.map +1 -1
- package/dist/client-contract.types.d.ts +8 -0
- package/dist/client-contract.types.d.ts.map +1 -0
- package/dist/client-contract.types.js +2 -0
- package/dist/client-contract.types.js.map +1 -0
- package/dist/client-identity.d.ts +39 -15
- package/dist/client-identity.d.ts.map +1 -1
- package/dist/client-identity.js +50 -4
- package/dist/client-identity.js.map +1 -1
- package/dist/client-identity.types.d.ts +19 -0
- package/dist/client-identity.types.d.ts.map +1 -0
- package/dist/client-identity.types.js +2 -0
- package/dist/client-identity.types.js.map +1 -0
- package/dist/control-plane.d.ts +4 -0
- package/dist/control-plane.d.ts.map +1 -1
- package/dist/control-plane.js +4 -0
- package/dist/control-plane.js.map +1 -1
- package/dist/create-app.d.ts +11 -20
- package/dist/create-app.d.ts.map +1 -1
- package/dist/create-app.js +25 -8
- package/dist/create-app.js.map +1 -1
- package/dist/create-app.types.d.ts +21 -0
- package/dist/create-app.types.d.ts.map +1 -0
- package/dist/create-app.types.js +2 -0
- package/dist/create-app.types.js.map +1 -0
- package/dist/http-effect.d.ts +43 -0
- package/dist/http-effect.d.ts.map +1 -0
- package/dist/http-effect.js +67 -0
- package/dist/http-effect.js.map +1 -0
- package/dist/http-invocation.d.ts +22 -0
- package/dist/http-invocation.d.ts.map +1 -0
- package/dist/http-invocation.js +44 -0
- package/dist/http-invocation.js.map +1 -0
- package/dist/http-logging.d.ts +23 -0
- package/dist/http-logging.d.ts.map +1 -0
- package/dist/http-logging.js +69 -0
- package/dist/http-logging.js.map +1 -0
- package/dist/http-logging.types.d.ts +8 -0
- package/dist/http-logging.types.d.ts.map +1 -0
- package/dist/http-logging.types.js +2 -0
- package/dist/http-logging.types.js.map +1 -0
- package/dist/http-response.d.ts +22 -0
- package/dist/http-response.d.ts.map +1 -1
- package/dist/http-response.js +55 -8
- package/dist/http-response.js.map +1 -1
- package/dist/http-span-record.d.ts +5 -0
- package/dist/http-span-record.d.ts.map +1 -1
- package/dist/http-span-record.js +5 -0
- package/dist/http-span-record.js.map +1 -1
- package/dist/http-span.d.ts +18 -0
- package/dist/http-span.d.ts.map +1 -1
- package/dist/http-span.js +37 -3
- package/dist/http-span.js.map +1 -1
- package/dist/http-stream-observation.d.ts +13 -0
- package/dist/http-stream-observation.d.ts.map +1 -0
- package/dist/http-stream-observation.js +15 -0
- package/dist/http-stream-observation.js.map +1 -0
- package/dist/http-validation.d.ts +12 -0
- package/dist/http-validation.d.ts.map +1 -0
- package/dist/http-validation.js +17 -0
- package/dist/http-validation.js.map +1 -0
- package/dist/internal-endpoint-paths.d.ts +3 -0
- package/dist/internal-endpoint-paths.d.ts.map +1 -1
- package/dist/internal-endpoint-paths.js +3 -0
- package/dist/internal-endpoint-paths.js.map +1 -1
- package/dist/internal-endpoint-query.d.ts +18 -0
- package/dist/internal-endpoint-query.d.ts.map +1 -0
- package/dist/internal-endpoint-query.js +88 -0
- package/dist/internal-endpoint-query.js.map +1 -0
- package/dist/internal-endpoints-utils.d.ts +39 -4
- package/dist/internal-endpoints-utils.d.ts.map +1 -1
- package/dist/internal-endpoints-utils.js +48 -52
- package/dist/internal-endpoints-utils.js.map +1 -1
- package/dist/internal-endpoints.d.ts +11 -46
- package/dist/internal-endpoints.d.ts.map +1 -1
- package/dist/internal-endpoints.js +25 -2
- package/dist/internal-endpoints.js.map +1 -1
- package/dist/internal-endpoints.types.d.ts +57 -0
- package/dist/internal-endpoints.types.d.ts.map +1 -0
- package/dist/internal-endpoints.types.js +2 -0
- package/dist/internal-endpoints.types.js.map +1 -0
- package/dist/jobs/authorization.d.ts +22 -8
- package/dist/jobs/authorization.d.ts.map +1 -1
- package/dist/jobs/authorization.js +29 -16
- package/dist/jobs/authorization.js.map +1 -1
- package/dist/jobs/authorization.types.d.ts +9 -0
- package/dist/jobs/authorization.types.d.ts.map +1 -0
- package/dist/jobs/authorization.types.js +2 -0
- package/dist/jobs/authorization.types.js.map +1 -0
- package/dist/jobs/common.d.ts +54 -3
- package/dist/jobs/common.d.ts.map +1 -1
- package/dist/jobs/common.js +63 -23
- package/dist/jobs/common.js.map +1 -1
- package/dist/jobs/common.schemas.d.ts +6 -0
- package/dist/jobs/common.schemas.d.ts.map +1 -0
- package/dist/jobs/common.schemas.js +41 -0
- package/dist/jobs/common.schemas.js.map +1 -0
- package/dist/jobs/cursors.d.ts +38 -0
- package/dist/jobs/cursors.d.ts.map +1 -1
- package/dist/jobs/cursors.js +50 -0
- package/dist/jobs/cursors.js.map +1 -1
- package/dist/jobs/handlers-mutations-cancel.d.ts +15 -0
- package/dist/jobs/handlers-mutations-cancel.d.ts.map +1 -0
- package/dist/jobs/handlers-mutations-cancel.js +49 -0
- package/dist/jobs/handlers-mutations-cancel.js.map +1 -0
- package/dist/jobs/handlers-mutations-retry.d.ts +14 -0
- package/dist/jobs/handlers-mutations-retry.d.ts.map +1 -0
- package/dist/jobs/handlers-mutations-retry.js +37 -0
- package/dist/jobs/handlers-mutations-retry.js.map +1 -0
- package/dist/jobs/handlers-mutations-trigger.d.ts +14 -0
- package/dist/jobs/handlers-mutations-trigger.d.ts.map +1 -0
- package/dist/jobs/handlers-mutations-trigger.js +33 -0
- package/dist/jobs/handlers-mutations-trigger.js.map +1 -0
- package/dist/jobs/handlers-mutations.d.ts +33 -0
- package/dist/jobs/handlers-mutations.d.ts.map +1 -1
- package/dist/jobs/handlers-mutations.js +53 -69
- package/dist/jobs/handlers-mutations.js.map +1 -1
- package/dist/jobs/handlers-mutations.types.d.ts +10 -0
- package/dist/jobs/handlers-mutations.types.d.ts.map +1 -0
- package/dist/jobs/handlers-mutations.types.js +2 -0
- package/dist/jobs/handlers-mutations.types.js.map +1 -0
- package/dist/jobs/handlers-read-get.d.ts +14 -0
- package/dist/jobs/handlers-read-get.d.ts.map +1 -0
- package/dist/jobs/handlers-read-get.js +33 -0
- package/dist/jobs/handlers-read-get.js.map +1 -0
- package/dist/jobs/handlers-read-list.d.ts +14 -0
- package/dist/jobs/handlers-read-list.d.ts.map +1 -0
- package/dist/jobs/handlers-read-list.js +42 -0
- package/dist/jobs/handlers-read-list.js.map +1 -0
- package/dist/jobs/handlers-read-watch.d.ts +15 -0
- package/dist/jobs/handlers-read-watch.d.ts.map +1 -0
- package/dist/jobs/handlers-read-watch.js +39 -0
- package/dist/jobs/handlers-read-watch.js.map +1 -0
- package/dist/jobs/handlers-read.d.ts +33 -0
- package/dist/jobs/handlers-read.d.ts.map +1 -1
- package/dist/jobs/handlers-read.js +53 -66
- package/dist/jobs/handlers-read.js.map +1 -1
- package/dist/jobs/handlers-read.types.d.ts +10 -0
- package/dist/jobs/handlers-read.types.d.ts.map +1 -0
- package/dist/jobs/handlers-read.types.js +2 -0
- package/dist/jobs/handlers-read.types.js.map +1 -0
- package/dist/jobs/handlers-stream.d.ts +28 -0
- package/dist/jobs/handlers-stream.d.ts.map +1 -1
- package/dist/jobs/handlers-stream.js +77 -31
- package/dist/jobs/handlers-stream.js.map +1 -1
- package/dist/jobs/handlers-validation.d.ts +16 -0
- package/dist/jobs/handlers-validation.d.ts.map +1 -1
- package/dist/jobs/handlers-validation.js +21 -0
- package/dist/jobs/handlers-validation.js.map +1 -1
- package/dist/jobs/projection-stream.d.ts +11 -0
- package/dist/jobs/projection-stream.d.ts.map +1 -1
- package/dist/jobs/projection-stream.js +37 -0
- package/dist/jobs/projection-stream.js.map +1 -1
- package/dist/jobs/projection-validation.d.ts +12 -0
- package/dist/jobs/projection-validation.d.ts.map +1 -1
- package/dist/jobs/projection-validation.js +44 -0
- package/dist/jobs/projection-validation.js.map +1 -1
- package/dist/jobs/projection.d.ts +29 -0
- package/dist/jobs/projection.d.ts.map +1 -1
- package/dist/jobs/projection.js +34 -1
- package/dist/jobs/projection.js.map +1 -1
- package/dist/jobs/rpc.d.ts +4 -0
- package/dist/jobs/rpc.d.ts.map +1 -1
- package/dist/jobs/rpc.js +51 -1
- package/dist/jobs/rpc.js.map +1 -1
- package/dist/jobs/runtime.types.d.ts +49 -0
- package/dist/jobs/runtime.types.d.ts.map +1 -0
- package/dist/jobs/runtime.types.js +2 -0
- package/dist/jobs/runtime.types.js.map +1 -0
- package/dist/jobs/support-lookups.d.ts +20 -0
- package/dist/jobs/support-lookups.d.ts.map +1 -0
- package/dist/jobs/support-lookups.js +34 -0
- package/dist/jobs/support-lookups.js.map +1 -0
- package/dist/jobs/support.d.ts +56 -1
- package/dist/jobs/support.d.ts.map +1 -1
- package/dist/jobs/support.js +61 -20
- package/dist/jobs/support.js.map +1 -1
- package/dist/jobs/types.d.ts +17 -42
- package/dist/jobs/types.d.ts.map +1 -1
- package/dist/jobs/types.js +20 -0
- package/dist/jobs/types.js.map +1 -1
- package/dist/manifest-validation.d.ts +12 -1
- package/dist/manifest-validation.d.ts.map +1 -1
- package/dist/manifest-validation.js +17 -0
- package/dist/manifest-validation.js.map +1 -1
- package/dist/manifest-validation.types.d.ts +3 -0
- package/dist/manifest-validation.types.d.ts.map +1 -0
- package/dist/manifest-validation.types.js +2 -0
- package/dist/manifest-validation.types.js.map +1 -0
- package/dist/materialize-routes-utils.d.ts +41 -1
- package/dist/materialize-routes-utils.d.ts.map +1 -1
- package/dist/materialize-routes-utils.js +80 -22
- package/dist/materialize-routes-utils.js.map +1 -1
- package/dist/materialize-routes-validation.d.ts +4 -0
- package/dist/materialize-routes-validation.d.ts.map +1 -1
- package/dist/materialize-routes-validation.js +5 -1
- package/dist/materialize-routes-validation.js.map +1 -1
- package/dist/materialize-routes.d.ts +9 -100
- package/dist/materialize-routes.d.ts.map +1 -1
- package/dist/materialize-routes.js +24 -9
- package/dist/materialize-routes.js.map +1 -1
- package/dist/materialize-routes.types.d.ts +110 -0
- package/dist/materialize-routes.types.d.ts.map +1 -0
- package/dist/materialize-routes.types.js +2 -0
- package/dist/materialize-routes.types.js.map +1 -0
- package/dist/mcp.d.ts +39 -4
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +56 -10
- package/dist/mcp.js.map +1 -1
- package/dist/mcp.types.d.ts +15 -0
- package/dist/mcp.types.d.ts.map +1 -0
- package/dist/mcp.types.js +2 -0
- package/dist/mcp.types.js.map +1 -0
- package/dist/middleware-limits.d.ts +4 -0
- package/dist/middleware-limits.d.ts.map +1 -1
- package/dist/middleware-limits.js +16 -7
- package/dist/middleware-limits.js.map +1 -1
- package/dist/middleware-utils.d.ts +62 -53
- package/dist/middleware-utils.d.ts.map +1 -1
- package/dist/middleware-utils.js +72 -1
- package/dist/middleware-utils.js.map +1 -1
- package/dist/middleware-utils.types.d.ts +59 -0
- package/dist/middleware-utils.types.d.ts.map +1 -0
- package/dist/middleware-utils.types.js +2 -0
- package/dist/middleware-utils.types.js.map +1 -0
- package/dist/middleware.d.ts +19 -7
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +28 -6
- package/dist/middleware.js.map +1 -1
- package/dist/middleware.types.d.ts +10 -0
- package/dist/middleware.types.d.ts.map +1 -0
- package/dist/middleware.types.js +2 -0
- package/dist/middleware.types.js.map +1 -0
- package/dist/native-stream.d.ts +18 -1
- package/dist/native-stream.d.ts.map +1 -1
- package/dist/native-stream.js +55 -4
- package/dist/native-stream.js.map +1 -1
- package/dist/native-stream.schemas.d.ts +6 -0
- package/dist/native-stream.schemas.d.ts.map +1 -0
- package/dist/native-stream.schemas.js +6 -0
- package/dist/native-stream.schemas.js.map +1 -0
- package/dist/native-stream.types.d.ts +4 -0
- package/dist/native-stream.types.d.ts.map +1 -0
- package/dist/native-stream.types.js +2 -0
- package/dist/native-stream.types.js.map +1 -0
- package/dist/rate-limit-store.d.ts +37 -11
- package/dist/rate-limit-store.d.ts.map +1 -1
- package/dist/rate-limit-store.js +108 -43
- package/dist/rate-limit-store.js.map +1 -1
- package/dist/rate-limit-store.types.d.ts +18 -0
- package/dist/rate-limit-store.types.d.ts.map +1 -0
- package/dist/rate-limit-store.types.js +2 -0
- package/dist/rate-limit-store.types.js.map +1 -0
- package/dist/rate-limit-telemetry.d.ts +9 -0
- package/dist/rate-limit-telemetry.d.ts.map +1 -1
- package/dist/rate-limit-telemetry.js +9 -0
- package/dist/rate-limit-telemetry.js.map +1 -1
- package/dist/rate-limit.d.ts +8 -7
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/rate-limit.js +42 -0
- package/dist/rate-limit.js.map +1 -1
- package/dist/rate-limit.types.d.ts +9 -0
- package/dist/rate-limit.types.d.ts.map +1 -0
- package/dist/rate-limit.types.js +2 -0
- package/dist/rate-limit.types.js.map +1 -0
- package/dist/realtime-observation.d.ts +40 -0
- package/dist/realtime-observation.d.ts.map +1 -0
- package/dist/realtime-observation.js +147 -0
- package/dist/realtime-observation.js.map +1 -0
- package/dist/realtime-observation.types.d.ts +20 -0
- package/dist/realtime-observation.types.d.ts.map +1 -0
- package/dist/realtime-observation.types.js +2 -0
- package/dist/realtime-observation.types.js.map +1 -0
- package/dist/realtime-presence.d.ts +13 -0
- package/dist/realtime-presence.d.ts.map +1 -0
- package/dist/realtime-presence.js +24 -0
- package/dist/realtime-presence.js.map +1 -0
- package/dist/realtime-rpc-support.d.ts +15 -8
- package/dist/realtime-rpc-support.d.ts.map +1 -1
- package/dist/realtime-rpc-support.js +25 -5
- package/dist/realtime-rpc-support.js.map +1 -1
- package/dist/realtime-rpc-support.types.d.ts +9 -0
- package/dist/realtime-rpc-support.types.d.ts.map +1 -0
- package/dist/realtime-rpc-support.types.js +2 -0
- package/dist/realtime-rpc-support.types.js.map +1 -0
- package/dist/realtime-rpc.d.ts +4 -0
- package/dist/realtime-rpc.d.ts.map +1 -1
- package/dist/realtime-rpc.js +9 -124
- package/dist/realtime-rpc.js.map +1 -1
- package/dist/realtime-runtime.d.ts +1 -12
- package/dist/realtime-runtime.d.ts.map +1 -1
- package/dist/realtime-runtime.types.d.ts +14 -0
- package/dist/realtime-runtime.types.d.ts.map +1 -0
- package/dist/realtime-runtime.types.js +2 -0
- package/dist/realtime-runtime.types.js.map +1 -0
- package/dist/request-body-service.d.ts +23 -0
- package/dist/request-body-service.d.ts.map +1 -0
- package/dist/request-body-service.js +80 -0
- package/dist/request-body-service.js.map +1 -0
- package/dist/request-body-service.types.d.ts +7 -0
- package/dist/request-body-service.types.d.ts.map +1 -0
- package/dist/request-body-service.types.js +2 -0
- package/dist/request-body-service.types.js.map +1 -0
- package/dist/request-context.d.ts +5 -0
- package/dist/request-context.d.ts.map +1 -1
- package/dist/request-context.js +34 -0
- package/dist/request-context.js.map +1 -1
- package/dist/request-inference.d.ts +11 -0
- package/dist/request-inference.d.ts.map +1 -1
- package/dist/request-inference.js +33 -0
- package/dist/request-inference.js.map +1 -1
- package/dist/request-mapping-body.d.ts +10 -23
- package/dist/request-mapping-body.d.ts.map +1 -1
- package/dist/request-mapping-body.js +36 -30
- package/dist/request-mapping-body.js.map +1 -1
- package/dist/request-mapping-body.schemas.d.ts +9 -0
- package/dist/request-mapping-body.schemas.d.ts.map +1 -0
- package/dist/request-mapping-body.schemas.js +11 -0
- package/dist/request-mapping-body.schemas.js.map +1 -0
- package/dist/request-mapping-body.types.d.ts +31 -0
- package/dist/request-mapping-body.types.d.ts.map +1 -0
- package/dist/request-mapping-body.types.js +2 -0
- package/dist/request-mapping-body.types.js.map +1 -0
- package/dist/request-mapping-fields.d.ts +35 -0
- package/dist/request-mapping-fields.d.ts.map +1 -1
- package/dist/request-mapping-fields.js +48 -0
- package/dist/request-mapping-fields.js.map +1 -1
- package/dist/request-mapping-object.d.ts +22 -12
- package/dist/request-mapping-object.d.ts.map +1 -1
- package/dist/request-mapping-object.js +34 -4
- package/dist/request-mapping-object.js.map +1 -1
- package/dist/request-mapping-object.types.d.ts +19 -0
- package/dist/request-mapping-object.types.d.ts.map +1 -0
- package/dist/request-mapping-object.types.js +2 -0
- package/dist/request-mapping-object.types.js.map +1 -0
- package/dist/request-mapping-sources.d.ts +28 -1
- package/dist/request-mapping-sources.d.ts.map +1 -1
- package/dist/request-mapping-sources.js +27 -0
- package/dist/request-mapping-sources.js.map +1 -1
- package/dist/request-mapping-transform.d.ts +8 -0
- package/dist/request-mapping-transform.d.ts.map +1 -1
- package/dist/request-mapping-transform.js +20 -0
- package/dist/request-mapping-transform.js.map +1 -1
- package/dist/request-mapping.d.ts +31 -29
- package/dist/request-mapping.d.ts.map +1 -1
- package/dist/request-mapping.js +55 -15
- package/dist/request-mapping.js.map +1 -1
- package/dist/request-mapping.types.d.ts +38 -0
- package/dist/request-mapping.types.d.ts.map +1 -0
- package/dist/request-mapping.types.js +2 -0
- package/dist/request-mapping.types.js.map +1 -0
- package/dist/request-record-middleware.d.ts +14 -1
- package/dist/request-record-middleware.d.ts.map +1 -1
- package/dist/request-record-middleware.js +22 -0
- package/dist/request-record-middleware.js.map +1 -1
- package/dist/request-record-utils.d.ts +25 -2
- package/dist/request-record-utils.d.ts.map +1 -1
- package/dist/request-record-utils.js +27 -2
- package/dist/request-record-utils.js.map +1 -1
- package/dist/response-mapping-provider.d.ts +9 -0
- package/dist/response-mapping-provider.d.ts.map +1 -0
- package/dist/response-mapping-provider.js +15 -0
- package/dist/response-mapping-provider.js.map +1 -0
- package/dist/response-mapping-utils.d.ts +46 -2
- package/dist/response-mapping-utils.d.ts.map +1 -1
- package/dist/response-mapping-utils.js +56 -0
- package/dist/response-mapping-utils.js.map +1 -1
- package/dist/response-mapping-utils.types.d.ts +5 -0
- package/dist/response-mapping-utils.types.d.ts.map +1 -0
- package/dist/response-mapping-utils.types.js +2 -0
- package/dist/response-mapping-utils.types.js.map +1 -0
- package/dist/response-mapping-validation.d.ts +13 -0
- package/dist/response-mapping-validation.d.ts.map +1 -0
- package/dist/response-mapping-validation.js +20 -0
- package/dist/response-mapping-validation.js.map +1 -0
- package/dist/response-mapping.d.ts +57 -8
- package/dist/response-mapping.d.ts.map +1 -1
- package/dist/response-mapping.js +114 -72
- package/dist/response-mapping.js.map +1 -1
- package/dist/response-mapping.types.d.ts +11 -0
- package/dist/response-mapping.types.d.ts.map +1 -0
- package/dist/response-mapping.types.js +2 -0
- package/dist/response-mapping.types.js.map +1 -0
- package/dist/route-middleware.d.ts +5 -0
- package/dist/route-middleware.d.ts.map +1 -1
- package/dist/route-middleware.js +29 -5
- package/dist/route-middleware.js.map +1 -1
- package/dist/rpc-identity.d.ts +13 -6
- package/dist/rpc-identity.d.ts.map +1 -1
- package/dist/rpc-identity.js +11 -0
- package/dist/rpc-identity.js.map +1 -1
- package/dist/rpc-identity.types.d.ts +9 -0
- package/dist/rpc-identity.types.d.ts.map +1 -0
- package/dist/rpc-identity.types.js +2 -0
- package/dist/rpc-identity.types.js.map +1 -0
- package/dist/rpc-middleware-trace.d.ts +14 -0
- package/dist/rpc-middleware-trace.d.ts.map +1 -1
- package/dist/rpc-middleware-trace.js +20 -4
- package/dist/rpc-middleware-trace.js.map +1 -1
- package/dist/rpc-response.d.ts +12 -0
- package/dist/rpc-response.d.ts.map +1 -1
- package/dist/rpc-response.js +12 -0
- package/dist/rpc-response.js.map +1 -1
- package/dist/rpc-route-types.d.ts +26 -1
- package/dist/rpc-route-types.d.ts.map +1 -1
- package/dist/rpc-route-types.js +37 -0
- package/dist/rpc-route-types.js.map +1 -1
- package/dist/rpc-websocket.d.ts +6 -1
- package/dist/rpc-websocket.d.ts.map +1 -1
- package/dist/rpc-websocket.js +20 -1
- package/dist/rpc-websocket.js.map +1 -1
- package/dist/rpc.d.ts +11 -3
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +43 -6
- package/dist/rpc.js.map +1 -1
- package/dist/rpc.types.d.ts +5 -0
- package/dist/rpc.types.d.ts.map +1 -0
- package/dist/rpc.types.js +2 -0
- package/dist/rpc.types.js.map +1 -0
- package/dist/static-file-service.d.ts +22 -0
- package/dist/static-file-service.d.ts.map +1 -0
- package/dist/static-file-service.js +43 -0
- package/dist/static-file-service.js.map +1 -0
- package/dist/static-files.d.ts +7 -3
- package/dist/static-files.d.ts.map +1 -1
- package/dist/static-files.js +32 -19
- package/dist/static-files.js.map +1 -1
- package/dist/static-files.types.d.ts +5 -0
- package/dist/static-files.types.d.ts.map +1 -0
- package/dist/static-files.types.js +2 -0
- package/dist/static-files.types.js.map +1 -0
- package/dist/transport-security-errors.d.ts +10 -0
- package/dist/transport-security-errors.d.ts.map +1 -0
- package/dist/transport-security-errors.js +14 -0
- package/dist/transport-security-errors.js.map +1 -0
- package/dist/transport-security.d.ts +49 -13
- package/dist/transport-security.d.ts.map +1 -1
- package/dist/transport-security.js +86 -15
- package/dist/transport-security.js.map +1 -1
- package/dist/transport-security.types.d.ts +11 -0
- package/dist/transport-security.types.d.ts.map +1 -0
- package/dist/transport-security.types.js +2 -0
- package/dist/transport-security.types.js.map +1 -0
- package/package.json +19 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../src/agent-runtime.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AgentStateProvider } from "@relkit/agents";
|
|
2
|
+
import type { MaybePromise } from "@relkit/contracts";
|
|
3
|
+
import type { HttpAuthInvocation } from "./auth.js";
|
|
4
|
+
/** Contract for agent runtime used by agent runtime. */
|
|
5
|
+
export interface AgentRuntime {
|
|
6
|
+
readonly applicationId: string;
|
|
7
|
+
readonly environment: string;
|
|
8
|
+
readonly generationId: string;
|
|
9
|
+
readonly publicFingerprint: string;
|
|
10
|
+
readonly signal?: AbortSignal;
|
|
11
|
+
readonly track?: (task: Promise<void>) => void;
|
|
12
|
+
readonly provider: (profile: string) => MaybePromise<AgentStateProvider>;
|
|
13
|
+
readonly trustedContext?: (input: {
|
|
14
|
+
readonly request: Request;
|
|
15
|
+
readonly auth?: HttpAuthInvocation;
|
|
16
|
+
}) => MaybePromise<unknown>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=agent-runtime.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-runtime.types.d.ts","sourceRoot":"","sources":["../src/agent-runtime.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;KACpC,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-runtime.types.js","sourceRoot":"","sources":["../src/agent-runtime.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { HttpBoundaryError } from "./http-effect.js";
|
|
3
|
+
import type { ResolvedAgent } from "./agent-content-sink.types.js";
|
|
4
|
+
import type { ToolPartState } from "@relkit/agents";
|
|
5
|
+
import type { ActiveAgentExecution } from "./agent-active-execution.js";
|
|
6
|
+
/** Allocates tool-message replay state for one run, retaining the original part and creation identifiers.
|
|
7
|
+
* @param resolved - Authorized provider and durable scope.
|
|
8
|
+
* @param active - Current execution claim and continuation receipt.
|
|
9
|
+
* @returns A lazy tool-journal operation owning incremental part state.
|
|
10
|
+
*/
|
|
11
|
+
export declare function makeAgentToolContent(resolved: ResolvedAgent, active: ActiveAgentExecution): (value: {
|
|
12
|
+
toolCallId: string;
|
|
13
|
+
toolId: string;
|
|
14
|
+
state: ToolPartState;
|
|
15
|
+
value?: unknown;
|
|
16
|
+
}, signal: AbortSignal) => Effect.Effect<undefined, HttpBoundaryError, never>;
|
|
17
|
+
//# sourceMappingURL=agent-tool-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-tool-content.d.ts","sourceRoot":"","sources":["../src/agent-tool-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAgB,iBAAiB,EAAe,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAKxE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;gBAkB/D,MAAM;YAAU,MAAM;WAAS,aAAa;YAAU,OAAO;8EAuDvF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { httpBoundary, HttpBoundaryError, observeHttp } from "./http-effect.js";
|
|
3
|
+
import { agentLimits, digest, encodedBytes } from "./agent-rpc-support.js";
|
|
4
|
+
import { createOperationId } from "@relkit/realtime";
|
|
5
|
+
/** Allocates tool-message replay state for one run, retaining the original part and creation identifiers.
|
|
6
|
+
* @param resolved - Authorized provider and durable scope.
|
|
7
|
+
* @param active - Current execution claim and continuation receipt.
|
|
8
|
+
* @returns A lazy tool-journal operation owning incremental part state.
|
|
9
|
+
*/
|
|
10
|
+
export function makeAgentToolContent(resolved, active) {
|
|
11
|
+
const toolParts = new Map();
|
|
12
|
+
const toolCreatedAt = new Map();
|
|
13
|
+
return Effect.fn("AgentContent.emitTool")(function* (value, signal) {
|
|
14
|
+
if (signal.aborted)
|
|
15
|
+
return yield* Effect.fail(new HttpBoundaryError({ operation: "agent.content.emitTool", cause: signal.reason }));
|
|
16
|
+
const toolMessageId = `${active.receipt.runId}:tool:${value.toolCallId}`;
|
|
17
|
+
const prior = toolParts.get(value.toolCallId);
|
|
18
|
+
const part = {
|
|
19
|
+
...(prior ?? {
|
|
20
|
+
partId: `${toolMessageId}:state`,
|
|
21
|
+
kind: "tool",
|
|
22
|
+
toolCallId: value.toolCallId,
|
|
23
|
+
toolId: value.toolId,
|
|
24
|
+
}),
|
|
25
|
+
state: value.state,
|
|
26
|
+
...(value.state === "input-streaming" && typeof value.value === "string"
|
|
27
|
+
? { inputText: value.value }
|
|
28
|
+
: {}),
|
|
29
|
+
...(value.state === "input-ready" ? { input: value.value } : {}),
|
|
30
|
+
...(value.state === "succeeded" ? { output: value.value } : {}),
|
|
31
|
+
};
|
|
32
|
+
toolParts.set(value.toolCallId, part);
|
|
33
|
+
const createdAt = toolCreatedAt.get(value.toolCallId) ?? new Date().toISOString();
|
|
34
|
+
toolCreatedAt.set(value.toolCallId, createdAt);
|
|
35
|
+
const message = {
|
|
36
|
+
messageId: toolMessageId,
|
|
37
|
+
runId: active.receipt.runId,
|
|
38
|
+
role: "tool",
|
|
39
|
+
parts: [part],
|
|
40
|
+
createdAt,
|
|
41
|
+
};
|
|
42
|
+
yield* httpBoundary("agent.content.emitTool", () => resolved.provider.appendJournal({
|
|
43
|
+
...resolved.scope,
|
|
44
|
+
threadId: active.receipt.threadId,
|
|
45
|
+
runId: active.receipt.runId,
|
|
46
|
+
claim: active.claim,
|
|
47
|
+
operationId: createOperationId(),
|
|
48
|
+
semanticDigest: digest(message),
|
|
49
|
+
record: {
|
|
50
|
+
recordId: crypto.randomUUID(),
|
|
51
|
+
runId: active.receipt.runId,
|
|
52
|
+
kind: "message",
|
|
53
|
+
publicValue: message,
|
|
54
|
+
encodedBytes: encodedBytes(message),
|
|
55
|
+
createdAt: message.createdAt,
|
|
56
|
+
},
|
|
57
|
+
limits: agentLimits,
|
|
58
|
+
}));
|
|
59
|
+
}, (effect) => observeHttp("agent.content.emitTool", effect));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=agent-tool-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-tool-content.js","sourceRoot":"","sources":["../src/agent-tool-content.ts"],"names":[],"mappings":"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"}
|
package/dist/api-docs.d.ts
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
import { type JsonValue } from "@relkit/contracts";
|
|
2
1
|
import type { RegistrationPlan } from "@relkit/graph";
|
|
3
|
-
import { type OpenApiDocument } from "@relkit/openapi";
|
|
4
2
|
import type { Hono } from "hono";
|
|
5
|
-
import type {
|
|
3
|
+
import type { ApiDocsOptions } from "./api-docs.types.js";
|
|
4
|
+
export type { ApiDocsOptions } from "./api-docs.types.js";
|
|
6
5
|
export declare const OPENAPI_PATH: "/_relkit/v1/openapi.json";
|
|
7
6
|
export declare const API_REFERENCE_PATH: "/_relkit/v1/api-reference";
|
|
8
|
-
export interface ApiDocsOptions {
|
|
9
|
-
readonly mode?: InternalEndpointMode;
|
|
10
|
-
readonly enabled?: boolean;
|
|
11
|
-
readonly enabledInProduction?: boolean;
|
|
12
|
-
readonly excludeDomains?: readonly string[];
|
|
13
|
-
readonly bearerToken?: string;
|
|
14
|
-
readonly authorize?: InternalEndpointOptions["authorize"];
|
|
15
|
-
readonly document?: OpenApiDocument | JsonValue;
|
|
16
|
-
}
|
|
17
7
|
export declare class ApiDocsConfigurationError extends TypeError {
|
|
18
8
|
constructor(message: string);
|
|
19
9
|
}
|
|
20
|
-
/** Installs the active OpenAPI document and the sole bundled Scalar reference UI.
|
|
10
|
+
/** Installs the active OpenAPI document and the sole bundled Scalar reference UI.
|
|
11
|
+
* @param app - Hono application receiving the configured endpoints or middleware.
|
|
12
|
+
* @param plan - Validated application registration plan.
|
|
13
|
+
* @param options - Application dependencies and configuration for this domain.
|
|
14
|
+
* @returns Nothing; registers the document and reference UI only when exposure is enabled.
|
|
15
|
+
*/
|
|
21
16
|
export declare function installApiDocs(app: Hono, plan: RegistrationPlan, options?: ApiDocsOptions): void;
|
|
22
17
|
//# sourceMappingURL=api-docs.d.ts.map
|
package/dist/api-docs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-docs.d.ts","sourceRoot":"","sources":["../src/api-docs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-docs.d.ts","sourceRoot":"","sources":["../src/api-docs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGxE,OAAO,KAAK,EAAW,IAAI,EAAQ,MAAM,MAAM,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,eAAO,MAAM,YAAY,4BAA2C,CAAC;AACrE,eAAO,MAAM,kBAAkB,6BAA4C,CAAC;AAE5E,qBAAa,yBAA0B,SAAQ,SAAS;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,cAAmB,GAC3B,IAAI,CAqDN"}
|
package/dist/api-docs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Scalar } from "@scalar/hono-api-reference";
|
|
2
1
|
import { API_BASE_PATH, API_VERSION, CONTRACT_VERSION, canonicalJson, } from "@relkit/contracts";
|
|
3
2
|
import { generateOpenApi } from "@relkit/openapi";
|
|
3
|
+
import { Scalar } from "@scalar/hono-api-reference";
|
|
4
4
|
import { isAuthorized, jsonResponse } from "./internal-endpoints-utils.js";
|
|
5
5
|
export const OPENAPI_PATH = `${API_BASE_PATH}/openapi.json`;
|
|
6
6
|
export const API_REFERENCE_PATH = `${API_BASE_PATH}/api-reference`;
|
|
@@ -10,7 +10,12 @@ export class ApiDocsConfigurationError extends TypeError {
|
|
|
10
10
|
this.name = "ApiDocsConfigurationError";
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
/** Installs the active OpenAPI document and the sole bundled Scalar reference UI.
|
|
13
|
+
/** Installs the active OpenAPI document and the sole bundled Scalar reference UI.
|
|
14
|
+
* @param app - Hono application receiving the configured endpoints or middleware.
|
|
15
|
+
* @param plan - Validated application registration plan.
|
|
16
|
+
* @param options - Application dependencies and configuration for this domain.
|
|
17
|
+
* @returns Nothing; registers the document and reference UI only when exposure is enabled.
|
|
18
|
+
*/
|
|
14
19
|
export function installApiDocs(app, plan, options = {}) {
|
|
15
20
|
const mode = options.mode ?? "development";
|
|
16
21
|
const enabled = mode === "production" ? options.enabledInProduction === true : options.enabled !== false;
|
|
@@ -24,6 +29,10 @@ export function installApiDocs(app, plan, options = {}) {
|
|
|
24
29
|
...(embed ? { content: canonicalJson(document) } : { url: "./openapi.json" }),
|
|
25
30
|
pageTitle: "RELKIT API Reference",
|
|
26
31
|
});
|
|
32
|
+
/** Require the configured inspector authorization before serving API documentation.
|
|
33
|
+
* @param handler - Document or reference-UI handler to run after authorization.
|
|
34
|
+
* @returns A handler yielding the protected response or a bearer-authentication challenge.
|
|
35
|
+
*/
|
|
27
36
|
const protect = (handler) => async (context, next) => {
|
|
28
37
|
if (!(await isAuthorized(context.req.raw, auth))) {
|
|
29
38
|
return jsonResponse({ error: "internal-endpoint-protected" }, 401, {
|
|
@@ -49,6 +58,10 @@ export function installApiDocs(app, plan, options = {}) {
|
|
|
49
58
|
});
|
|
50
59
|
}));
|
|
51
60
|
}
|
|
61
|
+
/** Builds the OpenAPI document from the registered application graph.
|
|
62
|
+
* @param plan - Validated application registration plan.
|
|
63
|
+
* @returns The generated OpenAPI document for valid function targets and raw routes.
|
|
64
|
+
*/
|
|
52
65
|
function documentFrom(plan) {
|
|
53
66
|
const functions = new Set(plan.functions.map(({ id }) => id));
|
|
54
67
|
return generateOpenApi({
|
|
@@ -61,12 +74,22 @@ function documentFrom(plan) {
|
|
|
61
74
|
edges: [],
|
|
62
75
|
});
|
|
63
76
|
}
|
|
77
|
+
/** Selects the configured API-document authorization policy.
|
|
78
|
+
* @param options - Application dependencies and configuration for this domain.
|
|
79
|
+
* @returns The API-document bearer token and authorization callback in inspector option form.
|
|
80
|
+
*/
|
|
64
81
|
function authorization(options) {
|
|
65
82
|
return {
|
|
66
83
|
...(options.bearerToken === undefined ? {} : { bearerToken: options.bearerToken }),
|
|
67
84
|
...(options.authorize === undefined ? {} : { authorize: options.authorize }),
|
|
68
85
|
};
|
|
69
86
|
}
|
|
87
|
+
/** Checks API-document exposure configuration before routes are installed.
|
|
88
|
+
* @param mode - Configured runtime exposure or response-validation mode.
|
|
89
|
+
* @param enabled - Whether the feature is enabled by application configuration.
|
|
90
|
+
* @param options - Application dependencies and configuration for this domain.
|
|
91
|
+
* @returns Nothing for a valid exposure policy; invalid production protection or mode throws.
|
|
92
|
+
*/
|
|
70
93
|
function validate(mode, enabled, options) {
|
|
71
94
|
if (!(mode === "development" || mode === "test" || mode === "production")) {
|
|
72
95
|
throw new ApiDocsConfigurationError("mode must be development, test, or production.");
|
|
@@ -81,6 +104,10 @@ function validate(mode, enabled, options) {
|
|
|
81
104
|
throw new ApiDocsConfigurationError("bearerToken must not be empty.");
|
|
82
105
|
}
|
|
83
106
|
}
|
|
107
|
+
/** Builds response headers for the selected API-document representation.
|
|
108
|
+
* @param contentType - Media type advertised by the resulting response.
|
|
109
|
+
* @returns No-store headers containing the selected content type and RELKIT API version.
|
|
110
|
+
*/
|
|
84
111
|
function responseHeaders(contentType) {
|
|
85
112
|
return {
|
|
86
113
|
"cache-control": "no-store",
|
|
@@ -88,6 +115,11 @@ function responseHeaders(contentType) {
|
|
|
88
115
|
"x-relkit-api-version": String(API_VERSION),
|
|
89
116
|
};
|
|
90
117
|
}
|
|
118
|
+
/** Removes excluded service domains from the generated API document.
|
|
119
|
+
* @param document - Generated API document to project for public exposure.
|
|
120
|
+
* @param excluded - Service domains excluded from the published API document.
|
|
121
|
+
* @returns The document with excluded service operations and unused tags removed.
|
|
122
|
+
*/
|
|
91
123
|
function filterDomains(document, excluded = []) {
|
|
92
124
|
if (excluded.length === 0 || !isRecord(document) || !isRecord(document.paths))
|
|
93
125
|
return document;
|
|
@@ -122,6 +154,10 @@ function filterDomains(document, excluded = []) {
|
|
|
122
154
|
: {}),
|
|
123
155
|
};
|
|
124
156
|
}
|
|
157
|
+
/** Recognizes a non-null object before reading its named properties.
|
|
158
|
+
* @param value - Value inspected, validated or projected by this operation.
|
|
159
|
+
* @returns Whether the inspected value satisfies the declared type guard.
|
|
160
|
+
*/
|
|
125
161
|
function isRecord(value) {
|
|
126
162
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
127
163
|
}
|
package/dist/api-docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-docs.js","sourceRoot":"","sources":["../src/api-docs.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"api-docs.js","sourceRoot":"","sources":["../src/api-docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { JsonValue } from "@relkit/contracts";
|
|
2
|
+
import type { OpenApiDocument } from "@relkit/openapi";
|
|
3
|
+
import type { InternalEndpointMode, InternalEndpointOptions } from "./internal-endpoints.js";
|
|
4
|
+
/** api docs options configuring dependencies, callbacks and runtime policy. */
|
|
5
|
+
export interface ApiDocsOptions {
|
|
6
|
+
readonly mode?: InternalEndpointMode;
|
|
7
|
+
readonly enabled?: boolean;
|
|
8
|
+
readonly enabledInProduction?: boolean;
|
|
9
|
+
readonly excludeDomains?: readonly string[];
|
|
10
|
+
readonly bearerToken?: string;
|
|
11
|
+
readonly authorize?: InternalEndpointOptions["authorize"];
|
|
12
|
+
readonly document?: OpenApiDocument | JsonValue;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=api-docs.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-docs.types.d.ts","sourceRoot":"","sources":["../src/api-docs.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-docs.types.js","sourceRoot":"","sources":["../src/api-docs.types.ts"],"names":[],"mappings":""}
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,20 +1,31 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
1
2
|
import type { Hono } from "hono";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
export interface CreateHttpAuthRuntimeOptions {
|
|
14
|
-
readonly protected: readonly string[];
|
|
15
|
-
readonly publicPaths: readonly string[];
|
|
16
|
-
readonly getSession: (headers: Headers) => Promise<unknown | null>;
|
|
3
|
+
import type { CreateHttpAuthRuntimeOptions, HttpAuthRuntime } from "./auth.types.js";
|
|
4
|
+
import { HttpBoundaryError } from "./http-effect.js";
|
|
5
|
+
export type { CreateHttpAuthRuntimeOptions, HttpAuthInvocation, HttpAuthRuntime, } from "./auth.types.js";
|
|
6
|
+
declare const HttpSession_base: Context.ServiceClass<HttpSession, "@relkit/runtime-hono/HttpSession", {
|
|
7
|
+
readonly get: (fresh: boolean) => Effect.Effect<unknown | null, HttpBoundaryError>;
|
|
8
|
+
}>;
|
|
9
|
+
/** One request's lazily memoized authentication session.
|
|
10
|
+
* @see tests/request-services.test.ts for checked concurrent lookup and explicit refresh.
|
|
11
|
+
*/
|
|
12
|
+
export declare class HttpSession extends HttpSession_base {
|
|
17
13
|
}
|
|
14
|
+
/** Captures request headers once and shares each lookup among concurrent readers.
|
|
15
|
+
* @param headers - Native or protocol headers available to this request.
|
|
16
|
+
* @param lookup - Foreign session lookup callback retained by the request-owned cache.
|
|
17
|
+
* @returns A layer sharing one lazy session lookup until an explicit refresh.
|
|
18
|
+
*/
|
|
19
|
+
export declare function httpSessionLayer(headers: Headers, lookup: CreateHttpAuthRuntimeOptions["getSession"]): Layer.Layer<HttpSession, never, never>;
|
|
20
|
+
/** Creates request-scoped authentication contexts and shared session lookup state.
|
|
21
|
+
* @param options - Application dependencies and configuration for this domain.
|
|
22
|
+
* @returns A frozen auth runtime with path policy and stable per-request session contexts.
|
|
23
|
+
*/
|
|
18
24
|
export declare function createHttpAuthRuntime(options: CreateHttpAuthRuntimeOptions): HttpAuthRuntime;
|
|
25
|
+
/** Registers configured authentication middleware on its declared paths.
|
|
26
|
+
* @param app - Hono application receiving the configured endpoints or middleware.
|
|
27
|
+
* @param auth - Optional request authentication context or middleware configuration.
|
|
28
|
+
* @returns Nothing; the declared authentication routes are installed.
|
|
29
|
+
*/
|
|
19
30
|
export declare function registerAuthMiddleware(app: Hono, auth: HttpAuthRuntime | undefined): void;
|
|
20
31
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EACV,4BAA4B,EAE5B,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAgB,iBAAiB,EAAwB,MAAM,kBAAkB,CAAC;AACzF,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,GAChB,MAAM,iBAAiB,CAAC;;kBAQP,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,iBAAiB,CAAC;;AANtF;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAKM;CAAG;AAE1C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,4BAA4B,CAAC,YAAY,CAAC,0CAgBnD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CA4B5F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAoBzF"}
|
package/dist/auth.js
CHANGED
|
@@ -1,19 +1,51 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import { httpBoundary, HttpBoundaryError, observeHttp, runHttp } from "./http-effect.js";
|
|
3
|
+
/** One request's lazily memoized authentication session.
|
|
4
|
+
* @see tests/request-services.test.ts for checked concurrent lookup and explicit refresh.
|
|
5
|
+
*/
|
|
6
|
+
export class HttpSession extends Context.Service()("@relkit/runtime-hono/HttpSession") {
|
|
7
|
+
}
|
|
8
|
+
/** Captures request headers once and shares each lookup among concurrent readers.
|
|
9
|
+
* @param headers - Native or protocol headers available to this request.
|
|
10
|
+
* @param lookup - Foreign session lookup callback retained by the request-owned cache.
|
|
11
|
+
* @returns A layer sharing one lazy session lookup until an explicit refresh.
|
|
12
|
+
*/
|
|
13
|
+
export function httpSessionLayer(headers, lookup) {
|
|
14
|
+
const load = httpBoundary("auth.session", () => lookup(headers));
|
|
15
|
+
// Memo allocation is synchronous; constructing the layer does not call user code.
|
|
16
|
+
let cached = Effect.runSync(Effect.cached(load));
|
|
17
|
+
return Layer.succeed(HttpSession, {
|
|
18
|
+
get: Effect.fn("HttpSession.get")((fresh) => observeHttp("auth.session", Effect.gen(function* () {
|
|
19
|
+
if (fresh)
|
|
20
|
+
cached = yield* Effect.cached(load);
|
|
21
|
+
return yield* cached;
|
|
22
|
+
}))),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/** Creates request-scoped authentication contexts and shared session lookup state.
|
|
26
|
+
* @param options - Application dependencies and configuration for this domain.
|
|
27
|
+
* @returns A frozen auth runtime with path policy and stable per-request session contexts.
|
|
28
|
+
*/
|
|
1
29
|
export function createHttpAuthRuntime(options) {
|
|
2
30
|
const contexts = new WeakMap();
|
|
3
31
|
return Object.freeze({
|
|
4
32
|
protected: Object.freeze([...options.protected]),
|
|
5
33
|
publicPaths: Object.freeze([...options.publicPaths]),
|
|
34
|
+
/** Returns the stable authentication context owned by one native request.
|
|
35
|
+
* @param request - Native request whose headers, body and cancellation signal define this operation.
|
|
36
|
+
* @returns The existing request context or a new context sharing a lazily cached session lookup.
|
|
37
|
+
*/
|
|
6
38
|
contextFor(request) {
|
|
7
39
|
const existing = contexts.get(request);
|
|
8
40
|
if (existing !== undefined)
|
|
9
41
|
return existing;
|
|
10
42
|
const headers = new Headers(request.headers);
|
|
11
|
-
|
|
43
|
+
const layer = httpSessionLayer(headers, options.getSession);
|
|
12
44
|
const context = Object.freeze({
|
|
13
45
|
getSession: (read = {}) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
46
|
+
return runHttp(Effect.gen(function* () {
|
|
47
|
+
return yield* (yield* HttpSession).get(read.fresh === true);
|
|
48
|
+
}).pipe(Effect.provide(layer)));
|
|
17
49
|
},
|
|
18
50
|
});
|
|
19
51
|
contexts.set(request, context);
|
|
@@ -22,6 +54,11 @@ export function createHttpAuthRuntime(options) {
|
|
|
22
54
|
protects: (path) => options.protected.some((pattern) => matches(pattern, path)),
|
|
23
55
|
});
|
|
24
56
|
}
|
|
57
|
+
/** Registers configured authentication middleware on its declared paths.
|
|
58
|
+
* @param app - Hono application receiving the configured endpoints or middleware.
|
|
59
|
+
* @param auth - Optional request authentication context or middleware configuration.
|
|
60
|
+
* @returns Nothing; the declared authentication routes are installed.
|
|
61
|
+
*/
|
|
25
62
|
export function registerAuthMiddleware(app, auth) {
|
|
26
63
|
if (auth === undefined)
|
|
27
64
|
return;
|
|
@@ -39,6 +76,11 @@ export function registerAuthMiddleware(app, auth) {
|
|
|
39
76
|
await next();
|
|
40
77
|
});
|
|
41
78
|
}
|
|
79
|
+
/** Checks whether an authentication middleware pattern applies to the request path.
|
|
80
|
+
* @param pattern - Declared middleware path pattern.
|
|
81
|
+
* @param path - Ordered validation path or confined resource path.
|
|
82
|
+
* @returns Whether the value satisfies the required public contract.
|
|
83
|
+
*/
|
|
42
84
|
function matches(pattern, path) {
|
|
43
85
|
if (pattern.endsWith("/*")) {
|
|
44
86
|
return path === pattern.slice(0, -2) || path.startsWith(pattern.slice(0, -1));
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Contract for http auth invocation used by auth. */
|
|
2
|
+
export interface HttpAuthInvocation {
|
|
3
|
+
readonly getSession: (options?: {
|
|
4
|
+
readonly fresh?: boolean;
|
|
5
|
+
}) => Promise<unknown | null>;
|
|
6
|
+
}
|
|
7
|
+
/** Contract for http auth runtime used by auth. */
|
|
8
|
+
export interface HttpAuthRuntime {
|
|
9
|
+
readonly protected: readonly string[];
|
|
10
|
+
readonly publicPaths: readonly string[];
|
|
11
|
+
readonly contextFor: (request: Request) => HttpAuthInvocation;
|
|
12
|
+
readonly protects: (path: string) => boolean;
|
|
13
|
+
}
|
|
14
|
+
/** create http auth runtime options configuring dependencies, callbacks and runtime policy. */
|
|
15
|
+
export interface CreateHttpAuthRuntimeOptions {
|
|
16
|
+
readonly protected: readonly string[];
|
|
17
|
+
readonly publicPaths: readonly string[];
|
|
18
|
+
readonly getSession: (headers: Headers) => Promise<unknown | null>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=auth.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../src/auth.types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1F;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C;AAED,+FAA+F;AAC/F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.types.js","sourceRoot":"","sources":["../src/auth.types.ts"],"names":[],"mappings":""}
|
|
@@ -1,2 +1,24 @@
|
|
|
1
|
+
import { Context, Effect, Layer, Schema } from "effect";
|
|
2
|
+
declare const ClientAuthorizationDenied_base: Schema.Class<ClientAuthorizationDenied, Schema.TaggedStruct<"ClientAuthorizationDenied", {
|
|
3
|
+
readonly resource: Schema.Literals<readonly ["agent", "channel"]>;
|
|
4
|
+
}>, import("effect/Cause").YieldableError>;
|
|
5
|
+
/** Concealed authorization failure; transport adapters choose the public error. */
|
|
6
|
+
export declare class ClientAuthorizationDenied extends ClientAuthorizationDenied_base {
|
|
7
|
+
}
|
|
8
|
+
declare const ClientAuthorization_base: Context.ServiceClass<ClientAuthorization, "@relkit/runtime-hono/ClientAuthorization", {
|
|
9
|
+
readonly require: (authorize: () => boolean | PromiseLike<boolean>, resource: "agent" | "channel", timeoutMs: number) => Effect.Effect<void, ClientAuthorizationDenied>;
|
|
10
|
+
}>;
|
|
11
|
+
/** Evaluates a fresh policy for every request or observation frame. */
|
|
12
|
+
export declare class ClientAuthorization extends ClientAuthorization_base {
|
|
13
|
+
}
|
|
14
|
+
/** Uses Effect's clock and interruption to bound user authorization callbacks. */
|
|
15
|
+
export declare const ClientAuthorizationLive: Layer.Layer<ClientAuthorization, never, never>;
|
|
16
|
+
/** Bounds an application authorization callback and returns a safe denial on rejection.
|
|
17
|
+
* @param authorize - authorize supplied by the caller.
|
|
18
|
+
* @param resource - Resource kind used to produce a safe authorization denial.
|
|
19
|
+
* @param timeoutMs - Maximum authorization or request duration in milliseconds.
|
|
20
|
+
* @returns A Promise resolving when authorized, otherwise rejecting with the concealed NOT_FOUND error.
|
|
21
|
+
*/
|
|
1
22
|
export declare function requireClientAuthorization(authorize: () => boolean | PromiseLike<boolean>, resource: "agent" | "channel", timeoutMs?: number): Promise<void>;
|
|
23
|
+
export {};
|
|
2
24
|
//# sourceMappingURL=client-authorization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-authorization.d.ts","sourceRoot":"","sources":["../src/client-authorization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-authorization.d.ts","sourceRoot":"","sources":["../src/client-authorization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;AAGxD,mFAAmF;AACnF,qBAAa,yBAA0B,SAAQ,8BAG9C;CAAG;;sBAMkB,CAChB,SAAS,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,EAC/C,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,CAAC;;AARvD,uEAAuE;AACvE,qBAAa,mBAAoB,SAAQ,wBASM;CAAG;AAElD,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,gDAoBlC,CAAC;AAEH;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,EAC/C,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,SAAS,SAAS,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
import { ORPCError } from "@orpc/server";
|
|
2
|
+
import { Context, Effect, Layer, Schema } from "effect";
|
|
3
|
+
import { httpBoundary, observeHttp, runHttp } from "./http-effect.js";
|
|
4
|
+
/** Concealed authorization failure; transport adapters choose the public error. */
|
|
5
|
+
export class ClientAuthorizationDenied extends Schema.TaggedError()("ClientAuthorizationDenied", { resource: Schema.Literals(["agent", "channel"]) }) {
|
|
6
|
+
}
|
|
7
|
+
/** Evaluates a fresh policy for every request or observation frame. */
|
|
8
|
+
export class ClientAuthorization extends Context.Service()("@relkit/runtime-hono/ClientAuthorization") {
|
|
9
|
+
}
|
|
10
|
+
/** Uses Effect's clock and interruption to bound user authorization callbacks. */
|
|
11
|
+
export const ClientAuthorizationLive = Layer.succeed(ClientAuthorization, {
|
|
12
|
+
require: Effect.fn("ClientAuthorization.require")((authorize, resource, timeoutMs) => observeHttp("authorization.require", httpBoundary("authorization.policy", () => Promise.resolve().then(authorize)).pipe(Effect.timeout(timeoutMs), Effect.catch(() => Effect.succeed(false)), Effect.flatMap((allowed) => allowed === true
|
|
13
|
+
? Effect.void
|
|
14
|
+
: Effect.fail(new ClientAuthorizationDenied({ resource })))))),
|
|
15
|
+
});
|
|
16
|
+
/** Bounds an application authorization callback and returns a safe denial on rejection.
|
|
17
|
+
* @param authorize - authorize supplied by the caller.
|
|
18
|
+
* @param resource - Resource kind used to produce a safe authorization denial.
|
|
19
|
+
* @param timeoutMs - Maximum authorization or request duration in milliseconds.
|
|
20
|
+
* @returns A Promise resolving when authorized, otherwise rejecting with the concealed NOT_FOUND error.
|
|
21
|
+
*/
|
|
2
22
|
export async function requireClientAuthorization(authorize, resource, timeoutMs = 10_000) {
|
|
3
|
-
let timer;
|
|
4
23
|
try {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
catch {
|
|
12
|
-
}
|
|
13
|
-
finally {
|
|
14
|
-
if (timer !== undefined)
|
|
15
|
-
clearTimeout(timer);
|
|
24
|
+
await runHttp(Effect.gen(function* () {
|
|
25
|
+
const authorization = yield* ClientAuthorization;
|
|
26
|
+
yield* authorization.require(authorize, resource, timeoutMs);
|
|
27
|
+
}).pipe(Effect.provide(ClientAuthorizationLive)));
|
|
28
|
+
return;
|
|
16
29
|
}
|
|
30
|
+
catch { }
|
|
17
31
|
throw new ORPCError("NOT_FOUND", {
|
|
18
32
|
message: `${resource === "agent" ? "Agent" : "Channel"} resource was not found.`,
|
|
19
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-authorization.js","sourceRoot":"","sources":["../src/client-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"client-authorization.js","sourceRoot":"","sources":["../src/client-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEtE,mFAAmF;AACnF,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,WAAW,EAA6B,CAC5F,2BAA2B,EAC3B,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,CACpD;CAAG;AAEJ,uEAAuE;AACvE,MAAM,OAAO,mBAAoB,SAAQ,OAAO,CAAC,OAAO,EASrD,CAAC,0CAA0C,CAAC;CAAG;AAElD,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE;IACxE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAC/C,CACE,SAA+C,EAC/C,QAA6B,EAC7B,SAAiB,EACjB,EAAE,CACF,WAAW,CACT,uBAAuB,EACvB,YAAY,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAChF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EACzB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACzC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC7D,CACF,CACF,CACJ;CACF,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAA+C,EAC/C,QAA6B,EAC7B,SAAS,GAAG,MAAM;IAElB,IAAI,CAAC;QACH,MAAM,OAAO,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;YACjD,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CACjD,CAAC;QACF,OAAO;IACT,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,IAAI,SAAS,CAAC,WAAW,EAAE;QAC/B,OAAO,EAAE,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,0BAA0B;KACjF,CAAC,CAAC;AACL,CAAC"}
|