@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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "examples.demo.sensor.reading",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"description": "A single sensor reading data point",
|
|
6
|
+
"properties": {
|
|
7
|
+
"ts": {
|
|
8
|
+
"type": "number",
|
|
9
|
+
"default": 0
|
|
10
|
+
},
|
|
11
|
+
"value": {
|
|
12
|
+
"type": "number",
|
|
13
|
+
"default": 0
|
|
14
|
+
},
|
|
15
|
+
"seq": {
|
|
16
|
+
"type": "number",
|
|
17
|
+
"default": 0
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": [
|
|
21
|
+
"ts",
|
|
22
|
+
"value",
|
|
23
|
+
"seq"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.node.action",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "Generic Treenity action bridge — execute any registered action",
|
|
6
|
+
"properties": {
|
|
7
|
+
"title": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "Action"
|
|
10
|
+
},
|
|
11
|
+
"position": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"x": {
|
|
15
|
+
"type": "number"
|
|
16
|
+
},
|
|
17
|
+
"y": {
|
|
18
|
+
"type": "number"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"x",
|
|
23
|
+
"y"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"targetPath": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "Target node path in tree",
|
|
29
|
+
"default": ""
|
|
30
|
+
},
|
|
31
|
+
"targetType": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"title": "Target type (optional — for type+key resolution)",
|
|
34
|
+
"default": ""
|
|
35
|
+
},
|
|
36
|
+
"targetAction": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"title": "Action name to execute",
|
|
39
|
+
"default": ""
|
|
40
|
+
},
|
|
41
|
+
"dataTemplate": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"title": "Data template — {{varName}} interpolation, parsed as JSON",
|
|
44
|
+
"default": ""
|
|
45
|
+
},
|
|
46
|
+
"outputVar": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"title": "Variable name to store the action result",
|
|
49
|
+
"default": "actionResult"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"required": [
|
|
53
|
+
"title",
|
|
54
|
+
"position",
|
|
55
|
+
"targetPath",
|
|
56
|
+
"targetType",
|
|
57
|
+
"targetAction",
|
|
58
|
+
"dataTemplate",
|
|
59
|
+
"outputVar"
|
|
60
|
+
]
|
|
61
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.node.code",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "JavaScript code execution",
|
|
6
|
+
"properties": {
|
|
7
|
+
"title": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "Code"
|
|
10
|
+
},
|
|
11
|
+
"position": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"x": {
|
|
15
|
+
"type": "number"
|
|
16
|
+
},
|
|
17
|
+
"y": {
|
|
18
|
+
"type": "number"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"x",
|
|
23
|
+
"y"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"source": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "JavaScript source — has access to `vars` object (all scenario variables)",
|
|
29
|
+
"default": ""
|
|
30
|
+
},
|
|
31
|
+
"outputVar": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"title": "Variable name to store the return value",
|
|
34
|
+
"default": "codeResult"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": [
|
|
38
|
+
"title",
|
|
39
|
+
"position",
|
|
40
|
+
"source",
|
|
41
|
+
"outputVar"
|
|
42
|
+
]
|
|
43
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.node.condition",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "Conditional branching — evaluates expression, routes to different outputs",
|
|
6
|
+
"properties": {
|
|
7
|
+
"title": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "Condition"
|
|
10
|
+
},
|
|
11
|
+
"position": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"x": {
|
|
15
|
+
"type": "number"
|
|
16
|
+
},
|
|
17
|
+
"y": {
|
|
18
|
+
"type": "number"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"x",
|
|
23
|
+
"y"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"expression": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "JavaScript expression evaluated against vars — truthy = 'true' port, falsy = 'false' port",
|
|
29
|
+
"default": ""
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"required": [
|
|
33
|
+
"title",
|
|
34
|
+
"position",
|
|
35
|
+
"expression"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.node.end",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "Exit point — maps variables to scenario output",
|
|
6
|
+
"properties": {
|
|
7
|
+
"title": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "End"
|
|
10
|
+
},
|
|
11
|
+
"position": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"x": {
|
|
15
|
+
"type": "number"
|
|
16
|
+
},
|
|
17
|
+
"y": {
|
|
18
|
+
"type": "number"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"x",
|
|
23
|
+
"y"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"outputMapping": {
|
|
27
|
+
"title": "Maps output field names to variable expressions"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required": [
|
|
31
|
+
"title",
|
|
32
|
+
"position",
|
|
33
|
+
"outputMapping"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.node.http",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "HTTP request with template interpolation",
|
|
6
|
+
"properties": {
|
|
7
|
+
"title": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "HTTP"
|
|
10
|
+
},
|
|
11
|
+
"position": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"x": {
|
|
15
|
+
"type": "number"
|
|
16
|
+
},
|
|
17
|
+
"y": {
|
|
18
|
+
"type": "number"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"x",
|
|
23
|
+
"y"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"url": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "URL template — {{varName}} interpolation",
|
|
29
|
+
"default": ""
|
|
30
|
+
},
|
|
31
|
+
"method": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": [
|
|
34
|
+
"GET",
|
|
35
|
+
"POST",
|
|
36
|
+
"PUT",
|
|
37
|
+
"DELETE",
|
|
38
|
+
"PATCH"
|
|
39
|
+
],
|
|
40
|
+
"default": "GET"
|
|
41
|
+
},
|
|
42
|
+
"headers": {
|
|
43
|
+
"title": "JSON headers template"
|
|
44
|
+
},
|
|
45
|
+
"body": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"title": "Body template (for POST/PUT/PATCH)",
|
|
48
|
+
"default": ""
|
|
49
|
+
},
|
|
50
|
+
"outputVar": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"title": "Variable name to store response",
|
|
53
|
+
"default": "httpResult"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"required": [
|
|
57
|
+
"title",
|
|
58
|
+
"position",
|
|
59
|
+
"url",
|
|
60
|
+
"method",
|
|
61
|
+
"headers",
|
|
62
|
+
"body",
|
|
63
|
+
"outputVar"
|
|
64
|
+
]
|
|
65
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.node.llm",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "LLM call — prompt template with variable interpolation",
|
|
6
|
+
"properties": {
|
|
7
|
+
"title": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "LLM"
|
|
10
|
+
},
|
|
11
|
+
"position": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"x": {
|
|
15
|
+
"type": "number"
|
|
16
|
+
},
|
|
17
|
+
"y": {
|
|
18
|
+
"type": "number"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"x",
|
|
23
|
+
"y"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"model": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "LLM provider model identifier",
|
|
29
|
+
"default": ""
|
|
30
|
+
},
|
|
31
|
+
"prompt": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"title": "Prompt template — use {{varName}} for interpolation",
|
|
34
|
+
"default": ""
|
|
35
|
+
},
|
|
36
|
+
"system": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"title": "System prompt",
|
|
39
|
+
"default": ""
|
|
40
|
+
},
|
|
41
|
+
"temperature": {
|
|
42
|
+
"type": "number",
|
|
43
|
+
"title": "Sampling temperature",
|
|
44
|
+
"default": 0.7
|
|
45
|
+
},
|
|
46
|
+
"maxTokens": {
|
|
47
|
+
"type": "number",
|
|
48
|
+
"title": "Max output tokens",
|
|
49
|
+
"default": 1024
|
|
50
|
+
},
|
|
51
|
+
"outputVar": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"title": "Variable name to store the response",
|
|
54
|
+
"default": "llmResult"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"required": [
|
|
58
|
+
"title",
|
|
59
|
+
"position",
|
|
60
|
+
"model",
|
|
61
|
+
"prompt",
|
|
62
|
+
"system",
|
|
63
|
+
"temperature",
|
|
64
|
+
"maxTokens",
|
|
65
|
+
"outputVar"
|
|
66
|
+
]
|
|
67
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.node.loop",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "Loop — iterates over a collection, executes downstream nodes per item",
|
|
6
|
+
"properties": {
|
|
7
|
+
"title": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "Loop"
|
|
10
|
+
},
|
|
11
|
+
"position": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"x": {
|
|
15
|
+
"type": "number"
|
|
16
|
+
},
|
|
17
|
+
"y": {
|
|
18
|
+
"type": "number"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"x",
|
|
23
|
+
"y"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"collection": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "Expression that evaluates to an array (e.g. variable name or JS expression)",
|
|
29
|
+
"default": ""
|
|
30
|
+
},
|
|
31
|
+
"itemVar": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"title": "Variable name for current item",
|
|
34
|
+
"default": "item"
|
|
35
|
+
},
|
|
36
|
+
"indexVar": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"title": "Variable name for current index",
|
|
39
|
+
"default": "index"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"required": [
|
|
43
|
+
"title",
|
|
44
|
+
"position",
|
|
45
|
+
"collection",
|
|
46
|
+
"itemVar",
|
|
47
|
+
"indexVar"
|
|
48
|
+
]
|
|
49
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.node.start",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "Entry point — defines input variables for the scenario",
|
|
6
|
+
"properties": {
|
|
7
|
+
"title": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "Start"
|
|
10
|
+
},
|
|
11
|
+
"position": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"x": {
|
|
15
|
+
"type": "number"
|
|
16
|
+
},
|
|
17
|
+
"y": {
|
|
18
|
+
"type": "number"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"x",
|
|
23
|
+
"y"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"outputs": {
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"title": "Output variable names (populated from scenario input)"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"required": [
|
|
35
|
+
"title",
|
|
36
|
+
"position",
|
|
37
|
+
"outputs"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "flow.scenario",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"title": "Visual workflow scenario — contains edges, variables, execution state",
|
|
6
|
+
"properties": {
|
|
7
|
+
"edges": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"source": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"target": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"sourcePort": {
|
|
19
|
+
"anyOf": [
|
|
20
|
+
{},
|
|
21
|
+
{
|
|
22
|
+
"type": "string"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"targetPort": {
|
|
27
|
+
"anyOf": [
|
|
28
|
+
{},
|
|
29
|
+
{
|
|
30
|
+
"type": "string"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"required": [
|
|
36
|
+
"source",
|
|
37
|
+
"target"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"title": "Connections between child nodes"
|
|
41
|
+
},
|
|
42
|
+
"variables": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"items": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"properties": {
|
|
47
|
+
"name": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
},
|
|
50
|
+
"type": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"enum": [
|
|
53
|
+
"string",
|
|
54
|
+
"number",
|
|
55
|
+
"boolean",
|
|
56
|
+
"object",
|
|
57
|
+
"array"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"default": {}
|
|
61
|
+
},
|
|
62
|
+
"required": [
|
|
63
|
+
"name",
|
|
64
|
+
"type"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"title": "Scenario-level variables with types"
|
|
68
|
+
},
|
|
69
|
+
"status": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"enum": [
|
|
72
|
+
"idle",
|
|
73
|
+
"error",
|
|
74
|
+
"running",
|
|
75
|
+
"completed"
|
|
76
|
+
],
|
|
77
|
+
"title": "Execution status",
|
|
78
|
+
"default": "idle"
|
|
79
|
+
},
|
|
80
|
+
"result": {
|
|
81
|
+
"title": "Last execution result"
|
|
82
|
+
},
|
|
83
|
+
"lastRun": {
|
|
84
|
+
"type": "number",
|
|
85
|
+
"title": "Last run timestamp",
|
|
86
|
+
"default": 0
|
|
87
|
+
},
|
|
88
|
+
"log": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "string"
|
|
92
|
+
},
|
|
93
|
+
"title": "Execution log (last N events)"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"required": [
|
|
97
|
+
"edges",
|
|
98
|
+
"variables",
|
|
99
|
+
"status",
|
|
100
|
+
"result",
|
|
101
|
+
"lastRun",
|
|
102
|
+
"log"
|
|
103
|
+
],
|
|
104
|
+
"methods": {
|
|
105
|
+
"run": {
|
|
106
|
+
"arguments": [
|
|
107
|
+
{
|
|
108
|
+
"name": "data"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"description": "Run a flow scenario — executes all nodes, writes result + log to scenario node"
|
|
112
|
+
},
|
|
113
|
+
"validate": {
|
|
114
|
+
"arguments": [],
|
|
115
|
+
"description": "Validate scenario graph — check for cycles, missing handlers, disconnected nodes"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|