@oddington/sdk 0.1.1 → 0.1.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/README.md CHANGED
@@ -13,6 +13,37 @@ import { defineHandler, resolveAsk, routinePublicationClient } from '@oddington/
13
13
  const inbox = routinePublicationClient();
14
14
  ```
15
15
 
16
+ Bind a declared Airtable connection with `connections.airtable('project-management')`
17
+ from the package root. Import and binding perform no network or credential work.
18
+ The client exposes `tables.list()` and `records.list`, `get`, `create`, `update`
19
+ and `delete`. Reads allow table names or stable IDs and return all ordered pages;
20
+ writes require a stable table ID and one nonempty batch of at most ten records.
21
+ Operations cannot select another workspace, base, token or provider URL.
22
+
23
+ ```ts
24
+ import { connections } from '@oddington/sdk';
25
+
26
+ const airtable = connections.airtable('project-management');
27
+ const changed = await airtable.records.update({ table: 'tblContacts', records: [{
28
+ id: 'recRetained', expected: { Email: 'james@example.com', Company: null },
29
+ set: { Company: ['recCompany'] },
30
+ }] });
31
+ ```
32
+
33
+ Preserve original reviewed `expected` values. Non-null values must match exactly;
34
+ `null` requires an omitted field key and cannot be used as an update value. Reads
35
+ preserve Airtable's omitted-field shape. Create requires nonempty `fields`, update
36
+ requires nonempty `set`, and untouched fields remain unchanged. Guarded methods
37
+ read before a single batch write; this leaves a concurrency race and provides no
38
+ atomic compare-and-swap, rollback or implicit retry.
39
+
40
+ Success returns a safe Airtable `receipt` with the connection, configured base,
41
+ table, operation and acknowledged IDs. Create/update also return acknowledged
42
+ records separately. `AirtableOperationError` reports `unapplied`, `partial` or
43
+ `uncertain` effects and known safe `receipts`. Stop after partial or uncertain
44
+ work; never repeat the whole change blindly. Credentials must never be retained
45
+ in files, publication, logs, handler input, errors or receipts.
46
+
16
47
  Managed routine launches supply workspace, scoped capability and working root.
17
48
  The defaults read `ODDINGTON_ROUTINE_WORKSPACE`, `ODDINGTON_ROUTINE_RUN` and
18
49
  `ODDINGTON_INBOX_WORKING_ROOT` (or the current directory). Callers may supply the