@framers/agentos-ext-triggers 0.0.0-stage → 0.1.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 (60) hide show
  1. package/LICENSE +98 -0
  2. package/README.md +198 -2
  3. package/dist/contract.d.ts +262 -0
  4. package/dist/contract.d.ts.map +1 -0
  5. package/dist/contract.js +2 -0
  6. package/dist/contract.js.map +1 -0
  7. package/dist/cron.d.ts +36 -0
  8. package/dist/cron.d.ts.map +1 -0
  9. package/dist/cron.js +125 -0
  10. package/dist/cron.js.map +1 -0
  11. package/dist/housekeeping.d.ts +20 -0
  12. package/dist/housekeeping.d.ts.map +1 -0
  13. package/dist/housekeeping.js +33 -0
  14. package/dist/housekeeping.js.map +1 -0
  15. package/dist/index.d.ts +33 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +24 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/names.d.ts +9 -0
  20. package/dist/names.d.ts.map +1 -0
  21. package/dist/names.js +9 -0
  22. package/dist/names.js.map +1 -0
  23. package/dist/report.d.ts +27 -0
  24. package/dist/report.d.ts.map +1 -0
  25. package/dist/report.js +94 -0
  26. package/dist/report.js.map +1 -0
  27. package/dist/rows.d.ts +87 -0
  28. package/dist/rows.d.ts.map +1 -0
  29. package/dist/rows.js +52 -0
  30. package/dist/rows.js.map +1 -0
  31. package/dist/scheduler.d.ts +44 -0
  32. package/dist/scheduler.d.ts.map +1 -0
  33. package/dist/scheduler.js +743 -0
  34. package/dist/scheduler.js.map +1 -0
  35. package/dist/store/ids.d.ts +3 -0
  36. package/dist/store/ids.d.ts.map +1 -0
  37. package/dist/store/ids.js +6 -0
  38. package/dist/store/ids.js.map +1 -0
  39. package/dist/store/migrations.d.ts +30 -0
  40. package/dist/store/migrations.d.ts.map +1 -0
  41. package/dist/store/migrations.js +26 -0
  42. package/dist/store/migrations.js.map +1 -0
  43. package/dist/store/prefix.d.ts +23 -0
  44. package/dist/store/prefix.d.ts.map +1 -0
  45. package/dist/store/prefix.js +37 -0
  46. package/dist/store/prefix.js.map +1 -0
  47. package/dist/store/sql/index.d.ts +21 -0
  48. package/dist/store/sql/index.d.ts.map +1 -0
  49. package/dist/store/sql/index.js +157 -0
  50. package/dist/store/sql/index.js.map +1 -0
  51. package/dist/watcher.d.ts +28 -0
  52. package/dist/watcher.d.ts.map +1 -0
  53. package/dist/watcher.js +279 -0
  54. package/dist/watcher.js.map +1 -0
  55. package/dist/words.d.ts +12 -0
  56. package/dist/words.d.ts.map +1 -0
  57. package/dist/words.js +57 -0
  58. package/dist/words.js.map +1 -0
  59. package/manifest.json +39 -0
  60. package/package.json +68 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** `bytes` random bytes as lower-case hexadecimal: run ids (16 bytes) and claim tokens (16 bytes, a 128-bit token). */
2
+ export declare function randomHex(bytes: number): string;
3
+ //# sourceMappingURL=ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/store/ids.ts"],"names":[],"mappings":"AAEA,uHAAuH;AACvH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -0,0 +1,6 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ /** `bytes` random bytes as lower-case hexadecimal: run ids (16 bytes) and claim tokens (16 bytes, a 128-bit token). */
3
+ export function randomHex(bytes) {
4
+ return randomBytes(bytes).toString('hex');
5
+ }
6
+ //# sourceMappingURL=ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/store/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,uHAAuH;AACvH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @fileoverview `migrateTriggers`: the package's numbered SQL for the adapter's dialect, built in
3
+ * memory with the prefix written in, applied with the adapter's `runSchemaMigrations` under the
4
+ * package's own ledger, `<prefix>_schema_migrations`, with `unknown: 'ignore'` and the lock the
5
+ * product's own runner takes. Run twice, the second applies nothing. Its migrations only add, so an
6
+ * older release's list still starts against newer tables.
7
+ *
8
+ * The adapter is loaded when `migrateTriggers` is called, not when this module is imported: it is
9
+ * an optional peer, and a process that never migrates never needs it.
10
+ */
11
+ import type { SchemaMigration, SchemaMigrationReport, StorageAdapter } from '@framers/sql-storage-adapter';
12
+ export { TABLE_NAMES, tableName, triggersTables } from './prefix.js';
13
+ /** The adapter runner's default lock, the same number the operations package uses, so runners that share a database share a key. */
14
+ export declare const DEFAULT_LOCK_KEY = 724313571;
15
+ /** The two dialects the package's statements and migrations are written for. */
16
+ export type TriggersDialect = 'postgres' | 'sqlite';
17
+ /** The dialect an adapter speaks, by its `kind`. */
18
+ export declare function dialectOf(db: Pick<StorageAdapter, 'kind'>): TriggersDialect;
19
+ /**
20
+ * The package's migrations for one dialect under `prefix`, each file one `{ name, sql }` with the
21
+ * prefix written into its text, and so into its checksum. A prefix outside the rule, or one whose
22
+ * names the dialect keeps for itself, throws before anything else.
23
+ */
24
+ export declare function triggersMigrations(dialect: TriggersDialect, prefix?: string): SchemaMigration[];
25
+ /** Builds the three tables for the adapter's dialect under `<prefix>_schema_migrations`; run twice, the second applies nothing. */
26
+ export declare function migrateTriggers(db: StorageAdapter, options?: {
27
+ readonly prefix?: string;
28
+ readonly lockKey?: number | string;
29
+ }): Promise<SchemaMigrationReport>;
30
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/store/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI3G,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErE,oIAAoI;AACpI,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpD,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,eAAe,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,GAAE,MAAuB,GAAG,eAAe,EAAE,CAG/G;AAED,mIAAmI;AACnI,wBAAsB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAKxK"}
@@ -0,0 +1,26 @@
1
+ import { DEFAULT_PREFIX, requireDialectPrefix, requirePrefix } from './prefix.js';
2
+ import { MIGRATION_FILES } from './sql/index.js';
3
+ export { TABLE_NAMES, tableName, triggersTables } from './prefix.js';
4
+ /** The adapter runner's default lock, the same number the operations package uses, so runners that share a database share a key. */
5
+ export const DEFAULT_LOCK_KEY = 724313571;
6
+ /** The dialect an adapter speaks, by its `kind`. */
7
+ export function dialectOf(db) {
8
+ return db.kind === 'postgres' || db.kind === 'supabase-postgres' ? 'postgres' : 'sqlite';
9
+ }
10
+ /**
11
+ * The package's migrations for one dialect under `prefix`, each file one `{ name, sql }` with the
12
+ * prefix written into its text, and so into its checksum. A prefix outside the rule, or one whose
13
+ * names the dialect keeps for itself, throws before anything else.
14
+ */
15
+ export function triggersMigrations(dialect, prefix = DEFAULT_PREFIX) {
16
+ const checked = requireDialectPrefix(requirePrefix(prefix), dialect);
17
+ return MIGRATION_FILES.map((file) => ({ name: file.name, sql: file[dialect].replaceAll('{{prefix}}', checked) }));
18
+ }
19
+ /** Builds the three tables for the adapter's dialect under `<prefix>_schema_migrations`; run twice, the second applies nothing. */
20
+ export async function migrateTriggers(db, options = {}) {
21
+ const prefix = requirePrefix(options.prefix ?? DEFAULT_PREFIX);
22
+ const migrations = triggersMigrations(dialectOf(db), prefix);
23
+ const { runSchemaMigrations } = await import('@framers/sql-storage-adapter');
24
+ return runSchemaMigrations(db, migrations, { table: `${prefix}_schema_migrations`, lockKey: options.lockKey ?? DEFAULT_LOCK_KEY, unknown: 'ignore' });
25
+ }
26
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/store/migrations.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErE,oIAAoI;AACpI,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAK1C,oDAAoD;AACpD,MAAM,UAAU,SAAS,CAAC,EAAgC;IACxD,OAAO,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAwB,EAAE,SAAiB,cAAc;IAC1F,MAAM,OAAO,GAAG,oBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACpH,CAAC;AAED,mIAAmI;AACnI,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAkB,EAAE,UAA4E,EAAE;IACtI,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC7E,OAAO,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AACxJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @fileoverview The table prefix: `trig` by default, a lower-case letter then at most 32 lower-case
3
+ * letters, digits or underscores, the rule the operations package's `requirePrefix` applies. With
4
+ * `_schema_migrations` (18 characters) the longest name stays inside PostgreSQL's 63 bytes. Every
5
+ * table is `<prefix>_<name>`, and the prefix is written into the SQL as it is, so nothing else
6
+ * passes. On SQLite, `sqlite` and a prefix beginning `sqlite_` are refused too, since they make
7
+ * names SQLite keeps for itself.
8
+ */
9
+ /** The table prefix when the host gives none. */
10
+ export declare const DEFAULT_PREFIX = "trig";
11
+ /** Returns the prefix when it follows the rule, and otherwise throws a `RangeError`. */
12
+ export declare function requirePrefix(prefix: unknown): string;
13
+ /** Returns the prefix when its tables may stand on `dialect`; on SQLite, `sqlite` and a prefix beginning `sqlite_` throw a `RangeError`. */
14
+ export declare function requireDialectPrefix(prefix: string, dialect: 'postgres' | 'sqlite'): string;
15
+ /** The names of the package's tables, without the prefix, the ledger last. */
16
+ export declare const TABLE_NAMES: readonly ["jobs", "runs", "missed", "schema_migrations"];
17
+ /** One of the package's tables, by its name after the prefix. */
18
+ export type TriggersTableName = (typeof TABLE_NAMES)[number];
19
+ /** `<prefix>_<name>`. */
20
+ export declare function tableName(prefix: string, name: TriggersTableName): string;
21
+ /** The four table names under `prefix`, the ledger among them. */
22
+ export declare function triggersTables(prefix: string): readonly string[];
23
+ //# sourceMappingURL=prefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefix.d.ts","sourceRoot":"","sources":["../../src/store/prefix.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iDAAiD;AACjD,eAAO,MAAM,cAAc,SAAS,CAAC;AAKrC,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED,4IAA4I;AAC5I,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,CAK3F;AAED,8EAA8E;AAC9E,eAAO,MAAM,WAAW,0DAA2D,CAAC;AAEpF,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,yBAAyB;AACzB,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAEzE;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAGhE"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @fileoverview The table prefix: `trig` by default, a lower-case letter then at most 32 lower-case
3
+ * letters, digits or underscores, the rule the operations package's `requirePrefix` applies. With
4
+ * `_schema_migrations` (18 characters) the longest name stays inside PostgreSQL's 63 bytes. Every
5
+ * table is `<prefix>_<name>`, and the prefix is written into the SQL as it is, so nothing else
6
+ * passes. On SQLite, `sqlite` and a prefix beginning `sqlite_` are refused too, since they make
7
+ * names SQLite keeps for itself.
8
+ */
9
+ /** The table prefix when the host gives none. */
10
+ export const DEFAULT_PREFIX = 'trig';
11
+ /** A lower-case letter, then at most 32 lower-case letters, digits or underscores: with `_schema_migrations` (18) the longest name stays inside PostgreSQL's 63 bytes. */
12
+ const PREFIX = /^[a-z][a-z0-9_]{0,32}$/;
13
+ /** Returns the prefix when it follows the rule, and otherwise throws a `RangeError`. */
14
+ export function requirePrefix(prefix) {
15
+ if (typeof prefix === 'string' && PREFIX.test(prefix))
16
+ return prefix;
17
+ throw new RangeError('The table prefix was refused: give a lower-case letter followed by at most 32 lower-case letters, digits or underscores');
18
+ }
19
+ /** Returns the prefix when its tables may stand on `dialect`; on SQLite, `sqlite` and a prefix beginning `sqlite_` throw a `RangeError`. */
20
+ export function requireDialectPrefix(prefix, dialect) {
21
+ if (dialect === 'sqlite' && (prefix === 'sqlite' || prefix.startsWith('sqlite_'))) {
22
+ throw new RangeError('The table prefix was refused: on SQLite, sqlite and a prefix beginning sqlite_ make names SQLite keeps for itself');
23
+ }
24
+ return prefix;
25
+ }
26
+ /** The names of the package's tables, without the prefix, the ledger last. */
27
+ export const TABLE_NAMES = ['jobs', 'runs', 'missed', 'schema_migrations'];
28
+ /** `<prefix>_<name>`. */
29
+ export function tableName(prefix, name) {
30
+ return `${prefix}_${name}`;
31
+ }
32
+ /** The four table names under `prefix`, the ledger among them. */
33
+ export function triggersTables(prefix) {
34
+ const checked = requirePrefix(prefix);
35
+ return TABLE_NAMES.map((name) => tableName(checked, name));
36
+ }
37
+ //# sourceMappingURL=prefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefix.js","sourceRoot":"","sources":["../../src/store/prefix.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC,0KAA0K;AAC1K,MAAM,MAAM,GAAG,wBAAwB,CAAC;AAExC,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,MAAe;IAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACrE,MAAM,IAAI,UAAU,CAAC,yHAAyH,CAAC,CAAC;AAClJ,CAAC;AAED,4IAA4I;AAC5I,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,OAA8B;IACjF,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,UAAU,CAAC,mHAAmH,CAAC,CAAC;IAC5I,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,CAAU,CAAC;AAKpF,yBAAyB;AACzB,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,IAAuB;IAC/D,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @fileoverview The numbered SQL of both dialects as text, so the built package carries it: `tsc`
3
+ * copies no `.sql` file into `dist`. The files beside this module, `postgres/0001_triggers.sql` and
4
+ * `sqlite/0001_triggers.sql`, are the readable form, and `test/migrations.test.ts` fails when this
5
+ * text and a file differ. `{{prefix}}` stands for the product's table prefix, which
6
+ * `triggersMigrations` writes in before the runner hashes and applies the text. A file that has
7
+ * shipped is never edited: a change is a new number.
8
+ */
9
+ /** One numbered file in both dialects. */
10
+ export interface TriggersMigrationFile {
11
+ readonly name: string;
12
+ readonly postgres: string;
13
+ readonly sqlite: string;
14
+ }
15
+ /** The first migration on PostgreSQL; `{{prefix}}` takes the product's table prefix before the ledger's checksum is taken. */
16
+ export declare const POSTGRES_0001_TRIGGERS = "-- The triggers tables on PostgreSQL. {{prefix}} is the product's table prefix, written in before this text is\n-- applied, so the ledger's checksum covers it. Times are milliseconds since the epoch, flags are 0 or 1. A later\n-- file only adds.\n\nCREATE TABLE IF NOT EXISTS {{prefix}}_jobs (\n name TEXT PRIMARY KEY,\n title TEXT NOT NULL,\n process TEXT NOT NULL,\n kind TEXT NOT NULL CHECK (kind IN ('scheduled', 'reports_only')),\n schedule TEXT,\n schedule_words TEXT NOT NULL,\n rule TEXT NOT NULL CHECK (rule IN ('catch_up_once', 'skip', 'required')),\n stall_after_ms BIGINT NOT NULL,\n safe_to_repeat INTEGER NOT NULL DEFAULT 0 CHECK (safe_to_repeat IN (0, 1)),\n retries INTEGER NOT NULL DEFAULT 5,\n timeout_ms BIGINT NOT NULL DEFAULT 600000,\n legal_duty INTEGER NOT NULL DEFAULT 0 CHECK (legal_duty IN (0, 1)),\n enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),\n paused_by TEXT,\n paused_at BIGINT,\n paused_note TEXT,\n next_due_at BIGINT,\n lease_holder TEXT,\n lease_token TEXT,\n lease_until BIGINT,\n last_run_at BIGINT,\n last_outcome TEXT,\n last_ms BIGINT,\n last_did TEXT,\n tries INTEGER NOT NULL DEFAULT 0,\n retry_at BIGINT,\n failed_at BIGINT,\n failed_kind TEXT,\n alerted_at BIGINT,\n hand_run_by TEXT,\n hand_run_at BIGINT,\n stall_since BIGINT,\n stall_ref TEXT,\n registered_at BIGINT NOT NULL,\n updated_at BIGINT NOT NULL\n);\nCREATE INDEX IF NOT EXISTS {{prefix}}_jobs_next_due_at ON {{prefix}}_jobs (next_due_at);\n\nCREATE TABLE IF NOT EXISTS {{prefix}}_runs (\n id TEXT PRIMARY KEY,\n job TEXT NOT NULL,\n started_at BIGINT NOT NULL,\n ended_at BIGINT,\n outcome TEXT NOT NULL CHECK (outcome IN ('running', 'ok', 'failed', 'skipped')),\n ms BIGINT,\n tries INTEGER NOT NULL DEFAULT 0,\n kind TEXT,\n did TEXT,\n by_hand TEXT,\n covers_from BIGINT,\n covers_to BIGINT,\n lease_token TEXT\n);\nCREATE INDEX IF NOT EXISTS {{prefix}}_runs_job_started_at ON {{prefix}}_runs (job, started_at);\n\nCREATE TABLE IF NOT EXISTS {{prefix}}_missed (\n id TEXT PRIMARY KEY,\n job TEXT NOT NULL,\n due_at BIGINT NOT NULL,\n cause TEXT NOT NULL CHECK (cause IN ('worker_down', 'paused')),\n action TEXT NOT NULL CHECK (action IN ('caught_up', 'skipped')),\n acted_at BIGINT,\n run_id TEXT\n);\nCREATE UNIQUE INDEX IF NOT EXISTS {{prefix}}_missed_job_due_at ON {{prefix}}_missed (job, due_at);\n";
17
+ /** The first migration on SQLite: the PostgreSQL text with INTEGER for BIGINT. */
18
+ export declare const SQLITE_0001_TRIGGERS = "-- The triggers tables on SQLite. {{prefix}} is the product's table prefix, written in before this text is\n-- applied, so the ledger's checksum covers it. Times are milliseconds since the epoch, flags are 0 or 1. A later\n-- file only adds.\n\nCREATE TABLE IF NOT EXISTS {{prefix}}_jobs (\n name TEXT PRIMARY KEY,\n title TEXT NOT NULL,\n process TEXT NOT NULL,\n kind TEXT NOT NULL CHECK (kind IN ('scheduled', 'reports_only')),\n schedule TEXT,\n schedule_words TEXT NOT NULL,\n rule TEXT NOT NULL CHECK (rule IN ('catch_up_once', 'skip', 'required')),\n stall_after_ms INTEGER NOT NULL,\n safe_to_repeat INTEGER NOT NULL DEFAULT 0 CHECK (safe_to_repeat IN (0, 1)),\n retries INTEGER NOT NULL DEFAULT 5,\n timeout_ms INTEGER NOT NULL DEFAULT 600000,\n legal_duty INTEGER NOT NULL DEFAULT 0 CHECK (legal_duty IN (0, 1)),\n enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),\n paused_by TEXT,\n paused_at INTEGER,\n paused_note TEXT,\n next_due_at INTEGER,\n lease_holder TEXT,\n lease_token TEXT,\n lease_until INTEGER,\n last_run_at INTEGER,\n last_outcome TEXT,\n last_ms INTEGER,\n last_did TEXT,\n tries INTEGER NOT NULL DEFAULT 0,\n retry_at INTEGER,\n failed_at INTEGER,\n failed_kind TEXT,\n alerted_at INTEGER,\n hand_run_by TEXT,\n hand_run_at INTEGER,\n stall_since INTEGER,\n stall_ref TEXT,\n registered_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n);\nCREATE INDEX IF NOT EXISTS {{prefix}}_jobs_next_due_at ON {{prefix}}_jobs (next_due_at);\n\nCREATE TABLE IF NOT EXISTS {{prefix}}_runs (\n id TEXT PRIMARY KEY,\n job TEXT NOT NULL,\n started_at INTEGER NOT NULL,\n ended_at INTEGER,\n outcome TEXT NOT NULL CHECK (outcome IN ('running', 'ok', 'failed', 'skipped')),\n ms INTEGER,\n tries INTEGER NOT NULL DEFAULT 0,\n kind TEXT,\n did TEXT,\n by_hand TEXT,\n covers_from INTEGER,\n covers_to INTEGER,\n lease_token TEXT\n);\nCREATE INDEX IF NOT EXISTS {{prefix}}_runs_job_started_at ON {{prefix}}_runs (job, started_at);\n\nCREATE TABLE IF NOT EXISTS {{prefix}}_missed (\n id TEXT PRIMARY KEY,\n job TEXT NOT NULL,\n due_at INTEGER NOT NULL,\n cause TEXT NOT NULL CHECK (cause IN ('worker_down', 'paused')),\n action TEXT NOT NULL CHECK (action IN ('caught_up', 'skipped')),\n acted_at INTEGER,\n run_id TEXT\n);\nCREATE UNIQUE INDEX IF NOT EXISTS {{prefix}}_missed_job_due_at ON {{prefix}}_missed (job, due_at);\n";
19
+ /** The package's migrations in number order. A later file only adds. */
20
+ export declare const MIGRATION_FILES: readonly TriggersMigrationFile[];
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/sql/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8HAA8H;AAC9H,eAAO,MAAM,sBAAsB,u1EAsElC,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,w2EAsEhC,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,eAAe,EAAE,SAAS,qBAAqB,EAE3D,CAAC"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * @fileoverview The numbered SQL of both dialects as text, so the built package carries it: `tsc`
3
+ * copies no `.sql` file into `dist`. The files beside this module, `postgres/0001_triggers.sql` and
4
+ * `sqlite/0001_triggers.sql`, are the readable form, and `test/migrations.test.ts` fails when this
5
+ * text and a file differ. `{{prefix}}` stands for the product's table prefix, which
6
+ * `triggersMigrations` writes in before the runner hashes and applies the text. A file that has
7
+ * shipped is never edited: a change is a new number.
8
+ */
9
+ /** The first migration on PostgreSQL; `{{prefix}}` takes the product's table prefix before the ledger's checksum is taken. */
10
+ export const POSTGRES_0001_TRIGGERS = `-- The triggers tables on PostgreSQL. {{prefix}} is the product's table prefix, written in before this text is
11
+ -- applied, so the ledger's checksum covers it. Times are milliseconds since the epoch, flags are 0 or 1. A later
12
+ -- file only adds.
13
+
14
+ CREATE TABLE IF NOT EXISTS {{prefix}}_jobs (
15
+ name TEXT PRIMARY KEY,
16
+ title TEXT NOT NULL,
17
+ process TEXT NOT NULL,
18
+ kind TEXT NOT NULL CHECK (kind IN ('scheduled', 'reports_only')),
19
+ schedule TEXT,
20
+ schedule_words TEXT NOT NULL,
21
+ rule TEXT NOT NULL CHECK (rule IN ('catch_up_once', 'skip', 'required')),
22
+ stall_after_ms BIGINT NOT NULL,
23
+ safe_to_repeat INTEGER NOT NULL DEFAULT 0 CHECK (safe_to_repeat IN (0, 1)),
24
+ retries INTEGER NOT NULL DEFAULT 5,
25
+ timeout_ms BIGINT NOT NULL DEFAULT 600000,
26
+ legal_duty INTEGER NOT NULL DEFAULT 0 CHECK (legal_duty IN (0, 1)),
27
+ enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),
28
+ paused_by TEXT,
29
+ paused_at BIGINT,
30
+ paused_note TEXT,
31
+ next_due_at BIGINT,
32
+ lease_holder TEXT,
33
+ lease_token TEXT,
34
+ lease_until BIGINT,
35
+ last_run_at BIGINT,
36
+ last_outcome TEXT,
37
+ last_ms BIGINT,
38
+ last_did TEXT,
39
+ tries INTEGER NOT NULL DEFAULT 0,
40
+ retry_at BIGINT,
41
+ failed_at BIGINT,
42
+ failed_kind TEXT,
43
+ alerted_at BIGINT,
44
+ hand_run_by TEXT,
45
+ hand_run_at BIGINT,
46
+ stall_since BIGINT,
47
+ stall_ref TEXT,
48
+ registered_at BIGINT NOT NULL,
49
+ updated_at BIGINT NOT NULL
50
+ );
51
+ CREATE INDEX IF NOT EXISTS {{prefix}}_jobs_next_due_at ON {{prefix}}_jobs (next_due_at);
52
+
53
+ CREATE TABLE IF NOT EXISTS {{prefix}}_runs (
54
+ id TEXT PRIMARY KEY,
55
+ job TEXT NOT NULL,
56
+ started_at BIGINT NOT NULL,
57
+ ended_at BIGINT,
58
+ outcome TEXT NOT NULL CHECK (outcome IN ('running', 'ok', 'failed', 'skipped')),
59
+ ms BIGINT,
60
+ tries INTEGER NOT NULL DEFAULT 0,
61
+ kind TEXT,
62
+ did TEXT,
63
+ by_hand TEXT,
64
+ covers_from BIGINT,
65
+ covers_to BIGINT,
66
+ lease_token TEXT
67
+ );
68
+ CREATE INDEX IF NOT EXISTS {{prefix}}_runs_job_started_at ON {{prefix}}_runs (job, started_at);
69
+
70
+ CREATE TABLE IF NOT EXISTS {{prefix}}_missed (
71
+ id TEXT PRIMARY KEY,
72
+ job TEXT NOT NULL,
73
+ due_at BIGINT NOT NULL,
74
+ cause TEXT NOT NULL CHECK (cause IN ('worker_down', 'paused')),
75
+ action TEXT NOT NULL CHECK (action IN ('caught_up', 'skipped')),
76
+ acted_at BIGINT,
77
+ run_id TEXT
78
+ );
79
+ CREATE UNIQUE INDEX IF NOT EXISTS {{prefix}}_missed_job_due_at ON {{prefix}}_missed (job, due_at);
80
+ `;
81
+ /** The first migration on SQLite: the PostgreSQL text with INTEGER for BIGINT. */
82
+ export const SQLITE_0001_TRIGGERS = `-- The triggers tables on SQLite. {{prefix}} is the product's table prefix, written in before this text is
83
+ -- applied, so the ledger's checksum covers it. Times are milliseconds since the epoch, flags are 0 or 1. A later
84
+ -- file only adds.
85
+
86
+ CREATE TABLE IF NOT EXISTS {{prefix}}_jobs (
87
+ name TEXT PRIMARY KEY,
88
+ title TEXT NOT NULL,
89
+ process TEXT NOT NULL,
90
+ kind TEXT NOT NULL CHECK (kind IN ('scheduled', 'reports_only')),
91
+ schedule TEXT,
92
+ schedule_words TEXT NOT NULL,
93
+ rule TEXT NOT NULL CHECK (rule IN ('catch_up_once', 'skip', 'required')),
94
+ stall_after_ms INTEGER NOT NULL,
95
+ safe_to_repeat INTEGER NOT NULL DEFAULT 0 CHECK (safe_to_repeat IN (0, 1)),
96
+ retries INTEGER NOT NULL DEFAULT 5,
97
+ timeout_ms INTEGER NOT NULL DEFAULT 600000,
98
+ legal_duty INTEGER NOT NULL DEFAULT 0 CHECK (legal_duty IN (0, 1)),
99
+ enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),
100
+ paused_by TEXT,
101
+ paused_at INTEGER,
102
+ paused_note TEXT,
103
+ next_due_at INTEGER,
104
+ lease_holder TEXT,
105
+ lease_token TEXT,
106
+ lease_until INTEGER,
107
+ last_run_at INTEGER,
108
+ last_outcome TEXT,
109
+ last_ms INTEGER,
110
+ last_did TEXT,
111
+ tries INTEGER NOT NULL DEFAULT 0,
112
+ retry_at INTEGER,
113
+ failed_at INTEGER,
114
+ failed_kind TEXT,
115
+ alerted_at INTEGER,
116
+ hand_run_by TEXT,
117
+ hand_run_at INTEGER,
118
+ stall_since INTEGER,
119
+ stall_ref TEXT,
120
+ registered_at INTEGER NOT NULL,
121
+ updated_at INTEGER NOT NULL
122
+ );
123
+ CREATE INDEX IF NOT EXISTS {{prefix}}_jobs_next_due_at ON {{prefix}}_jobs (next_due_at);
124
+
125
+ CREATE TABLE IF NOT EXISTS {{prefix}}_runs (
126
+ id TEXT PRIMARY KEY,
127
+ job TEXT NOT NULL,
128
+ started_at INTEGER NOT NULL,
129
+ ended_at INTEGER,
130
+ outcome TEXT NOT NULL CHECK (outcome IN ('running', 'ok', 'failed', 'skipped')),
131
+ ms INTEGER,
132
+ tries INTEGER NOT NULL DEFAULT 0,
133
+ kind TEXT,
134
+ did TEXT,
135
+ by_hand TEXT,
136
+ covers_from INTEGER,
137
+ covers_to INTEGER,
138
+ lease_token TEXT
139
+ );
140
+ CREATE INDEX IF NOT EXISTS {{prefix}}_runs_job_started_at ON {{prefix}}_runs (job, started_at);
141
+
142
+ CREATE TABLE IF NOT EXISTS {{prefix}}_missed (
143
+ id TEXT PRIMARY KEY,
144
+ job TEXT NOT NULL,
145
+ due_at INTEGER NOT NULL,
146
+ cause TEXT NOT NULL CHECK (cause IN ('worker_down', 'paused')),
147
+ action TEXT NOT NULL CHECK (action IN ('caught_up', 'skipped')),
148
+ acted_at INTEGER,
149
+ run_id TEXT
150
+ );
151
+ CREATE UNIQUE INDEX IF NOT EXISTS {{prefix}}_missed_job_due_at ON {{prefix}}_missed (job, due_at);
152
+ `;
153
+ /** The package's migrations in number order. A later file only adds. */
154
+ export const MIGRATION_FILES = [
155
+ { name: '0001_triggers.sql', postgres: POSTGRES_0001_TRIGGERS, sqlite: SQLITE_0001_TRIGGERS },
156
+ ];
157
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/sql/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,8HAA8H;AAC9H,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsErC,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEnC,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAqC;IAC/D,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAE;CAC9F,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { TriggersOptions, Watcher } from './contract.js';
2
+ /** How often the watcher passes when the host gives no interval. */
3
+ export declare const DEFAULT_WATCH_EVERY_MS = 60000;
4
+ /** How long a host's handler may run before the watcher gives it up as a throw, when the host gives no bound. */
5
+ export declare const DEFAULT_HANDLER_TIMEOUT_MS = 30000;
6
+ /** The options `createWatcher` takes: the scheduler's, without the commands' hooks, the pass interval and the bound on each handler call. */
7
+ export type WatcherOptions = Omit<TriggersOptions, 'audit' | 'handRunsPerHour'> & {
8
+ readonly everyMs?: number;
9
+ readonly handlerTimeoutMs?: number;
10
+ };
11
+ /** The watcher with its pass exposed, for the package's tests. */
12
+ export interface WatcherInternals extends Watcher {
13
+ /** One pass: the watch lease, then every job judged. A second call while one runs waits for that pass. */
14
+ pass(): Promise<void>;
15
+ }
16
+ /**
17
+ * The stall watcher (spec 4.2 steps 5 and 6): under its own lease row `__watch` it finds stalled jobs and calls `onStalled`
18
+ * once a stall, storing the handler's reference on the row; `onRecovered` once when the job runs again; `onFailedAgain`
19
+ * once a day for a job that stays failed. Paused and failed jobs are never judged stalled, and neither is a scheduled job
20
+ * with nothing owed (a one-shot that ran, or a job whose next due time or retry is still ahead); a scheduled job's quiet is
21
+ * measured from its last run or the time it became owed, whichever is later. A pass renews the watch lease while it runs and
22
+ * stops when another holder took it. A handler call that has not settled within `handlerTimeoutMs` is given up as a throw, so
23
+ * a handler that never settles never holds the pass and its lease. `internals.arm: false` arms no interval: the caller drives `pass()`.
24
+ */
25
+ export declare function createWatcher(options: WatcherOptions, internals?: {
26
+ readonly arm?: boolean;
27
+ }): WatcherInternals;
28
+ //# sourceMappingURL=watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAW,eAAe,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOvE,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,iHAAiH;AACjH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAGjD,6IAA6I;AAC7I,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,iBAAiB,CAAC,GAAG;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpJ,kEAAkE;AAClE,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,0GAA0G;IAC1G,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,GAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,gBAAgB,CA2PnH"}