@sanoma-ai/workflows 0.2.0 → 0.4.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 +146 -85
- package/dist/approvals.d.ts +11 -6
- package/dist/approvals.js +38 -10
- package/dist/approvals.js.map +1 -1
- package/dist/call-workflow.d.ts +16 -0
- package/dist/call-workflow.js +35 -0
- package/dist/call-workflow.js.map +1 -0
- package/dist/call.d.ts +33 -4
- package/dist/call.js +107 -42
- package/dist/call.js.map +1 -1
- package/dist/cedar.d.ts +87 -0
- package/dist/cedar.js +365 -0
- package/dist/cedar.js.map +1 -0
- package/dist/client.d.ts +85 -7
- package/dist/client.js +289 -25
- package/dist/client.js.map +1 -1
- package/dist/collection.d.ts +107 -0
- package/dist/collection.js +306 -0
- package/dist/collection.js.map +1 -0
- package/dist/config.d.ts +42 -14
- package/dist/config.js +82 -18
- package/dist/config.js.map +1 -1
- package/dist/constructors.d.ts +2 -0
- package/dist/constructors.js +5 -0
- package/dist/constructors.js.map +1 -0
- package/dist/data.d.ts +2 -0
- package/dist/data.js +3 -0
- package/dist/data.js.map +1 -0
- package/dist/datafile.d.ts +28 -2
- package/dist/datafile.js +118 -19
- package/dist/datafile.js.map +1 -1
- package/dist/db.d.ts +5 -3
- package/dist/db.js +88 -21
- package/dist/db.js.map +1 -1
- package/dist/define.d.ts +14 -5
- package/dist/define.js +1 -5
- package/dist/define.js.map +1 -1
- package/dist/describe.d.ts +45 -5
- package/dist/describe.js +72 -7
- package/dist/describe.js.map +1 -1
- package/dist/direct.d.ts +9 -0
- package/dist/direct.js +11 -0
- package/dist/direct.js.map +1 -0
- package/dist/errors.d.ts +16 -1
- package/dist/errors.js +30 -1
- package/dist/errors.js.map +1 -1
- package/dist/expectations.d.ts +3 -3
- package/dist/expectations.js +16 -7
- package/dist/expectations.js.map +1 -1
- package/dist/fill.d.ts +4 -0
- package/dist/fill.js +13 -0
- package/dist/fill.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/ledger.d.ts +12 -1
- package/dist/ledger.js +18 -11
- package/dist/ledger.js.map +1 -1
- package/dist/lint.d.ts +5 -4
- package/dist/lint.js +24 -7
- package/dist/lint.js.map +1 -1
- package/dist/op.d.ts +6 -0
- package/dist/op.js.map +1 -1
- package/dist/outline.d.ts +2 -0
- package/dist/outline.js +1 -1
- package/dist/outline.js.map +1 -1
- package/dist/paths.d.ts +4 -0
- package/dist/paths.js +17 -3
- package/dist/paths.js.map +1 -1
- package/dist/person.d.ts +61 -0
- package/dist/person.js +69 -0
- package/dist/person.js.map +1 -0
- package/dist/plugin.d.ts +28 -0
- package/dist/plugin.js +52 -1
- package/dist/plugin.js.map +1 -1
- package/dist/policy.d.ts +51 -55
- package/dist/policy.js +14 -36
- package/dist/policy.js.map +1 -1
- package/dist/resource.d.ts +21 -5
- package/dist/resource.js +12 -3
- package/dist/resource.js.map +1 -1
- package/dist/resources.d.ts +58 -6
- package/dist/resources.js +119 -26
- package/dist/resources.js.map +1 -1
- package/dist/run.d.ts +17 -1
- package/dist/run.js.map +1 -1
- package/dist/scenario.d.ts +16 -9
- package/dist/scenario.js +149 -44
- package/dist/scenario.js.map +1 -1
- package/dist/scenarios.d.ts +10 -6
- package/dist/scenarios.js +8 -4
- package/dist/scenarios.js.map +1 -1
- package/dist/schema.d.ts +32 -0
- package/dist/schema.js +225 -0
- package/dist/schema.js.map +1 -0
- package/dist/sdk.d.ts +34 -0
- package/dist/sdk.js +168 -0
- package/dist/sdk.js.map +1 -0
- package/dist/shared.d.ts +181 -5
- package/dist/shared.js +160 -7
- package/dist/shared.js.map +1 -1
- package/dist/sites.d.ts +52 -0
- package/dist/sites.js +174 -0
- package/dist/sites.js.map +1 -0
- package/dist/version.d.ts +3 -2
- package/dist/version.js +3 -2
- package/dist/version.js.map +1 -1
- package/dist/worker.d.ts +3 -2
- package/dist/worker.js +24 -4
- package/dist/worker.js.map +1 -1
- package/oxlint.json +7 -20
- package/package.json +8 -3
- package/src/approvals.ts +49 -13
- package/src/call-workflow.ts +44 -0
- package/src/call.ts +157 -45
- package/src/cedar.ts +493 -0
- package/src/client.ts +368 -37
- package/src/collection.ts +431 -0
- package/src/config.ts +131 -34
- package/src/constructors.ts +4 -0
- package/src/data.ts +10 -0
- package/src/datafile.ts +141 -21
- package/src/db.ts +90 -22
- package/src/define.ts +15 -10
- package/src/describe.ts +113 -10
- package/src/direct.ts +15 -0
- package/src/errors.ts +36 -1
- package/src/expectations.ts +17 -8
- package/src/fill.ts +15 -0
- package/src/index.ts +33 -2
- package/src/ledger.ts +35 -17
- package/src/lint.ts +29 -12
- package/src/op.ts +6 -0
- package/src/outline.ts +1 -1
- package/src/paths.ts +18 -3
- package/src/person.ts +75 -0
- package/src/plugin.ts +74 -5
- package/src/policy.ts +59 -63
- package/src/resource.ts +35 -8
- package/src/resources.ts +165 -24
- package/src/run.ts +18 -1
- package/src/scenario.ts +186 -57
- package/src/scenarios.ts +15 -8
- package/src/schema.ts +261 -0
- package/src/sdk.ts +211 -0
- package/src/shared.ts +271 -8
- package/src/sites.ts +220 -0
- package/src/version.ts +3 -2
- package/src/worker.ts +29 -6
package/dist/resources.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { type SanomaConfig } from "./config.ts";
|
|
2
1
|
import { type Binding, type Bindings } from "./lockfile.ts";
|
|
3
2
|
import { type Connector } from "./op.ts";
|
|
4
3
|
import type { Span } from "./outline.ts";
|
|
5
4
|
import { type Resource } from "./resource.ts";
|
|
5
|
+
import { Principal } from "./define.ts";
|
|
6
|
+
import { type PeopleResource } from "./shared.ts";
|
|
6
7
|
/** A resource a data file declares, as read from the file without running it. */
|
|
7
8
|
export interface DeclaredResource {
|
|
8
9
|
/** `<file>#<export>`, the file relative to the config's root, with `/`: `resources/identity/github.ts#website`. */
|
|
@@ -27,6 +28,21 @@ export interface DeclaredResource {
|
|
|
27
28
|
*/
|
|
28
29
|
refs: Record<string, string>;
|
|
29
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* A collection `resources/data.ts` declares, as read without running it: where it is, for the
|
|
33
|
+
* Resources page. Its fields are the collection's own (`describeConfig`'s `collections`), from
|
|
34
|
+
* the same file, which the runtime imports.
|
|
35
|
+
*/
|
|
36
|
+
export interface DeclaredCollection {
|
|
37
|
+
/** `<file>#<export>`, as a resource's: `resources/data.ts#outbound`. */
|
|
38
|
+
id: string;
|
|
39
|
+
/** `resources/data.ts`. */
|
|
40
|
+
file: string;
|
|
41
|
+
/** The collection's name, its operations' middle segment (`data.<name>.get`). */
|
|
42
|
+
name: string;
|
|
43
|
+
/** Its `export const` statement, as UTF-16 offsets into the file's text. */
|
|
44
|
+
span: Span;
|
|
45
|
+
}
|
|
30
46
|
/** Something wrong in the data files, or in finding them. */
|
|
31
47
|
export interface ResourceProblem {
|
|
32
48
|
/**
|
|
@@ -50,15 +66,45 @@ export interface DataFiles {
|
|
|
50
66
|
orphans: (Binding & {
|
|
51
67
|
key: string;
|
|
52
68
|
})[];
|
|
69
|
+
/** The collections `resources/data.ts` declares, in file order. */
|
|
70
|
+
collections: DeclaredCollection[];
|
|
53
71
|
/** By file, line and column. */
|
|
54
72
|
problems: ResourceProblem[];
|
|
55
73
|
}
|
|
74
|
+
/** What the data files declare of the people: the resources `principalOf` takes, and what is wrong in their files. */
|
|
75
|
+
export interface DeclaredPeople {
|
|
76
|
+
people: DeclaredResource[];
|
|
77
|
+
/**
|
|
78
|
+
* The problems in each file that declares (or tries to declare) a person, agent or group, and
|
|
79
|
+
* an id two of them share or one of the runtime's own agents (`RUNTIME_AGENTS`) takes. While
|
|
80
|
+
* there are any, nobody is admitted: a broken file never admits more than it says.
|
|
81
|
+
*/
|
|
82
|
+
problems: ResourceProblem[];
|
|
83
|
+
}
|
|
56
84
|
/**
|
|
57
|
-
* The
|
|
58
|
-
*
|
|
59
|
-
*
|
|
85
|
+
* The people, agents and groups the data files under `root` declare (`sanoma.person`, `.agent`,
|
|
86
|
+
* `.group`), read without running them, as `principalOf` takes them, with what is wrong in their
|
|
87
|
+
* files; none without a root. Read again only when a data file changed (by its size and time),
|
|
88
|
+
* so a new colleague is admitted once their file is saved, and a request costs a `stat` per file.
|
|
60
89
|
*/
|
|
61
|
-
export declare function
|
|
90
|
+
export declare function readPeople(root: string | undefined): DeclaredPeople;
|
|
91
|
+
/**
|
|
92
|
+
* Who `asking` is admitted as, by the people the data files declare (`readPeople`): the declared
|
|
93
|
+
* principal (`principalOf`) of the id it names, a person's or an agent's; for a sign-in
|
|
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.
|
|
97
|
+
*/
|
|
98
|
+
export declare function admit(asking: {
|
|
99
|
+
id?: string;
|
|
100
|
+
email?: string;
|
|
101
|
+
github?: string;
|
|
102
|
+
groups?: string[];
|
|
103
|
+
onBehalfOf?: string;
|
|
104
|
+
}, { people, problems }: {
|
|
105
|
+
people: readonly PeopleResource[];
|
|
106
|
+
problems: readonly ResourceProblem[];
|
|
107
|
+
}, signIn?: boolean): Principal;
|
|
62
108
|
/**
|
|
63
109
|
* Reads `resources/` under `root`, the config's directory: each `.ts` file in it but
|
|
64
110
|
* `*.test.ts`, `*.d.ts` and `node_modules`, parsed with oxc and held to the data-file subset
|
|
@@ -70,8 +116,14 @@ export declare function readResources(config: SanomaConfig): DeclaredResource[];
|
|
|
70
116
|
* type the connector does not declare, a value the type refuses (a reference where its type
|
|
71
117
|
* takes none among them), a reference cycle, and two resources of one type with one identity.
|
|
72
118
|
*
|
|
119
|
+
* The collections `resources/data.ts` declares are listed as they are read (`collections`),
|
|
120
|
+
* never matched to a connector, a resource type or the lockfile: the runtime imports that file.
|
|
121
|
+
*
|
|
73
122
|
* Each declaration is joined to its binding in the lockfile (`readLockfile`) by its key,
|
|
74
123
|
* `<file>#<export>`; a binding no export declares is an orphan. Problems: the lockfile's, a
|
|
75
124
|
* binding of another type than its declaration's, and two declarations bound to one object.
|
|
125
|
+
*
|
|
126
|
+
* `partial` reads part of the files: only those whose source it passes, and in them, an import of
|
|
127
|
+
* a connector not in `connectors`, or of a file left out, is left unread rather than reported.
|
|
76
128
|
*/
|
|
77
|
-
export declare function readDataFiles(root: string | undefined, connectors: readonly Connector<any, any>[], types?: ReadonlyMap<string, Resource
|
|
129
|
+
export declare function readDataFiles(root: string | undefined, connectors: readonly Connector<any, any>[], types?: ReadonlyMap<string, Resource>, partial?: (source: string) => boolean): DataFiles;
|
package/dist/resources.js
CHANGED
|
@@ -1,24 +1,99 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readFileSync, statSync } from "node:fs";
|
|
2
2
|
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
3
3
|
import { parsed } from "./ast.js";
|
|
4
|
-
import {
|
|
5
|
-
import { readDataFile, Reference } from "./datafile.js";
|
|
4
|
+
import { readDataFile, Reference, SECRET_ENTRIES, } from "./datafile.js";
|
|
6
5
|
import { LOCKFILE, readLockfile } from "./lockfile.js";
|
|
7
6
|
import { VENDOR } from "./op.js";
|
|
7
|
+
import { filesUnder } from "./paths.js";
|
|
8
|
+
import { peopleConnector } from "./person.js";
|
|
8
9
|
import { resourceTypesOf } from "./resource.js";
|
|
9
|
-
import {
|
|
10
|
+
import { Principal } from "./define.js";
|
|
11
|
+
import { NotAdmittedError } from "./errors.js";
|
|
12
|
+
import { AGENTS, declaresPeople, personOf, principalOf, problemLine, RUNTIME_AGENTS, } from "./shared.js";
|
|
13
|
+
/** A file that imports the runtime's constructors, `sanoma` (by any local name): the files `readPeople` reads. */
|
|
14
|
+
const DECLARES_PEOPLE = /\{[^}]*\bsanoma\b[^}]*\}\s*from\s*["'](?:sanoma|@sanoma-ai\/workflows)\/resources["']/;
|
|
15
|
+
/** The last read of the people under each root, by what its data files were then (`filesStamp`). */
|
|
16
|
+
const peopleRead = new Map();
|
|
17
|
+
/** Each data file under `root` with its size and modification time: unchanged while the files are. */
|
|
18
|
+
const filesStamp = (root) => dataFilesUnder(join(root, "resources"))
|
|
19
|
+
.map((path) => {
|
|
20
|
+
// Gone since it was listed (an editor's save by rename): stamped as such, and read next time.
|
|
21
|
+
const stat = statSync(path, { bigint: true, throwIfNoEntry: false });
|
|
22
|
+
return `${path} ${stat?.size} ${stat?.mtimeNs}`;
|
|
23
|
+
})
|
|
24
|
+
.join("\n");
|
|
10
25
|
/**
|
|
11
|
-
* The
|
|
12
|
-
*
|
|
13
|
-
*
|
|
26
|
+
* The people, agents and groups the data files under `root` declare (`sanoma.person`, `.agent`,
|
|
27
|
+
* `.group`), read without running them, as `principalOf` takes them, with what is wrong in their
|
|
28
|
+
* files; none without a root. Read again only when a data file changed (by its size and time),
|
|
29
|
+
* so a new colleague is admitted once their file is saved, and a request costs a `stat` per file.
|
|
14
30
|
*/
|
|
15
|
-
export function
|
|
16
|
-
|
|
31
|
+
export function readPeople(root) {
|
|
32
|
+
if (root === undefined)
|
|
33
|
+
return { people: [], problems: [] };
|
|
34
|
+
const stamp = filesStamp(root);
|
|
35
|
+
const cached = peopleRead.get(root);
|
|
36
|
+
if (cached?.stamp === stamp)
|
|
37
|
+
return cached.read;
|
|
38
|
+
const read = readDataFiles(root, [peopleConnector], undefined, (source) => DECLARES_PEOPLE.test(source));
|
|
39
|
+
const people = read.resources;
|
|
40
|
+
// The people are never bound, so the lockfile's problems are not theirs.
|
|
41
|
+
const own = read.problems.filter((p) => p.file !== LOCKFILE);
|
|
42
|
+
const ids = new Map();
|
|
43
|
+
for (const r of people) {
|
|
44
|
+
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
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const id = r.name;
|
|
54
|
+
const other = ids.get(id);
|
|
55
|
+
if (other || RUNTIME_AGENTS.includes(id)) {
|
|
56
|
+
own.push({
|
|
57
|
+
file: r.file,
|
|
58
|
+
message: other
|
|
59
|
+
? `${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`,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
ids.set(id, r);
|
|
64
|
+
}
|
|
65
|
+
const declared = { people, problems: own };
|
|
66
|
+
peopleRead.set(root, { stamp, read: declared });
|
|
67
|
+
return declared;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Who `asking` is admitted as, by the people the data files declare (`readPeople`): the declared
|
|
71
|
+
* principal (`principalOf`) of the id it names, a person's or an agent's; for a sign-in
|
|
72
|
+
* (`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.
|
|
75
|
+
*/
|
|
76
|
+
export function admit(asking, { people, problems }, signIn = false) {
|
|
77
|
+
const who = asking.github ?? asking.id ?? asking.email ?? "This sign-in";
|
|
17
78
|
if (problems.length) {
|
|
18
|
-
|
|
19
|
-
|
|
79
|
+
// The runtime's own agents are declared by no file, so a broken one does not stop them (`check`'s scenarios).
|
|
80
|
+
if (!signIn && asking.id !== undefined && RUNTIME_AGENTS.includes(asking.id)) {
|
|
81
|
+
return principalOf(asking.id, people);
|
|
82
|
+
}
|
|
83
|
+
throw new NotAdmittedError(who, problems.map(problemLine));
|
|
20
84
|
}
|
|
21
|
-
|
|
85
|
+
if (!declaresPeople(people)) {
|
|
86
|
+
const given = Principal.safeParse(asking).data;
|
|
87
|
+
if (given)
|
|
88
|
+
return given;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
const id = signIn ? personOf(asking, people) : asking.id;
|
|
92
|
+
const admitted = id === undefined ? undefined : principalOf(id, people);
|
|
93
|
+
if (admitted)
|
|
94
|
+
return admitted;
|
|
95
|
+
}
|
|
96
|
+
throw new NotAdmittedError(who);
|
|
22
97
|
}
|
|
23
98
|
/**
|
|
24
99
|
* Reads `resources/` under `root`, the config's directory: each `.ts` file in it but
|
|
@@ -31,24 +106,35 @@ export function readResources(config) {
|
|
|
31
106
|
* type the connector does not declare, a value the type refuses (a reference where its type
|
|
32
107
|
* takes none among them), a reference cycle, and two resources of one type with one identity.
|
|
33
108
|
*
|
|
109
|
+
* The collections `resources/data.ts` declares are listed as they are read (`collections`),
|
|
110
|
+
* never matched to a connector, a resource type or the lockfile: the runtime imports that file.
|
|
111
|
+
*
|
|
34
112
|
* Each declaration is joined to its binding in the lockfile (`readLockfile`) by its key,
|
|
35
113
|
* `<file>#<export>`; a binding no export declares is an orphan. Problems: the lockfile's, a
|
|
36
114
|
* binding of another type than its declaration's, and two declarations bound to one object.
|
|
115
|
+
*
|
|
116
|
+
* `partial` reads part of the files: only those whose source it passes, and in them, an import of
|
|
117
|
+
* a connector not in `connectors`, or of a file left out, is left unread rather than reported.
|
|
37
118
|
*/
|
|
38
|
-
export function readDataFiles(root, connectors, types = resourceTypesOf(connectors)) {
|
|
119
|
+
export function readDataFiles(root, connectors, types = resourceTypesOf(connectors), partial) {
|
|
39
120
|
const problems = [];
|
|
40
121
|
if (root === undefined) {
|
|
41
122
|
problems.push({
|
|
42
123
|
message: "The config has no root, so its data files cannot be found: make it with defineConfig, which records its file, or set its `root`",
|
|
43
124
|
});
|
|
44
|
-
return { resources: [], bindings: {}, orphans: [], problems };
|
|
125
|
+
return { resources: [], bindings: {}, orphans: [], collections: [], problems };
|
|
45
126
|
}
|
|
46
127
|
const lock = readLockfile(root);
|
|
47
128
|
problems.push(...lock.problems);
|
|
48
129
|
const files = new Map();
|
|
130
|
+
const left = new Set();
|
|
49
131
|
for (const path of dataFilesUnder(join(root, "resources"))) {
|
|
50
132
|
const rel = relative(root, path).split(sep).join("/");
|
|
51
133
|
const source = readFileSync(path, "utf8");
|
|
134
|
+
if (partial && !partial(source)) {
|
|
135
|
+
left.add(path);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
52
138
|
const { program, problems: syntax, at } = parsed(source, path);
|
|
53
139
|
const data = readDataFile(program, path, join(root, "resources"));
|
|
54
140
|
const problem = (offset, message) => problems.push({ file: rel, ...at(offset), message });
|
|
@@ -65,6 +151,10 @@ export function readDataFiles(root, connectors, types = resourceTypesOf(connecto
|
|
|
65
151
|
if (info?.package)
|
|
66
152
|
entries.set(`${info.package}/resources`, id);
|
|
67
153
|
}
|
|
154
|
+
// The runtime's own (`peopleConnector`, package `sanoma`) is imported from either name of its entry.
|
|
155
|
+
if (entries.get("sanoma/resources") === "sanoma")
|
|
156
|
+
for (const entry of SECRET_ENTRIES)
|
|
157
|
+
entries.set(entry, "sanoma");
|
|
68
158
|
// What each file's names stand for, and every resource read by its id.
|
|
69
159
|
const vendors = new Map();
|
|
70
160
|
const named = new Map();
|
|
@@ -75,6 +165,8 @@ export function readDataFiles(root, connectors, types = resourceTypesOf(connecto
|
|
|
75
165
|
for (const imp of file.data.imports) {
|
|
76
166
|
if (imp.kind === "constructors") {
|
|
77
167
|
const vendor = entries.get(imp.source);
|
|
168
|
+
if (vendor === undefined && partial)
|
|
169
|
+
continue;
|
|
78
170
|
if (vendor === undefined) {
|
|
79
171
|
file.problem(imp.start, `"${imp.source}" is not the resources entry of a connector in the config's \`connectors\`: add the connector, and import from its package's \`/resources\``);
|
|
80
172
|
}
|
|
@@ -86,7 +178,10 @@ export function readDataFiles(root, connectors, types = resourceTypesOf(connecto
|
|
|
86
178
|
}
|
|
87
179
|
continue;
|
|
88
180
|
}
|
|
89
|
-
const
|
|
181
|
+
const target = resolve(dirname(path), imp.source);
|
|
182
|
+
const other = files.get(target);
|
|
183
|
+
if (!other && left.has(target))
|
|
184
|
+
continue;
|
|
90
185
|
if (!other) {
|
|
91
186
|
file.problem(imp.start, `"${imp.source}" is not a data file under resources/`);
|
|
92
187
|
}
|
|
@@ -228,17 +323,15 @@ export function readDataFiles(root, connectors, types = resourceTypesOf(connecto
|
|
|
228
323
|
refs: result.refs,
|
|
229
324
|
});
|
|
230
325
|
}
|
|
326
|
+
const collections = [...files.values()].flatMap(({ rel, data }) => data.collections.map((c) => ({
|
|
327
|
+
id: `${rel}#${c.export}`,
|
|
328
|
+
file: rel,
|
|
329
|
+
name: c.name,
|
|
330
|
+
span: [c.start, c.end],
|
|
331
|
+
})));
|
|
231
332
|
problems.sort((a, b) => (a.file ?? "").localeCompare(b.file ?? "") || (a.line ?? 0) - (b.line ?? 0) || (a.column ?? 0) - (b.column ?? 0));
|
|
232
|
-
return { resources, bindings: lock.bindings, orphans, problems };
|
|
233
|
-
}
|
|
234
|
-
/** The data files under `dir`, sorted: regular `.ts` files, less tests, declarations and `node_modules`; none when `dir` is not a directory. */
|
|
235
|
-
function dataFilesUnder(dir) {
|
|
236
|
-
if (!statSync(dir, { throwIfNoEntry: false })?.isDirectory())
|
|
237
|
-
return [];
|
|
238
|
-
return readdirSync(dir, { recursive: true, withFileTypes: true })
|
|
239
|
-
.filter((d) => d.isFile() && d.name.endsWith(".ts") && !d.name.endsWith(".test.ts") && !d.name.endsWith(".d.ts"))
|
|
240
|
-
.map((d) => join(d.parentPath, d.name))
|
|
241
|
-
.filter((path) => !relative(dir, path).split(sep).includes("node_modules"))
|
|
242
|
-
.toSorted();
|
|
333
|
+
return { resources, bindings: lock.bindings, orphans, collections, problems };
|
|
243
334
|
}
|
|
335
|
+
/** The data files under `dir`, sorted: regular `.ts` files, less tests, declarations and `node_modules`. */
|
|
336
|
+
const dataFilesUnder = (dir) => filesUnder(dir, (name) => name.endsWith(".ts") && !name.endsWith(".test.ts") && !name.endsWith(".d.ts"));
|
|
244
337
|
//# sourceMappingURL=resources.js.map
|
package/dist/resources.js.map
CHANGED
|
@@ -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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"}
|
package/dist/run.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Collection } from "./collection.ts";
|
|
3
|
+
import type { ApprovalState, Approver, Principal, WorkflowDefinition } from "./define.ts";
|
|
3
4
|
import type { Fake } from "./fake.ts";
|
|
4
5
|
import type { LedgerStore } from "./ledger.ts";
|
|
5
6
|
import type { DriverFn, Op } from "./op.ts";
|
|
@@ -15,6 +16,17 @@ export interface RunArgs {
|
|
|
15
16
|
startedBy: Principal;
|
|
16
17
|
/** The scenario a sandbox run is seeded from; the run calls the fakes instead of the drivers. */
|
|
17
18
|
sandbox?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The policy's hold on the start (`workflow:<name>`), as `SanomaClient.start` was answered: the
|
|
21
|
+
* run waits for this approval before its body runs.
|
|
22
|
+
*/
|
|
23
|
+
hold?: StartHold;
|
|
24
|
+
}
|
|
25
|
+
/** A start the policy held: whom it asks, the approval's title, and the rules that held it. */
|
|
26
|
+
export interface StartHold {
|
|
27
|
+
approver: Approver;
|
|
28
|
+
title: string;
|
|
29
|
+
reasons?: string[];
|
|
18
30
|
}
|
|
19
31
|
/**
|
|
20
32
|
* What one `startWorker` call runs with. DBOS registrations are process-wide and outlive a
|
|
@@ -35,9 +47,13 @@ export interface WorkerState {
|
|
|
35
47
|
/** The worker's `source`, when it was given one. */
|
|
36
48
|
source?: Source;
|
|
37
49
|
types: ReadonlyMap<string, Resource>;
|
|
50
|
+
/** The collections, by name, which scenarios' steps may name (`data.<name>`). */
|
|
51
|
+
collections: ReadonlyMap<string, Collection>;
|
|
38
52
|
steps: readonly Steps[];
|
|
39
53
|
/** Its `version`, when it has one, is recorded with each of its decisions. */
|
|
40
54
|
policy: Policy;
|
|
55
|
+
/** The config's directory, whose data files declare the people an approval's decider is checked against (`readPeople`). */
|
|
56
|
+
root?: string;
|
|
41
57
|
ledger: LedgerStore;
|
|
42
58
|
/** The stored secrets, for a live run's drivers (`CallContext.secrets`). */
|
|
43
59
|
secrets: Secrets;
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAsHrD;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAO,CAAC"}
|
package/dist/scenario.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RunSummary, SanomaClient } from "./client.ts";
|
|
2
|
+
import type { Approver } from "./define.ts";
|
|
2
3
|
import type { ResolvedConfig } from "./config.ts";
|
|
3
4
|
import type { Fake } from "./fake.ts";
|
|
4
5
|
import type { LedgerRecord } from "./ledger.ts";
|
|
@@ -63,9 +64,11 @@ export interface Decision {
|
|
|
63
64
|
/**
|
|
64
65
|
* What the run should do: call an operation (with at least this input) or not, run the step
|
|
65
66
|
* `name`d in the workflow's outline or not, or a number of `times`, have the policy deny an
|
|
66
|
-
* operation (`denied
|
|
67
|
-
*
|
|
68
|
-
*
|
|
67
|
+
* operation (`denied`, for a `reason` when the step names one) or hold one for an approver
|
|
68
|
+
* (`held`: a person's id or a group's name, or `{ group }` a group's alone), end a certain way,
|
|
69
|
+
* for a drift run, report the resource `declared` (`<file>#<export>`) clean, gone, absent, or
|
|
70
|
+
* drifted in a field, or for an apply run, create it, or leave it bound to an object (`bound`,
|
|
71
|
+
* its vendor's id).
|
|
69
72
|
* A step whose own code checks the run (a connector's or the company's, or an operation's own
|
|
70
73
|
* test's) is `custom`, with what it is about.
|
|
71
74
|
*/
|
|
@@ -87,11 +90,12 @@ export type Expectation = {
|
|
|
87
90
|
step: string;
|
|
88
91
|
op: string;
|
|
89
92
|
decision: "denied";
|
|
93
|
+
reason?: string;
|
|
90
94
|
} | {
|
|
91
95
|
step: string;
|
|
92
96
|
op: string;
|
|
93
97
|
decision: "held";
|
|
94
|
-
approver:
|
|
98
|
+
approver: Approver;
|
|
95
99
|
} | {
|
|
96
100
|
step: string;
|
|
97
101
|
outcome: "finished" | "failed";
|
|
@@ -134,6 +138,8 @@ export interface Scenario {
|
|
|
134
138
|
text: string;
|
|
135
139
|
/** Every step in order, for a list and for marking graph nodes. */
|
|
136
140
|
steps: ScenarioStep[];
|
|
141
|
+
/** Who starts the run, by id, when a `Given <who> is acting` says: a declared person or agent. */
|
|
142
|
+
startedBy?: string;
|
|
137
143
|
given: Given[];
|
|
138
144
|
input: unknown;
|
|
139
145
|
decisions: Decision[];
|
|
@@ -152,10 +158,11 @@ export interface Check {
|
|
|
152
158
|
detail?: string;
|
|
153
159
|
}
|
|
154
160
|
/**
|
|
155
|
-
* What steps can name: the config's operations, workflows
|
|
156
|
-
* its connectors (and the company) ship,
|
|
161
|
+
* What steps can name: the config's operations, workflows, resource types and collections by id,
|
|
162
|
+
* the steps its connectors (and the company) ship, where the feature files are, and the root
|
|
163
|
+
* whose data files declare its people.
|
|
157
164
|
*/
|
|
158
|
-
export type Scope = Pick<ResolvedConfig, "ops" | "workflows" | "scenarios" | "types" | "steps">;
|
|
165
|
+
export type Scope = Pick<ResolvedConfig, "ops" | "workflows" | "scenarios" | "types" | "collections" | "steps" | "root">;
|
|
159
166
|
type Fault = Extract<Seed, {
|
|
160
167
|
fault: unknown;
|
|
161
168
|
}>["fault"];
|
|
@@ -178,8 +185,8 @@ export interface LoadedScenarios {
|
|
|
178
185
|
* compiled by Cucumber, with an error for each file that does not compile and each name used
|
|
179
186
|
* twice. No directory, or none given, is no scenarios. Rejects when an operation's phrase names
|
|
180
187
|
* a field it lacks. The files are compiled again only once one is added, removed or written
|
|
181
|
-
* (its name, `mtimeMs` or size changes)
|
|
182
|
-
* callers must not change.
|
|
188
|
+
* (its name, `mtimeMs` or size changes), or the people's data files change: until then each
|
|
189
|
+
* call returns the same object, which callers must not change.
|
|
183
190
|
*/
|
|
184
191
|
export declare function loadScenarios(scope: Scope): Promise<LoadedScenarios>;
|
|
185
192
|
/**
|