@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.
Files changed (151) hide show
  1. package/CHANGELOG.md +170 -0
  2. package/dist/{agent-K3PQBS7D.js → agent-6WM4QOWS.js} +15 -14
  3. package/dist/{agent-K3PQBS7D.js.map → agent-6WM4QOWS.js.map} +1 -1
  4. package/dist/{agent-PJMBK7HQ.cjs → agent-MIYY7TXV.cjs} +16 -15
  5. package/dist/{agent-PJMBK7HQ.cjs.map → agent-MIYY7TXV.cjs.map} +1 -1
  6. package/dist/agent-session-store-G2BMUZQV.js +7 -0
  7. package/dist/{agent-session-store-P6V3FINW.js.map → agent-session-store-G2BMUZQV.js.map} +1 -1
  8. package/dist/agent-session-store-WAKLOKWK.cjs +24 -0
  9. package/dist/{agent-session-store-ZJ3JSRS4.cjs.map → agent-session-store-WAKLOKWK.cjs.map} +1 -1
  10. package/dist/{chunk-6VLKVX7O.cjs → chunk-27AXGJMV.cjs} +26 -15
  11. package/dist/chunk-27AXGJMV.cjs.map +1 -0
  12. package/dist/{chunk-HLPSLDGL.cjs → chunk-43GFJ5SD.cjs} +7 -7
  13. package/dist/{chunk-HLPSLDGL.cjs.map → chunk-43GFJ5SD.cjs.map} +1 -1
  14. package/dist/{chunk-M7UHYBEY.js → chunk-5QOIQJ5J.js} +3 -3
  15. package/dist/{chunk-M7UHYBEY.js.map → chunk-5QOIQJ5J.js.map} +1 -1
  16. package/dist/{chunk-E3WZ6Y4H.cjs → chunk-7BG5UH3T.cjs} +8 -8
  17. package/dist/{chunk-E3WZ6Y4H.cjs.map → chunk-7BG5UH3T.cjs.map} +1 -1
  18. package/dist/chunk-AQO3NSRG.cjs +41 -0
  19. package/dist/chunk-AQO3NSRG.cjs.map +1 -0
  20. package/dist/{chunk-JHPGF3FP.cjs → chunk-BUIK7GUA.cjs} +22 -2
  21. package/dist/chunk-BUIK7GUA.cjs.map +1 -0
  22. package/dist/{chunk-KBXWEWKS.js → chunk-CF5OMCZG.js} +87 -43
  23. package/dist/chunk-CF5OMCZG.js.map +1 -0
  24. package/dist/{chunk-DZBSJX6J.js → chunk-FKMUFNQE.js} +21 -4
  25. package/dist/chunk-FKMUFNQE.js.map +1 -0
  26. package/dist/{chunk-BMAZLQQ4.js → chunk-G24KZRSA.js} +3 -3
  27. package/dist/{chunk-BMAZLQQ4.js.map → chunk-G24KZRSA.js.map} +1 -1
  28. package/dist/{chunk-MVAPK2BX.js → chunk-IACR5LEM.js} +3 -3
  29. package/dist/{chunk-MVAPK2BX.js.map → chunk-IACR5LEM.js.map} +1 -1
  30. package/dist/{chunk-U2AC6JUP.cjs → chunk-J2UROOIG.cjs} +2 -27
  31. package/dist/chunk-J2UROOIG.cjs.map +1 -0
  32. package/dist/{chunk-V2UUGUY4.cjs → chunk-KKK3FZ4A.cjs} +6 -6
  33. package/dist/{chunk-V2UUGUY4.cjs.map → chunk-KKK3FZ4A.cjs.map} +1 -1
  34. package/dist/{chunk-ZNW6V4Y6.cjs → chunk-LKFET5A3.cjs} +23 -2
  35. package/dist/chunk-LKFET5A3.cjs.map +1 -0
  36. package/dist/{chunk-YMA4S2WO.js → chunk-MZ2FGBLZ.js} +33 -11
  37. package/dist/chunk-MZ2FGBLZ.js.map +1 -0
  38. package/dist/{chunk-LQYQHXIW.cjs → chunk-N47KLTKD.cjs} +163 -119
  39. package/dist/chunk-N47KLTKD.cjs.map +1 -0
  40. package/dist/{chunk-53CBTBWO.cjs → chunk-P6H23T43.cjs} +33 -11
  41. package/dist/chunk-P6H23T43.cjs.map +1 -0
  42. package/dist/{chunk-YPJ5NH5N.cjs → chunk-QI7WE46I.cjs} +29 -6
  43. package/dist/chunk-QI7WE46I.cjs.map +1 -0
  44. package/dist/{chunk-H5GOSXSC.cjs → chunk-QIRDQZYL.cjs} +4 -4
  45. package/dist/{chunk-H5GOSXSC.cjs.map → chunk-QIRDQZYL.cjs.map} +1 -1
  46. package/dist/{chunk-7FHZ4VQX.js → chunk-SAVIWMZB.js} +3 -3
  47. package/dist/{chunk-7FHZ4VQX.js.map → chunk-SAVIWMZB.js.map} +1 -1
  48. package/dist/{chunk-UPRJR6IP.js → chunk-UCBJBJ27.js} +3 -25
  49. package/dist/chunk-UCBJBJ27.js.map +1 -0
  50. package/dist/chunk-UFLD2HEV.js +35 -0
  51. package/dist/chunk-UFLD2HEV.js.map +1 -0
  52. package/dist/{chunk-GTKFV7O5.js → chunk-WFC26L6Y.js} +23 -2
  53. package/dist/chunk-WFC26L6Y.js.map +1 -0
  54. package/dist/{chunk-OHBIUXKM.js → chunk-WG7R5W6R.js} +4 -4
  55. package/dist/{chunk-OHBIUXKM.js.map → chunk-WG7R5W6R.js.map} +1 -1
  56. package/dist/{chunk-ODTZ7HX3.js → chunk-WLZ7XRWH.js} +25 -15
  57. package/dist/chunk-WLZ7XRWH.js.map +1 -0
  58. package/dist/{chunk-HJBMA5MB.cjs → chunk-WNTAPVU5.cjs} +47 -6
  59. package/dist/chunk-WNTAPVU5.cjs.map +1 -0
  60. package/dist/{chunk-GJ6RK75E.js → chunk-YJDH3CKG.js} +29 -6
  61. package/dist/chunk-YJDH3CKG.js.map +1 -0
  62. package/dist/{chunk-CTCGWIUD.cjs → chunk-Z4BCLVTI.cjs} +5 -5
  63. package/dist/{chunk-CTCGWIUD.cjs.map → chunk-Z4BCLVTI.cjs.map} +1 -1
  64. package/dist/{chunk-2QKTVKH3.js → chunk-ZHPWGIUX.js} +48 -8
  65. package/dist/chunk-ZHPWGIUX.js.map +1 -0
  66. package/dist/{compact-session-FUJDVF7B.js → compact-session-QGDNP45U.js} +4 -4
  67. package/dist/{compact-session-FUJDVF7B.js.map → compact-session-QGDNP45U.js.map} +1 -1
  68. package/dist/{compact-session-LEWF554G.cjs → compact-session-YHFQIXV5.cjs} +12 -12
  69. package/dist/{compact-session-LEWF554G.cjs.map → compact-session-YHFQIXV5.cjs.map} +1 -1
  70. package/dist/context/index.cjs +7 -7
  71. package/dist/context/index.js +3 -3
  72. package/dist/{context-VMIE4BMD.cjs → context-LCKNH2XI.cjs} +7 -6
  73. package/dist/{context-VMIE4BMD.cjs.map → context-LCKNH2XI.cjs.map} +1 -1
  74. package/dist/context-MZSKGKYR.js +7 -0
  75. package/dist/{context-FDOON2DB.js.map → context-MZSKGKYR.js.map} +1 -1
  76. package/dist/cron.cjs +15 -14
  77. package/dist/cron.js +14 -13
  78. package/dist/eval.cjs +14 -13
  79. package/dist/eval.cjs.map +1 -1
  80. package/dist/eval.js +13 -12
  81. package/dist/eval.js.map +1 -1
  82. package/dist/{fs-session-store-IN7JTTXD.js → fs-session-store-4BHGIWRE.js} +4 -4
  83. package/dist/{fs-session-store-IN7JTTXD.js.map → fs-session-store-4BHGIWRE.js.map} +1 -1
  84. package/dist/{fs-session-store-3MOJQGP2.cjs → fs-session-store-XZ7ZTB3A.cjs} +5 -5
  85. package/dist/{fs-session-store-3MOJQGP2.cjs.map → fs-session-store-XZ7ZTB3A.cjs.map} +1 -1
  86. package/dist/{index-manager-WC5ZVJWO.cjs → index-manager-J2QIDI6I.cjs} +5 -4
  87. package/dist/{index-manager-WC5ZVJWO.cjs.map → index-manager-J2QIDI6I.cjs.map} +1 -1
  88. package/dist/{index-manager-WBIMDVQT.js → index-manager-WYESAVTX.js} +4 -3
  89. package/dist/{index-manager-WBIMDVQT.js.map → index-manager-WYESAVTX.js.map} +1 -1
  90. package/dist/index.cjs +44 -45
  91. package/dist/index.cjs.map +1 -1
  92. package/dist/index.d.cts +1 -1
  93. package/dist/index.d.ts +1 -1
  94. package/dist/index.js +17 -18
  95. package/dist/index.js.map +1 -1
  96. package/dist/{inject-session-WQGGMCQY.cjs → inject-session-MLCJMYDG.cjs} +7 -7
  97. package/dist/{inject-session-WQGGMCQY.cjs.map → inject-session-MLCJMYDG.cjs.map} +1 -1
  98. package/dist/{inject-session-BJMJH5BX.js → inject-session-RBQZ45UM.js} +5 -5
  99. package/dist/{inject-session-BJMJH5BX.js.map → inject-session-RBQZ45UM.js.map} +1 -1
  100. package/dist/internal/memory/storage/markdown-store.d.ts +13 -0
  101. package/dist/internal/persistence/index.cjs +17 -16
  102. package/dist/internal/persistence/index.cjs.map +1 -1
  103. package/dist/internal/persistence/index.js +2 -1
  104. package/dist/internal/persistence/index.js.map +1 -1
  105. package/dist/internal/persistence/paths.d.cts +42 -0
  106. package/dist/internal/persistence/paths.d.ts +42 -0
  107. package/dist/internal/persistence/session-transcript.d.cts +40 -1
  108. package/dist/internal/persistence/session-transcript.d.ts +40 -1
  109. package/dist/internal/runtime/plugins/plugin-bundles.d.ts +19 -0
  110. package/dist/persistence.cjs +4 -4
  111. package/dist/persistence.js +1 -1
  112. package/dist/project.cjs +3 -3
  113. package/dist/project.js +1 -1
  114. package/dist/session-transcript-HF5GEU5M.cjs +63 -0
  115. package/dist/{session-transcript-JXHFTB7G.cjs.map → session-transcript-HF5GEU5M.cjs.map} +1 -1
  116. package/dist/session-transcript-P462ZRHX.js +6 -0
  117. package/dist/{session-transcript-AKDYYGXQ.js.map → session-transcript-P462ZRHX.js.map} +1 -1
  118. package/dist/subagents-loader-6ATCDEKN.js +8 -0
  119. package/dist/{subagents-loader-J54ESLDV.js.map → subagents-loader-6ATCDEKN.js.map} +1 -1
  120. package/dist/subagents-loader-X5QKODCL.cjs +17 -0
  121. package/dist/{subagents-loader-AZIXJ7D3.cjs.map → subagents-loader-X5QKODCL.cjs.map} +1 -1
  122. package/dist/subagents-loader.cjs +3 -2
  123. package/dist/subagents-loader.cjs.map +1 -1
  124. package/dist/subagents-loader.js +2 -1
  125. package/dist/subagents-loader.js.map +1 -1
  126. package/docs/error-codes.md +19 -19
  127. package/docs/harness-capability-map.md +1 -1
  128. package/package.json +5 -9
  129. package/dist/agent-session-store-P6V3FINW.js +0 -7
  130. package/dist/agent-session-store-ZJ3JSRS4.cjs +0 -24
  131. package/dist/chunk-2QKTVKH3.js.map +0 -1
  132. package/dist/chunk-53CBTBWO.cjs.map +0 -1
  133. package/dist/chunk-6VLKVX7O.cjs.map +0 -1
  134. package/dist/chunk-DZBSJX6J.js.map +0 -1
  135. package/dist/chunk-GJ6RK75E.js.map +0 -1
  136. package/dist/chunk-GTKFV7O5.js.map +0 -1
  137. package/dist/chunk-HJBMA5MB.cjs.map +0 -1
  138. package/dist/chunk-JHPGF3FP.cjs.map +0 -1
  139. package/dist/chunk-KBXWEWKS.js.map +0 -1
  140. package/dist/chunk-LQYQHXIW.cjs.map +0 -1
  141. package/dist/chunk-ODTZ7HX3.js.map +0 -1
  142. package/dist/chunk-U2AC6JUP.cjs.map +0 -1
  143. package/dist/chunk-UPRJR6IP.js.map +0 -1
  144. package/dist/chunk-YMA4S2WO.js.map +0 -1
  145. package/dist/chunk-YPJ5NH5N.cjs.map +0 -1
  146. package/dist/chunk-ZNW6V4Y6.cjs.map +0 -1
  147. package/dist/context-FDOON2DB.js +0 -6
  148. package/dist/session-transcript-AKDYYGXQ.js +0 -6
  149. package/dist/session-transcript-JXHFTB7G.cjs +0 -51
  150. package/dist/subagents-loader-AZIXJ7D3.cjs +0 -16
  151. 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-KBXWEWKS.js';
2
- import './chunk-OHBIUXKM.js';
3
- import './chunk-ODTZ7HX3.js';
4
- import './chunk-YMA4S2WO.js';
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-GJ6RK75E.js';
11
- import './chunk-MVAPK2BX.js';
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-BMAZLQQ4.js';
15
+ import './chunk-G24KZRSA.js';
16
16
  import './chunk-HKCKOAIO.js';
17
- import './chunk-7FHZ4VQX.js';
17
+ import './chunk-SAVIWMZB.js';
18
18
  import './chunk-KVNWIAO4.js';
19
- import './chunk-UPRJR6IP.js';
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-GTKFV7O5.js';
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-DZBSJX6J.js';
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-2QKTVKH3.js';
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-K3PQBS7D.js.map
53
- //# sourceMappingURL=agent-K3PQBS7D.js.map
53
+ //# sourceMappingURL=agent-6WM4QOWS.js.map
54
+ //# sourceMappingURL=agent-6WM4QOWS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-K3PQBS7D.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-6WM4QOWS.js"}
@@ -1,24 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var chunkLQYQHXIW_cjs = require('./chunk-LQYQHXIW.cjs');
4
- require('./chunk-V2UUGUY4.cjs');
5
- require('./chunk-6VLKVX7O.cjs');
6
- require('./chunk-53CBTBWO.cjs');
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-YPJ5NH5N.cjs');
13
- require('./chunk-HLPSLDGL.cjs');
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-CTCGWIUD.cjs');
17
+ require('./chunk-Z4BCLVTI.cjs');
18
18
  require('./chunk-2ZPEDVLM.cjs');
19
- require('./chunk-E3WZ6Y4H.cjs');
19
+ require('./chunk-7BG5UH3T.cjs');
20
20
  require('./chunk-KRD3GQAA.cjs');
21
- require('./chunk-U2AC6JUP.cjs');
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-ZNW6V4Y6.cjs');
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-JHPGF3FP.cjs');
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-HJBMA5MB.cjs');
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 chunkLQYQHXIW_cjs.Agent; }
60
+ get: function () { return chunkN47KLTKD_cjs.Agent; }
60
61
  });
61
- //# sourceMappingURL=agent-PJMBK7HQ.cjs.map
62
- //# sourceMappingURL=agent-PJMBK7HQ.cjs.map
62
+ //# sourceMappingURL=agent-MIYY7TXV.cjs.map
63
+ //# sourceMappingURL=agent-MIYY7TXV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"agent-PJMBK7HQ.cjs"}
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-P6V3FINW.js"}
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-ZJ3JSRS4.cjs"}
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-6VLKVX7O.cjs', document.baseURI).href)));
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 entry of entries.sort()) {
384
- const fact = await readMemoryFileAt(cwd, entry);
385
- if (fact !== void 0) facts.push(fact);
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 readMemoryFileAt(cwd, entry) {
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(memoryDir(cwd), entry), "utf8");
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-6VLKVX7O.cjs.map
1064
- //# sourceMappingURL=chunk-6VLKVX7O.cjs.map
1074
+ //# sourceMappingURL=chunk-27AXGJMV.cjs.map
1075
+ //# sourceMappingURL=chunk-27AXGJMV.cjs.map