@bookedsolid/reagent 0.14.0 → 0.14.2

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.
Files changed (58) hide show
  1. package/README.md +147 -1
  2. package/dist/cli/commands/init/index.d.ts.map +1 -1
  3. package/dist/cli/commands/init/index.js +8 -1
  4. package/dist/cli/commands/init/index.js.map +1 -1
  5. package/dist/cli/commands/init/mcp-config.js +6 -6
  6. package/dist/cli/commands/init/mcp-config.js.map +1 -1
  7. package/dist/cli/commands/init/obsidian.d.ts +16 -0
  8. package/dist/cli/commands/init/obsidian.d.ts.map +1 -0
  9. package/dist/cli/commands/init/obsidian.js +95 -0
  10. package/dist/cli/commands/init/obsidian.js.map +1 -0
  11. package/dist/cli/commands/init/policy.d.ts.map +1 -1
  12. package/dist/cli/commands/init/policy.js +10 -1
  13. package/dist/cli/commands/init/policy.js.map +1 -1
  14. package/dist/cli/commands/obsidian.d.ts +2 -0
  15. package/dist/cli/commands/obsidian.d.ts.map +1 -0
  16. package/dist/cli/commands/obsidian.js +187 -0
  17. package/dist/cli/commands/obsidian.js.map +1 -0
  18. package/dist/cli/commands/upgrade-policy.d.ts +17 -0
  19. package/dist/cli/commands/upgrade-policy.d.ts.map +1 -0
  20. package/dist/cli/commands/upgrade-policy.js +123 -0
  21. package/dist/cli/commands/upgrade-policy.js.map +1 -0
  22. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  23. package/dist/cli/commands/upgrade.js +8 -26
  24. package/dist/cli/commands/upgrade.js.map +1 -1
  25. package/dist/cli/index.js +9 -0
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/gateway/native-tools.d.ts.map +1 -1
  28. package/dist/gateway/native-tools.js +39 -0
  29. package/dist/gateway/native-tools.js.map +1 -1
  30. package/dist/obsidian/cli.d.ts +49 -0
  31. package/dist/obsidian/cli.d.ts.map +1 -0
  32. package/dist/obsidian/cli.js +128 -0
  33. package/dist/obsidian/cli.js.map +1 -0
  34. package/dist/obsidian/index.d.ts +7 -0
  35. package/dist/obsidian/index.d.ts.map +1 -0
  36. package/dist/obsidian/index.js +5 -0
  37. package/dist/obsidian/index.js.map +1 -0
  38. package/dist/obsidian/kanban-generator.d.ts +9 -0
  39. package/dist/obsidian/kanban-generator.d.ts.map +1 -0
  40. package/dist/obsidian/kanban-generator.js +63 -0
  41. package/dist/obsidian/kanban-generator.js.map +1 -0
  42. package/dist/obsidian/vault-config.d.ts +142 -0
  43. package/dist/obsidian/vault-config.d.ts.map +1 -0
  44. package/dist/obsidian/vault-config.js +92 -0
  45. package/dist/obsidian/vault-config.js.map +1 -0
  46. package/dist/obsidian/vault-writer.d.ts +52 -0
  47. package/dist/obsidian/vault-writer.d.ts.map +1 -0
  48. package/dist/obsidian/vault-writer.js +166 -0
  49. package/dist/obsidian/vault-writer.js.map +1 -0
  50. package/dist/types/policy.d.ts +4 -0
  51. package/dist/types/policy.d.ts.map +1 -1
  52. package/hooks/dangerous-bash-interceptor.sh +43 -0
  53. package/hooks/reagent-obsidian-journal.sh +69 -0
  54. package/hooks/reagent-obsidian-precompact.sh +88 -0
  55. package/hooks/reagent-obsidian-tasks.sh +126 -0
  56. package/package.json +1 -1
  57. package/profiles/bst-internal.json +1 -1
  58. package/profiles/client-engagement.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"obsidian.js","sourceRoot":"","sources":["../../../src/cli/commands/obsidian.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { InstallResult } from './init/types.js';
2
+ /**
3
+ * YAML-aware policy merge for `reagent upgrade`.
4
+ *
5
+ * Uses the `yaml` package's `parseDocument` API to preserve
6
+ * comments, ordering, and existing user customizations.
7
+ *
8
+ * Behavior:
9
+ * 1. Parse existing policy.yaml as a YAML Document
10
+ * 2. Add missing top-level sections (shallow merge — never overwrites existing)
11
+ * 3. Update `installed_by` version stamp
12
+ * 4. If `cleanBlockedPaths`: replace `.reagent/` with granular entries
13
+ */
14
+ export declare function mergePolicy(targetDir: string, pkgVersion: string, dryRun: boolean, options?: {
15
+ cleanBlockedPaths?: boolean;
16
+ }): InstallResult[];
17
+ //# sourceMappingURL=upgrade-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-policy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade-policy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkBrD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC,aAAa,EAAE,CAsGjB"}
@@ -0,0 +1,123 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { parseDocument } from 'yaml';
4
+ /**
5
+ * Canonical sections that should exist in every policy.yaml.
6
+ * mergePolicy adds these if missing — never overwrites existing values.
7
+ */
8
+ const CANONICAL_SECTIONS = {
9
+ context_protection: {
10
+ delegate_to_subagent: ['pnpm run preflight', 'pnpm run test', 'pnpm run build'],
11
+ max_bash_output_lines: 100,
12
+ },
13
+ };
14
+ /**
15
+ * Granular blocked_paths that replace the blanket `.reagent/` entry.
16
+ */
17
+ const GRANULAR_BLOCKED_PATHS = ['.reagent/policy.yaml', '.reagent/HALT'];
18
+ /**
19
+ * YAML-aware policy merge for `reagent upgrade`.
20
+ *
21
+ * Uses the `yaml` package's `parseDocument` API to preserve
22
+ * comments, ordering, and existing user customizations.
23
+ *
24
+ * Behavior:
25
+ * 1. Parse existing policy.yaml as a YAML Document
26
+ * 2. Add missing top-level sections (shallow merge — never overwrites existing)
27
+ * 3. Update `installed_by` version stamp
28
+ * 4. If `cleanBlockedPaths`: replace `.reagent/` with granular entries
29
+ */
30
+ export function mergePolicy(targetDir, pkgVersion, dryRun, options) {
31
+ const policyPath = path.join(targetDir, '.reagent', 'policy.yaml');
32
+ const results = [];
33
+ if (!fs.existsSync(policyPath)) {
34
+ results.push({ file: '.reagent/policy.yaml', status: 'warn' });
35
+ console.warn(' Warning: .reagent/policy.yaml not found. Run `reagent init` to create it.');
36
+ return results;
37
+ }
38
+ const raw = fs.readFileSync(policyPath, 'utf8');
39
+ const doc = parseDocument(raw);
40
+ // Guard: empty or malformed YAML (no mapping node)
41
+ if (!doc.contents) {
42
+ results.push({ file: '.reagent/policy.yaml', status: 'warn' });
43
+ console.warn(' Warning: .reagent/policy.yaml is empty or malformed. Run `reagent init` to recreate.');
44
+ return results;
45
+ }
46
+ let changed = false;
47
+ // 1. Update installed_by version stamp
48
+ const currentVersion = doc.get('installed_by');
49
+ const newVersion = `reagent@${pkgVersion}`;
50
+ if (currentVersion !== newVersion) {
51
+ doc.set('installed_by', newVersion);
52
+ changed = true;
53
+ }
54
+ // 2. Add missing canonical sections (shallow — never overwrite existing)
55
+ for (const [key, value] of Object.entries(CANONICAL_SECTIONS)) {
56
+ if (!doc.has(key)) {
57
+ doc.set(key, value);
58
+ changed = true;
59
+ results.push({
60
+ file: `.reagent/policy.yaml (added ${key} section)`,
61
+ status: 'installed',
62
+ });
63
+ }
64
+ }
65
+ // 3. Clean blocked_paths if requested
66
+ if (options?.cleanBlockedPaths) {
67
+ // doc.get() on a parseDocument returns YAML AST nodes, not plain arrays.
68
+ // Use toJSON() to resolve to plain JS values for manipulation.
69
+ const blockedNode = doc.get('blocked_paths');
70
+ if (blockedNode != null) {
71
+ const values = typeof blockedNode.toJSON === 'function'
72
+ ? blockedNode.toJSON()
73
+ : Array.isArray(blockedNode)
74
+ ? blockedNode
75
+ : [];
76
+ if (Array.isArray(values)) {
77
+ const hasReagentBlanket = values.some((v) => v === '.reagent/' || v === '.reagent');
78
+ if (hasReagentBlanket) {
79
+ const cleaned = values.filter((v) => v !== '.reagent/' && v !== '.reagent');
80
+ for (const granular of GRANULAR_BLOCKED_PATHS) {
81
+ if (!cleaned.includes(granular)) {
82
+ cleaned.push(granular);
83
+ }
84
+ }
85
+ doc.set('blocked_paths', cleaned);
86
+ changed = true;
87
+ results.push({
88
+ file: '.reagent/policy.yaml (blocked_paths: .reagent/ → granular)',
89
+ status: 'updated',
90
+ });
91
+ }
92
+ }
93
+ }
94
+ }
95
+ // 4. Write or report
96
+ if (changed) {
97
+ if (!dryRun) {
98
+ try {
99
+ fs.writeFileSync(policyPath, doc.toString(), 'utf8');
100
+ }
101
+ catch {
102
+ results.push({ file: '.reagent/policy.yaml', status: 'warn' });
103
+ console.warn(' Warning: .reagent/policy.yaml has YAML errors and cannot be updated.');
104
+ return results;
105
+ }
106
+ results.push({
107
+ file: '.reagent/policy.yaml (installed_by updated)',
108
+ status: 'updated',
109
+ });
110
+ }
111
+ else {
112
+ results.push({
113
+ file: '.reagent/policy.yaml (installed_by would be updated)',
114
+ status: 'updated',
115
+ });
116
+ }
117
+ }
118
+ else {
119
+ results.push({ file: '.reagent/policy.yaml', status: 'skipped' });
120
+ }
121
+ return results;
122
+ }
123
+ //# sourceMappingURL=upgrade-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-policy.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade-policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAaA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA0E/C"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAcA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAqD/C"}
@@ -2,6 +2,7 @@ import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { PKG_ROOT, getPkgVersion } from '../utils.js';
4
4
  import { installHuskyHook } from './init/husky-hooks.js';
5
+ import { mergePolicy } from './upgrade-policy.js';
5
6
  // All hook names managed by reagent, mapped to their source file names
6
7
  const HOOK_MAP = [
7
8
  { hookName: 'commit-msg', srcFileName: 'commit-msg.sh' },
@@ -11,6 +12,7 @@ const HOOK_MAP = [
11
12
  export function runUpgrade(args) {
12
13
  const targetDir = process.cwd();
13
14
  const dryRun = args.includes('--dry-run');
15
+ const cleanBlockedPaths = args.includes('--clean-blocked-paths');
14
16
  const PKG_VERSION = getPkgVersion();
15
17
  console.log(`\n@bookedsolid/reagent v${PKG_VERSION} upgrade`);
16
18
  console.log(` Target: ${targetDir}`);
@@ -42,32 +44,12 @@ export function runUpgrade(args) {
42
44
  const hookResults = installHuskyHook(targetDir, hookName, srcFileName, dryRun);
43
45
  results.push(...hookResults);
44
46
  }
45
- // Step 2: Update installed_by in .reagent/policy.yaml to reflect current version.
46
- // Only touches the installed_by line — all other user config is preserved.
47
- const policyPath = path.join(targetDir, '.reagent', 'policy.yaml');
48
- if (!fs.existsSync(policyPath)) {
49
- results.push({ file: '.reagent/policy.yaml', status: 'warn' });
50
- console.warn(' Warning: .reagent/policy.yaml not found. Run `reagent init` to create it.');
51
- }
52
- else {
53
- const policyContent = fs.readFileSync(policyPath, 'utf8');
54
- const updatedContent = policyContent.replace(/^installed_by:\s*['"]?reagent@[^'">\n]+['"]?/m, `installed_by: 'reagent@${PKG_VERSION}'`);
55
- if (updatedContent === policyContent) {
56
- // Line didn't match the expected pattern — still show as skipped, don't corrupt the file
57
- results.push({ file: '.reagent/policy.yaml', status: 'skipped' });
58
- }
59
- else if (!dryRun) {
60
- fs.writeFileSync(policyPath, updatedContent, 'utf8');
61
- results.push({ file: '.reagent/policy.yaml (installed_by updated)', status: 'updated' });
62
- }
63
- else {
64
- // dry-run: report what would change
65
- results.push({
66
- file: '.reagent/policy.yaml (installed_by would be updated)',
67
- status: 'updated',
68
- });
69
- }
70
- }
47
+ // Step 2: YAML-aware policy merge updates version stamp, adds missing
48
+ // canonical sections, and optionally cleans blocked_paths.
49
+ const policyResults = mergePolicy(targetDir, PKG_VERSION, dryRun, {
50
+ cleanBlockedPaths,
51
+ });
52
+ results.push(...policyResults);
71
53
  printSummary(results, dryRun);
72
54
  }
73
55
  function printSummary(results, dryRun) {
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -8,6 +8,7 @@ import { runServe } from './commands/serve.js';
8
8
  import { runCache } from './commands/cache.js';
9
9
  import { runCatalyze } from './commands/catalyze/index.js';
10
10
  import { runUpgrade } from './commands/upgrade.js';
11
+ import { runObsidian } from './commands/obsidian.js';
11
12
  const [, , cmd, ...rest] = process.argv;
12
13
  if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
13
14
  printHelp();
@@ -38,6 +39,9 @@ switch (cmd) {
38
39
  case 'upgrade':
39
40
  runUpgrade(rest);
40
41
  break;
42
+ case 'obsidian':
43
+ runObsidian(rest);
44
+ break;
41
45
  default:
42
46
  console.error(`\nUnknown command: ${cmd}`);
43
47
  printHelp();
@@ -60,6 +64,8 @@ Commands:
60
64
  serve Start the MCP server (stdio transport — called by Claude Code via .mcp.json)
61
65
  cache Manage review cache (check, set, clear)
62
66
  upgrade Re-sync installed hooks and update policy.yaml version stamp
67
+ Options: --dry-run, --clean-blocked-paths
68
+ obsidian Sync project state to an Obsidian vault (opt-in)
63
69
  help Show this help
64
70
 
65
71
  Options for init:
@@ -71,6 +77,8 @@ Options for init:
71
77
  --tasks-channel Discord channel ID for task events
72
78
  --releases-channel Discord channel ID for release events
73
79
  --dev-channel Discord channel ID for dev activity
80
+ --obsidian Configure Obsidian vault integration in gateway.yaml
81
+ --vault-path <path> Obsidian vault path (used with --obsidian)
74
82
 
75
83
  Options for catalyze [targetDir]:
76
84
  --plan Analyze stack and generate report (default)
@@ -104,6 +112,7 @@ Examples:
104
112
  npx @bookedsolid/reagent serve
105
113
  npx @bookedsolid/reagent upgrade
106
114
  npx @bookedsolid/reagent upgrade --dry-run
115
+ npx @bookedsolid/reagent upgrade --clean-blocked-paths
107
116
  `);
108
117
  }
109
118
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,EAAE,AAAD,EAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AAExC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;IAC/D,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,QAAQ,GAAG,EAAE,CAAC;IACZ,KAAK,MAAM;QACT,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,MAAM;IACR,KAAK,OAAO;QACV,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,MAAM;IACR,KAAK,QAAQ;QACX,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM;IACR,KAAK,UAAU;QACb,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IACR,KAAK,OAAO;QACV,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM;IACR,KAAK,OAAO;QACV,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,MAAM;IACR,KAAK,UAAU;QACb,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IACR,KAAK,SAAS;QACZ,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM;IACR;QACE,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC;wBACU,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DlC,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,CAAC,EAAE,AAAD,EAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AAExC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;IAC/D,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,QAAQ,GAAG,EAAE,CAAC;IACZ,KAAK,MAAM;QACT,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,MAAM;IACR,KAAK,OAAO;QACV,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,MAAM;IACR,KAAK,QAAQ;QACX,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM;IACR,KAAK,UAAU;QACb,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IACR,KAAK,OAAO;QACV,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM;IACR,KAAK,OAAO;QACV,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,MAAM;IACR,KAAK,UAAU;QACb,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IACR,KAAK,SAAS;QACZ,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM;IACR,KAAK,UAAU;QACb,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IACR;QACE,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC;wBACU,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DlC,CAAC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"native-tools.d.ts","sourceRoot":"","sources":["../../src/gateway/native-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AAI3E;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,UAAU,EAAE,GACxB,MAAM,CAyTR"}
1
+ {"version":3,"file":"native-tools.d.ts","sourceRoot":"","sources":["../../src/gateway/native-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AAI3E;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,UAAU,EAAE,GACxB,MAAM,CAyWR"}
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  import { TaskStore } from '../pm/task-store.js';
3
3
  import { GitHubBridge } from '../pm/github-bridge.js';
4
4
  import { DiscordNotifier } from '../pm/discord-notifier.js';
5
+ import { VaultWriter } from '../obsidian/vault-writer.js';
5
6
  import { executeChain } from './middleware/chain.js';
6
7
  import { InvocationStatus } from '../types/index.js';
7
8
  /**
@@ -12,6 +13,7 @@ export function registerNativeTools(gateway, baseDir, middlewares) {
12
13
  const store = new TaskStore(baseDir);
13
14
  const bridge = new GitHubBridge({ baseDir });
14
15
  const discord = new DiscordNotifier(baseDir);
16
+ const obsidian = new VaultWriter(baseDir);
15
17
  let count = 0;
16
18
  function wrapHandler(toolName, handler) {
17
19
  return async (params) => {
@@ -247,6 +249,43 @@ export function registerNativeTools(gateway, baseDir, middlewares) {
247
249
  return { sent: true, channel, note: 'Notification dispatched (best-effort)' };
248
250
  }));
249
251
  count++;
252
+ // ── obsidian_sync ─────────────────────────────────────────────────
253
+ gateway.tool('obsidian_sync', 'Sync project state to an Obsidian vault. Requires obsidian_vault to be enabled in .reagent/gateway.yaml and REAGENT_OBSIDIAN_VAULT env var (or vault_path in config).', {
254
+ target: z
255
+ .enum(['kanban', 'context', 'wiki', 'tasks', 'all'])
256
+ .optional()
257
+ .default('all')
258
+ .describe('Sync target (default: all enabled targets)'),
259
+ dry_run: z
260
+ .boolean()
261
+ .optional()
262
+ .default(false)
263
+ .describe('Preview what would be written without writing files'),
264
+ }, wrapHandler('obsidian_sync', (args) => {
265
+ if (!obsidian.isEnabled()) {
266
+ return {
267
+ error: 'Obsidian vault integration is not enabled. Set obsidian_vault.enabled: true in .reagent/gateway.yaml and set REAGENT_OBSIDIAN_VAULT env var.',
268
+ };
269
+ }
270
+ const target = args.target || 'all';
271
+ const dryRun = args.dry_run || false;
272
+ if (target === 'all') {
273
+ return obsidian.syncAll(dryRun);
274
+ }
275
+ switch (target) {
276
+ case 'kanban':
277
+ return obsidian.syncKanban(dryRun);
278
+ case 'context':
279
+ return obsidian.syncContextDump(dryRun);
280
+ case 'wiki':
281
+ return obsidian.syncWiki(dryRun);
282
+ case 'tasks':
283
+ return obsidian.syncTasks(dryRun);
284
+ default:
285
+ return { error: `Unknown target: ${target}` };
286
+ }
287
+ }));
288
+ count++;
250
289
  console.error(`[reagent] Registered ${count} native tools`);
251
290
  return count;
252
291
  }
@@ -1 +1 @@
1
- {"version":3,"file":"native-tools.js","sourceRoot":"","sources":["../../src/gateway/native-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-tools.js","sourceRoot":"","sources":["../../src/gateway/native-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Thin wrapper around the Obsidian CLI (`/usr/local/bin/obsidian`).
3
+ *
4
+ * All methods are fail-silent — returns null/false on error.
5
+ * Pattern: DiscordNotifier / github-bridge.ts.
6
+ */
7
+ export declare class ObsidianCli {
8
+ private readonly vaultName;
9
+ constructor(vaultName: string);
10
+ /**
11
+ * Check if the Obsidian CLI binary is available.
12
+ */
13
+ static isAvailable(): boolean;
14
+ /**
15
+ * Append content to today's daily note.
16
+ */
17
+ dailyAppend(content: string): boolean;
18
+ /**
19
+ * Create a new note with the given name and content.
20
+ */
21
+ createNote(name: string, content: string, opts?: {
22
+ path?: string;
23
+ }): boolean;
24
+ /**
25
+ * Read the content of a note. Returns null on failure.
26
+ */
27
+ readNote(file: string): string | null;
28
+ /**
29
+ * Set a frontmatter property on a note.
30
+ */
31
+ setProperty(file: string, name: string, value: string, type?: string): boolean;
32
+ /**
33
+ * Search for notes matching a query. Returns file paths or empty array.
34
+ */
35
+ search(query: string, limit?: number): string[];
36
+ /**
37
+ * Get vault health metrics (orphans, unresolved links, dead ends).
38
+ */
39
+ vaultHealth(): {
40
+ orphans: number;
41
+ unresolved: number;
42
+ deadends: number;
43
+ } | null;
44
+ /**
45
+ * Execute an Obsidian CLI command. Returns true on success, false on failure.
46
+ */
47
+ private exec;
48
+ }
49
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/obsidian/cli.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAE9C;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;IAI7B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIrC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAS5E;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAarC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAkB9E;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAoB/C;;OAEG;IACH,WAAW,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAsB/E;;OAEG;IACH,OAAO,CAAC,IAAI;CAYb"}
@@ -0,0 +1,128 @@
1
+ import fs from 'node:fs';
2
+ import { execFileSync } from 'node:child_process';
3
+ const OBSIDIAN_CLI = process.env['REAGENT_OBSIDIAN_CLI'] || '/usr/local/bin/obsidian';
4
+ const EXEC_TIMEOUT = 10_000; // 10s
5
+ /**
6
+ * Thin wrapper around the Obsidian CLI (`/usr/local/bin/obsidian`).
7
+ *
8
+ * All methods are fail-silent — returns null/false on error.
9
+ * Pattern: DiscordNotifier / github-bridge.ts.
10
+ */
11
+ export class ObsidianCli {
12
+ vaultName;
13
+ constructor(vaultName) {
14
+ this.vaultName = vaultName;
15
+ }
16
+ /**
17
+ * Check if the Obsidian CLI binary is available.
18
+ */
19
+ static isAvailable() {
20
+ return fs.existsSync(OBSIDIAN_CLI);
21
+ }
22
+ /**
23
+ * Append content to today's daily note.
24
+ */
25
+ dailyAppend(content) {
26
+ return this.exec(['daily:append', '--vault', this.vaultName, '--', content]);
27
+ }
28
+ /**
29
+ * Create a new note with the given name and content.
30
+ */
31
+ createNote(name, content, opts) {
32
+ const args = ['create', '--vault', this.vaultName];
33
+ if (opts?.path) {
34
+ args.push('--path', opts.path);
35
+ }
36
+ args.push('--name', name, '--', content);
37
+ return this.exec(args);
38
+ }
39
+ /**
40
+ * Read the content of a note. Returns null on failure.
41
+ */
42
+ readNote(file) {
43
+ try {
44
+ const result = execFileSync(OBSIDIAN_CLI, ['read', '--vault', this.vaultName, '--file', file], { encoding: 'utf8', timeout: EXEC_TIMEOUT, stdio: ['pipe', 'pipe', 'pipe'] });
45
+ return result;
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ }
51
+ /**
52
+ * Set a frontmatter property on a note.
53
+ */
54
+ setProperty(file, name, value, type) {
55
+ const args = [
56
+ 'property:set',
57
+ '--vault',
58
+ this.vaultName,
59
+ '--file',
60
+ file,
61
+ '--name',
62
+ name,
63
+ '--value',
64
+ value,
65
+ ];
66
+ if (type) {
67
+ args.push('--type', type);
68
+ }
69
+ return this.exec(args);
70
+ }
71
+ /**
72
+ * Search for notes matching a query. Returns file paths or empty array.
73
+ */
74
+ search(query, limit) {
75
+ try {
76
+ const args = ['search', '--vault', this.vaultName, '--query', query];
77
+ if (limit) {
78
+ args.push('--limit', String(limit));
79
+ }
80
+ const result = execFileSync(OBSIDIAN_CLI, args, {
81
+ encoding: 'utf8',
82
+ timeout: EXEC_TIMEOUT,
83
+ stdio: ['pipe', 'pipe', 'pipe'],
84
+ });
85
+ return result
86
+ .split('\n')
87
+ .map((l) => l.trim())
88
+ .filter(Boolean);
89
+ }
90
+ catch {
91
+ return [];
92
+ }
93
+ }
94
+ /**
95
+ * Get vault health metrics (orphans, unresolved links, dead ends).
96
+ */
97
+ vaultHealth() {
98
+ try {
99
+ const result = execFileSync(OBSIDIAN_CLI, ['vault:health', '--vault', this.vaultName, '--json'], { encoding: 'utf8', timeout: EXEC_TIMEOUT, stdio: ['pipe', 'pipe', 'pipe'] });
100
+ const parsed = JSON.parse(result);
101
+ return {
102
+ orphans: parsed.orphans ?? 0,
103
+ unresolved: parsed.unresolved ?? 0,
104
+ deadends: parsed.deadends ?? 0,
105
+ };
106
+ }
107
+ catch {
108
+ return null;
109
+ }
110
+ }
111
+ /**
112
+ * Execute an Obsidian CLI command. Returns true on success, false on failure.
113
+ */
114
+ exec(args) {
115
+ try {
116
+ execFileSync(OBSIDIAN_CLI, args, {
117
+ encoding: 'utf8',
118
+ timeout: EXEC_TIMEOUT,
119
+ stdio: ['pipe', 'pipe', 'pipe'],
120
+ });
121
+ return true;
122
+ }
123
+ catch {
124
+ return false;
125
+ }
126
+ }
127
+ }
128
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/obsidian/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { loadObsidianConfig, ObsidianVaultConfigSchema } from './vault-config.js';
2
+ export type { ResolvedObsidianConfig } from './vault-config.js';
3
+ export { generateKanban } from './kanban-generator.js';
4
+ export { VaultWriter } from './vault-writer.js';
5
+ export type { SyncResult } from './vault-writer.js';
6
+ export { ObsidianCli } from './cli.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/obsidian/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { loadObsidianConfig, ObsidianVaultConfigSchema } from './vault-config.js';
2
+ export { generateKanban } from './kanban-generator.js';
3
+ export { VaultWriter } from './vault-writer.js';
4
+ export { ObsidianCli } from './cli.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/obsidian/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}