@usesigil/kit 0.7.1 → 0.8.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 (87) hide show
  1. package/README.md +24 -0
  2. package/dist/agent-analytics.d.ts.map +1 -1
  3. package/dist/agent-analytics.js +8 -23
  4. package/dist/agent-analytics.js.map +1 -1
  5. package/dist/balance-tracker.d.ts.map +1 -1
  6. package/dist/balance-tracker.js +4 -3
  7. package/dist/balance-tracker.js.map +1 -1
  8. package/dist/dashboard/from-json.d.ts +49 -0
  9. package/dist/dashboard/from-json.d.ts.map +1 -0
  10. package/dist/dashboard/from-json.js +221 -0
  11. package/dist/dashboard/from-json.js.map +1 -0
  12. package/dist/dashboard/index.d.ts +34 -3
  13. package/dist/dashboard/index.d.ts.map +1 -1
  14. package/dist/dashboard/index.js +45 -3
  15. package/dist/dashboard/index.js.map +1 -1
  16. package/dist/dashboard/reads.d.ts.map +1 -1
  17. package/dist/dashboard/reads.js +6 -3
  18. package/dist/dashboard/reads.js.map +1 -1
  19. package/dist/index.d.ts +5 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +5 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/inspector.d.ts.map +1 -1
  24. package/dist/inspector.js +1 -2
  25. package/dist/inspector.js.map +1 -1
  26. package/dist/math-utils.d.ts +15 -0
  27. package/dist/math-utils.d.ts.map +1 -1
  28. package/dist/math-utils.js +17 -0
  29. package/dist/math-utils.js.map +1 -1
  30. package/dist/portfolio-analytics.d.ts.map +1 -1
  31. package/dist/portfolio-analytics.js +5 -8
  32. package/dist/portfolio-analytics.js.map +1 -1
  33. package/dist/priority-fees.d.ts.map +1 -1
  34. package/dist/priority-fees.js +18 -1
  35. package/dist/priority-fees.js.map +1 -1
  36. package/dist/protocol-analytics.d.ts.map +1 -1
  37. package/dist/protocol-analytics.js +3 -2
  38. package/dist/protocol-analytics.js.map +1 -1
  39. package/dist/protocol-names.d.ts.map +1 -1
  40. package/dist/protocol-names.js +5 -7
  41. package/dist/protocol-names.js.map +1 -1
  42. package/dist/seal.d.ts +66 -13
  43. package/dist/seal.d.ts.map +1 -1
  44. package/dist/seal.js +136 -19
  45. package/dist/seal.js.map +1 -1
  46. package/dist/shield.d.ts.map +1 -1
  47. package/dist/shield.js +5 -3
  48. package/dist/shield.js.map +1 -1
  49. package/dist/spending-analytics.d.ts.map +1 -1
  50. package/dist/spending-analytics.js +4 -7
  51. package/dist/spending-analytics.js.map +1 -1
  52. package/dist/state-resolver.d.ts +14 -0
  53. package/dist/state-resolver.d.ts.map +1 -1
  54. package/dist/state-resolver.js +31 -1
  55. package/dist/state-resolver.js.map +1 -1
  56. package/dist/tee/providers/crossmint.d.ts +5 -8
  57. package/dist/tee/providers/crossmint.d.ts.map +1 -1
  58. package/dist/tee/providers/crossmint.js +10 -76
  59. package/dist/tee/providers/crossmint.js.map +1 -1
  60. package/dist/tee/providers/managed-verifier.d.ts +31 -0
  61. package/dist/tee/providers/managed-verifier.d.ts.map +1 -0
  62. package/dist/tee/providers/managed-verifier.js +81 -0
  63. package/dist/tee/providers/managed-verifier.js.map +1 -0
  64. package/dist/tee/providers/privy.d.ts +5 -8
  65. package/dist/tee/providers/privy.d.ts.map +1 -1
  66. package/dist/tee/providers/privy.js +10 -74
  67. package/dist/tee/providers/privy.js.map +1 -1
  68. package/dist/tee/verify.d.ts +0 -1
  69. package/dist/tee/verify.d.ts.map +1 -1
  70. package/dist/tee/verify.js +0 -1
  71. package/dist/tee/verify.js.map +1 -1
  72. package/dist/tokens.d.ts +1 -0
  73. package/dist/tokens.d.ts.map +1 -1
  74. package/dist/tokens.js +23 -1
  75. package/dist/tokens.js.map +1 -1
  76. package/dist/types.d.ts +24 -2
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/types.js +55 -9
  79. package/dist/types.js.map +1 -1
  80. package/dist/vault-analytics.d.ts.map +1 -1
  81. package/dist/vault-analytics.js +2 -3
  82. package/dist/vault-analytics.js.map +1 -1
  83. package/dist/x402/transfer-builder.d.ts +2 -5
  84. package/dist/x402/transfer-builder.d.ts.map +1 -1
  85. package/dist/x402/transfer-builder.js +12 -36
  86. package/dist/x402/transfer-builder.js.map +1 -1
  87. package/package.json +1 -1
package/README.md CHANGED
@@ -144,6 +144,30 @@ const preset = getPreset("jupiter-swap-bot");
144
144
  const fields = presetToCreateVaultFields(preset);
145
145
  ```
146
146
 
147
+ ### HTTP 402 Payments (x402)
148
+
149
+ Sigil supports the [x402 standard](https://www.x402.org/) for automatic HTTP 402 payment negotiation on Solana. Use `shieldedFetch()` to handle payment-required responses transparently — spending limits and vault policies are enforced on every payment.
150
+
151
+ ```typescript
152
+ import { shieldedFetch, createShieldedFetch } from "@usesigil/kit/x402";
153
+
154
+ // One-shot: fetch a paywalled URL, auto-negotiate payment
155
+ const response = await shieldedFetch(url, {
156
+ vault, agent, rpc, network: "devnet",
157
+ maxPaymentUsd: 1_000_000n, // $1 max per request
158
+ });
159
+
160
+ if (response.x402?.paid) {
161
+ console.log(`Paid ${response.x402.amount} to ${response.x402.payTo}`);
162
+ }
163
+
164
+ // Reusable: create a pre-configured fetch function
165
+ const fetch402 = createShieldedFetch({ vault, agent, rpc, network: "devnet" });
166
+ const res = await fetch402("https://api.example.com/premium-data");
167
+ ```
168
+
169
+ The x402 subpath exports codec functions (header parsing), payment selectors, nonce tracking, amount validation, and 5 typed error classes (`X402ParseError`, `X402PaymentError`, `X402UnsupportedError`, `X402DestinationBlockedError`, `X402ReplayError`). See [INSTRUCTIONS.md](../docs/INSTRUCTIONS.md) for the full 12-step `shieldedFetch()` flow.
170
+
147
171
  ## Error Handling
148
172
 
149
173
  All errors from `wrap()` and `executeAndConfirm()` convert to structured `AgentError`:
@@ -1 +1 @@
1
- {"version":3,"file":"agent-analytics.d.ts","sourceRoot":"","sources":["../src/agent-analytics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO/E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,eAAe,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uDAAuD;IACvD,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sEAAsE;IACtE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,kBAAkB,EACzB,YAAY,EAAE,OAAO,GACpB,YAAY,GAAG,IAAI,CAgDrB;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAmD7E;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAqBrB;AAoBD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,YAAY,EAAE,OAAO,GACpB,mBAAmB,CA2BrB"}
1
+ {"version":3,"file":"agent-analytics.d.ts","sourceRoot":"","sources":["../src/agent-analytics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQ/E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,eAAe,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uDAAuD;IACvD,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sEAAsE;IACtE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,kBAAkB,EACzB,YAAY,EAAE,OAAO,GACpB,YAAY,GAAG,IAAI,CAkCrB;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAmD7E;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAqBrB;AAoBD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,YAAY,EAAE,OAAO,GACpB,mBAAmB,CA2BrB"}
@@ -4,9 +4,10 @@
4
4
  * All functions are pure (no RPC) — they derive metrics from already-resolved
5
5
  * vault state. The dashboard Agents tab and Agent Detail page use these.
6
6
  */
7
- import { bytesToAddress } from "./state-resolver.js";
7
+ import { bytesToAddress, findAgentOverlaySlot } from "./state-resolver.js";
8
8
  import { FULL_CAPABILITY } from "./types.js";
9
9
  import { computeHerfindahl } from "./math-utils.js";
10
+ import { computeUtilizationPercent } from "./math-utils.js";
10
11
  // ─── getAgentProfile ─────────────────────────────────────────────────────────
11
12
  /**
12
13
  * Build a complete profile for a single agent within a vault.
@@ -22,25 +23,11 @@ export function getAgentProfile(state, agentAddress) {
22
23
  cap: 0n,
23
24
  remaining: 0n,
24
25
  };
25
- let lifetimeSpend = 0n;
26
- let lifetimeTxCount = 0n;
27
- if (overlay) {
28
- const slotIdx = overlay.entries.findIndex((e) => {
29
- try {
30
- return bytesToAddress(e.agent) === agentAddress;
31
- }
32
- catch {
33
- return false;
34
- }
35
- });
36
- if (slotIdx >= 0 && slotIdx < overlay.lifetimeSpend.length) {
37
- lifetimeSpend = overlay.lifetimeSpend[slotIdx];
38
- }
39
- if (slotIdx >= 0 && slotIdx < (overlay.lifetimeTxCount?.length ?? 0)) {
40
- lifetimeTxCount = overlay.lifetimeTxCount[slotIdx];
41
- }
42
- }
43
- const capUtilization = budget.cap > 0n ? Number((budget.spent24h * 10000n) / budget.cap) / 100 : 0;
26
+ // PR 3.B F038: use extracted helper instead of inline overlay lookup
27
+ const overlaySlot = findAgentOverlaySlot(overlay, agentAddress);
28
+ const lifetimeSpend = overlaySlot?.lifetimeSpend ?? 0n;
29
+ const lifetimeTxCount = overlaySlot?.lifetimeTxCount ?? 0n;
30
+ const capUtilization = computeUtilizationPercent(budget.spent24h, budget.cap);
44
31
  return {
45
32
  address: agentAddress,
46
33
  capability: agentEntry.capability,
@@ -83,9 +70,7 @@ export function getAgentLeaderboard(state) {
83
70
  lifetimeSpend = overlay.lifetimeSpend[slotIdx];
84
71
  }
85
72
  }
86
- const capUtilization = budget.cap > 0n
87
- ? Number((budget.spent24h * 10000n) / budget.cap) / 100
88
- : 0;
73
+ const capUtilization = computeUtilizationPercent(budget.spent24h, budget.cap);
89
74
  return {
90
75
  address: agentEntry.pubkey,
91
76
  rank: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-analytics.js","sourceRoot":"","sources":["../src/agent-analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-analytics.js","sourceRoot":"","sources":["../src/agent-analytics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"balance-tracker.d.ts","sourceRoot":"","sources":["../src/balance-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5D,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,KAAK,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,GAAG,QAAQ,CAkBX;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,QAAQ,CAAC,CAGnB;AAiBD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,YAAY,EAAE,CAAC,CA2BzB;AAID;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,UAAU,SAAM;IAI5B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAkB3D,WAAW,IAAI,eAAe,GAAG,IAAI;IAIrC,QAAQ,IAAI,eAAe,GAAG,IAAI;IAMlC,SAAS,IAAI,eAAe,GAAG,IAAI;IAMnC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,MAAM;IAmBhB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;CA0BpD;AAID;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,oBAAoB,EAC3B,OAAO,GAAE,OAAwB,GAChC,UAAU,CAyBZ"}
1
+ {"version":3,"file":"balance-tracker.d.ts","sourceRoot":"","sources":["../src/balance-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAO5D,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,KAAK,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,GAAG,QAAQ,CAiBX;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,QAAQ,CAAC,CAGnB;AAgBD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,YAAY,EAAE,CAAC,CA2BzB;AAID;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,UAAU,SAAM;IAI5B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAkB3D,WAAW,IAAI,eAAe,GAAG,IAAI;IAIrC,QAAQ,IAAI,eAAe,GAAG,IAAI;IAMlC,SAAS,IAAI,eAAe,GAAG,IAAI;IAMnC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,MAAM;IAmBhB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;CA0BpD;AAID;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,oBAAoB,EAC3B,OAAO,GAAE,OAAwB,GAChC,UAAU,CAwBZ"}
@@ -8,6 +8,7 @@
8
8
  import { isStablecoinMint } from "./types.js";
9
9
  import { resolveVaultStateForOwner } from "./state-resolver.js";
10
10
  import { resolveToken } from "./tokens.js";
11
+ import { computeUtilizationPercent } from "./math-utils.js";
11
12
  // ─── On-chain P&L (lifetime) ────────────────────────────────────────────────
12
13
  /**
13
14
  * Pure P&L computation from an already-resolved vault state. No RPC.
@@ -22,7 +23,7 @@ export function getVaultPnLFromState(state) {
22
23
  const currentBalance = state.stablecoinBalances.usdc + state.stablecoinBalances.usdt;
23
24
  const netInvestment = totalDeposited - totalWithdrawn;
24
25
  const pnl = currentBalance - netInvestment;
25
- const pnlPercent = netInvestment > 0n ? Number((pnl * 10000n) / netInvestment) / 100 : 0;
26
+ const pnlPercent = computeUtilizationPercent(pnl, netInvestment);
26
27
  return {
27
28
  totalDeposited,
28
29
  totalWithdrawn,
@@ -46,7 +47,7 @@ export async function getVaultPnL(rpc, vault, network = "mainnet-beta") {
46
47
  return getVaultPnLFromState(state);
47
48
  }
48
49
  // ─── Token balance query ────────────────────────────────────────────────────
49
- const TOKEN_PROGRAM_ADDRESS = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
50
+ import { TOKEN_PROGRAM_ADDRESS } from "./types.js";
50
51
  /**
51
52
  * Fetch all SPL token balances for a vault PDA.
52
53
  * Uses getTokenAccountsByOwner with jsonParsed encoding.
@@ -193,7 +194,7 @@ export function getBalancePnL(store, network = "mainnet-beta") {
193
194
  const startBalance = sumStablecoins(baseline.balances);
194
195
  const currentBalance = sumStablecoins(latest.balances);
195
196
  const delta = currentBalance - startBalance;
196
- const percentChange = startBalance > 0n ? Number((delta * 10000n) / startBalance) / 100 : 0;
197
+ const percentChange = computeUtilizationPercent(delta, startBalance);
197
198
  return { startBalance, currentBalance, delta, percentChange };
198
199
  }
199
200
  //# sourceMappingURL=balance-tracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance-tracker.js","sourceRoot":"","sources":["../src/balance-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balance-tracker.js","sourceRoot":"","sources":["../src/balance-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * fromJSON — MCP round-trip deserialization for dashboard types.
3
+ *
4
+ * PR 3.A: Every toJSON() in dashboard/types.ts now has a corresponding
5
+ * fromJSON() here. AI agents consuming Sigil via MCP receive JSON from tool
6
+ * responses and pass data back to subsequent tool calls. Without fromJSON,
7
+ * agents cannot reconstruct bigints from strings — breaking the round-trip.
8
+ *
9
+ * Pattern: standalone functions (not static methods) for tree-shaking.
10
+ * Each function accepts a Serialized* object and returns the live type
11
+ * with bigints, typed addresses, and full toJSON() methods restored.
12
+ */
13
+ import type { Address } from "@solana/kit";
14
+ import type { VaultState, AgentData, SpendingData, ActivityRow, ActivityData, HealthData, PolicyData, OverviewData, TxResult, SerializedVaultState, SerializedAgentData, SerializedSpendingData, SerializedActivityRow, SerializedActivityData, SerializedHealthData, SerializedPolicyData, SerializedOverviewData, SerializedDiscoveredVault } from "./types.js";
15
+ /** Rehydrate a TxResult from its JSON representation. */
16
+ export declare function txResultFromJSON(data: {
17
+ signature: string;
18
+ }): TxResult;
19
+ /** Rehydrate a VaultState from its serialized JSON representation. */
20
+ export declare function vaultStateFromJSON(data: SerializedVaultState): VaultState;
21
+ /** Rehydrate an AgentData from its serialized JSON representation. */
22
+ export declare function agentDataFromJSON(data: SerializedAgentData): AgentData;
23
+ /** Rehydrate a SpendingData from its serialized JSON representation. */
24
+ export declare function spendingDataFromJSON(data: SerializedSpendingData): SpendingData;
25
+ /** Rehydrate an ActivityRow from its serialized JSON representation. */
26
+ export declare function activityRowFromJSON(data: SerializedActivityRow): ActivityRow;
27
+ /** Rehydrate an ActivityData from its serialized JSON representation. */
28
+ export declare function activityDataFromJSON(data: SerializedActivityData): ActivityData;
29
+ /** Rehydrate a HealthData from its serialized JSON representation. */
30
+ export declare function healthDataFromJSON(data: SerializedHealthData): HealthData;
31
+ /** Rehydrate a PolicyData from its serialized JSON representation. */
32
+ export declare function policyDataFromJSON(data: SerializedPolicyData): PolicyData;
33
+ /** Rehydrate a DiscoveredVault from its serialized JSON representation. */
34
+ export declare function discoveredVaultFromJSON(data: SerializedDiscoveredVault): {
35
+ address: Address;
36
+ vaultId: bigint;
37
+ status: "active" | "frozen";
38
+ agentCount: number;
39
+ toJSON: () => SerializedDiscoveredVault;
40
+ };
41
+ /**
42
+ * Rehydrate the full OverviewData from its serialized JSON representation.
43
+ *
44
+ * This is the primary MCP round-trip entry point — AI agents receive
45
+ * overview JSON from the `sigil_get_overview` tool and pass it back to
46
+ * subsequent tool calls.
47
+ */
48
+ export declare function overviewDataFromJSON(data: SerializedOverviewData): OverviewData;
49
+ //# sourceMappingURL=from-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-json.d.ts","sourceRoot":"","sources":["../../src/dashboard/from-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EAE1B,MAAM,YAAY,CAAC;AAoCpB,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAKtE;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CA+BzE;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAiBtE;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,sBAAsB,GAC3B,YAAY,CAkBd;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,WAAW,CAc5E;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,sBAAsB,GAC3B,YAAY,CAWd;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAezE;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAuBzE;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,yBAAyB;;;YAI5C,QAAQ,GAAG,QAAQ;;;EAI7C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,sBAAsB,GAC3B,YAAY,CAUd"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * fromJSON — MCP round-trip deserialization for dashboard types.
3
+ *
4
+ * PR 3.A: Every toJSON() in dashboard/types.ts now has a corresponding
5
+ * fromJSON() here. AI agents consuming Sigil via MCP receive JSON from tool
6
+ * responses and pass data back to subsequent tool calls. Without fromJSON,
7
+ * agents cannot reconstruct bigints from strings — breaking the round-trip.
8
+ *
9
+ * Pattern: standalone functions (not static methods) for tree-shaking.
10
+ * Each function accepts a Serialized* object and returns the live type
11
+ * with bigints, typed addresses, and full toJSON() methods restored.
12
+ */
13
+ // ─── Helpers ────────────────────────────────────────────────────────────────
14
+ /**
15
+ * Safe bigint parse — returns 0n for empty/undefined/null values.
16
+ *
17
+ * C2 fix (silent-failure-hunter): logs a warning on parse failure instead
18
+ * of silently returning 0n. AI agents receiving corrupted MCP data (e.g.,
19
+ * "$500" instead of "500000000") will see the warning in logs rather than
20
+ * silently operating on zeroed financial data.
21
+ */
22
+ let biWarnCount = 0;
23
+ function bi(s) {
24
+ if (!s)
25
+ return 0n;
26
+ try {
27
+ return BigInt(s);
28
+ }
29
+ catch {
30
+ if (biWarnCount < 10) {
31
+ biWarnCount++;
32
+ console.warn(`[@usesigil/kit/fromJSON] Failed to parse bigint from "${s.slice(0, 50)}" — returning 0n. ` +
33
+ `This may indicate corrupted MCP data.`);
34
+ }
35
+ return 0n;
36
+ }
37
+ }
38
+ /** Cast string to Address (branded Kit type). */
39
+ function addr(s) {
40
+ return s;
41
+ }
42
+ // ─── fromJSON builders ──────────────────────────────────────────────────────
43
+ /** Rehydrate a TxResult from its JSON representation. */
44
+ export function txResultFromJSON(data) {
45
+ return {
46
+ signature: data.signature,
47
+ toJSON: () => ({ signature: data.signature }),
48
+ };
49
+ }
50
+ /** Rehydrate a VaultState from its serialized JSON representation. */
51
+ export function vaultStateFromJSON(data) {
52
+ const result = {
53
+ vault: {
54
+ address: addr(data.vault.address),
55
+ status: data.vault.status,
56
+ owner: addr(data.vault.owner),
57
+ agentCount: data.vault.agentCount,
58
+ openPositions: data.vault.openPositions,
59
+ totalVolume: bi(data.vault.totalVolume),
60
+ totalFees: bi(data.vault.totalFees),
61
+ },
62
+ balance: {
63
+ total: bi(data.balance.total),
64
+ tokens: data.balance.tokens.map((t) => ({
65
+ mint: addr(t.mint),
66
+ amount: bi(t.amount),
67
+ decimals: t.decimals,
68
+ })),
69
+ },
70
+ pnl: {
71
+ percent: data.pnl.percent,
72
+ absolute: bi(data.pnl.absolute),
73
+ },
74
+ health: {
75
+ level: data.health.level,
76
+ alertCount: data.health.alertCount,
77
+ checks: data.health.checks,
78
+ },
79
+ toJSON: () => data,
80
+ };
81
+ return result;
82
+ }
83
+ /** Rehydrate an AgentData from its serialized JSON representation. */
84
+ export function agentDataFromJSON(data) {
85
+ return {
86
+ address: addr(data.address),
87
+ status: data.status,
88
+ capabilityLabel: data.capabilityLabel,
89
+ capability: data.capability,
90
+ spending: {
91
+ amount: bi(data.spending.amount),
92
+ limit: bi(data.spending.limit),
93
+ percent: data.spending.percent,
94
+ },
95
+ lastActionType: data.lastActionType,
96
+ lastActionProtocol: data.lastActionProtocol,
97
+ lastActionTimestamp: data.lastActionTimestamp,
98
+ blockedCount24h: data.blockedCount24h,
99
+ toJSON: () => data,
100
+ };
101
+ }
102
+ /** Rehydrate a SpendingData from its serialized JSON representation. */
103
+ export function spendingDataFromJSON(data) {
104
+ return {
105
+ global: {
106
+ today: bi(data.global.today),
107
+ cap: bi(data.global.cap),
108
+ remaining: bi(data.global.remaining),
109
+ percent: data.global.percent,
110
+ rundownMs: data.global.rundownMs,
111
+ },
112
+ chart: data.chart,
113
+ protocolBreakdown: data.protocolBreakdown.map((p) => ({
114
+ name: p.name,
115
+ programId: addr(p.programId),
116
+ amount: bi(p.amount),
117
+ percent: p.percent,
118
+ })),
119
+ toJSON: () => data,
120
+ };
121
+ }
122
+ /** Rehydrate an ActivityRow from its serialized JSON representation. */
123
+ export function activityRowFromJSON(data) {
124
+ return {
125
+ id: data.id,
126
+ timestamp: data.timestamp,
127
+ type: data.type,
128
+ protocol: data.protocol,
129
+ protocolId: addr(data.protocolId),
130
+ agent: addr(data.agent),
131
+ amount: bi(data.amount),
132
+ status: data.status,
133
+ reason: data.reason,
134
+ txSignature: data.txSignature,
135
+ toJSON: () => data,
136
+ };
137
+ }
138
+ /** Rehydrate an ActivityData from its serialized JSON representation. */
139
+ export function activityDataFromJSON(data) {
140
+ return {
141
+ rows: data.rows.map(activityRowFromJSON),
142
+ summary: {
143
+ total: data.summary.total,
144
+ approved: data.summary.approved,
145
+ blocked: data.summary.blocked,
146
+ volume: bi(data.summary.volume),
147
+ },
148
+ toJSON: () => data,
149
+ };
150
+ }
151
+ /** Rehydrate a HealthData from its serialized JSON representation. */
152
+ export function healthDataFromJSON(data) {
153
+ return {
154
+ level: data.level,
155
+ blockedCount24h: data.blockedCount24h,
156
+ checks: data.checks,
157
+ lastBlock: data.lastBlock
158
+ ? {
159
+ agent: addr(data.lastBlock.agent),
160
+ reason: data.lastBlock.reason,
161
+ amount: bi(data.lastBlock.amount),
162
+ timestamp: data.lastBlock.timestamp,
163
+ }
164
+ : undefined,
165
+ toJSON: () => data,
166
+ };
167
+ }
168
+ /** Rehydrate a PolicyData from its serialized JSON representation. */
169
+ export function policyDataFromJSON(data) {
170
+ return {
171
+ dailyCap: bi(data.dailyCap),
172
+ maxPerTrade: bi(data.maxPerTrade),
173
+ approvedApps: data.approvedApps.map((a) => ({
174
+ name: a.name,
175
+ programId: addr(a.programId),
176
+ })),
177
+ protocolMode: data.protocolMode,
178
+ hasProtocolCaps: data.hasProtocolCaps,
179
+ protocolCaps: data.protocolCaps.map(bi),
180
+ canOpenPositions: data.canOpenPositions,
181
+ maxConcurrentPositions: data.maxConcurrentPositions,
182
+ maxSlippageBps: data.maxSlippageBps,
183
+ leverageLimitBps: data.leverageLimitBps,
184
+ allowedDestinations: data.allowedDestinations.map(addr),
185
+ developerFeeRate: data.developerFeeRate,
186
+ sessionExpirySlots: bi(data.sessionExpirySlots),
187
+ timelockSeconds: data.timelockSeconds,
188
+ policyVersion: bi(data.policyVersion),
189
+ pendingUpdate: data.pendingUpdate,
190
+ toJSON: () => data,
191
+ };
192
+ }
193
+ /** Rehydrate a DiscoveredVault from its serialized JSON representation. */
194
+ export function discoveredVaultFromJSON(data) {
195
+ return {
196
+ address: addr(data.address),
197
+ vaultId: bi(data.vaultId),
198
+ status: data.status,
199
+ agentCount: data.agentCount,
200
+ toJSON: () => data,
201
+ };
202
+ }
203
+ /**
204
+ * Rehydrate the full OverviewData from its serialized JSON representation.
205
+ *
206
+ * This is the primary MCP round-trip entry point — AI agents receive
207
+ * overview JSON from the `sigil_get_overview` tool and pass it back to
208
+ * subsequent tool calls.
209
+ */
210
+ export function overviewDataFromJSON(data) {
211
+ return {
212
+ vault: vaultStateFromJSON(data.vault),
213
+ agents: data.agents.map(agentDataFromJSON),
214
+ spending: spendingDataFromJSON(data.spending),
215
+ health: healthDataFromJSON(data.health),
216
+ policy: policyDataFromJSON(data.policy),
217
+ activity: data.activity.map(activityRowFromJSON),
218
+ toJSON: () => data,
219
+ };
220
+ }
221
+ //# sourceMappingURL=from-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-json.js","sourceRoot":"","sources":["../../src/dashboard/from-json.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import type { CapabilityTier, UsdBaseUnits } from "../types.js";
17
17
  import type { OwnerClientConfig, TxResult, TxOpts, VaultState, AgentData, SpendingData, ActivityData, ActivityFilters, HealthData, PolicyData, PolicyChanges, ConstraintEntry, DiscoveredVault, OverviewData, GetOverviewOptions } from "./types.js";
18
18
  import * as constraintReads from "./constraint-reads.js";
19
19
  export type { OwnerClientConfig, TxResult, TxOpts, VaultState, AgentData, SpendingData, ActivityData, ActivityRow, ActivityFilters, ActivityType, HealthData, PolicyData, PolicyChanges, ConstraintEntry, DiscoveredVault, DxError, ChartPoint, TokenBalance, HealthCheck, ProtocolBreakdownEntry, OverviewContext, OverviewData, GetOverviewOptions, } from "./types.js";
20
+ export { txResultFromJSON, vaultStateFromJSON, agentDataFromJSON, spendingDataFromJSON, activityRowFromJSON, activityDataFromJSON, healthDataFromJSON, policyDataFromJSON, discoveredVaultFromJSON, overviewDataFromJSON, } from "./from-json.js";
20
21
  export { buildVaultState, buildAgents, buildSpending, buildHealth, buildPolicy, buildActivityRows, DEFAULT_OVERVIEW_ACTIVITY_LIMIT, } from "./reads.js";
21
22
  export type { ConstraintsPdaInfo } from "./constraint-reads.js";
22
23
  export { findConstraintsPda, findPendingConstraintsPda, findPendingCloseConstraintsPda, fetchConstraints, fetchPendingConstraintsUpdate, fetchPendingCloseConstraints, } from "./constraint-reads.js";
@@ -27,7 +28,38 @@ export { findConstraintsPda, findPendingConstraintsPda, findPendingCloseConstrai
27
28
  * - Stateless: every read fetches fresh from RPC. No internal cache.
28
29
  * - bigint only: all amounts are 6-decimal USD bigint. No formatted strings.
29
30
  * - JSON-serializable: every return type has toJSON() for MCP/REST.
30
- * - Single-vault scope: one OwnerClient per vault.
31
+ * - Single-vault scope: one client per vault.
32
+ */
33
+ /**
34
+ * Create an owner-side vault management client.
35
+ *
36
+ * Returns a plain object with closure-bound methods — NOT a class. This is
37
+ * the recommended way to create an owner client for dashboard/admin use.
38
+ *
39
+ * Pattern matches viem's `createPublicClient()` — functional primitives as
40
+ * the real API, factory for ergonomics (context carrying).
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * import { createOwnerClient } from "@usesigil/kit/dashboard";
45
+ *
46
+ * const client = createOwnerClient({ rpc, vault, owner: signer, network: "devnet" });
47
+ * const state = await client.getVaultState();
48
+ * await client.freezeVault();
49
+ * ```
50
+ */
51
+ export declare function createOwnerClient(config: OwnerClientConfig): OwnerClient;
52
+ /**
53
+ * @deprecated Use `createOwnerClient(config)` instead. This class will be
54
+ * removed at v1.0.
55
+ *
56
+ * Migration:
57
+ * ```ts
58
+ * // Before:
59
+ * const client = new OwnerClient({ rpc, vault, owner: signer, network: "devnet" });
60
+ * // After:
61
+ * const client = createOwnerClient({ rpc, vault, owner: signer, network: "devnet" });
62
+ * ```
31
63
  */
32
64
  export declare class OwnerClient {
33
65
  readonly rpc: Rpc<SolanaRpcApi>;
@@ -95,8 +127,7 @@ export declare class OwnerClient {
95
127
  /**
96
128
  * Timelocked — queue/apply/cancel pattern.
97
129
  * Direct update_agent_permissions deleted (TOCTOU fix).
98
- */
99
- /**
130
+ *
100
131
  * @param spendingLimit — per-agent 24h cap in 6-decimal USD. Pass 0n for unlimited (NOT recommended).
101
132
  */
102
133
  queueAgentPermissions(agent: Address, permissions: CapabilityTier, spendingLimit: UsdBaseUnits, opts?: TxOpts): Promise<TxResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ import * as reads from "./reads.js";
18
18
  import * as mutations from "./mutations.js";
19
19
  import * as constraintReads from "./constraint-reads.js";
20
20
  import { discoverVaults as discoverVaultsImpl } from "./discover.js";
21
+ // ─── fromJSON — MCP round-trip deserialization (PR 3.A) ─────────────────────
22
+ export { txResultFromJSON, vaultStateFromJSON, agentDataFromJSON, spendingDataFromJSON, activityRowFromJSON, activityDataFromJSON, healthDataFromJSON, policyDataFromJSON, discoveredVaultFromJSON, overviewDataFromJSON, } from "./from-json.js";
21
23
  // ─── Overview composition helpers (S14) ──────────────────────────────────────
22
24
  // Exported for advanced consumers (custom dashboards, MCP servers, test
23
25
  // harnesses) that want to pre-fetch raw state once and compose views
@@ -35,7 +37,48 @@ export { findConstraintsPda, findPendingConstraintsPda, findPendingCloseConstrai
35
37
  * - Stateless: every read fetches fresh from RPC. No internal cache.
36
38
  * - bigint only: all amounts are 6-decimal USD bigint. No formatted strings.
37
39
  * - JSON-serializable: every return type has toJSON() for MCP/REST.
38
- * - Single-vault scope: one OwnerClient per vault.
40
+ * - Single-vault scope: one client per vault.
41
+ */
42
+ /**
43
+ * Create an owner-side vault management client.
44
+ *
45
+ * Returns a plain object with closure-bound methods — NOT a class. This is
46
+ * the recommended way to create an owner client for dashboard/admin use.
47
+ *
48
+ * Pattern matches viem's `createPublicClient()` — functional primitives as
49
+ * the real API, factory for ergonomics (context carrying).
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * import { createOwnerClient } from "@usesigil/kit/dashboard";
54
+ *
55
+ * const client = createOwnerClient({ rpc, vault, owner: signer, network: "devnet" });
56
+ * const state = await client.getVaultState();
57
+ * await client.freezeVault();
58
+ * ```
59
+ */
60
+ export function createOwnerClient(config) {
61
+ // The factory delegates to the class internally. The class IS the implementation
62
+ // and carries all 24+ methods correctly including constraint reads, static
63
+ // discovery, and the full mutation surface. At v1.0 when the class is removed,
64
+ // the factory's internal implementation will be extracted into closure-bound
65
+ // methods (the class body becomes the factory body). For now, the factory is
66
+ // the API migration path: consumers switch `new OwnerClient(...)` →
67
+ // `createOwnerClient(...)` and then at v1.0 the class disappears with zero
68
+ // consumer-facing change.
69
+ return new OwnerClient(config);
70
+ }
71
+ /**
72
+ * @deprecated Use `createOwnerClient(config)` instead. This class will be
73
+ * removed at v1.0.
74
+ *
75
+ * Migration:
76
+ * ```ts
77
+ * // Before:
78
+ * const client = new OwnerClient({ rpc, vault, owner: signer, network: "devnet" });
79
+ * // After:
80
+ * const client = createOwnerClient({ rpc, vault, owner: signer, network: "devnet" });
81
+ * ```
39
82
  */
40
83
  export class OwnerClient {
41
84
  rpc;
@@ -151,8 +194,7 @@ export class OwnerClient {
151
194
  /**
152
195
  * Timelocked — queue/apply/cancel pattern.
153
196
  * Direct update_agent_permissions deleted (TOCTOU fix).
154
- */
155
- /**
197
+ *
156
198
  * @param spendingLimit — per-agent 24h cap in 6-decimal USD. Pass 0n for unlimited (NOT recommended).
157
199
  */
158
200
  async queueAgentPermissions(agent, permissions, spendingLimit, opts) {