@livestore/cli 0.4.0 → 0.5.0-dev.1
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/.tsbuildinfo +1 -1
- package/dist/__tests__/fixtures/mock-config.d.ts +8 -9
- package/dist/__tests__/fixtures/mock-config.d.ts.map +1 -1
- package/dist/__tests__/fixtures/mock-config.js +18 -8
- package/dist/__tests__/fixtures/mock-config.js.map +1 -1
- package/dist/__tests__/sync-operations.test.js +32 -22
- package/dist/__tests__/sync-operations.test.js.map +1 -1
- package/dist/bin.js +7 -6
- package/dist/bin.js.map +1 -1
- package/dist/cli.d.ts +2 -23
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/__fixtures__/mcp-protocol-server.d.ts +2 -0
- package/dist/commands/__fixtures__/mcp-protocol-server.d.ts.map +1 -0
- package/dist/commands/__fixtures__/mcp-protocol-server.js +10 -0
- package/dist/commands/__fixtures__/mcp-protocol-server.js.map +1 -0
- package/dist/commands/import-export.d.ts +5 -19
- package/dist/commands/import-export.d.ts.map +1 -1
- package/dist/commands/import-export.js +13 -13
- package/dist/commands/import-export.js.map +1 -1
- package/dist/commands/mcp-coach.d.ts +8 -7
- package/dist/commands/mcp-coach.d.ts.map +1 -1
- package/dist/commands/mcp-coach.js +11 -11
- package/dist/commands/mcp-coach.js.map +1 -1
- package/dist/commands/mcp-protocols.d.ts +7 -0
- package/dist/commands/mcp-protocols.d.ts.map +1 -0
- package/dist/commands/mcp-protocols.js +12 -0
- package/dist/commands/mcp-protocols.js.map +1 -0
- package/dist/commands/mcp-protocols.test.d.ts +2 -0
- package/dist/commands/mcp-protocols.test.d.ts.map +1 -0
- package/dist/commands/mcp-protocols.test.js +60 -0
- package/dist/commands/mcp-protocols.test.js.map +1 -0
- package/dist/commands/mcp-stdio.test.d.ts +2 -0
- package/dist/commands/mcp-stdio.test.d.ts.map +1 -0
- package/dist/commands/mcp-stdio.test.js +79 -0
- package/dist/commands/mcp-stdio.test.js.map +1 -0
- package/dist/commands/mcp-tool-handlers.d.ts +1 -1
- package/dist/commands/mcp-tool-handlers.d.ts.map +1 -1
- package/dist/commands/mcp-tool-handlers.js +9 -8
- package/dist/commands/mcp-tool-handlers.js.map +1 -1
- package/dist/commands/mcp-tools-defs.d.ts +74 -73
- package/dist/commands/mcp-tools-defs.d.ts.map +1 -1
- package/dist/commands/mcp-tools-defs.js +64 -57
- package/dist/commands/mcp-tools-defs.js.map +1 -1
- package/dist/commands/mcp-tools-defs.test.d.ts +2 -0
- package/dist/commands/mcp-tools-defs.test.d.ts.map +1 -0
- package/dist/commands/mcp-tools-defs.test.js +11 -0
- package/dist/commands/mcp-tools-defs.test.js.map +1 -0
- package/dist/commands/mcp.d.ts +1 -3
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +15 -14
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/new-project.d.ts +19 -27
- package/dist/commands/new-project.d.ts.map +1 -1
- package/dist/commands/new-project.js +19 -18
- package/dist/commands/new-project.js.map +1 -1
- package/dist/mcp-content/architecture.d.ts +1 -1
- package/dist/mcp-content/architecture.d.ts.map +1 -1
- package/dist/mcp-content/architecture.js +3 -3
- package/dist/mcp-content/features.d.ts +1 -1
- package/dist/mcp-content/features.d.ts.map +1 -1
- package/dist/mcp-content/features.js +1 -1
- package/dist/mcp-content/getting-started.d.ts +1 -1
- package/dist/mcp-content/getting-started.d.ts.map +1 -1
- package/dist/mcp-content/getting-started.js +37 -37
- package/dist/mcp-content/overview.d.ts +1 -1
- package/dist/mcp-content/overview.d.ts.map +1 -1
- package/dist/mcp-content/overview.js +6 -6
- package/dist/mcp-content/schemas/blog.d.ts +1 -1
- package/dist/mcp-content/schemas/blog.d.ts.map +1 -1
- package/dist/mcp-content/schemas/blog.js +25 -25
- package/dist/mcp-content/schemas/ecommerce.d.ts +1 -1
- package/dist/mcp-content/schemas/ecommerce.d.ts.map +1 -1
- package/dist/mcp-content/schemas/ecommerce.js +67 -67
- package/dist/mcp-content/schemas/social.d.ts +1 -1
- package/dist/mcp-content/schemas/social.d.ts.map +1 -1
- package/dist/mcp-content/schemas/social.js +48 -48
- package/dist/mcp-content/schemas/todo.d.ts +1 -1
- package/dist/mcp-content/schemas/todo.d.ts.map +1 -1
- package/dist/mcp-content/schemas/todo.js +35 -35
- package/dist/mcp-runtime/runtime.d.ts +5 -5
- package/dist/mcp-runtime/runtime.d.ts.map +1 -1
- package/dist/mcp-runtime/runtime.js +5 -5
- package/dist/mcp-runtime/runtime.js.map +1 -1
- package/dist/mod.js +1 -1
- package/dist/module-loader.d.ts +2 -2
- package/dist/module-loader.d.ts.map +1 -1
- package/dist/module-loader.js +8 -8
- package/dist/module-loader.js.map +1 -1
- package/dist/package-manager.d.ts +3 -3
- package/dist/package-manager.d.ts.map +1 -1
- package/dist/package-manager.test.js +1 -1
- package/dist/sync-operations.d.ts +24 -30
- package/dist/sync-operations.d.ts.map +1 -1
- package/dist/sync-operations.js +15 -15
- package/dist/sync-operations.js.map +1 -1
- package/package.json +45 -59
- package/src/__tests__/fixtures/.gitignore +1 -0
- package/src/__tests__/fixtures/mock-config.ts +21 -10
- package/src/__tests__/sync-operations.test.ts +36 -35
- package/src/bin.ts +7 -6
- package/src/cli.ts +1 -1
- package/src/commands/__fixtures__/mcp-protocol-server.ts +12 -0
- package/src/commands/import-export.ts +29 -29
- package/src/commands/mcp-coach.ts +13 -12
- package/src/commands/mcp-protocols.test.ts +76 -0
- package/src/commands/mcp-protocols.ts +12 -0
- package/src/commands/mcp-stdio.test.ts +93 -0
- package/src/commands/mcp-tool-handlers.ts +11 -8
- package/src/commands/mcp-tools-defs.test.ts +13 -0
- package/src/commands/mcp-tools-defs.ts +57 -55
- package/src/commands/mcp.ts +9 -4
- package/src/commands/new-project.ts +50 -37
- package/src/mcp-content/architecture.ts +3 -3
- package/src/mcp-content/features.ts +1 -1
- package/src/mcp-content/getting-started.ts +37 -37
- package/src/mcp-content/overview.ts +6 -6
- package/src/mcp-content/schemas/blog.ts +25 -25
- package/src/mcp-content/schemas/ecommerce.ts +67 -67
- package/src/mcp-content/schemas/social.ts +48 -48
- package/src/mcp-content/schemas/todo.ts +35 -35
- package/src/mcp-runtime/runtime.ts +7 -7
- package/src/module-loader.ts +11 -12
- package/src/sync-operations.ts +26 -19
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Tool, Toolkit } from 'effect/ai';
|
|
2
|
+
import { Schema } from '@livestore/utils/effect';
|
|
3
|
+
import { coachTool } from './mcp-coach.js';
|
|
3
4
|
export const livestoreToolkit = Toolkit.make(coachTool, Tool.make('livestore_generate_schema', {
|
|
4
5
|
description: 'Generate a LiveStore schema for a specific use case. Choose from predefined types (todo, blog, social, ecommerce) or request a custom schema by providing a description.',
|
|
5
|
-
parameters: {
|
|
6
|
-
schemaType: Schema.String.
|
|
6
|
+
parameters: Schema.Struct({
|
|
7
|
+
schemaType: Schema.String.annotate({
|
|
7
8
|
description: "Schema type: 'todo', 'blog', 'social', 'ecommerce', or 'custom'",
|
|
8
9
|
}),
|
|
9
|
-
customDescription: Schema.optional(Schema.String.
|
|
10
|
+
customDescription: Schema.optional(Schema.String.annotate({
|
|
10
11
|
description: "For custom schemas: describe your data model needs (e.g., 'user management system with roles and permissions')",
|
|
11
12
|
})),
|
|
12
|
-
},
|
|
13
|
+
}),
|
|
13
14
|
success: Schema.Struct({
|
|
14
|
-
schemaCode: Schema.String.
|
|
15
|
-
explanation: Schema.String.
|
|
15
|
+
schemaCode: Schema.String.annotate({ description: 'The generated LiveStore schema TypeScript code' }),
|
|
16
|
+
explanation: Schema.String.annotate({ description: 'Brief explanation of the schema structure' }),
|
|
16
17
|
}),
|
|
17
18
|
}), Tool.make('livestore_get_example_schema', {
|
|
18
19
|
description: 'Get a complete example LiveStore schema with TypeScript code. Returns ready-to-use schema definitions for common application types.',
|
|
19
|
-
parameters: {
|
|
20
|
-
type: Schema.String.
|
|
21
|
-
},
|
|
20
|
+
parameters: Schema.Struct({
|
|
21
|
+
type: Schema.String.annotate({ description: "Example type: 'todo', 'blog', 'social', or 'ecommerce'" }),
|
|
22
|
+
}),
|
|
22
23
|
success: Schema.Struct({
|
|
23
|
-
schemaCode: Schema.String.
|
|
24
|
-
description: Schema.String.
|
|
24
|
+
schemaCode: Schema.String.annotate({ description: 'The complete LiveStore schema code' }),
|
|
25
|
+
description: Schema.String.annotate({ description: 'Description of what this schema models' }),
|
|
25
26
|
}),
|
|
26
27
|
})
|
|
27
28
|
.annotate(Tool.Readonly, true)
|
|
@@ -72,23 +73,23 @@ Returns on success:
|
|
|
72
73
|
"eventNames": ["<event-name-1>", "<event-name-2>", "..."]
|
|
73
74
|
}
|
|
74
75
|
}`,
|
|
75
|
-
parameters: {
|
|
76
|
-
configPath: Schema.String.
|
|
76
|
+
parameters: Schema.Struct({
|
|
77
|
+
configPath: Schema.String.annotate({
|
|
77
78
|
description: 'Path to a module that exports named variables: schema and syncBackend',
|
|
78
79
|
}),
|
|
79
|
-
storeId: Schema.String.
|
|
80
|
-
clientId: Schema.optional(Schema.String.
|
|
81
|
-
sessionId: Schema.optional(Schema.String.
|
|
82
|
-
},
|
|
80
|
+
storeId: Schema.String.annotate({ description: 'Required store id for the LiveStore instance.' }),
|
|
81
|
+
clientId: Schema.optional(Schema.String.annotate({ description: 'Optional client id for the LiveStore instance.' })),
|
|
82
|
+
sessionId: Schema.optional(Schema.String.annotate({ description: 'Optional session id for the LiveStore instance.' })),
|
|
83
|
+
}),
|
|
83
84
|
success: Schema.Struct({
|
|
84
85
|
storeId: Schema.String,
|
|
85
86
|
clientId: Schema.String,
|
|
86
87
|
sessionId: Schema.String,
|
|
87
88
|
schemaInfo: Schema.Struct({
|
|
88
|
-
tableNames: Schema.Array(Schema.String).
|
|
89
|
+
tableNames: Schema.Array(Schema.String).annotate({
|
|
89
90
|
description: 'Non-system table names in the connected schema',
|
|
90
91
|
}),
|
|
91
|
-
eventNames: Schema.Array(Schema.String).
|
|
92
|
+
eventNames: Schema.Array(Schema.String).annotate({
|
|
92
93
|
description: 'Canonical event names defined by the connected schema',
|
|
93
94
|
}),
|
|
94
95
|
}),
|
|
@@ -117,15 +118,18 @@ Returns on success:
|
|
|
117
118
|
"rows": [{ "col": "value" }],
|
|
118
119
|
"rowCount": 1
|
|
119
120
|
}`,
|
|
120
|
-
parameters: {
|
|
121
|
-
sql: Schema.String.
|
|
122
|
-
bindValues: Schema.Union(
|
|
121
|
+
parameters: Schema.Struct({
|
|
122
|
+
sql: Schema.String.annotate({ description: 'The SQL query to execute' }),
|
|
123
|
+
bindValues: Schema.Union([
|
|
124
|
+
Schema.Array(Schema.Json),
|
|
125
|
+
Schema.Record(Schema.String, Schema.Json),
|
|
126
|
+
]).annotate({
|
|
123
127
|
description: 'Bind values for the SQL query (array or record). Record keys must not start with $.',
|
|
124
128
|
}),
|
|
125
|
-
},
|
|
129
|
+
}),
|
|
126
130
|
success: Schema.Struct({
|
|
127
|
-
rows: Schema.Array(Schema.Record(
|
|
128
|
-
rowCount: Schema.
|
|
131
|
+
rows: Schema.Array(Schema.Record(Schema.String, Schema.Json)),
|
|
132
|
+
rowCount: Schema.Finite,
|
|
129
133
|
}),
|
|
130
134
|
}).annotate(Tool.Destructive, false), Tool.make('livestore_instance_commit_events', {
|
|
131
135
|
description: `Commit one or more events defined by your connected LiveStore schema.
|
|
@@ -151,15 +155,15 @@ Example parameters:
|
|
|
151
155
|
|
|
152
156
|
Returns on success:
|
|
153
157
|
{ "committed": 1 }`,
|
|
154
|
-
parameters: {
|
|
158
|
+
parameters: Schema.Struct({
|
|
155
159
|
events: Schema.Array(Schema.Struct({
|
|
156
|
-
name: Schema.String.
|
|
157
|
-
args: Schema.
|
|
160
|
+
name: Schema.String.annotate({ description: 'The name of the event' }),
|
|
161
|
+
args: Schema.Json.annotate({
|
|
158
162
|
description: 'The arguments for the event as a non-stringified JSON value',
|
|
159
163
|
}),
|
|
160
164
|
})),
|
|
161
|
-
},
|
|
162
|
-
success: Schema.Struct({ committed: Schema.
|
|
165
|
+
}),
|
|
166
|
+
success: Schema.Struct({ committed: Schema.Finite }),
|
|
163
167
|
}).annotate(Tool.Destructive, true), Tool.make('livestore_instance_status', {
|
|
164
168
|
description: `Report the LiveStore runtime status for the current MCP session.
|
|
165
169
|
|
|
@@ -176,21 +180,24 @@ Returns when not connected:
|
|
|
176
180
|
{
|
|
177
181
|
"_tag": "disconnected"
|
|
178
182
|
}`,
|
|
179
|
-
parameters:
|
|
180
|
-
success: Schema.Union(
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
183
|
+
parameters: Tool.EmptyParams,
|
|
184
|
+
success: Schema.Union([
|
|
185
|
+
Schema.TaggedStruct('connected', {
|
|
186
|
+
storeId: Schema.String,
|
|
187
|
+
clientId: Schema.String,
|
|
188
|
+
sessionId: Schema.String,
|
|
189
|
+
tableCounts: Schema.Record(Schema.String, Schema.Finite).annotate({
|
|
190
|
+
description: 'Tables in the LiveStore instance with their row count',
|
|
191
|
+
}),
|
|
186
192
|
}),
|
|
187
|
-
|
|
193
|
+
Schema.TaggedStruct('disconnected', {}),
|
|
194
|
+
]),
|
|
188
195
|
}).annotate(Tool.Readonly, true), Tool.make('livestore_instance_disconnect', {
|
|
189
196
|
description: `Disconnect the current LiveStore instance and release resources.
|
|
190
197
|
|
|
191
198
|
Example success:
|
|
192
199
|
{ "_tag": "disconnected" }`,
|
|
193
|
-
parameters:
|
|
200
|
+
parameters: Tool.EmptyParams,
|
|
194
201
|
success: Schema.TaggedStruct('disconnected', {}),
|
|
195
202
|
}), Tool.make('livestore_sync_export', {
|
|
196
203
|
description: `Export all events from a sync backend to JSON data.
|
|
@@ -217,18 +224,18 @@ Returns on success:
|
|
|
217
224
|
"exportedAt": "2024-01-15T10:30:00.000Z",
|
|
218
225
|
"data": { "version": 1, "storeId": "my-store", ... }
|
|
219
226
|
}`,
|
|
220
|
-
parameters: {
|
|
221
|
-
configPath: Schema.String.
|
|
227
|
+
parameters: Schema.Struct({
|
|
228
|
+
configPath: Schema.String.annotate({
|
|
222
229
|
description: 'Path to a module that exports schema and syncBackend',
|
|
223
230
|
}),
|
|
224
|
-
storeId: Schema.String.
|
|
225
|
-
clientId: Schema.optional(Schema.String.
|
|
226
|
-
},
|
|
231
|
+
storeId: Schema.String.annotate({ description: 'Store identifier' }),
|
|
232
|
+
clientId: Schema.optional(Schema.String.annotate({ description: 'Client identifier (default: mcp-export)' })),
|
|
233
|
+
}),
|
|
227
234
|
success: Schema.Struct({
|
|
228
235
|
storeId: Schema.String,
|
|
229
|
-
eventCount: Schema.
|
|
236
|
+
eventCount: Schema.Finite,
|
|
230
237
|
exportedAt: Schema.String,
|
|
231
|
-
data: Schema.
|
|
238
|
+
data: Schema.Json.annotate({ description: 'The export file data (can be saved or passed to import)' }),
|
|
232
239
|
}),
|
|
233
240
|
}).annotate(Tool.Readonly, true), Tool.make('livestore_sync_import', {
|
|
234
241
|
description: `Import events from export data to a sync backend.
|
|
@@ -257,21 +264,21 @@ Returns on success:
|
|
|
257
264
|
"eventCount": 127,
|
|
258
265
|
"dryRun": false
|
|
259
266
|
}`,
|
|
260
|
-
parameters: {
|
|
261
|
-
configPath: Schema.String.
|
|
267
|
+
parameters: Schema.Struct({
|
|
268
|
+
configPath: Schema.String.annotate({
|
|
262
269
|
description: 'Path to a module that exports schema and syncBackend',
|
|
263
270
|
}),
|
|
264
|
-
storeId: Schema.String.
|
|
265
|
-
clientId: Schema.optional(Schema.String.
|
|
266
|
-
data: Schema.
|
|
271
|
+
storeId: Schema.String.annotate({ description: 'Store identifier' }),
|
|
272
|
+
clientId: Schema.optional(Schema.String.annotate({ description: 'Client identifier (default: mcp-import)' })),
|
|
273
|
+
data: Schema.Json.annotate({
|
|
267
274
|
description: 'The export data to import (from livestore_sync_export or a file)',
|
|
268
275
|
}),
|
|
269
|
-
force: Schema.optional(Schema.Boolean.
|
|
270
|
-
dryRun: Schema.optional(Schema.Boolean.
|
|
271
|
-
},
|
|
276
|
+
force: Schema.optional(Schema.Boolean.annotate({ description: 'Force import even if store ID does not match' })),
|
|
277
|
+
dryRun: Schema.optional(Schema.Boolean.annotate({ description: 'Validate without actually importing' })),
|
|
278
|
+
}),
|
|
272
279
|
success: Schema.Struct({
|
|
273
280
|
storeId: Schema.String,
|
|
274
|
-
eventCount: Schema.
|
|
281
|
+
eventCount: Schema.Finite,
|
|
275
282
|
dryRun: Schema.Boolean,
|
|
276
283
|
}),
|
|
277
284
|
}).annotate(Tool.Destructive, true));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tools-defs.js","sourceRoot":"","sources":["../../src/commands/mcp-tools-defs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-tools-defs.js","sourceRoot":"","sources":["../../src/commands/mcp-tools-defs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tools-defs.test.d.ts","sourceRoot":"","sources":["../../src/commands/mcp-tools-defs.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Tool } from 'effect/ai';
|
|
2
|
+
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
3
|
+
import { livestoreToolkit } from './mcp-tools-defs.js';
|
|
4
|
+
Vitest.describe('livestoreToolkit', () => {
|
|
5
|
+
Vitest.it('exposes MCP-compatible object parameter schemas', () => {
|
|
6
|
+
for (const tool of Object.values(livestoreToolkit.tools)) {
|
|
7
|
+
Vitest.expect(Tool.getJsonSchema(tool), tool.name).toMatchObject({ type: 'object' });
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=mcp-tools-defs.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tools-defs.test.js","sourceRoot":"","sources":["../../src/commands/mcp-tools-defs.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACvC,MAAM,CAAC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAChE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QACtF,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/commands/mcp.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import { Cli } from '@livestore/utils/node';
|
|
2
|
-
export declare const mcpCommand: Cli.Command.Command<"mcp",
|
|
3
|
-
readonly subcommand: import("effect/Option").Option<{}>;
|
|
4
|
-
}>;
|
|
2
|
+
export declare const mcpCommand: Cli.Command.Command<"mcp", {}, {}, import("effect/Cause").IllegalArgumentError, never>;
|
|
5
3
|
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAgB,MAAM,uBAAuB,CAAA;AAmGzD,eAAO,MAAM,UAAU,wFAAgF,CAAA"}
|
package/dist/commands/mcp.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { McpProtocol, McpServer } from 'effect/ai';
|
|
2
|
+
import { Effect, Layer, Logger } from '@livestore/utils/effect';
|
|
2
3
|
import { Cli, PlatformNode } from '@livestore/utils/node';
|
|
3
|
-
import { architectureContent } from
|
|
4
|
-
import { featuresContent } from
|
|
5
|
-
import { gettingStartedContent } from
|
|
4
|
+
import { architectureContent } from '../mcp-content/architecture.js';
|
|
5
|
+
import { featuresContent } from '../mcp-content/features.js';
|
|
6
|
+
import { gettingStartedContent } from '../mcp-content/getting-started.js';
|
|
6
7
|
// Content imports
|
|
7
|
-
import { overviewContent } from
|
|
8
|
-
import { blogSchemaContent } from
|
|
9
|
-
import { ecommerceSchemaContent } from
|
|
10
|
-
import { socialSchemaContent } from
|
|
11
|
-
import { todoSchemaContent } from
|
|
12
|
-
import { toolHandlers } from
|
|
8
|
+
import { overviewContent } from '../mcp-content/overview.js';
|
|
9
|
+
import { blogSchemaContent } from '../mcp-content/schemas/blog.js';
|
|
10
|
+
import { ecommerceSchemaContent } from '../mcp-content/schemas/ecommerce.js';
|
|
11
|
+
import { socialSchemaContent } from '../mcp-content/schemas/social.js';
|
|
12
|
+
import { todoSchemaContent } from '../mcp-content/schemas/todo.js';
|
|
13
|
+
import { toolHandlers } from './mcp-tool-handlers.js';
|
|
14
|
+
import { supportedMcpProtocols } from './mcp-protocols.js';
|
|
13
15
|
// Tools imports
|
|
14
|
-
import { livestoreToolkit } from
|
|
16
|
+
import { livestoreToolkit } from './mcp-tools-defs.js';
|
|
15
17
|
const LivestoreResources = Layer.mergeAll(McpServer.resource({
|
|
16
18
|
uri: 'livestore://overview',
|
|
17
19
|
name: 'LiveStore Overview',
|
|
@@ -60,9 +62,8 @@ const mcpServerCommand = Cli.Command.make('server', {}, Effect.fn(function* () {
|
|
|
60
62
|
return yield* McpServer.layerStdio({
|
|
61
63
|
name: 'livestore-mcp',
|
|
62
64
|
version: '0.1.0',
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}).pipe(Layer.provide(LivestoreResources), Layer.provide(LivestoreTools), Layer.provide(Logger.add(Logger.prettyLogger({ stderr: true }))), Layer.launch);
|
|
65
|
+
protocols: supportedMcpProtocols,
|
|
66
|
+
}).pipe(Layer.provide(LivestoreResources), Layer.provide(LivestoreTools), Layer.provide(Layer.merge(Logger.layer([Logger.consolePretty()]), Layer.succeed(Logger.LogToStderr, true))), Layer.provide(PlatformNode.NodeStdio.layer), Layer.launch);
|
|
66
67
|
}));
|
|
67
68
|
export const mcpCommand = Cli.Command.make('mcp').pipe(Cli.Command.withSubcommands([mcpServerCommand]));
|
|
68
69
|
//# sourceMappingURL=mcp.js.map
|
package/dist/commands/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +1,33 @@
|
|
|
1
|
-
import { HttpClient, Option, Schema } from '@livestore/utils/effect';
|
|
1
|
+
import { ChildProcessSpawner, HttpClient, Option, Schema } from '@livestore/utils/effect';
|
|
2
2
|
import { Cli } from '@livestore/utils/node';
|
|
3
|
-
declare const ExampleNotFoundError_base: Schema.
|
|
4
|
-
readonly
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
message: typeof Schema.String;
|
|
9
|
-
}>;
|
|
3
|
+
declare const ExampleNotFoundError_base: Schema.Class<ExampleNotFoundError, Schema.TaggedStruct<"ExampleNotFoundError", {
|
|
4
|
+
readonly exampleName: Schema.String;
|
|
5
|
+
readonly availableExamples: Schema.$Array<Schema.String>;
|
|
6
|
+
readonly message: Schema.String;
|
|
7
|
+
}>, import("effect/Cause").YieldableError>;
|
|
10
8
|
export declare class ExampleNotFoundError extends ExampleNotFoundError_base {
|
|
11
9
|
}
|
|
12
|
-
declare const NetworkError_base: Schema.
|
|
13
|
-
readonly
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
message: typeof Schema.String;
|
|
17
|
-
}>;
|
|
10
|
+
declare const NetworkError_base: Schema.Class<NetworkError, Schema.TaggedStruct<"NetworkError", {
|
|
11
|
+
readonly cause: Schema.Unknown;
|
|
12
|
+
readonly message: Schema.String;
|
|
13
|
+
}>, import("effect/Cause").YieldableError>;
|
|
18
14
|
export declare class NetworkError extends NetworkError_base {
|
|
19
15
|
}
|
|
20
|
-
declare const DirectoryExistsError_base: Schema.
|
|
21
|
-
readonly
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
message: typeof Schema.String;
|
|
25
|
-
}>;
|
|
16
|
+
declare const DirectoryExistsError_base: Schema.Class<DirectoryExistsError, Schema.TaggedStruct<"DirectoryExistsError", {
|
|
17
|
+
readonly path: Schema.String;
|
|
18
|
+
readonly message: Schema.String;
|
|
19
|
+
}>, import("effect/Cause").YieldableError>;
|
|
26
20
|
export declare class DirectoryExistsError extends DirectoryExistsError_base {
|
|
27
21
|
}
|
|
28
|
-
declare const NoExamplesError_base: Schema.
|
|
29
|
-
readonly
|
|
30
|
-
}
|
|
31
|
-
message: typeof Schema.String;
|
|
32
|
-
}>;
|
|
22
|
+
declare const NoExamplesError_base: Schema.Class<NoExamplesError, Schema.TaggedStruct<"NoExamplesError", {
|
|
23
|
+
readonly message: Schema.String;
|
|
24
|
+
}>, import("effect/Cause").YieldableError>;
|
|
33
25
|
export declare class NoExamplesError extends NoExamplesError_base {
|
|
34
26
|
}
|
|
35
|
-
export declare const createCommand: Cli.Command.Command<"create",
|
|
27
|
+
export declare const createCommand: Cli.Command.Command<"create", {
|
|
36
28
|
readonly example: Option.Option<string>;
|
|
37
29
|
readonly ref: string;
|
|
38
30
|
readonly path: Option.Option<string>;
|
|
39
|
-
}>;
|
|
31
|
+
}, {}, ExampleNotFoundError | import("effect/http/HttpClientError").HttpClientError | NetworkError | NoExamplesError | import("effect/PlatformError").PlatformError | import("effect/Terminal").QuitError, ChildProcessSpawner.ChildProcessSpawner | HttpClient.HttpClient | Cli.Prompt.Environment>;
|
|
40
32
|
export {};
|
|
41
33
|
//# sourceMappingURL=new-project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-project.d.ts","sourceRoot":"","sources":["../../src/commands/new-project.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"new-project.d.ts","sourceRoot":"","sources":["../../src/commands/new-project.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,mBAAmB,EAInB,UAAU,EAEV,MAAM,EACN,MAAM,EACP,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;;;;;;AA0B3C,qBAAa,oBAAqB,SAAQ,yBAMxC;CAAG;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAGhC;CAAG;;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAKxC;CAAG;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAKpC;CAAG;AA6JJ,eAAO,MAAM,aAAa;;;;oSA0GzB,CAAA"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as os from 'node:os';
|
|
2
2
|
import * as nodePath from 'node:path';
|
|
3
3
|
import { sluggify } from '@livestore/utils';
|
|
4
|
-
import {
|
|
4
|
+
import { ChildProcess, ChildProcessSpawner, Console, Effect, FileSystem, HttpClient, HttpClientRequest, Option, Schema, } from '@livestore/utils/effect';
|
|
5
5
|
import { Cli } from '@livestore/utils/node';
|
|
6
|
-
import { detectPackageManager, pmCommands } from
|
|
6
|
+
import { detectPackageManager, pmCommands } from '../package-manager.js';
|
|
7
7
|
// Schema for GitHub API response
|
|
8
8
|
const GitHubContentSchema = Schema.Struct({
|
|
9
9
|
name: Schema.String,
|
|
10
|
-
type: Schema.
|
|
10
|
+
type: Schema.Literals(['dir', 'file']),
|
|
11
11
|
path: Schema.String,
|
|
12
12
|
download_url: Schema.NullOr(Schema.String),
|
|
13
13
|
});
|
|
@@ -19,7 +19,7 @@ const githubRequest = (url) => {
|
|
|
19
19
|
};
|
|
20
20
|
/** Schema for parsing package.json scripts (dev or start) */
|
|
21
21
|
const PackageJsonScriptsSchema = Schema.Struct({
|
|
22
|
-
scripts: Schema.Union(Schema.Struct({ dev: Schema.String }), Schema.Struct({ start: Schema.String })),
|
|
22
|
+
scripts: Schema.Union([Schema.Struct({ dev: Schema.String }), Schema.Struct({ start: Schema.String })]),
|
|
23
23
|
});
|
|
24
24
|
// Error types
|
|
25
25
|
export class ExampleNotFoundError extends Schema.TaggedError('~@livestore/cli/ExampleNotFoundError')('ExampleNotFoundError', {
|
|
@@ -47,12 +47,12 @@ const fetchExamples = (ref) => Effect.gen(function* () {
|
|
|
47
47
|
const url = `https://api.github.com/repos/livestorejs/livestore/contents/examples?ref=${ref}`;
|
|
48
48
|
yield* Effect.log(`Fetching examples from ref: ${ref}`);
|
|
49
49
|
const request = githubRequest(url);
|
|
50
|
-
const response = yield* HttpClient.execute(request).pipe(Effect.scoped, Effect.
|
|
50
|
+
const response = yield* HttpClient.execute(request).pipe(Effect.scoped, Effect.catch((error) => new NetworkError({
|
|
51
51
|
cause: error,
|
|
52
52
|
message: `Failed to fetch examples from GitHub: ${String(error)}`,
|
|
53
53
|
})));
|
|
54
54
|
const responseText = yield* response.text;
|
|
55
|
-
const examples = yield* Schema.
|
|
55
|
+
const examples = yield* Schema.decodeEffect(Schema.fromJsonString(GitHubContentsResponseSchema))(responseText).pipe(Effect.catch((error) => new NetworkError({
|
|
56
56
|
cause: error,
|
|
57
57
|
message: `Failed to parse GitHub API response: ${String(error)}`,
|
|
58
58
|
})));
|
|
@@ -68,7 +68,7 @@ const selectExample = (examples) => Effect.gen(function* () {
|
|
|
68
68
|
if (examples.length === 0) {
|
|
69
69
|
return yield* new NoExamplesError({ message: 'No examples available' });
|
|
70
70
|
}
|
|
71
|
-
const prompt = Cli.Prompt.
|
|
71
|
+
const prompt = Cli.Prompt.Select({
|
|
72
72
|
message: '📦 Select a LiveStore example to create:',
|
|
73
73
|
choices: examples.map((example) => ({
|
|
74
74
|
title: example,
|
|
@@ -81,12 +81,13 @@ const selectExample = (examples) => Effect.gen(function* () {
|
|
|
81
81
|
// Download and extract example using tiged approach
|
|
82
82
|
const downloadExample = (exampleName, ref, destinationPath) => Effect.gen(function* () {
|
|
83
83
|
yield* Console.log(`📥 Downloading example "${exampleName}" from ref "${ref}"...`);
|
|
84
|
+
const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
|
|
84
85
|
const tempDir = yield* Effect.sync(() => os.tmpdir());
|
|
85
86
|
const tarballPath = nodePath.join(tempDir, `livestore-${sluggify(ref)}-${Date.now()}.tar.gz`);
|
|
86
87
|
const tarballUrl = `https://api.github.com/repos/livestorejs/livestore/tarball/${ref}`;
|
|
87
88
|
// Download tarball directly
|
|
88
89
|
const request = githubRequest(tarballUrl);
|
|
89
|
-
const response = yield* HttpClient.execute(request).pipe(Effect.scoped, Effect.
|
|
90
|
+
const response = yield* HttpClient.execute(request).pipe(Effect.scoped, Effect.catch((error) => new NetworkError({
|
|
90
91
|
cause: error,
|
|
91
92
|
message: `Failed to download tarball: ${String(error)}`,
|
|
92
93
|
})));
|
|
@@ -99,8 +100,8 @@ const downloadExample = (exampleName, ref, destinationPath) => Effect.gen(functi
|
|
|
99
100
|
// Extract the tarball to a temporary directory first
|
|
100
101
|
const extractDir = nodePath.join(tempDir, `extract-${Date.now()}`);
|
|
101
102
|
yield* fs.makeDirectory(extractDir, { recursive: true });
|
|
102
|
-
// Extract tarball using
|
|
103
|
-
yield*
|
|
103
|
+
// Extract tarball using a child process
|
|
104
|
+
yield* spawner.exitCode(ChildProcess.make('tar', ['-xzf', tarballPath, '-C', extractDir])).pipe(Effect.catch((error) => new NetworkError({
|
|
104
105
|
cause: error,
|
|
105
106
|
message: `Failed to extract tarball: ${String(error)}`,
|
|
106
107
|
})));
|
|
@@ -123,21 +124,21 @@ const downloadExample = (exampleName, ref, destinationPath) => Effect.gen(functi
|
|
|
123
124
|
message: `Example "${exampleName}" not found in the extracted repository`,
|
|
124
125
|
});
|
|
125
126
|
}
|
|
126
|
-
// Copy the example directory contents to the destination using
|
|
127
|
-
yield*
|
|
127
|
+
// Copy the example directory contents to the destination using a child process
|
|
128
|
+
yield* spawner.exitCode(ChildProcess.make('cp', ['-r', `${exampleSourcePath}/.`, destinationPath])).pipe(Effect.catch((error) => new NetworkError({
|
|
128
129
|
cause: error,
|
|
129
130
|
message: `Failed to copy example files: ${String(error)}`,
|
|
130
131
|
})));
|
|
131
132
|
// Clean up extract directory
|
|
132
|
-
yield* fs.remove(extractDir, { recursive: true }).pipe(Effect.
|
|
133
|
+
yield* fs.remove(extractDir, { recursive: true }).pipe(Effect.ignore);
|
|
133
134
|
// Clean up tarball
|
|
134
|
-
yield* fs.remove(tarballPath).pipe(Effect.
|
|
135
|
+
yield* fs.remove(tarballPath).pipe(Effect.ignore);
|
|
135
136
|
yield* Console.log(`✅ Example "${exampleName}" created successfully at: ${destinationPath}`);
|
|
136
137
|
});
|
|
137
138
|
export const createCommand = Cli.Command.make('create', {
|
|
138
|
-
example: Cli.
|
|
139
|
-
ref: Cli.
|
|
140
|
-
path: Cli.
|
|
139
|
+
example: Cli.Flag.String('example').pipe(Cli.Flag.optional, Cli.Flag.withDescription('Example name to create (bypasses interactive selection)')),
|
|
140
|
+
ref: Cli.Flag.String('ref').pipe(Cli.Flag.withAlias('commit'), Cli.Flag.withAlias('branch'), Cli.Flag.withAlias('tag'), Cli.Flag.withDefault('main'), Cli.Flag.withDescription('The name of the commit/branch/tag to fetch examples from. Pull requests refs must be fully-formed (e.g., `refs/pull/123/merge`).')),
|
|
141
|
+
path: Cli.Argument.String('path').pipe(Cli.Argument.optional, Cli.Argument.withDescription('Destination path for the new project')),
|
|
141
142
|
}, Effect.fn(function* ({ example, ref, path, }) {
|
|
142
143
|
yield* Effect.log('🚀 Creating new LiveStore project...');
|
|
143
144
|
// Fetch available examples
|
|
@@ -172,7 +173,7 @@ export const createCommand = Cli.Command.make('create', {
|
|
|
172
173
|
const fs = yield* FileSystem.FileSystem;
|
|
173
174
|
const packageJsonPath = nodePath.join(destinationPath, 'package.json');
|
|
174
175
|
const packageJsonContent = yield* fs.readFileString(packageJsonPath);
|
|
175
|
-
const runScript = yield* Schema.
|
|
176
|
+
const runScript = yield* Schema.decodeEffect(Schema.fromJsonString(PackageJsonScriptsSchema))(packageJsonContent).pipe(Effect.map((pkg) => ('dev' in pkg.scripts ? 'dev' : 'start')), Effect.orElseSucceed(() => undefined));
|
|
176
177
|
// Detect which package manager was used to invoke the CLI (via npm_config_user_agent).
|
|
177
178
|
// This ensures the "next steps" instructions match how the user ran the create command.
|
|
178
179
|
const pmResult = detectPackageManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-project.js","sourceRoot":"","sources":["../../src/commands/new-project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"new-project.js","sourceRoot":"","sources":["../../src/commands/new-project.ts"],"names":[],"mappings":"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"}
|