nexus-canon 1.6.0 → 1.6.2
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/dist/canonRepo.d.ts +8 -0
- package/dist/canonRepo.d.ts.map +1 -1
- package/dist/canonRepo.js +10 -0
- package/dist/canonRepo.js.map +1 -1
- package/dist/canonSync.d.ts.map +1 -1
- package/dist/canonSync.js +36 -6
- package/dist/canonSync.js.map +1 -1
- package/dist/canonSyncScheduler.d.ts +0 -19
- package/dist/canonSyncScheduler.d.ts.map +1 -1
- package/dist/canonSyncScheduler.js +64 -2
- package/dist/canonSyncScheduler.js.map +1 -1
- package/package.json +2 -2
package/dist/canonRepo.d.ts
CHANGED
|
@@ -17,4 +17,12 @@ export declare function resolveCanonRepo(explicit?: string): string | null;
|
|
|
17
17
|
* needs this; its `origin` is the truth.
|
|
18
18
|
*/
|
|
19
19
|
export declare function requireCanonRepo(explicit: string | undefined, storePath: string, label?: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Strip any embedded credential from a git URL before it is logged. Turns
|
|
22
|
+
* `https://x-access-token:<TOKEN>@github.com/owner/repo` into
|
|
23
|
+
* `https://***@github.com/owner/repo`. Defense-in-depth: the token should not be
|
|
24
|
+
* in the URL at all (it rides in GH_TOKEN + http.extraheader), but any URL that
|
|
25
|
+
* still carries one must never reach a log line, PTY, or captured transcript.
|
|
26
|
+
*/
|
|
27
|
+
export declare function redactRepoUrl(url: string): string;
|
|
20
28
|
//# sourceMappingURL=canonRepo.d.ts.map
|
package/dist/canonRepo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonRepo.d.ts","sourceRoot":"","sources":["../src/canonRepo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAU,GAAG,MAAM,CAUzG"}
|
|
1
|
+
{"version":3,"file":"canonRepo.d.ts","sourceRoot":"","sources":["../src/canonRepo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAU,GAAG,MAAM,CAUzG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD"}
|
package/dist/canonRepo.js
CHANGED
|
@@ -27,4 +27,14 @@ export function requireCanonRepo(explicit, storePath, label = 'canon') {
|
|
|
27
27
|
}
|
|
28
28
|
return url;
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Strip any embedded credential from a git URL before it is logged. Turns
|
|
32
|
+
* `https://x-access-token:<TOKEN>@github.com/owner/repo` into
|
|
33
|
+
* `https://***@github.com/owner/repo`. Defense-in-depth: the token should not be
|
|
34
|
+
* in the URL at all (it rides in GH_TOKEN + http.extraheader), but any URL that
|
|
35
|
+
* still carries one must never reach a log line, PTY, or captured transcript.
|
|
36
|
+
*/
|
|
37
|
+
export function redactRepoUrl(url) {
|
|
38
|
+
return url.replace(/\/\/[^/@]*@/, '//***@');
|
|
39
|
+
}
|
|
30
40
|
//# sourceMappingURL=canonRepo.js.map
|
package/dist/canonRepo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonRepo.js","sourceRoot":"","sources":["../src/canonRepo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,OAAO,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA4B,EAAE,SAAiB,EAAE,KAAK,GAAG,OAAO;IAC/F,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,IAAI,KAAK,uBAAuB,SAAS,8BAA8B;YACvE,uEAAuE;YACvE,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"canonRepo.js","sourceRoot":"","sources":["../src/canonRepo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,OAAO,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA4B,EAAE,SAAiB,EAAE,KAAK,GAAG,OAAO;IAC/F,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,IAAI,KAAK,uBAAuB,SAAS,8BAA8B;YACvE,uEAAuE;YACvE,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/canonSync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonSync.d.ts","sourceRoot":"","sources":["../src/canonSync.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;CAAE;AAqBtG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAc1F;AA6BD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAsB,SAAS,CAAC,CAAC,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"canonSync.d.ts","sourceRoot":"","sources":["../src/canonSync.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;CAAE;AAqBtG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAc1F;AA6BD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAsB,SAAS,CAAC,CAAC,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CA4LlF"}
|
package/dist/canonSync.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* @module canon/canonSync
|
|
17
17
|
*/
|
|
18
|
-
import { requireCanonRepo } from './canonRepo.js';
|
|
18
|
+
import { requireCanonRepo, redactRepoUrl } from './canonRepo.js';
|
|
19
19
|
import * as fs from 'node:fs';
|
|
20
20
|
import * as path from 'node:path';
|
|
21
21
|
import { execFileSync } from 'node:child_process';
|
|
@@ -95,14 +95,44 @@ export async function canonSync(o = {}) {
|
|
|
95
95
|
const MANIFEST_PATH = path.join(HOME, '.canon', 'manifest.json');
|
|
96
96
|
const MAX_BYTES = 50 * 1024 * 1024; // GitHub hard-rejects >100MB; margin for scrub growth
|
|
97
97
|
const PART_BYTES = 25 * 1024 * 1024;
|
|
98
|
+
// Git auth + identity. The token rides in env (GH_TOKEN/GITHUB_TOKEN) and is
|
|
99
|
+
// applied PER-INVOCATION via http.extraheader — never embedded in the clone URL,
|
|
100
|
+
// .git/config, argv, or a log line. Identity is set per-call so a container with
|
|
101
|
+
// no global git identity can still commit (fixes 'Author identity unknown').
|
|
102
|
+
const GIT_TOKEN = process.env.GH_TOKEN || process.env.GITHUB_TOKEN || '';
|
|
103
|
+
const GIT_AUTH_ARGS = GIT_TOKEN
|
|
104
|
+
? ['-c', `http.extraheader=AUTHORIZATION: basic ${Buffer.from(`x-access-token:${GIT_TOKEN}`).toString('base64')}`]
|
|
105
|
+
: [];
|
|
106
|
+
const GIT_ID_ARGS = [
|
|
107
|
+
'-c', `user.email=${process.env.CANON_GIT_EMAIL || 'canon-sync@nexus-cortex.local'}`,
|
|
108
|
+
'-c', `user.name=${process.env.CANON_GIT_NAME || 'nexus-cortex canon-sync'}`,
|
|
109
|
+
];
|
|
98
110
|
if (!fs.existsSync(path.join(STORE, '.git'))) {
|
|
99
111
|
// Working clone is disposable (quota lesson 2026-07-27: keep it OFF the
|
|
100
112
|
// workspace quota — pass --store /tmp/canon-store); remote is the truth.
|
|
101
113
|
const CANON_REPO = requireCanonRepo(o.repoUrl, STORE, 'canon-sync');
|
|
102
|
-
console.log(`[canon-sync] no store at ${STORE} — cloning ${CANON_REPO}`);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
114
|
+
console.log(`[canon-sync] no store at ${STORE} — cloning ${redactRepoUrl(CANON_REPO)}`);
|
|
115
|
+
try {
|
|
116
|
+
// stdio piped: git's stderr must NEVER bleed into the host terminal (an
|
|
117
|
+
// interactive PTY renders it as corruption); captured on the error instead.
|
|
118
|
+
execFileSync('git', [...GIT_AUTH_ARGS, 'clone', '-q', CANON_REPO, STORE], {
|
|
119
|
+
encoding: 'utf8', env: { ...process.env, GIT_TERMINAL_PROMPT: '0' },
|
|
120
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
// Surface an ACTIONABLE, redacted failure line (console → CANON_LOG_FILE in
|
|
125
|
+
// hosted mode) instead of the previous silent forever-retry. The classic
|
|
126
|
+
// signature `could not read Username` / 401 = missing OR REVOKED token —
|
|
127
|
+
// in the hosted flow that means the vault credential is stale: re-save the
|
|
128
|
+
// canon store in CORTEX -> Connections ("Save for hosted sessions").
|
|
129
|
+
const stderr = redactRepoUrl(String(e.stderr ?? e.message ?? e));
|
|
130
|
+
const hint = /could not read Username|Authentication failed|401|403/.test(stderr)
|
|
131
|
+
? ' — token missing/invalid (GH_TOKEN). Hosted: re-save the canon store in CORTEX -> Connections (Save for hosted sessions) and reconnect.'
|
|
132
|
+
: '';
|
|
133
|
+
console.error(`[canon-sync] clone FAILED: ${stderr.trim().split('\n').pop()}${hint}`);
|
|
134
|
+
throw e;
|
|
135
|
+
}
|
|
106
136
|
}
|
|
107
137
|
const manifest = fs.existsSync(MANIFEST_PATH)
|
|
108
138
|
? JSON.parse(fs.readFileSync(MANIFEST_PATH, 'utf8'))
|
|
@@ -246,7 +276,7 @@ export async function canonSync(o = {}) {
|
|
|
246
276
|
}
|
|
247
277
|
fs.mkdirSync(path.dirname(MANIFEST_PATH), { recursive: true });
|
|
248
278
|
fs.writeFileSync(MANIFEST_PATH, JSON.stringify(manifest));
|
|
249
|
-
const git = (a) => execFileSync('git', a, { cwd: STORE, encoding: 'utf8', env: { ...process.env, GIT_TERMINAL_PROMPT: '0' } });
|
|
279
|
+
const git = (a) => execFileSync('git', [...GIT_AUTH_ARGS, ...GIT_ID_ARGS, ...a], { cwd: STORE, encoding: 'utf8', env: { ...process.env, GIT_TERMINAL_PROMPT: '0' }, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
250
280
|
// BROWSER-BRANCH INTEGRATION: each browser SPA pushes its own
|
|
251
281
|
// `browser-cortex-<id>` branch (its in-browser repo has UNRELATED history, so
|
|
252
282
|
// it can never fast-forward main — and force would clobber the store). Fold
|
package/dist/canonSync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonSync.js","sourceRoot":"","sources":["../src/canonSync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canonSync.js","sourceRoot":"","sources":["../src/canonSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* canonSyncScheduler — the NODE analog of the browser SPA's event-driven canon
|
|
3
|
-
* capture (`recordSessionTurn` → `scheduleCanonSync`). The node orchestrator calls
|
|
4
|
-
* `scheduleCanonSync()` at each turn-completion seam; a burst of turns collapses
|
|
5
|
-
* into ONE debounced `canonSync()`.
|
|
6
|
-
*
|
|
7
|
-
* OPT-IN: a no-op unless `CANON_AUTO_SYNC` is set — reactive capture pushes to a
|
|
8
|
-
* git remote, so it never fires without the user asking for it (same discipline
|
|
9
|
-
* as the browser's default-off auto-push). Best-effort: errors are swallowed so a
|
|
10
|
-
* capture failure can never affect the turn — the exact contract as the adjacent
|
|
11
|
-
* `scoreAndRecordTurnPrediction` post-turn side effect in the orchestrator.
|
|
12
|
-
*
|
|
13
|
-
* There is no session-write event to subscribe to (JSONLHistoryStore emits
|
|
14
|
-
* nothing), so this imperative debounced trigger IS the analog of the browser
|
|
15
|
-
* hook. External harnesses (grok/gemini) whose turn loop this process never runs
|
|
16
|
-
* are covered instead by `cortex canon watch` (see canonWatch.ts).
|
|
17
|
-
*
|
|
18
|
-
* @module canon/canonSyncScheduler
|
|
19
|
-
*/
|
|
20
1
|
import { type CanonSyncOptions } from './canonSync.js';
|
|
21
2
|
export interface CanonAutoSyncConfig {
|
|
22
3
|
/** Opt-in gate. False → scheduleCanonSync is a no-op. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonSyncScheduler.d.ts","sourceRoot":"","sources":["../src/canonSyncScheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"canonSyncScheduler.d.ts","sourceRoot":"","sources":["../src/canonSyncScheduler.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,gBAAgB,CAAC;AAIrE,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAKD,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,mBAAmB,CAQ7F;AAuCD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAE3G;AAeD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAAG,IAAI,CAQpF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD"}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* canonSyncScheduler — the NODE analog of the browser SPA's event-driven canon
|
|
3
|
+
* capture (`recordSessionTurn` → `scheduleCanonSync`). The node orchestrator calls
|
|
4
|
+
* `scheduleCanonSync()` at each turn-completion seam; a burst of turns collapses
|
|
5
|
+
* into ONE debounced `canonSync()`.
|
|
6
|
+
*
|
|
7
|
+
* OPT-IN: a no-op unless `CANON_AUTO_SYNC` is set — reactive capture pushes to a
|
|
8
|
+
* git remote, so it never fires without the user asking for it (same discipline
|
|
9
|
+
* as the browser's default-off auto-push). Best-effort: errors are swallowed so a
|
|
10
|
+
* capture failure can never affect the turn — the exact contract as the adjacent
|
|
11
|
+
* `scoreAndRecordTurnPrediction` post-turn side effect in the orchestrator.
|
|
12
|
+
*
|
|
13
|
+
* There is no session-write event to subscribe to (JSONLHistoryStore emits
|
|
14
|
+
* nothing), so this imperative debounced trigger IS the analog of the browser
|
|
15
|
+
* hook. External harnesses (grok/gemini) whose turn loop this process never runs
|
|
16
|
+
* are covered instead by `cortex canon watch` (see canonWatch.ts).
|
|
17
|
+
*
|
|
18
|
+
* @module canon/canonSyncScheduler
|
|
19
|
+
*/
|
|
20
|
+
import * as fs from 'fs';
|
|
21
|
+
import * as path from 'path';
|
|
22
|
+
import { scrubSecrets } from './canonSync.js';
|
|
1
23
|
import { canonPipeline } from './canonPipeline.js';
|
|
24
|
+
import { redactRepoUrl } from './canonRepo.js';
|
|
2
25
|
const TRUTHY = new Set(['1', 'true', 'on', 'yes', 'push']);
|
|
3
26
|
const DEFAULT_DEBOUNCE_MS = 60_000; // 60s — the node analog of the browser's 45s window
|
|
4
27
|
/** Resolve the auto-sync config from the environment (opt-in via CANON_AUTO_SYNC). */
|
|
@@ -17,12 +40,51 @@ let _timer = null;
|
|
|
17
40
|
let _pending = false;
|
|
18
41
|
let _syncing = false;
|
|
19
42
|
let _cfg = null;
|
|
43
|
+
/**
|
|
44
|
+
* Run the reactive pipeline with its status output routed to CANON_LOG_FILE
|
|
45
|
+
* (append, credential-redacted + secret-scrubbed) instead of stdout. The hosted
|
|
46
|
+
* container sets CANON_LOG_FILE so canon's console output never bleeds into — and
|
|
47
|
+
* corrupts — the interactive TUI render. CLI / cron (no CANON_LOG_FILE) print
|
|
48
|
+
* normally. Console is swapped only for the (coalesced, single-in-flight) sync
|
|
49
|
+
* window and always restored.
|
|
50
|
+
*/
|
|
51
|
+
async function runQuietly(fn) {
|
|
52
|
+
const logFile = process.env.CANON_LOG_FILE;
|
|
53
|
+
if (!logFile) {
|
|
54
|
+
await fn();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
fs.mkdirSync(path.dirname(logFile), { recursive: true });
|
|
59
|
+
}
|
|
60
|
+
catch { /* best-effort */ }
|
|
61
|
+
const orig = { log: console.log, warn: console.warn, error: console.error };
|
|
62
|
+
const sink = (...a) => {
|
|
63
|
+
try {
|
|
64
|
+
const line = scrubSecrets(redactRepoUrl(a.map((x) => (typeof x === 'string' ? x : String(x))).join(' ')));
|
|
65
|
+
fs.appendFileSync(logFile, `${new Date().toISOString()} ${line}\n`);
|
|
66
|
+
}
|
|
67
|
+
catch { /* logging must never throw into the turn */ }
|
|
68
|
+
};
|
|
69
|
+
console.log = sink;
|
|
70
|
+
console.warn = sink;
|
|
71
|
+
console.error = sink;
|
|
72
|
+
try {
|
|
73
|
+
await fn();
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
console.log = orig.log;
|
|
77
|
+
console.warn = orig.warn;
|
|
78
|
+
console.error = orig.error;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
20
81
|
// Test seam — override what the debounce fires (see canonSyncScheduler.test.ts).
|
|
21
82
|
// Default = the FULL pipeline (sync → translate → graph), so the canonical line
|
|
22
83
|
// and the §27l knowledge graphs stay current reactively, not just the natives.
|
|
23
|
-
|
|
84
|
+
// Wrapped in runQuietly so the container's reactive output goes to a log file.
|
|
85
|
+
let _runner = (o) => runQuietly(() => canonPipeline(o));
|
|
24
86
|
export function __setCanonSyncRunner(fn) {
|
|
25
|
-
_runner = fn ?? ((o) => canonPipeline(o));
|
|
87
|
+
_runner = fn ?? ((o) => runQuietly(() => canonPipeline(o)));
|
|
26
88
|
}
|
|
27
89
|
async function runAutoSync(options) {
|
|
28
90
|
if (_syncing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonSyncScheduler.js","sourceRoot":"","sources":["../src/canonSyncScheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"canonSyncScheduler.js","sourceRoot":"","sources":["../src/canonSyncScheduler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nexus-canon",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"description": "Portable agent memory in a git repo you own — the canonical agent history & memory store (canon): sync, translate, pull, capability artifacts, and project knowledge graphs across AI coding harnesses.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"test": "vitest run --passWithNoTests"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@nexus-cortex/types": "^4.
|
|
22
|
+
"@nexus-cortex/types": "^4.57.2"
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
25
|
"dist",
|