robodev 0.51.0 → 0.51.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "robodev",
3
- "version": "0.51.0",
3
+ "version": "0.51.1",
4
4
  "description": "CLI for Robodev Starbase — create, auth, link, deploy, load, and run a project locally with robodev dev",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,8 +26,8 @@
26
26
  "embedded-postgres": "17.10.0-beta.17",
27
27
  "fastify": "^5.12.1",
28
28
  "tsx": "^4.20.5",
29
- "@robodev-ai/runtime": "0.11.0",
30
- "@robodev-ai/sdk": "0.15.0"
29
+ "@robodev-ai/sdk": "0.15.1",
30
+ "@robodev-ai/runtime": "0.11.1"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/node": "^24.3.0",
@@ -191,7 +191,7 @@ test("collectSourceFiles includes Tiny apps/fe when CLI database is absent", asy
191
191
  }
192
192
  });
193
193
 
194
- test("collectSourceFiles CLI database wins and drops leftover Tiny", async () => {
194
+ test("collectSourceFiles CLI database wins over the Tiny backend and keeps apps/fe", async () => {
195
195
  const root = await mkdtemp(join(tmpdir(), "rd-cli-src-win-"));
196
196
  try {
197
197
  await mkdir(join(root, "robodev"), { recursive: true });
@@ -206,7 +206,7 @@ test("collectSourceFiles CLI database wins and drops leftover Tiny", async () =>
206
206
  const paths = new Set(files.map((file) => file.path));
207
207
  assert.ok(paths.has("robodev/database.ts"));
208
208
  assert.ok(paths.has("src/App.tsx"));
209
- assert.ok(!paths.has("apps/fe/src/main.tsx"));
209
+ assert.ok(paths.has("apps/fe/src/main.tsx"));
210
210
  assert.ok(!paths.has("packages/be/database.ts"));
211
211
  } finally {
212
212
  await rm(root, { recursive: true, force: true });
@@ -26,6 +26,8 @@ Method exports: one export per method — `get` / `post` / `put` / `patch` / `de
26
26
 
27
27
  `ctx.user.id` is a string like `usr_abc123`, not a UUID. Type user id columns as `text`, never `uuid`.
28
28
 
29
+ Request input: declare `body: z.object({ ... })` (and `query:` for the query string) on `defineApi`, then read it as `ctx.body`, with `ctx.query` and `ctx.params` (the `[id]` segments) beside it. There is no `ctx.request` and no `request:` option; publish rejects `request:`.
30
+
29
31
  Throw an Error with an integer `statusCode` (400-599) to answer with that status: `throw Object.assign(new Error("Not found"), { statusCode: 404 })`. Any other throw is a generic 500.
30
32
 
31
33
  ## Hard rules
@@ -9,10 +9,10 @@
9
9
  "rules:gen": "rulesync generate"
10
10
  },
11
11
  "dependencies": {
12
- "@robodev-ai/sdk": "^0.15.0"
12
+ "@robodev-ai/sdk": "^0.15.1"
13
13
  },
14
14
  "devDependencies": {
15
- "robodev": "^0.51.0",
15
+ "robodev": "^0.51.1",
16
16
  "rulesync": "^8.18.0",
17
17
  "typescript": "^5.9.2"
18
18
  }
@@ -26,6 +26,8 @@ Method exports: one export per method — `get` / `post` / `put` / `patch` / `de
26
26
 
27
27
  `ctx.user.id` is a string like `usr_abc123`, not a UUID. Type user id columns as `text`, never `uuid`.
28
28
 
29
+ Request input: declare `body: z.object({ ... })` (and `query:` for the query string) on `defineApi`, then read it as `ctx.body`, with `ctx.query` and `ctx.params` (the `[id]` segments) beside it. There is no `ctx.request` and no `request:` option; publish rejects `request:`.
30
+
29
31
  Throw an Error with an integer `statusCode` (400-599) to answer with that status: `throw Object.assign(new Error("Not found"), { statusCode: 404 })`. Any other throw is a generic 500.
30
32
 
31
33
  ## Hard rules
@@ -8,10 +8,10 @@
8
8
  "deploy": "robodev deploy"
9
9
  },
10
10
  "dependencies": {
11
- "@robodev-ai/sdk": "^0.15.0"
11
+ "@robodev-ai/sdk": "^0.15.1"
12
12
  },
13
13
  "devDependencies": {
14
- "robodev": "^0.51.0",
14
+ "robodev": "^0.51.1",
15
15
  "typescript": "^5.9.2"
16
16
  }
17
17
  }
@@ -26,6 +26,8 @@ Method exports: one export per method — `get` / `post` / `put` / `patch` / `de
26
26
 
27
27
  `ctx.user.id` is a string like `usr_abc123`, not a UUID. Type user id columns as `text`, never `uuid`.
28
28
 
29
+ Request input: declare `body: z.object({ ... })` (and `query:` for the query string) on `defineApi`, then read it as `ctx.body`, with `ctx.query` and `ctx.params` (the `[id]` segments) beside it. There is no `ctx.request` and no `request:` option; publish rejects `request:`.
30
+
29
31
  Throw an Error with an integer `statusCode` (400-599) to answer with that status: `throw Object.assign(new Error("Not found"), { statusCode: 404 })`. Any other throw is a generic 500.
30
32
 
31
33
  ## Hard rules
@@ -10,13 +10,13 @@
10
10
  "build": "vite build"
11
11
  },
12
12
  "dependencies": {
13
- "@robodev-ai/sdk": "^0.15.0",
13
+ "@robodev-ai/sdk": "^0.15.1",
14
14
  "@robodev-ai/client": "^0.5.0",
15
15
  "react": "^18.3.1",
16
16
  "react-dom": "^18.3.1"
17
17
  },
18
18
  "devDependencies": {
19
- "robodev": "^0.51.0",
19
+ "robodev": "^0.51.1",
20
20
  "typescript": "^5.9.2",
21
21
  "vite": "^6.0.0"
22
22
  }
@@ -26,6 +26,8 @@ Method exports: one export per method — `get` / `post` / `put` / `patch` / `de
26
26
 
27
27
  `ctx.user.id` is a string like `usr_abc123`, not a UUID. Type user id columns as `text`, never `uuid`.
28
28
 
29
+ Request input: declare `body: z.object({ ... })` (and `query:` for the query string) on `defineApi`, then read it as `ctx.body`, with `ctx.query` and `ctx.params` (the `[id]` segments) beside it. There is no `ctx.request` and no `request:` option; publish rejects `request:`.
30
+
29
31
  Throw an Error with an integer `statusCode` (400-599) to answer with that status: `throw Object.assign(new Error("Not found"), { statusCode: 404 })`. Any other throw is a generic 500.
30
32
 
31
33
  ## Hard rules
@@ -9,10 +9,10 @@
9
9
  "rules:gen": "rulesync generate"
10
10
  },
11
11
  "dependencies": {
12
- "@robodev-ai/sdk": "^0.15.0"
12
+ "@robodev-ai/sdk": "^0.15.1"
13
13
  },
14
14
  "devDependencies": {
15
- "robodev": "^0.51.0",
15
+ "robodev": "^0.51.1",
16
16
  "rulesync": "^8.18.0",
17
17
  "typescript": "^5.9.2"
18
18
  }
@@ -26,6 +26,8 @@ Method exports: one export per method — `get` / `post` / `put` / `patch` / `de
26
26
 
27
27
  `ctx.user.id` is a string like `usr_abc123`, not a UUID. Type user id columns as `text`, never `uuid`.
28
28
 
29
+ Request input: declare `body: z.object({ ... })` (and `query:` for the query string) on `defineApi`, then read it as `ctx.body`, with `ctx.query` and `ctx.params` (the `[id]` segments) beside it. There is no `ctx.request` and no `request:` option; publish rejects `request:`.
30
+
29
31
  Throw an Error with an integer `statusCode` (400-599) to answer with that status: `throw Object.assign(new Error("Not found"), { statusCode: 404 })`. Any other throw is a generic 500.
30
32
 
31
33
  ## Hard rules
@@ -9,10 +9,10 @@
9
9
  "rules:gen": "rulesync generate"
10
10
  },
11
11
  "dependencies": {
12
- "@robodev-ai/sdk": "^0.15.0"
12
+ "@robodev-ai/sdk": "^0.15.1"
13
13
  },
14
14
  "devDependencies": {
15
- "robodev": "^0.51.0",
15
+ "robodev": "^0.51.1",
16
16
  "rulesync": "^8.18.0",
17
17
  "typescript": "^5.9.2"
18
18
  }
@@ -26,6 +26,8 @@ Method exports: one export per method — `get` / `post` / `put` / `patch` / `de
26
26
 
27
27
  `ctx.user.id` is a string like `usr_abc123`, not a UUID. Type user id columns as `text`, never `uuid`.
28
28
 
29
+ Request input: declare `body: z.object({ ... })` (and `query:` for the query string) on `defineApi`, then read it as `ctx.body`, with `ctx.query` and `ctx.params` (the `[id]` segments) beside it. There is no `ctx.request` and no `request:` option; publish rejects `request:`.
30
+
29
31
  Throw an Error with an integer `statusCode` (400-599) to answer with that status: `throw Object.assign(new Error("Not found"), { statusCode: 404 })`. Any other throw is a generic 500.
30
32
 
31
33
  ## Hard rules
@@ -11,7 +11,7 @@
11
11
  "generate:api": "orval"
12
12
  },
13
13
  "dependencies": {
14
- "@robodev-ai/sdk": "^0.15.0",
14
+ "@robodev-ai/sdk": "^0.15.1",
15
15
  "@robodev-ai/client": "^0.5.0",
16
16
  "react": "^18.3.1",
17
17
  "react-dom": "^18.3.1",
@@ -21,7 +21,7 @@
21
21
  "@types/react": "^18.3.12",
22
22
  "@types/react-dom": "^18.3.1",
23
23
  "orval": "^7.11.2",
24
- "robodev": "^0.51.0",
24
+ "robodev": "^0.51.1",
25
25
  "typescript": "^5.9.2",
26
26
  "vite": "^6.0.0"
27
27
  }
@@ -26,6 +26,8 @@ Method exports: one export per method — `get` / `post` / `put` / `patch` / `de
26
26
 
27
27
  `ctx.user.id` is a string like `usr_abc123`, not a UUID. Type user id columns as `text`, never `uuid`.
28
28
 
29
+ Request input: declare `body: z.object({ ... })` (and `query:` for the query string) on `defineApi`, then read it as `ctx.body`, with `ctx.query` and `ctx.params` (the `[id]` segments) beside it. There is no `ctx.request` and no `request:` option; publish rejects `request:`.
30
+
29
31
  Throw an Error with an integer `statusCode` (400-599) to answer with that status: `throw Object.assign(new Error("Not found"), { statusCode: 404 })`. Any other throw is a generic 500.
30
32
 
31
33
  ## Hard rules
@@ -9,10 +9,10 @@
9
9
  "rules:gen": "rulesync generate"
10
10
  },
11
11
  "dependencies": {
12
- "@robodev-ai/sdk": "^0.15.0"
12
+ "@robodev-ai/sdk": "^0.15.1"
13
13
  },
14
14
  "devDependencies": {
15
- "robodev": "^0.51.0",
15
+ "robodev": "^0.51.1",
16
16
  "rulesync": "^8.18.0",
17
17
  "typescript": "^5.9.2"
18
18
  }