@agentuity/cli 0.0.108 → 0.0.110

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.
Files changed (87) hide show
  1. package/dist/build-report.d.ts +201 -0
  2. package/dist/build-report.d.ts.map +1 -0
  3. package/dist/build-report.js +335 -0
  4. package/dist/build-report.js.map +1 -0
  5. package/dist/cmd/build/entry-generator.d.ts.map +1 -1
  6. package/dist/cmd/build/entry-generator.js +9 -3
  7. package/dist/cmd/build/entry-generator.js.map +1 -1
  8. package/dist/cmd/build/index.d.ts.map +1 -1
  9. package/dist/cmd/build/index.js +44 -1
  10. package/dist/cmd/build/index.js.map +1 -1
  11. package/dist/cmd/build/typecheck.d.ts +7 -1
  12. package/dist/cmd/build/typecheck.d.ts.map +1 -1
  13. package/dist/cmd/build/typecheck.js +11 -1
  14. package/dist/cmd/build/typecheck.js.map +1 -1
  15. package/dist/cmd/build/vite/index.d.ts +2 -1
  16. package/dist/cmd/build/vite/index.d.ts.map +1 -1
  17. package/dist/cmd/build/vite/index.js +2 -1
  18. package/dist/cmd/build/vite/index.js.map +1 -1
  19. package/dist/cmd/build/vite/metadata-generator.d.ts.map +1 -1
  20. package/dist/cmd/build/vite/metadata-generator.js +2 -4
  21. package/dist/cmd/build/vite/metadata-generator.js.map +1 -1
  22. package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -1
  23. package/dist/cmd/build/vite/registry-generator.js +56 -18
  24. package/dist/cmd/build/vite/registry-generator.js.map +1 -1
  25. package/dist/cmd/build/vite/vite-builder.d.ts +3 -0
  26. package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
  27. package/dist/cmd/build/vite/vite-builder.js +14 -1
  28. package/dist/cmd/build/vite/vite-builder.js.map +1 -1
  29. package/dist/cmd/build/vite-bundler.d.ts +3 -0
  30. package/dist/cmd/build/vite-bundler.d.ts.map +1 -1
  31. package/dist/cmd/build/vite-bundler.js +14 -5
  32. package/dist/cmd/build/vite-bundler.js.map +1 -1
  33. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  34. package/dist/cmd/cloud/deploy.js +86 -9
  35. package/dist/cmd/cloud/deploy.js.map +1 -1
  36. package/dist/cmd/cloud/deployment/show.d.ts.map +1 -1
  37. package/dist/cmd/cloud/deployment/show.js +0 -1
  38. package/dist/cmd/cloud/deployment/show.js.map +1 -1
  39. package/dist/cmd/dev/index.d.ts.map +1 -1
  40. package/dist/cmd/dev/index.js +109 -15
  41. package/dist/cmd/dev/index.js.map +1 -1
  42. package/dist/cmd/project/auth/generate.d.ts +5 -0
  43. package/dist/cmd/project/auth/generate.d.ts.map +1 -0
  44. package/dist/cmd/project/auth/generate.js +102 -0
  45. package/dist/cmd/project/auth/generate.js.map +1 -0
  46. package/dist/cmd/project/auth/index.d.ts +2 -0
  47. package/dist/cmd/project/auth/index.d.ts.map +1 -0
  48. package/dist/cmd/project/auth/index.js +21 -0
  49. package/dist/cmd/project/auth/index.js.map +1 -0
  50. package/dist/cmd/project/auth/init.d.ts +2 -0
  51. package/dist/cmd/project/auth/init.d.ts.map +1 -0
  52. package/dist/cmd/project/auth/init.js +220 -0
  53. package/dist/cmd/project/auth/init.js.map +1 -0
  54. package/dist/cmd/project/auth/shared.d.ts +88 -0
  55. package/dist/cmd/project/auth/shared.d.ts.map +1 -0
  56. package/dist/cmd/project/auth/shared.js +435 -0
  57. package/dist/cmd/project/auth/shared.js.map +1 -0
  58. package/dist/cmd/project/index.d.ts.map +1 -1
  59. package/dist/cmd/project/index.js +9 -1
  60. package/dist/cmd/project/index.js.map +1 -1
  61. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  62. package/dist/cmd/project/template-flow.js +106 -0
  63. package/dist/cmd/project/template-flow.js.map +1 -1
  64. package/dist/types.d.ts +1 -3
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/types.js +1 -2
  67. package/dist/types.js.map +1 -1
  68. package/package.json +5 -4
  69. package/src/build-report.ts +457 -0
  70. package/src/cmd/build/entry-generator.ts +9 -3
  71. package/src/cmd/build/index.ts +51 -1
  72. package/src/cmd/build/typecheck.ts +19 -1
  73. package/src/cmd/build/vite/index.ts +4 -1
  74. package/src/cmd/build/vite/metadata-generator.ts +4 -6
  75. package/src/cmd/build/vite/registry-generator.ts +58 -19
  76. package/src/cmd/build/vite/vite-builder.ts +18 -1
  77. package/src/cmd/build/vite-bundler.ts +17 -4
  78. package/src/cmd/cloud/deploy.ts +105 -11
  79. package/src/cmd/cloud/deployment/show.ts +0 -1
  80. package/src/cmd/dev/index.ts +115 -14
  81. package/src/cmd/project/auth/generate.ts +116 -0
  82. package/src/cmd/project/auth/index.ts +21 -0
  83. package/src/cmd/project/auth/init.ts +263 -0
  84. package/src/cmd/project/auth/shared.ts +534 -0
  85. package/src/cmd/project/index.ts +9 -1
  86. package/src/cmd/project/template-flow.ts +125 -0
  87. package/src/types.ts +1 -2
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Build Report
3
+ *
4
+ * Structured error/warning collection and reporting for build and deploy commands.
5
+ * Outputs a JSON file with a strict schema for CI tooling integration.
6
+ */
7
+ import type { GrammarItem } from './tsc-output-parser';
8
+ /**
9
+ * Error codes for non-TypeScript errors.
10
+ * TypeScript errors use their native TS#### codes.
11
+ */
12
+ export declare const BuildErrorCodes: {
13
+ readonly AST001: "MetadataNameMissing";
14
+ readonly AST002: "DuplicateName";
15
+ readonly AST003: "InvalidExport";
16
+ readonly AST004: "InvalidCronExpression";
17
+ readonly AST005: "InvalidAgentConfig";
18
+ readonly BUILD001: "AppFileNotFound";
19
+ readonly BUILD002: "SourceDirNotFound";
20
+ readonly BUILD003: "DependencyUpgradeFailed";
21
+ readonly BUILD004: "BundleFailed";
22
+ readonly BUILD005: "EntryPointNotFound";
23
+ readonly BUILD006: "ViteBuildFailed";
24
+ readonly BUILD007: "RuntimePackageNotFound";
25
+ readonly BUILD008: "TypecheckToolFailed";
26
+ readonly VAL001: "AgentIdentifierCollision";
27
+ readonly VAL002: "InvalidRoutePath";
28
+ readonly VAL003: "InvalidRouteMethod";
29
+ readonly VAL004: "SchemaValidationFailed";
30
+ readonly DEPLOY001: "DeploymentCreationFailed";
31
+ readonly DEPLOY002: "UploadFailed";
32
+ readonly DEPLOY003: "DeploymentTimeout";
33
+ readonly DEPLOY004: "DeploymentFailed";
34
+ readonly DEPLOY005: "EncryptionFailed";
35
+ readonly DEPLOY006: "CDNUploadFailed";
36
+ };
37
+ export type BuildErrorCode = keyof typeof BuildErrorCodes;
38
+ /**
39
+ * Error scopes for categorizing errors
40
+ */
41
+ export type ErrorScope = 'typescript' | 'ast' | 'build' | 'bundler' | 'validation' | 'deploy';
42
+ /**
43
+ * File-specific error with location information
44
+ */
45
+ export interface FileError {
46
+ type: 'file';
47
+ scope: ErrorScope;
48
+ path: string;
49
+ line: number;
50
+ column: number;
51
+ message: string;
52
+ code?: string;
53
+ }
54
+ /**
55
+ * General error without file location
56
+ */
57
+ export interface GeneralError {
58
+ type: 'general';
59
+ scope: ErrorScope;
60
+ message: string;
61
+ code?: string;
62
+ }
63
+ /**
64
+ * Union type for all build errors
65
+ */
66
+ export type BuildError = FileError | GeneralError;
67
+ /**
68
+ * Union type for all build warnings (same structure as errors)
69
+ */
70
+ export type BuildWarning = FileError | GeneralError;
71
+ /**
72
+ * Diagnostic timing information for a build phase
73
+ */
74
+ export interface BuildDiagnostic {
75
+ name: string;
76
+ startedAt: string;
77
+ completedAt: string;
78
+ durationMs: number;
79
+ }
80
+ /**
81
+ * Complete build report structure
82
+ */
83
+ export interface BuildReport {
84
+ success: boolean;
85
+ errors: BuildError[];
86
+ warnings: BuildWarning[];
87
+ diagnostics: BuildDiagnostic[];
88
+ }
89
+ /**
90
+ * Diagnostic phases for timing
91
+ */
92
+ export declare const DiagnosticPhases: readonly ["typecheck", "client-build", "workbench-build", "server-build", "metadata-generation", "zip-package", "encrypt", "code-upload", "cdn-upload", "deployment-wait"];
93
+ export type DiagnosticPhase = (typeof DiagnosticPhases)[number];
94
+ /**
95
+ * Build Report Collector
96
+ *
97
+ * Collects errors, warnings, and diagnostic timing information throughout
98
+ * the build/deploy pipeline. Can be configured to automatically write
99
+ * the report on process exit.
100
+ */
101
+ export declare class BuildReportCollector {
102
+ private errors;
103
+ private warnings;
104
+ private diagnostics;
105
+ private activeDiagnostics;
106
+ private outputPath;
107
+ private autoWriteEnabled;
108
+ private written;
109
+ private beforeExitHandler;
110
+ private sigintHandler;
111
+ private sigtermHandler;
112
+ /**
113
+ * Set the output path for the report file
114
+ */
115
+ setOutputPath(path: string): void;
116
+ /**
117
+ * Enable automatic writing of the report on process exit.
118
+ * This ensures the report is written even if the process exits unexpectedly.
119
+ */
120
+ enableAutoWrite(): void;
121
+ /**
122
+ * Disable automatic writing and remove signal handlers.
123
+ * Call this when done with the collector to prevent handler conflicts.
124
+ */
125
+ disableAutoWrite(): void;
126
+ /**
127
+ * Add TypeScript errors from parsed tsc output
128
+ */
129
+ addTypeScriptErrors(items: GrammarItem[]): void;
130
+ /**
131
+ * Add a file-specific error
132
+ */
133
+ addFileError(scope: ErrorScope, path: string, line: number, column: number, message: string, code?: string): void;
134
+ /**
135
+ * Add a general error without file location
136
+ */
137
+ addGeneralError(scope: ErrorScope, message: string, code?: string): void;
138
+ /**
139
+ * Add a file-specific warning
140
+ */
141
+ addFileWarning(scope: ErrorScope, path: string, line: number, column: number, message: string, code?: string): void;
142
+ /**
143
+ * Add a general warning without file location
144
+ */
145
+ addGeneralWarning(scope: ErrorScope, message: string, code?: string): void;
146
+ /**
147
+ * Start timing a diagnostic phase
148
+ * @returns A function to call when the phase completes
149
+ */
150
+ startDiagnostic(name: string): () => void;
151
+ /**
152
+ * End a diagnostic phase
153
+ */
154
+ private endDiagnostic;
155
+ /**
156
+ * Check if there are any errors
157
+ */
158
+ hasErrors(): boolean;
159
+ /**
160
+ * Check if there are any warnings
161
+ */
162
+ hasWarnings(): boolean;
163
+ /**
164
+ * Get the error count
165
+ */
166
+ getErrorCount(): number;
167
+ /**
168
+ * Get the warning count
169
+ */
170
+ getWarningCount(): number;
171
+ /**
172
+ * Generate the complete build report
173
+ */
174
+ toReport(): BuildReport;
175
+ /**
176
+ * Write the report to the configured output path asynchronously
177
+ */
178
+ write(): Promise<void>;
179
+ /**
180
+ * Write the report synchronously (for exit handlers)
181
+ */
182
+ writeSync(): void;
183
+ /**
184
+ * Force write the report (bypasses the written flag)
185
+ * Use this when you want to update the report file mid-process
186
+ */
187
+ forceWrite(): Promise<void>;
188
+ }
189
+ /**
190
+ * Set the global collector instance
191
+ */
192
+ export declare function setGlobalCollector(collector: BuildReportCollector): void;
193
+ /**
194
+ * Get the global collector instance (may be null)
195
+ */
196
+ export declare function getGlobalCollector(): BuildReportCollector | null;
197
+ /**
198
+ * Clear the global collector instance and clean up its signal handlers
199
+ */
200
+ export declare function clearGlobalCollector(): void;
201
+ //# sourceMappingURL=build-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-report.d.ts","sourceRoot":"","sources":["../src/build-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,335 @@
1
+ /**
2
+ * Build Report
3
+ *
4
+ * Structured error/warning collection and reporting for build and deploy commands.
5
+ * Outputs a JSON file with a strict schema for CI tooling integration.
6
+ */
7
+ import { writeFileSync } from 'node:fs';
8
+ /**
9
+ * Error codes for non-TypeScript errors.
10
+ * TypeScript errors use their native TS#### codes.
11
+ */
12
+ export const BuildErrorCodes = {
13
+ // AST/Metadata errors (AST0xx)
14
+ AST001: 'MetadataNameMissing',
15
+ AST002: 'DuplicateName',
16
+ AST003: 'InvalidExport',
17
+ AST004: 'InvalidCronExpression',
18
+ AST005: 'InvalidAgentConfig',
19
+ // Build errors (BUILD0xx)
20
+ BUILD001: 'AppFileNotFound',
21
+ BUILD002: 'SourceDirNotFound',
22
+ BUILD003: 'DependencyUpgradeFailed',
23
+ BUILD004: 'BundleFailed',
24
+ BUILD005: 'EntryPointNotFound',
25
+ BUILD006: 'ViteBuildFailed',
26
+ BUILD007: 'RuntimePackageNotFound',
27
+ BUILD008: 'TypecheckToolFailed',
28
+ // Validation errors (VAL0xx)
29
+ VAL001: 'AgentIdentifierCollision',
30
+ VAL002: 'InvalidRoutePath',
31
+ VAL003: 'InvalidRouteMethod',
32
+ VAL004: 'SchemaValidationFailed',
33
+ // Deploy errors (DEPLOY0xx)
34
+ DEPLOY001: 'DeploymentCreationFailed',
35
+ DEPLOY002: 'UploadFailed',
36
+ DEPLOY003: 'DeploymentTimeout',
37
+ DEPLOY004: 'DeploymentFailed',
38
+ DEPLOY005: 'EncryptionFailed',
39
+ DEPLOY006: 'CDNUploadFailed',
40
+ };
41
+ /**
42
+ * Diagnostic phases for timing
43
+ */
44
+ export const DiagnosticPhases = [
45
+ 'typecheck',
46
+ 'client-build',
47
+ 'workbench-build',
48
+ 'server-build',
49
+ 'metadata-generation',
50
+ 'zip-package',
51
+ 'encrypt',
52
+ 'code-upload',
53
+ 'cdn-upload',
54
+ 'deployment-wait',
55
+ ];
56
+ /**
57
+ * Build Report Collector
58
+ *
59
+ * Collects errors, warnings, and diagnostic timing information throughout
60
+ * the build/deploy pipeline. Can be configured to automatically write
61
+ * the report on process exit.
62
+ */
63
+ export class BuildReportCollector {
64
+ errors = [];
65
+ warnings = [];
66
+ diagnostics = [];
67
+ activeDiagnostics = new Map();
68
+ outputPath = null;
69
+ autoWriteEnabled = false;
70
+ written = false;
71
+ beforeExitHandler = null;
72
+ sigintHandler = null;
73
+ sigtermHandler = null;
74
+ /**
75
+ * Set the output path for the report file
76
+ */
77
+ setOutputPath(path) {
78
+ this.outputPath = path;
79
+ }
80
+ /**
81
+ * Enable automatic writing of the report on process exit.
82
+ * This ensures the report is written even if the process exits unexpectedly.
83
+ */
84
+ enableAutoWrite() {
85
+ if (this.autoWriteEnabled || !this.outputPath)
86
+ return;
87
+ this.autoWriteEnabled = true;
88
+ // Use beforeExit for graceful exits
89
+ this.beforeExitHandler = () => {
90
+ this.writeSync();
91
+ };
92
+ process.once('beforeExit', this.beforeExitHandler);
93
+ // Handle SIGINT/SIGTERM with process.once to avoid stacking handlers
94
+ this.sigintHandler = () => {
95
+ this.writeSync();
96
+ process.exit(130);
97
+ };
98
+ this.sigtermHandler = () => {
99
+ this.writeSync();
100
+ process.exit(143);
101
+ };
102
+ process.once('SIGINT', this.sigintHandler);
103
+ process.once('SIGTERM', this.sigtermHandler);
104
+ }
105
+ /**
106
+ * Disable automatic writing and remove signal handlers.
107
+ * Call this when done with the collector to prevent handler conflicts.
108
+ */
109
+ disableAutoWrite() {
110
+ if (!this.autoWriteEnabled)
111
+ return;
112
+ this.autoWriteEnabled = false;
113
+ if (this.beforeExitHandler) {
114
+ process.removeListener('beforeExit', this.beforeExitHandler);
115
+ this.beforeExitHandler = null;
116
+ }
117
+ if (this.sigintHandler) {
118
+ process.removeListener('SIGINT', this.sigintHandler);
119
+ this.sigintHandler = null;
120
+ }
121
+ if (this.sigtermHandler) {
122
+ process.removeListener('SIGTERM', this.sigtermHandler);
123
+ this.sigtermHandler = null;
124
+ }
125
+ }
126
+ /**
127
+ * Add TypeScript errors from parsed tsc output
128
+ */
129
+ addTypeScriptErrors(items) {
130
+ for (const item of items) {
131
+ if (item.type !== 'Item' || !item.value)
132
+ continue;
133
+ const val = item.value;
134
+ const isError = val.tsError?.value?.type === 'error';
135
+ const isWarning = val.tsError?.value?.type === 'warning';
136
+ if (!isError && !isWarning)
137
+ continue;
138
+ const entry = {
139
+ type: 'file',
140
+ scope: 'typescript',
141
+ path: val.path?.value ?? 'unknown',
142
+ line: val.cursor?.value?.line ?? 0,
143
+ column: val.cursor?.value?.col ?? 0,
144
+ message: (val.message?.value ?? '').trim(),
145
+ code: val.tsError?.value?.errorString,
146
+ };
147
+ if (isError) {
148
+ this.errors.push(entry);
149
+ }
150
+ else {
151
+ this.warnings.push(entry);
152
+ }
153
+ }
154
+ }
155
+ /**
156
+ * Add a file-specific error
157
+ */
158
+ addFileError(scope, path, line, column, message, code) {
159
+ this.errors.push({
160
+ type: 'file',
161
+ scope,
162
+ path,
163
+ line,
164
+ column,
165
+ message,
166
+ code,
167
+ });
168
+ }
169
+ /**
170
+ * Add a general error without file location
171
+ */
172
+ addGeneralError(scope, message, code) {
173
+ this.errors.push({
174
+ type: 'general',
175
+ scope,
176
+ message,
177
+ code,
178
+ });
179
+ }
180
+ /**
181
+ * Add a file-specific warning
182
+ */
183
+ addFileWarning(scope, path, line, column, message, code) {
184
+ this.warnings.push({
185
+ type: 'file',
186
+ scope,
187
+ path,
188
+ line,
189
+ column,
190
+ message,
191
+ code,
192
+ });
193
+ }
194
+ /**
195
+ * Add a general warning without file location
196
+ */
197
+ addGeneralWarning(scope, message, code) {
198
+ this.warnings.push({
199
+ type: 'general',
200
+ scope,
201
+ message,
202
+ code,
203
+ });
204
+ }
205
+ /**
206
+ * Start timing a diagnostic phase
207
+ * @returns A function to call when the phase completes
208
+ */
209
+ startDiagnostic(name) {
210
+ const startedAt = new Date();
211
+ this.activeDiagnostics.set(name, { name, startedAt });
212
+ return () => {
213
+ this.endDiagnostic(name);
214
+ };
215
+ }
216
+ /**
217
+ * End a diagnostic phase
218
+ */
219
+ endDiagnostic(name) {
220
+ const active = this.activeDiagnostics.get(name);
221
+ if (!active)
222
+ return;
223
+ const completedAt = new Date();
224
+ const durationMs = completedAt.getTime() - active.startedAt.getTime();
225
+ this.diagnostics.push({
226
+ name,
227
+ startedAt: active.startedAt.toISOString(),
228
+ completedAt: completedAt.toISOString(),
229
+ durationMs,
230
+ });
231
+ this.activeDiagnostics.delete(name);
232
+ }
233
+ /**
234
+ * Check if there are any errors
235
+ */
236
+ hasErrors() {
237
+ return this.errors.length > 0;
238
+ }
239
+ /**
240
+ * Check if there are any warnings
241
+ */
242
+ hasWarnings() {
243
+ return this.warnings.length > 0;
244
+ }
245
+ /**
246
+ * Get the error count
247
+ */
248
+ getErrorCount() {
249
+ return this.errors.length;
250
+ }
251
+ /**
252
+ * Get the warning count
253
+ */
254
+ getWarningCount() {
255
+ return this.warnings.length;
256
+ }
257
+ /**
258
+ * Generate the complete build report
259
+ */
260
+ toReport() {
261
+ // Complete any active diagnostics - collect keys first to avoid
262
+ // iterating while modifying the map
263
+ const activeKeys = [...this.activeDiagnostics.keys()];
264
+ for (const name of activeKeys) {
265
+ this.endDiagnostic(name);
266
+ }
267
+ return {
268
+ success: this.errors.length === 0,
269
+ errors: [...this.errors],
270
+ warnings: [...this.warnings],
271
+ diagnostics: [...this.diagnostics],
272
+ };
273
+ }
274
+ /**
275
+ * Write the report to the configured output path asynchronously
276
+ */
277
+ async write() {
278
+ if (!this.outputPath || this.written)
279
+ return;
280
+ this.written = true;
281
+ const report = this.toReport();
282
+ const file = Bun.file(this.outputPath);
283
+ await file.write(JSON.stringify(report, null, '\t'));
284
+ }
285
+ /**
286
+ * Write the report synchronously (for exit handlers)
287
+ */
288
+ writeSync() {
289
+ if (!this.outputPath || this.written)
290
+ return;
291
+ this.written = true;
292
+ const report = this.toReport();
293
+ writeFileSync(this.outputPath, JSON.stringify(report, null, '\t'));
294
+ }
295
+ /**
296
+ * Force write the report (bypasses the written flag)
297
+ * Use this when you want to update the report file mid-process
298
+ */
299
+ async forceWrite() {
300
+ if (!this.outputPath)
301
+ return;
302
+ const report = this.toReport();
303
+ const file = Bun.file(this.outputPath);
304
+ await file.write(JSON.stringify(report, null, '\t'));
305
+ this.written = true;
306
+ }
307
+ }
308
+ /**
309
+ * Global collector instance for use across the build pipeline.
310
+ * Commands should create their own collector and pass it through,
311
+ * but this provides a fallback for error handling in deeply nested code.
312
+ */
313
+ let globalCollector = null;
314
+ /**
315
+ * Set the global collector instance
316
+ */
317
+ export function setGlobalCollector(collector) {
318
+ globalCollector = collector;
319
+ }
320
+ /**
321
+ * Get the global collector instance (may be null)
322
+ */
323
+ export function getGlobalCollector() {
324
+ return globalCollector;
325
+ }
326
+ /**
327
+ * Clear the global collector instance and clean up its signal handlers
328
+ */
329
+ export function clearGlobalCollector() {
330
+ if (globalCollector) {
331
+ globalCollector.disableAutoWrite();
332
+ }
333
+ globalCollector = null;
334
+ }
335
+ //# sourceMappingURL=build-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-report.js","sourceRoot":"","sources":["../src/build-report.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entry-generator.d.ts","sourceRoot":"","sources":["../../../src/cmd/build/entry-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG3D,UAAU,oBAAoB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAydpF"}
1
+ {"version":3,"file":"entry-generator.d.ts","sourceRoot":"","sources":["../../../src/cmd/build/entry-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG3D,UAAU,oBAAoB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+dpF"}
@@ -62,9 +62,11 @@ export async function generateEntryFile(options) {
62
62
  ].filter(Boolean);
63
63
  imports.push(`import { type LogLevel } from '@agentuity/core';`);
64
64
  // Generate route mounting code for all discovered routes
65
+ // Sort route files for deterministic output
66
+ const sortedRouteFiles = [...routeFiles].sort();
65
67
  const routeImportsAndMounts = [];
66
68
  let routeIndex = 0;
67
- for (const routeFile of routeFiles) {
69
+ for (const routeFile of sortedRouteFiles) {
68
70
  // Convert src/api/auth/route.ts -> auth/route
69
71
  const relativePath = routeFile.replace(/^src\/api\//, '').replace(/\.tsx?$/, '');
70
72
  // Determine the mount path
@@ -203,7 +205,7 @@ if (isDevelopment()) {
203
205
  // 404 for unmatched API/system routes
204
206
  app.all('/_agentuity/*', (c: Context) => c.notFound());
205
207
  app.all('/api/*', (c: Context) => c.notFound());
206
- if (hasWorkbench) {
208
+ if (!hasWorkbench) {
207
209
  app.all('/workbench/*', (c: Context) => c.notFound());
208
210
  }
209
211
 
@@ -238,7 +240,7 @@ if (isDevelopment()) {
238
240
  // 404 for unmatched API/system routes (IMPORTANT: comes before SPA fallback)
239
241
  app.all('/_agentuity/*', (c: Context) => c.notFound());
240
242
  app.all('/api/*', (c: Context) => c.notFound());
241
- if (hasWorkbench) {
243
+ if (!hasWorkbench) {
242
244
  app.all('/workbench/*', (c: Context) => c.notFound());
243
245
  }
244
246
 
@@ -419,6 +421,10 @@ app.use('/api/*', createAgentMiddleware(''));
419
421
  // Step 4: Import user's app.ts (runs createApp, gets state/config)
420
422
  await import('../../app.js');
421
423
 
424
+ // Step 4.5: Import agent registry to ensure all agents are registered
425
+ // This is needed for workbench metadata to return JSON schemas
426
+ await import('./registry.js');
427
+
422
428
  // Step 5: Initialize providers
423
429
  const appState = getAppState();
424
430
  const appConfig = getAppConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"entry-generator.js","sourceRoot":"","sources":["../../../src/cmd/build/entry-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-generator.js","sourceRoot":"","sources":["../../../src/cmd/build/entry-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/build/index.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,OAAO,mCAyGlB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/build/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,OAAO,mCA0JlB,CAAC"}