@agentuity/cli 0.0.89 → 0.0.90

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.
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/cmd/build/config-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU9F;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAqC1F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,cAAc,EAAE,mBAAmB,EACnC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,WAAW,CAAC,CAqGtB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,OAAO,KAAK,EAAE,WAAW,EACrC,UAAU,EAAE,WAAW,GACrB,OAAO,KAAK,EAAE,WAAW,CA2B3B"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/cmd/build/config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU9F;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAwG1F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,cAAc,EAAE,mBAAmB,EACnC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,WAAW,CAAC,CAqGtB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,OAAO,KAAK,EAAE,WAAW,EACrC,UAAU,EAAE,WAAW,GACrB,OAAO,KAAK,EAAE,WAAW,CA2B3B"}
@@ -1,4 +1,6 @@
1
1
  import { join } from 'node:path';
2
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
2
4
  import { StructuredError } from '@agentuity/core';
3
5
  const BuildConfigLoadError = StructuredError('BuildConfigLoadError');
4
6
  const BuildConfigValidationError = StructuredError('BuildConfigValidationError');
@@ -17,18 +19,79 @@ export async function loadBuildConfig(rootDir) {
17
19
  return null; // No config file is OK - it's optional
18
20
  }
19
21
  try {
20
- // Import the config file (Bun handles TypeScript natively)
21
- // Dynamically import using absolute path; Bun resolves TS modules without a file:// URL
22
- const configModule = await import(configPath);
23
- // Get the default export
24
- const configFunction = configModule.default;
25
- // Validate it's a function
26
- if (typeof configFunction !== 'function') {
27
- throw new BuildConfigValidationError({
28
- message: `agentuity.config.ts must export a default function, got ${typeof configFunction}`,
22
+ // Create a temporary directory for the wrapper script
23
+ const tempDir = mkdtempSync(join(tmpdir(), 'agentuity-config-'));
24
+ const wrapperPath = join(tempDir, 'wrapper.ts');
25
+ try {
26
+ // Create a wrapper script that imports the config and outputs it as JSON
27
+ // This approach is simpler and more reliable than bundling + vm context
28
+ const wrapperCode = `
29
+ import configFunction from ${JSON.stringify(configPath)};
30
+
31
+ // Validate it's a function
32
+ if (typeof configFunction !== 'function') {
33
+ console.error(JSON.stringify({
34
+ error: 'BuildConfigValidationError',
35
+ message: \`agentuity.config.ts must export a default function, got \${typeof configFunction}\`
36
+ }));
37
+ process.exit(1);
38
+ }
39
+
40
+ // Output success marker
41
+ console.log('__CONFIG_LOADED__');
42
+ `;
43
+ writeFileSync(wrapperPath, wrapperCode);
44
+ // Run the wrapper script with Bun
45
+ // Note: stdout/stderr are piped (not inherited) to suppress output from user's screen
46
+ const proc = Bun.spawn(['bun', wrapperPath], {
47
+ cwd: rootDir,
48
+ stdout: 'pipe', // Capture stdout to prevent output to user's terminal
49
+ stderr: 'pipe', // Capture stderr to prevent output to user's terminal
29
50
  });
51
+ const output = await new Response(proc.stdout).text();
52
+ const errorOutput = await new Response(proc.stderr).text();
53
+ const exitCode = await proc.exited;
54
+ if (exitCode !== 0) {
55
+ // Try to parse error as JSON
56
+ let errorData = null;
57
+ try {
58
+ errorData = JSON.parse(errorOutput);
59
+ }
60
+ catch (_parseError) {
61
+ // Not JSON, will treat as regular error below
62
+ }
63
+ // If we successfully parsed a BuildConfigValidationError, throw it
64
+ if (errorData?.error === 'BuildConfigValidationError') {
65
+ throw new BuildConfigValidationError({
66
+ message: errorData.message,
67
+ });
68
+ }
69
+ // Otherwise, throw a generic load error with the raw error output
70
+ throw new BuildConfigLoadError({
71
+ message: `Failed to load agentuity.config.ts:\n${errorOutput}`,
72
+ });
73
+ }
74
+ // Verify the success marker
75
+ if (!output.includes('__CONFIG_LOADED__')) {
76
+ throw new BuildConfigLoadError({
77
+ message: 'Config file loaded but did not output expected marker',
78
+ });
79
+ }
80
+ // Now import the config file directly - it's been validated
81
+ const configModule = await import(configPath);
82
+ const configFunction = configModule.default;
83
+ // Double-check it's a function (should always pass if wrapper succeeded)
84
+ if (typeof configFunction !== 'function') {
85
+ throw new BuildConfigValidationError({
86
+ message: `agentuity.config.ts must export a default function, got ${typeof configFunction}`,
87
+ });
88
+ }
89
+ return configFunction;
90
+ }
91
+ finally {
92
+ // Clean up temp directory
93
+ rmSync(tempDir, { recursive: true, force: true });
30
94
  }
31
- return configFunction;
32
95
  }
33
96
  catch (error) {
34
97
  // If it's already our error, re-throw
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/cmd/build/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/cmd/build/config-loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/cli",
3
- "version": "0.0.89",
3
+ "version": "0.0.90",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -35,8 +35,8 @@
35
35
  "prepublishOnly": "bun run clean && bun run build"
36
36
  },
37
37
  "dependencies": {
38
- "@agentuity/core": "0.0.89",
39
- "@agentuity/server": "0.0.89",
38
+ "@agentuity/core": "0.0.90",
39
+ "@agentuity/server": "0.0.90",
40
40
  "@datasert/cronjs-parser": "^1.4.0",
41
41
  "@terascope/fetch-github-release": "^2.2.1",
42
42
  "acorn-loose": "^8.5.2",
@@ -1,4 +1,6 @@
1
1
  import { join } from 'node:path';
2
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
2
4
  import { StructuredError } from '@agentuity/core';
3
5
  import type { BuildConfigFunction, BuildPhase, BuildContext, BuildConfig } from '../../types';
4
6
 
@@ -23,21 +25,88 @@ export async function loadBuildConfig(rootDir: string): Promise<BuildConfigFunct
23
25
  }
24
26
 
25
27
  try {
26
- // Import the config file (Bun handles TypeScript natively)
27
- // Dynamically import using absolute path; Bun resolves TS modules without a file:// URL
28
- const configModule = await import(configPath);
28
+ // Create a temporary directory for the wrapper script
29
+ const tempDir = mkdtempSync(join(tmpdir(), 'agentuity-config-'));
30
+ const wrapperPath = join(tempDir, 'wrapper.ts');
29
31
 
30
- // Get the default export
31
- const configFunction = configModule.default;
32
+ try {
33
+ // Create a wrapper script that imports the config and outputs it as JSON
34
+ // This approach is simpler and more reliable than bundling + vm context
35
+ const wrapperCode = `
36
+ import configFunction from ${JSON.stringify(configPath)};
32
37
 
33
- // Validate it's a function
34
- if (typeof configFunction !== 'function') {
35
- throw new BuildConfigValidationError({
36
- message: `agentuity.config.ts must export a default function, got ${typeof configFunction}`,
38
+ // Validate it's a function
39
+ if (typeof configFunction !== 'function') {
40
+ console.error(JSON.stringify({
41
+ error: 'BuildConfigValidationError',
42
+ message: \`agentuity.config.ts must export a default function, got \${typeof configFunction}\`
43
+ }));
44
+ process.exit(1);
45
+ }
46
+
47
+ // Output success marker
48
+ console.log('__CONFIG_LOADED__');
49
+ `;
50
+
51
+ writeFileSync(wrapperPath, wrapperCode);
52
+
53
+ // Run the wrapper script with Bun
54
+ // Note: stdout/stderr are piped (not inherited) to suppress output from user's screen
55
+ const proc = Bun.spawn(['bun', wrapperPath], {
56
+ cwd: rootDir,
57
+ stdout: 'pipe', // Capture stdout to prevent output to user's terminal
58
+ stderr: 'pipe', // Capture stderr to prevent output to user's terminal
37
59
  });
38
- }
39
60
 
40
- return configFunction as BuildConfigFunction;
61
+ const output = await new Response(proc.stdout).text();
62
+ const errorOutput = await new Response(proc.stderr).text();
63
+ const exitCode = await proc.exited;
64
+
65
+ if (exitCode !== 0) {
66
+ // Try to parse error as JSON
67
+ let errorData = null;
68
+ try {
69
+ errorData = JSON.parse(errorOutput);
70
+ } catch (_parseError) {
71
+ // Not JSON, will treat as regular error below
72
+ }
73
+
74
+ // If we successfully parsed a BuildConfigValidationError, throw it
75
+ if (errorData?.error === 'BuildConfigValidationError') {
76
+ throw new BuildConfigValidationError({
77
+ message: errorData.message,
78
+ });
79
+ }
80
+
81
+ // Otherwise, throw a generic load error with the raw error output
82
+ throw new BuildConfigLoadError({
83
+ message: `Failed to load agentuity.config.ts:\n${errorOutput}`,
84
+ });
85
+ }
86
+
87
+ // Verify the success marker
88
+ if (!output.includes('__CONFIG_LOADED__')) {
89
+ throw new BuildConfigLoadError({
90
+ message: 'Config file loaded but did not output expected marker',
91
+ });
92
+ }
93
+
94
+ // Now import the config file directly - it's been validated
95
+ const configModule = await import(configPath);
96
+ const configFunction = configModule.default;
97
+
98
+ // Double-check it's a function (should always pass if wrapper succeeded)
99
+ if (typeof configFunction !== 'function') {
100
+ throw new BuildConfigValidationError({
101
+ message: `agentuity.config.ts must export a default function, got ${typeof configFunction}`,
102
+ });
103
+ }
104
+
105
+ return configFunction as BuildConfigFunction;
106
+ } finally {
107
+ // Clean up temp directory
108
+ rmSync(tempDir, { recursive: true, force: true });
109
+ }
41
110
  } catch (error) {
42
111
  // If it's already our error, re-throw
43
112
  if (error instanceof BuildConfigValidationError || error instanceof BuildConfigLoadError) {