@substrat-run/contract-tests 0.153.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/bind-module.d.ts +6 -0
- package/dist/bind-module.d.ts.map +1 -1
- package/dist/derived-module.d.ts +6 -0
- package/dist/derived-module.d.ts.map +1 -1
- package/dist/entity-state-module.d.ts +12 -0
- package/dist/entity-state-module.d.ts.map +1 -1
- package/dist/entity-trash-module.d.ts +6 -0
- package/dist/entity-trash-module.d.ts.map +1 -1
- package/dist/erasure-module.d.ts +6 -0
- package/dist/erasure-module.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/membership-executor-suite.d.ts.map +1 -1
- package/dist/membership-executor-suite.js +14 -0
- package/dist/membership-executor-suite.js.map +1 -1
- package/dist/modules.d.ts +192 -0
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +4 -0
- package/dist/modules.js.map +1 -1
- package/dist/reserved-role-module.d.ts +14 -0
- package/dist/reserved-role-module.d.ts.map +1 -0
- package/dist/reserved-role-module.js +43 -0
- package/dist/reserved-role-module.js.map +1 -0
- package/dist/reserved-role-suite.d.ts +27 -0
- package/dist/reserved-role-suite.d.ts.map +1 -0
- package/dist/reserved-role-suite.js +250 -0
- package/dist/reserved-role-suite.js.map +1 -0
- package/dist/stamps-module.d.ts +6 -0
- package/dist/stamps-module.d.ts.map +1 -1
- package/dist/upload-link-module.d.ts +6 -0
- package/dist/upload-link-module.d.ts.map +1 -1
- package/dist/vertical-events-suite.d.ts +12 -0
- package/dist/vertical-events-suite.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
|
|
2
|
+
import { connectionId, instant, moduleId, orgId, platformActorId, principalId, scopeId, tenantId } from '@substrat-run/contracts';
|
|
3
|
+
import { ulid } from '@substrat-run/kernel';
|
|
4
|
+
import { expectRefusal } from './scope-host-suite.js';
|
|
5
|
+
import { permMod } from './modules.js';
|
|
6
|
+
import { RSV_RUN, RSV_USE, reservedRoleMod, unmarkedReservedRoleMod } from './reserved-role-module.js';
|
|
7
|
+
/**
|
|
8
|
+
* #2430: a key a registered module reserves to a system principal (`holder: 'system'`) is not
|
|
9
|
+
* handed to a person through a role or a raw grant, on either adapter.
|
|
10
|
+
*
|
|
11
|
+
* - A person's doors (`assignScopeRoleBounded`, `changeScopeRoleBounded`'s target, a membership
|
|
12
|
+
* add) refuse any role carrying one, and `canAssign` and `ctx.canAssign` answer as they do.
|
|
13
|
+
* - A reconcile of declared entity-grant shapes refuses a shape whose keys hold one, before it
|
|
14
|
+
* tops any holder up; a shape that only retires one reconciles.
|
|
15
|
+
* - The platform's door (`HostAdmin.assignRole`) refuses a role mixing reserved and other keys,
|
|
16
|
+
* at either node, and admits a role made only of reserved keys (K-55's system-held shape).
|
|
17
|
+
* - A raw grant (`HostAdmin.grant`, `grantToOrg`, `grantEntityShape`, `ctx.grant`) of a reserved
|
|
18
|
+
* key is refused whoever makes it — a person, or a system actor, which passes `ctx.grant`'s
|
|
19
|
+
* delegation re-check by construction. Its twin, a key no module reserves, passes.
|
|
20
|
+
* - So is a connection grant (`grantToConnection`), at either node: a connection acts for the
|
|
21
|
+
* external provider holding its token. Nothing is recorded for a later provision to deliver.
|
|
22
|
+
* - Each refusal writes nothing: the principal holds nothing afterwards.
|
|
23
|
+
*
|
|
24
|
+
* And the host option `permissions`: a host given its declared surface refuses to register a
|
|
25
|
+
* module the surface leaves out, and holds the reservations the surface declares whatever is
|
|
26
|
+
* registered under its ids.
|
|
27
|
+
*/
|
|
28
|
+
export function reservedRoleContractSuite(adapterName, makeFixture) {
|
|
29
|
+
describe(`reserved keys at the role and grant doors (#2430): ${adapterName}`, () => {
|
|
30
|
+
let fixture;
|
|
31
|
+
let host;
|
|
32
|
+
const t1 = tenantId.parse(ulid());
|
|
33
|
+
const s1 = scopeId.parse(ulid());
|
|
34
|
+
const staff = platformActorId.parse(ulid());
|
|
35
|
+
const alice = principalId.parse(ulid()); // holds rsv:use tenant-wide, and rsv:run through a reserved-only role
|
|
36
|
+
const person = () => principalId.parse(ulid());
|
|
37
|
+
const entity = () => ({ entityType: 'rsvdoc', entityId: ulid() });
|
|
38
|
+
const RSV = moduleId.parse('@test/reserved-role');
|
|
39
|
+
/** How a person's door refuses: worded for `canAssign`'s removal bound as well as for an assignment. */
|
|
40
|
+
const NO_BOUND = "no person's bound covers it, to give the role or to take it back";
|
|
41
|
+
const holds = async (who, permission, on) => {
|
|
42
|
+
const stub = await host.getScope(who, t1, s1);
|
|
43
|
+
return (await stub.invoke('perm/probe', { permission, entity: on })).allowed;
|
|
44
|
+
};
|
|
45
|
+
beforeAll(async () => {
|
|
46
|
+
fixture = await makeFixture();
|
|
47
|
+
host = fixture.host;
|
|
48
|
+
host.registerModule(reservedRoleMod);
|
|
49
|
+
host.registerModule(permMod); // its `perm/probe` reports what a principal holds
|
|
50
|
+
await host.admin.createTenant(staff, { id: t1, slug: 'reserved-role-tenant', name: 'Reserved' });
|
|
51
|
+
await host.admin.grantEntitlement(staff, t1, 'perm');
|
|
52
|
+
await host.admin.grantEntitlement(staff, t1, 'rsv');
|
|
53
|
+
await host.provisionScope(staff, { tenantId: t1, scopeId: s1, vertical: 'rsv-vertical' });
|
|
54
|
+
await host.admin.activateScope(staff, t1, s1);
|
|
55
|
+
await host.admin.defineRole(staff, t1, { key: 'member', permissions: [RSV_USE], source: 'vertical' });
|
|
56
|
+
await host.admin.defineRole(staff, t1, { key: 'mixed', permissions: [RSV_USE, RSV_RUN], source: 'vertical' });
|
|
57
|
+
await host.admin.defineRole(staff, t1, { key: 'runner', permissions: [RSV_RUN], source: 'vertical' });
|
|
58
|
+
await host.admin.grant(staff, { principalId: alice, permission: RSV_USE, node: { tenantId: t1, scopeId: null }, grantedBy: alice });
|
|
59
|
+
// The platform door admits a role made only of reserved keys, so alice can hold rsv:run.
|
|
60
|
+
await host.admin.assignRole(staff, { principalId: alice, roleKey: 'runner', node: { tenantId: t1, scopeId: null } });
|
|
61
|
+
// The system principal of the reserving module, holding both keys at the scope.
|
|
62
|
+
for (const permission of [RSV_USE, RSV_RUN]) {
|
|
63
|
+
await host.admin.grantToSystem(staff, { moduleId: RSV, permission, node: { tenantId: t1, scopeId: s1 }, grantedBy: staff });
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
afterAll(async () => {
|
|
67
|
+
await fixture?.cleanup();
|
|
68
|
+
});
|
|
69
|
+
describe('the platform’s door, HostAdmin.assignRole', () => {
|
|
70
|
+
it.each([
|
|
71
|
+
['the tenant node', null],
|
|
72
|
+
['a scope node', s1],
|
|
73
|
+
])('refuses a role mixing a reserved key with a person’s key, at %s, and writes nothing', async (_where, scope) => {
|
|
74
|
+
const who = person();
|
|
75
|
+
await expectRefusal(host.admin.assignRole(staff, { principalId: who, roleKey: 'mixed', node: { tenantId: t1, scopeId: scope } }), 'forbidden', /role 'mixed' holds rsv:run, reserved to a system principal, beside rsv:use/);
|
|
76
|
+
expect(await holds(who, RSV_USE)).toBe(false);
|
|
77
|
+
});
|
|
78
|
+
it.each([
|
|
79
|
+
['the tenant node', null],
|
|
80
|
+
['a scope node', s1],
|
|
81
|
+
])('admits a role made only of reserved keys (the system-held shape, K-55), at %s', async (_where, scope) => {
|
|
82
|
+
const hostPrincipal = person();
|
|
83
|
+
await host.admin.assignRole(staff, { principalId: hostPrincipal, roleKey: 'runner', node: { tenantId: t1, scopeId: scope } });
|
|
84
|
+
expect(await holds(hostPrincipal, RSV_RUN)).toBe(true);
|
|
85
|
+
});
|
|
86
|
+
it('admits a role of person keys', async () => {
|
|
87
|
+
const who = person();
|
|
88
|
+
await host.admin.assignRole(staff, { principalId: who, roleKey: 'member', node: { tenantId: t1, scopeId: s1 } });
|
|
89
|
+
expect(await holds(who, RSV_USE)).toBe(true);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
describe('a person’s doors', () => {
|
|
93
|
+
it.each(['runner', 'mixed'])('assignScopeRoleBounded refuses %s to a caller who holds it, and writes nothing', async (roleKey) => {
|
|
94
|
+
const who = person();
|
|
95
|
+
await expectRefusal(host.assignScopeRoleBounded(t1, s1, alice, who, roleKey), 'forbidden', new RegExp(`role '${roleKey}' holds rsv:run, reserved to a system principal: ${NO_BOUND}`));
|
|
96
|
+
expect(await host.listScopeRoleHolders(t1, s1, who)).toEqual([]);
|
|
97
|
+
expect(await holds(who, RSV_RUN)).toBe(false);
|
|
98
|
+
});
|
|
99
|
+
it('…and grants a role of person keys, as before', async () => {
|
|
100
|
+
const who = person();
|
|
101
|
+
expect(await host.assignScopeRoleBounded(t1, s1, alice, who, 'member')).toEqual({ covered: true, missing: [] });
|
|
102
|
+
expect(await holds(who, RSV_USE)).toBe(true);
|
|
103
|
+
});
|
|
104
|
+
it.each(['runner', 'mixed'])('changeScopeRoleBounded refuses moving someone into %s, and leaves the role they held', async (roleKey) => {
|
|
105
|
+
const who = person();
|
|
106
|
+
await host.assignScopeRoleBounded(t1, s1, alice, who, 'member');
|
|
107
|
+
await expectRefusal(host.changeScopeRoleBounded(t1, s1, alice, who, 'member', roleKey), 'forbidden', new RegExp(`role '${roleKey}' holds rsv:run.*${NO_BOUND}`));
|
|
108
|
+
expect(await host.listScopeRoleHolders(t1, s1, who)).toEqual([{ principal: who, roleKey: 'member' }]);
|
|
109
|
+
});
|
|
110
|
+
it('canAssign answers as the door does: a reserved role is refused, a person’s role is covered', async () => {
|
|
111
|
+
await expectRefusal(host.canAssign(t1, s1, alice, 'mixed'), 'forbidden', new RegExp(`role 'mixed' holds rsv:run.*${NO_BOUND}`));
|
|
112
|
+
expect(await host.canAssign(t1, s1, alice, 'member')).toEqual({ covered: true, missing: [] });
|
|
113
|
+
});
|
|
114
|
+
it('…and so does ctx.canAssign, inside an operation, for a caller who holds every key of the role', async () => {
|
|
115
|
+
const as = await host.getScope(alice, t1, s1);
|
|
116
|
+
await expectRefusal(as.invoke('perm/can-assign', { roleKey: 'mixed' }), 'forbidden', new RegExp(`role 'mixed' holds rsv:run.*${NO_BOUND}`));
|
|
117
|
+
await expectRefusal(as.invoke('perm/can-assign', { roleKey: 'runner' }), 'forbidden', new RegExp(`role 'runner' holds rsv:run.*${NO_BOUND}`));
|
|
118
|
+
expect(await as.invoke('perm/can-assign', { roleKey: 'member' })).toEqual({ covered: true, missing: [] });
|
|
119
|
+
});
|
|
120
|
+
it('a membership add of a reserved role applies nothing, and says why; its twin applies', async () => {
|
|
121
|
+
const who = person();
|
|
122
|
+
const add = (roleKey) => host.admin.applyMembership(staff, {
|
|
123
|
+
op: 'add',
|
|
124
|
+
tenantId: t1,
|
|
125
|
+
principal: who,
|
|
126
|
+
roleKey,
|
|
127
|
+
boundedBy: alice,
|
|
128
|
+
unlessRemovedSince: instant.parse(new Date(Date.now() - 60_000).toISOString()),
|
|
129
|
+
});
|
|
130
|
+
expect(await add('mixed')).toEqual({ applied: false, reserved: expect.stringMatching(new RegExp(`role 'mixed' holds rsv:run.*${NO_BOUND}`)) });
|
|
131
|
+
expect(await holds(who, RSV_USE)).toBe(false);
|
|
132
|
+
expect(await add('member')).toEqual({ applied: true });
|
|
133
|
+
expect(await holds(who, RSV_USE)).toBe(true);
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
describe('raw grants', () => {
|
|
137
|
+
it.each([
|
|
138
|
+
['the tenant node', null],
|
|
139
|
+
['a scope node', s1],
|
|
140
|
+
])('HostAdmin.grant refuses a reserved key at %s, and grants a person’s key', async (_where, scope) => {
|
|
141
|
+
const who = person();
|
|
142
|
+
await expectRefusal(host.admin.grant(staff, { principalId: who, permission: RSV_RUN, node: { tenantId: t1, scopeId: scope }, grantedBy: alice }), 'forbidden', /rsv:run cannot be granted to a principal, an org or a connection: reserved to a system principal/);
|
|
143
|
+
expect(await holds(who, RSV_RUN)).toBe(false);
|
|
144
|
+
await host.admin.grant(staff, { principalId: who, permission: RSV_USE, node: { tenantId: t1, scopeId: scope }, grantedBy: alice });
|
|
145
|
+
expect(await holds(who, RSV_USE)).toBe(true);
|
|
146
|
+
});
|
|
147
|
+
it('grantToOrg refuses a reserved key to an org, whose members are people', async () => {
|
|
148
|
+
const org = orgId.parse(ulid());
|
|
149
|
+
await host.admin.createOrg(staff, { id: org, tenantId: t1, slug: `rsv-${ulid().toLowerCase()}`, name: 'Org' });
|
|
150
|
+
await expectRefusal(host.admin.grantToOrg(staff, org, RSV_RUN, { tenantId: t1, scopeId: s1 }), 'forbidden', /rsv:run cannot be granted/);
|
|
151
|
+
await host.admin.grantToOrg(staff, org, RSV_USE, { tenantId: t1, scopeId: s1 });
|
|
152
|
+
});
|
|
153
|
+
it('grantEntityShape refuses a shape carrying a reserved key, and grants one that does not', async () => {
|
|
154
|
+
const who = person();
|
|
155
|
+
const on = entity();
|
|
156
|
+
const shape = (permissions) => host.admin.grantEntityShape(staff, { principalId: who, node: { tenantId: t1, scopeId: s1 }, entity: on, permissions, grantedBy: alice });
|
|
157
|
+
await expectRefusal(shape([RSV_USE, RSV_RUN]), 'forbidden', /rsv:run cannot be granted/);
|
|
158
|
+
expect(await holds(who, RSV_USE, on)).toBe(false);
|
|
159
|
+
await shape([RSV_USE]);
|
|
160
|
+
expect(await holds(who, RSV_USE, on)).toBe(true);
|
|
161
|
+
});
|
|
162
|
+
it.each([
|
|
163
|
+
['a scope node', s1],
|
|
164
|
+
['the tenant node', null],
|
|
165
|
+
])('grantToConnection refuses a reserved key at %s, recording nothing; its twin grants a person’s key', async (_where, scope) => {
|
|
166
|
+
const conn = connectionId.parse(ulid());
|
|
167
|
+
await host.admin.createConnection(staff, {
|
|
168
|
+
id: conn,
|
|
169
|
+
tenantId: t1,
|
|
170
|
+
vertical: 'rsv-vertical',
|
|
171
|
+
provider: `rsv-${conn.toLowerCase()}`,
|
|
172
|
+
label: 'reserved-key connection',
|
|
173
|
+
secret: { accessToken: 'tok' },
|
|
174
|
+
});
|
|
175
|
+
const grant = (permission) => host.admin.grantToConnection(staff, { connectionId: conn, permission, node: { tenantId: t1, scopeId: scope }, grantedBy: staff });
|
|
176
|
+
const recorded = async () => (await host.admin.listConnectionGrants(staff, t1)).filter((g) => g.connectionId === conn).map((g) => g.permission);
|
|
177
|
+
const connectionHolds = async (permission) => (await (await host.getConnectorScope(conn, s1)).invoke('perm/probe', { permission })).allowed;
|
|
178
|
+
await expectRefusal(grant(RSV_RUN), 'forbidden', /rsv:run cannot be granted to a principal, an org or a connection/);
|
|
179
|
+
expect(await recorded()).toEqual([]);
|
|
180
|
+
expect(await connectionHolds(RSV_RUN)).toBe(false);
|
|
181
|
+
await grant(RSV_USE);
|
|
182
|
+
expect(await recorded()).toEqual([RSV_USE]);
|
|
183
|
+
expect(await connectionHolds(RSV_USE)).toBe(true);
|
|
184
|
+
});
|
|
185
|
+
it('reconcileEntityGrantShapes refuses a shape holding a reserved key before topping anyone up; one only retiring it reconciles', async () => {
|
|
186
|
+
const who = person();
|
|
187
|
+
const on = entity();
|
|
188
|
+
const node = { tenantId: t1, scopeId: s1 };
|
|
189
|
+
await host.admin.grantEntityShape(staff, { principalId: who, node, entity: on, permissions: [RSV_USE], grantedBy: alice });
|
|
190
|
+
await expectRefusal(host.admin.reconcileEntityGrantShapes(staff, node, [{ entityType: 'rsvdoc', permissions: [RSV_USE, RSV_RUN], bootstrap: true }]), 'forbidden', /the entity grant shape on rsvdoc: rsv:run cannot be granted to a principal, an org or a connection/);
|
|
191
|
+
expect(await holds(who, RSV_RUN, on)).toBe(false);
|
|
192
|
+
const twin = await host.admin.reconcileEntityGrantShapes(staff, node, [{ entityType: 'rsvdoc', permissions: [RSV_USE], retired: [RSV_RUN], bootstrap: true }]);
|
|
193
|
+
expect(twin).toMatchObject({ toppedUp: 0, retired: 0 });
|
|
194
|
+
expect(await holds(who, RSV_USE, on)).toBe(true);
|
|
195
|
+
});
|
|
196
|
+
it('ctx.grant refuses a reserved key from a person who holds it, and shares a person’s key', async () => {
|
|
197
|
+
const who = person();
|
|
198
|
+
const on = entity();
|
|
199
|
+
const as = await host.getScope(alice, t1, s1);
|
|
200
|
+
await expectRefusal(as.invoke('rsv/share', { principal: who, permission: RSV_RUN, entity: on }), 'forbidden', /rsv:run cannot be granted/);
|
|
201
|
+
expect(await holds(who, RSV_RUN, on)).toBe(false);
|
|
202
|
+
await as.invoke('rsv/share', { principal: who, permission: RSV_USE, entity: on });
|
|
203
|
+
expect(await holds(who, RSV_USE, on)).toBe(true);
|
|
204
|
+
});
|
|
205
|
+
it('…and from a system actor, which holds the key and passes the delegation re-check by construction', async () => {
|
|
206
|
+
const who = person();
|
|
207
|
+
const on = entity();
|
|
208
|
+
const system = await host.getSystemScope(RSV, t1, s1);
|
|
209
|
+
await expectRefusal(system.invoke('rsv/share', { principal: who, permission: RSV_RUN, entity: on }), 'forbidden', /rsv:run cannot be granted/);
|
|
210
|
+
expect(await holds(who, RSV_RUN, on)).toBe(false);
|
|
211
|
+
await system.invoke('rsv/share', { principal: who, permission: RSV_USE, entity: on });
|
|
212
|
+
expect(await holds(who, RSV_USE, on)).toBe(true);
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
describe('the declared permission surface (`permissions`)', () => {
|
|
216
|
+
it('refuses to register a module the surface leaves out, naming it', async () => {
|
|
217
|
+
const other = await makeFixture({ permissions: { modules: [{ manifest: { id: '@test/elsewhere' } }] } });
|
|
218
|
+
try {
|
|
219
|
+
expect(() => other.host.registerModule(reservedRoleMod)).toThrow(/@test\/reserved-role is not in this host's permission surface \(the `permissions` it was given lists @test\/elsewhere\)/);
|
|
220
|
+
}
|
|
221
|
+
finally {
|
|
222
|
+
await other.cleanup();
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
it('…and registers one it lists', async () => {
|
|
226
|
+
const declared = await makeFixture({ permissions: { modules: [reservedRoleMod] } });
|
|
227
|
+
try {
|
|
228
|
+
expect(() => declared.host.registerModule(reservedRoleMod)).not.toThrow();
|
|
229
|
+
}
|
|
230
|
+
finally {
|
|
231
|
+
await declared.cleanup();
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
it('holds the reservation the surface declares when the module registered under its id sheds it', async () => {
|
|
235
|
+
const declared = await makeFixture({ permissions: { modules: [reservedRoleMod] } });
|
|
236
|
+
const t = tenantId.parse(ulid());
|
|
237
|
+
try {
|
|
238
|
+
declared.host.registerModule(unmarkedReservedRoleMod);
|
|
239
|
+
await declared.host.admin.createTenant(staff, { id: t, slug: `rsv-union-${t.slice(-10).toLowerCase()}`, name: 'Union' });
|
|
240
|
+
await declared.host.admin.defineRole(staff, t, { key: 'mixed', permissions: [RSV_USE, RSV_RUN], source: 'vertical' });
|
|
241
|
+
await expectRefusal(declared.host.admin.assignRole(staff, { principalId: person(), roleKey: 'mixed', node: { tenantId: t, scopeId: null } }), 'forbidden', /role 'mixed' holds rsv:run, reserved to a system principal/);
|
|
242
|
+
}
|
|
243
|
+
finally {
|
|
244
|
+
await declared.cleanup();
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=reserved-role-suite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reserved-role-suite.js","sourceRoot":"","sources":["../src/reserved-role-suite.ts"],"names":[],"mappings":"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"}
|
package/dist/stamps-module.d.ts
CHANGED
|
@@ -369,6 +369,12 @@ export declare const stampsManifest: {
|
|
|
369
369
|
operations: string[];
|
|
370
370
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
371
371
|
}[] | undefined;
|
|
372
|
+
connections?: {
|
|
373
|
+
provider: string;
|
|
374
|
+
operation: string;
|
|
375
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
376
|
+
options?: Record<string, unknown> | undefined;
|
|
377
|
+
}[] | undefined;
|
|
372
378
|
freshness?: {
|
|
373
379
|
eventType: string;
|
|
374
380
|
within: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stamps-module.d.ts","sourceRoot":"","sources":["../src/stamps-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,OAAO,EAA6C,KAAK,kBAAkB,EAAyB,MAAM,sBAAsB,CAAC;AAEjI,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,sCAAsC;AACtC,eAAO,MAAM,UAAU,6BAA6B,CAAC;AAErD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBzB,CAAC;AAEH,4FAA4F;AAC5F,eAAO,MAAM,WAAW,YAAI,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AACxF,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAOrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAJsC,MAAM;6BAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAEhE,MAAM;mCAAgB,IAAI;2BAAQ,cAAc;oCAAiB,CAAC;+BAAY,MAAM;wCAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsF5H,CAAC;AAEH,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"stamps-module.d.ts","sourceRoot":"","sources":["../src/stamps-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,OAAO,EAA6C,KAAK,kBAAkB,EAAyB,MAAM,sBAAsB,CAAC;AAEjI,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,sCAAsC;AACtC,eAAO,MAAM,UAAU,6BAA6B,CAAC;AAErD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBzB,CAAC;AAEH,4FAA4F;AAC5F,eAAO,MAAM,WAAW,YAAI,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AACxF,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAOrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAJsC,MAAM;6BAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAEhE,MAAM;mCAAgB,IAAI;2BAAQ,cAAc;oCAAiB,CAAC;+BAAY,MAAM;wCAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsF5H,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWzB,CAAC;AA8BH,eAAO,MAAM,SAAS,EAAE,kBAgFvB,CAAC"}
|
|
@@ -75,6 +75,12 @@ export declare const uploadLinkModManifest: {
|
|
|
75
75
|
operations: string[];
|
|
76
76
|
permissions: (string & import("zod").$brand<"PermissionKey">)[];
|
|
77
77
|
}[] | undefined;
|
|
78
|
+
connections?: {
|
|
79
|
+
provider: string;
|
|
80
|
+
operation: string;
|
|
81
|
+
permission: string & import("zod").$brand<"PermissionKey">;
|
|
82
|
+
options?: Record<string, unknown> | undefined;
|
|
83
|
+
}[] | undefined;
|
|
78
84
|
freshness?: {
|
|
79
85
|
eventType: string;
|
|
80
86
|
within: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-link-module.d.ts","sourceRoot":"","sources":["../src/upload-link-module.ts"],"names":[],"mappings":"AAsBA,OAAO,EAEL,KAAK,kBAAkB,EAIxB,MAAM,sBAAsB,CAAC;AAG9B,eAAO,MAAM,QAAQ,gDAAkC,CAAC;AACxD,eAAO,MAAM,SAAS,gDAAmC,CAAC;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,iBAAiB,YAAI,iBAAiB,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AACvF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,YAAI,SAAS,EAAE,eAAe,CAAU,CAAC;AAC3E,iDAAiD;AACjD,eAAO,MAAM,sBAAsB,YAAI,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,CAAU,CAAC;AAEvG,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"upload-link-module.d.ts","sourceRoot":"","sources":["../src/upload-link-module.ts"],"names":[],"mappings":"AAsBA,OAAO,EAEL,KAAK,kBAAkB,EAIxB,MAAM,sBAAsB,CAAC;AAG9B,eAAO,MAAM,QAAQ,gDAAkC,CAAC;AACxD,eAAO,MAAM,SAAS,gDAAmC,CAAC;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,iBAAiB,YAAI,iBAAiB,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AACvF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,YAAI,SAAS,EAAE,eAAe,CAAU,CAAC;AAC3E,iDAAiD;AACjD,eAAO,MAAM,sBAAsB,YAAI,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,CAAU,CAAC;AAEvG,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ChC,CAAC;AAgBH,eAAO,MAAM,aAAa,EAAE,kBAyE3B,CAAC"}
|
|
@@ -70,6 +70,12 @@ export declare const crmExportModManifest: {
|
|
|
70
70
|
operations: string[];
|
|
71
71
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
72
72
|
}[] | undefined;
|
|
73
|
+
connections?: {
|
|
74
|
+
provider: string;
|
|
75
|
+
operation: string;
|
|
76
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
77
|
+
options?: Record<string, unknown> | undefined;
|
|
78
|
+
}[] | undefined;
|
|
73
79
|
freshness?: {
|
|
74
80
|
eventType: string;
|
|
75
81
|
within: {
|
|
@@ -232,6 +238,12 @@ export declare const boardImportModManifest: {
|
|
|
232
238
|
operations: string[];
|
|
233
239
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
234
240
|
}[] | undefined;
|
|
241
|
+
connections?: {
|
|
242
|
+
provider: string;
|
|
243
|
+
operation: string;
|
|
244
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
245
|
+
options?: Record<string, unknown> | undefined;
|
|
246
|
+
}[] | undefined;
|
|
235
247
|
freshness?: {
|
|
236
248
|
eventType: string;
|
|
237
249
|
within: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertical-events-suite.d.ts","sourceRoot":"","sources":["../src/vertical-events-suite.ts"],"names":[],"mappings":"AACA,OAAO,EASL,CAAC,EAED,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGtB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAOL,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAGvB,KAAK,SAAS,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA4D,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAiBvH,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,cAAc,eAAe,CAAC;AAI3C,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"vertical-events-suite.d.ts","sourceRoot":"","sources":["../src/vertical-events-suite.ts"],"names":[],"mappings":"AACA,OAAO,EASL,CAAC,EAED,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGtB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAOL,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAGvB,KAAK,SAAS,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA4D,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAiBvH,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,cAAc,eAAe,CAAC;AAI3C,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC/B,CAAC;AAiFH,eAAO,MAAM,YAAY,EAAE,kBAuC1B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCjC,CAAC;AAgDH,eAAO,MAAM,cAAc,EAAE,kBAmE5B,CAAC;AAIF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACnD;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrG;;;OAGG;IACH,IAAI,CAAC,EAAE,CACL,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC,CAAC;IACtG;;;;OAIG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACpD;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAChD,IAAI,CAy8CN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/contract-tests",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.155.0",
|
|
4
4
|
"description": "The suite every scope-host adapter must pass, forever (D-14)",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"dist"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@substrat-run/
|
|
34
|
-
"@substrat-run/
|
|
33
|
+
"@substrat-run/kernel": "^0.155.0",
|
|
34
|
+
"@substrat-run/contracts": "^0.155.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/node": "^22.20.5",
|