@monotykamary/localterm-server 1.35.1 → 1.37.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 (41) hide show
  1. package/dist/automation-scheduler.d.ts.map +1 -1
  2. package/dist/automation-scheduler.js +3 -2
  3. package/dist/automation-scheduler.js.map +1 -1
  4. package/dist/caffeinate-preferences-store.d.ts.map +1 -1
  5. package/dist/caffeinate-preferences-store.js +6 -17
  6. package/dist/caffeinate-preferences-store.js.map +1 -1
  7. package/dist/constants.d.ts +1 -0
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js +6 -0
  10. package/dist/constants.js.map +1 -1
  11. package/dist/git-diff.d.ts.map +1 -1
  12. package/dist/git-diff.js +17 -37
  13. package/dist/git-diff.js.map +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +53 -7
  16. package/dist/index.js.map +1 -1
  17. package/dist/protocol.d.ts +2 -2
  18. package/dist/protocol.d.ts.map +1 -1
  19. package/dist/protocol.js +1 -1
  20. package/dist/protocol.js.map +1 -1
  21. package/dist/schemas.d.ts +96 -0
  22. package/dist/schemas.d.ts.map +1 -1
  23. package/dist/schemas.js +16 -4
  24. package/dist/schemas.js.map +1 -1
  25. package/dist/session-event-manager.d.ts +26 -0
  26. package/dist/session-event-manager.d.ts.map +1 -0
  27. package/dist/session-event-manager.js +125 -0
  28. package/dist/session-event-manager.js.map +1 -0
  29. package/dist/types.d.ts +2 -1
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/utils/compile-schedule.d.ts.map +1 -1
  32. package/dist/utils/compile-schedule.js +6 -12
  33. package/dist/utils/compile-schedule.js.map +1 -1
  34. package/dist/utils/memo-by.d.ts +2 -0
  35. package/dist/utils/memo-by.d.ts.map +1 -0
  36. package/dist/utils/memo-by.js +13 -0
  37. package/dist/utils/memo-by.js.map +1 -0
  38. package/dist/utils/reconcile-downtime.d.ts.map +1 -1
  39. package/dist/utils/reconcile-downtime.js +4 -2
  40. package/dist/utils/reconcile-downtime.js.map +1 -1
  41. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-event-manager.d.ts","sourceRoot":"","sources":["../src/session-event-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,UAAU,yBAAyB;IACjC,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;CAC/B;AAED,KAAK,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,CAAC;AAYrF,qBAAa,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IAK5E,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAS;gBAGN,OAAO,EAAE;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;QACjD,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAAC;KAC5D;IAKH,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAkBrC,cAAc,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAiBrE,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAa7C,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,SAAS;CAclB"}
@@ -0,0 +1,125 @@
1
+ import { EventEmitter } from "node:events";
2
+ import path from "node:path";
3
+ const signatureOf = (automation) => automation.trigger.kind === "event" ? `${automation.trigger.event}:${automation.cwd}` : "";
4
+ export class SessionEventManager extends EventEmitter {
5
+ options;
6
+ entries = new Map();
7
+ disposed = false;
8
+ constructor(options) {
9
+ super();
10
+ this.options = options;
11
+ }
12
+ sync(automations) {
13
+ if (this.disposed)
14
+ return;
15
+ const desired = new Map();
16
+ for (const automation of automations) {
17
+ if (!automation.enabled)
18
+ continue;
19
+ if (automation.lifecycle !== "active")
20
+ continue;
21
+ if (automation.trigger.kind !== "event")
22
+ continue;
23
+ desired.set(automation.id, automation);
24
+ }
25
+ for (const [id, entry] of this.entries) {
26
+ const automation = desired.get(id);
27
+ if (!automation || signatureOf(automation) !== entry.signature)
28
+ this.stopEntry(id);
29
+ }
30
+ for (const [id, automation] of desired) {
31
+ if (!this.entries.has(id))
32
+ this.startEntry(automation);
33
+ }
34
+ }
35
+ onSessionEvent(eventName, sessionCwd) {
36
+ if (this.disposed)
37
+ return;
38
+ for (const [id, entry] of this.entries) {
39
+ if (entry.postRunGraceActive)
40
+ continue;
41
+ const automation = this.options.getAutomation(id);
42
+ if (!automation || automation.trigger.kind !== "event")
43
+ continue;
44
+ if (automation.trigger.event !== eventName)
45
+ continue;
46
+ if (!isCwdMatch(automation.cwd, sessionCwd))
47
+ continue;
48
+ if (entry.debounceTimer !== null)
49
+ clearTimeout(entry.debounceTimer);
50
+ entry.debounceTimer = setTimeout(() => {
51
+ entry.debounceTimer = null;
52
+ this.fire(id);
53
+ }, this.options.debounceMs);
54
+ entry.debounceTimer.unref?.();
55
+ }
56
+ }
57
+ notifyRunFinished(automationId) {
58
+ if (this.disposed)
59
+ return;
60
+ const entry = this.entries.get(automationId);
61
+ if (!entry)
62
+ return;
63
+ if (entry.postRunGraceTimer !== null)
64
+ clearTimeout(entry.postRunGraceTimer);
65
+ entry.postRunGraceActive = true;
66
+ entry.postRunGraceTimer = setTimeout(() => {
67
+ entry.postRunGraceActive = false;
68
+ entry.postRunGraceTimer = null;
69
+ }, this.options.postRunGraceMs);
70
+ entry.postRunGraceTimer.unref?.();
71
+ }
72
+ dispose() {
73
+ this.disposed = true;
74
+ for (const id of [...this.entries.keys()])
75
+ this.stopEntry(id);
76
+ this.removeAllListeners();
77
+ }
78
+ startEntry(automation) {
79
+ if (automation.trigger.kind !== "event")
80
+ return;
81
+ const entry = {
82
+ debounceTimer: null,
83
+ signature: signatureOf(automation),
84
+ postRunGraceTimer: null,
85
+ postRunGraceActive: false,
86
+ };
87
+ this.entries.set(automation.id, entry);
88
+ }
89
+ fire(automationId) {
90
+ if (this.disposed)
91
+ return;
92
+ if (!this.entries.has(automationId))
93
+ return;
94
+ if (this.options.isRunInFlight(automationId))
95
+ return;
96
+ const automation = this.options.getAutomation(automationId);
97
+ if (!automation || !automation.enabled || automation.lifecycle !== "active")
98
+ return;
99
+ if (automation.trigger.kind !== "event")
100
+ return;
101
+ this.emit("due", automation);
102
+ }
103
+ stopEntry(automationId) {
104
+ const entry = this.entries.get(automationId);
105
+ if (!entry)
106
+ return;
107
+ if (entry.debounceTimer !== null) {
108
+ clearTimeout(entry.debounceTimer);
109
+ entry.debounceTimer = null;
110
+ }
111
+ if (entry.postRunGraceTimer !== null) {
112
+ clearTimeout(entry.postRunGraceTimer);
113
+ entry.postRunGraceTimer = null;
114
+ }
115
+ entry.postRunGraceActive = false;
116
+ this.entries.delete(automationId);
117
+ }
118
+ }
119
+ const isCwdMatch = (automationCwd, sessionCwd) => {
120
+ const resolvedAutomation = path.resolve(automationCwd);
121
+ const resolvedSession = path.resolve(sessionCwd);
122
+ return (resolvedSession === resolvedAutomation ||
123
+ resolvedSession.startsWith(resolvedAutomation + path.sep));
124
+ };
125
+ //# sourceMappingURL=session-event-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-event-manager.js","sourceRoot":"","sources":["../src/session-event-manager.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { z } from "zod";
2
- import type { automationLastRunSchema, automationLastRunStatusSchema, automationLifecycleSchema, automationRunLimitSchema, automationRunRecordSchema, automationRunStatusSchema, automationScheduleSchema, automationSchema, automationTriggerSchema, automationV1Schema, automationV2Schema, automationWithNextRunSchema, caffeinateModeSchema, clientToServerMessageSchema, createAutomationInputSchema, gitBaseSourceSchema, gitBranchInfoSchema, gitBranchPrSchema, gitBranchPrStateSchema, gitDiffFileListResponseSchema, gitDiffFileMetaSchema, gitDiffFilePatchSchema, gitDiffFileSchema, gitDiffFileStatusSchema, gitDiffModeSchema, gitDiffResponseSchema, gitDiffSummarySchema, resetAutomationInputSchema, serverToClientMessageSchema, triggerInputSchema, updateAutomationInputSchema } from "./schemas.js";
2
+ import type { automationLastRunSchema, automationLastRunStatusSchema, automationLifecycleSchema, automationRunLimitSchema, automationRunRecordSchema, automationRunStatusSchema, automationScheduleSchema, automationSchema, automationSessionEventSchema, automationTriggerSchema, automationV1Schema, automationV2Schema, automationWithNextRunSchema, caffeinateModeSchema, clientToServerMessageSchema, createAutomationInputSchema, gitBaseSourceSchema, gitBranchInfoSchema, gitBranchPrSchema, gitBranchPrStateSchema, gitDiffFileListResponseSchema, gitDiffFileMetaSchema, gitDiffFilePatchSchema, gitDiffFileSchema, gitDiffFileStatusSchema, gitDiffModeSchema, gitDiffResponseSchema, gitDiffSummarySchema, resetAutomationInputSchema, serverToClientMessageSchema, triggerInputSchema, updateAutomationInputSchema } from "./schemas.js";
3
3
  export interface SpawnPtyInput {
4
4
  cols?: number;
5
5
  rows?: number;
@@ -21,6 +21,7 @@ export type CaffeinateMode = z.infer<typeof caffeinateModeSchema>;
21
21
  export type AutomationLastRunStatus = z.infer<typeof automationLastRunStatusSchema>;
22
22
  export type AutomationLastRun = z.infer<typeof automationLastRunSchema>;
23
23
  export type AutomationSchedule = z.infer<typeof automationScheduleSchema>;
24
+ export type AutomationSessionEvent = z.infer<typeof automationSessionEventSchema>;
24
25
  export type AutomationTrigger = z.infer<typeof automationTriggerSchema>;
25
26
  export type TriggerInput = z.infer<typeof triggerInputSchema>;
26
27
  export type AutomationRunLimit = z.infer<typeof automationRunLimitSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-schedule.d.ts","sourceRoot":"","sources":["../../src/utils/compile-schedule.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAYvF,eAAO,MAAM,kBAAkB,GAAI,UAAU,kBAAkB,KAAG,MAAM,EA6CvE,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,UAAU,kBAAkB,KAAG,MAC9B,CAAC;AAuFlC,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,KAAG,kBAAkB,GAAG,IAWzE,CAAC;AAKF,eAAO,MAAM,sBAAsB,GAAI,OAAO,kBAAkB,GAAG,MAAM,KAAG,kBAI3E,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAAI,SAAS,YAAY,KAAG,iBAOgB,CAAC"}
1
+ {"version":3,"file":"compile-schedule.d.ts","sourceRoot":"","sources":["../../src/utils/compile-schedule.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAavF,eAAO,MAAM,kBAAkB,GAAI,UAAU,kBAAkB,KAAG,MAAM,EAuCvE,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,UAAU,kBAAkB,KAAG,MAC9B,CAAC;AAuFlC,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,KAAG,kBAAkB,GAAG,IAWzE,CAAC;AAKF,eAAO,MAAM,sBAAsB,GAAI,OAAO,kBAAkB,GAAG,MAAM,KAAG,kBAI3E,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAAI,SAAS,YAAY,KAAG,iBASkB,CAAC"}
@@ -10,13 +10,14 @@
10
10
  // (or an unparseable string) falls back to {kind:"cron"} byte-for-byte, so the
11
11
  // firing schedule never changes.
12
12
  import { parseCronExpression } from "../cron-expression.js";
13
+ import { memoBy } from "./memo-by.js";
13
14
  const WEEKDAYS_CRON_DOW = "1-5";
14
15
  const WEEKENDS_CRON_DOW = "0,6";
15
16
  const MINUTE_FIELD_MAX = 59;
16
17
  const HOUR_FIELD_MAX = 23;
17
18
  const MONTH_FIELD_SIZE = 12;
18
19
  const HOUR_FIELD_SIZE = 24;
19
- const sortUnique = (values) => [...new Set(values)].sort((a, b) => a - b);
20
+ const sortUnique = (values) => memoBy(values, (value) => value).sort((a, b) => a - b);
20
21
  export const compileScheduleAll = (schedule) => {
21
22
  switch (schedule.kind) {
22
23
  case "hourly":
@@ -25,16 +26,7 @@ export const compileScheduleAll = (schedule) => {
25
26
  return [`${schedule.minute} ${schedule.hour} * * *`];
26
27
  case "timesOfDay": {
27
28
  const ordered = [...schedule.times].sort((a, b) => a.hour * 60 + a.minute - (b.hour * 60 + b.minute));
28
- const seen = new Set();
29
- const crons = [];
30
- for (const time of ordered) {
31
- const key = time.hour * 60 + time.minute;
32
- if (seen.has(key))
33
- continue;
34
- seen.add(key);
35
- crons.push(`${time.minute} ${time.hour} * * *`);
36
- }
37
- return crons;
29
+ return memoBy(ordered, (time) => time.hour * 60 + time.minute).map((time) => `${time.minute} ${time.hour} * * *`);
38
30
  }
39
31
  case "weekdaysPreset":
40
32
  return [
@@ -179,5 +171,7 @@ export const normalizeTriggerInput = (trigger) => trigger.kind === "watch"
179
171
  recursive: trigger.recursive ?? true,
180
172
  ...(trigger.filter ? { filter: trigger.filter } : {}),
181
173
  }
182
- : { kind: "schedule", schedule: normalizeScheduleInput(trigger.schedule) };
174
+ : trigger.kind === "event"
175
+ ? { kind: "event", event: trigger.event }
176
+ : { kind: "schedule", schedule: normalizeScheduleInput(trigger.schedule) };
183
177
  //# sourceMappingURL=compile-schedule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile-schedule.js","sourceRoot":"","sources":["../../src/utils/compile-schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-schedule.js","sourceRoot":"","sources":["../../src/utils/compile-schedule.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2EAA2E;AAC3E,+EAA+E;AAC/E,sCAAsC;AACtC,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,iCAAiC;AAEjC,OAAO,EAAE,mBAAmB,EAA6B,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,UAAU,GAAG,CAAC,MAAyB,EAAY,EAAE,CACzD,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAA4B,EAAY,EAAE;IAC3E,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAC;QACxC,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC;QACvD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAC5D,CAAC;YACF,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAChE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,QAAQ,CAC9C,CAAC;QACJ,CAAC;QACD,KAAK,gBAAgB;YACnB,OAAO;gBACL,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,QACjC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBACvD,EAAE;aACH,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,QAAQ,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aACvF,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;aACxF,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO,CAAC,KAAK,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC;QACxC,KAAK,aAAa;YAChB,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC;QACzD,KAAK,MAAM;YACT,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,QAAQ,CAAC;YACnC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,yEAAyE;AACzE,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAA4B,EAAU,EAAE,CACtE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,MAAM,eAAe,GAAG,CAAC,CAAsB,EAAE,CAAsB,EAAW,EAAE;IAClF,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,CAAuB,EAAE,CAAuB,EAAW,EAAE,CACpF,eAAe,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;IACrC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;IACjC,eAAe,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC7C,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;IACnC,eAAe,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;IAC3C,CAAC,CAAC,sBAAsB,KAAK,CAAC,CAAC,sBAAsB;IACrD,CAAC,CAAC,qBAAqB,KAAK,CAAC,CAAC,qBAAqB,CAAC;AAEtD,4EAA4E;AAC5E,iEAAiE;AACjE,MAAM,UAAU,GAAG,CAAC,MAA2B,EAAE,GAAW,EAAiB,EAAE;IAC7E,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAA4B,EAA6B,EAAE;IACrF,8EAA8E;IAC9E,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC/C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;IAExD,4EAA4E;IAC5E,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACpD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC1D,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtC,2EAA2E;IAC3E,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACtD,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACtE,CAAC;IAED,0DAA0D;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAED,qCAAqC;IACrC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAElC,IAAI,OAAO,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAE/D,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACvE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACtE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IAED,0EAA0E;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAkB,EAA6B,EAAE;IAC/E,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,UAAU,IAAI,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC,CAAC;AAEF,+EAA+E;AAC/E,iFAAiF;AACjF,qEAAqE;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAkC,EAAsB,EAAE;IAC/F,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3E,CAAC,CAAC;AAEF,2EAA2E;AAC3E,8EAA8E;AAC9E,qCAAqC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAqB,EAAqB,EAAE,CAChF,OAAO,CAAC,IAAI,KAAK,OAAO;IACtB,CAAC,CAAC;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;QACpC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD;IACH,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;QACzC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const memoBy: <T, K>(items: readonly T[], keyFn: (item: T) => K) => T[];
2
+ //# sourceMappingURL=memo-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memo-by.d.ts","sourceRoot":"","sources":["../../src/utils/memo-by.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAG,CAAC,EAU1E,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const memoBy = (items, keyFn) => {
2
+ const memo = new Set();
3
+ const result = [];
4
+ for (const item of items) {
5
+ const key = keyFn(item);
6
+ if (memo.has(key))
7
+ continue;
8
+ memo.add(key);
9
+ result.push(item);
10
+ }
11
+ return result;
12
+ };
13
+ //# sourceMappingURL=memo-by.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memo-by.js","sourceRoot":"","sources":["../../src/utils/memo-by.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAO,KAAmB,EAAE,KAAqB,EAAO,EAAE;IAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAK,CAAC;IAC1B,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile-downtime.d.ts","sourceRoot":"","sources":["../../src/utils/reconcile-downtime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAO9C,eAAO,MAAM,0BAA0B,GACrC,YAAY,UAAU,EACtB,aAAa,MAAM,EACnB,KAAK,MAAM,KACV,MAAM,EAiBR,CAAC"}
1
+ {"version":3,"file":"reconcile-downtime.d.ts","sourceRoot":"","sources":["../../src/utils/reconcile-downtime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ9C,eAAO,MAAM,0BAA0B,GACrC,YAAY,UAAU,EACtB,aAAa,MAAM,EACnB,KAAK,MAAM,KACV,MAAM,EAkBR,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { AUTOMATION_DOWNTIME_RECONCILE_CAP, AUTOMATION_RECONCILE_LOOKBACK_MS, } from "../constants.js";
2
2
  import { nextCronOccurrence, parseCronExpression } from "../cron-expression.js";
3
3
  import { compileScheduleAll } from "./compile-schedule.js";
4
+ import { memoBy } from "./memo-by.js";
4
5
  // The most-recent missed scheduled occurrences (epoch-ms) in the downtime
5
6
  // window (lastAliveAt, now). Enumeration starts no earlier than a fixed
6
7
  // lookback so a frequent schedule can't walk forever after a long outage; only
@@ -22,7 +23,8 @@ export const enumerateMissedOccurrences = (automation, lastAliveAt, now) => {
22
23
  cursor = nextCronOccurrence(parsed, cursor);
23
24
  }
24
25
  }
25
- const unique = [...new Set(collected)].sort((a, b) => a - b);
26
- return unique.slice(-AUTOMATION_DOWNTIME_RECONCILE_CAP);
26
+ return memoBy(collected, (epoch) => epoch)
27
+ .sort((a, b) => a - b)
28
+ .slice(-AUTOMATION_DOWNTIME_RECONCILE_CAP);
27
29
  };
28
30
  //# sourceMappingURL=reconcile-downtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile-downtime.js","sourceRoot":"","sources":["../../src/utils/reconcile-downtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,0EAA0E;AAC1E,wEAAwE;AACxE,+EAA+E;AAC/E,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,UAAsB,EACtB,WAAmB,EACnB,GAAW,EACD,EAAE;IACZ,8EAA8E;IAC9E,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,gCAAgC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACjC,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,iCAAiC,CAAC,CAAC;AAC1D,CAAC,CAAC"}
1
+ {"version":3,"file":"reconcile-downtime.js","sourceRoot":"","sources":["../../src/utils/reconcile-downtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,0EAA0E;AAC1E,wEAAwE;AACxE,+EAA+E;AAC/E,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,UAAsB,EACtB,WAAmB,EACnB,GAAW,EACD,EAAE;IACZ,8EAA8E;IAC9E,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,gCAAgC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACjC,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB,KAAK,CAAC,CAAC,iCAAiC,CAAC,CAAC;AAC/C,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monotykamary/localterm-server",
3
- "version": "1.35.1",
3
+ "version": "1.37.0",
4
4
  "description": "PTY-backed HTTP/WebSocket server that powers localterm, built on Hono + node-pty.",
5
5
  "keywords": [
6
6
  "hono",