pay-lobster 1.0.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 (120) hide show
  1. package/README.md +401 -0
  2. package/README.md.bak +401 -0
  3. package/dist/agent.d.ts +132 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +224 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/analytics.d.ts +120 -0
  8. package/dist/analytics.d.ts.map +1 -0
  9. package/dist/analytics.js +345 -0
  10. package/dist/analytics.js.map +1 -0
  11. package/dist/approvals.d.ts +168 -0
  12. package/dist/approvals.d.ts.map +1 -0
  13. package/dist/approvals.js +406 -0
  14. package/dist/approvals.js.map +1 -0
  15. package/dist/circle-client.d.ts +152 -0
  16. package/dist/circle-client.d.ts.map +1 -0
  17. package/dist/circle-client.js +266 -0
  18. package/dist/circle-client.js.map +1 -0
  19. package/dist/commission.d.ts +191 -0
  20. package/dist/commission.d.ts.map +1 -0
  21. package/dist/commission.js +475 -0
  22. package/dist/commission.js.map +1 -0
  23. package/dist/condition-builder.d.ts +98 -0
  24. package/dist/condition-builder.d.ts.map +1 -0
  25. package/dist/condition-builder.js +193 -0
  26. package/dist/condition-builder.js.map +1 -0
  27. package/dist/contacts.d.ts +179 -0
  28. package/dist/contacts.d.ts.map +1 -0
  29. package/dist/contacts.js +445 -0
  30. package/dist/contacts.js.map +1 -0
  31. package/dist/easy.d.ts +22 -0
  32. package/dist/easy.d.ts.map +1 -0
  33. package/dist/easy.js +40 -0
  34. package/dist/easy.js.map +1 -0
  35. package/dist/erc8004/constants.d.ts +152 -0
  36. package/dist/erc8004/constants.d.ts.map +1 -0
  37. package/dist/erc8004/constants.js +114 -0
  38. package/dist/erc8004/constants.js.map +1 -0
  39. package/dist/erc8004/discovery.d.ts +84 -0
  40. package/dist/erc8004/discovery.d.ts.map +1 -0
  41. package/dist/erc8004/discovery.js +217 -0
  42. package/dist/erc8004/discovery.js.map +1 -0
  43. package/dist/erc8004/identity.d.ts +91 -0
  44. package/dist/erc8004/identity.d.ts.map +1 -0
  45. package/dist/erc8004/identity.js +250 -0
  46. package/dist/erc8004/identity.js.map +1 -0
  47. package/dist/erc8004/index.d.ts +147 -0
  48. package/dist/erc8004/index.d.ts.map +1 -0
  49. package/dist/erc8004/index.js +225 -0
  50. package/dist/erc8004/index.js.map +1 -0
  51. package/dist/erc8004/reputation.d.ts +133 -0
  52. package/dist/erc8004/reputation.d.ts.map +1 -0
  53. package/dist/erc8004/reputation.js +277 -0
  54. package/dist/erc8004/reputation.js.map +1 -0
  55. package/dist/escrow-templates.d.ts +38 -0
  56. package/dist/escrow-templates.d.ts.map +1 -0
  57. package/dist/escrow-templates.js +419 -0
  58. package/dist/escrow-templates.js.map +1 -0
  59. package/dist/escrow.d.ts +320 -0
  60. package/dist/escrow.d.ts.map +1 -0
  61. package/dist/escrow.js +854 -0
  62. package/dist/escrow.js.map +1 -0
  63. package/dist/index.d.ts +11 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +33 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/invoices.d.ts +212 -0
  68. package/dist/invoices.d.ts.map +1 -0
  69. package/dist/invoices.js +393 -0
  70. package/dist/invoices.js.map +1 -0
  71. package/dist/notifications.d.ts +141 -0
  72. package/dist/notifications.d.ts.map +1 -0
  73. package/dist/notifications.js +350 -0
  74. package/dist/notifications.js.map +1 -0
  75. package/dist/tips.d.ts +171 -0
  76. package/dist/tips.d.ts.map +1 -0
  77. package/dist/tips.js +390 -0
  78. package/dist/tips.js.map +1 -0
  79. package/dist/types.d.ts +100 -0
  80. package/dist/types.d.ts.map +1 -0
  81. package/dist/types.js +6 -0
  82. package/dist/types.js.map +1 -0
  83. package/dist/x402-client.d.ts +127 -0
  84. package/dist/x402-client.d.ts.map +1 -0
  85. package/dist/x402-client.js +350 -0
  86. package/dist/x402-client.js.map +1 -0
  87. package/dist/x402-server.d.ts +133 -0
  88. package/dist/x402-server.d.ts.map +1 -0
  89. package/dist/x402-server.js +330 -0
  90. package/dist/x402-server.js.map +1 -0
  91. package/lib/agent.ts +273 -0
  92. package/lib/analytics.ts +474 -0
  93. package/lib/analytics.ts.bak +474 -0
  94. package/lib/approvals.ts +585 -0
  95. package/lib/approvals.ts.bak +585 -0
  96. package/lib/circle-client.ts +376 -0
  97. package/lib/circle-client.ts.bak +376 -0
  98. package/lib/commission.ts +680 -0
  99. package/lib/commission.ts.bak +680 -0
  100. package/lib/condition-builder.ts +223 -0
  101. package/lib/condition-builder.ts.bak +223 -0
  102. package/lib/contacts.ts +615 -0
  103. package/lib/contacts.ts.bak +615 -0
  104. package/lib/easy.ts +46 -0
  105. package/lib/easy.ts.bak +352 -0
  106. package/lib/erc8004/constants.ts +175 -0
  107. package/lib/erc8004/discovery.ts +299 -0
  108. package/lib/erc8004/identity.ts +327 -0
  109. package/lib/erc8004/index.ts +285 -0
  110. package/lib/erc8004/reputation.ts +368 -0
  111. package/lib/escrow-templates.ts +462 -0
  112. package/lib/escrow.ts +1216 -0
  113. package/lib/index.ts +13 -0
  114. package/lib/invoices.ts +588 -0
  115. package/lib/notifications.ts +484 -0
  116. package/lib/tips.ts +570 -0
  117. package/lib/types.ts +108 -0
  118. package/lib/x402-client.ts +471 -0
  119. package/lib/x402-server.ts +462 -0
  120. package/package.json +58 -0
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Escrow Templates
3
+ *
4
+ * Pre-built escrow configurations for common use cases across multiple verticals.
5
+ */
6
+ import type { EscrowCondition } from './escrow';
7
+ export type EscrowVertical = 'real_estate' | 'freelance' | 'commerce' | 'services' | 'p2p' | 'digital' | 'custom';
8
+ export interface EscrowTemplate {
9
+ name: string;
10
+ description: string;
11
+ vertical: EscrowVertical;
12
+ conditions: Omit<EscrowCondition, 'id' | 'status'>[];
13
+ releaseRequires: 'all_conditions' | 'majority_approval' | 'condition_based' | 'any_party';
14
+ recommendedPartyRoles: string[];
15
+ autoReleaseDays?: number;
16
+ metadata?: Record<string, any>;
17
+ }
18
+ /**
19
+ * Pre-built escrow templates
20
+ */
21
+ export declare const ESCROW_TEMPLATES: Record<string, EscrowTemplate>;
22
+ /**
23
+ * Get template by name
24
+ */
25
+ export declare function getTemplate(name: string): EscrowTemplate | undefined;
26
+ /**
27
+ * List all templates
28
+ */
29
+ export declare function listTemplates(): EscrowTemplate[];
30
+ /**
31
+ * List templates by vertical
32
+ */
33
+ export declare function listTemplatesByVertical(vertical: EscrowVertical): EscrowTemplate[];
34
+ /**
35
+ * Get all verticals
36
+ */
37
+ export declare function getVerticals(): EscrowVertical[];
38
+ //# sourceMappingURL=escrow-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escrow-templates.d.ts","sourceRoot":"","sources":["../lib/escrow-templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,WAAW,GACX,UAAU,GACV,UAAU,GACV,KAAK,GACL,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC;IACrD,eAAe,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAC1F,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAiZ3D,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAEhD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,EAAE,CAElF;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,cAAc,EAAE,CAE/C"}
@@ -0,0 +1,419 @@
1
+ "use strict";
2
+ /**
3
+ * Escrow Templates
4
+ *
5
+ * Pre-built escrow configurations for common use cases across multiple verticals.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ESCROW_TEMPLATES = void 0;
9
+ exports.getTemplate = getTemplate;
10
+ exports.listTemplates = listTemplates;
11
+ exports.listTemplatesByVertical = listTemplatesByVertical;
12
+ exports.getVerticals = getVerticals;
13
+ /**
14
+ * Pre-built escrow templates
15
+ */
16
+ exports.ESCROW_TEMPLATES = {
17
+ // ============ REAL ESTATE ============
18
+ earnest_money: {
19
+ name: 'Earnest Money Deposit',
20
+ description: 'Traditional real estate earnest money escrow with standard contingencies',
21
+ vertical: 'real_estate',
22
+ conditions: [
23
+ {
24
+ description: 'Home inspection satisfactory',
25
+ type: 'inspection',
26
+ deadline: new Date(Date.now() + 10 * 24 * 60 * 60 * 1000).toISOString(),
27
+ },
28
+ {
29
+ description: 'Financing approved',
30
+ type: 'financing',
31
+ deadline: new Date(Date.now() + 21 * 24 * 60 * 60 * 1000).toISOString(),
32
+ },
33
+ {
34
+ description: 'Title clear',
35
+ type: 'title',
36
+ },
37
+ {
38
+ description: 'Closing completed',
39
+ type: 'closing',
40
+ },
41
+ ],
42
+ releaseRequires: 'all_conditions',
43
+ recommendedPartyRoles: ['buyer', 'seller', 'agent', 'title_company'],
44
+ },
45
+ security_deposit: {
46
+ name: 'Rental Security Deposit',
47
+ description: 'Landlord-tenant security deposit with move-out conditions',
48
+ vertical: 'real_estate',
49
+ conditions: [
50
+ {
51
+ description: 'Lease term completed',
52
+ type: 'move_out',
53
+ },
54
+ {
55
+ description: 'Property inspection passed',
56
+ type: 'inspection',
57
+ },
58
+ {
59
+ description: 'No outstanding damages',
60
+ type: 'verification',
61
+ },
62
+ ],
63
+ releaseRequires: 'all_conditions',
64
+ recommendedPartyRoles: ['landlord', 'tenant'],
65
+ },
66
+ closing_funds: {
67
+ name: 'Closing Funds Escrow',
68
+ description: 'Full real estate transaction closing',
69
+ vertical: 'real_estate',
70
+ conditions: [
71
+ {
72
+ description: 'All contingencies satisfied',
73
+ type: 'custom',
74
+ },
75
+ {
76
+ description: 'Title transferred',
77
+ type: 'title',
78
+ },
79
+ {
80
+ description: 'Closing documents signed',
81
+ type: 'closing',
82
+ },
83
+ ],
84
+ releaseRequires: 'all_conditions',
85
+ recommendedPartyRoles: ['buyer', 'seller', 'title_company'],
86
+ },
87
+ // ============ FREELANCE ============
88
+ project_milestone: {
89
+ name: 'Milestone-Based Project',
90
+ description: 'Freelance project with staged milestone payments',
91
+ vertical: 'freelance',
92
+ conditions: [
93
+ {
94
+ description: 'Design phase approved',
95
+ type: 'milestone',
96
+ releasePercentage: '25',
97
+ },
98
+ {
99
+ description: 'Development complete',
100
+ type: 'milestone',
101
+ releasePercentage: '50',
102
+ },
103
+ {
104
+ description: 'Final delivery and approval',
105
+ type: 'delivery',
106
+ releasePercentage: '25',
107
+ },
108
+ ],
109
+ releaseRequires: 'condition_based',
110
+ recommendedPartyRoles: ['client', 'provider'],
111
+ },
112
+ freelance_delivery: {
113
+ name: 'Simple Freelance Delivery',
114
+ description: 'Single delivery with client approval',
115
+ vertical: 'freelance',
116
+ conditions: [
117
+ {
118
+ description: 'Work delivered',
119
+ type: 'delivery',
120
+ },
121
+ {
122
+ description: 'Client approval',
123
+ type: 'approval',
124
+ },
125
+ ],
126
+ releaseRequires: 'all_conditions',
127
+ recommendedPartyRoles: ['client', 'provider'],
128
+ autoReleaseDays: 7, // Auto-release if client doesn't respond
129
+ },
130
+ consulting_retainer: {
131
+ name: 'Consulting Retainer',
132
+ description: 'Monthly retainer with deliverable verification',
133
+ vertical: 'freelance',
134
+ conditions: [
135
+ {
136
+ description: 'Monthly report delivered',
137
+ type: 'delivery',
138
+ },
139
+ {
140
+ description: 'Deliverables meet agreement',
141
+ type: 'verification',
142
+ },
143
+ ],
144
+ releaseRequires: 'all_conditions',
145
+ recommendedPartyRoles: ['client', 'consultant'],
146
+ },
147
+ // ============ COMMERCE ============
148
+ product_purchase: {
149
+ name: 'Product Purchase',
150
+ description: 'E-commerce purchase with shipping and receipt confirmation',
151
+ vertical: 'commerce',
152
+ conditions: [
153
+ {
154
+ description: 'Item shipped with tracking',
155
+ type: 'shipping',
156
+ },
157
+ {
158
+ description: 'Buyer confirms receipt',
159
+ type: 'receipt',
160
+ },
161
+ {
162
+ description: 'Item condition verified',
163
+ type: 'verification',
164
+ },
165
+ ],
166
+ releaseRequires: 'all_conditions',
167
+ recommendedPartyRoles: ['buyer', 'seller'],
168
+ autoReleaseDays: 3, // Auto-release if buyer doesn't dispute
169
+ },
170
+ trade_swap: {
171
+ name: 'Item Trade/Swap',
172
+ description: 'Peer-to-peer item exchange',
173
+ vertical: 'commerce',
174
+ conditions: [
175
+ {
176
+ description: 'Both parties ship items',
177
+ type: 'shipping',
178
+ },
179
+ {
180
+ description: 'Both parties confirm receipt',
181
+ type: 'receipt',
182
+ },
183
+ {
184
+ description: 'Both parties approve condition',
185
+ type: 'approval',
186
+ },
187
+ ],
188
+ releaseRequires: 'all_conditions',
189
+ recommendedPartyRoles: ['party_a', 'party_b'],
190
+ },
191
+ marketplace_sale: {
192
+ name: 'Marketplace Sale',
193
+ description: 'Third-party marketplace transaction',
194
+ vertical: 'commerce',
195
+ conditions: [
196
+ {
197
+ description: 'Payment received',
198
+ type: 'verification',
199
+ },
200
+ {
201
+ description: 'Item delivered',
202
+ type: 'delivery',
203
+ },
204
+ {
205
+ description: 'No disputes filed',
206
+ type: 'verification',
207
+ },
208
+ ],
209
+ releaseRequires: 'all_conditions',
210
+ recommendedPartyRoles: ['buyer', 'seller', 'marketplace'],
211
+ autoReleaseDays: 7,
212
+ },
213
+ // ============ P2P TRADING ============
214
+ crypto_otc: {
215
+ name: 'Crypto OTC Trade',
216
+ description: 'Over-the-counter crypto/token swap',
217
+ vertical: 'p2p',
218
+ conditions: [
219
+ {
220
+ description: 'Both parties deposit funds',
221
+ type: 'verification',
222
+ },
223
+ {
224
+ description: 'Both parties approve swap',
225
+ type: 'approval',
226
+ },
227
+ ],
228
+ releaseRequires: 'all_conditions',
229
+ recommendedPartyRoles: ['party_a', 'party_b'],
230
+ },
231
+ nft_trade: {
232
+ name: 'NFT Trade',
233
+ description: 'NFT swap or sale with verification',
234
+ vertical: 'p2p',
235
+ conditions: [
236
+ {
237
+ description: 'NFT ownership verified',
238
+ type: 'verification',
239
+ },
240
+ {
241
+ description: 'Payment confirmed',
242
+ type: 'verification',
243
+ },
244
+ {
245
+ description: 'Both parties approve transfer',
246
+ type: 'approval',
247
+ },
248
+ ],
249
+ releaseRequires: 'all_conditions',
250
+ recommendedPartyRoles: ['buyer', 'seller'],
251
+ },
252
+ peer_loan: {
253
+ name: 'Peer-to-Peer Loan',
254
+ description: 'P2P lending with collateral',
255
+ vertical: 'p2p',
256
+ conditions: [
257
+ {
258
+ description: 'Collateral deposited',
259
+ type: 'verification',
260
+ },
261
+ {
262
+ description: 'Repayment deadline met',
263
+ type: 'deadline',
264
+ deadline: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
265
+ },
266
+ ],
267
+ releaseRequires: 'all_conditions',
268
+ recommendedPartyRoles: ['lender', 'borrower'],
269
+ },
270
+ // ============ DIGITAL GOODS ============
271
+ digital_license: {
272
+ name: 'Digital License Purchase',
273
+ description: 'Software license or digital product sale',
274
+ vertical: 'digital',
275
+ conditions: [
276
+ {
277
+ description: 'License key delivered',
278
+ type: 'delivery',
279
+ },
280
+ {
281
+ description: 'License activated successfully',
282
+ type: 'verification',
283
+ },
284
+ ],
285
+ releaseRequires: 'all_conditions',
286
+ recommendedPartyRoles: ['buyer', 'vendor'],
287
+ autoReleaseDays: 3,
288
+ },
289
+ saas_subscription: {
290
+ name: 'SaaS Subscription Escrow',
291
+ description: 'Recurring SaaS payment with service verification',
292
+ vertical: 'digital',
293
+ conditions: [
294
+ {
295
+ description: 'Service access granted',
296
+ type: 'verification',
297
+ },
298
+ {
299
+ description: 'Uptime SLA met',
300
+ type: 'custom',
301
+ metadata: { slaPercentage: 99.9 },
302
+ },
303
+ ],
304
+ releaseRequires: 'all_conditions',
305
+ recommendedPartyRoles: ['subscriber', 'provider'],
306
+ },
307
+ digital_content: {
308
+ name: 'Digital Content Purchase',
309
+ description: 'Ebook, course, template, or other digital content',
310
+ vertical: 'digital',
311
+ conditions: [
312
+ {
313
+ description: 'Content delivered',
314
+ type: 'delivery',
315
+ },
316
+ {
317
+ description: 'Download successful',
318
+ type: 'verification',
319
+ },
320
+ ],
321
+ releaseRequires: 'all_conditions',
322
+ recommendedPartyRoles: ['buyer', 'creator'],
323
+ autoReleaseDays: 1,
324
+ },
325
+ // ============ SERVICES ============
326
+ service_agreement: {
327
+ name: 'Service Agreement',
328
+ description: 'General service contract with completion verification',
329
+ vertical: 'services',
330
+ conditions: [
331
+ {
332
+ description: 'Service completed',
333
+ type: 'approval',
334
+ },
335
+ {
336
+ description: 'Quality requirements met',
337
+ type: 'verification',
338
+ },
339
+ ],
340
+ releaseRequires: 'all_conditions',
341
+ recommendedPartyRoles: ['client', 'provider'],
342
+ },
343
+ sla_based_service: {
344
+ name: 'SLA-Based Service',
345
+ description: 'Service with SLA requirements',
346
+ vertical: 'services',
347
+ conditions: [
348
+ {
349
+ description: 'SLA metrics met',
350
+ type: 'custom',
351
+ },
352
+ {
353
+ description: 'Service period complete',
354
+ type: 'deadline',
355
+ deadline: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
356
+ },
357
+ {
358
+ description: 'Client approval',
359
+ type: 'approval',
360
+ },
361
+ ],
362
+ releaseRequires: 'all_conditions',
363
+ recommendedPartyRoles: ['client', 'provider'],
364
+ },
365
+ construction_contract: {
366
+ name: 'Construction/Renovation Contract',
367
+ description: 'Construction project with inspection milestones',
368
+ vertical: 'services',
369
+ conditions: [
370
+ {
371
+ description: 'Foundation complete',
372
+ type: 'milestone',
373
+ releasePercentage: '25',
374
+ },
375
+ {
376
+ description: 'Framing and electrical',
377
+ type: 'milestone',
378
+ releasePercentage: '25',
379
+ },
380
+ {
381
+ description: 'Finishing work',
382
+ type: 'milestone',
383
+ releasePercentage: '25',
384
+ },
385
+ {
386
+ description: 'Final inspection passed',
387
+ type: 'inspection',
388
+ releasePercentage: '25',
389
+ },
390
+ ],
391
+ releaseRequires: 'condition_based',
392
+ recommendedPartyRoles: ['client', 'contractor', 'inspector'],
393
+ },
394
+ };
395
+ /**
396
+ * Get template by name
397
+ */
398
+ function getTemplate(name) {
399
+ return exports.ESCROW_TEMPLATES[name];
400
+ }
401
+ /**
402
+ * List all templates
403
+ */
404
+ function listTemplates() {
405
+ return Object.values(exports.ESCROW_TEMPLATES);
406
+ }
407
+ /**
408
+ * List templates by vertical
409
+ */
410
+ function listTemplatesByVertical(vertical) {
411
+ return Object.values(exports.ESCROW_TEMPLATES).filter(t => t.vertical === vertical);
412
+ }
413
+ /**
414
+ * Get all verticals
415
+ */
416
+ function getVerticals() {
417
+ return ['real_estate', 'freelance', 'commerce', 'services', 'p2p', 'digital', 'custom'];
418
+ }
419
+ //# sourceMappingURL=escrow-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escrow-templates.js","sourceRoot":"","sources":["../lib/escrow-templates.ts"],"names":[],"mappings":"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"}