@liquidmetal-ai/raindrop 0.4.13 → 0.5.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.
- package/README.md +56 -57
- package/dist/base-command.d.ts +1 -1
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +2 -2
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +22 -5
- package/dist/codegen.test.js +3 -2
- package/dist/commands/build/delete.d.ts.map +1 -1
- package/dist/commands/build/delete.js +0 -11
- package/dist/commands/build/deploy.d.ts +0 -1
- package/dist/commands/build/deploy.d.ts.map +1 -1
- package/dist/commands/build/deploy.js +3 -16
- package/dist/commands/build/find.js +2 -2
- package/dist/commands/build/list.d.ts +1 -0
- package/dist/commands/build/list.d.ts.map +1 -1
- package/dist/commands/build/list.js +27 -8
- package/dist/commands/tail.js +1 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +1 -4
- package/oclif.manifest.json +1715 -1722
- package/package.json +3 -3
- package/templates/db/node_modules/.bin/prisma +4 -4
- package/templates/db/node_modules/.bin/prisma-kysely +2 -2
- package/templates/db/node_modules/.bin/tsc +4 -4
- package/templates/db/node_modules/.bin/tsserver +4 -4
- package/templates/db/node_modules/.bin/zx +2 -2
- package/templates/db/package.json +1 -1
- package/templates/handlers/mcp-service/index.ts.hbs +53 -0
- package/templates/init/package.json.hbs +3 -1
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.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"author": "bosgood",
|
|
6
6
|
"bin": {
|
|
7
7
|
"raindrop": "./bin/run.js"
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"typescript": "^5",
|
|
35
35
|
"zod": "^3.23.8",
|
|
36
36
|
"zx": "^8.1.9",
|
|
37
|
-
"@liquidmetal-ai/
|
|
38
|
-
"@liquidmetal-ai/
|
|
37
|
+
"@liquidmetal-ai/drizzle": "0.5.0",
|
|
38
|
+
"@liquidmetal-ai/raindrop-framework": "0.5.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@changesets/cli": "^2.27.9",
|
|
@@ -6,12 +6,12 @@ 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/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
|
-
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/prisma@6.10.1_typescript@5.
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/index.js" "$@"
|
|
15
15
|
else
|
|
16
|
-
exec node "$basedir/../../../../../../node_modules/.pnpm/prisma@6.10.1_typescript@5.
|
|
16
|
+
exec node "$basedir/../../../../../../node_modules/.pnpm/prisma@6.10.1_typescript@5.9.2/node_modules/prisma/build/index.js" "$@"
|
|
17
17
|
fi
|
|
@@ -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/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/dist/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules/prisma-kysely/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/prisma-kysely@1.8.0/node_modules:/Users/ian/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,12 +6,12 @@ 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/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
|
-
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/typescript@5.
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/tsc" "$@"
|
|
15
15
|
else
|
|
16
|
-
exec node "$basedir/../../../../../../node_modules/.pnpm/typescript@5.
|
|
16
|
+
exec node "$basedir/../../../../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/tsc" "$@"
|
|
17
17
|
fi
|
|
@@ -6,12 +6,12 @@ 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/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/typescript@5.9.2/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
12
12
|
fi
|
|
13
13
|
if [ -x "$basedir/node" ]; then
|
|
14
|
-
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/typescript@5.
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/tsserver" "$@"
|
|
15
15
|
else
|
|
16
|
-
exec node "$basedir/../../../../../../node_modules/.pnpm/typescript@5.
|
|
16
|
+
exec node "$basedir/../../../../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/bin/tsserver" "$@"
|
|
17
17
|
fi
|
|
@@ -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/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/node_modules"
|
|
10
10
|
else
|
|
11
|
-
export NODE_PATH="/Users/
|
|
11
|
+
export NODE_PATH="/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/build/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules/zx/node_modules:/Users/ian/liquidmetal/node_modules/.pnpm/zx@8.6.0/node_modules:/Users/ian/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" "$@"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ActorState } from "@liquidmetal-ai/raindrop-framework";
|
|
2
|
+
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { Env } from './raindrop.gen.js';
|
|
5
|
+
|
|
6
|
+
export const implementation = {
|
|
7
|
+
name: "{{ serviceName }}",
|
|
8
|
+
version: "1.0.0",
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default (server: McpServer, env: Env, state: ActorState) => {
|
|
12
|
+
server.registerTool("add",
|
|
13
|
+
{
|
|
14
|
+
title: "Addition Tool",
|
|
15
|
+
description: "Add two numbers",
|
|
16
|
+
inputSchema: {
|
|
17
|
+
a: z.number(),
|
|
18
|
+
b: z.number(),
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
async ({ a, b }: { a: number; b: number }, { sendNotification }) => {
|
|
22
|
+
await sendNotification({
|
|
23
|
+
method: "notifications/message",
|
|
24
|
+
params: {
|
|
25
|
+
level: "info",
|
|
26
|
+
data: "Addition operation is in progress...",
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
// Simulate some processing delay
|
|
30
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
31
|
+
return { content: [{ type: "text", text: String(a + b) }] };
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
server.registerResource(
|
|
35
|
+
"greeting",
|
|
36
|
+
new ResourceTemplate("greeting://{name}", { list: undefined }),
|
|
37
|
+
{
|
|
38
|
+
title: "Greeting Resource",
|
|
39
|
+
description: "Dynamic greeting generator",
|
|
40
|
+
},
|
|
41
|
+
async (uri: URL, { name }, _extra) => {
|
|
42
|
+
const greeting = {
|
|
43
|
+
response: `Hello, ${name ?? "World"}!`,
|
|
44
|
+
};
|
|
45
|
+
return {
|
|
46
|
+
contents: [{
|
|
47
|
+
uri: uri.toString(),
|
|
48
|
+
text: greeting.response || 'World',
|
|
49
|
+
}]
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
}
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"vitest": "^3.1.3"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@
|
|
21
|
+
"@modelcontextprotocol/sdk": "^1",
|
|
22
|
+
"@liquidmetal-ai/raindrop-framework": "^{{ raindropFrameworkVersion }}",
|
|
23
|
+
"zod": "^3"
|
|
22
24
|
}
|
|
23
25
|
}
|