@zlooks.cn/blog-server 1.1.4 → 1.1.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"blog-theme-authoring-prompt.d.ts","sourceRoot":"","sources":["../../src/mcp/blog-theme-authoring-prompt.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAwCD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CA2C7E;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CA8BtF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAmBpF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAclF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGrF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAKrF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGxF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGxF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGzF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGpF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGxF;AAkBD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAYzF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAezF"}
1
+ {"version":3,"file":"blog-theme-authoring-prompt.d.ts","sourceRoot":"","sources":["../../src/mcp/blog-theme-authoring-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAgDD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CA4C7E;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CA8BtF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAuBpF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAclF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGrF;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAKrF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGxF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGxF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGzF;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGpF;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAGxF;AAkBD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAYzF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAgBzF"}
@@ -1,5 +1,4 @@
1
1
  import { BLOG_MCP_PROMPTS, BLOG_MCP_PROVIDER_ID } from '../contracts/mcp.js';
2
- import { BLOG_THEMES_URI, blogThemeStatusUri, } from './blog-resources.js';
3
2
  function prompt(name) {
4
3
  return `${BLOG_MCP_PROVIDER_ID}.${name}`;
5
4
  }
@@ -25,8 +24,15 @@ const sharedUiRequirements = `共享 UI 必须完整接入:
25
24
  - 从 @zlooks.cn/ui/shell-provider 使用 useZlooksNavigation/useZlooksPathname 渲染主导航,合并 Blog navigationPages、归档和友链,按 href 去重且只标记最具体的当前项;不要用固定 Blog 链接替代 Host 提供的其他功能入口。
26
25
  - 从 useSitePresentation 读取站点标识和 legal.registrations/legal.copyright,使用真实备案链接及版权;无数据时不编造。保留独立 Hile document metadata、@zlooks.cn/ui/button、@zlooks.cn/ui/request 和 @zlooks.cn/ui/app 的对应职责。
27
26
  - 用本地组件测试覆盖用户态三种状态、登录跳转、账户菜单、退出确认/失败/成功刷新、三态切换及跨页同步、共享导航和备案版权,不能仅检查 Provider 存在。真实登录与内容写交互属于可选验收,不阻塞主题制作。`;
28
- const runtimeStartupRequirements = '默认执行 pnpm run start,连接实际 Registry 并运行 LOCAL_VERIFIED 已验证的生产构建。只有用户明确使用配套开发模式 Gateway 时才允许 pnpm run dev;不能把开发模式 React Flight 发送给生产模式 Gateway,也不能根据 localhost 地址推断 Gateway 是开发模式。';
29
- const runtimeEvidenceRequirements = '以工具实际返回字段判断:status 对未切换的新主题应为 available,已选中的主题应为 active;instanceCount >= 1,且 buildId 必须与 LOCAL_VERIFIED 已验证的本地产物一致。conflicted/unavailable 不通过,selected/activating 只能有界等待后复查,fallback 不能作为新主题通过的证据;不存在独立的 healthy 或 buildValid 字段。满足这些条件才记录 RUNTIME_VERIFIED,不需要为验收主动切换主题。';
27
+ const runtimeStartupRequirements = '默认执行 pnpm run dev;该脚本直接调用 btp,不存在 btp start 子命令。btp 使用生产兼容 RSC 构建,启动真实 Gateway 和当前主题,并提供规范 Blog、User 与站点配置模拟;不启动完整 Blog、User、Global Config 服务,也不需要 PostgreSQL 或 Redis。btp 只允许 loopback 本地 Registry 和本地 public-host Origin;启动前停止其中会与模拟能力冲突的真实 Blog、User 或站点配置提供者。本地 Registry 或 Gateway 可以复用,退出时只停止 btp 自己启动的进程。';
28
+ const runtimeEvidenceRequirements = '等待终端输出“<package> preview ready: <origin>/blog”,保持进程存活,并实际请求该 /blog 地址。btp 只有在完整读取 HTTP 200 响应且 raw SSR 包含当前 buildId 后才输出 preview ready;仍需确认页面包含当前主题内容且终端没有 RSC 错误,才能记录 RUNTIME_VERIFIED。build 成功或子进程仅显示 ready 都不能替代页面证据。预览不读取主题目录 Resource、不选择主题,也不把模拟内容验收冒充真实站点验收。';
29
+ const runtimeDebuggingRequirements = `按问题选择最小调试场景,每次先停止上一实例:
30
+ - pnpm run dev:normal + anonymous 基线。
31
+ - pnpm exec btp --scenario empty:空内容和空状态。
32
+ - pnpm exec btp --scenario edge:长标题、缺失摘要等边界展示。
33
+ - pnpm exec btp --user authenticated:登录态评论框、内存评论和点赞;这些写入只存在于本次模拟进程。
34
+ - pnpm exec btp --user unavailable:用户服务不可用时的降级 UI。
35
+ 修改 src/ 或 hile-rsc.json 后等待“Theme rebuilt; refresh the browser”,再刷新浏览器;该提示表示真实 Gateway 的 raw SSR 已切换到新 buildId,btp 不做隐式页面刷新。若 ~/.zlooks.cn/.env 或 public-host 配置缺失或指向非本地地址,先运行 zlooks setup 修正为本地预览配置;若出现 development/production React Flight 不兼容,停止占用相同 Origin 的旧 Gateway 或主题进程后重启 btp,不要改用 hile start --dev;若 /blog 为 404/500,先确认已出现 preview ready,再检查 btp 终端首个错误、浏览器 Console 和 Network 中失败的 RSC 或 /-/cn.zlooks.blog.server 请求。`;
30
36
  const authoringCompletionRequirements = '目标是让 Agent 知道如何制作主题。用户仅询问制作方法时,只提供步骤与边界,不执行创建或验收。用户要求实际创建时,模板不是最终成品:它提供功能基础,Agent 应按用户要求调整视觉与布局,保留 SDK 接口和本地回归。完成 PRECHECK、SCAFFOLDED、DESIGNED、LOCAL_VERIFIED、RUNTIME_VERIFIED 后可报告“主题制作完成”。FUNCTION_VERIFIED 是可选的真实内容验收;缺少登录态、测试内容、写操作授权或浏览器验收条件不阻塞主题制作,不得因此要求创建账号或测试文章,也不得声称未执行的验收已通过。';
31
37
  export function createBlogThemeMessage(input) {
32
38
  return `请根据用户请求指导或执行独立 Blog 主题制作。下面已经包含完整工作流,不要再获取其他 create-blog-theme-* Prompt。\n${context(input)}
@@ -63,12 +69,13 @@ LOCAL_VERIFIED
63
69
 
64
70
  RUNTIME_VERIFIED
65
71
  9. ${runtimeStartupRequirements}保留进程并等待 ready;启动失败、提前退出或只有 build 成功都不算可运行。
66
- 10. 读取 Resource ${BLOG_THEMES_URI},随后读取 Resource ${blogThemeStatusUri(input.themeId)}。${runtimeEvidenceRequirements}不要调用 select-theme;切换属于独立的 ${prompt(BLOG_MCP_PROMPTS.switchBlogTheme)} 工作流和用户确认。
72
+ 10. ${runtimeEvidenceRequirements}
73
+ 11. ${runtimeDebuggingRequirements}
67
74
 
68
75
  FUNCTION_VERIFIED(可选)
69
- 11. 仅在用户要求真实内容验收时执行。在隔离测试环境或用户明确选中该主题后,通过真实 Gateway${input.gatewayOrigin ? ` ${input.gatewayOrigin}` : ''} 验证七条路由。动态路由从真实 list-post/list-page/list-category/list-tag 结果选择 slug;没有相应内容时记录该项未验证,不为制作主题补造内容。
70
- 12. 按用户要求的范围检查 raw SSR 样式、hydration、窄屏、键盘焦点、导航、SEO 和浏览器交互。登录后的点赞、取消点赞、评论提交和退出不属于默认制作验收;只有另获明确授权才执行写操作。仅对实际完成的验收记录通过,其余标明未执行或不适用。
71
- 13. 每次代码修复后从 zlooks theme verify . --json 重跑完整本地门禁,再重启并复验运行时。可选内容验收结果单独报告,不得把它变成制作完成的前置条件。
76
+ 12. 仅在用户要求真实内容验收时执行。在隔离测试环境或用户通过独立 ${prompt(BLOG_MCP_PROMPTS.switchBlogTheme)} 工作流明确选中主题后,通过真实 Gateway${input.gatewayOrigin ? ` ${input.gatewayOrigin}` : ''} 验证七条路由。动态路由从真实 list-post/list-page/list-category/list-tag 结果选择 slug;没有相应内容时记录该项未验证,不为制作主题补造内容。
77
+ 13. 按用户要求的范围检查 raw SSR 样式、hydration、窄屏、键盘焦点、导航、SEO 和浏览器交互。登录后的点赞、取消点赞、评论提交和退出不属于默认真实内容验收;只有另获明确授权才对真实服务执行写操作。仅对实际完成的验收记录通过,其余标明未执行或不适用。
78
+ 14. 每次代码修复后从 zlooks theme verify . --json 重跑完整本地门禁,再重启并复验运行时。可选内容验收结果单独报告,不得把它变成制作完成的前置条件。
72
79
 
73
80
  实际创建后的报告逐项列出五个必需阶段的状态、实际命令/调用与关键结果;必需阶段未通过才报告“制作未完成”和原因。另列 FUNCTION_VERIFIED 的实际覆盖或“未执行(可选)”,不要将制作完成误写成所有真实内容行为已经验证。`;
74
81
  }
@@ -121,7 +128,11 @@ export function createBlogThemeRuntimeMessage(input) {
121
128
  - 不在模块顶层调用 loadService;boot 默认导出 Hile service definition。
122
129
  - 服务端 boot 不得导入 @zlooks.cn/blog-theme/client;浏览器交互也不得导入 @zlooks.cn/blog-theme/runtime。
123
130
 
124
- 完成后运行 pnpm run typecheck,并运行 pnpm exec vitest run test/theme-contract.test.ts,确认只有一个 boot 文件。需要真实运行时先通过 zlooks theme verify . --json,再按以下规则启动:${runtimeStartupRequirements}`;
131
+ 完成后运行 pnpm run typecheck,并运行 pnpm exec vitest run test/theme-contract.test.ts,确认只有一个 boot 文件。需要真实运行时先通过 zlooks theme verify . --json,再按以下规则启动:${runtimeStartupRequirements}
132
+
133
+ ${runtimeEvidenceRequirements}
134
+
135
+ ${runtimeDebuggingRequirements}`;
125
136
  }
126
137
  export function createBlogThemeShellMessage(input) {
127
138
  return `请直接实现 ${input.displayName} 的公共页面壳层,视觉必须体现“${input.description}”,不得复制 default 主题布局。\n${context(input)}
@@ -200,7 +211,8 @@ ${sharedUiRequirements}
200
211
  按顺序执行:
201
212
  1. PRECHECK:确认当前根是独立主题项目且 package.json.name=${packageName(input.themeId)},不使用官方保留的 @zlooks.cn/* scope,不覆盖无关文件;依赖不得出现 workspace:*、file:、link: 或主站绝对路径。
202
213
  2. LOCAL_VERIFIED:在项目根运行 zlooks theme verify . --json。它必须依次执行结构检查、pnpm install、test、typecheck、build、verify:rsc;只有 ok=true 且 stage=LOCAL_VERIFIED 才能继续。平台还必须直接校验真实 Hile 产物并执行 npm pack(artifact.verified 与 package.packed);仅当目录属于 Git 仓库时另运行 git diff --check。任何修复后都从平台验证重新开始。
203
- 3. RUNTIME_VERIFIED:${runtimeStartupRequirements}等待 ready,然后读取 Resource ${BLOG_THEMES_URI} 与 Resource ${blogThemeStatusUri(input.themeId)}。${runtimeEvidenceRequirements}没有 Registry 或服务提前退出时只能报告未完成,不能把 build 当作运行证明。
214
+ 3. RUNTIME_VERIFIED:${runtimeStartupRequirements}\n\n${runtimeEvidenceRequirements}\n\n没有 Registry、Gateway 页面失败或服务提前退出时只能报告未完成。
215
+ ${runtimeDebuggingRequirements}
204
216
  4. FUNCTION_VERIFIED(可选):仅在用户要求真实内容验收时执行,并单独记录覆盖范围。在隔离环境或用户通过独立 ${prompt(BLOG_MCP_PROMPTS.switchBlogTheme)} 工作流明确选中主题后,用真实 Gateway 检查用户要求的路由、SSR 样式、hydration、窄屏、导航或搜索。默认不验证登录后的行为;点赞、评论、退出等写交互需要另行明确授权。缺少身份、内容或浏览器条件时记录未验证,不阻塞主题制作,也不伪造 FUNCTION_VERIFIED。
205
217
  5. 发布不属于验证。没有用户明确授权、npm 凭据和权限时不得 npm publish;如获授权,测试版使用 -test.N 并执行 npm publish --tag test。Zlooks CLI 必须先解析并展示准确版本,再按 test 或 latest 通道安装经用户确认的版本;稳定版使用 latest。
206
218
 
@@ -1 +1 @@
1
- {"version":3,"file":"blog-theme-authoring-prompt.js","sourceRoot":"","sources":["../../src/mcp/blog-theme-authoring-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blog-theme-authoring-prompt.js","sourceRoot":"","sources":["../../src/mcp/blog-theme-authoring-prompt.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare const blogThemeAuthoringContract: Readonly<{
2
- schemaVersion: 2;
2
+ schemaVersion: 3;
3
3
  packageNamePattern: "zlooks-theme-<themeId>-server";
4
4
  officialScopeReserved: "@zlooks.cn/*";
5
5
  cli: Readonly<{
@@ -7,9 +7,14 @@ export declare const blogThemeAuthoringContract: Readonly<{
7
7
  verify: "zlooks theme verify --json";
8
8
  }>;
9
9
  runtime: Readonly<{
10
- start: "pnpm run start";
11
- artifact: "verified-production";
12
- development: "matching-development-gateway-only";
10
+ start: "pnpm run dev";
11
+ command: "btp";
12
+ route: "/blog";
13
+ artifact: "production-compatible-preview";
14
+ registry: "loopback-only";
15
+ readiness: "http-200-current-build-ssr";
16
+ scenarios: readonly string[];
17
+ users: readonly string[];
13
18
  }>;
14
19
  routes: readonly ["/", "/posts/[slug]", "/archives", "/pages/[slug]", "/categories/[slug]", "/tags/[slug]", "/friends"];
15
20
  clientInteractions: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"blog-resource-documents.d.ts","sourceRoot":"","sources":["../../src/models/blog-resource-documents.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDrC,CAAC;AACH,eAAO,MAAM,gBAAgB,6CAAqB,CAAC"}
1
+ {"version":3,"file":"blog-resource-documents.d.ts","sourceRoot":"","sources":["../../src/models/blog-resource-documents.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDrC,CAAC;AACH,eAAO,MAAM,gBAAgB,6CAAqB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BLOG_EVENT_CATALOG, BLOG_THEME_REQUIRED_ROUTES } from '@zlooks.cn/blog-shared';
2
2
  export const blogThemeAuthoringContract = Object.freeze({
3
- schemaVersion: 2,
3
+ schemaVersion: 3,
4
4
  packageNamePattern: 'zlooks-theme-<themeId>-server',
5
5
  officialScopeReserved: '@zlooks.cn/*',
6
6
  cli: Object.freeze({
@@ -8,9 +8,14 @@ export const blogThemeAuthoringContract = Object.freeze({
8
8
  verify: 'zlooks theme verify --json',
9
9
  }),
10
10
  runtime: Object.freeze({
11
- start: 'pnpm run start',
12
- artifact: 'verified-production',
13
- development: 'matching-development-gateway-only',
11
+ start: 'pnpm run dev',
12
+ command: 'btp',
13
+ route: '/blog',
14
+ artifact: 'production-compatible-preview',
15
+ registry: 'loopback-only',
16
+ readiness: 'http-200-current-build-ssr',
17
+ scenarios: Object.freeze(['normal', 'empty', 'edge']),
18
+ users: Object.freeze(['anonymous', 'authenticated', 'unavailable']),
14
19
  }),
15
20
  routes: BLOG_THEME_REQUIRED_ROUTES,
16
21
  clientInteractions: Object.freeze([
@@ -1 +1 @@
1
- {"version":3,"file":"blog-resource-documents.js","sourceRoot":"","sources":["../../src/models/blog-resource-documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAExF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;IACtD,aAAa,EAAE,CAAC;IAChB,kBAAkB,EAAE,+BAA+B;IACnD,qBAAqB,EAAE,cAAc;IACrC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,4BAA4B;KACrC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,gBAAgB;QACvB,QAAQ,EAAE,qBAAqB;QAC/B,WAAW,EAAE,mCAAmC;KACjD,CAAC;IACF,MAAM,EAAE,0BAA0B;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC;QAChC,aAAa;QACb,UAAU;QACV,YAAY;QACZ,cAAc;QACd,eAAe;KAChB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,mCAAmC;QAC3C,GAAG,EAAE,gCAAgC;QACrC,UAAU,EAAE,sCAAsC;QAClD,eAAe,EAAE,8BAA8B;QAC/C,UAAU,EAAE,kDAAkD;QAC9D,gBAAgB,EAAE,+CAA+C;QACjE,gBAAgB,EAAE,sEAAsE;KACzF,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;QAC/B,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;QACnB,YAAY;KACb,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,UAAU;QACV,YAAY;QACZ,UAAU;QACV,gBAAgB;QAChB,kBAAkB;KACnB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACpD,eAAe,EAAE,kBAAkB;IACnC,YAAY,EACV,2HAA2H;IAC7H,cAAc,EACZ,oRAAoR;CACvR,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"blog-resource-documents.js","sourceRoot":"","sources":["../../src/models/blog-resource-documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAExF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;IACtD,aAAa,EAAE,CAAC;IAChB,kBAAkB,EAAE,+BAA+B;IACnD,qBAAqB,EAAE,cAAc;IACrC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,4BAA4B;KACrC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,+BAA+B;QACzC,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,4BAA4B;QACvC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,0BAA0B;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC;QAChC,aAAa;QACb,UAAU;QACV,YAAY;QACZ,cAAc;QACd,eAAe;KAChB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,mCAAmC;QAC3C,GAAG,EAAE,gCAAgC;QACrC,UAAU,EAAE,sCAAsC;QAClD,eAAe,EAAE,8BAA8B;QAC/C,UAAU,EAAE,kDAAkD;QAC9D,gBAAgB,EAAE,+CAA+C;QACjE,gBAAgB,EAAE,sEAAsE;KACzF,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;QAC/B,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;QACnB,YAAY;KACb,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,UAAU;QACV,YAAY;QACZ,UAAU;QACV,gBAAgB;QAChB,kBAAkB;KACnB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACpD,eAAe,EAAE,kBAAkB;IACnC,YAAY,EACV,2HAA2H;IAC7H,cAAc,EACZ,oRAAoR;CACvR,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  declare const _default: import("@hile/model").ModelDefinition<object, Readonly<{
2
- schemaVersion: 2;
2
+ schemaVersion: 3;
3
3
  packageNamePattern: "zlooks-theme-<themeId>-server";
4
4
  officialScopeReserved: "@zlooks.cn/*";
5
5
  cli: Readonly<{
@@ -7,9 +7,14 @@ declare const _default: import("@hile/model").ModelDefinition<object, Readonly<{
7
7
  verify: "zlooks theme verify --json";
8
8
  }>;
9
9
  runtime: Readonly<{
10
- start: "pnpm run start";
11
- artifact: "verified-production";
12
- development: "matching-development-gateway-only";
10
+ start: "pnpm run dev";
11
+ command: "btp";
12
+ route: "/blog";
13
+ artifact: "production-compatible-preview";
14
+ registry: "loopback-only";
15
+ readiness: "http-200-current-build-ssr";
16
+ scenarios: readonly string[];
17
+ users: readonly string[];
13
18
  }>;
14
19
  routes: readonly ["/", "/posts/[slug]", "/archives", "/pages/[slug]", "/categories/[slug]", "/tags/[slug]", "/friends"];
15
20
  clientInteractions: readonly string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zlooks.cn/blog-server",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "engines": {
@@ -77,5 +77,5 @@
77
77
  "typescript": "7.0.2",
78
78
  "vitest": "4.1.11"
79
79
  },
80
- "gitHead": "ffd9a94634e75ea774bc438ae9c53b0b22a5fb03"
80
+ "gitHead": "3c6cdb0199304ed9da661e8bc1c29328fa8f631d"
81
81
  }