@rubytech/create-maxy-code 0.1.138 → 0.1.140
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/package.json +1 -1
- package/payload/platform/config/brand.json +1 -1
- package/payload/platform/lib/obsidian-parser/dist/index.d.ts +98 -0
- package/payload/platform/lib/obsidian-parser/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/obsidian-parser/dist/index.js +480 -0
- package/payload/platform/lib/obsidian-parser/dist/index.js.map +1 -0
- package/payload/platform/lib/obsidian-parser/src/index.ts +572 -0
- package/payload/platform/lib/obsidian-parser/tsconfig.json +8 -0
- package/payload/platform/neo4j/schema.cypher +6 -0
- package/payload/platform/package.json +2 -2
- package/payload/platform/plugins/.claude-plugin/marketplace.json +10 -0
- package/payload/platform/plugins/docs/references/plugins-guide.md +2 -0
- package/payload/platform/plugins/memory/PLUGIN.md +3 -0
- package/payload/platform/plugins/memory/mcp/dist/index.js +89 -2
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts +64 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +258 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.d.ts +127 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.js +477 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/obsidian-vault-import.js.map +1 -0
- package/payload/platform/plugins/notion-import/.claude-plugin/plugin.json +8 -0
- package/payload/platform/plugins/notion-import/PLUGIN.md +27 -0
- package/payload/platform/plugins/notion-import/skills/notion-import/SKILL.md +110 -0
- package/payload/platform/plugins/notion-import/skills/notion-import/references/attachments.md +55 -0
- package/payload/platform/plugins/notion-import/skills/notion-import/references/databases.md +81 -0
- package/payload/platform/plugins/notion-import/skills/notion-import/references/page-tree.md +61 -0
- package/payload/platform/plugins/notion-import/skills/notion-import/references/workspace-export.md +41 -0
- package/payload/platform/plugins/obsidian-import/.claude-plugin/plugin.json +8 -0
- package/payload/platform/plugins/obsidian-import/PLUGIN.md +39 -0
- package/payload/platform/plugins/obsidian-import/skills/obsidian-import/SKILL.md +92 -0
- package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/attachments.md +80 -0
- package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/daily-notes.md +31 -0
- package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/vault-structure.md +46 -0
- package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/wikilinks.md +70 -0
- package/payload/platform/templates/specialists/agents/database-operator.md +13 -1
|
@@ -23,6 +23,7 @@ import { withWriteEvent } from "../lib/log-ingest.js";
|
|
|
23
23
|
const BATCH_SIZE = 500;
|
|
24
24
|
const HANDLERS = {
|
|
25
25
|
"linkedin-connections": linkedinConnectionsHandler(),
|
|
26
|
+
"obsidian-vault": obsidianVaultHandler(),
|
|
26
27
|
};
|
|
27
28
|
// ---------------------------------------------------------------------------
|
|
28
29
|
// Entry point
|
|
@@ -215,6 +216,263 @@ function linkedinConnectionsHandler() {
|
|
|
215
216
|
},
|
|
216
217
|
};
|
|
217
218
|
}
|
|
219
|
+
// ---------------------------------------------------------------------------
|
|
220
|
+
// obsidian-vault handler — Obsidian vault pages, wikilinks, tags, attachments
|
|
221
|
+
// ---------------------------------------------------------------------------
|
|
222
|
+
//
|
|
223
|
+
// Page MERGE natural key: (accountId, obsidianPath)
|
|
224
|
+
// Tag MERGE natural key: (accountId, category='obsidian-tag', name)
|
|
225
|
+
// Attachment MERGE key: (accountId, attachmentPath)
|
|
226
|
+
//
|
|
227
|
+
// Wikilinks split into three edge writes by target kind:
|
|
228
|
+
// page → (:KnowledgeDocument)-[:WIKILINKS_TO]->(:KnowledgeDocument)
|
|
229
|
+
// entity → (:KnowledgeDocument)-[:MENTIONS]->(node by elementId)
|
|
230
|
+
// stub → (:KnowledgeDocument)-[:MENTIONS]->(:Concept) with stub creation
|
|
231
|
+
//
|
|
232
|
+
// Owner anchor: each page MERGEd gets (:owner)-[:HAS_NOTE]->(page) so the
|
|
233
|
+
// page is reachable via the canonical hierarchy chain. Owner is either an
|
|
234
|
+
// :AdminUser (operator's own vault) or a :Person (external vault ingested
|
|
235
|
+
// for reference) — same shape as linkedin-import.
|
|
236
|
+
export const OBSIDIAN_PAGE_CYPHER = `
|
|
237
|
+
MATCH (owner) WHERE elementId(owner) = $ownerNodeId
|
|
238
|
+
WITH owner, $rows AS rows
|
|
239
|
+
UNWIND rows AS row
|
|
240
|
+
MERGE (k:KnowledgeDocument {accountId: $accountId, obsidianPath: row.obsidianPath})
|
|
241
|
+
ON CREATE SET
|
|
242
|
+
k.knowledgeDocId = randomUUID(),
|
|
243
|
+
k.source = 'obsidian',
|
|
244
|
+
k.createdByAgent = 'obsidian-import',
|
|
245
|
+
k.createdBySource = 'obsidian-import',
|
|
246
|
+
k.createdBySession = $sessionId,
|
|
247
|
+
k.createdAt = datetime(),
|
|
248
|
+
k.scope = 'admin'
|
|
249
|
+
SET
|
|
250
|
+
k.title = row.title,
|
|
251
|
+
k.contentHash = row.contentHash,
|
|
252
|
+
k.text = row.body,
|
|
253
|
+
k.aliases = row.aliases,
|
|
254
|
+
k.tags = row.tags,
|
|
255
|
+
k.obsidianMtime = datetime({ epochMillis: toInteger(row.mtimeMs) }),
|
|
256
|
+
k.updatedAt = datetime()
|
|
257
|
+
FOREACH (_ IN CASE WHEN row.noteDate IS NOT NULL THEN [1] ELSE [] END |
|
|
258
|
+
SET k.noteDate = date(row.noteDate)
|
|
259
|
+
)
|
|
260
|
+
MERGE (owner)-[h:HAS_NOTE]->(k)
|
|
261
|
+
ON CREATE SET
|
|
262
|
+
h.source = 'obsidian',
|
|
263
|
+
h.createdAt = datetime()
|
|
264
|
+
RETURN count(*) AS processed
|
|
265
|
+
`;
|
|
266
|
+
export const OBSIDIAN_TAG_CYPHER = `
|
|
267
|
+
UNWIND $rows AS row
|
|
268
|
+
MATCH (k:KnowledgeDocument {accountId: $accountId, obsidianPath: row.obsidianPath})
|
|
269
|
+
UNWIND row.tags AS tagName
|
|
270
|
+
WITH k, tagName WHERE tagName IS NOT NULL AND tagName <> ''
|
|
271
|
+
MERGE (t:DefinedTerm {accountId: $accountId, category: 'obsidian-tag', name: tagName})
|
|
272
|
+
ON CREATE SET
|
|
273
|
+
t.source = 'obsidian',
|
|
274
|
+
t.createdByAgent = 'obsidian-import',
|
|
275
|
+
t.createdBySource = 'obsidian-import',
|
|
276
|
+
t.createdBySession = $sessionId,
|
|
277
|
+
t.createdAt = datetime(),
|
|
278
|
+
t.scope = 'admin'
|
|
279
|
+
MERGE (k)-[r:TAGGED_WITH]->(t)
|
|
280
|
+
ON CREATE SET
|
|
281
|
+
r.source = 'obsidian',
|
|
282
|
+
r.createdAt = datetime()
|
|
283
|
+
RETURN count(*) AS processed
|
|
284
|
+
`;
|
|
285
|
+
export const OBSIDIAN_WIKILINK_PAGE_CYPHER = `
|
|
286
|
+
UNWIND $pageLinks AS wl
|
|
287
|
+
MATCH (src:KnowledgeDocument {accountId: $accountId, obsidianPath: wl.fromPath})
|
|
288
|
+
MATCH (dst:KnowledgeDocument {accountId: $accountId, obsidianPath: wl.toPath})
|
|
289
|
+
MERGE (src)-[r:WIKILINKS_TO]->(dst)
|
|
290
|
+
ON CREATE SET
|
|
291
|
+
r.linkText = wl.linkText,
|
|
292
|
+
r.alias = wl.alias,
|
|
293
|
+
r.anchor = wl.anchor,
|
|
294
|
+
r.source = 'obsidian',
|
|
295
|
+
r.createdAt = datetime()
|
|
296
|
+
RETURN count(*) AS processed
|
|
297
|
+
`;
|
|
298
|
+
export const OBSIDIAN_WIKILINK_ENTITY_CYPHER = `
|
|
299
|
+
UNWIND $entityLinks AS wl
|
|
300
|
+
MATCH (src:KnowledgeDocument {accountId: $accountId, obsidianPath: wl.fromPath})
|
|
301
|
+
MATCH (dst) WHERE elementId(dst) = wl.toNodeId AND dst.accountId = $accountId
|
|
302
|
+
MERGE (src)-[r:MENTIONS]->(dst)
|
|
303
|
+
ON CREATE SET
|
|
304
|
+
r.linkText = wl.linkText,
|
|
305
|
+
r.alias = wl.alias,
|
|
306
|
+
r.source = 'obsidian',
|
|
307
|
+
r.createdAt = datetime()
|
|
308
|
+
RETURN count(*) AS processed
|
|
309
|
+
`;
|
|
310
|
+
export const OBSIDIAN_WIKILINK_STUB_CYPHER = `
|
|
311
|
+
UNWIND $stubLinks AS wl
|
|
312
|
+
MATCH (src:KnowledgeDocument {accountId: $accountId, obsidianPath: wl.fromPath})
|
|
313
|
+
MERGE (c:Concept {accountId: $accountId, name: wl.stubName, source: 'obsidian-stub'})
|
|
314
|
+
ON CREATE SET
|
|
315
|
+
c.createdByAgent = 'obsidian-import',
|
|
316
|
+
c.createdBySource = 'obsidian-import',
|
|
317
|
+
c.createdBySession = $sessionId,
|
|
318
|
+
c.createdAt = datetime(),
|
|
319
|
+
c.scope = 'admin'
|
|
320
|
+
MERGE (src)-[r:MENTIONS]->(c)
|
|
321
|
+
ON CREATE SET
|
|
322
|
+
r.linkText = wl.linkText,
|
|
323
|
+
r.alias = wl.alias,
|
|
324
|
+
r.source = 'obsidian',
|
|
325
|
+
r.createdAt = datetime()
|
|
326
|
+
RETURN count(*) AS processed
|
|
327
|
+
`;
|
|
328
|
+
export const OBSIDIAN_ATTACHMENT_CYPHER = `
|
|
329
|
+
UNWIND $rows AS row
|
|
330
|
+
WITH row WHERE size(row.attachments) > 0
|
|
331
|
+
MATCH (k:KnowledgeDocument {accountId: $accountId, obsidianPath: row.obsidianPath})
|
|
332
|
+
UNWIND row.attachments AS att
|
|
333
|
+
MERGE (d:DigitalDocument {accountId: $accountId, attachmentPath: att.archivePath})
|
|
334
|
+
ON CREATE SET
|
|
335
|
+
d.digitalDocumentId = randomUUID(),
|
|
336
|
+
d.source = 'obsidian',
|
|
337
|
+
d.encodingFormat = att.encodingFormat,
|
|
338
|
+
d.alt = att.alt,
|
|
339
|
+
d.createdByAgent = 'obsidian-import',
|
|
340
|
+
d.createdBySource = 'obsidian-import',
|
|
341
|
+
d.createdBySession = $sessionId,
|
|
342
|
+
d.createdAt = datetime(),
|
|
343
|
+
d.scope = 'admin'
|
|
344
|
+
MERGE (d)-[e:EMBEDDED_IN]->(k)
|
|
345
|
+
ON CREATE SET
|
|
346
|
+
e.source = 'obsidian',
|
|
347
|
+
e.createdAt = datetime()
|
|
348
|
+
RETURN count(*) AS processed
|
|
349
|
+
`;
|
|
350
|
+
function obsidianVaultHandler() {
|
|
351
|
+
return {
|
|
352
|
+
async verifyArchive(session, params) {
|
|
353
|
+
const { ownerNodeId, accountId } = params;
|
|
354
|
+
const result = await session.run(`MATCH (n) WHERE elementId(n) = $ownerNodeId
|
|
355
|
+
RETURN labels(n) AS labels, n.accountId AS accountId LIMIT 1`, { ownerNodeId });
|
|
356
|
+
if (result.records.length === 0) {
|
|
357
|
+
throw new Error(`ownerNodeId ${ownerNodeId} not found. Re-run the archive-owner confirmation flow before invoking memory-archive-write.`);
|
|
358
|
+
}
|
|
359
|
+
const labels = result.records[0].get("labels") ?? [];
|
|
360
|
+
const ownerAccountId = result.records[0].get("accountId");
|
|
361
|
+
const isAdminUser = labels.includes("AdminUser");
|
|
362
|
+
const isPerson = labels.includes("Person");
|
|
363
|
+
if (!isAdminUser && !isPerson) {
|
|
364
|
+
throw new Error(`ownerNodeId ${ownerNodeId} has labels [${labels.join(", ")}]; expected :AdminUser or :Person.`);
|
|
365
|
+
}
|
|
366
|
+
if (ownerAccountId && ownerAccountId !== accountId) {
|
|
367
|
+
throw new Error(`ownerNodeId ${ownerNodeId} belongs to account ${ownerAccountId}, not ${accountId}. Cross-account vault ingest refused.`);
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
async writeBatch(session, ctx) {
|
|
371
|
+
const { params, batchRows, sessionId } = ctx;
|
|
372
|
+
const rows = batchRows.map(normaliseObsidianRow);
|
|
373
|
+
const pageLinks = [];
|
|
374
|
+
const entityLinks = [];
|
|
375
|
+
const stubLinks = [];
|
|
376
|
+
for (const row of rows) {
|
|
377
|
+
for (const wl of row.wikilinks ?? []) {
|
|
378
|
+
if (wl.target.kind === "page") {
|
|
379
|
+
pageLinks.push({
|
|
380
|
+
fromPath: row.obsidianPath,
|
|
381
|
+
toPath: wl.target.obsidianPath,
|
|
382
|
+
linkText: wl.linkText,
|
|
383
|
+
alias: wl.alias,
|
|
384
|
+
anchor: wl.anchor,
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
else if (wl.target.kind === "entity") {
|
|
388
|
+
entityLinks.push({
|
|
389
|
+
fromPath: row.obsidianPath,
|
|
390
|
+
toNodeId: wl.target.nodeId,
|
|
391
|
+
linkText: wl.linkText,
|
|
392
|
+
alias: wl.alias,
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
stubLinks.push({
|
|
397
|
+
fromPath: row.obsidianPath,
|
|
398
|
+
stubName: wl.target.name,
|
|
399
|
+
linkText: wl.linkText,
|
|
400
|
+
alias: wl.alias,
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
const queryParams = {
|
|
406
|
+
ownerNodeId: params.ownerNodeId,
|
|
407
|
+
accountId: params.accountId,
|
|
408
|
+
sessionId,
|
|
409
|
+
rows,
|
|
410
|
+
pageLinks,
|
|
411
|
+
entityLinks,
|
|
412
|
+
stubLinks,
|
|
413
|
+
};
|
|
414
|
+
return await session.executeWrite(async (tx) => {
|
|
415
|
+
const pageRes = await tx.run(OBSIDIAN_PAGE_CYPHER, queryParams);
|
|
416
|
+
const pageCounters = pageRes.summary.counters.updates();
|
|
417
|
+
const tagRes = await tx.run(OBSIDIAN_TAG_CYPHER, queryParams);
|
|
418
|
+
const tagCounters = tagRes.summary.counters.updates();
|
|
419
|
+
const attRes = await tx.run(OBSIDIAN_ATTACHMENT_CYPHER, queryParams);
|
|
420
|
+
const attCounters = attRes.summary.counters.updates();
|
|
421
|
+
let wikilinkCountersCreated = 0;
|
|
422
|
+
if (pageLinks.length > 0) {
|
|
423
|
+
const r = await tx.run(OBSIDIAN_WIKILINK_PAGE_CYPHER, queryParams);
|
|
424
|
+
wikilinkCountersCreated += r.summary.counters.updates().relationshipsCreated;
|
|
425
|
+
}
|
|
426
|
+
if (entityLinks.length > 0) {
|
|
427
|
+
const r = await tx.run(OBSIDIAN_WIKILINK_ENTITY_CYPHER, queryParams);
|
|
428
|
+
wikilinkCountersCreated += r.summary.counters.updates().relationshipsCreated;
|
|
429
|
+
}
|
|
430
|
+
if (stubLinks.length > 0) {
|
|
431
|
+
const r = await tx.run(OBSIDIAN_WIKILINK_STUB_CYPHER, queryParams);
|
|
432
|
+
wikilinkCountersCreated += r.summary.counters.updates().relationshipsCreated;
|
|
433
|
+
}
|
|
434
|
+
return {
|
|
435
|
+
createdPages: pageCounters.nodesCreated,
|
|
436
|
+
mergedPages: rows.length - pageCounters.nodesCreated,
|
|
437
|
+
createdTags: tagCounters.nodesCreated,
|
|
438
|
+
createdTagEdges: tagCounters.relationshipsCreated,
|
|
439
|
+
createdAttachments: attCounters.nodesCreated,
|
|
440
|
+
createdAttachmentEdges: attCounters.relationshipsCreated,
|
|
441
|
+
createdWikilinkEdges: wikilinkCountersCreated,
|
|
442
|
+
pageLinksRequested: pageLinks.length,
|
|
443
|
+
entityLinksRequested: entityLinks.length,
|
|
444
|
+
stubLinksRequested: stubLinks.length,
|
|
445
|
+
};
|
|
446
|
+
});
|
|
447
|
+
},
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
function normaliseObsidianRow(row) {
|
|
451
|
+
if (!row.obsidianPath || !row.obsidianPath.trim()) {
|
|
452
|
+
throw new Error("obsidian-vault row missing obsidianPath (natural key).");
|
|
453
|
+
}
|
|
454
|
+
if (row.obsidianPath.split("/").includes("..")) {
|
|
455
|
+
throw new Error(`obsidian-vault row obsidianPath="${row.obsidianPath}" contains path-traversal segment.`);
|
|
456
|
+
}
|
|
457
|
+
if (!row.contentHash || !/^[0-9a-f]{64}$/i.test(row.contentHash)) {
|
|
458
|
+
throw new Error(`obsidian-vault row contentHash for ${row.obsidianPath} is not a hex SHA-256.`);
|
|
459
|
+
}
|
|
460
|
+
if (row.noteDate && !/^\d{4}-\d{2}-\d{2}$/.test(row.noteDate)) {
|
|
461
|
+
throw new Error(`obsidian-vault row noteDate="${row.noteDate}" is not ISO 8601 (YYYY-MM-DD).`);
|
|
462
|
+
}
|
|
463
|
+
return {
|
|
464
|
+
obsidianPath: row.obsidianPath.trim(),
|
|
465
|
+
title: (row.title ?? "").trim(),
|
|
466
|
+
aliases: Array.isArray(row.aliases) ? row.aliases : [],
|
|
467
|
+
tags: Array.isArray(row.tags) ? row.tags : [],
|
|
468
|
+
body: row.body ?? "",
|
|
469
|
+
contentHash: row.contentHash.toLowerCase(),
|
|
470
|
+
noteDate: row.noteDate ?? null,
|
|
471
|
+
mtimeMs: typeof row.mtimeMs === "number" ? row.mtimeMs : 0,
|
|
472
|
+
wikilinks: Array.isArray(row.wikilinks) ? row.wikilinks : [],
|
|
473
|
+
attachments: Array.isArray(row.attachments) ? row.attachments : [],
|
|
474
|
+
};
|
|
475
|
+
}
|
|
218
476
|
function normaliseLinkedinRow(row) {
|
|
219
477
|
if (!row.linkedinUrl || !row.linkedinUrl.trim()) {
|
|
220
478
|
throw new Error("linkedin-connections row missing linkedinUrl (natural key).");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-archive-write.js","sourceRoot":"","sources":["../../src/tools/memory-archive-write.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-archive-write.js","sourceRoot":"","sources":["../../src/tools/memory-archive-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Buffer } from "node:buffer";
|
|
2
|
+
/**
|
|
3
|
+
* obsidian-vault-import — server-side parser + write orchestrator for
|
|
4
|
+
* Obsidian vault ingestion. Two-phase by operator decision (CEO review):
|
|
5
|
+
*
|
|
6
|
+
* 1. mode='dry-run' — walks the extractedDir, parses, builds the
|
|
7
|
+
* resolution plan, returns counts + ambiguities the operator must
|
|
8
|
+
* disambiguate before the write commits. No writes happen.
|
|
9
|
+
*
|
|
10
|
+
* 2. mode='commit' — re-walks (parsing is deterministic + cheap on a
|
|
11
|
+
* local fs), applies operator-supplied resolutions, runs the
|
|
12
|
+
* content-hash idempotency check against the existing graph,
|
|
13
|
+
* copies attachments to {accountDir}/archive/obsidian/<importId>/,
|
|
14
|
+
* and invokes memoryArchiveWrite with archiveType='obsidian-vault'.
|
|
15
|
+
*
|
|
16
|
+
* The agent never parses markdown. It supplies extractedDir + ownerNodeId
|
|
17
|
+
* + operator-driven filter selection, runs the dry-run, surfaces
|
|
18
|
+
* ambiguities to the operator interactively, then re-invokes commit with
|
|
19
|
+
* the resolutions block. All schema decisions (label reuse, edge naming,
|
|
20
|
+
* MERGE keys) are pinned in memory-archive-write's obsidian-vault handler.
|
|
21
|
+
*/
|
|
22
|
+
export type ObsidianImportMode = "dry-run" | "commit";
|
|
23
|
+
export interface VaultImportFilters {
|
|
24
|
+
/** Only ingest pages whose obsidianPath starts with one of these prefixes. */
|
|
25
|
+
folderPrefixes?: string[];
|
|
26
|
+
/** Only ingest pages whose tags intersect this set (normalised, no `#`). */
|
|
27
|
+
tags?: string[];
|
|
28
|
+
/** Only ingest pages with mtime >= this ISO date or epoch-ms. */
|
|
29
|
+
modifiedSince?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Operator's disambiguation answers, keyed by the ambiguity id the dry-run
|
|
33
|
+
* returned. Each entry tells the commit phase which candidate to write the
|
|
34
|
+
* wikilink edge to.
|
|
35
|
+
*/
|
|
36
|
+
export type AmbiguityResolution = {
|
|
37
|
+
kind: "page";
|
|
38
|
+
obsidianPath: string;
|
|
39
|
+
} | {
|
|
40
|
+
kind: "entity";
|
|
41
|
+
nodeId: string;
|
|
42
|
+
} | {
|
|
43
|
+
kind: "stub";
|
|
44
|
+
};
|
|
45
|
+
export interface VaultImportParams {
|
|
46
|
+
accountId: string;
|
|
47
|
+
ownerNodeId: string;
|
|
48
|
+
/** Absolute path to the extracted vault directory. Caller validates it
|
|
49
|
+
* lives under the account's archive area before invoking. */
|
|
50
|
+
extractedDir: string;
|
|
51
|
+
/** Stable id for the import run. Generated by dry-run, passed back in
|
|
52
|
+
* the commit call so observability lines tie together. */
|
|
53
|
+
importId?: string;
|
|
54
|
+
mode: ObsidianImportMode;
|
|
55
|
+
filters?: VaultImportFilters;
|
|
56
|
+
/** Operator answers to dry-run ambiguities. Required when mode='commit'
|
|
57
|
+
* AND the dry-run reported ambiguities; ignored otherwise. */
|
|
58
|
+
resolutions?: Record<string, AmbiguityResolution>;
|
|
59
|
+
/** Threshold above which the dry-run flags large vaults for the skill's
|
|
60
|
+
* selective-ingest filter conversation. Default 100 — mirrors the
|
|
61
|
+
* linkedin-connections threshold. */
|
|
62
|
+
selectiveIngestThreshold?: number;
|
|
63
|
+
sessionId?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface VaultImportAmbiguity {
|
|
66
|
+
/** Stable id the operator quotes back in the resolutions map. */
|
|
67
|
+
id: string;
|
|
68
|
+
/** The page that contains the wikilink. */
|
|
69
|
+
fromPath: string;
|
|
70
|
+
/** Raw wikilink text (without `[[…]]`, before alias `|`). */
|
|
71
|
+
target: string;
|
|
72
|
+
/** Candidate intra-vault pages by obsidianPath. */
|
|
73
|
+
pageCandidates: string[];
|
|
74
|
+
/** Candidate existing entities — `{nodeId, label, name, distance}`. */
|
|
75
|
+
entityCandidates: Array<{
|
|
76
|
+
nodeId: string;
|
|
77
|
+
label: string;
|
|
78
|
+
name: string;
|
|
79
|
+
distance: number;
|
|
80
|
+
}>;
|
|
81
|
+
}
|
|
82
|
+
export interface VaultImportPlan {
|
|
83
|
+
importId: string;
|
|
84
|
+
mode: ObsidianImportMode;
|
|
85
|
+
/** Total pages discovered before filtering. */
|
|
86
|
+
pagesDiscovered: number;
|
|
87
|
+
/** Pages surviving filters. */
|
|
88
|
+
pagesEligible: number;
|
|
89
|
+
/** Pages whose contentHash already matches the existing graph (skipped on commit). */
|
|
90
|
+
pagesUnchanged: number;
|
|
91
|
+
/** Wikilinks classified by resolution: intra-vault, fuzzy-entity, stub. */
|
|
92
|
+
wikilinks: {
|
|
93
|
+
page: number;
|
|
94
|
+
entity: number;
|
|
95
|
+
stub: number;
|
|
96
|
+
ambiguous: number;
|
|
97
|
+
};
|
|
98
|
+
/** Tags discovered across eligible pages. */
|
|
99
|
+
tagCount: number;
|
|
100
|
+
/** Distinct attachments referenced. */
|
|
101
|
+
attachmentCount: number;
|
|
102
|
+
/** Operator must resolve these before commit will run. */
|
|
103
|
+
ambiguities: VaultImportAmbiguity[];
|
|
104
|
+
/** Set when pagesEligible > selectiveIngestThreshold and dry-run was the call. */
|
|
105
|
+
selectiveIngestSuggested: boolean;
|
|
106
|
+
}
|
|
107
|
+
export interface VaultImportCommitResult extends VaultImportPlan {
|
|
108
|
+
written: {
|
|
109
|
+
createdPages: number;
|
|
110
|
+
mergedPages: number;
|
|
111
|
+
createdTags: number;
|
|
112
|
+
createdTagEdges: number;
|
|
113
|
+
createdAttachments: number;
|
|
114
|
+
createdAttachmentEdges: number;
|
|
115
|
+
createdWikilinkEdges: number;
|
|
116
|
+
};
|
|
117
|
+
attachmentsCopied: number;
|
|
118
|
+
errors: Array<{
|
|
119
|
+
rowIndex: number;
|
|
120
|
+
reason: string;
|
|
121
|
+
}>;
|
|
122
|
+
/** Server log line tag — the same string written to server.log. */
|
|
123
|
+
observabilityTag: string;
|
|
124
|
+
}
|
|
125
|
+
export declare function obsidianVaultImport(params: VaultImportParams): Promise<VaultImportPlan | VaultImportCommitResult>;
|
|
126
|
+
export type _BufferType = Buffer;
|
|
127
|
+
//# sourceMappingURL=obsidian-vault-import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"obsidian-vault-import.d.ts","sourceRoot":"","sources":["../../src/tools/obsidian-vault-import.ts"],"names":[],"mappings":"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"}
|