jamdesk 1.1.2 → 1.1.4

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.
Files changed (78) hide show
  1. package/dist/__tests__/unit/deploy.test.js +49 -4
  2. package/dist/__tests__/unit/deploy.test.js.map +1 -1
  3. package/dist/__tests__/unit/vendored-sync.test.js +24 -1
  4. package/dist/__tests__/unit/vendored-sync.test.js.map +1 -1
  5. package/dist/commands/deploy.d.ts.map +1 -1
  6. package/dist/commands/deploy.js +17 -1
  7. package/dist/commands/deploy.js.map +1 -1
  8. package/dist/lib/deps.js +1 -1
  9. package/package.json +5 -5
  10. package/vendored/app/api/assets/[...path]/route.ts +6 -3
  11. package/vendored/lib/revalidation-trigger.ts +49 -1
  12. package/vendored/public/_jd/branding/favicon.svg +3 -0
  13. package/vendored/public/_jd/branding/icon-dark.svg +12 -0
  14. package/vendored/public/_jd/branding/icon.svg +12 -0
  15. package/vendored/public/_jd/branding/jamdesk-wordmark-hover.svg +10 -0
  16. package/vendored/public/_jd/branding/jamdesk-wordmark.svg +10 -0
  17. package/vendored/public/_jd/fonts/fontawesome/css/all.css +21849 -0
  18. package/vendored/public/_jd/fonts/fontawesome/css/all.min.css +9 -0
  19. package/vendored/public/_jd/fonts/fontawesome/css/brands.css +2227 -0
  20. package/vendored/public/_jd/fonts/fontawesome/css/brands.min.css +6 -0
  21. package/vendored/public/_jd/fonts/fontawesome/css/duotone-light.css +71 -0
  22. package/vendored/public/_jd/fonts/fontawesome/css/duotone-light.min.css +6 -0
  23. package/vendored/public/_jd/fonts/fontawesome/css/duotone-regular.css +71 -0
  24. package/vendored/public/_jd/fonts/fontawesome/css/duotone-regular.min.css +6 -0
  25. package/vendored/public/_jd/fonts/fontawesome/css/duotone-thin.css +71 -0
  26. package/vendored/public/_jd/fonts/fontawesome/css/duotone-thin.min.css +6 -0
  27. package/vendored/public/_jd/fonts/fontawesome/css/duotone.css +62 -0
  28. package/vendored/public/_jd/fonts/fontawesome/css/duotone.min.css +6 -0
  29. package/vendored/public/_jd/fonts/fontawesome/css/fontawesome.css +19421 -0
  30. package/vendored/public/_jd/fonts/fontawesome/css/fontawesome.min.css +8 -0
  31. package/vendored/public/_jd/fonts/fontawesome/css/light.css +31 -0
  32. package/vendored/public/_jd/fonts/fontawesome/css/light.min.css +6 -0
  33. package/vendored/public/_jd/fonts/fontawesome/css/regular.css +31 -0
  34. package/vendored/public/_jd/fonts/fontawesome/css/regular.min.css +6 -0
  35. package/vendored/public/_jd/fonts/fontawesome/css/sharp-duotone-light.css +71 -0
  36. package/vendored/public/_jd/fonts/fontawesome/css/sharp-duotone-light.min.css +6 -0
  37. package/vendored/public/_jd/fonts/fontawesome/css/sharp-duotone-regular.css +71 -0
  38. package/vendored/public/_jd/fonts/fontawesome/css/sharp-duotone-regular.min.css +6 -0
  39. package/vendored/public/_jd/fonts/fontawesome/css/sharp-duotone-solid.css +71 -0
  40. package/vendored/public/_jd/fonts/fontawesome/css/sharp-duotone-solid.min.css +6 -0
  41. package/vendored/public/_jd/fonts/fontawesome/css/sharp-duotone-thin.css +71 -0
  42. package/vendored/public/_jd/fonts/fontawesome/css/sharp-duotone-thin.min.css +6 -0
  43. package/vendored/public/_jd/fonts/fontawesome/css/sharp-light.css +31 -0
  44. package/vendored/public/_jd/fonts/fontawesome/css/sharp-light.min.css +6 -0
  45. package/vendored/public/_jd/fonts/fontawesome/css/sharp-regular.css +31 -0
  46. package/vendored/public/_jd/fonts/fontawesome/css/sharp-regular.min.css +6 -0
  47. package/vendored/public/_jd/fonts/fontawesome/css/sharp-solid.css +31 -0
  48. package/vendored/public/_jd/fonts/fontawesome/css/sharp-solid.min.css +6 -0
  49. package/vendored/public/_jd/fonts/fontawesome/css/sharp-thin.css +31 -0
  50. package/vendored/public/_jd/fonts/fontawesome/css/sharp-thin.min.css +6 -0
  51. package/vendored/public/_jd/fonts/fontawesome/css/solid.css +31 -0
  52. package/vendored/public/_jd/fonts/fontawesome/css/solid.min.css +6 -0
  53. package/vendored/public/_jd/fonts/fontawesome/css/svg-with-js.css +556 -0
  54. package/vendored/public/_jd/fonts/fontawesome/css/svg-with-js.min.css +6 -0
  55. package/vendored/public/_jd/fonts/fontawesome/css/svg.css +182 -0
  56. package/vendored/public/_jd/fonts/fontawesome/css/svg.min.css +6 -0
  57. package/vendored/public/_jd/fonts/fontawesome/css/thin.css +31 -0
  58. package/vendored/public/_jd/fonts/fontawesome/css/thin.min.css +6 -0
  59. package/vendored/public/_jd/fonts/fontawesome/css/v4-font-face.css +27 -0
  60. package/vendored/public/_jd/fonts/fontawesome/css/v4-font-face.min.css +6 -0
  61. package/vendored/public/_jd/fonts/fontawesome/css/v4-shims.css +2818 -0
  62. package/vendored/public/_jd/fonts/fontawesome/css/v4-shims.min.css +6 -0
  63. package/vendored/public/_jd/fonts/fontawesome/css/v5-font-face.css +35 -0
  64. package/vendored/public/_jd/fonts/fontawesome/css/v5-font-face.min.css +6 -0
  65. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  66. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-duotone-900.woff2 +0 -0
  67. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-duotone-light-300.woff2 +0 -0
  68. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-duotone-regular-400.woff2 +0 -0
  69. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-duotone-thin-100.woff2 +0 -0
  70. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-light-300.woff2 +0 -0
  71. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  72. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  73. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-thin-100.woff2 +0 -0
  74. package/vendored/public/_jd/fonts/fontawesome/webfonts/fa-v4compatibility.woff2 +0 -0
  75. package/vendored/components/snippets/generated/CodeLink.tsx +0 -25
  76. package/vendored/components/snippets/generated/HeaderAPI.tsx +0 -44
  77. package/vendored/components/snippets/generated/PlansAvailable.tsx +0 -53
  78. package/vendored/components/snippets/generated/SnippetIntro.tsx +0 -43
@@ -92,14 +92,14 @@ function mockDeployApiChain(projects, opts = {}) {
92
92
  const tarballKey = opts.tarballKey ?? `cli-uploads/${projects[0]?.projectId}/build.tar.gz`;
93
93
  mockApiCall
94
94
  .mockResolvedValueOnce(makeJsonResponse({ projects }))
95
- .mockResolvedValueOnce(makeJsonResponse({ uploadUrl: 'https://r2.example.com/upload', tarballKey }))
95
+ .mockResolvedValueOnce(makeJsonResponse({ uploadUrl: 'https://abc123.r2.cloudflarestorage.com/upload', tarballKey }))
96
96
  .mockResolvedValueOnce(makeJsonResponse({ buildId }));
97
97
  mockFetch.mockResolvedValueOnce({ ok: true, status: 200 });
98
98
  }
99
99
  describe('deploy', () => {
100
100
  const originalCwd = process.cwd;
101
101
  beforeEach(() => {
102
- vi.clearAllMocks();
102
+ vi.resetAllMocks();
103
103
  mockWriteProjectId.mockResolvedValue(undefined);
104
104
  mockGetValidToken.mockResolvedValue('test-id-token');
105
105
  mockCollectFiles.mockResolvedValue(['docs.json', 'intro.mdx']);
@@ -154,7 +154,7 @@ describe('deploy', () => {
154
154
  fullRebuild: false,
155
155
  },
156
156
  });
157
- expect(mockFetch).toHaveBeenCalledWith('https://r2.example.com/upload', {
157
+ expect(mockFetch).toHaveBeenCalledWith('https://abc123.r2.cloudflarestorage.com/upload', {
158
158
  method: 'PUT',
159
159
  headers: { 'Content-Type': 'application/gzip' },
160
160
  body: expect.any(Buffer),
@@ -217,7 +217,7 @@ describe('deploy', () => {
217
217
  });
218
218
  mockApiCall
219
219
  .mockResolvedValueOnce(makeJsonResponse({ projects: [ACME_PROJECT] }))
220
- .mockResolvedValueOnce(makeJsonResponse({ uploadUrl: 'https://r2.example.com/upload', tarballKey: 'key' }))
220
+ .mockResolvedValueOnce(makeJsonResponse({ uploadUrl: 'https://abc123.r2.cloudflarestorage.com/upload', tarballKey: 'key' }))
221
221
  .mockResolvedValueOnce(makeJsonResponse({ error: 'Build service temporarily unavailable', errorSuggestion: 'Please try again in a few minutes.' }, 500));
222
222
  mockFetch.mockResolvedValueOnce({ ok: true, status: 200 });
223
223
  const error = await deploy({ detach: true }).catch((e) => e);
@@ -257,6 +257,51 @@ describe('deploy', () => {
257
257
  mockApiCall.mockResolvedValueOnce(makeJsonResponse({ projects: [ACME_PROJECT] }));
258
258
  await expect(deploy({ detach: true, project: 'nonexistent-id' })).rejects.toThrow("Project nonexistent-id not found or you don't have access");
259
259
  });
260
+ describe('upload URL validation', () => {
261
+ function setupForUploadTest(uploadUrl) {
262
+ setupAuthenticatedSession({
263
+ name: 'Test Docs',
264
+ navigation: { groups: [] },
265
+ projectId: 'proj-1',
266
+ });
267
+ mockApiCall
268
+ .mockResolvedValueOnce(makeJsonResponse({ projects: [ACME_PROJECT] }))
269
+ .mockResolvedValueOnce(makeJsonResponse({ uploadUrl, tarballKey: 'key' }))
270
+ .mockResolvedValueOnce(makeJsonResponse({ buildId: 'build-1' }));
271
+ mockFetch.mockResolvedValueOnce({ ok: true, status: 200 });
272
+ }
273
+ it('accepts valid R2 presigned URL', async () => {
274
+ setupForUploadTest('https://abc123.r2.cloudflarestorage.com/bucket/key?X-Amz-Signature=abc');
275
+ await deploy({ detach: true });
276
+ expect(mockFetch).toHaveBeenCalledWith('https://abc123.r2.cloudflarestorage.com/bucket/key?X-Amz-Signature=abc', expect.objectContaining({ method: 'PUT' }));
277
+ });
278
+ it('rejects HTTP (non-HTTPS) upload URL', async () => {
279
+ setupForUploadTest('http://abc123.r2.cloudflarestorage.com/bucket/key');
280
+ const error = await deploy({ detach: true }).catch((e) => e);
281
+ expect(error.code).toBe('INVALID_UPLOAD_URL');
282
+ expect(error.message).toContain('untrusted');
283
+ });
284
+ it('rejects upload URL with unknown host', async () => {
285
+ setupForUploadTest('https://evil.com/steal-your-docs');
286
+ const error = await deploy({ detach: true }).catch((e) => e);
287
+ expect(error.code).toBe('INVALID_UPLOAD_URL');
288
+ });
289
+ it('rejects upload URL with host that partially matches', async () => {
290
+ setupForUploadTest('https://fake-r2.cloudflarestorage.com.evil.com/bucket/key');
291
+ const error = await deploy({ detach: true }).catch((e) => e);
292
+ expect(error.code).toBe('INVALID_UPLOAD_URL');
293
+ });
294
+ it('rejects non-URL strings', async () => {
295
+ setupForUploadTest('not-a-url');
296
+ const error = await deploy({ detach: true }).catch((e) => e);
297
+ expect(error.code).toBe('INVALID_UPLOAD_URL');
298
+ });
299
+ it('rejects javascript: and data: protocol URLs', async () => {
300
+ setupForUploadTest('javascript:alert(1)');
301
+ const error = await deploy({ detach: true }).catch((e) => e);
302
+ expect(error.code).toBe('INVALID_UPLOAD_URL');
303
+ });
304
+ });
260
305
  it('re-selects when docs.json projectId is stale', async () => {
261
306
  setupAuthenticatedSession({
262
307
  name: 'Test Docs',
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/deploy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/deploy.test.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * When build-service files change, the vendored copies must be updated too,
11
11
  * otherwise `jamdesk dev` will have different behavior than production builds.
12
12
  */
13
- import { describe, it } from 'vitest';
13
+ import { describe, it, expect } from 'vitest';
14
14
  import fs from 'fs-extra';
15
15
  import path from 'path';
16
16
  import { fileURLToPath } from 'url';
@@ -61,6 +61,29 @@ describe('CLI vendored files sync', () => {
61
61
  }
62
62
  });
63
63
  });
64
+ describe('CLI package.json files entries', () => {
65
+ it('should have valid paths for all vendored/public entries', async () => {
66
+ const cliRoot = path.join(__dirname, '../../..');
67
+ const pkg = await fs.readJson(path.join(cliRoot, 'package.json'));
68
+ const publicEntries = pkg.files.filter((f) => f.startsWith('vendored/public/') && f.endsWith('/'));
69
+ expect(publicEntries.length).toBeGreaterThan(0);
70
+ for (const entry of publicEntries) {
71
+ const fullPath = path.join(cliRoot, entry);
72
+ const exists = await fs.pathExists(fullPath);
73
+ if (!exists) {
74
+ throw new Error(`package.json "files" entry does not exist: ${entry}\n\n` +
75
+ `Either the path is wrong or the directory was removed.\n` +
76
+ `Check vendor.js to see where this asset is copied from.`);
77
+ }
78
+ // Verify directory is not empty
79
+ const contents = await fs.readdir(fullPath);
80
+ if (contents.length === 0) {
81
+ throw new Error(`package.json "files" entry is an empty directory: ${entry}\n\n` +
82
+ `Run "npm run vendor" to populate it, or remove the stale entry.`);
83
+ }
84
+ }
85
+ });
86
+ });
64
87
  /**
65
88
  * ISR-only routes that should NOT be vendored.
66
89
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vendored-sync.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/vendored-sync.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vendored-sync.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/vendored-sync.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsBD,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+GvE"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0BD,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkIvE"}
@@ -14,6 +14,9 @@ import { writeProjectIdToDocsJson } from '../lib/docs-json-writer.js';
14
14
  import { CLIError } from '../lib/errors.js';
15
15
  import { output } from '../lib/output.js';
16
16
  const POLL_INTERVAL_MS = 2000;
17
+ // Allowed hostname suffixes for presigned upload URLs.
18
+ // R2 uses <account-id>.r2.cloudflarestorage.com
19
+ const ALLOWED_UPLOAD_HOSTS = ['.r2.cloudflarestorage.com'];
17
20
  // Build phases for CLI deploys (no get_token/clone — those are GitHub-only)
18
21
  const BUILD_PHASES = [
19
22
  { key: 'source', label: 'Extracting uploaded files' },
@@ -69,6 +72,18 @@ export async function deploy(options = {}) {
69
72
  await handleApiError(uploadResponse, 'get upload URL');
70
73
  }
71
74
  const { uploadUrl, tarballKey } = (await uploadResponse.json());
75
+ // Validate upload URL to prevent data exfiltration via compromised backend
76
+ try {
77
+ const parsed = new URL(uploadUrl);
78
+ if (parsed.protocol !== 'https:' ||
79
+ !ALLOWED_UPLOAD_HOSTS.some((suffix) => parsed.hostname.endsWith(suffix))) {
80
+ throw new Error('untrusted host');
81
+ }
82
+ }
83
+ catch {
84
+ spin.fail('Upload failed');
85
+ throw new CLIError('Server returned an untrusted upload URL. Aborting to protect your files.', 'INVALID_UPLOAD_URL', 2, 'If this persists, contact support@jamdesk.com');
86
+ }
72
87
  const putResponse = await fetch(uploadUrl, {
73
88
  method: 'PUT',
74
89
  headers: { 'Content-Type': 'application/gzip' },
@@ -184,7 +199,8 @@ async function pollBuildStatus(projectId, buildId, slug) {
184
199
  try {
185
200
  while (true) {
186
201
  await new Promise((r) => setTimeout(r, POLL_INTERVAL_MS));
187
- const response = await apiCall(`buildStatus?projectId=${projectId}&buildId=${buildId}`);
202
+ const params = new URLSearchParams({ projectId, buildId });
203
+ const response = await apiCall(`buildStatus?${params}`);
188
204
  if (!response.ok) {
189
205
  pollFailures++;
190
206
  if (pollFailures >= MAX_POLL_FAILURES) {
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
package/dist/lib/deps.js CHANGED
@@ -82,7 +82,7 @@ const REQUIRED_DEPS = {
82
82
  'glob': '^13.0.6',
83
83
  // TypeScript (needed for Next.js to avoid auto-install breaking symlink)
84
84
  'typescript': '^5.3.3',
85
- '@types/node': '^25.3.3',
85
+ '@types/node': '^25.5.0',
86
86
  '@types/react': '^19.2.14',
87
87
  '@types/react-dom': '^19.0.0',
88
88
  '@next/third-parties': '^16.1.6',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jamdesk",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "CLI for Jamdesk — build, preview, and deploy documentation sites from MDX. Dev server with hot reload, 50+ components, OpenAPI support, AI search, and Mintlify migration",
5
5
  "keywords": [
6
6
  "jamdesk",
@@ -65,8 +65,8 @@
65
65
  "vendored/shared/",
66
66
  "vendored/scripts/",
67
67
  "vendored/app/",
68
- "vendored/public/images/jamdesk/",
69
- "vendored/public/fonts/fontawesome/",
68
+ "vendored/public/_jd/fonts/fontawesome/",
69
+ "vendored/public/_jd/branding/",
70
70
  "vendored/schema/",
71
71
  "vendored/next.config.js",
72
72
  "vendored/tailwind.config.ts",
@@ -110,9 +110,9 @@
110
110
  "devDependencies": {
111
111
  "@mdx-js/mdx": "^3.1.1",
112
112
  "@types/fs-extra": "^11.0.0",
113
- "@types/node": "^25.3.5",
113
+ "@types/node": "^25.5.0",
114
114
  "typescript": "^5.3.0",
115
- "vitest": "^4.0.18"
115
+ "vitest": "^4.1.0"
116
116
  },
117
117
  "engines": {
118
118
  "node": ">=20.0.0"
@@ -11,7 +11,7 @@ import { log } from '@/lib/logger';
11
11
 
12
12
  // Cache durations by content type (in seconds)
13
13
  const CACHE_DURATIONS: Record<string, number> = {
14
- 'image/png': 31536000, // 1 year (immutable)
14
+ 'image/png': 31536000, // 1 year
15
15
  'image/jpeg': 31536000,
16
16
  'image/gif': 31536000,
17
17
  'image/webp': 31536000,
@@ -63,8 +63,11 @@ export async function GET(
63
63
  headers: {
64
64
  'Content-Type': asset.contentType,
65
65
  'Content-Length': String(asset.contentLength),
66
- 'Cache-Control': `public, max-age=${cacheMaxAge}, immutable`,
67
- 'CDN-Cache-Control': `public, max-age=${cacheMaxAge}`,
66
+ // max-age: browsers cache for full duration (busted by ?v= query param on new builds)
67
+ // s-maxage: all CDNs (Vercel, Cloudflare, any upstream) cache for 60s only.
68
+ // CDNs ignore query strings in cache keys, so ?v= doesn't help there.
69
+ // Short s-maxage ensures replaced same-filename assets appear within a minute.
70
+ 'Cache-Control': `public, max-age=${cacheMaxAge}, s-maxage=60, stale-while-revalidate=86400`,
68
71
  },
69
72
  });
70
73
  } catch (error) {
@@ -32,10 +32,11 @@ export async function triggerRevalidation(options: RevalidationOptions): Promise
32
32
  body.paths = changedPaths.map(p => `/${p}`);
33
33
  }
34
34
 
35
- // Proxy failure is non-fatal — cache will expire on its own
35
+ // Proxy/CF failures are non-fatal — caches will expire on their own
36
36
  const [isrResult] = await Promise.all([
37
37
  revalidateIsrApp(isrAppUrl, secret, body),
38
38
  revalidateProxy(secret, projectSlug),
39
+ purgeCloudflareCache(projectSlug),
39
40
  ]);
40
41
 
41
42
  // Only throw if ISR revalidation failed (it's the critical one)
@@ -97,6 +98,53 @@ async function revalidateProxy(secret: string, projectSlug: string): Promise<voi
97
98
  }
98
99
  }
99
100
 
101
+ /**
102
+ * Purge Cloudflare CDN cache for jamdesk.com docs assets.
103
+ * Only runs for the jamdesk-docs project (served via Cloudflare Worker at jamdesk.com/docs).
104
+ * Customer projects at *.jamdesk.app go through Vercel CDN, not Cloudflare.
105
+ * Non-fatal on failure — cache will expire based on TTL.
106
+ */
107
+ async function purgeCloudflareCache(projectSlug: string): Promise<void> {
108
+ if (projectSlug !== 'jamdesk-docs') return;
109
+
110
+ const zoneId = process.env.CLOUDFLARE_ZONE_ID;
111
+ const apiToken = process.env.CLOUDFLARE_API_TOKEN;
112
+
113
+ if (!zoneId || !apiToken) {
114
+ log('info', 'Skipping Cloudflare cache purge (credentials not configured)', { projectSlug });
115
+ return;
116
+ }
117
+
118
+ try {
119
+ const response = await fetch(
120
+ `https://api.cloudflare.com/client/v4/zones/${zoneId}/purge_cache`,
121
+ {
122
+ method: 'POST',
123
+ headers: {
124
+ 'Authorization': `Bearer ${apiToken}`,
125
+ 'Content-Type': 'application/json',
126
+ },
127
+ body: JSON.stringify({ purge_everything: true }),
128
+ }
129
+ );
130
+
131
+ const data = await response.json() as { success: boolean; errors?: Array<{ message: string }> };
132
+
133
+ if (response.ok && data.success) {
134
+ log('info', 'Cloudflare cache purged for jamdesk.com', { projectSlug });
135
+ } else {
136
+ const errorMsg = data.errors?.[0]?.message || `HTTP ${response.status}`;
137
+ log('warn', 'Cloudflare cache purge failed (non-fatal)', {
138
+ projectSlug, error: errorMsg,
139
+ });
140
+ }
141
+ } catch (err) {
142
+ log('warn', 'Cloudflare cache purge error (non-fatal)', {
143
+ projectSlug, error: (err as Error).message,
144
+ });
145
+ }
146
+ }
147
+
100
148
  export interface Manifest {
101
149
  files: Record<string, { hash: string }>;
102
150
  openapi?: Record<string, { hash: string }>;
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024" viewBox="0 0 1024 1024"><image width="1024" height="1024" xlink:href="data:image/png;base64,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"></image></svg><style>@media (prefers-color-scheme: light) { :root { filter: none; } }
2
+ @media (prefers-color-scheme: dark) { :root { filter: none; } }
3
+ </style></svg>
@@ -0,0 +1,12 @@
1
+ <svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_2132_7)">
3
+ <path d="M505.321 642.817L391.349 454.801C389.736 452.14 387.029 450.509 383.919 450.493C343.372 450.28 61.1913 448.858 50.7701 450.519C39.5406 452.309 33.0297 452.797 23.9078 459.02C14.7859 465.243 7.13736 473.696 2.99045 487.207C-1.15646 500.719 -0.972625 510.698 3.431 525.237C7.83461 539.781 234.639 915.692 244.033 929.788C253.428 943.884 260.931 955.618 275.575 961.467C290.218 967.32 311.119 966.836 324.11 961.467C337.101 956.097 345.36 941.647 353.859 929.788C361.722 918.82 486.908 686.341 505.639 651.539C507.137 648.746 506.963 645.529 505.321 642.817Z" fill="#FFC4B8"/>
4
+ <path d="M969.198 452.309C953.348 449.732 676.072 451.924 634.781 452.266C631.502 452.293 628.692 454.11 627.153 457.002L361.975 954.477C358.801 960.428 362.906 967.62 369.65 967.633C441.852 967.785 756.305 968.394 765.418 967.602C775.716 966.707 785.782 963.127 793.611 956.862C801.439 950.597 806.808 940.304 814.636 930.012C822.465 919.72 1004.98 561.963 1010.93 547.849C1016.89 533.735 1023.05 524.221 1023.68 508.917C1024.31 493.612 1018.68 483.445 1007.45 470.656C996.209 457.868 986.327 455.094 969.198 452.309Z" fill="#FF8570"/>
5
+ <path d="M224.127 81.7811C216.238 95.5907 72.1952 360.051 38.2259 422.428C34.9782 428.391 39.3645 435.528 46.1536 435.528H971.23C978.245 435.528 982.593 427.914 978.885 421.953C939.549 358.662 775.579 95.002 764.757 80.4386C752.455 63.8813 732.771 57.3923 712.64 57.3923C692.509 57.3922 277.809 54.2596 260.362 57.3924C242.916 60.5251 233.074 66.1187 224.127 81.7811Z" fill="#FF4D35"/>
6
+ </g>
7
+ <defs>
8
+ <clipPath id="clip0_2132_7">
9
+ <rect width="1024" height="912" fill="white" transform="translate(0 56)"/>
10
+ </clipPath>
11
+ </defs>
12
+ </svg>
@@ -0,0 +1,12 @@
1
+ <svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_2132_7)">
3
+ <path d="M505.321 642.817L391.349 454.801C389.736 452.14 387.029 450.509 383.919 450.493C343.372 450.28 61.1913 448.858 50.7701 450.519C39.5406 452.309 33.0297 452.797 23.9078 459.02C14.7859 465.243 7.13736 473.696 2.99045 487.207C-1.15646 500.719 -0.972625 510.698 3.431 525.237C7.83461 539.781 234.639 915.692 244.033 929.788C253.428 943.884 260.931 955.618 275.575 961.467C290.218 967.32 311.119 966.836 324.11 961.467C337.101 956.097 345.36 941.647 353.859 929.788C361.722 918.82 486.908 686.341 505.639 651.539C507.137 648.746 506.963 645.529 505.321 642.817Z" fill="#FFC4B8"/>
4
+ <path d="M969.198 452.309C953.348 449.732 676.072 451.924 634.781 452.266C631.502 452.293 628.692 454.11 627.153 457.002L361.975 954.477C358.801 960.428 362.906 967.62 369.65 967.633C441.852 967.785 756.305 968.394 765.418 967.602C775.716 966.707 785.782 963.127 793.611 956.862C801.439 950.597 806.808 940.304 814.636 930.012C822.465 919.72 1004.98 561.963 1010.93 547.849C1016.89 533.735 1023.05 524.221 1023.68 508.917C1024.31 493.612 1018.68 483.445 1007.45 470.656C996.209 457.868 986.327 455.094 969.198 452.309Z" fill="#FF8570"/>
5
+ <path d="M224.127 81.7811C216.238 95.5907 72.1952 360.051 38.2259 422.428C34.9782 428.391 39.3645 435.528 46.1536 435.528H971.23C978.245 435.528 982.593 427.914 978.885 421.953C939.549 358.662 775.579 95.002 764.757 80.4386C752.455 63.8813 732.771 57.3923 712.64 57.3923C692.509 57.3922 277.809 54.2596 260.362 57.3924C242.916 60.5251 233.074 66.1187 224.127 81.7811Z" fill="#FF4D35"/>
6
+ </g>
7
+ <defs>
8
+ <clipPath id="clip0_2132_7">
9
+ <rect width="1024" height="912" fill="white" transform="translate(0 56)"/>
10
+ </clipPath>
11
+ </defs>
12
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg width="2231" height="577" viewBox="0 0 2231 577" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_2081_5)">
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M2229.54 434.879C2227.2 439.384 2223.38 441.633 2218.1 441.633H2162.92C2160.37 441.633 2158.02 441.046 2155.87 439.871C2153.72 438.697 2152.06 436.935 2150.88 434.586L2068.41 307.164L2022.03 352.671V428.419C2022.03 432.14 2020.76 435.223 2018.22 437.669C2015.67 440.118 2012.64 441.339 2009.12 441.339H1963.92C1960.4 441.339 1957.36 440.118 1954.82 437.669C1952.27 435.223 1951 432.14 1951 428.419V31.1257C1951 27.6021 1952.27 24.6196 1954.82 22.17C1957.36 19.7241 1960.4 18.4988 1963.92 18.4988H2009.12C2012.64 18.4988 2015.67 19.7241 2018.22 22.17C2020.76 24.6196 2022.03 27.6021 2022.03 31.1257V267.854L2145.6 142.121C2146.58 141.341 2147.9 140.506 2149.56 139.626C2151.22 138.744 2152.94 138.303 2154.7 138.303H2212.81C2217.9 138.303 2221.42 140.703 2223.38 145.498C2225.33 150.297 2224.16 154.651 2219.86 158.565L2118.5 258.013L2228.08 420.491C2231.4 425.584 2231.89 430.378 2229.54 434.879ZM1815.17 260.457C1854.89 269.661 1883.16 281.893 1899.99 297.163C1916.82 312.432 1925.23 331.128 1925.23 353.247C1925.23 382.221 1913.49 405.616 1890.01 423.427C1866.53 441.238 1835.81 450.148 1797.85 450.148C1777.7 450.148 1759.89 447.845 1744.43 443.247C1728.97 438.651 1715.13 431.796 1702.9 422.693C1690.67 413.59 1681.42 404.097 1675.16 394.21C1668.9 384.327 1666.06 377.964 1666.65 375.124C1667.24 372.288 1668.61 370.182 1670.76 368.81L1702.17 347.374C1704.32 346.007 1706.67 345.369 1709.21 345.466C1711.75 345.566 1715.76 349.187 1721.24 356.331C1726.72 363.479 1733.37 370.035 1741.2 376.004C1749.03 381.978 1757.79 386.479 1767.47 389.512C1777.16 392.549 1788.55 394.063 1801.67 394.063C1818.88 394.063 1832.48 390.934 1842.46 384.667C1852.44 378.404 1857.43 369.205 1857.43 357.065C1857.43 347.081 1853.22 339.203 1844.81 333.426C1836.4 327.655 1817.03 321.342 1786.7 314.487C1748.54 305.678 1720.7 293.542 1703.19 278.076C1685.68 262.614 1676.93 243.036 1676.93 219.348C1676.93 192.728 1688.42 171.095 1711.41 154.454C1734.4 137.818 1762.82 129.494 1796.68 129.494C1814.29 129.494 1830.14 131.403 1844.23 135.22C1858.31 139.038 1871.03 144.717 1882.38 152.252C1893.73 159.789 1902.19 167.424 1907.77 175.155C1913.35 182.891 1915.94 188.029 1915.55 190.571C1915.15 193.118 1913.98 195.077 1912.03 196.444L1881.21 217.586C1879.25 218.958 1877.14 219.692 1874.9 219.788C1872.65 219.889 1869.07 217.393 1864.18 212.3C1859.29 207.212 1853.37 202.463 1846.43 198.059C1839.48 193.654 1831.75 190.425 1823.24 188.37C1814.73 186.314 1805.67 185.286 1796.09 185.286C1780.83 185.286 1768.4 188.47 1758.81 194.829C1749.22 201.193 1744.43 208.584 1744.43 216.999C1744.43 226.203 1748.34 233.883 1756.17 240.049C1764 246.216 1783.66 253.02 1815.17 260.457ZM1642.47 303.329H1425.38C1427.74 328.369 1436.12 348.828 1450.51 364.7C1467.73 383.69 1489.94 393.182 1517.14 393.182C1529.47 393.182 1540.03 391.567 1548.84 388.337C1557.64 385.108 1565.57 380.753 1572.61 375.271C1579.66 369.792 1587.19 361.763 1595.21 351.192C1597.36 348.453 1599.76 346.838 1602.4 346.346C1605.05 345.861 1607.64 346.397 1610.18 347.962L1640.71 367.929C1643.25 369.498 1644.77 371.701 1645.26 374.537C1645.74 377.376 1645.01 380.166 1643.05 382.905C1633.07 399.546 1621.67 412.466 1608.86 421.665C1596.04 430.869 1582 437.917 1566.74 442.807C1551.48 447.698 1532.69 450.148 1510.39 450.148C1464.6 450.148 1427.42 435.076 1398.85 404.928C1370.28 374.784 1356 336.318 1356 289.528C1356 243.528 1370.19 205.355 1398.56 175.009C1426.93 144.668 1463.23 129.494 1507.45 129.494C1550.89 129.494 1586.26 142.855 1613.56 169.577C1640.85 196.297 1654.5 229.626 1654.5 269.561V291.877C1654.5 295.011 1653.42 297.704 1651.27 299.952C1649.12 302.205 1646.18 303.329 1642.47 303.329ZM1563.07 208.19C1549.08 194.682 1530.54 187.929 1507.45 187.929C1482.6 187.929 1462.59 196.885 1447.43 214.797C1437.21 226.865 1430.44 241.893 1427.11 259.87H1586.11C1584.74 238.925 1577.06 221.697 1563.07 208.19ZM1320.84 441.339H1277.4C1274.27 441.339 1271.53 440.311 1269.18 438.256C1266.84 436.2 1265.66 433.806 1265.66 431.062V399.936H1263.61C1254.41 415.205 1240.81 427.391 1222.81 436.494C1204.8 445.597 1185.14 450.148 1163.81 450.148C1122.91 450.148 1089.06 435.37 1062.26 405.809C1035.45 376.252 1022.05 337.685 1022.05 290.115C1022.05 243.133 1035.7 204.717 1062.99 174.861C1090.29 145.012 1124.58 130.082 1165.87 130.082C1186.22 130.082 1205 134.587 1222.22 143.589C1239.44 152.595 1252.35 164.341 1260.96 178.826H1263.02V30.8316C1263.02 27.5053 1264.24 24.6196 1266.69 22.17C1269.13 19.7241 1272.21 18.4988 1275.93 18.4988H1320.55C1324.07 18.4988 1327.05 19.7241 1329.5 22.17C1331.94 24.6196 1333.17 27.5053 1333.17 30.8316V429.006C1333.17 432.337 1331.99 435.223 1329.65 437.669C1327.3 440.118 1324.36 441.339 1320.84 441.339ZM1239.83 218.614C1223 200.312 1202.46 191.158 1178.2 191.158C1153.93 191.158 1133.39 200.312 1116.56 218.614C1099.73 236.92 1091.32 260.655 1091.32 289.821C1091.32 318.795 1099.68 342.63 1116.41 361.322C1133.14 380.019 1153.83 389.365 1178.49 389.365C1202.95 389.365 1223.49 380.019 1240.13 361.322C1256.75 342.63 1265.07 318.699 1265.07 289.528C1265.07 260.559 1256.66 236.92 1239.83 218.614ZM988.999 441.339H943.799C940.47 441.339 937.535 440.118 934.994 437.669C932.449 435.223 931.179 432.236 931.179 428.713V259.577C931.179 236.086 926.336 218.614 916.65 207.162C906.965 194.864 892.041 189.984 871.89 189.984C852.518 189.984 836.275 197.816 823.168 213.475C810.056 229.139 803.502 248.519 803.502 271.616V428.419C803.502 432.14 802.227 435.223 799.687 437.669C797.142 440.118 794.11 441.339 790.588 441.339H745.681C742.159 441.339 739.123 440.118 736.582 437.669C734.037 435.223 732.767 432.14 732.767 428.419V260.164C732.767 236.48 727.924 218.811 718.238 207.162C708.553 195.517 693.827 189.691 674.065 189.691C654.496 189.691 638.206 197.72 625.196 213.769C612.18 229.823 605.677 249.4 605.677 272.497V428.419C605.677 432.14 604.403 435.223 601.862 437.669C599.317 440.118 596.285 441.339 592.763 441.339H547.563C544.041 441.339 541.005 440.118 538.464 437.669C535.919 435.223 534.648 432.14 534.648 428.419V150.343C534.648 147.017 535.822 144.176 538.17 141.827C540.518 139.478 543.353 138.303 546.683 138.303H590.122C593.644 138.303 596.579 139.432 598.927 141.681C601.275 143.933 602.449 146.627 602.449 149.756V183.524H604.503C612.914 167.667 625.93 154.701 643.54 144.617C661.151 134.536 679.834 129.494 699.6 129.494C720.925 129.494 739.76 134.536 756.101 144.617C772.436 154.701 784.323 168.549 791.762 186.167C803.108 167.374 817.738 153.233 835.641 143.736C853.546 134.243 873.16 129.494 894.49 129.494C929.711 129.494 956.37 139.822 974.472 160.473C992.568 181.129 1001.62 210.149 1001.62 247.537V428.713C1001.62 432.236 1000.35 435.223 997.805 437.669C995.259 440.118 992.324 441.339 988.999 441.339ZM481.699 441.339H437.967C434.637 441.339 431.753 440.118 429.308 437.669C426.86 435.223 425.64 432.337 425.64 429.006V400.229H423.879C415.463 414.131 402.305 425.877 384.402 435.466C366.497 445.055 345.218 449.855 320.564 449.855C279.862 449.855 246.058 435.076 219.156 405.515C192.25 375.958 178.798 337.295 178.798 289.528C178.798 242.156 193.181 203.638 221.945 173.981C250.709 144.323 286.122 129.494 328.195 129.494C346.585 129.494 364.98 133.215 383.374 140.653C401.764 148.095 415.953 159.643 425.933 175.302H426.227V148.874C426.227 145.938 427.401 143.442 429.749 141.386C432.097 138.486 434.835 138.303 437.967 138.303H481.406C484.928 138.303 487.909 139.478 490.358 141.827C492.803 144.176 494.027 147.113 494.027 150.636V429.3C494.027 432.434 492.853 435.223 490.505 437.669C488.156 440.118 485.221 441.339 481.699 441.339ZM400.985 215.383C382.98 197.669 362.14 188.809 338.467 188.809C312.831 188.809 291.405 197.867 274.189 215.972C256.968 234.08 248.36 258.012 248.36 287.766C248.36 321.048 257.212 346.448 274.923 363.965C292.63 381.487 313.812 390.246 338.467 390.246C363.512 390.246 384.695 380.996 402.012 362.497C419.329 343.997 427.988 319.089 427.988 287.766C427.988 257.228 418.985 233.103 400.985 215.383ZM118.336 84.8612C106.398 84.8612 96.2723 80.7042 87.9583 72.3818C79.6386 64.0631 75.4835 54.0296 75.4835 42.284C75.4835 30.1485 79.6386 20.068 87.9583 12.0387C96.2723 4.01416 106.398 0 118.336 0C130.466 0 140.542 4.01416 148.568 12.0387C156.589 20.068 160.601 30.1485 160.601 42.284C160.601 54.0296 156.589 64.0631 148.568 72.3818C140.542 80.7042 130.466 84.8612 118.336 84.8612ZM82.8217 151.224C82.8217 147.7 84.0915 144.668 86.6368 142.121C89.1774 139.579 92.2139 138.303 95.736 138.303H140.642C144.164 138.303 147.196 139.579 149.742 142.121C152.282 144.668 153.557 147.7 153.557 151.224V478.631C153.557 508.188 144.064 531.972 125.087 549.985C106.105 567.994 81.0606 577 49.9487 577C45.0553 577 40.3132 576.853 35.7138 576.559C31.1181 576.266 26.715 575.679 22.5054 574.797C18.3005 573.917 13.9481 572.742 9.44452 571.275C4.94562 569.806 2.25379 568.288 1.37279 566.723C0.492739 565.154 0.0522414 563.295 0.0522414 561.143V522.677C-0.1403 520.521 0.198761 518.662 1.07976 517.098C1.95981 515.528 4.3586 514.795 8.27048 514.896C12.1871 514.992 15.7552 515.089 18.9833 514.344C22.2124 515.286 25.587 515.433 29.1091 515.63C32.6312 515.823 36.0575 515.923 39.3824 515.923C53.0763 515.726 63.7431 511.615 71.3744 503.59C79.0056 495.561 82.8217 484.307 82.8217 469.822V151.224Z" fill="#6A6D70"/>
4
+ </g>
5
+ <defs>
6
+ <clipPath id="clip0_2081_5">
7
+ <rect width="2231" height="577" fill="white"/>
8
+ </clipPath>
9
+ </defs>
10
+ </svg>