@substrat-run/contract-tests 0.152.0 → 0.154.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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- 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 +172 -0
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +46 -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/schedule-platform-requests-suite.d.ts +12 -0
- package/dist/schedule-platform-requests-suite.d.ts.map +1 -0
- package/dist/schedule-platform-requests-suite.js +55 -0
- package/dist/schedule-platform-requests-suite.js.map +1 -0
- package/package.json +3 -3
package/dist/modules.d.ts
CHANGED
|
@@ -2664,6 +2664,178 @@ export declare const deniedScheduleModManifest: {
|
|
|
2664
2664
|
} | undefined;
|
|
2665
2665
|
};
|
|
2666
2666
|
export declare const deniedScheduleMod: ModuleRegistration;
|
|
2667
|
+
/** #2431: the kind `schedRequestMod`'s schedules enqueue. */
|
|
2668
|
+
export declare const SCHED_REQUEST_KIND = "test.scheduled-send";
|
|
2669
|
+
/**
|
|
2670
|
+
* #2431: schedules that enqueue platform requests, for `schedulePlatformRequestsContractSuite`.
|
|
2671
|
+
* `sched-request/send` commits two, so a report carries a count rather than a flag;
|
|
2672
|
+
* `sched-request/send-then-fail` enqueues one and throws, so its transaction takes the request
|
|
2673
|
+
* back with it and a count that included it would be one too many. A module of its own, so no
|
|
2674
|
+
* other suite's schedule counts move; `entitlementKey` is `scheduleMod`'s SKU, as
|
|
2675
|
+
* `deniedScheduleMod`'s is.
|
|
2676
|
+
*/
|
|
2677
|
+
export declare const schedRequestModManifest: {
|
|
2678
|
+
id: string & z.$brand<"ModuleId">;
|
|
2679
|
+
version: string;
|
|
2680
|
+
kernelContract: string;
|
|
2681
|
+
permissions: {
|
|
2682
|
+
key: string & z.$brand<"PermissionKey">;
|
|
2683
|
+
description: string;
|
|
2684
|
+
holder?: "system" | undefined;
|
|
2685
|
+
}[];
|
|
2686
|
+
events: {
|
|
2687
|
+
emits: {
|
|
2688
|
+
type: string;
|
|
2689
|
+
schemaVersion: number;
|
|
2690
|
+
}[];
|
|
2691
|
+
consumes: {
|
|
2692
|
+
type: string;
|
|
2693
|
+
schemaVersion: number;
|
|
2694
|
+
from?: string | undefined;
|
|
2695
|
+
}[];
|
|
2696
|
+
exports?: {
|
|
2697
|
+
type: string;
|
|
2698
|
+
schemaVersion: number;
|
|
2699
|
+
readPermission: string & z.$brand<"PermissionKey">;
|
|
2700
|
+
}[] | undefined;
|
|
2701
|
+
};
|
|
2702
|
+
migrations: {
|
|
2703
|
+
journalDir: string;
|
|
2704
|
+
compatibleFrom: string;
|
|
2705
|
+
};
|
|
2706
|
+
attachmentTargets: {
|
|
2707
|
+
entityType: string;
|
|
2708
|
+
readPermission: string & z.$brand<"PermissionKey">;
|
|
2709
|
+
writePermission?: (string & z.$brand<"PermissionKey">) | undefined;
|
|
2710
|
+
uploadLinks?: {
|
|
2711
|
+
maxBytes: number;
|
|
2712
|
+
contentTypes?: string[] | undefined;
|
|
2713
|
+
} | undefined;
|
|
2714
|
+
}[];
|
|
2715
|
+
liveTargets?: {
|
|
2716
|
+
entityType: string;
|
|
2717
|
+
readPermission: string & z.$brand<"PermissionKey">;
|
|
2718
|
+
}[] | undefined;
|
|
2719
|
+
entityRelations?: {
|
|
2720
|
+
entityType: string;
|
|
2721
|
+
parentType: string;
|
|
2722
|
+
}[] | undefined;
|
|
2723
|
+
guards?: {
|
|
2724
|
+
before: string;
|
|
2725
|
+
predicate: string;
|
|
2726
|
+
config: Record<string, unknown>;
|
|
2727
|
+
}[] | undefined;
|
|
2728
|
+
schedules?: {
|
|
2729
|
+
operation: string;
|
|
2730
|
+
cadence: {
|
|
2731
|
+
everyMinutes: number;
|
|
2732
|
+
};
|
|
2733
|
+
input?: Record<string, unknown> | undefined;
|
|
2734
|
+
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
2735
|
+
purge?: {
|
|
2736
|
+
entityType: string;
|
|
2737
|
+
} | undefined;
|
|
2738
|
+
}[] | undefined;
|
|
2739
|
+
peers?: {
|
|
2740
|
+
vertical: string;
|
|
2741
|
+
operations: string[];
|
|
2742
|
+
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
2743
|
+
}[] | undefined;
|
|
2744
|
+
freshness?: {
|
|
2745
|
+
eventType: string;
|
|
2746
|
+
within: {
|
|
2747
|
+
hours: number;
|
|
2748
|
+
};
|
|
2749
|
+
}[] | undefined;
|
|
2750
|
+
withdraws?: string[] | undefined;
|
|
2751
|
+
entitlementKey: string;
|
|
2752
|
+
envSpec?: {
|
|
2753
|
+
key: string;
|
|
2754
|
+
label?: string | undefined;
|
|
2755
|
+
description: string;
|
|
2756
|
+
placeholder?: string | undefined;
|
|
2757
|
+
required: boolean;
|
|
2758
|
+
secret: boolean;
|
|
2759
|
+
default?: string | undefined;
|
|
2760
|
+
group?: string | undefined;
|
|
2761
|
+
}[] | undefined;
|
|
2762
|
+
ownerGrants?: (string & z.$brand<"PermissionKey">)[] | undefined;
|
|
2763
|
+
entitlements?: string[] | undefined;
|
|
2764
|
+
provides?: string[] | undefined;
|
|
2765
|
+
requires?: string[] | undefined;
|
|
2766
|
+
api?: string | undefined;
|
|
2767
|
+
searchables?: {
|
|
2768
|
+
entityType: string;
|
|
2769
|
+
fields: string[];
|
|
2770
|
+
table?: string | undefined;
|
|
2771
|
+
idColumn?: string | undefined;
|
|
2772
|
+
tokenizer?: "prefix" | "substring" | undefined;
|
|
2773
|
+
}[] | undefined;
|
|
2774
|
+
lists?: {
|
|
2775
|
+
entityType: string;
|
|
2776
|
+
sortable: string[];
|
|
2777
|
+
filterable?: string[] | undefined;
|
|
2778
|
+
table?: string | undefined;
|
|
2779
|
+
idColumn?: string | undefined;
|
|
2780
|
+
}[] | undefined;
|
|
2781
|
+
entityStates?: {
|
|
2782
|
+
archivePermission?: (string & z.$brand<"PermissionKey">) | undefined;
|
|
2783
|
+
trashPermission?: (string & z.$brand<"PermissionKey">) | undefined;
|
|
2784
|
+
purgeAfterDays?: number | undefined;
|
|
2785
|
+
purgeEarly?: boolean | undefined;
|
|
2786
|
+
table?: string | undefined;
|
|
2787
|
+
idColumn?: string | undefined;
|
|
2788
|
+
entityType: string;
|
|
2789
|
+
}[] | undefined;
|
|
2790
|
+
erasure?: {
|
|
2791
|
+
tables: string[];
|
|
2792
|
+
entities: {
|
|
2793
|
+
entityType: string;
|
|
2794
|
+
table: string;
|
|
2795
|
+
mode: "blank" | "custom" | "delete" | "unreached";
|
|
2796
|
+
subjects?: string[] | undefined;
|
|
2797
|
+
fields: {
|
|
2798
|
+
name: string;
|
|
2799
|
+
blank: "" | null;
|
|
2800
|
+
}[];
|
|
2801
|
+
}[];
|
|
2802
|
+
} | undefined;
|
|
2803
|
+
updatedStamps?: {
|
|
2804
|
+
table: string;
|
|
2805
|
+
idColumn: string;
|
|
2806
|
+
at?: string | undefined;
|
|
2807
|
+
by?: string | undefined;
|
|
2808
|
+
entityType: string;
|
|
2809
|
+
}[] | undefined;
|
|
2810
|
+
ui?: {
|
|
2811
|
+
routes?: {
|
|
2812
|
+
path: string;
|
|
2813
|
+
screen: string;
|
|
2814
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
2815
|
+
}[] | undefined;
|
|
2816
|
+
nav?: {
|
|
2817
|
+
label: string;
|
|
2818
|
+
icon?: string | undefined;
|
|
2819
|
+
to: string;
|
|
2820
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
2821
|
+
}[] | undefined;
|
|
2822
|
+
entityViews?: {
|
|
2823
|
+
entityType: string;
|
|
2824
|
+
view: string;
|
|
2825
|
+
}[] | undefined;
|
|
2826
|
+
widgets?: {
|
|
2827
|
+
slot: string;
|
|
2828
|
+
component: string;
|
|
2829
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
2830
|
+
}[] | undefined;
|
|
2831
|
+
settingsPanels?: {
|
|
2832
|
+
label: string;
|
|
2833
|
+
component: string;
|
|
2834
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
2835
|
+
}[] | undefined;
|
|
2836
|
+
} | undefined;
|
|
2837
|
+
};
|
|
2838
|
+
export declare const schedRequestMod: ModuleRegistration;
|
|
2667
2839
|
/**
|
|
2668
2840
|
* #1654's ENGINE: a module composed by call into `composerMod`, with a SKU of its own
|
|
2669
2841
|
* (`composed-engine`) that the suite's tenant never holds — the shape of `engine-absence`
|
package/dist/modules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAaL,CAAC,EAOF,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
package/dist/modules.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { dataSubjectId, moduleManifest, operationInputsOf, operationConcurrencyOf, operationIdempotencyOptOutsOf, IDEMPOTENCY_RESULT_LIMIT, permissionKey, pageVisible, principalId, assertTransition, nameRefusedRecord, z, KERNEL_AUTHORED_EVENT_TYPES, substratError, } from '@substrat-run/contracts';
|
|
11
11
|
import { membershipFixtureMod } from './membership-module.js';
|
|
12
|
+
import { reservedRoleMod } from './reserved-role-module.js';
|
|
12
13
|
import { rebuildMod, stateMod } from './entity-state-module.js';
|
|
13
14
|
import { trashFloorMod, trashMod } from './entity-trash-module.js';
|
|
14
15
|
import { derivedMod } from './derived-module.js';
|
|
@@ -1220,6 +1221,45 @@ export const deniedScheduleMod = {
|
|
|
1220
1221
|
}),
|
|
1221
1222
|
}),
|
|
1222
1223
|
};
|
|
1224
|
+
/** #2431: the kind `schedRequestMod`'s schedules enqueue. */
|
|
1225
|
+
export const SCHED_REQUEST_KIND = 'test.scheduled-send';
|
|
1226
|
+
/**
|
|
1227
|
+
* #2431: schedules that enqueue platform requests, for `schedulePlatformRequestsContractSuite`.
|
|
1228
|
+
* `sched-request/send` commits two, so a report carries a count rather than a flag;
|
|
1229
|
+
* `sched-request/send-then-fail` enqueues one and throws, so its transaction takes the request
|
|
1230
|
+
* back with it and a count that included it would be one too many. A module of its own, so no
|
|
1231
|
+
* other suite's schedule counts move; `entitlementKey` is `scheduleMod`'s SKU, as
|
|
1232
|
+
* `deniedScheduleMod`'s is.
|
|
1233
|
+
*/
|
|
1234
|
+
export const schedRequestModManifest = moduleManifest.parse({
|
|
1235
|
+
id: '@test/sched-request',
|
|
1236
|
+
version: '1.0.0',
|
|
1237
|
+
kernelContract: '^0.0.1',
|
|
1238
|
+
permissions: [{ key: 'sched-request:send', description: 'enqueue the scheduled platform requests' }],
|
|
1239
|
+
events: { emits: [], consumes: [] },
|
|
1240
|
+
migrations: { journalDir: './migrations', compatibleFrom: '1.0.0' },
|
|
1241
|
+
attachmentTargets: [],
|
|
1242
|
+
entitlementKey: 'sched',
|
|
1243
|
+
schedules: [
|
|
1244
|
+
{ operation: 'sched-request/send', cadence: { everyMinutes: 60 }, permissions: ['sched-request:send'] },
|
|
1245
|
+
{ operation: 'sched-request/send-then-fail', cadence: { everyMinutes: 60 }, permissions: ['sched-request:send'] },
|
|
1246
|
+
],
|
|
1247
|
+
});
|
|
1248
|
+
export const schedRequestMod = {
|
|
1249
|
+
manifest: schedRequestModManifest,
|
|
1250
|
+
...testOperations({
|
|
1251
|
+
'sched-request/send': (async (ctx) => {
|
|
1252
|
+
assertAllowed(await ctx.check('sched-request:send'));
|
|
1253
|
+
ctx.requestPlatform({ kind: SCHED_REQUEST_KIND, payload: { n: 1 } });
|
|
1254
|
+
ctx.requestPlatform({ kind: SCHED_REQUEST_KIND, payload: { n: 2 } });
|
|
1255
|
+
}),
|
|
1256
|
+
'sched-request/send-then-fail': (async (ctx) => {
|
|
1257
|
+
assertAllowed(await ctx.check('sched-request:send'));
|
|
1258
|
+
ctx.requestPlatform({ kind: SCHED_REQUEST_KIND, payload: { n: 3 } });
|
|
1259
|
+
throw new Error('refused after enqueuing');
|
|
1260
|
+
}),
|
|
1261
|
+
}),
|
|
1262
|
+
};
|
|
1223
1263
|
// -- #1654: a composed engine's own schedule, on a tenant holding only the vertical's key --
|
|
1224
1264
|
/**
|
|
1225
1265
|
* #1654's ENGINE: a module composed by call into `composerMod`, with a SKU of its own
|
|
@@ -2605,6 +2645,9 @@ export const contractTestModules = [
|
|
|
2605
2645
|
// `ctx.check` ever runs, which still counts as a failed schedule but records no
|
|
2606
2646
|
// denial. Inert for every other suite — nothing else invokes `sched-denied/tick`.
|
|
2607
2647
|
deniedScheduleMod,
|
|
2648
|
+
// #2431: schedules that enqueue platform requests, here for the same reason. Inert for every
|
|
2649
|
+
// other suite — its schedules run only on a host that registers it.
|
|
2650
|
+
schedRequestMod,
|
|
2608
2651
|
// #1654: the composed engine and the vertical composing it. Inert for every other suite —
|
|
2609
2652
|
// only `scheduleEntitlementContractSuite` registers them on a host, so no other scope is
|
|
2610
2653
|
// seated their system grant or reads their table.
|
|
@@ -2627,6 +2670,9 @@ export const contractTestModules = [
|
|
|
2627
2670
|
// #2166: the updated-stamps suite's module. Inert for every other suite — nothing else reads
|
|
2628
2671
|
// its tables or invokes a `stamps/*` operation.
|
|
2629
2672
|
stampsMod,
|
|
2673
|
+
// #2430: the reserved-role suite's module. Its `rsv:run` is reserved to a system principal on
|
|
2674
|
+
// every scope in the kit, which refuses nothing elsewhere: no other suite defines a role with it.
|
|
2675
|
+
reservedRoleMod,
|
|
2630
2676
|
// #2068: the subject-erasure suite's modules. Every scope in the kit carries them, so every
|
|
2631
2677
|
// `shredSubject` in every suite runs their declared erasure and their hook — which reaches
|
|
2632
2678
|
// only `er_*` tables nothing else writes, and misbehaves only for a subject the erasure suite
|