@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,602 @@
|
|
|
1
|
+
import {} from "./execution-types";
|
|
2
|
+
import { EventEmitter } from "node:events";
|
|
3
|
+
import { EventBuffer, ExecutionHandleBrand, } from "@agentick/kernel";
|
|
4
|
+
import { Context } from "@agentick/kernel";
|
|
5
|
+
import { AbortError, StateError } from "@agentick/shared";
|
|
6
|
+
/**
|
|
7
|
+
* Concrete implementation of ExecutionHandle
|
|
8
|
+
* Also implements Kernel's ExecutionHandle<TOutput> for Procedure compatibility
|
|
9
|
+
*/
|
|
10
|
+
export class ExecutionHandleImpl extends EventEmitter {
|
|
11
|
+
[ExecutionHandleBrand] = true;
|
|
12
|
+
pid;
|
|
13
|
+
parentPid;
|
|
14
|
+
rootPid;
|
|
15
|
+
type;
|
|
16
|
+
status;
|
|
17
|
+
startedAt;
|
|
18
|
+
completedAt;
|
|
19
|
+
// Kernel ExecutionHandle<TOutput> compatibility
|
|
20
|
+
result; // Maps to completionPromise
|
|
21
|
+
/**
|
|
22
|
+
* Event buffer for streaming execution events.
|
|
23
|
+
* Supports dual consumption - multiple iterators can independently consume all events.
|
|
24
|
+
* This is also exposed as `events` for Kernel ExecutionHandle compatibility.
|
|
25
|
+
*/
|
|
26
|
+
eventBuffer;
|
|
27
|
+
events; // Alias for eventBuffer (Kernel compat)
|
|
28
|
+
traceId = ""; // Set by handle factory
|
|
29
|
+
resultValue; // Actual result value (set when complete)
|
|
30
|
+
error;
|
|
31
|
+
cancelController;
|
|
32
|
+
completionPromise;
|
|
33
|
+
completionResolve;
|
|
34
|
+
completionReject;
|
|
35
|
+
comInstance;
|
|
36
|
+
streamIterator;
|
|
37
|
+
tickCount = 0;
|
|
38
|
+
session;
|
|
39
|
+
shutdownHooks = [];
|
|
40
|
+
parentHandle;
|
|
41
|
+
procedureGraph; // Procedure graph for this execution
|
|
42
|
+
_abortEmitted = false; // Track if abort signal was already emitted (before listeners were set up)
|
|
43
|
+
_listenersSetup = false; // Track if abort listeners have been set up in iterateTicks
|
|
44
|
+
constructor(pid, rootPid, type, parentPid, parentHandle) {
|
|
45
|
+
super();
|
|
46
|
+
// Increase max listeners to handle child execution scenarios with multiple abort listeners
|
|
47
|
+
this.setMaxListeners(20);
|
|
48
|
+
this.pid = pid;
|
|
49
|
+
this.rootPid = rootPid;
|
|
50
|
+
this.type = type;
|
|
51
|
+
this.parentPid = parentPid;
|
|
52
|
+
this.status = "running";
|
|
53
|
+
this.startedAt = new Date();
|
|
54
|
+
this.parentHandle = parentHandle;
|
|
55
|
+
// Create completion promise
|
|
56
|
+
this.completionPromise = new Promise((resolve, reject) => {
|
|
57
|
+
this.completionResolve = resolve;
|
|
58
|
+
this.completionReject = reject;
|
|
59
|
+
});
|
|
60
|
+
// Prevent unhandled promise rejection when fail() or cancel() is called but no one is waiting
|
|
61
|
+
// This catch handler ensures that rejections are always handled, even if waitForCompletion() is never called
|
|
62
|
+
this.completionPromise.catch((_error) => {
|
|
63
|
+
// Error is stored in this.error and will be returned by waitForCompletion
|
|
64
|
+
// if called later. This catch prevents Node.js from complaining about
|
|
65
|
+
// unhandled rejections when we use fail() or cancel() internally.
|
|
66
|
+
// Silently handle the rejection - it's expected behavior
|
|
67
|
+
});
|
|
68
|
+
// Kernel ExecutionHandle<TOutput> compatibility
|
|
69
|
+
// result maps to completionPromise (Kernel expects Promise<TOutput>)
|
|
70
|
+
this.result = this.completionPromise;
|
|
71
|
+
// EventBuffer for dual consumption support (create first)
|
|
72
|
+
this.eventBuffer = new EventBuffer();
|
|
73
|
+
// events is alias for eventBuffer (Kernel expects EventBuffer<TEvent>)
|
|
74
|
+
this.events = this.eventBuffer;
|
|
75
|
+
// Forward events from EventEmitter (this) to EventBuffer
|
|
76
|
+
this.on("*", (event) => {
|
|
77
|
+
this.eventBuffer.push(event);
|
|
78
|
+
});
|
|
79
|
+
// Note: The Kernel's procedure may pass a resultPromise via linkKernelResult()
|
|
80
|
+
// which will connect to complete/fail when it settles
|
|
81
|
+
// For child executions: monitor parent status
|
|
82
|
+
if (type === "child" && parentHandle) {
|
|
83
|
+
// If parent has already completed, child runs independently
|
|
84
|
+
// Clear any abort flags that might have been set by propagated signals from completed parent
|
|
85
|
+
// Also mark listeners as setup to prevent wasAbortEmitted() from returning true
|
|
86
|
+
// for aborts that occurred before the child started executing
|
|
87
|
+
if (parentHandle.status !== "running") {
|
|
88
|
+
this._abortEmitted = false; // Clear flag - parent completed, child runs independently
|
|
89
|
+
this._listenersSetup = true; // Mark as setup to ignore pre-execution aborts
|
|
90
|
+
}
|
|
91
|
+
this.setupParentStatusMonitor(parentHandle);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Link the Kernel's result promise to this handle.
|
|
96
|
+
* When the promise resolves, calls complete(). When it rejects, calls fail().
|
|
97
|
+
* This connects the Kernel's procedure execution to the Engine's handle lifecycle.
|
|
98
|
+
*/
|
|
99
|
+
linkKernelResult(kernelResultPromise) {
|
|
100
|
+
kernelResultPromise.then((result) => {
|
|
101
|
+
this.complete(result);
|
|
102
|
+
}, (error) => {
|
|
103
|
+
this.fail(error instanceof Error ? error : new Error(String(error)));
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Monitor parent status (child executions only)
|
|
108
|
+
* When parent fails or is cancelled AFTER child is created, abort child.
|
|
109
|
+
*
|
|
110
|
+
* Note: If parent completes successfully, child continues running independently.
|
|
111
|
+
* If parent is already completed/failed when child is created, the child runs independently.
|
|
112
|
+
*/
|
|
113
|
+
setupParentStatusMonitor(parent) {
|
|
114
|
+
// Only monitor if parent is still running
|
|
115
|
+
// If parent is already completed/failed, child runs independently
|
|
116
|
+
if (parent.status !== "running") {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
// Only abort child if parent fails or is cancelled - NOT on successful completion
|
|
120
|
+
// Child executions should continue running after parent completes successfully
|
|
121
|
+
parent.once("failed", () => {
|
|
122
|
+
if (this.status === "running") {
|
|
123
|
+
this.emitSignal("abort", "Parent execution failed", {
|
|
124
|
+
propagatedFrom: parent.pid,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
// Monitor cancellation via abort signal (parent.cancel() emits abort)
|
|
129
|
+
parent.once("abort", () => {
|
|
130
|
+
if (this.status === "running") {
|
|
131
|
+
this.emitSignal("abort", "Parent execution cancelled", {
|
|
132
|
+
propagatedFrom: parent.pid,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
// Also monitor via waitForCompletion as fallback
|
|
137
|
+
// Only abort on failure/cancellation, not on successful completion
|
|
138
|
+
if (parent.status === "running") {
|
|
139
|
+
parent.waitForCompletion().catch((_error) => {
|
|
140
|
+
if (this.status === "running") {
|
|
141
|
+
this.emitSignal("abort", "Parent execution failed", {
|
|
142
|
+
propagatedFrom: parent.pid,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Set the stream iterator for this execution
|
|
150
|
+
*/
|
|
151
|
+
setStreamIterator(iterator) {
|
|
152
|
+
this.streamIterator = iterator;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Set the cancel controller
|
|
156
|
+
*/
|
|
157
|
+
setCancelController(controller) {
|
|
158
|
+
this.cancelController = controller;
|
|
159
|
+
// Setup listener for abort signal
|
|
160
|
+
// Only add listener if signal is not already aborted
|
|
161
|
+
// Note: This listener will emit when controller is aborted externally
|
|
162
|
+
// When cancel() is called, it emits the signal first, then aborts the controller
|
|
163
|
+
// So this listener acts as a fallback for external aborts
|
|
164
|
+
if (!controller.signal.aborted) {
|
|
165
|
+
controller.signal.addEventListener("abort", () => {
|
|
166
|
+
// Only emit if we're still running (avoid duplicate if cancel() was called)
|
|
167
|
+
if (this.status === "running") {
|
|
168
|
+
this.emitSignal("abort", "Execution cancelled");
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
// Note: If signal is already aborted when setCancelController is called,
|
|
173
|
+
// we don't need to do anything here because:
|
|
174
|
+
// 1. For normal executions, the controller is always fresh (not aborted)
|
|
175
|
+
// 2. For forks, the merged signal (which may be aborted) is passed via context,
|
|
176
|
+
// not via setCancelController. The abort will be detected via ctx.signal.aborted
|
|
177
|
+
// in iterateTicks.
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Get the cancel signal (if cancel controller is set)
|
|
181
|
+
*/
|
|
182
|
+
getCancelSignal() {
|
|
183
|
+
// Don't return signal if execution has completed or failed
|
|
184
|
+
// This prevents forks from inheriting aborted signals from completed parents
|
|
185
|
+
if (this.status !== "running" && this.status !== "cancelled") {
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
return this.cancelController?.signal;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Increment tick count
|
|
192
|
+
*/
|
|
193
|
+
incrementTick() {
|
|
194
|
+
this.tickCount++;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Mark execution as completed
|
|
198
|
+
*/
|
|
199
|
+
complete(result) {
|
|
200
|
+
if (this.status !== "running") {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
this.status = "completed";
|
|
204
|
+
this.completedAt = new Date();
|
|
205
|
+
this.resultValue = result;
|
|
206
|
+
// Close the event buffer
|
|
207
|
+
this.eventBuffer.close();
|
|
208
|
+
// Emit completion event
|
|
209
|
+
this.emit("completed", result);
|
|
210
|
+
if (this.completionResolve) {
|
|
211
|
+
const resolve = this.completionResolve;
|
|
212
|
+
// Clear resolve function to prevent double-resolution
|
|
213
|
+
this.completionResolve = undefined;
|
|
214
|
+
this.completionReject = undefined; // Also clear reject since we're resolving
|
|
215
|
+
resolve(result);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Mark execution as failed
|
|
220
|
+
*/
|
|
221
|
+
fail(error) {
|
|
222
|
+
if (this.status !== "running") {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
this.status = "failed";
|
|
226
|
+
this.completedAt = new Date();
|
|
227
|
+
this.error = error;
|
|
228
|
+
// Close the event buffer with error
|
|
229
|
+
this.eventBuffer.error(error);
|
|
230
|
+
// Emit failure event
|
|
231
|
+
this.emit("failed", error);
|
|
232
|
+
if (this.completionReject) {
|
|
233
|
+
const reject = this.completionReject;
|
|
234
|
+
// Clear reject function to prevent double-rejection
|
|
235
|
+
this.completionReject = undefined;
|
|
236
|
+
this.completionResolve = undefined; // Also clear resolve since we're rejecting
|
|
237
|
+
// Reject the promise - the catch handler in constructor will prevent unhandled rejection
|
|
238
|
+
try {
|
|
239
|
+
reject(error);
|
|
240
|
+
}
|
|
241
|
+
catch (_rejectionError) {
|
|
242
|
+
// Ignore errors if promise already settled (this is expected and harmless)
|
|
243
|
+
// The promise's catch handler will still prevent unhandled rejection
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Wait for execution to complete
|
|
249
|
+
*/
|
|
250
|
+
async waitForCompletion(options) {
|
|
251
|
+
if (!this.completionPromise) {
|
|
252
|
+
throw new StateError("uninitialized", "initialized", "Execution handle not properly initialized");
|
|
253
|
+
}
|
|
254
|
+
if (options?.timeout) {
|
|
255
|
+
return Promise.race([
|
|
256
|
+
this.completionPromise,
|
|
257
|
+
new Promise((_, reject) => {
|
|
258
|
+
setTimeout(() => {
|
|
259
|
+
reject(new AbortError(`Execution ${this.pid} timed out after ${options.timeout}ms`, "ABORT_TIMEOUT", { pid: this.pid, timeoutMs: options.timeout }));
|
|
260
|
+
}, options.timeout);
|
|
261
|
+
}),
|
|
262
|
+
]);
|
|
263
|
+
}
|
|
264
|
+
return this.completionPromise;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Cancel the execution (triggers abort signal)
|
|
268
|
+
*/
|
|
269
|
+
cancel(reason) {
|
|
270
|
+
if (this.status !== "running") {
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
this.status = "cancelled";
|
|
274
|
+
this.completedAt = new Date();
|
|
275
|
+
// Close the event buffer
|
|
276
|
+
this.eventBuffer.close();
|
|
277
|
+
// Emit abort signal first (this will propagate to children)
|
|
278
|
+
// Note: We emit before aborting the controller to avoid duplicate signals
|
|
279
|
+
// The controller's abort listener will also emit, but we check for already-aborted status
|
|
280
|
+
this.emitSignal("abort", reason || "Execution cancelled");
|
|
281
|
+
// Abort the controller (this will trigger its listener, but we've already emitted)
|
|
282
|
+
if (this.cancelController && !this.cancelController.signal.aborted) {
|
|
283
|
+
this.cancelController.abort();
|
|
284
|
+
}
|
|
285
|
+
// Reject the completion promise if it hasn't been settled yet
|
|
286
|
+
// Reject synchronously - callers should handle the rejection
|
|
287
|
+
// Clear reject function immediately to prevent double-rejection
|
|
288
|
+
if (this.completionReject) {
|
|
289
|
+
const reject = this.completionReject;
|
|
290
|
+
const error = new AbortError(reason || "Execution cancelled");
|
|
291
|
+
this.completionReject = undefined;
|
|
292
|
+
this.completionResolve = undefined; // Also clear resolve since we're rejecting
|
|
293
|
+
// Store error for waitForCompletion() if called later
|
|
294
|
+
this.error = error;
|
|
295
|
+
// Reject the promise - the catch handler in constructor will prevent unhandled rejection
|
|
296
|
+
try {
|
|
297
|
+
reject(error);
|
|
298
|
+
}
|
|
299
|
+
catch (_rejectionError) {
|
|
300
|
+
// Ignore errors if promise already settled (this is expected and harmless)
|
|
301
|
+
// The promise's catch handler will still prevent unhandled rejection
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Emit signal for this execution
|
|
307
|
+
*/
|
|
308
|
+
emitSignal(signal, reason, metadata) {
|
|
309
|
+
const event = {
|
|
310
|
+
type: signal,
|
|
311
|
+
source: "execution",
|
|
312
|
+
pid: this.pid,
|
|
313
|
+
parentPid: this.parentPid,
|
|
314
|
+
reason,
|
|
315
|
+
timestamp: Date.now(),
|
|
316
|
+
metadata,
|
|
317
|
+
};
|
|
318
|
+
// Track if abort was emitted BEFORE listeners were set up
|
|
319
|
+
// Only set flag if listeners haven't been set up yet (to catch early aborts)
|
|
320
|
+
// Once listeners are set up, they will catch all aborts, so we don't need the flag
|
|
321
|
+
if (signal === "abort" && !this._listenersSetup) {
|
|
322
|
+
this._abortEmitted = true;
|
|
323
|
+
}
|
|
324
|
+
this.emit(signal, event);
|
|
325
|
+
// If abort signal, trigger cancel controller (if not already aborted)
|
|
326
|
+
// Note: cancel() already aborts the controller, so this is mainly for external signals
|
|
327
|
+
if (signal === "abort" && this.cancelController && !this.cancelController.signal.aborted) {
|
|
328
|
+
this.cancelController.abort();
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Mark that abort listeners have been set up in iterateTicks.
|
|
333
|
+
* Called by iterateTicks after setting up listeners to prevent false positives.
|
|
334
|
+
* Once listeners are set up, future emitSignal('abort') calls won't set _abortEmitted,
|
|
335
|
+
* and wasAbortEmitted() will return false (since it checks !_listenersSetup).
|
|
336
|
+
*/
|
|
337
|
+
markListenersSetup() {
|
|
338
|
+
this._listenersSetup = true;
|
|
339
|
+
// Clear the flag for cleanup (redundant since wasAbortEmitted() checks !_listenersSetup,
|
|
340
|
+
// but keeps the state clean)
|
|
341
|
+
this._abortEmitted = false;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Check if abort signal was already emitted (before listeners were set up)
|
|
345
|
+
* Used by iterateTicks to detect early abort signals
|
|
346
|
+
*
|
|
347
|
+
* Note: Only checks if THIS execution emitted an abort via emitSignal('abort'),
|
|
348
|
+
* not if the signal is aborted (which could be from a parent signal in forks).
|
|
349
|
+
* Signal aborted state is checked separately in iterateTicks via ctx.signal.aborted.
|
|
350
|
+
*
|
|
351
|
+
* This should only be checked ONCE at the start of iterateTicks, before listeners are set up.
|
|
352
|
+
*/
|
|
353
|
+
wasAbortEmitted() {
|
|
354
|
+
// Only check the flag - don't check status because status might be set by cancel()
|
|
355
|
+
// which is called AFTER abort is detected, creating a circular dependency
|
|
356
|
+
// Also only return true if listeners haven't been set up yet
|
|
357
|
+
return !this._listenersSetup && this._abortEmitted;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Register graceful shutdown hook for this execution
|
|
361
|
+
*/
|
|
362
|
+
onShutdown(handler) {
|
|
363
|
+
this.shutdownHooks.push(handler);
|
|
364
|
+
return () => {
|
|
365
|
+
const index = this.shutdownHooks.indexOf(handler);
|
|
366
|
+
if (index > -1) {
|
|
367
|
+
this.shutdownHooks.splice(index, 1);
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Run shutdown hooks (called before aborting)
|
|
373
|
+
*/
|
|
374
|
+
async runShutdownHooks() {
|
|
375
|
+
for (const hook of this.shutdownHooks) {
|
|
376
|
+
try {
|
|
377
|
+
await hook();
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
console.error(`Error in shutdown hook for execution ${this.pid}:`, error);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Get execution result
|
|
386
|
+
*/
|
|
387
|
+
getResult() {
|
|
388
|
+
return this.resultValue;
|
|
389
|
+
}
|
|
390
|
+
// ============================================================================
|
|
391
|
+
// PromiseLike<COMInput> implementation
|
|
392
|
+
// ============================================================================
|
|
393
|
+
/**
|
|
394
|
+
* PromiseLike implementation - allows `await handle` to resolve to COMInput
|
|
395
|
+
*/
|
|
396
|
+
then(onfulfilled, onrejected) {
|
|
397
|
+
return this.result.then(onfulfilled, onrejected);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Catch handler for errors - same as `.then(undefined, onrejected)`
|
|
401
|
+
*/
|
|
402
|
+
catch(onrejected) {
|
|
403
|
+
return this.result.catch(onrejected);
|
|
404
|
+
}
|
|
405
|
+
// ============================================================================
|
|
406
|
+
// AsyncIterable<StreamEvent> implementation
|
|
407
|
+
// ============================================================================
|
|
408
|
+
/**
|
|
409
|
+
* AsyncIterable implementation - allows `for await (const event of handle)`
|
|
410
|
+
* Delegates to the stream iterator if available.
|
|
411
|
+
*/
|
|
412
|
+
[Symbol.asyncIterator]() {
|
|
413
|
+
if (!this.streamIterator) {
|
|
414
|
+
// Return an empty iterator if no stream is set
|
|
415
|
+
return {
|
|
416
|
+
async next() {
|
|
417
|
+
return { value: undefined, done: true };
|
|
418
|
+
},
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
return this.streamIterator[Symbol.asyncIterator]();
|
|
422
|
+
}
|
|
423
|
+
// ============================================================================
|
|
424
|
+
// Abort method for Kernel ExecutionHandle compatibility
|
|
425
|
+
// ============================================================================
|
|
426
|
+
/**
|
|
427
|
+
* Abort the execution (alias for cancel)
|
|
428
|
+
* This is the Kernel ExecutionHandle interface method.
|
|
429
|
+
*/
|
|
430
|
+
abort(reason) {
|
|
431
|
+
this.cancel(reason);
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Kernel ExecutionHandle<TOutput> compatibility
|
|
435
|
+
* Maps status to Kernel's status type
|
|
436
|
+
*/
|
|
437
|
+
getStatus() {
|
|
438
|
+
// Map 'pending' to 'running' for Kernel compatibility
|
|
439
|
+
return this.status === "pending" ? "running" : this.status;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Stream execution events
|
|
443
|
+
*/
|
|
444
|
+
stream() {
|
|
445
|
+
if (!this.streamIterator) {
|
|
446
|
+
throw new StateError("no_stream", "streaming", "Stream iterator not set");
|
|
447
|
+
}
|
|
448
|
+
return this.streamIterator;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Get execution metrics
|
|
452
|
+
*/
|
|
453
|
+
getMetrics() {
|
|
454
|
+
const duration = this.completedAt
|
|
455
|
+
? this.completedAt.getTime() - this.startedAt.getTime()
|
|
456
|
+
: Date.now() - this.startedAt.getTime();
|
|
457
|
+
return {
|
|
458
|
+
pid: this.pid,
|
|
459
|
+
parentPid: this.parentPid,
|
|
460
|
+
rootPid: this.rootPid,
|
|
461
|
+
type: this.type,
|
|
462
|
+
status: this.status,
|
|
463
|
+
startedAt: this.startedAt,
|
|
464
|
+
completedAt: this.completedAt,
|
|
465
|
+
duration,
|
|
466
|
+
tickCount: this.tickCount,
|
|
467
|
+
error: this.error
|
|
468
|
+
? {
|
|
469
|
+
message: this.error.message,
|
|
470
|
+
phase: undefined,
|
|
471
|
+
}
|
|
472
|
+
: undefined,
|
|
473
|
+
};
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Get execution duration
|
|
477
|
+
*/
|
|
478
|
+
getDuration() {
|
|
479
|
+
const endTime = this.completedAt || new Date();
|
|
480
|
+
return endTime.getTime() - this.startedAt.getTime();
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Create execution state for persistence
|
|
484
|
+
*/
|
|
485
|
+
toState(component, input, currentTick, previous) {
|
|
486
|
+
return {
|
|
487
|
+
pid: this.pid,
|
|
488
|
+
parentPid: this.parentPid,
|
|
489
|
+
rootPid: this.rootPid,
|
|
490
|
+
type: this.type,
|
|
491
|
+
status: this.status,
|
|
492
|
+
input,
|
|
493
|
+
component,
|
|
494
|
+
currentTick,
|
|
495
|
+
previous,
|
|
496
|
+
startedAt: this.startedAt,
|
|
497
|
+
completedAt: this.completedAt,
|
|
498
|
+
error: this.error
|
|
499
|
+
? {
|
|
500
|
+
message: this.error.message,
|
|
501
|
+
stack: this.error.stack,
|
|
502
|
+
}
|
|
503
|
+
: undefined,
|
|
504
|
+
};
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Set procedure graph for this execution
|
|
508
|
+
* Called by Engine when execution starts to link execution to its procedure graph
|
|
509
|
+
*/
|
|
510
|
+
setProcedureGraph(graph) {
|
|
511
|
+
this.procedureGraph = graph;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Get procedure graph for this execution
|
|
515
|
+
* Returns undefined if no procedures were executed in this execution's context
|
|
516
|
+
*/
|
|
517
|
+
getProcedureGraph() {
|
|
518
|
+
// If we have a stored reference, return it
|
|
519
|
+
if (this.procedureGraph) {
|
|
520
|
+
return this.procedureGraph;
|
|
521
|
+
}
|
|
522
|
+
// Otherwise, try to get it from current context (for active executions)
|
|
523
|
+
// This allows accessing procedure graph even if execution is still running
|
|
524
|
+
const ctx = Context.tryGet();
|
|
525
|
+
if (ctx?.procedureGraph) {
|
|
526
|
+
// Store reference for future access
|
|
527
|
+
this.procedureGraph = ctx.procedureGraph;
|
|
528
|
+
return ctx.procedureGraph;
|
|
529
|
+
}
|
|
530
|
+
return undefined;
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Get aggregated metrics from all procedures in this execution
|
|
534
|
+
* Includes both execution-level metrics and procedure-level metrics
|
|
535
|
+
*/
|
|
536
|
+
getProcedureMetrics() {
|
|
537
|
+
const graph = this.getProcedureGraph();
|
|
538
|
+
if (!graph) {
|
|
539
|
+
return {};
|
|
540
|
+
}
|
|
541
|
+
// Aggregate metrics from all procedure nodes
|
|
542
|
+
const aggregated = {};
|
|
543
|
+
const allNodes = graph.getAllNodes();
|
|
544
|
+
for (const node of allNodes) {
|
|
545
|
+
for (const [key, value] of Object.entries(node.metrics)) {
|
|
546
|
+
aggregated[key] = (aggregated[key] || 0) + value;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
return aggregated;
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Get procedure nodes for this execution
|
|
553
|
+
*/
|
|
554
|
+
getProcedureNodes() {
|
|
555
|
+
const graph = this.getProcedureGraph();
|
|
556
|
+
return graph ? graph.getAllNodes() : [];
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Get root procedure node (if any procedures were executed)
|
|
560
|
+
*/
|
|
561
|
+
getRootProcedureNode() {
|
|
562
|
+
const graph = this.getProcedureGraph();
|
|
563
|
+
if (!graph) {
|
|
564
|
+
return undefined;
|
|
565
|
+
}
|
|
566
|
+
// Find root procedure (no parent)
|
|
567
|
+
const allNodes = graph.getAllNodes();
|
|
568
|
+
return allNodes.find((node) => !node.parentPid);
|
|
569
|
+
}
|
|
570
|
+
setComInstance(ctx) {
|
|
571
|
+
this.comInstance = ctx;
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Set the compile session for message sending.
|
|
575
|
+
* Called by Engine when execution starts.
|
|
576
|
+
*/
|
|
577
|
+
setSession(session) {
|
|
578
|
+
this.session = session;
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* Send a message to the running execution.
|
|
582
|
+
*
|
|
583
|
+
* The message is delivered immediately to component onMessage hooks,
|
|
584
|
+
* then queued for availability in TickState.queuedMessages.
|
|
585
|
+
*
|
|
586
|
+
* @param message The message to send (id and timestamp are auto-generated)
|
|
587
|
+
* @throws Error if execution is not running or no active session
|
|
588
|
+
*/
|
|
589
|
+
async send(message) {
|
|
590
|
+
if (this.status !== "running") {
|
|
591
|
+
throw new StateError(this.status, "running", `Cannot send message to ${this.status} execution`);
|
|
592
|
+
}
|
|
593
|
+
if (!this.session) {
|
|
594
|
+
throw new StateError("no_session", "active_session", "No active session - message cannot be sent");
|
|
595
|
+
}
|
|
596
|
+
await this.session.queue.exec(message);
|
|
597
|
+
}
|
|
598
|
+
getComInstance() {
|
|
599
|
+
return this.comInstance;
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
//# sourceMappingURL=execution-handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-handle.js","sourceRoot":"","sources":["../../src/engine/execution-handle.ts"],"names":[],"mappings":"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"}
|