@agentuity/cli 2.0.11 → 3.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cmd/ai/prompt/index.d.ts.map +1 -1
- package/dist/cmd/ai/prompt/index.js +2 -7
- package/dist/cmd/ai/prompt/index.js.map +1 -1
- package/dist/cmd/build/adapters/generic.d.ts +29 -0
- package/dist/cmd/build/adapters/generic.d.ts.map +1 -0
- package/dist/cmd/build/adapters/generic.js +190 -0
- package/dist/cmd/build/adapters/generic.js.map +1 -0
- package/dist/cmd/build/adapters/index.d.ts +15 -0
- package/dist/cmd/build/adapters/index.d.ts.map +1 -0
- package/dist/cmd/build/adapters/index.js +24 -0
- package/dist/cmd/build/adapters/index.js.map +1 -0
- package/dist/cmd/build/adapters/nextjs.d.ts +11 -0
- package/dist/cmd/build/adapters/nextjs.d.ts.map +1 -0
- package/dist/cmd/build/adapters/nextjs.js +118 -0
- package/dist/cmd/build/adapters/nextjs.js.map +1 -0
- package/dist/cmd/build/adapters/static-server.d.ts +23 -0
- package/dist/cmd/build/adapters/static-server.d.ts.map +1 -0
- package/dist/cmd/build/adapters/static-server.js +137 -0
- package/dist/cmd/build/adapters/static-server.js.map +1 -0
- package/dist/cmd/build/adapters/types.d.ts +71 -0
- package/dist/cmd/build/adapters/types.d.ts.map +1 -0
- package/dist/cmd/build/adapters/types.js +8 -0
- package/dist/cmd/build/adapters/types.js.map +1 -0
- package/dist/cmd/build/detect/engine.d.ts +24 -0
- package/dist/cmd/build/detect/engine.d.ts.map +1 -0
- package/dist/cmd/build/detect/engine.js +91 -0
- package/dist/cmd/build/detect/engine.js.map +1 -0
- package/dist/cmd/build/detect/frameworks.d.ts +66 -0
- package/dist/cmd/build/detect/frameworks.d.ts.map +1 -0
- package/dist/cmd/build/detect/frameworks.js +278 -0
- package/dist/cmd/build/detect/frameworks.js.map +1 -0
- package/dist/cmd/build/detect/generic.d.ts +13 -0
- package/dist/cmd/build/detect/generic.d.ts.map +1 -0
- package/dist/cmd/build/detect/generic.js +62 -0
- package/dist/cmd/build/detect/generic.js.map +1 -0
- package/dist/cmd/build/detect/index.d.ts +27 -0
- package/dist/cmd/build/detect/index.d.ts.map +1 -0
- package/dist/cmd/build/detect/index.js +76 -0
- package/dist/cmd/build/detect/index.js.map +1 -0
- package/dist/cmd/build/detect/types.d.ts +91 -0
- package/dist/cmd/build/detect/types.d.ts.map +1 -0
- package/dist/cmd/build/detect/types.js +9 -0
- package/dist/cmd/build/detect/types.js.map +1 -0
- package/dist/cmd/build/detect/util.d.ts +41 -0
- package/dist/cmd/build/detect/util.d.ts.map +1 -0
- package/dist/cmd/build/detect/util.js +101 -0
- package/dist/cmd/build/detect/util.js.map +1 -0
- package/dist/cmd/build/index.d.ts.map +1 -1
- package/dist/cmd/build/index.js +49 -22
- package/dist/cmd/build/index.js.map +1 -1
- package/dist/cmd/build/package/index.d.ts +30 -0
- package/dist/cmd/build/package/index.d.ts.map +1 -0
- package/dist/cmd/build/package/index.js +39 -0
- package/dist/cmd/build/package/index.js.map +1 -0
- package/dist/cmd/build/package/launch.d.ts +56 -0
- package/dist/cmd/build/package/launch.d.ts.map +1 -0
- package/dist/cmd/build/package/launch.js +56 -0
- package/dist/cmd/build/package/launch.js.map +1 -0
- package/dist/cmd/build/typecheck.d.ts.map +1 -1
- package/dist/cmd/build/typecheck.js +8 -0
- package/dist/cmd/build/typecheck.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +63 -13
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/coder/create.js +7 -7
- package/dist/cmd/coder/create.js.map +1 -1
- package/dist/cmd/coder/update.js +8 -8
- package/dist/cmd/coder/update.js.map +1 -1
- package/dist/cmd/coder/workspace/create.js +9 -9
- package/dist/cmd/coder/workspace/create.js.map +1 -1
- package/dist/cmd/dev/index.d.ts +9 -0
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +127 -923
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/project/auth/shared.d.ts.map +1 -1
- package/dist/cmd/project/auth/shared.js +14 -38
- package/dist/cmd/project/auth/shared.js.map +1 -1
- package/dist/cmd/project/create.d.ts.map +1 -1
- package/dist/cmd/project/create.js +12 -19
- package/dist/cmd/project/create.js.map +1 -1
- package/dist/cmd/project/frameworks-ai-examples.d.ts +15 -0
- package/dist/cmd/project/frameworks-ai-examples.d.ts.map +1 -0
- package/dist/cmd/project/frameworks-ai-examples.js +160 -0
- package/dist/cmd/project/frameworks-ai-examples.js.map +1 -0
- package/dist/cmd/project/frameworks-landing-pages.d.ts +17 -0
- package/dist/cmd/project/frameworks-landing-pages.d.ts.map +1 -0
- package/dist/cmd/project/frameworks-landing-pages.js +242 -0
- package/dist/cmd/project/frameworks-landing-pages.js.map +1 -0
- package/dist/cmd/project/frameworks.d.ts +58 -0
- package/dist/cmd/project/frameworks.d.ts.map +1 -0
- package/dist/cmd/project/frameworks.js +152 -0
- package/dist/cmd/project/frameworks.js.map +1 -0
- package/dist/cmd/project/reconcile.d.ts.map +1 -1
- package/dist/cmd/project/reconcile.js +10 -23
- package/dist/cmd/project/reconcile.js.map +1 -1
- package/dist/cmd/project/remote-import.js +1 -1
- package/dist/cmd/project/scaffold.d.ts +58 -0
- package/dist/cmd/project/scaffold.d.ts.map +1 -0
- package/dist/cmd/project/scaffold.js +223 -0
- package/dist/cmd/project/scaffold.js.map +1 -0
- package/dist/cmd/project/template-flow.d.ts +8 -4
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.js +93 -144
- package/dist/cmd/project/template-flow.js.map +1 -1
- package/dist/deploy-metadata.d.ts +49 -0
- package/dist/deploy-metadata.d.ts.map +1 -0
- package/dist/deploy-metadata.js +183 -0
- package/dist/deploy-metadata.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +24 -30
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +13 -8
- package/src/cmd/ai/prompt/index.ts +2 -7
- package/src/cmd/build/adapters/generic.ts +239 -0
- package/src/cmd/build/adapters/index.ts +30 -0
- package/src/cmd/build/adapters/nextjs.ts +146 -0
- package/src/cmd/build/adapters/static-server.ts +143 -0
- package/src/cmd/build/adapters/types.ts +93 -0
- package/src/cmd/build/detect/engine.ts +111 -0
- package/src/cmd/build/detect/frameworks.ts +335 -0
- package/src/cmd/build/detect/generic.ts +71 -0
- package/src/cmd/build/detect/index.ts +122 -0
- package/src/cmd/build/detect/types.ts +109 -0
- package/src/cmd/build/detect/util.ts +104 -0
- package/src/cmd/build/index.ts +64 -24
- package/src/cmd/build/package/index.ts +66 -0
- package/src/cmd/build/package/launch.ts +104 -0
- package/src/cmd/build/typecheck.ts +9 -0
- package/src/cmd/cloud/deploy.ts +86 -13
- package/src/cmd/coder/create.ts +8 -8
- package/src/cmd/coder/update.ts +7 -7
- package/src/cmd/coder/workspace/create.ts +10 -10
- package/src/cmd/dev/index.ts +155 -1059
- package/src/cmd/project/auth/shared.ts +14 -39
- package/src/cmd/project/create.ts +14 -19
- package/src/cmd/project/frameworks-ai-examples.ts +166 -0
- package/src/cmd/project/frameworks-landing-pages.ts +267 -0
- package/src/cmd/project/frameworks.ts +223 -0
- package/src/cmd/project/reconcile.ts +10 -22
- package/src/cmd/project/remote-import.ts +1 -1
- package/src/cmd/project/scaffold.ts +300 -0
- package/src/cmd/project/template-flow.ts +102 -156
- package/src/deploy-metadata.ts +253 -0
- package/src/index.ts +0 -2
- package/src/types.ts +0 -31
- package/dist/agents-docs.d.ts +0 -23
- package/dist/agents-docs.d.ts.map +0 -1
- package/dist/agents-docs.js +0 -56
- package/dist/agents-docs.js.map +0 -1
- package/dist/cmd/ai/prompt/agent.d.ts +0 -10
- package/dist/cmd/ai/prompt/agent.d.ts.map +0 -1
- package/dist/cmd/ai/prompt/agent.js +0 -28
- package/dist/cmd/ai/prompt/agent.js.map +0 -1
- package/dist/cmd/build/app-router-detector.d.ts +0 -39
- package/dist/cmd/build/app-router-detector.d.ts.map +0 -1
- package/dist/cmd/build/app-router-detector.js +0 -229
- package/dist/cmd/build/app-router-detector.js.map +0 -1
- package/dist/cmd/build/format-schema.d.ts +0 -6
- package/dist/cmd/build/format-schema.d.ts.map +0 -1
- package/dist/cmd/build/format-schema.js +0 -60
- package/dist/cmd/build/format-schema.js.map +0 -1
- package/dist/cmd/build/vite/agent-discovery.d.ts +0 -37
- package/dist/cmd/build/vite/agent-discovery.d.ts.map +0 -1
- package/dist/cmd/build/vite/agent-discovery.js +0 -263
- package/dist/cmd/build/vite/agent-discovery.js.map +0 -1
- package/dist/cmd/build/vite/beacon-plugin.d.ts +0 -19
- package/dist/cmd/build/vite/beacon-plugin.d.ts.map +0 -1
- package/dist/cmd/build/vite/beacon-plugin.js +0 -137
- package/dist/cmd/build/vite/beacon-plugin.js.map +0 -1
- package/dist/cmd/build/vite/browser-env-plugin.d.ts +0 -9
- package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +0 -1
- package/dist/cmd/build/vite/browser-env-plugin.js +0 -28
- package/dist/cmd/build/vite/browser-env-plugin.js.map +0 -1
- package/dist/cmd/build/vite/bun-dev-server.d.ts +0 -67
- package/dist/cmd/build/vite/bun-dev-server.d.ts.map +0 -1
- package/dist/cmd/build/vite/bun-dev-server.js +0 -340
- package/dist/cmd/build/vite/bun-dev-server.js.map +0 -1
- package/dist/cmd/build/vite/bundle-files.d.ts +0 -12
- package/dist/cmd/build/vite/bundle-files.d.ts.map +0 -1
- package/dist/cmd/build/vite/bundle-files.js +0 -107
- package/dist/cmd/build/vite/bundle-files.js.map +0 -1
- package/dist/cmd/build/vite/config-loader.d.ts +0 -29
- package/dist/cmd/build/vite/config-loader.d.ts.map +0 -1
- package/dist/cmd/build/vite/config-loader.js +0 -57
- package/dist/cmd/build/vite/config-loader.js.map +0 -1
- package/dist/cmd/build/vite/db-rewrite.d.ts +0 -50
- package/dist/cmd/build/vite/db-rewrite.d.ts.map +0 -1
- package/dist/cmd/build/vite/db-rewrite.js +0 -169
- package/dist/cmd/build/vite/db-rewrite.js.map +0 -1
- package/dist/cmd/build/vite/docs-generator.d.ts +0 -13
- package/dist/cmd/build/vite/docs-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/docs-generator.js +0 -97
- package/dist/cmd/build/vite/docs-generator.js.map +0 -1
- package/dist/cmd/build/vite/env-types-generator.d.ts +0 -26
- package/dist/cmd/build/vite/env-types-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/env-types-generator.js +0 -110
- package/dist/cmd/build/vite/env-types-generator.js.map +0 -1
- package/dist/cmd/build/vite/index.d.ts +0 -3
- package/dist/cmd/build/vite/index.d.ts.map +0 -1
- package/dist/cmd/build/vite/index.js +0 -4
- package/dist/cmd/build/vite/index.js.map +0 -1
- package/dist/cmd/build/vite/lifecycle-generator.d.ts +0 -19
- package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/lifecycle-generator.js +0 -328
- package/dist/cmd/build/vite/lifecycle-generator.js.map +0 -1
- package/dist/cmd/build/vite/metadata-generator.d.ts +0 -36
- package/dist/cmd/build/vite/metadata-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/metadata-generator.js +0 -575
- package/dist/cmd/build/vite/metadata-generator.js.map +0 -1
- package/dist/cmd/build/vite/prompt-generator.d.ts +0 -23
- package/dist/cmd/build/vite/prompt-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/prompt-generator.js +0 -123
- package/dist/cmd/build/vite/prompt-generator.js.map +0 -1
- package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +0 -45
- package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +0 -1
- package/dist/cmd/build/vite/public-asset-path-plugin.js +0 -166
- package/dist/cmd/build/vite/public-asset-path-plugin.js.map +0 -1
- package/dist/cmd/build/vite/route-discovery.d.ts +0 -64
- package/dist/cmd/build/vite/route-discovery.d.ts.map +0 -1
- package/dist/cmd/build/vite/route-discovery.js +0 -187
- package/dist/cmd/build/vite/route-discovery.js.map +0 -1
- package/dist/cmd/build/vite/server-bundler.d.ts +0 -20
- package/dist/cmd/build/vite/server-bundler.d.ts.map +0 -1
- package/dist/cmd/build/vite/server-bundler.js +0 -388
- package/dist/cmd/build/vite/server-bundler.js.map +0 -1
- package/dist/cmd/build/vite/static-renderer.d.ts +0 -26
- package/dist/cmd/build/vite/static-renderer.d.ts.map +0 -1
- package/dist/cmd/build/vite/static-renderer.js +0 -188
- package/dist/cmd/build/vite/static-renderer.js.map +0 -1
- package/dist/cmd/build/vite/tailwind-source-plugin.d.ts +0 -15
- package/dist/cmd/build/vite/tailwind-source-plugin.d.ts.map +0 -1
- package/dist/cmd/build/vite/tailwind-source-plugin.js +0 -61
- package/dist/cmd/build/vite/tailwind-source-plugin.js.map +0 -1
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts +0 -24
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +0 -1
- package/dist/cmd/build/vite/vite-asset-server-config.js +0 -285
- package/dist/cmd/build/vite/vite-asset-server-config.js.map +0 -1
- package/dist/cmd/build/vite/vite-asset-server.d.ts +0 -30
- package/dist/cmd/build/vite/vite-asset-server.d.ts.map +0 -1
- package/dist/cmd/build/vite/vite-asset-server.js +0 -109
- package/dist/cmd/build/vite/vite-asset-server.js.map +0 -1
- package/dist/cmd/build/vite/vite-builder.d.ts +0 -59
- package/dist/cmd/build/vite/vite-builder.d.ts.map +0 -1
- package/dist/cmd/build/vite/vite-builder.js +0 -401
- package/dist/cmd/build/vite/vite-builder.js.map +0 -1
- package/dist/cmd/build/vite/workbench-generator.d.ts +0 -10
- package/dist/cmd/build/vite/workbench-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/workbench-generator.js +0 -135
- package/dist/cmd/build/vite/workbench-generator.js.map +0 -1
- package/dist/cmd/build/vite/ws-proxy.d.ts +0 -53
- package/dist/cmd/build/vite/ws-proxy.d.ts.map +0 -1
- package/dist/cmd/build/vite/ws-proxy.js +0 -95
- package/dist/cmd/build/vite/ws-proxy.js.map +0 -1
- package/dist/cmd/build/vite-bundler.d.ts +0 -29
- package/dist/cmd/build/vite-bundler.d.ts.map +0 -1
- package/dist/cmd/build/vite-bundler.js +0 -93
- package/dist/cmd/build/vite-bundler.js.map +0 -1
- package/dist/cmd/dev/agents.d.ts +0 -2
- package/dist/cmd/dev/agents.d.ts.map +0 -1
- package/dist/cmd/dev/agents.js +0 -123
- package/dist/cmd/dev/agents.js.map +0 -1
- package/dist/cmd/dev/api.d.ts +0 -20
- package/dist/cmd/dev/api.d.ts.map +0 -1
- package/dist/cmd/dev/api.js +0 -42
- package/dist/cmd/dev/api.js.map +0 -1
- package/dist/cmd/dev/dev-lock.d.ts +0 -62
- package/dist/cmd/dev/dev-lock.d.ts.map +0 -1
- package/dist/cmd/dev/dev-lock.js +0 -250
- package/dist/cmd/dev/dev-lock.js.map +0 -1
- package/dist/cmd/dev/download.d.ts +0 -11
- package/dist/cmd/dev/download.d.ts.map +0 -1
- package/dist/cmd/dev/download.js +0 -94
- package/dist/cmd/dev/download.js.map +0 -1
- package/dist/cmd/dev/file-watcher.d.ts +0 -24
- package/dist/cmd/dev/file-watcher.d.ts.map +0 -1
- package/dist/cmd/dev/file-watcher.js +0 -349
- package/dist/cmd/dev/file-watcher.js.map +0 -1
- package/dist/cmd/dev/process-manager.d.ts +0 -104
- package/dist/cmd/dev/process-manager.d.ts.map +0 -1
- package/dist/cmd/dev/process-manager.js +0 -204
- package/dist/cmd/dev/process-manager.js.map +0 -1
- package/dist/cmd/dev/sync.d.ts +0 -12
- package/dist/cmd/dev/sync.d.ts.map +0 -1
- package/dist/cmd/dev/sync.js +0 -227
- package/dist/cmd/dev/sync.js.map +0 -1
- package/dist/cmd/dev/templates.d.ts +0 -3
- package/dist/cmd/dev/templates.d.ts.map +0 -1
- package/dist/cmd/dev/templates.js +0 -58
- package/dist/cmd/dev/templates.js.map +0 -1
- package/dist/cmd/project/download.d.ts +0 -35
- package/dist/cmd/project/download.d.ts.map +0 -1
- package/dist/cmd/project/download.js +0 -403
- package/dist/cmd/project/download.js.map +0 -1
- package/dist/cmd/project/templates.d.ts +0 -9
- package/dist/cmd/project/templates.d.ts.map +0 -1
- package/dist/cmd/project/templates.js +0 -34
- package/dist/cmd/project/templates.js.map +0 -1
- package/src/agents-docs.ts +0 -86
- package/src/cmd/ai/prompt/agent.md +0 -305
- package/src/cmd/ai/prompt/agent.ts +0 -31
- package/src/cmd/build/app-router-detector.ts +0 -320
- package/src/cmd/build/format-schema.ts +0 -66
- package/src/cmd/build/vite/agent-discovery.ts +0 -380
- package/src/cmd/build/vite/beacon-plugin.ts +0 -164
- package/src/cmd/build/vite/browser-env-plugin.ts +0 -34
- package/src/cmd/build/vite/bun-dev-server.ts +0 -458
- package/src/cmd/build/vite/bundle-files.ts +0 -135
- package/src/cmd/build/vite/config-loader.ts +0 -76
- package/src/cmd/build/vite/db-rewrite.ts +0 -189
- package/src/cmd/build/vite/docs-generator.ts +0 -103
- package/src/cmd/build/vite/env-types-generator.ts +0 -145
- package/src/cmd/build/vite/index.ts +0 -3
- package/src/cmd/build/vite/lifecycle-generator.ts +0 -381
- package/src/cmd/build/vite/metadata-generator.ts +0 -713
- package/src/cmd/build/vite/prompt-generator.ts +0 -169
- package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
- package/src/cmd/build/vite/route-discovery.ts +0 -271
- package/src/cmd/build/vite/server-bundler.ts +0 -481
- package/src/cmd/build/vite/static-renderer.ts +0 -239
- package/src/cmd/build/vite/tailwind-source-plugin.ts +0 -73
- package/src/cmd/build/vite/vite-asset-server-config.ts +0 -349
- package/src/cmd/build/vite/vite-asset-server.ts +0 -154
- package/src/cmd/build/vite/vite-builder.ts +0 -503
- package/src/cmd/build/vite/workbench-generator.ts +0 -152
- package/src/cmd/build/vite/ws-proxy.ts +0 -126
- package/src/cmd/build/vite-bundler.ts +0 -137
- package/src/cmd/dev/agents.ts +0 -140
- package/src/cmd/dev/api.ts +0 -65
- package/src/cmd/dev/dev-lock.ts +0 -332
- package/src/cmd/dev/download.ts +0 -117
- package/src/cmd/dev/file-watcher.ts +0 -423
- package/src/cmd/dev/process-manager.ts +0 -261
- package/src/cmd/dev/sync.ts +0 -411
- package/src/cmd/dev/templates.ts +0 -66
- package/src/cmd/project/download.ts +0 -505
- package/src/cmd/project/templates.ts +0 -56
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Prompt Generator
|
|
3
|
-
*
|
|
4
|
-
* Generates AGENTS.md prompt files in .agents/agentuity/sdk/[type]/ directories.
|
|
5
|
-
* Also creates reference files in src/[type]/AGENTS.md (write-once, only if missing).
|
|
6
|
-
*
|
|
7
|
-
* Uses hash tracking to detect template changes in .agents/ folder.
|
|
8
|
-
* Reference files in src/ are never overwritten once created.
|
|
9
|
-
*
|
|
10
|
-
* Only runs in dev mode.
|
|
11
|
-
*/
|
|
12
|
-
import { join, dirname } from 'node:path';
|
|
13
|
-
import { mkdir } from 'node:fs/promises';
|
|
14
|
-
import { needsUpdate } from '../../ai/prompt/version';
|
|
15
|
-
import { generateLLMPrompt as generateAgentPrompt, getPromptContent as getAgentContent, } from '../../ai/prompt/agent';
|
|
16
|
-
import { generateLLMPrompt as generateApiPrompt, getPromptContent as getApiContent, } from '../../ai/prompt/api';
|
|
17
|
-
import { generateLLMPrompt as generateWebPrompt, getPromptContent as getWebContent, } from '../../ai/prompt/web';
|
|
18
|
-
const PROMPTS = [
|
|
19
|
-
{
|
|
20
|
-
name: 'agent',
|
|
21
|
-
srcFolder: 'agent',
|
|
22
|
-
generate: generateAgentPrompt,
|
|
23
|
-
getContent: getAgentContent,
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: 'api',
|
|
27
|
-
srcFolder: 'api',
|
|
28
|
-
generate: generateApiPrompt,
|
|
29
|
-
getContent: getApiContent,
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
name: 'web',
|
|
33
|
-
srcFolder: 'web',
|
|
34
|
-
generate: generateWebPrompt,
|
|
35
|
-
getContent: getWebContent,
|
|
36
|
-
},
|
|
37
|
-
];
|
|
38
|
-
/**
|
|
39
|
-
* Generate the reference file content that points to .agents/
|
|
40
|
-
*/
|
|
41
|
-
function generateReferenceContent(name) {
|
|
42
|
-
return `See [.agents/agentuity/sdk/${name}/AGENTS.md](../../.agents/agentuity/sdk/${name}/AGENTS.md) for Agentuity ${name} development guidelines.
|
|
43
|
-
`;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Generate or update prompt files.
|
|
47
|
-
*
|
|
48
|
-
* - .agents/agentuity/sdk/[type]/AGENTS.md: Full content, updated when hash differs
|
|
49
|
-
* - src/[type]/AGENTS.md: Reference file, only created if missing
|
|
50
|
-
*
|
|
51
|
-
* @param srcDir - The src/ directory path
|
|
52
|
-
* @param logger - Logger for output
|
|
53
|
-
*/
|
|
54
|
-
export async function generatePromptFiles(srcDir, logger) {
|
|
55
|
-
const projectRoot = dirname(srcDir);
|
|
56
|
-
for (const prompt of PROMPTS) {
|
|
57
|
-
await generatePromptFile(projectRoot, srcDir, prompt, logger);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
async function generatePromptFile(projectRoot, srcDir, config, logger) {
|
|
61
|
-
const srcFolderPath = join(srcDir, config.srcFolder);
|
|
62
|
-
// Check if the src folder exists (e.g., src/agent/)
|
|
63
|
-
try {
|
|
64
|
-
const stat = await Bun.$ `test -d ${srcFolderPath}`.nothrow();
|
|
65
|
-
if (stat.exitCode !== 0) {
|
|
66
|
-
logger.trace(`Skipping ${config.name} prompt - src/${config.srcFolder}/ does not exist`);
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
logger.trace(`Skipping ${config.name} prompt - src/${config.srcFolder}/ does not exist`);
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
// Generate files
|
|
75
|
-
await generateAgentsFile(projectRoot, config, logger);
|
|
76
|
-
await generateReferenceFile(srcFolderPath, config, logger);
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Generate/update the .agents/agentuity/sdk/[type]/AGENTS.md file.
|
|
80
|
-
* Overwrites if hash differs from source template.
|
|
81
|
-
*/
|
|
82
|
-
async function generateAgentsFile(projectRoot, config, logger) {
|
|
83
|
-
const agentsDir = join(projectRoot, '.agents', 'agentuity', 'sdk', config.name);
|
|
84
|
-
const filePath = join(agentsDir, 'AGENTS.md');
|
|
85
|
-
const file = Bun.file(filePath);
|
|
86
|
-
const fileExists = await file.exists();
|
|
87
|
-
if (!fileExists) {
|
|
88
|
-
// File doesn't exist - create it
|
|
89
|
-
await mkdir(agentsDir, { recursive: true });
|
|
90
|
-
const content = config.generate();
|
|
91
|
-
await Bun.write(filePath, content);
|
|
92
|
-
logger.debug(`Generated .agents/agentuity/sdk/${config.name}/AGENTS.md`);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
// File exists - check if it needs to be updated
|
|
96
|
-
const existingContent = await file.text();
|
|
97
|
-
const sourceContent = config.getContent();
|
|
98
|
-
if (needsUpdate(existingContent, sourceContent)) {
|
|
99
|
-
const content = config.generate();
|
|
100
|
-
await Bun.write(filePath, content);
|
|
101
|
-
logger.debug(`Updated .agents/agentuity/sdk/${config.name}/AGENTS.md`);
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
logger.trace(`Skipping ${config.name} prompt - already up to date`);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Generate the src/[type]/AGENTS.md reference file.
|
|
108
|
-
* Only creates if missing (write-once).
|
|
109
|
-
*/
|
|
110
|
-
async function generateReferenceFile(srcFolderPath, config, logger) {
|
|
111
|
-
const filePath = join(srcFolderPath, 'AGENTS.md');
|
|
112
|
-
const file = Bun.file(filePath);
|
|
113
|
-
const fileExists = await file.exists();
|
|
114
|
-
if (fileExists) {
|
|
115
|
-
logger.trace(`Skipping src/${config.srcFolder}/AGENTS.md - already exists`);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
// Create the reference file
|
|
119
|
-
const content = generateReferenceContent(config.name);
|
|
120
|
-
await Bun.write(filePath, content);
|
|
121
|
-
logger.debug(`Generated src/${config.srcFolder}/AGENTS.md (reference)`);
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=prompt-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-generator.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/prompt-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vite plugin to fix incorrect public asset paths
|
|
3
|
-
*
|
|
4
|
-
* Developers should use /public/ paths for static assets from src/web/public/.
|
|
5
|
-
* In production, these paths are transformed to CDN URLs.
|
|
6
|
-
*
|
|
7
|
-
* This plugin:
|
|
8
|
-
* 1. During build: Rewrites /public/* paths to CDN URLs
|
|
9
|
-
* 2. During dev: Warns only about incorrect source paths (src/web/public/)
|
|
10
|
-
*
|
|
11
|
-
* Supported patterns (work in dev, rewritten to CDN in production):
|
|
12
|
-
* - '/public/foo.svg' → CDN URL (recommended)
|
|
13
|
-
* - './public/foo.svg' → CDN URL
|
|
14
|
-
* - 'url(/public/foo.svg)' → CDN URL (CSS unquoted)
|
|
15
|
-
* - 'url(./public/foo.svg)' → CDN URL (CSS unquoted)
|
|
16
|
-
*
|
|
17
|
-
* Incorrect patterns (warned in dev, rewritten in production):
|
|
18
|
-
* - '/src/web/public/foo.svg' → CDN URL
|
|
19
|
-
* - './src/web/public/foo.svg' → CDN URL
|
|
20
|
-
* - 'src/web/public/foo.svg' → CDN URL
|
|
21
|
-
*/
|
|
22
|
-
import type { Plugin } from 'vite';
|
|
23
|
-
export interface PublicAssetPathPluginOptions {
|
|
24
|
-
/** Whether to show warnings in dev mode (default: true) */
|
|
25
|
-
warnInDev?: boolean;
|
|
26
|
-
/** CDN base URL for production builds (e.g., 'https://cdn.agentuity.com/{deploymentId}/client/') */
|
|
27
|
-
cdnBaseUrl?: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Vite plugin that fixes public asset paths and rewrites to CDN URLs
|
|
31
|
-
*
|
|
32
|
-
* Rewrites all public asset paths to CDN URLs in production.
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* // In vite config:
|
|
36
|
-
* plugins: [publicAssetPathPlugin({ cdnBaseUrl: 'https://cdn.example.com/deploy/client/' })]
|
|
37
|
-
*
|
|
38
|
-
* // In code, use /public/ paths:
|
|
39
|
-
* <img src="/public/logo.svg" />
|
|
40
|
-
*
|
|
41
|
-
* // Transforms in production:
|
|
42
|
-
* // '/public/logo.svg' → 'https://cdn.example.com/deploy/client/logo.svg'
|
|
43
|
-
*/
|
|
44
|
-
export declare function publicAssetPathPlugin(options?: PublicAssetPathPluginOptions): Plugin;
|
|
45
|
-
//# sourceMappingURL=public-asset-path-plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public-asset-path-plugin.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/public-asset-path-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,4BAA4B;IAC5C,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAwDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,MAAM,CA4GxF"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vite plugin to fix incorrect public asset paths
|
|
3
|
-
*
|
|
4
|
-
* Developers should use /public/ paths for static assets from src/web/public/.
|
|
5
|
-
* In production, these paths are transformed to CDN URLs.
|
|
6
|
-
*
|
|
7
|
-
* This plugin:
|
|
8
|
-
* 1. During build: Rewrites /public/* paths to CDN URLs
|
|
9
|
-
* 2. During dev: Warns only about incorrect source paths (src/web/public/)
|
|
10
|
-
*
|
|
11
|
-
* Supported patterns (work in dev, rewritten to CDN in production):
|
|
12
|
-
* - '/public/foo.svg' → CDN URL (recommended)
|
|
13
|
-
* - './public/foo.svg' → CDN URL
|
|
14
|
-
* - 'url(/public/foo.svg)' → CDN URL (CSS unquoted)
|
|
15
|
-
* - 'url(./public/foo.svg)' → CDN URL (CSS unquoted)
|
|
16
|
-
*
|
|
17
|
-
* Incorrect patterns (warned in dev, rewritten in production):
|
|
18
|
-
* - '/src/web/public/foo.svg' → CDN URL
|
|
19
|
-
* - './src/web/public/foo.svg' → CDN URL
|
|
20
|
-
* - 'src/web/public/foo.svg' → CDN URL
|
|
21
|
-
*/
|
|
22
|
-
/**
|
|
23
|
-
* Patterns that are incorrect - reference source paths directly
|
|
24
|
-
*/
|
|
25
|
-
function createIncorrectPatterns() {
|
|
26
|
-
return [
|
|
27
|
-
// '/src/web/public/...' or './src/web/public/...' or 'src/web/public/...'
|
|
28
|
-
{
|
|
29
|
-
regex: /(['"`])(?:\.?\/)?src\/web\/public\//g,
|
|
30
|
-
description: 'src/web/public/',
|
|
31
|
-
replacement: '$1{base}',
|
|
32
|
-
},
|
|
33
|
-
];
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Patterns that need rewriting for production CDN
|
|
37
|
-
* Both patterns simply replace the prefix while preserving the rest of the path naturally.
|
|
38
|
-
*/
|
|
39
|
-
function createPublicPatterns() {
|
|
40
|
-
return [
|
|
41
|
-
// './public/...' (relative public path) - replace prefix, keep rest
|
|
42
|
-
{
|
|
43
|
-
regex: /(['"`])\.\/public\//g,
|
|
44
|
-
description: './public/',
|
|
45
|
-
replacement: '$1{base}',
|
|
46
|
-
},
|
|
47
|
-
// '/public/...' (absolute public path) - replace prefix, keep rest
|
|
48
|
-
{
|
|
49
|
-
regex: /(['"`])\/public\//g,
|
|
50
|
-
description: '/public/',
|
|
51
|
-
replacement: '$1{base}',
|
|
52
|
-
},
|
|
53
|
-
// CSS url(/public/...) — unquoted path inside url()
|
|
54
|
-
{
|
|
55
|
-
regex: /url\(\/public\//g,
|
|
56
|
-
description: 'url(/public/)',
|
|
57
|
-
replacement: 'url({base}',
|
|
58
|
-
},
|
|
59
|
-
// CSS url(./public/...) — unquoted relative path inside url()
|
|
60
|
-
{
|
|
61
|
-
regex: /url\(\.\/public\//g,
|
|
62
|
-
description: 'url(./public/)',
|
|
63
|
-
replacement: 'url({base}',
|
|
64
|
-
},
|
|
65
|
-
];
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Vite plugin that fixes public asset paths and rewrites to CDN URLs
|
|
69
|
-
*
|
|
70
|
-
* Rewrites all public asset paths to CDN URLs in production.
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* // In vite config:
|
|
74
|
-
* plugins: [publicAssetPathPlugin({ cdnBaseUrl: 'https://cdn.example.com/deploy/client/' })]
|
|
75
|
-
*
|
|
76
|
-
* // In code, use /public/ paths:
|
|
77
|
-
* <img src="/public/logo.svg" />
|
|
78
|
-
*
|
|
79
|
-
* // Transforms in production:
|
|
80
|
-
* // '/public/logo.svg' → 'https://cdn.example.com/deploy/client/logo.svg'
|
|
81
|
-
*/
|
|
82
|
-
export function publicAssetPathPlugin(options = {}) {
|
|
83
|
-
const { warnInDev = true, cdnBaseUrl } = options;
|
|
84
|
-
let isDev = false;
|
|
85
|
-
const warnedFiles = new Map(); // file -> set of patterns warned
|
|
86
|
-
return {
|
|
87
|
-
name: 'agentuity:public-asset-path',
|
|
88
|
-
configResolved(config) {
|
|
89
|
-
isDev = config.command === 'serve';
|
|
90
|
-
},
|
|
91
|
-
transform(code, id) {
|
|
92
|
-
// Only transform files in src/web (browser code)
|
|
93
|
-
if (!id.includes('/src/web/') && !id.includes('\\src\\web\\')) {
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
// Quick check: does the code contain any patterns we care about?
|
|
97
|
-
const hasIncorrectSourcePaths = code.includes('src/web/public/');
|
|
98
|
-
const hasPublicPaths = code.includes('/public/') || code.includes('./public/');
|
|
99
|
-
if (!hasIncorrectSourcePaths && !hasPublicPaths) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
// In dev mode, only warn about incorrect source paths (src/web/public/)
|
|
103
|
-
// /public/ and ./public/ paths work correctly in dev mode
|
|
104
|
-
if (isDev) {
|
|
105
|
-
if (warnInDev && hasIncorrectSourcePaths) {
|
|
106
|
-
const patterns = createIncorrectPatterns();
|
|
107
|
-
const foundPatterns = [];
|
|
108
|
-
for (const { regex, description } of patterns) {
|
|
109
|
-
if (regex.test(code)) {
|
|
110
|
-
foundPatterns.push(description);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
if (foundPatterns.length > 0) {
|
|
114
|
-
const fileWarnings = warnedFiles.get(id) || new Set();
|
|
115
|
-
const newWarnings = foundPatterns.filter((p) => !fileWarnings.has(p));
|
|
116
|
-
if (newWarnings.length > 0) {
|
|
117
|
-
for (const p of newWarnings) {
|
|
118
|
-
fileWarnings.add(p);
|
|
119
|
-
}
|
|
120
|
-
warnedFiles.set(id, fileWarnings);
|
|
121
|
-
this.warn(`Found incorrect asset path(s) in ${id}:\n` +
|
|
122
|
-
newWarnings.map((p) => ` - '${p}' should be '/public/'`).join('\n') +
|
|
123
|
-
`\nUse '/public/...' paths for static assets.`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
// In dev mode, never transform - Vite serves from source paths
|
|
128
|
-
// and the Bun server proxies /public/* to Vite
|
|
129
|
-
return null;
|
|
130
|
-
}
|
|
131
|
-
// Build mode: transform paths to CDN URLs
|
|
132
|
-
let transformed = code;
|
|
133
|
-
// Determine target URL: CDN base if provided, otherwise /public/
|
|
134
|
-
const targetBase = cdnBaseUrl
|
|
135
|
-
? cdnBaseUrl.endsWith('/')
|
|
136
|
-
? cdnBaseUrl
|
|
137
|
-
: `${cdnBaseUrl}/`
|
|
138
|
-
: '/public/';
|
|
139
|
-
// Transform incorrect source paths (src/web/public/) → CDN
|
|
140
|
-
if (hasIncorrectSourcePaths) {
|
|
141
|
-
const patterns = createIncorrectPatterns();
|
|
142
|
-
for (const { regex, replacement } of patterns) {
|
|
143
|
-
const replaceRegex = new RegExp(regex.source, regex.flags);
|
|
144
|
-
transformed = transformed.replace(replaceRegex, replacement.replace('{base}', targetBase));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
// Transform public paths → CDN
|
|
148
|
-
if (hasPublicPaths) {
|
|
149
|
-
const publicPatterns = createPublicPatterns();
|
|
150
|
-
for (const { regex, replacement } of publicPatterns) {
|
|
151
|
-
const replaceRegex = new RegExp(regex.source, regex.flags);
|
|
152
|
-
transformed = transformed.replace(replaceRegex, replacement.replace('{base}', targetBase));
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// Return transformed code if changed
|
|
156
|
-
if (transformed !== code) {
|
|
157
|
-
return {
|
|
158
|
-
code: transformed,
|
|
159
|
-
map: null,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
return null;
|
|
163
|
-
},
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
//# sourceMappingURL=public-asset-path-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public-asset-path-plugin.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/public-asset-path-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Route Discovery — Explicit Routing Only
|
|
3
|
-
*
|
|
4
|
-
* Discovers routes from `createApp({ router })` by importing the router
|
|
5
|
-
* module at build time and reading `router.routes` from the Hono instance.
|
|
6
|
-
*
|
|
7
|
-
* File-based routing (scanning src/api/**) is no longer supported.
|
|
8
|
-
*/
|
|
9
|
-
import type { Logger } from '../../../types';
|
|
10
|
-
import { type AppRouterDetection } from '../app-router-detector';
|
|
11
|
-
export interface RouteMetadata {
|
|
12
|
-
id: string;
|
|
13
|
-
filename: string;
|
|
14
|
-
path: string;
|
|
15
|
-
method: string;
|
|
16
|
-
version: string;
|
|
17
|
-
type: 'api' | 'sms' | 'email' | 'cron' | 'websocket' | 'sse' | 'stream';
|
|
18
|
-
agentIds?: string[];
|
|
19
|
-
config?: Record<string, unknown>;
|
|
20
|
-
schema?: {
|
|
21
|
-
input?: string;
|
|
22
|
-
output?: string;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Extract path parameters from a route path.
|
|
27
|
-
* Matches patterns like :id, :userId, :id?, *path, etc.
|
|
28
|
-
*/
|
|
29
|
-
export declare function extractPathParams(path: string): string[];
|
|
30
|
-
/**
|
|
31
|
-
* Generate a deterministic route ID from project/deployment/type/method/filename/path/version.
|
|
32
|
-
* Must match the format used by the platform (prefix: route_, SHA1 hash of all components).
|
|
33
|
-
*/
|
|
34
|
-
export declare function generateRouteId(projectId: string, deploymentId: string, type: string, method: string, filename: string, path: string, version: string): string;
|
|
35
|
-
/**
|
|
36
|
-
* Discover all routes from explicit router mounts in createApp({ router }).
|
|
37
|
-
*
|
|
38
|
-
* Imports each router module at build time and reads `router.routes` from
|
|
39
|
-
* the Hono instance to extract method, path, and route type.
|
|
40
|
-
*
|
|
41
|
-
* @throws If no explicit router is detected in app.ts
|
|
42
|
-
*/
|
|
43
|
-
export declare function discoverRoutes(srcDir: string, projectId: string, deploymentId: string, logger: Logger): Promise<{
|
|
44
|
-
routes: RouteMetadata[];
|
|
45
|
-
explicitRouter?: AppRouterDetection;
|
|
46
|
-
}>;
|
|
47
|
-
export interface RouteConflict {
|
|
48
|
-
type: 'duplicate';
|
|
49
|
-
routes: Array<{
|
|
50
|
-
method: string;
|
|
51
|
-
path: string;
|
|
52
|
-
filename: string;
|
|
53
|
-
}>;
|
|
54
|
-
message: string;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Detect conflicts between routes.
|
|
58
|
-
*/
|
|
59
|
-
export declare function detectRouteConflicts(routes: Array<{
|
|
60
|
-
method: string;
|
|
61
|
-
path: string;
|
|
62
|
-
filename: string;
|
|
63
|
-
}>): RouteConflict[];
|
|
64
|
-
//# sourceMappingURL=route-discovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-discovery.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/route-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC;IACxE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAWxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACb,MAAM,CAMR;AAmCD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC;IACV,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC,CAAC,CAoHD;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/D,aAAa,EAAE,CAyBjB"}
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Route Discovery — Explicit Routing Only
|
|
3
|
-
*
|
|
4
|
-
* Discovers routes from `createApp({ router })` by importing the router
|
|
5
|
-
* module at build time and reading `router.routes` from the Hono instance.
|
|
6
|
-
*
|
|
7
|
-
* File-based routing (scanning src/api/**) is no longer supported.
|
|
8
|
-
*/
|
|
9
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
10
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
11
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
12
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
return path;
|
|
16
|
-
};
|
|
17
|
-
import { join, relative } from 'node:path';
|
|
18
|
-
import { createHash } from 'node:crypto';
|
|
19
|
-
import { toForwardSlash } from '../../../utils/normalize-path';
|
|
20
|
-
import { detectExplicitRouter } from '../app-router-detector';
|
|
21
|
-
/**
|
|
22
|
-
* Extract path parameters from a route path.
|
|
23
|
-
* Matches patterns like :id, :userId, :id?, *path, etc.
|
|
24
|
-
*/
|
|
25
|
-
export function extractPathParams(path) {
|
|
26
|
-
const params = [];
|
|
27
|
-
const parts = path.split('/');
|
|
28
|
-
for (const part of parts) {
|
|
29
|
-
if (part.startsWith(':')) {
|
|
30
|
-
params.push(part.replace(/^:|[?+*]$/g, ''));
|
|
31
|
-
}
|
|
32
|
-
else if (part.startsWith('*') && part.length > 1) {
|
|
33
|
-
params.push(part.substring(1).replace(/[?+*]$/g, ''));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return params;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Generate a deterministic route ID from project/deployment/type/method/filename/path/version.
|
|
40
|
-
* Must match the format used by the platform (prefix: route_, SHA1 hash of all components).
|
|
41
|
-
*/
|
|
42
|
-
export function generateRouteId(projectId, deploymentId, type, method, filename, path, version) {
|
|
43
|
-
const hasher = new Bun.CryptoHasher('sha1');
|
|
44
|
-
for (const val of [projectId, deploymentId, type, method, filename, path, version]) {
|
|
45
|
-
hasher.update(val);
|
|
46
|
-
}
|
|
47
|
-
return `route_${hasher.digest().toHex()}`;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Generate a version hash from file contents.
|
|
51
|
-
*/
|
|
52
|
-
async function generateFileVersion(filePath) {
|
|
53
|
-
try {
|
|
54
|
-
const content = await Bun.file(filePath).text();
|
|
55
|
-
return createHash('sha256').update(content).digest('hex').substring(0, 16);
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
return 'unknown';
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Detect route type from handler metadata or method.
|
|
63
|
-
* Checks for route-meta symbol stamped by handler wrappers (websocket, sse, stream, cron).
|
|
64
|
-
*/
|
|
65
|
-
function detectRouteType(handler) {
|
|
66
|
-
// Check for route-meta symbol (future: handler wrappers will tag this)
|
|
67
|
-
if (typeof handler === 'function') {
|
|
68
|
-
const meta = handler[Symbol.for('agentuity:route-meta')];
|
|
69
|
-
if (meta?.type) {
|
|
70
|
-
return meta.type;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
// Heuristic: upgradeWebSocket handler has a specific name
|
|
74
|
-
if (typeof handler === 'function' && handler.name === 'upgradeWebSocket') {
|
|
75
|
-
return 'websocket';
|
|
76
|
-
}
|
|
77
|
-
return 'api';
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Discover all routes from explicit router mounts in createApp({ router }).
|
|
81
|
-
*
|
|
82
|
-
* Imports each router module at build time and reads `router.routes` from
|
|
83
|
-
* the Hono instance to extract method, path, and route type.
|
|
84
|
-
*
|
|
85
|
-
* @throws If no explicit router is detected in app.ts
|
|
86
|
-
*/
|
|
87
|
-
export async function discoverRoutes(srcDir, projectId, deploymentId, logger) {
|
|
88
|
-
const rootDir = join(srcDir, '..');
|
|
89
|
-
const detection = await detectExplicitRouter(rootDir, logger);
|
|
90
|
-
if (!detection.detected || detection.mounts.length === 0) {
|
|
91
|
-
logger.debug('No explicit router detected in createApp() — no routes to discover');
|
|
92
|
-
return { routes: [] };
|
|
93
|
-
}
|
|
94
|
-
logger.debug('Using explicit router detection (%d mount(s) from createApp)', detection.mounts.length);
|
|
95
|
-
const routes = [];
|
|
96
|
-
const seenRoutes = new Set();
|
|
97
|
-
for (const mount of detection.mounts) {
|
|
98
|
-
try {
|
|
99
|
-
// Import the router module at build time
|
|
100
|
-
const routerModule = await import(__rewriteRelativeImportExtension(mount.routerFile));
|
|
101
|
-
const router = routerModule.default ?? routerModule;
|
|
102
|
-
// Validate it's a Hono instance with routes
|
|
103
|
-
if (!router || !Array.isArray(router.routes)) {
|
|
104
|
-
logger.warn('Router module at %s does not export a Hono instance with routes', mount.routerFile);
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
const relFile = './' + toForwardSlash(relative(srcDir, mount.routerFile));
|
|
108
|
-
const version = await generateFileVersion(mount.routerFile);
|
|
109
|
-
// Filter to actual route handlers (not middleware — middleware uses '*' or ALL method)
|
|
110
|
-
const routeEntries = router.routes.filter((r) => r.method !== 'ALL' && r.path !== '*');
|
|
111
|
-
for (const route of routeEntries) {
|
|
112
|
-
const method = String(route.method).toLowerCase();
|
|
113
|
-
// Combine mount path with route path
|
|
114
|
-
let fullPath = route.path;
|
|
115
|
-
if (mount.path !== '/' && !fullPath.startsWith(mount.path)) {
|
|
116
|
-
fullPath = mount.path + (fullPath.startsWith('/') ? fullPath : '/' + fullPath);
|
|
117
|
-
}
|
|
118
|
-
// Deduplicate (Hono may register same route multiple times for middleware)
|
|
119
|
-
const routeKey = `${method.toUpperCase()} ${fullPath}`;
|
|
120
|
-
if (seenRoutes.has(routeKey))
|
|
121
|
-
continue;
|
|
122
|
-
seenRoutes.add(routeKey);
|
|
123
|
-
const routeType = detectRouteType(route.handler);
|
|
124
|
-
const rel = toForwardSlash(relative(rootDir, mount.routerFile));
|
|
125
|
-
const id = generateRouteId(projectId, deploymentId, routeType, method, rel, fullPath, version);
|
|
126
|
-
// Extract type-specific config from route metadata
|
|
127
|
-
const meta = typeof route.handler === 'function'
|
|
128
|
-
? route.handler[Symbol.for('agentuity:route-meta')]
|
|
129
|
-
: undefined;
|
|
130
|
-
const config = meta?.schedule ? { expression: meta.schedule } : undefined;
|
|
131
|
-
routes.push({
|
|
132
|
-
id,
|
|
133
|
-
filename: toForwardSlash(relative(rootDir, mount.routerFile)),
|
|
134
|
-
path: fullPath,
|
|
135
|
-
method,
|
|
136
|
-
version,
|
|
137
|
-
type: routeType,
|
|
138
|
-
config,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
logger.trace('Discovered %d route(s) from explicit mount at %s (%s)', routeEntries.length, mount.path, relFile);
|
|
142
|
-
}
|
|
143
|
-
catch (error) {
|
|
144
|
-
logger.warn('Failed to import router at %s: %s', mount.routerFile, error instanceof Error ? error.message : String(error));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
// Check for route conflicts
|
|
148
|
-
const conflicts = detectRouteConflicts(routes);
|
|
149
|
-
if (conflicts.length > 0) {
|
|
150
|
-
logger.error('Route conflicts detected:');
|
|
151
|
-
for (const conflict of conflicts) {
|
|
152
|
-
logger.error(' %s', conflict.message);
|
|
153
|
-
for (const route of conflict.routes) {
|
|
154
|
-
logger.error(' - %s %s in %s', route.method, route.path, route.filename);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
throw new Error(`Found ${conflicts.length} route conflict(s). Fix the conflicts and try again.`);
|
|
158
|
-
}
|
|
159
|
-
logger.debug('Discovered %d route(s) via explicit router detection', routes.length);
|
|
160
|
-
return { routes, explicitRouter: detection };
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Detect conflicts between routes.
|
|
164
|
-
*/
|
|
165
|
-
export function detectRouteConflicts(routes) {
|
|
166
|
-
const conflicts = [];
|
|
167
|
-
const methodPathMap = new Map();
|
|
168
|
-
for (const route of routes) {
|
|
169
|
-
const key = `${route.method.toUpperCase()} ${route.path}`;
|
|
170
|
-
if (!methodPathMap.has(key)) {
|
|
171
|
-
methodPathMap.set(key, []);
|
|
172
|
-
}
|
|
173
|
-
methodPathMap.get(key).push({ path: route.path, filename: route.filename });
|
|
174
|
-
}
|
|
175
|
-
for (const [methodPath, routeList] of methodPathMap.entries()) {
|
|
176
|
-
if (routeList.length > 1) {
|
|
177
|
-
const [method = 'UNKNOWN'] = methodPath.split(' ', 2);
|
|
178
|
-
conflicts.push({
|
|
179
|
-
type: 'duplicate',
|
|
180
|
-
routes: routeList.map((r) => ({ method, path: r.path, filename: r.filename })),
|
|
181
|
-
message: `Duplicate route: ${methodPath} defined in ${routeList.length} files`,
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
return conflicts;
|
|
186
|
-
}
|
|
187
|
-
//# sourceMappingURL=route-discovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-discovery.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/route-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Server bundler using Bun.build with external dependency management
|
|
3
|
-
* Handles installing externals into .agentuity/node_modules for production
|
|
4
|
-
*/
|
|
5
|
-
import type { Logger } from '../../../types';
|
|
6
|
-
/**
|
|
7
|
-
* Format a Bun build log (BuildMessage or ResolveMessage) into a readable string
|
|
8
|
-
*/
|
|
9
|
-
export declare function formatBuildLog(log: BuildMessage | ResolveMessage): string;
|
|
10
|
-
export interface ServerBundleOptions {
|
|
11
|
-
rootDir: string;
|
|
12
|
-
dev: boolean;
|
|
13
|
-
logger: Logger;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Install external dependencies and build server bundle
|
|
17
|
-
* For production: installs externals into .agentuity/node_modules BEFORE bundling
|
|
18
|
-
*/
|
|
19
|
-
export declare function installExternalsAndBuild(options: ServerBundleOptions): Promise<void>;
|
|
20
|
-
//# sourceMappingURL=server-bundler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server-bundler.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/server-bundler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAK7C;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,cAAc,GAAG,MAAM,CA0BzE;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2a1F"}
|