@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
|