sparkecoder 0.1.136 → 0.1.138

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 (146) hide show
  1. package/dist/agent/index.d.ts +3 -3
  2. package/dist/cli.js +92 -56
  3. package/dist/cli.js.map +1 -1
  4. package/dist/db/index.d.ts +2 -2
  5. package/dist/{index-UtOo3D9f.d.ts → index-BM99kjgq.d.ts} +51 -51
  6. package/dist/index.d.ts +5 -5
  7. package/dist/index.js +67 -31
  8. package/dist/index.js.map +1 -1
  9. package/dist/{schema-BTrvqaJL.d.ts → schema-Dz-wABVY.d.ts} +3 -3
  10. package/dist/{search-BRnGaIl-.d.ts → search-CVVfuBPZ.d.ts} +4 -4
  11. package/dist/server/index.js +67 -31
  12. package/dist/server/index.js.map +1 -1
  13. package/dist/tools/index.d.ts +3 -3
  14. package/package.json +1 -1
  15. package/web/.next/BUILD_ID +1 -1
  16. package/web/.next/standalone/web/.next/BUILD_ID +1 -1
  17. package/web/.next/standalone/web/.next/app-path-routes-manifest.json +1 -0
  18. package/web/.next/standalone/web/.next/build-manifest.json +2 -2
  19. package/web/.next/standalone/web/.next/prerender-manifest.json +3 -3
  20. package/web/.next/standalone/web/.next/routes-manifest.json +6 -0
  21. package/web/.next/standalone/web/.next/server/app/(main)/agents/page_client-reference-manifest.js +1 -1
  22. package/web/.next/standalone/web/.next/server/app/(main)/page_client-reference-manifest.js +1 -1
  23. package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page_client-reference-manifest.js +1 -1
  24. package/web/.next/standalone/web/.next/server/app/(main)/settings/page_client-reference-manifest.js +1 -1
  25. package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
  26. package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
  27. package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  28. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  29. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  30. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  31. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  32. package/web/.next/standalone/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  33. package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
  34. package/web/.next/standalone/web/.next/server/app/_not-found.rsc +2 -2
  35. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  36. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  37. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  38. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  39. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  40. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  41. package/web/.next/standalone/web/.next/server/app/agents.html +1 -1
  42. package/web/.next/standalone/web/.next/server/app/agents.rsc +2 -2
  43. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +1 -1
  44. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  45. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +1 -1
  46. package/web/.next/standalone/web/.next/server/app/agents.segments/_full.segment.rsc +2 -2
  47. package/web/.next/standalone/web/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  48. package/web/.next/standalone/web/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  49. package/web/.next/standalone/web/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  50. package/web/.next/standalone/web/.next/server/app/api/config/route.js.nft.json +1 -1
  51. package/web/.next/standalone/web/.next/server/app/api/diag/route/app-paths-manifest.json +3 -0
  52. package/web/.next/standalone/web/.next/server/app/api/diag/route/build-manifest.json +11 -0
  53. package/web/.next/standalone/web/.next/server/app/api/diag/route/server-reference-manifest.json +4 -0
  54. package/web/.next/standalone/web/.next/server/app/api/diag/route.js +7 -0
  55. package/web/.next/standalone/web/.next/server/app/api/diag/route.js.map +5 -0
  56. package/web/.next/standalone/web/.next/server/app/api/diag/route.js.nft.json +1 -0
  57. package/web/.next/standalone/web/.next/server/app/api/diag/route_client-reference-manifest.js +2 -0
  58. package/web/.next/standalone/web/.next/server/app/api/health/route.js.nft.json +1 -1
  59. package/web/.next/standalone/web/.next/server/app/docs/installation/page_client-reference-manifest.js +1 -1
  60. package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
  61. package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +2 -2
  62. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +2 -2
  63. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
  64. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +2 -2
  65. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +2 -2
  66. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +1 -1
  67. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
  68. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +1 -1
  69. package/web/.next/standalone/web/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  70. package/web/.next/standalone/web/.next/server/app/docs/skills/page_client-reference-manifest.js +1 -1
  71. package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
  72. package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +2 -2
  73. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +2 -2
  74. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
  75. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +2 -2
  76. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +2 -2
  77. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
  78. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
  79. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +1 -1
  80. package/web/.next/standalone/web/.next/server/app/docs/tools/page_client-reference-manifest.js +1 -1
  81. package/web/.next/standalone/web/.next/server/app/docs/tools.html +2 -2
  82. package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +2 -2
  83. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +2 -2
  84. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
  85. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +2 -2
  86. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +2 -2
  87. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +1 -1
  88. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
  89. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +1 -1
  90. package/web/.next/standalone/web/.next/server/app/docs.html +2 -2
  91. package/web/.next/standalone/web/.next/server/app/docs.rsc +2 -2
  92. package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +2 -2
  93. package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  94. package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  95. package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  96. package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  97. package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  98. package/web/.next/standalone/web/.next/server/app/index.html +1 -1
  99. package/web/.next/standalone/web/.next/server/app/index.rsc +2 -2
  100. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +1 -1
  101. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +1 -1
  102. package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +2 -2
  103. package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  104. package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +2 -2
  105. package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  106. package/web/.next/standalone/web/.next/server/app/settings.html +1 -1
  107. package/web/.next/standalone/web/.next/server/app/settings.rsc +2 -2
  108. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p/settings/__PAGE__.segment.rsc +1 -1
  109. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p/settings.segment.rsc +1 -1
  110. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p.segment.rsc +1 -1
  111. package/web/.next/standalone/web/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  112. package/web/.next/standalone/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  113. package/web/.next/standalone/web/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  114. package/web/.next/standalone/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  115. package/web/.next/standalone/web/.next/server/app/sfapi/[...path]/route.js.nft.json +1 -1
  116. package/web/.next/standalone/web/.next/server/app-paths-manifest.json +1 -0
  117. package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__5b38d1a5._.js +3 -0
  118. package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__78517719._.js +1 -1
  119. package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__9d50fe63._.js +1 -1
  120. package/web/.next/standalone/web/.next/server/chunks/[root-of-the-server]__ce44139a._.js +1 -1
  121. package/web/.next/standalone/web/.next/server/chunks/web__next-internal_server_app_api_diag_route_actions_3a4a3b84.js +3 -0
  122. package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
  123. package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
  124. package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
  125. package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
  126. package/web/.next/standalone/web/.next/static/chunks/ca84b9a1165bcda5.css +1 -0
  127. package/web/.next/standalone/web/.next/static/static/chunks/ca84b9a1165bcda5.css +1 -0
  128. package/web/.next/standalone/web/runtime-config.json +5 -2
  129. package/web/.next/standalone/web/src/app/api/config/route.ts +6 -3
  130. package/web/.next/standalone/web/src/app/api/diag/route.ts +137 -0
  131. package/web/.next/standalone/web/src/app/api/health/route.ts +9 -4
  132. package/web/.next/standalone/web/src/app/sfapi/[...path]/route.ts +2 -2
  133. package/web/.next/standalone/web/src/lib/local-api.ts +67 -6
  134. package/web/.next/static/chunks/ca84b9a1165bcda5.css +1 -0
  135. package/web/.next/standalone/web/.next/static/chunks/acb0fc66f5414af6.css +0 -1
  136. package/web/.next/standalone/web/.next/static/static/chunks/acb0fc66f5414af6.css +0 -1
  137. package/web/.next/static/chunks/acb0fc66f5414af6.css +0 -1
  138. /package/web/.next/standalone/web/.next/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_buildManifest.js +0 -0
  139. /package/web/.next/standalone/web/.next/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_clientMiddlewareManifest.json +0 -0
  140. /package/web/.next/standalone/web/.next/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_ssgManifest.js +0 -0
  141. /package/web/.next/standalone/web/.next/static/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_buildManifest.js +0 -0
  142. /package/web/.next/standalone/web/.next/static/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_clientMiddlewareManifest.json +0 -0
  143. /package/web/.next/standalone/web/.next/static/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_ssgManifest.js +0 -0
  144. /package/web/.next/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_buildManifest.js +0 -0
  145. /package/web/.next/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_clientMiddlewareManifest.json +0 -0
  146. /package/web/.next/static/{BS3vhcmrlRmT39qDuhaJP → hJ9axFUPZg0HHJCXM9Oyx}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
- import { C as Checkpoint, F as FileBackup, M as ModelMessage, a as Message, S as Session, L as LoadedSkill, T as TodoItem, b as ToolExecution, A as ActiveStream, I as IndexStatusRecord, c as IndexedChunk, d as SubagentExecution, e as SubagentStep, f as Terminal } from '../schema-BTrvqaJL.js';
2
- export { N as NewActiveStream, g as NewCheckpoint, h as NewFileBackup, i as NewIndexStatusRecord, j as NewIndexedChunk, k as NewMessage, l as NewSession, m as NewSubagentExecution, n as NewTerminal, o as NewTodoItem, p as NewToolExecution, q as SessionConfig, r as TaskConfig, s as TaskMcpServerSummary, t as TaskSkillSummary, U as UserContentPart, u as UserFilePart, v as UserImagePart, w as UserModelMessage, x as UserTextPart } from '../schema-BTrvqaJL.js';
1
+ import { C as Checkpoint, F as FileBackup, M as ModelMessage, a as Message, S as Session, L as LoadedSkill, T as TodoItem, b as ToolExecution, A as ActiveStream, I as IndexStatusRecord, c as IndexedChunk, d as SubagentExecution, e as SubagentStep, f as Terminal } from '../schema-Dz-wABVY.js';
2
+ export { N as NewActiveStream, g as NewCheckpoint, h as NewFileBackup, i as NewIndexStatusRecord, j as NewIndexedChunk, k as NewMessage, l as NewSession, m as NewSubagentExecution, n as NewTerminal, o as NewTodoItem, p as NewToolExecution, q as SessionConfig, r as TaskConfig, s as TaskMcpServerSummary, t as TaskSkillSummary, U as UserContentPart, u as UserFilePart, v as UserImagePart, w as UserModelMessage, x as UserTextPart } from '../schema-Dz-wABVY.js';
3
3
  import 'drizzle-orm/sqlite-core';
4
4
 
5
5
  /**
@@ -1,7 +1,7 @@
1
1
  import { ModelMessage, streamText } from 'ai';
2
- import { S as Session, b as ToolExecution, r as TaskConfig } from './schema-BTrvqaJL.js';
2
+ import { S as Session, b as ToolExecution, r as TaskConfig } from './schema-Dz-wABVY.js';
3
3
  import { z } from 'zod';
4
- import { B as BashToolProgress, W as WriteFileProgress, S as SearchToolProgress } from './search-BRnGaIl-.js';
4
+ import { B as BashToolProgress, W as WriteFileProgress, S as SearchToolProgress } from './search-CVVfuBPZ.js';
5
5
 
6
6
  declare const ToolApprovalConfigSchema: z.ZodObject<{
7
7
  bash: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -39,23 +39,23 @@ declare const SessionConfigSchema: z.ZodObject<{
39
39
  iterations: z.ZodOptional<z.ZodNumber>;
40
40
  parentTaskId: z.ZodOptional<z.ZodString>;
41
41
  }, "strip", z.ZodTypeAny, {
42
- status: "completed" | "running" | "failed";
42
+ status: "running" | "completed" | "failed";
43
43
  enabled: boolean;
44
44
  outputSchema: Record<string, unknown>;
45
- error?: string | undefined;
46
45
  webhookUrl?: string | undefined;
47
46
  maxIterations?: number | undefined;
48
47
  result?: unknown;
48
+ error?: string | undefined;
49
49
  iterations?: number | undefined;
50
50
  parentTaskId?: string | undefined;
51
51
  }, {
52
- status: "completed" | "running" | "failed";
52
+ status: "running" | "completed" | "failed";
53
53
  enabled: boolean;
54
54
  outputSchema: Record<string, unknown>;
55
- error?: string | undefined;
56
55
  webhookUrl?: string | undefined;
57
56
  maxIterations?: number | undefined;
58
57
  result?: unknown;
58
+ error?: string | undefined;
59
59
  iterations?: number | undefined;
60
60
  parentTaskId?: string | undefined;
61
61
  }>>;
@@ -85,20 +85,20 @@ declare const SessionConfigSchema: z.ZodObject<{
85
85
  lastFiredAt: z.ZodOptional<z.ZodString>;
86
86
  createdAt: z.ZodString;
87
87
  }, "strip", z.ZodTypeAny, {
88
+ enabled: boolean;
88
89
  id: string;
89
90
  name: string;
90
- createdAt: string;
91
- prompt: string;
92
- enabled: boolean;
93
91
  cron: string;
92
+ prompt: string;
93
+ createdAt: string;
94
94
  replyChannel?: string | undefined;
95
95
  lastFiredAt?: string | undefined;
96
96
  }, {
97
97
  id: string;
98
98
  name: string;
99
- createdAt: string;
100
- prompt: string;
101
99
  cron: string;
100
+ prompt: string;
101
+ createdAt: string;
102
102
  enabled?: boolean | undefined;
103
103
  replyChannel?: string | undefined;
104
104
  lastFiredAt?: string | undefined;
@@ -137,13 +137,13 @@ declare const SessionConfigSchema: z.ZodObject<{
137
137
  approvalWebhook?: string | undefined;
138
138
  skillsDirectory?: string | undefined;
139
139
  task?: {
140
- status: "completed" | "running" | "failed";
140
+ status: "running" | "completed" | "failed";
141
141
  enabled: boolean;
142
142
  outputSchema: Record<string, unknown>;
143
- error?: string | undefined;
144
143
  webhookUrl?: string | undefined;
145
144
  maxIterations?: number | undefined;
146
145
  result?: unknown;
146
+ error?: string | undefined;
147
147
  iterations?: number | undefined;
148
148
  parentTaskId?: string | undefined;
149
149
  } | undefined;
@@ -156,12 +156,12 @@ declare const SessionConfigSchema: z.ZodObject<{
156
156
  teamId?: string | undefined;
157
157
  } | undefined;
158
158
  schedules?: {
159
+ enabled: boolean;
159
160
  id: string;
160
161
  name: string;
161
- createdAt: string;
162
- prompt: string;
163
- enabled: boolean;
164
162
  cron: string;
163
+ prompt: string;
164
+ createdAt: string;
165
165
  replyChannel?: string | undefined;
166
166
  lastFiredAt?: string | undefined;
167
167
  }[] | undefined;
@@ -181,13 +181,13 @@ declare const SessionConfigSchema: z.ZodObject<{
181
181
  skillsDirectory?: string | undefined;
182
182
  maxContextChars?: number | undefined;
183
183
  task?: {
184
- status: "completed" | "running" | "failed";
184
+ status: "running" | "completed" | "failed";
185
185
  enabled: boolean;
186
186
  outputSchema: Record<string, unknown>;
187
- error?: string | undefined;
188
187
  webhookUrl?: string | undefined;
189
188
  maxIterations?: number | undefined;
190
189
  result?: unknown;
190
+ error?: string | undefined;
191
191
  iterations?: number | undefined;
192
192
  parentTaskId?: string | undefined;
193
193
  } | undefined;
@@ -202,9 +202,9 @@ declare const SessionConfigSchema: z.ZodObject<{
202
202
  schedules?: {
203
203
  id: string;
204
204
  name: string;
205
- createdAt: string;
206
- prompt: string;
207
205
  cron: string;
206
+ prompt: string;
207
+ createdAt: string;
208
208
  enabled?: boolean | undefined;
209
209
  replyChannel?: string | undefined;
210
210
  lastFiredAt?: string | undefined;
@@ -377,80 +377,80 @@ declare const SparkcoderConfigSchema: z.ZodObject<{
377
377
  refreshToken: z.ZodOptional<z.ZodOptional<z.ZodString>>;
378
378
  expiresAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
379
379
  }, "strip", z.ZodTypeAny, {
380
- expiresAt?: string | undefined;
381
380
  authorizationUrl?: string | undefined;
382
381
  tokenUrl?: string | undefined;
383
382
  clientId?: string | undefined;
384
383
  clientSecret?: string | undefined;
385
384
  accessToken?: string | undefined;
386
385
  refreshToken?: string | undefined;
387
- }, {
388
386
  expiresAt?: string | undefined;
387
+ }, {
389
388
  authorizationUrl?: string | undefined;
390
389
  tokenUrl?: string | undefined;
391
390
  clientId?: string | undefined;
392
391
  clientSecret?: string | undefined;
393
392
  accessToken?: string | undefined;
394
393
  refreshToken?: string | undefined;
394
+ expiresAt?: string | undefined;
395
395
  }>>;
396
396
  }, "strip", z.ZodTypeAny, {
397
+ enabled: boolean;
397
398
  id: string;
398
399
  name: string;
399
400
  createdAt: string;
400
- enabled: boolean;
401
401
  transport: "http" | "sse" | "stdio";
402
- command?: string | undefined;
403
- headers?: Record<string, string> | undefined;
404
- url?: string | undefined;
405
402
  args?: string[] | undefined;
403
+ url?: string | undefined;
404
+ headers?: Record<string, string> | undefined;
405
+ command?: string | undefined;
406
406
  oauth?: {
407
- expiresAt?: string | undefined;
408
407
  authorizationUrl?: string | undefined;
409
408
  tokenUrl?: string | undefined;
410
409
  clientId?: string | undefined;
411
410
  clientSecret?: string | undefined;
412
411
  accessToken?: string | undefined;
413
412
  refreshToken?: string | undefined;
413
+ expiresAt?: string | undefined;
414
414
  } | undefined;
415
415
  }, {
416
416
  id: string;
417
417
  name: string;
418
418
  createdAt: string;
419
419
  transport: "http" | "sse" | "stdio";
420
- command?: string | undefined;
421
- headers?: Record<string, string> | undefined;
422
420
  enabled?: boolean | undefined;
423
- url?: string | undefined;
424
421
  args?: string[] | undefined;
422
+ url?: string | undefined;
423
+ headers?: Record<string, string> | undefined;
424
+ command?: string | undefined;
425
425
  oauth?: {
426
- expiresAt?: string | undefined;
427
426
  authorizationUrl?: string | undefined;
428
427
  tokenUrl?: string | undefined;
429
428
  clientId?: string | undefined;
430
429
  clientSecret?: string | undefined;
431
430
  accessToken?: string | undefined;
432
431
  refreshToken?: string | undefined;
432
+ expiresAt?: string | undefined;
433
433
  } | undefined;
434
434
  }>, "many">>>>;
435
435
  }, "strip", z.ZodTypeAny, {
436
436
  servers?: {
437
+ enabled: boolean;
437
438
  id: string;
438
439
  name: string;
439
440
  createdAt: string;
440
- enabled: boolean;
441
441
  transport: "http" | "sse" | "stdio";
442
- command?: string | undefined;
443
- headers?: Record<string, string> | undefined;
444
- url?: string | undefined;
445
442
  args?: string[] | undefined;
443
+ url?: string | undefined;
444
+ headers?: Record<string, string> | undefined;
445
+ command?: string | undefined;
446
446
  oauth?: {
447
- expiresAt?: string | undefined;
448
447
  authorizationUrl?: string | undefined;
449
448
  tokenUrl?: string | undefined;
450
449
  clientId?: string | undefined;
451
450
  clientSecret?: string | undefined;
452
451
  accessToken?: string | undefined;
453
452
  refreshToken?: string | undefined;
453
+ expiresAt?: string | undefined;
454
454
  } | undefined;
455
455
  }[] | undefined;
456
456
  }, {
@@ -459,19 +459,19 @@ declare const SparkcoderConfigSchema: z.ZodObject<{
459
459
  name: string;
460
460
  createdAt: string;
461
461
  transport: "http" | "sse" | "stdio";
462
- command?: string | undefined;
463
- headers?: Record<string, string> | undefined;
464
462
  enabled?: boolean | undefined;
465
- url?: string | undefined;
466
463
  args?: string[] | undefined;
464
+ url?: string | undefined;
465
+ headers?: Record<string, string> | undefined;
466
+ command?: string | undefined;
467
467
  oauth?: {
468
- expiresAt?: string | undefined;
469
468
  authorizationUrl?: string | undefined;
470
469
  tokenUrl?: string | undefined;
471
470
  clientId?: string | undefined;
472
471
  clientSecret?: string | undefined;
473
472
  accessToken?: string | undefined;
474
473
  refreshToken?: string | undefined;
474
+ expiresAt?: string | undefined;
475
475
  } | undefined;
476
476
  }[] | undefined;
477
477
  }>>;
@@ -533,7 +533,6 @@ declare const SparkcoderConfigSchema: z.ZodObject<{
533
533
  intervalHours: number;
534
534
  };
535
535
  databasePath: string;
536
- workingDirectory?: string | undefined;
537
536
  approvalWebhook?: string | undefined;
538
537
  slack?: {
539
538
  botToken?: string | undefined;
@@ -548,6 +547,7 @@ declare const SparkcoderConfigSchema: z.ZodObject<{
548
547
  webhooks?: {
549
548
  token?: string | undefined;
550
549
  } | undefined;
550
+ workingDirectory?: string | undefined;
551
551
  remoteServer?: {
552
552
  url?: string | undefined;
553
553
  authKey?: string | undefined;
@@ -562,23 +562,23 @@ declare const SparkcoderConfigSchema: z.ZodObject<{
562
562
  } | undefined;
563
563
  mcp?: {
564
564
  servers?: {
565
+ enabled: boolean;
565
566
  id: string;
566
567
  name: string;
567
568
  createdAt: string;
568
- enabled: boolean;
569
569
  transport: "http" | "sse" | "stdio";
570
- command?: string | undefined;
571
- headers?: Record<string, string> | undefined;
572
- url?: string | undefined;
573
570
  args?: string[] | undefined;
571
+ url?: string | undefined;
572
+ headers?: Record<string, string> | undefined;
573
+ command?: string | undefined;
574
574
  oauth?: {
575
- expiresAt?: string | undefined;
576
575
  authorizationUrl?: string | undefined;
577
576
  tokenUrl?: string | undefined;
578
577
  clientId?: string | undefined;
579
578
  clientSecret?: string | undefined;
580
579
  accessToken?: string | undefined;
581
580
  refreshToken?: string | undefined;
581
+ expiresAt?: string | undefined;
582
582
  } | undefined;
583
583
  }[] | undefined;
584
584
  } | undefined;
@@ -591,7 +591,6 @@ declare const SparkcoderConfigSchema: z.ZodObject<{
591
591
  allowedEmails?: string[] | undefined;
592
592
  } | undefined;
593
593
  }, {
594
- workingDirectory?: string | undefined;
595
594
  toolApprovals?: {
596
595
  bash?: boolean | undefined;
597
596
  write_file?: boolean | undefined;
@@ -613,6 +612,7 @@ declare const SparkcoderConfigSchema: z.ZodObject<{
613
612
  webhooks?: {
614
613
  token?: string | undefined;
615
614
  } | undefined;
615
+ workingDirectory?: string | undefined;
616
616
  defaultModel?: string | undefined;
617
617
  skills?: {
618
618
  directory?: string | undefined;
@@ -651,19 +651,19 @@ declare const SparkcoderConfigSchema: z.ZodObject<{
651
651
  name: string;
652
652
  createdAt: string;
653
653
  transport: "http" | "sse" | "stdio";
654
- command?: string | undefined;
655
- headers?: Record<string, string> | undefined;
656
654
  enabled?: boolean | undefined;
657
- url?: string | undefined;
658
655
  args?: string[] | undefined;
656
+ url?: string | undefined;
657
+ headers?: Record<string, string> | undefined;
658
+ command?: string | undefined;
659
659
  oauth?: {
660
- expiresAt?: string | undefined;
661
660
  authorizationUrl?: string | undefined;
662
661
  tokenUrl?: string | undefined;
663
662
  clientId?: string | undefined;
664
663
  clientSecret?: string | undefined;
665
664
  accessToken?: string | undefined;
666
665
  refreshToken?: string | undefined;
666
+ expiresAt?: string | undefined;
667
667
  } | undefined;
668
668
  }[] | undefined;
669
669
  } | undefined;
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { R as ResolvedConfig } from './index-UtOo3D9f.js';
2
- export { A as Agent, a as AgentOptions, b as AgentRunOptions, c as AgentStreamResult, S as SparkcoderConfig, T as ToolApprovalConfig } from './index-UtOo3D9f.js';
1
+ import { R as ResolvedConfig } from './index-BM99kjgq.js';
2
+ export { A as Agent, a as AgentOptions, b as AgentRunOptions, c as AgentStreamResult, S as SparkcoderConfig, T as ToolApprovalConfig } from './index-BM99kjgq.js';
3
3
  export { ServerOptions, createApp, startServer, stopServer } from './server/index.js';
4
4
  export { checkpointQueries, closeDatabase, fileBackupQueries, getDb, initDatabase, messageQueries, sessionQueries, skillQueries, todoQueries, toolExecutionQueries } from './db/index.js';
5
- import { F as FileBackup, C as Checkpoint } from './schema-BTrvqaJL.js';
6
- export { a as Message, M as ModelMessage, S as Session, q as SessionConfig, f as Terminal, T as TodoItem, b as ToolExecution } from './schema-BTrvqaJL.js';
5
+ import { F as FileBackup, C as Checkpoint } from './schema-Dz-wABVY.js';
6
+ export { a as Message, M as ModelMessage, S as Session, q as SessionConfig, f as Terminal, T as TodoItem, b as ToolExecution } from './schema-Dz-wABVY.js';
7
7
  export { createLoadSkillTool, createReadFileTool, createTodoTool, createTools } from './tools/index.js';
8
- export { c as createBashTool, a as createWriteFileTool } from './search-BRnGaIl-.js';
8
+ export { c as createBashTool, a as createWriteFileTool } from './search-CVVfuBPZ.js';
9
9
  import 'ai';
10
10
  import 'zod';
11
11
  import 'hono/types';
package/dist/index.js CHANGED
@@ -11701,11 +11701,11 @@ ${p.text}` : p.text;
11701
11701
  const { isRemoteConfigured: isRemoteConfigured2, storageQueries: storageQueries2 } = await Promise.resolve().then(() => (init_remote(), remote_exports));
11702
11702
  if (!isRemoteConfigured2()) return [];
11703
11703
  const { readFile: readFile13 } = await import("fs/promises");
11704
- const { join: join20, basename: basename7 } = await import("path");
11704
+ const { join: join21, basename: basename7 } = await import("path");
11705
11705
  const urls = [];
11706
11706
  for (const filePath of filePaths) {
11707
11707
  try {
11708
- const fullPath = filePath.startsWith("/") ? filePath : join20(this.session.workingDirectory, filePath);
11708
+ const fullPath = filePath.startsWith("/") ? filePath : join21(this.session.workingDirectory, filePath);
11709
11709
  const fileName = basename7(fullPath);
11710
11710
  const ext = fileName.split(".").pop()?.toLowerCase() || "";
11711
11711
  const mimeMap = {
@@ -12084,19 +12084,19 @@ __export(self_update_exports, {
12084
12084
  stopSelfUpdater: () => stopSelfUpdater
12085
12085
  });
12086
12086
  import { spawn as spawn2, execFile } from "child_process";
12087
- import { readFileSync as readFileSync11, writeFileSync as writeFileSync7, mkdirSync as mkdirSync10 } from "fs";
12088
- import { dirname as dirname10, join as join18 } from "path";
12089
- import { fileURLToPath as fileURLToPath4 } from "url";
12087
+ import { readFileSync as readFileSync12, writeFileSync as writeFileSync7, mkdirSync as mkdirSync10 } from "fs";
12088
+ import { dirname as dirname11, join as join19 } from "path";
12089
+ import { fileURLToPath as fileURLToPath5 } from "url";
12090
12090
  function currentVersion2() {
12091
- const here = dirname10(fileURLToPath4(import.meta.url));
12091
+ const here = dirname11(fileURLToPath5(import.meta.url));
12092
12092
  const candidates = [
12093
- join18(here, "..", "..", "package.json"),
12094
- join18(here, "..", "package.json"),
12095
- join18(process.cwd(), "package.json")
12093
+ join19(here, "..", "..", "package.json"),
12094
+ join19(here, "..", "package.json"),
12095
+ join19(process.cwd(), "package.json")
12096
12096
  ];
12097
12097
  for (const p of candidates) {
12098
12098
  try {
12099
- const pkg = JSON.parse(readFileSync11(p, "utf8"));
12099
+ const pkg = JSON.parse(readFileSync12(p, "utf8"));
12100
12100
  if (pkg.name === "sparkecoder" && pkg.version) return pkg.version;
12101
12101
  } catch {
12102
12102
  }
@@ -12104,7 +12104,7 @@ function currentVersion2() {
12104
12104
  return "0.0.0";
12105
12105
  }
12106
12106
  function isLikelyGlobalInstall() {
12107
- const here = dirname10(fileURLToPath4(import.meta.url));
12107
+ const here = dirname11(fileURLToPath5(import.meta.url));
12108
12108
  return here.includes("/node_modules/sparkecoder/") || here.includes("\\node_modules\\sparkecoder\\");
12109
12109
  }
12110
12110
  function isEnabled() {
@@ -12147,7 +12147,7 @@ function semverGt(a, b) {
12147
12147
  }
12148
12148
  function statePath() {
12149
12149
  try {
12150
- return join18(getAppDataDirectory(), "self-update-state.json");
12150
+ return join19(getAppDataDirectory(), "self-update-state.json");
12151
12151
  } catch {
12152
12152
  return null;
12153
12153
  }
@@ -12156,7 +12156,7 @@ function readState() {
12156
12156
  const p = statePath();
12157
12157
  if (!p) return {};
12158
12158
  try {
12159
- return JSON.parse(readFileSync11(p, "utf8"));
12159
+ return JSON.parse(readFileSync12(p, "utf8"));
12160
12160
  } catch {
12161
12161
  return {};
12162
12162
  }
@@ -12165,7 +12165,7 @@ function writeState(s) {
12165
12165
  const p = statePath();
12166
12166
  if (!p) return;
12167
12167
  try {
12168
- mkdirSync10(dirname10(p), { recursive: true });
12168
+ mkdirSync10(dirname11(p), { recursive: true });
12169
12169
  writeFileSync7(p, JSON.stringify(s));
12170
12170
  } catch {
12171
12171
  }
@@ -12390,10 +12390,10 @@ import { serve } from "@hono/node-server";
12390
12390
  import { cors } from "hono/cors";
12391
12391
  import { logger } from "hono/logger";
12392
12392
  import { existsSync as existsSync22, mkdirSync as mkdirSync11, writeFileSync as writeFileSync8 } from "fs";
12393
- import { resolve as resolve12, dirname as dirname11, join as join19 } from "path";
12393
+ import { resolve as resolve12, dirname as dirname12, join as join20 } from "path";
12394
12394
  import { spawn as spawn3 } from "child_process";
12395
12395
  import { createServer as createNetServer } from "net";
12396
- import { fileURLToPath as fileURLToPath5 } from "url";
12396
+ import { fileURLToPath as fileURLToPath6 } from "url";
12397
12397
 
12398
12398
  // src/server/routes/sessions.ts
12399
12399
  init_db();
@@ -16690,6 +16690,36 @@ function cfAccessMiddleware() {
16690
16690
  // src/server/index.ts
16691
16691
  init_tmux();
16692
16692
  init_config();
16693
+
16694
+ // src/version.ts
16695
+ import { readFileSync as readFileSync11 } from "fs";
16696
+ import { fileURLToPath as fileURLToPath4 } from "url";
16697
+ import { dirname as dirname10, join as join18 } from "path";
16698
+ function resolveVersion() {
16699
+ let here;
16700
+ try {
16701
+ here = dirname10(fileURLToPath4(import.meta.url));
16702
+ } catch {
16703
+ here = process.cwd();
16704
+ }
16705
+ const candidates = [
16706
+ join18(here, "../package.json"),
16707
+ join18(here, "../../package.json"),
16708
+ join18(here, "../../../package.json"),
16709
+ join18(process.cwd(), "package.json")
16710
+ ];
16711
+ for (const p of candidates) {
16712
+ try {
16713
+ const pkg = JSON.parse(readFileSync11(p, "utf-8"));
16714
+ if (pkg.name === "sparkecoder") return pkg.version || "0.0.0";
16715
+ } catch {
16716
+ }
16717
+ }
16718
+ return "0.0.0";
16719
+ }
16720
+ var SPARKECODER_VERSION = resolveVersion();
16721
+
16722
+ // src/server/index.ts
16693
16723
  init_db();
16694
16724
 
16695
16725
  // src/utils/dependencies.ts
@@ -16776,13 +16806,13 @@ var DEFAULT_WEB_PORT = 6969;
16776
16806
  var WEB_PORT_SEQUENCE = [6969, 6970, 6971, 6972, 6973, 6974, 6975, 6976, 6977, 6978];
16777
16807
  function getWebDirectory() {
16778
16808
  try {
16779
- const currentDir = dirname11(fileURLToPath5(import.meta.url));
16809
+ const currentDir = dirname12(fileURLToPath6(import.meta.url));
16780
16810
  const webDir = resolve12(currentDir, "..", "web");
16781
- if (existsSync22(webDir) && existsSync22(join19(webDir, "package.json"))) {
16811
+ if (existsSync22(webDir) && existsSync22(join20(webDir, "package.json"))) {
16782
16812
  return webDir;
16783
16813
  }
16784
16814
  const altWebDir = resolve12(currentDir, "..", "..", "web");
16785
- if (existsSync22(altWebDir) && existsSync22(join19(altWebDir, "package.json"))) {
16815
+ if (existsSync22(altWebDir) && existsSync22(join20(altWebDir, "package.json"))) {
16786
16816
  return altWebDir;
16787
16817
  }
16788
16818
  return null;
@@ -16840,20 +16870,20 @@ async function findWebPort(preferredPort) {
16840
16870
  return { port: preferredPort, alreadyRunning: false };
16841
16871
  }
16842
16872
  function hasProductionBuild(webDir) {
16843
- const buildIdPath = join19(webDir, ".next", "BUILD_ID");
16873
+ const buildIdPath = join20(webDir, ".next", "BUILD_ID");
16844
16874
  return existsSync22(buildIdPath);
16845
16875
  }
16846
16876
  function hasSourceFiles(webDir) {
16847
- const appDir = join19(webDir, "src", "app");
16848
- const pagesDir = join19(webDir, "src", "pages");
16849
- const rootAppDir = join19(webDir, "app");
16850
- const rootPagesDir = join19(webDir, "pages");
16877
+ const appDir = join20(webDir, "src", "app");
16878
+ const pagesDir = join20(webDir, "src", "pages");
16879
+ const rootAppDir = join20(webDir, "app");
16880
+ const rootPagesDir = join20(webDir, "pages");
16851
16881
  return existsSync22(appDir) || existsSync22(pagesDir) || existsSync22(rootAppDir) || existsSync22(rootPagesDir);
16852
16882
  }
16853
16883
  function getStandaloneServerPath(webDir) {
16854
16884
  const possiblePaths2 = [
16855
- join19(webDir, ".next", "standalone", "server.js"),
16856
- join19(webDir, ".next", "standalone", "web", "server.js")
16885
+ join20(webDir, ".next", "standalone", "server.js"),
16886
+ join20(webDir, ".next", "standalone", "web", "server.js")
16857
16887
  ];
16858
16888
  for (const serverPath of possiblePaths2) {
16859
16889
  if (existsSync22(serverPath)) {
@@ -16896,13 +16926,19 @@ async function startWebUI(apiPort, webPort = DEFAULT_WEB_PORT, quiet = false, pu
16896
16926
  if (!quiet) console.log(` \u2713 Web UI already running at http://localhost:${actualPort}`);
16897
16927
  return { process: null, port: actualPort };
16898
16928
  }
16899
- const usePnpm = existsSync22(join19(webDir, "pnpm-lock.yaml"));
16900
- const useNpm = !usePnpm && existsSync22(join19(webDir, "package-lock.json"));
16929
+ const usePnpm = existsSync22(join20(webDir, "pnpm-lock.yaml"));
16930
+ const useNpm = !usePnpm && existsSync22(join20(webDir, "package-lock.json"));
16901
16931
  const pkgManager = usePnpm ? "pnpm" : useNpm ? "npm" : "npx";
16902
16932
  const { NODE_OPTIONS, TSX_TSCONFIG_PATH, ...cleanEnv } = process.env;
16903
16933
  const apiUrl = publicUrl || `http://127.0.0.1:${apiPort}`;
16904
- const runtimeConfig = { apiBaseUrl: apiUrl, localApiBaseUrl: `http://127.0.0.1:${apiPort}` };
16905
- const runtimeConfigPath = join19(webDir, "runtime-config.json");
16934
+ const runtimeConfig = {
16935
+ apiBaseUrl: apiUrl,
16936
+ localApiBaseUrl: `http://127.0.0.1:${apiPort}`,
16937
+ version: SPARKECODER_VERSION,
16938
+ apiPort,
16939
+ writtenAt: (/* @__PURE__ */ new Date()).toISOString()
16940
+ };
16941
+ const runtimeConfigPath = join20(webDir, "runtime-config.json");
16906
16942
  try {
16907
16943
  writeFileSync8(runtimeConfigPath, JSON.stringify(runtimeConfig, null, 2));
16908
16944
  if (!quiet) console.log(` \u{1F4DD} Runtime config written to ${runtimeConfigPath}`);
@@ -16924,7 +16960,7 @@ async function startWebUI(apiPort, webPort = DEFAULT_WEB_PORT, quiet = false, pu
16924
16960
  if (standaloneServerPath) {
16925
16961
  command = "node";
16926
16962
  args = ["server.js"];
16927
- cwd = dirname11(standaloneServerPath);
16963
+ cwd = dirname12(standaloneServerPath);
16928
16964
  webEnv.PORT = String(actualPort);
16929
16965
  webEnv.HOSTNAME = "0.0.0.0";
16930
16966
  if (!quiet) console.log(" \u{1F4E6} Starting Web UI from standalone build...");