@amalgm/core 0.3.2 → 0.4.1
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/PURPOSE.md +18 -12
- package/README.md +5 -6
- package/dist/identity/auth-records.d.ts +10 -75
- package/dist/identity/auth-records.d.ts.map +1 -1
- package/dist/identity/auth-records.js +25 -159
- package/dist/identity/auth-records.js.map +1 -1
- package/dist/identity/local/api.d.ts.map +1 -1
- package/dist/identity/local/api.js +0 -8
- package/dist/identity/local/api.js.map +1 -1
- package/dist/identity/local/index.d.ts +0 -1
- package/dist/identity/local/index.d.ts.map +1 -1
- package/dist/identity/local/index.js +0 -1
- package/dist/identity/local/index.js.map +1 -1
- package/dist/identity/machine-setup.d.ts +2 -3
- package/dist/identity/machine-setup.d.ts.map +1 -1
- package/dist/identity/machine-setup.js +10 -33
- package/dist/identity/machine-setup.js.map +1 -1
- package/docs/authorization.md +5 -1
- package/package.json +4 -2
- package/dist/identity/local/resolve.d.ts +0 -7
- package/dist/identity/local/resolve.d.ts.map +0 -1
- package/dist/identity/local/resolve.js +0 -32
- package/dist/identity/local/resolve.js.map +0 -1
package/PURPOSE.md
CHANGED
|
@@ -32,9 +32,9 @@ Core owns exactly four things:
|
|
|
32
32
|
ports, never reached for directly.
|
|
33
33
|
|
|
34
34
|
`docs/responsibilities.md` enumerates every responsibility in full and maps
|
|
35
|
-
each
|
|
36
|
-
rules become executable and testable;
|
|
37
|
-
|
|
35
|
+
each historical Engine module to its target repo. This repository is where the
|
|
36
|
+
kernel's rules become executable and testable; Shell is the production host
|
|
37
|
+
that composes an exact Core release with the other product releases.
|
|
38
38
|
|
|
39
39
|
## Axioms
|
|
40
40
|
|
|
@@ -66,10 +66,10 @@ source until each module is cut over.
|
|
|
66
66
|
8. **Contracts are byte-exact.** Path formats, plist labels, health
|
|
67
67
|
vocabularies, error strings, and version-compare rules are preserved
|
|
68
68
|
verbatim from the shipped engine; parity tests pin them until cutover.
|
|
69
|
-
9. **
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
9. **Shell is the single production composer.** Core defines host-independent
|
|
70
|
+
contracts and decisions; `@amalgm/shell` binds them to machine effects and
|
|
71
|
+
exact product releases. Engine is historical reference evidence only and
|
|
72
|
+
never a runtime fallback.
|
|
73
73
|
10. **Amalgm's own surfaces use this SDK.** A private shortcut in the CLI,
|
|
74
74
|
gateway, or runtime means the SDK is incomplete — fix the SDK, not the
|
|
75
75
|
caller.
|
|
@@ -102,7 +102,7 @@ source until each module is cut over.
|
|
|
102
102
|
compatibility surfaces cannot masquerade as unfinished product work.
|
|
103
103
|
18. **Machine setup is one trust rail with two entrances.** Browser polling and
|
|
104
104
|
an approved setup code converge before the same registration, credential
|
|
105
|
-
split,
|
|
105
|
+
split, installation, canonical-runtime, and readiness path;
|
|
106
106
|
service selection is a downstream installation decision and an omitted
|
|
107
107
|
selector means every service in the verified release catalog.
|
|
108
108
|
19. **Every managed login includes Files.** Core and Files/Live are the minimum
|
|
@@ -130,6 +130,13 @@ source until each module is cut over.
|
|
|
130
130
|
it requires fresh user approval, proof of the candidate private key, and a
|
|
131
131
|
conditional swap from the expected old thumbprint. A completed swap is safe
|
|
132
132
|
to retry, and corrupt local key material remains visible until that ceremony.
|
|
133
|
+
24. **Provider access never becomes durable machine state.** Registration and
|
|
134
|
+
resume persist only identity, tunnel, and machine credentials. Products get
|
|
135
|
+
short-lived, exact grants from the in-memory broker, and resume removes any
|
|
136
|
+
retired proxy or HMAC credential left by an older installation.
|
|
137
|
+
25. **Build output is a projection, never accumulated state.** Every build
|
|
138
|
+
removes `dist` before compiling, and packaging runs that clean build, so a
|
|
139
|
+
deleted source file cannot survive inside a release.
|
|
133
140
|
|
|
134
141
|
## Five surfaces, one behavior
|
|
135
142
|
|
|
@@ -146,7 +153,6 @@ behavior instead of delegating to the SDK is a bug.
|
|
|
146
153
|
|
|
147
154
|
## Status
|
|
148
155
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
source; nothing consumes this package yet.
|
|
156
|
+
Active SDK. `@amalgm/shell` is the production host and exact-version composer.
|
|
157
|
+
The Engine inventory remains historical migration evidence; active runtime
|
|
158
|
+
work must land in Core and Shell rather than reintroducing an Engine fallback.
|
package/README.md
CHANGED
|
@@ -4,8 +4,8 @@ The Amalgm kernel SDK: identity, transport, and supervision contracts —
|
|
|
4
4
|
every law a machine needs to boot the platform, prove who it is, stay
|
|
5
5
|
alive, and route traffic to everything else. Start with
|
|
6
6
|
[PURPOSE.md](PURPOSE.md) (the charter) and
|
|
7
|
-
[docs/responsibilities.md](docs/responsibilities.md) (
|
|
8
|
-
knife table mapping the
|
|
7
|
+
[docs/responsibilities.md](docs/responsibilities.md) (historical evidence and
|
|
8
|
+
the knife table mapping the Engine monolith onto its owning repositories).
|
|
9
9
|
|
|
10
10
|
The evolving product contract for the top-level command, modular service
|
|
11
11
|
installation, and mandatory managed updates is
|
|
@@ -28,10 +28,9 @@ node surfaces/cli/amalgm-core.mjs label canary
|
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Rules of the house: zero runtime dependencies; nothing in `src/` imports
|
|
31
|
-
`node:*` or reads `process.env`;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
least one.
|
|
31
|
+
`node:*` or reads `process.env`; every build recreates `dist` from source;
|
|
32
|
+
Shell is the production host and exact-version composer; tests are exams —
|
|
33
|
+
each states a law, and a mutant must be convicted by at least one.
|
|
35
34
|
|
|
36
35
|
Package releases use `.github/workflows/publish-package.yml`. A reviewed main
|
|
37
36
|
commit is tagged exactly `v<package version>`; trusted npm publishing stages
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* Credential-record shaping laws (engine packages/amalgm/lib/auth-store.js
|
|
3
3
|
* and runtime/scripts/proxy-token-store.js) — how a computer record splits
|
|
4
4
|
* into its PUBLIC face (`computer.json`) and its SECRET envelope
|
|
5
|
-
* (`auth.json`), how the two merge back
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* (`auth.json`), and how the two merge back. Pure record computations only:
|
|
6
|
+
* reading, writing, and env access stay host-side; the clock arrives as a
|
|
7
|
+
* port.
|
|
8
8
|
*
|
|
9
9
|
* Records are loose JSON from disk, so inputs are typed as they truly are:
|
|
10
10
|
* dictionaries of unknowns, validated key by key.
|
|
11
11
|
*/
|
|
12
|
-
import type { ClockIsoPort
|
|
12
|
+
import type { ClockIsoPort } from './ports.js';
|
|
13
13
|
type Dict = Record<string, unknown>;
|
|
14
14
|
/** Emails compare lowercased; a record's email is stored lowercased. */
|
|
15
15
|
export declare function normalizeUserEmail(value: unknown): string;
|
|
@@ -21,6 +21,8 @@ export declare function userEmailFromRecord(record: unknown): string;
|
|
|
21
21
|
* including the legacy camelCase and hmac spellings — is the contract.
|
|
22
22
|
*/
|
|
23
23
|
export declare const SECRET_COMPUTER_KEYS: ReadonlySet<string>;
|
|
24
|
+
/** Does a secret envelope still carry the retired durable proxy credential? */
|
|
25
|
+
export declare function hasRetiredProxyAuth(auth: unknown): boolean;
|
|
24
26
|
/** Does this record carry any secret worth an auth envelope?
|
|
25
27
|
* (auth-store.js:78-81). Whitespace-only values do not count. */
|
|
26
28
|
export declare function hasComputerSecrets(record: unknown): boolean;
|
|
@@ -38,16 +40,14 @@ export declare function publicComputerRecord(record: unknown, authFile?: string)
|
|
|
38
40
|
* (auth-store.js:94-156):
|
|
39
41
|
*
|
|
40
42
|
* { schema_version: 1, computer_id, device_id, user_id, user_email,
|
|
41
|
-
* app_url, tunnel: { token, url }, machine: { token }
|
|
42
|
-
* proxy: { token, expires_in, expires_at, refreshed_at } }
|
|
43
|
+
* app_url, tunnel: { token, url }, machine: { token } }
|
|
43
44
|
*
|
|
44
45
|
* Merging over `existing` is additive: identity keys are copied only when
|
|
45
46
|
* the record actually carries them, each token section is (re)stamped only
|
|
46
47
|
* when its token arrives, and a record carrying only tunnel URLs updates
|
|
47
|
-
* the URLs while PRESERVING the existing tunnel token.
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* input; the envelope speaks only the canonical shape.
|
|
48
|
+
* the URLs while PRESERVING the existing tunnel token. Retired proxy-token
|
|
49
|
+
* fields are dropped from both new records and existing envelopes: provider
|
|
50
|
+
* access is short-lived broker state, never durable machine state.
|
|
51
51
|
*/
|
|
52
52
|
export declare function authFromRecord(record: unknown, existing: unknown, ports: ClockIsoPort): Dict;
|
|
53
53
|
/**
|
|
@@ -78,70 +78,5 @@ export declare function assertRecordMatchesUserScope(record: unknown, context: {
|
|
|
78
78
|
readonly runtimeLabel: string;
|
|
79
79
|
readonly userScope: string;
|
|
80
80
|
}): void;
|
|
81
|
-
/** Refresh proxy tokens 10 minutes before they die (auth-store.js:22,
|
|
82
|
-
* proxy-token-store.js:20) — one shared buffer, so the two freshness laws
|
|
83
|
-
* below can never disagree about "soon". */
|
|
84
|
-
export declare const PROXY_REFRESH_BUFFER_MS: number;
|
|
85
|
-
/**
|
|
86
|
-
* A record's proxy token under every spelling (auth-store.js:298-306), with
|
|
87
|
-
* an explicitly supplied environment override winning. Pure: the engine
|
|
88
|
-
* reads `process.env.AMALGM_PROXY_TOKEN`; the host passes that value in.
|
|
89
|
-
*/
|
|
90
|
-
export declare function proxyTokenFromRecord(record: unknown, envProxyToken?: string): string;
|
|
91
|
-
/**
|
|
92
|
-
* The RECORD-side freshness law (auth-store.js:308-313), asked of a flat
|
|
93
|
-
* computer record: no token at all means refresh (true); a token whose
|
|
94
|
-
* expiry is missing or unparseable is trusted (false) — a legacy token
|
|
95
|
-
* without metadata keeps working; otherwise refresh inside the buffer.
|
|
96
|
-
* Note the deliberate asymmetry with {@link proxyTokenExpiresSoon}: over
|
|
97
|
-
* there, missing metadata means refresh — the envelope is expected to
|
|
98
|
-
* carry it.
|
|
99
|
-
*/
|
|
100
|
-
export declare function proxyTokenNeedsRefresh(record: unknown, ports: ClockMsPort, envProxyToken?: string): boolean;
|
|
101
|
-
/**
|
|
102
|
-
* The ENVELOPE-side freshness law (proxy-token-store.js:110-117), asked of
|
|
103
|
-
* an auth envelope, three branches exactly: no token → false (nothing to
|
|
104
|
-
* refresh ahead of); token with missing OR unparseable expiry → true (an
|
|
105
|
-
* envelope is expected to know its expiry; not knowing is stale); else
|
|
106
|
-
* refresh inside the buffer.
|
|
107
|
-
*/
|
|
108
|
-
export declare function proxyTokenExpiresSoon(auth: unknown, ports: ClockMsPort): boolean;
|
|
109
|
-
/** Everything a proxy-token refresh call needs, distilled from the pair. */
|
|
110
|
-
export interface ProxyRefreshContext {
|
|
111
|
-
readonly machineToken: string;
|
|
112
|
-
readonly appUrl: string;
|
|
113
|
-
readonly computerId: string;
|
|
114
|
-
readonly deviceId: string;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* The refresh-credential precedence chain (proxy-token-store.js:88-98):
|
|
118
|
-
* the machine token is the machine's own auth token first, the legacy flat
|
|
119
|
-
* spelling second, and — last resort — the tunnel token; addresses and ids
|
|
120
|
-
* prefer the record over the envelope.
|
|
121
|
-
*/
|
|
122
|
-
export declare function proxyRefreshContext(record: unknown, auth: unknown): ProxyRefreshContext;
|
|
123
|
-
/**
|
|
124
|
-
* May a refresh even be attempted? (proxy-token-store.js:100-103): a
|
|
125
|
-
* machine token, an app URL, and a computer id are required; the device id
|
|
126
|
-
* is optional context.
|
|
127
|
-
*/
|
|
128
|
-
export declare function canRefreshProxyToken(context: {
|
|
129
|
-
readonly record: unknown;
|
|
130
|
-
readonly auth: unknown;
|
|
131
|
-
}): boolean;
|
|
132
|
-
/**
|
|
133
|
-
* The persisted `auth.json` after a successful proxy-token refresh
|
|
134
|
-
* (proxy-token-store.js:154-173): the prior envelope carried forward,
|
|
135
|
-
* identity restated from the refresh context, the server's answers winning
|
|
136
|
-
* over prior values field by field, and both `proxy.refreshed_at` and
|
|
137
|
-
* `updated_at` stamped now. `expires_in` collapses to undefined (dropped
|
|
138
|
-
* by JSON) when absent or zero. The caller guards with
|
|
139
|
-
* {@link canRefreshProxyToken}; this is only the shape law.
|
|
140
|
-
*/
|
|
141
|
-
export declare function refreshedProxyAuth(input: {
|
|
142
|
-
readonly record: unknown;
|
|
143
|
-
readonly auth: unknown;
|
|
144
|
-
readonly refreshed: unknown;
|
|
145
|
-
}, ports: ClockIsoPort): Dict;
|
|
146
81
|
export {};
|
|
147
82
|
//# sourceMappingURL=auth-records.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-records.d.ts","sourceRoot":"","sources":["../../src/identity/auth-records.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"auth-records.d.ts","sourceRoot":"","sources":["../../src/identity/auth-records.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AASpC,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAG3D;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAWnD,CAAC;AAcH,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAG1D;AAED;iEACiE;AACjE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAI3D;AAUD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,SAAc,GAAG,IAAI,CASlF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,YAAY,GAClB,IAAI,CAyCN;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAsB3E;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrE,IAAI,CAQN"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Credential-record shaping laws (engine packages/amalgm/lib/auth-store.js
|
|
3
3
|
* and runtime/scripts/proxy-token-store.js) — how a computer record splits
|
|
4
4
|
* into its PUBLIC face (`computer.json`) and its SECRET envelope
|
|
5
|
-
* (`auth.json`), how the two merge back
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* (`auth.json`), and how the two merge back. Pure record computations only:
|
|
6
|
+
* reading, writing, and env access stay host-side; the clock arrives as a
|
|
7
|
+
* port.
|
|
8
8
|
*
|
|
9
9
|
* Records are loose JSON from disk, so inputs are typed as they truly are:
|
|
10
10
|
* dictionaries of unknowns, validated key by key.
|
|
@@ -40,6 +40,22 @@ export const SECRET_COMPUTER_KEYS = new Set([
|
|
|
40
40
|
'hmac_token',
|
|
41
41
|
'hmacToken',
|
|
42
42
|
]);
|
|
43
|
+
const RETIRED_PROXY_AUTH_KEYS = [
|
|
44
|
+
'proxy',
|
|
45
|
+
'proxy_token',
|
|
46
|
+
'proxy_token_expires_in',
|
|
47
|
+
'proxy_token_expires_at',
|
|
48
|
+
'proxy_token_refreshed_at',
|
|
49
|
+
'proxyToken',
|
|
50
|
+
'proxyTokenExpiresAt',
|
|
51
|
+
'hmac_token',
|
|
52
|
+
'hmacToken',
|
|
53
|
+
];
|
|
54
|
+
/** Does a secret envelope still carry the retired durable proxy credential? */
|
|
55
|
+
export function hasRetiredProxyAuth(auth) {
|
|
56
|
+
const record = asDict(auth);
|
|
57
|
+
return !!record && RETIRED_PROXY_AUTH_KEYS.some((key) => key in record);
|
|
58
|
+
}
|
|
43
59
|
/** Does this record carry any secret worth an auth envelope?
|
|
44
60
|
* (auth-store.js:78-81). Whitespace-only values do not count. */
|
|
45
61
|
export function hasComputerSecrets(record) {
|
|
@@ -80,16 +96,14 @@ export function publicComputerRecord(record, authFile = 'auth.json') {
|
|
|
80
96
|
* (auth-store.js:94-156):
|
|
81
97
|
*
|
|
82
98
|
* { schema_version: 1, computer_id, device_id, user_id, user_email,
|
|
83
|
-
* app_url, tunnel: { token, url }, machine: { token }
|
|
84
|
-
* proxy: { token, expires_in, expires_at, refreshed_at } }
|
|
99
|
+
* app_url, tunnel: { token, url }, machine: { token } }
|
|
85
100
|
*
|
|
86
101
|
* Merging over `existing` is additive: identity keys are copied only when
|
|
87
102
|
* the record actually carries them, each token section is (re)stamped only
|
|
88
103
|
* when its token arrives, and a record carrying only tunnel URLs updates
|
|
89
|
-
* the URLs while PRESERVING the existing tunnel token.
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* input; the envelope speaks only the canonical shape.
|
|
104
|
+
* the URLs while PRESERVING the existing tunnel token. Retired proxy-token
|
|
105
|
+
* fields are dropped from both new records and existing envelopes: provider
|
|
106
|
+
* access is short-lived broker state, never durable machine state.
|
|
93
107
|
*/
|
|
94
108
|
export function authFromRecord(record, existing, ports) {
|
|
95
109
|
const now = ports.nowIso();
|
|
@@ -99,6 +113,8 @@ export function authFromRecord(record, existing, ports) {
|
|
|
99
113
|
...(asDict(existing) || {}),
|
|
100
114
|
updated_at: now,
|
|
101
115
|
};
|
|
116
|
+
for (const key of RETIRED_PROXY_AUTH_KEYS)
|
|
117
|
+
delete auth[key];
|
|
102
118
|
for (const key of ['computer_id', 'device_id', 'user_id', 'user_email', 'app_url']) {
|
|
103
119
|
const value = key === 'user_email' ? userEmailFromRecord(r) : cleanString(r?.[key]);
|
|
104
120
|
if (value)
|
|
@@ -128,24 +144,6 @@ export function authFromRecord(record, existing, ports) {
|
|
|
128
144
|
updated_at: now,
|
|
129
145
|
};
|
|
130
146
|
}
|
|
131
|
-
const proxyToken = (cleanString(r?.['proxy_token'])
|
|
132
|
-
|| cleanString(r?.['proxyToken'])
|
|
133
|
-
|| cleanString(r?.['hmac_token'])
|
|
134
|
-
|| cleanString(r?.['hmacToken']));
|
|
135
|
-
if (proxyToken) {
|
|
136
|
-
const priorProxy = asDict(auth['proxy']);
|
|
137
|
-
auth['proxy'] = {
|
|
138
|
-
...(priorProxy || {}),
|
|
139
|
-
token: proxyToken,
|
|
140
|
-
expires_in: Number(r?.['proxy_token_expires_in'] || priorProxy?.['expires_in'] || 0) || undefined,
|
|
141
|
-
expires_at: cleanString(r?.['proxy_token_expires_at'])
|
|
142
|
-
|| cleanString(r?.['proxyTokenExpiresAt'])
|
|
143
|
-
|| cleanString(priorProxy?.['expires_at']),
|
|
144
|
-
refreshed_at: cleanString(r?.['proxy_token_refreshed_at'])
|
|
145
|
-
|| cleanString(priorProxy?.['refreshed_at'])
|
|
146
|
-
|| now,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
147
|
return auth;
|
|
150
148
|
}
|
|
151
149
|
/**
|
|
@@ -170,7 +168,6 @@ export function mergeRecordAuth(record, auth) {
|
|
|
170
168
|
return merged;
|
|
171
169
|
const tunnel = asDict(a['tunnel']);
|
|
172
170
|
const machine = asDict(a['machine']);
|
|
173
|
-
const proxy = asDict(a['proxy']);
|
|
174
171
|
if (!merged['tunnel_token'])
|
|
175
172
|
merged['tunnel_token'] = cleanString(tunnel?.['token']) || cleanString(a['tunnel_token']);
|
|
176
173
|
if (!merged['tunnel_url'])
|
|
@@ -178,18 +175,6 @@ export function mergeRecordAuth(record, auth) {
|
|
|
178
175
|
if (!merged['computer_auth_token']) {
|
|
179
176
|
merged['computer_auth_token'] = cleanString(machine?.['token']) || cleanString(a['computer_auth_token']);
|
|
180
177
|
}
|
|
181
|
-
if (!merged['proxy_token']) {
|
|
182
|
-
merged['proxy_token'] = cleanString(proxy?.['token']) || cleanString(a['proxy_token']);
|
|
183
|
-
}
|
|
184
|
-
if (!merged['proxy_token_expires_at']) {
|
|
185
|
-
merged['proxy_token_expires_at'] = cleanString(proxy?.['expires_at']) || cleanString(a['proxy_token_expires_at']);
|
|
186
|
-
}
|
|
187
|
-
if (!merged['proxy_token_expires_in'] && proxy?.['expires_in']) {
|
|
188
|
-
merged['proxy_token_expires_in'] = proxy['expires_in'];
|
|
189
|
-
}
|
|
190
|
-
if (!merged['proxy_token_refreshed_at']) {
|
|
191
|
-
merged['proxy_token_refreshed_at'] = cleanString(proxy?.['refreshed_at']);
|
|
192
|
-
}
|
|
193
178
|
if (!merged['user_id'])
|
|
194
179
|
merged['user_id'] = cleanString(a['user_id']);
|
|
195
180
|
if (!merged['user_email'])
|
|
@@ -228,123 +213,4 @@ export function assertRecordMatchesUserScope(record, context) {
|
|
|
228
213
|
return;
|
|
229
214
|
throw new Error(`Refusing to save ${context.runtimeLabel} computer credentials for user ${userId} in scope ${expectedScope}.`);
|
|
230
215
|
}
|
|
231
|
-
/** Refresh proxy tokens 10 minutes before they die (auth-store.js:22,
|
|
232
|
-
* proxy-token-store.js:20) — one shared buffer, so the two freshness laws
|
|
233
|
-
* below can never disagree about "soon". */
|
|
234
|
-
export const PROXY_REFRESH_BUFFER_MS = 10 * 60 * 1000;
|
|
235
|
-
/**
|
|
236
|
-
* A record's proxy token under every spelling (auth-store.js:298-306), with
|
|
237
|
-
* an explicitly supplied environment override winning. Pure: the engine
|
|
238
|
-
* reads `process.env.AMALGM_PROXY_TOKEN`; the host passes that value in.
|
|
239
|
-
*/
|
|
240
|
-
export function proxyTokenFromRecord(record, envProxyToken = '') {
|
|
241
|
-
const r = asDict(record);
|
|
242
|
-
return (cleanString(envProxyToken)
|
|
243
|
-
|| cleanString(r?.['proxy_token'])
|
|
244
|
-
|| cleanString(r?.['proxyToken'])
|
|
245
|
-
|| cleanString(r?.['hmac_token'])
|
|
246
|
-
|| cleanString(r?.['hmacToken']));
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* The RECORD-side freshness law (auth-store.js:308-313), asked of a flat
|
|
250
|
-
* computer record: no token at all means refresh (true); a token whose
|
|
251
|
-
* expiry is missing or unparseable is trusted (false) — a legacy token
|
|
252
|
-
* without metadata keeps working; otherwise refresh inside the buffer.
|
|
253
|
-
* Note the deliberate asymmetry with {@link proxyTokenExpiresSoon}: over
|
|
254
|
-
* there, missing metadata means refresh — the envelope is expected to
|
|
255
|
-
* carry it.
|
|
256
|
-
*/
|
|
257
|
-
export function proxyTokenNeedsRefresh(record, ports, envProxyToken = '') {
|
|
258
|
-
if (!proxyTokenFromRecord(record, envProxyToken))
|
|
259
|
-
return true;
|
|
260
|
-
const r = asDict(record);
|
|
261
|
-
const expiresAt = Date.parse(String(r?.['proxy_token_expires_at'] || r?.['proxyTokenExpiresAt'] || ''));
|
|
262
|
-
if (!Number.isFinite(expiresAt))
|
|
263
|
-
return false;
|
|
264
|
-
return expiresAt - ports.nowMs() < PROXY_REFRESH_BUFFER_MS;
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* The ENVELOPE-side freshness law (proxy-token-store.js:110-117), asked of
|
|
268
|
-
* an auth envelope, three branches exactly: no token → false (nothing to
|
|
269
|
-
* refresh ahead of); token with missing OR unparseable expiry → true (an
|
|
270
|
-
* envelope is expected to know its expiry; not knowing is stale); else
|
|
271
|
-
* refresh inside the buffer.
|
|
272
|
-
*/
|
|
273
|
-
export function proxyTokenExpiresSoon(auth, ports) {
|
|
274
|
-
const proxy = asDict(asDict(auth)?.['proxy']);
|
|
275
|
-
if (!cleanString(proxy?.['token']))
|
|
276
|
-
return false;
|
|
277
|
-
const expiresAtRaw = cleanString(proxy?.['expires_at']);
|
|
278
|
-
if (!expiresAtRaw)
|
|
279
|
-
return true;
|
|
280
|
-
const expiresAt = Date.parse(expiresAtRaw);
|
|
281
|
-
if (!Number.isFinite(expiresAt))
|
|
282
|
-
return true;
|
|
283
|
-
return expiresAt - ports.nowMs() < PROXY_REFRESH_BUFFER_MS;
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* The refresh-credential precedence chain (proxy-token-store.js:88-98):
|
|
287
|
-
* the machine token is the machine's own auth token first, the legacy flat
|
|
288
|
-
* spelling second, and — last resort — the tunnel token; addresses and ids
|
|
289
|
-
* prefer the record over the envelope.
|
|
290
|
-
*/
|
|
291
|
-
export function proxyRefreshContext(record, auth) {
|
|
292
|
-
const r = asDict(record);
|
|
293
|
-
const a = asDict(auth);
|
|
294
|
-
const machine = asDict(a?.['machine']);
|
|
295
|
-
const tunnel = asDict(a?.['tunnel']);
|
|
296
|
-
return {
|
|
297
|
-
machineToken: cleanString(machine?.['token'])
|
|
298
|
-
|| cleanString(a?.['computer_auth_token'])
|
|
299
|
-
|| cleanString(tunnel?.['token']),
|
|
300
|
-
appUrl: cleanString(r?.['app_url']) || cleanString(a?.['app_url']),
|
|
301
|
-
computerId: cleanString(r?.['computer_id']) || cleanString(a?.['computer_id']),
|
|
302
|
-
deviceId: cleanString(r?.['device_id']) || cleanString(a?.['device_id']),
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* May a refresh even be attempted? (proxy-token-store.js:100-103): a
|
|
307
|
-
* machine token, an app URL, and a computer id are required; the device id
|
|
308
|
-
* is optional context.
|
|
309
|
-
*/
|
|
310
|
-
export function canRefreshProxyToken(context) {
|
|
311
|
-
const refresh = proxyRefreshContext(context.record, context.auth);
|
|
312
|
-
return !!(refresh.machineToken && refresh.appUrl && refresh.computerId);
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* The persisted `auth.json` after a successful proxy-token refresh
|
|
316
|
-
* (proxy-token-store.js:154-173): the prior envelope carried forward,
|
|
317
|
-
* identity restated from the refresh context, the server's answers winning
|
|
318
|
-
* over prior values field by field, and both `proxy.refreshed_at` and
|
|
319
|
-
* `updated_at` stamped now. `expires_in` collapses to undefined (dropped
|
|
320
|
-
* by JSON) when absent or zero. The caller guards with
|
|
321
|
-
* {@link canRefreshProxyToken}; this is only the shape law.
|
|
322
|
-
*/
|
|
323
|
-
export function refreshedProxyAuth(input, ports) {
|
|
324
|
-
const { appUrl, computerId, deviceId } = proxyRefreshContext(input.record, input.auth);
|
|
325
|
-
const r = asDict(input.record);
|
|
326
|
-
const a = asDict(input.auth) || {};
|
|
327
|
-
const refreshed = asDict(input.refreshed);
|
|
328
|
-
const priorProxy = asDict(a['proxy']);
|
|
329
|
-
const now = ports.nowIso();
|
|
330
|
-
return {
|
|
331
|
-
...a,
|
|
332
|
-
schema_version: 1,
|
|
333
|
-
computer_id: computerId,
|
|
334
|
-
device_id: deviceId,
|
|
335
|
-
user_id: cleanString(r?.['user_id']) || cleanString(a['user_id']),
|
|
336
|
-
user_email: cleanString(refreshed?.['user_email']).toLowerCase()
|
|
337
|
-
|| cleanString(r?.['user_email']).toLowerCase()
|
|
338
|
-
|| cleanString(a['user_email']).toLowerCase(),
|
|
339
|
-
app_url: appUrl,
|
|
340
|
-
proxy: {
|
|
341
|
-
...(priorProxy || {}),
|
|
342
|
-
token: cleanString(refreshed?.['proxy_token']) || cleanString(priorProxy?.['token']),
|
|
343
|
-
expires_in: Number(refreshed?.['proxy_token_expires_in'] || priorProxy?.['expires_in'] || 0) || undefined,
|
|
344
|
-
expires_at: cleanString(refreshed?.['proxy_token_expires_at']) || cleanString(priorProxy?.['expires_at']),
|
|
345
|
-
refreshed_at: now,
|
|
346
|
-
},
|
|
347
|
-
updated_at: now,
|
|
348
|
-
};
|
|
349
|
-
}
|
|
350
216
|
//# sourceMappingURL=auth-records.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-records.js","sourceRoot":"","sources":["../../src/identity/auth-records.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-records.js","sourceRoot":"","sources":["../../src/identity/auth-records.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKpD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAe,EAAE,CAC7C,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEhE,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1C,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,kBAAkB,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC/D,cAAc;IACd,qBAAqB;IACrB,aAAa;IACb,wBAAwB;IACxB,wBAAwB;IACxB,0BAA0B;IAC1B,YAAY;IACZ,qBAAqB;IACrB,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG;IAC9B,OAAO;IACP,aAAa;IACb,wBAAwB;IACxB,wBAAwB;IACxB,0BAA0B;IAC1B,YAAY;IACZ,qBAAqB;IACrB,YAAY;IACZ,WAAW;CACH,CAAC;AAEX,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED;iEACiE;AACjE,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;kEACkE;AAClE,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAe,EAAE,QAAQ,GAAG,WAAW;IAC1E,MAAM,GAAG,GAAS;QAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC;KAC9B,CAAC;IACF,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK;QAAE,GAAG,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,oBAAoB;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAe,EACf,QAAiB,EACjB,KAAmB;IAEnB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,IAAI,GAAS;QACjB,cAAc,EAAE,CAAC;QACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,UAAU,EAAE,GAAG;KAChB,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,uBAAuB;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAU,EAAE,CAAC;QAC5F,MAAM,KAAK,GAAG,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,KAAK;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,GAAG;YACf,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YACtB,KAAK,EAAE,WAAW;YAClB,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;YACxE,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG;YACf,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YACtB,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClE,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,GAAG;YAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,IAAa;IAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,MAAM,GAAS,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAEtB,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACvD,IAAI,cAAc,IAAI,gBAAgB,IAAI,cAAc,KAAK,gBAAgB;QAAE,OAAO,MAAM,CAAC;IAE7F,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,MAAM,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IACvH,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,qBAAqB,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,MAAM,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAe,EAAE,YAAoB;IAC/E,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,KAAK,MAAM,CAAC;IAC3C,OAAO,KAAK,KAAK,YAAY,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAe,EACf,OAAsE;IAEtE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,OAAO;QAAE,OAAO;IACnE,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO;IACrC,MAAM,IAAI,KAAK,CACb,oBAAoB,OAAO,CAAC,YAAY,kCAAkC,MAAM,aAAa,aAAa,GAAG,CAC9G,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/identity/local/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/identity/local/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE3E,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;CAC5C,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAuB1C"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { discoverLocalHarnesses } from './discovery.js';
|
|
2
|
-
import { resolveLocalAgentEnv } from './resolve.js';
|
|
3
2
|
export function createLocalApi(options) {
|
|
4
3
|
return async (request) => {
|
|
5
4
|
const url = new URL(request.url);
|
|
@@ -21,13 +20,6 @@ export function createLocalApi(options) {
|
|
|
21
20
|
agents: discoverLocalHarnesses(options.discovery),
|
|
22
21
|
});
|
|
23
22
|
}
|
|
24
|
-
if (request.method === 'POST' && url.pathname === '/local/credentials/resolve') {
|
|
25
|
-
const body = await request.json();
|
|
26
|
-
if (typeof body.agentId !== 'string' || typeof body.authMode !== 'string') {
|
|
27
|
-
return json(400, { error: 'agentId and authMode are required' });
|
|
28
|
-
}
|
|
29
|
-
return json(200, { env: resolveLocalAgentEnv(body.agentId, body.authMode, typeof body.proxyToken === 'string' ? body.proxyToken : undefined, typeof body.proxyBaseUrl === 'string' ? body.proxyBaseUrl : undefined) });
|
|
30
|
-
}
|
|
31
23
|
return json(404, { error: 'not found' });
|
|
32
24
|
};
|
|
33
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/identity/local/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/identity/local/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,MAAM,UAAU,cAAc,CAAC,OAG9B;IACC,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,oBAAoB,CAAC,EAAE,CAAC;YACrG,OAAO,IAAI,CAAC,GAAG,EAAE;gBACf,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC;gBACjD,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO;gBACpC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;aACjD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAChE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,GAAG,EAAE;gBACf,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU,EAAE,WAAW,CAAC,IAAI;gBAC5B,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO;gBACpC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;gBAChD,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,MAAc,EAAE,IAAa;IACzC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE;KAC7E,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/identity/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/identity/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,mBAAmB,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { ClockIsoPort, ClockMsPort } from './ports.js';
|
|
7
7
|
import type { InstallationPlan, ReleaseCatalogVerifierPort, SignedReleaseCatalog } from '../supervision/installation-plan.js';
|
|
8
8
|
type Dict = Record<string, unknown>;
|
|
9
|
-
export type MachineSetupStage = 'device' | 'approval' | 'registration' | '
|
|
9
|
+
export type MachineSetupStage = 'device' | 'approval' | 'registration' | 'catalog' | 'installation' | 'persistence' | 'user_ground' | 'runtime' | 'ready';
|
|
10
10
|
export declare class MachineSetupError extends Error {
|
|
11
11
|
readonly stage: MachineSetupStage;
|
|
12
12
|
readonly code: string;
|
|
@@ -54,7 +54,6 @@ export interface MachineControlPlanePort {
|
|
|
54
54
|
readonly computer_registration_token: string;
|
|
55
55
|
}>;
|
|
56
56
|
register(registrationToken: string, body: Dict): Promise<Dict>;
|
|
57
|
-
refreshProxy(computerAuthToken: string, body: Dict): Promise<Dict>;
|
|
58
57
|
}
|
|
59
58
|
export interface MachineCatalogPort {
|
|
60
59
|
load(): Promise<SignedReleaseCatalog>;
|
|
@@ -156,7 +155,7 @@ export interface ReadyMachine {
|
|
|
156
155
|
export declare function computerSetupBody(input: JoinMachineInput, deviceId: string): Dict;
|
|
157
156
|
/** Browser approval and --setup-code converge before this function registers. */
|
|
158
157
|
export declare function joinMachine(input: JoinMachineInput, ports: MachineSetupPorts): Promise<ReadyMachine>;
|
|
159
|
-
/** A later process starts from disk
|
|
158
|
+
/** A later process starts from disk, retiring obsolete secrets copy-on-success. */
|
|
160
159
|
export declare function resumeMachine(ports: MachineSetupPorts): Promise<ReadyMachine>;
|
|
161
160
|
export {};
|
|
162
161
|
//# sourceMappingURL=machine-setup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine-setup.d.ts","sourceRoot":"","sources":["../../src/identity/machine-setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"machine-setup.d.ts","sourceRoot":"","sources":["../../src/identity/machine-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* HTTP, files, browser opening, clocks, installation, and runtime boot are
|
|
4
4
|
* ports. Service selection is deliberately absent from every auth request.
|
|
5
5
|
*/
|
|
6
|
-
import { authFromRecord,
|
|
6
|
+
import { authFromRecord, hasRetiredProxyAuth, mergeRecordAuth, publicComputerRecord, } from './auth-records.js';
|
|
7
7
|
import { assertSetupCode, isUsableDeviceId, npmDeviceId } from './ids.js';
|
|
8
8
|
import { resolveVerifiedInstallationPlan } from '../supervision/installation-plan.js';
|
|
9
9
|
const asDict = (value) => (value && typeof value === 'object' && !Array.isArray(value) ? value : null);
|
|
@@ -27,7 +27,7 @@ function setupFailure(stage, error) {
|
|
|
27
27
|
if (error instanceof MachineSetupError)
|
|
28
28
|
return error;
|
|
29
29
|
const code = stringValue(asDict(error)?.['code']) || 'operation_failed';
|
|
30
|
-
const recoverable = stage === 'approval' || stage === '
|
|
30
|
+
const recoverable = stage === 'approval' || stage === 'user_ground';
|
|
31
31
|
return new MachineSetupError(stage, code, recoverable, error instanceof Error ? { cause: error } : undefined);
|
|
32
32
|
}
|
|
33
33
|
async function stableDevice(ports) {
|
|
@@ -162,32 +162,14 @@ async function convergeUserGround(record, ports) {
|
|
|
162
162
|
assertUserGround(identity, evidence);
|
|
163
163
|
return evidence;
|
|
164
164
|
}
|
|
165
|
-
function authMachineToken(auth) {
|
|
166
|
-
return stringValue(asDict(asDict(auth)?.['machine'])?.['token']);
|
|
167
|
-
}
|
|
168
|
-
function authProxyToken(auth) {
|
|
169
|
-
return stringValue(asDict(asDict(auth)?.['proxy'])?.['token']);
|
|
170
|
-
}
|
|
171
|
-
async function ensureFreshProxy(record, auth, ports) {
|
|
172
|
-
if (authProxyToken(auth) && !proxyTokenExpiresSoon(auth, ports))
|
|
173
|
-
return auth;
|
|
174
|
-
const computerAuthToken = authMachineToken(auth);
|
|
175
|
-
if (!computerAuthToken) {
|
|
176
|
-
throw new MachineSetupError('proxy_refresh', 'missing_computer_auth_token', true);
|
|
177
|
-
}
|
|
178
|
-
const refreshed = await ports.controlPlane.refreshProxy(computerAuthToken, {
|
|
179
|
-
computer_id: stringValue(record['computer_id']),
|
|
180
|
-
device_id: stringValue(record['device_id']),
|
|
181
|
-
});
|
|
182
|
-
const next = refreshedProxyAuth({ record, auth, refreshed }, ports);
|
|
183
|
-
if (!authProxyToken(next) || proxyTokenExpiresSoon(next, ports)) {
|
|
184
|
-
throw new MachineSetupError('proxy_refresh', 'proxy_token_not_fresh', true);
|
|
185
|
-
}
|
|
186
|
-
return next;
|
|
187
|
-
}
|
|
188
165
|
function hydrated(machine) {
|
|
189
166
|
return mergeRecordAuth(machine.publicRecord, machine.secretAuth) || {};
|
|
190
167
|
}
|
|
168
|
+
function withoutRetiredProxyAuth(machine, ports) {
|
|
169
|
+
return hasRetiredProxyAuth(machine.secretAuth)
|
|
170
|
+
? { ...machine, secretAuth: authFromRecord(hydrated(machine), null, ports) }
|
|
171
|
+
: machine;
|
|
172
|
+
}
|
|
191
173
|
function sameInstallation(left, right) {
|
|
192
174
|
return left.releaseId === right.releaseId
|
|
193
175
|
&& JSON.stringify(left.selection) === JSON.stringify(right.selection)
|
|
@@ -249,10 +231,7 @@ export async function joinMachine(input, ports) {
|
|
|
249
231
|
const registered = await ports.controlPlane.register(token, computerSetupBody(input, device.device_id));
|
|
250
232
|
const record = registrationRecord(registered, input, device.device_id, ports.nowIso());
|
|
251
233
|
diagnostic(ports, stage, 'completed');
|
|
252
|
-
|
|
253
|
-
diagnostic(ports, stage, 'started');
|
|
254
|
-
const auth = await ensureFreshProxy(record, authFromRecord(record, null, ports), ports);
|
|
255
|
-
diagnostic(ports, stage, 'completed');
|
|
234
|
+
const auth = authFromRecord(record, null, ports);
|
|
256
235
|
stage = 'catalog';
|
|
257
236
|
diagnostic(ports, stage, 'started');
|
|
258
237
|
const catalog = await ports.catalog.load();
|
|
@@ -313,7 +292,7 @@ export async function joinMachine(input, ports) {
|
|
|
313
292
|
throw failure;
|
|
314
293
|
}
|
|
315
294
|
}
|
|
316
|
-
/** A later process starts from disk
|
|
295
|
+
/** A later process starts from disk, retiring obsolete secrets copy-on-success. */
|
|
317
296
|
export async function resumeMachine(ports) {
|
|
318
297
|
let stage = 'persistence';
|
|
319
298
|
let runtime = null;
|
|
@@ -327,9 +306,7 @@ export async function resumeMachine(ports) {
|
|
|
327
306
|
if (stringValue(record['device_id']) !== device.device_id) {
|
|
328
307
|
throw new MachineSetupError(stage, 'stored_device_mismatch');
|
|
329
308
|
}
|
|
330
|
-
|
|
331
|
-
const auth = await ensureFreshProxy(record, stored.secretAuth, ports);
|
|
332
|
-
const current = auth === stored.secretAuth ? stored : { ...stored, secretAuth: auth };
|
|
309
|
+
const current = withoutRetiredProxyAuth(stored, ports);
|
|
333
310
|
if (current !== stored) {
|
|
334
311
|
stage = 'persistence';
|
|
335
312
|
await ports.machineStore.save(current);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine-setup.js","sourceRoot":"","sources":["../../src/identity/machine-setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"machine-setup.js","sourceRoot":"","sources":["../../src/identity/machine-setup.ts"],"names":[],"mappings":"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"}
|
package/docs/authorization.md
CHANGED
|
@@ -23,6 +23,9 @@ needs.
|
|
|
23
23
|
6. A machine key is pinned once. Replacement requires an explicit, browser-
|
|
24
24
|
approved recovery bound to the expected old thumbprint and a different
|
|
25
25
|
candidate key; retrying an already completed replacement is idempotent.
|
|
26
|
+
7. Provider access is memory-only. Registration and machine resume never
|
|
27
|
+
persist an access token, DPoP proof, or provider proxy credential; resume
|
|
28
|
+
removes retired proxy and HMAC fields left by older installations.
|
|
26
29
|
|
|
27
30
|
## Public surface
|
|
28
31
|
|
|
@@ -36,4 +39,5 @@ Import `@amalgm/core/authorization` for:
|
|
|
36
39
|
|
|
37
40
|
The default access lifetime is 15 minutes. Cached credentials refresh at least
|
|
38
41
|
two minutes early, with up to 30 seconds of jitter. DPoP proofs are one-request
|
|
39
|
-
artifacts and are never cached.
|
|
42
|
+
artifacts and are never cached. The durable machine credential and P-256
|
|
43
|
+
private key stay in the Shell host; products receive neither.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amalgm/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "The Amalgm kernel SDK — identity, transport, supervision, and host capability contracts behind host-injected adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -66,7 +66,9 @@
|
|
|
66
66
|
"node": ">=18"
|
|
67
67
|
},
|
|
68
68
|
"scripts": {
|
|
69
|
-
"
|
|
69
|
+
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
70
|
+
"build": "npm run clean && tsc -p tsconfig.json",
|
|
71
|
+
"prepack": "npm run build",
|
|
70
72
|
"test": "npm run build && node --test",
|
|
71
73
|
"examine:machine-setup": "npm run build && node --test tests/supervision/installation-plan.test.js tests/machine-setup/examination.test.js",
|
|
72
74
|
"examine:user-ground": "npm run build && npm --prefix ../amalgm-live run build && node --test examinations/user-ground/login.examination.mjs"
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { LocalHarness } from './types.js';
|
|
2
|
-
export declare function resolveLocalAgentEnv(agentId: LocalHarness['id'] | string, authMode: string, proxyToken?: string, proxyBaseUrl?: string): Record<string, string>;
|
|
3
|
-
export declare function localReauthCommand(agentId: string): {
|
|
4
|
-
shell: string;
|
|
5
|
-
description: string;
|
|
6
|
-
} | null;
|
|
7
|
-
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/identity/local/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,EACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAajG"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export function resolveLocalAgentEnv(agentId, authMode, proxyToken, proxyBaseUrl) {
|
|
2
|
-
if (authMode !== 'amalgm' || !proxyToken || !proxyBaseUrl)
|
|
3
|
-
return {};
|
|
4
|
-
const base = proxyBaseUrl.replace(/\/+$/, '');
|
|
5
|
-
switch (agentId) {
|
|
6
|
-
case 'claude_code':
|
|
7
|
-
return { ANTHROPIC_API_KEY: proxyToken, ANTHROPIC_BASE_URL: `${base}/anthropic` };
|
|
8
|
-
case 'codex':
|
|
9
|
-
return { OPENAI_API_KEY: proxyToken, OPENAI_BASE_URL: `${base}/openai/v1` };
|
|
10
|
-
case 'opencode':
|
|
11
|
-
return { AI_GATEWAY_API_KEY: proxyToken, AI_GATEWAY_BASE_URL: `${base}/ai_gateway/v3/ai` };
|
|
12
|
-
case 'pi':
|
|
13
|
-
return { AI_GATEWAY_API_KEY: proxyToken, AI_GATEWAY_BASE_URL: `${base}/ai_gateway/v1` };
|
|
14
|
-
default:
|
|
15
|
-
return {};
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export function localReauthCommand(agentId) {
|
|
19
|
-
switch (agentId) {
|
|
20
|
-
case 'claude_code': return { shell: 'claude', description: 'Run `claude`, then type /login to authenticate.' };
|
|
21
|
-
case 'codex': return { shell: 'codex login', description: '`codex login` walks through OAuth or API-key setup.' };
|
|
22
|
-
case 'opencode': return { shell: 'opencode auth login', description: '`opencode auth login` walks through provider setup.' };
|
|
23
|
-
case 'pi': return { shell: 'pi --terminal-login', description: '`pi --terminal-login` authenticates Pi in the terminal.' };
|
|
24
|
-
case 'amp': return { shell: 'amp --setup', description: '`amp --setup` configures Amp credentials.' };
|
|
25
|
-
case 'cursor': return {
|
|
26
|
-
shell: 'if command -v cursor-agent >/dev/null 2>&1; then cursor-agent login; else "$HOME/.local/bin/cursor-agent" login; fi',
|
|
27
|
-
description: '`cursor-agent login` opens the browser login flow.',
|
|
28
|
-
};
|
|
29
|
-
default: return null;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=resolve.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/identity/local/resolve.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAClC,OAAoC,EACpC,QAAgB,EAChB,UAAmB,EACnB,YAAqB;IAErB,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC;QACpF,KAAK,OAAO;YACV,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC;QAC9E,KAAK,UAAU;YACb,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC7F,KAAK,IAAI;YACP,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC1F;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;QAC/G,KAAK,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;QAClH,KAAK,UAAU,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC;QAC7H,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,yDAAyD,EAAE,CAAC;QAC3H,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;QACtG,KAAK,QAAQ,CAAC,CAAC,OAAO;YACpB,KAAK,EAAE,qHAAqH;YAC5H,WAAW,EAAE,oDAAoD;SAClE,CAAC;QACF,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC"}
|