create-stitchkit 0.6.9 → 0.6.11

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/CHANGELOG.md CHANGED
@@ -12,6 +12,24 @@ step is overwritten by the next release.
12
12
 
13
13
  ## [Unreleased]
14
14
 
15
+ ## [0.6.11] - 2026-10-06
16
+
17
+ ### Changed
18
+
19
+ - Generated projects track Stitchkit `^0.105.1`; the template lockfile resolves 0.105.1.
20
+
21
+ ## [0.6.10] - 2026-10-05
22
+
23
+ ### Changed
24
+
25
+ - Generated projects track Stitchkit `^0.105.0`. The template's query-client test
26
+ builds its `ApiError` values with named options (`{ status: 500 }`), which 0.105
27
+ requires; a project that upgrades its own Stitchkit past 0.104 migrates the same
28
+ way (see Stitchkit's upgrading guide).
29
+ - The Telegram-bot template's journal no longer passes a token pattern: with
30
+ Stitchkit 0.101 every logger masks a bot token by shape and keeps the bot's
31
+ id (`123456:[redacted]`), and an error's own fields reach the line.
32
+
15
33
  ## [0.6.9] — 2026-09-29
16
34
 
17
35
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-stitchkit",
3
- "version": "0.6.9",
3
+ "version": "0.6.11",
4
4
  "description": "Create a production-shaped Stitchkit application",
5
5
  "license": "MIT",
6
6
  "author": "Max Listov <maxlistov@gmail.com>",
@@ -84,7 +84,7 @@
84
84
  "@types/react": "^19.3.0",
85
85
  "ai": "^7.0.111",
86
86
  "react": "^19.3.0",
87
- "stitchkit": "0.100.3",
87
+ "stitchkit": "0.105.1",
88
88
  "typescript": "^7.0.2"
89
89
  },
90
90
  "engines": {
package/template/bun.lock CHANGED
@@ -145,7 +145,7 @@
145
145
  "zod": "4.6.5",
146
146
  },
147
147
  "catalog": {
148
- "stitchkit": "^0.100.3",
148
+ "stitchkit": "^0.105.1",
149
149
  },
150
150
  "packages": {
151
151
  "@ai-sdk/gateway": ["@ai-sdk/gateway@4.0.89", "", { "dependencies": { "@ai-sdk/provider": "4.0.17", "@ai-sdk/provider-utils": "5.0.45", "@vercel/oidc": "3.2.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-n0Q88UUASYQBGK3Ogs9pCe8h3ZXeTHFSuGOLBJAyH73MVGNKUv9w8EJX2f340WUF3eDWWOV305gO7YBpSCPblA=="],
@@ -1128,7 +1128,7 @@
1128
1128
 
1129
1129
  "std-env": ["std-env@3.10.0", "", {}, "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg=="],
1130
1130
 
1131
- "stitchkit": ["stitchkit@0.100.3", "", { "dependencies": { "ky": "^2.1.0" }, "peerDependencies": { "@modelcontextprotocol/ext-apps": "^1.7.2 || ^2.0.0", "@modelcontextprotocol/server": "^2.0.0", "@openrouter/ai-sdk-provider": "^3.1.0", "@opentelemetry/api": "^1.9.0", "@socket.io/bun-engine": "^0.1.2", "@socket.io/component-emitter": "^3.1.2", "@tanstack/react-query": ">=5", "@types/bun": "^1.4.2", "ai": "^7.0.107", "google-auth-library": "^11.1.0", "grammy": "^1.46.0", "maxmind": "^5.0.7", "react": ">=18", "react-query-kit": "^3.3.3", "socket.io": "^4.8.3", "socket.io-client": "^4.8.3", "srvx": "^0.12.5 || ^1.0.5", "zod": "^4.6.5" }, "optionalPeers": ["@modelcontextprotocol/ext-apps", "@modelcontextprotocol/server", "@openrouter/ai-sdk-provider", "@opentelemetry/api", "@socket.io/bun-engine", "@socket.io/component-emitter", "@tanstack/react-query", "@types/bun", "ai", "google-auth-library", "grammy", "maxmind", "react", "react-query-kit", "socket.io", "socket.io-client", "srvx"], "bin": { "stitchkit": "dist/entrypoints/bin/upgrade-cli.js" } }, "sha512-FEfMOfEuGe8dn+e4YWN1CK7Q41ZsuPw39YNSz6xMFplhQc6WL8MMIIOvSkEF6eBVPQw7Wo1DGx12df/B/baH5A=="],
1131
+ "stitchkit": ["stitchkit@0.105.1", "", { "dependencies": { "ky": "^2.1.0" }, "peerDependencies": { "@modelcontextprotocol/ext-apps": "^1.7.2 || ^2.0.0", "@modelcontextprotocol/server": "^2.0.0", "@openrouter/ai-sdk-provider": "^3.1.0", "@opentelemetry/api": "^1.9.0", "@socket.io/bun-engine": "^0.1.2", "@socket.io/component-emitter": "^3.1.2", "@tanstack/react-query": ">=5", "@types/bun": "^1.4.2", "ai": "^7.0.107", "google-auth-library": "^11.1.0", "grammy": "^1.46.0", "maxmind": "^5.0.7", "react": ">=18", "react-query-kit": "^3.3.3", "socket.io": "^4.8.3", "socket.io-client": "^4.8.3", "srvx": "^0.12.5 || ^1.0.5", "zod": "^4.6.5" }, "optionalPeers": ["@modelcontextprotocol/ext-apps", "@modelcontextprotocol/server", "@openrouter/ai-sdk-provider", "@opentelemetry/api", "@socket.io/bun-engine", "@socket.io/component-emitter", "@tanstack/react-query", "@types/bun", "ai", "google-auth-library", "grammy", "maxmind", "react", "react-query-kit", "socket.io", "socket.io-client", "srvx"], "bin": { "stitchkit": "dist/entrypoints/bin/upgrade-cli.js" } }, "sha512-aclbv0bLekzEHC3eRD5EcCi8eUwsfg7M6v2wZH4sZk4uem1ACBzpxDWcz7qeWL8vWOxU7gF97QdIWGBP6s5RdA=="],
1132
1132
 
1133
1133
  "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="],
1134
1134
 
@@ -7,7 +7,7 @@
7
7
  "packages/*"
8
8
  ],
9
9
  "catalog": {
10
- "stitchkit": "^0.100.3"
10
+ "stitchkit": "^0.105.1"
11
11
  },
12
12
  "overrides": {
13
13
  "@playwright/test": "1.63.0",
@@ -28,7 +28,7 @@ describe('query dehydration policy', () => {
28
28
  const defaults = getQueryClient().getDefaultOptions();
29
29
  const retry = defaults.queries?.retry;
30
30
  if (typeof retry !== 'function') throw new Error('query retry policy is required');
31
- const serverFailure = new ApiError('INTERNAL_SERVER_ERROR', 500);
31
+ const serverFailure = new ApiError('INTERNAL_SERVER_ERROR', { status: 500 });
32
32
  expect(retry(0, serverFailure)).toBe(true);
33
33
  expect(retry(1, serverFailure)).toBe(false);
34
34
  expect(defaults.mutations?.retry).toBe(false);
@@ -39,7 +39,7 @@ describe('query dehydration policy', () => {
39
39
  const retry = defaults.queries?.retry;
40
40
  if (typeof retry !== 'function') throw new Error('query retry policy is required');
41
41
  for (const code of ['UNAUTHORIZED', 'FORBIDDEN', 'VALIDATION_ERROR']) {
42
- expect(retry(0, new ApiError(code, 401))).toBe(false);
42
+ expect(retry(0, new ApiError(code, { status: 401 }))).toBe(false);
43
43
  }
44
44
  });
45
45
  });
@@ -1,18 +1,15 @@
1
1
  import { createJsonLogger } from 'stitchkit/observability';
2
- import { TELEGRAM_BOT_TOKEN_PATTERN } from 'stitchkit/telegram';
3
2
  import type { Env } from './env';
4
3
 
5
4
  /**
6
5
  * The process journal: one JSON line per event on standard output. An `Error`
7
- * under any key keeps its name, message, stack and cause, and a bot token
8
- * inside a URL or an error message is masked. A line with `"level":50` is an
9
- * error — the one contract a supervisor reading the journal relies on.
6
+ * under any key keeps its name, message, stack, cause and own fields, and a bot
7
+ * token inside a URL or an error message is masked to `<bot id>:[redacted]`. A
8
+ * line with `"level":50` is an error — the one contract a supervisor reading
9
+ * the journal relies on.
10
10
  */
11
11
  export function createLog(env: Pick<Env, 'LOG_LEVEL'>) {
12
- return createJsonLogger({
13
- level: env.LOG_LEVEL,
14
- sensitiveUrlPatterns: [TELEGRAM_BOT_TOKEN_PATTERN],
15
- });
12
+ return createJsonLogger({ level: env.LOG_LEVEL });
16
13
  }
17
14
 
18
15
  export type Log = ReturnType<typeof createLog>;