@nifrajs/cli 3.1.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/assure-hydration.d.ts.map +1 -1
- package/dist/assure-hydration.js +6 -1
- package/dist/assure-hydration.js.map +1 -1
- package/dist/assure.d.ts.map +1 -1
- package/dist/assure.js +3 -2
- package/dist/assure.js.map +1 -1
- package/dist/check-diagnostics.d.ts +165 -0
- package/dist/check-diagnostics.d.ts.map +1 -0
- package/dist/check-diagnostics.js +1009 -0
- package/dist/check-diagnostics.js.map +1 -0
- package/dist/check-scan.d.ts +245 -0
- package/dist/check-scan.d.ts.map +1 -0
- package/dist/check-scan.js +1599 -0
- package/dist/check-scan.js.map +1 -0
- package/dist/check.d.ts +4 -324
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +8 -2366
- package/dist/check.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +247 -10
- package/dist/cli.js.map +1 -1
- package/dist/command-catalog.d.ts +21 -1
- package/dist/command-catalog.d.ts.map +1 -1
- package/dist/command-catalog.js +122 -0
- package/dist/command-catalog.js.map +1 -1
- package/dist/env-file.js +5 -5
- package/dist/env-file.js.map +1 -1
- package/dist/frontend-guidance.d.ts +57 -0
- package/dist/frontend-guidance.d.ts.map +1 -0
- package/dist/frontend-guidance.js +195 -0
- package/dist/frontend-guidance.js.map +1 -0
- package/dist/levels-tool.d.ts.map +1 -1
- package/dist/levels-tool.js +6 -0
- package/dist/levels-tool.js.map +1 -1
- package/dist/load.d.ts.map +1 -1
- package/dist/load.js +4 -1
- package/dist/load.js.map +1 -1
- package/dist/mcp-context.d.ts +48 -0
- package/dist/mcp-context.d.ts.map +1 -0
- package/dist/mcp-context.js +215 -0
- package/dist/mcp-context.js.map +1 -0
- package/dist/mcp-docs-tools.d.ts.map +1 -1
- package/dist/mcp-docs-tools.js +31 -0
- package/dist/mcp-docs-tools.js.map +1 -1
- package/dist/mcp-exec.d.ts +74 -0
- package/dist/mcp-exec.d.ts.map +1 -0
- package/dist/mcp-exec.js +844 -0
- package/dist/mcp-exec.js.map +1 -0
- package/dist/mcp-http.js +1 -1
- package/dist/mcp-io.d.ts +26 -0
- package/dist/mcp-io.d.ts.map +1 -0
- package/dist/mcp-io.js +100 -0
- package/dist/mcp-io.js.map +1 -0
- package/dist/mcp-reflect.d.ts +16 -0
- package/dist/mcp-reflect.d.ts.map +1 -0
- package/dist/mcp-reflect.js +101 -0
- package/dist/mcp-reflect.js.map +1 -0
- package/dist/mcp-root.d.ts +7 -0
- package/dist/mcp-root.d.ts.map +1 -1
- package/dist/mcp-root.js +51 -3
- package/dist/mcp-root.js.map +1 -1
- package/dist/mcp.d.ts +10 -92
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +13 -1232
- package/dist/mcp.js.map +1 -1
- package/dist/openapi-tool.d.ts +5 -10
- package/dist/openapi-tool.d.ts.map +1 -1
- package/dist/openapi-tool.js +21 -2
- package/dist/openapi-tool.js.map +1 -1
- package/dist/openapi-types.d.ts +21 -0
- package/dist/openapi-types.d.ts.map +1 -0
- package/dist/openapi-types.js +214 -0
- package/dist/openapi-types.js.map +1 -0
- package/dist/port.d.ts.map +1 -1
- package/dist/port.js +2 -1
- package/dist/port.js.map +1 -1
- package/dist/project-facts.d.ts +2 -1
- package/dist/project-facts.d.ts.map +1 -1
- package/dist/project-facts.js.map +1 -1
- package/dist/release-verification.d.ts +4 -1
- package/dist/release-verification.d.ts.map +1 -1
- package/dist/release-verification.js +6 -138
- package/dist/release-verification.js.map +1 -1
- package/dist/rules/codes.d.ts +4 -0
- package/dist/rules/codes.d.ts.map +1 -1
- package/dist/rules/codes.js +4 -0
- package/dist/rules/codes.js.map +1 -1
- package/dist/rules/islands.d.ts +4 -0
- package/dist/rules/islands.d.ts.map +1 -0
- package/dist/rules/islands.js +155 -0
- package/dist/rules/islands.js.map +1 -0
- package/dist/rules/nano.d.ts +6 -0
- package/dist/rules/nano.d.ts.map +1 -0
- package/dist/rules/nano.js +264 -0
- package/dist/rules/nano.js.map +1 -0
- package/dist/rules/security.d.ts.map +1 -1
- package/dist/rules/security.js +38 -4
- package/dist/rules/security.js.map +1 -1
- package/dist/scaffold.d.ts +12 -6
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +149 -10
- package/dist/scaffold.js.map +1 -1
- package/dist/search-terms.d.ts.map +1 -1
- package/dist/search-terms.js +5 -3
- package/dist/search-terms.js.map +1 -1
- package/dist/stylex-migrate.d.ts +38 -0
- package/dist/stylex-migrate.d.ts.map +1 -0
- package/dist/stylex-migrate.js +1052 -0
- package/dist/stylex-migrate.js.map +1 -0
- package/dist/sync-manifest.d.ts.map +1 -1
- package/dist/sync-manifest.js +2 -1
- package/dist/sync-manifest.js.map +1 -1
- package/dist/verification-plan.d.ts +24 -0
- package/dist/verification-plan.d.ts.map +1 -0
- package/dist/verification-plan.js +116 -0
- package/dist/verification-plan.js.map +1 -0
- package/dist/work-graph.d.ts.map +1 -1
- package/dist/work-graph.js +6 -3
- package/dist/work-graph.js.map +1 -1
- package/docs/examples.json +46 -4
- package/docs/llms-full.txt +1346 -28
- package/docs/types.json +4185 -87
- package/package.json +9 -9
- package/src/assure-hydration.ts +6 -1
- package/src/assure.ts +4 -2
- package/src/check-diagnostics.ts +1219 -0
- package/src/check-scan.ts +1825 -0
- package/src/check.ts +47 -2752
- package/src/cli.ts +252 -10
- package/src/command-catalog.ts +155 -0
- package/src/env-file.ts +5 -5
- package/src/frontend-guidance.ts +259 -0
- package/src/levels-tool.ts +6 -0
- package/src/load.ts +4 -1
- package/src/mcp-context.ts +266 -0
- package/src/mcp-docs-tools.ts +37 -0
- package/src/mcp-exec.ts +1040 -0
- package/src/mcp-http.ts +1 -1
- package/src/mcp-io.ts +118 -0
- package/src/mcp-reflect.ts +140 -0
- package/src/mcp-root.ts +62 -4
- package/src/mcp.ts +61 -1511
- package/src/openapi-tool.ts +32 -2
- package/src/openapi-types.ts +261 -0
- package/src/port.ts +2 -1
- package/src/project-facts.ts +2 -4
- package/src/release-verification.ts +22 -164
- package/src/rules/codes.ts +4 -0
- package/src/rules/islands.ts +171 -0
- package/src/rules/nano.ts +295 -0
- package/src/rules/security.ts +40 -4
- package/src/scaffold.ts +169 -9
- package/src/search-terms.ts +7 -3
- package/src/stylex-migrate.ts +1139 -0
- package/src/sync-manifest.ts +2 -1
- package/src/verification-plan.ts +242 -0
- package/src/work-graph.ts +6 -3
package/dist/env-file.js
CHANGED
|
@@ -61,8 +61,8 @@ export function takeEnvFileFlags(argv) {
|
|
|
61
61
|
const rest = [];
|
|
62
62
|
const files = [];
|
|
63
63
|
for (let index = 0; index < argv.length; index++) {
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
64
|
+
const arg = argv[index];
|
|
65
|
+
if (arg === ENV_FILE_FLAG) {
|
|
66
66
|
const value = argv[index + 1];
|
|
67
67
|
if (value === undefined || value.startsWith("-")) {
|
|
68
68
|
throw new Error(`[nifra] ${ENV_FILE_FLAG} needs a path, e.g. ${ENV_FILE_FLAG} .env.local`);
|
|
@@ -71,15 +71,15 @@ export function takeEnvFileFlags(argv) {
|
|
|
71
71
|
index++;
|
|
72
72
|
continue;
|
|
73
73
|
}
|
|
74
|
-
if (
|
|
75
|
-
const value =
|
|
74
|
+
if (arg.startsWith(`${ENV_FILE_FLAG}=`)) {
|
|
75
|
+
const value = arg.slice(ENV_FILE_FLAG.length + 1);
|
|
76
76
|
if (value === "") {
|
|
77
77
|
throw new Error(`[nifra] ${ENV_FILE_FLAG} needs a path, e.g. ${ENV_FILE_FLAG}=.env.local`);
|
|
78
78
|
}
|
|
79
79
|
files.push(value);
|
|
80
80
|
continue;
|
|
81
81
|
}
|
|
82
|
-
rest.push(
|
|
82
|
+
rest.push(arg);
|
|
83
83
|
}
|
|
84
84
|
return { argv: rest, files };
|
|
85
85
|
}
|
package/dist/env-file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../src/env-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,aAAa,GAAG,YAAY,CAAA;AAElC;;;;GAIG;AACH,MAAM,UAAU,GAAG,wDAAwD,CAAA;AAE3E,wGAAwG;AACxG,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IACxB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,KAAK;aACT,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACZ,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAC5C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACvE,CAAA;IACL,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAChG,iGAAiG;IACjG,uEAAuE;IACvE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAClE,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QACpE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,KAAK,KAAK,IAAI;YAAE,SAAQ;QAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAuB;IAItD,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,
|
|
1
|
+
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../src/env-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nifra_frontend` - a symptom-indexed catalog of the mistakes an agent (or a human) hits on the client
|
|
3
|
+
* side of a nifra app, across every adapter. It is the FRONTEND companion to `nifra_check`: where the
|
|
4
|
+
* check statically flags the footguns nifra's own seam owns (server-only imports, the nano lane), this
|
|
5
|
+
* catalog covers the ones a static rule can't own cheaply - hydration nondeterminism, a duplicated
|
|
6
|
+
* framework runtime, and the per-framework reactivity-loss idioms that each ecosystem's own linter is
|
|
7
|
+
* the real authority on.
|
|
8
|
+
*
|
|
9
|
+
* Deliberately a compact reference, not an accumulated fault corpus: two kinds of entry only.
|
|
10
|
+
* - Seam entries (`adapters: ["all"]`) - the boundary nifra defines: server/client split, the loader
|
|
11
|
+
* data contract, hydration determinism, one framework copy. These point at a `nifra_*` tool to fix
|
|
12
|
+
* and verify, because nifra owns that surface.
|
|
13
|
+
* - Framework entries - the classic reactivity-loss shape for one adapter (Vue ref, Solid props,
|
|
14
|
+
* Svelte runes, React/Preact deps). These point at that framework's own ESLint plugin, which is the
|
|
15
|
+
* authority; nifra does not re-implement it, it routes you to it.
|
|
16
|
+
*
|
|
17
|
+
* One source, two heads: `nifra_frontend` (MCP) serves it to an agent; `nifra frontend` (CLI) prints it
|
|
18
|
+
* for a human. Both call {@link renderFrontendResult}, so they can never drift.
|
|
19
|
+
*/
|
|
20
|
+
import type { Framework } from "./scaffold.js";
|
|
21
|
+
/** An adapter an entry applies to, or `all` for a seam issue that is adapter-independent. */
|
|
22
|
+
export type GuidanceAdapter = Framework | "all";
|
|
23
|
+
export interface GuidanceEntry {
|
|
24
|
+
/** Stable slug, e.g. `server-import`. */
|
|
25
|
+
readonly id: string;
|
|
26
|
+
/** Which adapters this applies to. `["all"]` is a seam issue every adapter shares. */
|
|
27
|
+
readonly adapters: readonly GuidanceAdapter[];
|
|
28
|
+
/** What you observe - the searchable symptom, phrased as the failure, not the cause. */
|
|
29
|
+
readonly symptom: string;
|
|
30
|
+
/** Why it happens. */
|
|
31
|
+
readonly cause: string;
|
|
32
|
+
/** The concrete change that fixes it. */
|
|
33
|
+
readonly fix: string;
|
|
34
|
+
/** How to confirm it is fixed - a `nifra_*` tool for a seam issue, the framework's linter otherwise. */
|
|
35
|
+
readonly verify: string;
|
|
36
|
+
/** Where to go deeper - a `nifra_docs`/`nifra_example` query, or the ecosystem linter that owns it. */
|
|
37
|
+
readonly seeAlso?: string | undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The catalog. Seam entries first (they are the nifra-specific value and apply everywhere), then the
|
|
41
|
+
* per-framework reactivity-loss entries. Keep it compact and high-signal - a curated fault corpus mined
|
|
42
|
+
* from real failures is operated depth and lives elsewhere, not in the public package.
|
|
43
|
+
*/
|
|
44
|
+
export declare const FRONTEND_GUIDANCE: readonly GuidanceEntry[];
|
|
45
|
+
/** Normalize a free-text adapter argument to a known adapter, or `undefined` if it is not one. */
|
|
46
|
+
export declare function parseAdapter(value: string | undefined): GuidanceAdapter | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Render the catalog. Filters by `adapter` (when it names a known one), then by a `symptom` keyword
|
|
49
|
+
* query. With no query it returns the (filtered) index; with a query it returns the best-matching
|
|
50
|
+
* entries in full, or the index plus a "no match" note when nothing scores. Pure, so both heads agree.
|
|
51
|
+
*/
|
|
52
|
+
export declare function renderFrontendResult(args: {
|
|
53
|
+
adapter?: string | undefined;
|
|
54
|
+
symptom?: string | undefined;
|
|
55
|
+
limit?: number | undefined;
|
|
56
|
+
}): string;
|
|
57
|
+
//# sourceMappingURL=frontend-guidance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-guidance.d.ts","sourceRoot":"","sources":["../src/frontend-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,6FAA6F;AAC7F,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,KAAK,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;IAC7C,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,sBAAsB;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,yCAAyC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,wGAAwG;IACxG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,aAAa,EAuHrD,CAAA;AAYD,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAGnF;AA2CD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,GAAG,MAAM,CAwBT"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nifra_frontend` - a symptom-indexed catalog of the mistakes an agent (or a human) hits on the client
|
|
3
|
+
* side of a nifra app, across every adapter. It is the FRONTEND companion to `nifra_check`: where the
|
|
4
|
+
* check statically flags the footguns nifra's own seam owns (server-only imports, the nano lane), this
|
|
5
|
+
* catalog covers the ones a static rule can't own cheaply - hydration nondeterminism, a duplicated
|
|
6
|
+
* framework runtime, and the per-framework reactivity-loss idioms that each ecosystem's own linter is
|
|
7
|
+
* the real authority on.
|
|
8
|
+
*
|
|
9
|
+
* Deliberately a compact reference, not an accumulated fault corpus: two kinds of entry only.
|
|
10
|
+
* - Seam entries (`adapters: ["all"]`) - the boundary nifra defines: server/client split, the loader
|
|
11
|
+
* data contract, hydration determinism, one framework copy. These point at a `nifra_*` tool to fix
|
|
12
|
+
* and verify, because nifra owns that surface.
|
|
13
|
+
* - Framework entries - the classic reactivity-loss shape for one adapter (Vue ref, Solid props,
|
|
14
|
+
* Svelte runes, React/Preact deps). These point at that framework's own ESLint plugin, which is the
|
|
15
|
+
* authority; nifra does not re-implement it, it routes you to it.
|
|
16
|
+
*
|
|
17
|
+
* One source, two heads: `nifra_frontend` (MCP) serves it to an agent; `nifra frontend` (CLI) prints it
|
|
18
|
+
* for a human. Both call {@link renderFrontendResult}, so they can never drift.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* The catalog. Seam entries first (they are the nifra-specific value and apply everywhere), then the
|
|
22
|
+
* per-framework reactivity-loss entries. Keep it compact and high-signal - a curated fault corpus mined
|
|
23
|
+
* from real failures is operated depth and lives elsewhere, not in the public package.
|
|
24
|
+
*/
|
|
25
|
+
export const FRONTEND_GUIDANCE = [
|
|
26
|
+
{
|
|
27
|
+
id: "server-import",
|
|
28
|
+
adapters: ["all"],
|
|
29
|
+
symptom: "A client component crashes at build or runtime with a missing Node built-in, a leaked secret, or 'module not found in the browser'.",
|
|
30
|
+
cause: "A server-only module (the DB, a secret, `node:*`, the backend file) is imported at the top level of a component, so the bundler tries to ship it to the browser.",
|
|
31
|
+
fix: "Move the access into a server-only `loader`/`action` and read the result in the component. Reach the backend through the typed `api` argument, never a top-level server-only import.",
|
|
32
|
+
verify: "nifra_check - its transitive server-import scan flags the exact import chain into a client module.",
|
|
33
|
+
seeAlso: "loader action server-only import boundary",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "hydration-mismatch",
|
|
37
|
+
adapters: ["all"],
|
|
38
|
+
symptom: "A hydration warning, text that flips on load, or 'server HTML did not match client' the first time the page becomes interactive.",
|
|
39
|
+
cause: "The first client render is not identical to the SSR HTML - usually a non-deterministic read during render: `Date.now()`, `Math.random()`, `window`/`localStorage`, or a locale/timezone the server did not have.",
|
|
40
|
+
fix: "Render deterministic markup, then apply anything client-only in an effect / `onMount` after the first paint. Pass anything the server knew (time, locale, flags) down through loader data so both renders agree.",
|
|
41
|
+
verify: "nifra_render the route and diff its HTML against the first client render; nifra_check's hydration assurance reports nondeterminism it can see.",
|
|
42
|
+
seeAlso: "hydration ssr determinism loader data",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "duplicate-runtime",
|
|
46
|
+
adapters: ["react", "preact", "solid", "vue", "svelte"],
|
|
47
|
+
symptom: "'Invalid hook call', a null context/provider, signals that never update, or a component that mounts twice.",
|
|
48
|
+
cause: "Two copies of the framework are in the bundle - the app's own dependency and a second one resolved through the adapter - so the two runtimes do not share the same module-level state.",
|
|
49
|
+
fix: "Dedupe the framework to a single version across the workspace (one entry in the lockfile). The adapter must resolve the app's copy, not bundle its own.",
|
|
50
|
+
verify: "nifra_doctor - it detects a duplicated framework runtime (NF-H002).",
|
|
51
|
+
seeAlso: "duplicate framework runtime dedupe NF-H002",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "loader-typing",
|
|
55
|
+
adapters: ["all"],
|
|
56
|
+
symptom: "Loader data is typed `any` in the page, or a hand-written interface silently drifts from what the loader actually returns.",
|
|
57
|
+
cause: "The component types its props by hand instead of inferring them from the loader, so a change to the loader is not a type error at the use site.",
|
|
58
|
+
fix: "Type the page from the loader: `props: { data: LoaderData<typeof loader> }`. Call the backend through the typed `api` so the request/response shape is inferred, not restated.",
|
|
59
|
+
verify: "nifra_context prints the exact loader shape and typed call form; nifra_check fails on drift.",
|
|
60
|
+
seeAlso: "LoaderData typed client loader inference",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: "list-key",
|
|
64
|
+
adapters: ["all"],
|
|
65
|
+
symptom: "List rows keep the wrong state on reorder/insert - a checked box, focus, or an input value jumps to a different row.",
|
|
66
|
+
cause: "The list is keyed by the array index (or not keyed at all), so add/remove/reorder maps the wrong item to an existing node.",
|
|
67
|
+
fix: "Key each row by a stable, unique id from the item, never its position in the array.",
|
|
68
|
+
verify: "The framework's own linter for JSX keys; on the vanilla nano lane, nifra_check flags an index key as NF-C022.",
|
|
69
|
+
seeAlso: "list key stable id reconcile nano",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: "vue-lost-reactivity",
|
|
73
|
+
adapters: ["vue"],
|
|
74
|
+
symptom: "A value stops updating the template after you pull it out of a ref, reactive object, or props.",
|
|
75
|
+
cause: "Destructuring a `reactive()` object or `props` copies the current value and drops the reactive link; a `ref` read in script forgets `.value`.",
|
|
76
|
+
fix: "Keep the reactive source intact: use `toRefs`/`storeToRefs` when you must destructure, access `props.x` directly, and remember `.value` on a ref in script (templates unwrap it for you).",
|
|
77
|
+
verify: "eslint-plugin-vue - it is the authority on Vue reactivity; nifra does not re-implement it.",
|
|
78
|
+
seeAlso: "eslint-plugin-vue toRefs reactivity",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: "solid-lost-reactivity",
|
|
82
|
+
adapters: ["solid"],
|
|
83
|
+
symptom: "A prop or store value renders once and never tracks updates in a Solid component.",
|
|
84
|
+
cause: "Solid props are getters, evaluated where you read them. Destructuring props (or reading them outside JSX/an effect) reads once and loses tracking.",
|
|
85
|
+
fix: "Access `props.x` at the point of use inside JSX, or `splitProps`/`mergeProps` when you need to pass a subset on. Never destructure props in the function signature.",
|
|
86
|
+
verify: "eslint-plugin-solid - the authority on Solid reactivity; nifra routes you to it, not around it.",
|
|
87
|
+
seeAlso: "eslint-plugin-solid splitProps props getters",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: "svelte-runes",
|
|
91
|
+
adapters: ["svelte"],
|
|
92
|
+
symptom: "In a Svelte 5 component, `export let` props or a `$:` statement do not behave as expected, or the compiler rejects them in runes mode.",
|
|
93
|
+
cause: "Runes mode replaces the Svelte 4 idioms: props come from `$props()`, derived values from `$derived`, side effects from `$effect`. Mixing the two models is the mismatch.",
|
|
94
|
+
fix: "In runes mode use `$props()` for inputs, `$state` for local state, `$derived` for computed values, and `$effect` for side effects - not `export let` or `$:`.",
|
|
95
|
+
verify: "eslint-plugin-svelte and the Svelte compiler warnings own this; nifra points you at them.",
|
|
96
|
+
seeAlso: "eslint-plugin-svelte runes $props $derived",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: "react-stale-deps",
|
|
100
|
+
adapters: ["react", "preact"],
|
|
101
|
+
symptom: "An effect or callback uses a stale value, fires too often, or never re-runs when a value it reads changes.",
|
|
102
|
+
cause: "The dependency array omits a value the effect/callback closes over (or the effect has no array), so the closure captures an old render's value.",
|
|
103
|
+
fix: "List every reactive value the effect reads in its deps, or hold the mutable value in a ref when it must not trigger a re-run. Do not silence the rule by emptying the array.",
|
|
104
|
+
verify: "eslint-plugin-react-hooks (`exhaustive-deps`) is the authority on effect deps; nifra does not duplicate it.",
|
|
105
|
+
seeAlso: "eslint-plugin-react-hooks exhaustive-deps effect closure",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
id: "prefer-nano-or-island",
|
|
109
|
+
adapters: ["vanilla"],
|
|
110
|
+
symptom: "A vanilla page needs local state or a list a human edits, and hand-written DOM updates are getting fragile.",
|
|
111
|
+
cause: "The islands lane is imperative and has no state primitive, so each update is hand-wired and a list means rebuilding the container.",
|
|
112
|
+
fix: "Use the nano lane: `signal` + `computed(fn, [deps])` for state, `bindList` for a keyed list, `resource` for async. Every reactive edge is a visible call, so its mistakes are static lints.",
|
|
113
|
+
verify: "nifra_check runs NF-C021 (discarded disposer), NF-C022 (index key), NF-C023 (missing dep) over the nano code.",
|
|
114
|
+
seeAlso: "nano signal computed bindList resource islands",
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
const ADAPTER_ALIASES = {
|
|
118
|
+
all: "all",
|
|
119
|
+
react: "react",
|
|
120
|
+
preact: "preact",
|
|
121
|
+
solid: "solid",
|
|
122
|
+
vue: "vue",
|
|
123
|
+
svelte: "svelte",
|
|
124
|
+
vanilla: "vanilla",
|
|
125
|
+
};
|
|
126
|
+
/** Normalize a free-text adapter argument to a known adapter, or `undefined` if it is not one. */
|
|
127
|
+
export function parseAdapter(value) {
|
|
128
|
+
if (value === undefined)
|
|
129
|
+
return undefined;
|
|
130
|
+
return ADAPTER_ALIASES[value.trim().toLowerCase()];
|
|
131
|
+
}
|
|
132
|
+
const appliesTo = (entry, adapter) => adapter === "all" || entry.adapters.includes("all") || entry.adapters.includes(adapter);
|
|
133
|
+
/** Keyword score of an entry against a query - counts distinct query words found in its text. */
|
|
134
|
+
function score(entry, words) {
|
|
135
|
+
const hay = `${entry.id} ${entry.symptom} ${entry.cause} ${entry.fix} ${entry.seeAlso ?? ""}`.toLowerCase();
|
|
136
|
+
let hits = 0;
|
|
137
|
+
for (const w of words)
|
|
138
|
+
if (hay.includes(w))
|
|
139
|
+
hits++;
|
|
140
|
+
return hits;
|
|
141
|
+
}
|
|
142
|
+
function renderEntry(entry) {
|
|
143
|
+
const scope = entry.adapters.includes("all") ? "all adapters" : entry.adapters.join(", ");
|
|
144
|
+
const parts = [
|
|
145
|
+
`[${entry.id}] (${scope})`,
|
|
146
|
+
`Symptom: ${entry.symptom}`,
|
|
147
|
+
`Cause: ${entry.cause}`,
|
|
148
|
+
`Fix: ${entry.fix}`,
|
|
149
|
+
`Verify: ${entry.verify}`,
|
|
150
|
+
];
|
|
151
|
+
if (entry.seeAlso !== undefined)
|
|
152
|
+
parts.push(`See: ${entry.seeAlso}`);
|
|
153
|
+
return parts.join("\n");
|
|
154
|
+
}
|
|
155
|
+
function renderIndex(entries, adapter) {
|
|
156
|
+
const scope = adapter === undefined ? "all adapters" : `adapter: ${adapter}`;
|
|
157
|
+
const lines = entries.map((e) => {
|
|
158
|
+
const s = e.adapters.includes("all") ? "all" : e.adapters.join("/");
|
|
159
|
+
return `- ${e.id} (${s}) - ${e.symptom}`;
|
|
160
|
+
});
|
|
161
|
+
return [
|
|
162
|
+
`nifra frontend guidance (${entries.length} of ${FRONTEND_GUIDANCE.length}, ${scope}). Pass a symptom to get the cause + fix + how to verify; pass an adapter to filter.`,
|
|
163
|
+
"",
|
|
164
|
+
...lines,
|
|
165
|
+
].join("\n");
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Render the catalog. Filters by `adapter` (when it names a known one), then by a `symptom` keyword
|
|
169
|
+
* query. With no query it returns the (filtered) index; with a query it returns the best-matching
|
|
170
|
+
* entries in full, or the index plus a "no match" note when nothing scores. Pure, so both heads agree.
|
|
171
|
+
*/
|
|
172
|
+
export function renderFrontendResult(args) {
|
|
173
|
+
const adapter = parseAdapter(args.adapter);
|
|
174
|
+
const scoped = adapter === undefined
|
|
175
|
+
? FRONTEND_GUIDANCE
|
|
176
|
+
: FRONTEND_GUIDANCE.filter((e) => appliesTo(e, adapter));
|
|
177
|
+
const query = args.symptom?.trim();
|
|
178
|
+
if (query === undefined || query.length === 0)
|
|
179
|
+
return renderIndex(scoped, adapter);
|
|
180
|
+
const words = query
|
|
181
|
+
.toLowerCase()
|
|
182
|
+
.split(/\s+/)
|
|
183
|
+
.filter((w) => w.length > 1);
|
|
184
|
+
const limit = Math.min(Math.max(args.limit ?? 3, 1), 5);
|
|
185
|
+
const ranked = scoped
|
|
186
|
+
.map((entry) => ({ entry, s: score(entry, words) }))
|
|
187
|
+
.filter((r) => r.s > 0)
|
|
188
|
+
.sort((a, b) => b.s - a.s)
|
|
189
|
+
.slice(0, limit);
|
|
190
|
+
if (ranked.length === 0) {
|
|
191
|
+
return `No frontend-guidance entry matched "${query}"${adapter ? ` for ${adapter}` : ""}.\n\n${renderIndex(scoped, adapter)}`;
|
|
192
|
+
}
|
|
193
|
+
return ranked.map((r) => renderEntry(r.entry)).join("\n\n");
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=frontend-guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-guidance.js","sourceRoot":"","sources":["../src/frontend-guidance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levels-tool.d.ts","sourceRoot":"","sources":["../src/levels-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAA;CACpD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,iGAAiG;AACjG,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"levels-tool.d.ts","sourceRoot":"","sources":["../src/levels-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAA;CACpD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,iGAAiG;AACjG,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAsJnC;AAqBD,2FAA2F;AAC3F,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAoB,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACtF,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
|
package/dist/levels-tool.js
CHANGED
|
@@ -100,6 +100,12 @@ export async function collectVerificationLevels(cwd, options = {}) {
|
|
|
100
100
|
if (assurance.ok && (capabilityReport === undefined || capabilityReport.ok)) {
|
|
101
101
|
const current = await buildNifraManifest({
|
|
102
102
|
source: config.source,
|
|
103
|
+
// `evidence` is NOT optional detail here - it is what `nifra manifest emit` and the
|
|
104
|
+
// `versioned trust manifest drift` check in `nifra check` both hash. Omitting it made
|
|
105
|
+
// this recompute a manifest nothing else ever emits, so every app that publishes
|
|
106
|
+
// assurance evidence from outside its `.use()` chain (the `assure()` seam) reported a
|
|
107
|
+
// freshly emitted manifest as stale and could never reach L3.
|
|
108
|
+
...(verification.evidence !== undefined ? { evidence: verification.evidence } : {}),
|
|
103
109
|
assurance,
|
|
104
110
|
...(capabilityReport !== undefined ? { capabilities: capabilityReport } : {}),
|
|
105
111
|
});
|
package/dist/levels-tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levels-tool.js","sourceRoot":"","sources":["../src/levels-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"levels-tool.js","sourceRoot":"","sources":["../src/levels-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/load.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,OAAO,EAAE,GAClB,CAAC,MAAM,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAA;AAE5D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;;;8FAI0F;IAC1F,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IACnC,oGAAoG;IACpG,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAA;IACnC;yEACqE;IACrE,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAA;IACrC;0GACsG;IACtG,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAA;IACrC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACnC,wFAAwF;IACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAyBD,uGAAuG;AACvG,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAGxF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;;mGAE+F;IAC/F,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;IAClC,gGAAgG;IAChG,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAQrC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAK/C;AAOD;oGACoG;AACpG,wBAAsB,OAAO,CAC3B,GAAG,EAAE,MAAM,EACX,UAAU,SAAS,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,OAAO,EAAE,GAClB,CAAC,MAAM,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAA;AAE5D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;;;8FAI0F;IAC1F,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IACnC,oGAAoG;IACpG,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAA;IACnC;yEACqE;IACrE,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAA;IACrC;0GACsG;IACtG,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAA;IACrC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACnC,wFAAwF;IACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAyBD,uGAAuG;AACvG,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAGxF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;;mGAE+F;IAC/F,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;IAClC,gGAAgG;IAChG,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAChD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAQrC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAK/C;AAOD;oGACoG;AACpG,wBAAsB,OAAO,CAC3B,GAAG,EAAE,MAAM,EACX,UAAU,SAAS,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,SAAS,CAAC,CAmFpB"}
|
package/dist/load.js
CHANGED
|
@@ -106,7 +106,10 @@ export async function loadApp(cwd, outDirName = "dist", options = {}) {
|
|
|
106
106
|
// and passes through unchanged.
|
|
107
107
|
let clientModule;
|
|
108
108
|
if (fw.clientModule.startsWith("./") || fw.clientModule.startsWith("../")) {
|
|
109
|
-
|
|
109
|
+
// The value is embedded in generated import source, not passed directly to a filesystem API.
|
|
110
|
+
// Keep it absolute but slash-normalized so the generated module is identical on POSIX and
|
|
111
|
+
// Windows (Bun accepts an absolute drive path with forward slashes).
|
|
112
|
+
clientModule = resolve(cwd, fw.clientModule).replaceAll("\\", "/");
|
|
110
113
|
}
|
|
111
114
|
else {
|
|
112
115
|
// A specifier that is neither `./`-relative, scoped (`@…`), nor absolute is read as a BARE PACKAGE
|
package/dist/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project context and trust-local utilities for the MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Resources, prompts, path scoping, and monorepo namespacing are independent of the JSON-RPC loop and
|
|
5
|
+
* of backend reflection. App loading is injected through the shared cached loader seam.
|
|
6
|
+
*/
|
|
7
|
+
import type { LoadedApp } from "./load.js";
|
|
8
|
+
import type { McpPrompt, McpResource, McpServerFeatures, McpTool } from "./mcp-protocol.js";
|
|
9
|
+
export declare function openApiHandler(args: Record<string, unknown>, loadAppCached: (outDirName?: string) => Promise<LoadedApp>): Promise<string>;
|
|
10
|
+
export declare function projectResources(cwd: string, loadAppCached?: (outDirName?: string) => Promise<LoadedApp>): McpResource[];
|
|
11
|
+
export declare function projectPrompts(): McpPrompt[];
|
|
12
|
+
export declare function projectFeatures(cwd: string, loadAppCached?: (outDirName?: string) => Promise<LoadedApp>): McpServerFeatures;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve an optional `dir` tool argument - a subdirectory of the project root the caller wants to scope a
|
|
15
|
+
* check/test to (e.g. `nifra check` on `app/` when the MCP server's root is a monorepo). Returns the
|
|
16
|
+
* absolute target, or `null` if `dir` escapes the root (a path-traversal guard: no `..` out, no absolute
|
|
17
|
+
* path elsewhere). `undefined`/empty → the root itself.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolveProjectDir(root: string, dir: string | undefined): string | null;
|
|
20
|
+
/** Consistent error string for a `dir` that escapes the project root. */
|
|
21
|
+
export declare function dirError(dir: string | undefined): string;
|
|
22
|
+
/** Build the project-scoped tools for `cwd`. */
|
|
23
|
+
export interface CommandMcpToolOptions {
|
|
24
|
+
readonly cwd: string;
|
|
25
|
+
readonly loadAppCached?: () => Promise<LoadedApp>;
|
|
26
|
+
}
|
|
27
|
+
/** Adapt one executable catalog spec to its MCP descriptor and project-scoped handler. */
|
|
28
|
+
export declare function namespaceForApp(name: string, tools: McpTool[], features: McpServerFeatures): {
|
|
29
|
+
tools: McpTool[];
|
|
30
|
+
features: McpServerFeatures;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Merge the backend-derived resources/prompts into `base` - and keep a project that cannot be loaded
|
|
34
|
+
* from deciding whether the server starts at all.
|
|
35
|
+
*
|
|
36
|
+
* Resources and prompts are OPTIONAL capabilities extracted from the app's backend, so this load is a
|
|
37
|
+
* best-effort enrichment. It was awaited unguarded, which made it a hard boot requirement: `loadApp`
|
|
38
|
+
* needs a web config (`adapter` + `clientModule`) and a `routes/` directory, and a backend-only
|
|
39
|
+
* project - the shape `create-nifra`'s DEFAULT template produces - has neither. On those projects the
|
|
40
|
+
* throw escaped before the JSON-RPC loop began, so the server wrote nothing and exited. `nifra
|
|
41
|
+
* init-agents` would happily register an `.mcp.json` pointing at a server that could never start, and
|
|
42
|
+
* every tool went with it, including the twelve that never touch the app (docs, examples, types,
|
|
43
|
+
* check, doctor, levels, test).
|
|
44
|
+
*
|
|
45
|
+
* Degrading costs only the backend resources/prompts. Tools that genuinely need the app still fail,
|
|
46
|
+
* but per call, with their own message - which is a diagnosis instead of a silence.
|
|
47
|
+
*/
|
|
48
|
+
//# sourceMappingURL=mcp-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-context.d.ts","sourceRoot":"","sources":["../src/mcp-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAO3F,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,GACzD,OAAO,CAAC,MAAM,CAAC,CAIjB;AAiCD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,aAAa,GAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAA8B,GACtF,WAAW,EAAE,CAmCf;AAED,wBAAgB,cAAc,IAAI,SAAS,EAAE,CAkE5C;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,aAAa,GAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAA8B,GACtF,iBAAiB,CAEnB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CA4BtF;AAED,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMxD;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;CAClD;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EAAE,EAChB,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,CAkBnD;AAED;;;;;;;;;;;;;;;GAeG"}
|