@substrat-run/contracts 0.154.0 → 0.155.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/connection-landing.d.ts +59 -0
- package/dist/connection-landing.d.ts.map +1 -0
- package/dist/connection-landing.js +65 -0
- package/dist/connection-landing.js.map +1 -0
- package/dist/deploy.d.ts +60 -0
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +80 -0
- package/dist/deploy.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +6 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +15 -0
- package/dist/manifest.js.map +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +132 -10
- package/dist/operations.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Connection landings (#2316): how a poll-only connector's data enters a vertical's scope, declared
|
|
4
|
+
* by the vertical that receives it.
|
|
5
|
+
*
|
|
6
|
+
* A poll-only connector (Fortnox, Planima) has nothing inside a scope to start its work, so it
|
|
7
|
+
* needs a BINDING: "sweep this connection into that scope, through this operation, holding this
|
|
8
|
+
* key". Before this declaration a binding came only from a person running `substrat connection
|
|
9
|
+
* bind`, and the key it needs from a vertical's own credential relay. A connection a company
|
|
10
|
+
* approved through a connect link or the dashboard's door held no key and had no binding, so
|
|
11
|
+
* nothing landed and nothing said so.
|
|
12
|
+
*
|
|
13
|
+
* The shape of the mechanism, so the pieces below read in place:
|
|
14
|
+
*
|
|
15
|
+
* - **The vertical declares the landing** — `connections` in its module manifest
|
|
16
|
+
* (`connectionLandingSpec`): the provider, the operation the connector invokes, and the key that
|
|
17
|
+
* operation checks. It is lifted into the permission registry, so it is rendered in the
|
|
18
|
+
* vertical's PERMISSIONS.md and hashed into its permission digest: the key a connection is
|
|
19
|
+
* given is a reviewed permission diff, and a version that widens it cannot be promoted
|
|
20
|
+
* unacknowledged.
|
|
21
|
+
* - **The platform seats and binds from the running version.** On each connector pass, every
|
|
22
|
+
* live connection of a declared provider in a tenant where the vertical is installed is granted
|
|
23
|
+
* the declared key on each primary, active install, and bound to it. Both steps happen only when
|
|
24
|
+
* missing or different, so a pass that finds them in place writes nothing. The bind is the
|
|
25
|
+
* connector's own, and it still refuses a connection that does not hold the key.
|
|
26
|
+
* - **Revocation is the connection's.** Revoking a connection tombstones its grants and deletes
|
|
27
|
+
* its bindings, and a revoked connection is never seated again.
|
|
28
|
+
*/
|
|
29
|
+
/** The most option keys one landing may carry. */
|
|
30
|
+
export declare const CONNECTION_LANDING_OPTIONS_MAX = 16;
|
|
31
|
+
/**
|
|
32
|
+
* Provider-specific binding options (Planima's `organizationId`, `currency`, `window`,
|
|
33
|
+
* `horizonYears`), as JSON. Not typed per provider here: the contracts package names no connector,
|
|
34
|
+
* and the platform validates them with the provider's own schema before it binds. A declaration a
|
|
35
|
+
* provider refuses is reported on that connection's sweep row, never bound with a guess.
|
|
36
|
+
*/
|
|
37
|
+
export declare const connectionLandingOptions: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
38
|
+
export type ConnectionLandingOptions = z.infer<typeof connectionLandingOptions>;
|
|
39
|
+
/**
|
|
40
|
+
* One declared landing — "a `provider` connection of this tenant lands through `operation`,
|
|
41
|
+
* holding `permission`" — as a module manifest's `connections` entry.
|
|
42
|
+
*
|
|
43
|
+
* `operation` is the full `module/operation` name the connector invokes. It is not checked against
|
|
44
|
+
* the module's own operations here: a vertical may land through an operation of an engine it
|
|
45
|
+
* composes, and the host's registry is what knows every name. `lint:permissions` reports an
|
|
46
|
+
* unknown one, and an unknown name lands nothing (the sweep reports the refusal).
|
|
47
|
+
*
|
|
48
|
+
* `permission` is what the connection is granted, and it must be a key some module declares and
|
|
49
|
+
* that is not reserved to a system principal: a connection acts for the external provider holding
|
|
50
|
+
* its token. The registry builder refuses both.
|
|
51
|
+
*/
|
|
52
|
+
export declare const connectionLandingSpec: z.ZodObject<{
|
|
53
|
+
provider: z.ZodString;
|
|
54
|
+
operation: z.ZodString;
|
|
55
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
56
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
57
|
+
}, z.core.$strict>;
|
|
58
|
+
export type ConnectionLandingSpec = z.infer<typeof connectionLandingSpec>;
|
|
59
|
+
//# sourceMappingURL=connection-landing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-landing.d.ts","sourceRoot":"","sources":["../src/connection-landing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,kDAAkD;AAClD,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,wCAIjC,CAAC;AACL,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB;;;;;kBAOvB,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { permissionKey } from './ids.js';
|
|
3
|
+
import { connectionProvider } from './connections.js';
|
|
4
|
+
/**
|
|
5
|
+
* Connection landings (#2316): how a poll-only connector's data enters a vertical's scope, declared
|
|
6
|
+
* by the vertical that receives it.
|
|
7
|
+
*
|
|
8
|
+
* A poll-only connector (Fortnox, Planima) has nothing inside a scope to start its work, so it
|
|
9
|
+
* needs a BINDING: "sweep this connection into that scope, through this operation, holding this
|
|
10
|
+
* key". Before this declaration a binding came only from a person running `substrat connection
|
|
11
|
+
* bind`, and the key it needs from a vertical's own credential relay. A connection a company
|
|
12
|
+
* approved through a connect link or the dashboard's door held no key and had no binding, so
|
|
13
|
+
* nothing landed and nothing said so.
|
|
14
|
+
*
|
|
15
|
+
* The shape of the mechanism, so the pieces below read in place:
|
|
16
|
+
*
|
|
17
|
+
* - **The vertical declares the landing** — `connections` in its module manifest
|
|
18
|
+
* (`connectionLandingSpec`): the provider, the operation the connector invokes, and the key that
|
|
19
|
+
* operation checks. It is lifted into the permission registry, so it is rendered in the
|
|
20
|
+
* vertical's PERMISSIONS.md and hashed into its permission digest: the key a connection is
|
|
21
|
+
* given is a reviewed permission diff, and a version that widens it cannot be promoted
|
|
22
|
+
* unacknowledged.
|
|
23
|
+
* - **The platform seats and binds from the running version.** On each connector pass, every
|
|
24
|
+
* live connection of a declared provider in a tenant where the vertical is installed is granted
|
|
25
|
+
* the declared key on each primary, active install, and bound to it. Both steps happen only when
|
|
26
|
+
* missing or different, so a pass that finds them in place writes nothing. The bind is the
|
|
27
|
+
* connector's own, and it still refuses a connection that does not hold the key.
|
|
28
|
+
* - **Revocation is the connection's.** Revoking a connection tombstones its grants and deletes
|
|
29
|
+
* its bindings, and a revoked connection is never seated again.
|
|
30
|
+
*/
|
|
31
|
+
/** The most option keys one landing may carry. */
|
|
32
|
+
export const CONNECTION_LANDING_OPTIONS_MAX = 16;
|
|
33
|
+
/**
|
|
34
|
+
* Provider-specific binding options (Planima's `organizationId`, `currency`, `window`,
|
|
35
|
+
* `horizonYears`), as JSON. Not typed per provider here: the contracts package names no connector,
|
|
36
|
+
* and the platform validates them with the provider's own schema before it binds. A declaration a
|
|
37
|
+
* provider refuses is reported on that connection's sweep row, never bound with a guess.
|
|
38
|
+
*/
|
|
39
|
+
export const connectionLandingOptions = z
|
|
40
|
+
.record(z.string().min(1), z.unknown())
|
|
41
|
+
.refine((o) => Object.keys(o).length <= CONNECTION_LANDING_OPTIONS_MAX, {
|
|
42
|
+
message: `a landing carries at most ${CONNECTION_LANDING_OPTIONS_MAX} options`,
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* One declared landing — "a `provider` connection of this tenant lands through `operation`,
|
|
46
|
+
* holding `permission`" — as a module manifest's `connections` entry.
|
|
47
|
+
*
|
|
48
|
+
* `operation` is the full `module/operation` name the connector invokes. It is not checked against
|
|
49
|
+
* the module's own operations here: a vertical may land through an operation of an engine it
|
|
50
|
+
* composes, and the host's registry is what knows every name. `lint:permissions` reports an
|
|
51
|
+
* unknown one, and an unknown name lands nothing (the sweep reports the refusal).
|
|
52
|
+
*
|
|
53
|
+
* `permission` is what the connection is granted, and it must be a key some module declares and
|
|
54
|
+
* that is not reserved to a system principal: a connection acts for the external provider holding
|
|
55
|
+
* its token. The registry builder refuses both.
|
|
56
|
+
*/
|
|
57
|
+
export const connectionLandingSpec = z
|
|
58
|
+
.object({
|
|
59
|
+
provider: connectionProvider,
|
|
60
|
+
operation: z.string().regex(/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_-]+$/, 'operation is `module/operation`'),
|
|
61
|
+
permission: permissionKey,
|
|
62
|
+
options: connectionLandingOptions.optional(),
|
|
63
|
+
})
|
|
64
|
+
.strict();
|
|
65
|
+
//# sourceMappingURL=connection-landing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-landing.js","sourceRoot":"","sources":["../src/connection-landing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,kDAAkD;AAClD,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,8BAA8B,EAAE;IACtE,OAAO,EAAE,6BAA6B,8BAA8B,UAAU;CAC/E,CAAC,CAAC;AAGL;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,QAAQ,EAAE,kBAAkB;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,EAAE,iCAAiC,CAAC;IAClG,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,wBAAwB,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC"}
|
package/dist/deploy.d.ts
CHANGED
|
@@ -721,6 +721,24 @@ export type ManifestExports = {
|
|
|
721
721
|
reason: string;
|
|
722
722
|
};
|
|
723
723
|
export declare function exportsOfManifestJson(manifestJson: string | null | undefined): ManifestExports;
|
|
724
|
+
/**
|
|
725
|
+
* What a STORED manifest says about connection landings (#2316), in `importsOfManifestJson`'s three
|
|
726
|
+
* answers. The connector pass reads it for the version each install runs: a `landings` row is what
|
|
727
|
+
* the platform grants a connection of that provider and binds it with.
|
|
728
|
+
*
|
|
729
|
+
* `unreadable` is never acted on — a pass grants nothing from a declaration it cannot read — and
|
|
730
|
+
* it is reported on the connection's sweep row, so a broken manifest is not silent.
|
|
731
|
+
*/
|
|
732
|
+
export type ManifestConnectionLandings = {
|
|
733
|
+
kind: 'none';
|
|
734
|
+
} | {
|
|
735
|
+
kind: 'landings';
|
|
736
|
+
rows: Omit<PermissionRegistryConnection, 'declaredBy'>[];
|
|
737
|
+
} | {
|
|
738
|
+
kind: 'unreadable';
|
|
739
|
+
reason: string;
|
|
740
|
+
};
|
|
741
|
+
export declare function connectionLandingsOfManifestJson(manifestJson: string | null | undefined): ManifestConnectionLandings;
|
|
724
742
|
/**
|
|
725
743
|
* #2178: the binding-shape gate over two STORED manifests — the version that runs now and the one
|
|
726
744
|
* that would run instead — refused `precondition_failed` with {@link bindingShapeRefusal} when the
|
|
@@ -896,6 +914,20 @@ export declare const permissionRegistryImport: z.ZodObject<{
|
|
|
896
914
|
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
897
915
|
}, z.core.$strip>;
|
|
898
916
|
export type PermissionRegistryImport = z.infer<typeof permissionRegistryImport>;
|
|
917
|
+
/**
|
|
918
|
+
* One provider whose connections land in this vertical (#2316): the operation the connector
|
|
919
|
+
* invokes and the key a connection is granted for it. A row here is authority handed to whoever
|
|
920
|
+
* holds the provider token, so it belongs in the same artifact, and the same digest, as the keys a
|
|
921
|
+
* person is given.
|
|
922
|
+
*/
|
|
923
|
+
export declare const permissionRegistryConnection: z.ZodObject<{
|
|
924
|
+
provider: z.ZodString;
|
|
925
|
+
operation: z.ZodString;
|
|
926
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
927
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
928
|
+
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
929
|
+
}, z.core.$strip>;
|
|
930
|
+
export type PermissionRegistryConnection = z.infer<typeof permissionRegistryConnection>;
|
|
899
931
|
export declare const permissionRegistry: z.ZodObject<{
|
|
900
932
|
permissions: z.ZodArray<z.ZodObject<{
|
|
901
933
|
key: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
@@ -938,6 +970,13 @@ export declare const permissionRegistry: z.ZodObject<{
|
|
|
938
970
|
schemaVersion: z.ZodNumber;
|
|
939
971
|
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
940
972
|
}, z.core.$strip>>>;
|
|
973
|
+
connections: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
974
|
+
provider: z.ZodString;
|
|
975
|
+
operation: z.ZodString;
|
|
976
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
977
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
978
|
+
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
979
|
+
}, z.core.$strip>>>;
|
|
941
980
|
}, z.core.$strip>;
|
|
942
981
|
export type PermissionRegistry = z.infer<typeof permissionRegistry>;
|
|
943
982
|
/**
|
|
@@ -974,6 +1013,13 @@ export declare const pushedPermissionRegistry: z.ZodObject<{
|
|
|
974
1013
|
schemaVersion: z.ZodNumber;
|
|
975
1014
|
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
976
1015
|
}, z.core.$strip>>>;
|
|
1016
|
+
connections: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1017
|
+
provider: z.ZodString;
|
|
1018
|
+
operation: z.ZodString;
|
|
1019
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
1020
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1021
|
+
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
1022
|
+
}, z.core.$strip>>>;
|
|
977
1023
|
entityGrants: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
978
1024
|
permissions: z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>;
|
|
979
1025
|
bootstrap: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -1478,6 +1524,13 @@ export declare const deployManifest: z.ZodObject<{
|
|
|
1478
1524
|
schemaVersion: z.ZodNumber;
|
|
1479
1525
|
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
1480
1526
|
}, z.core.$strip>>>;
|
|
1527
|
+
connections: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1528
|
+
provider: z.ZodString;
|
|
1529
|
+
operation: z.ZodString;
|
|
1530
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
1531
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1532
|
+
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
1533
|
+
}, z.core.$strip>>>;
|
|
1481
1534
|
entityGrants: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1482
1535
|
permissions: z.ZodArray<z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">>;
|
|
1483
1536
|
bootstrap: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -1709,6 +1762,13 @@ export declare const storedDeployManifest: z.ZodObject<{
|
|
|
1709
1762
|
schemaVersion: z.ZodNumber;
|
|
1710
1763
|
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
1711
1764
|
}, z.core.$strip>>>;
|
|
1765
|
+
connections: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1766
|
+
provider: z.ZodString;
|
|
1767
|
+
operation: z.ZodString;
|
|
1768
|
+
permission: z.core.$ZodBranded<z.ZodString, "PermissionKey", "out">;
|
|
1769
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1770
|
+
declaredBy: z.ZodArray<z.core.$ZodBranded<z.ZodString, "ModuleId", "out">>;
|
|
1771
|
+
}, z.core.$strip>>>;
|
|
1712
1772
|
}, z.core.$strip>>;
|
|
1713
1773
|
platformSweeper: z.ZodOptional<z.ZodBoolean>;
|
|
1714
1774
|
migrations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
package/dist/deploy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/deploy.js
CHANGED
|
@@ -11,6 +11,8 @@ import { substratError } from './errors.js';
|
|
|
11
11
|
import { blankReason } from './review-text.js';
|
|
12
12
|
import { SCOPE_STORE_CANARY, STORE_DRIVER_ID } from './script-names.js';
|
|
13
13
|
import { bindingShapeBreaks, bindingShapeRefusal } from './registry-diff.js';
|
|
14
|
+
import { connectionLandingOptions } from './connection-landing.js';
|
|
15
|
+
import { connectionProvider } from './connections.js';
|
|
14
16
|
import { ownerGrantSets, reservedKeyLine, reservedKeyOffences, reservedKeysOf, } from './reserved-keys.js';
|
|
15
17
|
// The deploy manifest is the JSON part a `substrat push` sends alongside the
|
|
16
18
|
// module files (self-serve-deploy.md). It lives here — not in the transport
|
|
@@ -908,6 +910,17 @@ export function exportsOfManifestJson(manifestJson) {
|
|
|
908
910
|
return { kind: 'unreadable', reason: read.unreadable };
|
|
909
911
|
return { kind: 'exports', rows: read.rows.map((r) => ({ type: r.type, schemaVersion: r.schemaVersion })) };
|
|
910
912
|
}
|
|
913
|
+
export function connectionLandingsOfManifestJson(manifestJson) {
|
|
914
|
+
const read = registryRowsOfManifestJson(manifestJson, 'connections', permissionRegistryConnection);
|
|
915
|
+
if (read === null)
|
|
916
|
+
return { kind: 'none' };
|
|
917
|
+
if ('unreadable' in read)
|
|
918
|
+
return { kind: 'unreadable', reason: read.unreadable };
|
|
919
|
+
return {
|
|
920
|
+
kind: 'landings',
|
|
921
|
+
rows: read.rows.map((r) => ({ provider: r.provider, operation: r.operation, permission: r.permission, ...(r.options ? { options: r.options } : {}) })),
|
|
922
|
+
};
|
|
923
|
+
}
|
|
911
924
|
/**
|
|
912
925
|
* #2178: the binding-shape gate over two STORED manifests — the version that runs now and the one
|
|
913
926
|
* that would run instead — refused `precondition_failed` with {@link bindingShapeRefusal} when the
|
|
@@ -1263,6 +1276,19 @@ export const permissionRegistryImport = z.object({
|
|
|
1263
1276
|
schemaVersion: z.number().int().positive(),
|
|
1264
1277
|
declaredBy: z.array(moduleId).min(1),
|
|
1265
1278
|
});
|
|
1279
|
+
/**
|
|
1280
|
+
* One provider whose connections land in this vertical (#2316): the operation the connector
|
|
1281
|
+
* invokes and the key a connection is granted for it. A row here is authority handed to whoever
|
|
1282
|
+
* holds the provider token, so it belongs in the same artifact, and the same digest, as the keys a
|
|
1283
|
+
* person is given.
|
|
1284
|
+
*/
|
|
1285
|
+
export const permissionRegistryConnection = z.object({
|
|
1286
|
+
provider: connectionProvider,
|
|
1287
|
+
operation: z.string().regex(/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_-]+$/),
|
|
1288
|
+
permission: permissionKey,
|
|
1289
|
+
options: connectionLandingOptions.optional(),
|
|
1290
|
+
declaredBy: z.array(moduleId).min(1),
|
|
1291
|
+
});
|
|
1266
1292
|
export const permissionRegistry = z.object({
|
|
1267
1293
|
permissions: z.array(permissionRegistryEntry),
|
|
1268
1294
|
roles: z.array(roleDefinition),
|
|
@@ -1275,6 +1301,8 @@ export const permissionRegistry = z.object({
|
|
|
1275
1301
|
// or what enters it, cannot be promoted unacknowledged.
|
|
1276
1302
|
exports: z.array(permissionRegistryExport).optional(),
|
|
1277
1303
|
imports: z.array(permissionRegistryImport).optional(),
|
|
1304
|
+
// #2316: connection landings. Optional and omitted when none, for the digest reason above.
|
|
1305
|
+
connections: z.array(permissionRegistryConnection).optional(),
|
|
1278
1306
|
});
|
|
1279
1307
|
/**
|
|
1280
1308
|
* The registry as a PUSH carries it (#1869): an `entityGrants` shape naming a kernel namespace
|
|
@@ -1297,6 +1325,20 @@ export const pushedPermissionRegistry = permissionRegistry
|
|
|
1297
1325
|
.superRefine((registry, ctx) => {
|
|
1298
1326
|
for (const message of registryReservedKeyProblems(registry))
|
|
1299
1327
|
ctx.addIssue({ code: 'custom', path: [], message });
|
|
1328
|
+
// #2316: a landing's key is one the registry declares and does not reserve, and one landing per provider.
|
|
1329
|
+
const keys = new Map(registry.permissions.map((p) => [p.key, p]));
|
|
1330
|
+
const providers = new Set();
|
|
1331
|
+
for (const l of registry.connections ?? []) {
|
|
1332
|
+
const where = `connections '${l.provider}'`;
|
|
1333
|
+
const key = keys.get(l.permission);
|
|
1334
|
+
if (!key)
|
|
1335
|
+
ctx.addIssue({ code: 'custom', path: ['connections'], message: `${where}: lands holding ${l.permission}, which the registry does not declare` });
|
|
1336
|
+
else if (key.holder === 'system')
|
|
1337
|
+
ctx.addIssue({ code: 'custom', path: ['connections'], message: `${where}: lands holding ${l.permission}, which is reserved to a system principal` });
|
|
1338
|
+
if (providers.has(l.provider))
|
|
1339
|
+
ctx.addIssue({ code: 'custom', path: ['connections'], message: `${where}: declared more than once` });
|
|
1340
|
+
providers.add(l.provider);
|
|
1341
|
+
}
|
|
1300
1342
|
});
|
|
1301
1343
|
/**
|
|
1302
1344
|
* #2430: a registry's reserved-key offences, one line each — a person's role, grant shape or
|
|
@@ -1458,14 +1500,52 @@ export function buildPermissionRegistry(input) {
|
|
|
1458
1500
|
}
|
|
1459
1501
|
const exports = [...exportRows.values()].sort((a, b) => cmp(a.type, b.type));
|
|
1460
1502
|
const imports = [...importRows.values()].sort((a, b) => cmp(a.from, b.from) || cmp(a.type, b.type));
|
|
1503
|
+
const connections = connectionRowsOf(input.modules, new Set(declaredBy.keys()), reserved);
|
|
1461
1504
|
return {
|
|
1462
1505
|
permissions,
|
|
1463
1506
|
roles,
|
|
1464
1507
|
entityGrants,
|
|
1465
1508
|
...(exports.length ? { exports } : {}),
|
|
1466
1509
|
...(imports.length ? { imports } : {}),
|
|
1510
|
+
...(connections.length ? { connections } : {}),
|
|
1467
1511
|
};
|
|
1468
1512
|
}
|
|
1513
|
+
/**
|
|
1514
|
+
* #2316: the modules' connection landings as registry rows, one per provider. Two modules stating
|
|
1515
|
+
* the same landing collapse into one row naming both; two stating DIFFERENT landings for one
|
|
1516
|
+
* provider are refused, since a connection binds one operation per scope and the platform would
|
|
1517
|
+
* otherwise pick one. Refused as well: a key no module declares (the grant could never be
|
|
1518
|
+
* checked) and a key reserved to a system principal (a connection acts for whoever holds the
|
|
1519
|
+
* provider's token, #2430).
|
|
1520
|
+
*/
|
|
1521
|
+
function connectionRowsOf(modules, declared, reserved) {
|
|
1522
|
+
const rows = new Map();
|
|
1523
|
+
const problems = [];
|
|
1524
|
+
const same = (a, b) => a.operation === b.operation && a.permission === b.permission && JSON.stringify(a.options ?? {}) === JSON.stringify(b.options ?? {});
|
|
1525
|
+
// `?? []` although parsed manifests carry the field: the CLI imports a vertical's modules as plain JS.
|
|
1526
|
+
for (const m of modules) {
|
|
1527
|
+
for (const l of m.manifest.connections ?? []) {
|
|
1528
|
+
const where = `connections '${l.provider}' (${m.manifest.id})`;
|
|
1529
|
+
if (!declared.has(l.permission))
|
|
1530
|
+
problems.push(`${where}: lands holding ${l.permission}, which no module declares`);
|
|
1531
|
+
if (reserved.has(l.permission))
|
|
1532
|
+
problems.push(`${where}: lands holding ${l.permission}, which is reserved to a system principal`);
|
|
1533
|
+
const row = rows.get(l.provider);
|
|
1534
|
+
if (!row) {
|
|
1535
|
+
rows.set(l.provider, { provider: l.provider, operation: l.operation, permission: l.permission, ...(l.options ? { options: l.options } : {}), declaredBy: [m.manifest.id] });
|
|
1536
|
+
}
|
|
1537
|
+
else if (same(row, l)) {
|
|
1538
|
+
row.declaredBy = [...new Set([...row.declaredBy, m.manifest.id])].sort((a, b) => a.localeCompare(b));
|
|
1539
|
+
}
|
|
1540
|
+
else {
|
|
1541
|
+
problems.push(`${where}: declares a different landing for '${l.provider}' than ${row.declaredBy.join(', ')}`);
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
if (problems.length > 0)
|
|
1546
|
+
throw new Error(`buildPermissionRegistry: ${problems.join('; ')}`);
|
|
1547
|
+
return [...rows.values()].sort((a, b) => a.provider.localeCompare(b.provider));
|
|
1548
|
+
}
|
|
1469
1549
|
/**
|
|
1470
1550
|
* One static file in the shipped manifest (#340). The trio Cloudflare's asset store keys
|
|
1471
1551
|
* on — content-addressed `hash`, `size` — plus the `contentType` the platform attaches at
|