@ekwo-ai/core 0.21.1 → 0.21.2
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/books/backend.d.ts +22 -1
- package/dist/books/backend.d.ts.map +1 -1
- package/dist/books/backend.js +118 -3
- package/dist/books/backend.js.map +1 -1
- package/dist/books/documents.d.ts.map +1 -1
- package/dist/books/documents.js +36 -21
- package/dist/books/documents.js.map +1 -1
- package/dist/books/keys.d.ts.map +1 -1
- package/dist/books/keys.js +14 -4
- package/dist/books/keys.js.map +1 -1
- 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/schema.d.ts +93 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +103 -1
- package/dist/schema.js.map +1 -1
- package/package.json +16 -16
package/dist/books/backend.d.ts
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* `@supabase/supabase-js` or a Postgres driver, the command line's over
|
|
20
20
|
* `fetch`. Nothing in this folder imports anything from outside the core.
|
|
21
21
|
*/
|
|
22
|
+
import { type SchemaFeature } from '../schema.js';
|
|
22
23
|
export type Value = string | number | boolean | null;
|
|
23
24
|
export type Filter = {
|
|
24
25
|
column: string;
|
|
@@ -152,11 +153,31 @@ export declare function socleMarkerAnswer(answer: {
|
|
|
152
153
|
status?: number | undefined;
|
|
153
154
|
code?: string | undefined;
|
|
154
155
|
}): boolean | undefined;
|
|
155
|
-
/** A backend that also says where the socle is. */
|
|
156
|
+
/** A backend that also says where the socle is, and at which version. */
|
|
156
157
|
export interface SocleBackend extends Backend {
|
|
157
158
|
/** `ekwo` or `public`, resolved by the marker on first use. */
|
|
158
159
|
socleSchema(): Promise<string>;
|
|
160
|
+
/**
|
|
161
|
+
* What `ekwo_schema_version()` answers, asked the first time a call touches
|
|
162
|
+
* something of `SCHEMA_FEATURES` and kept; `undefined` while it does not
|
|
163
|
+
* answer.
|
|
164
|
+
*/
|
|
165
|
+
schemaVersion(): Promise<string | undefined>;
|
|
159
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Whether the schema behind `backend` has `feature`.
|
|
169
|
+
*
|
|
170
|
+
* A backend that has `schemaVersion()` answers from it: every one built by
|
|
171
|
+
* `onSocle()`, and any other that a surface gives the method — Ekwo Cloud's
|
|
172
|
+
* own, which reads the version of the project it is signed in to. A backend
|
|
173
|
+
* without it — and one whose database has not said its version — is taken
|
|
174
|
+
* to be at this release, which is what every call assumed before the floor
|
|
175
|
+
* was separated from the release: an unknown version never makes a current
|
|
176
|
+
* installation lose a column.
|
|
177
|
+
*/
|
|
178
|
+
export declare function backendSupports(backend: Backend, feature: SchemaFeature): Promise<boolean>;
|
|
179
|
+
/** The refusal of a call that needs a newer schema than the one it reached. */
|
|
180
|
+
export declare function schemaTooOldFor(feature: SchemaFeature, installed: string, what: string): BooksError;
|
|
160
181
|
/**
|
|
161
182
|
* The same backend, with the socle's schema named on every call.
|
|
162
183
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/books/backend.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/books/backend.ts"],"names":[],"mappings":"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"}
|
package/dist/books/backend.js
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* `@supabase/supabase-js` or a Postgres driver, the command line's over
|
|
20
20
|
* `fetch`. Nothing in this folder imports anything from outside the core.
|
|
21
21
|
*/
|
|
22
|
+
import { SCHEMA_FEATURES, supports } from '../schema.js';
|
|
22
23
|
export const SESSION_POSTING = ['review', 'autopilot'];
|
|
23
24
|
/**
|
|
24
25
|
* Where the socle lives: its own schema, and the one it is leaving.
|
|
@@ -86,6 +87,50 @@ export function socleMarkerAnswer(answer) {
|
|
|
86
87
|
return false;
|
|
87
88
|
return undefined;
|
|
88
89
|
}
|
|
90
|
+
/** Each column of `SCHEMA_FEATURES`, by table: what a read leaves out below its version. */
|
|
91
|
+
const FEATURE_COLUMNS = new Map();
|
|
92
|
+
/** Each function of `SCHEMA_FEATURES`, and the feature it belongs to. */
|
|
93
|
+
const FEATURE_FUNCTIONS = new Map();
|
|
94
|
+
for (const [feature, objects] of Object.entries(SCHEMA_FEATURES)) {
|
|
95
|
+
for (const qualified of objects.columns) {
|
|
96
|
+
const [table, column] = qualified.split('.');
|
|
97
|
+
FEATURE_COLUMNS.set(table, [...(FEATURE_COLUMNS.get(table) ?? []), { column, feature }]);
|
|
98
|
+
}
|
|
99
|
+
for (const fn of objects.functions)
|
|
100
|
+
FEATURE_FUNCTIONS.set(fn, feature);
|
|
101
|
+
}
|
|
102
|
+
/** `amount` for `amount`, `amount::text` and `total:amount`, the forms a select list takes. */
|
|
103
|
+
function selectedColumn(entry) {
|
|
104
|
+
const cast = entry.indexOf('::');
|
|
105
|
+
const bare = cast === -1 ? entry : entry.slice(0, cast);
|
|
106
|
+
const alias = bare.indexOf(':');
|
|
107
|
+
return (alias === -1 ? bare : bare.slice(alias + 1)).trim();
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Whether the schema behind `backend` has `feature`.
|
|
111
|
+
*
|
|
112
|
+
* A backend that has `schemaVersion()` answers from it: every one built by
|
|
113
|
+
* `onSocle()`, and any other that a surface gives the method — Ekwo Cloud's
|
|
114
|
+
* own, which reads the version of the project it is signed in to. A backend
|
|
115
|
+
* without it — and one whose database has not said its version — is taken
|
|
116
|
+
* to be at this release, which is what every call assumed before the floor
|
|
117
|
+
* was separated from the release: an unknown version never makes a current
|
|
118
|
+
* installation lose a column.
|
|
119
|
+
*/
|
|
120
|
+
export async function backendSupports(backend, feature) {
|
|
121
|
+
const versioned = backend;
|
|
122
|
+
if (typeof versioned.schemaVersion !== 'function')
|
|
123
|
+
return true;
|
|
124
|
+
const installed = await versioned.schemaVersion();
|
|
125
|
+
return installed === undefined || supports(installed, feature);
|
|
126
|
+
}
|
|
127
|
+
/** The refusal of a call that needs a newer schema than the one it reached. */
|
|
128
|
+
export function schemaTooOldFor(feature, installed, what) {
|
|
129
|
+
const since = SCHEMA_FEATURES[feature].since;
|
|
130
|
+
return new BooksError(`schema_too_old_for: ${what} needs schema ${since} (${feature}), and this database is at ${installed}. Its operator runs \`ekwo migrate\`.`, {
|
|
131
|
+
hint: 'Everything older than that keeps working on this database; this one thing waits for the update.',
|
|
132
|
+
});
|
|
133
|
+
}
|
|
89
134
|
/**
|
|
90
135
|
* The same backend, with the socle's schema named on every call.
|
|
91
136
|
*
|
|
@@ -96,25 +141,95 @@ export function socleMarkerAnswer(answer) {
|
|
|
96
141
|
*/
|
|
97
142
|
export function onSocle(inner, socleSchema) {
|
|
98
143
|
const schemaOf = async (schema) => schema ?? (await socleSchema());
|
|
144
|
+
// Asked once, and only by a call that touches a feature: a backend that
|
|
145
|
+
// never reads one of those columns never pays the round trip. An answer that
|
|
146
|
+
// fails is not kept, so the next call asks again.
|
|
147
|
+
let version;
|
|
148
|
+
const schemaVersion = () => {
|
|
149
|
+
if (version === undefined) {
|
|
150
|
+
version = (async () => {
|
|
151
|
+
const rows = await inner.rpc(SOCLE_MARKER, {}, await socleSchema());
|
|
152
|
+
const answer = rows[0];
|
|
153
|
+
return typeof answer === 'string' ? answer : undefined;
|
|
154
|
+
})().then((answer) => {
|
|
155
|
+
if (answer === undefined)
|
|
156
|
+
version = undefined;
|
|
157
|
+
return answer;
|
|
158
|
+
}, () => {
|
|
159
|
+
version = undefined;
|
|
160
|
+
return undefined;
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return version;
|
|
164
|
+
};
|
|
165
|
+
// The columns among `named` of a socle table this database does not have
|
|
166
|
+
// yet, and the version it is at: nothing when none of them belongs to a
|
|
167
|
+
// feature — the version is not even asked then — when the call names a
|
|
168
|
+
// module's schema, or when the version is not known.
|
|
169
|
+
const lacking = async (table, schema, named) => {
|
|
170
|
+
const gated = FEATURE_COLUMNS.get(table)?.filter((g) => named.includes(g.column));
|
|
171
|
+
if (gated === undefined || gated.length === 0)
|
|
172
|
+
return undefined;
|
|
173
|
+
if (schema !== undefined && schema !== (await socleSchema()))
|
|
174
|
+
return undefined;
|
|
175
|
+
const installed = await schemaVersion();
|
|
176
|
+
if (installed === undefined)
|
|
177
|
+
return undefined;
|
|
178
|
+
const columns = new Map(gated.filter((g) => !supports(installed, g.feature)).map((g) => [g.column, g.feature]));
|
|
179
|
+
return columns.size === 0 ? undefined : { columns, installed };
|
|
180
|
+
};
|
|
181
|
+
const refuseCall = async (fn, schema) => {
|
|
182
|
+
const feature = FEATURE_FUNCTIONS.get(fn);
|
|
183
|
+
if (feature === undefined || (schema !== undefined && schema !== (await socleSchema())))
|
|
184
|
+
return;
|
|
185
|
+
const installed = await schemaVersion();
|
|
186
|
+
if (installed !== undefined && !supports(installed, feature))
|
|
187
|
+
throw schemaTooOldFor(feature, installed, `${fn}()`);
|
|
188
|
+
};
|
|
189
|
+
const refuseWrite = async (table, rows, schema) => {
|
|
190
|
+
const missing = await lacking(table, schema, [...new Set(rows.flatMap((row) => Object.keys(row)))]);
|
|
191
|
+
if (missing === undefined)
|
|
192
|
+
return;
|
|
193
|
+
for (const row of rows) {
|
|
194
|
+
for (const key of Object.keys(row)) {
|
|
195
|
+
const feature = missing.columns.get(key);
|
|
196
|
+
if (feature !== undefined)
|
|
197
|
+
throw schemaTooOldFor(feature, missing.installed, `writing ${table}.${key}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
};
|
|
99
201
|
return {
|
|
100
202
|
mode: inner.mode,
|
|
101
203
|
actingAs: inner.actingAs,
|
|
102
204
|
agent: inner.agent,
|
|
103
205
|
socleSchema,
|
|
206
|
+
schemaVersion,
|
|
104
207
|
async rpc(fn, args, schema) {
|
|
208
|
+
await refuseCall(fn, schema);
|
|
105
209
|
return inner.rpc(fn, args, await schemaOf(schema));
|
|
106
210
|
},
|
|
107
211
|
async rpcVoid(fn, args, schema) {
|
|
212
|
+
await refuseCall(fn, schema);
|
|
108
213
|
return inner.rpcVoid(fn, args, await schemaOf(schema));
|
|
109
214
|
},
|
|
110
215
|
async select(query) {
|
|
111
|
-
|
|
216
|
+
// A column a newer schema added is not asked of an older one: the row
|
|
217
|
+
// comes back without it, as it did from the release that introduced it.
|
|
218
|
+
const missing = await lacking(query.table, query.schema, query.columns.map(selectedColumn));
|
|
219
|
+
const columns = missing === undefined ? query.columns : query.columns.filter((c) => !missing.columns.has(selectedColumn(c)));
|
|
220
|
+
return inner.select({ ...query, columns, schema: await schemaOf(query.schema) });
|
|
112
221
|
},
|
|
113
222
|
async insert(table, rows, returning, schema) {
|
|
114
|
-
|
|
223
|
+
await refuseWrite(table, rows, schema);
|
|
224
|
+
const missing = returning === undefined ? undefined : await lacking(table, schema, returning.map(selectedColumn));
|
|
225
|
+
const kept = missing === undefined ? returning : returning?.filter((c) => !missing.columns.has(selectedColumn(c)));
|
|
226
|
+
return inner.insert(table, rows, kept, await schemaOf(schema));
|
|
115
227
|
},
|
|
116
228
|
async update(table, patch, where, returning, schema) {
|
|
117
|
-
|
|
229
|
+
await refuseWrite(table, [patch], schema);
|
|
230
|
+
const missing = returning === undefined ? undefined : await lacking(table, schema, returning.map(selectedColumn));
|
|
231
|
+
const kept = missing === undefined ? returning : returning?.filter((c) => !missing.columns.has(selectedColumn(c)));
|
|
232
|
+
return inner.update(table, patch, where, kept, await schemaOf(schema));
|
|
118
233
|
},
|
|
119
234
|
async remove(table, where, schema) {
|
|
120
235
|
return inner.remove(table, where, await schemaOf(schema));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/books/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/books/backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/books/documents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/books/documents.ts"],"names":[],"mappings":"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"}
|
package/dist/books/documents.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* or an `entry_lines` row. Direct inserts are for the objects a person types:
|
|
9
9
|
* draft documents and their lines.
|
|
10
10
|
*/
|
|
11
|
-
import { BooksError } from './backend.js';
|
|
11
|
+
import { BooksError, backendSupports } from './backend.js';
|
|
12
12
|
import * as columns from './columns.js';
|
|
13
13
|
import { amountIn, moneyFields } from './format.js';
|
|
14
14
|
import { companyCurrency, createdBefore, idsByCode, namesOf, only, onlyVisible } from './shared.js';
|
|
@@ -38,29 +38,35 @@ export async function createDocument(backend, args) {
|
|
|
38
38
|
limit: 1,
|
|
39
39
|
});
|
|
40
40
|
if (held.length === 0 && before['state'] === 'draft')
|
|
41
|
-
await replaceLines(backend, id, resolved);
|
|
41
|
+
await replaceLines(backend, args.company_id, id, resolved);
|
|
42
42
|
return { ...(await getDocument(backend, { document_id: id })), replayed: true };
|
|
43
43
|
}
|
|
44
44
|
const currency = args.currency_code ?? (await companyCurrency(backend, args.company_id));
|
|
45
|
+
const header = {
|
|
46
|
+
company_id: args.company_id,
|
|
47
|
+
doc_type: args.doc_type,
|
|
48
|
+
contact_id: args.contact_id,
|
|
49
|
+
document_date: args.document_date,
|
|
50
|
+
due_date: args.due_date ?? null,
|
|
51
|
+
accounting_date: args.accounting_date ?? null,
|
|
52
|
+
number: args.number ?? null,
|
|
53
|
+
supplier_reference: args.supplier_reference ?? null,
|
|
54
|
+
currency_code: currency,
|
|
55
|
+
journal_id: args.journal_id ?? null,
|
|
56
|
+
payment_reference: args.payment_reference ?? null,
|
|
57
|
+
client_ref: args.client_ref ?? null,
|
|
58
|
+
};
|
|
59
|
+
// A schema older than `create_document()` (0.21.0) is written the way it
|
|
60
|
+
// always was: the header, then its lines. A connection that drops between
|
|
61
|
+
// the two leaves a draft with none, which the replay above finishes.
|
|
62
|
+
if (!(await backendSupports(backend, 'documents_in_one_statement'))) {
|
|
63
|
+
const document = only(await backend.insert('documents', [header], ['id']), 'the document could not be created');
|
|
64
|
+
await insertLines(backend, args.company_id, document['id'], resolved);
|
|
65
|
+
return getDocument(backend, { document_id: document['id'] });
|
|
66
|
+
}
|
|
45
67
|
// The header and its lines in one statement: a line the database refuses
|
|
46
68
|
// creates nothing, rather than an empty draft.
|
|
47
|
-
const id = only(await backend.rpc('create_document', {
|
|
48
|
-
p_document: {
|
|
49
|
-
company_id: args.company_id,
|
|
50
|
-
doc_type: args.doc_type,
|
|
51
|
-
contact_id: args.contact_id,
|
|
52
|
-
document_date: args.document_date,
|
|
53
|
-
due_date: args.due_date ?? null,
|
|
54
|
-
accounting_date: args.accounting_date ?? null,
|
|
55
|
-
number: args.number ?? null,
|
|
56
|
-
supplier_reference: args.supplier_reference ?? null,
|
|
57
|
-
currency_code: currency,
|
|
58
|
-
journal_id: args.journal_id ?? null,
|
|
59
|
-
payment_reference: args.payment_reference ?? null,
|
|
60
|
-
client_ref: args.client_ref ?? null,
|
|
61
|
-
},
|
|
62
|
-
p_lines: resolved,
|
|
63
|
-
}), 'the document could not be created');
|
|
69
|
+
const id = only(await backend.rpc('create_document', { p_document: header, p_lines: resolved }), 'the document could not be created');
|
|
64
70
|
return getDocument(backend, { document_id: id });
|
|
65
71
|
}
|
|
66
72
|
function isSale(docType) {
|
|
@@ -170,8 +176,17 @@ async function productsFor(backend, company, lines) {
|
|
|
170
176
|
* Every line of a draft replaced by these, through `replace_document_lines()`:
|
|
171
177
|
* one statement, so a line the database refuses leaves the draft with the
|
|
172
178
|
* lines it had rather than with none.
|
|
179
|
+
*
|
|
180
|
+
* A schema older than that function (0.21.0) has the lines deleted and then
|
|
181
|
+
* inserted, as every release before it did — and there a refused line still
|
|
182
|
+
* leaves the draft without any, which is what `ekwo migrate` fixes.
|
|
173
183
|
*/
|
|
174
|
-
async function replaceLines(backend, documentId, lines) {
|
|
184
|
+
async function replaceLines(backend, company, documentId, lines) {
|
|
185
|
+
if (!(await backendSupports(backend, 'documents_in_one_statement'))) {
|
|
186
|
+
await backend.remove('document_lines', [{ column: 'document_id', op: 'eq', value: documentId }]);
|
|
187
|
+
await insertLines(backend, company, documentId, lines);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
175
190
|
await backend.rpc('replace_document_lines', { p_document_id: documentId, p_lines: lines });
|
|
176
191
|
}
|
|
177
192
|
async function insertLines(backend, company, documentId, lines, after = 0) {
|
|
@@ -215,7 +230,7 @@ export async function updateDocumentLines(backend, args) {
|
|
|
215
230
|
const document = await draftOf(backend, args.document_id);
|
|
216
231
|
const company = document['company_id'];
|
|
217
232
|
const resolved = await resolveLineInputs(backend, company, document['doc_type'], args.lines);
|
|
218
|
-
await replaceLines(backend, args.document_id, resolved);
|
|
233
|
+
await replaceLines(backend, company, args.document_id, resolved);
|
|
219
234
|
return getDocument(backend, { document_id: args.document_id });
|
|
220
235
|
}
|
|
221
236
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/books/documents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/books/documents.ts"],"names":[],"mappings":"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"}
|
package/dist/books/keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/books/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/books/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAoC,KAAK,OAAO,EAA+B,MAAM,cAAc,CAAC;AAI3G,8EAA8E;AAC9E,eAAO,MAAM,WAAW,kCAAmC,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAiB3F;AASD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACvC;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAqB7F"}
|
package/dist/books/keys.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* `autopilot` — and never at a call: the database ignores the mark a request
|
|
8
8
|
* made with the key carries, and has no way to raise a key afterwards.
|
|
9
9
|
*/
|
|
10
|
-
import {} from './backend.js';
|
|
10
|
+
import { backendSupports, schemaTooOldFor } from './backend.js';
|
|
11
11
|
import * as columns from './columns.js';
|
|
12
12
|
import { only } from './shared.js';
|
|
13
13
|
/** How a key posts a document: as its company's setting says, or directly. */
|
|
@@ -37,13 +37,23 @@ function apiKeyState(key, now) {
|
|
|
37
37
|
return 'live';
|
|
38
38
|
}
|
|
39
39
|
export async function createApiKey(backend, args) {
|
|
40
|
-
const
|
|
40
|
+
const call = {
|
|
41
41
|
p_company_id: args.company_id,
|
|
42
42
|
p_name: args.name,
|
|
43
43
|
p_capabilities: args.capabilities,
|
|
44
44
|
p_expires_at: args.expires_at ?? null,
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
};
|
|
46
|
+
// A schema older than the posting modes (0.21.0) issues a key with the four
|
|
47
|
+
// arguments it always took, and has no mode to fix on it: asking for
|
|
48
|
+
// autopilot there is refused by name rather than dropped.
|
|
49
|
+
if (await backendSupports(backend, 'agent_posting')) {
|
|
50
|
+
call['p_posting_mode'] = args.posting_mode ?? 'review';
|
|
51
|
+
}
|
|
52
|
+
else if (args.posting_mode === 'autopilot') {
|
|
53
|
+
const installed = (await backend.schemaVersion()) ?? 'an older version';
|
|
54
|
+
throw schemaTooOldFor('agent_posting', installed, 'a key in autopilot');
|
|
55
|
+
}
|
|
56
|
+
const created = only(await backend.rpc('create_api_key', call), 'the key could not be issued');
|
|
47
57
|
return {
|
|
48
58
|
api_key: created,
|
|
49
59
|
note: 'The secret is in this answer and nowhere else — only its hash is stored. Show it to the user once, and tell them it cannot be read back.',
|
package/dist/books/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/books/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/books/keys.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export * from './types.js';
|
|
|
7
7
|
export * from './client.js';
|
|
8
8
|
export { STATEMENT_FORMATS, type StatementFormat } from './bank.js';
|
|
9
9
|
export { BANK_ACCOUNT_SCHEMES, BANK_ACCOUNT_SCHEME_KEYS, FALLBACK_BANK_ACCOUNT_SCHEME, bankAccountScheme, readBankAccountIdentifier, type BankAccountIdentifier, type BankAccountScheme, } from './bank-accounts.js';
|
|
10
|
-
export { SCHEMA_MIN, compareSchemaVersions, schemaIsAtLeast } from './schema.js';
|
|
10
|
+
export { SCHEMA_FEATURES, SCHEMA_MIN, compareSchemaVersions, missingFeatures, schemaIsAtLeast, supports, type SchemaFeature, } from './schema.js';
|
|
11
11
|
export { isRefusalState, socleCode } from './refusal.js';
|
|
12
12
|
export { IDENTITY_ENV, isServiceRoleKey, serviceRoleRefusal, type KeySlot } from './identity.js';
|
|
13
13
|
export { REGISTER_INVITE_ENV, REGISTRATION_INVITATION, registerInviteSilenced, registrationInvitation, relayableInvitation, type EnvironmentVariables, type RegistrationInvitation, } from './registration.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,QAAQ,EACR,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export * from './types.js';
|
|
|
7
7
|
export * from './client.js';
|
|
8
8
|
export { STATEMENT_FORMATS } from './bank.js';
|
|
9
9
|
export { BANK_ACCOUNT_SCHEMES, BANK_ACCOUNT_SCHEME_KEYS, FALLBACK_BANK_ACCOUNT_SCHEME, bankAccountScheme, readBankAccountIdentifier, } from './bank-accounts.js';
|
|
10
|
-
export { SCHEMA_MIN, compareSchemaVersions, schemaIsAtLeast } from './schema.js';
|
|
10
|
+
export { SCHEMA_FEATURES, SCHEMA_MIN, compareSchemaVersions, missingFeatures, schemaIsAtLeast, supports, } from './schema.js';
|
|
11
11
|
export { isRefusalState, socleCode } from './refusal.js';
|
|
12
12
|
export { IDENTITY_ENV, isServiceRoleKey, serviceRoleRefusal } from './identity.js';
|
|
13
13
|
export { REGISTER_INVITE_ENV, REGISTRATION_INVITATION, registerInviteSilenced, registrationInvitation, relayableInvitation, } from './registration.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAwB,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,GAG1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAwB,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,GAG1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,QAAQ,GAET,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAgB,MAAM,eAAe,CAAC;AACjG,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GAGpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GAGpB,MAAM,kBAAkB,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -13,11 +13,103 @@
|
|
|
13
13
|
* packages together; there is no "down" migration and there never will be,
|
|
14
14
|
* because undoing a schema change on a database with a year of entries in it
|
|
15
15
|
* is not a script, it is a restore.
|
|
16
|
+
*
|
|
17
|
+
* ## A floor, not the release number
|
|
18
|
+
*
|
|
19
|
+
* `SCHEMA_MIN` is the oldest schema this package still reads, and it is not
|
|
20
|
+
* the version of the release that carries it. Until 0.21.0 the two moved
|
|
21
|
+
* together, at every release: on 26 October 2026 a person invited to a project
|
|
22
|
+
* at 0.19.0 was shown nothing but "Your project needs an update", for a
|
|
23
|
+
* release whose migrations had added one column and two functions, none of
|
|
24
|
+
* which the screens they were opening read.
|
|
25
|
+
*
|
|
26
|
+
* So the floor moves only when a migration is **breaking** for what this
|
|
27
|
+
* package does on an older database: a table or a column renamed or dropped,
|
|
28
|
+
* a function whose arguments or answer changed, a right taken away that a
|
|
29
|
+
* call relied on. A migration that adds something is not a reason. What this
|
|
30
|
+
* package reads or calls that is newer than the floor is named in
|
|
31
|
+
* `SCHEMA_FEATURES` below, with the version that introduced it, and is asked
|
|
32
|
+
* for only on a schema that has it (`supports()`): the column is left out of
|
|
33
|
+
* the read, the older route is taken, or the call is refused by name with
|
|
34
|
+
* `schema_too_old_for`, saying which version it needs.
|
|
35
|
+
*
|
|
36
|
+
* `tests/schema_floor.test.ts` is the proof of the number: it builds a
|
|
37
|
+
* database from the migrations and seeds of the tag `v<SCHEMA_MIN>` and runs
|
|
38
|
+
* the reads of this release against it. A change that stops reading a project
|
|
39
|
+
* at the floor fails there, and the fix is either `SCHEMA_FEATURES` or a
|
|
40
|
+
* higher floor — said in the changelog under **Changed**, with the migration
|
|
41
|
+
* that made it necessary. `docs/releasing.md` carries the rule.
|
|
16
42
|
*/
|
|
17
43
|
/** The oldest schema `@ekwo-ai/core` reads. */
|
|
18
|
-
export declare const SCHEMA_MIN = "0.
|
|
44
|
+
export declare const SCHEMA_MIN = "0.19.0";
|
|
19
45
|
/** `-1`, `0` or `1`, comparing two `major.minor.patch` versions numerically. */
|
|
20
46
|
export declare function compareSchemaVersions(left: string, right: string): number;
|
|
21
47
|
/** Whether a database at `installed` is new enough for a package needing `minimum`. */
|
|
22
48
|
export declare function schemaIsAtLeast(installed: string, minimum: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* What a schema newer than the floor brought that a client reads or calls.
|
|
51
|
+
*
|
|
52
|
+
* One entry per thing a person can do or see, named after it, with the
|
|
53
|
+
* version of the schema that introduced it and the objects it is made of:
|
|
54
|
+
* the columns a read leaves out below that version (`table.column`), and the
|
|
55
|
+
* functions a call needs. The objects are what `onSocle()` acts on — a read
|
|
56
|
+
* of `companies` on a schema without `companies.agent_posting` simply does not
|
|
57
|
+
* ask for the column, and a call of `approve_document()` there is refused by
|
|
58
|
+
* name — so a feature listed here is never half there.
|
|
59
|
+
*
|
|
60
|
+
* A feature older than the floor has nothing left to say and is removed when
|
|
61
|
+
* the floor passes it. Nothing is listed here on faith either:
|
|
62
|
+
* `tests/schema_floor.test.ts` checks that every object below is missing at
|
|
63
|
+
* the floor and present in this release.
|
|
64
|
+
*/
|
|
65
|
+
export declare const SCHEMA_FEATURES: {
|
|
66
|
+
/**
|
|
67
|
+
* The administration a declaration is paid to, named in the company's own
|
|
68
|
+
* language where the pack gives its name in several
|
|
69
|
+
* (`20261023160200_a_payee_is_named_in_the_company_language`).
|
|
70
|
+
*/
|
|
71
|
+
readonly tax_payee_name_i18n: {
|
|
72
|
+
readonly since: "0.20.0";
|
|
73
|
+
readonly columns: readonly ["country_defaults.tax_payee_name_i18n"];
|
|
74
|
+
readonly functions: readonly [];
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* A draft and its lines written in one statement, so a line the database
|
|
78
|
+
* refuses leaves nothing half done
|
|
79
|
+
* (`20261023160600_a_draft_changes_its_lines_in_one_statement`). Below it,
|
|
80
|
+
* the core writes a draft in two statements, as it did before.
|
|
81
|
+
*/
|
|
82
|
+
readonly documents_in_one_statement: {
|
|
83
|
+
readonly since: "0.21.0";
|
|
84
|
+
readonly columns: readonly [];
|
|
85
|
+
readonly functions: readonly ["create_document", "replace_document_lines"];
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* How an agent posts in a company — review, autopilot or review only — and
|
|
89
|
+
* the approval of a draft by a person
|
|
90
|
+
* (`20261023174709_an_agent_posts_in_the_mode_its_company_chose`). Below
|
|
91
|
+
* it, nothing holds an agent's posting back, there is no setting to read
|
|
92
|
+
* and no approval to give, and a machine key has no posting mode.
|
|
93
|
+
*/
|
|
94
|
+
readonly agent_posting: {
|
|
95
|
+
readonly since: "0.21.0";
|
|
96
|
+
readonly columns: readonly ["companies.agent_posting", "api_keys.posting_mode"];
|
|
97
|
+
readonly functions: readonly ["approve_document", "agent_posting_mode", "document_version"];
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
export type SchemaFeature = keyof typeof SCHEMA_FEATURES;
|
|
101
|
+
/**
|
|
102
|
+
* Whether a database at `installed` has `feature`.
|
|
103
|
+
*
|
|
104
|
+
* A version that is unknown — no row came back, or one that is not
|
|
105
|
+
* `major.minor.patch` — is answered `false`: a feature is offered on a schema
|
|
106
|
+
* known to have it, never on a guess.
|
|
107
|
+
*/
|
|
108
|
+
export declare function supports(installed: string | null | undefined, feature: SchemaFeature): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* The features of `SCHEMA_FEATURES` a database at `installed` lacks, in the
|
|
111
|
+
* order they are declared: what a screen greys, and what `ekwo migrate` would
|
|
112
|
+
* bring.
|
|
113
|
+
*/
|
|
114
|
+
export declare function missingFeatures(installed: string | null | undefined): SchemaFeature[];
|
|
23
115
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,+CAA+C;AAC/C,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBzE;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;OAIG;;;;;;IAMH;;;;;OAKG;;;;;;IAMH;;;;;;OAMG;;;;;;CAM2G,CAAC;AAEjH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAO9F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,EAAE,CAErF"}
|
package/dist/schema.js
CHANGED
|
@@ -13,9 +13,35 @@
|
|
|
13
13
|
* packages together; there is no "down" migration and there never will be,
|
|
14
14
|
* because undoing a schema change on a database with a year of entries in it
|
|
15
15
|
* is not a script, it is a restore.
|
|
16
|
+
*
|
|
17
|
+
* ## A floor, not the release number
|
|
18
|
+
*
|
|
19
|
+
* `SCHEMA_MIN` is the oldest schema this package still reads, and it is not
|
|
20
|
+
* the version of the release that carries it. Until 0.21.0 the two moved
|
|
21
|
+
* together, at every release: on 26 October 2026 a person invited to a project
|
|
22
|
+
* at 0.19.0 was shown nothing but "Your project needs an update", for a
|
|
23
|
+
* release whose migrations had added one column and two functions, none of
|
|
24
|
+
* which the screens they were opening read.
|
|
25
|
+
*
|
|
26
|
+
* So the floor moves only when a migration is **breaking** for what this
|
|
27
|
+
* package does on an older database: a table or a column renamed or dropped,
|
|
28
|
+
* a function whose arguments or answer changed, a right taken away that a
|
|
29
|
+
* call relied on. A migration that adds something is not a reason. What this
|
|
30
|
+
* package reads or calls that is newer than the floor is named in
|
|
31
|
+
* `SCHEMA_FEATURES` below, with the version that introduced it, and is asked
|
|
32
|
+
* for only on a schema that has it (`supports()`): the column is left out of
|
|
33
|
+
* the read, the older route is taken, or the call is refused by name with
|
|
34
|
+
* `schema_too_old_for`, saying which version it needs.
|
|
35
|
+
*
|
|
36
|
+
* `tests/schema_floor.test.ts` is the proof of the number: it builds a
|
|
37
|
+
* database from the migrations and seeds of the tag `v<SCHEMA_MIN>` and runs
|
|
38
|
+
* the reads of this release against it. A change that stops reading a project
|
|
39
|
+
* at the floor fails there, and the fix is either `SCHEMA_FEATURES` or a
|
|
40
|
+
* higher floor — said in the changelog under **Changed**, with the migration
|
|
41
|
+
* that made it necessary. `docs/releasing.md` carries the rule.
|
|
16
42
|
*/
|
|
17
43
|
/** The oldest schema `@ekwo-ai/core` reads. */
|
|
18
|
-
export const SCHEMA_MIN = '0.
|
|
44
|
+
export const SCHEMA_MIN = '0.19.0';
|
|
19
45
|
/** `-1`, `0` or `1`, comparing two `major.minor.patch` versions numerically. */
|
|
20
46
|
export function compareSchemaVersions(left, right) {
|
|
21
47
|
const parse = (version) => version
|
|
@@ -39,4 +65,80 @@ export function compareSchemaVersions(left, right) {
|
|
|
39
65
|
export function schemaIsAtLeast(installed, minimum) {
|
|
40
66
|
return compareSchemaVersions(installed, minimum) >= 0;
|
|
41
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* What a schema newer than the floor brought that a client reads or calls.
|
|
70
|
+
*
|
|
71
|
+
* One entry per thing a person can do or see, named after it, with the
|
|
72
|
+
* version of the schema that introduced it and the objects it is made of:
|
|
73
|
+
* the columns a read leaves out below that version (`table.column`), and the
|
|
74
|
+
* functions a call needs. The objects are what `onSocle()` acts on — a read
|
|
75
|
+
* of `companies` on a schema without `companies.agent_posting` simply does not
|
|
76
|
+
* ask for the column, and a call of `approve_document()` there is refused by
|
|
77
|
+
* name — so a feature listed here is never half there.
|
|
78
|
+
*
|
|
79
|
+
* A feature older than the floor has nothing left to say and is removed when
|
|
80
|
+
* the floor passes it. Nothing is listed here on faith either:
|
|
81
|
+
* `tests/schema_floor.test.ts` checks that every object below is missing at
|
|
82
|
+
* the floor and present in this release.
|
|
83
|
+
*/
|
|
84
|
+
export const SCHEMA_FEATURES = {
|
|
85
|
+
/**
|
|
86
|
+
* The administration a declaration is paid to, named in the company's own
|
|
87
|
+
* language where the pack gives its name in several
|
|
88
|
+
* (`20261023160200_a_payee_is_named_in_the_company_language`).
|
|
89
|
+
*/
|
|
90
|
+
tax_payee_name_i18n: {
|
|
91
|
+
since: '0.20.0',
|
|
92
|
+
columns: ['country_defaults.tax_payee_name_i18n'],
|
|
93
|
+
functions: [],
|
|
94
|
+
},
|
|
95
|
+
/**
|
|
96
|
+
* A draft and its lines written in one statement, so a line the database
|
|
97
|
+
* refuses leaves nothing half done
|
|
98
|
+
* (`20261023160600_a_draft_changes_its_lines_in_one_statement`). Below it,
|
|
99
|
+
* the core writes a draft in two statements, as it did before.
|
|
100
|
+
*/
|
|
101
|
+
documents_in_one_statement: {
|
|
102
|
+
since: '0.21.0',
|
|
103
|
+
columns: [],
|
|
104
|
+
functions: ['create_document', 'replace_document_lines'],
|
|
105
|
+
},
|
|
106
|
+
/**
|
|
107
|
+
* How an agent posts in a company — review, autopilot or review only — and
|
|
108
|
+
* the approval of a draft by a person
|
|
109
|
+
* (`20261023174709_an_agent_posts_in_the_mode_its_company_chose`). Below
|
|
110
|
+
* it, nothing holds an agent's posting back, there is no setting to read
|
|
111
|
+
* and no approval to give, and a machine key has no posting mode.
|
|
112
|
+
*/
|
|
113
|
+
agent_posting: {
|
|
114
|
+
since: '0.21.0',
|
|
115
|
+
columns: ['companies.agent_posting', 'api_keys.posting_mode'],
|
|
116
|
+
functions: ['approve_document', 'agent_posting_mode', 'document_version'],
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Whether a database at `installed` has `feature`.
|
|
121
|
+
*
|
|
122
|
+
* A version that is unknown — no row came back, or one that is not
|
|
123
|
+
* `major.minor.patch` — is answered `false`: a feature is offered on a schema
|
|
124
|
+
* known to have it, never on a guess.
|
|
125
|
+
*/
|
|
126
|
+
export function supports(installed, feature) {
|
|
127
|
+
if (installed === null || installed === undefined || installed.trim().length === 0)
|
|
128
|
+
return false;
|
|
129
|
+
try {
|
|
130
|
+
return schemaIsAtLeast(installed.trim(), SCHEMA_FEATURES[feature].since);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* The features of `SCHEMA_FEATURES` a database at `installed` lacks, in the
|
|
138
|
+
* order they are declared: what a screen greys, and what `ekwo migrate` would
|
|
139
|
+
* bring.
|
|
140
|
+
*/
|
|
141
|
+
export function missingFeatures(installed) {
|
|
142
|
+
return Object.keys(SCHEMA_FEATURES).filter((feature) => !supports(installed, feature));
|
|
143
|
+
}
|
|
42
144
|
//# sourceMappingURL=schema.js.map
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ekwo-ai/core",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.2",
|
|
4
4
|
"description": "TypeScript row types and a typed Supabase client for the Ekwo OS accounting schema.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"accounting",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"node": ">=20"
|
|
29
29
|
},
|
|
30
30
|
"ekwo": {
|
|
31
|
-
"schemaMin": "0.
|
|
31
|
+
"schemaMin": "0.19.0"
|
|
32
32
|
},
|
|
33
33
|
"files": [
|
|
34
34
|
"dist",
|
|
@@ -48,20 +48,20 @@
|
|
|
48
48
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@ekwo-ai/camt053": "^0.21.
|
|
52
|
-
"@ekwo-ai/cfonb120": "^0.21.
|
|
53
|
-
"@ekwo-ai/coda": "^0.21.
|
|
54
|
-
"@ekwo-ai/factur-x": "^0.21.
|
|
55
|
-
"@ekwo-ai/fec": "^0.21.
|
|
56
|
-
"@ekwo-ai/invoice-pdf": "^0.21.
|
|
57
|
-
"@ekwo-ai/journal-items": "^0.21.
|
|
58
|
-
"@ekwo-ai/journal-report": "^0.21.
|
|
59
|
-
"@ekwo-ai/myinvois": "^0.21.
|
|
60
|
-
"@ekwo-ai/peppol-ubl": "^0.21.
|
|
61
|
-
"@ekwo-ai/transaction-journal": "^0.21.
|
|
62
|
-
"@ekwo-ai/trial-balance": "^0.21.
|
|
63
|
-
"@ekwo-ai/verifactu": "^0.21.
|
|
64
|
-
"@ekwo-ai/xaf": "^0.21.
|
|
51
|
+
"@ekwo-ai/camt053": "^0.21.2",
|
|
52
|
+
"@ekwo-ai/cfonb120": "^0.21.2",
|
|
53
|
+
"@ekwo-ai/coda": "^0.21.2",
|
|
54
|
+
"@ekwo-ai/factur-x": "^0.21.2",
|
|
55
|
+
"@ekwo-ai/fec": "^0.21.2",
|
|
56
|
+
"@ekwo-ai/invoice-pdf": "^0.21.2",
|
|
57
|
+
"@ekwo-ai/journal-items": "^0.21.2",
|
|
58
|
+
"@ekwo-ai/journal-report": "^0.21.2",
|
|
59
|
+
"@ekwo-ai/myinvois": "^0.21.2",
|
|
60
|
+
"@ekwo-ai/peppol-ubl": "^0.21.2",
|
|
61
|
+
"@ekwo-ai/transaction-journal": "^0.21.2",
|
|
62
|
+
"@ekwo-ai/trial-balance": "^0.21.2",
|
|
63
|
+
"@ekwo-ai/verifactu": "^0.21.2",
|
|
64
|
+
"@ekwo-ai/xaf": "^0.21.2"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"@supabase/supabase-js": "^2.0.0"
|