@kodax-ai/kodax 0.7.82 → 0.7.84

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 +59 -0
  2. package/README.md +20 -0
  3. package/README_CN.md +10 -0
  4. package/dist/chunks/{agent-4UTCCMD5.js → agent-VMXNVYRK.js} +1 -1
  5. package/dist/chunks/argument-completer-QCS6GUAE.js +2 -0
  6. package/dist/chunks/{chunk-WMYCNECP.js → chunk-4ZI2CPUQ.js} +142 -67
  7. package/dist/chunks/{chunk-7ZN2MLVM.js → chunk-726WJGGY.js} +1 -1
  8. package/dist/chunks/{chunk-S6JTWDN6.js → chunk-A7L7XTUH.js} +1 -1
  9. package/dist/chunks/{chunk-XTCDCU2Q.js → chunk-BBBS644N.js} +4 -4
  10. package/dist/chunks/{chunk-JDZFNWMZ.js → chunk-ET2BMEQQ.js} +2 -2
  11. package/dist/chunks/{chunk-ZOBNDWOA.js → chunk-F44YYR6Z.js} +1 -1
  12. package/dist/chunks/{chunk-GIVYTXQW.js → chunk-GRLC3N46.js} +155 -155
  13. package/dist/chunks/{chunk-VQBJMNFD.js → chunk-OHZFGQEH.js} +2 -2
  14. package/dist/chunks/{chunk-ZZUIO5KL.js → chunk-TDJS5SFS.js} +1 -1
  15. package/dist/chunks/{chunk-NINELPXH.js → chunk-WTYAZOWO.js} +1 -1
  16. package/dist/chunks/chunk-WXHHZZRJ.js +379 -0
  17. package/dist/chunks/{chunk-KH2HED37.js → chunk-ZVPTDYDI.js} +2 -2
  18. package/dist/chunks/{compaction-config-IDL5JQVI.js → compaction-config-QTMFP7AF.js} +1 -1
  19. package/dist/chunks/{construction-bootstrap-STYUR6XA.js → construction-bootstrap-EVQ6VWSX.js} +1 -1
  20. package/dist/chunks/{dist-RKBHBUHV.js → dist-XRH6CRLL.js} +1 -1
  21. package/dist/chunks/{host-RF2IX3N6.js → host-F4TPD6WY.js} +1 -1
  22. package/dist/chunks/{run-manager-WE2KPAKZ.js → run-manager-PYD46OGY.js} +1 -1
  23. package/dist/chunks/{utils-Z2RSAENX.js → utils-TOTTXU2I.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 +1716 -1292
  28. package/dist/kodax_resume.js +140 -65
  29. package/dist/runtime-worker.js +1567 -1143
  30. package/dist/sandbox-workspace-session.js +121 -46
  31. package/dist/sdk-a2a.d.ts +8 -8
  32. package/dist/sdk-a2a.js +5 -5
  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-CJM7OY-L.d.ts → bash-prefix-extractor.d-CkdGL4rM.d.ts} +1 -1
  48. package/dist/types-chunks/{capsule.d-B7yoH4dM.d.ts → capsule.d-7wQ_kM1C.d.ts} +1 -1
  49. package/dist/types-chunks/{controller.d-CYNuR2n9.d.ts → controller.d-CesRxFL5.d.ts} +2 -0
  50. package/dist/types-chunks/{guardrail.d-fM3mn4Op.d.ts → guardrail.d-KaIeVree.d.ts} +2 -2
  51. package/dist/types-chunks/{history-retrieval.d-BDI-ZMvY.d.ts → history-retrieval.d-CbCls7r0.d.ts} +1 -1
  52. package/dist/types-chunks/{public-api.d-i10kvYFs.d.ts → public-api.d-DpRj8b7d.d.ts} +2 -2
  53. package/dist/types-chunks/{repl.d-Cs3eqGVT.d.ts → repl.d-DWeC3PLW.d.ts} +5 -5
  54. package/dist/types-chunks/{run-manager.d-CodHf6rw.d.ts → run-manager.d-BXBkLT0A.d.ts} +1 -1
  55. package/dist/types-chunks/{sdk-session-CRXu5xNs.d.ts → sdk-session-DEtS6u20.d.ts} +2 -2
  56. package/dist/types-chunks/{shell-command-sets.d-DfeSUjjM.d.ts → shell-command-sets.d-P2h4_KKL.d.ts} +1 -1
  57. package/dist/types-chunks/{types.d-DKs4tfSd.d.ts → types.d-0m3PS7Ng.d.ts} +2 -2
  58. package/dist/types-chunks/{types.d-DIXZFauU.d.ts → types.d-CUtMr2IG.d.ts} +1 -1
  59. package/dist/types-chunks/{utils.d-CgITiLyc.d.ts → utils.d-C-eSIZ9n.d.ts} +4 -4
  60. package/docs/SDK_EMBEDDER_GUIDE.md +52 -8
  61. package/package.json +2 -1
  62. package/dist/chunks/argument-completer-N7ORRJBS.js +0 -2
  63. package/dist/chunks/chunk-PGTU7JQX.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-CYNuR2n9.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-CesRxFL5.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';
@@ -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-CYNuR2n9.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-CesRxFL5.js';
3
3
 
4
4
  /**
5
5
  * @kodax-ai/agent Constants
@@ -4825,6 +4825,7 @@ declare class AgentActorController {
4825
4825
  private durableOwner?;
4826
4826
  private initialized;
4827
4827
  private ownershipLost;
4828
+ private settlementPersistenceUnknown;
4828
4829
  private ownershipReleased;
4829
4830
  private closing;
4830
4831
  private settlementGeneration;
@@ -4912,6 +4913,7 @@ declare class AgentActorController {
4912
4913
  private releaseOwnershipAfterInitializationFailure;
4913
4914
  private assertWritableOwner;
4914
4915
  private fenceUnknownSettlement;
4916
+ private reconcileUnknownSettlement;
4915
4917
  private stopLocalWork;
4916
4918
  private fenceAfterSnapshotConflict;
4917
4919
  private isInterruptionDurable;
@@ -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-CYNuR2n9.js';
4
+ import { e2 as RunnerToolCall, ez as ToolGuardrail } from './controller.d-CesRxFL5.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-CJM7OY-L.js';
7
+ import { by as ToolSideEffect } from './bash-prefix-extractor.d-CkdGL4rM.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-CYNuR2n9.js';
2
+ import { c1 as KodaXSessionLineage } from './controller.d-CesRxFL5.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-CJM7OY-L.js';
1
+ import { a as BashPrefixExtractor, t as KodaXAgentMode } from './bash-prefix-extractor.d-CkdGL4rM.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-CYNuR2n9.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-CesRxFL5.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-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';
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-C-eSIZ9n.js';
2
+ import { ae as SessionStorage$1, S as PermissionMode, L as LearningBinding } from './public-api.d-DpRj8b7d.js';
3
+ import { a1 as KodaXOptions, ad as KodaXResult } from './bash-prefix-extractor.d-CkdGL4rM.js';
4
+ import { ca as KodaXSessionStorage, bY as KodaXSessionData } from './controller.d-CesRxFL5.js';
5
+ import { s as AutoModeStats } from './guardrail.d-KaIeVree.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-CYNuR2n9.js';
1
+ import { fh as WorkflowProcessTrackerOptions, eP as WorkflowEvent, fb as WorkflowProcessSnapshot, f5 as WorkflowProcessEvent } from './controller.d-CesRxFL5.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-i10kvYFs.js';
1
+ import { h as CreatableHistoryItem, ar as ToolCall } from './public-api.d-DpRj8b7d.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-CYNuR2n9.js';
3
+ import { cc as KodaXSessionUiHistoryItem, cg as KodaXSessionUiToolCall } from './controller.d-CesRxFL5.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-CJM7OY-L.js';
1
+ import { a as BashPrefixExtractor } from './bash-prefix-extractor.d-CkdGL4rM.js';
2
2
 
3
3
  /**
4
4
  * Permission Utilities
@@ -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-CYNuR2n9.js';
5
- import { aQ as KodaXToolExecutionContext, by as ToolSideEffect } from './bash-prefix-extractor.d-CJM7OY-L.js';
4
+ import { bO as KodaXJsonValue, bC as KodaXExtensionSessionRecord, bE as KodaXExtensionStore } from './controller.d-CesRxFL5.js';
5
+ import { aQ as KodaXToolExecutionContext, by as ToolSideEffect } from './bash-prefix-extractor.d-CkdGL4rM.js';
6
6
 
7
7
  /**
8
8
  * KodaX Constructed-World types (FEATURE_087, v0.7.28).
@@ -1,4 +1,4 @@
1
- import { bM as KodaXInputArtifact } from './controller.d-CYNuR2n9.js';
1
+ import { bM as KodaXInputArtifact } from './controller.d-CesRxFL5.js';
2
2
  import { T as KodaXTaskResultMetadata } from './types.d-CgrXrFrq.js';
3
3
 
4
4
  /**
@@ -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-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';
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-CesRxFL5.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-CkdGL4rM.js';
4
+ import { d as AgentsFile, s as AutoModeStats, S as KodaXMcpServersConfig } from './guardrail.d-KaIeVree.js';
5
5
  import * as readline from 'readline';
6
- import { S as PermissionMode, L as LearningBinding, G as LearningSurfaceSnapshot } from './public-api.d-i10kvYFs.js';
6
+ import { S as PermissionMode, L as LearningBinding, G as LearningSurfaceSnapshot } from './public-api.d-DpRj8b7d.js';
7
7
  import { SpawnSyncReturns } from 'child_process';
8
8
 
9
9
  /**
@@ -2651,14 +2651,58 @@ 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.85. Worker and
2687
+ executor cleanup still use identity-checked evidence and fail closed when a
2688
+ descendant cannot be proven gone.
2689
+
2690
+ ### Actor settlement recovery (v0.7.84)
2691
+
2692
+ The v0.7.84 Actor settlement boundary bounds progress persistence to one
2693
+ in-flight durable projection plus one latest replacement. A terminal save can
2694
+ therefore make progress without waiting behind an unbounded backlog. If Actor
2695
+ durability becomes unknown because that boundary times out, a
2696
+ `runtime.runs.abort()` Stop can reconcile the late Actor snapshot only for the
2697
+ exact same local owner, validate the owner fence, quiesce remaining turns, and
2698
+ retry the repair.
2699
+
2700
+ The receipt remains unknown until both Actor and executor settlement are
2701
+ resolved. Repeated same-owner Stop delivery is idempotent under the same
2702
+ unknown-owner proof; foreign owners, missing snapshots, legacy records, and
2703
+ unresolved stores fail closed. After repair, Promise terminal facts win over
2704
+ fallback callbacks, so a stale callback cannot rewind a terminal Run or emit a
2705
+ duplicate outcome. A no-op quiesce does not rewrite the Session.
2662
2706
 
2663
2707
  `homeDir` and `KODAX_HOME` deliberately name different levels. Runtime SDK and
2664
2708
  CLI daemon `--home` accept the **base directory that contains `.kodax`**;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kodax-ai/kodax",
3
- "version": "0.7.82",
3
+ "version": "0.7.84",
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-JDZFNWMZ.js";import"./chunk-VQBJMNFD.js";import"./chunk-7ZN2MLVM.js";import"./chunk-ZOBNDWOA.js";import"./chunk-ZZUIO5KL.js";import"./chunk-NINELPXH.js";import"./chunk-HTVLCHWH.js";import"./chunk-KH2HED37.js";import"./chunk-GIVYTXQW.js";import"./chunk-KHEFUT6O.js";import"./chunk-TRNAWSXP.js";import"./chunk-WMYCNECP.js";import"./chunk-EVXIJPZ6.js";import"./chunk-E7C4DRD2.js";import"./chunk-6UENDY33.js";import"./chunk-ONUPGMER.js";export{a as ArgumentCompleter,b as createArgumentCompleter};