@drakkar.software/octobot-client 0.4.0 → 0.8.0
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 +1 -1
- package/dist/client/adapters/accounts.d.ts +5 -5
- package/dist/client/adapters/accounts.d.ts.map +1 -1
- package/dist/client/adapters/accounts.js +1 -4
- package/dist/client/adapters/accounts.js.map +1 -1
- package/dist/client/adapters/automations.d.ts.map +1 -1
- package/dist/client/adapters/automations.js +3 -2
- package/dist/client/adapters/automations.js.map +1 -1
- package/dist/client/connect/readOnly.d.ts +1 -1
- package/dist/client/connect/readOnly.d.ts.map +1 -1
- package/dist/client/connect/readOnly.js +27 -9
- package/dist/client/connect/readOnly.js.map +1 -1
- package/dist/client/core/views.d.ts +43 -21
- package/dist/client/core/views.d.ts.map +1 -1
- package/dist/client/core/views.js +38 -7
- package/dist/client/core/views.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/identity/index.d.ts +1 -1
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +1 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/pairingRequest.d.ts +20 -0
- package/dist/identity/pairingRequest.d.ts.map +1 -1
- package/dist/identity/pairingRequest.js +28 -9
- package/dist/identity/pairingRequest.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/protocol/index.d.ts +4 -2
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +4 -2
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/proposal.d.ts +14 -27
- package/dist/protocol/proposal.d.ts.map +1 -1
- package/dist/protocol/proposal.js +22 -3
- package/dist/protocol/proposal.js.map +1 -1
- package/dist/protocol/proposalSummary.d.ts +23 -0
- package/dist/protocol/proposalSummary.d.ts.map +1 -0
- package/dist/protocol/proposalSummary.js +28 -0
- package/dist/protocol/proposalSummary.js.map +1 -0
- package/dist/protocol/qrFrames.d.ts +146 -0
- package/dist/protocol/qrFrames.d.ts.map +1 -0
- package/dist/protocol/qrFrames.js +307 -0
- package/dist/protocol/qrFrames.js.map +1 -0
- package/dist/protocol/state.d.ts +30 -16
- package/dist/protocol/state.d.ts.map +1 -1
- package/dist/protocol/state.js +67 -28
- package/dist/protocol/state.js.map +1 -1
- package/dist/transport/urls.d.ts +2 -8
- package/dist/transport/urls.d.ts.map +1 -1
- package/dist/transport/urls.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -129,7 +129,7 @@ Full detail: [Escape hatches](https://docs.octobot.cloud/client-sdk/escape-hatch
|
|
|
129
129
|
|
|
130
130
|
| This package | `@drakkar.software/octobot-protocol` | Minimum node |
|
|
131
131
|
|---|---|---|
|
|
132
|
-
| `0.
|
|
132
|
+
| `0.5.0` | `^0.6.0` | protocol 0.4.0 |
|
|
133
133
|
|
|
134
134
|
## More
|
|
135
135
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Account as ProtocolAccount, AccountAuthentication, ExchangeConfig, UserActionConfiguration } from '@drakkar.software/octobot-protocol';
|
|
1
|
+
import type { Account as ProtocolAccount, AccountAuthentication, ExchangeConfig, DetailedAsset, UserActionConfiguration } from '@drakkar.software/octobot-protocol';
|
|
2
2
|
import type { ClientSession } from '../core/session.js';
|
|
3
3
|
import type { CallOptions } from '../core/options.js';
|
|
4
|
-
import { type AccountView
|
|
4
|
+
import { type AccountView } from '../core/views.js';
|
|
5
5
|
import { type ActionHandle } from './actionHandle.js';
|
|
6
6
|
export type { AccountView, AccountKind } from '../core/views.js';
|
|
7
7
|
export type { AccountTradingDocument } from '../../protocol/documents.js';
|
|
@@ -16,20 +16,20 @@ export type AccountInput = {
|
|
|
16
16
|
passphrase?: string;
|
|
17
17
|
};
|
|
18
18
|
simulated?: boolean;
|
|
19
|
-
holdings?:
|
|
19
|
+
holdings?: DetailedAsset[];
|
|
20
20
|
} | {
|
|
21
21
|
id?: string;
|
|
22
22
|
name: string;
|
|
23
23
|
type: 'wallet';
|
|
24
24
|
address: string;
|
|
25
25
|
chain?: string;
|
|
26
|
-
holdings?:
|
|
26
|
+
holdings?: DetailedAsset[];
|
|
27
27
|
} | {
|
|
28
28
|
id?: string;
|
|
29
29
|
name: string;
|
|
30
30
|
type: 'generic';
|
|
31
31
|
description?: string;
|
|
32
|
-
holdings?:
|
|
32
|
+
holdings?: DetailedAsset[];
|
|
33
33
|
};
|
|
34
34
|
/** The three protocol items one `AccountInput` maps to. `auth`/`exchangeConfig`
|
|
35
35
|
* are null for kinds that don't need them (a wallet/generic account still
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/client/adapters/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,eAAe,EAC1B,qBAAqB,EACrB,cAAc,
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/client/adapters/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,7 @@ const SPOT_TRADING_TYPE = 'spot';
|
|
|
7
7
|
function holdingsToAssets(holdings) {
|
|
8
8
|
if (!holdings?.length)
|
|
9
9
|
return undefined;
|
|
10
|
-
return [{
|
|
11
|
-
trading_type: SPOT_TRADING_TYPE,
|
|
12
|
-
assets: holdings.map((h) => ({ symbol: h.symbol, total: h.total, available: h.free })),
|
|
13
|
-
}];
|
|
10
|
+
return [{ trading_type: SPOT_TRADING_TYPE, assets: holdings }];
|
|
14
11
|
}
|
|
15
12
|
function newAccountId() {
|
|
16
13
|
return `acc_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/client/adapters/accounts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/client/adapters/accounts.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAkBzD,MAAM,iBAAiB,GAAG,MAAe,CAAA;AAEzC,SAAS,gBAAgB,CAAC,QAAqC;IAC7D,IAAI,CAAC,QAAQ,EAAE,MAAM;QAAE,OAAO,SAAS,CAAA;IACvC,OAAO,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;AAChE,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AACnF,CAAC;AAED;;;;;YAKY;AACZ,MAAM,UAAU,cAAc,CAAC,KAAmB;IAKhD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,YAAY,EAAE,CAAA;IACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAEpC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,EAAE;gBACF,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gBACtC,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,GAAG;gBACf,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACvC,SAAS,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC9G,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F;YACD,IAAI,EAAE;gBACJ,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;gBACjC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS;gBACvC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F;YACD,cAAc,EAAE;gBACd,EAAE,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;aACpC;SACF,CAAA;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE;gBACP,EAAE;gBACF,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,GAAG;gBACf,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACvC,SAAS,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE;gBACtC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F;YACD,IAAI,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE;YAC7D,cAAc,EAAE,IAAI;SACrB,CAAA;IACH,CAAC;IAED,gEAAgE;IAChE,OAAO;QACL,OAAO,EAAE;YACP,EAAE;YACF,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE;YACtC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F;QACD,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,IAAI;KACrB,CAAA;AACH,CAAC;AAkBD;;6DAE6D;AAC7D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAsB;IAC/D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC/D,OAAO,YAAY,CACjB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,CACxE,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAsB,EAAE,YAA0B;IAClF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAExD,KAAK,UAAU,IAAI;QACjB,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,EAAE,CAAA;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAA;YAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,UAAU,GAAG,CAAC,EAAU;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAA;QACxB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAA;IAC7C,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,EAAU;QACnC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,GAAG;QACH,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YAC/D,MAAM,GAAG,GAAa,EAAE,CAAA;YACxB,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;gBACvB,IAAI,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC1E,IAAI,cAAc;oBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,+BAA+B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;gBACjG,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBAC/D,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAChC,CAAC,CAAC,EAAE,CAAA;YACJ,oEAAoE;YACpE,kEAAkE;YAClE,OAAO,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK;YACpB,MAAM,GAAG,GAAa,EAAE,CAAA;YACxB,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;gBACvB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC1E,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE;qBAClC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;qBAClE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBACzB,IAAI,QAAQ,EAAE,UAAU;oBAAE,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;gBAClE,qEAAqE;gBACrE,yEAAyE;gBACzE,IAAI,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACxE,IAAI,cAAc;oBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;gBAC/F,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;gBACjE,OAAO,WAAW,CAAC,EAAE,CAAC,CAAA;YACxB,CAAC,CAAC,EAAE,CAAA;YACJ,OAAO,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,EAAE;YACb,MAAM,GAAG,GAAa,EAAE,CAAA;YACxB,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;gBACvB,mEAAmE;gBACnE,0DAA0D;gBAC1D,kEAAkE;gBAClE,oEAAoE;gBACpE,mEAAmE;gBACnE,gEAAgE;gBAChE,qEAAqE;gBACrE,4DAA4D;gBAC5D,gEAAgE;gBAChE,+BAA+B;gBAC/B,EAAE;gBACF,mEAAmE;gBACnE,qEAAqE;gBACrE,gEAAgE;gBAChE,mEAAmE;gBACnE,oEAAoE;gBACpE,+DAA+D;gBAC/D,iEAAiE;gBACjE,2BAA2B;gBAC3B,IAAI,QAAqC,CAAA;gBACzC,IAAI,UAAU,GAAG,KAAK,CAAA;gBACtB,IAAI,CAAC;oBACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,EAAE,CAAA;oBACrC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC3D,CAAC;gBAAC,MAAM,CAAC;oBACP,UAAU,GAAG,IAAI,CAAA;gBACnB,CAAC;gBACD,MAAM,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAA;gBACrC,MAAM,OAAO,GAAG,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;gBAClE,MAAM,iBAAiB,GACrB,UAAU,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,qBAAqB,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACnI,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC1D,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAClF,CAAC;gBACD,IAAI,iBAAiB,EAAE,CAAC;oBACtB,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,+BAA+B,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBACxF,CAAC;YACH,CAAC,CAAC,EAAE,CAAA;YACJ,OAAO,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,UAAU;YACtB,MAAM,GAAG,GAAa,EAAE,CAAA;YACxB,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;gBACvB,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBACpE,OAAO,IAAI,EAAE,CAAA;YACf,CAAC,CAAC,EAAE,CAAA;YACJ,OAAO,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,EAAE;YACd,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;gBACrE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CACjC,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,CAC7F,CAAA;gBACD,OAAO,IAA+E,CAAA;YACxF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qBAAqB,CAAC,GAAG,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automations.d.ts","sourceRoot":"","sources":["../../../src/client/adapters/automations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,gBAAgB,EAAc,MAAM,oCAAoC,CAAA;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIzE,OAAO,EAA2C,KAAK,wBAAwB,EAAE,MAAM,kDAAkD,CAAA;AAGzI,YAAY,EAAE,cAAc,EAAE,wBAAwB,EAAE,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;IACnD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACnE;;;gGAG4F;IAC5F,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;IAC3L,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;IAClH,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;CAClE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"automations.d.ts","sourceRoot":"","sources":["../../../src/client/adapters/automations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,gBAAgB,EAAc,MAAM,oCAAoC,CAAA;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIzE,OAAO,EAA2C,KAAK,wBAAwB,EAAE,MAAM,kDAAkD,CAAA;AAGzI,YAAY,EAAE,cAAc,EAAE,wBAAwB,EAAE,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;IACnD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACnE;;;gGAG4F;IAC5F,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;IAC3L,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;IAClH,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;CAClE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,GAAG,cAAc,CA2EvG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { automationViewOf } from '../core/views.js';
|
|
2
2
|
import { createActionHandle } from './actionHandle.js';
|
|
3
3
|
import { pullDocument } from '../../transport/documents.js';
|
|
4
|
-
import { parseNodeAutomationStates, parseNodeUserActions } from '../../protocol/state.js';
|
|
4
|
+
import { parseNodeAutomationStates, parseNodeUserActions, automationStrategyRefsOf } from '../../protocol/state.js';
|
|
5
5
|
import { buildEditAutomationConfig, buildEditStrategyConfig, buildStopAutomationConfig } from '../../protocol/actions.js';
|
|
6
6
|
import { runCreateAutomation } from '../../protocol/orchestration/createAutomation.js';
|
|
7
7
|
import { rethrowAsOctoBotError } from '../core/errors.js';
|
|
@@ -14,7 +14,8 @@ export function createAutomationsApi(session, appendAction) {
|
|
|
14
14
|
const { data } = await pullUserData();
|
|
15
15
|
const states = parseNodeAutomationStates(data);
|
|
16
16
|
const actions = parseNodeUserActions(data);
|
|
17
|
-
|
|
17
|
+
const strategyRefs = automationStrategyRefsOf(actions);
|
|
18
|
+
return { views: states.map((s) => automationViewOf(s, actions, strategyRefs)), actions };
|
|
18
19
|
}
|
|
19
20
|
async function list() {
|
|
20
21
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automations.js","sourceRoot":"","sources":["../../../src/client/adapters/automations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"automations.js","sourceRoot":"","sources":["../../../src/client/adapters/automations.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { AccountInput } from '../adapters/accounts.js';
|
|
|
5
5
|
import type { CreateAutomationInput } from '../adapters/automations.js';
|
|
6
6
|
import type { AccountView, AutomationView } from '../core/views.js';
|
|
7
7
|
import { type ReadOnlyDocumentsApi } from '../adapters/documents.js';
|
|
8
|
-
export type { AccountView, AccountKind, AutomationView
|
|
8
|
+
export type { AccountView, AccountKind, AutomationView } from '../core/views.js';
|
|
9
9
|
export type { AccountInput } from '../adapters/accounts.js';
|
|
10
10
|
export type { CreateAutomationInput } from '../adapters/automations.js';
|
|
11
11
|
/** A write call built its action(s) but never sent them — the session has no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readOnly.d.ts","sourceRoot":"","sources":["../../../src/client/connect/readOnly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAG/G,OAAO,EAAyB,KAAK,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAInE,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAwBhG,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"readOnly.d.ts","sourceRoot":"","sources":["../../../src/client/connect/readOnly.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,15 @@ import { encodeActionProposal } from '../../protocol/proposal.js';
|
|
|
11
11
|
function proposalOf(actions, label) {
|
|
12
12
|
return { actions: actions.map((a) => a.configuration), payload: encodeActionProposal(actions, { label }) };
|
|
13
13
|
}
|
|
14
|
+
/** Chain every entry but the first to the one before it via
|
|
15
|
+
* `after: 'previous-confirmed'`. `after` only guarantees the IMMEDIATELY
|
|
16
|
+
* preceding entry is confirmed, so a multi-entry proposal needs it on every
|
|
17
|
+
* entry past the first to serialize the whole chain — an unchained later
|
|
18
|
+
* entry can still land before an earlier one is confirmed and fail
|
|
19
|
+
* NON-RETRIABLY on the node. */
|
|
20
|
+
function chainEntries(entries) {
|
|
21
|
+
return entries.map((entry, i) => (i === 0 ? entry : { ...entry, after: 'previous-confirmed' }));
|
|
22
|
+
}
|
|
14
23
|
const neverAppend = () => {
|
|
15
24
|
throw new Error('read-only client: this session has no append rights, this should never be called');
|
|
16
25
|
};
|
|
@@ -20,6 +29,12 @@ function createReadOnlyAccountsApi(session) {
|
|
|
20
29
|
list: base.list,
|
|
21
30
|
get: base.get,
|
|
22
31
|
async create(input) {
|
|
32
|
+
// Companion items first (FIFO), then the account that references
|
|
33
|
+
// them. Every entry chains to the one before it: account_create
|
|
34
|
+
// landing before exchange_config_create fails NON-RETRIABLY on the
|
|
35
|
+
// node, and `after: 'previous-confirmed'` only guarantees the
|
|
36
|
+
// IMMEDIATELY preceding entry, so a 3-entry chain needs it on both
|
|
37
|
+
// #2 and #3 to serialize the whole thing.
|
|
23
38
|
const { account, auth, exchangeConfig } = toAccountGraph(input);
|
|
24
39
|
const entries = [];
|
|
25
40
|
if (auth)
|
|
@@ -27,7 +42,7 @@ function createReadOnlyAccountsApi(session) {
|
|
|
27
42
|
if (exchangeConfig)
|
|
28
43
|
entries.push({ configuration: buildCreateExchangeConfigConfig(exchangeConfig) });
|
|
29
44
|
entries.push({ configuration: buildCreateAccountConfig(account) });
|
|
30
|
-
return proposalOf(entries, `Create account "${input.name}"`);
|
|
45
|
+
return proposalOf(chainEntries(entries), `Create account "${input.name}"`);
|
|
31
46
|
},
|
|
32
47
|
async update(id, input) {
|
|
33
48
|
const { account, auth, exchangeConfig } = toAccountGraph({ ...input, id });
|
|
@@ -42,14 +57,14 @@ function createReadOnlyAccountsApi(session) {
|
|
|
42
57
|
if (exchangeConfig)
|
|
43
58
|
entries.push({ configuration: buildEditExchangeConfigConfig(exchangeConfig) });
|
|
44
59
|
entries.push({ configuration: buildEditAccountConfig(id, account) });
|
|
45
|
-
return proposalOf(entries, `Update account "${input.name}"`);
|
|
60
|
+
return proposalOf(chainEntries(entries), `Update account "${input.name}"`);
|
|
46
61
|
},
|
|
47
62
|
async delete(id) {
|
|
48
|
-
return proposalOf([
|
|
63
|
+
return proposalOf(chainEntries([
|
|
49
64
|
{ configuration: buildDeleteAccountConfig(id) },
|
|
50
65
|
{ configuration: buildDeleteAccountAuthConfig(accountAuthIdFor(id)) },
|
|
51
66
|
{ configuration: buildDeleteExchangeConfigConfig(exchangeConfigIdFor(id)) },
|
|
52
|
-
], `Delete account ${id}`);
|
|
67
|
+
]), `Delete account ${id}`);
|
|
53
68
|
},
|
|
54
69
|
async refresh(accountIds) {
|
|
55
70
|
return proposalOf([{ configuration: buildRefreshAccountsConfig(accountIds) }], 'Refresh account balances');
|
|
@@ -67,16 +82,19 @@ function createReadOnlyAutomationsApi(session) {
|
|
|
67
82
|
// StrategyProvider, which only the confirmed `strategy_create` fills.
|
|
68
83
|
// This session can't poll for that confirmation itself (no append
|
|
69
84
|
// rights) — the executing side must, before appending the second entry.
|
|
70
|
-
return proposalOf([
|
|
85
|
+
return proposalOf(chainEntries([
|
|
71
86
|
{ configuration: buildCreateStrategyConfig(input.strategy) },
|
|
72
|
-
{ configuration: buildCreateAutomationConfig(input)
|
|
73
|
-
], `Create automation "${input.name}"`);
|
|
87
|
+
{ configuration: buildCreateAutomationConfig(input) },
|
|
88
|
+
]), `Create automation "${input.name}"`);
|
|
74
89
|
},
|
|
75
90
|
async update(id, input) {
|
|
76
|
-
|
|
91
|
+
// Same node-side race `create` sequences around: automation_edit
|
|
92
|
+
// resolves the strategy by (id, version) against the node's
|
|
93
|
+
// StrategyProvider, which only the confirmed strategy_edit fills.
|
|
94
|
+
return proposalOf(chainEntries([
|
|
77
95
|
{ configuration: buildEditStrategyConfig(input.strategy) },
|
|
78
96
|
{ configuration: buildEditAutomationConfig({ ...input, automationId: id }) },
|
|
79
|
-
], `Update automation "${input.name}"`);
|
|
97
|
+
]), `Update automation "${input.name}"`);
|
|
80
98
|
},
|
|
81
99
|
async stop(id) {
|
|
82
100
|
return proposalOf([{ configuration: buildStopAutomationConfig(id) }], `Stop automation ${id}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readOnly.js","sourceRoot":"","sources":["../../../src/client/connect/readOnly.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAA+C,MAAM,oBAAoB,CAAA;AAKvG,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAqB,MAAM,yBAAyB,CAAA;AACpH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAA6B,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAA4B,MAAM,4BAA4B,CAAA;AAiE3F,SAAS,UAAU,CAAC,OAA8B,EAAE,KAAc;IAChE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAC5G,CAAC;AAED,MAAM,WAAW,GAAiB,GAAG,EAAE;IACrC,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAA;AACrG,CAAC,CAAA;AAED,SAAS,yBAAyB,CAAC,OAAsB;IACvD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACpD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YAC/D,MAAM,OAAO,GAA0B,EAAE,CAAA;YACzC,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC7E,IAAI,cAAc;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,+BAA+B,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YACpG,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAClE,OAAO,UAAU,CAAC,OAAO,EAAE,mBAAmB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"readOnly.js","sourceRoot":"","sources":["../../../src/client/connect/readOnly.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAA+C,MAAM,oBAAoB,CAAA;AAKvG,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAqB,MAAM,yBAAyB,CAAA;AACpH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAA6B,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAA4B,MAAM,4BAA4B,CAAA;AAiE3F,SAAS,UAAU,CAAC,OAA8B,EAAE,KAAc;IAChE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAC5G,CAAC;AAED;;;;;iCAKiC;AACjC,SAAS,YAAY,CAAC,OAA8B;IAClD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAA;AACjG,CAAC;AAED,MAAM,WAAW,GAAiB,GAAG,EAAE;IACrC,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAA;AACrG,CAAC,CAAA;AAED,SAAS,yBAAyB,CAAC,OAAsB;IACvD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACpD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,iEAAiE;YACjE,gEAAgE;YAChE,mEAAmE;YACnE,8DAA8D;YAC9D,mEAAmE;YACnE,0CAA0C;YAC1C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YAC/D,MAAM,OAAO,GAA0B,EAAE,CAAA;YACzC,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC7E,IAAI,cAAc;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,+BAA+B,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YACpG,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAClE,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;QAC5E,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK;YACpB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;YAC1E,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC;iBACjD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;iBAClE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YACzB,IAAI,QAAQ,EAAE,UAAU;gBAAE,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;YAClE,MAAM,OAAO,GAA0B,EAAE,CAAA;YACzC,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC3E,IAAI,cAAc;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,6BAA6B,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;YAClG,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YACpE,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;QAC5E,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,EAAE;YACb,OAAO,UAAU,CAAC,YAAY,CAAC;gBAC7B,EAAE,aAAa,EAAE,wBAAwB,CAAC,EAAE,CAAC,EAAE;gBAC/C,EAAE,aAAa,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE;gBACrE,EAAE,aAAa,EAAE,+BAA+B,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE;aAC5E,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAC7B,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,UAAU;YACtB,OAAO,UAAU,CAAC,CAAC,EAAE,aAAa,EAAE,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAA;QAC5G,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAsB;IAC1D,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACvD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,uEAAuE;YACvE,uEAAuE;YACvE,sEAAsE;YACtE,kEAAkE;YAClE,wEAAwE;YACxE,OAAO,UAAU,CAAC,YAAY,CAAC;gBAC7B,EAAE,aAAa,EAAE,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC5D,EAAE,aAAa,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAAE;aACtD,CAAC,EAAE,sBAAsB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;QAC1C,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK;YACpB,iEAAiE;YACjE,4DAA4D;YAC5D,kEAAkE;YAClE,OAAO,UAAU,CAAC,YAAY,CAAC;gBAC7B,EAAE,aAAa,EAAE,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC1D,EAAE,aAAa,EAAE,yBAAyB,CAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,EAAE;aAC7E,CAAC,EAAE,sBAAsB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;QAC1C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,OAAO,UAAU,CAAC,CAAC,EAAE,aAAa,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;QAChG,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAsB;IACzD,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACtD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,CAAC,MAAM,CAAC,QAAQ;YACnB,OAAO,UAAU,CAAC,CAAC,EAAE,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,oBAAoB,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;QACnH,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,QAAQ;YACnB,OAAO,UAAU,CAAC,CAAC,EAAE,aAAa,EAAE,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,oBAAoB,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;QACjH,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,EAAE;YACb,OAAO,UAAU,CAAC,CAAC,EAAE,aAAa,EAAE,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;QAChG,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAsB;IAChE,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,MAAM;QACnB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,yBAAyB,CAAC,OAAO,CAAC;QAC5C,WAAW,EAAE,4BAA4B,CAAC,OAAO,CAAC;QAClD,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC;QAChD,SAAS,EAAE,0BAA0B,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE;KAC7B,CAAA;AACH,CAAC;AAUD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,cAAsB,EACtB,OAA+B,EAAE;IAEjC,IAAI,MAAM,CAAA;IACV,IAAI,CAAC;QACH,MAAM,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACxH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;IAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,IAAI,qBAAqB,CAAA;IAChE,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAEnG,MAAM,WAAW,GAAuB;QACtC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7E,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM;KACrC,CAAA;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,qBAAqB,CAAC;YACpC,MAAM;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,SAAS;YAChB,gBAAgB;YAChB,WAAW;YACX,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC,CAAA;QACF,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC"}
|
|
@@ -1,40 +1,62 @@
|
|
|
1
|
-
import type { Account as ProtocolAccount, ExchangeConfig, AutomationState, UserAction } from '@drakkar.software/octobot-protocol';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { Account as ProtocolAccount, AccountSpecifics, ExchangeConfig, AutomationState, DetailedAsset, UserAction } from '@drakkar.software/octobot-protocol';
|
|
2
|
+
import type { AutomationRunStatus } from '../../protocol/state.js';
|
|
3
|
+
/** Coarse account category for `AccountView.type`. Collapses broker/bank/
|
|
4
|
+
* asset accounts under 'generic': those kinds only exist client-side
|
|
5
|
+
* (Astrolab's mirror), the node models them as generic. */
|
|
4
6
|
export type AccountKind = 'exchange' | 'wallet' | 'generic';
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
export type AccountView = {
|
|
9
|
-
id: string;
|
|
7
|
+
/** An `Account` projected for client use: node-owned fields plus the
|
|
8
|
+
* exchange resolved through `exchange_configs`, and holdings normalized to
|
|
9
|
+
* a flat `DetailedAsset[]`. */
|
|
10
|
+
export type AccountView = ProtocolAccount & {
|
|
10
11
|
name: string;
|
|
11
12
|
type: AccountKind;
|
|
12
|
-
/** Resolved through `exchange_configs` — undefined for non-exchange kinds. */
|
|
13
13
|
exchange?: string;
|
|
14
14
|
simulated: boolean;
|
|
15
|
-
/** `false` when the node's own validation marked this account invalid
|
|
16
|
-
* (bad credentials, unreachable venue, …). */
|
|
17
15
|
connected: boolean;
|
|
18
|
-
holdings:
|
|
16
|
+
holdings: DetailedAsset[];
|
|
19
17
|
raw: ProtocolAccount;
|
|
20
18
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
export type AutomationView = {
|
|
26
|
-
id: string;
|
|
19
|
+
/** An `AutomationState` projected for client use: run status collapsed to
|
|
20
|
+
* three values, the strategy it was created from (recovered from action
|
|
21
|
+
* history — `AutomationState` itself carries no strategy reference), and
|
|
22
|
+
* holdings normalized to a flat `DetailedAsset[]`. */
|
|
23
|
+
export type AutomationView = Omit<AutomationState, 'status' | 'error'> & {
|
|
27
24
|
name: string;
|
|
28
25
|
status: AutomationRunStatus;
|
|
29
|
-
/** Every exchange account this automation trades through. */
|
|
30
26
|
accountIds: string[];
|
|
31
27
|
strategy: {
|
|
32
28
|
id: string;
|
|
33
29
|
version?: string;
|
|
34
30
|
} | null;
|
|
35
31
|
error: string | null;
|
|
36
|
-
|
|
32
|
+
holdings: DetailedAsset[];
|
|
37
33
|
raw: AutomationState;
|
|
38
34
|
};
|
|
39
|
-
|
|
35
|
+
/** The `exchange_config_ids` a specifics variant carries, if any. Only
|
|
36
|
+
* exchange, blockchain and broker accounts can name one; generic, bank and
|
|
37
|
+
* asset accounts cannot resolve an exchange at all. Exported so a caller
|
|
38
|
+
* building its own account view on top of `AccountSpecifics` (as
|
|
39
|
+
* `octobot-sdk`'s `accountFromNodeState` does) doesn't have to re-derive
|
|
40
|
+
* this rule itself. */
|
|
41
|
+
export declare function exchangeConfigIdOf(specifics: AccountSpecifics | undefined): string | undefined;
|
|
42
|
+
/** A friendlier read of a node-reported account. `raw` is the untouched
|
|
43
|
+
* protocol record — nothing here is hidden or lossy, this just saves every
|
|
44
|
+
* caller from re-deriving the same handful of fields. AccountKind groups
|
|
45
|
+
* broker/bank/asset accounts under 'generic': those kinds only exist
|
|
46
|
+
* client-side (Astrolab's mirror), the node models them as generic. */
|
|
47
|
+
export declare function accountViewOf(na: ProtocolAccount, exchangeConfigs: ExchangeConfig[]): AccountView;
|
|
48
|
+
/** A friendlier read of a node-reported automation. `raw` is the untouched
|
|
49
|
+
* protocol record. `strategy` is recovered from the action history — the
|
|
50
|
+
* node's own `AutomationState` carries no strategy reference. `name` is a
|
|
51
|
+
* convenience flattening of `metadata.name`.
|
|
52
|
+
*
|
|
53
|
+
* `strategyRefs`, when given, is a precomputed `automationStrategyRefsOf(actions)`
|
|
54
|
+
* used instead of re-deriving the ref from `actions` for this one automation.
|
|
55
|
+
* Pass it when mapping many automations against the same `actions` array (see
|
|
56
|
+
* `listWithActions` below) — otherwise each call rescans the full action
|
|
57
|
+
* history, making the batch O(automations × actions) instead of O(actions). */
|
|
58
|
+
export declare function automationViewOf(state: AutomationState, actions: UserAction[], strategyRefs?: Map<string, {
|
|
59
|
+
id: string;
|
|
60
|
+
version?: string;
|
|
61
|
+
}>): AutomationView;
|
|
40
62
|
//# sourceMappingURL=views.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../src/client/core/views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,eAAe,EAC1B,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAA;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../src/client/core/views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,eAAe,EAC1B,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACX,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAgBlE;;4DAE4D;AAC5D,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE3D;;gCAEgC;AAChC,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,GAAG,EAAE,eAAe,CAAA;CACrB,CAAA;AAED;;;uDAGuD;AACvD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG;IACvE,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,mBAAmB,CAAA;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,GAAG,EAAE,eAAe,CAAA;CACrB,CAAA;AAED;;;;;wBAKwB;AACxB,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO9F;AAED;;;;wEAIwE;AACxE,wBAAgB,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,WAAW,CAkBjG;AAED;;;;;;;;;gFASgF;AAChF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,UAAU,EAAE,EACrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC3D,cAAc,CAWhB"}
|
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
import { accountHoldingsFromNodeState, workflowStatusToAutomationStatus, automationErrorOf, automationHoldings, automationStrategyRefOf, } from '../../protocol/state.js';
|
|
2
|
+
/** The `exchange_config_ids` a specifics variant carries, if any. Only
|
|
3
|
+
* exchange, blockchain and broker accounts can name one; generic, bank and
|
|
4
|
+
* asset accounts cannot resolve an exchange at all. Exported so a caller
|
|
5
|
+
* building its own account view on top of `AccountSpecifics` (as
|
|
6
|
+
* `octobot-sdk`'s `accountFromNodeState` does) doesn't have to re-derive
|
|
7
|
+
* this rule itself. */
|
|
8
|
+
export function exchangeConfigIdOf(specifics) {
|
|
9
|
+
if (!specifics)
|
|
10
|
+
return undefined;
|
|
11
|
+
if (specifics.account_type === 'exchange')
|
|
12
|
+
return specifics.exchange_config_ids[0];
|
|
13
|
+
if (specifics.account_type === 'blockchain' || specifics.account_type === 'broker') {
|
|
14
|
+
return specifics.exchange_config_ids?.[0];
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
/** A friendlier read of a node-reported account. `raw` is the untouched
|
|
19
|
+
* protocol record — nothing here is hidden or lossy, this just saves every
|
|
20
|
+
* caller from re-deriving the same handful of fields. AccountKind groups
|
|
21
|
+
* broker/bank/asset accounts under 'generic': those kinds only exist
|
|
22
|
+
* client-side (Astrolab's mirror), the node models them as generic. */
|
|
2
23
|
export function accountViewOf(na, exchangeConfigs) {
|
|
3
24
|
const specifics = na.specifics;
|
|
4
25
|
const type = specifics?.account_type === 'exchange' ? 'exchange' :
|
|
5
26
|
specifics?.account_type === 'blockchain' ? 'wallet' :
|
|
6
27
|
'generic';
|
|
7
|
-
const cfgId = specifics
|
|
28
|
+
const cfgId = exchangeConfigIdOf(specifics);
|
|
8
29
|
const exchange = cfgId ? exchangeConfigs.find((c) => c.id === cfgId)?.exchange : undefined;
|
|
9
30
|
return {
|
|
10
|
-
|
|
31
|
+
...na,
|
|
11
32
|
name: na.name || na.id,
|
|
12
33
|
type,
|
|
13
34
|
exchange,
|
|
@@ -17,15 +38,25 @@ export function accountViewOf(na, exchangeConfigs) {
|
|
|
17
38
|
raw: na,
|
|
18
39
|
};
|
|
19
40
|
}
|
|
20
|
-
|
|
41
|
+
/** A friendlier read of a node-reported automation. `raw` is the untouched
|
|
42
|
+
* protocol record. `strategy` is recovered from the action history — the
|
|
43
|
+
* node's own `AutomationState` carries no strategy reference. `name` is a
|
|
44
|
+
* convenience flattening of `metadata.name`.
|
|
45
|
+
*
|
|
46
|
+
* `strategyRefs`, when given, is a precomputed `automationStrategyRefsOf(actions)`
|
|
47
|
+
* used instead of re-deriving the ref from `actions` for this one automation.
|
|
48
|
+
* Pass it when mapping many automations against the same `actions` array (see
|
|
49
|
+
* `listWithActions` below) — otherwise each call rescans the full action
|
|
50
|
+
* history, making the batch O(automations × actions) instead of O(actions). */
|
|
51
|
+
export function automationViewOf(state, actions, strategyRefs) {
|
|
21
52
|
return {
|
|
22
|
-
|
|
23
|
-
name: state.metadata?.name || state.id,
|
|
53
|
+
...state,
|
|
24
54
|
status: workflowStatusToAutomationStatus(state.status),
|
|
55
|
+
name: state.metadata?.name || state.id,
|
|
25
56
|
accountIds: state.exchange_account_ids ?? [],
|
|
26
|
-
strategy: automationStrategyRefOf(actions, state.id),
|
|
57
|
+
strategy: (strategyRefs ? strategyRefs.get(state.id) : automationStrategyRefOf(actions, state.id)) ?? null,
|
|
27
58
|
error: automationErrorOf(state),
|
|
28
|
-
|
|
59
|
+
holdings: automationHoldings(state),
|
|
29
60
|
raw: state,
|
|
30
61
|
};
|
|
31
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/client/core/views.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/client/core/views.ts"],"names":[],"mappings":"AASA,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GAExB,MAAM,yBAAyB,CAAA;AAwChC;;;;;wBAKwB;AACxB,MAAM,UAAU,kBAAkB,CAAC,SAAuC;IACxE,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAChC,IAAI,SAAS,CAAC,YAAY,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAClF,IAAI,SAAS,CAAC,YAAY,KAAK,YAAY,IAAI,SAAS,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnF,OAAO,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;wEAIwE;AACxE,MAAM,UAAU,aAAa,CAAC,EAAmB,EAAE,eAAiC;IAClF,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAA;IAC9B,MAAM,IAAI,GACR,SAAS,EAAE,YAAY,KAAK,UAAU,CAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QACvD,SAAS,EAAE,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrD,SAAS,CAAA;IACX,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1F,OAAO;QACL,GAAG,EAAE;QACL,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;QACtB,IAAI;QACJ,QAAQ;QACR,SAAS,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK;QACnC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS;QACzC,QAAQ,EAAE,4BAA4B,CAAC,EAAE,CAAC;QAC1C,GAAG,EAAE,EAAE;KACR,CAAA;AACH,CAAC;AAED;;;;;;;;;gFASgF;AAChF,MAAM,UAAU,gBAAgB,CAC9B,KAAsB,EACtB,OAAqB,EACrB,YAA4D;IAE5D,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,gCAAgC,CAAC,KAAK,CAAC,MAAM,CAAC;QACtD,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE;QACtC,UAAU,EAAE,KAAK,CAAC,oBAAoB,IAAI,EAAE;QAC5C,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;QAC1G,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;QAC/B,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACnC,GAAG,EAAE,KAAK;KACX,CAAA;AACH,CAAC"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { type SettingsApi } from './adapters/settings.js';
|
|
|
7
7
|
export { type NodeApi } from './adapters/nodeApi.js';
|
|
8
8
|
export { type DocumentsApi, type ReadOnlyDocumentsApi } from './adapters/documents.js';
|
|
9
9
|
export { type ActionHandle } from './adapters/actionHandle.js';
|
|
10
|
-
export { type AccountView, type AccountKind, type AutomationView,
|
|
10
|
+
export { type AccountView, type AccountKind, type AutomationView, accountViewOf, automationViewOf, exchangeConfigIdOf } from './core/views.js';
|
|
11
11
|
export { startPairingRequest, fetchPairingRequestByCode, type StartPairingRequestOptions, type PairingRequestSession, type PairingRequestLookup, } from './pairing/pairingRequest.js';
|
|
12
12
|
export { buildJoinRequestJson, mintPairingGrant, revokePairingGrant, NothingToShareError, type MintedPairingGrant, } from './pairing/mirrorGrant.js';
|
|
13
13
|
export { parseMirrorGrantBundle, readMirrorCollections, attemptDirectMirrorWrite, type MirrorGrantBundle, type MirrorGrantNodeRef, type ReadMirrorCollectionsOptions, type AttemptDirectMirrorWriteOptions, } from './pairing/mirrorReader.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAC1H,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAC1H,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC9I,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,GACrC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,oBAAoB,GAC1B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAA"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { connectOctoBot, } from './connect/connect.js';
|
|
2
2
|
export { connectReadOnlyDevice, } from './connect/readOnly.js';
|
|
3
|
-
export { accountViewOf, automationViewOf } from './core/views.js';
|
|
3
|
+
export { accountViewOf, automationViewOf, exchangeConfigIdOf } from './core/views.js';
|
|
4
4
|
export { startPairingRequest, fetchPairingRequestByCode, } from './pairing/pairingRequest.js';
|
|
5
5
|
export { buildJoinRequestJson, mintPairingGrant, revokePairingGrant, NothingToShareError, } from './pairing/mirrorGrant.js';
|
|
6
6
|
export { parseMirrorGrantBundle, readMirrorCollections, attemptDirectMirrorWrite, } from './pairing/mirrorReader.js';
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAKf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,qBAAqB,GAOtB,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAKf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,qBAAqB,GAOtB,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,EAA2D,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC9I,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAI1B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAKzB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GAEf,MAAM,kBAAkB,CAAA"}
|
package/dist/identity/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { entropyToMnemonic, generateSeedPhrase, validateSeedPhrase, } from './mn
|
|
|
4
4
|
export { classifySecret, classifyBareSecret, readSecretEnvelope, type ClassifiedSecret, } from './secret.js';
|
|
5
5
|
export { WalletCapProvider, deriveRoot, BOOTSTRAP_CHALLENGE, type KeyDerivation } from './capProvider.js';
|
|
6
6
|
export { createReadOnlyPairing, parseReadOnlyPairing, type ReadOnlyPairingPayload } from './pairing.js';
|
|
7
|
-
export { createPairingRequest, parsePairingRequest, type PairingRequestPayload } from './pairingRequest.js';
|
|
7
|
+
export { createPairingRequest, parsePairingRequest, parsePairingCode, PAIRING_CODE_ALPHABET, PAIRING_CODE_LENGTH, type PairingRequestPayload, } from './pairingRequest.js';
|
|
8
8
|
export { createKeyCache, type KeyCache } from './keys.js';
|
|
9
9
|
export { registerDerivationScheme, getDerivationScheme, listDerivationSchemeIds, DEFAULT_DERIVATION_SCHEME_ID, type DerivationScheme, type DeriveKeyFn, } from './derivationSchemes.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,sBAAsB,GACvB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACvG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,sBAAsB,GACvB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACvG,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,wBAAwB,CAAA"}
|
package/dist/identity/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export { entropyToMnemonic, generateSeedPhrase, validateSeedPhrase, } from './mn
|
|
|
4
4
|
export { classifySecret, classifyBareSecret, readSecretEnvelope, } from './secret.js';
|
|
5
5
|
export { WalletCapProvider, deriveRoot, BOOTSTRAP_CHALLENGE } from './capProvider.js';
|
|
6
6
|
export { createReadOnlyPairing, parseReadOnlyPairing } from './pairing.js';
|
|
7
|
-
export { createPairingRequest, parsePairingRequest } from './pairingRequest.js';
|
|
7
|
+
export { createPairingRequest, parsePairingRequest, parsePairingCode, PAIRING_CODE_ALPHABET, PAIRING_CODE_LENGTH, } from './pairingRequest.js';
|
|
8
8
|
export { createKeyCache } from './keys.js';
|
|
9
9
|
export { registerDerivationScheme, getDerivationScheme, listDerivationSchemeIds, DEFAULT_DERIVATION_SCHEME_ID, } from './derivationSchemes.js';
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,sBAAsB,GACvB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAsB,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAA+B,MAAM,cAAc,CAAA;AACvG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,sBAAsB,GACvB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAsB,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAA+B,MAAM,cAAc,CAAA;AACvG,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAiB,MAAM,WAAW,CAAA;AACzD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,GAG7B,MAAM,wBAAwB,CAAA"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
import { type GeneratedDeviceKeys } from '@drakkar.software/starfish-identities';
|
|
2
2
|
import type { NodeCollectionKey } from '../collections/nodeCollections.js';
|
|
3
|
+
/** Excludes visually-ambiguous characters (0/O, 1/I/L) — Crockford-style,
|
|
4
|
+
* meant to be read off one screen and typed on another. 31 symbols
|
|
5
|
+
* (23 letters + 8 digits), 8 characters ⇒ 8·log2(31) ≈ 39.63 bits of
|
|
6
|
+
* entropy, well above RFC 8628's device-flow `user_code` minimum, and
|
|
7
|
+
* bounded further by the rendezvous collection's short TTL and per-IP
|
|
8
|
+
* rate limit (not something this package controls). `randomCode()` uses
|
|
9
|
+
* rejection sampling (see `CODE_REJECT_THRESHOLD`) so this figure is the
|
|
10
|
+
* real, uniform entropy — not a biased approximation of it. */
|
|
11
|
+
export declare const PAIRING_CODE_ALPHABET = "ABCDEFGHJKMNPQRSTUVWXYZ23456789";
|
|
12
|
+
export declare const PAIRING_CODE_LENGTH = 8;
|
|
13
|
+
/** Normalize and validate a pairing code a user typed or a scanner read.
|
|
14
|
+
* Returns the canonical (trimmed, upper-cased) code, or `null` if the input
|
|
15
|
+
* is not one.
|
|
16
|
+
*
|
|
17
|
+
* Exported because a pairing code is a bare human-typeable string, not JSON:
|
|
18
|
+
* `classifyScannedCode` has no shape to match it against and would report
|
|
19
|
+
* `'unknown'`, so a client scanning both codes and payloads has to test for
|
|
20
|
+
* one itself. Without this, that client ends up re-deriving the alphabet and
|
|
21
|
+
* length by hand and silently drifts the day either changes here. */
|
|
22
|
+
export declare function parsePairingCode(value: string): string | null;
|
|
3
23
|
/** A website's device-code pairing request, published to the `joinsessions`
|
|
4
24
|
* rendezvous collection (`Infra/sync/server/drakkar_sync/apps/dk_spaces/collections.py`,
|
|
5
25
|
* `_pairing/session/{code}`) so the phone app can look it up by the short
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pairingRequest.d.ts","sourceRoot":"","sources":["../../src/identity/pairingRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAIpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"pairingRequest.d.ts","sourceRoot":"","sources":["../../src/identity/pairingRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAIpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E;;;;;;;gEAOgE;AAChE,eAAO,MAAM,qBAAqB,oCAAoC,CAAA;AACtE,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAyCpC;;;;;;;;sEAQsE;AACtE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO7D;AAeD;;;;;;;;;;;;qCAYqC;AACrC,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,CAAC,CAAA;IACJ,IAAI,EAAE,yBAAyB,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;yEAQqE;IACrE,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAA;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB;;;qCAGiC;IACjC,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;;;;4BASwB;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB;;kCAE8B;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CACnD;AAED;;;;mCAImC;AACnC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;6EAEyE;IACzE,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CACrC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA+BzF;AAgCD;;;;;;;;;;;;;iEAaiE;AACjE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,qBAAqB,CA2EhG"}
|