@ekwo-ai/core 0.20.0 → 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.
@@ -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;
@@ -44,9 +45,11 @@ export interface Order {
44
45
  export interface SelectQuery {
45
46
  table: string;
46
47
  /**
47
- * The Postgres schema the table lives in. Undefined is `public`, which is
48
- * the socle; a module names its own — `fixed_assets`, `budgets` — and PostgREST
49
- * serves it only once the project lists it under its exposed schemas.
48
+ * The Postgres schema the table lives in. Undefined is the socle's, which a
49
+ * backend resolves once by its marker (`socleSchemaResolver()`): `ekwo`, or
50
+ * `public` on an installation the socle has not moved out of yet. A module
51
+ * names its own — `fixed_assets`, `budgets` — and PostgREST serves it only
52
+ * once the project lists it under its exposed schemas.
50
53
  */
51
54
  schema?: string;
52
55
  /**
@@ -60,11 +63,30 @@ export interface SelectQuery {
60
63
  limit?: number;
61
64
  }
62
65
  export type Row = Record<string, unknown>;
66
+ /**
67
+ * What a session of an agent chose for itself, the way a person passes
68
+ * `--autopilot` or `--review` to one session. Unset, each company's
69
+ * `agent_posting` decides; a company that is `review_only` refuses autopilot
70
+ * (`autopilot_forbidden`).
71
+ */
72
+ export type SessionPosting = 'review' | 'autopilot';
73
+ export declare const SESSION_POSTING: readonly SessionPosting[];
74
+ /**
75
+ * The mark an agent puts on every transaction it opens (`agent_call()`): its
76
+ * session's choice, if it made one, and a name for the session, which the
77
+ * audit trail records beside every posting it makes.
78
+ */
79
+ export interface AgentSession {
80
+ posting?: SessionPosting | undefined;
81
+ id?: string | undefined;
82
+ }
63
83
  export interface Backend {
64
84
  /** Which route this is, for `status` and for the error messages. */
65
85
  readonly mode: 'postgrest' | 'sql';
66
86
  /** Who we are acting as, when that is known. */
67
87
  readonly actingAs: string | undefined;
88
+ /** Set when every transaction is marked as an agent's, with its session. */
89
+ readonly agent?: AgentSession | undefined;
68
90
  /**
69
91
  * Calls a function of the schema. Always an array of rows, whatever the
70
92
  * function returns: PostgREST hands back an object for a function returning
@@ -80,6 +102,91 @@ export interface Backend {
80
102
  remove(table: string, where: Filter[], schema?: string): Promise<void>;
81
103
  close(): Promise<void>;
82
104
  }
105
+ /**
106
+ * Where the socle lives: its own schema, and the one it is leaving.
107
+ *
108
+ * The socle was created in `public` and moves to `ekwo` (decision 0090). A
109
+ * client of either layout finds it by one marker, the function that carries
110
+ * the schema's version: present in `ekwo`, the socle is there; absent, it is
111
+ * still in `public`. Nothing else is guessed, and no other schema is tried —
112
+ * a database that has neither is not an Ekwo installation, and the first
113
+ * query says so in the database's own words.
114
+ */
115
+ export declare const SOCLE_SCHEMA = "ekwo";
116
+ export declare const FORMER_SOCLE_SCHEMA = "public";
117
+ export declare const SOCLE_MARKER = "ekwo_schema_version";
118
+ /**
119
+ * Answers whether the marker is in `schema`. Each route asks in its own way —
120
+ * the catalogue over SQL, a call with a profile over PostgREST — and the
121
+ * decision stays here.
122
+ */
123
+ export type SocleProbe = (schema: string) => Promise<boolean>;
124
+ /**
125
+ * The socle's schema, resolved once and kept.
126
+ *
127
+ * Once per connection: a backend builds one resolver and every call after the
128
+ * first reads the answer it kept. A probe that fails is not kept, so the next
129
+ * call asks again rather than living on an error.
130
+ */
131
+ export declare function socleSchemaResolver(probe: SocleProbe): () => Promise<string>;
132
+ /**
133
+ * Whether the marker is in `schema`, read from the catalogue of a direct
134
+ * connection.
135
+ *
136
+ * Asked as the connection, before any role is set: `pg_proc` is readable by
137
+ * everybody, and the question is where a function is, not whether this user
138
+ * may call it. `query` is the driver's, whichever it is.
139
+ */
140
+ export declare function socleMarkerInCatalogue(query: (sql: string, params: unknown[]) => Promise<Array<Record<string, unknown>>>, schema: string): Promise<boolean>;
141
+ /**
142
+ * What a call of the marker over PostgREST says about the schema it named.
143
+ *
144
+ * PostgREST answers 406 (`PGRST106`) for a schema the project does not expose
145
+ * and 404 (`PGRST202`) for a function its cache does not hold there: in both
146
+ * cases the socle is not in that schema yet. A refusal of the call itself
147
+ * (`42501`) means the function is there and this caller may not run it, which
148
+ * still places the socle. Anything else is not an answer to the question:
149
+ * `undefined`, and the caller throws what it received.
150
+ */
151
+ export declare function socleMarkerAnswer(answer: {
152
+ ok: boolean;
153
+ status?: number | undefined;
154
+ code?: string | undefined;
155
+ }): boolean | undefined;
156
+ /** A backend that also says where the socle is, and at which version. */
157
+ export interface SocleBackend extends Backend {
158
+ /** `ekwo` or `public`, resolved by the marker on first use. */
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>;
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;
181
+ /**
182
+ * The same backend, with the socle's schema named on every call.
183
+ *
184
+ * A function of this folder names a module's schema and leaves the socle's
185
+ * unsaid; this is where the unsaid one becomes explicit, for both routes —
186
+ * `Accept-Profile` / `Content-Profile` over PostgREST, `ekwo.x` or `public.x`
187
+ * over SQL — so neither depends on a default of the server.
188
+ */
189
+ export declare function onSocle(inner: Backend, socleSchema: () => Promise<string>): SocleBackend;
83
190
  /**
84
191
  * An error of this layer, or one that carries what the database said.
85
192
  *
@@ -107,6 +214,10 @@ export declare class BooksError extends Error {
107
214
  /**
108
215
  * `fixed_assets.disposals`, or `disposals` when there is no schema to name.
109
216
  *
217
+ * A backend built by `onSocle()` always has one to name: the socle's own
218
+ * schema is resolved before a call reaches here, so `undefined` is left to
219
+ * SQL that is meant to follow the connection's `search_path`.
220
+ *
110
221
  * Both halves go through `identifier()`, so a module code that came from the
111
222
  * registry rather than from this package still cannot be anything but a plain
112
223
  * lowercase name.
@@ -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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"}
@@ -19,6 +19,224 @@
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';
23
+ export const SESSION_POSTING = ['review', 'autopilot'];
24
+ /**
25
+ * Where the socle lives: its own schema, and the one it is leaving.
26
+ *
27
+ * The socle was created in `public` and moves to `ekwo` (decision 0090). A
28
+ * client of either layout finds it by one marker, the function that carries
29
+ * the schema's version: present in `ekwo`, the socle is there; absent, it is
30
+ * still in `public`. Nothing else is guessed, and no other schema is tried —
31
+ * a database that has neither is not an Ekwo installation, and the first
32
+ * query says so in the database's own words.
33
+ */
34
+ export const SOCLE_SCHEMA = 'ekwo';
35
+ export const FORMER_SOCLE_SCHEMA = 'public';
36
+ export const SOCLE_MARKER = 'ekwo_schema_version';
37
+ /**
38
+ * The socle's schema, resolved once and kept.
39
+ *
40
+ * Once per connection: a backend builds one resolver and every call after the
41
+ * first reads the answer it kept. A probe that fails is not kept, so the next
42
+ * call asks again rather than living on an error.
43
+ */
44
+ export function socleSchemaResolver(probe) {
45
+ let resolved;
46
+ return () => {
47
+ if (resolved === undefined) {
48
+ resolved = probe(SOCLE_SCHEMA).then((found) => (found ? SOCLE_SCHEMA : FORMER_SOCLE_SCHEMA), (error) => {
49
+ resolved = undefined;
50
+ throw error;
51
+ });
52
+ }
53
+ return resolved;
54
+ };
55
+ }
56
+ /**
57
+ * Whether the marker is in `schema`, read from the catalogue of a direct
58
+ * connection.
59
+ *
60
+ * Asked as the connection, before any role is set: `pg_proc` is readable by
61
+ * everybody, and the question is where a function is, not whether this user
62
+ * may call it. `query` is the driver's, whichever it is.
63
+ */
64
+ export async function socleMarkerInCatalogue(query, schema) {
65
+ const rows = await query(`select exists (
66
+ select 1 from pg_proc p join pg_namespace n on n.oid = p.pronamespace
67
+ where n.nspname = $1 and p.proname = $2 and p.pronargs = 0
68
+ ) as found`, [schema, SOCLE_MARKER]);
69
+ return rows[0]?.['found'] === true;
70
+ }
71
+ /**
72
+ * What a call of the marker over PostgREST says about the schema it named.
73
+ *
74
+ * PostgREST answers 406 (`PGRST106`) for a schema the project does not expose
75
+ * and 404 (`PGRST202`) for a function its cache does not hold there: in both
76
+ * cases the socle is not in that schema yet. A refusal of the call itself
77
+ * (`42501`) means the function is there and this caller may not run it, which
78
+ * still places the socle. Anything else is not an answer to the question:
79
+ * `undefined`, and the caller throws what it received.
80
+ */
81
+ export function socleMarkerAnswer(answer) {
82
+ if (answer.ok || answer.code === '42501')
83
+ return true;
84
+ if (answer.code === 'PGRST106' || answer.code === 'PGRST202')
85
+ return false;
86
+ if (answer.status === 404 || answer.status === 406)
87
+ return false;
88
+ return undefined;
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
+ }
134
+ /**
135
+ * The same backend, with the socle's schema named on every call.
136
+ *
137
+ * A function of this folder names a module's schema and leaves the socle's
138
+ * unsaid; this is where the unsaid one becomes explicit, for both routes —
139
+ * `Accept-Profile` / `Content-Profile` over PostgREST, `ekwo.x` or `public.x`
140
+ * over SQL — so neither depends on a default of the server.
141
+ */
142
+ export function onSocle(inner, socleSchema) {
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
+ };
201
+ return {
202
+ mode: inner.mode,
203
+ actingAs: inner.actingAs,
204
+ agent: inner.agent,
205
+ socleSchema,
206
+ schemaVersion,
207
+ async rpc(fn, args, schema) {
208
+ await refuseCall(fn, schema);
209
+ return inner.rpc(fn, args, await schemaOf(schema));
210
+ },
211
+ async rpcVoid(fn, args, schema) {
212
+ await refuseCall(fn, schema);
213
+ return inner.rpcVoid(fn, args, await schemaOf(schema));
214
+ },
215
+ async select(query) {
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) });
221
+ },
222
+ async insert(table, rows, returning, schema) {
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));
227
+ },
228
+ async update(table, patch, where, returning, schema) {
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));
233
+ },
234
+ async remove(table, where, schema) {
235
+ return inner.remove(table, where, await schemaOf(schema));
236
+ },
237
+ close: () => inner.close(),
238
+ };
239
+ }
22
240
  /**
23
241
  * An error of this layer, or one that carries what the database said.
24
242
  *
@@ -48,6 +266,10 @@ const IDENTIFIER = /^[a-z_][a-z0-9_]*$/;
48
266
  /**
49
267
  * `fixed_assets.disposals`, or `disposals` when there is no schema to name.
50
268
  *
269
+ * A backend built by `onSocle()` always has one to name: the socle's own
270
+ * schema is resolved before a call reaches here, so `undefined` is left to
271
+ * SQL that is meant to follow the connection's `search_path`.
272
+ *
51
273
  * Both halves go through `identifier()`, so a module code that came from the
52
274
  * registry rather than from this package still cannot be anything but a plain
53
275
  * lowercase name.
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/books/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+DH;;;;;;;GAOG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,GAAG,YAAY,CAAC;IACpB,IAAI,CAAqB;IACzB,IAAI,CAAqB;IAElC,YAAY,OAAe,EAAE,UAAwD,EAAE;QACrF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC;;;;;;GAMG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,MAA0B,EAAE,IAAY;IAChE,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAAC,mBAAmB,IAAI,sCAAsC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/books/backend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../src/books/columns.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,OAAO,UA2CnB,CAAC;AAEF,eAAO,MAAM,WAAW,UAAoE,CAAC;AAE7F,eAAO,MAAM,OAAO,UAUnB,CAAC;AAEF,eAAO,MAAM,OAAO,UAAmD,CAAC;AAExE,eAAO,MAAM,OAAO,UAiBnB,CAAC;AAEF,eAAO,MAAM,GAAG,UAsBf,CAAC;AAEF,eAAO,MAAM,QAAQ,UA2BpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,UAQlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,UAWlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,UAoE3B,CAAC;AAEF,eAAO,MAAM,OAAO,UAiBnB,CAAC;AAEF,eAAO,MAAM,aAAa,UAoBzB,CAAC;AAEF,eAAO,MAAM,KAAK,UAejB,CAAC;AAEF,eAAO,MAAM,UAAU,UAsBtB,CAAC;AAEF,eAAO,MAAM,YAAY,UAYxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAiB5B,CAAC;AAEF,eAAO,MAAM,OAAO,UAgBnB,CAAC;AAEF;;;;GAIG;AACH,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAEF,eAAO,MAAM,UAAU,UAYtB,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,OAAO,UAWnB,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,cAAc,UAW1B,CAAC;AAEF,eAAO,MAAM,QAAQ,UAQpB,CAAC;AAEF,eAAO,MAAM,cAAc,UAa1B,CAAC;AAEF,eAAO,MAAM,SAAS,UAarB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,UAaxB,CAAC"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../src/books/columns.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,OAAO,UA4CnB,CAAC;AAEF,eAAO,MAAM,WAAW,UAAoE,CAAC;AAE7F,eAAO,MAAM,OAAO,UAUnB,CAAC;AAEF,eAAO,MAAM,OAAO,UAAmD,CAAC;AAExE,eAAO,MAAM,OAAO,UAiBnB,CAAC;AAEF,eAAO,MAAM,GAAG,UAsBf,CAAC;AAEF,eAAO,MAAM,QAAQ,UA2BpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,UAQlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,UAWlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,UAoE3B,CAAC;AAEF,eAAO,MAAM,OAAO,UAiBnB,CAAC;AAEF,eAAO,MAAM,aAAa,UAoBzB,CAAC;AAEF,eAAO,MAAM,KAAK,UAejB,CAAC;AAEF,eAAO,MAAM,UAAU,UAsBtB,CAAC;AAEF,eAAO,MAAM,YAAY,UAYxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAiB5B,CAAC;AAEF,eAAO,MAAM,OAAO,UAgBnB,CAAC;AAEF;;;;GAIG;AACH,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAEF,eAAO,MAAM,UAAU,UAYtB,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,OAAO,UAYnB,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,cAAc,UAW1B,CAAC;AAEF,eAAO,MAAM,QAAQ,UAQpB,CAAC;AAEF,eAAO,MAAM,cAAc,UAa1B,CAAC;AAEF,eAAO,MAAM,SAAS,UAarB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,UAaxB,CAAC"}
@@ -38,6 +38,7 @@ export const COMPANY = [
38
38
  'invoice_logo_position',
39
39
  'number_format',
40
40
  'invoice_typeface',
41
+ 'agent_posting',
41
42
  'default_bank_account_id',
42
43
  'language',
43
44
  'currency_code',
@@ -405,6 +406,7 @@ export const API_KEY = [
405
406
  'name',
406
407
  'prefix',
407
408
  'capabilities',
409
+ 'posting_mode',
408
410
  'created_by',
409
411
  'created_at::text',
410
412
  'expires_at::text',
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../src/books/columns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../src/books/columns.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,23 @@ import { type Backend } from './backend.js';
11
11
  export declare function getCompany(backend: Backend, args: {
12
12
  company_id: string;
13
13
  }): Promise<unknown>;
14
+ /**
15
+ * How an agent books a document of a company: `companies.agent_posting`, a
16
+ * setting of the company beside its profile. `review`, the default: once a
17
+ * person approved the draft as it stands, unless the session opted into
18
+ * autopilot. `autopilot`: directly, within the rights of the person it acts
19
+ * for. `review_only`: as review, and no session may opt into autopilot.
20
+ */
21
+ export declare const AGENT_POSTING: readonly ["review", "autopilot", "review_only"];
22
+ export type AgentPosting = (typeof AGENT_POSTING)[number];
23
+ export interface SetAgentPostingArgs {
24
+ company_id: string;
25
+ agent_posting: AgentPosting;
26
+ }
27
+ /**
28
+ * Sets `companies.agent_posting`. Needs company.write, and the change is on
29
+ * the audit trail with the rest of the company. An agent may only make it
30
+ * stricter — the database refuses the rest (`agent_posting_by_a_person`).
31
+ */
32
+ export declare function setAgentPosting(backend: Backend, args: SetAgentPostingArgs): Promise<unknown>;
14
33
  //# sourceMappingURL=companies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../src/books/companies.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAY,MAAM,cAAc,CAAC;AAItD,wBAAsB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAgGjG"}
1
+ {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../src/books/companies.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAY,MAAM,cAAc,CAAC;AAItD,wBAAsB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAgGjG;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,iDAAkD,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,YAAY,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAWnG"}
@@ -97,4 +97,21 @@ export async function getCompany(backend, args) {
97
97
  journals,
98
98
  };
99
99
  }
100
+ /**
101
+ * How an agent books a document of a company: `companies.agent_posting`, a
102
+ * setting of the company beside its profile. `review`, the default: once a
103
+ * person approved the draft as it stands, unless the session opted into
104
+ * autopilot. `autopilot`: directly, within the rights of the person it acts
105
+ * for. `review_only`: as review, and no session may opt into autopilot.
106
+ */
107
+ export const AGENT_POSTING = ['review', 'autopilot', 'review_only'];
108
+ /**
109
+ * Sets `companies.agent_posting`. Needs company.write, and the change is on
110
+ * the audit trail with the rest of the company. An agent may only make it
111
+ * stricter — the database refuses the rest (`agent_posting_by_a_person`).
112
+ */
113
+ export async function setAgentPosting(backend, args) {
114
+ const company = only(await backend.update('companies', { agent_posting: args.agent_posting }, [{ column: 'id', op: 'eq', value: args.company_id }], ['id', 'name', 'agent_posting']), `company ${args.company_id}: changing how agents post needs company.write`);
115
+ return { company };
116
+ }
100
117
  //# sourceMappingURL=companies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../src/books/companies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../src/books/companies.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,17 @@ export declare function createDocument(backend: Backend, args: CreateDocumentArg
83
83
  /** One more line at the end of a draft. The lines already there are untouched. */
84
84
  export declare function addDocumentLine(backend: Backend, args: AddDocumentLineArgs): Promise<unknown>;
85
85
  export declare function updateDocumentLines(backend: Backend, args: UpdateDocumentLinesArgs): Promise<unknown>;
86
+ export interface ApproveDocumentArgs {
87
+ document_id: string;
88
+ }
89
+ /**
90
+ * A person approves a draft, as it stands, for an agent to post it in a
91
+ * company whose `agent_posting` is `review`. The approval is a row of the audit
92
+ * trail naming the version of the draft, so a change to the draft afterwards
93
+ * needs another. The database refuses it to an agent or a machine key
94
+ * (`approval_by_a_person`) and to whoever may not post the document.
95
+ */
96
+ export declare function approveDocument(backend: Backend, args: ApproveDocumentArgs): Promise<unknown>;
86
97
  export declare function postDocument(backend: Backend, args: PostDocumentArgs): Promise<unknown>;
87
98
  /** The lines of an entry, each beside the account it is on. */
88
99
  export declare function entryLinesWithAccounts(backend: Backend, entryId: string): Promise<Row[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/books/documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/books/documents.ts"],"names":[],"mappings":"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"}