@diffexai/diffex 0.3.0 → 0.3.2
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/CHANGELOG.md +45 -0
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.js +39 -0
- package/dist/core/agent-session-services.d.ts +1 -0
- package/dist/core/agent-session-services.js +1 -0
- package/dist/core/agent-session.d.ts +4 -5
- package/dist/core/agent-session.js +11 -62
- package/dist/core/compaction/branch-summarization.js +3 -2
- package/dist/core/compaction/compaction.js +9 -7
- package/dist/core/compaction/utils.d.ts +3 -0
- package/dist/core/compaction/utils.js +21 -0
- package/dist/core/current-plan-state.d.ts +3 -2
- package/dist/core/current-plan-state.js +23 -6
- package/dist/core/plan-snapshot.d.ts +3 -0
- package/dist/core/plan-snapshot.js +23 -0
- package/dist/core/sdk.d.ts +3 -0
- package/dist/core/sdk.js +1 -0
- package/dist/core/session-manager.js +21 -1
- package/dist/core/subagents/services.d.ts +2 -0
- package/dist/core/subagents/services.js +2 -0
- package/dist/core/tools/bash.js +47 -12
- package/dist/core/tools/update-plan.d.ts +27 -6
- package/dist/core/tools/update-plan.js +122 -18
- package/dist/index.d.ts +1 -0
- package/dist/main.js +4 -0
- package/dist/modes/interactive/components/footer.js +16 -5
- package/dist/modes/interactive/components/tool-group.d.ts +1 -0
- package/dist/modes/interactive/components/tool-group.js +26 -7
- package/dist/modes/print-mode.js +16 -13
- package/dist/node_modules/@diffexai/diffex-agent-core/dist/agent-loop.js +21 -3
- package/dist/node_modules/@diffexai/diffex-agent-core/dist/types.d.ts +17 -10
- package/dist/node_modules/@diffexai/diffex-agent-core/distribution-components.json +4 -4
- package/dist/node_modules/@diffexai/diffex-agent-core/distribution-files.json +3 -3
- package/dist/node_modules/@diffexai/diffex-agent-core/package.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/.manifest.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/amazon-bedrock.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/anthropic.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/azure-openai-responses.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/cerebras.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/fireworks.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/github-copilot.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/google-vertex.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/google.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/huggingface.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/minimax-cn.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/minimax.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/mistral.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/moonshotai-cn.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/moonshotai.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/nvidia.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/openai.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/opencode-go.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/opencode.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/openrouter.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/together.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/xai.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/xiaomi.json +1 -1
- package/dist/node_modules/@diffexai/diffex-ai/distribution-components.json +3 -3
- package/dist/node_modules/@diffexai/diffex-ai/distribution-files.json +30 -30
- package/dist/node_modules/@diffexai/diffex-ai/package.json +1 -1
- package/dist/node_modules/@diffexai/diffex-client/distribution-components.json +3 -3
- package/dist/node_modules/@diffexai/diffex-client/distribution-files.json +1 -1
- package/dist/node_modules/@diffexai/diffex-client/package.json +1 -1
- package/dist/node_modules/@diffexai/diffex-harness-state/distribution-components.json +2 -2
- package/dist/node_modules/@diffexai/diffex-harness-state/distribution-files.json +1 -1
- package/dist/node_modules/@diffexai/diffex-harness-state/package.json +1 -1
- package/dist/node_modules/@diffexai/diffex-protocol/distribution-components.json +2 -2
- package/dist/node_modules/@diffexai/diffex-protocol/distribution-files.json +1 -1
- package/dist/node_modules/@diffexai/diffex-protocol/package.json +1 -1
- package/dist/node_modules/@diffexai/diffex-telemetry/distribution-components.json +2 -2
- package/dist/node_modules/@diffexai/diffex-telemetry/distribution-files.json +1 -1
- package/dist/node_modules/@diffexai/diffex-telemetry/package.json +1 -1
- package/dist/node_modules/@diffexai/diffex-tui/distribution-components.json +2 -2
- package/dist/node_modules/@diffexai/diffex-tui/distribution-files.json +1 -1
- package/dist/node_modules/@diffexai/diffex-tui/package.json +1 -1
- package/dist/utils/child-process.d.ts +5 -1
- package/dist/utils/child-process.js +9 -1
- package/dist/utils/owned-shell-processes.d.ts +23 -2
- package/dist/utils/owned-shell-processes.js +149 -39
- package/dist/utils/shell-process-identity.d.ts +11 -0
- package/dist/utils/shell-process-identity.js +61 -0
- package/dist/utils/shell.d.ts +1 -1
- package/dist/utils/shell.js +5 -5
- package/distribution-components.json +11 -11
- package/distribution-files.json +101 -85
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/release/distribution-manifest.json +4 -4
- package/release/install-package-lock.json +5 -5
- package/release/install-package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"openai-completions":{"grok-4.3":{"id":"grok-4.3","name":"Grok 4.3","api":"openai-completions","provider":"xai","baseUrl":"https://api.x.ai/v1","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":2.5,"cacheRead":0.2,"cacheWrite":0},"contextWindow":1000000,"maxTokens":30000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"grok-4.6":{"id":"grok-4.6","name":"Grok 4.6","api":"openai-completions","provider":"xai","baseUrl":"https://api.x.ai/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0},"contextWindow":500000,"maxTokens":500000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"grok-build-0.1":{"id":"grok-build-0.1","name":"Grok Build 0.1","api":"openai-completions","provider":"xai","baseUrl":"https://api.x.ai/v1","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":2,"cacheRead":0.2,"cacheWrite":0},"contextWindow":256000,"maxTokens":256000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}}},"openai-responses":{"grok-4.5":{"id":"grok-4.5","name":"Grok 4.5","api":"openai-responses","provider":"xai","baseUrl":"https://api.x.ai/v1","compat":{"supportsLongCacheRetention":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.3,"cacheWrite":0},"contextWindow":500000,"maxTokens":500000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}
|
|
1
|
+
{"openai-completions":{"grok-4.3":{"id":"grok-4.3","name":"Grok 4.3","api":"openai-completions","provider":"xai","baseUrl":"https://api.x.ai/v1","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":2.5,"cacheRead":0.2,"cacheWrite":0},"contextWindow":1000000,"maxTokens":30000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"grok-4.6":{"id":"grok-4.6","name":"Grok 4.6","api":"openai-completions","provider":"xai","baseUrl":"https://api.x.ai/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0},"contextWindow":500000,"maxTokens":500000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"grok-4.7":{"id":"grok-4.7","name":"Grok 4.7","api":"openai-completions","provider":"xai","baseUrl":"https://api.x.ai/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0},"contextWindow":500000,"maxTokens":500000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"grok-build-0.1":{"id":"grok-build-0.1","name":"Grok Build 0.1","api":"openai-completions","provider":"xai","baseUrl":"https://api.x.ai/v1","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":2,"cacheRead":0.2,"cacheWrite":0},"contextWindow":256000,"maxTokens":256000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}}},"openai-responses":{"grok-4.5":{"id":"grok-4.5","name":"Grok 4.5","api":"openai-responses","provider":"xai","baseUrl":"https://api.x.ai/v1","compat":{"supportsLongCacheRetention":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.3,"cacheWrite":0},"contextWindow":500000,"maxTokens":500000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}
|
package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/xiaomi-token-plan-ams.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"openai-completions":{"mimo-v2-pro":{"id":"mimo-v2-pro","name":"MiMo-V2-Pro","api":"openai-completions","provider":"xiaomi-token-plan-ams","baseUrl":"https://token-plan-ams.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo-V2.5","api":"openai-completions","provider":"xiaomi-token-plan-ams","baseUrl":"https://token-plan-ams.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo-V2.5-Pro","api":"openai-completions","provider":"xiaomi-token-plan-ams","baseUrl":"https://token-plan-ams.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072}}}
|
|
1
|
+
{"openai-completions":{"mimo-v2-pro":{"id":"mimo-v2-pro","name":"MiMo-V2-Pro","api":"openai-completions","provider":"xiaomi-token-plan-ams","baseUrl":"https://token-plan-ams.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo-V2.5","api":"openai-completions","provider":"xiaomi-token-plan-ams","baseUrl":"https://token-plan-ams.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo-V2.5-Pro","api":"openai-completions","provider":"xiaomi-token-plan-ams","baseUrl":"https://token-plan-ams.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-flash":{"id":"mimo-v2.6-flash","name":"MiMo-V2.6-Flash","api":"openai-completions","provider":"xiaomi-token-plan-ams","baseUrl":"https://token-plan-ams.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-pro":{"id":"mimo-v2.6-pro","name":"MiMo-V2.6-Pro","api":"openai-completions","provider":"xiaomi-token-plan-ams","baseUrl":"https://token-plan-ams.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"openai-completions":{"mimo-v2-pro":{"id":"mimo-v2-pro","name":"MiMo-V2-Pro","api":"openai-completions","provider":"xiaomi-token-plan-cn","baseUrl":"https://token-plan-cn.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo-V2.5","api":"openai-completions","provider":"xiaomi-token-plan-cn","baseUrl":"https://token-plan-cn.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo-V2.5-Pro","api":"openai-completions","provider":"xiaomi-token-plan-cn","baseUrl":"https://token-plan-cn.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072}}}
|
|
1
|
+
{"openai-completions":{"mimo-v2-pro":{"id":"mimo-v2-pro","name":"MiMo-V2-Pro","api":"openai-completions","provider":"xiaomi-token-plan-cn","baseUrl":"https://token-plan-cn.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo-V2.5","api":"openai-completions","provider":"xiaomi-token-plan-cn","baseUrl":"https://token-plan-cn.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo-V2.5-Pro","api":"openai-completions","provider":"xiaomi-token-plan-cn","baseUrl":"https://token-plan-cn.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-flash":{"id":"mimo-v2.6-flash","name":"MiMo-V2.6-Flash","api":"openai-completions","provider":"xiaomi-token-plan-cn","baseUrl":"https://token-plan-cn.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-pro":{"id":"mimo-v2.6-pro","name":"MiMo-V2.6-Pro","api":"openai-completions","provider":"xiaomi-token-plan-cn","baseUrl":"https://token-plan-cn.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072}}}
|
package/dist/node_modules/@diffexai/diffex-ai/dist/providers/data/xiaomi-token-plan-sgp.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"openai-completions":{"mimo-v2-pro":{"id":"mimo-v2-pro","name":"MiMo-V2-Pro","api":"openai-completions","provider":"xiaomi-token-plan-sgp","baseUrl":"https://token-plan-sgp.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo-V2.5","api":"openai-completions","provider":"xiaomi-token-plan-sgp","baseUrl":"https://token-plan-sgp.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo-V2.5-Pro","api":"openai-completions","provider":"xiaomi-token-plan-sgp","baseUrl":"https://token-plan-sgp.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072}}}
|
|
1
|
+
{"openai-completions":{"mimo-v2-pro":{"id":"mimo-v2-pro","name":"MiMo-V2-Pro","api":"openai-completions","provider":"xiaomi-token-plan-sgp","baseUrl":"https://token-plan-sgp.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo-V2.5","api":"openai-completions","provider":"xiaomi-token-plan-sgp","baseUrl":"https://token-plan-sgp.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo-V2.5-Pro","api":"openai-completions","provider":"xiaomi-token-plan-sgp","baseUrl":"https://token-plan-sgp.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-flash":{"id":"mimo-v2.6-flash","name":"MiMo-V2.6-Flash","api":"openai-completions","provider":"xiaomi-token-plan-sgp","baseUrl":"https://token-plan-sgp.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-pro":{"id":"mimo-v2.6-pro","name":"MiMo-V2.6-Pro","api":"openai-completions","provider":"xiaomi-token-plan-sgp","baseUrl":"https://token-plan-sgp.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"openai-completions":{"mimo-v2-flash":{"id":"mimo-v2-flash","name":"MiMo-V2-Flash","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":262144,"maxTokens":65536},"mimo-v2-omni":{"id":"mimo-v2-omni","name":"MiMo-V2-Omni","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":262144,"maxTokens":131072},"mimo-v2-pro":{"id":"mimo-v2-pro","name":"MiMo-V2-Pro","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.0036,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo-V2.5","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo-V2.5-Pro","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.0036,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro-ultraspeed":{"id":"mimo-v2.5-pro-ultraspeed","name":"MiMo-V2.5-Pro-UltraSpeed","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":1.305,"output":2.61,"cacheRead":0.0108,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072}}}
|
|
1
|
+
{"openai-completions":{"mimo-v2-flash":{"id":"mimo-v2-flash","name":"MiMo-V2-Flash","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":262144,"maxTokens":65536},"mimo-v2-omni":{"id":"mimo-v2-omni","name":"MiMo-V2-Omni","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":262144,"maxTokens":131072},"mimo-v2-pro":{"id":"mimo-v2-pro","name":"MiMo-V2-Pro","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.0036,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo-V2.5","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo-V2.5-Pro","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.0036,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.5-pro-ultraspeed":{"id":"mimo-v2.5-pro-ultraspeed","name":"MiMo-V2.5-Pro-UltraSpeed","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":1.305,"output":2.61,"cacheRead":0.0108,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-flash":{"id":"mimo-v2.6-flash","name":"MiMo-V2.6-Flash","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-pro":{"id":"mimo-v2.6-pro","name":"MiMo-V2.6-Pro","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.0036,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"mimo-v2.6-pro-ultraspeed":{"id":"mimo-v2.6-pro-ultraspeed","name":"MiMo-V2.6-Pro-UltraSpeed","api":"openai-completions","provider":"xiaomi","baseUrl":"https://api.xiaomimimo.com/v1","compat":{"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text","image"],"cost":{"input":4.35,"output":8.7,"cacheRead":0.036,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072}}}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"name": "@diffexai/diffex-ai",
|
|
4
|
-
"version": "0.3.
|
|
5
|
-
"sourceCommit": "
|
|
4
|
+
"version": "0.3.2",
|
|
5
|
+
"sourceCommit": "57dbba8a810d2e4cc81e48a30a4f5736e0e2d5bf",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"portions": "Diffex contributions; Pi-derived portions retain MIT terms in LICENSE",
|
|
8
8
|
"notice": "LICENSE",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"name": "@diffexai/diffex-telemetry",
|
|
23
|
-
"version": "^0.3.
|
|
23
|
+
"version": "^0.3.2",
|
|
24
24
|
"distribution": "resolved separately by package manager; not bundled in this npm tarball"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sourceCommit": "
|
|
2
|
+
"sourceCommit": "57dbba8a810d2e4cc81e48a30a4f5736e0e2d5bf",
|
|
3
3
|
"algorithm": "sha256",
|
|
4
4
|
"files": [
|
|
5
5
|
{
|
|
@@ -676,11 +676,11 @@
|
|
|
676
676
|
},
|
|
677
677
|
{
|
|
678
678
|
"path": "dist/providers/data/.manifest.json",
|
|
679
|
-
"sha256": "
|
|
679
|
+
"sha256": "451dbdfb1a61cb43edd8c4afa4da89cc8d9856f4c2cb0d7abb354842cdbe925b"
|
|
680
680
|
},
|
|
681
681
|
{
|
|
682
682
|
"path": "dist/providers/data/amazon-bedrock.json",
|
|
683
|
-
"sha256": "
|
|
683
|
+
"sha256": "1e0b4308b61f51c642616571d53efcca4aada249b20d220ca9068df7e5ea52fd"
|
|
684
684
|
},
|
|
685
685
|
{
|
|
686
686
|
"path": "dist/providers/data/ant-ling.json",
|
|
@@ -688,11 +688,11 @@
|
|
|
688
688
|
},
|
|
689
689
|
{
|
|
690
690
|
"path": "dist/providers/data/anthropic.json",
|
|
691
|
-
"sha256": "
|
|
691
|
+
"sha256": "b2976a77dd2a3260d401918df7c523bd2124abae2382f7a67229829e2701d899"
|
|
692
692
|
},
|
|
693
693
|
{
|
|
694
694
|
"path": "dist/providers/data/azure-openai-responses.json",
|
|
695
|
-
"sha256": "
|
|
695
|
+
"sha256": "dfcc219adb7d04783861274cb94ac503b9a0d9f00a4e77c3637ebfc779ee5eb8"
|
|
696
696
|
},
|
|
697
697
|
{
|
|
698
698
|
"path": "dist/providers/data/baseten.json",
|
|
@@ -700,15 +700,15 @@
|
|
|
700
700
|
},
|
|
701
701
|
{
|
|
702
702
|
"path": "dist/providers/data/cerebras.json",
|
|
703
|
-
"sha256": "
|
|
703
|
+
"sha256": "3be228c613905c215c9da3d0b3535e10cc594ff2351b05390744c7c34de89b6c"
|
|
704
704
|
},
|
|
705
705
|
{
|
|
706
706
|
"path": "dist/providers/data/cloudflare-ai-gateway.json",
|
|
707
|
-
"sha256": "
|
|
707
|
+
"sha256": "fac11bff507133190fcb7cb216656a8ad1b8d3b8c37c1b523a6d85f931b0cbda"
|
|
708
708
|
},
|
|
709
709
|
{
|
|
710
710
|
"path": "dist/providers/data/cloudflare-workers-ai.json",
|
|
711
|
-
"sha256": "
|
|
711
|
+
"sha256": "6012eb769382a5a9fa96ec5f429f6744848e377327c9063573a15006ef0652ce"
|
|
712
712
|
},
|
|
713
713
|
{
|
|
714
714
|
"path": "dist/providers/data/deepseek.json",
|
|
@@ -716,19 +716,19 @@
|
|
|
716
716
|
},
|
|
717
717
|
{
|
|
718
718
|
"path": "dist/providers/data/fireworks.json",
|
|
719
|
-
"sha256": "
|
|
719
|
+
"sha256": "f3e423850d1509690c0d8cfd4071bdb822f01a05e6d691032c309476edc8a927"
|
|
720
720
|
},
|
|
721
721
|
{
|
|
722
722
|
"path": "dist/providers/data/github-copilot.json",
|
|
723
|
-
"sha256": "
|
|
723
|
+
"sha256": "418a6da7c705b9043ffecc21597cb7d79bf80b6fb117f95a5a7675b68a032539"
|
|
724
724
|
},
|
|
725
725
|
{
|
|
726
726
|
"path": "dist/providers/data/google-vertex.json",
|
|
727
|
-
"sha256": "
|
|
727
|
+
"sha256": "97d80ac909d256cc1bf19ac54d9d8131c492e7c0c102ad89f68ade528544e0ad"
|
|
728
728
|
},
|
|
729
729
|
{
|
|
730
730
|
"path": "dist/providers/data/google.json",
|
|
731
|
-
"sha256": "
|
|
731
|
+
"sha256": "68f6cf6283cc0d69b77b0fa79e9c94774e96524f61ebba616319f05d5c9db56c"
|
|
732
732
|
},
|
|
733
733
|
{
|
|
734
734
|
"path": "dist/providers/data/groq.json",
|
|
@@ -736,7 +736,7 @@
|
|
|
736
736
|
},
|
|
737
737
|
{
|
|
738
738
|
"path": "dist/providers/data/huggingface.json",
|
|
739
|
-
"sha256": "
|
|
739
|
+
"sha256": "2f93082144a7b2a1cbf79148244ce7559e0428d6310c5eb0648bca89b15a8b4b"
|
|
740
740
|
},
|
|
741
741
|
{
|
|
742
742
|
"path": "dist/providers/data/kimi-coding.json",
|
|
@@ -744,27 +744,27 @@
|
|
|
744
744
|
},
|
|
745
745
|
{
|
|
746
746
|
"path": "dist/providers/data/minimax-cn.json",
|
|
747
|
-
"sha256": "
|
|
747
|
+
"sha256": "4f636b47b28a507ad33b5eaba33fc4889e5956504d10f2a0d9c61167ae01ff1d"
|
|
748
748
|
},
|
|
749
749
|
{
|
|
750
750
|
"path": "dist/providers/data/minimax.json",
|
|
751
|
-
"sha256": "
|
|
751
|
+
"sha256": "9fd1764ffeefebded8579039cf0c48854a43e4c5b724f62361fc2ac54f705aa1"
|
|
752
752
|
},
|
|
753
753
|
{
|
|
754
754
|
"path": "dist/providers/data/mistral.json",
|
|
755
|
-
"sha256": "
|
|
755
|
+
"sha256": "9da97430d9b86ad7f606b0fc088694e7a04c38bfa8963a33e1205b3141c917eb"
|
|
756
756
|
},
|
|
757
757
|
{
|
|
758
758
|
"path": "dist/providers/data/moonshotai-cn.json",
|
|
759
|
-
"sha256": "
|
|
759
|
+
"sha256": "c1d6024d0095bb34e33847a3281692e8ddb7ddbb61748a0373cdab45f414d264"
|
|
760
760
|
},
|
|
761
761
|
{
|
|
762
762
|
"path": "dist/providers/data/moonshotai.json",
|
|
763
|
-
"sha256": "
|
|
763
|
+
"sha256": "08b8a7bbb30aa3a5ed077f02bd59ea5e9d32a1a8257e56d1606be8d722091783"
|
|
764
764
|
},
|
|
765
765
|
{
|
|
766
766
|
"path": "dist/providers/data/nvidia.json",
|
|
767
|
-
"sha256": "
|
|
767
|
+
"sha256": "6493e09b5db8b8fe9c8fae5bc15dc287645f37f83a4ed3a1ad1181e5830b5ff7"
|
|
768
768
|
},
|
|
769
769
|
{
|
|
770
770
|
"path": "dist/providers/data/openai-codex.json",
|
|
@@ -772,19 +772,19 @@
|
|
|
772
772
|
},
|
|
773
773
|
{
|
|
774
774
|
"path": "dist/providers/data/openai.json",
|
|
775
|
-
"sha256": "
|
|
775
|
+
"sha256": "d8107710ade17d9c177b677135bf1ae88d6b884ee765cd64b74afe501f1f0844"
|
|
776
776
|
},
|
|
777
777
|
{
|
|
778
778
|
"path": "dist/providers/data/opencode-go.json",
|
|
779
|
-
"sha256": "
|
|
779
|
+
"sha256": "af32bbce67a5b2f705c43cd47e301e9fd4548bd3af03daaebb4b63bca864f9bc"
|
|
780
780
|
},
|
|
781
781
|
{
|
|
782
782
|
"path": "dist/providers/data/opencode.json",
|
|
783
|
-
"sha256": "
|
|
783
|
+
"sha256": "b3b709db64eb71505560758e36d287458280ce3d361d0d87ab5d616d6d6cf8a3"
|
|
784
784
|
},
|
|
785
785
|
{
|
|
786
786
|
"path": "dist/providers/data/openrouter.json",
|
|
787
|
-
"sha256": "
|
|
787
|
+
"sha256": "21dbdf7e09616dd36bfbf2121801cee9b8f68b5462e69c009bf1f665a2ba4002"
|
|
788
788
|
},
|
|
789
789
|
{
|
|
790
790
|
"path": "dist/providers/data/qwen-token-plan-cn.json",
|
|
@@ -800,31 +800,31 @@
|
|
|
800
800
|
},
|
|
801
801
|
{
|
|
802
802
|
"path": "dist/providers/data/together.json",
|
|
803
|
-
"sha256": "
|
|
803
|
+
"sha256": "b4971d293e5be6b9acaf7b5d9aa588e6374e5317c116e98437128197c39a2fac"
|
|
804
804
|
},
|
|
805
805
|
{
|
|
806
806
|
"path": "dist/providers/data/vercel-ai-gateway.json",
|
|
807
|
-
"sha256": "
|
|
807
|
+
"sha256": "79ffb1b0c83cec8d26472ddc519ad6184eeb9cb1c960fd02c7dbf1473dcc5871"
|
|
808
808
|
},
|
|
809
809
|
{
|
|
810
810
|
"path": "dist/providers/data/xai.json",
|
|
811
|
-
"sha256": "
|
|
811
|
+
"sha256": "d036f5d1ececd7280c09ca1a6249553f39a7a1087ddb129a0d689a427fc944c4"
|
|
812
812
|
},
|
|
813
813
|
{
|
|
814
814
|
"path": "dist/providers/data/xiaomi-token-plan-ams.json",
|
|
815
|
-
"sha256": "
|
|
815
|
+
"sha256": "9581074003df2c31dbe483221dbbd1891e92d05102fcb816d51cbb22542174cf"
|
|
816
816
|
},
|
|
817
817
|
{
|
|
818
818
|
"path": "dist/providers/data/xiaomi-token-plan-cn.json",
|
|
819
|
-
"sha256": "
|
|
819
|
+
"sha256": "df9f18cca62ed29398124b3c9f50b157eea83c32167579a40ac129a3a673e4d6"
|
|
820
820
|
},
|
|
821
821
|
{
|
|
822
822
|
"path": "dist/providers/data/xiaomi-token-plan-sgp.json",
|
|
823
|
-
"sha256": "
|
|
823
|
+
"sha256": "5681a7eed774bc4b4e296cdae1a5028176b856b48af96cbd7776a03ba905aab1"
|
|
824
824
|
},
|
|
825
825
|
{
|
|
826
826
|
"path": "dist/providers/data/xiaomi.json",
|
|
827
|
-
"sha256": "
|
|
827
|
+
"sha256": "506eef7c189328cabce83768a48ec3e59c3f8a575f840d8ffcefa6966c340562"
|
|
828
828
|
},
|
|
829
829
|
{
|
|
830
830
|
"path": "dist/providers/data/zai-coding-cn.json",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"name": "@diffexai/diffex-client",
|
|
4
|
-
"version": "0.3.
|
|
5
|
-
"sourceCommit": "
|
|
4
|
+
"version": "0.3.2",
|
|
5
|
+
"sourceCommit": "57dbba8a810d2e4cc81e48a30a4f5736e0e2d5bf",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"portions": "Diffex contributions; Pi-derived portions retain MIT terms in LICENSE",
|
|
8
8
|
"notice": "LICENSE",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"name": "@diffexai/diffex-protocol",
|
|
13
|
-
"version": "^0.3.
|
|
13
|
+
"version": "^0.3.2",
|
|
14
14
|
"distribution": "resolved separately by package manager; not bundled in this npm tarball"
|
|
15
15
|
}
|
|
16
16
|
]
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"name": "@diffexai/diffex-harness-state",
|
|
4
|
-
"version": "0.3.
|
|
5
|
-
"sourceCommit": "
|
|
4
|
+
"version": "0.3.2",
|
|
5
|
+
"sourceCommit": "57dbba8a810d2e4cc81e48a30a4f5736e0e2d5bf",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"portions": "Diffex contributions; Pi-derived portions retain MIT terms in LICENSE",
|
|
8
8
|
"notice": "LICENSE",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"name": "@diffexai/diffex-protocol",
|
|
4
|
-
"version": "0.3.
|
|
5
|
-
"sourceCommit": "
|
|
4
|
+
"version": "0.3.2",
|
|
5
|
+
"sourceCommit": "57dbba8a810d2e4cc81e48a30a4f5736e0e2d5bf",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"portions": "Diffex contributions; Pi-derived portions retain MIT terms in LICENSE",
|
|
8
8
|
"notice": "LICENSE",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"name": "@diffexai/diffex-telemetry",
|
|
4
|
-
"version": "0.3.
|
|
5
|
-
"sourceCommit": "
|
|
4
|
+
"version": "0.3.2",
|
|
5
|
+
"sourceCommit": "57dbba8a810d2e4cc81e48a30a4f5736e0e2d5bf",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"portions": "Diffex contributions; Pi-derived portions retain MIT terms in LICENSE",
|
|
8
8
|
"notice": "LICENSE",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"name": "@diffexai/diffex-tui",
|
|
4
|
-
"version": "0.3.
|
|
5
|
-
"sourceCommit": "
|
|
4
|
+
"version": "0.3.2",
|
|
5
|
+
"sourceCommit": "57dbba8a810d2e4cc81e48a30a4f5736e0e2d5bf",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"portions": "Diffex contributions; Pi-derived portions retain MIT terms in LICENSE",
|
|
8
8
|
"notice": "LICENSE",
|
|
@@ -13,5 +13,9 @@ export declare function spawnProcessSync(command: string, args: string[], option
|
|
|
13
13
|
* the grace timer is re-armed on every chunk, so an actively writing descendant keeps
|
|
14
14
|
* us reading, while a quiet inherited handle (e.g. a Windows daemonized descendant
|
|
15
15
|
* that never lets `close` fire) still releases us after the grace elapses.
|
|
16
|
+
* Callers handing background jobs to an environment can explicitly bound draining
|
|
17
|
+
* with maxPostExitMs so ongoing service output cannot block session disposal.
|
|
16
18
|
*/
|
|
17
|
-
export declare function waitForChildProcess(child: ChildProcess
|
|
19
|
+
export declare function waitForChildProcess(child: ChildProcess, options?: {
|
|
20
|
+
maxPostExitMs?: number;
|
|
21
|
+
}): Promise<number | null>;
|
|
@@ -19,16 +19,21 @@ export function spawnProcessSync(command, args, options) {
|
|
|
19
19
|
* the grace timer is re-armed on every chunk, so an actively writing descendant keeps
|
|
20
20
|
* us reading, while a quiet inherited handle (e.g. a Windows daemonized descendant
|
|
21
21
|
* that never lets `close` fire) still releases us after the grace elapses.
|
|
22
|
+
* Callers handing background jobs to an environment can explicitly bound draining
|
|
23
|
+
* with maxPostExitMs so ongoing service output cannot block session disposal.
|
|
22
24
|
*/
|
|
23
|
-
export function waitForChildProcess(child) {
|
|
25
|
+
export function waitForChildProcess(child, options) {
|
|
24
26
|
return new Promise((resolve, reject) => {
|
|
25
27
|
let settled = false;
|
|
26
28
|
let exited = false;
|
|
27
29
|
let exitCode = null;
|
|
28
30
|
let postExitTimer;
|
|
31
|
+
let postExitDeadline;
|
|
29
32
|
let stdoutEnded = child.stdout === null;
|
|
30
33
|
let stderrEnded = child.stderr === null;
|
|
31
34
|
const cleanup = () => {
|
|
35
|
+
if (postExitDeadline)
|
|
36
|
+
clearTimeout(postExitDeadline);
|
|
32
37
|
if (postExitTimer) {
|
|
33
38
|
clearTimeout(postExitTimer);
|
|
34
39
|
postExitTimer = undefined;
|
|
@@ -88,6 +93,9 @@ export function waitForChildProcess(child) {
|
|
|
88
93
|
exitCode = code;
|
|
89
94
|
maybeFinalizeAfterExit();
|
|
90
95
|
if (!settled) {
|
|
96
|
+
if (options?.maxPostExitMs !== undefined) {
|
|
97
|
+
postExitDeadline = setTimeout(() => finalize(exitCode), options.maxPostExitMs);
|
|
98
|
+
}
|
|
91
99
|
armIdleTimer();
|
|
92
100
|
}
|
|
93
101
|
};
|
|
@@ -1,7 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
import { type ShellProcessIdentity } from "./shell-process-identity.ts";
|
|
2
|
+
export type BackgroundProcessPolicy = {
|
|
3
|
+
readonly lifetime: "session";
|
|
4
|
+
} | {
|
|
5
|
+
readonly lifetime: "environment";
|
|
6
|
+
readonly ownershipDirectory: string;
|
|
7
|
+
};
|
|
8
|
+
export interface ShellOwnershipRecord {
|
|
9
|
+
readonly version: 1;
|
|
10
|
+
readonly executionId: string;
|
|
11
|
+
readonly owner: "session" | "environment";
|
|
12
|
+
readonly state: "active" | "background" | "terminated";
|
|
13
|
+
readonly processGroupId: number;
|
|
14
|
+
readonly supervisorPid: number;
|
|
15
|
+
readonly members: readonly ShellProcessIdentity[];
|
|
16
|
+
}
|
|
17
|
+
/** Session ownership ends only after a successful, durably published handoff. */
|
|
2
18
|
export declare class OwnedShellProcesses {
|
|
3
19
|
#private;
|
|
4
|
-
|
|
20
|
+
readonly policy: BackgroundProcessPolicy;
|
|
21
|
+
constructor(policy?: BackgroundProcessPolicy);
|
|
22
|
+
track(pid: number, executionId: string): void;
|
|
23
|
+
/** Called synchronously on shell exit, before output draining or another event can cancel it. */
|
|
24
|
+
complete(pid: number, successful: boolean): void;
|
|
25
|
+
terminate(pid: number): void;
|
|
5
26
|
releaseIfExited(pid: number): void;
|
|
6
27
|
get count(): number;
|
|
7
28
|
terminateAll(): Promise<void>;
|