From 9ae74769e0e3f2221cea52787e4636a2e3238234 Mon Sep 17 00:00:00 2001 From: Jack Zhuang Date: Sun, 21 Jun 2026 23:56:06 +0800 Subject: [PATCH 1/5] feat(service-ai)!: rename data agent data_chat -> ask (Path A) with alias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The platform data agent's identifier is renamed so the friendly console URL equals the real name (/ai/ask). Back-compat is preserved: - DEFAULT_DATA_AGENT_NAME = 'ask' (was 'data_chat'); LEGACY_DATA_AGENT_NAME kept for migrations/diagnostics. - New process-wide alias registry (agent-aliases.ts): seeds data_chat->ask; AgentRuntime.loadAgent normalizes a requested name through it, so /agents/data_chat/chat and persisted agent_id='data_chat' keep resolving. Exposes registerAgentAlias() so other packages register their OWN renames (cloud AI Studio: metadata_assistant->build) — keeping the two renames decoupled and independently safe; no alias points at an unregistered id. - Aliases are resolution-only (not records), so GET /ai/agents still lists each agent once. On upgrade, the plugin prunes the stale 'data_chat' registry entry so the catalog isn't doubled. Unit-tested: alias table + loadAgent legacy resolution (5 cases). The objectui console already resolves both legacy and renamed catalogs (its agentAliases layer is verified live), so no client change is required. BREAKING CHANGE: the built-in data agent's canonical name is now 'ask'. The legacy 'data_chat' name remains accepted via the alias table. Co-Authored-By: Claude Opus 4.8 --- apps/account/node_modules | 1 + apps/docs/node_modules | 1 + examples/app-crm/node_modules | 1 + examples/app-showcase/node_modules | 1 + examples/app-todo/node_modules | 1 + node_modules | 1 + packages/adapters/express/node_modules | 1 + packages/adapters/fastify/node_modules | 1 + packages/adapters/hono/node_modules | 1 + packages/adapters/nestjs/node_modules | 1 + packages/adapters/nextjs/node_modules | 1 + packages/adapters/nuxt/node_modules | 1 + packages/adapters/sveltekit/node_modules | 1 + packages/apps/account/node_modules | 1 + packages/apps/setup/node_modules | 1 + packages/apps/studio/node_modules | 1 + packages/cli/node_modules | 1 + packages/client-react/node_modules | 1 + packages/client/node_modules | 1 + packages/cloud-connection/node_modules | 1 + .../connectors/connector-mcp/node_modules | 1 + .../connectors/connector-openapi/node_modules | 1 + .../connectors/connector-rest/node_modules | 1 + .../connectors/connector-slack/node_modules | 1 + packages/core/node_modules | 1 + packages/create-objectstack/node_modules | 1 + packages/dogfood/node_modules | 1 + packages/downstream-contract/node_modules | 1 + packages/formula/node_modules | 1 + packages/mcp/node_modules | 1 + packages/metadata-core/node_modules | 1 + packages/metadata-fs/node_modules | 1 + packages/metadata/node_modules | 1 + packages/objectql/node_modules | 1 + packages/observability/node_modules | 1 + packages/platform-objects/node_modules | 1 + packages/plugins/driver-memory/node_modules | 1 + packages/plugins/driver-mongodb/node_modules | 1 + packages/plugins/driver-sql/node_modules | 1 + .../plugins/driver-sqlite-wasm/node_modules | 1 + packages/plugins/embedder-openai/node_modules | 1 + .../plugins/knowledge-memory/node_modules | 1 + .../plugins/knowledge-ragflow/node_modules | 1 + .../plugins/plugin-approvals/node_modules | 1 + packages/plugins/plugin-audit/node_modules | 1 + packages/plugins/plugin-auth/node_modules | 1 + packages/plugins/plugin-dev/node_modules | 1 + packages/plugins/plugin-email/node_modules | 1 + .../plugins/plugin-hono-server/node_modules | 1 + .../plugins/plugin-mcp-server/node_modules | 1 + packages/plugins/plugin-msw/node_modules | 1 + .../plugins/plugin-org-scoping/node_modules | 1 + packages/plugins/plugin-reports/node_modules | 1 + packages/plugins/plugin-security/node_modules | 1 + packages/plugins/plugin-sharing/node_modules | 1 + .../plugin-trigger-record-change/node_modules | 1 + .../plugin-trigger-schedule/node_modules | 1 + packages/plugins/plugin-webhooks/node_modules | 1 + packages/rest/node_modules | 1 + packages/runtime/node_modules | 1 + packages/services/service-ai/node_modules | 1 + .../src/__tests__/agent-aliases.test.ts | 70 +++++++++++++++++++ .../services/service-ai/src/agent-runtime.ts | 6 +- .../service-ai/src/agents/agent-aliases.ts | 48 +++++++++++++ .../service-ai/src/agents/data-chat-agent.ts | 12 +++- .../services/service-ai/src/agents/index.ts | 8 ++- packages/services/service-ai/src/index.ts | 5 +- packages/services/service-ai/src/plugin.ts | 16 ++++- .../services/service-analytics/node_modules | 1 + .../services/service-automation/node_modules | 1 + packages/services/service-cache/node_modules | 1 + .../service-cluster-redis/node_modules | 1 + .../services/service-cluster/node_modules | 1 + .../services/service-datasource/node_modules | 1 + packages/services/service-feed/node_modules | 1 + packages/services/service-i18n/node_modules | 1 + packages/services/service-job/node_modules | 1 + .../services/service-knowledge/node_modules | 1 + .../services/service-messaging/node_modules | 1 + .../services/service-package/node_modules | 1 + packages/services/service-queue/node_modules | 1 + .../services/service-realtime/node_modules | 1 + .../services/service-settings/node_modules | 1 + .../services/service-storage/node_modules | 1 + packages/spec/node_modules | 1 + packages/triggers/trigger-api/node_modules | 1 + .../trigger-record-change/node_modules | 1 + .../triggers/trigger-schedule/node_modules | 1 + packages/types/node_modules | 1 + packages/verify/node_modules | 1 + packages/vscode-objectstack/node_modules | 1 + 91 files changed, 240 insertions(+), 9 deletions(-) create mode 120000 apps/account/node_modules create mode 120000 apps/docs/node_modules create mode 120000 examples/app-crm/node_modules create mode 120000 examples/app-showcase/node_modules create mode 120000 examples/app-todo/node_modules create mode 120000 node_modules create mode 120000 packages/adapters/express/node_modules create mode 120000 packages/adapters/fastify/node_modules create mode 120000 packages/adapters/hono/node_modules create mode 120000 packages/adapters/nestjs/node_modules create mode 120000 packages/adapters/nextjs/node_modules create mode 120000 packages/adapters/nuxt/node_modules create mode 120000 packages/adapters/sveltekit/node_modules create mode 120000 packages/apps/account/node_modules create mode 120000 packages/apps/setup/node_modules create mode 120000 packages/apps/studio/node_modules create mode 120000 packages/cli/node_modules create mode 120000 packages/client-react/node_modules create mode 120000 packages/client/node_modules create mode 120000 packages/cloud-connection/node_modules create mode 120000 packages/connectors/connector-mcp/node_modules create mode 120000 packages/connectors/connector-openapi/node_modules create mode 120000 packages/connectors/connector-rest/node_modules create mode 120000 packages/connectors/connector-slack/node_modules create mode 120000 packages/core/node_modules create mode 120000 packages/create-objectstack/node_modules create mode 120000 packages/dogfood/node_modules create mode 120000 packages/downstream-contract/node_modules create mode 120000 packages/formula/node_modules create mode 120000 packages/mcp/node_modules create mode 120000 packages/metadata-core/node_modules create mode 120000 packages/metadata-fs/node_modules create mode 120000 packages/metadata/node_modules create mode 120000 packages/objectql/node_modules create mode 120000 packages/observability/node_modules create mode 120000 packages/platform-objects/node_modules create mode 120000 packages/plugins/driver-memory/node_modules create mode 120000 packages/plugins/driver-mongodb/node_modules create mode 120000 packages/plugins/driver-sql/node_modules create mode 120000 packages/plugins/driver-sqlite-wasm/node_modules create mode 120000 packages/plugins/embedder-openai/node_modules create mode 120000 packages/plugins/knowledge-memory/node_modules create mode 120000 packages/plugins/knowledge-ragflow/node_modules create mode 120000 packages/plugins/plugin-approvals/node_modules create mode 120000 packages/plugins/plugin-audit/node_modules create mode 120000 packages/plugins/plugin-auth/node_modules create mode 120000 packages/plugins/plugin-dev/node_modules create mode 120000 packages/plugins/plugin-email/node_modules create mode 120000 packages/plugins/plugin-hono-server/node_modules create mode 120000 packages/plugins/plugin-mcp-server/node_modules create mode 120000 packages/plugins/plugin-msw/node_modules create mode 120000 packages/plugins/plugin-org-scoping/node_modules create mode 120000 packages/plugins/plugin-reports/node_modules create mode 120000 packages/plugins/plugin-security/node_modules create mode 120000 packages/plugins/plugin-sharing/node_modules create mode 120000 packages/plugins/plugin-trigger-record-change/node_modules create mode 120000 packages/plugins/plugin-trigger-schedule/node_modules create mode 120000 packages/plugins/plugin-webhooks/node_modules create mode 120000 packages/rest/node_modules create mode 120000 packages/runtime/node_modules create mode 120000 packages/services/service-ai/node_modules create mode 100644 packages/services/service-ai/src/__tests__/agent-aliases.test.ts create mode 100644 packages/services/service-ai/src/agents/agent-aliases.ts create mode 120000 packages/services/service-analytics/node_modules create mode 120000 packages/services/service-automation/node_modules create mode 120000 packages/services/service-cache/node_modules create mode 120000 packages/services/service-cluster-redis/node_modules create mode 120000 packages/services/service-cluster/node_modules create mode 120000 packages/services/service-datasource/node_modules create mode 120000 packages/services/service-feed/node_modules create mode 120000 packages/services/service-i18n/node_modules create mode 120000 packages/services/service-job/node_modules create mode 120000 packages/services/service-knowledge/node_modules create mode 120000 packages/services/service-messaging/node_modules create mode 120000 packages/services/service-package/node_modules create mode 120000 packages/services/service-queue/node_modules create mode 120000 packages/services/service-realtime/node_modules create mode 120000 packages/services/service-settings/node_modules create mode 120000 packages/services/service-storage/node_modules create mode 120000 packages/spec/node_modules create mode 120000 packages/triggers/trigger-api/node_modules create mode 120000 packages/triggers/trigger-record-change/node_modules create mode 120000 packages/triggers/trigger-schedule/node_modules create mode 120000 packages/types/node_modules create mode 120000 packages/verify/node_modules create mode 120000 packages/vscode-objectstack/node_modules diff --git a/apps/account/node_modules b/apps/account/node_modules new file mode 120000 index 0000000000..f7baee9700 --- /dev/null +++ b/apps/account/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/apps/account/node_modules \ No newline at end of file diff --git a/apps/docs/node_modules b/apps/docs/node_modules new file mode 120000 index 0000000000..e49ea2d7d8 --- /dev/null +++ b/apps/docs/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/apps/docs/node_modules \ No newline at end of file diff --git a/examples/app-crm/node_modules b/examples/app-crm/node_modules new file mode 120000 index 0000000000..fafe21ec92 --- /dev/null +++ b/examples/app-crm/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/examples/app-crm/node_modules \ No newline at end of file diff --git a/examples/app-showcase/node_modules b/examples/app-showcase/node_modules new file mode 120000 index 0000000000..4c92c111d3 --- /dev/null +++ b/examples/app-showcase/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/examples/app-showcase/node_modules \ No newline at end of file diff --git a/examples/app-todo/node_modules b/examples/app-todo/node_modules new file mode 120000 index 0000000000..cf186d01a7 --- /dev/null +++ b/examples/app-todo/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/examples/app-todo/node_modules \ No newline at end of file diff --git a/node_modules b/node_modules new file mode 120000 index 0000000000..11e1b8201f --- /dev/null +++ b/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/node_modules \ No newline at end of file diff --git a/packages/adapters/express/node_modules b/packages/adapters/express/node_modules new file mode 120000 index 0000000000..11447d908e --- /dev/null +++ b/packages/adapters/express/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/express/node_modules \ No newline at end of file diff --git a/packages/adapters/fastify/node_modules b/packages/adapters/fastify/node_modules new file mode 120000 index 0000000000..accad7d613 --- /dev/null +++ b/packages/adapters/fastify/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/fastify/node_modules \ No newline at end of file diff --git a/packages/adapters/hono/node_modules b/packages/adapters/hono/node_modules new file mode 120000 index 0000000000..d0c3f64d87 --- /dev/null +++ b/packages/adapters/hono/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/hono/node_modules \ No newline at end of file diff --git a/packages/adapters/nestjs/node_modules b/packages/adapters/nestjs/node_modules new file mode 120000 index 0000000000..63a9170cdf --- /dev/null +++ b/packages/adapters/nestjs/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/nestjs/node_modules \ No newline at end of file diff --git a/packages/adapters/nextjs/node_modules b/packages/adapters/nextjs/node_modules new file mode 120000 index 0000000000..20496ea8c2 --- /dev/null +++ b/packages/adapters/nextjs/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/nextjs/node_modules \ No newline at end of file diff --git a/packages/adapters/nuxt/node_modules b/packages/adapters/nuxt/node_modules new file mode 120000 index 0000000000..72a5b21a0a --- /dev/null +++ b/packages/adapters/nuxt/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/nuxt/node_modules \ No newline at end of file diff --git a/packages/adapters/sveltekit/node_modules b/packages/adapters/sveltekit/node_modules new file mode 120000 index 0000000000..0095c43dce --- /dev/null +++ b/packages/adapters/sveltekit/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/sveltekit/node_modules \ No newline at end of file diff --git a/packages/apps/account/node_modules b/packages/apps/account/node_modules new file mode 120000 index 0000000000..d91e52cd15 --- /dev/null +++ b/packages/apps/account/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/apps/account/node_modules \ No newline at end of file diff --git a/packages/apps/setup/node_modules b/packages/apps/setup/node_modules new file mode 120000 index 0000000000..4c08356531 --- /dev/null +++ b/packages/apps/setup/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/apps/setup/node_modules \ No newline at end of file diff --git a/packages/apps/studio/node_modules b/packages/apps/studio/node_modules new file mode 120000 index 0000000000..79483ac454 --- /dev/null +++ b/packages/apps/studio/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/apps/studio/node_modules \ No newline at end of file diff --git a/packages/cli/node_modules b/packages/cli/node_modules new file mode 120000 index 0000000000..58325f86bc --- /dev/null +++ b/packages/cli/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/cli/node_modules \ No newline at end of file diff --git a/packages/client-react/node_modules b/packages/client-react/node_modules new file mode 120000 index 0000000000..45326d8e9c --- /dev/null +++ b/packages/client-react/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/client-react/node_modules \ No newline at end of file diff --git a/packages/client/node_modules b/packages/client/node_modules new file mode 120000 index 0000000000..dd2d4c47ec --- /dev/null +++ b/packages/client/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/client/node_modules \ No newline at end of file diff --git a/packages/cloud-connection/node_modules b/packages/cloud-connection/node_modules new file mode 120000 index 0000000000..538197524d --- /dev/null +++ b/packages/cloud-connection/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/cloud-connection/node_modules \ No newline at end of file diff --git a/packages/connectors/connector-mcp/node_modules b/packages/connectors/connector-mcp/node_modules new file mode 120000 index 0000000000..2ab8b79aa9 --- /dev/null +++ b/packages/connectors/connector-mcp/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/connectors/connector-mcp/node_modules \ No newline at end of file diff --git a/packages/connectors/connector-openapi/node_modules b/packages/connectors/connector-openapi/node_modules new file mode 120000 index 0000000000..cd3e51763d --- /dev/null +++ b/packages/connectors/connector-openapi/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/connectors/connector-openapi/node_modules \ No newline at end of file diff --git a/packages/connectors/connector-rest/node_modules b/packages/connectors/connector-rest/node_modules new file mode 120000 index 0000000000..1c7d8b844d --- /dev/null +++ b/packages/connectors/connector-rest/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/connectors/connector-rest/node_modules \ No newline at end of file diff --git a/packages/connectors/connector-slack/node_modules b/packages/connectors/connector-slack/node_modules new file mode 120000 index 0000000000..2852bbf294 --- /dev/null +++ b/packages/connectors/connector-slack/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/connectors/connector-slack/node_modules \ No newline at end of file diff --git a/packages/core/node_modules b/packages/core/node_modules new file mode 120000 index 0000000000..4cc738fc64 --- /dev/null +++ b/packages/core/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/core/node_modules \ No newline at end of file diff --git a/packages/create-objectstack/node_modules b/packages/create-objectstack/node_modules new file mode 120000 index 0000000000..355dfdc090 --- /dev/null +++ b/packages/create-objectstack/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/create-objectstack/node_modules \ No newline at end of file diff --git a/packages/dogfood/node_modules b/packages/dogfood/node_modules new file mode 120000 index 0000000000..dd7f0ac7f5 --- /dev/null +++ b/packages/dogfood/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/dogfood/node_modules \ No newline at end of file diff --git a/packages/downstream-contract/node_modules b/packages/downstream-contract/node_modules new file mode 120000 index 0000000000..0c3f64e8c4 --- /dev/null +++ b/packages/downstream-contract/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/downstream-contract/node_modules \ No newline at end of file diff --git a/packages/formula/node_modules b/packages/formula/node_modules new file mode 120000 index 0000000000..c9079b2b81 --- /dev/null +++ b/packages/formula/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/formula/node_modules \ No newline at end of file diff --git a/packages/mcp/node_modules b/packages/mcp/node_modules new file mode 120000 index 0000000000..b8acb7e496 --- /dev/null +++ b/packages/mcp/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/mcp/node_modules \ No newline at end of file diff --git a/packages/metadata-core/node_modules b/packages/metadata-core/node_modules new file mode 120000 index 0000000000..5f45530970 --- /dev/null +++ b/packages/metadata-core/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/metadata-core/node_modules \ No newline at end of file diff --git a/packages/metadata-fs/node_modules b/packages/metadata-fs/node_modules new file mode 120000 index 0000000000..e726b3bb56 --- /dev/null +++ b/packages/metadata-fs/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/metadata-fs/node_modules \ No newline at end of file diff --git a/packages/metadata/node_modules b/packages/metadata/node_modules new file mode 120000 index 0000000000..348af7674b --- /dev/null +++ b/packages/metadata/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/metadata/node_modules \ No newline at end of file diff --git a/packages/objectql/node_modules b/packages/objectql/node_modules new file mode 120000 index 0000000000..b404b2ca54 --- /dev/null +++ b/packages/objectql/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/objectql/node_modules \ No newline at end of file diff --git a/packages/observability/node_modules b/packages/observability/node_modules new file mode 120000 index 0000000000..2d06cd3beb --- /dev/null +++ b/packages/observability/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/observability/node_modules \ No newline at end of file diff --git a/packages/platform-objects/node_modules b/packages/platform-objects/node_modules new file mode 120000 index 0000000000..957cc7f49c --- /dev/null +++ b/packages/platform-objects/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/platform-objects/node_modules \ No newline at end of file diff --git a/packages/plugins/driver-memory/node_modules b/packages/plugins/driver-memory/node_modules new file mode 120000 index 0000000000..613682adaa --- /dev/null +++ b/packages/plugins/driver-memory/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/driver-memory/node_modules \ No newline at end of file diff --git a/packages/plugins/driver-mongodb/node_modules b/packages/plugins/driver-mongodb/node_modules new file mode 120000 index 0000000000..ad2820b18f --- /dev/null +++ b/packages/plugins/driver-mongodb/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/driver-mongodb/node_modules \ No newline at end of file diff --git a/packages/plugins/driver-sql/node_modules b/packages/plugins/driver-sql/node_modules new file mode 120000 index 0000000000..6a945f40b2 --- /dev/null +++ b/packages/plugins/driver-sql/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/driver-sql/node_modules \ No newline at end of file diff --git a/packages/plugins/driver-sqlite-wasm/node_modules b/packages/plugins/driver-sqlite-wasm/node_modules new file mode 120000 index 0000000000..3f19df7905 --- /dev/null +++ b/packages/plugins/driver-sqlite-wasm/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/driver-sqlite-wasm/node_modules \ No newline at end of file diff --git a/packages/plugins/embedder-openai/node_modules b/packages/plugins/embedder-openai/node_modules new file mode 120000 index 0000000000..507a02dcb0 --- /dev/null +++ b/packages/plugins/embedder-openai/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/embedder-openai/node_modules \ No newline at end of file diff --git a/packages/plugins/knowledge-memory/node_modules b/packages/plugins/knowledge-memory/node_modules new file mode 120000 index 0000000000..516d5140ab --- /dev/null +++ b/packages/plugins/knowledge-memory/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/knowledge-memory/node_modules \ No newline at end of file diff --git a/packages/plugins/knowledge-ragflow/node_modules b/packages/plugins/knowledge-ragflow/node_modules new file mode 120000 index 0000000000..d6077d041f --- /dev/null +++ b/packages/plugins/knowledge-ragflow/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/knowledge-ragflow/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-approvals/node_modules b/packages/plugins/plugin-approvals/node_modules new file mode 120000 index 0000000000..ef9ab430da --- /dev/null +++ b/packages/plugins/plugin-approvals/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-approvals/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-audit/node_modules b/packages/plugins/plugin-audit/node_modules new file mode 120000 index 0000000000..82a7f03c6e --- /dev/null +++ b/packages/plugins/plugin-audit/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-audit/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-auth/node_modules b/packages/plugins/plugin-auth/node_modules new file mode 120000 index 0000000000..36743a1c1f --- /dev/null +++ b/packages/plugins/plugin-auth/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-auth/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-dev/node_modules b/packages/plugins/plugin-dev/node_modules new file mode 120000 index 0000000000..62bd1c66bb --- /dev/null +++ b/packages/plugins/plugin-dev/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-dev/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-email/node_modules b/packages/plugins/plugin-email/node_modules new file mode 120000 index 0000000000..32cdfa31d6 --- /dev/null +++ b/packages/plugins/plugin-email/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-email/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-hono-server/node_modules b/packages/plugins/plugin-hono-server/node_modules new file mode 120000 index 0000000000..eb8400bf37 --- /dev/null +++ b/packages/plugins/plugin-hono-server/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-hono-server/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-mcp-server/node_modules b/packages/plugins/plugin-mcp-server/node_modules new file mode 120000 index 0000000000..b3c7bc43a6 --- /dev/null +++ b/packages/plugins/plugin-mcp-server/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-mcp-server/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-msw/node_modules b/packages/plugins/plugin-msw/node_modules new file mode 120000 index 0000000000..34a49d5e09 --- /dev/null +++ b/packages/plugins/plugin-msw/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-msw/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-org-scoping/node_modules b/packages/plugins/plugin-org-scoping/node_modules new file mode 120000 index 0000000000..667741ce62 --- /dev/null +++ b/packages/plugins/plugin-org-scoping/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-org-scoping/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-reports/node_modules b/packages/plugins/plugin-reports/node_modules new file mode 120000 index 0000000000..e9c4286e20 --- /dev/null +++ b/packages/plugins/plugin-reports/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-reports/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-security/node_modules b/packages/plugins/plugin-security/node_modules new file mode 120000 index 0000000000..98b60041d3 --- /dev/null +++ b/packages/plugins/plugin-security/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-security/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-sharing/node_modules b/packages/plugins/plugin-sharing/node_modules new file mode 120000 index 0000000000..ffa82dd5b0 --- /dev/null +++ b/packages/plugins/plugin-sharing/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-sharing/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-trigger-record-change/node_modules b/packages/plugins/plugin-trigger-record-change/node_modules new file mode 120000 index 0000000000..da0fa5608e --- /dev/null +++ b/packages/plugins/plugin-trigger-record-change/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-trigger-record-change/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-trigger-schedule/node_modules b/packages/plugins/plugin-trigger-schedule/node_modules new file mode 120000 index 0000000000..11bfc5acc0 --- /dev/null +++ b/packages/plugins/plugin-trigger-schedule/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-trigger-schedule/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-webhooks/node_modules b/packages/plugins/plugin-webhooks/node_modules new file mode 120000 index 0000000000..2654fa3682 --- /dev/null +++ b/packages/plugins/plugin-webhooks/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-webhooks/node_modules \ No newline at end of file diff --git a/packages/rest/node_modules b/packages/rest/node_modules new file mode 120000 index 0000000000..983f7bee34 --- /dev/null +++ b/packages/rest/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/rest/node_modules \ No newline at end of file diff --git a/packages/runtime/node_modules b/packages/runtime/node_modules new file mode 120000 index 0000000000..ed3403e5c2 --- /dev/null +++ b/packages/runtime/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/runtime/node_modules \ No newline at end of file diff --git a/packages/services/service-ai/node_modules b/packages/services/service-ai/node_modules new file mode 120000 index 0000000000..ac14c4a357 --- /dev/null +++ b/packages/services/service-ai/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-ai/node_modules \ No newline at end of file diff --git a/packages/services/service-ai/src/__tests__/agent-aliases.test.ts b/packages/services/service-ai/src/__tests__/agent-aliases.test.ts new file mode 100644 index 0000000000..c702bc0d35 --- /dev/null +++ b/packages/services/service-ai/src/__tests__/agent-aliases.test.ts @@ -0,0 +1,70 @@ +// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * Back-compat for the Path A agent rename (`data_chat`→`ask`, and cloud's + * `metadata_assistant`→`build` registered via the public registry). Verifies + * the alias table and that AgentRuntime.loadAgent normalizes a legacy name to + * its canonical record so old `/agents/:name/chat` links keep resolving. + */ +import { describe, it, expect, vi } from 'vitest'; +import type { IMetadataService } from '@objectstack/spec/contracts'; +import { AgentRuntime } from '../agent-runtime.js'; +import { DATA_CHAT_AGENT, DEFAULT_DATA_AGENT_NAME, LEGACY_DATA_AGENT_NAME } from '../agents/index.js'; +import { registerAgentAlias, resolveAgentAlias } from '../agents/agent-aliases.js'; + +function mockMetadata(overrides: Partial = {}): IMetadataService { + return { + register: vi.fn(async () => {}), + get: vi.fn(async () => undefined), + list: vi.fn(async () => []), + unregister: vi.fn(async () => {}), + exists: vi.fn(async () => false), + listNames: vi.fn(async () => []), + getObject: vi.fn(async () => undefined), + listObjects: vi.fn(async () => []), + ...overrides, + } as unknown as IMetadataService; +} + +describe('agent-aliases', () => { + it('seeds the framework data-agent rename', () => { + expect(DEFAULT_DATA_AGENT_NAME).toBe('ask'); + expect(LEGACY_DATA_AGENT_NAME).toBe('data_chat'); + expect(resolveAgentAlias('data_chat')).toBe('ask'); + }); + + it('passes unknown / canonical names through unchanged', () => { + expect(resolveAgentAlias('ask')).toBe('ask'); + expect(resolveAgentAlias('sales_assistant')).toBe('sales_assistant'); + }); + + it('lets another package register its own rename (e.g. cloud build agent)', () => { + registerAgentAlias('metadata_assistant', 'build'); + expect(resolveAgentAlias('metadata_assistant')).toBe('build'); + // No-ops that must not corrupt the table. + registerAgentAlias('', 'x'); + registerAgentAlias('same', 'same'); + expect(resolveAgentAlias('same')).toBe('same'); + }); +}); + +describe('AgentRuntime.loadAgent (alias-aware)', () => { + it('resolves a legacy name to the renamed agent record', async () => { + const get = vi.fn(async (_type: string, name: string) => + name === DEFAULT_DATA_AGENT_NAME ? DATA_CHAT_AGENT : undefined, + ); + const runtime = new AgentRuntime(mockMetadata({ get: get as never })); + + const viaLegacy = await runtime.loadAgent('data_chat'); + expect(viaLegacy?.name).toBe('ask'); + expect(get).toHaveBeenCalledWith('agent', 'ask'); + + const viaCanonical = await runtime.loadAgent('ask'); + expect(viaCanonical?.name).toBe('ask'); + }); + + it('returns undefined for a genuinely unknown agent', async () => { + const runtime = new AgentRuntime(mockMetadata()); + expect(await runtime.loadAgent('nope')).toBeUndefined(); + }); +}); diff --git a/packages/services/service-ai/src/agent-runtime.ts b/packages/services/service-ai/src/agent-runtime.ts index b2d2b0466c..cc65cd05a0 100644 --- a/packages/services/service-ai/src/agent-runtime.ts +++ b/packages/services/service-ai/src/agent-runtime.ts @@ -11,6 +11,7 @@ import { AgentSchema } from '@objectstack/spec/ai'; import { SkillRegistry, type SkillContext } from './skill-registry.js'; import { SchemaRetriever, type ObjectShape } from './schema-retriever.js'; import { DEFAULT_DATA_AGENT_NAME } from './agents/index.js'; +import { resolveAgentAlias } from './agents/agent-aliases.js'; /** * Context passed alongside a user message when chatting with an agent. @@ -96,7 +97,10 @@ export class AgentRuntime { * or validation fails. */ async loadAgent(agentName: string): Promise { - const raw = await this.metadataService.get('agent', agentName); + // Normalize legacy ids (e.g. `data_chat`→`ask`, `metadata_assistant`→`build`) + // so old `/agents/:name/chat` links and persisted conversation `agent_id`s + // keep resolving after the Path A rename. + const raw = await this.metadataService.get('agent', resolveAgentAlias(agentName)); if (!raw) return undefined; const result = AgentSchema.safeParse(raw); diff --git a/packages/services/service-ai/src/agents/agent-aliases.ts b/packages/services/service-ai/src/agents/agent-aliases.ts new file mode 100644 index 0000000000..53bc3876ac --- /dev/null +++ b/packages/services/service-ai/src/agents/agent-aliases.ts @@ -0,0 +1,48 @@ +// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * Back-compat aliases for renamed built-in agents. + * + * The platform's built-in agents were renamed (Path A) so the friendly console + * URL equals the real identifier: the data agent `data_chat`→`ask`. Old clients, + * bookmarks, and persisted `ai_conversations.agent_id` values still carry the + * legacy name, so {@link AgentRuntime.loadAgent} normalizes a requested name + * through this table before loading the record — `/agents/data_chat/chat` keeps + * resolving to the `ask` agent. + * + * The table is a process-wide registry so each package that owns a built-in + * agent registers ITS OWN rename and the two stay decoupled: the framework + * seeds `data_chat`→`ask` here, and the cloud AI Studio plugin registers + * `metadata_assistant`→`build` at init via {@link registerAgentAlias}. That + * decoupling is what makes the two renames independently safe — neither alias + * points at an id its owning package hasn't registered yet. + * + * Aliases are resolution-only: they are NOT separate metadata records, so the + * agent list (`GET /api/v1/ai/agents`) still shows each agent exactly once + * under its canonical name. + */ +const AGENT_NAME_ALIASES = new Map([ + // The framework's own data agent rename. + ['data_chat', 'ask'], +]); + +/** + * Register a legacy→canonical agent-name alias. Idempotent; a later call for the + * same legacy name wins. Call at plugin init, BEFORE the canonical agent is + * looked up, so a legacy request resolves to the registered canonical id. + */ +export function registerAgentAlias(legacy: string, canonical: string): void { + if (legacy && canonical && legacy !== canonical) { + AGENT_NAME_ALIASES.set(legacy, canonical); + } +} + +/** Resolve a (possibly legacy) agent name to its canonical id, or itself. */ +export function resolveAgentAlias(name: string): string { + return AGENT_NAME_ALIASES.get(name) ?? name; +} + +/** Test/diagnostics helper: a snapshot of the current alias table. */ +export function agentAliasEntries(): Array<[string, string]> { + return Array.from(AGENT_NAME_ALIASES.entries()); +} diff --git a/packages/services/service-ai/src/agents/data-chat-agent.ts b/packages/services/service-ai/src/agents/data-chat-agent.ts index 37a6f0a0a7..66dea41fc5 100644 --- a/packages/services/service-ai/src/agents/data-chat-agent.ts +++ b/packages/services/service-ai/src/agents/data-chat-agent.ts @@ -32,11 +32,17 @@ import type { Agent } from '@objectstack/spec/ai'; * * This is the implicit default copilot for every application that does * not pin its own `app.defaultAgent`. Studio is the only built-in app - * that overrides it (→ `metadata_assistant`). Keeping the name as an - * exported constant lets the runtime resolve the fallback + * that overrides it (→ the `build` authoring agent). Keeping the name as + * an exported constant lets the runtime resolve the fallback * deterministically instead of guessing "first active agent". + * + * Path A renamed this from `data_chat`→`ask`; the legacy name stays + * resolvable via the alias table (see `agent-aliases.ts`). */ -export const DEFAULT_DATA_AGENT_NAME = 'data_chat'; +export const DEFAULT_DATA_AGENT_NAME = 'ask'; + +/** Legacy id this agent was renamed from (kept for back-compat / migrations). */ +export const LEGACY_DATA_AGENT_NAME = 'data_chat'; export const DATA_CHAT_AGENT: Agent = { name: DEFAULT_DATA_AGENT_NAME, diff --git a/packages/services/service-ai/src/agents/index.ts b/packages/services/service-ai/src/agents/index.ts index f2eade983c..ff3978a4dc 100644 --- a/packages/services/service-ai/src/agents/index.ts +++ b/packages/services/service-ai/src/agents/index.ts @@ -1,5 +1,7 @@ // Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license. -export { DATA_CHAT_AGENT, DEFAULT_DATA_AGENT_NAME } from './data-chat-agent.js'; -// The metadata_assistant authoring agent moved to the cloud-only -// @objectstack/service-ai-studio package. +export { DATA_CHAT_AGENT, DEFAULT_DATA_AGENT_NAME, LEGACY_DATA_AGENT_NAME } from './data-chat-agent.js'; +export { registerAgentAlias, resolveAgentAlias, agentAliasEntries } from './agent-aliases.js'; +// The build (authoring) agent moved to the cloud-only +// @objectstack/service-ai-studio package; it registers its own +// `metadata_assistant`→`build` alias via `registerAgentAlias`. diff --git a/packages/services/service-ai/src/index.ts b/packages/services/service-ai/src/index.ts index fba1b0c25b..1f02c71200 100644 --- a/packages/services/service-ai/src/index.ts +++ b/packages/services/service-ai/src/index.ts @@ -57,7 +57,10 @@ export { SkillRegistry } from './skill-registry.js'; export type { SkillContext, SkillSummary } from './skill-registry.js'; // Built-in agents -export { DATA_CHAT_AGENT } from './agents/index.js'; +export { DATA_CHAT_AGENT, DEFAULT_DATA_AGENT_NAME, LEGACY_DATA_AGENT_NAME } from './agents/index.js'; +// Back-compat agent-name aliases (Path A rename). Other packages register their +// own renames (e.g. cloud AI Studio: `metadata_assistant`→`build`). +export { registerAgentAlias, resolveAgentAlias, agentAliasEntries } from './agents/index.js'; // Built-in skills export { diff --git a/packages/services/service-ai/src/plugin.ts b/packages/services/service-ai/src/plugin.ts index 8c72c703de..41622fad3a 100644 --- a/packages/services/service-ai/src/plugin.ts +++ b/packages/services/service-ai/src/plugin.ts @@ -24,7 +24,7 @@ import { registerVisualizeDataTool, VISUALIZE_DATA_TOOL } from './tools/visualiz import { registerActionsAsTools } from './tools/action-tools.js'; import { AgentRuntime } from './agent-runtime.js'; import { SkillRegistry } from './skill-registry.js'; -import { DATA_CHAT_AGENT } from './agents/index.js'; +import { DATA_CHAT_AGENT, LEGACY_DATA_AGENT_NAME } from './agents/index.js'; import { DATA_EXPLORER_SKILL, ACTIONS_EXECUTOR_SKILL } from './skills/index.js'; import { VercelLLMAdapter } from './adapters/vercel-adapter.js'; import { MemoryLLMAdapter } from './adapters/memory-adapter.js'; @@ -848,6 +848,20 @@ export class AIServicePlugin implements Plugin { } }; await upsertBuiltin('agent', DATA_CHAT_AGENT.name, DATA_CHAT_AGENT); + // Path A rename (`data_chat`→`ask`): drop the stale legacy agent + // record on upgrade so the catalog doesn't list the agent twice. The + // legacy NAME stays resolvable for chat via the alias table; this only + // removes the now-duplicate registry entry. Idempotent on fresh installs. + if (DATA_CHAT_AGENT.name !== LEGACY_DATA_AGENT_NAME) { + try { + if (await withTimeout(metadataService.exists('agent', LEGACY_DATA_AGENT_NAME))) { + await withTimeout(metadataService.unregister('agent', LEGACY_DATA_AGENT_NAME)); + ctx.logger.info(`[AI] removed legacy agent record "${LEGACY_DATA_AGENT_NAME}" (renamed → "${DATA_CHAT_AGENT.name}")`); + } + } catch (err) { + ctx.logger.warn('[AI] Failed to remove legacy data agent record', err instanceof Error ? { error: err.message } : { error: String(err) }); + } + } await upsertBuiltin('skill', DATA_EXPLORER_SKILL.name, DATA_EXPLORER_SKILL); await upsertBuiltin('skill', ACTIONS_EXECUTOR_SKILL.name, ACTIONS_EXECUTOR_SKILL); } diff --git a/packages/services/service-analytics/node_modules b/packages/services/service-analytics/node_modules new file mode 120000 index 0000000000..1d822e361a --- /dev/null +++ b/packages/services/service-analytics/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-analytics/node_modules \ No newline at end of file diff --git a/packages/services/service-automation/node_modules b/packages/services/service-automation/node_modules new file mode 120000 index 0000000000..1eba618a0b --- /dev/null +++ b/packages/services/service-automation/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-automation/node_modules \ No newline at end of file diff --git a/packages/services/service-cache/node_modules b/packages/services/service-cache/node_modules new file mode 120000 index 0000000000..24ff527272 --- /dev/null +++ b/packages/services/service-cache/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-cache/node_modules \ No newline at end of file diff --git a/packages/services/service-cluster-redis/node_modules b/packages/services/service-cluster-redis/node_modules new file mode 120000 index 0000000000..264f06341a --- /dev/null +++ b/packages/services/service-cluster-redis/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-cluster-redis/node_modules \ No newline at end of file diff --git a/packages/services/service-cluster/node_modules b/packages/services/service-cluster/node_modules new file mode 120000 index 0000000000..5e1614babd --- /dev/null +++ b/packages/services/service-cluster/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-cluster/node_modules \ No newline at end of file diff --git a/packages/services/service-datasource/node_modules b/packages/services/service-datasource/node_modules new file mode 120000 index 0000000000..8dd4e7e7e2 --- /dev/null +++ b/packages/services/service-datasource/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-datasource/node_modules \ No newline at end of file diff --git a/packages/services/service-feed/node_modules b/packages/services/service-feed/node_modules new file mode 120000 index 0000000000..0ae608f822 --- /dev/null +++ b/packages/services/service-feed/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-feed/node_modules \ No newline at end of file diff --git a/packages/services/service-i18n/node_modules b/packages/services/service-i18n/node_modules new file mode 120000 index 0000000000..bcd3076fd3 --- /dev/null +++ b/packages/services/service-i18n/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-i18n/node_modules \ No newline at end of file diff --git a/packages/services/service-job/node_modules b/packages/services/service-job/node_modules new file mode 120000 index 0000000000..3bd2aab709 --- /dev/null +++ b/packages/services/service-job/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-job/node_modules \ No newline at end of file diff --git a/packages/services/service-knowledge/node_modules b/packages/services/service-knowledge/node_modules new file mode 120000 index 0000000000..fb012d7b00 --- /dev/null +++ b/packages/services/service-knowledge/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-knowledge/node_modules \ No newline at end of file diff --git a/packages/services/service-messaging/node_modules b/packages/services/service-messaging/node_modules new file mode 120000 index 0000000000..a3257440b1 --- /dev/null +++ b/packages/services/service-messaging/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-messaging/node_modules \ No newline at end of file diff --git a/packages/services/service-package/node_modules b/packages/services/service-package/node_modules new file mode 120000 index 0000000000..880687f789 --- /dev/null +++ b/packages/services/service-package/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-package/node_modules \ No newline at end of file diff --git a/packages/services/service-queue/node_modules b/packages/services/service-queue/node_modules new file mode 120000 index 0000000000..89da4444b7 --- /dev/null +++ b/packages/services/service-queue/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-queue/node_modules \ No newline at end of file diff --git a/packages/services/service-realtime/node_modules b/packages/services/service-realtime/node_modules new file mode 120000 index 0000000000..bc05bdae68 --- /dev/null +++ b/packages/services/service-realtime/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-realtime/node_modules \ No newline at end of file diff --git a/packages/services/service-settings/node_modules b/packages/services/service-settings/node_modules new file mode 120000 index 0000000000..ef675bc0d5 --- /dev/null +++ b/packages/services/service-settings/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-settings/node_modules \ No newline at end of file diff --git a/packages/services/service-storage/node_modules b/packages/services/service-storage/node_modules new file mode 120000 index 0000000000..9611ce9847 --- /dev/null +++ b/packages/services/service-storage/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-storage/node_modules \ No newline at end of file diff --git a/packages/spec/node_modules b/packages/spec/node_modules new file mode 120000 index 0000000000..b32f484b3f --- /dev/null +++ b/packages/spec/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/spec/node_modules \ No newline at end of file diff --git a/packages/triggers/trigger-api/node_modules b/packages/triggers/trigger-api/node_modules new file mode 120000 index 0000000000..76ea52136b --- /dev/null +++ b/packages/triggers/trigger-api/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/triggers/trigger-api/node_modules \ No newline at end of file diff --git a/packages/triggers/trigger-record-change/node_modules b/packages/triggers/trigger-record-change/node_modules new file mode 120000 index 0000000000..49091049c7 --- /dev/null +++ b/packages/triggers/trigger-record-change/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/triggers/trigger-record-change/node_modules \ No newline at end of file diff --git a/packages/triggers/trigger-schedule/node_modules b/packages/triggers/trigger-schedule/node_modules new file mode 120000 index 0000000000..8c451c1f98 --- /dev/null +++ b/packages/triggers/trigger-schedule/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/triggers/trigger-schedule/node_modules \ No newline at end of file diff --git a/packages/types/node_modules b/packages/types/node_modules new file mode 120000 index 0000000000..02a2c131ce --- /dev/null +++ b/packages/types/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/types/node_modules \ No newline at end of file diff --git a/packages/verify/node_modules b/packages/verify/node_modules new file mode 120000 index 0000000000..954b90688e --- /dev/null +++ b/packages/verify/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/verify/node_modules \ No newline at end of file diff --git a/packages/vscode-objectstack/node_modules b/packages/vscode-objectstack/node_modules new file mode 120000 index 0000000000..234b132cd3 --- /dev/null +++ b/packages/vscode-objectstack/node_modules @@ -0,0 +1 @@ +/Users/zhuangjianguo/Documents/GitHub/framework/packages/vscode-objectstack/node_modules \ No newline at end of file From 8757c9c5a82cac983bd09df2ae8495e4fe8f63c0 Mon Sep 17 00:00:00 2001 From: Jack Zhuang Date: Mon, 22 Jun 2026 00:06:49 +0800 Subject: [PATCH 2/5] chore: changeset for data_chat->ask rename Co-Authored-By: Claude Opus 4.8 --- .changeset/rename-data-chat-to-ask.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/rename-data-chat-to-ask.md diff --git a/.changeset/rename-data-chat-to-ask.md b/.changeset/rename-data-chat-to-ask.md new file mode 100644 index 0000000000..a20a05c1bd --- /dev/null +++ b/.changeset/rename-data-chat-to-ask.md @@ -0,0 +1,5 @@ +--- +"@objectstack/service-ai": minor +--- + +Rename the built-in data agent `data_chat` → `ask` (Path A: friendly console URL == real id). Back-compat preserved via a new process-wide alias registry: `AgentRuntime.loadAgent` normalizes legacy names, so `/agents/data_chat/chat` and persisted `agent_id='data_chat'` keep resolving. `registerAgentAlias()` is exported so other packages register their own renames (cloud AI Studio: `metadata_assistant`→`build`). The plugin prunes the stale legacy agent record on upgrade so the catalog isn't doubled. From bc408cce3b0b6b8770f6b648acecdd8ec12a1cf9 Mon Sep 17 00:00:00 2001 From: Jack Zhuang Date: Mon, 22 Jun 2026 00:10:48 +0800 Subject: [PATCH 3/5] chore: remove accidentally-committed node_modules symlinks git add -A swept in local worktree node_modules symlinks (the repo .gitignore matches node_modules/ as a dir, not a symlink), which broke CI install (ENOTDIR). Untracked; functionally inert. Co-Authored-By: Claude Opus 4.8 --- apps/account/node_modules | 1 - apps/docs/node_modules | 1 - examples/app-crm/node_modules | 1 - examples/app-showcase/node_modules | 1 - examples/app-todo/node_modules | 1 - node_modules | 1 - packages/adapters/express/node_modules | 1 - packages/adapters/fastify/node_modules | 1 - packages/adapters/hono/node_modules | 1 - packages/adapters/nestjs/node_modules | 1 - packages/adapters/nextjs/node_modules | 1 - packages/adapters/nuxt/node_modules | 1 - packages/adapters/sveltekit/node_modules | 1 - packages/apps/account/node_modules | 1 - packages/apps/setup/node_modules | 1 - packages/apps/studio/node_modules | 1 - packages/cli/node_modules | 1 - packages/client-react/node_modules | 1 - packages/client/node_modules | 1 - packages/cloud-connection/node_modules | 1 - packages/connectors/connector-mcp/node_modules | 1 - packages/connectors/connector-openapi/node_modules | 1 - packages/connectors/connector-rest/node_modules | 1 - packages/connectors/connector-slack/node_modules | 1 - packages/core/node_modules | 1 - packages/create-objectstack/node_modules | 1 - packages/dogfood/node_modules | 1 - packages/downstream-contract/node_modules | 1 - packages/formula/node_modules | 1 - packages/mcp/node_modules | 1 - packages/metadata-core/node_modules | 1 - packages/metadata-fs/node_modules | 1 - packages/metadata/node_modules | 1 - packages/objectql/node_modules | 1 - packages/observability/node_modules | 1 - packages/platform-objects/node_modules | 1 - packages/plugins/driver-memory/node_modules | 1 - packages/plugins/driver-mongodb/node_modules | 1 - packages/plugins/driver-sql/node_modules | 1 - packages/plugins/driver-sqlite-wasm/node_modules | 1 - packages/plugins/embedder-openai/node_modules | 1 - packages/plugins/knowledge-memory/node_modules | 1 - packages/plugins/knowledge-ragflow/node_modules | 1 - packages/plugins/plugin-approvals/node_modules | 1 - packages/plugins/plugin-audit/node_modules | 1 - packages/plugins/plugin-auth/node_modules | 1 - packages/plugins/plugin-dev/node_modules | 1 - packages/plugins/plugin-email/node_modules | 1 - packages/plugins/plugin-hono-server/node_modules | 1 - packages/plugins/plugin-mcp-server/node_modules | 1 - packages/plugins/plugin-msw/node_modules | 1 - packages/plugins/plugin-org-scoping/node_modules | 1 - packages/plugins/plugin-reports/node_modules | 1 - packages/plugins/plugin-security/node_modules | 1 - packages/plugins/plugin-sharing/node_modules | 1 - packages/plugins/plugin-trigger-record-change/node_modules | 1 - packages/plugins/plugin-trigger-schedule/node_modules | 1 - packages/plugins/plugin-webhooks/node_modules | 1 - packages/rest/node_modules | 1 - packages/runtime/node_modules | 1 - packages/services/service-ai/node_modules | 1 - packages/services/service-analytics/node_modules | 1 - packages/services/service-automation/node_modules | 1 - packages/services/service-cache/node_modules | 1 - packages/services/service-cluster-redis/node_modules | 1 - packages/services/service-cluster/node_modules | 1 - packages/services/service-datasource/node_modules | 1 - packages/services/service-feed/node_modules | 1 - packages/services/service-i18n/node_modules | 1 - packages/services/service-job/node_modules | 1 - packages/services/service-knowledge/node_modules | 1 - packages/services/service-messaging/node_modules | 1 - packages/services/service-package/node_modules | 1 - packages/services/service-queue/node_modules | 1 - packages/services/service-realtime/node_modules | 1 - packages/services/service-settings/node_modules | 1 - packages/services/service-storage/node_modules | 1 - packages/spec/node_modules | 1 - packages/triggers/trigger-api/node_modules | 1 - packages/triggers/trigger-record-change/node_modules | 1 - packages/triggers/trigger-schedule/node_modules | 1 - packages/types/node_modules | 1 - packages/verify/node_modules | 1 - packages/vscode-objectstack/node_modules | 1 - 84 files changed, 84 deletions(-) delete mode 120000 apps/account/node_modules delete mode 120000 apps/docs/node_modules delete mode 120000 examples/app-crm/node_modules delete mode 120000 examples/app-showcase/node_modules delete mode 120000 examples/app-todo/node_modules delete mode 120000 node_modules delete mode 120000 packages/adapters/express/node_modules delete mode 120000 packages/adapters/fastify/node_modules delete mode 120000 packages/adapters/hono/node_modules delete mode 120000 packages/adapters/nestjs/node_modules delete mode 120000 packages/adapters/nextjs/node_modules delete mode 120000 packages/adapters/nuxt/node_modules delete mode 120000 packages/adapters/sveltekit/node_modules delete mode 120000 packages/apps/account/node_modules delete mode 120000 packages/apps/setup/node_modules delete mode 120000 packages/apps/studio/node_modules delete mode 120000 packages/cli/node_modules delete mode 120000 packages/client-react/node_modules delete mode 120000 packages/client/node_modules delete mode 120000 packages/cloud-connection/node_modules delete mode 120000 packages/connectors/connector-mcp/node_modules delete mode 120000 packages/connectors/connector-openapi/node_modules delete mode 120000 packages/connectors/connector-rest/node_modules delete mode 120000 packages/connectors/connector-slack/node_modules delete mode 120000 packages/core/node_modules delete mode 120000 packages/create-objectstack/node_modules delete mode 120000 packages/dogfood/node_modules delete mode 120000 packages/downstream-contract/node_modules delete mode 120000 packages/formula/node_modules delete mode 120000 packages/mcp/node_modules delete mode 120000 packages/metadata-core/node_modules delete mode 120000 packages/metadata-fs/node_modules delete mode 120000 packages/metadata/node_modules delete mode 120000 packages/objectql/node_modules delete mode 120000 packages/observability/node_modules delete mode 120000 packages/platform-objects/node_modules delete mode 120000 packages/plugins/driver-memory/node_modules delete mode 120000 packages/plugins/driver-mongodb/node_modules delete mode 120000 packages/plugins/driver-sql/node_modules delete mode 120000 packages/plugins/driver-sqlite-wasm/node_modules delete mode 120000 packages/plugins/embedder-openai/node_modules delete mode 120000 packages/plugins/knowledge-memory/node_modules delete mode 120000 packages/plugins/knowledge-ragflow/node_modules delete mode 120000 packages/plugins/plugin-approvals/node_modules delete mode 120000 packages/plugins/plugin-audit/node_modules delete mode 120000 packages/plugins/plugin-auth/node_modules delete mode 120000 packages/plugins/plugin-dev/node_modules delete mode 120000 packages/plugins/plugin-email/node_modules delete mode 120000 packages/plugins/plugin-hono-server/node_modules delete mode 120000 packages/plugins/plugin-mcp-server/node_modules delete mode 120000 packages/plugins/plugin-msw/node_modules delete mode 120000 packages/plugins/plugin-org-scoping/node_modules delete mode 120000 packages/plugins/plugin-reports/node_modules delete mode 120000 packages/plugins/plugin-security/node_modules delete mode 120000 packages/plugins/plugin-sharing/node_modules delete mode 120000 packages/plugins/plugin-trigger-record-change/node_modules delete mode 120000 packages/plugins/plugin-trigger-schedule/node_modules delete mode 120000 packages/plugins/plugin-webhooks/node_modules delete mode 120000 packages/rest/node_modules delete mode 120000 packages/runtime/node_modules delete mode 120000 packages/services/service-ai/node_modules delete mode 120000 packages/services/service-analytics/node_modules delete mode 120000 packages/services/service-automation/node_modules delete mode 120000 packages/services/service-cache/node_modules delete mode 120000 packages/services/service-cluster-redis/node_modules delete mode 120000 packages/services/service-cluster/node_modules delete mode 120000 packages/services/service-datasource/node_modules delete mode 120000 packages/services/service-feed/node_modules delete mode 120000 packages/services/service-i18n/node_modules delete mode 120000 packages/services/service-job/node_modules delete mode 120000 packages/services/service-knowledge/node_modules delete mode 120000 packages/services/service-messaging/node_modules delete mode 120000 packages/services/service-package/node_modules delete mode 120000 packages/services/service-queue/node_modules delete mode 120000 packages/services/service-realtime/node_modules delete mode 120000 packages/services/service-settings/node_modules delete mode 120000 packages/services/service-storage/node_modules delete mode 120000 packages/spec/node_modules delete mode 120000 packages/triggers/trigger-api/node_modules delete mode 120000 packages/triggers/trigger-record-change/node_modules delete mode 120000 packages/triggers/trigger-schedule/node_modules delete mode 120000 packages/types/node_modules delete mode 120000 packages/verify/node_modules delete mode 120000 packages/vscode-objectstack/node_modules diff --git a/apps/account/node_modules b/apps/account/node_modules deleted file mode 120000 index f7baee9700..0000000000 --- a/apps/account/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/apps/account/node_modules \ No newline at end of file diff --git a/apps/docs/node_modules b/apps/docs/node_modules deleted file mode 120000 index e49ea2d7d8..0000000000 --- a/apps/docs/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/apps/docs/node_modules \ No newline at end of file diff --git a/examples/app-crm/node_modules b/examples/app-crm/node_modules deleted file mode 120000 index fafe21ec92..0000000000 --- a/examples/app-crm/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/examples/app-crm/node_modules \ No newline at end of file diff --git a/examples/app-showcase/node_modules b/examples/app-showcase/node_modules deleted file mode 120000 index 4c92c111d3..0000000000 --- a/examples/app-showcase/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/examples/app-showcase/node_modules \ No newline at end of file diff --git a/examples/app-todo/node_modules b/examples/app-todo/node_modules deleted file mode 120000 index cf186d01a7..0000000000 --- a/examples/app-todo/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/examples/app-todo/node_modules \ No newline at end of file diff --git a/node_modules b/node_modules deleted file mode 120000 index 11e1b8201f..0000000000 --- a/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/node_modules \ No newline at end of file diff --git a/packages/adapters/express/node_modules b/packages/adapters/express/node_modules deleted file mode 120000 index 11447d908e..0000000000 --- a/packages/adapters/express/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/express/node_modules \ No newline at end of file diff --git a/packages/adapters/fastify/node_modules b/packages/adapters/fastify/node_modules deleted file mode 120000 index accad7d613..0000000000 --- a/packages/adapters/fastify/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/fastify/node_modules \ No newline at end of file diff --git a/packages/adapters/hono/node_modules b/packages/adapters/hono/node_modules deleted file mode 120000 index d0c3f64d87..0000000000 --- a/packages/adapters/hono/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/hono/node_modules \ No newline at end of file diff --git a/packages/adapters/nestjs/node_modules b/packages/adapters/nestjs/node_modules deleted file mode 120000 index 63a9170cdf..0000000000 --- a/packages/adapters/nestjs/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/nestjs/node_modules \ No newline at end of file diff --git a/packages/adapters/nextjs/node_modules b/packages/adapters/nextjs/node_modules deleted file mode 120000 index 20496ea8c2..0000000000 --- a/packages/adapters/nextjs/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/nextjs/node_modules \ No newline at end of file diff --git a/packages/adapters/nuxt/node_modules b/packages/adapters/nuxt/node_modules deleted file mode 120000 index 72a5b21a0a..0000000000 --- a/packages/adapters/nuxt/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/nuxt/node_modules \ No newline at end of file diff --git a/packages/adapters/sveltekit/node_modules b/packages/adapters/sveltekit/node_modules deleted file mode 120000 index 0095c43dce..0000000000 --- a/packages/adapters/sveltekit/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/adapters/sveltekit/node_modules \ No newline at end of file diff --git a/packages/apps/account/node_modules b/packages/apps/account/node_modules deleted file mode 120000 index d91e52cd15..0000000000 --- a/packages/apps/account/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/apps/account/node_modules \ No newline at end of file diff --git a/packages/apps/setup/node_modules b/packages/apps/setup/node_modules deleted file mode 120000 index 4c08356531..0000000000 --- a/packages/apps/setup/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/apps/setup/node_modules \ No newline at end of file diff --git a/packages/apps/studio/node_modules b/packages/apps/studio/node_modules deleted file mode 120000 index 79483ac454..0000000000 --- a/packages/apps/studio/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/apps/studio/node_modules \ No newline at end of file diff --git a/packages/cli/node_modules b/packages/cli/node_modules deleted file mode 120000 index 58325f86bc..0000000000 --- a/packages/cli/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/cli/node_modules \ No newline at end of file diff --git a/packages/client-react/node_modules b/packages/client-react/node_modules deleted file mode 120000 index 45326d8e9c..0000000000 --- a/packages/client-react/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/client-react/node_modules \ No newline at end of file diff --git a/packages/client/node_modules b/packages/client/node_modules deleted file mode 120000 index dd2d4c47ec..0000000000 --- a/packages/client/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/client/node_modules \ No newline at end of file diff --git a/packages/cloud-connection/node_modules b/packages/cloud-connection/node_modules deleted file mode 120000 index 538197524d..0000000000 --- a/packages/cloud-connection/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/cloud-connection/node_modules \ No newline at end of file diff --git a/packages/connectors/connector-mcp/node_modules b/packages/connectors/connector-mcp/node_modules deleted file mode 120000 index 2ab8b79aa9..0000000000 --- a/packages/connectors/connector-mcp/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/connectors/connector-mcp/node_modules \ No newline at end of file diff --git a/packages/connectors/connector-openapi/node_modules b/packages/connectors/connector-openapi/node_modules deleted file mode 120000 index cd3e51763d..0000000000 --- a/packages/connectors/connector-openapi/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/connectors/connector-openapi/node_modules \ No newline at end of file diff --git a/packages/connectors/connector-rest/node_modules b/packages/connectors/connector-rest/node_modules deleted file mode 120000 index 1c7d8b844d..0000000000 --- a/packages/connectors/connector-rest/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/connectors/connector-rest/node_modules \ No newline at end of file diff --git a/packages/connectors/connector-slack/node_modules b/packages/connectors/connector-slack/node_modules deleted file mode 120000 index 2852bbf294..0000000000 --- a/packages/connectors/connector-slack/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/connectors/connector-slack/node_modules \ No newline at end of file diff --git a/packages/core/node_modules b/packages/core/node_modules deleted file mode 120000 index 4cc738fc64..0000000000 --- a/packages/core/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/core/node_modules \ No newline at end of file diff --git a/packages/create-objectstack/node_modules b/packages/create-objectstack/node_modules deleted file mode 120000 index 355dfdc090..0000000000 --- a/packages/create-objectstack/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/create-objectstack/node_modules \ No newline at end of file diff --git a/packages/dogfood/node_modules b/packages/dogfood/node_modules deleted file mode 120000 index dd7f0ac7f5..0000000000 --- a/packages/dogfood/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/dogfood/node_modules \ No newline at end of file diff --git a/packages/downstream-contract/node_modules b/packages/downstream-contract/node_modules deleted file mode 120000 index 0c3f64e8c4..0000000000 --- a/packages/downstream-contract/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/downstream-contract/node_modules \ No newline at end of file diff --git a/packages/formula/node_modules b/packages/formula/node_modules deleted file mode 120000 index c9079b2b81..0000000000 --- a/packages/formula/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/formula/node_modules \ No newline at end of file diff --git a/packages/mcp/node_modules b/packages/mcp/node_modules deleted file mode 120000 index b8acb7e496..0000000000 --- a/packages/mcp/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/mcp/node_modules \ No newline at end of file diff --git a/packages/metadata-core/node_modules b/packages/metadata-core/node_modules deleted file mode 120000 index 5f45530970..0000000000 --- a/packages/metadata-core/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/metadata-core/node_modules \ No newline at end of file diff --git a/packages/metadata-fs/node_modules b/packages/metadata-fs/node_modules deleted file mode 120000 index e726b3bb56..0000000000 --- a/packages/metadata-fs/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/metadata-fs/node_modules \ No newline at end of file diff --git a/packages/metadata/node_modules b/packages/metadata/node_modules deleted file mode 120000 index 348af7674b..0000000000 --- a/packages/metadata/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/metadata/node_modules \ No newline at end of file diff --git a/packages/objectql/node_modules b/packages/objectql/node_modules deleted file mode 120000 index b404b2ca54..0000000000 --- a/packages/objectql/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/objectql/node_modules \ No newline at end of file diff --git a/packages/observability/node_modules b/packages/observability/node_modules deleted file mode 120000 index 2d06cd3beb..0000000000 --- a/packages/observability/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/observability/node_modules \ No newline at end of file diff --git a/packages/platform-objects/node_modules b/packages/platform-objects/node_modules deleted file mode 120000 index 957cc7f49c..0000000000 --- a/packages/platform-objects/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/platform-objects/node_modules \ No newline at end of file diff --git a/packages/plugins/driver-memory/node_modules b/packages/plugins/driver-memory/node_modules deleted file mode 120000 index 613682adaa..0000000000 --- a/packages/plugins/driver-memory/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/driver-memory/node_modules \ No newline at end of file diff --git a/packages/plugins/driver-mongodb/node_modules b/packages/plugins/driver-mongodb/node_modules deleted file mode 120000 index ad2820b18f..0000000000 --- a/packages/plugins/driver-mongodb/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/driver-mongodb/node_modules \ No newline at end of file diff --git a/packages/plugins/driver-sql/node_modules b/packages/plugins/driver-sql/node_modules deleted file mode 120000 index 6a945f40b2..0000000000 --- a/packages/plugins/driver-sql/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/driver-sql/node_modules \ No newline at end of file diff --git a/packages/plugins/driver-sqlite-wasm/node_modules b/packages/plugins/driver-sqlite-wasm/node_modules deleted file mode 120000 index 3f19df7905..0000000000 --- a/packages/plugins/driver-sqlite-wasm/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/driver-sqlite-wasm/node_modules \ No newline at end of file diff --git a/packages/plugins/embedder-openai/node_modules b/packages/plugins/embedder-openai/node_modules deleted file mode 120000 index 507a02dcb0..0000000000 --- a/packages/plugins/embedder-openai/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/embedder-openai/node_modules \ No newline at end of file diff --git a/packages/plugins/knowledge-memory/node_modules b/packages/plugins/knowledge-memory/node_modules deleted file mode 120000 index 516d5140ab..0000000000 --- a/packages/plugins/knowledge-memory/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/knowledge-memory/node_modules \ No newline at end of file diff --git a/packages/plugins/knowledge-ragflow/node_modules b/packages/plugins/knowledge-ragflow/node_modules deleted file mode 120000 index d6077d041f..0000000000 --- a/packages/plugins/knowledge-ragflow/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/knowledge-ragflow/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-approvals/node_modules b/packages/plugins/plugin-approvals/node_modules deleted file mode 120000 index ef9ab430da..0000000000 --- a/packages/plugins/plugin-approvals/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-approvals/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-audit/node_modules b/packages/plugins/plugin-audit/node_modules deleted file mode 120000 index 82a7f03c6e..0000000000 --- a/packages/plugins/plugin-audit/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-audit/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-auth/node_modules b/packages/plugins/plugin-auth/node_modules deleted file mode 120000 index 36743a1c1f..0000000000 --- a/packages/plugins/plugin-auth/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-auth/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-dev/node_modules b/packages/plugins/plugin-dev/node_modules deleted file mode 120000 index 62bd1c66bb..0000000000 --- a/packages/plugins/plugin-dev/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-dev/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-email/node_modules b/packages/plugins/plugin-email/node_modules deleted file mode 120000 index 32cdfa31d6..0000000000 --- a/packages/plugins/plugin-email/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-email/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-hono-server/node_modules b/packages/plugins/plugin-hono-server/node_modules deleted file mode 120000 index eb8400bf37..0000000000 --- a/packages/plugins/plugin-hono-server/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-hono-server/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-mcp-server/node_modules b/packages/plugins/plugin-mcp-server/node_modules deleted file mode 120000 index b3c7bc43a6..0000000000 --- a/packages/plugins/plugin-mcp-server/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-mcp-server/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-msw/node_modules b/packages/plugins/plugin-msw/node_modules deleted file mode 120000 index 34a49d5e09..0000000000 --- a/packages/plugins/plugin-msw/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-msw/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-org-scoping/node_modules b/packages/plugins/plugin-org-scoping/node_modules deleted file mode 120000 index 667741ce62..0000000000 --- a/packages/plugins/plugin-org-scoping/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-org-scoping/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-reports/node_modules b/packages/plugins/plugin-reports/node_modules deleted file mode 120000 index e9c4286e20..0000000000 --- a/packages/plugins/plugin-reports/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-reports/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-security/node_modules b/packages/plugins/plugin-security/node_modules deleted file mode 120000 index 98b60041d3..0000000000 --- a/packages/plugins/plugin-security/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-security/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-sharing/node_modules b/packages/plugins/plugin-sharing/node_modules deleted file mode 120000 index ffa82dd5b0..0000000000 --- a/packages/plugins/plugin-sharing/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-sharing/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-trigger-record-change/node_modules b/packages/plugins/plugin-trigger-record-change/node_modules deleted file mode 120000 index da0fa5608e..0000000000 --- a/packages/plugins/plugin-trigger-record-change/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-trigger-record-change/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-trigger-schedule/node_modules b/packages/plugins/plugin-trigger-schedule/node_modules deleted file mode 120000 index 11bfc5acc0..0000000000 --- a/packages/plugins/plugin-trigger-schedule/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-trigger-schedule/node_modules \ No newline at end of file diff --git a/packages/plugins/plugin-webhooks/node_modules b/packages/plugins/plugin-webhooks/node_modules deleted file mode 120000 index 2654fa3682..0000000000 --- a/packages/plugins/plugin-webhooks/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/plugins/plugin-webhooks/node_modules \ No newline at end of file diff --git a/packages/rest/node_modules b/packages/rest/node_modules deleted file mode 120000 index 983f7bee34..0000000000 --- a/packages/rest/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/rest/node_modules \ No newline at end of file diff --git a/packages/runtime/node_modules b/packages/runtime/node_modules deleted file mode 120000 index ed3403e5c2..0000000000 --- a/packages/runtime/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/runtime/node_modules \ No newline at end of file diff --git a/packages/services/service-ai/node_modules b/packages/services/service-ai/node_modules deleted file mode 120000 index ac14c4a357..0000000000 --- a/packages/services/service-ai/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-ai/node_modules \ No newline at end of file diff --git a/packages/services/service-analytics/node_modules b/packages/services/service-analytics/node_modules deleted file mode 120000 index 1d822e361a..0000000000 --- a/packages/services/service-analytics/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-analytics/node_modules \ No newline at end of file diff --git a/packages/services/service-automation/node_modules b/packages/services/service-automation/node_modules deleted file mode 120000 index 1eba618a0b..0000000000 --- a/packages/services/service-automation/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-automation/node_modules \ No newline at end of file diff --git a/packages/services/service-cache/node_modules b/packages/services/service-cache/node_modules deleted file mode 120000 index 24ff527272..0000000000 --- a/packages/services/service-cache/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-cache/node_modules \ No newline at end of file diff --git a/packages/services/service-cluster-redis/node_modules b/packages/services/service-cluster-redis/node_modules deleted file mode 120000 index 264f06341a..0000000000 --- a/packages/services/service-cluster-redis/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-cluster-redis/node_modules \ No newline at end of file diff --git a/packages/services/service-cluster/node_modules b/packages/services/service-cluster/node_modules deleted file mode 120000 index 5e1614babd..0000000000 --- a/packages/services/service-cluster/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-cluster/node_modules \ No newline at end of file diff --git a/packages/services/service-datasource/node_modules b/packages/services/service-datasource/node_modules deleted file mode 120000 index 8dd4e7e7e2..0000000000 --- a/packages/services/service-datasource/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-datasource/node_modules \ No newline at end of file diff --git a/packages/services/service-feed/node_modules b/packages/services/service-feed/node_modules deleted file mode 120000 index 0ae608f822..0000000000 --- a/packages/services/service-feed/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-feed/node_modules \ No newline at end of file diff --git a/packages/services/service-i18n/node_modules b/packages/services/service-i18n/node_modules deleted file mode 120000 index bcd3076fd3..0000000000 --- a/packages/services/service-i18n/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-i18n/node_modules \ No newline at end of file diff --git a/packages/services/service-job/node_modules b/packages/services/service-job/node_modules deleted file mode 120000 index 3bd2aab709..0000000000 --- a/packages/services/service-job/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-job/node_modules \ No newline at end of file diff --git a/packages/services/service-knowledge/node_modules b/packages/services/service-knowledge/node_modules deleted file mode 120000 index fb012d7b00..0000000000 --- a/packages/services/service-knowledge/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-knowledge/node_modules \ No newline at end of file diff --git a/packages/services/service-messaging/node_modules b/packages/services/service-messaging/node_modules deleted file mode 120000 index a3257440b1..0000000000 --- a/packages/services/service-messaging/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-messaging/node_modules \ No newline at end of file diff --git a/packages/services/service-package/node_modules b/packages/services/service-package/node_modules deleted file mode 120000 index 880687f789..0000000000 --- a/packages/services/service-package/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-package/node_modules \ No newline at end of file diff --git a/packages/services/service-queue/node_modules b/packages/services/service-queue/node_modules deleted file mode 120000 index 89da4444b7..0000000000 --- a/packages/services/service-queue/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-queue/node_modules \ No newline at end of file diff --git a/packages/services/service-realtime/node_modules b/packages/services/service-realtime/node_modules deleted file mode 120000 index bc05bdae68..0000000000 --- a/packages/services/service-realtime/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-realtime/node_modules \ No newline at end of file diff --git a/packages/services/service-settings/node_modules b/packages/services/service-settings/node_modules deleted file mode 120000 index ef675bc0d5..0000000000 --- a/packages/services/service-settings/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-settings/node_modules \ No newline at end of file diff --git a/packages/services/service-storage/node_modules b/packages/services/service-storage/node_modules deleted file mode 120000 index 9611ce9847..0000000000 --- a/packages/services/service-storage/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/services/service-storage/node_modules \ No newline at end of file diff --git a/packages/spec/node_modules b/packages/spec/node_modules deleted file mode 120000 index b32f484b3f..0000000000 --- a/packages/spec/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/spec/node_modules \ No newline at end of file diff --git a/packages/triggers/trigger-api/node_modules b/packages/triggers/trigger-api/node_modules deleted file mode 120000 index 76ea52136b..0000000000 --- a/packages/triggers/trigger-api/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/triggers/trigger-api/node_modules \ No newline at end of file diff --git a/packages/triggers/trigger-record-change/node_modules b/packages/triggers/trigger-record-change/node_modules deleted file mode 120000 index 49091049c7..0000000000 --- a/packages/triggers/trigger-record-change/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/triggers/trigger-record-change/node_modules \ No newline at end of file diff --git a/packages/triggers/trigger-schedule/node_modules b/packages/triggers/trigger-schedule/node_modules deleted file mode 120000 index 8c451c1f98..0000000000 --- a/packages/triggers/trigger-schedule/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/triggers/trigger-schedule/node_modules \ No newline at end of file diff --git a/packages/types/node_modules b/packages/types/node_modules deleted file mode 120000 index 02a2c131ce..0000000000 --- a/packages/types/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/types/node_modules \ No newline at end of file diff --git a/packages/verify/node_modules b/packages/verify/node_modules deleted file mode 120000 index 954b90688e..0000000000 --- a/packages/verify/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/verify/node_modules \ No newline at end of file diff --git a/packages/vscode-objectstack/node_modules b/packages/vscode-objectstack/node_modules deleted file mode 120000 index 234b132cd3..0000000000 --- a/packages/vscode-objectstack/node_modules +++ /dev/null @@ -1 +0,0 @@ -/Users/zhuangjianguo/Documents/GitHub/framework/packages/vscode-objectstack/node_modules \ No newline at end of file From e9ce7827c6c9014361b344fcf736df21a7d609e0 Mon Sep 17 00:00:00 2001 From: Jack Zhuang Date: Mon, 22 Jun 2026 00:16:11 +0800 Subject: [PATCH 4/5] test(service-ai): update agent-name assertions for data_chat->ask rename chatbot-features: catalog/loadAgent/agent-spec now assert canonical 'ask'; legacy '/agents/data_chat/chat' POST tests kept as back-compat (resolve via alias). 83 AI tests pass locally. Co-Authored-By: Claude Opus 4.8 --- .../src/__tests__/chatbot-features.test.ts | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/services/service-ai/src/__tests__/chatbot-features.test.ts b/packages/services/service-ai/src/__tests__/chatbot-features.test.ts index d622b0b244..b5e4c036a2 100644 --- a/packages/services/service-ai/src/__tests__/chatbot-features.test.ts +++ b/packages/services/service-ai/src/__tests__/chatbot-features.test.ts @@ -560,12 +560,13 @@ describe('AgentRuntime', () => { }); describe('loadAgent', () => { - it('should return agent definition from metadata service', async () => { + it('should return agent definition from metadata service (legacy name resolves via alias)', async () => { (metadataService.get as any).mockResolvedValue(DATA_CHAT_AGENT); const agent = await runtime.loadAgent('data_chat'); - expect(metadataService.get).toHaveBeenCalledWith('agent', 'data_chat'); - expect(agent?.name).toBe('data_chat'); + // Path A: `data_chat` is an alias for the renamed `ask` agent. + expect(metadataService.get).toHaveBeenCalledWith('agent', 'ask'); + expect(agent?.name).toBe('ask'); expect(agent?.role).toBe('Business Application Assistant'); }); @@ -717,7 +718,7 @@ describe('AgentRuntime', () => { ]); const agents = await runtime.listAgents(); expect(agents).toHaveLength(2); - expect(agents[0]).toEqual({ name: 'data_chat', label: 'Assistant', role: 'Business Application Assistant' }); + expect(agents[0]).toEqual({ name: 'ask', label: 'Assistant', role: 'Business Application Assistant' }); expect(agents[1]).toEqual({ name: 'metadata_assistant', label: 'Metadata Assistant', role: 'Schema Architect' }); }); @@ -728,7 +729,7 @@ describe('AgentRuntime', () => { ]); const agents = await runtime.listAgents(); expect(agents).toHaveLength(1); - expect(agents[0].name).toBe('data_chat'); + expect(agents[0].name).toBe('ask'); }); it('should return empty array when no agents registered', async () => { @@ -744,7 +745,7 @@ describe('AgentRuntime', () => { ]); const agents = await runtime.listAgents(); expect(agents).toHaveLength(1); - expect(agents[0].name).toBe('data_chat'); + expect(agents[0].name).toBe('ask'); }); }); }); @@ -765,7 +766,8 @@ describe('Agent Routes', () => { aiService = new AIService({ adapter, logger: silentLogger, toolRegistry: registry }); metadataService = createMockMetadataService({ get: vi.fn(async (_type, name) => { - if (name === 'data_chat') return DATA_CHAT_AGENT; + // Canonical name after Path A rename; `data_chat` resolves here via alias. + if (name === 'ask') return DATA_CHAT_AGENT; if (name === 'inactive_agent') return { ...DATA_CHAT_AGENT, name: 'inactive_agent', active: false }; return undefined; }), @@ -791,7 +793,7 @@ describe('Agent Routes', () => { expect(resp.status).toBe(200); const body = resp.body as { agents: Array<{ name: string; label: string; role: string }> }; expect(body.agents).toHaveLength(2); - expect(body.agents[0].name).toBe('data_chat'); + expect(body.agents[0].name).toBe('ask'); expect(body.agents[1].name).toBe('metadata_assistant'); }); @@ -1047,7 +1049,8 @@ describe('Agent Routes', () => { describe('DATA_CHAT_AGENT', () => { it('should be a valid agent definition', () => { - expect(DATA_CHAT_AGENT.name).toBe('data_chat'); + // Path A rename: canonical id is now `ask` (was `data_chat`). + expect(DATA_CHAT_AGENT.name).toBe('ask'); expect(DATA_CHAT_AGENT.role).toBe('Business Application Assistant'); expect(DATA_CHAT_AGENT.active).toBe(true); expect(DATA_CHAT_AGENT.visibility).toBe('global'); From 4421737e13771a4e1eb52490e57c0b877b5643a7 Mon Sep 17 00:00:00 2001 From: Jack Zhuang Date: Mon, 22 Jun 2026 00:53:46 +0800 Subject: [PATCH 5/5] ci: re-trigger checks Co-Authored-By: Claude Opus 4.8