@agentuity/cli 0.0.55 → 0.0.56

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 (43) hide show
  1. package/dist/cmd/ai/schema/generate.d.ts +3 -0
  2. package/dist/cmd/ai/schema/generate.d.ts.map +1 -0
  3. package/dist/cmd/ai/schema/generate.js +50 -0
  4. package/dist/cmd/ai/schema/generate.js.map +1 -0
  5. package/dist/cmd/ai/schema/index.d.ts.map +1 -1
  6. package/dist/cmd/ai/schema/index.js +2 -1
  7. package/dist/cmd/ai/schema/index.js.map +1 -1
  8. package/dist/cmd/build/ast.d.ts.map +1 -1
  9. package/dist/cmd/build/ast.js +101 -81
  10. package/dist/cmd/build/ast.js.map +1 -1
  11. package/dist/cmd/build/ast.test.js +135 -370
  12. package/dist/cmd/build/ast.test.js.map +1 -1
  13. package/dist/cmd/build/bundler.d.ts.map +1 -1
  14. package/dist/cmd/build/bundler.js +8 -5
  15. package/dist/cmd/build/bundler.js.map +1 -1
  16. package/dist/cmd/build/plugin.d.ts.map +1 -1
  17. package/dist/cmd/build/plugin.js +9 -1
  18. package/dist/cmd/build/plugin.js.map +1 -1
  19. package/dist/cmd/cloud/session/get.d.ts.map +1 -1
  20. package/dist/cmd/cloud/session/get.js +77 -17
  21. package/dist/cmd/cloud/session/get.js.map +1 -1
  22. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  23. package/dist/cmd/project/template-flow.js +1 -0
  24. package/dist/cmd/project/template-flow.js.map +1 -1
  25. package/dist/config.d.ts +27 -3
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +31 -3
  28. package/dist/config.js.map +1 -1
  29. package/dist/types.d.ts +24 -2
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/types.js +4 -75
  32. package/dist/types.js.map +1 -1
  33. package/package.json +3 -3
  34. package/src/cmd/ai/schema/generate.ts +64 -0
  35. package/src/cmd/ai/schema/index.ts +2 -1
  36. package/src/cmd/build/ast.test.ts +157 -549
  37. package/src/cmd/build/ast.ts +115 -89
  38. package/src/cmd/build/bundler.ts +8 -5
  39. package/src/cmd/build/plugin.ts +10 -1
  40. package/src/cmd/cloud/session/get.ts +91 -19
  41. package/src/cmd/project/template-flow.ts +1 -0
  42. package/src/config.ts +44 -5
  43. package/src/types.ts +5 -84
@@ -1,389 +1,154 @@
1
1
  import { describe, test, expect } from 'bun:test';
2
- import { parseEvalMetadata } from './ast';
3
- const TEST_ROOT_DIR = '/test/root';
4
- const TEST_PROJECT_ID = 'test-project-id';
5
- const TEST_DEPLOYMENT_ID = 'test-deployment-id';
6
- describe('parseEvalMetadata', () => {
7
- describe('eval with metadata.name', () => {
8
- test('uses metadata.name when provided', () => {
9
- const code = `
10
- import agent from './agent';
11
- export const myEval = agent.createEval({
12
- metadata: {
13
- name: 'custom-eval-name',
14
- description: 'Test description'
15
- },
16
- handler: async () => ({ success: true, passed: true })
17
- });
18
- `;
19
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
20
- expect(result).toHaveLength(1);
21
- expect(result[0].name).toBe('custom-eval-name');
22
- expect(result[0].description).toBe('Test description');
23
- });
24
- });
25
- describe('eval with variable name only', () => {
26
- test('uses camelToKebab of variable name when metadata.name is not provided', () => {
27
- const code = `
28
- import agent from './agent';
29
- export const myTestEval = agent.createEval({
30
- metadata: {
31
- description: 'Test description'
32
- },
33
- handler: async () => ({ success: true, passed: true })
34
- });
35
- `;
36
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
37
- expect(result).toHaveLength(1);
38
- expect(result[0].name).toBe('my-test-eval');
39
- expect(result[0].description).toBe('Test description');
40
- });
41
- test('uses camelToKebab of variable name when metadata is not provided', () => {
42
- const code = `
43
- import agent from './agent';
44
- export const noMetadataEval = agent.createEval({
45
- handler: async () => ({ success: true, passed: true })
46
- });
47
- `;
48
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
49
- expect(result).toHaveLength(1);
50
- expect(result[0].name).toBe('no-metadata-eval');
51
- });
52
- test('handles complex camelCase variable names correctly', () => {
53
- const code = `
54
- import agent from './agent';
55
- export const complexCamelCaseEvalName = agent.createEval({
56
- handler: async () => ({ success: true, passed: true })
57
- });
58
- `;
59
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
60
- expect(result).toHaveLength(1);
61
- expect(result[0].name).toBe('complex-camel-case-eval-name');
62
- });
63
- });
64
- describe('eval with both metadata.name and variable name', () => {
65
- test('prefers metadata.name over variable name', () => {
66
- const code = `
67
- import agent from './agent';
68
- export const variableNameEval = agent.createEval({
69
- metadata: {
70
- name: 'metadata-name-takes-priority'
71
- },
72
- handler: async () => ({ success: true, passed: true })
73
- });
74
- `;
75
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
76
- expect(result).toHaveLength(1);
77
- expect(result[0].name).toBe('metadata-name-takes-priority');
78
- });
79
- });
80
- describe('eval with neither name', () => {
81
- test('throws error when eval has neither metadata.name nor variable name', () => {
82
- // This is a difficult case to test with valid JavaScript, as all valid
83
- // variable declarations should have an identifier. However, we can verify
84
- // the error handling exists by testing that the error message format is correct.
85
- //
86
- // In practice, this error should never occur with valid code, but we want
87
- // to ensure the error is clear and helpful if it does happen.
88
- //
89
- // The error case would occur if:
90
- // 1. vardecl.id.type is not 'Identifier' (e.g., destructuring pattern)
91
- // 2. metadata.name is not provided
92
- //
93
- // Since acorn-loose parses valid JavaScript, and valid eval declarations
94
- // should always have an identifier, this is primarily a defensive check.
95
- //
96
- // We verify the error path exists in the code by checking that normal
97
- // cases work correctly, and the error handling is in place.
98
- // Test that normal cases work (implicitly tests error path doesn't trigger)
99
- const code = `
100
- import agent from './agent';
101
- export const validEval = agent.createEval({
102
- handler: async () => ({ success: true, passed: true })
103
- });
104
- `;
105
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
106
- expect(result).toHaveLength(1);
107
- expect(result[0].name).toBe('valid-eval');
108
- // Note: To fully test the error case, we would need to mock the AST structure
109
- // or use code that parses but doesn't extract a variable name. This is
110
- // difficult with acorn-loose parsing valid JavaScript. The error handling
111
- // is verified to exist in the code, and will throw if the condition is met.
112
- });
113
- });
114
- describe('multiple evals', () => {
115
- test('parses multiple evals in same file correctly', () => {
116
- const code = `
117
- import agent from './agent';
118
-
119
- export const firstEval = agent.createEval({
120
- metadata: {
121
- name: 'first-eval',
122
- description: 'First eval'
123
- },
124
- handler: async () => ({ success: true, passed: true })
125
- });
2
+ import { parseRoute } from './ast';
3
+ import { writeFileSync, mkdirSync, rmSync } from 'node:fs';
4
+ import { join } from 'node:path';
5
+ const TEST_DIR = '/tmp/agentuity-cli-test-routes';
6
+ describe('parseRoute - Crash Prevention Scenarios', () => {
7
+ const setup = () => {
8
+ rmSync(TEST_DIR, { recursive: true, force: true });
9
+ mkdirSync(TEST_DIR, { recursive: true });
10
+ };
11
+ const cleanup = () => {
12
+ rmSync(TEST_DIR, { recursive: true, force: true });
13
+ };
14
+ test('should handle files with interface definitions', async () => {
15
+ setup();
16
+ const routeFile = join(TEST_DIR, 'route.ts');
17
+ const code = `
18
+ import { createRouter } from '@agentuity/runtime';
19
+ const router = createRouter();
126
20
 
127
- export const secondEval = agent.createEval({
128
- metadata: {
129
- name: 'second-eval',
130
- description: 'Second eval'
131
- },
132
- handler: async () => ({ success: true, passed: true })
133
- });
21
+ interface SomeInterface {
22
+ foo: string;
23
+ bar: string;
24
+ }
134
25
 
135
- export const thirdEval = agent.createEval({
136
- handler: async () => ({ success: true, passed: true })
137
- });
138
- `;
139
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
140
- expect(result).toHaveLength(3);
141
- expect(result[0].name).toBe('first-eval');
142
- expect(result[0].description).toBe('First eval');
143
- expect(result[1].name).toBe('second-eval');
144
- expect(result[1].description).toBe('Second eval');
145
- expect(result[2].name).toBe('third-eval');
146
- });
147
- test('handles mix of metadata.name and variable name evals', () => {
148
- const code = `
149
- import agent from './agent';
150
-
151
- export const withMetadataName = agent.createEval({
152
- metadata: {
153
- name: 'custom-name'
154
- },
155
- handler: async () => ({ success: true, passed: true })
156
- });
26
+ router.get('/', (c) => c.json({ status: 'ok' }));
157
27
 
158
- export const withoutMetadataName = agent.createEval({
159
- handler: async () => ({ success: true, passed: true })
160
- });
161
- `;
162
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
163
- expect(result).toHaveLength(2);
164
- expect(result[0].name).toBe('custom-name');
165
- expect(result[1].name).toBe('without-metadata-name');
166
- });
28
+ export default router;
29
+ `;
30
+ writeFileSync(routeFile, code);
31
+ const routes = await parseRoute(TEST_DIR, routeFile, 'proj_1', 'dep_1');
32
+ expect(routes).toHaveLength(1);
33
+ expect(routes[0].method).toBe('get');
34
+ cleanup();
167
35
  });
168
- describe('export patterns', () => {
169
- test('handles ExportNamedDeclaration pattern', () => {
170
- const code = `
171
- import agent from './agent';
172
- export const exportedEval = agent.createEval({
173
- handler: async () => ({ success: true, passed: true })
174
- });
175
- `;
176
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
177
- expect(result).toHaveLength(1);
178
- expect(result[0].name).toBe('exported-eval');
179
- });
180
- test('handles VariableDeclaration pattern (non-exported)', () => {
181
- const code = `
182
- import agent from './agent';
183
- const nonExportedEval = agent.createEval({
184
- handler: async () => ({ success: true, passed: true })
185
- });
186
- `;
187
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
188
- // Non-exported evals should not be included in metadata
189
- expect(result).toHaveLength(0);
190
- });
36
+ test('should handle non-call expression statements', async () => {
37
+ setup();
38
+ const routeFile = join(TEST_DIR, 'route.ts');
39
+ const code = `
40
+ import { createRouter } from '@agentuity/runtime';
41
+ const router = createRouter();
42
+
43
+ 1 + 1;
44
+ "string literal";
45
+ true;
46
+
47
+ router.get('/', (c) => c.text('ok'));
48
+
49
+ export default router;
50
+ `;
51
+ writeFileSync(routeFile, code);
52
+ const routes = await parseRoute(TEST_DIR, routeFile, 'proj_1', 'dep_1');
53
+ expect(routes).toHaveLength(1);
54
+ cleanup();
191
55
  });
192
- describe('eval ID generation', () => {
193
- test('generates unique IDs for evals', () => {
194
- const code = `
195
- import agent from './agent';
196
-
197
- export const eval1 = agent.createEval({
198
- handler: async () => ({ success: true, passed: true })
199
- });
56
+ test('should handle variable access identifiers', async () => {
57
+ setup();
58
+ const routeFile = join(TEST_DIR, 'route.ts');
59
+ const code = `
60
+ import { createRouter } from '@agentuity/runtime';
61
+ const router = createRouter();
62
+
63
+ router; // Just accessing the variable
64
+
65
+ router.get('/', (c) => c.text('ok'));
200
66
 
201
- export const eval2 = agent.createEval({
202
- handler: async () => ({ success: true, passed: true })
203
- });
204
- `;
205
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
206
- expect(result).toHaveLength(2);
207
- expect(result[0].id).toBeDefined();
208
- expect(result[1].id).toBeDefined();
209
- expect(result[0].id).not.toBe(result[1].id);
210
- });
211
- test('generates consistent IDs for same eval', () => {
212
- const code = `
213
- import agent from './agent';
214
- export const myEval = agent.createEval({
215
- metadata: {
216
- name: 'test-eval'
217
- },
218
- handler: async () => ({ success: true, passed: true })
219
- });
220
- `;
221
- const [, result1] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
222
- const [, result2] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
223
- expect(result1[0].id).toBe(result2[0].id);
224
- });
67
+ export default router;
68
+ `;
69
+ writeFileSync(routeFile, code);
70
+ const routes = await parseRoute(TEST_DIR, routeFile, 'proj_1', 'dep_1');
71
+ expect(routes).toHaveLength(1);
72
+ cleanup();
225
73
  });
226
- describe('edge cases', () => {
227
- test('handles empty metadata object', () => {
228
- const code = `
229
- import agent from './agent';
230
- export const emptyMetadataEval = agent.createEval({
231
- metadata: {},
232
- handler: async () => ({ success: true, passed: true })
233
- });
234
- `;
235
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
236
- expect(result).toHaveLength(1);
237
- expect(result[0].name).toBe('empty-metadata-eval');
238
- });
239
- test('handles eval with only description in metadata', () => {
240
- const code = `
241
- import agent from './agent';
242
- export const descriptionOnlyEval = agent.createEval({
243
- metadata: {
244
- description: 'Only description, no name'
245
- },
246
- handler: async () => ({ success: true, passed: true })
247
- });
248
- `;
249
- const [, result] = parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
250
- expect(result).toHaveLength(1);
251
- expect(result[0].name).toBe('description-only-eval');
252
- expect(result[0].description).toBe('Only description, no name');
253
- });
74
+ test('should handle direct function calls (not member expressions)', async () => {
75
+ setup();
76
+ const routeFile = join(TEST_DIR, 'route.ts');
77
+ const code = `
78
+ import { createRouter } from '@agentuity/runtime';
79
+ const router = createRouter();
80
+
81
+ console.log("logging");
82
+ (function() { })();
83
+
84
+ router.get('/', (c) => c.text('ok'));
85
+
86
+ export default router;
87
+ `;
88
+ writeFileSync(routeFile, code);
89
+ const routes = await parseRoute(TEST_DIR, routeFile, 'proj_1', 'dep_1');
90
+ expect(routes).toHaveLength(1);
91
+ cleanup();
254
92
  });
255
- describe('duplicate eval names', () => {
256
- test('throws error when duplicate eval names are found in same file', () => {
257
- const code = `
258
- import agent from './agent';
259
-
260
- export const firstEval = agent.createEval({
261
- metadata: {
262
- name: 'duplicate-name'
263
- },
264
- handler: async () => ({ success: true, passed: true })
265
- });
93
+ test('should handle mixed complex scenarios', async () => {
94
+ setup();
95
+ const routeFile = join(TEST_DIR, 'route.ts');
96
+ const code = `
97
+ import { createRouter } from '@agentuity/runtime';
98
+
99
+ // Variable declarations
100
+ const router = createRouter();
101
+ const someVar = "test";
266
102
 
267
- export const secondEval = agent.createEval({
268
- metadata: {
269
- name: 'duplicate-name'
270
- },
271
- handler: async () => ({ success: true, passed: true })
272
- });
273
- `;
274
- expect(() => {
275
- parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
276
- }).toThrow(/Duplicate eval names found in .*eval\.ts: duplicate-name/);
277
- });
278
- test('throws error when multiple duplicate eval names are found', () => {
279
- const code = `
280
- import agent from './agent';
281
-
282
- export const eval1 = agent.createEval({
283
- metadata: {
284
- name: 'first-duplicate'
285
- },
286
- handler: async () => ({ success: true, passed: true })
287
- });
103
+ // Interface
104
+ interface User {
105
+ id: string;
106
+ }
288
107
 
289
- export const eval2 = agent.createEval({
290
- metadata: {
291
- name: 'first-duplicate'
292
- },
293
- handler: async () => ({ success: true, passed: true })
294
- });
108
+ // Function declaration
109
+ function helper() {
110
+ return true;
111
+ }
295
112
 
296
- export const eval3 = agent.createEval({
297
- metadata: {
298
- name: 'second-duplicate'
299
- },
300
- handler: async () => ({ success: true, passed: true })
301
- });
113
+ // Direct call
114
+ helper();
302
115
 
303
- export const eval4 = agent.createEval({
304
- metadata: {
305
- name: 'second-duplicate'
306
- },
307
- handler: async () => ({ success: true, passed: true })
308
- });
309
- `;
310
- expect(() => {
311
- parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
312
- }).toThrow(/Duplicate eval names found in .*eval\.ts: first-duplicate, second-duplicate/);
313
- });
314
- test('throws error when duplicate names come from variable names', () => {
315
- // Note: We can't have two variables with the exact same name in valid JavaScript,
316
- // but we can test that the validation works by using metadata.name to override
317
- // variable names to create duplicates
318
- const code = `
319
- import agent from './agent';
320
-
321
- export const eval1 = agent.createEval({
322
- metadata: {
323
- name: 'duplicate-name'
324
- },
325
- handler: async () => ({ success: true, passed: true })
326
- });
116
+ // Non-route member expression
117
+ console.log(someVar);
118
+
119
+ // Valid route
120
+ router.post('/users', (c) => c.json({ id: '1' }));
121
+
122
+ // Another expression type
123
+ if (true) {
124
+ console.log("block");
125
+ }
126
+
127
+ export default router;
128
+ `;
129
+ writeFileSync(routeFile, code);
130
+ const routes = await parseRoute(TEST_DIR, routeFile, 'proj_1', 'dep_1');
131
+ expect(routes).toHaveLength(1);
132
+ expect(routes[0].method).toBe('post');
133
+ cleanup();
134
+ });
135
+ test('should reject invalid router method', async () => {
136
+ setup();
137
+ const routeFile = join(TEST_DIR, 'route.ts');
138
+ const code = `
139
+ import { createRouter } from '@agentuity/runtime';
327
140
 
328
- export const eval2 = agent.createEval({
329
- metadata: {
330
- name: 'duplicate-name'
331
- },
332
- handler: async () => ({ success: true, passed: true })
333
- });
334
- `;
335
- expect(() => {
336
- parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
337
- }).toThrow(/Duplicate eval names found in .*eval\.ts: duplicate-name/);
338
- });
339
- test('throws error when duplicate names mix metadata.name and variable name', () => {
340
- const code = `
341
- import agent from './agent';
342
-
343
- export const myEval = agent.createEval({
344
- metadata: {
345
- name: 'mixed-duplicate'
346
- },
347
- handler: async () => ({ success: true, passed: true })
348
- });
141
+ // Variable declarations
142
+ const router = createRouter();
349
143
 
350
- export const mixedDuplicate = agent.createEval({
351
- handler: async () => ({ success: true, passed: true })
352
- });
353
- `;
354
- expect(() => {
355
- parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
356
- }).toThrow(/Duplicate eval names found in .*eval\.ts: mixed-duplicate/);
357
- });
358
- test('error message includes filename and all duplicate names', () => {
359
- const code = `
360
- import agent from './agent';
361
-
362
- export const eval1 = agent.createEval({
363
- metadata: { name: 'test-eval' },
364
- handler: async () => ({ success: true, passed: true })
365
- });
144
+ // Invalid route with unknown method
145
+ router.foo('/users', (c) => c.json({ id: '1' }));
366
146
 
367
- export const eval2 = agent.createEval({
368
- metadata: { name: 'test-eval' },
369
- handler: async () => ({ success: true, passed: true })
370
- });
371
- `;
372
- let errorThrown = false;
373
- try {
374
- parseEvalMetadata(TEST_ROOT_DIR, '/test/root/src/agents/test/eval.ts', code, TEST_PROJECT_ID, TEST_DEPLOYMENT_ID);
375
- }
376
- catch (error) {
377
- errorThrown = true;
378
- expect(error).toBeInstanceOf(Error);
379
- const errorMessage = error.message;
380
- expect(errorMessage).toContain('Duplicate eval names found in');
381
- expect(errorMessage).toContain('eval.ts');
382
- expect(errorMessage).toContain('test-eval');
383
- expect(errorMessage).toContain('Eval names must be unique within the same file to prevent ID collisions');
384
- }
385
- expect(errorThrown).toBe(true);
386
- });
147
+ export default router;
148
+ `;
149
+ writeFileSync(routeFile, code);
150
+ await expect(parseRoute(TEST_DIR, routeFile, 'proj_1', 'dep_1')).rejects.toThrow();
151
+ cleanup();
387
152
  });
388
153
  });
389
154
  //# sourceMappingURL=ast.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.test.js","sourceRoot":"","sources":["../../../src/cmd/build/ast.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.test.js","sourceRoot":"","sources":["../../../src/cmd/build/ast.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../src/cmd/build/bundler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAK3C,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,MAAM,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,YAAY,EACZ,GAAW,EACX,OAAO,EACP,OAAO,EACP,IAAI,GACJ,EAAE,aAAa,iBAoXf"}
1
+ {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../src/cmd/build/bundler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAK3C,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,MAAM,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,YAAY,EACZ,GAAW,EACX,OAAO,EACP,OAAO,EACP,IAAI,GACJ,EAAE,aAAa,iBAuXf"}
@@ -324,13 +324,16 @@ export async function bundle({ orgId, projectId, deploymentId, dev = false, root
324
324
  .map((s) => s.trim())
325
325
  .filter(Boolean);
326
326
  }
327
- const branch = $ `git branch --show-current`.nothrow().quiet();
328
- if (branch) {
329
- const _branch = await branch.text();
330
- if (_branch) {
331
- buildmetadata.deployment.git.branch = _branch.trim();
327
+ let branch = process.env.GITHUB_HEAD_REF;
328
+ if (!branch) {
329
+ const branchText = $ `git branch --show-current`.nothrow().quiet();
330
+ if (branchText) {
331
+ branch = await branchText.text();
332
332
  }
333
333
  }
334
+ if (branch) {
335
+ buildmetadata.deployment.git.branch = branch.trim();
336
+ }
334
337
  const commit = $ `git rev-parse HEAD`.nothrow().quiet();
335
338
  if (commit) {
336
339
  const sha = await commit.text();