@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.
- package/README.md +78 -0
- package/dist/chain.d.ts +3 -4
- package/dist/chain.d.ts.map +1 -1
- package/dist/chain.js.map +1 -1
- package/dist/client/trpc.d.ts.map +1 -1
- package/dist/client/trpc.js +1 -0
- package/dist/client/trpc.js.map +1 -1
- package/dist/comp/index.d.ts +3 -4
- package/dist/comp/index.d.ts.map +1 -1
- package/dist/comp/index.js +5 -4
- package/dist/comp/index.js.map +1 -1
- package/dist/comp/needs.d.ts.map +1 -1
- package/dist/comp/needs.js +3 -3
- package/dist/comp/needs.js.map +1 -1
- package/dist/core/component.d.ts +10 -8
- package/dist/core/component.d.ts.map +1 -1
- package/dist/core/component.js +4 -8
- package/dist/core/component.js.map +1 -1
- package/dist/core/context.d.ts +2 -2
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/path.d.ts.map +1 -1
- package/dist/core/path.js +7 -3
- package/dist/core/path.js.map +1 -1
- package/dist/core/registry.d.ts +2 -1
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js.map +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/log.d.ts +30 -0
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +119 -0
- package/dist/log.js.map +1 -1
- package/dist/mod/examples/ticker/service.js +2 -3
- package/dist/mod/examples/ticker/service.js.map +1 -1
- package/dist/mod/index.d.ts +1 -1
- package/dist/mod/index.d.ts.map +1 -1
- package/dist/mod/index.js +1 -1
- package/dist/mod/index.js.map +1 -1
- package/dist/mod/loader.d.ts +1 -0
- package/dist/mod/loader.d.ts.map +1 -1
- package/dist/mod/loader.js +27 -1
- package/dist/mod/loader.js.map +1 -1
- package/dist/mods/clients.d.ts +2 -0
- package/dist/mods/clients.d.ts.map +1 -0
- package/dist/mods/clients.js +3 -0
- package/dist/mods/clients.js.map +1 -0
- package/dist/mods/llm/index.js +1 -1
- package/dist/mods/llm/index.js.map +1 -1
- package/dist/mods/mcp/server.d.ts +0 -1
- package/dist/mods/mcp/server.js +0 -1
- package/dist/mods/mcp/service.d.ts +0 -1
- package/dist/mods/mcp/service.js +0 -1
- package/dist/mods/mcp/types.d.ts +0 -1
- package/dist/mods/mcp/types.js +0 -1
- package/dist/mods/servers.d.ts +4 -0
- package/dist/mods/servers.d.ts.map +1 -0
- package/dist/mods/servers.js +5 -0
- package/dist/mods/servers.js.map +1 -0
- package/dist/mods/treenity/builtins.d.ts +2 -0
- package/dist/mods/treenity/builtins.d.ts.map +1 -0
- package/dist/mods/treenity/builtins.js +18 -0
- package/dist/mods/treenity/builtins.js.map +1 -0
- package/dist/mods/treenity/logs.d.ts +18 -0
- package/dist/mods/treenity/logs.d.ts.map +1 -0
- package/dist/mods/treenity/logs.js +17 -0
- package/dist/mods/treenity/logs.js.map +1 -0
- package/dist/mods/treenity/seed.js +29 -27
- package/dist/mods/treenity/seed.js.map +1 -1
- package/dist/mods/treenity/server.d.ts +2 -0
- package/dist/mods/treenity/server.d.ts.map +1 -1
- package/dist/mods/treenity/server.js +2 -0
- package/dist/mods/treenity/server.js.map +1 -1
- package/dist/mods/uix/client.js +4 -4
- package/dist/mods/uix/client.js.map +1 -1
- package/dist/mods/uix/compile.d.ts.map +1 -1
- package/dist/mods/uix/compile.js +4 -2
- package/dist/mods/uix/compile.js.map +1 -1
- package/dist/schema/_test-fixture.d.ts +11 -0
- package/dist/schema/_test-fixture.d.ts.map +1 -0
- package/dist/schema/_test-fixture.js +8 -0
- package/dist/schema/_test-fixture.js.map +1 -0
- package/dist/schema/types.d.ts +1 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/server/actions.js +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +4 -3
- package/dist/server/auth.js.map +1 -1
- package/dist/server/client.d.ts +10 -3
- package/dist/server/client.d.ts.map +1 -1
- package/dist/server/client.js +1 -1
- package/dist/server/client.js.map +1 -1
- package/dist/server/doc-index.d.ts.map +1 -1
- package/dist/server/doc-index.js +13 -12
- package/dist/server/doc-index.js.map +1 -1
- package/dist/server/factory.d.ts +6 -0
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +44 -25
- package/dist/server/factory.js.map +1 -1
- package/dist/server/main.d.ts +0 -4
- package/dist/server/main.d.ts.map +1 -1
- package/dist/server/main.js +4 -30
- package/dist/server/main.js.map +1 -1
- package/dist/server/mcp.d.ts +0 -1
- package/dist/server/mcp.js +0 -1
- package/dist/server/migrate.js +3 -3
- package/dist/server/migrate.js.map +1 -1
- package/dist/server/mods-mount.d.ts +0 -1
- package/dist/server/mods-mount.d.ts.map +1 -1
- package/dist/server/mods-mount.js +0 -1
- package/dist/server/mods-mount.js.map +1 -1
- package/dist/server/mount-adapters.js +9 -4
- package/dist/server/mount-adapters.js.map +1 -1
- package/dist/server/prefab.d.ts +2 -2
- package/dist/server/prefab.d.ts.map +1 -1
- package/dist/server/prefab.js +4 -2
- package/dist/server/prefab.js.map +1 -1
- package/dist/server/refs.d.ts +3 -0
- package/dist/server/refs.d.ts.map +1 -0
- package/dist/server/refs.js +59 -0
- package/dist/server/refs.js.map +1 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +13 -3
- package/dist/server/server.js.map +1 -1
- package/dist/server/sub.js.map +1 -1
- package/dist/server/trpc.d.ts +7 -0
- package/dist/server/trpc.d.ts.map +1 -1
- package/dist/server/trpc.js +6 -2
- package/dist/server/trpc.js.map +1 -1
- package/dist/tree/fs.d.ts.map +1 -1
- package/dist/tree/fs.js +20 -18
- package/dist/tree/fs.js.map +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +2 -1
- package/dist/tree/index.js.map +1 -1
- package/dist/tree-chain.d.ts +2 -1
- package/dist/tree-chain.d.ts.map +1 -1
- package/dist/tree-chain.js +5 -3
- package/dist/tree-chain.js.map +1 -1
- package/dist/uri.d.ts.map +1 -1
- package/dist/uri.js +8 -3
- package/dist/uri.js.map +1 -1
- package/package.json +48 -6
- package/src/chain.ts +7 -5
- package/src/client/trpc.ts +1 -0
- package/src/comp/index.test.ts +45 -9
- package/src/comp/index.ts +19 -8
- package/src/comp/needs.ts +3 -3
- package/src/core/component.ts +16 -14
- package/src/core/context.ts +4 -4
- package/src/core/index.test.ts +22 -1
- package/src/core/path.ts +6 -3
- package/src/core/registry.ts +4 -7
- package/src/core.ts +1 -1
- package/src/index.ts +1 -0
- package/src/log.ts +172 -1
- package/src/mod/docs/07-realtime.md +19 -11
- package/src/mod/docs/08-services.md +10 -8
- package/src/mod/docs/10-acl.md +1 -1
- package/src/mod/docs/12-conventions.md +43 -0
- package/src/mod/docs/13-example.md +36 -26
- package/src/mod/docs/14-mod-format.md +81 -8
- package/src/mod/examples/ticker/service.ts +2 -3
- package/src/mod/index.ts +1 -1
- package/src/mod/loader.test.ts +53 -1
- package/src/mod/loader.ts +34 -1
- package/src/mods/clients.ts +2 -0
- package/src/mods/llm/index.ts +1 -1
- package/src/mods/servers.ts +4 -0
- package/src/mods/treenity/builtins.ts +21 -0
- package/src/mods/treenity/logs.ts +26 -0
- package/src/mods/treenity/seed.ts +30 -28
- package/src/mods/treenity/server.ts +2 -0
- package/src/mods/uix/client.ts +4 -4
- package/src/mods/uix/compile.ts +4 -2
- package/src/schema/_test-fixture.ts +12 -0
- package/src/schema/generated/ai.agent.json +133 -0
- package/src/schema/generated/ai.approval.json +105 -0
- package/src/schema/generated/ai.approvals.json +24 -0
- package/src/schema/generated/ai.assignment.json +28 -0
- package/src/schema/generated/ai.plan.json +84 -0
- package/src/schema/generated/ai.policy.json +105 -0
- package/src/schema/generated/ai.pool.json +37 -0
- package/src/schema/generated/ai.thread.json +64 -0
- package/src/schema/generated/board.kanban.json +7 -0
- package/src/schema/generated/canary.item.json +40 -0
- package/src/schema/generated/claude-search.json +20 -0
- package/src/schema/generated/craft.product.json +47 -0
- package/src/schema/generated/craft.shop.json +94 -0
- package/src/schema/generated/craft.subscription.json +27 -0
- package/src/schema/generated/examples.demo.sensor.reading.json +25 -0
- package/src/schema/generated/flow.node.action.json +61 -0
- package/src/schema/generated/flow.node.code.json +43 -0
- package/src/schema/generated/flow.node.condition.json +37 -0
- package/src/schema/generated/flow.node.end.json +35 -0
- package/src/schema/generated/flow.node.http.json +65 -0
- package/src/schema/generated/flow.node.llm.json +67 -0
- package/src/schema/generated/flow.node.loop.json +49 -0
- package/src/schema/generated/flow.node.start.json +39 -0
- package/src/schema/generated/flow.scenario.json +118 -0
- package/src/schema/generated/grove.attempt.json +199 -0
- package/src/schema/generated/grove.path.json +93 -0
- package/src/schema/generated/grove.review.json +27 -0
- package/src/schema/generated/grove.task.json +164 -0
- package/src/schema/generated/intel.scenario.json +58 -0
- package/src/schema/generated/intel.signal.json +113 -0
- package/src/schema/generated/intel.world.json +15 -0
- package/src/schema/generated/landing.block.json +201 -0
- package/src/schema/generated/landing.page.json +84 -0
- package/src/schema/generated/metatron.config.json +119 -0
- package/src/schema/generated/metatron.permission.json +36 -0
- package/src/schema/generated/metatron.skill.json +36 -0
- package/src/schema/generated/metatron.task.json +114 -0
- package/src/schema/generated/metatron.template.json +26 -0
- package/src/schema/generated/metatron.workspace.json +60 -0
- package/src/schema/generated/order.status.json +21 -0
- package/src/schema/generated/polyhope.backtest.json +161 -0
- package/src/schema/generated/polyhope.feed.json +33 -0
- package/src/schema/generated/polyhope.run.json +94 -0
- package/src/schema/generated/polyhope.strategy.json +152 -0
- package/src/schema/generated/polymax.activity.json +65 -0
- package/src/schema/generated/polymax.aggr-feed.json +28 -0
- package/src/schema/generated/polymax.aggr.json +20 -0
- package/src/schema/generated/polymax.alert.json +56 -0
- package/src/schema/generated/polymax.bot-config.json +14 -0
- package/src/schema/generated/polymax.bot-status.json +35 -0
- package/src/schema/generated/polymax.classification.json +55 -0
- package/src/schema/generated/polymax.deposits.json +45 -0
- package/src/schema/generated/polymax.holding.json +55 -0
- package/src/schema/generated/polymax.identity.json +71 -0
- package/src/schema/generated/polymax.lb-entry.json +75 -0
- package/src/schema/generated/polymax.leaderboard.json +37 -0
- package/src/schema/generated/polymax.market-ref.json +25 -0
- package/src/schema/generated/polymax.performance.json +65 -0
- package/src/schema/generated/polymax.profile.json +16 -0
- package/src/schema/generated/polymax.scan-result.json +50 -0
- package/src/schema/generated/polymax.status.json +40 -0
- package/src/schema/generated/polymax.tags.json +53 -0
- package/src/schema/generated/polymax.trader.json +16 -0
- package/src/schema/generated/polymax.wallet-market.json +50 -0
- package/src/schema/generated/polymax.wallet-pnl.json +35 -0
- package/src/schema/generated/pult.concept.json +53 -0
- package/src/schema/generated/pult.config.json +227 -0
- package/src/schema/generated/pult.connector.json +72 -0
- package/src/schema/generated/pult.market.json +113 -0
- package/src/schema/generated/pult.order.json +113 -0
- package/src/schema/generated/pult.rete.json +68 -0
- package/src/schema/generated/pult.sensor.json +74 -0
- package/src/schema/generated/pult.signal.json +54 -0
- package/src/schema/generated/pult.synapse.json +93 -0
- package/src/schema/generated/pult.trade.json +93 -0
- package/src/schema/generated/resim.config.json +34 -0
- package/src/schema/generated/resim.function.json +62 -0
- package/src/schema/generated/resim.goal.json +22 -0
- package/src/schema/generated/resim.resource.json +40 -0
- package/src/schema/generated/resim.state.json +48 -0
- package/src/schema/generated/resim.world.json +40 -0
- package/src/schema/generated/saveme.action.save.json +29 -0
- package/src/schema/generated/saveme.message.json +36 -0
- package/src/schema/generated/saveme.router.json +31 -0
- package/src/schema/generated/t.coolify.json +50 -0
- package/src/schema/generated/t.event.json +46 -0
- package/src/schema/generated/t.logs.json +155 -0
- package/src/schema/generated/t.note.json +31 -0
- package/src/schema/generated/t.person.json +36 -0
- package/src/schema/generated/t.tenant.json +57 -0
- package/src/schema/generated/t.tenant.status.json +42 -0
- package/src/schema/generated/tagger.config.json +115 -0
- package/src/schema/generated/tagger.result.json +57 -0
- package/src/schema/generated/tagger.tree.json +36 -0
- package/src/schema/generated/ui.table.json +46 -0
- package/src/schema/types.ts +1 -0
- package/src/server/actions.test.ts +1 -1
- package/src/server/actions.ts +1 -1
- package/src/server/api.test.ts +9 -0
- package/src/server/auth.ts +4 -3
- package/src/server/client.ts +1 -1
- package/src/server/coverage.test.ts +1 -1
- package/src/server/doc-index.ts +13 -12
- package/src/server/e2e.test.ts +4 -3
- package/src/server/factory.ts +46 -24
- package/src/server/main.ts +4 -36
- package/src/server/migrate.ts +4 -4
- package/src/server/mods-mount.ts +0 -2
- package/src/server/mount-adapters.ts +9 -4
- package/src/server/mount.test.ts +73 -5
- package/src/server/prefab.ts +3 -2
- package/src/server/refs.test.ts +82 -0
- package/src/server/refs.ts +64 -0
- package/src/server/server.ts +14 -3
- package/src/server/sub.ts +2 -2
- package/src/server/trpc.ts +9 -3
- package/src/tree/fs.ts +21 -15
- package/src/tree/index.test.ts +26 -0
- package/src/tree/index.ts +2 -1
- package/src/tree-chain.test.ts +37 -44
- package/src/tree-chain.ts +11 -5
- package/src/uri.test.ts +32 -5
- package/src/uri.ts +4 -2
- package/dist/mods/mcp/server.d.ts.map +0 -1
- package/dist/mods/mcp/server.js.map +0 -1
- package/dist/mods/mcp/service.d.ts.map +0 -1
- package/dist/mods/mcp/service.js.map +0 -1
- package/dist/mods/mcp/types.d.ts.map +0 -1
- package/dist/mods/mcp/types.js.map +0 -1
- package/dist/schema/test-opaque.d.ts +0 -3
- package/dist/schema/test-opaque.d.ts.map +0 -1
- package/dist/schema/test-opaque.js +0 -43
- package/dist/schema/test-opaque.js.map +0 -1
- package/dist/server/mcp.d.ts.map +0 -1
- package/dist/server/mcp.js.map +0 -1
- package/src/mods/mcp/CLAUDE.md +0 -6
- package/src/mods/mcp/server.ts +0 -2
- package/src/mods/mcp/service.ts +0 -19
- package/src/mods/mcp/types.ts +0 -7
- package/src/schema/test-opaque.ts +0 -42
- package/src/server/mcp.ts +0 -326
package/dist/tree/fs.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
-
//
|
|
135
|
-
async function
|
|
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
|
-
|
|
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
|
-
|
|
151
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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)));
|
package/dist/tree/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/tree/fs.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,sCAAsC;AACtC,wEAAwE;AACxE,yFAAyF;AAGzF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/tree/fs.ts"],"names":[],"mappings":"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"}
|
package/dist/tree/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/tree/index.js
CHANGED
|
@@ -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
|
-
|
|
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);
|
package/dist/tree/index.js.map
CHANGED
|
@@ -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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"}
|
package/dist/tree-chain.d.ts
CHANGED
|
@@ -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>;
|
package/dist/tree-chain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-chain.d.ts","sourceRoot":"","sources":["../src/tree-chain.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
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"}
|
package/dist/tree-chain.js
CHANGED
|
@@ -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 =
|
|
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
|
}
|
package/dist/tree-chain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-chain.js","sourceRoot":"","sources":["../src/tree-chain.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,+EAA+E;AAC/E,8DAA8D;
|
|
1
|
+
{"version":3,"file":"tree-chain.js","sourceRoot":"","sources":["../src/tree-chain.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,+EAA+E;AAC/E,8DAA8D;AAG9D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAiB,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AA2BhG,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AACzB,MAAM,MAAM,GAAS,EAAE,CAAA;AAEvB,KAAK,UAAU,IAAI,CAAC,IAAU,EAAE,IAAY,EAAE,IAAiB,EAAE,GAAS;IACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;IAErD,IAAI,GAAG,GAAQ,IAAI,CAAA;IACnB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAA;IAExB,gDAAgD;IAChD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,GAAG,kBAAkB,IAAI,EAAE,CAAC,CAAA;YACrF,GAAG,GAAG,EAAE,CAAA;YACR,OAAO,GAAG,GAAG,CAAC,KAAK,CAAA;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACzC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAA;YACpF,GAAG,GAAG,IAAI,CAAA;YACV,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAA;QACjC,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,aAAa;YACb,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAA;YACb,IAAI,GAAG,IAAI,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAA;YAEpE,mBAAmB;YACnB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC1D,GAAG,GAAG,MAAM,CAAA;gBACZ,OAAO,GAAG,MAAM,CAAC,KAAK,CAAA;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAA;YACzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,MAAM,EAAE,CAAC,CAAA;YACpD,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,eAAe,OAAO,GAAG,CAAC,CAAA;YAC5E,GAAG,GAAG,MAAO,OAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,IAAI,CAAC,IAAU,EAAE,IAAY,EAAE,IAAiB,EAAE,GAAS;IAClE,OAAO,IAAI,KAAK,CAAC,QAAe,EAAE;QAChC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,MAAM,CAAC,WAAW,IAAI,CAAC,KAAK,MAAM,CAAC,WAAW;gBAAE,OAAO,aAAa,IAAI,GAAG,CAAA;YACrF,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAE3C,IAAI,CAAC,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAA;YAE9B,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC3E,CAAC;YAED,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAiB,EAAE,GAAY,EAAE,EAAE,CACzC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;YAC1C,CAAC;YAED,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAW,EAAE,EAAE,CACrB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;YAChD,CAAC;YAED,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;gBACtB,OAAO,CAAC,KAA+B,EAAE,EAAE,CACzC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC5E,CAAC;YAED,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAU,EAAE,IAA8B,EAAE,EAAE,CACpD,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;YACjE,CAAC;YAED,yDAAyD;YACzD,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC;YAED,wDAAwD;YACxD,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1E,CAAC;QAED,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YACrB,gEAAgE;YAChE,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpE,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAChE,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,CAAA;YAC1D,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,QAAiB;IACrD,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC;QACxD,CAAC,CAAC,GAAG,CAAA;IACP,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC"}
|
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,
|
|
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
|
-
|
|
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":"AAAA,uDAAuD;AACvD,mDAAmD;AACnD,6DAA6D;AAC7D,uCAAuC;AACvC,sEAAsE;AAUtE,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAExC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAA;IACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAEpE,MAAM,MAAM,GAAgB,EAAE,IAAI,EAAE,CAAA;IAEpC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,kBAAkB;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QACvD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAEzD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACtD,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACpD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;
|
|
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.
|
|
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
|
-
"#*": {
|
|
27
|
+
"#*": {
|
|
28
|
+
"development": "./src/*.ts",
|
|
29
|
+
"default": "./dist/*.js"
|
|
30
|
+
}
|
|
7
31
|
},
|
|
8
32
|
"exports": {
|
|
9
|
-
".":
|
|
10
|
-
|
|
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": [
|
|
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.
|
|
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
|
|
20
|
-
?
|
|
21
|
-
:
|
|
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:
|
|
57
|
+
resolveRef: (ref: Ref) => Promise<any>,
|
|
56
58
|
): Promise<any> {
|
|
57
59
|
let cur = target, prev = target
|
|
58
60
|
for (const step of path) {
|
package/src/client/trpc.ts
CHANGED
|
@@ -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}` } : {};
|
package/src/comp/index.test.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
// Tests for
|
|
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 {
|
|
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
|
-
// ──
|
|
24
|
+
// ── getComponent ──
|
|
22
25
|
|
|
23
|
-
describe('
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
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 {
|
|
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<
|
|
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
|
|
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
|
|
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,
|
|
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 =
|
|
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 =
|
|
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, '*');
|