@substrat-run/control-plane-api 0.175.0 → 0.177.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 +11 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +408 -59
- package/dist/api.js.map +1 -1
- package/dist/backups.d.ts +51 -9
- package/dist/backups.d.ts.map +1 -1
- package/dist/backups.js +3 -0
- package/dist/backups.js.map +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/builder-turns.d.ts +16 -0
- package/dist/builder-turns.d.ts.map +1 -0
- package/dist/builder-turns.js +43 -0
- package/dist/builder-turns.js.map +1 -0
- package/dist/connection-binding-options.d.ts +14 -0
- package/dist/connection-binding-options.d.ts.map +1 -1
- package/dist/connection-binding-options.js +37 -1
- package/dist/connection-binding-options.js.map +1 -1
- package/dist/connection-binding-relay.d.ts +28 -1
- package/dist/connection-binding-relay.d.ts.map +1 -1
- package/dist/connection-binding-relay.js +92 -4
- package/dist/connection-binding-relay.js.map +1 -1
- package/dist/connection-relay.d.ts +2 -2
- package/dist/connection-relay.d.ts.map +1 -1
- package/dist/connection-relay.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/mask.d.ts.map +1 -1
- package/dist/mask.js +3 -1
- package/dist/mask.js.map +1 -1
- package/dist/migration-extract.d.ts +92 -0
- package/dist/migration-extract.d.ts.map +1 -0
- package/dist/migration-extract.js +217 -0
- package/dist/migration-extract.js.map +1 -0
- package/dist/platform-entry.d.ts +2 -0
- package/dist/platform-entry.d.ts.map +1 -1
- package/dist/platform-entry.js +2 -1
- package/dist/platform-entry.js.map +1 -1
- package/dist/platform-scope-stores.d.ts +9 -11
- package/dist/platform-scope-stores.d.ts.map +1 -1
- package/dist/platform-scope-stores.js +34 -19
- package/dist/platform-scope-stores.js.map +1 -1
- package/dist/r2-backups.d.ts +8 -5
- package/dist/r2-backups.d.ts.map +1 -1
- package/dist/r2-backups.js +109 -36
- package/dist/r2-backups.js.map +1 -1
- package/dist/seal.d.ts +5 -2
- package/dist/seal.d.ts.map +1 -1
- package/dist/seal.js +3 -0
- package/dist/seal.js.map +1 -1
- package/dist/staff-client.d.ts +10 -1
- package/dist/staff-client.d.ts.map +1 -1
- package/dist/staff-client.js +4 -2
- package/dist/staff-client.js.map +1 -1
- package/dist/store-entry.generated.d.ts +7 -2
- package/dist/store-entry.generated.d.ts.map +1 -1
- package/dist/store-entry.generated.js +10 -5
- package/dist/store-entry.generated.js.map +1 -1
- package/dist/vertical-client.d.ts +8 -1
- package/dist/vertical-client.d.ts.map +1 -1
- package/dist/vertical-client.js +21 -3
- package/dist/vertical-client.js.map +1 -1
- package/package.json +9 -9
package/dist/backups.d.ts
CHANGED
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
* clearing. A dump leaves the deployment entirely, and `POST …/restore` already loads one
|
|
15
15
|
* back, so export→store→restore is the round trip that actually closes.
|
|
16
16
|
*
|
|
17
|
+
* A backup is written a page at a time (#2839), as a paged copy moves a scope (#2450): a scope
|
|
18
|
+
* past one Durable Object RPC (32 MiB) or one isolate cannot be read, held or stored whole.
|
|
19
|
+
*
|
|
17
20
|
* Provider-neutral by the same posture as `ObservabilityReader` and `DeployVerticalFn`:
|
|
18
21
|
* the contract lives here, an implementation lives in its own module (`r2-backups.ts` for
|
|
19
22
|
* Cloudflare R2), and the host injects one. A backup is addressed by (tenant, scope,
|
|
@@ -26,28 +29,67 @@
|
|
|
26
29
|
* §6 governed pull: the bytes go platform→platform and are never handed to a caller, which
|
|
27
30
|
* is why the export route's masking default does not apply here.
|
|
28
31
|
*/
|
|
29
|
-
import type { DirectoryBackup, DirectoryDump, ScopeBackup, ScopeDump } from '@substrat-run/contracts';
|
|
32
|
+
import type { DirectoryBackup, DirectoryDump, ScopeBackup, ScopeDump, ScopeDumpChange, ScopeDumpPageTable } from '@substrat-run/contracts';
|
|
30
33
|
export type { ScopeBackup, DirectoryBackup };
|
|
31
|
-
|
|
34
|
+
/** A dump without its tables: what a backup holds beside its entries. */
|
|
35
|
+
export type ScopeDumpHeader = Omit<ScopeDump, 'tables'>;
|
|
36
|
+
/**
|
|
37
|
+
* One stored part of a backup (#2839): a page of the scope's export, or a batch of the writes
|
|
38
|
+
* the scope took while its pages were read. Read in order, the entries are the dump, exactly as
|
|
39
|
+
* a paged copy stages it (#2450), so no single call or object ever holds the whole scope.
|
|
40
|
+
*/
|
|
41
|
+
export type ScopeBackupEntry = {
|
|
42
|
+
kind: 'page';
|
|
43
|
+
tables: ScopeDumpPageTable[];
|
|
44
|
+
} | {
|
|
45
|
+
kind: 'changes';
|
|
46
|
+
tables: ScopeDumpChange[];
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* A held backup as a restore reads it: its header, how many entries hold its tables, and each
|
|
50
|
+
* entry, read in the order it was written.
|
|
51
|
+
*/
|
|
52
|
+
export interface StoredScopeBackup {
|
|
53
|
+
header: ScopeDumpHeader;
|
|
54
|
+
entries: number;
|
|
55
|
+
entry(index: number): Promise<ScopeBackupEntry>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* One backup being written. Entries are written under a stage, the copy's attempt: a copy that
|
|
59
|
+
* starts again discards its stage and writes the next one. Nothing is a backup until `commit`.
|
|
60
|
+
*/
|
|
61
|
+
export interface ScopeBackupWriter {
|
|
62
|
+
/** Store entry `seq` of `stageId`. Writing the same one again replaces it. */
|
|
63
|
+
put(stageId: string, seq: number, entry: ScopeBackupEntry): Promise<void>;
|
|
64
|
+
/** Drop a stage's entries. Best effort: retention reaches whatever is left. */
|
|
65
|
+
discard(stageId: string): Promise<void>;
|
|
32
66
|
/**
|
|
33
|
-
*
|
|
34
|
-
* returns: the reap's whole guarantee is that this resolved before any byte was wiped.
|
|
67
|
+
* Make the stage's first `entries` entries the backup, and return its metadata. Durable before
|
|
68
|
+
* it returns: the reap's whole guarantee is that this resolved before any byte was wiped.
|
|
35
69
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
70
|
+
commit(input: {
|
|
71
|
+
stageId: string;
|
|
72
|
+
entries: number;
|
|
73
|
+
tables: number;
|
|
39
74
|
}): Promise<ScopeBackup>;
|
|
75
|
+
}
|
|
76
|
+
export interface ScopeBackupStore {
|
|
77
|
+
/** Start writing one full-fidelity backup. Nothing is listed or read until its `commit`. */
|
|
78
|
+
begin(input: {
|
|
79
|
+
vertical: string | null;
|
|
80
|
+
header: ScopeDumpHeader;
|
|
81
|
+
}): ScopeBackupWriter;
|
|
40
82
|
/** Every backup held for one scope, newest first. */
|
|
41
83
|
list(input: {
|
|
42
84
|
tenantId: string;
|
|
43
85
|
scopeId: string;
|
|
44
86
|
}): Promise<ScopeBackup[]>;
|
|
45
|
-
/** One backup
|
|
87
|
+
/** One backup, by its capture time. Null when no such copy is held. */
|
|
46
88
|
get(input: {
|
|
47
89
|
tenantId: string;
|
|
48
90
|
scopeId: string;
|
|
49
91
|
capturedAt: string;
|
|
50
|
-
}): Promise<
|
|
92
|
+
}): Promise<StoredScopeBackup | null>;
|
|
51
93
|
}
|
|
52
94
|
/**
|
|
53
95
|
* The DIRECTORY-backup store (#40) — the platform's own copy, not a tenant's.
|
package/dist/backups.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backups.d.ts","sourceRoot":"","sources":["../src/backups.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"backups.d.ts","sourceRoot":"","sources":["../src/backups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,WAAW,EACX,SAAS,EACT,eAAe,EACf,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAKjC,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAE7C,yEAAyE;AACzE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,+EAA+E;IAC/E,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,KAAK,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,GAAG,iBAAiB,CAAC;IACtF,qDAAqD;IACrD,IAAI,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,uEAAuE;IACvE,GAAG,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CAC1G;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9D,+CAA+C;IAC/C,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACnC,4EAA4E;IAC5E,GAAG,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAClE,qFAAqF;IACrF,MAAM,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD"}
|
package/dist/backups.js
CHANGED
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
* clearing. A dump leaves the deployment entirely, and `POST …/restore` already loads one
|
|
15
15
|
* back, so export→store→restore is the round trip that actually closes.
|
|
16
16
|
*
|
|
17
|
+
* A backup is written a page at a time (#2839), as a paged copy moves a scope (#2450): a scope
|
|
18
|
+
* past one Durable Object RPC (32 MiB) or one isolate cannot be read, held or stored whole.
|
|
19
|
+
*
|
|
17
20
|
* Provider-neutral by the same posture as `ObservabilityReader` and `DeployVerticalFn`:
|
|
18
21
|
* the contract lives here, an implementation lives in its own module (`r2-backups.ts` for
|
|
19
22
|
* Cloudflare R2), and the host injects one. A backup is addressed by (tenant, scope,
|
package/dist/backups.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backups.js","sourceRoot":"","sources":["../src/backups.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"backups.js","sourceRoot":"","sources":["../src/backups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
|
package/dist/browser.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* `test/browser-entry.test.ts` holds that line.
|
|
8
8
|
*/
|
|
9
9
|
export { ControlPlaneStaffClient } from './staff-client.js';
|
|
10
|
-
export type { AdminLogPage, AuditLogQuery, BindHostnameInput, ConnectionHealthQuery, ConnectorCallsBucket, DoNamespace, EgressReport, IssuesQuery, MembersReading, ObservedEgressRow, OpsFailuresQuery, PageQuery, PlatformRuntime, ProvisionScopeInput, RebindScopeResult, RebindReviewResult, RecentLogEvent, RecentLogsRead, ReprovisionedScope, ScopeHealth, ServiceMetricsRow, StaffMember, SweepRunsQuery, SystemSwitchesQuery, TenantStores, } from './staff-client.js';
|
|
10
|
+
export type { AdminLogPage, AuditLogQuery, BindHostnameInput, BuilderTurnsListQuery, ConnectionHealthQuery, ConnectorCallsBucket, DoNamespace, EgressReport, IssuesQuery, MembersReading, ObservedEgressRow, OpsFailuresQuery, PageQuery, PlatformRuntime, ProvisionScopeInput, RebindScopeResult, RebindReviewResult, RecentLogEvent, RecentLogsRead, ReprovisionedScope, ScopeHealth, ServiceMetricsRow, StaffMember, SweepRunsQuery, SystemSwitchesQuery, TenantStores, } from './staff-client.js';
|
|
11
11
|
export { LOGS_INCOMPLETE_HEADER, logsIncompleteOf, outboundCallsOf } from './observability.js';
|
|
12
12
|
export type { OutboundCall } from './observability.js';
|
|
13
13
|
export * from '@substrat-run/control-plane-client';
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/F,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,cAAc,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/F,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,cAAc,oCAAoC,CAAC"}
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AA6B5D,8FAA8F;AAC9F,4EAA4E;AAC5E,0GAA0G;AAC1G,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE/F,2FAA2F;AAC3F,0FAA0F;AAC1F,cAAc,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type BuilderTurnDetail, type BuilderTurnsPage } from '@substrat-run/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* The builder studio's turn summaries, read across every team (the builder's
|
|
4
|
+
* `GET /internal/turns`). Staff-only: a summary names the team and the project,
|
|
5
|
+
* and the turn behind it carries what a builder typed.
|
|
6
|
+
*/
|
|
7
|
+
export interface BuilderTurnsService {
|
|
8
|
+
list(query: URLSearchParams): Promise<BuilderTurnsPage>;
|
|
9
|
+
/** Null when the builder holds no turn with that id. */
|
|
10
|
+
get(turnId: string): Promise<BuilderTurnDetail | null>;
|
|
11
|
+
}
|
|
12
|
+
/** The service over the builder's binding, behind the platform service token. */
|
|
13
|
+
export declare function builderTurnsService(service: {
|
|
14
|
+
fetch(request: Request): Promise<Response>;
|
|
15
|
+
} | undefined, token: string | undefined): BuilderTurnsService;
|
|
16
|
+
//# sourceMappingURL=builder-turns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder-turns.d.ts","sourceRoot":"","sources":["../src/builder-turns.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAGjC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxD,wDAAwD;IACxD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACxD;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IAAE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,GAAG,SAAS,EACnE,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,mBAAmB,CAkCrB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { builderTurnDetail, builderTurnsPage, } from '@substrat-run/contracts';
|
|
2
|
+
import { ControlPlaneError } from '@substrat-run/control-plane-client';
|
|
3
|
+
/** The service over the builder's binding, behind the platform service token. */
|
|
4
|
+
export function builderTurnsService(service, token) {
|
|
5
|
+
const read = async (path) => {
|
|
6
|
+
if (!service || !token)
|
|
7
|
+
throw new ControlPlaneError(503, 'the builder studio is not configured');
|
|
8
|
+
let response;
|
|
9
|
+
try {
|
|
10
|
+
response = await service.fetch(new Request(`https://builder/internal/${path}`, { headers: { 'x-service-token': token } }));
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
console.error('builder-turns.connection-failed', { detail: e instanceof Error ? e.message : String(e) });
|
|
14
|
+
throw new ControlPlaneError(502, 'the builder studio connection failed before it answered');
|
|
15
|
+
}
|
|
16
|
+
return response;
|
|
17
|
+
};
|
|
18
|
+
// Parse, don't trust: what the builder answers is held to the shape the console renders.
|
|
19
|
+
const body = async (response, schema) => {
|
|
20
|
+
if (!response.ok) {
|
|
21
|
+
const problem = (await response.json().catch(() => null));
|
|
22
|
+
throw new ControlPlaneError(response.status >= 500 ? 502 : response.status, problem?.detail ?? 'the builder studio refused the read');
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
return schema.parse(await response.json());
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
throw new ControlPlaneError(502, 'the builder studio answered a turn read in a shape this control plane does not know');
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
async list(query) {
|
|
33
|
+
return body(await read(`turns${query.size ? `?${query}` : ''}`), builderTurnsPage);
|
|
34
|
+
},
|
|
35
|
+
async get(turnId) {
|
|
36
|
+
const response = await read(`turns/${encodeURIComponent(turnId)}`);
|
|
37
|
+
if (response.status === 404)
|
|
38
|
+
return null;
|
|
39
|
+
return body(response, builderTurnDetail);
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=builder-turns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder-turns.js","sourceRoot":"","sources":["../src/builder-turns.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAavE,iFAAiF;AACjF,MAAM,UAAU,mBAAmB,CACjC,OAAmE,EACnE,KAAyB;IAEzB,MAAM,IAAI,GAAG,KAAK,EAAE,IAAY,EAAqB,EAAE;QACrD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;QACjG,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,4BAA4B,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7H,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzG,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,yDAAyD,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,yFAAyF;IACzF,MAAM,IAAI,GAAG,KAAK,EAAK,QAAkB,EAAE,MAAoC,EAAc,EAAE;QAC7F,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAA+B,CAAC;YACxF,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,qCAAqC,CAAC,CAAC;QACxI,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE,qFAAqF,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC,CAAC;IACF,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,KAAK;YACd,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM;YACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YACzC,OAAO,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -10,6 +10,20 @@ import { z } from '@substrat-run/contracts';
|
|
|
10
10
|
* with a typo'd key does not bind with a default the vertical never meant.
|
|
11
11
|
*/
|
|
12
12
|
export declare function connectionBindingOptions(provider: string): z.ZodObject<{}, z.core.$strict>;
|
|
13
|
+
/**
|
|
14
|
+
* Why a combination of options {@link connectionBindingOptions} admits field by field cannot bind,
|
|
15
|
+
* or `undefined`. Every door asks it after the schema, so a staff PUT answers it as a refusal
|
|
16
|
+
* rather than the connector's throw inside the write, and a declaration is reported on the sweep
|
|
17
|
+
* row before anything is granted. Kept apart from the schema because the doors `extend` and
|
|
18
|
+
* `strip` it, which a refinement would not survive.
|
|
19
|
+
*/
|
|
20
|
+
export declare function bindingOptionsRefusal(provider: string, options: {
|
|
21
|
+
kind?: string | null;
|
|
22
|
+
form?: string | null;
|
|
23
|
+
years?: unknown;
|
|
24
|
+
firstPass?: unknown;
|
|
25
|
+
writeback?: unknown;
|
|
26
|
+
}): string | undefined;
|
|
13
27
|
/** Whether {@link bindingChangeRefusal} can refuse anything for `provider`, so a door reads the held binding only then. */
|
|
14
28
|
export declare const refusesBindingChange: (provider: string) => boolean;
|
|
15
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-binding-options.d.ts","sourceRoot":"","sources":["../src/connection-binding-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"connection-binding-options.d.ts","sourceRoot":"","sources":["../src/connection-binding-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,mCA2CxD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAO9L;AAED,2HAA2H;AAC3H,eAAO,MAAM,oBAAoB,aAAc,MAAM,KAAG,OAAiC,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAKrJ"}
|
|
@@ -16,7 +16,23 @@ export function connectionBindingOptions(provider) {
|
|
|
16
16
|
return z.object({}).catchall(z.unknown());
|
|
17
17
|
switch (provider) {
|
|
18
18
|
case 'fortnox':
|
|
19
|
-
return z
|
|
19
|
+
return z
|
|
20
|
+
.object({
|
|
21
|
+
kind: z.enum(['ledger', 'supplier-invoice']).optional(),
|
|
22
|
+
// A ledger binding's form: the monthly sums, or the whole SIE file.
|
|
23
|
+
form: z.enum(['summary', 'sie']).optional(),
|
|
24
|
+
// How many years before the current one a `form: 'sie'` binding keeps.
|
|
25
|
+
years: z.union([z.literal('all'), z.number().int().min(0).max(100)]).optional(),
|
|
26
|
+
// How far back a supplier-invoice binding's first pass reads: days, or every invoice.
|
|
27
|
+
// A changed value re-binds, and a re-bound landing starts its first pass again.
|
|
28
|
+
firstPass: z.union([z.literal('all'), z.number().int().positive().max(36_500)]).optional(),
|
|
29
|
+
// The vertical's two operations behind writing back to Fortnox. Absent, nothing is written.
|
|
30
|
+
writeback: z
|
|
31
|
+
.object({ read: z.string().regex(/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_-]+$/), record: z.string().regex(/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_-]+$/) })
|
|
32
|
+
.strict()
|
|
33
|
+
.optional(),
|
|
34
|
+
})
|
|
35
|
+
.strict();
|
|
20
36
|
case 'planima':
|
|
21
37
|
return z
|
|
22
38
|
.object({
|
|
@@ -38,6 +54,26 @@ export function connectionBindingOptions(provider) {
|
|
|
38
54
|
return z.object({}).strict();
|
|
39
55
|
}
|
|
40
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Why a combination of options {@link connectionBindingOptions} admits field by field cannot bind,
|
|
59
|
+
* or `undefined`. Every door asks it after the schema, so a staff PUT answers it as a refusal
|
|
60
|
+
* rather than the connector's throw inside the write, and a declaration is reported on the sweep
|
|
61
|
+
* row before anything is granted. Kept apart from the schema because the doors `extend` and
|
|
62
|
+
* `strip` it, which a refinement would not survive.
|
|
63
|
+
*/
|
|
64
|
+
export function bindingOptionsRefusal(provider, options) {
|
|
65
|
+
if (provider !== 'fortnox')
|
|
66
|
+
return undefined;
|
|
67
|
+
if (options.form != null && (options.kind ?? 'ledger') !== 'ledger')
|
|
68
|
+
return `form applies to a ledger binding, not to '${options.kind}'`;
|
|
69
|
+
if (options.years != null && options.form !== 'sie')
|
|
70
|
+
return "years applies to a binding with form 'sie': the summary form lands the current year";
|
|
71
|
+
if (options.firstPass != null && options.kind !== 'supplier-invoice')
|
|
72
|
+
return `firstPass applies to a supplier-invoice binding, not to '${options.kind ?? 'ledger'}'`;
|
|
73
|
+
if (options.writeback != null && options.kind !== 'supplier-invoice')
|
|
74
|
+
return `writeback applies to a supplier-invoice binding, not to '${options.kind ?? 'ledger'}'`;
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
41
77
|
/** Whether {@link bindingChangeRefusal} can refuse anything for `provider`, so a door reads the held binding only then. */
|
|
42
78
|
export const refusesBindingChange = (provider) => provider === 'fortnox';
|
|
43
79
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-binding-options.js","sourceRoot":"","sources":["../src/connection-binding-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,qFAAqF;IACrF,wEAAwE;IACxE,IAAI,2BAA2B,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"connection-binding-options.js","sourceRoot":"","sources":["../src/connection-binding-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ConnectionLandingOptionsInput, type ScopeHost } from '@substrat-run/kernel';
|
|
2
|
-
import { type Connection, type ConnectionBindingsResult, type ConnectionBindResult, type ConnectionUnbindResult, type PlatformActorId } from '@substrat-run/contracts';
|
|
2
|
+
import { type Connection, type ConnectionBindingsResult, type ConnectionSyncResult, type ConnectionBindResult, type ConnectionUnbindResult, type PlatformActorId, type Scope } from '@substrat-run/contracts';
|
|
3
3
|
import type { ConnectionScopeBinding } from '@substrat-run/control-plane-client';
|
|
4
4
|
/**
|
|
5
5
|
* The binding relays (#2732): `/internal/connections/bind` and `/internal/connections/unbind`, how a
|
|
@@ -40,5 +40,32 @@ export declare function relayConnectionBindings(host: ScopeHost, actor: Platform
|
|
|
40
40
|
*/
|
|
41
41
|
bindings: (host: ScopeHost, connection: Connection) => Promise<readonly ConnectionScopeBinding[]> | undefined;
|
|
42
42
|
}): Promise<ConnectionBindingsResult>;
|
|
43
|
+
/** What a provider's scope poll did for the binding it was handed. */
|
|
44
|
+
export interface ScopeSyncResult {
|
|
45
|
+
/** `not-bound` when the binding was gone by the time the poll read it; `in-progress` when another poll of it was running, so nothing ran. */
|
|
46
|
+
outcome: 'landed' | 'unchanged' | 'failed' | 'not-bound' | 'in-progress';
|
|
47
|
+
pending: boolean;
|
|
48
|
+
/** On `failed`, the connector's own words: staff's ledger row, never the answer. */
|
|
49
|
+
errors: string[];
|
|
50
|
+
}
|
|
51
|
+
/** Poll ONE scope's binding on a connection, inside the same budget and deadline a sweep pass has. */
|
|
52
|
+
export type ScopeSync = (host: ScopeHost, connection: Connection, scopeId: Scope['id']) => Promise<ScopeSyncResult>;
|
|
53
|
+
/**
|
|
54
|
+
* The operation a requested poll's sweep row carries (`sync.connector:<provider>`). Such a row is
|
|
55
|
+
* written between passes, so it is not a pass's mark: the staff digest's watermark skips it.
|
|
56
|
+
*/
|
|
57
|
+
export declare const SYNC_OPERATION_PREFIX = "sync.connector:";
|
|
58
|
+
export interface ConnectionSyncRelayOptions extends ConnectionBindingRelayOptions {
|
|
59
|
+
/** The provider's scope poll; undefined for a provider that offers none, which answers 501. */
|
|
60
|
+
syncScope: (provider: string) => ScopeSync | undefined;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* `/internal/connections/sync` (#2672): poll the scope's bindings of one provider now. Every binding
|
|
64
|
+
* of the scope counts, the tenant's connections' as well as the scope's own, since a poll changes
|
|
65
|
+
* when the sweep's work happens, never what it does. Each poll is recorded as a sweep of that
|
|
66
|
+
* connection for that scope, so the cadence's ledger and the bindings read see it; a failure's own
|
|
67
|
+
* text is staff's row under the reference the answer names, as the pass files it.
|
|
68
|
+
*/
|
|
69
|
+
export declare function relayConnectionSync(host: ScopeHost, actor: PlatformActorId, body: unknown, options: ConnectionSyncRelayOptions): Promise<ConnectionSyncResult>;
|
|
43
70
|
export declare function relayConnectionUnbind(host: ScopeHost, actor: PlatformActorId, body: unknown, options: ConnectionBindingRelayOptions): Promise<ConnectionUnbindResult>;
|
|
44
71
|
//# sourceMappingURL=connection-binding-relay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-binding-relay.d.ts","sourceRoot":"","sources":["../src/connection-binding-relay.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"connection-binding-relay.d.ts","sourceRoot":"","sources":["../src/connection-binding-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,6BAA6B,EAClC,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAWL,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,KAAK,EACX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAIjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,6BAA6B;IAC5C,oGAAoG;IACpG,MAAM,EAAE,OAAO,CAAC;IAChB,uFAAuF;IACvF,QAAQ,EAAE,6BAA6B,CAAC;CACzC;AA0DD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,oBAAoB,CAAC,CA2F/B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,IAAI,CAAC,6BAA6B,EAAE,QAAQ,CAAC,GAAG;IACvD;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,GAAG,SAAS,CAAC;CAC/G,GACA,OAAO,CAAC,wBAAwB,CAAC,CA6BnC;AAED,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,6IAA6I;IAC7I,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,oFAAoF;IACpF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,sGAAsG;AACtG,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AAEpH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAKvD,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;IAC/E,+FAA+F;IAC/F,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAkE/B;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAqBjC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { binderOf, ConnectorRevokeUnsupported, isPrimaryScope, onRequestLandingFor, ulid, } from '@substrat-run/kernel';
|
|
2
|
-
import { permissionKey, connectionBindRequest, connectionBindResult, connectionUnbindRequest, connectionUnbindResult, connectionBindingsRequest, connectionBindingsResult, isVerticalConnectorProvider, } from '@substrat-run/contracts';
|
|
1
|
+
import { binderOf, ConnectorRevokeUnsupported, isPrimaryScope, onRequestLandingFor, ulid, withheldStaffFailure, } from '@substrat-run/kernel';
|
|
2
|
+
import { permissionKey, connectionBindRequest, connectionBindResult, connectionUnbindRequest, connectionUnbindResult, connectionBindingsRequest, connectionBindingsResult, connectionSyncRequest, connectionSyncResult, isVerticalConnectorProvider, } from '@substrat-run/contracts';
|
|
3
3
|
import { ConnectionRelayError, PREVIEW_CONNECTIONS_REFUSAL, PROVEN_CALLER_REFUSAL } from './connection-relay.js';
|
|
4
4
|
import { connectionBindingOptions } from './connection-binding-options.js';
|
|
5
5
|
/** The fixed fields of a binding as a binder answers it; the rest are its options. */
|
|
@@ -58,8 +58,11 @@ export async function relayConnectionBind(host, actor, body, options) {
|
|
|
58
58
|
const { landing } = declared;
|
|
59
59
|
const current = (await binder.list(host, connection)).find((b) => b.scopeId === scope.id);
|
|
60
60
|
// The declaration's options fill only what the binding does not hold yet, and the scope's own
|
|
61
|
-
// override both: a rebind keeps the scope's options, never resetting them to the defaults.
|
|
62
|
-
|
|
61
|
+
// override both: a rebind keeps the scope's options, never resetting them to the defaults. A key
|
|
62
|
+
// the binding holds is handed on as held rather than left out, so a binder that reads a missing
|
|
63
|
+
// option as its default (Fortnox's `kind`) is not handed a change nobody asked for.
|
|
64
|
+
const holds = current;
|
|
65
|
+
const defaults = Object.fromEntries(Object.entries(landing.options ?? {}).map(([k, v]) => [k, holds && k in holds ? holds[k] : v]));
|
|
63
66
|
let bindingOptions;
|
|
64
67
|
try {
|
|
65
68
|
bindingOptions = binder.options ? binder.options({ ...defaults, ...input.options }, current) : { ...defaults, ...input.options };
|
|
@@ -176,6 +179,91 @@ export async function relayConnectionBindings(host, actor, body, options) {
|
|
|
176
179
|
}));
|
|
177
180
|
return connectionBindingsResult.parse({ bindings: listed.flat() });
|
|
178
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* The operation a requested poll's sweep row carries (`sync.connector:<provider>`). Such a row is
|
|
184
|
+
* written between passes, so it is not a pass's mark: the staff digest's watermark skips it.
|
|
185
|
+
*/
|
|
186
|
+
export const SYNC_OPERATION_PREFIX = 'sync.connector:';
|
|
187
|
+
/** The least time between two polls of one binding through the sync relay. */
|
|
188
|
+
const SYNC_MIN_INTERVAL_MS = 60_000;
|
|
189
|
+
/**
|
|
190
|
+
* `/internal/connections/sync` (#2672): poll the scope's bindings of one provider now. Every binding
|
|
191
|
+
* of the scope counts, the tenant's connections' as well as the scope's own, since a poll changes
|
|
192
|
+
* when the sweep's work happens, never what it does. Each poll is recorded as a sweep of that
|
|
193
|
+
* connection for that scope, so the cadence's ledger and the bindings read see it; a failure's own
|
|
194
|
+
* text is staff's row under the reference the answer names, as the pass files it.
|
|
195
|
+
*/
|
|
196
|
+
export async function relayConnectionSync(host, actor, body, options) {
|
|
197
|
+
const input = parsed(connectionSyncRequest, body, 'connection sync');
|
|
198
|
+
const scope = await primaryScope(host, actor, input, options);
|
|
199
|
+
const sync = options.syncScope(input.provider);
|
|
200
|
+
if (!sync)
|
|
201
|
+
throw new ConnectionRelayError(`'${input.provider}' bindings cannot be polled on request`, 501);
|
|
202
|
+
const live = await host.admin.listConnections(actor, { tenantId: scope.tenantId, vertical: scope.vertical, provider: input.provider });
|
|
203
|
+
const bound = [];
|
|
204
|
+
for (const connection of live) {
|
|
205
|
+
if (connection.ownerScopeId !== null && connection.ownerScopeId !== scope.id)
|
|
206
|
+
continue;
|
|
207
|
+
const binder = binderOf(options.landings, connection);
|
|
208
|
+
if (binder && (await binder.list(host, connection)).some((b) => b.scopeId === scope.id))
|
|
209
|
+
bound.push(connection);
|
|
210
|
+
}
|
|
211
|
+
// Refused, never queued: the poll is idempotent, so a second one a moment later only spends the
|
|
212
|
+
// provider's allowance.
|
|
213
|
+
const now = Date.now();
|
|
214
|
+
for (const connection of bound) {
|
|
215
|
+
const [last] = await host.admin.listSweepRuns(actor, { kind: 'connector', unit: connection.id, scopeId: scope.id, limit: 1 });
|
|
216
|
+
const since = last ? Math.max(0, now - Date.parse(last.at)) : Infinity;
|
|
217
|
+
if (since < SYNC_MIN_INTERVAL_MS) {
|
|
218
|
+
throw new ConnectionRelayError(`connection ${connection.id} was polled for this scope ${Math.ceil(since / 1000)} s ago; ask again in ${Math.ceil((SYNC_MIN_INTERVAL_MS - since) / 1000)} s`, 429);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
const operation = `${SYNC_OPERATION_PREFIX}${input.provider}`;
|
|
222
|
+
const bindings = [];
|
|
223
|
+
// One at a time: the bindings share the provider's rate limit.
|
|
224
|
+
for (const connection of bound) {
|
|
225
|
+
const started = Date.now();
|
|
226
|
+
const result = await sync(host, connection, scope.id).catch((err) => ({ outcome: 'failed', pending: false, errors: [said(err)] }));
|
|
227
|
+
if (result.outcome === 'not-bound')
|
|
228
|
+
continue;
|
|
229
|
+
if (result.outcome === 'in-progress') {
|
|
230
|
+
// Nothing ran, so nothing is recorded: the poll holding the binding records its own.
|
|
231
|
+
bindings.push({ connectionId: connection.id, outcome: 'in-progress', at: new Date().toISOString(), pending: false });
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
234
|
+
let error;
|
|
235
|
+
if (result.outcome === 'failed') {
|
|
236
|
+
const reference = ulid();
|
|
237
|
+
error = `the binding did not land (reference ${reference})`;
|
|
238
|
+
await host.admin
|
|
239
|
+
.recordOpsFailure({
|
|
240
|
+
actor,
|
|
241
|
+
...withheldStaffFailure({ operation, stage: 'sweep', vertical: scope.vertical }, result.errors.join('; '), reference, `connection ${connection.id} of tenant ${scope.tenantId}: `),
|
|
242
|
+
})
|
|
243
|
+
// The row is the text's only copy: say which reference lost it, never the text.
|
|
244
|
+
.catch((err) => console.error('sync-failure record failed', { reference, error: said(err) }));
|
|
245
|
+
}
|
|
246
|
+
const at = new Date().toISOString();
|
|
247
|
+
// The record never sinks the answer: the poll already happened.
|
|
248
|
+
await host.admin
|
|
249
|
+
.recordSweepRun({
|
|
250
|
+
kind: 'connector',
|
|
251
|
+
unit: connection.id,
|
|
252
|
+
outcome: result.outcome === 'failed' ? 'failed' : 'ok',
|
|
253
|
+
tenantId: scope.tenantId,
|
|
254
|
+
scopeId: scope.id,
|
|
255
|
+
vertical: scope.vertical,
|
|
256
|
+
operation,
|
|
257
|
+
connectionId: connection.id,
|
|
258
|
+
error: error ?? null,
|
|
259
|
+
elapsedMs: Date.now() - started,
|
|
260
|
+
at,
|
|
261
|
+
})
|
|
262
|
+
.catch(() => undefined);
|
|
263
|
+
bindings.push({ connectionId: connection.id, outcome: result.outcome, at, pending: result.pending, ...(error ? { error } : {}) });
|
|
264
|
+
}
|
|
265
|
+
return connectionSyncResult.parse({ bindings });
|
|
266
|
+
}
|
|
179
267
|
export async function relayConnectionUnbind(host, actor, body, options) {
|
|
180
268
|
const input = parsed(connectionUnbindRequest, body, 'connection unbind');
|
|
181
269
|
// Ownership alone: a version that has since dropped the landing, or changed its key or mode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-binding-relay.js","sourceRoot":"","sources":["../src/connection-binding-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,0BAA0B,EAC1B,cAAc,EACd,mBAAmB,EACnB,IAAI,GAIL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,GAO5B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AA4B3E,sFAAsF;AACtF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAE7K,SAAS,MAAM,CAAyB,MAAS,EAAE,IAAa,EAAE,IAAY;IAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,oBAAoB,CAAC,WAAW,IAAI,aAAa,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,GAAG,CAAC,CAAC;AACzJ,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC;AAE1E,iGAAiG;AACjG,KAAK,UAAU,YAAY,CACzB,IAAe,EACf,KAAsB,EACtB,KAA4D,EAC5D,OAAsD;IAEtD,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,oBAAoB,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpF,IAAI,CAAC,KAAK,EAAE,QAAQ;QAAE,MAAM,IAAI,oBAAoB,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IACzF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAC7F,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChD,CAAC;AAED,qGAAqG;AACrG,KAAK,UAAU,aAAa,CAC1B,IAAe,EACf,KAAsB,EACtB,KAA4F,EAC5F,OAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,CACjB,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAC7H,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,oBAAoB,CAAC,6CAA6C,UAAU,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;IACtH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAElF,iGAAiG;AACjG,KAAK,UAAU,UAAU,CAAC,IAAe,EAAE,KAAsB,EAAE,MAAiE;IAClI,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,0BAA0B;YAAE,MAAM,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAChG,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAe,EACf,KAAsB,EACtB,IAAa,EACb,OAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvF,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,oBAAoB,CAAC,SAAS,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC,MAAM,cAAc,EAAE,GAAG,CAAC,CAAC;IACvH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjH,IAAI,SAAS,IAAI,QAAQ;QAAE,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjF,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7B,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1F,8FAA8F;IAC9F,2FAA2F;IAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACxH,IAAI,cAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACnI,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IAC/K,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC,OAAO,UAAU,CAAC,QAAQ,mCAAmC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1I,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IAE7D,gGAAgG;IAChG,+FAA+F;IAC/F,+FAA+F;IAC/F,iEAAiE;IACjE,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;QACzD,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACtJ,CAAC;IAED,+FAA+F;IAC/F,+FAA+F;IAC/F,gGAAgG;IAChG,wBAAwB;IACxB,IAAI,KAAc,CAAC;IACnB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3G,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACrI,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,OAAO;gBAAE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1F,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,OAAO,CAAC,UAAU,2CAA2C,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACpI,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6FAA6F;YAC7F,6FAA6F;YAC7F,qFAAqF;YACrF,IAAI,OAAO,IAAI,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChJ,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,MAAM,IAAI,oBAAoB,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,oDAAoD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACpI,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,KAAK,EAAE;QACpD,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,WAAW,EAAE,IAAI,EAAE;QACnB,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO;KAC3B,CAAC,CAAC;IACH,6FAA6F;IAC7F,mCAAmC;IACnC,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9G,OAAO,oBAAoB,CAAC,KAAK,CAAC;QAChC,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;QAChH,OAAO,EAAE,OAAO,QAAQ,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC7F,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAe,EACf,KAAsB,EACtB,IAAa,EACb,OAMC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,yBAAyB,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACpI,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,sFAAsF;QACtF,MAAM,IAAI,GAAG,KAAK,EAAE,OAAwB,EAAE,EAAE,CAC9C,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9J,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,CAAC;gBACN,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,wFAAwF;gBACxF,iEAAiE;gBACjE,OAAO,EAAE,2BAA2B,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;gBACxI,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI;gBAC5B,4FAA4F;gBAC5F,+DAA+D;gBAC/D,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;aAC3E,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;IACF,OAAO,wBAAwB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAe,EACf,KAAsB,EACtB,IAAa,EACb,OAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACzE,6FAA6F;IAC7F,gDAAgD;IAChD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,oBAAoB,CAAC,IAAI,UAAU,CAAC,QAAQ,gDAAgD,EAAE,GAAG,CAAC,CAAC;IACjI,6FAA6F;IAC7F,iGAAiG;IACjG,iGAAiG;IACjG,uCAAuC;IACvC,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1F,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5B,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACnD,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YACrD,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,OAAO,sBAAsB,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACzG,CAAC"}
|
|
1
|
+
{"version":3,"file":"connection-binding-relay.js","sourceRoot":"","sources":["../src/connection-binding-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export declare class ConnectionRelayError extends Error {
|
|
|
31
31
|
* 500 (what an unrecognised throw collapses to) sent an operator looking for a bug
|
|
32
32
|
* in the credential or the relay, when the plane knew at boot that it had no key.
|
|
33
33
|
*/
|
|
34
|
-
readonly status: 400 | 403 | 404 | 409 | 422 | 501 | 503;
|
|
34
|
+
readonly status: 400 | 403 | 404 | 409 | 422 | 429 | 501 | 503;
|
|
35
35
|
/** The provider's own answer, when the refusal came from a pre-flight probe (#605). */
|
|
36
36
|
readonly probe?: ConnectionProbe | undefined;
|
|
37
37
|
constructor(message: string,
|
|
@@ -41,7 +41,7 @@ export declare class ConnectionRelayError extends Error {
|
|
|
41
41
|
* 500 (what an unrecognised throw collapses to) sent an operator looking for a bug
|
|
42
42
|
* in the credential or the relay, when the plane knew at boot that it had no key.
|
|
43
43
|
*/
|
|
44
|
-
status: 400 | 403 | 404 | 409 | 422 | 501 | 503,
|
|
44
|
+
status: 400 | 403 | 404 | 409 | 422 | 429 | 501 | 503,
|
|
45
45
|
/** The provider's own answer, when the refusal came from a pre-flight probe (#605). */
|
|
46
46
|
probe?: ConnectionProbe | undefined);
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-relay.d.ts","sourceRoot":"","sources":["../src/connection-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,6BAA6B,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACrI,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,4BAA4B,EAClC,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAG3C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;
|
|
1
|
+
{"version":3,"file":"connection-relay.d.ts","sourceRoot":"","sources":["../src/connection-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-relay.js","sourceRoot":"","sources":["../src/connection-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,IAAI,EAAsD,MAAM,sBAAsB,CAAC;AACrI,OAAO,EACL,OAAO,EACP,YAAY,EACZ,sBAAsB,EACtB,2BAA2B,GAO5B,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IASlC,MAAM;IAEN,KAAK;IAVhB,YACE,OAAe;IACf;;;;;OAKG;IACM,
|
|
1
|
+
{"version":3,"file":"connection-relay.js","sourceRoot":"","sources":["../src/connection-relay.ts"],"names":[],"mappings":"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"}
|