@kodax-ai/kodax 0.7.81 → 0.7.83

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +22 -0
  3. package/README_CN.md +17 -0
  4. package/dist/chunks/{agent-UMBMZLCW.js → agent-S7LMMTG7.js} +1 -1
  5. package/dist/chunks/argument-completer-SQHG2LYE.js +2 -0
  6. package/dist/chunks/chunk-37RT45HT.js +379 -0
  7. package/dist/chunks/{chunk-WLGQ6XI2.js → chunk-3DKQC7A2.js} +138 -138
  8. package/dist/chunks/{chunk-QMPJJCBE.js → chunk-45E23YJI.js} +142 -67
  9. package/dist/chunks/{chunk-D66EWPAX.js → chunk-6QILIBOU.js} +156 -156
  10. package/dist/chunks/{chunk-ITY7HLSS.js → chunk-DSFHIUHZ.js} +2 -2
  11. package/dist/chunks/{chunk-5XCQGFGP.js → chunk-DZUMH6GJ.js} +1 -1
  12. package/dist/chunks/{chunk-BNFUIZKY.js → chunk-HI6RCW5Y.js} +2 -2
  13. package/dist/chunks/{chunk-THBWLOA3.js → chunk-LF2JBTBG.js} +4 -4
  14. package/dist/chunks/{chunk-FGQZUN7C.js → chunk-RAQGGVIF.js} +1 -1
  15. package/dist/chunks/{chunk-VTFG3B7U.js → chunk-TC2VHPG5.js} +14 -14
  16. package/dist/chunks/{chunk-LLWRPP6U.js → chunk-URCS6CVP.js} +1 -1
  17. package/dist/chunks/{chunk-RX3X3PER.js → chunk-XB2JNLXH.js} +2 -2
  18. package/dist/chunks/{compaction-config-SSPH4V36.js → compaction-config-SSQ5NXUP.js} +1 -1
  19. package/dist/chunks/{construction-bootstrap-P5ZKDLTM.js → construction-bootstrap-E4M3CY3N.js} +1 -1
  20. package/dist/chunks/{dist-7J763N5L.js → dist-MIXP4ULB.js} +1 -1
  21. package/dist/chunks/{host-22ITM5E3.js → host-ZCPI7SMC.js} +1 -1
  22. package/dist/chunks/{run-manager-ABNHISGD.js → run-manager-4RYG7HSP.js} +1 -1
  23. package/dist/chunks/{utils-ATKWKEDP.js → utils-7DKE2EKT.js} +1 -1
  24. package/dist/index.d.ts +13 -13
  25. package/dist/index.js +5 -5
  26. package/dist/kodax_bootstrap.js +1 -1
  27. package/dist/kodax_cli.js +1708 -1284
  28. package/dist/kodax_resume.js +140 -65
  29. package/dist/runtime-worker.js +1538 -1114
  30. package/dist/sandbox-workspace-session.js +121 -46
  31. package/dist/sdk-a2a.d.ts +8 -8
  32. package/dist/sdk-a2a.js +1 -1
  33. package/dist/sdk-agent.d.ts +16 -9
  34. package/dist/sdk-agent.js +1 -1
  35. package/dist/sdk-coding.d.ts +13 -13
  36. package/dist/sdk-coding.js +1 -1
  37. package/dist/sdk-mcp.js +1 -1
  38. package/dist/sdk-repl.d.ts +11 -11
  39. package/dist/sdk-repl.js +1 -1
  40. package/dist/sdk-runtime.d.ts +55 -10
  41. package/dist/sdk-runtime.js +1 -1
  42. package/dist/sdk-sandbox.js +1 -1
  43. package/dist/sdk-session.d.ts +4 -4
  44. package/dist/sdk-session.js +1 -1
  45. package/dist/sdk-skills.js +1 -1
  46. package/dist/semantic-worker.js +120 -45
  47. package/dist/types-chunks/{bash-prefix-extractor.d-D_bvmnHs.d.ts → bash-prefix-extractor.d-CJM7OY-L.d.ts} +2 -2
  48. package/dist/types-chunks/{capsule.d-BFpbFq-C.d.ts → capsule.d-B7yoH4dM.d.ts} +1 -1
  49. package/dist/types-chunks/{controller.d-C2aHqzHj.d.ts → controller.d-CYNuR2n9.d.ts} +2 -2
  50. package/dist/types-chunks/{guardrail.d-CrSR1T_a.d.ts → guardrail.d-fM3mn4Op.d.ts} +2 -2
  51. package/dist/types-chunks/{history-retrieval.d-DImTKgO6.d.ts → history-retrieval.d-BDI-ZMvY.d.ts} +1 -1
  52. package/dist/types-chunks/{public-api.d-C-lVOhdt.d.ts → public-api.d-i10kvYFs.d.ts} +2 -2
  53. package/dist/types-chunks/{repl.d-DGi0nhpl.d.ts → repl.d-Cs3eqGVT.d.ts} +5 -5
  54. package/dist/types-chunks/{run-manager.d-C6ahvZqK.d.ts → run-manager.d-CodHf6rw.d.ts} +1 -1
  55. package/dist/types-chunks/{sdk-session-D5Ffq4h-.d.ts → sdk-session-CRXu5xNs.d.ts} +2 -2
  56. package/dist/types-chunks/{shell-command-sets.d-jmXn8K7r.d.ts → shell-command-sets.d-DfeSUjjM.d.ts} +1 -1
  57. package/dist/types-chunks/{types.d-BzpPDBPV.d.ts → types.d-DIXZFauU.d.ts} +1 -1
  58. package/dist/types-chunks/{types.d-BqYq_ljy.d.ts → types.d-DKs4tfSd.d.ts} +2 -2
  59. package/dist/types-chunks/{utils.d-Z-YpaiUS.d.ts → utils.d-CgITiLyc.d.ts} +4 -4
  60. package/docs/SDK_EMBEDDER_GUIDE.md +60 -14
  61. package/package.json +2 -1
  62. package/dist/chunks/argument-completer-MHRFNBWB.js +0 -2
  63. package/dist/chunks/chunk-FUK6OUCW.js +0 -30
@@ -1,4 +1,4 @@
1
- import { bI as KodaXGoalState, ae as AgentMessage, er as StopHookFn, c1 as KodaXSessionLineage, o as AgentActorStore, aI as AgentTurnExecutor, x as AgentBudgetPort, j as AgentActorOwner, D as AgentControllerHealth, h as AgentActorClient, T as AgentExecutionResult, $ as AgentExecutorPlaneBinding, bO as KodaXJsonValue, bC as KodaXExtensionSessionRecord, f as Agent, eT as WorkflowIsolation, bD as KodaXExtensionSessionState, bU as KodaXSessionArtifactLedgerEntry, eb as SessionErrorMetadata, c9 as KodaXSessionScope, ca as KodaXSessionStorage, bp as GuardrailPermissionIntent, db as MemoryContextIdentity, dn as MemoryPack, aQ as AskUserQuestionOptions, aM as AskUserAnswer, aO as AskUserMultiOptions, eQ as WorkflowEventCorrelation, a_ as CompactionUpdate, f5 as WorkflowProcessEvent, eP as WorkflowEvent, dC as MemoryReviewPlan, bR as KodaXMemoryOutcomeDigest, bl as Guardrail, b5 as DiscoveredInstance, bM as KodaXInputArtifact, dD as MemoryReviewRunner, eH as UnifiedLearningReviewRunner } from './controller.d-C2aHqzHj.js';
1
+ import { bI as KodaXGoalState, ae as AgentMessage, er as StopHookFn, c1 as KodaXSessionLineage, o as AgentActorStore, aI as AgentTurnExecutor, x as AgentBudgetPort, j as AgentActorOwner, D as AgentControllerHealth, h as AgentActorClient, T as AgentExecutionResult, $ as AgentExecutorPlaneBinding, bO as KodaXJsonValue, bC as KodaXExtensionSessionRecord, f as Agent, eT as WorkflowIsolation, bD as KodaXExtensionSessionState, bU as KodaXSessionArtifactLedgerEntry, eb as SessionErrorMetadata, c9 as KodaXSessionScope, ca as KodaXSessionStorage, bp as GuardrailPermissionIntent, db as MemoryContextIdentity, dn as MemoryPack, aQ as AskUserQuestionOptions, aM as AskUserAnswer, aO as AskUserMultiOptions, eQ as WorkflowEventCorrelation, a_ as CompactionUpdate, f5 as WorkflowProcessEvent, eP as WorkflowEvent, dC as MemoryReviewPlan, bR as KodaXMemoryOutcomeDigest, bl as Guardrail, b5 as DiscoveredInstance, bM as KodaXInputArtifact, dD as MemoryReviewRunner, eH as UnifiedLearningReviewRunner } from './controller.d-CYNuR2n9.js';
2
2
  import { Diagnostic, Position, Location, Hover, DocumentSymbol, SymbolInformation, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall } from 'vscode-languageserver-protocol';
3
3
  import { a1 as KodaXTokenUsage, k as KodaXMessage, a2 as KodaXToolDefinition, aa as KodaXWireReasoningEffort, V as KodaXTaskRoutingDecision, W as KodaXTaskType, X as KodaXTaskWorkIntent, R as KodaXTaskComplexity, M as KodaXRiskLevel, h as KodaXHarnessProfile, f as KodaXExecutionMode, b as KodaXChildFanoutClass, G as KodaXReasoningMode, L as KodaXReviewScale } from './types.d-CgrXrFrq.js';
4
4
  import { d as SkillDynamicContextExecutor, I as ISkillRegistry } from './types.d-BbtGlKZu.js';
@@ -866,7 +866,7 @@ declare class CodingActorSession {
866
866
  registerTurnExecutor(key: string, executor: AgentTurnExecutor): () => void;
867
867
  waitForAgentCapacity(signal?: AbortSignal): Promise<boolean>;
868
868
  close(reason?: string): Promise<void>;
869
- quiesce(reason?: string): Promise<void>;
869
+ quiesce(reason?: string, preservedTurnIds?: ReadonlySet<string>): Promise<void>;
870
870
  disposeAfterStoreRemoval(reason?: string): void;
871
871
  }
872
872
  declare function createLocalCodingActorControl(parentCtx: KodaXToolExecutionContext, options: KodaXOptions): AgentActorClient;
@@ -1,5 +1,5 @@
1
1
  import { k as KodaXMessage } from './types.d-CgrXrFrq.js';
2
- import { ae as AgentMessage, ea as SessionEntry, e8 as Session, ec as SessionExtension, c1 as KodaXSessionLineage, bO as KodaXJsonValue, aW as CompactionDetails, bB as KodaXCompactMemorySeed, bZ as KodaXSessionEntry, cb as KodaXSessionTreeNode, c0 as KodaXSessionLabelEntry, b$ as KodaXSessionGoalEntry, bW as KodaXSessionClientNoticeEntry, c7 as KodaXSessionRewindMarkerEntry, c2 as KodaXSessionMemoryOutcomeDigestEntry, c3 as KodaXSessionMemoryReviewReceiptEntry, c6 as KodaXSessionNavigationOptions, bU as KodaXSessionArtifactLedgerEntry, bj as FileOperations, eW as WorkflowMeta, eX as WorkflowModelHint, eY as WorkflowModule } from './controller.d-C2aHqzHj.js';
2
+ import { ae as AgentMessage, ea as SessionEntry, e8 as Session, ec as SessionExtension, c1 as KodaXSessionLineage, bO as KodaXJsonValue, aW as CompactionDetails, bB as KodaXCompactMemorySeed, bZ as KodaXSessionEntry, cb as KodaXSessionTreeNode, c0 as KodaXSessionLabelEntry, b$ as KodaXSessionGoalEntry, bW as KodaXSessionClientNoticeEntry, c7 as KodaXSessionRewindMarkerEntry, c2 as KodaXSessionMemoryOutcomeDigestEntry, c3 as KodaXSessionMemoryReviewReceiptEntry, c6 as KodaXSessionNavigationOptions, bU as KodaXSessionArtifactLedgerEntry, bj as FileOperations, eW as WorkflowMeta, eX as WorkflowModelHint, eY as WorkflowModule } from './controller.d-CYNuR2n9.js';
3
3
 
4
4
  /**
5
5
  * @kodax-ai/agent Constants
@@ -4858,8 +4858,8 @@ declare class AgentActorController {
4858
4858
  * No mutation is allowed here because there is no longer a snapshot to save.
4859
4859
  */
4860
4860
  disposeAfterStoreRemoval(reason?: string): void;
4861
- /** Interrupts every local execution while retaining the durable owner fence. */
4862
- quiesce(reason?: string): Promise<void>;
4861
+ /** Interrupts eligible local execution while retaining the durable owner fence. */
4862
+ quiesce(reason?: string, preservedTurnIds?: ReadonlySet<string>): Promise<void>;
4863
4863
  /** Stops in-flight work for process shutdown while preserving reusable Actor identities. */
4864
4864
  shutdown(reason?: string): Promise<void>;
4865
4865
  private performShutdown;
@@ -1,10 +1,10 @@
1
1
  import { b as McpServersConfig, M as McpConnectMode, a as McpServerConfig, c as McpTransportKind } from './config.d-CJy1WENT.js';
2
2
  import { K as KodaXBaseProvider } from './base.d-DxG0m09Z.js';
3
3
  import { a as CostTracker } from './cost-tracker.d-BeaenODW.js';
4
- import { e2 as RunnerToolCall, ez as ToolGuardrail } from './controller.d-C2aHqzHj.js';
4
+ import { e2 as RunnerToolCall, ez as ToolGuardrail } from './controller.d-CYNuR2n9.js';
5
5
  import { k as KodaXMessage } from './types.d-CgrXrFrq.js';
6
6
  import { S as SideQueryDiagnostics } from './side-query.d-CP1LiRiH.js';
7
- import { by as ToolSideEffect } from './bash-prefix-extractor.d-D_bvmnHs.js';
7
+ import { by as ToolSideEffect } from './bash-prefix-extractor.d-CJM7OY-L.js';
8
8
 
9
9
  /**
10
10
  * FEATURE_200 Phase F (v0.7.45) — MCP domain types extracted from types.ts.
@@ -1,5 +1,5 @@
1
1
  import { k as KodaXMessage } from './types.d-CgrXrFrq.js';
2
- import { c1 as KodaXSessionLineage } from './controller.d-C2aHqzHj.js';
2
+ import { c1 as KodaXSessionLineage } from './controller.d-CYNuR2n9.js';
3
3
 
4
4
  type KodaXSessionHistoryScope = 'compacted' | 'all';
5
5
  type KodaXSessionHistorySource = 'user' | 'assistant' | 'system' | 'tool' | 'child_task';
@@ -1,6 +1,6 @@
1
- import { a as BashPrefixExtractor, t as KodaXAgentMode } from './bash-prefix-extractor.d-D_bvmnHs.js';
1
+ import { a as BashPrefixExtractor, t as KodaXAgentMode } from './bash-prefix-extractor.d-CJM7OY-L.js';
2
2
  import { G as KodaXReasoningMode, k as KodaXMessage, T as KodaXTaskResultMetadata } from './types.d-CgrXrFrq.js';
3
- import { cY as LearningSurfaceSnapshot$1, cT as LearningQuery, cS as LearningPage, cv as LearnedCapabilityRecord, cO as LearningEvent, cX as LearningSubscribeOptions, bY as KodaXSessionData, c1 as KodaXSessionLineage, c6 as KodaXSessionNavigationOptions, c8 as KodaXSessionRuntimeInfo, ca as KodaXSessionStorage, bZ as KodaXSessionEntry, bU as KodaXSessionArtifactLedgerEntry, bC as KodaXExtensionSessionRecord, cc as KodaXSessionUiHistoryItem, c9 as KodaXSessionScope, k as AgentActorSnapshot, aX as CompactionReport, bO as KodaXJsonValue } from './controller.d-C2aHqzHj.js';
3
+ import { cY as LearningSurfaceSnapshot$1, cT as LearningQuery, cS as LearningPage, cv as LearnedCapabilityRecord, cO as LearningEvent, cX as LearningSubscribeOptions, bY as KodaXSessionData, c1 as KodaXSessionLineage, c6 as KodaXSessionNavigationOptions, c8 as KodaXSessionRuntimeInfo, ca as KodaXSessionStorage, bZ as KodaXSessionEntry, bU as KodaXSessionArtifactLedgerEntry, bC as KodaXExtensionSessionRecord, cc as KodaXSessionUiHistoryItem, c9 as KodaXSessionScope, k as AgentActorSnapshot, aX as CompactionReport, bO as KodaXJsonValue } from './controller.d-CYNuR2n9.js';
4
4
 
5
5
  /**
6
6
  * TextBuffer - Text buffer management class - 文本缓冲区管理类
@@ -1,8 +1,8 @@
1
- import { n as ResolvedAutoModeSettings, b as CommandDefinition, e as CommandSource, c as CommandInfo, C as Command$1, I as InteractiveContext, a as CommandCallbacks, g as CurrentConfig, d as CommandInvocationRequest, f as CommandWorkflowInvocationRequest, p as RuntimeSurfaceStatus } from './utils.d-Z-YpaiUS.js';
2
- import { ae as SessionStorage$1, S as PermissionMode, L as LearningBinding } from './public-api.d-C-lVOhdt.js';
3
- import { a1 as KodaXOptions, ad as KodaXResult } from './bash-prefix-extractor.d-D_bvmnHs.js';
4
- import { ca as KodaXSessionStorage, bY as KodaXSessionData } from './controller.d-C2aHqzHj.js';
5
- import { s as AutoModeStats } from './guardrail.d-CrSR1T_a.js';
1
+ import { n as ResolvedAutoModeSettings, b as CommandDefinition, e as CommandSource, c as CommandInfo, C as Command$1, I as InteractiveContext, a as CommandCallbacks, g as CurrentConfig, d as CommandInvocationRequest, f as CommandWorkflowInvocationRequest, p as RuntimeSurfaceStatus } from './utils.d-CgITiLyc.js';
2
+ import { ae as SessionStorage$1, S as PermissionMode, L as LearningBinding } from './public-api.d-i10kvYFs.js';
3
+ import { a1 as KodaXOptions, ad as KodaXResult } from './bash-prefix-extractor.d-CJM7OY-L.js';
4
+ import { ca as KodaXSessionStorage, bY as KodaXSessionData } from './controller.d-CYNuR2n9.js';
5
+ import { s as AutoModeStats } from './guardrail.d-fM3mn4Op.js';
6
6
 
7
7
  interface ReplRuntimePermissionGrantSuggestion {
8
8
  readonly id: string;
@@ -1,4 +1,4 @@
1
- import { fh as WorkflowProcessTrackerOptions, eP as WorkflowEvent, fb as WorkflowProcessSnapshot, f5 as WorkflowProcessEvent } from './controller.d-C2aHqzHj.js';
1
+ import { fh as WorkflowProcessTrackerOptions, eP as WorkflowEvent, fb as WorkflowProcessSnapshot, f5 as WorkflowProcessEvent } from './controller.d-CYNuR2n9.js';
2
2
 
3
3
  /**
4
4
  * FEATURE_246 Part A0 (ADR-046) — neutral workflow run lifecycle manager.
@@ -1,6 +1,6 @@
1
- import { h as CreatableHistoryItem, ar as ToolCall } from './public-api.d-C-lVOhdt.js';
1
+ import { h as CreatableHistoryItem, ar as ToolCall } from './public-api.d-i10kvYFs.js';
2
2
  import { k as KodaXMessage, c as KodaXContentBlock } from './types.d-CgrXrFrq.js';
3
- import { cc as KodaXSessionUiHistoryItem, cg as KodaXSessionUiToolCall } from './controller.d-C2aHqzHj.js';
3
+ import { cc as KodaXSessionUiHistoryItem, cg as KodaXSessionUiToolCall } from './controller.d-CYNuR2n9.js';
4
4
 
5
5
  interface RestoreHistoryItemsFromSessionInput {
6
6
  messages: readonly KodaXMessage[];
@@ -1,4 +1,4 @@
1
- import { a as BashPrefixExtractor } from './bash-prefix-extractor.d-D_bvmnHs.js';
1
+ import { a as BashPrefixExtractor } from './bash-prefix-extractor.d-CJM7OY-L.js';
2
2
 
3
3
  /**
4
4
  * Permission Utilities
@@ -1,4 +1,4 @@
1
- import { bM as KodaXInputArtifact } from './controller.d-C2aHqzHj.js';
1
+ import { bM as KodaXInputArtifact } from './controller.d-CYNuR2n9.js';
2
2
  import { T as KodaXTaskResultMetadata } from './types.d-CgrXrFrq.js';
3
3
 
4
4
  /**
@@ -1,8 +1,8 @@
1
1
  import { aa as KodaXWireReasoningEffort, a2 as KodaXToolDefinition, a4 as KodaXToolResultContentItem, k as KodaXMessage } from './types.d-CgrXrFrq.js';
2
2
  import { K as KodaXBaseProvider } from './base.d-DxG0m09Z.js';
3
3
  import { C as CapabilityKind, a as CapabilityProvider } from './capability.d-K664nHOS.js';
4
- import { bO as KodaXJsonValue, bC as KodaXExtensionSessionRecord, bE as KodaXExtensionStore } from './controller.d-C2aHqzHj.js';
5
- import { aQ as KodaXToolExecutionContext, by as ToolSideEffect } from './bash-prefix-extractor.d-D_bvmnHs.js';
4
+ import { bO as KodaXJsonValue, bC as KodaXExtensionSessionRecord, bE as KodaXExtensionStore } from './controller.d-CYNuR2n9.js';
5
+ import { aQ as KodaXToolExecutionContext, by as ToolSideEffect } from './bash-prefix-extractor.d-CJM7OY-L.js';
6
6
 
7
7
  /**
8
8
  * KodaX Constructed-World types (FEATURE_087, v0.7.28).
@@ -1,9 +1,9 @@
1
1
  import { k as KodaXMessage, G as KodaXReasoningMode, d as KodaXCustomProviderConfig, q as KodaXProviderCapabilityProfile } from './types.d-CgrXrFrq.js';
2
- import { cc as KodaXSessionUiHistoryItem, c1 as KodaXSessionLineage, bU as KodaXSessionArtifactLedgerEntry, bD as KodaXExtensionSessionState, bC as KodaXExtensionSessionRecord, c8 as KodaXSessionRuntimeInfo, fc as WorkflowProcessSource } from './controller.d-C2aHqzHj.js';
3
- import { O as KodaXContextTokenSnapshot, at as KodaXSkillDynamicContextPolicy, t as KodaXAgentMode, a8 as KodaXRepoIntelligenceMode, a1 as KodaXOptions, au as KodaXSkillInvocationContext } from './bash-prefix-extractor.d-D_bvmnHs.js';
4
- import { d as AgentsFile, s as AutoModeStats, S as KodaXMcpServersConfig } from './guardrail.d-CrSR1T_a.js';
2
+ import { cc as KodaXSessionUiHistoryItem, c1 as KodaXSessionLineage, bU as KodaXSessionArtifactLedgerEntry, bD as KodaXExtensionSessionState, bC as KodaXExtensionSessionRecord, c8 as KodaXSessionRuntimeInfo, fc as WorkflowProcessSource } from './controller.d-CYNuR2n9.js';
3
+ import { O as KodaXContextTokenSnapshot, at as KodaXSkillDynamicContextPolicy, t as KodaXAgentMode, a8 as KodaXRepoIntelligenceMode, a1 as KodaXOptions, au as KodaXSkillInvocationContext } from './bash-prefix-extractor.d-CJM7OY-L.js';
4
+ import { d as AgentsFile, s as AutoModeStats, S as KodaXMcpServersConfig } from './guardrail.d-fM3mn4Op.js';
5
5
  import * as readline from 'readline';
6
- import { S as PermissionMode, L as LearningBinding, G as LearningSurfaceSnapshot } from './public-api.d-C-lVOhdt.js';
6
+ import { S as PermissionMode, L as LearningBinding, G as LearningSurfaceSnapshot } from './public-api.d-i10kvYFs.js';
7
7
  import { SpawnSyncReturns } from 'child_process';
8
8
 
9
9
  /**
@@ -2651,14 +2651,41 @@ SDK auto-start allows `daemonStartupTimeoutMs` (default 60 seconds) and
2651
2651
  concurrent test/desktop startup without weakening PID, endpoint, token, or
2652
2652
  runtime-identity validation.
2653
2653
 
2654
- On Windows, current child cleanup verifies observed process identities and
2655
- reports indeterminate outcomes instead of falling back to bare-PID success.
2656
- That is not Job Object-grade containment: if an intermediate process exits
2657
- between snapshots, an already-running descendant can become unobservable.
2658
- Until Issue 256 is resolved (scheduled for v0.7.84) with spawn-time Job Object
2659
- assignment and a host-issued Worker owner lease, embedders must not treat
2660
- Runtime/Worker close or executor cleanup as proof that every descendant has
2661
- terminated.
2654
+ ### Windows daemon shutdown containment (v0.7.83)
2655
+
2656
+ On Windows, a newly started daemon is created suspended and assigned to a
2657
+ kill-on-close Job Object before it is resumed. Daemon application code cannot
2658
+ create descendants before that assignment. An out-of-Job supervisor waits for
2659
+ the daemon to exit and then waits for the Job's active-process count to reach
2660
+ zero, so a daemon PID exit alone is not a verified shutdown.
2661
+
2662
+ Hosts that own the shutdown boundary can use the public verifier:
2663
+
2664
+ ```ts
2665
+ import { waitForRuntimeDaemonShutdown } from '@kodax-ai/kodax/runtime';
2666
+
2667
+ const result = await waitForRuntimeDaemonShutdown({
2668
+ homeDir: kodaxHome,
2669
+ profile: 'default',
2670
+ runtimeId,
2671
+ timeoutMs: 30_000,
2672
+ });
2673
+ if (!result.verified) {
2674
+ throw new Error(`Runtime shutdown was not verified: ${result.outcome}`);
2675
+ }
2676
+ ```
2677
+
2678
+ The connected daemon must advertise `daemonShutdownVerification: 1` when a host
2679
+ requires this contract. A legacy daemon without Job-containment metadata is
2680
+ kept usable for ordinary Session recovery, but it is never reported as a
2681
+ verified shutdown and is not silently upgraded in place. Stop it explicitly and
2682
+ relaunch it before requiring the capability. The CLI's `kodax daemon stop
2683
+ --json` follows the same daemon-plus-supervisor boundary.
2684
+
2685
+ The daemon-owned slice does not close the Worker-owned child lifetime gap in
2686
+ Issue 256; that owner-lease work remains scheduled for v0.7.84. Worker and
2687
+ executor cleanup still use identity-checked evidence and fail closed when a
2688
+ descendant cannot be proven gone.
2662
2689
 
2663
2690
  `homeDir` and `KODAX_HOME` deliberately name different levels. Runtime SDK and
2664
2691
  CLI daemon `--home` accept the **base directory that contains `.kodax`**;
@@ -4224,8 +4251,15 @@ result confirms the actual outcome, including `completed` when the executor
4224
4251
  ignored Stop and completed normally. Terminal callback order is latched before
4225
4252
  deferred result settlement: Stop cannot rewrite an earlier completion as
4226
4253
  interrupted, and late finalizer/recovery progress cannot revive an unconfirmed
4227
- stopped Run. If the Runtime owner then dies, recovery resolves the pending Stop
4228
- as `confirmed/interrupted`.
4254
+ stopped Run. If the Runtime owner then dies, recovery resolves the pending Stop
4255
+ as `confirmed/interrupted`.
4256
+
4257
+ Since v0.7.82, an observed Stop cooperatively gates later Runtime-controlled
4258
+ provider retries and continuations, Runner guardrail/tool dispatch, and
4259
+ Run-admitted Actor work. It does not hard-kill turns admitted before Stop or
4260
+ rewrite a genuine completion or an independent failure. A trusted Stop/Abort
4261
+ cause is classified before credential redaction, so `runs.get()` and `await()`
4262
+ report the same factual terminal outcome.
4229
4263
 
4230
4264
  For support bundles, use the pure read-only compositor:
4231
4265
 
@@ -4411,6 +4445,12 @@ required snapshot before publishing the delivery event, so a failed or
4411
4445
  ambiguous canonical reference fails delivery closed. The field may be absent
4412
4446
  only when reading a legacy persisted record. Event replay, Session compaction,
4413
4447
  and Runtime restart preserve a newly recorded reference.
4448
+
4449
+ Since v0.7.82, submission resolves the admitted authoritative Run before it
4450
+ reads mutable canonical Session history. Active interrupt and after-turn
4451
+ requests therefore do not surface a transient `data_changed` response caused by
4452
+ predecessor persistence. `after_turn` still waits for predecessor settlement,
4453
+ and an exact `operationId` still produces one admission and one queue item.
4414
4454
 
4415
4455
  Interrupt admission closes when the Runner publishes its final completion or
4416
4456
  terminal error signal, or when the Run's supplied `abortSignal` aborts, even if
@@ -4590,10 +4630,16 @@ must reconcile the product side effect itself before offering a new user
4590
4630
  action. `runtime.hostTools.getInvocation(invocationId)` returns the durable
4591
4631
  metadata state `prepared`, `dispatched`, `completed`, `unknown`, or
4592
4632
  `not_dispatched`; it never returns handler input, result, or credential data.
4593
- The daemon writes the `dispatched` marker before attempting the reverse frame
4594
- and never auto-replays an invocation.
4595
-
4596
- ### Coder admission, typed events, and transport-safe inputs
4633
+ The daemon writes the `dispatched` marker before attempting the reverse frame
4634
+ and never auto-replays an invocation.
4635
+
4636
+ Since v0.7.82, a live Host Tool lease contributes a complete, lease-scoped
4637
+ capability snapshot to unfiltered `mcp_search`. An explicit `server` filter
4638
+ selects only that named MCP or Host Tool source; it never leaks tools from the
4639
+ other source. A provider without a snapshot is queried uncapped and reported as
4640
+ incomplete/unknown rather than silently presenting a truncated catalog.
4641
+
4642
+ ### Coder admission, typed events, and transport-safe inputs
4597
4643
 
4598
4644
  The daemon enforces Coder session admission on the server for list/create/load,
4599
4645
  run, settings, delete, rewind, fork, compact, transcript, event, interaction,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kodax-ai/kodax",
3
- "version": "0.7.81",
3
+ "version": "0.7.83",
4
4
  "description": "KodaX lightweight coding agent - TypeScript implementation with 16 built-in LLM provider aliases, published as a Node-free single-file CLI and SDK",
5
5
  "type": "module",
6
6
  "private": false,
@@ -8,6 +8,7 @@
8
8
  "access": "public"
9
9
  },
10
10
  "kodaxRuntimeContracts": {
11
+ "daemonShutdownVerification": 1,
11
12
  "integrationConfigResilience": 1,
12
13
  "managedRunDurability": 1
13
14
  },
@@ -1,2 +0,0 @@
1
- // @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
2
- import{Ea as a,Fa as b}from"./chunk-ITY7HLSS.js";import"./chunk-BNFUIZKY.js";import"./chunk-5XCQGFGP.js";import"./chunk-WLGQ6XI2.js";import"./chunk-VTFG3B7U.js";import"./chunk-FGQZUN7C.js";import"./chunk-HTVLCHWH.js";import"./chunk-RX3X3PER.js";import"./chunk-D66EWPAX.js";import"./chunk-KHEFUT6O.js";import"./chunk-TRNAWSXP.js";import"./chunk-QMPJJCBE.js";import"./chunk-EVXIJPZ6.js";import"./chunk-E7C4DRD2.js";import"./chunk-6UENDY33.js";import"./chunk-ONUPGMER.js";export{a as ArgumentCompleter,b as createArgumentCompleter};