pi-vault-mind 0.8.4 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/index.js CHANGED
@@ -13,8 +13,7 @@ import { registerIntakeTool } from "./intake.js";
13
13
  import { startServer, stopServer } from "./server.js";
14
14
  import { clearEngineStatus, clearWatcherStatus, registerStatusCapture, setEngineStatus, } from "./status.js";
15
15
  import { registerTools } from "./tools.js";
16
- import { EXT_ROOT } from "./utils.js";
17
- import { loadConfig } from "./utils.js";
16
+ import { EXT_ROOT, loadConfig } from "./utils.js";
18
17
  import { registerVaultTools } from "./vault-tools.js";
19
18
  import { registerAllExtensionTools } from "./vm-handlers.js";
20
19
  import { startWatcher, stopWatcher, subscribeJobCompleted } from "./watcher.js";
@@ -80,27 +79,31 @@ export default function (pi) {
80
79
  pi.on("turn_end", async (event, ctx) => {
81
80
  return handleTurnEnd(pi, event, ctx);
82
81
  });
83
- /* watcher: auto-start if vaults configured */
82
+ /* watcher and server: auto-start only for vaults with autoStart: true */
84
83
  try {
85
84
  const cfg = loadConfig(process.cwd());
86
- serverState.port = cfg.vaultMind.httpPort || 11435;
87
- startServer(pi, serverState, watcherState);
88
- if (cfg.vaultMind.vaults && Object.keys(cfg.vaultMind.vaults).length > 0) {
85
+ const vaults = cfg.vaultMind.vaults;
86
+ const autoVaults = vaults
87
+ ? Object.entries(vaults).filter(([, v]) => v.autoStart === true)
88
+ : [];
89
+ if (autoVaults.length > 0) {
90
+ serverState.port = cfg.vaultMind.httpPort || 11435;
91
+ startServer(pi, serverState, watcherState);
92
+ const autoVaultMap = {};
93
+ for (const [name, v] of autoVaults)
94
+ autoVaultMap[name] = v;
89
95
  setTimeout(() => {
90
- console.log("[pi-vault-mind] Auto-starting watcher for", Object.keys(cfg.vaultMind.vaults).length, "vault(s)");
91
- const vaults = cfg.vaultMind.vaults;
92
- if (vaults)
93
- startWatcher(pi, vaults, watcherState);
96
+ console.log("[pi-vault-mind] Auto-starting watcher for", autoVaults.length, "vault(s)");
97
+ startWatcher(pi, autoVaultMap, watcherState);
94
98
  }, 2000);
95
99
  }
96
- /* auto-sync: off by default; only starts when modal.sync.autoSync is true */
97
100
  if (cfg.vaultMind.embedding.remoteUrl && cfg.vaultMind.embedding.modal?.sync?.autoSync) {
98
101
  stopAutoSync = startAutoSync(cfg.vaultMind.embedding.modal?.sync?.autoSyncIntervalMs ?? 300000);
99
102
  console.log(`[pi-vault-mind] Modal auto-sync enabled (every ${cfg.vaultMind.embedding.modal?.sync?.autoSyncIntervalMs ?? 300000}ms)`);
100
103
  }
101
104
  }
102
105
  catch {
103
- /* config may not exist yet; user can start watcher manually via /vm watcher start */
106
+ /* config may not exist yet */
104
107
  }
105
108
  /* session_shutdown: stop the watcher, server, and engine */
106
109
  pi.on("session_shutdown", async () => {
@@ -153,6 +153,8 @@ export interface GraphConfig {
153
153
  }
154
154
  export interface VaultConfig {
155
155
  path: string;
156
+ /** When true, auto-start the watcher and HTTP server on session_start. Default false. */
157
+ autoStart?: boolean;
156
158
  autoSync?: boolean;
157
159
  autoSyncTags?: string[];
158
160
  autoSyncMinLength?: number;
package/package.json CHANGED
@@ -1,87 +1,89 @@
1
1
  {
2
- "name": "pi-vault-mind",
3
- "version": "0.8.4",
4
- "description": "Passive Obsidian vault extension for pi. Watches @agent markers, dispatches forked subagents (Miner, Broadcaster, Heavy-Lifter), stores in LanceDB with vector + FTS + graph. Multi-agent 'Drop & Forget' workflow for the pi agent ecosystem.",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "type": "module",
8
- "files": ["dist", "agents", "skills", "scripts", "CHANGELOG.md", "README.md", "LICENSE"],
9
- "keywords": [
10
- "pi-package",
11
- "pi-extension",
12
- "pi-skills",
13
- "vault-mind",
14
- "jsonl",
15
- "lance",
16
- "lancedb",
17
- "search",
18
- "knowledge-base",
19
- "agent-tools",
20
- "hitl",
21
- "semantic-search",
22
- "obsidian",
23
- "obsidian-vault",
24
- "subagent",
25
- "subagents",
26
- "passive",
27
- "file-watcher",
28
- "graph",
29
- "knowledge-graph",
30
- "notebooklm",
31
- "pkm"
32
- ],
33
- "author": "Kyle Brodeur",
34
- "license": "MIT",
35
- "repository": {
36
- "type": "git",
37
- "url": "git+https://github.com/kylebrodeur/pi-vault-mind.git"
38
- },
39
- "bugs": {
40
- "url": "https://github.com/kylebrodeur/pi-vault-mind/issues"
41
- },
42
- "homepage": "https://github.com/kylebrodeur/pi-vault-mind#readme",
43
- "engines": {
44
- "node": ">=20.6.0"
45
- },
46
- "pi": {
47
- "extensions": ["./dist/index.js"],
48
- "skills": ["./skills"]
49
- },
50
- "scripts": {
51
- "prepare": "husky",
52
- "check": "biome check --write . && tsc --noEmit",
53
- "build": "tsc && tsc -p tsconfig.test.json",
54
- "dev": "tsc --watch",
55
- "test": "node --test dist/test/*.test.js",
56
- "e2e:ws": "node scripts/e2e-ws.mjs",
57
- "e2e:modal": "node scripts/modal-e2e-smoke.mjs"
58
- },
59
- "dependencies": {
60
- "@lancedb/lancedb": "latest",
61
- "@xenova/transformers": "latest",
62
- "apache-arrow": "^21.1.0",
63
- "ws": "^8.21.0"
64
- },
65
- "peerDependencies": {
66
- "@earendil-works/pi-coding-agent": ">=0.75.0 <1.0.0"
67
- },
68
- "devDependencies": {
69
- "@biomejs/biome": "^1.9.0",
70
- "@earendil-works/pi-coding-agent": "^0.79.0",
71
- "@earendil-works/pi-tui": "^0.79.0",
72
- "@types/node": "^20.0.0",
73
- "@types/ws": "^8.18.1",
74
- "husky": "^9.1.6",
75
- "typebox": "^1.1.0",
76
- "typescript": "^5.0.0"
77
- },
78
- "pnpm": {
79
- "overrides": {
80
- "fast-xml-parser": ">=5.7.0",
81
- "brace-expansion": ">=5.0.6",
82
- "ws@>=8": ">=8.20.1",
83
- "protobufjs": ">=8.0.0",
84
- "undici": "7.28.0"
85
- }
86
- }
87
- }
2
+ "name": "pi-vault-mind",
3
+ "version": "0.8.5",
4
+ "description": "Passive Obsidian vault extension for pi. Watches @agent markers, dispatches forked subagents (Miner, Broadcaster, Heavy-Lifter), stores in LanceDB with vector + FTS + graph. Multi-agent 'Drop & Forget' workflow for the pi agent ecosystem.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "module",
8
+ "files": [
9
+ "dist",
10
+ "agents",
11
+ "skills",
12
+ "scripts",
13
+ "CHANGELOG.md",
14
+ "README.md",
15
+ "LICENSE"
16
+ ],
17
+ "keywords": [
18
+ "pi-package",
19
+ "pi-extension",
20
+ "pi-skills",
21
+ "vault-mind",
22
+ "jsonl",
23
+ "lance",
24
+ "lancedb",
25
+ "search",
26
+ "knowledge-base",
27
+ "agent-tools",
28
+ "hitl",
29
+ "semantic-search",
30
+ "obsidian",
31
+ "obsidian-vault",
32
+ "subagent",
33
+ "subagents",
34
+ "passive",
35
+ "file-watcher",
36
+ "graph",
37
+ "knowledge-graph",
38
+ "notebooklm",
39
+ "pkm"
40
+ ],
41
+ "author": "Kyle Brodeur",
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/kylebrodeur/pi-vault-mind.git"
46
+ },
47
+ "bugs": {
48
+ "url": "https://github.com/kylebrodeur/pi-vault-mind/issues"
49
+ },
50
+ "homepage": "https://github.com/kylebrodeur/pi-vault-mind#readme",
51
+ "engines": {
52
+ "node": ">=20.6.0"
53
+ },
54
+ "pi": {
55
+ "extensions": [
56
+ "./dist/index.js"
57
+ ],
58
+ "skills": [
59
+ "./skills"
60
+ ]
61
+ },
62
+ "dependencies": {
63
+ "@lancedb/lancedb": "latest",
64
+ "@xenova/transformers": "latest",
65
+ "apache-arrow": "^21.1.0",
66
+ "ws": "^8.21.0"
67
+ },
68
+ "peerDependencies": {
69
+ "@earendil-works/pi-coding-agent": ">=0.75.0 <1.0.0"
70
+ },
71
+ "devDependencies": {
72
+ "@biomejs/biome": "^1.9.0",
73
+ "@earendil-works/pi-coding-agent": "^0.79.0",
74
+ "@earendil-works/pi-tui": "^0.79.0",
75
+ "@types/node": "^20.0.0",
76
+ "@types/ws": "^8.18.1",
77
+ "husky": "^9.1.6",
78
+ "typebox": "^1.1.0",
79
+ "typescript": "^5.0.0"
80
+ },
81
+ "scripts": {
82
+ "check": "biome check --write . && tsc --noEmit",
83
+ "build": "tsc && tsc -p tsconfig.test.json",
84
+ "dev": "tsc --watch",
85
+ "test": "node --test dist/test/*.test.js",
86
+ "e2e:ws": "node scripts/e2e-ws.mjs",
87
+ "e2e:modal": "node scripts/modal-e2e-smoke.mjs"
88
+ }
89
+ }
File without changes
File without changes
File without changes