@thewhateverapp/platform 0.0.1

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 (122) hide show
  1. package/README.md +223 -0
  2. package/dist/ai/mock.d.ts +14 -0
  3. package/dist/ai/mock.d.ts.map +1 -0
  4. package/dist/ai/mock.js +38 -0
  5. package/dist/ai/mock.js.map +1 -0
  6. package/dist/ai/production.d.ts +17 -0
  7. package/dist/ai/production.d.ts.map +1 -0
  8. package/dist/ai/production.js +41 -0
  9. package/dist/ai/production.js.map +1 -0
  10. package/dist/analytics/client.d.ts +21 -0
  11. package/dist/analytics/client.d.ts.map +1 -0
  12. package/dist/analytics/client.js +60 -0
  13. package/dist/analytics/client.js.map +1 -0
  14. package/dist/assets/client.d.ts +23 -0
  15. package/dist/assets/client.d.ts.map +1 -0
  16. package/dist/assets/client.js +105 -0
  17. package/dist/assets/client.js.map +1 -0
  18. package/dist/auth/client.d.ts +20 -0
  19. package/dist/auth/client.d.ts.map +1 -0
  20. package/dist/auth/client.js +53 -0
  21. package/dist/auth/client.js.map +1 -0
  22. package/dist/auth/types.d.ts +50 -0
  23. package/dist/auth/types.d.ts.map +1 -0
  24. package/dist/auth/types.js +5 -0
  25. package/dist/auth/types.js.map +1 -0
  26. package/dist/db/mock.d.ts +43 -0
  27. package/dist/db/mock.d.ts.map +1 -0
  28. package/dist/db/mock.js +343 -0
  29. package/dist/db/mock.js.map +1 -0
  30. package/dist/db/production.d.ts +16 -0
  31. package/dist/db/production.d.ts.map +1 -0
  32. package/dist/db/production.js +77 -0
  33. package/dist/db/production.js.map +1 -0
  34. package/dist/edge/database/index.d.ts +46 -0
  35. package/dist/edge/database/index.d.ts.map +1 -0
  36. package/dist/edge/database/index.js +82 -0
  37. package/dist/edge/database/index.js.map +1 -0
  38. package/dist/edge/database/providers/flex-db.d.ts +22 -0
  39. package/dist/edge/database/providers/flex-db.d.ts.map +1 -0
  40. package/dist/edge/database/providers/flex-db.js +351 -0
  41. package/dist/edge/database/providers/flex-db.js.map +1 -0
  42. package/dist/edge/database/providers/index.d.ts +7 -0
  43. package/dist/edge/database/providers/index.d.ts.map +1 -0
  44. package/dist/edge/database/providers/index.js +11 -0
  45. package/dist/edge/database/providers/index.js.map +1 -0
  46. package/dist/edge/database/types.d.ts +148 -0
  47. package/dist/edge/database/types.d.ts.map +1 -0
  48. package/dist/edge/database/types.js +8 -0
  49. package/dist/edge/database/types.js.map +1 -0
  50. package/dist/edge/index.d.ts +12 -0
  51. package/dist/edge/index.d.ts.map +1 -0
  52. package/dist/edge/index.js +12 -0
  53. package/dist/edge/index.js.map +1 -0
  54. package/dist/edge/kv/index.d.ts +50 -0
  55. package/dist/edge/kv/index.d.ts.map +1 -0
  56. package/dist/edge/kv/index.js +83 -0
  57. package/dist/edge/kv/index.js.map +1 -0
  58. package/dist/edge/kv/providers/cloudflare-kv.d.ts +31 -0
  59. package/dist/edge/kv/providers/cloudflare-kv.d.ts.map +1 -0
  60. package/dist/edge/kv/providers/cloudflare-kv.js +115 -0
  61. package/dist/edge/kv/providers/cloudflare-kv.js.map +1 -0
  62. package/dist/edge/kv/providers/index.d.ts +7 -0
  63. package/dist/edge/kv/providers/index.d.ts.map +1 -0
  64. package/dist/edge/kv/providers/index.js +10 -0
  65. package/dist/edge/kv/providers/index.js.map +1 -0
  66. package/dist/edge/kv/types.d.ts +155 -0
  67. package/dist/edge/kv/types.d.ts.map +1 -0
  68. package/dist/edge/kv/types.js +8 -0
  69. package/dist/edge/kv/types.js.map +1 -0
  70. package/dist/edge/storage/index.d.ts +50 -0
  71. package/dist/edge/storage/index.d.ts.map +1 -0
  72. package/dist/edge/storage/index.js +83 -0
  73. package/dist/edge/storage/index.js.map +1 -0
  74. package/dist/edge/storage/providers/cloudflare-r2.d.ts +28 -0
  75. package/dist/edge/storage/providers/cloudflare-r2.d.ts.map +1 -0
  76. package/dist/edge/storage/providers/cloudflare-r2.js +178 -0
  77. package/dist/edge/storage/providers/cloudflare-r2.js.map +1 -0
  78. package/dist/edge/storage/providers/index.d.ts +7 -0
  79. package/dist/edge/storage/providers/index.d.ts.map +1 -0
  80. package/dist/edge/storage/providers/index.js +10 -0
  81. package/dist/edge/storage/providers/index.js.map +1 -0
  82. package/dist/edge/storage/types.d.ts +305 -0
  83. package/dist/edge/storage/types.d.ts.map +1 -0
  84. package/dist/edge/storage/types.js +8 -0
  85. package/dist/edge/storage/types.js.map +1 -0
  86. package/dist/identity/client.d.ts +20 -0
  87. package/dist/identity/client.d.ts.map +1 -0
  88. package/dist/identity/client.js +40 -0
  89. package/dist/identity/client.js.map +1 -0
  90. package/dist/index.d.ts +21 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +25 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/notifications/client.d.ts +20 -0
  95. package/dist/notifications/client.d.ts.map +1 -0
  96. package/dist/notifications/client.js +38 -0
  97. package/dist/notifications/client.js.map +1 -0
  98. package/dist/payments/client.d.ts +21 -0
  99. package/dist/payments/client.d.ts.map +1 -0
  100. package/dist/payments/client.js +52 -0
  101. package/dist/payments/client.js.map +1 -0
  102. package/dist/platform.d.ts +65 -0
  103. package/dist/platform.d.ts.map +1 -0
  104. package/dist/platform.js +254 -0
  105. package/dist/platform.js.map +1 -0
  106. package/dist/social/client.d.ts +29 -0
  107. package/dist/social/client.d.ts.map +1 -0
  108. package/dist/social/client.js +83 -0
  109. package/dist/social/client.js.map +1 -0
  110. package/dist/storage/mock.d.ts +27 -0
  111. package/dist/storage/mock.d.ts.map +1 -0
  112. package/dist/storage/mock.js +102 -0
  113. package/dist/storage/mock.js.map +1 -0
  114. package/dist/storage/production.d.ts +28 -0
  115. package/dist/storage/production.d.ts.map +1 -0
  116. package/dist/storage/production.js +75 -0
  117. package/dist/storage/production.js.map +1 -0
  118. package/dist/types.d.ts +399 -0
  119. package/dist/types.d.ts.map +1 -0
  120. package/dist/types.js +5 -0
  121. package/dist/types.js.map +1 -0
  122. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/identity/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,QAAQ,EACR,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,WAAY,YAAW,eAAe;IACrC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;YAE5B,OAAO;IAsBf,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI1E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIjD,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CAG5D"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Identity service client
3
+ */
4
+ export class IdentityAPI {
5
+ config;
6
+ constructor(config) {
7
+ this.config = config;
8
+ }
9
+ async request(method, path, body) {
10
+ const response = await fetch(`${this.config.apiUrl}/identity${path}`, {
11
+ method,
12
+ headers: {
13
+ 'Content-Type': 'application/json',
14
+ 'X-API-Key': this.config.apiKey,
15
+ },
16
+ body: body ? JSON.stringify(body) : undefined,
17
+ });
18
+ if (!response.ok) {
19
+ const error = await response.json().catch(() => ({}));
20
+ throw new Error(error.error || `Identity error: ${response.statusText}`);
21
+ }
22
+ return response.json();
23
+ }
24
+ async resolve(request) {
25
+ return this.request('POST', '/resolve', request);
26
+ }
27
+ async link(userId, identity) {
28
+ await this.request('POST', '/link', { userId, ...identity });
29
+ }
30
+ async unlink(userId, provider) {
31
+ await this.request('POST', '/unlink', { userId, provider });
32
+ }
33
+ async getUser(userId) {
34
+ return this.request('GET', `/user/${userId}`);
35
+ }
36
+ async lookup(identity) {
37
+ return this.request('POST', '/lookup', identity);
38
+ }
39
+ }
40
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/identity/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEtC,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAU;QAEV,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,YAAY,IAAI,EAAE,EAAE;YACpE,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;aAChC;YACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAuB,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,mBAAmB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA+B;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,QAAsB;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,QAAgB;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAsB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @thewhateverapp/platform - Universal SDK for The Whatever App
3
+ *
4
+ * Provides domain-specific services for apps on The Whatever App platform.
5
+ */
6
+ export { createPlatform, WhateverPlatform } from './platform';
7
+ export type * from './types';
8
+ export { ProductionStorage } from './storage/production';
9
+ export { MockStorage } from './storage/mock';
10
+ export { ProductionDB } from './db/production';
11
+ export { MockDB } from './db/mock';
12
+ export { ProductionAI } from './ai/production';
13
+ export { MockAI } from './ai/mock';
14
+ export { AnalyticsAPI } from './analytics/client';
15
+ export { IdentityAPI } from './identity/client';
16
+ export { AssetsAPI } from './assets/client';
17
+ export { PaymentsAPI } from './payments/client';
18
+ export { NotificationsAPI } from './notifications/client';
19
+ export { SocialAPI } from './social/client';
20
+ export { AuthAPI } from './auth/client';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9D,mBAAmB,SAAS,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @thewhateverapp/platform - Universal SDK for The Whatever App
3
+ *
4
+ * Provides domain-specific services for apps on The Whatever App platform.
5
+ */
6
+ // Main exports
7
+ export { createPlatform, WhateverPlatform } from './platform';
8
+ // Service exports
9
+ export { ProductionStorage } from './storage/production';
10
+ export { MockStorage } from './storage/mock';
11
+ export { ProductionDB } from './db/production';
12
+ export { MockDB } from './db/mock';
13
+ export { ProductionAI } from './ai/production';
14
+ export { MockAI } from './ai/mock';
15
+ export { AnalyticsAPI } from './analytics/client';
16
+ export { IdentityAPI } from './identity/client';
17
+ export { AssetsAPI } from './assets/client';
18
+ export { PaymentsAPI } from './payments/client';
19
+ export { NotificationsAPI } from './notifications/client';
20
+ export { SocialAPI } from './social/client';
21
+ export { AuthAPI } from './auth/client';
22
+ // Edge runtime exports (for user-generated apps)
23
+ // Note: Import from '@thewhateverapp/platform/edge' to use edge APIs
24
+ // This avoids type conflicts with the main platform types
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9D,kBAAkB;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,iDAAiD;AACjD,qEAAqE;AACrE,0DAA0D"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Notifications service client
3
+ */
4
+ import type { NotificationsService, SendNotificationRequest, ScheduleNotificationRequest, NotificationResult, ScheduledNotification } from '../types';
5
+ interface NotificationsConfig {
6
+ apiUrl: string;
7
+ apiKey: string;
8
+ appId: string;
9
+ }
10
+ export declare class NotificationsAPI implements NotificationsService {
11
+ private config;
12
+ constructor(config: NotificationsConfig);
13
+ private request;
14
+ send(request: SendNotificationRequest): Promise<NotificationResult>;
15
+ schedule(request: ScheduleNotificationRequest): Promise<ScheduledNotification>;
16
+ cancel(notificationId: string): Promise<void>;
17
+ getScheduled(userId: string): Promise<ScheduledNotification[]>;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/notifications/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAElB,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,gBAAiB,YAAW,oBAAoB;IAC/C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;YAEjC,OAAO;IAuBf,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInE,QAAQ,CACZ,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IAI3B,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAGrE"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Notifications service client
3
+ */
4
+ export class NotificationsAPI {
5
+ config;
6
+ constructor(config) {
7
+ this.config = config;
8
+ }
9
+ async request(method, path, body) {
10
+ const response = await fetch(`${this.config.apiUrl}/notifications${path}`, {
11
+ method,
12
+ headers: {
13
+ 'Content-Type': 'application/json',
14
+ 'X-API-Key': this.config.apiKey,
15
+ 'X-App-ID': this.config.appId,
16
+ },
17
+ body: body ? JSON.stringify(body) : undefined,
18
+ });
19
+ if (!response.ok) {
20
+ const error = await response.json().catch(() => ({}));
21
+ throw new Error(error.error || `Notifications error: ${response.statusText}`);
22
+ }
23
+ return response.json();
24
+ }
25
+ async send(request) {
26
+ return this.request('POST', '/send', request);
27
+ }
28
+ async schedule(request) {
29
+ return this.request('POST', '/schedule', request);
30
+ }
31
+ async cancel(notificationId) {
32
+ await this.request('DELETE', `/${notificationId}`);
33
+ }
34
+ async getScheduled(userId) {
35
+ return this.request('GET', `/scheduled/${userId}`);
36
+ }
37
+ }
38
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/notifications/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,MAAM,OAAO,gBAAgB;IACP;IAApB,YAAoB,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE3C,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAU;QAEV,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,iBAAiB,IAAI,EAAE,EAAE;YACzE,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;aAC9B;YACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAuB,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,wBAAwB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAgC;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAoC;QAEpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,cAAsB;QACjC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Payments service client
3
+ */
4
+ import type { PaymentsService, CreateCheckoutRequest, CheckoutSession, PaymentStatus, Transaction, TransactionQueryOptions, RefundResult, CryptoPaymentRequest, CryptoPayment } from '../types';
5
+ interface PaymentsConfig {
6
+ apiUrl: string;
7
+ apiKey: string;
8
+ appId: string;
9
+ }
10
+ export declare class PaymentsAPI implements PaymentsService {
11
+ private config;
12
+ constructor(config: PaymentsConfig);
13
+ private request;
14
+ createCheckout(request: CreateCheckoutRequest): Promise<CheckoutSession>;
15
+ getStatus(sessionId: string): Promise<PaymentStatus>;
16
+ getTransactions(options?: TransactionQueryOptions): Promise<Transaction[]>;
17
+ refund(transactionId: string, amount?: number): Promise<RefundResult>;
18
+ createCryptoPayment(request: CryptoPaymentRequest): Promise<CryptoPayment>;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/payments/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACd,MAAM,UAAU,CAAC;AAElB,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,WAAY,YAAW,eAAe;IACrC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;YAE5B,OAAO;IAuBf,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIxE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpD,eAAe,CACnB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,WAAW,EAAE,CAAC;IAWnB,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIrE,mBAAmB,CACvB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC;CAG1B"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Payments service client
3
+ */
4
+ export class PaymentsAPI {
5
+ config;
6
+ constructor(config) {
7
+ this.config = config;
8
+ }
9
+ async request(method, path, body) {
10
+ const response = await fetch(`${this.config.apiUrl}/payments${path}`, {
11
+ method,
12
+ headers: {
13
+ 'Content-Type': 'application/json',
14
+ 'X-API-Key': this.config.apiKey,
15
+ 'X-App-ID': this.config.appId,
16
+ },
17
+ body: body ? JSON.stringify(body) : undefined,
18
+ });
19
+ if (!response.ok) {
20
+ const error = await response.json().catch(() => ({}));
21
+ throw new Error(error.error || `Payments error: ${response.statusText}`);
22
+ }
23
+ return response.json();
24
+ }
25
+ async createCheckout(request) {
26
+ return this.request('POST', '/checkout', request);
27
+ }
28
+ async getStatus(sessionId) {
29
+ return this.request('GET', `/status/${sessionId}`);
30
+ }
31
+ async getTransactions(options) {
32
+ const params = new URLSearchParams();
33
+ if (options?.userId)
34
+ params.set('userId', options.userId);
35
+ if (options?.status)
36
+ params.set('status', options.status);
37
+ if (options?.startDate)
38
+ params.set('startDate', options.startDate);
39
+ if (options?.endDate)
40
+ params.set('endDate', options.endDate);
41
+ if (options?.limit)
42
+ params.set('limit', options.limit.toString());
43
+ return this.request('GET', `/transactions?${params.toString()}`);
44
+ }
45
+ async refund(transactionId, amount) {
46
+ return this.request('POST', `/refund`, { transactionId, amount });
47
+ }
48
+ async createCryptoPayment(request) {
49
+ return this.request('POST', '/crypto', request);
50
+ }
51
+ }
52
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/payments/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEtC,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAU;QAEV,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,YAAY,IAAI,EAAE,EAAE;YACpE,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;aAC9B;YACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAuB,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,mBAAmB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAiC;QAEjC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,OAAO,EAAE,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,MAAe;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,OAA6B;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Main platform container that manages all services
3
+ */
4
+ import type { PlatformContext, PlatformOptions, PlatformServices, StorageService, DatabaseService, AIService, AnalyticsService, IdentityService, AssetsService, SocialService } from './types';
5
+ export declare class WhateverPlatform {
6
+ private context;
7
+ private options;
8
+ private services;
9
+ private debug;
10
+ constructor(context: PlatformContext, options?: PlatformOptions);
11
+ private initializeServices;
12
+ /**
13
+ * Get all available services
14
+ */
15
+ getServices(): PlatformServices;
16
+ /**
17
+ * Get storage service (always available)
18
+ */
19
+ get storage(): StorageService;
20
+ /**
21
+ * Get database service
22
+ */
23
+ get db(): DatabaseService;
24
+ /**
25
+ * Get AI service
26
+ */
27
+ get ai(): AIService;
28
+ /**
29
+ * Get analytics service
30
+ */
31
+ get analytics(): AnalyticsService;
32
+ /**
33
+ * Get identity service
34
+ */
35
+ get identity(): IdentityService;
36
+ /**
37
+ * Get assets service
38
+ */
39
+ get assets(): AssetsService;
40
+ /**
41
+ * Get social service
42
+ */
43
+ get social(): SocialService;
44
+ /**
45
+ * Detect if we're running in mock mode
46
+ */
47
+ private detectMockMode;
48
+ /**
49
+ * Extract app ID from environment or request
50
+ */
51
+ private extractAppId;
52
+ /**
53
+ * Get platform API URL
54
+ */
55
+ private getApiUrl;
56
+ /**
57
+ * Debug logging
58
+ */
59
+ private log;
60
+ }
61
+ /**
62
+ * Factory function to create platform instance
63
+ */
64
+ export declare function createPlatform(context: PlatformContext, options?: PlatformOptions): WhateverPlatform;
65
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EAIb,aAAa,EACd,MAAM,SAAS,CAAC;AAgBjB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,KAAK,CAAU;gBAEX,OAAO,EAAE,eAAe,EAAE,OAAO,GAAE,eAAoB;IAQnE,OAAO,CAAC,kBAAkB;IA2F1B;;OAEG;IACI,WAAW,IAAI,gBAAgB;IAItC;;OAEG;IACH,IAAW,OAAO,IAAI,cAAc,CAKnC;IAED;;OAEG;IACH,IAAW,EAAE,IAAI,eAAe,CAK/B;IAED;;OAEG;IACH,IAAW,EAAE,IAAI,SAAS,CAKzB;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,gBAAgB,CAOvC;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,eAAe,CAKrC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,aAAa,CAOjC;IA4BD;;OAEG;IACH,IAAW,MAAM,IAAI,aAAa,CAKjC;IAED;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAQjB;;OAEG;IACH,OAAO,CAAC,GAAG;CAKZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,eAAoB,GAC5B,gBAAgB,CAElB"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Main platform container that manages all services
3
+ */
4
+ import { ProductionStorage } from './storage/production';
5
+ import { MockStorage } from './storage/mock';
6
+ import { ProductionDB } from './db/production';
7
+ import { MockDB } from './db/mock';
8
+ import { ProductionAI } from './ai/production';
9
+ import { MockAI } from './ai/mock';
10
+ import { AnalyticsAPI } from './analytics/client';
11
+ import { IdentityAPI } from './identity/client';
12
+ import { AssetsAPI } from './assets/client';
13
+ // FEATURE GATED - Not available in initial release
14
+ // import { PaymentsAPI } from './payments/client';
15
+ // import { NotificationsAPI } from './notifications/client';
16
+ import { SocialAPI } from './social/client';
17
+ export class WhateverPlatform {
18
+ context;
19
+ options;
20
+ services = {};
21
+ debug;
22
+ constructor(context, options = {}) {
23
+ this.context = context;
24
+ this.options = options;
25
+ this.debug = options.debug || false;
26
+ this.initializeServices();
27
+ }
28
+ initializeServices() {
29
+ const isMock = this.options.mock || this.detectMockMode();
30
+ const apiKey = this.options.apiKey || this.context.env.PLATFORM_API_KEY;
31
+ const appId = this.options.appId || this.context.env.APP_ID || this.extractAppId();
32
+ this.log('Initializing services', { isMock, appId, hasApiKey: !!apiKey });
33
+ // Storage - always initialized
34
+ this.services.storage = isMock
35
+ ? new MockStorage({ debug: this.debug })
36
+ : new ProductionStorage({
37
+ namespace: this.context.env.STORAGE_NAMESPACE,
38
+ appId,
39
+ });
40
+ // Database - if app ID available
41
+ if (appId) {
42
+ this.services.db = isMock
43
+ ? new MockDB({ debug: this.debug })
44
+ : new ProductionDB({
45
+ apiUrl: this.getApiUrl(),
46
+ appId,
47
+ apiKey,
48
+ });
49
+ }
50
+ // AI Service - if API key available
51
+ if (apiKey || isMock) {
52
+ this.services.ai = isMock
53
+ ? new MockAI({ debug: this.debug })
54
+ : new ProductionAI({
55
+ apiUrl: this.getApiUrl(),
56
+ apiKey,
57
+ });
58
+ }
59
+ // Analytics - if API key available
60
+ if (apiKey && appId) {
61
+ this.services.analytics = new AnalyticsAPI({
62
+ apiUrl: this.getApiUrl(),
63
+ apiKey,
64
+ appId,
65
+ });
66
+ }
67
+ // Identity - if API key available
68
+ if (apiKey) {
69
+ this.services.identity = new IdentityAPI({
70
+ apiUrl: this.getApiUrl(),
71
+ apiKey,
72
+ });
73
+ }
74
+ // Assets - if API key available
75
+ if (apiKey && appId) {
76
+ this.services.assets = new AssetsAPI({
77
+ apiUrl: this.getApiUrl(),
78
+ apiKey,
79
+ appId,
80
+ });
81
+ }
82
+ // FEATURE GATED - Not available in initial release
83
+ // // Payments - if API key available
84
+ // if (apiKey && appId) {
85
+ // this.services.payments = new PaymentsAPI({
86
+ // apiUrl: this.getApiUrl(),
87
+ // apiKey,
88
+ // appId,
89
+ // });
90
+ // }
91
+ // FEATURE GATED - Not available in initial release
92
+ // // Notifications - if API key available
93
+ // if (apiKey && appId) {
94
+ // this.services.notifications = new NotificationsAPI({
95
+ // apiUrl: this.getApiUrl(),
96
+ // apiKey,
97
+ // appId,
98
+ // });
99
+ // }
100
+ // Social - if API key available
101
+ if (apiKey) {
102
+ this.services.social = new SocialAPI({
103
+ apiUrl: this.getApiUrl(),
104
+ apiKey,
105
+ });
106
+ }
107
+ }
108
+ /**
109
+ * Get all available services
110
+ */
111
+ getServices() {
112
+ return this.services;
113
+ }
114
+ /**
115
+ * Get storage service (always available)
116
+ */
117
+ get storage() {
118
+ if (!this.services.storage) {
119
+ throw new Error('Storage service not initialized');
120
+ }
121
+ return this.services.storage;
122
+ }
123
+ /**
124
+ * Get database service
125
+ */
126
+ get db() {
127
+ if (!this.services.db) {
128
+ throw new Error('Database service not initialized. Ensure APP_ID is set.');
129
+ }
130
+ return this.services.db;
131
+ }
132
+ /**
133
+ * Get AI service
134
+ */
135
+ get ai() {
136
+ if (!this.services.ai) {
137
+ throw new Error('AI service not initialized. Ensure PLATFORM_API_KEY is set.');
138
+ }
139
+ return this.services.ai;
140
+ }
141
+ /**
142
+ * Get analytics service
143
+ */
144
+ get analytics() {
145
+ if (!this.services.analytics) {
146
+ throw new Error('Analytics service not initialized. Ensure PLATFORM_API_KEY and APP_ID are set.');
147
+ }
148
+ return this.services.analytics;
149
+ }
150
+ /**
151
+ * Get identity service
152
+ */
153
+ get identity() {
154
+ if (!this.services.identity) {
155
+ throw new Error('Identity service not initialized. Ensure PLATFORM_API_KEY is set.');
156
+ }
157
+ return this.services.identity;
158
+ }
159
+ /**
160
+ * Get assets service
161
+ */
162
+ get assets() {
163
+ if (!this.services.assets) {
164
+ throw new Error('Assets service not initialized. Ensure PLATFORM_API_KEY and APP_ID are set.');
165
+ }
166
+ return this.services.assets;
167
+ }
168
+ // FEATURE GATED - Not available in initial release
169
+ // /**
170
+ // * Get payments service
171
+ // */
172
+ // public get payments(): PaymentsService {
173
+ // if (!this.services.payments) {
174
+ // throw new Error(
175
+ // 'Payments service not initialized. Ensure PLATFORM_API_KEY and APP_ID are set.'
176
+ // );
177
+ // }
178
+ // return this.services.payments;
179
+ // }
180
+ // FEATURE GATED - Not available in initial release
181
+ // /**
182
+ // * Get notifications service
183
+ // */
184
+ // public get notifications(): NotificationsService {
185
+ // if (!this.services.notifications) {
186
+ // throw new Error(
187
+ // 'Notifications service not initialized. Ensure PLATFORM_API_KEY and APP_ID are set.'
188
+ // );
189
+ // }
190
+ // return this.services.notifications;
191
+ // }
192
+ /**
193
+ * Get social service
194
+ */
195
+ get social() {
196
+ if (!this.services.social) {
197
+ throw new Error('Social service not initialized. Ensure PLATFORM_API_KEY is set.');
198
+ }
199
+ return this.services.social;
200
+ }
201
+ /**
202
+ * Detect if we're running in mock mode
203
+ */
204
+ detectMockMode() {
205
+ const appId = this.options.appId || this.context.env.APP_ID;
206
+ return appId?.startsWith('mock-') || appId?.startsWith('test-') || false;
207
+ }
208
+ /**
209
+ * Extract app ID from environment or request
210
+ */
211
+ extractAppId() {
212
+ // Try environment first
213
+ if (this.context.env.APP_ID) {
214
+ return this.context.env.APP_ID;
215
+ }
216
+ // Try to extract from request hostname (e.g., app-xyz.pages.dev)
217
+ if (this.context.request) {
218
+ try {
219
+ const url = new URL(this.context.request.url);
220
+ const match = url.hostname.match(/^app-([^.]+)\./);
221
+ if (match) {
222
+ return match[1];
223
+ }
224
+ }
225
+ catch (e) {
226
+ this.log('Failed to extract app ID from request URL', e);
227
+ }
228
+ }
229
+ return undefined;
230
+ }
231
+ /**
232
+ * Get platform API URL
233
+ */
234
+ getApiUrl() {
235
+ return (this.context.env.PLATFORM_API_URL ||
236
+ this.options.mock ||
237
+ 'https://platform.thewhatever.app');
238
+ }
239
+ /**
240
+ * Debug logging
241
+ */
242
+ log(message, ...args) {
243
+ if (this.debug) {
244
+ console.log(`[WhateverPlatform] ${message}`, ...args);
245
+ }
246
+ }
247
+ }
248
+ /**
249
+ * Factory function to create platform instance
250
+ */
251
+ export function createPlatform(context, options = {}) {
252
+ return new WhateverPlatform(context, options);
253
+ }
254
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Social service client
3
+ */
4
+ import type { SocialService, AddCommentRequest, Comment, CommentQueryOptions, LikeInfo, ShareInfo } from '../types';
5
+ interface SocialConfig {
6
+ apiUrl: string;
7
+ apiKey: string;
8
+ }
9
+ export declare class SocialAPI implements SocialService {
10
+ private config;
11
+ constructor(config: SocialConfig);
12
+ private request;
13
+ addComment(request: AddCommentRequest): Promise<Comment>;
14
+ getComments(entityId: string, options?: CommentQueryOptions): Promise<Comment[]>;
15
+ deleteComment(commentId: string): Promise<void>;
16
+ updateComment(commentId: string, content: string): Promise<Comment>;
17
+ like(entityId: string, userId: string): Promise<void>;
18
+ unlike(entityId: string, userId: string): Promise<void>;
19
+ getLikes(entityId: string): Promise<LikeInfo>;
20
+ hasLiked(entityId: string, userId: string): Promise<boolean>;
21
+ share(entityId: string, userId: string, platform?: string): Promise<void>;
22
+ getShares(entityId: string): Promise<ShareInfo>;
23
+ follow(userId: string, targetUserId: string): Promise<void>;
24
+ unfollow(userId: string, targetUserId: string): Promise<void>;
25
+ getFollowers(userId: string): Promise<string[]>;
26
+ getFollowing(userId: string): Promise<string[]>;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/social/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACV,MAAM,UAAU,CAAC;AAElB,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,SAAU,YAAW,aAAa;IACjC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;YAE1B,OAAO;IAuBf,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxD,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,OAAO,EAAE,CAAC;IAUf,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5D,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAK/C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ/C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAOtD"}