@cloud-cli/on 1.9.0 → 1.10.0
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 +66 -35
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/on.js +7503 -7115
- package/dist/plugins/github-status.plugin.d.ts +13 -3
- package/dist/plugins/github-status.plugin.d.ts.map +1 -1
- package/dist/plugins/manager.d.ts +3 -2
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/queue.d.ts +1 -1
- package/dist/queue.d.ts.map +1 -1
- package/dist/run-view.d.ts +16 -0
- package/dist/run-view.d.ts.map +1 -0
- package/dist/safe-eval.d.ts +6 -0
- package/dist/safe-eval.d.ts.map +1 -1
- package/dist/scheduler.d.ts +17 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/secret-repository.d.ts +10 -0
- package/dist/secret-repository.d.ts.map +1 -0
- package/dist/secrets.d.ts +3 -5
- package/dist/secrets.d.ts.map +1 -1
- package/dist/server.d.ts +15 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/types.d.ts +31 -33
- package/dist/types.d.ts.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/workflows.d.ts +22 -0
- package/dist/workflows.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/reporters/html.reporter.d.ts +0 -11
- package/dist/reporters/html.reporter.d.ts.map +0 -1
- package/dist/reporters/json-file.reporter.d.ts +0 -10
- package/dist/reporters/json-file.reporter.d.ts.map +0 -1
- package/dist/reporters/slack.reporter.d.ts +0 -16
- package/dist/reporters/slack.reporter.d.ts.map +0 -1
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { FinalJobStatus, WorkflowContext, WorkflowPlugin } from '../types.js';
|
|
2
|
+
export interface GitHubStatusPluginOptions {
|
|
3
|
+
token: string;
|
|
4
|
+
apiUrl?: string;
|
|
5
|
+
context?: string;
|
|
6
|
+
}
|
|
2
7
|
export declare class GitHubStatusPlugin implements WorkflowPlugin {
|
|
3
|
-
name
|
|
8
|
+
readonly name = "github-commit-status";
|
|
9
|
+
private readonly token;
|
|
10
|
+
private readonly apiUrl;
|
|
11
|
+
private readonly context;
|
|
12
|
+
constructor(options: GitHubStatusPluginOptions);
|
|
4
13
|
onWorkflowStart(wf: WorkflowContext): Promise<void>;
|
|
5
|
-
onWorkflowFinish(wf: WorkflowContext, status:
|
|
14
|
+
onWorkflowFinish(wf: WorkflowContext, status: FinalJobStatus): Promise<void>;
|
|
6
15
|
private updateStatus;
|
|
16
|
+
private hasCoordinates;
|
|
7
17
|
}
|
|
8
18
|
//# sourceMappingURL=github-status.plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-status.plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/github-status.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"github-status.plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/github-status.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnF,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,kBAAmB,YAAW,cAAc;IACvD,QAAQ,CAAC,IAAI,0BAA0B;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,yBAAyB;IAMxC,eAAe,CAAC,EAAE,EAAE,eAAe;IAMnC,gBAAgB,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc;YASpD,YAAY;IA4B1B,OAAO,CAAC,cAAc;CAGvB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { FinalJobStatus, WorkflowContext, WorkflowPlugin } from '../types.js';
|
|
2
2
|
export declare class PluginManager {
|
|
3
3
|
private plugins;
|
|
4
|
+
constructor(plugins?: WorkflowPlugin[]);
|
|
4
5
|
register(plugin: WorkflowPlugin): void;
|
|
5
6
|
triggerWorkflowStart(wf: WorkflowContext): Promise<void>;
|
|
6
|
-
triggerWorkflowFinish(wf: WorkflowContext, status:
|
|
7
|
+
triggerWorkflowFinish(wf: WorkflowContext, status: FinalJobStatus): Promise<void>;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnF,qBAAa,aAAa;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,cAAc,EAAO;IAElD,QAAQ,CAAC,MAAM,EAAE,cAAc;IAKzB,oBAAoB,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxD,qBAAqB,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAWxF"}
|
package/dist/queue.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare class QueueManager {
|
|
|
7
7
|
* Enqueues a new job into the database.
|
|
8
8
|
* Includes simple GitHub-style concurrency cancellation.
|
|
9
9
|
*/
|
|
10
|
-
enqueue(workflowId: string, payload: JobPayload, concurrencyKey?: string): Promise<any>;
|
|
10
|
+
enqueue(workflowId: string, workflowRevision: number, payload: JobPayload, requiredTags?: string[], concurrencyKey?: string): Promise<any>;
|
|
11
11
|
/**
|
|
12
12
|
* Atomically claims the oldest pending job compatible with this worker.
|
|
13
13
|
* Requires SQLite >= 3.35 for the RETURNING clause.
|
package/dist/queue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvF,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE9B,IAAI;IAKV;;;OAGG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvF,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE9B,IAAI;IAKV;;;OAGG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,GAAE,MAAM,EAAO,EAAE,cAAc,CAAC,EAAE,MAAM;IAoBrI;;;OAGG;IACG,YAAY,CAAC,UAAU,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA6BlE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS;IAInD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAStG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAiBvC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD,cAAc;IAMd,YAAY;IAsClB;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlD;;OAEG;IACG,QAAQ,CAAC,KAAK,SAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAiB/E;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxF,2DAA2D;IACrD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5F;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAS1E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { JobRecord, StepReport, WorkflowExecutionReport, WorkflowStep } from './types.js';
|
|
2
|
+
export interface RunView {
|
|
3
|
+
jobId: string;
|
|
4
|
+
parentId: string;
|
|
5
|
+
workflowName: string;
|
|
6
|
+
status: WorkflowExecutionReport['status'];
|
|
7
|
+
durationMs: number;
|
|
8
|
+
startedAt: string;
|
|
9
|
+
finishedAt?: string;
|
|
10
|
+
inputs: Record<string, unknown>;
|
|
11
|
+
steps: StepReport[];
|
|
12
|
+
artifacts: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function buildRunView(job: JobRecord & Record<string, any>, logs: Record<string, string>, redact: (value: string) => string, steps?: WorkflowStep[]): RunView;
|
|
15
|
+
export declare function renderRunHtml(report: RunView): string;
|
|
16
|
+
//# sourceMappingURL=run-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-view.d.ts","sourceRoot":"","sources":["../src/run-view.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,SAAS,EAAE,UAAU,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK3G,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EACjC,KAAK,GAAE,YAAY,EAAO,GACzB,OAAO,CAgCT;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAErD"}
|
package/dist/safe-eval.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export declare const BUILTIN_HELPERS: Record<string, any>;
|
|
2
|
+
/** Filesystem helpers constrained to a claimed job's workspace. */
|
|
3
|
+
export declare function workspaceFiles(workingDir: string): {
|
|
4
|
+
exists: (path: string) => boolean;
|
|
5
|
+
readFile: (path: string) => string;
|
|
6
|
+
join: (...paths: string[]) => string;
|
|
7
|
+
};
|
|
2
8
|
export declare class SafeExpressionEvaluator {
|
|
3
9
|
/**
|
|
4
10
|
* Deterministic Value Evaluator (Used for `env:`, `name:`, `image:`, `concurrency:`)
|
package/dist/safe-eval.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-eval.d.ts","sourceRoot":"","sources":["../src/safe-eval.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"safe-eval.d.ts","sourceRoot":"","sources":["../src/safe-eval.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAQ/C,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM;mBAQ9B,MAAM;qBACJ,MAAM;qBACN,MAAM,EAAE;EAE5B;AAED,qBAAa,uBAAuB;IAClC;;;;;OAKG;WACU,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAerF;;;;OAIG;WACU,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBnH;;OAEG;WACU,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAoB9F;;OAEG;mBACkB,aAAa;CAsKnC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { QueueManager } from './queue.js';
|
|
2
|
+
import type { RunnerConfig } from './types.js';
|
|
3
|
+
import { WorkflowRepository } from './workflows.js';
|
|
4
|
+
/** Five-field cron matching with an IANA timezone. Day-of-month and day-of-week follow cron OR semantics. */
|
|
5
|
+
export declare function cronMatches(cron: string, time: Date, timezone?: string): boolean;
|
|
6
|
+
export declare class WorkflowScheduler {
|
|
7
|
+
private queue;
|
|
8
|
+
private workflows;
|
|
9
|
+
private config;
|
|
10
|
+
private timer?;
|
|
11
|
+
constructor(queue: QueueManager, workflows: WorkflowRepository, config: RunnerConfig);
|
|
12
|
+
start(intervalMs?: number): void;
|
|
13
|
+
stop(): void;
|
|
14
|
+
tick(now?: Date): Promise<void>;
|
|
15
|
+
private enqueue;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAc,YAAY,EAAyD,MAAM,YAAY,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAcpD,6GAA6G;AAC7G,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,SAAQ,GAAG,OAAO,CAa/E;AAkCD,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,KAAK;IAAgB,OAAO,CAAC,SAAS;IAAsB,OAAO,CAAC,MAAM;IAF9F,OAAO,CAAC,KAAK,CAAC,CAAiB;gBAEX,KAAK,EAAE,YAAY,EAAU,SAAS,EAAE,kBAAkB,EAAU,MAAM,EAAE,YAAY;IAE5G,KAAK,CAAC,UAAU,SAAS,GAAG,IAAI;IAMhC,IAAI,IAAI,IAAI;IAIN,IAAI,CAAC,GAAG,OAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAa7B,OAAO;CAStB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class SecretRepository {
|
|
2
|
+
private key?;
|
|
3
|
+
init(): Promise<void>;
|
|
4
|
+
private encryptionKey;
|
|
5
|
+
set(name: string, value: string): Promise<void>;
|
|
6
|
+
getAll(): Promise<Record<string, string>>;
|
|
7
|
+
names(): Promise<string[]>;
|
|
8
|
+
private decrypt;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=secret-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-repository.d.ts","sourceRoot":"","sources":["../src/secret-repository.ts"],"names":[],"mappings":"AAWA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAC,CAAS;IAEf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,OAAO,CAAC,aAAa;IAIf,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKzC,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC,OAAO,CAAC,OAAO;CAMhB"}
|
package/dist/secrets.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
export declare class SecretStore {
|
|
2
|
-
private envFilePath?;
|
|
3
2
|
private secrets;
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
constructor(envFilePath?: string | undefined);
|
|
3
|
+
/** Holds job-scoped secrets supplied by the control plane. */
|
|
4
|
+
constructor();
|
|
8
5
|
reload(): void;
|
|
9
6
|
get(key: string): string | undefined;
|
|
10
7
|
getAll(): Record<string, string>;
|
|
8
|
+
replace(values: Record<string, string>): void;
|
|
11
9
|
redactText(text: string): string;
|
|
12
10
|
}
|
|
13
11
|
//# sourceMappingURL=secrets.d.ts.map
|
package/dist/secrets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AACA,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAA6B;IAE5C,8DAA8D;;IAK9D,MAAM;IAGN,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIhC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,UAAU,CAAC,IAAI,EAAE,MAAM;CAaxB"}
|
package/dist/server.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare class WebhookServer {
|
|
|
3
3
|
private server;
|
|
4
4
|
private preprocessors;
|
|
5
5
|
private workflows;
|
|
6
|
+
private secretRepository;
|
|
6
7
|
private queue;
|
|
7
8
|
private secrets;
|
|
8
9
|
private adminToken;
|
|
@@ -21,6 +22,17 @@ export declare class WebhookServer {
|
|
|
21
22
|
private readRequest;
|
|
22
23
|
private preprocess;
|
|
23
24
|
private matchWorkflows;
|
|
25
|
+
private isAdmin;
|
|
26
|
+
private requireAdmin;
|
|
27
|
+
private readJson;
|
|
28
|
+
private handleWorkflowValidation;
|
|
29
|
+
private handleWorkflowList;
|
|
30
|
+
private handleWorkflowGet;
|
|
31
|
+
private handleWorkflowSave;
|
|
32
|
+
private handleWorkflowPublish;
|
|
33
|
+
private handleSecretList;
|
|
34
|
+
private handleSecretSave;
|
|
35
|
+
private handleJobSecrets;
|
|
24
36
|
/**
|
|
25
37
|
* Handles Zero-Downtime Secret Reload
|
|
26
38
|
*/
|
|
@@ -35,8 +47,10 @@ export declare class WebhookServer {
|
|
|
35
47
|
* Serves single job HTML report
|
|
36
48
|
*/
|
|
37
49
|
private renderRunDetails;
|
|
38
|
-
private buildPendingReport;
|
|
39
50
|
private handleRestartJob;
|
|
51
|
+
private currentSecrets;
|
|
52
|
+
private redact;
|
|
53
|
+
private redactText;
|
|
40
54
|
listen(port: number): Promise<WebhookServer>;
|
|
41
55
|
stop(): Promise<void>;
|
|
42
56
|
}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AASpB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAgB;WAE1B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;gBAK1D,OAAO,EAAE,oBAAoB;IAWzC,oBAAoB,CAAC,YAAY,EAAE,mBAAmB;YAIxC,aAAa;IA+F3B;;OAEG;YACW,aAAa;YA0Bb,WAAW;YAwBX,UAAU;YAuBV,cAAc;IAuC5B,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,YAAY;YAON,QAAQ;YAYR,wBAAwB;YAcxB,kBAAkB;YAOlB,iBAAiB;YAWjB,kBAAkB;YAiBlB,qBAAqB;YAWrB,gBAAgB;YAMhB,gBAAgB;YAgBhB,gBAAgB;IAc9B;;OAEG;YACW,kBAAkB;YAelB,iBAAiB;IAuB/B;;OAEG;YACW,eAAe;YAQf,mBAAmB;IAWjC;;OAEG;YACW,gBAAgB;YAuBhB,gBAAgB;YAehB,cAAc;IAS5B,OAAO,CAAC,MAAM;YAMA,UAAU;IAIxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAStC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAS5B"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { QueueManager } from './queue.js';
|
|
2
2
|
import { SecretStore } from './secrets.js';
|
|
3
|
-
export interface Reporter {
|
|
4
|
-
name: string;
|
|
5
|
-
report(execReport: WorkflowExecutionReport): Promise<void>;
|
|
6
|
-
}
|
|
7
3
|
export interface RunnerConfig {
|
|
8
4
|
/** Ingress HTTP Gateway Port */
|
|
9
5
|
port: number;
|
|
@@ -11,9 +7,7 @@ export interface RunnerConfig {
|
|
|
11
7
|
adminToken: string;
|
|
12
8
|
/** SQLite Database connection URL / path */
|
|
13
9
|
database: string;
|
|
14
|
-
/**
|
|
15
|
-
workflows: string;
|
|
16
|
-
/** Number of concurrent worker loops to spawn */
|
|
10
|
+
/** Maximum number of jobs executed concurrently on this node */
|
|
17
11
|
workers: number;
|
|
18
12
|
/** Webhook server URL used for worker event notifications */
|
|
19
13
|
serverUrl: string;
|
|
@@ -23,8 +17,8 @@ export interface RunnerConfig {
|
|
|
23
17
|
storagePath: string;
|
|
24
18
|
/** Global environment variables injected into all step runs */
|
|
25
19
|
env: Record<string, string>;
|
|
26
|
-
/**
|
|
27
|
-
|
|
20
|
+
/** External integrations notified about workflow lifecycle changes */
|
|
21
|
+
plugins: WorkflowPlugin[];
|
|
28
22
|
}
|
|
29
23
|
export type UserRunnerConfig = Partial<RunnerConfig>;
|
|
30
24
|
export interface StepContext {
|
|
@@ -88,6 +82,15 @@ export interface WorkflowTrigger {
|
|
|
88
82
|
tags?: string[];
|
|
89
83
|
paths?: string[];
|
|
90
84
|
}
|
|
85
|
+
export interface ScheduleTrigger {
|
|
86
|
+
id?: string;
|
|
87
|
+
cron?: string;
|
|
88
|
+
event?: 'sunrise' | 'sunset';
|
|
89
|
+
latitude?: number;
|
|
90
|
+
longitude?: number;
|
|
91
|
+
timezone?: string;
|
|
92
|
+
offset?: string;
|
|
93
|
+
}
|
|
91
94
|
export interface WorkflowStep {
|
|
92
95
|
id?: string;
|
|
93
96
|
if?: string;
|
|
@@ -111,6 +114,14 @@ export interface WorkflowDefinition {
|
|
|
111
114
|
env?: Record<string, string>;
|
|
112
115
|
/** Worker capabilities required to execute this workflow */
|
|
113
116
|
tags?: string[];
|
|
117
|
+
/** Time triggers stored alongside webhook triggers in DB-authored workflows. */
|
|
118
|
+
schedule?: ScheduleTrigger[];
|
|
119
|
+
solar?: ScheduleTrigger[];
|
|
120
|
+
}
|
|
121
|
+
export interface WorkflowRevision {
|
|
122
|
+
workflowId: string;
|
|
123
|
+
revision: number;
|
|
124
|
+
definition: WorkflowDefinition;
|
|
114
125
|
}
|
|
115
126
|
export interface WebhookServerOptions {
|
|
116
127
|
config: RunnerConfig;
|
|
@@ -123,6 +134,8 @@ export interface JobRecord {
|
|
|
123
134
|
id: number;
|
|
124
135
|
parentId?: number;
|
|
125
136
|
workflow_id: string;
|
|
137
|
+
workflow_revision: number;
|
|
138
|
+
required_tags: string;
|
|
126
139
|
concurrency_key: string | null;
|
|
127
140
|
status: JobStatus;
|
|
128
141
|
worker_id: string | null;
|
|
@@ -131,11 +144,7 @@ export interface JobRecord {
|
|
|
131
144
|
}
|
|
132
145
|
export type WorkflowInputs = Record<string, any>;
|
|
133
146
|
export interface JobPayload {
|
|
134
|
-
workflowId: string;
|
|
135
|
-
steps: WorkflowStep[];
|
|
136
147
|
inputs: WorkflowInputs;
|
|
137
|
-
env?: Record<string, string>;
|
|
138
|
-
tags?: string[];
|
|
139
148
|
}
|
|
140
149
|
export interface MatrixStrategy {
|
|
141
150
|
matrix?: Record<string, (string | number | boolean)[]>;
|
|
@@ -149,35 +158,18 @@ export interface ParsedWorkflow {
|
|
|
149
158
|
steps: WorkflowStep[];
|
|
150
159
|
[key: string]: any;
|
|
151
160
|
}
|
|
152
|
-
export interface IngressContext {
|
|
153
|
-
provider: string;
|
|
154
|
-
headers: Record<string, string>;
|
|
155
|
-
body: any;
|
|
156
|
-
rawBuffer: Buffer;
|
|
157
|
-
}
|
|
158
161
|
export interface WorkflowContext {
|
|
159
162
|
jobId: string;
|
|
160
163
|
workflowName: string;
|
|
161
164
|
inputs: WorkflowInputs;
|
|
162
|
-
|
|
165
|
+
runUrl: string;
|
|
163
166
|
}
|
|
164
167
|
export interface WorkflowPlugin {
|
|
165
168
|
name: string;
|
|
166
|
-
/** Verify HMAC or signatures */
|
|
167
|
-
onAuthenticate?: (ctx: IngressContext) => Promise<boolean> | boolean;
|
|
168
|
-
/** Convert raw body/headers into normalized inputs */
|
|
169
|
-
onTransform?: (ctx: IngressContext) => Promise<Record<string, any>> | Record<string, any>;
|
|
170
|
-
/** Final gatekeeper check (return false to drop job before enqueueing) */
|
|
171
|
-
onFilter?: (inputs: Record<string, any>, ctx: IngressContext) => Promise<boolean> | boolean;
|
|
172
|
-
/** Runs before any steps execute (e.g. notify Slack, update GitHub status to "Pending") */
|
|
173
169
|
onWorkflowStart?: (wf: WorkflowContext) => Promise<void>;
|
|
174
|
-
|
|
175
|
-
onStepBefore?: (step: StepContext, wf: WorkflowContext) => Promise<void>;
|
|
176
|
-
/** Runs after a step finishes (e.g. parse outputs, stream step metrics) */
|
|
177
|
-
onStepAfter?: (step: StepContext, result: StepResult, wf: WorkflowContext) => Promise<void>;
|
|
178
|
-
/** Runs when workflow succeeds or fails (e.g. update GitHub status to "Success/Failure", wipe layers) */
|
|
179
|
-
onWorkflowFinish?: (wf: WorkflowContext, status: 'success' | 'failed', error?: Error) => Promise<void>;
|
|
170
|
+
onWorkflowFinish?: (wf: WorkflowContext, status: FinalJobStatus) => Promise<void>;
|
|
180
171
|
}
|
|
172
|
+
export type FinalJobStatus = Exclude<JobStatus, 'pending' | 'running'>;
|
|
181
173
|
export interface StepReport {
|
|
182
174
|
id: string;
|
|
183
175
|
name: string;
|
|
@@ -211,6 +203,7 @@ export interface Processable {
|
|
|
211
203
|
secrets: SecretStore;
|
|
212
204
|
config: RunnerConfig;
|
|
213
205
|
driver: ExecutionDriver;
|
|
206
|
+
workflow?: WorkflowDefinition;
|
|
214
207
|
}
|
|
215
208
|
export interface ContextualizedProcessable extends Processable {
|
|
216
209
|
payload: JobPayload;
|
|
@@ -228,5 +221,10 @@ export interface JobExecutionContext {
|
|
|
228
221
|
}>;
|
|
229
222
|
workingDir: string;
|
|
230
223
|
logsDir: string;
|
|
224
|
+
files: {
|
|
225
|
+
exists(path: string): boolean;
|
|
226
|
+
readFile(path: string): string;
|
|
227
|
+
join(...paths: string[]): string;
|
|
228
|
+
};
|
|
231
229
|
}
|
|
232
230
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQ3C,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAGL,YAAY,EAOZ,WAAW,EAIZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAGL,YAAY,EAOZ,WAAW,EAIZ,MAAM,YAAY,CAAC;AAQpB,eAAO,MAAM,aAAa;;CAEzB,CAAC;AAMF;;GAEG;AACH,wBAAsB,qBAAqB,kBAK1C;AAED,wBAAgB,qBAAqB,SAIpC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,mBAK1G;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,YAAY,iBAoErB;AA+FD;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,WAAW,iBAsE9C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { WorkflowDefinition, WorkflowRevision } from './types.js';
|
|
2
|
+
export interface StoredWorkflow {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
sourceYaml: string;
|
|
6
|
+
revision: number;
|
|
7
|
+
status: 'draft' | 'published' | 'archived';
|
|
8
|
+
}
|
|
9
|
+
/** Parses the portable, DB-stored YAML format. Includes are deliberately unsupported. */
|
|
10
|
+
export declare function parseWorkflow(sourceYaml: string): WorkflowDefinition[];
|
|
11
|
+
export declare class WorkflowRepository {
|
|
12
|
+
init(): Promise<void>;
|
|
13
|
+
validate(sourceYaml: string): WorkflowDefinition[];
|
|
14
|
+
saveDraft(id: string, sourceYaml: string): Promise<StoredWorkflow>;
|
|
15
|
+
publish(id: string): Promise<StoredWorkflow | null>;
|
|
16
|
+
list(): Promise<StoredWorkflow[]>;
|
|
17
|
+
get(id: string): Promise<StoredWorkflow | null>;
|
|
18
|
+
published(): Promise<WorkflowRevision[]>;
|
|
19
|
+
getRevision(workflowId: string, revision: number): Promise<WorkflowDefinition | null>;
|
|
20
|
+
claimScheduledRun(workflowId: string, triggerId: string, scheduledFor: string): Promise<boolean>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=workflows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;CAC5C;AAQD,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAuBtE;AAED,qBAAa,kBAAkB;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAa5C,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAWlE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IASnD,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKjC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAK/C,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAMxC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAKrF,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAKvG"}
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Reporter, WorkflowExecutionReport } from '../types.js';
|
|
2
|
-
export declare class HtmlReporter implements Reporter {
|
|
3
|
-
name: string;
|
|
4
|
-
private outputDir;
|
|
5
|
-
constructor(options: {
|
|
6
|
-
outputDir: string;
|
|
7
|
-
});
|
|
8
|
-
report(execReport: WorkflowExecutionReport): Promise<void>;
|
|
9
|
-
generateHtml(execReport: WorkflowExecutionReport): string;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=html.reporter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html.reporter.d.ts","sourceRoot":"","sources":["../../src/reporters/html.reporter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAMhE,qBAAa,YAAa,YAAW,QAAQ;IAC3C,IAAI,SAAU;IACd,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;IAIpC,MAAM,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE,YAAY,CAAC,UAAU,EAAE,uBAAuB,GAAG,MAAM;CAG1D"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Reporter, WorkflowExecutionReport } from '../types.js';
|
|
2
|
-
export declare class JsonFileReporter implements Reporter {
|
|
3
|
-
name: string;
|
|
4
|
-
private outputDir;
|
|
5
|
-
constructor(options: {
|
|
6
|
-
outputDir: string;
|
|
7
|
-
});
|
|
8
|
-
report(execReport: WorkflowExecutionReport): Promise<void>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=json-file.reporter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-file.reporter.d.ts","sourceRoot":"","sources":["../../src/reporters/json-file.reporter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEhE,qBAAa,gBAAiB,YAAW,QAAQ;IAC/C,IAAI,SAAe;IACnB,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;IAIpC,MAAM,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAQjE"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Reporter, WorkflowExecutionReport } from '../types.js';
|
|
2
|
-
export declare class SlackReporter implements Reporter {
|
|
3
|
-
readonly name = "slack";
|
|
4
|
-
private webhookUrl;
|
|
5
|
-
private token;
|
|
6
|
-
private channel;
|
|
7
|
-
private notifyOn;
|
|
8
|
-
constructor(options: {
|
|
9
|
-
webhookUrl: string;
|
|
10
|
-
token: string;
|
|
11
|
-
channel: string;
|
|
12
|
-
notifyOn?: ('success' | 'failed')[];
|
|
13
|
-
});
|
|
14
|
-
report(execReport: WorkflowExecutionReport): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=slack.reporter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slack.reporter.d.ts","sourceRoot":"","sources":["../../src/reporters/slack.reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEhE,qBAAa,aAAc,YAAW,QAAQ;IAC5C,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAwC;gBAE5C,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAA;KAAE;IAI1G,MAAM,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAejE"}
|