@farazirfan/costar-server-executor 1.7.36 → 1.7.38

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 (244) hide show
  1. package/dist/agent/agent.d.ts +90 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +606 -0
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/pi-embedded-runner/run.d.ts.map +1 -1
  6. package/dist/agent/pi-embedded-runner/run.js +2 -1
  7. package/dist/agent/pi-embedded-runner/run.js.map +1 -1
  8. package/dist/agent/pi-embedded-runner/system-prompt.d.ts.map +1 -1
  9. package/dist/agent/pi-embedded-runner/system-prompt.js +16 -37
  10. package/dist/agent/pi-embedded-runner/system-prompt.js.map +1 -1
  11. package/dist/agent/pi-embedded-runner/tools.d.ts +4 -1
  12. package/dist/agent/pi-embedded-runner/tools.d.ts.map +1 -1
  13. package/dist/agent/pi-embedded-runner/tools.js +3 -1
  14. package/dist/agent/pi-embedded-runner/tools.js.map +1 -1
  15. package/dist/agent/pi-embedded-runner/types.d.ts +4 -0
  16. package/dist/agent/pi-embedded-runner/types.d.ts.map +1 -1
  17. package/dist/cron/normalize.d.ts +31 -0
  18. package/dist/cron/normalize.d.ts.map +1 -0
  19. package/dist/cron/normalize.js +211 -0
  20. package/dist/cron/normalize.js.map +1 -0
  21. package/dist/cron/scheduler.d.ts +33 -3
  22. package/dist/cron/scheduler.d.ts.map +1 -1
  23. package/dist/cron/scheduler.js +253 -48
  24. package/dist/cron/scheduler.js.map +1 -1
  25. package/dist/heartbeat/runner.d.ts +27 -12
  26. package/dist/heartbeat/runner.d.ts.map +1 -1
  27. package/dist/heartbeat/runner.js +82 -104
  28. package/dist/heartbeat/runner.js.map +1 -1
  29. package/dist/infra/heartbeat-events-filter.d.ts +29 -0
  30. package/dist/infra/heartbeat-events-filter.d.ts.map +1 -0
  31. package/dist/infra/heartbeat-events-filter.js +80 -0
  32. package/dist/infra/heartbeat-events-filter.js.map +1 -0
  33. package/dist/infra/index.d.ts +9 -0
  34. package/dist/infra/index.d.ts.map +1 -0
  35. package/dist/infra/index.js +9 -0
  36. package/dist/infra/index.js.map +1 -0
  37. package/dist/infra/system-events.d.ts +58 -2
  38. package/dist/infra/system-events.d.ts.map +1 -1
  39. package/dist/infra/system-events.js +80 -14
  40. package/dist/infra/system-events.js.map +1 -1
  41. package/dist/server.d.ts.map +1 -1
  42. package/dist/server.js +2 -1
  43. package/dist/server.js.map +1 -1
  44. package/dist/subagent/registry.d.ts +96 -0
  45. package/dist/subagent/registry.d.ts.map +1 -0
  46. package/dist/subagent/registry.js +180 -0
  47. package/dist/subagent/registry.js.map +1 -0
  48. package/dist/tools/complete-turn.d.ts +2 -2
  49. package/dist/tools/complete-turn.js +10 -10
  50. package/dist/tools/complete-turn.js.map +1 -1
  51. package/dist/tools/contacts.d.ts +13 -0
  52. package/dist/tools/contacts.d.ts.map +1 -0
  53. package/dist/tools/contacts.js +80 -0
  54. package/dist/tools/contacts.js.map +1 -0
  55. package/dist/tools/cron.d.ts +17 -2
  56. package/dist/tools/cron.d.ts.map +1 -1
  57. package/dist/tools/cron.js +117 -35
  58. package/dist/tools/cron.js.map +1 -1
  59. package/dist/tools/google-maps.d.ts +6 -6
  60. package/dist/tools/google-maps.d.ts.map +1 -1
  61. package/dist/tools/google-maps.js +207 -262
  62. package/dist/tools/google-maps.js.map +1 -1
  63. package/dist/tools/index.d.ts +17 -7
  64. package/dist/tools/index.d.ts.map +1 -1
  65. package/dist/tools/index.js +40 -9
  66. package/dist/tools/index.js.map +1 -1
  67. package/dist/tools/phone-call.d.ts +11 -0
  68. package/dist/tools/phone-call.d.ts.map +1 -0
  69. package/dist/tools/phone-call.js +151 -0
  70. package/dist/tools/phone-call.js.map +1 -0
  71. package/dist/tools/sessions-spawn.d.ts +33 -0
  72. package/dist/tools/sessions-spawn.d.ts.map +1 -0
  73. package/dist/tools/sessions-spawn.js +164 -0
  74. package/dist/tools/sessions-spawn.js.map +1 -0
  75. package/dist/tools/spotify.d.ts +12 -0
  76. package/dist/tools/spotify.d.ts.map +1 -0
  77. package/dist/tools/spotify.js +251 -0
  78. package/dist/tools/spotify.js.map +1 -0
  79. package/dist/tools/subagents.d.ts +23 -0
  80. package/dist/tools/subagents.d.ts.map +1 -0
  81. package/dist/tools/subagents.js +209 -0
  82. package/dist/tools/subagents.js.map +1 -0
  83. package/dist/tools/whatsapp.d.ts +13 -0
  84. package/dist/tools/whatsapp.d.ts.map +1 -0
  85. package/dist/tools/whatsapp.js +215 -0
  86. package/dist/tools/whatsapp.js.map +1 -0
  87. package/dist/tools/youtube.d.ts +12 -0
  88. package/dist/tools/youtube.d.ts.map +1 -0
  89. package/dist/tools/youtube.js +218 -0
  90. package/dist/tools/youtube.js.map +1 -0
  91. package/dist/utils/asterizk-auth.d.ts +43 -0
  92. package/dist/utils/asterizk-auth.d.ts.map +1 -0
  93. package/dist/utils/asterizk-auth.js +125 -0
  94. package/dist/utils/asterizk-auth.js.map +1 -0
  95. package/dist/web-server.d.ts.map +1 -1
  96. package/dist/web-server.js +132 -0
  97. package/dist/web-server.js.map +1 -1
  98. package/dist/workspace/index.d.ts +3 -4
  99. package/dist/workspace/index.d.ts.map +1 -1
  100. package/dist/workspace/index.js +3 -4
  101. package/dist/workspace/index.js.map +1 -1
  102. package/dist/workspace/templates.d.ts +8 -7
  103. package/dist/workspace/templates.d.ts.map +1 -1
  104. package/dist/workspace/templates.js +18 -127
  105. package/dist/workspace/templates.js.map +1 -1
  106. package/dist/workspace/workspace.d.ts +2 -4
  107. package/dist/workspace/workspace.d.ts.map +1 -1
  108. package/dist/workspace/workspace.js +7 -16
  109. package/dist/workspace/workspace.js.map +1 -1
  110. package/package.json +1 -1
  111. package/public/index.html +232 -0
  112. package/skills/docx/SKILL.md +468 -0
  113. package/skills/docx/scripts/__init__.py +1 -0
  114. package/skills/docx/scripts/accept_changes.py +181 -0
  115. package/skills/docx/scripts/comment.py +347 -0
  116. package/skills/docx/scripts/helpers/__init__.py +0 -0
  117. package/skills/docx/scripts/helpers/merge_runs.py +231 -0
  118. package/skills/docx/scripts/helpers/simplify_redlines.py +240 -0
  119. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  120. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  121. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  122. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  123. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  124. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  125. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  126. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  127. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  128. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  129. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  130. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  131. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  132. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  133. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  134. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  135. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  136. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  137. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  138. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  139. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  140. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  141. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  142. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  143. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  144. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  145. package/skills/docx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  146. package/skills/docx/scripts/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  147. package/skills/docx/scripts/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  148. package/skills/docx/scripts/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  149. package/skills/docx/scripts/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  150. package/skills/docx/scripts/ooxml/schemas/mce/mc.xsd +75 -0
  151. package/skills/docx/scripts/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  152. package/skills/docx/scripts/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  153. package/skills/docx/scripts/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  154. package/skills/docx/scripts/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  155. package/skills/docx/scripts/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  156. package/skills/docx/scripts/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  157. package/skills/docx/scripts/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  158. package/skills/docx/scripts/ooxml/scripts/pack.py +159 -0
  159. package/skills/docx/scripts/ooxml/scripts/unpack.py +29 -0
  160. package/skills/docx/scripts/ooxml/scripts/validate.py +106 -0
  161. package/skills/docx/scripts/ooxml/scripts/validation/__init__.py +15 -0
  162. package/skills/docx/scripts/ooxml/scripts/validation/base.py +1023 -0
  163. package/skills/docx/scripts/ooxml/scripts/validation/docx.py +519 -0
  164. package/skills/docx/scripts/ooxml/scripts/validation/pptx.py +315 -0
  165. package/skills/docx/scripts/ooxml/scripts/validation/redlining.py +284 -0
  166. package/skills/docx/scripts/pack.py +166 -0
  167. package/skills/docx/scripts/templates/comments.xml +3 -0
  168. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  169. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  170. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  171. package/skills/docx/scripts/templates/people.xml +3 -0
  172. package/skills/docx/scripts/unpack.py +134 -0
  173. package/skills/longform-video-generation/SKILL.md +298 -0
  174. package/skills/longform-video-generation/references/advanced_techniques.md +474 -0
  175. package/skills/longform-video-generation/references/google_api_guide.md +288 -0
  176. package/skills/longform-video-generation/scripts/video_generator.py +579 -0
  177. package/skills/pdf/FORMS.md +305 -0
  178. package/skills/pdf/REFERENCE.md +612 -0
  179. package/skills/pdf/SKILL.md +293 -0
  180. package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  181. package/skills/pdf/scripts/check_fillable_fields.py +12 -0
  182. package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  183. package/skills/pdf/scripts/create_validation_image.py +41 -0
  184. package/skills/pdf/scripts/extract_form_field_info.py +152 -0
  185. package/skills/pdf/scripts/extract_form_structure.py +124 -0
  186. package/skills/pdf/scripts/fill_fillable_fields.py +116 -0
  187. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +136 -0
  188. package/skills/pptx/SKILL.md +171 -0
  189. package/skills/pptx/editing.md +205 -0
  190. package/skills/pptx/pptxgenjs.md +377 -0
  191. package/skills/pptx/scripts/add_slide.py +225 -0
  192. package/skills/pptx/scripts/clean.py +309 -0
  193. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  194. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  195. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  196. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  197. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  198. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  199. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  200. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  201. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  202. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  203. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  204. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  205. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  206. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  207. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  208. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  209. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  210. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  211. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  212. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  213. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  214. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  215. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  216. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  217. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  218. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  219. package/skills/pptx/scripts/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  220. package/skills/pptx/scripts/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  221. package/skills/pptx/scripts/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  222. package/skills/pptx/scripts/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  223. package/skills/pptx/scripts/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  224. package/skills/pptx/scripts/ooxml/schemas/mce/mc.xsd +75 -0
  225. package/skills/pptx/scripts/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  226. package/skills/pptx/scripts/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  227. package/skills/pptx/scripts/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  228. package/skills/pptx/scripts/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  229. package/skills/pptx/scripts/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  230. package/skills/pptx/scripts/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  231. package/skills/pptx/scripts/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  232. package/skills/pptx/scripts/ooxml/scripts/pack.py +159 -0
  233. package/skills/pptx/scripts/ooxml/scripts/unpack.py +29 -0
  234. package/skills/pptx/scripts/ooxml/scripts/validate.py +106 -0
  235. package/skills/pptx/scripts/ooxml/scripts/validation/__init__.py +15 -0
  236. package/skills/pptx/scripts/ooxml/scripts/validation/base.py +1023 -0
  237. package/skills/pptx/scripts/ooxml/scripts/validation/docx.py +519 -0
  238. package/skills/pptx/scripts/ooxml/scripts/validation/pptx.py +315 -0
  239. package/skills/pptx/scripts/ooxml/scripts/validation/redlining.py +284 -0
  240. package/skills/pptx/scripts/pack.py +168 -0
  241. package/skills/pptx/scripts/thumbnail.py +318 -0
  242. package/skills/pptx/scripts/unpack.py +86 -0
  243. package/skills/xlsx/SKILL.md +291 -0
  244. package/skills/xlsx/recalc.py +247 -0
@@ -1,17 +1,73 @@
1
+ /**
2
+ * CoStar Server Executor - System Events Queue
3
+ * Ported from OpenClaw's infra/system-events.ts
4
+ *
5
+ * Lightweight in-memory queue for human-readable system events that should be
6
+ * prefixed to the next prompt. We intentionally avoid persistence to keep
7
+ * events ephemeral. Events are session-scoped and require an explicit key.
8
+ *
9
+ * Key design principles (from OpenClaw):
10
+ * - In-memory only — events are lost on process restart
11
+ * - Session-scoped — each session has its own queue
12
+ * - Max 20 events per session (FIFO overflow)
13
+ * - Consecutive duplicate detection
14
+ * - Context key tracking for categorization (e.g., "cron:job-id")
15
+ * - Peek (read without consuming) + Drain (consume and clear)
16
+ */
1
17
  export type SystemEvent = {
2
18
  text: string;
3
19
  ts: number;
20
+ contextKey?: string | null;
4
21
  };
5
- type SystemEventOptions = {
22
+ export type SystemEventOptions = {
6
23
  sessionKey: string;
7
24
  contextKey?: string | null;
8
25
  };
26
+ /**
27
+ * Check if the context key has changed since the last enqueue.
28
+ * Pattern: OpenClaw's isSystemEventContextChanged
29
+ */
9
30
  export declare function isSystemEventContextChanged(sessionKey: string, contextKey?: string | null): boolean;
31
+ /**
32
+ * Enqueue a text event to a session queue.
33
+ * - Skips empty text
34
+ * - Skips consecutive duplicates (same text as last enqueue)
35
+ * - Tracks contextKey for categorization
36
+ * - FIFO overflow at MAX_EVENTS
37
+ *
38
+ * Pattern: OpenClaw's enqueueSystemEvent
39
+ */
10
40
  export declare function enqueueSystemEvent(text: string, options: SystemEventOptions): void;
41
+ /**
42
+ * Get all events and clear the queue (consume).
43
+ * Once drained, events are permanently removed and cannot be re-processed.
44
+ *
45
+ * Pattern: OpenClaw's drainSystemEventEntries
46
+ */
11
47
  export declare function drainSystemEventEntries(sessionKey: string): SystemEvent[];
48
+ /**
49
+ * Get all event texts and clear the queue.
50
+ * Pattern: OpenClaw's drainSystemEvents
51
+ */
12
52
  export declare function drainSystemEvents(sessionKey: string): string[];
53
+ /**
54
+ * View events without draining (read-only peek).
55
+ * Pattern: OpenClaw's peekSystemEventEntries
56
+ */
57
+ export declare function peekSystemEventEntries(sessionKey: string): SystemEvent[];
58
+ /**
59
+ * View event texts without draining.
60
+ * Pattern: OpenClaw's peekSystemEvents
61
+ */
13
62
  export declare function peekSystemEvents(sessionKey: string): string[];
63
+ /**
64
+ * Check if there are any pending events for a session.
65
+ * Pattern: OpenClaw's hasSystemEvents
66
+ */
14
67
  export declare function hasSystemEvents(sessionKey: string): boolean;
68
+ /**
69
+ * Clear all queues (for testing only).
70
+ * Pattern: OpenClaw's resetSystemEventsForTest
71
+ */
15
72
  export declare function resetSystemEventsForTest(): void;
16
- export {};
17
73
  //# sourceMappingURL=system-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-events.d.ts","sourceRoot":"","sources":["../../src/infra/system-events.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAYvD,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAiBF,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAKT;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,QAoB3E;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,CAUzE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAG7D;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,WAGjD;AAED,wBAAgB,wBAAwB,SAEvC"}
1
+ {"version":3,"file":"system-events.d.ts","sourceRoot":"","sources":["../../src/infra/system-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAYnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAqBF;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAKT;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CA+BlF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,CAYzE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,CAGxE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAE7D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -1,6 +1,19 @@
1
- // Lightweight in-memory queue for human-readable system events that should be
2
- // prefixed to the next prompt. We intentionally avoid persistence to keep
3
- // events ephemeral. Events are session-scoped and require an explicit key.
1
+ /**
2
+ * CoStar Server Executor - System Events Queue
3
+ * Ported from OpenClaw's infra/system-events.ts
4
+ *
5
+ * Lightweight in-memory queue for human-readable system events that should be
6
+ * prefixed to the next prompt. We intentionally avoid persistence to keep
7
+ * events ephemeral. Events are session-scoped and require an explicit key.
8
+ *
9
+ * Key design principles (from OpenClaw):
10
+ * - In-memory only — events are lost on process restart
11
+ * - Session-scoped — each session has its own queue
12
+ * - Max 20 events per session (FIFO overflow)
13
+ * - Consecutive duplicate detection
14
+ * - Context key tracking for categorization (e.g., "cron:job-id")
15
+ * - Peek (read without consuming) + Drain (consume and clear)
16
+ */
4
17
  const MAX_EVENTS = 20;
5
18
  const queues = new Map();
6
19
  function requireSessionKey(key) {
@@ -11,19 +24,34 @@ function requireSessionKey(key) {
11
24
  return trimmed;
12
25
  }
13
26
  function normalizeContextKey(key) {
14
- if (!key)
27
+ if (!key) {
15
28
  return null;
29
+ }
16
30
  const trimmed = key.trim();
17
- if (!trimmed)
31
+ if (!trimmed) {
18
32
  return null;
33
+ }
19
34
  return trimmed.toLowerCase();
20
35
  }
36
+ /**
37
+ * Check if the context key has changed since the last enqueue.
38
+ * Pattern: OpenClaw's isSystemEventContextChanged
39
+ */
21
40
  export function isSystemEventContextChanged(sessionKey, contextKey) {
22
41
  const key = requireSessionKey(sessionKey);
23
42
  const existing = queues.get(key);
24
43
  const normalized = normalizeContextKey(contextKey);
25
44
  return normalized !== (existing?.lastContextKey ?? null);
26
45
  }
46
+ /**
47
+ * Enqueue a text event to a session queue.
48
+ * - Skips empty text
49
+ * - Skips consecutive duplicates (same text as last enqueue)
50
+ * - Tracks contextKey for categorization
51
+ * - FIFO overflow at MAX_EVENTS
52
+ *
53
+ * Pattern: OpenClaw's enqueueSystemEvent
54
+ */
27
55
  export function enqueueSystemEvent(text, options) {
28
56
  const key = requireSessionKey(options?.sessionKey);
29
57
  const entry = queues.get(key) ??
@@ -37,21 +65,36 @@ export function enqueueSystemEvent(text, options) {
37
65
  return created;
38
66
  })();
39
67
  const cleaned = text.trim();
40
- if (!cleaned)
68
+ if (!cleaned) {
69
+ return;
70
+ }
71
+ const normalizedContextKey = normalizeContextKey(options?.contextKey);
72
+ entry.lastContextKey = normalizedContextKey;
73
+ if (entry.lastText === cleaned) {
41
74
  return;
42
- entry.lastContextKey = normalizeContextKey(options?.contextKey);
43
- if (entry.lastText === cleaned)
44
- return; // skip consecutive duplicates
75
+ } // skip consecutive duplicates
45
76
  entry.lastText = cleaned;
46
- entry.queue.push({ text: cleaned, ts: Date.now() });
47
- if (entry.queue.length > MAX_EVENTS)
77
+ entry.queue.push({
78
+ text: cleaned,
79
+ ts: Date.now(),
80
+ contextKey: normalizedContextKey,
81
+ });
82
+ if (entry.queue.length > MAX_EVENTS) {
48
83
  entry.queue.shift();
84
+ }
49
85
  }
86
+ /**
87
+ * Get all events and clear the queue (consume).
88
+ * Once drained, events are permanently removed and cannot be re-processed.
89
+ *
90
+ * Pattern: OpenClaw's drainSystemEventEntries
91
+ */
50
92
  export function drainSystemEventEntries(sessionKey) {
51
93
  const key = requireSessionKey(sessionKey);
52
94
  const entry = queues.get(key);
53
- if (!entry || entry.queue.length === 0)
95
+ if (!entry || entry.queue.length === 0) {
54
96
  return [];
97
+ }
55
98
  const out = entry.queue.slice();
56
99
  entry.queue.length = 0;
57
100
  entry.lastText = null;
@@ -59,17 +102,40 @@ export function drainSystemEventEntries(sessionKey) {
59
102
  queues.delete(key);
60
103
  return out;
61
104
  }
105
+ /**
106
+ * Get all event texts and clear the queue.
107
+ * Pattern: OpenClaw's drainSystemEvents
108
+ */
62
109
  export function drainSystemEvents(sessionKey) {
63
110
  return drainSystemEventEntries(sessionKey).map((event) => event.text);
64
111
  }
65
- export function peekSystemEvents(sessionKey) {
112
+ /**
113
+ * View events without draining (read-only peek).
114
+ * Pattern: OpenClaw's peekSystemEventEntries
115
+ */
116
+ export function peekSystemEventEntries(sessionKey) {
66
117
  const key = requireSessionKey(sessionKey);
67
- return queues.get(key)?.queue.map((e) => e.text) ?? [];
118
+ return queues.get(key)?.queue.map((event) => ({ ...event })) ?? [];
119
+ }
120
+ /**
121
+ * View event texts without draining.
122
+ * Pattern: OpenClaw's peekSystemEvents
123
+ */
124
+ export function peekSystemEvents(sessionKey) {
125
+ return peekSystemEventEntries(sessionKey).map((event) => event.text);
68
126
  }
127
+ /**
128
+ * Check if there are any pending events for a session.
129
+ * Pattern: OpenClaw's hasSystemEvents
130
+ */
69
131
  export function hasSystemEvents(sessionKey) {
70
132
  const key = requireSessionKey(sessionKey);
71
133
  return (queues.get(key)?.queue.length ?? 0) > 0;
72
134
  }
135
+ /**
136
+ * Clear all queues (for testing only).
137
+ * Pattern: OpenClaw's resetSystemEventsForTest
138
+ */
73
139
  export function resetSystemEventsForTest() {
74
140
  queues.clear();
75
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"system-events.js","sourceRoot":"","sources":["../../src/infra/system-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-events.js","sourceRoot":"","sources":["../../src/infra/system-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,UAAU,GAAG,EAAE,CAAC;AAQtB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;AAO/C,SAAS,iBAAiB,CAAC,GAAmB;IAC5C,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAmB;IAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,UAA0B;IAE1B,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACnD,OAAO,UAAU,KAAK,CAAC,QAAQ,EAAE,cAAc,IAAI,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAA2B;IAC1E,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,KAAK,GACT,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,CAAC,GAAG,EAAE;YACJ,MAAM,OAAO,GAAiB;gBAC5B,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE,IAAI;aACrB,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzB,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtE,KAAK,CAAC,cAAc,GAAG,oBAAoB,CAAC;IAC5C,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC,CAAC,8BAA8B;IAChC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,OAAO;QACb,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;QACd,UAAU,EAAE,oBAAoB;KACjC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QACpC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC;IACpD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAwBzD;AAyBD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAiBhD;AAyPD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CnE;AA6BD;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB1C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC;IACpD,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAwBzD;AAyBD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAiBhD;AA0PD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CnE;AA6BD;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB1C"}
package/dist/server.js CHANGED
@@ -209,7 +209,8 @@ async function initializeServer(config) {
209
209
  // Pattern: OpenClaw's buildGatewayCronService wires cron → heartbeat
210
210
  console.log("[SERVER] Starting cron scheduler...");
211
211
  state.cronScheduler = new CronScheduler(agentConfig, state.heartbeatRunner ?? undefined, state.agent ?? undefined);
212
- state.cronScheduler.start();
212
+ // start() is async (runs missed jobs on startup) but we don't block on it
213
+ void state.cronScheduler.start();
213
214
  console.log("[SERVER] Cron scheduler started");
214
215
  // 6. Get current version for update system and API
215
216
  const packageVersion = await getCurrentVersion();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * CoStar Server Executor - Subagent Registry
3
+ * Ported from OpenClaw's agents/subagent-registry.ts
4
+ *
5
+ * Differences from OpenClaw:
6
+ * - In-memory only (no disk persistence, no Supabase) — subagent runs are ephemeral
7
+ * - No gateway event listener (uses Promise completion instead)
8
+ * - No announce retry queue (single injectIsolatedResult call)
9
+ * - AbortController stored on each record for kill support
10
+ * - No multi-agent routing (single agent per user)
11
+ *
12
+ * Matched with OpenClaw:
13
+ * - Same SubagentRunRecord concept (simplified fields)
14
+ * - Same query functions (listRunsForRequester, countActiveRunsForSession)
15
+ * - Same target resolution (index, runId prefix, label)
16
+ * - Same archive cleanup (60 min default)
17
+ * - Same markTerminated pattern
18
+ */
19
+ export type SubagentRunStatus = "running" | "completed" | "failed" | "killed" | "timeout";
20
+ export type SubagentRunRecord = {
21
+ runId: string;
22
+ requesterSessionKey: string;
23
+ task: string;
24
+ label?: string;
25
+ status: SubagentRunStatus;
26
+ startedAt: number;
27
+ completedAt?: number;
28
+ outcome?: string;
29
+ error?: string;
30
+ durationMs?: number;
31
+ inputTokens?: number;
32
+ outputTokens?: number;
33
+ depth: number;
34
+ abortController: AbortController;
35
+ };
36
+ /**
37
+ * Register a new subagent run in the registry.
38
+ * (OpenClaw: subagent-registry.ts:507-552)
39
+ */
40
+ export declare function registerSubagentRun(record: SubagentRunRecord): void;
41
+ /**
42
+ * Mark a run as completed/failed/timeout with outcome details.
43
+ */
44
+ export declare function completeRun(runId: string, result: {
45
+ status: SubagentRunStatus;
46
+ outcome?: string;
47
+ error?: string;
48
+ durationMs?: number;
49
+ inputTokens?: number;
50
+ outputTokens?: number;
51
+ }): void;
52
+ /**
53
+ * Count active (status === "running") runs for a requester session.
54
+ * (OpenClaw: subagent-registry.ts:766-782)
55
+ */
56
+ export declare function countActiveRunsForSession(requesterSessionKey: string): number;
57
+ /**
58
+ * List all runs (active + recent) for a requester, sorted by startedAt desc.
59
+ * (OpenClaw: subagent-registry.ts:758-764)
60
+ */
61
+ export declare function listRunsForRequester(requesterSessionKey: string): SubagentRunRecord[];
62
+ /**
63
+ * Get a run by ID.
64
+ */
65
+ export declare function getRunById(runId: string): SubagentRunRecord | undefined;
66
+ /**
67
+ * Resolve a target to a SubagentRunRecord.
68
+ * Accepts: 1-based index (from active list), runId prefix, or label.
69
+ * (Ported from OpenClaw subagents-tool.ts:130-150)
70
+ */
71
+ export declare function resolveTarget(requesterSessionKey: string, target: string): SubagentRunRecord | undefined;
72
+ /**
73
+ * Kill a running subagent by aborting its AbortController.
74
+ * (OpenClaw: subagent-registry.ts:716-756 markSubagentRunTerminated)
75
+ */
76
+ export declare function killRun(runId: string): boolean;
77
+ /**
78
+ * Kill all active runs for a requester session.
79
+ * Returns count of killed runs and their labels.
80
+ */
81
+ export declare function killAllForSession(requesterSessionKey: string): {
82
+ killed: number;
83
+ labels: string[];
84
+ };
85
+ /**
86
+ * Remove completed/failed/killed records older than ARCHIVE_AFTER_MS.
87
+ * Called opportunistically on list/spawn operations.
88
+ * (OpenClaw: sweeper pattern from subagent-registry.ts)
89
+ */
90
+ export declare function cleanupArchive(): void;
91
+ /**
92
+ * Format duration in short human-readable form.
93
+ * (OpenClaw: subagent-announce.ts formatDurationShort)
94
+ */
95
+ export declare function formatRunDuration(startedAt: number, completedAt?: number): string;
96
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/subagent/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAaF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAKnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IACN,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,IAAI,CAgBN;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAW7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAQrF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,MAAM,GACb,iBAAiB,GAAG,SAAS,CA4B/B;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAa9C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAWnG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAOrC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAUjF"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * CoStar Server Executor - Subagent Registry
3
+ * Ported from OpenClaw's agents/subagent-registry.ts
4
+ *
5
+ * Differences from OpenClaw:
6
+ * - In-memory only (no disk persistence, no Supabase) — subagent runs are ephemeral
7
+ * - No gateway event listener (uses Promise completion instead)
8
+ * - No announce retry queue (single injectIsolatedResult call)
9
+ * - AbortController stored on each record for kill support
10
+ * - No multi-agent routing (single agent per user)
11
+ *
12
+ * Matched with OpenClaw:
13
+ * - Same SubagentRunRecord concept (simplified fields)
14
+ * - Same query functions (listRunsForRequester, countActiveRunsForSession)
15
+ * - Same target resolution (index, runId prefix, label)
16
+ * - Same archive cleanup (60 min default)
17
+ * - Same markTerminated pattern
18
+ */
19
+ // ---------- constants (from OpenClaw subagent-registry.ts:46-59) ----------
20
+ /** Archive window — clean up completed records older than this */
21
+ const ARCHIVE_AFTER_MS = 60 * 60 * 1000; // 60 minutes
22
+ // ---------- module-level state ----------
23
+ const subagentRuns = new Map();
24
+ // ---------- registry functions ----------
25
+ /**
26
+ * Register a new subagent run in the registry.
27
+ * (OpenClaw: subagent-registry.ts:507-552)
28
+ */
29
+ export function registerSubagentRun(record) {
30
+ subagentRuns.set(record.runId, record);
31
+ console.log(`[SUBAGENT-REGISTRY] Registered run ${record.runId}${record.label ? ` (${record.label})` : ""} — task: ${record.task.slice(0, 80)}`);
32
+ }
33
+ /**
34
+ * Mark a run as completed/failed/timeout with outcome details.
35
+ */
36
+ export function completeRun(runId, result) {
37
+ const entry = subagentRuns.get(runId);
38
+ if (!entry) {
39
+ console.warn(`[SUBAGENT-REGISTRY] completeRun: run not found: ${runId}`);
40
+ return;
41
+ }
42
+ entry.status = result.status;
43
+ entry.completedAt = Date.now();
44
+ entry.outcome = result.outcome;
45
+ entry.error = result.error;
46
+ entry.durationMs = result.durationMs;
47
+ entry.inputTokens = result.inputTokens;
48
+ entry.outputTokens = result.outputTokens;
49
+ console.log(`[SUBAGENT-REGISTRY] Run ${runId} ${result.status}${result.error ? `: ${result.error.slice(0, 100)}` : ""}`);
50
+ }
51
+ /**
52
+ * Count active (status === "running") runs for a requester session.
53
+ * (OpenClaw: subagent-registry.ts:766-782)
54
+ */
55
+ export function countActiveRunsForSession(requesterSessionKey) {
56
+ const key = requesterSessionKey.trim();
57
+ if (!key)
58
+ return 0;
59
+ let count = 0;
60
+ for (const entry of subagentRuns.values()) {
61
+ if (entry.requesterSessionKey !== key)
62
+ continue;
63
+ if (entry.status === "running") {
64
+ count += 1;
65
+ }
66
+ }
67
+ return count;
68
+ }
69
+ /**
70
+ * List all runs (active + recent) for a requester, sorted by startedAt desc.
71
+ * (OpenClaw: subagent-registry.ts:758-764)
72
+ */
73
+ export function listRunsForRequester(requesterSessionKey) {
74
+ const key = requesterSessionKey.trim();
75
+ if (!key)
76
+ return [];
77
+ // Opportunistic cleanup
78
+ cleanupArchive();
79
+ return [...subagentRuns.values()]
80
+ .filter((entry) => entry.requesterSessionKey === key)
81
+ .sort((a, b) => b.startedAt - a.startedAt);
82
+ }
83
+ /**
84
+ * Get a run by ID.
85
+ */
86
+ export function getRunById(runId) {
87
+ return subagentRuns.get(runId);
88
+ }
89
+ /**
90
+ * Resolve a target to a SubagentRunRecord.
91
+ * Accepts: 1-based index (from active list), runId prefix, or label.
92
+ * (Ported from OpenClaw subagents-tool.ts:130-150)
93
+ */
94
+ export function resolveTarget(requesterSessionKey, target) {
95
+ const runs = listRunsForRequester(requesterSessionKey);
96
+ const activeRuns = runs.filter((r) => r.status === "running");
97
+ // Try "all" — special case handled by caller
98
+ if (target === "all" || target === "*") {
99
+ return undefined; // Caller handles "all"
100
+ }
101
+ // Try as 1-based index into active list
102
+ const index = Number(target);
103
+ if (Number.isInteger(index) && index >= 1 && index <= activeRuns.length) {
104
+ return activeRuns[index - 1];
105
+ }
106
+ // Try as runId prefix
107
+ const byRunId = runs.find((r) => r.runId.startsWith(target));
108
+ if (byRunId)
109
+ return byRunId;
110
+ // Try as label (case-insensitive, most recent first — already sorted)
111
+ const lowerTarget = target.toLowerCase();
112
+ const byLabel = runs.find((r) => r.label?.toLowerCase() === lowerTarget ||
113
+ r.label?.toLowerCase().startsWith(lowerTarget));
114
+ if (byLabel)
115
+ return byLabel;
116
+ return undefined;
117
+ }
118
+ /**
119
+ * Kill a running subagent by aborting its AbortController.
120
+ * (OpenClaw: subagent-registry.ts:716-756 markSubagentRunTerminated)
121
+ */
122
+ export function killRun(runId) {
123
+ const entry = subagentRuns.get(runId);
124
+ if (!entry)
125
+ return false;
126
+ if (entry.status !== "running")
127
+ return false;
128
+ entry.abortController.abort();
129
+ entry.status = "killed";
130
+ entry.completedAt = Date.now();
131
+ entry.durationMs = entry.completedAt - entry.startedAt;
132
+ entry.error = "killed";
133
+ console.log(`[SUBAGENT-REGISTRY] Killed run ${runId}${entry.label ? ` (${entry.label})` : ""}`);
134
+ return true;
135
+ }
136
+ /**
137
+ * Kill all active runs for a requester session.
138
+ * Returns count of killed runs and their labels.
139
+ */
140
+ export function killAllForSession(requesterSessionKey) {
141
+ const runs = listRunsForRequester(requesterSessionKey);
142
+ const activeRuns = runs.filter((r) => r.status === "running");
143
+ const labels = [];
144
+ for (const run of activeRuns) {
145
+ killRun(run.runId);
146
+ labels.push(run.label || run.runId.slice(0, 8));
147
+ }
148
+ return { killed: activeRuns.length, labels };
149
+ }
150
+ /**
151
+ * Remove completed/failed/killed records older than ARCHIVE_AFTER_MS.
152
+ * Called opportunistically on list/spawn operations.
153
+ * (OpenClaw: sweeper pattern from subagent-registry.ts)
154
+ */
155
+ export function cleanupArchive() {
156
+ const cutoff = Date.now() - ARCHIVE_AFTER_MS;
157
+ for (const [runId, entry] of subagentRuns) {
158
+ if (entry.status !== "running" && entry.completedAt && entry.completedAt < cutoff) {
159
+ subagentRuns.delete(runId);
160
+ }
161
+ }
162
+ }
163
+ /**
164
+ * Format duration in short human-readable form.
165
+ * (OpenClaw: subagent-announce.ts formatDurationShort)
166
+ */
167
+ export function formatRunDuration(startedAt, completedAt) {
168
+ const endMs = completedAt ?? Date.now();
169
+ const ms = Math.max(0, endMs - startedAt);
170
+ const totalSeconds = Math.round(ms / 1000);
171
+ const hours = Math.floor(totalSeconds / 3600);
172
+ const minutes = Math.floor((totalSeconds % 3600) / 60);
173
+ const seconds = totalSeconds % 60;
174
+ if (hours > 0)
175
+ return `${hours}h${minutes}m`;
176
+ if (minutes > 0)
177
+ return `${minutes}m${seconds}s`;
178
+ return `${seconds}s`;
179
+ }
180
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/subagent/registry.ts"],"names":[],"mappings":"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"}
@@ -15,12 +15,12 @@ export type TurnSummary = {
15
15
  };
16
16
  /**
17
17
  * Get the last turn summary (called by heartbeat runner after the turn).
18
- * Returns null if the LLM never called complete_turn.
18
+ * Returns null if the LLM never called complete_task.
19
19
  */
20
20
  export declare function getLastTurnSummary(): TurnSummary | null;
21
21
  /**
22
22
  * Clear the turn summary (called before each new turn to reset state).
23
23
  */
24
24
  export declare function clearTurnSummary(): void;
25
- export declare function createCompleteTurnTool(): AnyAgentTool;
25
+ export declare function createCompleteTaskTool(): AnyAgentTool;
26
26
  //# sourceMappingURL=complete-turn.d.ts.map