@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;;;;;;;;GAQG;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;IAqFtB,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;IA4HrB,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;CAqG5B"}
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 baseDetails = { status, operation };
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
- throw new WorkflowError('Airtable authentication failed check API key', {
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('Airtable: forbidden (HTTP 403)', {
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('Airtable: record not found', {
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('Airtable: unprocessable entity (HTTP 422)', {
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.4.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.4.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.4.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",