jazz-tools 2.0.0-alpha.49 → 2.0.0-alpha.50

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 (149) hide show
  1. package/bin/docs-index.db +0 -0
  2. package/bin/docs-index.txt +1653 -634
  3. package/bin/native/jazz-tools-darwin-arm64 +0 -0
  4. package/bin/native/jazz-tools-darwin-x64 +0 -0
  5. package/bin/native/jazz-tools-linux-arm64 +0 -0
  6. package/bin/native/jazz-tools-linux-x64 +0 -0
  7. package/dist/better-auth-adapter/index.test.js +5 -5
  8. package/dist/better-auth-adapter/index.test.js.map +1 -1
  9. package/dist/cli.js +13 -3
  10. package/dist/cli.js.map +1 -1
  11. package/dist/cli.test.js +20 -1
  12. package/dist/cli.test.js.map +1 -1
  13. package/dist/dev/dev-server.d.ts +0 -3
  14. package/dist/dev/dev-server.d.ts.map +1 -1
  15. package/dist/dev/dev-server.js +0 -3
  16. package/dist/dev/dev-server.js.map +1 -1
  17. package/dist/dev/dev-server.test.js +1 -0
  18. package/dist/dev/dev-server.test.js.map +1 -1
  19. package/dist/dev/managed-runtime.d.ts.map +1 -1
  20. package/dist/dev/managed-runtime.js +4 -4
  21. package/dist/dev/managed-runtime.js.map +1 -1
  22. package/dist/dev/managed-runtime.test.js +41 -0
  23. package/dist/dev/managed-runtime.test.js.map +1 -1
  24. package/dist/dev/sveltekit.d.ts +37 -7
  25. package/dist/dev/sveltekit.d.ts.map +1 -1
  26. package/dist/dev/sveltekit.js +103 -77
  27. package/dist/dev/sveltekit.js.map +1 -1
  28. package/dist/dev/sveltekit.test.js +38 -18
  29. package/dist/dev/sveltekit.test.js.map +1 -1
  30. package/dist/dev/vite.d.ts +0 -3
  31. package/dist/dev/vite.d.ts.map +1 -1
  32. package/dist/dev/vite.js.map +1 -1
  33. package/dist/dev-tools/extension-panel.d.ts.map +1 -1
  34. package/dist/dev-tools/extension-panel.js +0 -12
  35. package/dist/dev-tools/extension-panel.js.map +1 -1
  36. package/dist/mcp/backend-naive.d.ts.map +1 -1
  37. package/dist/mcp/backend-naive.js +22 -3
  38. package/dist/mcp/backend-naive.js.map +1 -1
  39. package/dist/mcp/backend-naive.test.js +9 -6
  40. package/dist/mcp/backend-naive.test.js.map +1 -1
  41. package/dist/mcp/backend-sqlite.js +2 -2
  42. package/dist/mcp/backend-sqlite.js.map +1 -1
  43. package/dist/mcp/build-index.d.ts +2 -38
  44. package/dist/mcp/build-index.d.ts.map +1 -1
  45. package/dist/mcp/build-index.js +5 -145
  46. package/dist/mcp/build-index.js.map +1 -1
  47. package/dist/mcp/fallback-no-sqlite.test.d.ts +2 -0
  48. package/dist/mcp/fallback-no-sqlite.test.d.ts.map +1 -0
  49. package/dist/mcp/fallback-no-sqlite.test.js +135 -0
  50. package/dist/mcp/fallback-no-sqlite.test.js.map +1 -0
  51. package/dist/mcp/parse.d.ts +39 -0
  52. package/dist/mcp/parse.d.ts.map +1 -0
  53. package/dist/mcp/parse.js +154 -0
  54. package/dist/mcp/parse.js.map +1 -0
  55. package/dist/permissions/index.d.ts +1 -1
  56. package/dist/permissions/index.d.ts.map +1 -1
  57. package/dist/permissions/index.js +13 -3
  58. package/dist/permissions/index.js.map +1 -1
  59. package/dist/permissions/index.test.js +40 -0
  60. package/dist/permissions/index.test.js.map +1 -1
  61. package/dist/react-native/db.test.js +3 -0
  62. package/dist/react-native/db.test.js.map +1 -1
  63. package/dist/react-native/jazz-rn-runtime-adapter.d.ts +3 -8
  64. package/dist/react-native/jazz-rn-runtime-adapter.d.ts.map +1 -1
  65. package/dist/react-native/jazz-rn-runtime-adapter.js +3 -27
  66. package/dist/react-native/jazz-rn-runtime-adapter.js.map +1 -1
  67. package/dist/react-native/jazz-rn-runtime-adapter.test.js +11 -38
  68. package/dist/react-native/jazz-rn-runtime-adapter.test.js.map +1 -1
  69. package/dist/runtime/auth-secret-store.d.ts +2 -1
  70. package/dist/runtime/auth-secret-store.d.ts.map +1 -1
  71. package/dist/runtime/auth-secret-store.js +16 -7
  72. package/dist/runtime/auth-secret-store.js.map +1 -1
  73. package/dist/runtime/auth-secret-store.test.js +14 -0
  74. package/dist/runtime/auth-secret-store.test.js.map +1 -1
  75. package/dist/runtime/client-tests/for-request.test.js +2 -89
  76. package/dist/runtime/client-tests/for-request.test.js.map +1 -1
  77. package/dist/runtime/client-tests/support.d.ts +1 -2
  78. package/dist/runtime/client-tests/support.d.ts.map +1 -1
  79. package/dist/runtime/client-tests/support.js +1 -2
  80. package/dist/runtime/client-tests/support.js.map +1 -1
  81. package/dist/runtime/client.d.ts +8 -142
  82. package/dist/runtime/client.d.ts.map +1 -1
  83. package/dist/runtime/client.js +19 -569
  84. package/dist/runtime/client.js.map +1 -1
  85. package/dist/runtime/client.mutations.test.js +1 -52
  86. package/dist/runtime/client.mutations.test.js.map +1 -1
  87. package/dist/runtime/client.test.js +1 -46
  88. package/dist/runtime/client.test.js.map +1 -1
  89. package/dist/runtime/context.d.ts +1 -1
  90. package/dist/runtime/db-runtime-module.d.ts +0 -2
  91. package/dist/runtime/db-runtime-module.d.ts.map +1 -1
  92. package/dist/runtime/db-runtime-module.js.map +1 -1
  93. package/dist/runtime/db.d.ts +11 -10
  94. package/dist/runtime/db.d.ts.map +1 -1
  95. package/dist/runtime/db.js +56 -205
  96. package/dist/runtime/db.js.map +1 -1
  97. package/dist/runtime/db.persisted.test.js +0 -1
  98. package/dist/runtime/db.persisted.test.js.map +1 -1
  99. package/dist/runtime/db.transaction.test.js +4 -76
  100. package/dist/runtime/db.transaction.test.js.map +1 -1
  101. package/dist/runtime/db.transport.test.js +4 -4
  102. package/dist/runtime/db.transport.test.js.map +1 -1
  103. package/dist/runtime/index.d.ts +1 -1
  104. package/dist/runtime/index.d.ts.map +1 -1
  105. package/dist/runtime/index.js +1 -1
  106. package/dist/runtime/index.js.map +1 -1
  107. package/dist/runtime/napi.sqlite-compat.test.js +35 -17
  108. package/dist/runtime/napi.sqlite-compat.test.js.map +1 -1
  109. package/dist/runtime/permissions.repro.test.js +85 -0
  110. package/dist/runtime/permissions.repro.test.js.map +1 -1
  111. package/dist/runtime/sync-telemetry.js +49 -24
  112. package/dist/runtime/sync-telemetry.js.map +1 -1
  113. package/dist/runtime/sync-telemetry.test.js +16 -4
  114. package/dist/runtime/sync-telemetry.test.js.map +1 -1
  115. package/dist/runtime/wasm-runtime-module.d.ts +1 -1
  116. package/dist/runtime/wasm-runtime-module.d.ts.map +1 -1
  117. package/dist/runtime/wasm-runtime-module.js +2 -3
  118. package/dist/runtime/wasm-runtime-module.js.map +1 -1
  119. package/dist/runtime/worker-bridge.d.ts +1 -5
  120. package/dist/runtime/worker-bridge.d.ts.map +1 -1
  121. package/dist/runtime/worker-bridge.js +0 -16
  122. package/dist/runtime/worker-bridge.js.map +1 -1
  123. package/dist/svelte/index.d.ts +1 -0
  124. package/dist/svelte/index.d.ts.map +1 -1
  125. package/dist/svelte/index.js +1 -0
  126. package/dist/svelte/local-first-auth.svelte.d.ts +49 -0
  127. package/dist/svelte/local-first-auth.svelte.d.ts.map +1 -0
  128. package/dist/svelte/local-first-auth.svelte.js +115 -0
  129. package/dist/svelte/local-first-auth.svelte.test.js +292 -0
  130. package/dist/svelte/rune-patterns.svelte.test.js +12 -13
  131. package/dist/testing/index.test.js +2 -2
  132. package/dist/testing/index.test.js.map +1 -1
  133. package/dist/typed-app.d.ts +3 -3
  134. package/dist/typed-app.d.ts.map +1 -1
  135. package/dist/typed-app.js +5 -0
  136. package/dist/typed-app.js.map +1 -1
  137. package/dist/vue/index.d.ts +1 -0
  138. package/dist/vue/index.d.ts.map +1 -1
  139. package/dist/vue/index.js +1 -0
  140. package/dist/vue/index.js.map +1 -1
  141. package/dist/vue/use-local-first-auth.d.ts +52 -0
  142. package/dist/vue/use-local-first-auth.d.ts.map +1 -0
  143. package/dist/vue/use-local-first-auth.js +123 -0
  144. package/dist/vue/use-local-first-auth.js.map +1 -0
  145. package/dist/vue/use-local-first-auth.test.d.ts +2 -0
  146. package/dist/vue/use-local-first-auth.test.d.ts.map +1 -0
  147. package/dist/vue/use-local-first-auth.test.js +237 -0
  148. package/dist/vue/use-local-first-auth.test.js.map +1 -0
  149. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"build-index.js","sourceRoot":"","sources":["../../src/mcp/build-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-index.js","sourceRoot":"","sources":["../../src/mcp/build-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fallback-no-sqlite.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-no-sqlite.test.d.ts","sourceRoot":"","sources":["../../src/mcp/fallback-no-sqlite.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Reproduces a user report: installing the MCP server under Node.js < 22
3
+ * (no `node:sqlite`) crashed with ERR_UNKNOWN_BUILTIN_MODULE instead of
4
+ * falling back to text search.
5
+ *
6
+ * Spawns the real server via the shim with a module hook that makes
7
+ * `node:sqlite` unavailable (see __fixtures__/block-node-sqlite.*), then
8
+ * drives it over stdio like a real MCP client.
9
+ *
10
+ * Requires: `pnpm build` before running (dist/mcp/server.js must exist).
11
+ */
12
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
13
+ import { spawn } from "node:child_process";
14
+ import { dirname, join } from "node:path";
15
+ import { fileURLToPath } from "node:url";
16
+ const here = dirname(fileURLToPath(import.meta.url));
17
+ const shimPath = join(here, "../../bin/jazz-tools.js");
18
+ const registerHook = join(here, "__fixtures__/block-node-sqlite.register.mjs");
19
+ function spawnMcpWithoutSqlite() {
20
+ const proc = spawn(process.execPath, ["--import", registerHook, shimPath, "mcp"], {
21
+ stdio: ["pipe", "pipe", "pipe"],
22
+ });
23
+ let stderrBuf = "";
24
+ proc.stderr.on("data", (c) => {
25
+ stderrBuf += c.toString("utf8");
26
+ });
27
+ const queued = [];
28
+ const waiters = [];
29
+ let buf = "";
30
+ proc.stdout.on("data", (chunk) => {
31
+ buf += chunk.toString("utf8");
32
+ const parts = buf.split("\n");
33
+ buf = parts.pop() ?? "";
34
+ for (const line of parts) {
35
+ if (!line.trim())
36
+ continue;
37
+ const waiter = waiters.shift();
38
+ if (waiter) {
39
+ waiter(line);
40
+ }
41
+ else {
42
+ queued.push(line);
43
+ }
44
+ }
45
+ });
46
+ let exitCode = null;
47
+ const exited = new Promise((resolve) => {
48
+ proc.on("close", (code) => {
49
+ exitCode = code ?? 0;
50
+ resolve(exitCode);
51
+ });
52
+ });
53
+ const server = {
54
+ send(msg) {
55
+ proc.stdin.write(JSON.stringify(msg) + "\n");
56
+ },
57
+ recv() {
58
+ return new Promise((resolve, reject) => {
59
+ const line = queued.shift();
60
+ if (line !== undefined) {
61
+ resolve(JSON.parse(line));
62
+ return;
63
+ }
64
+ let settled = false;
65
+ waiters.push((l) => {
66
+ if (settled)
67
+ return;
68
+ settled = true;
69
+ resolve(JSON.parse(l));
70
+ });
71
+ // If the process dies before answering, fail loudly with its stderr
72
+ // rather than hanging until the test timeout.
73
+ void exited.then((code) => {
74
+ if (settled)
75
+ return;
76
+ settled = true;
77
+ reject(new Error(`MCP server exited (code ${code}) before responding.\n--- stderr ---\n${stderrBuf}`));
78
+ });
79
+ });
80
+ },
81
+ stderr: () => stderrBuf,
82
+ close() {
83
+ proc.stdin.end();
84
+ return exited;
85
+ },
86
+ };
87
+ return { server, proc };
88
+ }
89
+ let server;
90
+ let proc;
91
+ beforeEach(() => {
92
+ ({ server, proc } = spawnMcpWithoutSqlite());
93
+ });
94
+ afterEach(async () => {
95
+ if (proc.exitCode === null && !proc.killed) {
96
+ proc.stdin.end();
97
+ await new Promise((res) => proc.on("close", () => res()));
98
+ }
99
+ });
100
+ describe("MCP server without node:sqlite (Node < 22)", () => {
101
+ it("falls back to text search and answers search_docs instead of crashing", async () => {
102
+ server.send({ jsonrpc: "2.0", id: 1, method: "initialize", params: {} });
103
+ const init = await server.recv();
104
+ expect(init.id).toBe(1);
105
+ server.send({
106
+ jsonrpc: "2.0",
107
+ id: 2,
108
+ method: "tools/call",
109
+ params: { name: "search_docs", arguments: { query: "schema" } },
110
+ });
111
+ const res = await server.recv();
112
+ expect(res.error).toBeUndefined();
113
+ const content = res.result.content[0];
114
+ expect(content).toBeDefined();
115
+ expect(content.type).toBe("text");
116
+ expect(content.text).not.toBe("No results found.");
117
+ expect(content.text.length).toBeGreaterThan(0);
118
+ });
119
+ it("exits cleanly (code 0) on stdin EOF", async () => {
120
+ server.send({ jsonrpc: "2.0", id: 1, method: "initialize", params: {} });
121
+ await server.recv();
122
+ const code = await server.close();
123
+ expect(code).toBe(0);
124
+ });
125
+ it("emits a loud deprecation warning to stderr", async () => {
126
+ server.send({ jsonrpc: "2.0", id: 1, method: "initialize", params: {} });
127
+ await server.recv();
128
+ await server.close();
129
+ const err = server.stderr();
130
+ expect(err).toMatch(/DEPRECATED/);
131
+ expect(err).toMatch(/REMOVED/);
132
+ expect(err).toMatch(/Node\.js 22/);
133
+ });
134
+ });
135
+ //# sourceMappingURL=fallback-no-sqlite.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-no-sqlite.test.js","sourceRoot":"","sources":["../../src/mcp/fallback-no-sqlite.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,KAAK,EAAuC,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,6CAA6C,CAAC,CAAC;AAS/E,SAAS,qBAAqB;IAI5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;QAChF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;QACnC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAkC,EAAE,CAAC;IAClD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACvC,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC7C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC;YACrB,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAW;QACrB,IAAI,CAAC,GAAW;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI;YACF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC,CAAC;oBACrD,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjB,IAAI,OAAO;wBAAE,OAAO;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAA4B,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;gBACH,oEAAoE;gBACpE,8CAA8C;gBAC9C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxB,IAAI,OAAO;wBAAE,OAAO;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,CACJ,IAAI,KAAK,CACP,2BAA2B,IAAI,yCAAyC,SAAS,EAAE,CACpF,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;QACvB,KAAK;YACH,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,IAAI,MAAc,CAAC;AACnB,IAAI,IAAoC,CAAC;AAEzC,UAAU,CAAC,GAAG,EAAE;IACd,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,qBAAqB,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;SAChE,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAEhC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,OAAO,GACV,GAAG,CAAC,MAAkC,CAAC,OACzC,CAAC,CAAC,CAAC,CAAC;QACL,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,OAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpD,MAAM,CAAC,OAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ export interface FrontmatterResult {
2
+ title?: string;
3
+ description?: string;
4
+ body: string;
5
+ }
6
+ export interface Section {
7
+ heading: string;
8
+ body: string;
9
+ }
10
+ /**
11
+ * Splits YAML frontmatter from MDX content.
12
+ * Returns title, optional description, and the body after the closing `---`.
13
+ */
14
+ export declare function parseFrontmatter(content: string): FrontmatterResult;
15
+ /**
16
+ * Extracts a description from rendered body text.
17
+ * Strips fenced code blocks and headings, then returns the first three sentences.
18
+ */
19
+ export declare function extractDescription(body: string): string;
20
+ /**
21
+ * Resolves `<include cwd lang="…">path[#anchor]</include>` directives in MDX
22
+ * content, replacing each with a fenced code block. Paths are resolved
23
+ * relative to the MDX file's directory unless the `cwd` attribute is present,
24
+ * in which case fileCwd is used (mirrors fumadocs' file.cwd semantics).
25
+ * Additional attributes (e.g. meta='…') are tolerated and ignored.
26
+ */
27
+ export declare function resolveIncludes(content: string, mdxFilePath: string, fileCwd?: string): Promise<string>;
28
+ /**
29
+ * Strips JSX component tags (uppercase-initial or namespaced) from content,
30
+ * preserving text and fenced code blocks inside them.
31
+ * Also strips MDX import/export declarations.
32
+ */
33
+ export declare function stripJsx(content: string): string;
34
+ /**
35
+ * Splits a body string into sections on `## ` heading boundaries.
36
+ * Content before the first heading is returned as a section with an empty heading.
37
+ */
38
+ export declare function splitIntoSections(body: string): Section[];
39
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/mcp/parse.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAqBnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBvD;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBhD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAgBzD"}
@@ -0,0 +1,154 @@
1
+ // Pure MDX → pages/sections parsing helpers.
2
+ //
3
+ // This module deliberately has NO `node:sqlite` dependency (directly or
4
+ // transitively) so it stays importable on Node < 22 and non-Node runtimes.
5
+ // The text-search fallback backend depends on it; only the index *writer*
6
+ // (build-index.ts) needs node:sqlite.
7
+ import { readFile } from "node:fs/promises";
8
+ import { dirname, resolve } from "node:path";
9
+ // ---------------------------------------------------------------------------
10
+ // Pure helpers (exported for unit testing)
11
+ // ---------------------------------------------------------------------------
12
+ /**
13
+ * Splits YAML frontmatter from MDX content.
14
+ * Returns title, optional description, and the body after the closing `---`.
15
+ */
16
+ export function parseFrontmatter(content) {
17
+ const match = content.match(/^---\n([\s\S]*?)\n---\n*([\s\S]*)$/);
18
+ if (!match) {
19
+ return { body: content };
20
+ }
21
+ const fm = match[1];
22
+ const bodyMatch = match[2];
23
+ if (fm === undefined || bodyMatch === undefined) {
24
+ return { body: content };
25
+ }
26
+ const body = bodyMatch.trimStart();
27
+ const titleMatch = fm.match(/^title:\s*(.+)$/m);
28
+ const descMatch = fm.match(/^description:\s*(.+)$/m);
29
+ return {
30
+ title: titleMatch?.[1]?.trim(),
31
+ description: descMatch?.[1]?.trim(),
32
+ body,
33
+ };
34
+ }
35
+ /**
36
+ * Extracts a description from rendered body text.
37
+ * Strips fenced code blocks and headings, then returns the first three sentences.
38
+ */
39
+ export function extractDescription(body) {
40
+ if (!body)
41
+ return "";
42
+ // Strip all fenced code blocks
43
+ let text = body.replace(/```[\s\S]*?```/g, "");
44
+ // Strip markdown headings
45
+ text = text.replace(/^#{1,6}\s+.*/gm, "");
46
+ // Strip JSX tags (in case they weren't stripped already)
47
+ text = text.replace(/<\/?[A-Z][a-zA-Z]*[^>]*>/g, "");
48
+ // Collapse all whitespace to single spaces
49
+ text = text.replace(/\s+/g, " ").trim();
50
+ const sentences = [];
51
+ const sentenceRe = /[^.!?]+[.!?]+/g;
52
+ let m;
53
+ while ((m = sentenceRe.exec(text)) !== null && sentences.length < 3) {
54
+ sentences.push(m[0].trim());
55
+ }
56
+ return sentences.join(" ");
57
+ }
58
+ /**
59
+ * Resolves `<include cwd lang="…">path[#anchor]</include>` directives in MDX
60
+ * content, replacing each with a fenced code block. Paths are resolved
61
+ * relative to the MDX file's directory unless the `cwd` attribute is present,
62
+ * in which case fileCwd is used (mirrors fumadocs' file.cwd semantics).
63
+ * Additional attributes (e.g. meta='…') are tolerated and ignored.
64
+ */
65
+ export async function resolveIncludes(content, mdxFilePath, fileCwd) {
66
+ // Match <include ...attrs...>path</include> — any attribute combination.
67
+ const includeRe = /<include\s+([^>]*?)>\s*([\s\S]*?)\s*<\/include>/g;
68
+ // Collect all replacements first, then apply (to avoid regex state issues)
69
+ const replacements = [];
70
+ let m;
71
+ while ((m = includeRe.exec(content)) !== null) {
72
+ const attrs = m[1];
73
+ const includePath = m[2];
74
+ if (attrs === undefined || includePath === undefined)
75
+ continue;
76
+ const hasCwd = /\bcwd\b/.test(attrs);
77
+ const langMatch = attrs.match(/\blang="([^"]+)"/);
78
+ if (!langMatch)
79
+ continue; // not a code include — leave untouched
80
+ const lang = langMatch[1];
81
+ if (lang === undefined)
82
+ continue;
83
+ const rawPath = includePath.trim();
84
+ const hashIdx = rawPath.indexOf("#");
85
+ const filePath = hashIdx === -1 ? rawPath : rawPath.slice(0, hashIdx);
86
+ const anchor = hashIdx === -1 ? null : rawPath.slice(hashIdx + 1);
87
+ const base = hasCwd && fileCwd ? fileCwd : dirname(mdxFilePath);
88
+ const resolvedPath = resolve(base, filePath.trim());
89
+ let fileContent = await readFile(resolvedPath, "utf8");
90
+ if (anchor) {
91
+ const regionRe = new RegExp(`// #region ${anchor}\\n([\\s\\S]*?)// #endregion ${anchor}`);
92
+ const regionMatch = fileContent.match(regionRe);
93
+ const regionBody = regionMatch?.[1];
94
+ if (regionBody !== undefined) {
95
+ fileContent = regionBody.trimEnd();
96
+ }
97
+ }
98
+ replacements.push({
99
+ original: m[0],
100
+ replacement: `\`\`\`${lang}\n${fileContent}\n\`\`\``,
101
+ });
102
+ }
103
+ let result = content;
104
+ for (const { original, replacement } of replacements) {
105
+ result = result.replace(original, replacement);
106
+ }
107
+ return result;
108
+ }
109
+ /**
110
+ * Strips JSX component tags (uppercase-initial or namespaced) from content,
111
+ * preserving text and fenced code blocks inside them.
112
+ * Also strips MDX import/export declarations.
113
+ */
114
+ export function stripJsx(content) {
115
+ let result = content;
116
+ // Strip MDX import/export lines
117
+ result = result.replace(/^(?:import|export)\s+.*$/gm, "");
118
+ // Self-closing JSX: <Component />
119
+ result = result.replace(/<[A-Z][a-zA-Z]*(?:\.[a-zA-Z]+)?[^>]*\/>/g, "");
120
+ // Opening JSX: <Component ...>
121
+ result = result.replace(/<[A-Z][a-zA-Z]*(?:\.[a-zA-Z]+)?[^>]*>/g, "");
122
+ // Closing JSX: </Component>
123
+ result = result.replace(/<\/[A-Z][a-zA-Z]*(?:\.[a-zA-Z]+)?>/g, "");
124
+ // Strip region marker lines left over from include expansion
125
+ // Covers: // #region, # #region, <!-- #region, /* #region */
126
+ result = result.replace(/^[ \t]*(?:\/\/|#|<!--|\/\*)\s*#?(?:end)?region\b.*$/gm, "");
127
+ // Collapse lines that contain only whitespace into empty lines
128
+ // (artefact of Tab/Tabs wrapper components being stripped)
129
+ result = result.replace(/^[ \t]+$/gm, "");
130
+ // Collapse 3+ blank lines to 2
131
+ result = result.replace(/\n{3,}/g, "\n\n");
132
+ return result.trim();
133
+ }
134
+ /**
135
+ * Splits a body string into sections on `## ` heading boundaries.
136
+ * Content before the first heading is returned as a section with an empty heading.
137
+ */
138
+ export function splitIntoSections(body) {
139
+ const parts = body.split(/(?=^## )/m);
140
+ return parts
141
+ .map((part) => {
142
+ const headingMatch = part.match(/^## (.+)\n/);
143
+ if (!headingMatch) {
144
+ return { heading: "", body: part.trim() };
145
+ }
146
+ const heading = headingMatch[1];
147
+ return {
148
+ heading: heading?.trim() ?? "",
149
+ body: part.replace(/^## .+\n/, "").trim(),
150
+ };
151
+ })
152
+ .filter((s) => s.body.length > 0 || s.heading.length > 0);
153
+ }
154
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/mcp/parse.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ export interface PermissionRelation {
65
65
  select(columns: Record<string, string>): PermissionRelation;
66
66
  hopTo(relation: string): PermissionRelation;
67
67
  gather(options: {
68
- start?: Record<string, unknown>;
68
+ start?: Record<string, unknown> | PermissionRelation;
69
69
  step: (ctx: {
70
70
  current: RecursiveCurrentValue;
71
71
  }) => PermissionRelation;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ class PermissionRelationBuilder {
126
126
  if (this.state.selectMap && Object.keys(this.state.selectMap).length > 0) {
127
127
  throw new Error("gather(...) does not support select(...) seeds in MVP.");
128
128
  }
129
- if (options.start && this.state.kind === "union") {
129
+ if (options.start && this.state.kind === "union" && !isPermissionRelation(options.start)) {
130
130
  throw new Error("gather(...) start does not support union(...) seeds in MVP.");
131
131
  }
132
132
  const seedState = buildGatherSeedState(this.state, options.start, this.relations);
@@ -162,7 +162,7 @@ class PermissionRelationBuilder {
162
162
  {
163
163
  Cmp: {
164
164
  left: {
165
- scope: stepState.outputTable,
165
+ scope: currentFilter.scope,
166
166
  column: stripQualifier(currentFilter.column),
167
167
  },
168
168
  op: "Eq",
@@ -187,7 +187,7 @@ class PermissionRelationBuilder {
187
187
  on: [
188
188
  {
189
189
  left: {
190
- scope: stepState.outputTable,
190
+ scope: stepState.initialScope,
191
191
  column: stripQualifier(stepJoin.left),
192
192
  },
193
193
  right: { scope: recursiveHopScope, column: "id" },
@@ -463,6 +463,13 @@ function buildGatherSeedState(state, start, relationsByTable) {
463
463
  if (start === undefined) {
464
464
  return state;
465
465
  }
466
+ if (isPermissionRelation(start)) {
467
+ const seedState = getRelationState(start);
468
+ if (seedState.outputTable !== state.outputTable) {
469
+ throw new Error(`gather(...) explicit relation seed must output "${state.outputTable}" rows, got "${seedState.outputTable}".`);
470
+ }
471
+ return seedState;
472
+ }
466
473
  const startWhere = resolveRelationWhereInput(start);
467
474
  const baseScope = currentRelationScope(state);
468
475
  const joins = [...state.joins];
@@ -667,6 +674,9 @@ function getRelationState(relation) {
667
674
  }
668
675
  throw new Error("Expected a relation built from policy.<table> with where/join/hopTo/gather.");
669
676
  }
677
+ function isPermissionRelation(value) {
678
+ return value instanceof PermissionRelationBuilder;
679
+ }
670
680
  function relationColumnRef(column, defaultScope) {
671
681
  const [prefix, bare] = splitQualifiedColumn(column);
672
682
  if (prefix) {