@sensigo/realm 0.4.0 → 0.5.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.
|
@@ -29,8 +29,11 @@ export interface AirtableAdapterConfig {
|
|
|
29
29
|
* Supported operations:
|
|
30
30
|
* fetch('get_record', { table, record_id }) — GET /v0/{base}/{table}/{id}
|
|
31
31
|
* fetch('list_records', { table, ...query }) — GET /v0/{base}/{table}
|
|
32
|
+
* fetch('search_records', { table, search_term, fields, ... }) — GET via filterByFormula
|
|
32
33
|
* create('create_record', { table, fields, ... }) — POST /v0/{base}/{table}
|
|
33
34
|
* update('upsert_record', { table, fields, ... }) — POST /v0/{base}/{table} (upsert)
|
|
35
|
+
* update('update_record', { table, record_id, fields, ... }) — PATCH /v0/{base}/{table}/{id}
|
|
36
|
+
* delete('delete_records', { table, record_ids }) — DELETE /v0/{base}/{table}?records[]=…
|
|
34
37
|
*/
|
|
35
38
|
export declare class AirtableAdapter implements ServiceAdapter {
|
|
36
39
|
readonly id: string;
|
|
@@ -47,5 +50,6 @@ export declare class AirtableAdapter implements ServiceAdapter {
|
|
|
47
50
|
fetch(operation: string, params: Record<string, unknown>, _config: Record<string, unknown>, signal?: AbortSignal): Promise<ServiceResponse>;
|
|
48
51
|
create(operation: string, params: Record<string, unknown>, _config: Record<string, unknown>, signal?: AbortSignal): Promise<ServiceResponse>;
|
|
49
52
|
update(operation: string, params: Record<string, unknown>, _config: Record<string, unknown>, signal?: AbortSignal): Promise<ServiceResponse>;
|
|
53
|
+
delete(operation: string, params: Record<string, unknown>, _config: Record<string, unknown>, signal?: AbortSignal): Promise<ServiceResponse>;
|
|
50
54
|
}
|
|
51
55
|
//# sourceMappingURL=airtable-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airtable-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/airtable-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKxF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AASD
|
|
1
|
+
{"version":3,"file":"airtable-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/airtable-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKxF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AASD;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,wBAAwB,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB;IAerD,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,QAAQ;YAQF,cAAc;YAyCd,cAAc;IAuGtB,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC;IAwTrB,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC;IAwErB,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC;IA8KrB,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC;CA2G5B"}
|
|
@@ -8,8 +8,11 @@ const AIRTABLE_DEFAULT_BASE_URL = 'https://api.airtable.com';
|
|
|
8
8
|
* Supported operations:
|
|
9
9
|
* fetch('get_record', { table, record_id }) — GET /v0/{base}/{table}/{id}
|
|
10
10
|
* fetch('list_records', { table, ...query }) — GET /v0/{base}/{table}
|
|
11
|
+
* fetch('search_records', { table, search_term, fields, ... }) — GET via filterByFormula
|
|
11
12
|
* create('create_record', { table, fields, ... }) — POST /v0/{base}/{table}
|
|
12
13
|
* update('upsert_record', { table, fields, ... }) — POST /v0/{base}/{table} (upsert)
|
|
14
|
+
* update('update_record', { table, record_id, fields, ... }) — PATCH /v0/{base}/{table}/{id}
|
|
15
|
+
* delete('delete_records', { table, record_ids }) — DELETE /v0/{base}/{table}?records[]=…
|
|
13
16
|
*/
|
|
14
17
|
export class AirtableAdapter {
|
|
15
18
|
id;
|
|
@@ -98,9 +101,24 @@ export class AirtableAdapter {
|
|
|
98
101
|
body = rawText;
|
|
99
102
|
}
|
|
100
103
|
const status = response.status;
|
|
101
|
-
const
|
|
104
|
+
const airtableError = typeof body === 'object' && body !== null && 'error' in body
|
|
105
|
+
? body.error
|
|
106
|
+
: undefined;
|
|
107
|
+
const airtableMessage = typeof airtableError?.message === 'string' ? airtableError.message : undefined;
|
|
108
|
+
const airtableType = typeof airtableError?.type === 'string' ? airtableError.type : undefined;
|
|
109
|
+
const detailSuffix = airtableMessage !== undefined ? ` — ${airtableMessage}` : '';
|
|
110
|
+
const baseDetails = {
|
|
111
|
+
status,
|
|
112
|
+
operation,
|
|
113
|
+
...(airtableType !== undefined ? { airtable_error_type: airtableType } : {}),
|
|
114
|
+
};
|
|
102
115
|
if (status === 401) {
|
|
103
|
-
|
|
116
|
+
// PAT format hint (never include any part of the key itself).
|
|
117
|
+
const dotCount = (this.apiKey.match(/\./g) ?? []).length;
|
|
118
|
+
const formatHint = dotCount !== 1
|
|
119
|
+
? ' (API key format looks wrong: expected one "." in a PAT — check you copied the full token)'
|
|
120
|
+
: '';
|
|
121
|
+
throw new WorkflowError(`Airtable authentication failed — check API key${formatHint}`, {
|
|
104
122
|
code: 'SERVICE_AUTH_FAILED',
|
|
105
123
|
category: 'SERVICE',
|
|
106
124
|
agentAction: 'stop',
|
|
@@ -109,7 +127,7 @@ export class AirtableAdapter {
|
|
|
109
127
|
});
|
|
110
128
|
}
|
|
111
129
|
if (status === 403) {
|
|
112
|
-
throw new WorkflowError(
|
|
130
|
+
throw new WorkflowError(`Airtable: forbidden (HTTP 403)${detailSuffix}`, {
|
|
113
131
|
code: 'SERVICE_HTTP_4XX',
|
|
114
132
|
category: 'SERVICE',
|
|
115
133
|
agentAction: 'stop',
|
|
@@ -118,7 +136,7 @@ export class AirtableAdapter {
|
|
|
118
136
|
});
|
|
119
137
|
}
|
|
120
138
|
if (status === 404) {
|
|
121
|
-
throw new WorkflowError(
|
|
139
|
+
throw new WorkflowError(`Airtable: record not found${detailSuffix}`, {
|
|
122
140
|
code: 'SERVICE_NOT_FOUND',
|
|
123
141
|
category: 'SERVICE',
|
|
124
142
|
agentAction: 'provide_input',
|
|
@@ -127,7 +145,7 @@ export class AirtableAdapter {
|
|
|
127
145
|
});
|
|
128
146
|
}
|
|
129
147
|
if (status === 422) {
|
|
130
|
-
throw new WorkflowError(
|
|
148
|
+
throw new WorkflowError(`Airtable: unprocessable entity (HTTP 422)${detailSuffix}`, {
|
|
131
149
|
code: 'SERVICE_HTTP_4XX',
|
|
132
150
|
category: 'SERVICE',
|
|
133
151
|
agentAction: 'stop',
|
|
@@ -156,7 +174,7 @@ export class AirtableAdapter {
|
|
|
156
174
|
});
|
|
157
175
|
}
|
|
158
176
|
// 400 and other 4xx
|
|
159
|
-
throw new WorkflowError(`HTTP ${status}: ${response.statusText}`, {
|
|
177
|
+
throw new WorkflowError(`HTTP ${status}: ${response.statusText}${detailSuffix}`, {
|
|
160
178
|
code: 'SERVICE_HTTP_4XX',
|
|
161
179
|
category: 'SERVICE',
|
|
162
180
|
agentAction: 'stop',
|
|
@@ -240,6 +258,97 @@ export class AirtableAdapter {
|
|
|
240
258
|
if (typeof params['offset'] === 'string') {
|
|
241
259
|
url.searchParams.set('offset', params['offset']);
|
|
242
260
|
}
|
|
261
|
+
// Malformed sort entries are skipped silently, consistent with the permissive
|
|
262
|
+
// param handling in this branch (e.g. non-string view is ignored, not an error).
|
|
263
|
+
if (Array.isArray(params['sort'])) {
|
|
264
|
+
params['sort'].forEach((entry, i) => {
|
|
265
|
+
if (typeof entry === 'object' && entry !== null) {
|
|
266
|
+
const e = entry;
|
|
267
|
+
if (typeof e.field === 'string' && e.field !== '') {
|
|
268
|
+
url.searchParams.set(`sort[${i}][field]`, e.field);
|
|
269
|
+
if (e.direction === 'asc' || e.direction === 'desc') {
|
|
270
|
+
url.searchParams.set(`sort[${i}][direction]`, e.direction);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
// Bounded auto-pagination — opt-in via fetch_all: true. Two caps, whichever
|
|
277
|
+
// hits first (mirrors the trace normalizer's count/byte-limit design). Caps
|
|
278
|
+
// are stop conditions, not truncation: the page that crossed a limit is kept.
|
|
279
|
+
if (params['fetch_all'] === true) {
|
|
280
|
+
const rawMaxPages = params['max_pages'];
|
|
281
|
+
const maxPages = typeof rawMaxPages === 'number' && Number.isFinite(rawMaxPages) && rawMaxPages >= 1
|
|
282
|
+
? Math.min(Math.floor(rawMaxPages), 10)
|
|
283
|
+
: 3;
|
|
284
|
+
const rawMaxBytes = params['max_bytes'];
|
|
285
|
+
const maxBytes = typeof rawMaxBytes === 'number' && Number.isFinite(rawMaxBytes) && rawMaxBytes >= 1
|
|
286
|
+
? Math.min(Math.floor(rawMaxBytes), 1000000)
|
|
287
|
+
: 100000;
|
|
288
|
+
const allRecords = [];
|
|
289
|
+
let pagesFetched = 0;
|
|
290
|
+
let nextOffset;
|
|
291
|
+
let truncationReason;
|
|
292
|
+
let lastStatus = 200;
|
|
293
|
+
for (;;) {
|
|
294
|
+
this.checkAborted(signal);
|
|
295
|
+
const pageUrl = new URL(url.href);
|
|
296
|
+
if (nextOffset !== undefined) {
|
|
297
|
+
pageUrl.searchParams.set('offset', nextOffset);
|
|
298
|
+
}
|
|
299
|
+
const pageResponse = await this.executeRequest(pageUrl, 'GET', undefined, signal);
|
|
300
|
+
if (!pageResponse.ok) {
|
|
301
|
+
await this.throwHttpError(pageResponse, 'list_records');
|
|
302
|
+
}
|
|
303
|
+
let pageParsed;
|
|
304
|
+
try {
|
|
305
|
+
pageParsed = await pageResponse.json();
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
throw new WorkflowError('AirtableAdapter: failed to parse response body', {
|
|
309
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
310
|
+
category: 'SERVICE',
|
|
311
|
+
agentAction: 'report_to_user',
|
|
312
|
+
retryable: false,
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
const page = pageParsed;
|
|
316
|
+
if (!Array.isArray(page.records)) {
|
|
317
|
+
throw new WorkflowError('AirtableAdapter: list_records response missing records array', {
|
|
318
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
319
|
+
category: 'SERVICE',
|
|
320
|
+
agentAction: 'report_to_user',
|
|
321
|
+
retryable: false,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
lastStatus = pageResponse.status;
|
|
325
|
+
allRecords.push(...page.records);
|
|
326
|
+
pagesFetched += 1;
|
|
327
|
+
nextOffset = typeof page.offset === 'string' ? page.offset : undefined;
|
|
328
|
+
// No further pages — the run is complete, not truncated.
|
|
329
|
+
if (nextOffset === undefined) {
|
|
330
|
+
break;
|
|
331
|
+
}
|
|
332
|
+
if (pagesFetched >= maxPages) {
|
|
333
|
+
truncationReason = 'page_limit';
|
|
334
|
+
break;
|
|
335
|
+
}
|
|
336
|
+
if (JSON.stringify(allRecords).length > maxBytes) {
|
|
337
|
+
truncationReason = 'byte_limit';
|
|
338
|
+
break;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
const truncated = truncationReason !== undefined;
|
|
342
|
+
return {
|
|
343
|
+
status: lastStatus,
|
|
344
|
+
data: {
|
|
345
|
+
records: allRecords,
|
|
346
|
+
truncated,
|
|
347
|
+
...(truncated ? { truncation_reason: truncationReason } : {}),
|
|
348
|
+
...(truncated && nextOffset !== undefined ? { offset: nextOffset } : {}),
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
}
|
|
243
352
|
const response = await this.executeRequest(url, 'GET', undefined, signal);
|
|
244
353
|
if (!response.ok) {
|
|
245
354
|
await this.throwHttpError(response, 'list_records');
|
|
@@ -267,6 +376,77 @@ export class AirtableAdapter {
|
|
|
267
376
|
}
|
|
268
377
|
return { status: response.status, data: parsed };
|
|
269
378
|
}
|
|
379
|
+
if (operation === 'search_records') {
|
|
380
|
+
const table = params['table'];
|
|
381
|
+
const searchTerm = params['search_term'];
|
|
382
|
+
const fields = params['fields'];
|
|
383
|
+
if (typeof table !== 'string' || table === '') {
|
|
384
|
+
throw new WorkflowError('AirtableAdapter: table param must be a non-empty string', {
|
|
385
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
386
|
+
category: 'ENGINE',
|
|
387
|
+
agentAction: 'provide_input',
|
|
388
|
+
retryable: false,
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
if (typeof searchTerm !== 'string' || searchTerm === '') {
|
|
392
|
+
throw new WorkflowError('AirtableAdapter: search_term param must be a non-empty string', {
|
|
393
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
394
|
+
category: 'ENGINE',
|
|
395
|
+
agentAction: 'provide_input',
|
|
396
|
+
retryable: false,
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
// fields is required: the adapter has no schema discovery (by design), so the
|
|
400
|
+
// workflow author must name the searchable fields.
|
|
401
|
+
if (!Array.isArray(fields) ||
|
|
402
|
+
fields.length === 0 ||
|
|
403
|
+
fields.some((f) => typeof f !== 'string' || f === '')) {
|
|
404
|
+
throw new WorkflowError('AirtableAdapter: fields param must be a non-empty array of non-empty strings — name the fields to search', {
|
|
405
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
406
|
+
category: 'ENGINE',
|
|
407
|
+
agentAction: 'provide_input',
|
|
408
|
+
retryable: false,
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
// Injection guard — escape " and \ in the term; never interpolate it raw.
|
|
412
|
+
const escapedTerm = searchTerm.replace(/["\\]/g, '\\$&');
|
|
413
|
+
const finds = fields.map((f) => `FIND("${escapedTerm}", {${f}})`);
|
|
414
|
+
const formula = finds.length === 1 ? finds.join('') : `OR(${finds.join(',')})`;
|
|
415
|
+
const url = this.buildUrl(table);
|
|
416
|
+
url.searchParams.set('filterByFormula', formula);
|
|
417
|
+
if (typeof params['view'] === 'string') {
|
|
418
|
+
url.searchParams.set('view', params['view']);
|
|
419
|
+
}
|
|
420
|
+
if (typeof params['max_records'] === 'number') {
|
|
421
|
+
url.searchParams.set('maxRecords', String(params['max_records']));
|
|
422
|
+
}
|
|
423
|
+
const response = await this.executeRequest(url, 'GET', undefined, signal);
|
|
424
|
+
if (!response.ok) {
|
|
425
|
+
await this.throwHttpError(response, 'search_records');
|
|
426
|
+
}
|
|
427
|
+
let parsed;
|
|
428
|
+
try {
|
|
429
|
+
parsed = await response.json();
|
|
430
|
+
}
|
|
431
|
+
catch {
|
|
432
|
+
throw new WorkflowError('AirtableAdapter: failed to parse response body', {
|
|
433
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
434
|
+
category: 'SERVICE',
|
|
435
|
+
agentAction: 'report_to_user',
|
|
436
|
+
retryable: false,
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
const data = parsed;
|
|
440
|
+
if (!Array.isArray(data.records)) {
|
|
441
|
+
throw new WorkflowError('AirtableAdapter: search_records response missing records array', {
|
|
442
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
443
|
+
category: 'SERVICE',
|
|
444
|
+
agentAction: 'report_to_user',
|
|
445
|
+
retryable: false,
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
return { status: response.status, data: parsed };
|
|
449
|
+
}
|
|
270
450
|
throw new WorkflowError(`AirtableAdapter: unsupported fetch operation "${operation}"`, {
|
|
271
451
|
code: 'ADAPTER_OP_UNSUPPORTED',
|
|
272
452
|
category: 'ENGINE',
|
|
@@ -414,6 +594,69 @@ export class AirtableAdapter {
|
|
|
414
594
|
}
|
|
415
595
|
return { status: response.status, data: parsed };
|
|
416
596
|
}
|
|
597
|
+
if (operation === 'update_record') {
|
|
598
|
+
const table = params['table'];
|
|
599
|
+
const recordId = params['record_id'];
|
|
600
|
+
const fields = params['fields'];
|
|
601
|
+
if (typeof table !== 'string' || table === '') {
|
|
602
|
+
throw new WorkflowError('AirtableAdapter: table param must be a non-empty string', {
|
|
603
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
604
|
+
category: 'ENGINE',
|
|
605
|
+
agentAction: 'provide_input',
|
|
606
|
+
retryable: false,
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
if (typeof recordId !== 'string' || recordId === '') {
|
|
610
|
+
throw new WorkflowError('AirtableAdapter: record_id param must be a non-empty string', {
|
|
611
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
612
|
+
category: 'ENGINE',
|
|
613
|
+
agentAction: 'provide_input',
|
|
614
|
+
retryable: false,
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
if (fields === undefined ||
|
|
618
|
+
fields === null ||
|
|
619
|
+
typeof fields !== 'object' ||
|
|
620
|
+
Array.isArray(fields)) {
|
|
621
|
+
throw new WorkflowError('AirtableAdapter: fields param must be a plain object', {
|
|
622
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
623
|
+
category: 'ENGINE',
|
|
624
|
+
agentAction: 'provide_input',
|
|
625
|
+
retryable: false,
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
const body = { fields };
|
|
629
|
+
if (params['typecast'] === true) {
|
|
630
|
+
body['typecast'] = true;
|
|
631
|
+
}
|
|
632
|
+
const url = this.buildUrl(table, recordId);
|
|
633
|
+
const response = await this.executeRequest(url, 'PATCH', body, signal);
|
|
634
|
+
if (!response.ok) {
|
|
635
|
+
await this.throwHttpError(response, 'update_record');
|
|
636
|
+
}
|
|
637
|
+
let parsed;
|
|
638
|
+
try {
|
|
639
|
+
parsed = await response.json();
|
|
640
|
+
}
|
|
641
|
+
catch {
|
|
642
|
+
throw new WorkflowError('AirtableAdapter: failed to parse response body', {
|
|
643
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
644
|
+
category: 'SERVICE',
|
|
645
|
+
agentAction: 'report_to_user',
|
|
646
|
+
retryable: false,
|
|
647
|
+
});
|
|
648
|
+
}
|
|
649
|
+
const data = parsed;
|
|
650
|
+
if (typeof data.id !== 'string' || data.id === '') {
|
|
651
|
+
throw new WorkflowError('AirtableAdapter: update_record response missing id field', {
|
|
652
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
653
|
+
category: 'SERVICE',
|
|
654
|
+
agentAction: 'report_to_user',
|
|
655
|
+
retryable: false,
|
|
656
|
+
});
|
|
657
|
+
}
|
|
658
|
+
return { status: response.status, data: parsed };
|
|
659
|
+
}
|
|
417
660
|
throw new WorkflowError(`AirtableAdapter: unsupported update operation "${operation}"`, {
|
|
418
661
|
code: 'ADAPTER_OP_UNSUPPORTED',
|
|
419
662
|
category: 'ENGINE',
|
|
@@ -421,5 +664,94 @@ export class AirtableAdapter {
|
|
|
421
664
|
retryable: false,
|
|
422
665
|
});
|
|
423
666
|
}
|
|
667
|
+
async delete(operation, params, _config, signal) {
|
|
668
|
+
if (operation === 'delete_records') {
|
|
669
|
+
const table = params['table'];
|
|
670
|
+
const recordIds = params['record_ids'];
|
|
671
|
+
if (typeof table !== 'string' || table === '') {
|
|
672
|
+
throw new WorkflowError('AirtableAdapter: table param must be a non-empty string', {
|
|
673
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
674
|
+
category: 'ENGINE',
|
|
675
|
+
agentAction: 'provide_input',
|
|
676
|
+
retryable: false,
|
|
677
|
+
});
|
|
678
|
+
}
|
|
679
|
+
if (!Array.isArray(recordIds) || recordIds.length === 0) {
|
|
680
|
+
throw new WorkflowError('AirtableAdapter: record_ids must be a non-empty array of non-empty strings', {
|
|
681
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
682
|
+
category: 'ENGINE',
|
|
683
|
+
agentAction: 'provide_input',
|
|
684
|
+
retryable: false,
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
if (recordIds.length > 10) {
|
|
688
|
+
throw new WorkflowError('AirtableAdapter: record_ids accepts at most 10 ids per call (Airtable API limit) — split into multiple steps', {
|
|
689
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
690
|
+
category: 'ENGINE',
|
|
691
|
+
agentAction: 'provide_input',
|
|
692
|
+
retryable: false,
|
|
693
|
+
});
|
|
694
|
+
}
|
|
695
|
+
for (const element of recordIds) {
|
|
696
|
+
if (typeof element !== 'string' || element === '') {
|
|
697
|
+
throw new WorkflowError('AirtableAdapter: record_ids must be a non-empty array of non-empty strings', {
|
|
698
|
+
code: 'ADAPTER_VALIDATION_FAILED',
|
|
699
|
+
category: 'ENGINE',
|
|
700
|
+
agentAction: 'provide_input',
|
|
701
|
+
retryable: false,
|
|
702
|
+
});
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
// One API call only — never chunk internally: partial deletion across
|
|
706
|
+
// chunks would corrupt evidence semantics.
|
|
707
|
+
const url = this.buildUrl(table);
|
|
708
|
+
for (const id of recordIds) {
|
|
709
|
+
url.searchParams.append('records[]', id);
|
|
710
|
+
}
|
|
711
|
+
const response = await this.executeRequest(url, 'DELETE', undefined, signal);
|
|
712
|
+
if (!response.ok) {
|
|
713
|
+
await this.throwHttpError(response, 'delete_records');
|
|
714
|
+
}
|
|
715
|
+
let parsed;
|
|
716
|
+
try {
|
|
717
|
+
parsed = await response.json();
|
|
718
|
+
}
|
|
719
|
+
catch {
|
|
720
|
+
throw new WorkflowError('AirtableAdapter: failed to parse response body', {
|
|
721
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
722
|
+
category: 'SERVICE',
|
|
723
|
+
agentAction: 'report_to_user',
|
|
724
|
+
retryable: false,
|
|
725
|
+
});
|
|
726
|
+
}
|
|
727
|
+
const data = parsed;
|
|
728
|
+
if (!Array.isArray(data.records)) {
|
|
729
|
+
throw new WorkflowError('AirtableAdapter: delete_records response missing records array', {
|
|
730
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
731
|
+
category: 'SERVICE',
|
|
732
|
+
agentAction: 'report_to_user',
|
|
733
|
+
retryable: false,
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
for (const element of data.records) {
|
|
737
|
+
const record = element;
|
|
738
|
+
if (typeof record.id !== 'string' || record.id === '' || record.deleted !== true) {
|
|
739
|
+
throw new WorkflowError('AirtableAdapter: delete_records response element missing id or deleted: true', {
|
|
740
|
+
code: 'SERVICE_RESPONSE_INVALID',
|
|
741
|
+
category: 'SERVICE',
|
|
742
|
+
agentAction: 'report_to_user',
|
|
743
|
+
retryable: false,
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
return { status: response.status, data: parsed };
|
|
748
|
+
}
|
|
749
|
+
throw new WorkflowError(`AirtableAdapter: unsupported delete operation "${operation}"`, {
|
|
750
|
+
code: 'ADAPTER_OP_UNSUPPORTED',
|
|
751
|
+
category: 'ENGINE',
|
|
752
|
+
agentAction: 'report_to_user',
|
|
753
|
+
retryable: false,
|
|
754
|
+
});
|
|
755
|
+
}
|
|
424
756
|
}
|
|
425
757
|
//# sourceMappingURL=airtable-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airtable-adapter.js","sourceRoot":"","sources":["../../src/adapters/airtable-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"airtable-adapter.js","sourceRoot":"","sources":["../../src/adapters/airtable-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { TERMINAL_PHASES, RESUMABLE_PHASES, WAITING_PHASES, isTerminalPhase, TER
|
|
|
14
14
|
export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
|
|
15
15
|
export type { PreconditionResult } from './engine/precondition.js';
|
|
16
16
|
export type { StepDiagnostics } from './types/run-record.js';
|
|
17
|
-
export declare const VERSION = "0.
|
|
17
|
+
export declare const VERSION = "0.5.0";
|
|
18
18
|
export type { ToolCallRecord, McpServerConfig } from './types/mcp-types.js';
|
|
19
19
|
export type { ServiceAdapter, ServiceResponse } from './extensions/service-adapter.js';
|
|
20
20
|
export type { StepHandler, StepHandlerInputs, StepContext, StepHandlerResult, } from './extensions/step-handler.js';
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ export { submitHumanResponse, executeChain, buildNextActions, buildPreExecutionE
|
|
|
11
11
|
export { findEligibleSteps, isWorkflowComplete, deriveRunPhase, buildEvidenceByStep, propagateSkips, } from './engine/eligibility.js';
|
|
12
12
|
export { TERMINAL_PHASES, RESUMABLE_PHASES, WAITING_PHASES, isTerminalPhase, TERMINAL_STATES, RESUMABLE_STATES, WAITING_STATES, isTerminalState, } from './engine/lifecycle.js';
|
|
13
13
|
export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
|
|
14
|
-
export const VERSION = '0.
|
|
14
|
+
export const VERSION = '0.5.0';
|
|
15
15
|
export { ExtensionRegistry } from './extensions/registry.js';
|
|
16
16
|
export { createDefaultRegistry } from './extensions/default-registry.js';
|
|
17
17
|
// Evidence
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sensigo/realm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "tsc --build",
|
|
39
39
|
"test": "vitest run",
|
|
40
|
+
"test:contract": "vitest run --config vitest.contract.config.ts",
|
|
40
41
|
"lint": "eslint src"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
"@types/proper-lockfile": "^4.1.4",
|
|
46
47
|
"@types/uuid": "^10.0.0",
|
|
47
48
|
"typescript": "*",
|
|
48
|
-
"vitest": "
|
|
49
|
+
"vitest": "^4.1.0"
|
|
49
50
|
},
|
|
50
51
|
"dependencies": {
|
|
51
52
|
"ajv": "^8.18.0",
|