@kodax-ai/kodax 0.7.95 → 0.7.96-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +178 -1
- package/LICENSE +158 -158
- package/README.md +149 -24
- package/README_CN.md +117 -24
- package/config-templates/config.example.jsonc +2 -1
- package/config-templates/integrations/a2a.example.jsonc +91 -91
- package/config-templates/integrations/extensions.example.jsonc +7 -7
- package/config-templates/integrations/mcp.example.jsonc +16 -16
- package/dist/builtin/code-review/SKILL.md +82 -82
- package/dist/builtin/git-workflow/SKILL.md +84 -84
- package/dist/builtin/skill-creator/SKILL.md +127 -127
- package/dist/builtin/skill-creator/agents/analyzer.md +12 -12
- package/dist/builtin/skill-creator/agents/comparator.md +13 -13
- package/dist/builtin/skill-creator/agents/grader.md +13 -13
- package/dist/builtin/skill-creator/references/schemas.md +227 -227
- package/dist/builtin/skill-creator/scripts/aggregate-benchmark.d.ts +46 -46
- package/dist/builtin/skill-creator/scripts/aggregate-benchmark.js +208 -208
- package/dist/builtin/skill-creator/scripts/analyze-benchmark.d.ts +46 -46
- package/dist/builtin/skill-creator/scripts/analyze-benchmark.js +286 -286
- package/dist/builtin/skill-creator/scripts/compare-runs.d.ts +62 -62
- package/dist/builtin/skill-creator/scripts/compare-runs.js +330 -330
- package/dist/builtin/skill-creator/scripts/generate-review.d.ts +33 -33
- package/dist/builtin/skill-creator/scripts/generate-review.js +414 -414
- package/dist/builtin/skill-creator/scripts/grade-evals.d.ts +73 -73
- package/dist/builtin/skill-creator/scripts/grade-evals.js +402 -402
- package/dist/builtin/skill-creator/scripts/improve-description.d.ts +23 -23
- package/dist/builtin/skill-creator/scripts/improve-description.js +160 -160
- package/dist/builtin/skill-creator/scripts/init-skill.d.ts +14 -14
- package/dist/builtin/skill-creator/scripts/init-skill.js +155 -155
- package/dist/builtin/skill-creator/scripts/install-skill.d.ts +29 -29
- package/dist/builtin/skill-creator/scripts/install-skill.js +173 -173
- package/dist/builtin/skill-creator/scripts/package-skill.d.ts +38 -38
- package/dist/builtin/skill-creator/scripts/package-skill.js +121 -121
- package/dist/builtin/skill-creator/scripts/quick-validate.d.ts +8 -8
- package/dist/builtin/skill-creator/scripts/quick-validate.js +163 -163
- package/dist/builtin/skill-creator/scripts/run-eval.d.ts +66 -66
- package/dist/builtin/skill-creator/scripts/run-eval.js +353 -353
- package/dist/builtin/skill-creator/scripts/run-loop.d.ts +49 -49
- package/dist/builtin/skill-creator/scripts/run-loop.js +242 -242
- package/dist/builtin/skill-creator/scripts/run-trigger-eval.d.ts +58 -58
- package/dist/builtin/skill-creator/scripts/run-trigger-eval.js +224 -224
- package/dist/builtin/tdd/SKILL.md +56 -56
- package/dist/chunks/agent-4FABF6WK.js +2 -0
- package/dist/chunks/argument-completer-72VHB2VL.js +2 -0
- package/dist/chunks/{chunk-7JXA3533.js → chunk-4OIQZWA5.js} +223 -226
- package/dist/chunks/{chunk-BNVSKIAB.js → chunk-6BVF3HZ7.js} +136 -136
- package/dist/chunks/chunk-7JZZIFZH.js +501 -0
- package/dist/chunks/chunk-AC7Z2OIY.js +2 -0
- package/dist/chunks/{chunk-JS452J2F.js → chunk-C4KYZAFU.js} +2 -2
- package/dist/chunks/chunk-CHUPIWIF.js +251 -0
- package/dist/chunks/{chunk-C4DTUKTR.js → chunk-GYUU7XLH.js} +5 -4
- package/dist/chunks/{chunk-OK4AXDC5.js → chunk-HAX55GOQ.js} +1 -1
- package/dist/chunks/chunk-JKTJCGO2.js +418 -0
- package/dist/chunks/{chunk-O743AJ5V.js → chunk-LQYETRFK.js} +171 -175
- package/dist/chunks/{chunk-2PEDBGKN.js → chunk-LTUZTQ6W.js} +1 -1
- package/dist/chunks/chunk-LYWDUSKO.js +2 -0
- package/dist/chunks/chunk-NGH6T4FD.js +92 -0
- package/dist/chunks/{chunk-SRIJX5ZP.js → chunk-NVRWCSA5.js} +1 -1
- package/dist/chunks/chunk-O4DS7RIQ.js +384 -0
- package/dist/chunks/chunk-ORXU6OWZ.js +2 -0
- package/dist/chunks/chunk-POTW3O65.js +124 -0
- package/dist/chunks/{chunk-2TM3W3GK.js → chunk-RIQSS56Y.js} +1 -1
- package/dist/chunks/chunk-U27XKEN5.js +407 -0
- package/dist/chunks/{chunk-6ABQJUK6.js → chunk-XUX6OUCA.js} +2 -2
- package/dist/chunks/{client-JDOS3YJR.js → client-4C456K4O.js} +1 -1
- package/dist/chunks/compaction-config-3VQRDFF4.js +2 -0
- package/dist/chunks/{construction-bootstrap-YCWHHUYO.js → construction-bootstrap-AHN7EDGG.js} +1 -1
- package/dist/chunks/dist-BCBQXAGI.js +2 -0
- package/dist/chunks/dist-QK2YDWU6.js +2 -0
- package/dist/chunks/host-VIHV7ADG.js +2 -0
- package/dist/chunks/run-manager-NBVMU3KV.js +2 -0
- package/dist/chunks/utils-MEJZ2IGI.js +2 -0
- package/dist/index.d.ts +22 -21
- package/dist/index.js +7 -7
- package/dist/kodax_bootstrap.js +26 -26
- package/dist/kodax_cli.js +1905 -1882
- package/dist/native/darwin-arm64/LICENSE-APACHE.txt +13 -0
- package/dist/native/darwin-arm64/kodax-text-transaction.node +0 -0
- package/dist/native/darwin-arm64/manifest.json +16 -0
- package/dist/native/darwin-x64/LICENSE-APACHE.txt +13 -0
- package/dist/native/darwin-x64/kodax-text-transaction.node +0 -0
- package/dist/native/darwin-x64/manifest.json +16 -0
- package/dist/native/linux-arm64/LICENSE-APACHE.txt +13 -0
- package/dist/native/linux-arm64/kodax-text-transaction.node +0 -0
- package/dist/native/linux-arm64/manifest.json +16 -0
- package/dist/native/linux-x64/LICENSE-APACHE.txt +13 -0
- package/dist/native/linux-x64/kodax-text-transaction.node +0 -0
- package/dist/native/linux-x64/manifest.json +16 -0
- package/dist/native/win32-x64/LICENSE-APACHE.txt +13 -0
- package/dist/native/win32-x64/NOTICE-windows-sandbox.txt +8 -0
- 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 +30 -0
- package/dist/provider-capabilities.json +108 -2
- package/dist/runtime-worker.js +1745 -1727
- package/dist/sandbox-network-broker.js +1715 -0
- package/dist/sdk-a2a.d.ts +13 -12
- package/dist/sdk-a2a.js +1 -1
- package/dist/sdk-agent.d.ts +27 -18
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +107 -58
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +4 -4
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +9 -10
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +1 -1
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +25 -17
- package/dist/sdk-repl.js +1 -1
- package/dist/sdk-runtime.d.ts +41 -17
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-sandbox.d.ts +17 -3
- package/dist/sdk-sandbox.js +1 -1
- package/dist/sdk-session.d.ts +8 -7
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +61 -61
- package/dist/types-chunks/{base.d-vopO1rml.d.ts → base.d-COo8E2dk.d.ts} +18 -27
- package/dist/types-chunks/{bash-prefix-extractor.d-B2rxNI4L.d.ts → bash-prefix-extractor.d-DQOlA8cy.d.ts} +72 -52
- package/dist/types-chunks/{capability-learning.d-CE1tm29C.d.ts → capability-learning.d-lRPgA3Or.d.ts} +1 -1
- package/dist/types-chunks/{capsule.d-Y7QRS4J2.d.ts → capsule.d-0zxsgXg_.d.ts} +3 -3
- package/dist/types-chunks/{controller.d-BR-UVeUR.d.ts → controller.d-BTtyIIC1.d.ts} +1 -1
- package/dist/types-chunks/{controller.d-C5noq5-w.d.ts → controller.d-C7tXUcXo.d.ts} +2 -2
- package/dist/types-chunks/{guardrail.d-DqHD-61O.d.ts → guardrail.d-DKTyEHJa.d.ts} +5 -5
- package/dist/types-chunks/{history-retrieval.d-CKU8zmt_.d.ts → history-retrieval.d-CHnL99S7.d.ts} +2 -2
- package/dist/types-chunks/{public-api.d-D7fXaWW8.d.ts → public-api.d-Dx3L3W4Z.d.ts} +7 -4
- package/dist/types-chunks/{repl.d-BYDb14s6.d.ts → repl.d-mO01olIa.d.ts} +5 -5
- package/dist/types-chunks/{resolver.d-CwHUwbdE.d.ts → resolver.d-DlXPjeyx.d.ts} +38 -6
- package/dist/types-chunks/{review-inbox.d-BSgFewyj.d.ts → review-inbox.d-WDSe1nze.d.ts} +1 -1
- package/dist/types-chunks/{run-manager.d-BVJSntpS.d.ts → run-manager.d-DENbbzgR.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-CqEG84oP.d.ts → sdk-session-DYHGXXH4.d.ts} +3 -3
- package/dist/types-chunks/{shell-command-sets.d-DqaaBwhU.d.ts → shell-command-sets.d-CjFqS4dp.d.ts} +1 -1
- package/dist/types-chunks/{side-query.d-iH0P9ASy.d.ts → side-query.d-j8A3sFv_.d.ts} +2 -2
- package/dist/types-chunks/{types.d-rUOjXych.d.ts → types.d-BbZjR0Wr.d.ts} +1 -1
- package/dist/types-chunks/{types.d-CaTXAW_Q.d.ts → types.d-BkTIKdH6.d.ts} +2 -2
- package/dist/types-chunks/{types.d-C5xQEFcj.d.ts → types.d-DncLrpu_.d.ts} +4 -4
- package/dist/types-chunks/{types.d-CK9A9rpP.d.ts → types.d-Xy0f3x4i.d.ts} +9 -0
- package/dist/types-chunks/{utils.d-CWUyLiXo.d.ts → utils.d-CnxefMos.d.ts} +6 -6
- package/package.json +10 -3
- package/public_docs/README.md +130 -0
- package/public_docs/configuration/sandbox.md +289 -0
- package/public_docs/sdk/embedder-guide.md +6674 -0
- package/scripts/kodax-bin.cjs +28 -28
- package/scripts/production-env.cjs +25 -25
- package/dist/chunks/agent-XXZMXKKA.js +0 -2
- package/dist/chunks/argument-completer-KCYDGTQW.js +0 -2
- package/dist/chunks/chunk-77PNP27P.js +0 -92
- package/dist/chunks/chunk-7QBWHCIZ.js +0 -2
- package/dist/chunks/chunk-BHE66SP3.js +0 -123
- package/dist/chunks/chunk-BR2OSB2I.js +0 -722
- package/dist/chunks/chunk-DSMONSVB.js +0 -407
- package/dist/chunks/chunk-Q5VRWSKG.js +0 -418
- package/dist/chunks/chunk-XWRPOGJN.js +0 -4
- package/dist/chunks/chunk-Y5VIQBT6.js +0 -383
- package/dist/chunks/compaction-config-EGS4577X.js +0 -2
- package/dist/chunks/dist-ITTXQHRJ.js +0 -2
- package/dist/chunks/dist-KFYN3OKD.js +0 -2
- package/dist/chunks/host-VAYADIPW.js +0 -2
- package/dist/chunks/run-manager-52IJZMZJ.js +0 -2
- package/dist/chunks/utils-P7PBSL3R.js +0 -2
- package/dist/sandbox-workspace-session.js +0 -1705
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,184 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
> Full history for versions prior to v0.7.0: [CHANGELOG_ARCHIVE.md](docs/CHANGELOG_ARCHIVE.md)
|
|
6
6
|
|
|
7
|
-
## [
|
|
7
|
+
## [0.7.96-alpha.2] - 2026-08-28
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Restored the Windows boot-identity PowerShell resolution helper that the
|
|
12
|
+
FEATURE_295 cleanup deleted while its last caller stayed (Issue 325). On
|
|
13
|
+
v0.7.96-alpha.1 every Windows exit settlement crashed with
|
|
14
|
+
`windowsAclPowerShellExecutable is not defined` and left sandbox cleanup
|
|
15
|
+
`unverified`. v0.7.96-alpha.1 is broken on Windows; upgrade to
|
|
16
|
+
v0.7.96-alpha.2.
|
|
17
|
+
|
|
18
|
+
## [0.7.96-alpha.1] - 2026-08-28
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- FEATURE_296 replaces the local tool-result capacity hard gate with
|
|
23
|
+
capacity-debt admission plus a bounded recovery ladder (ADR-067). Executed
|
|
24
|
+
`tool_use`/`tool_result` pairs always commit; an over-budget batch records
|
|
25
|
+
`capacityDebt` metadata with its artifact pointer instead of aborting the
|
|
26
|
+
Run. The next iteration's compaction relieves the debt (a still-over
|
|
27
|
+
compacted transcript commits best-effort with `stillOverCapacity`), the
|
|
28
|
+
output reserve shrinks floor-bounded (3000) while over capacity — both in
|
|
29
|
+
the post-compaction judgment and on the wire-level request — and an
|
|
30
|
+
irreducibly oversized fresh user input degrades to a preview head plus a
|
|
31
|
+
run-scoped volatile pointer the model pages in slices, on the request copy
|
|
32
|
+
only; the full input stays behind an unguessable in-memory capability that
|
|
33
|
+
is removed when the Run ends and leaves no filesystem residue. A
|
|
34
|
+
transient compaction-summarizer failure fails open until the existing
|
|
35
|
+
circuit breaker opens; repeated failures or reducible still-over-capacity
|
|
36
|
+
results then produce a typed capacity terminal instead of repeatedly
|
|
37
|
+
invoking the summarizer. An irreducibly oversized fresh input does not spend
|
|
38
|
+
that summary-failure budget, and paging its transient capability cannot be
|
|
39
|
+
re-spilled into the global tool-result store. Provider output-token and
|
|
40
|
+
reasoning self-heal state is likewise request-local, so concurrent Runs
|
|
41
|
+
sharing a cached provider cannot alter one another. Runner final recounts
|
|
42
|
+
stamp capacity debt even when only the final
|
|
43
|
+
assembled batch crosses the budget. Local capacity terminals now classify as
|
|
44
|
+
`failureKind: "context_capacity"` with structured `contextTokens`
|
|
45
|
+
(`required`/`available`) — never masked as a provider credential failure,
|
|
46
|
+
classified by isolated class identity rather than message text — and the
|
|
47
|
+
daemon schema plus resume round-trip preserve the new fields.
|
|
48
|
+
|
|
49
|
+
- Classified Runtime failures now expose one credential-safe `failureDetail`
|
|
50
|
+
across failure events (or settlement `run.updated`), Run result/status, and
|
|
51
|
+
Session diagnostics. The stable
|
|
52
|
+
KodaX `providerErrorCode` is kept separate from bounded upstream codes and
|
|
53
|
+
request metadata; KodaX-owned `safeMessage` templates never copy provider
|
|
54
|
+
response text, credentials, prompts, headers/bodies, URLs, local paths,
|
|
55
|
+
stacks, or raw errors.
|
|
56
|
+
|
|
57
|
+
- Unified text diffs now use budget-capped anchored LCS matching, grouping
|
|
58
|
+
replacement blocks as removals followed by additions without duplicating
|
|
59
|
+
shared context. REPL diff context stays legible, and add/remove backgrounds
|
|
60
|
+
span the full terminal row while preserving selection highlighting.
|
|
61
|
+
|
|
62
|
+
- FEATURE_295 separates cross-platform trusted text transactions from shell
|
|
63
|
+
containment. On Windows, Linux, and macOS, `write`, `edit`, `multi_edit`, `insert_after_anchor`, and
|
|
64
|
+
`undo` no longer enter ASRT/workspace-session/helper state; final identity,
|
|
65
|
+
per-slot kernel locking, revision CAS, flushed atomic replacement, and
|
|
66
|
+
stale-safe undo are enforced in the trusted Runtime; Unix uses a fixed
|
|
67
|
+
per-UID coordination root shared across Runtime config homes, a separate
|
|
68
|
+
protected addon cache, descriptor-bound loading, no-follow walking,
|
|
69
|
+
kernel `flock`, file/parent `fsync`, atomic rename, and ownership/mode/xattr/
|
|
70
|
+
Linux inode-flag and macOS extended-ACL/file-flag preservation.
|
|
71
|
+
Atomic replacement is now an explicit commit point: Windows performs no
|
|
72
|
+
fallible cleanup afterward, while Unix post-rename durability/rollback
|
|
73
|
+
uncertainty carries a complete receipt as `text_mutation_commit_uncertain`
|
|
74
|
+
and forbids blind retry. Windows preserves effective DACL entries; the
|
|
75
|
+
filesystem may canonicalize DACL inheritance/protection control during
|
|
76
|
+
replacement. Linux ZFS remains fail-closed until its case and
|
|
77
|
+
normalization semantics can be proven from a descriptor. Unix commits now
|
|
78
|
+
derive their namespace slot before locking without reading the target; all
|
|
79
|
+
target bytes and identity are observed under the slot lock, so a concurrent
|
|
80
|
+
atomic replace becomes the intended stale result instead of a false hard-link
|
|
81
|
+
rejection (Issue 320).
|
|
82
|
+
The Windows native
|
|
83
|
+
shell runner keeps framed stdin/process containment but drops the
|
|
84
|
+
command-lifetime filesystem-effect owner, uses a nonce-bound per-policy private desktop,
|
|
85
|
+
and suppresses final-target modal faults while preserving exit status, allowing independent policies,
|
|
86
|
+
Sessions, and Runtime processes to execute concurrently. `CloseStdin` no
|
|
87
|
+
longer closes the host control stream: cancellation and timeout send a
|
|
88
|
+
distinct `Terminate` frame over authenticated directional control/event
|
|
89
|
+
pipes, wait for the runner to prove the Job empty through a nonce-bound
|
|
90
|
+
terminal record, and preserve the original stop reason; generic PID-tree
|
|
91
|
+
cleanup is emergency-only. The incompatible native shell protocol advances
|
|
92
|
+
to v5. Request and terminal state now lives under a verified no-reparse,
|
|
93
|
+
protected host/SYSTEM-only control directory. SDK policy validation and the
|
|
94
|
+
native host independently reject overlapping allow roots and deny roots at or
|
|
95
|
+
below this boundary before ACL authorization or target creation. Doctor is
|
|
96
|
+
verify-only; explicit setup creates missing state or repairs only an empty,
|
|
97
|
+
no-reparse, host-owned direct child after proving the sandbox SID idle.
|
|
98
|
+
Packaged Electron Node targets consume and scrub `ELECTRON_RUN_AS_NODE` before
|
|
99
|
+
target or descendant code loads. The incompatible
|
|
100
|
+
authority split advances Windows `sandboxRuntime` to v6 so clients cannot
|
|
101
|
+
silently reuse a daemon that still implements the v5 graph. Existing
|
|
102
|
+
installations perform a one-time idle-account SID rotation through
|
|
103
|
+
`kodax sandbox setup`; native shell admission validates the resulting
|
|
104
|
+
machine protocol/SID generation before broker launch. Both native artifacts
|
|
105
|
+
are checked against an embedded manifest and loaded/executed only from a
|
|
106
|
+
protected content-addressed store whose immutable-image verification remains
|
|
107
|
+
shareable across concurrent Runtime processes. Packaged Electron hosts now
|
|
108
|
+
resolve only explicitly unpacked physical native files before applying those
|
|
109
|
+
checks; the release smoke asserts both KodaX native files and the Windows ASRT
|
|
110
|
+
runner are present under `app.asar.unpacked` (Issue 319). Linux/macOS shells remain
|
|
111
|
+
per-command ASRT bubblewrap/Seatbelt calls with no KodaX workspace-session
|
|
112
|
+
owner (Issues 304–306). Public POSIX sandbox calls now require target-start
|
|
113
|
+
attestation over a broker-only bounded control pipe. A proven pre-target exit
|
|
114
|
+
returns structured `backend_launch_failed`; a missing, malformed, or
|
|
115
|
+
mismatched control frame returns `execution_uncertain` and forbids blind
|
|
116
|
+
retry instead of misreporting that the command did not run. The ASRT-owned
|
|
117
|
+
runner's pre-main creation window is
|
|
118
|
+
recorded separately as Issue 307; final targets remain creation-time Job
|
|
119
|
+
contained. Runner loader/pre-main modal faults are part of that same upstream
|
|
120
|
+
bootstrap residual; it does not reach trusted text tools.
|
|
121
|
+
|
|
122
|
+
- Bundled Windows binaries (Bun `--compile`) no longer resolve the Windows
|
|
123
|
+
sandbox runtime binary onto Bun's virtual `B:\` drive: the build ships a
|
|
124
|
+
`vendor/srt-win/<arch>/srt-win.exe` sidecar next to the executable,
|
|
125
|
+
`resolveSrtWinSourcePath()` prefers it in bundled builds, and
|
|
126
|
+
`kodax sandbox setup` installs through the prepared runner's resolved
|
|
127
|
+
descriptor instead of the library's module-relative lookup (Issue 303).
|
|
128
|
+
|
|
129
|
+
- Windows ASRT import now accepts a package-store hardlink only in a bundled
|
|
130
|
+
build, after a handle-bound bounded read matches the embedded release
|
|
131
|
+
SHA-256. Development manifests and sources remain single-link. KodaX still
|
|
132
|
+
copies it into the protected content-addressed cache, whose executable must
|
|
133
|
+
remain single-link, ACL-protected, and hash-correct. Valid package layouts no
|
|
134
|
+
longer make model-issued Bash silently use the declared normal-permission
|
|
135
|
+
fallback (Issue 317). The repository now declares npm as its package manager;
|
|
136
|
+
alternate local package metadata remains outside the project contract.
|
|
137
|
+
|
|
138
|
+
- Windows native shell admission no longer writes traversal ACEs to every
|
|
139
|
+
allow-root ancestor. The restricted target's enabled traverse privilege
|
|
140
|
+
reaches an exact capability-protected root without directory-list/content
|
|
141
|
+
authority, while explicit deny-ancestor conflicts remain rejected. This
|
|
142
|
+
avoids unbounded profile-DACL propagation and restores cold `%TEMP%` shell
|
|
143
|
+
startup within the existing deadline (Issue 318).
|
|
144
|
+
|
|
145
|
+
### Added
|
|
146
|
+
|
|
147
|
+
- Custom providers can opt into image / vision input with a single
|
|
148
|
+
`"imageInput": true` field (typical for self-hosted multimodal models on
|
|
149
|
+
vLLM / SGLang OpenAI-compatible endpoints, e.g. Qwen-VL). The flag forces
|
|
150
|
+
`capabilityProfile.multimodalSupport: "image-input"` on every surface —
|
|
151
|
+
provider instance, keyless capability queries, media routing, and the
|
|
152
|
+
provider-policy gate — so image artifacts pass `MODEL_INPUT_UNSUPPORTED`
|
|
153
|
+
validation and are forwarded as standard `image_url` blocks. Leaving it
|
|
154
|
+
unset changes nothing; text-only models keep the pre-send rejection.
|
|
155
|
+
- DeepSeek vision model `deepseek-v4-flash-vision-exp` is registered on the
|
|
156
|
+
`deepseek` provider (selectable via `/model`). It reuses the existing
|
|
157
|
+
OpenAI-style `image_url` wire path, so pasted/read images are forwarded on
|
|
158
|
+
user turns, while `deepseek-v4-flash` / `deepseek-v4-pro` stay text-only via
|
|
159
|
+
per-model media routing (ark-coding mixed-capability convention). Cost
|
|
160
|
+
accounting uses flash pricing — images bill as size-derived tokens (≤384 per
|
|
161
|
+
image) at text-token rates.
|
|
162
|
+
- `glm-5.3-flash` (published 2026-08-26) is registered on `zhipu`,
|
|
163
|
+
`zhipu-coding`, and `zai-coding` (selectable via `/model`). It is the first
|
|
164
|
+
natively multimodal GLM: image input is routed and validated end-to-end
|
|
165
|
+
(Anthropic-compat image blocks on the coding routes, `image_url` on the
|
|
166
|
+
public route), video stays provider-native-unwired, and file input remains
|
|
167
|
+
unwired end-to-end. 1M context, 131K output, cannot disable thinking (same
|
|
168
|
+
`zai-glm-5.3` effort mapping as `glm-5.3`), and priced from the official
|
|
169
|
+
announcement at $0.15 input / $0.50 output / $0.03 cached input per million
|
|
170
|
+
tokens. Defaults stay on `glm-5.3`; `glm-5.3` / `glm-5.2` remain text-only
|
|
171
|
+
image-unsupported.
|
|
172
|
+
- Release publication now ships CI-built bytes. The npm package embeds
|
|
173
|
+
prebuilt native authorities for five platforms, which only the Release
|
|
174
|
+
workflow's cross-platform matrix can assemble, so the universal tarball is
|
|
175
|
+
built by its `npm-package` job and attached to the GitHub Release as
|
|
176
|
+
`kodax-ai-kodax-<version>.tgz` + `kodax-ai-kodax-npm.sha256`. `node
|
|
177
|
+
scripts/release.mjs` (no arguments) downloads those exact assets, verifies
|
|
178
|
+
the sha256 checksum and sidecar audit, and publishes them; on a local
|
|
179
|
+
machine `--pack-only` produces a host-only LOCAL TEST TARBALL that keeps
|
|
180
|
+
`private: true` (npm refuses to publish it) for `npm install <path>` SDK
|
|
181
|
+
consumer testing. The asset download honors `HTTPS_PROXY` / `https_proxy`
|
|
182
|
+
through undici's `ProxyAgent` (Node's global fetch ignores proxy env vars,
|
|
183
|
+
so proxy-only machines previously failed with an opaque connect timeout);
|
|
184
|
+
network-layer download errors now surface the underlying cause.
|
|
8
185
|
|
|
9
186
|
---
|
|
10
187
|
|
package/LICENSE
CHANGED
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
KodaX-AI Fair Core License (KAI-FCL) 1.0
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 icetomoyo <icetomoyo@gmail.com> <icetomoyo@163.com>
|
|
4
|
-
|
|
5
|
-
All rights reserved except as expressly granted in this License.
|
|
6
|
-
|
|
7
|
-
This License applies to KodaX releases and files that include this LICENSE file
|
|
8
|
-
or otherwise identify KAI-FCL as their governing license. Earlier KodaX
|
|
9
|
-
releases or files that were distributed under the Apache License, Version 2.0
|
|
10
|
-
remain licensed under Apache-2.0 for those released copies. Third-party
|
|
11
|
-
components remain governed by their own license terms.
|
|
12
|
-
|
|
13
|
-
Effective Version Notice
|
|
14
|
-
|
|
15
|
-
KodaX-AI intends KAI-FCL to govern official KodaX distributions for version
|
|
16
|
-
0.7.70 and later when those distributions are provided by KodaX-AI with this
|
|
17
|
-
LICENSE file, a KAI-FCL notice, or accompanying customer terms.
|
|
18
|
-
|
|
19
|
-
Historical Git tags, source archives, binaries, npm packages, or other copies
|
|
20
|
-
of KodaX that were already distributed with Apache-2.0 license text remain
|
|
21
|
-
licensed under Apache-2.0 for those specific copies. This notice does not
|
|
22
|
-
retroactively revoke rights that were already granted under Apache-2.0.
|
|
23
|
-
|
|
24
|
-
For avoidance of doubt, current and future official enterprise/customer
|
|
25
|
-
packages for KodaX 0.7.70 and later should be delivered with KAI-FCL or
|
|
26
|
-
separate KodaX-AI customer terms.
|
|
27
|
-
|
|
28
|
-
1. Definitions
|
|
29
|
-
|
|
30
|
-
"Software" means KodaX, including its source code, object code, documentation,
|
|
31
|
-
configuration, examples, official npm packages, binaries, and other materials
|
|
32
|
-
distributed by KodaX-AI under this License.
|
|
33
|
-
|
|
34
|
-
"KodaX-AI" means the copyright owner, licensor, or license steward for the
|
|
35
|
-
Software.
|
|
36
|
-
|
|
37
|
-
"You" means the individual or legal entity exercising permissions under this
|
|
38
|
-
License.
|
|
39
|
-
|
|
40
|
-
"Community Use" means use by an individual for personal learning, individual
|
|
41
|
-
non-commercial work, classroom instruction, non-production research, or
|
|
42
|
-
developing and testing changes for contribution to public open-source
|
|
43
|
-
projects.
|
|
44
|
-
|
|
45
|
-
"Commercial or Managed Use" means any use by or for a company, school, lab,
|
|
46
|
-
institution, government agency, or other organization for administration, IT
|
|
47
|
-
operations, team research and development, production work, intranet hosting,
|
|
48
|
-
managed-device deployment, paid service delivery, customer redistribution,
|
|
49
|
-
hosted or managed services, or other business purposes.
|
|
50
|
-
|
|
51
|
-
"Customer Agreement" means a written agreement with KodaX-AI, including
|
|
52
|
-
evaluation terms, an order form, an enterprise agreement, partner terms, or
|
|
53
|
-
another commercial authorization document.
|
|
54
|
-
|
|
55
|
-
"License Entitlement" means a signed offline entitlement file, commonly using
|
|
56
|
-
the `.kodax-license` extension, that identifies product, edition, license
|
|
57
|
-
kind, customer, expiry, enabled features, binding claims, and signature. A
|
|
58
|
-
License Entitlement proves technical authorization; it is not by itself the
|
|
59
|
-
complete legal contract.
|
|
60
|
-
|
|
61
|
-
2. Community Grant
|
|
62
|
-
|
|
63
|
-
Subject to this License, KodaX-AI grants You a limited, non-exclusive,
|
|
64
|
-
non-transferable, no-charge license to download, install, run, inspect, and
|
|
65
|
-
modify the Software solely for Community Use.
|
|
66
|
-
|
|
67
|
-
You may make copies of the Software as reasonably necessary for Your own
|
|
68
|
-
Community Use, backup, testing, and contribution preparation. You may submit
|
|
69
|
-
changes, patches, issues, and documentation improvements to KodaX-AI. Unless a
|
|
70
|
-
separate written contribution agreement says otherwise, You grant KodaX-AI a
|
|
71
|
-
perpetual, worldwide, irrevocable, royalty-free license to use, reproduce,
|
|
72
|
-
modify, distribute, sublicense, and otherwise exploit contributions You submit
|
|
73
|
-
for inclusion in the Software.
|
|
74
|
-
|
|
75
|
-
3. Commercial and Managed Use
|
|
76
|
-
|
|
77
|
-
Commercial or Managed Use is not permitted under the Community Grant.
|
|
78
|
-
|
|
79
|
-
Enterprise evaluation, enterprise production, intranet deployment,
|
|
80
|
-
managed-device deployment, commercial redistribution, partner distribution,
|
|
81
|
-
paid service delivery, or any other Commercial or Managed Use requires a
|
|
82
|
-
Customer Agreement with KodaX-AI and, where the Software requires it, a valid
|
|
83
|
-
License Entitlement.
|
|
84
|
-
|
|
85
|
-
All production customer License Entitlements must include an expiry date unless
|
|
86
|
-
a Customer Agreement expressly says otherwise. Longer commercial terms are
|
|
87
|
-
renewals or replacements, not perpetual local secrets.
|
|
88
|
-
|
|
89
|
-
4. Restrictions
|
|
90
|
-
|
|
91
|
-
Except as expressly allowed by this License or a Customer Agreement, You must
|
|
92
|
-
not:
|
|
93
|
-
|
|
94
|
-
- use the Software for Commercial or Managed Use;
|
|
95
|
-
- sell, rent, lease, sublicense, host, provide, or redistribute the Software to
|
|
96
|
-
third parties;
|
|
97
|
-
- remove, disable, bypass, tamper with, or misrepresent license enforcement,
|
|
98
|
-
entitlement checks, signatures, expiry checks, binding checks, or related
|
|
99
|
-
technical controls;
|
|
100
|
-
- remove or alter copyright, license, attribution, trademark, or third-party
|
|
101
|
-
notices;
|
|
102
|
-
- use KodaX-AI names, logos, product names, or trademarks except to describe
|
|
103
|
-
the origin of the Software accurately;
|
|
104
|
-
- violate applicable law or use the Software to infringe third-party rights.
|
|
105
|
-
|
|
106
|
-
5. Separate Agreements
|
|
107
|
-
|
|
108
|
-
If You have a Customer Agreement with KodaX-AI, that Customer Agreement
|
|
109
|
-
controls for the Software, edition, term, users, sites, features, and use cases
|
|
110
|
-
it covers. This License controls only where the Customer Agreement does not
|
|
111
|
-
grant additional rights or impose different obligations.
|
|
112
|
-
|
|
113
|
-
6. Ownership
|
|
114
|
-
|
|
115
|
-
KodaX-AI and its licensors retain all right, title, and interest in and to the
|
|
116
|
-
Software. No rights are granted except those expressly stated in this License
|
|
117
|
-
or a Customer Agreement.
|
|
118
|
-
|
|
119
|
-
7. Third-Party Software
|
|
120
|
-
|
|
121
|
-
The Software may include or depend on third-party software, packages, models,
|
|
122
|
-
fonts, assets, or tools. Those materials are licensed by their respective
|
|
123
|
-
owners under their own terms. This License does not change third-party license
|
|
124
|
-
obligations.
|
|
125
|
-
|
|
126
|
-
8. Termination
|
|
127
|
-
|
|
128
|
-
Your rights under this License terminate automatically if You violate this
|
|
129
|
-
License and do not cure the violation within 30 days after receiving notice
|
|
130
|
-
from KodaX-AI. Rights also terminate immediately for intentional license
|
|
131
|
-
enforcement bypass, unauthorized Commercial or Managed Use, or unauthorized
|
|
132
|
-
redistribution. After termination, You must stop using and distributing the
|
|
133
|
-
Software, and You must delete copies not otherwise authorized by a Customer
|
|
134
|
-
Agreement or by another license that independently applies to a specific
|
|
135
|
-
released copy.
|
|
136
|
-
|
|
137
|
-
9. Disclaimer of Warranty
|
|
138
|
-
|
|
139
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND "AS AVAILABLE", WITHOUT WARRANTIES OR
|
|
140
|
-
CONDITIONS OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF
|
|
141
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT,
|
|
142
|
-
SECURITY, ACCURACY, OR AVAILABILITY.
|
|
143
|
-
|
|
144
|
-
10. Limitation of Liability
|
|
145
|
-
|
|
146
|
-
TO THE MAXIMUM EXTENT PERMITTED BY LAW, KODAX-AI AND ITS CONTRIBUTORS WILL NOT
|
|
147
|
-
BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR
|
|
148
|
-
PUNITIVE DAMAGES, OR FOR LOST PROFITS, LOST REVENUE, LOST DATA, BUSINESS
|
|
149
|
-
INTERRUPTION, GOODWILL LOSS, OR PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
150
|
-
ARISING OUT OF OR RELATING TO THE SOFTWARE OR THIS LICENSE, EVEN IF ADVISED OF
|
|
151
|
-
THE POSSIBILITY OF SUCH DAMAGES.
|
|
152
|
-
|
|
153
|
-
11. Contact
|
|
154
|
-
|
|
155
|
-
For enterprise evaluation, production licensing, redistribution permission, or
|
|
156
|
-
questions about this License, contact:
|
|
157
|
-
|
|
158
|
-
icetomoyo <icetomoyo@gmail.com> <icetomoyo@163.com>
|
|
1
|
+
KodaX-AI Fair Core License (KAI-FCL) 1.0
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 icetomoyo <icetomoyo@gmail.com> <icetomoyo@163.com>
|
|
4
|
+
|
|
5
|
+
All rights reserved except as expressly granted in this License.
|
|
6
|
+
|
|
7
|
+
This License applies to KodaX releases and files that include this LICENSE file
|
|
8
|
+
or otherwise identify KAI-FCL as their governing license. Earlier KodaX
|
|
9
|
+
releases or files that were distributed under the Apache License, Version 2.0
|
|
10
|
+
remain licensed under Apache-2.0 for those released copies. Third-party
|
|
11
|
+
components remain governed by their own license terms.
|
|
12
|
+
|
|
13
|
+
Effective Version Notice
|
|
14
|
+
|
|
15
|
+
KodaX-AI intends KAI-FCL to govern official KodaX distributions for version
|
|
16
|
+
0.7.70 and later when those distributions are provided by KodaX-AI with this
|
|
17
|
+
LICENSE file, a KAI-FCL notice, or accompanying customer terms.
|
|
18
|
+
|
|
19
|
+
Historical Git tags, source archives, binaries, npm packages, or other copies
|
|
20
|
+
of KodaX that were already distributed with Apache-2.0 license text remain
|
|
21
|
+
licensed under Apache-2.0 for those specific copies. This notice does not
|
|
22
|
+
retroactively revoke rights that were already granted under Apache-2.0.
|
|
23
|
+
|
|
24
|
+
For avoidance of doubt, current and future official enterprise/customer
|
|
25
|
+
packages for KodaX 0.7.70 and later should be delivered with KAI-FCL or
|
|
26
|
+
separate KodaX-AI customer terms.
|
|
27
|
+
|
|
28
|
+
1. Definitions
|
|
29
|
+
|
|
30
|
+
"Software" means KodaX, including its source code, object code, documentation,
|
|
31
|
+
configuration, examples, official npm packages, binaries, and other materials
|
|
32
|
+
distributed by KodaX-AI under this License.
|
|
33
|
+
|
|
34
|
+
"KodaX-AI" means the copyright owner, licensor, or license steward for the
|
|
35
|
+
Software.
|
|
36
|
+
|
|
37
|
+
"You" means the individual or legal entity exercising permissions under this
|
|
38
|
+
License.
|
|
39
|
+
|
|
40
|
+
"Community Use" means use by an individual for personal learning, individual
|
|
41
|
+
non-commercial work, classroom instruction, non-production research, or
|
|
42
|
+
developing and testing changes for contribution to public open-source
|
|
43
|
+
projects.
|
|
44
|
+
|
|
45
|
+
"Commercial or Managed Use" means any use by or for a company, school, lab,
|
|
46
|
+
institution, government agency, or other organization for administration, IT
|
|
47
|
+
operations, team research and development, production work, intranet hosting,
|
|
48
|
+
managed-device deployment, paid service delivery, customer redistribution,
|
|
49
|
+
hosted or managed services, or other business purposes.
|
|
50
|
+
|
|
51
|
+
"Customer Agreement" means a written agreement with KodaX-AI, including
|
|
52
|
+
evaluation terms, an order form, an enterprise agreement, partner terms, or
|
|
53
|
+
another commercial authorization document.
|
|
54
|
+
|
|
55
|
+
"License Entitlement" means a signed offline entitlement file, commonly using
|
|
56
|
+
the `.kodax-license` extension, that identifies product, edition, license
|
|
57
|
+
kind, customer, expiry, enabled features, binding claims, and signature. A
|
|
58
|
+
License Entitlement proves technical authorization; it is not by itself the
|
|
59
|
+
complete legal contract.
|
|
60
|
+
|
|
61
|
+
2. Community Grant
|
|
62
|
+
|
|
63
|
+
Subject to this License, KodaX-AI grants You a limited, non-exclusive,
|
|
64
|
+
non-transferable, no-charge license to download, install, run, inspect, and
|
|
65
|
+
modify the Software solely for Community Use.
|
|
66
|
+
|
|
67
|
+
You may make copies of the Software as reasonably necessary for Your own
|
|
68
|
+
Community Use, backup, testing, and contribution preparation. You may submit
|
|
69
|
+
changes, patches, issues, and documentation improvements to KodaX-AI. Unless a
|
|
70
|
+
separate written contribution agreement says otherwise, You grant KodaX-AI a
|
|
71
|
+
perpetual, worldwide, irrevocable, royalty-free license to use, reproduce,
|
|
72
|
+
modify, distribute, sublicense, and otherwise exploit contributions You submit
|
|
73
|
+
for inclusion in the Software.
|
|
74
|
+
|
|
75
|
+
3. Commercial and Managed Use
|
|
76
|
+
|
|
77
|
+
Commercial or Managed Use is not permitted under the Community Grant.
|
|
78
|
+
|
|
79
|
+
Enterprise evaluation, enterprise production, intranet deployment,
|
|
80
|
+
managed-device deployment, commercial redistribution, partner distribution,
|
|
81
|
+
paid service delivery, or any other Commercial or Managed Use requires a
|
|
82
|
+
Customer Agreement with KodaX-AI and, where the Software requires it, a valid
|
|
83
|
+
License Entitlement.
|
|
84
|
+
|
|
85
|
+
All production customer License Entitlements must include an expiry date unless
|
|
86
|
+
a Customer Agreement expressly says otherwise. Longer commercial terms are
|
|
87
|
+
renewals or replacements, not perpetual local secrets.
|
|
88
|
+
|
|
89
|
+
4. Restrictions
|
|
90
|
+
|
|
91
|
+
Except as expressly allowed by this License or a Customer Agreement, You must
|
|
92
|
+
not:
|
|
93
|
+
|
|
94
|
+
- use the Software for Commercial or Managed Use;
|
|
95
|
+
- sell, rent, lease, sublicense, host, provide, or redistribute the Software to
|
|
96
|
+
third parties;
|
|
97
|
+
- remove, disable, bypass, tamper with, or misrepresent license enforcement,
|
|
98
|
+
entitlement checks, signatures, expiry checks, binding checks, or related
|
|
99
|
+
technical controls;
|
|
100
|
+
- remove or alter copyright, license, attribution, trademark, or third-party
|
|
101
|
+
notices;
|
|
102
|
+
- use KodaX-AI names, logos, product names, or trademarks except to describe
|
|
103
|
+
the origin of the Software accurately;
|
|
104
|
+
- violate applicable law or use the Software to infringe third-party rights.
|
|
105
|
+
|
|
106
|
+
5. Separate Agreements
|
|
107
|
+
|
|
108
|
+
If You have a Customer Agreement with KodaX-AI, that Customer Agreement
|
|
109
|
+
controls for the Software, edition, term, users, sites, features, and use cases
|
|
110
|
+
it covers. This License controls only where the Customer Agreement does not
|
|
111
|
+
grant additional rights or impose different obligations.
|
|
112
|
+
|
|
113
|
+
6. Ownership
|
|
114
|
+
|
|
115
|
+
KodaX-AI and its licensors retain all right, title, and interest in and to the
|
|
116
|
+
Software. No rights are granted except those expressly stated in this License
|
|
117
|
+
or a Customer Agreement.
|
|
118
|
+
|
|
119
|
+
7. Third-Party Software
|
|
120
|
+
|
|
121
|
+
The Software may include or depend on third-party software, packages, models,
|
|
122
|
+
fonts, assets, or tools. Those materials are licensed by their respective
|
|
123
|
+
owners under their own terms. This License does not change third-party license
|
|
124
|
+
obligations.
|
|
125
|
+
|
|
126
|
+
8. Termination
|
|
127
|
+
|
|
128
|
+
Your rights under this License terminate automatically if You violate this
|
|
129
|
+
License and do not cure the violation within 30 days after receiving notice
|
|
130
|
+
from KodaX-AI. Rights also terminate immediately for intentional license
|
|
131
|
+
enforcement bypass, unauthorized Commercial or Managed Use, or unauthorized
|
|
132
|
+
redistribution. After termination, You must stop using and distributing the
|
|
133
|
+
Software, and You must delete copies not otherwise authorized by a Customer
|
|
134
|
+
Agreement or by another license that independently applies to a specific
|
|
135
|
+
released copy.
|
|
136
|
+
|
|
137
|
+
9. Disclaimer of Warranty
|
|
138
|
+
|
|
139
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND "AS AVAILABLE", WITHOUT WARRANTIES OR
|
|
140
|
+
CONDITIONS OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF
|
|
141
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT,
|
|
142
|
+
SECURITY, ACCURACY, OR AVAILABILITY.
|
|
143
|
+
|
|
144
|
+
10. Limitation of Liability
|
|
145
|
+
|
|
146
|
+
TO THE MAXIMUM EXTENT PERMITTED BY LAW, KODAX-AI AND ITS CONTRIBUTORS WILL NOT
|
|
147
|
+
BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR
|
|
148
|
+
PUNITIVE DAMAGES, OR FOR LOST PROFITS, LOST REVENUE, LOST DATA, BUSINESS
|
|
149
|
+
INTERRUPTION, GOODWILL LOSS, OR PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
|
150
|
+
ARISING OUT OF OR RELATING TO THE SOFTWARE OR THIS LICENSE, EVEN IF ADVISED OF
|
|
151
|
+
THE POSSIBILITY OF SUCH DAMAGES.
|
|
152
|
+
|
|
153
|
+
11. Contact
|
|
154
|
+
|
|
155
|
+
For enterprise evaluation, production licensing, redistribution permission, or
|
|
156
|
+
questions about this License, contact:
|
|
157
|
+
|
|
158
|
+
icetomoyo <icetomoyo@gmail.com> <icetomoyo@163.com>
|