@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,24 @@
|
|
|
1
|
+
import { BaseHookRegistry } from "../hooks/base-hook-registry";
|
|
2
|
+
/**
|
|
3
|
+
* Model-specific hook registry.
|
|
4
|
+
* Uses BaseHookRegistry to reduce code duplication.
|
|
5
|
+
*
|
|
6
|
+
* Note: Global hooks via configureEngine() have been deprecated.
|
|
7
|
+
* Use Agentick.use() for middleware registration instead.
|
|
8
|
+
*/
|
|
9
|
+
export class ModelHookRegistry extends BaseHookRegistry {
|
|
10
|
+
getAllHookNames() {
|
|
11
|
+
return ["fromEngineState", "generate", "stream", "toEngineState"];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get all middleware for a model hook.
|
|
15
|
+
* Returns instance-specific hooks only.
|
|
16
|
+
*
|
|
17
|
+
* Note: Global hooks via configureEngine() have been deprecated.
|
|
18
|
+
* Use Agentick.use() for middleware registration instead.
|
|
19
|
+
*/
|
|
20
|
+
getMiddleware(hookName) {
|
|
21
|
+
return this.registry.getMiddleware(hookName, () => []);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=model-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-hooks.js","sourceRoot":"","sources":["../../src/model/model-hooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA6C/D;;;;;;GAMG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAItC;IACW,eAAe;QACvB,OAAO,CAAC,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAU,CAAC;IAC7E,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAA0B,QAAW;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAChC,QAAQ,EACR,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model System
|
|
3
|
+
*
|
|
4
|
+
* EngineModel is the primary interface for models in the engine.
|
|
5
|
+
* Use createAdapter() from ./adapter.ts to create model adapters.
|
|
6
|
+
*/
|
|
7
|
+
import type { Procedure } from "@agentick/kernel";
|
|
8
|
+
import type { ModelInput as BaseModelInput, ModelOutput as BaseModelOutput, ModelConfig as BaseModelConfig, ModelToolReference as BaseModelToolReference } from "@agentick/shared/models";
|
|
9
|
+
import type { StreamEvent } from "@agentick/shared/streaming";
|
|
10
|
+
import type { Message } from "@agentick/shared/messages";
|
|
11
|
+
import type { COMInput, TokenEstimator } from "../com/types";
|
|
12
|
+
import type { EngineResponse } from "../engine/engine-response";
|
|
13
|
+
import type { EventBlock, TextBlock, ContentBlock } from "@agentick/shared";
|
|
14
|
+
import type { LibraryGenerationOptions, ProviderGenerationOptions, DelimiterConfig, EventBlockDelimiters } from "../types";
|
|
15
|
+
import type { ExecutableTool, ToolDefinition, ToolMetadata } from "../tool/tool";
|
|
16
|
+
export type { BaseModelToolReference, BaseModelConfig, BaseModelInput, BaseModelOutput };
|
|
17
|
+
/**
|
|
18
|
+
* EngineModel is the primary interface for models.
|
|
19
|
+
* All models (created via createAdapter) conform to this interface.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* import { createAdapter } from '@agentick/core/model';
|
|
24
|
+
*
|
|
25
|
+
* const model = createAdapter({
|
|
26
|
+
* metadata: { id: 'my-model', provider: 'my-provider', capabilities: [] },
|
|
27
|
+
* prepareInput: (input) => ({ ... }),
|
|
28
|
+
* mapChunk: (chunk) => ({ type: 'text', delta: chunk.text }),
|
|
29
|
+
* execute: (input) => provider.generate(input),
|
|
30
|
+
* executeStream: (input) => provider.stream(input),
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export interface EngineModel<TModelInput = ModelInput, TModelOutput = ModelOutput> {
|
|
35
|
+
/** Model metadata (id, description, capabilities, etc.) */
|
|
36
|
+
metadata: ModelMetadata;
|
|
37
|
+
/** Generate a response (non-streaming) */
|
|
38
|
+
generate: Procedure<(input: TModelInput) => Promise<TModelOutput>>;
|
|
39
|
+
/** Generate a streaming response */
|
|
40
|
+
stream?: Procedure<(input: TModelInput) => AsyncIterable<StreamEvent>>;
|
|
41
|
+
/** Convert engine state (COMInput) to model input */
|
|
42
|
+
fromEngineState?: (input: COMInput) => Promise<TModelInput>;
|
|
43
|
+
/** Convert model output to engine response */
|
|
44
|
+
toEngineState?: (output: TModelOutput) => Promise<EngineResponse>;
|
|
45
|
+
/** Aggregate stream events into final output */
|
|
46
|
+
processStream?: (events: StreamEvent[]) => Promise<TModelOutput>;
|
|
47
|
+
/** Transform model input to provider-specific format (for DevTools visibility) */
|
|
48
|
+
getProviderInput?: (input: TModelInput) => Promise<unknown>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Type guard: checks if value is an EngineModel.
|
|
52
|
+
*/
|
|
53
|
+
export declare function isEngineModel(value: any): value is EngineModel;
|
|
54
|
+
/**
|
|
55
|
+
* Unified message transformation configuration.
|
|
56
|
+
* Handles both event and ephemeral content transformation.
|
|
57
|
+
*/
|
|
58
|
+
export interface MessageTransformationConfig {
|
|
59
|
+
/**
|
|
60
|
+
* Preferred renderer for content formatting.
|
|
61
|
+
* Can be:
|
|
62
|
+
* - String: Static renderer type ('markdown' | 'xml')
|
|
63
|
+
* - Function: Dynamic renderer selection based on model ID
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* preferredRenderer: 'markdown'
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* preferredRenderer: (modelId: string) => {
|
|
70
|
+
* if (modelId.includes('claude')) return 'markdown';
|
|
71
|
+
* if (modelId.includes('gpt-4')) return 'markdown';
|
|
72
|
+
* return 'markdown'; // default
|
|
73
|
+
* }
|
|
74
|
+
*/
|
|
75
|
+
preferredRenderer?: "markdown" | "xml" | ((modelId: string, provider?: string) => "markdown" | "xml");
|
|
76
|
+
/**
|
|
77
|
+
* Role mapping for transformed messages.
|
|
78
|
+
* Controls how event/ephemeral messages are converted to model-understandable roles.
|
|
79
|
+
*/
|
|
80
|
+
roleMapping?: {
|
|
81
|
+
/**
|
|
82
|
+
* Role to use for event messages.
|
|
83
|
+
* - 'user': Most compatible, treat as user context
|
|
84
|
+
* - 'developer': Use developer role (Claude, newer OpenAI)
|
|
85
|
+
* - 'event': Keep as event (adapter handles model-specific mapping)
|
|
86
|
+
* - 'system': Treat as system context
|
|
87
|
+
*/
|
|
88
|
+
event?: "user" | "developer" | "event" | "system";
|
|
89
|
+
/**
|
|
90
|
+
* Role to use for ephemeral messages.
|
|
91
|
+
* - 'user': Most compatible
|
|
92
|
+
* - 'developer': Use developer role (Claude, newer OpenAI)
|
|
93
|
+
* - 'system': Treat as system context
|
|
94
|
+
*/
|
|
95
|
+
ephemeral?: "user" | "developer" | "system";
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Delimiter configuration for transformed content.
|
|
99
|
+
* When useDelimiters is true, content is wrapped with delimiters.
|
|
100
|
+
*/
|
|
101
|
+
delimiters?: {
|
|
102
|
+
/** Delimiter for event content */
|
|
103
|
+
event?: DelimiterConfig | EventBlockDelimiters;
|
|
104
|
+
/** Delimiter for ephemeral content */
|
|
105
|
+
ephemeral?: DelimiterConfig;
|
|
106
|
+
/** Global toggle for delimiter usage */
|
|
107
|
+
useDelimiters?: boolean;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Custom formatter for full control over event block transformation.
|
|
111
|
+
* When provided, overrides delimiter-based formatting.
|
|
112
|
+
*/
|
|
113
|
+
formatBlock?: (block: EventBlock | TextBlock) => ContentBlock[];
|
|
114
|
+
/**
|
|
115
|
+
* Position for ephemeral content in the message list (CSS-inspired).
|
|
116
|
+
* - 'flow': Keep in declaration order (default)
|
|
117
|
+
* - 'start': Move to beginning (after system)
|
|
118
|
+
* - 'end': Move to end
|
|
119
|
+
* - 'before-user': Move to just before last user message
|
|
120
|
+
* - 'after-system': Move to just after system messages
|
|
121
|
+
*/
|
|
122
|
+
ephemeralPosition?: "flow" | "start" | "end" | "before-user" | "after-system";
|
|
123
|
+
}
|
|
124
|
+
export interface ModelCapabilities {
|
|
125
|
+
stream?: boolean;
|
|
126
|
+
toolCalls?: boolean;
|
|
127
|
+
provider?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Message transformation configuration.
|
|
130
|
+
* Can be:
|
|
131
|
+
* - Static config object
|
|
132
|
+
* - Function that returns config based on model ID
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* messageTransformation: {
|
|
136
|
+
* preferredRenderer: 'markdown',
|
|
137
|
+
* roleMapping: { event: 'user', ephemeral: 'user' }
|
|
138
|
+
* }
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* messageTransformation: (modelId: string, provider?: string) => ({
|
|
142
|
+
* preferredRenderer: modelId.includes('claude') ? 'markdown' : 'markdown',
|
|
143
|
+
* roleMapping: {
|
|
144
|
+
* event: provider === 'anthropic' ? 'developer' : 'user',
|
|
145
|
+
* ephemeral: provider === 'anthropic' ? 'developer' : 'user'
|
|
146
|
+
* }
|
|
147
|
+
* })
|
|
148
|
+
*/
|
|
149
|
+
messageTransformation?: MessageTransformationConfig | ((modelId: string, provider?: string) => MessageTransformationConfig);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Model operations supported by adapters.
|
|
153
|
+
*
|
|
154
|
+
* Used by the Model component's `operation` prop to specify which
|
|
155
|
+
* model method to invoke during execution.
|
|
156
|
+
*
|
|
157
|
+
* Core operations (available on all language models):
|
|
158
|
+
* - 'generate': Non-streaming text generation (default)
|
|
159
|
+
* - 'stream': Streaming text generation
|
|
160
|
+
*
|
|
161
|
+
* Extended operations (adapter-specific, may require specific model types):
|
|
162
|
+
* - 'generateObject': Structured output generation
|
|
163
|
+
* - 'streamObject': Streaming structured output
|
|
164
|
+
* - 'generateImage': Image generation
|
|
165
|
+
* - 'editImage': Image editing
|
|
166
|
+
* - 'embed': Generate embeddings
|
|
167
|
+
* - 'countTokens': Token counting
|
|
168
|
+
* - 'transcribe': Audio to text
|
|
169
|
+
* - 'speak': Text to audio
|
|
170
|
+
*/
|
|
171
|
+
export type ModelOperation = "generate" | "stream" | "generateObject" | "streamObject" | "generateImage" | "editImage" | "embed" | "countTokens" | "transcribe" | "speak" | (string & {});
|
|
172
|
+
export interface ModelMetadata {
|
|
173
|
+
id: string;
|
|
174
|
+
model?: string;
|
|
175
|
+
description?: string;
|
|
176
|
+
version?: string;
|
|
177
|
+
provider?: string;
|
|
178
|
+
type?: "language" | "image" | "embedding" | "vision";
|
|
179
|
+
capabilities: ModelCapabilities[];
|
|
180
|
+
/** Context window size in tokens (adapter-provided takes precedence over catalog) */
|
|
181
|
+
contextWindow?: number;
|
|
182
|
+
/** Maximum output tokens per response */
|
|
183
|
+
maxOutputTokens?: number;
|
|
184
|
+
/** Whether the model supports vision/image input */
|
|
185
|
+
supportsVision?: boolean;
|
|
186
|
+
/** Whether the model supports tool/function calling */
|
|
187
|
+
supportsToolUse?: boolean;
|
|
188
|
+
/** Whether this is a reasoning model (extended thinking) */
|
|
189
|
+
isReasoningModel?: boolean;
|
|
190
|
+
/** Token estimator function (e.g., tiktoken). If provided, used instead of default char/4 heuristic. */
|
|
191
|
+
tokenEstimator?: TokenEstimator;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Model input (normalized across all providers)
|
|
195
|
+
*
|
|
196
|
+
* Extends the base ModelInput from @agentick/shared with backend-specific fields.
|
|
197
|
+
*/
|
|
198
|
+
export interface ModelInput extends BaseModelInput {
|
|
199
|
+
/**
|
|
200
|
+
* Provider-specific generation options.
|
|
201
|
+
* Used for model generation/streaming calls and other operations.
|
|
202
|
+
* Each adapter can extend this type using module augmentation.
|
|
203
|
+
*/
|
|
204
|
+
providerOptions?: ProviderGenerationOptions;
|
|
205
|
+
/**
|
|
206
|
+
* Adapter-specific options (keyed by library: ai-sdk, langchain, llamaindex, etc.).
|
|
207
|
+
* Used to pass library-specific configuration that isn't provider-specific.
|
|
208
|
+
* Each adapter package extends LibraryGenerationOptions via module augmentation.
|
|
209
|
+
*
|
|
210
|
+
* Note: If an adapter has its own providerOptions concept, provide them here
|
|
211
|
+
* under the adapter key. The adapter will merge them with ModelInput.providerOptions.
|
|
212
|
+
*/
|
|
213
|
+
libraryOptions?: LibraryGenerationOptions;
|
|
214
|
+
/**
|
|
215
|
+
* Message transformation configuration.
|
|
216
|
+
* Controls how event and ephemeral messages are transformed for the model.
|
|
217
|
+
* Can be set per-request to override model-level defaults.
|
|
218
|
+
*
|
|
219
|
+
* @see MessageTransformationConfig
|
|
220
|
+
*/
|
|
221
|
+
messageTransformation?: Partial<MessageTransformationConfig>;
|
|
222
|
+
/**
|
|
223
|
+
* Engine-level metadata
|
|
224
|
+
*/
|
|
225
|
+
engineMetadata?: Record<string, unknown>;
|
|
226
|
+
/**
|
|
227
|
+
* Engine-level sections
|
|
228
|
+
*/
|
|
229
|
+
engineSections?: Array<{
|
|
230
|
+
id: string;
|
|
231
|
+
title?: string;
|
|
232
|
+
content?: any;
|
|
233
|
+
visibility?: string;
|
|
234
|
+
audience?: "model" | "human" | "system";
|
|
235
|
+
ttlMs?: number;
|
|
236
|
+
ttlTicks?: number;
|
|
237
|
+
}>;
|
|
238
|
+
/**
|
|
239
|
+
* Cached content reference
|
|
240
|
+
*/
|
|
241
|
+
cacheId?: string;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Model output (normalized across all providers)
|
|
245
|
+
*
|
|
246
|
+
* Extends the base ModelOutput from @agentick/shared with backend-specific fields.
|
|
247
|
+
*/
|
|
248
|
+
export interface ModelOutput extends BaseModelOutput {
|
|
249
|
+
/**
|
|
250
|
+
* Cache ID if content was cached
|
|
251
|
+
*/
|
|
252
|
+
cacheId?: string;
|
|
253
|
+
/**
|
|
254
|
+
* Raw provider response
|
|
255
|
+
*/
|
|
256
|
+
raw: any;
|
|
257
|
+
}
|
|
258
|
+
export type ModelToolReference = BaseModelToolReference | ToolDefinition | ToolMetadata | ExecutableTool;
|
|
259
|
+
export interface NormalizedModelTool {
|
|
260
|
+
id: string;
|
|
261
|
+
metadata: ToolMetadata;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Normalized model input (after message normalization)
|
|
265
|
+
*/
|
|
266
|
+
export interface NormalizedModelInput extends Omit<ModelInput, "messages" | "tools"> {
|
|
267
|
+
messages: Message[];
|
|
268
|
+
model: string;
|
|
269
|
+
tools: NormalizedModelTool[];
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Model operations interface
|
|
273
|
+
*/
|
|
274
|
+
export interface ModelOperations {
|
|
275
|
+
/**
|
|
276
|
+
* Generate completion (non-streaming)
|
|
277
|
+
*/
|
|
278
|
+
generate: Procedure<(input: ModelInput) => ModelOutput>;
|
|
279
|
+
/**
|
|
280
|
+
* Generate completion (streaming)
|
|
281
|
+
*/
|
|
282
|
+
stream: Procedure<(input: ModelInput) => AsyncIterable<StreamEvent>>;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Model configuration
|
|
286
|
+
*
|
|
287
|
+
* Extends the base ModelConfig from @agentick/shared with backend-specific fields.
|
|
288
|
+
*/
|
|
289
|
+
export interface ModelConfig extends BaseModelConfig {
|
|
290
|
+
/**
|
|
291
|
+
* Provider-specific generation options.
|
|
292
|
+
* Used for model generation/streaming calls and other operations.
|
|
293
|
+
*/
|
|
294
|
+
providerOptions?: Record<string, any>;
|
|
295
|
+
/**
|
|
296
|
+
* Message transformation configuration.
|
|
297
|
+
* Controls how event and ephemeral messages are transformed for the model.
|
|
298
|
+
* @see MessageTransformationConfig
|
|
299
|
+
*/
|
|
300
|
+
messageTransformation?: Partial<MessageTransformationConfig>;
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model System
|
|
3
|
+
*
|
|
4
|
+
* EngineModel is the primary interface for models in the engine.
|
|
5
|
+
* Use createAdapter() from ./adapter.ts to create model adapters.
|
|
6
|
+
*/
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Utilities
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Type guard: checks if value is an EngineModel.
|
|
12
|
+
*/
|
|
13
|
+
export function isEngineModel(value) {
|
|
14
|
+
return (value &&
|
|
15
|
+
typeof value === "object" &&
|
|
16
|
+
"metadata" in value &&
|
|
17
|
+
"generate" in value &&
|
|
18
|
+
typeof value.generate === "function");
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoEH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAU;IACtC,OAAO,CACL,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,UAAU,IAAI,KAAK;QACnB,UAAU,IAAI,KAAK;QACnB,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,CACrC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple Adapter - Minimal API for creating model adapters
|
|
3
|
+
*
|
|
4
|
+
* This provides the simplest possible API for creating adapters.
|
|
5
|
+
* Adapters only need to implement:
|
|
6
|
+
* 1. prepareInput - convert engine input to provider format
|
|
7
|
+
* 2. mapChunk - convert provider chunk to AdapterDelta
|
|
8
|
+
* 3. execute/executeStream - call the provider
|
|
9
|
+
*
|
|
10
|
+
* The framework handles everything else (accumulation, events, etc.).
|
|
11
|
+
*
|
|
12
|
+
* @module tentickle/model/simple-adapter
|
|
13
|
+
*/
|
|
14
|
+
import type { COMInput } from "../com/types";
|
|
15
|
+
import type { EngineResponse } from "../engine/engine-response";
|
|
16
|
+
import type { EngineModel, ModelInput, ModelOutput, ModelMetadata } from "./model";
|
|
17
|
+
import { type AdapterDelta, type ChunkMapping } from "./stream-accumulator";
|
|
18
|
+
/**
|
|
19
|
+
* Options for createSimpleAdapter.
|
|
20
|
+
*
|
|
21
|
+
* This is the minimal interface for creating an adapter. Compare to the
|
|
22
|
+
* full createModel API which requires implementing transformers.processChunk,
|
|
23
|
+
* transformers.processOutput, transformers.processStream, etc.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const model = createSimpleAdapter({
|
|
28
|
+
* metadata: { id: 'openai:gpt-4', provider: 'openai', capabilities: [{ stream: true, toolCalls: true }] },
|
|
29
|
+
*
|
|
30
|
+
* prepareInput: (input) => ({
|
|
31
|
+
* model: 'gpt-4',
|
|
32
|
+
* messages: input.messages.map(toOpenAIMessage),
|
|
33
|
+
* tools: input.tools?.map(toOpenAITool),
|
|
34
|
+
* }),
|
|
35
|
+
*
|
|
36
|
+
* mapChunk: (chunk) => {
|
|
37
|
+
* if (chunk.choices?.[0]?.delta?.content) {
|
|
38
|
+
* return { type: 'text', delta: chunk.choices[0].delta.content };
|
|
39
|
+
* }
|
|
40
|
+
* return null;
|
|
41
|
+
* },
|
|
42
|
+
*
|
|
43
|
+
* execute: async (input) => openai.chat.completions.create(input),
|
|
44
|
+
* executeStream: (input) => openai.chat.completions.create({ ...input, stream: true }),
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export interface SimpleAdapterOptions<TProviderInput, TProviderOutput, TChunk> {
|
|
49
|
+
/** Model metadata */
|
|
50
|
+
metadata: ModelMetadata;
|
|
51
|
+
/**
|
|
52
|
+
* Convert engine ModelInput to provider-specific input format.
|
|
53
|
+
* This is the only complex transformation you need to implement.
|
|
54
|
+
*/
|
|
55
|
+
prepareInput: (input: ModelInput) => TProviderInput | Promise<TProviderInput>;
|
|
56
|
+
/**
|
|
57
|
+
* Map a provider stream chunk to an AdapterDelta.
|
|
58
|
+
* Return null to skip/ignore the chunk.
|
|
59
|
+
*
|
|
60
|
+
* This replaces the 200+ line switch statement in typical adapters.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* mapChunk: (chunk) => {
|
|
65
|
+
* if (chunk.type === 'text-delta') return { type: 'text', delta: chunk.text };
|
|
66
|
+
* if (chunk.type === 'tool-call') return { type: 'tool_call', id: chunk.id, name: chunk.name, input: chunk.args };
|
|
67
|
+
* if (chunk.type === 'finish') return { type: 'message_end', stopReason: StopReason.STOP };
|
|
68
|
+
* return null;
|
|
69
|
+
* }
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
mapChunk: (chunk: TChunk) => AdapterDelta | null;
|
|
73
|
+
/**
|
|
74
|
+
* Execute non-streaming generation.
|
|
75
|
+
*/
|
|
76
|
+
execute: (input: TProviderInput) => Promise<TProviderOutput>;
|
|
77
|
+
/**
|
|
78
|
+
* Execute streaming generation.
|
|
79
|
+
* Returns an async iterable of provider chunks.
|
|
80
|
+
*/
|
|
81
|
+
executeStream?: (input: TProviderInput) => AsyncIterable<TChunk>;
|
|
82
|
+
/**
|
|
83
|
+
* Convert non-streaming provider output to ModelOutput.
|
|
84
|
+
* Optional - if not provided, streaming will be used and accumulated.
|
|
85
|
+
*/
|
|
86
|
+
processOutput?: (output: TProviderOutput) => ModelOutput | Promise<ModelOutput>;
|
|
87
|
+
/**
|
|
88
|
+
* Custom fromEngineState (optional).
|
|
89
|
+
* Converts COMInput to ModelInput before prepareInput.
|
|
90
|
+
* Most adapters don't need this - the default handles standard transformations.
|
|
91
|
+
*/
|
|
92
|
+
fromEngineState?: (input: COMInput) => ModelInput | Promise<ModelInput>;
|
|
93
|
+
/**
|
|
94
|
+
* Custom toEngineState (optional).
|
|
95
|
+
* Converts ModelOutput to EngineResponse.
|
|
96
|
+
* Most adapters don't need this - the default handles standard transformations.
|
|
97
|
+
*/
|
|
98
|
+
toEngineState?: (output: ModelOutput) => EngineResponse | Promise<EngineResponse>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Declarative options using ChunkMapping instead of mapChunk function.
|
|
102
|
+
*/
|
|
103
|
+
export interface DeclarativeAdapterOptions<TProviderInput, TProviderOutput, TChunk> extends Omit<SimpleAdapterOptions<TProviderInput, TProviderOutput, TChunk>, "mapChunk"> {
|
|
104
|
+
/**
|
|
105
|
+
* Declarative chunk mapping.
|
|
106
|
+
* Alternative to mapChunk for simple cases.
|
|
107
|
+
*/
|
|
108
|
+
chunkMapping: ChunkMapping<TChunk>;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Create an adapter with the simplest possible API.
|
|
112
|
+
*
|
|
113
|
+
* This wraps createLanguageModel with sensible defaults:
|
|
114
|
+
* - Uses StreamAccumulator for stream handling (no manual accumulation)
|
|
115
|
+
* - Uses default fromEngineState/toEngineState (standard transformations)
|
|
116
|
+
* - Automatically generates StreamEvents from AdapterDeltas
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* import { createSimpleAdapter, StopReason } from '@tentickle/core/model';
|
|
121
|
+
* import { openai } from '@ai-sdk/openai';
|
|
122
|
+
*
|
|
123
|
+
* const model = createSimpleAdapter({
|
|
124
|
+
* metadata: {
|
|
125
|
+
* id: 'ai-sdk:gpt-4',
|
|
126
|
+
* provider: 'ai-sdk',
|
|
127
|
+
* capabilities: [{ stream: true, toolCalls: true }],
|
|
128
|
+
* },
|
|
129
|
+
*
|
|
130
|
+
* prepareInput: (input) => ({
|
|
131
|
+
* model: openai('gpt-4'),
|
|
132
|
+
* messages: toAiSdkMessages(input.messages),
|
|
133
|
+
* tools: convertToolsToToolSet(input.tools),
|
|
134
|
+
* }),
|
|
135
|
+
*
|
|
136
|
+
* mapChunk: (chunk) => {
|
|
137
|
+
* switch (chunk.type) {
|
|
138
|
+
* case 'text-delta': return { type: 'text', delta: chunk.text };
|
|
139
|
+
* case 'reasoning-delta': return { type: 'reasoning', delta: chunk.text };
|
|
140
|
+
* case 'tool-call': return { type: 'tool_call', id: chunk.toolCallId, name: chunk.toolName, input: chunk.args };
|
|
141
|
+
* case 'finish': return { type: 'message_end', stopReason: StopReason.STOP, usage: chunk.totalUsage };
|
|
142
|
+
* default: return null;
|
|
143
|
+
* }
|
|
144
|
+
* },
|
|
145
|
+
*
|
|
146
|
+
* execute: (input) => generateText(input),
|
|
147
|
+
* executeStream: (input) => streamText(input).fullStream,
|
|
148
|
+
* });
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
export declare function createSimpleAdapter<TProviderInput, TProviderOutput, TChunk>(options: SimpleAdapterOptions<TProviderInput, TProviderOutput, TChunk>): EngineModel<ModelInput, ModelOutput>;
|
|
152
|
+
/**
|
|
153
|
+
* Create an adapter using declarative chunk mapping.
|
|
154
|
+
*
|
|
155
|
+
* This is even simpler than createSimpleAdapter for cases where
|
|
156
|
+
* chunk mapping can be expressed declaratively.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* const model = createDeclarativeAdapter({
|
|
161
|
+
* metadata: { id: 'my-model', ... },
|
|
162
|
+
* prepareInput: (input) => ({ ... }),
|
|
163
|
+
* execute: (input) => provider.call(input),
|
|
164
|
+
* executeStream: (input) => provider.stream(input),
|
|
165
|
+
* chunkMapping: {
|
|
166
|
+
* text: { type: 'text-delta', extract: (c) => c.text },
|
|
167
|
+
* toolCall: { type: 'tool-call', extract: (c) => ({ id: c.id, name: c.name, input: c.args }) },
|
|
168
|
+
* messageEnd: { type: 'finish', extract: (c) => ({ stopReason: StopReason.STOP }) },
|
|
169
|
+
* },
|
|
170
|
+
* });
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export declare function createDeclarativeAdapter<TProviderInput, TProviderOutput, TChunk extends {
|
|
174
|
+
type: string;
|
|
175
|
+
}>(options: DeclarativeAdapterOptions<TProviderInput, TProviderOutput, TChunk>): EngineModel<ModelInput, ModelOutput>;
|
|
176
|
+
//# sourceMappingURL=simple-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-adapter.d.ts","sourceRoot":"","sources":["../../src/model/simple-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEnF,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAQ9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,oBAAoB,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM;IAC3E,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IAExB;;;OAGG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE9E;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IAEjD;;OAEG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7D;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC;IAEjE;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhF;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAExE;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACnF;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAE,SAAQ,IAAI,CAC9F,oBAAoB,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAC,EAC7D,UAAU,CACX;IACC;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CACpC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,EACzE,OAAO,EAAE,oBAAoB,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAC,GACrE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAwGtC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EACd,eAAe,EACf,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAE/B,OAAO,EAAE,yBAAyB,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAC,GAC1E,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAQtC"}
|