oh-my-second-brain 0.1.9 → 0.2.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.
- package/CHANGELOG.md +89 -0
- package/adapters/claude-code/.claude-plugin/plugin.json +1 -1
- package/adapters/claude-code/skills/link/SKILL.md +87 -0
- package/adapters/codex/.codex-plugin/plugin.json +1 -1
- package/adapters/codex/skills/oms-link/SKILL.md +35 -0
- package/adapters/hermes/README.md +2 -0
- package/adapters/hermes/manifest.json +1 -1
- package/adapters/hermes/skills/link/SKILL.md +18 -0
- package/core/ontology/concepts/term.yaml +12 -0
- package/core/ontology/taxonomy.yaml +3 -0
- package/core/skills/link/SKILL.md +130 -0
- package/dist/capture/safe.d.ts +32 -2
- package/dist/capture/safe.js +223 -37
- package/dist/capture/safe.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.js +6 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/global-writeback.d.ts +31 -0
- package/dist/cli/global-writeback.js +73 -0
- package/dist/cli/global-writeback.js.map +1 -0
- package/dist/cli/host-commands.d.ts +30 -0
- package/dist/cli/host-commands.js +89 -0
- package/dist/cli/host-commands.js.map +1 -0
- package/dist/cli/linkify.d.ts +23 -0
- package/dist/cli/linkify.js +118 -0
- package/dist/cli/linkify.js.map +1 -0
- package/dist/cli/oms.d.ts +1 -0
- package/dist/cli/oms.js +52 -66
- package/dist/cli/oms.js.map +1 -1
- package/dist/cli/usage.js +11 -1
- package/dist/cli/usage.js.map +1 -1
- package/dist/conventions/write-protocol.d.ts +39 -0
- package/dist/conventions/write-protocol.js +44 -0
- package/dist/conventions/write-protocol.js.map +1 -0
- package/dist/core/runtime/assets.d.ts +6 -0
- package/dist/core/runtime/assets.js +27 -0
- package/dist/core/runtime/assets.js.map +1 -1
- package/dist/engine/graph/resolver.d.ts +17 -0
- package/dist/engine/graph/resolver.js +46 -11
- package/dist/engine/graph/resolver.js.map +1 -1
- package/dist/engine/linkify/apply.d.ts +56 -0
- package/dist/engine/linkify/apply.js +65 -0
- package/dist/engine/linkify/apply.js.map +1 -0
- package/dist/engine/linkify/josa.d.ts +58 -0
- package/dist/engine/linkify/josa.js +133 -0
- package/dist/engine/linkify/josa.js.map +1 -0
- package/dist/engine/linkify/mask.d.ts +29 -0
- package/dist/engine/linkify/mask.js +173 -0
- package/dist/engine/linkify/mask.js.map +1 -0
- package/dist/engine/linkify/suggest.d.ts +52 -0
- package/dist/engine/linkify/suggest.js +181 -0
- package/dist/engine/linkify/suggest.js.map +1 -0
- package/dist/engine/linkify/types.d.ts +68 -0
- package/dist/engine/linkify/types.js +12 -0
- package/dist/engine/linkify/types.js.map +1 -0
- package/dist/harness/surface-registry.d.ts +1 -0
- package/dist/harness/surface-registry.js +27 -0
- package/dist/harness/surface-registry.js.map +1 -1
- package/dist/harness/validation.js +30 -1
- package/dist/harness/validation.js.map +1 -1
- package/dist/install/claude-marketplace.d.ts +44 -0
- package/dist/install/claude-marketplace.js +89 -0
- package/dist/install/claude-marketplace.js.map +1 -0
- package/dist/install/claude.js +14 -7
- package/dist/install/claude.js.map +1 -1
- package/dist/install/codex.d.ts +15 -0
- package/dist/install/codex.js +15 -0
- package/dist/install/codex.js.map +1 -1
- package/dist/install/common.d.ts +11 -2
- package/dist/install/common.js +19 -12
- package/dist/install/common.js.map +1 -1
- package/dist/install/hermes.js +15 -15
- package/dist/install/hermes.js.map +1 -1
- package/dist/install/hosts.js +31 -15
- package/dist/install/hosts.js.map +1 -1
- package/dist/link/global-config.d.ts +22 -0
- package/dist/link/global-config.js +69 -0
- package/dist/link/global-config.js.map +1 -0
- package/dist/link/link.d.ts +6 -3
- package/dist/link/link.js +12 -2
- package/dist/link/link.js.map +1 -1
- package/dist/mcp/link-tools.d.ts +81 -0
- package/dist/mcp/link-tools.js +157 -0
- package/dist/mcp/link-tools.js.map +1 -0
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.js +107 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/update-notice.d.ts +51 -0
- package/dist/mcp/update-notice.js +196 -0
- package/dist/mcp/update-notice.js.map +1 -0
- package/dist/update/update.d.ts +12 -0
- package/dist/update/update.js +2 -2
- package/dist/update/update.js.map +1 -1
- package/docs/install.md +38 -2
- package/docs/release.md +109 -17
- package/package.json +4 -2
package/dist/capture/safe.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { access, appendFile, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
1
|
+
import { access, appendFile, mkdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { stringify as yamlStringify } from "yaml";
|
|
4
4
|
import { parseNote } from "../conventions/frontmatter.js";
|
|
5
5
|
import { evaluateWriteContract, routingLawStrictFolders, writeFieldDescriptors, } from "../conventions/write-contract.js";
|
|
6
|
+
import { rejection, } from "../conventions/write-protocol.js";
|
|
6
7
|
import { resolveConcept } from "../core/ontology/resolver.js";
|
|
7
8
|
function slugify(value) {
|
|
8
9
|
const slug = value
|
|
@@ -55,7 +56,13 @@ function inboxResult(mode, ontology, filename, frontmatter, reason) {
|
|
|
55
56
|
reason,
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
|
-
function
|
|
59
|
+
function pathUnsafeRejection(reason) {
|
|
60
|
+
return rejection("admission", "path-unsafe", reason, "pass a vault-relative `notePath` ending in .md that stays inside the vault and avoids hidden or internal folders");
|
|
61
|
+
}
|
|
62
|
+
function conceptUnboundRejection() {
|
|
63
|
+
return rejection("admission", "concept-unbound", "Cannot commit capture: notePath does not resolve to a concept binding", "move the note into a folder bound to a concept in taxonomy.yaml, or target an existing bound note");
|
|
64
|
+
}
|
|
65
|
+
function rejectedResult(mode, notePath, concept, frontmatter, violations, reason, rejectionPayload) {
|
|
59
66
|
return writeResult({
|
|
60
67
|
status: "rejected",
|
|
61
68
|
mode,
|
|
@@ -67,6 +74,7 @@ function rejectedResult(mode, notePath, concept, frontmatter, violations, reason
|
|
|
67
74
|
missingFields: violations.map((violation) => violation.field),
|
|
68
75
|
violations,
|
|
69
76
|
reason,
|
|
77
|
+
...(rejectionPayload ? { rejection: rejectionPayload } : {}),
|
|
70
78
|
});
|
|
71
79
|
}
|
|
72
80
|
function askResult(mode, notePath, concept, frontmatter, violations) {
|
|
@@ -80,9 +88,12 @@ function askResult(mode, notePath, concept, frontmatter, violations) {
|
|
|
80
88
|
frontmatter,
|
|
81
89
|
missingFields: violations.map((violation) => violation.field),
|
|
82
90
|
violations,
|
|
91
|
+
rejection: rejection("admission", "contract-violation", "Capture does not satisfy the concept contract yet", `provide or correct these fields, then retry: ${violations
|
|
92
|
+
.map((violation) => violation.field)
|
|
93
|
+
.join(", ")}`),
|
|
83
94
|
});
|
|
84
95
|
}
|
|
85
|
-
function writtenResult(mode, notePath, concept, frontmatter) {
|
|
96
|
+
function writtenResult(mode, notePath, concept, frontmatter, receipt) {
|
|
86
97
|
return writeResult({
|
|
87
98
|
status: "written",
|
|
88
99
|
mode,
|
|
@@ -93,6 +104,7 @@ function writtenResult(mode, notePath, concept, frontmatter) {
|
|
|
93
104
|
frontmatter,
|
|
94
105
|
missingFields: [],
|
|
95
106
|
violations: [],
|
|
107
|
+
...(receipt ? { receipt } : {}),
|
|
96
108
|
});
|
|
97
109
|
}
|
|
98
110
|
export function safeVaultNotePath(vault, notePath) {
|
|
@@ -204,6 +216,17 @@ async function fileExists(fullPath) {
|
|
|
204
216
|
throw error;
|
|
205
217
|
}
|
|
206
218
|
}
|
|
219
|
+
async function isDirectory(fullPath) {
|
|
220
|
+
try {
|
|
221
|
+
return (await stat(fullPath)).isDirectory();
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
if (hasErrorCode(error, "ENOENT") || hasErrorCode(error, "ENOTDIR")) {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
throw error;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
207
230
|
export function prepareCapture(input) {
|
|
208
231
|
const frontmatter = input.frontmatter ?? {};
|
|
209
232
|
const planned = planCreatePlacement(input.ontology, input.concept, input.folder, input.filename, frontmatter);
|
|
@@ -246,9 +269,123 @@ export function prepareCapture(input) {
|
|
|
246
269
|
violations: contract.violations,
|
|
247
270
|
};
|
|
248
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Admission Rules - target verification.
|
|
274
|
+
*
|
|
275
|
+
* Runs before ANY disk mutation. `cwd` resolution is unverified for the write
|
|
276
|
+
* surface (the process may have booted anywhere). A `global` registry pointer
|
|
277
|
+
* must still point at a real `.oms` ontology; every other source is trusted
|
|
278
|
+
* without an ontology presence check so the bundled-ontology fallback keeps
|
|
279
|
+
* working.
|
|
280
|
+
*/
|
|
281
|
+
async function admitTarget(target) {
|
|
282
|
+
if (target.source === "cwd") {
|
|
283
|
+
return rejection("admission", "target-unverified", `Refusing to write: the target vault was inferred from the current directory (${target.vault}), which is not a verified Oh My Second Brain vault`, "run `oms setup` in your Obsidian vault (or set OMS_VAULT / register the vault in ~/.oms/config.yaml), then retry");
|
|
284
|
+
}
|
|
285
|
+
if (target.source === "global") {
|
|
286
|
+
const hasOntology = (await isDirectory(path.join(target.vault, ".oms", "concepts"))) ||
|
|
287
|
+
(await fileExists(path.join(target.vault, ".oms", "taxonomy.yaml")));
|
|
288
|
+
if (!hasOntology) {
|
|
289
|
+
return rejection("admission", "target-invalid", `Refusing to write: the registered global vault target has no .oms ontology: ${target.vault}`, "update ~/.oms/config.yaml to point at your vault, or run `oms setup` in that vault, then retry");
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return undefined;
|
|
293
|
+
}
|
|
294
|
+
function targetRejectedResult(mode, input, frontmatter, rejectionPayload) {
|
|
295
|
+
return rejectedResult(mode, input.notePath ?? "", undefined, frontmatter, [], rejectionPayload.message, rejectionPayload);
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Acceptance Criteria - staged evaluation (pre-persist).
|
|
299
|
+
*
|
|
300
|
+
* Parses the note content that is ABOUT to be written and re-runs the kernel
|
|
301
|
+
* write contract against the RENDERED frontmatter. This catches divergence
|
|
302
|
+
* between the caller-supplied frontmatter and what actually lands on disk
|
|
303
|
+
* (yaml round-trip artifacts such as `NaN` rendering as `.nan` and parsing
|
|
304
|
+
* back as `null`).
|
|
305
|
+
*/
|
|
306
|
+
export function evaluateStagedNote(stagedContent, concept, notePath, strictZones) {
|
|
307
|
+
const parsed = parseNote(stagedContent);
|
|
308
|
+
const contract = evaluateWriteContract(parsed.frontmatter, concept, notePath, strictZones);
|
|
309
|
+
return {
|
|
310
|
+
ok: contract.valid,
|
|
311
|
+
violations: contract.violations,
|
|
312
|
+
frontmatter: parsed.frontmatter,
|
|
313
|
+
body: parsed.body,
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
function sameViolationSet(left, right) {
|
|
317
|
+
if (left.length !== right.length) {
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
320
|
+
const key = (violation) => `${violation.field}\u0000${violation.rule}\u0000${violation.message}`;
|
|
321
|
+
const leftKeys = left.map(key).sort();
|
|
322
|
+
const rightKeys = right.map(key).sort();
|
|
323
|
+
return leftKeys.every((entry, index) => entry === rightKeys[index]);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Acceptance rejection for a staged render that diverges from the (already
|
|
327
|
+
* passing) input evaluation. Callers only reach this when the input-level
|
|
328
|
+
* contract check passed, so the violation is a genuine render divergence.
|
|
329
|
+
*/
|
|
330
|
+
function stagedRejectedResult(mode, notePath, concept, frontmatter, violations) {
|
|
331
|
+
const fields = violations.map((violation) => violation.field).join(", ");
|
|
332
|
+
return rejectedResult(mode, notePath, concept, frontmatter, violations, "Cannot write: the rendered note violates the concept contract", rejection("acceptance", "contract-violation", `Staged note render violates the concept contract (${fields})`, `these values do not survive the note render unchanged - correct them, then retry: ${fields}`));
|
|
333
|
+
}
|
|
334
|
+
function stagedBodyMissingResult(mode, notePath, concept, frontmatter) {
|
|
335
|
+
return rejectedResult(mode, notePath, concept, frontmatter, [], "create requires a body", rejection("acceptance", "body-missing", "Staged note render carries no body content", "pass a non-empty `body` for the note, then retry"));
|
|
336
|
+
}
|
|
337
|
+
function postconditionRejectedResult(mode, notePath, fullPath, concept, frontmatter, violations, detail) {
|
|
338
|
+
return rejectedResult(mode, notePath, concept, frontmatter, violations, `Postcondition failed after writing ${notePath}: ${detail}`, rejection("acceptance", "postcondition-failed", `Postcondition failed after writing ${notePath}: ${detail}`, `inspect the persisted file at ${fullPath} (it was NOT removed) and repair or delete it before retrying`));
|
|
339
|
+
}
|
|
340
|
+
function receiptFor(input, mode, notePath, concept) {
|
|
341
|
+
return {
|
|
342
|
+
resolvedVault: input.target.vault,
|
|
343
|
+
resolutionSource: input.target.source,
|
|
344
|
+
notePath,
|
|
345
|
+
mode,
|
|
346
|
+
concept: concept?.concept ?? null,
|
|
347
|
+
postconditionVerified: true,
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
function normalizeBody(body) {
|
|
351
|
+
return body.replace(/\s+$/, "");
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Acceptance Criteria - postcondition (post-persist).
|
|
355
|
+
*
|
|
356
|
+
* Re-reads the persisted note through the `readBack` seam, re-runs the write
|
|
357
|
+
* contract on what is actually on disk, and asserts the intended body content
|
|
358
|
+
* landed. The persisted file is never auto-deleted on failure.
|
|
359
|
+
*/
|
|
360
|
+
async function verifyPostcondition(input, fullPath, notePath, concept, strictZones, expectation) {
|
|
361
|
+
const read = input.readBack ?? ((target) => readFile(target, "utf-8"));
|
|
362
|
+
const persisted = await read(fullPath);
|
|
363
|
+
const parsed = parseNote(persisted);
|
|
364
|
+
const contract = evaluateWriteContract(parsed.frontmatter, concept, notePath, strictZones);
|
|
365
|
+
if (!contract.valid) {
|
|
366
|
+
return {
|
|
367
|
+
ok: false,
|
|
368
|
+
violations: contract.violations,
|
|
369
|
+
detail: `persisted frontmatter violates the concept contract (${contract.violations
|
|
370
|
+
.map((violation) => violation.field)
|
|
371
|
+
.join(", ")})`,
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
const bodyOk = expectation.kind === "full"
|
|
375
|
+
? normalizeBody(parsed.body) === normalizeBody(expectation.body)
|
|
376
|
+
: normalizeBody(persisted).endsWith(expectation.body.trim());
|
|
377
|
+
if (!bodyOk) {
|
|
378
|
+
return { ok: false, violations: [], detail: "persisted body does not match the staged content" };
|
|
379
|
+
}
|
|
380
|
+
return { ok: true, violations: [], detail: "" };
|
|
381
|
+
}
|
|
249
382
|
export async function writeNote(input) {
|
|
250
383
|
const frontmatter = input.frontmatter ?? {};
|
|
251
384
|
const strictZones = routingLawStrictFolders(input.ontology);
|
|
385
|
+
const targetRejection = await admitTarget(input.target);
|
|
386
|
+
if (targetRejection) {
|
|
387
|
+
return targetRejectedResult(input.mode, input, frontmatter, targetRejection);
|
|
388
|
+
}
|
|
252
389
|
if (input.mode === "update") {
|
|
253
390
|
return writeUpdate(input, frontmatter, strictZones);
|
|
254
391
|
}
|
|
@@ -261,9 +398,9 @@ async function writeCreate(input, frontmatter, strictZones) {
|
|
|
261
398
|
let notePath;
|
|
262
399
|
let concept;
|
|
263
400
|
if (input.notePath) {
|
|
264
|
-
const safe = trySafeNotePath(input.vault, input.notePath);
|
|
401
|
+
const safe = trySafeNotePath(input.target.vault, input.notePath);
|
|
265
402
|
if (!safe.ok) {
|
|
266
|
-
return rejectedResult("create", input.notePath, undefined, frontmatter, [], safe.reason);
|
|
403
|
+
return rejectedResult("create", input.notePath, undefined, frontmatter, [], safe.reason, pathUnsafeRejection(safe.reason));
|
|
267
404
|
}
|
|
268
405
|
notePath = safe.normalized;
|
|
269
406
|
concept = resolveConcept(input.ontology, notePath);
|
|
@@ -288,39 +425,57 @@ async function writeCreate(input, frontmatter, strictZones) {
|
|
|
288
425
|
return askResult("create", notePath, concept, frontmatter, contract.violations);
|
|
289
426
|
}
|
|
290
427
|
if (input.body === undefined) {
|
|
291
|
-
return rejectedResult("create", notePath, concept, frontmatter, [], "create requires a body");
|
|
428
|
+
return rejectedResult("create", notePath, concept, frontmatter, [], "create requires a body", rejection("admission", "body-missing", "create requires a body", "pass a non-empty `body` for the note, then retry"));
|
|
292
429
|
}
|
|
293
|
-
const safe = trySafeNotePath(input.vault, notePath);
|
|
430
|
+
const safe = trySafeNotePath(input.target.vault, notePath);
|
|
294
431
|
if (!safe.ok) {
|
|
295
|
-
return rejectedResult("create", notePath, concept, frontmatter, [], safe.reason);
|
|
432
|
+
return rejectedResult("create", notePath, concept, frontmatter, [], safe.reason, pathUnsafeRejection(safe.reason));
|
|
296
433
|
}
|
|
297
434
|
if (await fileExists(safe.fullPath)) {
|
|
298
|
-
return rejectedResult("create", notePath, concept, frontmatter, [], "Cannot create capture: target note already exists");
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
435
|
+
return rejectedResult("create", notePath, concept, frontmatter, [], "Cannot create capture: target note already exists", rejection("admission", "note-exists", "Cannot create capture: target note already exists", "use mode `append` or `update` for an existing note, or choose a different filename"));
|
|
436
|
+
}
|
|
437
|
+
// Write Attempt: build the staged note in memory.
|
|
438
|
+
const staged = formatNote(frontmatter, input.body);
|
|
439
|
+
// Evaluation (pre-persist): the staged render is a second gate that only
|
|
440
|
+
// fires on divergence from the input evaluation, which already passed above.
|
|
441
|
+
const stagedEvaluation = evaluateStagedNote(staged, concept, notePath, strictZones);
|
|
442
|
+
if (!stagedEvaluation.ok && !sameViolationSet(stagedEvaluation.violations, contract.violations)) {
|
|
443
|
+
return stagedRejectedResult("create", notePath, concept, frontmatter, stagedEvaluation.violations);
|
|
444
|
+
}
|
|
445
|
+
if (stagedEvaluation.body.trim() === "") {
|
|
446
|
+
return stagedBodyMissingResult("create", notePath, concept, frontmatter);
|
|
447
|
+
}
|
|
448
|
+
if (input.dryRun) {
|
|
449
|
+
return writtenResult("create", notePath, concept, frontmatter);
|
|
450
|
+
}
|
|
451
|
+
// Persist.
|
|
452
|
+
await mkdir(path.dirname(safe.fullPath), { recursive: true });
|
|
453
|
+
await writeFile(safe.fullPath, staged, {
|
|
454
|
+
encoding: "utf-8",
|
|
455
|
+
flag: "wx",
|
|
456
|
+
});
|
|
457
|
+
// Postcondition.
|
|
458
|
+
const postcondition = await verifyPostcondition(input, safe.fullPath, notePath, concept, strictZones, { kind: "full", body: stagedEvaluation.body });
|
|
459
|
+
if (!postcondition.ok) {
|
|
460
|
+
return postconditionRejectedResult("create", notePath, safe.fullPath, concept, frontmatter, postcondition.violations, postcondition.detail);
|
|
306
461
|
}
|
|
307
|
-
return writtenResult("create", notePath, concept, frontmatter);
|
|
462
|
+
return writtenResult("create", notePath, concept, frontmatter, receiptFor(input, "create", notePath, concept));
|
|
308
463
|
}
|
|
309
464
|
async function writeAppend(input, frontmatter, strictZones) {
|
|
310
465
|
if (!input.notePath) {
|
|
311
|
-
return rejectedResult("append", "", undefined, frontmatter, [], "append requires notePath");
|
|
466
|
+
return rejectedResult("append", "", undefined, frontmatter, [], "append requires notePath", rejection("admission", "args-invalid", "append requires notePath", "pass the vault-relative `notePath` of the note to append to, then retry"));
|
|
312
467
|
}
|
|
313
468
|
if (input.body === undefined) {
|
|
314
|
-
return rejectedResult("append", input.notePath, undefined, frontmatter, [], "append requires a body");
|
|
469
|
+
return rejectedResult("append", input.notePath, undefined, frontmatter, [], "append requires a body", rejection("admission", "body-missing", "append requires a body", "pass a non-empty `body` to append, then retry"));
|
|
315
470
|
}
|
|
316
|
-
const safe = trySafeNotePath(input.vault, input.notePath);
|
|
471
|
+
const safe = trySafeNotePath(input.target.vault, input.notePath);
|
|
317
472
|
if (!safe.ok) {
|
|
318
|
-
return rejectedResult("append", input.notePath, undefined, frontmatter, [], safe.reason);
|
|
473
|
+
return rejectedResult("append", input.notePath, undefined, frontmatter, [], safe.reason, pathUnsafeRejection(safe.reason));
|
|
319
474
|
}
|
|
320
475
|
const exists = await fileExists(safe.fullPath);
|
|
321
476
|
if (!exists) {
|
|
322
477
|
const created = await writeCreate({
|
|
323
|
-
|
|
478
|
+
target: input.target,
|
|
324
479
|
ontology: input.ontology,
|
|
325
480
|
mode: "create",
|
|
326
481
|
dryRun: input.dryRun,
|
|
@@ -334,36 +489,53 @@ async function writeAppend(input, frontmatter, strictZones) {
|
|
|
334
489
|
return writeResult({
|
|
335
490
|
...created,
|
|
336
491
|
mode: "append",
|
|
492
|
+
...(created.receipt ? { receipt: { ...created.receipt, mode: "append" } } : {}),
|
|
337
493
|
});
|
|
338
494
|
}
|
|
339
495
|
const raw = await readFile(safe.fullPath, "utf-8");
|
|
340
496
|
const parsed = parseNote(raw);
|
|
341
497
|
const concept = resolveConcept(input.ontology, safe.normalized);
|
|
342
498
|
if (!concept) {
|
|
343
|
-
return rejectedResult("append", safe.normalized, undefined, parsed.frontmatter, [], "Cannot commit capture: notePath does not resolve to a concept binding");
|
|
499
|
+
return rejectedResult("append", safe.normalized, undefined, parsed.frontmatter, [], "Cannot commit capture: notePath does not resolve to a concept binding", conceptUnboundRejection());
|
|
344
500
|
}
|
|
345
501
|
const contract = evaluateWriteContract(parsed.frontmatter, concept, safe.normalized, strictZones);
|
|
346
502
|
if (!contract.valid) {
|
|
347
503
|
return rejectedResult("append", safe.normalized, concept, parsed.frontmatter, contract.violations, "Cannot append: existing frontmatter violates the concept contract");
|
|
348
504
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
}
|
|
352
|
-
|
|
505
|
+
// Write Attempt: the staged note is exactly what the file will hold after the
|
|
506
|
+
// append (current content + the appended block).
|
|
507
|
+
const appended = `\n\n${input.body.trim()}\n`;
|
|
508
|
+
const staged = `${raw}${appended}`;
|
|
509
|
+
// Evaluation (pre-persist).
|
|
510
|
+
const stagedEvaluation = evaluateStagedNote(staged, concept, safe.normalized, strictZones);
|
|
511
|
+
if (!stagedEvaluation.ok && !sameViolationSet(stagedEvaluation.violations, contract.violations)) {
|
|
512
|
+
return stagedRejectedResult("append", safe.normalized, concept, parsed.frontmatter, stagedEvaluation.violations);
|
|
513
|
+
}
|
|
514
|
+
if (input.dryRun) {
|
|
515
|
+
return writtenResult("append", safe.normalized, concept, parsed.frontmatter);
|
|
516
|
+
}
|
|
517
|
+
// Persist.
|
|
518
|
+
await appendFile(safe.fullPath, appended, "utf-8");
|
|
519
|
+
// Postcondition.
|
|
520
|
+
const postcondition = await verifyPostcondition(input, safe.fullPath, safe.normalized, concept, strictZones, { kind: "suffix", body: input.body });
|
|
521
|
+
if (!postcondition.ok) {
|
|
522
|
+
return postconditionRejectedResult("append", safe.normalized, safe.fullPath, concept, parsed.frontmatter, postcondition.violations, postcondition.detail);
|
|
523
|
+
}
|
|
524
|
+
return writtenResult("append", safe.normalized, concept, parsed.frontmatter, receiptFor(input, "append", safe.normalized, concept));
|
|
353
525
|
}
|
|
354
526
|
async function writeUpdate(input, frontmatter, strictZones) {
|
|
355
527
|
if (!input.notePath) {
|
|
356
|
-
return rejectedResult("update", "", undefined, frontmatter, [], "update requires notePath");
|
|
528
|
+
return rejectedResult("update", "", undefined, frontmatter, [], "update requires notePath", rejection("admission", "args-invalid", "update requires notePath", "pass the vault-relative `notePath` of the note to update, then retry"));
|
|
357
529
|
}
|
|
358
530
|
if (input.frontmatter === undefined && input.body === undefined) {
|
|
359
|
-
return rejectedResult("update", input.notePath, undefined, frontmatter, [], "update requires frontmatter or body");
|
|
531
|
+
return rejectedResult("update", input.notePath, undefined, frontmatter, [], "update requires frontmatter or body", rejection("admission", "args-invalid", "update requires frontmatter or body", "pass `frontmatter`, `body`, or both, then retry"));
|
|
360
532
|
}
|
|
361
|
-
const safe = trySafeNotePath(input.vault, input.notePath);
|
|
533
|
+
const safe = trySafeNotePath(input.target.vault, input.notePath);
|
|
362
534
|
if (!safe.ok) {
|
|
363
|
-
return rejectedResult("update", input.notePath, undefined, frontmatter, [], safe.reason);
|
|
535
|
+
return rejectedResult("update", input.notePath, undefined, frontmatter, [], safe.reason, pathUnsafeRejection(safe.reason));
|
|
364
536
|
}
|
|
365
537
|
if (!(await fileExists(safe.fullPath))) {
|
|
366
|
-
return rejectedResult("update", safe.normalized, undefined, frontmatter, [], "Cannot update capture: target note does not exist");
|
|
538
|
+
return rejectedResult("update", safe.normalized, undefined, frontmatter, [], "Cannot update capture: target note does not exist", rejection("admission", "note-missing", "Cannot update capture: target note does not exist", "create the note first (mode `create`) or correct `notePath`, then retry"));
|
|
367
539
|
}
|
|
368
540
|
const raw = await readFile(safe.fullPath, "utf-8");
|
|
369
541
|
const parsed = parseNote(raw);
|
|
@@ -371,20 +543,34 @@ async function writeUpdate(input, frontmatter, strictZones) {
|
|
|
371
543
|
const body = input.body === undefined ? parsed.body : input.body;
|
|
372
544
|
const concept = resolveConcept(input.ontology, safe.normalized);
|
|
373
545
|
if (!concept) {
|
|
374
|
-
return rejectedResult("update", safe.normalized, undefined, merged, [], "Cannot commit capture: notePath does not resolve to a concept binding");
|
|
546
|
+
return rejectedResult("update", safe.normalized, undefined, merged, [], "Cannot commit capture: notePath does not resolve to a concept binding", conceptUnboundRejection());
|
|
375
547
|
}
|
|
376
548
|
const contract = evaluateWriteContract(merged, concept, safe.normalized, strictZones);
|
|
377
549
|
if (!contract.valid) {
|
|
378
550
|
return rejectedResult("update", safe.normalized, concept, merged, contract.violations, "Cannot update capture: resulting frontmatter violates the concept contract");
|
|
379
551
|
}
|
|
380
|
-
|
|
381
|
-
|
|
552
|
+
// Write Attempt: build the staged note in memory.
|
|
553
|
+
const staged = formatNote(merged, body);
|
|
554
|
+
// Evaluation (pre-persist).
|
|
555
|
+
const stagedEvaluation = evaluateStagedNote(staged, concept, safe.normalized, strictZones);
|
|
556
|
+
if (!stagedEvaluation.ok && !sameViolationSet(stagedEvaluation.violations, contract.violations)) {
|
|
557
|
+
return stagedRejectedResult("update", safe.normalized, concept, merged, stagedEvaluation.violations);
|
|
558
|
+
}
|
|
559
|
+
if (input.dryRun) {
|
|
560
|
+
return writtenResult("update", safe.normalized, concept, merged);
|
|
561
|
+
}
|
|
562
|
+
// Persist.
|
|
563
|
+
await writeFile(safe.fullPath, staged, "utf-8");
|
|
564
|
+
// Postcondition.
|
|
565
|
+
const postcondition = await verifyPostcondition(input, safe.fullPath, safe.normalized, concept, strictZones, { kind: "full", body: stagedEvaluation.body });
|
|
566
|
+
if (!postcondition.ok) {
|
|
567
|
+
return postconditionRejectedResult("update", safe.normalized, safe.fullPath, concept, merged, postcondition.violations, postcondition.detail);
|
|
382
568
|
}
|
|
383
|
-
return writtenResult("update", safe.normalized, concept, merged);
|
|
569
|
+
return writtenResult("update", safe.normalized, concept, merged, receiptFor(input, "update", safe.normalized, concept));
|
|
384
570
|
}
|
|
385
571
|
export async function commitCapture(input) {
|
|
386
572
|
const result = await writeNote({
|
|
387
|
-
vault: input.vault,
|
|
573
|
+
target: { vault: input.vault, source: input.source },
|
|
388
574
|
ontology: input.ontology,
|
|
389
575
|
mode: input.mode,
|
|
390
576
|
dryRun: false,
|
package/dist/capture/safe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe.js","sourceRoot":"","sources":["../../src/capture/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,GAGtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAsE9D,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,IAAI,GAAG,KAAK;SACf,WAAW,EAAE;SACb,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,OAAO,IAAI,IAAI,UAAU,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB,EAAE,MAAc;IAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,QAAkB,EAAE,WAA+B;IACtE,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAkB;IAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,YAAY,EAAE,MAAM,IAAI,OAAO,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CACvB,IAA6B,EAC7B,KAA8B;IAE9B,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,OAA4B;IAClD,OAAO,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,WAAW,CAAC,OAAwB;IAC3C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,IAAe,EACf,QAAkB,EAClB,QAAgB,EAChB,WAAoC,EACpC,MAAc;IAEd,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO,WAAW,CAAC;QACjB,MAAM,EAAE,OAAO;QACf,IAAI;QACJ,QAAQ,EAAE,GAAG,KAAK,IAAI,QAAQ,EAAE;QAChC,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC;QACpC,WAAW;QACX,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,EAAE;QACd,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,IAAe,EACf,QAAgB,EAChB,OAA4B,EAC5B,WAAoC,EACpC,UAAoC,EACpC,MAAc;IAEd,OAAO,WAAW,CAAC;QACjB,MAAM,EAAE,UAAU;QAClB,IAAI;QACJ,QAAQ;QACR,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;QACjC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QACpC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC;QAC/B,WAAW;QACX,aAAa,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QAC7D,UAAU;QACV,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAChB,IAAe,EACf,QAAgB,EAChB,OAAgB,EAChB,WAAoC,EACpC,UAAoC;IAEpC,OAAO,WAAW,CAAC;QACjB,MAAM,EAAE,KAAK;QACb,IAAI;QACJ,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM;QAChD,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC;QAC/B,WAAW;QACX,aAAa,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QAC7D,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CACpB,IAAe,EACf,QAAgB,EAChB,OAA4B,EAC5B,WAAoC;IAEpC,OAAO,WAAW,CAAC;QACjB,MAAM,EAAE,SAAS;QACjB,IAAI;QACJ,QAAQ;QACR,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;QACjC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QACpC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC;QAC/B,WAAW;QACX,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,EAAE;KACf,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAAgB;IAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CACtB,KAAa,EACb,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SAC/D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAA6B,EAC7B,KAAa;IAKb,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;YACzE,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GACR,QAAQ,CAAC,MAAM,KAAK,CAAC;QACrB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjG,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAC7F,IAAI;KACL,CAAC;AACJ,CAAC;AAWD,SAAS,mBAAmB,CAC1B,QAAkB,EAClB,WAA+B,EAC/B,UAA8B,EAC9B,QAA4B,EAC5B,WAAoC;IAEpC,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,UAAU,IAAI,gBAAgB,EAAE,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtF,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,gBAAgB,IAAI,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IACvE,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE1D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE;YACpE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;YACvC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC;YACpC,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,MAAM,EAAE,mEAAmE;SAC5E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1E,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE;YACpE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;YACvC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC;YACpC,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,MAAM,EAAE,+DAA+D;SACxE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,GAAG,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE;QAC9C,OAAO,EAAE,eAAe;QACxB,MAAM;QACN,QAAQ,EAAE,YAAY,CAAC,QAAQ;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,WAAoC,EAAE,IAAY;IACpE,OAAO,QAAQ,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AACjF,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAAY;IAChD,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,mBAAmB,CACjC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,QAAQ,EACd,WAAW,CACZ,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO;YACL,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,EAAE;YACjB,WAAW;YACX,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,EAAE;YACjB,WAAW;YACX,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,+DAA+D;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CACpC,WAAW,EACX,OAAO,EACP,OAAO,CAAC,QAAQ,EAChB,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,CACxC,CAAC;IACF,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB;QACvD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QACtE,WAAW;QACX,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAqB;IACnD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE5D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAAqB,EACrB,WAAoC,EACpC,WAAgC;IAEhC,IAAI,QAAgB,CAAC;IACrB,IAAI,OAA4B,CAAC;IAEjC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3F,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,WAAW,CAChB,QAAQ,EACR,KAAK,CAAC,QAAQ,EACd,QAAQ,EACR,WAAW,EACX,+DAA+D,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,mBAAmB,CACjC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,QAAQ,EACd,WAAW,CACZ,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,WAAW,CAChB,QAAQ,EACR,KAAK,CAAC,QAAQ,EACd,OAAO,CAAC,QAAQ,EAChB,WAAW,EACX,OAAO,CAAC,MAAM,IAAI,+DAA+D,CAClF,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC5B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,WAAW,CAChB,QAAQ,EACR,KAAK,CAAC,QAAQ,EACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC7B,WAAW,EACX,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,cAAc,CACnB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,EAAE,EACF,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,cAAc,CACnB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,EAAE,EACF,mDAAmD,CACpD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;YAClE,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAAqB,EACrB,WAAoC,EACpC,WAAgC;IAEhC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,cAAc,CACnB,QAAQ,EACR,KAAK,CAAC,QAAQ,EACd,SAAS,EACT,WAAW,EACX,EAAE,EACF,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,WAAW;YACX,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,EACD,WAAW,EACX,WAAW,CACZ,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,WAAW,CAAC;YACjB,GAAG,OAAO;YACV,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,cAAc,CACnB,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,SAAS,EACT,MAAM,CAAC,WAAW,EAClB,EAAE,EACF,uEAAuE,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAClG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,cAAc,CACnB,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,OAAO,EACP,MAAM,CAAC,WAAW,EAClB,QAAQ,CAAC,UAAU,EACnB,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAAqB,EACrB,WAAoC,EACpC,WAAgC;IAEhC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,cAAc,CACnB,QAAQ,EACR,KAAK,CAAC,QAAQ,EACd,SAAS,EACT,WAAW,EACX,EAAE,EACF,qCAAqC,CACtC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,cAAc,CACnB,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,SAAS,EACT,WAAW,EACX,EAAE,EACF,mDAAmD,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACxH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACjE,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,cAAc,CACnB,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,SAAS,EACT,MAAM,EACN,EAAE,EACF,uEAAuE,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACtF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,cAAc,CACnB,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,OAAO,EACP,MAAM,EACN,QAAQ,CAAC,UAAU,EACnB,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAyB;IAC3D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC7B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,qEAAqE,MAAM,GAAG,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,uBAAuB,CAAC,CAAC;AAC5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"safe.js","sourceRoot":"","sources":["../../src/capture/safe.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/args.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export interface ParsedCliArgs {
|
|
|
7
7
|
readonly vault: string;
|
|
8
8
|
readonly vaultExplicit: boolean;
|
|
9
9
|
readonly yes: boolean;
|
|
10
|
+
/** linkify: opt into rewriting notes in place (still requires `--yes`). */
|
|
11
|
+
readonly apply: boolean;
|
|
10
12
|
readonly installClaude: boolean;
|
|
11
13
|
readonly suggestFields: boolean;
|
|
12
14
|
readonly runtime: RuntimeSelection | undefined;
|
package/dist/cli/args.js
CHANGED
|
@@ -16,6 +16,7 @@ export function parseCliArgs(argv, cwd = process.cwd()) {
|
|
|
16
16
|
let vault = cwd;
|
|
17
17
|
let vaultExplicit = false;
|
|
18
18
|
let yes = false;
|
|
19
|
+
let apply = false;
|
|
19
20
|
let installClaude = false;
|
|
20
21
|
let suggestFields = false;
|
|
21
22
|
let runtime;
|
|
@@ -41,6 +42,9 @@ export function parseCliArgs(argv, cwd = process.cwd()) {
|
|
|
41
42
|
else if (arg === "--yes") {
|
|
42
43
|
yes = true;
|
|
43
44
|
}
|
|
45
|
+
else if (arg === "--apply") {
|
|
46
|
+
apply = true;
|
|
47
|
+
}
|
|
44
48
|
else if (arg === "--install-claude") {
|
|
45
49
|
installClaude = true;
|
|
46
50
|
}
|
|
@@ -107,6 +111,7 @@ export function parseCliArgs(argv, cwd = process.cwd()) {
|
|
|
107
111
|
vault,
|
|
108
112
|
vaultExplicit,
|
|
109
113
|
yes,
|
|
114
|
+
apply,
|
|
110
115
|
installClaude,
|
|
111
116
|
suggestFields,
|
|
112
117
|
runtime,
|
|
@@ -129,6 +134,7 @@ export function parseCliArgs(argv, cwd = process.cwd()) {
|
|
|
129
134
|
vault,
|
|
130
135
|
vaultExplicit,
|
|
131
136
|
yes,
|
|
137
|
+
apply,
|
|
132
138
|
installClaude,
|
|
133
139
|
suggestFields,
|
|
134
140
|
runtime,
|
package/dist/cli/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface RegisterGlobalVaultOptions {
|
|
2
|
+
readonly vault: string;
|
|
3
|
+
readonly homeDir?: string;
|
|
4
|
+
readonly overwrite: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface GlobalWritebackResult {
|
|
7
|
+
readonly wrote: boolean;
|
|
8
|
+
readonly reason?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Register `vault` in the global config (`<homeDir>/.oms/config.yaml`).
|
|
12
|
+
* When `overwrite` is false, does nothing if a global config already exists
|
|
13
|
+
* (including when reading the existing config throws, e.g. a corrupt file -
|
|
14
|
+
* a corrupt-but-present config is treated as "config exists, do not touch").
|
|
15
|
+
*/
|
|
16
|
+
export declare function registerGlobalVault(options: RegisterGlobalVaultOptions): Promise<GlobalWritebackResult>;
|
|
17
|
+
export interface BackfillGlobalVaultOptions {
|
|
18
|
+
readonly env: NodeJS.ProcessEnv;
|
|
19
|
+
readonly homeDir?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Migration backfill: when no global config exists yet and `OMS_VAULT` points
|
|
23
|
+
* at an existing directory, register it. Never overwrites an existing config
|
|
24
|
+
* (including a corrupt-but-present one).
|
|
25
|
+
*/
|
|
26
|
+
export declare function backfillGlobalVaultFromEnv(options: BackfillGlobalVaultOptions): Promise<GlobalWritebackResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Run a global write-back action, swallowing any failure into a single
|
|
29
|
+
* `[oms] warning:` line on stderr. Never throws.
|
|
30
|
+
*/
|
|
31
|
+
export declare function nonFatalGlobalWriteback(action: () => Promise<GlobalWritebackResult>): Promise<GlobalWritebackResult>;
|