@imunitic/synapse 0.2.13 → 0.3.1
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.
|
@@ -33,7 +33,7 @@ Requires the `synapse` CLI on `PATH`, resolving a vault with a working `LinkGrap
|
|
|
33
33
|
`sb — Obsidian CLI as ObsidianStore's transport` and `sb — DiskStore's own index, Obsidian becomes
|
|
34
34
|
optional`). Both real coding-vault backends have one now — `obsidian` reaching the CLI when
|
|
35
35
|
reachable and falling back to `disk`'s own implementation otherwise, `disk` always local. If
|
|
36
|
-
`
|
|
36
|
+
`SYNAPSE_VAULT_INTEGRATIONS` ever resolves to a backend with no `LinkGraph` at all, these commands exit 1
|
|
37
37
|
saying so; stop and report that rather than falling back to anything else.
|
|
38
38
|
|
|
39
39
|
This command reaches the vault store only through the `synapse` CLI's `vault-*` subcommands, the
|
|
@@ -101,7 +101,7 @@ findings for the Step 6 proposal instead of a silent edit:
|
|
|
101
101
|
|
|
102
102
|
- **Broken links** — every `vault-unresolved` row whose `source` is in scope. Before writing the
|
|
103
103
|
finding, check the vault's own local git history to say *why* it's broken instead of leaving that
|
|
104
|
-
to guesswork — a `
|
|
104
|
+
to guesswork — a `SYNAPSE_VAULT_INTEGRATIONS=git` vault has one, since every agent-driven edit commits
|
|
105
105
|
into it automatically. Resolve the vault's filesystem path the same way `synapse.conf` already does
|
|
106
106
|
(`SYNAPSE_VAULT_DIR`), skip this sub-step entirely if `{vault}/.git` doesn't exist, and never let a
|
|
107
107
|
missing/unreachable git repo block the rest of the finding — worst case it's reported with no
|
|
@@ -33,7 +33,7 @@ Requires the `synapse` CLI on `PATH`, resolving a vault with a working link grap
|
|
|
33
33
|
(`synapse vault-backlinks`/`vault-links`/`vault-unresolved`/`vault-orphans`/`vault-deadends`). Both
|
|
34
34
|
real coding-vault backends have one — `disk` (the default) always local, `obsidian` reaching a
|
|
35
35
|
running app when reachable and falling back to `disk`'s own implementation otherwise. If
|
|
36
|
-
`
|
|
36
|
+
`SYNAPSE_VAULT_INTEGRATIONS` ever resolves to a backend with no link graph at all, these commands exit 1
|
|
37
37
|
saying so; stop and report that rather than falling back to anything else.
|
|
38
38
|
|
|
39
39
|
This skill reaches the vault store only through the `synapse` CLI's `vault-*` subcommands, the same
|
|
@@ -101,7 +101,7 @@ findings for the Step 6 proposal instead of a silent edit:
|
|
|
101
101
|
|
|
102
102
|
- **Broken links** — every `vault-unresolved` row whose `source` is in scope. Before writing the
|
|
103
103
|
finding, check the vault's own local git history to say *why* it's broken instead of leaving that
|
|
104
|
-
to guesswork — a `
|
|
104
|
+
to guesswork — a `SYNAPSE_VAULT_INTEGRATIONS=git` vault has one, since every agent-driven edit commits
|
|
105
105
|
into it automatically. Resolve the vault's filesystem path the same way its own conf file already
|
|
106
106
|
does (`SYNAPSE_VAULT_DIR`), skip this sub-step entirely if `{vault}/.git` doesn't exist, and never
|
|
107
107
|
let a missing/unreachable git repo block the rest of the finding — worst case it's reported with no
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
// `args.oldString`, `args.newString`) -- both share `filePath`, matching
|
|
21
21
|
// Claude Code's `Write`/`Edit` sharing `tool_input.file_path`. Fired on
|
|
22
22
|
// write/edit tools for `staleness` -- the vault's own version control
|
|
23
|
-
// (`
|
|
23
|
+
// (`SYNAPSE_VAULT_INTEGRATIONS=git`) commits from inside `synapse`'s own CLI
|
|
24
24
|
// (`vault-write`/`vault-patch`) itself now, needing no `PostToolUse`-style
|
|
25
25
|
// hook here or on any other harness.
|
|
26
26
|
//
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imunitic/synapse",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Memory for Claude Code, Codex CLI, and OpenCode: a durable Obsidian vault plus a per-repo code graph.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"*.conf.template"
|
|
23
23
|
],
|
|
24
24
|
"optionalDependencies": {
|
|
25
|
-
"@imunitic/synapse-darwin-arm64": "0.
|
|
26
|
-
"@imunitic/synapse-linux-x64": "0.
|
|
27
|
-
"@imunitic/synapse-linux-arm64": "0.
|
|
25
|
+
"@imunitic/synapse-darwin-arm64": "0.3.1",
|
|
26
|
+
"@imunitic/synapse-linux-x64": "0.3.1",
|
|
27
|
+
"@imunitic/synapse-linux-arm64": "0.3.1"
|
|
28
28
|
},
|
|
29
29
|
"license": "SEE LICENSE IN LICENSE"
|
|
30
30
|
}
|
|
@@ -90,7 +90,7 @@ verification that cannot fail in the direction you are worried about is not a ve
|
|
|
90
90
|
|
|
91
91
|
## If you do destroy something
|
|
92
92
|
|
|
93
|
-
On a `
|
|
93
|
+
On a `SYNAPSE_VAULT_INTEGRATIONS=git` vault, every edit commits automatically, so the intact version is one
|
|
94
94
|
`git show <sha>:<path>` away in the vault's own git history -- a vault-wide undo for destructive tool
|
|
95
95
|
calls, not merely a record of intentional edits. The default `disk` backend keeps no history at all,
|
|
96
96
|
so this safety net only exists once that backend is chosen.
|
package/synapse-claude.md
CHANGED
|
@@ -101,11 +101,11 @@ The vault is reached through the `synapse` CLI — `synapse vault-read`/`vault-w
|
|
|
101
101
|
`vault-search`/`vault-search-text`/`vault-doc-map`/`vault-patch`/`vault-backlinks`/`vault-links`/
|
|
102
102
|
`vault-unresolved`/`vault-orphans`/`vault-deadends`/`vault-ambiguous`/`vault-rename` — for reads
|
|
103
103
|
*and* for writes, never by resolving a vault path or calling an `mcp__obsidian__*` tool directly.
|
|
104
|
-
Which concrete store the CLI talks to (`
|
|
104
|
+
Which concrete store the CLI talks to (`SYNAPSE_VAULT_INTEGRATIONS unset`, the default; `obsidian`, opted
|
|
105
105
|
into for a running Obsidian app's own live search relevance and graph data; or `git`, opted into for
|
|
106
106
|
the vault to own its own version control -- commit on every write, push/pull in the background) is
|
|
107
107
|
resolved once,
|
|
108
|
-
inside the compiled binary, from `
|
|
108
|
+
inside the compiled binary, from `SYNAPSE_VAULT_INTEGRATIONS`/`SYNAPSE_VAULT_DIR` — never something a skill
|
|
109
109
|
or an agent turn needs to know or branch on. By default that means no Obsidian dependency
|
|
110
110
|
whatsoever: `read`/`write`/`list`/`search`/the link graph/rename are all plain disk I/O and direct
|
|
111
111
|
computation against the vault folder. Under the opted-in `obsidian` backend, `search`/the link
|
package/synapse.conf.template
CHANGED
|
@@ -2,23 +2,28 @@
|
|
|
2
2
|
# synapse.conf anywhere. Edit the path below for this machine.
|
|
3
3
|
SYNAPSE_VAULT_DIR="$HOME/Vault/YourVault"
|
|
4
4
|
|
|
5
|
-
#
|
|
6
|
-
#
|
|
5
|
+
# Unset by default: reads/writes the vault folder directly, no external
|
|
6
|
+
# dependency at all -- search and the link graph
|
|
7
7
|
# (backlinks/links/unresolved/orphans/deadends/ambiguous) are computed by
|
|
8
|
-
# DiskStore's own scan.
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
8
|
+
# DiskStore's own scan. A comma-separated, outer-to-inner list of
|
|
9
|
+
# integrations layers extra behavior on top instead: "obsidian" prefers a
|
|
10
|
+
# running external app's own live search relevance and graph data, falling
|
|
11
|
+
# back to the same disk-backed behavior automatically whenever that app
|
|
12
|
+
# isn't reachable (see docs/synapse/synapse-extended-store.md); "git" owns
|
|
13
|
+
# the vault's own git lifecycle (commit on write, push once enough pile up).
|
|
14
|
+
# "git,obsidian" combines both. The disk store itself is never named -- it's
|
|
15
|
+
# always the implicit innermost element.
|
|
16
|
+
#SYNAPSE_VAULT_INTEGRATIONS="obsidian"
|
|
13
17
|
|
|
14
18
|
# Where Synapse clones/builds tree-sitter grammars (shared across every
|
|
15
19
|
# project -- not per-repo). Safe to leave at the default.
|
|
16
20
|
SYNAPSE_GRAMMARS_DIR="$HOME/.cache/synapse/grammars"
|
|
17
21
|
|
|
18
|
-
#
|
|
19
|
-
# counted in
|
|
20
|
-
# genuinely ahead of it, so a
|
|
21
|
-
#
|
|
22
|
+
# When "git" is one of the configured integrations, how many local commits
|
|
23
|
+
# pile up before a detached push runs, counted in commits. Only acts when the
|
|
24
|
+
# vault actually has an upstream and is genuinely ahead of it, so a
|
|
25
|
+
# remote-less vault (local versioned undo only) is unaffected either way. Set
|
|
26
|
+
# to 0 to never push. Default 5 if unset.
|
|
22
27
|
#SYNAPSE_VAULT_PUSH_EVERY=5
|
|
23
28
|
|
|
24
29
|
# How many nodes /synapse-init authors concurrently in its final step, via the
|