@elaraai/e3-ui-components 1.0.12 → 1.0.14
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/dist/components/UITaskPreview.d.ts.map +1 -1
- package/dist/experiment/charts.d.ts +31 -2
- package/dist/experiment/charts.d.ts.map +1 -1
- package/dist/experiment/derive.d.ts +176 -74
- package/dist/experiment/derive.d.ts.map +1 -1
- package/dist/experiment/help-ui.d.ts +29 -0
- package/dist/experiment/help-ui.d.ts.map +1 -0
- package/dist/experiment/help.d.ts +319 -0
- package/dist/experiment/help.d.ts.map +1 -0
- package/dist/experiment/index.d.ts.map +1 -1
- package/dist/experiment/run-runtime.d.ts +9 -0
- package/dist/experiment/run-runtime.d.ts.map +1 -1
- package/dist/index.cjs +2001 -518
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2005 -522
- package/dist/index.js.map +1 -1
- package/dist/platform/bind-runtime.d.ts +3 -0
- package/dist/platform/bind-runtime.d.ts.map +1 -1
- package/dist/platform/dataset-hooks.d.ts.map +1 -1
- package/dist/platform/dataset-store.d.ts +24 -1
- package/dist/platform/dataset-store.d.ts.map +1 -1
- package/dist/platform/func-runtime.d.ts +20 -16
- package/dist/platform/func-runtime.d.ts.map +1 -1
- package/dist/platform/index.d.ts +2 -1
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/record-runtime.d.ts +127 -0
- package/dist/platform/record-runtime.d.ts.map +1 -0
- package/dist/platform/staged-store.d.ts +17 -1
- package/dist/platform/staged-store.d.ts.map +1 -1
- package/dist/platform/tracked-channel.d.ts +71 -0
- package/dist/platform/tracked-channel.d.ts.map +1 -0
- package/package.json +14 -14
|
@@ -21,6 +21,7 @@ export interface BindHandle {
|
|
|
21
21
|
read: () => unknown;
|
|
22
22
|
write: (value: unknown) => null;
|
|
23
23
|
writeAndStart: (value: unknown) => null;
|
|
24
|
+
start: () => null;
|
|
24
25
|
source: () => unknown;
|
|
25
26
|
pending: () => boolean;
|
|
26
27
|
commit: () => null;
|
|
@@ -71,6 +72,8 @@ export declare class BindRuntime {
|
|
|
71
72
|
clearCache(): void;
|
|
72
73
|
/** Subscribe to write-queue errors. Returns an unsubscribe fn. */
|
|
73
74
|
onWriteError(cb: (error: unknown) => void): () => void;
|
|
75
|
+
/** Fan a write/persistence error out to every registered listener. */
|
|
76
|
+
private emitWriteError;
|
|
74
77
|
/** Resolve once every currently-queued write has finished
|
|
75
78
|
* (success or failure). Errors are NOT thrown — subscribe via
|
|
76
79
|
* {@link onWriteError} for those. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-runtime.d.ts","sourceRoot":"","sources":["../../src/platform/bind-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACH,KAAK,aAAa,EAclB,KAAK,WAAW,EAChB,UAAU,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACH,KAAK,6BAA6B,EAGrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEH,KAAK,oBAAoB,EAC5B,MAAM,mBAAmB,CAAC;AAuE3B;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAG,aAAa,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAQ,mBAAmB,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACrC;AAED;gEACgE;AAChE,MAAM,WAAW,UAAU;IACvB,IAAI,EAAW,MAAM,OAAO,CAAC;IAC7B,KAAK,EAAU,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,MAAM,EAAS,MAAM,OAAO,CAAC;IAC7B,OAAO,EAAQ,MAAM,OAAO,CAAC;IAC7B,MAAM,EAAS,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAQ,MAAM,IAAI,CAAC;IAC1B,GAAG,EAAY,MAAM,OAAO,CAAC;IAC7B,MAAM,EAAS,MAAM,OAAO,CAAC;IAC7B,OAAO,EAAQ;QACX,MAAM,EAAE,QAAQ,CAAC;QACjB,KAAK,EAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,IAAI,EAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;KACzC,CAAC;CACL;AAMD;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAG9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuC;IAK3E,OAAO,CAAC,eAAe,CAA4B;IAKnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmC;IAOnE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAG5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAEzD;;;OAGG;gBACS,MAAM,GAAE,oBAAuC;
|
|
1
|
+
{"version":3,"file":"bind-runtime.d.ts","sourceRoot":"","sources":["../../src/platform/bind-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-hooks.d.ts","sourceRoot":"","sources":["../../src/platform/dataset-hooks.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,OAAO,EASH,KAAK,SAAS,EACjB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAEH,KAAK,6BAA6B,EAGrC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataset-hooks.d.ts","sourceRoot":"","sources":["../../src/platform/dataset-hooks.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,OAAO,EASH,KAAK,SAAS,EACjB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAEH,KAAK,6BAA6B,EAGrC,MAAM,oBAAoB,CAAC;AAwB5B;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IACzC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CAAC,EACpC,QAAQ,GACX,EAAE,4BAA4B,2CA2F9B;AAMD;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,6BAA6B,CAMvE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,6BAA6B,GAAG,IAAI,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAM5D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAc/F;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,wBAAwB,EAAE,GAAG,6BAA6B,CAkD9G;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,0BAA0B;IAC1B,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,qCAAqC;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,QAAQ,EACR,QAAQ,EACR,QAAe,EACf,OAAO,GACV,EAAE,0BAA0B,2CAuB5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,uBAAuB,IAAI,CACvC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,UAAU,KAChB,OAAO,CAAC,IAAI,CAAC,CAOjB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAchF"}
|
|
@@ -86,6 +86,15 @@ export interface ReactiveDatasetCacheInterface {
|
|
|
86
86
|
* that you don't want to drive the dataflow on every tick.
|
|
87
87
|
*/
|
|
88
88
|
writeAndStart(workspace: string, path: TreePath, value: Uint8Array): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Launch a workspace dataflow run WITHOUT writing anything first, so
|
|
91
|
+
* downstream tasks recompute against the current dataset state. This is the
|
|
92
|
+
* standalone half of {@link writeAndStart} — use it after an out-of-band
|
|
93
|
+
* mutation (e.g. a record commit) or to drive an explicit "Run" affordance.
|
|
94
|
+
* Fire-and-await: resolves once the server accepts the request, not when
|
|
95
|
+
* the dataflow finishes.
|
|
96
|
+
*/
|
|
97
|
+
launchDataflow(workspace: string): Promise<void>;
|
|
89
98
|
/** Preload a dataset into cache */
|
|
90
99
|
preload(workspace: string, path: TreePath): Promise<void>;
|
|
91
100
|
/** List fields at a path */
|
|
@@ -99,6 +108,15 @@ export interface ReactiveDatasetCacheInterface {
|
|
|
99
108
|
* session accumulates watched paths (and network traffic) forever.
|
|
100
109
|
*/
|
|
101
110
|
clearRefetchInterval(workspace: string, path: TreePath): void;
|
|
111
|
+
/**
|
|
112
|
+
* Force one immediate workspace-status poll, reconciling every watched
|
|
113
|
+
* path's content against the server (hash-gated; only changed datasets
|
|
114
|
+
* refetch). Use after an out-of-band server mutation (e.g. a record
|
|
115
|
+
* mutation commit) so a watched dataset picks up the new bytes without
|
|
116
|
+
* waiting for the standing poll interval. No-op if the workspace has no
|
|
117
|
+
* active poller. Fire-and-forget; resolves when the poll settles.
|
|
118
|
+
*/
|
|
119
|
+
refresh(workspace: string): Promise<void>;
|
|
102
120
|
/** Subscribe to changes on a specific key */
|
|
103
121
|
subscribe(key: string, callback: () => void): () => void;
|
|
104
122
|
/** Subscribe to all changes */
|
|
@@ -204,13 +222,17 @@ export declare class ReactiveDatasetCache implements ReactiveDatasetCacheInterfa
|
|
|
204
222
|
* Polling continues to surface live status as tasks complete.
|
|
205
223
|
*/
|
|
206
224
|
writeAndStart(workspace: string, path: TreePath, value: Uint8Array): Promise<void>;
|
|
225
|
+
/**
|
|
226
|
+
* Launch a workspace dataflow run without writing first. The standalone
|
|
227
|
+
* half of {@link writeAndStart}; see the interface doc for semantics.
|
|
228
|
+
*/
|
|
229
|
+
launchDataflow(workspace: string): Promise<void>;
|
|
207
230
|
/**
|
|
208
231
|
* Preload a dataset into cache. Concurrent preloads of the same key
|
|
209
232
|
* share one fetch (query-core dedup); a write racing the fetch cancels
|
|
210
233
|
* it, so a preload can never clobber optimistic bytes.
|
|
211
234
|
*/
|
|
212
235
|
preload(workspace: string, path: TreePath): Promise<void>;
|
|
213
|
-
private fetchDataset;
|
|
214
236
|
/**
|
|
215
237
|
* List fields at a path. Empty path lists workspace root.
|
|
216
238
|
*/
|
|
@@ -234,6 +256,7 @@ export declare class ReactiveDatasetCache implements ReactiveDatasetCacheInterfa
|
|
|
234
256
|
* last watched path is cleared.
|
|
235
257
|
*/
|
|
236
258
|
clearRefetchInterval(workspace: string, path: TreePath): void;
|
|
259
|
+
refresh(workspace: string): Promise<void>;
|
|
237
260
|
/**
|
|
238
261
|
* Poll workspace status and reconcile the cache with the server.
|
|
239
262
|
* Concurrent calls for the same workspace dedupe to a single fetch.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-store.d.ts","sourceRoot":"","sources":["../../src/platform/dataset-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dataset-store.d.ts","sourceRoot":"","sources":["../../src/platform/dataset-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { EastType, EastTypeValue } from '@elaraai/east';
|
|
1
|
+
import { EastType, EastTypeValue, ValueTypeOf } from '@elaraai/east';
|
|
2
2
|
import { PlatformFunction } from '@elaraai/east/internal';
|
|
3
|
+
import { FuncErrorType } from '@elaraai/e3-ui/internal';
|
|
3
4
|
import { ExecuteResult, FunctionSignature } from '@elaraai/e3-api-client';
|
|
5
|
+
import { TrackedChannelStore } from './tracked-channel.js';
|
|
4
6
|
/** Request shape for {@link FunctionApi.call} — beast2-encoded positional
|
|
5
7
|
* args. Runner/limit overrides are deliberately not exposed (the deployed
|
|
6
8
|
* function's runner is authoritative). */
|
|
@@ -23,8 +25,10 @@ export interface FunctionApi {
|
|
|
23
25
|
* `@elaraai/e3-api-client`.
|
|
24
26
|
*/
|
|
25
27
|
export declare function createDefaultFunctionApi(apiUrl: string, repo: string, getToken: () => string | null): FunctionApi;
|
|
28
|
+
type FuncError = ValueTypeOf<FuncErrorType>;
|
|
29
|
+
type FuncStatusTag = "idle" | "running" | "succeeded" | "failed" | "cancelled";
|
|
26
30
|
/** A handle's signature, recovered from the instantiated handle type. */
|
|
27
|
-
interface
|
|
31
|
+
interface FuncHandleSignature {
|
|
28
32
|
readonly inputs: EastTypeValue[];
|
|
29
33
|
readonly output: EastTypeValue;
|
|
30
34
|
}
|
|
@@ -34,7 +38,18 @@ interface HandleSignature {
|
|
|
34
38
|
* field's `Option(Output)` return. The handle's shape IS the signature —
|
|
35
39
|
* there are no duplicate signature arguments to drift out of sync.
|
|
36
40
|
*/
|
|
37
|
-
export declare function
|
|
41
|
+
export declare function signatureOfFuncHandleType(handleType: EastTypeValue): FuncHandleSignature;
|
|
42
|
+
/** One tracked channel per `(workspace, name)`. */
|
|
43
|
+
interface FuncEntry {
|
|
44
|
+
status: FuncStatusTag;
|
|
45
|
+
/** Monotonic; a settling call whose seq is no longer current is
|
|
46
|
+
* discarded (latest-wins, and `cancel` orphans by bumping it). */
|
|
47
|
+
launchSeq: number;
|
|
48
|
+
/** Decoded Output of the last `succeeded` call. */
|
|
49
|
+
result?: unknown;
|
|
50
|
+
/** Detail of the last `failed` call. */
|
|
51
|
+
error?: FuncError;
|
|
52
|
+
}
|
|
38
53
|
/** Tracked-channel key. */
|
|
39
54
|
export declare function funcChannelKey(workspace: string, name: string): string;
|
|
40
55
|
/**
|
|
@@ -42,27 +57,16 @@ export declare function funcChannelKey(workspace: string, name: string): string;
|
|
|
42
57
|
* {@link defaultFuncRuntime} instance backs the registered platform; tests
|
|
43
58
|
* construct their own for isolation.
|
|
44
59
|
*/
|
|
45
|
-
export declare class FuncRuntime {
|
|
60
|
+
export declare class FuncRuntime extends TrackedChannelStore<FuncEntry> {
|
|
46
61
|
private api;
|
|
47
62
|
private workspace;
|
|
48
|
-
private readonly entries;
|
|
49
63
|
private signatureLists;
|
|
50
|
-
|
|
51
|
-
private readonly keyVersions;
|
|
52
|
-
private trackingContext;
|
|
64
|
+
protected createEntry(): FuncEntry;
|
|
53
65
|
/** Install the API adapter + workspace — called by the React provider
|
|
54
66
|
* (or a test/showcase harness) before any handle is used. */
|
|
55
67
|
initialize(api: FunctionApi, workspace: string): void;
|
|
56
68
|
/** Tear down the adapter and all call state. */
|
|
57
69
|
clear(): void;
|
|
58
|
-
enableTracking(): Set<string>;
|
|
59
|
-
disableTracking(): string[];
|
|
60
|
-
isTracking(): boolean;
|
|
61
|
-
private track;
|
|
62
|
-
subscribe(key: string, callback: () => void): () => void;
|
|
63
|
-
getKeyVersion(key: string): number;
|
|
64
|
-
private notify;
|
|
65
|
-
private entry;
|
|
66
70
|
/** The deployed signature list for a workspace (fetched once). */
|
|
67
71
|
private signatures;
|
|
68
72
|
/** Validate a declared signature against the deployed list. Returns a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"func-runtime.d.ts","sourceRoot":"","sources":["../../src/platform/func-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"func-runtime.d.ts","sourceRoot":"","sources":["../../src/platform/func-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/platform/index.d.ts
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
export { ReactiveDatasetCache, createReactiveDatasetCache, createDefaultDatasetApi, realClock, type ReactiveDatasetCacheInterface, type ReactiveDatasetCacheConfig, type DatasetApi, type Clock, datasetCacheKey, datasetPathToString, } from './dataset-store.js';
|
|
12
12
|
export { StagedStore, IndexedDBStagedAdapter, MemoryStagedAdapter, type StagedStoreInterface, type StagedPersistenceAdapter, type StagedEntry, type PersistedStagedEntry, getStagedStore, initializeStagedStore, clearStagedStoreSingleton, } from './staged-store.js';
|
|
13
13
|
export { BindRuntime, defaultBindRuntime, BindPlatform, createScopedBindPlatform, getReactiveDatasetCache, initializeReactiveDatasetCache, clearReactiveDatasetCache, enableBindingTracking, disableBindingTracking, isBindingTracking, trackDatasetPath, getBindingTypes, clearBindingRegistry, type BindingTypes, type BindHandle, preloadReactiveDatasetList, clearReactiveDatasetListCache, onWriteError, awaitPendingWrites, clearPendingWrites, } from './bind-runtime.js';
|
|
14
|
-
export { FuncRuntime, defaultFuncRuntime, FuncPlatform, createScopedFuncPlatform, createDefaultFunctionApi, initializeFunctionApi, clearFunctionApi, funcChannelKey,
|
|
14
|
+
export { FuncRuntime, defaultFuncRuntime, FuncPlatform, createScopedFuncPlatform, createDefaultFunctionApi, initializeFunctionApi, clearFunctionApi, funcChannelKey, signatureOfFuncHandleType, createInMemoryFunctionApi, type InMemoryFunctionDef, type FunctionApi, type FunctionCallArgs, } from './func-runtime.js';
|
|
15
|
+
export { RecordRuntime, defaultRecordRuntime, RecordPlatform, createScopedRecordPlatform, createDefaultRecordApi, initializeRecordApi, clearRecordApi, recordChannelKey, createInMemoryRecordApi, type InMemoryRecordDef, type RecordApi, type RecordMutateArgs, } from './record-runtime.js';
|
|
15
16
|
export { E3Provider, useE3Config, useE3ConfigOptional, type E3Config, type E3ProviderProps, } from './e3-config.js';
|
|
16
17
|
export { ReactiveDatasetProvider, type ReactiveDatasetProviderProps, useReactiveDatasetCache, useReactiveDatasetCacheSubscription, useReactiveDatasetKey, usePreloadReactiveDatasets, type ReactiveDatasetToPreload, type PreloadReactiveDatasetsResult, useReactiveDatasetWrite, useReactiveDatasetHas, ReactiveDatasetLoader, type ReactiveDatasetLoaderProps, } from './dataset-hooks.js';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAGH,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,EACT,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EACf,KAAK,KAAK,EACV,eAAe,EACf,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACH,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,cAAc,EACd,qBAAqB,EACrB,yBAAyB,GAC5B,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,0BAA0B,EAC1B,6BAA6B,EAC7B,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAGH,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,EACT,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EACf,KAAK,KAAK,EACV,eAAe,EACf,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACH,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,cAAc,EACd,qBAAqB,EACrB,yBAAyB,GAC5B,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,0BAA0B,EAC1B,6BAA6B,EAC7B,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,gBAAgB,GACxB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACH,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,QAAQ,EACb,KAAK,eAAe,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACH,uBAAuB,EACvB,KAAK,4BAA4B,EACjC,uBAAuB,EACvB,mCAAmC,EACnC,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,0BAA0B,GAClC,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { EastType, EastTypeValue, ValueTypeOf } from '@elaraai/east';
|
|
2
|
+
import { PlatformFunction } from '@elaraai/east/internal';
|
|
3
|
+
import { RecordErrorType } from '@elaraai/e3-ui/internal';
|
|
4
|
+
import { RecordSignature, MutationResult, RecordHistoryResult } from '@elaraai/e3-api-client';
|
|
5
|
+
import { TrackedChannelStore } from './tracked-channel.js';
|
|
6
|
+
import { ReactiveDatasetCacheInterface } from './dataset-store.js';
|
|
7
|
+
/** Request shape for {@link RecordApi.mutate} — beast2-encoded positional
|
|
8
|
+
* args (the extra reducer parameters, after the implicit state). */
|
|
9
|
+
export interface RecordMutateArgs {
|
|
10
|
+
args: Uint8Array[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Adapter for the workspace record endpoints. The default wraps
|
|
14
|
+
* `@elaraai/e3-api-client`'s `workspaceRecordDescribe` /
|
|
15
|
+
* `workspaceRecordMutate` / `workspaceRecordHistory`. `read()` does NOT go
|
|
16
|
+
* through here — it reads the record's dataset bytes from the shared cache.
|
|
17
|
+
*/
|
|
18
|
+
export interface RecordApi {
|
|
19
|
+
/** Describe a record's mutations (name + extra arg types), for validation. */
|
|
20
|
+
describe(workspace: string, record: string): Promise<RecordSignature>;
|
|
21
|
+
/** Apply a mutation synchronously, returning its terminal MutationResult. */
|
|
22
|
+
mutate(workspace: string, record: string, mutation: string, req: RecordMutateArgs): Promise<MutationResult>;
|
|
23
|
+
/** Read a record's commit chain (newest first). */
|
|
24
|
+
history(workspace: string, record: string, limit: number | undefined, from?: string): Promise<RecordHistoryResult>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Build the default {@link RecordApi} that talks to a real e3 server via
|
|
28
|
+
* `@elaraai/e3-api-client`.
|
|
29
|
+
*/
|
|
30
|
+
export declare function createDefaultRecordApi(apiUrl: string, repo: string, getToken: () => string | null): RecordApi;
|
|
31
|
+
type RecordError = ValueTypeOf<RecordErrorType>;
|
|
32
|
+
type RecordMutateTag = "idle" | "running" | "committed" | "failed" | "cancelled";
|
|
33
|
+
/** A handle's signature, recovered from the instantiated handle type. */
|
|
34
|
+
interface RecordHandleSignature {
|
|
35
|
+
readonly stateType: EastTypeValue;
|
|
36
|
+
readonly mutations: ReadonlyMap<string, EastTypeValue[]>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Introspect the instantiated handle struct type `H`: the state type comes
|
|
40
|
+
* from the `read` field's FunctionType output, and the mutation names + arg
|
|
41
|
+
* types come from the `mutate` sub-struct's non-reserved FunctionType fields.
|
|
42
|
+
* The handle's shape IS the signature — there are no duplicate signature
|
|
43
|
+
* arguments to drift out of sync.
|
|
44
|
+
*/
|
|
45
|
+
export declare function signatureOfRecordHandleType(handleType: EastTypeValue): RecordHandleSignature;
|
|
46
|
+
/** Tracked mutation-channel key (one per record). */
|
|
47
|
+
export declare function recordChannelKey(workspace: string, name: string): string;
|
|
48
|
+
/** One tracked mutation channel per `(workspace, record)`. */
|
|
49
|
+
interface RecordEntry {
|
|
50
|
+
status: RecordMutateTag;
|
|
51
|
+
/** Monotonic; a settling mutation whose seq is no longer current is
|
|
52
|
+
* discarded (latest-wins, and `cancel` orphans by bumping it). */
|
|
53
|
+
launchSeq: number;
|
|
54
|
+
/** Detail of the last `failed` mutation. */
|
|
55
|
+
error?: RecordError;
|
|
56
|
+
/** The settle promise of the in-flight mutation, if one is running. `start()`
|
|
57
|
+
* awaits it so a commit lands before the dataflow run reads the record. */
|
|
58
|
+
inflight?: Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Encapsulates all `Record.bind` runtime state. The module-level
|
|
62
|
+
* {@link defaultRecordRuntime} instance backs the registered platform; tests
|
|
63
|
+
* construct their own for isolation.
|
|
64
|
+
*/
|
|
65
|
+
export declare class RecordRuntime extends TrackedChannelStore<RecordEntry> {
|
|
66
|
+
private api;
|
|
67
|
+
private cache;
|
|
68
|
+
private workspace;
|
|
69
|
+
private readonly signatureCache;
|
|
70
|
+
private readonly histories;
|
|
71
|
+
private readonly historyInFlight;
|
|
72
|
+
private readonly historyFailed;
|
|
73
|
+
protected createEntry(): RecordEntry;
|
|
74
|
+
/** Install the API adapter + dataset cache + workspace — called by the
|
|
75
|
+
* React provider (or a test/showcase harness) before any handle is used. */
|
|
76
|
+
initialize(api: RecordApi, cache: ReactiveDatasetCacheInterface, workspace: string): void;
|
|
77
|
+
/** Tear down the adapter and all record state. */
|
|
78
|
+
clear(): void;
|
|
79
|
+
private resolveWorkspace;
|
|
80
|
+
/** The deployed describe signature for a record (fetched once, evicted on failure). */
|
|
81
|
+
private signature;
|
|
82
|
+
/** Validate a mutation's declared arg types against the deployed signature. */
|
|
83
|
+
private validate;
|
|
84
|
+
/** Fetch a record's history once per channel (deduped); notify on settle. */
|
|
85
|
+
private fetchHistory;
|
|
86
|
+
private launchMutation;
|
|
87
|
+
/** Build the handle value for one `Record.bind` platform evaluation. */
|
|
88
|
+
buildHandle(handleType: EastTypeValue, name: string): Record<string, unknown>;
|
|
89
|
+
/** Build a `Record.bind` PlatformFunction bound to this runtime. Pass
|
|
90
|
+
* `allowed=null` for an unscoped impl; pass a Set of record names for
|
|
91
|
+
* manifest scoping. */
|
|
92
|
+
buildPlatform(allowed: ReadonlySet<string> | null): PlatformFunction;
|
|
93
|
+
}
|
|
94
|
+
/** Process-global runtime backing the `RecordPlatform` export. */
|
|
95
|
+
export declare const defaultRecordRuntime: RecordRuntime;
|
|
96
|
+
/** Install the record API adapter + dataset cache + workspace — called by the
|
|
97
|
+
* React provider on mount (or by a test/showcase harness). */
|
|
98
|
+
export declare function initializeRecordApi(api: RecordApi, cache: ReactiveDatasetCacheInterface, workspace: string): void;
|
|
99
|
+
/** Tear down the record API adapter and all record state. */
|
|
100
|
+
export declare function clearRecordApi(): void;
|
|
101
|
+
/** Global, manifest-unscoped `Record.bind` impl. Registered on module load. */
|
|
102
|
+
export declare const RecordPlatform: PlatformFunction[];
|
|
103
|
+
/** Build a manifest-scoped `Record.bind` implementation. */
|
|
104
|
+
export declare function createScopedRecordPlatform(records: readonly string[]): PlatformFunction[];
|
|
105
|
+
/** One offline record implementation for {@link createInMemoryRecordApi}. */
|
|
106
|
+
export interface InMemoryRecordDef {
|
|
107
|
+
/** Record name (what `Record.bind` is bound to). */
|
|
108
|
+
name: string;
|
|
109
|
+
/** The record's state type. */
|
|
110
|
+
stateType: EastType | EastTypeValue;
|
|
111
|
+
/** Initial state value (seeds the dataset cache). */
|
|
112
|
+
initial: unknown;
|
|
113
|
+
/** Mutations — each a reducer over the decoded state + decoded args. */
|
|
114
|
+
mutations: {
|
|
115
|
+
name: string;
|
|
116
|
+
argTypes: (EastType | EastTypeValue)[];
|
|
117
|
+
reduce: (state: unknown, ...args: unknown[]) => unknown;
|
|
118
|
+
}[];
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Build an offline {@link RecordApi} from local implementations — the
|
|
122
|
+
* showcase/snapshot harnesses' stand-in for a deployed record. Seeds each
|
|
123
|
+
* record's current value into the dataset cache so `read()` works offline.
|
|
124
|
+
*/
|
|
125
|
+
export declare function createInMemoryRecordApi(cache: ReactiveDatasetCacheInterface, workspace: string, defs: InMemoryRecordDef[]): RecordApi;
|
|
126
|
+
export {};
|
|
127
|
+
//# sourceMappingURL=record-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-runtime.d.ts","sourceRoot":"","sources":["../../src/platform/record-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAQH,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAIH,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAE3B,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAmB,KAAK,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AASzF;qEACqE;AACrE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,UAAU,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACtE,6EAA6E;IAC7E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5G,mDAAmD;IACnD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACtH;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAC9B,SAAS,CAiBX;AAMD,KAAK,WAAW,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAChD,KAAK,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAKjF,yEAAyE;AACzE,UAAU,qBAAqB;IAC3B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CAC5D;AAKD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,aAAa,GAAG,qBAAqB,CAuB5F;AA8CD,qDAAqD;AACrD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExE;AAMD,8DAA8D;AAC9D,UAAU,WAAW;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB;uEACmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;gFAC4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,mBAAmB,CAAC,WAAW,CAAC;IAC/D,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+C;IAE9E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAKrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,SAAS,CAAC,WAAW,IAAI,WAAW;IAMpC;iFAC6E;IAC7E,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,6BAA6B,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAMzF,kDAAkD;IAClD,KAAK,IAAI,IAAI;IAWb,OAAO,CAAC,gBAAgB;IAOxB,uFAAuF;IACvF,OAAO,CAAC,SAAS;IAejB,+EAA+E;YACjE,QAAQ;IAqBtB,6EAA6E;IAC7E,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,cAAc;IA6CtB,wEAAwE;IACxE,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAqG7E;;4BAEwB;IACxB,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,gBAAgB;CAcvE;AAMD,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,eAAsB,CAAC;AAExD;+DAC+D;AAC/D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,6BAA6B,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAEjH;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,+EAA+E;AAC/E,eAAO,MAAM,cAAc,EAAE,gBAAgB,EAA+C,CAAC;AAE7F,4DAA4D;AAC5D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAEzF;AASD,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAC9B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,SAAS,EAAE,QAAQ,GAAG,aAAa,CAAC;IACpC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,SAAS,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;KAC3D,EAAE,CAAC;CACP;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,6BAA6B,EACpC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,iBAAiB,EAAE,GAC1B,SAAS,CAiEX"}
|
|
@@ -51,6 +51,12 @@ export interface StagedStoreInterface {
|
|
|
51
51
|
listKeys(): string[];
|
|
52
52
|
subscribe(key: string, callback: () => void): () => void;
|
|
53
53
|
getKeyVersion(key: string): number;
|
|
54
|
+
/** Register a listener for durable-persistence failures (save / remove /
|
|
55
|
+
* hydrate), keyed by the affected `datasetCacheKey` (empty string for a
|
|
56
|
+
* whole-store hydrate failure). Returns an unsubscribe. With no listener,
|
|
57
|
+
* failures fall back to a console warning. Lets a host surface a
|
|
58
|
+
* 'not durably saved' state, mirroring `BindRuntime.onWriteError`. */
|
|
59
|
+
onPersistError(cb: (key: string, err: unknown) => void): () => void;
|
|
54
60
|
}
|
|
55
61
|
/**
|
|
56
62
|
* IndexedDB-backed persistence adapter. Stores entries as native
|
|
@@ -84,6 +90,8 @@ export declare class StagedStore implements StagedStoreInterface {
|
|
|
84
90
|
private adapter;
|
|
85
91
|
private hydrated;
|
|
86
92
|
private inFlight;
|
|
93
|
+
private saveChains;
|
|
94
|
+
private errorListeners;
|
|
87
95
|
constructor(adapter: StagedPersistenceAdapter);
|
|
88
96
|
ready(): Promise<void>;
|
|
89
97
|
flushPending(): Promise<void>;
|
|
@@ -96,10 +104,18 @@ export declare class StagedStore implements StagedStoreInterface {
|
|
|
96
104
|
listKeys(): string[];
|
|
97
105
|
subscribe(key: string, callback: () => void): () => void;
|
|
98
106
|
getKeyVersion(key: string): number;
|
|
107
|
+
onPersistError(cb: (key: string, err: unknown) => void): () => void;
|
|
99
108
|
/** Test-only: clear in-memory + persisted state. */
|
|
100
109
|
clear(): Promise<void>;
|
|
101
110
|
private notify;
|
|
102
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Serialize a persistence op behind any prior op for the same key, so they
|
|
113
|
+
* land in IndexedDB in call order (last write wins) rather than racing.
|
|
114
|
+
* Tracks the op for {@link flushPending} and routes failures to
|
|
115
|
+
* {@link onPersistError} listeners (falling back to a console warning).
|
|
116
|
+
*/
|
|
117
|
+
private persist;
|
|
118
|
+
private emitPersistError;
|
|
103
119
|
private hydrate;
|
|
104
120
|
}
|
|
105
121
|
export declare function getStagedStore(): StagedStoreInterface;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staged-store.d.ts","sourceRoot":"","sources":["../../src/platform/staged-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAOlD,qDAAqD;AACrD,MAAM,WAAW,WAAW;IACxB;2EACuE;IACvE,QAAQ,EAAE,UAAU,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,EAAE,UAAU,CAAC;CACxB;AAED;;qCAEqC;AACrC,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;CACxB;AAED;iCACiC;AACjC,MAAM,WAAW,wBAAwB;IACrC,6EAA6E;IAC7E,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACtD,4CAA4C;IAC5C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,8CAA8C;IAC9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,oCAAoC;IACpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACjC;wEACoE;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;8CAE0C;IAC1C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,sDAAsD;IACtD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvD,2EAA2E;IAC3E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IACvE,iEAAiE;IACjE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IACvE,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAErE;wEACoE;IACpE,KAAK,CACD,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,UAAU,GACrB,IAAI,CAAC;IAER,uEAAuE;IACvE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IAEpD,+DAA+D;IAC/D,QAAQ,IAAI,MAAM,EAAE,CAAC;IAGrB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACzD,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"staged-store.d.ts","sourceRoot":"","sources":["../../src/platform/staged-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* TrackedChannelStore — shared base for the `Func.bind` / `Record.bind`
|
|
7
|
+
* runtimes. Both expose one tracked channel per `(workspace, name)`: a
|
|
8
|
+
* latest-wins async operation whose settling state is gated by a monotonic
|
|
9
|
+
* `launchSeq`, plus a per-key reactive subscription shim that the renderer's
|
|
10
|
+
* `Reactive.Root` machinery reads through (the same contract the dataset
|
|
11
|
+
* cache uses).
|
|
12
|
+
*
|
|
13
|
+
* Subclasses supply their own API seam, per-channel entry shape, and the
|
|
14
|
+
* operation body; the base owns the entries map, the tracking context, the
|
|
15
|
+
* subscription shim, and the launch / settle / cancel latch.
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
/** The minimal per-channel state the base manages. */
|
|
20
|
+
export interface ChannelEntry {
|
|
21
|
+
/** Lifecycle tag — at least `"idle"` | `"running"` | `"cancelled"`, plus
|
|
22
|
+
* whatever terminal states the subclass adds. */
|
|
23
|
+
status: string;
|
|
24
|
+
/** Monotonic launch counter; a settling op whose seq is no longer current
|
|
25
|
+
* is discarded (latest-wins, and `cancel` orphans by bumping it). */
|
|
26
|
+
launchSeq: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Base for a runtime that manages latest-wins channels keyed by string, with
|
|
30
|
+
* per-key reactive subscriptions.
|
|
31
|
+
*
|
|
32
|
+
* @typeParam E - The per-channel entry type (extends {@link ChannelEntry}).
|
|
33
|
+
*/
|
|
34
|
+
export declare abstract class TrackedChannelStore<E extends ChannelEntry> {
|
|
35
|
+
protected readonly entries: Map<string, E>;
|
|
36
|
+
private readonly keySubscribers;
|
|
37
|
+
private readonly keyVersions;
|
|
38
|
+
private trackingContext;
|
|
39
|
+
/** Build a fresh channel entry in its initial (idle) state. */
|
|
40
|
+
protected abstract createEntry(): E;
|
|
41
|
+
enableTracking(): Set<string>;
|
|
42
|
+
disableTracking(): string[];
|
|
43
|
+
isTracking(): boolean;
|
|
44
|
+
/** Record a channel-key dependency for the current render (no-op when not
|
|
45
|
+
* tracking). */
|
|
46
|
+
protected track(key: string): void;
|
|
47
|
+
subscribe(key: string, callback: () => void): () => void;
|
|
48
|
+
getKeyVersion(key: string): number;
|
|
49
|
+
protected notify(key: string): void;
|
|
50
|
+
protected entry(key: string): E;
|
|
51
|
+
/**
|
|
52
|
+
* Open a latest-wins launch on a channel: bump the seq, mark the entry
|
|
53
|
+
* `running`, optionally `reset` it (e.g. clear a prior error), notify, and
|
|
54
|
+
* return a `settle` that applies a terminal mutation only if this launch is
|
|
55
|
+
* still the current one (a superseded / cancelled launch settles to a
|
|
56
|
+
* no-op).
|
|
57
|
+
*/
|
|
58
|
+
protected beginLaunch(key: string, reset?: (entry: E) => void): {
|
|
59
|
+
entry: E;
|
|
60
|
+
settle: (mutate: (entry: E) => void) => void;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Client-side cancel: if the channel is running, orphan the in-flight wait
|
|
64
|
+
* (bump the seq) and mark it `cancelled`. `after` runs before the notify,
|
|
65
|
+
* for subclass-specific cleanup (e.g. dropping an in-flight handle).
|
|
66
|
+
*/
|
|
67
|
+
protected cancelChannel(key: string, after?: (entry: E) => void): void;
|
|
68
|
+
/** Drop all channel state (entries + subscriptions + versions). */
|
|
69
|
+
protected clearChannels(): void;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=tracked-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracked-channel.d.ts","sourceRoot":"","sources":["../../src/platform/tracked-channel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,sDAAsD;AACtD,MAAM,WAAW,YAAY;IACzB;sDACkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf;0EACsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,8BAAsB,mBAAmB,CAAC,CAAC,SAAS,YAAY;IAC5D,SAAS,CAAC,QAAQ,CAAC,OAAO,iBAAwB;IAGlD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IACrE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAIzD,OAAO,CAAC,eAAe,CAA4B;IAEnD,+DAA+D;IAC/D,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC;IAInC,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC;IAK7B,eAAe,IAAI,MAAM,EAAE;IAM3B,UAAU,IAAI,OAAO;IAIrB;qBACiB;IACjB,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMlC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAexD,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQnC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC;IAS/B;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CACjB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAC3B;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,CAAA;KAAE;IAiB7D;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAUtE,mEAAmE;IACnE,SAAS,CAAC,aAAa,IAAI,IAAI;CAKlC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elaraai/e3-ui-components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"description": "React Query hooks and preview components for the e3 API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
"@tanstack/react-query": "^5.62.0",
|
|
37
37
|
"react": "^19.0.0",
|
|
38
38
|
"react-dom": "^19.0.0",
|
|
39
|
-
"@elaraai/e3-
|
|
40
|
-
"@elaraai/e3-ui": "1.0.
|
|
41
|
-
"@elaraai/east": "1.0.
|
|
42
|
-
"@elaraai/
|
|
43
|
-
"@elaraai/
|
|
44
|
-
"@elaraai/east-ui
|
|
39
|
+
"@elaraai/e3-api-client": "1.0.14",
|
|
40
|
+
"@elaraai/e3-ui": "1.0.14",
|
|
41
|
+
"@elaraai/east": "1.0.14",
|
|
42
|
+
"@elaraai/e3-types": "1.0.14",
|
|
43
|
+
"@elaraai/east-ui-components": "1.0.14",
|
|
44
|
+
"@elaraai/east-ui": "1.0.14"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@emotion/react": "^11.14.0",
|
|
@@ -81,13 +81,13 @@
|
|
|
81
81
|
"typescript": "~5.9.2",
|
|
82
82
|
"vite": "^6.0.0",
|
|
83
83
|
"vite-plugin-dts": "^4.3.0",
|
|
84
|
-
"@elaraai/e3": "1.0.
|
|
85
|
-
"@elaraai/e3-
|
|
86
|
-
"@elaraai/e3-
|
|
87
|
-
"@elaraai/east": "1.0.
|
|
88
|
-
"@elaraai/e3-
|
|
89
|
-
"@elaraai/east-ui
|
|
90
|
-
"@elaraai/east-ui": "1.0.
|
|
84
|
+
"@elaraai/e3": "1.0.14",
|
|
85
|
+
"@elaraai/e3-api-client": "1.0.14",
|
|
86
|
+
"@elaraai/e3-ui": "1.0.14",
|
|
87
|
+
"@elaraai/east": "1.0.14",
|
|
88
|
+
"@elaraai/e3-types": "1.0.14",
|
|
89
|
+
"@elaraai/east-ui": "1.0.14",
|
|
90
|
+
"@elaraai/east-ui-components": "1.0.14"
|
|
91
91
|
},
|
|
92
92
|
"repository": {
|
|
93
93
|
"type": "git",
|