@substrat-run/control-plane-api 0.162.0 → 0.164.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +18 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +127 -21
- package/dist/api.js.map +1 -1
- package/dist/connection-binding-options.d.ts.map +1 -1
- package/dist/connection-binding-options.js +5 -1
- package/dist/connection-binding-options.js.map +1 -1
- package/dist/connection-relay.d.ts +26 -2
- package/dist/connection-relay.d.ts.map +1 -1
- package/dist/connection-relay.js +17 -4
- package/dist/connection-relay.js.map +1 -1
- package/dist/deploy.d.ts +1 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +1 -1
- package/dist/deploy.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/platform-drain.d.ts +9 -3
- package/dist/platform-drain.d.ts.map +1 -1
- package/dist/platform-drain.js +33 -6
- package/dist/platform-drain.js.map +1 -1
- package/dist/platform-entry.generated.d.ts +1 -1
- package/dist/platform-entry.generated.d.ts.map +1 -1
- package/dist/platform-entry.generated.js +2 -2
- package/dist/platform-entry.generated.js.map +1 -1
- package/dist/vertical-connectors.d.ts +102 -0
- package/dist/vertical-connectors.d.ts.map +1 -0
- package/dist/vertical-connectors.js +428 -0
- package/dist/vertical-connectors.js.map +1 -0
- package/dist/wire-readiness.d.ts +1 -0
- package/dist/wire-readiness.d.ts.map +1 -1
- package/dist/wire-readiness.js +5 -0
- package/dist/wire-readiness.js.map +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
import { CONNECTOR_DISPATCH_KIND_PREFIX, VERTICAL_CONNECTOR_BINDING_PREFIX, connectionProbe, connectorBindResult, connectorCallConnection, connectorCallResponse, CONNECTOR_CALL_STATE_MAX_BYTES, CONNECTOR_CALL_STATE_MAX_KEYS, connectorCallState, connectorDispatchPayload, connectorSweepResult, scopeId as scopeIdSchema, verticalConnectorBinding, verticalConnectorBindingKey, verticalConnectorStateKey, verticalConnectorStatePrefix, } from '@substrat-run/contracts';
|
|
2
|
+
import { isPrimaryScope, runningVersionOf } from '@substrat-run/kernel';
|
|
3
|
+
/** {@link VerticalConnectorReads} over a host's directory and registry, read as `actor`. */
|
|
4
|
+
export function verticalConnectorReadsOf(host, actor) {
|
|
5
|
+
return {
|
|
6
|
+
scope: (tenantId, scopeId) => host.admin.getScopeRecord(actor, tenantId, scopeId),
|
|
7
|
+
serving: async (vertical) => {
|
|
8
|
+
const serving = await host.admin.verticalServing(actor, vertical);
|
|
9
|
+
return serving ? { ref: serving.ref, versionId: serving.versionId } : null;
|
|
10
|
+
},
|
|
11
|
+
prodVersionId: async (vertical) => (await host.admin.listChannels(actor, vertical)).find((c) => c.channel === 'prod')?.versionId ?? null,
|
|
12
|
+
version: (vertical, versionId) => host.admin.getVersion(actor, versionId, vertical),
|
|
13
|
+
connectors: (vertical, versionId) => host.versionConnectors(vertical, versionId),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Which declaration a call runs and where it goes (§6.3, §6.4) — `VerticalConnectorDeps.resolve`.
|
|
18
|
+
* A scoped call runs the scope's RUNNING version (`runningVersionOf`) in the deployment that holds
|
|
19
|
+
* its data: its serving script, else that version's own. A connection-level call runs the
|
|
20
|
+
* vertical's serving version, else its prod channel's. The declaration is read off that version's
|
|
21
|
+
* stored manifest on every call, so a promote that drops a connector stops it at the next one; the
|
|
22
|
+
* hosts are that version's declared `outbound`.
|
|
23
|
+
*/
|
|
24
|
+
export async function resolveVerticalConnectorTarget(reads, { tenantId, vertical, scopeId, provider }) {
|
|
25
|
+
let versionId;
|
|
26
|
+
let deploymentRef = null;
|
|
27
|
+
if (scopeId) {
|
|
28
|
+
const scope = await reads.scope(tenantId, scopeId);
|
|
29
|
+
if (!scope || scope.vertical !== vertical)
|
|
30
|
+
return { refused: `scope ${scopeId} is not an install of '${vertical}' in tenant ${tenantId}` };
|
|
31
|
+
if (!isPrimaryScope(scope))
|
|
32
|
+
return { refused: `scope ${scopeId} is a preview or a fork, and those cause no outbound effects` };
|
|
33
|
+
// The serving pointer matters only to a scope on the serving script (`runningVersionOf`).
|
|
34
|
+
const serving = scope.servingRef ? await reads.serving(vertical) : null;
|
|
35
|
+
versionId = runningVersionOf(scope, serving);
|
|
36
|
+
deploymentRef = scope.servingRef ?? null;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const serving = await reads.serving(vertical);
|
|
40
|
+
if (serving) {
|
|
41
|
+
versionId = serving.versionId;
|
|
42
|
+
deploymentRef = serving.ref;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
versionId = await reads.prodVersionId(vertical);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (!versionId)
|
|
49
|
+
return { refused: `no version of '${vertical}' runs${scopeId ? ` for scope ${scopeId}` : ''}` };
|
|
50
|
+
const version = await reads.version(vertical, versionId);
|
|
51
|
+
if (!version)
|
|
52
|
+
return { refused: `version ${versionId} of '${vertical}' is not in the registry` };
|
|
53
|
+
deploymentRef ??= version.deploymentRef;
|
|
54
|
+
if (!deploymentRef)
|
|
55
|
+
return { refused: `version ${versionId} of '${vertical}' has no deployment` };
|
|
56
|
+
const fact = await reads.connectors(vertical, versionId);
|
|
57
|
+
if (fact.kind === 'unreadable')
|
|
58
|
+
return { refused: `the connectors version ${versionId} of '${vertical}' declares cannot be read: ${fact.reason}` };
|
|
59
|
+
const declaration = fact.kind === 'connectors' ? fact.rows.find((d) => d.provider === provider) : undefined;
|
|
60
|
+
if (!declaration)
|
|
61
|
+
return { refused: `version ${versionId} of '${vertical}' does not declare the connector '${provider}'` };
|
|
62
|
+
return { declaration, target: { deploymentRef, slug: vertical, tenantId, scopeId, hosts: version.outbound ?? [] } };
|
|
63
|
+
}
|
|
64
|
+
const message = (e) => (e instanceof Error ? e.message : String(e));
|
|
65
|
+
const USE_ERROR_MAX = 600;
|
|
66
|
+
/**
|
|
67
|
+
* The live credential for `row`, as a call carries it. Refused when the live connection for its
|
|
68
|
+
* (tenant, vertical, provider, account) is not `row` itself: the credential that is sent and the
|
|
69
|
+
* connection the call's uses and state are recorded against must be the same row.
|
|
70
|
+
*/
|
|
71
|
+
async function openFor(deps, row) {
|
|
72
|
+
const open = await deps.host.admin.openConnection(row.tenantId, row.vertical, row.provider, row.externalAccountRef ?? undefined);
|
|
73
|
+
if (!open)
|
|
74
|
+
throw new Error(`no live '${row.provider}' connection for tenant ${row.tenantId} / vertical '${row.vertical}'`);
|
|
75
|
+
if (open.id !== row.id) {
|
|
76
|
+
throw new Error(`connection ${row.id} is not the live '${row.provider}' connection for tenant ${row.tenantId} / vertical ` +
|
|
77
|
+
`'${row.vertical}' (that is ${open.id}): the credential sent and the connection recorded must be the same`);
|
|
78
|
+
}
|
|
79
|
+
for (const [key, value] of Object.entries(open.secret)) {
|
|
80
|
+
if (typeof value !== 'string') {
|
|
81
|
+
throw new Error(`the stored credential of connection ${row.id} holds a non-string value under '${key}'; a vertical-defined connector is handed strings only`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return connectorCallConnection.parse({
|
|
85
|
+
id: open.id,
|
|
86
|
+
tenantId: row.tenantId,
|
|
87
|
+
vertical: row.vertical,
|
|
88
|
+
provider: row.provider,
|
|
89
|
+
externalAccountRef: row.externalAccountRef,
|
|
90
|
+
expiresAt: open.expiresAt,
|
|
91
|
+
secret: open.secret,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/** The connector's state for one call — the connection's, or one scope's — without its storage prefix. */
|
|
95
|
+
async function stateOf(host, id, scopeId) {
|
|
96
|
+
const prefix = verticalConnectorStatePrefix(scopeId);
|
|
97
|
+
const rows = await host.admin.listConnectorState(id, prefix);
|
|
98
|
+
const parsed = connectorCallState.safeParse(rows.filter((r) => r.value !== null).map((r) => ({ key: r.key.slice(prefix.length), value: r.value })));
|
|
99
|
+
if (!parsed.success) {
|
|
100
|
+
throw new Error(`the connector state of ${scopeId === null ? 'the connection' : `scope ${scopeId}`} does not fit one call: ${parsed.error.issues[0]?.message ?? 'invalid'}`);
|
|
101
|
+
}
|
|
102
|
+
return parsed.data;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Make one call and apply its answer (§6.2, §6.3). A succeeded call's state writes land, then its
|
|
106
|
+
* recorded uses; a failed one's uses only, so a cursor never moves past work that did not land. A
|
|
107
|
+
* call that never produced an answer (a transport throw, a non-200, a body that is not a response)
|
|
108
|
+
* records one failed use and is reported retryable.
|
|
109
|
+
*/
|
|
110
|
+
async function applyConnectorCall(deps, connectionId, scopeId, target, request) {
|
|
111
|
+
const unanswered = async (error) => {
|
|
112
|
+
await deps.host.admin.recordConnectionUse(connectionId, { ok: false, error: error.slice(0, USE_ERROR_MAX) });
|
|
113
|
+
return { ok: false, refused: false, error };
|
|
114
|
+
};
|
|
115
|
+
let answer;
|
|
116
|
+
try {
|
|
117
|
+
answer = await deps.call(target, request);
|
|
118
|
+
}
|
|
119
|
+
catch (e) {
|
|
120
|
+
return unanswered(`the call into the vertical's connector did not complete: ${message(e)}`);
|
|
121
|
+
}
|
|
122
|
+
if (answer.status !== 200)
|
|
123
|
+
return unanswered(`the vertical's connector answered HTTP ${answer.status}`);
|
|
124
|
+
const parsed = connectorCallResponse.safeParse(answer.body);
|
|
125
|
+
if (!parsed.success)
|
|
126
|
+
return unanswered("the vertical's connector answered something that is not a connector-call response");
|
|
127
|
+
const response = parsed.data;
|
|
128
|
+
// The uses happened whatever becomes of the state, so every outcome records them; a succeeded
|
|
129
|
+
// call's state lands first.
|
|
130
|
+
const recordUses = async () => {
|
|
131
|
+
for (const use of response.uses)
|
|
132
|
+
await deps.host.admin.recordConnectionUse(connectionId, use);
|
|
133
|
+
};
|
|
134
|
+
if (!response.ok) {
|
|
135
|
+
await recordUses();
|
|
136
|
+
return { ok: false, refused: response.refused, error: response.error };
|
|
137
|
+
}
|
|
138
|
+
// The cap holds the TOTAL a later call carries, not only this call's writes: state that grew
|
|
139
|
+
// past it would refuse every later call, and the connector could never run to delete keys.
|
|
140
|
+
const over = response.state.length > 0 ? await stateCapAfter(deps.host, connectionId, scopeId, response.state) : null;
|
|
141
|
+
if (over) {
|
|
142
|
+
await recordUses();
|
|
143
|
+
return { ok: false, refused: false, error: over };
|
|
144
|
+
}
|
|
145
|
+
for (const w of response.state) {
|
|
146
|
+
await deps.host.admin.putConnectorState(connectionId, verticalConnectorStateKey(scopeId, w.key), w.value === undefined ? null : w.value);
|
|
147
|
+
}
|
|
148
|
+
await recordUses();
|
|
149
|
+
return { ok: true, result: response.result };
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Why `writes` may not land on the stored state of `scopeId` (null for the connection's own), or
|
|
153
|
+
* null when the merged state (stored, then the writes, a `null` deleting) fits one call's cap.
|
|
154
|
+
*/
|
|
155
|
+
async function stateCapAfter(host, id, scopeId, writes) {
|
|
156
|
+
const prefix = verticalConnectorStatePrefix(scopeId);
|
|
157
|
+
const merged = new Map();
|
|
158
|
+
for (const r of await host.admin.listConnectorState(id, prefix))
|
|
159
|
+
if (r.value !== null)
|
|
160
|
+
merged.set(r.key.slice(prefix.length), r.value);
|
|
161
|
+
for (const w of writes) {
|
|
162
|
+
if (w.value === null || w.value === undefined)
|
|
163
|
+
merged.delete(w.key);
|
|
164
|
+
else
|
|
165
|
+
merged.set(w.key, w.value);
|
|
166
|
+
}
|
|
167
|
+
const fits = connectorCallState.safeParse([...merged].map(([key, value]) => ({ key, value })));
|
|
168
|
+
if (fits.success)
|
|
169
|
+
return null;
|
|
170
|
+
return (`connector state would exceed what one call carries (${CONNECTOR_CALL_STATE_MAX_KEYS} keys, ${CONNECTOR_CALL_STATE_MAX_BYTES} bytes ` +
|
|
171
|
+
`serialised) with ${merged.size} keys: nothing was written; the connector must delete keys`);
|
|
172
|
+
}
|
|
173
|
+
/** The bindings the platform holds for a connection, tombstones and unreadable rows left out. */
|
|
174
|
+
async function storedBindings(host, id) {
|
|
175
|
+
const rows = await host.admin.listConnectorState(id, VERTICAL_CONNECTOR_BINDING_PREFIX);
|
|
176
|
+
return rows.flatMap((r) => {
|
|
177
|
+
if (r.value === null)
|
|
178
|
+
return [];
|
|
179
|
+
const b = verticalConnectorBinding.safeParse(r.value);
|
|
180
|
+
return b.success ? [b.data] : [];
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The poll floor for one vertical-defined connection: one call per bound scope, to that scope's own
|
|
185
|
+
* deployment, carrying that scope's state (§6.1). Built per connection, since the pass hands a
|
|
186
|
+
* sweeper only an id. Answers `{ found, failed, landed }`, which the pass reads
|
|
187
|
+
* (`connectorSweepAnswerOf`).
|
|
188
|
+
*/
|
|
189
|
+
export function verticalConnectorSweeper(deps, connection) {
|
|
190
|
+
return async (_host, connectionId) => {
|
|
191
|
+
if (connectionId !== connection.id)
|
|
192
|
+
throw new Error(`this sweeper was built for connection ${connection.id}, not ${connectionId}`);
|
|
193
|
+
const rows = (await deps.host.admin.listConnectorState(connection.id, VERTICAL_CONNECTOR_BINDING_PREFIX)).filter((r) => r.value !== null);
|
|
194
|
+
const failed = [];
|
|
195
|
+
let found = 0;
|
|
196
|
+
let landed = 0;
|
|
197
|
+
if (rows.length === 0)
|
|
198
|
+
return { found, failed, landed };
|
|
199
|
+
const opened = await openFor(deps, connection);
|
|
200
|
+
for (const row of rows) {
|
|
201
|
+
const scopeId = row.key.slice(VERTICAL_CONNECTOR_BINDING_PREFIX.length);
|
|
202
|
+
found += 1;
|
|
203
|
+
const binding = verticalConnectorBinding.safeParse(row.value);
|
|
204
|
+
if (!binding.success || binding.data.scopeId !== scopeId) {
|
|
205
|
+
failed.push({ scopeId, error: 'its stored binding does not read as one' });
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
try {
|
|
209
|
+
const resolved = await deps.resolve({ tenantId: connection.tenantId, vertical: connection.vertical, scopeId: binding.data.scopeId, provider: connection.provider });
|
|
210
|
+
if ('refused' in resolved) {
|
|
211
|
+
failed.push({ scopeId, error: resolved.refused });
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
if (!resolved.declaration.sweeps) {
|
|
215
|
+
// A connector with no sweep polls nothing; its binding is the dispatch's, not a poll's.
|
|
216
|
+
found -= 1;
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
const state = await stateOf(deps.host, connection.id, scopeId);
|
|
220
|
+
const outcome = await applyConnectorCall(deps, connection.id, scopeId, resolved.target, {
|
|
221
|
+
role: 'sweep',
|
|
222
|
+
provider: connection.provider,
|
|
223
|
+
connection: opened,
|
|
224
|
+
binding: binding.data,
|
|
225
|
+
state,
|
|
226
|
+
});
|
|
227
|
+
if (!outcome.ok) {
|
|
228
|
+
failed.push({ scopeId, error: outcome.error });
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
const result = connectorSweepResult.safeParse(outcome.result);
|
|
232
|
+
if (result.success)
|
|
233
|
+
landed += result.data.landed;
|
|
234
|
+
else
|
|
235
|
+
failed.push({ scopeId, error: 'the connector answered a sweep result that does not read as one' });
|
|
236
|
+
}
|
|
237
|
+
catch (e) {
|
|
238
|
+
failed.push({ scopeId, error: message(e) });
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return { found, failed, landed };
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Write `connection`'s binding to one scope (§6.1). Refused unless the scope's enforced tuples give
|
|
246
|
+
* the connection the binding's key; the connector's `bind` hook, when it declares one, normalises
|
|
247
|
+
* the options first, and a connector without one takes none.
|
|
248
|
+
*/
|
|
249
|
+
async function bindScope(deps, host, connection, target) {
|
|
250
|
+
const { tenantId, scopeId: rawScope, vertical, operation, permission, ...raw } = target;
|
|
251
|
+
if (tenantId !== connection.tenantId || vertical !== connection.vertical) {
|
|
252
|
+
throw new Error(`connection ${connection.id} belongs to tenant ${connection.tenantId} / vertical '${connection.vertical}', not to the scope's`);
|
|
253
|
+
}
|
|
254
|
+
const scopeId = scopeIdSchema.parse(rawScope);
|
|
255
|
+
const grants = await host.connectionGrantsInScope(connection.tenantId, scopeId);
|
|
256
|
+
if (!grants.some((g) => g.connectionId === connection.id && g.permission === permission)) {
|
|
257
|
+
throw new Error(`connection ${connection.id} does not hold '${permission}' on scope ${scopeId} — what it read could not land. ` +
|
|
258
|
+
'Grant it first (grantToConnection), then bind.');
|
|
259
|
+
}
|
|
260
|
+
const resolved = await deps.resolve({ tenantId: connection.tenantId, vertical: connection.vertical, scopeId, provider: connection.provider });
|
|
261
|
+
if ('refused' in resolved)
|
|
262
|
+
throw new Error(resolved.refused);
|
|
263
|
+
let options = raw;
|
|
264
|
+
if (resolved.declaration.binds) {
|
|
265
|
+
const outcome = await applyConnectorCall(deps, connection.id, scopeId, resolved.target, {
|
|
266
|
+
role: 'bind',
|
|
267
|
+
provider: connection.provider,
|
|
268
|
+
connection: await openFor(deps, connection),
|
|
269
|
+
scopeId,
|
|
270
|
+
options: raw,
|
|
271
|
+
});
|
|
272
|
+
if (!outcome.ok)
|
|
273
|
+
throw new Error(`the ${connection.provider} connector ${outcome.refused ? 'refused' : 'could not complete'} the binding: ${outcome.error}`);
|
|
274
|
+
const result = connectorBindResult.safeParse(outcome.result);
|
|
275
|
+
if (!result.success)
|
|
276
|
+
throw new Error(`the ${connection.provider} connector answered a binding that does not read as one`);
|
|
277
|
+
options = result.data.options;
|
|
278
|
+
}
|
|
279
|
+
else if (Object.keys(raw).length > 0) {
|
|
280
|
+
throw new Error(`'${connection.provider}' takes no binding options (its connector declares no bind); got ${Object.keys(raw).join(', ')}`);
|
|
281
|
+
}
|
|
282
|
+
const binding = verticalConnectorBinding.parse({ scopeId, operation, permission, options, declared: raw, boundAt: deps.now() });
|
|
283
|
+
await host.admin.putConnectorState(connection.id, verticalConnectorBindingKey(scopeId), binding);
|
|
284
|
+
return binding;
|
|
285
|
+
}
|
|
286
|
+
const LISTED_FIXED = new Set(['scopeId', 'operation', 'permission']);
|
|
287
|
+
/**
|
|
288
|
+
* The binder the landing pass binds a vertical-defined connection with (#2316). It lists each
|
|
289
|
+
* binding's DECLARED options, so the pass compares a declaration with what was declared, never with
|
|
290
|
+
* what the connector's `bind` hook normalised it to.
|
|
291
|
+
*/
|
|
292
|
+
export function verticalConnectorBinder(deps) {
|
|
293
|
+
return {
|
|
294
|
+
list: async (host, connection) => (await storedBindings(host, connection.id)).map((b) => ({ ...b.declared, scopeId: b.scopeId, operation: b.operation, permission: b.permission })),
|
|
295
|
+
bind: (host, connection, target) => bindScope(deps, host, connection, target),
|
|
296
|
+
// Validated at bind, by the connector. A current binding's options survive unless overridden.
|
|
297
|
+
options: (raw, current) => ({
|
|
298
|
+
...(current ? Object.fromEntries(Object.entries(current).filter(([k]) => !LISTED_FIXED.has(k))) : {}),
|
|
299
|
+
...(raw ?? {}),
|
|
300
|
+
}),
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
const probeFailure = (error, refused = false) => ({
|
|
304
|
+
ok: false,
|
|
305
|
+
refused,
|
|
306
|
+
accountRef: null,
|
|
307
|
+
accountLabel: null,
|
|
308
|
+
facts: [],
|
|
309
|
+
error: error.slice(0, USE_ERROR_MAX),
|
|
310
|
+
});
|
|
311
|
+
/** A probe call's outcome as the probe routes read it. */
|
|
312
|
+
function probeOf(outcome) {
|
|
313
|
+
if (!outcome.ok)
|
|
314
|
+
return probeFailure(outcome.error, outcome.refused);
|
|
315
|
+
const probe = connectionProbe.safeParse(outcome.result);
|
|
316
|
+
return probe.success ? probe.data : probeFailure('the connector answered a probe that does not read as one');
|
|
317
|
+
}
|
|
318
|
+
function scopeBindingOf(connection, b) {
|
|
319
|
+
return {
|
|
320
|
+
...b.options,
|
|
321
|
+
operation: b.operation,
|
|
322
|
+
permission: b.permission,
|
|
323
|
+
tenantId: connection.tenantId,
|
|
324
|
+
scopeId: b.scopeId,
|
|
325
|
+
vertical: connection.vertical,
|
|
326
|
+
boundAt: b.boundAt,
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* What the inspection routes and the relay's connect-time gate ask of a vertical-defined provider,
|
|
331
|
+
* for one (tenant, vertical). `activity`, `credential` and `certificate` are absent, so those
|
|
332
|
+
* routes keep answering 501 / 404 for such a connection.
|
|
333
|
+
*/
|
|
334
|
+
export function verticalConnectorInspector(deps, provider, context) {
|
|
335
|
+
return {
|
|
336
|
+
// A probe that cannot run is an answer the verify route shows, never a 500.
|
|
337
|
+
probe: async (host, connection) => {
|
|
338
|
+
try {
|
|
339
|
+
const resolved = await deps.resolve({ tenantId: connection.tenantId, vertical: connection.vertical, scopeId: null, provider: connection.provider });
|
|
340
|
+
if ('refused' in resolved)
|
|
341
|
+
return probeFailure(resolved.refused);
|
|
342
|
+
const opened = await openFor(deps, connection);
|
|
343
|
+
const state = await stateOf(host, connection.id, null);
|
|
344
|
+
return probeOf(await applyConnectorCall(deps, connection.id, null, resolved.target, { role: 'probe', provider: connection.provider, connection: opened, state }));
|
|
345
|
+
}
|
|
346
|
+
catch (e) {
|
|
347
|
+
return probeFailure(`the probe could not run: ${message(e)}`);
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
// To the vertical's serving deployment (§6.3), so not the asking scope's. No connection exists
|
|
351
|
+
// yet, so nothing is recorded and no state is applied.
|
|
352
|
+
probeCandidate: async (secret) => {
|
|
353
|
+
const resolved = await deps.resolve({ tenantId: context.tenantId, vertical: context.vertical, scopeId: null, provider });
|
|
354
|
+
if ('refused' in resolved)
|
|
355
|
+
return probeFailure(resolved.refused);
|
|
356
|
+
let answer;
|
|
357
|
+
try {
|
|
358
|
+
answer = await deps.call(resolved.target, { role: 'probe-candidate', provider, secret });
|
|
359
|
+
}
|
|
360
|
+
catch (e) {
|
|
361
|
+
return probeFailure(`the call into the vertical's connector did not complete: ${message(e)}`);
|
|
362
|
+
}
|
|
363
|
+
if (answer.status !== 200)
|
|
364
|
+
return probeFailure(`the vertical's connector answered HTTP ${answer.status}`);
|
|
365
|
+
const parsed = connectorCallResponse.safeParse(answer.body);
|
|
366
|
+
if (!parsed.success)
|
|
367
|
+
return probeFailure("the vertical's connector answered something that is not a connector-call response");
|
|
368
|
+
const r = parsed.data;
|
|
369
|
+
return probeOf(r.ok ? { ok: true, result: r.result } : { ok: false, refused: r.refused, error: r.error });
|
|
370
|
+
},
|
|
371
|
+
bindScope: async (host, connection, target) => scopeBindingOf(connection, await bindScope(deps, host, connection, target)),
|
|
372
|
+
bindings: async (host, connection) => (await storedBindings(host, connection.id)).map((b) => scopeBindingOf(connection, b)),
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* The `connector:<namespace>.<name>` handler: one routed event, dispatched into the drained scope's
|
|
377
|
+
* own deployment with that scope's binding (or none) and state. Expressed as
|
|
378
|
+
* `connectorDispatchHandler` expresses its outcomes: a refusal settles `failed`, anything retryable
|
|
379
|
+
* throws (the drain settles it `pending`), and a delivered event is `done`.
|
|
380
|
+
*/
|
|
381
|
+
export function verticalConnectorDispatchHandler(deps) {
|
|
382
|
+
return async (ctx, request) => {
|
|
383
|
+
const provider = request.kind.slice(CONNECTOR_DISPATCH_KIND_PREFIX.length);
|
|
384
|
+
const payload = connectorDispatchPayload.parse(request.payload);
|
|
385
|
+
if (payload.event.tenantId !== ctx.tenantId || payload.event.scopeId !== ctx.scopeId) {
|
|
386
|
+
return {
|
|
387
|
+
status: 'failed',
|
|
388
|
+
error: `routed event ${payload.event.id} is stamped (${payload.event.tenantId}, ${payload.event.scopeId}), ` +
|
|
389
|
+
`which is not the drained scope (${ctx.tenantId}, ${ctx.scopeId})`,
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
const rows = await deps.host.admin.listConnections(deps.actor, { tenantId: ctx.tenantId, vertical: ctx.vertical, provider });
|
|
393
|
+
if (rows.length !== 1) {
|
|
394
|
+
throw new Error(rows.length === 0
|
|
395
|
+
? `no live '${provider}' connection for tenant ${ctx.tenantId} / vertical '${ctx.vertical}'`
|
|
396
|
+
: `tenant ${ctx.tenantId} holds ${rows.length} live '${provider}' connections for vertical '${ctx.vertical}'; a routed event names none of them`);
|
|
397
|
+
}
|
|
398
|
+
const row = rows[0];
|
|
399
|
+
const resolved = await deps.resolve({ tenantId: ctx.tenantId, vertical: ctx.vertical, scopeId: ctx.scopeId, provider });
|
|
400
|
+
if ('refused' in resolved)
|
|
401
|
+
throw new Error(resolved.refused);
|
|
402
|
+
const opened = await openFor(deps, row);
|
|
403
|
+
const stored = await deps.host.admin.getConnectorState(row.id, verticalConnectorBindingKey(ctx.scopeId));
|
|
404
|
+
let binding = null;
|
|
405
|
+
if (stored !== undefined && stored !== null) {
|
|
406
|
+
const parsed = verticalConnectorBinding.safeParse(stored);
|
|
407
|
+
if (!parsed.success)
|
|
408
|
+
throw new Error(`the stored binding of connection ${row.id} to scope ${ctx.scopeId} does not read as one`);
|
|
409
|
+
binding = parsed.data;
|
|
410
|
+
}
|
|
411
|
+
const state = await stateOf(deps.host, row.id, ctx.scopeId);
|
|
412
|
+
const outcome = await applyConnectorCall(deps, row.id, ctx.scopeId, resolved.target, {
|
|
413
|
+
role: 'dispatch',
|
|
414
|
+
provider,
|
|
415
|
+
connection: opened,
|
|
416
|
+
scopeId: ctx.scopeId,
|
|
417
|
+
binding,
|
|
418
|
+
event: payload.event,
|
|
419
|
+
state,
|
|
420
|
+
});
|
|
421
|
+
if (outcome.ok)
|
|
422
|
+
return { status: 'done', result: { eventId: payload.event.id } };
|
|
423
|
+
if (outcome.refused)
|
|
424
|
+
return { status: 'failed', error: `the ${provider} connector refused event ${payload.event.id}: ${outcome.error}` };
|
|
425
|
+
throw new Error(outcome.error);
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
//# sourceMappingURL=vertical-connectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-connectors.js","sourceRoot":"","sources":["../src/vertical-connectors.ts"],"names":[],"mappings":"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"}
|
package/dist/wire-readiness.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ export interface WireReadinessReport {
|
|
|
100
100
|
/** The fixed sentences, in one place, so every copy reads the same. */
|
|
101
101
|
export declare const WIRE_READINESS_REASONS: {
|
|
102
102
|
readonly counters: 'the cutover counters (no legacy acceptance, no dual-mismatch, no fault, no refusal outside client noise) are not read by this report yet, nor is a version whose default export has no fetch, which only the counters show';
|
|
103
|
+
readonly nonceStore: 'replay protection (the nonce store) is not present on a vertical-host or adapter before this version, and no record says which versions carry it, so a version without it, which cannot accept a signed call that changes state in signed-only, is shown only by the counters';
|
|
103
104
|
readonly notSignedOnly: 'no environment is signed-only: every upload and every walk gives dual';
|
|
104
105
|
readonly upChannel: 'the up-channel removals (step 6) are not recorded per version, so no version is shown to make no up-call with the shared credential';
|
|
105
106
|
readonly perDeployment: 'no version carries per-deployment values for its legacy checks (Q10), so a version never rebuilt still needs the shared credential';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire-readiness.d.ts","sourceRoot":"","sources":["../src/wire-readiness.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wire-readiness.d.ts","sourceRoot":"","sources":["../src/wire-readiness.ts"],"names":[],"mappings":"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"}
|
package/dist/wire-readiness.js
CHANGED
|
@@ -37,6 +37,7 @@ export const WIRE_READINESS_AS_OF = 'the answer is as of each record’s recorde
|
|
|
37
37
|
/** The fixed sentences, in one place, so every copy reads the same. */
|
|
38
38
|
export const WIRE_READINESS_REASONS = {
|
|
39
39
|
counters: 'the cutover counters (no legacy acceptance, no dual-mismatch, no fault, no refusal outside client noise) are not read by this report yet, nor is a version whose default export has no fetch, which only the counters show',
|
|
40
|
+
nonceStore: 'replay protection (the nonce store) is not present on a vertical-host or adapter before this version, and no record says which versions carry it, so a version without it, which cannot accept a signed call that changes state in signed-only, is shown only by the counters',
|
|
40
41
|
notSignedOnly: 'no environment is signed-only: every upload and every walk gives dual',
|
|
41
42
|
upChannel: 'the up-channel removals (step 6) are not recorded per version, so no version is shown to make no up-call with the shared credential',
|
|
42
43
|
perDeployment: 'no version carries per-deployment values for its legacy checks (Q10), so a version never rebuilt still needs the shared credential',
|
|
@@ -143,6 +144,10 @@ export async function wireReadinessReport(deps, input) {
|
|
|
143
144
|
const signedOnly = [
|
|
144
145
|
...WIRE_UNSIGNED_ROUTES.map((r) => ({ kind: 'standing', reason: `${r.method} ${r.path}: ${r.reason}` })),
|
|
145
146
|
{ kind: 'standing', reason: R.counters },
|
|
147
|
+
// RFC wire-signing §4: in signed-only a version with no nonce store answers every signed call
|
|
148
|
+
// that changes state with the fault, and the counters see only versions that had such a call in
|
|
149
|
+
// the window. Standing until a record can say which versions carry the store.
|
|
150
|
+
{ kind: 'standing', reason: R.nonceStore },
|
|
146
151
|
];
|
|
147
152
|
const drop = input.keyDrop ? [] : undefined;
|
|
148
153
|
const settingsBlocker = refused ? { kind: 'settings', reason: `the control plane’s wire settings are refused (${refused.withheld}): ${refused.reason}` } : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire-readiness.js","sourceRoot":"","sources":["../src/wire-readiness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wire-readiness.js","sourceRoot":"","sources":["../src/wire-readiness.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/control-plane-api",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.164.0",
|
|
4
4
|
"description": "HTTP surface over HostAdmin — the audited control-plane transport (control-plane.md §4.5)",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"hono": "^4.13.13",
|
|
30
|
-
"@substrat-run/contracts": "^0.
|
|
31
|
-
"@substrat-run/
|
|
32
|
-
"@substrat-run/
|
|
33
|
-
"@substrat-run/
|
|
30
|
+
"@substrat-run/contracts": "^0.164.0",
|
|
31
|
+
"@substrat-run/control-plane-client": "^0.3.15",
|
|
32
|
+
"@substrat-run/kernel": "^0.164.0",
|
|
33
|
+
"@substrat-run/psl": "^0.2.5"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@hono/node-server": "^1.13.0",
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"tsx": "^4.19.0",
|
|
44
44
|
"typescript": "^7.0.0",
|
|
45
45
|
"vitest": "^5.0.5",
|
|
46
|
-
"@substrat-run/
|
|
47
|
-
"@substrat-run/
|
|
48
|
-
"@substrat-run/connector-
|
|
49
|
-
"@substrat-run/vertical-host": "^0.
|
|
46
|
+
"@substrat-run/adapter-sqlite": "^0.164.0",
|
|
47
|
+
"@substrat-run/connector-planima": "^0.2.61",
|
|
48
|
+
"@substrat-run/connector-fortnox": "^0.4.66",
|
|
49
|
+
"@substrat-run/vertical-host": "^0.164.0"
|
|
50
50
|
},
|
|
51
51
|
"publishConfig": {
|
|
52
52
|
"access": "public"
|