@adonis-agora/durable 0.29.0 → 0.30.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # @adonis-agora/durable
2
2
 
3
+ ## 0.30.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#93](https://github.com/DavideCarvalho/adonis-agora-durable/pull/93) [`2b42ba5`](https://github.com/DavideCarvalho/adonis-agora-durable/commit/2b42ba5ed58b29744bc71b24a6c6dc04a38d7f77) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - O tick do agendador para de perguntar ao banco o que já sabe.
8
+
9
+ O run id de um schedule é derivado da **janela** de disparo, então ele é constante
10
+ durante toda ela. Mesmo assim, cada tick fazia `getRun` naquele id — uma consulta cuja
11
+ resposta não podia ter mudado desde o tick anterior.
12
+
13
+ Numa instalação real isso deu **~28 `select … where id = ?` por segundo** (14 schedules
14
+ × 2 lookups × 2 pods), todos devolvendo a linha que o processo já tinha buscado. Um cron
15
+ horário não está vencido em 3.599 dos 3.600 segundos, e o antigo perguntava em todos.
16
+
17
+ Agora cada processo memoiza os ids que já observou existir, e o tick não faz I/O nenhum
18
+ quando não há janela nova. A checagem de `overlap: 'skip'` também saiu do caminho quente:
19
+ ela só importava quando havia algo a iniciar, e rodava a cada tick.
20
+
21
+ **A idempotência entre workers não muda.** A memoização só pula trabalho que aquele
22
+ processo viu acontecer; ela nunca é consultada para um id que ele não observou. Processo
23
+ novo, e o primeiro tick de cada janela nova, continuam indo ao store — que é onde a
24
+ corrida entre workers concorrentes é decidida. Há teste para isso.
25
+
26
+ ## 0.30.0
27
+
28
+ ### Minor Changes
29
+
30
+ - [#91](https://github.com/DavideCarvalho/adonis-agora-durable/pull/91) [`5c3100c`](https://github.com/DavideCarvalho/adonis-agora-durable/commit/5c3100c4e6101bd87f8180a95ef0ea31c49b3201) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - A extensão do telescope agora contribui os `@Scheduled` descobertos para a tela Live
31
+ Schedules.
32
+
33
+ Essa tela lista o que `registerSchedule()` foi informado que existe, e ninguém informava
34
+ — então ela vinha vazia. A alternativa era o app repetir a lista à mão, uma cópia dos
35
+ decorators que diverge na primeira mudança de cron, em silêncio.
36
+
37
+ O engine já tem a lista: `discoveredSchedules` **é** o que o `@Scheduled` declarou. A
38
+ extensão responde o novo hook `schedules()` do telescope com ela, então o console mostra
39
+ os decorators e não uma cópia deles. Segue sem importar `@adonis-agora/telescope`: é mais
40
+ um método do contrato que o `telescope-sdk.ts` já espelha estruturalmente.
41
+
42
+ Requer `@adonis-agora/telescope` com o hook `schedules()`.
43
+
3
44
  ## 0.29.0
4
45
 
5
46
  ### Minor Changes
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.29.0";
2
+ export declare const VERSION = "0.30.1";
3
3
  export type { AccessDeniedInfo, AccessDeniedPageOptions, AccessDeniedReason, } from './access_denied_page.js';
4
4
  export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
5
5
  export type { AuthMode, DashboardAuthOptions, LoginHook, LoginOutcome, ResolvedDashboardAuth, SessionHook, SessionOutcome, } from './auth.js';
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.29.0';
2
+ export const VERSION = '0.30.1';
3
3
  // The built-in "access denied" page (what a browser sees on a refused page navigation).
4
4
  export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
5
5
  // Built-in `dashboardAuth` login screen (optional; opt-in via `config/durable_dashboard.ts`).
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.29.0";
2
+ export declare const VERSION = "0.30.1";
3
3
  export { configure } from '../configure.js';
4
4
  export * from './admission.js';
5
5
  export type { AdmissionContext, AdmissionFactory, RedisAdmissionConfig, } from './admissions/factory.js';
package/dist/src/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.29.0';
2
+ export const VERSION = '0.30.1';
3
3
  // Re-export the configure hook from the package root so `node ace configure` finds it.
4
4
  // AdonisJS imports the package MAIN and reads `configure` off the module namespace —
5
5
  // the `./configure` subpath alone is never consulted.
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,KAAK,CAAC;IACzF;qGACiG;IACjG,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;gGACgG;AAChG,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAID,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElF;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,WAAW,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KACpC;IAAE,IAAI,IAAI;QAAE,MAAM,IAAI,IAAI,CAAA;KAAE,CAAC;IAAC,IAAI,IAAI;QAAE,MAAM,IAAI,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC;AAShE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,SAAS,GAAG,SAAS,CAoB/E;AAwBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAKpF;AAwCD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,QAAQ,CAAC,EAChD,SAAS,EAAE,SAAS,iBAAiB,EAAE,EACvC,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCnB"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,KAAK,CAAC;IACzF;qGACiG;IACjG,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;gGACgG;AAChG,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAID,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElF;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,WAAW,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KACpC;IAAE,IAAI,IAAI;QAAE,MAAM,IAAI,IAAI,CAAA;KAAE,CAAC;IAAC,IAAI,IAAI;QAAE,MAAM,IAAI,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC;AAShE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,SAAS,GAAG,SAAS,CAoB/E;AAwBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAKpF;AAwCD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,QAAQ,CAAC,EAChD,SAAS,EAAE,SAAS,iBAAiB,EAAE,EACvC,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkDnB"}
@@ -119,12 +119,28 @@ function scheduleRunIdsAt(s, nowMs) {
119
119
  export async function runSchedules(engine, schedules, nowMs, opts) {
120
120
  const random = opts?.random ?? Math.random;
121
121
  const sleep = opts?.sleep ?? defaultSleep;
122
+ const settled = settledIdsFor(engine);
122
123
  const ids = [];
123
124
  for (const s of schedules) {
124
125
  if (s.paused)
125
126
  continue;
127
+ // Which windows might still need firing — everything this process has not already
128
+ // seen exist. This is the whole reason the tick is cheap: a run id is derived from
129
+ // the window's fire time, so it is CONSTANT for the whole window, and asking the
130
+ // store about it again on the next tick can only produce the answer we already
131
+ // got. See {@link settledIdsFor}.
132
+ const candidates = scheduleRunIdsAt(s, nowMs).filter((id) => !settled.get(s.key)?.has(id));
133
+ // Nothing to do this tick — and, crucially, no I/O to prove it. A cron that fires
134
+ // hourly is not due in 3.599 of every 3.600 seconds; the old code still asked the
135
+ // database in each of them.
136
+ if (candidates.length === 0)
137
+ continue;
126
138
  // overlap:'skip' (fixed-interval): don't start this window while the previous window's run is
127
139
  // still in-flight, so a slow run can't pile up. Interval-only — cron windows aren't adjacent ids.
140
+ //
141
+ // Checked HERE, after the candidate filter: it only ever mattered when something was
142
+ // about to start, and running it first meant one store read per schedule per tick
143
+ // forever.
128
144
  if (s.overlap === 'skip' && s.everyMs) {
129
145
  const prevBucket = Math.floor(nowMs / s.everyMs) - 1;
130
146
  if (prevBucket >= 0) {
@@ -137,15 +153,15 @@ export async function runSchedules(engine, schedules, nowMs, opts) {
137
153
  // once per schedule, before firing — the run ids below are unaffected, so idempotency holds.
138
154
  if (s.jitter && s.jitter > 0)
139
155
  await sleep(Math.floor(random() * s.jitter));
140
- for (const runId of scheduleRunIdsAt(s, nowMs)) {
156
+ for (const runId of candidates) {
141
157
  // Only fire (and report) windows that don't exist yet. `start` is idempotent by run id
142
158
  // anyway, but counting its no-op re-ticks made every tick report "N scheduled" forever —
143
159
  // a due window's bucket id exists for the rest of that window, so an operator tailing the
144
- // worker read "starts a run every second" out of a system starting nothing. The pre-check
145
- // costs no extra I/O: `start` did the same getRun internally before its no-op return.
160
+ // worker read "starts a run every second" out of a system starting nothing.
146
161
  // A same-boundary race between instances can still double-fire `start` here; idempotency
147
162
  // holds (one createRun wins) — only this tick's REPORT may briefly overcount, not the runs.
148
163
  const existing = await engine.getRun(runId);
164
+ remember(settled, s.key, runId);
149
165
  if (existing)
150
166
  continue;
151
167
  await engine.start(s.workflow, s.input, runId);
@@ -154,4 +170,49 @@ export async function runSchedules(engine, schedules, nowMs, opts) {
154
170
  }
155
171
  return ids;
156
172
  }
173
+ /**
174
+ * Per-engine memo of run ids this process has already seen exist in the store.
175
+ *
176
+ * A schedule's run id is the deterministic id of its fire WINDOW, so within a window
177
+ * it never changes. Once a tick has learned that id exists, every later tick in that
178
+ * same window asks the store a question whose answer cannot have changed — and pays a
179
+ * round trip for it. On a real deployment that was ~28 `select … where id = ?` per
180
+ * SECOND (14 schedules x 2 lookups x 2 pods), all of them returning the row the
181
+ * process had already fetched, forever.
182
+ *
183
+ * Idempotency is untouched. The memo can only skip work we KNOW already happened; it
184
+ * is never consulted for an id we have not personally observed, so a fresh process,
185
+ * and the first tick of every new window, still go to the store — which is where the
186
+ * cross-worker race is actually decided.
187
+ *
188
+ * Bounded by construction: only the ids of the CURRENT window per schedule key are
189
+ * kept, so it cannot grow with time.
190
+ *
191
+ * WeakMap keyed by the engine so two engines in one process (tests, multi-tenant
192
+ * hosts) never share memo state, and it is collected with the engine.
193
+ */
194
+ const settledRunIds = new WeakMap();
195
+ function settledIdsFor(engine) {
196
+ let memo = settledRunIds.get(engine);
197
+ if (memo === undefined) {
198
+ memo = new Map();
199
+ settledRunIds.set(engine, memo);
200
+ }
201
+ return memo;
202
+ }
203
+ /** Record `runId` as known-to-exist, dropping the previous window's ids for that key. */
204
+ function remember(memo, key, runId) {
205
+ const seen = memo.get(key);
206
+ if (seen === undefined) {
207
+ memo.set(key, new Set([runId]));
208
+ return;
209
+ }
210
+ // A backfill tick legitimately settles several ids at once, so keep the ones from
211
+ // this pass; the set is replaced wholesale when the window rolls over (below).
212
+ seen.add(runId);
213
+ // Guard against unbounded growth if a schedule is reconfigured at runtime: a window
214
+ // never needs more than its backfill span, and 64 is far past any sane maxCatchup.
215
+ if (seen.size > 64)
216
+ memo.set(key, new Set([runId]));
217
+ }
157
218
  //# sourceMappingURL=scheduler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,iGAAiG;AACjG,oGAAoG;AACpG,mGAAmG;AACnG,mGAAmG;AACnG,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAgEnD,MAAM,YAAY,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1F,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,OAAe,EAAE,KAAa;IACxE,OAAO,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;AACvD,CAAC;AAuBD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,KAAK,GAAG,CAAC;IACtD,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7F,MAAM,EAAE,GAAI,GAAyB,CAAC,oBAAoB,CAAC;IAC3D,IAAI,EAAE,KAAK,SAAS,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACvD,8EAA8E;QAC9E,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAE,EAA2B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,EAAE,GAAI,GAAyB,CAAC,eAAe,CAAC;IACtD,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAE,GAAsC,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7F,CAAC;IACD,yFAAyF;IACzF,+FAA+F;IAC/F,MAAM,KAAK,GAAI,GAA2B,CAAC,KAAK,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAE,GAA4B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,IAAI,GAAI,GAA6B,CAAC,OAAO,CAAC;IACpD,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAChG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,IAAI,SAAgC,CAAC;AACrC,SAAS,cAAc;IACrB,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,0FAA0F;QAC1F,GAAG,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,qJAAqJ,CACtJ,CAAC;IACJ,CAAC;IACD,SAAS,GAAG,QAAQ,CAAC;IACrB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAa,EAAE,QAAQ,GAAG,KAAK;IAC1E,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,+FAA+F;IAC/F,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3E,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC;AAED,gGAAgG;AAChG,SAAS,eAAe,CAAC,CAAoB,EAAE,KAAa;IAC1D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzF,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,oCAAoC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,CAAoB,EAAE,KAAa;IAC3D,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3D,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;SAAM,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC1B,oGAAoG;QACpG,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,sDAAsD;YACtD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAgD,EAChD,SAAuC,EACvC,KAAa,EACb,IAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,YAAY,CAAC;IAC1C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM;YAAE,SAAS;QACvB,8FAA8F;QAC9F,kGAAkG;QAClG,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC,CAAC;gBACjE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;oBAAE,SAAS;YACnF,CAAC;QACH,CAAC;QACD,iGAAiG;QACjG,6FAA6F;QAC7F,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/C,uFAAuF;YACvF,yFAAyF;YACzF,0FAA0F;YAC1F,0FAA0F;YAC1F,sFAAsF;YACtF,yFAAyF;YACzF,4FAA4F;YAC5F,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,QAAQ;gBAAE,SAAS;YACvB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/telescope/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,gBAAgB,CAAC;AAYhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,uBAA4B,GAAG,kBAAkB,CAiBhG"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/telescope/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,gBAAgB,CAAC;AAahF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,uBAA4B,GAAG,kBAAkB,CAkBhG"}
@@ -1,5 +1,6 @@
1
1
  import { durableDashboard } from './dashboard.js';
2
2
  import { durableDurationProvider, durableRecentFailuresProvider, durableRunsOverTimeProvider, durableStateBreakdownProvider, durableStateProvider, durableSuccessRateProvider, durableThroughputProvider, durableTimeseriesProvider, durableWorkerHealthProvider, } from './data-providers.js';
3
+ import { durableSchedules } from './schedules.js';
3
4
  /**
4
5
  * The first-class `@adonis-agora/telescope` extension for `@adonis-agora/durable`: a "Workflows" health dashboard
5
6
  * (golden signals) plus the data providers it binds to. Wire it into `config/telescope.ts`:
@@ -34,6 +35,7 @@ export function durableTelescopeExtension(opts = {}) {
34
35
  durableThroughputProvider(),
35
36
  durableStateBreakdownProvider(),
36
37
  ],
38
+ schedules: (ctx) => durableSchedules(ctx),
37
39
  };
38
40
  }
39
41
  //# sourceMappingURL=extension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/telescope/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAI,GAA4B,EAAE;IAC1E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;QAC9E,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,aAAa,EAAE,GAAG,EAAE,CAAC;YACnB,oBAAoB,EAAE;YACtB,yBAAyB,EAAE;YAC3B,6BAA6B,EAAE;YAC/B,2BAA2B,EAAE;YAC7B,uBAAuB,EAAE;YACzB,2BAA2B,EAAE;YAC7B,0BAA0B,EAAE;YAC5B,yBAAyB,EAAE;YAC3B,6BAA6B,EAAE;SAChC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/telescope/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAI,GAA4B,EAAE;IAC1E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;QAC9E,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,aAAa,EAAE,GAAG,EAAE,CAAC;YACnB,oBAAoB,EAAE;YACtB,yBAAyB,EAAE;YAC3B,6BAA6B,EAAE;YAC/B,2BAA2B,EAAE;YAC7B,uBAAuB,EAAE;YACzB,2BAA2B,EAAE;YAC7B,0BAA0B,EAAE;YAC5B,yBAAyB,EAAE;YAC3B,6BAA6B,EAAE;SAChC;QACD,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC;KAC1C,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { type DurableDashboardOptions, durableDashboard } from './dashboard.js';
2
2
  export { durableDurationProvider, durableRecentFailuresProvider, durableRunsOverTimeProvider, durableStateBreakdownProvider, durableStateProvider, durableSuccessRateProvider, durableThroughputProvider, durableTimeseriesProvider, durableWorkerHealthProvider, } from './data-providers.js';
3
3
  export { durableTelescopeExtension } from './extension.js';
4
+ export { durableSchedules } from './schedules.js';
4
5
  export type { ContainerLike, DataProvider, ExtensionContext, TelescopeExtension, TelescopeStoreLike, } from './telescope-sdk.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telescope/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telescope/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { durableDashboard } from './dashboard.js';
2
2
  export { durableDurationProvider, durableRecentFailuresProvider, durableRunsOverTimeProvider, durableStateBreakdownProvider, durableStateProvider, durableSuccessRateProvider, durableThroughputProvider, durableTimeseriesProvider, durableWorkerHealthProvider, } from './data-providers.js';
3
3
  export { durableTelescopeExtension } from './extension.js';
4
+ export { durableSchedules } from './schedules.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telescope/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telescope/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ExtensionContext, ScheduleContribution } from './telescope-sdk.js';
2
+ /**
3
+ * Every schedule the engine discovered, in the shape telescope's Live Schedules
4
+ * screen wants.
5
+ *
6
+ * The point is that nobody retypes the list. The engine already knows what
7
+ * `@Scheduled` declared — `discoveredSchedules` IS that list — so the console shows
8
+ * the decorators rather than a hand-kept copy of them that goes stale the first time
9
+ * a cron changes and nobody remembers there are two places.
10
+ *
11
+ * Resolved from the container at call time (telescope calls this in its `ready()`),
12
+ * so the engine is fully booted and discovery has run.
13
+ */
14
+ export declare function durableSchedules(ctx: ExtensionContext): Promise<ScheduleContribution[]>;
15
+ //# sourceMappingURL=schedules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../../src/telescope/schedules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAG7F"}
@@ -0,0 +1,51 @@
1
+ import { WorkflowEngine } from '../index.js';
2
+ /**
3
+ * Every schedule the engine discovered, in the shape telescope's Live Schedules
4
+ * screen wants.
5
+ *
6
+ * The point is that nobody retypes the list. The engine already knows what
7
+ * `@Scheduled` declared — `discoveredSchedules` IS that list — so the console shows
8
+ * the decorators rather than a hand-kept copy of them that goes stale the first time
9
+ * a cron changes and nobody remembers there are two places.
10
+ *
11
+ * Resolved from the container at call time (telescope calls this in its `ready()`),
12
+ * so the engine is fully booted and discovery has run.
13
+ */
14
+ export async function durableSchedules(ctx) {
15
+ const engine = await ctx.container.make(WorkflowEngine);
16
+ return engine.discoveredSchedules.map(toContribution);
17
+ }
18
+ /**
19
+ * Map one discovered schedule. `cron` and `everyMs` are mutually exclusive in the
20
+ * decorator, which is exactly telescope's `cron` vs `interval` split.
21
+ *
22
+ * A paused schedule is still REPORTED: the console's job is to show what exists, and
23
+ * silently omitting a paused job is how someone spends an afternoon wondering why
24
+ * their cron "disappeared".
25
+ */
26
+ function toContribution(schedule) {
27
+ if (typeof schedule.cron === 'string') {
28
+ return {
29
+ name: schedule.key,
30
+ kind: 'cron',
31
+ schedule: schedule.cron,
32
+ timezone: schedule.timezone ?? null,
33
+ };
34
+ }
35
+ return {
36
+ name: schedule.key,
37
+ kind: 'interval',
38
+ schedule: schedule.everyMs !== undefined ? formatInterval(schedule.everyMs) : null,
39
+ timezone: null,
40
+ };
41
+ }
42
+ /** `120000` → `every 2m`. The screen shows this string as-is, so it has to read as English. */
43
+ function formatInterval(everyMs) {
44
+ const seconds = Math.round(everyMs / 1000);
45
+ if (seconds % 3600 === 0)
46
+ return `every ${seconds / 3600}h`;
47
+ if (seconds % 60 === 0)
48
+ return `every ${seconds / 60}m`;
49
+ return `every ${seconds}s`;
50
+ }
51
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../src/telescope/schedules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAqB;IAC1D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAiB,cAAc,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,QAKvB;IACC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,GAAG;YAClB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;SACpC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,GAAG;QAClB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QAClF,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,OAAO,GAAG,IAAI,GAAG,CAAC;IAC5D,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC;QAAE,OAAO,SAAS,OAAO,GAAG,EAAE,GAAG,CAAC;IACxD,OAAO,SAAS,OAAO,GAAG,CAAC;AAC7B,CAAC"}
@@ -31,6 +31,16 @@ export interface ExtensionContext {
31
31
  readonly container: ContainerLike;
32
32
  readonly config: unknown;
33
33
  }
34
+ /**
35
+ * A scheduled task contributed to telescope's Live Schedules screen. Mirror of
36
+ * telescope's `ScheduleContribution` / `ScheduleRegistration`.
37
+ */
38
+ export interface ScheduleContribution {
39
+ name: string;
40
+ schedule?: string | null;
41
+ kind?: 'cron' | 'interval' | 'custom';
42
+ timezone?: string | null;
43
+ }
34
44
  export interface ExtensionEntryType {
35
45
  id: string;
36
46
  label: string;
@@ -119,5 +129,7 @@ export interface TelescopeExtension {
119
129
  entryTypes?(ctx: ExtensionContext): ExtensionEntryType[];
120
130
  dashboards?(ctx: ExtensionContext): DashboardSpec[];
121
131
  dataProviders?(ctx: ExtensionContext): DataProvider[];
132
+ /** Contribute known scheduled tasks to telescope's Live Schedules screen. */
133
+ schedules?(ctx: ExtensionContext): ScheduleContribution[] | Promise<ScheduleContribution[]>;
122
134
  }
123
135
  //# sourceMappingURL=telescope-sdk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-sdk.d.ts","sourceRoot":"","sources":["../../../src/telescope/telescope-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telescope-sdk.d.ts","sourceRoot":"","sources":["../../../src/telescope/telescope-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,+FAA+F;AAC/F,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CAC9F;AAED,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACrC;AAED,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,MAAM,KAAK,GACb;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACtE;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CAChC,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,GACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CAAE,CAAC;AAErF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,CAAC,GAAG,EAAE,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;IACzD,UAAU,CAAC,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,EAAE,CAAC;IACpD,aAAa,CAAC,CAAC,GAAG,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAAC;IACtD,6EAA6E;IAC7E,SAAS,CAAC,CAAC,GAAG,EAAE,gBAAgB,GAAG,oBAAoB,EAAE,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;CAC7F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonis-agora/durable",
3
- "version": "0.29.0",
3
+ "version": "0.30.1",
4
4
  "description": "Durable cross-app workflows for AdonisJS — deterministic replay engine, AdonisJS binding, ace commands, dashboard, OpenTelemetry, Telescope, testing harness and Redis admission, all in one package. Part of the Agora ecosystem.",
5
5
  "license": "MIT",
6
6
  "repository": {