@kodax-ai/kodax 0.7.97-alpha.10 → 0.7.97-alpha.12

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 (225) hide show
  1. package/CHANGELOG.md +210 -0
  2. package/README.md +84 -22
  3. package/README_CN.md +56 -14
  4. package/config-templates/config.example.jsonc +2 -3
  5. package/dist/builtin/skill-creator/scripts/analyze-benchmark.d.ts +2 -0
  6. package/dist/builtin/skill-creator/scripts/analyze-benchmark.js +6 -3
  7. package/dist/builtin/skill-creator/scripts/compare-runs.d.ts +2 -0
  8. package/dist/builtin/skill-creator/scripts/compare-runs.js +6 -3
  9. package/dist/builtin/skill-creator/scripts/grade-evals.d.ts +2 -0
  10. package/dist/builtin/skill-creator/scripts/grade-evals.js +6 -3
  11. package/dist/builtin/skill-creator/scripts/utils.d.ts +1 -1
  12. package/dist/chunks/agent-B67Z5NYD.js +2 -0
  13. package/dist/chunks/agent-adapter-QTR7T3R3.js +2 -0
  14. package/dist/chunks/argument-completer-GHXAPEBM.js +2 -0
  15. package/dist/chunks/bedrock-native-Z5VNWF5U.js +4 -0
  16. package/dist/chunks/cell-ABNYMGXV.js +2 -0
  17. package/dist/chunks/chunk-2SID5SIQ.js +29 -0
  18. package/dist/chunks/chunk-35R7LIQC.js +2 -0
  19. package/dist/chunks/chunk-3QRPXPPK.js +4 -0
  20. package/dist/chunks/chunk-45ZP2YHG.js +2 -0
  21. package/dist/chunks/chunk-4KR4VUZK.js +142 -0
  22. package/dist/chunks/chunk-4Y6U7AH4.js +9 -0
  23. package/dist/chunks/chunk-52EN2777.js +2 -0
  24. package/dist/chunks/chunk-5I6ONBH5.js +190 -0
  25. package/dist/chunks/chunk-65652LR4.js +2 -0
  26. package/dist/chunks/chunk-6FOPPV6L.js +2 -0
  27. package/dist/chunks/chunk-7RJ4JT3M.js +18 -0
  28. package/dist/chunks/chunk-A3SLNYBB.js +5 -0
  29. package/dist/chunks/chunk-AGUM5SWX.js +2 -0
  30. package/dist/chunks/chunk-BFE3F55T.js +2 -0
  31. package/dist/chunks/chunk-CONB6PL7.js +357 -0
  32. package/dist/chunks/chunk-D5OW7UD5.js +2 -0
  33. package/dist/chunks/chunk-E2Z754K5.js +366 -0
  34. package/dist/chunks/chunk-ED7D73C3.js +2 -0
  35. package/dist/chunks/chunk-ENKNQWR4.js +2 -0
  36. package/dist/chunks/chunk-FAXYF5MT.js +2 -0
  37. package/dist/chunks/{chunk-LR6DYYBI.js → chunk-GVL7KINO.js} +1 -1
  38. package/dist/chunks/chunk-GZUWQZJD.js +2 -0
  39. package/dist/chunks/chunk-HA4IKFUK.js +2 -0
  40. package/dist/chunks/{chunk-CJYBW5ZF.js → chunk-IIRJKNYL.js} +1 -1
  41. package/dist/chunks/chunk-IO23S3DB.js +127 -0
  42. package/dist/chunks/{chunk-EGVAVI6U.js → chunk-ISLK6R2P.js} +1 -1
  43. package/dist/chunks/chunk-JW3IVTSG.js +634 -0
  44. package/dist/chunks/chunk-KDLOPBFZ.js +2 -0
  45. package/dist/chunks/chunk-KE2NBMAP.js +20 -0
  46. package/dist/chunks/chunk-MJ4IGUD4.js +5 -0
  47. package/dist/chunks/chunk-MKB76YFU.js +351 -0
  48. package/dist/chunks/chunk-MPGNQJLH.js +2 -0
  49. package/dist/chunks/chunk-NB43CHZ4.js +2 -0
  50. package/dist/chunks/chunk-NCEJEHOF.js +3 -0
  51. package/dist/chunks/chunk-NDPUJYIV.js +142 -0
  52. package/dist/chunks/chunk-NHIPHFUQ.js +12 -0
  53. package/dist/chunks/chunk-P7OJRV5Z.js +2 -0
  54. package/dist/chunks/chunk-QP47JIWP.js +3 -0
  55. package/dist/chunks/chunk-S2Y2YCOQ.js +14 -0
  56. package/dist/chunks/chunk-SBZE5D4C.js +19 -0
  57. package/dist/chunks/chunk-ST3XWKWB.js +465 -0
  58. package/dist/chunks/{chunk-CL26MA5E.js → chunk-SVVOSPL5.js} +1 -1
  59. package/dist/chunks/chunk-TPVXGOHR.js +42 -0
  60. package/dist/chunks/chunk-UF3GZ5PO.js +2 -0
  61. package/dist/chunks/chunk-V4WSBIXB.js +2 -0
  62. package/dist/chunks/chunk-V5RCDBKU.js +2 -0
  63. package/dist/chunks/{chunk-WIQQ57YO.js → chunk-VGHIPYJG.js} +1 -1
  64. package/dist/chunks/{chunk-RHUYH367.js → chunk-VX74XXAD.js} +1 -1
  65. package/dist/chunks/chunk-W33QJA3M.js +2 -0
  66. package/dist/chunks/chunk-WKQLW4SX.js +2 -0
  67. package/dist/chunks/chunk-WMMESRP3.js +9 -0
  68. package/dist/chunks/chunk-WZ3EJSJE.js +4 -0
  69. package/dist/chunks/chunk-XJ5SZVDT.js +1157 -0
  70. package/dist/chunks/{chunk-LVJOKQZF.js → chunk-ZQNRD3KD.js} +1 -1
  71. package/dist/chunks/client-R4S4YEVS.js +2 -0
  72. package/dist/chunks/compaction-config-E6XP7SHS.js +2 -0
  73. package/dist/chunks/{construction-bootstrap-7IOLANZJ.js → construction-bootstrap-XZ5OHCY3.js} +1 -1
  74. package/dist/chunks/devtools-MVOFT6N7.js +2 -0
  75. package/dist/chunks/devtools-TXYDDL2A.js +2 -0
  76. package/dist/chunks/dist-NIRGREIH.js +2 -0
  77. package/dist/chunks/errors-ER7ZRPWC.js +2 -0
  78. package/dist/chunks/google-native-45I4S26I.js +2 -0
  79. package/dist/chunks/host-KXJLPVP7.js +2 -0
  80. package/dist/chunks/mistral-native-JXPIDDYZ.js +5 -0
  81. package/dist/chunks/model-WCSO7VEC.js +2 -0
  82. package/dist/chunks/permission-ECYYPPXW.js +2 -0
  83. package/dist/chunks/pi-messages-5LLOZH57.js +16 -0
  84. package/dist/chunks/readline-helpers-XPQMM7TO.js +2 -0
  85. package/dist/chunks/responses-websocket-Y4N5GXD3.js +2 -0
  86. package/dist/chunks/run-manager-2NP2R2GA.js +2 -0
  87. package/dist/chunks/running-session-NRG4RNBL.js +2 -0
  88. package/dist/chunks/skills-V7T55I4F.js +2 -0
  89. package/dist/chunks/tool-dispatch-JMWZQFXZ.js +2 -0
  90. package/dist/chunks/utils-YHKQLYUL.js +2 -0
  91. package/dist/generated-config-templates.json +6 -0
  92. package/dist/index.d.ts +34 -32
  93. package/dist/index.js +6 -6
  94. package/dist/kodax_bootstrap.js +2 -2
  95. package/dist/kodax_cli.js +1766 -3007
  96. package/dist/kodax_doctor.js +3 -0
  97. package/dist/kodax_resume.js +30 -30
  98. package/dist/manual-topics.json +2180 -0
  99. package/dist/native/darwin-arm64/kodax-text-transaction.node +0 -0
  100. package/dist/native/darwin-arm64/manifest.json +1 -1
  101. package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
  102. package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
  103. package/dist/native/win32-x64/manifest.json +2 -2
  104. package/dist/one-shot-task.js +2 -0
  105. package/dist/provider-auth-cli.js +16 -0
  106. package/dist/provider-capabilities.json +402 -40
  107. package/dist/sandbox-network-broker.js +128 -672
  108. package/dist/script-cell.js +1 -0
  109. package/dist/script-worker.cjs +2166 -0
  110. package/dist/sdk-a2a.d.ts +23 -22
  111. package/dist/sdk-a2a.js +6 -8
  112. package/dist/sdk-agent.d.ts +112 -68
  113. package/dist/sdk-agent.js +1 -1
  114. package/dist/sdk-client.d.ts +14 -10
  115. package/dist/sdk-client.js +1 -1
  116. package/dist/sdk-coding.d.ts +64 -79
  117. package/dist/sdk-coding.js +1 -1
  118. package/dist/sdk-experimental-memory.d.ts +3 -3
  119. package/dist/sdk-experimental-memory.js +1 -1
  120. package/dist/sdk-llm.d.ts +265 -14
  121. package/dist/sdk-llm.js +1 -1
  122. package/dist/sdk-mcp.d.ts +3 -3
  123. package/dist/sdk-mcp.js +1 -1
  124. package/dist/sdk-media.d.ts +41 -166
  125. package/dist/sdk-media.js +1 -1
  126. package/dist/sdk-repl.d.ts +63 -51
  127. package/dist/sdk-repl.js +2 -2
  128. package/dist/sdk-runtime.d.ts +218 -2283
  129. package/dist/sdk-runtime.js +1 -1
  130. package/dist/sdk-sandbox.js +1 -1
  131. package/dist/sdk-session.d.ts +15 -14
  132. package/dist/sdk-session.js +1 -1
  133. package/dist/sdk-skills.d.ts +2 -2
  134. package/dist/sdk-skills.js +1 -1
  135. package/dist/semantic-worker.js +121 -84
  136. package/dist/static-text.json +323 -0
  137. package/dist/storage-repair-cli.js +3 -0
  138. package/dist/types-chunks/auth-file.d-ovsHEqD4.d.ts +178 -0
  139. package/dist/types-chunks/{bash-prefix-extractor.d-kPZTBP3w.d.ts → bash-prefix-extractor.d-CaaGCwCd.d.ts} +231 -162
  140. package/dist/types-chunks/{capability-learning.d-BckMZRgz.d.ts → capability-learning.d-BXDEOON2.d.ts} +4 -4
  141. package/dist/types-chunks/{capability.d-N5ulMiTc.d.ts → capability.d-DapzKxy3.d.ts} +1 -1
  142. package/dist/types-chunks/{capsule.d-C4BqofHf.d.ts → capsule.d-xL1W7Ks2.d.ts} +5 -5
  143. package/dist/types-chunks/{client-contract-DxM_ECLG.d.ts → client-contract-6ewAxhs5.d.ts} +185 -63
  144. package/dist/types-chunks/{controller.d-Yz_UYWlp.d.ts → controller.d-BfxI01ix.d.ts} +19 -10
  145. package/dist/types-chunks/{controller.d-Bcq7YlmN.d.ts → controller.d-DDYpz6O3.d.ts} +1 -1
  146. package/dist/types-chunks/{cost-tracker.d-BeaenODW.d.ts → cost-tracker.d-D1CTx-IO.d.ts} +37 -7
  147. package/dist/types-chunks/{base.d-51ikkF5c.d.ts → errors.d-D73qdYbS.d.ts} +91 -74
  148. package/dist/types-chunks/{history-retrieval.d-B08_0bke.d.ts → history-retrieval.d-CO0ML1O6.d.ts} +2 -2
  149. package/dist/types-chunks/{manager.d-ByXdsxIK.d.ts → manager.d-BMH8Q6TV.d.ts} +1 -1
  150. package/dist/types-chunks/{manifest.d-DnyVWNj9.d.ts → manifest.d-Zd4JeMDu.d.ts} +1 -1
  151. package/dist/types-chunks/{provider-credential-context.d-BH2OaB1b.d.ts → provider-credential-context.d-Dw-sWcnu.d.ts} +11 -2
  152. package/dist/types-chunks/{provider-request-observation.d-B0F_IbaY.d.ts → provider-request-observation.d-CNe9vse3.d.ts} +4 -2
  153. package/dist/types-chunks/{public-api.d-Dd3WaHfO.d.ts → public-api.d-B95TO2AQ.d.ts} +11 -6
  154. package/dist/types-chunks/queue-BxQhqhFM.d.ts +166 -0
  155. package/dist/types-chunks/{resolver.d-CBIllMab.d.ts → resolver.d-DrkpD8wY.d.ts} +142 -103
  156. package/dist/types-chunks/{review-inbox.d-OHgSbiVU.d.ts → review-inbox.d-D4F5O0-I.d.ts} +3 -1
  157. package/dist/types-chunks/{review-packet.d-CgM1gO0P.d.ts → review-packet.d-BZ9vgwRQ.d.ts} +7 -7
  158. package/dist/types-chunks/{run-manager.d-DXcb6wIj.d.ts → run-manager.d-Wu3CK6KZ.d.ts} +10 -10
  159. package/dist/types-chunks/{runtime-client-info-DAYAaZ1K.d.ts → runtime-client-info-BDxw8rSA.d.ts} +39 -5
  160. package/dist/types-chunks/runtime-event-Da1in2Eg.d.ts +48 -0
  161. package/dist/types-chunks/sdk-runtime-Du_mw47X.d.ts +2225 -0
  162. package/dist/types-chunks/{sdk-session-Afj25p4w.d.ts → sdk-session-CU3sqQPJ.d.ts} +13 -4
  163. package/dist/types-chunks/{sdk-skills-B4GGbMKo.d.ts → sdk-skills-C-UA1A6I.d.ts} +1 -1
  164. package/dist/types-chunks/{side-query.d-Bx8vNwmM.d.ts → side-query.d-UFKdWSw7.d.ts} +4 -4
  165. package/dist/types-chunks/{skill-invocation-error.d-BvYlTGif.d.ts → skill-invocation-error.d-BCfOhOAs.d.ts} +12 -12
  166. package/dist/types-chunks/task-results.d-XMdWq0eA.d.ts +15 -0
  167. package/dist/types-chunks/{trusted-repl-entry-g5xfF23W.d.ts → trusted-repl-entry-DHjUVQDQ.d.ts} +7 -7
  168. package/dist/types-chunks/{types.d-zkw4VJ8r.d.ts → types.d-Bi8iUd6x.d.ts} +247 -3
  169. package/dist/types-chunks/types.d-BvEGNdN-.d.ts +131 -0
  170. package/dist/types-chunks/{types.d-mJVrC5yx.d.ts → types.d-C6AcFix2.d.ts} +2 -2
  171. package/dist/types-chunks/{types.d-DqU20am8.d.ts → types.d-D8qQjMeo.d.ts} +2 -0
  172. package/dist/types-chunks/{utils.d-DSRo6pF4.d.ts → utils.d-CY9J4PVM.d.ts} +11 -7
  173. package/dist/windows-native-scripts.json +5 -0
  174. package/docs/CLIENT_CONTRACT.md +121 -4
  175. package/docs/SDK_MIGRATION.md +471 -2
  176. package/docs/SPACE_SDK_SEAMS.md +115 -2
  177. package/package.json +32 -6
  178. package/public_docs/README.md +15 -2
  179. package/public_docs/configuration/config-files.md +6 -0
  180. package/public_docs/configuration/custom-providers.md +62 -0
  181. package/public_docs/configuration/providers.md +160 -3
  182. package/public_docs/configuration/sandbox.md +30 -0
  183. package/public_docs/getting-started/quickstart.md +10 -1
  184. package/public_docs/sdk/embedder-guide.md +365 -190
  185. package/dist/chunks/agent-2J37XQUU.js +0 -2
  186. package/dist/chunks/agent-adapter-ML7HCV4S.js +0 -2
  187. package/dist/chunks/argument-completer-T6NGMA6R.js +0 -2
  188. package/dist/chunks/chunk-35P7QL2Q.js +0 -2
  189. package/dist/chunks/chunk-6YC6F7I5.js +0 -14
  190. package/dist/chunks/chunk-AM4NSREL.js +0 -298
  191. package/dist/chunks/chunk-BSOJXVSX.js +0 -498
  192. package/dist/chunks/chunk-BWXSYAUF.js +0 -12
  193. package/dist/chunks/chunk-C7XNYEK4.js +0 -635
  194. package/dist/chunks/chunk-CAYWOUYZ.js +0 -2
  195. package/dist/chunks/chunk-CS2UXANP.js +0 -351
  196. package/dist/chunks/chunk-EV2DZBK6.js +0 -137
  197. package/dist/chunks/chunk-FROQFYUD.js +0 -42
  198. package/dist/chunks/chunk-FSV2UNZK.js +0 -1118
  199. package/dist/chunks/chunk-GBK65DAI.js +0 -350
  200. package/dist/chunks/chunk-INUCUPDB.js +0 -19
  201. package/dist/chunks/chunk-IPOGKX27.js +0 -5
  202. package/dist/chunks/chunk-JUK7W2GI.js +0 -2
  203. package/dist/chunks/chunk-NIHDPG75.js +0 -433
  204. package/dist/chunks/chunk-ONUPGMER.js +0 -2
  205. package/dist/chunks/chunk-QJHVTRAD.js +0 -29
  206. package/dist/chunks/chunk-QQEAMIKM.js +0 -429
  207. package/dist/chunks/chunk-U7XIL752.js +0 -365
  208. package/dist/chunks/chunk-VSXERQFQ.js +0 -403
  209. package/dist/chunks/chunk-VYBDXBXF.js +0 -260
  210. package/dist/chunks/chunk-WMI7MAOL.js +0 -2
  211. package/dist/chunks/chunk-X4RMCMA2.js +0 -2
  212. package/dist/chunks/chunk-Y5OQTXT7.js +0 -2
  213. package/dist/chunks/client-7WSN7BYP.js +0 -2
  214. package/dist/chunks/compaction-config-FT7Q5JT6.js +0 -2
  215. package/dist/chunks/devtools-CD6KSIHE.js +0 -2
  216. package/dist/chunks/devtools-XR5F2C6T.js +0 -2
  217. package/dist/chunks/dist-JKLYAJPW.js +0 -2
  218. package/dist/chunks/dist-PRXAZ2CP.js +0 -2
  219. package/dist/chunks/host-COGFHKXD.js +0 -2
  220. package/dist/chunks/readline-helpers-G4UCRJHD.js +0 -2
  221. package/dist/chunks/run-manager-4YSPGN2D.js +0 -2
  222. package/dist/chunks/running-session-KBTXEY6Y.js +0 -2
  223. package/dist/chunks/skills-BVDF6ICD.js +0 -2
  224. package/dist/chunks/tool-dispatch-D6RY2WRO.js +0 -2
  225. package/dist/chunks/utils-CIK3GTTG.js +0 -2
package/CHANGELOG.md CHANGED
@@ -6,6 +6,212 @@ All notable changes to this project will be documented in this file.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ### Fixed
10
+
11
+ - Preserve lexical and physical protected paths across Windows short names;
12
+ keep missing SSH identities excluded and native cache anchors free of reparse
13
+ aliases. Replace credential staging DACLs without retaining explicit broad
14
+ grants. Preserve Undo's native identity and CAS fences while correcting
15
+ canonical test fixtures and retaining failed sandbox bootstrap diagnostics.
16
+
17
+ ---
18
+
19
+ ## [0.7.97-alpha.12] - 2026-11-01
20
+
21
+ Twelfth alpha of the v0.7.97 line: public product execution converges on the
22
+ independent shared Host with retired embedded/default construction, inline
23
+ owner switching and function-based external-agent Hosts, plus abandoned-owner
24
+ policy migration with a one-way fence; FEATURE_302 lands native
25
+ provider/OAuth credential parity across the Responses transport, ordered
26
+ history, native cloud protocols, Mistral Pi, native media classification,
27
+ shared file credentials and hidden API-key setup; Claude 5.5 history fragments
28
+ and per-message effort controls join the LLM layer; and the 2026-11-01
29
+ full-chain audit's Windows recovery, credential and permission hardening
30
+ ships. Every v0.7.96 stable and v0.7.97-alpha.1 through alpha.11 contract is
31
+ retained. npm publication remains a manual maintainer action.
32
+
33
+ ### Changed
34
+
35
+ - Store execution statistics in append-only, Session-root-scoped journals;
36
+ retain legacy projections and expire pagination cursors after projection
37
+ recovery. Keep unknown outcomes non-authoritative for execution.
38
+ - Load optional Node CLI auth, doctor, storage maintenance and one-shot
39
+ components on demand within the existing size reserve; standalone binaries
40
+ embed those components and public SDK entry points remain unchanged.
41
+ - Add native Claude 5.5 history fragments, ordered thinking/tool blocks,
42
+ inline tool/system updates and per-message effort controls. Preserve
43
+ admitted images across restore and keep cache policy out of tool arguments.
44
+
45
+ - Converge public Runtime ownership on the independent shared Host. Retire
46
+ embedded/default construction, inline owner switching and function-based
47
+ in-process external-agent Hosts. Keep the explicit daemon launcher and its
48
+ new-owner policy bootstrap; independent libraries remain usable.
49
+ - Migrate eligible abandoned owner policies under profile and real Session-root
50
+ ownership checks. Persist a one-way policy that verified old readers reject,
51
+ preventing inline rollback after Host idle exit. Live/unknown owners and
52
+ unsafe Run recovery remain protected; old private unfenced writers must stop
53
+ and upgrade before sharing data. See the SDK migration guide for breaking
54
+ API and downgrade limits.
55
+
56
+ ### Fixed
57
+
58
+ - Refresh rejected OAuth credential generations through the existing broker
59
+ without replaying the failed request or changing the selected account.
60
+ Preserve trusted account identity across refresh and fence revoked leases.
61
+ - Publish migration/OAuth/storage lock owners completely; add explicit local
62
+ inspection, retained backups, repair fences and separately attested recovery
63
+ for supported damaged ledgers/snapshots and unidentified historical locks.
64
+ - Prevent ambient Anthropic SDK headers from replacing the selected credential;
65
+ keep unsupported Claude sampling/prefill and hook effort overrides off wire.
66
+ - Preserve explicit non-retryable provider facts through returned child
67
+ failures while retaining configured fallback for transient HTTP failures.
68
+ - Prevent terminal quota, authentication and explicitly non-retryable child
69
+ failures from triggering cross-provider fallback. Diagnose retained Session
70
+ writer locks and lock-record syntax without disclosing owner fields or
71
+ reclaiming unknown ownership; add a Windows streaming-history PTY CI gate.
72
+ - Keep help, version and read-only doctor available with corrupt configuration;
73
+ retain execution/write fencing and diagnose exact lock locations without
74
+ exposing config contents or following directory aliases.
75
+ - Pin Windows CLI-provider child birth identities through delayed exit events
76
+ and retain captured descendants across intermediate-parent exit.
77
+ - Preserve explicit SDK Skill catalogs, including empty overrides, across SA/AMA
78
+ learned bindings and compaction. Keep the stricter CLI size reserve using an
79
+ audited, lazily assembled broker program resource with identical emitted bytes.
80
+
81
+ - Restore AMA Root learned Skill admission and owned finalization; explicit SDK
82
+ Skill calls now settle the existing policy and hooks without a model request.
83
+ Keep empty learned stores off foreground initialization and discover protected
84
+ formal names when a review actually commits a Skill.
85
+ - Correct verified model ceilings, generic Skill aliases, cache pricing and Kimi
86
+ cache-write usage; retain default output budgets, fixed IDs and account choices.
87
+ Project unsupported historical images explicitly without rewriting history.
88
+ - Derive SDK build/type entries from package exports and compile published examples.
89
+ Share current Runtime guardrail facts while retaining independent minimums.
90
+ Add explicit storage-capacity inspection and isolate cleanup state by directory.
91
+ - Discover Windows source regressions automatically and retain the native OS gate.
92
+ Publish complete config/Host lock records, recover verified dead owners without
93
+ TTL stealing, and retry completed migration/release cleanup. Config and extension
94
+ publication failures retain original bytes, including legacy credential fields.
95
+ - Isolate corrupt execution statistics, pending inputs and agent event ledgers
96
+ without replaying unknown effects or discarding queued intent. Retry failed CLI
97
+ credential bootstrap and load linked OAuth registrations only when selected;
98
+ preserve profile/account binding, revocation and Host replacement fences.
99
+ - Reject unreadable or invalid existing core configuration in CLI and SDK
100
+ execution instead of selecting default credentials. Retain the original bytes,
101
+ permit first-use missing configuration, and retry after explicit repair.
102
+ - Prevent native Anthropic API-key requests from inheriting ambient Bearer auth,
103
+ and omit unsigned foreign thinking on native Anthropic OAuth tool history.
104
+ Constrain SDK shell prefix fallback and protect governed Memory mutation at
105
+ sandbox and obvious direct Host targets. Plan recovery names the actual
106
+ `exit_plan_mode` approval flow.
107
+ - Ship configuration templates, static prompts and audited native scripts in standalone
108
+ archives; load the byte-identical native programs lazily within the CLI budget.
109
+
110
+ - Resolve explicit and queued Skill references against the executing Host's
111
+ config home, keeping separate Hosts' user Skills and registries isolated.
112
+ - Keep admitted Skill catalogs available under Markdown Agent and SDK profile instructions across Solo, Adaptive and public Runner entries; reuse the bounded catalog formatter for Runtime bindings while preserving complete caller prompt overrides and pinned authorization.
113
+ - Restore already-authorized tool evidence to the next model request when an actual Host/guardrail refusal or failed read makes its saved preview unrecoverable; retain read denials and Run isolation. Unknown Skill errors no longer enumerate hidden or budget-omitted registry entries.
114
+ - Preserve complete MCP/tool results inline when active Skill restrictions or read hooks could block recovery, without speculative hook execution or permission bypasses.
115
+ - Discover project `.agents/skills` and nested Skill collections with native-source precedence, support-directory boundaries and cycle protection; report shadowed sources and bound model Skill catalogs with visible shortening/omission diagnostics.
116
+ - Stabilize executor registration revision fingerprints using normalized JSON
117
+ content, including persisted and rediscovered registrations.
118
+ - Distinguish POSIX sandbox dependency, interpreter and seccomp diagnostics while
119
+ preserving authorized once-only host fallback and its actual isolation state.
120
+ - Put standalone Windows Shell commands and environment probes behind a registered
121
+ Job gate. Verify descendant drain before retiring recovery records; fail cleanup
122
+ acceptance instead of only warning when verification is unavailable.
123
+ - Compare checkpoint write times at millisecond precision so a filesystem's
124
+ fractional timestamp cannot discard fresh recovery state as future-dated.
125
+ - Drain admitted Session view and item reads before Host-owner disposal completes,
126
+ preventing released reads from recreating storage indexes after shutdown.
127
+
128
+ - Give Partner the selected generic Agent surface without persona-based restrictions.
129
+ Evaluate explicit policies against the Host catalog, retain metadata ceilings across
130
+ native/MCP/child routes, and keep allowed Actor lease calls working. Persist and
131
+ expose actual executable/model tool scopes, including after Host restart.
132
+ Repeated root recovery preserves original tool ceilings, persona and verification
133
+ while intersecting fresh authority; arbitrary callbacks still require rebinding.
134
+
135
+ - Support Partner on the unified Host through trusted Main execution-profile
136
+ snapshots, intersecting Agent mode with existing profile/tool/lease ceilings.
137
+ Expose actual Run workMode and honor extension activeTools in effective scope;
138
+ keep standalone profile compatibility and specialist child declarations.
139
+ - Preserve Actor checkpoint followup across daemon IPC and restart, and route
140
+ SA Script through its managed executor. Apply live plan effort to actual
141
+ Provider requests as well as the view.
142
+ - Keep numeric token configuration typed, capture saved output/cache/LSP/tier
143
+ defaults for new Runs, and expose per-field application boundaries. Clearing
144
+ defaults cannot revive old bootstrap projections or remove external env values;
145
+ older Hosts retain unknown application support.
146
+ - Refresh `kodax_manual` topic guidance for retired verification/journal paths,
147
+ work modes, original tool results, token estimates, task reports, question
148
+ deadlines, Skill policy and sandbox readiness. Exact query IDs/aliases now
149
+ take precedence over keyword ranking, preserving custom SDK manual topics.
150
+ - Keep trusted-text, POSIX sandbox and storage-repair test fixtures on
151
+ canonical temporary roots so macOS runner paths under the `/var` symbolic
152
+ link satisfy the hardened agent-home and filesystem-alias fences.
153
+
154
+ ---
155
+
156
+ ## [0.7.97-alpha.11] - 2026-10-29
157
+
158
+ ### Added
159
+
160
+ - Add explicit Agent, Coding and experimental Script work modes through the
161
+ CLI, interactive `/work-mode` command and managed SDK/Session paths. Coding
162
+ remains the default. Script executes supported leaf tools through the existing
163
+ permission and receipt boundaries; SDK profiles and specialist agents retain
164
+ their declared capabilities.
165
+
166
+ - Refresh Ark, MiMo and MiniMax model catalogs and their reasoning/capacity
167
+ metadata. Provider-specific mappings and validation limits are documented in
168
+ the provider configuration guide.
169
+
170
+ ### Fixed
171
+
172
+ - Run release builds alongside full CI while retaining all publication gates;
173
+ move the complete serial Node 20 system suite to its own runner, validate
174
+ archives before lengthy Electron checks, and bound bundle/archive execution
175
+ with retained failure evidence. Ordinary branch pushes still do not trigger CI.
176
+ - Preserve the Windows PowerShell module search path in isolated archive tests,
177
+ avoiding stalled OS containment probes. Reject unverified supervised Hosts
178
+ before publishing incomplete capabilities and a misleading upgrade error.
179
+
180
+ - Align current SDK, Client, design and user documentation with post-alpha.10
181
+ work modes, question deadlines, saved tool originals, structured task reports
182
+ and streaming token estimates; retain historical release/validation limits.
183
+
184
+ - Preserve non-interactive question outcomes through the REPL client and reject
185
+ client-supplied timeout answers before daemon submission; the Host owns deadlines.
186
+ - Constrain Skill `Bash(pattern)` rules to a single parsed command, preventing
187
+ wildcard matches from admitting additional shell statements, pipelines,
188
+ redirects or command substitutions. Bare Bash and absent Skill restrictions
189
+ continue through normal Host authorization.
190
+ - Correct Windows stale-process recovery startup overhead and history browsing
191
+ cursor resynchronization; validate sandbox filesystem capabilities at startup.
192
+ Historical intermittent first-read latency remains under investigation.
193
+ - Display estimated tokens consistently across model streaming progress surfaces.
194
+
195
+ - Project existing task-result metadata into Product live views and recovered
196
+ history with explicit source, task identity, terminal/unknown status and
197
+ Markdown report bodies. Preserve multi-report order, literal report content,
198
+ existing full-body reads and raw canonical envelopes; decode only explicitly
199
+ sourced legacy deliveries and keep child failures separate from root Provider
200
+ errors. Deduplicate only identified task-message mirrors; preserve independent
201
+ same-text notices and ambiguous old UI records during history restoration.
202
+
203
+ - Keep Skill discovery rooted at the repository when the SDK runs from a
204
+ subdirectory, synchronize catalogs with loader availability in SA/AMA, and
205
+ invalidate stale bodies across rediscovery and in-flight reads. Model loads
206
+ now apply the existing Skill action policies, lifecycle hooks and model
207
+ preference, retaining Host authorization and safe multi-Skill composition.
208
+
209
+ - Preserve complete MCP tool output behind explicit SDK `part: 'original'`
210
+ reads, including daemon IPC and Host restart, while retaining existing preview
211
+ offsets. Keep results inline when recovery cannot be read, improve long JSON
212
+ previews, and stop Session-local automatic cleanup from deleting shared output
213
+ artifacts. Add simulated-provider/MCP E2E coverage against the built SDK.
214
+
9
215
  ---
10
216
 
11
217
  ## [0.7.97-alpha.10] - 2026-10-27
@@ -58,6 +264,10 @@ remains a manual maintainer action.
58
264
  back a failed save acknowledgement before retrying, preserving newer metadata
59
265
  and avoiding duplicate history transactions; permission failures still surface.
60
266
 
267
+ - Keep the natural-eval fixture's `npm test` working on staged Node installs by
268
+ allowing reads of an npm CLI installed outside the binary directory, and
269
+ canonicalize the native test fixture root so hosted-runner 8.3 temp paths
270
+ (`RUNNER~1`) are not rejected by the native path policy.
61
271
  - Keep eval dump directories and unrelated `kodax-eval-*` directories out of orphan
62
272
  worktree cleanup. Require a worktree gitfile and successful Git-owned removal;
63
273
  isolate the cleanup regression from the shared system temporary directory.
package/README.md CHANGED
@@ -36,6 +36,29 @@
36
36
 
37
37
  ---
38
38
 
39
+ ## Current development after alpha.10
40
+
41
+ The unified Host cutover shipped in the `v0.7.97-alpha.12` tag retires
42
+ `runtimeExitSettlement` and `settleKodaXRuntimeExit()`. Version-labelled
43
+ paragraphs below describe their historical releases; use the [current SDK
44
+ migration guide](docs/SDK_MIGRATION.md) for supported interfaces and
45
+ [provider contracts](docs/LLM_INTEGRATION.md) for credential/account-preserving
46
+ upgrades. Existing SDK/config/API_KEY entries remain.
47
+
48
+ Agent / Coding / experimental Script work modes ship with Coding as the
49
+ default. Select them with `--work-mode`, `/work-mode`, or Product Client
50
+ Session `workMode`; this is independent of permissions and model choice.
51
+ SDK/Host paths now share the corresponding settings, question outcomes,
52
+ saved original tool reads, structured task reports and estimated-token
53
+ progress. See the [SDK alignment and migration checklist](docs/SDK_MIGRATION.md#2026-10-29-未发布改动对齐)
54
+ and [English integration guide](public_docs/sdk/embedder-guide.md#post-alpha10-sdk-alignment).
55
+ These source additions shipped in the `v0.7.97-alpha.11` tag; the
56
+ `v0.7.97-alpha.12` tag ships the unified shared-Host cutover, the
57
+ FEATURE_302 provider/OAuth credential parity stack, and the 2026-11-01
58
+ full-chain audit's Windows recovery, credential and permission fixes.
59
+ Issue 371's historical first-read latency and Script model-efficiency
60
+ acceptance remain open.
61
+
39
62
  ## Install in 30 seconds
40
63
 
41
64
  ```bash
@@ -294,10 +317,12 @@ name, not an API key value. Put the custom provider's actual API key in the
294
317
  `MY_LLM_API_KEY` environment variable, then close the current terminal and open
295
318
  a new one before running `kodax`.
296
319
 
320
+ For native OpenAI Responses, add `"api": "responses"` to the custom provider. Omitted `api` keeps Chat Completions. Responses uses client-managed history and preserves ordered output; see [configuration and scope](public_docs/configuration/custom-providers.md#native-responses-api).
321
+
297
322
  `userAgentMode` defaults to `"compat"`, which sends `KodaX` instead of the official SDK User-Agent. Switch it to `"sdk"` only when your gateway expects the upstream SDK header.
298
323
  For custom reasoning models, `reasoning: { efforts, default }` is the preferred v0.7.57 shape; use `"reasoning": "none"` for models without thinking capability. SDK hosts should render effort pickers from `reasoningProfile.supportedEfforts` / `defaultEffort` rather than assuming a fixed five-option ladder.
299
324
 
300
- An undeclared OpenAI-compatible reasoning profile means capability is unknown. Omitted effort uses `auto`: the declared default wins, otherwise KodaX tries `max` and lowers only after explicit parameter/value rejection. `none` attempts to disable reasoning, then tries the lowest available thinking effort if disabling is rejected. SDK hosts receive `onReasoningResolved` with the requested effort, sent effort, fallback reasons, and `verified: false`; request acceptance does not prove that the model honored the strength. See [reasoning negotiation](docs/DD.md#23-custom-openai-compatible-reasoning) for cache and replay contracts.
325
+ For the default Chat Completions API, an undeclared OpenAI-compatible reasoning profile means capability is unknown. Omitted effort uses `auto`: the declared default wins, otherwise KodaX tries `max` and lowers only after explicit parameter/value rejection. `none` attempts to disable reasoning, then tries the lowest available thinking effort if disabling is rejected. SDK hosts receive `onReasoningResolved` with the requested effort, sent effort, fallback reasons, and `verified: false`; request acceptance does not prove that the model honored the strength. See [reasoning negotiation](docs/DD.md#23-custom-openai-compatible-reasoning) for cache and replay contracts.
301
326
 
302
327
  #### OpenAI-compatible reasoning providers
303
328
 
@@ -443,7 +468,7 @@ try {
443
468
 
444
469
  `connectKodaXClient` attaches without starting or replacing a Host. The Node
445
470
  connector does not provide browser HTTP/WebSocket transport. The retained
446
- `/runtime` inline/daemon APIs are for explicit low-level Host integration;
471
+ `/runtime` APIs connect trusted integrations to the same shared Host;
447
472
  Worker-hosted embedded Runtime is removed. The following structured-failure
448
473
  reference is scoped to that low-level API, not fields promised by Product Client.
449
474
 
@@ -485,8 +510,10 @@ See [Structured Runtime failures](public_docs/sdk/embedder-guide.md#structured-c
485
510
  for the field contract, taxonomy, migration guidance, and security boundary.
486
511
 
487
512
  The product CLI uses the shared Host; `--runtime-mode`, `KODAX_RUNTIME_MODE`
488
- and the `runtimeMode` config key are removed. Explicit low-level inline
489
- embedding retains private ownership, while daemon clients detach independently.
513
+ and the `runtimeMode` config key are removed. The unreleased Host-only SDK
514
+ cutover also retires public embedded construction and inline owner switching.
515
+ Use `/client` for product execution; daemon clients detach independently.
516
+ See [migration and downgrade limits](docs/SDK_MIGRATION.md#统一-host-sdk-收口未发布).
490
517
  Worker-hosted embedded Runtime is no longer an option.
491
518
 
492
519
  ```bash
@@ -795,6 +822,41 @@ starts, upgrades, or waits. See
795
822
  Every v0.7.96 stable and v0.7.97-alpha.1/alpha.2/alpha.3 contract is
796
823
  retained.
797
824
 
825
+ **v0.7.97-alpha.12 release:** Public product execution converges on the
826
+ independent shared Host — embedded/default Runtime construction, inline
827
+ owner switching and function-based in-process external-agent Hosts are
828
+ retired behind an explicit daemon launcher with one-way abandoned-owner
829
+ policy migration, and `runtimeExitSettlement`/`settleKodaXRuntimeExit()`
830
+ retire. FEATURE_302 provider/OAuth credential parity lands the native
831
+ Responses transport, ordered history, native cloud protocols with scoped
832
+ authentication, Mistral Pi, native media classification, shared file
833
+ credentials bound to actual provider connections and hidden API-key setup;
834
+ Claude 5.5 history fragments and per-message effort controls join the LLM
835
+ layer; manual data moves out of the CLI JavaScript budget; and the
836
+ 2026-11-01 full-chain audit's Windows recovery, credential and permission
837
+ hardening ships with lock diagnostics and a Windows streaming-history PTY
838
+ CI gate. Tagging and publication remain separate. See the
839
+ [v0.7.97-alpha.12 release notes](docs/release.md#v0797-alpha12-release-preparation).
840
+ Every v0.7.96 stable and v0.7.97-alpha.1 through alpha.11 contract is
841
+ retained.
842
+
843
+ **v0.7.97-alpha.11 release:** Explicit Agent, Coding and experimental Script
844
+ work modes land through the CLI, `/work-mode` and managed SDK/Session paths —
845
+ Coding stays the default and Script runs supported leaf tools through the
846
+ existing permission and receipt boundaries. Ark, MiMo and MiniMax catalogs
847
+ refresh their reasoning and capacity metadata; non-interactive question
848
+ outcomes are preserved with Host-owned deadlines; Skill `Bash(pattern)` rules
849
+ admit a single parsed command; MCP tool originals stay readable through
850
+ `part: 'original'` across daemon IPC and Host restart; structured task reports
851
+ project into Product live views and recovered history; streaming progress
852
+ shows consistent estimated tokens; Windows stale-process recovery and
853
+ history-browsing cursor resync are corrected and sandbox filesystem
854
+ capabilities are validated at startup. Tagging and publication remain
855
+ separate. See the
856
+ [v0.7.97-alpha.11 release notes](docs/release.md#v0797-alpha11-release-preparation).
857
+ Every v0.7.96 stable and v0.7.97-alpha.1 through alpha.10 contract is
858
+ retained.
859
+
798
860
  **v0.7.97-alpha.10 release:** Checkpointed Runs and task trees resume after
799
861
  Host restart with fresh scoped authority on top of durable context-capacity
800
862
  recovery boundaries; Kimi K3.1 provider routes join the registry with all
@@ -1530,7 +1592,7 @@ KodaX has two layers that consumers should understand separately:
1530
1592
  | `packages/repl` | `@kodax-ai/kodax/repl` | Full package | Ink TUI + permission modes + commands (217 exports) | Terminal-UI consumers |
1531
1593
  | `packages/repl` | `@kodax-ai/kodax/session` | **Narrow subset** | Session management only — `listSessions` / `loadFullTranscript` / `appendClientNotice` / `forkSession` / `compactSession` / `watchSessions` / ... (17 exports) | IDE plugins and desktop hosts reading session history |
1532
1594
  | `src` | `@kodax-ai/kodax/client` | Product API | Shared Host connection and `KodaXProductClient` contract | TUI, desktop/IDE and automation applications |
1533
- | `src` | `@kodax-ai/kodax/runtime` | Host API | Explicit inline/daemon runtime facade, sessions/runs/events/permissions/catalog/MCP/artifacts/diagnostics/external agents, daemon protocol schema (10 exports) | Trusted Host integration |
1595
+ | `src` | `@kodax-ai/kodax/runtime` | Host API | Shared-Host runtime facade, sessions/runs/events/permissions/catalog/MCP/artifacts/diagnostics/external agents, daemon protocol schema (10 exports) | Trusted Host integration |
1534
1596
  | `src` | `@kodax-ai/kodax/sandbox` | Host API | Explicit ASRT capability/doctor/setup and host-owned contained command execution; unavailability never means silent ordinary execution | SDK hosts that need standalone process containment |
1535
1597
  | `src` | `@kodax-ai/kodax/a2a` | Integration edge | A2A 1.0 Agent Card discovery, JSON-RPC/SSE F258 executor, safe fetch policy, and authenticated Runtime-backed Agent server | Agent orchestrators and KodaX hosts |
1536
1598
 
@@ -1544,7 +1606,7 @@ KodaX has two layers that consumers should understand separately:
1544
1606
 
1545
1607
  **Inline Workflow Authoring (FEATURE_246, v0.7.58; F270 update in v0.7.72)**: the Worker can author and run a workflow inline via the model-callable `run_workflow` tool when Workflow intent is explicit. It scouts the codebase first, bakes concrete findings into child prompts, and runs the script through the sandbox, static-validation, and postcondition-verification pipeline. F270 retires AMAW and complexity-driven activation; AMA keeps explicit `/workflow`, named/SDK, and natural-language Workflow requests. Workflow child Agents now run on the unified Actor control plane. See [docs/features/v0.7.58.md](docs/features/v0.7.58.md), [docs/features/v0.7.72.md](docs/features/v0.7.72.md), and ADR-044/046/047/048/049/055.
1546
1608
 
1547
- **Historical Workflow Activation Tiers (FEATURE_248 + FEATURE_249, v0.7.59; superseded by F270 in v0.7.72)**: v0.7.59 introduced AMAW and explicit-request AMA behavior. F270 retires AMAW and its complexity-driven directive. SA remains solo; AMA is the single adaptive multi-Agent mode and activates Workflow only from explicit Workflow intent. See [docs/features/v0.7.59.md](docs/features/v0.7.59.md) and [docs/features/v0.7.72.md](docs/features/v0.7.72.md).
1609
+ **Historical Workflow Activation Tiers (FEATURE_248 + FEATURE_249, v0.7.59; superseded by F270 in v0.7.72)**: v0.7.59 introduced AMAW and explicit-request AMA behavior. F270 retires AMAW and its complexity-driven directive. CLI and REPL tasks use AMA; explicit SDK SA selection and the internal solo executor remain compatible. AMA is the single adaptive multi-Agent mode and activates Workflow only from explicit Workflow intent. See [docs/features/v0.7.59.md](docs/features/v0.7.59.md) and [docs/features/v0.7.72.md](docs/features/v0.7.72.md).
1548
1610
 
1549
1611
  **Progressive Disclosure on the Managed Tool Path (FEATURE_250, v0.7.60; current policy corrected in v0.7.74)**: the deferred-tool mechanism applies to the managed AMA path as well as SA. The current deferred set contains exactly 11 tools: six repo-intelligence tools, four web/code discovery tools, and `run_workflow`. Their `input_schema` remains directly callable while `tool_search` provides the full description on demand. The five fixed `mcp_*` facades and the `get_goal` / `create_goal` / `update_goal` lifecycle tools stay resident with their complete contracts. The v0.7.74 goal correction adds only about 109 estimated schema tokens versus the former hints (`get_goal` is actually 12 tokens smaller when resident), removes a discovery round trip, and changes no tool schema, handler, permission, goal state, or compaction-protection behavior. See [docs/features/v0.7.60.md](docs/features/v0.7.60.md) and [docs/features/v0.7.74.md](docs/features/v0.7.74.md#feature_250-v0774-correction-resident-goal-lifecycle-tools).
1550
1612
 
@@ -1556,7 +1618,7 @@ KodaX has two layers that consumers should understand separately:
1556
1618
 
1557
1619
  **Active-Run Interrupt Input (v0.7.74)**: embedded Runtime and the shared daemon advertise `interruptInput:1`. `runtime.runs.submitInput()` queues an immutable, ordered input for the current active Actor Run; all inputs admitted before one safe Runner boundary are delivered FIFO as separate user messages in the next LLM request, without creating continuation Runs. Queued/delivered state is visible in typed Run snapshots/events, delivery is acknowledged against the exact consumed IDs, and terminal cleanup prevents undelivered input from leaking into later Runs.
1558
1620
 
1559
- **External Agent SDK Plane (FEATURE_258, v0.7.67)**: `/agent` exports the protocol-neutral executor, registration, policy, credential-broker, artifact-policy, catalog, and durable task contracts. `/runtime` exposes the installed plane through `admin.agentRegistrations`, `agents`, and `agentTasks`, with the same DTO service methods over embedded and daemon clients. Executor factories are host functions: install them in an inline owner or while creating a new in-process daemon owner; they cannot be injected through an existing daemon connection or across a Runtime Worker boundary. Plane shutdown is terminal: pending waits and all later service calls reject. Restricted Workflow scripts preserve validated `phase` and external `target` routing. See the [complete owner/consumer recipes and safety contract](public_docs/sdk/embedder-guide.md#18-external-agent-executor-plane-feature_258-v0767).
1621
+ **External Agent SDK Plane (FEATURE_258, v0.7.67)**: `/agent` exports the protocol-neutral executor, registration, policy, credential-broker, artifact-policy, catalog, and durable task contracts. `/runtime` exposes the installed plane through `admin.agentRegistrations`, `agents`, and `agentTasks`, through the shared Host DTO services. The unified Host cutover retires public executor-factory injection and in-process owner construction. Configure supported A2A agents in the Host; arbitrary executor functions remain a standalone library integration and have no transparent product Host equivalent. Plane shutdown is terminal: pending waits and all later service calls reject. Restricted Workflow scripts preserve validated `phase` and external `target` routing. See the [complete owner/consumer recipes and safety contract](public_docs/sdk/embedder-guide.md#18-external-agent-executor-plane-feature_258-v0767).
1560
1622
 
1561
1623
  **Cost-Disciplined Workflow SDK (FEATURE_259, v0.7.67)**: SDK callers configure run-scoped `modelTiers` and `workflow.maxConcurrency`, while workflow authors express semantic `fast` / `balanced` / `deep` intent. Terminal workflow events expose resolved tier/source/fallback/usage/duration facts, and each durable `run.json` contains an `efficiencyReport` with token coverage, role/tier starts, packet-read topology, review waves, and quality-gate outcomes. See the [routing and telemetry contract](public_docs/sdk/embedder-guide.md#20-cost-disciplined-workflow-routing-and-telemetry-feature_259-v0767).
1562
1624
 
@@ -1564,7 +1626,7 @@ KodaX has two layers that consumers should understand separately:
1564
1626
 
1565
1627
  **Experimental Memory Agent SDK (FEATURE_260 + FEATURE_292)**: `/experimental-memory` exposes the source-compatible `MemoryAgent`/`MemorySession` lifecycle plus the additive `MemoryManagementAgent` facade when `createMemoryAgent()` receives a `MemoryManagementController`. That facade provides governed `list()`, `remember()`, and `forget()` through the same plane used by the conversation-first product surface. Passive recall is zero-wait; `query()` is read-only and deliberate; recalled content stays low-authority, and safety/scope gates remain deterministic. See the [direct session and boundary guide](public_docs/sdk/embedder-guide.md#21-experimental-governed-memory--experimental-memory-feature_260--feature_275--feature_292-v0768v0785).
1566
1628
 
1567
- **Bidirectional A2A 1.0 (FEATURE_267, v0.7.69)**: `/a2a` discovers allowed Agent Cards and installs a JSON-RPC/SSE executor through the existing F258 plane. Configured outbound Agents are also registered automatically as `external:<name>` in embedded CLI and user-daemon Runtimes, so the main Agent can orchestrate them without host code. One `a2a.json` may hold many outbound registrations and at most one inbound server, which publishes either the Runtime default or one validated `~/.kodax/agents/*.md` Agent behind an authenticated Runtime facade. The built-in listener is loopback-only and will not return a port blocked by Fetch-compatible clients; public deployment uses `handle()` behind host-owned TLS and authorization. A2A 0.3, gRPC, HTTP+JSON, push notifications, and automatic public exposure are not advertised. See the [client/server recipes and security boundaries](public_docs/sdk/embedder-guide.md#22-bidirectional-a2a-10--a2a-feature_267-v0769).
1629
+ **Bidirectional A2A 1.0 (FEATURE_267, v0.7.69)**: `/a2a` discovers allowed Agent Cards and installs a JSON-RPC/SSE executor through the existing F258 plane. Configured outbound Agents are also registered automatically as `external:<name>` in the shared Host, so the main Agent can orchestrate them without host code. One `a2a.json` may hold many outbound registrations and at most one inbound server, which publishes either the Runtime default or one validated `~/.kodax/agents/*.md` Agent behind an authenticated Runtime facade. The built-in listener is loopback-only and will not return a port blocked by Fetch-compatible clients; public deployment uses `handle()` behind host-owned TLS and authorization. A2A 0.3, gRPC, HTTP+JSON, push notifications, and automatic public exposure are not advertised. See the [client/server recipes and security boundaries](public_docs/sdk/embedder-guide.md#22-bidirectional-a2a-10--a2a-feature_267-v0769).
1568
1630
 
1569
1631
  **A2A interoperability and authentication hardening** keeps a discovered
1570
1632
  interface on the trusted Agent Card origin and sends credentials only when one
@@ -1653,11 +1715,11 @@ later re-enable. Private-address access and non-loopback plaintext HTTP are
1653
1715
  independent, persisted, default-deny permissions (`--allow-private` and
1654
1716
  `--allow-insecure-http`); exact loopback HTTP remains available without either.
1655
1717
  OAuth token endpoints retain their stricter HTTPS-or-exact-loopback rule.
1656
- SDK hosts load this same configured plane by wiring
1657
- `createConfiguredA2ARuntimeIntegration({ configHome })` and passing its
1658
- `runtimeOptions` as `externalAgents` — the CLI does this for its embedded
1659
- sessions and the daemon Host it launches, and the `worker.configuredA2A` opt-in
1660
- was removed with the Worker facade in v0.7.97. `a2a serve` loads
1718
+ The shared Host loads this configured plane through its internal
1719
+ `createConfiguredA2ARuntimeIntegration({ configHome })` wiring. SDK clients
1720
+ connect to that Host; public `externalAgents` function injection is retired.
1721
+ The `worker.configuredA2A` opt-in was removed with the Worker facade in v0.7.97.
1722
+ `a2a serve` loads
1661
1723
  its configured MCP/Extension capability surface before listening and pins that
1662
1724
  execution authority; it hot-reloads publication, authentication, and limits.
1663
1725
 
@@ -1795,7 +1857,7 @@ import { SkillRegistry } from '@kodax-ai/kodax/skills'; // zero-dep skil
1795
1857
  import { loadConfig } from '@kodax-ai/kodax/repl'; // REPL config / session helpers
1796
1858
  import { createMcpManager } from '@kodax-ai/kodax/mcp'; // MCP popout manager (v0.7.42)
1797
1859
  import { listSessions } from '@kodax-ai/kodax/session'; // session history helpers
1798
- import { createKodaXRuntime } from '@kodax-ai/kodax/runtime'; // embedded/daemon runtime API
1860
+ import { ensureKodaXRuntime } from '@kodax-ai/kodax/runtime'; // shared Host runtime API
1799
1861
  import { runKodaXSandboxed } from '@kodax-ai/kodax/sandbox'; // standalone ASRT containment
1800
1862
  import { createKodaXA2AServer } from '@kodax-ai/kodax/a2a'; // A2A 1.0 client/server edge
1801
1863
  import { createMemoryAgent } from '@kodax-ai/kodax/experimental-memory'; // opt-in memory SDK
@@ -1803,7 +1865,7 @@ import { createMemoryAgent } from '@kodax-ai/kodax/experimental-memory'; // opt-
1803
1865
 
1804
1866
  All 14 SDK entries (root + 13 subpaths, including `/client`) share internal code via ESM chunk splitting — importing from `/agent` does not pull in `/repl`'s Ink + React surface.
1805
1867
 
1806
- For the product contract and separate low-level inline/daemon ownership,
1868
+ For the product contract and low-level shared Host connections,
1807
1869
  external-agent registration and task control, session cursor pagination, workflow
1808
1870
  model-tier routing, and efficiency telemetry — see the
1809
1871
  [SDK Embedder Integration Guide](public_docs/sdk/embedder-guide.md).
@@ -2127,7 +2189,7 @@ This development tree exposes 17 SDK subpaths plus the root. Shared product
2127
2189
  applications use `@kodax-ai/kodax/client`; independent libraries and trusted Host
2128
2190
  APIs remain available through the other subpaths. See the [Client contract](docs/CLIENT_CONTRACT.md)
2129
2191
  and [SDK migration guide](docs/SDK_MIGRATION.md). This documentation was checked
2130
- against package version `0.7.97-alpha.10`; npm publication is separate from
2192
+ against package version `0.7.97-alpha.12`; npm publication is separate from
2131
2193
  the current development-tree contract.
2132
2194
 
2133
2195
  ```bash
@@ -2145,7 +2207,7 @@ import { runInkInteractiveMode } from '@kodax-ai/kodax/repl'; // Ink TUI ent
2145
2207
  import { SkillRegistry } from '@kodax-ai/kodax/skills'; // zero-dep skill loader
2146
2208
  import { createMcpManager } from '@kodax-ai/kodax/mcp'; // MCP popout manager (v0.7.42)
2147
2209
  import { listSessions } from '@kodax-ai/kodax/session'; // session history helpers
2148
- import { createKodaXRuntime } from '@kodax-ai/kodax/runtime'; // embedded/daemon runtime API
2210
+ import { ensureKodaXRuntime } from '@kodax-ai/kodax/runtime'; // shared Host runtime API
2149
2211
  import { runKodaXSandboxed } from '@kodax-ai/kodax/sandbox'; // explicit standalone containment
2150
2212
  import { createKodaXA2AServer } from '@kodax-ai/kodax/a2a'; // A2A 1.0 client/server edge
2151
2213
  import { createMemoryAgent } from '@kodax-ai/kodax/experimental-memory'; // opt-in experimental memory SDK
@@ -2323,10 +2385,10 @@ await runInkInteractiveMode({ provider: 'zhipu-coding', effort: 'auto' });
2323
2385
  | zhipu | `ZHIPU_API_KEY` | Native | glm-5 (`glm-5.3` / `glm-5.2` 1M ctx, plus `glm-5.1` / `glm-5-turbo` via `/model`; GLM-5.3 is pre-registered while the public API remains marked upcoming) |
2324
2386
  | zhipu-coding | `ZHIPU_CODING_API_KEY` | Native | glm-5.3 (1M ctx, 128K output; `glm-5.2` rollback plus `glm-5-turbo` / `glm-4.7` via `/model`; raw upstream IDs) |
2325
2387
  | zai-coding | `ZAI_CODING_API_KEY` | Native | glm-5.3 (`glm-5.2` rollback; raw upstream IDs; switched from glm-5.2 default on 2026-08-15) |
2326
- | minimax-coding | `MINIMAX_CODING_API_KEY` | Native | MiniMax-M3 (Frontier Coding, native multimodal + 1M ctx; legacy `MiniMax-M2.7` / `MiniMax-M2.7-highspeed` remain selectable via `/model`) |
2327
- | mimo | `MIMO_API_KEY` | Native | mimo-v2.5-pro (Xiaomi MiMo pay-per-token, Anthropic-compat) |
2328
- | mimo-coding | `MIMO_CODING_API_KEY` | Native | mimo-v2.5-pro (Xiaomi Token Plan, Anthropic-compat) |
2329
- | ark-coding | `ARK_CODING_API_KEY` | Native | glm-5.3 (Volcengine Ark Coding Plan — GLM-5.3 (1M ctx, 128K out) · GLM-5.2 (alias: `glm-latest`) · Kimi K2.7 Code / K2.6 · MiniMax M3 / M2.7 · DeepSeek V4 Pro / V4 Flash · Doubao Seed 2.0 Code / Pro / Lite · Doubao Seed Code) |
2388
+ | minimax-coding | `MINIMAX_CODING_API_KEY` | Native | MiniMax-M3.1-Flash (M Plan, 1M ctx, five effort levels; always-on thinking) |
2389
+ | mimo | `MIMO_API_KEY` | Native | mimo-v2.6-pro (Xiaomi MiMo pay-per-token; V2.6 Flash also selectable) |
2390
+ | mimo-coding | `MIMO_CODING_API_KEY` | Native | mimo-v2.6-pro (Xiaomi Token Plan; V2.6 Flash also selectable, image input, thinking on/off) |
2391
+ | ark-coding | `ARK_CODING_API_KEY` | Native | glm-5.3 (Ark Coding Plan; new `deepseek-v4.1-flash` / `deepseek-v4.1-flash-economy`, `glm-5.3-flash`, `kimi-k3.1-pro` / `kimi-k3` / `kimi-k2.8-preview`; all six accept images; previous configured IDs retained) |
2330
2392
  | deepseek | `DEEPSEEK_API_KEY` | Native | deepseek-flash (Anthropic-compat; DeepSeek-V4.1-Flash, 1M ctx, native image input; legacy text-only `deepseek-v4-pro`, via `/model`) |
2331
2393
  | gemini-cli | Provider CLI authentication (no KodaX API-key variable) | Prompt-only / CLI bridge | (via gemini CLI) |
2332
2394
  | codex-cli | Provider CLI authentication (no KodaX API-key variable) | Prompt-only / CLI bridge | (via codex CLI) |
@@ -2353,7 +2415,7 @@ kodax --session list
2353
2415
  kodax --parallel "Read package.json and tsconfig.json"
2354
2416
 
2355
2417
  # Adaptive multi-agent (AMA) mode — V2 Worker single-loop with Actor collaboration
2356
- kodax --agent-mode ama "Analyze code structure, check test coverage, find bugs"
2418
+ kodax "Analyze code structure, check test coverage, find bugs"
2357
2419
  ```
2358
2420
 
2359
2421
  ---