@sanoma-ai/workflows 0.11.12 → 0.11.14
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/CLOUD-IDENTITY.md +12 -4
- package/KMS-SECRETS.md +3 -1
- package/README.md +4 -2
- package/dist/bundled.d.ts +2 -2
- package/dist/chats.d.ts +3 -3
- package/dist/chats.js +34 -20
- package/dist/chats.js.map +1 -1
- package/dist/client.d.ts +17 -4
- package/dist/client.js +74 -63
- package/dist/client.js.map +1 -1
- package/dist/cloud-identity.js +14 -12
- package/dist/cloud-identity.js.map +1 -1
- package/dist/collection.d.ts +2 -2
- package/dist/collection.js +53 -42
- package/dist/collection.js.map +1 -1
- package/dist/config.d.ts +11 -6
- package/dist/config.js +15 -13
- package/dist/config.js.map +1 -1
- package/dist/connection.d.ts +2 -0
- package/dist/connection.js +112 -40
- package/dist/connection.js.map +1 -1
- package/dist/credentials.d.ts +1 -1
- package/dist/credentials.js +33 -29
- package/dist/credentials.js.map +1 -1
- package/dist/db/company.d.ts +1152 -0
- package/dist/db/company.js +118 -0
- package/dist/db/company.js.map +1 -0
- package/dist/db/dbos.d.ts +111 -0
- package/dist/db/dbos.js +15 -0
- package/dist/db/dbos.js.map +1 -0
- package/dist/db/identity.d.ts +367 -0
- package/dist/db/identity.js +48 -0
- package/dist/db/identity.js.map +1 -0
- package/dist/db/index.d.ts +7 -0
- package/dist/db/index.js +12 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/kms.d.ts +224 -0
- package/dist/db/kms.js +29 -0
- package/dist/db/kms.js.map +1 -0
- package/dist/db/migrate.d.ts +66 -0
- package/dist/db/migrate.js +39 -0
- package/dist/db/migrate.js.map +1 -0
- package/dist/db/wakeup.d.ts +271 -0
- package/dist/db/wakeup.js +34 -0
- package/dist/db/wakeup.js.map +1 -0
- package/dist/db.d.ts +42 -39
- package/dist/db.js +129 -169
- package/dist/db.js.map +1 -1
- package/dist/deadlines.js +8 -4
- package/dist/deadlines.js.map +1 -1
- package/dist/deployment-key.d.ts +4 -1
- package/dist/deployment-key.js +10 -3
- package/dist/deployment-key.js.map +1 -1
- package/dist/host-derive.d.ts +12 -3
- package/dist/host-derive.js +21 -8
- package/dist/host-derive.js.map +1 -1
- package/dist/identity-provisioning.d.ts +2 -2
- package/dist/identity-provisioning.js +75 -42
- package/dist/identity-provisioning.js.map +1 -1
- package/dist/identity-service.js +18 -15
- package/dist/identity-service.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kms-secrets.d.ts +9 -0
- package/dist/kms-secrets.js +59 -27
- package/dist/kms-secrets.js.map +1 -1
- package/dist/ledger.d.ts +1 -1
- package/dist/ledger.js +22 -14
- package/dist/ledger.js.map +1 -1
- package/dist/op.d.ts +27 -6
- package/dist/op.js.map +1 -1
- package/dist/run-status.js +7 -3
- package/dist/run-status.js.map +1 -1
- package/dist/schedules.d.ts +1 -1
- package/dist/schedules.js +5 -7
- package/dist/schedules.js.map +1 -1
- package/dist/schema.d.ts +6 -5
- package/dist/schema.js +11 -7
- package/dist/schema.js.map +1 -1
- package/dist/shared.d.ts +6 -23
- package/dist/shared.js +6 -5
- package/dist/shared.js.map +1 -1
- package/dist/storage-provisioning.d.ts +2 -0
- package/dist/storage-provisioning.js +51 -50
- package/dist/storage-provisioning.js.map +1 -1
- package/dist/tokens.d.ts +2 -2
- package/dist/tokens.js +31 -20
- package/dist/tokens.js.map +1 -1
- package/dist/version.d.ts +4 -4
- package/dist/version.js +5 -5
- package/dist/version.js.map +1 -1
- package/dist/wakeup-service.d.ts +0 -4
- package/dist/wakeup-service.js +102 -93
- package/dist/wakeup-service.js.map +1 -1
- package/dist/worker.d.ts +7 -0
- package/dist/worker.js +26 -21
- package/dist/worker.js.map +1 -1
- package/drizzle/company/0000_tables.sql +104 -0
- package/drizzle/company/0001_wakeup_row.sql +2 -0
- package/drizzle/company/meta/0000_snapshot.json +652 -0
- package/drizzle/company/meta/0001_snapshot.json +652 -0
- package/drizzle/company/meta/_journal.json +20 -0
- package/drizzle/wakeup/0000_tables.sql +26 -0
- package/drizzle/wakeup/meta/0000_snapshot.json +200 -0
- package/drizzle/wakeup/meta/_journal.json +13 -0
- package/oxlint.json +2 -1
- package/package.json +11 -2
- package/src/bundled.ts +2 -2
- package/src/chats.ts +41 -42
- package/src/client.ts +81 -64
- package/src/cloud-identity.ts +23 -24
- package/src/collection.ts +58 -50
- package/src/config.ts +29 -19
- package/src/connection.ts +132 -102
- package/src/credentials.ts +37 -33
- package/src/db/company.ts +173 -0
- package/src/db/dbos.ts +17 -0
- package/src/db/identity.ts +61 -0
- package/src/db/index.ts +12 -0
- package/src/db/kms.ts +41 -0
- package/src/db/migrate.ts +71 -0
- package/src/db/wakeup.ts +41 -0
- package/src/db.ts +151 -182
- package/src/deadlines.ts +10 -4
- package/src/deployment-key.ts +11 -3
- package/src/host-derive.ts +26 -9
- package/src/identity-provisioning.ts +85 -57
- package/src/identity-service.ts +19 -19
- package/src/index.ts +3 -0
- package/src/kms-secrets.ts +64 -56
- package/src/ledger.ts +23 -18
- package/src/op.ts +28 -6
- package/src/run-status.ts +7 -6
- package/src/schedules.ts +6 -8
- package/src/schema.ts +11 -8
- package/src/shared.ts +6 -17
- package/src/storage-provisioning.ts +47 -52
- package/src/tokens.ts +43 -33
- package/src/version.ts +5 -5
- package/src/wakeup-service.ts +117 -131
- package/src/worker.ts +38 -21
package/dist/config.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { configuredIdentityProvisioning, type IdentityProvisioning, type Identit
|
|
|
3
3
|
import { ConnectionRegistry, type ConnectionDefinition, type ConnectionRule } from "./connection.ts";
|
|
4
4
|
import { type SecretConfiguration } from "./secret-store.ts";
|
|
5
5
|
import { type Collection } from "./collection.ts";
|
|
6
|
-
import { type
|
|
6
|
+
import { type LazyDb } from "./db.ts";
|
|
7
7
|
import { type WorkflowDefinition } from "./define.ts";
|
|
8
8
|
import { type Fake } from "./fake.ts";
|
|
9
9
|
import type { LedgerStore } from "./ledger.ts";
|
|
@@ -103,7 +103,7 @@ export interface Login {
|
|
|
103
103
|
export interface ResolvedConfig {
|
|
104
104
|
secrets: SecretConfiguration;
|
|
105
105
|
connections: ConnectionRegistry;
|
|
106
|
-
|
|
106
|
+
connectionStore: LazyDb;
|
|
107
107
|
identityProvisioning: ReturnType<typeof configuredIdentityProvisioning>;
|
|
108
108
|
/**
|
|
109
109
|
* Scopes workflows, queues and versions in the system database: the `name` of
|
|
@@ -113,8 +113,11 @@ export interface ResolvedConfig {
|
|
|
113
113
|
databaseUrl: string;
|
|
114
114
|
/** The DBOS application version: `<appName>@<DBOS__APPVERSION, or a hash of the workflows>`. */
|
|
115
115
|
version: string;
|
|
116
|
-
/**
|
|
117
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Each built-in workflow's code hash (`builtInCodeOf`), by its name, which each of its runs carries:
|
|
118
|
+
* a worker on another version of the app takes over a run whose code is its own (`carryBuiltInRuns`).
|
|
119
|
+
*/
|
|
120
|
+
builtInCodes: Readonly<Record<string, string>>;
|
|
118
121
|
/** The DBOS queue runs are started on: `sanoma:<appName>`. */
|
|
119
122
|
queueName: string;
|
|
120
123
|
/** The config's `login`, checked (`checkLogin`); the built-in `login-code` workflow sends through its `sender`, from its `from`. */
|
|
@@ -135,6 +138,8 @@ export interface ResolvedConfig {
|
|
|
135
138
|
driversByVendor: Map<string, Driver>;
|
|
136
139
|
/** The makers of the fakes the connectors attach, by vendor id in `connectors` order: each sandbox run makes its own. */
|
|
137
140
|
fakes: Map<string, () => Fake<any, any>>;
|
|
141
|
+
/** The preparations the connectors attach (`ConnectorSetup.prepare`), by vendor id in `connectors` order: the worker runs each at its start. */
|
|
142
|
+
preparations: ReadonlyMap<string, NonNullable<ConnectorSetup["prepare"]>>;
|
|
138
143
|
/** The makers of the login halves the connectors attach, by vendor id in `connectors` order: the app makes one per public site that names it. */
|
|
139
144
|
logins: ReadonlyMap<string, NonNullable<ConnectorSetup["login"]>>;
|
|
140
145
|
/** The makers of the model halves the connectors attach, by vendor id in `connectors` order: the app makes each once for its model registry. */
|
|
@@ -164,11 +169,11 @@ export interface ResolvedConfig {
|
|
|
164
169
|
/** The config's collections, by name: their operations are in `ops` and `drivers`, their fake in `fakes`, under `DATA_VENDOR`. */
|
|
165
170
|
collections: ReadonlyMap<string, Collection>;
|
|
166
171
|
/**
|
|
167
|
-
* The
|
|
172
|
+
* The database the collections' driver keeps their records in, when there are any: opened on
|
|
168
173
|
* its first call, and closed by whoever calls the driver (the worker, and the client, which
|
|
169
174
|
* calls it directly, when each stops).
|
|
170
175
|
*/
|
|
171
|
-
dataStore?:
|
|
176
|
+
dataStore?: LazyDb;
|
|
172
177
|
/**
|
|
173
178
|
* By name; each checked against `ops` and `drivers`. The config's, the built-ins `drift`
|
|
174
179
|
* (`DRIFT_WORKFLOW`) and `apply` (`APPLY_WORKFLOW`) when its connectors declare resource types,
|
package/dist/config.js
CHANGED
|
@@ -18,7 +18,7 @@ import { changeDriver, changeOps, reservedFor } from "./change.js";
|
|
|
18
18
|
import { changeSteps } from "./change-steps.js";
|
|
19
19
|
import { changeWorkflow } from "./change-workflow.js";
|
|
20
20
|
import { collectionsConnector, collectionsDriver, collectionsFake, isCollection, } from "./collection.js";
|
|
21
|
-
import {
|
|
21
|
+
import { lazyDb } from "./db.js";
|
|
22
22
|
import { isDirectory, kindDirs, SCENARIOS_DIR } from "./paths.js";
|
|
23
23
|
import { callerFile } from "./define.js";
|
|
24
24
|
import { DRIFT_WORKFLOW, driftWorkflow } from "./drift.js";
|
|
@@ -36,7 +36,7 @@ import { appsListDriver, appsListOps } from "./apps-list.js";
|
|
|
36
36
|
import { runtimeDriver, sandboxRuntimeDriver, sanoma } from "./runtime-ops.js";
|
|
37
37
|
import { tokenStore } from "./tokens.js";
|
|
38
38
|
import { checkSchedule } from "./schedules.js";
|
|
39
|
-
import {
|
|
39
|
+
import { builtInCodeOf, computeVersion } from "./version.js";
|
|
40
40
|
import { readPeople } from "./resources.js";
|
|
41
41
|
import { checkWakeupOps, HOST_URL } from "./wakeup.js";
|
|
42
42
|
import { instanceUrl, WAKEUP_TOKEN } from "./wakeup-service.js";
|
|
@@ -116,11 +116,11 @@ export function resolveConfig(config) {
|
|
|
116
116
|
const hostTyped = [...types.values()].some((type) => type.host);
|
|
117
117
|
// Built-in: the collections' operations, `data.<name>.<op>`, on the config's database.
|
|
118
118
|
const databaseUrl = resolveDatabaseUrl(config);
|
|
119
|
-
const
|
|
119
|
+
const connectionStore = lazyDb(databaseUrl, "connections");
|
|
120
120
|
const identityProvisioning = configuredIdentityProvisioning(config.identityProvisioning);
|
|
121
|
-
const connections = new ConnectionRegistry(connectionCatalog(config.connectors, config.connections, config.connectionRules), () =>
|
|
121
|
+
const connections = new ConnectionRegistry(connectionCatalog(config.connectors, config.connections, config.connectionRules), () => connectionStore.db(), configuredSecrets(config.secrets ?? {}, () => connectionStore.db()));
|
|
122
122
|
const declared = [...collections.values()];
|
|
123
|
-
const dataStore = declared.length ?
|
|
123
|
+
const dataStore = declared.length ? lazyDb(databaseUrl, "data") : undefined;
|
|
124
124
|
// Built-in, in every config: a change's operations, which the template's policy names
|
|
125
125
|
// (`sanoma.change.merge`), the listing of apps a page may call (`sanoma.apps.list`), and what a
|
|
126
126
|
// workflow asks the runtime to do for it (`sanoma`, runtime-ops.ts).
|
|
@@ -144,9 +144,9 @@ export function resolveConfig(config) {
|
|
|
144
144
|
connectionDriver(connections),
|
|
145
145
|
appsListDriver,
|
|
146
146
|
runtimeDriver({
|
|
147
|
-
tokens: tokenStore(() =>
|
|
147
|
+
tokens: tokenStore(() => connectionStore.db()),
|
|
148
148
|
identities: identityProvisioning.store,
|
|
149
|
-
inspect: inspectRun(() =>
|
|
149
|
+
inspect: inspectRun(() => connectionStore.db(), appName),
|
|
150
150
|
}),
|
|
151
151
|
...(hostTyped ? [sourceDriver] : []),
|
|
152
152
|
...(dataStore ? [collectionsDriver(declared, dataStore)] : []),
|
|
@@ -206,20 +206,22 @@ export function resolveConfig(config) {
|
|
|
206
206
|
return {
|
|
207
207
|
secrets: config.secrets ?? {},
|
|
208
208
|
connections,
|
|
209
|
-
|
|
209
|
+
connectionStore,
|
|
210
210
|
identityProvisioning,
|
|
211
211
|
appName,
|
|
212
212
|
databaseUrl,
|
|
213
213
|
// The built-in's code and operations are part of the app's version, like the config's own. A
|
|
214
214
|
// bundle's code is not the source's: it carries the hashes of the root it was read from.
|
|
215
215
|
version: bundled?.version ?? computeVersion({ appName, workflows: [...names.values()] }),
|
|
216
|
-
|
|
216
|
+
builtInCodes: bundled?.builtInCodes ??
|
|
217
|
+
Object.fromEntries([...names.values()].filter((wf) => BUILT_IN_WORKFLOWS.has(wf.name)).map((wf) => [wf.name, builtInCodeOf(wf)])),
|
|
217
218
|
queueName: `sanoma:${appName}`,
|
|
218
219
|
...(login && { login }),
|
|
219
220
|
ops,
|
|
220
221
|
drivers,
|
|
221
222
|
driversByVendor,
|
|
222
223
|
fakes,
|
|
224
|
+
preparations: makersOf(config.connectors, "prepare"),
|
|
223
225
|
logins: makersOf(config.connectors, "login"),
|
|
224
226
|
models: makersOf(config.connectors, "model"),
|
|
225
227
|
remotes,
|
|
@@ -359,8 +361,8 @@ export function readRootSnapshot(config, resolved = resolveConfig(config)) {
|
|
|
359
361
|
const root = rootOf(config);
|
|
360
362
|
if (root === undefined)
|
|
361
363
|
throw new Error("A config with no root has no files to carry");
|
|
362
|
-
const { appName, version,
|
|
363
|
-
return { appName, version,
|
|
364
|
+
const { appName, version, builtInCodes } = resolved;
|
|
365
|
+
return { appName, version, builtInCodes, policies: readPolicyFiles(root), people: readPeople(root) };
|
|
364
366
|
}
|
|
365
367
|
/**
|
|
366
368
|
* The `name` of `<root>/package.json`, kept whole (`@acme/ops`), when that file exists and names
|
|
@@ -461,9 +463,9 @@ async function readDeclared(root, connectors, declarable, types, connections, op
|
|
|
461
463
|
const keep = new Set();
|
|
462
464
|
const leftOut = new Set();
|
|
463
465
|
if (root !== undefined) {
|
|
464
|
-
const { deriveHosts, hostFacts } = await import("./host-derive.js");
|
|
466
|
+
const { deriveHosts, hostFacts, hostRootFacts } = await import("./host-derive.js");
|
|
465
467
|
const facts = await hostFacts({
|
|
466
|
-
root,
|
|
468
|
+
rootFacts: () => hostRootFacts(root),
|
|
467
469
|
resources,
|
|
468
470
|
types,
|
|
469
471
|
drivers: options.drivers,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/connection.d.ts
CHANGED
|
@@ -119,6 +119,8 @@ export interface ConnectionCatalog {
|
|
|
119
119
|
methods: ReadonlyMap<string, Readonly<Record<string, Authentication>>>;
|
|
120
120
|
}
|
|
121
121
|
export declare function connectionCatalog(connectors: readonly Connector<any, any>[], definitions?: readonly ConnectionDefinition[], rules?: readonly ConnectionRule[]): ConnectionCatalog;
|
|
122
|
+
/** What a connection's row says of it, as `db/company.ts` declares it. */
|
|
123
|
+
export type ConnectionStatus = "connected" | "disconnected" | "pending" | "uncertain";
|
|
122
124
|
/** Persists account metadata only. Secret values are handled outside these operations. */
|
|
123
125
|
export declare class ConnectionRegistry {
|
|
124
126
|
readonly catalog: ConnectionCatalog;
|
package/dist/connection.js
CHANGED
|
@@ -5,6 +5,8 @@ import { setupOf, VENDOR, defineConnector, defineDriver } from "./op.js";
|
|
|
5
5
|
import { isSecret } from "./secret.js";
|
|
6
6
|
import { SanomaError } from "./errors.js";
|
|
7
7
|
import { SecretStoreError } from "./secret-store.js";
|
|
8
|
+
import { and, eq, getTableColumns, isNull, or, sql } from "drizzle-orm";
|
|
9
|
+
import { connectionHealth, connections, connectionSetups } from "./db/company.js";
|
|
8
10
|
const idPart = /^[a-z][a-z0-9-]{0,63}$/;
|
|
9
11
|
function refuse(message) {
|
|
10
12
|
throw new SanomaError("invalid_input", message);
|
|
@@ -164,7 +166,16 @@ export class ConnectionRegistry {
|
|
|
164
166
|
}
|
|
165
167
|
/** Safe card data only. Listing does not read credential values or contact a vendor. */
|
|
166
168
|
async cards(actor) {
|
|
167
|
-
const rows =
|
|
169
|
+
const rows = await (await this.db())
|
|
170
|
+
.select({
|
|
171
|
+
...getTableColumns(connections),
|
|
172
|
+
health: connectionHealth.health,
|
|
173
|
+
checkedAt: connectionHealth.checkedAt,
|
|
174
|
+
externallyRenewed: connectionHealth.externallyRenewed,
|
|
175
|
+
})
|
|
176
|
+
.from(connections)
|
|
177
|
+
.leftJoin(connectionHealth, and(eq(connections.id, connectionHealth.connectionId), eq(connections.revision, connectionHealth.revision)))
|
|
178
|
+
.where(or(isNull(connections.owner), eq(connections.owner, actor)));
|
|
168
179
|
const found = new Map(rows.map((r) => [r.id, r]));
|
|
169
180
|
const ids = new Set([...this.catalog.definitions.keys(), ...rows.filter((r) => r.rule).map((r) => r.id)]);
|
|
170
181
|
const cards = [];
|
|
@@ -198,14 +209,14 @@ export class ConnectionRegistry {
|
|
|
198
209
|
: row.status,
|
|
199
210
|
...(credential && this.secrets && { location: this.secrets.location(credential) }),
|
|
200
211
|
...(row?.location && { boundLocation: row.location }),
|
|
201
|
-
...(row?.
|
|
202
|
-
...(row?.
|
|
212
|
+
...(row?.updatedBy && { updatedBy: row.updatedBy }),
|
|
213
|
+
...(row?.updatedAt && { updatedAt: row.updatedAt.toISOString() }),
|
|
203
214
|
...(row?.health &&
|
|
204
|
-
row.
|
|
215
|
+
row.checkedAt && {
|
|
205
216
|
health: {
|
|
206
217
|
state: row.health,
|
|
207
|
-
checkedAt: row.
|
|
208
|
-
externallyRenewed: row.
|
|
218
|
+
checkedAt: row.checkedAt.toISOString(),
|
|
219
|
+
externallyRenewed: row.externallyRenewed ?? false,
|
|
209
220
|
},
|
|
210
221
|
}),
|
|
211
222
|
});
|
|
@@ -290,27 +301,72 @@ export class ConnectionRegistry {
|
|
|
290
301
|
return snapshot(row);
|
|
291
302
|
}
|
|
292
303
|
async uncertain(ref, revision, actor) {
|
|
293
|
-
await (await this.db())
|
|
304
|
+
await (await this.db())
|
|
305
|
+
.update(connections)
|
|
306
|
+
.set({ status: "uncertain", updatedBy: actor })
|
|
307
|
+
.where(and(eq(connections.id, ref.$connection), eq(connections.revision, revision), eq(connections.status, "pending")));
|
|
294
308
|
}
|
|
295
309
|
async storedVersion(id, revision) {
|
|
296
|
-
|
|
310
|
+
const [row] = await (await this.db())
|
|
311
|
+
.select({ credentialVersion: connectionSetups.credentialVersion })
|
|
312
|
+
.from(connectionSetups)
|
|
313
|
+
.where(and(eq(connectionSetups.connectionId, id), eq(connectionSetups.revision, revision)));
|
|
314
|
+
return row?.credentialVersion;
|
|
297
315
|
}
|
|
298
316
|
async recordStoredVersion(id, revision, version) {
|
|
299
|
-
|
|
317
|
+
const db = await this.db();
|
|
318
|
+
await db
|
|
319
|
+
.insert(connectionSetups)
|
|
320
|
+
.select(db
|
|
321
|
+
.select({
|
|
322
|
+
connectionId: connections.id,
|
|
323
|
+
revision: connections.revision,
|
|
324
|
+
credentialVersion: sql `${version}`.as("credential_version"),
|
|
325
|
+
})
|
|
326
|
+
.from(connections)
|
|
327
|
+
.where(and(eq(connections.id, id), eq(connections.revision, revision), eq(connections.status, "pending"))))
|
|
328
|
+
.onConflictDoNothing();
|
|
300
329
|
if ((await this.storedVersion(id, revision)) !== version)
|
|
301
330
|
throw new SecretStoreError("conflict");
|
|
302
331
|
}
|
|
303
332
|
async health(id, revision, state, version, external = false) {
|
|
304
|
-
const
|
|
333
|
+
const db = await this.db();
|
|
334
|
+
const [previous] = await db
|
|
335
|
+
.select({ credentialVersion: connectionHealth.credentialVersion })
|
|
336
|
+
.from(connectionHealth)
|
|
337
|
+
.where(and(eq(connectionHealth.connectionId, id), eq(connectionHealth.revision, revision)));
|
|
305
338
|
const renewed = external &&
|
|
306
|
-
previous?.
|
|
339
|
+
previous?.credentialVersion != null &&
|
|
307
340
|
version !== undefined &&
|
|
308
|
-
previous.
|
|
309
|
-
const
|
|
310
|
-
const checked =
|
|
341
|
+
previous.credentialVersion !== version;
|
|
342
|
+
const credentialVersion = version ?? previous?.credentialVersion ?? null;
|
|
343
|
+
const [checked] = await db
|
|
344
|
+
.insert(connectionHealth)
|
|
345
|
+
.select(db
|
|
346
|
+
.select({
|
|
347
|
+
connectionId: connections.id,
|
|
348
|
+
revision: connections.revision,
|
|
349
|
+
health: sql `${state}`.as("health"),
|
|
350
|
+
credentialVersion: sql `${credentialVersion}`.as("credential_version"),
|
|
351
|
+
externallyRenewed: sql `${renewed}`.as("externally_renewed"),
|
|
352
|
+
checkedAt: sql `now()`.as("checked_at"),
|
|
353
|
+
})
|
|
354
|
+
.from(connections)
|
|
355
|
+
.where(and(eq(connections.id, id), eq(connections.revision, revision))))
|
|
356
|
+
.onConflictDoUpdate({
|
|
357
|
+
target: connectionHealth.connectionId,
|
|
358
|
+
set: {
|
|
359
|
+
revision,
|
|
360
|
+
health: state,
|
|
361
|
+
credentialVersion,
|
|
362
|
+
externallyRenewed: renewed,
|
|
363
|
+
checkedAt: sql `now()`,
|
|
364
|
+
},
|
|
365
|
+
})
|
|
366
|
+
.returning({ checkedAt: connectionHealth.checkedAt });
|
|
311
367
|
if (!checked)
|
|
312
368
|
refuse("The connection changed during the test; reload before testing it again");
|
|
313
|
-
return { state, checkedAt: checked.
|
|
369
|
+
return { state, checkedAt: checked.checkedAt.toISOString(), externallyRenewed: renewed };
|
|
314
370
|
}
|
|
315
371
|
async test(ref, actor) {
|
|
316
372
|
const setup = await this.setup({ connection: ref }, actor, "test");
|
|
@@ -368,8 +424,12 @@ export class ConnectionRegistry {
|
|
|
368
424
|
if (JSON.stringify(identity.scopes) !== JSON.stringify([...new Set(row.scopes)].toSorted()))
|
|
369
425
|
throw new AuthenticationError("scope_changed");
|
|
370
426
|
const next = randomUUID();
|
|
371
|
-
const
|
|
372
|
-
|
|
427
|
+
const [activated] = await (await this.db())
|
|
428
|
+
.update(connections)
|
|
429
|
+
.set({ status: "connected", revision: next, updatedBy: actor.id })
|
|
430
|
+
.where(and(eq(connections.id, row.id), eq(connections.revision, revision)))
|
|
431
|
+
.returning({ id: connections.id });
|
|
432
|
+
if (!activated)
|
|
373
433
|
refuse("The connection changed; review it again before activating");
|
|
374
434
|
await this.health(row.id, next, "connected", bundle?.version);
|
|
375
435
|
return snapshot({ ...row, revision: next, status: "connected" });
|
|
@@ -397,7 +457,8 @@ export class ConnectionRegistry {
|
|
|
397
457
|
checkAuthenticationStore(method, caps, location.management);
|
|
398
458
|
}
|
|
399
459
|
async row(id) {
|
|
400
|
-
|
|
460
|
+
const [row] = await (await this.db()).select().from(connections).where(eq(connections.id, id));
|
|
461
|
+
return row;
|
|
401
462
|
}
|
|
402
463
|
async select(vendor, ref, actor) {
|
|
403
464
|
if (!ref) {
|
|
@@ -532,32 +593,43 @@ export class ConnectionRegistry {
|
|
|
532
593
|
if (row.rule && row.owner !== actor)
|
|
533
594
|
throw new SanomaError("policy_denied", "The connection belongs to another principal");
|
|
534
595
|
const revision = randomUUID();
|
|
535
|
-
const changed = await (await this.db())
|
|
536
|
-
|
|
596
|
+
const [changed] = await (await this.db())
|
|
597
|
+
.update(connections)
|
|
598
|
+
.set({ status: "disconnected", revision, updatedBy: actor })
|
|
599
|
+
.where(and(eq(connections.id, row.id), eq(connections.revision, expectedRevision)))
|
|
600
|
+
.returning({ id: connections.id });
|
|
601
|
+
if (!changed)
|
|
537
602
|
refuse("The connection changed; reload before disconnecting it");
|
|
538
603
|
return { id: row.id, revision, status: "disconnected" };
|
|
539
604
|
}
|
|
540
605
|
async save(row, expected, actor) {
|
|
541
|
-
const
|
|
542
|
-
|
|
543
|
-
row.vendor,
|
|
544
|
-
row.method,
|
|
545
|
-
row.owner,
|
|
546
|
-
row.rule,
|
|
547
|
-
row.account,
|
|
548
|
-
|
|
549
|
-
row.revision,
|
|
550
|
-
row.definition,
|
|
551
|
-
row.credential,
|
|
552
|
-
actor,
|
|
553
|
-
row.status,
|
|
554
|
-
row.credential && this.secrets ?
|
|
555
|
-
|
|
556
|
-
const
|
|
557
|
-
?
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
606
|
+
const db = await this.db();
|
|
607
|
+
const values = {
|
|
608
|
+
vendor: row.vendor,
|
|
609
|
+
method: row.method,
|
|
610
|
+
owner: row.owner,
|
|
611
|
+
rule: row.rule,
|
|
612
|
+
account: row.account,
|
|
613
|
+
scopes: row.scopes,
|
|
614
|
+
revision: row.revision,
|
|
615
|
+
definition: row.definition,
|
|
616
|
+
credential: row.credential,
|
|
617
|
+
updatedBy: actor,
|
|
618
|
+
status: row.status,
|
|
619
|
+
location: row.credential && this.secrets ? this.secrets.location(row.credential) : null,
|
|
620
|
+
};
|
|
621
|
+
const [saved] = expected === null
|
|
622
|
+
? await db
|
|
623
|
+
.insert(connections)
|
|
624
|
+
.values({ id: row.id, ...values })
|
|
625
|
+
.onConflictDoNothing()
|
|
626
|
+
.returning({ id: connections.id })
|
|
627
|
+
: await db
|
|
628
|
+
.update(connections)
|
|
629
|
+
.set(values)
|
|
630
|
+
.where(and(eq(connections.id, row.id), eq(connections.revision, expected)))
|
|
631
|
+
.returning({ id: connections.id });
|
|
632
|
+
if (!saved)
|
|
561
633
|
refuse("The connection changed; reload before binding it");
|
|
562
634
|
}
|
|
563
635
|
}
|