wyrm-mcp 7.0.3 → 7.2.0

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 (321) hide show
  1. package/LICENSE +1 -1
  2. package/NOTICE +40 -0
  3. package/dist/activation.d.ts +35 -0
  4. package/dist/activation.d.ts.map +1 -0
  5. package/dist/activation.js +44 -0
  6. package/dist/activation.js.map +1 -0
  7. package/dist/agent-daemon.d.ts +1 -1
  8. package/dist/agent-daemon.js +1 -1
  9. package/dist/agent-loop.d.ts +1 -1
  10. package/dist/agent-loop.js +1 -1
  11. package/dist/analytics.d.ts +1 -1
  12. package/dist/analytics.js +1 -1
  13. package/dist/audit.d.ts +1 -1
  14. package/dist/audit.js +1 -1
  15. package/dist/auto-capture.js +1 -1
  16. package/dist/auto-orchestrator.d.ts +1 -1
  17. package/dist/auto-orchestrator.js +1 -1
  18. package/dist/autoconfig.d.ts +1 -1
  19. package/dist/autoconfig.js +1 -1
  20. package/dist/buddy-runner.d.ts +24 -0
  21. package/dist/buddy-runner.d.ts.map +1 -0
  22. package/dist/buddy-runner.js +109 -0
  23. package/dist/buddy-runner.js.map +1 -0
  24. package/dist/buddy.d.ts +1 -1
  25. package/dist/buddy.js +1 -1
  26. package/dist/build-flags.d.ts +17 -0
  27. package/dist/build-flags.d.ts.map +1 -0
  28. package/dist/build-flags.js +17 -0
  29. package/dist/build-flags.js.map +1 -0
  30. package/dist/capabilities.d.ts +1 -1
  31. package/dist/capabilities.js +1 -1
  32. package/dist/capture.d.ts +1 -1
  33. package/dist/capture.js +1 -1
  34. package/dist/causality.d.ts +1 -1
  35. package/dist/causality.js +1 -1
  36. package/dist/cli.d.ts +1 -1
  37. package/dist/cli.js +1 -1
  38. package/dist/cloud-backup.d.ts +1 -1
  39. package/dist/cloud-backup.js +1 -1
  40. package/dist/cloud-profile.d.ts +103 -0
  41. package/dist/cloud-profile.d.ts.map +1 -0
  42. package/dist/cloud-profile.js +138 -0
  43. package/dist/cloud-profile.js.map +1 -0
  44. package/dist/cloud-sync-entrypoint.d.ts +1 -1
  45. package/dist/cloud-sync-entrypoint.js +1 -1
  46. package/dist/cloud-sync.d.ts +1 -1
  47. package/dist/cloud-sync.js +1 -1
  48. package/dist/constellation.d.ts +1 -1
  49. package/dist/constellation.js +1 -1
  50. package/dist/context-build-budgeted.d.ts +43 -0
  51. package/dist/context-build-budgeted.d.ts.map +1 -0
  52. package/dist/context-build-budgeted.js +144 -0
  53. package/dist/context-build-budgeted.js.map +1 -0
  54. package/dist/context-ranking.d.ts +1 -1
  55. package/dist/context-ranking.js +1 -1
  56. package/dist/crypto.d.ts +1 -1
  57. package/dist/crypto.js +1 -1
  58. package/dist/database.d.ts +1 -1
  59. package/dist/database.js +1 -1
  60. package/dist/design.d.ts +1 -1
  61. package/dist/design.js +1 -1
  62. package/dist/event-replication.d.ts +1 -1
  63. package/dist/event-replication.js +1 -1
  64. package/dist/events-sse.d.ts +1 -1
  65. package/dist/events-sse.js +1 -1
  66. package/dist/events.js +1 -1
  67. package/dist/failure-patterns.d.ts +1 -1
  68. package/dist/failure-patterns.js +1 -1
  69. package/dist/federation.d.ts +1 -1
  70. package/dist/federation.js +1 -1
  71. package/dist/goals.d.ts +1 -1
  72. package/dist/goals.js +1 -1
  73. package/dist/handlers/agent.d.ts +7 -0
  74. package/dist/handlers/agent.d.ts.map +1 -0
  75. package/dist/handlers/agent.js +165 -0
  76. package/dist/handlers/agent.js.map +1 -0
  77. package/dist/handlers/aliases.d.ts +2 -2
  78. package/dist/handlers/aliases.d.ts.map +1 -1
  79. package/dist/handlers/aliases.js +3 -2
  80. package/dist/handlers/aliases.js.map +1 -1
  81. package/dist/handlers/audit.d.ts +7 -0
  82. package/dist/handlers/audit.d.ts.map +1 -0
  83. package/dist/handlers/audit.js +87 -0
  84. package/dist/handlers/audit.js.map +1 -0
  85. package/dist/handlers/boundary.d.ts +4 -0
  86. package/dist/handlers/boundary.d.ts.map +1 -1
  87. package/dist/handlers/boundary.js +18 -0
  88. package/dist/handlers/boundary.js.map +1 -1
  89. package/dist/handlers/capture.d.ts.map +1 -1
  90. package/dist/handlers/capture.js +146 -2
  91. package/dist/handlers/capture.js.map +1 -1
  92. package/dist/handlers/causality.d.ts +7 -0
  93. package/dist/handlers/causality.d.ts.map +1 -0
  94. package/dist/handlers/causality.js +114 -0
  95. package/dist/handlers/causality.js.map +1 -0
  96. package/dist/handlers/cloud.d.ts +7 -0
  97. package/dist/handlers/cloud.d.ts.map +1 -0
  98. package/dist/handlers/cloud.js +382 -0
  99. package/dist/handlers/cloud.js.map +1 -0
  100. package/dist/handlers/companion.d.ts +7 -0
  101. package/dist/handlers/companion.d.ts.map +1 -0
  102. package/dist/handlers/companion.js +459 -0
  103. package/dist/handlers/companion.js.map +1 -0
  104. package/dist/handlers/datalake.d.ts +7 -0
  105. package/dist/handlers/datalake.d.ts.map +1 -0
  106. package/dist/handlers/datalake.js +187 -0
  107. package/dist/handlers/datalake.js.map +1 -0
  108. package/dist/handlers/dispatch-context.d.ts +153 -0
  109. package/dist/handlers/dispatch-context.d.ts.map +1 -0
  110. package/dist/handlers/dispatch-context.js +22 -0
  111. package/dist/handlers/dispatch-context.js.map +1 -0
  112. package/dist/handlers/entity.d.ts +7 -0
  113. package/dist/handlers/entity.d.ts.map +1 -0
  114. package/dist/handlers/entity.js +256 -0
  115. package/dist/handlers/entity.js.map +1 -0
  116. package/dist/handlers/events.d.ts +7 -0
  117. package/dist/handlers/events.d.ts.map +1 -0
  118. package/dist/handlers/events.js +335 -0
  119. package/dist/handlers/events.js.map +1 -0
  120. package/dist/handlers/intelligence.d.ts +7 -0
  121. package/dist/handlers/intelligence.d.ts.map +1 -0
  122. package/dist/handlers/intelligence.js +674 -0
  123. package/dist/handlers/intelligence.js.map +1 -0
  124. package/dist/handlers/invoicing.d.ts +7 -0
  125. package/dist/handlers/invoicing.d.ts.map +1 -0
  126. package/dist/handlers/invoicing.js +70 -0
  127. package/dist/handlers/invoicing.js.map +1 -0
  128. package/dist/handlers/mcpclient.d.ts +7 -0
  129. package/dist/handlers/mcpclient.d.ts.map +1 -0
  130. package/dist/handlers/mcpclient.js +137 -0
  131. package/dist/handlers/mcpclient.js.map +1 -0
  132. package/dist/handlers/orchestration.d.ts +7 -0
  133. package/dist/handlers/orchestration.d.ts.map +1 -0
  134. package/dist/handlers/orchestration.js +125 -0
  135. package/dist/handlers/orchestration.js.map +1 -0
  136. package/dist/handlers/presence.d.ts +7 -0
  137. package/dist/handlers/presence.d.ts.map +1 -0
  138. package/dist/handlers/presence.js +99 -0
  139. package/dist/handlers/presence.js.map +1 -0
  140. package/dist/handlers/project.d.ts +7 -0
  141. package/dist/handlers/project.d.ts.map +1 -0
  142. package/dist/handlers/project.js +182 -0
  143. package/dist/handlers/project.js.map +1 -0
  144. package/dist/handlers/prompts.d.ts.map +1 -1
  145. package/dist/handlers/prompts.js +3 -2
  146. package/dist/handlers/prompts.js.map +1 -1
  147. package/dist/handlers/recall.d.ts +3 -3
  148. package/dist/handlers/recall.d.ts.map +1 -1
  149. package/dist/handlers/recall.js +33 -3
  150. package/dist/handlers/recall.js.map +1 -1
  151. package/dist/handlers/registry.d.ts.map +1 -1
  152. package/dist/handlers/registry.js +45 -0
  153. package/dist/handlers/registry.js.map +1 -1
  154. package/dist/handlers/resources.d.ts +131 -0
  155. package/dist/handlers/resources.d.ts.map +1 -0
  156. package/dist/handlers/resources.js +288 -0
  157. package/dist/handlers/resources.js.map +1 -0
  158. package/dist/handlers/review.d.ts.map +1 -1
  159. package/dist/handlers/review.js +8 -0
  160. package/dist/handlers/review.js.map +1 -1
  161. package/dist/handlers/session.d.ts.map +1 -1
  162. package/dist/handlers/session.js +3 -2
  163. package/dist/handlers/session.js.map +1 -1
  164. package/dist/handlers/share.d.ts +7 -0
  165. package/dist/handlers/share.d.ts.map +1 -0
  166. package/dist/handlers/share.js +184 -0
  167. package/dist/handlers/share.js.map +1 -0
  168. package/dist/handlers/shims.d.ts.map +1 -1
  169. package/dist/handlers/shims.js +1 -0
  170. package/dist/handlers/shims.js.map +1 -1
  171. package/dist/handlers/skill.d.ts +7 -0
  172. package/dist/handlers/skill.d.ts.map +1 -0
  173. package/dist/handlers/skill.js +449 -0
  174. package/dist/handlers/skill.js.map +1 -0
  175. package/dist/handlers/survivors.d.ts +19 -0
  176. package/dist/handlers/survivors.d.ts.map +1 -1
  177. package/dist/handlers/survivors.js +19 -0
  178. package/dist/handlers/survivors.js.map +1 -1
  179. package/dist/handlers/symbols.d.ts +7 -0
  180. package/dist/handlers/symbols.d.ts.map +1 -0
  181. package/dist/handlers/symbols.js +109 -0
  182. package/dist/handlers/symbols.js.map +1 -0
  183. package/dist/handlers/syncops.d.ts +7 -0
  184. package/dist/handlers/syncops.d.ts.map +1 -0
  185. package/dist/handlers/syncops.js +310 -0
  186. package/dist/handlers/syncops.js.map +1 -0
  187. package/dist/handlers/types.d.ts +39 -4
  188. package/dist/handlers/types.d.ts.map +1 -1
  189. package/dist/handlers/types.js +7 -1
  190. package/dist/handlers/types.js.map +1 -1
  191. package/dist/harvest.d.ts +1 -1
  192. package/dist/harvest.js +1 -1
  193. package/dist/hours.d.ts +1 -1
  194. package/dist/hours.js +1 -1
  195. package/dist/http-auth.d.ts +1 -1
  196. package/dist/http-auth.js +1 -1
  197. package/dist/icons.d.ts +1 -1
  198. package/dist/icons.js +1 -1
  199. package/dist/index.d.ts +1 -1
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +221 -4346
  202. package/dist/index.js.map +1 -1
  203. package/dist/indexer.d.ts +1 -1
  204. package/dist/indexer.js +1 -1
  205. package/dist/intelligence.d.ts +1 -1
  206. package/dist/intelligence.js +1 -1
  207. package/dist/internal-dispatch.d.ts +35 -0
  208. package/dist/internal-dispatch.d.ts.map +1 -0
  209. package/dist/internal-dispatch.js +217 -0
  210. package/dist/internal-dispatch.js.map +1 -0
  211. package/dist/keyset.d.ts +78 -0
  212. package/dist/keyset.d.ts.map +1 -0
  213. package/dist/keyset.js +110 -0
  214. package/dist/keyset.js.map +1 -0
  215. package/dist/knowledge-graph.d.ts +1 -1
  216. package/dist/knowledge-graph.js +1 -1
  217. package/dist/license.d.ts +1 -1
  218. package/dist/license.js +1 -1
  219. package/dist/logger.d.ts +1 -1
  220. package/dist/logger.js +1 -1
  221. package/dist/mcp-client.d.ts +1 -1
  222. package/dist/mcp-client.js +1 -1
  223. package/dist/memory-artifacts.d.ts +20 -1
  224. package/dist/memory-artifacts.d.ts.map +1 -1
  225. package/dist/memory-artifacts.js +48 -1
  226. package/dist/memory-artifacts.js.map +1 -1
  227. package/dist/migrate-prompt.d.ts +1 -1
  228. package/dist/migrate-prompt.js +1 -1
  229. package/dist/migrations.d.ts +1 -1
  230. package/dist/migrations.d.ts.map +1 -1
  231. package/dist/migrations.js +33 -1
  232. package/dist/migrations.js.map +1 -1
  233. package/dist/presence.d.ts +1 -1
  234. package/dist/presence.js +1 -1
  235. package/dist/priority-embed.d.ts +1 -1
  236. package/dist/priority-embed.js +1 -1
  237. package/dist/providers/embedding-provider.d.ts +1 -1
  238. package/dist/providers/embedding-provider.js +1 -1
  239. package/dist/rehydration.d.ts +1 -1
  240. package/dist/rehydration.js +1 -1
  241. package/dist/render-target.d.ts +302 -0
  242. package/dist/render-target.d.ts.map +1 -0
  243. package/dist/render-target.js +535 -0
  244. package/dist/render-target.js.map +1 -0
  245. package/dist/repl-guard.d.ts +1 -1
  246. package/dist/repl-guard.js +1 -1
  247. package/dist/replication-daemon-entrypoint.d.ts +1 -1
  248. package/dist/replication-daemon-entrypoint.js +1 -1
  249. package/dist/replication-daemon.d.ts +1 -1
  250. package/dist/replication-daemon.js +1 -1
  251. package/dist/resilience.d.ts +1 -1
  252. package/dist/resilience.js +1 -1
  253. package/dist/reverse-bridge.d.ts +253 -0
  254. package/dist/reverse-bridge.d.ts.map +1 -0
  255. package/dist/reverse-bridge.js +363 -0
  256. package/dist/reverse-bridge.js.map +1 -0
  257. package/dist/security.d.ts +1 -1
  258. package/dist/security.js +1 -1
  259. package/dist/session-seen.d.ts +1 -1
  260. package/dist/session-seen.js +1 -1
  261. package/dist/setup.d.ts +1 -1
  262. package/dist/setup.js +1 -1
  263. package/dist/skill-author.d.ts +1 -1
  264. package/dist/skill-author.js +1 -1
  265. package/dist/spec-kit.d.ts +1 -1
  266. package/dist/spec-kit.js +1 -1
  267. package/dist/statusline.d.ts +1 -1
  268. package/dist/statusline.js +1 -1
  269. package/dist/sub-agent.d.ts +1 -1
  270. package/dist/sub-agent.js +1 -1
  271. package/dist/symbols.d.ts +1 -1
  272. package/dist/symbols.js +1 -1
  273. package/dist/sync.d.ts +1 -1
  274. package/dist/sync.js +1 -1
  275. package/dist/tasks-dispatch.d.ts +48 -0
  276. package/dist/tasks-dispatch.d.ts.map +1 -0
  277. package/dist/tasks-dispatch.js +84 -0
  278. package/dist/tasks-dispatch.js.map +1 -0
  279. package/dist/tasks.d.ts +214 -0
  280. package/dist/tasks.d.ts.map +1 -0
  281. package/dist/tasks.js +282 -0
  282. package/dist/tasks.js.map +1 -0
  283. package/dist/token-budget.d.ts +1 -1
  284. package/dist/token-budget.js +1 -1
  285. package/dist/tool-analytics.d.ts +1 -1
  286. package/dist/tool-analytics.js +1 -1
  287. package/dist/tool-annotations.d.ts.map +1 -1
  288. package/dist/tool-annotations.js +3 -0
  289. package/dist/tool-annotations.js.map +1 -1
  290. package/dist/tool-manifest-v2.json +84 -0
  291. package/dist/tool-manifest.json +1 -1
  292. package/dist/tool-profiles.d.ts +1 -1
  293. package/dist/tool-profiles.js +1 -1
  294. package/dist/trace-harvest.d.ts +78 -0
  295. package/dist/trace-harvest.d.ts.map +1 -0
  296. package/dist/trace-harvest.js +244 -0
  297. package/dist/trace-harvest.js.map +1 -0
  298. package/dist/types.d.ts +1 -1
  299. package/dist/types.js +1 -1
  300. package/dist/ui-dashboard.d.ts +1 -1
  301. package/dist/ui-dashboard.js +1 -1
  302. package/dist/vault.js +1 -1
  303. package/dist/vectors.d.ts +1 -1
  304. package/dist/vectors.js +1 -1
  305. package/dist/version-check.d.ts +1 -1
  306. package/dist/version-check.js +1 -1
  307. package/dist/visibility.d.ts +1 -1
  308. package/dist/visibility.js +1 -1
  309. package/dist/wyrm-cli.d.ts +1 -1
  310. package/dist/wyrm-cli.js +252 -1
  311. package/dist/wyrm-cli.js.map +1 -1
  312. package/dist/wyrm-loop.d.ts +1 -1
  313. package/dist/wyrm-loop.js +1 -1
  314. package/dist/wyrm-manifest.json +219 -1
  315. package/dist/wyrm-statusline-daemon.d.ts +1 -1
  316. package/dist/wyrm-statusline-daemon.js +1 -1
  317. package/dist/wyrm-statusline.d.ts +1 -1
  318. package/dist/wyrm-statusline.js +1 -1
  319. package/dist/wyrm-ui.d.ts +1 -1
  320. package/dist/wyrm-ui.js +1 -1
  321. package/package.json +4 -2
package/LICENSE CHANGED
@@ -661,7 +661,7 @@ For more information on this, and how to apply and follow the GNU AGPL, see
661
661
  <https://www.gnu.org/licenses/>.
662
662
 
663
663
  ---
664
- Copyright (c) 2024-2026 Ghost Protocol (Pvt) Ltd
664
+ Copyright (c) 2026 Ghost Protocol (Pvt) Ltd
665
665
  https://ghosts.lk
666
666
 
667
667
  For commercial licensing inquiries: ghosts.lk@proton.me
package/NOTICE ADDED
@@ -0,0 +1,40 @@
1
+ Wyrm — Persistent Memory for AI Agents
2
+ Copyright © 2026 Ghost Protocol (Pvt) Ltd. All rights reserved.
3
+
4
+ This software ("Wyrm", published as the npm package "wyrm-mcp") and its source
5
+ code, documentation, and associated materials are the original work and
6
+ intellectual property of Ghost Protocol (Pvt) Ltd, Colombo, Sri Lanka.
7
+
8
+ LICENSE — dual-licensed:
9
+
10
+ 1. Open source: GNU Affero General Public License, version 3 or later
11
+ (AGPL-3.0-or-later). See the LICENSE file for the full terms. Note in
12
+ particular AGPL section 13: if you run a modified version of this software
13
+ to provide a network service, you must offer the complete corresponding
14
+ source code of your modified version to the users of that service.
15
+
16
+ 2. Commercial: a separate, non-copyleft commercial license is available for
17
+ embedding Wyrm in a closed-source product, or operating it as a managed
18
+ service without AGPL's source-sharing obligations. Contact:
19
+ ghosts.lk@proton.me
20
+
21
+ Official distribution — account required: the official Wyrm builds published by
22
+ Ghost Protocol (the "wyrm-mcp" package on npm and signed releases) and the Wyrm
23
+ hosted services (wyrm.ghosts.lk, mcp.wyrm.ghosts.lk, account.ghosts.lk) require a
24
+ free account and are subject to the Wyrm Terms of Service. The official build
25
+ validates a short-lived, account-bound license locally ("wyrm login"); your
26
+ memory stays on your machine. This account requirement governs the official
27
+ distribution and services — it does not restrict your AGPL rights in the source,
28
+ which remains free to build and run without an account. Circumventing, disabling,
29
+ or removing the activation requirement and redistributing the result under the
30
+ "Wyrm" name or marks is not permitted.
31
+
32
+ Trademarks: "Wyrm", "Ghost Protocol", and the silver-dragon mark are trademarks
33
+ of Ghost Protocol (Pvt) Ltd. Use of the AGPL license does not grant any
34
+ trademark rights.
35
+
36
+ Unauthorized copying, reverse engineering to circumvent the license, or
37
+ distribution of derivative works outside the terms above is prohibited and may
38
+ infringe the copyright and other rights of Ghost Protocol (Pvt) Ltd.
39
+
40
+ Ghost Protocol (Pvt) Ltd · Colombo, Sri Lanka · ghosts.lk · ghosts.lk@proton.me
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Activation gate for account-required builds.
3
+ *
4
+ * OFF by default in the AGPL source — self-hosters and the test suite are
5
+ * unaffected, and the open-standard (WMP) ecosystem keeps working without an
6
+ * account. The OFFICIAL distribution bakes `WYRM_REQUIRE_ACTIVATION=1`, so the
7
+ * free tier needs a (free) account: `wyrm login` fetches a short-lived,
8
+ * account-bound signed license that's validated locally by license.ts. A
9
+ * suspended account can't refresh, so access lapses at expiry. Memory is local
10
+ * either way — login only ties usage to a revocable identity.
11
+ *
12
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
13
+ * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me.
14
+ */
15
+ /**
16
+ * Whether the account-required gate is enabled on this build. ON when this is the
17
+ * official published artifact (OFFICIAL_BUILD baked true at release), OR when the
18
+ * operator opts in via WYRM_REQUIRE_ACTIVATION. OFF in AGPL source + tests.
19
+ */
20
+ export declare const REQUIRE_ACTIVATION: boolean;
21
+ /**
22
+ * True when tool execution is permitted. Always true unless the build requires
23
+ * activation AND no valid (free or paid) account-bound license is loaded.
24
+ * Re-checked live so a mid-session `wyrm login` takes effect without a restart.
25
+ */
26
+ export declare function activationSatisfied(): boolean;
27
+ /** The MCP error result returned for any tool call while activation is unmet. */
28
+ export declare function activationGateResult(): {
29
+ content: Array<{
30
+ type: 'text';
31
+ text: string;
32
+ }>;
33
+ isError: true;
34
+ };
35
+ //# sourceMappingURL=activation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../src/activation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SACyD,CAAC;AAEzF;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,IAAI;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAWxG"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Activation gate for account-required builds.
3
+ *
4
+ * OFF by default in the AGPL source — self-hosters and the test suite are
5
+ * unaffected, and the open-standard (WMP) ecosystem keeps working without an
6
+ * account. The OFFICIAL distribution bakes `WYRM_REQUIRE_ACTIVATION=1`, so the
7
+ * free tier needs a (free) account: `wyrm login` fetches a short-lived,
8
+ * account-bound signed license that's validated locally by license.ts. A
9
+ * suspended account can't refresh, so access lapses at expiry. Memory is local
10
+ * either way — login only ties usage to a revocable identity.
11
+ *
12
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
13
+ * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me.
14
+ */
15
+ import { getLicenseInfo } from './license.js';
16
+ import { OFFICIAL_BUILD } from './build-flags.js';
17
+ /**
18
+ * Whether the account-required gate is enabled on this build. ON when this is the
19
+ * official published artifact (OFFICIAL_BUILD baked true at release), OR when the
20
+ * operator opts in via WYRM_REQUIRE_ACTIVATION. OFF in AGPL source + tests.
21
+ */
22
+ export const REQUIRE_ACTIVATION = OFFICIAL_BUILD || /^(1|true|yes|on)$/i.test(process.env.WYRM_REQUIRE_ACTIVATION ?? '');
23
+ /**
24
+ * True when tool execution is permitted. Always true unless the build requires
25
+ * activation AND no valid (free or paid) account-bound license is loaded.
26
+ * Re-checked live so a mid-session `wyrm login` takes effect without a restart.
27
+ */
28
+ export function activationSatisfied() {
29
+ return !REQUIRE_ACTIVATION || getLicenseInfo().valid;
30
+ }
31
+ /** The MCP error result returned for any tool call while activation is unmet. */
32
+ export function activationGateResult() {
33
+ return {
34
+ content: [{
35
+ type: 'text',
36
+ text: '🔒 Wyrm requires a free account on this build.\n\n'
37
+ + 'Run `wyrm login` in your terminal to sign in and activate (free). '
38
+ + 'Your memory stays local — login just ties usage to an account so it can be managed.\n\n'
39
+ + 'Already logged in? Your activation may have expired — run `wyrm login` again to refresh.',
40
+ }],
41
+ isError: true,
42
+ };
43
+ }
44
+ //# sourceMappingURL=activation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation.js","sourceRoot":"","sources":["../src/activation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAC7B,cAAc,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;AAEzF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,kBAAkB,IAAI,cAAc,EAAE,CAAC,KAAK,CAAC;AACvD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,oDAAoD;sBACtD,oEAAoE;sBACpE,yFAAyF;sBACzF,0FAA0F;aAC/F,CAAC;QACF,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -15,7 +15,7 @@
15
15
  * alive, `start()` refuses (no fork-bomb). `restart()` is provided as
16
16
  * an explicit operation.
17
17
  *
18
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
18
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
19
19
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
20
20
  */
21
21
  import type Database from 'better-sqlite3';
@@ -15,7 +15,7 @@
15
15
  * alive, `start()` refuses (no fork-bomb). `restart()` is provided as
16
16
  * an explicit operation.
17
17
  *
18
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
18
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
19
19
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
20
20
  */
21
21
  import { spawn } from 'child_process';
@@ -26,7 +26,7 @@
26
26
  * {"thought":"...","action":"done","summary":"..."} or
27
27
  * {"thought":"...","action":"block","reason":"..."}
28
28
  *
29
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
29
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
30
30
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
31
31
  */
32
32
  import type Database from 'better-sqlite3';
@@ -26,7 +26,7 @@
26
26
  * {"thought":"...","action":"done","summary":"..."} or
27
27
  * {"thought":"...","action":"block","reason":"..."}
28
28
  *
29
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
29
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
30
30
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
31
31
  */
32
32
  import { Goals } from './goals.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Wyrm Analytics — Persistent Usage Tracking & Cost Monitoring
3
3
  *
4
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
5
5
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
6
6
  * @module analytics
7
7
  * @version 3.2.0
package/dist/analytics.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Wyrm Analytics — Persistent Usage Tracking & Cost Monitoring
3
3
  *
4
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
5
5
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
6
6
  * @module analytics
7
7
  * @version 3.2.0
package/dist/audit.d.ts CHANGED
@@ -59,7 +59,7 @@
59
59
  * unsigned, byte-identical to 6.x behavior. `WYRM_AUDIT_SIGNING_KEY` holds a
60
60
  * PEM-encoded (pkcs8) Ed25519 private key, or a path to one.
61
61
  *
62
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
62
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
63
63
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
64
64
  */
65
65
  import type Database from 'better-sqlite3';
package/dist/audit.js CHANGED
@@ -59,7 +59,7 @@
59
59
  * unsigned, byte-identical to 6.x behavior. `WYRM_AUDIT_SIGNING_KEY` holds a
60
60
  * PEM-encoded (pkcs8) Ed25519 private key, or a path to one.
61
61
  *
62
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
62
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
63
63
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
64
64
  */
65
65
  import { createHash, createPrivateKey, createPublicKey, sign as edSign, verify as edVerify, } from 'crypto';
@@ -12,7 +12,7 @@
12
12
  * stored with needs_review=1 so the operator vets them (wyrm_review) — nothing
13
13
  * auto-trusted, matching Wyrm's distillation-queue discipline.
14
14
  *
15
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
15
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
16
16
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
17
17
  */
18
18
  import { classifyCapture } from './capture.js';
@@ -10,7 +10,7 @@
10
10
  * - Task Decomposition: Large features via subtasks + parallel execution
11
11
  * - Verification: High-risk code changes via multi-angle review
12
12
  *
13
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
13
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
14
14
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
15
15
  */
16
16
  export type TaskType = 'decision' | 'generation' | 'research' | 'verification' | 'decomposition';
@@ -10,7 +10,7 @@
10
10
  * - Task Decomposition: Large features via subtasks + parallel execution
11
11
  * - Verification: High-risk code changes via multi-angle review
12
12
  *
13
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
13
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
14
14
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
15
15
  */
16
16
  /**
@@ -5,7 +5,7 @@
5
5
  * Cursor, Windsurf, Zed, etc.) and configures Wyrm's MCP server in each.
6
6
  * Handles provider switching seamlessly — change your AI, Wyrm follows.
7
7
  *
8
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
8
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
9
9
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
10
10
  * @module autoconfig
11
11
  * @version 3.0.0
@@ -5,7 +5,7 @@
5
5
  * Cursor, Windsurf, Zed, etc.) and configures Wyrm's MCP server in each.
6
6
  * Handles provider switching seamlessly — change your AI, Wyrm follows.
7
7
  *
8
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
8
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
9
9
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
10
10
  * @module autoconfig
11
11
  * @version 3.0.0
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Companion-buddy runner (v7 F4 T036 - extracted from the index.ts monolith).
3
+ * The buddy fold's ONE implementation: wyrm_buddy calls it directly and the
4
+ * well-known `buddy` tool calls it when any companion param is present. Lifted
5
+ * VERBATIM behind a factory that captures the same singletons it always closed
6
+ * over (db / mcpClient / our version string for cycle-prevention).
7
+ *
8
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
9
+ * @license AGPL-3.0-or-later
10
+ */
11
+ import type { WyrmDB } from "./database.js";
12
+ import type { OutboundMcpClient } from "./mcp-client.js";
13
+ export interface BuddyRunnerDeps {
14
+ db: WyrmDB;
15
+ mcpClient: OutboundMcpClient;
16
+ version: string;
17
+ }
18
+ export declare function makeRunCompanionBuddy(deps: BuddyRunnerDeps): (args: Record<string, unknown>) => Promise<{
19
+ content: Array<{
20
+ type: string;
21
+ text: string;
22
+ }>;
23
+ }>;
24
+ //# sourceMappingURL=buddy-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buddy-runner.d.ts","sourceRoot":"","sources":["../src/buddy-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,UA0DpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAoC3H"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Companion-buddy runner (v7 F4 T036 - extracted from the index.ts monolith).
3
+ * The buddy fold's ONE implementation: wyrm_buddy calls it directly and the
4
+ * well-known `buddy` tool calls it when any companion param is present. Lifted
5
+ * VERBATIM behind a factory that captures the same singletons it always closed
6
+ * over (db / mcpClient / our version string for cycle-prevention).
7
+ *
8
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
9
+ * @license AGPL-3.0-or-later
10
+ */
11
+ import { gatherBuddyInputs, buildBuddyOutput } from "./buddy.js";
12
+ export function makeRunCompanionBuddy(deps) {
13
+ const { db, mcpClient, version } = deps;
14
+ /**
15
+ * Spec 015 — buddy federation.
16
+ *
17
+ * For each registered + enabled outbound MCP server, list its tools and
18
+ * call any whose name matches /^(buddy_|.+_buddy$)/ (case-insensitive).
19
+ * Collects up to 3 replies; budget-frugal, best-effort.
20
+ */
21
+ async function collectExternalBuddyReplies(projectId) {
22
+ const replies = [];
23
+ const servers = mcpClient.list().filter((r) => r.enabled);
24
+ // Identify ourselves for cycle prevention per Buddy Protocol v1.0 §4.
25
+ const fromBuddy = `wyrm@${version}`;
26
+ // Try to give peers context — name of the project the local buddy is on.
27
+ let projectHint;
28
+ try {
29
+ const row = db.getDatabase().prepare('SELECT name FROM projects WHERE id = ?').get(projectId);
30
+ projectHint = row?.name;
31
+ }
32
+ catch { /* fine */ }
33
+ for (const srv of servers) {
34
+ if (replies.length >= 3)
35
+ break;
36
+ let tools = null;
37
+ try {
38
+ tools = await mcpClient.listTools(srv.server_name);
39
+ }
40
+ catch {
41
+ continue;
42
+ }
43
+ if (!tools)
44
+ continue;
45
+ // Prefer well-known `buddy` (Buddy Protocol v1.0); fall back to `*_buddy` / `buddy_*` patterns.
46
+ const wellKnown = tools.find((t) => t.name.toLowerCase() === 'buddy');
47
+ const buddyTools = wellKnown
48
+ ? [wellKnown]
49
+ : tools.filter((t) => /^(buddy_|.*_buddy)$/i.test(t.name));
50
+ for (const t of buddyTools) {
51
+ if (replies.length >= 3)
52
+ break;
53
+ try {
54
+ const r = await mcpClient.call(srv.server_name, t.name, {
55
+ from_buddy: fromBuddy,
56
+ project_hint: projectHint,
57
+ size: 'compact',
58
+ });
59
+ const text = typeof r.result === 'string' ? r.result : JSON.stringify(r.result).slice(0, 800);
60
+ if (text)
61
+ replies.push({ server: srv.server_name, tool: t.name, reply: text });
62
+ }
63
+ catch { /* skip on error */ }
64
+ }
65
+ }
66
+ return replies;
67
+ }
68
+ /**
69
+ * v7 F3 (T021) — the companion buddy code path, extracted VERBATIM from the
70
+ * wyrm_buddy switch case so the buddy fold shares ONE implementation:
71
+ * `wyrm_buddy` calls it directly, and the well-known `buddy` tool calls it
72
+ * whenever any companion param (persona/persona_name/mood/federate/
73
+ * project_path — handlers/alias-adapters.ts) is present. Never a duplicate;
74
+ * the alias spine routes wyrm_buddy → buddy with an argument adapter and the
75
+ * golden replay CI proves both entries byte-equivalent.
76
+ */
77
+ async function runCompanionBuddy(args) {
78
+ const { project_path: bdPath, mood: bdMood, persona: bdPersona, persona_name: bdPersonaName, federate: bdFederate, size: bdSize } = args;
79
+ // Resolve project: explicit path > cwd > nothing
80
+ const cwd = bdPath ?? process.cwd();
81
+ const project = db.getProject(cwd);
82
+ if (!project) {
83
+ return {
84
+ content: [{
85
+ type: 'text',
86
+ text: `󱅝 I don't see *${cwd}* in my hoard yet — scan it first with \`wyrm_scan_projects\`, then come back.`,
87
+ }],
88
+ };
89
+ }
90
+ const persona = bdPersona ?? process.env.WYRM_BUDDY_DEFAULT_PERSONA ?? 'wyrm';
91
+ const inputs = gatherBuddyInputs(db.getDatabase(), project.id);
92
+ // Federate with other "*_buddy" tools on registered external MCPs.
93
+ // Skipped in quiet mode (token-frugal) and on explicit federate:false.
94
+ if (bdFederate !== false && bdMood !== 'quiet') {
95
+ try {
96
+ const externals = await collectExternalBuddyReplies(project.id);
97
+ if (externals.length > 0)
98
+ inputs.externalBuddies = externals;
99
+ }
100
+ catch {
101
+ // Federation is best-effort. Don't fail the local buddy on a remote hiccup.
102
+ }
103
+ }
104
+ const out = buildBuddyOutput(inputs, { mood: bdMood, persona, personaName: bdPersonaName, size: bdSize });
105
+ return { content: [{ type: 'text', text: out.markdown }] };
106
+ }
107
+ return runCompanionBuddy;
108
+ }
109
+ //# sourceMappingURL=buddy-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buddy-runner.js","sourceRoot":"","sources":["../src/buddy-runner.ts"],"names":[],"mappings":"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"}
package/dist/buddy.d.ts CHANGED
@@ -10,7 +10,7 @@
10
10
  * `buddy_*` is queried via `wyrm_call_external` and its output is
11
11
  * folded into the response.
12
12
  *
13
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
13
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
14
14
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
15
15
  */
16
16
  import type Database from 'better-sqlite3';
package/dist/buddy.js CHANGED
@@ -10,7 +10,7 @@
10
10
  * `buddy_*` is queried via `wyrm_call_external` and its output is
11
11
  * folded into the response.
12
12
  *
13
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
13
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
14
14
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
15
15
  */
16
16
  import { ICON } from './icons.js';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Build-time flags.
3
+ *
4
+ * `OFFICIAL_BUILD` is **false in source** (so the test suite, self-hosters, and
5
+ * `import`ing the server module stay open — no account required). The release
6
+ * pipeline bakes `true` into the *published* `dist/` artifact only (see the
7
+ * `build:official` step), so the official `wyrm-mcp` npm package is
8
+ * account-required while the AGPL source remains free. A fork can flip this back
9
+ * to false (AGPL permits it) — but only as an unbranded build under its own
10
+ * terms (see NOTICE / the Trademark Policy).
11
+ *
12
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
13
+ * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me.
14
+ */
15
+ /** True only in Ghost Protocol's official published artifact. */
16
+ export declare const OFFICIAL_BUILD = false;
17
+ //# sourceMappingURL=build-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-flags.d.ts","sourceRoot":"","sources":["../src/build-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iEAAiE;AACjE,eAAO,MAAM,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Build-time flags.
3
+ *
4
+ * `OFFICIAL_BUILD` is **false in source** (so the test suite, self-hosters, and
5
+ * `import`ing the server module stay open — no account required). The release
6
+ * pipeline bakes `true` into the *published* `dist/` artifact only (see the
7
+ * `build:official` step), so the official `wyrm-mcp` npm package is
8
+ * account-required while the AGPL source remains free. A fork can flip this back
9
+ * to false (AGPL permits it) — but only as an unbranded build under its own
10
+ * terms (see NOTICE / the Trademark Policy).
11
+ *
12
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
13
+ * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me.
14
+ */
15
+ /** True only in Ghost Protocol's official published artifact. */
16
+ export const OFFICIAL_BUILD = true;
17
+ //# sourceMappingURL=build-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-flags.js","sourceRoot":"","sources":["../src/build-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC"}
@@ -10,7 +10,7 @@
10
10
  * Also used as the body of the `wyrm_capabilities` MCP tool, the
11
11
  * `wyrm_inject_prompt` block, and the postinstall pitch.
12
12
  *
13
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
13
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
14
14
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
15
15
  */
16
16
  import type Database from 'better-sqlite3';
@@ -10,7 +10,7 @@
10
10
  * Also used as the body of the `wyrm_capabilities` MCP tool, the
11
11
  * `wyrm_inject_prompt` block, and the postinstall pitch.
12
12
  *
13
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
13
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
14
14
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
15
15
  */
16
16
  import { homedir } from 'os';
package/dist/capture.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Wyrm Capture Helpers — Classification logic for unified auto-capture.
3
3
  *
4
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
5
5
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
6
6
  */
7
7
  export type CaptureType = 'quest' | 'truth' | 'memory';
package/dist/capture.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Wyrm Capture Helpers — Classification logic for unified auto-capture.
3
3
  *
4
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
5
5
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
6
6
  */
7
7
  /**
@@ -9,7 +9,7 @@
9
9
  * ground truth flips to stale or gets superseded, the invalidation
10
10
  * cascade walks the edge graph and flags downstream decisions.
11
11
  *
12
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
12
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
13
13
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
14
14
  */
15
15
  import type Database from 'better-sqlite3';
package/dist/causality.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * ground truth flips to stale or gets superseded, the invalidation
10
10
  * cascade walks the edge graph and flags downstream decisions.
11
11
  *
12
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
12
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
13
13
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
14
14
  */
15
15
  import { emitEvent } from './events.js';
package/dist/cli.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Wyrm CLI - Beautiful command-line interface
3
3
  *
4
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
5
5
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
6
6
  * @module cli
7
7
  * @version 3.0.0
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Wyrm CLI - Beautiful command-line interface
3
3
  *
4
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
5
5
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
6
6
  * @module cli
7
7
  * @version 3.0.0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Wyrm Cloud Backup — Encrypted backup/restore to Cloudflare R2
3
3
  *
4
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
5
5
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
6
6
  * @module cloud-backup
7
7
  * @version 3.2.0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Wyrm Cloud Backup — Encrypted backup/restore to Cloudflare R2
3
3
  *
4
- * @copyright 2024-2026 Ghost Protocol (Pvt) Ltd.
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd.
5
5
  * @license AGPL-3.0-or-later — dual-licensed; commercial terms: ghosts.lk@proton.me. See LICENSE.
6
6
  * @module cloud-backup
7
7
  * @version 3.2.0