@kodax-ai/kodax 0.7.96-rc.9 → 0.7.97-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +273 -0
- package/README.md +139 -62
- package/README_CN.md +95 -67
- package/config-templates/config.example.jsonc +0 -14
- package/dist/chunks/{agent-6EVY7G4I.js → agent-KDEZEKHT.js} +1 -1
- package/dist/chunks/argument-completer-S6XK5OQA.js +2 -0
- package/dist/chunks/{chunk-5BUZ47TS.js → chunk-27NV62CK.js} +1 -1
- package/dist/chunks/{chunk-Q5R2MBGE.js → chunk-2OL4I5TF.js} +1 -1
- package/dist/chunks/chunk-3IXRUVY7.js +5 -0
- package/dist/chunks/chunk-3M5335DB.js +22 -0
- package/dist/chunks/{chunk-W5XGIRQQ.js → chunk-75IELO25.js} +13 -13
- package/dist/chunks/chunk-7TYV3YFX.js +261 -0
- package/dist/chunks/{chunk-756FJMN2.js → chunk-A26WXO3D.js} +1 -1
- package/dist/chunks/chunk-AWHU6MSJ.js +1478 -0
- package/dist/chunks/chunk-EIWAATQU.js +355 -0
- package/dist/chunks/chunk-H2KGA4NZ.js +641 -0
- package/dist/chunks/{chunk-KN6JZLSR.js → chunk-JLZUOLEL.js} +4 -4
- package/dist/chunks/{chunk-6DLQC3XX.js → chunk-K4Z7DWSV.js} +1 -1
- package/dist/chunks/{chunk-ZFTTLJHQ.js → chunk-KKTVO3ZN.js} +11 -11
- package/dist/chunks/chunk-LDCEV5QA.js +2 -0
- package/dist/chunks/{chunk-232SV7X6.js → chunk-LGX7WSRT.js} +1 -1
- package/dist/chunks/{chunk-MXU77SMG.js → chunk-LIWLDMWE.js} +1 -1
- package/dist/chunks/chunk-NNB6AZSC.js +372 -0
- package/dist/chunks/chunk-NZYG3D5W.js +21 -0
- package/dist/chunks/chunk-O7VU62ZF.js +2 -0
- package/dist/chunks/{chunk-FOC6MUV5.js → chunk-OIJYHVTO.js} +1 -1
- package/dist/chunks/chunk-SKSS6TDQ.js +498 -0
- package/dist/chunks/{chunk-XSCBV3HD.js → chunk-W7W2XKJC.js} +212 -211
- package/dist/chunks/chunk-YOKMTTLR.js +473 -0
- package/dist/chunks/chunk-ZQYWDI4O.js +1 -0
- package/dist/chunks/{client-INQHC2NA.js → client-2UJ3ESQU.js} +1 -1
- package/dist/chunks/{compaction-config-3JFJE3FY.js → compaction-config-WQ7SKQYF.js} +1 -1
- package/dist/chunks/{construction-bootstrap-LMJUNZUQ.js → construction-bootstrap-IOWLYAWA.js} +1 -1
- package/dist/chunks/{dist-222EMRS3.js → dist-5Z6YN7Z6.js} +1 -1
- package/dist/chunks/dist-YWAVSU65.js +2 -0
- package/dist/chunks/host-ELUUZWI4.js +2 -0
- package/dist/chunks/readline-helpers-ONOPF5J5.js +2 -0
- package/dist/chunks/run-manager-7INNATMJ.js +2 -0
- package/dist/chunks/utils-HFKMRP34.js +2 -0
- package/dist/index.d.ts +60 -29
- package/dist/index.js +10 -6
- package/dist/kodax_bootstrap.js +1 -1
- package/dist/kodax_cli.js +1759 -1735
- package/dist/kodax_resume.js +32 -35
- package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
- package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/sandbox-network-broker.js +70 -70
- package/dist/sdk-a2a.d.ts +31 -18
- package/dist/sdk-a2a.js +8 -9
- package/dist/sdk-agent.d.ts +91 -27
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-client.d.ts +29 -0
- package/dist/sdk-client.js +2 -0
- package/dist/sdk-coding.d.ts +86 -498
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +5 -6
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +8 -8
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.d.ts +3 -3
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +3 -1
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +315 -70
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +540 -343
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-sandbox.js +1 -1
- package/dist/sdk-session.d.ts +11 -9
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +53 -53
- package/dist/types-chunks/{base.d-Bt9lhwSV.d.ts → base.d-Dz_g7CUo.d.ts} +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-C94-n4cl.d.ts → bash-prefix-extractor.d-BhFz5sIp.d.ts} +149 -56
- package/dist/types-chunks/{capability-learning.d-gRtO03f6.d.ts → capability-learning.d-B4pxKwP4.d.ts} +1 -1
- package/dist/types-chunks/{capability.d-Ch5Vos33.d.ts → capability.d-DOF3r0fJ.d.ts} +1 -1
- package/dist/types-chunks/{capsule.d-pCKlk4oY.d.ts → capsule.d-DhXy_i0g.d.ts} +19 -27
- package/dist/types-chunks/client-contract-DYkkBxuz.d.ts +1777 -0
- package/dist/types-chunks/{controller.d-CpCtr_Ew.d.ts → controller.d-BkUJ_3sl.d.ts} +2 -2
- package/dist/types-chunks/{controller.d-BOR06_Tm.d.ts → controller.d-CA7iiSfI.d.ts} +141 -1381
- package/dist/types-chunks/{history-retrieval.d-Ckz3qqag.d.ts → history-retrieval.d-JdFfkeF3.d.ts} +2 -2
- package/dist/types-chunks/{manager.d-rtmywU9M.d.ts → manager.d-C_20XqCV.d.ts} +8 -1
- package/dist/types-chunks/manifest.d-Bw2i-zQi.d.ts +18 -0
- package/dist/types-chunks/{public-api.d-CnFEp3cI.d.ts → public-api.d-CofjXB_K.d.ts} +51 -14
- package/dist/types-chunks/{resolver.d-BrwLoWNr.d.ts → resolver.d-BMoO2VPt.d.ts} +2 -2
- package/dist/types-chunks/{types.d-BKZnSdRC.d.ts → review-inbox.d-BeaLRNHx.d.ts} +269 -5
- package/dist/types-chunks/{shell-command-sets.d-C-zD-4yF.d.ts → review-packet.d-BskpQxDZ.d.ts} +46 -3
- package/dist/types-chunks/{exec-policy.d-DiMx1srL.d.ts → run-manager.d-BrVCxHum.d.ts} +384 -61
- package/dist/types-chunks/runtime-client-info-DE3G2vWa.d.ts +15 -0
- package/dist/types-chunks/{sdk-session-DaDBjpdX.d.ts → sdk-session-BjZqSlA-.d.ts} +12 -4
- package/dist/types-chunks/{side-query.d-DHWG1JZg.d.ts → side-query.d-DmOU7byC.d.ts} +2 -2
- package/dist/types-chunks/trusted-repl-entry-C7tjze05.d.ts +445 -0
- package/dist/types-chunks/{types-PHjfwebT.d.ts → types-DDJu9iWX.d.ts} +1 -1
- package/dist/types-chunks/{types.d-BrQMB-hy.d.ts → types.d-BjOq57-z.d.ts} +6 -0
- package/dist/types-chunks/{types.d-Dt_rSXaY.d.ts → types.d-mlrvOZT1.d.ts} +5 -5
- package/dist/types-chunks/types.d-o7t9dds4.d.ts +1484 -0
- package/dist/types-chunks/{utils.d-BvgUCbA7.d.ts → utils.d-Bi-i7O5D.d.ts} +202 -36
- package/docs/CLIENT_CONTRACT.md +437 -0
- package/docs/SDK_MIGRATION.md +121 -0
- package/package.json +14 -8
- package/public_docs/README.md +12 -133
- package/public_docs/configuration/config-files.md +8 -14
- package/public_docs/configuration/providers.md +6 -0
- package/public_docs/configuration/sandbox.md +14 -5
- package/public_docs/sdk/embedder-guide.md +539 -386
- package/dist/chunks/argument-completer-BNQYBL4T.js +0 -2
- package/dist/chunks/chunk-2Y5LQMLN.js +0 -1477
- package/dist/chunks/chunk-47SKBACW.js +0 -486
- package/dist/chunks/chunk-4X3DSAWJ.js +0 -275
- package/dist/chunks/chunk-CSI32XDU.js +0 -471
- package/dist/chunks/chunk-H5OL3Y6W.js +0 -675
- package/dist/chunks/chunk-I2TJALBT.js +0 -22
- package/dist/chunks/chunk-NYCQI6QP.js +0 -2
- package/dist/chunks/chunk-SCP7FZLG.js +0 -363
- package/dist/chunks/chunk-WHQCTZKI.js +0 -5
- package/dist/chunks/chunk-ZKLRAYLT.js +0 -324
- package/dist/chunks/dist-3RTEFTGF.js +0 -2
- package/dist/chunks/host-5XO2DM2M.js +0 -2
- package/dist/chunks/run-manager-JM5GVG3E.js +0 -2
- package/dist/chunks/utils-PJMIIKRJ.js +0 -2
- package/dist/runtime-worker.js +0 -5368
- package/dist/types-chunks/review-inbox.d-9yOBc4--.d.ts +0 -221
- package/dist/types-chunks/run-manager.d-9IQPAUM-.d.ts +0 -94
- package/dist/types-chunks/trusted-repl-entry-DOsmYa7z.d.ts +0 -323
- package/dist/types-chunks/types.d-C0ywMnBV.d.ts +0 -146
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,279 @@ All notable changes to this project will be documented in this file.
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## [0.7.97-alpha.1] - 2026-10-08
|
|
12
|
+
|
|
13
|
+
First alpha of the v0.7.97 line: FEATURE_298's unified product Host and
|
|
14
|
+
client contract. The interactive product pins to the independent Host, one
|
|
15
|
+
shared session contract carries data, control, and information semantics to
|
|
16
|
+
every consumer, and execution funnels through one prepared action. Every
|
|
17
|
+
v0.7.96 stable contract is retained. npm publication remains a manual
|
|
18
|
+
maintainer action.
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- Shared product session contract and SDK entry: `KodaXProductClient`
|
|
23
|
+
through `/client` exposes sessions, goals, notices, paged history reads,
|
|
24
|
+
and Host-estimated token accounting to product consumers (T01, T09, T32).
|
|
25
|
+
- The interactive REPL pins to the independent Host: session-command
|
|
26
|
+
mutations, `/compact`, `/goal`, full-text queue retention with atomic
|
|
27
|
+
pull-back, prompt input artifacts, and canonical session writes route
|
|
28
|
+
through the Host plane (T27, T34).
|
|
29
|
+
- Host-owned planes replace client-side reimplementations: queued inputs
|
|
30
|
+
with batching and withdrawal (T06), steer/redirect/explicit-stop delivery
|
|
31
|
+
with required target runs (T07), one permission authority (T14), skills
|
|
32
|
+
preparation expanded at consumption (T37), declarative workflow start and
|
|
33
|
+
control operations (T22), memory management (T36), per-session MCP
|
|
34
|
+
persistence with typed catalogs (T12), A2A serving from bootstrap listen
|
|
35
|
+
config (T21), agent registry and Actor collaboration (T30), invocations
|
|
36
|
+
preparation over RPC for all interactive faces (T37), session derivation
|
|
37
|
+
by fork or deterministic recovery seed (T10), lineage selection/labels/
|
|
38
|
+
rewind (T11), and conservative legacy-run reads with event repair (T33).
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Preserve canonical history and ordinary browsing: complete canonical items
|
|
43
|
+
restore before identity assignment, reverse wheel input routes from frozen
|
|
44
|
+
windows, browse waiting is bounded and cancellable, partial pages keep the
|
|
45
|
+
final answer after older tools, and quoted managed protocol markers no
|
|
46
|
+
longer truncate ordinary assistant answers (Issues 344-349).
|
|
47
|
+
- Host command failures stay visible with their feedback, late observation
|
|
48
|
+
cleanup keeps its diagnostics, and Host message counts drive `/new`.
|
|
49
|
+
- Frontmatter hooks execute on Linux: the default hook contract no longer
|
|
50
|
+
pairs the bash contract with `/bin/sh`, which is dash on Debian/Ubuntu and
|
|
51
|
+
rejected every hook at shell environment resolution (Issue 354).
|
|
52
|
+
- Crash recovery proceeds after a `SIGKILL`ed daemon on Linux: a zombie pid
|
|
53
|
+
waiting for its parent to reap it is no longer classified as a live
|
|
54
|
+
competing owner (Issue 355).
|
|
55
|
+
- Release validation hardened the interactive fixtures (CI static-output
|
|
56
|
+
detection, learning-review request classification), raised the
|
|
57
|
+
machine-relative long-line layout budget on CI evidence (Issues 356-358;
|
|
58
|
+
358 remains open for profiling), and aligned the release binary provider
|
|
59
|
+
smoke with Host-owned execution by seeding every provider's key env per
|
|
60
|
+
probe.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## [0.7.96] - 2026-10-01
|
|
65
|
+
|
|
66
|
+
Stable release of the v0.7.96 line, finalizing the fourteen release
|
|
67
|
+
candidates: trusted text transactions and platform shell containment across
|
|
68
|
+
Windows, Linux, and macOS; Windows daemon lifecycle arbitration with
|
|
69
|
+
nonblocking uncertain Shell cleanup; turn-matched interrupted-Run recovery
|
|
70
|
+
across Runs; provable tool-history pairing and compaction-copy tracing;
|
|
71
|
+
macOS system Git preflight; provider authentication isolation; single-writer
|
|
72
|
+
Runtime transcript ownership in Ink sessions; and Windows NUL-ACE startup
|
|
73
|
+
recovery. CI runs inside the tag-triggered Release workflow. Every rc.14
|
|
74
|
+
contract is retained; open items remain tracked in `docs/KNOWN_ISSUES.md`.
|
|
75
|
+
npm publication remains a manual maintainer action.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## [0.7.96-rc.14] - 2026-10-01
|
|
80
|
+
|
|
81
|
+
Fourteenth release candidate of the v0.7.96 line: interrupted-Run recovery
|
|
82
|
+
reaches coding Runs and managed execution with budgeted turn-matched
|
|
83
|
+
records, tool-history pairing and compaction-copy tracing become provable,
|
|
84
|
+
Anthropic-compatible providers ignore inherited `ANTHROPIC_AUTH_TOKEN`, the
|
|
85
|
+
Ink host defers to the Runtime as the single transcript writer, and Windows
|
|
86
|
+
interactive startup re-verifies the NUL account ACE behind a current setup
|
|
87
|
+
marker after a reboot. CI now runs inside the tag-triggered Release
|
|
88
|
+
workflow instead of on branch pushes. Every rc.13 contract is retained. npm
|
|
89
|
+
publication remains a manual maintainer action.
|
|
90
|
+
|
|
91
|
+
### Fixed
|
|
92
|
+
|
|
93
|
+
- Interactive Windows startup verifies the live NUL sandbox-account grant
|
|
94
|
+
before trusting the durable setup marker. Missing access enters the existing
|
|
95
|
+
setup recovery boundary; installation omits historical read roots whose
|
|
96
|
+
files disappeared. SDK/daemon startup and ordinary admission remain
|
|
97
|
+
read-only and do not activate setup automatically (Issue 341).
|
|
98
|
+
- Windows sandbox unit tests provision mock-SID artifacts and remove recovery
|
|
99
|
+
fixtures in a private temporary native cache, so they no longer interfere
|
|
100
|
+
with live sandbox commands using the host's shared cache. The native
|
|
101
|
+
provisioning suite still requires an ordinary host token (Issue 343).
|
|
102
|
+
- Tool-history validation pairs calls with results across the whole assistant
|
|
103
|
+
scope, so an internal managed-run context message between them no longer
|
|
104
|
+
strips both halves of the pair (Issue 340).
|
|
105
|
+
- Failed managed provider calls hand back the Runner transcript they received,
|
|
106
|
+
not provider-normalized request copies, so compatibility cleanup never becomes
|
|
107
|
+
persisted history.
|
|
108
|
+
- Conversation resolution restores active-path entries damaged by the old
|
|
109
|
+
adjacent-only cleanup when a retained sibling chain reproduces the damage
|
|
110
|
+
exactly; unproven cases stay ambiguous. The page cache version is bumped so
|
|
111
|
+
existing v6 caches rebuild once.
|
|
112
|
+
- The next managed or coding Run of a Session receives a labelled, bounded,
|
|
113
|
+
transient record of journaled progress from an earlier unfinished Run on the
|
|
114
|
+
active branch: confirmed results, operations whose result is unknown, and
|
|
115
|
+
unconfirmed excerpts of assistant text the Run streamed but never saved. The
|
|
116
|
+
record is never saved and each part disappears once history contains it.
|
|
117
|
+
Operations from every included Run take the size bound before any excerpt.
|
|
118
|
+
Operations match history per turn, so a provider reusing a tool call id in a
|
|
119
|
+
later turn no longer hides an earlier unfinished operation, and the source
|
|
120
|
+
tracing also covers histories compacted again before this fix.
|
|
121
|
+
- Conversation resolution traces a compaction copy of a copy back to its first
|
|
122
|
+
retained predecessor, so re-compacted history no longer shows the same
|
|
123
|
+
message twice. When an older compaction boundary cannot be proven, history
|
|
124
|
+
is truncated at that boundary and reported as `partial` with
|
|
125
|
+
`compaction_history_truncated`, instead of flattening unproven regions into
|
|
126
|
+
one conversation. The page cache version is bumped to 9.
|
|
127
|
+
- Anthropic-compatible providers no longer pick up an inherited
|
|
128
|
+
`ANTHROPIC_AUTH_TOKEN`. The SDK sent it as a Bearer header next to the
|
|
129
|
+
provider key, so gateways such as zhipu-coding and deepseek returned 401 and
|
|
130
|
+
the Anthropic token reached a third-party endpoint. The native Anthropic
|
|
131
|
+
provider is unchanged.
|
|
132
|
+
- Compare PowerShell-emitted native artifact and control-directory paths
|
|
133
|
+
through long-form realpaths when the literal comparison disagrees.
|
|
134
|
+
PowerShell's `GetFullPath` expands 8.3 path components, so a runner whose
|
|
135
|
+
`TEMP` root uses a short name (`C:\Users\RUNNER~1\...`) made the private
|
|
136
|
+
test native-artifact cache provisioning fail with an unexpected-path error
|
|
137
|
+
even though the provisioner returned the canonical destination.
|
|
138
|
+
- The interactive REPL no longer forks a duplicate branch every round when a
|
|
139
|
+
Runtime owns the Session. The host stops writing its own lineage. Storage
|
|
140
|
+
reconciles host saves against the Runtime's durable lineage, and the host
|
|
141
|
+
continues from the Runtime's entry ids. That fixes three problems:
|
|
142
|
+
- The next host save no longer replaces the Runtime's branch.
|
|
143
|
+
- A crash between the two writes no longer leaves a permanent fork.
|
|
144
|
+
- A Run cancelled before it produced a result no longer clears the host's
|
|
145
|
+
transcript copy.
|
|
146
|
+
|
|
147
|
+
### Changed
|
|
148
|
+
|
|
149
|
+
- CI runs through `workflow_call` or manual dispatch instead of branch pushes
|
|
150
|
+
and pull requests. Tag and manually dispatched release builds run the full
|
|
151
|
+
reusable CI workflow before their build matrix.
|
|
152
|
+
|
|
153
|
+
### Documentation
|
|
154
|
+
|
|
155
|
+
- Align the public SDK guide with read-only legacy history repair, partial
|
|
156
|
+
compaction truncation, transient interrupted-Run recovery, and Runtime-owned
|
|
157
|
+
transcript persistence. Document the CLI-only NUL recovery boundary and
|
|
158
|
+
provider authentication isolation.
|
|
159
|
+
- Track unexpected interactive REPL exit as unresolved (Issue 342). Successful
|
|
160
|
+
SDK concurrency and full-TTY trace replay do not resolve that failure.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## [0.7.96-rc.13] - 2026-09-29
|
|
165
|
+
|
|
166
|
+
Thirteenth release candidate of the v0.7.96 line: Runtime-owned managed
|
|
167
|
+
runs persist generated output at Runner commit boundaries so an interrupted
|
|
168
|
+
run keeps its transcript instead of losing it with a hung request. Every
|
|
169
|
+
rc.12 contract is retained. npm publication remains a manual maintainer
|
|
170
|
+
action.
|
|
171
|
+
|
|
172
|
+
### Fixed
|
|
173
|
+
|
|
174
|
+
- Runtime-owned managed runs persist generated assistant messages and tool results
|
|
175
|
+
at Runner commit boundaries, before tools or subsequent provider calls can hang.
|
|
176
|
+
Persist the current compacted transcript and queued-input identities; do not
|
|
177
|
+
repeatedly save old input messages or change host-owned persistence timing.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## [0.7.96-rc.12] - 2026-09-28
|
|
182
|
+
|
|
183
|
+
Twelfth release candidate of the v0.7.96 line: uncertain Shell cleanup no
|
|
184
|
+
longer blocks conversations, Runner iteration progress becomes observable,
|
|
185
|
+
exhausted Actor children settle with honest structured results, and the test
|
|
186
|
+
toolchain upgrades to Vitest 4. Every rc.11 contract is retained. npm
|
|
187
|
+
publication remains a manual maintainer action.
|
|
188
|
+
|
|
189
|
+
### Fixed
|
|
190
|
+
|
|
191
|
+
- Return exhausted Shell cleanup diagnostics and partial output to the model
|
|
192
|
+
without cancelling its Run. Keep unresolved process identities as deferred
|
|
193
|
+
cleanup, allow successors and close, and accept queued input during Stop.
|
|
194
|
+
- Expose Root Runner iteration progress in Runtime live snapshots and structured
|
|
195
|
+
Actor iteration progress in durable turn summaries/output. Values come from
|
|
196
|
+
the executing Runner; the default managed Root (500) and native Actor child
|
|
197
|
+
(200) thresholds are unchanged.
|
|
198
|
+
- Settle exhausted native Actor children as failed with terminationReason
|
|
199
|
+
iteration_limit, preserving partial output, artifacts and structured results.
|
|
200
|
+
Parent completion notifications include the reason. Exhaustion no longer runs
|
|
201
|
+
a structured-output repair or workflow digest, and follow-up starts a fresh
|
|
202
|
+
iteration count. Completion on the final permitted iteration remains successful.
|
|
203
|
+
|
|
204
|
+
### Changed
|
|
205
|
+
|
|
206
|
+
- Upgrade the test toolchain to Vitest 4.1.11 (with `@vitest/coverage-v8`
|
|
207
|
+
4.1.11 and pinned vite 7.3.3/vite-node) and fflate ^0.8.3, which fixes a
|
|
208
|
+
ZIP64 directory scan that never terminated when a compressed-size sentinel
|
|
209
|
+
was present without the required `0x0001` extra field; skill archive
|
|
210
|
+
regression coverage locks the fix in.
|
|
211
|
+
|
|
212
|
+
### Documentation
|
|
213
|
+
|
|
214
|
+
- Document the embedder-owned Electron `safeStorage` credential storage
|
|
215
|
+
lifecycle: on Windows, the `Local State` encryption state must be preserved
|
|
216
|
+
together with the ciphertext across cleanup, uninstall, reinstall, and
|
|
217
|
+
profile migration, and an undecryptable existing client secret surfaces a
|
|
218
|
+
terminal credential recovery error instead of a silent replacement.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## [0.7.96-rc.11] - 2026-09-23
|
|
223
|
+
|
|
224
|
+
Eleventh release candidate of the v0.7.96 line: SDK-owned background Git
|
|
225
|
+
calls on macOS preflight the system Git shim so a machine without usable
|
|
226
|
+
command-line developer tools no longer receives repeated Apple installation
|
|
227
|
+
prompts. Every rc.10 contract is retained. npm publication remains a manual
|
|
228
|
+
maintainer action.
|
|
229
|
+
|
|
230
|
+
### Fixed
|
|
231
|
+
|
|
232
|
+
- Preflight the macOS system Git shim before SDK-owned Git calls
|
|
233
|
+
(`@kodax-ai/agent/runtime/macos-git`): the shared platform guard detects
|
|
234
|
+
the known developer-tools-missing condition only (exit code 2,
|
|
235
|
+
`DEVELOPER_DIR`-aware), caches probes with a bounded TTL, shares one probe
|
|
236
|
+
across concurrent callers, and recovers after installation with no
|
|
237
|
+
permanent disable state. Repo-intelligence, worktree, changed-diff,
|
|
238
|
+
managed-task checkpoint, agent-adapter, worktree-sweep, session-snapshot,
|
|
239
|
+
REPL helpers, and synchronous memory paths apply the guard while ordinary
|
|
240
|
+
Git on `PATH`, independent Git installations, and arbitrary Bash/PTY
|
|
241
|
+
commands remain unchanged (Issue 339). Worktree operations keep actionable
|
|
242
|
+
errors; synchronous memory identity keeps its remote-based identity and
|
|
243
|
+
local-path fallback rules. Native macOS on-device UI verification remains
|
|
244
|
+
recommended on real hardware.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## [0.7.96-rc.10] - 2026-09-22
|
|
249
|
+
|
|
250
|
+
Tenth release candidate of the v0.7.96 line: Runtime shutdown now owns and
|
|
251
|
+
drains the background work it starts, Edits-mode text tools no longer reject
|
|
252
|
+
ordinary project files when a workspace root contains protected native state,
|
|
253
|
+
and the MCP image-validation cancellation fixture is stabilized. Every rc.9
|
|
254
|
+
contract is retained. npm publication remains a manual maintainer action.
|
|
255
|
+
|
|
256
|
+
### Fixed
|
|
257
|
+
|
|
258
|
+
- Drain owned managed terminal maintenance on Runtime close: the optional
|
|
259
|
+
repo-intelligence/artifact maintenance factory is registered with its own
|
|
260
|
+
Runtime before it can start, close stops accepting new optional maintenance
|
|
261
|
+
and waits for existing owned work before releasing Actor, executor, and
|
|
262
|
+
owner-liveness resources, so test workspaces are no longer held after
|
|
263
|
+
`Runtime.close()` returns. Run completion, successor admission, and Stop
|
|
264
|
+
stay independent of maintenance; shared repo caches are not cancelled.
|
|
265
|
+
- Own and settle memory work on shutdown: Runtime registers its memory
|
|
266
|
+
setup/finalization IO and background review drains before execution; close
|
|
267
|
+
refuses new work, cancels pending review requests, and awaits
|
|
268
|
+
already-started work before releasing the owner. Managed execution finishes
|
|
269
|
+
its required durable memory finalization before publishing completion, the
|
|
270
|
+
classic finalizer owns learned-Skill outcome and binding-release IO, and
|
|
271
|
+
branch-authority setup checks cancellation before prompt/Git work. A caller
|
|
272
|
+
signal already aborted at entry settles as an interrupt terminal (defined
|
|
273
|
+
`KodaXResult`, terminal `onComplete`) instead of a raw rejection, keeping
|
|
274
|
+
the CAP-005-001b and CAP-086-003 contracts.
|
|
275
|
+
- Scope trusted text transaction cache protection to the authorized canonical
|
|
276
|
+
target: Edits-mode `edit`/`write` no longer fail with `Runtime write policy
|
|
277
|
+
targets protected native text state` for ordinary project files when a
|
|
278
|
+
workspace root contains the protected native cache (for example a home
|
|
279
|
+
root). Development artifact trust still checks every authorized write root,
|
|
280
|
+
so a writable manifest cannot redefine trusted native bytes.
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
11
284
|
## [0.7.96-rc.9] - 2026-09-21
|
|
12
285
|
|
|
13
286
|
Ninth release candidate of the v0.7.96 line: Windows daemon startup trees
|
package/README.md
CHANGED
|
@@ -424,21 +424,30 @@ const result = await runKodaX(
|
|
|
424
424
|
|
|
425
425
|
## Runtime SDK and daemon
|
|
426
426
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
427
|
+
For shared Sessions, use `KodaXProductClient` from `@kodax-ai/kodax/client`.
|
|
428
|
+
The Host owns execution, settings and persistence; the UI submits inputs,
|
|
429
|
+
answers Host interactions and replaces its display from `sessions.observe`.
|
|
430
|
+
See the [Client contract](docs/CLIENT_CONTRACT.md), [SDK migration guide](docs/SDK_MIGRATION.md),
|
|
431
|
+
and [integration example](public_docs/sdk/embedder-guide.md#product-client-integration).
|
|
431
432
|
|
|
432
433
|
```ts
|
|
433
|
-
import {
|
|
434
|
-
|
|
435
|
-
const
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
}
|
|
434
|
+
import { ensureKodaXClient } from '@kodax-ai/kodax/client';
|
|
435
|
+
|
|
436
|
+
const client = await ensureKodaXClient();
|
|
437
|
+
try {
|
|
438
|
+
const sessions = await client.sessions.list();
|
|
439
|
+
process.stdout.write(`Sessions: ${sessions.length}\n`);
|
|
440
|
+
} finally {
|
|
441
|
+
await client.disconnect(); // Shared Host and Runs remain alive.
|
|
442
|
+
}
|
|
440
443
|
```
|
|
441
444
|
|
|
445
|
+
`connectKodaXClient` attaches without starting or replacing a Host. The Node
|
|
446
|
+
connector does not provide browser HTTP/WebSocket transport. The retained
|
|
447
|
+
`/runtime` inline/daemon APIs are for explicit low-level Host integration;
|
|
448
|
+
Worker-hosted embedded Runtime is removed. The following structured-failure
|
|
449
|
+
reference is scoped to that low-level API, not fields promised by Product Client.
|
|
450
|
+
|
|
442
451
|
### Structured Runtime failures
|
|
443
452
|
|
|
444
453
|
Since v0.7.96, when Runtime has a structured failure fact, failed/cancelled runs
|
|
@@ -470,47 +479,21 @@ collections, URLs, full local paths, stacks, or raw `Error` objects into
|
|
|
470
479
|
See [Structured Runtime failures](public_docs/sdk/embedder-guide.md#structured-credential-safe-runtime-failures)
|
|
471
480
|
for the field contract, taxonomy, migration guidance, and security boundary.
|
|
472
481
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
isolation is a V8 fault boundary, not a security sandbox.
|
|
478
|
-
|
|
479
|
-
Because a daemon is intentionally persistent, tests that auto-start one must
|
|
480
|
-
also run `kodax daemon stop --home <dir> --profile <name>` (or send authenticated
|
|
481
|
-
`runtime.shutdown`) before deleting their temporary home. A remaining Node
|
|
482
|
-
process is not safe to kill by name alone; verify its command line and owner.
|
|
482
|
+
The product CLI uses the shared Host; `--runtime-mode`, `KODAX_RUNTIME_MODE`
|
|
483
|
+
and the `runtimeMode` config key are removed. Explicit low-level inline
|
|
484
|
+
embedding retains private ownership, while daemon clients detach independently.
|
|
485
|
+
Worker-hosted embedded Runtime is no longer an option.
|
|
483
486
|
|
|
484
487
|
```bash
|
|
485
488
|
kodax daemon start
|
|
489
|
+
kodax -p "Review this repository"
|
|
486
490
|
kodax daemon stop --profile default
|
|
487
|
-
kodax --runtime-mode daemon
|
|
488
|
-
kodax -p "Review this repository" --runtime-mode daemon
|
|
489
491
|
```
|
|
490
492
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
```json
|
|
496
|
-
{
|
|
497
|
-
"runtimeMode": "daemon"
|
|
498
|
-
}
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
Resolution order is explicit CLI/SDK option > environment variable >
|
|
502
|
-
`config.json` > built-in default (`embedded`). `KODAX_RUNTIME_MODE=daemon` is a
|
|
503
|
-
temporary environment override. The same rule applies to other paired settings,
|
|
504
|
-
for example `provider` ↔ `KODAX_PROVIDER` and `effort` ↔ `KODAX_EFFORT`.
|
|
505
|
-
JSON names stay camelCase while environment names use `KODAX_UPPER_SNAKE_CASE`.
|
|
506
|
-
|
|
507
|
-
By default, daemon state, config, and runtime session storage use the exact
|
|
508
|
-
resolved `KODAX_HOME` (normally `<OS user home>/.kodax`), so CLI and SDK clients
|
|
509
|
-
converge on the same local daemon even when `KODAX_HOME` is an arbitrary custom
|
|
510
|
-
directory. The high-level `createKodaXRuntime({ mode: 'daemon' })` API starts or
|
|
511
|
-
reuses that daemon unless you pass an explicit endpoint/transport or
|
|
512
|
-
`autoStartDaemon: false`. An explicit `--home <dir>` or `homeDir` selects the
|
|
513
|
-
isolated `<dir>/.kodax` namespace for tests, CI, or project-local experiments.
|
|
493
|
+
Tests that start an isolated Host must close that exact Host after its work has
|
|
494
|
+
settled, before removing its temporary home. Never stop arbitrary Node processes.
|
|
495
|
+
With no explicit home, CLI and SDK use the resolved `KODAX_HOME`; explicit
|
|
496
|
+
`homeDir` / `--home` selects a base directory containing `.kodax`.
|
|
514
497
|
|
|
515
498
|
**v0.7.71 packaged Electron patch:** packaged/asar Electron hosts can use daemon
|
|
516
499
|
auto-start without relaunching the GUI. `ELECTRON_RUN_AS_NODE` is limited to a
|
|
@@ -616,7 +599,7 @@ FEATURE_280 was explicitly rescheduled to v0.7.81 (then to v0.7.86 on
|
|
|
616
599
|
Issue 256 was explicitly rescheduled to v0.7.84 and is likewise not represented
|
|
617
600
|
as shipped by this release.
|
|
618
601
|
|
|
619
|
-
**v0.7.80 hardening release:** The CLI
|
|
602
|
+
**v0.7.80 hardening release:** The CLI honored `worker.configuredA2A` in
|
|
620
603
|
`~/.kodax/config.json`: the embedded Runtime becomes Worker-hosted and loads
|
|
621
604
|
the configured A2A plane inside the Worker owner, so configured outbound
|
|
622
605
|
Agents appear as `external:<name>` in `list_dispatchable_agents` and can be
|
|
@@ -786,6 +769,84 @@ provider's model, REPL `/compact` clears the UI only after a durable save, and
|
|
|
786
769
|
successful reports carry bounded `summaryRequests` plus `commitMs` per
|
|
787
770
|
physical summary call.
|
|
788
771
|
|
|
772
|
+
**v0.7.97-alpha.1 release:** First alpha of the v0.7.97 line — FEATURE_298's
|
|
773
|
+
unified product Host and client contract. The interactive REPL pins to the
|
|
774
|
+
independent Host; the shared product session contract (`KodaXProductClient`
|
|
775
|
+
through `/client`) carries sessions, goals, notices, paged history, queued
|
|
776
|
+
inputs with batching and withdrawal, and the steer/redirect/stop delivery
|
|
777
|
+
distinction; one permission authority, skills, workflows, memory, per-session
|
|
778
|
+
MCP persistence, and A2A serving become Host-owned; sessions derive by fork
|
|
779
|
+
or deterministic recovery seed; and runtime read/write gaps close (Issues
|
|
780
|
+
344-349). Every v0.7.96 stable contract is retained; cross-platform manual
|
|
781
|
+
acceptance remains open.
|
|
782
|
+
|
|
783
|
+
**v0.7.96 stable release:** The stable release of the v0.7.96 line,
|
|
784
|
+
finalizing the fourteen release candidates: trusted text transactions and
|
|
785
|
+
platform shell containment across Windows, Linux, and macOS; Windows daemon
|
|
786
|
+
lifecycle arbitration with nonblocking uncertain Shell cleanup; turn-matched
|
|
787
|
+
interrupted-Run recovery across Runs; provable tool-history pairing and
|
|
788
|
+
compaction-copy tracing; macOS system Git preflight; provider authentication
|
|
789
|
+
isolation; single-writer Runtime transcript ownership in Ink sessions; and
|
|
790
|
+
Windows NUL-ACE startup recovery. CI runs inside the tag-triggered Release
|
|
791
|
+
workflow. Every rc.14 contract is retained; open items remain tracked in
|
|
792
|
+
`docs/KNOWN_ISSUES.md`.
|
|
793
|
+
|
|
794
|
+
**v0.7.96-rc.14 release:** Fourteenth release candidate of the v0.7.96
|
|
795
|
+
line. Interrupted-Run recovery reaches coding Runs and managed execution
|
|
796
|
+
with a labelled, bounded, transient record of journaled progress matched
|
|
797
|
+
per turn; tool-history pairing spans the whole assistant scope;
|
|
798
|
+
conversation resolution traces compaction copies to a provable root and
|
|
799
|
+
truncates unproven boundaries as `partial`; Anthropic-compatible providers
|
|
800
|
+
ignore an inherited `ANTHROPIC_AUTH_TOKEN`; the Ink host defers to the
|
|
801
|
+
Runtime as the single transcript writer; and Windows interactive startup
|
|
802
|
+
re-verifies the NUL account ACE behind a current setup marker after a
|
|
803
|
+
reboot (Issues 340-341). CI now runs inside the tag-triggered Release
|
|
804
|
+
workflow instead of on branch pushes. Every rc.13 contract is retained.
|
|
805
|
+
|
|
806
|
+
**v0.7.96-rc.13 release:** Thirteenth release candidate of the v0.7.96
|
|
807
|
+
line. Runtime-owned managed runs persist generated assistant messages and
|
|
808
|
+
tool results at Runner commit boundaries, before tools or subsequent
|
|
809
|
+
provider calls can hang: the current compacted transcript and queued-input
|
|
810
|
+
identities survive an interrupted run, initial input replay is skipped
|
|
811
|
+
rather than re-saving all history, and host-owned persistence timing is
|
|
812
|
+
unchanged. Every rc.12 contract is retained.
|
|
813
|
+
|
|
814
|
+
**v0.7.96-rc.12 release:** Twelfth release candidate of the v0.7.96 line.
|
|
815
|
+
Uncertain Shell cleanup no longer blocks conversations: exhausted cleanup
|
|
816
|
+
retries return diagnostics and partial output to the model, unresolved
|
|
817
|
+
process identities become deferred cleanup records, successors and close
|
|
818
|
+
proceed, and an exhausted terminal Run settles honestly with
|
|
819
|
+
`effectOutcome: unknown` instead of claiming verified termination. Root
|
|
820
|
+
Runner iteration progress is exposed in Runtime live snapshots and durable
|
|
821
|
+
Actor turns, and exhausted native Actor children settle as failed with
|
|
822
|
+
`terminationReason: iteration_limit` while preserving partial output,
|
|
823
|
+
artifacts, and structured results. The test toolchain upgrades to Vitest
|
|
824
|
+
4.1.11 with fflate 0.8.3 (ZIP64 scan fix). Every rc.11 contract is retained.
|
|
825
|
+
|
|
826
|
+
**v0.7.96-rc.11 release:** Eleventh release candidate of the v0.7.96 line.
|
|
827
|
+
SDK-owned background Git calls on macOS preflight the system Git shim: a
|
|
828
|
+
shared `DEVELOPER_DIR`-aware platform guard (`@kodax-ai/agent/runtime/macos-git`)
|
|
829
|
+
detects the known developer-tools-missing condition (exit code 2 only,
|
|
830
|
+
TTL-cached probes shared across concurrent callers, recoverable after
|
|
831
|
+
installation, no permanent disable state) so repo-intelligence, worktree,
|
|
832
|
+
changed-diff, managed-task checkpoint, agent-adapter, worktree-sweep,
|
|
833
|
+
session-snapshot, REPL helpers, and synchronous memory paths no longer
|
|
834
|
+
repeat Apple's developer-tools installation prompt. Ordinary Git on `PATH`,
|
|
835
|
+
independent Git, and arbitrary Bash/PTY commands are unchanged (Issue 339).
|
|
836
|
+
Every rc.10 contract is retained.
|
|
837
|
+
|
|
838
|
+
**v0.7.96-rc.10 release:** Tenth release candidate of the v0.7.96 line.
|
|
839
|
+
Runtime shutdown owns and drains the background work it starts: managed
|
|
840
|
+
terminal maintenance and memory setup/finalization IO plus background review
|
|
841
|
+
drains are registered with the owning Runtime, close refuses new work and
|
|
842
|
+
awaits already-started work before releasing resources, and managed execution
|
|
843
|
+
finishes its durable memory finalization before publishing completion.
|
|
844
|
+
Edits-mode `edit`/`write` no longer reject ordinary project files when a
|
|
845
|
+
workspace root contains protected native state: trusted text transaction
|
|
846
|
+
cache protection targets only the authorized canonical file while
|
|
847
|
+
development artifact trust still checks every authorized write root. Every
|
|
848
|
+
rc.9 contract is retained.
|
|
849
|
+
|
|
789
850
|
**v0.7.96-rc.9 release:** Ninth release candidate of the v0.7.96 line.
|
|
790
851
|
Arbitrates daemon publication against launcher loss with a one-shot startup
|
|
791
852
|
handoff: unpublished Windows daemon startup trees and their Job descendants
|
|
@@ -1218,10 +1279,10 @@ effective draft after streaming and reconnect while raw journals retain the
|
|
|
1218
1279
|
complete audit trail. They must not replay provider recovery checkpoints or
|
|
1219
1280
|
deduplicate text heuristically.
|
|
1220
1281
|
|
|
1221
|
-
For the full host-integration contract, including inline/
|
|
1282
|
+
For the full host-integration contract, including Product Client and explicit inline/daemon ownership,
|
|
1222
1283
|
multi-client permission handling, config/catalog/MCP admin APIs, artifacts,
|
|
1223
1284
|
context diagnostics, and daemon protocol schemas, see
|
|
1224
|
-
[public_docs/sdk/embedder-guide.md §17](public_docs/sdk/embedder-guide.md#17-runtime-sdk-
|
|
1285
|
+
[public_docs/sdk/embedder-guide.md §17](public_docs/sdk/embedder-guide.md#17-runtime-sdk-and-local-daemon-feature_253-feature_257).
|
|
1225
1286
|
|
|
1226
1287
|
The Space/IDE shared-daemon contract is documented in
|
|
1227
1288
|
[SDK Embedder Guide section 23](public_docs/sdk/embedder-guide.md#23-shared-coder-daemon-for-space-and-ide-hosts-feature_269-v0769).
|
|
@@ -1252,7 +1313,7 @@ kodax --repo-intelligence full --repo-intelligence-trace
|
|
|
1252
1313
|
|
|
1253
1314
|
## Architecture
|
|
1254
1315
|
|
|
1255
|
-
KodaX uses a **monorepo architecture** with npm workspaces. Source layout currently has 4 workspace packages;
|
|
1316
|
+
KodaX uses a **monorepo architecture** with npm workspaces. Source layout currently has 4 workspace packages; the current source packages them as a single bundled npm package `@kodax-ai/kodax` with 13 SDK subpath exports (`/agent`, `/llm`, `/coding`, `/media`, `/repl`, `/skills`, `/mcp`, `/session`, `/client`, `/runtime`, `/sandbox`, `/a2a`, `/experimental-memory`; ADR-024 + ADR-032 + ADR-038, with ADR-036 consolidation):
|
|
1256
1317
|
|
|
1257
1318
|
```
|
|
1258
1319
|
KodaX/
|
|
@@ -1327,9 +1388,9 @@ Source-side workspace package names (`@kodax-ai/*`). npm consumers install the s
|
|
|
1327
1388
|
KodaX has two layers that consumers should understand separately:
|
|
1328
1389
|
|
|
1329
1390
|
- **Source-side**: 4 workspace packages above (what developers see when reading the repo).
|
|
1330
|
-
- **npm
|
|
1391
|
+
- **Current packaged exports** (not a claim of npm availability): a single bundled package `@kodax-ai/kodax` with 13 SDK subpaths (what SDK consumers `import` from). The subpaths are split into two roles:
|
|
1331
1392
|
- **Full-package subpaths** (`/agent`, `/llm`, `/coding`, `/repl`) — each one maps 1:1 to a source workspace and exposes its complete public API.
|
|
1332
|
-
- **Integration and narrow subpaths** (`/media`, `/skills`, `/mcp`, `/session`, `/runtime`, `/sandbox`, `/a2a`, `/experimental-memory`) — focused host surfaces. `/a2a` composes the neutral F258 plane with the Runtime facade; it does not add A2A wire types to `/agent`.
|
|
1393
|
+
- **Integration and narrow subpaths** (`/media`, `/skills`, `/mcp`, `/session`, `/client`, `/runtime`, `/sandbox`, `/a2a`, `/experimental-memory`) — focused host surfaces. `/a2a` composes the neutral F258 plane with the Runtime facade; it does not add A2A wire types to `/agent`.
|
|
1333
1394
|
|
|
1334
1395
|
| Source package | npm subpath | Type | What you get | Example consumer |
|
|
1335
1396
|
|---|---|---|---|---|
|
|
@@ -1342,7 +1403,8 @@ KodaX has two layers that consumers should understand separately:
|
|
|
1342
1403
|
| `packages/coding` | `@kodax-ai/kodax/coding` | Full package | Coding agent + 50+ tools + repo-intelligence (505 exports) | Build a Claude Code-shape product |
|
|
1343
1404
|
| `packages/repl` | `@kodax-ai/kodax/repl` | Full package | Ink TUI + permission modes + commands (217 exports) | Terminal-UI consumers |
|
|
1344
1405
|
| `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 |
|
|
1345
|
-
| `src` | `@kodax-ai/kodax/
|
|
1406
|
+
| `src` | `@kodax-ai/kodax/client` | Product API | Shared Host connection and `KodaXProductClient` contract | TUI, desktop/IDE and automation applications |
|
|
1407
|
+
| `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 |
|
|
1346
1408
|
| `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 |
|
|
1347
1409
|
| `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 |
|
|
1348
1410
|
|
|
@@ -1465,10 +1527,11 @@ later re-enable. Private-address access and non-loopback plaintext HTTP are
|
|
|
1465
1527
|
independent, persisted, default-deny permissions (`--allow-private` and
|
|
1466
1528
|
`--allow-insecure-http`); exact loopback HTTP remains available without either.
|
|
1467
1529
|
OAuth token endpoints retain their stricter HTTPS-or-exact-loopback rule.
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1530
|
+
SDK hosts load this same configured plane by wiring
|
|
1531
|
+
`createConfiguredA2ARuntimeIntegration({ configHome })` and passing its
|
|
1532
|
+
`runtimeOptions` as `externalAgents` — the CLI does this for its embedded
|
|
1533
|
+
sessions and the daemon Host it launches, and the `worker.configuredA2A` opt-in
|
|
1534
|
+
was removed with the Worker facade in v0.7.97. `a2a serve` loads
|
|
1472
1535
|
its configured MCP/Extension capability surface before listening and pins that
|
|
1473
1536
|
execution authority; it hot-reloads publication, authentication, and limits.
|
|
1474
1537
|
|
|
@@ -1556,7 +1619,6 @@ dist/binary/linux-x64/
|
|
|
1556
1619
|
├── builtin/ # Sidecar built-in skills
|
|
1557
1620
|
├── provider-capabilities.json
|
|
1558
1621
|
├── semantic-worker.js # Repo-intelligence Worker
|
|
1559
|
-
├── runtime-worker.js # SDK Runtime Worker
|
|
1560
1622
|
└── constructed-handler-worker.js # Constructed-tool Worker
|
|
1561
1623
|
```
|
|
1562
1624
|
|
|
@@ -1568,6 +1630,10 @@ See [docs/release.md](docs/release.md) for full details on build flags, archive
|
|
|
1568
1630
|
|
|
1569
1631
|
### As Library
|
|
1570
1632
|
|
|
1633
|
+
For shared-Session applications, use the [Product Client integration](public_docs/sdk/embedder-guide.md#product-client-integration)
|
|
1634
|
+
and [migration guide](docs/SDK_MIGRATION.md). The example below is independent
|
|
1635
|
+
in-process coding library usage; it is not the product UI contract.
|
|
1636
|
+
|
|
1571
1637
|
```bash
|
|
1572
1638
|
npm install @kodax-ai/kodax
|
|
1573
1639
|
```
|
|
@@ -1595,6 +1661,7 @@ For smaller surface and tree-shake-friendly imports, the SDK is also exposed via
|
|
|
1595
1661
|
|
|
1596
1662
|
```typescript
|
|
1597
1663
|
import { Runner } from '@kodax-ai/kodax/agent'; // agent runtime
|
|
1664
|
+
import { ensureKodaXClient } from '@kodax-ai/kodax/client'; // shared product Client
|
|
1598
1665
|
import { getProvider } from '@kodax-ai/kodax/llm'; // LLM abstraction (16 aliases)
|
|
1599
1666
|
import { runKodaX } from '@kodax-ai/kodax/coding'; // coding tools + prompts
|
|
1600
1667
|
import { createImageArtifactFromPath } from '@kodax-ai/kodax/media'; // input artifacts
|
|
@@ -1608,9 +1675,9 @@ import { createKodaXA2AServer } from '@kodax-ai/kodax/a2a'; // A2A 1.0 client
|
|
|
1608
1675
|
import { createMemoryAgent } from '@kodax-ai/kodax/experimental-memory'; // opt-in memory SDK
|
|
1609
1676
|
```
|
|
1610
1677
|
|
|
1611
|
-
All
|
|
1678
|
+
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.
|
|
1612
1679
|
|
|
1613
|
-
For the
|
|
1680
|
+
For the product contract and separate low-level inline/daemon ownership,
|
|
1614
1681
|
external-agent registration and task control, session cursor pagination, workflow
|
|
1615
1682
|
model-tier routing, and efficiency telemetry — see the
|
|
1616
1683
|
[SDK Embedder Integration Guide](public_docs/sdk/embedder-guide.md).
|
|
@@ -1859,6 +1926,10 @@ stays silent.
|
|
|
1859
1926
|
|
|
1860
1927
|
## Advanced Library Usage
|
|
1861
1928
|
|
|
1929
|
+
These examples describe independent coding-library ownership. Shared product
|
|
1930
|
+
clients use `/client`; see the [migration guide](docs/SDK_MIGRATION.md) before
|
|
1931
|
+
adapting these callbacks or storage examples into a UI.
|
|
1932
|
+
|
|
1862
1933
|
#### Simple Mode (runKodaX)
|
|
1863
1934
|
|
|
1864
1935
|
```typescript
|
|
@@ -1942,7 +2013,11 @@ await runKodaX({
|
|
|
1942
2013
|
|
|
1943
2014
|
## SDK Usage
|
|
1944
2015
|
|
|
1945
|
-
|
|
2016
|
+
This development tree exposes 13 SDK subpaths plus the root. Shared product
|
|
2017
|
+
applications use `@kodax-ai/kodax/client`; independent libraries and trusted Host
|
|
2018
|
+
APIs remain available through the other subpaths. See the [Client contract](docs/CLIENT_CONTRACT.md)
|
|
2019
|
+
and [SDK migration guide](docs/SDK_MIGRATION.md). The package version is still
|
|
2020
|
+
`0.7.96-rc.11`; npm publication is separate from the `v0.7.97` design target.
|
|
1946
2021
|
|
|
1947
2022
|
```bash
|
|
1948
2023
|
npm install @kodax-ai/kodax
|
|
@@ -1950,6 +2025,7 @@ npm install @kodax-ai/kodax
|
|
|
1950
2025
|
|
|
1951
2026
|
```typescript
|
|
1952
2027
|
import { runKodaX } from '@kodax-ai/kodax'; // root: CLI helpers + runKodaX
|
|
2028
|
+
import { ensureKodaXClient, connectKodaXClient } from '@kodax-ai/kodax/client'; // shared product contract
|
|
1953
2029
|
import { Runner, runFanOut } from '@kodax-ai/kodax/agent'; // generic Agent framework
|
|
1954
2030
|
import { getProvider } from '@kodax-ai/kodax/llm'; // 16-alias LLM abstraction
|
|
1955
2031
|
import { KODAX_TOOLS } from '@kodax-ai/kodax/coding'; // tools + prompts + agent loop
|
|
@@ -2119,7 +2195,8 @@ await runInkInteractiveMode({ provider: 'zhipu-coding', effort: 'auto' });
|
|
|
2119
2195
|
| Building custom agent | `@kodax-ai/kodax/agent` | Runner + fan-out + idle-yield + session-lineage + capabilities |
|
|
2120
2196
|
| Coding tasks | `@kodax-ai/kodax/coding` | Complete coding agent + tools |
|
|
2121
2197
|
| Terminal app | `@kodax-ai/kodax/repl` | Full interactive experience |
|
|
2122
|
-
|
|
|
2198
|
+
| Shared Session application | `@kodax-ai/kodax/client` | Unified product intent, observation, interactions and history |
|
|
2199
|
+
| Trusted Runtime host | `@kodax-ai/kodax/runtime` | Explicit embedding, credentials/Host Tools and diagnostics |
|
|
2123
2200
|
| Experimental governed memory | `@kodax-ai/kodax/experimental-memory` | Governed `MemoryAgent` list/remember/forget and scoped `MemorySession` recall/outcome contracts |
|
|
2124
2201
|
|
|
2125
2202
|
---
|