maka-agent 0.2.2-dev.92.20261019 → 0.2.2-dev.98.20261024
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 +7 -7
- package/README.md +78 -18
- package/README.zh-CN.md +73 -15
- package/THIRD_PARTY_NOTICES.txt +12 -12
- package/dist/pi-goal.js +13 -0
- package/dist/pi-tui-runner.js +44 -1
- package/dist/run-command-core.js +111 -70
- package/dist/run-session-command.js +91 -15
- package/dist/run-turn-outcome.js +2 -33
- package/dist/runtime-host-session-channel.js +3 -1
- package/dist/runtime-host-session-driver.js +5 -0
- package/dist/tui-copy-catalog.js +24 -0
- package/native/runtime-host-windows-task-launcher/prebuilds/win32-x64/maka-runtime-host-task-launcher.exe +0 -0
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/docs/docs/api/Client.md +2 -0
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/core/symbols.js +1 -0
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/client-h1.js +0 -2
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/client-h2.js +0 -4
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/client.js +3 -2
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/dispatcher/dispatcher-base.js +12 -0
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/handler/cache-handler.js +48 -0
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/handler/deduplication-handler.js +57 -13
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/handler/redirect-handler.js +8 -1
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/interceptor/decompress.js +15 -5
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/cookies/index.js +3 -1
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/cookies/parse.js +138 -137
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/cookies/util.js +21 -2
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/eventsource/eventsource-stream.js +90 -9
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/eventsource/eventsource.js +4 -1
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/fetch/index.js +3 -3
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/infra/index.js +14 -0
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/lib/web/websocket/receiver.js +13 -0
- package/node_modules/@ai-sdk/provider-utils/node_modules/undici/package.json +1 -1
- package/node_modules/@maka/acp-executor-plugin/dist/acp-catalog-store.js +87 -0
- package/node_modules/@maka/acp-executor-plugin/dist/acp-catalog.js +98 -21
- package/node_modules/@maka/acp-executor-plugin/dist/index.js +90 -14
- package/node_modules/@maka/acp-executor-plugin/dist/plugin.mjs +3997 -56
- package/node_modules/@maka/core/dist/assistant-turn-ids.js +34 -0
- package/node_modules/@maka/core/dist/event-wait.js +28 -10
- package/node_modules/@maka/core/dist/executor-catalog.js +3 -1
- package/node_modules/@maka/core/dist/model-catalog.js +19 -1
- package/node_modules/@maka/core/dist/model-metadata.generated.js +4 -14
- package/node_modules/@maka/core/dist/model-metadata.js +42 -1
- package/node_modules/@maka/core/dist/models-dev-projection.js +32 -1
- package/node_modules/@maka/core/dist/provider-registry.js +16 -2
- package/node_modules/@maka/core/dist/runtime-event.js +8 -0
- package/node_modules/@maka/core/dist/session-checkin.js +31 -0
- package/node_modules/@maka/core/dist/usage-stats/types.js +1 -0
- package/node_modules/@maka/core/package.json +2 -0
- package/node_modules/@maka/eval/node_modules/undici/README.md +25 -3
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/Client.md +11 -6
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/Errors.md +76 -1
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/index.md +12 -12
- package/node_modules/@maka/eval/node_modules/undici/docs/docs/type-map.json +66 -66
- package/node_modules/@maka/eval/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
- package/node_modules/@maka/eval/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
- package/node_modules/@maka/eval/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/@maka/eval/node_modules/undici/lib/core/constants.js +12 -1
- package/node_modules/@maka/eval/node_modules/undici/lib/core/errors.js +38 -1
- package/node_modules/@maka/eval/node_modules/undici/lib/core/request.js +16 -1
- package/node_modules/@maka/eval/node_modules/undici/lib/core/symbols.js +2 -0
- package/node_modules/@maka/eval/node_modules/undici/lib/core/util.js +26 -1
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/client.js +4 -1
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/pool.js +11 -8
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
- package/node_modules/@maka/eval/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
- package/node_modules/@maka/eval/node_modules/undici/lib/handler/cache-handler.js +153 -15
- package/node_modules/@maka/eval/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
- package/node_modules/@maka/eval/node_modules/undici/lib/handler/redirect-handler.js +28 -8
- package/node_modules/@maka/eval/node_modules/undici/lib/handler/retry-handler.js +44 -11
- package/node_modules/@maka/eval/node_modules/undici/lib/interceptor/cache.js +11 -3
- package/node_modules/@maka/eval/node_modules/undici/lib/interceptor/decompress.js +22 -9
- package/node_modules/@maka/eval/node_modules/undici/lib/interceptor/dns.js +11 -0
- package/node_modules/@maka/eval/node_modules/undici/lib/interceptor/response-error.js +72 -28
- package/node_modules/@maka/eval/node_modules/undici/lib/milo/LICENSE.md +7 -0
- package/node_modules/@maka/eval/node_modules/undici/lib/milo/no-simd.js +1002 -0
- package/node_modules/@maka/eval/node_modules/undici/lib/milo/simd.js +1002 -0
- package/node_modules/@maka/eval/node_modules/undici/lib/mock/mock-agent.js +11 -0
- package/node_modules/@maka/eval/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
- package/node_modules/@maka/eval/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
- package/node_modules/@maka/eval/node_modules/undici/lib/util/cache.js +11 -5
- package/node_modules/@maka/eval/node_modules/undici/lib/web/cookies/util.js +19 -2
- package/node_modules/@maka/eval/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
- package/node_modules/@maka/eval/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
- package/node_modules/@maka/eval/node_modules/undici/lib/web/fetch/body.js +47 -38
- package/node_modules/@maka/eval/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
- package/node_modules/@maka/eval/node_modules/undici/lib/web/fetch/headers.js +2 -2
- package/node_modules/@maka/eval/node_modules/undici/lib/web/fetch/index.js +8 -4
- package/node_modules/@maka/eval/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/@maka/eval/node_modules/undici/lib/web/websocket/receiver.js +25 -4
- package/node_modules/@maka/eval/node_modules/undici/package.json +9 -7
- package/node_modules/@maka/mcp/package.json +1 -1
- package/node_modules/@maka/runtime/dist/ai-sdk-compaction.js +22 -9
- package/node_modules/@maka/runtime/dist/ai-sdk-message-projection.js +10 -1
- package/node_modules/@maka/runtime/dist/ai-sdk-turn.js +101 -127
- package/node_modules/@maka/runtime/dist/event-wait-tool.js +2 -2
- package/node_modules/@maka/runtime/dist/history-compact-checkpoint.js +32 -1
- package/node_modules/@maka/runtime/dist/history-compaction.js +7 -0
- package/node_modules/@maka/runtime/dist/model-factory.js +26 -6
- package/node_modules/@maka/runtime/dist/model-fetcher.js +8 -1
- package/node_modules/@maka/runtime/dist/model-history.js +16 -3
- package/node_modules/@maka/runtime/dist/openai-codex-history-compactor.js +7 -2
- package/node_modules/@maka/runtime/dist/plugin-executor-backend.js +49 -2
- package/node_modules/@maka/runtime/dist/plugin-executor-service.js +12 -3
- package/node_modules/@maka/runtime/dist/runtime-context.js +53 -0
- package/node_modules/@maka/runtime/dist/runtime-event-read-model.js +3 -0
- package/node_modules/@maka/runtime/dist/session-checkin.js +331 -0
- package/node_modules/@maka/runtime/dist/session-event-runtime-mapper.js +7 -0
- package/node_modules/@maka/runtime/dist/shell-run-manager.js +34 -0
- package/node_modules/@maka/runtime/dist/telemetry/builtin-pricing.js +21 -2
- package/node_modules/@maka/runtime/dist/tool-runtime.js +8 -0
- package/node_modules/@maka/runtime/dist/workers/filesystem-worker.mjs +50 -1
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/docs/docs/api/Client.md +2 -0
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/core/symbols.js +1 -0
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/client-h1.js +0 -2
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/client-h2.js +0 -4
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/client.js +3 -2
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/dispatcher/dispatcher-base.js +12 -0
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/handler/cache-handler.js +48 -0
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/handler/deduplication-handler.js +57 -13
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/handler/redirect-handler.js +8 -1
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/interceptor/decompress.js +15 -5
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/cookies/index.js +3 -1
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/cookies/parse.js +138 -137
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/cookies/util.js +21 -2
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/eventsource/eventsource-stream.js +90 -9
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/eventsource/eventsource.js +4 -1
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/fetch/index.js +3 -3
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/infra/index.js +14 -0
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/lib/web/websocket/receiver.js +13 -0
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/node_modules/undici/package.json +1 -1
- package/node_modules/@maka/runtime/node_modules/@slack/socket-mode/package.json +1 -1
- package/node_modules/@maka/runtime/node_modules/undici/README.md +25 -3
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/Client.md +11 -6
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/Errors.md +76 -1
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/index.md +12 -12
- package/node_modules/@maka/runtime/node_modules/undici/docs/docs/type-map.json +66 -66
- package/node_modules/@maka/runtime/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
- package/node_modules/@maka/runtime/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
- package/node_modules/@maka/runtime/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/@maka/runtime/node_modules/undici/lib/core/constants.js +12 -1
- package/node_modules/@maka/runtime/node_modules/undici/lib/core/errors.js +38 -1
- package/node_modules/@maka/runtime/node_modules/undici/lib/core/request.js +16 -1
- package/node_modules/@maka/runtime/node_modules/undici/lib/core/symbols.js +2 -0
- package/node_modules/@maka/runtime/node_modules/undici/lib/core/util.js +26 -1
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/client.js +4 -1
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/pool.js +11 -8
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
- package/node_modules/@maka/runtime/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
- package/node_modules/@maka/runtime/node_modules/undici/lib/handler/cache-handler.js +153 -15
- package/node_modules/@maka/runtime/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
- package/node_modules/@maka/runtime/node_modules/undici/lib/handler/redirect-handler.js +28 -8
- package/node_modules/@maka/runtime/node_modules/undici/lib/handler/retry-handler.js +44 -11
- package/node_modules/@maka/runtime/node_modules/undici/lib/interceptor/cache.js +11 -3
- package/node_modules/@maka/runtime/node_modules/undici/lib/interceptor/decompress.js +22 -9
- package/node_modules/@maka/runtime/node_modules/undici/lib/interceptor/dns.js +11 -0
- package/node_modules/@maka/runtime/node_modules/undici/lib/interceptor/response-error.js +72 -28
- package/node_modules/@maka/runtime/node_modules/undici/lib/milo/LICENSE.md +7 -0
- package/node_modules/@maka/runtime/node_modules/undici/lib/milo/no-simd.js +1002 -0
- package/node_modules/@maka/runtime/node_modules/undici/lib/milo/simd.js +1002 -0
- package/node_modules/@maka/runtime/node_modules/undici/lib/mock/mock-agent.js +11 -0
- package/node_modules/@maka/runtime/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
- package/node_modules/@maka/runtime/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
- package/node_modules/@maka/runtime/node_modules/undici/lib/util/cache.js +11 -5
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/cookies/util.js +19 -2
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/fetch/body.js +47 -38
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/fetch/headers.js +2 -2
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/fetch/index.js +8 -4
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/@maka/runtime/node_modules/undici/lib/web/websocket/receiver.js +25 -4
- package/node_modules/@maka/runtime/node_modules/undici/package.json +9 -7
- package/node_modules/@maka/runtime/package.json +2 -0
- package/node_modules/@maka/runtime-host/dist/assistant/bot/bridge.js +8 -0
- package/node_modules/@maka/runtime-host/dist/assistant/bot/capabilities.js +1 -0
- package/node_modules/@maka/runtime-host/dist/assistant/bot/controller.js +64 -13
- package/node_modules/@maka/runtime-host/dist/assistant/bot/host.js +11 -2
- package/node_modules/@maka/runtime-host/dist/assistant/bot/store.js +71 -2
- package/node_modules/@maka/runtime-host/dist/assistant/bot/turn-ids.js +38 -0
- package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/assistant.js +7 -0
- package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/controller.js +193 -32
- package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/discovery-capabilities.js +69 -0
- package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/host.js +15 -28
- package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/notebook.js +286 -0
- package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/prompt.js +31 -6
- package/node_modules/@maka/runtime-host/dist/assistant/index-initiative/store.js +18 -1
- package/node_modules/@maka/runtime-host/dist/assistant/memory-network/controller.js +1 -1
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/condition-observer.js +94 -0
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/condition-store.js +253 -0
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/condition.js +133 -0
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/controller.js +27 -14
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/delegation.js +35 -5
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/delivery.js +1 -1
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/host.js +16 -2
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/matter.js +13 -0
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/prompt.js +7 -5
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/review.js +1 -1
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/settlement-context.js +126 -0
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/store.js +92 -6
- package/node_modules/@maka/runtime-host/dist/assistant/proactive-matters/tools.js +87 -23
- package/node_modules/@maka/runtime-host/dist/assistant/service.js +49 -5
- package/node_modules/@maka/runtime-host/dist/protocol/goal.js +119 -1
- package/node_modules/@maka/runtime-host/dist/protocol/index.js +7 -1
- package/node_modules/@maka/runtime-host/dist/protocol/operations.js +8 -1
- package/node_modules/@maka/runtime-host/dist/protocol/personal-assistant.js +1 -0
- package/node_modules/@maka/runtime-host/dist/protocol/plugin-platform.js +7 -1
- package/node_modules/@maka/runtime-host/dist/protocol/session-checkin.js +133 -0
- package/node_modules/@maka/runtime-host/dist/server/canonical-session-projection.js +3 -2
- package/node_modules/@maka/runtime-host/dist/server/event-wait-manager.js +63 -12
- package/node_modules/@maka/runtime-host/dist/server/event-wait-observation-store.js +19 -0
- package/node_modules/@maka/runtime-host/dist/server/execution-composition.js +123 -11
- package/node_modules/@maka/runtime-host/dist/server/execution-model-authority.js +47 -3
- package/node_modules/@maka/runtime-host/dist/server/goal-coordinator.js +126 -4
- package/node_modules/@maka/runtime-host/dist/server/goal-event-waits.js +58 -19
- package/node_modules/@maka/runtime-host/dist/server/goal-projection.js +24 -3
- package/node_modules/@maka/runtime-host/dist/server/index.js +2 -0
- package/node_modules/@maka/runtime-host/dist/server/interactive-run-composer.js +44 -2
- package/node_modules/@maka/runtime-host/dist/server/personal-assistant-workspace.js +78 -0
- package/node_modules/@maka/runtime-host/dist/server/session-catalog-coordinator.js +73 -3
- package/node_modules/@maka/runtime-host/dist/server/session-checkin.js +257 -0
- package/node_modules/@maka/runtime-host/dist/server/session-checkpoint-coordinator.js +282 -0
- package/node_modules/@maka/runtime-host/dist/server/session-checkpoint-publication.js +250 -0
- package/node_modules/@maka/runtime-host/dist/server/shell-run-event-wait-access.js +166 -0
- package/node_modules/@maka/runtime-host/dist/server/shell-run-event-wait-adapter.js +59 -0
- package/node_modules/@maka/runtime-host/dist/server/skill-catalog-repository.js +4 -2
- package/node_modules/@maka/storage/dist/context-offload-snapshot.js +2 -1
- package/node_modules/@maka/storage/dist/execution-stores.js +36 -1
- package/node_modules/@maka/storage/dist/local-execution-persistence.js +26 -0
- package/node_modules/@maka/storage/dist/production-session-snapshot.js +14 -6
- package/node_modules/@maka/storage/dist/runtime-event-persistence.js +1 -0
- package/node_modules/@maka/storage/dist/session-bundle-policy.js +86 -16
- package/node_modules/@maka/storage/dist/session-checkpoint-publication-store.js +204 -0
- package/node_modules/@maka/storage/dist/snapshot-operation-gate.js +65 -0
- package/node_modules/@maka/storage/dist/sqlite-context-offload-schema.js +3 -3
- package/node_modules/@maka/storage/dist/sqlite-context-offload-store.js +4 -2
- package/node_modules/@maka/storage/dist/sqlite-reclamation-checkpoint.js +37 -0
- package/node_modules/@maka/storage/dist/sqlite-runtime-store.js +31 -0
- package/node_modules/@maka/storage/package.json +3 -0
- package/node_modules/@modelcontextprotocol/client/dist/index-B-4n9P0J.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/index-J2FaQ-KY.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/index.cjs +76 -22
- package/node_modules/@modelcontextprotocol/client/dist/index.d.cts.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/index.d.mts.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/index.mjs +76 -22
- package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.cjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.mjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/{src-oZBjf3U1.cjs → src-DpAS0jfg.cjs} +105 -8
- package/node_modules/@modelcontextprotocol/client/dist/{src-xKF0PJN-.mjs → src-WCy6ifGf.mjs} +88 -9
- package/node_modules/@modelcontextprotocol/client/dist/stdio.cjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/stdio.mjs +1 -1
- package/node_modules/@modelcontextprotocol/client/node_modules/@modelcontextprotocol/core/package.json +2 -2
- package/node_modules/@modelcontextprotocol/client/package.json +5 -5
- package/node_modules/fast-uri/.github/workflows/release.yml +35 -0
- package/node_modules/fast-uri/README.md +8 -0
- package/node_modules/fast-uri/index.js +98 -18
- package/node_modules/fast-uri/lib/utils.js +52 -0
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/follow-redirects/index.js +10 -1
- package/node_modules/follow-redirects/package.json +1 -1
- package/node_modules/ip-address/README.md +104 -104
- package/node_modules/ip-address/dist/ipv4.js +7 -0
- package/node_modules/ip-address/dist/ipv6.js +7 -4
- package/node_modules/ip-address/dist/v6/constants.js +3 -0
- package/node_modules/ip-address/package.json +2 -1
- package/node_modules/undici/README.md +25 -3
- package/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
- package/node_modules/undici/docs/docs/api/Client.md +11 -6
- package/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
- package/node_modules/undici/docs/docs/api/Errors.md +76 -1
- package/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
- package/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
- package/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
- package/node_modules/undici/docs/docs/index.md +12 -12
- package/node_modules/undici/docs/docs/type-map.json +66 -66
- package/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
- package/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
- package/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/undici/lib/core/constants.js +12 -1
- package/node_modules/undici/lib/core/errors.js +38 -1
- package/node_modules/undici/lib/core/request.js +16 -1
- package/node_modules/undici/lib/core/symbols.js +2 -0
- package/node_modules/undici/lib/core/util.js +26 -1
- package/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
- package/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
- package/node_modules/undici/lib/dispatcher/client.js +4 -1
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
- package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
- package/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
- package/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
- package/node_modules/undici/lib/dispatcher/pool.js +11 -8
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
- package/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
- package/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
- package/node_modules/undici/lib/handler/cache-handler.js +153 -15
- package/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
- package/node_modules/undici/lib/handler/redirect-handler.js +28 -8
- package/node_modules/undici/lib/handler/retry-handler.js +44 -11
- package/node_modules/undici/lib/interceptor/cache.js +11 -3
- package/node_modules/undici/lib/interceptor/decompress.js +22 -9
- package/node_modules/undici/lib/interceptor/dns.js +11 -0
- package/node_modules/undici/lib/interceptor/response-error.js +72 -28
- package/node_modules/undici/lib/milo/LICENSE.md +7 -0
- package/node_modules/undici/lib/milo/no-simd.js +1002 -0
- package/node_modules/undici/lib/milo/simd.js +1002 -0
- package/node_modules/undici/lib/mock/mock-agent.js +11 -0
- package/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
- package/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
- package/node_modules/undici/lib/util/cache.js +11 -5
- package/node_modules/undici/lib/web/cookies/util.js +19 -2
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
- package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
- package/node_modules/undici/lib/web/fetch/body.js +47 -38
- package/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
- package/node_modules/undici/lib/web/fetch/headers.js +2 -2
- package/node_modules/undici/lib/web/fetch/index.js +8 -4
- package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/undici/lib/web/websocket/receiver.js +25 -4
- package/node_modules/undici/package.json +9 -7
- package/node_modules/zod/package.json +1 -1
- package/node_modules/zod/v4/core/compile.cjs +8 -0
- package/node_modules/zod/v4/core/compile.js +8 -0
- package/node_modules/zod/v4/core/schemas.cjs +30 -0
- package/node_modules/zod/v4/core/schemas.js +30 -0
- package/node_modules/zod/v4/core/util.cjs +15 -0
- package/node_modules/zod/v4/core/util.js +14 -0
- package/node_modules/zod/v4/core/versions.cjs +1 -1
- package/node_modules/zod/v4/core/versions.js +1 -1
- package/package.json +2 -2
- package/node_modules/@modelcontextprotocol/client/dist/index-D_CiY-T3.d.cts.map +0 -1
- package/node_modules/@modelcontextprotocol/client/dist/index-D_QDtbiv.d.mts.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Classifiers for the assistant conversation's bot-delivered turns.
|
|
21
|
+
*
|
|
22
|
+
* The Runtime Host mints these ids (runtime-host `assistant/bot/turn-ids.ts`)
|
|
23
|
+
* and the UI classifies the turns by them, so both sides share these
|
|
24
|
+
* predicates. Current ids use dashes; transcripts written before the dash form
|
|
25
|
+
* use colons, and both are recognized.
|
|
26
|
+
*
|
|
27
|
+
* Keep this module free of Node-only imports: the UI bundles it.
|
|
28
|
+
*/
|
|
29
|
+
export function isAssistantInputTurnId(turnId) {
|
|
30
|
+
return turnId.startsWith('assistant-input-') || turnId.startsWith('assistant-input:');
|
|
31
|
+
}
|
|
32
|
+
export function isAssistantOutputTurnId(turnId) {
|
|
33
|
+
return turnId.startsWith('assistant-output-') || turnId.startsWith('assistant-output:');
|
|
34
|
+
}
|
|
@@ -167,6 +167,13 @@ export function eventWaitDeliveryKey(waitId) {
|
|
|
167
167
|
}
|
|
168
168
|
/** Correlation only: decoding does not authenticate Goal ownership or external truth. */
|
|
169
169
|
export function decodeEventWaitRecord(value) {
|
|
170
|
+
return decodeWaitRecord(value, true);
|
|
171
|
+
}
|
|
172
|
+
/** Owner-free observation record. Ownership is checked by the supplied store and authorizer. */
|
|
173
|
+
export function decodeObservedEventWaitRecord(value) {
|
|
174
|
+
return decodeWaitRecord(value, false);
|
|
175
|
+
}
|
|
176
|
+
function decodeWaitRecord(value, goal) {
|
|
170
177
|
const root = object(json(value, EVENT_WAIT_LIMITS.recordBytes, 16, 2048), 'record');
|
|
171
178
|
const lifecycleKeys = root.status === 'waiting'
|
|
172
179
|
? []
|
|
@@ -181,7 +188,7 @@ export function decodeEventWaitRecord(value) {
|
|
|
181
188
|
'schemaVersion',
|
|
182
189
|
'waitId',
|
|
183
190
|
'sessionId',
|
|
184
|
-
'goalControlLease',
|
|
191
|
+
...(goal ? ['goalControlLease'] : []),
|
|
185
192
|
'sourceTurnId',
|
|
186
193
|
'sourceToolCallId',
|
|
187
194
|
'resource',
|
|
@@ -197,7 +204,7 @@ export function decodeEventWaitRecord(value) {
|
|
|
197
204
|
: ['observation', 'delivery']);
|
|
198
205
|
if (r.schemaVersion !== EVENT_WAIT_SCHEMA_VERSION)
|
|
199
206
|
invalid('schemaVersion');
|
|
200
|
-
const lease = shape(r.goalControlLease, ['goalId', 'generation']);
|
|
207
|
+
const lease = goal ? shape(r.goalControlLease, ['goalId', 'generation']) : undefined;
|
|
201
208
|
const resource = shape(r.resource, ['providerId', 'connectionId', 'resourceType', 'resourceId']);
|
|
202
209
|
const condition = shape(r.condition, ['typeId', 'version', 'parameters']);
|
|
203
210
|
const parameters = object(json(condition.parameters, EVENT_WAIT_LIMITS.parameterBytes, EVENT_WAIT_LIMITS.parameterDepth, EVENT_WAIT_LIMITS.parameterNodes), 'parameters');
|
|
@@ -205,10 +212,14 @@ export function decodeEventWaitRecord(value) {
|
|
|
205
212
|
schemaVersion: EVENT_WAIT_SCHEMA_VERSION,
|
|
206
213
|
waitId: id(r.waitId, 'waitId'),
|
|
207
214
|
sessionId: id(r.sessionId, 'sessionId'),
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
215
|
+
...(lease
|
|
216
|
+
? {
|
|
217
|
+
goalControlLease: {
|
|
218
|
+
goalId: id(lease.goalId, 'goalId'),
|
|
219
|
+
generation: integer(lease.generation, 'generation'),
|
|
220
|
+
},
|
|
221
|
+
}
|
|
222
|
+
: {}),
|
|
212
223
|
sourceTurnId: id(r.sourceTurnId, 'sourceTurnId'),
|
|
213
224
|
sourceToolCallId: text(r.sourceToolCallId, 'sourceToolCallId', EVENT_WAIT_LIMITS.toolCallIdBytes),
|
|
214
225
|
resource: {
|
|
@@ -380,8 +391,16 @@ export function decodeEventWaitRecord(value) {
|
|
|
380
391
|
}
|
|
381
392
|
}
|
|
382
393
|
export function assertEventWaitTransition(previous, next) {
|
|
383
|
-
const a = decodeEventWaitRecord(previous);
|
|
384
|
-
|
|
394
|
+
const a = decodeEventWaitRecord(previous), b = decodeEventWaitRecord(next);
|
|
395
|
+
if (JSON.stringify(a.goalControlLease) !== JSON.stringify(b.goalControlLease))
|
|
396
|
+
invalid('immutable goalControlLease');
|
|
397
|
+
const { goalControlLease: _a, ...before } = a;
|
|
398
|
+
const { goalControlLease: _b, ...after } = b;
|
|
399
|
+
assertObservedEventWaitTransition(before, after);
|
|
400
|
+
}
|
|
401
|
+
export function assertObservedEventWaitTransition(previous, next) {
|
|
402
|
+
const a = decodeObservedEventWaitRecord(previous);
|
|
403
|
+
const b = decodeObservedEventWaitRecord(next);
|
|
385
404
|
const same = (x, y) => JSON.stringify(x) === JSON.stringify(y);
|
|
386
405
|
if (same(a, b))
|
|
387
406
|
return;
|
|
@@ -393,14 +412,13 @@ export function assertEventWaitTransition(previous, next) {
|
|
|
393
412
|
if (same(rest, prior) && b.updatedAt >= a.updatedAt)
|
|
394
413
|
return;
|
|
395
414
|
const { delivery: _acknowledgement, ...observation } = b;
|
|
396
|
-
|
|
415
|
+
assertObservedEventWaitTransition(a, observation);
|
|
397
416
|
return;
|
|
398
417
|
}
|
|
399
418
|
for (const field of [
|
|
400
419
|
'schemaVersion',
|
|
401
420
|
'waitId',
|
|
402
421
|
'sessionId',
|
|
403
|
-
'goalControlLease',
|
|
404
422
|
'sourceTurnId',
|
|
405
423
|
'sourceToolCallId',
|
|
406
424
|
'resource',
|
|
@@ -70,7 +70,8 @@ export function normalizeCatalogEntry(value, id) {
|
|
|
70
70
|
!isExecutorConfiguration({ mode: value.currentMode }) ||
|
|
71
71
|
typeof value.supportsAttachments !== 'boolean' ||
|
|
72
72
|
typeof value.supportsModelChange !== 'boolean' ||
|
|
73
|
-
(value.supportsModeChange !== undefined && typeof value.supportsModeChange !== 'boolean')
|
|
73
|
+
(value.supportsModeChange !== undefined && typeof value.supportsModeChange !== 'boolean') ||
|
|
74
|
+
(value.refreshFailed !== undefined && typeof value.refreshFailed !== 'boolean'))
|
|
74
75
|
throw new TypeError('Executor catalog is invalid');
|
|
75
76
|
const usedModels = new Set();
|
|
76
77
|
const groupIds = new Set();
|
|
@@ -127,6 +128,7 @@ export function normalizeCatalogEntry(value, id) {
|
|
|
127
128
|
...(value.currentMode !== undefined ? { currentMode: value.currentMode } : {}),
|
|
128
129
|
supportsAttachments: value.supportsAttachments,
|
|
129
130
|
supportsModelChange: value.supportsModelChange,
|
|
131
|
+
...(value.refreshFailed !== undefined ? { refreshFailed: value.refreshFailed } : {}),
|
|
130
132
|
...(value.supportsModeChange !== undefined
|
|
131
133
|
? { supportsModeChange: value.supportsModeChange }
|
|
132
134
|
: {}),
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
import { applyModelOverride, defaultThinkingLevelForConnection, resolveModelLimits, } from './model-thinking.js';
|
|
20
20
|
import { CODEX_SUBSCRIPTION_UNSUPPORTED_CHATGPT_MODELS, PROVIDER_REGISTRY, providerDefaultsOf, providerFallbackModelIds, providerSupportsModelDiscovery, } from './llm-connections.js';
|
|
21
21
|
import { isRetiredProvider } from './provider-retirement.js';
|
|
22
|
+
import { MINIMAX_TEXT_MODEL_IDS } from './models-dev-projection.js';
|
|
22
23
|
import { lookupModelMetadata, resolveModelVisionSupport } from './model-metadata.js';
|
|
23
24
|
import { thinkingVariantsForConnection, } from './model-thinking.js';
|
|
24
25
|
export function buildModelCatalogEntries(input) {
|
|
@@ -30,13 +31,30 @@ export function buildModelCatalogEntries(input) {
|
|
|
30
31
|
// shape of a failed or not-yet-run discovery. It must not hide the static
|
|
31
32
|
// fallback catalog from the picker. An empty fetched array is different: it
|
|
32
33
|
// is an authoritative provider response and should remain empty.
|
|
33
|
-
|
|
34
|
+
let rawModels = liveModels !== undefined && (liveModels.length > 0 || modelSource === 'fetched')
|
|
34
35
|
? liveModels
|
|
35
36
|
: (input.fallbackModels ?? []).map((id) => ({
|
|
36
37
|
id,
|
|
37
38
|
...displayNameForKnownModel(input.providerType, id),
|
|
38
39
|
}));
|
|
39
40
|
const savedModelIds = normalizedIdSet(input.savedModelIds);
|
|
41
|
+
if (input.providerType === 'MiniMax' || input.providerType === 'MiniMax-cn') {
|
|
42
|
+
// Discovery can lag a release. Keep the current direct text pair first,
|
|
43
|
+
// preserving custom/non-text entries and restoring saved legacy IDs below.
|
|
44
|
+
const discovered = new Map(rawModels.map((model) => [model.id, model]));
|
|
45
|
+
rawModels = [
|
|
46
|
+
...MINIMAX_TEXT_MODEL_IDS.map((id) => ({
|
|
47
|
+
...discovered.get(id),
|
|
48
|
+
id,
|
|
49
|
+
...lookupModelMetadata(input.providerType, id),
|
|
50
|
+
})),
|
|
51
|
+
...rawModels.filter((model) => !MINIMAX_TEXT_MODEL_IDS.some((id) => id === model.id) &&
|
|
52
|
+
(!/^MiniMax-(?:M1|M2|Text)(?:[.-]|$)/i.test(model.id) ||
|
|
53
|
+
model.id === normalizedDefaultModel ||
|
|
54
|
+
savedModelIds.has(model.id) ||
|
|
55
|
+
(model.modalities?.output && !model.modalities.output.includes('text')))),
|
|
56
|
+
];
|
|
57
|
+
}
|
|
40
58
|
const ctx = { input, normalizedDefaultModel };
|
|
41
59
|
const seen = new Set();
|
|
42
60
|
const entries = rawModels
|
|
@@ -597,22 +597,12 @@ export const GENERATED_MODELS_DEV_METADATA = {
|
|
|
597
597
|
"kimi-for-coding-highspeed": { "displayName": "Kimi For Coding HighSpeed", "description": "Lower-latency Kimi Code variant for interactive edits and coding-agent loops", "lifecycle": "active", "contextWindow": 262144, "maxOutputTokens": 32768, "knowledgeCutoff": "2025-01", "structuredOutput": true, "lastUpdated": "2026-06-12", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] } },
|
|
598
598
|
},
|
|
599
599
|
"MiniMax": {
|
|
600
|
-
"MiniMax-
|
|
601
|
-
"MiniMax-
|
|
602
|
-
"MiniMax-M2.5": { "displayName": "MiniMax-M2.5", "description": "Prior MiniMax coding model for agent workflows, office edits, and automation", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-02-12", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
603
|
-
"MiniMax-M2.5-highspeed": { "displayName": "MiniMax-M2.5-highspeed", "description": "High-speed MiniMax model for low-latency coding and agent workflows", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-02-13", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
604
|
-
"MiniMax-M2.7": { "displayName": "MiniMax-M2.7", "description": "Open MiniMax flagship for coding agents, office automation, and complex environments", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-03-18", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
605
|
-
"MiniMax-M2.7-highspeed": { "displayName": "MiniMax-M2.7-highspeed", "description": "Low-latency M2.7 variant for interactive coding plans and agent loops", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-03-18", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
606
|
-
"MiniMax-M3": { "displayName": "MiniMax-M3", "description": "MiniMax multimodal model for long-context coding, perception, and agent planning", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 512000, "lastUpdated": "2026-06-25", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "thinkingOptions": { "toggle": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] } },
|
|
600
|
+
"MiniMax-M3.1-Flash": { "displayName": "MiniMax-M3.1-Flash", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 524288, "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, "thinkingOptions": { "efforts": ["low", "medium", "high", "xhigh", "max"] } },
|
|
601
|
+
"MiniMax-M3": { "displayName": "MiniMax-M3", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 524288, "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, "thinkingOptions": { "toggle": true } },
|
|
607
602
|
},
|
|
608
603
|
"MiniMax-cn": {
|
|
609
|
-
"MiniMax-
|
|
610
|
-
"MiniMax-
|
|
611
|
-
"MiniMax-M2.5": { "displayName": "MiniMax-M2.5", "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-02-12", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
612
|
-
"MiniMax-M2.5-highspeed": { "displayName": "MiniMax-M2.5-highspeed", "description": "High-speed MiniMax model for low-latency coding and agent workflows", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-02-13", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
613
|
-
"MiniMax-M2.7": { "displayName": "MiniMax-M2.7", "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-03-18", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
614
|
-
"MiniMax-M2.7-highspeed": { "displayName": "MiniMax-M2.7-highspeed", "description": "High-speed MiniMax model for low-latency coding and agent workflows", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2026-03-18", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
615
|
-
"MiniMax-M3": { "displayName": "MiniMax-M3", "description": "MiniMax multimodal coding model for long-context reasoning and agent tasks", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 512000, "lastUpdated": "2026-06-25", "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "thinkingOptions": { "toggle": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] } },
|
|
604
|
+
"MiniMax-M3.1-Flash": { "displayName": "MiniMax-M3.1-Flash", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 524288, "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, "thinkingOptions": { "efforts": ["low", "medium", "high", "xhigh", "max"] } },
|
|
605
|
+
"MiniMax-M3": { "displayName": "MiniMax-M3", "lifecycle": "active", "contextWindow": 1000000, "maxOutputTokens": 524288, "capabilities": { "vision": true, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, "thinkingOptions": { "toggle": true } },
|
|
616
606
|
},
|
|
617
607
|
"minimax-coding-plan": {
|
|
618
608
|
"MiniMax-M2": { "displayName": "MiniMax-M2", "description": "MiniMax model for chat, coding, office work, and agentic tasks", "lifecycle": "active", "contextWindow": 204800, "maxOutputTokens": 131072, "lastUpdated": "2025-10-27", "capabilities": { "vision": false, "reasoning": true, "functionCalling": true }, "modalities": { "input": ["text"], "output": ["text"] } },
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* specific language governing permissions and limitations
|
|
17
17
|
* under the License.
|
|
18
18
|
*/
|
|
19
|
+
import { withMiniMaxTextCatalog } from './models-dev-projection.js';
|
|
19
20
|
import { GENERATED_MODELS_DEV_METADATA, GENERATED_MODELS_DEV_MODEL_PROVIDER_OVERRIDES, } from './model-metadata.generated.js';
|
|
20
21
|
/**
|
|
21
22
|
* What this build shipped, before any refresh. Read it to compare a refresh
|
|
@@ -36,7 +37,7 @@ let refreshedMetadata;
|
|
|
36
37
|
export function installRefreshedModelMetadata(metadata) {
|
|
37
38
|
if (metadata !== undefined)
|
|
38
39
|
assertWireTokenLimits(metadata);
|
|
39
|
-
refreshedMetadata = metadata;
|
|
40
|
+
refreshedMetadata = metadata === undefined ? undefined : withMiniMaxTextCatalog(metadata);
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* The wire carries a token limit only as a positive integer
|
|
@@ -431,6 +432,11 @@ const COMMAND_CODE_MODEL_METADATA = {
|
|
|
431
432
|
// 1.51.1–1.51.3 changelog had not been published at extraction time).
|
|
432
433
|
'MiniMaxAI/MiniMax-M3': { thinkingOptions: { efforts: ['low', 'medium', 'high'] } },
|
|
433
434
|
};
|
|
435
|
+
const MINIMAX_MODEL_OVERRIDES = {
|
|
436
|
+
'MiniMax-M3': {
|
|
437
|
+
thinkingOptions: { toggle: true, offBehavior: 'anthropic-thinking-disabled' },
|
|
438
|
+
},
|
|
439
|
+
};
|
|
434
440
|
// Facts that models.dev cannot express: provider wire controls and
|
|
435
441
|
// access-path-specific aliases/limits. Standard model facts stay generated.
|
|
436
442
|
//
|
|
@@ -438,6 +444,8 @@ const COMMAND_CODE_MODEL_METADATA = {
|
|
|
438
444
|
// derived from a provider's catalog cover models a refresh introduced.
|
|
439
445
|
function buildStaticModelMetadata(active) {
|
|
440
446
|
return {
|
|
447
|
+
MiniMax: MINIMAX_MODEL_OVERRIDES,
|
|
448
|
+
'MiniMax-cn': MINIMAX_MODEL_OVERRIDES,
|
|
441
449
|
anthropic: ANTHROPIC_MODEL_OVERRIDES,
|
|
442
450
|
opencode: {
|
|
443
451
|
'claude-sonnet-4-5': {
|
|
@@ -448,6 +456,39 @@ function buildStaticModelMetadata(active) {
|
|
|
448
456
|
},
|
|
449
457
|
},
|
|
450
458
|
openai: OPENAI_GPT6_MODEL_OVERRIDES,
|
|
459
|
+
// Inception is absent from the models.dev snapshot. Bootstrap chat facts
|
|
460
|
+
// from https://docs.inceptionlabs.ai/get-started/models and
|
|
461
|
+
// https://docs.inceptionlabs.ai/capabilities/reasoning-efforts.
|
|
462
|
+
// `instant` has no Maka thinking level; expose only the shared effort tiers.
|
|
463
|
+
inception: {
|
|
464
|
+
'mercury-3': {
|
|
465
|
+
displayName: 'Mercury 3',
|
|
466
|
+
contextWindow: 1_000_000,
|
|
467
|
+
maxOutputTokens: 131_072,
|
|
468
|
+
structuredOutput: true,
|
|
469
|
+
modalities: { input: ['text'], output: ['text'] },
|
|
470
|
+
capabilities: { vision: false, reasoning: true, functionCalling: true },
|
|
471
|
+
thinkingOptions: { efforts: ['low', 'medium', 'high'] },
|
|
472
|
+
},
|
|
473
|
+
'mercury-2.5': {
|
|
474
|
+
displayName: 'Mercury 2.5',
|
|
475
|
+
contextWindow: 260_000,
|
|
476
|
+
maxOutputTokens: 65_536,
|
|
477
|
+
structuredOutput: true,
|
|
478
|
+
modalities: { input: ['text'], output: ['text'] },
|
|
479
|
+
capabilities: { vision: false, reasoning: true, functionCalling: true },
|
|
480
|
+
thinkingOptions: { efforts: ['low', 'medium', 'high'] },
|
|
481
|
+
},
|
|
482
|
+
'mercury-2': {
|
|
483
|
+
displayName: 'Mercury 2',
|
|
484
|
+
contextWindow: 128_000,
|
|
485
|
+
maxOutputTokens: 50_000,
|
|
486
|
+
structuredOutput: true,
|
|
487
|
+
modalities: { input: ['text'], output: ['text'] },
|
|
488
|
+
capabilities: { vision: false, reasoning: true, functionCalling: true },
|
|
489
|
+
thinkingOptions: { efforts: ['low', 'medium', 'high'] },
|
|
490
|
+
},
|
|
491
|
+
},
|
|
451
492
|
'claude-subscription': claudeSubscriptionModelMetadata(active),
|
|
452
493
|
// The Command Code Provider-API plan rides the same effort table.
|
|
453
494
|
commandcode: COMMAND_CODE_MODEL_METADATA,
|
|
@@ -17,6 +17,37 @@
|
|
|
17
17
|
* under the License.
|
|
18
18
|
*/
|
|
19
19
|
export const MODELS_DEV_SOURCE_URL = 'https://models.dev/api.json';
|
|
20
|
+
// Direct API release facts take precedence over the lagging models.dev catalog.
|
|
21
|
+
// https://platform.minimax.io/docs/guides/models-intro.md
|
|
22
|
+
// https://platform.minimax.io/docs/api-reference/text-chat-anthropic.md
|
|
23
|
+
export const MINIMAX_TEXT_MODEL_IDS = ['MiniMax-M3.1-Flash', 'MiniMax-M3'];
|
|
24
|
+
const MINIMAX_TEXT_METADATA = Object.fromEntries(MINIMAX_TEXT_MODEL_IDS.map((id) => [
|
|
25
|
+
id,
|
|
26
|
+
{
|
|
27
|
+
displayName: id,
|
|
28
|
+
lifecycle: 'active',
|
|
29
|
+
contextWindow: 1_000_000,
|
|
30
|
+
maxOutputTokens: 524_288,
|
|
31
|
+
capabilities: { vision: true, reasoning: true, functionCalling: true },
|
|
32
|
+
modalities: { input: ['text', 'image', 'video'], output: ['text'] },
|
|
33
|
+
thinkingOptions: id === 'MiniMax-M3.1-Flash'
|
|
34
|
+
? { efforts: ['low', 'medium', 'high', 'xhigh', 'max'] }
|
|
35
|
+
: { toggle: true },
|
|
36
|
+
},
|
|
37
|
+
]));
|
|
38
|
+
/** Preserve non-text catalogs; this policy never touches saved connection models. */
|
|
39
|
+
export function withMiniMaxTextCatalog(metadata) {
|
|
40
|
+
const result = { ...metadata };
|
|
41
|
+
for (const providerType of ['MiniMax', 'MiniMax-cn']) {
|
|
42
|
+
if (!metadata[providerType])
|
|
43
|
+
continue;
|
|
44
|
+
result[providerType] = {
|
|
45
|
+
...MINIMAX_TEXT_METADATA,
|
|
46
|
+
...Object.fromEntries(Object.entries(metadata[providerType]).filter(([, model]) => model.modalities?.output && !model.modalities.output.includes('text'))),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
20
51
|
/** Every provider access path Maka serves, and the models.dev provider it reads. */
|
|
21
52
|
export const MODELS_DEV_PROVIDERS = {
|
|
22
53
|
anthropic: 'anthropic',
|
|
@@ -138,7 +169,7 @@ export function projectModelsDevMetadata(catalog) {
|
|
|
138
169
|
.sort(([left], [right]) => left.localeCompare(right))
|
|
139
170
|
.map(([id, model]) => [id, projectModelsDevModel(sourceId, id, provider, model)]));
|
|
140
171
|
}
|
|
141
|
-
return metadata;
|
|
172
|
+
return withMiniMaxTextCatalog(metadata);
|
|
142
173
|
}
|
|
143
174
|
export function projectModelsDevModel(providerId, modelId, provider, model) {
|
|
144
175
|
if (typeof provider.doc !== 'string' ||
|
|
@@ -588,6 +588,20 @@ const providerRegistry = {
|
|
|
588
588
|
signupUrl: 'https://platform.openai.com/api-keys',
|
|
589
589
|
catalogOrder: 10,
|
|
590
590
|
},
|
|
591
|
+
inception: {
|
|
592
|
+
label: 'Inception',
|
|
593
|
+
baseUrl: 'https://api.inceptionlabs.ai/v1',
|
|
594
|
+
authKind: 'api_key',
|
|
595
|
+
fallbackModels: ['mercury-3', 'mercury-2.5', 'mercury-2'],
|
|
596
|
+
status: 'ready',
|
|
597
|
+
runtimeAdapter: { kind: 'openai-compatible' },
|
|
598
|
+
// The general /models list also includes non-chat Edit and Decide models.
|
|
599
|
+
modelDiscovery: { kind: 'protocol', path: 'chat/completions/models' },
|
|
600
|
+
category: 'overseas',
|
|
601
|
+
catalogGroup: 'api',
|
|
602
|
+
signupUrl: 'https://platform.inceptionlabs.ai',
|
|
603
|
+
catalogOrder: 10.5,
|
|
604
|
+
},
|
|
591
605
|
google: {
|
|
592
606
|
label: 'Google Gemini',
|
|
593
607
|
menuLabel: 'Google',
|
|
@@ -671,7 +685,7 @@ const providerRegistry = {
|
|
|
671
685
|
label: 'MiniMax',
|
|
672
686
|
baseUrl: 'https://api.minimax.io/anthropic/v1',
|
|
673
687
|
authKind: 'api_key',
|
|
674
|
-
fallbackModels: ['MiniMax-M3', 'MiniMax-
|
|
688
|
+
fallbackModels: ['MiniMax-M3.1-Flash', 'MiniMax-M3'],
|
|
675
689
|
status: 'ready',
|
|
676
690
|
runtimeAdapter: { kind: 'anthropic', auth: 'bearer', normalizeBaseUrl: false },
|
|
677
691
|
modelDiscovery: { kind: 'protocol' },
|
|
@@ -684,7 +698,7 @@ const providerRegistry = {
|
|
|
684
698
|
label: 'MiniMax 中国站',
|
|
685
699
|
baseUrl: 'https://api.minimaxi.com/anthropic/v1',
|
|
686
700
|
authKind: 'api_key',
|
|
687
|
-
fallbackModels: ['MiniMax-M3', 'MiniMax-
|
|
701
|
+
fallbackModels: ['MiniMax-M3.1-Flash', 'MiniMax-M3'],
|
|
688
702
|
status: 'ready',
|
|
689
703
|
runtimeAdapter: { kind: 'anthropic', auth: 'bearer', normalizeBaseUrl: false },
|
|
690
704
|
modelDiscovery: { kind: 'protocol' },
|
|
@@ -183,6 +183,7 @@ const TEXT_CONTENT_SHAPE = defineObjectShape()(['kind', 'text'], [
|
|
|
183
183
|
'quotes',
|
|
184
184
|
'inlineReferences',
|
|
185
185
|
'steering',
|
|
186
|
+
'runtimeContextName',
|
|
186
187
|
'providerOptions',
|
|
187
188
|
]);
|
|
188
189
|
const THINKING_CONTENT_SHAPE = defineObjectShape()(['kind', 'text'], ['signature', 'providerOptions']);
|
|
@@ -379,11 +380,15 @@ export function decodeRuntimeEvent(value) {
|
|
|
379
380
|
content: {
|
|
380
381
|
kind: 'text',
|
|
381
382
|
...normalizeMessageContent(value.content),
|
|
383
|
+
...(value.content.interrupted === true ? { interrupted: true } : {}),
|
|
382
384
|
...(value.content.summary !== undefined ? { summary: value.content.summary } : {}),
|
|
383
385
|
...(value.content.origin !== undefined
|
|
384
386
|
? { origin: decodeTurnOrigin(value.content.origin) }
|
|
385
387
|
: {}),
|
|
386
388
|
...(value.content.steering === true ? { steering: true } : {}),
|
|
389
|
+
...(value.content.runtimeContextName !== undefined
|
|
390
|
+
? { runtimeContextName: value.content.runtimeContextName }
|
|
391
|
+
: {}),
|
|
387
392
|
},
|
|
388
393
|
};
|
|
389
394
|
}
|
|
@@ -409,6 +414,9 @@ function isRuntimeEventContent(value) {
|
|
|
409
414
|
(value.summary !== undefined && typeof value.summary !== 'string') ||
|
|
410
415
|
(value.origin !== undefined && !isTurnOrigin(value.origin)) ||
|
|
411
416
|
(value.steering !== undefined && value.steering !== true) ||
|
|
417
|
+
(value.runtimeContextName !== undefined &&
|
|
418
|
+
(typeof value.runtimeContextName !== 'string' ||
|
|
419
|
+
value.runtimeContextName.length === 0)) ||
|
|
412
420
|
(value.interrupted !== undefined && value.interrupted !== true) ||
|
|
413
421
|
(value.providerOptions !== undefined && !isRecord(value.providerOptions))) {
|
|
414
422
|
return false;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
/** Check-in card vocabulary shared by the Runtime, the Host protocol and clients. */
|
|
20
|
+
export const CHECKIN_MAX_CARDS = 4;
|
|
21
|
+
export const CHECKIN_TITLE_MAX_CHARS = 80;
|
|
22
|
+
export const CHECKIN_QUOTE_MAX_CHARS = 300;
|
|
23
|
+
export const CHECKIN_INSTRUCTION_MAX_CHARS = 2_000;
|
|
24
|
+
export const CHECKIN_CARD_ACTIONS = ['resume', 'continue', 'new_session', 'answer'];
|
|
25
|
+
export const CHECKIN_EVIDENCE_SOURCES = ['signal', 'user_request', 'assistant_message'];
|
|
26
|
+
export function isCheckinCardAction(value) {
|
|
27
|
+
return typeof value === 'string' && CHECKIN_CARD_ACTIONS.includes(value);
|
|
28
|
+
}
|
|
29
|
+
export function isCheckinEvidenceSource(value) {
|
|
30
|
+
return (typeof value === 'string' && CHECKIN_EVIDENCE_SOURCES.includes(value));
|
|
31
|
+
}
|
|
@@ -88,6 +88,7 @@
|
|
|
88
88
|
"./agent-graph-client-projection": "./dist/agent-graph-client-projection.js",
|
|
89
89
|
"./agent-graph-supervisor-wake": "./dist/agent-graph-supervisor-wake.js",
|
|
90
90
|
"./session-todo": "./dist/session-todo.js",
|
|
91
|
+
"./session-checkin": "./dist/session-checkin.js",
|
|
91
92
|
"./external-session": "./dist/external-session.js",
|
|
92
93
|
"./daily-review": "./dist/daily-review.js",
|
|
93
94
|
"./work-board": "./dist/work-board.js",
|
|
@@ -148,6 +149,7 @@
|
|
|
148
149
|
"./project": "./dist/project.js",
|
|
149
150
|
"./pty-output-view": "./dist/pty-output-view.js",
|
|
150
151
|
"./relative-time": "./dist/relative-time.js",
|
|
152
|
+
"./assistant-turn-ids": "./dist/assistant-turn-ids.js",
|
|
151
153
|
"./archive-retention": "./dist/archive-retention.js",
|
|
152
154
|
"./run-composition": "./dist/run-composition.js",
|
|
153
155
|
"./runtime-event-store": "./dist/runtime-event-store.js",
|
|
@@ -86,6 +86,24 @@ Using [benchmark-http2.js](https://github.com/nodejs/undici/blob/main/benchmarks
|
|
|
86
86
|
|
|
87
87
|
Node.js includes a built-in `fetch()` implementation powered by undici starting from Node.js v18. However, there are important differences between using the built-in fetch and installing undici as a separate module.
|
|
88
88
|
|
|
89
|
+
### WebAssembly requirement
|
|
90
|
+
|
|
91
|
+
Undici's HTTP/1 parser requires WebAssembly. There is no alternative parser when
|
|
92
|
+
WebAssembly is unavailable, for example in Node.js configurations where
|
|
93
|
+
`--jitless` disables it. The existence of `fetch` does not imply that it can make
|
|
94
|
+
HTTP/1 requests in that environment.
|
|
95
|
+
|
|
96
|
+
When the HTTP/1 parser is needed without WebAssembly, Client and dispatcher
|
|
97
|
+
requests fail with an `Error` whose code is `ERR_WEBASSEMBLY_NOT_SUPPORTED`.
|
|
98
|
+
`fetch` rejects with a `TypeError` carrying that error in `error.cause`. Importing
|
|
99
|
+
Undici, accessing `fetch`, and using `Headers`, `FormData`, `Request`, or `Response`
|
|
100
|
+
do not themselves require the HTTP/1 parser.
|
|
101
|
+
|
|
102
|
+
The error is defined locally in Undici and does not depend on Node.js providing
|
|
103
|
+
that error code. For built-in fetch, this behavior depends on the bundled Undici
|
|
104
|
+
version. Node.js receives upstream fixes through its normal vendored Undici
|
|
105
|
+
update, rather than changes to the generated bundle alone.
|
|
106
|
+
|
|
89
107
|
### Built-in Fetch (Node.js v18+)
|
|
90
108
|
|
|
91
109
|
Node.js's built-in fetch is powered by a bundled version of undici:
|
|
@@ -773,14 +791,18 @@ and `undici.Agent`) which will enable the family autoselection algorithm when es
|
|
|
773
791
|
|
|
774
792
|
## Collaborators
|
|
775
793
|
|
|
776
|
-
* [
|
|
777
|
-
* [
|
|
794
|
+
* [__Aras Abbasi__](https://github.com/Uzlopak)
|
|
795
|
+
* [__Carlos Fuentes__](https://github.com/metcoder95), <https://www.npmjs.com/~metcoder95>
|
|
796
|
+
* [__Ethan Arrowood__](https://github.com/Ethan-Arrowood), <https://www.npmjs.com/~ethan_arrowood>
|
|
778
797
|
* [__Matteo Collina__](https://github.com/mcollina), <https://www.npmjs.com/~matteo.collina>
|
|
779
798
|
* [__Matthew Aitken__](https://github.com/KhafraDev), <https://www.npmjs.com/~khaf>
|
|
799
|
+
* [__Mert Can Altin__](https://github.com/mertcanaltin), <https://www.npmjs.com/~mertcanaltin>
|
|
780
800
|
* [__Robert Nagy__](https://github.com/ronag), <https://www.npmjs.com/~ronag>
|
|
781
|
-
* [
|
|
801
|
+
* [__Trivikram Kamat__](https://github.com/trivikr), <https://www.npmjs.com/~trivikr>
|
|
802
|
+
* [__tsctx__](https://github.com/tsctx)
|
|
782
803
|
|
|
783
804
|
## Past Collaborators
|
|
805
|
+
* [__Szymon Marczak__](https://github.com/szmarczak), <https://www.npmjs.com/~szmarczak>
|
|
784
806
|
* [__Tomas Della Vedova__](https://github.com/delvedor), <https://www.npmjs.com/~delvedor>
|
|
785
807
|
|
|
786
808
|
### Releasers
|
|
@@ -42,7 +42,8 @@ added: v7.0.0
|
|
|
42
42
|
Stores cached responses in memory. The store enforces upper bounds on the total
|
|
43
43
|
number of responses, the total size of all responses, and the size of any single
|
|
44
44
|
response. When a limit is exceeded, the store evicts approximately half of its
|
|
45
|
-
entries and emits a
|
|
45
|
+
entries, least recently used first, and emits a
|
|
46
|
+
[`'maxSizeExceeded'`](#event-maxsizeexceeded) event.
|
|
46
47
|
|
|
47
48
|
```mjs
|
|
48
49
|
import { interceptors, cacheStores, Agent, setGlobalDispatcher } from 'undici'
|
|
@@ -163,7 +164,9 @@ added: v7.0.0
|
|
|
163
164
|
-->
|
|
164
165
|
|
|
165
166
|
Stores cached responses in a SQLite database using the [`node:sqlite`][] API.
|
|
166
|
-
The constructor throws when [`node:sqlite`][] is not available.
|
|
167
|
+
The constructor throws when [`node:sqlite`][] is not available. Response bodies
|
|
168
|
+
larger than `compressThreshold` are stored compressed with zstd and
|
|
169
|
+
decompressed when read back, saving database space.
|
|
167
170
|
|
|
168
171
|
```mjs
|
|
169
172
|
import { interceptors, cacheStores, Agent, setGlobalDispatcher } from 'undici'
|
|
@@ -189,9 +192,16 @@ added: v7.0.0
|
|
|
189
192
|
* `maxEntrySize` {number} The maximum size, in bytes, of a single response
|
|
190
193
|
body. Responses whose body exceeds this value are not cached. Must not
|
|
191
194
|
exceed `2000000000` (2 GB). **Default:** `2000000000` (2 GB).
|
|
195
|
+
* `compressThreshold` {number} The size, in bytes, above which a response
|
|
196
|
+
body is stored compressed with zstd. Responses with an easily compressible
|
|
197
|
+
Content-Type (e.g. json, xml, plain text) are compressed regardless of
|
|
198
|
+
size. Requires a Node version with zstd
|
|
199
|
+
support (22.19+); when unavailable, bodies are stored uncompressed.
|
|
200
|
+
**Default:** `1048576` (1 MiB).
|
|
192
201
|
|
|
193
|
-
`maxCount` and `
|
|
194
|
-
thrown otherwise, or if `maxEntrySize` is greater
|
|
202
|
+
`maxCount`, `maxEntrySize`, and `compressThreshold` must be non-negative
|
|
203
|
+
integers; a `TypeError` is thrown otherwise, or if `maxEntrySize` is greater
|
|
204
|
+
than 2 GB.
|
|
195
205
|
|
|
196
206
|
### `sqliteCacheStore.close()`
|
|
197
207
|
|
|
@@ -225,7 +235,8 @@ added: v7.0.0
|
|
|
225
235
|
See [`GetResult`](#getresult).
|
|
226
236
|
|
|
227
237
|
Looks up a cached response for `key`, comparing the request method and every
|
|
228
|
-
header named in the stored `vary` map.
|
|
238
|
+
header named in the stored `vary` map. A body that was stored compressed is
|
|
239
|
+
decompressed before being returned.
|
|
229
240
|
|
|
230
241
|
### `sqliteCacheStore.set(key, value)`
|
|
231
242
|
|
|
@@ -240,9 +251,11 @@ added: v7.0.0
|
|
|
240
251
|
* Returns: {undefined}
|
|
241
252
|
|
|
242
253
|
Writes a response into the database directly, without going through a stream. If
|
|
243
|
-
the body exceeds `maxEntrySize`, nothing is stored.
|
|
244
|
-
|
|
245
|
-
|
|
254
|
+
the body exceeds `maxEntrySize`, nothing is stored. A body larger than
|
|
255
|
+
`compressThreshold`, or with an easily compressible Content-Type (e.g. json,
|
|
256
|
+
xml, plain text), is compressed with zstd before being written. When an entry
|
|
257
|
+
already exists for `key` it is overwritten; otherwise a new row is inserted and
|
|
258
|
+
old entries are pruned to honour `maxCount`. This method is used internally by
|
|
246
259
|
[`sqliteCacheStore.createWriteStream()`](#sqlitecachestorecreatewritestreamkey-value).
|
|
247
260
|
|
|
248
261
|
### `sqliteCacheStore.createWriteStream(key, value)`
|
|
@@ -260,7 +273,9 @@ added: v7.0.0
|
|
|
260
273
|
|
|
261
274
|
Returns a {Writable} stream used to write the response body into the store. When
|
|
262
275
|
the stream finishes, the buffered body is committed via
|
|
263
|
-
[`sqliteCacheStore.set()`](#sqlitecachestoresetkey-value)
|
|
276
|
+
[`sqliteCacheStore.set()`](#sqlitecachestoresetkey-value), where bodies larger
|
|
277
|
+
than `compressThreshold` or with an easily compressible Content-Type are
|
|
278
|
+
compressed with zstd. If the body exceeds
|
|
264
279
|
`maxEntrySize`, the stream is destroyed and nothing is stored.
|
|
265
280
|
|
|
266
281
|
### `sqliteCacheStore.delete(key)`
|