popii-framework 0.6.1-beta.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 (177) hide show
  1. package/README.md +159 -0
  2. package/dist/cli/commands.d.ts +15 -0
  3. package/dist/cli/commands.d.ts.map +1 -0
  4. package/dist/cli/pages.d.ts +5 -0
  5. package/dist/cli/pages.d.ts.map +1 -0
  6. package/dist/cli/scaffold.d.ts +23 -0
  7. package/dist/cli/scaffold.d.ts.map +1 -0
  8. package/dist/cli.d.ts +3 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/cli.js +1710 -0
  11. package/dist/client.d.ts +40 -0
  12. package/dist/client.d.ts.map +1 -0
  13. package/dist/define/command.d.ts +47 -0
  14. package/dist/define/command.d.ts.map +1 -0
  15. package/dist/define/event.d.ts +52 -0
  16. package/dist/define/event.d.ts.map +1 -0
  17. package/dist/define/snap.d.ts +55 -0
  18. package/dist/define/snap.d.ts.map +1 -0
  19. package/dist/define/task.d.ts +64 -0
  20. package/dist/define/task.d.ts.map +1 -0
  21. package/dist/handler/cache.d.ts +6 -0
  22. package/dist/handler/cache.d.ts.map +1 -0
  23. package/dist/handler/context.d.ts +3 -0
  24. package/dist/handler/context.d.ts.map +1 -0
  25. package/dist/handler/index.d.ts +8 -0
  26. package/dist/handler/index.d.ts.map +1 -0
  27. package/dist/handler/interaction.d.ts +4 -0
  28. package/dist/handler/interaction.d.ts.map +1 -0
  29. package/dist/handler/lock.d.ts +2 -0
  30. package/dist/handler/lock.d.ts.map +1 -0
  31. package/dist/handler/logger.d.ts +4 -0
  32. package/dist/handler/logger.d.ts.map +1 -0
  33. package/dist/handler/message.d.ts +4 -0
  34. package/dist/handler/message.d.ts.map +1 -0
  35. package/dist/handler/middleware.d.ts +5 -0
  36. package/dist/handler/middleware.d.ts.map +1 -0
  37. package/dist/index.d.ts +31 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +10464 -0
  40. package/dist/loader/fizz.d.ts +2 -0
  41. package/dist/loader/fizz.d.ts.map +1 -0
  42. package/dist/loader/index.d.ts +3 -0
  43. package/dist/loader/index.d.ts.map +1 -0
  44. package/dist/loader/locales.d.ts +2 -0
  45. package/dist/loader/locales.d.ts.map +1 -0
  46. package/dist/loader/middleware.d.ts +54 -0
  47. package/dist/loader/middleware.d.ts.map +1 -0
  48. package/dist/loader/snaps.d.ts +3 -0
  49. package/dist/loader/snaps.d.ts.map +1 -0
  50. package/dist/loader/tasks.d.ts +3 -0
  51. package/dist/loader/tasks.d.ts.map +1 -0
  52. package/dist/plugins/activity.d.ts +15 -0
  53. package/dist/plugins/activity.d.ts.map +1 -0
  54. package/dist/plugins/ai.d.ts +35 -0
  55. package/dist/plugins/ai.d.ts.map +1 -0
  56. package/dist/plugins/automod.d.ts +12 -0
  57. package/dist/plugins/automod.d.ts.map +1 -0
  58. package/dist/plugins/canvas.d.ts +75 -0
  59. package/dist/plugins/canvas.d.ts.map +1 -0
  60. package/dist/plugins/captcha.d.ts +20 -0
  61. package/dist/plugins/captcha.d.ts.map +1 -0
  62. package/dist/plugins/commandAnalytic.d.ts +8 -0
  63. package/dist/plugins/commandAnalytic.d.ts.map +1 -0
  64. package/dist/plugins/commandLogger.d.ts +13 -0
  65. package/dist/plugins/commandLogger.d.ts.map +1 -0
  66. package/dist/plugins/desk.d.ts +23 -0
  67. package/dist/plugins/desk.d.ts.map +1 -0
  68. package/dist/plugins/economy.d.ts +41 -0
  69. package/dist/plugins/economy.d.ts.map +1 -0
  70. package/dist/plugins/errorHandler.d.ts +8 -0
  71. package/dist/plugins/errorHandler.d.ts.map +1 -0
  72. package/dist/plugins/giveaway.d.ts +21 -0
  73. package/dist/plugins/giveaway.d.ts.map +1 -0
  74. package/dist/plugins/lastfm.d.ts +24 -0
  75. package/dist/plugins/lastfm.d.ts.map +1 -0
  76. package/dist/plugins/mongoose.d.ts +23 -0
  77. package/dist/plugins/mongoose.d.ts.map +1 -0
  78. package/dist/plugins/pay.d.ts +24 -0
  79. package/dist/plugins/pay.d.ts.map +1 -0
  80. package/dist/plugins/permissionGuard.d.ts +8 -0
  81. package/dist/plugins/permissionGuard.d.ts.map +1 -0
  82. package/dist/plugins/reload.d.ts +8 -0
  83. package/dist/plugins/reload.d.ts.map +1 -0
  84. package/dist/plugins/sqlite.d.ts +20 -0
  85. package/dist/plugins/sqlite.d.ts.map +1 -0
  86. package/dist/plugins/telemetry.d.ts +11 -0
  87. package/dist/plugins/telemetry.d.ts.map +1 -0
  88. package/dist/plugins/ui.d.ts +60 -0
  89. package/dist/plugins/ui.d.ts.map +1 -0
  90. package/dist/plugins/voice/player.d.ts +9 -0
  91. package/dist/plugins/voice/player.d.ts.map +1 -0
  92. package/dist/plugins/voice/resolver.d.ts +16 -0
  93. package/dist/plugins/voice/resolver.d.ts.map +1 -0
  94. package/dist/plugins/voice/setup.d.ts +11 -0
  95. package/dist/plugins/voice/setup.d.ts.map +1 -0
  96. package/dist/plugins/voice/sponsorblock.d.ts +17 -0
  97. package/dist/plugins/voice/sponsorblock.d.ts.map +1 -0
  98. package/dist/plugins/voice/state.d.ts +35 -0
  99. package/dist/plugins/voice/state.d.ts.map +1 -0
  100. package/dist/plugins/voice/types.d.ts +14 -0
  101. package/dist/plugins/voice/types.d.ts.map +1 -0
  102. package/dist/plugins/voice/utils.d.ts +14 -0
  103. package/dist/plugins/voice/utils.d.ts.map +1 -0
  104. package/dist/plugins/voice.d.ts +72 -0
  105. package/dist/plugins/voice.d.ts.map +1 -0
  106. package/dist/plugins/web/helpers.d.ts +17 -0
  107. package/dist/plugins/web/helpers.d.ts.map +1 -0
  108. package/dist/plugins/web/index.d.ts +16 -0
  109. package/dist/plugins/web/index.d.ts.map +1 -0
  110. package/dist/plugins/web/routes/auth.d.ts +3 -0
  111. package/dist/plugins/web/routes/auth.d.ts.map +1 -0
  112. package/dist/plugins/web/routes/dashboard.d.ts +3 -0
  113. package/dist/plugins/web/routes/dashboard.d.ts.map +1 -0
  114. package/dist/plugins/web/routes/database.d.ts +3 -0
  115. package/dist/plugins/web/routes/database.d.ts.map +1 -0
  116. package/dist/plugins/web/routes/locales.d.ts +3 -0
  117. package/dist/plugins/web/routes/locales.d.ts.map +1 -0
  118. package/dist/plugins/web/routes/members.d.ts +3 -0
  119. package/dist/plugins/web/routes/members.d.ts.map +1 -0
  120. package/dist/plugins/web/routes/metrics.d.ts +7 -0
  121. package/dist/plugins/web/routes/metrics.d.ts.map +1 -0
  122. package/dist/plugins/web/routes/music.d.ts +3 -0
  123. package/dist/plugins/web/routes/music.d.ts.map +1 -0
  124. package/dist/plugins/web/routes/servers.d.ts +3 -0
  125. package/dist/plugins/web/routes/servers.d.ts.map +1 -0
  126. package/dist/plugins/web/routes/tasks.d.ts +3 -0
  127. package/dist/plugins/web/routes/tasks.d.ts.map +1 -0
  128. package/dist/plugins/web/routes/ui-editor.d.ts +3 -0
  129. package/dist/plugins/web/routes/ui-editor.d.ts.map +1 -0
  130. package/dist/plugins/web/setup.d.ts +7 -0
  131. package/dist/plugins/web/setup.d.ts.map +1 -0
  132. package/dist/plugins/web/types.d.ts +60 -0
  133. package/dist/plugins/web/types.d.ts.map +1 -0
  134. package/dist/plugins/web/views/admin.d.ts +5 -0
  135. package/dist/plugins/web/views/admin.d.ts.map +1 -0
  136. package/dist/plugins/web/views/base.d.ts +13 -0
  137. package/dist/plugins/web/views/base.d.ts.map +1 -0
  138. package/dist/plugins/web/views/commands.d.ts +2 -0
  139. package/dist/plugins/web/views/commands.d.ts.map +1 -0
  140. package/dist/plugins/web/views/dashboard.d.ts +32 -0
  141. package/dist/plugins/web/views/dashboard.d.ts.map +1 -0
  142. package/dist/plugins/web/views/database.d.ts +2 -0
  143. package/dist/plugins/web/views/database.d.ts.map +1 -0
  144. package/dist/plugins/web/views/home.d.ts +2 -0
  145. package/dist/plugins/web/views/home.d.ts.map +1 -0
  146. package/dist/plugins/web/views/index.d.ts +16 -0
  147. package/dist/plugins/web/views/index.d.ts.map +1 -0
  148. package/dist/plugins/web/views/invite.d.ts +2 -0
  149. package/dist/plugins/web/views/invite.d.ts.map +1 -0
  150. package/dist/plugins/web/views/lastfm.d.ts +2 -0
  151. package/dist/plugins/web/views/lastfm.d.ts.map +1 -0
  152. package/dist/plugins/web/views/locales.d.ts +2 -0
  153. package/dist/plugins/web/views/locales.d.ts.map +1 -0
  154. package/dist/plugins/web/views/members.d.ts +6 -0
  155. package/dist/plugins/web/views/members.d.ts.map +1 -0
  156. package/dist/plugins/web/views/music.d.ts +5 -0
  157. package/dist/plugins/web/views/music.d.ts.map +1 -0
  158. package/dist/plugins/web/views/servers.d.ts +3 -0
  159. package/dist/plugins/web/views/servers.d.ts.map +1 -0
  160. package/dist/plugins/web/views/terminal.d.ts +2 -0
  161. package/dist/plugins/web/views/terminal.d.ts.map +1 -0
  162. package/dist/plugins/web/views/ui-editor.d.ts +2 -0
  163. package/dist/plugins/web/views/ui-editor.d.ts.map +1 -0
  164. package/dist/types.d.ts +671 -0
  165. package/dist/types.d.ts.map +1 -0
  166. package/dist/utils/error.d.ts +62 -0
  167. package/dist/utils/error.d.ts.map +1 -0
  168. package/dist/utils/help.d.ts +3 -0
  169. package/dist/utils/help.d.ts.map +1 -0
  170. package/dist/utils/logger.d.ts +1 -0
  171. package/dist/utils/logger.d.ts.map +1 -0
  172. package/dist/utils/sharding.d.ts +17 -0
  173. package/dist/utils/sharding.d.ts.map +1 -0
  174. package/dist/utils/testing.d.ts +42 -0
  175. package/dist/utils/testing.d.ts.map +1 -0
  176. package/dist/utils/testing.js +192 -0
  177. package/package.json +77 -0
package/README.md ADDED
@@ -0,0 +1,159 @@
1
+ <div align="center">
2
+ <h1>🥤 Popii</h1>
3
+ <p><b>A convention-first Discord bot framework built for the <a href="https://bun.sh/">Bun</a> runtime.</b></p>
4
+ <p>
5
+ <a href="https://npmjs.com/package/popii-framework">
6
+ <img src="https://img.shields.io/npm/v/popii-framework?color=F04F96&labelColor=0D0610&label=npm" alt="npm version">
7
+ </a>
8
+ <a href="https://npmjs.com/package/popii-framework">
9
+ <img src="https://img.shields.io/npm/v/popii-framework/beta?color=e879a0&labelColor=0D0610&label=beta" alt="npm beta version">
10
+ </a>
11
+ <a href="https://docs.loveyourmaid.moe">
12
+ <img src="https://img.shields.io/badge/docs-docs.loveyourmaid.moe-F04F96?labelColor=0D0610" alt="documentation">
13
+ </a>
14
+ <img src="https://img.shields.io/badge/bun-%3E%3D1.1.0-F04F96?labelColor=0D0610" alt="bun version">
15
+ <img src="https://img.shields.io/badge/discord.js-14-F04F96?labelColor=0D0610" alt="discord.js version">
16
+ <img src="https://img.shields.io/badge/license-MIT-F04F96?labelColor=0D0610" alt="license">
17
+ </p>
18
+ </div>
19
+
20
+ ---
21
+
22
+ Popii lets you build Discord bots the way modern web frameworks handle routing — drop a file, get a command. No boilerplate, no manual registration, no restarts during development.
23
+
24
+ ```ts
25
+ // src/commands/ping.ts
26
+ import { command } from "popii-framework";
27
+
28
+ export default command({
29
+ name: "ping",
30
+ description: "Replies with pong!",
31
+ slash: true,
32
+ async do(pop) {
33
+ await pop.reply(`Pong! ${pop.client.discord.ws.ping}ms`);
34
+ }
35
+ });
36
+ ```
37
+
38
+ That's it. Popii finds the file, registers the slash command, and hot-reloads it on save.
39
+
40
+ ---
41
+
42
+ ## Features
43
+
44
+ - **Folder-based routing** — `src/commands/config/set.ts` becomes `/config set` automatically
45
+ - **Hot-module replacement** — edit commands, events, and middleware without disconnecting from Discord
46
+ - **Plugin system** — extend the `pop` context with new methods and properties
47
+ - **Plugin marketplace** — install community plugins with `popii add <name>`
48
+ - **Built-in plugins** — SQLite, voice, AI, economy, web dashboard, and more out of the box
49
+ - **Middleware** — Express-style middleware pipeline for commands and events
50
+ - **Sharding** — first-class multi-shard support via `PopiiShardingManager`
51
+ - **Type-safe** — full TypeScript support with augmentable context types
52
+
53
+ ---
54
+
55
+ ## Getting Started
56
+
57
+ ```bash
58
+ bunx popii init
59
+ ```
60
+
61
+ The setup wizard scaffolds a new project with your chosen plugins, folder structure, and `.env` in seconds. Open your browser, pick your plugins, paste your token, done.
62
+
63
+ ```bash
64
+ cd my-bot
65
+ bun run dev
66
+ ```
67
+
68
+ Your bot is live with HMR enabled. Save any file and changes apply instantly.
69
+
70
+ ---
71
+
72
+ ## CLI Reference
73
+
74
+ | Command | Description |
75
+ |---------|-------------|
76
+ | `popii init` | Scaffold a new bot project |
77
+ | `popii dev` | Start the dev server with HMR |
78
+ | `popii sync` | Manually sync slash commands to Discord |
79
+ | `popii add <name>` | Install a plugin from the marketplace |
80
+ | `popii remove <name>` | Uninstall a plugin |
81
+ | `popii search <query>` | Search the plugin marketplace |
82
+ | `popii list` | List installed plugins |
83
+ | `popii g <type> <name>` | Generate a command, event, snap, middleware, task, or test |
84
+ | `popii doctor` | Check your environment for common issues |
85
+ | `popii deploy` | Generate deployment config for Railway, Fly.io, or VPS |
86
+ | `popii migrate <create\|up>` | Run SQLite migrations |
87
+ | `popii console` | Start an interactive REPL with the bot in scope |
88
+ | `popii dashboard` | Print web dashboard setup instructions |
89
+
90
+ ---
91
+
92
+ ## Built-in Plugins
93
+
94
+ | Plugin | Description |
95
+ |--------|-------------|
96
+ | `sqlitePlugin` | Bun SQLite database injected into every `pop` context |
97
+ | `mongoosePlugin` | MongoDB via Mongoose ODM |
98
+ | `voicePlugin` | Voice channel playback with queue, SponsorBlock, and now-playing cards |
99
+ | `webPlugin` | HTTP server with health checks, metrics, and an optional web dashboard |
100
+ | `deskPlugin` | Full support ticket system |
101
+ | `popiiAiPlugin` | AI assistant via OpenAI, Gemini, or Anthropic |
102
+ | `economyPlugin` | Virtual currency, inventory, and shop system |
103
+ | `uiPlugin` | Pagination, forms, and interactive prompts |
104
+ | `payPlugin` | Payment processing |
105
+ | `autoModPlugin` | Automated moderation |
106
+ | `giveawayPlugin` | Giveaway system |
107
+ | `canvasPlugin` | Image generation and now-playing cards |
108
+ | `lastFmPlugin` | Last.fm scrobbling and now-playing integration |
109
+ | `captchaPlugin` | Verification captchas |
110
+ | `activityRotatorPlugin` | Rotating bot status messages |
111
+ | `telemetryPlugin` | Performance monitoring |
112
+ | `commandLoggerPlugin` | Command execution logging |
113
+ | `commandAnalyticPlugin` | Usage analytics |
114
+ | `permissionGuardPlugin` | Automatic permission enforcement |
115
+ | `errorHandlerPlugin` | Graceful error handling |
116
+ | `reloadPlugin` | Adds a `/reload` slash command |
117
+
118
+ ---
119
+
120
+ ## Plugin Marketplace
121
+
122
+ Install community plugins directly from the CLI:
123
+
124
+ ```bash
125
+ bunx popii add economy # installs popii-plugin-economy
126
+ bunx popii search music # search the registry
127
+ bunx popii list # show installed plugins
128
+ ```
129
+
130
+ Plugins are discovered automatically on startup when `autoDiscover: true` is set:
131
+
132
+ ```ts
133
+ const client = popiiClient({
134
+ token: process.env.DISCORD_TOKEN!,
135
+ autoDiscover: true,
136
+ pluginConfig: {
137
+ "popii-plugin-economy": { currencySymbol: "🪙" }
138
+ }
139
+ });
140
+ ```
141
+
142
+ Want to build a plugin? Use the [plugin template](https://github.com/popii-dev/plugin-template) to get started.
143
+
144
+ ---
145
+
146
+ ## Requirements
147
+
148
+ - [Bun](https://bun.sh/) ≥ 1.1.0
149
+ - `discord.js` ^14.0.0 (peer dependency, installed automatically by `popii init`)
150
+
151
+ Optional peer dependencies installed as needed:
152
+ - `ioredis` — for Redis-backed storage and multi-shard coordination
153
+ - `@discordjs/voice` + `libsodium-wrappers` — for the voice plugin
154
+
155
+ ---
156
+
157
+ ## License
158
+
159
+ MIT
@@ -0,0 +1,15 @@
1
+ export declare function runDev(args: string[]): Promise<void>;
2
+ export declare function runSync(args: string[]): Promise<void>;
3
+ export declare function runConsole(args: string[]): Promise<void>;
4
+ export declare function runMigrate(args: string[]): Promise<void>;
5
+ export declare function runInstall(args: string[]): Promise<void>;
6
+ export declare function runAdd(args: string[]): Promise<void>;
7
+ export declare function runRemove(args: string[]): Promise<void>;
8
+ export declare function runSearch(args: string[]): Promise<void>;
9
+ export declare function runList(args: string[]): Promise<void>;
10
+ export declare function runGenerate(args: string[]): Promise<void>;
11
+ export declare function runDoctor(args: string[]): Promise<void>;
12
+ export declare function runDeploy(args: string[]): Promise<void>;
13
+ export declare function runDashboard(args: string[]): Promise<void>;
14
+ export declare function runInit(args: string[]): Promise<void>;
15
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAQA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,iBAwB1C;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,iBAO3C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,iBAc9C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,iBA2C9C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,iBAuD9C;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,iBAoF1C;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,iBAoB7C;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,iBA2C7C;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,iBA4C3C;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iBA4F/C;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,iBA6E7C;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,iBAqF7C;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,iBAqDhD;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,iBAuF3C"}
@@ -0,0 +1,5 @@
1
+ export declare function openBrowser(url: string): void;
2
+ export declare function setupPageHtml(): string;
3
+ export declare function donePageHtml(botName: string): string;
4
+ export declare function initViaWeb(): Promise<void>;
5
+ //# sourceMappingURL=pages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/cli/pages.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,QAItC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAqdtC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA8BpD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BhD"}
@@ -0,0 +1,23 @@
1
+ export type BuiltinFieldSpec = {
2
+ configKey: string;
3
+ envKey?: string;
4
+ type: "string" | "number" | "bool";
5
+ default?: string;
6
+ enabledBy?: string;
7
+ };
8
+ export declare const BUILTIN_PLUGIN_FIELDS: Record<string, BuiltinFieldSpec[]>;
9
+ export declare function buildPluginOptionsStr(pluginName: string, cfg: Record<string, string>): string;
10
+ export declare function scaffoldProject(opts: {
11
+ botName: string;
12
+ plugins: string[];
13
+ communityPlugins?: {
14
+ npmName: string;
15
+ exportName: string;
16
+ }[];
17
+ botToken: string;
18
+ installDeps: boolean;
19
+ genDocker: boolean;
20
+ pluginConfig?: Record<string, Record<string, string>>;
21
+ communityPluginConfig?: Record<string, Record<string, string>>;
22
+ }): Promise<void>;
23
+ //# sourceMappingURL=scaffold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/cli/scaffold.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhJ,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAuCpE,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA+C7F;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAChE,iBA+HA"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}