@cyanautomation/kaseki-agent 1.32.0 → 1.34.1

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 (78) hide show
  1. package/README.md +1 -1
  2. package/dist/__test-utils/api-client-assertions.d.ts +15 -0
  3. package/dist/__test-utils/api-client-assertions.d.ts.map +1 -0
  4. package/dist/__test-utils/api-client-assertions.js +27 -0
  5. package/dist/__test-utils/api-client-assertions.js.map +1 -0
  6. package/dist/cli/KasekiCLI.d.ts +0 -4
  7. package/dist/cli/KasekiCLI.d.ts.map +1 -1
  8. package/dist/cli/KasekiCLI.js +0 -6
  9. package/dist/cli/KasekiCLI.js.map +1 -1
  10. package/dist/cli/bootstrappers/AgentsBootstrapper.d.ts +51 -0
  11. package/dist/cli/bootstrappers/AgentsBootstrapper.d.ts.map +1 -0
  12. package/dist/cli/bootstrappers/AgentsBootstrapper.js +130 -0
  13. package/dist/cli/bootstrappers/AgentsBootstrapper.js.map +1 -0
  14. package/dist/cli/commands/InitCommand.d.ts +7 -1
  15. package/dist/cli/commands/InitCommand.d.ts.map +1 -1
  16. package/dist/cli/commands/InitCommand.js +49 -20
  17. package/dist/cli/commands/InitCommand.js.map +1 -1
  18. package/dist/cli/commands/QuickstartCommand.d.ts +7 -11
  19. package/dist/cli/commands/QuickstartCommand.d.ts.map +1 -1
  20. package/dist/cli/commands/QuickstartCommand.js +44 -267
  21. package/dist/cli/commands/QuickstartCommand.js.map +1 -1
  22. package/dist/cli/commands/SecretsCommand.d.ts +5 -0
  23. package/dist/cli/commands/SecretsCommand.d.ts.map +1 -1
  24. package/dist/cli/commands/SecretsCommand.js +130 -3
  25. package/dist/cli/commands/SecretsCommand.js.map +1 -1
  26. package/dist/cli/commands/host-secrets-path.d.ts.map +1 -1
  27. package/dist/cli/commands/host-secrets-path.js +4 -0
  28. package/dist/cli/commands/host-secrets-path.js.map +1 -1
  29. package/dist/cli/launchers/ContainerLauncher.d.ts +38 -0
  30. package/dist/cli/launchers/ContainerLauncher.d.ts.map +1 -0
  31. package/dist/cli/launchers/ContainerLauncher.js +148 -0
  32. package/dist/cli/launchers/ContainerLauncher.js.map +1 -0
  33. package/dist/cli/resolvers/SecretResolver.d.ts +34 -0
  34. package/dist/cli/resolvers/SecretResolver.d.ts.map +1 -0
  35. package/dist/cli/resolvers/SecretResolver.js +90 -0
  36. package/dist/cli/resolvers/SecretResolver.js.map +1 -0
  37. package/dist/cli/validators/EnvironmentValidator.d.ts +37 -0
  38. package/dist/cli/validators/EnvironmentValidator.d.ts.map +1 -0
  39. package/dist/cli/validators/EnvironmentValidator.js +82 -0
  40. package/dist/cli/validators/EnvironmentValidator.js.map +1 -0
  41. package/dist/config/ConfigManager.d.ts +0 -17
  42. package/dist/config/ConfigManager.d.ts.map +1 -1
  43. package/dist/config/ConfigManager.js +1 -49
  44. package/dist/config/ConfigManager.js.map +1 -1
  45. package/dist/idempotency-store.d.ts +0 -4
  46. package/dist/idempotency-store.d.ts.map +1 -1
  47. package/dist/idempotency-store.js +0 -6
  48. package/dist/idempotency-store.js.map +1 -1
  49. package/dist/job-scheduler.d.ts.map +1 -1
  50. package/dist/job-scheduler.js +16 -13
  51. package/dist/job-scheduler.js.map +1 -1
  52. package/dist/kaseki-api-client.d.ts +3 -51
  53. package/dist/kaseki-api-client.d.ts.map +1 -1
  54. package/dist/kaseki-api-client.js +0 -267
  55. package/dist/kaseki-api-client.js.map +1 -1
  56. package/dist/kaseki-api-config.js +1 -1
  57. package/dist/kaseki-api-routes.d.ts.map +1 -1
  58. package/dist/kaseki-api-routes.js +37 -17
  59. package/dist/kaseki-api-routes.js.map +1 -1
  60. package/dist/secrets/SecretsManager.d.ts +32 -27
  61. package/dist/secrets/SecretsManager.d.ts.map +1 -1
  62. package/dist/secrets/SecretsManager.js +135 -247
  63. package/dist/secrets/SecretsManager.js.map +1 -1
  64. package/dist/secrets/host-secrets-reader.d.ts +21 -16
  65. package/dist/secrets/host-secrets-reader.d.ts.map +1 -1
  66. package/dist/secrets/host-secrets-reader.js +48 -42
  67. package/dist/secrets/host-secrets-reader.js.map +1 -1
  68. package/kaseki-agent.sh +3 -3
  69. package/package.json +10 -6
  70. package/scripts/docker-entrypoint.sh +2 -3
  71. package/scripts/kaseki-setup-host.sh +14 -2
  72. package/scripts/setup-secrets.sh +422 -0
  73. package/scripts/startup-checks.sh +174 -623
  74. package/dist/__test-utils/openapi-assertions.d.ts +0 -39
  75. package/dist/__test-utils/openapi-assertions.d.ts.map +0 -1
  76. package/dist/__test-utils/openapi-assertions.js +0 -101
  77. package/dist/__test-utils/openapi-assertions.js.map +0 -1
  78. package/scripts/kaseki-init-container.sh +0 -99
package/README.md CHANGED
@@ -1385,7 +1385,7 @@ to opt out of GitHub publishing for a specific API run.
1385
1385
  | `KASEKI_AGENT_TIMEOUT_SECONDS` | 1200 | Agent timeout (20 min) |
1386
1386
  | `TASK_PROMPT` | *(code fix task)* | Agent instructions |
1387
1387
  | `KASEKI_TASK_MODE` | patch | `patch` (require diff) or `inspect` (no diff) |
1388
- | `KASEKI_PUBLISH_MODE` | auto | `auto`, `none`, `branch`, `pr`, or `draft_pr`; controller API requests with omitted `publishMode` default to `pr`, while explicit API `publishMode: "auto"` passes graceful auto publishing to workers; direct worker/CLI execution defaults to `auto` if unchanged |
1388
+ | `KASEKI_PUBLISH_MODE` | pr | `pr` (normal PR), `draft_pr` (draft PR), `branch` (branch only), `auto` (legacy: PR if credentials found), or `none` (skip); controller API requests with omitted `publishMode` default to `pr`; direct worker/CLI execution defaults to `pr` if unchanged |
1389
1389
  | `KASEKI_STARTUP_CHECK_MODE` | boot | Dry-run startup check depth: `boot` or `baseline-validation` |
1390
1390
 
1391
1391
  ### Validation and Quality Gates
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Minimal OpenAPI test assertion helpers
3
+ * Extracted from patterns in openapi-spec-generator.test.ts
4
+ * Reduces boilerplate and improves test maintainability
5
+ */
6
+ /**
7
+ * Iterate through all paths and methods in an OpenAPI spec, executing a callback for each
8
+ * Replaces nested Object.entries().forEach() patterns with a single helper call
9
+ */
10
+ export declare function forEachPathOperation(paths: Record<string, Record<string, unknown>>, callback: (pathName: string, method: string, operation: Record<string, unknown>) => void): void;
11
+ /**
12
+ * Assert that all paths have at least one operation defined (GET, POST, etc.)
13
+ */
14
+ export declare function assertAllPathsHaveOperations(paths: Record<string, Record<string, unknown>>): void;
15
+ //# sourceMappingURL=api-client-assertions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client-assertions.d.ts","sourceRoot":"","sources":["../../src/__test-utils/api-client-assertions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC9C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GACvF,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAOjG"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Minimal OpenAPI test assertion helpers
3
+ * Extracted from patterns in openapi-spec-generator.test.ts
4
+ * Reduces boilerplate and improves test maintainability
5
+ */
6
+ /**
7
+ * Iterate through all paths and methods in an OpenAPI spec, executing a callback for each
8
+ * Replaces nested Object.entries().forEach() patterns with a single helper call
9
+ */
10
+ export function forEachPathOperation(paths, callback) {
11
+ Object.entries(paths).forEach(([pathName, pathItem]) => {
12
+ Object.entries(pathItem).forEach(([method, operation]) => {
13
+ callback(pathName, method, operation);
14
+ });
15
+ });
16
+ }
17
+ /**
18
+ * Assert that all paths have at least one operation defined (GET, POST, etc.)
19
+ */
20
+ export function assertAllPathsHaveOperations(paths) {
21
+ const httpMethods = ['get', 'post', 'put', 'delete', 'patch', 'head', 'options'];
22
+ Object.entries(paths).forEach(([, pathItem]) => {
23
+ const hasOperation = httpMethods.some((method) => method in pathItem);
24
+ expect(hasOperation).toBe(true);
25
+ });
26
+ }
27
+ //# sourceMappingURL=api-client-assertions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client-assertions.js","sourceRoot":"","sources":["../../src/__test-utils/api-client-assertions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA8C,EAC9C,QAAwF;IAExF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;QACrD,MAAM,CAAC,OAAO,CAAC,QAAmC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE;YAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAoC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAA8C;IACzF,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;QACtE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -26,9 +26,5 @@ export declare class KasekiCLI {
26
26
  * Print command-specific help without executing checks or API calls.
27
27
  */
28
28
  private printCommandHelp;
29
- /**
30
- * Get list of available commands
31
- */
32
- getCommands(): CLICommand[];
33
29
  }
34
30
  //# sourceMappingURL=KasekiCLI.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KasekiCLI.d.ts","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,aAAa,EAAE,aAAa;IAMxC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoJxB;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC/E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgGxB;;OAEG;IACH,WAAW,IAAI,UAAU,EAAE;CAG5B"}
1
+ {"version":3,"file":"KasekiCLI.d.ts","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,aAAa,EAAE,aAAa;IAMxC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoJxB;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC/E;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAgGzB"}
@@ -282,11 +282,5 @@ REQUIRES
282
282
  };
283
283
  console.log(help[commandName] || `${commandName} - no detailed help available`);
284
284
  }
285
- /**
286
- * Get list of available commands
287
- */
288
- getCommands() {
289
- return Array.from(this.commands.values());
290
- }
291
285
  }
292
286
  //# sourceMappingURL=KasekiCLI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KasekiCLI.js","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KasekiCLI.js","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * AgentsBootstrapper - Creates and initializes the /agents directory structure
3
+ * Handles sudo fallback and sets proper permissions for container access
4
+ */
5
+ import { ConfigManager } from '../../config/ConfigManager';
6
+ export interface BootstrapResult {
7
+ ok: boolean;
8
+ error?: string;
9
+ message?: string;
10
+ }
11
+ export declare class AgentsBootstrapper {
12
+ private configManager;
13
+ constructor(configManager: ConfigManager);
14
+ /**
15
+ * Ensure /agents directory structure exists with proper permissions
16
+ */
17
+ bootstrap(dryRun?: boolean): Promise<BootstrapResult>;
18
+ /**
19
+ * Write configuration file to ~/.kaseki/config.json
20
+ */
21
+ writeConfig(secrets: {
22
+ openrouterKeyFile?: {
23
+ filePath: string;
24
+ } | null;
25
+ githubAppIdFile?: {
26
+ filePath: string;
27
+ } | null;
28
+ githubAppClientIdFile?: {
29
+ filePath: string;
30
+ } | null;
31
+ githubAppPrivateKeyFile?: {
32
+ filePath: string;
33
+ } | null;
34
+ kasekiApiKeysFile?: {
35
+ filePath: string;
36
+ } | null;
37
+ }): Promise<void>;
38
+ /**
39
+ * Create directory, falling back to sudo if needed
40
+ */
41
+ private createDirectoryWithSudoFallback;
42
+ /**
43
+ * Set ownership to CONTAINER_UID, falling back to sudo if needed
44
+ */
45
+ private setOwnershipWithSudoFallback;
46
+ /**
47
+ * Set directory permissions, falling back to sudo if needed
48
+ */
49
+ private setPermissionsWithSudoFallback;
50
+ }
51
+ //# sourceMappingURL=AgentsBootstrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsBootstrapper.d.ts","sourceRoot":"","sources":["../../../src/cli/bootstrappers/AgentsBootstrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,kBAAkB;IAEjB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD;;OAEG;IACG,SAAS,CAAC,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA2ClE;;OAEG;IACG,WAAW,CACf,OAAO,EAAE;QACP,iBAAiB,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAChD,eAAe,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAC9C,qBAAqB,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACpD,uBAAuB,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACtD,iBAAiB,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KACjD,GACA,OAAO,CAAC,IAAI,CAAC;IAuBhB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAevC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAepC;;OAEG;IACH,OAAO,CAAC,8BAA8B;CAcvC"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * AgentsBootstrapper - Creates and initializes the /agents directory structure
3
+ * Handles sudo fallback and sets proper permissions for container access
4
+ */
5
+ import { existsSync } from 'fs';
6
+ import fs from 'fs/promises';
7
+ import os from 'os';
8
+ import path from 'path';
9
+ import { spawnSync } from 'child_process';
10
+ import { createLogger } from '../../logger.js';
11
+ const logger = createLogger('agents-bootstrapper');
12
+ const AGENTS_SUBDIRS = ['kaseki-results', 'kaseki-runs', 'kaseki-cache'];
13
+ const CONTAINER_UID = 10000;
14
+ export class AgentsBootstrapper {
15
+ configManager;
16
+ // @ts-expect-error - configManager may be used in future extensions
17
+ constructor(configManager) {
18
+ this.configManager = configManager;
19
+ }
20
+ /**
21
+ * Ensure /agents directory structure exists with proper permissions
22
+ */
23
+ async bootstrap(dryRun = false) {
24
+ // Check if already set up
25
+ const allReady = ['/agents', ...AGENTS_SUBDIRS.map((d) => `/agents/${d}`)].every((p) => existsSync(p));
26
+ if (allReady) {
27
+ logger.debug('/agents already initialized');
28
+ return { ok: true, message: 'āœ“ /agents already set up' };
29
+ }
30
+ if (dryRun) {
31
+ logger.debug('[dry-run] would create /agents');
32
+ return { ok: true, message: '[dry-run] would create /agents with UID 10000 ownership' };
33
+ }
34
+ // Create directory structure
35
+ const dirsToCreate = ['/agents', ...AGENTS_SUBDIRS.map((d) => `/agents/${d}`)];
36
+ for (const dir of dirsToCreate) {
37
+ const result = this.createDirectoryWithSudoFallback(dir);
38
+ if (!result.ok) {
39
+ logger.error(`Failed to create ${dir}: ${result.error}`);
40
+ return result;
41
+ }
42
+ }
43
+ // Set ownership to CONTAINER_UID
44
+ const ownershipResult = this.setOwnershipWithSudoFallback('/agents');
45
+ if (!ownershipResult.ok) {
46
+ logger.error(`Failed to set ownership: ${ownershipResult.error}`);
47
+ return ownershipResult;
48
+ }
49
+ // Set permissions
50
+ const permissionResult = this.setPermissionsWithSudoFallback('/agents');
51
+ if (!permissionResult.ok) {
52
+ logger.error(`Failed to set permissions: ${permissionResult.error}`);
53
+ return permissionResult;
54
+ }
55
+ logger.info('/agents bootstrap completed successfully');
56
+ return { ok: true, message: 'āœ“ /agents created with UID 10000 ownership' };
57
+ }
58
+ /**
59
+ * Write configuration file to ~/.kaseki/config.json
60
+ */
61
+ async writeConfig(secrets) {
62
+ const kasekiDir = path.join(os.homedir(), '.kaseki');
63
+ await fs.mkdir(kasekiDir, { recursive: true, mode: 0o700 });
64
+ const auth = {};
65
+ if (secrets.openrouterKeyFile)
66
+ auth.openrouter_api_key_file = secrets.openrouterKeyFile.filePath;
67
+ if (secrets.githubAppIdFile)
68
+ auth.github_app_id_file = secrets.githubAppIdFile.filePath;
69
+ if (secrets.githubAppClientIdFile)
70
+ auth.github_app_client_id_file = secrets.githubAppClientIdFile.filePath;
71
+ if (secrets.githubAppPrivateKeyFile)
72
+ auth.github_app_private_key_file = secrets.githubAppPrivateKeyFile.filePath;
73
+ const config = {
74
+ auth,
75
+ api: {
76
+ url: 'http://localhost:8080/api',
77
+ ...(secrets.kasekiApiKeysFile ? { key_file: secrets.kasekiApiKeysFile.filePath } : {}),
78
+ },
79
+ };
80
+ const configPath = path.join(kasekiDir, 'config.json');
81
+ await fs.writeFile(configPath, JSON.stringify(config, null, 2), { mode: 0o600 });
82
+ logger.info(`Config written to ${configPath}`);
83
+ }
84
+ /**
85
+ * Create directory, falling back to sudo if needed
86
+ */
87
+ createDirectoryWithSudoFallback(dir) {
88
+ const mkdirResult = spawnSync('mkdir', ['-p', dir], { stdio: 'pipe' });
89
+ if (mkdirResult.status === 0) {
90
+ return { ok: true };
91
+ }
92
+ // Try with sudo
93
+ const sudoResult = spawnSync('sudo', ['mkdir', '-p', dir], { stdio: 'inherit' });
94
+ if (sudoResult.status === 0) {
95
+ return { ok: true };
96
+ }
97
+ return { ok: false, error: `Failed to create directory: ${dir}` };
98
+ }
99
+ /**
100
+ * Set ownership to CONTAINER_UID, falling back to sudo if needed
101
+ */
102
+ setOwnershipWithSudoFallback(dir) {
103
+ const chownResult = spawnSync('chown', ['-R', `${CONTAINER_UID}:${CONTAINER_UID}`, dir], { stdio: 'pipe' });
104
+ if (chownResult.status === 0) {
105
+ return { ok: true };
106
+ }
107
+ // Try with sudo
108
+ const sudoResult = spawnSync('sudo', ['chown', '-R', `${CONTAINER_UID}:${CONTAINER_UID}`, dir], { stdio: 'inherit' });
109
+ if (sudoResult.status === 0) {
110
+ return { ok: true };
111
+ }
112
+ return { ok: false, error: 'Failed to set ownership on /agents' };
113
+ }
114
+ /**
115
+ * Set directory permissions, falling back to sudo if needed
116
+ */
117
+ setPermissionsWithSudoFallback(dir) {
118
+ const chmodResult = spawnSync('chmod', ['755', dir], { stdio: 'pipe' });
119
+ if (chmodResult.status === 0) {
120
+ return { ok: true };
121
+ }
122
+ // Try with sudo
123
+ const sudoResult = spawnSync('sudo', ['chmod', '755', dir], { stdio: 'inherit' });
124
+ if (sudoResult.status === 0) {
125
+ return { ok: true };
126
+ }
127
+ return { ok: false, error: 'Failed to set permissions on /agents' };
128
+ }
129
+ }
130
+ //# sourceMappingURL=AgentsBootstrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsBootstrapper.js","sourceRoot":"","sources":["../../../src/cli/bootstrappers/AgentsBootstrapper.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,19 @@
3
3
  * New unified setup wizard (replaces old setup command)
4
4
  *
5
5
  * Provides single entry point for all setup paths:
6
+ * - Docker Compose deployment
6
7
  * - Single-run execution
7
8
  * - Local API service
8
- * - Production REST API
9
+ *
10
+ * Auto-configures secrets and permissions before wizard runs.
9
11
  */
10
12
  import { BaseCommand } from '../BaseCommand';
11
13
  export declare class InitCommand extends BaseCommand {
12
14
  execute(args: string[]): Promise<number>;
15
+ /**
16
+ * Run setup-secrets.sh to configure secrets directories with proper permissions
17
+ */
18
+ private runSecretsSetup;
13
19
  /**
14
20
  * Print command help
15
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"InitCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/InitCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,qBAAa,WAAY,SAAQ,WAAW;IACpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoC9C;;OAEG;IACH,OAAO,CAAC,SAAS;IA4CjB;;OAEG;IACH,OAAO,CAAC,cAAc;CA4DvB"}
1
+ {"version":3,"file":"InitCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/InitCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAO7C,qBAAa,WAAY,SAAQ,WAAW;IACpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkD9C;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,SAAS;IA2CjB;;OAEG;IACH,OAAO,CAAC,cAAc;CA4DvB"}
@@ -3,13 +3,17 @@
3
3
  * New unified setup wizard (replaces old setup command)
4
4
  *
5
5
  * Provides single entry point for all setup paths:
6
+ * - Docker Compose deployment
6
7
  * - Single-run execution
7
8
  * - Local API service
8
- * - Production REST API
9
+ *
10
+ * Auto-configures secrets and permissions before wizard runs.
9
11
  */
10
12
  import { SetupWizard } from '../../setup/SetupWizard.js';
11
13
  import { BaseCommand } from '../BaseCommand.js';
12
14
  import { createLogger } from '../../logger.js';
15
+ import { execSync } from 'child_process';
16
+ import path from 'path';
13
17
  const logger = createLogger('init-cmd');
14
18
  export class InitCommand extends BaseCommand {
15
19
  async execute(args) {
@@ -18,12 +22,26 @@ export class InitCommand extends BaseCommand {
18
22
  const dryRun = args.includes('--dry-run');
19
23
  const importLegacy = args.includes('--import-legacy');
20
24
  const force = args.includes('--force');
25
+ const skipSecretsSetup = args.includes('--skip-secrets-setup');
21
26
  // Show help if requested
22
27
  if (args.includes('--help') || args.includes('-h')) {
23
28
  this.printHelp();
24
29
  return 0;
25
30
  }
26
- // Run the unified setup wizard
31
+ // Step 1: Ensure secrets directories are properly configured
32
+ if (!skipSecretsSetup && !dryRun) {
33
+ console.log('\nšŸ“ Setting up secrets directories...\n');
34
+ try {
35
+ this.runSecretsSetup();
36
+ console.log('āœ“ Secrets directories ready\n');
37
+ }
38
+ catch (error) {
39
+ logger.warn(`Secrets setup warning: ${error}`);
40
+ console.log('⚠ Secrets setup had issues; continuing with wizard\n');
41
+ // Don't fail; user can fix manually
42
+ }
43
+ }
44
+ // Step 2: Run the unified setup wizard
27
45
  const wizard = new SetupWizard();
28
46
  const context = await wizard.run({
29
47
  dryRun,
@@ -44,6 +62,18 @@ export class InitCommand extends BaseCommand {
44
62
  return 1;
45
63
  }
46
64
  }
65
+ /**
66
+ * Run setup-secrets.sh to configure secrets directories with proper permissions
67
+ */
68
+ runSecretsSetup() {
69
+ try {
70
+ const setupScript = path.join(__dirname, '../../..', 'scripts', 'setup-secrets.sh');
71
+ execSync(`bash "${setupScript}"`, { stdio: 'pipe' });
72
+ }
73
+ catch (error) {
74
+ throw new Error(`Failed to run secrets setup: ${error}`);
75
+ }
76
+ }
47
77
  /**
48
78
  * Print command help
49
79
  */
@@ -55,37 +85,36 @@ USAGE
55
85
  kaseki-agent init [OPTIONS]
56
86
 
57
87
  OPTIONS
58
- --dry-run Validate setup without saving configuration
59
- --import-legacy Migrate configuration from old setup paths
60
- --force Skip permission validation and proceed (advanced users only)
61
- --help, -h Show this help message
88
+ --dry-run Validate setup without saving configuration
89
+ --import-legacy Migrate configuration from old setup paths
90
+ --skip-secrets-setup Skip automatic secrets directory setup
91
+ --force Skip permission validation (advanced users only)
92
+ --help, -h Show this help message
62
93
 
63
94
  DESCRIPTION
64
- Interactive wizard for first-time configuration. Guides you through:
95
+ Interactive wizard for first-time configuration. Automatically:
65
96
 
66
- 1. Environment detection (Docker, Node.js, permissions)
67
- 2. Execution path selection (single-run, local API, production API)
68
- 3. Essential 8 configuration (API key, validation, timeouts, etc)
69
- 4. Auto-generated defaults for advanced variables
70
- 5. Secure credential storage
97
+ 1. āœ“ Sets up secrets directories with proper permissions (/home/pi/secrets, ~/.kaseki/secrets)
98
+ 2. Detects environment (Docker, Node.js)
99
+ 3. Guides you through execution path selection (Docker Compose or single-run)
100
+ 4. Collects essential credentials (OpenRouter API key, etc.)
101
+ 5. Saves configuration securely
71
102
 
72
- Configuration is saved to:
73
- - ~/.kaseki/secrets.json (API keys, mode 0600)
74
- - ~/.kaseki/config.json (configuration metadata)
75
- - .env (current directory, for Docker/source control)
103
+ Configuration files created:
104
+ - ~/.kaseki/secrets/{secretName} (API keys, mode 600/640)
105
+ - .env (environment variables, your repo)
76
106
 
77
107
  EXAMPLES
78
- # Interactive setup
108
+ # Interactive setup (recommended)
79
109
  kaseki-agent init
80
110
 
81
- # Dry-run (validate without saving)
111
+ # Dry-run validation
82
112
  kaseki-agent init --dry-run
83
113
 
84
- # Migrate from old setup paths
114
+ # Migrate from old setup
85
115
  kaseki-agent init --import-legacy
86
116
 
87
117
  DOCUMENTATION
88
- For more information:
89
118
  - Quick start: https://github.com/CyanAutomation/kaseki-agent/blob/main/docs/QUICK_START.md
90
119
  - Advanced config: https://github.com/CyanAutomation/kaseki-agent/blob/main/docs/ADVANCED_CONFIG.md
91
120
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/InitCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAExC,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEvC,yBAAyB;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,CAAC;YACX,CAAC;YAED,+BAA+B;YAC/B,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;gBAC/B,MAAM;gBACN,YAAY;gBACZ,KAAK;aACN,CAAC,CAAC;YAEH,8BAA8B;YAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACK,SAAS;QACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwCX,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAY;QACjC,MAAM,UAAU,GAA2B;YACzC,YAAY,EAAE;;;;;;;;;;;OAWb;YAED,WAAW,EAAE;;;;;;;;;;;;;;;OAeZ;YAED,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;OAsBjB;SACF,CAAC;QAEF,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/InitCommand.ts"],"names":[],"mappings":"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"}
@@ -6,23 +6,19 @@
6
6
  * 2. Discover secrets at well-known locations
7
7
  * 3. Write ~/.kaseki/config.json
8
8
  * 4. Bootstrap /agents (with sudo if needed)
9
- * 5. Start kaseki-api via docker-compose (or docker run fallback)
9
+ * 5. Start kaseki-api via docker (or docker run fallback)
10
10
  * 6. Wait for /ready body to confirm the API is truly ready
11
11
  * 7. Smoke-test the authenticated /api/runs endpoint
12
12
  */
13
13
  import { BaseCommand } from '../BaseCommand';
14
+ import { ConfigManager } from '../../config/ConfigManager';
14
15
  export declare class QuickstartCommand extends BaseCommand {
16
+ private environmentValidator;
17
+ private secretResolver;
18
+ private agentsBootstrapper;
19
+ private containerLauncher;
20
+ constructor(configManager: ConfigManager);
15
21
  execute(args: string[]): Promise<number>;
16
- private detectEnvironment;
17
- private printEnvSummary;
18
- private discoverSecrets;
19
- private printSecretsSummary;
20
- private writeConfig;
21
- private bootstrapAgentsDir;
22
- private startContainer;
23
- private readApiKey;
24
- private waitForReady;
25
- private smokeTest;
26
22
  private printSuccess;
27
23
  private printHelp;
28
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QuickstartCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/QuickstartCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAuB7C,qBAAa,iBAAkB,SAAQ,WAAW;IAC1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAyH9C,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,mBAAmB;YAiBb,WAAW;IA2BzB,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,cAAc;IA2DtB,OAAO,CAAC,UAAU;YAeJ,YAAY;YAyBZ,SAAS;IAiBvB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,SAAS;CA4BlB"}
1
+ {"version":3,"file":"QuickstartCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/QuickstartCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAS3D,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,iBAAiB,CAAoB;gBAEjC,aAAa,EAAE,aAAa;IAQlC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAuI9C,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,SAAS;CA4BlB"}