@justfortytwo/scheduler 1.0.0-2 → 1.0.0-3

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/README.md CHANGED
@@ -90,3 +90,15 @@ On boot and on every 30-second poll tick — even while a previous tick is still
90
90
  ## License
91
91
 
92
92
  MIT © 2026 Enrico Deleo
93
+
94
+ ## Oneiros maintenance
95
+
96
+ `persona.oneiros` runs daily at `17 3 * * *` UTC, with null payload and the existing
97
+ durable retry/claim mechanism. Installer seeds it after initializing persona's
98
+ checkpoint; daemon boot reconciles the same job when the checkpoint exists.
99
+ The cheap gate checks the memory head. Persona validates and applies additions;
100
+ scheduler runs the private prompt through runner in an isolated temporary cwd.
101
+ No tools, MCP, skills or session persistence are enabled, and maintenance emits
102
+ no notification into memory. Authentication/provider configuration is preserved.
103
+ Requires a Claude CLI with `--safe-mode`; unsupported flags fail closed.
104
+ Stop the runtime before upgrading packages and start it again afterwards.
package/dist/daemon.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { resolve } from 'node:path';
2
+ import { makeOneirosHandler, oneirosEnabled, seedOneiros } from './oneiros.js';
1
3
  import { Cron } from 'croner';
2
4
  import PQueue from 'p-queue';
3
5
  import { openDb, runMigrations, claimDue, complete, fail, requeueStale, FakeEmbedder, OllamaEmbedder, store, query, reembed, listActive, enqueue, setRecurrence, countPendingApprovals, } from '@justfortytwo/memory';
@@ -110,7 +112,8 @@ export async function startDaemon(opts) {
110
112
  const runner = createRunner();
111
113
  const reembedOne = (id) => reembed(h, embedder, id);
112
114
  return buildRegistry({
113
- runner,
115
+ runner: async (prompt) => runner.run({ prompt }),
116
+ oneiros: oneirosEnabled(resolve(process.env['FORTYTWO_ROOT'] ?? process.cwd())) ? makeOneirosHandler(resolve(process.env['FORTYTWO_ROOT'] ?? process.cwd()), h) : undefined,
114
117
  countPendingApprovals: () => countPendingApprovals(h),
115
118
  // Compute the 7-day lookback per call so a long-running daemon's window
116
119
  // does not drift forward from the boot-time instant.
@@ -124,6 +127,8 @@ export async function startDaemon(opts) {
124
127
  enqueue: (j) => enqueue(h, j),
125
128
  setRecurrence: (id, rec, at) => setRecurrence(h, id, rec, at),
126
129
  }, RECURRING_DEFS, new Date().toISOString(), recurrenceNext);
130
+ if (oneirosEnabled(resolve(process.env['FORTYTWO_ROOT'] ?? process.cwd())))
131
+ seedOneiros(h, new Date().toISOString(), recurrenceNext);
127
132
  // Write liveness heartbeat on boot.
128
133
  const hbPath = heartbeatPath(opts.dbPath);
129
134
  writeHeartbeat(hbPath, process.pid, new Date().toISOString());
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Registry } from '../types.js';
1
+ import type { Handler, Registry } from '../types.js';
2
2
  import type { RunnerFn } from './recurring.js';
3
3
  import type { ReembedOneFn } from './reembed.js';
4
4
  export interface RecurringDef {
@@ -15,6 +15,7 @@ export interface RecurringDef {
15
15
  */
16
16
  export declare const RECURRING_DEFS: RecurringDef[];
17
17
  export interface RegistryDeps {
18
+ oneiros?: Handler;
18
19
  /** Bound `createRunner()` return value. */
19
20
  runner: RunnerFn;
20
21
  /** Returns the count of pending approvals (injected so tests can fake it). */
@@ -27,6 +27,7 @@ export const RECURRING_DEFS = [
27
27
  export function buildRegistry(deps) {
28
28
  const { runner, countPendingApprovals, recentCount, reembedOne } = deps;
29
29
  return createRegistry([
30
+ ...(deps.oneiros ? [deps.oneiros] : []),
30
31
  // --- Recurring: ungated ---
31
32
  makeRecurringHandler({
32
33
  kind: 'daily_briefing',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAclD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,iEAAiE;KAC3E;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,qGAAqG;KAC/G;IACD;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,qHAAqH;KAC/H;CACF,CAAC;AAoBF,MAAM,UAAU,aAAa,CAAC,IAAkB;IAC9C,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAExE,OAAO,cAAc,CAAC;QACpB,6BAA6B;QAC7B,oBAAoB,CAAC;YACnB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAE,CAAC,OAAO;YACzE,MAAM;SACP,CAAC;QAEF,oDAAoD;QACpD,oBAAoB,CAAC;YACnB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAE,CAAC,OAAO;YAChE,MAAM;YACN,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,EAAE,GAAG,CAAC;SACjD,CAAC;QAEF,kDAAkD;QAClD,oBAAoB,CAAC;YACnB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAE,CAAC,OAAO;YACvE,MAAM;YACN,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,GAAG,CAAC;SAC/C,CAAC;QAEF,2BAA2B;QAC3B,wBAAwB,CAAC,MAAM,CAAC;QAChC,gBAAgB,CAAC,MAAM,CAAC;QACxB,mBAAmB,CAAC,MAAM,CAAC;QAE3B,+CAA+C;QAC/C,kBAAkB,CAAC,UAAU,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAclD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,iEAAiE;KAC3E;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,qGAAqG;KAC/G;IACD;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,qHAAqH;KAC/H;CACF,CAAC;AAqBF,MAAM,UAAU,aAAa,CAAC,IAAkB;IAC9C,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAExE,OAAO,cAAc,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,6BAA6B;QAC7B,oBAAoB,CAAC;YACnB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAE,CAAC,OAAO;YACzE,MAAM;SACP,CAAC;QAEF,oDAAoD;QACpD,oBAAoB,CAAC;YACnB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAE,CAAC,OAAO;YAChE,MAAM;YACN,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,EAAE,GAAG,CAAC;SACjD,CAAC;QAEF,kDAAkD;QAClD,oBAAoB,CAAC;YACnB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAE,CAAC,OAAO;YACvE,MAAM;YACN,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,GAAG,CAAC;SAC/C,CAAC;QAEF,2BAA2B;QAC3B,wBAAwB,CAAC,MAAM,CAAC;QAChC,gBAAgB,CAAC,MAAM,CAAC;QACxB,mBAAmB,CAAC,MAAM,CAAC;QAE3B,+CAA+C;QAC/C,kBAAkB,CAAC,UAAU,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.d.ts CHANGED
@@ -11,3 +11,4 @@ export type { RecurringDef, RegistryDeps } from './handlers/index.js';
11
11
  export { seedRecurring } from './seed.js';
12
12
  export type { SeedStore } from './seed.js';
13
13
  export { heartbeatPath, writeHeartbeat } from './heartbeat.js';
14
+ export { ONEIROS_DEF, seedOneiros, makeOneirosHandler } from './oneiros.js';
package/dist/index.js CHANGED
@@ -64,4 +64,5 @@ if (invokedAsBin()) {
64
64
  process.exit(1);
65
65
  });
66
66
  }
67
+ export { ONEIROS_DEF, seedOneiros, makeOneirosHandler } from './oneiros.js';
67
68
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type RunOptions, type RunResult } from '@justfortytwo/runner';
2
+ import { type WorkerInput } from '@justfortytwo/persona';
3
+ import { type DbHandles } from '@justfortytwo/memory';
4
+ import type { Handler } from './types.js';
5
+ import type { RecurringDef } from './handlers/index.js';
6
+ export declare const ONEIROS_DEF: RecurringDef;
7
+ export declare function seedOneiros(h: DbHandles, now: string, next: (cron: string, now: string) => string): void;
8
+ export declare function isolatedWorker(input: WorkerInput, run?: (options: RunOptions) => Promise<RunResult>): Promise<unknown>;
9
+ export declare function oneirosEnabled(root: string): boolean;
10
+ export declare function makeOneirosHandler(root: string, h: DbHandles, worker?: typeof isolatedWorker): Handler;
@@ -0,0 +1,44 @@
1
+ // Internal maintenance adapter: scheduler owns timing and runner invocation.
2
+ import { mkdtempSync, rmSync, existsSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { createRunner } from '@justfortytwo/runner';
6
+ import { hasWork, refine, workerPrompt } from '@justfortytwo/persona';
7
+ import { memoryHead, memoryDelta, listActive, enqueue, setRecurrence } from '@justfortytwo/memory';
8
+ import { seedRecurring } from './seed.js';
9
+ export const ONEIROS_DEF = { kind: 'persona.oneiros', cron: '17 3 * * *', trigger: '' };
10
+ export function seedOneiros(h, now, next) {
11
+ // Existing seeder, serialized with the jobs DB write lock across installer/daemon.
12
+ h.raw.transaction(() => seedRecurring({ listActive: () => listActive(h), enqueue: j => enqueue(h, j), setRecurrence: (id, rec, at) => setRecurrence(h, id, rec, at) }, [ONEIROS_DEF], now, next)).immediate();
13
+ }
14
+ export async function isolatedWorker(input, run = createRunner().run) {
15
+ const cwd = mkdtempSync(join(tmpdir(), 'fortytwo-oneiros-'));
16
+ try {
17
+ // Safe mode keeps authentication/provider selection while disabling customizations,
18
+ // including hooks, CLAUDE.md and plugins. Unsupported flags fail closed.
19
+ // Provider selectors, OAuth/API credentials and their config directory must
20
+ // survive. Safe mode disables customization without discarding authentication.
21
+ const env = { CLAUDECODE: undefined, CLAUDE_CODE_SESSION_ID: undefined };
22
+ const result = await run({ cwd, env, timeoutMs: 120_000,
23
+ args: ['--safe-mode', '--tools', '', '--strict-mcp-config', '--mcp-config', '{"mcpServers":{}}', '--disable-slash-commands', '--no-session-persistence', '--setting-sources', '', '--system-prompt', workerPrompt],
24
+ prompt: JSON.stringify(input),
25
+ });
26
+ if (!result.ok)
27
+ throw new Error('Oneiros worker failed');
28
+ if (Buffer.byteLength(result.text) > 16_384)
29
+ throw new Error('Oneiros response too large');
30
+ return JSON.parse(result.text);
31
+ }
32
+ finally {
33
+ rmSync(cwd, { recursive: true, force: true });
34
+ }
35
+ }
36
+ export function oneirosEnabled(root) { return existsSync(join(root, '.fortytwo/oneiros/checkpoint.json')); }
37
+ export function makeOneirosHandler(root, h, worker = isolatedWorker) {
38
+ const memory = { head: () => memoryHead(h), delta: (cursor) => memoryDelta(h, cursor) };
39
+ return { kind: ONEIROS_DEF.kind,
40
+ hasWork: async () => hasWork(root, memory),
41
+ run: async () => { await refine({ root, memory, worker }); return null; },
42
+ };
43
+ }
44
+ //# sourceMappingURL=oneiros.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oneiros.js","sourceRoot":"","sources":["../src/oneiros.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@justfortytwo/scheduler",
3
- "version": "1.0.0-2",
4
- "description": "Durable job scheduler daemon for justfortytwo — drains a jobs queue and fires LLM turns behind a cheap gate.",
3
+ "version": "1.0.0-3",
4
+ "description": "Durable job scheduler daemon for justfortytwo \u2014 drains a jobs queue and fires LLM turns behind a cheap gate.",
5
5
  "license": "MIT",
6
6
  "author": {
7
7
  "name": "Enrico Deleo",
@@ -34,10 +34,11 @@
34
34
  "fortytwo-scheduler": "dist/index.js"
35
35
  },
36
36
  "dependencies": {
37
- "@justfortytwo/memory": "^1.0.0-0",
38
- "@justfortytwo/runner": "^0.1.0",
37
+ "@justfortytwo/memory": "1.0.0-2",
38
+ "@justfortytwo/runner": "1.0.0-0",
39
39
  "croner": "^10.0.0",
40
- "p-queue": "^9.0.0"
40
+ "p-queue": "^9.0.0",
41
+ "@justfortytwo/persona": "1.0.0-2"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@justfortytwo/telegram": "^1.0.0-2",