nodal-agents 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/cli.js +314 -99
- package/migrations/0020_agent_workspaces.sql +60 -0
- package/migrations/meta/0009_snapshot.json +4454 -4454
- package/migrations/meta/0010_snapshot.json +4460 -4460
- package/migrations/meta/_journal.json +153 -146
- package/package.json +7 -3
- package/runner.js +2998 -59214
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +4 -4
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/agents/[id]/edit/page.js +3 -2
- package/web/.next/server/app/(dashboard)/agents/[id]/edit/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/agents/[id]/edit/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/page.js +2 -2
- package/web/.next/server/app/(dashboard)/agents/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/agents/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/approvals/page.js +2 -2
- package/web/.next/server/app/(dashboard)/approvals/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/approvals/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/automations/page.js +2 -2
- package/web/.next/server/app/(dashboard)/automations/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/automations/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/billing/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/connectors/page.js +2 -2
- package/web/.next/server/app/(dashboard)/connectors/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/connectors/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/credentials/page.js +1 -1
- package/web/.next/server/app/(dashboard)/credentials/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/credentials/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/jobs/[id]/page.js +2 -2
- package/web/.next/server/app/(dashboard)/jobs/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/jobs/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/jobs/page.js +2 -2
- package/web/.next/server/app/(dashboard)/jobs/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/jobs/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/llm-providers/page.js +2 -2
- package/web/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/logs/page.js +2 -2
- package/web/.next/server/app/(dashboard)/logs/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/logs/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/mcp/page.js +1 -1
- package/web/.next/server/app/(dashboard)/mcp/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/mcp/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/memories/page.js +2 -2
- package/web/.next/server/app/(dashboard)/memories/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/memories/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page.js +2 -2
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/settings/page.js +2 -2
- package/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/[id]/edit/page.js +2 -2
- package/web/.next/server/app/(dashboard)/skills/[id]/edit/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/skills/[id]/edit/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/new/page.js +1299 -101
- package/web/.next/server/app/(dashboard)/skills/new/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/page.js +2 -2
- package/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/server/app/_not-found.rsc +2 -2
- package/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/onboarding.html +1 -1
- package/web/.next/server/app/onboarding.rsc +2 -2
- package/web/.next/server/app/onboarding.segments/_full.segment.rsc +2 -2
- package/web/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/onboarding.segments/_index.segment.rsc +2 -2
- package/web/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/web/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
- package/web/.next/server/app-paths-manifest.json +4 -4
- package/web/.next/server/chunks/{9327.js → 2456.js} +1 -1
- package/web/.next/server/chunks/4574.js +1 -1
- package/web/.next/server/chunks/5786.js +1223 -0
- package/web/.next/server/chunks/5832.js +1 -0
- package/web/.next/server/chunks/6263.js +1 -0
- package/web/.next/server/chunks/9682.js +1 -0
- package/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/server/pages/404.html +1 -1
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/static/chunks/3141-f595f19634be6813.js +1 -0
- package/web/.next/static/chunks/{6118-c6a8b66d0a3e446c.js → 4239-99af3d7559fd9ec1.js} +1 -1
- package/web/.next/static/chunks/app/(dashboard)/agents/[id]/edit/page-f6f39ebe8d6fb019.js +2 -0
- package/web/.next/static/chunks/app/(dashboard)/agents/page-d2e35b0af87cdc0b.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/connectors/page-6ccde8b8b9197d2f.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/credentials/page-679ca09e4625b70f.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/mcp/page-ad271be896b650a9.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/memories/page-0eed8d3610720c33.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/skills/page-472bb16429cd2798.js +1 -0
- package/web/.next/static/css/845089bde6c9e6fb.css +3 -0
- package/web/.next/server/chunks/5616.js +0 -25
- package/web/.next/server/chunks/6595.js +0 -1
- package/web/.next/server/chunks/9323.js +0 -1
- package/web/.next/static/chunks/3422-9078c04bb8df8ce5.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/agents/[id]/edit/page-faaf5d7084db1fbc.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/agents/page-9f2c2130d2f4de95.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/connectors/page-cd7ee7dd1458ae47.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/credentials/page-73d252ca88f194f1.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/mcp/page-1b2bf2315b3b213e.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/memories/page-1e537215e80cb0c3.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/skills/page-a6736503d29a2f1c.js +0 -1
- package/web/.next/static/css/a161c147ca3606b3.css +0 -3
- /package/web/.next/static/{be4PVOMd_EIWn1rY3m-Q2 → RdognT8Zq7jK6wHyNY5k3}/_buildManifest.js +0 -0
- /package/web/.next/static/{be4PVOMd_EIWn1rY3m-Q2 → RdognT8Zq7jK6wHyNY5k3}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
-- 0020_agent_workspaces.sql
|
|
2
|
+
-- Volet 5 (multi-workspace per agent, 2026-05-28):
|
|
3
|
+
-- 1. CREATE TABLE agent_workspaces
|
|
4
|
+
-- 2. Data-migrate existing agents.workspace_root_path into rows
|
|
5
|
+
-- 3. DROP COLUMN agents.workspace_root_path
|
|
6
|
+
--
|
|
7
|
+
-- All three steps are idempotent (IF NOT EXISTS / IF EXISTS guards) so a
|
|
8
|
+
-- runner that re-applies migrations at boot does not error on a clean DB.
|
|
9
|
+
|
|
10
|
+
-- ─── 1. Create the new table ─────────────────────────────────────────────────
|
|
11
|
+
|
|
12
|
+
CREATE TABLE IF NOT EXISTS agent_workspaces (
|
|
13
|
+
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
14
|
+
agent_id uuid NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
|
|
15
|
+
entity_id uuid REFERENCES entities(id) ON DELETE CASCADE,
|
|
16
|
+
label text NOT NULL,
|
|
17
|
+
path text NOT NULL,
|
|
18
|
+
position integer NOT NULL DEFAULT 0,
|
|
19
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
20
|
+
updated_at timestamptz NOT NULL DEFAULT now()
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
CREATE UNIQUE INDEX IF NOT EXISTS agent_workspaces_agent_label_unique
|
|
24
|
+
ON agent_workspaces (agent_id, label);
|
|
25
|
+
|
|
26
|
+
CREATE INDEX IF NOT EXISTS idx_agent_workspaces_agent_id
|
|
27
|
+
ON agent_workspaces (agent_id);
|
|
28
|
+
|
|
29
|
+
-- ─── 2. Data-migrate existing workspace_root_path values ──────────────────────
|
|
30
|
+
-- Each migrated agent had exactly one root, so we label it 'workspace'. With a
|
|
31
|
+
-- single workspace the label is optional for path resolution anyway; the user
|
|
32
|
+
-- can remove + re-add with a custom label later. Skips NULL/empty roots.
|
|
33
|
+
-- The IF-column-exists guard makes the block a no-op if re-applied after the
|
|
34
|
+
-- column was already dropped.
|
|
35
|
+
|
|
36
|
+
DO $$
|
|
37
|
+
BEGIN
|
|
38
|
+
IF EXISTS (
|
|
39
|
+
SELECT 1 FROM information_schema.columns
|
|
40
|
+
WHERE table_name = 'agents' AND column_name = 'workspace_root_path'
|
|
41
|
+
) THEN
|
|
42
|
+
INSERT INTO agent_workspaces (id, agent_id, entity_id, label, path, position)
|
|
43
|
+
SELECT
|
|
44
|
+
gen_random_uuid(),
|
|
45
|
+
id,
|
|
46
|
+
entity_id,
|
|
47
|
+
'workspace',
|
|
48
|
+
workspace_root_path,
|
|
49
|
+
0
|
|
50
|
+
FROM agents
|
|
51
|
+
WHERE workspace_root_path IS NOT NULL
|
|
52
|
+
AND workspace_root_path <> ''
|
|
53
|
+
ON CONFLICT (agent_id, label) DO NOTHING;
|
|
54
|
+
END IF;
|
|
55
|
+
END;
|
|
56
|
+
$$;
|
|
57
|
+
|
|
58
|
+
-- ─── 3. Drop the old column ───────────────────────────────────────────────────
|
|
59
|
+
|
|
60
|
+
ALTER TABLE agents DROP COLUMN IF EXISTS workspace_root_path;
|