@action-llama/action-llama 0.13.3 → 0.13.4

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 (158) hide show
  1. package/README.md +6 -6
  2. package/agent-docs/AGENTS.md +1 -1
  3. package/agent-docs/skills/resource-locks.md +40 -2
  4. package/dist/agents/container-entry.d.ts.map +1 -1
  5. package/dist/agents/container-entry.js +3 -1
  6. package/dist/agents/container-entry.js.map +1 -1
  7. package/dist/agents/execution-engine.d.ts.map +1 -1
  8. package/dist/agents/execution-engine.js +3 -1
  9. package/dist/agents/execution-engine.js.map +1 -1
  10. package/dist/agents/runner.d.ts.map +1 -1
  11. package/dist/agents/runner.js +3 -1
  12. package/dist/agents/runner.js.map +1 -1
  13. package/dist/build-info.json +1 -1
  14. package/dist/cli/commands/chat.js +6 -2
  15. package/dist/cli/commands/chat.js.map +1 -1
  16. package/dist/cli/commands/push.d.ts +1 -0
  17. package/dist/cli/commands/push.d.ts.map +1 -1
  18. package/dist/cli/commands/push.js +22 -4
  19. package/dist/cli/commands/push.js.map +1 -1
  20. package/dist/cli/commands/status.d.ts.map +1 -1
  21. package/dist/cli/commands/status.js +10 -5
  22. package/dist/cli/commands/status.js.map +1 -1
  23. package/dist/cli/main.js +3 -2
  24. package/dist/cli/main.js.map +1 -1
  25. package/dist/cloud/{vps/cloudflare-api.d.ts → cloudflare/api.d.ts} +1 -1
  26. package/dist/cloud/cloudflare/api.d.ts.map +1 -0
  27. package/dist/cloud/{vps/cloudflare-api.js → cloudflare/api.js} +1 -1
  28. package/dist/cloud/cloudflare/api.js.map +1 -0
  29. package/dist/cloud/provider.js +2 -2
  30. package/dist/cloud/provider.js.map +1 -1
  31. package/dist/cloud/vps/provider.d.ts +4 -4
  32. package/dist/cloud/vps/provider.d.ts.map +1 -1
  33. package/dist/cloud/vps/provider.js +4 -4
  34. package/dist/cloud/vps/provider.js.map +1 -1
  35. package/dist/cloud/vps/provision.js +4 -4
  36. package/dist/cloud/vps/provision.js.map +1 -1
  37. package/dist/cloud/vps/teardown.d.ts +2 -2
  38. package/dist/cloud/vps/teardown.d.ts.map +1 -1
  39. package/dist/cloud/vps/teardown.js +3 -3
  40. package/dist/cloud/vps/teardown.js.map +1 -1
  41. package/dist/cloud/vps/verify.js +2 -2
  42. package/dist/cloud/vps/verify.js.map +1 -1
  43. package/dist/credentials/builtins/cloudflare-api-token.js +1 -1
  44. package/dist/credentials/builtins/cloudflare-api-token.js.map +1 -1
  45. package/dist/gateway/auth.d.ts +6 -1
  46. package/dist/gateway/auth.d.ts.map +1 -1
  47. package/dist/gateway/auth.js +21 -4
  48. package/dist/gateway/auth.js.map +1 -1
  49. package/dist/gateway/index.d.ts +1 -0
  50. package/dist/gateway/index.d.ts.map +1 -1
  51. package/dist/gateway/index.js +13 -6
  52. package/dist/gateway/index.js.map +1 -1
  53. package/dist/gateway/lock-store.d.ts +17 -0
  54. package/dist/gateway/lock-store.d.ts.map +1 -1
  55. package/dist/gateway/lock-store.js +101 -28
  56. package/dist/gateway/lock-store.js.map +1 -1
  57. package/dist/gateway/routes/control.d.ts +3 -0
  58. package/dist/gateway/routes/control.d.ts.map +1 -1
  59. package/dist/gateway/routes/control.js +7 -0
  60. package/dist/gateway/routes/control.js.map +1 -1
  61. package/dist/gateway/routes/dashboard.d.ts +6 -1
  62. package/dist/gateway/routes/dashboard.d.ts.map +1 -1
  63. package/dist/gateway/routes/dashboard.js +37 -3
  64. package/dist/gateway/routes/dashboard.js.map +1 -1
  65. package/dist/gateway/routes/locks.d.ts.map +1 -1
  66. package/dist/gateway/routes/locks.js +7 -3
  67. package/dist/gateway/routes/locks.js.map +1 -1
  68. package/dist/gateway/routes/webhooks.d.ts.map +1 -1
  69. package/dist/gateway/routes/webhooks.js +0 -3
  70. package/dist/gateway/routes/webhooks.js.map +1 -1
  71. package/dist/gateway/session-store.d.ts +11 -0
  72. package/dist/gateway/session-store.d.ts.map +1 -0
  73. package/dist/gateway/session-store.js +33 -0
  74. package/dist/gateway/session-store.js.map +1 -0
  75. package/dist/gateway/types.d.ts +5 -0
  76. package/dist/gateway/types.d.ts.map +1 -1
  77. package/dist/remote/push.d.ts +15 -1
  78. package/dist/remote/push.d.ts.map +1 -1
  79. package/dist/remote/push.js +54 -3
  80. package/dist/remote/push.js.map +1 -1
  81. package/dist/scheduler/call-dispatcher.d.ts +11 -0
  82. package/dist/scheduler/call-dispatcher.d.ts.map +1 -0
  83. package/dist/scheduler/call-dispatcher.js +65 -0
  84. package/dist/scheduler/call-dispatcher.js.map +1 -0
  85. package/dist/scheduler/cron-setup.d.ts +41 -0
  86. package/dist/scheduler/cron-setup.d.ts.map +1 -0
  87. package/dist/scheduler/cron-setup.js +94 -0
  88. package/dist/scheduler/cron-setup.js.map +1 -0
  89. package/dist/scheduler/event-queue-sqlite.d.ts +27 -0
  90. package/dist/scheduler/event-queue-sqlite.d.ts.map +1 -0
  91. package/dist/scheduler/event-queue-sqlite.js +105 -0
  92. package/dist/scheduler/event-queue-sqlite.js.map +1 -0
  93. package/dist/scheduler/event-queue.d.ts +31 -9
  94. package/dist/scheduler/event-queue.d.ts.map +1 -1
  95. package/dist/scheduler/event-queue.js +21 -32
  96. package/dist/scheduler/event-queue.js.map +1 -1
  97. package/dist/scheduler/execution.d.ts +9 -2
  98. package/dist/scheduler/execution.d.ts.map +1 -1
  99. package/dist/scheduler/execution.js +64 -48
  100. package/dist/scheduler/execution.js.map +1 -1
  101. package/dist/scheduler/gateway-setup.d.ts +40 -0
  102. package/dist/scheduler/gateway-setup.d.ts.map +1 -0
  103. package/dist/scheduler/gateway-setup.js +135 -0
  104. package/dist/scheduler/gateway-setup.js.map +1 -0
  105. package/dist/scheduler/index.d.ts +4 -7
  106. package/dist/scheduler/index.d.ts.map +1 -1
  107. package/dist/scheduler/index.js +81 -437
  108. package/dist/scheduler/index.js.map +1 -1
  109. package/dist/scheduler/runner-setup.d.ts +34 -0
  110. package/dist/scheduler/runner-setup.d.ts.map +1 -0
  111. package/dist/scheduler/runner-setup.js +63 -0
  112. package/dist/scheduler/runner-setup.js.map +1 -0
  113. package/dist/scheduler/shutdown.d.ts +20 -0
  114. package/dist/scheduler/shutdown.d.ts.map +1 -0
  115. package/dist/scheduler/shutdown.js +38 -0
  116. package/dist/scheduler/shutdown.js.map +1 -0
  117. package/dist/scheduler/state.d.ts +17 -0
  118. package/dist/scheduler/state.d.ts.map +1 -0
  119. package/dist/scheduler/state.js +10 -0
  120. package/dist/scheduler/state.js.map +1 -0
  121. package/dist/scheduler/validation.d.ts +18 -0
  122. package/dist/scheduler/validation.d.ts.map +1 -0
  123. package/dist/scheduler/validation.js +59 -0
  124. package/dist/scheduler/validation.js.map +1 -0
  125. package/dist/scheduler/watcher.d.ts.map +1 -1
  126. package/dist/scheduler/watcher.js +31 -48
  127. package/dist/scheduler/watcher.js.map +1 -1
  128. package/dist/scheduler/webhook-setup.d.ts +18 -1
  129. package/dist/scheduler/webhook-setup.d.ts.map +1 -1
  130. package/dist/scheduler/webhook-setup.js +51 -0
  131. package/dist/scheduler/webhook-setup.js.map +1 -1
  132. package/dist/shared/config.d.ts +2 -3
  133. package/dist/shared/config.d.ts.map +1 -1
  134. package/dist/shared/config.js +0 -15
  135. package/dist/shared/config.js.map +1 -1
  136. package/dist/shared/queue-memory.d.ts +16 -0
  137. package/dist/shared/queue-memory.d.ts.map +1 -0
  138. package/dist/shared/queue-memory.js +28 -0
  139. package/dist/shared/queue-memory.js.map +1 -0
  140. package/dist/shared/queue-sqlite.d.ts +28 -0
  141. package/dist/shared/queue-sqlite.d.ts.map +1 -0
  142. package/dist/shared/queue-sqlite.js +86 -0
  143. package/dist/shared/queue-sqlite.js.map +1 -0
  144. package/dist/shared/queue.d.ts +55 -0
  145. package/dist/shared/queue.d.ts.map +1 -0
  146. package/dist/shared/queue.js +22 -0
  147. package/dist/shared/queue.js.map +1 -0
  148. package/dist/shared/server.d.ts +1 -0
  149. package/dist/shared/server.d.ts.map +1 -1
  150. package/dist/shared/server.js +3 -0
  151. package/dist/shared/server.js.map +1 -1
  152. package/package.json +2 -2
  153. package/dist/cloud/vps/cloudflare-api.d.ts.map +0 -1
  154. package/dist/cloud/vps/cloudflare-api.js.map +0 -1
  155. package/dist/gateway/rate-limiter.d.ts +0 -16
  156. package/dist/gateway/rate-limiter.d.ts.map +0 -1
  157. package/dist/gateway/rate-limiter.js +0 -38
  158. package/dist/gateway/rate-limiter.js.map +0 -1
@@ -100,7 +100,7 @@ async function checkDns(server, mode) {
100
100
  if (!cfToken) {
101
101
  return { name: "DNS", status: "warn", detail: "no Cloudflare API token credential", fixable: false };
102
102
  }
103
- const { findDnsRecord, upsertDnsRecord } = await import("./cloudflare-api.js");
103
+ const { findDnsRecord, upsertDnsRecord } = await import("../cloudflare/api.js");
104
104
  const hostname = server.cloudflareHostname;
105
105
  const zoneId = server.cloudflareZoneId;
106
106
  const record = await findDnsRecord(cfToken, zoneId, hostname);
@@ -135,7 +135,7 @@ async function checkSslMode(server, mode) {
135
135
  if (!cfToken) {
136
136
  return { name: "Cloudflare SSL", status: "warn", detail: "no Cloudflare API token credential", fixable: false };
137
137
  }
138
- const { getSslMode, setSslMode } = await import("./cloudflare-api.js");
138
+ const { getSslMode, setSslMode } = await import("../cloudflare/api.js");
139
139
  const zoneId = server.cloudflareZoneId;
140
140
  const current = await getSslMode(cfToken, zoneId);
141
141
  if (current === "strict") {
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cloud/vps/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cloud/vps/verify.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const cloudflareApiToken = {
9
9
  envVars: { api_token: "CLOUDFLARE_API_TOKEN" },
10
10
  agentContext: "`CLOUDFLARE_API_TOKEN` — Cloudflare API access (provisioning only, not typically needed by agents)",
11
11
  async validate(values) {
12
- const { verifyToken } = await import("../../cloud/vps/cloudflare-api.js");
12
+ const { verifyToken } = await import("../../cloud/cloudflare/api.js");
13
13
  const active = await verifyToken(values.api_token);
14
14
  if (!active) {
15
15
  throw new Error("Cloudflare API token is not active");
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-api-token.js","sourceRoot":"","sources":["../../../src/credentials/builtins/cloudflare-api-token.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAyB;IAC/C,EAAE,EAAE,sBAAsB;IAC1B,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,qFAAqF;IAClG,OAAO,EAAE,gDAAgD;IACzD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,uEAAuE,EAAE,MAAM,EAAE,IAAI,EAAE;KAC9I;IACD,OAAO,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;IAC9C,YAAY,EAAE,oGAAoG;IAElH,KAAK,CAAC,QAAQ,CAAC,MAAM;QACnB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"cloudflare-api-token.js","sourceRoot":"","sources":["../../../src/credentials/builtins/cloudflare-api-token.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAyB;IAC/C,EAAE,EAAE,sBAAsB;IAC1B,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,qFAAqF;IAClG,OAAO,EAAE,gDAAgD;IACzD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,uEAAuE,EAAE,MAAM,EAAE,IAAI,EAAE;KAC9I;IACD,OAAO,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;IAC9C,YAAY,EAAE,oGAAoG;IAElH,KAAK,CAAC,QAAQ,CAAC,MAAM;QACnB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Context, Next } from "hono";
2
+ import type { SessionStore } from "./session-store.js";
2
3
  /**
3
4
  * Timing-safe string comparison.
4
5
  */
@@ -8,9 +9,13 @@ export declare function safeCompare(a: string, b: string): boolean;
8
9
  * 1. `Authorization: Bearer <key>` header (CLI / programmatic)
9
10
  * 2. `al_session` cookie (browser / Web UI)
10
11
  *
12
+ * When a SessionStore is provided, the cookie value is treated as an opaque
13
+ * session ID looked up server-side. Without a SessionStore, the cookie value
14
+ * is compared directly to the API key (backward compatibility).
15
+ *
11
16
  * Browser HTML requests to protected paths are redirected to /login on 401.
12
17
  */
13
- export declare function authMiddleware(apiKey: string): (c: Context, next: Next) => Promise<(Response & import("hono").TypedResponse<undefined, 302, "redirect">) | (Response & import("hono").TypedResponse<{
18
+ export declare function authMiddleware(apiKey: string, sessionStore?: SessionStore): (c: Context, next: Next) => Promise<(Response & import("hono").TypedResponse<undefined, 302, "redirect">) | (Response & import("hono").TypedResponse<{
14
19
  error: string;
15
20
  }, 401, "json">) | undefined>;
16
21
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/gateway/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG1C;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAKzD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,IAC7B,GAAG,OAAO,EAAE,MAAM,IAAI;;8BA0BrC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/gateway/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAKzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,IAC1D,GAAG,OAAO,EAAE,MAAM,IAAI;;8BAsCrC"}
@@ -14,9 +14,13 @@ export function safeCompare(a, b) {
14
14
  * 1. `Authorization: Bearer <key>` header (CLI / programmatic)
15
15
  * 2. `al_session` cookie (browser / Web UI)
16
16
  *
17
+ * When a SessionStore is provided, the cookie value is treated as an opaque
18
+ * session ID looked up server-side. Without a SessionStore, the cookie value
19
+ * is compared directly to the API key (backward compatibility).
20
+ *
17
21
  * Browser HTML requests to protected paths are redirected to /login on 401.
18
22
  */
19
- export function authMiddleware(apiKey) {
23
+ export function authMiddleware(apiKey, sessionStore) {
20
24
  return async (c, next) => {
21
25
  // 1. Check Bearer token
22
26
  const authHeader = c.req.header("Authorization");
@@ -30,9 +34,22 @@ export function authMiddleware(apiKey) {
30
34
  // 2. Check session cookie
31
35
  const cookie = parseCookie(c.req.header("Cookie") || "");
32
36
  const sessionToken = cookie["al_session"];
33
- if (sessionToken && safeCompare(sessionToken, apiKey)) {
34
- await next();
35
- return;
37
+ if (sessionToken) {
38
+ if (sessionStore) {
39
+ // Session store present: validate as opaque session ID
40
+ const session = await sessionStore.getSession(sessionToken);
41
+ if (session) {
42
+ await next();
43
+ return;
44
+ }
45
+ }
46
+ else {
47
+ // Backward compatibility: compare cookie value directly to API key
48
+ if (safeCompare(sessionToken, apiKey)) {
49
+ await next();
50
+ return;
51
+ }
52
+ }
36
53
  }
37
54
  // 401 — redirect browsers to login page, return JSON for API clients
38
55
  const accept = c.req.header("Accept") || "";
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/gateway/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,KAAK,EAAE,CAAU,EAAE,IAAU,EAAE,EAAE;QACtC,wBAAwB;QACxB,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,YAAY,IAAI,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/gateway/auth.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export interface GatewayOptions {
27
27
  controlDeps?: ControlRoutesDeps;
28
28
  apiKey?: string;
29
29
  stateStore?: StateStore;
30
+ skipStatusEndpoint?: boolean;
30
31
  /** Optional event bus for lifecycle instrumentation. */
31
32
  events?: SchedulerEventBus;
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,wDAAwD;IACxD,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAgK/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wDAAwD;IACxD,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAqK/E"}
@@ -9,6 +9,7 @@ import { registerSignalRoutes } from "./routes/signals.js";
9
9
  import { LockStore } from "./lock-store.js";
10
10
  import { CallStore } from "./call-store.js";
11
11
  import { ContainerRegistry } from "./container-registry.js";
12
+ import { SessionStore } from "./session-store.js";
12
13
  import { withSpan, getTelemetry } from "../telemetry/index.js";
13
14
  import { SpanKind } from "@opentelemetry/api";
14
15
  import { authMiddleware } from "./auth.js";
@@ -71,16 +72,17 @@ export async function startGateway(opts) {
71
72
  registerShutdownRoute(app, containerRegistry, killFn, logger);
72
73
  // Apply auth middleware to protected routes when an API key is configured
73
74
  if (opts.apiKey) {
74
- const auth = authMiddleware(opts.apiKey);
75
+ const sessionStore = stateStore ? new SessionStore(stateStore) : undefined;
76
+ const auth = authMiddleware(opts.apiKey, sessionStore);
75
77
  app.use("/control/*", auth);
76
78
  app.use("/dashboard/*", auth);
77
79
  app.use("/dashboard", auth);
78
80
  app.use("/locks/status", auth);
79
81
  app.use("/api/logs/*", auth);
80
82
  // Always register login/logout so the auth redirect has a target
81
- registerLoginRoutes(app, opts.apiKey);
83
+ registerLoginRoutes(app, opts.apiKey, sessionStore);
82
84
  }
83
- registerLockRoutes(app, containerRegistry, lockStore, logger, { events: opts.events });
85
+ registerLockRoutes(app, containerRegistry, lockStore, logger, { skipStatusEndpoint: opts.skipStatusEndpoint, events: opts.events });
84
86
  registerCallRoutes(app, containerRegistry, callStore, () => callDispatcher, logger, opts.events);
85
87
  // Signal routes
86
88
  registerSignalRoutes(app, containerRegistry, logger, statusTracker, signalContext, opts.events);
@@ -90,8 +92,13 @@ export async function startGateway(opts) {
90
92
  }
91
93
  // Dashboard routes (login/logout are unprotected; dashboard pages are behind authMiddleware above)
92
94
  if (webUI && statusTracker) {
93
- registerDashboardRoutes(app, statusTracker, projectPath, opts.apiKey);
94
- app.get("/", (c) => c.redirect("/dashboard"));
95
+ if (!opts.apiKey) {
96
+ logger.error("Dashboard UI requested but no API key configured. Dashboard will not be enabled for security.");
97
+ }
98
+ else {
99
+ registerDashboardRoutes(app, statusTracker, projectPath, opts.apiKey);
100
+ app.get("/", (c) => c.redirect("/dashboard"));
101
+ }
95
102
  }
96
103
  // Log API routes — available regardless of webUI flag (CLI needs them)
97
104
  if (projectPath) {
@@ -99,7 +106,7 @@ export async function startGateway(opts) {
99
106
  registerLogRoutes(app, projectPath);
100
107
  // Warn if log endpoints are exposed without authentication
101
108
  if (!opts.apiKey) {
102
- logger.warn("Log endpoints are exposed without authentication. Consider setting up a gateway API key for security.");
109
+ logger.warn("Log and dashboard endpoints are exposed without authentication. Consider setting up a gateway API key for security.");
103
110
  }
104
111
  }
105
112
  // Control routes (for kill, pause, resume commands)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface AcquireResult {
10
10
  holder?: string;
11
11
  heldSince?: number;
12
12
  reason?: string;
13
+ deadlock?: boolean;
14
+ cycle?: string[];
13
15
  }
14
16
  export interface ReleaseResult {
15
17
  ok: boolean;
@@ -23,6 +25,7 @@ export interface HeartbeatResult {
23
25
  export declare class LockStore {
24
26
  private locks;
25
27
  private holderLocks;
28
+ private waitingFor;
26
29
  private sweepTimer;
27
30
  private defaultTTL;
28
31
  private store?;
@@ -34,9 +37,23 @@ export declare class LockStore {
34
37
  heartbeat(resourceKey: string, holder: string, ttlSeconds?: number): HeartbeatResult;
35
38
  releaseAll(holder: string): number;
36
39
  list(holder?: string): LockEntry[];
40
+ /**
41
+ * Detect a deadlock cycle if `holder` tries to acquire `targetResource`.
42
+ *
43
+ * Follows the wait-for graph: holder wants targetResource (held by B),
44
+ * B is waiting for something (held by C), ... until we reach holder again
45
+ * (cycle) or a dead end (no cycle).
46
+ *
47
+ * Returns the cycle path as alternating [holder, resource, holder, resource, ...]
48
+ * or null if no cycle exists.
49
+ */
50
+ private detectCycle;
51
+ private addHolderLock;
52
+ private removeHolderLock;
37
53
  private sweep;
38
54
  private persistSet;
39
55
  private persistDelete;
56
+ private persistHolderIndex;
40
57
  dispose(): void;
41
58
  }
42
59
  //# sourceMappingURL=lock-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lock-store.d.ts","sourceRoot":"","sources":["../../src/gateway/lock-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAa;gBAEf,iBAAiB,SAAO,EAAE,oBAAoB,SAAK,EAAE,KAAK,CAAC,EAAE,UAAU;IAOnF,yDAAyD;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa;IAwChF,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAoB3D,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe;IAkBpF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAalC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE;IAWlC,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,aAAa;IAKrB,OAAO,IAAI,IAAI;CAQhB"}
1
+ {"version":3,"file":"lock-store.d.ts","sourceRoot":"","sources":["../../src/gateway/lock-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAa;gBAEf,iBAAiB,SAAO,EAAE,oBAAoB,SAAK,EAAE,KAAK,CAAC,EAAE,UAAU;IAOnF,yDAAyD;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa;IAuChF,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAoB3D,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe;IAkBpF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAgBlC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE;IAWlC;;;;;;;;;OASG;IACH,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,KAAK;IAiBb,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,IAAI,IAAI;CAShB"}
@@ -2,7 +2,8 @@ const NS_LOCKS = "locks";
2
2
  const NS_HOLDERS = "lock-holders";
3
3
  export class LockStore {
4
4
  locks = new Map();
5
- holderLocks = new Map(); // holder -> resourceKey
5
+ holderLocks = new Map(); // holder -> resourceKeys
6
+ waitingFor = new Map(); // holder -> resourceKey they failed to acquire
6
7
  sweepTimer;
7
8
  defaultTTL;
8
9
  store;
@@ -22,44 +23,43 @@ export class LockStore {
22
23
  for (const { value } of entries) {
23
24
  if (now < value.expiresAt) {
24
25
  this.locks.set(value.resourceKey, value);
25
- this.holderLocks.set(value.holder, value.resourceKey);
26
+ this.addHolderLock(value.holder, value.resourceKey);
26
27
  }
27
28
  }
28
29
  }
29
30
  acquire(resourceKey, holder, ttlSeconds) {
30
31
  const existing = this.locks.get(resourceKey);
31
- // Check if this holder already holds a different lock
32
- const existingHolderKey = this.holderLocks.get(holder);
33
- if (existingHolderKey && existingHolderKey !== resourceKey) {
34
- const existingHolderLock = this.locks.get(existingHolderKey);
35
- if (existingHolderLock && Date.now() < existingHolderLock.expiresAt) {
36
- return {
37
- ok: false,
38
- reason: `already holding lock on ${existingHolderLock.resourceKey} — release it first`,
39
- };
40
- }
41
- // Expired — clean up
42
- this.locks.delete(existingHolderKey);
43
- this.holderLocks.delete(holder);
44
- this.persistDelete(existingHolderKey, holder);
45
- }
46
32
  if (existing) {
47
33
  if (Date.now() >= existing.expiresAt) {
48
34
  // Expired — evict
49
- this.holderLocks.delete(existing.holder);
35
+ this.removeHolderLock(existing.holder, resourceKey);
50
36
  this.locks.delete(resourceKey);
51
37
  this.persistDelete(resourceKey, existing.holder);
52
38
  }
53
39
  else if (existing.holder !== holder) {
40
+ // Resource held by another — check for deadlock cycle
41
+ const cycle = this.detectCycle(holder, resourceKey);
42
+ if (cycle) {
43
+ this.waitingFor.set(holder, resourceKey);
44
+ return {
45
+ ok: false,
46
+ reason: `possible deadlock: ${[...cycle, cycle[0]].join(" \u2192 ")}`,
47
+ deadlock: true,
48
+ cycle,
49
+ };
50
+ }
51
+ this.waitingFor.set(holder, resourceKey);
54
52
  return { ok: false, holder: existing.holder, heldSince: existing.heldSince };
55
53
  }
56
54
  // Same holder re-acquiring — refresh below
57
55
  }
56
+ // Acquired — clear waiting state
57
+ this.waitingFor.delete(holder);
58
58
  const now = Date.now();
59
59
  const ttl = ttlSeconds ? ttlSeconds * 1000 : this.defaultTTL;
60
60
  const entry = { resourceKey, holder, heldSince: now, expiresAt: now + ttl };
61
61
  this.locks.set(resourceKey, entry);
62
- this.holderLocks.set(holder, resourceKey);
62
+ this.addHolderLock(holder, resourceKey);
63
63
  this.persistSet(entry);
64
64
  return { ok: true };
65
65
  }
@@ -67,8 +67,7 @@ export class LockStore {
67
67
  const existing = this.locks.get(resourceKey);
68
68
  if (!existing || Date.now() >= existing.expiresAt) {
69
69
  this.locks.delete(resourceKey);
70
- if (this.holderLocks.get(holder) === resourceKey)
71
- this.holderLocks.delete(holder);
70
+ this.removeHolderLock(holder, resourceKey);
72
71
  this.persistDelete(resourceKey, holder);
73
72
  return { ok: false, reason: "lock not found" };
74
73
  }
@@ -76,7 +75,7 @@ export class LockStore {
76
75
  return { ok: false, reason: `held by ${existing.holder}` };
77
76
  }
78
77
  this.locks.delete(resourceKey);
79
- this.holderLocks.delete(holder);
78
+ this.removeHolderLock(holder, resourceKey);
80
79
  this.persistDelete(resourceKey, holder);
81
80
  return { ok: true };
82
81
  }
@@ -96,14 +95,17 @@ export class LockStore {
96
95
  }
97
96
  releaseAll(holder) {
98
97
  let count = 0;
99
- for (const [rk, entry] of this.locks) {
100
- if (entry.holder === holder) {
98
+ const holderKeys = this.holderLocks.get(holder);
99
+ if (holderKeys) {
100
+ for (const rk of holderKeys) {
101
101
  this.locks.delete(rk);
102
- this.persistDelete(rk, holder);
102
+ this.store?.delete(NS_LOCKS, rk).catch(() => { });
103
103
  count++;
104
104
  }
105
105
  }
106
106
  this.holderLocks.delete(holder);
107
+ this.waitingFor.delete(holder);
108
+ this.store?.delete(NS_HOLDERS, holder).catch(() => { });
107
109
  return count;
108
110
  }
109
111
  list(holder) {
@@ -118,24 +120,94 @@ export class LockStore {
118
120
  }
119
121
  return result;
120
122
  }
123
+ /**
124
+ * Detect a deadlock cycle if `holder` tries to acquire `targetResource`.
125
+ *
126
+ * Follows the wait-for graph: holder wants targetResource (held by B),
127
+ * B is waiting for something (held by C), ... until we reach holder again
128
+ * (cycle) or a dead end (no cycle).
129
+ *
130
+ * Returns the cycle path as alternating [holder, resource, holder, resource, ...]
131
+ * or null if no cycle exists.
132
+ */
133
+ detectCycle(holder, targetResource) {
134
+ const visited = new Set([holder]);
135
+ const path = [holder, targetResource];
136
+ let currentResource = targetResource;
137
+ for (;;) {
138
+ const lock = this.locks.get(currentResource);
139
+ if (!lock || Date.now() >= lock.expiresAt)
140
+ return null;
141
+ const blocker = lock.holder;
142
+ if (blocker === holder)
143
+ return path; // cycle back to the requesting holder
144
+ if (visited.has(blocker))
145
+ return null; // cycle doesn't involve the requesting holder
146
+ visited.add(blocker);
147
+ path.push(blocker);
148
+ const waitingResource = this.waitingFor.get(blocker);
149
+ if (!waitingResource)
150
+ return null;
151
+ path.push(waitingResource);
152
+ currentResource = waitingResource;
153
+ }
154
+ }
155
+ addHolderLock(holder, resourceKey) {
156
+ let keys = this.holderLocks.get(holder);
157
+ if (!keys) {
158
+ keys = new Set();
159
+ this.holderLocks.set(holder, keys);
160
+ }
161
+ keys.add(resourceKey);
162
+ }
163
+ removeHolderLock(holder, resourceKey) {
164
+ const keys = this.holderLocks.get(holder);
165
+ if (keys) {
166
+ keys.delete(resourceKey);
167
+ if (keys.size === 0)
168
+ this.holderLocks.delete(holder);
169
+ }
170
+ }
121
171
  sweep() {
122
172
  const now = Date.now();
123
173
  for (const [rk, entry] of this.locks) {
124
174
  if (now >= entry.expiresAt) {
125
- this.holderLocks.delete(entry.holder);
175
+ this.removeHolderLock(entry.holder, rk);
126
176
  this.locks.delete(rk);
127
177
  this.persistDelete(rk, entry.holder);
128
178
  }
129
179
  }
180
+ // Clean up stale waiting-for entries where the holder no longer holds locks
181
+ for (const [holder] of this.waitingFor) {
182
+ if (!this.holderLocks.has(holder)) {
183
+ this.waitingFor.delete(holder);
184
+ }
185
+ }
130
186
  }
131
187
  persistSet(entry) {
132
188
  const ttlSec = Math.max(1, Math.ceil((entry.expiresAt - Date.now()) / 1000));
133
189
  this.store?.set(NS_LOCKS, entry.resourceKey, entry, { ttl: ttlSec }).catch(() => { });
134
- this.store?.set(NS_HOLDERS, entry.holder, entry.resourceKey, { ttl: ttlSec }).catch(() => { });
190
+ this.persistHolderIndex(entry.holder);
135
191
  }
136
192
  persistDelete(resourceKey, holder) {
137
193
  this.store?.delete(NS_LOCKS, resourceKey).catch(() => { });
138
- this.store?.delete(NS_HOLDERS, holder).catch(() => { });
194
+ this.persistHolderIndex(holder);
195
+ }
196
+ persistHolderIndex(holder) {
197
+ const keys = this.holderLocks.get(holder);
198
+ if (!keys || keys.size === 0) {
199
+ this.store?.delete(NS_HOLDERS, holder).catch(() => { });
200
+ return;
201
+ }
202
+ // Use the max remaining TTL across all held locks
203
+ let maxExpiry = 0;
204
+ for (const rk of keys) {
205
+ const lock = this.locks.get(rk);
206
+ if (lock)
207
+ maxExpiry = Math.max(maxExpiry, lock.expiresAt);
208
+ }
209
+ const ttlSec = Math.max(1, Math.ceil((maxExpiry - Date.now()) / 1000));
210
+ this.store?.set(NS_HOLDERS, holder, [...keys], { ttl: ttlSec }).catch(() => { });
139
211
  }
140
212
  dispose() {
141
213
  if (this.sweepTimer) {
@@ -144,6 +216,7 @@ export class LockStore {
144
216
  }
145
217
  this.locks.clear();
146
218
  this.holderLocks.clear();
219
+ this.waitingFor.clear();
147
220
  }
148
221
  }
149
222
  //# sourceMappingURL=lock-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lock-store.js","sourceRoot":"","sources":["../../src/gateway/lock-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock-store.js","sourceRoot":"","sources":["../../src/gateway/lock-store.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,9 @@ export interface ControlRoutesDeps {
14
14
  disableAgent?: (name: string) => Promise<boolean>;
15
15
  stopScheduler?: () => Promise<void>;
16
16
  logger?: Logger;
17
+ workQueue?: {
18
+ size(agentName: string): number;
19
+ };
17
20
  }
18
21
  export declare function registerControlRoutes(app: Hono, deps: ControlRoutesDeps): void;
19
22
  //# sourceMappingURL=control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../../src/gateway/routes/control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAChE,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,QAyNvE"}
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../../src/gateway/routes/control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAChE,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,QAiOvE"}
@@ -207,11 +207,18 @@ export function registerControlRoutes(app, deps) {
207
207
  const schedulerInfo = statusTracker.getSchedulerInfo();
208
208
  const instances = statusTracker.getInstances();
209
209
  const agents = statusTracker.getAllAgents();
210
+ const queueSizes = {};
211
+ if (deps.workQueue) {
212
+ for (const agent of agents) {
213
+ queueSizes[agent.name] = deps.workQueue.size(agent.name);
214
+ }
215
+ }
210
216
  return c.json({
211
217
  scheduler: schedulerInfo,
212
218
  instances,
213
219
  agents,
214
220
  running: instances.length,
221
+ queueSizes,
215
222
  });
216
223
  });
217
224
  }