@cloud-cli/on 1.9.1 → 1.11.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 +54 -27
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/on.js +7444 -7097
- package/dist/queue.d.ts +1 -1
- package/dist/queue.d.ts.map +1 -1
- package/dist/run-view.d.ts +2 -2
- package/dist/run-view.d.ts.map +1 -1
- 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 +19 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/types.d.ts +27 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/workflows.d.ts +23 -0
- package/dist/workflows.d.ts.map +1 -0
- package/package.json +1 -1
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"}
|
package/dist/run-view.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { JobRecord, StepReport, WorkflowExecutionReport } from './types.js';
|
|
1
|
+
import type { JobRecord, StepReport, WorkflowExecutionReport, WorkflowStep } from './types.js';
|
|
2
2
|
export interface RunView {
|
|
3
3
|
jobId: string;
|
|
4
4
|
parentId: string;
|
|
@@ -11,6 +11,6 @@ export interface RunView {
|
|
|
11
11
|
steps: StepReport[];
|
|
12
12
|
artifacts: string[];
|
|
13
13
|
}
|
|
14
|
-
export declare function buildRunView(job: JobRecord & Record<string, any>, logs: Record<string, string>, redact: (value: string) => string): RunView;
|
|
14
|
+
export declare function buildRunView(job: JobRecord & Record<string, any>, logs: Record<string, string>, redact: (value: string) => string, steps?: WorkflowStep[]): RunView;
|
|
15
15
|
export declare function renderRunHtml(report: RunView): string;
|
|
16
16
|
//# sourceMappingURL=run-view.d.ts.map
|
package/dist/run-view.d.ts.map
CHANGED
|
@@ -1 +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,MAAM,YAAY,CAAC;
|
|
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,9 +3,11 @@ 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;
|
|
10
|
+
private workerToken;
|
|
9
11
|
private events;
|
|
10
12
|
private workflowsLoaded;
|
|
11
13
|
static withPort(options: WebhookServerOptions & {
|
|
@@ -21,6 +23,20 @@ export declare class WebhookServer {
|
|
|
21
23
|
private readRequest;
|
|
22
24
|
private preprocess;
|
|
23
25
|
private matchWorkflows;
|
|
26
|
+
private isAdmin;
|
|
27
|
+
private isWorker;
|
|
28
|
+
private matchesToken;
|
|
29
|
+
private requireAdmin;
|
|
30
|
+
private readJson;
|
|
31
|
+
private handleWorkflowValidation;
|
|
32
|
+
private handleWorkflowList;
|
|
33
|
+
private handleWorkflowGet;
|
|
34
|
+
private handleWorkflowSave;
|
|
35
|
+
private handleWorkflowDelete;
|
|
36
|
+
private handleWorkflowPublish;
|
|
37
|
+
private handleSecretList;
|
|
38
|
+
private handleSecretSave;
|
|
39
|
+
private handleJobSecrets;
|
|
24
40
|
/**
|
|
25
41
|
* Handles Zero-Downtime Secret Reload
|
|
26
42
|
*/
|
|
@@ -36,6 +52,9 @@ export declare class WebhookServer {
|
|
|
36
52
|
*/
|
|
37
53
|
private renderRunDetails;
|
|
38
54
|
private handleRestartJob;
|
|
55
|
+
private currentSecrets;
|
|
56
|
+
private redact;
|
|
57
|
+
private redactText;
|
|
39
58
|
listen(port: number): Promise<WebhookServer>;
|
|
40
59
|
stop(): Promise<void>;
|
|
41
60
|
}
|
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,WAAW,CAAS;IAC5B,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;IAYzC,oBAAoB,CAAC,YAAY,EAAE,mBAAmB;YAIxC,aAAa;IAgG3B;;OAEG;YACW,aAAa;YA0Bb,WAAW;YAwBX,UAAU;YAuBV,cAAc;IAuC5B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,YAAY;YAON,QAAQ;YAYR,wBAAwB;YAcxB,kBAAkB;YAOlB,iBAAiB;YAWjB,kBAAkB;YAiBlB,oBAAoB;YASpB,qBAAqB;YAWrB,gBAAgB;YAMhB,gBAAgB;YAgBhB,gBAAgB;IAc9B;;OAEG;YACW,kBAAkB;YAclB,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
|
@@ -5,10 +5,10 @@ export interface RunnerConfig {
|
|
|
5
5
|
port: number;
|
|
6
6
|
/** Admin Secret for API / webhook operations */
|
|
7
7
|
adminToken: string;
|
|
8
|
+
/** Shared worker credential for job lifecycle and secret retrieval APIs */
|
|
9
|
+
workerToken: string;
|
|
8
10
|
/** SQLite Database connection URL / path */
|
|
9
11
|
database: string;
|
|
10
|
-
/** Directory where workflow YAML files live */
|
|
11
|
-
workflows: string;
|
|
12
12
|
/** Maximum number of jobs executed concurrently on this node */
|
|
13
13
|
workers: number;
|
|
14
14
|
/** Webhook server URL used for worker event notifications */
|
|
@@ -84,6 +84,15 @@ export interface WorkflowTrigger {
|
|
|
84
84
|
tags?: string[];
|
|
85
85
|
paths?: string[];
|
|
86
86
|
}
|
|
87
|
+
export interface ScheduleTrigger {
|
|
88
|
+
id?: string;
|
|
89
|
+
cron?: string;
|
|
90
|
+
event?: 'sunrise' | 'sunset';
|
|
91
|
+
latitude?: number;
|
|
92
|
+
longitude?: number;
|
|
93
|
+
timezone?: string;
|
|
94
|
+
offset?: string;
|
|
95
|
+
}
|
|
87
96
|
export interface WorkflowStep {
|
|
88
97
|
id?: string;
|
|
89
98
|
if?: string;
|
|
@@ -107,6 +116,14 @@ export interface WorkflowDefinition {
|
|
|
107
116
|
env?: Record<string, string>;
|
|
108
117
|
/** Worker capabilities required to execute this workflow */
|
|
109
118
|
tags?: string[];
|
|
119
|
+
/** Time triggers stored alongside webhook triggers in DB-authored workflows. */
|
|
120
|
+
schedule?: ScheduleTrigger[];
|
|
121
|
+
solar?: ScheduleTrigger[];
|
|
122
|
+
}
|
|
123
|
+
export interface WorkflowRevision {
|
|
124
|
+
workflowId: string;
|
|
125
|
+
revision: number;
|
|
126
|
+
definition: WorkflowDefinition;
|
|
110
127
|
}
|
|
111
128
|
export interface WebhookServerOptions {
|
|
112
129
|
config: RunnerConfig;
|
|
@@ -119,6 +136,8 @@ export interface JobRecord {
|
|
|
119
136
|
id: number;
|
|
120
137
|
parentId?: number;
|
|
121
138
|
workflow_id: string;
|
|
139
|
+
workflow_revision: number;
|
|
140
|
+
required_tags: string;
|
|
122
141
|
concurrency_key: string | null;
|
|
123
142
|
status: JobStatus;
|
|
124
143
|
worker_id: string | null;
|
|
@@ -127,11 +146,7 @@ export interface JobRecord {
|
|
|
127
146
|
}
|
|
128
147
|
export type WorkflowInputs = Record<string, any>;
|
|
129
148
|
export interface JobPayload {
|
|
130
|
-
workflowId: string;
|
|
131
|
-
steps: WorkflowStep[];
|
|
132
149
|
inputs: WorkflowInputs;
|
|
133
|
-
env?: Record<string, string>;
|
|
134
|
-
tags?: string[];
|
|
135
150
|
}
|
|
136
151
|
export interface MatrixStrategy {
|
|
137
152
|
matrix?: Record<string, (string | number | boolean)[]>;
|
|
@@ -190,6 +205,7 @@ export interface Processable {
|
|
|
190
205
|
secrets: SecretStore;
|
|
191
206
|
config: RunnerConfig;
|
|
192
207
|
driver: ExecutionDriver;
|
|
208
|
+
workflow?: WorkflowDefinition;
|
|
193
209
|
}
|
|
194
210
|
export interface ContextualizedProcessable extends Processable {
|
|
195
211
|
payload: JobPayload;
|
|
@@ -207,5 +223,10 @@ export interface JobExecutionContext {
|
|
|
207
223
|
}>;
|
|
208
224
|
workingDir: string;
|
|
209
225
|
logsDir: string;
|
|
226
|
+
files: {
|
|
227
|
+
exists(path: string): boolean;
|
|
228
|
+
readFile(path: string): string;
|
|
229
|
+
join(...paths: string[]): string;
|
|
230
|
+
};
|
|
210
231
|
}
|
|
211
232
|
//# 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,YAAY;IAC3B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,
|
|
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,iBAsErB;AA+FD;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,WAAW,iBAsE9C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
delete(id: string): Promise<boolean>;
|
|
19
|
+
published(): Promise<WorkflowRevision[]>;
|
|
20
|
+
getRevision(workflowId: string, revision: number): Promise<WorkflowDefinition | null>;
|
|
21
|
+
claimScheduledRun(workflowId: string, triggerId: string, scheduledFor: string): Promise<boolean>;
|
|
22
|
+
}
|
|
23
|
+
//# 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,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASpC,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"}
|