@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,498 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V2 Fiber Compiler
|
|
3
|
+
*
|
|
4
|
+
* Uses react-reconciler to build a AgentickNode tree from React elements.
|
|
5
|
+
* With React's native JSX runtime, elements are already React elements -
|
|
6
|
+
* no conversion needed.
|
|
7
|
+
*/
|
|
8
|
+
import React from "react";
|
|
9
|
+
// Helper for createElement
|
|
10
|
+
const h = React.createElement;
|
|
11
|
+
import { createContainer, createRoot, updateContainer, flushSync, flushPassiveEffects, } from "../reconciler";
|
|
12
|
+
import { collect } from "./collector";
|
|
13
|
+
import { createEmptyCompiledStructure } from "./types";
|
|
14
|
+
import { AgentickProvider, createRuntimeStore, storeHasPendingData, storeResolvePendingData, storeRunTickStartCallbacks, storeRunTickEndCallbacks, storeRunAfterCompileCallbacks, storeClearLifecycleCallbacks, storeClearDataCache, storeGetSerializableDataCache, storeSetDataCache,
|
|
15
|
+
// Message context
|
|
16
|
+
createMessageStore, MessageProvider,
|
|
17
|
+
// Context info
|
|
18
|
+
createContextInfoStore, } from "../hooks";
|
|
19
|
+
import { markdownRenderer } from "../renderers";
|
|
20
|
+
/**
|
|
21
|
+
* V2 FiberCompiler - uses react-reconciler internally.
|
|
22
|
+
*
|
|
23
|
+
* This maintains API compatibility with v1 FiberCompiler so Session
|
|
24
|
+
* can use it as a drop-in replacement.
|
|
25
|
+
*/
|
|
26
|
+
export class FiberCompiler {
|
|
27
|
+
// React reconciler state
|
|
28
|
+
container;
|
|
29
|
+
root;
|
|
30
|
+
// Per-session runtime store (isolated state)
|
|
31
|
+
runtimeStore;
|
|
32
|
+
// Message store for useOnMessage/useQueuedMessages
|
|
33
|
+
messageStore;
|
|
34
|
+
// Context info store for useContextInfo
|
|
35
|
+
_contextInfoStore;
|
|
36
|
+
// Context
|
|
37
|
+
ctx;
|
|
38
|
+
tickState = null;
|
|
39
|
+
rootElement = null;
|
|
40
|
+
// Config
|
|
41
|
+
config;
|
|
42
|
+
// Phase tracking
|
|
43
|
+
currentPhase = "idle";
|
|
44
|
+
isRendering = false;
|
|
45
|
+
// Recompile tracking
|
|
46
|
+
recompileRequested = false;
|
|
47
|
+
recompileReasons = [];
|
|
48
|
+
// Reconciliation callback (for reactive model)
|
|
49
|
+
onScheduleReconcile;
|
|
50
|
+
constructor(ctx, _hookRegistry, // ComponentHookRegistry - not used in v2
|
|
51
|
+
config = {}) {
|
|
52
|
+
this.ctx = ctx;
|
|
53
|
+
this.config = {
|
|
54
|
+
dev: config.dev ?? process.env.NODE_ENV === "development",
|
|
55
|
+
maxCompileIterations: config.maxCompileIterations ?? 10,
|
|
56
|
+
};
|
|
57
|
+
// Create isolated runtime store for this compiler/session
|
|
58
|
+
this.runtimeStore = createRuntimeStore();
|
|
59
|
+
// Create message store for useOnMessage/useQueuedMessages
|
|
60
|
+
this.messageStore = createMessageStore();
|
|
61
|
+
// Create context info store for useContextInfo
|
|
62
|
+
this._contextInfoStore = createContextInfoStore();
|
|
63
|
+
// Create the render container and root
|
|
64
|
+
this.container = createContainer(markdownRenderer);
|
|
65
|
+
this.root = createRoot(this.container);
|
|
66
|
+
// Wire up COM's requestRecompile to our tracking
|
|
67
|
+
const originalRequestRecompile = ctx.requestRecompile.bind(ctx);
|
|
68
|
+
ctx.requestRecompile = (reason) => {
|
|
69
|
+
this.recompileRequested = true;
|
|
70
|
+
if (reason) {
|
|
71
|
+
this.recompileReasons.push(reason);
|
|
72
|
+
}
|
|
73
|
+
originalRequestRecompile(reason);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// ============================================================
|
|
77
|
+
// Public API - Stores
|
|
78
|
+
// ============================================================
|
|
79
|
+
/**
|
|
80
|
+
* Get the context info store for this compiler.
|
|
81
|
+
* Used by session to update context utilization info after each tick.
|
|
82
|
+
*/
|
|
83
|
+
get contextInfoStore() {
|
|
84
|
+
return this._contextInfoStore;
|
|
85
|
+
}
|
|
86
|
+
// ============================================================
|
|
87
|
+
// Public API - Compilation
|
|
88
|
+
// ============================================================
|
|
89
|
+
/**
|
|
90
|
+
* Set the root element for this compiler.
|
|
91
|
+
*/
|
|
92
|
+
setRoot(element) {
|
|
93
|
+
this.rootElement = element;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Set the reconciliation schedule callback.
|
|
97
|
+
*/
|
|
98
|
+
setReconcileCallback(callback) {
|
|
99
|
+
this.onScheduleReconcile = callback;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Reconcile the tree (render phase only, no collection).
|
|
103
|
+
* Used by reactive model for incremental updates.
|
|
104
|
+
*/
|
|
105
|
+
async reconcile(element, options = {}) {
|
|
106
|
+
const el = element ?? this.rootElement;
|
|
107
|
+
if (!el) {
|
|
108
|
+
throw new Error("No element to reconcile. Call setRoot() or pass element.");
|
|
109
|
+
}
|
|
110
|
+
if (options.tickState) {
|
|
111
|
+
this.tickState = options.tickState;
|
|
112
|
+
}
|
|
113
|
+
this.isRendering = true;
|
|
114
|
+
this.currentPhase = "render";
|
|
115
|
+
setActiveCompiler(this);
|
|
116
|
+
try {
|
|
117
|
+
const maxAttempts = 10;
|
|
118
|
+
let attempts = 0;
|
|
119
|
+
// With React's native JSX runtime, el is already a React element
|
|
120
|
+
const reactElement = el;
|
|
121
|
+
while (attempts < maxAttempts) {
|
|
122
|
+
attempts++;
|
|
123
|
+
try {
|
|
124
|
+
// Render with React
|
|
125
|
+
// Wrap with MessageProvider for useOnMessage/useQueuedMessages
|
|
126
|
+
try {
|
|
127
|
+
flushSync(() => {
|
|
128
|
+
updateContainer(h(MessageProvider, { store: this.messageStore }, h(AgentickProvider, {
|
|
129
|
+
ctx: this.ctx,
|
|
130
|
+
tickState: this.tickState, // Different TickState types are compatible
|
|
131
|
+
runtimeStore: this.runtimeStore,
|
|
132
|
+
contextInfoStore: this._contextInfoStore,
|
|
133
|
+
}, reactElement)), this.root);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch (flushError) {
|
|
137
|
+
console.error("[FiberCompiler.reconcile] flushSync error:", flushError);
|
|
138
|
+
throw flushError;
|
|
139
|
+
}
|
|
140
|
+
// Flush passive effects (useEffect callbacks) immediately.
|
|
141
|
+
// In non-DOM environments, these don't auto-flush.
|
|
142
|
+
// This ensures lifecycle hooks are registered before we call them.
|
|
143
|
+
flushPassiveEffects();
|
|
144
|
+
// If we get here without throwing, check for any pending data
|
|
145
|
+
// that was triggered during render
|
|
146
|
+
if (!storeHasPendingData(this.runtimeStore)) {
|
|
147
|
+
// No pending data, we're done
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
// Resolve pending data and loop to re-render
|
|
151
|
+
await storeResolvePendingData(this.runtimeStore);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
// useData throws promises when data isn't cached.
|
|
155
|
+
// The promise is added to pendingFetches before throwing.
|
|
156
|
+
// Check if we have pending data to resolve.
|
|
157
|
+
if (storeHasPendingData(this.runtimeStore)) {
|
|
158
|
+
await storeResolvePendingData(this.runtimeStore);
|
|
159
|
+
// Continue loop to retry render
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// Not a data fetch issue, rethrow
|
|
163
|
+
throw error;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (attempts >= maxAttempts) {
|
|
168
|
+
console.warn(`Reconcile hit max attempts (${maxAttempts})`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
finally {
|
|
172
|
+
this.isRendering = false;
|
|
173
|
+
this.currentPhase = "idle";
|
|
174
|
+
setActiveCompiler(null);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Collect the compiled structure from the current tree.
|
|
179
|
+
* Uses COM's token estimator to annotate all entries with token estimates.
|
|
180
|
+
*/
|
|
181
|
+
collect() {
|
|
182
|
+
return collect(this.container, this.ctx.getTokenEstimator());
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Compile element to CompiledStructure.
|
|
186
|
+
* Single pass: reconcile + collect.
|
|
187
|
+
*/
|
|
188
|
+
async compile(element, state) {
|
|
189
|
+
this.tickState = state;
|
|
190
|
+
this.currentPhase = "compile";
|
|
191
|
+
try {
|
|
192
|
+
await this.reconcile(element, { tickState: state });
|
|
193
|
+
return this.collect();
|
|
194
|
+
}
|
|
195
|
+
finally {
|
|
196
|
+
this.currentPhase = "idle";
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Compile until stable (no more recompile requests).
|
|
201
|
+
*/
|
|
202
|
+
async compileUntilStable(element, state, options = {}) {
|
|
203
|
+
const maxIterations = options.maxIterations ?? this.config.maxCompileIterations ?? 10;
|
|
204
|
+
this.tickState = state;
|
|
205
|
+
this.recompileReasons = [];
|
|
206
|
+
let compiled = createEmptyCompiledStructure();
|
|
207
|
+
let iterations = 0;
|
|
208
|
+
let stable = false;
|
|
209
|
+
while (!stable && iterations < maxIterations) {
|
|
210
|
+
iterations++;
|
|
211
|
+
this.recompileRequested = false;
|
|
212
|
+
// Compile
|
|
213
|
+
compiled = await this.compile(element, state);
|
|
214
|
+
// Run after-compile callbacks
|
|
215
|
+
await this.notifyAfterCompile(compiled, state, {});
|
|
216
|
+
// Check if stable
|
|
217
|
+
if (!this.recompileRequested && !storeHasPendingData(this.runtimeStore)) {
|
|
218
|
+
stable = true;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return {
|
|
222
|
+
compiled,
|
|
223
|
+
iterations,
|
|
224
|
+
forcedStable: !stable,
|
|
225
|
+
recompileReasons: this.recompileReasons,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
// ============================================================
|
|
229
|
+
// Lifecycle Notifications
|
|
230
|
+
// ============================================================
|
|
231
|
+
async notifyStart() {
|
|
232
|
+
// Nothing special in v2 - components use useEffect for mount
|
|
233
|
+
}
|
|
234
|
+
async notifyTickStart(state) {
|
|
235
|
+
this.tickState = state;
|
|
236
|
+
this.currentPhase = "tickStart";
|
|
237
|
+
try {
|
|
238
|
+
if (this.ctx) {
|
|
239
|
+
await storeRunTickStartCallbacks(this.runtimeStore, state, this.ctx);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
finally {
|
|
243
|
+
this.currentPhase = "idle";
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
async notifyTickEnd(state, result) {
|
|
247
|
+
this.tickState = state;
|
|
248
|
+
this.currentPhase = "tickEnd";
|
|
249
|
+
try {
|
|
250
|
+
if (this.ctx) {
|
|
251
|
+
await storeRunTickEndCallbacks(this.runtimeStore, result, this.ctx);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
finally {
|
|
255
|
+
this.currentPhase = "idle";
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
async notifyAfterCompile(compiled, _state, _ctx) {
|
|
259
|
+
await storeRunAfterCompileCallbacks(this.runtimeStore, compiled, this.ctx);
|
|
260
|
+
}
|
|
261
|
+
async notifyComplete(_finalState) {
|
|
262
|
+
this.currentPhase = "complete";
|
|
263
|
+
// Nothing special in v2
|
|
264
|
+
this.currentPhase = "idle";
|
|
265
|
+
}
|
|
266
|
+
async notifyError(_state) {
|
|
267
|
+
// Return null = no recovery action
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
async notifyOnMessage(message, state) {
|
|
271
|
+
// Update store with current context before dispatching
|
|
272
|
+
this.messageStore.ctx = this.ctx;
|
|
273
|
+
this.messageStore.tickState = state;
|
|
274
|
+
this.messageStore.lastMessage = message;
|
|
275
|
+
// Dispatch message to all handlers registered via useOnMessage
|
|
276
|
+
const ctx = this.ctx;
|
|
277
|
+
for (const handler of this.messageStore.handlers) {
|
|
278
|
+
await handler(message, ctx, state);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// ============================================================
|
|
282
|
+
// Cleanup
|
|
283
|
+
// ============================================================
|
|
284
|
+
async unmount() {
|
|
285
|
+
this.currentPhase = "unmount";
|
|
286
|
+
try {
|
|
287
|
+
// Clear the tree
|
|
288
|
+
flushSync(() => {
|
|
289
|
+
updateContainer(null, this.root);
|
|
290
|
+
});
|
|
291
|
+
// Flush any pending cleanup effects
|
|
292
|
+
flushPassiveEffects();
|
|
293
|
+
// Clear any remaining state
|
|
294
|
+
storeClearLifecycleCallbacks(this.runtimeStore);
|
|
295
|
+
storeClearDataCache(this.runtimeStore);
|
|
296
|
+
}
|
|
297
|
+
finally {
|
|
298
|
+
this.currentPhase = "idle";
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// ============================================================
|
|
302
|
+
// State Queries
|
|
303
|
+
// ============================================================
|
|
304
|
+
isRenderingNow() {
|
|
305
|
+
return this.isRendering;
|
|
306
|
+
}
|
|
307
|
+
isInTickStart() {
|
|
308
|
+
return this.currentPhase === "tickStart";
|
|
309
|
+
}
|
|
310
|
+
isInTickEnd() {
|
|
311
|
+
return this.currentPhase === "tickEnd";
|
|
312
|
+
}
|
|
313
|
+
shouldSkipRecompile() {
|
|
314
|
+
return (this.currentPhase === "tickStart" ||
|
|
315
|
+
this.currentPhase === "tickEnd" ||
|
|
316
|
+
this.currentPhase === "complete" ||
|
|
317
|
+
this.currentPhase === "unmount" ||
|
|
318
|
+
this.isRendering);
|
|
319
|
+
}
|
|
320
|
+
// ============================================================
|
|
321
|
+
// Renderer
|
|
322
|
+
// ============================================================
|
|
323
|
+
setRenderer(renderer) {
|
|
324
|
+
this.container.renderer = renderer;
|
|
325
|
+
}
|
|
326
|
+
// ============================================================
|
|
327
|
+
// Hibernation Support
|
|
328
|
+
// ============================================================
|
|
329
|
+
/**
|
|
330
|
+
* Get the runtime store for hibernation.
|
|
331
|
+
*/
|
|
332
|
+
getRuntimeStore() {
|
|
333
|
+
return this.runtimeStore;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Get the data cache as a serializable object.
|
|
337
|
+
*/
|
|
338
|
+
getSerializableDataCache() {
|
|
339
|
+
return storeGetSerializableDataCache(this.runtimeStore);
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Restore the data cache from a serializable object.
|
|
343
|
+
*/
|
|
344
|
+
setDataCache(data) {
|
|
345
|
+
storeSetDataCache(this.runtimeStore, data);
|
|
346
|
+
}
|
|
347
|
+
// ============================================================
|
|
348
|
+
// Hydration Support (session.ts compatibility)
|
|
349
|
+
// ============================================================
|
|
350
|
+
_hydrationData = null;
|
|
351
|
+
_isHydrating = false;
|
|
352
|
+
/**
|
|
353
|
+
* Set hydration data for restoring session state.
|
|
354
|
+
*/
|
|
355
|
+
setHydrationData(data) {
|
|
356
|
+
this._hydrationData = data;
|
|
357
|
+
this._isHydrating = true;
|
|
358
|
+
// If data includes a serialized data cache, restore it
|
|
359
|
+
if (data && typeof data === "object" && "dataCache" in data) {
|
|
360
|
+
this.setDataCache(data.dataCache);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Complete the hydration process.
|
|
365
|
+
*/
|
|
366
|
+
completeHydration() {
|
|
367
|
+
this._isHydrating = false;
|
|
368
|
+
this._hydrationData = null;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Check if currently hydrating.
|
|
372
|
+
*/
|
|
373
|
+
isHydratingNow() {
|
|
374
|
+
return this._isHydrating;
|
|
375
|
+
}
|
|
376
|
+
// ============================================================
|
|
377
|
+
// Debug/DevTools Support (session.ts compatibility)
|
|
378
|
+
// ============================================================
|
|
379
|
+
/**
|
|
380
|
+
* Serialize the fiber tree for debugging/devtools.
|
|
381
|
+
* In v2, we serialize the AgentickNode tree from the container.
|
|
382
|
+
*/
|
|
383
|
+
serializeFiberTree() {
|
|
384
|
+
if (this.container.children.length === 0) {
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
387
|
+
let idCounter = 0;
|
|
388
|
+
const serializeNode = (node, path) => {
|
|
389
|
+
const id = `node-${idCounter++}`;
|
|
390
|
+
const typeName = typeof node.type === "string"
|
|
391
|
+
? node.type
|
|
392
|
+
: typeof node.type === "function"
|
|
393
|
+
? node.type.displayName || node.type.name || "Anonymous"
|
|
394
|
+
: typeof node.type === "symbol"
|
|
395
|
+
? node.type.description || "Symbol"
|
|
396
|
+
: node.type === null || node.type === undefined
|
|
397
|
+
? "text"
|
|
398
|
+
: "Unknown";
|
|
399
|
+
// Generate a human-readable summary for the node
|
|
400
|
+
const summary = node.text != null
|
|
401
|
+
? `"${String(node.text).slice(0, 50)}${String(node.text).length > 50 ? "..." : ""}"`
|
|
402
|
+
: undefined;
|
|
403
|
+
return {
|
|
404
|
+
id,
|
|
405
|
+
type: typeName,
|
|
406
|
+
key: node.key ?? null,
|
|
407
|
+
props: { ...node.props },
|
|
408
|
+
hooks: [], // React manages hooks internally; we don't have access to them
|
|
409
|
+
children: (node.children || []).map((child, i) => serializeNode(child, `${path}.${i}`)),
|
|
410
|
+
_summary: summary,
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
// Return root as a fragment containing all children
|
|
414
|
+
return {
|
|
415
|
+
id: "root",
|
|
416
|
+
type: "Fragment",
|
|
417
|
+
key: null,
|
|
418
|
+
props: {},
|
|
419
|
+
hooks: [],
|
|
420
|
+
children: this.container.children.map((child, i) => serializeNode(child, String(i))),
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Get a summary of the fiber tree for debugging.
|
|
425
|
+
*/
|
|
426
|
+
getFiberSummary() {
|
|
427
|
+
let componentCount = 0;
|
|
428
|
+
let _depth = 0;
|
|
429
|
+
let maxDepth = 0;
|
|
430
|
+
const countNodes = (nodes, currentDepth) => {
|
|
431
|
+
if (currentDepth > maxDepth)
|
|
432
|
+
maxDepth = currentDepth;
|
|
433
|
+
for (const node of nodes) {
|
|
434
|
+
componentCount++;
|
|
435
|
+
if (node.children && node.children.length > 0) {
|
|
436
|
+
countNodes(node.children, currentDepth + 1);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
};
|
|
440
|
+
countNodes(this.container.children, 1);
|
|
441
|
+
return {
|
|
442
|
+
componentCount,
|
|
443
|
+
hookCount: 0, // React manages hooks internally, we don't track
|
|
444
|
+
effectCount: 0, // React manages effects internally
|
|
445
|
+
depth: maxDepth,
|
|
446
|
+
hooksByType: {}, // React manages hooks internally, we don't track by type
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Create a V2 FiberCompiler.
|
|
452
|
+
*/
|
|
453
|
+
export function createFiberCompiler(ctx, hookRegistry, config) {
|
|
454
|
+
return new FiberCompiler(ctx, hookRegistry, config);
|
|
455
|
+
}
|
|
456
|
+
// ============================================================
|
|
457
|
+
// Compiler Bridge for Signals
|
|
458
|
+
// ============================================================
|
|
459
|
+
// These functions allow signals to detect render phase and
|
|
460
|
+
// request recompilation when state changes during render.
|
|
461
|
+
/**
|
|
462
|
+
* Currently active compiler instance.
|
|
463
|
+
* Set by FiberCompiler during render operations.
|
|
464
|
+
*/
|
|
465
|
+
let activeCompiler = null;
|
|
466
|
+
/**
|
|
467
|
+
* Set the active compiler (used internally during render).
|
|
468
|
+
* @internal
|
|
469
|
+
*/
|
|
470
|
+
export function setActiveCompiler(compiler) {
|
|
471
|
+
activeCompiler = compiler;
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Get the currently active compiler, if any.
|
|
475
|
+
* Used by signals to request recompilation.
|
|
476
|
+
*/
|
|
477
|
+
export function getActiveCompiler() {
|
|
478
|
+
return activeCompiler;
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Check if we're currently inside a compiler render phase.
|
|
482
|
+
* Used by signals to detect state changes during render.
|
|
483
|
+
*/
|
|
484
|
+
export function isCompilerRendering() {
|
|
485
|
+
return activeCompiler?.isRenderingNow() ?? false;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Check if we should skip requesting recompilation.
|
|
489
|
+
* Returns true during phases where recompile is unnecessary:
|
|
490
|
+
* - tickStart: Render is about to happen anyway
|
|
491
|
+
* - tickEnd: Current tick is done, next tick will see the update
|
|
492
|
+
* - complete: Execution is complete, no more renders
|
|
493
|
+
* - unmount: Component is being removed
|
|
494
|
+
*/
|
|
495
|
+
export function shouldSkipRecompile() {
|
|
496
|
+
return activeCompiler?.shouldSkipRecompile() ?? true;
|
|
497
|
+
}
|
|
498
|
+
//# sourceMappingURL=fiber-compiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fiber-compiler.js","sourceRoot":"","sources":["../../src/compiler/fiber-compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fiber Node Management
|
|
3
|
+
*
|
|
4
|
+
* Handles fiber creation, cloning, and tree manipulation.
|
|
5
|
+
*/
|
|
6
|
+
import type { FiberNode, ComponentType, HookState } from "./types";
|
|
7
|
+
import type { ContentRenderer } from "../renderers";
|
|
8
|
+
/**
|
|
9
|
+
* Create a new fiber node.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createFiber(type: ComponentType, props: Record<string, unknown>, key?: string | number | null): FiberNode;
|
|
12
|
+
/**
|
|
13
|
+
* Create a work-in-progress fiber from an existing fiber.
|
|
14
|
+
* This enables double-buffering for safe updates.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createWorkInProgress(current: FiberNode, pendingProps: Record<string, unknown>): FiberNode;
|
|
17
|
+
/**
|
|
18
|
+
* Clone a fiber for use in a different location.
|
|
19
|
+
*/
|
|
20
|
+
export declare function cloneFiber(fiber: FiberNode, overrides?: Partial<FiberNode>): FiberNode;
|
|
21
|
+
/**
|
|
22
|
+
* Get all child fibers as an array.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getChildFibers(fiber: FiberNode | null): FiberNode[];
|
|
25
|
+
/**
|
|
26
|
+
* Find a fiber by key among siblings.
|
|
27
|
+
*/
|
|
28
|
+
export declare function findFiberByKey(firstChild: FiberNode | null, key: string | number | null): FiberNode | null;
|
|
29
|
+
/**
|
|
30
|
+
* Traverse fiber tree depth-first, calling callback on each fiber.
|
|
31
|
+
*/
|
|
32
|
+
export declare function traverseFiber(fiber: FiberNode | null, callback: (fiber: FiberNode) => void | Promise<void>): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Traverse fiber tree bottom-up (children first, then parent).
|
|
35
|
+
*/
|
|
36
|
+
export declare function traverseFiberBottomUp(fiber: FiberNode | null, callback: (fiber: FiberNode) => void | Promise<void>): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Get the number of hooks on a fiber.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getHookCount(fiber: FiberNode): number;
|
|
41
|
+
/**
|
|
42
|
+
* Get hook at a specific index.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getHookAtIndex(fiber: FiberNode, index: number): HookState | null;
|
|
45
|
+
/**
|
|
46
|
+
* Create a debug string representation of a fiber.
|
|
47
|
+
*/
|
|
48
|
+
export declare function fiberToDebugString(fiber: FiberNode): string;
|
|
49
|
+
/**
|
|
50
|
+
* Create a debug tree representation.
|
|
51
|
+
*/
|
|
52
|
+
export declare function fiberTreeToDebugString(fiber: FiberNode | null, indent?: number): string;
|
|
53
|
+
/**
|
|
54
|
+
* Find the nearest renderer in the fiber tree.
|
|
55
|
+
*/
|
|
56
|
+
export declare function findNearestRenderer(fiber: FiberNode): ContentRenderer | null;
|
|
57
|
+
/**
|
|
58
|
+
* Set renderer on fiber and mark for propagation.
|
|
59
|
+
*/
|
|
60
|
+
export declare function setFiberRenderer(fiber: FiberNode, renderer: ContentRenderer): void;
|
|
61
|
+
//# sourceMappingURL=fiber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fiber.d.ts","sourceRoot":"","sources":["../../src/compiler/fiber.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQpD;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,GAAE,MAAM,GAAG,MAAM,GAAG,IAAW,GACjC,SAAS,CAuCX;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,SAAS,CAiCX;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,SAAS,CAgB1F;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EAAE,CAUnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,SAAS,GAAG,IAAI,EAC5B,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAC1B,SAAS,GAAG,IAAI,CAWlB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC,CAYf;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAUrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAUhF;AAsBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAI3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,SAAI,GAAG,MAAM,CAalF;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,eAAe,GAAG,IAAI,CAW5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAElF"}
|