aptos-x402 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/README.md +114 -6
  2. package/dist/components/ui/button.d.ts +11 -0
  3. package/dist/components/ui/button.d.ts.map +1 -0
  4. package/dist/components/ui/button.jsx +34 -0
  5. package/dist/components/ui/button.jsx.map +1 -0
  6. package/dist/components/ui/select.d.ts +16 -0
  7. package/dist/components/ui/select.d.ts.map +1 -0
  8. package/dist/components/ui/select.jsx +62 -0
  9. package/dist/components/ui/select.jsx.map +1 -0
  10. package/dist/lib/aptos-utils.d.ts.map +1 -0
  11. package/dist/lib/aptos-utils.js.map +1 -0
  12. package/dist/lib/arc8004/chain/index.d.ts +10 -0
  13. package/dist/lib/arc8004/chain/index.d.ts.map +1 -0
  14. package/dist/lib/arc8004/chain/index.js +9 -0
  15. package/dist/lib/arc8004/chain/index.js.map +1 -0
  16. package/dist/lib/arc8004/chain/types.d.ts +190 -0
  17. package/dist/lib/arc8004/chain/types.d.ts.map +1 -0
  18. package/dist/lib/arc8004/chain/types.js +278 -0
  19. package/dist/lib/arc8004/chain/types.js.map +1 -0
  20. package/dist/lib/arc8004/identity/agent-card.d.ts.map +1 -0
  21. package/dist/lib/arc8004/identity/agent-card.js.map +1 -0
  22. package/dist/lib/arc8004/identity/index.d.ts.map +1 -0
  23. package/dist/lib/arc8004/identity/index.js.map +1 -0
  24. package/dist/{arc8004 → lib/arc8004}/identity/registry.d.ts +16 -3
  25. package/dist/lib/arc8004/identity/registry.d.ts.map +1 -0
  26. package/dist/{arc8004 → lib/arc8004}/identity/registry.js +164 -14
  27. package/dist/lib/arc8004/identity/registry.js.map +1 -0
  28. package/dist/lib/arc8004/index.d.ts +49 -0
  29. package/dist/lib/arc8004/index.d.ts.map +1 -0
  30. package/dist/lib/arc8004/index.js +54 -0
  31. package/dist/lib/arc8004/index.js.map +1 -0
  32. package/dist/lib/arc8004/reputation/index.d.ts.map +1 -0
  33. package/dist/lib/arc8004/reputation/index.js.map +1 -0
  34. package/dist/lib/arc8004/reputation/registry.d.ts.map +1 -0
  35. package/dist/{arc8004 → lib/arc8004}/reputation/registry.js +4 -4
  36. package/dist/lib/arc8004/reputation/registry.js.map +1 -0
  37. package/dist/lib/arc8004/reputation/scoring.d.ts.map +1 -0
  38. package/dist/lib/arc8004/reputation/scoring.js.map +1 -0
  39. package/dist/lib/arc8004/storage/index.d.ts +44 -0
  40. package/dist/lib/arc8004/storage/index.d.ts.map +1 -0
  41. package/dist/lib/arc8004/storage/index.js +76 -0
  42. package/dist/lib/arc8004/storage/index.js.map +1 -0
  43. package/dist/lib/arc8004/storage/memory.d.ts +114 -0
  44. package/dist/lib/arc8004/storage/memory.d.ts.map +1 -0
  45. package/dist/lib/arc8004/storage/memory.js +458 -0
  46. package/dist/lib/arc8004/storage/memory.js.map +1 -0
  47. package/dist/lib/arc8004/storage/postgres.d.ts +93 -0
  48. package/dist/lib/arc8004/storage/postgres.d.ts.map +1 -0
  49. package/dist/lib/arc8004/storage/postgres.js +637 -0
  50. package/dist/lib/arc8004/storage/postgres.js.map +1 -0
  51. package/dist/lib/arc8004/storage/types.d.ts +201 -0
  52. package/dist/lib/arc8004/storage/types.d.ts.map +1 -0
  53. package/dist/lib/arc8004/storage/types.js +12 -0
  54. package/dist/lib/arc8004/storage/types.js.map +1 -0
  55. package/dist/{arc8004 → lib/arc8004}/types.d.ts +97 -42
  56. package/dist/lib/arc8004/types.d.ts.map +1 -0
  57. package/dist/lib/arc8004/types.js +75 -0
  58. package/dist/lib/arc8004/types.js.map +1 -0
  59. package/dist/lib/arc8004/validation/index.d.ts.map +1 -0
  60. package/dist/lib/arc8004/validation/index.js.map +1 -0
  61. package/dist/lib/arc8004/validation/registry.d.ts.map +1 -0
  62. package/dist/{arc8004 → lib/arc8004}/validation/registry.js +4 -4
  63. package/dist/lib/arc8004/validation/registry.js.map +1 -0
  64. package/dist/{db → lib/db}/index.d.ts +2 -0
  65. package/dist/lib/db/index.d.ts.map +1 -0
  66. package/dist/lib/db/index.js +33 -0
  67. package/dist/lib/db/index.js.map +1 -0
  68. package/dist/lib/db/schema.d.ts.map +1 -0
  69. package/dist/lib/db/schema.js.map +1 -0
  70. package/dist/lib/facilitator-client.d.ts.map +1 -0
  71. package/dist/lib/facilitator-client.js.map +1 -0
  72. package/dist/lib/index.d.ts.map +1 -0
  73. package/dist/lib/index.js.map +1 -0
  74. package/dist/lib/utils.d.ts.map +1 -0
  75. package/dist/lib/utils.js.map +1 -0
  76. package/dist/lib/x402-axios.d.ts.map +1 -0
  77. package/dist/{x402-axios.js → lib/x402-axios.js} +8 -4
  78. package/dist/lib/x402-axios.js.map +1 -0
  79. package/dist/lib/x402-middleware.d.ts.map +1 -0
  80. package/dist/lib/x402-middleware.js.map +1 -0
  81. package/dist/lib/x402-protocol-types.d.ts.map +1 -0
  82. package/dist/lib/x402-protocol-types.js.map +1 -0
  83. package/dist/lib/x402-types.d.ts.map +1 -0
  84. package/dist/{x402-types.js.map → lib/x402-types.js.map} +1 -1
  85. package/dist/src/arc8004/client.d.ts +313 -0
  86. package/dist/src/arc8004/client.d.ts.map +1 -0
  87. package/dist/src/arc8004/client.js +586 -0
  88. package/dist/src/arc8004/client.js.map +1 -0
  89. package/dist/src/arc8004/index.d.ts +54 -0
  90. package/dist/src/arc8004/index.d.ts.map +1 -0
  91. package/dist/src/arc8004/index.js +57 -0
  92. package/dist/src/arc8004/index.js.map +1 -0
  93. package/dist/src/components/ui/shadcn-io/code-block/index.d.ts +67 -0
  94. package/dist/src/components/ui/shadcn-io/code-block/index.d.ts.map +1 -0
  95. package/dist/src/components/ui/shadcn-io/code-block/index.jsx +227 -0
  96. package/dist/src/components/ui/shadcn-io/code-block/index.jsx.map +1 -0
  97. package/dist/src/components/ui/shadcn-io/code-block/server.d.ts +10 -0
  98. package/dist/src/components/ui/shadcn-io/code-block/server.d.ts.map +1 -0
  99. package/dist/src/components/ui/shadcn-io/code-block/server.jsx +34 -0
  100. package/dist/src/components/ui/shadcn-io/code-block/server.jsx.map +1 -0
  101. package/dist/src/index.d.ts +14 -0
  102. package/dist/src/index.d.ts.map +1 -0
  103. package/dist/src/index.js +23 -0
  104. package/dist/src/index.js.map +1 -0
  105. package/dist/src/server/index.d.ts +8 -0
  106. package/dist/src/server/index.d.ts.map +1 -0
  107. package/dist/src/server/index.js +8 -0
  108. package/dist/src/server/index.js.map +1 -0
  109. package/dist/src/server/next.d.ts +44 -0
  110. package/dist/src/server/next.d.ts.map +1 -0
  111. package/dist/src/server/next.js +220 -0
  112. package/dist/src/server/next.js.map +1 -0
  113. package/dist/src/types/config.d.ts +43 -0
  114. package/dist/src/types/config.d.ts.map +1 -0
  115. package/dist/src/types/config.js +6 -0
  116. package/dist/src/types/config.js.map +1 -0
  117. package/dist/src/types/index.d.ts +9 -0
  118. package/dist/src/types/index.d.ts.map +1 -0
  119. package/dist/src/types/index.js +7 -0
  120. package/dist/src/types/index.js.map +1 -0
  121. package/dist/src/types/protocol.d.ts +119 -0
  122. package/dist/src/types/protocol.d.ts.map +1 -0
  123. package/dist/src/types/protocol.js +12 -0
  124. package/dist/src/types/protocol.js.map +1 -0
  125. package/dist/tsconfig.sdk.tsbuildinfo +1 -0
  126. package/package.json +12 -8
  127. package/dist/agent/data-extractor.d.ts +0 -13
  128. package/dist/agent/data-extractor.d.ts.map +0 -1
  129. package/dist/agent/data-extractor.js +0 -191
  130. package/dist/agent/data-extractor.js.map +0 -1
  131. package/dist/agent/executor.d.ts +0 -27
  132. package/dist/agent/executor.d.ts.map +0 -1
  133. package/dist/agent/executor.js +0 -245
  134. package/dist/agent/executor.js.map +0 -1
  135. package/dist/agent/gemini-interpreter.d.ts +0 -10
  136. package/dist/agent/gemini-interpreter.d.ts.map +0 -1
  137. package/dist/agent/gemini-interpreter.js +0 -142
  138. package/dist/agent/gemini-interpreter.js.map +0 -1
  139. package/dist/agent/github-models.d.ts +0 -30
  140. package/dist/agent/github-models.d.ts.map +0 -1
  141. package/dist/agent/github-models.js +0 -114
  142. package/dist/agent/github-models.js.map +0 -1
  143. package/dist/agent/llm-chat.d.ts +0 -16
  144. package/dist/agent/llm-chat.d.ts.map +0 -1
  145. package/dist/agent/llm-chat.js +0 -181
  146. package/dist/agent/llm-chat.js.map +0 -1
  147. package/dist/agent/wallet.d.ts +0 -32
  148. package/dist/agent/wallet.d.ts.map +0 -1
  149. package/dist/agent/wallet.js +0 -92
  150. package/dist/agent/wallet.js.map +0 -1
  151. package/dist/aptos-utils.d.ts.map +0 -1
  152. package/dist/aptos-utils.js.map +0 -1
  153. package/dist/arc8004/identity/agent-card.d.ts.map +0 -1
  154. package/dist/arc8004/identity/agent-card.js.map +0 -1
  155. package/dist/arc8004/identity/index.d.ts.map +0 -1
  156. package/dist/arc8004/identity/index.js.map +0 -1
  157. package/dist/arc8004/identity/registry.d.ts.map +0 -1
  158. package/dist/arc8004/identity/registry.js.map +0 -1
  159. package/dist/arc8004/index.d.ts +0 -21
  160. package/dist/arc8004/index.d.ts.map +0 -1
  161. package/dist/arc8004/index.js +0 -26
  162. package/dist/arc8004/index.js.map +0 -1
  163. package/dist/arc8004/reputation/index.d.ts.map +0 -1
  164. package/dist/arc8004/reputation/index.js.map +0 -1
  165. package/dist/arc8004/reputation/registry.d.ts.map +0 -1
  166. package/dist/arc8004/reputation/registry.js.map +0 -1
  167. package/dist/arc8004/reputation/scoring.d.ts.map +0 -1
  168. package/dist/arc8004/reputation/scoring.js.map +0 -1
  169. package/dist/arc8004/types.d.ts.map +0 -1
  170. package/dist/arc8004/types.js +0 -27
  171. package/dist/arc8004/types.js.map +0 -1
  172. package/dist/arc8004/validation/index.d.ts.map +0 -1
  173. package/dist/arc8004/validation/index.js.map +0 -1
  174. package/dist/arc8004/validation/registry.d.ts.map +0 -1
  175. package/dist/arc8004/validation/registry.js.map +0 -1
  176. package/dist/db/index.d.ts.map +0 -1
  177. package/dist/db/index.js +0 -14
  178. package/dist/db/index.js.map +0 -1
  179. package/dist/db/schema.d.ts.map +0 -1
  180. package/dist/db/schema.js.map +0 -1
  181. package/dist/facilitator-client.d.ts.map +0 -1
  182. package/dist/facilitator-client.js.map +0 -1
  183. package/dist/index.d.ts.map +0 -1
  184. package/dist/index.js.map +0 -1
  185. package/dist/services/agent-summary.d.ts +0 -24
  186. package/dist/services/agent-summary.d.ts.map +0 -1
  187. package/dist/services/agent-summary.js +0 -90
  188. package/dist/services/agent-summary.js.map +0 -1
  189. package/dist/storage/agents.d.ts +0 -36
  190. package/dist/storage/agents.d.ts.map +0 -1
  191. package/dist/storage/agents.js +0 -111
  192. package/dist/storage/agents.js.map +0 -1
  193. package/dist/storage/apis.d.ts +0 -20
  194. package/dist/storage/apis.d.ts.map +0 -1
  195. package/dist/storage/apis.js +0 -131
  196. package/dist/storage/apis.js.map +0 -1
  197. package/dist/storage/chats.d.ts +0 -44
  198. package/dist/storage/chats.d.ts.map +0 -1
  199. package/dist/storage/chats.js +0 -103
  200. package/dist/storage/chats.js.map +0 -1
  201. package/dist/storage/user-wallets.d.ts +0 -20
  202. package/dist/storage/user-wallets.d.ts.map +0 -1
  203. package/dist/storage/user-wallets.js +0 -52
  204. package/dist/storage/user-wallets.js.map +0 -1
  205. package/dist/utils/agent-symbols.d.ts +0 -20
  206. package/dist/utils/agent-symbols.d.ts.map +0 -1
  207. package/dist/utils/agent-symbols.js +0 -86
  208. package/dist/utils/agent-symbols.js.map +0 -1
  209. package/dist/utils/server-user-id.d.ts +0 -2
  210. package/dist/utils/server-user-id.d.ts.map +0 -1
  211. package/dist/utils/server-user-id.js +0 -9
  212. package/dist/utils/server-user-id.js.map +0 -1
  213. package/dist/utils/user-id.d.ts +0 -21
  214. package/dist/utils/user-id.d.ts.map +0 -1
  215. package/dist/utils/user-id.js +0 -102
  216. package/dist/utils/user-id.js.map +0 -1
  217. package/dist/utils.d.ts.map +0 -1
  218. package/dist/utils.js.map +0 -1
  219. package/dist/x402-axios.d.ts.map +0 -1
  220. package/dist/x402-axios.js.map +0 -1
  221. package/dist/x402-middleware.d.ts.map +0 -1
  222. package/dist/x402-middleware.js.map +0 -1
  223. package/dist/x402-protocol-types.d.ts.map +0 -1
  224. package/dist/x402-protocol-types.js.map +0 -1
  225. package/dist/x402-types.d.ts.map +0 -1
  226. /package/dist/{aptos-utils.d.ts → lib/aptos-utils.d.ts} +0 -0
  227. /package/dist/{aptos-utils.js → lib/aptos-utils.js} +0 -0
  228. /package/dist/{arc8004 → lib/arc8004}/identity/agent-card.d.ts +0 -0
  229. /package/dist/{arc8004 → lib/arc8004}/identity/agent-card.js +0 -0
  230. /package/dist/{arc8004 → lib/arc8004}/identity/index.d.ts +0 -0
  231. /package/dist/{arc8004 → lib/arc8004}/identity/index.js +0 -0
  232. /package/dist/{arc8004 → lib/arc8004}/reputation/index.d.ts +0 -0
  233. /package/dist/{arc8004 → lib/arc8004}/reputation/index.js +0 -0
  234. /package/dist/{arc8004 → lib/arc8004}/reputation/registry.d.ts +0 -0
  235. /package/dist/{arc8004 → lib/arc8004}/reputation/scoring.d.ts +0 -0
  236. /package/dist/{arc8004 → lib/arc8004}/reputation/scoring.js +0 -0
  237. /package/dist/{arc8004 → lib/arc8004}/validation/index.d.ts +0 -0
  238. /package/dist/{arc8004 → lib/arc8004}/validation/index.js +0 -0
  239. /package/dist/{arc8004 → lib/arc8004}/validation/registry.d.ts +0 -0
  240. /package/dist/{db → lib/db}/schema.d.ts +0 -0
  241. /package/dist/{db → lib/db}/schema.js +0 -0
  242. /package/dist/{facilitator-client.d.ts → lib/facilitator-client.d.ts} +0 -0
  243. /package/dist/{facilitator-client.js → lib/facilitator-client.js} +0 -0
  244. /package/dist/{index.d.ts → lib/index.d.ts} +0 -0
  245. /package/dist/{index.js → lib/index.js} +0 -0
  246. /package/dist/{utils.d.ts → lib/utils.d.ts} +0 -0
  247. /package/dist/{utils.js → lib/utils.js} +0 -0
  248. /package/dist/{x402-axios.d.ts → lib/x402-axios.d.ts} +0 -0
  249. /package/dist/{x402-middleware.d.ts → lib/x402-middleware.d.ts} +0 -0
  250. /package/dist/{x402-middleware.js → lib/x402-middleware.js} +0 -0
  251. /package/dist/{x402-protocol-types.d.ts → lib/x402-protocol-types.d.ts} +0 -0
  252. /package/dist/{x402-protocol-types.js → lib/x402-protocol-types.js} +0 -0
  253. /package/dist/{x402-types.d.ts → lib/x402-types.d.ts} +0 -0
  254. /package/dist/{x402-types.js → lib/x402-types.js} +0 -0
package/README.md CHANGED
@@ -449,6 +449,114 @@ import type {
449
449
 
450
450
  ---
451
451
 
452
+ ## 🛡️ ARC-8004: Agent Trust Layer
453
+
454
+ ARC-8004 provides identity, reputation, and validation for AI agents on Aptos. It integrates with x402 payments to build trust signals from paid interactions.
455
+
456
+ ### Features
457
+
458
+ | Feature | Description |
459
+ |---------|-------------|
460
+ | **Identity Registry** | Agent Cards with metadata, capabilities, and verification status |
461
+ | **Reputation Registry** | Trust scores based on feedback from interactions |
462
+ | **Validation Registry** | Task completion verification before payments |
463
+ | **Flexible Storage** | Memory (default), PostgreSQL, or custom backends |
464
+ | **Optional On-Chain** | Enable NFT minting and attestations when needed |
465
+
466
+ ### Quick Start (v2.0 - Recommended)
467
+
468
+ ```typescript
469
+ import { createARC8004Client } from 'aptos-x402/arc8004';
470
+
471
+ // Create client - works with zero config (memory storage)
472
+ const client = await createARC8004Client();
473
+
474
+ // Register an agent identity
475
+ const { identity } = await client.identity.register({
476
+ agentId: 'my-agent',
477
+ agentCard: {
478
+ name: 'WeatherBot',
479
+ description: 'Provides weather data',
480
+ version: '1.0.0',
481
+ capabilities: ['payment', 'data-fetch'],
482
+ protocols: ['x402'],
483
+ supportedNetworks: ['aptos-testnet'],
484
+ owner: { address: '0x...', publicKey: '0x...' },
485
+ },
486
+ });
487
+
488
+ // Submit feedback after payment
489
+ await client.reputation.submitFeedback({
490
+ agentId: 'my-agent',
491
+ clientAddress: '0xclient',
492
+ overallScore: 5,
493
+ paymentHash: '0xPAYMENT_TX',
494
+ feedback: { comment: 'Fast response!' },
495
+ });
496
+
497
+ // Get reputation
498
+ const rep = await client.reputation.getReputation('my-agent');
499
+ console.log('Trust Level:', rep?.trustLevel); // "excellent"
500
+ ```
501
+
502
+ ### Storage Options
503
+
504
+ ```typescript
505
+ // Memory (default) - No database required
506
+ const client = await createARC8004Client({
507
+ config: { storageType: 'memory', skipAgentValidation: true },
508
+ });
509
+
510
+ // Database - PostgreSQL with Drizzle ORM
511
+ const client = await createARC8004Client({
512
+ config: { storageType: 'database' },
513
+ });
514
+
515
+ // Custom - Bring your own storage
516
+ const client = await createARC8004Client({
517
+ config: { storageType: 'custom' },
518
+ storage: { identity: myStorage, reputation: myRepStorage, validation: myValStorage },
519
+ });
520
+ ```
521
+
522
+ ### On-Chain Integration (Optional)
523
+
524
+ ```typescript
525
+ import { createARC8004Client, AptosOnChainProvider } from 'aptos-x402/arc8004';
526
+
527
+ const client = await createARC8004Client({
528
+ config: {
529
+ storageType: 'memory',
530
+ moduleAddress: '0xYOUR_CONTRACT',
531
+ network: 'aptos-testnet',
532
+ },
533
+ onChain: new AptosOnChainProvider('aptos-testnet', '0xYOUR_CONTRACT'),
534
+ });
535
+ ```
536
+
537
+ ### Configuration
538
+
539
+ ```bash
540
+ # .env.local
541
+ ARC8004_AUTO_REGISTER=true # Auto-register agents on creation
542
+ ARC8004_ONCHAIN_ENABLED=false # DB-only mode (recommended)
543
+ ```
544
+
545
+ For on-chain NFT minting (optional):
546
+ ```bash
547
+ ARC8004_MODULE_ADDRESS=0xa6cfe253f864c0eca623058c7ec2e80c645c5b0a5745c853e7082ee4daad077f
548
+ ARC8004_ONCHAIN_ENABLED=true
549
+ ```
550
+
551
+ ### Documentation
552
+
553
+ - [ARC-8004 Integration Guide](./docs/guides/arc8004-integration.md) - Full SDK usage (NEW)
554
+ - [ARC-8004 Core Concepts](./docs/core-concepts/arc8004.md) - Architecture overview
555
+ - [ARC-8004 Use Cases](./docs/guides/arc8004-use-cases.md) - Practical examples
556
+ - [Self-Hosting Guide](./docs/guides/arc8004-self-hosting.md) - Deploy your own contracts
557
+
558
+ ---
559
+
452
560
  ## Advanced Usage
453
561
 
454
562
  ### Manual Payment Flow
@@ -540,8 +648,8 @@ Try the complete payment flow: **[aptos-x402.vercel.app](https://aptos-x402.verc
540
648
  ### CLI Demo
541
649
 
542
650
  ```bash
543
- git clone https://github.com/adipundir/aptos-x402
544
- cd aptos-x402
651
+ git clone https://github.com/adipundir/Aptos-x402
652
+ cd Aptos-x402
545
653
  npm install
546
654
  npm run dev # In one terminal
547
655
 
@@ -690,13 +798,13 @@ APTOS_PRIVATE_KEY=0x... npx tsx scripts/benchmark-payment-flow.ts
690
798
  - [Performance Guide](./PERFORMANCE_OPTIMIZATIONS.md)
691
799
 
692
800
  ### Links
693
- - [GitHub Repository](https://github.com/adipundir/aptos-x402)
801
+ - [GitHub Repository](https://github.com/adipundir/Aptos-x402)
694
802
  - [NPM Package](https://www.npmjs.com/package/aptos-x402)
695
803
  - [Aptos Developer Docs](https://aptos.dev)
696
804
 
697
805
  ### Support
698
- - [Report Issues](https://github.com/adipundir/aptos-x402/issues)
699
- - [Discussions](https://github.com/adipundir/aptos-x402/discussions)
806
+ - [Report Issues](https://github.com/adipundir/Aptos-x402/issues)
807
+ - [Discussions](https://github.com/adipundir/Aptos-x402/discussions)
700
808
  - [Twitter: @aptos-x402](https://x.com/aptosx402)
701
809
 
702
810
  ## Contributing
@@ -709,7 +817,7 @@ Contributions are welcome! Please feel free to submit issues, feature requests,
709
817
 
710
818
  **Built for the Aptos Ecosystem**
711
819
 
712
- [Documentation](https://aptos-x402.vercel.app) • [GitHub](https://github.com/adipundir/aptos-x402) • [NPM](https://www.npmjs.com/package/aptos-x402)
820
+ [Documentation](https://aptos-x402.vercel.app) • [GitHub](https://github.com/adipundir/Aptos-x402) • [NPM](https://www.npmjs.com/package/aptos-x402)
713
821
 
714
822
  </div>
715
823
 
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
6
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
+ declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
8
+ asChild?: boolean;
9
+ }): React.JSX.Element;
10
+ export { Button, buttonVariants };
11
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,cAAc;;;mFA8BnB,CAAA;AAED,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAC/B,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,qBAUF;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,34 @@
1
+ import * as React from "react";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "@/lib/utils";
5
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
6
+ variants: {
7
+ variant: {
8
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
9
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
10
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
11
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
12
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
13
+ link: "text-primary underline-offset-4 hover:underline",
14
+ },
15
+ size: {
16
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
17
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
18
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
19
+ icon: "size-9",
20
+ "icon-sm": "size-8",
21
+ "icon-lg": "size-10",
22
+ },
23
+ },
24
+ defaultVariants: {
25
+ variant: "default",
26
+ size: "default",
27
+ },
28
+ });
29
+ function Button({ className, variant, size, asChild = false, ...props }) {
30
+ const Comp = asChild ? Slot : "button";
31
+ return (<Comp data-slot="button" className={cn(buttonVariants({ variant, size, className }))} {...props}/>);
32
+ }
33
+ export { Button, buttonVariants };
34
+ //# sourceMappingURL=button.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.jsx","sourceRoot":"","sources":["../../../components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,MAAM,cAAc,GAAG,GAAG,CACxB,6bAA6b,EAC7b;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;YACjE,WAAW,EACT,mJAAmJ;YACrJ,OAAO,EACL,uIAAuI;YACzI,SAAS,EACP,8DAA8D;YAChE,KAAK,EACH,sEAAsE;YACxE,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,+BAA+B;YACxC,EAAE,EAAE,+CAA+C;YACnD,EAAE,EAAE,sCAAsC;YAC1C,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,SAAS;SACrB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAA;AAED,SAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EAIP;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IAEtC,OAAO,CACL,CAAC,IAAI,CACH,SAAS,CAAC,QAAQ,CAClB,SAAS,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAC5D,IAAI,KAAK,CAAC,EACV,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import * as SelectPrimitive from "@radix-ui/react-select";
3
+ declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): React.JSX.Element;
4
+ declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element;
5
+ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
+ size?: "sm" | "default";
8
+ }): React.JSX.Element;
9
+ declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): React.JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): React.JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): React.JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): React.JSX.Element;
13
+ declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): React.JSX.Element;
14
+ declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): React.JSX.Element;
15
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
16
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../components/ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,qBAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CACxB,qBAiBA;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,KAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,qBA6BtD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAQpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,qBAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,qBAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,qBAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,qBAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAA"}
@@ -0,0 +1,62 @@
1
+ import * as React from "react";
2
+ import * as SelectPrimitive from "@radix-ui/react-select";
3
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
+ import { cn } from "@/lib/utils";
5
+ function Select({ ...props }) {
6
+ return <SelectPrimitive.Root data-slot="select" {...props}/>;
7
+ }
8
+ function SelectGroup({ ...props }) {
9
+ return <SelectPrimitive.Group data-slot="select-group" {...props}/>;
10
+ }
11
+ function SelectValue({ ...props }) {
12
+ return <SelectPrimitive.Value data-slot="select-value" {...props}/>;
13
+ }
14
+ function SelectTrigger({ className, size = "default", children, ...props }) {
15
+ return (<SelectPrimitive.Trigger data-slot="select-trigger" data-size={size} className={cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className)} {...props}>
16
+ {children}
17
+ <SelectPrimitive.Icon asChild>
18
+ <ChevronDownIcon className="size-4 opacity-50"/>
19
+ </SelectPrimitive.Icon>
20
+ </SelectPrimitive.Trigger>);
21
+ }
22
+ function SelectContent({ className, children, position = "popper", align = "center", ...props }) {
23
+ return (<SelectPrimitive.Portal>
24
+ <SelectPrimitive.Content data-slot="select-content" className={cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md", position === "popper" &&
25
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className)} position={position} align={align} {...props}>
26
+ <SelectScrollUpButton />
27
+ <SelectPrimitive.Viewport className={cn("p-1", position === "popper" &&
28
+ "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1")}>
29
+ {children}
30
+ </SelectPrimitive.Viewport>
31
+ <SelectScrollDownButton />
32
+ </SelectPrimitive.Content>
33
+ </SelectPrimitive.Portal>);
34
+ }
35
+ function SelectLabel({ className, ...props }) {
36
+ return (<SelectPrimitive.Label data-slot="select-label" className={cn("text-muted-foreground px-2 py-1.5 text-xs", className)} {...props}/>);
37
+ }
38
+ function SelectItem({ className, children, ...props }) {
39
+ return (<SelectPrimitive.Item data-slot="select-item" className={cn("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className)} {...props}>
40
+ <span className="absolute right-2 flex size-3.5 items-center justify-center">
41
+ <SelectPrimitive.ItemIndicator>
42
+ <CheckIcon className="size-4"/>
43
+ </SelectPrimitive.ItemIndicator>
44
+ </span>
45
+ <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
46
+ </SelectPrimitive.Item>);
47
+ }
48
+ function SelectSeparator({ className, ...props }) {
49
+ return (<SelectPrimitive.Separator data-slot="select-separator" className={cn("bg-border pointer-events-none -mx-1 my-1 h-px", className)} {...props}/>);
50
+ }
51
+ function SelectScrollUpButton({ className, ...props }) {
52
+ return (<SelectPrimitive.ScrollUpButton data-slot="select-scroll-up-button" className={cn("flex cursor-default items-center justify-center py-1", className)} {...props}>
53
+ <ChevronUpIcon className="size-4"/>
54
+ </SelectPrimitive.ScrollUpButton>);
55
+ }
56
+ function SelectScrollDownButton({ className, ...props }) {
57
+ return (<SelectPrimitive.ScrollDownButton data-slot="select-scroll-down-button" className={cn("flex cursor-default items-center justify-center py-1", className)} {...props}>
58
+ <ChevronDownIcon className="size-4"/>
59
+ </SelectPrimitive.ScrollDownButton>);
60
+ }
61
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
62
+ //# sourceMappingURL=select.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.jsx","sourceRoot":"","sources":["../../../components/ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAExE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,SAAS,MAAM,CAAC,EACd,GAAG,KAAK,EAC0C;IAClD,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAG,CAAA;AAC/D,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EAC2C;IACnD,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,EAAG,CAAA;AACtE,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EAC2C;IACnD,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,EAAG,CAAA;AACtE,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAI,GAAG,SAAS,EAChB,QAAQ,EACR,GAAG,KAAK,EAGT;IACC,OAAO,CACL,CAAC,eAAe,CAAC,OAAO,CACtB,SAAS,CAAC,gBAAgB,CAC1B,SAAS,CAAC,CAAC,IAAI,CAAC,CAChB,SAAS,CAAC,CAAC,EAAE,CACX,8yBAA8yB,EAC9yB,SAAS,CACV,CAAC,CACF,IAAI,KAAK,CAAC,CAEV;MAAA,CAAC,QAAQ,CACT;MAAA,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAC3B;QAAA,CAAC,eAAe,CAAC,SAAS,CAAC,mBAAmB,EAChD;MAAA,EAAE,eAAe,CAAC,IAAI,CACxB;IAAA,EAAE,eAAe,CAAC,OAAO,CAAC,CAC3B,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAQ,GAAG,QAAQ,EACnB,KAAK,GAAG,QAAQ,EAChB,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,CAAC,eAAe,CAAC,MAAM,CACrB;MAAA,CAAC,eAAe,CAAC,OAAO,CACtB,SAAS,CAAC,gBAAgB,CAC1B,SAAS,CAAC,CAAC,EAAE,CACX,+iBAA+iB,EAC/iB,QAAQ,KAAK,QAAQ;YACnB,iIAAiI,EACnI,SAAS,CACV,CAAC,CACF,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,IAAI,KAAK,CAAC,CAEV;QAAA,CAAC,oBAAoB,CAAC,AAAD,EACrB;QAAA,CAAC,eAAe,CAAC,QAAQ,CACvB,SAAS,CAAC,CAAC,EAAE,CACX,KAAK,EACL,QAAQ,KAAK,QAAQ;YACnB,qGAAqG,CACxG,CAAC,CAEF;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,eAAe,CAAC,QAAQ,CAC1B;QAAA,CAAC,sBAAsB,CAAC,AAAD,EACzB;MAAA,EAAE,eAAe,CAAC,OAAO,CAC3B;IAAA,EAAE,eAAe,CAAC,MAAM,CAAC,CAC1B,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EAC2C;IACnD,OAAO,CACL,CAAC,eAAe,CAAC,KAAK,CACpB,SAAS,CAAC,cAAc,CACxB,SAAS,CAAC,CAAC,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,CAAC,CACtE,IAAI,KAAK,CAAC,EACV,CACH,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAC0C;IAClD,OAAO,CACL,CAAC,eAAe,CAAC,IAAI,CACnB,SAAS,CAAC,aAAa,CACvB,SAAS,CAAC,CAAC,EAAE,CACX,2aAA2a,EAC3a,SAAS,CACV,CAAC,CACF,IAAI,KAAK,CAAC,CAEV;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,4DAA4D,CAC1E;QAAA,CAAC,eAAe,CAAC,aAAa,CAC5B;UAAA,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAC/B;QAAA,EAAE,eAAe,CAAC,aAAa,CACjC;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,QAAQ,CAChE;IAAA,EAAE,eAAe,CAAC,IAAI,CAAC,CACxB,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EAC+C;IACvD,OAAO,CACL,CAAC,eAAe,CAAC,SAAS,CACxB,SAAS,CAAC,kBAAkB,CAC5B,SAAS,CAAC,CAAC,EAAE,CAAC,+CAA+C,EAAE,SAAS,CAAC,CAAC,CAC1E,IAAI,KAAK,CAAC,EACV,CACH,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACoD;IAC5D,OAAO,CACL,CAAC,eAAe,CAAC,cAAc,CAC7B,SAAS,CAAC,yBAAyB,CACnC,SAAS,CAAC,CAAC,EAAE,CACX,sDAAsD,EACtD,SAAS,CACV,CAAC,CACF,IAAI,KAAK,CAAC,CAEV;MAAA,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EACnC;IAAA,EAAE,eAAe,CAAC,cAAc,CAAC,CAClC,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACsD;IAC9D,OAAO,CACL,CAAC,eAAe,CAAC,gBAAgB,CAC/B,SAAS,CAAC,2BAA2B,CACrC,SAAS,CAAC,CAAC,EAAE,CACX,sDAAsD,EACtD,SAAS,CACV,CAAC,CACF,IAAI,KAAK,CAAC,CAEV;MAAA,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,EACrC;IAAA,EAAE,eAAe,CAAC,gBAAgB,CAAC,CACpC,CAAA;AACH,CAAC;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aptos-utils.d.ts","sourceRoot":"","sources":["../../lib/aptos-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAGL,OAAO,EAIR,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,GAAG,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,MAAkB,GAAG,KAAK,CAyCjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,OAAO,EACf,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAwClB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aptos-utils.js","sourceRoot":"","sources":["../../lib/aptos-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ARC-8004 On-Chain Module
3
+ *
4
+ * Provides on-chain provider abstraction for blockchain operations
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export type { OnChainProvider, MintIdentityResult, VerifyIdentityResult, AttestationResult, OnChainAgentScore, } from './types';
9
+ export { NullOnChainProvider, AptosOnChainProvider, createOnChainProvider, } from './types';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/arc8004/chain/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * ARC-8004 On-Chain Module
3
+ *
4
+ * Provides on-chain provider abstraction for blockchain operations
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export { NullOnChainProvider, AptosOnChainProvider, createOnChainProvider, } from './types';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/arc8004/chain/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * ARC-8004 On-Chain Provider Interface
3
+ *
4
+ * Abstracts blockchain operations for ARC-8004, allowing:
5
+ * - Null implementation for off-chain only mode
6
+ * - Aptos implementation for full on-chain support
7
+ * - Custom implementations for other blockchains
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ import type { Account } from '@aptos-labs/ts-sdk';
12
+ import type { AgentCard } from '../types';
13
+ /**
14
+ * Result of minting an identity NFT on-chain
15
+ */
16
+ export interface MintIdentityResult {
17
+ /** On-chain token address */
18
+ tokenAddress: string;
19
+ /** Transaction hash */
20
+ txHash: string;
21
+ }
22
+ /**
23
+ * Result of verifying an identity on-chain
24
+ */
25
+ export interface VerifyIdentityResult {
26
+ /** Transaction hash */
27
+ txHash: string;
28
+ }
29
+ /**
30
+ * Result of creating an on-chain attestation
31
+ */
32
+ export interface AttestationResult {
33
+ /** Attestation/transaction hash */
34
+ attestationHash: string;
35
+ }
36
+ /**
37
+ * On-chain agent score data
38
+ */
39
+ export interface OnChainAgentScore {
40
+ /** Total sum of all scores received */
41
+ totalScore: number;
42
+ /** Number of feedback submissions */
43
+ feedbackCount: number;
44
+ /** Average score scaled by 100 (e.g., 450 = 4.50) */
45
+ averageScoreScaled: number;
46
+ /** Computed trust level (0-5) */
47
+ trustLevel: number;
48
+ /** Last update timestamp (unix seconds) */
49
+ lastUpdated: number;
50
+ }
51
+ /**
52
+ * Interface for on-chain operations
53
+ * Implement this interface to provide custom blockchain integration
54
+ */
55
+ export interface OnChainProvider {
56
+ /**
57
+ * Whether on-chain operations are enabled
58
+ */
59
+ readonly enabled: boolean;
60
+ /**
61
+ * Mint an agent identity NFT on-chain
62
+ *
63
+ * @param agentId - Unique agent identifier
64
+ * @param agentCard - Agent metadata
65
+ * @param signer - Account to sign the transaction
66
+ * @returns Token address and transaction hash
67
+ */
68
+ mintIdentity(agentId: string, agentCard: AgentCard, signer: Account): Promise<MintIdentityResult>;
69
+ /**
70
+ * Verify an agent identity on-chain
71
+ *
72
+ * @param tokenAddress - On-chain token address
73
+ * @param signer - Admin account to sign verification
74
+ * @returns Transaction hash
75
+ */
76
+ verifyIdentity(tokenAddress: string, signer: Account): Promise<VerifyIdentityResult>;
77
+ /**
78
+ * Create an on-chain feedback attestation
79
+ *
80
+ * @param agentId - Agent receiving feedback
81
+ * @param clientAddress - Address of client giving feedback
82
+ * @param score - Overall score (1-5)
83
+ * @param paymentHash - Optional related payment hash
84
+ * @param signer - Account to sign the transaction
85
+ * @returns Attestation hash
86
+ */
87
+ attestFeedback(agentId: string, clientAddress: string, score: number, paymentHash: string | undefined, signer: Account): Promise<AttestationResult>;
88
+ /**
89
+ * Submit a task validation on-chain
90
+ *
91
+ * @param taskId - Task identifier
92
+ * @param agentId - Agent that performed the task
93
+ * @param validatorId - Validator identifier
94
+ * @param proof - Optional cryptographic proof
95
+ * @param signer - Account to sign the transaction
96
+ * @returns Attestation hash
97
+ */
98
+ submitValidation(taskId: string, agentId: string, validatorId: string, proof: string | undefined, signer: Account): Promise<AttestationResult>;
99
+ /**
100
+ * Check if an identity exists on-chain
101
+ *
102
+ * @param tokenAddress - Token address to check
103
+ * @returns Whether the identity exists
104
+ */
105
+ identityExists(tokenAddress: string): Promise<boolean>;
106
+ /**
107
+ * Get account balance (for checking if account can pay fees)
108
+ *
109
+ * @param address - Account address
110
+ * @returns Balance in native units (e.g., octas for Aptos)
111
+ */
112
+ getAccountBalance(address: string): Promise<bigint>;
113
+ /**
114
+ * Get aggregated agent score from on-chain
115
+ *
116
+ * @param agentId - Agent identifier
117
+ * @returns On-chain agent score data or null if not found
118
+ */
119
+ getAgentScore(agentId: string): Promise<OnChainAgentScore | null>;
120
+ /**
121
+ * Check if an agent has any on-chain reputation
122
+ *
123
+ * @param agentId - Agent identifier
124
+ * @returns Whether the agent has on-chain reputation data
125
+ */
126
+ hasOnChainReputation(agentId: string): Promise<boolean>;
127
+ }
128
+ /**
129
+ * Null implementation of OnChainProvider
130
+ * Used when on-chain operations are disabled
131
+ * All operations return empty results or throw appropriate errors
132
+ */
133
+ export declare class NullOnChainProvider implements OnChainProvider {
134
+ readonly enabled = false;
135
+ mintIdentity(): Promise<MintIdentityResult>;
136
+ verifyIdentity(): Promise<VerifyIdentityResult>;
137
+ attestFeedback(): Promise<AttestationResult>;
138
+ submitValidation(): Promise<AttestationResult>;
139
+ identityExists(): Promise<boolean>;
140
+ getAccountBalance(): Promise<bigint>;
141
+ getAgentScore(): Promise<OnChainAgentScore | null>;
142
+ hasOnChainReputation(): Promise<boolean>;
143
+ }
144
+ /**
145
+ * Aptos blockchain implementation of OnChainProvider
146
+ */
147
+ export declare class AptosOnChainProvider implements OnChainProvider {
148
+ private aptos;
149
+ readonly enabled = true;
150
+ private moduleAddress;
151
+ constructor(aptos: import('@aptos-labs/ts-sdk').Aptos, moduleAddress: string);
152
+ mintIdentity(agentId: string, agentCard: AgentCard, signer: Account): Promise<MintIdentityResult>;
153
+ verifyIdentity(tokenAddress: string, signer: Account): Promise<VerifyIdentityResult>;
154
+ attestFeedback(agentId: string, clientAddress: string, score: number, paymentHash: string | undefined, signer: Account): Promise<AttestationResult>;
155
+ submitValidation(taskId: string, agentId: string, validatorId: string, proof: string | undefined, signer: Account): Promise<AttestationResult>;
156
+ identityExists(tokenAddress: string): Promise<boolean>;
157
+ getAccountBalance(address: string): Promise<bigint>;
158
+ getAgentScore(agentId: string): Promise<OnChainAgentScore | null>;
159
+ hasOnChainReputation(agentId: string): Promise<boolean>;
160
+ /**
161
+ * Extract token address from mint transaction events
162
+ */
163
+ private extractTokenAddressFromTx;
164
+ }
165
+ /**
166
+ * Create an on-chain provider based on configuration
167
+ *
168
+ * @param config - Configuration options
169
+ * @returns OnChainProvider instance
170
+ *
171
+ * @example Disabled (null provider)
172
+ * ```typescript
173
+ * const provider = createOnChainProvider({ enabled: false });
174
+ * ```
175
+ *
176
+ * @example Aptos provider
177
+ * ```typescript
178
+ * const provider = createOnChainProvider({
179
+ * enabled: true,
180
+ * moduleAddress: '0x...',
181
+ * network: 'testnet',
182
+ * });
183
+ * ```
184
+ */
185
+ export declare function createOnChainProvider(config: {
186
+ enabled: boolean;
187
+ moduleAddress?: string;
188
+ network?: string;
189
+ }): OnChainProvider;
190
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../lib/arc8004/chain/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAA6C,MAAM,UAAU,CAAC;AAMrF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;;;;OAOG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;OAMG;IACH,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;;;;;;;;OASG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE9B;;;;;;;;;OASG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAElE;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAMD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,QAAQ,CAAC,OAAO,SAAS;IAEnB,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAI3C,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAI/C,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAK5C,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAK9C,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,aAAa,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAIlD,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG/C;AAMD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,eAAe;IAKxD,OAAO,CAAC,KAAK;IAJf,QAAQ,CAAC,OAAO,QAAQ;IACxB,OAAO,CAAC,aAAa,CAAS;gBAGpB,KAAK,EAAE,OAAO,oBAAoB,EAAE,KAAK,EACjD,aAAa,EAAE,MAAM;IAKjB,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,kBAAkB,CAAC;IAiCxB,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,oBAAoB,CAAC;IAmB1B,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,iBAAiB,CAAC;IAwBvB,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,iBAAiB,CAAC;IAwBvB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYtD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAkCjE,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe7D;;OAEG;YACW,yBAAyB;CAmCxC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,eAAe,CAelB"}