@action-llama/action-llama 0.14.1 → 0.16.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 (193) hide show
  1. package/dist/agents/feedback-monitor.d.ts +56 -0
  2. package/dist/agents/feedback-monitor.d.ts.map +1 -0
  3. package/dist/agents/feedback-monitor.js +176 -0
  4. package/dist/agents/feedback-monitor.js.map +1 -0
  5. package/dist/agents/feedback-runner.d.ts +28 -0
  6. package/dist/agents/feedback-runner.d.ts.map +1 -0
  7. package/dist/agents/feedback-runner.js +138 -0
  8. package/dist/agents/feedback-runner.js.map +1 -0
  9. package/dist/agents/runner.d.ts +4 -0
  10. package/dist/agents/runner.d.ts.map +1 -1
  11. package/dist/agents/runner.js +11 -0
  12. package/dist/agents/runner.js.map +1 -1
  13. package/dist/build-info.json +1 -1
  14. package/dist/cli/commands/agent.d.ts.map +1 -1
  15. package/dist/cli/commands/agent.js +46 -0
  16. package/dist/cli/commands/agent.js.map +1 -1
  17. package/dist/cli/commands/doctor.d.ts +1 -0
  18. package/dist/cli/commands/doctor.d.ts.map +1 -1
  19. package/dist/cli/commands/doctor.js +101 -4
  20. package/dist/cli/commands/doctor.js.map +1 -1
  21. package/dist/cli/commands/start.js +1 -1
  22. package/dist/cli/commands/start.js.map +1 -1
  23. package/dist/cli/commands/webhook.d.ts +11 -0
  24. package/dist/cli/commands/webhook.d.ts.map +1 -0
  25. package/dist/cli/commands/webhook.js +271 -0
  26. package/dist/cli/commands/webhook.js.map +1 -0
  27. package/dist/cli/main.js +17 -0
  28. package/dist/cli/main.js.map +1 -1
  29. package/dist/docker/local-runtime.d.ts.map +1 -1
  30. package/dist/docker/local-runtime.js +36 -7
  31. package/dist/docker/local-runtime.js.map +1 -1
  32. package/dist/docker/runtime.d.ts +4 -0
  33. package/dist/docker/runtime.d.ts.map +1 -1
  34. package/dist/gateway/index.d.ts +2 -0
  35. package/dist/gateway/index.d.ts.map +1 -1
  36. package/dist/gateway/index.js +1 -1
  37. package/dist/gateway/index.js.map +1 -1
  38. package/dist/gateway/routes/control.d.ts +2 -0
  39. package/dist/gateway/routes/control.d.ts.map +1 -1
  40. package/dist/gateway/routes/control.js +56 -0
  41. package/dist/gateway/routes/control.js.map +1 -1
  42. package/dist/gateway/routes/dashboard.d.ts.map +1 -1
  43. package/dist/gateway/routes/dashboard.js +89 -3
  44. package/dist/gateway/routes/dashboard.js.map +1 -1
  45. package/dist/gateway/routes/webhooks.d.ts +2 -1
  46. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  47. package/dist/gateway/routes/webhooks.js +3 -2
  48. package/dist/gateway/routes/webhooks.js.map +1 -1
  49. package/dist/gateway/views/agent-detail-page.d.ts +2 -0
  50. package/dist/gateway/views/agent-detail-page.d.ts.map +1 -1
  51. package/dist/gateway/views/agent-detail-page.js +115 -2
  52. package/dist/gateway/views/agent-detail-page.js.map +1 -1
  53. package/dist/gateway/views/dashboard-page.d.ts.map +1 -1
  54. package/dist/gateway/views/dashboard-page.js +36 -2
  55. package/dist/gateway/views/dashboard-page.js.map +1 -1
  56. package/dist/gateway/views/instance-detail-page.d.ts +6 -0
  57. package/dist/gateway/views/instance-detail-page.d.ts.map +1 -1
  58. package/dist/gateway/views/instance-detail-page.js +95 -12
  59. package/dist/gateway/views/instance-detail-page.js.map +1 -1
  60. package/dist/gateway/views/project-config-page.d.ts +12 -0
  61. package/dist/gateway/views/project-config-page.d.ts.map +1 -0
  62. package/dist/gateway/views/project-config-page.js +199 -0
  63. package/dist/gateway/views/project-config-page.js.map +1 -0
  64. package/dist/remote/push.d.ts.map +1 -1
  65. package/dist/remote/push.js +11 -2
  66. package/dist/remote/push.js.map +1 -1
  67. package/dist/scheduler/event-queue-unified.d.ts +50 -0
  68. package/dist/scheduler/event-queue-unified.d.ts.map +1 -0
  69. package/dist/scheduler/event-queue-unified.js +280 -0
  70. package/dist/scheduler/event-queue-unified.js.map +1 -0
  71. package/dist/scheduler/execution.d.ts +2 -1
  72. package/dist/scheduler/execution.d.ts.map +1 -1
  73. package/dist/scheduler/execution.js +48 -8
  74. package/dist/scheduler/execution.js.map +1 -1
  75. package/dist/scheduler/gateway-setup.d.ts +2 -1
  76. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  77. package/dist/scheduler/gateway-setup.js +20 -1
  78. package/dist/scheduler/gateway-setup.js.map +1 -1
  79. package/dist/scheduler/index.d.ts.map +1 -1
  80. package/dist/scheduler/index.js +75 -1
  81. package/dist/scheduler/index.js.map +1 -1
  82. package/dist/scheduler/lifecycle/agent-lifecycle.d.ts +114 -0
  83. package/dist/scheduler/lifecycle/agent-lifecycle.d.ts.map +1 -0
  84. package/dist/scheduler/lifecycle/agent-lifecycle.js +236 -0
  85. package/dist/scheduler/lifecycle/agent-lifecycle.js.map +1 -0
  86. package/dist/scheduler/lifecycle/index.d.ts +60 -0
  87. package/dist/scheduler/lifecycle/index.d.ts.map +1 -0
  88. package/dist/scheduler/lifecycle/index.js +103 -0
  89. package/dist/scheduler/lifecycle/index.js.map +1 -0
  90. package/dist/scheduler/lifecycle/instance-lifecycle.d.ts +88 -0
  91. package/dist/scheduler/lifecycle/instance-lifecycle.d.ts.map +1 -0
  92. package/dist/scheduler/lifecycle/instance-lifecycle.js +142 -0
  93. package/dist/scheduler/lifecycle/instance-lifecycle.js.map +1 -0
  94. package/dist/scheduler/types.d.ts +2 -0
  95. package/dist/scheduler/types.d.ts.map +1 -1
  96. package/dist/scheduler/webhook-setup.d.ts +1 -0
  97. package/dist/scheduler/webhook-setup.d.ts.map +1 -1
  98. package/dist/scheduler/webhook-setup.js +14 -2
  99. package/dist/scheduler/webhook-setup.js.map +1 -1
  100. package/dist/shared/config.d.ts +27 -0
  101. package/dist/shared/config.d.ts.map +1 -1
  102. package/dist/shared/config.js +51 -2
  103. package/dist/shared/config.js.map +1 -1
  104. package/dist/shared/constants.d.ts +16 -0
  105. package/dist/shared/constants.d.ts.map +1 -1
  106. package/dist/shared/constants.js +54 -0
  107. package/dist/shared/constants.js.map +1 -1
  108. package/dist/shared/default-feedback-agent.d.ts +10 -0
  109. package/dist/shared/default-feedback-agent.d.ts.map +1 -0
  110. package/dist/shared/default-feedback-agent.js +114 -0
  111. package/dist/shared/default-feedback-agent.js.map +1 -0
  112. package/dist/shared/persistence/adapters/state-store.d.ts +24 -0
  113. package/dist/shared/persistence/adapters/state-store.d.ts.map +1 -0
  114. package/dist/shared/persistence/adapters/state-store.js +32 -0
  115. package/dist/shared/persistence/adapters/state-store.js.map +1 -0
  116. package/dist/shared/persistence/adapters/stats-store.d.ts +49 -0
  117. package/dist/shared/persistence/adapters/stats-store.d.ts.map +1 -0
  118. package/dist/shared/persistence/adapters/stats-store.js +213 -0
  119. package/dist/shared/persistence/adapters/stats-store.js.map +1 -0
  120. package/dist/shared/persistence/backends/memory.d.ts +39 -0
  121. package/dist/shared/persistence/backends/memory.d.ts.map +1 -0
  122. package/dist/shared/persistence/backends/memory.js +214 -0
  123. package/dist/shared/persistence/backends/memory.js.map +1 -0
  124. package/dist/shared/persistence/backends/sqlite.d.ts +38 -0
  125. package/dist/shared/persistence/backends/sqlite.d.ts.map +1 -0
  126. package/dist/shared/persistence/backends/sqlite.js +250 -0
  127. package/dist/shared/persistence/backends/sqlite.js.map +1 -0
  128. package/dist/shared/persistence/event-store.d.ts +77 -0
  129. package/dist/shared/persistence/event-store.d.ts.map +1 -0
  130. package/dist/shared/persistence/event-store.js +139 -0
  131. package/dist/shared/persistence/event-store.js.map +1 -0
  132. package/dist/shared/persistence/index.d.ts +119 -0
  133. package/dist/shared/persistence/index.d.ts.map +1 -0
  134. package/dist/shared/persistence/index.js +93 -0
  135. package/dist/shared/persistence/index.js.map +1 -0
  136. package/dist/shared/persistence/migration.d.ts +47 -0
  137. package/dist/shared/persistence/migration.d.ts.map +1 -0
  138. package/dist/shared/persistence/migration.js +297 -0
  139. package/dist/shared/persistence/migration.js.map +1 -0
  140. package/dist/shared/usage.d.ts.map +1 -1
  141. package/dist/shared/usage.js +52 -7
  142. package/dist/shared/usage.js.map +1 -1
  143. package/dist/shared/validation.d.ts +61 -0
  144. package/dist/shared/validation.d.ts.map +1 -0
  145. package/dist/shared/validation.js +280 -0
  146. package/dist/shared/validation.js.map +1 -0
  147. package/dist/stats/event-store.d.ts +37 -0
  148. package/dist/stats/event-store.d.ts.map +1 -0
  149. package/dist/stats/event-store.js +366 -0
  150. package/dist/stats/event-store.js.map +1 -0
  151. package/dist/tui/App.d.ts +2 -1
  152. package/dist/tui/App.d.ts.map +1 -1
  153. package/dist/tui/App.js +132 -5
  154. package/dist/tui/App.js.map +1 -1
  155. package/dist/tui/render.d.ts +1 -1
  156. package/dist/tui/render.d.ts.map +1 -1
  157. package/dist/tui/render.js +2 -2
  158. package/dist/tui/render.js.map +1 -1
  159. package/dist/tui/status-tracker.d.ts +31 -0
  160. package/dist/tui/status-tracker.d.ts.map +1 -1
  161. package/dist/tui/status-tracker.js +117 -1
  162. package/dist/tui/status-tracker.js.map +1 -1
  163. package/dist/webhooks/providers/github.d.ts +1 -1
  164. package/dist/webhooks/providers/github.d.ts.map +1 -1
  165. package/dist/webhooks/providers/github.js +2 -2
  166. package/dist/webhooks/providers/github.js.map +1 -1
  167. package/dist/webhooks/providers/linear.d.ts +1 -1
  168. package/dist/webhooks/providers/linear.d.ts.map +1 -1
  169. package/dist/webhooks/providers/linear.js +2 -2
  170. package/dist/webhooks/providers/linear.js.map +1 -1
  171. package/dist/webhooks/providers/mintlify.d.ts +1 -1
  172. package/dist/webhooks/providers/mintlify.d.ts.map +1 -1
  173. package/dist/webhooks/providers/mintlify.js +2 -2
  174. package/dist/webhooks/providers/mintlify.js.map +1 -1
  175. package/dist/webhooks/providers/sentry.d.ts +1 -1
  176. package/dist/webhooks/providers/sentry.d.ts.map +1 -1
  177. package/dist/webhooks/providers/sentry.js +2 -2
  178. package/dist/webhooks/providers/sentry.js.map +1 -1
  179. package/dist/webhooks/providers/test.d.ts +1 -1
  180. package/dist/webhooks/providers/test.d.ts.map +1 -1
  181. package/dist/webhooks/providers/test.js +1 -1
  182. package/dist/webhooks/providers/test.js.map +1 -1
  183. package/dist/webhooks/registry.d.ts +8 -2
  184. package/dist/webhooks/registry.d.ts.map +1 -1
  185. package/dist/webhooks/registry.js +155 -3
  186. package/dist/webhooks/registry.js.map +1 -1
  187. package/dist/webhooks/types.d.ts +28 -1
  188. package/dist/webhooks/types.d.ts.map +1 -1
  189. package/dist/webhooks/validation.d.ts +7 -6
  190. package/dist/webhooks/validation.d.ts.map +1 -1
  191. package/dist/webhooks/validation.js +11 -9
  192. package/dist/webhooks/validation.js.map +1 -1
  193. package/package.json +1 -1
@@ -0,0 +1,199 @@
1
+ import { escapeHtml, renderLayout } from "./layout.js";
2
+ export function renderProjectConfigPage(data) {
3
+ const { projectName, projectScale, gatewayPort, webhooksActive } = data;
4
+ const content = `
5
+ <div class="flex flex-wrap items-center justify-between gap-3 mb-6">
6
+ <div class="flex items-center gap-3">
7
+ <h1 class="text-xl sm:text-2xl font-bold text-slate-900 dark:text-white">Project Configuration</h1>
8
+ </div>
9
+ </div>
10
+
11
+ <!-- Global Settings -->
12
+ <div class="bg-white dark:bg-slate-900 rounded-lg border border-slate-200 dark:border-slate-800 p-6 mb-6">
13
+ <h2 class="text-lg font-semibold text-slate-900 dark:text-white mb-4">Global Settings</h2>
14
+
15
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
16
+ <!-- Project Scale -->
17
+ <div>
18
+ <label class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">Project Scale</label>
19
+ <div class="flex items-center gap-3">
20
+ <input id="project-scale-input" type="number" min="1" max="50" value="${projectScale}" class="px-3 py-2 border border-slate-300 dark:border-slate-600 rounded-md bg-white dark:bg-slate-800 text-slate-900 dark:text-white w-24">
21
+ <button id="update-project-scale-btn" class="px-4 py-2 text-sm rounded-md font-semibold bg-blue-600 hover:bg-blue-700 text-white transition-colors" onclick="updateProjectScale()">Update</button>
22
+ </div>
23
+ <p class="text-sm text-slate-500 dark:text-slate-400 mt-2">Maximum number of concurrent agent runs across all agents in this project</p>
24
+ </div>
25
+
26
+ <!-- Gateway Info (read-only) -->
27
+ <div>
28
+ <label class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">Gateway Status</label>
29
+ <div class="space-y-2">
30
+ ${gatewayPort ? `<div class="text-sm text-slate-600 dark:text-slate-300">Port: ${gatewayPort}</div>` : ""}
31
+ <div class="text-sm text-slate-600 dark:text-slate-300">Webhooks: ${webhooksActive ? "Active" : "Inactive"}</div>
32
+ ${projectName ? `<div class="text-sm text-slate-600 dark:text-slate-300">Project: ${escapeHtml(projectName)}</div>` : ""}
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </div>
37
+
38
+ <!-- Feedback Configuration -->
39
+ <div class="bg-white dark:bg-slate-900 rounded-lg border border-slate-200 dark:border-slate-800 p-6 mb-6">
40
+ <h2 class="text-lg font-semibold text-slate-900 dark:text-white mb-4">Feedback Configuration</h2>
41
+ <p class="text-sm text-slate-500 dark:text-slate-400 mb-4">Automatically trigger feedback agents when other agents encounter errors</p>
42
+
43
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
44
+ <!-- Enable/Disable Feedback -->
45
+ <div>
46
+ <label class="flex items-center gap-3">
47
+ <input id="feedback-enabled" type="checkbox" ${data.feedbackEnabled ? 'checked' : ''} class="w-4 h-4 text-blue-600 bg-slate-100 border-slate-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-slate-800 dark:bg-slate-700 dark:border-slate-600">
48
+ <span class="text-sm font-medium text-slate-700 dark:text-slate-300">Enable Feedback Monitoring</span>
49
+ </label>
50
+ <p class="text-sm text-slate-500 dark:text-slate-400 mt-2 ml-7">Monitor agent logs for errors and trigger feedback agents to fix SKILL.md files</p>
51
+ </div>
52
+
53
+ <!-- Feedback Agent -->
54
+ <div>
55
+ <label class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">Feedback Agent</label>
56
+ <input id="feedback-agent" type="text" value="${escapeHtml(data.feedbackAgent || '')}" placeholder="default (built-in)" class="w-full px-3 py-2 border border-slate-300 dark:border-slate-600 rounded-md bg-white dark:bg-slate-800 text-slate-900 dark:text-white">
57
+ <p class="text-sm text-slate-500 dark:text-slate-400 mt-2">Agent to use for feedback (leave empty for built-in agent)</p>
58
+ </div>
59
+
60
+ <!-- Error Patterns -->
61
+ <div>
62
+ <label class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">Error Patterns</label>
63
+ <input id="error-patterns" type="text" value="${escapeHtml(data.feedbackErrorPatterns.join(', '))}" placeholder="error, fail" class="w-full px-3 py-2 border border-slate-300 dark:border-slate-600 rounded-md bg-white dark:bg-slate-800 text-slate-900 dark:text-white">
64
+ <p class="text-sm text-slate-500 dark:text-slate-400 mt-2">Comma-separated patterns to detect errors in logs (regex supported)</p>
65
+ </div>
66
+
67
+ <!-- Context Lines -->
68
+ <div>
69
+ <label class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">Context Lines</label>
70
+ <input id="context-lines" type="number" min="0" max="10" value="${data.feedbackContextLines}" class="w-24 px-3 py-2 border border-slate-300 dark:border-slate-600 rounded-md bg-white dark:bg-slate-800 text-slate-900 dark:text-white">
71
+ <p class="text-sm text-slate-500 dark:text-slate-400 mt-2">Number of lines around the error to include in feedback context</p>
72
+ </div>
73
+ </div>
74
+
75
+ <div class="mt-6">
76
+ <button id="update-feedback-btn" class="px-4 py-2 text-sm rounded-md font-semibold bg-blue-600 hover:bg-blue-700 text-white transition-colors" onclick="updateFeedbackConfig()">Update Feedback Configuration</button>
77
+ </div>
78
+ </div>
79
+
80
+ <!-- Actions -->
81
+ <div class="bg-white dark:bg-slate-900 rounded-lg border border-slate-200 dark:border-slate-800 p-6">
82
+ <h2 class="text-lg font-semibold text-slate-900 dark:text-white mb-4">Actions</h2>
83
+
84
+ <div class="flex flex-wrap gap-3">
85
+ <button class="px-4 py-2 text-sm rounded-md font-semibold border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 hover:bg-slate-50 dark:hover:bg-slate-700 text-slate-700 dark:text-slate-200 transition-colors" onclick="pauseScheduler()">Pause All Agents</button>
86
+ <button class="px-4 py-2 text-sm rounded-md font-semibold border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 hover:bg-slate-50 dark:hover:bg-slate-700 text-slate-700 dark:text-slate-200 transition-colors" onclick="resumeScheduler()">Resume All Agents</button>
87
+ </div>
88
+
89
+ <p class="text-sm text-slate-500 dark:text-slate-400 mt-3">These actions affect all agents in the project temporarily (until restart)</p>
90
+ </div>
91
+ `;
92
+ const scripts = `<script>
93
+ function ctrlPost(path) {
94
+ fetch(path, { method: "POST", credentials: "same-origin" })
95
+ .then(function(r) {
96
+ if (r.ok) {
97
+ return r.json();
98
+ } else {
99
+ throw new Error("HTTP " + r.status);
100
+ }
101
+ })
102
+ .then(function(data) {
103
+ if (data.message) alert(data.message);
104
+ })
105
+ .catch(function(err) {
106
+ alert("Error: " + err);
107
+ });
108
+ }
109
+
110
+ function updateProjectScale() {
111
+ var input = document.getElementById("project-scale-input");
112
+ var btn = document.getElementById("update-project-scale-btn");
113
+ var scale = parseInt(input.value);
114
+ if (!scale || scale < 1 || scale > 50) {
115
+ alert("Scale must be between 1 and 50");
116
+ return;
117
+ }
118
+ btn.disabled = true;
119
+ btn.textContent = "Updating...";
120
+ fetch("/control/project/scale", {
121
+ method: "POST",
122
+ credentials: "same-origin",
123
+ headers: { "Content-Type": "application/json" },
124
+ body: JSON.stringify({ scale: scale })
125
+ }).then(function(r) {
126
+ if (r.ok) {
127
+ alert("Project scale updated to " + scale);
128
+ } else {
129
+ r.text().then(function(text) { alert("Error: " + text); });
130
+ }
131
+ }).catch(function(err) {
132
+ alert("Error: " + err);
133
+ }).finally(function() {
134
+ btn.disabled = false;
135
+ btn.textContent = "Update";
136
+ });
137
+ }
138
+
139
+ function pauseScheduler() {
140
+ if (!confirm("Pause all agents? This will stop all scheduled and webhook-triggered runs.")) return;
141
+ ctrlPost("/control/pause");
142
+ }
143
+
144
+ function resumeScheduler() {
145
+ ctrlPost("/control/resume");
146
+ }
147
+
148
+ function updateFeedbackConfig() {
149
+ var btn = document.getElementById("update-feedback-btn");
150
+ var enabled = document.getElementById("feedback-enabled").checked;
151
+ var agent = document.getElementById("feedback-agent").value.trim();
152
+ var patterns = document.getElementById("error-patterns").value.trim();
153
+ var contextLines = parseInt(document.getElementById("context-lines").value);
154
+
155
+ if (isNaN(contextLines) || contextLines < 0 || contextLines > 10) {
156
+ alert("Context lines must be between 0 and 10");
157
+ return;
158
+ }
159
+
160
+ btn.disabled = true;
161
+ btn.textContent = "Updating...";
162
+
163
+ var config = {
164
+ enabled: enabled,
165
+ agent: agent || undefined,
166
+ errorPatterns: patterns ? patterns.split(',').map(function(p) { return p.trim(); }).filter(function(p) { return p; }) : ["error", "fail"],
167
+ contextLines: contextLines
168
+ };
169
+
170
+ fetch("/control/feedback/config", {
171
+ method: "POST",
172
+ credentials: "same-origin",
173
+ headers: { "Content-Type": "application/json" },
174
+ body: JSON.stringify(config)
175
+ }).then(function(r) {
176
+ if (r.ok) {
177
+ alert("Feedback configuration updated");
178
+ } else {
179
+ r.text().then(function(text) { alert("Error: " + text); });
180
+ }
181
+ }).catch(function(err) {
182
+ alert("Error: " + err);
183
+ }).finally(function() {
184
+ btn.disabled = false;
185
+ btn.textContent = "Update Feedback Configuration";
186
+ });
187
+ }
188
+ </script>`;
189
+ return renderLayout({
190
+ title: "Project Configuration",
191
+ breadcrumbs: [
192
+ { label: "Dashboard", href: "/dashboard" },
193
+ { label: "Configuration" },
194
+ ],
195
+ content,
196
+ scripts,
197
+ });
198
+ }
199
+ //# sourceMappingURL=project-config-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-config-page.js","sourceRoot":"","sources":["../../../src/gateway/views/project-config-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAavD,MAAM,UAAU,uBAAuB,CAAC,IAAuB;IAC7D,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAExE,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;oFAgBkE,YAAY;;;;;;;;;;cAUlF,WAAW,CAAC,CAAC,CAAC,iEAAiE,WAAW,QAAQ,CAAC,CAAC,CAAC,EAAE;gFACrC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;cACxG,WAAW,CAAC,CAAC,CAAC,oEAAoE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;2DAezE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;;;;;;;;0DAStC,UAAU,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;;;;;;;0DAOpC,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;;;;4EAO/B,IAAI,CAAC,oBAAoB;;;;;;;;;;;;;;;;;;;;;GAqBlG,CAAC;IAEF,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAgGN,CAAC;IAEX,OAAO,YAAY,CAAC;QAClB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE;YACX,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE;YAC1C,EAAE,KAAK,EAAE,eAAe,EAAE;SAC3B;QACD,OAAO;QACP,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/remote/push.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUxD,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAW1D;AAgDD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,eAAe,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,OAAO,GACf,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBnE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C7E"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/remote/push.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUxD,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAW1D;AAqDD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,eAAe,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,OAAO,GACf,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBnE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C7E"}
@@ -31,13 +31,17 @@ export function computePkgHash(projectPath) {
31
31
  * Sync only the required credentials to the remote server.
32
32
  * Creates the directory structure and copies individual credential directories.
33
33
  */
34
- async function syncRequiredCredentials(ssh, projectPath, globalConfig, remotePath, rsyncFlags) {
34
+ async function syncRequiredCredentials(ssh, projectPath, globalConfig, remotePath, rsyncFlags, extraRefs) {
35
35
  const credentialRefs = collectCredentialRefs(projectPath, globalConfig);
36
36
  // Add implicit credentials (e.g. gateway_api_key) — these are auto-generated
37
37
  // and not in the credential registry, so they must not go through doctor/resolveCredential.
38
38
  for (const ref of IMPLICIT_CREDENTIAL_REFS) {
39
39
  credentialRefs.add(ref);
40
40
  }
41
+ // Add caller-supplied refs (e.g. infrastructure credentials like cloudflare_origin_cert)
42
+ for (const ref of extraRefs ?? []) {
43
+ credentialRefs.add(ref);
44
+ }
41
45
  const relativePaths = credentialRefsToRelativePaths(credentialRefs);
42
46
  if (relativePaths.length === 0)
43
47
  return;
@@ -200,7 +204,12 @@ async function pushToServerInner(ssh, opts) {
200
204
  phaseA.push(rsyncTo(ssh, projectPath, `${basePath}/project`, excludes, rsyncFlags));
201
205
  }
202
206
  if (!noCreds) {
203
- phaseA.push(syncRequiredCredentials(ssh, projectPath, globalConfig, `${basePath}/credentials`, rsyncFlags));
207
+ // Include infrastructure credentials (e.g. Cloudflare origin cert for nginx TLS)
208
+ const extraRefs = [];
209
+ if (serverConfig.cloudflareHostname) {
210
+ extraRefs.push(`cloudflare_origin_cert:${serverConfig.cloudflareHostname}`);
211
+ }
212
+ phaseA.push(syncRequiredCredentials(ssh, projectPath, globalConfig, `${basePath}/credentials`, rsyncFlags, extraRefs));
204
213
  }
205
214
  await Promise.all(phaseA);
206
215
  console.log(dryRun ? " (dry-run) No changes made." : " Done.");
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/remote/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/remote/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Event-sourced WorkQueue using unified persistence layer.
3
+ *
4
+ * Replaces table-based queue with event stream per agent, providing
5
+ * natural audit trails and replay capabilities for all queued work.
6
+ */
7
+ import type { PersistenceStore } from "../shared/persistence/index.js";
8
+ import type { WorkQueue, QueuedWorkItem, EnqueueResult } from "./event-queue.js";
9
+ export declare class EventSourcedWorkQueue<T> implements WorkQueue<T> {
10
+ private persistence;
11
+ private agentStreams;
12
+ private queueState;
13
+ private maxSize;
14
+ constructor(persistence: PersistenceStore, maxSize?: number);
15
+ private getAgentStream;
16
+ private getQueueState;
17
+ private buildQueueState;
18
+ enqueue(agentName: string, context: T, receivedAt?: Date): EnqueueResult<T>;
19
+ private enqueueAsync;
20
+ dequeue(agentName: string): QueuedWorkItem<T> | undefined;
21
+ private dequeueAsync;
22
+ size(agentName: string): number;
23
+ clear(agentName: string): void;
24
+ private clearAsync;
25
+ clearAll(): void;
26
+ private clearAllAsync;
27
+ close(): void;
28
+ /**
29
+ * Replay queue events for debugging/audit purposes.
30
+ */
31
+ replayQueueHistory(agentName: string): Promise<Array<{
32
+ type: string;
33
+ data: any;
34
+ timestamp: number;
35
+ }>>;
36
+ /**
37
+ * Get queue statistics from events.
38
+ */
39
+ getQueueStats(agentName: string, since?: number): Promise<{
40
+ totalEnqueued: number;
41
+ totalDequeued: number;
42
+ totalDropped: number;
43
+ currentSize: number;
44
+ }>;
45
+ /**
46
+ * Initialize queue state from events on startup.
47
+ */
48
+ initialize(): Promise<void>;
49
+ }
50
+ //# sourceMappingURL=event-queue-unified.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-queue-unified.d.ts","sourceRoot":"","sources":["../../src/scheduler/event-queue-unified.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjF,qBAAa,qBAAqB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAMzD,OAAO,CAAC,WAAW;IALrB,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,OAAO,CAAS;gBAGd,WAAW,EAAE,gBAAgB,EACrC,OAAO,GAAE,MAAY;IAKvB,OAAO,CAAC,cAAc;YAUR,aAAa;YAQb,eAAe;IAyB7B,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC;YAY7D,YAAY;IA+C1B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;YAiB3C,YAAY;IAiB1B,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAK/B,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;YAMhB,UAAU;IAuBxB,QAAQ,IAAI,IAAI;YAMF,aAAa;IAM3B,KAAK,IAAI,IAAI;IAOb;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAe3G;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9D,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IA4BF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAUlC"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Event-sourced WorkQueue using unified persistence layer.
3
+ *
4
+ * Replaces table-based queue with event stream per agent, providing
5
+ * natural audit trails and replay capabilities for all queued work.
6
+ */
7
+ import { EventTypes, EventStreamWrapper } from "../shared/persistence/event-store.js";
8
+ export class EventSourcedWorkQueue {
9
+ persistence;
10
+ agentStreams = new Map();
11
+ queueState = new Map();
12
+ maxSize;
13
+ constructor(persistence, maxSize = 100) {
14
+ this.persistence = persistence;
15
+ this.maxSize = maxSize;
16
+ }
17
+ getAgentStream(agentName) {
18
+ if (!this.agentStreams.has(agentName)) {
19
+ const stream = new EventStreamWrapper(this.persistence.events.stream(`work-queue-${agentName}`));
20
+ this.agentStreams.set(agentName, stream);
21
+ }
22
+ return this.agentStreams.get(agentName);
23
+ }
24
+ async getQueueState(agentName) {
25
+ if (!this.queueState.has(agentName)) {
26
+ const state = await this.buildQueueState(agentName);
27
+ this.queueState.set(agentName, state);
28
+ }
29
+ return this.queueState.get(agentName);
30
+ }
31
+ async buildQueueState(agentName) {
32
+ const stream = this.getAgentStream(agentName);
33
+ const state = new QueueState();
34
+ // Replay events to build current queue state
35
+ for await (const event of stream.replay()) {
36
+ switch (event.type) {
37
+ case EventTypes.WORK_QUEUED:
38
+ state.enqueue({
39
+ context: event.data.context,
40
+ receivedAt: new Date(event.data.receivedAt),
41
+ });
42
+ break;
43
+ case EventTypes.WORK_DEQUEUED:
44
+ state.dequeue(event.data.workId);
45
+ break;
46
+ case EventTypes.WORK_DROPPED:
47
+ state.drop(event.data.workId);
48
+ break;
49
+ }
50
+ }
51
+ return state;
52
+ }
53
+ enqueue(agentName, context, receivedAt) {
54
+ const timestamp = receivedAt || new Date();
55
+ // This is async but we need sync interface for compatibility
56
+ // We'll process asynchronously and return optimistic result
57
+ this.enqueueAsync(agentName, context, timestamp).catch(error => {
58
+ console.error(`Failed to enqueue work for ${agentName}:`, error);
59
+ });
60
+ return { accepted: true };
61
+ }
62
+ async enqueueAsync(agentName, context, receivedAt) {
63
+ const stream = this.getAgentStream(agentName);
64
+ const state = await this.getQueueState(agentName);
65
+ const workId = `${agentName}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
66
+ // Check if we need to drop oldest item
67
+ let droppedItem;
68
+ if (state.size() >= this.maxSize) {
69
+ const oldest = state.getOldest();
70
+ if (oldest) {
71
+ await stream.appendTyped(EventTypes.WORK_DROPPED, {
72
+ workId: oldest.id,
73
+ reason: "queue-full",
74
+ agentName,
75
+ }, {
76
+ source: "work-queue",
77
+ actor: agentName,
78
+ });
79
+ droppedItem = oldest.item;
80
+ state.drop(oldest.id);
81
+ }
82
+ }
83
+ // Add new work item
84
+ await stream.appendTyped(EventTypes.WORK_QUEUED, {
85
+ workId,
86
+ agentName,
87
+ context,
88
+ receivedAt: receivedAt.getTime(),
89
+ }, {
90
+ source: "work-queue",
91
+ actor: agentName,
92
+ });
93
+ state.enqueue({ context, receivedAt }, workId);
94
+ }
95
+ dequeue(agentName) {
96
+ // This is async but we need sync interface for compatibility
97
+ // We'll use the cached state and process events asynchronously
98
+ const state = this.queueState.get(agentName);
99
+ if (!state)
100
+ return undefined;
101
+ const item = state.peek();
102
+ if (!item)
103
+ return undefined;
104
+ // Async process the dequeue event
105
+ this.dequeueAsync(agentName, item.id).catch(error => {
106
+ console.error(`Failed to record dequeue for ${agentName}:`, error);
107
+ });
108
+ return state.dequeue(item.id);
109
+ }
110
+ async dequeueAsync(agentName, workId) {
111
+ const stream = this.getAgentStream(agentName);
112
+ await stream.appendTyped(EventTypes.WORK_DEQUEUED, {
113
+ workId,
114
+ agentName,
115
+ dequeuedAt: Date.now(),
116
+ }, {
117
+ source: "work-queue",
118
+ actor: agentName,
119
+ });
120
+ }
121
+ size(agentName) {
122
+ const state = this.queueState.get(agentName);
123
+ return state ? state.size() : 0;
124
+ }
125
+ clear(agentName) {
126
+ this.clearAsync(agentName).catch(error => {
127
+ console.error(`Failed to clear queue for ${agentName}:`, error);
128
+ });
129
+ }
130
+ async clearAsync(agentName) {
131
+ const state = await this.getQueueState(agentName);
132
+ const stream = this.getAgentStream(agentName);
133
+ // Drop all current items
134
+ for (const { id } of state.getAllItems()) {
135
+ await stream.appendTyped(EventTypes.WORK_DROPPED, {
136
+ workId: id,
137
+ reason: "queue-cleared",
138
+ agentName,
139
+ }, {
140
+ source: "work-queue",
141
+ actor: agentName,
142
+ });
143
+ }
144
+ state.clear();
145
+ }
146
+ clearAll() {
147
+ this.clearAllAsync().catch(error => {
148
+ console.error("Failed to clear all queues:", error);
149
+ });
150
+ }
151
+ async clearAllAsync() {
152
+ for (const agentName of this.agentStreams.keys()) {
153
+ await this.clearAsync(agentName);
154
+ }
155
+ }
156
+ close() {
157
+ this.agentStreams.clear();
158
+ this.queueState.clear();
159
+ }
160
+ // Additional methods for event-sourced features
161
+ /**
162
+ * Replay queue events for debugging/audit purposes.
163
+ */
164
+ async replayQueueHistory(agentName) {
165
+ const stream = this.getAgentStream(agentName);
166
+ const events = [];
167
+ for await (const event of stream.replay()) {
168
+ events.push({
169
+ type: event.type,
170
+ data: event.data,
171
+ timestamp: event.timestamp,
172
+ });
173
+ }
174
+ return events;
175
+ }
176
+ /**
177
+ * Get queue statistics from events.
178
+ */
179
+ async getQueueStats(agentName, since) {
180
+ const stream = this.getAgentStream(agentName);
181
+ let totalEnqueued = 0;
182
+ let totalDequeued = 0;
183
+ let totalDropped = 0;
184
+ for await (const event of stream.replay({ from: since })) {
185
+ switch (event.type) {
186
+ case EventTypes.WORK_QUEUED:
187
+ totalEnqueued++;
188
+ break;
189
+ case EventTypes.WORK_DEQUEUED:
190
+ totalDequeued++;
191
+ break;
192
+ case EventTypes.WORK_DROPPED:
193
+ totalDropped++;
194
+ break;
195
+ }
196
+ }
197
+ return {
198
+ totalEnqueued,
199
+ totalDequeued,
200
+ totalDropped,
201
+ currentSize: this.size(agentName),
202
+ };
203
+ }
204
+ /**
205
+ * Initialize queue state from events on startup.
206
+ */
207
+ async initialize() {
208
+ // Get all existing work queue streams
209
+ const streams = await this.persistence.events.listStreams();
210
+ const workQueueStreams = streams.filter(name => name.startsWith("work-queue-"));
211
+ for (const streamName of workQueueStreams) {
212
+ const agentName = streamName.replace("work-queue-", "");
213
+ await this.getQueueState(agentName); // This will build state from events
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * Internal queue state management.
219
+ */
220
+ class QueueState {
221
+ items = new Map();
222
+ orderCounter = 0;
223
+ enqueue(item, id) {
224
+ const workId = id || `work-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
225
+ this.items.set(workId, { item, order: this.orderCounter++ });
226
+ return workId;
227
+ }
228
+ dequeue(workId) {
229
+ if (workId) {
230
+ const entry = this.items.get(workId);
231
+ if (entry) {
232
+ this.items.delete(workId);
233
+ return entry.item;
234
+ }
235
+ return undefined;
236
+ }
237
+ // Get oldest item
238
+ const oldest = this.getOldest();
239
+ if (oldest) {
240
+ this.items.delete(oldest.id);
241
+ return oldest.item;
242
+ }
243
+ return undefined;
244
+ }
245
+ peek() {
246
+ return this.getOldest();
247
+ }
248
+ getOldest() {
249
+ let oldestId;
250
+ let oldestOrder = Infinity;
251
+ for (const [id, { order }] of this.items.entries()) {
252
+ if (order < oldestOrder) {
253
+ oldestOrder = order;
254
+ oldestId = id;
255
+ }
256
+ }
257
+ if (oldestId) {
258
+ const entry = this.items.get(oldestId);
259
+ return entry ? { id: oldestId, item: entry.item } : undefined;
260
+ }
261
+ return undefined;
262
+ }
263
+ drop(workId) {
264
+ return this.items.delete(workId);
265
+ }
266
+ size() {
267
+ return this.items.size;
268
+ }
269
+ clear() {
270
+ this.items.clear();
271
+ }
272
+ getAllItems() {
273
+ return Array.from(this.items.entries()).map(([id, data]) => ({
274
+ id,
275
+ item: data.item,
276
+ order: data.order,
277
+ }));
278
+ }
279
+ }
280
+ //# sourceMappingURL=event-queue-unified.js.map