oh-my-second-brain 0.1.6 → 0.1.7
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/adapters/README.md +3 -3
- package/adapters/claude-code/.claude-plugin/plugin.json +2 -2
- package/adapters/claude-code/skills/retrieve/SKILL.md +13 -8
- package/adapters/claude-code/skills/setup/SKILL.md +4 -3
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/rules/oms.md +1 -1
- package/adapters/codex/skills/oms-retrieve/SKILL.md +9 -1
- package/adapters/hermes/manifest.json +2 -2
- package/adapters/hermes/skills/retrieve/SKILL.md +9 -1
- package/core/agents/librarian.md +1 -1
- package/core/skills/capture/SKILL.md +7 -5
- package/core/skills/retrieve/SKILL.md +17 -5
- package/dist/cli/oms.js +14 -29
- package/dist/cli/oms.js.map +1 -1
- package/dist/conventions/frontmatter.d.ts +11 -0
- package/dist/conventions/frontmatter.js +56 -6
- package/dist/conventions/frontmatter.js.map +1 -1
- package/dist/graph/explore.d.ts +34 -0
- package/dist/graph/explore.js +181 -0
- package/dist/graph/explore.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +69 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/retrieve/morning.d.ts +36 -0
- package/dist/retrieve/morning.js +73 -0
- package/dist/retrieve/morning.js.map +1 -0
- package/dist/runtime/assets.d.ts +7 -0
- package/dist/runtime/assets.js +13 -0
- package/dist/runtime/assets.js.map +1 -0
- package/dist/search/qmd.d.ts +59 -0
- package/dist/search/qmd.js +141 -0
- package/dist/search/qmd.js.map +1 -0
- package/docs/install.md +17 -17
- package/docs/release.md +5 -1
- package/package.json +5 -4
- package/scripts/install.sh +8 -5
- package/scripts/uninstall.sh +6 -3
package/adapters/README.md
CHANGED
|
@@ -80,10 +80,10 @@ contract validation, retrieve, graph/status, and gated capture tools.
|
|
|
80
80
|
All three hosts natively support MCP (`.mcp.json` for claude-code and codex; "any MCP server" for Hermes).
|
|
81
81
|
In the current repository, `src/mcp/server.ts` starts a real stdio MCP server via `oms mcp`.
|
|
82
82
|
|
|
83
|
-
The MCP server currently exposes status/read/cache/capture tools:
|
|
83
|
+
The MCP server currently exposes status/read/cache/retrieve/capture tools:
|
|
84
84
|
`oms_graph_status`, `oms_graph_build`, `oms_list_concepts`,
|
|
85
|
-
`
|
|
86
|
-
`oms_capture_prepare`, and `oms_capture_commit`.
|
|
85
|
+
`oms_retrieve_context`, `oms_retrieve_by_axis`, `oms_lazy_load_note`,
|
|
86
|
+
`oms_validate_contract`, `oms_capture_prepare`, and `oms_capture_commit`.
|
|
87
87
|
Capture commit is gated by path-safety, vault-confinement, and contract validation. The CLI (`oms setup`, `oms install`, `oms uninstall`, `oms doctor`) remains the real surface for lifecycle commands.
|
|
88
88
|
|
|
89
89
|
---
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oms",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Oh My Second Brain convention layer for Obsidian vaults
|
|
3
|
+
"version": "0.1.7",
|
|
4
|
+
"description": "Oh My Second Brain convention layer for Obsidian vaults \u2014 capture, retrieve, and validate knowledge under a declared semantic convention.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "gobeumsu"
|
|
7
7
|
},
|
|
@@ -21,18 +21,22 @@ Conceptually shells out to:
|
|
|
21
21
|
oms retrieve
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
**Runtime note:** Retrieval is available through MCP tools
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
**Runtime note:** Retrieval is available through MCP tools. Prefer
|
|
25
|
+
`oms_retrieve_context` for live graph + qmd context retrieval, then
|
|
26
|
+
`oms_lazy_load_note` after selecting candidate notes. `oms_retrieve_by_axis`
|
|
27
|
+
remains available for legacy cache-backed axis retrieval.
|
|
27
28
|
|
|
28
29
|
## Agent-guided steps (v0)
|
|
29
30
|
|
|
30
31
|
1. Clarify the user's **retrieval purpose** (synthesize, audit, plan, review, etc.).
|
|
31
32
|
2. Narrow by declared **folder/concept/property/wikilink axes** where possible.
|
|
32
33
|
3. Match the purpose to a declared **retrieval view** (`lenses` in YAML) in `vault/.oms/concepts/*.yaml`.
|
|
33
|
-
4.
|
|
34
|
-
5.
|
|
35
|
-
|
|
34
|
+
4. Call MCP `oms_retrieve_context` with the best available axes and query.
|
|
35
|
+
5. Use default `qmdScope: "global"` for broad semantic search; use
|
|
36
|
+
`qmdScope: "graph"` only when qmd must stay inside the selected graph
|
|
37
|
+
candidates.
|
|
38
|
+
6. For each note, return the retrieval-view fields and lazy-load body only when needed.
|
|
39
|
+
7. Return results grouped by concept/folder with retrieval-view frontmatter.
|
|
36
40
|
|
|
37
41
|
## Example
|
|
38
42
|
|
|
@@ -51,5 +55,6 @@ Purpose: "Synthesize my transformer papers"
|
|
|
51
55
|
|
|
52
56
|
## Runtime
|
|
53
57
|
|
|
54
|
-
Use MCP `
|
|
55
|
-
|
|
58
|
+
Use MCP `oms_retrieve_context` for live graph/qmd retrieval. Use MCP
|
|
59
|
+
`oms_retrieve_by_axis` only for legacy axis-first cache retrieval. Use MCP
|
|
60
|
+
`oms_lazy_load_note` only after selecting candidate notes.
|
|
@@ -65,7 +65,8 @@ Run `/oms-doctor` to validate your existing notes against the convention.
|
|
|
65
65
|
## Roadmap
|
|
66
66
|
|
|
67
67
|
Setup plus `oms install`/`oms uninstall` host lifecycle commands are real and release-gated by unpacked npm tarball smoke tests. The MCP command starts
|
|
68
|
-
the status/read/cache/capture runtime (`oms_graph_status`, `oms_graph_build`,
|
|
69
|
-
`oms_list_concepts`, `
|
|
70
|
-
`oms_validate_contract`, `oms_capture_prepare`,
|
|
68
|
+
the status/read/cache/retrieve/capture runtime (`oms_graph_status`, `oms_graph_build`,
|
|
69
|
+
`oms_list_concepts`, `oms_retrieve_context`, `oms_retrieve_by_axis`,
|
|
70
|
+
`oms_lazy_load_note`, `oms_validate_contract`, `oms_capture_prepare`,
|
|
71
|
+
`oms_capture_commit`).
|
|
71
72
|
Capture commit is gated by path-safety and contract validation.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oms",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Oh My Second Brain convention layer for Obsidian vaults
|
|
3
|
+
"version": "0.1.7",
|
|
4
|
+
"description": "Oh My Second Brain convention layer for Obsidian vaults \u2014 Codex native rules, skills, and MCP adapter.",
|
|
5
5
|
"_note": "oms install writes Codex MCP config, installs ~/.codex/rules/oms.md, and installs ~/.codex/skills/oms-*.",
|
|
6
6
|
"skills": "./skills/",
|
|
7
7
|
"mcpServers": "./.mcp.json"
|
|
@@ -15,7 +15,7 @@ Oh My Second Brain is a convention harness, not a content generator. The user ow
|
|
|
15
15
|
| uninstall host integration | `$oms-uninstall` or `oms uninstall --runtime codex --yes` |
|
|
16
16
|
| validate notes | `$oms-doctor` or `oms doctor --vault <path>` |
|
|
17
17
|
| capture knowledge | use MCP `oms_capture_prepare` then `oms_capture_commit` |
|
|
18
|
-
| retrieve knowledge | use MCP `
|
|
18
|
+
| retrieve knowledge | use MCP `oms_retrieve_context`, then `oms_lazy_load_note` only when needed |
|
|
19
19
|
|
|
20
20
|
## Safety
|
|
21
21
|
|
|
@@ -5,6 +5,14 @@ description: Retrieve vault knowledge axis-first using folders, frontmatter, wik
|
|
|
5
5
|
|
|
6
6
|
# oms-retrieve
|
|
7
7
|
|
|
8
|
-
Use `
|
|
8
|
+
Use `oms_retrieve_context` first for natural-language retrieval. It combines live
|
|
9
|
+
frontmatter/folder/wikilink graph context with optional qmd lexical/vector
|
|
10
|
+
candidates and does not require a warm graph cache. Pass declared
|
|
11
|
+
concept/folder/property/value/wikilink axes when the user's intent gives them.
|
|
12
|
+
|
|
13
|
+
Use `qmdScope: "global"` when the user asks broad semantic search across the
|
|
14
|
+
vault, and `qmdScope: "graph"` when qmd candidates must stay inside the selected
|
|
15
|
+
OMS graph candidates. Use `oms_retrieve_by_axis` only for legacy axis-first
|
|
16
|
+
cache retrieval. Use `oms_lazy_load_note` only after selecting candidate notes.
|
|
9
17
|
|
|
10
18
|
Return lens-shaped fields where possible; do not dump full note bodies unless the user asks or the retrieval task needs body evidence.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oms",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Oh My Second Brain convention layer for Obsidian vaults
|
|
3
|
+
"version": "0.1.7",
|
|
4
|
+
"description": "Oh My Second Brain convention layer for Obsidian vaults \u2014 Hermes skill bundle and MCP adapter.",
|
|
5
5
|
"_note": "oms install writes ~/.hermes/config.yaml mcp_servers.oms and installs skills under ~/.hermes/skills/knowledge-management/oms/.",
|
|
6
6
|
"skills": "./skills/"
|
|
7
7
|
}
|
|
@@ -5,6 +5,14 @@ description: Retrieve vault knowledge axis-first using folders, frontmatter, wik
|
|
|
5
5
|
|
|
6
6
|
# oms-retrieve
|
|
7
7
|
|
|
8
|
-
Use `
|
|
8
|
+
Use `oms_retrieve_context` first for natural-language retrieval. It combines live
|
|
9
|
+
frontmatter/folder/wikilink graph context with optional qmd lexical/vector
|
|
10
|
+
candidates and does not require a warm graph cache. Pass declared
|
|
11
|
+
concept/folder/property/value/wikilink axes when the user's intent gives them.
|
|
12
|
+
|
|
13
|
+
Use `qmdScope: "global"` when the user asks broad semantic search across the
|
|
14
|
+
vault, and `qmdScope: "graph"` when qmd candidates must stay inside the selected
|
|
15
|
+
OMS graph candidates. Use `oms_retrieve_by_axis` only for legacy axis-first
|
|
16
|
+
cache retrieval. Use `oms_lazy_load_note` only after selecting candidate notes.
|
|
9
17
|
|
|
10
18
|
Return lens-shaped fields where possible; do not dump full note bodies unless the user asks or the retrieval task needs body evidence.
|
package/core/agents/librarian.md
CHANGED
|
@@ -21,7 +21,7 @@ It reads the convention first, then acts.
|
|
|
21
21
|
2. **Folder resolution** — look up the correct target folder from `vault/.oms/taxonomy.yaml` based on the matched concept.
|
|
22
22
|
3. **Frontmatter construction** — fill every `required: true` field; fill known optional fields; leave undeclared fields untouched.
|
|
23
23
|
4. **Note creation** — write the file at the resolved path; use the concept's naming convention (default: `YYYY-MM-DD-<slug>.md`).
|
|
24
|
-
5. **Post-capture validation** — run `npx
|
|
24
|
+
5. **Post-capture validation** — run `npx oh-my-second-brain doctor` (non-blocking) to confirm the new note is clean.
|
|
25
25
|
|
|
26
26
|
## Decision rules
|
|
27
27
|
|
|
@@ -20,12 +20,14 @@ The librarian persona governs this action.
|
|
|
20
20
|
5. Write the note body after the frontmatter block.
|
|
21
21
|
6. Run `oms doctor` (non-blocking, exits 0) to confirm the new note passes field validation.
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Engine
|
|
24
24
|
|
|
25
|
-
The
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
the `
|
|
25
|
+
The capture engine is implemented in `src/capture/safe.ts` and exposed via two MCP tools:
|
|
26
|
+
|
|
27
|
+
- **`oms_capture_prepare`** — resolves the target path and constructs the proposed frontmatter/body without writing anything. Call this first to let the agent review the proposed note before committing.
|
|
28
|
+
- **`oms_capture_commit`** — writes the file to disk. Gated by vault confinement: rejects writes that are outside the vault, to non-`.md` files, or into the `.oms/` config directory. Frontmatter violations are warn-only and do not block the commit.
|
|
29
|
+
|
|
30
|
+
The recommended agent flow is to call `oms_capture_prepare`, review the result, then call `oms_capture_commit` to finalize.
|
|
29
31
|
|
|
30
32
|
## Example agent steps
|
|
31
33
|
|
|
@@ -32,12 +32,24 @@ lenses:
|
|
|
32
32
|
|
|
33
33
|
The retrieval skill reads these declarations from `vault/.oms/concepts/*.yaml`.
|
|
34
34
|
|
|
35
|
-
##
|
|
35
|
+
## Engine
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
Use MCP `oms_retrieve_context` first for natural-language retrieval. It combines:
|
|
38
|
+
|
|
39
|
+
- live folder/frontmatter/wikilink graph exploration without requiring a warm cache
|
|
40
|
+
- taxonomy-axis seeds from concept, folder, property, value, or wikilink inputs
|
|
41
|
+
- graph neighbors through shared frontmatter values, wikilinks, and backlinks
|
|
42
|
+
- optional qmd lexical/vector candidates when the local `qmd` CLI is available
|
|
43
|
+
|
|
44
|
+
Use `qmdScope: "global"` for broad semantic search across the vault. Use
|
|
45
|
+
`qmdScope: "graph"` when qmd candidates must stay inside the selected OMS graph
|
|
46
|
+
candidates. The qmd provider is fail-soft: retrieval must still return OMS graph
|
|
47
|
+
hits when qmd is unavailable or disabled.
|
|
48
|
+
|
|
49
|
+
Use the older MCP tools only for narrower follow-up steps:
|
|
50
|
+
|
|
51
|
+
- **`oms_retrieve_by_axis`** — legacy cache-backed axis retrieval by concept, folder, property, value, or wikilink.
|
|
52
|
+
- **`oms_lazy_load_note`** — fetches the full body of a single selected note on demand, avoiding loading all note bodies upfront.
|
|
41
53
|
|
|
42
54
|
## Example agent steps
|
|
43
55
|
|
package/dist/cli/oms.js
CHANGED
|
@@ -10,37 +10,20 @@ import { resolveConcept } from "../ontology/resolver.js";
|
|
|
10
10
|
import { parseNote } from "../conventions/frontmatter.js";
|
|
11
11
|
import { validateFrontmatter } from "../conventions/validate.js";
|
|
12
12
|
import { runMcpServer } from "../mcp/server.js";
|
|
13
|
+
import { resolveBundledAssetPaths } from "../runtime/assets.js";
|
|
13
14
|
import { formatHostOperationResults, runHostOperation, } from "../install/hosts.js";
|
|
14
15
|
// ---------------------------------------------------------------------------
|
|
15
16
|
// Path helpers
|
|
16
17
|
// ---------------------------------------------------------------------------
|
|
17
|
-
|
|
18
|
-
* Resolve the bundled `core/ontology` directory.
|
|
19
|
-
* Both the built path (`dist/cli/`) and the source path (`src/cli/`) are two
|
|
20
|
-
* levels beneath the repo root, so `../../core/ontology` works in both cases.
|
|
21
|
-
*/
|
|
18
|
+
const bundledAssets = resolveBundledAssetPaths();
|
|
22
19
|
function bundledOntologyDir() {
|
|
23
|
-
|
|
24
|
-
const __dirname = path.dirname(__filename);
|
|
25
|
-
return path.resolve(__dirname, "../../core/ontology");
|
|
20
|
+
return bundledAssets.ontologyDir;
|
|
26
21
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Resolve the bundled Claude Code adapter directory.
|
|
29
|
-
* Kept parallel to bundledOntologyDir so source and built paths both work.
|
|
30
|
-
*/
|
|
31
22
|
function bundledClaudeAdapterDir() {
|
|
32
|
-
|
|
33
|
-
const __dirname = path.dirname(__filename);
|
|
34
|
-
return path.resolve(__dirname, "../../adapters/claude-code");
|
|
23
|
+
return bundledAssets.claudeAdapterDir;
|
|
35
24
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Resolve the bundled `adapters` root so host installers can copy the
|
|
38
|
-
* runtime-specific adapter assets from either source or dist execution.
|
|
39
|
-
*/
|
|
40
25
|
function bundledAdapterRoot() {
|
|
41
|
-
|
|
42
|
-
const __dirname = path.dirname(__filename);
|
|
43
|
-
return path.resolve(__dirname, "../../adapters");
|
|
26
|
+
return bundledAssets.adapterRoot;
|
|
44
27
|
}
|
|
45
28
|
// ---------------------------------------------------------------------------
|
|
46
29
|
// Helpers
|
|
@@ -201,7 +184,7 @@ export async function runSetup(opts) {
|
|
|
201
184
|
console.log(` Written: ${path.join(omsDir, "taxonomy.yaml")}`);
|
|
202
185
|
console.log(` Concepts: ${copiedFiles.join(", ") || "(none)"}`);
|
|
203
186
|
console.log(` Folders: ${Object.keys(folderBindings).join(", ") || "(none)"}`);
|
|
204
|
-
console.log(`\nRun "
|
|
187
|
+
console.log(`\nRun "oh-my-second-brain doctor" to validate existing notes.\n`);
|
|
205
188
|
if (installClaude) {
|
|
206
189
|
printClaudeInstallPlan(buildClaudeInstallPlan({ vault }));
|
|
207
190
|
console.log("");
|
|
@@ -272,14 +255,16 @@ export async function runDoctor(opts) {
|
|
|
272
255
|
// ---------------------------------------------------------------------------
|
|
273
256
|
function printUsage() {
|
|
274
257
|
console.log(`
|
|
275
|
-
|
|
258
|
+
oh-my-second-brain — Oh My Second Brain convention layer for Obsidian vaults
|
|
276
259
|
|
|
277
260
|
Usage:
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
261
|
+
oh-my-second-brain setup [--vault <path>] [--yes] [--install-claude]
|
|
262
|
+
oh-my-second-brain install [--vault <path>] [--runtime <auto|all|claude|codex|hermes>] [--dry-run] [--execute] [--yes]
|
|
263
|
+
oh-my-second-brain uninstall [--runtime <all|claude|codex|hermes>] [--dry-run] [--execute] [--yes]
|
|
264
|
+
oh-my-second-brain doctor [--vault <path>]
|
|
265
|
+
oh-my-second-brain mcp [--vault <path>]
|
|
266
|
+
|
|
267
|
+
Compatibility alias: oms <command>
|
|
283
268
|
|
|
284
269
|
Commands:
|
|
285
270
|
setup Adopt an existing vault into the Oh My Second Brain convention.
|
package/dist/cli/oms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oms.js","sourceRoot":"","sources":["../../src/cli/oms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oms.js","sourceRoot":"","sources":["../../src/cli/oms.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAsB,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAG7B,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;AAEjD,SAAS,kBAAkB;IACzB,OAAO,aAAa,CAAC,WAAW,CAAC;AACnC,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,aAAa,CAAC,gBAAgB,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,aAAa,CAAC,WAAW,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,2DAA2D;AAC3D,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,6DAA6D;AAC7D,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AASD,MAAM,UAAU,sBAAsB,CAAC,IAAuB;IAC5D,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAC7C,OAAO;QACL,UAAU;QACV,oBAAoB,EAAE,yBAAyB,UAAU,CAAC,UAAU,CAAC,EAAE;QACvE,sBAAsB,EAAE,yCAAyC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACzF,gBAAgB,EAAE,qBAAqB;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAuB;IACrD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CACT,4HAA4H,CAC7H,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,KAAK,SAAS,CAAC,CAAC,YAAY,CAC1B,GAAW,EACX,IAAY,EACZ,QAAqB;IAErB,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAI9B;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,cAAc,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG,CAAC;IAEzE,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IAEjD,oDAAoD;IACpD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACzD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEtB,MAAM,cAAc,GAAkC,EAAE,CAAC;IAEzD,IAAI,cAAc,EAAE,CAAC;QACnB,kDAAkD;QAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,qDAAqD;YACrD,IAAI,WAAW,GAAkB,IAAI,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAChD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC9B,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,cAAc,CAAC,MAAM,CAAC,GAAG;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;gBACxB,OAAO,EAAE,WAAW;aACrB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,MAAM,EAAE,GAAG,eAAe,CAAC;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,+BAA+B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC;YAEpF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CACjC,WAAW,MAAM,eAAe,aAAa,KAAK,CACnD,CAAC;gBACF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC;gBAEjD,uBAAuB;gBACvB,IAAI,cAAc,GAAkB,IAAI,CAAC;gBACzC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAChD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC9B,cAAc,GAAG,IAAI,CAAC;wBACtB,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,MAAM,aAAa,GAAG,cAAc;oBAClC,CAAC,CAAC,mBAAmB,cAAc,cAAc,cAAc,oBAAoB;oBACnF,CAAC,CAAC,mBAAmB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,mBAAmB,CAAC;gBAE3E,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,WAA0B,CAAC;gBAC/B,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;oBACzC,WAAW,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;gBACrE,CAAC;qBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,WAAW,GAAG,OAAO,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,sBAAsB,OAAO,qBAAqB,CAAC,CAAC;oBACjE,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;gBAED,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAEnE,sEAAsE;IACtE,yEAAyE;IACzE,iDAAiD;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjD,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CACtD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAChF,CAAC;IAEF,4DAA4D;IAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,MAAM,QAAQ,CACZ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAClC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAChC,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAE/E,IAAI,aAAa,EAAE,CAAC;QAClB,sBAAsB,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAuB;IACrD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,2EAA2E;IAC3E,4EAA4E;IAC5E,wDAAwD;IACxD,IAAI,CAAC;QACH,2EAA2E;QAC3E,qEAAqE;QACrE,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;YACvD,WAAW,GAAG,gBAAgB,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAE5B,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,UAAU,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAEzD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,mBAAmB,EAAE,CAAC;gBACtB,eAAe,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,cAAc,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC5D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CACT,gCAAgC,UAAU,mBAAmB,mBAAmB,qBAAqB,eAAe,oBAAoB,CACzI,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,yDAAyD;IACzD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bb,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,sBAAsB;IACtB,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,OAAqC,CAAC;IAC1C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;YACnC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC/B,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC;YAC1C,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAChC,IACE,UAAU,KAAK,MAAM;gBACrB,UAAU,KAAK,KAAK;gBACpB,UAAU,KAAK,QAAQ;gBACvB,UAAU,KAAK,OAAO;gBACtB,UAAU,KAAK,QAAQ,EACvB,CAAC;gBACD,OAAO,GAAG,UAAU,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;gBAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YACnC,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5D,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7F,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;YACrC,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,eAAe;YACxB,KAAK;YACL,MAAM;YACN,eAAe;YACf,GAAG;YACH,WAAW,EAAE,kBAAkB,EAAE;SAClC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,gFAAgF;AAChF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElD,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,YAAY,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;IAC7B,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;QAC1C,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzE,IAAI,MAAM,EAAE,CAAC;IACX,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -11,5 +11,16 @@ export interface ParsedNote {
|
|
|
11
11
|
body: string;
|
|
12
12
|
/** Whether a frontmatter block was present. */
|
|
13
13
|
hasFrontmatter: boolean;
|
|
14
|
+
diagnostics: FrontmatterDiagnostic[];
|
|
15
|
+
frontmatterRaw: string;
|
|
16
|
+
frontmatterRange: FrontmatterRange | null;
|
|
17
|
+
}
|
|
18
|
+
export interface FrontmatterDiagnostic {
|
|
19
|
+
code: "frontmatter-yaml-parse-error" | "frontmatter-unclosed-fence" | "frontmatter-not-map";
|
|
20
|
+
message: string;
|
|
21
|
+
}
|
|
22
|
+
export interface FrontmatterRange {
|
|
23
|
+
start: number;
|
|
24
|
+
end: number;
|
|
14
25
|
}
|
|
15
26
|
export declare function parseNote(raw: string): ParsedNote;
|
|
@@ -1,23 +1,73 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { parseDocument } from "yaml";
|
|
2
|
+
const OPEN_FENCE = /^---\r?\n/;
|
|
2
3
|
const FENCE = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;
|
|
4
|
+
function emptyParsedNote(raw) {
|
|
5
|
+
return {
|
|
6
|
+
frontmatter: {},
|
|
7
|
+
body: raw,
|
|
8
|
+
hasFrontmatter: false,
|
|
9
|
+
diagnostics: [],
|
|
10
|
+
frontmatterRaw: "",
|
|
11
|
+
frontmatterRange: null,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
3
14
|
export function parseNote(raw) {
|
|
4
15
|
// Only treat as frontmatter if the document opens with the fence.
|
|
5
|
-
|
|
6
|
-
|
|
16
|
+
const open = OPEN_FENCE.exec(raw);
|
|
17
|
+
if (!open) {
|
|
18
|
+
return emptyParsedNote(raw);
|
|
7
19
|
}
|
|
8
20
|
const match = FENCE.exec(raw);
|
|
9
21
|
if (!match) {
|
|
10
|
-
|
|
22
|
+
const frontmatterStart = open[0].length;
|
|
23
|
+
return {
|
|
24
|
+
frontmatter: {},
|
|
25
|
+
body: "",
|
|
26
|
+
hasFrontmatter: true,
|
|
27
|
+
diagnostics: [
|
|
28
|
+
{
|
|
29
|
+
code: "frontmatter-unclosed-fence",
|
|
30
|
+
message: "Frontmatter starts with an opening fence but has no closing fence.",
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
frontmatterRaw: raw.slice(frontmatterStart),
|
|
34
|
+
frontmatterRange: { start: frontmatterStart, end: raw.length },
|
|
35
|
+
};
|
|
11
36
|
}
|
|
12
37
|
const yamlText = match[1] ?? "";
|
|
13
|
-
const
|
|
38
|
+
const document = parseDocument(yamlText, { prettyErrors: false, uniqueKeys: true });
|
|
39
|
+
if (document.errors.length > 0) {
|
|
40
|
+
return {
|
|
41
|
+
frontmatter: {},
|
|
42
|
+
body: raw.slice(match[0].length),
|
|
43
|
+
hasFrontmatter: true,
|
|
44
|
+
diagnostics: document.errors.map((error) => ({
|
|
45
|
+
code: "frontmatter-yaml-parse-error",
|
|
46
|
+
message: error.message,
|
|
47
|
+
})),
|
|
48
|
+
frontmatterRaw: yamlText,
|
|
49
|
+
frontmatterRange: { start: 4, end: 4 + yamlText.length },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const parsed = document.toJS();
|
|
14
53
|
const frontmatter = parsed && typeof parsed === "object" && !Array.isArray(parsed)
|
|
15
|
-
? parsed
|
|
54
|
+
? Object.fromEntries(Object.entries(parsed))
|
|
16
55
|
: {};
|
|
56
|
+
const diagnostics = parsed && typeof parsed === "object" && !Array.isArray(parsed)
|
|
57
|
+
? []
|
|
58
|
+
: [
|
|
59
|
+
{
|
|
60
|
+
code: "frontmatter-not-map",
|
|
61
|
+
message: "Frontmatter must be a YAML mapping.",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
17
64
|
return {
|
|
18
65
|
frontmatter,
|
|
19
66
|
body: raw.slice(match[0].length),
|
|
20
67
|
hasFrontmatter: true,
|
|
68
|
+
diagnostics,
|
|
69
|
+
frontmatterRaw: yamlText,
|
|
70
|
+
frontmatterRange: { start: 4, end: 4 + yamlText.length },
|
|
21
71
|
};
|
|
22
72
|
}
|
|
23
73
|
//# sourceMappingURL=frontmatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/conventions/frontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/conventions/frontmatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type RetrieveByAxisOptions } from "./cache.js";
|
|
2
|
+
export type LocalGraphProvider = "cache" | "headless-scan";
|
|
3
|
+
export type GraphConnectionKind = "property-value" | "wikilink" | "backlink";
|
|
4
|
+
export interface GraphExploreOptions extends RetrieveByAxisOptions {
|
|
5
|
+
maxNeighbors?: number;
|
|
6
|
+
useCache?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface GraphConnectionReason {
|
|
9
|
+
kind: GraphConnectionKind;
|
|
10
|
+
from: string;
|
|
11
|
+
to: string;
|
|
12
|
+
axis?: string;
|
|
13
|
+
value?: string;
|
|
14
|
+
target?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface GraphExploreNode {
|
|
17
|
+
path: string;
|
|
18
|
+
concept: string | null;
|
|
19
|
+
folder: string;
|
|
20
|
+
axes: Record<string, string[]>;
|
|
21
|
+
wikilinks: string[];
|
|
22
|
+
score: number;
|
|
23
|
+
bodyPreview: string;
|
|
24
|
+
reasons: GraphConnectionReason[];
|
|
25
|
+
}
|
|
26
|
+
export interface GraphExploreResult {
|
|
27
|
+
provider: LocalGraphProvider;
|
|
28
|
+
mode: "axis-seed-local-neighborhood";
|
|
29
|
+
bodyPolicy: "lazy-load";
|
|
30
|
+
seeds: GraphExploreNode[];
|
|
31
|
+
neighbors: GraphExploreNode[];
|
|
32
|
+
connections: GraphConnectionReason[];
|
|
33
|
+
}
|
|
34
|
+
export declare function exploreLocalGraph(opts: GraphExploreOptions): Promise<GraphExploreResult>;
|