@teactjs/storage 0.1.0-alpha.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 (74) hide show
  1. package/README.md +97 -0
  2. package/dist/index.js +21827 -0
  3. package/dist/react/src/callback-registry.d.ts +11 -0
  4. package/dist/react/src/callback-registry.d.ts.map +1 -0
  5. package/dist/react/src/components.d.ts +396 -0
  6. package/dist/react/src/components.d.ts.map +1 -0
  7. package/dist/react/src/error-boundary.d.ts +19 -0
  8. package/dist/react/src/error-boundary.d.ts.map +1 -0
  9. package/dist/react/src/hooks.d.ts +37 -0
  10. package/dist/react/src/hooks.d.ts.map +1 -0
  11. package/dist/react/src/index.d.ts +11 -0
  12. package/dist/react/src/index.d.ts.map +1 -0
  13. package/dist/renderer/src/index.d.ts +5 -0
  14. package/dist/renderer/src/index.d.ts.map +1 -0
  15. package/dist/renderer/src/nodes.d.ts +23 -0
  16. package/dist/renderer/src/nodes.d.ts.map +1 -0
  17. package/dist/renderer/src/renderer.d.ts +9 -0
  18. package/dist/renderer/src/renderer.d.ts.map +1 -0
  19. package/dist/renderer/src/types.d.ts +36 -0
  20. package/dist/renderer/src/types.d.ts.map +1 -0
  21. package/dist/runtime/src/auth-session.d.ts +51 -0
  22. package/dist/runtime/src/auth-session.d.ts.map +1 -0
  23. package/dist/runtime/src/auth.d.ts +37 -0
  24. package/dist/runtime/src/auth.d.ts.map +1 -0
  25. package/dist/runtime/src/bot.d.ts +143 -0
  26. package/dist/runtime/src/bot.d.ts.map +1 -0
  27. package/dist/runtime/src/config.d.ts +38 -0
  28. package/dist/runtime/src/config.d.ts.map +1 -0
  29. package/dist/runtime/src/context.d.ts +74 -0
  30. package/dist/runtime/src/context.d.ts.map +1 -0
  31. package/dist/runtime/src/conversation.d.ts +310 -0
  32. package/dist/runtime/src/conversation.d.ts.map +1 -0
  33. package/dist/runtime/src/event-hooks.d.ts +49 -0
  34. package/dist/runtime/src/event-hooks.d.ts.map +1 -0
  35. package/dist/runtime/src/i18n.d.ts +55 -0
  36. package/dist/runtime/src/i18n.d.ts.map +1 -0
  37. package/dist/runtime/src/index.d.ts +28 -0
  38. package/dist/runtime/src/index.d.ts.map +1 -0
  39. package/dist/runtime/src/invoice.d.ts +120 -0
  40. package/dist/runtime/src/invoice.d.ts.map +1 -0
  41. package/dist/runtime/src/media-hooks.d.ts +178 -0
  42. package/dist/runtime/src/media-hooks.d.ts.map +1 -0
  43. package/dist/runtime/src/middleware.d.ts +26 -0
  44. package/dist/runtime/src/middleware.d.ts.map +1 -0
  45. package/dist/runtime/src/plugin.d.ts +32 -0
  46. package/dist/runtime/src/plugin.d.ts.map +1 -0
  47. package/dist/runtime/src/router.d.ts +168 -0
  48. package/dist/runtime/src/router.d.ts.map +1 -0
  49. package/dist/runtime/src/session.d.ts +20 -0
  50. package/dist/runtime/src/session.d.ts.map +1 -0
  51. package/dist/runtime/src/stream.d.ts +34 -0
  52. package/dist/runtime/src/stream.d.ts.map +1 -0
  53. package/dist/storage/src/drivers/file.d.ts +18 -0
  54. package/dist/storage/src/drivers/file.d.ts.map +1 -0
  55. package/dist/storage/src/drivers/memory.d.ts +11 -0
  56. package/dist/storage/src/drivers/memory.d.ts.map +1 -0
  57. package/dist/storage/src/index.d.ts +5 -0
  58. package/dist/storage/src/index.d.ts.map +1 -0
  59. package/dist/storage/src/plugin.d.ts +29 -0
  60. package/dist/storage/src/plugin.d.ts.map +1 -0
  61. package/dist/storage/src/types.d.ts +29 -0
  62. package/dist/storage/src/types.d.ts.map +1 -0
  63. package/dist/telegram/src/adapter.d.ts +83 -0
  64. package/dist/telegram/src/adapter.d.ts.map +1 -0
  65. package/dist/telegram/src/conversations.d.ts +175 -0
  66. package/dist/telegram/src/conversations.d.ts.map +1 -0
  67. package/dist/telegram/src/index.d.ts +8 -0
  68. package/dist/telegram/src/index.d.ts.map +1 -0
  69. package/dist/telegram/src/serialize.d.ts +80 -0
  70. package/dist/telegram/src/serialize.d.ts.map +1 -0
  71. package/dist/telegram/src/stream.d.ts +12 -0
  72. package/dist/telegram/src/stream.d.ts.map +1 -0
  73. package/package.json +31 -0
  74. package/src/index.ts +4 -0
@@ -0,0 +1,80 @@
1
+ import type { OutputNode } from '@teactjs/renderer';
2
+ import type { InlineKeyboardButton as GrammyButton, KeyboardButton } from 'grammy/types';
3
+ export type SendMethod = 'sendMessage' | 'sendPhoto' | 'sendDocument' | 'sendVideo' | 'sendVoice' | 'sendAudio' | 'sendAnimation' | 'sendVideoNote' | 'sendSticker' | 'sendContact' | 'sendLocation' | 'sendVenue' | 'sendMediaGroup' | 'sendPoll';
4
+ export interface MediaGroupItem {
5
+ type: 'photo' | 'video';
6
+ media: string;
7
+ caption?: string;
8
+ parse_mode?: string;
9
+ has_spoiler?: boolean;
10
+ width?: number;
11
+ height?: number;
12
+ duration?: number;
13
+ supports_streaming?: boolean;
14
+ }
15
+ export interface TelegramSendPayload {
16
+ method: SendMethod;
17
+ text?: string;
18
+ photo?: string;
19
+ document?: string;
20
+ filename?: string;
21
+ parseMode?: string;
22
+ disablePreview?: boolean;
23
+ keyboard?: GrammyButton[][];
24
+ video?: string;
25
+ voice?: string;
26
+ audio?: string;
27
+ animation?: string;
28
+ videoNote?: string;
29
+ sticker?: string;
30
+ width?: number;
31
+ height?: number;
32
+ duration?: number;
33
+ supportsStreaming?: boolean;
34
+ hasSpoiler?: boolean;
35
+ performer?: string;
36
+ title?: string;
37
+ length?: number;
38
+ emoji?: string;
39
+ phoneNumber?: string;
40
+ firstName?: string;
41
+ lastName?: string;
42
+ vcard?: string;
43
+ latitude?: number;
44
+ longitude?: number;
45
+ livePeriod?: number;
46
+ horizontalAccuracy?: number;
47
+ heading?: number;
48
+ proximityAlertRadius?: number;
49
+ venueTitle?: string;
50
+ venueAddress?: string;
51
+ foursquareId?: string;
52
+ foursquareType?: string;
53
+ googlePlaceId?: string;
54
+ googlePlaceType?: string;
55
+ mediaGroup?: MediaGroupItem[];
56
+ replyKeyboard?: {
57
+ rows: KeyboardButton[][];
58
+ resizeKeyboard?: boolean;
59
+ oneTimeKeyboard?: boolean;
60
+ placeholder?: string;
61
+ isPersistent?: boolean;
62
+ };
63
+ removeKeyboard?: boolean;
64
+ notification?: {
65
+ text: string;
66
+ showAlert?: boolean;
67
+ };
68
+ pollQuestion?: string;
69
+ pollOptions?: string[];
70
+ pollIsAnonymous?: boolean;
71
+ pollType?: 'regular' | 'quiz';
72
+ pollAllowsMultipleAnswers?: boolean;
73
+ pollCorrectOptionId?: number;
74
+ pollExplanation?: string;
75
+ pollExplanationParseMode?: string;
76
+ pollOpenPeriod?: number;
77
+ pollIsClosed?: boolean;
78
+ }
79
+ export declare function serializeOutput(node: OutputNode): TelegramSendPayload;
80
+ //# sourceMappingURL=serialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../../telegram/src/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,IAAI,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzF,MAAM,MAAM,UAAU,GAClB,aAAa,GAAG,WAAW,GAAG,cAAc,GAC5C,WAAW,GAAG,WAAW,GAAG,WAAW,GACvC,eAAe,GAAG,eAAe,GAAG,aAAa,GACjD,aAAa,GAAG,cAAc,GAAG,WAAW,GAC5C,gBAAgB,GAAG,UAAU,CAAC;AAElC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;IAE5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChJ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAErD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,CAIrE"}
@@ -0,0 +1,12 @@
1
+ import type { TeactPlugin } from '@teactjs/runtime';
2
+ /**
3
+ * Grammy stream plugin for Teact.
4
+ *
5
+ * Registers `@grammyjs/stream` and `@grammyjs/auto-retry` on the Grammy bot.
6
+ * Enables `conversation.stream()` for live-updating messages from async generators.
7
+ *
8
+ * @example
9
+ * plugins: [ streamPlugin() ]
10
+ */
11
+ export declare function streamPlugin(): TeactPlugin;
12
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../telegram/src/stream.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,WAAW,CAS1C"}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@teactjs/storage",
3
+ "version": "0.1.0-alpha.1",
4
+ "description": "Persistent storage plugin for Teact — file-based and in-memory drivers",
5
+ "type": "module",
6
+ "main": "src/index.ts",
7
+ "types": "src/index.ts",
8
+ "exports": {
9
+ ".": "./src/index.ts"
10
+ },
11
+ "publishConfig": {
12
+ "main": "dist/index.js",
13
+ "types": "dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "import": "./dist/index.js",
17
+ "types": "./dist/index.d.ts"
18
+ }
19
+ }
20
+ },
21
+ "files": ["dist", "README.md"],
22
+ "scripts": {
23
+ "build": "bun build ./src/index.ts --outdir ./dist --format esm --target bun && tsc --emitDeclarationOnly --outDir dist --declaration --project tsconfig.build.json"
24
+ },
25
+ "dependencies": {},
26
+ "peerDependencies": {
27
+ "react": "^18.0.0 || ^19.0.0",
28
+ "@teactjs/runtime": "workspace:*"
29
+ },
30
+ "license": "MIT"
31
+ }
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ export { storagePlugin, useStorage, useGlobalStorage } from './plugin';
2
+ export type { StorageDriver, StoragePluginOptions } from './types';
3
+ export { MemoryDriver } from './drivers/memory';
4
+ export { FileDriver } from './drivers/file';