@sanoma-ai/workflows 0.4.2 → 0.5.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.
Files changed (54) hide show
  1. package/README.md +18 -9
  2. package/dist/cedar.d.ts +23 -6
  3. package/dist/cedar.js +151 -44
  4. package/dist/cedar.js.map +1 -1
  5. package/dist/client.d.ts +3 -2
  6. package/dist/client.js +15 -6
  7. package/dist/client.js.map +1 -1
  8. package/dist/config.d.ts +6 -1
  9. package/dist/config.js +3 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/describe.js +37 -3
  12. package/dist/describe.js.map +1 -1
  13. package/dist/host.d.ts +2 -0
  14. package/dist/host.js.map +1 -1
  15. package/dist/index.d.ts +3 -3
  16. package/dist/index.js +3 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/op.d.ts +55 -3
  19. package/dist/op.js +6 -0
  20. package/dist/op.js.map +1 -1
  21. package/dist/policy.d.ts +9 -1
  22. package/dist/policy.js +18 -7
  23. package/dist/policy.js.map +1 -1
  24. package/dist/resources.d.ts +4 -2
  25. package/dist/resources.js +23 -11
  26. package/dist/resources.js.map +1 -1
  27. package/dist/scenario.d.ts +1 -1
  28. package/dist/scenario.js +4 -2
  29. package/dist/scenario.js.map +1 -1
  30. package/dist/schema.js +1 -1
  31. package/dist/shared.d.ts +27 -2
  32. package/dist/shared.js +52 -3
  33. package/dist/shared.js.map +1 -1
  34. package/dist/sites.d.ts +35 -6
  35. package/dist/sites.js +129 -25
  36. package/dist/sites.js.map +1 -1
  37. package/dist/version.d.ts +2 -2
  38. package/dist/version.js +2 -2
  39. package/dist/version.js.map +1 -1
  40. package/package.json +1 -1
  41. package/src/cedar.ts +152 -41
  42. package/src/client.ts +17 -4
  43. package/src/config.ts +8 -2
  44. package/src/describe.ts +46 -3
  45. package/src/host.ts +2 -0
  46. package/src/index.ts +9 -0
  47. package/src/op.ts +56 -3
  48. package/src/policy.ts +29 -10
  49. package/src/resources.ts +26 -10
  50. package/src/scenario.ts +5 -2
  51. package/src/schema.ts +1 -1
  52. package/src/shared.ts +61 -3
  53. package/src/sites.ts +162 -30
  54. package/src/version.ts +4 -2
package/dist/op.js CHANGED
@@ -119,6 +119,12 @@ export class DriverError extends Error {
119
119
  export function retryableStatus(status) {
120
120
  return status === 408 || status === 429 || status >= 500;
121
121
  }
122
+ /**
123
+ * The app sets this header on every request to a public site from the socket's address,
124
+ * overwriting any copy a client sent; a login reads a visitor's address from it (for rate
125
+ * limits), never from `X-Forwarded-For`.
126
+ */
127
+ export const CLIENT_IP_HEADER = "x-sanoma-client-ip";
122
128
  /**
123
129
  * The connector with `setup` laid over what it already carries, as a connector package exports
124
130
  * it: `export const ghost = withSetup(ghostOps, { driver: ghostDriver, fake: fakeGhost, steps: ghostSteps })`. A
package/dist/op.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"op.js","sourceRoot":"","sources":["../src/op.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"op.js","sourceRoot":"","sources":["../src/op.ts"],"names":[],"mappings":"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"}
package/dist/policy.d.ts CHANGED
@@ -82,6 +82,8 @@ export interface PreviewRequest {
82
82
  effect?: Effect;
83
83
  };
84
84
  resource?: string;
85
+ /** Asked of an operation inside a run the principal started, not of a direct call: a visitor's permit is at the start. */
86
+ inRun?: boolean;
85
87
  }
86
88
  /**
87
89
  * A preview's answer: `depends` when the unknown input decides it. `rule` is the Cedar policy
@@ -97,7 +99,13 @@ export interface PreviewAnswer {
97
99
  };
98
100
  approver?: Approver;
99
101
  }
100
- /** Allows every operation call and run start: the policy of a repo with no `policies/**\/*.cedar`. */
102
+ /** Why a visitor is refused what no policy permits it: the runtime's own permit leaves visitors out. */
103
+ export declare const VISITOR_DENIED = "A visitor may do nothing until a policy permits it";
104
+ /**
105
+ * Allows every operation call and run start but a visitor's (`isVisitor`): the policy of a repo
106
+ * with no `policies/**\/*.cedar`. A visitor is refused a start and a direct call (a call of the
107
+ * `call` workflow), as the runtime's permit refuses them, and allowed every call inside a run.
108
+ */
101
109
  export declare const allowAll: Policy;
102
110
  /** Refuses every operation call and run start, and previews each as a deny, saying `reason`. */
103
111
  export declare const denyAll: (reason: string) => Policy;
package/dist/policy.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { sameApprover } from "./define.js";
2
+ import { CALL_WORKFLOW, isVisitor } from "./shared.js";
2
3
  /** An operation as a policy sees it, for a `PolicyCall`: what the runtime passes. */
3
4
  export const policyOpOf = ({ id, vendor, resource, name, effect }) => ({
4
5
  id,
@@ -18,15 +19,25 @@ export function approve(approver, { title, reasons } = {}) {
18
19
  ...(reasons === undefined ? {} : { reasons }),
19
20
  };
20
21
  }
21
- /** A policy that decides every call and start as `decide` does, and previews each as `answer`. */
22
- const decidingAll = (decide, answer) => Object.freeze(Object.assign(decide, {
23
- start: decide,
24
- preview: (requests) => requests.map(() => ({ answer })),
22
+ /** Why a visitor is refused what no policy permits it: the runtime's own permit leaves visitors out. */
23
+ export const VISITOR_DENIED = "A visitor may do nothing until a policy permits it";
24
+ /**
25
+ * Allows every operation call and run start but a visitor's (`isVisitor`): the policy of a repo
26
+ * with no `policies/**\/*.cedar`. A visitor is refused a start and a direct call (a call of the
27
+ * `call` workflow), as the runtime's permit refuses them, and allowed every call inside a run.
28
+ */
29
+ export const allowAll = Object.freeze(Object.assign((call) => isVisitor(call.actor) && call.run.workflow === CALL_WORKFLOW ? deny(VISITOR_DENIED) : allow(), {
30
+ start: (actor) => (isVisitor(actor) ? deny(VISITOR_DENIED) : allow()),
31
+ preview: (requests) => requests.map(({ principal, inRun }) => ({ answer: isVisitor(principal) && !inRun ? "deny" : "allow" })),
25
32
  }));
26
- /** Allows every operation call and run start: the policy of a repo with no `policies/**\/*.cedar`. */
27
- export const allowAll = decidingAll(() => allow(), "allow");
28
33
  /** Refuses every operation call and run start, and previews each as a deny, saying `reason`. */
29
- export const denyAll = (reason) => decidingAll(() => deny(reason), "deny");
34
+ export const denyAll = (reason) => {
35
+ const decide = () => deny(reason);
36
+ return Object.freeze(Object.assign(decide, {
37
+ start: decide,
38
+ preview: (requests) => requests.map(() => ({ answer: "deny" })),
39
+ }));
40
+ };
30
41
  /**
31
42
  * True when an approval in the run was approved, covers the operation, and was addressed to
32
43
  * `approver`. Check all three: a workflow can request an approval covering any operation from
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,YAAY,EAAE,MAAM,aAAa,CAAC;AAM9F,qFAAqF;AACrF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAM,EAAY,EAAE,CAAC,CAAC;IACnF,EAAE;IACF,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,MAAM;CACP,CAAC,CAAC;AA0CH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAkB,EAAY,EAAE,CACpD,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACzE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,OAAkB,EAAY,EAAE,CACnE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAEvF,yGAAyG;AACzG,MAAM,UAAU,OAAO,CAAC,QAAkB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAA2C,EAAE;IACzG,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AA0CD,kGAAkG;AAClG,MAAM,WAAW,GAAG,CAAC,MAAsB,EAAE,MAAwB,EAAU,EAAE,CAC/E,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,CAAC,QAAmC,EAAmB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;CACpG,CAAC,CACH,CAAC;AAEJ,sGAAsG;AACtG,MAAM,CAAC,MAAM,QAAQ,GAAW,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AAEpE,gGAAgG;AAChG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAE3F;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,SAAmC,EAAE,IAAY,EAAE,QAAkB;IAC/F,OAAO,SAAS,CAAC,IAAI,CACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAChG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
@@ -92,8 +92,10 @@ export declare function readPeople(root: string | undefined): DeclaredPeople;
92
92
  * Who `asking` is admitted as, by the people the data files declare (`readPeople`): the declared
93
93
  * principal (`principalOf`) of the id it names, a person's or an agent's; for a sign-in
94
94
  * (`signIn`), of the person it matches (`personOf`: email, GitHub login, then id), never an agent.
95
- * While no person is declared, whoever names an id is taken as given. Throws `NotAdmittedError`
96
- * for anyone else, and for everyone while the people's files have problems.
95
+ * While no person is declared, whoever names an id is taken as given. A visitor's id (`isVisitor`)
96
+ * is taken whatever the files say, with the groups stamped here (`visitors`, or none for
97
+ * `anonymous`), never through a sign-in: the staff logins admit no visitor. Throws
98
+ * `NotAdmittedError` for anyone else, and for everyone while the people's files have problems.
97
99
  */
98
100
  export declare function admit(asking: {
99
101
  id?: string;
package/dist/resources.js CHANGED
@@ -9,7 +9,7 @@ import { peopleConnector } from "./person.js";
9
9
  import { resourceTypesOf } from "./resource.js";
10
10
  import { Principal } from "./define.js";
11
11
  import { NotAdmittedError } from "./errors.js";
12
- import { AGENTS, declaresPeople, personOf, principalOf, problemLine, RUNTIME_AGENTS, } from "./shared.js";
12
+ import { AGENTS, ANONYMOUS, ANONYMOUS_PRINCIPAL, declaresPeople, isVisitor, personOf, principalOf, problemLine, RUNTIME_AGENTS, VISITORS, } from "./shared.js";
13
13
  /** A file that imports the runtime's constructors, `sanoma` (by any local name): the files `readPeople` reads. */
14
14
  const DECLARES_PEOPLE = /\{[^}]*\bsanoma\b[^}]*\}\s*from\s*["'](?:sanoma|@sanoma-ai\/workflows)\/resources["']/;
15
15
  /** The last read of the people under each root, by what its data files were then (`filesStamp`). */
@@ -22,6 +22,12 @@ const filesStamp = (root) => dataFilesUnder(join(root, "resources"))
22
22
  return `${path} ${stat?.size} ${stat?.mtimeNs}`;
23
23
  })
24
24
  .join("\n");
25
+ /** The names no data file may give a group: what each is already. */
26
+ const RESERVED_GROUPS = new Map([
27
+ [AGENTS, "the group every agent is in"],
28
+ [VISITORS, "the group every visitor is in"],
29
+ [ANONYMOUS, "who a public page runs as when nobody is signed in"],
30
+ ]);
25
31
  /**
26
32
  * The people, agents and groups the data files under `root` declare (`sanoma.person`, `.agent`,
27
33
  * `.group`), read without running them, as `principalOf` takes them, with what is wrong in their
@@ -42,22 +48,21 @@ export function readPeople(root) {
42
48
  const ids = new Map();
43
49
  for (const r of people) {
44
50
  if (r.type === "group") {
45
- if (r.name === AGENTS) {
46
- own.push({
47
- file: r.file,
48
- message: `${r.id} is named "${AGENTS}", the group every agent is in: give it another name`,
49
- });
50
- }
51
+ const reserved = RESERVED_GROUPS.get(r.name);
52
+ if (reserved)
53
+ own.push({ file: r.file, message: `${r.id} is named "${r.name}", ${reserved}: give it another name` });
51
54
  continue;
52
55
  }
53
56
  const id = r.name;
54
57
  const other = ids.get(id);
55
- if (other || RUNTIME_AGENTS.includes(id)) {
58
+ if (other || RUNTIME_AGENTS.includes(id) || isVisitor({ id })) {
56
59
  own.push({
57
60
  file: r.file,
58
61
  message: other
59
62
  ? `${r.id} has the id "${id}", which ${other.id} has: give each person and agent their own`
60
- : `${r.id} has the id "${id}", one of the runtime's own agents': give it another`,
63
+ : isVisitor({ id })
64
+ ? `${r.id} has the id "${id}", a visitor's (\`anonymous\` or \`visitor:<login>:<subject>\`): give it another`
65
+ : `${r.id} has the id "${id}", one of the runtime's own agents': give it another`,
61
66
  });
62
67
  }
63
68
  ids.set(id, r);
@@ -70,11 +75,18 @@ export function readPeople(root) {
70
75
  * Who `asking` is admitted as, by the people the data files declare (`readPeople`): the declared
71
76
  * principal (`principalOf`) of the id it names, a person's or an agent's; for a sign-in
72
77
  * (`signIn`), of the person it matches (`personOf`: email, GitHub login, then id), never an agent.
73
- * While no person is declared, whoever names an id is taken as given. Throws `NotAdmittedError`
74
- * for anyone else, and for everyone while the people's files have problems.
78
+ * While no person is declared, whoever names an id is taken as given. A visitor's id (`isVisitor`)
79
+ * is taken whatever the files say, with the groups stamped here (`visitors`, or none for
80
+ * `anonymous`), never through a sign-in: the staff logins admit no visitor. Throws
81
+ * `NotAdmittedError` for anyone else, and for everyone while the people's files have problems.
75
82
  */
76
83
  export function admit(asking, { people, problems }, signIn = false) {
77
84
  const who = asking.github ?? asking.id ?? asking.email ?? "This sign-in";
85
+ if (asking.id !== undefined && isVisitor({ id: asking.id })) {
86
+ if (signIn)
87
+ throw new NotAdmittedError(who);
88
+ return asking.id === ANONYMOUS ? ANONYMOUS_PRINCIPAL : { id: asking.id, groups: [VISITORS] };
89
+ }
78
90
  if (problems.length) {
79
91
  // The runtime's own agents are declared by no file, so a broken one does not stop them (`check`'s scenarios).
80
92
  if (!signIn && asking.id !== undefined && RUNTIME_AGENTS.includes(asking.id)) {
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
@@ -138,7 +138,7 @@ export interface Scenario {
138
138
  text: string;
139
139
  /** Every step in order, for a list and for marking graph nodes. */
140
140
  steps: ScenarioStep[];
141
- /** Who starts the run, by id, when a `Given <who> is acting` says: a declared person or agent. */
141
+ /** Who starts the run, by id, when a `Given <who> is acting` says: a declared person or agent, `anonymous` or a visitor. */
142
142
  startedBy?: string;
143
143
  given: Given[];
144
144
  input: unknown;
package/dist/scenario.js CHANGED
@@ -12,7 +12,7 @@ import { outlineWorkflow } from "./outline.js";
12
12
  import { isObject } from "./resource.js";
13
13
  import { admit, readPeople } from "./resources.js";
14
14
  import { memorySecrets } from "./secret.js";
15
- import { APPLY_WORKFLOW, BUILT_IN_WORKFLOWS, DATA_VENDOR, declaresPeople, DRIFT_WORKFLOW, errorMessage, fitsOp, flatten, groupNamesOf, isEnded, principalIdsOf, problemLine, RUNTIME_AGENTS, } from "./shared.js";
15
+ import { APPLY_WORKFLOW, BUILT_IN_WORKFLOWS, DATA_VENDOR, declaresPeople, DRIFT_WORKFLOW, errorMessage, fitsOp, flatten, groupNamesOf, isEnded, principalIdsOf, problemLine, RUNTIME_AGENTS, visitorPrincipal, } from "./shared.js";
16
16
  const KINDS = {
17
17
  [PickleStepType.CONTEXT]: "given",
18
18
  [PickleStepType.ACTION]: "when",
@@ -174,7 +174,7 @@ function rulesOf(scope) {
174
174
  const workflowOf = (name) => scope.workflows.get(name);
175
175
  // The people as the root's data files declare them when a step names one (`readPeople`, read
176
176
  // again only once a file changed): while they declare no one, any id and any group go.
177
- /** `who`, as a run's start admits them (`admit`): a declared person or agent. */
177
+ /** `who`, as a run's start admits them (`admit`): a declared person or agent, or `anonymous`. */
178
178
  const actorNamed = (who) => {
179
179
  const declared = readPeople(scope.root);
180
180
  try {
@@ -205,6 +205,8 @@ function rulesOf(scope) {
205
205
  };
206
206
  const rules = [
207
207
  { kind: "actor", source: "{who} is acting", read: ([who]) => actorNamed(who) },
208
+ // A visitor of a public site, as a login would vouch for one; `anonymous` is a `{who}`.
209
+ { kind: "actor", source: "a visitor is acting", read: () => visitorPrincipal("scenario", "visitor").id },
208
210
  {
209
211
  kind: "given",
210
212
  source: "{op} was called with",
@@ -1 +1 @@
1
- {"version":3,"file":"scenario.js","sourceRoot":"","sources":["../src/scenario.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenario.js","sourceRoot":"","sources":["../src/scenario.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -44,7 +44,7 @@ const WRITES = new Set(["save", "delete"]);
44
44
  /**
45
45
  * The Cedar schema for a resolved config and its people, namespace `Sanoma`:
46
46
  *
47
- * - `entity Group enum [...]`, the declared groups and `agents`, so a policy naming another fails
47
+ * - `entity Group enum [...]`, the declared groups, `agents` and `visitors`, so a policy naming another fails
48
48
  * validation; `entity Principal in [Group] { onBehalfOf?: Principal }`; `Collection`;
49
49
  * `Target in [Collection]`; `Workflow`;
50
50
  * - an action per operation id, in its effect's group (`effect:money`), on a `Target`, with