ugly-app 0.1.764 → 0.1.766
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/auth/cloudflareOauth.d.ts +10 -0
- package/dist/cli/auth/cloudflareOauth.d.ts.map +1 -1
- package/dist/cli/auth/cloudflareOauth.js +25 -0
- package/dist/cli/auth/cloudflareOauth.js.map +1 -1
- package/dist/cli/serverLogQueryApi.d.ts.map +1 -1
- package/dist/cli/serverLogQueryApi.js +2 -15
- package/dist/cli/serverLogQueryApi.js.map +1 -1
- package/dist/cli/telemetryAuth.d.ts +17 -0
- package/dist/cli/telemetryAuth.d.ts.map +1 -0
- package/dist/cli/telemetryAuth.js +44 -0
- package/dist/cli/telemetryAuth.js.map +1 -0
- package/dist/cli/telemetryD1.d.ts.map +1 -1
- package/dist/cli/telemetryD1.js +2 -20
- package/dist/cli/telemetryD1.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/markdown/client/ProseMirrorEditor/plugins/ttsHighlightPlugin.d.ts.map +1 -1
- package/dist/markdown/client/ProseMirrorEditor/plugins/ttsHighlightPlugin.js +7 -1
- package/dist/markdown/client/ProseMirrorEditor/plugins/ttsHighlightPlugin.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/auth/cloudflareOauth.ts +26 -0
- package/src/cli/serverLogQueryApi.ts +4 -19
- package/src/cli/telemetryAuth.ts +55 -0
- package/src/cli/telemetryD1.ts +4 -25
- package/src/cli/version.ts +1 -1
- package/src/markdown/client/ProseMirrorEditor/plugins/ttsHighlightPlugin.ts +7 -1
|
@@ -43,4 +43,14 @@ export declare function refreshCloudflareToken(refreshToken: string): Promise<{
|
|
|
43
43
|
* or the refresh has failed.
|
|
44
44
|
*/
|
|
45
45
|
export declare function getFreshCloudflareCredentials(): Promise<CloudflareCredentials | undefined>;
|
|
46
|
+
/**
|
|
47
|
+
* FORCE a token refresh (ignoring the local `expiresAt`) and persist the result.
|
|
48
|
+
* For callers that hit a real 401 despite a locally-"valid" token — the cached
|
|
49
|
+
* `expiresAt` can lie (revoked token, or a mis-computed expiry). Persisting is
|
|
50
|
+
* mandatory: Cloudflare rotates refresh tokens (single-use), so a refresh that
|
|
51
|
+
* doesn't save the NEW refresh token burns the session on the next call.
|
|
52
|
+
* Returns `undefined` if there's no session or the refresh token is dead
|
|
53
|
+
* (caller must prompt re-login).
|
|
54
|
+
*/
|
|
55
|
+
export declare function forceRefreshCloudflareCredentials(): Promise<CloudflareCredentials | undefined>;
|
|
46
56
|
//# sourceMappingURL=cloudflareOauth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflareOauth.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/cloudflareOauth.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAyE1B,MAAM,WAAW,yBAAyB;IACxC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA8DhC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAiBxF;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAehG"}
|
|
1
|
+
{"version":3,"file":"cloudflareOauth.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/cloudflareOauth.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAyE1B,MAAM,WAAW,yBAAyB;IACxC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA8DhC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAiBxF;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAehG;AAED;;;;;;;;GAQG;AACH,wBAAsB,iCAAiC,IAAI,OAAO,CAChE,qBAAqB,GAAG,SAAS,CAClC,CAaA"}
|
|
@@ -182,6 +182,31 @@ export async function getFreshCloudflareCredentials() {
|
|
|
182
182
|
await setCloudflareCredentials(next);
|
|
183
183
|
return next;
|
|
184
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* FORCE a token refresh (ignoring the local `expiresAt`) and persist the result.
|
|
187
|
+
* For callers that hit a real 401 despite a locally-"valid" token — the cached
|
|
188
|
+
* `expiresAt` can lie (revoked token, or a mis-computed expiry). Persisting is
|
|
189
|
+
* mandatory: Cloudflare rotates refresh tokens (single-use), so a refresh that
|
|
190
|
+
* doesn't save the NEW refresh token burns the session on the next call.
|
|
191
|
+
* Returns `undefined` if there's no session or the refresh token is dead
|
|
192
|
+
* (caller must prompt re-login).
|
|
193
|
+
*/
|
|
194
|
+
export async function forceRefreshCloudflareCredentials() {
|
|
195
|
+
const creds = await getCloudflareCredentials();
|
|
196
|
+
if (!creds?.refreshToken)
|
|
197
|
+
return undefined;
|
|
198
|
+
const refreshed = await refreshCloudflareToken(creds.refreshToken);
|
|
199
|
+
if (!refreshed)
|
|
200
|
+
return undefined;
|
|
201
|
+
const next = {
|
|
202
|
+
...creds,
|
|
203
|
+
accessToken: refreshed.accessToken,
|
|
204
|
+
refreshToken: refreshed.refreshToken,
|
|
205
|
+
expiresAt: refreshed.expiresAt,
|
|
206
|
+
};
|
|
207
|
+
await setCloudflareCredentials(next);
|
|
208
|
+
return next;
|
|
209
|
+
}
|
|
185
210
|
async function selectAccount(accessToken, preferred) {
|
|
186
211
|
// Try to fetch user email + accounts in parallel; tolerate either failing.
|
|
187
212
|
const [userRes, accountsRes] = await Promise.all([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflareOauth.js","sourceRoot":"","sources":["../../../src/cli/auth/cloudflareOauth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloudflareOauth.js","sourceRoot":"","sources":["../../../src/cli/auth/cloudflareOauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverLogQueryApi.d.ts","sourceRoot":"","sources":["../../src/cli/serverLogQueryApi.ts"],"names":[],"mappings":"AASA,KAAK,eAAe,GAChB,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,WAAW,GACX,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"serverLogQueryApi.d.ts","sourceRoot":"","sources":["../../src/cli/serverLogQueryApi.ts"],"names":[],"mappings":"AASA,KAAK,eAAe,GAChB,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,WAAW,GACX,UAAU,CAAC;AA0Of;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,OAAO,CAAC,IAAI,CAAC,CAyDf"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { pgQuery } from '../server/Pg.js';
|
|
2
2
|
import { closePool, configurePg, initPg } from '../server/NodePool.js';
|
|
3
3
|
import { resolveProdNeonConnectionString, resolveProdTelemetryD1, } from './prodDb.js';
|
|
4
|
-
import {
|
|
4
|
+
import { cloudflareD1Fetch } from './telemetryAuth.js';
|
|
5
5
|
const CLOUDFLARE_API_BASE = 'https://api.cloudflare.com/client/v4';
|
|
6
6
|
/**
|
|
7
7
|
* Run a read query against the project's Cloudflare D1 telemetry DB and return
|
|
@@ -11,11 +11,6 @@ const CLOUDFLARE_API_BASE = 'https://api.cloudflare.com/client/v4';
|
|
|
11
11
|
*/
|
|
12
12
|
async function queryTelemetryD1(collection, options) {
|
|
13
13
|
const d1 = resolveProdTelemetryD1();
|
|
14
|
-
const token = (await getSecret(`cloudflare:token:${d1.projectId}`)) ??
|
|
15
|
-
(await getSecret(`cloudflare:access-token:${d1.projectId}`));
|
|
16
|
-
if (!token) {
|
|
17
|
-
throw new Error(`No Cloudflare token for project "${d1.projectId}". Re-authenticate: \`ugly-app publish\`.`);
|
|
18
|
-
}
|
|
19
14
|
const params = [];
|
|
20
15
|
let sql;
|
|
21
16
|
if (collection === 'errorLog') {
|
|
@@ -39,15 +34,7 @@ async function queryTelemetryD1(collection, options) {
|
|
|
39
34
|
params.push(options.limit);
|
|
40
35
|
sql = `SELECT * FROM feedback_report ORDER BY created DESC LIMIT ?`;
|
|
41
36
|
}
|
|
42
|
-
const res = await
|
|
43
|
-
method: 'POST',
|
|
44
|
-
headers: {
|
|
45
|
-
Authorization: `Bearer ${token}`,
|
|
46
|
-
'Content-Type': 'application/json',
|
|
47
|
-
Accept: 'application/json',
|
|
48
|
-
},
|
|
49
|
-
body: JSON.stringify({ sql, params }),
|
|
50
|
-
});
|
|
37
|
+
const res = await cloudflareD1Fetch(d1.projectId, `${CLOUDFLARE_API_BASE}/accounts/${d1.accountId}/d1/database/${d1.databaseId}/query`, { method: 'POST', body: JSON.stringify({ sql, params }) });
|
|
51
38
|
if (!res.ok) {
|
|
52
39
|
const body = await res.text().catch(() => '');
|
|
53
40
|
// A missing table (no telemetry written yet) reads as empty, not an error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverLogQueryApi.js","sourceRoot":"","sources":["../../src/cli/serverLogQueryApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serverLogQueryApi.js","sourceRoot":"","sources":["../../src/cli/serverLogQueryApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetch against the Cloudflare API with a token that self-heals on auth failure.
|
|
3
|
+
*
|
|
4
|
+
* The stored Cloudflare OAuth access token (`cfoat_…`) is short-lived, and the
|
|
5
|
+
* cached `expiresAt` can lie (a token can be revoked, or the expiry was
|
|
6
|
+
* mis-computed) — so `getFreshCloudflareCredentials()`, which only refreshes when
|
|
7
|
+
* the LOCAL clock says the token is near expiry, will happily hand back a dead
|
|
8
|
+
* token. The telemetry query path used to take that token raw and 401 forever
|
|
9
|
+
* until the next `ugly-app publish` re-minted it. This wrapper instead refreshes
|
|
10
|
+
* and retries once on an actual 401/403, so `ugly-app errors`/`feedback`/`perf`
|
|
11
|
+
* keep working without a re-publish.
|
|
12
|
+
*/
|
|
13
|
+
export declare function cloudflareD1Fetch(projectId: string, url: string, init: {
|
|
14
|
+
method: string;
|
|
15
|
+
body: string;
|
|
16
|
+
}): Promise<Response>;
|
|
17
|
+
//# sourceMappingURL=telemetryAuth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetryAuth.d.ts","sourceRoot":"","sources":["../../src/cli/telemetryAuth.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC,OAAO,CAAC,QAAQ,CAAC,CAgCnB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { getFreshCloudflareCredentials, forceRefreshCloudflareCredentials, } from './auth/cloudflareOauth.js';
|
|
2
|
+
import { getSecret } from './publish/secret-storage.js';
|
|
3
|
+
/**
|
|
4
|
+
* Fetch against the Cloudflare API with a token that self-heals on auth failure.
|
|
5
|
+
*
|
|
6
|
+
* The stored Cloudflare OAuth access token (`cfoat_…`) is short-lived, and the
|
|
7
|
+
* cached `expiresAt` can lie (a token can be revoked, or the expiry was
|
|
8
|
+
* mis-computed) — so `getFreshCloudflareCredentials()`, which only refreshes when
|
|
9
|
+
* the LOCAL clock says the token is near expiry, will happily hand back a dead
|
|
10
|
+
* token. The telemetry query path used to take that token raw and 401 forever
|
|
11
|
+
* until the next `ugly-app publish` re-minted it. This wrapper instead refreshes
|
|
12
|
+
* and retries once on an actual 401/403, so `ugly-app errors`/`feedback`/`perf`
|
|
13
|
+
* keep working without a re-publish.
|
|
14
|
+
*/
|
|
15
|
+
export async function cloudflareD1Fetch(projectId, url, init) {
|
|
16
|
+
const creds = await getFreshCloudflareCredentials();
|
|
17
|
+
const token = creds?.accessToken ??
|
|
18
|
+
(await getSecret(`cloudflare:token:${projectId}`)) ??
|
|
19
|
+
(await getSecret(`cloudflare:access-token:${projectId}`));
|
|
20
|
+
if (!token) {
|
|
21
|
+
throw new Error(`No Cloudflare token for project "${projectId}". Re-authenticate: \`ugly-app login cloudflare\` (or \`ugly-app publish\`).`);
|
|
22
|
+
}
|
|
23
|
+
const send = (t) => globalThis.fetch(url, {
|
|
24
|
+
method: init.method,
|
|
25
|
+
headers: {
|
|
26
|
+
Authorization: `Bearer ${t}`,
|
|
27
|
+
'Content-Type': 'application/json',
|
|
28
|
+
Accept: 'application/json',
|
|
29
|
+
},
|
|
30
|
+
body: init.body,
|
|
31
|
+
});
|
|
32
|
+
let res = await send(token);
|
|
33
|
+
// The cached token's local expiry can't be trusted — force a refresh on a REAL
|
|
34
|
+
// auth failure and retry once. forceRefresh PERSISTS the rotated refresh token
|
|
35
|
+
// (Cloudflare rotates them single-use), so it doesn't burn the session. This is
|
|
36
|
+
// the fix for the "works right after publish, 401s an hour later" flaw.
|
|
37
|
+
if (res.status === 401 || res.status === 403) {
|
|
38
|
+
const refreshed = await forceRefreshCloudflareCredentials();
|
|
39
|
+
if (refreshed?.accessToken)
|
|
40
|
+
res = await send(refreshed.accessToken);
|
|
41
|
+
}
|
|
42
|
+
return res;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=telemetryAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetryAuth.js","sourceRoot":"","sources":["../../src/cli/telemetryAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,GAAW,EACX,IAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,6BAA6B,EAAE,CAAC;IACpD,MAAM,KAAK,GACT,KAAK,EAAE,WAAW;QAClB,CAAC,MAAM,SAAS,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;QAClD,CAAC,MAAM,SAAS,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,8EAA8E,CAC5H,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAqB,EAAE,CAC5C,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;QACpB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,CAAC,EAAE;YAC5B,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;SAC3B;QACD,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;IAEL,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,wEAAwE;IACxE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,iCAAiC,EAAE,CAAC;QAC5D,IAAI,SAAS,EAAE,WAAW;YAAE,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetryD1.d.ts","sourceRoot":"","sources":["../../src/cli/telemetryD1.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnC,kFAAkF;IAClF,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9E;
|
|
1
|
+
{"version":3,"file":"telemetryD1.d.ts","sourceRoot":"","sources":["../../src/cli/telemetryD1.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnC,kFAAkF;IAClF,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9E;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAO,EAAO,EACtB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,YAAY,CAAC,CAmBvB"}
|
package/dist/cli/telemetryD1.js
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cloudflareD1Fetch } from './telemetryAuth.js';
|
|
2
2
|
import { resolveProdTelemetryD1, } from './prodDb.js';
|
|
3
3
|
const CLOUDFLARE_API_BASE = 'https://api.cloudflare.com/client/v4';
|
|
4
|
-
/** Resolve the Cloudflare API token for a project's D1 (same lookup the read path uses). */
|
|
5
|
-
async function resolveD1Token(d1) {
|
|
6
|
-
const token = (await getSecret(`cloudflare:token:${d1.projectId}`)) ??
|
|
7
|
-
(await getSecret(`cloudflare:access-token:${d1.projectId}`));
|
|
8
|
-
if (!token) {
|
|
9
|
-
throw new Error(`No Cloudflare token for project "${d1.projectId}". Re-authenticate: \`ugly-app publish\`.`);
|
|
10
|
-
}
|
|
11
|
-
return token;
|
|
12
|
-
}
|
|
13
4
|
/**
|
|
14
5
|
* Run a single SQL statement (read OR write) against the project's PRODUCTION
|
|
15
6
|
* Cloudflare D1 telemetry DB (errorLog / feedbackReport / …) via the HTTP API.
|
|
@@ -20,16 +11,7 @@ async function resolveD1Token(d1) {
|
|
|
20
11
|
*/
|
|
21
12
|
export async function execTelemetryD1(sql, params = [], opts = {}) {
|
|
22
13
|
const d1 = resolveProdTelemetryD1(opts);
|
|
23
|
-
const
|
|
24
|
-
const res = await globalThis.fetch(`${CLOUDFLARE_API_BASE}/accounts/${d1.accountId}/d1/database/${d1.databaseId}/query`, {
|
|
25
|
-
method: 'POST',
|
|
26
|
-
headers: {
|
|
27
|
-
Authorization: `Bearer ${token}`,
|
|
28
|
-
'Content-Type': 'application/json',
|
|
29
|
-
Accept: 'application/json',
|
|
30
|
-
},
|
|
31
|
-
body: JSON.stringify({ sql, params }),
|
|
32
|
-
});
|
|
14
|
+
const res = await cloudflareD1Fetch(d1.projectId, `${CLOUDFLARE_API_BASE}/accounts/${d1.accountId}/d1/database/${d1.databaseId}/query`, { method: 'POST', body: JSON.stringify({ sql, params }) });
|
|
33
15
|
if (!res.ok) {
|
|
34
16
|
const body = await res.text().catch(() => '');
|
|
35
17
|
throw new Error(`D1 query failed (${res.status}): ${body.slice(0, 200)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetryD1.js","sourceRoot":"","sources":["../../src/cli/telemetryD1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"telemetryD1.js","sourceRoot":"","sources":["../../src/cli/telemetryD1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,sBAAsB,GAGvB,MAAM,aAAa,CAAC;AAErB,MAAM,mBAAmB,GAAG,sCAAsC,CAAC;AAQnE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAW,EACX,SAAoB,EAAE,EACtB,OAA8B,EAAE;IAEhC,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,iBAAiB,CACjC,EAAE,CAAC,SAAS,EACZ,GAAG,mBAAmB,aAAa,EAAE,CAAC,SAAS,gBAAgB,EAAE,CAAC,UAAU,QAAQ,EACpF,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAC1D,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAKhC,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;AACtE,CAAC"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.766";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ttsHighlightPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/markdown/client/ProseMirrorEditor/plugins/ttsHighlightPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,eAAe;WAA0B,MAAM,GAAG,IAAI;EAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ttsHighlightPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/markdown/client/ProseMirrorEditor/plugins/ttsHighlightPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,eAAe;WAA0B,MAAM,GAAG,IAAI;EAAmB,CAAC;AA4CvF,wBAAgB,wBAAwB,IAAI,MAAM,CA0BjD"}
|
|
@@ -30,7 +30,13 @@ function posForOffset(doc, target) {
|
|
|
30
30
|
return;
|
|
31
31
|
if (node.isText) {
|
|
32
32
|
const len = (node.text ?? '').length;
|
|
33
|
-
|
|
33
|
+
// `<= flat + len` (not `<`) so an offset landing exactly on a block
|
|
34
|
+
// separator — the trailing '\n' after this text, which sits BETWEEN text
|
|
35
|
+
// nodes — maps to the end of this text rather than returning null. Without
|
|
36
|
+
// it, a reveal offset at a paragraph boundary (the common case: the cursor
|
|
37
|
+
// sits at `paragraphStart + paragraphLength` after a whole-paragraph line)
|
|
38
|
+
// dims nothing.
|
|
39
|
+
if (target >= flat && target <= flat + len) {
|
|
34
40
|
found = pos + (target - flat);
|
|
35
41
|
}
|
|
36
42
|
flat += len;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ttsHighlightPlugin.js","sourceRoot":"","sources":["../../../../../src/markdown/client/ProseMirrorEditor/plugins/ttsHighlightPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG7D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,SAAS,CAA2B,cAAc,CAAC,CAAC;AAEvF,2EAA2E;AAC3E,iFAAiF;AACjF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhE;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,MAAc;IAC/C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAkB,IAAI,CAAC;IAEhC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,GAAW,EAAQ,EAAE;QAC/C,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACrC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"ttsHighlightPlugin.js","sourceRoot":"","sources":["../../../../../src/markdown/client/ProseMirrorEditor/plugins/ttsHighlightPlugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.766",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
|
|
6
6
|
"files": [
|
|
@@ -229,6 +229,32 @@ export async function getFreshCloudflareCredentials(): Promise<CloudflareCredent
|
|
|
229
229
|
return next;
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
+
/**
|
|
233
|
+
* FORCE a token refresh (ignoring the local `expiresAt`) and persist the result.
|
|
234
|
+
* For callers that hit a real 401 despite a locally-"valid" token — the cached
|
|
235
|
+
* `expiresAt` can lie (revoked token, or a mis-computed expiry). Persisting is
|
|
236
|
+
* mandatory: Cloudflare rotates refresh tokens (single-use), so a refresh that
|
|
237
|
+
* doesn't save the NEW refresh token burns the session on the next call.
|
|
238
|
+
* Returns `undefined` if there's no session or the refresh token is dead
|
|
239
|
+
* (caller must prompt re-login).
|
|
240
|
+
*/
|
|
241
|
+
export async function forceRefreshCloudflareCredentials(): Promise<
|
|
242
|
+
CloudflareCredentials | undefined
|
|
243
|
+
> {
|
|
244
|
+
const creds = await getCloudflareCredentials();
|
|
245
|
+
if (!creds?.refreshToken) return undefined;
|
|
246
|
+
const refreshed = await refreshCloudflareToken(creds.refreshToken);
|
|
247
|
+
if (!refreshed) return undefined;
|
|
248
|
+
const next: CloudflareCredentials = {
|
|
249
|
+
...creds,
|
|
250
|
+
accessToken: refreshed.accessToken,
|
|
251
|
+
refreshToken: refreshed.refreshToken,
|
|
252
|
+
expiresAt: refreshed.expiresAt,
|
|
253
|
+
};
|
|
254
|
+
await setCloudflareCredentials(next);
|
|
255
|
+
return next;
|
|
256
|
+
}
|
|
257
|
+
|
|
232
258
|
interface CfAccount {
|
|
233
259
|
id: string;
|
|
234
260
|
name: string;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
resolveProdTelemetryD1,
|
|
6
6
|
type ProdTelemetryD1,
|
|
7
7
|
} from './prodDb.js';
|
|
8
|
-
import {
|
|
8
|
+
import { cloudflareD1Fetch } from './telemetryAuth.js';
|
|
9
9
|
|
|
10
10
|
type AdminCollection =
|
|
11
11
|
| 'errorLog'
|
|
@@ -27,14 +27,6 @@ async function queryTelemetryD1(
|
|
|
27
27
|
options: { limit: number; level?: string },
|
|
28
28
|
): Promise<Record<string, unknown>[]> {
|
|
29
29
|
const d1: ProdTelemetryD1 = resolveProdTelemetryD1();
|
|
30
|
-
const token =
|
|
31
|
-
(await getSecret(`cloudflare:token:${d1.projectId}`)) ??
|
|
32
|
-
(await getSecret(`cloudflare:access-token:${d1.projectId}`));
|
|
33
|
-
if (!token) {
|
|
34
|
-
throw new Error(
|
|
35
|
-
`No Cloudflare token for project "${d1.projectId}". Re-authenticate: \`ugly-app publish\`.`,
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
30
|
|
|
39
31
|
const params: unknown[] = [];
|
|
40
32
|
let sql: string;
|
|
@@ -57,17 +49,10 @@ async function queryTelemetryD1(
|
|
|
57
49
|
sql = `SELECT * FROM feedback_report ORDER BY created DESC LIMIT ?`;
|
|
58
50
|
}
|
|
59
51
|
|
|
60
|
-
const res = await
|
|
52
|
+
const res = await cloudflareD1Fetch(
|
|
53
|
+
d1.projectId,
|
|
61
54
|
`${CLOUDFLARE_API_BASE}/accounts/${d1.accountId}/d1/database/${d1.databaseId}/query`,
|
|
62
|
-
{
|
|
63
|
-
method: 'POST',
|
|
64
|
-
headers: {
|
|
65
|
-
Authorization: `Bearer ${token}`,
|
|
66
|
-
'Content-Type': 'application/json',
|
|
67
|
-
Accept: 'application/json',
|
|
68
|
-
},
|
|
69
|
-
body: JSON.stringify({ sql, params }),
|
|
70
|
-
},
|
|
55
|
+
{ method: 'POST', body: JSON.stringify({ sql, params }) },
|
|
71
56
|
);
|
|
72
57
|
if (!res.ok) {
|
|
73
58
|
const body = await res.text().catch(() => '');
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getFreshCloudflareCredentials,
|
|
3
|
+
forceRefreshCloudflareCredentials,
|
|
4
|
+
} from './auth/cloudflareOauth.js';
|
|
5
|
+
import { getSecret } from './publish/secret-storage.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Fetch against the Cloudflare API with a token that self-heals on auth failure.
|
|
9
|
+
*
|
|
10
|
+
* The stored Cloudflare OAuth access token (`cfoat_…`) is short-lived, and the
|
|
11
|
+
* cached `expiresAt` can lie (a token can be revoked, or the expiry was
|
|
12
|
+
* mis-computed) — so `getFreshCloudflareCredentials()`, which only refreshes when
|
|
13
|
+
* the LOCAL clock says the token is near expiry, will happily hand back a dead
|
|
14
|
+
* token. The telemetry query path used to take that token raw and 401 forever
|
|
15
|
+
* until the next `ugly-app publish` re-minted it. This wrapper instead refreshes
|
|
16
|
+
* and retries once on an actual 401/403, so `ugly-app errors`/`feedback`/`perf`
|
|
17
|
+
* keep working without a re-publish.
|
|
18
|
+
*/
|
|
19
|
+
export async function cloudflareD1Fetch(
|
|
20
|
+
projectId: string,
|
|
21
|
+
url: string,
|
|
22
|
+
init: { method: string; body: string },
|
|
23
|
+
): Promise<Response> {
|
|
24
|
+
const creds = await getFreshCloudflareCredentials();
|
|
25
|
+
const token =
|
|
26
|
+
creds?.accessToken ??
|
|
27
|
+
(await getSecret(`cloudflare:token:${projectId}`)) ??
|
|
28
|
+
(await getSecret(`cloudflare:access-token:${projectId}`));
|
|
29
|
+
if (!token) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`No Cloudflare token for project "${projectId}". Re-authenticate: \`ugly-app login cloudflare\` (or \`ugly-app publish\`).`,
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
const send = (t: string): Promise<Response> =>
|
|
35
|
+
globalThis.fetch(url, {
|
|
36
|
+
method: init.method,
|
|
37
|
+
headers: {
|
|
38
|
+
Authorization: `Bearer ${t}`,
|
|
39
|
+
'Content-Type': 'application/json',
|
|
40
|
+
Accept: 'application/json',
|
|
41
|
+
},
|
|
42
|
+
body: init.body,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
let res = await send(token);
|
|
46
|
+
// The cached token's local expiry can't be trusted — force a refresh on a REAL
|
|
47
|
+
// auth failure and retry once. forceRefresh PERSISTS the rotated refresh token
|
|
48
|
+
// (Cloudflare rotates them single-use), so it doesn't burn the session. This is
|
|
49
|
+
// the fix for the "works right after publish, 401s an hour later" flaw.
|
|
50
|
+
if (res.status === 401 || res.status === 403) {
|
|
51
|
+
const refreshed = await forceRefreshCloudflareCredentials();
|
|
52
|
+
if (refreshed?.accessToken) res = await send(refreshed.accessToken);
|
|
53
|
+
}
|
|
54
|
+
return res;
|
|
55
|
+
}
|
package/src/cli/telemetryD1.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cloudflareD1Fetch } from './telemetryAuth.js';
|
|
2
2
|
import {
|
|
3
3
|
resolveProdTelemetryD1,
|
|
4
4
|
type ProdNeonLookupOptions,
|
|
@@ -13,19 +13,6 @@ export interface D1ExecResult {
|
|
|
13
13
|
meta: { changes?: number; rows_written?: number; rows_read?: number } | null;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
/** Resolve the Cloudflare API token for a project's D1 (same lookup the read path uses). */
|
|
17
|
-
async function resolveD1Token(d1: ProdTelemetryD1): Promise<string> {
|
|
18
|
-
const token =
|
|
19
|
-
(await getSecret(`cloudflare:token:${d1.projectId}`)) ??
|
|
20
|
-
(await getSecret(`cloudflare:access-token:${d1.projectId}`));
|
|
21
|
-
if (!token) {
|
|
22
|
-
throw new Error(
|
|
23
|
-
`No Cloudflare token for project "${d1.projectId}". Re-authenticate: \`ugly-app publish\`.`,
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
return token;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
16
|
/**
|
|
30
17
|
* Run a single SQL statement (read OR write) against the project's PRODUCTION
|
|
31
18
|
* Cloudflare D1 telemetry DB (errorLog / feedbackReport / …) via the HTTP API.
|
|
@@ -40,18 +27,10 @@ export async function execTelemetryD1(
|
|
|
40
27
|
opts: ProdNeonLookupOptions = {},
|
|
41
28
|
): Promise<D1ExecResult> {
|
|
42
29
|
const d1 = resolveProdTelemetryD1(opts);
|
|
43
|
-
const
|
|
44
|
-
|
|
30
|
+
const res = await cloudflareD1Fetch(
|
|
31
|
+
d1.projectId,
|
|
45
32
|
`${CLOUDFLARE_API_BASE}/accounts/${d1.accountId}/d1/database/${d1.databaseId}/query`,
|
|
46
|
-
{
|
|
47
|
-
method: 'POST',
|
|
48
|
-
headers: {
|
|
49
|
-
Authorization: `Bearer ${token}`,
|
|
50
|
-
'Content-Type': 'application/json',
|
|
51
|
-
Accept: 'application/json',
|
|
52
|
-
},
|
|
53
|
-
body: JSON.stringify({ sql, params }),
|
|
54
|
-
},
|
|
33
|
+
{ method: 'POST', body: JSON.stringify({ sql, params }) },
|
|
55
34
|
);
|
|
56
35
|
if (!res.ok) {
|
|
57
36
|
const body = await res.text().catch(() => '');
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.766";
|
|
@@ -34,7 +34,13 @@ function posForOffset(doc: PMNode, target: number): number | null {
|
|
|
34
34
|
if (found != null) return;
|
|
35
35
|
if (node.isText) {
|
|
36
36
|
const len = (node.text ?? '').length;
|
|
37
|
-
|
|
37
|
+
// `<= flat + len` (not `<`) so an offset landing exactly on a block
|
|
38
|
+
// separator — the trailing '\n' after this text, which sits BETWEEN text
|
|
39
|
+
// nodes — maps to the end of this text rather than returning null. Without
|
|
40
|
+
// it, a reveal offset at a paragraph boundary (the common case: the cursor
|
|
41
|
+
// sits at `paragraphStart + paragraphLength` after a whole-paragraph line)
|
|
42
|
+
// dims nothing.
|
|
43
|
+
if (target >= flat && target <= flat + len) {
|
|
38
44
|
found = pos + (target - flat);
|
|
39
45
|
}
|
|
40
46
|
flat += len;
|