@sanoma-ai/workflows 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -14
- package/dist/apply.d.ts +2 -1
- package/dist/apply.js +29 -7
- package/dist/apply.js.map +1 -1
- package/dist/approvals.d.ts +27 -2
- package/dist/approvals.js +73 -9
- package/dist/approvals.js.map +1 -1
- package/dist/call.d.ts +3 -2
- package/dist/call.js +38 -30
- package/dist/call.js.map +1 -1
- package/dist/cedar.js +24 -9
- package/dist/cedar.js.map +1 -1
- package/dist/change.d.ts +219 -0
- package/dist/change.js +150 -0
- package/dist/change.js.map +1 -0
- package/dist/chats.d.ts +43 -0
- package/dist/chats.js +48 -0
- package/dist/chats.js.map +1 -0
- package/dist/client.d.ts +52 -6
- package/dist/client.js +88 -47
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +75 -8
- package/dist/config.js +103 -13
- package/dist/config.js.map +1 -1
- package/dist/constructors.d.ts +37 -1
- package/dist/constructors.js +6 -2
- package/dist/constructors.js.map +1 -1
- package/dist/database.d.ts +83 -0
- package/dist/database.js +92 -0
- package/dist/database.js.map +1 -0
- package/dist/db.d.ts +19 -1
- package/dist/db.js +51 -7
- package/dist/db.js.map +1 -1
- package/dist/deadlines.d.ts +91 -0
- package/dist/deadlines.js +165 -0
- package/dist/deadlines.js.map +1 -0
- package/dist/define.d.ts +25 -4
- package/dist/define.js +40 -0
- package/dist/define.js.map +1 -1
- package/dist/demo.d.ts +28 -0
- package/dist/demo.js +72 -0
- package/dist/demo.js.map +1 -0
- package/dist/describe.d.ts +5 -2
- package/dist/describe.js +10 -6
- package/dist/describe.js.map +1 -1
- package/dist/errors.d.ts +10 -1
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -1
- package/dist/fake.d.ts +34 -0
- package/dist/fake.js +134 -1
- package/dist/fake.js.map +1 -1
- package/dist/grid.d.ts +34 -0
- package/dist/grid.js +62 -0
- package/dist/grid.js.map +1 -0
- package/dist/host.d.ts +12 -2
- package/dist/host.js +2 -2
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +15 -8
- package/dist/index.js +10 -5
- package/dist/index.js.map +1 -1
- package/dist/ledger.d.ts +11 -2
- package/dist/ledger.js.map +1 -1
- package/dist/lint.js +2 -2
- package/dist/lint.js.map +1 -1
- package/dist/op.d.ts +21 -2
- package/dist/op.js.map +1 -1
- package/dist/person.d.ts +5 -0
- package/dist/person.js +3 -1
- package/dist/person.js.map +1 -1
- package/dist/policy.d.ts +7 -1
- package/dist/policy.js +2 -1
- package/dist/policy.js.map +1 -1
- package/dist/resource.d.ts +13 -1
- package/dist/resource.js +9 -1
- package/dist/resource.js.map +1 -1
- package/dist/resources.d.ts +2 -0
- package/dist/resources.js +15 -4
- package/dist/resources.js.map +1 -1
- package/dist/run.d.ts +5 -0
- package/dist/run.js.map +1 -1
- package/dist/sandbox.d.ts +38 -10
- package/dist/sandbox.js +66 -35
- package/dist/sandbox.js.map +1 -1
- package/dist/scenario.d.ts +18 -1
- package/dist/scenario.js +77 -27
- package/dist/scenario.js.map +1 -1
- package/dist/scenarios.d.ts +10 -1
- package/dist/scenarios.js +19 -4
- package/dist/scenarios.js.map +1 -1
- package/dist/schedules.d.ts +66 -0
- package/dist/schedules.js +158 -0
- package/dist/schedules.js.map +1 -0
- package/dist/schema.d.ts +6 -0
- package/dist/schema.js +13 -3
- package/dist/schema.js.map +1 -1
- package/dist/shared.d.ts +30 -2
- package/dist/shared.js +42 -4
- package/dist/shared.js.map +1 -1
- package/dist/source.d.ts +185 -2
- package/dist/source.js +9 -0
- package/dist/source.js.map +1 -1
- package/dist/supervisor.d.ts +39 -0
- package/dist/supervisor.js +68 -0
- package/dist/supervisor.js.map +1 -0
- package/dist/version.d.ts +3 -1
- package/dist/version.js +3 -1
- package/dist/version.js.map +1 -1
- package/dist/wakeup-driver.d.ts +128 -0
- package/dist/wakeup-driver.js +216 -0
- package/dist/wakeup-driver.js.map +1 -0
- package/dist/wakeup-service.d.ts +83 -0
- package/dist/wakeup-service.js +415 -0
- package/dist/wakeup-service.js.map +1 -0
- package/dist/wakeup-type.d.ts +43 -0
- package/dist/wakeup-type.js +80 -0
- package/dist/wakeup-type.js.map +1 -0
- package/dist/wakeup.d.ts +77 -0
- package/dist/wakeup.js +78 -0
- package/dist/wakeup.js.map +1 -0
- package/dist/worker.d.ts +39 -1
- package/dist/worker.js +125 -38
- package/dist/worker.js.map +1 -1
- package/oxlint.json +3 -1
- package/package.json +10 -2
- package/src/apply.ts +25 -6
- package/src/approvals.ts +89 -16
- package/src/call.ts +40 -29
- package/src/cedar.ts +24 -6
- package/src/change.ts +222 -0
- package/src/chats.ts +114 -0
- package/src/client.ts +145 -55
- package/src/config.ts +149 -21
- package/src/constructors.ts +8 -2
- package/src/database.ts +152 -0
- package/src/db.ts +58 -9
- package/src/deadlines.ts +228 -0
- package/src/define.ts +71 -4
- package/src/demo.ts +87 -0
- package/src/describe.ts +18 -6
- package/src/errors.ts +14 -0
- package/src/fake.ts +149 -0
- package/src/grid.ts +100 -0
- package/src/host.ts +12 -4
- package/src/index.ts +66 -3
- package/src/ledger.ts +15 -3
- package/src/lint.ts +2 -2
- package/src/op.ts +22 -2
- package/src/person.ts +4 -1
- package/src/policy.ts +7 -1
- package/src/resource.ts +22 -3
- package/src/resources.ts +17 -4
- package/src/run.ts +5 -0
- package/src/sandbox.ts +97 -37
- package/src/scenario.ts +97 -28
- package/src/scenarios.ts +21 -5
- package/src/schedules.ts +206 -0
- package/src/schema.ts +16 -3
- package/src/shared.ts +51 -4
- package/src/source.ts +176 -3
- package/src/supervisor.ts +102 -0
- package/src/version.ts +3 -1
- package/src/wakeup-driver.ts +270 -0
- package/src/wakeup-service.ts +504 -0
- package/src/wakeup-type.ts +90 -0
- package/src/wakeup.ts +139 -0
- package/src/worker.ts +176 -43
package/dist/approvals.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { DBOS } from "@dbos-inc/dbos-sdk";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { Principal } from "./define.js";
|
|
4
|
-
import { RejectedError } from "./errors.js";
|
|
4
|
+
import { RejectedError, WithdrawnError } from "./errors.js";
|
|
5
5
|
import { entry, write } from "./ledger.js";
|
|
6
6
|
import { warn } from "./log.js";
|
|
7
7
|
import { readPeople } from "./resources.js";
|
|
8
|
-
import { approverLabel, OWN_CHANGE, refusalOf } from "./shared.js";
|
|
8
|
+
import { approverLabel, isVisitor, OWN_CHANGE, refusalOf } from "./shared.js";
|
|
9
9
|
// The wire contract between a run waiting on approvals and whoever decides them. The client
|
|
10
10
|
// imports this file and never the worker's.
|
|
11
11
|
/** The DBOS event a run publishes its approvals on, as `ApprovalState[]`. */
|
|
@@ -30,7 +30,23 @@ export const ApprovalMessage = z.object({
|
|
|
30
30
|
by: Principal,
|
|
31
31
|
note: z.string().optional(),
|
|
32
32
|
});
|
|
33
|
+
/**
|
|
34
|
+
* A withdrawal of a pending approval, as sent to a run on the approval's topic: `withdraw` says
|
|
35
|
+
* why, and `by` who withdraws it, which the run checks (`withdrawalRefusal`) and records. `id`
|
|
36
|
+
* names the message as a decision's does; `SanomaClient.withdraw` sets one.
|
|
37
|
+
*/
|
|
38
|
+
export const ApprovalWithdrawal = z.object({
|
|
39
|
+
withdraw: z.string().trim().min(1),
|
|
40
|
+
by: Principal,
|
|
41
|
+
id: z.string().optional(),
|
|
42
|
+
});
|
|
33
43
|
const statusOf = (decision) => (decision === "approve" ? "approved" : "rejected");
|
|
44
|
+
/**
|
|
45
|
+
* Why `by` may not withdraw the approval of a run `starter` started, or undefined when they may:
|
|
46
|
+
* the starter may withdraw what their own run asks (never a visitor, as every anonymous one shares
|
|
47
|
+
* an id), anyone else only as one who may decide it.
|
|
48
|
+
*/
|
|
49
|
+
export const withdrawalRefusal = (approval, by, starter) => (by.id === starter && !isVisitor(by) ? undefined : refusalOf(approval, by, {}, []));
|
|
34
50
|
/** The sender's id, from a message that may not be a valid decision. */
|
|
35
51
|
function senderOf(raw) {
|
|
36
52
|
const by = typeof raw === "object" && raw !== null ? raw.by : undefined;
|
|
@@ -39,7 +55,8 @@ function senderOf(raw) {
|
|
|
39
55
|
}
|
|
40
56
|
/**
|
|
41
57
|
* Waits, durably, for a decision from someone who may make it (`mayDecide`: the run's own actor
|
|
42
|
-
* only while nobody else could). Throws `RejectedError` on a rejection
|
|
58
|
+
* only while nobody else could). Throws `RejectedError` on a rejection and `WithdrawnError` on a
|
|
59
|
+
* withdrawal (`ApprovalWithdrawal`). Without `held`, the workflow asked
|
|
43
60
|
* (`ctx.approval`); with it, the policy did, and `place` is the held call's outline node and name
|
|
44
61
|
* (none for a run's start, which is no call in the outline).
|
|
45
62
|
*/
|
|
@@ -73,7 +90,8 @@ export async function awaitApproval(run, title, req, place, held) {
|
|
|
73
90
|
...(held && { op: held.op, ...heldOf(held) }),
|
|
74
91
|
}, { key: state.id, at: state.requestedAt }));
|
|
75
92
|
for (;;) {
|
|
76
|
-
|
|
93
|
+
// A decision comes from a request (`SanomaClient.decide`), which wakes a stopped worker: no deadline.
|
|
94
|
+
const raw = await run.state.deadlines.waiting(run.id, { kind: "approval" }, () => DBOS.recv(topicOf(state.id), { timeoutSeconds: 24 * 60 * 60 }));
|
|
77
95
|
if (raw === null || raw === undefined) {
|
|
78
96
|
warn(`run ${run.id}: approval ${state.id} ("${title}") is still waiting for ${approverLabel(state.approver)}`);
|
|
79
97
|
continue;
|
|
@@ -81,6 +99,18 @@ export async function awaitApproval(run, title, req, place, held) {
|
|
|
81
99
|
const at = await DBOS.now();
|
|
82
100
|
const parsed = ApprovalMessage.safeParse(raw);
|
|
83
101
|
const msg = parsed.success ? parsed.data : undefined;
|
|
102
|
+
const withdrawal = msg ? undefined : ApprovalWithdrawal.safeParse(raw).data;
|
|
103
|
+
if (withdrawal) {
|
|
104
|
+
const { withdraw: reason, by, id } = withdrawal;
|
|
105
|
+
const refused = withdrawalRefusal(state, by, run.actor.id);
|
|
106
|
+
if (refused === undefined) {
|
|
107
|
+
state.decidedWith = id;
|
|
108
|
+
await withdrawn(run, [state], reason, at, by.id);
|
|
109
|
+
throw new WithdrawnError(title, state.id, reason);
|
|
110
|
+
}
|
|
111
|
+
await refuse(run, state, { by: by.id, ...(id === undefined ? {} : { id }), at, reason: refused });
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
84
114
|
// The people matter only when the run's own actor decides (`refusalOf`): then they are read as
|
|
85
115
|
// the data files declare them now, in a step, so a replay decides the same. While those files
|
|
86
116
|
// have problems, someone else may be missing from them, so the starter is refused.
|
|
@@ -94,15 +124,12 @@ export async function awaitApproval(run, title, req, place, held) {
|
|
|
94
124
|
: (refusalOf(state, msg.by, run, []) ?? null);
|
|
95
125
|
if (!msg || refusal !== null) {
|
|
96
126
|
const by = msg?.by.id ?? senderOf(raw);
|
|
97
|
-
|
|
98
|
-
state.refused.push({
|
|
127
|
+
await refuse(run, state, {
|
|
99
128
|
...(by === undefined ? {} : { by }),
|
|
100
129
|
...(msg?.id === undefined ? {} : { id: msg.id }),
|
|
101
130
|
at,
|
|
102
|
-
reason,
|
|
131
|
+
reason: refusal ?? "not a valid decision message",
|
|
103
132
|
});
|
|
104
|
-
await DBOS.setEvent(APPROVALS_EVENT, all);
|
|
105
|
-
await write(run, entry(run, { type: "approval.refused", approval: state.id, ...(by === undefined ? {} : { by }), reason }, { key: `${state.id}:refused:${state.refused.length}`, at }));
|
|
106
133
|
continue;
|
|
107
134
|
}
|
|
108
135
|
// The run's own actor decides only when nobody else could, which the record says.
|
|
@@ -136,4 +163,41 @@ const heldOf = ({ seq, reasons }) => ({
|
|
|
136
163
|
...(seq !== undefined && { opSeq: seq }),
|
|
137
164
|
...(reasons !== undefined && { reasons }),
|
|
138
165
|
});
|
|
166
|
+
/**
|
|
167
|
+
* Withdraws every approval of the run that is approved and covers the operation `covering`, so
|
|
168
|
+
* none lifts a hold on it again (`approvedFor` reads only approved ones): as a change does when it
|
|
169
|
+
* gets a new commit. Called from the run's own body, never a step: the approvals it finds and the
|
|
170
|
+
* records it writes depend only on the run's history, so a replay does the same.
|
|
171
|
+
*/
|
|
172
|
+
export async function withdrawApprovals(run, covering, reason) {
|
|
173
|
+
const retired = run.approvals.filter((a) => a.status === "approved" && a.covers.includes(covering));
|
|
174
|
+
if (!retired.length)
|
|
175
|
+
return;
|
|
176
|
+
await withdrawn(run, retired, reason, await DBOS.now());
|
|
177
|
+
}
|
|
178
|
+
/** Records a message the approval ignored, on the approval and in the ledger. */
|
|
179
|
+
async function refuse(run, state, refused) {
|
|
180
|
+
state.refused.push(refused);
|
|
181
|
+
await DBOS.setEvent(APPROVALS_EVENT, run.approvals);
|
|
182
|
+
const { by, reason, at } = refused;
|
|
183
|
+
await write(run, entry(run, { type: "approval.refused", approval: state.id, ...(by === undefined ? {} : { by }), reason }, { key: `${state.id}:refused:${state.refused.length}`, at }));
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Withdraws the approvals (by `by`, when someone rather than the run does) and publishes them as a
|
|
187
|
+
* decision is: the list, then the ledger, then each one's decision event.
|
|
188
|
+
*/
|
|
189
|
+
async function withdrawn(run, approvals, reason, at, by) {
|
|
190
|
+
const who = by === undefined ? {} : { by };
|
|
191
|
+
for (const a of approvals) {
|
|
192
|
+
Object.assign(a, { status: "withdrawn", withdrawnReason: reason, withdrawnAt: at });
|
|
193
|
+
if (by !== undefined)
|
|
194
|
+
a.withdrawnBy = by;
|
|
195
|
+
}
|
|
196
|
+
await DBOS.setEvent(APPROVALS_EVENT, run.approvals);
|
|
197
|
+
for (const a of approvals) {
|
|
198
|
+
await write(run, entry(run, { type: "approval.withdrawn", approval: a.id, ...who, reason }, { key: a.id, at }));
|
|
199
|
+
}
|
|
200
|
+
for (const a of approvals)
|
|
201
|
+
await DBOS.setEvent(decisionEventOf(a.id), a);
|
|
202
|
+
}
|
|
139
203
|
//# sourceMappingURL=approvals.js.map
|
package/dist/approvals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
|
package/dist/call.d.ts
CHANGED
|
@@ -38,8 +38,9 @@ export interface Placed {
|
|
|
38
38
|
export declare function buildCtx(wf: WorkflowDefinition<any, any>, run: Run): any;
|
|
39
39
|
/**
|
|
40
40
|
* Asks the policy about one call, with the record a collection's `save` or
|
|
41
|
-
* `delete` replaces as `before` (`beforeOf`).
|
|
42
|
-
*
|
|
41
|
+
* `delete` replaces as `before` (`beforeOf`). The runtime's own rule first (`runtimeHold`, over
|
|
42
|
+
* the running instance's people): while it holds or denies, the company's policy is not asked.
|
|
43
|
+
* Runs inside a step, so it must have no side effects of its own.
|
|
43
44
|
*/
|
|
44
45
|
export declare function decide(run: Run, op: Op, input: unknown): Promise<RecordedDecision>;
|
|
45
46
|
/**
|
package/dist/call.js
CHANGED
|
@@ -8,8 +8,9 @@ import { shown } from "./log.js";
|
|
|
8
8
|
import { isOp } from "./op.js";
|
|
9
9
|
import { callAt, callName } from "./outline.js";
|
|
10
10
|
import { allowAll, policyOpOf } from "./policy.js";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { reservedFor, runtimeHold } from "./change.js";
|
|
12
|
+
import { readPeople } from "./resources.js";
|
|
13
|
+
import { approverLabel, CALL_WORKFLOW, CHANGE_MERGE, DATA_VENDOR, errorMessage, fitsOp, WORKFLOW_ACTION, } from "./shared.js";
|
|
13
14
|
/** DBOS took the run from this execution: it cancelled the run, or another process took it over. */
|
|
14
15
|
const takenByDbos = (err) => causes(err).some((e) => e instanceof DBOSErrors.DBOSWorkflowCancelledError || e instanceof DBOSWorkflowConflictError);
|
|
15
16
|
/**
|
|
@@ -207,11 +208,16 @@ function targetOf(op, input) {
|
|
|
207
208
|
}
|
|
208
209
|
/**
|
|
209
210
|
* Asks the policy about one call, with the record a collection's `save` or
|
|
210
|
-
* `delete` replaces as `before` (`beforeOf`).
|
|
211
|
-
*
|
|
211
|
+
* `delete` replaces as `before` (`beforeOf`). The runtime's own rule first (`runtimeHold`, over
|
|
212
|
+
* the running instance's people): while it holds or denies, the company's policy is not asked.
|
|
213
|
+
* Runs inside a step, so it must have no side effects of its own.
|
|
212
214
|
*/
|
|
213
215
|
export async function decide(run, op, input) {
|
|
214
216
|
const seen = { id: run.id, workflow: run.workflow, approvals: structuredClone(run.approvals) };
|
|
217
|
+
// Only a merge is the rule's: no other call reads the people's files.
|
|
218
|
+
const held = op.id === CHANGE_MERGE ? runtimeHold(op.id, input, seen.approvals, readPeople(run.state.root).people) : undefined;
|
|
219
|
+
if (held)
|
|
220
|
+
return held;
|
|
215
221
|
const { policy } = run.state;
|
|
216
222
|
// Keyed by the call (`seq` was taken for it), so a fake answers each read afresh.
|
|
217
223
|
const before = await beforeOf(policy, op, input, run.state.collections, (get, key) => driverOf(run, get)?.({ key }, { idempotencyKey: `${run.id}:${run.seq}:before`, runId: run.id, opId: get, attempt: 1, secrets: secretsOf(run) }));
|
|
@@ -222,7 +228,7 @@ export async function decide(run, op, input) {
|
|
|
222
228
|
const driverOf = (run, id) => (run.sandbox === undefined ? run.state.drivers : run.fakeDrivers)?.get(id);
|
|
223
229
|
/** The secrets a run's calls read: its own in a sandbox run, else the stored ones. */
|
|
224
230
|
const secretsOf = (run) => (run.sandbox === undefined ? run.state.secrets : run.fakeSecrets);
|
|
225
|
-
/** One call of `op` as `actor` in `run`, as a policy sees it. */
|
|
231
|
+
/** One call of `op` as `actor` in `run`, as a policy sees it: a merge's `entity`, the change's facts. */
|
|
226
232
|
const callOf = (op, input, actor, run) => ({
|
|
227
233
|
op: policyOpOf(op),
|
|
228
234
|
effect: op.effect,
|
|
@@ -230,6 +236,7 @@ const callOf = (op, input, actor, run) => ({
|
|
|
230
236
|
input,
|
|
231
237
|
actor,
|
|
232
238
|
run,
|
|
239
|
+
...(op.id === CHANGE_MERGE && { entity: input.facts }),
|
|
233
240
|
});
|
|
234
241
|
/**
|
|
235
242
|
* For a collection's `save` or `delete`, the record it replaces or removes, read once with the
|
|
@@ -305,9 +312,11 @@ async function callOp(run, id, input, place) {
|
|
|
305
312
|
? `No connector or driver for ${id} in this worker`
|
|
306
313
|
: `No connector or fake for ${id} in this worker: no fake its connectors attach implements it`);
|
|
307
314
|
}
|
|
308
|
-
// Only apply changes a declared resource
|
|
309
|
-
|
|
310
|
-
|
|
315
|
+
// Only apply changes a declared resource, and only change takes a change's steps; `resolveConfig`
|
|
316
|
+
// refuses any other workflow that uses such an operation.
|
|
317
|
+
const reserved = reservedFor(op, run.state.types);
|
|
318
|
+
if (reserved && run.workflow !== reserved.workflow) {
|
|
319
|
+
throw new SanomaError("invalid_input", `${op.id} ${reserved.does}, which only ${reserved.workflow} does`, {
|
|
311
320
|
op: op.id,
|
|
312
321
|
workflow: run.workflow,
|
|
313
322
|
});
|
|
@@ -345,7 +354,9 @@ async function callOp(run, id, input, place) {
|
|
|
345
354
|
});
|
|
346
355
|
}
|
|
347
356
|
catch (err) {
|
|
348
|
-
|
|
357
|
+
// A rejection or a withdrawal stops the call: it is recorded as failed, naming the approval.
|
|
358
|
+
const code = errorCode(err);
|
|
359
|
+
if (code === "approval_rejected" || code === "approval_withdrawn") {
|
|
349
360
|
const approval = err.data.approvalId;
|
|
350
361
|
const record = entry(run, { ...call, approval, error: errorInfo(err), durationMs: 0 }, { seq });
|
|
351
362
|
await writeFailure(run, record, err);
|
|
@@ -451,32 +462,29 @@ async function all(run, list, node) {
|
|
|
451
462
|
}
|
|
452
463
|
/**
|
|
453
464
|
* Waits, durably, until the time or for the duration the request names, and records when it
|
|
454
|
-
* ends. For a duration that is the record's `at` plus the duration
|
|
455
|
-
*
|
|
456
|
-
* the
|
|
465
|
+
* ends. For a duration that is the record's `at` plus the duration. The start is DBOS's clock
|
|
466
|
+
* (`DBOS.now()`, a step), so a replay reads back the first execution's and computes the same
|
|
467
|
+
* deadline: the one the worker's deadlines register while the run waits.
|
|
457
468
|
*/
|
|
458
469
|
async function sleep(run, raw, at) {
|
|
459
470
|
const req = checkSleep(raw);
|
|
460
471
|
const seq = run.seq++;
|
|
461
|
-
const started =
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
}
|
|
468
|
-
else {
|
|
469
|
-
ms =
|
|
472
|
+
const started = await DBOS.now();
|
|
473
|
+
const until = "until" in req
|
|
474
|
+
? typeof req.until === "number"
|
|
475
|
+
? req.until
|
|
476
|
+
: Date.parse(req.until)
|
|
477
|
+
: started +
|
|
470
478
|
(req.ms ?? 0) +
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
}
|
|
479
|
+
(req.seconds ?? 0) * 1_000 +
|
|
480
|
+
(req.minutes ?? 0) * 60_000 +
|
|
481
|
+
(req.hours ?? 0) * 3_600_000 +
|
|
482
|
+
(req.days ?? 0) * 86_400_000;
|
|
483
|
+
const ms = until - started;
|
|
477
484
|
await write(run, entry(run, { type: "sleep.started", ...at, until }, { seq, at: started }));
|
|
478
|
-
// A time already past waits not at all, and adds no step. A sandbox run never waits.
|
|
479
|
-
if (ms > 0 && run.sandbox === undefined)
|
|
480
|
-
await DBOS.sleep(ms);
|
|
485
|
+
// A time already past waits not at all, and adds no sleep step. A sandbox run never waits.
|
|
486
|
+
if (ms > 0 && run.sandbox === undefined) {
|
|
487
|
+
await run.state.deadlines.waiting(run.id, { kind: "sleep", until }, () => DBOS.sleep(ms));
|
|
488
|
+
}
|
|
481
489
|
}
|
|
482
490
|
//# sourceMappingURL=call.js.map
|
package/dist/call.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../src/call.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../src/call.ts"],"names":[],"mappings":"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"}
|
package/dist/cedar.js
CHANGED
|
@@ -5,7 +5,7 @@ import { locator } from "./ast.js";
|
|
|
5
5
|
import { filesUnder } from "./paths.js";
|
|
6
6
|
import { allow, allowAll, approve, approvedFor, deny, denyAll, VISITOR_DENIED, } from "./policy.js";
|
|
7
7
|
import { admit, readPeople } from "./resources.js";
|
|
8
|
-
import { cedarValue, cedarWasm, contextTypeOf, messageOf, NAMESPACE, schemaOf } from "./schema.js";
|
|
8
|
+
import { cedarValue, cedarWasm, contextTypeOf, messageOf, NAMESPACE, schemaOf, shapeOf } from "./schema.js";
|
|
9
9
|
import { ANONYMOUS, approverLabel, approverOf, CALL_WORKFLOW, DATA_VENDOR, groupNamesOf, isVisitor, principalIdsOf, principalOf, problemLine, VISITORS, WORKFLOW_ACTION, } from "./shared.js";
|
|
10
10
|
// A company's policies in Cedar (`policies/**/*.cedar`), decided with `@cedar-policy/cedar-wasm`
|
|
11
11
|
// against the schema of its resolved config (`schemaOf`). Allow is the default: the runtime adds
|
|
@@ -209,13 +209,25 @@ export function cedarPolicy(resolved, policies, people) {
|
|
|
209
209
|
const refusing = holds.find(({ p }) => p.hold === undefined) ?? holds.find(({ approver }) => !approver);
|
|
210
210
|
return { refusing: refusing?.p, holds };
|
|
211
211
|
};
|
|
212
|
-
/**
|
|
213
|
-
const
|
|
212
|
+
/** The entity type `action` acts on, as the schema has it. */
|
|
213
|
+
const appliesTo = (action) => schema[NAMESPACE]?.actions[action]?.appliesTo?.resourceTypes?.[0];
|
|
214
|
+
/**
|
|
215
|
+
* What `request` is about: a workflow start on its `Workflow`; an operation on its target, in its
|
|
216
|
+
* collection for `data`; one on an entity type with attributes (a merge's `Change`) with those `entity` gives.
|
|
217
|
+
*/
|
|
218
|
+
const requestOf = (principal, action, target, context, entity) => {
|
|
214
219
|
const entities = directory.entities(principal);
|
|
220
|
+
const on = appliesTo(action);
|
|
221
|
+
const shape = on === undefined ? undefined : shapeOf(schema, on);
|
|
215
222
|
let resource;
|
|
216
223
|
if (action.startsWith(WORKFLOW_ACTION)) {
|
|
217
224
|
resource = uid("Workflow", action.slice(WORKFLOW_ACTION.length));
|
|
218
225
|
}
|
|
226
|
+
else if (shape) {
|
|
227
|
+
resource = uid(on, target ?? action);
|
|
228
|
+
const attrs = cedarValue(entity(Object.keys(shape.attributes)), shape) ?? {};
|
|
229
|
+
entities.push({ uid: resource, attrs: attrs, parents: [] });
|
|
230
|
+
}
|
|
219
231
|
else {
|
|
220
232
|
resource = uid("Target", target ?? action);
|
|
221
233
|
const op = resolved.ops.get(action);
|
|
@@ -233,14 +245,16 @@ export function cedarPolicy(resolved, policies, people) {
|
|
|
233
245
|
};
|
|
234
246
|
/**
|
|
235
247
|
* May `actor` take `action` on `target` with `context`, given the run's `approvals` so far; at a
|
|
236
|
-
* start or a direct call (`atStart`), a visitor only where a company permit lets it in.
|
|
248
|
+
* start or a direct call (`atStart`), a visitor only where a company permit lets it in. `entity`,
|
|
249
|
+
* the attributes of what it acts on, when that has any (a `Change`).
|
|
237
250
|
*/
|
|
238
|
-
const authorize = (actor, action, target, context, approvals, atStart) => {
|
|
251
|
+
const authorize = (actor, action, target, context, approvals, atStart, entity = {}) => {
|
|
239
252
|
const principal = directory.principal(actor);
|
|
253
|
+
const attrs = () => entity;
|
|
240
254
|
/** The answer of the policy set `id`. */
|
|
241
255
|
const ask = (id) => {
|
|
242
256
|
const check = (asked) => cedar.statefulIsAuthorized({
|
|
243
|
-
...requestOf(principal, action, target, () => asked),
|
|
257
|
+
...requestOf(principal, action, target, () => asked, attrs),
|
|
244
258
|
preparsedSchemaName: set,
|
|
245
259
|
validateRequest: true,
|
|
246
260
|
preparsedPolicySetId: id,
|
|
@@ -252,7 +266,7 @@ export function cedarPolicy(resolved, policies, people) {
|
|
|
252
266
|
const { before, ...rest } = context;
|
|
253
267
|
if (answer.type === "success" || before === undefined || check(rest).type === "failure")
|
|
254
268
|
return answer;
|
|
255
|
-
const request = requestOf(principal, action, target, () => context);
|
|
269
|
+
const request = requestOf(principal, action, target, () => context, attrs);
|
|
256
270
|
const groups = schema[NAMESPACE]?.actions[action]?.memberOf ?? [];
|
|
257
271
|
request.entities.push({ uid: request.action, attrs: {}, parents: groups.map((g) => uid("Action", g.id)) });
|
|
258
272
|
return cedar.statefulIsAuthorized({ ...request, preparsedPolicySetId: id });
|
|
@@ -290,13 +304,14 @@ export function cedarPolicy(resolved, policies, people) {
|
|
|
290
304
|
const title = waiting.p.title ?? `${action} needs ${approverLabel(approver)}`;
|
|
291
305
|
return approve(approver, { title, reasons: [waiting.p.id] });
|
|
292
306
|
};
|
|
293
|
-
const decide = (call) => authorize(call.actor, call.op.id, call.target, { input: call.input, ...(call.before !== undefined && { before: call.before }) }, call.run.approvals, call.run.workflow === CALL_WORKFLOW);
|
|
307
|
+
const decide = (call) => authorize(call.actor, call.op.id, call.target, { input: call.input, ...(call.before !== undefined && { before: call.before }) }, call.run.approvals, call.run.workflow === CALL_WORKFLOW, call.entity);
|
|
294
308
|
const start = (actor, workflow, input, approvals = []) => authorize(actor, `${WORKFLOW_ACTION}${workflow}`, undefined, { input }, approvals, true);
|
|
295
309
|
const preview = (requests) => requests.map(({ principal: actor, action, resource, inRun }) => {
|
|
296
310
|
const principal = directory.principal(actor);
|
|
297
311
|
const partial = (asked) => {
|
|
298
312
|
const answer = cedar.isAuthorizedPartial({
|
|
299
|
-
|
|
313
|
+
// A change's facts unknown too: a rule on them depends, one on any change holds.
|
|
314
|
+
...requestOf(principal, action.id, resource, unknown, unknown),
|
|
300
315
|
schema,
|
|
301
316
|
validateRequest: false,
|
|
302
317
|
policies: { staticPolicies: asked },
|
package/dist/cedar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cedar.js","sourceRoot":"","sources":["../src/cedar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cedar.js","sourceRoot":"","sources":["../src/cedar.ts"],"names":[],"mappings":"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"}
|