@agentick/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +875 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/.tsbuildinfo.build +1 -0
- package/dist/agent.d.ts +32 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +26 -0
- package/dist/agent.js.map +1 -0
- package/dist/agentick-instance.d.ts +285 -0
- package/dist/agentick-instance.d.ts.map +1 -0
- package/dist/agentick-instance.js +700 -0
- package/dist/agentick-instance.js.map +1 -0
- package/dist/aidk-instance.d.ts +294 -0
- package/dist/aidk-instance.d.ts.map +1 -0
- package/dist/aidk-instance.js +340 -0
- package/dist/aidk-instance.js.map +1 -0
- package/dist/app/session-store.d.ts +57 -0
- package/dist/app/session-store.d.ts.map +1 -0
- package/dist/app/session-store.js +87 -0
- package/dist/app/session-store.js.map +1 -0
- package/dist/app/session.d.ts +209 -0
- package/dist/app/session.d.ts.map +1 -0
- package/dist/app/session.js +2131 -0
- package/dist/app/session.js.map +1 -0
- package/dist/app/sqlite-session-store.d.ts +60 -0
- package/dist/app/sqlite-session-store.d.ts.map +1 -0
- package/dist/app/sqlite-session-store.js +234 -0
- package/dist/app/sqlite-session-store.js.map +1 -0
- package/dist/app/types.d.ts +1461 -0
- package/dist/app/types.d.ts.map +1 -0
- package/dist/app/types.js +14 -0
- package/dist/app/types.js.map +1 -0
- package/dist/app.d.ts +79 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +83 -0
- package/dist/app.js.map +1 -0
- package/dist/channels/adapters/index.d.ts +2 -0
- package/dist/channels/adapters/index.d.ts.map +1 -0
- package/dist/channels/adapters/index.js +2 -0
- package/dist/channels/adapters/index.js.map +1 -0
- package/dist/channels/adapters/redis.d.ts +77 -0
- package/dist/channels/adapters/redis.d.ts.map +1 -0
- package/dist/channels/adapters/redis.js +259 -0
- package/dist/channels/adapters/redis.js.map +1 -0
- package/dist/channels/index.d.ts +38 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +38 -0
- package/dist/channels/index.js.map +1 -0
- package/dist/channels/service.d.ts +684 -0
- package/dist/channels/service.d.ts.map +1 -0
- package/dist/channels/service.js +870 -0
- package/dist/channels/service.js.map +1 -0
- package/dist/channels/transports/index.d.ts +4 -0
- package/dist/channels/transports/index.d.ts.map +1 -0
- package/dist/channels/transports/index.js +4 -0
- package/dist/channels/transports/index.js.map +1 -0
- package/dist/channels/transports/socketio.d.ts +98 -0
- package/dist/channels/transports/socketio.d.ts.map +1 -0
- package/dist/channels/transports/socketio.js +246 -0
- package/dist/channels/transports/socketio.js.map +1 -0
- package/dist/channels/transports/streamable-http.d.ts +107 -0
- package/dist/channels/transports/streamable-http.d.ts.map +1 -0
- package/dist/channels/transports/streamable-http.js +353 -0
- package/dist/channels/transports/streamable-http.js.map +1 -0
- package/dist/channels/transports/websocket.d.ts +117 -0
- package/dist/channels/transports/websocket.d.ts.map +1 -0
- package/dist/channels/transports/websocket.js +416 -0
- package/dist/channels/transports/websocket.js.map +1 -0
- package/dist/com/index.d.ts +29 -0
- package/dist/com/index.d.ts.map +1 -0
- package/dist/com/index.js +29 -0
- package/dist/com/index.js.map +1 -0
- package/dist/com/object-model.d.ts +634 -0
- package/dist/com/object-model.d.ts.map +1 -0
- package/dist/com/object-model.js +963 -0
- package/dist/com/object-model.js.map +1 -0
- package/dist/com/types.d.ts +192 -0
- package/dist/com/types.d.ts.map +1 -0
- package/dist/com/types.js +1 -0
- package/dist/com/types.js.map +1 -0
- package/dist/compiler/collector.d.ts +16 -0
- package/dist/compiler/collector.d.ts.map +1 -0
- package/dist/compiler/collector.js +388 -0
- package/dist/compiler/collector.js.map +1 -0
- package/dist/compiler/content-block-registry.d.ts +11 -0
- package/dist/compiler/content-block-registry.d.ts.map +1 -0
- package/dist/compiler/content-block-registry.js +312 -0
- package/dist/compiler/content-block-registry.js.map +1 -0
- package/dist/compiler/extractors.d.ts +68 -0
- package/dist/compiler/extractors.d.ts.map +1 -0
- package/dist/compiler/extractors.js +547 -0
- package/dist/compiler/extractors.js.map +1 -0
- package/dist/compiler/fiber-compiler.d.ts +203 -0
- package/dist/compiler/fiber-compiler.d.ts.map +1 -0
- package/dist/compiler/fiber-compiler.js +498 -0
- package/dist/compiler/fiber-compiler.js.map +1 -0
- package/dist/compiler/fiber.d.ts +61 -0
- package/dist/compiler/fiber.d.ts.map +1 -0
- package/dist/compiler/fiber.js +244 -0
- package/dist/compiler/fiber.js.map +1 -0
- package/dist/compiler/index.d.ts +18 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +38 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/scheduler.d.ts +95 -0
- package/dist/compiler/scheduler.d.ts.map +1 -0
- package/dist/compiler/scheduler.js +138 -0
- package/dist/compiler/scheduler.js.map +1 -0
- package/dist/compiler/structure-renderer.d.ts +42 -0
- package/dist/compiler/structure-renderer.d.ts.map +1 -0
- package/dist/compiler/structure-renderer.js +189 -0
- package/dist/compiler/structure-renderer.js.map +1 -0
- package/dist/compiler/types.d.ts +96 -0
- package/dist/compiler/types.d.ts.map +1 -0
- package/dist/compiler/types.js +19 -0
- package/dist/compiler/types.js.map +1 -0
- package/dist/component/component-hooks.d.ts +68 -0
- package/dist/component/component-hooks.d.ts.map +1 -0
- package/dist/component/component-hooks.js +112 -0
- package/dist/component/component-hooks.js.map +1 -0
- package/dist/component/component.d.ts +314 -0
- package/dist/component/component.d.ts.map +1 -0
- package/dist/component/component.js +64 -0
- package/dist/component/component.js.map +1 -0
- package/dist/component/index.d.ts +47 -0
- package/dist/component/index.d.ts.map +1 -0
- package/dist/component/index.js +47 -0
- package/dist/component/index.js.map +1 -0
- package/dist/component/tentickle-component.d.ts +185 -0
- package/dist/component/tentickle-component.d.ts.map +1 -0
- package/dist/component/tentickle-component.js +182 -0
- package/dist/component/tentickle-component.js.map +1 -0
- package/dist/content/index.d.ts +12 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +17 -0
- package/dist/content/index.js.map +1 -0
- package/dist/context/index.d.ts +51 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +69 -0
- package/dist/context/index.js.map +1 -0
- package/dist/core/channel-helpers.d.ts +31 -0
- package/dist/core/channel-helpers.d.ts.map +1 -0
- package/dist/core/channel-helpers.js +62 -0
- package/dist/core/channel-helpers.js.map +1 -0
- package/dist/core/channel.d.ts +164 -0
- package/dist/core/channel.d.ts.map +1 -0
- package/dist/core/channel.js +199 -0
- package/dist/core/channel.js.map +1 -0
- package/dist/core/context.d.ts +412 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +290 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/event-buffer.d.ts +212 -0
- package/dist/core/event-buffer.d.ts.map +1 -0
- package/dist/core/event-buffer.js +346 -0
- package/dist/core/event-buffer.js.map +1 -0
- package/dist/core/execution-helpers.d.ts +179 -0
- package/dist/core/execution-helpers.d.ts.map +1 -0
- package/dist/core/execution-helpers.js +212 -0
- package/dist/core/execution-helpers.js.map +1 -0
- package/dist/core/execution-tracker.d.ts +53 -0
- package/dist/core/execution-tracker.d.ts.map +1 -0
- package/dist/core/execution-tracker.js +309 -0
- package/dist/core/execution-tracker.js.map +1 -0
- package/dist/core/index.d.ts +58 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +58 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts +341 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +346 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/metrics-helpers.d.ts +40 -0
- package/dist/core/metrics-helpers.d.ts.map +1 -0
- package/dist/core/metrics-helpers.js +72 -0
- package/dist/core/metrics-helpers.js.map +1 -0
- package/dist/core/otel-provider.d.ts +54 -0
- package/dist/core/otel-provider.d.ts.map +1 -0
- package/dist/core/otel-provider.js +107 -0
- package/dist/core/otel-provider.js.map +1 -0
- package/dist/core/procedure-graph.d.ts +136 -0
- package/dist/core/procedure-graph.d.ts.map +1 -0
- package/dist/core/procedure-graph.js +272 -0
- package/dist/core/procedure-graph.js.map +1 -0
- package/dist/core/procedure.d.ts +755 -0
- package/dist/core/procedure.d.ts.map +1 -0
- package/dist/core/procedure.js +899 -0
- package/dist/core/procedure.js.map +1 -0
- package/dist/core/stream.d.ts +106 -0
- package/dist/core/stream.d.ts.map +1 -0
- package/dist/core/stream.js +186 -0
- package/dist/core/stream.js.map +1 -0
- package/dist/core/telemetry.d.ts +182 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/core/telemetry.js +124 -0
- package/dist/core/telemetry.js.map +1 -0
- package/dist/engine/client-tool-coordinator.d.ts +50 -0
- package/dist/engine/client-tool-coordinator.d.ts.map +1 -0
- package/dist/engine/client-tool-coordinator.js +121 -0
- package/dist/engine/client-tool-coordinator.js.map +1 -0
- package/dist/engine/engine-events.d.ts +117 -0
- package/dist/engine/engine-events.d.ts.map +1 -0
- package/dist/engine/engine-events.js +178 -0
- package/dist/engine/engine-events.js.map +1 -0
- package/dist/engine/engine-response.d.ts +48 -0
- package/dist/engine/engine-response.d.ts.map +1 -0
- package/dist/engine/engine-response.js +2 -0
- package/dist/engine/engine-response.js.map +1 -0
- package/dist/engine/execution-graph.d.ts +104 -0
- package/dist/engine/execution-graph.d.ts.map +1 -0
- package/dist/engine/execution-graph.js +257 -0
- package/dist/engine/execution-graph.js.map +1 -0
- package/dist/engine/execution-handle.d.ts +212 -0
- package/dist/engine/execution-handle.d.ts.map +1 -0
- package/dist/engine/execution-handle.js +602 -0
- package/dist/engine/execution-handle.js.map +1 -0
- package/dist/engine/execution-types.d.ts +248 -0
- package/dist/engine/execution-types.d.ts.map +1 -0
- package/dist/engine/execution-types.js +23 -0
- package/dist/engine/execution-types.js.map +1 -0
- package/dist/engine/index.d.ts +21 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +23 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/tool-confirmation-coordinator.d.ts +74 -0
- package/dist/engine/tool-confirmation-coordinator.d.ts.map +1 -0
- package/dist/engine/tool-confirmation-coordinator.js +137 -0
- package/dist/engine/tool-confirmation-coordinator.js.map +1 -0
- package/dist/engine/tool-executor.d.ts +127 -0
- package/dist/engine/tool-executor.d.ts.map +1 -0
- package/dist/engine/tool-executor.js +363 -0
- package/dist/engine/tool-executor.js.map +1 -0
- package/dist/hibernation/index.d.ts +126 -0
- package/dist/hibernation/index.d.ts.map +1 -0
- package/dist/hibernation/index.js +127 -0
- package/dist/hibernation/index.js.map +1 -0
- package/dist/hooks/base-hook-registry.d.ts +41 -0
- package/dist/hooks/base-hook-registry.d.ts.map +1 -0
- package/dist/hooks/base-hook-registry.js +76 -0
- package/dist/hooks/base-hook-registry.js.map +1 -0
- package/dist/hooks/com-state.d.ts +40 -0
- package/dist/hooks/com-state.d.ts.map +1 -0
- package/dist/hooks/com-state.js +90 -0
- package/dist/hooks/com-state.js.map +1 -0
- package/dist/hooks/context-info.d.ts +139 -0
- package/dist/hooks/context-info.d.ts.map +1 -0
- package/dist/hooks/context-info.js +115 -0
- package/dist/hooks/context-info.js.map +1 -0
- package/dist/hooks/context-internal.d.ts +21 -0
- package/dist/hooks/context-internal.d.ts.map +1 -0
- package/dist/hooks/context-internal.js +20 -0
- package/dist/hooks/context-internal.js.map +1 -0
- package/dist/hooks/context.d.ts +64 -0
- package/dist/hooks/context.d.ts.map +1 -0
- package/dist/hooks/context.js +83 -0
- package/dist/hooks/context.js.map +1 -0
- package/dist/hooks/data.d.ts +33 -0
- package/dist/hooks/data.d.ts.map +1 -0
- package/dist/hooks/data.js +84 -0
- package/dist/hooks/data.js.map +1 -0
- package/dist/hooks/formatter-context.d.ts +34 -0
- package/dist/hooks/formatter-context.d.ts.map +1 -0
- package/dist/hooks/formatter-context.js +34 -0
- package/dist/hooks/formatter-context.js.map +1 -0
- package/dist/hooks/hook-registry.d.ts +45 -0
- package/dist/hooks/hook-registry.d.ts.map +1 -0
- package/dist/hooks/hook-registry.js +109 -0
- package/dist/hooks/hook-registry.js.map +1 -0
- package/dist/hooks/index.d.ts +20 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +47 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/knob.d.ts +87 -0
- package/dist/hooks/knob.d.ts.map +1 -0
- package/dist/hooks/knob.js +129 -0
- package/dist/hooks/knob.js.map +1 -0
- package/dist/hooks/knobs-component.d.ts +70 -0
- package/dist/hooks/knobs-component.d.ts.map +1 -0
- package/dist/hooks/knobs-component.js +300 -0
- package/dist/hooks/knobs-component.js.map +1 -0
- package/dist/hooks/lifecycle.d.ts +158 -0
- package/dist/hooks/lifecycle.d.ts.map +1 -0
- package/dist/hooks/lifecycle.js +217 -0
- package/dist/hooks/lifecycle.js.map +1 -0
- package/dist/hooks/message-context.d.ts +101 -0
- package/dist/hooks/message-context.d.ts.map +1 -0
- package/dist/hooks/message-context.js +145 -0
- package/dist/hooks/message-context.js.map +1 -0
- package/dist/hooks/policy-context.d.ts.map +1 -0
- package/dist/hooks/runtime-context.d.ts +122 -0
- package/dist/hooks/runtime-context.d.ts.map +1 -0
- package/dist/hooks/runtime-context.js +149 -0
- package/dist/hooks/runtime-context.js.map +1 -0
- package/dist/hooks/signal.d.ts +267 -0
- package/dist/hooks/signal.d.ts.map +1 -0
- package/dist/hooks/signal.js +825 -0
- package/dist/hooks/signal.js.map +1 -0
- package/dist/hooks/types.d.ts +179 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +5 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx/components/agent.d.ts +64 -0
- package/dist/jsx/components/agent.d.ts.map +1 -0
- package/dist/jsx/components/agent.js +80 -0
- package/dist/jsx/components/agent.js.map +1 -0
- package/dist/jsx/components/complete.d.ts +65 -0
- package/dist/jsx/components/complete.d.ts.map +1 -0
- package/dist/jsx/components/complete.js +64 -0
- package/dist/jsx/components/complete.js.map +1 -0
- package/dist/jsx/components/content.d.ts +98 -0
- package/dist/jsx/components/content.d.ts.map +1 -0
- package/dist/jsx/components/content.js +51 -0
- package/dist/jsx/components/content.js.map +1 -0
- package/dist/jsx/components/harness.d.ts +118 -0
- package/dist/jsx/components/harness.d.ts.map +1 -0
- package/dist/jsx/components/harness.js +117 -0
- package/dist/jsx/components/harness.js.map +1 -0
- package/dist/jsx/components/index.d.ts +11 -0
- package/dist/jsx/components/index.d.ts.map +1 -0
- package/dist/jsx/components/index.js +11 -0
- package/dist/jsx/components/index.js.map +1 -0
- package/dist/jsx/components/markdown.d.ts +31 -0
- package/dist/jsx/components/markdown.d.ts.map +1 -0
- package/dist/jsx/components/markdown.js +17 -0
- package/dist/jsx/components/markdown.js.map +1 -0
- package/dist/jsx/components/messages.d.ts +283 -0
- package/dist/jsx/components/messages.d.ts.map +1 -0
- package/dist/jsx/components/messages.js +257 -0
- package/dist/jsx/components/messages.js.map +1 -0
- package/dist/jsx/components/model.d.ts +94 -0
- package/dist/jsx/components/model.d.ts.map +1 -0
- package/dist/jsx/components/model.js +96 -0
- package/dist/jsx/components/model.js.map +1 -0
- package/dist/jsx/components/primitives.d.ts +117 -0
- package/dist/jsx/components/primitives.d.ts.map +1 -0
- package/dist/jsx/components/primitives.js +83 -0
- package/dist/jsx/components/primitives.js.map +1 -0
- package/dist/jsx/components/renderer.d.ts +24 -0
- package/dist/jsx/components/renderer.d.ts.map +1 -0
- package/dist/jsx/components/renderer.js +11 -0
- package/dist/jsx/components/renderer.js.map +1 -0
- package/dist/jsx/components/semantic.d.ts +155 -0
- package/dist/jsx/components/semantic.d.ts.map +1 -0
- package/dist/jsx/components/semantic.js +39 -0
- package/dist/jsx/components/semantic.js.map +1 -0
- package/dist/jsx/components/timeline.d.ts +157 -0
- package/dist/jsx/components/timeline.d.ts.map +1 -0
- package/dist/jsx/components/timeline.js +357 -0
- package/dist/jsx/components/timeline.js.map +1 -0
- package/dist/jsx/components/token-budget.d.ts +70 -0
- package/dist/jsx/components/token-budget.d.ts.map +1 -0
- package/dist/jsx/components/token-budget.js +135 -0
- package/dist/jsx/components/token-budget.js.map +1 -0
- package/dist/jsx/components/xml.d.ts +27 -0
- package/dist/jsx/components/xml.d.ts.map +1 -0
- package/dist/jsx/components/xml.js +17 -0
- package/dist/jsx/components/xml.js.map +1 -0
- package/dist/jsx/index.d.ts +58 -0
- package/dist/jsx/index.d.ts.map +1 -0
- package/dist/jsx/index.js +59 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/jsx-runtime.d.ts +370 -0
- package/dist/jsx/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx/jsx-runtime.js +79 -0
- package/dist/jsx/jsx-runtime.js.map +1 -0
- package/dist/jsx/jsx-types.d.ts +23 -0
- package/dist/jsx/jsx-types.d.ts.map +1 -0
- package/dist/jsx/jsx-types.js +1 -0
- package/dist/jsx/jsx-types.js.map +1 -0
- package/dist/mcp/client.d.ts +46 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +138 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/component.d.ts +95 -0
- package/dist/mcp/component.d.ts.map +1 -0
- package/dist/mcp/component.js +185 -0
- package/dist/mcp/component.js.map +1 -0
- package/dist/mcp/create-mcp-tool.d.ts +191 -0
- package/dist/mcp/create-mcp-tool.d.ts.map +1 -0
- package/dist/mcp/create-mcp-tool.js +228 -0
- package/dist/mcp/create-mcp-tool.js.map +1 -0
- package/dist/mcp/index.d.ts +49 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +48 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/service.d.ts +39 -0
- package/dist/mcp/service.d.ts.map +1 -0
- package/dist/mcp/service.js +77 -0
- package/dist/mcp/service.js.map +1 -0
- package/dist/mcp/tool.d.ts +55 -0
- package/dist/mcp/tool.d.ts.map +1 -0
- package/dist/mcp/tool.js +119 -0
- package/dist/mcp/tool.js.map +1 -0
- package/dist/mcp/types.d.ts +72 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +6 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/middleware/defaults.d.ts +9 -0
- package/dist/middleware/defaults.d.ts.map +1 -0
- package/dist/middleware/defaults.js +47 -0
- package/dist/middleware/defaults.js.map +1 -0
- package/dist/model/adapter-helpers.d.ts +161 -0
- package/dist/model/adapter-helpers.d.ts.map +1 -0
- package/dist/model/adapter-helpers.js +351 -0
- package/dist/model/adapter-helpers.js.map +1 -0
- package/dist/model/adapter.d.ts +399 -0
- package/dist/model/adapter.d.ts.map +1 -0
- package/dist/model/adapter.js +497 -0
- package/dist/model/adapter.js.map +1 -0
- package/dist/model/index.d.ts +54 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +55 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/model-hooks.d.ts +45 -0
- package/dist/model/model-hooks.d.ts.map +1 -0
- package/dist/model/model-hooks.js +24 -0
- package/dist/model/model-hooks.js.map +1 -0
- package/dist/model/model.d.ts +302 -0
- package/dist/model/model.d.ts.map +1 -0
- package/dist/model/model.js +20 -0
- package/dist/model/model.js.map +1 -0
- package/dist/model/simple-adapter.d.ts +176 -0
- package/dist/model/simple-adapter.d.ts.map +1 -0
- package/dist/model/simple-adapter.js +264 -0
- package/dist/model/simple-adapter.js.map +1 -0
- package/dist/model/stream-accumulator.d.ts +284 -0
- package/dist/model/stream-accumulator.d.ts.map +1 -0
- package/dist/model/stream-accumulator.js +532 -0
- package/dist/model/stream-accumulator.js.map +1 -0
- package/dist/model/utils/index.d.ts +2 -0
- package/dist/model/utils/index.d.ts.map +1 -0
- package/dist/model/utils/index.js +2 -0
- package/dist/model/utils/index.js.map +1 -0
- package/dist/model/utils/language-model.d.ts +26 -0
- package/dist/model/utils/language-model.d.ts.map +1 -0
- package/dist/model/utils/language-model.js +706 -0
- package/dist/model/utils/language-model.js.map +1 -0
- package/dist/procedure/index.d.ts +20 -0
- package/dist/procedure/index.d.ts.map +1 -0
- package/dist/procedure/index.js +19 -0
- package/dist/procedure/index.js.map +1 -0
- package/dist/reconciler/devtools-bridge.d.ts +40 -0
- package/dist/reconciler/devtools-bridge.d.ts.map +1 -0
- package/dist/reconciler/devtools-bridge.js +79 -0
- package/dist/reconciler/devtools-bridge.js.map +1 -0
- package/dist/reconciler/host-config.d.ts +39 -0
- package/dist/reconciler/host-config.d.ts.map +1 -0
- package/dist/reconciler/host-config.js +195 -0
- package/dist/reconciler/host-config.js.map +1 -0
- package/dist/reconciler/index.d.ts +7 -0
- package/dist/reconciler/index.d.ts.map +1 -0
- package/dist/reconciler/index.js +7 -0
- package/dist/reconciler/index.js.map +1 -0
- package/dist/reconciler/reconciler.d.ts +47 -0
- package/dist/reconciler/reconciler.d.ts.map +1 -0
- package/dist/reconciler/reconciler.js +89 -0
- package/dist/reconciler/reconciler.js.map +1 -0
- package/dist/reconciler/types.d.ts +86 -0
- package/dist/reconciler/types.d.ts.map +1 -0
- package/dist/reconciler/types.js +37 -0
- package/dist/reconciler/types.js.map +1 -0
- package/dist/renderers/base.d.ts +98 -0
- package/dist/renderers/base.d.ts.map +1 -0
- package/dist/renderers/base.js +82 -0
- package/dist/renderers/base.js.map +1 -0
- package/dist/renderers/index.d.ts +31 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +31 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/markdown.d.ts +48 -0
- package/dist/renderers/markdown.d.ts.map +1 -0
- package/dist/renderers/markdown.js +432 -0
- package/dist/renderers/markdown.js.map +1 -0
- package/dist/renderers/types.d.ts +7 -0
- package/dist/renderers/types.d.ts.map +1 -0
- package/dist/renderers/types.js +7 -0
- package/dist/renderers/types.js.map +1 -0
- package/dist/renderers/xml.d.ts +49 -0
- package/dist/renderers/xml.d.ts.map +1 -0
- package/dist/renderers/xml.js +444 -0
- package/dist/renderers/xml.js.map +1 -0
- package/dist/state/boundary.d.ts +347 -0
- package/dist/state/boundary.d.ts.map +1 -0
- package/dist/state/boundary.js +341 -0
- package/dist/state/boundary.js.map +1 -0
- package/dist/state/context.d.ts +138 -0
- package/dist/state/context.d.ts.map +1 -0
- package/dist/state/context.js +139 -0
- package/dist/state/context.js.map +1 -0
- package/dist/state/hooks.d.ts +798 -0
- package/dist/state/hooks.d.ts.map +1 -0
- package/dist/state/hooks.js +1437 -0
- package/dist/state/hooks.js.map +1 -0
- package/dist/state/index.d.ts +72 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +73 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/signal.d.ts +223 -0
- package/dist/state/signal.d.ts.map +1 -0
- package/dist/state/signal.js +699 -0
- package/dist/state/signal.js.map +1 -0
- package/dist/state/use-state.d.ts +210 -0
- package/dist/state/use-state.d.ts.map +1 -0
- package/dist/state/use-state.js +327 -0
- package/dist/state/use-state.js.map +1 -0
- package/dist/tentickle-instance.d.ts +285 -0
- package/dist/tentickle-instance.d.ts.map +1 -0
- package/dist/tentickle-instance.js +700 -0
- package/dist/tentickle-instance.js.map +1 -0
- package/dist/testing/act.d.ts +59 -0
- package/dist/testing/act.d.ts.map +1 -0
- package/dist/testing/act.js +92 -0
- package/dist/testing/act.js.map +1 -0
- package/dist/testing/async-helpers.d.ts +99 -0
- package/dist/testing/async-helpers.d.ts.map +1 -0
- package/dist/testing/async-helpers.js +193 -0
- package/dist/testing/async-helpers.js.map +1 -0
- package/dist/testing/compile-agent.d.ts +101 -0
- package/dist/testing/compile-agent.d.ts.map +1 -0
- package/dist/testing/compile-agent.js +136 -0
- package/dist/testing/compile-agent.js.map +1 -0
- package/dist/testing/index.d.ts +57 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +59 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-app.d.ts +163 -0
- package/dist/testing/mock-app.d.ts.map +1 -0
- package/dist/testing/mock-app.js +393 -0
- package/dist/testing/mock-app.js.map +1 -0
- package/dist/testing/mocks.d.ts +142 -0
- package/dist/testing/mocks.d.ts.map +1 -0
- package/dist/testing/mocks.js +191 -0
- package/dist/testing/mocks.js.map +1 -0
- package/dist/testing/render-agent.d.ts +146 -0
- package/dist/testing/render-agent.d.ts.map +1 -0
- package/dist/testing/render-agent.js +200 -0
- package/dist/testing/render-agent.js.map +1 -0
- package/dist/testing/test-adapter.d.ts +157 -0
- package/dist/testing/test-adapter.d.ts.map +1 -0
- package/dist/testing/test-adapter.js +297 -0
- package/dist/testing/test-adapter.js.map +1 -0
- package/dist/testing/test-model.d.ts +132 -0
- package/dist/testing/test-model.d.ts.map +1 -0
- package/dist/testing/test-model.js +260 -0
- package/dist/testing/test-model.js.map +1 -0
- package/dist/tool/index.d.ts +61 -0
- package/dist/tool/index.d.ts.map +1 -0
- package/dist/tool/index.js +63 -0
- package/dist/tool/index.js.map +1 -0
- package/dist/tool/tool-hooks.d.ts +45 -0
- package/dist/tool/tool-hooks.d.ts.map +1 -0
- package/dist/tool/tool-hooks.js +35 -0
- package/dist/tool/tool-hooks.js.map +1 -0
- package/dist/tool/tool.d.ts +403 -0
- package/dist/tool/tool.d.ts.map +1 -0
- package/dist/tool/tool.js +176 -0
- package/dist/tool/tool.js.map +1 -0
- package/dist/types.d.ts +442 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +97 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/abort-utils.d.ts +5 -0
- package/dist/utils/abort-utils.d.ts.map +1 -0
- package/dist/utils/abort-utils.js +50 -0
- package/dist/utils/abort-utils.js.map +1 -0
- package/dist/utils/classify-error.d.ts +19 -0
- package/dist/utils/classify-error.d.ts.map +1 -0
- package/dist/utils/classify-error.js +77 -0
- package/dist/utils/classify-error.js.map +1 -0
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/normalization.d.ts +6 -0
- package/dist/utils/normalization.d.ts.map +1 -0
- package/dist/utils/normalization.js +103 -0
- package/dist/utils/normalization.js.map +1 -0
- package/dist/utils/registry.d.ts +15 -0
- package/dist/utils/registry.d.ts.map +1 -0
- package/dist/utils/registry.js +28 -0
- package/dist/utils/registry.js.map +1 -0
- package/dist/utils/schema.d.ts +7 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +13 -0
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/token-estimate.d.ts +87 -0
- package/dist/utils/token-estimate.d.ts.map +1 -0
- package/dist/utils/token-estimate.js +199 -0
- package/dist/utils/token-estimate.js.map +1 -0
- package/dist/v2/reconciler/host-config.d.ts +31 -0
- package/dist/v2/reconciler/host-config.d.ts.map +1 -0
- package/dist/v2/reconciler/host-config.js +197 -0
- package/dist/v2/reconciler/host-config.js.map +1 -0
- package/dist/v2/reconciler/index.d.ts +7 -0
- package/dist/v2/reconciler/index.d.ts.map +1 -0
- package/dist/v2/reconciler/index.js +7 -0
- package/dist/v2/reconciler/index.js.map +1 -0
- package/dist/v2/reconciler/reconciler.d.ts +39 -0
- package/dist/v2/reconciler/reconciler.d.ts.map +1 -0
- package/dist/v2/reconciler/reconciler.js +54 -0
- package/dist/v2/reconciler/reconciler.js.map +1 -0
- package/dist/v2/reconciler/types.d.ts +64 -0
- package/dist/v2/reconciler/types.d.ts.map +1 -0
- package/dist/v2/reconciler/types.js +20 -0
- package/dist/v2/reconciler/types.js.map +1 -0
- package/dist/v2/renderers/index.d.ts +7 -0
- package/dist/v2/renderers/index.d.ts.map +1 -0
- package/dist/v2/renderers/index.js +7 -0
- package/dist/v2/renderers/index.js.map +1 -0
- package/dist/v2/renderers/markdown.d.ts +16 -0
- package/dist/v2/renderers/markdown.d.ts.map +1 -0
- package/dist/v2/renderers/markdown.js +65 -0
- package/dist/v2/renderers/markdown.js.map +1 -0
- package/dist/v2/renderers/types.d.ts +26 -0
- package/dist/v2/renderers/types.d.ts.map +1 -0
- package/dist/v2/renderers/types.js +6 -0
- package/dist/v2/renderers/types.js.map +1 -0
- package/dist/v2/renderers/xml.d.ts +17 -0
- package/dist/v2/renderers/xml.d.ts.map +1 -0
- package/dist/v2/renderers/xml.js +73 -0
- package/dist/v2/renderers/xml.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EventBuffer - Typed event stream with channel-based subscriptions
|
|
3
|
+
*
|
|
4
|
+
* A streaming primitive that combines EventEmitter's channel model with:
|
|
5
|
+
* - **Type-safe channels**: Event `type` property IS the channel name
|
|
6
|
+
* - **Narrowed handlers**: `on('delta', h)` gives handler the narrowed type
|
|
7
|
+
* - **Dual consumption**: Multiple consumers see all events independently
|
|
8
|
+
* - **Replay support**: Late subscribers receive buffered events
|
|
9
|
+
* - **Async iteration**: `for await (const event of buffer)`
|
|
10
|
+
*
|
|
11
|
+
* Events must have a `type` property that acts as the channel discriminator.
|
|
12
|
+
* This aligns with discriminated union patterns common in TypeScript.
|
|
13
|
+
*
|
|
14
|
+
* @module tentickle/core/event-buffer
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Wildcard key for subscribers that receive all events.
|
|
18
|
+
*/
|
|
19
|
+
const WILDCARD = "*";
|
|
20
|
+
/**
|
|
21
|
+
* EventBuffer enables typed, channel-based event streaming.
|
|
22
|
+
*
|
|
23
|
+
* The event's `type` property IS the channel. Subscribing to 'delta'
|
|
24
|
+
* means you only receive events where `event.type === 'delta'`.
|
|
25
|
+
*
|
|
26
|
+
* @example Basic usage with channels
|
|
27
|
+
* ```typescript
|
|
28
|
+
* type StreamEvent =
|
|
29
|
+
* | { type: 'delta'; value: string }
|
|
30
|
+
* | { type: 'complete'; result: any };
|
|
31
|
+
*
|
|
32
|
+
* const buffer = new EventBuffer<StreamEvent>();
|
|
33
|
+
*
|
|
34
|
+
* // Subscribe to specific channel - handler gets narrowed type
|
|
35
|
+
* buffer.on('delta', (event) => {
|
|
36
|
+
* console.log(event.value); // TypeScript knows: { type: 'delta', value: string }
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* // Subscribe to all events
|
|
40
|
+
* buffer.on((event) => {
|
|
41
|
+
* console.log(event); // StreamEvent union
|
|
42
|
+
* });
|
|
43
|
+
*
|
|
44
|
+
* // Emit - type can be first arg (event.type omitted) or in event object
|
|
45
|
+
* buffer.emit('delta', { value: 'Hello' });
|
|
46
|
+
* buffer.emit({ type: 'complete', result: 42 });
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example Late subscriber with replay
|
|
50
|
+
* ```typescript
|
|
51
|
+
* buffer.emit('delta', { value: 'first' });
|
|
52
|
+
* buffer.emit('delta', { value: 'second' });
|
|
53
|
+
*
|
|
54
|
+
* // Late subscriber gets all past 'delta' events replayed
|
|
55
|
+
* buffer.onReplay('delta', (e) => console.log(e.value));
|
|
56
|
+
* // logs: 'first', 'second'
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @example Async iteration
|
|
60
|
+
* ```typescript
|
|
61
|
+
* for await (const event of buffer) {
|
|
62
|
+
* if (event.type === 'complete') break;
|
|
63
|
+
* console.log(event);
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export class EventBuffer {
|
|
68
|
+
buffer = [];
|
|
69
|
+
subscribers = new Map();
|
|
70
|
+
waiters = [];
|
|
71
|
+
_closed = false;
|
|
72
|
+
_error = null;
|
|
73
|
+
// ============================================================================
|
|
74
|
+
// Push Events
|
|
75
|
+
// ============================================================================
|
|
76
|
+
/**
|
|
77
|
+
* Push an event into the buffer.
|
|
78
|
+
* Notifies subscribers for this event's type and wildcard subscribers.
|
|
79
|
+
*/
|
|
80
|
+
push(event) {
|
|
81
|
+
if (this._closed)
|
|
82
|
+
return;
|
|
83
|
+
this.buffer.push(event);
|
|
84
|
+
// Notify type-specific subscribers
|
|
85
|
+
const typeSubscribers = this.subscribers.get(event.type);
|
|
86
|
+
if (typeSubscribers) {
|
|
87
|
+
for (const handler of typeSubscribers) {
|
|
88
|
+
handler(event);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Notify wildcard subscribers
|
|
92
|
+
const wildcardSubscribers = this.subscribers.get(WILDCARD);
|
|
93
|
+
if (wildcardSubscribers) {
|
|
94
|
+
for (const handler of wildcardSubscribers) {
|
|
95
|
+
handler(event);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Resolve first waiter (FIFO for async iteration)
|
|
99
|
+
if (this.waiters.length > 0) {
|
|
100
|
+
const waiter = this.waiters.shift();
|
|
101
|
+
waiter.resolve(event);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
emit(eventTypeOrEvent, maybeEvent) {
|
|
105
|
+
let event;
|
|
106
|
+
if (maybeEvent !== undefined) {
|
|
107
|
+
if (eventTypeOrEvent === WILDCARD) {
|
|
108
|
+
// emit("*", fullEvent) - backwards compat, push as-is
|
|
109
|
+
event = maybeEvent;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
// Two params: emit('delta', { value: 'hi' })
|
|
113
|
+
event = { type: eventTypeOrEvent, ...maybeEvent };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// One param: emit({ type: 'delta', value: 'hi' })
|
|
118
|
+
event = eventTypeOrEvent;
|
|
119
|
+
}
|
|
120
|
+
this.push(event);
|
|
121
|
+
return this.getTotalListenerCount() > 0;
|
|
122
|
+
}
|
|
123
|
+
on(eventTypeOrHandler, handler) {
|
|
124
|
+
if (typeof eventTypeOrHandler === "function") {
|
|
125
|
+
return this.addSubscriber(WILDCARD, eventTypeOrHandler);
|
|
126
|
+
}
|
|
127
|
+
else if (eventTypeOrHandler === WILDCARD) {
|
|
128
|
+
// "*" is explicit wildcard
|
|
129
|
+
return this.addSubscriber(WILDCARD, handler);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
return this.addSubscriber(eventTypeOrHandler, handler);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
once(eventTypeOrHandler, handler) {
|
|
136
|
+
if (typeof eventTypeOrHandler === "function") {
|
|
137
|
+
const wrapper = (event) => {
|
|
138
|
+
this.removeSubscriber(WILDCARD, wrapper);
|
|
139
|
+
eventTypeOrHandler(event);
|
|
140
|
+
};
|
|
141
|
+
return this.addSubscriber(WILDCARD, wrapper);
|
|
142
|
+
}
|
|
143
|
+
else if (eventTypeOrHandler === WILDCARD) {
|
|
144
|
+
const wrapper = (event) => {
|
|
145
|
+
this.removeSubscriber(WILDCARD, wrapper);
|
|
146
|
+
handler(event);
|
|
147
|
+
};
|
|
148
|
+
return this.addSubscriber(WILDCARD, wrapper);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
const wrapper = (event) => {
|
|
152
|
+
this.removeSubscriber(eventTypeOrHandler, wrapper);
|
|
153
|
+
handler(event);
|
|
154
|
+
};
|
|
155
|
+
return this.addSubscriber(eventTypeOrHandler, wrapper);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
off(eventTypeOrHandler, handler) {
|
|
159
|
+
if (typeof eventTypeOrHandler === "function") {
|
|
160
|
+
return this.removeSubscriber(WILDCARD, eventTypeOrHandler);
|
|
161
|
+
}
|
|
162
|
+
else if (eventTypeOrHandler === WILDCARD) {
|
|
163
|
+
return this.removeSubscriber(WILDCARD, handler);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
return this.removeSubscriber(eventTypeOrHandler, handler);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
onReplay(eventTypeOrHandler, handler) {
|
|
170
|
+
if (typeof eventTypeOrHandler === "function") {
|
|
171
|
+
// Replay all buffered events
|
|
172
|
+
for (const event of this.buffer) {
|
|
173
|
+
eventTypeOrHandler(event);
|
|
174
|
+
}
|
|
175
|
+
return this.on(eventTypeOrHandler);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
// Replay only events of this type
|
|
179
|
+
for (const event of this.buffer) {
|
|
180
|
+
if (event.type === eventTypeOrHandler) {
|
|
181
|
+
handler(event);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return this.on(eventTypeOrHandler, handler);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
// ============================================================================
|
|
188
|
+
// Private Subscription Helpers
|
|
189
|
+
// ============================================================================
|
|
190
|
+
addSubscriber(key, handler) {
|
|
191
|
+
if (!this.subscribers.has(key)) {
|
|
192
|
+
this.subscribers.set(key, new Set());
|
|
193
|
+
}
|
|
194
|
+
this.subscribers.get(key).add(handler);
|
|
195
|
+
return () => this.removeSubscriber(key, handler);
|
|
196
|
+
}
|
|
197
|
+
removeSubscriber(key, handler) {
|
|
198
|
+
const set = this.subscribers.get(key);
|
|
199
|
+
if (!set)
|
|
200
|
+
return false;
|
|
201
|
+
const deleted = set.delete(handler);
|
|
202
|
+
if (set.size === 0) {
|
|
203
|
+
this.subscribers.delete(key);
|
|
204
|
+
}
|
|
205
|
+
return deleted;
|
|
206
|
+
}
|
|
207
|
+
// ============================================================================
|
|
208
|
+
// Lifecycle
|
|
209
|
+
// ============================================================================
|
|
210
|
+
/**
|
|
211
|
+
* Close the buffer (no more events).
|
|
212
|
+
* Completes all async iterators gracefully.
|
|
213
|
+
*/
|
|
214
|
+
close() {
|
|
215
|
+
if (this._closed)
|
|
216
|
+
return;
|
|
217
|
+
this._closed = true;
|
|
218
|
+
// Complete all waiting iterators
|
|
219
|
+
for (const waiter of this.waiters) {
|
|
220
|
+
waiter.reject(new Error("Buffer closed"));
|
|
221
|
+
}
|
|
222
|
+
this.waiters = [];
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Close with an error.
|
|
226
|
+
* All waiting iterators will throw this error.
|
|
227
|
+
*/
|
|
228
|
+
error(err) {
|
|
229
|
+
if (this._closed)
|
|
230
|
+
return;
|
|
231
|
+
this._error = err;
|
|
232
|
+
this._closed = true;
|
|
233
|
+
for (const waiter of this.waiters) {
|
|
234
|
+
waiter.reject(err);
|
|
235
|
+
}
|
|
236
|
+
this.waiters = [];
|
|
237
|
+
}
|
|
238
|
+
// ============================================================================
|
|
239
|
+
// State
|
|
240
|
+
// ============================================================================
|
|
241
|
+
/** Whether the buffer is closed. */
|
|
242
|
+
get closed() {
|
|
243
|
+
return this._closed;
|
|
244
|
+
}
|
|
245
|
+
/** Error that closed the buffer (if any). */
|
|
246
|
+
get errorValue() {
|
|
247
|
+
return this._error;
|
|
248
|
+
}
|
|
249
|
+
/** Number of buffered events. */
|
|
250
|
+
get length() {
|
|
251
|
+
return this.buffer.length;
|
|
252
|
+
}
|
|
253
|
+
/** Total number of active subscribers across all channels. */
|
|
254
|
+
get listenerCount() {
|
|
255
|
+
return this.getTotalListenerCount();
|
|
256
|
+
}
|
|
257
|
+
getTotalListenerCount() {
|
|
258
|
+
let count = 0;
|
|
259
|
+
for (const set of this.subscribers.values()) {
|
|
260
|
+
count += set.size;
|
|
261
|
+
}
|
|
262
|
+
return count;
|
|
263
|
+
}
|
|
264
|
+
getListenerCount(eventType) {
|
|
265
|
+
const key = eventType ?? WILDCARD;
|
|
266
|
+
return this.subscribers.get(key)?.size ?? 0;
|
|
267
|
+
}
|
|
268
|
+
/** Get all buffered events (readonly). */
|
|
269
|
+
getBuffer() {
|
|
270
|
+
return this.buffer;
|
|
271
|
+
}
|
|
272
|
+
/** Get buffered events of a specific type. */
|
|
273
|
+
getBufferByType(eventType) {
|
|
274
|
+
return this.buffer.filter((e) => e.type === eventType);
|
|
275
|
+
}
|
|
276
|
+
/** Convert buffer to array (copy). */
|
|
277
|
+
toArray() {
|
|
278
|
+
return [...this.buffer];
|
|
279
|
+
}
|
|
280
|
+
// ============================================================================
|
|
281
|
+
// Async Iteration
|
|
282
|
+
// ============================================================================
|
|
283
|
+
/**
|
|
284
|
+
* Async iterator that replays all events then waits for new ones.
|
|
285
|
+
*
|
|
286
|
+
* Multiple iterators can exist simultaneously - each sees all events.
|
|
287
|
+
*/
|
|
288
|
+
async *[Symbol.asyncIterator]() {
|
|
289
|
+
let index = 0;
|
|
290
|
+
while (true) {
|
|
291
|
+
// Yield buffered events
|
|
292
|
+
while (index < this.buffer.length) {
|
|
293
|
+
yield this.buffer[index];
|
|
294
|
+
index++;
|
|
295
|
+
}
|
|
296
|
+
// If closed, we're done
|
|
297
|
+
if (this._closed) {
|
|
298
|
+
if (this._error)
|
|
299
|
+
throw this._error;
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
// Wait for next event
|
|
303
|
+
try {
|
|
304
|
+
const event = await new Promise((resolve, reject) => {
|
|
305
|
+
this.waiters.push({ resolve, reject });
|
|
306
|
+
});
|
|
307
|
+
yield event;
|
|
308
|
+
index++;
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
// Buffer closed or errored
|
|
312
|
+
if (this._error)
|
|
313
|
+
throw this._error;
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Create a filtered async iterator for a specific event type.
|
|
320
|
+
*/
|
|
321
|
+
async *filter(eventType) {
|
|
322
|
+
for await (const event of this) {
|
|
323
|
+
if (event.type === eventType) {
|
|
324
|
+
yield event;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
addListener(eventTypeOrHandler, handler) {
|
|
329
|
+
return this.on(eventTypeOrHandler, handler);
|
|
330
|
+
}
|
|
331
|
+
removeListener(eventTypeOrHandler, handler) {
|
|
332
|
+
return this.off(eventTypeOrHandler, handler);
|
|
333
|
+
}
|
|
334
|
+
// ============================================================================
|
|
335
|
+
// Deprecated Aliases (for migration)
|
|
336
|
+
// ============================================================================
|
|
337
|
+
/** @deprecated Use `on()` instead */
|
|
338
|
+
subscribe(handler) {
|
|
339
|
+
return this.on(handler);
|
|
340
|
+
}
|
|
341
|
+
/** @deprecated Use `onReplay()` instead */
|
|
342
|
+
subscribeWithReplay(handler) {
|
|
343
|
+
return this.onReplay(handler);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
//# sourceMappingURL=event-buffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-buffer.js","sourceRoot":"","sources":["../../src/core/event-buffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execution Helpers
|
|
3
|
+
*
|
|
4
|
+
* Utilities for understanding execution context - whether an execution
|
|
5
|
+
* is standalone, nested, what originated it, etc.
|
|
6
|
+
*
|
|
7
|
+
* Useful for persistence, logging, and conditional behavior based on
|
|
8
|
+
* execution hierarchy.
|
|
9
|
+
*/
|
|
10
|
+
import { type KernelContext } from "./context";
|
|
11
|
+
import type { ProcedureNode } from "./procedure-graph";
|
|
12
|
+
/**
|
|
13
|
+
* Check if this is a standalone (root) execution or nested within another.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* if (isStandaloneExecution(ctx)) {
|
|
18
|
+
* // Create new execution record
|
|
19
|
+
* } else {
|
|
20
|
+
* // Link to parent execution
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function isStandaloneExecution(ctx: KernelContext): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Check if this execution is nested within another procedure.
|
|
27
|
+
* Opposite of isStandaloneExecution.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isNestedExecution(ctx: KernelContext): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Get the name of the procedure that originated this execution chain.
|
|
32
|
+
* Returns the origin's name if nested, or current procedure name if standalone.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const origin = getOriginName(ctx);
|
|
37
|
+
* // 'engine:stream', 'engine:execute', 'model:generate', etc.
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function getOriginName(ctx: KernelContext): string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Get the origin procedure node if this is a nested execution.
|
|
43
|
+
* Returns undefined for standalone executions.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getOriginNode(ctx: KernelContext): ProcedureNode | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Check if this execution is within an engine execution (engine:execute or engine:stream).
|
|
48
|
+
* Useful for persistence to know if engine is handling top-level tracking.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* if (isWithinEngine(ctx)) {
|
|
53
|
+
* // Engine handles execution record - just track model-specific stuff
|
|
54
|
+
* } else {
|
|
55
|
+
* // Standalone model call - need full tracking
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function isWithinEngine(ctx: KernelContext): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Check if this execution has an ancestor with a specific procedure name.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* if (hasAncestorNamed(ctx, 'engine:stream')) {
|
|
66
|
+
* // We're inside a streaming execution
|
|
67
|
+
* }
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function hasAncestorNamed(ctx: KernelContext, name: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Check if this execution has an ancestor matching a predicate.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* if (hasAncestorMatching(ctx, n => n.metadata?.type === 'agent')) {
|
|
77
|
+
* // We're inside an agent execution
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function hasAncestorMatching(ctx: KernelContext, predicate: (node: ProcedureNode) => boolean): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Get the parent procedure node if one exists.
|
|
84
|
+
*/
|
|
85
|
+
export declare function getParentNode(ctx: KernelContext): ProcedureNode | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Get the parent procedure's PID if one exists.
|
|
88
|
+
*/
|
|
89
|
+
export declare function getParentPid(ctx: KernelContext): string | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Get the root procedure ID (the origin of this execution chain).
|
|
92
|
+
* Returns current PID if this is a standalone execution.
|
|
93
|
+
*/
|
|
94
|
+
export declare function getRootPid(ctx: KernelContext): string | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* Get execution hierarchy info - useful for logging and persistence.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const info = getExecutionInfo(ctx);
|
|
101
|
+
* // {
|
|
102
|
+
* // pid: 'abc-123',
|
|
103
|
+
* // parentPid: 'def-456',
|
|
104
|
+
* // rootPid: 'ghi-789',
|
|
105
|
+
* // name: 'model:generate',
|
|
106
|
+
* // originName: 'engine:stream',
|
|
107
|
+
* // isStandalone: false,
|
|
108
|
+
* // isWithinEngine: true,
|
|
109
|
+
* // depth: 2
|
|
110
|
+
* // }
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export declare function getExecutionInfo(ctx: KernelContext): {
|
|
114
|
+
pid: string | undefined;
|
|
115
|
+
parentPid: string | undefined;
|
|
116
|
+
rootPid: string | undefined;
|
|
117
|
+
name: string | undefined;
|
|
118
|
+
originName: string | undefined;
|
|
119
|
+
isStandalone: boolean;
|
|
120
|
+
isWithinEngine: boolean;
|
|
121
|
+
depth: number;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Options for withExecution helper.
|
|
125
|
+
*/
|
|
126
|
+
export interface WithExecutionOptions {
|
|
127
|
+
/**
|
|
128
|
+
* Human-readable name for this execution (shown in DevTools).
|
|
129
|
+
*/
|
|
130
|
+
name: string;
|
|
131
|
+
/**
|
|
132
|
+
* Execution type for categorization (e.g., 'summarization', 'validation').
|
|
133
|
+
* Shown as a badge in DevTools.
|
|
134
|
+
* @default 'custom'
|
|
135
|
+
*/
|
|
136
|
+
type?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Additional metadata to attach to the execution.
|
|
139
|
+
*/
|
|
140
|
+
metadata?: Record<string, unknown>;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Create a named execution boundary around an operation.
|
|
144
|
+
*
|
|
145
|
+
* Use this to mark semantically meaningful operations that should appear
|
|
146
|
+
* as distinct executions in DevTools. The execution will be linked as a
|
|
147
|
+
* child of the current execution (if any).
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* // Simple usage with just a name
|
|
152
|
+
* const summary = await withExecution("Summarize Context", async () => {
|
|
153
|
+
* return model.generate(summarizePrompt);
|
|
154
|
+
* });
|
|
155
|
+
*
|
|
156
|
+
* // With options
|
|
157
|
+
* const result = await withExecution({
|
|
158
|
+
* name: "Validate Response",
|
|
159
|
+
* type: "validation",
|
|
160
|
+
* metadata: { validator: "schema" },
|
|
161
|
+
* }, async () => {
|
|
162
|
+
* return validateSchema(response);
|
|
163
|
+
* });
|
|
164
|
+
*
|
|
165
|
+
* // In a hook
|
|
166
|
+
* onAfterCompile: async (ctx) => {
|
|
167
|
+
* await withExecution("Context Compaction", async () => {
|
|
168
|
+
* const summary = await model.generate(compactPrompt);
|
|
169
|
+
* ctx.updateContext(summary);
|
|
170
|
+
* });
|
|
171
|
+
* }
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* @param nameOrOptions - Execution name string or options object
|
|
175
|
+
* @param fn - The async function to execute within this boundary
|
|
176
|
+
* @returns The result of the function
|
|
177
|
+
*/
|
|
178
|
+
export declare function withExecution<T>(nameOrOptions: string | WithExecutionOptions, fn: () => Promise<T>): Promise<T>;
|
|
179
|
+
//# sourceMappingURL=execution-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-helpers.d.ts","sourceRoot":"","sources":["../../src/core/execution-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAEjE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAE7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAE3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAS1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAM1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,GAC1C,OAAO,CAMT;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAE3E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG;IACpD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAmBA;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,aAAa,EAAE,MAAM,GAAG,oBAAoB,EAC5C,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
|