@treenity/core 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/README.md +78 -0
  2. package/dist/chain.d.ts +3 -4
  3. package/dist/chain.d.ts.map +1 -1
  4. package/dist/chain.js.map +1 -1
  5. package/dist/client/trpc.d.ts.map +1 -1
  6. package/dist/client/trpc.js +1 -0
  7. package/dist/client/trpc.js.map +1 -1
  8. package/dist/comp/index.d.ts +3 -4
  9. package/dist/comp/index.d.ts.map +1 -1
  10. package/dist/comp/index.js +5 -4
  11. package/dist/comp/index.js.map +1 -1
  12. package/dist/comp/needs.d.ts.map +1 -1
  13. package/dist/comp/needs.js +3 -3
  14. package/dist/comp/needs.js.map +1 -1
  15. package/dist/core/component.d.ts +10 -8
  16. package/dist/core/component.d.ts.map +1 -1
  17. package/dist/core/component.js +4 -8
  18. package/dist/core/component.js.map +1 -1
  19. package/dist/core/context.d.ts +2 -2
  20. package/dist/core/context.d.ts.map +1 -1
  21. package/dist/core/path.d.ts.map +1 -1
  22. package/dist/core/path.js +7 -3
  23. package/dist/core/path.js.map +1 -1
  24. package/dist/core/registry.d.ts +2 -1
  25. package/dist/core/registry.d.ts.map +1 -1
  26. package/dist/core/registry.js.map +1 -1
  27. package/dist/core.d.ts +1 -1
  28. package/dist/core.d.ts.map +1 -1
  29. package/dist/core.js +1 -1
  30. package/dist/core.js.map +1 -1
  31. package/dist/index.d.ts +2 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +2 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/log.d.ts +30 -0
  36. package/dist/log.d.ts.map +1 -1
  37. package/dist/log.js +119 -0
  38. package/dist/log.js.map +1 -1
  39. package/dist/mod/examples/ticker/service.js +2 -3
  40. package/dist/mod/examples/ticker/service.js.map +1 -1
  41. package/dist/mod/index.d.ts +1 -1
  42. package/dist/mod/index.d.ts.map +1 -1
  43. package/dist/mod/index.js +1 -1
  44. package/dist/mod/index.js.map +1 -1
  45. package/dist/mod/loader.d.ts +1 -0
  46. package/dist/mod/loader.d.ts.map +1 -1
  47. package/dist/mod/loader.js +27 -1
  48. package/dist/mod/loader.js.map +1 -1
  49. package/dist/mods/clients.d.ts +2 -0
  50. package/dist/mods/clients.d.ts.map +1 -0
  51. package/dist/mods/clients.js +3 -0
  52. package/dist/mods/clients.js.map +1 -0
  53. package/dist/mods/llm/index.js +1 -1
  54. package/dist/mods/llm/index.js.map +1 -1
  55. package/dist/mods/mcp/server.d.ts +0 -1
  56. package/dist/mods/mcp/server.js +0 -1
  57. package/dist/mods/mcp/service.d.ts +0 -1
  58. package/dist/mods/mcp/service.js +0 -1
  59. package/dist/mods/mcp/types.d.ts +0 -1
  60. package/dist/mods/mcp/types.js +0 -1
  61. package/dist/mods/servers.d.ts +4 -0
  62. package/dist/mods/servers.d.ts.map +1 -0
  63. package/dist/mods/servers.js +5 -0
  64. package/dist/mods/servers.js.map +1 -0
  65. package/dist/mods/treenity/builtins.d.ts +2 -0
  66. package/dist/mods/treenity/builtins.d.ts.map +1 -0
  67. package/dist/mods/treenity/builtins.js +18 -0
  68. package/dist/mods/treenity/builtins.js.map +1 -0
  69. package/dist/mods/treenity/logs.d.ts +18 -0
  70. package/dist/mods/treenity/logs.d.ts.map +1 -0
  71. package/dist/mods/treenity/logs.js +17 -0
  72. package/dist/mods/treenity/logs.js.map +1 -0
  73. package/dist/mods/treenity/seed.js +29 -27
  74. package/dist/mods/treenity/seed.js.map +1 -1
  75. package/dist/mods/treenity/server.d.ts +2 -0
  76. package/dist/mods/treenity/server.d.ts.map +1 -1
  77. package/dist/mods/treenity/server.js +2 -0
  78. package/dist/mods/treenity/server.js.map +1 -1
  79. package/dist/mods/uix/client.js +4 -4
  80. package/dist/mods/uix/client.js.map +1 -1
  81. package/dist/mods/uix/compile.d.ts.map +1 -1
  82. package/dist/mods/uix/compile.js +4 -2
  83. package/dist/mods/uix/compile.js.map +1 -1
  84. package/dist/schema/_test-fixture.d.ts +11 -0
  85. package/dist/schema/_test-fixture.d.ts.map +1 -0
  86. package/dist/schema/_test-fixture.js +8 -0
  87. package/dist/schema/_test-fixture.js.map +1 -0
  88. package/dist/schema/types.d.ts +1 -0
  89. package/dist/schema/types.d.ts.map +1 -1
  90. package/dist/server/actions.js +1 -1
  91. package/dist/server/auth.d.ts.map +1 -1
  92. package/dist/server/auth.js +4 -3
  93. package/dist/server/auth.js.map +1 -1
  94. package/dist/server/client.d.ts +10 -3
  95. package/dist/server/client.d.ts.map +1 -1
  96. package/dist/server/client.js +1 -1
  97. package/dist/server/client.js.map +1 -1
  98. package/dist/server/doc-index.d.ts.map +1 -1
  99. package/dist/server/doc-index.js +13 -12
  100. package/dist/server/doc-index.js.map +1 -1
  101. package/dist/server/factory.d.ts +6 -0
  102. package/dist/server/factory.d.ts.map +1 -1
  103. package/dist/server/factory.js +44 -25
  104. package/dist/server/factory.js.map +1 -1
  105. package/dist/server/main.d.ts +0 -4
  106. package/dist/server/main.d.ts.map +1 -1
  107. package/dist/server/main.js +4 -30
  108. package/dist/server/main.js.map +1 -1
  109. package/dist/server/mcp.d.ts +0 -1
  110. package/dist/server/mcp.js +0 -1
  111. package/dist/server/migrate.js +3 -3
  112. package/dist/server/migrate.js.map +1 -1
  113. package/dist/server/mods-mount.d.ts +0 -1
  114. package/dist/server/mods-mount.d.ts.map +1 -1
  115. package/dist/server/mods-mount.js +0 -1
  116. package/dist/server/mods-mount.js.map +1 -1
  117. package/dist/server/mount-adapters.js +9 -4
  118. package/dist/server/mount-adapters.js.map +1 -1
  119. package/dist/server/prefab.d.ts +2 -2
  120. package/dist/server/prefab.d.ts.map +1 -1
  121. package/dist/server/prefab.js +4 -2
  122. package/dist/server/prefab.js.map +1 -1
  123. package/dist/server/refs.d.ts +3 -0
  124. package/dist/server/refs.d.ts.map +1 -0
  125. package/dist/server/refs.js +59 -0
  126. package/dist/server/refs.js.map +1 -0
  127. package/dist/server/server.d.ts.map +1 -1
  128. package/dist/server/server.js +13 -3
  129. package/dist/server/server.js.map +1 -1
  130. package/dist/server/sub.js.map +1 -1
  131. package/dist/server/trpc.d.ts +7 -0
  132. package/dist/server/trpc.d.ts.map +1 -1
  133. package/dist/server/trpc.js +6 -2
  134. package/dist/server/trpc.js.map +1 -1
  135. package/dist/tree/fs.d.ts.map +1 -1
  136. package/dist/tree/fs.js +20 -18
  137. package/dist/tree/fs.js.map +1 -1
  138. package/dist/tree/index.d.ts.map +1 -1
  139. package/dist/tree/index.js +2 -1
  140. package/dist/tree/index.js.map +1 -1
  141. package/dist/tree-chain.d.ts +2 -1
  142. package/dist/tree-chain.d.ts.map +1 -1
  143. package/dist/tree-chain.js +5 -3
  144. package/dist/tree-chain.js.map +1 -1
  145. package/dist/uri.d.ts.map +1 -1
  146. package/dist/uri.js +8 -3
  147. package/dist/uri.js.map +1 -1
  148. package/package.json +48 -6
  149. package/src/chain.ts +7 -5
  150. package/src/client/trpc.ts +1 -0
  151. package/src/comp/index.test.ts +45 -9
  152. package/src/comp/index.ts +19 -8
  153. package/src/comp/needs.ts +3 -3
  154. package/src/core/component.ts +16 -14
  155. package/src/core/context.ts +4 -4
  156. package/src/core/index.test.ts +22 -1
  157. package/src/core/path.ts +6 -3
  158. package/src/core/registry.ts +4 -7
  159. package/src/core.ts +1 -1
  160. package/src/index.ts +1 -0
  161. package/src/log.ts +172 -1
  162. package/src/mod/docs/07-realtime.md +19 -11
  163. package/src/mod/docs/08-services.md +10 -8
  164. package/src/mod/docs/10-acl.md +1 -1
  165. package/src/mod/docs/12-conventions.md +43 -0
  166. package/src/mod/docs/13-example.md +36 -26
  167. package/src/mod/docs/14-mod-format.md +81 -8
  168. package/src/mod/examples/ticker/service.ts +2 -3
  169. package/src/mod/index.ts +1 -1
  170. package/src/mod/loader.test.ts +53 -1
  171. package/src/mod/loader.ts +34 -1
  172. package/src/mods/clients.ts +2 -0
  173. package/src/mods/llm/index.ts +1 -1
  174. package/src/mods/servers.ts +4 -0
  175. package/src/mods/treenity/builtins.ts +21 -0
  176. package/src/mods/treenity/logs.ts +26 -0
  177. package/src/mods/treenity/seed.ts +30 -28
  178. package/src/mods/treenity/server.ts +2 -0
  179. package/src/mods/uix/client.ts +4 -4
  180. package/src/mods/uix/compile.ts +4 -2
  181. package/src/schema/_test-fixture.ts +12 -0
  182. package/src/schema/generated/ai.agent.json +133 -0
  183. package/src/schema/generated/ai.approval.json +105 -0
  184. package/src/schema/generated/ai.approvals.json +24 -0
  185. package/src/schema/generated/ai.assignment.json +28 -0
  186. package/src/schema/generated/ai.plan.json +84 -0
  187. package/src/schema/generated/ai.policy.json +105 -0
  188. package/src/schema/generated/ai.pool.json +37 -0
  189. package/src/schema/generated/ai.thread.json +64 -0
  190. package/src/schema/generated/board.kanban.json +7 -0
  191. package/src/schema/generated/canary.item.json +40 -0
  192. package/src/schema/generated/claude-search.json +20 -0
  193. package/src/schema/generated/craft.product.json +47 -0
  194. package/src/schema/generated/craft.shop.json +94 -0
  195. package/src/schema/generated/craft.subscription.json +27 -0
  196. package/src/schema/generated/examples.demo.sensor.reading.json +25 -0
  197. package/src/schema/generated/flow.node.action.json +61 -0
  198. package/src/schema/generated/flow.node.code.json +43 -0
  199. package/src/schema/generated/flow.node.condition.json +37 -0
  200. package/src/schema/generated/flow.node.end.json +35 -0
  201. package/src/schema/generated/flow.node.http.json +65 -0
  202. package/src/schema/generated/flow.node.llm.json +67 -0
  203. package/src/schema/generated/flow.node.loop.json +49 -0
  204. package/src/schema/generated/flow.node.start.json +39 -0
  205. package/src/schema/generated/flow.scenario.json +118 -0
  206. package/src/schema/generated/grove.attempt.json +199 -0
  207. package/src/schema/generated/grove.path.json +93 -0
  208. package/src/schema/generated/grove.review.json +27 -0
  209. package/src/schema/generated/grove.task.json +164 -0
  210. package/src/schema/generated/intel.scenario.json +58 -0
  211. package/src/schema/generated/intel.signal.json +113 -0
  212. package/src/schema/generated/intel.world.json +15 -0
  213. package/src/schema/generated/landing.block.json +201 -0
  214. package/src/schema/generated/landing.page.json +84 -0
  215. package/src/schema/generated/metatron.config.json +119 -0
  216. package/src/schema/generated/metatron.permission.json +36 -0
  217. package/src/schema/generated/metatron.skill.json +36 -0
  218. package/src/schema/generated/metatron.task.json +114 -0
  219. package/src/schema/generated/metatron.template.json +26 -0
  220. package/src/schema/generated/metatron.workspace.json +60 -0
  221. package/src/schema/generated/order.status.json +21 -0
  222. package/src/schema/generated/polyhope.backtest.json +161 -0
  223. package/src/schema/generated/polyhope.feed.json +33 -0
  224. package/src/schema/generated/polyhope.run.json +94 -0
  225. package/src/schema/generated/polyhope.strategy.json +152 -0
  226. package/src/schema/generated/polymax.activity.json +65 -0
  227. package/src/schema/generated/polymax.aggr-feed.json +28 -0
  228. package/src/schema/generated/polymax.aggr.json +20 -0
  229. package/src/schema/generated/polymax.alert.json +56 -0
  230. package/src/schema/generated/polymax.bot-config.json +14 -0
  231. package/src/schema/generated/polymax.bot-status.json +35 -0
  232. package/src/schema/generated/polymax.classification.json +55 -0
  233. package/src/schema/generated/polymax.deposits.json +45 -0
  234. package/src/schema/generated/polymax.holding.json +55 -0
  235. package/src/schema/generated/polymax.identity.json +71 -0
  236. package/src/schema/generated/polymax.lb-entry.json +75 -0
  237. package/src/schema/generated/polymax.leaderboard.json +37 -0
  238. package/src/schema/generated/polymax.market-ref.json +25 -0
  239. package/src/schema/generated/polymax.performance.json +65 -0
  240. package/src/schema/generated/polymax.profile.json +16 -0
  241. package/src/schema/generated/polymax.scan-result.json +50 -0
  242. package/src/schema/generated/polymax.status.json +40 -0
  243. package/src/schema/generated/polymax.tags.json +53 -0
  244. package/src/schema/generated/polymax.trader.json +16 -0
  245. package/src/schema/generated/polymax.wallet-market.json +50 -0
  246. package/src/schema/generated/polymax.wallet-pnl.json +35 -0
  247. package/src/schema/generated/pult.concept.json +53 -0
  248. package/src/schema/generated/pult.config.json +227 -0
  249. package/src/schema/generated/pult.connector.json +72 -0
  250. package/src/schema/generated/pult.market.json +113 -0
  251. package/src/schema/generated/pult.order.json +113 -0
  252. package/src/schema/generated/pult.rete.json +68 -0
  253. package/src/schema/generated/pult.sensor.json +74 -0
  254. package/src/schema/generated/pult.signal.json +54 -0
  255. package/src/schema/generated/pult.synapse.json +93 -0
  256. package/src/schema/generated/pult.trade.json +93 -0
  257. package/src/schema/generated/resim.config.json +34 -0
  258. package/src/schema/generated/resim.function.json +62 -0
  259. package/src/schema/generated/resim.goal.json +22 -0
  260. package/src/schema/generated/resim.resource.json +40 -0
  261. package/src/schema/generated/resim.state.json +48 -0
  262. package/src/schema/generated/resim.world.json +40 -0
  263. package/src/schema/generated/saveme.action.save.json +29 -0
  264. package/src/schema/generated/saveme.message.json +36 -0
  265. package/src/schema/generated/saveme.router.json +31 -0
  266. package/src/schema/generated/t.coolify.json +50 -0
  267. package/src/schema/generated/t.event.json +46 -0
  268. package/src/schema/generated/t.logs.json +155 -0
  269. package/src/schema/generated/t.note.json +31 -0
  270. package/src/schema/generated/t.person.json +36 -0
  271. package/src/schema/generated/t.tenant.json +57 -0
  272. package/src/schema/generated/t.tenant.status.json +42 -0
  273. package/src/schema/generated/tagger.config.json +115 -0
  274. package/src/schema/generated/tagger.result.json +57 -0
  275. package/src/schema/generated/tagger.tree.json +36 -0
  276. package/src/schema/generated/ui.table.json +46 -0
  277. package/src/schema/types.ts +1 -0
  278. package/src/server/actions.test.ts +1 -1
  279. package/src/server/actions.ts +1 -1
  280. package/src/server/api.test.ts +9 -0
  281. package/src/server/auth.ts +4 -3
  282. package/src/server/client.ts +1 -1
  283. package/src/server/coverage.test.ts +1 -1
  284. package/src/server/doc-index.ts +13 -12
  285. package/src/server/e2e.test.ts +4 -3
  286. package/src/server/factory.ts +46 -24
  287. package/src/server/main.ts +4 -36
  288. package/src/server/migrate.ts +4 -4
  289. package/src/server/mods-mount.ts +0 -2
  290. package/src/server/mount-adapters.ts +9 -4
  291. package/src/server/mount.test.ts +73 -5
  292. package/src/server/prefab.ts +3 -2
  293. package/src/server/refs.test.ts +82 -0
  294. package/src/server/refs.ts +64 -0
  295. package/src/server/server.ts +14 -3
  296. package/src/server/sub.ts +2 -2
  297. package/src/server/trpc.ts +9 -3
  298. package/src/tree/fs.ts +21 -15
  299. package/src/tree/index.test.ts +26 -0
  300. package/src/tree/index.ts +2 -1
  301. package/src/tree-chain.test.ts +37 -44
  302. package/src/tree-chain.ts +11 -5
  303. package/src/uri.test.ts +32 -5
  304. package/src/uri.ts +4 -2
  305. package/dist/mods/mcp/server.d.ts.map +0 -1
  306. package/dist/mods/mcp/server.js.map +0 -1
  307. package/dist/mods/mcp/service.d.ts.map +0 -1
  308. package/dist/mods/mcp/service.js.map +0 -1
  309. package/dist/mods/mcp/types.d.ts.map +0 -1
  310. package/dist/mods/mcp/types.js.map +0 -1
  311. package/dist/schema/test-opaque.d.ts +0 -3
  312. package/dist/schema/test-opaque.d.ts.map +0 -1
  313. package/dist/schema/test-opaque.js +0 -43
  314. package/dist/schema/test-opaque.js.map +0 -1
  315. package/dist/server/mcp.d.ts.map +0 -1
  316. package/dist/server/mcp.js.map +0 -1
  317. package/src/mods/mcp/CLAUDE.md +0 -6
  318. package/src/mods/mcp/server.ts +0 -2
  319. package/src/mods/mcp/service.ts +0 -19
  320. package/src/mods/mcp/types.ts +0 -7
  321. package/src/schema/test-opaque.ts +0 -42
  322. package/src/server/mcp.ts +0 -326
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/tree/fs.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AASpC,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuOjE"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/tree/fs.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AASpC,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6OjE"}
package/dist/tree/fs.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Stores nodes as JSON files on disk.
3
3
  // Leaf nodes → name.json, directory nodes (with children) → name/$.json
4
4
  // Auto-promotes leaf→dir when children appear, demotes dir→leaf when last child removed.
5
- import { dirname as treeDirname, isChildPath } from '#core/path';
5
+ import { dirname as treeDirname } from '#core/path';
6
6
  import { mkdir, readdir, readFile, rmdir, unlink, writeFile } from 'node:fs/promises';
7
7
  import { dirname, join, resolve } from 'node:path';
8
8
  import sift from 'sift';
@@ -131,10 +131,11 @@ export async function createFsTree(rootDir) {
131
131
  current = treeDirname(current);
132
132
  }
133
133
  }
134
- // Walk all nodes in both forms
135
- async function allNodes() {
134
+ // Collect children of a tree path up to given depth by walking only the relevant FS subtree
135
+ async function collectChildren(parent, depth) {
136
136
  const results = [];
137
- async function walk(dir) {
137
+ const fsDir = resolve(join(rootDir, parent));
138
+ async function walk(dir, currentDepth) {
138
139
  let entries;
139
140
  try {
140
141
  entries = await readdir(dir, { withFileTypes: true });
@@ -145,17 +146,26 @@ export async function createFsTree(rootDir) {
145
146
  throw e;
146
147
  }
147
148
  for (const e of entries) {
149
+ if (e.name === '$.json')
150
+ continue; // parent's own data, not a child
148
151
  const full = join(dir, e.name);
149
152
  if (e.isDirectory()) {
150
- await walk(full);
151
- continue;
153
+ // Directory child — read its $.json if exists
154
+ const childPath = full.slice(rootDir.length) || '/';
155
+ const node = await readNode(childPath);
156
+ if (node)
157
+ results.push(node);
158
+ if (currentDepth < depth)
159
+ await walk(full, currentDepth + 1);
152
160
  }
153
- if (e.name.endsWith('.json')) {
154
- results.push(JSON.parse(await readFile(full, 'utf-8')));
161
+ else if (e.name.endsWith('.json')) {
162
+ // Leaf child — name.json
163
+ const node = JSON.parse(await readFile(full, 'utf-8'));
164
+ results.push(node);
155
165
  }
156
166
  }
157
167
  }
158
- await walk(rootDir);
168
+ await walk(fsDir, 1);
159
169
  return results;
160
170
  }
161
171
  const tree = {
@@ -164,15 +174,7 @@ export async function createFsTree(rootDir) {
164
174
  },
165
175
  async getChildren(parent, opts) {
166
176
  const depth = opts?.depth ?? 1;
167
- const all = await allNodes();
168
- let filtered = all.filter((n) => {
169
- if (!isChildPath(parent, n.$path, false))
170
- return false;
171
- if (depth === Infinity)
172
- return true;
173
- const rest = parent === '/' ? n.$path.slice(1) : n.$path.slice(parent.length + 1);
174
- return rest.split('/').length <= depth;
175
- });
177
+ let filtered = await collectChildren(parent, depth);
176
178
  if (opts?.query) {
177
179
  const test = sift(opts.query);
178
180
  filtered = filtered.filter(n => test(mapNodeForSift(n)));
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/tree/fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/tree/fs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,QAAQ,EAA2B,MAAM,OAAO,CAAC;AAEtE,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAI/D,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3D,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAErH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAKhE;AAID,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC;AAE1F,MAAM,WAAW,IAAI;IACnB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAMD,wBAAsB,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAK/E;AAOD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,GACnC,IAAI,CAmCN;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAOhE;AAQD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAUxF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAa1E;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAyEvC;AAED,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,QAAQ,EAA2B,MAAM,OAAO,CAAC;AAEtE,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAI/D,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3D,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAErH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAKhE;AAID,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC;AAE1F,MAAM,WAAW,IAAI;IACnB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAMD,wBAAsB,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAK/E;AAOD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,GACnC,IAAI,CAmCN;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAOhE;AAQD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAUxF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAa1E;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CA0EvC;AAED,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
@@ -134,7 +134,8 @@ export function createMemoryTree() {
134
134
  async get(path, _ctx) {
135
135
  if (typeof path !== 'string')
136
136
  throw new Error(`store.get: path must be string, got ${typeof path}`);
137
- return navigate(path)?.data;
137
+ const data = navigate(path)?.data;
138
+ return data ? structuredClone(data) : data;
138
139
  },
139
140
  async getChildren(parent, opts, _ctx) {
140
141
  const node = navigate(parent);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
+ import { type Class, type Raw, type TypeClass } from '#comp';
1
2
  import { type NodeData } from '#core';
2
- import { type Class, type TypeClass, type Raw } from '#comp';
3
3
  import type { Tree } from '#tree';
4
4
  import type { Chain } from './chain';
5
5
  type TreeChainAPI = {
6
6
  <T>(cls: TypeClass<T>): Chain<T>;
7
7
  readonly $path: string;
8
8
  $get<T>(cls: Class<T>, key?: string): Chain<T>;
9
+ $field(key: string): Chain<any>;
9
10
  $children(query?: Record<string, unknown>): Promise<NodeData[]>;
10
11
  $set<T>(cls: Class<T>, data?: Partial<Raw<T>>): Promise<void>;
11
12
  then<R1 = NodeData, R2 = never>(onfulfilled?: ((value: NodeData) => R1 | PromiseLike<R1>) | null, onrejected?: ((reason: any) => R2 | PromiseLike<R2>) | null): Promise<R1 | R2>;
@@ -1 +1 @@
1
- {"version":3,"file":"tree-chain.d.ts","sourceRoot":"","sources":["../src/tree-chain.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8C,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAA;AACjF,OAAO,EAAW,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAUpC,KAAK,YAAY,GAAG;IAClB,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9C,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/D,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,GAAG,KAAK,EAC5B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAChE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAC1D,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AA6GjE,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAKlE"}
1
+ {"version":3,"file":"tree-chain.d.ts","sourceRoot":"","sources":["../src/tree-chain.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAoC,KAAK,QAAQ,EAA0B,MAAM,OAAO,CAAC;AAChG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAUrC,KAAK,YAAY,GAAG;IAClB,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/D,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,GAAG,KAAK,EAC5B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAChE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAC1D,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAkHjE,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAKlE"}
@@ -1,8 +1,7 @@
1
1
  // treeChain — tree-aware Proxy chain
2
2
  // Navigate tree via dots, auto-follow refs, execute actions, typed components.
3
3
  // Layer L2: uses Tree (L1) + comp (L2). No server dependency.
4
- import { isComponent, isRef, normalizeType, resolve } from '#core';
5
- import { getComp } from '#comp';
4
+ import { getComponent, isComponent, isRef, normalizeType, resolve } from '#core';
6
5
  const EMPTY_FN = () => { };
7
6
  const NO_OPS = [];
8
7
  async function exec(tree, path, spec, ops) {
@@ -21,7 +20,7 @@ async function exec(tree, path, spec, ops) {
21
20
  curType = cur.$type;
22
21
  }
23
22
  else if (spec.cls) {
24
- const comp = getComp(node, spec.cls);
23
+ const comp = getComponent(node, spec.cls);
25
24
  if (!comp)
26
25
  throw new Error(`Type "${normalizeType(spec.cls)}" not found on ${path}`);
27
26
  cur = comp;
@@ -70,6 +69,9 @@ function make(tree, path, spec, ops) {
70
69
  if (p === '$get') {
71
70
  return (cls, key) => make(tree, path, { cls, key }, NO_OPS);
72
71
  }
72
+ if (p === '$field') {
73
+ return (key) => make(tree, path, { cls: null, key }, NO_OPS);
74
+ }
73
75
  if (p === '$children') {
74
76
  return (query) => tree.getChildren(path, query ? { query } : undefined).then(r => r.items);
75
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tree-chain.js","sourceRoot":"","sources":["../src/tree-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree-chain.js","sourceRoot":"","sources":["../src/tree-chain.ts"],"names":[],"mappings":"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"}
package/dist/uri.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../src/uri.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CA0BjD;AAED,0DAA0D;AAC1D,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,SAAS,CAOvG"}
1
+ {"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../src/uri.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CA4BjD;AAED,0DAA0D;AAC1D,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,CAAC,GAAG,SAAS,CAOvG"}
package/dist/uri.js CHANGED
@@ -18,14 +18,19 @@ export function parseURI(uri) {
18
18
  const dot = clean.indexOf('.');
19
19
  const key = dot > -1 ? clean.slice(0, dot) : undefined;
20
20
  const name = dot > -1 ? clean.slice(dot + 1) : clean;
21
- if (!name)
21
+ if (dot > -1 && !name)
22
22
  throw new Error('Empty name in URI fragment');
23
23
  if (key)
24
24
  result.key = key;
25
- if (isCall)
25
+ if (isCall) {
26
26
  result.action = name;
27
- else
27
+ }
28
+ else if (key) {
28
29
  result.field = name;
30
+ }
31
+ else {
32
+ result.key = name;
33
+ }
29
34
  }
30
35
  const data = url.search ? expandDots(url.searchParams) : undefined;
31
36
  if (data)
package/dist/uri.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"uri.js","sourceRoot":"","sources":["../src/uri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uri.js","sourceRoot":"","sources":["../src/uri.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,15 +1,56 @@
1
1
  {
2
2
  "name": "@treenity/core",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
+ "description": "Composable typed tree engine — three primitives, everything else composes. Nodes, components, contexts.",
4
5
  "type": "module",
6
+ "publishConfig": { "access": "public" },
7
+ "license": "AGPL-3.0",
8
+ "author": "Treenity <hello@treenity.ai> (https://treenity.ai)",
9
+ "homepage": "https://github.com/treenity-ai/treenity",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/treenity-ai/treenity.git"
13
+ },
14
+ "keywords": [
15
+ "treenity",
16
+ "tree",
17
+ "composable",
18
+ "typed",
19
+ "ecs",
20
+ "node",
21
+ "component",
22
+ "context",
23
+ "mcp",
24
+ "ai-native"
25
+ ],
5
26
  "imports": {
6
- "#*": { "development": "./src/*.ts", "default": "./dist/*.js" }
27
+ "#*": {
28
+ "development": "./src/*.ts",
29
+ "default": "./dist/*.js"
30
+ }
7
31
  },
8
32
  "exports": {
9
- ".": { "development": "./src/index.ts", "types": "./dist/index.d.ts", "default": "./dist/index.js" },
10
- "./*": { "development": "./src/*.ts", "types": "./dist/*.d.ts", "default": "./dist/*.js" }
33
+ ".": {
34
+ "development": "./src/index.ts",
35
+ "types": "./dist/index.d.ts",
36
+ "default": "./dist/index.js"
37
+ },
38
+ "./*": {
39
+ "development": "./src/*.ts",
40
+ "types": "./dist/*.d.ts",
41
+ "default": "./dist/*.js"
42
+ }
43
+ },
44
+ "treenity": {
45
+ "clients": "./src/mods/clients.ts",
46
+ "servers": "./src/mods/servers.ts"
11
47
  },
12
- "files": ["dist", "src"],
48
+ "files": [
49
+ "dist",
50
+ "src",
51
+ "LICENSE",
52
+ "README.md"
53
+ ],
13
54
  "scripts": {
14
55
  "build": "tsc -p tsconfig.build.json",
15
56
  "prepack": "npm run build",
@@ -21,13 +62,14 @@
21
62
  "@anthropic-ai/claude-agent-sdk": "^0.2.58",
22
63
  "@grammyjs/runner": "^2.0.3",
23
64
  "@huggingface/transformers": "^3.8.1",
24
- "@modelcontextprotocol/sdk": "^1.26.0",
65
+ "@modelcontextprotocol/sdk": "^1.27.1",
25
66
  "@orama/orama": "^3.1.18",
26
67
  "@trpc/server": "^11.9.0",
27
68
  "dotenv": "^17.2.4",
28
69
  "fast-json-patch": "^3.1.1",
29
70
  "grammy": "^1.39.3",
30
71
  "immer": "^11.1.4",
72
+ "mongoose": "^9.2.4",
31
73
  "quickjs-emscripten": "^0.32.0",
32
74
  "sift": "^17.1.3",
33
75
  "uuid": "^13.0.0",
package/src/chain.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  // Minimal call-chain: records property/call path, resolves lazily on await.
2
2
  // Ref resolution is opt-in via runPathWithRefs — chain itself is pure.
3
3
 
4
- import { isRef } from '#core';
4
+ import { isRef, type Ref } from '#core';
5
5
 
6
6
  export type PathSection = string | unknown[]
7
7
 
@@ -16,9 +16,11 @@ type ValuePromise<T> = T extends Primitive
16
16
  : Chain<T>
17
17
 
18
18
  export type Chain<T> = Promise<T> & {
19
- [K in keyof T]: T[K] extends (...args: infer A) => infer R
20
- ? (...args: A) => ValuePromise<Awaited<NonNullable<R>>>
21
- : ValuePromise<Awaited<NonNullable<T[K]>>>
19
+ [K in keyof T]: T[K] extends TypedRef<infer U>
20
+ ? Chain<U>
21
+ : T[K] extends (...args: infer A) => infer R
22
+ ? (...args: A) => ValuePromise<Awaited<NonNullable<R>>>
23
+ : ValuePromise<Awaited<NonNullable<T[K]>>>
22
24
  }
23
25
 
24
26
  // TypedRef: runtime $ref + phantom type T for call-chain to follow
@@ -52,7 +54,7 @@ export async function runPath(target: any, path: PathSection[]): Promise<any> {
52
54
  export async function runPathWithRefs(
53
55
  target: any,
54
56
  path: PathSection[],
55
- resolveRef: (ref: { $ref: string }) => Promise<any>,
57
+ resolveRef: (ref: Ref) => Promise<any>,
56
58
  ): Promise<any> {
57
59
  let cur = target, prev = target
58
60
  for (const step of path) {
@@ -30,6 +30,7 @@ export function createTrpcTransport(opts: TrpcTransportOpts): TreenityClient & {
30
30
  }),
31
31
  false: httpBatchLink({
32
32
  url: `${opts.url}/trpc/`,
33
+ maxURLLength: 2048,
33
34
  headers: () => {
34
35
  const t = getToken();
35
36
  return t ? { Authorization: `Bearer ${t}` } : {};
@@ -1,8 +1,11 @@
1
- // Tests for getComp, setComp, newComp
1
+ // Tests for setComp, newComp, getCtx
2
2
  // Key behavior: when node.$type matches component $type, node itself IS the component.
3
3
 
4
- import { getComp, newComp, registerType, setComp } from '#comp';
5
- import { type NodeData } from '#core';
4
+ import { getCtx, newComp, registerType, setComp } from '#comp';
5
+ import { createNode, getComponent, type NodeData } from '#core';
6
+ import { clearRegistry } from '#core/index.test';
7
+ import { executeAction } from '#server/actions';
8
+ import { createMemoryTree } from '#tree';
6
9
  import assert from 'node:assert/strict';
7
10
  import { describe, it } from 'node:test';
8
11
 
@@ -18,12 +21,12 @@ class TestMeta {
18
21
  }
19
22
  registerType('test.meta', TestMeta);
20
23
 
21
- // ── getComp ──
24
+ // ── getComponent ──
22
25
 
23
- describe('getComp', () => {
26
+ describe('getComponent', () => {
24
27
  it('returns node itself when node.$type matches component type', () => {
25
28
  const node: NodeData = { $path: '/a', $type: 'test.item', name: 'sword', quantity: 3 };
26
- const comp = getComp(node, TestItem);
29
+ const comp = getComponent(node, TestItem);
27
30
  assert.ok(comp);
28
31
  assert.equal(comp.name, 'sword');
29
32
  assert.equal(comp.quantity, 3);
@@ -34,7 +37,7 @@ describe('getComp', () => {
34
37
  $path: '/a', $type: 'dir',
35
38
  meta: { $type: 'test.meta', title: 'Hello', description: 'world' },
36
39
  };
37
- const comp = getComp(node, TestMeta);
40
+ const comp = getComponent(node, TestMeta);
38
41
  assert.ok(comp);
39
42
  assert.equal(comp.title, 'Hello');
40
43
  assert.equal(comp.description, 'world');
@@ -46,7 +49,7 @@ describe('getComp', () => {
46
49
  $path: '/a', $type: 'test.item',
47
50
  item: { $type: 'test.item', name: 'from-key', quantity: 99 },
48
51
  };
49
- const comp = getComp(node, TestItem);
52
+ const comp = getComponent(node, TestItem);
50
53
  assert.ok(comp);
51
54
  // Node-level has no name/quantity fields → undefined, not the named key values
52
55
  assert.equal(comp.name, undefined);
@@ -55,7 +58,7 @@ describe('getComp', () => {
55
58
 
56
59
  it('returns undefined when no match', () => {
57
60
  const node: NodeData = { $path: '/a', $type: 'dir' };
58
- assert.equal(getComp(node, TestItem), undefined);
61
+ assert.equal(getComponent(node, TestItem), undefined);
59
62
  });
60
63
  });
61
64
 
@@ -127,3 +130,36 @@ describe('newComp', () => {
127
130
  assert.equal(comp.$type, 'test.item');
128
131
  });
129
132
  });
133
+
134
+ // ── getCtx ──
135
+
136
+ describe('getCtx', () => {
137
+ it('throws when called outside action context', () => {
138
+ assert.throws(() => getCtx(), (e: Error) => e.message.includes('outside action context'));
139
+ });
140
+
141
+ it('ALS isolation: concurrent async actions each see their own ctx', async () => {
142
+ clearRegistry();
143
+
144
+ // Method yields to event loop then reads ctx — ALS must keep each action's ctx isolated
145
+ class AlsNode {
146
+ async whoami() {
147
+ await Promise.resolve(); // yield — lets the other action's handler run
148
+ return getCtx().node.$path;
149
+ }
150
+ }
151
+ registerType('als.test', AlsNode);
152
+
153
+ const store = createMemoryTree();
154
+ await store.set(createNode('/a', 'als.test'));
155
+ await store.set(createNode('/b', 'als.test'));
156
+
157
+ const [pathA, pathB] = await Promise.all([
158
+ executeAction(store, '/a', undefined, undefined, 'whoami'),
159
+ executeAction(store, '/b', undefined, undefined, 'whoami'),
160
+ ]);
161
+
162
+ assert.equal(pathA, '/a');
163
+ assert.equal(pathB, '/b');
164
+ });
165
+ });
package/src/comp/index.ts CHANGED
@@ -2,8 +2,20 @@
2
2
  // registerType(type, cls) → stamps $type, registers class, auto-registers actions from methods
3
3
 
4
4
  import { registerActionNeeds } from '#comp/needs';
5
- import { type Class, ComponentData, getComponent, NodeData, normalizeType, register, resolve, type TypeId } from '#core';
5
+ import {
6
+ type Class,
7
+ ComponentData,
8
+ getComponent,
9
+ NodeData,
10
+ normalizeType,
11
+ register,
12
+ resolve,
13
+ type TypeId,
14
+ } from '#core';
15
+ // Wire ExecCtx into logger — safe (returns null outside action context)
16
+ import { setCtxProvider } from '#log';
6
17
  import { trackType } from '#mod/tracking';
18
+ import { type TypeSchema } from '#schema/types';
7
19
  import { type Tree } from '#tree';
8
20
 
9
21
  export type { Class };
@@ -40,13 +52,13 @@ export type TypeProxy<T> = Raw<T> & Actions<T>;
40
52
 
41
53
  declare module '#core/context' {
42
54
  interface ContextHandlers {
43
- class: Class<unknown>;
55
+ class: Class<object>;
44
56
  }
45
57
  }
46
58
 
47
59
  // ── Action context for class methods ──
48
60
  // Node.js: AsyncLocalStorage (survives await, concurrent-safe)
49
- // Browser: global _ctx fallback (safe single-threaded, no concurrent actions)
61
+ // Browser: global _ctx fallback (NOT safe with concurrent async actions — needs polyfill)
50
62
 
51
63
  let _als: any = null;
52
64
  let _ctx: ExecCtx | null = null;
@@ -57,6 +69,8 @@ import('node:async_hooks')
57
69
  .then(m => { _als = new m.AsyncLocalStorage(); })
58
70
  .catch(() => {});
59
71
 
72
+ setCtxProvider(() => _als?.getStore() ?? _ctx);
73
+
60
74
  export type ExecCtx = { node: NodeData; store: Tree; signal: AbortSignal; [k: string]: unknown };
61
75
 
62
76
  export function getCtx(): ExecCtx {
@@ -72,7 +86,7 @@ export function getCtx(): ExecCtx {
72
86
  export type PortDecl = { pre?: string[]; post?: string[] };
73
87
  type CompOptions = { needs?: string[]; ports?: Record<string, PortDecl> };
74
88
 
75
- export function registerType<T>(type: string, cls: Class<T>, opts?: CompOptions): TypeClass<T> {
89
+ export function registerType<T extends object>(type: string, cls: Class<T>, opts?: CompOptions): TypeClass<T> {
76
90
  const compClass = cls as TypeClass<T>;
77
91
  compClass.$type = normalizeType(type);
78
92
  // Bracket access in treeChain: proxy[Counter] → Proxy.get(_, "§app.counter")
@@ -127,9 +141,6 @@ export function registerActions<T>(type: TypeId, cls: Class<T>, opts?: CompOptio
127
141
 
128
142
  // ── Type-safe component access ──
129
143
 
130
- // Alias for getComponent (unified in L0)
131
- export { getComponent as getComp };
132
-
133
144
  export function setComp<T>(node: NodeData, cls: Class<T>, data: Partial<Raw<T>>, field?: string): void {
134
145
  const comp = getComponent(node, cls, field);
135
146
  if (comp) {
@@ -161,7 +172,7 @@ export function getDefaults<T = any>(type: TypeId<T>): Partial<Raw<T>> {
161
172
  // 2. Fall back to JSON schema defaults
162
173
  const schemaHandler = resolve(type, 'schema');
163
174
  if (schemaHandler) {
164
- const schema = schemaHandler() as { properties?: Record<string, { default?: unknown }> };
175
+ const schema = schemaHandler() as Partial<TypeSchema>;
165
176
  if (schema?.properties) {
166
177
  const out: Record<string, unknown> = {};
167
178
  for (const [k, prop] of Object.entries(schema.properties)) {
package/src/comp/needs.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ComponentData, getCompByKey, isComponent, type NodeData } from '#core';
1
+ import { AnyType, type ComponentData, getComponent, isComponent, type NodeData } from '#core';
2
2
  import { basename, dirname, join } from '#core/path';
3
3
  import { type Tree } from '#tree';
4
4
 
@@ -51,7 +51,7 @@ function resolvePath(base: string, rel: string): string {
51
51
  export async function collectDeps(
52
52
  node: NodeData, componentName: string, actionName: string, store: Tree,
53
53
  ): Promise<ResolvedDeps> {
54
- const cv = getCompByKey(node, componentName);
54
+ const cv = getComponent(node, AnyType, componentName);
55
55
  if (!cv) throw new Error(`Component "${componentName}" not found on ${node.$path}`);
56
56
 
57
57
  const specs = getActionNeeds(cv.$type, actionName);
@@ -96,7 +96,7 @@ export async function collectDeps(
96
96
  // ── Backward compat ──
97
97
 
98
98
  export function collectSiblings(node: NodeData, componentName: string): Record<string, ComponentData> {
99
- const cv = getCompByKey(node, componentName);
99
+ const cv = getComponent(node, AnyType, componentName);
100
100
  if (!cv) throw new Error(`Component "${componentName}" not found on ${node.$path}`);
101
101
 
102
102
  const specs = getActionNeeds(cv.$type, '*');