wyrm-mcp 7.3.2 → 7.3.3

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 (184) hide show
  1. package/README.md +8 -14
  2. package/dist/activation.js +59 -1
  3. package/dist/agent-daemon.js +281 -4
  4. package/dist/agent-loop.js +332 -7
  5. package/dist/analytics.js +236 -13
  6. package/dist/attribution.js +49 -1
  7. package/dist/audit.js +457 -2
  8. package/dist/auto-capture.js +138 -3
  9. package/dist/auto-orchestrator.js +325 -1
  10. package/dist/autoconfig.d.ts +50 -0
  11. package/dist/autoconfig.d.ts.map +1 -1
  12. package/dist/autoconfig.js +1115 -39
  13. package/dist/autoconfig.js.map +1 -1
  14. package/dist/buddy-runner.js +109 -1
  15. package/dist/buddy.js +564 -14
  16. package/dist/build-flags.js +15 -1
  17. package/dist/capabilities.js +183 -3
  18. package/dist/capture.js +56 -1
  19. package/dist/causality.js +148 -8
  20. package/dist/cli.js +281 -20
  21. package/dist/cloud/cli.js +541 -5
  22. package/dist/cloud/client.js +221 -1
  23. package/dist/cloud/crypto.js +85 -1
  24. package/dist/cloud/machine-id.js +113 -2
  25. package/dist/cloud/recovery.js +60 -1
  26. package/dist/cloud/sync-engine.js +543 -7
  27. package/dist/cloud-backup.js +579 -5
  28. package/dist/cloud-profile.js +138 -1
  29. package/dist/cloud-sync-entrypoint.js +47 -1
  30. package/dist/cloud-sync.js +309 -2
  31. package/dist/connectors/bridge-source.d.ts +46 -0
  32. package/dist/connectors/bridge-source.d.ts.map +1 -0
  33. package/dist/connectors/bridge-source.js +77 -0
  34. package/dist/connectors/bridge-source.js.map +1 -0
  35. package/dist/connectors/index.d.ts +24 -0
  36. package/dist/connectors/index.d.ts.map +1 -0
  37. package/dist/connectors/index.js +69 -0
  38. package/dist/connectors/index.js.map +1 -0
  39. package/dist/connectors/ingest.d.ts +16 -0
  40. package/dist/connectors/ingest.d.ts.map +1 -0
  41. package/dist/connectors/ingest.js +116 -0
  42. package/dist/connectors/ingest.js.map +1 -0
  43. package/dist/connectors/types.d.ts +99 -0
  44. package/dist/connectors/types.d.ts.map +1 -0
  45. package/dist/connectors/types.js +17 -0
  46. package/dist/connectors/types.js.map +1 -0
  47. package/dist/constellation.js +168 -12
  48. package/dist/content-signature.js +45 -1
  49. package/dist/context-build-budgeted.js +144 -4
  50. package/dist/context-ranking.js +69 -1
  51. package/dist/crypto.js +179 -1
  52. package/dist/daemon-write-endpoint.js +290 -1
  53. package/dist/daemon-writer.js +406 -2
  54. package/dist/database.js +1278 -53
  55. package/dist/deprecations.js +162 -2
  56. package/dist/design.js +141 -13
  57. package/dist/event-replication.js +112 -1
  58. package/dist/events-sse.js +43 -7
  59. package/dist/events.js +238 -6
  60. package/dist/failure-patterns.d.ts +107 -0
  61. package/dist/failure-patterns.d.ts.map +1 -1
  62. package/dist/failure-patterns.js +924 -43
  63. package/dist/failure-patterns.js.map +1 -1
  64. package/dist/federation.js +236 -12
  65. package/dist/goals.js +101 -13
  66. package/dist/golden.js +355 -3
  67. package/dist/handlers/agent.js +165 -4
  68. package/dist/handlers/alias-adapters.js +129 -1
  69. package/dist/handlers/aliases.js +171 -1
  70. package/dist/handlers/audit.js +87 -1
  71. package/dist/handlers/boundary.js +221 -1
  72. package/dist/handlers/capture.js +1114 -73
  73. package/dist/handlers/causality.js +119 -9
  74. package/dist/handlers/cloud.js +382 -85
  75. package/dist/handlers/companion.js +459 -28
  76. package/dist/handlers/datalake.js +187 -7
  77. package/dist/handlers/dispatch-context.js +22 -0
  78. package/dist/handlers/entity.js +256 -25
  79. package/dist/handlers/events.js +335 -16
  80. package/dist/handlers/failure.d.ts.map +1 -1
  81. package/dist/handlers/failure.js +408 -13
  82. package/dist/handlers/failure.js.map +1 -1
  83. package/dist/handlers/goals.js +296 -4
  84. package/dist/handlers/intelligence.js +681 -126
  85. package/dist/handlers/invoicing.js +70 -1
  86. package/dist/handlers/mcpclient.js +137 -6
  87. package/dist/handlers/orchestration.js +125 -40
  88. package/dist/handlers/output-schemas.js +24 -1
  89. package/dist/handlers/presence.js +99 -3
  90. package/dist/handlers/project.js +182 -28
  91. package/dist/handlers/prompts.js +157 -6
  92. package/dist/handlers/quest.js +224 -4
  93. package/dist/handlers/recall.js +237 -13
  94. package/dist/handlers/registry.js +167 -1
  95. package/dist/handlers/resources.js +288 -1
  96. package/dist/handlers/review.js +74 -11
  97. package/dist/handlers/run.js +498 -16
  98. package/dist/handlers/search.js +338 -15
  99. package/dist/handlers/session.js +643 -31
  100. package/dist/handlers/share.js +184 -8
  101. package/dist/handlers/shims.js +464 -1
  102. package/dist/handlers/skill.js +449 -67
  103. package/dist/handlers/survivors.js +120 -1
  104. package/dist/handlers/symbols.js +109 -8
  105. package/dist/handlers/syncops.js +302 -4
  106. package/dist/handlers/types.js +27 -1
  107. package/dist/harvest.js +191 -5
  108. package/dist/hours.js +156 -7
  109. package/dist/http-auth.js +321 -3
  110. package/dist/http-fast.js +1302 -22
  111. package/dist/icons.js +47 -1
  112. package/dist/importers.js +268 -1
  113. package/dist/index.js +840 -2
  114. package/dist/indexer.js +145 -4
  115. package/dist/intelligence.js +261 -31
  116. package/dist/internal-dispatch.js +212 -3
  117. package/dist/keyset.js +110 -1
  118. package/dist/knowledge-graph.js +176 -12
  119. package/dist/license.js +441 -2
  120. package/dist/logger.js +199 -2
  121. package/dist/maintenance.js +148 -2
  122. package/dist/mcp-client.js +262 -6
  123. package/dist/memory-artifacts.js +596 -32
  124. package/dist/migrate-prompt.js +124 -2
  125. package/dist/migrations.d.ts.map +1 -1
  126. package/dist/migrations.js +799 -42
  127. package/dist/migrations.js.map +1 -1
  128. package/dist/performance.js +228 -1
  129. package/dist/presence.js +140 -11
  130. package/dist/priority-embed.js +164 -5
  131. package/dist/providers/embedding-provider.js +196 -1
  132. package/dist/readonly-gate.js +29 -1
  133. package/dist/receipt.js +43 -1
  134. package/dist/rehydration.js +157 -9
  135. package/dist/reindex.js +88 -1
  136. package/dist/render-target.js +544 -21
  137. package/dist/render.js +280 -4
  138. package/dist/repl-guard.js +173 -1
  139. package/dist/replication-daemon-entrypoint.js +31 -1
  140. package/dist/replication-daemon.js +262 -2
  141. package/dist/rerank.js +142 -1
  142. package/dist/resilience.js +591 -1
  143. package/dist/reverse-bridge.js +360 -5
  144. package/dist/security.js +244 -1
  145. package/dist/session-seen.js +51 -3
  146. package/dist/setup.js +260 -1
  147. package/dist/skill-author.js +168 -5
  148. package/dist/spec-kit.js +191 -1
  149. package/dist/sqlite-busy.js +154 -1
  150. package/dist/statusline.js +315 -11
  151. package/dist/sub-agent.js +262 -13
  152. package/dist/summarizer.js +139 -13
  153. package/dist/symbols.js +283 -7
  154. package/dist/sync.js +359 -5
  155. package/dist/tasks-dispatch.js +84 -1
  156. package/dist/tasks.js +282 -1
  157. package/dist/token-budget.js +143 -1
  158. package/dist/tool-analytics.js +129 -7
  159. package/dist/tool-annotations.js +365 -1
  160. package/dist/tool-manifest-v2.json +1 -1
  161. package/dist/tool-manifest.json +1 -1
  162. package/dist/tool-profiles.js +75 -1
  163. package/dist/trace-harvest.js +244 -6
  164. package/dist/types.js +30 -1
  165. package/dist/ui-dashboard.js +50 -41
  166. package/dist/ulid.js +81 -1
  167. package/dist/usage-tracker.js +66 -1
  168. package/dist/validate.js +129 -1
  169. package/dist/vault.js +534 -1
  170. package/dist/vector-init.js +67 -1
  171. package/dist/vectors.js +184 -3
  172. package/dist/version-check.js +136 -4
  173. package/dist/visibility.js +155 -19
  174. package/dist/wyrm-cli.js +2845 -101
  175. package/dist/wyrm-cli.js.map +1 -1
  176. package/dist/wyrm-guard.d.ts.map +1 -1
  177. package/dist/wyrm-guard.js +475 -14
  178. package/dist/wyrm-guard.js.map +1 -1
  179. package/dist/wyrm-loop.js +150 -3
  180. package/dist/wyrm-manifest.json +1 -1
  181. package/dist/wyrm-statusline-daemon.js +11 -1
  182. package/dist/wyrm-statusline.js +56 -4
  183. package/dist/wyrm-ui.js +77 -9
  184. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"failure-patterns.js","sourceRoot":"","sources":["../src/failure-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"failure-patterns.js","sourceRoot":"","sources":["../src/failure-patterns.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,257 @@
1
- const d={session:{table:"sessions",ts:"created_at"},quest:{table:"quests",ts:"created_at"},truth:{table:"ground_truths",ts:"updated_at"},artifact:{table:"memory_artifacts",ts:"last_accessed_at"},edge:{table:"decision_edges",ts:"created_at"}};class E{db;constructor(t){this.db=t}share(t,r){const e=d[t];return!e||this.isPrivateGroveRow(e.table,r)?!1:this.db.prepare(`UPDATE ${e.table} SET is_shared = 1 WHERE id = ?`).run(r).changes>0}isPrivateGroveRow(t,r){try{const e=this.db.prepare(`SELECT (SELECT sync_policy FROM projects WHERE id = t.project_id) AS policy
2
- FROM ${t} t WHERE t.id = ?`).get(r);return!e||e.policy==null?!1:e.policy==="private"}catch{return!1}}projectsHasSyncPolicy(){try{return this.db.prepare("PRAGMA table_info(projects)").all().some(t=>t.name==="sync_policy")}catch{return!1}}unshare(t,r){const e=d[t];return e?this.db.prepare(`UPDATE ${e.table} SET is_shared = 0 WHERE id = ?`).run(r).changes>0:!1}collectForPush(t,r=500){const e=t??"1970-01-01",s=[],o=this.projectsHasSyncPolicy()?"AND (project_id IS NULL OR project_id IN (SELECT id FROM projects WHERE sync_policy = 'team'))":"";for(const[a,c]of Object.entries(d)){if(s.length>=r)break;const l=a,n=this.db.prepare(`SELECT * FROM ${c.table}
3
- WHERE is_shared = 1 ${o} AND ${c.ts} > ?
4
- ORDER BY ${c.ts} ASC
5
- LIMIT ?`).all(e,Math.max(1,r-s.length));for(const i of n)s.push({kind:l,id:i.id,project_id:i.project_id??null,payload:i,updated_at:i[c.ts]||new Date().toISOString()})}return s}applyRemote(t,r){const e=d[t.kind];if(!e)return{kind:"skipped"};const s=this.db.prepare(`SELECT ${e.ts} as ts FROM ${e.table} WHERE id = ?`).get(t.id);if(!s){const n=Object.keys(t.payload).filter(p=>p!=="rowid"),i=n.map(()=>"?").join(","),u=n.map(p=>t.payload[p]);try{return this.db.prepare(`INSERT OR IGNORE INTO ${e.table} (${n.join(",")}) VALUES (${i})`).run(...u),{kind:"inserted"}}catch{return{kind:"skipped"}}}if(s.ts>t.updated_at){const i=this.db.prepare(`
1
+ /**
2
+ * Federated team Wyrm (Tier 2.8).
3
+ *
4
+ * Each operator runs a local Wyrm; opt-in tagged data syncs to a shared
5
+ * "team Wyrm" instance. PII never leaves the local box unless explicitly
6
+ * shared (per-row `is_shared=1` flag — set when the operator marks a
7
+ * truth/quest/artifact as team-visible).
8
+ *
9
+ * Sync surface:
10
+ * POST /sync/push pushes is_shared=1 local rows changed since cursor
11
+ * GET /sync/pull pulls remote rows changed since cursor
12
+ *
13
+ * Conflict policy: if a remote push lands on top of a local edit whose
14
+ * `updated_at` is newer, we DO NOT silently overwrite. Instead we record
15
+ * the conflict in `sync_conflicts` and mint a quest for the operator to
16
+ * resolve. Last-write-wins is the failure mode of every team sync tool;
17
+ * Wyrm refuses to silently lose work.
18
+ *
19
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
20
+ * @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
21
+ */
22
+ const KIND_TO_TABLE = {
23
+ session: { table: 'sessions', ts: 'created_at' },
24
+ quest: { table: 'quests', ts: 'created_at' },
25
+ truth: { table: 'ground_truths', ts: 'updated_at' },
26
+ artifact: { table: 'memory_artifacts', ts: 'last_accessed_at' },
27
+ edge: { table: 'decision_edges', ts: 'created_at' },
28
+ };
29
+ export class Federation {
30
+ db;
31
+ constructor(db) {
32
+ this.db = db;
33
+ }
34
+ /** Mark a row as shared (will be picked up on next push). */
35
+ share(kind, id) {
36
+ const t = KIND_TO_TABLE[kind];
37
+ if (!t)
38
+ return false;
39
+ // [grove isolation] Refuse to share a row that belongs to a PRIVATE grove.
40
+ // A private grove (projects.sync_policy='private') must never federate to a
41
+ // team Wyrm, so we block the is_shared flag at the source (defense in depth
42
+ // alongside the collectForPush grove gate).
43
+ if (this.isPrivateGroveRow(t.table, id))
44
+ return false;
45
+ const info = this.db.prepare(`UPDATE ${t.table} SET is_shared = 1 WHERE id = ?`).run(id);
46
+ return info.changes > 0;
47
+ }
48
+ /** True if the row's project grove has sync_policy='private' (never federates). */
49
+ isPrivateGroveRow(table, id) {
50
+ try {
51
+ const row = this.db.prepare(`SELECT (SELECT sync_policy FROM projects WHERE id = t.project_id) AS policy
52
+ FROM ${table} t WHERE t.id = ?`).get(id);
53
+ // No row, or a project-less / unknown-project row: not grove-private here
54
+ // (governed by is_shared alone). An explicit 'private' policy blocks it.
55
+ if (!row || row.policy == null)
56
+ return false;
57
+ return row.policy === 'private';
58
+ }
59
+ catch {
60
+ // projects.sync_policy not present yet (pre-migration) → grove feature off.
61
+ return false;
62
+ }
63
+ }
64
+ /** Whether the grove-policy column exists (feature gate, pre-migration safe). */
65
+ projectsHasSyncPolicy() {
66
+ try {
67
+ return this.db.prepare(`PRAGMA table_info(projects)`).all()
68
+ .some((c) => c.name === 'sync_policy');
69
+ }
70
+ catch {
71
+ return false;
72
+ }
73
+ }
74
+ /** Unshare (revoke from team visibility). Local row stays. */
75
+ unshare(kind, id) {
76
+ const t = KIND_TO_TABLE[kind];
77
+ if (!t)
78
+ return false;
79
+ const info = this.db.prepare(`UPDATE ${t.table} SET is_shared = 0 WHERE id = ?`).run(id);
80
+ return info.changes > 0;
81
+ }
82
+ /** Collect rows to push: is_shared=1 AND ts > since_cursor. */
83
+ collectForPush(since_cursor, limit = 500) {
84
+ const cursor = since_cursor ?? '1970-01-01';
85
+ const out = [];
86
+ // [grove isolation] Only federate rows whose grove opts into team sharing
87
+ // (projects.sync_policy='team'). Project-less rows fall back to is_shared.
88
+ const groveGate = this.projectsHasSyncPolicy()
89
+ ? `AND (project_id IS NULL OR project_id IN (SELECT id FROM projects WHERE sync_policy = 'team'))`
90
+ : ``;
91
+ for (const [kindStr, t] of Object.entries(KIND_TO_TABLE)) {
92
+ if (out.length >= limit)
93
+ break;
94
+ const kind = kindStr;
95
+ const rows = this.db.prepare(`SELECT * FROM ${t.table}
96
+ WHERE is_shared = 1 ${groveGate} AND ${t.ts} > ?
97
+ ORDER BY ${t.ts} ASC
98
+ LIMIT ?`).all(cursor, Math.max(1, limit - out.length));
99
+ for (const r of rows) {
100
+ out.push({
101
+ kind,
102
+ id: r.id,
103
+ project_id: (r.project_id ?? null),
104
+ payload: r,
105
+ updated_at: r[t.ts] || new Date().toISOString(),
106
+ });
107
+ }
108
+ }
109
+ return out;
110
+ }
111
+ /** Apply a remote row locally. Returns:
112
+ * { kind: 'inserted' } — fresh row, no conflict
113
+ * { kind: 'overwritten' } — local row was older, remote wins
114
+ * { kind: 'conflict', conflict_id } — local row newer, conflict recorded
115
+ * Idempotent — applying the same payload twice is a no-op.
116
+ *
117
+ * Conflict policy: if local updated_at > remote updated_at, the remote
118
+ * is REJECTED into sync_conflicts; a quest is minted. The local row stays.
119
+ */
120
+ applyRemote(row, remoteOrigin) {
121
+ const t = KIND_TO_TABLE[row.kind];
122
+ if (!t)
123
+ return { kind: 'skipped' };
124
+ const localTs = this.db.prepare(`SELECT ${t.ts} as ts FROM ${t.table} WHERE id = ?`).get(row.id);
125
+ if (!localTs) {
126
+ // Fresh insert. Build columns from payload, skipping id (auto-incremented)
127
+ // — but we want to preserve the same id so future syncs are stable.
128
+ // SQLite allows explicit id insert.
129
+ const cols = Object.keys(row.payload).filter(c => c !== 'rowid');
130
+ const placeholders = cols.map(() => '?').join(',');
131
+ const values = cols.map(c => row.payload[c]);
132
+ try {
133
+ this.db.prepare(`INSERT OR IGNORE INTO ${t.table} (${cols.join(',')}) VALUES (${placeholders})`).run(...values);
134
+ return { kind: 'inserted' };
135
+ }
136
+ catch {
137
+ return { kind: 'skipped' };
138
+ }
139
+ }
140
+ // Existing row — compare timestamps.
141
+ const localNewer = localTs.ts > row.updated_at;
142
+ if (localNewer) {
143
+ // Conflict — record it and mint a quest if this row has a project_id.
144
+ const conflictInfo = this.db.prepare(`
6
145
  INSERT INTO sync_conflicts
7
146
  (local_kind, local_id, remote_payload, remote_origin)
8
147
  VALUES (?, ?, ?, ?)
9
- `).run(t.kind,t.id,JSON.stringify(t.payload),r).lastInsertRowid;if(t.project_id!=null)try{this.db.prepare(`
148
+ `).run(row.kind, row.id, JSON.stringify(row.payload), remoteOrigin);
149
+ const conflict_id = conflictInfo.lastInsertRowid;
150
+ // Best-effort: mint a quest so the operator sees it on next session
151
+ if (row.project_id != null) {
152
+ try {
153
+ this.db.prepare(`
10
154
  INSERT INTO quests (project_id, title, description, priority, status, tags)
11
155
  VALUES (?, ?, ?, 'high', 'pending', 'sync-conflict')
12
- `).run(t.project_id,`[sync] Resolve conflict on ${t.kind} #${t.id}`,`A remote ${r} pushed a ${t.kind} that conflicts with a newer local edit. See sync_conflicts row #${i} for the remote payload. Resolve with wyrm_sync_resolve (kept_local | kept_remote | merged).`)}catch{}return{kind:"conflict",conflict_id:i}}const a=Object.keys(t.payload).filter(n=>n!=="id"),c=a.map(n=>`${n} = ?`).join(", "),l=a.map(n=>t.payload[n]);try{return this.db.prepare(`UPDATE ${e.table} SET ${c} WHERE id = ?`).run(...l,t.id),{kind:"overwritten"}}catch{return{kind:"skipped"}}}recordPush(t,r,e,s){const o=new Date().toISOString();return this.db.prepare(`
156
+ `).run(row.project_id, `[sync] Resolve conflict on ${row.kind} #${row.id}`, `A remote ${remoteOrigin} pushed a ${row.kind} that conflicts with a newer local edit. ` +
157
+ `See sync_conflicts row #${conflict_id} for the remote payload. ` +
158
+ `Resolve with wyrm_sync_resolve (kept_local | kept_remote | merged).`);
159
+ }
160
+ catch { /* best-effort */ }
161
+ }
162
+ return { kind: 'conflict', conflict_id };
163
+ }
164
+ // Local is older — accept remote overwrite.
165
+ const cols = Object.keys(row.payload).filter(c => c !== 'id');
166
+ const setClause = cols.map(c => `${c} = ?`).join(', ');
167
+ const values = cols.map(c => row.payload[c]);
168
+ try {
169
+ this.db.prepare(`UPDATE ${t.table} SET ${setClause} WHERE id = ?`).run(...values, row.id);
170
+ return { kind: 'overwritten' };
171
+ }
172
+ catch {
173
+ return { kind: 'skipped' };
174
+ }
175
+ }
176
+ /** Bulk push — record one sync_log row, return summary. Caller does HTTP. */
177
+ recordPush(rows, remoteOrigin, duration_ms, since_cursor) {
178
+ const newCursor = new Date().toISOString();
179
+ this.db.prepare(`
13
180
  INSERT INTO sync_log
14
181
  (direction, remote_origin, kind, count, since_cursor, new_cursor, duration_ms)
15
182
  VALUES ('push', ?, 'mixed', ?, ?, ?, ?)
16
- `).run(r,t.length,s??null,o,e),{pushed:t.length,conflicts:0,new_cursor:o,conflict_ids:[]}}applyPull(t,r,e,s){const o={};let a=0;for(const l of t){const n=this.applyRemote(l,r);(n.kind==="inserted"||n.kind==="overwritten")&&(a++,o[l.kind]=(o[l.kind]??0)+1)}const c=new Date().toISOString();return this.db.prepare(`
183
+ `).run(remoteOrigin, rows.length, since_cursor ?? null, newCursor, duration_ms);
184
+ return {
185
+ pushed: rows.length,
186
+ conflicts: 0,
187
+ new_cursor: newCursor,
188
+ conflict_ids: [],
189
+ };
190
+ }
191
+ /** Bulk pull — apply each remote row, record sync_log, return summary. */
192
+ applyPull(rows, remoteOrigin, duration_ms, since_cursor) {
193
+ const byKind = {};
194
+ let pulled = 0;
195
+ for (const row of rows) {
196
+ const result = this.applyRemote(row, remoteOrigin);
197
+ if (result.kind === 'inserted' || result.kind === 'overwritten') {
198
+ pulled++;
199
+ byKind[row.kind] = (byKind[row.kind] ?? 0) + 1;
200
+ }
201
+ }
202
+ const newCursor = new Date().toISOString();
203
+ this.db.prepare(`
17
204
  INSERT INTO sync_log
18
205
  (direction, remote_origin, kind, count, since_cursor, new_cursor, duration_ms)
19
206
  VALUES ('pull', ?, 'mixed', ?, ?, ?, ?)
20
- `).run(r,a,s??null,c,e),{pulled:a,new_cursor:c,by_kind:o}}latestCursor(t,r){return this.db.prepare(`
207
+ `).run(remoteOrigin, pulled, since_cursor ?? null, newCursor, duration_ms);
208
+ return { pulled, new_cursor: newCursor, by_kind: byKind };
209
+ }
210
+ /** Get the latest cursor from a previous sync. */
211
+ latestCursor(direction, remoteOrigin) {
212
+ const row = this.db.prepare(`
21
213
  SELECT new_cursor FROM sync_log
22
214
  WHERE direction = ? AND remote_origin = ?
23
215
  ORDER BY id DESC LIMIT 1
24
- `).get(t,r)?.new_cursor??null}unresolvedConflicts(t=50){return this.db.prepare(`
216
+ `).get(direction, remoteOrigin);
217
+ return row?.new_cursor ?? null;
218
+ }
219
+ /** List unresolved sync conflicts. */
220
+ unresolvedConflicts(limit = 50) {
221
+ return this.db.prepare(`
25
222
  SELECT id, local_kind, local_id, remote_origin, detected_at, quest_id
26
223
  FROM sync_conflicts
27
224
  WHERE resolved_at IS NULL
28
225
  ORDER BY detected_at DESC LIMIT ?
29
- `).all(t)}resolveConflict(t,r,e){const s=this.db.prepare("SELECT * FROM sync_conflicts WHERE id = ? AND resolved_at IS NULL").get(t);if(!s)return!1;if(r==="kept_remote"||r==="merged"){const o=d[s.local_kind];if(o){const a=r==="merged"&&e?e:JSON.parse(s.remote_payload),c=Object.keys(a).filter(i=>i!=="id"),l=c.map(i=>`${i} = ?`).join(", "),n=c.map(i=>a[i]);try{this.db.prepare(`UPDATE ${o.table} SET ${l} WHERE id = ?`).run(...n,s.local_id)}catch{}}}return this.db.prepare(`
226
+ `).all(limit);
227
+ }
228
+ /** Resolve a conflict. mode: 'kept_local' | 'kept_remote' | 'merged'. */
229
+ resolveConflict(conflict_id, mode, merged_payload) {
230
+ const conflict = this.db.prepare('SELECT * FROM sync_conflicts WHERE id = ? AND resolved_at IS NULL').get(conflict_id);
231
+ if (!conflict)
232
+ return false;
233
+ if (mode === 'kept_remote' || mode === 'merged') {
234
+ const t = KIND_TO_TABLE[conflict.local_kind];
235
+ if (t) {
236
+ const payload = mode === 'merged' && merged_payload
237
+ ? merged_payload
238
+ : JSON.parse(conflict.remote_payload);
239
+ const cols = Object.keys(payload).filter(c => c !== 'id');
240
+ const setClause = cols.map(c => `${c} = ?`).join(', ');
241
+ const values = cols.map(c => payload[c]);
242
+ try {
243
+ this.db.prepare(`UPDATE ${t.table} SET ${setClause} WHERE id = ?`).run(...values, conflict.local_id);
244
+ }
245
+ catch { /* best-effort */ }
246
+ }
247
+ }
248
+ // 'kept_local' = no row mutation needed.
249
+ this.db.prepare(`
30
250
  UPDATE sync_conflicts
31
251
  SET resolved_at = datetime('now'), resolution = ?
32
252
  WHERE id = ?
33
- `).run(r,t),!0}}export{E as Federation};
253
+ `).run(mode, conflict_id);
254
+ return true;
255
+ }
256
+ }
257
+ //# sourceMappingURL=federation.js.map
package/dist/goals.js CHANGED
@@ -1,32 +1,97 @@
1
- class n{db;constructor(t){this.db=t}set(t){const e=this.db.prepare(`
1
+ /**
2
+ * Goals — persistent objectives Wyrm pursues across sessions.
3
+ *
4
+ * A goal is a long-lived row. Each `pursue` invocation runs one OODA
5
+ * iteration (Observe → Orient → Decide → Act), appends a row to
6
+ * `goal_iterations`, and updates the goal's `last_pursued_at` +
7
+ * `iterations_count`. The agent loop (`wyrm-loop` daemon) picks the
8
+ * highest-priority active goal each tick.
9
+ *
10
+ * Goals carry `max_iterations` to prevent infinite spinning on
11
+ * unresolvable objectives. `success_criteria` is the operator-defined
12
+ * "done when X" — the LLM checks against it each iteration.
13
+ *
14
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
15
+ * @license Proprietary — (c) 2026 Ghost Protocol (Pvt) Ltd. All rights reserved. See LICENSE.
16
+ */
17
+ export class Goals {
18
+ db;
19
+ constructor(db) {
20
+ this.db = db;
21
+ }
22
+ set(input) {
23
+ const info = this.db.prepare(`
2
24
  INSERT INTO goals
3
25
  (project_id, title, description, success_criteria, deadline,
4
26
  priority, max_iterations)
5
27
  VALUES (?, ?, ?, ?, ?, ?, ?)
6
- `).run(t.project_id??null,t.title,t.description??null,t.success_criteria??null,t.deadline??null,t.priority??"medium",Math.max(1,Math.min(t.max_iterations??20,200)));return this.get(e.lastInsertRowid)}get(t){return this.db.prepare("SELECT * FROM goals WHERE id = ?").get(t)??null}list(t){const e=[],a=[];t?.status&&(e.push("status = ?"),a.push(t.status)),t?.project_id!=null&&(e.push("project_id = ?"),a.push(t.project_id));const s=`
28
+ `).run(input.project_id ?? null, input.title, input.description ?? null, input.success_criteria ?? null, input.deadline ?? null, input.priority ?? 'medium', Math.max(1, Math.min(input.max_iterations ?? 20, 200)));
29
+ return this.get(info.lastInsertRowid);
30
+ }
31
+ get(id) {
32
+ return this.db.prepare('SELECT * FROM goals WHERE id = ?').get(id) ?? null;
33
+ }
34
+ list(opts) {
35
+ const where = [];
36
+ const params = [];
37
+ if (opts?.status) {
38
+ where.push('status = ?');
39
+ params.push(opts.status);
40
+ }
41
+ if (opts?.project_id != null) {
42
+ where.push('project_id = ?');
43
+ params.push(opts.project_id);
44
+ }
45
+ const sql = `
7
46
  SELECT * FROM goals
8
- ${e.length?"WHERE "+e.join(" AND "):""}
47
+ ${where.length ? 'WHERE ' + where.join(' AND ') : ''}
9
48
  ORDER BY
10
49
  CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1
11
50
  WHEN 'medium' THEN 2 ELSE 3 END,
12
51
  COALESCE(last_pursued_at, '1970-01-01') ASC,
13
52
  created_at ASC
14
53
  LIMIT ?
15
- `;return a.push(t?.limit??50),this.db.prepare(s).all(...a)}nextToPursue(t){const e=[];let a="status = 'active' AND iterations_count < max_iterations";t!=null&&(a+=" AND project_id = ?",e.push(t));const s=`
54
+ `;
55
+ params.push(opts?.limit ?? 50);
56
+ return this.db.prepare(sql).all(...params);
57
+ }
58
+ /** Pick the next goal to pursue: highest priority, least-recently
59
+ * pursued, only active goals that haven't hit iteration cap. Returns
60
+ * null when there's nothing to do. */
61
+ nextToPursue(projectId) {
62
+ const params = [];
63
+ let where = `status = 'active' AND iterations_count < max_iterations`;
64
+ if (projectId != null) {
65
+ where += ` AND project_id = ?`;
66
+ params.push(projectId);
67
+ }
68
+ const sql = `
16
69
  SELECT * FROM goals
17
- WHERE ${a}
70
+ WHERE ${where}
18
71
  ORDER BY
19
72
  CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1
20
73
  WHEN 'medium' THEN 2 ELSE 3 END,
21
74
  COALESCE(last_pursued_at, '1970-01-01') ASC
22
75
  LIMIT 1
23
- `;return this.db.prepare(s).get(...e)??null}recordIteration(t,e){const a=this.get(t);if(!a)throw new Error(`Goal ${t} not found`);const s=a.iterations_count+1,r=this.db.prepare(`
76
+ `;
77
+ return this.db.prepare(sql).get(...params) ?? null;
78
+ }
79
+ /** Record one OODA iteration result and bump the goal's counters. */
80
+ recordIteration(goal_id, input) {
81
+ const goal = this.get(goal_id);
82
+ if (!goal)
83
+ throw new Error(`Goal ${goal_id} not found`);
84
+ const iterationNum = goal.iterations_count + 1;
85
+ const info = this.db.prepare(`
24
86
  INSERT INTO goal_iterations
25
87
  (goal_id, iteration_num, observe_summary, orient_summary,
26
88
  decided_action, action_result, outcome, notes,
27
89
  latency_ms, tokens_in, tokens_out, model)
28
90
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
29
- `).run(t,s,e.observe_summary??null,e.orient_summary??null,e.decided_action??null,e.action_result??null,e.outcome,e.notes??null,Math.max(0,Math.round(e.latency_ms)),e.tokens_in??null,e.tokens_out??null,e.model??null),o=e.outcome==="done";return this.db.prepare(`
91
+ `).run(goal_id, iterationNum, input.observe_summary ?? null, input.orient_summary ?? null, input.decided_action ?? null, input.action_result ?? null, input.outcome, input.notes ?? null, Math.max(0, Math.round(input.latency_ms)), input.tokens_in ?? null, input.tokens_out ?? null, input.model ?? null);
92
+ // Update goal counters + last_outcome. If outcome=='done', mark completed.
93
+ const shouldComplete = input.outcome === 'done';
94
+ this.db.prepare(`
30
95
  UPDATE goals
31
96
  SET iterations_count = iterations_count + 1,
32
97
  last_pursued_at = datetime('now'),
@@ -35,24 +100,47 @@ class n{db;constructor(t){this.db=t}set(t){const e=this.db.prepare(`
35
100
  status = CASE WHEN ? = 1 THEN 'completed' ELSE status END,
36
101
  completed_at = CASE WHEN ? = 1 THEN datetime('now') ELSE completed_at END
37
102
  WHERE id = ?
38
- `).run(e.outcome,o?1:0,o?1:0,t),this.db.prepare("SELECT * FROM goal_iterations WHERE id = ?").get(r.lastInsertRowid)}iterationsFor(t,e=50){return this.db.prepare(`
103
+ `).run(input.outcome, shouldComplete ? 1 : 0, shouldComplete ? 1 : 0, goal_id);
104
+ return (this.db.prepare('SELECT * FROM goal_iterations WHERE id = ?').get(info.lastInsertRowid));
105
+ }
106
+ iterationsFor(goal_id, limit = 50) {
107
+ return this.db.prepare(`
39
108
  SELECT * FROM goal_iterations
40
109
  WHERE goal_id = ? ORDER BY iteration_num DESC LIMIT ?
41
- `).all(t,e)}complete(t,e){return this.db.prepare(`
110
+ `).all(goal_id, limit);
111
+ }
112
+ complete(id, note) {
113
+ this.db.prepare(`
42
114
  UPDATE goals
43
115
  SET status = 'completed',
44
116
  completed_at = datetime('now'),
45
117
  updated_at = datetime('now'),
46
118
  last_outcome = COALESCE(?, last_outcome)
47
119
  WHERE id = ?
48
- `).run(e??null,t),this.get(t)}pause(t){return this.db.prepare(`
120
+ `).run(note ?? null, id);
121
+ return this.get(id);
122
+ }
123
+ pause(id) {
124
+ this.db.prepare(`
49
125
  UPDATE goals SET status = 'paused', updated_at = datetime('now') WHERE id = ?
50
- `).run(t),this.get(t)}resume(t){return this.db.prepare(`
126
+ `).run(id);
127
+ return this.get(id);
128
+ }
129
+ resume(id) {
130
+ this.db.prepare(`
51
131
  UPDATE goals SET status = 'active', updated_at = datetime('now') WHERE id = ?
52
- `).run(t),this.get(t)}abandon(t,e){return this.db.prepare(`
132
+ `).run(id);
133
+ return this.get(id);
134
+ }
135
+ abandon(id, reason) {
136
+ this.db.prepare(`
53
137
  UPDATE goals
54
138
  SET status = 'abandoned',
55
139
  updated_at = datetime('now'),
56
140
  last_outcome = COALESCE(?, last_outcome)
57
141
  WHERE id = ?
58
- `).run(e??null,t),this.get(t)}}export{n as Goals};
142
+ `).run(reason ?? null, id);
143
+ return this.get(id);
144
+ }
145
+ }
146
+ //# sourceMappingURL=goals.js.map