@theokit/sdk 4.56.0 → 4.58.0
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 +170 -0
- package/dist/{agent-K3PQBS7D.js → agent-6WM4QOWS.js} +15 -14
- package/dist/{agent-K3PQBS7D.js.map → agent-6WM4QOWS.js.map} +1 -1
- package/dist/{agent-PJMBK7HQ.cjs → agent-MIYY7TXV.cjs} +16 -15
- package/dist/{agent-PJMBK7HQ.cjs.map → agent-MIYY7TXV.cjs.map} +1 -1
- package/dist/agent-session-store-G2BMUZQV.js +7 -0
- package/dist/{agent-session-store-P6V3FINW.js.map → agent-session-store-G2BMUZQV.js.map} +1 -1
- package/dist/agent-session-store-WAKLOKWK.cjs +24 -0
- package/dist/{agent-session-store-ZJ3JSRS4.cjs.map → agent-session-store-WAKLOKWK.cjs.map} +1 -1
- package/dist/{chunk-6VLKVX7O.cjs → chunk-27AXGJMV.cjs} +26 -15
- package/dist/chunk-27AXGJMV.cjs.map +1 -0
- package/dist/{chunk-HLPSLDGL.cjs → chunk-43GFJ5SD.cjs} +7 -7
- package/dist/{chunk-HLPSLDGL.cjs.map → chunk-43GFJ5SD.cjs.map} +1 -1
- package/dist/{chunk-M7UHYBEY.js → chunk-5QOIQJ5J.js} +3 -3
- package/dist/{chunk-M7UHYBEY.js.map → chunk-5QOIQJ5J.js.map} +1 -1
- package/dist/{chunk-E3WZ6Y4H.cjs → chunk-7BG5UH3T.cjs} +8 -8
- package/dist/{chunk-E3WZ6Y4H.cjs.map → chunk-7BG5UH3T.cjs.map} +1 -1
- package/dist/chunk-AQO3NSRG.cjs +41 -0
- package/dist/chunk-AQO3NSRG.cjs.map +1 -0
- package/dist/{chunk-JHPGF3FP.cjs → chunk-BUIK7GUA.cjs} +22 -2
- package/dist/chunk-BUIK7GUA.cjs.map +1 -0
- package/dist/{chunk-KBXWEWKS.js → chunk-CF5OMCZG.js} +87 -43
- package/dist/chunk-CF5OMCZG.js.map +1 -0
- package/dist/{chunk-DZBSJX6J.js → chunk-FKMUFNQE.js} +21 -4
- package/dist/chunk-FKMUFNQE.js.map +1 -0
- package/dist/{chunk-BMAZLQQ4.js → chunk-G24KZRSA.js} +3 -3
- package/dist/{chunk-BMAZLQQ4.js.map → chunk-G24KZRSA.js.map} +1 -1
- package/dist/{chunk-MVAPK2BX.js → chunk-IACR5LEM.js} +3 -3
- package/dist/{chunk-MVAPK2BX.js.map → chunk-IACR5LEM.js.map} +1 -1
- package/dist/{chunk-U2AC6JUP.cjs → chunk-J2UROOIG.cjs} +2 -27
- package/dist/chunk-J2UROOIG.cjs.map +1 -0
- package/dist/{chunk-V2UUGUY4.cjs → chunk-KKK3FZ4A.cjs} +6 -6
- package/dist/{chunk-V2UUGUY4.cjs.map → chunk-KKK3FZ4A.cjs.map} +1 -1
- package/dist/{chunk-ZNW6V4Y6.cjs → chunk-LKFET5A3.cjs} +23 -2
- package/dist/chunk-LKFET5A3.cjs.map +1 -0
- package/dist/{chunk-YMA4S2WO.js → chunk-MZ2FGBLZ.js} +33 -11
- package/dist/chunk-MZ2FGBLZ.js.map +1 -0
- package/dist/{chunk-LQYQHXIW.cjs → chunk-N47KLTKD.cjs} +163 -119
- package/dist/chunk-N47KLTKD.cjs.map +1 -0
- package/dist/{chunk-53CBTBWO.cjs → chunk-P6H23T43.cjs} +33 -11
- package/dist/chunk-P6H23T43.cjs.map +1 -0
- package/dist/{chunk-YPJ5NH5N.cjs → chunk-QI7WE46I.cjs} +29 -6
- package/dist/chunk-QI7WE46I.cjs.map +1 -0
- package/dist/{chunk-H5GOSXSC.cjs → chunk-QIRDQZYL.cjs} +4 -4
- package/dist/{chunk-H5GOSXSC.cjs.map → chunk-QIRDQZYL.cjs.map} +1 -1
- package/dist/{chunk-7FHZ4VQX.js → chunk-SAVIWMZB.js} +3 -3
- package/dist/{chunk-7FHZ4VQX.js.map → chunk-SAVIWMZB.js.map} +1 -1
- package/dist/{chunk-UPRJR6IP.js → chunk-UCBJBJ27.js} +3 -25
- package/dist/chunk-UCBJBJ27.js.map +1 -0
- package/dist/chunk-UFLD2HEV.js +35 -0
- package/dist/chunk-UFLD2HEV.js.map +1 -0
- package/dist/{chunk-GTKFV7O5.js → chunk-WFC26L6Y.js} +23 -2
- package/dist/chunk-WFC26L6Y.js.map +1 -0
- package/dist/{chunk-OHBIUXKM.js → chunk-WG7R5W6R.js} +4 -4
- package/dist/{chunk-OHBIUXKM.js.map → chunk-WG7R5W6R.js.map} +1 -1
- package/dist/{chunk-ODTZ7HX3.js → chunk-WLZ7XRWH.js} +25 -15
- package/dist/chunk-WLZ7XRWH.js.map +1 -0
- package/dist/{chunk-HJBMA5MB.cjs → chunk-WNTAPVU5.cjs} +47 -6
- package/dist/chunk-WNTAPVU5.cjs.map +1 -0
- package/dist/{chunk-GJ6RK75E.js → chunk-YJDH3CKG.js} +29 -6
- package/dist/chunk-YJDH3CKG.js.map +1 -0
- package/dist/{chunk-CTCGWIUD.cjs → chunk-Z4BCLVTI.cjs} +5 -5
- package/dist/{chunk-CTCGWIUD.cjs.map → chunk-Z4BCLVTI.cjs.map} +1 -1
- package/dist/{chunk-2QKTVKH3.js → chunk-ZHPWGIUX.js} +48 -8
- package/dist/chunk-ZHPWGIUX.js.map +1 -0
- package/dist/{compact-session-FUJDVF7B.js → compact-session-QGDNP45U.js} +4 -4
- package/dist/{compact-session-FUJDVF7B.js.map → compact-session-QGDNP45U.js.map} +1 -1
- package/dist/{compact-session-LEWF554G.cjs → compact-session-YHFQIXV5.cjs} +12 -12
- package/dist/{compact-session-LEWF554G.cjs.map → compact-session-YHFQIXV5.cjs.map} +1 -1
- package/dist/context/index.cjs +7 -7
- package/dist/context/index.js +3 -3
- package/dist/{context-VMIE4BMD.cjs → context-LCKNH2XI.cjs} +7 -6
- package/dist/{context-VMIE4BMD.cjs.map → context-LCKNH2XI.cjs.map} +1 -1
- package/dist/context-MZSKGKYR.js +7 -0
- package/dist/{context-FDOON2DB.js.map → context-MZSKGKYR.js.map} +1 -1
- package/dist/cron.cjs +15 -14
- package/dist/cron.js +14 -13
- package/dist/eval.cjs +14 -13
- package/dist/eval.cjs.map +1 -1
- package/dist/eval.js +13 -12
- package/dist/eval.js.map +1 -1
- package/dist/{fs-session-store-IN7JTTXD.js → fs-session-store-4BHGIWRE.js} +4 -4
- package/dist/{fs-session-store-IN7JTTXD.js.map → fs-session-store-4BHGIWRE.js.map} +1 -1
- package/dist/{fs-session-store-3MOJQGP2.cjs → fs-session-store-XZ7ZTB3A.cjs} +5 -5
- package/dist/{fs-session-store-3MOJQGP2.cjs.map → fs-session-store-XZ7ZTB3A.cjs.map} +1 -1
- package/dist/{index-manager-WC5ZVJWO.cjs → index-manager-J2QIDI6I.cjs} +5 -4
- package/dist/{index-manager-WC5ZVJWO.cjs.map → index-manager-J2QIDI6I.cjs.map} +1 -1
- package/dist/{index-manager-WBIMDVQT.js → index-manager-WYESAVTX.js} +4 -3
- package/dist/{index-manager-WBIMDVQT.js.map → index-manager-WYESAVTX.js.map} +1 -1
- package/dist/index.cjs +44 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +17 -18
- package/dist/index.js.map +1 -1
- package/dist/{inject-session-WQGGMCQY.cjs → inject-session-MLCJMYDG.cjs} +7 -7
- package/dist/{inject-session-WQGGMCQY.cjs.map → inject-session-MLCJMYDG.cjs.map} +1 -1
- package/dist/{inject-session-BJMJH5BX.js → inject-session-RBQZ45UM.js} +5 -5
- package/dist/{inject-session-BJMJH5BX.js.map → inject-session-RBQZ45UM.js.map} +1 -1
- package/dist/internal/memory/storage/markdown-store.d.ts +13 -0
- package/dist/internal/persistence/index.cjs +17 -16
- package/dist/internal/persistence/index.cjs.map +1 -1
- package/dist/internal/persistence/index.js +2 -1
- package/dist/internal/persistence/index.js.map +1 -1
- package/dist/internal/persistence/paths.d.cts +42 -0
- package/dist/internal/persistence/paths.d.ts +42 -0
- package/dist/internal/persistence/session-transcript.d.cts +40 -1
- package/dist/internal/persistence/session-transcript.d.ts +40 -1
- package/dist/internal/runtime/plugins/plugin-bundles.d.ts +19 -0
- package/dist/persistence.cjs +4 -4
- package/dist/persistence.js +1 -1
- package/dist/project.cjs +3 -3
- package/dist/project.js +1 -1
- package/dist/session-transcript-HF5GEU5M.cjs +63 -0
- package/dist/{session-transcript-JXHFTB7G.cjs.map → session-transcript-HF5GEU5M.cjs.map} +1 -1
- package/dist/session-transcript-P462ZRHX.js +6 -0
- package/dist/{session-transcript-AKDYYGXQ.js.map → session-transcript-P462ZRHX.js.map} +1 -1
- package/dist/subagents-loader-6ATCDEKN.js +8 -0
- package/dist/{subagents-loader-J54ESLDV.js.map → subagents-loader-6ATCDEKN.js.map} +1 -1
- package/dist/subagents-loader-X5QKODCL.cjs +17 -0
- package/dist/{subagents-loader-AZIXJ7D3.cjs.map → subagents-loader-X5QKODCL.cjs.map} +1 -1
- package/dist/subagents-loader.cjs +3 -2
- package/dist/subagents-loader.cjs.map +1 -1
- package/dist/subagents-loader.js +2 -1
- package/dist/subagents-loader.js.map +1 -1
- package/docs/error-codes.md +19 -19
- package/docs/harness-capability-map.md +1 -1
- package/package.json +5 -9
- package/dist/agent-session-store-P6V3FINW.js +0 -7
- package/dist/agent-session-store-ZJ3JSRS4.cjs +0 -24
- package/dist/chunk-2QKTVKH3.js.map +0 -1
- package/dist/chunk-53CBTBWO.cjs.map +0 -1
- package/dist/chunk-6VLKVX7O.cjs.map +0 -1
- package/dist/chunk-DZBSJX6J.js.map +0 -1
- package/dist/chunk-GJ6RK75E.js.map +0 -1
- package/dist/chunk-GTKFV7O5.js.map +0 -1
- package/dist/chunk-HJBMA5MB.cjs.map +0 -1
- package/dist/chunk-JHPGF3FP.cjs.map +0 -1
- package/dist/chunk-KBXWEWKS.js.map +0 -1
- package/dist/chunk-LQYQHXIW.cjs.map +0 -1
- package/dist/chunk-ODTZ7HX3.js.map +0 -1
- package/dist/chunk-U2AC6JUP.cjs.map +0 -1
- package/dist/chunk-UPRJR6IP.js.map +0 -1
- package/dist/chunk-YMA4S2WO.js.map +0 -1
- package/dist/chunk-YPJ5NH5N.cjs.map +0 -1
- package/dist/chunk-ZNW6V4Y6.cjs.map +0 -1
- package/dist/context-FDOON2DB.js +0 -6
- package/dist/session-transcript-AKDYYGXQ.js +0 -6
- package/dist/session-transcript-JXHFTB7G.cjs +0 -51
- package/dist/subagents-loader-AZIXJ7D3.cjs +0 -16
- package/dist/subagents-loader-J54ESLDV.js +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,175 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.58.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- b39bb5f: A plugin written for the Claude Code CLI now works instead of merely parsing.
|
|
8
|
+
|
|
9
|
+
Measured 2026-08-26 against an installed one: a CLI plugin is a BUNDLE — its manifest sits at
|
|
10
|
+
`<plugin>/.claude-plugin/plugin.json`, and what it exists to contribute are the `skills/` and
|
|
11
|
+
`agents/` directories beside it. This SDK's plugin concept is a JS `entry` point, so such a manifest
|
|
12
|
+
already parsed (zod strips the keys it does not know) and then did nothing at all: `name` and
|
|
13
|
+
`version` survived while the seven agents and three skills the plugin provides stayed invisible.
|
|
14
|
+
|
|
15
|
+
The manifest agreeing was never the point. Plugin folders under `.theokit/plugins` and
|
|
16
|
+
`.claude/plugins` now contribute their skills and agents, and the CLI's manifest location is read
|
|
17
|
+
without the deprecation warning that belongs to this SDK's own superseded `plugin.json` form —
|
|
18
|
+
telling someone to migrate a file that is canonical where it came from would be wrong.
|
|
19
|
+
|
|
20
|
+
Bundles are read AFTER the project's own directories, so a project can shadow a skill or an agent a
|
|
21
|
+
plugin ships without editing the plugin.
|
|
22
|
+
|
|
23
|
+
Project-scoped deliberately. The CLI also keeps plugins under `~/.claude/plugins/cache`, behind its
|
|
24
|
+
own installer and enable/disable state; reproducing that is an installation system rather than
|
|
25
|
+
reading a project's configuration, and guessing at someone's enablement would run code they had
|
|
26
|
+
turned off.
|
|
27
|
+
|
|
28
|
+
- cb1ad68: A project set up for the Claude Code CLI now works without being converted: `.claude/agents`,
|
|
29
|
+
`.claude/skills`, `.claude/hooks.json` and the CLI's own `settings.json` / `settings.local.json` are
|
|
30
|
+
read alongside `.theokit`.
|
|
31
|
+
|
|
32
|
+
The formats already agreed — only the directory did not. Measured 2026-08-26: `SkillFrontmatter`
|
|
33
|
+
requires exactly the `name` and `description` the CLI writes into every `SKILL.md`; the hook config
|
|
34
|
+
this SDK parses is documented as, and is, the CLI's `settings.json` hooks shape; and 59 of the CLI's
|
|
35
|
+
agent declarations parse here unchanged.
|
|
36
|
+
|
|
37
|
+
`.theokit` is searched first and nothing about it changes. Two rules, and the difference between
|
|
38
|
+
them is deliberate:
|
|
39
|
+
|
|
40
|
+
- **Named declarations collide, so the first wins.** Two files declaring an agent or a skill called
|
|
41
|
+
`foo` are one name claimed twice, and the explicit namespace should win.
|
|
42
|
+
- **Hooks accumulate.** They are unnamed lists — two files declaring `PreToolUse` are two sets of
|
|
43
|
+
commands an operator wrote, and keeping one would drop the other in silence.
|
|
44
|
+
|
|
45
|
+
`THEOKIT_HOME` deliberately does not move these directories. It relocates cwd-anchored SDK _state_;
|
|
46
|
+
a project's _configuration_ belongs to the repository, and following the override here would change
|
|
47
|
+
where a project's agents come from under the cover of a refactor.
|
|
48
|
+
|
|
49
|
+
Known limitation: `SessionStart` and `PreCompact` have no firing point in this runtime, so hooks
|
|
50
|
+
declared for them are skipped with a warn rather than silently accepted. Four CLI events map:
|
|
51
|
+
`PreToolUse`, `PostToolUse`, `UserPromptSubmit`, `Stop`.
|
|
52
|
+
|
|
53
|
+
- ad0c320: Rules and memories written for the Claude Code CLI are now read.
|
|
54
|
+
|
|
55
|
+
**Rules** — `.claude/rules/*.md` joins the discovery specs at priority 47. The format needed
|
|
56
|
+
nothing: measured over this repository's 32 rule files, none carries frontmatter, and the
|
|
57
|
+
`rules-frontmatter` parser already reads a file without it as `alwaysApply: true`. There was simply
|
|
58
|
+
no spec pointing at the directory.
|
|
59
|
+
|
|
60
|
+
47 rather than 46 because B-127 makes these numbers a public contract with room between adjacent
|
|
61
|
+
pairs for a consumer's own source. No published priority moves; a consumer that had chosen 47
|
|
62
|
+
collides, and that is the cost of an eighth default, recorded here rather than discovered later.
|
|
63
|
+
|
|
64
|
+
**Memories** — the CLI keeps a project's memories at `<claudeHome>/projects/<encoded-cwd>/memory/`,
|
|
65
|
+
the same encoding the transcripts use. `markdown-store`'s own header named that path as the target;
|
|
66
|
+
#389 converged the format and the ability to reach the directory was never built, so a memory the
|
|
67
|
+
CLI recorded was invisible to an agent working in the same repository. Both stores are read now,
|
|
68
|
+
`.theokit` first. `CLAUDE_CONFIG_DIR` names the home when set.
|
|
69
|
+
|
|
70
|
+
Reading only — writes still go to `.theokit/memory`. Writing elsewhere by default would relocate
|
|
71
|
+
every existing consumer's memories, which is the one thing an additive change must not do.
|
|
72
|
+
|
|
73
|
+
One fidelity fix came with it: a memory's BODY is the fact, and `description` is the one-line recall
|
|
74
|
+
aid. This SDK writes both the same, so nothing it wrote changes — but the CLI writes a summary above
|
|
75
|
+
the substance, and reading only the summary dropped the fact itself.
|
|
76
|
+
|
|
77
|
+
- 78bff6c: `THEOKIT_DIR_NAME` no longer appears in `SOVEREIGN_ENV_KEYS`. It was documented there as naming the project config directory, and nothing ever read it — setting it did nothing. If you want the SDK to read configuration from `.claude` alongside `.theokit`, that now happens by default and needs no variable. `SOVEREIGN_ENV_KEYS` is public, so a consumer narrowing a type to it gains one fewer member.
|
|
78
|
+
|
|
79
|
+
### Patch Changes
|
|
80
|
+
|
|
81
|
+
- 5f3b1da: Agent files written for the Claude Code CLI now load.
|
|
82
|
+
|
|
83
|
+
Two defects, both measured against the 64 agent-directory files on one machine (a project
|
|
84
|
+
`.claude/agents` plus every installed plugin):
|
|
85
|
+
|
|
86
|
+
- **`color` made the file a load error.** It appeared in 38 of the 59 agent declarations — it is the
|
|
87
|
+
CLI's label colour and changes nothing about what an agent may do, but the loader rejects unknown
|
|
88
|
+
frontmatter fields, so a majority of real agent files could not be loaded at all.
|
|
89
|
+
- **One README stopped every agent in the directory.** A markdown file with no frontmatter threw
|
|
90
|
+
`subagent_missing_frontmatter`, aborting the whole directory read. `.claude/agents/README.md` is a
|
|
91
|
+
real file in this repository, cited by its own cycle rules.
|
|
92
|
+
|
|
93
|
+
The strict-field check is NOT loosened — its reason is sound, and stated where it lives: a dropped
|
|
94
|
+
`sandbox` that an operator wrote believing it confines the child is a silent gate. Fields known to be
|
|
95
|
+
inert for this runtime are now named explicitly, which is the difference between "we know this one
|
|
96
|
+
and it does nothing" and "we have never heard of this". A field that could change behaviour still
|
|
97
|
+
fails loudly, and a file that HAS frontmatter and gets it wrong is still a broken agent. Only the
|
|
98
|
+
no-frontmatter case is skipped, with a warn naming the file.
|
|
99
|
+
|
|
100
|
+
Measured after: 64 files in, 59 agents loaded, 5 documentation files skipped. Before: zero.
|
|
101
|
+
|
|
102
|
+
## 4.57.0
|
|
103
|
+
|
|
104
|
+
### Minor Changes
|
|
105
|
+
|
|
106
|
+
- 43e4247: A memory fact's `kind` can now actually be written. `Remember (feedback): prefer tabs` types the
|
|
107
|
+
fact; a bare `Remember:` leaves it untyped, as before.
|
|
108
|
+
|
|
109
|
+
The field was added so the local memory store would converge with the format Claude Code uses, and
|
|
110
|
+
it worked in one direction only: the SDK read a kind off an existing memory and honoured it, but no
|
|
111
|
+
path could ever produce one. `appendMemoryFact` rebuilt the fact as `{ text }` alone, so a kind was
|
|
112
|
+
severed at the single chokepoint every write passes through — the round-trip through the file format
|
|
113
|
+
was real and unreachable.
|
|
114
|
+
|
|
115
|
+
Only the four kinds the store accepts (`user`, `feedback`, `project`, `reference`) are recognised, so
|
|
116
|
+
an arbitrary parenthetical is never mistaken for one and no fact is silently typed wrong. `modified`
|
|
117
|
+
is still stamped by the SDK and ignored when supplied: a timestamp the caller controls can lie about
|
|
118
|
+
when something was learned, which defeats weighing a note from this morning against one from four
|
|
119
|
+
months ago.
|
|
120
|
+
|
|
121
|
+
- b85dab4: Session transcripts are now named with a UUID, so the Claude Code CLI can actually `--continue` a
|
|
122
|
+
session this SDK wrote.
|
|
123
|
+
|
|
124
|
+
That interoperability is the difference this project claims over a proprietary session store, and it
|
|
125
|
+
did not hold. Measured against CLI 2.1.236: a transcript resumes only when its basename is a UUID —
|
|
126
|
+
`billing-bot.jsonl` and `agent-<uuid>.jsonl` are both ignored, silently, with the session simply not
|
|
127
|
+
offered. Every session written under a human-readable agent id was invisible.
|
|
128
|
+
|
|
129
|
+
The filename is now derived from the agent id with a UUIDv8 over SHA-256, so it is deterministic:
|
|
130
|
+
the same agent id always yields the same transcript and nothing has to be persisted to map one back
|
|
131
|
+
to the other. Version 8 is RFC 9562's slot for an implementation-defined scheme, which is what this
|
|
132
|
+
is — v5 would have been the obvious choice but RFC 4122 fixes its hash to SHA-1, and a weak
|
|
133
|
+
primitive in the tree costs a permanent argument with every scanner that sees it. An
|
|
134
|
+
agent id that is already a UUID passes through unchanged, so a transcript Claude Code wrote keeps its
|
|
135
|
+
own name and the two directions stay symmetric.
|
|
136
|
+
|
|
137
|
+
Existing transcripts are not orphaned: a session whose file already exists under the old name keeps
|
|
138
|
+
using it, so history continues to accumulate in one place rather than being abandoned for an empty
|
|
139
|
+
file under the new name. Those sessions do not gain `--continue` support — their name is what the CLI
|
|
140
|
+
cannot read — but nothing that was written is lost or hidden.
|
|
141
|
+
|
|
142
|
+
### Patch Changes
|
|
143
|
+
|
|
144
|
+
- 18a68a0: A provider that does not take its credential from the caller is no longer refused for lacking one.
|
|
145
|
+
`createLocalAgent` read the provider descriptor two lines below the `throw` that guaranteed
|
|
146
|
+
execution never reached it, so `ollama/llama3.2` failed with `missing_api_key` before any runtime
|
|
147
|
+
work began — and so did every OAuth profile, Bedrock and Vertex.
|
|
148
|
+
|
|
149
|
+
Only `authType: "api_key"` requires a key from the caller. The other four modes source their own:
|
|
150
|
+
`none` sends no Authorization header at all, and `aws_bearer` / `gcp_oauth` / `oauth_device_code` /
|
|
151
|
+
`oauth_external` build their client with a placeholder and resolve a real token at stream time.
|
|
152
|
+
|
|
153
|
+
Fail-closed is preserved in both directions that matter: an unregistered provider prefix yields no
|
|
154
|
+
profile and is still refused, so a typo cannot become a free pass; and a provider that does
|
|
155
|
+
authenticate is refused exactly as before.
|
|
156
|
+
|
|
157
|
+
- 4565e43: `zod` is now a regular dependency, so `npm install @theokit/sdk` produces a package that imports.
|
|
158
|
+
|
|
159
|
+
It was declared as an OPTIONAL peer dependency while 27 source files imported it — 14 of them at
|
|
160
|
+
module scope, on the paths that load agent context, read credentials and parse persistence. npm
|
|
161
|
+
honoured the declaration and did not install it, so a fresh consumer hit
|
|
162
|
+
`Cannot find package 'zod'` on the first line of the quickstart, from `dist/index.js` itself. 12 of
|
|
163
|
+
the 33 published subpaths could not be loaded at all.
|
|
164
|
+
|
|
165
|
+
Every suite in this repository runs inside the workspace, where `zod` is hoisted whether or not the
|
|
166
|
+
package declares it — which is why 5000+ green tests, `publint` and `attw` all saw nothing. The
|
|
167
|
+
release chain now packs the tarball, installs it outside the workspace and imports every declared
|
|
168
|
+
subpath, so this class of defect fails before publishing rather than after.
|
|
169
|
+
|
|
170
|
+
Consumers already on `zod ^4` are unaffected: the ranges overlap and the tree still resolves to a
|
|
171
|
+
single copy, so a schema you build still crosses into the SDK as the same type.
|
|
172
|
+
|
|
3
173
|
## 4.56.0
|
|
4
174
|
|
|
5
175
|
### Minor Changes
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export { Agent } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
1
|
+
export { Agent } from './chunk-CF5OMCZG.js';
|
|
2
|
+
import './chunk-WG7R5W6R.js';
|
|
3
|
+
import './chunk-WLZ7XRWH.js';
|
|
4
|
+
import './chunk-MZ2FGBLZ.js';
|
|
5
5
|
import './chunk-2SFBB54R.js';
|
|
6
6
|
import './chunk-SUKXXLWD.js';
|
|
7
7
|
import './chunk-K2BQQ445.js';
|
|
8
8
|
import './chunk-XN7NOENA.js';
|
|
9
9
|
import './chunk-H73MEMQB.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
10
|
+
import './chunk-YJDH3CKG.js';
|
|
11
|
+
import './chunk-IACR5LEM.js';
|
|
12
12
|
import './chunk-3E77SX4H.js';
|
|
13
13
|
import './chunk-WTMU7J4U.js';
|
|
14
14
|
import './chunk-5JLFFPCH.js';
|
|
15
|
-
import './chunk-
|
|
15
|
+
import './chunk-G24KZRSA.js';
|
|
16
16
|
import './chunk-HKCKOAIO.js';
|
|
17
|
-
import './chunk-
|
|
17
|
+
import './chunk-SAVIWMZB.js';
|
|
18
18
|
import './chunk-KVNWIAO4.js';
|
|
19
|
-
import './chunk-
|
|
19
|
+
import './chunk-UCBJBJ27.js';
|
|
20
20
|
import './chunk-FD2UT76F.js';
|
|
21
21
|
import './chunk-4VPXM6UU.js';
|
|
22
22
|
import './chunk-U54XCYG3.js';
|
|
@@ -24,20 +24,21 @@ import './chunk-NAF4L3T6.js';
|
|
|
24
24
|
import './chunk-RNB4APBZ.js';
|
|
25
25
|
import './chunk-6X6ID4MO.js';
|
|
26
26
|
import './chunk-4ERPXIVB.js';
|
|
27
|
-
import './chunk-
|
|
27
|
+
import './chunk-WFC26L6Y.js';
|
|
28
28
|
import './chunk-7AD3ZTZL.js';
|
|
29
29
|
import './chunk-QARJGQSA.js';
|
|
30
30
|
import './chunk-RIAM53CP.js';
|
|
31
31
|
import './chunk-UC3HT2S4.js';
|
|
32
32
|
import './chunk-OC4NTGMN.js';
|
|
33
33
|
import './chunk-44JAAH4X.js';
|
|
34
|
-
import './chunk-
|
|
34
|
+
import './chunk-FKMUFNQE.js';
|
|
35
35
|
import './chunk-CQ2TQ32Y.js';
|
|
36
36
|
import './chunk-CV7XMBHP.js';
|
|
37
37
|
import './chunk-Q5EWJPRY.js';
|
|
38
38
|
import './chunk-RUDY2GTT.js';
|
|
39
39
|
import './chunk-VF7EWVDG.js';
|
|
40
|
-
import './chunk-
|
|
40
|
+
import './chunk-ZHPWGIUX.js';
|
|
41
|
+
import './chunk-UFLD2HEV.js';
|
|
41
42
|
import './chunk-AG5JPQIY.js';
|
|
42
43
|
import './chunk-F7AQV62G.js';
|
|
43
44
|
import './chunk-R7WIIPUR.js';
|
|
@@ -49,5 +50,5 @@ import './chunk-3OR54XG4.js';
|
|
|
49
50
|
import './chunk-IDCKSLYH.js';
|
|
50
51
|
import './chunk-T7XEKOVW.js';
|
|
51
52
|
import './chunk-T7O6K6PX.js';
|
|
52
|
-
//# sourceMappingURL=agent-
|
|
53
|
-
//# sourceMappingURL=agent-
|
|
53
|
+
//# sourceMappingURL=agent-6WM4QOWS.js.map
|
|
54
|
+
//# sourceMappingURL=agent-6WM4QOWS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"agent-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"agent-6WM4QOWS.js"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
3
|
+
var chunkN47KLTKD_cjs = require('./chunk-N47KLTKD.cjs');
|
|
4
|
+
require('./chunk-KKK3FZ4A.cjs');
|
|
5
|
+
require('./chunk-27AXGJMV.cjs');
|
|
6
|
+
require('./chunk-P6H23T43.cjs');
|
|
7
7
|
require('./chunk-BV2MWEMV.cjs');
|
|
8
8
|
require('./chunk-NGESVVJN.cjs');
|
|
9
9
|
require('./chunk-BUUUWQMB.cjs');
|
|
10
10
|
require('./chunk-EI2Q7SJ5.cjs');
|
|
11
11
|
require('./chunk-GHX4P3V2.cjs');
|
|
12
|
-
require('./chunk-
|
|
13
|
-
require('./chunk-
|
|
12
|
+
require('./chunk-QI7WE46I.cjs');
|
|
13
|
+
require('./chunk-43GFJ5SD.cjs');
|
|
14
14
|
require('./chunk-F3YZMOAU.cjs');
|
|
15
15
|
require('./chunk-4OTIXDMU.cjs');
|
|
16
16
|
require('./chunk-DQKERTND.cjs');
|
|
17
|
-
require('./chunk-
|
|
17
|
+
require('./chunk-Z4BCLVTI.cjs');
|
|
18
18
|
require('./chunk-2ZPEDVLM.cjs');
|
|
19
|
-
require('./chunk-
|
|
19
|
+
require('./chunk-7BG5UH3T.cjs');
|
|
20
20
|
require('./chunk-KRD3GQAA.cjs');
|
|
21
|
-
require('./chunk-
|
|
21
|
+
require('./chunk-J2UROOIG.cjs');
|
|
22
22
|
require('./chunk-MUUQ2WFJ.cjs');
|
|
23
23
|
require('./chunk-WJVHMTKB.cjs');
|
|
24
24
|
require('./chunk-6JSIEDKL.cjs');
|
|
@@ -26,20 +26,21 @@ require('./chunk-FRITRLZQ.cjs');
|
|
|
26
26
|
require('./chunk-4O5TGQBW.cjs');
|
|
27
27
|
require('./chunk-NINIJCHU.cjs');
|
|
28
28
|
require('./chunk-3YJNUKYN.cjs');
|
|
29
|
-
require('./chunk-
|
|
29
|
+
require('./chunk-LKFET5A3.cjs');
|
|
30
30
|
require('./chunk-VJ26EKGJ.cjs');
|
|
31
31
|
require('./chunk-R3UPQFKK.cjs');
|
|
32
32
|
require('./chunk-VKJ7V7EB.cjs');
|
|
33
33
|
require('./chunk-ILCGLTSA.cjs');
|
|
34
34
|
require('./chunk-CQGYNZ3K.cjs');
|
|
35
35
|
require('./chunk-4I55V454.cjs');
|
|
36
|
-
require('./chunk-
|
|
36
|
+
require('./chunk-BUIK7GUA.cjs');
|
|
37
37
|
require('./chunk-SKXBJ2NU.cjs');
|
|
38
38
|
require('./chunk-2ADR2GSO.cjs');
|
|
39
39
|
require('./chunk-ZF2LDKQQ.cjs');
|
|
40
40
|
require('./chunk-2C72DXQF.cjs');
|
|
41
41
|
require('./chunk-I6TGFUCO.cjs');
|
|
42
|
-
require('./chunk-
|
|
42
|
+
require('./chunk-WNTAPVU5.cjs');
|
|
43
|
+
require('./chunk-AQO3NSRG.cjs');
|
|
43
44
|
require('./chunk-IWBGCBR6.cjs');
|
|
44
45
|
require('./chunk-XSX2UU6Y.cjs');
|
|
45
46
|
require('./chunk-3EE6LVWT.cjs');
|
|
@@ -56,7 +57,7 @@ require('./chunk-NUKRL3I6.cjs');
|
|
|
56
57
|
|
|
57
58
|
Object.defineProperty(exports, "Agent", {
|
|
58
59
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
60
|
+
get: function () { return chunkN47KLTKD_cjs.Agent; }
|
|
60
61
|
});
|
|
61
|
-
//# sourceMappingURL=agent-
|
|
62
|
-
//# sourceMappingURL=agent-
|
|
62
|
+
//# sourceMappingURL=agent-MIYY7TXV.cjs.map
|
|
63
|
+
//# sourceMappingURL=agent-MIYY7TXV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"agent-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"agent-MIYY7TXV.cjs"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { appendCompactBoundaryRecord, persistTurn, readSessionMessages } from './chunk-G24KZRSA.js';
|
|
2
|
+
import './chunk-FKMUFNQE.js';
|
|
3
|
+
import './chunk-VF7EWVDG.js';
|
|
4
|
+
import './chunk-T7XEKOVW.js';
|
|
5
|
+
import './chunk-T7O6K6PX.js';
|
|
6
|
+
//# sourceMappingURL=agent-session-store-G2BMUZQV.js.map
|
|
7
|
+
//# sourceMappingURL=agent-session-store-G2BMUZQV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"agent-session-store-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"agent-session-store-G2BMUZQV.js"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkZ4BCLVTI_cjs = require('./chunk-Z4BCLVTI.cjs');
|
|
4
|
+
require('./chunk-BUIK7GUA.cjs');
|
|
5
|
+
require('./chunk-I6TGFUCO.cjs');
|
|
6
|
+
require('./chunk-JTB5Q42C.cjs');
|
|
7
|
+
require('./chunk-NUKRL3I6.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(exports, "appendCompactBoundaryRecord", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return chunkZ4BCLVTI_cjs.appendCompactBoundaryRecord; }
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(exports, "persistTurn", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return chunkZ4BCLVTI_cjs.persistTurn; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "readSessionMessages", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return chunkZ4BCLVTI_cjs.readSessionMessages; }
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=agent-session-store-WAKLOKWK.cjs.map
|
|
24
|
+
//# sourceMappingURL=agent-session-store-WAKLOKWK.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"agent-session-store-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"agent-session-store-WAKLOKWK.cjs"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var chunkGHX4P3V2_cjs = require('./chunk-GHX4P3V2.cjs');
|
|
4
4
|
var chunkKRD3GQAA_cjs = require('./chunk-KRD3GQAA.cjs');
|
|
5
5
|
var chunkR3UPQFKK_cjs = require('./chunk-R3UPQFKK.cjs');
|
|
6
|
+
var chunkBUIK7GUA_cjs = require('./chunk-BUIK7GUA.cjs');
|
|
6
7
|
var chunkSKXBJ2NU_cjs = require('./chunk-SKXBJ2NU.cjs');
|
|
7
8
|
var chunkZF2LDKQQ_cjs = require('./chunk-ZF2LDKQQ.cjs');
|
|
8
9
|
var chunkI6TGFUCO_cjs = require('./chunk-I6TGFUCO.cjs');
|
|
@@ -13,6 +14,7 @@ var promises = require('fs/promises');
|
|
|
13
14
|
var path = require('path');
|
|
14
15
|
var fs = require('fs');
|
|
15
16
|
var module$1 = require('module');
|
|
17
|
+
var os = require('os');
|
|
16
18
|
|
|
17
19
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
18
20
|
// src/internal/memory/escape-like-pattern.ts
|
|
@@ -78,7 +80,7 @@ function defaultIndexPath(cwd) {
|
|
|
78
80
|
}
|
|
79
81
|
function requireLance() {
|
|
80
82
|
try {
|
|
81
|
-
const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-
|
|
83
|
+
const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-27AXGJMV.cjs', document.baseURI).href)));
|
|
82
84
|
return r("@lancedb/lancedb");
|
|
83
85
|
} catch (cause) {
|
|
84
86
|
throw new chunkK3FW2XZD_cjs.ConfigurationError(
|
|
@@ -366,6 +368,11 @@ var FACTS_HEADING = "## Facts";
|
|
|
366
368
|
function memoryDir(cwd) {
|
|
367
369
|
return path.join(cwd, ".theokit", "memory");
|
|
368
370
|
}
|
|
371
|
+
function claudeProjectMemoryDir(cwd) {
|
|
372
|
+
const home = process.env.CLAUDE_CONFIG_DIR?.trim();
|
|
373
|
+
const root = home !== void 0 && home.length > 0 ? home : path.join(os.homedir(), ".claude");
|
|
374
|
+
return path.join(root, "projects", chunkBUIK7GUA_cjs.encodeProjectDir(cwd), "memory");
|
|
375
|
+
}
|
|
369
376
|
function memoryMdPath(cwd) {
|
|
370
377
|
return path.join(memoryDir(cwd), "MEMORY.md");
|
|
371
378
|
}
|
|
@@ -373,16 +380,18 @@ function notesDir(cwd) {
|
|
|
373
380
|
return path.join(memoryDir(cwd), "notes");
|
|
374
381
|
}
|
|
375
382
|
async function readFactsFromMarkdown(cwd) {
|
|
376
|
-
let entries;
|
|
377
|
-
try {
|
|
378
|
-
entries = await promises.readdir(memoryDir(cwd));
|
|
379
|
-
} catch {
|
|
380
|
-
return [];
|
|
381
|
-
}
|
|
382
383
|
const facts = [];
|
|
383
|
-
for (const
|
|
384
|
-
|
|
385
|
-
|
|
384
|
+
for (const dir of [memoryDir(cwd), claudeProjectMemoryDir(cwd)]) {
|
|
385
|
+
let entries;
|
|
386
|
+
try {
|
|
387
|
+
entries = await promises.readdir(dir);
|
|
388
|
+
} catch {
|
|
389
|
+
continue;
|
|
390
|
+
}
|
|
391
|
+
for (const entry of entries.sort()) {
|
|
392
|
+
const fact = await readMemoryFileIn(dir, entry);
|
|
393
|
+
if (fact !== void 0) facts.push(fact);
|
|
394
|
+
}
|
|
386
395
|
}
|
|
387
396
|
try {
|
|
388
397
|
facts.push(...parseFactsSection(await promises.readFile(memoryMdPath(cwd), "utf8")));
|
|
@@ -390,18 +399,19 @@ async function readFactsFromMarkdown(cwd) {
|
|
|
390
399
|
}
|
|
391
400
|
return facts;
|
|
392
401
|
}
|
|
393
|
-
async function
|
|
402
|
+
async function readMemoryFileIn(dir, entry) {
|
|
394
403
|
if (!entry.endsWith(".md") || entry === "MEMORY.md") return void 0;
|
|
395
404
|
let raw;
|
|
396
405
|
try {
|
|
397
|
-
raw = await promises.readFile(path.join(
|
|
406
|
+
raw = await promises.readFile(path.join(dir, entry), "utf8");
|
|
398
407
|
} catch {
|
|
399
408
|
return void 0;
|
|
400
409
|
}
|
|
401
410
|
const parsed = parseMemoryFile(raw);
|
|
402
411
|
if (parsed === void 0) return void 0;
|
|
412
|
+
const body = parsed.body.trim();
|
|
403
413
|
return {
|
|
404
|
-
text: parsed.description,
|
|
414
|
+
text: body.length > 0 ? body : parsed.description,
|
|
405
415
|
...parsed.kind !== void 0 ? { kind: parsed.kind } : {},
|
|
406
416
|
...parsed.modified !== void 0 ? { modified: parsed.modified } : {}
|
|
407
417
|
};
|
|
@@ -1049,6 +1059,7 @@ var IndexManager = class _IndexManager {
|
|
|
1049
1059
|
|
|
1050
1060
|
exports.IndexManager = IndexManager;
|
|
1051
1061
|
exports.LanceIndex = LanceIndex;
|
|
1062
|
+
exports.MEMORY_KINDS = MEMORY_KINDS;
|
|
1052
1063
|
exports.appendFact = appendFact;
|
|
1053
1064
|
exports.appendFactToMarkdown = appendFactToMarkdown;
|
|
1054
1065
|
exports.defaultIndexPath = defaultIndexPath;
|
|
@@ -1060,5 +1071,5 @@ exports.openMemoryDb = openMemoryDb;
|
|
|
1060
1071
|
exports.readFacts = readFacts;
|
|
1061
1072
|
exports.readFactsFromMarkdown = readFactsFromMarkdown;
|
|
1062
1073
|
exports.writeSessionSummary = writeSessionSummary;
|
|
1063
|
-
//# sourceMappingURL=chunk-
|
|
1064
|
-
//# sourceMappingURL=chunk-
|
|
1074
|
+
//# sourceMappingURL=chunk-27AXGJMV.cjs.map
|
|
1075
|
+
//# sourceMappingURL=chunk-27AXGJMV.cjs.map
|