jamdesk 1.1.165 → 1.1.167
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/__tests__/unit/dev-workspace-symlinks.test.d.ts +2 -0
- package/dist/__tests__/unit/dev-workspace-symlinks.test.d.ts.map +1 -0
- package/dist/__tests__/unit/dev-workspace-symlinks.test.js +112 -0
- package/dist/__tests__/unit/dev-workspace-symlinks.test.js.map +1 -0
- package/dist/__tests__/unit/language-filter.test.d.ts +2 -0
- package/dist/__tests__/unit/language-filter.test.d.ts.map +1 -0
- package/dist/__tests__/unit/language-filter.test.js +166 -0
- package/dist/__tests__/unit/language-filter.test.js.map +1 -0
- package/dist/__tests__/unit/openapi-license-identifier.test.js +14 -4
- package/dist/__tests__/unit/openapi-license-identifier.test.js.map +1 -1
- package/dist/__tests__/unit/openapi-schema-patch-sync.test.js +24 -7
- package/dist/__tests__/unit/openapi-schema-patch-sync.test.js.map +1 -1
- package/dist/__tests__/unit/openapi-schema-runtime-patch.test.d.ts +2 -0
- package/dist/__tests__/unit/openapi-schema-runtime-patch.test.d.ts.map +1 -0
- package/dist/__tests__/unit/openapi-schema-runtime-patch.test.js +120 -0
- package/dist/__tests__/unit/openapi-schema-runtime-patch.test.js.map +1 -0
- package/dist/__tests__/unit/openapi-server-variable-description.test.js +14 -5
- package/dist/__tests__/unit/openapi-server-variable-description.test.js.map +1 -1
- package/dist/lib/deps.d.ts +10 -6
- package/dist/lib/deps.d.ts.map +1 -1
- package/dist/lib/deps.js +20 -8
- package/dist/lib/deps.js.map +1 -1
- package/dist/lib/language-filter.d.ts +31 -0
- package/dist/lib/language-filter.d.ts.map +1 -0
- package/dist/lib/language-filter.js +14 -0
- package/dist/lib/language-filter.js.map +1 -0
- package/dist/lib/openapi/patch-openapi-schemas-runtime.d.ts +24 -0
- package/dist/lib/openapi/patch-openapi-schemas-runtime.d.ts.map +1 -0
- package/dist/lib/openapi/patch-openapi-schemas-runtime.js +75 -0
- package/dist/lib/openapi/patch-openapi-schemas-runtime.js.map +1 -0
- package/dist/lib/openapi/validator.d.ts.map +1 -1
- package/dist/lib/openapi/validator.js +23 -0
- package/dist/lib/openapi/validator.js.map +1 -1
- package/package.json +3 -2
- package/scripts/patch-openapi-schemas.js +8 -3
- package/vendored/lib/build/error-parser.ts +73 -0
- package/vendored/lib/interrupt-auto-retry.ts +50 -0
- package/vendored/lib/openapi/patch-openapi-schemas-runtime.ts +83 -0
- package/vendored/lib/openapi/validator.ts +28 -0
- package/vendored/next.config.js +13 -1
- package/vendored/workspace-package-lock.json +2 -1
package/dist/lib/deps.d.ts
CHANGED
|
@@ -60,12 +60,16 @@ export declare const SLOW_HINT_SUFFIX = " (~1 min on first install)";
|
|
|
60
60
|
* `jamdesk dev` fails to validate OpenAPI 3.1 specs. This helper applies the
|
|
61
61
|
* same patches to the workspace install.
|
|
62
62
|
*
|
|
63
|
-
* Logically equivalent to cli/scripts/patch-openapi-schemas.js
|
|
64
|
-
* build-service/scripts/patch-openapi-schemas.js
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
63
|
+
* Logically equivalent to cli/scripts/patch-openapi-schemas.js,
|
|
64
|
+
* build-service/scripts/patch-openapi-schemas.js, and the two in-memory
|
|
65
|
+
* runtime self-heal helpers (cli/src/lib/openapi/
|
|
66
|
+
* patch-openapi-schemas-runtime.ts and build-service/lib/openapi/
|
|
67
|
+
* patch-openapi-schemas-runtime.ts — the guarantee when npm 12 blocks
|
|
68
|
+
* the postinstall scripts above). The success-output JSON of this helper
|
|
69
|
+
* and the two postinstall scripts is byte-identical: all three emit
|
|
70
|
+
* 2-space-indented JSON with a single trailing newline (this helper via
|
|
71
|
+
* fs-extra writeJson's jsonfile finalEOL; the scripts via
|
|
72
|
+
* `JSON.stringify(.,.,2) + '\n'`). If you change one, change all five.
|
|
69
73
|
*
|
|
70
74
|
* Idempotent and concurrency-safe: the walk + rewrite from multiple
|
|
71
75
|
* `jamdesk dev` processes lands on identical bytes (last-writer-wins), so
|
package/dist/lib/deps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/lib/deps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/lib/deps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4FhD,CAAC;AA0CF;;;;;;;;;GASG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAalB;AAoFD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;CAUpB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AA+B7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,4BAA4B,CAChD,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAUjB;AA+SD;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
package/dist/lib/deps.js
CHANGED
|
@@ -26,8 +26,16 @@ const JAMDESK_DIR = path.join(homedir(), '.jamdesk');
|
|
|
26
26
|
export const REQUIRED_DEPS = {
|
|
27
27
|
// Next.js and React
|
|
28
28
|
'next': '^16.2.10',
|
|
29
|
-
// OpenAPI validation (for API reference docs)
|
|
30
|
-
|
|
29
|
+
// OpenAPI validation (for API reference docs).
|
|
30
|
+
// BOTH are exact-pinned (no caret) and content-coupled: the in-memory
|
|
31
|
+
// self-heal (lib/openapi/patch-openapi-schemas-runtime.ts) patches the
|
|
32
|
+
// openapi-schemas 2.1.0 meta-schema bytes that swagger-parser 12.1.0 reads.
|
|
33
|
+
// A floating swagger-parser minor could move to openapi-schemas ^3, making
|
|
34
|
+
// npm install BOTH (our hoisted 2.1.0 + a nested 3.x under swagger-parser)
|
|
35
|
+
// — the heal would then patch the copy nobody validates against and still
|
|
36
|
+
// report success. Bump the two together, deliberately.
|
|
37
|
+
'@apidevtools/swagger-parser': '12.1.0',
|
|
38
|
+
'@apidevtools/openapi-schemas': '2.1.0',
|
|
31
39
|
'openapi-types': '^12.1.3',
|
|
32
40
|
'react': '^19.2.6',
|
|
33
41
|
'react-dom': '^19.2.6',
|
|
@@ -324,12 +332,16 @@ async function checkInstallReinstallReason(depsDir) {
|
|
|
324
332
|
* `jamdesk dev` fails to validate OpenAPI 3.1 specs. This helper applies the
|
|
325
333
|
* same patches to the workspace install.
|
|
326
334
|
*
|
|
327
|
-
* Logically equivalent to cli/scripts/patch-openapi-schemas.js
|
|
328
|
-
* build-service/scripts/patch-openapi-schemas.js
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
335
|
+
* Logically equivalent to cli/scripts/patch-openapi-schemas.js,
|
|
336
|
+
* build-service/scripts/patch-openapi-schemas.js, and the two in-memory
|
|
337
|
+
* runtime self-heal helpers (cli/src/lib/openapi/
|
|
338
|
+
* patch-openapi-schemas-runtime.ts and build-service/lib/openapi/
|
|
339
|
+
* patch-openapi-schemas-runtime.ts — the guarantee when npm 12 blocks
|
|
340
|
+
* the postinstall scripts above). The success-output JSON of this helper
|
|
341
|
+
* and the two postinstall scripts is byte-identical: all three emit
|
|
342
|
+
* 2-space-indented JSON with a single trailing newline (this helper via
|
|
343
|
+
* fs-extra writeJson's jsonfile finalEOL; the scripts via
|
|
344
|
+
* `JSON.stringify(.,.,2) + '\n'`). If you change one, change all five.
|
|
333
345
|
*
|
|
334
346
|
* Idempotent and concurrency-safe: the walk + rewrite from multiple
|
|
335
347
|
* `jamdesk dev` processes lands on identical bytes (last-writer-wins), so
|
package/dist/lib/deps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/lib/deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/lib/deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Picks which `<lang>/` directories under projectDir to keep as workspace
|
|
3
|
+
* symlinks and which to skip. Skipping non-active language directories
|
|
4
|
+
* shrinks Turbopack's filesystem scan and dropped cold compile from ~67s
|
|
5
|
+
* to ~12s on jamdesk-docs (commit 90d781b4).
|
|
6
|
+
*
|
|
7
|
+
* The dev server still reads content from the user's source tree via
|
|
8
|
+
* JAMDESK_PROJECTS_DIR, so the language picker keeps showing every
|
|
9
|
+
* language and clicks always 200 OK — the workspace symlinks are a
|
|
10
|
+
* Turbopack-only performance layer.
|
|
11
|
+
*
|
|
12
|
+
* Default rules:
|
|
13
|
+
* 1. Language with `default: true`
|
|
14
|
+
* 2. First language in `navigation.languages[]`
|
|
15
|
+
*/
|
|
16
|
+
export interface LanguageFilter {
|
|
17
|
+
active: string | null;
|
|
18
|
+
skip: Set<string>;
|
|
19
|
+
}
|
|
20
|
+
interface NavigationLanguageEntry {
|
|
21
|
+
language?: string;
|
|
22
|
+
default?: boolean;
|
|
23
|
+
}
|
|
24
|
+
interface MinimalConfig {
|
|
25
|
+
navigation?: {
|
|
26
|
+
languages?: NavigationLanguageEntry[];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare function getActiveLanguageFilter(config: MinimalConfig): LanguageFilter;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=language-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-filter.d.ts","sourceRoot":"","sources":["../../src/lib/language-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC;KACvC,CAAC;CACH;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CAc7E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function getActiveLanguageFilter(config) {
|
|
2
|
+
const validEntries = (config.navigation?.languages ?? []).filter((l) => typeof l.language === 'string');
|
|
3
|
+
if (validEntries.length === 0) {
|
|
4
|
+
return { active: null, skip: new Set() };
|
|
5
|
+
}
|
|
6
|
+
const codes = validEntries.map((l) => l.language);
|
|
7
|
+
const active = validEntries.find((l) => l.default)?.language ?? validEntries[0].language;
|
|
8
|
+
if (codes.length === 1) {
|
|
9
|
+
return { active, skip: new Set() };
|
|
10
|
+
}
|
|
11
|
+
const skip = new Set(codes.filter((c) => c !== active));
|
|
12
|
+
return { active, skip };
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=language-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-filter.js","sourceRoot":"","sources":["../../src/lib/language-filter.ts"],"names":[],"mappings":"AA+BA,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAC9D,CAAC,CAAC,EAAgD,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACpF,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;IACnD,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @returns true when the schema is in the known-good healed state after the
|
|
3
|
+
* call; false when the heal could not verify it (upstream reshape, missing
|
|
4
|
+
* $defs). Callers warn on false so a real user failure is debuggable instead
|
|
5
|
+
* of reproducing the original opaque validation error.
|
|
6
|
+
*
|
|
7
|
+
* The tripwire catches upstream reshapes ONLY. It cannot detect a split module
|
|
8
|
+
* instance — if `openapi-schemas` resolves to two copies, this heals and
|
|
9
|
+
* verifies one of them and still returns true while swagger-parser reads the
|
|
10
|
+
* other. A single instance rests on TWO guarantees, both of which must hold:
|
|
11
|
+
* (a) physical copy: the exact `2.1.0` pin (cli + build-service +
|
|
12
|
+
* REQUIRED_DEPS) plus npm dedup against swagger-parser's own range, so
|
|
13
|
+
* node_modules never contains a second nested copy;
|
|
14
|
+
* (b) bundler copy: `@apidevtools/openapi-schemas` stays in
|
|
15
|
+
* `serverExternalPackages` alongside `@apidevtools/swagger-parser` in
|
|
16
|
+
* EVERY Next config (build-service/next.config.mjs,
|
|
17
|
+
* cli/config/next.config.js), so Next never bundles one while
|
|
18
|
+
* externalizing the other. (npm dedup does nothing about a
|
|
19
|
+
* bundler-created duplicate — that is a separate failure mode.)
|
|
20
|
+
* Break either one and the heal silently patches a duplicate, returns true,
|
|
21
|
+
* and validation regresses to the original opaque error.
|
|
22
|
+
*/
|
|
23
|
+
export declare function patchOpenApiSchemasInMemory(): boolean;
|
|
24
|
+
//# sourceMappingURL=patch-openapi-schemas-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch-openapi-schemas-runtime.d.ts","sourceRoot":"","sources":["../../../src/lib/openapi/patch-openapi-schemas-runtime.ts"],"names":[],"mappings":"AAwCA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAoBrD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime (in-memory) self-heal for two defects in
|
|
3
|
+
* @apidevtools/openapi-schemas@2.1.0's bundled OpenAPI 3.1 meta-schema.
|
|
4
|
+
*
|
|
5
|
+
* Why runtime: npm 12 blocks lifecycle scripts not covered by `allowScripts`
|
|
6
|
+
* (only a `warn install-scripts` line, exit 0), so the package postinstall
|
|
7
|
+
* (scripts/patch-openapi-schemas.js) can no longer be relied on to have
|
|
8
|
+
* patched the on-disk schema — the 2026-07-13 `jamdesk dev` failure on a
|
|
9
|
+
* valid spec was exactly this. swagger-parser's validator reads the schema
|
|
10
|
+
* from this module singleton (lib/validators/schema.js:
|
|
11
|
+
* `const { openapi } = require("@apidevtools/openapi-schemas")`), and
|
|
12
|
+
* require() of JSON returns a cached mutable object — so fixing
|
|
13
|
+
* `openapi.v31` in place heals every subsequent SwaggerParser.validate()
|
|
14
|
+
* in this process regardless of installer, script blocking, or file
|
|
15
|
+
* permissions. Disk is never touched.
|
|
16
|
+
*
|
|
17
|
+
* Defect 1 — server-variable typo: `properties` declares `descriptions`
|
|
18
|
+
* (plural). With `unevaluatedProperties: false` on the same def, every
|
|
19
|
+
* spec-valid `description` is rejected with
|
|
20
|
+
* "#/servers/N/variables/<name> must NOT have unevaluated properties".
|
|
21
|
+
* Defect 2 — license over-constraint: `oneOf` forces identifier|url;
|
|
22
|
+
* OpenAPI 3.1 §4.8.4 requires only `name`. Correct guard:
|
|
23
|
+
* `not: { required: ['identifier', 'url'] }`.
|
|
24
|
+
*
|
|
25
|
+
* Sync chain (drift-guarded by
|
|
26
|
+
* src/__tests__/unit/openapi-schema-patch-sync.test.ts): this file,
|
|
27
|
+
* build-service/lib/openapi/patch-openapi-schemas-runtime.ts, both
|
|
28
|
+
* package postinstall scripts, and patchWorkspaceOpenApiSchemas() in
|
|
29
|
+
* src/lib/deps.ts. If you change one, change all five source sites
|
|
30
|
+
* (the vendored copy under cli/vendored/ is regenerated by `npm run
|
|
31
|
+
* vendor` and drift-guarded as a sixth).
|
|
32
|
+
*/
|
|
33
|
+
import { openapi } from '@apidevtools/openapi-schemas';
|
|
34
|
+
/**
|
|
35
|
+
* @returns true when the schema is in the known-good healed state after the
|
|
36
|
+
* call; false when the heal could not verify it (upstream reshape, missing
|
|
37
|
+
* $defs). Callers warn on false so a real user failure is debuggable instead
|
|
38
|
+
* of reproducing the original opaque validation error.
|
|
39
|
+
*
|
|
40
|
+
* The tripwire catches upstream reshapes ONLY. It cannot detect a split module
|
|
41
|
+
* instance — if `openapi-schemas` resolves to two copies, this heals and
|
|
42
|
+
* verifies one of them and still returns true while swagger-parser reads the
|
|
43
|
+
* other. A single instance rests on TWO guarantees, both of which must hold:
|
|
44
|
+
* (a) physical copy: the exact `2.1.0` pin (cli + build-service +
|
|
45
|
+
* REQUIRED_DEPS) plus npm dedup against swagger-parser's own range, so
|
|
46
|
+
* node_modules never contains a second nested copy;
|
|
47
|
+
* (b) bundler copy: `@apidevtools/openapi-schemas` stays in
|
|
48
|
+
* `serverExternalPackages` alongside `@apidevtools/swagger-parser` in
|
|
49
|
+
* EVERY Next config (build-service/next.config.mjs,
|
|
50
|
+
* cli/config/next.config.js), so Next never bundles one while
|
|
51
|
+
* externalizing the other. (npm dedup does nothing about a
|
|
52
|
+
* bundler-created duplicate — that is a separate failure mode.)
|
|
53
|
+
* Break either one and the heal silently patches a duplicate, returns true,
|
|
54
|
+
* and validation regresses to the original opaque error.
|
|
55
|
+
*/
|
|
56
|
+
export function patchOpenApiSchemasInMemory() {
|
|
57
|
+
const v31 = openapi.v31;
|
|
58
|
+
if (!v31?.$defs)
|
|
59
|
+
return false; // Unexpected upstream shape — leave alone.
|
|
60
|
+
const props = v31.$defs['server-variable']?.properties;
|
|
61
|
+
if (props && !props.description && props.descriptions) {
|
|
62
|
+
props.description = props.descriptions;
|
|
63
|
+
delete props.descriptions;
|
|
64
|
+
}
|
|
65
|
+
const license = v31.$defs.license;
|
|
66
|
+
if (license && Array.isArray(license.oneOf)) {
|
|
67
|
+
delete license.oneOf;
|
|
68
|
+
license.not = { required: ['identifier', 'url'] };
|
|
69
|
+
}
|
|
70
|
+
// `license` must EXIST and be oneOf-free. Asserting only `!oneOf` would
|
|
71
|
+
// report healthy when upstream drops the license def entirely (undefined
|
|
72
|
+
// has no `.oneOf`) — exactly the reshape class this tripwire guards.
|
|
73
|
+
return Boolean(props?.description) && Boolean(license) && !license.oneOf;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=patch-openapi-schemas-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch-openapi-schemas-runtime.js","sourceRoot":"","sources":["../../../src/lib/openapi/patch-openapi-schemas-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAQvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,GAAG,GAAI,OAAsE,CAAC,GAAG,CAAC;IACxF,IAAI,CAAC,GAAG,EAAE,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,2CAA2C;IAE1E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACvD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACtD,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAClC,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,KAAK,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,qEAAqE;IACrE,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAC3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/lib/openapi/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAA0B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/lib/openapi/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAA0B,MAAM,YAAY,CAAC;AA6E3E;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CA0D3B;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,EAAE,CAAC,CASvD;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBtE;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAalC"}
|
|
@@ -8,6 +8,21 @@ import SwaggerParser from '@apidevtools/swagger-parser';
|
|
|
8
8
|
import fs from 'fs';
|
|
9
9
|
import path from 'path';
|
|
10
10
|
import { formatOpenApiError, createFileNotFoundError } from './errors.js';
|
|
11
|
+
import { patchOpenApiSchemasInMemory } from './patch-openapi-schemas-runtime.js';
|
|
12
|
+
/**
|
|
13
|
+
* The self-heal tripwire warn is per-process, not per-spec: validateOpenApiSpecs()
|
|
14
|
+
* loops over every spec in docs.json, and a schema that can't be verified once
|
|
15
|
+
* can't be verified for any of them — without this flag a project with N specs
|
|
16
|
+
* prints the identical warning N times.
|
|
17
|
+
*/
|
|
18
|
+
let selfHealWarned = false;
|
|
19
|
+
function warnSelfHealOnce() {
|
|
20
|
+
if (selfHealWarned)
|
|
21
|
+
return;
|
|
22
|
+
selfHealWarned = true;
|
|
23
|
+
console.warn('[jamdesk] OpenAPI 3.1 meta-schema self-heal could not verify the expected schema shape; ' +
|
|
24
|
+
'validation may falsely reject server-variable descriptions or name-only licenses.');
|
|
25
|
+
}
|
|
11
26
|
/**
|
|
12
27
|
* Detect OpenAPI version from a parsed spec
|
|
13
28
|
*/
|
|
@@ -66,6 +81,14 @@ function checkDuplicateOperationIds(api, specPath) {
|
|
|
66
81
|
* @returns Validation result with dereferenced API document if valid
|
|
67
82
|
*/
|
|
68
83
|
export async function validateOpenApiSpec(specPath, projectDir) {
|
|
84
|
+
// Self-heal the 3.1 meta-schema before every validation: postinstall may
|
|
85
|
+
// never have run (npm 12 blocks install scripts by default). Idempotent,
|
|
86
|
+
// O(1) after the first call. A false return = heal couldn't verify the
|
|
87
|
+
// schema shape — warn (once per process) so users don't hit the original
|
|
88
|
+
// opaque error blind.
|
|
89
|
+
if (!patchOpenApiSchemasInMemory()) {
|
|
90
|
+
warnSelfHealOnce();
|
|
91
|
+
}
|
|
69
92
|
const isUrl = specPath.startsWith('http://') || specPath.startsWith('https://');
|
|
70
93
|
let target;
|
|
71
94
|
if (isUrl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/lib/openapi/validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/lib/openapi/validator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jamdesk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.167",
|
|
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",
|
|
@@ -101,7 +101,8 @@
|
|
|
101
101
|
"postinstall": "node scripts/patch-openapi-schemas.js && node scripts/install-banner.js"
|
|
102
102
|
},
|
|
103
103
|
"dependencies": {
|
|
104
|
-
"@apidevtools/
|
|
104
|
+
"@apidevtools/openapi-schemas": "2.1.0",
|
|
105
|
+
"@apidevtools/swagger-parser": "12.1.0",
|
|
105
106
|
"@inquirer/prompts": "^8.4.1",
|
|
106
107
|
"ajv": "^8.17.1",
|
|
107
108
|
"ajv-formats": "^3.0.1",
|
|
@@ -23,9 +23,14 @@
|
|
|
23
23
|
* one level up.
|
|
24
24
|
*
|
|
25
25
|
* The CLI's *workspace* install (~/.jamdesk) is patched separately and
|
|
26
|
-
* identically by patchWorkspaceOpenApiSchemas() in src/lib/deps.ts
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* identically by patchWorkspaceOpenApiSchemas() in src/lib/deps.ts, and
|
|
27
|
+
* again in-memory (npm 12 can block this very postinstall — see
|
|
28
|
+
* src/lib/openapi/patch-openapi-schemas-runtime.ts) by
|
|
29
|
+
* patchOpenApiSchemasInMemory() there and its build-service mirror at
|
|
30
|
+
* build-service/lib/openapi/patch-openapi-schemas-runtime.ts. If you
|
|
31
|
+
* change the patch logic here, change it in all five: this file,
|
|
32
|
+
* build-service/scripts/patch-openapi-schemas.js, deps.ts, and the two
|
|
33
|
+
* in-memory runtime helpers.
|
|
29
34
|
*/
|
|
30
35
|
|
|
31
36
|
import fs from 'fs';
|
|
@@ -120,6 +120,79 @@ export function parseErrorDetails(
|
|
|
120
120
|
const { pageToFileMap, discoveryHint, repoFullName } = opts;
|
|
121
121
|
const lowerOutput = output.toLowerCase();
|
|
122
122
|
|
|
123
|
+
// R2 upload failure — our storage provider erred, never the customer's
|
|
124
|
+
// content. putWithRetry (scripts/upload-content-to-r2.ts) tags every
|
|
125
|
+
// failed put with this prefix; by the time we see it here the docs
|
|
126
|
+
// compiled fine and only the CDN upload failed. Checked before the
|
|
127
|
+
// generic timeout/OOM classifiers because R2 error text often contains
|
|
128
|
+
// "timeout". Transient indicators mirror isRetryableR2PutError's
|
|
129
|
+
// message heuristics — only those become `temporary` (= silently
|
|
130
|
+
// auto-retried); anything else (403 auth, missing bucket, misconfig)
|
|
131
|
+
// is platform breakage where a retry won't help and the customer +
|
|
132
|
+
// ops must hear about it immediately.
|
|
133
|
+
if (
|
|
134
|
+
phase === 'r2_upload' &&
|
|
135
|
+
(message.includes('R2 put failed') || lowerOutput.includes('r2 put failed'))
|
|
136
|
+
) {
|
|
137
|
+
const r2Text = `${message} ${lowerOutput}`.toLowerCase();
|
|
138
|
+
const R2_TRANSIENT_INDICATORS = [
|
|
139
|
+
// Authoritative signal from putWithRetry (scripts/upload-content-to-r2.ts):
|
|
140
|
+
// its terminal catch appends "[retry envelope exhausted]" ONLY when the
|
|
141
|
+
// failure was retried the full 5 attempts by status code / error name /
|
|
142
|
+
// $retryable — a richer classification than the message-substring list
|
|
143
|
+
// below. It captures transient failures whose text matches none of those
|
|
144
|
+
// substrings (429 "Too Many Requests", SlowDown "Please reduce your
|
|
145
|
+
// request rate."). Checked first; the substrings below stay as a fallback
|
|
146
|
+
// for the SIGTERM/legacy paths that don't carry the marker.
|
|
147
|
+
'retry envelope exhausted',
|
|
148
|
+
'internal error',
|
|
149
|
+
'please try again',
|
|
150
|
+
'timeout',
|
|
151
|
+
// Bare Node socket errors ("connect ETIMEDOUT 1.2.3.4:443") do NOT
|
|
152
|
+
// contain the substring "timeout" (note the extra "d") — listed
|
|
153
|
+
// separately, mirroring isRetryableR2PutError which checks both.
|
|
154
|
+
'etimedout',
|
|
155
|
+
'econnreset',
|
|
156
|
+
'socket hang up',
|
|
157
|
+
'throttl',
|
|
158
|
+
'slow down',
|
|
159
|
+
'service unavailable',
|
|
160
|
+
// 502s can surface as a bare "Bad Gateway" body with none of the
|
|
161
|
+
// texts above — putWithRetry retries them by status code, so an
|
|
162
|
+
// exhaustion with this text is transient too.
|
|
163
|
+
'bad gateway',
|
|
164
|
+
// Matches putWithRetry's defensive post-loop fallback message
|
|
165
|
+
// ("R2 put retry loop exhausted"). That fallback is currently
|
|
166
|
+
// unreachable — the final attempt always rethrows the tagged
|
|
167
|
+
// original error — but match it anyway in case the loop structure
|
|
168
|
+
// changes; exhausting retries implies the error was transient.
|
|
169
|
+
'retry loop exhausted',
|
|
170
|
+
];
|
|
171
|
+
if (R2_TRANSIENT_INDICATORS.some((s) => r2Text.includes(s))) {
|
|
172
|
+
return {
|
|
173
|
+
type: 'temporary',
|
|
174
|
+
message: 'Content upload failed',
|
|
175
|
+
details:
|
|
176
|
+
'Your documentation built successfully, but uploading it to our CDN hit a ' +
|
|
177
|
+
'temporary storage error on our side. Your content and repository are fine.',
|
|
178
|
+
suggestion:
|
|
179
|
+
"We'll retry this build automatically in a few minutes — no action needed; " +
|
|
180
|
+
'if a later build succeeded, this failure is already resolved. ' +
|
|
181
|
+
'If it keeps failing, click "Try Again" or contact support.',
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
type: 'build_error',
|
|
186
|
+
message: 'Content upload failed',
|
|
187
|
+
details:
|
|
188
|
+
'Uploading your documentation to our CDN failed with a storage error on our ' +
|
|
189
|
+
'side. Your content and repository are fine.',
|
|
190
|
+
suggestion:
|
|
191
|
+
'This does not look like a passing glitch, so we have not scheduled an ' +
|
|
192
|
+
'automatic retry. Please contact support and quote the reference below.',
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
|
|
123
196
|
// Extract error source information upfront - used by multiple error types
|
|
124
197
|
const errorSource = extractErrorSource(output, pageToFileMap);
|
|
125
198
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-retry eligibility + customer-facing copy for the graceful-shutdown
|
|
3
|
+
* (SIGTERM/SIGINT) "Build interrupted" failure write in server.ts.
|
|
4
|
+
*
|
|
5
|
+
* Extracted as a pure seam (same rationale as lib/child-process.ts):
|
|
6
|
+
* server.ts starts the HTTP listener and registers the signal handlers at
|
|
7
|
+
* import time, so this logic is unit-tested here instead of through a full
|
|
8
|
+
* server import driving a real signal.
|
|
9
|
+
*
|
|
10
|
+
* Mirrors the reportFailure contract in firestore-reporter.ts exactly —
|
|
11
|
+
* Tasks 4/5 consume `autoRetryEligible === true` as meaning this rule
|
|
12
|
+
* regardless of which write path produced it:
|
|
13
|
+
* - autoRetriedFrom set → NOT eligible (once-only), and the suggestion is
|
|
14
|
+
* rewritten to honest "we already retried" copy: this failure is the one
|
|
15
|
+
* notification the customer receives during a persistent outage, so it
|
|
16
|
+
* must not imply another retry is coming.
|
|
17
|
+
* - tarballKey set → NOT eligible (CLI/CI already saw the failure via
|
|
18
|
+
* non-zero exit; silently publishing later would contradict their
|
|
19
|
+
* recorded result).
|
|
20
|
+
* - JD_AUTO_RETRY_DISABLED=1 → NOT eligible (producer-side kill switch).
|
|
21
|
+
* - snap === null (doc read failed) → NOT eligible, generic copy
|
|
22
|
+
* (fail-closed, legacy behavior).
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export interface InterruptBuildSnap {
|
|
26
|
+
get(field: string): unknown;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function computeInterruptRetryFields(
|
|
30
|
+
snap: InterruptBuildSnap | null,
|
|
31
|
+
errorRef: string,
|
|
32
|
+
env: Record<string, string | undefined> = process.env,
|
|
33
|
+
): { autoRetryEligible: boolean; errorSuggestion: string } {
|
|
34
|
+
const isAutoRetryBuild = Boolean(snap?.get('autoRetriedFrom'));
|
|
35
|
+
const autoRetryEligible =
|
|
36
|
+
snap !== null &&
|
|
37
|
+
env.JD_AUTO_RETRY_DISABLED !== '1' &&
|
|
38
|
+
!isAutoRetryBuild &&
|
|
39
|
+
!snap.get('tarballKey');
|
|
40
|
+
|
|
41
|
+
const reference = `\n\nIf you need help, provide this reference: ${errorRef}`;
|
|
42
|
+
const errorSuggestion = isAutoRetryBuild
|
|
43
|
+
? 'We already retried this build automatically and it failed again — ' +
|
|
44
|
+
'this looks like a longer outage on our side. Please try again in a ' +
|
|
45
|
+
'few minutes, or contact support if it persists.' +
|
|
46
|
+
reference
|
|
47
|
+
: `This is temporary and should resolve itself. Please try again in a few minutes.${reference}`;
|
|
48
|
+
|
|
49
|
+
return { autoRetryEligible, errorSuggestion };
|
|
50
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime (in-memory) self-heal for two defects in
|
|
3
|
+
* @apidevtools/openapi-schemas@2.1.0's bundled OpenAPI 3.1 meta-schema.
|
|
4
|
+
*
|
|
5
|
+
* Why runtime: npm 12 blocks lifecycle scripts not covered by `allowScripts`
|
|
6
|
+
* (only a `warn install-scripts` line, exit 0), so the package postinstall
|
|
7
|
+
* (scripts/patch-openapi-schemas.js) can no longer be relied on to have
|
|
8
|
+
* patched the on-disk schema — the 2026-07-13 `jamdesk dev` failure on a
|
|
9
|
+
* valid spec was exactly this. swagger-parser's validator reads the schema
|
|
10
|
+
* from this module singleton (lib/validators/schema.js:
|
|
11
|
+
* `const { openapi } = require("@apidevtools/openapi-schemas")`), and
|
|
12
|
+
* require() of JSON returns a cached mutable object — so fixing
|
|
13
|
+
* `openapi.v31` in place heals every subsequent SwaggerParser.validate()
|
|
14
|
+
* in this process regardless of installer, script blocking, or file
|
|
15
|
+
* permissions. Disk is never touched.
|
|
16
|
+
*
|
|
17
|
+
* Defect 1 — server-variable typo: `properties` declares `descriptions`
|
|
18
|
+
* (plural). With `unevaluatedProperties: false` on the same def, every
|
|
19
|
+
* spec-valid `description` is rejected with
|
|
20
|
+
* "#/servers/N/variables/<name> must NOT have unevaluated properties".
|
|
21
|
+
* Defect 2 — license over-constraint: `oneOf` forces identifier|url;
|
|
22
|
+
* OpenAPI 3.1 §4.8.4 requires only `name`. Correct guard:
|
|
23
|
+
* `not: { required: ['identifier', 'url'] }`.
|
|
24
|
+
*
|
|
25
|
+
* Sync chain (drift-guarded by
|
|
26
|
+
* cli/src/__tests__/unit/openapi-schema-patch-sync.test.ts): this file,
|
|
27
|
+
* cli/src/lib/openapi/patch-openapi-schemas-runtime.ts, both package
|
|
28
|
+
* postinstall scripts, and patchWorkspaceOpenApiSchemas() in
|
|
29
|
+
* cli/src/lib/deps.ts. If you change one, change all five source sites
|
|
30
|
+
* (the vendored copy under cli/vendored/ is regenerated by `npm run
|
|
31
|
+
* vendor` and drift-guarded as a sixth).
|
|
32
|
+
*/
|
|
33
|
+
import { openapi } from '@apidevtools/openapi-schemas';
|
|
34
|
+
|
|
35
|
+
type SchemaDef = {
|
|
36
|
+
properties?: Record<string, unknown>;
|
|
37
|
+
oneOf?: unknown;
|
|
38
|
+
not?: unknown;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @returns true when the schema is in the known-good healed state after the
|
|
43
|
+
* call; false when the heal could not verify it (upstream reshape, missing
|
|
44
|
+
* $defs). Callers warn on false so a real user failure is debuggable instead
|
|
45
|
+
* of reproducing the original opaque validation error.
|
|
46
|
+
*
|
|
47
|
+
* The tripwire catches upstream reshapes ONLY. It cannot detect a split module
|
|
48
|
+
* instance — if `openapi-schemas` resolves to two copies, this heals and
|
|
49
|
+
* verifies one of them and still returns true while swagger-parser reads the
|
|
50
|
+
* other. A single instance rests on TWO guarantees, both of which must hold:
|
|
51
|
+
* (a) physical copy: the exact `2.1.0` pin (cli + build-service +
|
|
52
|
+
* REQUIRED_DEPS) plus npm dedup against swagger-parser's own range, so
|
|
53
|
+
* node_modules never contains a second nested copy;
|
|
54
|
+
* (b) bundler copy: `@apidevtools/openapi-schemas` stays in
|
|
55
|
+
* `serverExternalPackages` alongside `@apidevtools/swagger-parser` in
|
|
56
|
+
* EVERY Next config (build-service/next.config.mjs,
|
|
57
|
+
* cli/config/next.config.js), so Next never bundles one while
|
|
58
|
+
* externalizing the other. (npm dedup does nothing about a
|
|
59
|
+
* bundler-created duplicate — that is a separate failure mode.)
|
|
60
|
+
* Break either one and the heal silently patches a duplicate, returns true,
|
|
61
|
+
* and validation regresses to the original opaque error.
|
|
62
|
+
*/
|
|
63
|
+
export function patchOpenApiSchemasInMemory(): boolean {
|
|
64
|
+
const v31 = (openapi as unknown as { v31?: { $defs?: Record<string, SchemaDef> } }).v31;
|
|
65
|
+
if (!v31?.$defs) return false; // Unexpected upstream shape — leave alone.
|
|
66
|
+
|
|
67
|
+
const props = v31.$defs['server-variable']?.properties;
|
|
68
|
+
if (props && !props.description && props.descriptions) {
|
|
69
|
+
props.description = props.descriptions;
|
|
70
|
+
delete props.descriptions;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const license = v31.$defs.license;
|
|
74
|
+
if (license && Array.isArray(license.oneOf)) {
|
|
75
|
+
delete license.oneOf;
|
|
76
|
+
license.not = { required: ['identifier', 'url'] };
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// `license` must EXIST and be oneOf-free. Asserting only `!oneOf` would
|
|
80
|
+
// report healthy when upstream drops the license def entirely (undefined
|
|
81
|
+
// has no `.oneOf`) — exactly the reshape class this tripwire guards.
|
|
82
|
+
return Boolean(props?.description) && Boolean(license) && !license.oneOf;
|
|
83
|
+
}
|