@substrat-run/contract-tests 0.98.0 → 0.102.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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modules.d.ts +236 -0
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +32 -3
- package/dist/modules.js.map +1 -1
- package/dist/schedule-suite.d.ts.map +1 -1
- package/dist/schedule-suite.js +9 -1
- package/dist/schedule-suite.js.map +1 -1
- package/dist/scope-host-suite.d.ts +7 -0
- package/dist/scope-host-suite.d.ts.map +1 -1
- package/dist/scope-host-suite.js +255 -0
- package/dist/scope-host-suite.js.map +1 -1
- package/dist/timeline-suite.d.ts.map +1 -1
- package/dist/timeline-suite.js +6 -0
- package/dist/timeline-suite.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,6 @@ export { nodeOnlySuite, declaredNodeOnlySuite } from './node-only-suite.js';
|
|
|
18
18
|
export type { NodeOnlyOptions } from './node-only-suite.js';
|
|
19
19
|
export { declareEntityChecks, declareNodeOnly, assertNodeOnly } from './conformance.js';
|
|
20
20
|
export type { ConformanceDeclaration, DrivenConformance, DeclaredNodeOnlyConformance, AssertedNodeOnlyConformance, } from './conformance.js';
|
|
21
|
-
export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, permMod, scheduleMod, searchMod, searchModManifest, listMod, listModManifest, parseMod, parseModManifest, } from './modules.js';
|
|
21
|
+
export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, permMod, scheduleMod, freshnessMod, searchMod, searchModManifest, listMod, listModManifest, parseMod, parseModManifest, } from './modules.js';
|
|
22
22
|
export { connectorCalls, connectorTestFetch, resetConnectorCalls, type ConnectorCall, } from './connector-fixture.js';
|
|
23
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxF,YAAY,EACV,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,eAAe,EACf,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxF,YAAY,EACV,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,eAAe,EACf,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,6 @@ export { spineGuardContractSuite } from './spine-guard-suite.js';
|
|
|
14
14
|
export { entityCheckConformanceSuite, planEntityCheckCoverage } from './entity-check-suite.js';
|
|
15
15
|
export { nodeOnlySuite, declaredNodeOnlySuite } from './node-only-suite.js';
|
|
16
16
|
export { declareEntityChecks, declareNodeOnly, assertNodeOnly } from './conformance.js';
|
|
17
|
-
export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, permMod, scheduleMod, searchMod, searchModManifest, listMod, listModManifest, parseMod, parseModManifest, } from './modules.js';
|
|
17
|
+
export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, permMod, scheduleMod, freshnessMod, searchMod, searchModManifest, listMod, listModManifest, parseMod, parseModManifest, } from './modules.js';
|
|
18
18
|
export { connectorCalls, connectorTestFetch, resetConnectorCalls, } from './connector-fixture.js';
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOxF,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,eAAe,EACf,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOxF,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,eAAe,EACf,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,wBAAwB,CAAC"}
|
package/dist/modules.d.ts
CHANGED
|
@@ -53,6 +53,12 @@ export declare const testModManifest: {
|
|
|
53
53
|
input?: Record<string, unknown> | undefined;
|
|
54
54
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
55
55
|
}[] | undefined;
|
|
56
|
+
freshness?: {
|
|
57
|
+
eventType: string;
|
|
58
|
+
within: {
|
|
59
|
+
hours: number;
|
|
60
|
+
};
|
|
61
|
+
}[] | undefined;
|
|
56
62
|
withdraws?: string[] | undefined;
|
|
57
63
|
entitlementKey: string;
|
|
58
64
|
envSpec?: {
|
|
@@ -156,6 +162,127 @@ export declare const scheduleModManifest: {
|
|
|
156
162
|
input?: Record<string, unknown> | undefined;
|
|
157
163
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
158
164
|
}[] | undefined;
|
|
165
|
+
freshness?: {
|
|
166
|
+
eventType: string;
|
|
167
|
+
within: {
|
|
168
|
+
hours: number;
|
|
169
|
+
};
|
|
170
|
+
}[] | undefined;
|
|
171
|
+
withdraws?: string[] | undefined;
|
|
172
|
+
entitlementKey: string;
|
|
173
|
+
envSpec?: {
|
|
174
|
+
key: string;
|
|
175
|
+
label?: string | undefined;
|
|
176
|
+
description: string;
|
|
177
|
+
placeholder?: string | undefined;
|
|
178
|
+
required: boolean;
|
|
179
|
+
secret: boolean;
|
|
180
|
+
default?: string | undefined;
|
|
181
|
+
group?: string | undefined;
|
|
182
|
+
}[] | undefined;
|
|
183
|
+
ownerGrants?: (string & z.$brand<"PermissionKey">)[] | undefined;
|
|
184
|
+
entitlements?: string[] | undefined;
|
|
185
|
+
provides?: string[] | undefined;
|
|
186
|
+
requires?: string[] | undefined;
|
|
187
|
+
api?: string | undefined;
|
|
188
|
+
searchables?: {
|
|
189
|
+
entityType: string;
|
|
190
|
+
fields: string[];
|
|
191
|
+
table?: string | undefined;
|
|
192
|
+
idColumn?: string | undefined;
|
|
193
|
+
tokenizer?: "prefix" | "substring" | undefined;
|
|
194
|
+
}[] | undefined;
|
|
195
|
+
lists?: {
|
|
196
|
+
entityType: string;
|
|
197
|
+
sortable: string[];
|
|
198
|
+
filterable?: string[] | undefined;
|
|
199
|
+
table?: string | undefined;
|
|
200
|
+
idColumn?: string | undefined;
|
|
201
|
+
}[] | undefined;
|
|
202
|
+
ui?: {
|
|
203
|
+
routes?: {
|
|
204
|
+
path: string;
|
|
205
|
+
screen: string;
|
|
206
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
207
|
+
}[] | undefined;
|
|
208
|
+
nav?: {
|
|
209
|
+
label: string;
|
|
210
|
+
icon?: string | undefined;
|
|
211
|
+
to: string;
|
|
212
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
213
|
+
}[] | undefined;
|
|
214
|
+
entityViews?: {
|
|
215
|
+
entityType: string;
|
|
216
|
+
view: string;
|
|
217
|
+
}[] | undefined;
|
|
218
|
+
widgets?: {
|
|
219
|
+
slot: string;
|
|
220
|
+
component: string;
|
|
221
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
222
|
+
}[] | undefined;
|
|
223
|
+
settingsPanels?: {
|
|
224
|
+
label: string;
|
|
225
|
+
component: string;
|
|
226
|
+
permission: string & z.$brand<"PermissionKey">;
|
|
227
|
+
}[] | undefined;
|
|
228
|
+
} | undefined;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* #1232 regression fixture: a SECOND module expecting the same event type as
|
|
232
|
+
* scheduleMod, with a WIDER window. The evaluator must aggregate across modules
|
|
233
|
+
* to the tightest window and evaluate once per scope — per-module evaluation
|
|
234
|
+
* would fight over the shared gating-state key and dedupe unit.
|
|
235
|
+
*/
|
|
236
|
+
export declare const freshnessModManifest: {
|
|
237
|
+
id: string & z.$brand<"ModuleId">;
|
|
238
|
+
version: string;
|
|
239
|
+
kernelContract: string;
|
|
240
|
+
permissions: {
|
|
241
|
+
key: string & z.$brand<"PermissionKey">;
|
|
242
|
+
description: string;
|
|
243
|
+
}[];
|
|
244
|
+
events: {
|
|
245
|
+
emits: {
|
|
246
|
+
type: string;
|
|
247
|
+
schemaVersion: number;
|
|
248
|
+
}[];
|
|
249
|
+
consumes: {
|
|
250
|
+
type: string;
|
|
251
|
+
schemaVersion: number;
|
|
252
|
+
}[];
|
|
253
|
+
};
|
|
254
|
+
migrations: {
|
|
255
|
+
journalDir: string;
|
|
256
|
+
compatibleFrom: string;
|
|
257
|
+
};
|
|
258
|
+
attachmentTargets: {
|
|
259
|
+
entityType: string;
|
|
260
|
+
readPermission: string & z.$brand<"PermissionKey">;
|
|
261
|
+
writePermission?: (string & z.$brand<"PermissionKey">) | undefined;
|
|
262
|
+
}[];
|
|
263
|
+
entityRelations?: {
|
|
264
|
+
entityType: string;
|
|
265
|
+
parentType: string;
|
|
266
|
+
}[] | undefined;
|
|
267
|
+
guards?: {
|
|
268
|
+
before: string;
|
|
269
|
+
predicate: string;
|
|
270
|
+
config: Record<string, unknown>;
|
|
271
|
+
}[] | undefined;
|
|
272
|
+
schedules?: {
|
|
273
|
+
operation: string;
|
|
274
|
+
cadence: {
|
|
275
|
+
everyMinutes: number;
|
|
276
|
+
};
|
|
277
|
+
input?: Record<string, unknown> | undefined;
|
|
278
|
+
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
279
|
+
}[] | undefined;
|
|
280
|
+
freshness?: {
|
|
281
|
+
eventType: string;
|
|
282
|
+
within: {
|
|
283
|
+
hours: number;
|
|
284
|
+
};
|
|
285
|
+
}[] | undefined;
|
|
159
286
|
withdraws?: string[] | undefined;
|
|
160
287
|
entitlementKey: string;
|
|
161
288
|
envSpec?: {
|
|
@@ -215,6 +342,7 @@ export declare const scheduleModManifest: {
|
|
|
215
342
|
}[] | undefined;
|
|
216
343
|
} | undefined;
|
|
217
344
|
};
|
|
345
|
+
export declare const freshnessMod: ModuleRegistration;
|
|
218
346
|
export declare const flowModManifest: {
|
|
219
347
|
id: string & z.$brand<"ModuleId">;
|
|
220
348
|
version: string;
|
|
@@ -259,6 +387,12 @@ export declare const flowModManifest: {
|
|
|
259
387
|
input?: Record<string, unknown> | undefined;
|
|
260
388
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
261
389
|
}[] | undefined;
|
|
390
|
+
freshness?: {
|
|
391
|
+
eventType: string;
|
|
392
|
+
within: {
|
|
393
|
+
hours: number;
|
|
394
|
+
};
|
|
395
|
+
}[] | undefined;
|
|
262
396
|
withdraws?: string[] | undefined;
|
|
263
397
|
entitlementKey: string;
|
|
264
398
|
envSpec?: {
|
|
@@ -362,6 +496,12 @@ export declare const atomicModManifest: {
|
|
|
362
496
|
input?: Record<string, unknown> | undefined;
|
|
363
497
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
364
498
|
}[] | undefined;
|
|
499
|
+
freshness?: {
|
|
500
|
+
eventType: string;
|
|
501
|
+
within: {
|
|
502
|
+
hours: number;
|
|
503
|
+
};
|
|
504
|
+
}[] | undefined;
|
|
365
505
|
withdraws?: string[] | undefined;
|
|
366
506
|
entitlementKey: string;
|
|
367
507
|
envSpec?: {
|
|
@@ -465,6 +605,12 @@ export declare const lateModManifest: {
|
|
|
465
605
|
input?: Record<string, unknown> | undefined;
|
|
466
606
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
467
607
|
}[] | undefined;
|
|
608
|
+
freshness?: {
|
|
609
|
+
eventType: string;
|
|
610
|
+
within: {
|
|
611
|
+
hours: number;
|
|
612
|
+
};
|
|
613
|
+
}[] | undefined;
|
|
468
614
|
withdraws?: string[] | undefined;
|
|
469
615
|
entitlementKey: string;
|
|
470
616
|
envSpec?: {
|
|
@@ -568,6 +714,12 @@ export declare const billedModManifest: {
|
|
|
568
714
|
input?: Record<string, unknown> | undefined;
|
|
569
715
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
570
716
|
}[] | undefined;
|
|
717
|
+
freshness?: {
|
|
718
|
+
eventType: string;
|
|
719
|
+
within: {
|
|
720
|
+
hours: number;
|
|
721
|
+
};
|
|
722
|
+
}[] | undefined;
|
|
571
723
|
withdraws?: string[] | undefined;
|
|
572
724
|
entitlementKey: string;
|
|
573
725
|
envSpec?: {
|
|
@@ -671,6 +823,12 @@ export declare const guardedModManifest: {
|
|
|
671
823
|
input?: Record<string, unknown> | undefined;
|
|
672
824
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
673
825
|
}[] | undefined;
|
|
826
|
+
freshness?: {
|
|
827
|
+
eventType: string;
|
|
828
|
+
within: {
|
|
829
|
+
hours: number;
|
|
830
|
+
};
|
|
831
|
+
}[] | undefined;
|
|
674
832
|
withdraws?: string[] | undefined;
|
|
675
833
|
entitlementKey: string;
|
|
676
834
|
envSpec?: {
|
|
@@ -774,6 +932,12 @@ export declare const withdrawEarlyManifest: {
|
|
|
774
932
|
input?: Record<string, unknown> | undefined;
|
|
775
933
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
776
934
|
}[] | undefined;
|
|
935
|
+
freshness?: {
|
|
936
|
+
eventType: string;
|
|
937
|
+
within: {
|
|
938
|
+
hours: number;
|
|
939
|
+
};
|
|
940
|
+
}[] | undefined;
|
|
777
941
|
withdraws?: string[] | undefined;
|
|
778
942
|
entitlementKey: string;
|
|
779
943
|
envSpec?: {
|
|
@@ -877,6 +1041,12 @@ export declare const victimModManifest: {
|
|
|
877
1041
|
input?: Record<string, unknown> | undefined;
|
|
878
1042
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
879
1043
|
}[] | undefined;
|
|
1044
|
+
freshness?: {
|
|
1045
|
+
eventType: string;
|
|
1046
|
+
within: {
|
|
1047
|
+
hours: number;
|
|
1048
|
+
};
|
|
1049
|
+
}[] | undefined;
|
|
880
1050
|
withdraws?: string[] | undefined;
|
|
881
1051
|
entitlementKey: string;
|
|
882
1052
|
envSpec?: {
|
|
@@ -980,6 +1150,12 @@ export declare const withdrawLateManifest: {
|
|
|
980
1150
|
input?: Record<string, unknown> | undefined;
|
|
981
1151
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
982
1152
|
}[] | undefined;
|
|
1153
|
+
freshness?: {
|
|
1154
|
+
eventType: string;
|
|
1155
|
+
within: {
|
|
1156
|
+
hours: number;
|
|
1157
|
+
};
|
|
1158
|
+
}[] | undefined;
|
|
983
1159
|
withdraws?: string[] | undefined;
|
|
984
1160
|
entitlementKey: string;
|
|
985
1161
|
envSpec?: {
|
|
@@ -1083,6 +1259,12 @@ export declare const gateModManifest: {
|
|
|
1083
1259
|
input?: Record<string, unknown> | undefined;
|
|
1084
1260
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1085
1261
|
}[] | undefined;
|
|
1262
|
+
freshness?: {
|
|
1263
|
+
eventType: string;
|
|
1264
|
+
within: {
|
|
1265
|
+
hours: number;
|
|
1266
|
+
};
|
|
1267
|
+
}[] | undefined;
|
|
1086
1268
|
withdraws?: string[] | undefined;
|
|
1087
1269
|
entitlementKey: string;
|
|
1088
1270
|
envSpec?: {
|
|
@@ -1195,6 +1377,12 @@ export declare const impersonationEchoManifest: {
|
|
|
1195
1377
|
input?: Record<string, unknown> | undefined;
|
|
1196
1378
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1197
1379
|
}[] | undefined;
|
|
1380
|
+
freshness?: {
|
|
1381
|
+
eventType: string;
|
|
1382
|
+
within: {
|
|
1383
|
+
hours: number;
|
|
1384
|
+
};
|
|
1385
|
+
}[] | undefined;
|
|
1198
1386
|
withdraws?: string[] | undefined;
|
|
1199
1387
|
entitlementKey: string;
|
|
1200
1388
|
envSpec?: {
|
|
@@ -1298,6 +1486,12 @@ export declare const permModManifest: {
|
|
|
1298
1486
|
input?: Record<string, unknown> | undefined;
|
|
1299
1487
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1300
1488
|
}[] | undefined;
|
|
1489
|
+
freshness?: {
|
|
1490
|
+
eventType: string;
|
|
1491
|
+
within: {
|
|
1492
|
+
hours: number;
|
|
1493
|
+
};
|
|
1494
|
+
}[] | undefined;
|
|
1301
1495
|
withdraws?: string[] | undefined;
|
|
1302
1496
|
entitlementKey: string;
|
|
1303
1497
|
envSpec?: {
|
|
@@ -1415,6 +1609,12 @@ export declare const connectorModManifest: {
|
|
|
1415
1609
|
input?: Record<string, unknown> | undefined;
|
|
1416
1610
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1417
1611
|
}[] | undefined;
|
|
1612
|
+
freshness?: {
|
|
1613
|
+
eventType: string;
|
|
1614
|
+
within: {
|
|
1615
|
+
hours: number;
|
|
1616
|
+
};
|
|
1617
|
+
}[] | undefined;
|
|
1418
1618
|
withdraws?: string[] | undefined;
|
|
1419
1619
|
entitlementKey: string;
|
|
1420
1620
|
envSpec?: {
|
|
@@ -1549,6 +1749,12 @@ export declare const listModManifest: {
|
|
|
1549
1749
|
input?: Record<string, unknown> | undefined;
|
|
1550
1750
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1551
1751
|
}[] | undefined;
|
|
1752
|
+
freshness?: {
|
|
1753
|
+
eventType: string;
|
|
1754
|
+
within: {
|
|
1755
|
+
hours: number;
|
|
1756
|
+
};
|
|
1757
|
+
}[] | undefined;
|
|
1552
1758
|
withdraws?: string[] | undefined;
|
|
1553
1759
|
entitlementKey: string;
|
|
1554
1760
|
envSpec?: {
|
|
@@ -1653,6 +1859,12 @@ export declare const searchModManifest: {
|
|
|
1653
1859
|
input?: Record<string, unknown> | undefined;
|
|
1654
1860
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1655
1861
|
}[] | undefined;
|
|
1862
|
+
freshness?: {
|
|
1863
|
+
eventType: string;
|
|
1864
|
+
within: {
|
|
1865
|
+
hours: number;
|
|
1866
|
+
};
|
|
1867
|
+
}[] | undefined;
|
|
1656
1868
|
withdraws?: string[] | undefined;
|
|
1657
1869
|
entitlementKey: string;
|
|
1658
1870
|
envSpec?: {
|
|
@@ -1757,6 +1969,12 @@ export declare const parseModManifest: {
|
|
|
1757
1969
|
input?: Record<string, unknown> | undefined;
|
|
1758
1970
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1759
1971
|
}[] | undefined;
|
|
1972
|
+
freshness?: {
|
|
1973
|
+
eventType: string;
|
|
1974
|
+
within: {
|
|
1975
|
+
hours: number;
|
|
1976
|
+
};
|
|
1977
|
+
}[] | undefined;
|
|
1760
1978
|
withdraws?: string[] | undefined;
|
|
1761
1979
|
entitlementKey: string;
|
|
1762
1980
|
envSpec?: {
|
|
@@ -1861,6 +2079,12 @@ export declare const concurrencyModManifest: {
|
|
|
1861
2079
|
input?: Record<string, unknown> | undefined;
|
|
1862
2080
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1863
2081
|
}[] | undefined;
|
|
2082
|
+
freshness?: {
|
|
2083
|
+
eventType: string;
|
|
2084
|
+
within: {
|
|
2085
|
+
hours: number;
|
|
2086
|
+
};
|
|
2087
|
+
}[] | undefined;
|
|
1864
2088
|
withdraws?: string[] | undefined;
|
|
1865
2089
|
entitlementKey: string;
|
|
1866
2090
|
envSpec?: {
|
|
@@ -1965,6 +2189,12 @@ export declare const idempotencyModManifest: {
|
|
|
1965
2189
|
input?: Record<string, unknown> | undefined;
|
|
1966
2190
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
1967
2191
|
}[] | undefined;
|
|
2192
|
+
freshness?: {
|
|
2193
|
+
eventType: string;
|
|
2194
|
+
within: {
|
|
2195
|
+
hours: number;
|
|
2196
|
+
};
|
|
2197
|
+
}[] | undefined;
|
|
1968
2198
|
withdraws?: string[] | undefined;
|
|
1969
2199
|
entitlementKey: string;
|
|
1970
2200
|
envSpec?: {
|
|
@@ -2070,6 +2300,12 @@ export declare const brokenModManifest: {
|
|
|
2070
2300
|
input?: Record<string, unknown> | undefined;
|
|
2071
2301
|
permissions: (string & z.$brand<"PermissionKey">)[];
|
|
2072
2302
|
}[] | undefined;
|
|
2303
|
+
freshness?: {
|
|
2304
|
+
eventType: string;
|
|
2305
|
+
within: {
|
|
2306
|
+
hours: number;
|
|
2307
|
+
};
|
|
2308
|
+
}[] | undefined;
|
|
2073
2309
|
withdraws?: string[] | undefined;
|
|
2074
2310
|
entitlementKey: string;
|
|
2075
2311
|
envSpec?: {
|
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,EASL,CAAC,EAIF,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAML,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
package/dist/modules.js
CHANGED
|
@@ -38,7 +38,36 @@ export const scheduleModManifest = moduleManifest.parse({
|
|
|
38
38
|
attachmentTargets: [],
|
|
39
39
|
entitlementKey: 'sched',
|
|
40
40
|
schedules: [{ operation: 'sched/tick', cadence: { everyMinutes: 60 }, permissions: ['sched:tick'] }],
|
|
41
|
+
// #1232: a freshness expectation on the module's own emitted type — declared TWICE
|
|
42
|
+
// with different windows, deliberately: the evaluator must collapse duplicates to
|
|
43
|
+
// the tightest window (one row per (scope, eventType), or the drain dedupe eats one).
|
|
44
|
+
freshness: [
|
|
45
|
+
{ eventType: 'sched.ticked', within: { hours: 24 } },
|
|
46
|
+
{ eventType: 'sched.ticked', within: { hours: 1 } },
|
|
47
|
+
],
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* #1232 regression fixture: a SECOND module expecting the same event type as
|
|
51
|
+
* scheduleMod, with a WIDER window. The evaluator must aggregate across modules
|
|
52
|
+
* to the tightest window and evaluate once per scope — per-module evaluation
|
|
53
|
+
* would fight over the shared gating-state key and dedupe unit.
|
|
54
|
+
*/
|
|
55
|
+
export const freshnessModManifest = moduleManifest.parse({
|
|
56
|
+
id: '@test/freshwatch',
|
|
57
|
+
version: '1.0.0',
|
|
58
|
+
kernelContract: '^0.0.1',
|
|
59
|
+
permissions: [],
|
|
60
|
+
events: { emits: [], consumes: [{ type: 'sched.ticked', schemaVersion: 1 }] },
|
|
61
|
+
migrations: { journalDir: './migrations', compatibleFrom: '1.0.0' },
|
|
62
|
+
attachmentTargets: [],
|
|
63
|
+
entitlementKey: 'freshwatch',
|
|
64
|
+
freshness: [{ eventType: 'sched.ticked', within: { hours: 48 } }],
|
|
41
65
|
});
|
|
66
|
+
export const freshnessMod = {
|
|
67
|
+
manifest: freshnessModManifest,
|
|
68
|
+
migrations: [],
|
|
69
|
+
operations: {},
|
|
70
|
+
};
|
|
42
71
|
export const flowModManifest = moduleManifest.parse({
|
|
43
72
|
id: '@test/flow',
|
|
44
73
|
version: '1.0.0',
|
|
@@ -495,7 +524,7 @@ const authorizedReadOp = async (ctx, input) => {
|
|
|
495
524
|
assertAllowed(await ctx.check(input.permission));
|
|
496
525
|
return ctx.sql.query('SELECT COUNT(*) AS n FROM testmod_items')[0].n;
|
|
497
526
|
};
|
|
498
|
-
const readOutboxOp = (ctx) => ctx.sql.query('SELECT id, type, authorization, impersonation FROM _substrat_outbox ORDER BY id');
|
|
527
|
+
const readOutboxOp = (ctx) => ctx.sql.query('SELECT id, type, authorization, impersonation, operation FROM _substrat_outbox ORDER BY id');
|
|
499
528
|
const readDenialsOp = (ctx) => ctx.sql.query(`SELECT actor, permission, tenant_id, scope_id, operation, impersonation
|
|
500
529
|
FROM _substrat_denials ORDER BY id`);
|
|
501
530
|
// -- K-42 fixtures (#868) ----------------------------------------------------
|
|
@@ -751,7 +780,7 @@ export const scheduleMod = {
|
|
|
751
780
|
assertAllowed(await ctx.check('sched:admin'));
|
|
752
781
|
}),
|
|
753
782
|
'sched/count': ((ctx) => ctx.sql.query('SELECT COUNT(*) AS n FROM sched_ticks')[0].n),
|
|
754
|
-
'sched/read-outbox': ((ctx) => ctx.sql.query('SELECT type, actor FROM _substrat_outbox ORDER BY id')),
|
|
783
|
+
'sched/read-outbox': ((ctx) => ctx.sql.query('SELECT type, actor, operation FROM _substrat_outbox ORDER BY id')),
|
|
755
784
|
'sched/schedule-state': ((ctx) => ctx.sql.query('SELECT schedule_op, last_status FROM _substrat_schedule_state ORDER BY schedule_op')),
|
|
756
785
|
},
|
|
757
786
|
};
|
|
@@ -776,7 +805,7 @@ export const flowMod = {
|
|
|
776
805
|
'flow/log': ((ctx) => ctx.sql.query('SELECT event_id, type FROM flow_log ORDER BY event_id')),
|
|
777
806
|
'flow/deliveries': ((ctx) => ctx.sql.query(`SELECT event_id, consumer_module, error FROM _substrat_deliveries
|
|
778
807
|
WHERE consumer_module = '@test/flow' ORDER BY event_id`)),
|
|
779
|
-
'flow/step2-actors': ((ctx) => ctx.sql.query(`SELECT actor FROM _substrat_outbox WHERE type = 'flow.step2'`)),
|
|
808
|
+
'flow/step2-actors': ((ctx) => ctx.sql.query(`SELECT actor, operation FROM _substrat_outbox WHERE type = 'flow.step2'`)),
|
|
780
809
|
},
|
|
781
810
|
consumers: {
|
|
782
811
|
'flow.step1': flowStep1Consumer,
|