@cyanautomation/kaseki-agent 1.29.1 → 1.30.2

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.
package/README.md CHANGED
@@ -35,10 +35,9 @@ For a Docker Compose API host, prepare storage and secrets before starting the
35
35
  service:
36
36
 
37
37
  ```bash
38
- sudo kaseki-agent host setup --fix --recreate-api
39
-
40
- curl -H "Authorization: Bearer $(cat ~/secrets/kaseki_api_keys)" \
41
- http://localhost:8080/api/preflight
38
+ sudo npm install -g @cyanautomation/kaseki-agent@latest
39
+ sudo kaseki-agent host setup --fix --recreate-api --wait-ready
40
+ sudo kaseki-agent host preflight
42
41
  ```
43
42
 
44
43
  The host prep helper creates `/agents`, `/agents/kaseki-results`,
@@ -46,8 +45,11 @@ The host prep helper creates `/agents`, `/agents/kaseki-results`,
46
45
  then normalizes `~/secrets` to directory mode `0750` and file mode `0640` with
47
46
  group `10000`. It is sudo-aware and uses the original invoking user's
48
47
  `~/secrets` by default; set `KASEKI_HOST_SECRETS_DIR=/path/to/secrets` for a
49
- non-standard location. If preflight reports a deleted bind mount, rerun the
50
- same command with `--recreate-api`.
48
+ non-standard location. The `host` command requires a current npm CLI
49
+ (`1.29.1` or newer). If preflight reports a deleted bind mount, rerun the same
50
+ command with `--recreate-api`. Prefer `/ready` and authenticated
51
+ `/api/preflight` over `docker ps` alone; Docker health can lag or hide
52
+ permission issues that readiness diagnostics explain directly.
51
53
 
52
54
  ### Without Global Install
53
55
 
@@ -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;IAyIxB;;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;IA8FxB;;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;IAyIxB;;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"}
@@ -211,11 +211,13 @@ USAGE
211
211
  host: `host - prepare or recover a Docker Compose API host
212
212
 
213
213
  USAGE
214
- kaseki-agent host setup [--fix] [--recreate-api]
214
+ kaseki-agent host setup [--fix] [--recreate-api] [--wait-ready]
215
+ kaseki-agent host preflight [--url URL]
215
216
 
216
217
  EXAMPLES
217
218
  kaseki-agent host setup
218
- sudo kaseki-agent host setup --fix --recreate-api`,
219
+ sudo kaseki-agent host setup --fix --recreate-api --wait-ready
220
+ sudo kaseki-agent host preflight`,
219
221
  serve: `serve - start the local REST API service
220
222
 
221
223
  USAGE
@@ -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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"}
@@ -7,5 +7,7 @@ export declare class HostCommand extends BaseCommand {
7
7
  execute(args: string[]): Promise<number>;
8
8
  private findSetupScript;
9
9
  private printHelp;
10
+ private waitForReady;
11
+ private runPreflight;
10
12
  }
11
13
  //# sourceMappingURL=HostCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HostCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,qBAAa,WAAY,SAAQ,WAAW;IACpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C9C,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;CAgBlB"}
1
+ {"version":3,"file":"HostCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,qBAAa,WAAY,SAAQ,WAAW;IACpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAyD9C,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;YAqBH,YAAY;YAyBZ,YAAY;CAyC3B"}
@@ -8,6 +8,7 @@ import { spawnSync } from 'child_process';
8
8
  import { existsSync } from 'fs';
9
9
  import { BaseCommand } from '../BaseCommand.js';
10
10
  import { createLogger } from '../../logger.js';
11
+ import { readHostSecret, getSecretLocations } from '../../secrets/host-secrets-reader.js';
11
12
  const logger = createLogger('host-cmd');
12
13
  export class HostCommand extends BaseCommand {
13
14
  async execute(args) {
@@ -16,8 +17,12 @@ export class HostCommand extends BaseCommand {
16
17
  this.printHelp();
17
18
  return 0;
18
19
  }
19
- if (subcommand !== 'setup' || (action && action !== '--fix' && action !== '--recreate-api' && action !== '--help')) {
20
- console.error('Usage: kaseki-agent host setup [--fix] [--recreate-api]');
20
+ const validOptions = new Set(['--fix', '--recreate-api', '--wait-ready', '--help']);
21
+ if (subcommand === 'preflight') {
22
+ return this.runPreflight(action ? [action, ...rest] : rest);
23
+ }
24
+ if (subcommand !== 'setup' || [action, ...rest].filter(Boolean).some((arg) => !validOptions.has(arg))) {
25
+ console.error('Usage: kaseki-agent host setup [--fix] [--recreate-api] [--wait-ready]');
21
26
  return 1;
22
27
  }
23
28
  const setupArgs = [action, ...rest].filter(Boolean);
@@ -34,7 +39,9 @@ export class HostCommand extends BaseCommand {
34
39
  if (setupArgs.includes('--fix') && process.getuid?.() !== 0) {
35
40
  console.log('Tip: if /agents needs root-owned changes, rerun with sudo or allow sudo when prompted.');
36
41
  }
37
- const result = spawnSync(scriptPath, setupArgs, {
42
+ const waitReady = setupArgs.includes('--wait-ready');
43
+ const scriptArgs = setupArgs.filter((arg) => arg !== '--wait-ready');
44
+ const result = spawnSync(scriptPath, scriptArgs, {
38
45
  stdio: 'inherit',
39
46
  env: process.env,
40
47
  });
@@ -43,7 +50,11 @@ export class HostCommand extends BaseCommand {
43
50
  console.error(`Host setup failed: ${result.error.message}`);
44
51
  return 1;
45
52
  }
46
- return result.status ?? 1;
53
+ const exitCode = result.status ?? 1;
54
+ if (exitCode !== 0 || !waitReady) {
55
+ return exitCode;
56
+ }
57
+ return this.waitForReady();
47
58
  }
48
59
  findSetupScript() {
49
60
  const here = dirname(fileURLToPath(import.meta.url));
@@ -58,17 +69,81 @@ export class HostCommand extends BaseCommand {
58
69
  console.log(`host - prepare or recover a Docker Compose API host
59
70
 
60
71
  USAGE
61
- kaseki-agent host setup [--fix] [--recreate-api]
72
+ kaseki-agent host setup [--fix] [--recreate-api] [--wait-ready]
73
+ kaseki-agent host preflight [--url URL]
62
74
 
63
75
  OPTIONS
64
76
  --fix Create/fix /agents, normalize secrets, and bootstrap the template.
65
77
  --recreate-api Recreate the kaseki-api container after host paths are fixed.
78
+ --wait-ready Wait for http://127.0.0.1:8080/ready before returning.
79
+ --url URL Preflight URL. Defaults to http://127.0.0.1:8080/api/preflight.
66
80
 
67
81
  EXAMPLES
68
82
  kaseki-agent host setup
69
- sudo kaseki-agent host setup --fix --recreate-api
83
+ sudo kaseki-agent host setup --fix --recreate-api --wait-ready
84
+ sudo kaseki-agent host preflight
70
85
  sudo KASEKI_HOST_SECRETS_DIR=/home/pi/secrets kaseki-agent host setup --fix
71
86
  `);
72
87
  }
88
+ async waitForReady() {
89
+ const url = process.env.KASEKI_READY_URL || 'http://127.0.0.1:8080/ready';
90
+ const timeoutMs = Number.parseInt(process.env.KASEKI_WAIT_READY_TIMEOUT_MS || '60000', 10);
91
+ const startedAt = Date.now();
92
+ console.log(`Waiting for Kaseki API readiness: ${url}`);
93
+ while (Date.now() - startedAt < timeoutMs) {
94
+ try {
95
+ const response = await fetch(url);
96
+ if (response.ok) {
97
+ console.log('Kaseki API is ready.');
98
+ return 0;
99
+ }
100
+ }
101
+ catch {
102
+ // Container may still be starting; retry until timeout.
103
+ }
104
+ await new Promise((resolve) => setTimeout(resolve, 2000));
105
+ }
106
+ console.error(`Kaseki API did not become ready within ${timeoutMs}ms. Check: docker logs kaseki-api`);
107
+ return 1;
108
+ }
109
+ async runPreflight(args) {
110
+ if (args.includes('--help') || args.includes('-h')) {
111
+ this.printHelp();
112
+ return 0;
113
+ }
114
+ const allowedArgs = new Set(['--url']);
115
+ const unknownOption = args.find((arg, index) => arg.startsWith('-') && !(allowedArgs.has(arg) || args[index - 1] === '--url'));
116
+ if (unknownOption) {
117
+ console.error(`Unknown host preflight option: ${unknownOption}`);
118
+ console.error('Usage: kaseki-agent host preflight [--url URL]');
119
+ return 1;
120
+ }
121
+ const urlArgIndex = args.indexOf('--url');
122
+ const url = urlArgIndex >= 0 && args[urlArgIndex + 1]
123
+ ? args[urlArgIndex + 1]
124
+ : process.env.KASEKI_PREFLIGHT_URL || 'http://127.0.0.1:8080/api/preflight';
125
+ const token = readHostSecret('kaseki_api_keys')?.split(/\r?\n/).find((line) => line.trim())?.trim();
126
+ if (!token) {
127
+ const locations = getSecretLocations('kaseki_api_keys');
128
+ console.error('Could not read kaseki_api_keys from host secrets.');
129
+ console.error(`Checked: ${locations.primary} and ${locations.secondary}`);
130
+ console.error('If permissions were normalized for the API container, rerun this command with sudo or add your admin user to the container secret group.');
131
+ return 1;
132
+ }
133
+ try {
134
+ const response = await fetch(url, {
135
+ headers: {
136
+ Authorization: `Bearer ${token}`,
137
+ },
138
+ });
139
+ const body = await response.text();
140
+ console.log(body);
141
+ return response.ok ? 0 : 1;
142
+ }
143
+ catch (err) {
144
+ console.error(`Failed to call ${url}: ${err.message}`);
145
+ return 1;
146
+ }
147
+ }
73
148
  }
74
149
  //# sourceMappingURL=HostCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HostCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HostCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"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"}
@@ -1,39 +1,21 @@
1
- /**
2
- * Context returned after successful setup initialization
3
- */
1
+ /** Context returned after successful setup initialization */
4
2
  export interface SetupContext {
5
3
  nodeVersionValid: boolean;
6
4
  templateInitialized: boolean;
7
5
  templateDir: string;
8
6
  }
9
- /**
10
- * Internal test seam for setup orchestration dependencies.
11
- */
7
+ /** Internal test seam for setup orchestration dependencies */
12
8
  export interface InitializeSetupDependencies {
13
9
  assertNodeVersion?: () => void;
14
10
  ensureTemplate?: (templateDir: string) => Promise<void>;
15
11
  }
16
- /**
17
- * Validates that the runtime Node version meets minimum requirements
18
- * @throws Calls process.exit(1) if validation fails
19
- */
12
+ /** Validates Node version; calls process.exit(1) if invalid */
20
13
  export declare function assertSupportedNodeVersion(version?: string, minimumMajor?: number): void;
21
- /**
22
- * Phase 3: Auto-initialize /agents/kaseki-template if missing
23
- * This eliminates the need for manual 'kaseki-activate.sh --controller bootstrap'
24
- *
25
- * Tries three strategies in order:
14
+ /** Phase 3: Auto-initialize /agents/kaseki-template if missing. Tries three strategies:
26
15
  * 1. Copy from /app/kaseki-template (Docker image seed)
27
- * 2. Create symlink to /app/run-kaseki.sh (Docker fallback)
28
- * 3. Continue with warning (jobs will fail with clear error message)
29
- */
16
+ * 2. Create symlink to /app (Docker fallback)
17
+ * 3. Continue with warning (jobs will fail with clear error) */
30
18
  export declare function ensureTemplateInitialized(templateDir: string): Promise<void>;
31
- /**
32
- * Orchestrates setup initialization: validates Node version and initializes template directory
33
- *
34
- * @param templateDir - Path to template directory (defaults to KASEKI_TEMPLATE_DIR env var or /agents/kaseki-template)
35
- * @returns SetupContext with initialization status
36
- * @throws Calls process.exit(1) if Node version validation fails
37
- */
19
+ /** Orchestrates setup: validates Node version and initializes template directory */
38
20
  export declare function initializeSetup(templateDir?: string, dependencies?: InitializeSetupDependencies): Promise<SetupContext>;
39
21
  //# sourceMappingURL=setup-orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-orchestrator.d.ts","sourceRoot":"","sources":["../../src/kaseki-api/setup-orchestrator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,MAA8B,EACvC,YAAY,GAAE,MAAW,GACxB,IAAI,CAaN;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkElF;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,YAAY,CAAC,CAoBvB"}
1
+ {"version":3,"file":"setup-orchestrator.d.ts","sourceRoot":"","sources":["../../src/kaseki-api/setup-orchestrator.ts"],"names":[],"mappings":"AAkBA,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8DAA8D;AAC9D,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,+DAA+D;AAC/D,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,MAA8B,EACvC,YAAY,GAAE,MAAW,GACxB,IAAI,CAaN;AAED;;;gEAGgE;AAChE,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgElF;AAED,oFAAoF;AACpF,wBAAsB,eAAe,CACnC,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,YAAY,CAAC,CAavB"}
@@ -3,10 +3,17 @@ import * as path from 'path';
3
3
  import { execSync } from 'child_process';
4
4
  import { createEventLogger } from '../logger.js';
5
5
  const logger = createEventLogger('setup-orchestrator');
6
- /**
7
- * Validates that the runtime Node version meets minimum requirements
8
- * @throws Calls process.exit(1) if validation fails
9
- */
6
+ const TEMPLATE_FALLBACK_ENTRIES = [
7
+ 'run-kaseki.sh',
8
+ 'kaseki-agent.sh',
9
+ 'scripts/kaseki-activate.sh',
10
+ 'scripts/kaseki-preflight.sh',
11
+ 'lib/pi-event-filter.js',
12
+ 'lib/pi-progress-stream.js',
13
+ 'lib/kaseki-report.js',
14
+ 'lib/github-app-token.js',
15
+ ];
16
+ /** Validates Node version; calls process.exit(1) if invalid */
10
17
  export function assertSupportedNodeVersion(version = process.versions.node, minimumMajor = 24) {
11
18
  const normalizedVersion = version.trim();
12
19
  const isValidVersion = /^\d+(?:\.\d+){0,2}$/.test(normalizedVersion);
@@ -17,33 +24,27 @@ export function assertSupportedNodeVersion(version = process.versions.node, mini
17
24
  process.exit(1);
18
25
  }
19
26
  }
20
- /**
21
- * Phase 3: Auto-initialize /agents/kaseki-template if missing
22
- * This eliminates the need for manual 'kaseki-activate.sh --controller bootstrap'
23
- *
24
- * Tries three strategies in order:
27
+ /** Phase 3: Auto-initialize /agents/kaseki-template if missing. Tries three strategies:
25
28
  * 1. Copy from /app/kaseki-template (Docker image seed)
26
- * 2. Create symlink to /app/run-kaseki.sh (Docker fallback)
27
- * 3. Continue with warning (jobs will fail with clear error message)
28
- */
29
+ * 2. Create symlink to /app (Docker fallback)
30
+ * 3. Continue with warning (jobs will fail with clear error) */
29
31
  export async function ensureTemplateInitialized(templateDir) {
30
32
  const runScript = path.join(templateDir, 'run-kaseki.sh');
31
- // Check if bootstrap is already complete
32
- if (fs.existsSync(runScript)) {
33
+ const missingFallbackEntries = TEMPLATE_FALLBACK_ENTRIES.filter((entry) => !fs.existsSync(path.join(templateDir, entry)));
34
+ if (missingFallbackEntries.length === 0) {
33
35
  logger.info('Template directory is initialized', { templateDir, runScript });
34
36
  return;
35
37
  }
36
- // Template is missing - try to initialize it
37
- logger.info('Template directory missing; attempting auto-initialization...', { templateDir });
38
+ logger.info('Template directory incomplete; attempting auto-initialization...', {
39
+ templateDir,
40
+ missing: missingFallbackEntries,
41
+ });
38
42
  try {
39
- // Ensure parent directory exists
40
43
  const parentDir = path.dirname(templateDir);
41
44
  if (!fs.existsSync(parentDir)) {
42
45
  fs.mkdirSync(parentDir, { recursive: true, mode: 0o755 });
43
46
  logger.info('Created parent directory', { parentDir });
44
47
  }
45
- // Try strategy 1: Copy from image
46
- // If we're running in Docker and the template exists at /app/kaseki-template, copy it
47
48
  const imageTemplateDir = '/app/kaseki-template';
48
49
  if (fs.existsSync(imageTemplateDir) && fs.existsSync(path.join(imageTemplateDir, 'run-kaseki.sh'))) {
49
50
  try {
@@ -57,13 +58,22 @@ export async function ensureTemplateInitialized(templateDir) {
57
58
  });
58
59
  }
59
60
  }
60
- // Try strategy 2: Create symlink to /app (if we're in Docker)
61
- if (fs.existsSync('/app/run-kaseki.sh')) {
61
+ const imageAppDir = process.env.KASEKI_IMAGE_APP_DIR || '/app';
62
+ if (fs.existsSync(path.join(imageAppDir, 'run-kaseki.sh'))) {
62
63
  try {
63
- // Create template directory and symlink key files
64
64
  fs.mkdirSync(templateDir, { recursive: true, mode: 0o755 });
65
- fs.symlinkSync('/app/run-kaseki.sh', runScript, 'file');
66
- logger.info('Template initialized via symlink to /app', { templateDir });
65
+ for (const entry of TEMPLATE_FALLBACK_ENTRIES) {
66
+ const source = path.join(imageAppDir, entry);
67
+ const target = path.join(templateDir, entry);
68
+ if (!fs.existsSync(source) || fs.existsSync(target))
69
+ continue;
70
+ fs.mkdirSync(path.dirname(target), { recursive: true, mode: 0o755 });
71
+ fs.symlinkSync(source, target, 'file');
72
+ }
73
+ logger.info('Template initialized via symlinks to image app directory', {
74
+ templateDir,
75
+ imageAppDir,
76
+ });
67
77
  return;
68
78
  }
69
79
  catch (err) {
@@ -72,8 +82,6 @@ export async function ensureTemplateInitialized(templateDir) {
72
82
  });
73
83
  }
74
84
  }
75
- // Strategy 3 failed - log warning but continue
76
- // The API will start but jobs will fail with clear error message
77
85
  logger.warn('Could not auto-initialize template directory. Jobs will fail until bootstrap is completed manually.', {
78
86
  templateDir,
79
87
  remediation: 'Run: docker exec <container> /scripts/startup-checks.sh bootstrap',
@@ -84,24 +92,15 @@ export async function ensureTemplateInitialized(templateDir) {
84
92
  error: err instanceof Error ? err.message : String(err),
85
93
  templateDir,
86
94
  });
87
- // Continue anyway - jobs will fail with clear error message
88
95
  }
89
96
  }
90
- /**
91
- * Orchestrates setup initialization: validates Node version and initializes template directory
92
- *
93
- * @param templateDir - Path to template directory (defaults to KASEKI_TEMPLATE_DIR env var or /agents/kaseki-template)
94
- * @returns SetupContext with initialization status
95
- * @throws Calls process.exit(1) if Node version validation fails
96
- */
97
+ /** Orchestrates setup: validates Node version and initializes template directory */
97
98
  export async function initializeSetup(templateDir, dependencies = {}) {
98
99
  const resolvedTemplateDir = templateDir || process.env.KASEKI_TEMPLATE_DIR || '/agents/kaseki-template';
99
100
  const assertNodeVersion = dependencies.assertNodeVersion ?? assertSupportedNodeVersion;
100
101
  const ensureTemplate = dependencies.ensureTemplate ?? ensureTemplateInitialized;
101
102
  logger.info('Starting setup orchestration', { templateDir: resolvedTemplateDir });
102
- // Validate Node version (will call process.exit(1) if invalid)
103
103
  assertNodeVersion();
104
- // Initialize template directory
105
104
  await ensureTemplate(resolvedTemplateDir);
106
105
  logger.info('Setup orchestration complete');
107
106
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-orchestrator.js","sourceRoot":"","sources":["../../src/kaseki-api/setup-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-orchestrator.js","sourceRoot":"","sources":["../../src/kaseki-api/setup-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kaseki-api-routes.d.ts","sourceRoot":"","sources":["../src/kaseki-api-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAC;AAOlE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAU5D,OAAO,EAAE,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AAStE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwR5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AA0PjE;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,eAAe,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,cAIX,GACD,MAAM,CA8YR"}
1
+ {"version":3,"file":"kaseki-api-routes.d.ts","sourceRoot":"","sources":["../src/kaseki-api-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAC;AAOlE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAU5D,OAAO,EAAE,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AAStE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAyR5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAgVjE;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,eAAe,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,cAIX,GACD,MAAM,CA8YR"}
@@ -31,6 +31,7 @@ const REQUIRED_TEMPLATE_FILES = [
31
31
  'lib/pi-event-filter.js',
32
32
  'lib/pi-progress-stream.js',
33
33
  'lib/kaseki-report.js',
34
+ 'lib/github-app-token.js',
34
35
  ];
35
36
  function isLoopbackRemoteAddress(remoteAddress) {
36
37
  if (!remoteAddress) {
@@ -352,6 +353,75 @@ function checkGitHubAppCredentials() {
352
353
  detail: 'GitHub App credentials are readable and structurally valid for PR creation.',
353
354
  };
354
355
  }
356
+ function checkWorkerSmokeTest(config, image) {
357
+ const secretFile = process.env.KASEKI_HOST_SECRETS_DIR
358
+ ? path.join(process.env.KASEKI_HOST_SECRETS_DIR, 'openrouter_api_key')
359
+ : process.env.OPENROUTER_API_KEY_FILE || '/run/secrets/kaseki/openrouter_api_key';
360
+ const smokeRoot = path.join(config.resultsDir, `.preflight-worker-${randomUUID()}`);
361
+ const workspaceDir = path.join(smokeRoot, 'workspace');
362
+ const resultsDir = path.join(smokeRoot, 'results');
363
+ const cacheDir = path.join(smokeRoot, 'cache');
364
+ try {
365
+ fs.mkdirSync(workspaceDir, { recursive: true });
366
+ fs.mkdirSync(resultsDir, { recursive: true });
367
+ fs.mkdirSync(cacheDir, { recursive: true });
368
+ const result = execDockerCommand([
369
+ 'run',
370
+ '--rm',
371
+ '--read-only',
372
+ '--tmpfs',
373
+ '/tmp:rw,nosuid,nodev,size=64m',
374
+ '--security-opt',
375
+ 'no-new-privileges:true',
376
+ '--cap-drop',
377
+ 'ALL',
378
+ '-u',
379
+ `${process.getuid?.() || 10000}:${process.getgid?.() || 10000}`,
380
+ '-e',
381
+ 'OPENROUTER_API_KEY_FILE=/run/secrets/openrouter_api_key',
382
+ '-v',
383
+ `${workspaceDir}:/workspace:rw`,
384
+ '-v',
385
+ `${resultsDir}:/results:rw`,
386
+ '-v',
387
+ `${cacheDir}:/cache:rw`,
388
+ '-v',
389
+ `${secretFile}:/run/secrets/openrouter_api_key:ro`,
390
+ '--entrypoint',
391
+ '/scripts/startup-checks.sh',
392
+ image,
393
+ 'worker',
394
+ ], 30000);
395
+ if (result.ok) {
396
+ return {
397
+ name: 'worker-smoke',
398
+ ok: true,
399
+ detail: 'Worker container can start with workspace, results, cache, and OpenRouter secret mounts.',
400
+ };
401
+ }
402
+ const classified = result.classification || {
403
+ detail: result.detail || 'Worker container smoke test failed.',
404
+ remediation: 'Check worker bind mounts, file ownership, Docker socket access, and the OpenRouter secret file.',
405
+ };
406
+ return {
407
+ name: 'worker-smoke',
408
+ ok: false,
409
+ detail: classified.detail,
410
+ remediation: classified.remediation,
411
+ };
412
+ }
413
+ catch (err) {
414
+ return {
415
+ name: 'worker-smoke',
416
+ ok: false,
417
+ detail: `Worker smoke test could not prepare temporary directories: ${err.message}`,
418
+ remediation: 'Ensure KASEKI_RESULTS_DIR is writable by the API container user.',
419
+ };
420
+ }
421
+ finally {
422
+ fs.rmSync(smokeRoot, { recursive: true, force: true });
423
+ }
424
+ }
355
425
  function isGitHubAppReady() {
356
426
  const check = checkGitHubAppCredentials();
357
427
  return check.ok && check.name === 'github-app';
@@ -388,7 +458,9 @@ function buildPreflightResponse(config) {
388
458
  checks.push({ name: 'docker-daemon', ok: false, ...classified });
389
459
  }
390
460
  const imageInspect = execDockerCommand(['image', 'inspect', image]);
461
+ let imageReady = false;
391
462
  if (imageInspect.ok) {
463
+ imageReady = true;
392
464
  checks.push({ name: 'docker-image', ok: true, detail: `Image is present: ${image}` });
393
465
  }
394
466
  else {
@@ -401,6 +473,18 @@ function buildPreflightResponse(config) {
401
473
  remediation: daemonFailed ? classified.remediation : `Pull ${image} or set KASEKI_IMAGE to an available image.`,
402
474
  });
403
475
  }
476
+ const canRunWorkerSmoke = imageReady && checks.some((check) => check.name === 'docker-daemon' && check.ok);
477
+ if (canRunWorkerSmoke) {
478
+ checks.push(checkWorkerSmokeTest(config, image));
479
+ }
480
+ else {
481
+ checks.push({
482
+ name: 'worker-smoke',
483
+ ok: false,
484
+ detail: 'Worker smoke test skipped because Docker daemon or image checks failed.',
485
+ remediation: 'Fix docker-daemon and docker-image preflight checks first.',
486
+ });
487
+ }
404
488
  const templateHealth = buildTemplateHealthStatus(templateDir);
405
489
  checks.push({
406
490
  name: 'template',
@@ -1 +1 @@
1
- {"version":3,"file":"kaseki-api-routes.js","sourceRoot":"","sources":["../src/kaseki-api-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kaseki-api-routes.js","sourceRoot":"","sources":["../src/kaseki-api-routes.ts"],"names":[],"mappings":"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"}
package/kaseki-agent.sh CHANGED
@@ -1779,19 +1779,23 @@ check_github_operations_health() {
1779
1779
  printf '[preflight] github operations health check started\n' | tee -a "$health_log"
1780
1780
 
1781
1781
  # Check 1: GitHub App secrets are readable
1782
- if ! [ -r /run/secrets/github_app_id ]; then
1783
- printf '[health-check] ERROR: Cannot read GitHub App ID from /run/secrets/github_app_id\n' | tee -a "$health_log" >&2
1782
+ local github_app_id_file="${GITHUB_APP_ID_FILE:-/agents/secrets/github_app_id}"
1783
+ local github_app_client_id_file="${GITHUB_APP_CLIENT_ID_FILE:-/agents/secrets/github_app_client_id}"
1784
+ local github_app_private_key_file="${GITHUB_APP_PRIVATE_KEY_FILE:-/agents/secrets/github_app_private_key}"
1785
+
1786
+ if ! [ -r "$github_app_id_file" ]; then
1787
+ printf '[health-check] ERROR: Cannot read GitHub App ID from %s\n' "$github_app_id_file" | tee -a "$health_log" >&2
1784
1788
  return 1
1785
1789
  fi
1786
- if ! [ -r /run/secrets/github_app_client_id ]; then
1787
- printf '[health-check] ERROR: Cannot read GitHub App client ID from /run/secrets/github_app_client_id\n' | tee -a "$health_log" >&2
1790
+ if ! [ -r "$github_app_client_id_file" ]; then
1791
+ printf '[health-check] ERROR: Cannot read GitHub App client ID from %s\n' "$github_app_client_id_file" | tee -a "$health_log" >&2
1788
1792
  return 1
1789
1793
  fi
1790
- if ! [ -r /run/secrets/github_app_private_key ]; then
1791
- printf '[health-check] ERROR: Cannot read GitHub App private key from /run/secrets/github_app_private_key\n' | tee -a "$health_log" >&2
1794
+ if ! [ -r "$github_app_private_key_file" ]; then
1795
+ printf '[health-check] ERROR: Cannot read GitHub App private key from %s\n' "$github_app_private_key_file" | tee -a "$health_log" >&2
1792
1796
  return 1
1793
1797
  fi
1794
- log_github_private_key_metadata /run/secrets/github_app_private_key "$health_log"
1798
+ log_github_private_key_metadata "$github_app_private_key_file" "$health_log"
1795
1799
  printf '[health-check] ✓ GitHub App secrets are readable\n' | tee -a "$health_log"
1796
1800
 
1797
1801
  # Check 2: Verify git is available
@@ -1874,7 +1878,7 @@ check_github_operations_health() {
1874
1878
  if parse_github_repo_url "$REPO_URL"; then
1875
1879
  owner="$GITHUB_REPO_OWNER"
1876
1880
  repo="$GITHUB_REPO_NAME"
1877
- app_id="$(cat /run/secrets/github_app_id 2>/dev/null)" || app_id=""
1881
+ app_id="$(cat "$github_app_id_file" 2>/dev/null)" || app_id=""
1878
1882
  if [ -z "$app_id" ]; then
1879
1883
  printf '[health-check] ERROR: Cannot read GitHub App ID for auth smoke test\n' | tee -a "$health_log" >&2
1880
1884
  return 1
@@ -1890,7 +1894,7 @@ check_github_operations_health() {
1890
1894
  return 1
1891
1895
  }
1892
1896
 
1893
- /usr/local/bin/github-app-token "$app_id" /run/secrets/github_app_private_key "$owner" "$repo" >"$token_stdout_tmp" 2>"$token_stderr_tmp"
1897
+ /usr/local/bin/github-app-token "$app_id" "$github_app_private_key_file" "$owner" "$repo" >"$token_stdout_tmp" 2>"$token_stderr_tmp"
1894
1898
  token_exit_code=$?
1895
1899
  token_data="$(cat "$token_stdout_tmp" 2>/dev/null || true)"
1896
1900
  token_stderr="$(cat "$token_stderr_tmp" 2>/dev/null || true)"
@@ -2532,9 +2536,12 @@ run_github_operations() {
2532
2536
  local app_id private_key_file owner repo feature_branch token token_data git_push_exit
2533
2537
 
2534
2538
  # Load GitHub App credentials
2535
- app_id="$(cat /run/secrets/github_app_id)" || { printf 'Failed to read app ID\n' >&2; return 7; }
2536
- cat /run/secrets/github_app_client_id >/dev/null || { printf 'Failed to read client ID\n' >&2; return 7; }
2537
- private_key_file="/run/secrets/github_app_private_key"
2539
+ local github_app_id_file="${GITHUB_APP_ID_FILE:-/agents/secrets/github_app_id}"
2540
+ local github_app_client_id_file="${GITHUB_APP_CLIENT_ID_FILE:-/agents/secrets/github_app_client_id}"
2541
+ local github_app_private_key_file="${GITHUB_APP_PRIVATE_KEY_FILE:-/agents/secrets/github_app_private_key}"
2542
+ app_id="$(cat "$github_app_id_file")" || { printf 'Failed to read app ID\n' >&2; return 7; }
2543
+ cat "$github_app_client_id_file" >/dev/null || { printf 'Failed to read client ID\n' >&2; return 7; }
2544
+ private_key_file="$github_app_private_key_file"
2538
2545
 
2539
2546
  # Parse repo URL to extract owner and repo
2540
2547
  if parse_github_repo_url "$REPO_URL"; then
@@ -2850,18 +2857,22 @@ openrouter_api_key_source=""
2850
2857
  if [ -n "${OPENROUTER_API_KEY:-}" ]; then
2851
2858
  openrouter_api_key="$OPENROUTER_API_KEY"
2852
2859
  openrouter_api_key_source="env"
2853
- elif [ -r /run/secrets/openrouter_api_key ]; then
2854
- secret_content="$(cat /run/secrets/openrouter_api_key)"
2855
- if [ -n "$secret_content" ]; then
2856
- openrouter_api_key="$secret_content"
2857
- openrouter_api_key_source="secret file"
2860
+ else
2861
+ openrouter_api_key_file="${OPENROUTER_API_KEY_FILE:-/agents/secrets/openrouter_api_key}"
2862
+ if [ -r "$openrouter_api_key_file" ]; then
2863
+ secret_content="$(cat "$openrouter_api_key_file")"
2864
+ if [ -n "$secret_content" ]; then
2865
+ openrouter_api_key="$secret_content"
2866
+ openrouter_api_key_source="secret file"
2867
+ fi
2858
2868
  fi
2859
2869
  fi
2860
2870
  unset OPENROUTER_API_KEY secret_content
2861
2871
 
2862
2872
  if [ -z "$openrouter_api_key" ]; then
2863
2873
  set_current_stage "agent setup"
2864
- printf 'Missing OpenRouter API key. Set OPENROUTER_API_KEY or provide /run/secrets/openrouter_api_key.\n' | tee -a /results/pi-stderr.log >&2
2874
+ openrouter_api_key_file="${OPENROUTER_API_KEY_FILE:-/agents/secrets/openrouter_api_key}"
2875
+ printf 'Missing OpenRouter API key. Set OPENROUTER_API_KEY or provide %s.\n' "$openrouter_api_key_file" | tee -a /results/pi-stderr.log >&2
2865
2876
  : > "$RAW_EVENTS"
2866
2877
  PI_EXIT=2
2867
2878
  STATUS=2
@@ -3418,7 +3429,10 @@ stage_start="$(date +%s)"
3418
3429
  : > /results/git-push.log
3419
3430
  build_github_skip_reasons
3420
3431
  if [ "${#GITHUB_SKIP_REASONS[@]}" -eq 0 ]; then
3421
- if [ -r /run/secrets/github_app_id ] && [ -r /run/secrets/github_app_client_id ] && [ -r /run/secrets/github_app_private_key ]; then
3432
+ github_app_id_file="${GITHUB_APP_ID_FILE:-/agents/secrets/github_app_id}"
3433
+ github_app_client_id_file="${GITHUB_APP_CLIENT_ID_FILE:-/agents/secrets/github_app_client_id}"
3434
+ github_app_private_key_file="${GITHUB_APP_PRIVATE_KEY_FILE:-/agents/secrets/github_app_private_key}"
3435
+ if [ -r "$github_app_id_file" ] && [ -r "$github_app_client_id_file" ] && [ -r "$github_app_private_key_file" ]; then
3422
3436
  run_github_operations
3423
3437
  else
3424
3438
  GITHUB_SKIP_REASONS+=("github_app_secrets_missing")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanautomation/kaseki-agent",
3
- "version": "1.29.1",
3
+ "version": "1.30.2",
4
4
  "description": "Admin/helper/doctor toolbox and local API client for Kaseki diagnostics, setup, and API-backed coding-agent task workflows",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -13,8 +13,11 @@ BLUE='\033[0;34m'
13
13
  NC='\033[0m' # No Color
14
14
 
15
15
  # Exit codes
16
+ # shellcheck disable=SC2034
16
17
  EXIT_OK=0
18
+ # shellcheck disable=SC2034
17
19
  EXIT_ERRORS=1
20
+ # shellcheck disable=SC2034
18
21
  EXIT_WARNINGS=0 # Warnings are non-blocking
19
22
 
20
23
  # Counters
@@ -62,10 +65,10 @@ check_agents_directory() {
62
65
  log_pass "/agents directory exists"
63
66
 
64
67
  # Check ownership
65
- local owner_uid=$(stat -c %U /agents 2>/dev/null || stat -f %Su /agents 2>/dev/null)
66
- local owner_gid=$(stat -c %G /agents 2>/dev/null || stat -f %Sg /agents 2>/dev/null)
67
- local numeric_uid=$(stat -c %u /agents 2>/dev/null || stat -f %u /agents 2>/dev/null)
68
- local numeric_gid=$(stat -c %g /agents 2>/dev/null || stat -f %g /agents 2>/dev/null)
68
+ local owner_uid; owner_uid=$(stat -c %U /agents 2>/dev/null || stat -f %Su /agents 2>/dev/null)
69
+ local owner_gid; owner_gid=$(stat -c %G /agents 2>/dev/null || stat -f %Sg /agents 2>/dev/null)
70
+ local numeric_uid; numeric_uid=$(stat -c %u /agents 2>/dev/null || stat -f %u /agents 2>/dev/null)
71
+ local numeric_gid; numeric_gid=$(stat -c %g /agents 2>/dev/null || stat -f %g /agents 2>/dev/null)
69
72
 
70
73
  if [[ "$numeric_uid" != "10000" ]] || [[ "$numeric_gid" != "10000" ]]; then
71
74
  log_error "/agents is owned by $owner_uid:$owner_gid (UID:GID $numeric_uid:$numeric_gid), should be 10000:10000"
@@ -77,7 +80,7 @@ check_agents_directory() {
77
80
  log_pass "/agents is owned by UID:GID 10000:10000"
78
81
 
79
82
  # Check permissions (should be at least rwx for owner, rx for others)
80
- local perms=$(stat -c %a /agents 2>/dev/null || stat -f %A /agents 2>/dev/null)
83
+ local perms; perms=$(stat -c %a /agents 2>/dev/null || stat -f %A /agents 2>/dev/null)
81
84
  if [[ "$perms" != "755" && "$perms" != "750" && "$perms" != "700" ]]; then
82
85
  log_warning "/agents has permissions $perms (expected 755, 750, or 700)"
83
86
  log_info "Suggestion: Run on host:"
@@ -136,7 +139,7 @@ check_docker_compose() {
136
139
  # ============================================================================
137
140
  check_compose_file() {
138
141
  log_header "Checking docker-compose.yml..."
139
-
142
+ # shellcheck disable=SC2120
140
143
  local compose_file="${1:-docker-compose.yml}"
141
144
 
142
145
  if [[ ! -f "$compose_file" ]]; then
@@ -223,7 +226,7 @@ check_secrets_directory() {
223
226
  check_disk_space() {
224
227
  log_header "Checking disk space..."
225
228
 
226
- local available_mb=$(df /agents 2>/dev/null | tail -1 | awk '{print $4}')
229
+ local available_mb; available_mb=$(df /agents 2>/dev/null | tail -1 | awk '{print $4}')
227
230
 
228
231
  if [[ -z "$available_mb" ]]; then
229
232
  log_warning "Could not determine disk space for /agents"
@@ -284,7 +287,7 @@ main() {
284
287
  check_agents_directory || true
285
288
  check_docker_daemon || true
286
289
  check_docker_compose || true
287
- check_compose_file || true
290
+ check_compose_file "$@" || true
288
291
  check_environment_variables || true
289
292
  check_secrets_directory || true
290
293
  check_disk_space || true
@@ -155,17 +155,17 @@ bootstrap_checkout_if_possible() {
155
155
  return 0
156
156
  fi
157
157
  if [ -x "$KASEKI_CHECKOUT_DIR/scripts/kaseki-activate.sh" ]; then
158
- KASEKI_TEMPLATE_DIR="$KASEKI_TEMPLATE_DIR" \
159
- KASEKI_CHECKOUT_DIR="$KASEKI_CHECKOUT_DIR" \
158
+ export KASEKI_TEMPLATE_DIR="$KASEKI_TEMPLATE_DIR"
159
+ export KASEKI_CHECKOUT_DIR="$KASEKI_CHECKOUT_DIR"
160
160
  "$KASEKI_CHECKOUT_DIR/scripts/kaseki-activate.sh" --controller --replace-stale bootstrap
161
161
  return $?
162
162
  fi
163
163
  if [ -x "$SCRIPT_DIR/kaseki-install.sh" ]; then
164
164
  printf 'bootstrapping checkout with %s/kaseki-install.sh\n' "$SCRIPT_DIR"
165
- HOME="$KASEKI_EFFECTIVE_HOST_HOME" \
166
- KASEKI_HOST_SECRETS_DIR="$KASEKI_HOST_SECRETS_DIR" \
167
- KASEKI_CONTROLLER_MODE=1 \
168
- KASEKI_REPLACE_STALE=1 \
165
+ export HOME="$KASEKI_EFFECTIVE_HOST_HOME"
166
+ export KASEKI_HOST_SECRETS_DIR="$KASEKI_HOST_SECRETS_DIR"
167
+ export KASEKI_CONTROLLER_MODE=1
168
+ export KASEKI_REPLACE_STALE=1
169
169
  "$SCRIPT_DIR/kaseki-install.sh"
170
170
  return $?
171
171
  fi
@@ -0,0 +1,149 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # npm-verify-publish.sh — Verify that a published npm package is available on the registry
4
+ #
5
+ # This script polls the npm registry with exponential backoff to verify that a package
6
+ # has been published and indexed. npm registry indexing can take 30-60+ seconds, so we
7
+ # use exponential backoff polling (1s, 2s, 4s, 8s, 16s, 32s) to avoid hammering the API.
8
+ #
9
+ # Usage:
10
+ # ./scripts/npm-verify-publish.sh <PACKAGE_NAME> <VERSION> [MAX_ATTEMPTS]
11
+ #
12
+ # Arguments:
13
+ # PACKAGE_NAME Package name (e.g., @cyanautomation/kaseki-agent)
14
+ # VERSION Package version (e.g., 1.29.1)
15
+ # MAX_ATTEMPTS Maximum number of attempts (default: 6)
16
+ #
17
+ # Exit Codes:
18
+ # 0 — Package verified successfully on npm registry
19
+ # 1 — Package not found after all retries exhausted
20
+ # 2 — Invalid arguments
21
+ # 3 — jq not available
22
+ #
23
+ # Environment Variables:
24
+ # KASEKI_VERIFY_DEBUG=1 Enable debug logging for each retry attempt
25
+ #
26
+
27
+ set -euo pipefail
28
+
29
+ SCRIPT_NAME="$(basename "$0")"
30
+
31
+ # Color codes for output
32
+ RED='\033[0;31m'
33
+ GREEN='\033[0;32m'
34
+ YELLOW='\033[1;33m'
35
+ BLUE='\033[0;34m'
36
+ NC='\033[0m' # No Color
37
+
38
+ # Validate arguments
39
+ if [[ $# -lt 2 ]]; then
40
+ cat >&2 <<EOF
41
+ ${RED}Error: Missing required arguments${NC}
42
+
43
+ Usage:
44
+ ${SCRIPT_NAME} <PACKAGE_NAME> <VERSION> [MAX_ATTEMPTS]
45
+
46
+ Arguments:
47
+ PACKAGE_NAME Package name (e.g., @cyanautomation/kaseki-agent)
48
+ VERSION Package version (e.g., 1.29.1)
49
+ MAX_ATTEMPTS Maximum number of attempts (default: 6)
50
+
51
+ Examples:
52
+ ${SCRIPT_NAME} @cyanautomation/kaseki-agent 1.29.1
53
+ ${SCRIPT_NAME} @cyanautomation/kaseki-agent 1.29.1 10
54
+ EOF
55
+ exit 2
56
+ fi
57
+
58
+ PACKAGE_NAME="$1"
59
+ VERSION="$2"
60
+ MAX_ATTEMPTS="${3:-6}"
61
+
62
+ # Check if jq is available
63
+ if ! command -v jq &> /dev/null; then
64
+ echo -e "${RED}Error: jq is required but not found on PATH${NC}" >&2
65
+ exit 3
66
+ fi
67
+
68
+ # Exponential backoff delays (in seconds): 1, 2, 4, 8, 16, 32
69
+ DELAYS=(1 2 4 8 16 32)
70
+
71
+ # Ensure we don't exceed the array length
72
+ if [[ $MAX_ATTEMPTS -gt ${#DELAYS[@]} ]]; then
73
+ MAX_ATTEMPTS=${#DELAYS[@]}
74
+ fi
75
+
76
+ echo -e "${BLUE}📦 Verifying npm registry publication${NC}"
77
+ echo " Package: ${PACKAGE_NAME}"
78
+ echo " Version: ${VERSION}"
79
+ echo " Max attempts: ${MAX_ATTEMPTS}"
80
+ echo ""
81
+
82
+ ATTEMPT=1
83
+ TOTAL_DELAY=0
84
+
85
+ while [[ $ATTEMPT -le $MAX_ATTEMPTS ]]; do
86
+ DELAY_INDEX=$((ATTEMPT - 1))
87
+ CURRENT_DELAY=${DELAYS[$DELAY_INDEX]}
88
+
89
+ if [[ $ATTEMPT -gt 1 ]]; then
90
+ if [[ "${KASEKI_VERIFY_DEBUG:-0}" == "1" ]]; then
91
+ echo -e "${YELLOW}Attempt ${ATTEMPT}/${MAX_ATTEMPTS}: Waiting ${CURRENT_DELAY}s before retry (total so far: ${TOTAL_DELAY}s)${NC}"
92
+ fi
93
+ sleep "$CURRENT_DELAY"
94
+ TOTAL_DELAY=$((TOTAL_DELAY + CURRENT_DELAY))
95
+ else
96
+ echo -e "${YELLOW}Attempt ${ATTEMPT}/${MAX_ATTEMPTS}: Checking registry now${NC}"
97
+ fi
98
+
99
+ # Attempt to fetch package info from npm registry
100
+ if npm view "${PACKAGE_NAME}@${VERSION}" --json > /tmp/npm-view.json 2>/dev/null; then
101
+ # Successfully fetched package info
102
+ PUBLISHED_VERSION=$(jq -r '.version // empty' /tmp/npm-view.json 2>/dev/null || echo "")
103
+
104
+ if [[ "${PUBLISHED_VERSION}" == "${VERSION}" ]]; then
105
+ # ✅ Package found and version matches
106
+ echo ""
107
+ echo -e "${GREEN}✅ Package successfully verified on npm registry${NC}"
108
+ echo " ${PACKAGE_NAME}@${VERSION}"
109
+
110
+ # Show tarball URL
111
+ TARBALL_URL=$(jq -r '.dist.tarball // empty' "/tmp/npm-verify-${VERSION}.json" 2>/dev/null || echo "")
112
+ if [[ -n "${TARBALL_URL}" ]]; then
113
+ echo " Tarball: ${TARBALL_URL}"
114
+ fi
115
+
116
+ echo " Time to availability: ${TOTAL_DELAY}s"
117
+ rm -f /tmp/npm-view.json
118
+ exit 0
119
+ fi
120
+ fi
121
+
122
+ # Package not yet available, continue to next attempt
123
+ if [[ "${KASEKI_VERIFY_DEBUG:-0}" == "1" ]]; then
124
+ echo -e "${YELLOW} → Not yet indexed (or fetch failed), will retry...${NC}"
125
+ fi
126
+
127
+ ATTEMPT=$((ATTEMPT + 1))
128
+ done
129
+
130
+ # Failed to verify after all retries exhausted
131
+ echo ""
132
+ echo -e "${RED}❌ Package not found on npm registry after ${MAX_ATTEMPTS} attempts${NC}"
133
+ echo " ${PACKAGE_NAME}@${VERSION}"
134
+ echo " Total wait time: ${TOTAL_DELAY}s"
135
+ echo ""
136
+ echo -e "${YELLOW}Possible causes:${NC}"
137
+ echo " • npm publish failed (check workflow logs for errors)"
138
+ echo " • npm registry is experiencing delays (try again in a few minutes)"
139
+ echo " • Version string mismatch (check package.json vs git tag)"
140
+ echo ""
141
+
142
+ # Show last response for debugging
143
+ if [[ -f /tmp/npm-view.json ]]; then
144
+ echo -e "${YELLOW}Last response from npm:${NC}"
145
+ cat /tmp/npm-view.json
146
+ rm -f /tmp/npm-view.json
147
+ fi
148
+
149
+ exit 1
@@ -18,7 +18,7 @@ KASEKI_ROOT="${KASEKI_ROOT:-/agents}"
18
18
  KASEKI_TEMPLATE_DIR="${KASEKI_TEMPLATE_DIR:-$KASEKI_ROOT/kaseki-template}"
19
19
  KASEKI_RESULTS_DIR="${KASEKI_RESULTS_DIR:-$KASEKI_ROOT/kaseki-results}"
20
20
  KASEKI_RUNS_DIR="${KASEKI_RUNS_DIR:-$KASEKI_ROOT/kaseki-runs}"
21
- MODE="${1:-all}" # all, permissions, bootstrap, quick, boot, or baseline-validation
21
+ MODE="${1:-all}" # all, permissions, bootstrap, quick, boot, baseline-validation, or worker
22
22
 
23
23
  # Current UID inside container (typically UID 10000 for non-root user)
24
24
  CONTAINER_UID="${CONTAINER_UID:-$(id -u)}"
@@ -231,6 +231,32 @@ check_subdirectories() {
231
231
  return "$exit_code"
232
232
  }
233
233
 
234
+ check_worker_mounts() {
235
+ local -a worker_paths=(/workspace /results /cache)
236
+ local exit_code=0
237
+ local path
238
+
239
+ log_info "Checking worker container mounts..."
240
+
241
+ for path in "${worker_paths[@]}"; do
242
+ if [ ! -d "$path" ]; then
243
+ log_error "$path is not mounted"
244
+ exit_code=2
245
+ continue
246
+ fi
247
+
248
+ if [ ! -w "$path" ]; then
249
+ log_error "$path exists but is not writable by UID $CONTAINER_UID"
250
+ exit_code=2
251
+ continue
252
+ fi
253
+
254
+ log_pass "$path is writable"
255
+ done
256
+
257
+ return "$exit_code"
258
+ }
259
+
234
260
  check_bootstrap_status() {
235
261
  log_info "Checking bootstrap status..."
236
262
 
@@ -344,6 +370,13 @@ main() {
344
370
  check_kaseki_root || overall_exit=$?
345
371
  ;;
346
372
 
373
+ worker)
374
+ # Ephemeral worker containers do not mount /agents. They receive scoped
375
+ # workspace, results, and cache mounts from run-kaseki.sh.
376
+ check_worker_mounts || overall_exit=$?
377
+ check_api_key || overall_exit=$((overall_exit > $? ? overall_exit : $?))
378
+ ;;
379
+
347
380
  baseline-validation)
348
381
  # Startup smoke test mode used by API dry-runs before repository validation.
349
382
  check_kaseki_root || overall_exit=$?
@@ -353,7 +386,7 @@ main() {
353
386
 
354
387
  *)
355
388
  log_error "Unknown mode: $MODE"
356
- echo "Usage: $0 [all|permissions|bootstrap|quick|boot|baseline-validation]"
389
+ echo "Usage: $0 [all|permissions|bootstrap|quick|boot|baseline-validation|worker]"
357
390
  return 1
358
391
  ;;
359
392
  esac