@kya-os/checkpoint-nextjs 1.1.0 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +178 -0
  2. package/EDGE_RUNTIME_WASM_SETUP.md +4 -10
  3. package/README.md +13 -0
  4. package/bin/setup-edge-wasm.js +40 -32
  5. package/dist/api-client.d.mts +10 -10
  6. package/dist/api-client.d.ts +10 -10
  7. package/dist/create-middleware.d.mts +7 -2
  8. package/dist/create-middleware.d.ts +7 -2
  9. package/dist/edge/index.d.mts +3 -3
  10. package/dist/edge/index.d.ts +3 -3
  11. package/dist/edge/index.js +16 -3
  12. package/dist/edge/index.mjs +16 -3
  13. package/dist/edge-runtime-loader.d.mts +43 -18
  14. package/dist/edge-runtime-loader.d.ts +43 -18
  15. package/dist/edge-runtime-loader.js +101 -58
  16. package/dist/edge-runtime-loader.mjs +98 -59
  17. package/dist/edge-wasm-middleware.d.mts +28 -34
  18. package/dist/edge-wasm-middleware.d.ts +28 -34
  19. package/dist/edge-wasm-middleware.js +16 -306
  20. package/dist/edge-wasm-middleware.mjs +16 -307
  21. package/dist/index.js +3 -1
  22. package/dist/index.mjs +4 -2
  23. package/dist/nodejs-wasm-loader.d.mts +26 -9
  24. package/dist/nodejs-wasm-loader.d.ts +26 -9
  25. package/dist/nodejs-wasm-loader.js +21 -78
  26. package/dist/nodejs-wasm-loader.mjs +21 -74
  27. package/dist/session-tracker.d.mts +2 -2
  28. package/dist/session-tracker.d.ts +2 -2
  29. package/dist/session-tracker.js +3 -1
  30. package/dist/session-tracker.mjs +4 -2
  31. package/dist/wasm-middleware.d.mts +19 -3
  32. package/dist/wasm-middleware.d.ts +19 -3
  33. package/dist/wasm-middleware.js +32 -3
  34. package/dist/wasm-middleware.mjs +32 -4
  35. package/dist/wasm-setup.js +29 -81
  36. package/dist/wasm-setup.mjs +29 -76
  37. package/package.json +4 -4
  38. package/templates/middleware-wasm-100.ts +11 -3
  39. package/dist/.tsbuildinfo +0 -1
@@ -1,7 +1,3 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { setWasmModule } from '@kya-os/checkpoint';
4
-
5
1
  var __defProp = Object.defineProperty;
6
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
3
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
@@ -21,94 +17,51 @@ var __export = (target, all) => {
21
17
  // src/nodejs-wasm-loader.ts
22
18
  var nodejs_wasm_loader_exports = {};
23
19
  __export(nodejs_wasm_loader_exports, {
20
+ __resetNodejsWasmWarningForTests: () => __resetNodejsWasmWarningForTests,
24
21
  getWasmModule: () => getWasmModule,
25
22
  isNodejsRuntime: () => isNodejsRuntime,
26
23
  isWasmInitialized: () => isWasmInitialized,
27
24
  loadWasmNodejs: () => loadWasmNodejs
28
25
  });
26
+ function warnNodejsWasmDeprecated() {
27
+ if (_nodejsWasmWarned) return;
28
+ _nodejsWasmWarned = true;
29
+ if (typeof process !== "undefined" && process.env?.NODE_ENV === "production") return;
30
+ console.warn(`[Checkpoint] ${MIGRATION_ERROR}`);
31
+ }
32
+ function __resetNodejsWasmWarningForTests() {
33
+ _nodejsWasmWarned = false;
34
+ }
29
35
  async function loadWasmNodejs() {
30
- if (wasmInitialized) {
31
- return true;
32
- }
33
- try {
34
- const possiblePaths = [
35
- // In node_modules (most likely)
36
- path.join(
37
- process.cwd(),
38
- "node_modules",
39
- "@kya-os",
40
- "agentshield",
41
- "dist",
42
- "wasm",
43
- "agentshield_wasm_bg.wasm"
44
- ),
45
- // In project root (if user copied it)
46
- path.join(process.cwd(), "agentshield_wasm_bg.wasm"),
47
- // Relative to current file
48
- path.join(
49
- __dirname,
50
- "..",
51
- "..",
52
- "..",
53
- "agentshield",
54
- "dist",
55
- "wasm",
56
- "agentshield_wasm_bg.wasm"
57
- )
58
- ];
59
- let wasmBuffer = null;
60
- let loadedPath = null;
61
- for (const wasmPath of possiblePaths) {
62
- try {
63
- if (fs.existsSync(wasmPath)) {
64
- wasmBuffer = fs.readFileSync(wasmPath);
65
- loadedPath = wasmPath;
66
- break;
67
- }
68
- } catch (e) {
69
- continue;
70
- }
71
- }
72
- if (!wasmBuffer) {
73
- console.warn("AgentShield: WASM file not found in any expected location");
74
- return false;
75
- }
76
- const bytes = new Uint8Array(wasmBuffer);
77
- wasmModule = await WebAssembly.compile(bytes);
78
- setWasmModule(wasmModule);
79
- wasmInitialized = true;
80
- console.log(`\u2705 AgentShield: WASM loaded successfully from ${loadedPath} (Node.js runtime)`);
81
- console.log("\u{1F510} Cryptographic verification enabled (95-100% confidence)");
82
- return true;
83
- } catch (error) {
84
- console.warn("\u26A0\uFE0F AgentShield: Failed to load WASM in Node.js runtime:", error);
85
- console.log("\u{1F4CA} Falling back to pattern detection (85% confidence)");
86
- return false;
87
- }
36
+ warnNodejsWasmDeprecated();
37
+ throw new Error(MIGRATION_ERROR);
88
38
  }
89
39
  function isNodejsRuntime() {
90
- return typeof process !== "undefined" && typeof process.versions !== "undefined" && typeof process.versions.node !== "undefined" && typeof __require !== "undefined";
40
+ warnNodejsWasmDeprecated();
41
+ throw new Error(MIGRATION_ERROR);
91
42
  }
92
43
  function getWasmModule() {
93
- return wasmModule;
44
+ warnNodejsWasmDeprecated();
45
+ throw new Error(MIGRATION_ERROR);
94
46
  }
95
47
  function isWasmInitialized() {
96
- return wasmInitialized;
48
+ warnNodejsWasmDeprecated();
49
+ throw new Error(MIGRATION_ERROR);
97
50
  }
98
- var wasmInitialized, wasmModule;
51
+ var MIGRATION_ERROR, _nodejsWasmWarned;
99
52
  var init_nodejs_wasm_loader = __esm({
100
53
  "src/nodejs-wasm-loader.ts"() {
101
- wasmInitialized = false;
102
- wasmModule = null;
54
+ MIGRATION_ERROR = "`@kya-os/checkpoint-nextjs`'s `loadWasmNodejs` / `isNodejsRuntime` / `getWasmModule` / `isWasmInitialized` were deprecated in Phase-D.9a (legacy `agentshield-wasm` Rust crate retirement). The legacy `AgentDetector` class they fed is slated for deletion in AgentDetector-Deletion-2 (next minor). Migrate to `withCheckpoint` from `@kya-os/checkpoint-nextjs` \u2014 engine-backed via the Rust `kya-os-engine` crate, with automatic WASM loading via `@kya-os/checkpoint-wasm-runtime`. See packages/checkpoint-nextjs/README.md for the canonical recipe.";
55
+ _nodejsWasmWarned = false;
103
56
  }
104
57
  });
105
58
 
106
59
  // src/wasm-setup.ts
107
- var wasmInitialized2 = false;
60
+ var wasmInitialized = false;
108
61
  var initPromise = null;
109
62
  var initAttempted = false;
110
63
  async function setupWasm() {
111
- if (wasmInitialized2) {
64
+ if (wasmInitialized) {
112
65
  return;
113
66
  }
114
67
  if (initPromise) {
@@ -124,7 +77,7 @@ async function doSetupWasm() {
124
77
  initAttempted = true;
125
78
  try {
126
79
  if (typeof process !== "undefined" && process.env.NODE_ENV === "test") {
127
- wasmInitialized2 = true;
80
+ wasmInitialized = true;
128
81
  return;
129
82
  }
130
83
  const isNodejs = typeof process !== "undefined" && typeof __require !== "undefined" && process.env.NEXT_RUNTIME === "nodejs";
@@ -132,7 +85,7 @@ async function doSetupWasm() {
132
85
  try {
133
86
  const { loadWasmNodejs: loadWasmNodejs2 } = await Promise.resolve().then(() => (init_nodejs_wasm_loader(), nodejs_wasm_loader_exports));
134
87
  const loaded = await loadWasmNodejs2();
135
- wasmInitialized2 = true;
88
+ wasmInitialized = true;
136
89
  if (loaded) {
137
90
  console.log("\u{1F680} AgentShield: Running with full WASM support (Node.js runtime)");
138
91
  } else {
@@ -143,7 +96,7 @@ async function doSetupWasm() {
143
96
  console.warn("\u26A0\uFE0F AgentShield: Node.js WASM loader failed:", error);
144
97
  }
145
98
  }
146
- wasmInitialized2 = true;
99
+ wasmInitialized = true;
147
100
  if (process.env.NEXT_RUNTIME === "edge") {
148
101
  console.log(
149
102
  "\u26A1 AgentShield: Edge Runtime detected - using pattern detection (85% confidence)"
@@ -151,14 +104,14 @@ async function doSetupWasm() {
151
104
  console.log("\u2705 AgentShield: Ready for AI agent detection");
152
105
  }
153
106
  } catch (error) {
154
- wasmInitialized2 = true;
107
+ wasmInitialized = true;
155
108
  }
156
109
  }
157
110
  function isWasmInitialized2() {
158
- return wasmInitialized2;
111
+ return wasmInitialized;
159
112
  }
160
113
  function resetWasmState() {
161
- wasmInitialized2 = false;
114
+ wasmInitialized = false;
162
115
  initPromise = null;
163
116
  }
164
117
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/checkpoint-nextjs",
3
- "version": "1.1.0",
3
+ "version": "1.1.4",
4
4
  "description": "Checkpoint Next.js middleware for AI agent detection (formerly @kya-os/agentshield-nextjs)",
5
5
  "keywords": [
6
6
  "nextjs",
@@ -134,9 +134,9 @@
134
134
  "dependencies": {
135
135
  "@noble/ed25519": "^2.2.3",
136
136
  "@noble/hashes": "^2.0.1",
137
- "@kya-os/checkpoint": "1.0.0",
138
- "@kya-os/checkpoint-wasm-runtime": "1.0.0",
139
- "@kya-os/checkpoint-shared": "1.0.0"
137
+ "@kya-os/checkpoint": "1.0.1",
138
+ "@kya-os/checkpoint-shared": "1.1.0",
139
+ "@kya-os/checkpoint-wasm-runtime": "^1.2.0"
140
140
  },
141
141
  "scripts": {
142
142
  "build": "tsup",
@@ -1,8 +1,16 @@
1
1
  /**
2
- * AgentShield Middleware Template with WASM (95-100% Confidence)
2
+ * Checkpoint Middleware Template Legacy WASM Factory
3
3
  *
4
- * This template provides full cryptographic verification for AI agents
5
- * following Next.js official documentation for WebAssembly in Edge Runtime.
4
+ * ⚠️ **DEPRECATED TEMPLATE (AgentDetector-Deletion-1):** this template
5
+ * uses `createWasmAgentShieldMiddleware`, which is deprecated and
6
+ * will be removed in the next minor. For new projects, use
7
+ * `withCheckpoint` instead — it's engine-backed (PDM-1 #2560), runs
8
+ * MCP-I envelope verification, and is the canonical Phase-D
9
+ * replacement. See the `withCheckpoint` recipe in
10
+ * `packages/checkpoint-nextjs/README.md`.
11
+ *
12
+ * This template stays in-tree for one release as a migration reference;
13
+ * the deprecated factory still works (with a dev-only console.warn).
6
14
  *
7
15
  * Installation:
8
16
  * 1. Copy this file to your project root as `middleware.ts`