@oddington/sdk 0.1.8 → 0.1.10
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 +50 -9
- package/dist/browser.js +319 -101
- package/dist/index.js +428 -114
- package/dist/types/packages/sdk/src/public.d.ts +1 -1
- package/dist/types/shared/data-contract.d.ts +26 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,9 +54,10 @@ an OS-launched IPv4 loopback origin. It checks `/_os/app/context` on that exact
|
|
|
54
54
|
origin for every protected operation, without reading hosted access credentials.
|
|
55
55
|
It accepts no workspace, endpoint or token option. Missing, forged, expired or
|
|
56
56
|
changed local context fails closed, as do sign-out and initialization replacement.
|
|
57
|
-
Local Data
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
Local Data selects from the Host's exact published index; a warm selection
|
|
58
|
+
neither initiates nor waits for renewal or synchronous hosted authority checks.
|
|
59
|
+
Local Files returns `unsupported_context` after checking context. Neither path
|
|
60
|
+
falls back to hosted services. Local app routine
|
|
60
61
|
execution uses the installed routine's immediate-publication authority.
|
|
61
62
|
|
|
62
63
|
Apps can assess a declared routine without starting it:
|
|
@@ -104,14 +105,26 @@ Only event reads reconnect, with bounded backoff and duplicate suppression;
|
|
|
104
105
|
launch and cancellation requests are never automatically retried. Failed
|
|
105
106
|
cancellation requests do not acknowledge cancellation. Handles expose no IDs,
|
|
106
107
|
cursors, raw output or process controls. Local sign-out, expiry, context
|
|
107
|
-
replacement and
|
|
108
|
+
replacement, origin changes and unconfirmed credential changes invalidate pending work.
|
|
108
109
|
|
|
109
110
|
The exact-origin browser credential survives reload and tab closure in local
|
|
110
|
-
storage.
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
storage. Each active initialization proactively renews before expiry, normally
|
|
112
|
+
sixty seconds early with a shorter lead for shorter lifetimes. Only the exact
|
|
113
|
+
Local Host silently refreshes the secure CLI login and confirms unchanged
|
|
114
|
+
complete access. Successful renewal rotates only the bounded browser credential;
|
|
115
|
+
it exposes no CLI credential or login prompt. Other tabs and SDK instances
|
|
116
|
+
retain only their unchanged deadline during a temporary renewal outage and
|
|
117
|
+
retry proactively without starting or delaying Data reads. They
|
|
118
|
+
confirm the stored winner against the same Host and logical session before
|
|
119
|
+
silently adopting it. Rotation preserves admitted Data/results and owned runs;
|
|
120
|
+
old credentials cannot admit new requests and failed writes, launches and
|
|
121
|
+
cancellations are never replayed. Sign-out, replacement and expiry cancel
|
|
122
|
+
renewal, including pending response bodies. Host expiry and current membership
|
|
123
|
+
remain authoritative; stored state cannot revive a stopped host. Recovery
|
|
124
|
+
covers only the operation's current logical session and bounded terminal grace,
|
|
125
|
+
without relaunching or durable history.
|
|
113
126
|
Supplied File inputs currently reject `execution_unavailable` before launch;
|
|
114
|
-
File-use transfer and local
|
|
127
|
+
File-use transfer and a local browser Files adapter are separate work.
|
|
115
128
|
|
|
116
129
|
The fixed child imports `appRun` from the same package and shares the app's
|
|
117
130
|
customer-owned input/result/step types:
|
|
@@ -286,9 +299,37 @@ Each graph selection sends one request and returns only selected canonical
|
|
|
286
299
|
values, expanded forward links and exact opaque public versions. Cursors
|
|
287
300
|
continue the exact retained artifact and collection selection, even after
|
|
288
301
|
replacement; repeat its options and links while omitting unrelated collections.
|
|
289
|
-
There is no automatic retry or separate version fetch.
|
|
302
|
+
There is no automatic retry or separate version fetch.
|
|
290
303
|
Collection schemas omit Markdown storage hints.
|
|
291
304
|
|
|
305
|
+
Read published History through the same inert repository handle:
|
|
306
|
+
|
|
307
|
+
```ts
|
|
308
|
+
const versions = await general.history.list({ limit: 50 });
|
|
309
|
+
const older = versions.length
|
|
310
|
+
? await general.history.list({ before: versions.at(-1)!.version }) : [];
|
|
311
|
+
const close = await general.history.at('2026-10-09T16:30:00Z');
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
List returns an entry array in descending published sequence, with an exclusive
|
|
315
|
+
visible `before` and a default limit of 50 (integer 1–100). Cutoff accepts a real
|
|
316
|
+
RFC 3339 instant with an explicit offset and returns the greatest visible sequence
|
|
317
|
+
published at or before it, or null. Entries contain exactly `version`, `publishedAt`,
|
|
318
|
+
`author`, `authoredAt`, `committer`, `committedAt`, `message`, `created`, `updated`,
|
|
319
|
+
and `deleted`. Git identities and complete messages are repository facts; changed
|
|
320
|
+
refs are lexical. Versions are opaque published identities, never Git expressions.
|
|
321
|
+
Each operation captures input before resolving authority and makes one request.
|
|
322
|
+
Incomplete selected metadata fails the whole result retryably with `unavailable`;
|
|
323
|
+
current Records remain independent. Hosted routines retain their captured ceiling
|
|
324
|
+
until their own authoritative publication advances it. History is served through
|
|
325
|
+
the member/run Data transport. Local apps and local routines use the same calls;
|
|
326
|
+
their OS parent may acquire one bounded page or cutoff result, retain it against
|
|
327
|
+
the exact repository target and published ceiling, and serve an identical warm
|
|
328
|
+
request without another hosted call. Authority loss, expiry, target replacement
|
|
329
|
+
or published-version replacement invalidates that retained result. Prepared local
|
|
330
|
+
changes do not appear in published History.
|
|
331
|
+
Historical Record selection and `history.changes` are not exposed by this slice.
|
|
332
|
+
|
|
292
333
|
Use bounded plain-text lookup to find full Records and guards:
|
|
293
334
|
|
|
294
335
|
```ts
|