@ternent/concord 0.2.5 → 0.2.7
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 +100 -17
- package/SPEC.md +142 -41
- package/dist/app.d.ts +3 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/browser.js +8801 -0
- package/dist/browser.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +133 -8813
- package/dist/index.js.map +1 -1
- package/dist/{concord/src/types.d.ts → types.d.ts} +37 -36
- package/dist/types.d.ts.map +1 -0
- package/package.json +17 -9
- package/dist/concord/src/app.d.ts +0 -3
- package/dist/concord/src/app.d.ts.map +0 -1
- package/dist/concord/src/index.d.ts +0 -4
- package/dist/concord/src/index.d.ts.map +0 -1
- package/dist/concord/src/types.d.ts.map +0 -1
- package/dist/index.umd.cjs +0 -9157
- package/dist/index.umd.cjs.map +0 -1
- /package/dist/{concord/src/errors.d.ts → errors.d.ts} +0 -0
- /package/dist/{concord/src/errors.d.ts.map → errors.d.ts.map} +0 -0
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import type { LedgerAppendInput, LedgerArmourContract, LedgerContainer, LedgerInstance, LedgerProtocolContract, LedgerReplayEntry, LedgerSealContract, LedgerStorageAdapter, LedgerVerificationResult } from "@ternent/ledger";
|
|
2
|
+
import type { SerializedIdentity } from "@ternent/identity";
|
|
2
3
|
export type ConcordCreateParams = {
|
|
3
4
|
metadata?: Record<string, unknown>;
|
|
4
5
|
};
|
|
5
6
|
export type ConcordReplayOptions = {
|
|
6
7
|
verify?: boolean;
|
|
7
8
|
decrypt?: boolean;
|
|
9
|
+
fromEntryId?: string;
|
|
10
|
+
toEntryId?: string;
|
|
8
11
|
};
|
|
9
12
|
export type ConcordState = {
|
|
10
13
|
ready: boolean;
|
|
11
14
|
integrityValid: boolean;
|
|
12
15
|
stagedCount: number;
|
|
13
|
-
|
|
16
|
+
replay: Record<string, unknown>;
|
|
14
17
|
verification: LedgerVerificationResult | null;
|
|
15
18
|
};
|
|
16
19
|
export type ConcordCommandResult = {
|
|
@@ -28,53 +31,51 @@ export type ConcordCommitResult = {
|
|
|
28
31
|
export type ConcordRuntimePolicy = {
|
|
29
32
|
autoCommit?: boolean;
|
|
30
33
|
};
|
|
31
|
-
export type ConcordIdentityContext = {
|
|
32
|
-
author: string;
|
|
33
|
-
signer?: unknown;
|
|
34
|
-
decryptor?: unknown;
|
|
35
|
-
};
|
|
36
34
|
export type ConcordCommandContext = {
|
|
37
35
|
now(): string;
|
|
38
|
-
identity:
|
|
39
|
-
|
|
40
|
-
};
|
|
41
|
-
export type
|
|
36
|
+
identity: SerializedIdentity;
|
|
37
|
+
getReplayState<T = unknown>(pluginId: string): T;
|
|
38
|
+
};
|
|
39
|
+
export type ConcordReplayPhase = "reset" | "beginReplay" | "applyEntry" | "endReplay";
|
|
40
|
+
export type ConcordReplayMetadata = {
|
|
41
|
+
phase: ConcordReplayPhase;
|
|
42
|
+
entryIndex?: number;
|
|
43
|
+
entryCount: number;
|
|
44
|
+
fromEntryId?: string;
|
|
45
|
+
toEntryId?: string;
|
|
46
|
+
isPartial: boolean;
|
|
47
|
+
};
|
|
48
|
+
export type ConcordReplayContext<TState = unknown> = {
|
|
49
|
+
pluginId: string;
|
|
42
50
|
decryptAvailable: boolean;
|
|
51
|
+
replay: ConcordReplayMetadata;
|
|
52
|
+
getState(): TState;
|
|
53
|
+
setState(next: TState | ((prev: TState) => TState)): void;
|
|
43
54
|
};
|
|
44
|
-
export type
|
|
55
|
+
export type ConcordCommandHandler = (ctx: ConcordCommandContext, input: unknown) => Promise<LedgerAppendInput | LedgerAppendInput[]> | LedgerAppendInput | LedgerAppendInput[];
|
|
56
|
+
export type ConcordReplayPlugin<TState = unknown> = {
|
|
45
57
|
id: string;
|
|
46
|
-
initialState()
|
|
47
|
-
commands?: Record<string,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
getState(): Readonly<ConcordState>;
|
|
53
|
-
getPluginState<T = unknown>(pluginId: string): T;
|
|
54
|
-
};
|
|
55
|
-
export type ConcordProjectionReplayContext = {
|
|
56
|
-
app: ConcordReplayAppView;
|
|
57
|
-
};
|
|
58
|
-
export type ConcordProjectionTarget = {
|
|
59
|
-
name: string;
|
|
60
|
-
reset(): Promise<void> | void;
|
|
61
|
-
beginReplay?(ctx: ConcordProjectionReplayContext): Promise<void> | void;
|
|
62
|
-
applyEntry(entry: LedgerReplayEntry, ctx: ConcordProjectionReplayContext): Promise<void> | void;
|
|
63
|
-
endReplay?(ctx: ConcordProjectionReplayContext): Promise<void> | void;
|
|
58
|
+
initialState?: () => TState;
|
|
59
|
+
commands?: Record<string, ConcordCommandHandler>;
|
|
60
|
+
reset?: (ctx: ConcordReplayContext<TState>) => Promise<void> | void;
|
|
61
|
+
beginReplay?: (ctx: ConcordReplayContext<TState>) => Promise<void> | void;
|
|
62
|
+
applyEntry?: (entry: LedgerReplayEntry, ctx: ConcordReplayContext<TState>) => Promise<void> | void;
|
|
63
|
+
endReplay?: (ctx: ConcordReplayContext<TState>) => Promise<void> | void;
|
|
64
64
|
destroy?(): Promise<void> | void;
|
|
65
|
+
selectors?: Record<string, (state: TState) => unknown>;
|
|
65
66
|
};
|
|
66
|
-
export type
|
|
67
|
-
identity:
|
|
68
|
-
storage
|
|
69
|
-
plugins:
|
|
67
|
+
export type ConcordAppOptions = {
|
|
68
|
+
identity: SerializedIdentity;
|
|
69
|
+
storage?: LedgerStorageAdapter;
|
|
70
|
+
plugins: ConcordReplayPlugin[];
|
|
70
71
|
now?: () => string;
|
|
71
72
|
protocol?: LedgerProtocolContract;
|
|
72
73
|
seal?: LedgerSealContract;
|
|
73
74
|
armour?: LedgerArmourContract;
|
|
74
|
-
ledger?: LedgerInstance<
|
|
75
|
-
projectionTargets?: ConcordProjectionTarget[];
|
|
75
|
+
ledger?: LedgerInstance<LedgerReplayEntry[]>;
|
|
76
76
|
policy?: ConcordRuntimePolicy;
|
|
77
77
|
};
|
|
78
|
+
export type CreateConcordAppInput = ConcordAppOptions;
|
|
78
79
|
export type ConcordApp = {
|
|
79
80
|
create(params?: ConcordCreateParams): Promise<void>;
|
|
80
81
|
load(): Promise<void>;
|
|
@@ -86,7 +87,7 @@ export type ConcordApp = {
|
|
|
86
87
|
exportLedger(): Promise<LedgerContainer>;
|
|
87
88
|
importLedger(container: LedgerContainer): Promise<void>;
|
|
88
89
|
getState(): Readonly<ConcordState>;
|
|
89
|
-
|
|
90
|
+
getReplayState<T = unknown>(pluginId: string): T;
|
|
90
91
|
subscribe(listener: (state: Readonly<ConcordState>) => void): () => void;
|
|
91
92
|
destroy(): Promise<void>;
|
|
92
93
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ternent/concord",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Command-driven developer runtime for building non-custodial apps on @ternent/ledger",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"sideEffects": false,
|
|
7
8
|
"files": [
|
|
8
9
|
"dist",
|
|
9
10
|
"README.md",
|
|
@@ -12,18 +13,23 @@
|
|
|
12
13
|
"publishConfig": {
|
|
13
14
|
"access": "public"
|
|
14
15
|
},
|
|
15
|
-
"main": "dist/index.
|
|
16
|
-
"module": "dist/index.
|
|
16
|
+
"main": "dist/index.js",
|
|
17
|
+
"module": "dist/index.js",
|
|
17
18
|
"types": "dist/index.d.ts",
|
|
18
19
|
"exports": {
|
|
19
20
|
".": {
|
|
20
21
|
"types": "./dist/index.d.ts",
|
|
21
|
-
"import": "./dist/index.
|
|
22
|
-
"default": "./dist/index.
|
|
22
|
+
"import": "./dist/index.js",
|
|
23
|
+
"default": "./dist/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./browser": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"import": "./dist/browser.js",
|
|
28
|
+
"default": "./dist/browser.js"
|
|
23
29
|
}
|
|
24
30
|
},
|
|
25
31
|
"dependencies": {
|
|
26
|
-
"@ternent/ledger": "0.1.
|
|
32
|
+
"@ternent/ledger": "0.1.6"
|
|
27
33
|
},
|
|
28
34
|
"devDependencies": {
|
|
29
35
|
"@types/node": "^24.3.0",
|
|
@@ -31,13 +37,15 @@
|
|
|
31
37
|
"vite": "^4.5.3",
|
|
32
38
|
"vite-plugin-dts": "^1.7.3",
|
|
33
39
|
"vitest": "^1.6.0",
|
|
34
|
-
"@ternent/armour": "0.1.5",
|
|
35
40
|
"@ternent/identity": "0.3.1",
|
|
36
41
|
"@ternent/rage": "0.1.3",
|
|
37
|
-
"@ternent/
|
|
42
|
+
"@ternent/armour": "0.1.5",
|
|
43
|
+
"@ternent/seal-cli": "0.3.8"
|
|
38
44
|
},
|
|
39
45
|
"scripts": {
|
|
40
|
-
"
|
|
46
|
+
"dev": "vite build --watch",
|
|
47
|
+
"build:browser": "vite build -c vite.browser.config.ts",
|
|
48
|
+
"build": "vite build && vite build -c vite.browser.config.ts",
|
|
41
49
|
"test": "pnpm --filter @ternent/rage build && vitest run"
|
|
42
50
|
}
|
|
43
51
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["app.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,UAAU,EAUV,qBAAqB,EACtB,MAAM,YAAY,CAAC;AA0GpB,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,UAAU,CAAC,CA+arB"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { createConcordApp } from "./app.js";
|
|
2
|
-
export { ConcordBoundaryError } from "./errors.js";
|
|
3
|
-
export type { ConcordApp, ConcordCommandContext, ConcordCommitInput, ConcordCommitResult, ConcordCommandResult, ConcordCreateParams, ConcordIdentityContext, ConcordPlugin, ConcordProjectionContext, ConcordProjectionReplayContext, ConcordProjectionTarget, ConcordReplayAppView, ConcordReplayOptions, ConcordRuntimePolicy, ConcordState, CreateConcordAppInput } from "./types.js";
|
|
4
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACtB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
|