flingit 0.0.36 → 0.0.38
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.
- package/dist/cli/commands/launch.d.ts +5 -6
- package/dist/cli/commands/launch.d.ts.map +1 -1
- package/dist/cli/commands/launch.js +6 -8
- package/dist/cli/commands/launch.js.map +1 -1
- package/dist/cli/commands/plugin.d.ts +4 -1
- package/dist/cli/commands/plugin.d.ts.map +1 -1
- package/dist/cli/commands/plugin.js +19 -19
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/cli/commands/project.d.ts +5 -0
- package/dist/cli/commands/project.d.ts.map +1 -1
- package/dist/cli/commands/project.js +76 -6
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/push.d.ts +2 -0
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +117 -109
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/secret.d.ts.map +1 -1
- package/dist/cli/commands/secret.js +0 -14
- package/dist/cli/commands/secret.js.map +1 -1
- package/dist/cli/index.js +20 -14
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/cli-mode.d.ts +8 -0
- package/dist/cli/utils/cli-mode.d.ts.map +1 -0
- package/dist/cli/utils/cli-mode.js +12 -0
- package/dist/cli/utils/cli-mode.js.map +1 -0
- package/dist/cli/utils/cli-router.d.ts +12 -0
- package/dist/cli/utils/cli-router.d.ts.map +1 -0
- package/dist/cli/utils/cli-router.js +17 -0
- package/dist/cli/utils/cli-router.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/email.d.ts +37 -0
- package/dist/runtime/email.d.ts.map +1 -0
- package/dist/runtime/email.js +43 -0
- package/dist/runtime/email.js.map +1 -0
- package/dist/types/email.d.ts +51 -0
- package/dist/types/email.d.ts.map +1 -0
- package/dist/types/email.js +9 -0
- package/dist/types/email.js.map +1 -0
- package/dist/worker-runtime/entry-extract.d.ts.map +1 -1
- package/dist/worker-runtime/entry-extract.js +8 -7
- package/dist/worker-runtime/entry-extract.js.map +1 -1
- package/dist/worker-runtime/entry.d.ts +2 -1
- package/dist/worker-runtime/entry.d.ts.map +1 -1
- package/dist/worker-runtime/entry.js +43 -1
- package/dist/worker-runtime/entry.js.map +1 -1
- package/dist/worker-runtime/index.d.ts +35 -7
- package/dist/worker-runtime/index.d.ts.map +1 -1
- package/dist/worker-runtime/index.js +40 -16
- package/dist/worker-runtime/index.js.map +1 -1
- package/dist/worker-runtime/plugin-common.d.ts.map +1 -1
- package/dist/worker-runtime/plugin-common.js +3 -0
- package/dist/worker-runtime/plugin-common.js.map +1 -1
- package/dist/worker-runtime/types.d.ts +80 -0
- package/dist/worker-runtime/types.d.ts.map +1 -0
- package/dist/worker-runtime/types.js +9 -0
- package/dist/worker-runtime/types.js.map +1 -0
- package/package.json +2 -1
- package/templates/default/dot-claude/skills/fling/.hash +1 -1
- package/templates/default/dot-claude/skills/fling/SKILL.md +10 -1
- package/templates/default/dot-claude/skills/fling/references/DISCORD.md +1 -1
- package/templates/default/dot-claude/skills/fling/references/SLACK.md +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-common.js","sourceRoot":"","sources":["../../src/worker-runtime/plugin-common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"plugin-common.js","sourceRoot":"","sources":["../../src/worker-runtime/plugin-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal local type definitions for Cloudflare Worker bindings.
|
|
3
|
+
*
|
|
4
|
+
* `@cloudflare/workers-types` can't be added to the root tsconfig because
|
|
5
|
+
* it would pollute CLI/Node.js code with incompatible Worker globals.
|
|
6
|
+
* These interfaces cover only the API surface the worker runtime actually uses.
|
|
7
|
+
*/
|
|
8
|
+
export interface D1Meta {
|
|
9
|
+
changes: number;
|
|
10
|
+
last_row_id: number;
|
|
11
|
+
/** Extra fields like `duration`, `rows_read`, etc. from CF */
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
export interface D1Result<T = unknown> {
|
|
15
|
+
results: T[];
|
|
16
|
+
success: boolean;
|
|
17
|
+
meta: D1Meta;
|
|
18
|
+
}
|
|
19
|
+
export interface D1PreparedStatement {
|
|
20
|
+
bind(...values: unknown[]): D1PreparedStatement;
|
|
21
|
+
first<T = unknown>(colName?: string): Promise<T | null>;
|
|
22
|
+
all<T = unknown>(): Promise<D1Result<T>>;
|
|
23
|
+
run<T = unknown>(): Promise<D1Result<T>>;
|
|
24
|
+
}
|
|
25
|
+
export interface D1Database {
|
|
26
|
+
prepare(query: string): D1PreparedStatement;
|
|
27
|
+
batch(statements: D1PreparedStatement[]): Promise<D1Result[]>;
|
|
28
|
+
exec(query: string): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
export interface R2Object {
|
|
31
|
+
key: string;
|
|
32
|
+
size: number;
|
|
33
|
+
etag: string;
|
|
34
|
+
uploaded: Date;
|
|
35
|
+
httpMetadata?: {
|
|
36
|
+
contentType?: string;
|
|
37
|
+
};
|
|
38
|
+
customMetadata?: Record<string, string>;
|
|
39
|
+
}
|
|
40
|
+
export interface R2ObjectBody extends R2Object {
|
|
41
|
+
body: ReadableStream<Uint8Array>;
|
|
42
|
+
bodyUsed: boolean;
|
|
43
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
44
|
+
text(): Promise<string>;
|
|
45
|
+
json<T>(): Promise<T>;
|
|
46
|
+
}
|
|
47
|
+
export interface R2Bucket {
|
|
48
|
+
put(key: string, value: ReadableStream | ArrayBuffer | ArrayBufferView | string | null, options?: {
|
|
49
|
+
httpMetadata?: {
|
|
50
|
+
contentType?: string;
|
|
51
|
+
};
|
|
52
|
+
customMetadata?: Record<string, string>;
|
|
53
|
+
}): Promise<R2Object>;
|
|
54
|
+
get(key: string): Promise<R2ObjectBody | null>;
|
|
55
|
+
head(key: string): Promise<R2Object | null>;
|
|
56
|
+
delete(keys: string | string[]): Promise<void>;
|
|
57
|
+
list(options?: {
|
|
58
|
+
prefix?: string;
|
|
59
|
+
cursor?: string;
|
|
60
|
+
limit?: number;
|
|
61
|
+
}): Promise<{
|
|
62
|
+
objects: R2Object[];
|
|
63
|
+
truncated: boolean;
|
|
64
|
+
cursor?: string;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
export interface ServiceBinding {
|
|
68
|
+
fetch(input: string | Request | URL, init?: RequestInit): Promise<Response>;
|
|
69
|
+
}
|
|
70
|
+
export interface WorkerEnv {
|
|
71
|
+
DB?: D1Database;
|
|
72
|
+
STORAGE?: R2Bucket;
|
|
73
|
+
DISCORD_PLUGIN?: ServiceBinding;
|
|
74
|
+
SLACK_PLUGIN?: ServiceBinding;
|
|
75
|
+
FLING_PROJECT_ID?: string;
|
|
76
|
+
FLING_WORKER_SECRET?: string;
|
|
77
|
+
/** User-defined secrets accessed via `secrets.get(name)` */
|
|
78
|
+
[key: string]: unknown;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/worker-runtime/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal local type definitions for Cloudflare Worker bindings.
|
|
3
|
+
*
|
|
4
|
+
* `@cloudflare/workers-types` can't be added to the root tsconfig because
|
|
5
|
+
* it would pollute CLI/Node.js code with incompatible Worker globals.
|
|
6
|
+
* These interfaces cover only the API surface the worker runtime actually uses.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/worker-runtime/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flingit",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.38",
|
|
4
4
|
"description": "Personal Software Platform - Build and deploy personal tools through conversation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -77,6 +77,7 @@
|
|
|
77
77
|
"dotenv": "^17.2.3",
|
|
78
78
|
"esbuild": "^0.27.2",
|
|
79
79
|
"hono": "^4.11.7",
|
|
80
|
+
"postal-mime": "^2.7.3",
|
|
80
81
|
"tsx": "^4.19.0",
|
|
81
82
|
"zod": "^3.25.76"
|
|
82
83
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2c552c41df80a55c41c1d74f6e002c59
|
|
@@ -132,7 +132,13 @@ function App() {
|
|
|
132
132
|
|
|
133
133
|
## CLI Commands
|
|
134
134
|
|
|
135
|
-
Always use `npm exec` to run the project's installed Fling (not global)
|
|
135
|
+
Always use `npm exec` to run the project's installed Fling (not global).
|
|
136
|
+
|
|
137
|
+
**Important:** The CLI must be called without a TTY (e.g., with stdout redirected), or with the `--cli` flag. When both stdin and stdout are a TTY and `--cli` is not passed, the CLI launches an interactive mode instead of executing commands. If you are running from an environment where a TTY may be present, always pass `--cli`:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
npm exec fling -- --cli push # Safe from any environment
|
|
141
|
+
```
|
|
136
142
|
|
|
137
143
|
```bash
|
|
138
144
|
npm exec fling dev # Start local server (API + Vite)
|
|
@@ -147,6 +153,7 @@ npm exec fling logs # View local logs
|
|
|
147
153
|
npm exec fling push # Build and deploy to Cloudflare Workers
|
|
148
154
|
npm exec fling project slug # Show current project slug and URL
|
|
149
155
|
npm exec fling project slug:set <new-slug> # Change project slug (affects URL)
|
|
156
|
+
npm exec fling project takedown # Delete project and all data
|
|
150
157
|
npm exec fling cron list # List registered cron jobs
|
|
151
158
|
npm exec fling cron history <name> # View invocation history
|
|
152
159
|
npm exec fling cron trigger <name> # Manually trigger a cron job
|
|
@@ -307,6 +314,8 @@ This gives collaborators:
|
|
|
307
314
|
|
|
308
315
|
10. **Feedback** - If the user encounters problems that directly or indirectly have to do with fling, suggest to them leaving feedback. Details in `references/FEEDBACK.md`.
|
|
309
316
|
|
|
317
|
+
11. **Never run `fling project takedown` without explicit user confirmation** - This command permanently deletes the deployed project including all data in the production database, all files in storage, and the deployed worker code. You MUST NOT run this command unless the user has explicitly confirmed that they understand and accept that all data in their published app will be permanently lost. Always explain what will be destroyed before asking for confirmation.
|
|
318
|
+
|
|
310
319
|
**If the user's request might hit platform limitations, warn them early and suggest alternatives.**
|
|
311
320
|
|
|
312
321
|
## Migrations
|
|
@@ -315,7 +315,7 @@ npm exec fling plugin remove discord # Disconnect, release all servers
|
|
|
315
315
|
|
|
316
316
|
4. **Plugin must be installed first** — Run `fling plugin install discord` before using any Discord features. Check with `fling plugin permissions discord`.
|
|
317
317
|
|
|
318
|
-
5. **Rate limit: 60
|
|
318
|
+
5. **Rate limit: 3 per 60 seconds per project** — `reply`, `followup`, `sendMessage`, `editMessage`, and `addReaction` all count as "things". When exceeded, methods throw an error containing `PLUGIN_RATE_LIMIT_EXCEEDED`.
|
|
319
319
|
|
|
320
320
|
```typescript
|
|
321
321
|
try {
|
|
@@ -213,7 +213,7 @@ npm exec fling plugin remove slack # Disconnect, release all workspaces
|
|
|
213
213
|
|
|
214
214
|
4. **Plugin must be installed first** — Run `fling plugin install slack` before using any Slack features. Check with `fling plugin permissions slack`.
|
|
215
215
|
|
|
216
|
-
5. **Rate limit: 60
|
|
216
|
+
5. **Rate limit: 3 per 60 seconds per project** — `sendMessage`, `editMessage`, `addReaction`, and thread replies all count as "things". When exceeded, methods throw an error containing `PLUGIN_RATE_LIMIT_EXCEEDED`.
|
|
217
217
|
|
|
218
218
|
```typescript
|
|
219
219
|
try {
|