@agentuity/cli 0.0.89 → 0.0.91

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":"AAGA,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,5 @@
1
1
  import { join } from 'node:path';
2
+ import { rmSync, writeFileSync } from 'node:fs';
2
3
  import { StructuredError } from '@agentuity/core';
3
4
  const BuildConfigLoadError = StructuredError('BuildConfigLoadError');
4
5
  const BuildConfigValidationError = StructuredError('BuildConfigValidationError');
@@ -17,18 +18,79 @@ export async function loadBuildConfig(rootDir) {
17
18
  return null; // No config file is OK - it's optional
18
19
  }
19
20
  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}`,
21
+ // Create wrapper script in project root so imports resolve correctly
22
+ // Using a hidden temp file to avoid conflicts with user files
23
+ const wrapperPath = join(rootDir, `.agentuity-config-loader-${Date.now()}.mts`);
24
+ try {
25
+ // Create a wrapper script that imports the config and outputs it as JSON
26
+ // Using relative import so Bun can resolve dependencies from project's node_modules
27
+ const wrapperCode = `
28
+ import configFunction from './agentuity.config.ts';
29
+
30
+ // Validate it's a function
31
+ if (typeof configFunction !== 'function') {
32
+ console.error(JSON.stringify({
33
+ error: 'BuildConfigValidationError',
34
+ message: \`agentuity.config.ts must export a default function, got \${typeof configFunction}\`
35
+ }));
36
+ process.exit(1);
37
+ }
38
+
39
+ // Output success marker
40
+ console.log('__CONFIG_LOADED__');
41
+ `;
42
+ writeFileSync(wrapperPath, wrapperCode);
43
+ // Run the wrapper script with Bun
44
+ // Note: stdout/stderr are piped (not inherited) to suppress output from user's screen
45
+ const proc = Bun.spawn(['bun', wrapperPath], {
46
+ cwd: rootDir,
47
+ stdout: 'pipe', // Capture stdout to prevent output to user's terminal
48
+ stderr: 'pipe', // Capture stderr to prevent output to user's terminal
29
49
  });
50
+ const output = await new Response(proc.stdout).text();
51
+ const errorOutput = await new Response(proc.stderr).text();
52
+ const exitCode = await proc.exited;
53
+ if (exitCode !== 0) {
54
+ // Try to parse error as JSON
55
+ let errorData = null;
56
+ try {
57
+ errorData = JSON.parse(errorOutput);
58
+ }
59
+ catch (_parseError) {
60
+ // Not JSON, will treat as regular error below
61
+ }
62
+ // If we successfully parsed a BuildConfigValidationError, throw it
63
+ if (errorData?.error === 'BuildConfigValidationError') {
64
+ throw new BuildConfigValidationError({
65
+ message: errorData.message,
66
+ });
67
+ }
68
+ // Otherwise, throw a generic load error with the raw error output
69
+ throw new BuildConfigLoadError({
70
+ message: `Failed to load agentuity.config.ts:\n${errorOutput}`,
71
+ });
72
+ }
73
+ // Verify the success marker
74
+ if (!output.includes('__CONFIG_LOADED__')) {
75
+ throw new BuildConfigLoadError({
76
+ message: 'Config file loaded but did not output expected marker',
77
+ });
78
+ }
79
+ // Now import the config file directly - it's been validated
80
+ const configModule = await import(configPath);
81
+ const configFunction = configModule.default;
82
+ // Double-check it's a function (should always pass if wrapper succeeded)
83
+ if (typeof configFunction !== 'function') {
84
+ throw new BuildConfigValidationError({
85
+ message: `agentuity.config.ts must export a default function, got ${typeof configFunction}`,
86
+ });
87
+ }
88
+ return configFunction;
89
+ }
90
+ finally {
91
+ // Clean up temp wrapper file
92
+ rmSync(wrapperPath, { force: true });
30
93
  }
31
- return configFunction;
32
94
  }
33
95
  catch (error) {
34
96
  // 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.91",
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.91",
39
+ "@agentuity/server": "0.0.91",
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,5 @@
1
1
  import { join } from 'node:path';
2
+ import { rmSync, writeFileSync } from 'node:fs';
2
3
  import { StructuredError } from '@agentuity/core';
3
4
  import type { BuildConfigFunction, BuildPhase, BuildContext, BuildConfig } from '../../types';
4
5
 
@@ -23,21 +24,88 @@ export async function loadBuildConfig(rootDir: string): Promise<BuildConfigFunct
23
24
  }
24
25
 
25
26
  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);
27
+ // Create wrapper script in project root so imports resolve correctly
28
+ // Using a hidden temp file to avoid conflicts with user files
29
+ const wrapperPath = join(rootDir, `.agentuity-config-loader-${Date.now()}.mts`);
29
30
 
30
- // Get the default export
31
- const configFunction = configModule.default;
31
+ try {
32
+ // Create a wrapper script that imports the config and outputs it as JSON
33
+ // Using relative import so Bun can resolve dependencies from project's node_modules
34
+ const wrapperCode = `
35
+ import configFunction from './agentuity.config.ts';
32
36
 
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}`,
37
+ // Validate it's a function
38
+ if (typeof configFunction !== 'function') {
39
+ console.error(JSON.stringify({
40
+ error: 'BuildConfigValidationError',
41
+ message: \`agentuity.config.ts must export a default function, got \${typeof configFunction}\`
42
+ }));
43
+ process.exit(1);
44
+ }
45
+
46
+ // Output success marker
47
+ console.log('__CONFIG_LOADED__');
48
+ `;
49
+
50
+ writeFileSync(wrapperPath, wrapperCode);
51
+
52
+ // Run the wrapper script with Bun
53
+ // Note: stdout/stderr are piped (not inherited) to suppress output from user's screen
54
+ const proc = Bun.spawn(['bun', wrapperPath], {
55
+ cwd: rootDir,
56
+ stdout: 'pipe', // Capture stdout to prevent output to user's terminal
57
+ stderr: 'pipe', // Capture stderr to prevent output to user's terminal
37
58
  });
38
- }
39
59
 
40
- return configFunction as BuildConfigFunction;
60
+ const output = await new Response(proc.stdout).text();
61
+ const errorOutput = await new Response(proc.stderr).text();
62
+ const exitCode = await proc.exited;
63
+
64
+ if (exitCode !== 0) {
65
+ // Try to parse error as JSON
66
+ let errorData = null;
67
+ try {
68
+ errorData = JSON.parse(errorOutput);
69
+ } catch (_parseError) {
70
+ // Not JSON, will treat as regular error below
71
+ }
72
+
73
+ // If we successfully parsed a BuildConfigValidationError, throw it
74
+ if (errorData?.error === 'BuildConfigValidationError') {
75
+ throw new BuildConfigValidationError({
76
+ message: errorData.message,
77
+ });
78
+ }
79
+
80
+ // Otherwise, throw a generic load error with the raw error output
81
+ throw new BuildConfigLoadError({
82
+ message: `Failed to load agentuity.config.ts:\n${errorOutput}`,
83
+ });
84
+ }
85
+
86
+ // Verify the success marker
87
+ if (!output.includes('__CONFIG_LOADED__')) {
88
+ throw new BuildConfigLoadError({
89
+ message: 'Config file loaded but did not output expected marker',
90
+ });
91
+ }
92
+
93
+ // Now import the config file directly - it's been validated
94
+ const configModule = await import(configPath);
95
+ const configFunction = configModule.default;
96
+
97
+ // Double-check it's a function (should always pass if wrapper succeeded)
98
+ if (typeof configFunction !== 'function') {
99
+ throw new BuildConfigValidationError({
100
+ message: `agentuity.config.ts must export a default function, got ${typeof configFunction}`,
101
+ });
102
+ }
103
+
104
+ return configFunction as BuildConfigFunction;
105
+ } finally {
106
+ // Clean up temp wrapper file
107
+ rmSync(wrapperPath, { force: true });
108
+ }
41
109
  } catch (error) {
42
110
  // If it's already our error, re-throw
43
111
  if (error instanceof BuildConfigValidationError || error instanceof BuildConfigLoadError) {