@pikku/core 0.12.83 → 0.12.86
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/CHANGELOG.md +492 -0
- package/README.md +1 -1
- package/dist/bootstrap-compat/root.d.ts +20 -0
- package/dist/classification/column-form.d.ts +32 -0
- package/dist/classification/column-form.js +42 -0
- package/dist/classification/data-classification.d.ts +64 -0
- package/dist/classification/index.d.ts +13 -0
- package/dist/classification/index.js +2 -0
- package/dist/classification/secret-value.d.ts +56 -0
- package/dist/classification/secret-value.js +46 -0
- package/dist/crypto-utils.d.ts +1 -1
- package/dist/ecosystem/agent-scorer.d.ts +12 -0
- package/dist/ecosystem/agent-scorer.js +5 -0
- package/dist/ecosystem/agent.d.ts +21 -0
- package/dist/ecosystem/agent.js +6 -0
- package/dist/ecosystem/channel/local.d.ts +3 -0
- package/dist/ecosystem/channel/local.js +3 -0
- package/dist/ecosystem/channel/serverless.d.ts +9 -0
- package/dist/ecosystem/channel/serverless.js +1 -0
- package/dist/ecosystem/channel.d.ts +15 -0
- package/dist/ecosystem/channel.js +5 -0
- package/dist/ecosystem/cli/channel.d.ts +16 -0
- package/dist/ecosystem/cli/channel.js +2 -0
- package/dist/ecosystem/cli.d.ts +9 -0
- package/dist/ecosystem/cli.js +2 -0
- package/dist/ecosystem/credential.d.ts +10 -0
- package/dist/ecosystem/credential.js +1 -0
- package/dist/ecosystem/crypto-utils.d.ts +8 -0
- package/dist/ecosystem/crypto-utils.js +1 -0
- package/dist/ecosystem/dev.d.ts +9 -0
- package/dist/ecosystem/dev.js +2 -0
- package/dist/ecosystem/errors.d.ts +8 -0
- package/dist/ecosystem/errors.js +2 -0
- package/dist/ecosystem/function.d.ts +13 -0
- package/dist/ecosystem/function.js +2 -0
- package/dist/ecosystem/gateway.d.ts +1 -0
- package/dist/ecosystem/hmac.d.ts +1 -0
- package/dist/ecosystem/hmac.js +1 -0
- package/dist/ecosystem/http.d.ts +13 -0
- package/dist/ecosystem/http.js +5 -0
- package/dist/ecosystem/mcp.d.ts +3 -0
- package/dist/ecosystem/mcp.js +2 -0
- package/dist/ecosystem/middleware.d.ts +18 -0
- package/dist/ecosystem/middleware.js +7 -0
- package/dist/ecosystem/node-host-resolver.d.ts +1 -0
- package/dist/ecosystem/node-host-resolver.js +1 -0
- package/dist/ecosystem/node.d.ts +1 -0
- package/dist/ecosystem/oauth2.d.ts +1 -0
- package/dist/ecosystem/oauth2.js +1 -0
- package/dist/ecosystem/persona.d.ts +17 -0
- package/dist/ecosystem/persona.js +5 -0
- package/dist/ecosystem/queue.d.ts +13 -0
- package/dist/ecosystem/queue.js +4 -0
- package/dist/ecosystem/remote.d.ts +8 -0
- package/dist/ecosystem/remote.js +1 -0
- package/dist/ecosystem/role.d.ts +4 -0
- package/dist/ecosystem/role.js +2 -0
- package/dist/ecosystem/rpc.d.ts +6 -0
- package/dist/ecosystem/rpc.js +3 -0
- package/dist/ecosystem/safe-fetch.d.ts +7 -0
- package/dist/ecosystem/safe-fetch.js +1 -0
- package/dist/ecosystem/scenario.d.ts +21 -0
- package/dist/ecosystem/scenario.js +8 -0
- package/dist/ecosystem/scheduler.d.ts +3 -0
- package/dist/ecosystem/scheduler.js +2 -0
- package/dist/ecosystem/schema.d.ts +2 -0
- package/dist/ecosystem/schema.js +1 -0
- package/dist/ecosystem/scope.d.ts +5 -0
- package/dist/ecosystem/scope.js +3 -0
- package/dist/ecosystem/secret.d.ts +11 -0
- package/dist/ecosystem/secret.js +2 -0
- package/dist/ecosystem/services/istanbul-coverage.d.ts +1 -0
- package/dist/ecosystem/services/istanbul-coverage.js +1 -0
- package/dist/ecosystem/services/local-content-request-handler.d.ts +9 -0
- package/dist/ecosystem/services/local-content-request-handler.js +1 -0
- package/dist/ecosystem/services/local-content.d.ts +2 -0
- package/dist/ecosystem/services/local-content.js +1 -0
- package/dist/ecosystem/services/local-meta.d.ts +1 -0
- package/dist/ecosystem/services/local-meta.js +1 -0
- package/dist/ecosystem/services/v8-coverage.d.ts +1 -0
- package/dist/ecosystem/services/v8-coverage.js +1 -0
- package/dist/ecosystem/services.d.ts +36 -0
- package/dist/ecosystem/services.js +12 -0
- package/dist/ecosystem/testing.d.ts +7 -0
- package/dist/ecosystem/testing.js +1 -0
- package/dist/ecosystem/trigger.d.ts +2 -0
- package/dist/ecosystem/trigger.js +1 -0
- package/dist/ecosystem/types.d.ts +12 -0
- package/dist/ecosystem/types.js +6 -0
- package/dist/ecosystem/variable.d.ts +9 -0
- package/dist/ecosystem/variable.js +1 -0
- package/dist/ecosystem/virtual-user.d.ts +24 -0
- package/dist/ecosystem/virtual-user.js +8 -0
- package/dist/ecosystem/workflow.d.ts +20 -0
- package/dist/ecosystem/workflow.js +6 -0
- package/dist/errors/index.d.ts +8 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/serialized-error.d.ts +7 -0
- package/dist/errors/serialized-error.js +1 -0
- package/dist/function/function-meta.types.d.ts +139 -0
- package/dist/function/function-meta.types.js +1 -0
- package/dist/function/function-runner.d.ts +3 -2
- package/dist/function/function-runner.js +31 -11
- package/dist/function/functions.types.d.ts +10 -2
- package/dist/function/index.d.ts +8 -2
- package/dist/function/index.js +4 -1
- package/dist/function/pikku-request.d.ts +8 -0
- package/dist/function/pikku-request.js +15 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +3 -3
- package/dist/middleware/auth-apikey.d.ts +2 -10
- package/dist/middleware/auth-apikey.js +1 -1
- package/dist/middleware/auth-bearer.d.ts +2 -10
- package/dist/middleware/auth-bearer.js +1 -1
- package/dist/middleware/auth-cookie.d.ts +2 -10
- package/dist/middleware/auth-cookie.js +1 -1
- package/dist/middleware/cors.d.ts +5 -11
- package/dist/middleware/cors.js +13 -6
- package/dist/middleware/index.d.ts +3 -0
- package/dist/middleware/index.js +1 -0
- package/dist/middleware/middleware-factories.d.ts +9 -0
- package/dist/middleware/middleware-factories.js +19 -0
- package/dist/middleware/middleware.types.d.ts +27 -0
- package/dist/middleware/middleware.types.js +1 -0
- package/dist/middleware/remote-auth.d.ts +1 -1
- package/dist/middleware/remote-auth.js +1 -1
- package/dist/middleware/telemetry.d.ts +4 -20
- package/dist/middleware/telemetry.js +1 -1
- package/dist/middleware-runner.d.ts +2 -1
- package/dist/pikku-state.d.ts +2 -1
- package/dist/services/{ai-run-state-service.d.ts → agent-run-state-service.d.ts} +5 -5
- package/dist/services/agent-run-state-service.js +1 -0
- package/dist/services/{ai-agent-runner-service.d.ts → agent-runner-service.d.ts} +12 -12
- package/dist/services/agent-runner-service.js +1 -0
- package/dist/services/{ai-storage-service.d.ts → agent-storage-service.d.ts} +7 -7
- package/dist/services/agent-storage-service.js +1 -0
- package/dist/services/audit-service.d.ts +1 -1
- package/dist/services/credential-wire-service.js +1 -1
- package/dist/services/email-service.d.ts +1 -1
- package/dist/services/file-scenario-run-store.d.ts +58 -0
- package/dist/services/file-scenario-run-store.js +214 -0
- package/dist/services/http-personas.d.ts +1 -1
- package/dist/services/http-personas.js +3 -3
- package/dist/services/{in-memory-ai-run-state-service.d.ts → in-memory-agent-run-state-service.d.ts} +5 -5
- package/dist/services/{in-memory-ai-run-state-service.js → in-memory-agent-run-state-service.js} +1 -1
- package/dist/services/in-memory-workflow-service.d.ts +1 -1
- package/dist/services/index.d.ts +9 -5
- package/dist/services/index.js +4 -1
- package/dist/services/local-secrets.d.ts +1 -1
- package/dist/services/local-secrets.js +1 -1
- package/dist/services/logger.d.ts +7 -7
- package/dist/services/meta-service.d.ts +5 -4
- package/dist/services/scoped-secret-service.d.ts +1 -1
- package/dist/services/secret-service.d.ts +1 -1
- package/dist/services/typed-secret-service.d.ts +16 -2
- package/dist/services/typed-secret-service.js +5 -0
- package/dist/services/webhook-service.d.ts +1 -1
- package/dist/services/workflow-service.d.ts +2 -1
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.js +1 -0
- package/dist/testing/service-tests/agent-run-service-tests.d.ts +1 -1
- package/dist/testing/service-tests/agent-run-service-tests.js +3 -3
- package/dist/testing/service-tests/agent-storage-service-tests.d.ts +3 -0
- package/dist/testing/service-tests/{ai-storage-service-tests.js → agent-storage-service-tests.js} +4 -4
- package/dist/testing/service-tests.d.ts +4 -4
- package/dist/testing/service-tests.js +4 -4
- package/dist/types/core.types.d.ts +37 -187
- package/dist/types/core.types.js +1 -19
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +1 -0
- package/dist/types/state.types.d.ts +8 -6
- package/dist/utils.d.ts +13 -0
- package/dist/utils.js +2 -0
- package/dist/wirings/actor-flow/run-conversation.d.ts +2 -2
- package/dist/wirings/addon/addon-runner.d.ts +17 -0
- package/dist/wirings/addon/addon-runner.js +150 -0
- package/dist/wirings/addon/index.d.ts +6 -0
- package/dist/wirings/addon/index.js +3 -0
- package/dist/wirings/addon/remote-addon-auth.d.ts +16 -0
- package/dist/wirings/addon/remote-addon-auth.js +39 -0
- package/dist/wirings/addon/wire-addon.d.ts +80 -0
- package/dist/wirings/addon/wire-addon.js +120 -0
- package/dist/wirings/addon/wire-remote-addon.d.ts +22 -0
- package/dist/wirings/addon/wire-remote-addon.js +11 -0
- package/dist/wirings/{ai-agent/ai-agent-agui.d.ts → agent/agent-agui.d.ts} +2 -2
- package/dist/wirings/{ai-agent/ai-agent-agui.js → agent/agent-agui.js} +1 -1
- package/dist/wirings/{ai-agent/ai-agent-finalize.d.ts → agent/agent-finalize.d.ts} +10 -10
- package/dist/wirings/{ai-agent/ai-agent-finalize.js → agent/agent-finalize.js} +7 -7
- package/dist/wirings/{ai-agent/ai-agent-helpers.d.ts → agent/agent-helpers.d.ts} +1 -1
- package/dist/wirings/{ai-agent/ai-agent-interrupt.d.ts → agent/agent-interrupt.d.ts} +4 -4
- package/dist/wirings/{ai-agent/ai-agent-interrupt.js → agent/agent-interrupt.js} +2 -2
- package/dist/wirings/{ai-agent/ai-agent-memory.d.ts → agent/agent-memory.d.ts} +14 -14
- package/dist/wirings/{ai-agent/ai-agent-memory.js → agent/agent-memory.js} +1 -1
- package/dist/wirings/{ai-agent/ai-agent-model-config.js → agent/agent-model-config.js} +1 -1
- package/dist/wirings/{ai-agent/ai-agent-prepare.d.ts → agent/agent-prepare.d.ts} +24 -24
- package/dist/wirings/{ai-agent/ai-agent-prepare.js → agent/agent-prepare.js} +17 -17
- package/dist/wirings/agent/agent-registry.d.ts +16 -0
- package/dist/wirings/{ai-agent/ai-agent-registry.js → agent/agent-registry.js} +9 -9
- package/dist/wirings/{ai-agent → agent}/agent-rpc.js +8 -8
- package/dist/wirings/agent/agent-runner.d.ts +7 -0
- package/dist/wirings/{ai-agent/ai-agent-runner.js → agent/agent-runner.js} +49 -50
- package/dist/wirings/{ai-agent/ai-agent-stream.d.ts → agent/agent-stream.d.ts} +15 -15
- package/dist/wirings/{ai-agent/ai-agent-stream.js → agent/agent-stream.js} +78 -78
- package/dist/wirings/{ai-agent/ai-agent-turn.d.ts → agent/agent-turn.d.ts} +5 -5
- package/dist/wirings/{ai-agent/ai-agent-turn.js → agent/agent-turn.js} +4 -4
- package/dist/wirings/agent/agent-utils.d.ts +14 -0
- package/dist/wirings/agent/agent-utils.js +17 -0
- package/dist/wirings/{ai-agent/ai-agent.types.d.ts → agent/agent.types.d.ts} +47 -46
- package/dist/wirings/agent/agent.types.js +1 -0
- package/dist/wirings/agent/index.d.ts +12 -0
- package/dist/wirings/agent/index.js +10 -0
- package/dist/wirings/{ai-agent → agent}/voice-input.d.ts +1 -1
- package/dist/wirings/{ai-agent → agent}/voice-input.js +5 -5
- package/dist/wirings/{ai-agent → agent}/voice-output.d.ts +2 -3
- package/dist/wirings/{ai-agent → agent}/voice-output.js +8 -8
- package/dist/wirings/{ai-scorer/ai-scorer-grade.d.ts → agent-scorer/agent-scorer-grade.d.ts} +3 -3
- package/dist/wirings/{ai-scorer/ai-scorer-grade.js → agent-scorer/agent-scorer-grade.js} +6 -6
- package/dist/wirings/agent-scorer/agent-scorer-judge.d.ts +30 -0
- package/dist/wirings/{ai-scorer/ai-scorer-judge.js → agent-scorer/agent-scorer-judge.js} +57 -5
- package/dist/wirings/{ai-scorer/ai-scorer-live.d.ts → agent-scorer/agent-scorer-live.d.ts} +1 -1
- package/dist/wirings/{ai-scorer/ai-scorer-live.js → agent-scorer/agent-scorer-live.js} +3 -3
- package/dist/wirings/{ai-scorer/ai-scorer-registry.d.ts → agent-scorer/agent-scorer-registry.d.ts} +6 -6
- package/dist/wirings/{ai-scorer/ai-scorer-registry.js → agent-scorer/agent-scorer-registry.js} +4 -4
- package/dist/wirings/{ai-scorer/ai-scorer-snapshots.d.ts → agent-scorer/agent-scorer-snapshots.d.ts} +1 -1
- package/dist/wirings/{ai-scorer/ai-scorer-worker.d.ts → agent-scorer/agent-scorer-worker.d.ts} +3 -3
- package/dist/wirings/{ai-scorer/ai-scorer-worker.js → agent-scorer/agent-scorer-worker.js} +9 -7
- package/dist/wirings/{ai-scorer/ai-scorer.d.ts → agent-scorer/agent-scorer.d.ts} +12 -6
- package/dist/wirings/{ai-scorer/ai-scorer.js → agent-scorer/agent-scorer.js} +4 -3
- package/dist/wirings/{ai-scorer/ai-scorer.types.d.ts → agent-scorer/agent-scorer.types.d.ts} +24 -4
- package/dist/wirings/agent-scorer/agent-scorer.types.js +4 -0
- package/dist/wirings/agent-scorer/index.d.ts +6 -0
- package/dist/wirings/agent-scorer/index.js +5 -0
- package/dist/wirings/channel/channel-common.d.ts +2 -1
- package/dist/wirings/channel/channel-middleware-runner.d.ts +2 -1
- package/dist/wirings/channel/channel-rpc.types.d.ts +2 -2
- package/dist/wirings/channel/channel.types.d.ts +1 -1
- package/dist/wirings/channel/serverless/index.d.ts +1 -0
- package/dist/wirings/cli/channel/index.d.ts +1 -1
- package/dist/wirings/cli/cli-runner.d.ts +2 -1
- package/dist/wirings/cli/cli-runner.js +4 -1
- package/dist/wirings/cli/cli.types.d.ts +21 -2
- package/dist/wirings/cli/command-parser.js +157 -23
- package/dist/wirings/gateway/gateway.types.d.ts +2 -1
- package/dist/wirings/http/http-runner.d.ts +1 -1
- package/dist/wirings/http/http-runner.js +1 -1
- package/dist/wirings/http/http.types.d.ts +2 -2
- package/dist/wirings/http/index.d.ts +1 -0
- package/dist/wirings/http/index.js +1 -0
- package/dist/wirings/http/pikku-fetch-http-request.js +1 -1
- package/dist/wirings/http/pikku-fetch-http-response.js +2 -2
- package/dist/wirings/mcp/mcp.types.d.ts +1 -1
- package/dist/wirings/persona/index.d.ts +1 -1
- package/dist/wirings/persona/index.js +1 -1
- package/dist/wirings/persona/persona.types.d.ts +14 -0
- package/dist/wirings/queue/queue.types.d.ts +1 -1
- package/dist/wirings/queue/signed-queue-service.d.ts +1 -1
- package/dist/wirings/rpc/index.d.ts +0 -6
- package/dist/wirings/rpc/index.js +0 -3
- package/dist/wirings/rpc/remote-addon-auth.d.ts +1 -1
- package/dist/wirings/rpc/remote-addon-auth.js +1 -1
- package/dist/wirings/rpc/rpc-runner.d.ts +1 -1
- package/dist/wirings/rpc/rpc-runner.js +4 -4
- package/dist/wirings/rpc/rpc-types.d.ts +1 -1
- package/dist/wirings/rpc/wire-addon.d.ts +1 -1
- package/dist/wirings/scheduler/scheduler.types.d.ts +2 -1
- package/dist/wirings/scope/index.d.ts +1 -0
- package/dist/wirings/scope/index.js +1 -0
- package/dist/wirings/secret/secret.types.d.ts +10 -0
- package/dist/wirings/secret/validate-secret-definitions.js +2 -0
- package/dist/wirings/variable/validate-variable-definitions.js +2 -0
- package/dist/wirings/variable/variable.types.d.ts +9 -0
- package/dist/wirings/virtual-user/index.d.ts +1 -1
- package/dist/wirings/virtual-user/index.js +1 -1
- package/dist/wirings/virtual-user/prepare-virtual-user-run.d.ts +1 -1
- package/dist/wirings/virtual-user/prepare-virtual-user-run.js +1 -1
- package/dist/wirings/virtual-user/virtual-user-agents.d.ts +1 -1
- package/dist/wirings/virtual-user/virtual-user-derive.d.ts +1 -1
- package/dist/wirings/workflow/graph/graph-node.d.ts +9 -2
- package/dist/wirings/workflow/graph/graph-node.js +2 -0
- package/dist/wirings/workflow/graph/graph-runner.d.ts +1 -0
- package/dist/wirings/workflow/graph/graph-runner.js +283 -31
- package/dist/wirings/workflow/graph/workflow-graph.types.d.ts +16 -1
- package/dist/wirings/workflow/index.d.ts +2 -0
- package/dist/wirings/workflow/index.js +1 -0
- package/dist/wirings/workflow/pikku-scenario-service.d.ts +14 -4
- package/dist/wirings/workflow/pikku-scenario-service.js +44 -16
- package/dist/wirings/workflow/pikku-workflow-service.d.ts +2 -1
- package/dist/wirings/workflow/pikku-workflow-service.js +3 -4
- package/dist/wirings/workflow/run-timeline.d.ts +2 -3
- package/dist/wirings/workflow/scenario-run.types.d.ts +171 -0
- package/dist/wirings/workflow/scenario-run.types.js +1 -0
- package/dist/wirings/workflow/scenario-step-guards.d.ts +1 -2
- package/dist/wirings/workflow/scenario-step-guards.js +0 -8
- package/dist/wirings/workflow/scenario-step.types.d.ts +27 -12
- package/dist/wirings/workflow/workflow-approval.js +2 -1
- package/dist/wirings/workflow/workflow-run-engine.types.d.ts +2 -1
- package/dist/wirings/workflow/workflow.types.d.ts +2 -1
- package/knowledge/decisions/index.md +2 -0
- package/knowledge/decisions/internals/{a-non-streaming-agent-run-registers-with-airunstate-too.md → a-non-streaming-agent-run-registers-with-agentrunstate-too.md} +6 -6
- package/knowledge/decisions/internals/a-resumed-agent-turn-is-as-interruptible-as-the-first.md +1 -1
- package/knowledge/decisions/internals/a-scenario-step-template-is-offered-unfilled.md +1 -1
- package/knowledge/decisions/internals/a-secret-that-fails-to-decrypt-fails-the-whole-read.md +1 -1
- package/knowledge/decisions/internals/a-virtual-user-run-is-not-a-workflow-and-not-a-queued-job.md +2 -2
- package/knowledge/decisions/internals/a-wall-clock-threshold-is-a-load-test-in-disguise.md +6 -6
- package/knowledge/decisions/internals/a-workflow-wire-is-built-from-the-run-not-from-the-rpc-service.md +1 -1
- package/knowledge/decisions/internals/actor-flow-drives-the-target-through-a-transport-seam.md +1 -1
- package/knowledge/decisions/internals/addon-singleton-services-are-cached-per-namespace-not-per-package.md +1 -1
- package/knowledge/decisions/internals/addon-workflow-names-are-prefixed-with-the-consumer-namespace.md +1 -1
- package/knowledge/decisions/internals/{ai-agent-agui-bridge-obeys-the-client-ordering-contract.md → agent-agui-bridge-obeys-the-client-ordering-contract.md} +5 -5
- package/knowledge/decisions/internals/{ai-agent-audio-chunks-carry-the-format-the-provider-returned.md → agent-audio-chunks-carry-the-format-the-provider-returned.md} +2 -2
- package/knowledge/decisions/internals/agent-context-waits-for-a-tool-result-still-being-written.md +1 -1
- package/knowledge/decisions/internals/{ai-agent-credential-suspensions-hide-the-tool-result.md → agent-credential-suspensions-hide-the-tool-result.md} +2 -2
- package/knowledge/decisions/internals/{ai-agent-delegate-and-supervise-hide-different-text.md → agent-delegate-and-supervise-hide-different-text.md} +4 -4
- package/knowledge/decisions/internals/{ai-agent-llm-tool-arguments-have-nulls-stripped.md → agent-llm-tool-arguments-have-nulls-stripped.md} +3 -3
- package/knowledge/decisions/internals/{ai-agent-model-config-stays-a-single-resolution-seam.md → agent-model-config-stays-a-single-resolution-seam.md} +3 -3
- package/knowledge/decisions/internals/{ai-agent-onerror-hooks-cannot-change-the-failure.md → agent-onerror-hooks-cannot-change-the-failure.md} +6 -6
- package/knowledge/decisions/internals/{ai-agent-runner-methods-must-keep-their-receiver.md → agent-runner-methods-must-keep-their-receiver.md} +4 -4
- package/knowledge/decisions/internals/agent-speech-travels-as-a-custom-agui-event.md +1 -1
- package/knowledge/decisions/internals/{ai-agent-stream-persistence-is-best-effort.md → agent-stream-persistence-is-best-effort.md} +4 -4
- package/knowledge/decisions/internals/{ai-agent-sub-agents-inherit-the-parent-context-block.md → agent-sub-agents-inherit-the-parent-context-block.md} +3 -3
- package/knowledge/decisions/internals/{ai-agent-tool-execute-failures-are-logged-unconditionally.md → agent-tool-execute-failures-are-logged-unconditionally.md} +3 -3
- package/knowledge/decisions/internals/{ai-agent-voice-input-transcribes-audio-parts-in-place.md → agent-voice-input-transcribes-audio-parts-in-place.md} +2 -2
- package/knowledge/decisions/internals/{ai-agent-working-memory-is-persisted-only-when-valid.md → agent-working-memory-is-persisted-only-when-valid.md} +2 -2
- package/knowledge/decisions/internals/an-addon-scope-root-loses-to-a-root-the-host-already-declares.md +1 -1
- package/knowledge/decisions/internals/an-agent-interrupt-is-not-a-failure.md +2 -2
- package/knowledge/decisions/internals/an-agent-run-owned-by-another-instance-says-so.md +3 -3
- package/knowledge/decisions/internals/an-agent-stream-send-must-return-the-inner-sends-promise.md +2 -2
- package/knowledge/decisions/internals/an-empty-text-part-is-omitted-from-an-agent-message.md +1 -1
- package/knowledge/decisions/internals/an-empty-transcript-is-not-recorded.md +1 -1
- package/knowledge/decisions/internals/channel-message-handlers-accept-three-config-shapes.md +1 -1
- package/knowledge/decisions/internals/channel-middleware-caches-only-statically-resolved-middleware.md +1 -1
- package/knowledge/decisions/internals/channel-user-id-is-persisted-after-onconnect-middleware-runs.md +1 -1
- package/knowledge/decisions/internals/cli-option-names-are-camelcase-in-state-and-kebab-on-the-command-line.md +1 -1
- package/knowledge/decisions/internals/cli-parse-errors-are-routed-by-message-prefix.md +1 -1
- package/knowledge/decisions/internals/cli-unknown-long-options-warn-instead-of-failing.md +1 -1
- package/knowledge/decisions/internals/core-column-form-is-an-axis-of-its-own.md +4 -4
- package/knowledge/decisions/internals/core-data-classification-brand-is-an-optional-property.md +1 -1
- package/knowledge/decisions/internals/core-function-runner-restores-the-wire-fields-it-overwrites.md +3 -3
- package/knowledge/decisions/internals/core-hot-reload-merges-generated-meta-never-replaces-it.md +2 -2
- package/knowledge/decisions/internals/core-hot-reload-owns-its-module-registry.md +2 -2
- package/knowledge/decisions/internals/core-middleware-order-is-scope-then-priority.md +1 -1
- package/knowledge/decisions/internals/core-schema-defaults-apply-on-every-transport.md +1 -1
- package/knowledge/decisions/internals/core-scopes-are-an-and-gate-separate-from-permissions.md +3 -3
- package/knowledge/decisions/internals/gateway-adapters-resolve-lazily-and-are-promise-cached.md +1 -1
- package/knowledge/decisions/internals/gateway-listener-middleware-runs-without-an-rpc-on-the-wire.md +4 -4
- package/knowledge/decisions/internals/gateway-wiring-is-a-meta-wiring-over-http-and-channels.md +1 -1
- package/knowledge/decisions/internals/http-router-matches-normalized-paths-but-returns-registered-ones.md +1 -1
- package/knowledge/decisions/internals/in-a-scenario-a-4xx-is-data-not-an-exception.md +1 -1
- package/knowledge/decisions/internals/in-memory-workflow-history-aliases-the-live-step-object.md +1 -1
- package/knowledge/decisions/internals/index.md +4 -2
- package/knowledge/decisions/internals/istanbul-statement-counts-attach-to-the-start-line-only.md +1 -1
- package/knowledge/decisions/internals/one-project-shape-check-two-validators.md +1 -1
- package/knowledge/decisions/internals/queue-jobs-always-carry-an-explicit-attempts-count.md +1 -1
- package/knowledge/decisions/internals/remote-addons-dispatch-over-http-instead-of-local-meta.md +1 -1
- package/knowledge/decisions/internals/rpc-names-resolve-through-package-scope-before-root.md +1 -1
- package/knowledge/decisions/internals/scenario-given-and-when-are-sugar-but-then-is-not.md +2 -2
- package/knowledge/decisions/internals/scenarios-live-in-files-named-for-them.md +5 -5
- package/knowledge/decisions/internals/speech-synthesis-picks-a-voice-per-sentence-and-warns-once.md +1 -1
- package/knowledge/decisions/internals/the-actor-prompt-says-json-because-of-json-object-mode.md +1 -1
- package/knowledge/decisions/internals/the-agent-done-event-goes-through-the-middleware-and-is-awaited.md +1 -1
- package/knowledge/decisions/internals/the-api-report-pins-members-not-just-names.md +1 -1
- package/knowledge/decisions/internals/the-ecosystem-entry-point-carries-the-adapter-surface.md +43 -19
- package/knowledge/decisions/internals/the-embedding-model-is-pinned-per-service-and-doc-query-embedding-is-split.md +1 -1
- package/knowledge/decisions/internals/the-per-invocation-rpc-view-is-a-class.md +5 -5
- package/knowledge/decisions/internals/the-persona-runtime-is-exported-from-the-persona-entry-point.md +1 -1
- package/knowledge/decisions/internals/the-transcript-event-is-sent-ahead-of-the-run.md +2 -2
- package/knowledge/decisions/internals/the-worker-disposition-is-the-one-that-is-not-testing.md +1 -1
- package/knowledge/decisions/internals/thread-history-records-the-transcript-not-the-audio.md +2 -2
- package/knowledge/decisions/internals/validate-runs-checks-by-precondition.md +3 -3
- package/knowledge/decisions/internals/virtual-user-step-order-comes-from-insertion-order.md +1 -1
- package/knowledge/decisions/internals/voice-output-speaks-unless-voice-input-explicitly-says-otherwise.md +1 -1
- package/knowledge/decisions/internals/webhook-delivery-history-records-every-attempt-best-effort.md +1 -1
- package/knowledge/decisions/internals/wiring-registries-erase-the-generics-their-wire-functions-capture.md +1 -1
- package/knowledge/decisions/internals/workflow-approval-expiry-is-decided-from-a-recorded-deadline.md +1 -1
- package/knowledge/decisions/internals/workflow-core-never-imports-a-browser-driver.md +1 -1
- package/knowledge/decisions/internals/workflow-inline-runs-report-their-run-id-before-they-can-fail.md +1 -1
- package/knowledge/decisions/internals/workflow-invocation-id-is-the-dedupe-key-not-step-id.md +1 -1
- package/knowledge/decisions/internals/workflow-run-capabilities-are-extensions-not-subclasses.md +1 -1
- package/knowledge/decisions/internals/workflow-run-timeline-is-a-pure-fold-over-durable-history.md +1 -1
- package/knowledge/decisions/internals/workflow-scenario-assertions-never-retry-and-record-one-step.md +9 -5
- package/knowledge/decisions/internals/workflow-scenario-hooks-are-a-scenario-only-affordance.md +1 -1
- package/knowledge/decisions/internals/workflow-step-rpc-name-is-provenance-only.md +2 -2
- package/knowledge/decisions/internals/workflow-suspend-and-approval-reasons-are-durable-step-identities.md +1 -1
- package/knowledge/decisions/security/a-function-never-receives-the-secret-service.md +1 -1
- package/knowledge/decisions/security/a-step-runs-the-function-the-workflow-dispatched-it-with.md +1 -1
- package/knowledge/decisions/security/a-virtual-user-is-never-offered-a-step-that-would-forge-its-own-oracle.md +2 -3
- package/knowledge/decisions/security/actor-sign-in-is-proven-by-set-cookie-not-a-non-empty-jar.md +1 -1
- package/knowledge/decisions/security/addon-auth-and-tags-only-tighten.md +1 -1
- package/knowledge/decisions/security/{ai-agent-approval-forwarding-requires-a-symbol-brand.md → agent-approval-forwarding-requires-a-symbol-brand.md} +3 -3
- package/knowledge/decisions/security/{ai-agent-credential-requests-are-symbol-branded.md → agent-credential-requests-are-symbol-branded.md} +4 -4
- package/knowledge/decisions/security/{ai-agent-gate-requires-a-session-only-when-auth-is-true.md → agent-gate-requires-a-session-only-when-auth-is-true.md} +4 -4
- package/knowledge/decisions/security/{ai-agent-ownership-failures-never-echo-the-resource.md → agent-ownership-failures-never-echo-the-resource.md} +2 -2
- package/knowledge/decisions/security/{ai-agent-resume-re-runs-the-authorization-gate.md → agent-resume-re-runs-the-authorization-gate.md} +4 -4
- package/knowledge/decisions/security/{ai-agent-sessionless-deployments-have-no-thread-ownership.md → agent-sessionless-deployments-have-no-thread-ownership.md} +5 -5
- package/knowledge/decisions/security/{ai-agent-thread-ownership-composes-the-session-principal.md → agent-thread-ownership-composes-the-session-principal.md} +2 -2
- package/knowledge/decisions/security/{ai-agent-tool-filtering-reads-the-live-function-config.md → agent-tool-filtering-reads-the-live-function-config.md} +2 -2
- package/knowledge/decisions/security/an-agent-approval-is-claimed-before-the-tool-runs.md +3 -3
- package/knowledge/decisions/security/an-approval-answer-outlives-the-run-it-answered.md +3 -3
- package/knowledge/decisions/security/an-empty-owners-constraint-matches-nothing.md +3 -3
- package/knowledge/decisions/security/console-addon-privileged-functions-gate-themselves.md +21 -13
- package/knowledge/decisions/security/core-safe-fetch-blocks-ssrf-by-host-literal-not-dns.md +1 -1
- package/knowledge/decisions/security/gateway-middleware-sessions-must-be-bridged-onto-the-wire.md +2 -2
- package/knowledge/decisions/security/global-permissions-and-function-permissions-are-independent-gates.md +1 -1
- package/knowledge/decisions/security/http-request-bodies-are-bounded-before-they-are-buffered.md +2 -2
- package/knowledge/decisions/security/index.md +3 -2
- package/knowledge/decisions/security/mcp-internal-error-details-are-double-gated-on-production.md +1 -1
- package/knowledge/decisions/security/queue-jobs-carry-the-producers-pikku-user-id.md +3 -3
- package/knowledge/decisions/security/remote-addon-tokens-are-client-credentials-not-mesh-trust.md +1 -1
- package/knowledge/decisions/security/scaffold-features-are-authenticated-unless-opted-out.md +2 -2
- package/knowledge/decisions/security/self-authentication-is-declared-not-detected.md +1 -1
- package/knowledge/decisions/security/signed-content-urls-bind-the-request-path.md +2 -2
- package/knowledge/index.md +3 -1
- package/knowledge/questions/channel-middleware-accepts-bare-factories-that-nothing-resolves.md +1 -1
- package/knowledge/questions/index.md +2 -0
- package/package.json +16 -14
- package/run-tests.sh +0 -0
- package/scripts/generate-api-report.d.mts +1 -1
- package/scripts/generate-api-report.mjs +67 -60
- package/scripts/generate-api-report.mts +37 -47
- package/src/agent-naming.test.ts +68 -0
- package/src/api-report.test.ts +70 -1
- package/src/app-alias-surface.test.ts +179 -0
- package/src/app-leaf-surface.test.ts +217 -0
- package/src/bootstrap-compat/root.ts +20 -0
- package/src/{column-form.test.ts → classification/column-form.test.ts} +2 -2
- package/src/{data-classification.ts → classification/data-classification.ts} +1 -5
- package/src/classification/index.ts +38 -0
- package/src/{secret-value.test.ts → classification/secret-value.test.ts} +2 -2
- package/src/{secret-value.ts → classification/secret-value.ts} +1 -6
- package/src/crypto-utils.ts +1 -1
- package/src/dev/reload-meta.test.ts +1 -1
- package/src/errors/index.ts +9 -0
- package/src/errors/serialized-error.ts +9 -0
- package/src/factory-functions.test.ts +4 -2
- package/src/function/function-meta.types.ts +151 -0
- package/src/function/function-runner.test.ts +4 -2
- package/src/function/function-runner.ts +47 -14
- package/src/function/functions.types.ts +11 -7
- package/src/function/index.ts +24 -5
- package/src/function/list.types.ts +1 -3
- package/src/middleware/auth-apikey.ts +4 -2
- package/src/middleware/auth-bearer.test.ts +1 -1
- package/src/middleware/auth-bearer.ts +4 -2
- package/src/middleware/auth-cookie.ts +4 -1
- package/src/middleware/cors.test.ts +126 -5
- package/src/middleware/cors.ts +19 -8
- package/src/middleware/index.ts +16 -0
- package/src/middleware/middleware-factories.ts +62 -0
- package/src/middleware/middleware.types.ts +61 -0
- package/src/middleware/remote-auth.test.ts +1 -1
- package/src/middleware/remote-auth.ts +1 -1
- package/src/middleware/telemetry.ts +4 -2
- package/src/middleware-runner.test.ts +2 -3
- package/src/middleware-runner.ts +2 -2
- package/src/no-root-barrel.test.ts +114 -0
- package/src/permissions.ts +2 -4
- package/src/pikku-state.ts +6 -4
- package/src/public-surface.json +90 -170
- package/src/public-surface.json.README +20 -2
- package/src/public-surface.test.ts +31 -3
- package/src/remote.test.ts +1 -1
- package/src/removed-legacy-exports.test.ts +5 -1
- package/src/services/{ai-run-state-service.ts → agent-run-state-service.ts} +5 -5
- package/src/services/{ai-agent-runner-service.ts → agent-runner-service.ts} +18 -18
- package/src/services/{ai-storage-service.ts → agent-storage-service.ts} +7 -7
- package/src/services/audit-service.ts +1 -1
- package/src/services/credential-wire-service.ts +1 -1
- package/src/services/email-service.ts +2 -4
- package/src/services/file-scenario-run-store.test.ts +349 -0
- package/src/services/file-scenario-run-store.ts +282 -0
- package/src/services/http-personas-converse.test.ts +3 -3
- package/src/services/http-personas.ts +4 -4
- package/src/services/{in-memory-ai-run-state-service.ts → in-memory-agent-run-state-service.ts} +7 -7
- package/src/services/in-memory-workflow-service.ts +1 -1
- package/src/services/index.ts +22 -10
- package/src/services/local-content-request-handler.ts +1 -2
- package/src/services/local-secrets.ts +1 -1
- package/src/services/logger.ts +7 -7
- package/src/services/meta-service.ts +5 -5
- package/src/services/queue-webhook-service.test.ts +1 -1
- package/src/services/scoped-secret-service.ts +1 -1
- package/src/services/secret-service.ts +1 -1
- package/src/services/typed-secret-service.test.ts +52 -0
- package/src/services/typed-secret-service.ts +26 -2
- package/src/services/webhook-service.ts +1 -1
- package/src/services/workflow-service.ts +2 -1
- package/src/template-alias-surface.test.ts +240 -0
- package/src/testing/index.ts +1 -0
- package/src/testing/service-tests/agent-run-service-tests.ts +4 -4
- package/src/testing/service-tests/{ai-storage-service-tests.ts → agent-storage-service-tests.ts} +8 -8
- package/src/testing/service-tests.ts +10 -8
- package/src/types/core.types.ts +40 -292
- package/src/types/index.ts +2 -0
- package/src/types/state.types.ts +12 -14
- package/src/types/typed-credentials.test.ts +72 -0
- package/src/utils.ts +34 -0
- package/src/wirings/actor-flow/run-conversation.test.ts +2 -2
- package/src/wirings/actor-flow/run-conversation.ts +7 -9
- package/src/wirings/{rpc → addon}/addon-scopes.test.ts +1 -1
- package/src/wirings/addon/index.ts +12 -0
- package/src/wirings/{rpc → addon}/remote-addon-auth.ts +4 -1
- package/src/wirings/{rpc → addon}/wire-addon.ts +37 -2
- package/src/wirings/{ai-agent/ai-agent-agui.test.ts → agent/agent-agui.test.ts} +126 -105
- package/src/wirings/{ai-agent/ai-agent-agui.ts → agent/agent-agui.ts} +7 -7
- package/src/wirings/{ai-agent/ai-agent-authorization.test.ts → agent/agent-authorization.test.ts} +6 -6
- package/src/wirings/{ai-agent/ai-agent-finalize.test.ts → agent/agent-finalize.test.ts} +17 -16
- package/src/wirings/{ai-agent/ai-agent-finalize.ts → agent/agent-finalize.ts} +22 -22
- package/src/wirings/{ai-agent/ai-agent-helpers.test.ts → agent/agent-helpers.test.ts} +1 -1
- package/src/wirings/{ai-agent/ai-agent-helpers.ts → agent/agent-helpers.ts} +1 -1
- package/src/wirings/{ai-agent/ai-agent-interrupt.test.ts → agent/agent-interrupt.test.ts} +67 -77
- package/src/wirings/{ai-agent/ai-agent-interrupt.ts → agent/agent-interrupt.ts} +5 -5
- package/src/wirings/{ai-agent/ai-agent-memory.test.ts → agent/agent-memory.test.ts} +12 -12
- package/src/wirings/{ai-agent/ai-agent-memory.ts → agent/agent-memory.ts} +36 -36
- package/src/wirings/{ai-agent/ai-agent-model-config.test.ts → agent/agent-model-config.test.ts} +2 -5
- package/src/wirings/{ai-agent/ai-agent-model-config.ts → agent/agent-model-config.ts} +1 -1
- package/src/wirings/{ai-agent/ai-agent-prepare.test.ts → agent/agent-prepare.test.ts} +18 -18
- package/src/wirings/{ai-agent/ai-agent-prepare.ts → agent/agent-prepare.ts} +60 -56
- package/src/wirings/{ai-agent/ai-agent-registry.test.ts → agent/agent-registry.test.ts} +49 -43
- package/src/wirings/{ai-agent/ai-agent-registry.ts → agent/agent-registry.ts} +14 -14
- package/src/wirings/{ai-agent/ai-agent-resume-authorization.test.ts → agent/agent-resume-authorization.test.ts} +18 -18
- package/src/wirings/{ai-agent → agent}/agent-rpc.ts +16 -20
- package/src/wirings/{ai-agent/ai-agent-runner.test.ts → agent/agent-runner.test.ts} +105 -106
- package/src/wirings/{ai-agent/ai-agent-runner.ts → agent/agent-runner.ts} +91 -82
- package/src/wirings/{ai-agent/ai-agent-stream-output-hooks.test.ts → agent/agent-stream-output-hooks.test.ts} +25 -25
- package/src/wirings/{ai-agent/ai-agent-stream.test.ts → agent/agent-stream.test.ts} +147 -143
- package/src/wirings/{ai-agent/ai-agent-stream.ts → agent/agent-stream.ts} +148 -148
- package/src/wirings/{ai-agent/ai-agent-thread-ownership.test.ts → agent/agent-thread-ownership.test.ts} +24 -28
- package/src/wirings/{ai-agent/ai-agent-turn.test.ts → agent/agent-turn.test.ts} +3 -5
- package/src/wirings/{ai-agent/ai-agent-turn.ts → agent/agent-turn.ts} +7 -7
- package/src/wirings/agent/agent-utils.ts +20 -0
- package/src/wirings/{ai-agent/ai-agent.types.ts → agent/agent.types.ts} +54 -51
- package/src/wirings/agent/index.ts +57 -0
- package/src/wirings/{ai-agent → agent}/voice-input.test.ts +15 -15
- package/src/wirings/{ai-agent → agent}/voice-input.ts +11 -11
- package/src/wirings/{ai-agent → agent}/voice-output.test.ts +25 -27
- package/src/wirings/{ai-agent → agent}/voice-output.ts +11 -11
- package/src/wirings/{ai-scorer/ai-scorer-grade.test.ts → agent-scorer/agent-scorer-grade.test.ts} +8 -8
- package/src/wirings/{ai-scorer/ai-scorer-grade.ts → agent-scorer/agent-scorer-grade.ts} +9 -9
- package/src/wirings/agent-scorer/agent-scorer-judge.test.ts +285 -0
- package/src/wirings/agent-scorer/agent-scorer-judge.ts +180 -0
- package/src/wirings/{ai-scorer/ai-scorer-live.test.ts → agent-scorer/agent-scorer-live.test.ts} +11 -11
- package/src/wirings/{ai-scorer/ai-scorer-live.ts → agent-scorer/agent-scorer-live.ts} +3 -3
- package/src/wirings/{ai-scorer/ai-scorer-registry.ts → agent-scorer/agent-scorer-registry.ts} +11 -8
- package/src/wirings/{ai-scorer/ai-scorer-sampling.test.ts → agent-scorer/agent-scorer-sampling.test.ts} +1 -1
- package/src/wirings/{ai-scorer/ai-scorer-snapshots.test.ts → agent-scorer/agent-scorer-snapshots.test.ts} +2 -2
- package/src/wirings/{ai-scorer/ai-scorer-snapshots.ts → agent-scorer/agent-scorer-snapshots.ts} +1 -1
- package/src/wirings/{ai-scorer/ai-scorer-worker.test.ts → agent-scorer/agent-scorer-worker.test.ts} +15 -15
- package/src/wirings/{ai-scorer/ai-scorer-worker.ts → agent-scorer/agent-scorer-worker.ts} +9 -7
- package/src/wirings/{ai-scorer/ai-scorer.ts → agent-scorer/agent-scorer.ts} +15 -7
- package/src/wirings/{ai-scorer/ai-scorer.types.ts → agent-scorer/agent-scorer.types.ts} +27 -6
- package/src/wirings/agent-scorer/index.ts +23 -0
- package/src/wirings/channel/channel-common.ts +4 -2
- package/src/wirings/channel/channel-handler.ts +2 -5
- package/src/wirings/channel/channel-middleware-runner.ts +1 -1
- package/src/wirings/channel/channel-rpc.types.ts +3 -7
- package/src/wirings/channel/channel.types.ts +1 -2
- package/src/wirings/channel/local/local-channel-runner.test.ts +1 -2
- package/src/wirings/channel/serverless/index.ts +1 -0
- package/src/wirings/cli/channel/cli-raw-channel-runner.ts +2 -2
- package/src/wirings/cli/channel/index.ts +1 -3
- package/src/wirings/cli/cli-runner.test.ts +1 -1
- package/src/wirings/cli/cli-runner.ts +11 -7
- package/src/wirings/cli/cli.types.ts +24 -3
- package/src/wirings/cli/command-parser.test.ts +388 -1
- package/src/wirings/cli/command-parser.ts +189 -29
- package/src/wirings/gateway/gateway-runner.test.ts +1 -2
- package/src/wirings/gateway/gateway-runner.ts +3 -6
- package/src/wirings/gateway/gateway.types.ts +5 -4
- package/src/wirings/http/http-routes.test.ts +1 -2
- package/src/wirings/http/http-runner-addon-ref.test.ts +238 -0
- package/src/wirings/http/http-runner.test.ts +3 -8
- package/src/wirings/http/http-runner.ts +9 -3
- package/src/wirings/http/http.types.ts +3 -12
- package/src/wirings/http/index.ts +1 -0
- package/src/wirings/http/pikku-fetch-http-request.ts +1 -1
- package/src/wirings/http/pikku-fetch-http-response.ts +3 -2
- package/src/wirings/mcp/mcp-runner.test.ts +1 -1
- package/src/wirings/mcp/mcp.types.ts +1 -2
- package/src/wirings/persona/index.ts +1 -4
- package/src/wirings/persona/persona.types.ts +14 -0
- package/src/wirings/queue/queue-identity.test.ts +1 -1
- package/src/wirings/queue/queue.types.ts +2 -6
- package/src/wirings/queue/signed-queue-service.ts +1 -1
- package/src/wirings/rpc/index.ts +0 -12
- package/src/wirings/rpc/rpc-runner.test.ts +4 -4
- package/src/wirings/rpc/rpc-runner.ts +5 -5
- package/src/wirings/rpc/rpc-types.ts +1 -1
- package/src/wirings/scheduler/scheduler.types.ts +2 -5
- package/src/wirings/scope/index.ts +1 -0
- package/src/wirings/secret/secret.types.ts +10 -0
- package/src/wirings/secret/validate-secret-definitions.test.ts +23 -0
- package/src/wirings/secret/validate-secret-definitions.ts +2 -0
- package/src/wirings/variable/validate-variable-definitions.test.ts +23 -0
- package/src/wirings/variable/validate-variable-definitions.ts +2 -0
- package/src/wirings/variable/variable.types.ts +9 -0
- package/src/wirings/virtual-user/index.ts +1 -4
- package/src/wirings/virtual-user/prepare-virtual-user-run.ts +2 -2
- package/src/wirings/virtual-user/run-virtual-user.test.ts +2 -2
- package/src/wirings/virtual-user/run-virtual-user.ts +3 -3
- package/src/wirings/virtual-user/virtual-user-agents.ts +1 -1
- package/src/wirings/virtual-user/virtual-user-derive.test.ts +1 -1
- package/src/wirings/virtual-user/virtual-user-derive.ts +1 -1
- package/src/wirings/virtual-user/virtual-user.types.ts +1 -5
- package/src/wirings/workflow/graph/graph-foreach-queued.test.ts +569 -0
- package/src/wirings/workflow/graph/graph-foreach.test.ts +626 -0
- package/src/wirings/workflow/graph/graph-node.ts +16 -1
- package/src/wirings/workflow/graph/graph-runner.ts +387 -61
- package/src/wirings/workflow/graph/workflow-graph.types.ts +28 -3
- package/src/wirings/workflow/index.ts +8 -0
- package/src/wirings/workflow/pikku-scenario-service.ts +59 -19
- package/src/wirings/workflow/pikku-workflow-service.ts +6 -8
- package/src/wirings/workflow/run-timeline.ts +2 -2
- package/src/wirings/workflow/scenario-expectations.test.ts +28 -13
- package/src/wirings/workflow/scenario-run.types.ts +186 -0
- package/src/wirings/workflow/scenario-step-guards.ts +1 -14
- package/src/wirings/workflow/scenario-step.test.ts +32 -7
- package/src/wirings/workflow/scenario-step.types.ts +27 -12
- package/src/wirings/workflow/workflow-approval-policy.test.ts +117 -47
- package/src/wirings/workflow/workflow-approval.ts +2 -1
- package/src/wirings/workflow/workflow-run-engine.types.ts +2 -1
- package/src/wirings/workflow/workflow.types.ts +4 -12
- package/src/wirings-stay-decoupled.test.ts +7 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/tsconfig.type-tests.json +3 -2
- package/dist/testing/service-tests/ai-storage-service-tests.d.ts +0 -3
- package/dist/wirings/ai-agent/ai-agent-registry.d.ts +0 -16
- package/dist/wirings/ai-agent/ai-agent-runner.d.ts +0 -7
- package/dist/wirings/ai-agent/ai-agent-utils.d.ts +0 -1
- package/dist/wirings/ai-agent/ai-agent-utils.js +0 -1
- package/dist/wirings/ai-agent/index.d.ts +0 -12
- package/dist/wirings/ai-agent/index.js +0 -10
- package/dist/wirings/ai-scorer/ai-scorer-judge.d.ts +0 -17
- package/dist/wirings/ai-scorer/ai-scorer.types.js +0 -4
- package/dist/wirings/ai-scorer/index.d.ts +0 -6
- package/dist/wirings/ai-scorer/index.js +0 -5
- package/src/ecosystem.ts +0 -40
- package/src/index.ts +0 -255
- package/src/wirings/ai-agent/ai-agent-utils.ts +0 -1
- package/src/wirings/ai-agent/index.ts +0 -65
- package/src/wirings/ai-scorer/ai-scorer-judge.test.ts +0 -143
- package/src/wirings/ai-scorer/ai-scorer-judge.ts +0 -120
- package/src/wirings/ai-scorer/index.ts +0 -24
- /package/dist/{services/ai-agent-runner-service.js → bootstrap-compat/root.js} +0 -0
- /package/dist/{services/ai-run-state-service.js → classification/data-classification.js} +0 -0
- /package/dist/{services/ai-storage-service.js → ecosystem/gateway.js} +0 -0
- /package/dist/{wirings/ai-agent/ai-agent.types.js → ecosystem/node.js} +0 -0
- /package/dist/wirings/{ai-agent/ai-agent-helpers.js → agent/agent-helpers.js} +0 -0
- /package/dist/wirings/{ai-agent/ai-agent-model-config.d.ts → agent/agent-model-config.d.ts} +0 -0
- /package/dist/wirings/{ai-agent → agent}/agent-rpc.d.ts +0 -0
- /package/dist/wirings/{ai-scorer/ai-scorer-sampling.d.ts → agent-scorer/agent-scorer-sampling.d.ts} +0 -0
- /package/dist/wirings/{ai-scorer/ai-scorer-sampling.js → agent-scorer/agent-scorer-sampling.js} +0 -0
- /package/dist/wirings/{ai-scorer/ai-scorer-snapshots.js → agent-scorer/agent-scorer-snapshots.js} +0 -0
- /package/src/{column-form.ts → classification/column-form.ts} +0 -0
- /package/src/{pikku-request.test.ts → function/pikku-request.test.ts} +0 -0
- /package/src/{pikku-request.ts → function/pikku-request.ts} +0 -0
- /package/src/wirings/{rpc → addon}/addon-auth-tags.test.ts +0 -0
- /package/src/wirings/{rpc → addon}/addon-runner.ts +0 -0
- /package/src/wirings/{rpc → addon}/addon-secrets.test.ts +0 -0
- /package/src/wirings/{rpc → addon}/wire-addon.test.ts +0 -0
- /package/src/wirings/{rpc → addon}/wire-remote-addon.ts +0 -0
- /package/src/wirings/{ai-scorer/ai-scorer-sampling.ts → agent-scorer/agent-scorer-sampling.ts} +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export type Private<T> = T & {
|
|
2
|
+
readonly __classification__?: 'private';
|
|
3
|
+
};
|
|
4
|
+
export type Pii<T> = T & {
|
|
5
|
+
readonly __classification__?: 'pii';
|
|
6
|
+
};
|
|
7
|
+
export type Secret<T> = T & {
|
|
8
|
+
readonly __classification__?: 'secret';
|
|
9
|
+
};
|
|
10
|
+
export type Classification = 'public' | 'private' | 'pii' | 'secret';
|
|
11
|
+
export type AnonymizeStrategy = 'fake:email' | 'fake:name' | 'hash' | 'keep' | null;
|
|
12
|
+
/**
|
|
13
|
+
* How a column's bytes are represented at rest, as distinct from how sensitive
|
|
14
|
+
* the value is (`Classification`). The two are independent: a token hash is
|
|
15
|
+
* `secret` + `hashed` and must never be encrypted, because the hash *is* the
|
|
16
|
+
* lookup key; a live bearer token is `secret` + `plain` today and should not be.
|
|
17
|
+
*
|
|
18
|
+
* `wrapped` and `sealed` are siblings rather than one being "encrypted": both
|
|
19
|
+
* are ciphertext, and what separates them is who can read it back. Wrapped is
|
|
20
|
+
* symmetric and the application holds the key. Sealed is asymmetric and the
|
|
21
|
+
* application holds only the public half, so it can write the value and never
|
|
22
|
+
* read it. Storing one where the other is expected is silent, permanent data
|
|
23
|
+
* loss, which is why they are not collapsed into a single `encrypted`.
|
|
24
|
+
*/
|
|
25
|
+
export type ColumnForm = 'plain' | 'hashed' | 'wrapped' | 'sealed';
|
|
26
|
+
declare const wrappedBrand: unique symbol;
|
|
27
|
+
declare const sealedBrand: unique symbol;
|
|
28
|
+
declare const hashedBrand: unique symbol;
|
|
29
|
+
/**
|
|
30
|
+
* Ciphertext under a symmetric key the application holds — the output of
|
|
31
|
+
* `envelopeEncrypt`, `wrapDEK` or `envelopeRewrap`.
|
|
32
|
+
*
|
|
33
|
+
* Unlike `Secret<T>` the brand is REQUIRED, so a plain `string` is not
|
|
34
|
+
* assignable and a column declared `form: 'wrapped'` cannot be written with
|
|
35
|
+
* anything but genuine ciphertext. It stays assignable *to* `string`, so it
|
|
36
|
+
* still works as a query operand and serializes normally — the constraint is on
|
|
37
|
+
* construction, not on use.
|
|
38
|
+
*/
|
|
39
|
+
export type WrappedValue = string & {
|
|
40
|
+
readonly [wrappedBrand]: true;
|
|
41
|
+
};
|
|
42
|
+
/** Ciphertext under a public key whose private half the application does not
|
|
43
|
+
* hold. Deliberately not assignable to `WrappedValue`: writing one where the
|
|
44
|
+
* other belongs produces a row nobody can ever open. */
|
|
45
|
+
export type SealedValue = string & {
|
|
46
|
+
readonly [sealedBrand]: true;
|
|
47
|
+
};
|
|
48
|
+
/** A one-way digest of a secret input. The brand's job is narrow — stop a *raw*
|
|
49
|
+
* credential being written into the column that should hold its hash. */
|
|
50
|
+
export type HashedValue = string & {
|
|
51
|
+
readonly [hashedBrand]: true;
|
|
52
|
+
};
|
|
53
|
+
export interface ColumnClassification {
|
|
54
|
+
classification: Classification;
|
|
55
|
+
anonymize_strategy: AnonymizeStrategy;
|
|
56
|
+
/** At-rest representation. Absent means `plain`. */
|
|
57
|
+
form?: ColumnForm;
|
|
58
|
+
description?: string;
|
|
59
|
+
}
|
|
60
|
+
export type ClassificationManifest = {
|
|
61
|
+
version: 1;
|
|
62
|
+
tables: Record<string, Record<string, ColumnClassification>>;
|
|
63
|
+
};
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a value is, and how it must be handled: the classification brands a
|
|
3
|
+
* column carries, the stored forms those brands map to, and the wrapper that
|
|
4
|
+
* keeps a secret out of a log.
|
|
5
|
+
*
|
|
6
|
+
* These arrived as three entry points — one for the types, one for the
|
|
7
|
+
* runtime helpers, one for `SecretValue` — which is the same subject behind
|
|
8
|
+
* three doors, split by whether a name happens to be a type or a value.
|
|
9
|
+
*/
|
|
10
|
+
export type { Private, Pii, Secret, Classification, AnonymizeStrategy, ColumnForm, WrappedValue, SealedValue, HashedValue, ColumnClassification, ClassificationManifest, } from './data-classification.js';
|
|
11
|
+
export { hashToken, unsafeAsWrapped, unsafeAsSealed, unsafeAsHashed, } from './column-form.js';
|
|
12
|
+
export { REDACTED, SecretCoercionError, SecretValue, createSecretValue, isSecretValue, } from './secret-value.js';
|
|
13
|
+
export type { Safe } from './secret-value.js';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Secret } from './data-classification.js';
|
|
2
|
+
declare const secretValueBrand: unique symbol;
|
|
3
|
+
export declare const REDACTED = "[secret]";
|
|
4
|
+
/** Runtime marker, resilient to duplicate copies of core. */
|
|
5
|
+
declare const SECRET_VALUE: unique symbol;
|
|
6
|
+
declare const NODE_INSPECT: unique symbol;
|
|
7
|
+
export declare class SecretCoercionError extends Error {
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A vault secret. Nominal, so it is not assignable to `string` and every
|
|
12
|
+
* concretely-typed sink rejects it; `.reveal()` is the one way out, and every
|
|
13
|
+
* call is a deliberate, greppable disclosure.
|
|
14
|
+
*
|
|
15
|
+
* The revealed value carries the erasable `Secret<T>` classification brand, so
|
|
16
|
+
* the inspector can still follow it one hop past the call.
|
|
17
|
+
*
|
|
18
|
+
* Structured serialization redacts to `[secret]` — an audit or log write must
|
|
19
|
+
* stay honest about the field without crashing the request. String coercion
|
|
20
|
+
* throws, because a template literal or concatenation is always a leak.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SecretValue<T = string> {
|
|
23
|
+
#private;
|
|
24
|
+
readonly [secretValueBrand]: true;
|
|
25
|
+
readonly [SECRET_VALUE] = true;
|
|
26
|
+
constructor(value: T);
|
|
27
|
+
reveal(): Secret<T>;
|
|
28
|
+
toJSON(): string;
|
|
29
|
+
[NODE_INSPECT](): string;
|
|
30
|
+
toString(): never;
|
|
31
|
+
[Symbol.toPrimitive](): never;
|
|
32
|
+
}
|
|
33
|
+
export declare const createSecretValue: <T>(value: T) => SecretValue<T>;
|
|
34
|
+
export declare const isSecretValue: (value: unknown) => value is SecretValue<unknown>;
|
|
35
|
+
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
36
|
+
type Passthrough = Function | Date | RegExp | Error | ArrayBuffer | ArrayBufferView;
|
|
37
|
+
/**
|
|
38
|
+
* Rejects a `SecretValue` anywhere in `T`, however deeply nested, by collapsing
|
|
39
|
+
* it to `never`.
|
|
40
|
+
*
|
|
41
|
+
* For sinks whose parameters are `any`, `unknown` or a free generic — loggers,
|
|
42
|
+
* queue payloads, channel messages — where nominality alone cannot help.
|
|
43
|
+
* `any` is passed through untouched: it cannot be guarded, and collapsing it
|
|
44
|
+
* would reject every legitimate call.
|
|
45
|
+
*
|
|
46
|
+
* `Promise`, `Map` and `Set` are recursed into rather than passed through. A
|
|
47
|
+
* mapped type cannot reach what they hold — mapping their keys yields their
|
|
48
|
+
* methods, not their contents — so treating them as opaque let a secret ride
|
|
49
|
+
* through inside one. `Promise` is the case that bites: `getSecret()` returns
|
|
50
|
+
* `Promise<SecretValue<T>>`, so a forgotten `await` would otherwise log a
|
|
51
|
+
* secret.
|
|
52
|
+
*/
|
|
53
|
+
export type Safe<T> = IsAny<T> extends true ? T : [Extract<T, SecretValue<any>>] extends [never] ? T extends Promise<infer V> ? Promise<Safe<V>> : T extends Map<infer K, infer V> ? Map<Safe<K>, Safe<V>> : T extends Set<infer V> ? Set<Safe<V>> : T extends Passthrough ? T : T extends object ? {
|
|
54
|
+
[K in keyof T]: Safe<T[K]>;
|
|
55
|
+
} : T : never;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const REDACTED = '[secret]';
|
|
2
|
+
/** Runtime marker, resilient to duplicate copies of core. */
|
|
3
|
+
const SECRET_VALUE = Symbol.for('pikku.secretValue');
|
|
4
|
+
const NODE_INSPECT = Symbol.for('nodejs.util.inspect.custom');
|
|
5
|
+
export class SecretCoercionError extends Error {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(`A secret was coerced to a string, which would write it out in the clear. Unwrap it deliberately with .reveal() at the point it reaches the wire.`);
|
|
8
|
+
this.name = 'SecretCoercionError';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A vault secret. Nominal, so it is not assignable to `string` and every
|
|
13
|
+
* concretely-typed sink rejects it; `.reveal()` is the one way out, and every
|
|
14
|
+
* call is a deliberate, greppable disclosure.
|
|
15
|
+
*
|
|
16
|
+
* The revealed value carries the erasable `Secret<T>` classification brand, so
|
|
17
|
+
* the inspector can still follow it one hop past the call.
|
|
18
|
+
*
|
|
19
|
+
* Structured serialization redacts to `[secret]` — an audit or log write must
|
|
20
|
+
* stay honest about the field without crashing the request. String coercion
|
|
21
|
+
* throws, because a template literal or concatenation is always a leak.
|
|
22
|
+
*/
|
|
23
|
+
export class SecretValue {
|
|
24
|
+
[SECRET_VALUE] = true;
|
|
25
|
+
#value;
|
|
26
|
+
constructor(value) {
|
|
27
|
+
this.#value = value;
|
|
28
|
+
}
|
|
29
|
+
reveal() {
|
|
30
|
+
return this.#value;
|
|
31
|
+
}
|
|
32
|
+
toJSON() {
|
|
33
|
+
return REDACTED;
|
|
34
|
+
}
|
|
35
|
+
[NODE_INSPECT]() {
|
|
36
|
+
return REDACTED;
|
|
37
|
+
}
|
|
38
|
+
toString() {
|
|
39
|
+
throw new SecretCoercionError();
|
|
40
|
+
}
|
|
41
|
+
[Symbol.toPrimitive]() {
|
|
42
|
+
throw new SecretCoercionError();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export const createSecretValue = (value) => new SecretValue(value);
|
|
46
|
+
export const isSecretValue = (value) => typeof value === 'object' && value !== null && SECRET_VALUE in value;
|
package/dist/crypto-utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WrappedValue } from './data-classification.js';
|
|
1
|
+
import type { WrappedValue } from './classification/data-classification.js';
|
|
2
2
|
export declare const encryptJSON: (secret: string, value: unknown) => Promise<string>;
|
|
3
3
|
export declare const decryptJSON: <T>(secret: string, token: string) => Promise<T>;
|
|
4
4
|
/**
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { gradeRun } from '../wirings/agent-scorer/agent-scorer-grade.js';
|
|
2
|
+
export { addAgentScorer } from '../wirings/agent-scorer/agent-scorer-registry.js';
|
|
3
|
+
export { enableScoreSnapshots, getScoreSnapshot, } from '../wirings/agent-scorer/agent-scorer-snapshots.js';
|
|
4
|
+
export { wireAgentScorerQueueWorkers } from '../wirings/agent-scorer/agent-scorer-worker.js';
|
|
5
|
+
export { pikkuAgentJudge, pikkuAgentScorer, } from '../wirings/agent-scorer/agent-scorer.js';
|
|
6
|
+
export type { AgentRunScore, ScorerMeta, } from '../wirings/agent-scorer/agent-scorer.types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Types the exports above mention but do not themselves export. Without
|
|
9
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
10
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
11
|
+
*/
|
|
12
|
+
export type { PikkuAgentScorer, ScoreJob, ScorerInput, ScorerOutput, } from '../wirings/agent-scorer/agent-scorer.types.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { gradeRun } from '../wirings/agent-scorer/agent-scorer-grade.js';
|
|
2
|
+
export { addAgentScorer } from '../wirings/agent-scorer/agent-scorer-registry.js';
|
|
3
|
+
export { enableScoreSnapshots, getScoreSnapshot, } from '../wirings/agent-scorer/agent-scorer-snapshots.js';
|
|
4
|
+
export { wireAgentScorerQueueWorkers } from '../wirings/agent-scorer/agent-scorer-worker.js';
|
|
5
|
+
export { pikkuAgentJudge, pikkuAgentScorer, } from '../wirings/agent-scorer/agent-scorer.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type { AgentRunStateService, CreateRunInput, SaveScoreInput, } from '../services/agent-run-state-service.js';
|
|
2
|
+
export type { AgentRunnerParams, AgentRunnerService, AgentStepResult, } from '../services/agent-runner-service.js';
|
|
3
|
+
export type { AgentStorageService } from '../services/agent-storage-service.js';
|
|
4
|
+
export { agent, agentApprove, agentResume, agentStream, } from '../wirings/agent/agent-helpers.js';
|
|
5
|
+
export { resolveModelAlias } from '../wirings/agent/agent-model-config.js';
|
|
6
|
+
export { canAccessThread, isOwnedByPrincipal, threadOwnerConstraint, } from '../wirings/agent/agent-prepare.js';
|
|
7
|
+
export { addAgent } from '../wirings/agent/agent-registry.js';
|
|
8
|
+
export type { AgentInput, AgentMemoryConfig, AgentMessage, AgentsMeta, AgentStep, AgentContentPart, AgentRunRow, AgentRunService, AgentRunState, AgentStreamChannel, AgentThread, CoreAgent, PendingApproval, PikkuAgentMiddlewareHooks, } from '../wirings/agent/agent.types.js';
|
|
9
|
+
export { voiceInput } from '../wirings/agent/voice-input.js';
|
|
10
|
+
export { voiceOutput } from '../wirings/agent/voice-output.js';
|
|
11
|
+
/**
|
|
12
|
+
* Types the exports above mention but do not themselves export. Without
|
|
13
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
14
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
15
|
+
*/
|
|
16
|
+
export type { LogLevel } from '../services/logger.js';
|
|
17
|
+
export type { WebhookServiceConfig } from '../services/webhook-service.js';
|
|
18
|
+
export type { CoreSingletonServices, PostgresConfig, } from '../types/core.types.js';
|
|
19
|
+
export type { SpeakableScripts } from '../wirings/agent/voice-output.js';
|
|
20
|
+
export type { WorkflowServiceConfig } from '../wirings/workflow/workflow.types.js';
|
|
21
|
+
export type { VoiceOutputState } from '../wirings/agent/voice-output.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { agent, agentApprove, agentResume, agentStream, } from '../wirings/agent/agent-helpers.js';
|
|
2
|
+
export { resolveModelAlias } from '../wirings/agent/agent-model-config.js';
|
|
3
|
+
export { canAccessThread, isOwnedByPrincipal, threadOwnerConstraint, } from '../wirings/agent/agent-prepare.js';
|
|
4
|
+
export { addAgent } from '../wirings/agent/agent-registry.js';
|
|
5
|
+
export { voiceInput } from '../wirings/agent/voice-input.js';
|
|
6
|
+
export { voiceOutput } from '../wirings/agent/voice-output.js';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { PikkuLocalChannelHandler } from '../../wirings/channel/local/local-channel-handler.js';
|
|
2
|
+
export { runLocalChannel } from '../../wirings/channel/local/local-channel-runner.js';
|
|
3
|
+
export { LocalEventHubService } from '../../wirings/channel/local/local-eventhub-service.js';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { PikkuLocalChannelHandler } from '../../wirings/channel/local/local-channel-handler.js';
|
|
2
|
+
export { runLocalChannel } from '../../wirings/channel/local/local-channel-runner.js';
|
|
3
|
+
export { LocalEventHubService } from '../../wirings/channel/local/local-eventhub-service.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { runChannelConnect, runChannelDisconnect, runChannelMessage, } from '../../wirings/channel/serverless/serverless-channel-runner.js';
|
|
2
|
+
export type { RunServerlessChannelParams } from '../../wirings/channel/serverless/serverless-channel-runner.js';
|
|
3
|
+
/**
|
|
4
|
+
* Types the exports above mention but do not themselves export. Without
|
|
5
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
6
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
7
|
+
*/
|
|
8
|
+
export type { ChannelStore } from '../../wirings/channel/channel-store.js';
|
|
9
|
+
export type { PikkuChannelHandlerFactory } from '../../wirings/channel/channel.types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { runChannelConnect, runChannelDisconnect, runChannelMessage, } from '../../wirings/channel/serverless/serverless-channel-runner.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { addChannelMiddleware } from '../wirings/channel/channel-middleware-runner.js';
|
|
2
|
+
export type { Capabilities } from '../wirings/channel/channel-rpc.types.js';
|
|
3
|
+
export { ChannelStore } from '../wirings/channel/channel-store.js';
|
|
4
|
+
export type { Channel } from '../wirings/channel/channel-store.js';
|
|
5
|
+
export type { BinaryData, ChannelMessageMeta, ChannelMeta, ChannelsMeta, CoreChannel, CorePikkuChannelMiddleware, CorePikkuChannelMiddlewareFactory, PikkuChannelHandlerFactory, } from '../wirings/channel/channel.types.js';
|
|
6
|
+
export type { EventHubService } from '../wirings/channel/eventhub-service.js';
|
|
7
|
+
export { EventHubStore } from '../wirings/channel/eventhub-store.js';
|
|
8
|
+
export { logChannels } from '../wirings/channel/log-channels.js';
|
|
9
|
+
export { PikkuAbstractChannelHandler } from '../wirings/channel/pikku-abstract-channel-handler.js';
|
|
10
|
+
/**
|
|
11
|
+
* Types the exports above mention but do not themselves export. Without
|
|
12
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
13
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
14
|
+
*/
|
|
15
|
+
export type { Logger } from '../services/logger.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { addChannelMiddleware } from '../wirings/channel/channel-middleware-runner.js';
|
|
2
|
+
export { ChannelStore } from '../wirings/channel/channel-store.js';
|
|
3
|
+
export { EventHubStore } from '../wirings/channel/eventhub-store.js';
|
|
4
|
+
export { logChannels } from '../wirings/channel/log-channels.js';
|
|
5
|
+
export { PikkuAbstractChannelHandler } from '../wirings/channel/pikku-abstract-channel-handler.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { handleRawCLI } from '../../wirings/cli/channel/cli-raw-channel-runner.js';
|
|
2
|
+
export type { RawCLIFrame } from '../../wirings/cli/channel/cli-raw-channel-runner.js';
|
|
3
|
+
export { executeRawCLIViaChannel } from '../../wirings/cli/channel/cli-raw-client-runner.js';
|
|
4
|
+
export type { CorePikkuCLIClientRender } from '../../wirings/cli/channel/cli-raw-client-runner.js';
|
|
5
|
+
/**
|
|
6
|
+
* Types the exports above mention but do not themselves export. Without
|
|
7
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
8
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
9
|
+
*/
|
|
10
|
+
export type { LogLevel } from '../../services/logger.js';
|
|
11
|
+
export type { WebhookServiceConfig } from '../../services/webhook-service.js';
|
|
12
|
+
export type { CoreSingletonServices, CoreUserSession, CreateWireServices, PostgresConfig, } from '../../types/core.types.js';
|
|
13
|
+
export type { ApprovalRequester, Capabilities, } from '../../wirings/channel/channel-rpc.types.js';
|
|
14
|
+
export type { PikkuChannel } from '../../wirings/channel/channel.types.js';
|
|
15
|
+
export type { RawCLIResult } from '../../wirings/cli/channel/cli-raw-channel-runner.js';
|
|
16
|
+
export type { WorkflowServiceConfig } from '../../wirings/workflow/workflow.types.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { CLIError, executeCLI, pikkuCLIRender, } from '../wirings/cli/cli-runner.js';
|
|
2
|
+
export type { CLICommandMeta, CLIMeta, CLIProgramMeta, CoreCLI, CoreCLICommandConfig, CorePikkuCLIRender, } from '../wirings/cli/cli.types.js';
|
|
3
|
+
export { generateCommandHelp } from '../wirings/cli/command-parser.js';
|
|
4
|
+
/**
|
|
5
|
+
* Types the exports above mention but do not themselves export. Without
|
|
6
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
7
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
8
|
+
*/
|
|
9
|
+
export type { CreateConfig, CreateSingletonServices, CreateWireServices, } from '../types/core.types.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type { CredentialService } from '../services/credential-service.js';
|
|
2
|
+
export type { CredentialDefinitions } from '../wirings/credential/credential.types.js';
|
|
3
|
+
export { validateAndBuildCredentialDefinitionsMeta } from '../wirings/credential/validate-credential-definitions.js';
|
|
4
|
+
/**
|
|
5
|
+
* Types the exports above mention but do not themselves export. Without
|
|
6
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
7
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
8
|
+
*/
|
|
9
|
+
export type { SchemaRefLike } from '../types/core.types.js';
|
|
10
|
+
export type { CredentialDefinitionsMeta } from '../wirings/credential/credential.types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { validateAndBuildCredentialDefinitionsMeta } from '../wirings/credential/validate-credential-definitions.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { deriveKEK, envelopeDecrypt, envelopeEncrypt, envelopeRewrap, generateKEKSalt, } from '../crypto-utils.js';
|
|
2
|
+
export type { EnvelopeEncryptResult } from '../crypto-utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Types the exports above mention but do not themselves export. Without
|
|
5
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
6
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
7
|
+
*/
|
|
8
|
+
export type { WrappedValue } from '../data-classification.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { deriveKEK, envelopeDecrypt, envelopeEncrypt, envelopeRewrap, generateKEKSalt, } from '../crypto-utils.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { pikkuDevReloader } from '../dev/hot-reload.js';
|
|
2
|
+
export { reconcileAddonRegistry, reloadGeneratedMeta, } from '../dev/reload-meta.js';
|
|
3
|
+
/**
|
|
4
|
+
* Types the exports above mention but do not themselves export. Without
|
|
5
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
6
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
7
|
+
*/
|
|
8
|
+
export type { ReloadGeneratedMetaOptions } from '../dev/reload-meta.js';
|
|
9
|
+
export type { Logger } from '../services/logger.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from '../errors/errors.js';
|
|
2
|
+
export { PikkuError, addError } from '../errors/error-handler.js';
|
|
3
|
+
/**
|
|
4
|
+
* Types the exports above mention but do not themselves export. Without
|
|
5
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
6
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
7
|
+
*/
|
|
8
|
+
export type { ErrorDetails } from '../errors/error-handler.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { addFunction, getAllFunctionNames, } from '../function/function-runner.js';
|
|
2
|
+
export { pikkuAuth } from '../function/functions.types.js';
|
|
3
|
+
export type { CorePikkuAuth, CorePikkuAuthConfig, CorePikkuFunction, CorePikkuFunctionConfig, CorePikkuFunctionSessionless, CorePikkuPermission, CorePikkuSessionlessFunctionConfig, } from '../function/functions.types.js';
|
|
4
|
+
export type { ListInput, ListOutput } from '../function/list.types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Types the exports above mention but do not themselves export. Without
|
|
7
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
8
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
9
|
+
*/
|
|
10
|
+
export type { LogLevel } from '../services/logger.js';
|
|
11
|
+
export type { WebhookServiceConfig } from '../services/webhook-service.js';
|
|
12
|
+
export type { CoreSecretlessSingletonServices, CoreSingletonServices, CoreUserSession, PostgresConfig, SecretlessServices, } from '../types/core.types.js';
|
|
13
|
+
export type { WorkflowServiceConfig } from '../wirings/workflow/workflow.types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { GatewayTransportType, GatewaysMeta, } from '../wirings/gateway/gateway.types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { hmacSha256Hex, timingSafeStringEqual } from '../utils/hmac.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { hmacSha256Hex, timingSafeStringEqual } from '../utils/hmac.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { fetch, fetchData, wireHTTP } from '../wirings/http/http-runner.js';
|
|
2
|
+
export type { AssertHTTPWiringParams, CoreHTTPFunctionWiring, HTTPMethod, HTTPRouteBaseConfig, HTTPWiringsMeta, PikkuHTTP, PikkuHTTPResponse, PikkuQuery, RunHTTPWiringOptions, } from '../wirings/http/http.types.js';
|
|
3
|
+
export { logRoutes } from '../wirings/http/log-http-routes.js';
|
|
4
|
+
export { DEFAULT_MAX_BODY_SIZE, PikkuFetchHTTPRequest, } from '../wirings/http/pikku-fetch-http-request.js';
|
|
5
|
+
export { PikkuFetchHTTPResponse } from '../wirings/http/pikku-fetch-http-response.js';
|
|
6
|
+
export { toWebRequest } from '../wirings/http/web-request.js';
|
|
7
|
+
/**
|
|
8
|
+
* Types the exports above mention but do not themselves export. Without
|
|
9
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
10
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
11
|
+
*/
|
|
12
|
+
export type { Logger } from '../services/logger.js';
|
|
13
|
+
export type { PikkuHTTPRequest } from '../wirings/http/http.types.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { fetch, fetchData, wireHTTP } from '../wirings/http/http-runner.js';
|
|
2
|
+
export { logRoutes } from '../wirings/http/log-http-routes.js';
|
|
3
|
+
export { DEFAULT_MAX_BODY_SIZE, PikkuFetchHTTPRequest, } from '../wirings/http/pikku-fetch-http-request.js';
|
|
4
|
+
export { PikkuFetchHTTPResponse } from '../wirings/http/pikku-fetch-http-response.js';
|
|
5
|
+
export { toWebRequest } from '../wirings/http/web-request.js';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { MCPEndpointRegistry } from '../wirings/mcp/mcp-endpoint-registry.js';
|
|
2
|
+
export { MCPError, getMCPPromptsMeta, getMCPResourcesMeta, getMCPToolsMeta, runMCPPrompt, runMCPResource, runMCPTool, } from '../wirings/mcp/mcp-runner.js';
|
|
3
|
+
export type { AssertMCPResourceURIParams, CoreMCPPrompt, CoreMCPResource, MCPPromptMeta, MCPResourceMeta, MCPToolMeta, MCPToolResponse, PikkuMCP, } from '../wirings/mcp/mcp.types.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { addGlobalMiddleware, runMiddleware } from '../middleware-runner.js';
|
|
2
|
+
export { authAPIKey } from '../middleware/auth-apikey.js';
|
|
3
|
+
export { authCookie } from '../middleware/auth-cookie.js';
|
|
4
|
+
export { pikkuRemoteAuthMiddleware } from '../middleware/remote-auth.js';
|
|
5
|
+
export { telemetryInner, telemetryOuter } from '../middleware/telemetry.js';
|
|
6
|
+
export { addGlobalPermission } from '../permissions.js';
|
|
7
|
+
export { pikkuMiddleware } from '../types/core.types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Types the exports above mention but do not themselves export. Without
|
|
10
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
11
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
12
|
+
*/
|
|
13
|
+
export type { CorePermissionGroup, CorePikkuPermission, } from '../function/functions.types.js';
|
|
14
|
+
export type { LogLevel } from '../services/logger.js';
|
|
15
|
+
export type { WebhookServiceConfig } from '../services/webhook-service.js';
|
|
16
|
+
export type { RelativeTimeInput } from '../time-utils.js';
|
|
17
|
+
export type { CorePikkuMiddleware, CorePikkuMiddlewareFactory, CoreSingletonServices, CoreUserSession, PostgresConfig, } from '../types/core.types.js';
|
|
18
|
+
export type { WorkflowServiceConfig } from '../wirings/workflow/workflow.types.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { addGlobalMiddleware, runMiddleware } from '../middleware-runner.js';
|
|
2
|
+
export { authAPIKey } from '../middleware/auth-apikey.js';
|
|
3
|
+
export { authCookie } from '../middleware/auth-cookie.js';
|
|
4
|
+
export { pikkuRemoteAuthMiddleware } from '../middleware/remote-auth.js';
|
|
5
|
+
export { telemetryInner, telemetryOuter } from '../middleware/telemetry.js';
|
|
6
|
+
export { addGlobalPermission } from '../permissions.js';
|
|
7
|
+
export { pikkuMiddleware } from '../types/core.types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { installNodeHostResolver } from '../utils/node-host-resolver.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { installNodeHostResolver } from '../utils/node-host-resolver.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { CoreNodeConfig, NodeType, NodesMeta, } from '../wirings/node/node.types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { OAuth2AppCredential, OAuth2Token, } from '../wirings/oauth2/oauth2.types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { HttpPersona, createHttpPersonas } from '../services/http-personas.js';
|
|
2
|
+
export type { HttpPersonasConfig } from '../services/http-personas.js';
|
|
3
|
+
export { postScenarioJson, readScenarioHttpResponse, } from '../services/personas-service.js';
|
|
4
|
+
export type { ScenarioHttpResponse } from '../services/personas-service.js';
|
|
5
|
+
export { personaEmails } from '../wirings/persona/persona-email.js';
|
|
6
|
+
export { personaEnvironmentErrors, personaEnvironmentRefusal, } from '../wirings/persona/persona-environments.js';
|
|
7
|
+
export type { CorePersona, PersonaAccountMeta, PersonaDefinitions, PersonaMeta, } from '../wirings/persona/persona.types.js';
|
|
8
|
+
export { isRunnablePersona, roleMismatchMessage, validateAndBuildPersonasMeta, verifyPersonaRoles, } from '../wirings/persona/validate-personas.js';
|
|
9
|
+
/**
|
|
10
|
+
* Types the exports above mention but do not themselves export. Without
|
|
11
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
12
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
13
|
+
*/
|
|
14
|
+
export type { ScenarioPersonas } from '../services/personas-service.js';
|
|
15
|
+
export type { PersonaEnvironment, PersonaEnvironmentSubject, } from '../wirings/persona/persona-environments.js';
|
|
16
|
+
export type { PersonasMeta } from '../wirings/persona/persona.types.js';
|
|
17
|
+
export type { RoleVerification } from '../wirings/persona/validate-personas.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { HttpPersona, createHttpPersonas } from '../services/http-personas.js';
|
|
2
|
+
export { postScenarioJson, readScenarioHttpResponse, } from '../services/personas-service.js';
|
|
3
|
+
export { personaEmails } from '../wirings/persona/persona-email.js';
|
|
4
|
+
export { personaEnvironmentErrors, personaEnvironmentRefusal, } from '../wirings/persona/persona-environments.js';
|
|
5
|
+
export { isRunnablePersona, roleMismatchMessage, validateAndBuildPersonasMeta, verifyPersonaRoles, } from '../wirings/persona/validate-personas.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { InMemoryQueueService } from '../services/in-memory-queue-service.js';
|
|
2
|
+
export { QueueWebhookService } from '../services/queue-webhook-service.js';
|
|
3
|
+
export { QueueJobDiscardedError, QueueJobFailedError, runQueueJob, } from '../wirings/queue/queue-runner.js';
|
|
4
|
+
export type { ConfigValidationResult, CoreQueueWorker, JobOptions, PikkuJobConfig, PikkuWorkerConfig, QueueJob, QueueJobStatus, QueueService, QueueWorkers, QueueWorkersMeta, } from '../wirings/queue/queue.types.js';
|
|
5
|
+
export { registerQueueWorkers } from '../wirings/queue/register-queue-helper.js';
|
|
6
|
+
export type { QueueConfigMapping } from '../wirings/queue/validate-worker-config.js';
|
|
7
|
+
/**
|
|
8
|
+
* Types the exports above mention but do not themselves export. Without
|
|
9
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
10
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
11
|
+
*/
|
|
12
|
+
export type { Logger } from '../services/logger.js';
|
|
13
|
+
export type { QueueRegistrationCallback } from '../wirings/queue/register-queue-helper.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { InMemoryQueueService } from '../services/in-memory-queue-service.js';
|
|
2
|
+
export { QueueWebhookService } from '../services/queue-webhook-service.js';
|
|
3
|
+
export { QueueJobDiscardedError, QueueJobFailedError, runQueueJob, } from '../wirings/queue/queue-runner.js';
|
|
4
|
+
export { registerQueueWorkers } from '../wirings/queue/register-queue-helper.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { buildRemoteHeaders } from '../remote.js';
|
|
2
|
+
/**
|
|
3
|
+
* Types the exports above mention but do not themselves export. Without
|
|
4
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
5
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
6
|
+
*/
|
|
7
|
+
export type { JWTService } from '../services/jwt-service.js';
|
|
8
|
+
export type { SecretService } from '../services/secret-service.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { buildRemoteHeaders } from '../remote.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { Role } from '../services/scope-service.js';
|
|
2
|
+
export { defineSystemRole } from '../wirings/role/define-system-role.js';
|
|
3
|
+
export type { CoreSystemRole, CoreSystemRoles, SystemRole, SystemRoleDefinitionMeta, SystemRoleDefinitions, SystemRoleDefinitionsMeta, } from '../wirings/role/role.types.js';
|
|
4
|
+
export { flattenSystemRoleDefinitions, validateAndBuildSystemRoleDefinitionsMeta, } from '../wirings/role/validate-role-definitions.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { rpcService } from '../wirings/rpc/rpc-runner.js';
|
|
2
|
+
export type { PikkuRPC } from '../wirings/rpc/rpc-types.js';
|
|
3
|
+
export { wireAddon } from '../wirings/rpc/wire-addon.js';
|
|
4
|
+
export type { WireAddonConfig } from '../wirings/rpc/wire-addon.js';
|
|
5
|
+
export { wireRemoteAddon } from '../wirings/rpc/wire-remote-addon.js';
|
|
6
|
+
export type { RemoteAddonAuth, WireRemoteAddonConfig, } from '../wirings/rpc/wire-remote-addon.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { safeFetch } from '../utils/safe-fetch.js';
|
|
2
|
+
/**
|
|
3
|
+
* Types the exports above mention but do not themselves export. Without
|
|
4
|
+
* them a consumer's declaration emit has no name for the type it infers,
|
|
5
|
+
* and fails with TS2883 rather than reaching for the original entry point.
|
|
6
|
+
*/
|
|
7
|
+
export type { SafeFetchOptions } from '../utils/safe-fetch.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { safeFetch } from '../utils/safe-fetch.js';
|