@substrat-run/contract-tests 0.82.0 → 0.84.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 +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/list-suite.d.ts +3 -0
- package/dist/list-suite.d.ts.map +1 -0
- package/dist/list-suite.js +181 -0
- package/dist/list-suite.js.map +1 -0
- package/dist/modules.d.ts +209 -0
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +85 -0
- package/dist/modules.js.map +1 -1
- package/dist/permission-suite.d.ts.map +1 -1
- package/dist/permission-suite.js +17 -0
- package/dist/permission-suite.js.map +1 -1
- package/dist/scope-host-suite.d.ts.map +1 -1
- package/dist/scope-host-suite.js +148 -0
- package/dist/scope-host-suite.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ export type { ScopeHostFixture, ScopeHostSuiteOptions } from './scope-host-suite
|
|
|
3
3
|
export { permissionContractSuite } from './permission-suite.js';
|
|
4
4
|
export { atomicContractSuite } from './atomic-suite.js';
|
|
5
5
|
export { searchContractSuite } from './search-suite.js';
|
|
6
|
+
export { listContractSuite } from './list-suite.js';
|
|
6
7
|
export { scheduleContractSuite } from './schedule-suite.js';
|
|
7
8
|
export { entityCheckConformanceSuite, planEntityCheckCoverage } from './entity-check-suite.js';
|
|
8
9
|
export type { EntityCheckFixture, EntityCheckSuiteOptions, PlannedCheck } from './entity-check-suite.js';
|
|
9
|
-
export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, permMod, scheduleMod, searchMod, searchModManifest, } from './modules.js';
|
|
10
|
+
export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, permMod, scheduleMod, searchMod, searchModManifest, listMod, listModManifest, } from './modules.js';
|
|
10
11
|
export { connectorCalls, connectorTestFetch, resetConnectorCalls, type ConnectorCall, } from './connector-fixture.js';
|
|
11
12
|
//# 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,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,
|
|
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,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACzG,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,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,8 +2,9 @@ export { scopeHostContractSuite } from './scope-host-suite.js';
|
|
|
2
2
|
export { permissionContractSuite } from './permission-suite.js';
|
|
3
3
|
export { atomicContractSuite } from './atomic-suite.js';
|
|
4
4
|
export { searchContractSuite } from './search-suite.js';
|
|
5
|
+
export { listContractSuite } from './list-suite.js';
|
|
5
6
|
export { scheduleContractSuite } from './schedule-suite.js';
|
|
6
7
|
export { entityCheckConformanceSuite, planEntityCheckCoverage } from './entity-check-suite.js';
|
|
7
|
-
export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, permMod, scheduleMod, searchMod, searchModManifest, } from './modules.js';
|
|
8
|
+
export { atomicMod, billedMod, brokenMod, connectorMod, contractTestBareOps, contractTestInitialModules, contractTestModules, permMod, scheduleMod, searchMod, searchModManifest, listMod, listModManifest, } from './modules.js';
|
|
8
9
|
export { connectorCalls, connectorTestFetch, resetConnectorCalls, } from './connector-fixture.js';
|
|
9
10
|
//# 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,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,
|
|
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,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE/F,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,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-suite.d.ts","sourceRoot":"","sources":["../src/list-suite.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC3C,IAAI,CAoLN"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract suite for `ctx.page` — the kernel-composed paged read (#811, K-18).
|
|
3
|
+
*
|
|
4
|
+
* What it pins: **a declaration is enough.** A module says which columns are
|
|
5
|
+
* sortable and filterable and gets a correct keyset walk in every scope, on every
|
|
6
|
+
* adapter, over indexes it never wrote — with the count matching the filter and
|
|
7
|
+
* the cursor never skipping or repeating a row.
|
|
8
|
+
*
|
|
9
|
+
* The assertions are behavioural rather than structural, and that is the point
|
|
10
|
+
* here more than anywhere: the failure this feature exists to prevent — a walk
|
|
11
|
+
* that drops rows tied on a non-unique sort column — produces SQL that reads
|
|
12
|
+
* perfectly. A string comparison against the emitted `WHERE` would have called
|
|
13
|
+
* the broken version a pass, which is the lesson the FK that shipped behind
|
|
14
|
+
* passing string assertions already taught once.
|
|
15
|
+
*
|
|
16
|
+
* So `status` in the fixture is deliberately non-unique, and the walks below run
|
|
17
|
+
* at page sizes that force ties to straddle a page boundary.
|
|
18
|
+
*/
|
|
19
|
+
import { describe, it, expect, beforeAll, afterAll } from 'vitest';
|
|
20
|
+
import { permissionKey, platformActorId, principalId, scopeId, tenantId, } from '@substrat-run/contracts';
|
|
21
|
+
import { ulid } from '@substrat-run/kernel';
|
|
22
|
+
import { listMod } from './modules.js';
|
|
23
|
+
const PERM_USE = permissionKey.parse('list:use');
|
|
24
|
+
export function listContractSuite(adapterName, makeFixture) {
|
|
25
|
+
describe(`paged reads (ctx.page): ${adapterName}`, () => {
|
|
26
|
+
let fixture;
|
|
27
|
+
let host;
|
|
28
|
+
let stub;
|
|
29
|
+
const t1 = tenantId.parse(ulid());
|
|
30
|
+
const alice = principalId.parse(ulid());
|
|
31
|
+
const staff = platformActorId.parse(ulid());
|
|
32
|
+
const page = (params) => stub.invoke('list/page', params);
|
|
33
|
+
/** Walk the whole list one page at a time, following the cursor as a client would. */
|
|
34
|
+
const walkAll = async (params, limit) => {
|
|
35
|
+
const seen = [];
|
|
36
|
+
let cursor;
|
|
37
|
+
for (let guard = 0; guard < 50; guard++) {
|
|
38
|
+
const got = await page({ ...params, limit, cursor });
|
|
39
|
+
seen.push(...got.entries.map((r) => String(r['id'])));
|
|
40
|
+
if (got.nextCursor === null)
|
|
41
|
+
return seen;
|
|
42
|
+
cursor = got.nextCursor;
|
|
43
|
+
}
|
|
44
|
+
throw new Error('walk did not terminate — the cursor is not advancing');
|
|
45
|
+
};
|
|
46
|
+
beforeAll(async () => {
|
|
47
|
+
fixture = await makeFixture();
|
|
48
|
+
host = fixture.host;
|
|
49
|
+
host.registerModule(listMod);
|
|
50
|
+
await host.admin.createTenant(staff, { id: t1, slug: 'list-tenant', name: 'List Tenant' });
|
|
51
|
+
await host.admin.grantEntitlement(staff, t1, 'list');
|
|
52
|
+
await host.admin.defineRole(staff, t1, {
|
|
53
|
+
key: 'list-admin',
|
|
54
|
+
permissions: [PERM_USE],
|
|
55
|
+
source: 'vertical',
|
|
56
|
+
});
|
|
57
|
+
await host.admin.assignRole(staff, {
|
|
58
|
+
principalId: alice,
|
|
59
|
+
roleKey: 'list-admin',
|
|
60
|
+
node: { tenantId: t1, scopeId: null },
|
|
61
|
+
});
|
|
62
|
+
const source = scopeId.parse(ulid());
|
|
63
|
+
await host.provisionScope(staff, { tenantId: t1, scopeId: source, vertical: 'list-vertical' });
|
|
64
|
+
await host.admin.activateScope(staff, t1, source);
|
|
65
|
+
stub = await host.getScope(alice, t1, source);
|
|
66
|
+
// Six rows, four `open`. Ids ascend with numbers so a walk by id and a walk
|
|
67
|
+
// by number agree — which makes a DISAGREEMENT in the status walk meaningful.
|
|
68
|
+
const rows = [
|
|
69
|
+
{ id: '01A', number: '1001', status: 'open', kind: 'repair' },
|
|
70
|
+
{ id: '01B', number: '1002', status: 'open', kind: 'repair' },
|
|
71
|
+
{ id: '01C', number: '1003', status: 'open', kind: 'service' },
|
|
72
|
+
{ id: '01D', number: '1004', status: 'closed', kind: 'repair' },
|
|
73
|
+
{ id: '01E', number: '1005', status: 'open', kind: 'service' },
|
|
74
|
+
{ id: '01F', number: '1006', status: 'closed', kind: 'service' },
|
|
75
|
+
];
|
|
76
|
+
for (const r of rows)
|
|
77
|
+
await stub.invoke('list/add', r);
|
|
78
|
+
});
|
|
79
|
+
afterAll(async () => {
|
|
80
|
+
await fixture.cleanup();
|
|
81
|
+
});
|
|
82
|
+
it('defaults to the first declared sort, ascending', async () => {
|
|
83
|
+
const got = await page({ limit: 50 });
|
|
84
|
+
expect(got.entries.map((r) => r['number'])).toEqual([
|
|
85
|
+
'1001',
|
|
86
|
+
'1002',
|
|
87
|
+
'1003',
|
|
88
|
+
'1004',
|
|
89
|
+
'1005',
|
|
90
|
+
'1006',
|
|
91
|
+
]);
|
|
92
|
+
});
|
|
93
|
+
it('ends the walk with a null cursor on a short page', async () => {
|
|
94
|
+
const got = await page({ limit: 50 });
|
|
95
|
+
expect(got.nextCursor).toBeNull();
|
|
96
|
+
});
|
|
97
|
+
it('hands back a cursor when the page comes back full', async () => {
|
|
98
|
+
const got = await page({ limit: 2 });
|
|
99
|
+
expect(got.entries).toHaveLength(2);
|
|
100
|
+
expect(got.nextCursor).not.toBeNull();
|
|
101
|
+
});
|
|
102
|
+
/**
|
|
103
|
+
* The case the tie-break exists for. `status` has four `open` rows, so a walk
|
|
104
|
+
* in pages of two puts a tie across every boundary; a keyset over the column
|
|
105
|
+
* alone would emit `status > 'open'` and lose the rest of its own ties.
|
|
106
|
+
*/
|
|
107
|
+
it('walks a NON-UNIQUE sort column without skipping or repeating a row', async () => {
|
|
108
|
+
const seen = await walkAll({ sort: 'status' }, 2);
|
|
109
|
+
expect(seen).toHaveLength(6);
|
|
110
|
+
expect(new Set(seen).size).toBe(6);
|
|
111
|
+
});
|
|
112
|
+
it('walks a non-unique column identically at every page size', async () => {
|
|
113
|
+
const byOne = await walkAll({ sort: 'status' }, 1);
|
|
114
|
+
const byFour = await walkAll({ sort: 'status' }, 4);
|
|
115
|
+
const whole = await walkAll({ sort: 'status' }, 50);
|
|
116
|
+
expect(byOne).toEqual(whole);
|
|
117
|
+
expect(byFour).toEqual(whole);
|
|
118
|
+
});
|
|
119
|
+
it('walks descending without skipping or repeating a row', async () => {
|
|
120
|
+
const seen = await walkAll({ sort: 'status', order: 'desc' }, 2);
|
|
121
|
+
expect(seen).toHaveLength(6);
|
|
122
|
+
expect(new Set(seen).size).toBe(6);
|
|
123
|
+
expect(seen).toEqual([...(await walkAll({ sort: 'status' }, 50))].reverse());
|
|
124
|
+
});
|
|
125
|
+
it('filters by a declared column, and the filter survives the whole walk', async () => {
|
|
126
|
+
const seen = await walkAll({ filters: { status: 'open' } }, 2);
|
|
127
|
+
expect(seen).toEqual(['01A', '01B', '01C', '01E']);
|
|
128
|
+
});
|
|
129
|
+
it('applies two filters together', async () => {
|
|
130
|
+
const got = await page({ limit: 50, filters: { status: 'open', kind: 'service' } });
|
|
131
|
+
expect(got.entries.map((r) => r['id'])).toEqual(['01C', '01E']);
|
|
132
|
+
});
|
|
133
|
+
it('ignores an undefined filter rather than matching NULL', async () => {
|
|
134
|
+
const got = await page({ limit: 50, filters: { status: undefined } });
|
|
135
|
+
expect(got.entries).toHaveLength(6);
|
|
136
|
+
});
|
|
137
|
+
it('counts the FILTERED set, not the table', async () => {
|
|
138
|
+
const got = (await page({ limit: 2, filters: { status: 'open' }, total: true }));
|
|
139
|
+
expect(got.total).toBe(4);
|
|
140
|
+
expect(got.entries).toHaveLength(2);
|
|
141
|
+
});
|
|
142
|
+
/**
|
|
143
|
+
* A total describes the set the filter selects, and a cursor selects a PAGE of
|
|
144
|
+
* it. Narrowing the count by the cursor would make `1–20 of 340` count down as
|
|
145
|
+
* the user walks, which is the kind of wrong nobody notices until a customer does.
|
|
146
|
+
*/
|
|
147
|
+
it('does not narrow the total as the walk advances', async () => {
|
|
148
|
+
const first = (await page({ limit: 2, filters: { status: 'open' }, total: true }));
|
|
149
|
+
const second = (await page({
|
|
150
|
+
limit: 2,
|
|
151
|
+
filters: { status: 'open' },
|
|
152
|
+
total: true,
|
|
153
|
+
cursor: first.nextCursor,
|
|
154
|
+
}));
|
|
155
|
+
expect(second.total).toBe(4);
|
|
156
|
+
});
|
|
157
|
+
it('omits the total unless it was asked for', async () => {
|
|
158
|
+
const got = await page({ limit: 2 });
|
|
159
|
+
expect('total' in got).toBe(false);
|
|
160
|
+
});
|
|
161
|
+
it('refuses a sort the declaration does not offer', async () => {
|
|
162
|
+
await expect(page({ limit: 2, sort: 'kind' })).rejects.toThrow(/not a declared sort/);
|
|
163
|
+
});
|
|
164
|
+
it('refuses a filter the declaration does not offer', async () => {
|
|
165
|
+
await expect(page({ limit: 2, filters: { number: '1001' } })).rejects.toThrow(/not a declared filter/);
|
|
166
|
+
});
|
|
167
|
+
it('refuses an entity type no module declared listable', async () => {
|
|
168
|
+
await expect(stub.invoke('list/page-of', { entityType: 'nothing', limit: 2 })).rejects.toThrow(/declares no paged list/);
|
|
169
|
+
});
|
|
170
|
+
it('sees a row written in the same transaction', async () => {
|
|
171
|
+
const got = (await stub.invoke('list/add-then-page', {
|
|
172
|
+
id: '01Z',
|
|
173
|
+
number: '1099',
|
|
174
|
+
status: 'open',
|
|
175
|
+
kind: 'repair',
|
|
176
|
+
}));
|
|
177
|
+
expect(got.entries.map((r) => r['id'])).toContain('01Z');
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=list-suite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-suite.js","sourceRoot":"","sources":["../src/list-suite.ts"],"names":[],"mappings":"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"}
|
package/dist/modules.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ export declare const testModManifest: {
|
|
|
67
67
|
idColumn?: string | undefined;
|
|
68
68
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
69
69
|
}[] | undefined;
|
|
70
|
+
lists?: {
|
|
71
|
+
entityType: string;
|
|
72
|
+
sortable: string[];
|
|
73
|
+
filterable?: string[] | undefined;
|
|
74
|
+
table?: string | undefined;
|
|
75
|
+
idColumn?: string | undefined;
|
|
76
|
+
}[] | undefined;
|
|
70
77
|
ui?: {
|
|
71
78
|
routes?: {
|
|
72
79
|
path: string;
|
|
@@ -163,6 +170,13 @@ export declare const scheduleModManifest: {
|
|
|
163
170
|
idColumn?: string | undefined;
|
|
164
171
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
165
172
|
}[] | undefined;
|
|
173
|
+
lists?: {
|
|
174
|
+
entityType: string;
|
|
175
|
+
sortable: string[];
|
|
176
|
+
filterable?: string[] | undefined;
|
|
177
|
+
table?: string | undefined;
|
|
178
|
+
idColumn?: string | undefined;
|
|
179
|
+
}[] | undefined;
|
|
166
180
|
ui?: {
|
|
167
181
|
routes?: {
|
|
168
182
|
path: string;
|
|
@@ -259,6 +273,13 @@ export declare const flowModManifest: {
|
|
|
259
273
|
idColumn?: string | undefined;
|
|
260
274
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
261
275
|
}[] | undefined;
|
|
276
|
+
lists?: {
|
|
277
|
+
entityType: string;
|
|
278
|
+
sortable: string[];
|
|
279
|
+
filterable?: string[] | undefined;
|
|
280
|
+
table?: string | undefined;
|
|
281
|
+
idColumn?: string | undefined;
|
|
282
|
+
}[] | undefined;
|
|
262
283
|
ui?: {
|
|
263
284
|
routes?: {
|
|
264
285
|
path: string;
|
|
@@ -355,6 +376,13 @@ export declare const atomicModManifest: {
|
|
|
355
376
|
idColumn?: string | undefined;
|
|
356
377
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
357
378
|
}[] | undefined;
|
|
379
|
+
lists?: {
|
|
380
|
+
entityType: string;
|
|
381
|
+
sortable: string[];
|
|
382
|
+
filterable?: string[] | undefined;
|
|
383
|
+
table?: string | undefined;
|
|
384
|
+
idColumn?: string | undefined;
|
|
385
|
+
}[] | undefined;
|
|
358
386
|
ui?: {
|
|
359
387
|
routes?: {
|
|
360
388
|
path: string;
|
|
@@ -451,6 +479,13 @@ export declare const lateModManifest: {
|
|
|
451
479
|
idColumn?: string | undefined;
|
|
452
480
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
453
481
|
}[] | undefined;
|
|
482
|
+
lists?: {
|
|
483
|
+
entityType: string;
|
|
484
|
+
sortable: string[];
|
|
485
|
+
filterable?: string[] | undefined;
|
|
486
|
+
table?: string | undefined;
|
|
487
|
+
idColumn?: string | undefined;
|
|
488
|
+
}[] | undefined;
|
|
454
489
|
ui?: {
|
|
455
490
|
routes?: {
|
|
456
491
|
path: string;
|
|
@@ -547,6 +582,13 @@ export declare const billedModManifest: {
|
|
|
547
582
|
idColumn?: string | undefined;
|
|
548
583
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
549
584
|
}[] | undefined;
|
|
585
|
+
lists?: {
|
|
586
|
+
entityType: string;
|
|
587
|
+
sortable: string[];
|
|
588
|
+
filterable?: string[] | undefined;
|
|
589
|
+
table?: string | undefined;
|
|
590
|
+
idColumn?: string | undefined;
|
|
591
|
+
}[] | undefined;
|
|
550
592
|
ui?: {
|
|
551
593
|
routes?: {
|
|
552
594
|
path: string;
|
|
@@ -643,6 +685,13 @@ export declare const guardedModManifest: {
|
|
|
643
685
|
idColumn?: string | undefined;
|
|
644
686
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
645
687
|
}[] | undefined;
|
|
688
|
+
lists?: {
|
|
689
|
+
entityType: string;
|
|
690
|
+
sortable: string[];
|
|
691
|
+
filterable?: string[] | undefined;
|
|
692
|
+
table?: string | undefined;
|
|
693
|
+
idColumn?: string | undefined;
|
|
694
|
+
}[] | undefined;
|
|
646
695
|
ui?: {
|
|
647
696
|
routes?: {
|
|
648
697
|
path: string;
|
|
@@ -739,6 +788,13 @@ export declare const withdrawEarlyManifest: {
|
|
|
739
788
|
idColumn?: string | undefined;
|
|
740
789
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
741
790
|
}[] | undefined;
|
|
791
|
+
lists?: {
|
|
792
|
+
entityType: string;
|
|
793
|
+
sortable: string[];
|
|
794
|
+
filterable?: string[] | undefined;
|
|
795
|
+
table?: string | undefined;
|
|
796
|
+
idColumn?: string | undefined;
|
|
797
|
+
}[] | undefined;
|
|
742
798
|
ui?: {
|
|
743
799
|
routes?: {
|
|
744
800
|
path: string;
|
|
@@ -835,6 +891,13 @@ export declare const victimModManifest: {
|
|
|
835
891
|
idColumn?: string | undefined;
|
|
836
892
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
837
893
|
}[] | undefined;
|
|
894
|
+
lists?: {
|
|
895
|
+
entityType: string;
|
|
896
|
+
sortable: string[];
|
|
897
|
+
filterable?: string[] | undefined;
|
|
898
|
+
table?: string | undefined;
|
|
899
|
+
idColumn?: string | undefined;
|
|
900
|
+
}[] | undefined;
|
|
838
901
|
ui?: {
|
|
839
902
|
routes?: {
|
|
840
903
|
path: string;
|
|
@@ -931,6 +994,13 @@ export declare const withdrawLateManifest: {
|
|
|
931
994
|
idColumn?: string | undefined;
|
|
932
995
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
933
996
|
}[] | undefined;
|
|
997
|
+
lists?: {
|
|
998
|
+
entityType: string;
|
|
999
|
+
sortable: string[];
|
|
1000
|
+
filterable?: string[] | undefined;
|
|
1001
|
+
table?: string | undefined;
|
|
1002
|
+
idColumn?: string | undefined;
|
|
1003
|
+
}[] | undefined;
|
|
934
1004
|
ui?: {
|
|
935
1005
|
routes?: {
|
|
936
1006
|
path: string;
|
|
@@ -1027,6 +1097,13 @@ export declare const gateModManifest: {
|
|
|
1027
1097
|
idColumn?: string | undefined;
|
|
1028
1098
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
1029
1099
|
}[] | undefined;
|
|
1100
|
+
lists?: {
|
|
1101
|
+
entityType: string;
|
|
1102
|
+
sortable: string[];
|
|
1103
|
+
filterable?: string[] | undefined;
|
|
1104
|
+
table?: string | undefined;
|
|
1105
|
+
idColumn?: string | undefined;
|
|
1106
|
+
}[] | undefined;
|
|
1030
1107
|
ui?: {
|
|
1031
1108
|
routes?: {
|
|
1032
1109
|
path: string;
|
|
@@ -1123,6 +1200,13 @@ export declare const permModManifest: {
|
|
|
1123
1200
|
idColumn?: string | undefined;
|
|
1124
1201
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
1125
1202
|
}[] | undefined;
|
|
1203
|
+
lists?: {
|
|
1204
|
+
entityType: string;
|
|
1205
|
+
sortable: string[];
|
|
1206
|
+
filterable?: string[] | undefined;
|
|
1207
|
+
table?: string | undefined;
|
|
1208
|
+
idColumn?: string | undefined;
|
|
1209
|
+
}[] | undefined;
|
|
1126
1210
|
ui?: {
|
|
1127
1211
|
routes?: {
|
|
1128
1212
|
path: string;
|
|
@@ -1232,6 +1316,13 @@ export declare const connectorModManifest: {
|
|
|
1232
1316
|
idColumn?: string | undefined;
|
|
1233
1317
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
1234
1318
|
}[] | undefined;
|
|
1319
|
+
lists?: {
|
|
1320
|
+
entityType: string;
|
|
1321
|
+
sortable: string[];
|
|
1322
|
+
filterable?: string[] | undefined;
|
|
1323
|
+
table?: string | undefined;
|
|
1324
|
+
idColumn?: string | undefined;
|
|
1325
|
+
}[] | undefined;
|
|
1235
1326
|
ui?: {
|
|
1236
1327
|
routes?: {
|
|
1237
1328
|
path: string;
|
|
@@ -1291,6 +1382,110 @@ export declare const contractTestInitialModules: ModuleRegistration[];
|
|
|
1291
1382
|
* there — written out longhand here rather than pulling the registry into a
|
|
1292
1383
|
* fixture, which is the one place the enrichment is worth restating.
|
|
1293
1384
|
*/
|
|
1385
|
+
export declare const listModManifest: {
|
|
1386
|
+
id: string & import("zod").$brand<"ModuleId">;
|
|
1387
|
+
version: string;
|
|
1388
|
+
kernelContract: string;
|
|
1389
|
+
permissions: {
|
|
1390
|
+
key: string & import("zod").$brand<"PermissionKey">;
|
|
1391
|
+
description: string;
|
|
1392
|
+
}[];
|
|
1393
|
+
events: {
|
|
1394
|
+
emits: {
|
|
1395
|
+
type: string;
|
|
1396
|
+
schemaVersion: number;
|
|
1397
|
+
}[];
|
|
1398
|
+
consumes: {
|
|
1399
|
+
type: string;
|
|
1400
|
+
schemaVersion: number;
|
|
1401
|
+
}[];
|
|
1402
|
+
};
|
|
1403
|
+
migrations: {
|
|
1404
|
+
journalDir: string;
|
|
1405
|
+
compatibleFrom: string;
|
|
1406
|
+
};
|
|
1407
|
+
attachmentTargets: {
|
|
1408
|
+
entityType: string;
|
|
1409
|
+
readPermission: string & import("zod").$brand<"PermissionKey">;
|
|
1410
|
+
writePermission?: (string & import("zod").$brand<"PermissionKey">) | undefined;
|
|
1411
|
+
}[];
|
|
1412
|
+
entityRelations?: {
|
|
1413
|
+
entityType: string;
|
|
1414
|
+
parentType: string;
|
|
1415
|
+
}[] | undefined;
|
|
1416
|
+
guards?: {
|
|
1417
|
+
before: string;
|
|
1418
|
+
predicate: string;
|
|
1419
|
+
config: Record<string, unknown>;
|
|
1420
|
+
}[] | undefined;
|
|
1421
|
+
schedules?: {
|
|
1422
|
+
operation: string;
|
|
1423
|
+
cadence: {
|
|
1424
|
+
everyMinutes: number;
|
|
1425
|
+
};
|
|
1426
|
+
input?: Record<string, unknown> | undefined;
|
|
1427
|
+
permissions: (string & import("zod").$brand<"PermissionKey">)[];
|
|
1428
|
+
}[] | undefined;
|
|
1429
|
+
withdraws?: string[] | undefined;
|
|
1430
|
+
entitlementKey: string;
|
|
1431
|
+
envSpec?: {
|
|
1432
|
+
key: string;
|
|
1433
|
+
label?: string | undefined;
|
|
1434
|
+
description: string;
|
|
1435
|
+
placeholder?: string | undefined;
|
|
1436
|
+
required: boolean;
|
|
1437
|
+
secret: boolean;
|
|
1438
|
+
default?: string | undefined;
|
|
1439
|
+
group?: string | undefined;
|
|
1440
|
+
}[] | undefined;
|
|
1441
|
+
ownerGrants?: (string & import("zod").$brand<"PermissionKey">)[] | undefined;
|
|
1442
|
+
entitlements?: string[] | undefined;
|
|
1443
|
+
provides?: string[] | undefined;
|
|
1444
|
+
requires?: string[] | undefined;
|
|
1445
|
+
api?: string | undefined;
|
|
1446
|
+
searchables?: {
|
|
1447
|
+
entityType: string;
|
|
1448
|
+
fields: string[];
|
|
1449
|
+
table?: string | undefined;
|
|
1450
|
+
idColumn?: string | undefined;
|
|
1451
|
+
tokenizer?: "prefix" | "substring" | undefined;
|
|
1452
|
+
}[] | undefined;
|
|
1453
|
+
lists?: {
|
|
1454
|
+
entityType: string;
|
|
1455
|
+
sortable: string[];
|
|
1456
|
+
filterable?: string[] | undefined;
|
|
1457
|
+
table?: string | undefined;
|
|
1458
|
+
idColumn?: string | undefined;
|
|
1459
|
+
}[] | undefined;
|
|
1460
|
+
ui?: {
|
|
1461
|
+
routes?: {
|
|
1462
|
+
path: string;
|
|
1463
|
+
screen: string;
|
|
1464
|
+
permission: string & import("zod").$brand<"PermissionKey">;
|
|
1465
|
+
}[] | undefined;
|
|
1466
|
+
nav?: {
|
|
1467
|
+
label: string;
|
|
1468
|
+
icon?: string | undefined;
|
|
1469
|
+
to: string;
|
|
1470
|
+
permission: string & import("zod").$brand<"PermissionKey">;
|
|
1471
|
+
}[] | undefined;
|
|
1472
|
+
entityViews?: {
|
|
1473
|
+
entityType: string;
|
|
1474
|
+
view: string;
|
|
1475
|
+
}[] | undefined;
|
|
1476
|
+
widgets?: {
|
|
1477
|
+
slot: string;
|
|
1478
|
+
component: string;
|
|
1479
|
+
permission: string & import("zod").$brand<"PermissionKey">;
|
|
1480
|
+
}[] | undefined;
|
|
1481
|
+
settingsPanels?: {
|
|
1482
|
+
label: string;
|
|
1483
|
+
component: string;
|
|
1484
|
+
permission: string & import("zod").$brand<"PermissionKey">;
|
|
1485
|
+
}[] | undefined;
|
|
1486
|
+
} | undefined;
|
|
1487
|
+
};
|
|
1488
|
+
export declare const listMod: ModuleRegistration;
|
|
1294
1489
|
export declare const searchModManifest: {
|
|
1295
1490
|
id: string & import("zod").$brand<"ModuleId">;
|
|
1296
1491
|
version: string;
|
|
@@ -1359,6 +1554,13 @@ export declare const searchModManifest: {
|
|
|
1359
1554
|
idColumn?: string | undefined;
|
|
1360
1555
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
1361
1556
|
}[] | undefined;
|
|
1557
|
+
lists?: {
|
|
1558
|
+
entityType: string;
|
|
1559
|
+
sortable: string[];
|
|
1560
|
+
filterable?: string[] | undefined;
|
|
1561
|
+
table?: string | undefined;
|
|
1562
|
+
idColumn?: string | undefined;
|
|
1563
|
+
}[] | undefined;
|
|
1362
1564
|
ui?: {
|
|
1363
1565
|
routes?: {
|
|
1364
1566
|
path: string;
|
|
@@ -1457,6 +1659,13 @@ export declare const brokenModManifest: {
|
|
|
1457
1659
|
idColumn?: string | undefined;
|
|
1458
1660
|
tokenizer?: "prefix" | "substring" | undefined;
|
|
1459
1661
|
}[] | undefined;
|
|
1662
|
+
lists?: {
|
|
1663
|
+
entityType: string;
|
|
1664
|
+
sortable: string[];
|
|
1665
|
+
filterable?: string[] | undefined;
|
|
1666
|
+
table?: string | undefined;
|
|
1667
|
+
idColumn?: string | undefined;
|
|
1668
|
+
}[] | undefined;
|
|
1460
1669
|
ui?: {
|
|
1461
1670
|
routes?: {
|
|
1462
1671
|
path: string;
|
package/dist/modules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAiBA,OAAO,EAGL,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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"}
|