@cyanautomation/kaseki-agent 1.27.0 → 1.27.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/dist/cli/commands/DoctorCommand.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/kaseki-api/index.d.ts +10 -0
- package/dist/kaseki-api/index.d.ts.map +1 -0
- package/dist/kaseki-api/index.js +10 -0
- package/dist/kaseki-api/index.js.map +1 -0
- package/dist/kaseki-api/service-bootstrapper.d.ts +60 -0
- package/dist/kaseki-api/service-bootstrapper.d.ts.map +1 -0
- package/dist/kaseki-api/service-bootstrapper.js +118 -0
- package/dist/kaseki-api/service-bootstrapper.js.map +1 -0
- package/dist/kaseki-api/setup-orchestrator.d.ts +32 -0
- package/dist/kaseki-api/setup-orchestrator.d.ts.map +1 -0
- package/dist/kaseki-api/setup-orchestrator.js +111 -0
- package/dist/kaseki-api/setup-orchestrator.js.map +1 -0
- package/dist/kaseki-api-service-wrapper.d.ts +1 -4
- package/dist/kaseki-api-service-wrapper.d.ts.map +1 -1
- package/dist/kaseki-api-service-wrapper.js +20 -32
- package/dist/kaseki-api-service-wrapper.js.map +1 -1
- package/dist/kaseki-api-service.d.ts +7 -15
- package/dist/kaseki-api-service.d.ts.map +1 -1
- package/dist/kaseki-api-service.js +13 -138
- package/dist/kaseki-api-service.js.map +1 -1
- package/dist/openapi-spec-generator.d.ts +0 -1
- package/dist/openapi-spec-generator.d.ts.map +1 -1
- package/dist/openapi-spec-generator.js +0 -1
- package/dist/openapi-spec-generator.js.map +1 -1
- package/dist/openapi-spec-generators/paths.d.ts +0 -1
- package/dist/openapi-spec-generators/paths.d.ts.map +1 -1
- package/dist/openapi-spec-generators/paths.js +0 -1
- package/dist/openapi-spec-generators/paths.js.map +1 -1
- package/package.json +4 -3
- package/scripts/startup-checks.sh +1 -1
|
@@ -234,7 +234,7 @@ export class DoctorCommand extends BaseCommand {
|
|
|
234
234
|
const replacement = file.path.replace(/github_client_id/g, 'github_app_client_id');
|
|
235
235
|
lines.push(` • ${file.name}: not found at ${file.path}`);
|
|
236
236
|
lines.push(` ⚠️ Hint: Did you mean '${replacement}'?`);
|
|
237
|
-
lines.push(
|
|
237
|
+
lines.push(' The filename should be "github_app_client_id" (with "app_" prefix), not just "github_client_id".');
|
|
238
238
|
}
|
|
239
239
|
else {
|
|
240
240
|
lines.push(` • ${file.name}: not found at ${file.path}`);
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ export { JobScheduler } from './job-scheduler';
|
|
|
2
2
|
export { ResultCache } from './result-cache';
|
|
3
3
|
export { WebhookManager } from './webhook-manager';
|
|
4
4
|
export { KasekiApiConfig, validateApiKey, loadConfig } from './kaseki-api-config';
|
|
5
|
-
export {
|
|
5
|
+
export { initializeSetup, type SetupContext, } from './kaseki-api/setup-orchestrator';
|
|
6
|
+
export { bootstrapServices, gracefulShutdown, type BootstrappedServices, type ShutdownDeps, } from './kaseki-api/service-bootstrapper';
|
|
6
7
|
export type { Job, RunRequest, RunResponse, StatusResponse, StructuredProgress, LogResponse, ArtifactResponse, RunsListResponse, ErrorResponse, ValidationResponse, PreflightCheck, PreflightResponse, AnalysisResponse, WebhookPayload, WebhookEventType, } from './kaseki-api-types';
|
|
7
8
|
export { KasekiApiClient } from './kaseki-api-client';
|
|
8
9
|
export { sendErrorResponse, buildStatusResponse, detectContentType } from './utils/response-helpers';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGlF,OAAO,EACL,eAAe,EACf,KAAK,YAAY,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,mCAAmC,CAAC;AAG3C,YAAY,EACV,GAAG,EACH,UAAU,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,EACL,cAAc,EACd,cAAc,IAAI,cAAc,EAChC,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,aAAa,EACb,OAAO,GACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAGnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,9 @@ export { ResultCache } from './result-cache.js';
|
|
|
6
6
|
export { WebhookManager } from './webhook-manager.js';
|
|
7
7
|
// Configuration & Utilities
|
|
8
8
|
export { validateApiKey, loadConfig } from './kaseki-api-config.js';
|
|
9
|
-
|
|
9
|
+
// Kaseki API orchestration (refactored modules)
|
|
10
|
+
export { initializeSetup, } from './kaseki-api/setup-orchestrator.js';
|
|
11
|
+
export { bootstrapServices, gracefulShutdown, } from './kaseki-api/service-bootstrapper.js';
|
|
10
12
|
// Client
|
|
11
13
|
export { KasekiApiClient } from './kaseki-api-client.js';
|
|
12
14
|
// Utilities (Phase 1 extractions)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6DAA6D;AAE7D,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,4BAA4B;AAC5B,OAAO,EAAmB,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,6DAA6D;AAE7D,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,4BAA4B;AAC5B,OAAO,EAAmB,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElF,gDAAgD;AAChD,OAAO,EACL,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,mCAAmC,CAAC;AAqB3C,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,kCAAkC;AAClC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,EACL,cAAc,EACd,cAAc,IAAI,cAAc,EAChC,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,aAAa,EACb,OAAO,GACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qCAAqC;AACrC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE,kCAAkC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAErC,sCAAsC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for kaseki-api module
|
|
3
|
+
*
|
|
4
|
+
* Exports:
|
|
5
|
+
* - SetupOrchestrator: Node version validation + template initialization
|
|
6
|
+
* - ServiceBootstrapper: Component initialization + graceful shutdown
|
|
7
|
+
*/
|
|
8
|
+
export { initializeSetup, type SetupContext } from './setup-orchestrator';
|
|
9
|
+
export { bootstrapServices, gracefulShutdown, type BootstrappedServices, type ShutdownDeps, } from './service-bootstrapper';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kaseki-api/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for kaseki-api module
|
|
3
|
+
*
|
|
4
|
+
* Exports:
|
|
5
|
+
* - SetupOrchestrator: Node version validation + template initialization
|
|
6
|
+
* - ServiceBootstrapper: Component initialization + graceful shutdown
|
|
7
|
+
*/
|
|
8
|
+
export { initializeSetup } from './setup-orchestrator.js';
|
|
9
|
+
export { bootstrapServices, gracefulShutdown, } from './service-bootstrapper.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kaseki-api/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { Server } from 'http';
|
|
2
|
+
import type { KasekiApiConfig } from '../kaseki-api-config';
|
|
3
|
+
import { JobScheduler } from '../job-scheduler';
|
|
4
|
+
import { WebhookManager } from '../webhook-manager';
|
|
5
|
+
import { IdempotencyStore } from '../idempotency-store';
|
|
6
|
+
import { PreFlightValidator } from '../pre-flight-validator';
|
|
7
|
+
import { ResultCache } from '../result-cache';
|
|
8
|
+
/**
|
|
9
|
+
* All bootstrapped service instances, ready for use
|
|
10
|
+
*/
|
|
11
|
+
export interface BootstrappedServices {
|
|
12
|
+
artifactCache: ResultCache;
|
|
13
|
+
webhookManager: WebhookManager;
|
|
14
|
+
idempotencyStore: IdempotencyStore;
|
|
15
|
+
preFlightValidator: PreFlightValidator;
|
|
16
|
+
scheduler: JobScheduler;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Dependencies required for graceful shutdown orchestration
|
|
20
|
+
*/
|
|
21
|
+
export interface ShutdownDeps {
|
|
22
|
+
server: Server;
|
|
23
|
+
scheduler: Pick<JobScheduler, 'shutdown'>;
|
|
24
|
+
webhookManager: Pick<WebhookManager, 'shutdown'>;
|
|
25
|
+
idempotencyStore: Pick<IdempotencyStore, 'shutdown'>;
|
|
26
|
+
forceExitAfterMs?: number;
|
|
27
|
+
exit?: (code: number) => never;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Bootstraps all service components with proper dependency injection and initialization order
|
|
31
|
+
*
|
|
32
|
+
* Initialization sequence (order matters for dependencies):
|
|
33
|
+
* 1. ResultCache (standalone, no dependencies)
|
|
34
|
+
* 2. WebhookManager (depends on: resultsDir)
|
|
35
|
+
* 3. IdempotencyStore (depends on: resultsDir)
|
|
36
|
+
* 4. PreFlightValidator (standalone)
|
|
37
|
+
* 5. JobScheduler (depends on: config, webhookManager, artifactCache)
|
|
38
|
+
*
|
|
39
|
+
* @param config - Validated KasekiApiConfig
|
|
40
|
+
* @returns BootstrappedServices object with all initialized services
|
|
41
|
+
* @throws Error with context if any service initialization fails
|
|
42
|
+
*/
|
|
43
|
+
export declare function bootstrapServices(config: KasekiApiConfig): Promise<BootstrappedServices>;
|
|
44
|
+
/**
|
|
45
|
+
* Orchestrates graceful shutdown of all services and the HTTP server
|
|
46
|
+
*
|
|
47
|
+
* Shutdown sequence:
|
|
48
|
+
* 1. Close HTTP server (stop accepting new connections)
|
|
49
|
+
* 2. Shutdown scheduler (cancel running jobs)
|
|
50
|
+
* 3. Shutdown webhook manager (flush pending webhooks)
|
|
51
|
+
* 4. Shutdown idempotency store (finalize persistence)
|
|
52
|
+
* 5. Exit process
|
|
53
|
+
*
|
|
54
|
+
* Hard timeout (8000ms default) ensures process exits even if services hang
|
|
55
|
+
*
|
|
56
|
+
* @param deps - ShutdownDeps with server and all service instances
|
|
57
|
+
* @throws Error if shutdown sequence fails (but still attempts exit)
|
|
58
|
+
*/
|
|
59
|
+
export declare function gracefulShutdown(deps: ShutdownDeps): Promise<void>;
|
|
60
|
+
//# sourceMappingURL=service-bootstrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-bootstrapper.d.ts","sourceRoot":"","sources":["../../src/kaseki-api/service-bootstrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,WAAW,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC1C,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACjD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAChC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+C9F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDxE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { createEventLogger } from '../logger.js';
|
|
2
|
+
import { JobScheduler } from '../job-scheduler.js';
|
|
3
|
+
import { WebhookManager } from '../webhook-manager.js';
|
|
4
|
+
import { IdempotencyStore } from '../idempotency-store.js';
|
|
5
|
+
import { PreFlightValidator } from '../pre-flight-validator.js';
|
|
6
|
+
import { ResultCache } from '../result-cache.js';
|
|
7
|
+
const logger = createEventLogger('service-bootstrapper');
|
|
8
|
+
/**
|
|
9
|
+
* Bootstraps all service components with proper dependency injection and initialization order
|
|
10
|
+
*
|
|
11
|
+
* Initialization sequence (order matters for dependencies):
|
|
12
|
+
* 1. ResultCache (standalone, no dependencies)
|
|
13
|
+
* 2. WebhookManager (depends on: resultsDir)
|
|
14
|
+
* 3. IdempotencyStore (depends on: resultsDir)
|
|
15
|
+
* 4. PreFlightValidator (standalone)
|
|
16
|
+
* 5. JobScheduler (depends on: config, webhookManager, artifactCache)
|
|
17
|
+
*
|
|
18
|
+
* @param config - Validated KasekiApiConfig
|
|
19
|
+
* @returns BootstrappedServices object with all initialized services
|
|
20
|
+
* @throws Error with context if any service initialization fails
|
|
21
|
+
*/
|
|
22
|
+
export async function bootstrapServices(config) {
|
|
23
|
+
logger.info('Starting service bootstrap');
|
|
24
|
+
try {
|
|
25
|
+
// 1. Create artifact cache (no dependencies)
|
|
26
|
+
logger.info('Initializing ResultCache');
|
|
27
|
+
const artifactCache = new ResultCache({
|
|
28
|
+
maxEntries: config.artifactCacheMaxEntries,
|
|
29
|
+
ttlMs: config.artifactCacheTtlMs,
|
|
30
|
+
maxFileBytes: config.artifactCacheMaxFileBytes,
|
|
31
|
+
});
|
|
32
|
+
logger.info('ResultCache initialized');
|
|
33
|
+
// 2. Create webhook manager (depends on: resultsDir)
|
|
34
|
+
logger.info('Initializing WebhookManager');
|
|
35
|
+
const webhookManager = new WebhookManager(config.resultsDir);
|
|
36
|
+
logger.info('WebhookManager initialized');
|
|
37
|
+
// 3. Create idempotency store (depends on: resultsDir)
|
|
38
|
+
logger.info('Initializing IdempotencyStore');
|
|
39
|
+
const idempotencyStore = new IdempotencyStore(config.resultsDir, 24);
|
|
40
|
+
logger.info('IdempotencyStore initialized');
|
|
41
|
+
// 4. Create pre-flight validator (no dependencies)
|
|
42
|
+
logger.info('Initializing PreFlightValidator');
|
|
43
|
+
const preFlightValidator = new PreFlightValidator();
|
|
44
|
+
logger.info('PreFlightValidator initialized');
|
|
45
|
+
// 5. Create scheduler (depends on: config, webhookManager, artifactCache)
|
|
46
|
+
logger.info('Initializing JobScheduler');
|
|
47
|
+
const scheduler = new JobScheduler(config, webhookManager, artifactCache);
|
|
48
|
+
logger.info('JobScheduler initialized');
|
|
49
|
+
logger.info('Service bootstrap complete');
|
|
50
|
+
return {
|
|
51
|
+
artifactCache,
|
|
52
|
+
webhookManager,
|
|
53
|
+
idempotencyStore,
|
|
54
|
+
preFlightValidator,
|
|
55
|
+
scheduler,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
60
|
+
logger.error('Failed to bootstrap services', { error: errorMessage });
|
|
61
|
+
throw new Error(`Service bootstrap failed: ${errorMessage}`, { cause: err });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Orchestrates graceful shutdown of all services and the HTTP server
|
|
66
|
+
*
|
|
67
|
+
* Shutdown sequence:
|
|
68
|
+
* 1. Close HTTP server (stop accepting new connections)
|
|
69
|
+
* 2. Shutdown scheduler (cancel running jobs)
|
|
70
|
+
* 3. Shutdown webhook manager (flush pending webhooks)
|
|
71
|
+
* 4. Shutdown idempotency store (finalize persistence)
|
|
72
|
+
* 5. Exit process
|
|
73
|
+
*
|
|
74
|
+
* Hard timeout (8000ms default) ensures process exits even if services hang
|
|
75
|
+
*
|
|
76
|
+
* @param deps - ShutdownDeps with server and all service instances
|
|
77
|
+
* @throws Error if shutdown sequence fails (but still attempts exit)
|
|
78
|
+
*/
|
|
79
|
+
export async function gracefulShutdown(deps) {
|
|
80
|
+
const { server, scheduler, webhookManager, idempotencyStore, forceExitAfterMs = 8000, exit = process.exit, } = deps;
|
|
81
|
+
logger.info('Starting graceful shutdown', { timeoutMs: forceExitAfterMs });
|
|
82
|
+
const hardTimeout = setTimeout(() => {
|
|
83
|
+
logger.error(`Graceful shutdown timeout after ${forceExitAfterMs}ms, forcing exit`);
|
|
84
|
+
exit(1);
|
|
85
|
+
}, forceExitAfterMs);
|
|
86
|
+
try {
|
|
87
|
+
// 1. Close HTTP server
|
|
88
|
+
await new Promise((resolve, reject) => {
|
|
89
|
+
server.close((err) => {
|
|
90
|
+
if (err) {
|
|
91
|
+
reject(err);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
logger.info('HTTP server closed');
|
|
95
|
+
resolve();
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
// 2. Shutdown scheduler
|
|
99
|
+
scheduler.shutdown();
|
|
100
|
+
logger.info('Job scheduler shutdown');
|
|
101
|
+
// 3. Shutdown webhook manager
|
|
102
|
+
await webhookManager.shutdown();
|
|
103
|
+
logger.info('Webhook manager shutdown');
|
|
104
|
+
// 4. Shutdown idempotency store
|
|
105
|
+
idempotencyStore.shutdown();
|
|
106
|
+
logger.info('Idempotency store shutdown');
|
|
107
|
+
logger.info('Graceful shutdown complete');
|
|
108
|
+
exit(0);
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
logger.error('Error during graceful shutdown', { error: String(err) });
|
|
112
|
+
exit(1);
|
|
113
|
+
}
|
|
114
|
+
finally {
|
|
115
|
+
clearTimeout(hardTimeout);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=service-bootstrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-bootstrapper.js","sourceRoot":"","sources":["../../src/kaseki-api/service-bootstrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context returned after successful setup initialization
|
|
3
|
+
*/
|
|
4
|
+
export interface SetupContext {
|
|
5
|
+
nodeVersionValid: boolean;
|
|
6
|
+
templateInitialized: boolean;
|
|
7
|
+
templateDir: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Validates that the runtime Node version meets minimum requirements
|
|
11
|
+
* @throws Calls process.exit(1) if validation fails
|
|
12
|
+
*/
|
|
13
|
+
export declare function assertSupportedNodeVersion(version?: string, minimumMajor?: number): void;
|
|
14
|
+
/**
|
|
15
|
+
* Phase 3: Auto-initialize /agents/kaseki-template if missing
|
|
16
|
+
* This eliminates the need for manual 'kaseki-activate.sh --controller bootstrap'
|
|
17
|
+
*
|
|
18
|
+
* Tries three strategies in order:
|
|
19
|
+
* 1. Copy from /app/kaseki-template (Docker image seed)
|
|
20
|
+
* 2. Create symlink to /app/run-kaseki.sh (Docker fallback)
|
|
21
|
+
* 3. Continue with warning (jobs will fail with clear error message)
|
|
22
|
+
*/
|
|
23
|
+
export declare function ensureTemplateInitialized(templateDir: string): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Orchestrates setup initialization: validates Node version and initializes template directory
|
|
26
|
+
*
|
|
27
|
+
* @param templateDir - Path to template directory (defaults to KASEKI_TEMPLATE_DIR env var or /agents/kaseki-template)
|
|
28
|
+
* @returns SetupContext with initialization status
|
|
29
|
+
* @throws Calls process.exit(1) if Node version validation fails
|
|
30
|
+
*/
|
|
31
|
+
export declare function initializeSetup(templateDir?: string): Promise<SetupContext>;
|
|
32
|
+
//# sourceMappingURL=setup-orchestrator.d.ts.map
|
|
@@ -0,0 +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;;;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,GACnB,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { execSync } from 'child_process';
|
|
4
|
+
import { createEventLogger } from '../logger.js';
|
|
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
|
+
*/
|
|
10
|
+
export function assertSupportedNodeVersion(version = process.versions.node, minimumMajor = 24) {
|
|
11
|
+
const normalizedVersion = version.trim();
|
|
12
|
+
const isValidVersion = /^\d+(?:\.\d+){0,2}$/.test(normalizedVersion);
|
|
13
|
+
const major = Number.parseInt(normalizedVersion.split('.')[0] ?? '', 10);
|
|
14
|
+
logger.info(`Node runtime detected: v${normalizedVersion}`);
|
|
15
|
+
if (!isValidVersion || !Number.isFinite(major) || major < minimumMajor) {
|
|
16
|
+
logger.error(`Unsupported Node.js runtime v${normalizedVersion}. Kaseki API service requires Node.js >= ${minimumMajor}. Please upgrade Node or deploy the Docker image built from this repo's Dockerfile (node:24-bookworm-slim).`);
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
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:
|
|
25
|
+
* 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
|
+
export async function ensureTemplateInitialized(templateDir) {
|
|
30
|
+
const runScript = path.join(templateDir, 'run-kaseki.sh');
|
|
31
|
+
// Check if bootstrap is already complete
|
|
32
|
+
if (fs.existsSync(runScript)) {
|
|
33
|
+
logger.info('Template directory is initialized', { templateDir, runScript });
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
// Template is missing - try to initialize it
|
|
37
|
+
logger.info('Template directory missing; attempting auto-initialization...', { templateDir });
|
|
38
|
+
try {
|
|
39
|
+
// Ensure parent directory exists
|
|
40
|
+
const parentDir = path.dirname(templateDir);
|
|
41
|
+
if (!fs.existsSync(parentDir)) {
|
|
42
|
+
fs.mkdirSync(parentDir, { recursive: true, mode: 0o755 });
|
|
43
|
+
logger.info('Created parent directory', { parentDir });
|
|
44
|
+
}
|
|
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
|
+
const imageTemplateDir = '/app/kaseki-template';
|
|
48
|
+
if (fs.existsSync(imageTemplateDir) && fs.existsSync(path.join(imageTemplateDir, 'run-kaseki.sh'))) {
|
|
49
|
+
try {
|
|
50
|
+
execSync(`cp -r "${imageTemplateDir}" "${templateDir}"`, { stdio: 'pipe' });
|
|
51
|
+
logger.info('Template initialized from Docker image', { templateDir });
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
logger.warn('Failed to copy template from image; trying alternate strategy', {
|
|
56
|
+
error: err instanceof Error ? err.message : String(err),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Try strategy 2: Create symlink to /app (if we're in Docker)
|
|
61
|
+
if (fs.existsSync('/app/run-kaseki.sh')) {
|
|
62
|
+
try {
|
|
63
|
+
// Create template directory and symlink key files
|
|
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 });
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
logger.warn('Failed to create symlink; trying alternate strategy', {
|
|
71
|
+
error: err instanceof Error ? err.message : String(err),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Strategy 3 failed - log warning but continue
|
|
76
|
+
// The API will start but jobs will fail with clear error message
|
|
77
|
+
logger.warn('Could not auto-initialize template directory. Jobs will fail until bootstrap is completed manually.', {
|
|
78
|
+
templateDir,
|
|
79
|
+
remediation: 'Run: docker exec <container> /scripts/startup-checks.sh bootstrap',
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
logger.error('Unexpected error during template initialization', {
|
|
84
|
+
error: err instanceof Error ? err.message : String(err),
|
|
85
|
+
templateDir,
|
|
86
|
+
});
|
|
87
|
+
// Continue anyway - jobs will fail with clear error message
|
|
88
|
+
}
|
|
89
|
+
}
|
|
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
|
+
export async function initializeSetup(templateDir) {
|
|
98
|
+
const resolvedTemplateDir = templateDir || process.env.KASEKI_TEMPLATE_DIR || '/agents/kaseki-template';
|
|
99
|
+
logger.info('Starting setup orchestration', { templateDir: resolvedTemplateDir });
|
|
100
|
+
// Validate Node version (will call process.exit(1) if invalid)
|
|
101
|
+
assertSupportedNodeVersion();
|
|
102
|
+
// Initialize template directory
|
|
103
|
+
await ensureTemplateInitialized(resolvedTemplateDir);
|
|
104
|
+
logger.info('Setup orchestration complete');
|
|
105
|
+
return {
|
|
106
|
+
nodeVersionValid: true,
|
|
107
|
+
templateInitialized: true,
|
|
108
|
+
templateDir: resolvedTemplateDir,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=setup-orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-orchestrator.js","sourceRoot":"","sources":["../../src/kaseki-api/setup-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,7 @@ interface KasekiAPIServiceOptions {
|
|
|
11
11
|
declare class KasekiAPIServiceImpl {
|
|
12
12
|
private server;
|
|
13
13
|
private logger;
|
|
14
|
-
private
|
|
15
|
-
private webhookManager;
|
|
16
|
-
private idempotencyStore;
|
|
17
|
-
private artifactCache;
|
|
14
|
+
private services;
|
|
18
15
|
private config;
|
|
19
16
|
constructor(options?: KasekiAPIServiceOptions);
|
|
20
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaseki-api-service-wrapper.d.ts","sourceRoot":"","sources":["../src/kaseki-api-service-wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"kaseki-api-service-wrapper.d.ts","sourceRoot":"","sources":["../src/kaseki-api-service-wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,UAAU,uBAAuB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,MAAM,CAAgB;gBAElB,OAAO,GAAE,uBAA4B;IA2BjD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8F5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KACd;CAOJ;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -5,21 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import express from 'express';
|
|
7
7
|
import { loadConfig } from './kaseki-api-config.js';
|
|
8
|
-
import { JobScheduler } from './job-scheduler.js';
|
|
9
|
-
import { WebhookManager } from './webhook-manager.js';
|
|
10
|
-
import { IdempotencyStore } from './idempotency-store.js';
|
|
11
|
-
import { PreFlightValidator } from './pre-flight-validator.js';
|
|
12
8
|
import { createApiRouter } from './kaseki-api-routes.js';
|
|
13
9
|
import { createEventLogger } from './logger.js';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
10
|
+
import { initializeSetup } from './kaseki-api/setup-orchestrator.js';
|
|
11
|
+
import { bootstrapServices, gracefulShutdown } from './kaseki-api/service-bootstrapper.js';
|
|
16
12
|
class KasekiAPIServiceImpl {
|
|
17
13
|
server = null;
|
|
18
14
|
logger = createEventLogger('kaseki-api');
|
|
19
|
-
|
|
20
|
-
webhookManager = null;
|
|
21
|
-
idempotencyStore = null;
|
|
22
|
-
artifactCache = null;
|
|
15
|
+
services = null;
|
|
23
16
|
config = loadConfig();
|
|
24
17
|
constructor(options = {}) {
|
|
25
18
|
// Override config port if provided
|
|
@@ -50,8 +43,8 @@ class KasekiAPIServiceImpl {
|
|
|
50
43
|
*/
|
|
51
44
|
async start() {
|
|
52
45
|
try {
|
|
53
|
-
//
|
|
54
|
-
|
|
46
|
+
// Initialize setup (Node version check, template init)
|
|
47
|
+
await initializeSetup();
|
|
55
48
|
// Log startup configuration
|
|
56
49
|
this.logger.event('service_startup_config', {
|
|
57
50
|
port: this.config.port,
|
|
@@ -65,22 +58,13 @@ class KasekiAPIServiceImpl {
|
|
|
65
58
|
if (this.config.apiKeys.length === 0) {
|
|
66
59
|
this.logger.warn('⚠️ Kaseki API authentication is disabled; service will only bind to loopback for trusted local development.', { host: this.config.host, remediation: 'Set KASEKI_API_KEYS before exposing the API on a network interface.' });
|
|
67
60
|
}
|
|
61
|
+
// Bootstrap service components
|
|
62
|
+
this.services = await bootstrapServices(this.config);
|
|
68
63
|
// Create Express app
|
|
69
64
|
const app = express();
|
|
70
65
|
app.use(express.json());
|
|
71
|
-
// Create managers
|
|
72
|
-
this.artifactCache = new ResultCache({
|
|
73
|
-
maxEntries: this.config.artifactCacheMaxEntries,
|
|
74
|
-
ttlMs: this.config.artifactCacheTtlMs,
|
|
75
|
-
maxFileBytes: this.config.artifactCacheMaxFileBytes,
|
|
76
|
-
});
|
|
77
|
-
this.webhookManager = new WebhookManager(this.config.resultsDir);
|
|
78
|
-
this.idempotencyStore = new IdempotencyStore(this.config.resultsDir, 24);
|
|
79
|
-
const preFlightValidator = new PreFlightValidator();
|
|
80
|
-
// Create scheduler
|
|
81
|
-
this.scheduler = new JobScheduler(this.config, this.webhookManager, this.artifactCache);
|
|
82
66
|
// Mount API routes
|
|
83
|
-
const apiRouter = createApiRouter(this.scheduler, this.config, this.idempotencyStore, preFlightValidator, this.artifactCache);
|
|
67
|
+
const apiRouter = createApiRouter(this.services.scheduler, this.config, this.services.idempotencyStore, this.services.preFlightValidator, this.services.artifactCache);
|
|
84
68
|
app.use('/api', apiRouter);
|
|
85
69
|
app.use('/', apiRouter);
|
|
86
70
|
// Start server
|
|
@@ -101,15 +85,19 @@ class KasekiAPIServiceImpl {
|
|
|
101
85
|
? app.listen(this.config.port, this.config.host, onListening)
|
|
102
86
|
: app.listen(this.config.port, onListening);
|
|
103
87
|
// Setup graceful shutdown
|
|
104
|
-
if (this.server && this.
|
|
105
|
-
|
|
88
|
+
if (this.server && this.services) {
|
|
89
|
+
process.on('SIGTERM', () => void gracefulShutdown({
|
|
106
90
|
server: this.server,
|
|
107
|
-
scheduler: this.scheduler,
|
|
108
|
-
webhookManager: this.webhookManager,
|
|
109
|
-
idempotencyStore: this.idempotencyStore,
|
|
110
|
-
});
|
|
111
|
-
process.on('
|
|
112
|
-
|
|
91
|
+
scheduler: this.services.scheduler,
|
|
92
|
+
webhookManager: this.services.webhookManager,
|
|
93
|
+
idempotencyStore: this.services.idempotencyStore,
|
|
94
|
+
}));
|
|
95
|
+
process.on('SIGINT', () => void gracefulShutdown({
|
|
96
|
+
server: this.server,
|
|
97
|
+
scheduler: this.services.scheduler,
|
|
98
|
+
webhookManager: this.services.webhookManager,
|
|
99
|
+
idempotencyStore: this.services.idempotencyStore,
|
|
100
|
+
}));
|
|
113
101
|
}
|
|
114
102
|
// Catch unhandled errors
|
|
115
103
|
process.on('uncaughtException', (err) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaseki-api-service-wrapper.js","sourceRoot":"","sources":["../src/kaseki-api-service-wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"kaseki-api-service-wrapper.js","sourceRoot":"","sources":["../src/kaseki-api-service-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
webhookManager: WebhookManager;
|
|
9
|
-
idempotencyStore: IdempotencyStore;
|
|
10
|
-
forceExitAfterMs?: number;
|
|
11
|
-
exit?: (code: number) => never;
|
|
12
|
-
};
|
|
13
|
-
export declare function createGracefulShutdown({ server, scheduler, webhookManager, idempotencyStore, forceExitAfterMs, exit, }: ShutdownDeps): (signal: string) => Promise<void>;
|
|
14
|
-
export declare function assertSupportedNodeVersion(version?: string, minimumMajor?: number): void;
|
|
15
|
-
export {};
|
|
1
|
+
import { assertSupportedNodeVersion, ensureTemplateInitialized } from './kaseki-api/setup-orchestrator';
|
|
2
|
+
import { type ShutdownDeps } from './kaseki-api/service-bootstrapper';
|
|
3
|
+
export { assertSupportedNodeVersion, ensureTemplateInitialized };
|
|
4
|
+
/**
|
|
5
|
+
* Legacy wrapper for gracefulShutdown to maintain backwards compatibility
|
|
6
|
+
*/
|
|
7
|
+
export declare function createGracefulShutdown(deps: ShutdownDeps): () => Promise<void>;
|
|
16
8
|
//# sourceMappingURL=kaseki-api-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaseki-api-service.d.ts","sourceRoot":"","sources":["../src/kaseki-api-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kaseki-api-service.d.ts","sourceRoot":"","sources":["../src/kaseki-api-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACzH,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE3G,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,CAAC;AAEjE;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,uBAExD"}
|
|
@@ -1,139 +1,26 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import swaggerUi from 'swagger-ui-express';
|
|
3
|
-
import * as fs from 'fs';
|
|
4
|
-
import * as path from 'path';
|
|
5
3
|
import { loadConfig } from './kaseki-api-config.js';
|
|
6
|
-
import { JobScheduler } from './job-scheduler.js';
|
|
7
|
-
import { WebhookManager } from './webhook-manager.js';
|
|
8
|
-
import { IdempotencyStore } from './idempotency-store.js';
|
|
9
|
-
import { PreFlightValidator } from './pre-flight-validator.js';
|
|
10
4
|
import { createApiRouter } from './kaseki-api-routes.js';
|
|
11
5
|
import { createEventLogger } from './logger.js';
|
|
12
|
-
import { ResultCache } from './result-cache.js';
|
|
13
6
|
import { generateOpenAPISpec } from './openapi-spec-generator.js';
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return async (signal) => {
|
|
18
|
-
logger.info(`Received ${signal}, shutting down gracefully...`);
|
|
19
|
-
const hardTimeout = setTimeout(() => {
|
|
20
|
-
logger.error(`Graceful shutdown timeout after ${forceExitAfterMs}ms, forcing exit`);
|
|
21
|
-
exit(1);
|
|
22
|
-
}, forceExitAfterMs);
|
|
23
|
-
try {
|
|
24
|
-
await new Promise((resolve, reject) => {
|
|
25
|
-
server.close((err) => {
|
|
26
|
-
if (err) {
|
|
27
|
-
reject(err);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
logger.info('HTTP server closed');
|
|
31
|
-
resolve();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
scheduler.shutdown();
|
|
35
|
-
logger.info('Job scheduler shutdown');
|
|
36
|
-
await webhookManager.shutdown();
|
|
37
|
-
logger.info('Webhook manager shutdown');
|
|
38
|
-
idempotencyStore.shutdown();
|
|
39
|
-
logger.info('Idempotency store shutdown');
|
|
40
|
-
exit(0);
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
logger.error('Error during graceful shutdown:', { error: String(err) });
|
|
44
|
-
exit(1);
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
clearTimeout(hardTimeout);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export function assertSupportedNodeVersion(version = process.versions.node, minimumMajor = 24) {
|
|
52
|
-
const normalizedVersion = version.trim();
|
|
53
|
-
const isValidVersion = /^\d+(?:\.\d+){0,2}$/.test(normalizedVersion);
|
|
54
|
-
const major = Number.parseInt(normalizedVersion.split('.')[0] ?? '', 10);
|
|
55
|
-
const logger = createEventLogger('kaseki-api');
|
|
56
|
-
logger.info(`Node runtime detected: v${normalizedVersion}`);
|
|
57
|
-
if (!isValidVersion || !Number.isFinite(major) || major < minimumMajor) {
|
|
58
|
-
logger.error(`Unsupported Node.js runtime v${normalizedVersion}. Kaseki API service requires Node.js >= ${minimumMajor}. Please upgrade Node or deploy the Docker image built from this repo's Dockerfile (node:24-bookworm-slim).`);
|
|
59
|
-
process.exit(1);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
7
|
+
import { initializeSetup, assertSupportedNodeVersion, ensureTemplateInitialized } from './kaseki-api/setup-orchestrator.js';
|
|
8
|
+
import { bootstrapServices, gracefulShutdown } from './kaseki-api/service-bootstrapper.js';
|
|
9
|
+
export { assertSupportedNodeVersion, ensureTemplateInitialized };
|
|
62
10
|
/**
|
|
63
|
-
*
|
|
64
|
-
* This eliminates the need for manual 'kaseki-activate.sh --controller bootstrap'
|
|
11
|
+
* Legacy wrapper for gracefulShutdown to maintain backwards compatibility
|
|
65
12
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const runScript = path.join(templateDir, 'run-kaseki.sh');
|
|
69
|
-
// Check if bootstrap is already complete
|
|
70
|
-
if (fs.existsSync(runScript)) {
|
|
71
|
-
logger.info('Template directory is initialized', { templateDir, runScript });
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
// Template is missing - try to initialize it
|
|
75
|
-
logger.info('Template directory missing; attempting auto-initialization...', { templateDir });
|
|
76
|
-
try {
|
|
77
|
-
// Ensure parent directory exists
|
|
78
|
-
const parentDir = path.dirname(templateDir);
|
|
79
|
-
if (!fs.existsSync(parentDir)) {
|
|
80
|
-
fs.mkdirSync(parentDir, { recursive: true, mode: 0o755 });
|
|
81
|
-
logger.info('Created parent directory', { parentDir });
|
|
82
|
-
}
|
|
83
|
-
// Try strategy 1: Copy from image
|
|
84
|
-
// If we're running in Docker and the template exists at /app/kaseki-template, copy it
|
|
85
|
-
const imageTemplateDir = '/app/kaseki-template';
|
|
86
|
-
if (fs.existsSync(imageTemplateDir) && fs.existsSync(path.join(imageTemplateDir, 'run-kaseki.sh'))) {
|
|
87
|
-
try {
|
|
88
|
-
execSync(`cp -r "${imageTemplateDir}" "${templateDir}"`, { stdio: 'pipe' });
|
|
89
|
-
logger.info('Template initialized from Docker image', { templateDir });
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
logger.warn('Failed to copy template from image; trying alternate strategy', {
|
|
94
|
-
error: err instanceof Error ? err.message : String(err),
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
// Try strategy 2: Create symlink to /app (if we're in Docker)
|
|
99
|
-
if (fs.existsSync('/app/run-kaseki.sh')) {
|
|
100
|
-
try {
|
|
101
|
-
// Create template directory and symlink key files
|
|
102
|
-
fs.mkdirSync(templateDir, { recursive: true, mode: 0o755 });
|
|
103
|
-
fs.symlinkSync('/app/run-kaseki.sh', runScript, 'file');
|
|
104
|
-
logger.info('Template initialized via symlink to /app', { templateDir });
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
catch (err) {
|
|
108
|
-
logger.warn('Failed to create symlink; trying alternate strategy', {
|
|
109
|
-
error: err instanceof Error ? err.message : String(err),
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
// Strategy 3 failed - log warning but continue
|
|
114
|
-
// The API will start but jobs will fail with clear error message
|
|
115
|
-
logger.warn('Could not auto-initialize template directory. Jobs will fail until bootstrap is completed manually.', {
|
|
116
|
-
templateDir,
|
|
117
|
-
remediation: 'Run: docker exec <container> /scripts/startup-checks.sh bootstrap',
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
catch (err) {
|
|
121
|
-
logger.error('Unexpected error during template initialization', {
|
|
122
|
-
error: err instanceof Error ? err.message : String(err),
|
|
123
|
-
templateDir,
|
|
124
|
-
});
|
|
125
|
-
// Continue anyway - jobs will fail with clear error message
|
|
126
|
-
}
|
|
13
|
+
export function createGracefulShutdown(deps) {
|
|
14
|
+
return () => gracefulShutdown(deps);
|
|
127
15
|
}
|
|
128
16
|
/**
|
|
129
17
|
* Main Kaseki API service.
|
|
130
18
|
*/
|
|
131
19
|
async function main() {
|
|
132
20
|
const logger = createEventLogger('kaseki-api');
|
|
133
|
-
|
|
134
|
-
// Phase 3: Auto-initialize template directory
|
|
21
|
+
// Phase 3: Auto-initialize setup (Node version and template directory)
|
|
135
22
|
const templateDir = process.env.KASEKI_TEMPLATE_DIR || '/agents/kaseki-template';
|
|
136
|
-
await
|
|
23
|
+
await initializeSetup(templateDir);
|
|
137
24
|
// Load configuration
|
|
138
25
|
let config;
|
|
139
26
|
try {
|
|
@@ -172,6 +59,8 @@ async function main() {
|
|
|
172
59
|
memoryUsage: JSON.stringify(process.memoryUsage()),
|
|
173
60
|
cpuUsage: JSON.stringify(process.cpuUsage()),
|
|
174
61
|
});
|
|
62
|
+
// Bootstrap all services
|
|
63
|
+
const { artifactCache, webhookManager, idempotencyStore, preFlightValidator, scheduler } = await bootstrapServices(config);
|
|
175
64
|
// Create Express app
|
|
176
65
|
const app = express();
|
|
177
66
|
app.use(express.json());
|
|
@@ -185,20 +74,6 @@ async function main() {
|
|
|
185
74
|
app.get('/api/openapi.json', (_req, res) => {
|
|
186
75
|
res.json(openApiSpec);
|
|
187
76
|
});
|
|
188
|
-
// Create shared artifact content cache
|
|
189
|
-
const artifactCache = new ResultCache({
|
|
190
|
-
maxEntries: config.artifactCacheMaxEntries,
|
|
191
|
-
ttlMs: config.artifactCacheTtlMs,
|
|
192
|
-
maxFileBytes: config.artifactCacheMaxFileBytes,
|
|
193
|
-
});
|
|
194
|
-
// Create webhook manager
|
|
195
|
-
const webhookManager = new WebhookManager(config.resultsDir);
|
|
196
|
-
// Create idempotency store
|
|
197
|
-
const idempotencyStore = new IdempotencyStore(config.resultsDir, 24);
|
|
198
|
-
// Create pre-flight validator
|
|
199
|
-
const preFlightValidator = new PreFlightValidator();
|
|
200
|
-
// Create scheduler
|
|
201
|
-
const scheduler = new JobScheduler(config, webhookManager, artifactCache);
|
|
202
77
|
// Mount API routes
|
|
203
78
|
const apiRouter = createApiRouter(scheduler, config, idempotencyStore, preFlightValidator, artifactCache);
|
|
204
79
|
app.use('/api', apiRouter);
|
|
@@ -223,9 +98,9 @@ async function main() {
|
|
|
223
98
|
? app.listen(config.port, config.host, onListening)
|
|
224
99
|
: app.listen(config.port, onListening);
|
|
225
100
|
// Graceful shutdown
|
|
226
|
-
const
|
|
227
|
-
process.on('SIGTERM', () => void
|
|
228
|
-
process.on('SIGINT', () => void
|
|
101
|
+
const shutdown = () => gracefulShutdown({ server, scheduler, webhookManager, idempotencyStore });
|
|
102
|
+
process.on('SIGTERM', () => void shutdown());
|
|
103
|
+
process.on('SIGINT', () => void shutdown());
|
|
229
104
|
// Catch unhandled errors
|
|
230
105
|
process.on('uncaughtException', (err) => {
|
|
231
106
|
logger.error('Uncaught exception:', { error: String(err), stack: err instanceof Error ? err.stack : undefined });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaseki-api-service.js","sourceRoot":"","sources":["../src/kaseki-api-service.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"kaseki-api-service.js","sourceRoot":"","sources":["../src/kaseki-api-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-spec-generator.d.ts","sourceRoot":"","sources":["../src/openapi-spec-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyB7D
|
|
1
|
+
{"version":3,"file":"openapi-spec-generator.d.ts","sourceRoot":"","sources":["../src/openapi-spec-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyB7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-spec-generator.js","sourceRoot":"","sources":["../src/openapi-spec-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,eAAe,EACf,SAAS,EACT,YAAY,EACZ,SAAS,GACV,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,sCAAsC;IACtC,MAAM,mBAAmB,GAAG,wBAAwB,EAAE,CAAC;IACvD,MAAM,gBAAgB,GAAG,qBAAqB,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;IAErC,4CAA4C;IAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAEtF,qEAAqE;IACrE,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IAEzB,0CAA0C;IAC1C,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI;QACJ,OAAO;QACP,KAAK;QACL,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"openapi-spec-generator.js","sourceRoot":"","sources":["../src/openapi-spec-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,eAAe,EACf,SAAS,EACT,YAAY,EACZ,SAAS,GACV,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,sCAAsC;IACtC,MAAM,mBAAmB,GAAG,wBAAwB,EAAE,CAAC;IACvD,MAAM,gBAAgB,GAAG,qBAAqB,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;IAErC,4CAA4C;IAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAEtF,qEAAqE;IACrE,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IAEzB,0CAA0C;IAC1C,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI;QACJ,OAAO;QACP,KAAK;QACL,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -16,5 +16,4 @@
|
|
|
16
16
|
* Aggregates all endpoint builders organized by feature area.
|
|
17
17
|
*/
|
|
18
18
|
export declare function buildAllPaths(errorResponseSchema: Record<string, unknown>, runRequestSchema: Record<string, unknown>, runResponseSchema: Record<string, unknown>): Record<string, unknown>;
|
|
19
|
-
export default buildAllPaths;
|
|
20
19
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/openapi-spec-generators/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAi1BH;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/openapi-spec-generators/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAi1BH;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/openapi-spec-generators/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,SAAS,qBAAqB,CAAC,mBAA4C;IACzE,OAAO;QACL,SAAS,EAAE;YACT,GAAG,EAAE;gBACH,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EAAE,uEAAuE;gBACpF,IAAI,EAAE,CAAC,iBAAiB,CAAC;gBACzB,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,oBAAoB;wBACjC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;qCACzC;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;QAED,QAAQ,EAAE;YACR,GAAG,EAAE;gBACH,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EACT,mIAAmI;gBACrI,IAAI,EAAE,CAAC,iBAAiB,CAAC;gBACzB,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,kBAAkB;wBAC/B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wCAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC5B;iCACF;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,sBAAsB;wBACnC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,mBAA4C,EAC5C,gBAAyC;IAEzC,OAAO;QACL,cAAc,EAAE;YACd,GAAG,EAAE;gBACH,WAAW,EAAE,YAAY;gBACzB,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAE,qEAAqE;gBAClF,IAAI,EAAE,CAAC,cAAc,CAAC;gBACtB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,mCAAmC;wBAChD,OAAO,EAAE;4BACP,YAAY,EAAE;gCACZ,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;iCACf;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;QAED,gBAAgB,EAAE;YAChB,GAAG,EAAE;gBACH,WAAW,EAAE,cAAc;gBAC3B,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EACT,yHAAyH;gBAC3H,IAAI,EAAE,CAAC,cAAc,CAAC;gBACtB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,4BAA4B;wBACzC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;oCAC/B,UAAU,EAAE;wCACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wCAC5B,MAAM,EAAE;4CACN,IAAI,EAAE,OAAO;4CACb,KAAK,EAAE;gDACL,IAAI,EAAE,QAAQ;gDACd,UAAU,EAAE;oDACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oDACxB,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oDACvB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oDAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iDAChC;6CACF;yCACF;wCACD,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wCACtD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qCACrD;iCACF;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;QAED,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,WAAW,EAAE,cAAc;gBAC3B,OAAO,EAAE,6BAA6B;gBACtC,WAAW,EACT,0HAA0H;gBAC5H,IAAI,EAAE,CAAC,cAAc,CAAC;gBACtB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE,gBAAgB;yBACzB;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,mBAAmB;wBAChC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wCAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wCACpD,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wCACtD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;wCACpD,wBAAwB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qCAC9C;iCACF;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,iBAAiB;wBAC9B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAC9B,mBAA4C,EAC5C,gBAAyC,EACzC,iBAA0C;IAE1C,OAAO;QACL,WAAW,EAAE;YACX,IAAI,EAAE;gBACJ,WAAW,EAAE,YAAY;gBACzB,OAAO,EAAE,0BAA0B;gBACnC,WAAW,EACT,oGAAoG;gBACtG,IAAI,EAAE,CAAC,gBAAgB,CAAC;gBACxB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE,gBAAgB;yBACzB;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,yBAAyB;wBACtC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,iBAAiB;6BAC1B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,gEAAgE;wBAC7E,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,iBAAiB;6BAC1B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,iBAAiB;wBAC9B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;YAED,GAAG,EAAE;gBACH,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,eAAe;gBACxB,WAAW,EACT,gGAAgG;gBAClG,IAAI,EAAE,CAAC,gBAAgB,CAAC;gBACxB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,OAAO;wBACb,EAAE,EAAE,OAAO;wBACX,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;wBAClE,WAAW,EAAE,kCAAkC;qBAChD;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,OAAO;wBACX,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;wBACnD,WAAW,EAAE,uBAAuB;qBACrC;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;oCAC3B,UAAU,EAAE;wCACV,IAAI,EAAE;4CACJ,IAAI,EAAE,OAAO;4CACb,KAAK,EAAE,iBAAiB;yCACzB;wCACD,KAAK,EAAE;4CACL,IAAI,EAAE,SAAS;4CACf,WAAW,EAAE,gCAAgC;yCAC9C;qCACF;iCACF;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;QAED,uBAAuB,EAAE;YACvB,GAAG,EAAE;gBACH,WAAW,EAAE,cAAc;gBAC3B,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EACT,wGAAwG;gBAC1G,IAAI,EAAE,CAAC,gBAAgB,CAAC;gBACxB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;wBACpD,WAAW,EAAE,sCAAsC;qBACpD;iBACF;gBACD,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,oBAAoB;wBACjC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,EAAE,IAAI,EAAE,qCAAqC,EAAE;6BACxD;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,eAAe;wBAC5B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;QAED,uBAAuB,EAAE;YACvB,IAAI,EAAE;gBACJ,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,cAAc;gBACvB,WAAW,EACT,0HAA0H;gBAC5H,IAAI,EAAE,CAAC,gBAAgB,CAAC;gBACxB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;wBACpD,WAAW,EAAE,oBAAoB;qBAClC;iBACF;gBACD,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,uBAAuB;wBACpC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCACtB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC5B;iCACF;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,eAAe;wBAC5B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,mBAA4C;IAC1E,OAAO;QACL,yBAAyB,EAAE;YACzB,GAAG,EAAE;gBACH,WAAW,EAAE,gBAAgB;gBAC7B,OAAO,EAAE,qBAAqB;gBAC9B,WAAW,EACT,mHAAmH;gBACrH,IAAI,EAAE,CAAC,qBAAqB,CAAC;gBAC7B,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;wBACpD,WAAW,EAAE,oBAAoB;qBAClC;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,OAAO;wBACX,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;wBACzC,WAAW,EAAE,qDAAqD;qBACnE;iBACF;gBACD,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,uCAAuC;wBACpD,OAAO,EAAE;4BACP,sBAAsB,EAAE;gCACtB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,oCAAoC;iCAClD;6BACF;4BACD,mBAAmB,EAAE;gCACnB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,6CAA6C;iCAC3D;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,eAAe;wBAC5B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;QAED,+BAA+B,EAAE;YAC/B,GAAG,EAAE;gBACH,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EACT,wHAAwH;gBAC1H,IAAI,EAAE,CAAC,qBAAqB,CAAC;gBAC7B,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;wBACpD,WAAW,EAAE,oBAAoB;qBAClC;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC;yBAC/E;wBACD,WAAW,EAAE,sBAAsB;qBACpC;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,EAAE,EAAE,OAAO;wBACX,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;wBACrD,WAAW,EAAE,wCAAwC;qBACtD;iBACF;gBACD,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,aAAa;wBAC1B,OAAO,EAAE;4BACP,YAAY,EAAE;gCACZ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC3B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,sBAAsB;wBACnC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,mBAA4C;IACtE,OAAO;QACL,0BAA0B,EAAE;YAC1B,GAAG,EAAE;gBACH,WAAW,EAAE,iBAAiB;gBAC9B,OAAO,EAAE,gBAAgB;gBACzB,WAAW,EACT,yGAAyG;gBAC3G,IAAI,EAAE,CAAC,WAAW,CAAC;gBACnB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;wBACpD,WAAW,EAAE,oBAAoB;qBAClC;iBACF;gBACD,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,gBAAgB;wBAC7B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC;oCAC9C,UAAU,EAAE;wCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCACtB,SAAS,EAAE;4CACT,IAAI,EAAE,QAAQ;4CACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;yCACnD;wCACD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wCAC7B,SAAS,EAAE;4CACT,IAAI,EAAE,OAAO;4CACb,KAAK,EAAE;gDACL,IAAI,EAAE,QAAQ;gDACd,UAAU,EAAE;oDACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oDACxB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oDACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oDAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oDAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iDAChC;6CACF;yCACF;wCACD,WAAW,EAAE;4CACX,IAAI,EAAE,OAAO;4CACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACzB,WAAW,EAAE,uCAAuC;yCACrD;wCACD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qCACnC;iCACF;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,eAAe;wBAC5B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;QAED,0BAA0B,EAAE;YAC1B,GAAG,EAAE;gBACH,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE,wBAAwB;gBACjC,WAAW,EACT,gJAAgJ;gBAClJ,IAAI,EAAE,CAAC,WAAW,CAAC;gBACnB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;wBACpD,WAAW,EAAE,oBAAoB;qBAClC;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,WAAW,EAAE,mDAAmD;qBACjE;iBACF;gBACD,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,uBAAuB;wBACpC,OAAO,EAAE;4BACP,KAAK,EAAE;gCACL,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;6BAC7C;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,oBAAoB;wBACjC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,mBAA4C;IACzE,OAAO;QACL,yBAAyB,EAAE;YACzB,GAAG,EAAE;gBACH,WAAW,EAAE,gBAAgB;gBAC7B,OAAO,EAAE,gCAAgC;gBACzC,WAAW,EACT,iHAAiH;gBACnH,IAAI,EAAE,CAAC,aAAa,CAAC;gBACrB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;wBACpD,WAAW,EAAE,oBAAoB;qBAClC;iBACF;gBACD,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;oCAC1B,UAAU,EAAE;wCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCACtB,MAAM,EAAE;4CACN,IAAI,EAAE,QAAQ;4CACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;yCACnD;wCACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;wCAClD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;wCACpD,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAClC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wCAC7B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAC5B,OAAO,EAAE;4CACP,IAAI,EAAE,QAAQ;4CACd,UAAU,EAAE;gDACV,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gDAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;6CAC9B;yCACF;wCACD,UAAU,EAAE;4CACV,IAAI,EAAE,QAAQ;4CACd,UAAU,EAAE;gDACV,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gDAC3B,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;6CAC7D;yCACF;wCACD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qCACrD;iCACF;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,eAAe;wBAC5B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,mBAA4C;IACrE,OAAO;QACL,oBAAoB,EAAE;YACpB,IAAI,EAAE;gBACJ,WAAW,EAAE,aAAa;gBAC1B,OAAO,EAAE,4BAA4B;gBACrC,WAAW,EAAE,6EAA6E;gBAC1F,IAAI,EAAE,CAAC,UAAU,CAAC;gBAClB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC9B,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,CAAC,KAAK,CAAC;gCACjB,UAAU,EAAE;oCACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;oCACtC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAC3B;6BACF;yBACF;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,WAAW,EAAE,yBAAyB;wBACtC,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wCAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wCAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC5B;iCACF;6BACF;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,+BAA+B;wBAC5C,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACP,kBAAkB,EAAE;gCAClB,MAAM,EAAE,mBAAmB;6BAC5B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,mBAA4C,EAC5C,gBAAyC,EACzC,iBAA0C;IAE1C,OAAO;QACL,GAAG,qBAAqB,CAAC,mBAAmB,CAAC;QAC7C,GAAG,qBAAqB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;QAC/D,GAAG,uBAAuB,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;QACpF,GAAG,sBAAsB,CAAC,mBAAmB,CAAC;QAC9C,GAAG,kBAAkB,CAAC,mBAAmB,CAAC;QAC1C,GAAG,qBAAqB,CAAC,mBAAmB,CAAC;QAC7C,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/openapi-spec-generators/paths.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanautomation/kaseki-agent",
|
|
3
|
-
"version": "1.27.
|
|
3
|
+
"version": "1.27.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",
|
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
"dependencies": {
|
|
81
81
|
"enquirer": "^2.4.1",
|
|
82
82
|
"express": "^4.18.2",
|
|
83
|
+
"fallow": "^2.74.0",
|
|
83
84
|
"swagger-ui-express": "^5.0.1",
|
|
84
85
|
"zod": "^3.22.4"
|
|
85
86
|
},
|
|
@@ -98,13 +99,13 @@
|
|
|
98
99
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
99
100
|
"@typescript-eslint/parser": "^8.0.0",
|
|
100
101
|
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
101
|
-
"typescript": "^5.7.3",
|
|
102
102
|
"eslint": "^9.0.0",
|
|
103
103
|
"eslint-plugin-unused-imports": "^4.0.0",
|
|
104
104
|
"jest": "^29.7.0",
|
|
105
105
|
"semantic-release": "^25.0.3",
|
|
106
106
|
"ts-jest": "^29.2.6",
|
|
107
107
|
"ts-node": "^10.9.2",
|
|
108
|
-
"tsx": "^4.21.0"
|
|
108
|
+
"tsx": "^4.21.0",
|
|
109
|
+
"typescript": "^5.7.3"
|
|
109
110
|
}
|
|
110
111
|
}
|
|
@@ -52,7 +52,7 @@ log_info() {
|
|
|
52
52
|
# Check if a directory is writable (even if it doesn't exist yet)
|
|
53
53
|
is_writable_or_creatable() {
|
|
54
54
|
local target_dir="$1"
|
|
55
|
-
local parent_dir
|
|
55
|
+
local parent_dir
|
|
56
56
|
|
|
57
57
|
# If directory exists, check if it's writable
|
|
58
58
|
if [ -d "$target_dir" ]; then
|