@liquidmetal-ai/raindrop 0.9.1 → 0.9.2
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/README.md +111 -85
- package/bundle/{chunk-ZHYJWVIA.js → chunk-33VVNTZ7.js} +2 -2
- package/bundle/{chunk-SP4Q3T7T.js → chunk-3EXF5SKZ.js} +1 -1
- package/bundle/{chunk-JXNZYHAI.js → chunk-3TJC2HRW.js} +89 -105
- package/bundle/{chunk-HBDFBL3W.js → chunk-44MKXST7.js} +1 -1
- package/bundle/{chunk-GDYEPR67.js → chunk-4RZFURCF.js} +1 -1
- package/bundle/{chunk-67CBWZ7Y.js → chunk-4UNXUMLE.js} +3 -3
- package/bundle/chunk-4VJ2X7ZI.js +48 -0
- package/bundle/{chunk-IMQTVYRB.js → chunk-4WGY3ATR.js} +1 -1
- package/bundle/{chunk-ORPX7FPP.js → chunk-5TPOE7P2.js} +1 -5
- package/bundle/chunk-7JFKALLH.js +133 -0
- package/bundle/chunk-7O6U3ZAR.js +75 -0
- package/bundle/chunk-AWUA3C2V.js +114 -0
- package/bundle/{chunk-QKHN66ZN.js → chunk-BEN3KZQU.js} +1 -1
- package/bundle/{chunk-JDMAG4KE.js → chunk-BPZWIRQS.js} +2 -2
- package/bundle/chunk-C7G6I3MQ.js +292 -0
- package/bundle/chunk-D23L4WLL.js +502 -0
- package/bundle/chunk-E2TCXKAT.js +48 -0
- package/bundle/{chunk-FTG32FZ4.js → chunk-E7K6Y6GO.js} +1 -1
- package/bundle/chunk-EBK2SJTZ.js +805 -0
- package/bundle/chunk-FTH4A227.js +46 -0
- package/bundle/chunk-HBWEGYBW.js +4486 -0
- package/bundle/chunk-HFEVZZHW.js +46 -0
- package/bundle/chunk-I5M6WZPS.js +384 -0
- package/bundle/chunk-J44ZDCXF.js +44 -0
- package/bundle/{chunk-D5TOYPUE.js → chunk-J6XV5EH5.js} +1 -1
- package/bundle/chunk-KE7CMLHP.js +292 -0
- package/bundle/{chunk-ZLRYUJ5P.js → chunk-KHYRZQSK.js} +4 -4
- package/bundle/chunk-KOYRAC7N.js +74 -0
- package/bundle/chunk-KQ3F5KG7.js +231 -0
- package/bundle/chunk-KSXGB4ZG.js +4539 -0
- package/bundle/{chunk-7ERI6IFL.js → chunk-LP3LXBGR.js} +1 -1
- package/bundle/chunk-MH3BACIP.js +238722 -0
- package/bundle/chunk-MM7BYDBJ.js +238725 -0
- package/bundle/chunk-MQUFNQI5.js +231 -0
- package/bundle/{chunk-4RVUC2XX.js → chunk-N3LTFUBJ.js} +1 -1
- package/bundle/chunk-NWYJJVCF.js +22452 -0
- package/bundle/chunk-OAMLVMOY.js +133 -0
- package/bundle/chunk-PBVMMANP.js +4480 -0
- package/bundle/chunk-PT6CYFBD.js +74 -0
- package/bundle/chunk-QAG6TIB7.js +12148 -0
- package/bundle/chunk-RSLQIAJB.js +12148 -0
- package/bundle/chunk-SAU2NEDC.js +147 -0
- package/bundle/chunk-SZ6TMVT4.js +22452 -0
- package/bundle/chunk-T3MAVQWW.js +292 -0
- package/bundle/chunk-TCGZNSBY.js +4539 -0
- package/bundle/chunk-TRIIBQDR.js +4480 -0
- package/bundle/chunk-UUTXTOE3.js +231 -0
- package/bundle/chunk-VMKGSIXK.js +75 -0
- package/bundle/chunk-XDCRA7Y2.js +805 -0
- package/bundle/chunk-XEMONOX2.js +384 -0
- package/bundle/chunk-YAPQ2CKV.js +115 -0
- package/bundle/chunk-YDDBYUDC.js +502 -0
- package/bundle/chunk-ZGLCW5YO.js +380 -0
- package/bundle/chunk-ZQ6BFQSX.js +44 -0
- package/bundle/chunk-ZZTNAQSE.js +147 -0
- package/bundle/commands/annotation/get.js +3 -3
- package/bundle/commands/annotation/list.js +3 -3
- package/bundle/commands/annotation/put.js +3 -3
- package/bundle/commands/auth/list.js +2 -2
- package/bundle/commands/auth/login.js +3 -3
- package/bundle/commands/auth/logout.js +2 -2
- package/bundle/commands/auth/select.js +3 -3
- package/bundle/commands/bucket/create-credential.js +2 -2
- package/bundle/commands/bucket/delete-credential.js +2 -2
- package/bundle/commands/bucket/get-credential.js +2 -2
- package/bundle/commands/bucket/list-credentials.js +2 -2
- package/bundle/commands/build/branch.js +9 -9
- package/bundle/commands/build/checkout.js +6 -5
- package/bundle/commands/build/clone.js +5 -5
- package/bundle/commands/build/delete.js +6 -5
- package/bundle/commands/build/deploy.js +9 -9
- package/bundle/commands/build/env/get.js +2 -2
- package/bundle/commands/build/env/set.js +2 -2
- package/bundle/commands/build/find.js +7 -3
- package/bundle/commands/build/generate.js +3 -3
- package/bundle/commands/build/init-workspace.js +102 -0
- package/bundle/commands/build/init.js +3 -3
- package/bundle/commands/build/list.js +5 -4
- package/bundle/commands/build/sandbox.js +7 -7
- package/bundle/commands/build/start.js +2 -2
- package/bundle/commands/build/status.js +8 -4
- package/bundle/commands/build/stop.js +2 -2
- package/bundle/commands/build/tools/check.js +2 -2
- package/bundle/commands/build/tools/fmt.js +2 -2
- package/bundle/commands/build/unsandbox.js +7 -7
- package/bundle/commands/build/upload.js +5 -5
- package/bundle/commands/build/validate.js +4 -4
- package/bundle/commands/build/workos/delete.js +4 -4
- package/bundle/commands/build/workos/env/attach.js +3 -3
- package/bundle/commands/build/workos/env/create.js +3 -3
- package/bundle/commands/build/workos/env/delete.js +3 -3
- package/bundle/commands/build/workos/env/detach.js +3 -3
- package/bundle/commands/build/workos/env/get.js +3 -3
- package/bundle/commands/build/workos/env/list.js +3 -3
- package/bundle/commands/build/workos/env/set.js +3 -3
- package/bundle/commands/build/workos/invite.js +3 -3
- package/bundle/commands/build/workos/setup.js +3 -3
- package/bundle/commands/build/workos/status.js +3 -3
- package/bundle/commands/dns/create.js +2 -2
- package/bundle/commands/dns/delete.js +4 -4
- package/bundle/commands/dns/get.js +4 -4
- package/bundle/commands/dns/list.js +3 -3
- package/bundle/commands/dns/records/create.js +2 -2
- package/bundle/commands/dns/records/delete.js +3 -3
- package/bundle/commands/dns/records/get.js +2 -2
- package/bundle/commands/dns/records/list.js +2 -2
- package/bundle/commands/dns/records/update.js +2 -2
- package/bundle/commands/logs/query.js +3 -3
- package/bundle/commands/logs/tail.js +3 -3
- package/bundle/commands/mcp/install-claude.js +2 -2
- package/bundle/commands/mcp/install-gemini.js +2 -2
- package/bundle/commands/mcp/install-goose.js +2 -2
- package/bundle/commands/mcp/status.js +2 -2
- package/bundle/commands/object/delete.js +2 -2
- package/bundle/commands/object/get.js +2 -2
- package/bundle/commands/object/list.js +2 -2
- package/bundle/commands/object/put.js +2 -2
- package/bundle/commands/query/chunk-search.js +3 -3
- package/bundle/commands/query/document.js +3 -3
- package/bundle/commands/query/events.js +2 -2
- package/bundle/commands/query/reindex.js +2 -2
- package/bundle/commands/query/search.js +3 -3
- package/bundle/commands/tail.js +2 -2
- package/bundle/index.js +1 -1
- package/dist/commands/build/find.d.ts.map +1 -1
- package/dist/commands/build/find.js +3 -0
- package/dist/commands/build/init-workspace.d.ts +16 -0
- package/dist/commands/build/init-workspace.d.ts.map +1 -0
- package/dist/commands/build/init-workspace.js +95 -0
- package/dist/commands/build/list.d.ts.map +1 -1
- package/dist/commands/build/list.js +3 -0
- package/dist/commands/build/status.d.ts.map +1 -1
- package/dist/commands/build/status.js +3 -0
- package/dist/killswitch-utils.d.ts +30 -0
- package/dist/killswitch-utils.d.ts.map +1 -0
- package/dist/killswitch-utils.js +83 -0
- package/oclif.manifest.json +2114 -2007
- package/package.json +3 -3
- package/templates/claude-code/debug-raindrop-app.md +12 -39
- package/templates/claude-code/update-raindrop-app.md +5 -6
- package/templates/db/node_modules/.bin/prisma +2 -2
- package/templates/db/node_modules/.bin/prisma-kysely +2 -2
- package/templates/db/node_modules/.bin/tsc +2 -2
- package/templates/db/node_modules/.bin/tsserver +2 -2
- package/templates/db/node_modules/.bin/zx +2 -2
- package/templates/gemini-code/debug-raindrop-app.toml +12 -39
- package/templates/gemini-code/update-raindrop-app.toml +5 -6
- package/templates/goose/debug-raindrop-app.yaml +12 -39
- package/templates/goose/update-raindrop-app.yaml +5 -6
- package/templates/workspace/.gitignore.hbs +40 -0
- package/templates/workspace/package.json.hbs +22 -0
- package/dist/commands/killswitch.d.ts +0 -20
- package/dist/commands/killswitch.d.ts.map +0 -1
- package/dist/commands/killswitch.js +0 -58
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utils/mixpanel.d.ts +0 -10
- package/dist/utils/mixpanel.d.ts.map +0 -1
- package/dist/utils/mixpanel.js +0 -43
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liquidmetal-ai/raindrop",
|
|
3
3
|
"description": "CLI for the Raindrop platform",
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.2",
|
|
5
5
|
"author": "bosgood",
|
|
6
6
|
"bin": {
|
|
7
7
|
"raindrop": "./bin/run.js"
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"typescript": "^5",
|
|
37
37
|
"zod": "^3.23.8",
|
|
38
38
|
"zx": "^8.1.9",
|
|
39
|
-
"@liquidmetal-ai/drizzle": "0.9.
|
|
40
|
-
"@liquidmetal-ai/raindrop-framework": "0.9.
|
|
39
|
+
"@liquidmetal-ai/drizzle": "0.9.2",
|
|
40
|
+
"@liquidmetal-ai/raindrop-framework": "0.9.2"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@changesets/cli": "^2.27.9",
|
|
@@ -45,45 +45,18 @@ After authentication:
|
|
|
45
45
|
|
|
46
46
|
4. If no session_id found, ask the user for it
|
|
47
47
|
|
|
48
|
-
5.
|
|
48
|
+
5. Get the timeline_id from the session entry in index.json
|
|
49
49
|
|
|
50
|
-
6.
|
|
51
|
-
|
|
50
|
+
6. Call mcp__raindrop-mcp__jump-to-state with these parameters:
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"session_id": "<session_id from step 1 or 4>",
|
|
54
|
+
"target_state": "endpoint_test",
|
|
55
|
+
"mode": "debug"
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
This jumps the workflow to endpoint_test state for debugging.
|
|
52
59
|
|
|
53
|
-
|
|
54
|
-
Timeline ID: [timeline_id from step 5]
|
|
55
|
-
Application Name: [application_name from step 5]
|
|
56
|
-
Application Type: [application_type from step 5]
|
|
60
|
+
7. Call mcp__raindrop-mcp__get-prompt with the session_id parameter
|
|
57
61
|
|
|
58
|
-
|
|
59
|
-
1. Ask user: 'What issues are you experiencing with your deployed application?'
|
|
60
|
-
2. Gather diagnostic information:
|
|
61
|
-
- Run: raindrop logs [application_name] --tail 100
|
|
62
|
-
- Based on application_type, test endpoints/tools:
|
|
63
|
-
* For API: Test endpoints from interface_design
|
|
64
|
-
* For MCP: Test MCP tools
|
|
65
|
-
* For CLI: Test commands
|
|
66
|
-
- Record failures and error messages
|
|
67
|
-
3. Aggregate test results into this format:
|
|
68
|
-
{
|
|
69
|
-
total_endpoints: X,
|
|
70
|
-
passing: Y,
|
|
71
|
-
failing: Z,
|
|
72
|
-
failure_details: ['endpoint/tool: error message', ...]
|
|
73
|
-
}
|
|
74
|
-
4. Call mcp__raindrop-mcp__update-state with:
|
|
75
|
-
- session_id: [session_id]
|
|
76
|
-
- timeline_id: [timeline_id]
|
|
77
|
-
- artifacts: {
|
|
78
|
-
current_state: 'debug_analyze',
|
|
79
|
-
is_debugging: true,
|
|
80
|
-
test_results: [results from step 3]
|
|
81
|
-
}
|
|
82
|
-
- status: 'complete'
|
|
83
|
-
5. Call mcp__raindrop-mcp__get-prompt with session_id
|
|
84
|
-
6. Return the orchestrator_instructions from the response
|
|
85
|
-
|
|
86
|
-
Do not output messages to user beyond the initial question. Work autonomously and return orchestrator instructions."
|
|
87
|
-
|
|
88
|
-
7. Wait for the subagent to return orchestrator_instructions
|
|
89
|
-
8. The orchestrator will take over and spawn subagents for debug_analyze → debug_fix → retesting → redeployment
|
|
62
|
+
8. Follow the instructions returned and continue with the debugging workflow
|
|
@@ -47,16 +47,15 @@ After authentication:
|
|
|
47
47
|
|
|
48
48
|
5. Get the timeline_id from the session entry in index.json
|
|
49
49
|
|
|
50
|
-
6. Call mcp__raindrop-
|
|
50
|
+
6. Call mcp__raindrop-mcp__jump-to-state with these parameters:
|
|
51
51
|
```json
|
|
52
52
|
{
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"status": "complete"
|
|
53
|
+
"session_id": "<session_id from step 1 or 4>",
|
|
54
|
+
"target_state": "merge_features",
|
|
55
|
+
"mode": "feature_addition"
|
|
57
56
|
}
|
|
58
57
|
```
|
|
59
|
-
This jumps the workflow to
|
|
58
|
+
This jumps the workflow to merge_features state and sets the is_feature_addition flag.
|
|
60
59
|
|
|
61
60
|
7. Call mcp__raindrop-mcp__get-prompt with the session_id parameter
|
|
62
61
|
|
|
@@ -6,9 +6,9 @@ case `uname` in
|
|
|
6
6
|
esac
|
|
7
7
|
|
|
8
8
|
if [ -z "$NODE_PATH" ]; then
|
|
9
|
-
export NODE_PATH="/Users/
|
|
9
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
14
|
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/index.js" "$@"
|
|
@@ -6,9 +6,9 @@ case `uname` in
|
|
|
6
6
|
esac
|
|
7
7
|
|
|
8
8
|
if [ -z "$NODE_PATH" ]; then
|
|
9
|
-
export NODE_PATH="/Users/
|
|
9
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
14
|
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/bin.js" "$@"
|
|
@@ -6,9 +6,9 @@ case `uname` in
|
|
|
6
6
|
esac
|
|
7
7
|
|
|
8
8
|
if [ -z "$NODE_PATH" ]; then
|
|
9
|
-
export NODE_PATH="/Users/
|
|
9
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
14
|
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/tsc" "$@"
|
|
@@ -6,9 +6,9 @@ case `uname` in
|
|
|
6
6
|
esac
|
|
7
7
|
|
|
8
8
|
if [ -z "$NODE_PATH" ]; then
|
|
9
|
-
export NODE_PATH="/Users/
|
|
9
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
14
|
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/tsserver" "$@"
|
|
@@ -6,9 +6,9 @@ case `uname` in
|
|
|
6
6
|
esac
|
|
7
7
|
|
|
8
8
|
if [ -z "$NODE_PATH" ]; then
|
|
9
|
-
export NODE_PATH="/Users/
|
|
9
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/mattbarto/code/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
14
|
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/cli.js" "$@"
|
|
@@ -41,46 +41,19 @@ After authentication:
|
|
|
41
41
|
|
|
42
42
|
4. If no session_id found, ask the user for it
|
|
43
43
|
|
|
44
|
-
5.
|
|
44
|
+
5. Get the timeline_id from the session entry in index.json
|
|
45
45
|
|
|
46
|
-
6.
|
|
47
|
-
|
|
46
|
+
6. Call the `jump-to-state` tool (from raindrop-mcp server) with these parameters:
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"session_id": "<session_id from step 1 or 4>",
|
|
50
|
+
"target_state": "endpoint_test",
|
|
51
|
+
"mode": "debug"
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
This jumps the workflow to endpoint_test state for debugging.
|
|
48
55
|
|
|
49
|
-
|
|
50
|
-
Timeline ID: [timeline_id from step 5]
|
|
51
|
-
Application Name: [application_name from step 5]
|
|
52
|
-
Application Type: [application_type from step 5]
|
|
56
|
+
7. Call the `get-prompt` tool (from raindrop-mcp server) with the session_id parameter
|
|
53
57
|
|
|
54
|
-
|
|
55
|
-
1. Ask user: 'What issues are you experiencing with your deployed application?'
|
|
56
|
-
2. Gather diagnostic information:
|
|
57
|
-
- Run: raindrop logs [application_name] --tail 100
|
|
58
|
-
- Based on application_type, test endpoints/tools:
|
|
59
|
-
* For API: Test endpoints from interface_design
|
|
60
|
-
* For MCP: Test MCP tools
|
|
61
|
-
* For CLI: Test commands
|
|
62
|
-
- Record failures and error messages
|
|
63
|
-
3. Aggregate test results into this format:
|
|
64
|
-
{
|
|
65
|
-
total_endpoints: X,
|
|
66
|
-
passing: Y,
|
|
67
|
-
failing: Z,
|
|
68
|
-
failure_details: ['endpoint/tool: error message', ...]
|
|
69
|
-
}
|
|
70
|
-
4. Call the `update-state` tool (from raindrop-mcp server) with:
|
|
71
|
-
- session_id: [session_id]
|
|
72
|
-
- timeline_id: [timeline_id]
|
|
73
|
-
- artifacts: {
|
|
74
|
-
current_state: 'debug_analyze',
|
|
75
|
-
is_debugging: true,
|
|
76
|
-
test_results: [results from step 3]
|
|
77
|
-
}
|
|
78
|
-
- status: 'complete'
|
|
79
|
-
5. Call the `get-prompt` tool with session_id
|
|
80
|
-
6. Return the orchestrator_instructions from the response
|
|
81
|
-
|
|
82
|
-
Do not output messages to user beyond the initial question. Work autonomously and return orchestrator instructions."
|
|
83
|
-
|
|
84
|
-
7. Wait for the subagent to return orchestrator_instructions
|
|
85
|
-
8. The orchestrator will take over and spawn subagents for debug_analyze → debug_fix → retesting → redeployment
|
|
58
|
+
8. Follow the instructions returned and continue with the debugging workflow
|
|
86
59
|
"""
|
|
@@ -43,16 +43,15 @@ After authentication:
|
|
|
43
43
|
|
|
44
44
|
5. Get the timeline_id from the session entry in index.json
|
|
45
45
|
|
|
46
|
-
6. Call the `
|
|
46
|
+
6. Call the `jump-to-state` tool (from raindrop-mcp server) with these parameters:
|
|
47
47
|
```json
|
|
48
48
|
{
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"status": "complete"
|
|
49
|
+
"session_id": "<session_id from step 1 or 4>",
|
|
50
|
+
"target_state": "merge_features",
|
|
51
|
+
"mode": "feature_addition"
|
|
53
52
|
}
|
|
54
53
|
```
|
|
55
|
-
This jumps the workflow to
|
|
54
|
+
This jumps the workflow to merge_features state and sets the is_feature_addition flag.
|
|
56
55
|
|
|
57
56
|
7. Call the `get-prompt` tool (from raindrop-mcp server) with the session_id parameter
|
|
58
57
|
|
|
@@ -44,48 +44,21 @@ instructions: |
|
|
|
44
44
|
|
|
45
45
|
4. If no session_id found, ask the user for it
|
|
46
46
|
|
|
47
|
-
5.
|
|
47
|
+
5. Get the timeline_id from the session entry in index.json
|
|
48
48
|
|
|
49
|
-
6.
|
|
50
|
-
|
|
49
|
+
6. Call the `jump-to-state` tool (from raindrop-mcp server) with these parameters:
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"session_id": "<session_id from step 1 or 4>",
|
|
53
|
+
"target_state": "endpoint_test",
|
|
54
|
+
"mode": "debug"
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
This jumps the workflow to endpoint_test state for debugging.
|
|
51
58
|
|
|
52
|
-
|
|
53
|
-
Timeline ID: [timeline_id from step 5]
|
|
54
|
-
Application Name: [application_name from step 5]
|
|
55
|
-
Application Type: [application_type from step 5]
|
|
59
|
+
7. Call the `get-prompt` tool (from raindrop-mcp server) with the session_id parameter
|
|
56
60
|
|
|
57
|
-
|
|
58
|
-
1. Ask user: 'What issues are you experiencing with your deployed application?'
|
|
59
|
-
2. Gather diagnostic information:
|
|
60
|
-
- Run: raindrop logs [application_name] --tail 100
|
|
61
|
-
- Based on application_type, test endpoints/tools:
|
|
62
|
-
* For API: Test endpoints from interface_design
|
|
63
|
-
* For MCP: Test MCP tools
|
|
64
|
-
* For CLI: Test commands
|
|
65
|
-
- Record failures and error messages
|
|
66
|
-
3. Aggregate test results into this format:
|
|
67
|
-
{
|
|
68
|
-
total_endpoints: X,
|
|
69
|
-
passing: Y,
|
|
70
|
-
failing: Z,
|
|
71
|
-
failure_details: ['endpoint/tool: error message', ...]
|
|
72
|
-
}
|
|
73
|
-
4. Call the `update-state` tool (from raindrop-mcp server) with:
|
|
74
|
-
- session_id: [session_id]
|
|
75
|
-
- timeline_id: [timeline_id]
|
|
76
|
-
- artifacts: {
|
|
77
|
-
current_state: 'debug_analyze',
|
|
78
|
-
is_debugging: true,
|
|
79
|
-
test_results: [results from step 3]
|
|
80
|
-
}
|
|
81
|
-
- status: 'complete'
|
|
82
|
-
5. Call the `get-prompt` tool with session_id
|
|
83
|
-
6. Return the orchestrator_instructions from the response
|
|
84
|
-
|
|
85
|
-
Do not output messages to user beyond the initial question. Work autonomously and return orchestrator instructions."
|
|
86
|
-
|
|
87
|
-
7. Wait for the subagent to return orchestrator_instructions
|
|
88
|
-
8. The orchestrator will take over and spawn subagents for debug_analyze → debug_fix → retesting → redeployment
|
|
61
|
+
8. Follow the instructions returned and continue with the debugging workflow
|
|
89
62
|
|
|
90
63
|
prompt: |
|
|
91
64
|
I want to debug my deployed Raindrop application. Please call the `get-prompt` tool with my session_id.
|
|
@@ -46,16 +46,15 @@ instructions: |
|
|
|
46
46
|
|
|
47
47
|
5. Get the timeline_id from the session entry in index.json
|
|
48
48
|
|
|
49
|
-
6. Call the `
|
|
49
|
+
6. Call the `jump-to-state` tool (from raindrop-mcp server) with these parameters:
|
|
50
50
|
```json
|
|
51
51
|
{
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"status": "complete"
|
|
52
|
+
"session_id": "<session_id from step 1 or 4>",
|
|
53
|
+
"target_state": "merge_features",
|
|
54
|
+
"mode": "feature_addition"
|
|
56
55
|
}
|
|
57
56
|
```
|
|
58
|
-
This jumps the workflow to
|
|
57
|
+
This jumps the workflow to merge_features state and sets the is_feature_addition flag.
|
|
59
58
|
|
|
60
59
|
7. Call the `get-prompt` tool (from raindrop-mcp server) with the session_id parameter
|
|
61
60
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Dependencies
|
|
2
|
+
node_modules/
|
|
3
|
+
|
|
4
|
+
# Build outputs
|
|
5
|
+
dist/
|
|
6
|
+
build/
|
|
7
|
+
|
|
8
|
+
# Environment files
|
|
9
|
+
.env
|
|
10
|
+
.env.local
|
|
11
|
+
.env.*.local
|
|
12
|
+
|
|
13
|
+
# Logs
|
|
14
|
+
npm-debug.log*
|
|
15
|
+
yarn-debug.log*
|
|
16
|
+
yarn-error.log*
|
|
17
|
+
pnpm-debug.log*
|
|
18
|
+
lerna-debug.log*
|
|
19
|
+
|
|
20
|
+
# Runtime data
|
|
21
|
+
pids
|
|
22
|
+
*.pid
|
|
23
|
+
*.seed
|
|
24
|
+
*.pid.lock
|
|
25
|
+
|
|
26
|
+
# Coverage directory used by tools like istanbul
|
|
27
|
+
coverage/
|
|
28
|
+
|
|
29
|
+
# nyc test coverage
|
|
30
|
+
.nyc_output
|
|
31
|
+
|
|
32
|
+
# IDE
|
|
33
|
+
.vscode/
|
|
34
|
+
.idea/
|
|
35
|
+
*.swp
|
|
36
|
+
*.swo
|
|
37
|
+
|
|
38
|
+
# OS
|
|
39
|
+
.DS_Store
|
|
40
|
+
Thumbs.db/
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{ workspaceName }}",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "{{ workspaceDescription }}",
|
|
6
|
+
"workspaces": [
|
|
7
|
+
"apps/*"
|
|
8
|
+
],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "npm run build --workspaces",
|
|
11
|
+
"test": "npm run test --workspaces",
|
|
12
|
+
"lint": "npm run lint --workspaces",
|
|
13
|
+
"format": "npm run format --workspaces",
|
|
14
|
+
"clean": "npm run clean --workspaces && shx rm -rf node_modules"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"shx": "^0.4.0"
|
|
18
|
+
},
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": "{{ minNodeVersion }}"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { BaseCommand } from '../base-command.js';
|
|
2
|
-
export default class Killswitch extends BaseCommand<typeof Killswitch> {
|
|
3
|
-
static args: {};
|
|
4
|
-
static description: string;
|
|
5
|
-
static examples: string[];
|
|
6
|
-
static flags: {
|
|
7
|
-
active: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
-
inactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
-
impersonate: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
-
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
-
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
-
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
-
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
-
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
-
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
-
};
|
|
18
|
-
run(): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=killswitch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"killswitch.d.ts","sourceRoot":"","sources":["../../src/commands/killswitch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW,CAAC,OAAO,UAAU,CAAC;IACpE,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAwE;IAE1F,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;MAgBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC3B"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { create } from '@bufbuild/protobuf';
|
|
2
|
-
import { TenantKillSwitchRequestSchema, TenantKillSwitchRequest_State, } from '@liquidmetal-ai/protogen2/catalog_admin_pb';
|
|
3
|
-
import { Flags } from '@oclif/core';
|
|
4
|
-
import { BaseCommand } from '../base-command.js';
|
|
5
|
-
export default class Killswitch extends BaseCommand {
|
|
6
|
-
static args = {};
|
|
7
|
-
static description = 'Activate or deactivate the tenant kill switch for all applications';
|
|
8
|
-
static examples = [
|
|
9
|
-
`<%= config.bin %> <%= command.id %> --active
|
|
10
|
-
Activate the kill switch (stop all applications).
|
|
11
|
-
`,
|
|
12
|
-
`<%= config.bin %> <%= command.id %> --inactive
|
|
13
|
-
Deactivate the kill switch (restore all applications).
|
|
14
|
-
`,
|
|
15
|
-
];
|
|
16
|
-
static flags = {
|
|
17
|
-
...BaseCommand.HIDDEN_FLAGS,
|
|
18
|
-
active: Flags.boolean({
|
|
19
|
-
description: 'Activate the kill switch (stop all applications)',
|
|
20
|
-
exclusive: ['inactive'],
|
|
21
|
-
}),
|
|
22
|
-
inactive: Flags.boolean({
|
|
23
|
-
description: 'Deactivate the kill switch (restore all applications)',
|
|
24
|
-
exclusive: ['active'],
|
|
25
|
-
}),
|
|
26
|
-
impersonate: Flags.string({
|
|
27
|
-
char: 'i',
|
|
28
|
-
description: 'impersonate organization',
|
|
29
|
-
required: false,
|
|
30
|
-
hidden: true,
|
|
31
|
-
}),
|
|
32
|
-
};
|
|
33
|
-
async run() {
|
|
34
|
-
// Validate that exactly one of --active or --inactive is provided
|
|
35
|
-
if (!this.flags.active && !this.flags.inactive) {
|
|
36
|
-
this.error('You must specify either --active or --inactive');
|
|
37
|
-
}
|
|
38
|
-
const { client: catalogAdminService, userId, organizationId: defaultOrganizationId, } = await this.catalogAdminService();
|
|
39
|
-
const organizationId = this.flags.impersonate ?? defaultOrganizationId;
|
|
40
|
-
// Determine the state based on flags
|
|
41
|
-
const state = this.flags.active
|
|
42
|
-
? TenantKillSwitchRequest_State.ACTIVE // ACTIVE state means kill switch is ON
|
|
43
|
-
: TenantKillSwitchRequest_State.INACTIVE; // INACTIVE state means kill switch is OFF
|
|
44
|
-
this.log(`${this.flags.active ? 'Activating' : 'Deactivating'} kill switch for organization ${organizationId}...`);
|
|
45
|
-
try {
|
|
46
|
-
const request = create(TenantKillSwitchRequestSchema, {
|
|
47
|
-
userId,
|
|
48
|
-
organizationId,
|
|
49
|
-
state,
|
|
50
|
-
});
|
|
51
|
-
const response = await catalogAdminService.tenantKillSwitch(request);
|
|
52
|
-
this.log(`✅ ${response.status}`);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
this.error(`Failed to ${this.flags.active ? 'activate' : 'deactivate'} kill switch: ${error}`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/deploy.ts","../src/index.test.ts","../src/index.ts","../src/log-helpers.ts","../src/status.ts","../src/strict-client.ts","../src/trace.ts","../src/commands/tail.ts","../src/commands/annotation/get.ts","../src/commands/annotation/list.ts","../src/commands/annotation/put.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/bucket/create-credential.ts","../src/commands/bucket/delete-credential.ts","../src/commands/bucket/get-credential.ts","../src/commands/bucket/list-credentials.ts","../src/commands/build/branch.ts","../src/commands/build/checkout.ts","../src/commands/build/clone.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/sandbox.ts","../src/commands/build/start.ts","../src/commands/build/status.ts","../src/commands/build/stop.ts","../src/commands/build/unsandbox.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts","../src/commands/build/tools/check.ts","../src/commands/build/tools/fmt.ts","../src/commands/build/workos/delete.ts","../src/commands/build/workos/invite.ts","../src/commands/build/workos/setup.ts","../src/commands/build/workos/status.ts","../src/commands/build/workos/env/attach.ts","../src/commands/build/workos/env/create.ts","../src/commands/build/workos/env/delete.ts","../src/commands/build/workos/env/detach.ts","../src/commands/build/workos/env/get.ts","../src/commands/build/workos/env/list.ts","../src/commands/build/workos/env/set.ts","../src/commands/dns/create.ts","../src/commands/dns/delete.ts","../src/commands/dns/get.ts","../src/commands/dns/list.ts","../src/commands/dns/records/create.ts","../src/commands/dns/records/delete.ts","../src/commands/dns/records/get.ts","../src/commands/dns/records/list.ts","../src/commands/dns/records/update.ts","../src/commands/logs/query.ts","../src/commands/logs/tail.ts","../src/commands/mcp/install-claude.ts","../src/commands/mcp/install-gemini.ts","../src/commands/mcp/install-goose.ts","../src/commands/mcp/status.ts","../src/commands/object/delete.ts","../src/commands/object/get.ts","../src/commands/object/list.ts","../src/commands/object/put.ts","../src/commands/query/chunk-search.ts","../src/commands/query/document.ts","../src/commands/query/events.ts","../src/commands/query/reindex.ts","../src/commands/query/search.ts","../src/lib/dns-utils.ts","../src/utils/directory-validation.ts"],"version":"5.8.3"}
|
package/dist/utils/mixpanel.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Track an event to Mixpanel
|
|
3
|
-
* @param eventName - The name of the event to track
|
|
4
|
-
* @param properties - Properties to attach to the event
|
|
5
|
-
*
|
|
6
|
-
* This function tracks events asynchronously and fails silently.
|
|
7
|
-
* Tracking errors will never throw or break the user's workflow.
|
|
8
|
-
*/
|
|
9
|
-
export declare function trackEvent(eventName: string, properties: Record<string, string | number | boolean | undefined>): void;
|
|
10
|
-
//# sourceMappingURL=mixpanel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mixpanel.d.ts","sourceRoot":"","sources":["../../src/utils/mixpanel.ts"],"names":[],"mappings":"AAsBA;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAgBrH"}
|
package/dist/utils/mixpanel.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import Mixpanel from 'mixpanel';
|
|
2
|
-
// Mixpanel token - this is a public token and safe to hardcode
|
|
3
|
-
const MIXPANEL_TOKEN = '1d31afcfed15d72490763ef56e6d4349';
|
|
4
|
-
// Initialize Mixpanel client
|
|
5
|
-
let mixpanel = null;
|
|
6
|
-
function getMixpanelClient() {
|
|
7
|
-
if (mixpanel) {
|
|
8
|
-
return mixpanel;
|
|
9
|
-
}
|
|
10
|
-
try {
|
|
11
|
-
mixpanel = Mixpanel.init(MIXPANEL_TOKEN);
|
|
12
|
-
return mixpanel;
|
|
13
|
-
}
|
|
14
|
-
catch (_error) {
|
|
15
|
-
// Silently fail - tracking errors should never break user flow
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Track an event to Mixpanel
|
|
21
|
-
* @param eventName - The name of the event to track
|
|
22
|
-
* @param properties - Properties to attach to the event
|
|
23
|
-
*
|
|
24
|
-
* This function tracks events asynchronously and fails silently.
|
|
25
|
-
* Tracking errors will never throw or break the user's workflow.
|
|
26
|
-
*/
|
|
27
|
-
export function trackEvent(eventName, properties) {
|
|
28
|
-
try {
|
|
29
|
-
const client = getMixpanelClient();
|
|
30
|
-
if (!client) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
// Track asynchronously - we don't wait for the result
|
|
34
|
-
client.track(eventName, properties, (_error) => {
|
|
35
|
-
if (_error) {
|
|
36
|
-
// Silently ignore tracking errors
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
catch (_error) {
|
|
41
|
-
// Silently fail - tracking errors should never break user flow
|
|
42
|
-
}
|
|
43
|
-
}
|