@cyanautomation/kaseki-agent 1.29.0 → 1.30.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.
package/README.md CHANGED
@@ -35,19 +35,21 @@ For a Docker Compose API host, prepare storage and secrets before starting the
35
35
  service:
36
36
 
37
37
  ```bash
38
- cd /agents/kaseki-agent
39
- sudo ./scripts/kaseki-setup-host.sh --fix
40
- docker compose up -d --force-recreate
41
-
42
- curl -H "Authorization: Bearer $(cat ~/secrets/kaseki_api_keys)" \
43
- 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
44
41
  ```
45
42
 
46
43
  The host prep helper creates `/agents`, `/agents/kaseki-results`,
47
44
  `/agents/kaseki-runs`, and `/agents/kaseki-cache` for UID/GID `10000:10000`,
48
45
  then normalizes `~/secrets` to directory mode `0750` and file mode `0640` with
49
- group `10000`. If preflight reports a deleted bind mount, recreate the container
50
- after rerunning the helper.
46
+ group `10000`. It is sudo-aware and uses the original invoking user's
47
+ `~/secrets` by default; set `KASEKI_HOST_SECRETS_DIR=/path/to/secrets` for a
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;IA+HxB;;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;IAkFxB;;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"}
@@ -130,6 +130,15 @@ export class KasekiCLI {
130
130
  return cmd.execute(args);
131
131
  },
132
132
  });
133
+ this.commands.set('host', {
134
+ name: 'host',
135
+ description: 'Prepare or recover a Docker Compose API host',
136
+ execute: async (args) => {
137
+ const { HostCommand } = await import('./commands/HostCommand.js');
138
+ const cmd = new HostCommand(this.configManager);
139
+ return cmd.execute(args);
140
+ },
141
+ });
133
142
  }
134
143
  /**
135
144
  * Dispatch to appropriate subcommand
@@ -199,6 +208,16 @@ USAGE
199
208
  kaseki-agent secrets get <NAME> [--show]
200
209
  kaseki-agent secrets list
201
210
  kaseki-agent secrets delete <NAME>`,
211
+ host: `host - prepare or recover a Docker Compose API host
212
+
213
+ USAGE
214
+ kaseki-agent host setup [--fix] [--recreate-api] [--wait-ready]
215
+ kaseki-agent host preflight [--url URL]
216
+
217
+ EXAMPLES
218
+ kaseki-agent host setup
219
+ sudo kaseki-agent host setup --fix --recreate-api --wait-ready
220
+ sudo kaseki-agent host preflight`,
202
221
  serve: `serve - start the local REST API service
203
222
 
204
223
  USAGE
@@ -206,11 +225,15 @@ USAGE
206
225
  run: `run - submit a task run through the configured Kaseki API
207
226
 
208
227
  USAGE
209
- kaseki-agent run <REPO_URL> [GIT_REF] [TASK_PROMPT]
228
+ kaseki-agent run <REPO_URL> [GIT_REF] [TASK_PROMPT] [--dry-run]
210
229
 
211
230
  REQUIRES
212
231
  A local API service at http://localhost:8080/api or KASEKI_API_URL pointing to a controller API.
213
- Set KASEKI_API_KEY when the API requires bearer-token authentication.`,
232
+ Set KASEKI_API_KEY when the API requires bearer-token authentication.
233
+
234
+ OPTIONS
235
+ --dry-run Submit a startup-check run without Pi agent work.
236
+ --baseline-validation With --dry-run, clone and run baseline validation before exiting.`,
214
237
  list: `list - list task runs through the configured Kaseki API
215
238
 
216
239
  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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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Host Command
3
+ * First-run and recovery workflows for Docker Compose API hosts.
4
+ */
5
+ import { BaseCommand } from '../BaseCommand';
6
+ export declare class HostCommand extends BaseCommand {
7
+ execute(args: string[]): Promise<number>;
8
+ private findSetupScript;
9
+ private printHelp;
10
+ private waitForReady;
11
+ private runPreflight;
12
+ }
13
+ //# sourceMappingURL=HostCommand.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Host Command
3
+ * First-run and recovery workflows for Docker Compose API hosts.
4
+ */
5
+ import { dirname, resolve } from 'path';
6
+ import { fileURLToPath } from 'url';
7
+ import { spawnSync } from 'child_process';
8
+ import { existsSync } from 'fs';
9
+ import { BaseCommand } from '../BaseCommand.js';
10
+ import { createLogger } from '../../logger.js';
11
+ import { readHostSecret, getSecretLocations } from '../../secrets/host-secrets-reader.js';
12
+ const logger = createLogger('host-cmd');
13
+ export class HostCommand extends BaseCommand {
14
+ async execute(args) {
15
+ const [subcommand, action, ...rest] = args;
16
+ if (!subcommand || subcommand === 'help' || subcommand === '--help' || subcommand === '-h') {
17
+ this.printHelp();
18
+ return 0;
19
+ }
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]');
26
+ return 1;
27
+ }
28
+ const setupArgs = [action, ...rest].filter(Boolean);
29
+ if (setupArgs.includes('--help')) {
30
+ this.printHelp();
31
+ return 0;
32
+ }
33
+ const scriptPath = this.findSetupScript();
34
+ if (!scriptPath) {
35
+ console.error('Could not find scripts/kaseki-setup-host.sh in this installation.');
36
+ return 1;
37
+ }
38
+ console.log(`Running host setup helper: ${scriptPath}`);
39
+ if (setupArgs.includes('--fix') && process.getuid?.() !== 0) {
40
+ console.log('Tip: if /agents needs root-owned changes, rerun with sudo or allow sudo when prompted.');
41
+ }
42
+ const waitReady = setupArgs.includes('--wait-ready');
43
+ const scriptArgs = setupArgs.filter((arg) => arg !== '--wait-ready');
44
+ const result = spawnSync(scriptPath, scriptArgs, {
45
+ stdio: 'inherit',
46
+ env: process.env,
47
+ });
48
+ if (result.error) {
49
+ logger.error(`Host setup failed: ${result.error.message}`);
50
+ console.error(`Host setup failed: ${result.error.message}`);
51
+ return 1;
52
+ }
53
+ const exitCode = result.status ?? 1;
54
+ if (exitCode !== 0 || !waitReady) {
55
+ return exitCode;
56
+ }
57
+ return this.waitForReady();
58
+ }
59
+ findSetupScript() {
60
+ const here = dirname(fileURLToPath(import.meta.url));
61
+ const candidates = [
62
+ resolve(process.cwd(), 'scripts/kaseki-setup-host.sh'),
63
+ resolve(here, '../../../scripts/kaseki-setup-host.sh'),
64
+ resolve(here, '../../../../scripts/kaseki-setup-host.sh'),
65
+ ];
66
+ return candidates.find((candidate) => existsSync(candidate)) ?? null;
67
+ }
68
+ printHelp() {
69
+ console.log(`host - prepare or recover a Docker Compose API host
70
+
71
+ USAGE
72
+ kaseki-agent host setup [--fix] [--recreate-api] [--wait-ready]
73
+ kaseki-agent host preflight [--url URL]
74
+
75
+ OPTIONS
76
+ --fix Create/fix /agents, normalize secrets, and bootstrap the template.
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.
80
+
81
+ EXAMPLES
82
+ kaseki-agent host setup
83
+ sudo kaseki-agent host setup --fix --recreate-api --wait-ready
84
+ sudo kaseki-agent host preflight
85
+ sudo KASEKI_HOST_SECRETS_DIR=/home/pi/secrets kaseki-agent host setup --fix
86
+ `);
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
+ }
148
+ }
149
+ //# sourceMappingURL=HostCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HostCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RunCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/RunCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAED,KAAK,mBAAmB,GAAG,CAAC,aAAa,EAAE,aAAa,KAAK,YAAY,CAAC;AAE1E,qBAAa,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;gBAGrD,aAAa,EAAE,aAAa,EAC5B,gBAAgB,GAAE,mBAA2E;IAMzF,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAiD9C,OAAO,CAAC,eAAe;CAwCxB"}
1
+ {"version":3,"file":"RunCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/RunCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAED,KAAK,mBAAmB,GAAG,CAAC,aAAa,EAAE,aAAa,KAAK,YAAY,CAAC;AAE1E,qBAAa,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;gBAGrD,aAAa,EAAE,aAAa,EAC5B,gBAAgB,GAAE,mBAA2E;IAMzF,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAiD9C,OAAO,CAAC,eAAe;CAyDxB"}
@@ -29,7 +29,7 @@ export class RunCommand extends BaseCommand {
29
29
  console.error('Example: kaseki-agent run https://github.com/org/repo main');
30
30
  return 1;
31
31
  }
32
- const runRequest = this.buildRunRequest(repoUrl, gitRef, taskPrompt);
32
+ const runRequest = this.buildRunRequest(repoUrl, gitRef, taskPrompt, flags);
33
33
  const apiClient = this.apiClientFactory(this.configManager);
34
34
  console.log('🚀 Kaseki Agent Runner\n');
35
35
  console.log(`Repository: ${runRequest.repoUrl}`);
@@ -53,7 +53,7 @@ export class RunCommand extends BaseCommand {
53
53
  return 1;
54
54
  }
55
55
  }
56
- buildRunRequest(repoUrl, gitRef, taskPrompt) {
56
+ buildRunRequest(repoUrl, gitRef, taskPrompt, flags) {
57
57
  const request = {
58
58
  repoUrl,
59
59
  ref: gitRef,
@@ -83,6 +83,15 @@ export class RunCommand extends BaseCommand {
83
83
  if (timeoutSeconds) {
84
84
  request.timeoutSeconds = timeoutSeconds;
85
85
  }
86
+ if (process.env.KASEKI_DRY_RUN === '1' ||
87
+ this.configManager.get('debug.dry_run', false) ||
88
+ flags.has('dry-run') ||
89
+ flags.has('startup-check')) {
90
+ request.startupCheck = true;
91
+ request.startupCheckMode = flags.has('baseline-validation') ? 'baseline-validation' : 'boot';
92
+ request.taskMode = 'inspect';
93
+ request.publishMode = 'none';
94
+ }
86
95
  return RunRequestSchema.parse(request);
87
96
  }
88
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RunCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/RunCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/RunCommand.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;AAwR5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AA8UjE;;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"}
@@ -271,7 +271,7 @@ function checkDeletedBindMounts(paths) {
271
271
  name: 'bind-mounts',
272
272
  ok: false,
273
273
  detail: details,
274
- remediation: 'Recreate the missing host directory, then recreate the kaseki-api container so Docker binds the live path. For the default layout: sudo /agents/kaseki-agent/scripts/kaseki-setup-host.sh --fix && docker compose up -d --force-recreate.',
274
+ remediation: 'Run: sudo kaseki-agent host setup --fix --recreate-api. If the npm CLI is unavailable, run the packaged scripts/kaseki-setup-host.sh with KASEKI_HOST_SECRETS_DIR set to the host secrets directory.',
275
275
  };
276
276
  }
277
277
  function checkOpenRouterKey() {
@@ -352,6 +352,73 @@ function checkGitHubAppCredentials() {
352
352
  detail: 'GitHub App credentials are readable and structurally valid for PR creation.',
353
353
  };
354
354
  }
355
+ function checkWorkerSmokeTest(config, image) {
356
+ const secretFile = process.env.OPENROUTER_API_KEY_FILE || '/run/secrets/kaseki/openrouter_api_key';
357
+ const smokeRoot = path.join(config.resultsDir, `.preflight-worker-${randomUUID()}`);
358
+ const workspaceDir = path.join(smokeRoot, 'workspace');
359
+ const resultsDir = path.join(smokeRoot, 'results');
360
+ const cacheDir = path.join(smokeRoot, 'cache');
361
+ try {
362
+ fs.mkdirSync(workspaceDir, { recursive: true });
363
+ fs.mkdirSync(resultsDir, { recursive: true });
364
+ fs.mkdirSync(cacheDir, { recursive: true });
365
+ const result = execDockerCommand([
366
+ 'run',
367
+ '--rm',
368
+ '--read-only',
369
+ '--tmpfs',
370
+ '/tmp:rw,nosuid,nodev,size=64m',
371
+ '--security-opt',
372
+ 'no-new-privileges:true',
373
+ '--cap-drop',
374
+ 'ALL',
375
+ '-u',
376
+ `${process.getuid?.() || 10000}:${process.getgid?.() || 10000}`,
377
+ '-e',
378
+ 'OPENROUTER_API_KEY_FILE=/run/secrets/openrouter_api_key',
379
+ '-v',
380
+ `${workspaceDir}:/workspace:rw`,
381
+ '-v',
382
+ `${resultsDir}:/results:rw`,
383
+ '-v',
384
+ `${cacheDir}:/cache:rw`,
385
+ '-v',
386
+ `${secretFile}:/run/secrets/openrouter_api_key:ro`,
387
+ '--entrypoint',
388
+ '/scripts/startup-checks.sh',
389
+ image,
390
+ 'worker',
391
+ ], 30000);
392
+ if (result.ok) {
393
+ return {
394
+ name: 'worker-smoke',
395
+ ok: true,
396
+ detail: 'Worker container can start with workspace, results, cache, and OpenRouter secret mounts.',
397
+ };
398
+ }
399
+ const classified = result.classification || {
400
+ detail: result.detail || 'Worker container smoke test failed.',
401
+ remediation: 'Check worker bind mounts, file ownership, Docker socket access, and the OpenRouter secret file.',
402
+ };
403
+ return {
404
+ name: 'worker-smoke',
405
+ ok: false,
406
+ detail: classified.detail,
407
+ remediation: classified.remediation,
408
+ };
409
+ }
410
+ catch (err) {
411
+ return {
412
+ name: 'worker-smoke',
413
+ ok: false,
414
+ detail: `Worker smoke test could not prepare temporary directories: ${err.message}`,
415
+ remediation: 'Ensure KASEKI_RESULTS_DIR is writable by the API container user.',
416
+ };
417
+ }
418
+ finally {
419
+ fs.rmSync(smokeRoot, { recursive: true, force: true });
420
+ }
421
+ }
355
422
  function isGitHubAppReady() {
356
423
  const check = checkGitHubAppCredentials();
357
424
  return check.ok && check.name === 'github-app';
@@ -388,7 +455,9 @@ function buildPreflightResponse(config) {
388
455
  checks.push({ name: 'docker-daemon', ok: false, ...classified });
389
456
  }
390
457
  const imageInspect = execDockerCommand(['image', 'inspect', image]);
458
+ let imageReady = false;
391
459
  if (imageInspect.ok) {
460
+ imageReady = true;
392
461
  checks.push({ name: 'docker-image', ok: true, detail: `Image is present: ${image}` });
393
462
  }
394
463
  else {
@@ -401,6 +470,18 @@ function buildPreflightResponse(config) {
401
470
  remediation: daemonFailed ? classified.remediation : `Pull ${image} or set KASEKI_IMAGE to an available image.`,
402
471
  });
403
472
  }
473
+ const canRunWorkerSmoke = imageReady && checks.some((check) => check.name === 'docker-daemon' && check.ok);
474
+ if (canRunWorkerSmoke) {
475
+ checks.push(checkWorkerSmokeTest(config, image));
476
+ }
477
+ else {
478
+ checks.push({
479
+ name: 'worker-smoke',
480
+ ok: false,
481
+ detail: 'Worker smoke test skipped because Docker daemon or image checks failed.',
482
+ remediation: 'Fix docker-daemon and docker-image preflight checks first.',
483
+ });
484
+ }
404
485
  const templateHealth = buildTemplateHealthStatus(templateDir);
405
486
  checks.push({
406
487
  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.0",
3
+ "version": "1.30.1",
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
@@ -8,10 +8,56 @@ KASEKI_LOG_DIR="${KASEKI_LOG_DIR:-/var/log/kaseki}"
8
8
  KASEKI_CONTAINER_UID="${KASEKI_CONTAINER_UID:-10000}"
9
9
  KASEKI_CONTAINER_GID="${KASEKI_CONTAINER_GID:-10000}"
10
10
  KASEKI_FIX="${KASEKI_FIX:-0}"
11
+ KASEKI_RECREATE_API="${KASEKI_RECREATE_API:-0}"
12
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
13
 
12
- if [ "${1:-}" = "--fix" ]; then
13
- KASEKI_FIX="1"
14
- fi
14
+ detect_invoking_home() {
15
+ if [ -n "${KASEKI_HOST_HOME:-}" ]; then
16
+ printf '%s\n' "$KASEKI_HOST_HOME"
17
+ return 0
18
+ fi
19
+ if [ -n "${SUDO_USER:-}" ] && [ "$SUDO_USER" != "root" ] && command -v getent >/dev/null 2>&1; then
20
+ getent passwd "$SUDO_USER" | awk -F: '{print $6}'
21
+ return 0
22
+ fi
23
+ printf '%s\n' "$HOME"
24
+ }
25
+
26
+ KASEKI_EFFECTIVE_HOST_HOME="$(detect_invoking_home)"
27
+ KASEKI_HOST_SECRETS_DIR="${KASEKI_HOST_SECRETS_DIR:-$KASEKI_EFFECTIVE_HOST_HOME/secrets}"
28
+
29
+ while [ "$#" -gt 0 ]; do
30
+ case "$1" in
31
+ --fix)
32
+ KASEKI_FIX="1"
33
+ ;;
34
+ --recreate-api)
35
+ KASEKI_RECREATE_API="1"
36
+ ;;
37
+ --help|-h)
38
+ cat <<HELP
39
+ Usage: scripts/kaseki-setup-host.sh [--fix] [--recreate-api]
40
+
41
+ Checks and optionally prepares a Kaseki API host.
42
+
43
+ Options:
44
+ --fix Create/fix /agents, logs, secrets modes, and bootstrap when possible.
45
+ --recreate-api Remove/recreate the kaseki-api container after fixing bind mounts.
46
+
47
+ Environment:
48
+ KASEKI_HOST_SECRETS_DIR=$KASEKI_HOST_SECRETS_DIR
49
+ KASEKI_CONTAINER_UID=$KASEKI_CONTAINER_UID
50
+ KASEKI_CONTAINER_GID=$KASEKI_CONTAINER_GID
51
+ HELP
52
+ exit 0
53
+ ;;
54
+ *)
55
+ printf 'Error: unknown option: %s\n' "$1" >&2
56
+ exit 2
57
+ ;;
58
+ esac
59
+ shift
60
+ done
15
61
 
16
62
  run_privileged() {
17
63
  if [ "$(id -u)" -eq 0 ]; then
@@ -81,24 +127,74 @@ normalize_secrets_dir() {
81
127
  done
82
128
  }
83
129
 
84
- print_recreate_hint_if_needed() {
130
+ has_deleted_kaseki_bind_mount() {
85
131
  if ! command -v docker >/dev/null 2>&1; then
86
- return
132
+ return 1
87
133
  fi
88
134
  if ! docker inspect kaseki-api >/dev/null 2>&1; then
89
- return
135
+ return 1
90
136
  fi
91
137
  if [ ! -d "$KASEKI_ROOT" ]; then
92
- printf 'warning: kaseki-api container exists but %s is missing on the host.\n' "$KASEKI_ROOT"
93
- printf 'remediation: recreate %s, then recreate the container so Docker drops stale/deleted bind mounts.\n' "$KASEKI_ROOT"
94
- return
138
+ return 0
139
+ fi
140
+ if ! docker exec kaseki-api sh -lc "grep -q ' deleted\\|/deleted' /proc/self/mountinfo" 2>/dev/null; then
141
+ return 1
95
142
  fi
96
- if ! docker exec kaseki-api sh -lc "grep -qE '( |/)deleted' /proc/self/mountinfo" 2>/dev/null; then
143
+ return 0
144
+ }
145
+
146
+ print_recreate_hint_if_needed() {
147
+ if ! has_deleted_kaseki_bind_mount; then
97
148
  return
98
149
  fi
99
150
  printf 'warning: kaseki-api container has a deleted bind mount; recreate the container after this setup completes.\n'
100
151
  }
101
152
 
153
+ bootstrap_checkout_if_possible() {
154
+ if [ "$KASEKI_FIX" != "1" ]; then
155
+ return 0
156
+ fi
157
+ if [ -x "$KASEKI_CHECKOUT_DIR/scripts/kaseki-activate.sh" ]; then
158
+ export KASEKI_TEMPLATE_DIR="$KASEKI_TEMPLATE_DIR"
159
+ export KASEKI_CHECKOUT_DIR="$KASEKI_CHECKOUT_DIR"
160
+ "$KASEKI_CHECKOUT_DIR/scripts/kaseki-activate.sh" --controller --replace-stale bootstrap
161
+ return $?
162
+ fi
163
+ if [ -x "$SCRIPT_DIR/kaseki-install.sh" ]; then
164
+ printf 'bootstrapping checkout with %s/kaseki-install.sh\n' "$SCRIPT_DIR"
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
+ "$SCRIPT_DIR/kaseki-install.sh"
170
+ return $?
171
+ fi
172
+ printf 'missing: checkout activator at %s/scripts/kaseki-activate.sh\n' "$KASEKI_CHECKOUT_DIR"
173
+ printf 'remediation: install the npm package and run: kaseki-agent host setup --fix\n'
174
+ return 1
175
+ }
176
+
177
+ recreate_api_if_requested() {
178
+ if [ "$KASEKI_RECREATE_API" != "1" ]; then
179
+ return 0
180
+ fi
181
+ if ! command -v docker >/dev/null 2>&1; then
182
+ printf 'warning: docker is unavailable; cannot recreate kaseki-api\n'
183
+ return 0
184
+ fi
185
+ if ! docker inspect kaseki-api >/dev/null 2>&1 && [ ! -f "$KASEKI_CHECKOUT_DIR/docker-compose.yml" ]; then
186
+ return 0
187
+ fi
188
+ if docker inspect kaseki-api >/dev/null 2>&1; then
189
+ printf 'recreating: removing existing kaseki-api container\n'
190
+ docker rm -f kaseki-api >/dev/null 2>&1 || true
191
+ fi
192
+ if [ -f "$KASEKI_CHECKOUT_DIR/docker-compose.yml" ]; then
193
+ printf 'recreating: docker compose up -d kaseki-api\n'
194
+ (cd "$KASEKI_CHECKOUT_DIR" && docker compose up -d --no-deps kaseki-api)
195
+ fi
196
+ }
197
+
102
198
  status=0
103
199
 
104
200
  ensure_dir "$KASEKI_ROOT" 0775 || status=1
@@ -109,21 +205,22 @@ ensure_dir "$KASEKI_LOG_DIR" 0775 || true
109
205
 
110
206
  check_writable "$KASEKI_ROOT/kaseki-results" || status=1
111
207
 
112
- normalize_secrets_dir "${KASEKI_HOST_SECRETS_DIR:-$HOME/secrets}"
208
+ printf 'using host secrets directory: %s\n' "$KASEKI_HOST_SECRETS_DIR"
209
+ normalize_secrets_dir "$KASEKI_HOST_SECRETS_DIR"
113
210
  print_recreate_hint_if_needed
114
211
 
115
- if [ -x "$KASEKI_CHECKOUT_DIR/scripts/kaseki-activate.sh" ] && [ "$KASEKI_FIX" = "1" ]; then
116
- KASEKI_TEMPLATE_DIR="$KASEKI_TEMPLATE_DIR" \
117
- KASEKI_CHECKOUT_DIR="$KASEKI_CHECKOUT_DIR" \
118
- "$KASEKI_CHECKOUT_DIR/scripts/kaseki-activate.sh" --controller --replace-stale bootstrap || status=$?
119
- elif [ ! -x "$KASEKI_TEMPLATE_DIR/run-kaseki.sh" ]; then
212
+ bootstrap_checkout_if_possible || status=$?
213
+
214
+ if [ ! -x "$KASEKI_TEMPLATE_DIR/run-kaseki.sh" ]; then
120
215
  printf 'missing: template runner at %s/run-kaseki.sh\n' "$KASEKI_TEMPLATE_DIR"
121
- printf 'remediation: run scripts/kaseki-activate.sh --controller bootstrap\n'
216
+ printf 'remediation: run kaseki-agent host setup --fix\n'
122
217
  if [ "$KASEKI_FIX" != "1" ]; then
123
218
  status=1
124
219
  fi
125
220
  fi
126
221
 
222
+ recreate_api_if_requested || status=$?
223
+
127
224
  if [ "$status" -ne 0 ]; then
128
225
  printf 'kaseki host setup incomplete. Re-run with --fix to create directories and bootstrap when possible.\n' >&2
129
226
  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, or quick
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
 
@@ -339,14 +365,28 @@ main() {
339
365
  check_bootstrap_status || overall_exit=$?
340
366
  ;;
341
367
 
342
- quick)
368
+ quick|boot)
343
369
  # Minimal checks (just essentials)
344
370
  check_kaseki_root || overall_exit=$?
345
371
  ;;
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
+
380
+ baseline-validation)
381
+ # Startup smoke test mode used by API dry-runs before repository validation.
382
+ check_kaseki_root || overall_exit=$?
383
+ check_subdirectories || overall_exit=$((overall_exit > $? ? overall_exit : $?))
384
+ check_bootstrap_status || overall_exit=$((overall_exit > $? ? overall_exit : $?))
385
+ ;;
346
386
 
347
387
  *)
348
388
  log_error "Unknown mode: $MODE"
349
- echo "Usage: $0 [all|permissions|bootstrap|quick]"
389
+ echo "Usage: $0 [all|permissions|bootstrap|quick|boot|baseline-validation|worker]"
350
390
  return 1
351
391
  ;;
352
392
  esac