@nodetool-ai/runtime 0.7.0-rc.23 → 0.8.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/README.md +29 -0
- package/dist/.nodetool-build-stamp +1 -0
- package/dist/agent-memory.d.ts +118 -0
- package/dist/agent-memory.d.ts.map +1 -0
- package/dist/agent-memory.js +186 -0
- package/dist/agent-memory.js.map +1 -0
- package/dist/async-local-storage.d.ts +20 -0
- package/dist/async-local-storage.d.ts.map +1 -0
- package/dist/async-local-storage.js +28 -0
- package/dist/async-local-storage.js.map +1 -0
- package/dist/blender-executor.d.ts +93 -0
- package/dist/blender-executor.d.ts.map +1 -0
- package/dist/blender-executor.js +294 -0
- package/dist/blender-executor.js.map +1 -0
- package/dist/comfy-executor.d.ts +23 -1
- package/dist/comfy-executor.d.ts.map +1 -1
- package/dist/comfy-executor.js +234 -55
- package/dist/comfy-executor.js.map +1 -1
- package/dist/context-packer.d.ts +1 -1
- package/dist/context-packer.d.ts.map +1 -1
- package/dist/context-packer.js +23 -25
- package/dist/context-packer.js.map +1 -1
- package/dist/context.d.ts +954 -127
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +2424 -513
- package/dist/context.js.map +1 -1
- package/dist/cost-reconciler.d.ts +32 -0
- package/dist/cost-reconciler.d.ts.map +1 -0
- package/dist/cost-reconciler.js +21 -0
- package/dist/cost-reconciler.js.map +1 -0
- package/dist/entities.d.ts +33 -0
- package/dist/entities.d.ts.map +1 -0
- package/dist/entities.js +43 -0
- package/dist/entities.js.map +1 -0
- package/dist/external-media-fetch.d.ts +29 -0
- package/dist/external-media-fetch.d.ts.map +1 -0
- package/dist/external-media-fetch.js +38 -0
- package/dist/external-media-fetch.js.map +1 -0
- package/dist/generation-receipt.d.ts +86 -0
- package/dist/generation-receipt.d.ts.map +1 -0
- package/dist/generation-receipt.js +137 -0
- package/dist/generation-receipt.js.map +1 -0
- package/dist/generation-registry.d.ts +67 -0
- package/dist/generation-registry.d.ts.map +1 -0
- package/dist/generation-registry.js +126 -0
- package/dist/generation-registry.js.map +1 -0
- package/dist/google/client.d.ts +196 -0
- package/dist/google/client.d.ts.map +1 -0
- package/dist/google/client.js +396 -0
- package/dist/google/client.js.map +1 -0
- package/dist/google/index.d.ts +3 -0
- package/dist/google/index.d.ts.map +1 -0
- package/dist/google/index.js +3 -0
- package/dist/google/index.js.map +1 -0
- package/dist/google/token.d.ts +15 -0
- package/dist/google/token.d.ts.map +1 -0
- package/dist/google/token.js +24 -0
- package/dist/google/token.js.map +1 -0
- package/dist/host-binaries.d.ts +106 -0
- package/dist/host-binaries.d.ts.map +1 -0
- package/dist/host-binaries.js +344 -0
- package/dist/host-binaries.js.map +1 -0
- package/dist/image-codec.d.ts +74 -0
- package/dist/image-codec.d.ts.map +1 -0
- package/dist/image-codec.js +273 -0
- package/dist/image-codec.js.map +1 -0
- package/dist/index.d.ts +56 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -4
- package/dist/index.js.map +1 -1
- package/dist/invocation-account.d.ts +43 -0
- package/dist/invocation-account.d.ts.map +1 -0
- package/dist/invocation-account.js +60 -0
- package/dist/invocation-account.js.map +1 -0
- package/dist/media-ref-bytes.d.ts +19 -0
- package/dist/media-ref-bytes.d.ts.map +1 -0
- package/dist/media-ref-bytes.js +181 -0
- package/dist/media-ref-bytes.js.map +1 -0
- package/dist/node-executor.d.ts +113 -2
- package/dist/node-executor.d.ts.map +1 -1
- package/dist/permission-gate.d.ts +152 -0
- package/dist/permission-gate.d.ts.map +1 -0
- package/dist/permission-gate.js +87 -0
- package/dist/permission-gate.js.map +1 -0
- package/dist/prefixed-storage-adapter.d.ts +33 -0
- package/dist/prefixed-storage-adapter.d.ts.map +1 -0
- package/dist/prefixed-storage-adapter.js +70 -0
- package/dist/prefixed-storage-adapter.js.map +1 -0
- package/dist/prompt-asset-refs.d.ts +222 -0
- package/dist/prompt-asset-refs.d.ts.map +1 -0
- package/dist/prompt-asset-refs.js +751 -0
- package/dist/prompt-asset-refs.js.map +1 -0
- package/dist/provider-cache.d.ts +3 -0
- package/dist/provider-cache.d.ts.map +1 -0
- package/dist/provider-cache.js +8 -0
- package/dist/provider-cache.js.map +1 -0
- package/dist/providers/aki-provider.d.ts +33 -10
- package/dist/providers/aki-provider.d.ts.map +1 -1
- package/dist/providers/aki-provider.js +84 -77
- package/dist/providers/aki-provider.js.map +1 -1
- package/dist/providers/alibaba-provider.d.ts +39 -0
- package/dist/providers/alibaba-provider.d.ts.map +1 -0
- package/dist/providers/alibaba-provider.js +86 -0
- package/dist/providers/alibaba-provider.js.map +1 -0
- package/dist/providers/anthropic-provider.d.ts +52 -3
- package/dist/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/providers/anthropic-provider.js +1020 -338
- package/dist/providers/anthropic-provider.js.map +1 -1
- package/dist/providers/atlascloud-provider.d.ts +101 -0
- package/dist/providers/atlascloud-provider.d.ts.map +1 -0
- package/dist/providers/atlascloud-provider.js +1009 -0
- package/dist/providers/atlascloud-provider.js.map +1 -0
- package/dist/providers/atlascloud-transport.d.ts +100 -0
- package/dist/providers/atlascloud-transport.d.ts.map +1 -0
- package/dist/providers/atlascloud-transport.js +364 -0
- package/dist/providers/atlascloud-transport.js.map +1 -0
- package/dist/providers/atlascloud-webhook-registry.d.ts +35 -0
- package/dist/providers/atlascloud-webhook-registry.d.ts.map +1 -0
- package/dist/providers/atlascloud-webhook-registry.js +104 -0
- package/dist/providers/atlascloud-webhook-registry.js.map +1 -0
- package/dist/providers/audio-mime.d.ts +11 -0
- package/dist/providers/audio-mime.d.ts.map +1 -0
- package/dist/providers/audio-mime.js +46 -0
- package/dist/providers/audio-mime.js.map +1 -0
- package/dist/providers/base-provider.d.ts +481 -24
- package/dist/providers/base-provider.d.ts.map +1 -1
- package/dist/providers/base-provider.js +1259 -42
- package/dist/providers/base-provider.js.map +1 -1
- package/dist/providers/cassette-provider.d.ts +217 -0
- package/dist/providers/cassette-provider.d.ts.map +1 -0
- package/dist/providers/cassette-provider.js +502 -0
- package/dist/providers/cassette-provider.js.map +1 -0
- package/dist/providers/cerebras-provider.d.ts +6 -12
- package/dist/providers/cerebras-provider.d.ts.map +1 -1
- package/dist/providers/cerebras-provider.js +8 -33
- package/dist/providers/cerebras-provider.js.map +1 -1
- package/dist/providers/claude-agent-provider.d.ts +131 -68
- package/dist/providers/claude-agent-provider.d.ts.map +1 -1
- package/dist/providers/claude-agent-provider.js +1095 -515
- package/dist/providers/claude-agent-provider.js.map +1 -1
- package/dist/providers/codex-provider.d.ts +82 -0
- package/dist/providers/codex-provider.d.ts.map +1 -0
- package/dist/providers/codex-provider.js +492 -0
- package/dist/providers/codex-provider.js.map +1 -0
- package/dist/providers/cohere-provider.d.ts +5 -2
- package/dist/providers/cohere-provider.d.ts.map +1 -1
- package/dist/providers/cohere-provider.js +9 -2
- package/dist/providers/cohere-provider.js.map +1 -1
- package/dist/providers/comfy-cloud-provider.d.ts +30 -0
- package/dist/providers/comfy-cloud-provider.d.ts.map +1 -0
- package/dist/providers/comfy-cloud-provider.js +42 -0
- package/dist/providers/comfy-cloud-provider.js.map +1 -0
- package/dist/providers/content-filter.d.ts +46 -0
- package/dist/providers/content-filter.d.ts.map +1 -0
- package/dist/providers/content-filter.js +92 -0
- package/dist/providers/content-filter.js.map +1 -0
- package/dist/providers/context-exceeded.d.ts +37 -0
- package/dist/providers/context-exceeded.d.ts.map +1 -0
- package/dist/providers/context-exceeded.js +114 -0
- package/dist/providers/context-exceeded.js.map +1 -0
- package/dist/providers/context-window.d.ts +44 -0
- package/dist/providers/context-window.d.ts.map +1 -0
- package/dist/providers/context-window.js +145 -0
- package/dist/providers/context-window.js.map +1 -0
- package/dist/providers/contract/index.d.ts +4 -0
- package/dist/providers/contract/index.d.ts.map +1 -0
- package/dist/providers/contract/index.js +4 -0
- package/dist/providers/contract/index.js.map +1 -0
- package/dist/providers/contract/probe-manifest.d.ts +75 -0
- package/dist/providers/contract/probe-manifest.d.ts.map +1 -0
- package/dist/providers/contract/probe-manifest.js +379 -0
- package/dist/providers/contract/probe-manifest.js.map +1 -0
- package/dist/providers/contract/probe-runner.d.ts +57 -0
- package/dist/providers/contract/probe-runner.d.ts.map +1 -0
- package/dist/providers/contract/probe-runner.js +180 -0
- package/dist/providers/contract/probe-runner.js.map +1 -0
- package/dist/providers/contract/redact.d.ts +29 -0
- package/dist/providers/contract/redact.d.ts.map +1 -0
- package/dist/providers/contract/redact.js +113 -0
- package/dist/providers/contract/redact.js.map +1 -0
- package/dist/providers/core-tools.d.ts +74 -0
- package/dist/providers/core-tools.d.ts.map +1 -0
- package/dist/providers/core-tools.js +127 -0
- package/dist/providers/core-tools.js.map +1 -0
- package/dist/providers/cost-calculator.d.ts +69 -50
- package/dist/providers/cost-calculator.d.ts.map +1 -1
- package/dist/providers/cost-calculator.js +207 -397
- package/dist/providers/cost-calculator.js.map +1 -1
- package/dist/providers/credential-check.d.ts +45 -0
- package/dist/providers/credential-check.d.ts.map +1 -0
- package/dist/providers/credential-check.js +159 -0
- package/dist/providers/credential-check.js.map +1 -0
- package/dist/providers/custom-model-kinds.d.ts +33 -0
- package/dist/providers/custom-model-kinds.d.ts.map +1 -0
- package/dist/providers/custom-model-kinds.js +96 -0
- package/dist/providers/custom-model-kinds.js.map +1 -0
- package/dist/providers/custom-openai-provider.d.ts +81 -0
- package/dist/providers/custom-openai-provider.d.ts.map +1 -0
- package/dist/providers/custom-openai-provider.js +182 -0
- package/dist/providers/custom-openai-provider.js.map +1 -0
- package/dist/providers/custom-provider-registry.d.ts +19 -0
- package/dist/providers/custom-provider-registry.d.ts.map +1 -0
- package/dist/providers/custom-provider-registry.js +52 -0
- package/dist/providers/custom-provider-registry.js.map +1 -0
- package/dist/providers/deepseek-provider.d.ts +8 -14
- package/dist/providers/deepseek-provider.d.ts.map +1 -1
- package/dist/providers/deepseek-provider.js +6 -35
- package/dist/providers/deepseek-provider.js.map +1 -1
- package/dist/providers/defaults.d.ts +12 -0
- package/dist/providers/defaults.d.ts.map +1 -0
- package/dist/providers/defaults.js +12 -0
- package/dist/providers/defaults.js.map +1 -0
- package/dist/providers/elevenlabs-provider.d.ts +49 -0
- package/dist/providers/elevenlabs-provider.d.ts.map +1 -0
- package/dist/providers/elevenlabs-provider.js +142 -0
- package/dist/providers/elevenlabs-provider.js.map +1 -0
- package/dist/providers/entity-references.d.ts +31 -0
- package/dist/providers/entity-references.d.ts.map +1 -0
- package/dist/providers/entity-references.js +113 -0
- package/dist/providers/entity-references.js.map +1 -0
- package/dist/providers/evolink-provider.d.ts +38 -0
- package/dist/providers/evolink-provider.d.ts.map +1 -0
- package/dist/providers/evolink-provider.js +304 -0
- package/dist/providers/evolink-provider.js.map +1 -0
- package/dist/providers/fake-provider.d.ts +72 -1
- package/dist/providers/fake-provider.d.ts.map +1 -1
- package/dist/providers/fake-provider.js +203 -1
- package/dist/providers/fake-provider.js.map +1 -1
- package/dist/providers/fal-generations.d.ts +106 -0
- package/dist/providers/fal-generations.d.ts.map +1 -0
- package/dist/providers/fal-generations.js +286 -0
- package/dist/providers/fal-generations.js.map +1 -0
- package/dist/providers/fal-provider.d.ts +171 -7
- package/dist/providers/fal-provider.d.ts.map +1 -1
- package/dist/providers/fal-provider.js +1369 -64
- package/dist/providers/fal-provider.js.map +1 -1
- package/dist/providers/fal-queue.d.ts +47 -0
- package/dist/providers/fal-queue.d.ts.map +1 -0
- package/dist/providers/fal-queue.js +231 -0
- package/dist/providers/fal-queue.js.map +1 -0
- package/dist/providers/gemini-provider.d.ts +148 -8
- package/dist/providers/gemini-provider.d.ts.map +1 -1
- package/dist/providers/gemini-provider.js +1500 -316
- package/dist/providers/gemini-provider.js.map +1 -1
- package/dist/providers/gmi-provider.d.ts +21 -0
- package/dist/providers/gmi-provider.d.ts.map +1 -0
- package/dist/providers/gmi-provider.js +34 -0
- package/dist/providers/gmi-provider.js.map +1 -0
- package/dist/providers/gpt-image-size.d.ts +3 -0
- package/dist/providers/gpt-image-size.d.ts.map +1 -0
- package/dist/providers/gpt-image-size.js +37 -0
- package/dist/providers/gpt-image-size.js.map +1 -0
- package/dist/providers/groq-provider.d.ts +9 -12
- package/dist/providers/groq-provider.d.ts.map +1 -1
- package/dist/providers/groq-provider.js +19 -33
- package/dist/providers/groq-provider.js.map +1 -1
- package/dist/providers/groq-request.d.ts +38 -0
- package/dist/providers/groq-request.d.ts.map +1 -0
- package/dist/providers/groq-request.js +138 -0
- package/dist/providers/groq-request.js.map +1 -0
- package/dist/providers/higgsfield-provider.d.ts +30 -0
- package/dist/providers/higgsfield-provider.d.ts.map +1 -0
- package/dist/providers/higgsfield-provider.js +131 -0
- package/dist/providers/higgsfield-provider.js.map +1 -0
- package/dist/providers/higgsfield-transport.d.ts +106 -0
- package/dist/providers/higgsfield-transport.d.ts.map +1 -0
- package/dist/providers/higgsfield-transport.js +182 -0
- package/dist/providers/higgsfield-transport.js.map +1 -0
- package/dist/providers/http-transport.d.ts +74 -0
- package/dist/providers/http-transport.d.ts.map +1 -0
- package/dist/providers/http-transport.js +152 -0
- package/dist/providers/http-transport.js.map +1 -0
- package/dist/providers/huggingface-provider.d.ts +71 -3
- package/dist/providers/huggingface-provider.d.ts.map +1 -1
- package/dist/providers/huggingface-provider.js +230 -34
- package/dist/providers/huggingface-provider.js.map +1 -1
- package/dist/providers/image-mime.d.ts +39 -0
- package/dist/providers/image-mime.d.ts.map +1 -0
- package/dist/providers/image-mime.js +111 -0
- package/dist/providers/image-mime.js.map +1 -0
- package/dist/providers/image-ref.d.ts +21 -0
- package/dist/providers/image-ref.d.ts.map +1 -0
- package/dist/providers/image-ref.js +44 -0
- package/dist/providers/image-ref.js.map +1 -0
- package/dist/providers/index.d.ts +84 -8
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +239 -56
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/jina-provider.d.ts +10 -2
- package/dist/providers/jina-provider.d.ts.map +1 -1
- package/dist/providers/jina-provider.js +16 -7
- package/dist/providers/jina-provider.js.map +1 -1
- package/dist/providers/kie-provider.d.ts +170 -9
- package/dist/providers/kie-provider.d.ts.map +1 -1
- package/dist/providers/kie-provider.js +1176 -228
- package/dist/providers/kie-provider.js.map +1 -1
- package/dist/providers/kie-webhook-registry.d.ts +28 -0
- package/dist/providers/kie-webhook-registry.d.ts.map +1 -0
- package/dist/providers/kie-webhook-registry.js +91 -0
- package/dist/providers/kie-webhook-registry.js.map +1 -0
- package/dist/providers/llama-provider.d.ts +21 -37
- package/dist/providers/llama-provider.d.ts.map +1 -1
- package/dist/providers/llama-provider.js +43 -354
- package/dist/providers/llama-provider.js.map +1 -1
- package/dist/providers/lmstudio-provider.d.ts +4 -7
- package/dist/providers/lmstudio-provider.d.ts.map +1 -1
- package/dist/providers/lmstudio-provider.js +24 -15
- package/dist/providers/lmstudio-provider.js.map +1 -1
- package/dist/providers/manifest-models.d.ts +341 -1
- package/dist/providers/manifest-models.d.ts.map +1 -1
- package/dist/providers/manifest-models.js +1106 -22
- package/dist/providers/manifest-models.js.map +1 -1
- package/dist/providers/media-mime.d.ts +14 -0
- package/dist/providers/media-mime.d.ts.map +1 -0
- package/dist/providers/media-mime.js +35 -0
- package/dist/providers/media-mime.js.map +1 -0
- package/dist/providers/meshy-provider.d.ts +14 -1
- package/dist/providers/meshy-provider.d.ts.map +1 -1
- package/dist/providers/meshy-provider.js +76 -46
- package/dist/providers/meshy-provider.js.map +1 -1
- package/dist/providers/meta-provider.d.ts +22 -0
- package/dist/providers/meta-provider.d.ts.map +1 -0
- package/dist/providers/meta-provider.js +54 -0
- package/dist/providers/meta-provider.js.map +1 -0
- package/dist/providers/minimax-provider.d.ts +25 -18
- package/dist/providers/minimax-provider.d.ts.map +1 -1
- package/dist/providers/minimax-provider.js +211 -72
- package/dist/providers/minimax-provider.js.map +1 -1
- package/dist/providers/mistral-provider.d.ts +6 -12
- package/dist/providers/mistral-provider.d.ts.map +1 -1
- package/dist/providers/mistral-provider.js +10 -34
- package/dist/providers/mistral-provider.js.map +1 -1
- package/dist/providers/moonshot-provider.d.ts +11 -15
- package/dist/providers/moonshot-provider.d.ts.map +1 -1
- package/dist/providers/moonshot-provider.js +33 -23
- package/dist/providers/moonshot-provider.js.map +1 -1
- package/dist/providers/node-llama-cpp-provider.d.ts +98 -0
- package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -0
- package/dist/providers/node-llama-cpp-provider.js +479 -0
- package/dist/providers/node-llama-cpp-provider.js.map +1 -0
- package/dist/providers/nodetool-provider.d.ts +49 -0
- package/dist/providers/nodetool-provider.d.ts.map +1 -0
- package/dist/providers/nodetool-provider.js +224 -0
- package/dist/providers/nodetool-provider.js.map +1 -0
- package/dist/providers/oauth/browser-launcher.d.ts +23 -0
- package/dist/providers/oauth/browser-launcher.d.ts.map +1 -0
- package/dist/providers/oauth/browser-launcher.js +45 -0
- package/dist/providers/oauth/browser-launcher.js.map +1 -0
- package/dist/providers/oauth/claude-code-credentials.d.ts +74 -0
- package/dist/providers/oauth/claude-code-credentials.d.ts.map +1 -0
- package/dist/providers/oauth/claude-code-credentials.js +133 -0
- package/dist/providers/oauth/claude-code-credentials.js.map +1 -0
- package/dist/providers/oauth/claude-code-login.d.ts +124 -0
- package/dist/providers/oauth/claude-code-login.d.ts.map +1 -0
- package/dist/providers/oauth/claude-code-login.js +230 -0
- package/dist/providers/oauth/claude-code-login.js.map +1 -0
- package/dist/providers/oauth/claude-code-oauth-client.d.ts +111 -0
- package/dist/providers/oauth/claude-code-oauth-client.d.ts.map +1 -0
- package/dist/providers/oauth/claude-code-oauth-client.js +207 -0
- package/dist/providers/oauth/claude-code-oauth-client.js.map +1 -0
- package/dist/providers/oauth/errors.d.ts +54 -0
- package/dist/providers/oauth/errors.d.ts.map +1 -0
- package/dist/providers/oauth/errors.js +79 -0
- package/dist/providers/oauth/errors.js.map +1 -0
- package/dist/providers/oauth/index.d.ts +105 -0
- package/dist/providers/oauth/index.d.ts.map +1 -0
- package/dist/providers/oauth/index.js +167 -0
- package/dist/providers/oauth/index.js.map +1 -0
- package/dist/providers/oauth/jwt-claims.d.ts +23 -0
- package/dist/providers/oauth/jwt-claims.d.ts.map +1 -0
- package/dist/providers/oauth/jwt-claims.js +67 -0
- package/dist/providers/oauth/jwt-claims.js.map +1 -0
- package/dist/providers/oauth/local-callback-server.d.ts +60 -0
- package/dist/providers/oauth/local-callback-server.d.ts.map +1 -0
- package/dist/providers/oauth/local-callback-server.js +148 -0
- package/dist/providers/oauth/local-callback-server.js.map +1 -0
- package/dist/providers/oauth/oauth-client.d.ts +55 -0
- package/dist/providers/oauth/oauth-client.d.ts.map +1 -0
- package/dist/providers/oauth/oauth-client.js +161 -0
- package/dist/providers/oauth/oauth-client.js.map +1 -0
- package/dist/providers/oauth/openai-oauth-provider.d.ts +129 -0
- package/dist/providers/oauth/openai-oauth-provider.d.ts.map +1 -0
- package/dist/providers/oauth/openai-oauth-provider.js +265 -0
- package/dist/providers/oauth/openai-oauth-provider.js.map +1 -0
- package/dist/providers/oauth/pkce-helper.d.ts +43 -0
- package/dist/providers/oauth/pkce-helper.d.ts.map +1 -0
- package/dist/providers/oauth/pkce-helper.js +57 -0
- package/dist/providers/oauth/pkce-helper.js.map +1 -0
- package/dist/providers/oauth/redaction.d.ts +22 -0
- package/dist/providers/oauth/redaction.d.ts.map +1 -0
- package/dist/providers/oauth/redaction.js +59 -0
- package/dist/providers/oauth/redaction.js.map +1 -0
- package/dist/providers/oauth/secure-credential-store.d.ts +67 -0
- package/dist/providers/oauth/secure-credential-store.d.ts.map +1 -0
- package/dist/providers/oauth/secure-credential-store.js +73 -0
- package/dist/providers/oauth/secure-credential-store.js.map +1 -0
- package/dist/providers/oauth/token-store.d.ts +53 -0
- package/dist/providers/oauth/token-store.d.ts.map +1 -0
- package/dist/providers/oauth/token-store.js +78 -0
- package/dist/providers/oauth/token-store.js.map +1 -0
- package/dist/providers/oauth/types.d.ts +64 -0
- package/dist/providers/oauth/types.d.ts.map +1 -0
- package/dist/providers/oauth/types.js +12 -0
- package/dist/providers/oauth/types.js.map +1 -0
- package/dist/providers/object-tracking.d.ts +47 -0
- package/dist/providers/object-tracking.d.ts.map +1 -0
- package/dist/providers/object-tracking.js +46 -0
- package/dist/providers/object-tracking.js.map +1 -0
- package/dist/providers/offline-model-index.d.ts +20 -0
- package/dist/providers/offline-model-index.d.ts.map +1 -0
- package/dist/providers/offline-model-index.js +112 -0
- package/dist/providers/offline-model-index.js.map +1 -0
- package/dist/providers/ollama-provider.d.ts +28 -1
- package/dist/providers/ollama-provider.d.ts.map +1 -1
- package/dist/providers/ollama-provider.js +193 -43
- package/dist/providers/ollama-provider.js.map +1 -1
- package/dist/providers/openai-compat/client.d.ts +57 -0
- package/dist/providers/openai-compat/client.d.ts.map +1 -0
- package/dist/providers/openai-compat/client.js +157 -0
- package/dist/providers/openai-compat/client.js.map +1 -0
- package/dist/providers/openai-compat/decode.d.ts +36 -0
- package/dist/providers/openai-compat/decode.d.ts.map +1 -0
- package/dist/providers/openai-compat/decode.js +55 -0
- package/dist/providers/openai-compat/decode.js.map +1 -0
- package/dist/providers/openai-compat/errors.d.ts +54 -0
- package/dist/providers/openai-compat/errors.d.ts.map +1 -0
- package/dist/providers/openai-compat/errors.js +144 -0
- package/dist/providers/openai-compat/errors.js.map +1 -0
- package/dist/providers/openai-compat/index.d.ts +8 -0
- package/dist/providers/openai-compat/index.d.ts.map +1 -0
- package/dist/providers/openai-compat/index.js +5 -0
- package/dist/providers/openai-compat/index.js.map +1 -0
- package/dist/providers/openai-compat/sse.d.ts +14 -0
- package/dist/providers/openai-compat/sse.d.ts.map +1 -0
- package/dist/providers/openai-compat/sse.js +69 -0
- package/dist/providers/openai-compat/sse.js.map +1 -0
- package/dist/providers/openai-compat/types.d.ts +75 -0
- package/dist/providers/openai-compat/types.d.ts.map +1 -0
- package/dist/providers/openai-compat/types.js +9 -0
- package/dist/providers/openai-compat/types.js.map +1 -0
- package/dist/providers/openai-compat-provider.d.ts +90 -0
- package/dist/providers/openai-compat-provider.d.ts.map +1 -0
- package/dist/providers/openai-compat-provider.js +282 -0
- package/dist/providers/openai-compat-provider.js.map +1 -0
- package/dist/providers/openai-provider.d.ts +89 -26
- package/dist/providers/openai-provider.d.ts.map +1 -1
- package/dist/providers/openai-provider.js +990 -105
- package/dist/providers/openai-provider.js.map +1 -1
- package/dist/providers/openrouter-provider.d.ts +6 -12
- package/dist/providers/openrouter-provider.d.ts.map +1 -1
- package/dist/providers/openrouter-provider.js +24 -53
- package/dist/providers/openrouter-provider.js.map +1 -1
- package/dist/providers/provider-call-failure.d.ts +39 -0
- package/dist/providers/provider-call-failure.d.ts.map +1 -0
- package/dist/providers/provider-call-failure.js +132 -0
- package/dist/providers/provider-call-failure.js.map +1 -0
- package/dist/providers/provider-error.d.ts +59 -0
- package/dist/providers/provider-error.d.ts.map +1 -0
- package/dist/providers/provider-error.js +165 -0
- package/dist/providers/provider-error.js.map +1 -0
- package/dist/providers/provider-generations.d.ts +99 -0
- package/dist/providers/provider-generations.d.ts.map +1 -0
- package/dist/providers/provider-generations.js +71 -0
- package/dist/providers/provider-generations.js.map +1 -0
- package/dist/providers/provider-queue.d.ts +62 -0
- package/dist/providers/provider-queue.d.ts.map +1 -0
- package/dist/providers/provider-queue.js +28 -0
- package/dist/providers/provider-queue.js.map +1 -0
- package/dist/providers/provider-registry.d.ts +33 -14
- package/dist/providers/provider-registry.d.ts.map +1 -1
- package/dist/providers/provider-registry.js +85 -68
- package/dist/providers/provider-registry.js.map +1 -1
- package/dist/providers/provider-request-log.d.ts +53 -0
- package/dist/providers/provider-request-log.d.ts.map +1 -0
- package/dist/providers/provider-request-log.js +157 -0
- package/dist/providers/provider-request-log.js.map +1 -0
- package/dist/providers/provider-session.d.ts +3 -0
- package/dist/providers/provider-session.d.ts.map +1 -0
- package/dist/providers/provider-session.js +10 -0
- package/dist/providers/provider-session.js.map +1 -0
- package/dist/providers/provider-transport.d.ts +11 -0
- package/dist/providers/provider-transport.d.ts.map +1 -0
- package/dist/providers/provider-transport.js +11 -0
- package/dist/providers/provider-transport.js.map +1 -0
- package/dist/providers/python-provider.d.ts +20 -12
- package/dist/providers/python-provider.d.ts.map +1 -1
- package/dist/providers/python-provider.js +185 -25
- package/dist/providers/python-provider.js.map +1 -1
- package/dist/providers/replicate-provider.d.ts +89 -7
- package/dist/providers/replicate-provider.d.ts.map +1 -1
- package/dist/providers/replicate-provider.js +801 -65
- package/dist/providers/replicate-provider.js.map +1 -1
- package/dist/providers/replicate-retry.d.ts +30 -0
- package/dist/providers/replicate-retry.d.ts.map +1 -0
- package/dist/providers/replicate-retry.js +97 -0
- package/dist/providers/replicate-retry.js.map +1 -0
- package/dist/providers/responses-api.d.ts +27 -0
- package/dist/providers/responses-api.d.ts.map +1 -0
- package/dist/providers/responses-api.js +297 -0
- package/dist/providers/responses-api.js.map +1 -0
- package/dist/providers/reve-provider.d.ts +45 -0
- package/dist/providers/reve-provider.d.ts.map +1 -0
- package/dist/providers/reve-provider.js +159 -0
- package/dist/providers/reve-provider.js.map +1 -0
- package/dist/providers/rodin-provider.d.ts +23 -1
- package/dist/providers/rodin-provider.d.ts.map +1 -1
- package/dist/providers/rodin-provider.js +89 -51
- package/dist/providers/rodin-provider.js.map +1 -1
- package/dist/providers/safe-url.d.ts +70 -0
- package/dist/providers/safe-url.d.ts.map +1 -0
- package/dist/providers/safe-url.js +277 -0
- package/dist/providers/safe-url.js.map +1 -0
- package/dist/providers/scripted-provider.d.ts +9 -0
- package/dist/providers/scripted-provider.d.ts.map +1 -1
- package/dist/providers/scripted-provider.js +86 -10
- package/dist/providers/scripted-provider.js.map +1 -1
- package/dist/providers/structured-output.d.ts +42 -0
- package/dist/providers/structured-output.d.ts.map +1 -0
- package/dist/providers/structured-output.js +83 -0
- package/dist/providers/structured-output.js.map +1 -0
- package/dist/providers/together-provider.d.ts +19 -16
- package/dist/providers/together-provider.d.ts.map +1 -1
- package/dist/providers/together-provider.js +103 -225
- package/dist/providers/together-provider.js.map +1 -1
- package/dist/providers/topaz-provider.d.ts +44 -0
- package/dist/providers/topaz-provider.d.ts.map +1 -0
- package/dist/providers/topaz-provider.js +239 -0
- package/dist/providers/topaz-provider.js.map +1 -0
- package/dist/providers/types.d.ts +603 -4
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +81 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/providers/useapi-provider.d.ts +27 -0
- package/dist/providers/useapi-provider.d.ts.map +1 -0
- package/dist/providers/useapi-provider.js +266 -0
- package/dist/providers/useapi-provider.js.map +1 -0
- package/dist/providers/video-duration.d.ts +6 -0
- package/dist/providers/video-duration.d.ts.map +1 -0
- package/dist/providers/video-duration.js +63 -0
- package/dist/providers/video-duration.js.map +1 -0
- package/dist/providers/video-frame-fallback.d.ts +39 -0
- package/dist/providers/video-frame-fallback.d.ts.map +1 -0
- package/dist/providers/video-frame-fallback.js +155 -0
- package/dist/providers/video-frame-fallback.js.map +1 -0
- package/dist/providers/video-frames.d.ts +61 -0
- package/dist/providers/video-frames.d.ts.map +1 -0
- package/dist/providers/video-frames.js +208 -0
- package/dist/providers/video-frames.js.map +1 -0
- package/dist/providers/video-mime.d.ts +14 -0
- package/dist/providers/video-mime.d.ts.map +1 -0
- package/dist/providers/video-mime.js +44 -0
- package/dist/providers/video-mime.js.map +1 -0
- package/dist/providers/video-to-audio.d.ts +34 -0
- package/dist/providers/video-to-audio.d.ts.map +1 -0
- package/dist/providers/video-to-audio.js +62 -0
- package/dist/providers/video-to-audio.js.map +1 -0
- package/dist/providers/vllm-provider.d.ts +22 -8
- package/dist/providers/vllm-provider.d.ts.map +1 -1
- package/dist/providers/vllm-provider.js +48 -23
- package/dist/providers/vllm-provider.js.map +1 -1
- package/dist/providers/voyage-provider.d.ts +10 -2
- package/dist/providers/voyage-provider.d.ts.map +1 -1
- package/dist/providers/voyage-provider.js +16 -7
- package/dist/providers/voyage-provider.js.map +1 -1
- package/dist/providers/xai-provider.d.ts +54 -13
- package/dist/providers/xai-provider.d.ts.map +1 -1
- package/dist/providers/xai-provider.js +299 -22
- package/dist/providers/xai-provider.js.map +1 -1
- package/dist/python-bridge-base.d.ts +358 -0
- package/dist/python-bridge-base.d.ts.map +1 -0
- package/dist/python-bridge-base.js +1557 -0
- package/dist/python-bridge-base.js.map +1 -0
- package/dist/python-bridge-codec.d.ts +28 -0
- package/dist/python-bridge-codec.d.ts.map +1 -0
- package/dist/python-bridge-codec.js +39 -0
- package/dist/python-bridge-codec.js.map +1 -0
- package/dist/python-bridge-factory.d.ts +52 -0
- package/dist/python-bridge-factory.d.ts.map +1 -0
- package/dist/python-bridge-factory.js +69 -0
- package/dist/python-bridge-factory.js.map +1 -0
- package/dist/python-bridge-framing.d.ts +68 -0
- package/dist/python-bridge-framing.d.ts.map +1 -0
- package/dist/python-bridge-framing.js +91 -0
- package/dist/python-bridge-framing.js.map +1 -0
- package/dist/python-bridge-types.d.ts +545 -2
- package/dist/python-bridge-types.d.ts.map +1 -1
- package/dist/python-bridge-types.js +49 -1
- package/dist/python-bridge-types.js.map +1 -1
- package/dist/python-graph-resolver.d.ts +57 -0
- package/dist/python-graph-resolver.d.ts.map +1 -0
- package/dist/python-graph-resolver.js +79 -0
- package/dist/python-graph-resolver.js.map +1 -0
- package/dist/python-node-executor.d.ts +36 -4
- package/dist/python-node-executor.d.ts.map +1 -1
- package/dist/python-node-executor.js +177 -86
- package/dist/python-node-executor.js.map +1 -1
- package/dist/python-stdio-bridge.d.ts +18 -37
- package/dist/python-stdio-bridge.d.ts.map +1 -1
- package/dist/python-stdio-bridge.js +148 -475
- package/dist/python-stdio-bridge.js.map +1 -1
- package/dist/python-websocket-bridge.d.ts +140 -0
- package/dist/python-websocket-bridge.d.ts.map +1 -0
- package/dist/python-websocket-bridge.js +561 -0
- package/dist/python-websocket-bridge.js.map +1 -0
- package/dist/python-worker-stderr.d.ts +4 -0
- package/dist/python-worker-stderr.d.ts.map +1 -0
- package/dist/python-worker-stderr.js +24 -0
- package/dist/python-worker-stderr.js.map +1 -0
- package/dist/recommended-models.d.ts +2 -2
- package/dist/recommended-models.d.ts.map +1 -1
- package/dist/recommended-models.js +24 -4
- package/dist/recommended-models.js.map +1 -1
- package/dist/recoverable-node-error.d.ts +31 -0
- package/dist/recoverable-node-error.d.ts.map +1 -0
- package/dist/recoverable-node-error.js +37 -0
- package/dist/recoverable-node-error.js.map +1 -0
- package/dist/redact-params.d.ts +13 -0
- package/dist/redact-params.d.ts.map +1 -0
- package/dist/redact-params.js +57 -0
- package/dist/redact-params.js.map +1 -0
- package/dist/sandbox-module-catalog.d.ts +43 -0
- package/dist/sandbox-module-catalog.d.ts.map +1 -0
- package/dist/sandbox-module-catalog.js +25 -0
- package/dist/sandbox-module-catalog.js.map +1 -0
- package/dist/storage-workspace.d.ts +59 -0
- package/dist/storage-workspace.d.ts.map +1 -0
- package/dist/storage-workspace.js +426 -0
- package/dist/storage-workspace.js.map +1 -0
- package/dist/swappable-python-bridge.d.ts +83 -0
- package/dist/swappable-python-bridge.d.ts.map +1 -0
- package/dist/swappable-python-bridge.js +246 -0
- package/dist/swappable-python-bridge.js.map +1 -0
- package/dist/telemetry.d.ts +7 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +23 -0
- package/dist/telemetry.js.map +1 -1
- package/dist/testing.d.ts +81 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +130 -0
- package/dist/testing.js.map +1 -0
- package/dist/token-counter.d.ts +30 -0
- package/dist/token-counter.d.ts.map +1 -0
- package/dist/token-counter.js +156 -0
- package/dist/token-counter.js.map +1 -0
- package/dist/trace-exporters.d.ts +10 -0
- package/dist/trace-exporters.d.ts.map +1 -1
- package/dist/trace-exporters.js +59 -20
- package/dist/trace-exporters.js.map +1 -1
- package/dist/tracing-helpers.d.ts +45 -4
- package/dist/tracing-helpers.d.ts.map +1 -1
- package/dist/tracing-helpers.js +62 -19
- package/dist/tracing-helpers.js.map +1 -1
- package/dist/turn-budget.d.ts +278 -0
- package/dist/turn-budget.d.ts.map +1 -0
- package/dist/turn-budget.js +365 -0
- package/dist/turn-budget.js.map +1 -0
- package/dist/variable-channel.d.ts +48 -0
- package/dist/variable-channel.d.ts.map +1 -0
- package/dist/variable-channel.js +110 -0
- package/dist/variable-channel.js.map +1 -0
- package/dist/workspace.d.ts +119 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +112 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +107 -19
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VariableChannel — a typed async broadcast channel backing Set/Get Variable.
|
|
3
|
+
*
|
|
4
|
+
* A Set Variable node `send`s values onto a named channel; readers consume
|
|
5
|
+
* them without an explicit graph edge:
|
|
6
|
+
* - `first()` resolves with the first value sent (cached), so a Prompt can
|
|
7
|
+
* wait for a variable to exist before rendering. Resolves `undefined` if
|
|
8
|
+
* the channel closes without ever receiving a value.
|
|
9
|
+
* - `stream()` is a replaying async iterator: every subscriber sees the full
|
|
10
|
+
* value history then live values until the channel closes, so a Get
|
|
11
|
+
* Variable's streaming output is independent of scheduling order.
|
|
12
|
+
*
|
|
13
|
+
* The channel is generic in its value type so callers stay type-safe; the
|
|
14
|
+
* node-graph layer derives the concrete type from whatever feeds Set Variable.
|
|
15
|
+
*
|
|
16
|
+
* Lifecycle: the workflow runner closes a channel once its last Set Variable
|
|
17
|
+
* writer finishes, which unblocks waiting readers (with the buffered values,
|
|
18
|
+
* or `undefined`/end-of-stream when nothing was sent).
|
|
19
|
+
*/
|
|
20
|
+
export declare class VariableChannel<T = unknown> {
|
|
21
|
+
private readonly _buffer;
|
|
22
|
+
private _closed;
|
|
23
|
+
private _hasValue;
|
|
24
|
+
/** Resolvers waiting on {@link first}. */
|
|
25
|
+
private _firstWaiters;
|
|
26
|
+
/** Resolvers waiting for the next {@link stream} tick (new value or close). */
|
|
27
|
+
private _streamWaiters;
|
|
28
|
+
/** Whether the channel has been closed (no further values will arrive). */
|
|
29
|
+
get closed(): boolean;
|
|
30
|
+
/** Whether at least one value has been sent. */
|
|
31
|
+
get hasValue(): boolean;
|
|
32
|
+
/** Append a value and wake any waiting readers. No-op once closed. */
|
|
33
|
+
send(value: T): void;
|
|
34
|
+
/** Mark the channel closed and release every waiting reader. Idempotent. */
|
|
35
|
+
close(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve with the first value ever sent. Waits if none has arrived yet;
|
|
38
|
+
* resolves `undefined` if the channel closes without a value.
|
|
39
|
+
*/
|
|
40
|
+
first(): Promise<T | undefined>;
|
|
41
|
+
/**
|
|
42
|
+
* Replaying async iterator: yields the full value history (from index 0)
|
|
43
|
+
* then live values, ending when the channel is closed and drained.
|
|
44
|
+
*/
|
|
45
|
+
stream(): AsyncGenerator<T>;
|
|
46
|
+
private _wakeStreams;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=variable-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-channel.d.ts","sourceRoot":"","sources":["../src/variable-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,eAAe,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAA6C;IAClE,+EAA+E;IAC/E,OAAO,CAAC,cAAc,CAAyB;IAE/C,2EAA2E;IAC3E,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,gDAAgD;IAChD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,sEAAsE;IACtE,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAgBnB;IAED,4EAA4E;IAC5E,KAAK,IAAI,IAAI,CAaZ;IAED;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAU9B;IAED;;;OAGG;IACI,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,CAcjC;IAED,OAAO,CAAC,YAAY;CAOrB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VariableChannel — a typed async broadcast channel backing Set/Get Variable.
|
|
3
|
+
*
|
|
4
|
+
* A Set Variable node `send`s values onto a named channel; readers consume
|
|
5
|
+
* them without an explicit graph edge:
|
|
6
|
+
* - `first()` resolves with the first value sent (cached), so a Prompt can
|
|
7
|
+
* wait for a variable to exist before rendering. Resolves `undefined` if
|
|
8
|
+
* the channel closes without ever receiving a value.
|
|
9
|
+
* - `stream()` is a replaying async iterator: every subscriber sees the full
|
|
10
|
+
* value history then live values until the channel closes, so a Get
|
|
11
|
+
* Variable's streaming output is independent of scheduling order.
|
|
12
|
+
*
|
|
13
|
+
* The channel is generic in its value type so callers stay type-safe; the
|
|
14
|
+
* node-graph layer derives the concrete type from whatever feeds Set Variable.
|
|
15
|
+
*
|
|
16
|
+
* Lifecycle: the workflow runner closes a channel once its last Set Variable
|
|
17
|
+
* writer finishes, which unblocks waiting readers (with the buffered values,
|
|
18
|
+
* or `undefined`/end-of-stream when nothing was sent).
|
|
19
|
+
*/
|
|
20
|
+
export class VariableChannel {
|
|
21
|
+
_buffer = [];
|
|
22
|
+
_closed = false;
|
|
23
|
+
_hasValue = false;
|
|
24
|
+
/** Resolvers waiting on {@link first}. */
|
|
25
|
+
_firstWaiters = [];
|
|
26
|
+
/** Resolvers waiting for the next {@link stream} tick (new value or close). */
|
|
27
|
+
_streamWaiters = [];
|
|
28
|
+
/** Whether the channel has been closed (no further values will arrive). */
|
|
29
|
+
get closed() {
|
|
30
|
+
return this._closed;
|
|
31
|
+
}
|
|
32
|
+
/** Whether at least one value has been sent. */
|
|
33
|
+
get hasValue() {
|
|
34
|
+
return this._hasValue;
|
|
35
|
+
}
|
|
36
|
+
/** Append a value and wake any waiting readers. No-op once closed. */
|
|
37
|
+
send(value) {
|
|
38
|
+
if (this._closed) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this._buffer.push(value);
|
|
42
|
+
const firstArrival = !this._hasValue;
|
|
43
|
+
this._hasValue = true;
|
|
44
|
+
if (firstArrival) {
|
|
45
|
+
const waiters = this._firstWaiters;
|
|
46
|
+
this._firstWaiters = [];
|
|
47
|
+
for (const resolve of waiters) {
|
|
48
|
+
resolve(value);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
this._wakeStreams();
|
|
52
|
+
}
|
|
53
|
+
/** Mark the channel closed and release every waiting reader. Idempotent. */
|
|
54
|
+
close() {
|
|
55
|
+
if (this._closed) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this._closed = true;
|
|
59
|
+
if (!this._hasValue) {
|
|
60
|
+
const waiters = this._firstWaiters;
|
|
61
|
+
this._firstWaiters = [];
|
|
62
|
+
for (const resolve of waiters) {
|
|
63
|
+
resolve(undefined);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
this._wakeStreams();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolve with the first value ever sent. Waits if none has arrived yet;
|
|
70
|
+
* resolves `undefined` if the channel closes without a value.
|
|
71
|
+
*/
|
|
72
|
+
first() {
|
|
73
|
+
if (this._hasValue) {
|
|
74
|
+
return Promise.resolve(this._buffer[0]);
|
|
75
|
+
}
|
|
76
|
+
if (this._closed) {
|
|
77
|
+
return Promise.resolve(undefined);
|
|
78
|
+
}
|
|
79
|
+
return new Promise((resolve) => {
|
|
80
|
+
this._firstWaiters.push(resolve);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Replaying async iterator: yields the full value history (from index 0)
|
|
85
|
+
* then live values, ending when the channel is closed and drained.
|
|
86
|
+
*/
|
|
87
|
+
async *stream() {
|
|
88
|
+
let cursor = 0;
|
|
89
|
+
for (;;) {
|
|
90
|
+
while (cursor < this._buffer.length) {
|
|
91
|
+
yield this._buffer[cursor];
|
|
92
|
+
cursor += 1;
|
|
93
|
+
}
|
|
94
|
+
if (this._closed) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
await new Promise((resolve) => {
|
|
98
|
+
this._streamWaiters.push(resolve);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
_wakeStreams() {
|
|
103
|
+
const waiters = this._streamWaiters;
|
|
104
|
+
this._streamWaiters = [];
|
|
105
|
+
for (const resolve of waiters) {
|
|
106
|
+
resolve();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=variable-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-channel.js","sourceRoot":"","sources":["../src/variable-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The workspace a run reads and writes files in, as an interface rather than a
|
|
3
|
+
* directory.
|
|
4
|
+
*
|
|
5
|
+
* Everything that touched the workspace used to take `workspaceDir: string` and
|
|
6
|
+
* call `node:fs`, which is why a cloud deployment had no workspace worth the
|
|
7
|
+
* name: there is no directory to hand out. A `Workspace` is backed by any
|
|
8
|
+
* `StorageAdapter`, so the local install passes a `FileStorageAdapter` over a
|
|
9
|
+
* real folder and the cloud passes its S3/Supabase adapter scoped to a per-user
|
|
10
|
+
* prefix. Callers cannot tell the difference and must not try — the interface
|
|
11
|
+
* exposes no adapter for that reason.
|
|
12
|
+
*
|
|
13
|
+
* Paths are workspace-relative and normalized: `notes.md`, `out/report.pdf`,
|
|
14
|
+
* `/workspace/notes.md` and `workspace/notes.md` all name the same file, and a
|
|
15
|
+
* path that would climb out of the root is rejected rather than clamped.
|
|
16
|
+
*
|
|
17
|
+
* Object stores have no directories. `mkdir` is therefore a no-op that
|
|
18
|
+
* succeeds, `list` synthesizes directory entries from key prefixes, and an
|
|
19
|
+
* empty directory does not survive a round trip. Code that needs a real
|
|
20
|
+
* directory — a host binary, an mmap'd database — goes through
|
|
21
|
+
* {@link Workspace.materialize} and {@link Workspace.absorb}, or reads
|
|
22
|
+
* {@link Workspace.localDir} and says plainly that it needs a local workspace.
|
|
23
|
+
*/
|
|
24
|
+
export interface WorkspaceEntry {
|
|
25
|
+
/** Workspace-relative path. */
|
|
26
|
+
path: string;
|
|
27
|
+
/** Last path segment. */
|
|
28
|
+
name: string;
|
|
29
|
+
/** Byte size; 0 for a directory. */
|
|
30
|
+
size: number;
|
|
31
|
+
/** Last-modified time in ms since epoch; 0 for a synthesized directory. */
|
|
32
|
+
modifiedAt: number;
|
|
33
|
+
isDirectory: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface WorkspaceStat {
|
|
36
|
+
path: string;
|
|
37
|
+
size: number;
|
|
38
|
+
modifiedAt: number;
|
|
39
|
+
contentType?: string;
|
|
40
|
+
isDirectory: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface Workspace {
|
|
43
|
+
/**
|
|
44
|
+
* The real directory backing this workspace, or null when it is virtual.
|
|
45
|
+
*
|
|
46
|
+
* Read it only to decide whether a host binary can run in place. Anything
|
|
47
|
+
* that merely moves bytes must use the methods below, which work either way.
|
|
48
|
+
*/
|
|
49
|
+
readonly localDir: string | null;
|
|
50
|
+
/** Normalize a caller-supplied path to a workspace key. Throws if it escapes. */
|
|
51
|
+
key(path: string): string;
|
|
52
|
+
/** Opaque URI for a workspace path — what `retrieve`/`delete` round-trip. */
|
|
53
|
+
uri(path: string): string;
|
|
54
|
+
read(path: string): Promise<Uint8Array | null>;
|
|
55
|
+
readText(path: string): Promise<string | null>;
|
|
56
|
+
write(path: string, data: Uint8Array | string, contentType?: string): Promise<void>;
|
|
57
|
+
exists(path: string): Promise<boolean>;
|
|
58
|
+
stat(path: string): Promise<WorkspaceStat | null>;
|
|
59
|
+
/** Direct children of `path`, or every descendant when `recursive`. */
|
|
60
|
+
list(path?: string, opts?: {
|
|
61
|
+
recursive?: boolean;
|
|
62
|
+
}): Promise<WorkspaceEntry[]>;
|
|
63
|
+
/** Delete one file. Returns false when it was not there. */
|
|
64
|
+
delete(path: string): Promise<boolean>;
|
|
65
|
+
/** Delete a directory and everything under it. Returns how many files went. */
|
|
66
|
+
deleteAll(path: string): Promise<number>;
|
|
67
|
+
/** No-op on an object store; creates the directory on a local one. */
|
|
68
|
+
mkdir(path: string): Promise<void>;
|
|
69
|
+
copy(from: string, to: string): Promise<void>;
|
|
70
|
+
move(from: string, to: string): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* A real local path holding this file's current bytes, for handing to a host
|
|
73
|
+
* binary. On a local workspace that is the file itself, so a binary writing
|
|
74
|
+
* in place works. On a virtual one the bytes are staged into a scratch
|
|
75
|
+
* directory and the caller must {@link absorb} anything it changed.
|
|
76
|
+
*/
|
|
77
|
+
materialize(path: string): Promise<string>;
|
|
78
|
+
/** Copy a real local file into the workspace. The inverse of materialize. */
|
|
79
|
+
absorb(localPath: string, path: string): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* A real directory a host binary may use for its inputs and outputs. The
|
|
82
|
+
* workspace root on a local workspace; a per-run scratch directory on a
|
|
83
|
+
* virtual one, whose contents reach storage only through `absorb`.
|
|
84
|
+
*/
|
|
85
|
+
scratchDir(): Promise<string>;
|
|
86
|
+
/** Remove scratch files staged for this workspace after its run ends. */
|
|
87
|
+
cleanupScratch?(): Promise<void>;
|
|
88
|
+
}
|
|
89
|
+
/** Thrown when a path would resolve outside the workspace root. */
|
|
90
|
+
export declare class WorkspacePathError extends Error {
|
|
91
|
+
constructor(path: string);
|
|
92
|
+
}
|
|
93
|
+
/** Thrown when an operation needs a real directory and the workspace is virtual. */
|
|
94
|
+
export declare class WorkspaceNotLocalError extends Error {
|
|
95
|
+
constructor(what: string);
|
|
96
|
+
}
|
|
97
|
+
/** What a mutation did, for a host that wants to react to it. */
|
|
98
|
+
export interface WorkspaceChange {
|
|
99
|
+
kind: "write" | "delete" | "mkdir" | "copy" | "move";
|
|
100
|
+
/** The path written, created or removed. Workspace-relative. */
|
|
101
|
+
path: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* A workspace that reports its own mutations.
|
|
105
|
+
*
|
|
106
|
+
* The Workspace Explorer lists files over tRPC and has no way to learn that a
|
|
107
|
+
* chat turn just wrote one — workspace files are not database rows, so the
|
|
108
|
+
* `resource_change` broadcast that keeps every other panel live never fires for
|
|
109
|
+
* them. Wrapping the workspace a run resolves is the one place every writer
|
|
110
|
+
* passes through: the file capabilities, the save nodes, and anything else that
|
|
111
|
+
* goes through the interface rather than `node:fs`.
|
|
112
|
+
*
|
|
113
|
+
* `onChange` fires only after the underlying call resolves, so a rejected write
|
|
114
|
+
* never announces a file that is not there. It is called synchronously and must
|
|
115
|
+
* not throw — a notifier is a side channel, and a run must not fail because a
|
|
116
|
+
* listener did.
|
|
117
|
+
*/
|
|
118
|
+
export declare function observeWorkspace(inner: Workspace, onChange: (change: WorkspaceChange) => void): Workspace;
|
|
119
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The workspace a run reads and writes files in, as an interface rather than a
|
|
3
|
+
* directory.
|
|
4
|
+
*
|
|
5
|
+
* Everything that touched the workspace used to take `workspaceDir: string` and
|
|
6
|
+
* call `node:fs`, which is why a cloud deployment had no workspace worth the
|
|
7
|
+
* name: there is no directory to hand out. A `Workspace` is backed by any
|
|
8
|
+
* `StorageAdapter`, so the local install passes a `FileStorageAdapter` over a
|
|
9
|
+
* real folder and the cloud passes its S3/Supabase adapter scoped to a per-user
|
|
10
|
+
* prefix. Callers cannot tell the difference and must not try — the interface
|
|
11
|
+
* exposes no adapter for that reason.
|
|
12
|
+
*
|
|
13
|
+
* Paths are workspace-relative and normalized: `notes.md`, `out/report.pdf`,
|
|
14
|
+
* `/workspace/notes.md` and `workspace/notes.md` all name the same file, and a
|
|
15
|
+
* path that would climb out of the root is rejected rather than clamped.
|
|
16
|
+
*
|
|
17
|
+
* Object stores have no directories. `mkdir` is therefore a no-op that
|
|
18
|
+
* succeeds, `list` synthesizes directory entries from key prefixes, and an
|
|
19
|
+
* empty directory does not survive a round trip. Code that needs a real
|
|
20
|
+
* directory — a host binary, an mmap'd database — goes through
|
|
21
|
+
* {@link Workspace.materialize} and {@link Workspace.absorb}, or reads
|
|
22
|
+
* {@link Workspace.localDir} and says plainly that it needs a local workspace.
|
|
23
|
+
*/
|
|
24
|
+
/** Thrown when a path would resolve outside the workspace root. */
|
|
25
|
+
export class WorkspacePathError extends Error {
|
|
26
|
+
constructor(path) {
|
|
27
|
+
super(`Path '${path}' is outside the workspace`);
|
|
28
|
+
this.name = "WorkspacePathError";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** Thrown when an operation needs a real directory and the workspace is virtual. */
|
|
32
|
+
export class WorkspaceNotLocalError extends Error {
|
|
33
|
+
constructor(what) {
|
|
34
|
+
super(`${what} needs a local workspace directory, and this run has a virtual ` +
|
|
35
|
+
`one (cloud storage). Run it on a local install, or use a node that ` +
|
|
36
|
+
`reads and writes through the workspace instead.`);
|
|
37
|
+
this.name = "WorkspaceNotLocalError";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A workspace that reports its own mutations.
|
|
42
|
+
*
|
|
43
|
+
* The Workspace Explorer lists files over tRPC and has no way to learn that a
|
|
44
|
+
* chat turn just wrote one — workspace files are not database rows, so the
|
|
45
|
+
* `resource_change` broadcast that keeps every other panel live never fires for
|
|
46
|
+
* them. Wrapping the workspace a run resolves is the one place every writer
|
|
47
|
+
* passes through: the file capabilities, the save nodes, and anything else that
|
|
48
|
+
* goes through the interface rather than `node:fs`.
|
|
49
|
+
*
|
|
50
|
+
* `onChange` fires only after the underlying call resolves, so a rejected write
|
|
51
|
+
* never announces a file that is not there. It is called synchronously and must
|
|
52
|
+
* not throw — a notifier is a side channel, and a run must not fail because a
|
|
53
|
+
* listener did.
|
|
54
|
+
*/
|
|
55
|
+
export function observeWorkspace(inner, onChange) {
|
|
56
|
+
const notify = (kind, path) => {
|
|
57
|
+
try {
|
|
58
|
+
onChange({ kind, path });
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// A listener must never break the write it is reporting.
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
return {
|
|
65
|
+
get localDir() {
|
|
66
|
+
return inner.localDir;
|
|
67
|
+
},
|
|
68
|
+
key: (path) => inner.key(path),
|
|
69
|
+
uri: (path) => inner.uri(path),
|
|
70
|
+
read: (path) => inner.read(path),
|
|
71
|
+
readText: (path) => inner.readText(path),
|
|
72
|
+
exists: (path) => inner.exists(path),
|
|
73
|
+
stat: (path) => inner.stat(path),
|
|
74
|
+
list: (path, opts) => inner.list(path, opts),
|
|
75
|
+
materialize: (path) => inner.materialize(path),
|
|
76
|
+
scratchDir: () => inner.scratchDir(),
|
|
77
|
+
cleanupScratch: () => inner.cleanupScratch?.() ?? Promise.resolve(),
|
|
78
|
+
async write(path, data, contentType) {
|
|
79
|
+
await inner.write(path, data, contentType);
|
|
80
|
+
notify("write", path);
|
|
81
|
+
},
|
|
82
|
+
async delete(path) {
|
|
83
|
+
const removed = await inner.delete(path);
|
|
84
|
+
if (removed)
|
|
85
|
+
notify("delete", path);
|
|
86
|
+
return removed;
|
|
87
|
+
},
|
|
88
|
+
async deleteAll(path) {
|
|
89
|
+
const count = await inner.deleteAll(path);
|
|
90
|
+
if (count > 0)
|
|
91
|
+
notify("delete", path);
|
|
92
|
+
return count;
|
|
93
|
+
},
|
|
94
|
+
async mkdir(path) {
|
|
95
|
+
await inner.mkdir(path);
|
|
96
|
+
notify("mkdir", path);
|
|
97
|
+
},
|
|
98
|
+
async copy(from, to) {
|
|
99
|
+
await inner.copy(from, to);
|
|
100
|
+
notify("copy", to);
|
|
101
|
+
},
|
|
102
|
+
async move(from, to) {
|
|
103
|
+
await inner.move(from, to);
|
|
104
|
+
notify("move", to);
|
|
105
|
+
},
|
|
106
|
+
async absorb(localPath, path) {
|
|
107
|
+
await inner.absorb(localPath, path);
|
|
108
|
+
notify("write", path);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,41 +1,60 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodetool-ai/runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Processing context, message queue, and output normalization",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=22.0.0"
|
|
8
|
+
},
|
|
6
9
|
"main": "dist/index.js",
|
|
7
10
|
"types": "dist/index.d.ts",
|
|
8
11
|
"scripts": {
|
|
9
12
|
"build": "node ../../scripts/build-typescript-workspace.mjs && node -e \"require('node:fs').mkdirSync('dist/providers',{recursive:true}); require('node:fs').cpSync('src/providers/aki-manifest.json', 'dist/providers/aki-manifest.json')\"",
|
|
10
|
-
"test": "vitest run",
|
|
11
|
-
"test:watch": "vitest",
|
|
12
|
-
"lint": "tsc --noEmit"
|
|
13
|
+
"test": "node ../../scripts/run-vitest.mjs run",
|
|
14
|
+
"test:watch": "node ../../scripts/run-vitest.mjs",
|
|
15
|
+
"lint": "node ../../scripts/run-tsc.mjs --noEmit"
|
|
13
16
|
},
|
|
14
17
|
"dependencies": {
|
|
15
18
|
"@aki-io/aki-io": "^1.0.1",
|
|
16
|
-
"@anthropic-ai/sdk": "^0.
|
|
17
|
-
"@
|
|
18
|
-
"@nodetool-ai/config": "^0.
|
|
19
|
-
"@nodetool-ai/protocol": "^0.
|
|
19
|
+
"@anthropic-ai/sdk": "^0.105.0",
|
|
20
|
+
"@huggingface/inference": "^4.13.25",
|
|
21
|
+
"@nodetool-ai/config": "^0.8.1",
|
|
22
|
+
"@nodetool-ai/protocol": "^0.8.1",
|
|
23
|
+
"@nodetool-ai/storage": "^0.8.1",
|
|
20
24
|
"@opentelemetry/api": "^1.9.0",
|
|
21
|
-
"@opentelemetry/exporter-trace-otlp-proto": "^0.
|
|
22
|
-
"@opentelemetry/resources": "^2.
|
|
23
|
-
"@opentelemetry/sdk-node": "^0.
|
|
24
|
-
"@opentelemetry/sdk-trace-base": "^2.
|
|
25
|
+
"@opentelemetry/exporter-trace-otlp-proto": "^0.221.0",
|
|
26
|
+
"@opentelemetry/resources": "^2.10.0",
|
|
27
|
+
"@opentelemetry/sdk-node": "^0.221.0",
|
|
28
|
+
"@opentelemetry/sdk-trace-base": "^2.10.0",
|
|
25
29
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
30
|
+
"@pydantic/genai-prices": "^0.0.69",
|
|
31
|
+
"fflate": "^0.8.2",
|
|
32
|
+
"js-tiktoken": "^1.0.21",
|
|
33
|
+
"msgpackr": "^1.11.2",
|
|
26
34
|
"openai": "^6.35.0",
|
|
27
35
|
"replicate": "^1.4.0",
|
|
28
|
-
"sharp": "^0.
|
|
29
|
-
"ws": "^8.19.0"
|
|
30
|
-
|
|
31
|
-
"optionalDependencies": {
|
|
32
|
-
"@anthropic-ai/claude-agent-sdk": "^0.2.101"
|
|
36
|
+
"sharp": "^0.35.3",
|
|
37
|
+
"ws": "^8.19.0",
|
|
38
|
+
"zod": "^4.4.3"
|
|
33
39
|
},
|
|
34
40
|
"devDependencies": {
|
|
41
|
+
"@anthropic-ai/claude-agent-sdk": "^0.3.283",
|
|
35
42
|
"@types/node": "^22.0.0",
|
|
36
43
|
"@types/ws": "^8.18.1",
|
|
37
|
-
"typescript": "
|
|
38
|
-
"vitest": "^
|
|
44
|
+
"typescript": "npm:@typescript/typescript6@6.0.2",
|
|
45
|
+
"vitest": "^5.0.1"
|
|
46
|
+
},
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"@anthropic-ai/claude-agent-sdk": "^0.3.283",
|
|
49
|
+
"node-llama-cpp": "^3.0.0"
|
|
50
|
+
},
|
|
51
|
+
"peerDependenciesMeta": {
|
|
52
|
+
"@anthropic-ai/claude-agent-sdk": {
|
|
53
|
+
"optional": true
|
|
54
|
+
},
|
|
55
|
+
"node-llama-cpp": {
|
|
56
|
+
"optional": true
|
|
57
|
+
}
|
|
39
58
|
},
|
|
40
59
|
"exports": {
|
|
41
60
|
".": {
|
|
@@ -43,6 +62,61 @@
|
|
|
43
62
|
"types": "./dist/index.d.ts",
|
|
44
63
|
"import": "./dist/index.js",
|
|
45
64
|
"default": "./dist/index.js"
|
|
65
|
+
},
|
|
66
|
+
"./oauth": {
|
|
67
|
+
"nodetool-dev": "./src/providers/oauth/index.ts",
|
|
68
|
+
"types": "./dist/providers/oauth/index.d.ts",
|
|
69
|
+
"import": "./dist/providers/oauth/index.js",
|
|
70
|
+
"default": "./dist/providers/oauth/index.js"
|
|
71
|
+
},
|
|
72
|
+
"./context": {
|
|
73
|
+
"nodetool-dev": "./src/context.ts",
|
|
74
|
+
"types": "./dist/context.d.ts",
|
|
75
|
+
"import": "./dist/context.js",
|
|
76
|
+
"default": "./dist/context.js"
|
|
77
|
+
},
|
|
78
|
+
"./provider-transport": {
|
|
79
|
+
"nodetool-dev": "./src/providers/provider-transport.ts",
|
|
80
|
+
"types": "./dist/providers/provider-transport.d.ts",
|
|
81
|
+
"import": "./dist/providers/provider-transport.js",
|
|
82
|
+
"default": "./dist/providers/provider-transport.js"
|
|
83
|
+
},
|
|
84
|
+
"./safe-url": {
|
|
85
|
+
"nodetool-dev": "./src/providers/safe-url.ts",
|
|
86
|
+
"types": "./dist/providers/safe-url.d.ts",
|
|
87
|
+
"import": "./dist/providers/safe-url.js",
|
|
88
|
+
"default": "./dist/providers/safe-url.js"
|
|
89
|
+
},
|
|
90
|
+
"./entities": {
|
|
91
|
+
"nodetool-dev": "./src/entities.ts",
|
|
92
|
+
"types": "./dist/entities.d.ts",
|
|
93
|
+
"import": "./dist/entities.js",
|
|
94
|
+
"default": "./dist/entities.js"
|
|
95
|
+
},
|
|
96
|
+
"./media-ref-bytes": {
|
|
97
|
+
"nodetool-dev": "./src/media-ref-bytes.ts",
|
|
98
|
+
"types": "./dist/media-ref-bytes.d.ts",
|
|
99
|
+
"import": "./dist/media-ref-bytes.js",
|
|
100
|
+
"default": "./dist/media-ref-bytes.js"
|
|
101
|
+
},
|
|
102
|
+
"./prompt-asset-refs": {
|
|
103
|
+
"nodetool-dev": "./src/prompt-asset-refs.ts",
|
|
104
|
+
"types": "./dist/prompt-asset-refs.d.ts",
|
|
105
|
+
"import": "./dist/prompt-asset-refs.js",
|
|
106
|
+
"default": "./dist/prompt-asset-refs.js"
|
|
107
|
+
},
|
|
108
|
+
"./tracing": {
|
|
109
|
+
"nodetool-dev": "./src/tracing-helpers.ts",
|
|
110
|
+
"types": "./dist/tracing-helpers.d.ts",
|
|
111
|
+
"import": "./dist/tracing-helpers.js",
|
|
112
|
+
"default": "./dist/tracing-helpers.js"
|
|
113
|
+
},
|
|
114
|
+
"./providers/aki-manifest.json": "./dist/providers/aki-manifest.json",
|
|
115
|
+
"./google": {
|
|
116
|
+
"nodetool-dev": "./src/google/index.ts",
|
|
117
|
+
"types": "./dist/google/index.d.ts",
|
|
118
|
+
"import": "./dist/google/index.js",
|
|
119
|
+
"default": "./dist/google/index.js"
|
|
46
120
|
}
|
|
47
121
|
},
|
|
48
122
|
"license": "MIT",
|
|
@@ -61,5 +135,19 @@
|
|
|
61
135
|
"files": [
|
|
62
136
|
"dist",
|
|
63
137
|
"README.md"
|
|
138
|
+
],
|
|
139
|
+
"keywords": [
|
|
140
|
+
"nodetool",
|
|
141
|
+
"ai",
|
|
142
|
+
"workflow",
|
|
143
|
+
"workflow-automation",
|
|
144
|
+
"typescript",
|
|
145
|
+
"llm",
|
|
146
|
+
"llm-providers",
|
|
147
|
+
"openai",
|
|
148
|
+
"anthropic",
|
|
149
|
+
"gemini",
|
|
150
|
+
"ollama",
|
|
151
|
+
"inference"
|
|
64
152
|
]
|
|
65
153
|
}
|