dexto 1.0.1 → 1.1.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.
Files changed (166) hide show
  1. package/README.md +14 -12
  2. package/agents/agent-registry.json +53 -0
  3. package/agents/database-agent/README.md +35 -0
  4. package/agents/database-agent/data/example.db +0 -0
  5. package/agents/database-agent/database-agent-example.sql +98 -0
  6. package/agents/database-agent/database-agent.yml +116 -0
  7. package/agents/database-agent/setup-database.sh +64 -0
  8. package/agents/{agent.yml → default-agent.yml} +1 -1
  9. package/agents/image-editor-agent/Lenna.webp +0 -0
  10. package/agents/image-editor-agent/README.md +435 -0
  11. package/agents/image-editor-agent/image-editor-agent.yml +45 -0
  12. package/agents/music-agent/README.md +294 -0
  13. package/agents/music-agent/music-agent.yml +43 -0
  14. package/agents/product-name-researcher/README.md +98 -0
  15. package/agents/product-name-researcher/product-name-researcher.yml +161 -0
  16. package/agents/talk2pdf-agent/README.md +166 -0
  17. package/agents/talk2pdf-agent/talk2pdf-agent.yml +42 -0
  18. package/agents/triage-demo/README.md +337 -0
  19. package/agents/triage-demo/billing-agent.yml +76 -0
  20. package/agents/triage-demo/docs/billing-policies.md +246 -0
  21. package/agents/triage-demo/docs/company-overview.md +94 -0
  22. package/agents/triage-demo/docs/escalation-policies.md +301 -0
  23. package/agents/triage-demo/docs/product-features.md +253 -0
  24. package/agents/triage-demo/docs/technical-documentation.md +226 -0
  25. package/agents/triage-demo/escalation-agent.yml +82 -0
  26. package/agents/triage-demo/product-info-agent.yml +86 -0
  27. package/agents/triage-demo/technical-support-agent.yml +71 -0
  28. package/agents/triage-demo/test-scenarios.md +209 -0
  29. package/agents/triage-demo/triage-agent.yml +172 -0
  30. package/dist/src/app/{chunk-M4OZIDPC.js → chunk-CLDYRNV6.js} +7241 -5753
  31. package/dist/src/app/chunk-DYNVXGAH.js +137 -0
  32. package/dist/src/app/chunk-PW2PHCHR.js +83 -0
  33. package/dist/src/app/chunk-R4Q522DR.js +205 -0
  34. package/dist/src/app/chunk-UXCBS3TR.js +281 -0
  35. package/dist/src/app/chunk-X6LEX724.js +108 -0
  36. package/dist/src/app/chunk-Y33BS5SA.js +39 -0
  37. package/dist/src/app/{cli-confirmation-handler-2APQRKHG.js → cli-confirmation-handler-GJHPLGOL.js} +4 -1
  38. package/dist/src/app/errors-5MNETGOV.js +8 -0
  39. package/dist/src/app/index.js +2184 -612
  40. package/dist/src/app/loader-EFMKWNNQ.js +20 -0
  41. package/dist/src/app/path-7FT4SZMO.js +23 -0
  42. package/dist/src/app/{postgres-backend-7HVVW3RL.js → postgres-backend-U5MIIMUY.js} +12 -1
  43. package/dist/src/app/{redis-backend-2YBZSSSV.js → redis-backend-NGI67ILT.js} +38 -9
  44. package/dist/src/app/registry-RALMVM3P.js +14 -0
  45. package/dist/src/app/sqlite-backend-752UUBD4.js +245 -0
  46. package/dist/src/app/webui/.next/standalone/.next/BUILD_ID +1 -1
  47. package/dist/src/app/webui/.next/standalone/.next/app-build-manifest.json +20 -21
  48. package/dist/src/app/webui/.next/standalone/.next/app-path-routes-manifest.json +0 -1
  49. package/dist/src/app/webui/.next/standalone/.next/build-manifest.json +4 -4
  50. package/dist/src/app/webui/.next/standalone/.next/prerender-manifest.json +4 -82
  51. package/dist/src/app/webui/.next/standalone/.next/required-server-files.json +2 -3
  52. package/dist/src/app/webui/.next/standalone/.next/routes-manifest.json +0 -6
  53. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  54. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  55. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  56. package/dist/src/app/webui/.next/standalone/.next/server/app/page.js +7 -3
  57. package/dist/src/app/webui/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  58. package/dist/src/app/webui/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  59. package/dist/src/app/webui/.next/standalone/.next/server/app/playground/page.js +8 -8
  60. package/dist/src/app/webui/.next/standalone/.next/server/app/playground/page.js.nft.json +1 -1
  61. package/dist/src/app/webui/.next/standalone/.next/server/app/playground/page_client-reference-manifest.js +1 -1
  62. package/dist/src/app/webui/.next/standalone/.next/server/app-paths-manifest.json +0 -1
  63. package/dist/src/app/webui/.next/standalone/.next/server/chunks/176.js +1 -0
  64. package/dist/src/app/webui/.next/standalone/.next/server/chunks/195.js +24 -0
  65. package/dist/src/app/webui/.next/standalone/.next/server/chunks/620.js +1 -0
  66. package/dist/src/app/webui/.next/standalone/.next/server/chunks/80.js +5 -0
  67. package/dist/src/app/webui/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  68. package/dist/src/app/webui/.next/standalone/.next/server/pages/500.html +1 -1
  69. package/dist/src/app/webui/.next/standalone/.next/server/pages-manifest.json +1 -2
  70. package/dist/src/app/webui/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  71. package/dist/src/app/webui/.next/standalone/.next/server/webpack-runtime.js +1 -1
  72. package/dist/src/app/webui/.next/standalone/.next/static/chunks/190-b897ef36fde616bf.js +1 -0
  73. package/dist/src/app/webui/.next/standalone/.next/static/chunks/487-a77054bd2c64c79c.js +1 -0
  74. package/dist/src/app/webui/.next/standalone/.next/static/chunks/588-dbe47a44489742dd.js +1 -0
  75. package/dist/src/app/webui/.next/standalone/.next/static/chunks/62-35030b5cb176bd7b.js +1 -0
  76. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/layout-91c0cb9eb1ee327a.js +1 -0
  77. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/page-3279aaf14db87f45.js +1 -0
  78. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/playground/page-200aad53af9ca53f.js +1 -0
  79. package/dist/src/app/webui/.next/standalone/.next/static/css/af71306827be150e.css +3 -0
  80. package/dist/src/app/webui/.next/standalone/.next/static/tpCURR82LyyGfdALJ4Qvl/_buildManifest.js +1 -0
  81. package/dist/src/app/webui/.next/standalone/package.json +4 -3
  82. package/dist/src/app/webui/.next/standalone/public/favicon2.ico +0 -0
  83. package/dist/src/app/webui/.next/standalone/public/logo.svg +1 -0
  84. package/dist/src/app/webui/.next/standalone/public/logo_no_text.png +0 -0
  85. package/dist/src/app/webui/.next/standalone/server.js +1 -1
  86. package/dist/src/app/webui/.next/static/chunks/190-b897ef36fde616bf.js +1 -0
  87. package/dist/src/app/webui/.next/static/chunks/487-a77054bd2c64c79c.js +1 -0
  88. package/dist/src/app/webui/.next/static/chunks/588-dbe47a44489742dd.js +1 -0
  89. package/dist/src/app/webui/.next/static/chunks/62-35030b5cb176bd7b.js +1 -0
  90. package/dist/src/app/webui/.next/static/chunks/app/layout-91c0cb9eb1ee327a.js +1 -0
  91. package/dist/src/app/webui/.next/static/chunks/app/page-3279aaf14db87f45.js +1 -0
  92. package/dist/src/app/webui/.next/static/chunks/app/playground/page-200aad53af9ca53f.js +1 -0
  93. package/dist/src/app/webui/.next/static/css/af71306827be150e.css +3 -0
  94. package/dist/src/app/webui/.next/static/tpCURR82LyyGfdALJ4Qvl/_buildManifest.js +1 -0
  95. package/dist/src/app/webui/package.json +4 -3
  96. package/dist/src/app/webui/public/favicon2.ico +0 -0
  97. package/dist/src/app/webui/public/logo.svg +1 -0
  98. package/dist/src/app/webui/public/logo_no_text.png +0 -0
  99. package/dist/src/core/chunk-7A6NQKQ3.js +193 -0
  100. package/dist/src/core/chunk-CZIXQNMZ.js +12191 -0
  101. package/dist/src/core/index.cjs +10601 -8012
  102. package/dist/src/core/index.d.cts +4356 -3907
  103. package/dist/src/core/index.d.ts +4356 -3907
  104. package/dist/src/core/index.js +117 -8396
  105. package/dist/src/core/{postgres-backend-ERZ6DP76.js → postgres-backend-LOLKTD2T.js} +9 -2
  106. package/dist/src/core/{redis-backend-46O7Y44C.js → redis-backend-APZ576PJ.js} +35 -10
  107. package/dist/src/core/sqlite-backend-KQ75DPR7.js +245 -0
  108. package/package.json +20 -12
  109. package/dist/src/app/chunk-O5YHNFMH.js +0 -435
  110. package/dist/src/app/interactive-api-key-setup-V3GAACLN.js +0 -269
  111. package/dist/src/app/sqlite-backend-KIJZ5IP3.js +0 -180
  112. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found.html +0 -1
  113. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found.meta +0 -8
  114. package/dist/src/app/webui/.next/standalone/.next/server/app/_not-found.rsc +0 -21
  115. package/dist/src/app/webui/.next/standalone/.next/server/app/favicon.ico/route.js +0 -1
  116. package/dist/src/app/webui/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  117. package/dist/src/app/webui/.next/standalone/.next/server/app/favicon.ico.body +0 -0
  118. package/dist/src/app/webui/.next/standalone/.next/server/app/favicon.ico.meta +0 -1
  119. package/dist/src/app/webui/.next/standalone/.next/server/app/index.html +0 -1
  120. package/dist/src/app/webui/.next/standalone/.next/server/app/index.meta +0 -7
  121. package/dist/src/app/webui/.next/standalone/.next/server/app/index.rsc +0 -22
  122. package/dist/src/app/webui/.next/standalone/.next/server/app/playground.html +0 -1
  123. package/dist/src/app/webui/.next/standalone/.next/server/app/playground.meta +0 -7
  124. package/dist/src/app/webui/.next/standalone/.next/server/app/playground.rsc +0 -25
  125. package/dist/src/app/webui/.next/standalone/.next/server/chunks/447.js +0 -20
  126. package/dist/src/app/webui/.next/standalone/.next/server/chunks/504.js +0 -1
  127. package/dist/src/app/webui/.next/standalone/.next/server/chunks/54.js +0 -5
  128. package/dist/src/app/webui/.next/standalone/.next/server/chunks/624.js +0 -1
  129. package/dist/src/app/webui/.next/standalone/.next/server/chunks/985.js +0 -5
  130. package/dist/src/app/webui/.next/standalone/.next/server/pages/404.html +0 -1
  131. package/dist/src/app/webui/.next/standalone/.next/static/H-71qcBOOk528tDEa_ldn/_buildManifest.js +0 -1
  132. package/dist/src/app/webui/.next/standalone/.next/static/chunks/125-9b34ec01f112cdb2.js +0 -1
  133. package/dist/src/app/webui/.next/standalone/.next/static/chunks/487-c6ea8b63ca68db1c.js +0 -1
  134. package/dist/src/app/webui/.next/standalone/.next/static/chunks/588-20dc7f3a8664c387.js +0 -1
  135. package/dist/src/app/webui/.next/standalone/.next/static/chunks/687-3e614f30982093f6.js +0 -1
  136. package/dist/src/app/webui/.next/standalone/.next/static/chunks/879-cf875984faa0b72f.js +0 -1
  137. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/layout-ed56660b7ecaf47b.js +0 -1
  138. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/page-b05580de36ce0e36.js +0 -1
  139. package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/playground/page-ac5443cddbe824aa.js +0 -1
  140. package/dist/src/app/webui/.next/standalone/.next/static/css/d44f09bc2605dc76.css +0 -3
  141. package/dist/src/app/webui/.next/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +0 -19
  142. package/dist/src/app/webui/.next/standalone/public/favicon.svg +0 -26
  143. package/dist/src/app/webui/.next/standalone/public/logo.png +0 -0
  144. package/dist/src/app/webui/.next/static/H-71qcBOOk528tDEa_ldn/_buildManifest.js +0 -1
  145. package/dist/src/app/webui/.next/static/chunks/125-9b34ec01f112cdb2.js +0 -1
  146. package/dist/src/app/webui/.next/static/chunks/487-c6ea8b63ca68db1c.js +0 -1
  147. package/dist/src/app/webui/.next/static/chunks/588-20dc7f3a8664c387.js +0 -1
  148. package/dist/src/app/webui/.next/static/chunks/687-3e614f30982093f6.js +0 -1
  149. package/dist/src/app/webui/.next/static/chunks/879-cf875984faa0b72f.js +0 -1
  150. package/dist/src/app/webui/.next/static/chunks/app/layout-ed56660b7ecaf47b.js +0 -1
  151. package/dist/src/app/webui/.next/static/chunks/app/page-b05580de36ce0e36.js +0 -1
  152. package/dist/src/app/webui/.next/static/chunks/app/playground/page-ac5443cddbe824aa.js +0 -1
  153. package/dist/src/app/webui/.next/static/css/d44f09bc2605dc76.css +0 -3
  154. package/dist/src/app/webui/public/favicon.svg +0 -26
  155. package/dist/src/app/webui/public/logo.png +0 -0
  156. package/dist/src/core/chunk-BGO5B3L4.js +0 -2124
  157. package/dist/src/core/chunk-BYHW25EA.js +0 -41
  158. package/dist/src/core/sqlite-backend-RKK4WBHE.js +0 -184
  159. /package/dist/src/app/webui/.next/standalone/.next/static/chunks/{4bd1b696-2df85d4b3b58aed5.js → 4bd1b696-c95fa02060335229.js} +0 -0
  160. /package/dist/src/app/webui/.next/standalone/.next/static/chunks/{684-058c08971e023037.js → 684-2e7175657246b549.js} +0 -0
  161. /package/dist/src/app/webui/.next/standalone/.next/static/chunks/app/_not-found/{page-7b137d85f9de4771.js → page-b63df5a8d3225455.js} +0 -0
  162. /package/dist/src/app/webui/.next/standalone/.next/static/{H-71qcBOOk528tDEa_ldn → tpCURR82LyyGfdALJ4Qvl}/_ssgManifest.js +0 -0
  163. /package/dist/src/app/webui/.next/static/chunks/{4bd1b696-2df85d4b3b58aed5.js → 4bd1b696-c95fa02060335229.js} +0 -0
  164. /package/dist/src/app/webui/.next/static/chunks/{684-058c08971e023037.js → 684-2e7175657246b549.js} +0 -0
  165. /package/dist/src/app/webui/.next/static/chunks/app/_not-found/{page-7b137d85f9de4771.js → page-b63df5a8d3225455.js} +0 -0
  166. /package/dist/src/app/webui/.next/static/{H-71qcBOOk528tDEa_ldn → tpCURR82LyyGfdALJ4Qvl}/_ssgManifest.js +0 -0
@@ -0,0 +1,20 @@
1
+ import {
2
+ createInitialPreferences,
3
+ getGlobalPreferencesPath,
4
+ globalPreferencesExist,
5
+ loadGlobalPreferences,
6
+ saveGlobalPreferences,
7
+ updateGlobalPreferences
8
+ } from "./chunk-R4Q522DR.js";
9
+ import "./chunk-CLDYRNV6.js";
10
+ import "./chunk-PW2PHCHR.js";
11
+ import "./chunk-X6LEX724.js";
12
+ import "./chunk-Y33BS5SA.js";
13
+ export {
14
+ createInitialPreferences,
15
+ getGlobalPreferencesPath,
16
+ globalPreferencesExist,
17
+ loadGlobalPreferences,
18
+ saveGlobalPreferences,
19
+ updateGlobalPreferences
20
+ };
@@ -0,0 +1,23 @@
1
+ import {
2
+ copyDirectory,
3
+ ensureDextoGlobalDirectory,
4
+ findPackageRoot,
5
+ getDextoEnvPath,
6
+ getDextoGlobalPath,
7
+ getDextoPath,
8
+ isPath,
9
+ resolveBundledScript
10
+ } from "./chunk-CLDYRNV6.js";
11
+ import "./chunk-PW2PHCHR.js";
12
+ import "./chunk-X6LEX724.js";
13
+ import "./chunk-Y33BS5SA.js";
14
+ export {
15
+ copyDirectory,
16
+ ensureDextoGlobalDirectory,
17
+ findPackageRoot,
18
+ getDextoEnvPath,
19
+ getDextoGlobalPath,
20
+ getDextoPath,
21
+ isPath,
22
+ resolveBundledScript
23
+ };
@@ -1,3 +1,8 @@
1
+ import {
2
+ StorageError
3
+ } from "./chunk-PW2PHCHR.js";
4
+ import "./chunk-Y33BS5SA.js";
5
+
1
6
  // src/core/storage/backend/postgres-backend.ts
2
7
  import { Pool } from "pg";
3
8
  var PostgresBackend = class {
@@ -44,6 +49,12 @@ var PostgresBackend = class {
44
49
  try {
45
50
  const result = await client.query("SELECT value FROM kv WHERE key = $1", [key]);
46
51
  return result.rows[0] ? result.rows[0].value : void 0;
52
+ } catch (error) {
53
+ throw StorageError.readFailed(
54
+ "get",
55
+ error instanceof Error ? error.message : String(error),
56
+ { key }
57
+ );
47
58
  } finally {
48
59
  client.release();
49
60
  }
@@ -147,7 +158,7 @@ var PostgresBackend = class {
147
158
  }
148
159
  checkConnection() {
149
160
  if (!this.connected || !this.pool) {
150
- throw new Error("PostgresBackend not connected");
161
+ throw StorageError.notConnected("PostgresBackend");
151
162
  }
152
163
  }
153
164
  // Advanced operations
@@ -1,3 +1,8 @@
1
+ import {
2
+ StorageError
3
+ } from "./chunk-PW2PHCHR.js";
4
+ import "./chunk-Y33BS5SA.js";
5
+
1
6
  // src/core/storage/backend/redis-backend.ts
2
7
  import { Redis } from "ioredis";
3
8
  var RedisBackend = class {
@@ -52,21 +57,45 @@ var RedisBackend = class {
52
57
  // Core operations
53
58
  async get(key) {
54
59
  this.checkConnection();
55
- const value = await this.redis.get(key);
56
- return value ? JSON.parse(value) : void 0;
60
+ try {
61
+ const value = await this.redis.get(key);
62
+ return value ? JSON.parse(value) : void 0;
63
+ } catch (error) {
64
+ throw StorageError.readFailed(
65
+ "get",
66
+ error instanceof Error ? error.message : String(error),
67
+ { key }
68
+ );
69
+ }
57
70
  }
58
71
  async set(key, value, ttlSeconds) {
59
72
  this.checkConnection();
60
- const serialized = JSON.stringify(value);
61
- if (ttlSeconds) {
62
- await this.redis.setex(key, ttlSeconds, serialized);
63
- } else {
64
- await this.redis.set(key, serialized);
73
+ try {
74
+ const serialized = JSON.stringify(value);
75
+ if (ttlSeconds) {
76
+ await this.redis.setex(key, ttlSeconds, serialized);
77
+ } else {
78
+ await this.redis.set(key, serialized);
79
+ }
80
+ } catch (error) {
81
+ throw StorageError.writeFailed(
82
+ "set",
83
+ error instanceof Error ? error.message : String(error),
84
+ { key }
85
+ );
65
86
  }
66
87
  }
67
88
  async delete(key) {
68
89
  this.checkConnection();
69
- await this.redis.del(key);
90
+ try {
91
+ await this.redis.del(key);
92
+ } catch (error) {
93
+ throw StorageError.deleteFailed(
94
+ "delete",
95
+ error instanceof Error ? error.message : String(error),
96
+ { key }
97
+ );
98
+ }
70
99
  }
71
100
  // Redis-specific optimizations
72
101
  async mget(keys) {
@@ -118,7 +147,7 @@ var RedisBackend = class {
118
147
  }
119
148
  checkConnection() {
120
149
  if (!this.connected || !this.redis || this.redis.status !== "ready") {
121
- throw new Error("RedisBackend not connected");
150
+ throw StorageError.notConnected("RedisBackend");
122
151
  }
123
152
  }
124
153
  // Maintenance operations
@@ -0,0 +1,14 @@
1
+ import {
2
+ LocalAgentRegistry,
3
+ getAgentRegistry
4
+ } from "./chunk-UXCBS3TR.js";
5
+ import "./chunk-R4Q522DR.js";
6
+ import "./chunk-CLDYRNV6.js";
7
+ import "./chunk-PW2PHCHR.js";
8
+ import "./chunk-DYNVXGAH.js";
9
+ import "./chunk-X6LEX724.js";
10
+ import "./chunk-Y33BS5SA.js";
11
+ export {
12
+ LocalAgentRegistry,
13
+ getAgentRegistry
14
+ };
@@ -0,0 +1,245 @@
1
+ import {
2
+ getDextoPath,
3
+ logger
4
+ } from "./chunk-CLDYRNV6.js";
5
+ import {
6
+ StorageError
7
+ } from "./chunk-PW2PHCHR.js";
8
+ import "./chunk-X6LEX724.js";
9
+ import "./chunk-Y33BS5SA.js";
10
+
11
+ // src/core/storage/backend/sqlite-backend.ts
12
+ import { dirname } from "path";
13
+ import { mkdirSync } from "fs";
14
+ import * as path from "path";
15
+ var Database;
16
+ var SQLiteBackend = class {
17
+ db;
18
+ // Database.Database
19
+ dbPath;
20
+ config;
21
+ constructor(config) {
22
+ this.config = config;
23
+ this.dbPath = "";
24
+ }
25
+ resolveDefaultPath(dbName) {
26
+ const storageDir = getDextoPath("database");
27
+ const finalPath = path.join(storageDir, dbName);
28
+ logger.info(`SQLite storage directory: ${storageDir}`);
29
+ logger.debug(`SQLite database file: ${finalPath}`);
30
+ return finalPath;
31
+ }
32
+ initializeTables() {
33
+ logger.debug("SQLite initializing database schema...");
34
+ try {
35
+ this.db.exec(`
36
+ CREATE TABLE IF NOT EXISTS kv_store (
37
+ key TEXT PRIMARY KEY,
38
+ value TEXT NOT NULL,
39
+ created_at INTEGER DEFAULT (strftime('%s', 'now')),
40
+ updated_at INTEGER DEFAULT (strftime('%s', 'now'))
41
+ )
42
+ `);
43
+ this.db.exec(`
44
+ CREATE TABLE IF NOT EXISTS list_store (
45
+ key TEXT NOT NULL,
46
+ value TEXT NOT NULL,
47
+ sequence INTEGER,
48
+ created_at INTEGER DEFAULT (strftime('%s', 'now')),
49
+ PRIMARY KEY (key, sequence)
50
+ )
51
+ `);
52
+ this.db.exec(`
53
+ CREATE INDEX IF NOT EXISTS idx_kv_store_key ON kv_store(key);
54
+ CREATE INDEX IF NOT EXISTS idx_list_store_key ON list_store(key);
55
+ CREATE INDEX IF NOT EXISTS idx_list_store_sequence ON list_store(key, sequence);
56
+ `);
57
+ logger.debug(
58
+ "SQLite database schema initialized: kv_store, list_store tables with indexes"
59
+ );
60
+ } catch (error) {
61
+ throw StorageError.migrationFailed(
62
+ error instanceof Error ? error.message : String(error),
63
+ {
64
+ operation: "table_initialization",
65
+ backend: "sqlite"
66
+ }
67
+ );
68
+ }
69
+ }
70
+ async connect() {
71
+ if (!Database) {
72
+ try {
73
+ const module = await import("better-sqlite3");
74
+ Database = module.default || module;
75
+ } catch (error) {
76
+ throw StorageError.connectionFailed(
77
+ `Failed to import better-sqlite3: ${error instanceof Error ? error.message : String(error)}`
78
+ );
79
+ }
80
+ }
81
+ if (this.config.path) {
82
+ this.dbPath = this.config.path;
83
+ logger.info(`SQLite using custom path: ${this.dbPath}`);
84
+ } else {
85
+ this.dbPath = this.resolveDefaultPath(this.config.database || "dexto.db");
86
+ }
87
+ const dir = dirname(this.dbPath);
88
+ logger.debug(`SQLite ensuring directory exists: ${dir}`);
89
+ try {
90
+ mkdirSync(dir, { recursive: true });
91
+ } catch (error) {
92
+ logger.debug(`Directory creation result: ${error ? "exists" : "created"}`);
93
+ }
94
+ const sqliteOptions = this.config.options || {};
95
+ logger.debug(`SQLite initializing database with config:`, {
96
+ readonly: sqliteOptions.readonly || false,
97
+ fileMustExist: sqliteOptions.fileMustExist || false,
98
+ timeout: sqliteOptions.timeout || 5e3
99
+ });
100
+ this.db = new Database(this.dbPath, {
101
+ readonly: sqliteOptions.readonly || false,
102
+ fileMustExist: sqliteOptions.fileMustExist || false,
103
+ timeout: sqliteOptions.timeout || 5e3,
104
+ verbose: sqliteOptions.verbose ? (message, ...additionalArgs) => {
105
+ logger.debug(
106
+ typeof message === "string" || typeof message === "object" && message !== null ? message : String(message),
107
+ ...additionalArgs
108
+ );
109
+ } : void 0
110
+ });
111
+ this.db.pragma("journal_mode = WAL");
112
+ logger.debug("SQLite enabled WAL mode for better concurrency");
113
+ this.initializeTables();
114
+ logger.info(`\u2705 SQLite backend successfully connected to: ${this.dbPath}`);
115
+ }
116
+ async disconnect() {
117
+ if (this.db) {
118
+ this.db.close();
119
+ }
120
+ }
121
+ isConnected() {
122
+ return this.db !== null;
123
+ }
124
+ getBackendType() {
125
+ return "sqlite";
126
+ }
127
+ // Core operations
128
+ async get(key) {
129
+ this.checkConnection();
130
+ try {
131
+ const row = this.db.prepare("SELECT value FROM kv_store WHERE key = ?").get(key);
132
+ return row ? JSON.parse(row.value) : void 0;
133
+ } catch (error) {
134
+ throw StorageError.readFailed(
135
+ "get",
136
+ error instanceof Error ? error.message : String(error),
137
+ { key }
138
+ );
139
+ }
140
+ }
141
+ async set(key, value) {
142
+ this.checkConnection();
143
+ try {
144
+ const serialized = JSON.stringify(value);
145
+ this.db.prepare(
146
+ "INSERT OR REPLACE INTO kv_store (key, value, updated_at) VALUES (?, ?, ?)"
147
+ ).run(key, serialized, Date.now());
148
+ } catch (error) {
149
+ throw StorageError.writeFailed(
150
+ "set",
151
+ error instanceof Error ? error.message : String(error),
152
+ { key }
153
+ );
154
+ }
155
+ }
156
+ async delete(key) {
157
+ this.checkConnection();
158
+ try {
159
+ this.db.prepare("DELETE FROM kv_store WHERE key = ?").run(key);
160
+ this.db.prepare("DELETE FROM list_store WHERE key = ?").run(key);
161
+ } catch (error) {
162
+ throw StorageError.deleteFailed(
163
+ "delete",
164
+ error instanceof Error ? error.message : String(error),
165
+ { key }
166
+ );
167
+ }
168
+ }
169
+ // List operations
170
+ async list(prefix) {
171
+ this.checkConnection();
172
+ try {
173
+ const kvKeys = this.db.prepare("SELECT key FROM kv_store WHERE key LIKE ?").all(`${prefix}%`);
174
+ const listKeys = this.db.prepare("SELECT DISTINCT key FROM list_store WHERE key LIKE ?").all(`${prefix}%`);
175
+ const allKeys = /* @__PURE__ */ new Set([
176
+ ...kvKeys.map((row) => row.key),
177
+ ...listKeys.map((row) => row.key)
178
+ ]);
179
+ return Array.from(allKeys).sort();
180
+ } catch (error) {
181
+ throw StorageError.readFailed(
182
+ "list",
183
+ error instanceof Error ? error.message : String(error),
184
+ { prefix }
185
+ );
186
+ }
187
+ }
188
+ async append(key, item) {
189
+ this.checkConnection();
190
+ try {
191
+ const serialized = JSON.stringify(item);
192
+ this.db.prepare(
193
+ "INSERT INTO list_store (key, value, sequence) VALUES (?, ?, (SELECT COALESCE(MAX(sequence), 0) + 1 FROM list_store WHERE key = ?))"
194
+ ).run(key, serialized, key);
195
+ } catch (error) {
196
+ throw StorageError.writeFailed(
197
+ "append",
198
+ error instanceof Error ? error.message : String(error),
199
+ { key }
200
+ );
201
+ }
202
+ }
203
+ async getRange(key, start, count) {
204
+ this.checkConnection();
205
+ try {
206
+ const rows = this.db.prepare(
207
+ "SELECT value FROM list_store WHERE key = ? ORDER BY sequence ASC LIMIT ? OFFSET ?"
208
+ ).all(key, count, start);
209
+ return rows.map((row) => JSON.parse(row.value));
210
+ } catch (error) {
211
+ throw StorageError.readFailed(
212
+ "getRange",
213
+ error instanceof Error ? error.message : String(error),
214
+ { key, start, count }
215
+ );
216
+ }
217
+ }
218
+ // Schema management
219
+ checkConnection() {
220
+ if (!this.db) {
221
+ throw StorageError.notConnected("SQLiteBackend");
222
+ }
223
+ }
224
+ // Maintenance operations
225
+ async vacuum() {
226
+ this.checkConnection();
227
+ this.db.exec("VACUUM");
228
+ }
229
+ async getStats() {
230
+ this.checkConnection();
231
+ const kvCount = this.db.prepare("SELECT COUNT(*) as count FROM kv_store").get();
232
+ const listCount = this.db.prepare("SELECT COUNT(*) as count FROM list_store").get();
233
+ const dbSize = this.db.prepare(
234
+ "SELECT page_count * page_size as size FROM pragma_page_count(), pragma_page_size()"
235
+ ).get();
236
+ return {
237
+ kvCount: kvCount.count,
238
+ listCount: listCount.count,
239
+ dbSize: dbSize.size
240
+ };
241
+ }
242
+ };
243
+ export {
244
+ SQLiteBackend
245
+ };
@@ -1 +1 @@
1
- H-71qcBOOk528tDEa_ldn
1
+ tpCURR82LyyGfdALJ4Qvl
@@ -2,40 +2,39 @@
2
2
  "pages": {
3
3
  "/_not-found/page": [
4
4
  "static/chunks/webpack-03ffd572789516df.js",
5
- "static/chunks/4bd1b696-2df85d4b3b58aed5.js",
6
- "static/chunks/684-058c08971e023037.js",
5
+ "static/chunks/4bd1b696-c95fa02060335229.js",
6
+ "static/chunks/684-2e7175657246b549.js",
7
7
  "static/chunks/main-app-6bd492b39b236778.js",
8
- "static/chunks/app/_not-found/page-7b137d85f9de4771.js"
8
+ "static/chunks/app/_not-found/page-b63df5a8d3225455.js"
9
9
  ],
10
10
  "/layout": [
11
11
  "static/chunks/webpack-03ffd572789516df.js",
12
- "static/chunks/4bd1b696-2df85d4b3b58aed5.js",
13
- "static/chunks/684-058c08971e023037.js",
12
+ "static/chunks/4bd1b696-c95fa02060335229.js",
13
+ "static/chunks/684-2e7175657246b549.js",
14
14
  "static/chunks/main-app-6bd492b39b236778.js",
15
- "static/css/d44f09bc2605dc76.css",
16
- "static/chunks/487-c6ea8b63ca68db1c.js",
17
- "static/chunks/app/layout-ed56660b7ecaf47b.js"
15
+ "static/css/af71306827be150e.css",
16
+ "static/chunks/487-a77054bd2c64c79c.js",
17
+ "static/chunks/app/layout-91c0cb9eb1ee327a.js"
18
18
  ],
19
19
  "/page": [
20
20
  "static/chunks/webpack-03ffd572789516df.js",
21
- "static/chunks/4bd1b696-2df85d4b3b58aed5.js",
22
- "static/chunks/684-058c08971e023037.js",
21
+ "static/chunks/4bd1b696-c95fa02060335229.js",
22
+ "static/chunks/684-2e7175657246b549.js",
23
23
  "static/chunks/main-app-6bd492b39b236778.js",
24
- "static/chunks/687-3e614f30982093f6.js",
25
- "static/chunks/125-9b34ec01f112cdb2.js",
26
- "static/chunks/588-20dc7f3a8664c387.js",
27
- "static/chunks/487-c6ea8b63ca68db1c.js",
28
- "static/chunks/app/page-b05580de36ce0e36.js"
24
+ "static/chunks/62-35030b5cb176bd7b.js",
25
+ "static/chunks/190-b897ef36fde616bf.js",
26
+ "static/chunks/588-dbe47a44489742dd.js",
27
+ "static/chunks/487-a77054bd2c64c79c.js",
28
+ "static/chunks/app/page-3279aaf14db87f45.js"
29
29
  ],
30
30
  "/playground/page": [
31
31
  "static/chunks/webpack-03ffd572789516df.js",
32
- "static/chunks/4bd1b696-2df85d4b3b58aed5.js",
33
- "static/chunks/684-058c08971e023037.js",
32
+ "static/chunks/4bd1b696-c95fa02060335229.js",
33
+ "static/chunks/684-2e7175657246b549.js",
34
34
  "static/chunks/main-app-6bd492b39b236778.js",
35
- "static/chunks/687-3e614f30982093f6.js",
36
- "static/chunks/879-cf875984faa0b72f.js",
37
- "static/chunks/588-20dc7f3a8664c387.js",
38
- "static/chunks/app/playground/page-ac5443cddbe824aa.js"
35
+ "static/chunks/62-35030b5cb176bd7b.js",
36
+ "static/chunks/588-dbe47a44489742dd.js",
37
+ "static/chunks/app/playground/page-200aad53af9ca53f.js"
39
38
  ]
40
39
  }
41
40
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "/_not-found/page": "/_not-found",
3
- "/favicon.ico/route": "/favicon.ico",
4
3
  "/page": "/",
5
4
  "/playground/page": "/playground"
6
5
  }
@@ -5,13 +5,13 @@
5
5
  "devFiles": [],
6
6
  "ampDevFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/H-71qcBOOk528tDEa_ldn/_buildManifest.js",
9
- "static/H-71qcBOOk528tDEa_ldn/_ssgManifest.js"
8
+ "static/tpCURR82LyyGfdALJ4Qvl/_buildManifest.js",
9
+ "static/tpCURR82LyyGfdALJ4Qvl/_ssgManifest.js"
10
10
  ],
11
11
  "rootMainFiles": [
12
12
  "static/chunks/webpack-03ffd572789516df.js",
13
- "static/chunks/4bd1b696-2df85d4b3b58aed5.js",
14
- "static/chunks/684-058c08971e023037.js",
13
+ "static/chunks/4bd1b696-c95fa02060335229.js",
14
+ "static/chunks/684-2e7175657246b549.js",
15
15
  "static/chunks/main-app-6bd492b39b236778.js"
16
16
  ],
17
17
  "rootMainFilesTree": {},
@@ -1,89 +1,11 @@
1
1
  {
2
2
  "version": 4,
3
- "routes": {
4
- "/favicon.ico": {
5
- "initialHeaders": {
6
- "cache-control": "public, max-age=0, must-revalidate",
7
- "content-type": "image/x-icon",
8
- "x-next-cache-tags": "_N_T_/layout,_N_T_/favicon.ico/layout,_N_T_/favicon.ico/route,_N_T_/favicon.ico"
9
- },
10
- "experimentalBypassFor": [
11
- {
12
- "type": "header",
13
- "key": "Next-Action"
14
- },
15
- {
16
- "type": "header",
17
- "key": "content-type",
18
- "value": "multipart/form-data;.*"
19
- }
20
- ],
21
- "initialRevalidateSeconds": false,
22
- "srcRoute": "/favicon.ico",
23
- "dataRoute": null,
24
- "allowHeader": [
25
- "host",
26
- "x-matched-path",
27
- "x-prerender-revalidate",
28
- "x-prerender-revalidate-if-generated",
29
- "x-next-revalidated-tags",
30
- "x-next-revalidate-tag-token"
31
- ]
32
- },
33
- "/playground": {
34
- "experimentalBypassFor": [
35
- {
36
- "type": "header",
37
- "key": "Next-Action"
38
- },
39
- {
40
- "type": "header",
41
- "key": "content-type",
42
- "value": "multipart/form-data;.*"
43
- }
44
- ],
45
- "initialRevalidateSeconds": false,
46
- "srcRoute": "/playground",
47
- "dataRoute": "/playground.rsc",
48
- "allowHeader": [
49
- "host",
50
- "x-matched-path",
51
- "x-prerender-revalidate",
52
- "x-prerender-revalidate-if-generated",
53
- "x-next-revalidated-tags",
54
- "x-next-revalidate-tag-token"
55
- ]
56
- },
57
- "/": {
58
- "experimentalBypassFor": [
59
- {
60
- "type": "header",
61
- "key": "Next-Action"
62
- },
63
- {
64
- "type": "header",
65
- "key": "content-type",
66
- "value": "multipart/form-data;.*"
67
- }
68
- ],
69
- "initialRevalidateSeconds": false,
70
- "srcRoute": "/",
71
- "dataRoute": "/index.rsc",
72
- "allowHeader": [
73
- "host",
74
- "x-matched-path",
75
- "x-prerender-revalidate",
76
- "x-prerender-revalidate-if-generated",
77
- "x-next-revalidated-tags",
78
- "x-next-revalidate-tag-token"
79
- ]
80
- }
81
- },
3
+ "routes": {},
82
4
  "dynamicRoutes": {},
83
5
  "notFoundRoutes": [],
84
6
  "preview": {
85
- "previewModeId": "b3ef70d57ef409bf2339073d0969012b",
86
- "previewModeSigningKey": "f9a671fb9173a1fcc79e94dd547833e84a96081f3385c0a564ac76b2ac35297e",
87
- "previewModeEncryptionKey": "a84d5d4d55d6a8f94200abc615deaec796279260aa65c75e9e39ca1872d7fdc5"
7
+ "previewModeId": "e6c5d02a7ef057a07a3a324be05a8bc1",
8
+ "previewModeSigningKey": "d6669a3317869bd3bfe6188fdba0086323869535f640d0910f31c1b50b9c5a01",
9
+ "previewModeEncryptionKey": "433b11b771f9b023ab3b4b00fd3fc699c6f55bc3ada4046c545a99bd0da6f18f"
88
10
  }
89
11
  }
@@ -2,7 +2,6 @@
2
2
  "version": 1,
3
3
  "config": {
4
4
  "env": {},
5
- "webpack": null,
6
5
  "eslint": {
7
6
  "ignoreDuringBuilds": true
8
7
  },
@@ -100,7 +99,7 @@
100
99
  "outputFileTracingRoot": "/home/runner/work/dexto/dexto/src/app/webui",
101
100
  "allowedDevOrigins": [
102
101
  "http://localhost:3000",
103
- "http://10.1.0.135:3000"
102
+ "http://10.1.0.57:3000"
104
103
  ],
105
104
  "experimental": {
106
105
  "nodeMiddleware": false,
@@ -170,7 +169,7 @@
170
169
  "optimizeCss": false,
171
170
  "nextScriptWorkers": false,
172
171
  "scrollRestoration": false,
173
- "externalDir": false,
172
+ "externalDir": true,
174
173
  "disableOptimizedLoading": false,
175
174
  "gzipSize": true,
176
175
  "craCompat": false,
@@ -38,12 +38,6 @@
38
38
  "routeKeys": {},
39
39
  "namedRegex": "^/_not\\-found(?:/)?$"
40
40
  },
41
- {
42
- "page": "/favicon.ico",
43
- "regex": "^/favicon\\.ico(?:/)?$",
44
- "routeKeys": {},
45
- "namedRegex": "^/favicon\\.ico(?:/)?$"
46
- },
47
41
  {
48
42
  "page": "/playground",
49
43
  "regex": "^/playground(?:/)?$",
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=492,e.ids=[492],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:e=>{e.exports=require("path")},7968:(e,r,t)=>{t.r(r),t.d(r,{GlobalError:()=>i.a,__next_app__:()=>l,pages:()=>u,routeModule:()=>x,tree:()=>p});var n=t(5239),o=t(8088),s=t(8170),i=t.n(s),d=t(893),a={};for(let e in d)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(a[e]=()=>d[e]);t.d(r,a);let p={children:["",{children:["/_not-found",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.t.bind(t,7398,23)),"next/dist/client/components/not-found-error"]}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,8014)),"/home/runner/work/dexto/dexto/src/app/webui/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,7398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(t.t.bind(t,9999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(t.t.bind(t,5284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,u=[],l={require:t,loadChunk:()=>Promise.resolve()},x=new n.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:p}})},9121:e=>{e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var r=require("../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),n=r.X(0,[447,985,504],()=>t(7968));module.exports=n})();
1
+ "use strict";(()=>{var e={};e.id=492,e.ids=[492],e.modules={846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:e=>{e.exports=require("path")},7968:(e,r,t)=>{t.r(r),t.d(r,{GlobalError:()=>i.a,__next_app__:()=>l,pages:()=>u,routeModule:()=>x,tree:()=>p});var n=t(5239),o=t(8088),s=t(8170),i=t.n(s),d=t(893),a={};for(let e in d)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(a[e]=()=>d[e]);t.d(r,a);let p={children:["",{children:["/_not-found",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.t.bind(t,7398,23)),"next/dist/client/components/not-found-error"]}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,8014)),"/home/runner/work/dexto/dexto/src/app/webui/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,7398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(t.t.bind(t,9999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(t.t.bind(t,5284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,u=[],l={require:t,loadChunk:()=>Promise.resolve()},x=new n.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:p}})},9121:e=>{e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var r=require("../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),n=r.X(0,[195,620],()=>t(7968));module.exports=n})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/447.js","../../chunks/504.js","../../chunks/985.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/195.js","../../chunks/620.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}