@brass-build/client 0.1.0 → 0.2.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/AGENTS.md +72 -63
- package/CHANGELOG.md +86 -0
- package/README.md +317 -231
- package/dist/auth-flow.d.ts +10 -1
- package/dist/auth-flow.d.ts.map +1 -1
- package/dist/auth-flow.js +64 -20
- package/dist/auth-flow.js.map +1 -1
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +217 -75
- package/dist/client.js.map +1 -1
- package/dist/document-engine.d.ts +4 -0
- package/dist/document-engine.d.ts.map +1 -0
- package/dist/document-engine.js +9 -0
- package/dist/document-engine.js.map +1 -0
- package/dist/document-streams.d.ts +8 -1
- package/dist/document-streams.d.ts.map +1 -1
- package/dist/document-streams.js +79 -8
- package/dist/document-streams.js.map +1 -1
- package/dist/documents-namespace.d.ts.map +1 -1
- package/dist/documents-namespace.js +19 -3
- package/dist/documents-namespace.js.map +1 -1
- package/dist/documents.d.ts +43 -14
- package/dist/documents.d.ts.map +1 -1
- package/dist/documents.js +871 -223
- package/dist/documents.js.map +1 -1
- package/dist/embed-protocol.d.ts +3 -0
- package/dist/embed-protocol.d.ts.map +1 -0
- package/dist/embed-protocol.js +26 -0
- package/dist/embed-protocol.js.map +1 -0
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +8 -1
- package/dist/emitter.js.map +1 -1
- package/dist/export-guest.d.ts.map +1 -1
- package/dist/export-guest.js +14 -6
- package/dist/export-guest.js.map +1 -1
- package/dist/fetch-deadline.d.ts +22 -0
- package/dist/fetch-deadline.d.ts.map +1 -0
- package/dist/fetch-deadline.js +96 -0
- package/dist/fetch-deadline.js.map +1 -0
- package/dist/fetch-retry.d.ts +1 -0
- package/dist/fetch-retry.d.ts.map +1 -1
- package/dist/fetch-retry.js +12 -5
- package/dist/fetch-retry.js.map +1 -1
- package/dist/handle-types.d.ts +150 -0
- package/dist/handle-types.d.ts.map +1 -0
- package/dist/handle-types.js +8 -0
- package/dist/handle-types.js.map +1 -0
- package/dist/handles.d.ts +48 -48
- package/dist/handles.d.ts.map +1 -1
- package/dist/handles.js +3122 -501
- package/dist/handles.js.map +1 -1
- package/dist/hosted-runtime.d.ts.map +1 -1
- package/dist/hosted-runtime.js +8 -12
- package/dist/hosted-runtime.js.map +1 -1
- package/dist/hosted-ui.d.ts +0 -1
- package/dist/hosted-ui.d.ts.map +1 -1
- package/dist/hosted-ui.js +29 -24
- package/dist/hosted-ui.js.map +1 -1
- package/dist/importer.d.ts.map +1 -1
- package/dist/importer.js +253 -8
- package/dist/importer.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/join-coverage.d.ts +12 -0
- package/dist/join-coverage.d.ts.map +1 -0
- package/dist/join-coverage.js +37 -0
- package/dist/join-coverage.js.map +1 -0
- package/dist/jwt.d.ts.map +1 -1
- package/dist/jwt.js +5 -1
- package/dist/jwt.js.map +1 -1
- package/dist/launch-context.js +2 -2
- package/dist/launch-context.js.map +1 -1
- package/dist/mutate-batching.d.ts +25 -2
- package/dist/mutate-batching.d.ts.map +1 -1
- package/dist/mutate-batching.js +57 -10
- package/dist/mutate-batching.js.map +1 -1
- package/dist/open-document.d.ts +15 -1
- package/dist/open-document.d.ts.map +1 -1
- package/dist/open-document.js +1851 -321
- package/dist/open-document.js.map +1 -1
- package/dist/presence.d.ts +28 -0
- package/dist/presence.d.ts.map +1 -1
- package/dist/presence.js +149 -7
- package/dist/presence.js.map +1 -1
- package/dist/record-paging.d.ts +336 -71
- package/dist/record-paging.d.ts.map +1 -1
- package/dist/record-paging.js +591 -127
- package/dist/record-paging.js.map +1 -1
- package/dist/selection-persistence.d.ts.map +1 -1
- package/dist/selection-persistence.js +11 -1
- package/dist/selection-persistence.js.map +1 -1
- package/dist/serializer.d.ts +30 -1
- package/dist/serializer.d.ts.map +1 -1
- package/dist/session-persistence.d.ts.map +1 -1
- package/dist/session-persistence.js +9 -8
- package/dist/session-persistence.js.map +1 -1
- package/dist/session-toolbar.d.ts +0 -1
- package/dist/session-toolbar.d.ts.map +1 -1
- package/dist/session-toolbar.js +226 -75
- package/dist/session-toolbar.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +87 -18
- package/dist/session.js.map +1 -1
- package/dist/tail-ops.d.ts +14 -4
- package/dist/tail-ops.d.ts.map +1 -1
- package/dist/tail-ops.js +75 -15
- package/dist/tail-ops.js.map +1 -1
- package/dist/topic-lifecycle.d.ts +4 -0
- package/dist/topic-lifecycle.d.ts.map +1 -1
- package/dist/topic-lifecycle.js +25 -1
- package/dist/topic-lifecycle.js.map +1 -1
- package/dist/types.d.ts +47 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/undo.d.ts +2 -3
- package/dist/undo.d.ts.map +1 -1
- package/dist/undo.js +11 -0
- package/dist/undo.js.map +1 -1
- package/dist/unload-guard.d.ts +5 -0
- package/dist/unload-guard.d.ts.map +1 -0
- package/dist/unload-guard.js +88 -0
- package/dist/unload-guard.js.map +1 -0
- package/dist/version-bar.d.ts +4 -3
- package/dist/version-bar.d.ts.map +1 -1
- package/dist/version-bar.js +140 -19
- package/dist/version-bar.js.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.js +1 -1
- package/dist/vite.d.ts +18 -2
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +133 -8
- package/dist/vite.js.map +1 -1
- package/dist/ws-client.d.ts +23 -3
- package/dist/ws-client.d.ts.map +1 -1
- package/dist/ws-client.js +339 -89
- package/dist/ws-client.js.map +1 -1
- package/dist/ws-frame-limit.d.ts.map +1 -1
- package/dist/ws-frame-limit.js +19 -12
- package/dist/ws-frame-limit.js.map +1 -1
- package/docs/app-manifest.md +7 -8
- package/docs/custom-chrome.md +17 -20
- package/docs/hosted-ui-advanced.md +14 -17
- package/docs/imported-documents.md +53 -197
- package/docs/presence.md +45 -21
- package/docs/schemas.md +12 -17
- package/docs/streams.md +55 -57
- package/package.json +4 -3
- package/src/auth-flow.ts +90 -23
- package/src/client.ts +225 -78
- package/src/document-engine.ts +15 -0
- package/src/document-signals.ts +7 -7
- package/src/document-streams.ts +95 -9
- package/src/documents-namespace.ts +18 -3
- package/src/documents.ts +983 -277
- package/src/embed-protocol.ts +25 -0
- package/src/emitter.ts +8 -1
- package/src/export-guest.ts +15 -9
- package/src/fetch-deadline.ts +119 -0
- package/src/fetch-retry.ts +14 -5
- package/src/handle-types.ts +303 -0
- package/src/handles.ts +3406 -683
- package/src/hosted-runtime.ts +8 -12
- package/src/hosted-ui.ts +28 -32
- package/src/importer.ts +261 -8
- package/src/index.ts +29 -18
- package/src/internal.ts +1 -0
- package/src/join-coverage.ts +42 -0
- package/src/jwt.ts +8 -1
- package/src/launch-context.ts +2 -2
- package/src/mutate-batching.ts +60 -11
- package/src/open-document.ts +2355 -515
- package/src/presence.ts +210 -11
- package/src/record-paging.ts +687 -137
- package/src/selection-persistence.ts +10 -1
- package/src/serializer.ts +33 -1
- package/src/session-persistence.ts +9 -8
- package/src/session-toolbar.ts +249 -80
- package/src/session.ts +91 -17
- package/src/tail-ops.ts +76 -10
- package/src/topic-lifecycle.ts +31 -1
- package/src/types.ts +56 -4
- package/src/undo.ts +13 -5
- package/src/unload-guard.ts +91 -0
- package/src/version-bar.ts +163 -25
- package/src/version.ts +1 -1
- package/src/vite.ts +175 -10
- package/src/ws-client.ts +392 -92
- package/src/ws-frame-limit.ts +19 -12
package/dist/auth-flow.d.ts
CHANGED
|
@@ -17,7 +17,16 @@ export interface RefreshResult {
|
|
|
17
17
|
tokens: TokenSet;
|
|
18
18
|
sessionToken?: string;
|
|
19
19
|
}
|
|
20
|
+
export type RefreshOutcome = {
|
|
21
|
+
status: 'ok';
|
|
22
|
+
result: RefreshResult;
|
|
23
|
+
} | {
|
|
24
|
+
status: 'no_session';
|
|
25
|
+
} | {
|
|
26
|
+
status: 'unavailable';
|
|
27
|
+
};
|
|
20
28
|
export declare function buildSignInUrl(authBaseUrl: string, appId: string, returnTo: string): string;
|
|
21
29
|
export declare function buildSignedOutOfAppUrl(authBaseUrl: string, appId: string, returnTo: string): string;
|
|
22
|
-
export declare function
|
|
30
|
+
export declare function revokeAppApproval(authBaseUrl: string, appId: string, credential?: RefreshCredential): Promise<void>;
|
|
31
|
+
export declare function refreshTokens(authBaseUrl: string, appId: string, credential?: RefreshCredential): Promise<RefreshOutcome>;
|
|
23
32
|
//# sourceMappingURL=auth-flow.d.ts.map
|
package/dist/auth-flow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-flow.d.ts","sourceRoot":"","sources":["../src/auth-flow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-flow.d.ts","sourceRoot":"","sources":["../src/auth-flow.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAIlB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsBD,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,CAAC;IAIjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAYD,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC;AAc9B,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK3F;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAKR;AAMD,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,iBAAsC,GACjD,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,iBAAsC,GACjD,OAAO,CAAC,cAAc,CAAC,CAoDzB"}
|
package/dist/auth-flow.js
CHANGED
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
import { SDK_CLIENT_ID } from './version.js';
|
|
2
2
|
import { fetchWithRetry, RETRY_READ, RETRY_WRITE_503 } from './fetch-retry.js';
|
|
3
|
-
// Fallback token lifetime
|
|
4
|
-
// server always sends
|
|
5
|
-
//
|
|
6
|
-
// check `expiresAt - leeway > Date.now()`
|
|
7
|
-
//
|
|
8
|
-
//
|
|
3
|
+
// Fallback token lifetime when a /refresh response carries no usable
|
|
4
|
+
// `expires_in`. The server always sends a positive number (so this is
|
|
5
|
+
// forward-compat robustness), and every other value stamps an `expiresAt` the
|
|
6
|
+
// client's freshness check `expiresAt - leeway > Date.now()` can never
|
|
7
|
+
// satisfy: `undefined` and a non-numeric make it NaN, and 0 or a negative
|
|
8
|
+
// makes it already past. Either way every getAccessToken() would fire a fresh
|
|
9
|
+
// /refresh round-trip. Mirrors the CLI's same guard.
|
|
9
10
|
const DEFAULT_TOKEN_TTL_SECONDS = 3600;
|
|
11
|
+
// The lifetime to stamp a token set with, given whatever `expires_in` the
|
|
12
|
+
// response carried.
|
|
13
|
+
function tokenTtlSeconds(expiresIn) {
|
|
14
|
+
return typeof expiresIn === 'number' && Number.isFinite(expiresIn) && expiresIn > 0
|
|
15
|
+
? expiresIn
|
|
16
|
+
: DEFAULT_TOKEN_TTL_SECONDS;
|
|
17
|
+
}
|
|
18
|
+
// Attempts for a /refresh, raised from `fetchWithRetry`'s default of 3
|
|
19
|
+
// (~0.9s of backoff) so the call outlasts the few-second network gap a
|
|
20
|
+
// machine waking from sleep produces.
|
|
21
|
+
const REFRESH_ATTEMPTS = 5;
|
|
22
|
+
// Statuses that mean the request found no answer. A 5xx is in the set
|
|
23
|
+
// because the auth proxy reports an upstream failure as one, so it says
|
|
24
|
+
// nothing about whether the session is live.
|
|
25
|
+
function isTransientStatus(status) {
|
|
26
|
+
return status >= 500 || status === 429 || status === 408;
|
|
27
|
+
}
|
|
10
28
|
export function buildSignInUrl(authBaseUrl, appId, returnTo) {
|
|
11
29
|
const url = new URL(`${authBaseUrl}/sign-in`);
|
|
12
30
|
url.searchParams.set('app_id', appId);
|
|
@@ -19,6 +37,29 @@ export function buildSignedOutOfAppUrl(authBaseUrl, appId, returnTo) {
|
|
|
19
37
|
url.searchParams.set('return_to', returnTo);
|
|
20
38
|
return url.toString();
|
|
21
39
|
}
|
|
40
|
+
// Drops this app's approval off the platform session, presenting the same
|
|
41
|
+
// credential a refresh does. Never rejects: the sign-out navigation follows
|
|
42
|
+
// either way, and the page it lands on offers the button that finishes a
|
|
43
|
+
// revocation this call could not deliver.
|
|
44
|
+
export async function revokeAppApproval(authBaseUrl, appId, credential = { kind: 'cookie' }) {
|
|
45
|
+
const url = `${authBaseUrl}/sign-out-of-app?${new URLSearchParams({
|
|
46
|
+
app_id: appId,
|
|
47
|
+
}).toString()}`;
|
|
48
|
+
const init = { method: 'POST', credentials: 'include' };
|
|
49
|
+
if (credential.kind === 'sessionToken') {
|
|
50
|
+
// A URLSearchParams body keeps this a CORS simple request, as on
|
|
51
|
+
// /refresh: the auth API serves no preflight OPTIONS.
|
|
52
|
+
const body = new URLSearchParams();
|
|
53
|
+
body.set('sid', credential.sessionToken);
|
|
54
|
+
init.body = body;
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
await fetch(url, init);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// Swallowed on purpose: see above.
|
|
61
|
+
}
|
|
62
|
+
}
|
|
22
63
|
export async function refreshTokens(authBaseUrl, appId, credential = { kind: 'cookie' }) {
|
|
23
64
|
// `client` rides a query param, not a header: /refresh is deliberately
|
|
24
65
|
// a CORS simple request (no preflight), and any custom header would
|
|
@@ -42,35 +83,38 @@ export async function refreshTokens(authBaseUrl, appId, credential = { kind: 'co
|
|
|
42
83
|
init.body = body;
|
|
43
84
|
}
|
|
44
85
|
// Retry a transient failure (a cold-start 5xx / 429, or a network blip)
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
//
|
|
50
|
-
// channel replays ONLY a pre-handler 503 (never a network throw, which might
|
|
51
|
-
// mean the code was already consumed); the cookie / sid channels are
|
|
52
|
-
// idempotent and replay the full transient set.
|
|
86
|
+
// before reporting it. A definitive 401/403 is not in either replay set, so
|
|
87
|
+
// it still returns fast. The one-time `brass_code` exchange is single-use
|
|
88
|
+
// server-side, so its channel replays ONLY a pre-handler 503 (never a
|
|
89
|
+
// network throw, which might mean the code was already consumed); the
|
|
90
|
+
// cookie / sid channels are idempotent and replay the full transient set.
|
|
53
91
|
const policy = credential.kind === 'code' ? RETRY_WRITE_503 : RETRY_READ;
|
|
54
92
|
let response;
|
|
55
93
|
try {
|
|
56
|
-
response = await fetchWithRetry(() => fetch(url, init), {
|
|
94
|
+
response = await fetchWithRetry(() => fetch(url, init), {
|
|
95
|
+
policy,
|
|
96
|
+
maxAttempts: REFRESH_ATTEMPTS,
|
|
97
|
+
});
|
|
57
98
|
}
|
|
58
99
|
catch {
|
|
59
|
-
return
|
|
100
|
+
return { status: 'unavailable' };
|
|
101
|
+
}
|
|
102
|
+
if (!response.ok) {
|
|
103
|
+
return isTransientStatus(response.status)
|
|
104
|
+
? { status: 'unavailable' }
|
|
105
|
+
: { status: 'no_session' };
|
|
60
106
|
}
|
|
61
|
-
if (!response.ok)
|
|
62
|
-
return null;
|
|
63
107
|
const json = (await response.json());
|
|
64
108
|
const result = {
|
|
65
109
|
tokens: {
|
|
66
110
|
accessToken: json.access_token,
|
|
67
111
|
idToken: json.id_token,
|
|
68
|
-
expiresAt: Date.now() + (json.expires_in
|
|
112
|
+
expiresAt: Date.now() + tokenTtlSeconds(json.expires_in) * 1000,
|
|
69
113
|
...(json.app_assertion ? { appAssertion: json.app_assertion } : {}),
|
|
70
114
|
},
|
|
71
115
|
};
|
|
72
116
|
if (json.session_token)
|
|
73
117
|
result.sessionToken = json.session_token;
|
|
74
|
-
return result;
|
|
118
|
+
return { status: 'ok', result };
|
|
75
119
|
}
|
|
76
120
|
//# sourceMappingURL=auth-flow.js.map
|
package/dist/auth-flow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-flow.js","sourceRoot":"","sources":["../src/auth-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/E,
|
|
1
|
+
{"version":3,"file":"auth-flow.js","sourceRoot":"","sources":["../src/auth-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare class BrassClient {
|
|
|
34
34
|
private listeners;
|
|
35
35
|
private readonly errorListeners;
|
|
36
36
|
private inflightRefresh;
|
|
37
|
+
private authEpoch;
|
|
37
38
|
private initialized;
|
|
38
39
|
private pendingAuthCode;
|
|
39
40
|
private sessionToken;
|
|
@@ -88,6 +89,8 @@ export declare class BrassClient {
|
|
|
88
89
|
registerSerializer(serializer: DocumentSerializer): void;
|
|
89
90
|
registerImporter(importer: DocumentImporter): void;
|
|
90
91
|
private trackOpenDocument;
|
|
92
|
+
private liveOpenDocuments;
|
|
93
|
+
private liveOpenDocument;
|
|
91
94
|
private serializeForExport;
|
|
92
95
|
private maybeWriteDocIdToUrl;
|
|
93
96
|
private applyPageTitle;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|