@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.
Files changed (159) hide show
  1. package/README.md +111 -85
  2. package/bundle/{chunk-ZHYJWVIA.js → chunk-33VVNTZ7.js} +2 -2
  3. package/bundle/{chunk-SP4Q3T7T.js → chunk-3EXF5SKZ.js} +1 -1
  4. package/bundle/{chunk-JXNZYHAI.js → chunk-3TJC2HRW.js} +89 -105
  5. package/bundle/{chunk-HBDFBL3W.js → chunk-44MKXST7.js} +1 -1
  6. package/bundle/{chunk-GDYEPR67.js → chunk-4RZFURCF.js} +1 -1
  7. package/bundle/{chunk-67CBWZ7Y.js → chunk-4UNXUMLE.js} +3 -3
  8. package/bundle/chunk-4VJ2X7ZI.js +48 -0
  9. package/bundle/{chunk-IMQTVYRB.js → chunk-4WGY3ATR.js} +1 -1
  10. package/bundle/{chunk-ORPX7FPP.js → chunk-5TPOE7P2.js} +1 -5
  11. package/bundle/chunk-7JFKALLH.js +133 -0
  12. package/bundle/chunk-7O6U3ZAR.js +75 -0
  13. package/bundle/chunk-AWUA3C2V.js +114 -0
  14. package/bundle/{chunk-QKHN66ZN.js → chunk-BEN3KZQU.js} +1 -1
  15. package/bundle/{chunk-JDMAG4KE.js → chunk-BPZWIRQS.js} +2 -2
  16. package/bundle/chunk-C7G6I3MQ.js +292 -0
  17. package/bundle/chunk-D23L4WLL.js +502 -0
  18. package/bundle/chunk-E2TCXKAT.js +48 -0
  19. package/bundle/{chunk-FTG32FZ4.js → chunk-E7K6Y6GO.js} +1 -1
  20. package/bundle/chunk-EBK2SJTZ.js +805 -0
  21. package/bundle/chunk-FTH4A227.js +46 -0
  22. package/bundle/chunk-HBWEGYBW.js +4486 -0
  23. package/bundle/chunk-HFEVZZHW.js +46 -0
  24. package/bundle/chunk-I5M6WZPS.js +384 -0
  25. package/bundle/chunk-J44ZDCXF.js +44 -0
  26. package/bundle/{chunk-D5TOYPUE.js → chunk-J6XV5EH5.js} +1 -1
  27. package/bundle/chunk-KE7CMLHP.js +292 -0
  28. package/bundle/{chunk-ZLRYUJ5P.js → chunk-KHYRZQSK.js} +4 -4
  29. package/bundle/chunk-KOYRAC7N.js +74 -0
  30. package/bundle/chunk-KQ3F5KG7.js +231 -0
  31. package/bundle/chunk-KSXGB4ZG.js +4539 -0
  32. package/bundle/{chunk-7ERI6IFL.js → chunk-LP3LXBGR.js} +1 -1
  33. package/bundle/chunk-MH3BACIP.js +238722 -0
  34. package/bundle/chunk-MM7BYDBJ.js +238725 -0
  35. package/bundle/chunk-MQUFNQI5.js +231 -0
  36. package/bundle/{chunk-4RVUC2XX.js → chunk-N3LTFUBJ.js} +1 -1
  37. package/bundle/chunk-NWYJJVCF.js +22452 -0
  38. package/bundle/chunk-OAMLVMOY.js +133 -0
  39. package/bundle/chunk-PBVMMANP.js +4480 -0
  40. package/bundle/chunk-PT6CYFBD.js +74 -0
  41. package/bundle/chunk-QAG6TIB7.js +12148 -0
  42. package/bundle/chunk-RSLQIAJB.js +12148 -0
  43. package/bundle/chunk-SAU2NEDC.js +147 -0
  44. package/bundle/chunk-SZ6TMVT4.js +22452 -0
  45. package/bundle/chunk-T3MAVQWW.js +292 -0
  46. package/bundle/chunk-TCGZNSBY.js +4539 -0
  47. package/bundle/chunk-TRIIBQDR.js +4480 -0
  48. package/bundle/chunk-UUTXTOE3.js +231 -0
  49. package/bundle/chunk-VMKGSIXK.js +75 -0
  50. package/bundle/chunk-XDCRA7Y2.js +805 -0
  51. package/bundle/chunk-XEMONOX2.js +384 -0
  52. package/bundle/chunk-YAPQ2CKV.js +115 -0
  53. package/bundle/chunk-YDDBYUDC.js +502 -0
  54. package/bundle/chunk-ZGLCW5YO.js +380 -0
  55. package/bundle/chunk-ZQ6BFQSX.js +44 -0
  56. package/bundle/chunk-ZZTNAQSE.js +147 -0
  57. package/bundle/commands/annotation/get.js +3 -3
  58. package/bundle/commands/annotation/list.js +3 -3
  59. package/bundle/commands/annotation/put.js +3 -3
  60. package/bundle/commands/auth/list.js +2 -2
  61. package/bundle/commands/auth/login.js +3 -3
  62. package/bundle/commands/auth/logout.js +2 -2
  63. package/bundle/commands/auth/select.js +3 -3
  64. package/bundle/commands/bucket/create-credential.js +2 -2
  65. package/bundle/commands/bucket/delete-credential.js +2 -2
  66. package/bundle/commands/bucket/get-credential.js +2 -2
  67. package/bundle/commands/bucket/list-credentials.js +2 -2
  68. package/bundle/commands/build/branch.js +9 -9
  69. package/bundle/commands/build/checkout.js +6 -5
  70. package/bundle/commands/build/clone.js +5 -5
  71. package/bundle/commands/build/delete.js +6 -5
  72. package/bundle/commands/build/deploy.js +9 -9
  73. package/bundle/commands/build/env/get.js +2 -2
  74. package/bundle/commands/build/env/set.js +2 -2
  75. package/bundle/commands/build/find.js +7 -3
  76. package/bundle/commands/build/generate.js +3 -3
  77. package/bundle/commands/build/init-workspace.js +102 -0
  78. package/bundle/commands/build/init.js +3 -3
  79. package/bundle/commands/build/list.js +5 -4
  80. package/bundle/commands/build/sandbox.js +7 -7
  81. package/bundle/commands/build/start.js +2 -2
  82. package/bundle/commands/build/status.js +8 -4
  83. package/bundle/commands/build/stop.js +2 -2
  84. package/bundle/commands/build/tools/check.js +2 -2
  85. package/bundle/commands/build/tools/fmt.js +2 -2
  86. package/bundle/commands/build/unsandbox.js +7 -7
  87. package/bundle/commands/build/upload.js +5 -5
  88. package/bundle/commands/build/validate.js +4 -4
  89. package/bundle/commands/build/workos/delete.js +4 -4
  90. package/bundle/commands/build/workos/env/attach.js +3 -3
  91. package/bundle/commands/build/workos/env/create.js +3 -3
  92. package/bundle/commands/build/workos/env/delete.js +3 -3
  93. package/bundle/commands/build/workos/env/detach.js +3 -3
  94. package/bundle/commands/build/workos/env/get.js +3 -3
  95. package/bundle/commands/build/workos/env/list.js +3 -3
  96. package/bundle/commands/build/workos/env/set.js +3 -3
  97. package/bundle/commands/build/workos/invite.js +3 -3
  98. package/bundle/commands/build/workos/setup.js +3 -3
  99. package/bundle/commands/build/workos/status.js +3 -3
  100. package/bundle/commands/dns/create.js +2 -2
  101. package/bundle/commands/dns/delete.js +4 -4
  102. package/bundle/commands/dns/get.js +4 -4
  103. package/bundle/commands/dns/list.js +3 -3
  104. package/bundle/commands/dns/records/create.js +2 -2
  105. package/bundle/commands/dns/records/delete.js +3 -3
  106. package/bundle/commands/dns/records/get.js +2 -2
  107. package/bundle/commands/dns/records/list.js +2 -2
  108. package/bundle/commands/dns/records/update.js +2 -2
  109. package/bundle/commands/logs/query.js +3 -3
  110. package/bundle/commands/logs/tail.js +3 -3
  111. package/bundle/commands/mcp/install-claude.js +2 -2
  112. package/bundle/commands/mcp/install-gemini.js +2 -2
  113. package/bundle/commands/mcp/install-goose.js +2 -2
  114. package/bundle/commands/mcp/status.js +2 -2
  115. package/bundle/commands/object/delete.js +2 -2
  116. package/bundle/commands/object/get.js +2 -2
  117. package/bundle/commands/object/list.js +2 -2
  118. package/bundle/commands/object/put.js +2 -2
  119. package/bundle/commands/query/chunk-search.js +3 -3
  120. package/bundle/commands/query/document.js +3 -3
  121. package/bundle/commands/query/events.js +2 -2
  122. package/bundle/commands/query/reindex.js +2 -2
  123. package/bundle/commands/query/search.js +3 -3
  124. package/bundle/commands/tail.js +2 -2
  125. package/bundle/index.js +1 -1
  126. package/dist/commands/build/find.d.ts.map +1 -1
  127. package/dist/commands/build/find.js +3 -0
  128. package/dist/commands/build/init-workspace.d.ts +16 -0
  129. package/dist/commands/build/init-workspace.d.ts.map +1 -0
  130. package/dist/commands/build/init-workspace.js +95 -0
  131. package/dist/commands/build/list.d.ts.map +1 -1
  132. package/dist/commands/build/list.js +3 -0
  133. package/dist/commands/build/status.d.ts.map +1 -1
  134. package/dist/commands/build/status.js +3 -0
  135. package/dist/killswitch-utils.d.ts +30 -0
  136. package/dist/killswitch-utils.d.ts.map +1 -0
  137. package/dist/killswitch-utils.js +83 -0
  138. package/oclif.manifest.json +2114 -2007
  139. package/package.json +3 -3
  140. package/templates/claude-code/debug-raindrop-app.md +12 -39
  141. package/templates/claude-code/update-raindrop-app.md +5 -6
  142. package/templates/db/node_modules/.bin/prisma +2 -2
  143. package/templates/db/node_modules/.bin/prisma-kysely +2 -2
  144. package/templates/db/node_modules/.bin/tsc +2 -2
  145. package/templates/db/node_modules/.bin/tsserver +2 -2
  146. package/templates/db/node_modules/.bin/zx +2 -2
  147. package/templates/gemini-code/debug-raindrop-app.toml +12 -39
  148. package/templates/gemini-code/update-raindrop-app.toml +5 -6
  149. package/templates/goose/debug-raindrop-app.yaml +12 -39
  150. package/templates/goose/update-raindrop-app.yaml +5 -6
  151. package/templates/workspace/.gitignore.hbs +40 -0
  152. package/templates/workspace/package.json.hbs +22 -0
  153. package/dist/commands/killswitch.d.ts +0 -20
  154. package/dist/commands/killswitch.d.ts.map +0 -1
  155. package/dist/commands/killswitch.js +0 -58
  156. package/dist/tsconfig.tsbuildinfo +0 -1
  157. package/dist/utils/mixpanel.d.ts +0 -10
  158. package/dist/utils/mixpanel.d.ts.map +0 -1
  159. 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.1",
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.1",
40
- "@liquidmetal-ai/raindrop-framework": "0.9.1"
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. Call mcp__raindrop-mcp__get-prompt with session_id to rehydrate session context
48
+ 5. Get the timeline_id from the session entry in index.json
49
49
 
50
- 6. Spawn a diagnostic subagent with this prompt:
51
- "You are debugging a deployed Raindrop application.
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
- Session ID: [session_id from step 5]
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
- Your task:
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-mcp__update-state with the session_id, timeline_id, and these parameters:
50
+ 6. Call mcp__raindrop-mcp__jump-to-state with these parameters:
51
51
  ```json
52
52
  {
53
- "artifacts": {
54
- "current_state": "merge_features"
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 the merge_features state for adding features.
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/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules"
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/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/dstaley/Work/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
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. Call the `get-prompt` tool (from raindrop-mcp server) with session_id to rehydrate session context
44
+ 5. Get the timeline_id from the session entry in index.json
45
45
 
46
- 6. Spawn a diagnostic subagent with this prompt:
47
- "You are debugging a deployed Raindrop application.
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
- Session ID: [session_id from step 5]
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
- Your task:
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 `update-state` tool (from raindrop-mcp server) with the session_id, timeline_id, and these parameters:
46
+ 6. Call the `jump-to-state` tool (from raindrop-mcp server) with these parameters:
47
47
  ```json
48
48
  {
49
- "artifacts": {
50
- "current_state": "merge_features"
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 the merge_features state for adding features.
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. Call the `get-prompt` tool (from raindrop-mcp server) with session_id to rehydrate session context
47
+ 5. Get the timeline_id from the session entry in index.json
48
48
 
49
- 6. Spawn a diagnostic subagent with this prompt:
50
- "You are debugging a deployed Raindrop application.
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
- Session ID: [session_id from step 5]
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
- Your task:
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 `update-state` tool (from raindrop-mcp server) with the session_id, timeline_id, and these parameters:
49
+ 6. Call the `jump-to-state` tool (from raindrop-mcp server) with these parameters:
50
50
  ```json
51
51
  {
52
- "artifacts": {
53
- "current_state": "merge_features"
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 the merge_features state for adding features.
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"}
@@ -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"}
@@ -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
- }