create-nifra 1.0.0-beta.3 → 1.0.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.
@@ -24,7 +24,20 @@
24
24
  /** The MCP launch command, shared by `.mcp.json` and `.cursor/mcp.json`. See the module header for why
25
25
  * the package is named explicitly rather than relying on the bare `nifra` bin. */
26
26
  export declare const MCP_SERVER_COMMAND: "bunx";
27
- export declare const MCP_SERVER_ARGS: readonly ["@nifrajs/cli", "mcp"];
27
+ /**
28
+ * The `@nifrajs/cli` version the launch command pins to. Kept in lockstep with the published
29
+ * `@nifrajs/cli` version by `scripts/version.ts` (alongside the cli.ts / mcp-http.ts constants).
30
+ *
31
+ * Why pin at all instead of `bunx @nifrajs/cli mcp`: `bunx` keys its cache on the exact version spec.
32
+ * An UNPINNED spec resolves to the `latest` tag once, then `bunx` reuses that cached copy on every
33
+ * later spawn WITHOUT re-checking the registry — so an editor that once launched an older `@nifrajs/cli`
34
+ * keeps respawning the stale binary even after a newer one is published (the MCP server silently runs
35
+ * old code). Pinning the exact version makes the version part of the cache key, so each release fetches
36
+ * fresh and a stale cache can never shadow it. The cost: an already-scaffolded app's `.mcp.json` freezes
37
+ * at its scaffold-time version until `nifra init-agents` is re-run — an acceptable, deterministic trade.
38
+ */
39
+ export declare const MCP_CLI_VERSION: "1.0.0";
40
+ export declare const MCP_SERVER_ARGS: readonly ["@nifrajs/cli@1.0.0", "mcp"];
28
41
  /** The server entry registered under the `nifra` key in both Claude Code's and Cursor's MCP config. */
29
42
  export interface McpServerConfig {
30
43
  readonly command: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-files.d.ts","sourceRoot":"","sources":["../src/agent-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;kFACkF;AAClF,eAAO,MAAM,kBAAkB,EAAG,MAAe,CAAA;AACjD,eAAO,MAAM,eAAe,kCAAmC,CAAA;AAE/D,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED,mFAAmF;AACnF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;CAC/D;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,EAAE,SAIxB,CAAA;AAED;qFACqF;AACrF,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAoBjC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAYzC;AAED;4GAC4G;AAC5G,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;uGACuG;AACvG,eAAO,MAAM,aAAa,cAAc,CAAA;AACxC,eAAO,MAAM,oBAAoB,qBAAqB,CAAA;AACtD,eAAO,MAAM,cAAc,cAAc,CAAA;AACzC,eAAO,MAAM,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"agent-files.d.ts","sourceRoot":"","sources":["../src/agent-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;kFACkF;AAClF,eAAO,MAAM,kBAAkB,EAAG,MAAe,CAAA;AAEjD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,EAAG,OAAgB,CAAA;AAC/C,eAAO,MAAM,eAAe,wCAAsD,CAAA;AAElF,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED,mFAAmF;AACnF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;CAC/D;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,EAAE,SAIxB,CAAA;AAED;qFACqF;AACrF,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAsBjC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAczC;AAED;4GAC4G;AAC5G,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;uGACuG;AACvG,eAAO,MAAM,aAAa,cAAc,CAAA;AACxC,eAAO,MAAM,oBAAoB,qBAAqB,CAAA;AACtD,eAAO,MAAM,cAAc,cAAc,CAAA;AACzC,eAAO,MAAM,cAAc,cAAc,CAAA"}
@@ -24,7 +24,20 @@
24
24
  /** The MCP launch command, shared by `.mcp.json` and `.cursor/mcp.json`. See the module header for why
25
25
  * the package is named explicitly rather than relying on the bare `nifra` bin. */
26
26
  export const MCP_SERVER_COMMAND = "bunx";
27
- export const MCP_SERVER_ARGS = ["@nifrajs/cli", "mcp"];
27
+ /**
28
+ * The `@nifrajs/cli` version the launch command pins to. Kept in lockstep with the published
29
+ * `@nifrajs/cli` version by `scripts/version.ts` (alongside the cli.ts / mcp-http.ts constants).
30
+ *
31
+ * Why pin at all instead of `bunx @nifrajs/cli mcp`: `bunx` keys its cache on the exact version spec.
32
+ * An UNPINNED spec resolves to the `latest` tag once, then `bunx` reuses that cached copy on every
33
+ * later spawn WITHOUT re-checking the registry — so an editor that once launched an older `@nifrajs/cli`
34
+ * keeps respawning the stale binary even after a newer one is published (the MCP server silently runs
35
+ * old code). Pinning the exact version makes the version part of the cache key, so each release fetches
36
+ * fresh and a stale cache can never shadow it. The cost: an already-scaffolded app's `.mcp.json` freezes
37
+ * at its scaffold-time version until `nifra init-agents` is re-run — an acceptable, deterministic trade.
38
+ */
39
+ export const MCP_CLI_VERSION = "1.0.0";
40
+ export const MCP_SERVER_ARGS = [`@nifrajs/cli@${MCP_CLI_VERSION}`, "mcp"];
28
41
  /** The one canonical MCP config object both registries serialize — the anti-drift seam. */
29
42
  export const MCP_CONFIG = {
30
43
  mcpServers: {
@@ -53,6 +66,8 @@ typechecked against *this* project and this installed version, so they beat trai
53
66
  - \`nifra_docs\` / \`nifra_example\` — exact signatures + verified, compiling snippets. Reach for these
54
67
  before hand-writing a route, a loader, or a client call; a remembered API is often stale or wrong.
55
68
  - \`nifra_context\` — this project's route index + conventions, so changes fit the existing surface.
69
+ - \`nifra_types\` — the EXACT TypeScript of any \`@nifrajs/*\` symbol (e.g. \`nifra_types({ name: "RateLimitStore" })\`).
70
+ Call it for a precise type; **never read \`node_modules/@nifrajs/**/*.d.ts\`** — the tool is the authoritative, complete source.
56
71
  - **\`nifra_check\` is the done-gate.** Before declaring any change complete, run \`nifra_check\` (or
57
72
  \`nifra check --json\` in a terminal). It typechecks the frontend↔backend contract and flags drift
58
73
  (hand-rolled \`fetch()\` to this app's own API, server-only imports in \`routes/\`). A failing check
@@ -79,6 +94,8 @@ project + the installed version, so they beat training-data recall:
79
94
 
80
95
  - \`nifra_docs\` / \`nifra_example\` — exact signatures + verified, compiling snippets.
81
96
  - \`nifra_context\` / \`nifra_routes\` — this project's route index + per-route schemas.
97
+ - \`nifra_types\` — the EXACT TypeScript of any \`@nifrajs/*\` symbol (interface/type/function). Call it for a
98
+ precise type; **never read \`@nifrajs\` \`.d.ts\` files** — this is the authoritative, complete source.
82
99
  - \`nifra_check\` — the done-gate (typecheck + drift lints). Run it before calling work complete; a
83
100
  failing check means it isn't done. (\`nifra check --json\` in a terminal does the same.)`;
84
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-files.js","sourceRoot":"","sources":["../src/agent-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;kFACkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAe,CAAA;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,cAAc,EAAE,KAAK,CAAU,CAAA;AAa/D,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAc;IACnC,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE;KACnE;CACF,CAAA;AAED;qFACqF;AACrF,MAAM,UAAU,OAAO;IACrB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO;;;IAGL,kBAAkB,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAelD,CAAA;AACD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;;+DAEsD,kBAAkB,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;2FAQnB,CAAA;AAC3F,CAAC;AAWD;uGACuG;AACvG,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"agent-files.js","sourceRoot":"","sources":["../src/agent-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;kFACkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAe,CAAA;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,OAAgB,CAAA;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,gBAAgB,eAAe,EAAE,EAAE,KAAK,CAAU,CAAA;AAalF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAc;IACnC,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE;KACnE;CACF,CAAA;AAED;qFACqF;AACrF,MAAM,UAAU,OAAO;IACrB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO;;;IAGL,kBAAkB,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBlD,CAAA;AACD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;;+DAEsD,kBAAkB,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;2FAUnB,CAAA;AAC3F,CAAC;AAWD;uGACuG;AACvG,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAc,KAAK,QAAQ,EAAiB,MAAM,SAAS,CAAA;AAsQlE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAuBtD"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAc,KAAK,QAAQ,EAAiB,MAAM,SAAS,CAAA;AA0QlE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAuBtD"}
package/dist/agents.js CHANGED
@@ -64,6 +64,10 @@ Rules an agent must follow:
64
64
  directly (\`await app.fetch(new Request("http://x/users/1"))\`); no server needs to be running.
65
65
  - **Don't reach for a heavy ORM/HTTP layer.** Routing, validation, cookies, and the typed client are
66
66
  built in. Parameterize DB queries; use \`timingSafeEqual\` (or WebCrypto) for secret comparison.
67
+ - **Cross-cutting concerns — use \`@nifrajs/middleware\`, don't hand-roll.** Rate limiting (\`429\` +
68
+ \`Retry-After\`), CORS, security headers, body limits, auth (\`bearer\`/\`apiKey\`/\`basicAuth\`/\`jwt\`), CSRF,
69
+ IP restriction, response caching, compression — all \`app.use(...)\` plugins in \`@nifrajs/middleware\`.
70
+ Call \`nifra_docs("middleware")\` for the full list + usage before building one of these by hand.
67
71
 
68
72
  ## The client is typed + never throws — ALWAYS use it for internal API calls
69
73
 
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGnD,OAAO,EAAE,UAAU,EAAgC,MAAM,SAAS,CAAA;AAElE,MAAM,eAAe,GAAwC;IAC3D,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAA;AAED,iFAAiF;AACjF,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEjB,CAAA;AAED,wFAAwF;AACxF,SAAS,QAAQ,CAAC,SAAoB;IACpC,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IACxC,OAAO,4CAA4C,KAAK;;;;;;;;;8DASI,SAAS;;;;;;;;;;;;;;CActE,CAAA;AACD,CAAC;AAED,oGAAoG;AACpG,SAAS,WAAW,CAAC,GAAoB;IACvC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,OAAO;;;;;;;;;;;;;;;;;+FAiBoF,CAAA;IAC7F,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,OAAO;;;;;;;;;;;;;;;;;;oEAkByD,CAAA;IAClE,CAAC;IACD,OAAO;;;;;;;;;;;;;;;;;iFAiBwE,CAAA;AACjF,CAAC;AAED,mGAAmG;AACnG,SAAS,OAAO,CAAC,EAAY;IAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IACxB,OAAO,gBAAgB,CAAC,CAAC,KAAK;;EAE9B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;;;;+GAIiF,CAAA;AAC/G,CAAC;AAED,yGAAyG;AACzG,SAAS,SAAS,CAAC,KAAiB;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;sHAyB6G,CAAA;AACtH,CAAC;AAED,MAAM,cAAc,GAAG;;;;;;;;;;;;;CAatB,CAAA;AAED,MAAM,QAAQ,GAA2C;IACvD,GAAG,EAAE;;;kFAG2E;IAChF,IAAI,EAAE;;;;;;;;4GAQoG;IAC1G,GAAG,EAAE;;;;;;;0GAOmG;CACzG,CAAA;AAED,uFAAuF;AACvF,MAAM,IAAI,GAAG;;;;;;;iGAOoF,CAAA;AAYjG,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CAAC,IAAqB;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAA;IACjE,MAAM,IAAI,GAAG,KAAK;QAChB,CAAC,CAAC,2FAA2F,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ;QACpI,CAAC,CAAC,4DAA4D,CAAA;IAEhE,sGAAsG;IACtG,8FAA8F;IAC9F,MAAM,MAAM,GAAG;QACb,iBAAiB,IAAI,CAAC,IAAI,mEAAmE,IAAI,kHAAkH;QACnN,kBAAkB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC3C,mGAAmG;QACnG,6FAA6F;QAC7F,gBAAgB,EAAE;QAClB,SAAS,CAAC,IAAI,EAAE;QAChB,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7C,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QACnD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QAC5C,cAAc,CAAC,IAAI,EAAE;QACrB,IAAI;QACJ,8QAA8Q;KAC/Q,CAAA;IACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
package/dist/auth.js CHANGED
@@ -33,7 +33,7 @@ export const AUTH_PRESETS = {
33
33
  label: "better-auth",
34
34
  note: "email/password + sessions, mounted at /api/auth/* — add OAuth providers in auth.ts.",
35
35
  // @nifrajs/better-auth mounts it; better-auth is the implementation (peer-installed alongside).
36
- deps: { "@nifrajs/better-auth": "^0.1.0-beta.1", "better-auth": "^1.2.0" },
36
+ deps: { "@nifrajs/better-auth": "^1.0.0", "better-auth": "^1.2.0" },
37
37
  },
38
38
  };
39
39
  /** The better-auth `database` adapter expression + its import line, for the scaffolded DB's ORM. */
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,aAAa,CAAU,CAAA;AAGpD,uGAAuG;AACvG,MAAM,aAAa,GAAqB,IAAI,GAAG,CAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE3E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,gDAAgD,EAAE,KAAK,GAAG,wCAAwC;YAChG,iGAAiG,CACpG,CAAA;IACH,CAAC;AACH,CAAC;AAQD,MAAM,CAAC,MAAM,YAAY,GAA6C;IACpE,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,qFAAqF;QAC3F,gGAAgG;QAChG,IAAI,EAAE,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;KAC3E;CACF,CAAA;AAED,oGAAoG;AACpG,SAAS,UAAU,CAAC,EAAY;IAC9B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IACvC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,yFAAyF;QACzF,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAA;QACjE,OAAO;YACL,UAAU,EAAE,6DAA6D;YACzE,QAAQ,EAAE,kCAAkC,QAAQ,MAAM;SAC3D,CAAA;IACH,CAAC;IACD,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzD,OAAO;QACL,UAAU,EAAE,+DAA+D;QAC3E,QAAQ,EAAE,mCAAmC,QAAQ,MAAM;KAC5D,CAAA;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,UAAU,CAAC,EAAY;IAC9B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC/C,OAAO;EACP,UAAU;;;;;;;cAOE,QAAQ;;;;;;;;CAQrB,CAAA;AACD,CAAC;AAED,MAAM,GAAG,GAAG;;;;CAIX,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,KAAiB,EACjB,EAAY;IAEZ,gBAAgB,CAAC,EAAE,CAAC,CAAA,CAAC,4EAA4E;IACjG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,yGAAyG;IACzG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,aAAa,CAAU,CAAA;AAGpD,uGAAuG;AACvG,MAAM,aAAa,GAAqB,IAAI,GAAG,CAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE3E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,gDAAgD,EAAE,KAAK,GAAG,wCAAwC;YAChG,iGAAiG,CACpG,CAAA;IACH,CAAC;AACH,CAAC;AAQD,MAAM,CAAC,MAAM,YAAY,GAA6C;IACpE,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,qFAAqF;QAC3F,gGAAgG;QAChG,IAAI,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;KACpE;CACF,CAAA;AAED,oGAAoG;AACpG,SAAS,UAAU,CAAC,EAAY;IAC9B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IACvC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,yFAAyF;QACzF,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAA;QACjE,OAAO;YACL,UAAU,EAAE,6DAA6D;YACzE,QAAQ,EAAE,kCAAkC,QAAQ,MAAM;SAC3D,CAAA;IACH,CAAC;IACD,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzD,OAAO;QACL,UAAU,EAAE,+DAA+D;QAC3E,QAAQ,EAAE,mCAAmC,QAAQ,MAAM;KAC5D,CAAA;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,UAAU,CAAC,EAAY;IAC9B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC/C,OAAO;EACP,UAAU;;;;;;;cAOE,QAAQ;;;;;;;;CAQrB,CAAA;AACD,CAAC;AAED,MAAM,GAAG,GAAG;;;;CAIX,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,KAAiB,EACjB,EAAY;IAEZ,gBAAgB,CAAC,EAAE,CAAC,CAAA,CAAC,4EAA4E;IACjG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,yGAAyG;IACzG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nifra",
3
- "version": "1.0.0-beta.3",
3
+ "version": "1.0.0",
4
4
  "description": "Scaffold a new nifra app — `bun create nifra <dir>`.",
5
5
  "keywords": [
6
6
  "bun",
@@ -10,9 +10,9 @@
10
10
  "typecheck": "tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@nifrajs/client": "^0.1.0-beta.1",
14
- "@nifrajs/core": "^0.1.0-beta.1",
15
- "@nifrajs/schema": "^0.1.0-beta.1"
13
+ "@nifrajs/client": "^1.0.0",
14
+ "@nifrajs/core": "^1.0.0",
15
+ "@nifrajs/schema": "^1.0.0"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/bun": "latest",
@@ -9,11 +9,11 @@
9
9
  "dev:bun": "bun run server.ts"
10
10
  },
11
11
  "dependencies": {
12
- "@nifrajs/client": "^0.1.0-beta.1",
13
- "@nifrajs/core": "^0.1.0-beta.1",
14
- "@nifrajs/schema": "^0.1.0-beta.1",
15
- "@nifrajs/web": "^0.1.0-beta.1",
16
- "@nifrajs/web-react": "^0.1.0-beta.1",
12
+ "@nifrajs/client": "^1.0.0",
13
+ "@nifrajs/core": "^1.0.0",
14
+ "@nifrajs/schema": "^1.0.0",
15
+ "@nifrajs/web": "^1.0.0",
16
+ "@nifrajs/web-react": "^1.0.0",
17
17
  "react": "^19.0.0",
18
18
  "react-dom": "^19.0.0"
19
19
  },
@@ -17,20 +17,20 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^0.1.0-beta.1",
21
- "@nifrajs/core": "^0.1.0-beta.1",
22
- "@nifrajs/schema": "^0.1.0-beta.1",
23
- "@nifrajs/deno": "^0.1.0-beta.1",
24
- "@nifrajs/node": "^0.1.0-beta.1",
25
- "@nifrajs/web": "^0.1.0-beta.1",
26
- "@nifrajs/web-react": "^0.1.0-beta.1",
20
+ "@nifrajs/client": "^1.0.0",
21
+ "@nifrajs/core": "^1.0.0",
22
+ "@nifrajs/schema": "^1.0.0",
23
+ "@nifrajs/deno": "^1.0.0",
24
+ "@nifrajs/node": "^1.0.0",
25
+ "@nifrajs/web": "^1.0.0",
26
+ "@nifrajs/web-react": "^1.0.0",
27
27
  "react": "^19.0.0",
28
28
  "react-dom": "^19.0.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/react": "^19.0.0",
32
32
  "@types/react-dom": "^19.0.0",
33
- "@nifrajs/cli": "^0.1.0-beta.1",
33
+ "@nifrajs/cli": "^1.0.0",
34
34
  "@vitejs/plugin-react": "^4.3.0",
35
35
  "typescript": "^6.0.3",
36
36
  "vite": "^8.0.0"
@@ -17,18 +17,18 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^0.1.0-beta.1",
21
- "@nifrajs/core": "^0.1.0-beta.1",
22
- "@nifrajs/schema": "^0.1.0-beta.1",
23
- "@nifrajs/deno": "^0.1.0-beta.1",
24
- "@nifrajs/node": "^0.1.0-beta.1",
25
- "@nifrajs/web": "^0.1.0-beta.1",
26
- "@nifrajs/web-preact": "^0.1.0-beta.1",
20
+ "@nifrajs/client": "^1.0.0",
21
+ "@nifrajs/core": "^1.0.0",
22
+ "@nifrajs/schema": "^1.0.0",
23
+ "@nifrajs/deno": "^1.0.0",
24
+ "@nifrajs/node": "^1.0.0",
25
+ "@nifrajs/web": "^1.0.0",
26
+ "@nifrajs/web-preact": "^1.0.0",
27
27
  "preact": "^10.25.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@preact/preset-vite": "^2.9.0",
31
- "@nifrajs/cli": "^0.1.0-beta.1",
31
+ "@nifrajs/cli": "^1.0.0",
32
32
  "typescript": "^6.0.3",
33
33
  "vite": "^8.0.0"
34
34
  }
@@ -17,17 +17,17 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^0.1.0-beta.1",
21
- "@nifrajs/core": "^0.1.0-beta.1",
22
- "@nifrajs/schema": "^0.1.0-beta.1",
23
- "@nifrajs/deno": "^0.1.0-beta.1",
24
- "@nifrajs/node": "^0.1.0-beta.1",
25
- "@nifrajs/web": "^0.1.0-beta.1",
26
- "@nifrajs/web-solid": "^0.1.0-beta.1",
20
+ "@nifrajs/client": "^1.0.0",
21
+ "@nifrajs/core": "^1.0.0",
22
+ "@nifrajs/schema": "^1.0.0",
23
+ "@nifrajs/deno": "^1.0.0",
24
+ "@nifrajs/node": "^1.0.0",
25
+ "@nifrajs/web": "^1.0.0",
26
+ "@nifrajs/web-solid": "^1.0.0",
27
27
  "solid-js": "^1.9.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@nifrajs/cli": "^0.1.0-beta.1",
30
+ "@nifrajs/cli": "^1.0.0",
31
31
  "typescript": "^6.0.3",
32
32
  "vite": "^8.0.0",
33
33
  "vite-plugin-solid": "^2.10.0"
@@ -17,18 +17,18 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^0.1.0-beta.1",
21
- "@nifrajs/core": "^0.1.0-beta.1",
22
- "@nifrajs/schema": "^0.1.0-beta.1",
23
- "@nifrajs/deno": "^0.1.0-beta.1",
24
- "@nifrajs/node": "^0.1.0-beta.1",
25
- "@nifrajs/web": "^0.1.0-beta.1",
26
- "@nifrajs/web-svelte": "^0.1.0-beta.1",
20
+ "@nifrajs/client": "^1.0.0",
21
+ "@nifrajs/core": "^1.0.0",
22
+ "@nifrajs/schema": "^1.0.0",
23
+ "@nifrajs/deno": "^1.0.0",
24
+ "@nifrajs/node": "^1.0.0",
25
+ "@nifrajs/web": "^1.0.0",
26
+ "@nifrajs/web-svelte": "^1.0.0",
27
27
  "svelte": "^5.3.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@sveltejs/vite-plugin-svelte": "^5.0.0",
31
- "@nifrajs/cli": "^0.1.0-beta.1",
31
+ "@nifrajs/cli": "^1.0.0",
32
32
  "typescript": "^6.0.3",
33
33
  "vite": "^8.0.0"
34
34
  }
@@ -17,17 +17,17 @@
17
17
  "deploy:vercel": "vercel deploy --prebuilt"
18
18
  },
19
19
  "dependencies": {
20
- "@nifrajs/client": "^0.1.0-beta.1",
21
- "@nifrajs/core": "^0.1.0-beta.1",
22
- "@nifrajs/schema": "^0.1.0-beta.1",
23
- "@nifrajs/deno": "^0.1.0-beta.1",
24
- "@nifrajs/node": "^0.1.0-beta.1",
25
- "@nifrajs/web": "^0.1.0-beta.1",
26
- "@nifrajs/web-vue": "^0.1.0-beta.1",
20
+ "@nifrajs/client": "^1.0.0",
21
+ "@nifrajs/core": "^1.0.0",
22
+ "@nifrajs/schema": "^1.0.0",
23
+ "@nifrajs/deno": "^1.0.0",
24
+ "@nifrajs/node": "^1.0.0",
25
+ "@nifrajs/web": "^1.0.0",
26
+ "@nifrajs/web-vue": "^1.0.0",
27
27
  "vue": "^3.5.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@nifrajs/cli": "^0.1.0-beta.1",
30
+ "@nifrajs/cli": "^1.0.0",
31
31
  "@vitejs/plugin-vue": "^5.2.0",
32
32
  "@vue/compiler-sfc": "^3.5.0",
33
33
  "typescript": "^6.0.3",