openfox 2.0.141 → 2.0.142

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 (83) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/CHANGELOG.md +16 -0
  3. package/dist/{chat-handler-F7QRNO2E.js → chat-handler-OFB4426F.js} +26 -26
  4. package/dist/{chunk-CRJ5J7U5.js → chunk-2CEZQAGQ.js} +3 -3
  5. package/dist/{chunk-BB67GW5P.js → chunk-5CZAKVGZ.js} +12 -12
  6. package/dist/{chunk-SSHXYKW3.js → chunk-5HDPFHHJ.js} +2 -2
  7. package/dist/{chunk-CEEBKCGX.js → chunk-ACILWRPU.js} +7 -7
  8. package/dist/{chunk-TJOKDC34.js → chunk-CSUMZAYY.js} +399 -86
  9. package/dist/{chunk-EE6VFEE6.js → chunk-DNL2NUDB.js} +2 -2
  10. package/dist/{chunk-UA2ATO3B.js → chunk-DQEANXXF.js} +3 -3
  11. package/dist/{chunk-4F4ARGAM.js → chunk-DRIR2IZR.js} +3 -3
  12. package/dist/{chunk-AE2IBEUH.js → chunk-EFEHIJXF.js} +2 -2
  13. package/dist/chunk-EPZO3MGM.js +7 -0
  14. package/dist/{chunk-DBF5GKZF.js → chunk-F3R4YS3F.js} +3 -3
  15. package/dist/{chunk-RHUZLWZV.js → chunk-FFVIO6GL.js} +4 -4
  16. package/dist/{chunk-RCEGPT57.js → chunk-HQDKHNWS.js} +7 -7
  17. package/dist/{chunk-H7YL7PH3.js → chunk-J556QIRD.js} +2 -2
  18. package/dist/{chunk-DPFET73G.js → chunk-JYYBSODN.js} +2 -2
  19. package/dist/{chunk-46Q2SHGJ.js → chunk-MEPTCUYN.js} +2 -2
  20. package/dist/{chunk-YFTCFJJM.js → chunk-N5AJHJG5.js} +3 -3
  21. package/dist/{chunk-2OTUYNXD.js → chunk-NJFXYSXP.js} +5 -5
  22. package/dist/{chunk-XE6UC5Z3.js → chunk-PHR64A6U.js} +2 -2
  23. package/dist/{chunk-G7BQWMV7.js → chunk-Q5JCBAQF.js} +3 -3
  24. package/dist/{chunk-NDAXMOD2.js → chunk-RM4ZBI2B.js} +20 -20
  25. package/dist/{chunk-EMXMTCSY.js → chunk-SKNPOZYP.js} +4 -2
  26. package/dist/{chunk-PS5CHS7S.js → chunk-TEUVZCPS.js} +17 -17
  27. package/dist/{chunk-JLHYB445.js → chunk-TIIWXMGE.js} +2 -2
  28. package/dist/{chunk-UJO67GFD.js → chunk-TRZZCMJ3.js} +9 -9
  29. package/dist/{chunk-LW6MMSTD.js → chunk-VGE6UYND.js} +2 -2
  30. package/dist/{chunk-SKHU4M6L.js → chunk-VK2BSIJP.js} +121 -117
  31. package/dist/{chunk-JU757HVI.js → chunk-WOVWVB5J.js} +11 -1
  32. package/dist/{chunk-FBOIDBPA.js → chunk-WSDR27YV.js} +4 -4
  33. package/dist/{chunk-IZVIN7XC.js → chunk-XADIBENX.js} +6 -6
  34. package/dist/{chunk-GKRYQ56N.js → chunk-Z7IT3V22.js} +3 -3
  35. package/dist/cli/dev.js +1 -1
  36. package/dist/cli/index.js +1 -1
  37. package/dist/{client-KJS7QIIV.js → client-2A766XZK.js} +5 -5
  38. package/dist/{compactor-QDTK3SZI.js → compactor-3BVVHO4M.js} +11 -11
  39. package/dist/{describe-image-UFOHQIPB.js → describe-image-F22VNBWY.js} +12 -12
  40. package/dist/{dynamic-context-UEC6MMEV.js → dynamic-context-5SFXTEAP.js} +12 -12
  41. package/dist/{events-73MLUDTX.js → events-UAUOGRSV.js} +8 -8
  42. package/dist/{export-import-7I7EJKTE.js → export-import-PBEX3KWU.js} +9 -9
  43. package/dist/{folding-BXMVJIFF.js → folding-IHD244OU.js} +6 -6
  44. package/dist/http-client-RA7XFYPO.js +11 -0
  45. package/dist/{inspect-proxy-A3OROWPG.js → inspect-proxy-24Q2CNCZ.js} +4 -4
  46. package/dist/{launch-77CO4C7W.js → launch-L5NL75KK.js} +26 -26
  47. package/dist/{manager-JZNNVDYR.js → manager-4SMHCFXY.js} +5 -5
  48. package/dist/{orchestrator-IRUEM4R4.js → orchestrator-53SS74LD.js} +25 -25
  49. package/dist/package.json +1 -1
  50. package/dist/{path-security-MQXMTFRU.js → path-security-WOA6MTWQ.js} +10 -10
  51. package/dist/{platform-DBPLSLE4.js → platform-EAZNZDAE.js} +4 -4
  52. package/dist/{processor-VMUKAMG6.js → processor-T4VWZMXT.js} +25 -25
  53. package/dist/{project-creator-T3A4H3YV.js → project-creator-K5EGKY2P.js} +3 -3
  54. package/dist/{projects-5U37RUTL.js → projects-VDWCFPVE.js} +3 -3
  55. package/dist/{protocol-D6DZzkSH.d.ts → protocol-Dpf4FBF2.d.ts} +1 -1
  56. package/dist/provider/index.d.ts +4 -4
  57. package/dist/{provider-7LNTLWRB.js → provider-5XNJEDKW.js} +6 -6
  58. package/dist/{provider-manager-TV5I5YJH.js → provider-manager-RHJYUU5W.js} +6 -6
  59. package/dist/{registry-PVJAAL2Y.js → registry-C7RKKHZB.js} +5 -5
  60. package/dist/scheduler-VLTPMGGJ.js +25 -0
  61. package/dist/{serve-HTJREJEC.js → serve-LP3ZX6CW.js} +31 -31
  62. package/dist/server/index.d.ts +3 -3
  63. package/dist/server/index.js +30 -30
  64. package/dist/server-IGZLCNZG.js +61 -0
  65. package/dist/{service-7QKWUNU4.js → service-AZU4YTS2.js} +9 -9
  66. package/dist/{session-overrides-WYOY7PVC.js → session-overrides-CKS2AVE5.js} +7 -7
  67. package/dist/{sessions-U6D2T5QP.js → sessions-DAHLRQE2.js} +6 -6
  68. package/dist/{settings-HCSHADP5.js → settings-TR4BF2C4.js} +3 -3
  69. package/dist/shared/index.d.ts +3 -3
  70. package/dist/{tasks-E7EG7344.js → tasks-T5KZXKMD.js} +18 -12
  71. package/dist/{tools-F4COIAZR.js → tools-BL6XCTUV.js} +23 -23
  72. package/dist/{types-ofYNpiqi.d.ts → types-CZJf6Fnb.d.ts} +1 -1
  73. package/dist/{types-CLcL33hJ.d.ts → types-LO8296aY.d.ts} +34 -1
  74. package/dist/{update-5TGZTHLD.js → update-M5DMX3FC.js} +2 -2
  75. package/dist/web/assets/index-BPhet33M.js +313 -0
  76. package/dist/web/index.html +1 -1
  77. package/dist/web/sw.js +1 -1
  78. package/dist/{workspace-LM646OHC.js → workspace-ENN27P56.js} +4 -4
  79. package/package.json +1 -1
  80. package/dist/chunk-LDWWVUW7.js +0 -7
  81. package/dist/http-client-JVJ43TBY.js +0 -11
  82. package/dist/server-5FECIKQK.js +0 -61
  83. package/dist/web/assets/index-A0-uewf7.js +0 -313
@@ -1,6 +1,6 @@
1
- import { c as Message, p as SessionStats } from '../types-CLcL33hJ.js';
2
- export { A as Attachment, q as CallStatsDataPoint, r as Config, C as ContextState, s as ContextWindow, f as Criterion, t as CriterionAttempt, u as CriterionStatus, v as CriterionValidation, w as DangerLevel, D as Diagnostic, E as EditContextEdit, x as EditContextLine, y as EditContextRegion, z as ElementData, B as ExecutionState, F as FileReadEntry, I as InjectedFile, L as LLMCallStats, G as LlmBackend, H as MessageRole, J as MessageSegment, d as MessageStats, g as MetadataEntry, M as ModelConfig, K as ModelSessionStats, j as PauseState, N as PreparingToolCall, P as Project, l as ProjectTask, n as ProjectTaskCounts, m as ProjectTaskSettings, O as Provider, Q as ProviderBackend, R as RecentUserPrompt, k as Session, U as SessionMetadata, S as SessionMode, h as SessionPhase, i as SessionSummary, V as StatsDataPoint, X as StatsIdentity, Y as TaskActor, Z as TaskAuditEntry, o as TaskGateConfig, _ as TaskGateValue, $ as TaskRunState, a0 as TaskStatus, e as Todo, T as ToolCall, a as ToolMode, a1 as ToolName, b as ToolResult, a2 as UserStepChoice, a3 as ValidationResult, W as WorkflowExecution, a4 as WorkflowExecutionStatus, a5 as WorkflowLaunchScope, a6 as WorkflowParameter, a7 as WorkflowScope } from '../types-CLcL33hJ.js';
3
- export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, B as BackgroundProcess, c as BackgroundProcessExitedPayload, d as BackgroundProcessOutputPayload, e as BackgroundProcessRemovedPayload, f as BackgroundProcessStartedPayload, g as BackgroundProcessStatus, C as ChatAskUserPayload, h as ChatDeltaPayload, i as ChatDonePayload, j as ChatErrorPayload, k as ChatFormatRetryPayload, l as ChatLLMRetryFailedPayload, m as ChatLLMRetryNowPayload, n as ChatLLMRetryPayload, o as ChatMessagePayload, p as ChatMessageUpdatedPayload, q as ChatPathConfirmationPayload, r as ChatProgressPayload, s as ChatRetryPayload, t as ChatStatsPayload, u as ChatThinkingPayload, v as ChatTodoPayload, w as ChatToolCallPayload, x as ChatToolOutputPayload, y as ChatToolPreparingPayload, z as ChatToolResultPayload, D as ChatVisionFallbackPayload, E as ChoiceOption, F as ClientMessage, G as ClientMessageType, H as ContextCompactionEvent, I as ContextPreviewPayload, J as ContextStatePayload, K as CriteriaUpdatedPayload, L as DevServerOutputPayload, M as DevServerStatePayload, N as DiffLine, O as ErrorPayload, P as GitDiffFile, Q as GitStatusPayload, R as LogLine, S as LspDiagnosticsPayload, T as MetadataUpdatedPayload, U as ModeChangedPayload, V as PathConfirmPayload, W as PathConfirmationReason, X as PendingPathConfirmationPayload, Y as PendingQuestionPayload, Z as PhaseChangedPayload, _ as ProjectDeletedPayload, $ as ProjectListPayload, a0 as ProjectStatePayload, a1 as ProviderChangedPayload, a2 as QueueAddedEvent, a3 as QueueCancelledEvent, a4 as QueueDrainedEvent, a5 as QueueEvent, a6 as QueueEventType, a7 as QueueStatePayload, a8 as QueuedMessage, a9 as ServerMessage, aa as ServerMessageType, ab as SessionCreatedPayload, ac as SessionListPayload, ad as SessionLoadPayload, ae as SessionNameGeneratedPayload, af as SessionPausePayload, ag as SessionRunningPayload, ah as SessionStatePayload, ai as TaskCompletedPayload, aj as TasksUpdatePayload, ak as WorkflowWaitingPayload, al as createClientMessage, am as createServerMessage, an as isClientMessage, ao as isServerMessage } from '../protocol-D6DZzkSH.js';
1
+ import { c as Message, p as SessionStats } from '../types-LO8296aY.js';
2
+ export { A as Attachment, q as CallStatsDataPoint, r as Config, C as ContextState, s as ContextWindow, f as Criterion, t as CriterionAttempt, u as CriterionStatus, v as CriterionValidation, w as DangerLevel, D as Diagnostic, E as EditContextEdit, x as EditContextLine, y as EditContextRegion, z as ElementData, B as ExecutionState, F as FileReadEntry, I as InjectedFile, L as LLMCallStats, G as LlmBackend, H as MessageRole, J as MessageSegment, d as MessageStats, g as MetadataEntry, M as ModelConfig, K as ModelSessionStats, j as PauseState, N as PreparingToolCall, P as Project, l as ProjectTask, n as ProjectTaskCounts, m as ProjectTaskSettings, O as Provider, Q as ProviderBackend, R as RecentUserPrompt, k as Session, U as SessionMetadata, S as SessionMode, h as SessionPhase, i as SessionSummary, V as StatsDataPoint, X as StatsIdentity, Y as TaskActor, Z as TaskAuditEntry, o as TaskGateConfig, _ as TaskGateValue, $ as TaskRunState, a0 as TaskSchedule, a1 as TaskStatus, e as Todo, T as ToolCall, a as ToolMode, a2 as ToolName, b as ToolResult, a3 as UserStepChoice, a4 as ValidationResult, W as WorkflowExecution, a5 as WorkflowExecutionStatus, a6 as WorkflowLaunchScope, a7 as WorkflowParameter, a8 as WorkflowScope } from '../types-LO8296aY.js';
3
+ export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, B as BackgroundProcess, c as BackgroundProcessExitedPayload, d as BackgroundProcessOutputPayload, e as BackgroundProcessRemovedPayload, f as BackgroundProcessStartedPayload, g as BackgroundProcessStatus, C as ChatAskUserPayload, h as ChatDeltaPayload, i as ChatDonePayload, j as ChatErrorPayload, k as ChatFormatRetryPayload, l as ChatLLMRetryFailedPayload, m as ChatLLMRetryNowPayload, n as ChatLLMRetryPayload, o as ChatMessagePayload, p as ChatMessageUpdatedPayload, q as ChatPathConfirmationPayload, r as ChatProgressPayload, s as ChatRetryPayload, t as ChatStatsPayload, u as ChatThinkingPayload, v as ChatTodoPayload, w as ChatToolCallPayload, x as ChatToolOutputPayload, y as ChatToolPreparingPayload, z as ChatToolResultPayload, D as ChatVisionFallbackPayload, E as ChoiceOption, F as ClientMessage, G as ClientMessageType, H as ContextCompactionEvent, I as ContextPreviewPayload, J as ContextStatePayload, K as CriteriaUpdatedPayload, L as DevServerOutputPayload, M as DevServerStatePayload, N as DiffLine, O as ErrorPayload, P as GitDiffFile, Q as GitStatusPayload, R as LogLine, S as LspDiagnosticsPayload, T as MetadataUpdatedPayload, U as ModeChangedPayload, V as PathConfirmPayload, W as PathConfirmationReason, X as PendingPathConfirmationPayload, Y as PendingQuestionPayload, Z as PhaseChangedPayload, _ as ProjectDeletedPayload, $ as ProjectListPayload, a0 as ProjectStatePayload, a1 as ProviderChangedPayload, a2 as QueueAddedEvent, a3 as QueueCancelledEvent, a4 as QueueDrainedEvent, a5 as QueueEvent, a6 as QueueEventType, a7 as QueueStatePayload, a8 as QueuedMessage, a9 as ServerMessage, aa as ServerMessageType, ab as SessionCreatedPayload, ac as SessionListPayload, ad as SessionLoadPayload, ae as SessionNameGeneratedPayload, af as SessionPausePayload, ag as SessionRunningPayload, ah as SessionStatePayload, ai as TaskCompletedPayload, aj as TasksUpdatePayload, ak as WorkflowWaitingPayload, al as createClientMessage, am as createServerMessage, an as isClientMessage, ao as isServerMessage } from '../protocol-Dpf4FBF2.js';
4
4
 
5
5
  /**
6
6
  * Session stats computation - aggregates response-level MessageStats from
@@ -3,27 +3,27 @@ import {
3
3
  getTaskSettings,
4
4
  isTaskConflictError,
5
5
  isTaskGateError
6
- } from "./chunk-TJOKDC34.js";
6
+ } from "./chunk-CSUMZAYY.js";
7
7
  import {
8
8
  serverT
9
- } from "./chunk-JLHYB445.js";
9
+ } from "./chunk-TIIWXMGE.js";
10
10
  import "./chunk-OSXPQSLW.js";
11
- import "./chunk-H7YL7PH3.js";
11
+ import "./chunk-J556QIRD.js";
12
12
  import "./chunk-OA2FURC3.js";
13
13
  import "./chunk-J2GP3J3X.js";
14
14
  import {
15
15
  getProject
16
- } from "./chunk-DPFET73G.js";
17
- import "./chunk-SSHXYKW3.js";
16
+ } from "./chunk-JYYBSODN.js";
17
+ import "./chunk-5HDPFHHJ.js";
18
18
  import "./chunk-TS5WKTFB.js";
19
19
  import "./chunk-VLQ6BMU7.js";
20
20
  import "./chunk-HNCM3D7Y.js";
21
21
  import "./chunk-QMU3ZY2C.js";
22
22
  import "./chunk-FSSUPWYO.js";
23
23
  import "./chunk-XG3AUMPI.js";
24
- import "./chunk-EE6VFEE6.js";
25
- import "./chunk-EMXMTCSY.js";
26
- import "./chunk-JU757HVI.js";
24
+ import "./chunk-DNL2NUDB.js";
25
+ import "./chunk-SKNPOZYP.js";
26
+ import "./chunk-WOVWVB5J.js";
27
27
  import "./chunk-VKMPR25F.js";
28
28
  import "./chunk-K44MW7JJ.js";
29
29
  import "./chunk-24YKXKCG.js";
@@ -31,6 +31,9 @@ import "./chunk-YLJ4XMA6.js";
31
31
 
32
32
  // src/server/routes/tasks.ts
33
33
  import "express";
34
+ function isSchedule(value) {
35
+ return typeof value === "object" && value !== null && "type" in value && (value.type === "once" || value.type === "recurring");
36
+ }
34
37
  function registerTaskRoutes(router, tasksService) {
35
38
  const requireProject = (req, res) => {
36
39
  const projectId = req.params["projectId"];
@@ -122,7 +125,7 @@ function registerTaskRoutes(router, tasksService) {
122
125
  router.post("/projects/:projectId/tasks", (req, res) => {
123
126
  const projectId = requireProject(req, res);
124
127
  if (!projectId) return;
125
- const { prompt, attachments, agentId, providerId, model } = req.body;
128
+ const { prompt, attachments, agentId, providerId, model, schedule } = req.body;
126
129
  if (typeof prompt !== "string") {
127
130
  return res.status(400).json({ error: serverT({ en: "prompt (string) is required", fr: "prompt (cha\xEEne) est requis" }) });
128
131
  }
@@ -134,7 +137,8 @@ function registerTaskRoutes(router, tasksService) {
134
137
  ...Array.isArray(attachments) ? { attachments } : {},
135
138
  ...typeof agentId === "string" ? { agentId } : {},
136
139
  ...typeof providerId === "string" ? { providerId } : {},
137
- ...typeof model === "string" ? { model } : {}
140
+ ...typeof model === "string" ? { model } : {},
141
+ ...isSchedule(schedule) ? { schedule } : {}
138
142
  },
139
143
  { actor: HUMAN }
140
144
  );
@@ -153,7 +157,7 @@ function registerTaskRoutes(router, tasksService) {
153
157
  router.put("/projects/:projectId/tasks/:taskId", (req, res) => {
154
158
  const projectId = requireProject(req, res);
155
159
  if (!projectId) return;
156
- const { prompt, attachments, agentId, providerId, model, expectedVersion } = req.body;
160
+ const { prompt, attachments, agentId, providerId, model, schedule, expectedVersion } = req.body;
157
161
  const patch = {};
158
162
  if (typeof prompt === "string") patch.prompt = prompt;
159
163
  if (Array.isArray(attachments)) {
@@ -162,6 +166,8 @@ function registerTaskRoutes(router, tasksService) {
162
166
  if (typeof agentId === "string" || agentId === null) patch.agentId = agentId;
163
167
  if (typeof providerId === "string" || providerId === null) patch.providerId = providerId;
164
168
  if (typeof model === "string" || model === null) patch.model = model;
169
+ if (schedule === null || isSchedule(schedule))
170
+ patch.schedule = schedule;
165
171
  if (Object.keys(patch).length === 0) {
166
172
  return res.status(400).json({ error: serverT({ en: "No updatable fields provided", fr: "Aucun champ modifiable fourni" }) });
167
173
  }
@@ -237,4 +243,4 @@ function registerTaskRoutes(router, tasksService) {
237
243
  export {
238
244
  registerTaskRoutes
239
245
  };
240
- //# sourceMappingURL=tasks-E7EG7344.js.map
246
+ //# sourceMappingURL=tasks-T5KZXKMD.js.map
@@ -10,18 +10,18 @@ import {
10
10
  setTasksService,
11
11
  stepDoneTool,
12
12
  validateToolAction
13
- } from "./chunk-NDAXMOD2.js";
14
- import "./chunk-CRJ5J7U5.js";
15
- import "./chunk-XE6UC5Z3.js";
13
+ } from "./chunk-RM4ZBI2B.js";
14
+ import "./chunk-2CEZQAGQ.js";
15
+ import "./chunk-PHR64A6U.js";
16
16
  import "./chunk-J7GAZGZT.js";
17
- import "./chunk-TJOKDC34.js";
18
- import "./chunk-FBOIDBPA.js";
19
- import "./chunk-IZVIN7XC.js";
20
- import "./chunk-JLHYB445.js";
17
+ import "./chunk-CSUMZAYY.js";
18
+ import "./chunk-WSDR27YV.js";
19
+ import "./chunk-XADIBENX.js";
20
+ import "./chunk-TIIWXMGE.js";
21
21
  import "./chunk-OA7KBQ2O.js";
22
- import "./chunk-GKRYQ56N.js";
23
- import "./chunk-LW6MMSTD.js";
24
- import "./chunk-UA2ATO3B.js";
22
+ import "./chunk-Z7IT3V22.js";
23
+ import "./chunk-VGE6UYND.js";
24
+ import "./chunk-DQEANXXF.js";
25
25
  import "./chunk-I72ACQ6R.js";
26
26
  import "./chunk-VIJVLLPT.js";
27
27
  import "./chunk-OAN4BXEW.js";
@@ -38,29 +38,29 @@ import {
38
38
  getConfirmationSessionId,
39
39
  providePathConfirmation,
40
40
  requestPathAccess
41
- } from "./chunk-YFTCFJJM.js";
42
- import "./chunk-2OTUYNXD.js";
43
- import "./chunk-AE2IBEUH.js";
44
- import "./chunk-DBF5GKZF.js";
45
- import "./chunk-4F4ARGAM.js";
41
+ } from "./chunk-N5AJHJG5.js";
42
+ import "./chunk-NJFXYSXP.js";
43
+ import "./chunk-EFEHIJXF.js";
44
+ import "./chunk-F3R4YS3F.js";
45
+ import "./chunk-DRIR2IZR.js";
46
46
  import "./chunk-OSXPQSLW.js";
47
47
  import "./chunk-OVAHNEFG.js";
48
48
  import "./chunk-LCLH6ZUL.js";
49
- import "./chunk-46Q2SHGJ.js";
50
- import "./chunk-H7YL7PH3.js";
49
+ import "./chunk-MEPTCUYN.js";
50
+ import "./chunk-J556QIRD.js";
51
51
  import "./chunk-OA2FURC3.js";
52
52
  import "./chunk-J2GP3J3X.js";
53
- import "./chunk-DPFET73G.js";
54
- import "./chunk-SSHXYKW3.js";
53
+ import "./chunk-JYYBSODN.js";
54
+ import "./chunk-5HDPFHHJ.js";
55
55
  import "./chunk-TS5WKTFB.js";
56
56
  import "./chunk-VLQ6BMU7.js";
57
57
  import "./chunk-HNCM3D7Y.js";
58
58
  import "./chunk-QMU3ZY2C.js";
59
59
  import "./chunk-FSSUPWYO.js";
60
60
  import "./chunk-XG3AUMPI.js";
61
- import "./chunk-EE6VFEE6.js";
62
- import "./chunk-EMXMTCSY.js";
63
- import "./chunk-JU757HVI.js";
61
+ import "./chunk-DNL2NUDB.js";
62
+ import "./chunk-SKNPOZYP.js";
63
+ import "./chunk-WOVWVB5J.js";
64
64
  import "./chunk-VKMPR25F.js";
65
65
  import "./chunk-K44MW7JJ.js";
66
66
  import "./chunk-PW5L4WBG.js";
@@ -91,4 +91,4 @@ export {
91
91
  stepDoneTool,
92
92
  validateToolAction
93
93
  };
94
- //# sourceMappingURL=tools-F4COIAZR.js.map
94
+ //# sourceMappingURL=tools-BL6XCTUV.js.map
@@ -1,4 +1,4 @@
1
- import { T as ToolCall, A as Attachment } from './types-CLcL33hJ.js';
1
+ import { T as ToolCall, A as Attachment } from './types-LO8296aY.js';
2
2
 
3
3
  interface LLMMessage {
4
4
  role: 'system' | 'user' | 'assistant' | 'tool';
@@ -378,6 +378,37 @@ type TaskStatus = 'todo' | 'in_progress' | 'done';
378
378
  /** Active state of an in-progress task: launched (occupies a slot) or queued (waiting for a slot). */
379
379
  type TaskRunState = 'running' | 'queued';
380
380
  type TaskActor = 'human' | 'agent' | 'system';
381
+ /** Google-Calendar-style schedule for a task. Present ⇒ the task auto-triggers. */
382
+ type TaskSchedule = {
383
+ type: 'once';
384
+ runAt: string;
385
+ } | {
386
+ type: 'recurring';
387
+ freq: 'day' | 'week' | 'month' | 'year';
388
+ /** Repeat every X days/weeks/months/years. */
389
+ interval: number;
390
+ /** Week freq only: selected weekdays, 0 = Sunday … 6 = Saturday. */
391
+ weekdays?: number[];
392
+ /** Month/year freq: day of month (1..31). */
393
+ monthDay?: number;
394
+ /** Year freq only: month, 1..12. */
395
+ yearMonth?: number;
396
+ /** First occurrence (date + local time-of-day) — anchor and first trigger. */
397
+ startAt: string;
398
+ end: {
399
+ kind: 'never';
400
+ } | {
401
+ kind: 'until';
402
+ until: string;
403
+ } | {
404
+ kind: 'count';
405
+ count: number;
406
+ };
407
+ /** How many occurrences have already been triggered (drives `count`). */
408
+ occurrencesDone: number;
409
+ /** Next trigger time — kept in sync with the DB `next_run_at` column. */
410
+ nextRunAt: string;
411
+ };
381
412
  /** Per-project gate (Definition of Done) configuration. */
382
413
  interface TaskGateConfig {
383
414
  id: string;
@@ -418,6 +449,8 @@ interface ProjectTask {
418
449
  queuePosition?: number;
419
450
  /** Ordering within the column (stable, used for drag-reorder). */
420
451
  position: number;
452
+ /** Auto-trigger schedule (once or recurring). Present ⇒ planned task. */
453
+ schedule?: TaskSchedule;
421
454
  /** Monotonic revision counter — bumped on every mutation. Optimistic concurrency guard. */
422
455
  version: number;
423
456
  agentId?: string;
@@ -712,4 +745,4 @@ interface ElementData {
712
745
  attributes: Record<string, string>;
713
746
  }
714
747
 
715
- export type { TaskRunState as $, Attachment as A, ExecutionState as B, ContextState as C, Diagnostic as D, EditContextEdit as E, FileReadEntry as F, LlmBackend as G, MessageRole as H, InjectedFile as I, MessageSegment as J, ModelSessionStats as K, LLMCallStats as L, ModelConfig as M, PreparingToolCall as N, Provider as O, Project as P, ProviderBackend as Q, RecentUserPrompt as R, SessionMode as S, ToolCall as T, SessionMetadata as U, StatsDataPoint as V, WorkflowExecution as W, StatsIdentity as X, TaskActor as Y, TaskAuditEntry as Z, TaskGateValue as _, ToolMode as a, TaskStatus as a0, ToolName as a1, UserStepChoice as a2, ValidationResult as a3, WorkflowExecutionStatus as a4, WorkflowLaunchScope as a5, WorkflowParameter as a6, WorkflowScope as a7, ToolResult as b, Message as c, MessageStats as d, Todo as e, Criterion as f, MetadataEntry as g, SessionPhase as h, SessionSummary as i, PauseState as j, Session as k, ProjectTask as l, ProjectTaskSettings as m, ProjectTaskCounts as n, TaskGateConfig as o, SessionStats as p, CallStatsDataPoint as q, Config as r, ContextWindow as s, CriterionAttempt as t, CriterionStatus as u, CriterionValidation as v, DangerLevel as w, EditContextLine as x, EditContextRegion as y, ElementData as z };
748
+ export type { TaskRunState as $, Attachment as A, ExecutionState as B, ContextState as C, Diagnostic as D, EditContextEdit as E, FileReadEntry as F, LlmBackend as G, MessageRole as H, InjectedFile as I, MessageSegment as J, ModelSessionStats as K, LLMCallStats as L, ModelConfig as M, PreparingToolCall as N, Provider as O, Project as P, ProviderBackend as Q, RecentUserPrompt as R, SessionMode as S, ToolCall as T, SessionMetadata as U, StatsDataPoint as V, WorkflowExecution as W, StatsIdentity as X, TaskActor as Y, TaskAuditEntry as Z, TaskGateValue as _, ToolMode as a, TaskSchedule as a0, TaskStatus as a1, ToolName as a2, UserStepChoice as a3, ValidationResult as a4, WorkflowExecutionStatus as a5, WorkflowLaunchScope as a6, WorkflowParameter as a7, WorkflowScope as a8, ToolResult as b, Message as c, MessageStats as d, Todo as e, Criterion as f, MetadataEntry as g, SessionPhase as h, SessionSummary as i, PauseState as j, Session as k, ProjectTask as l, ProjectTaskSettings as m, ProjectTaskCounts as n, TaskGateConfig as o, SessionStats as p, CallStatsDataPoint as q, Config as r, ContextWindow as s, CriterionAttempt as t, CriterionStatus as u, CriterionValidation as v, DangerLevel as w, EditContextLine as x, EditContextRegion as y, ElementData as z };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2OMGR7LN.js";
4
4
  import {
5
5
  VERSION
6
- } from "./chunk-LDWWVUW7.js";
6
+ } from "./chunk-EPZO3MGM.js";
7
7
  import "./chunk-24YKXKCG.js";
8
8
  import "./chunk-CQGTEGKL.js";
9
9
  import "./chunk-YLJ4XMA6.js";
@@ -73,4 +73,4 @@ async function runUpdate(options = {}) {
73
73
  export {
74
74
  runUpdate
75
75
  };
76
- //# sourceMappingURL=update-5TGZTHLD.js.map
76
+ //# sourceMappingURL=update-M5DMX3FC.js.map