@od-oneapp/ai-platform 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +235 -0
- package/dist/agents-base.d.mts +12 -0
- package/dist/agents-base.d.mts.map +1 -0
- package/dist/agents-base.mjs +20 -0
- package/dist/agents-base.mjs.map +1 -0
- package/dist/agents-control-flow.d.mts +115 -0
- package/dist/agents-control-flow.d.mts.map +1 -0
- package/dist/agents-control-flow.mjs +514 -0
- package/dist/agents-control-flow.mjs.map +1 -0
- package/dist/agents-coordinator.d.mts +11 -0
- package/dist/agents-coordinator.d.mts.map +1 -0
- package/dist/agents-coordinator.mjs +12 -0
- package/dist/agents-coordinator.mjs.map +1 -0
- package/dist/agents-experimental.d.mts +153 -0
- package/dist/agents-experimental.d.mts.map +1 -0
- package/dist/agents-experimental.mjs +580 -0
- package/dist/agents-experimental.mjs.map +1 -0
- package/dist/agents-fallback.d.mts +10 -0
- package/dist/agents-fallback.d.mts.map +1 -0
- package/dist/agents-fallback.mjs +15 -0
- package/dist/agents-fallback.mjs.map +1 -0
- package/dist/agents-multi-swarm.d.mts +9 -0
- package/dist/agents-multi-swarm.d.mts.map +1 -0
- package/dist/agents-multi-swarm.mjs +44 -0
- package/dist/agents-multi-swarm.mjs.map +1 -0
- package/dist/agents-multi.d.mts +10 -0
- package/dist/agents-multi.d.mts.map +1 -0
- package/dist/agents-multi.mjs +44 -0
- package/dist/agents-multi.mjs.map +1 -0
- package/dist/agents-observability.d.mts +161 -0
- package/dist/agents-observability.d.mts.map +1 -0
- package/dist/agents-observability.mjs +550 -0
- package/dist/agents-observability.mjs.map +1 -0
- package/dist/agents-patterns.d.mts +9 -0
- package/dist/agents-patterns.d.mts.map +1 -0
- package/dist/agents-patterns.mjs +18 -0
- package/dist/agents-patterns.mjs.map +1 -0
- package/dist/agents-persistence.d.mts +234 -0
- package/dist/agents-persistence.d.mts.map +1 -0
- package/dist/agents-persistence.mjs +447 -0
- package/dist/agents-persistence.mjs.map +1 -0
- package/dist/agents-triage.d.mts +11 -0
- package/dist/agents-triage.d.mts.map +1 -0
- package/dist/agents-triage.mjs +13 -0
- package/dist/agents-triage.mjs.map +1 -0
- package/dist/agents-workflows.d.mts +9 -0
- package/dist/agents-workflows.d.mts.map +1 -0
- package/dist/agents-workflows.mjs +9 -0
- package/dist/agents-workflows.mjs.map +1 -0
- package/dist/agents.d.mts +30 -0
- package/dist/agents.d.mts.map +1 -0
- package/dist/agents.mjs +50 -0
- package/dist/agents.mjs.map +1 -0
- package/dist/aggregation-8KJF1uzp.d.mts +276 -0
- package/dist/aggregation-8KJF1uzp.d.mts.map +1 -0
- package/dist/aggregation-BDop87kL.mjs +1180 -0
- package/dist/aggregation-BDop87kL.mjs.map +1 -0
- package/dist/ai-runtime-CDzQztTt.mjs +85 -0
- package/dist/ai-runtime-CDzQztTt.mjs.map +1 -0
- package/dist/ai-runtime-DIwOEc6g.d.mts +56 -0
- package/dist/ai-runtime-DIwOEc6g.d.mts.map +1 -0
- package/dist/ai-sdk-error-integration-D0GDqrM0.d.mts +553 -0
- package/dist/ai-sdk-error-integration-D0GDqrM0.d.mts.map +1 -0
- package/dist/approval-queue-BcDDQ4oQ.mjs +104 -0
- package/dist/approval-queue-BcDDQ4oQ.mjs.map +1 -0
- package/dist/approval-queue-CiKiFT9z.d.mts +21 -0
- package/dist/approval-queue-CiKiFT9z.d.mts.map +1 -0
- package/dist/audio-BzvN7r10.d.mts +79 -0
- package/dist/audio-BzvN7r10.d.mts.map +1 -0
- package/dist/audio-vBG_62ME.mjs +226 -0
- package/dist/audio-vBG_62ME.mjs.map +1 -0
- package/dist/audit-logger-Bb2JIcIk.d.mts +12 -0
- package/dist/audit-logger-Bb2JIcIk.d.mts.map +1 -0
- package/dist/audit-logger-CHIP8bRO.mjs +596 -0
- package/dist/audit-logger-CHIP8bRO.mjs.map +1 -0
- package/dist/auto-resume-BpUNbPtp.d.mts +160 -0
- package/dist/auto-resume-BpUNbPtp.d.mts.map +1 -0
- package/dist/auto-resume-BuFRNvAX.mjs +638 -0
- package/dist/auto-resume-BuFRNvAX.mjs.map +1 -0
- package/dist/budget-guard-C83KCH9V.d.mts +52 -0
- package/dist/budget-guard-C83KCH9V.d.mts.map +1 -0
- package/dist/budget-guard-d_b5rq4u.mjs +158 -0
- package/dist/budget-guard-d_b5rq4u.mjs.map +1 -0
- package/dist/budget-guard-gyhJS00s.mjs +234 -0
- package/dist/budget-guard-gyhJS00s.mjs.map +1 -0
- package/dist/buffer-BC8mvXHE.d.mts +98 -0
- package/dist/buffer-BC8mvXHE.d.mts.map +1 -0
- package/dist/buffer-CefJGbRy.mjs +289 -0
- package/dist/buffer-CefJGbRy.mjs.map +1 -0
- package/dist/caching-adapters.d.mts +5 -0
- package/dist/caching-adapters.mjs +3 -0
- package/dist/caching-strategies.d.mts +52 -0
- package/dist/caching-strategies.d.mts.map +1 -0
- package/dist/caching-strategies.mjs +703 -0
- package/dist/caching-strategies.mjs.map +1 -0
- package/dist/caching.d.mts +14 -0
- package/dist/caching.d.mts.map +1 -0
- package/dist/caching.mjs +15 -0
- package/dist/caching.mjs.map +1 -0
- package/dist/catalog.d.mts +19 -0
- package/dist/catalog.d.mts.map +1 -0
- package/dist/catalog.mjs +1114 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/chunk-CkzbjWQW.mjs +20 -0
- package/dist/circuit-breaker-DoKWPORd.mjs +262 -0
- package/dist/circuit-breaker-DoKWPORd.mjs.map +1 -0
- package/dist/circuit-breaker-Mey3E7tW.d.mts +64 -0
- package/dist/circuit-breaker-Mey3E7tW.d.mts.map +1 -0
- package/dist/citation-generator-C-9RpbHq.mjs +103 -0
- package/dist/citation-generator-C-9RpbHq.mjs.map +1 -0
- package/dist/citation-generator-CDSymDs_.d.mts +18 -0
- package/dist/citation-generator-CDSymDs_.d.mts.map +1 -0
- package/dist/client-CpacYDIE.mjs +882 -0
- package/dist/client-CpacYDIE.mjs.map +1 -0
- package/dist/client.d.mts +103 -0
- package/dist/client.d.mts.map +1 -0
- package/dist/client.mjs +470 -0
- package/dist/client.mjs.map +1 -0
- package/dist/compliance-approval-queue-DQGLojAm.mjs +172 -0
- package/dist/compliance-approval-queue-DQGLojAm.mjs.map +1 -0
- package/dist/compliance-approval-queue-IrMxFfSJ.d.mts +99 -0
- package/dist/compliance-approval-queue-IrMxFfSJ.d.mts.map +1 -0
- package/dist/compliance-wrapper-CrOMHhHN.mjs +528 -0
- package/dist/compliance-wrapper-CrOMHhHN.mjs.map +1 -0
- package/dist/conditions-DmQ6Y1Wt.mjs +179 -0
- package/dist/conditions-DmQ6Y1Wt.mjs.map +1 -0
- package/dist/conditions-zDrKfrc3.d.mts +42 -0
- package/dist/conditions-zDrKfrc3.d.mts.map +1 -0
- package/dist/console-BGMxxPZN.mjs +181 -0
- package/dist/console-BGMxxPZN.mjs.map +1 -0
- package/dist/console-DqEqZd4A.d.mts +76 -0
- package/dist/console-DqEqZd4A.d.mts.map +1 -0
- package/dist/controller-BOy3-xbC.mjs +501 -0
- package/dist/controller-BOy3-xbC.mjs.map +1 -0
- package/dist/controller-Y0NGosbJ.d.mts +104 -0
- package/dist/controller-Y0NGosbJ.d.mts.map +1 -0
- package/dist/coordinator-agent-BglqZLwo.d.mts +54 -0
- package/dist/coordinator-agent-BglqZLwo.d.mts.map +1 -0
- package/dist/coordinator-agent-WFWBRL-G.mjs +236 -0
- package/dist/coordinator-agent-WFWBRL-G.mjs.map +1 -0
- package/dist/crypto-8ABhc3TD.mjs +40 -0
- package/dist/crypto-8ABhc3TD.mjs.map +1 -0
- package/dist/environment-CSoJb0SW.mjs +255 -0
- package/dist/environment-CSoJb0SW.mjs.map +1 -0
- package/dist/error-handling-DNVkm6RY.mjs +1334 -0
- package/dist/error-handling-DNVkm6RY.mjs.map +1 -0
- package/dist/errors-CQ8tF4dP.mjs +985 -0
- package/dist/errors-CQ8tF4dP.mjs.map +1 -0
- package/dist/errors-CfYdVeum.d.mts +212 -0
- package/dist/errors-CfYdVeum.d.mts.map +1 -0
- package/dist/errors-Dtn-UeRi.mjs +61 -0
- package/dist/errors-Dtn-UeRi.mjs.map +1 -0
- package/dist/evaluator-Cs84qkr8.mjs +91 -0
- package/dist/evaluator-Cs84qkr8.mjs.map +1 -0
- package/dist/evaluator-optimizer-De67_mJC.mjs +1086 -0
- package/dist/evaluator-optimizer-De67_mJC.mjs.map +1 -0
- package/dist/evaluator-optimizer-pattern-B5939s2Z.mjs +367 -0
- package/dist/evaluator-optimizer-pattern-B5939s2Z.mjs.map +1 -0
- package/dist/evaluator-optimizer-pattern-D1AJrzBD.d.mts +72 -0
- package/dist/evaluator-optimizer-pattern-D1AJrzBD.d.mts.map +1 -0
- package/dist/factory-DP6VSl8C.mjs +307 -0
- package/dist/factory-DP6VSl8C.mjs.map +1 -0
- package/dist/generative-ui-catalog.d.mts +8 -0
- package/dist/generative-ui-catalog.d.mts.map +1 -0
- package/dist/generative-ui-catalog.mjs +679 -0
- package/dist/generative-ui-catalog.mjs.map +1 -0
- package/dist/generative-ui-registry.d.mts +195 -0
- package/dist/generative-ui-registry.d.mts.map +1 -0
- package/dist/generative-ui-registry.mjs +250 -0
- package/dist/generative-ui-registry.mjs.map +1 -0
- package/dist/generative-ui-stream.d.mts +23 -0
- package/dist/generative-ui-stream.d.mts.map +1 -0
- package/dist/generative-ui-stream.mjs +219 -0
- package/dist/generative-ui-stream.mjs.map +1 -0
- package/dist/generative-ui-types.d.mts +123 -0
- package/dist/generative-ui-types.d.mts.map +1 -0
- package/dist/generative-ui-types.mjs +1 -0
- package/dist/generative-ui.d.mts +13 -0
- package/dist/generative-ui.d.mts.map +1 -0
- package/dist/generative-ui.mjs +21 -0
- package/dist/generative-ui.mjs.map +1 -0
- package/dist/governance-audit.d.mts +3 -0
- package/dist/governance-audit.mjs +3 -0
- package/dist/governance-compliance.d.mts +5 -0
- package/dist/governance-compliance.mjs +4 -0
- package/dist/governance-policies.d.mts +4 -0
- package/dist/governance-policies.mjs +4 -0
- package/dist/governance-tenancy.d.mts +3 -0
- package/dist/governance-tenancy.mjs +3 -0
- package/dist/governance.d.mts +88 -0
- package/dist/governance.d.mts.map +1 -0
- package/dist/governance.mjs +432 -0
- package/dist/governance.mjs.map +1 -0
- package/dist/grounding-attribution.d.mts +63 -0
- package/dist/grounding-attribution.d.mts.map +1 -0
- package/dist/grounding-attribution.mjs +259 -0
- package/dist/grounding-attribution.mjs.map +1 -0
- package/dist/grounding-citation.d.mts +2 -0
- package/dist/grounding-citation.mjs +3 -0
- package/dist/grounding-context.d.mts +9 -0
- package/dist/grounding-context.d.mts.map +1 -0
- package/dist/grounding-context.mjs +19 -0
- package/dist/grounding-context.mjs.map +1 -0
- package/dist/grounding-embed.d.mts +102 -0
- package/dist/grounding-embed.d.mts.map +1 -0
- package/dist/grounding-embed.mjs +417 -0
- package/dist/grounding-embed.mjs.map +1 -0
- package/dist/grounding-hallucination.d.mts +44 -0
- package/dist/grounding-hallucination.d.mts.map +1 -0
- package/dist/grounding-hallucination.mjs +115 -0
- package/dist/grounding-hallucination.mjs.map +1 -0
- package/dist/grounding-proof-map.d.mts +9 -0
- package/dist/grounding-proof-map.d.mts.map +1 -0
- package/dist/grounding-proof-map.mjs +26 -0
- package/dist/grounding-proof-map.mjs.map +1 -0
- package/dist/grounding-rag.d.mts +10 -0
- package/dist/grounding-rag.d.mts.map +1 -0
- package/dist/grounding-rag.mjs +27 -0
- package/dist/grounding-rag.mjs.map +1 -0
- package/dist/grounding-verification.d.mts +48 -0
- package/dist/grounding-verification.d.mts.map +1 -0
- package/dist/grounding-verification.mjs +224 -0
- package/dist/grounding-verification.mjs.map +1 -0
- package/dist/grounding.d.mts +24 -0
- package/dist/grounding.d.mts.map +1 -0
- package/dist/grounding.mjs +77 -0
- package/dist/grounding.mjs.map +1 -0
- package/dist/hitl-active-learning.d.mts +41 -0
- package/dist/hitl-active-learning.d.mts.map +1 -0
- package/dist/hitl-active-learning.mjs +178 -0
- package/dist/hitl-active-learning.mjs.map +1 -0
- package/dist/hitl-annotation.d.mts +74 -0
- package/dist/hitl-annotation.d.mts.map +1 -0
- package/dist/hitl-annotation.mjs +170 -0
- package/dist/hitl-annotation.mjs.map +1 -0
- package/dist/hitl-approval.d.mts +2 -0
- package/dist/hitl-approval.mjs +3 -0
- package/dist/hitl-feedback.d.mts +59 -0
- package/dist/hitl-feedback.d.mts.map +1 -0
- package/dist/hitl-feedback.mjs +137 -0
- package/dist/hitl-feedback.mjs.map +1 -0
- package/dist/hitl-review.d.mts +2 -0
- package/dist/hitl-review.mjs +3 -0
- package/dist/hitl.d.mts +14 -0
- package/dist/hitl.d.mts.map +1 -0
- package/dist/hitl.mjs +22 -0
- package/dist/hitl.mjs.map +1 -0
- package/dist/index-B17HT-VL.d.mts +285 -0
- package/dist/index-B17HT-VL.d.mts.map +1 -0
- package/dist/index-BDwgsK9B.d.mts +101 -0
- package/dist/index-BDwgsK9B.d.mts.map +1 -0
- package/dist/index-BGgMn_Ev.d.mts +2615 -0
- package/dist/index-BGgMn_Ev.d.mts.map +1 -0
- package/dist/index-DOqe5r9G.d.mts +318 -0
- package/dist/index-DOqe5r9G.d.mts.map +1 -0
- package/dist/index-DotINT7o.d.mts +1004 -0
- package/dist/index-DotINT7o.d.mts.map +1 -0
- package/dist/index-URlW7aD1.d.mts +67 -0
- package/dist/index-URlW7aD1.d.mts.map +1 -0
- package/dist/index.d.mts +64 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +46 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integrations-blob-storage.d.mts +25 -0
- package/dist/integrations-blob-storage.d.mts.map +1 -0
- package/dist/integrations-blob-storage.mjs +3 -0
- package/dist/integrations-notifications.d.mts +2 -0
- package/dist/integrations-notifications.mjs +3 -0
- package/dist/integrations-rate-limit.d.mts +27 -0
- package/dist/integrations-rate-limit.d.mts.map +1 -0
- package/dist/integrations-rate-limit.mjs +30 -0
- package/dist/integrations-rate-limit.mjs.map +1 -0
- package/dist/integrations-redis.d.mts +3 -0
- package/dist/integrations-redis.mjs +3 -0
- package/dist/integrations-stream.d.mts +14 -0
- package/dist/integrations-stream.d.mts.map +1 -0
- package/dist/integrations-stream.mjs +3 -0
- package/dist/integrations.d.mts +7 -0
- package/dist/integrations.mjs +7 -0
- package/dist/log-adapter-BLegSZtz.d.mts +16 -0
- package/dist/log-adapter-BLegSZtz.d.mts.map +1 -0
- package/dist/log-adapter-PPe_2Pwv.mjs +28 -0
- package/dist/log-adapter-PPe_2Pwv.mjs.map +1 -0
- package/dist/loop-BOYEtr2g.mjs +520 -0
- package/dist/loop-BOYEtr2g.mjs.map +1 -0
- package/dist/loop-C-tBBOqi.d.mts +219 -0
- package/dist/loop-C-tBBOqi.d.mts.map +1 -0
- package/dist/middleware-5wQ9bANW.mjs +306 -0
- package/dist/middleware-5wQ9bANW.mjs.map +1 -0
- package/dist/middleware-C1apSrj0.mjs +613 -0
- package/dist/middleware-C1apSrj0.mjs.map +1 -0
- package/dist/middleware-C7k0uItW.d.mts +9 -0
- package/dist/middleware-C7k0uItW.d.mts.map +1 -0
- package/dist/middleware-CZQCTHfl.mjs +366 -0
- package/dist/middleware-CZQCTHfl.mjs.map +1 -0
- package/dist/models.d.mts +11 -0
- package/dist/models.d.mts.map +1 -0
- package/dist/models.mjs +32 -0
- package/dist/models.mjs.map +1 -0
- package/dist/observability-analytics.d.mts +107 -0
- package/dist/observability-analytics.d.mts.map +1 -0
- package/dist/observability-analytics.mjs +409 -0
- package/dist/observability-analytics.mjs.map +1 -0
- package/dist/observability-cost.d.mts +10 -0
- package/dist/observability-cost.d.mts.map +1 -0
- package/dist/observability-cost.mjs +15 -0
- package/dist/observability-cost.mjs.map +1 -0
- package/dist/observability-telemetry.d.mts +111 -0
- package/dist/observability-telemetry.d.mts.map +1 -0
- package/dist/observability-telemetry.mjs +343 -0
- package/dist/observability-telemetry.mjs.map +1 -0
- package/dist/observability-tracing.d.mts +10 -0
- package/dist/observability-tracing.d.mts.map +1 -0
- package/dist/observability-tracing.mjs +17 -0
- package/dist/observability-tracing.mjs.map +1 -0
- package/dist/observability.d.mts +15 -0
- package/dist/observability.d.mts.map +1 -0
- package/dist/observability.mjs +17 -0
- package/dist/observability.mjs.map +1 -0
- package/dist/optimizer-DhXXpci6.mjs +97 -0
- package/dist/optimizer-DhXXpci6.mjs.map +1 -0
- package/dist/output-multimodal.d.mts +9 -0
- package/dist/output-multimodal.d.mts.map +1 -0
- package/dist/output-multimodal.mjs +18 -0
- package/dist/output-multimodal.mjs.map +1 -0
- package/dist/output.d.mts +11 -0
- package/dist/output.d.mts.map +1 -0
- package/dist/output.mjs +40 -0
- package/dist/output.mjs.map +1 -0
- package/dist/pii-filter-3AxmYSiu.d.mts +23 -0
- package/dist/pii-filter-3AxmYSiu.d.mts.map +1 -0
- package/dist/pipelines.d.mts +448 -0
- package/dist/pipelines.d.mts.map +1 -0
- package/dist/pipelines.mjs +1534 -0
- package/dist/pipelines.mjs.map +1 -0
- package/dist/prompt-injection-DQXchzsV.d.mts +8 -0
- package/dist/prompt-injection-DQXchzsV.d.mts.map +1 -0
- package/dist/prompt-injection-RpoLPwSa.mjs +52 -0
- package/dist/prompt-injection-RpoLPwSa.mjs.map +1 -0
- package/dist/prompts.d.mts +192 -0
- package/dist/prompts.d.mts.map +1 -0
- package/dist/prompts.mjs +732 -0
- package/dist/prompts.mjs.map +1 -0
- package/dist/protocol-DfBiEsnl.d.mts +112 -0
- package/dist/protocol-DfBiEsnl.d.mts.map +1 -0
- package/dist/quota-manager-0iPMkQWN.d.mts +62 -0
- package/dist/quota-manager-0iPMkQWN.d.mts.map +1 -0
- package/dist/quota-manager-D_N7FuQ2.mjs +180 -0
- package/dist/quota-manager-D_N7FuQ2.mjs.map +1 -0
- package/dist/redaction-utils-DcQwsiNh.mjs +438 -0
- package/dist/redaction-utils-DcQwsiNh.mjs.map +1 -0
- package/dist/redis-CpsSrF8K.mjs +102 -0
- package/dist/redis-CpsSrF8K.mjs.map +1 -0
- package/dist/redis-CwguYFGh.d.mts +33 -0
- package/dist/redis-CwguYFGh.d.mts.map +1 -0
- package/dist/registry-CsD3iTIx.mjs +190 -0
- package/dist/registry-CsD3iTIx.mjs.map +1 -0
- package/dist/registry-DVPWzkXR.d.mts +36 -0
- package/dist/registry-DVPWzkXR.d.mts.map +1 -0
- package/dist/reranking-BpWYhYzl.d.mts +72 -0
- package/dist/reranking-BpWYhYzl.d.mts.map +1 -0
- package/dist/reranking-Ck8aKZW7.mjs +331 -0
- package/dist/reranking-Ck8aKZW7.mjs.map +1 -0
- package/dist/resumable-adapter-CO1HtsgJ.mjs +21 -0
- package/dist/resumable-adapter-CO1HtsgJ.mjs.map +1 -0
- package/dist/review-trigger-DmAsiQlM.d.mts +24 -0
- package/dist/review-trigger-DmAsiQlM.d.mts.map +1 -0
- package/dist/review-trigger-DwXfpww9.mjs +112 -0
- package/dist/review-trigger-DwXfpww9.mjs.map +1 -0
- package/dist/safe-context-BynhkTKR.d.mts +54 -0
- package/dist/safe-context-BynhkTKR.d.mts.map +1 -0
- package/dist/safe-context-C5A3Wv3b.mjs +143 -0
- package/dist/safe-context-C5A3Wv3b.mjs.map +1 -0
- package/dist/schema-Bu2noOZ4.mjs +27 -0
- package/dist/schema-Bu2noOZ4.mjs.map +1 -0
- package/dist/schema-CwFvuCnA.mjs +97 -0
- package/dist/schema-CwFvuCnA.mjs.map +1 -0
- package/dist/schema-Wz-1-ro9.d.mts +37 -0
- package/dist/schema-Wz-1-ro9.d.mts.map +1 -0
- package/dist/schemas-CxQtxIga.mjs +62 -0
- package/dist/schemas-CxQtxIga.mjs.map +1 -0
- package/dist/schemas-DBOhxgW7.d.mts +32 -0
- package/dist/schemas-DBOhxgW7.d.mts.map +1 -0
- package/dist/schemas-Dp_OCqBt.d.mts +63 -0
- package/dist/schemas-Dp_OCqBt.d.mts.map +1 -0
- package/dist/schemas-SwCsnT0z.mjs +83 -0
- package/dist/schemas-SwCsnT0z.mjs.map +1 -0
- package/dist/sdk-errors.d.mts +2 -0
- package/dist/sdk-errors.mjs +3 -0
- package/dist/sdk-experimental.d.mts +59 -0
- package/dist/sdk-experimental.d.mts.map +1 -0
- package/dist/sdk-experimental.mjs +193 -0
- package/dist/sdk-experimental.mjs.map +1 -0
- package/dist/sdk-stop-conditions.d.mts +3 -0
- package/dist/sdk-stop-conditions.mjs +3 -0
- package/dist/sdk.d.mts +15 -0
- package/dist/sdk.d.mts.map +1 -0
- package/dist/sdk.mjs +50 -0
- package/dist/sdk.mjs.map +1 -0
- package/dist/security-guardrails.d.mts +3 -0
- package/dist/security-guardrails.mjs +3 -0
- package/dist/security-injection.d.mts +2 -0
- package/dist/security-injection.mjs +3 -0
- package/dist/security.d.mts +12 -0
- package/dist/security.d.mts.map +1 -0
- package/dist/security.mjs +18 -0
- package/dist/security.mjs.map +1 -0
- package/dist/server.d.mts +420 -0
- package/dist/server.d.mts.map +1 -0
- package/dist/server.mjs +2225 -0
- package/dist/server.mjs.map +1 -0
- package/dist/shared.d.mts +2 -0
- package/dist/shared.mjs +3 -0
- package/dist/streaming-control.d.mts +2 -0
- package/dist/streaming-control.mjs +4 -0
- package/dist/streaming-core.d.mts +4 -0
- package/dist/streaming-core.mjs +3 -0
- package/dist/streaming-infra-resilience.d.mts +120 -0
- package/dist/streaming-infra-resilience.d.mts.map +1 -0
- package/dist/streaming-infra-resilience.mjs +358 -0
- package/dist/streaming-infra-resilience.mjs.map +1 -0
- package/dist/streaming-infra-transport.d.mts +57 -0
- package/dist/streaming-infra-transport.d.mts.map +1 -0
- package/dist/streaming-infra-transport.mjs +488 -0
- package/dist/streaming-infra-transport.mjs.map +1 -0
- package/dist/streaming-infra.d.mts +5 -0
- package/dist/streaming-infra.mjs +5 -0
- package/dist/streaming.d.mts +17 -0
- package/dist/streaming.d.mts.map +1 -0
- package/dist/streaming.mjs +71 -0
- package/dist/streaming.mjs.map +1 -0
- package/dist/telemetry-2eKMojIb.mjs +1046 -0
- package/dist/telemetry-2eKMojIb.mjs.map +1 -0
- package/dist/telemetry-C2t03dwD.d.mts +59 -0
- package/dist/telemetry-C2t03dwD.d.mts.map +1 -0
- package/dist/tool-Btbththq.d.mts +253 -0
- package/dist/tool-Btbththq.d.mts.map +1 -0
- package/dist/tool-JSf8JXZ8.mjs +1150 -0
- package/dist/tool-JSf8JXZ8.mjs.map +1 -0
- package/dist/tool-safety-CZO8a4D4.d.mts +60 -0
- package/dist/tool-safety-CZO8a4D4.d.mts.map +1 -0
- package/dist/tool-safety-DXtYDXod.mjs +319 -0
- package/dist/tool-safety-DXtYDXod.mjs.map +1 -0
- package/dist/tools-BuS2Uv0q.mjs +1708 -0
- package/dist/tools-BuS2Uv0q.mjs.map +1 -0
- package/dist/tools-approval.d.mts +99 -0
- package/dist/tools-approval.d.mts.map +1 -0
- package/dist/tools-approval.mjs +395 -0
- package/dist/tools-approval.mjs.map +1 -0
- package/dist/tools-compliance.d.mts +67 -0
- package/dist/tools-compliance.d.mts.map +1 -0
- package/dist/tools-compliance.mjs +330 -0
- package/dist/tools-compliance.mjs.map +1 -0
- package/dist/tools-computer.d.mts +25 -0
- package/dist/tools-computer.d.mts.map +1 -0
- package/dist/tools-computer.mjs +64 -0
- package/dist/tools-computer.mjs.map +1 -0
- package/dist/tools-core.d.mts +3 -0
- package/dist/tools-core.mjs +3 -0
- package/dist/tools-mcp.d.mts +3 -0
- package/dist/tools-mcp.mjs +5 -0
- package/dist/tools-superpowers.d.mts +2 -0
- package/dist/tools-superpowers.mjs +3 -0
- package/dist/tools.d.mts +401 -0
- package/dist/tools.d.mts.map +1 -0
- package/dist/tools.mjs +1921 -0
- package/dist/tools.mjs.map +1 -0
- package/dist/transport-selector-D-Ib05X1.mjs +1936 -0
- package/dist/transport-selector-D-Ib05X1.mjs.map +1 -0
- package/dist/triage-agent-BEsXg5sw.d.mts +63 -0
- package/dist/triage-agent-BEsXg5sw.d.mts.map +1 -0
- package/dist/triage-agent-CBsfX-HW.mjs +167 -0
- package/dist/triage-agent-CBsfX-HW.mjs.map +1 -0
- package/dist/types-BPnq3GQo.d.mts +23 -0
- package/dist/types-BPnq3GQo.d.mts.map +1 -0
- package/dist/types-BjWgimpY.d.mts +16 -0
- package/dist/types-BjWgimpY.d.mts.map +1 -0
- package/dist/types-BxD-5btB.d.mts +41 -0
- package/dist/types-BxD-5btB.d.mts.map +1 -0
- package/dist/types-By-r93bE.d.mts +36 -0
- package/dist/types-By-r93bE.d.mts.map +1 -0
- package/dist/types-CLBWFRZN.d.mts +69 -0
- package/dist/types-CLBWFRZN.d.mts.map +1 -0
- package/dist/types-CQ0HFd0u.d.mts +62 -0
- package/dist/types-CQ0HFd0u.d.mts.map +1 -0
- package/dist/types-D3zJb59_.d.mts +47 -0
- package/dist/types-D3zJb59_.d.mts.map +1 -0
- package/dist/types-DJnugQX0.d.mts +80 -0
- package/dist/types-DJnugQX0.d.mts.map +1 -0
- package/dist/types-DbUfMCnT.d.mts +70 -0
- package/dist/types-DbUfMCnT.d.mts.map +1 -0
- package/dist/upstash-adapter-D96Caq2O.mjs +22 -0
- package/dist/upstash-adapter-D96Caq2O.mjs.map +1 -0
- package/dist/upstash-adapter-DD4433dx.d.mts +8 -0
- package/dist/upstash-adapter-DD4433dx.d.mts.map +1 -0
- package/dist/utils-BlYhcD6M.mjs +319 -0
- package/dist/utils-BlYhcD6M.mjs.map +1 -0
- package/dist/utils-DpJGOb3y.d.mts +120 -0
- package/dist/utils-DpJGOb3y.d.mts.map +1 -0
- package/dist/vercel-blob-adapter-CkOXLT2D.mjs +25 -0
- package/dist/vercel-blob-adapter-CkOXLT2D.mjs.map +1 -0
- package/dist/xai-CbV_dCnP.mjs +1600 -0
- package/dist/xai-CbV_dCnP.mjs.map +1 -0
- package/package.json +479 -0
- package/src/agents/base/factory.ts +382 -0
- package/src/agents/base/index.ts +8 -0
- package/src/agents/base/schemas.ts +117 -0
- package/src/agents/base/types.ts +192 -0
- package/src/agents/control-flow/index.ts +683 -0
- package/src/agents/coordinator/coordinator-agent.ts +381 -0
- package/src/agents/coordinator/index.ts +6 -0
- package/src/agents/default-agent.ts +211 -0
- package/src/agents/evaluator-optimizer/README.md +612 -0
- package/src/agents/evaluator-optimizer/evaluator-optimizer.example.ts +437 -0
- package/src/agents/evaluator-optimizer/evaluator.ts +282 -0
- package/src/agents/evaluator-optimizer/index.test.ts +416 -0
- package/src/agents/evaluator-optimizer/index.ts +519 -0
- package/src/agents/evaluator-optimizer/optimizer.ts +322 -0
- package/src/agents/evaluator-optimizer/schema.ts +302 -0
- package/src/agents/evaluator-optimizer/utils.ts +42 -0
- package/src/agents/experimental/index.ts +1095 -0
- package/src/agents/experimental/types.ts +212 -0
- package/src/agents/fallback/index.ts +18 -0
- package/src/agents/fallback/recovery/circuit-breaker.ts +166 -0
- package/src/agents/fallback/strategies/model-fallback.ts +192 -0
- package/src/agents/fallback/types.ts +87 -0
- package/src/agents/governance-agent.ts +446 -0
- package/src/agents/index.ts +79 -0
- package/src/agents/multi/coordination/index.ts +6 -0
- package/src/agents/multi/coordination/message-bus.ts +144 -0
- package/src/agents/multi/index.ts +6 -0
- package/src/agents/multi/state/index.ts +162 -0
- package/src/agents/multi/supervisor/index.ts +7 -0
- package/src/agents/multi/supervisor/supervisor.ts +254 -0
- package/src/agents/multi/swarm/aggregation.ts +466 -0
- package/src/agents/multi/swarm/communication.ts +388 -0
- package/src/agents/multi/swarm/coordination.ts +380 -0
- package/src/agents/multi/swarm/index.ts +73 -0
- package/src/agents/multi/swarm/swarm-executor.ts +479 -0
- package/src/agents/multi/types.ts +181 -0
- package/src/agents/observability/index.ts +914 -0
- package/src/agents/orchestrator.ts +218 -0
- package/src/agents/patterns/README.md +512 -0
- package/src/agents/patterns/evaluator-optimizer-pattern.example.ts +455 -0
- package/src/agents/patterns/evaluator-optimizer-pattern.ts +653 -0
- package/src/agents/patterns/index.ts +26 -0
- package/src/agents/persistence/index.ts +726 -0
- package/src/agents/tools/index.ts +291 -0
- package/src/agents/tools/mcp.ts +188 -0
- package/src/agents/triage/index.ts +6 -0
- package/src/agents/triage/triage-agent.ts +280 -0
- package/src/agents/workflows/index.ts +6 -0
- package/src/agents/workflows/interfaces.ts +36 -0
- package/src/agents/workflows/schema.ts +20 -0
- package/src/caching/adapters/index.ts +7 -0
- package/src/caching/adapters/memory.ts +77 -0
- package/src/caching/adapters/redis.ts +60 -0
- package/src/caching/index.ts +17 -0
- package/src/caching/middleware.ts +452 -0
- package/src/caching/strategies/index.ts +1008 -0
- package/src/caching/types.ts +47 -0
- package/src/catalog.ts +921 -0
- package/src/client/chat-usage.ts +53 -0
- package/src/client/hooks.ts +343 -0
- package/src/client/index.ts +36 -0
- package/src/client/message-utils.ts +29 -0
- package/src/client/use-generative-ui.ts +174 -0
- package/src/client/utils.ts +66 -0
- package/src/generative-ui/catalog.ts +653 -0
- package/src/generative-ui/index.ts +82 -0
- package/src/generative-ui/registry.ts +273 -0
- package/src/generative-ui/stream.ts +324 -0
- package/src/generative-ui/types.ts +376 -0
- package/src/governance/audit/audit-logger.ts +239 -0
- package/src/governance/audit/audit-schema.ts +82 -0
- package/src/governance/audit/index.ts +6 -0
- package/src/governance/compliance/abac/policy-engine.ts +175 -0
- package/src/governance/compliance/abac/types.ts +40 -0
- package/src/governance/compliance/approval/compliance-approval-queue.ts +217 -0
- package/src/governance/compliance/index.ts +16 -0
- package/src/governance/compliance/schemas.ts +68 -0
- package/src/governance/compliance/types.ts +143 -0
- package/src/governance/compliance/validators/phi-detector.ts +145 -0
- package/src/governance/compliance/validators/redaction-utils.ts +176 -0
- package/src/governance/compliance/validators/safe-harbor.ts +135 -0
- package/src/governance/entitlements/index.ts +585 -0
- package/src/governance/entitlements/middleware.ts +651 -0
- package/src/governance/entitlements/rate-limiter.ts +711 -0
- package/src/governance/index.ts +32 -0
- package/src/governance/policies/guardrails.ts +1121 -0
- package/src/governance/policies/index.ts +42 -0
- package/src/governance/policies/loop-controls.ts +136 -0
- package/src/governance/policies/telemetry.ts +63 -0
- package/src/governance/tenancy/index.ts +30 -0
- package/src/governance/tenancy/isolation/context.ts +92 -0
- package/src/governance/tenancy/isolation/index.ts +13 -0
- package/src/governance/tenancy/quotas/index.ts +11 -0
- package/src/governance/tenancy/quotas/quota-manager.ts +180 -0
- package/src/governance/tenancy/types.ts +66 -0
- package/src/governance/types.ts +16 -0
- package/src/governance/versioning/index.ts +573 -0
- package/src/grounding/attribution/index.ts +424 -0
- package/src/grounding/citation/citation-generator.ts +174 -0
- package/src/grounding/citation/index.ts +12 -0
- package/src/grounding/context/index.ts +32 -0
- package/src/grounding/context/safe-context.ts +116 -0
- package/src/grounding/context/types.ts +62 -0
- package/src/grounding/context-engineering/error-handling.ts +359 -0
- package/src/grounding/context-engineering/index.ts +23 -0
- package/src/grounding/context-engineering/memory.ts +559 -0
- package/src/grounding/context-engineering/tool-masking.ts +338 -0
- package/src/grounding/embed/index.ts +704 -0
- package/src/grounding/embed/reranking.ts +604 -0
- package/src/grounding/hallucination/index.ts +223 -0
- package/src/grounding/index.ts +82 -0
- package/src/grounding/proof-map/applyPatch.ts +172 -0
- package/src/grounding/proof-map/index.ts +41 -0
- package/src/grounding/proof-map/loop.ts +275 -0
- package/src/grounding/proof-map/schema.ts +217 -0
- package/src/grounding/rag/__tests__/pipeline.test.ts +274 -0
- package/src/grounding/rag/__tests__/tool.test.ts +202 -0
- package/src/grounding/rag/__tests__/trace.test.ts +229 -0
- package/src/grounding/rag/circuit-breaker.ts +152 -0
- package/src/grounding/rag/index.ts +64 -0
- package/src/grounding/rag/pipeline.ts +602 -0
- package/src/grounding/rag/tool.ts +281 -0
- package/src/grounding/rag/trace.ts +503 -0
- package/src/grounding/rag/types.ts +284 -0
- package/src/grounding/retrieval/in-memory-store.ts +107 -0
- package/src/grounding/sources/index.ts +943 -0
- package/src/grounding/tests/applyPatch.test.ts +194 -0
- package/src/grounding/tests/loop.test.ts +141 -0
- package/src/grounding/tests/schema.test.ts +160 -0
- package/src/grounding/types.ts +100 -0
- package/src/grounding/verification/index.ts +419 -0
- package/src/hitl/active-learning/index.ts +332 -0
- package/src/hitl/annotation/index.ts +362 -0
- package/src/hitl/approval/approval-queue.ts +132 -0
- package/src/hitl/approval/index.ts +5 -0
- package/src/hitl/feedback/index.ts +284 -0
- package/src/hitl/index.ts +69 -0
- package/src/hitl/review/index.ts +6 -0
- package/src/hitl/review/review-trigger.ts +162 -0
- package/src/hitl/types.ts +126 -0
- package/src/index.ts +125 -0
- package/src/integrations/blob-storage/index.ts +7 -0
- package/src/integrations/blob-storage/types.ts +28 -0
- package/src/integrations/blob-storage/vercel-blob-adapter.ts +35 -0
- package/src/integrations/index.ts +15 -0
- package/src/integrations/notifications/index.ts +7 -0
- package/src/integrations/notifications/log-adapter.ts +30 -0
- package/src/integrations/notifications/types.ts +27 -0
- package/src/integrations/rate-limit/index.ts +7 -0
- package/src/integrations/rate-limit/types.ts +26 -0
- package/src/integrations/rate-limit/upstash-adapter.ts +45 -0
- package/src/integrations/redis/index.ts +7 -0
- package/src/integrations/redis/types.ts +67 -0
- package/src/integrations/redis/upstash-adapter.ts +18 -0
- package/src/integrations/stream/index.ts +7 -0
- package/src/integrations/stream/resumable-adapter.ts +20 -0
- package/src/integrations/stream/types.ts +21 -0
- package/src/internal/__tests__/hallucination.test.ts +162 -0
- package/src/internal/__tests__/models.test.ts +104 -0
- package/src/internal/__tests__/sdk-errors.test.ts +201 -0
- package/src/internal/__tests__/stop-conditions.test.ts +210 -0
- package/src/internal/shared/ai-types.ts +942 -0
- package/src/internal/testing/evaluators.ts +575 -0
- package/src/internal/testing/index.ts +960 -0
- package/src/internal/ui/data-parts.ts +511 -0
- package/src/internal/ui/type-guards.ts +344 -0
- package/src/internal/ui-factories/__tests__/ui-factories.test.ts +548 -0
- package/src/internal/ui-factories/artifact-factory.ts +667 -0
- package/src/internal/ui-factories/index.ts +82 -0
- package/src/internal/ui-factories/shimmer-manager.ts +220 -0
- package/src/internal/ui-factories/status-helpers.ts +149 -0
- package/src/internal/ui-factories/tool-renderer.ts +167 -0
- package/src/internal/ui-factories/types.ts +235 -0
- package/src/models/capabilities.ts +88 -0
- package/src/models/index.ts +16 -0
- package/src/models/provider-factory.ts +229 -0
- package/src/models/providers/anthropic.ts +539 -0
- package/src/models/providers/google.ts +354 -0
- package/src/models/providers/index.ts +21 -0
- package/src/models/providers/openai.ts +346 -0
- package/src/models/providers/perplexity.ts +276 -0
- package/src/models/providers/shared.ts +90 -0
- package/src/models/providers/xai.ts +269 -0
- package/src/models/registry.ts +208 -0
- package/src/models/routing/index.ts +45 -0
- package/src/models/routing/intent-router.ts +143 -0
- package/src/models/routing/model-router.ts +300 -0
- package/src/models/routing/types.ts +106 -0
- package/src/models/types.ts +23 -0
- package/src/observability/analytics/index.ts +593 -0
- package/src/observability/cost/index.ts +16 -0
- package/src/observability/cost/tracking/budget-guard.ts +110 -0
- package/src/observability/cost/tracking/usage-tracker.ts +120 -0
- package/src/observability/cost/types.ts +85 -0
- package/src/observability/index.ts +17 -0
- package/src/observability/telemetry/index.ts +508 -0
- package/src/observability/tracing/index.ts +30 -0
- package/src/observability/tracing/otel/ai-instrumentation.ts +193 -0
- package/src/observability/tracing/otel/exporters/console.ts +58 -0
- package/src/observability/tracing/otel/exporters/index.ts +6 -0
- package/src/observability/tracing/provenance.ts +769 -0
- package/src/observability/tracing/types.ts +92 -0
- package/src/output/__tests__/output.test.ts +737 -0
- package/src/output/element-stream.ts +678 -0
- package/src/output/errors.ts +108 -0
- package/src/output/factories.ts +392 -0
- package/src/output/index.ts +98 -0
- package/src/output/multimodal/EXPORTS.md +306 -0
- package/src/output/multimodal/IMPLEMENTATION_SUMMARY.md +421 -0
- package/src/output/multimodal/README.md +349 -0
- package/src/output/multimodal/SETUP_GUIDE.md +472 -0
- package/src/output/multimodal/audio.ts +650 -0
- package/src/output/multimodal/image.ts +22 -0
- package/src/output/multimodal/index.ts +32 -0
- package/src/output/multimodal/providers.example.ts +375 -0
- package/src/output/validator.ts +495 -0
- package/src/pipelines/adapters/trace-storage-blob.ts +458 -0
- package/src/pipelines/adapters/trace-storage-memory.ts +319 -0
- package/src/pipelines/defaults.ts +109 -0
- package/src/pipelines/index.ts +24 -0
- package/src/pipelines/message-transforms.ts +107 -0
- package/src/pipelines/multi-step-wrapper.ts +433 -0
- package/src/pipelines/pipeline-presets.ts +339 -0
- package/src/pipelines/step-executor.ts +257 -0
- package/src/pipelines/storage-factory.ts +85 -0
- package/src/pipelines/trace-storage-interface.ts +216 -0
- package/src/pipelines/types.ts +255 -0
- package/src/pipelines/validation.ts +323 -0
- package/src/prompts/index.ts +271 -0
- package/src/prompts/model-variants.ts +410 -0
- package/src/prompts/templates.ts +327 -0
- package/src/sdk/errors/base.ts +296 -0
- package/src/sdk/errors/index.ts +31 -0
- package/src/sdk/errors/utils.ts +148 -0
- package/src/sdk/experimental/index.ts +286 -0
- package/src/sdk/index.ts +25 -0
- package/src/sdk/middleware/ai-middleware.ts +95 -0
- package/src/sdk/middleware/cache.ts +154 -0
- package/src/sdk/middleware/circuit-breaker.ts +388 -0
- package/src/sdk/middleware/compose.ts +81 -0
- package/src/sdk/middleware/deduplication.ts +307 -0
- package/src/sdk/middleware/index.ts +660 -0
- package/src/sdk/middleware/model-middleware.ts +200 -0
- package/src/sdk/stop-conditions/conditions.ts +209 -0
- package/src/sdk/stop-conditions/index.ts +35 -0
- package/src/sdk/stop-conditions/types.ts +59 -0
- package/src/security/guardrails/index.ts +6 -0
- package/src/security/guardrails/middleware.ts +465 -0
- package/src/security/guardrails/pii-filter.ts +396 -0
- package/src/security/index.ts +33 -0
- package/src/security/injection/index.ts +5 -0
- package/src/security/injection/prompt-injection.ts +64 -0
- package/src/security/types.ts +85 -0
- package/src/server/cache/crypto.ts +47 -0
- package/src/server/cache/performance.ts +79 -0
- package/src/server/error-handler.ts +93 -0
- package/src/server/errors.ts +73 -0
- package/src/server/helpers.ts +944 -0
- package/src/server/http.ts +156 -0
- package/src/server/index.ts +12 -0
- package/src/server/messages/__tests__/messages.test.ts +720 -0
- package/src/server/messages/converter.ts +245 -0
- package/src/server/messages/data-parts.ts +338 -0
- package/src/server/messages/extraction.ts +328 -0
- package/src/server/messages/index.ts +126 -0
- package/src/server/messages/types.ts +355 -0
- package/src/server/messages/window.ts +450 -0
- package/src/server/rate-limit/env.ts +8 -0
- package/src/server/rate-limit/rate-limit.ts +165 -0
- package/src/server/routes/HEALTH_CHECK.md +502 -0
- package/src/server/routes/IMPLEMENTATION_SUMMARY.md +432 -0
- package/src/server/routes/QUICK_START.md +327 -0
- package/src/server/routes/README.md +357 -0
- package/src/server/routes/__tests__/routes.test.ts +628 -0
- package/src/server/routes/agent-route.ts +224 -0
- package/src/server/routes/agent-routes.ts +191 -0
- package/src/server/routes/embed-config.ts +181 -0
- package/src/server/routes/health-check.example.ts +507 -0
- package/src/server/routes/health-check.test.ts +533 -0
- package/src/server/routes/health-check.ts +639 -0
- package/src/server/routes/health-check.types.ts +217 -0
- package/src/server/routes/index.ts +32 -0
- package/src/server/routes/types.ts +274 -0
- package/src/shared/__tests__/schemas.test.ts +317 -0
- package/src/shared/ai-runtime.ts +139 -0
- package/src/shared/ai-types.ts +133 -0
- package/src/shared/index.ts +30 -0
- package/src/shared/sdk-runtime.ts +198 -0
- package/src/shared/sdk-types.ts +301 -0
- package/src/streaming/control/__tests__/streaming-control.test.ts +708 -0
- package/src/streaming/control/budget-guard.ts +264 -0
- package/src/streaming/control/controller.ts +255 -0
- package/src/streaming/control/index.ts +105 -0
- package/src/streaming/control/smoothing.ts +201 -0
- package/src/streaming/control/step-limit.ts +215 -0
- package/src/streaming/control/types.ts +234 -0
- package/src/streaming/core/auto-resume.ts +276 -0
- package/src/streaming/core/index.ts +85 -0
- package/src/streaming/core/multi-step.ts +471 -0
- package/src/streaming/core/protocol.ts +194 -0
- package/src/streaming/core/types.ts +182 -0
- package/src/streaming/index.ts +97 -0
- package/src/streaming/infra/backpressure/buffer.ts +210 -0
- package/src/streaming/infra/backpressure/index.ts +6 -0
- package/src/streaming/infra/index.ts +75 -0
- package/src/streaming/infra/multiplexing/index.ts +311 -0
- package/src/streaming/infra/resilience/index.ts +684 -0
- package/src/streaming/infra/transform/index.ts +15 -0
- package/src/streaming/infra/transform/stream-transforms.ts +166 -0
- package/src/streaming/infra/transport/index.ts +774 -0
- package/src/streaming/infra/types.ts +118 -0
- package/src/streaming/infra-extra/types.ts +118 -0
- package/src/tools/advanced/caching.ts +299 -0
- package/src/tools/advanced/generator.ts +267 -0
- package/src/tools/advanced/hitl.ts +251 -0
- package/src/tools/advanced/index.ts +9 -0
- package/src/tools/advanced/llm-tool.ts +208 -0
- package/src/tools/approval/FILES.md +449 -0
- package/src/tools/approval/IMPLEMENTATION_SUMMARY.md +567 -0
- package/src/tools/approval/QUICK_START.md +362 -0
- package/src/tools/approval/README.md +514 -0
- package/src/tools/approval/advanced-approval-queue.ts +7 -0
- package/src/tools/approval/approval.example.ts +571 -0
- package/src/tools/approval/in-memory-queue.ts +405 -0
- package/src/tools/approval/index.ts +737 -0
- package/src/tools/approval/middleware.ts +590 -0
- package/src/tools/approval/queue-factory.ts +162 -0
- package/src/tools/approval/redis-queue.ts +327 -0
- package/src/tools/approval/testing.ts +493 -0
- package/src/tools/approval/types.ts +221 -0
- package/src/tools/approval/with-approval.ts +366 -0
- package/src/tools/artifacts/artifact-tools.ts +273 -0
- package/src/tools/artifacts/index.ts +6 -0
- package/src/tools/compliance/compliance-wrapper.ts +789 -0
- package/src/tools/compliance/create-compliant-stream.ts +226 -0
- package/src/tools/compliance/index.ts +8 -0
- package/src/tools/compliance/phi-redaction.ts +406 -0
- package/src/tools/compliance/tool-wrapper.ts +306 -0
- package/src/tools/computer/index.ts +99 -0
- package/src/tools/computer/types.ts +41 -0
- package/src/tools/core/abort.ts +202 -0
- package/src/tools/core/factory.ts +197 -0
- package/src/tools/core/index.ts +8 -0
- package/src/tools/core/tool-safety.ts +112 -0
- package/src/tools/generic/index.ts +9 -0
- package/src/tools/generic/json-schema-tool.ts +301 -0
- package/src/tools/generic/tiptap-context.ts +619 -0
- package/src/tools/generic/web-search-tool.ts +82 -0
- package/src/tools/generic/web-search.ts +142 -0
- package/src/tools/index.ts +36 -0
- package/src/tools/mcp/ai-sdk-error-integration.ts +401 -0
- package/src/tools/mcp/client.ts +988 -0
- package/src/tools/mcp/connection-manager.ts +380 -0
- package/src/tools/mcp/connection-pool.ts +408 -0
- package/src/tools/mcp/edge-runtime.ts +318 -0
- package/src/tools/mcp/environment.ts +310 -0
- package/src/tools/mcp/index.ts +20 -0
- package/src/tools/mcp/next-pattern.ts +401 -0
- package/src/tools/mcp/stream-lifecycle-integration.ts +617 -0
- package/src/tools/mcp/tool-cache.ts +359 -0
- package/src/tools/mcp/transport-selector.ts +492 -0
- package/src/tools/mcp/transports.ts +99 -0
- package/src/tools/simple-factory.ts +55 -0
- package/src/tools/superpowers/index.ts +122 -0
- package/src/tools/superpowers/prompts/index.ts +533 -0
- package/src/tools/superpowers/schemas/index.ts +701 -0
- package/src/tools/superpowers/tools/index.ts +721 -0
- package/src/tools/validation-wrapper.ts +97 -0
|
@@ -0,0 +1,567 @@
|
|
|
1
|
+
# HITL Approval System - Implementation Summary
|
|
2
|
+
|
|
3
|
+
## Project Overview
|
|
4
|
+
|
|
5
|
+
A complete, production-ready Human-In-The-Loop (HITL) approval system for tool execution. Provides flexible approval
|
|
6
|
+
workflows, queue management, middleware interception, and comprehensive monitoring capabilities.
|
|
7
|
+
|
|
8
|
+
## Files Created
|
|
9
|
+
|
|
10
|
+
### Core Implementation Files
|
|
11
|
+
|
|
12
|
+
#### 1. **index.ts** (19,480 bytes)
|
|
13
|
+
|
|
14
|
+
Main approval orchestration module with complete HITL workflow support.
|
|
15
|
+
|
|
16
|
+
**Key Exports:**
|
|
17
|
+
|
|
18
|
+
- `ApprovalRequest` - Interface for approval requests
|
|
19
|
+
- `ApprovalResult` - Interface for approval decisions
|
|
20
|
+
- `ApprovalRule` - Interface for approval rules
|
|
21
|
+
- `ApprovalOptions` - Configuration interface
|
|
22
|
+
- `ApprovalHandler` - Handler interface for approval logic
|
|
23
|
+
- `Tool<T>` - Generic tool interface
|
|
24
|
+
- `ApprovalBackend` - Backend interface for storage
|
|
25
|
+
- `ApprovalQueue` - Queue interface
|
|
26
|
+
- `withApproval<T>()` - Main tool wrapper function
|
|
27
|
+
- `needsApproval()` - Rule evaluation function
|
|
28
|
+
- `createApprovalQueue()` - In-memory queue factory
|
|
29
|
+
- `createApprovalQueueWithRedis()` - Redis queue factory
|
|
30
|
+
- `createApprovalHandler()` - Handler factory
|
|
31
|
+
- `createApprovalMiddleware()` - Middleware factory
|
|
32
|
+
|
|
33
|
+
**Features:**
|
|
34
|
+
|
|
35
|
+
- Tool-level approval wrapper with `withApproval()`
|
|
36
|
+
- Rule engine with pattern matching (wildcards, regex)
|
|
37
|
+
- Conditional approval rules with custom logic
|
|
38
|
+
- In-memory and Redis backend support
|
|
39
|
+
- Approval request tracking and expiration
|
|
40
|
+
- Modification support during approval
|
|
41
|
+
- Unique request ID generation
|
|
42
|
+
- Comprehensive logging
|
|
43
|
+
|
|
44
|
+
#### 2. **queue.ts** (19,772 bytes)
|
|
45
|
+
|
|
46
|
+
Advanced queue implementations with multiple backend support.
|
|
47
|
+
|
|
48
|
+
**Key Classes:**
|
|
49
|
+
|
|
50
|
+
- `InMemoryApprovalQueue` - Fast local queue
|
|
51
|
+
- `RedisApprovalQueue` - Distributed Redis queue
|
|
52
|
+
- `AdvancedQueueConfig` - Configuration interface
|
|
53
|
+
- `QueueMetrics` - Performance metrics interface
|
|
54
|
+
|
|
55
|
+
**Queue Features:**
|
|
56
|
+
|
|
57
|
+
- Priority-based ordering (critical > high > normal > low)
|
|
58
|
+
- Automatic expiration handling
|
|
59
|
+
- Dead letter queue (DLQ) for failed requests
|
|
60
|
+
- Metrics collection (approval rate, timings, etc.)
|
|
61
|
+
- Batch processing support
|
|
62
|
+
- Request retention and cleanup
|
|
63
|
+
- Automatic age-based sorting
|
|
64
|
+
|
|
65
|
+
**Factory Functions:**
|
|
66
|
+
|
|
67
|
+
- `createInMemoryQueue()` - Create in-memory queue
|
|
68
|
+
- `createRedisQueue()` - Create Redis-backed queue
|
|
69
|
+
|
|
70
|
+
#### 3. **middleware.ts** (16,049 bytes)
|
|
71
|
+
|
|
72
|
+
Middleware system for request interception and processing.
|
|
73
|
+
|
|
74
|
+
**Key Classes:**
|
|
75
|
+
|
|
76
|
+
- `MiddlewareChain` - Composable middleware executor
|
|
77
|
+
- `MiddlewareContext` - Execution context interface
|
|
78
|
+
|
|
79
|
+
**Middleware Implementations:**
|
|
80
|
+
|
|
81
|
+
- `createApprovalMiddleware()` - Core approval logic
|
|
82
|
+
- `createValidationMiddleware()` - Input validation
|
|
83
|
+
- `createAuditMiddleware()` - Execution logging
|
|
84
|
+
- `createRateLimitMiddleware()` - Request throttling
|
|
85
|
+
- `createRetryMiddleware()` - Exponential backoff
|
|
86
|
+
- `createContextEnrichmentMiddleware()` - Metadata injection
|
|
87
|
+
|
|
88
|
+
**Utilities:**
|
|
89
|
+
|
|
90
|
+
- `buildApprovalChain()` - Complete chain builder
|
|
91
|
+
- `createContext()` - Context generator
|
|
92
|
+
- `AuditLogEntry` - Audit log interface
|
|
93
|
+
|
|
94
|
+
#### 4. **usage-example.ts** (Not included in line count)
|
|
95
|
+
|
|
96
|
+
Comprehensive examples demonstrating all features.
|
|
97
|
+
|
|
98
|
+
**Examples:**
|
|
99
|
+
|
|
100
|
+
1. Basic approval wrapper
|
|
101
|
+
2. Queue management
|
|
102
|
+
3. Approval rules and conditions
|
|
103
|
+
4. Complete HITL workflow with middleware
|
|
104
|
+
5. Rate limiting and retry logic
|
|
105
|
+
6. Dead letter queue handling
|
|
106
|
+
7. Factory functions for all patterns
|
|
107
|
+
|
|
108
|
+
#### 5. **testing.ts** (Not included in line count)
|
|
109
|
+
|
|
110
|
+
Testing utilities for implementation and testing.
|
|
111
|
+
|
|
112
|
+
**Utilities:**
|
|
113
|
+
|
|
114
|
+
- `MockApprovalHandler` - Mock handler for testing
|
|
115
|
+
- `MockTool` - Mock tool for testing
|
|
116
|
+
- `testFixtures` - Common test data
|
|
117
|
+
- `assertions` - Test assertion helpers
|
|
118
|
+
- `ApprovalTestBuilder` - Fluent test builder
|
|
119
|
+
- `runApprovalTest()` - Test runner
|
|
120
|
+
|
|
121
|
+
### Documentation Files
|
|
122
|
+
|
|
123
|
+
#### 1. **README.md**
|
|
124
|
+
|
|
125
|
+
Complete API reference and documentation.
|
|
126
|
+
|
|
127
|
+
**Contents:**
|
|
128
|
+
|
|
129
|
+
- Feature overview
|
|
130
|
+
- Installation instructions
|
|
131
|
+
- Architecture overview
|
|
132
|
+
- Usage examples
|
|
133
|
+
- API reference for all functions
|
|
134
|
+
- Type definitions
|
|
135
|
+
- Configuration options
|
|
136
|
+
- Pattern matching guide
|
|
137
|
+
- Best practices
|
|
138
|
+
- Performance considerations
|
|
139
|
+
- Testing guide
|
|
140
|
+
|
|
141
|
+
#### 2. **QUICK_START.md**
|
|
142
|
+
|
|
143
|
+
Quick start guide for rapid implementation.
|
|
144
|
+
|
|
145
|
+
**Contents:**
|
|
146
|
+
|
|
147
|
+
- 30-second overview
|
|
148
|
+
- 5-minute setup
|
|
149
|
+
- Common use cases
|
|
150
|
+
- Approval rules patterns
|
|
151
|
+
- Queue operations
|
|
152
|
+
- Priority levels
|
|
153
|
+
- Middleware features
|
|
154
|
+
- Error handling
|
|
155
|
+
- Debugging tips
|
|
156
|
+
- Common issues and solutions
|
|
157
|
+
|
|
158
|
+
#### 3. **IMPLEMENTATION_SUMMARY.md**
|
|
159
|
+
|
|
160
|
+
This file - comprehensive implementation overview.
|
|
161
|
+
|
|
162
|
+
## Architecture
|
|
163
|
+
|
|
164
|
+
### Layered Design
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Application Layer
|
|
168
|
+
↓
|
|
169
|
+
Tool Execution Layer (withApproval wrapper)
|
|
170
|
+
↓
|
|
171
|
+
Middleware Chain (MiddlewareChain)
|
|
172
|
+
├─ Validation
|
|
173
|
+
├─ Rate Limiting
|
|
174
|
+
├─ Approval
|
|
175
|
+
├─ Retry
|
|
176
|
+
└─ Audit Logging
|
|
177
|
+
↓
|
|
178
|
+
Approval Queue (ApprovalQueue)
|
|
179
|
+
├─ InMemoryApprovalQueue
|
|
180
|
+
└─ RedisApprovalQueue
|
|
181
|
+
↓
|
|
182
|
+
Approval Backend (ApprovalBackend)
|
|
183
|
+
├─ In-Memory Storage
|
|
184
|
+
└─ Redis Storage
|
|
185
|
+
↓
|
|
186
|
+
Tool Implementation
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Component Interactions
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
Tool Definition
|
|
193
|
+
↓
|
|
194
|
+
withApproval() wrapper
|
|
195
|
+
├─ Evaluate rules (needsApproval)
|
|
196
|
+
├─ Create request
|
|
197
|
+
└─ Queue request → ApprovalQueue
|
|
198
|
+
↓
|
|
199
|
+
Request in Queue
|
|
200
|
+
├─ Store (ApprovalBackend)
|
|
201
|
+
├─ Monitor (QueueStats)
|
|
202
|
+
└─ Sort (Priority)
|
|
203
|
+
↓
|
|
204
|
+
Handler requests approval
|
|
205
|
+
├─ Notify user
|
|
206
|
+
├─ Wait for decision
|
|
207
|
+
└─ Return result
|
|
208
|
+
↓
|
|
209
|
+
Result applied
|
|
210
|
+
├─ Apply modifications
|
|
211
|
+
├─ Update status
|
|
212
|
+
└─ Execute tool
|
|
213
|
+
↓
|
|
214
|
+
Result returned
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Key Features
|
|
218
|
+
|
|
219
|
+
### 1. Flexible Approval Rules
|
|
220
|
+
|
|
221
|
+
- Pattern matching: exact, wildcards, regex
|
|
222
|
+
- Conditional logic: custom functions
|
|
223
|
+
- Dynamic reason generation
|
|
224
|
+
- Priority assignment
|
|
225
|
+
- Expiration time configuration
|
|
226
|
+
|
|
227
|
+
### 2. Queue Management
|
|
228
|
+
|
|
229
|
+
- In-memory: fast, suitable for single-process
|
|
230
|
+
- Redis: distributed, persistent
|
|
231
|
+
- Priority-based: critical > high > normal > low
|
|
232
|
+
- Expiration: automatic cleanup
|
|
233
|
+
- Dead letter: failed request tracking
|
|
234
|
+
|
|
235
|
+
### 3. Middleware System
|
|
236
|
+
|
|
237
|
+
- Chainable architecture
|
|
238
|
+
- Composable middlewares
|
|
239
|
+
- Request/response interception
|
|
240
|
+
- Context propagation
|
|
241
|
+
- Trace path tracking
|
|
242
|
+
|
|
243
|
+
### 4. Approval Features
|
|
244
|
+
|
|
245
|
+
- Argument modification
|
|
246
|
+
- Custom approval reasons
|
|
247
|
+
- Audit trailing
|
|
248
|
+
- Request expiration
|
|
249
|
+
- Approval tracking
|
|
250
|
+
|
|
251
|
+
### 5. Monitoring
|
|
252
|
+
|
|
253
|
+
- Queue statistics
|
|
254
|
+
- Approval metrics
|
|
255
|
+
- Performance tracking
|
|
256
|
+
- Audit logs
|
|
257
|
+
- Dead letter queue
|
|
258
|
+
|
|
259
|
+
## Type System
|
|
260
|
+
|
|
261
|
+
### Core Types
|
|
262
|
+
|
|
263
|
+
```typescript
|
|
264
|
+
ApprovalRequest {
|
|
265
|
+
id: string
|
|
266
|
+
toolName: string
|
|
267
|
+
args: Record<string, unknown>
|
|
268
|
+
reason: string
|
|
269
|
+
context?: Record<string, unknown>
|
|
270
|
+
requestedAt: Date
|
|
271
|
+
expiresAt?: Date
|
|
272
|
+
priority?: 'low' | 'normal' | 'high' | 'critical'
|
|
273
|
+
requestedBy?: string
|
|
274
|
+
notificationUrl?: string
|
|
275
|
+
status: 'pending' | 'approved' | 'rejected' | 'expired' | 'cancelled'
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
ApprovalResult {
|
|
279
|
+
approved: boolean
|
|
280
|
+
approvedBy?: string
|
|
281
|
+
approvedAt?: Date
|
|
282
|
+
modifications?: Record<string, unknown>
|
|
283
|
+
reason?: string
|
|
284
|
+
metadata?: Record<string, unknown>
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
ApprovalRule {
|
|
288
|
+
toolPattern: string | RegExp
|
|
289
|
+
condition?: (args: unknown, context?: Record<string, unknown>) => boolean
|
|
290
|
+
priority?: 'low' | 'normal' | 'high' | 'critical'
|
|
291
|
+
expirationMs?: number
|
|
292
|
+
reason?: string | ((args: unknown) => string)
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
Tool<T> {
|
|
296
|
+
name: string
|
|
297
|
+
description?: string
|
|
298
|
+
execute(args: Record<string, unknown>): Promise<T>
|
|
299
|
+
validate?(args: unknown): boolean
|
|
300
|
+
}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Implementation Statistics
|
|
304
|
+
|
|
305
|
+
### Code Metrics
|
|
306
|
+
|
|
307
|
+
- **Total Lines**: 3,883
|
|
308
|
+
- **Core Implementation**: 55,301 bytes
|
|
309
|
+
- **Documentation**: ~4,000 words
|
|
310
|
+
- **Examples**: Complete working examples
|
|
311
|
+
- **Tests**: Full testing utilities
|
|
312
|
+
|
|
313
|
+
### File Breakdown
|
|
314
|
+
|
|
315
|
+
| File | Lines | Purpose |
|
|
316
|
+
| ---------------- | ----- | --------------------- |
|
|
317
|
+
| index.ts | 690 | Core system |
|
|
318
|
+
| queue.ts | 560 | Queue implementations |
|
|
319
|
+
| middleware.ts | 480 | Middleware chain |
|
|
320
|
+
| usage-example.ts | 400+ | Working examples |
|
|
321
|
+
| testing.ts | 350+ | Test utilities |
|
|
322
|
+
| README.md | 550+ | API reference |
|
|
323
|
+
| QUICK_START.md | 350+ | Quick guide |
|
|
324
|
+
|
|
325
|
+
## Design Patterns Used
|
|
326
|
+
|
|
327
|
+
### 1. **Wrapper Pattern**
|
|
328
|
+
|
|
329
|
+
`withApproval()` wraps any tool with approval logic.
|
|
330
|
+
|
|
331
|
+
### 2. **Chain of Responsibility**
|
|
332
|
+
|
|
333
|
+
`MiddlewareChain` chains multiple middlewares.
|
|
334
|
+
|
|
335
|
+
### 3. **Factory Pattern**
|
|
336
|
+
|
|
337
|
+
Factory functions for creating queues and handlers.
|
|
338
|
+
|
|
339
|
+
### 4. **Strategy Pattern**
|
|
340
|
+
|
|
341
|
+
Different approval backends (in-memory, Redis).
|
|
342
|
+
|
|
343
|
+
### 5. **Observer Pattern**
|
|
344
|
+
|
|
345
|
+
Notification callbacks for approval decisions.
|
|
346
|
+
|
|
347
|
+
### 6. **Builder Pattern**
|
|
348
|
+
|
|
349
|
+
`ApprovalTestBuilder` for fluent test construction.
|
|
350
|
+
|
|
351
|
+
## Integration Points
|
|
352
|
+
|
|
353
|
+
### How to Integrate
|
|
354
|
+
|
|
355
|
+
1. **Import Types**
|
|
356
|
+
|
|
357
|
+
```typescript
|
|
358
|
+
import type { Tool, ApprovalRule, ApprovalHandler } from "./approval";
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
2. **Define Approval Rules**
|
|
362
|
+
|
|
363
|
+
```typescript
|
|
364
|
+
const rules: ApprovalRule[] = [{...}];
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
3. **Implement Handler**
|
|
368
|
+
|
|
369
|
+
```typescript
|
|
370
|
+
const handler: ApprovalHandler = {
|
|
371
|
+
requestApproval: async (request) => {...},
|
|
372
|
+
notifyApproval: async (request, result) => {...}
|
|
373
|
+
};
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
4. **Wrap Tools**
|
|
377
|
+
|
|
378
|
+
```typescript
|
|
379
|
+
const protectedTool = withApproval(tool, {
|
|
380
|
+
rules,
|
|
381
|
+
handler,
|
|
382
|
+
enableLogging: true
|
|
383
|
+
});
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
5. **Execute**
|
|
387
|
+
|
|
388
|
+
```typescript
|
|
389
|
+
const result = await protectedTool.execute(args);
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
## Testing Support
|
|
393
|
+
|
|
394
|
+
### Mock Utilities
|
|
395
|
+
|
|
396
|
+
- `MockApprovalHandler` - Fake approval handler
|
|
397
|
+
- `MockTool` - Fake tool for testing
|
|
398
|
+
- `testFixtures` - Common test data
|
|
399
|
+
- `ApprovalTestBuilder` - Fluent builder
|
|
400
|
+
|
|
401
|
+
### Assertion Helpers
|
|
402
|
+
|
|
403
|
+
- `assertApprovalRequested()` - Verify approval request
|
|
404
|
+
- `assertToolCalled()` - Verify tool execution
|
|
405
|
+
- `assertNotificationSent()` - Verify notification
|
|
406
|
+
- `assertApprovalCount()` - Verify count
|
|
407
|
+
|
|
408
|
+
### Example Test
|
|
409
|
+
|
|
410
|
+
```typescript
|
|
411
|
+
const builder = createTestBuilder("deleteUser").withRule(testFixtures.rules.delete).approveAll();
|
|
412
|
+
|
|
413
|
+
const { handler, tool } = builder.build();
|
|
414
|
+
assertions.assertApprovalCount(handler, 0);
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
## Performance Characteristics
|
|
418
|
+
|
|
419
|
+
### In-Memory Queue
|
|
420
|
+
|
|
421
|
+
- Enqueue: O(1)
|
|
422
|
+
- Dequeue: O(n log n) - sorting
|
|
423
|
+
- Lookup: O(1)
|
|
424
|
+
- Memory: O(n) - linear with requests
|
|
425
|
+
|
|
426
|
+
### Redis Queue
|
|
427
|
+
|
|
428
|
+
- Enqueue: Network + O(1)
|
|
429
|
+
- Dequeue: Network + O(n log n)
|
|
430
|
+
- Lookup: Network + O(1)
|
|
431
|
+
- Memory: Redis instance
|
|
432
|
+
|
|
433
|
+
### Middleware Chain
|
|
434
|
+
|
|
435
|
+
- Per-middleware overhead: Minimal
|
|
436
|
+
- Total chain overhead: Sum of middlewares
|
|
437
|
+
- Suitable for < 1000 req/sec per process
|
|
438
|
+
|
|
439
|
+
## Extensibility
|
|
440
|
+
|
|
441
|
+
### Custom Middleware
|
|
442
|
+
|
|
443
|
+
```typescript
|
|
444
|
+
const customMiddleware: MiddlewareFunction = async (context, next) => {
|
|
445
|
+
// Pre-processing
|
|
446
|
+
const result = await next();
|
|
447
|
+
// Post-processing
|
|
448
|
+
return result;
|
|
449
|
+
};
|
|
450
|
+
|
|
451
|
+
chain.use(customMiddleware);
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
### Custom Backend
|
|
455
|
+
|
|
456
|
+
```typescript
|
|
457
|
+
const backend: ApprovalBackend = {
|
|
458
|
+
store: async (request) => {...},
|
|
459
|
+
get: async (id) => {...},
|
|
460
|
+
// ... other methods
|
|
461
|
+
};
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### Custom Handler
|
|
465
|
+
|
|
466
|
+
```typescript
|
|
467
|
+
const handler: ApprovalHandler = {
|
|
468
|
+
requestApproval: async (request) => {
|
|
469
|
+
// Custom approval logic (email, Slack, etc.)
|
|
470
|
+
},
|
|
471
|
+
notifyApproval: async (request, result) => {
|
|
472
|
+
// Custom notification
|
|
473
|
+
}
|
|
474
|
+
};
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
## Best Practices Implemented
|
|
478
|
+
|
|
479
|
+
1. **Type Safety**: Full TypeScript with generics
|
|
480
|
+
2. **Error Handling**: Comprehensive error messages
|
|
481
|
+
3. **Logging**: Optional debug logging
|
|
482
|
+
4. **Performance**: Efficient data structures
|
|
483
|
+
5. **Scalability**: Redis support for distribution
|
|
484
|
+
6. **Testability**: Mock utilities provided
|
|
485
|
+
7. **Documentation**: Complete API docs
|
|
486
|
+
8. **Examples**: Working code samples
|
|
487
|
+
9. **Flexibility**: Configurable everywhere
|
|
488
|
+
10. **Monitoring**: Built-in metrics
|
|
489
|
+
|
|
490
|
+
## Security Considerations
|
|
491
|
+
|
|
492
|
+
1. **Argument Sanitization**: Redaction in logs
|
|
493
|
+
2. **Error Information**: Limited exposure
|
|
494
|
+
3. **Audit Trails**: Complete request tracking
|
|
495
|
+
4. **Access Control**: Handler-based decisions
|
|
496
|
+
5. **Expiration**: Automatic cleanup
|
|
497
|
+
6. **Validation**: Pre-execution checks
|
|
498
|
+
|
|
499
|
+
## Future Enhancements
|
|
500
|
+
|
|
501
|
+
### Potential Additions
|
|
502
|
+
|
|
503
|
+
1. Database backends (PostgreSQL, MongoDB)
|
|
504
|
+
2. WebSocket support for real-time updates
|
|
505
|
+
3. Multi-level approval (escalation)
|
|
506
|
+
4. Approval templates
|
|
507
|
+
5. Batch operations
|
|
508
|
+
6. Analytics dashboard
|
|
509
|
+
7. Webhooks for integrations
|
|
510
|
+
8. Rate limiting by user/role
|
|
511
|
+
9. Approval workflows (approver chains)
|
|
512
|
+
10. Integration tests
|
|
513
|
+
|
|
514
|
+
## Maintenance
|
|
515
|
+
|
|
516
|
+
### Key Files to Monitor
|
|
517
|
+
|
|
518
|
+
- `index.ts` - Core logic changes
|
|
519
|
+
- `queue.ts` - Performance improvements
|
|
520
|
+
- `middleware.ts` - New middleware patterns
|
|
521
|
+
|
|
522
|
+
### Testing Strategy
|
|
523
|
+
|
|
524
|
+
1. Unit tests for each component
|
|
525
|
+
2. Integration tests for workflows
|
|
526
|
+
3. Performance benchmarks
|
|
527
|
+
4. Example validation
|
|
528
|
+
|
|
529
|
+
## Support & Documentation
|
|
530
|
+
|
|
531
|
+
### Included Documentation
|
|
532
|
+
|
|
533
|
+
- **README.md** - Complete API reference
|
|
534
|
+
- **QUICK_START.md** - Get started in 5 minutes
|
|
535
|
+
- **usage-example.ts** - 6 complete examples
|
|
536
|
+
- **testing.ts** - Testing utilities
|
|
537
|
+
- **IMPLEMENTATION_SUMMARY.md** - This file
|
|
538
|
+
|
|
539
|
+
### Usage Examples
|
|
540
|
+
|
|
541
|
+
1. Basic approval wrapper
|
|
542
|
+
2. Queue management
|
|
543
|
+
3. Complex approval rules
|
|
544
|
+
4. Complete middleware workflow
|
|
545
|
+
5. Rate limiting and retry
|
|
546
|
+
6. Dead letter queue
|
|
547
|
+
|
|
548
|
+
## Conclusion
|
|
549
|
+
|
|
550
|
+
This HITL approval system provides a comprehensive, production-ready solution for implementing human-in-the-loop
|
|
551
|
+
workflows in tool execution. With flexible rules, multiple queue backends, extensible middleware, and complete
|
|
552
|
+
monitoring support, it can handle various approval scenarios from simple to complex.
|
|
553
|
+
|
|
554
|
+
The system is:
|
|
555
|
+
|
|
556
|
+
- **Well-Documented**: Comprehensive README and examples
|
|
557
|
+
- **Well-Tested**: Testing utilities and mock implementations
|
|
558
|
+
- **Well-Designed**: Layered architecture with clear separation of concerns
|
|
559
|
+
- **Production-Ready**: Error handling, logging, and performance considered
|
|
560
|
+
- **Extensible**: Multiple extension points for custom logic
|
|
561
|
+
- **Type-Safe**: Full TypeScript with generics
|
|
562
|
+
|
|
563
|
+
For questions or issues, refer to the documentation and examples provided.
|
|
564
|
+
|
|
565
|
+
---
|
|
566
|
+
|
|
567
|
+
**Location**: `/sessions/zen-practical-planck/mnt/monorepo/platform/packages/ai-platform/src/tools/approval/`
|