@zlooks.cn/blog-server 1.0.3 → 1.0.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.
Files changed (53) hide show
  1. package/dist/blog/blog-application.d.ts +2 -1
  2. package/dist/blog/blog-application.d.ts.map +1 -1
  3. package/dist/blog/blog-application.js +4 -4
  4. package/dist/blog/blog-application.js.map +1 -1
  5. package/dist/config/schema.d.ts.map +1 -1
  6. package/dist/config/schema.js +1 -1
  7. package/dist/config/schema.js.map +1 -1
  8. package/dist/contracts/mcp.d.ts +4 -0
  9. package/dist/contracts/mcp.d.ts.map +1 -1
  10. package/dist/contracts/mcp.js +4 -0
  11. package/dist/contracts/mcp.js.map +1 -1
  12. package/dist/events/blog-domain-events.d.ts +312 -0
  13. package/dist/events/blog-domain-events.d.ts.map +1 -0
  14. package/dist/events/blog-domain-events.js +100 -0
  15. package/dist/events/blog-domain-events.js.map +1 -0
  16. package/dist/mcp/blog-prompts.d.ts +52 -0
  17. package/dist/mcp/blog-prompts.d.ts.map +1 -1
  18. package/dist/mcp/blog-prompts.js +8 -3
  19. package/dist/mcp/blog-prompts.js.map +1 -1
  20. package/dist/mcp/blog-provider.d.ts.map +1 -1
  21. package/dist/mcp/blog-provider.js +2 -0
  22. package/dist/mcp/blog-provider.js.map +1 -1
  23. package/dist/mcp/blog-resources.d.ts +25 -0
  24. package/dist/mcp/blog-resources.d.ts.map +1 -0
  25. package/dist/mcp/blog-resources.js +95 -0
  26. package/dist/mcp/blog-resources.js.map +1 -0
  27. package/dist/mcp/blog-theme-authoring-prompt.d.ts +2 -0
  28. package/dist/mcp/blog-theme-authoring-prompt.d.ts.map +1 -1
  29. package/dist/mcp/blog-theme-authoring-prompt.js +96 -61
  30. package/dist/mcp/blog-theme-authoring-prompt.js.map +1 -1
  31. package/dist/mcp/tool-support.d.ts.map +1 -1
  32. package/dist/mcp/tool-support.js +11 -2
  33. package/dist/mcp/tool-support.js.map +1 -1
  34. package/dist/persistence/comment-store.d.ts +3 -1
  35. package/dist/persistence/comment-store.d.ts.map +1 -1
  36. package/dist/persistence/comment-store.js +36 -12
  37. package/dist/persistence/comment-store.js.map +1 -1
  38. package/dist/persistence/entities.d.ts +3 -0
  39. package/dist/persistence/entities.d.ts.map +1 -1
  40. package/dist/persistence/entities.js +6 -0
  41. package/dist/persistence/entities.js.map +1 -1
  42. package/dist/persistence/page-store.d.ts +3 -1
  43. package/dist/persistence/page-store.d.ts.map +1 -1
  44. package/dist/persistence/page-store.js +42 -9
  45. package/dist/persistence/page-store.js.map +1 -1
  46. package/dist/persistence/post-store.d.ts +3 -1
  47. package/dist/persistence/post-store.d.ts.map +1 -1
  48. package/dist/persistence/post-store.js +56 -13
  49. package/dist/persistence/post-store.js.map +1 -1
  50. package/dist/services/blog-runtime.service.d.ts.map +1 -1
  51. package/dist/services/blog-runtime.service.js +4 -1
  52. package/dist/services/blog-runtime.service.js.map +1 -1
  53. package/package.json +9 -5
@@ -18,118 +18,170 @@ export declare function createBlogPrompts(): {
18
18
  themeId: string;
19
19
  displayName: string;
20
20
  description: string;
21
+ targetDirectory?: string | undefined;
22
+ gatewayOrigin?: string | undefined;
21
23
  }, {
22
24
  themeId: string;
23
25
  displayName: string;
24
26
  description: string;
27
+ targetDirectory?: string | undefined;
28
+ gatewayOrigin?: string | undefined;
25
29
  }>;
26
30
  "create-blog-theme-structure": import("@hile/mcp").McpPromptDefinition<{
27
31
  themeId: string;
28
32
  displayName: string;
29
33
  description: string;
34
+ targetDirectory?: string | undefined;
35
+ gatewayOrigin?: string | undefined;
30
36
  }, {
31
37
  themeId: string;
32
38
  displayName: string;
33
39
  description: string;
40
+ targetDirectory?: string | undefined;
41
+ gatewayOrigin?: string | undefined;
34
42
  }>;
35
43
  "create-blog-theme-runtime": import("@hile/mcp").McpPromptDefinition<{
36
44
  themeId: string;
37
45
  displayName: string;
38
46
  description: string;
47
+ targetDirectory?: string | undefined;
48
+ gatewayOrigin?: string | undefined;
39
49
  }, {
40
50
  themeId: string;
41
51
  displayName: string;
42
52
  description: string;
53
+ targetDirectory?: string | undefined;
54
+ gatewayOrigin?: string | undefined;
43
55
  }>;
44
56
  "create-blog-theme-shell": import("@hile/mcp").McpPromptDefinition<{
45
57
  themeId: string;
46
58
  displayName: string;
47
59
  description: string;
60
+ targetDirectory?: string | undefined;
61
+ gatewayOrigin?: string | undefined;
48
62
  }, {
49
63
  themeId: string;
50
64
  displayName: string;
51
65
  description: string;
66
+ targetDirectory?: string | undefined;
67
+ gatewayOrigin?: string | undefined;
52
68
  }>;
53
69
  "create-blog-theme-home-page": import("@hile/mcp").McpPromptDefinition<{
54
70
  themeId: string;
55
71
  displayName: string;
56
72
  description: string;
73
+ targetDirectory?: string | undefined;
74
+ gatewayOrigin?: string | undefined;
57
75
  }, {
58
76
  themeId: string;
59
77
  displayName: string;
60
78
  description: string;
79
+ targetDirectory?: string | undefined;
80
+ gatewayOrigin?: string | undefined;
61
81
  }>;
62
82
  "create-blog-theme-post-page": import("@hile/mcp").McpPromptDefinition<{
63
83
  themeId: string;
64
84
  displayName: string;
65
85
  description: string;
86
+ targetDirectory?: string | undefined;
87
+ gatewayOrigin?: string | undefined;
66
88
  }, {
67
89
  themeId: string;
68
90
  displayName: string;
69
91
  description: string;
92
+ targetDirectory?: string | undefined;
93
+ gatewayOrigin?: string | undefined;
70
94
  }>;
71
95
  "create-blog-theme-archive-page": import("@hile/mcp").McpPromptDefinition<{
72
96
  themeId: string;
73
97
  displayName: string;
74
98
  description: string;
99
+ targetDirectory?: string | undefined;
100
+ gatewayOrigin?: string | undefined;
75
101
  }, {
76
102
  themeId: string;
77
103
  displayName: string;
78
104
  description: string;
105
+ targetDirectory?: string | undefined;
106
+ gatewayOrigin?: string | undefined;
79
107
  }>;
80
108
  "create-blog-theme-content-page": import("@hile/mcp").McpPromptDefinition<{
81
109
  themeId: string;
82
110
  displayName: string;
83
111
  description: string;
112
+ targetDirectory?: string | undefined;
113
+ gatewayOrigin?: string | undefined;
84
114
  }, {
85
115
  themeId: string;
86
116
  displayName: string;
87
117
  description: string;
118
+ targetDirectory?: string | undefined;
119
+ gatewayOrigin?: string | undefined;
88
120
  }>;
89
121
  "create-blog-theme-category-page": import("@hile/mcp").McpPromptDefinition<{
90
122
  themeId: string;
91
123
  displayName: string;
92
124
  description: string;
125
+ targetDirectory?: string | undefined;
126
+ gatewayOrigin?: string | undefined;
93
127
  }, {
94
128
  themeId: string;
95
129
  displayName: string;
96
130
  description: string;
131
+ targetDirectory?: string | undefined;
132
+ gatewayOrigin?: string | undefined;
97
133
  }>;
98
134
  "create-blog-theme-tag-page": import("@hile/mcp").McpPromptDefinition<{
99
135
  themeId: string;
100
136
  displayName: string;
101
137
  description: string;
138
+ targetDirectory?: string | undefined;
139
+ gatewayOrigin?: string | undefined;
102
140
  }, {
103
141
  themeId: string;
104
142
  displayName: string;
105
143
  description: string;
144
+ targetDirectory?: string | undefined;
145
+ gatewayOrigin?: string | undefined;
106
146
  }>;
107
147
  "create-blog-theme-friends-page": import("@hile/mcp").McpPromptDefinition<{
108
148
  themeId: string;
109
149
  displayName: string;
110
150
  description: string;
151
+ targetDirectory?: string | undefined;
152
+ gatewayOrigin?: string | undefined;
111
153
  }, {
112
154
  themeId: string;
113
155
  displayName: string;
114
156
  description: string;
157
+ targetDirectory?: string | undefined;
158
+ gatewayOrigin?: string | undefined;
115
159
  }>;
116
160
  "create-blog-theme-interactions": import("@hile/mcp").McpPromptDefinition<{
117
161
  themeId: string;
118
162
  displayName: string;
119
163
  description: string;
164
+ targetDirectory?: string | undefined;
165
+ gatewayOrigin?: string | undefined;
120
166
  }, {
121
167
  themeId: string;
122
168
  displayName: string;
123
169
  description: string;
170
+ targetDirectory?: string | undefined;
171
+ gatewayOrigin?: string | undefined;
124
172
  }>;
125
173
  "create-blog-theme-verification": import("@hile/mcp").McpPromptDefinition<{
126
174
  themeId: string;
127
175
  displayName: string;
128
176
  description: string;
177
+ targetDirectory?: string | undefined;
178
+ gatewayOrigin?: string | undefined;
129
179
  }, {
130
180
  themeId: string;
131
181
  displayName: string;
132
182
  description: string;
183
+ targetDirectory?: string | undefined;
184
+ gatewayOrigin?: string | undefined;
133
185
  }>;
134
186
  };
135
187
  //# sourceMappingURL=blog-prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blog-prompts.d.ts","sourceRoot":"","sources":["../../src/mcp/blog-prompts.ts"],"names":[],"mappings":"AAqCA,wBAAgB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqChC"}
1
+ {"version":3,"file":"blog-prompts.d.ts","sourceRoot":"","sources":["../../src/mcp/blog-prompts.ts"],"names":[],"mappings":"AA0CA,wBAAgB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqChC"}
@@ -7,9 +7,14 @@ const postPromptInput = z.strictObject({ postId: z.uuid() });
7
7
  const commentPromptInput = z.strictObject({ postId: z.uuid().optional() });
8
8
  const themePromptInput = z.strictObject({ themeId: blogThemeIdSchema });
9
9
  const themeAuthoringPromptInput = z.strictObject({
10
- themeId: blogThemeIdSchema,
10
+ themeId: blogThemeIdSchema.refine((value) => value.length <= 50 && /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(value), 'Theme authoring requires lowercase kebab-case with at most 50 characters'),
11
11
  displayName: z.string().trim().min(1).max(100),
12
12
  description: z.string().trim().min(1).max(500),
13
+ targetDirectory: z.string().trim().min(1).max(1_024).regex(/^[^\u0000-\u001f\u007f]+$/).optional(),
14
+ gatewayOrigin: z.url({ protocol: /^https?$/ }).max(2_048).refine((value) => {
15
+ const url = new URL(value);
16
+ return !url.username && !url.password && url.pathname === '/' && !url.search && !url.hash;
17
+ }, 'Gateway Origin must not contain credentials, a path, query, or fragment').optional(),
13
18
  });
14
19
  export function createBlogPrompts() {
15
20
  return {
@@ -39,7 +44,7 @@ export function createBlogPrompts() {
39
44
  }
40
45
  function createBlogThemeAuthoringPrompts() {
41
46
  return {
42
- [BLOG_MCP_PROMPTS.createBlogTheme]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogTheme, '创建博客主题', '串联全部主题开发阶段,从零创建并验证一个可运行主题。', '从零构建并验证一个博客主题', createBlogThemeMessage, true),
47
+ [BLOG_MCP_PROMPTS.createBlogTheme]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogTheme, '创建博客主题', '串联全部主题开发阶段,从零创建并验证一个可运行主题。', '从零构建并验证一个博客主题', createBlogThemeMessage),
43
48
  [BLOG_MCP_PROMPTS.createBlogThemeStructure]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogThemeStructure, '创建主题结构与配置', '创建主题包目录、构建配置、路由清单和包级开发说明。', '创建博客主题的文件结构与配置', createBlogThemeStructureMessage),
44
49
  [BLOG_MCP_PROMPTS.createBlogThemeRuntime]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogThemeRuntime, '创建主题服务端运行时', '创建主题定义和唯一 Hile boot,并复用公共 Blog 主题运行时。', '创建博客主题的服务端定义与运行时', createBlogThemeRuntimeMessage),
45
50
  [BLOG_MCP_PROMPTS.createBlogThemeShell]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogThemeShell, '创建主题公共壳层', '创建远程 UI Provider、导航、页头、页脚和主题样式。', '创建博客主题的公共页面壳层', createBlogThemeShellMessage),
@@ -51,7 +56,7 @@ function createBlogThemeAuthoringPrompts() {
51
56
  [BLOG_MCP_PROMPTS.createBlogThemeTagPage]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogThemeTagPage, '创建标签页', '使用统一标签 ViewModel 实现标签文章列表。', '创建博客主题标签页', createBlogThemeTagPageMessage),
52
57
  [BLOG_MCP_PROMPTS.createBlogThemeFriendsPage]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogThemeFriendsPage, '创建友情链接页', '使用统一友情链接 ViewModel 实现安全的站点目录。', '创建博客主题友情链接页', createBlogThemeFriendsPageMessage),
53
58
  [BLOG_MCP_PROMPTS.createBlogThemeInteractions]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogThemeInteractions, '创建主题浏览器交互', '通过统一 Client API 实现搜索、评论等用户触发交互。', '创建博客主题浏览器交互', createBlogThemeInteractionsMessage),
54
- [BLOG_MCP_PROMPTS.createBlogThemeVerification]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogThemeVerification, '验证博客主题', '闭环验证构建、RSC 产物、运行时发现、页面和交互。', '验证并修复博客主题', createBlogThemeVerificationMessage, true),
59
+ [BLOG_MCP_PROMPTS.createBlogThemeVerification]: themeAuthoringPrompt(BLOG_MCP_PROMPTS.createBlogThemeVerification, '验证博客主题', '闭环验证构建、RSC 产物、运行时发现、页面和交互。', '验证并修复博客主题', createBlogThemeVerificationMessage),
55
60
  };
56
61
  }
57
62
  function themeAuthoringPrompt(name, title, description, resultDescription, message, requiresWrite = false) {
@@ -1 +1 @@
1
- {"version":3,"file":"blog-prompts.js","sourceRoot":"","sources":["../../src/mcp/blog-prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blog-prompts.js","sourceRoot":"","sources":["../../src/mcp/blog-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA6B,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EACjC,iCAAiC,EACjC,8BAA8B,EAC9B,kCAAkC,EAClC,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,EAC7B,2BAA2B,EAC3B,+BAA+B,EAC/B,6BAA6B,EAC7B,kCAAkC,GAEnC,MAAM,kCAAkC,CAAC;AAE1C,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7D,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3E,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACxE,MAAM,yBAAyB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/C,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,0EAA0E,CAAC;IAC7L,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC9C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;IAClG,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACzE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IAC5F,CAAC,EAAE,yEAAyE,CAAC,CAAC,QAAQ,EAAE;CACzF,CAAC,CAAC;AAEH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,eAAe,CAAC;YACvD,IAAI,EAAE,gBAAgB,CAAC,oBAAoB;YAC3C,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,wBAAwB;YACrC,UAAU,EAAE,eAAe;YAC3B,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,EAAE;SAChE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CACtC,OAAO,EACP,gBAAgB,EAChB,2BAA2B,CAAC,MAAM,CAAC,CACpC,CAAC;QACF,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,eAAe,CAAC;YAC1D,IAAI,EAAE,gBAAgB,CAAC,uBAAuB;YAC9C,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,4BAA4B;YACzC,UAAU,EAAE,kBAAkB;YAC9B,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,uBAAuB,CAAC,EAAE;SAC9C,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CACtC,OAAO,EACP,sBAAsB,EACtB,8BAA8B,CAAC,MAAM,CAAC,CACvC,CAAC;QACF,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;YAClD,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,0BAA0B;YACvC,UAAU,EAAE,gBAAgB;YAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,EAAE;SAChE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CACvC,OAAO,EACP,WAAW,EACX,sBAAsB,CAAC,OAAO,CAAC,CAChC,CAAC;QACF,GAAG,+BAA+B,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO;QACL,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,oBAAoB,CACtD,gBAAgB,CAAC,eAAe,EAChC,QAAQ,EACR,4BAA4B,EAC5B,eAAe,EACf,sBAAsB,CACvB;QACD,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,EAAE,oBAAoB,CAC/D,gBAAgB,CAAC,wBAAwB,EACzC,WAAW,EACX,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,CAChC;QACD,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,CAC7D,gBAAgB,CAAC,sBAAsB,EACvC,YAAY,EACZ,uCAAuC,EACvC,kBAAkB,EAClB,6BAA6B,CAC9B;QACD,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAC3D,gBAAgB,CAAC,oBAAoB,EACrC,UAAU,EACV,iCAAiC,EACjC,eAAe,EACf,2BAA2B,CAC5B;QACD,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,oBAAoB,CAC9D,gBAAgB,CAAC,uBAAuB,EACxC,QAAQ,EACR,0BAA0B,EAC1B,UAAU,EACV,8BAA8B,CAC/B;QACD,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,oBAAoB,CAC9D,gBAAgB,CAAC,uBAAuB,EACxC,SAAS,EACT,kCAAkC,EAClC,aAAa,EACb,8BAA8B,CAC/B;QACD,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,oBAAoB,CACjE,gBAAgB,CAAC,0BAA0B,EAC3C,SAAS,EACT,2BAA2B,EAC3B,aAAa,EACb,iCAAiC,CAClC;QACD,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,oBAAoB,CACjE,gBAAgB,CAAC,0BAA0B,EAC3C,SAAS,EACT,iCAAiC,EACjC,aAAa,EACb,iCAAiC,CAClC;QACD,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,EAAE,oBAAoB,CAClE,gBAAgB,CAAC,2BAA2B,EAC5C,OAAO,EACP,4BAA4B,EAC5B,WAAW,EACX,kCAAkC,CACnC;QACD,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,CAC7D,gBAAgB,CAAC,sBAAsB,EACvC,OAAO,EACP,4BAA4B,EAC5B,WAAW,EACX,6BAA6B,CAC9B;QACD,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,oBAAoB,CACjE,gBAAgB,CAAC,0BAA0B,EAC3C,SAAS,EACT,+BAA+B,EAC/B,aAAa,EACb,iCAAiC,CAClC;QACD,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,EAAE,oBAAoB,CAClE,gBAAgB,CAAC,2BAA2B,EAC5C,WAAW,EACX,iCAAiC,EACjC,aAAa,EACb,kCAAkC,CACnC;QACD,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,EAAE,oBAAoB,CAClE,gBAAgB,CAAC,2BAA2B,EAC5C,QAAQ,EACR,4BAA4B,EAC5B,WAAW,EACX,kCAAkC,CACnC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,KAAa,EACb,WAAmB,EACnB,iBAAyB,EACzB,OAAmD,EACnD,aAAa,GAAG,KAAK;IAErB,OAAO,eAAe,CAAC;QACrB,IAAI;QACJ,KAAK;QACL,WAAW;QACX,UAAU,EAAE,yBAAyB;QACrC,MAAM,EAAE;YACN,MAAM,EAAE,aAAa;gBACnB,CAAC,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;gBAC7C,CAAC,CAAC,CAAC,mBAAmB,CAAC;SAC1B;KACF,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,YAAY,CAAC,OAA6B,EAAE,WAAmB,EAAE,IAAY;IACpF,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IAChC,OAAO;QACL,WAAW;QACX,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,EAAE,CAAC;KAChF,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,GAAG,oBAAoB,IAAI,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,OAAO,QAAQ,MAAM;QACf,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;sHACiF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;wDAC3F,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;;aAEhF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;0BAClB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;8DACI,CAAC;AAC/D,CAAC;AAED,SAAS,8BAA8B,CAAC,MAA0B;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO;QACD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,wCAAwC,MAAM;;;mBAGpE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,qBAAqB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;mCACvJ,CAAC;AACpC,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,aAAa,OAAO;QACrB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;QACrF,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,OAAO;;WAEnD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;UACjC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,kCAAkC,CAAC;AAC9H,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"blog-provider.d.ts","sourceRoot":"","sources":["../../src/mcp/blog-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAQnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,6CAepF"}
1
+ {"version":3,"file":"blog-provider.d.ts","sourceRoot":"","sources":["../../src/mcp/blog-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAQnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAInE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,6CAgBpF"}
@@ -8,6 +8,7 @@ import { createPageTools } from './page-tools.js';
8
8
  import { createTagTools } from './tag-tools.js';
9
9
  import { createThemeTools } from './theme-tools.js';
10
10
  import { createBlogPrompts } from './blog-prompts.js';
11
+ import { createBlogResources } from './blog-resources.js';
11
12
  export function createBlogMcpProvider(blog, themes) {
12
13
  return defineMcpProvider({
13
14
  id: BLOG_MCP_PROVIDER_ID,
@@ -21,6 +22,7 @@ export function createBlogMcpProvider(blog, themes) {
21
22
  ...createFriendLinkTools(blog),
22
23
  ...createThemeTools(themes),
23
24
  },
25
+ resources: createBlogResources(),
24
26
  prompts: createBlogPrompts(),
25
27
  });
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"blog-provider.js","sourceRoot":"","sources":["../../src/mcp/blog-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,UAAU,qBAAqB,CAAC,IAAqB,EAAE,MAAwB;IACnF,OAAO,iBAAiB,CAAC;QACvB,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE;YACL,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAC5B,GAAG,cAAc,CAAC,IAAI,CAAC;YACvB,GAAG,eAAe,CAAC,IAAI,CAAC;YACxB,GAAG,eAAe,CAAC,IAAI,CAAC;YACxB,GAAG,kBAAkB,CAAC,IAAI,CAAC;YAC3B,GAAG,qBAAqB,CAAC,IAAI,CAAC;YAC9B,GAAG,gBAAgB,CAAC,MAAM,CAAC;SAC5B;QACD,OAAO,EAAE,iBAAiB,EAAE;KAC7B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"blog-provider.js","sourceRoot":"","sources":["../../src/mcp/blog-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,UAAU,qBAAqB,CAAC,IAAqB,EAAE,MAAwB;IACnF,OAAO,iBAAiB,CAAC;QACvB,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE;YACL,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAC5B,GAAG,cAAc,CAAC,IAAI,CAAC;YACvB,GAAG,eAAe,CAAC,IAAI,CAAC;YACxB,GAAG,eAAe,CAAC,IAAI,CAAC;YACxB,GAAG,kBAAkB,CAAC,IAAI,CAAC;YAC3B,GAAG,qBAAqB,CAAC,IAAI,CAAC;YAC9B,GAAG,gBAAgB,CAAC,MAAM,CAAC;SAC5B;QACD,SAAS,EAAE,mBAAmB,EAAE;QAChC,OAAO,EAAE,iBAAiB,EAAE;KAC7B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,25 @@
1
+ export declare const BLOG_THEME_AUTHORING_CONTRACT_URI = "hile://blog/theme-authoring-contract";
2
+ export declare const BLOG_EVENT_CATALOG_URI = "hile://blog/events";
3
+ export declare function createBlogResources(): {
4
+ "theme-authoring-contract": import("@hile/mcp").McpResourceDefinition<{
5
+ kind: "static";
6
+ name: "theme-authoring-contract";
7
+ uri: string;
8
+ mimeType: string;
9
+ access: {
10
+ scopes: string[];
11
+ };
12
+ }>;
13
+ "event-catalog": import("@hile/mcp").McpResourceDefinition<{
14
+ kind: "static";
15
+ name: "event-catalog";
16
+ uri: string;
17
+ title: string;
18
+ description: string;
19
+ mimeType: string;
20
+ access: {
21
+ scopes: string[];
22
+ };
23
+ }>;
24
+ };
25
+ //# sourceMappingURL=blog-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-resources.d.ts","sourceRoot":"","sources":["../../src/mcp/blog-resources.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,iCAAiC,yCAAyC,CAAC;AACxF,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAsD3D,wBAAgB,mBAAmB;;;;;;;YAOnB,MAAM;;;;;;;;;;;YAkBN,MAAM;;;EAYrB"}
@@ -0,0 +1,95 @@
1
+ import { defineMcpResource } from '@hile/mcp';
2
+ import { BLOG_EVENT_CATALOG } from '@zlooks.cn/blog-shared';
3
+ import { BLOG_MCP_READ_SCOPE, BLOG_MCP_RESOURCES, } from '../contracts/mcp.js';
4
+ export const BLOG_THEME_AUTHORING_CONTRACT_URI = 'hile://blog/theme-authoring-contract';
5
+ export const BLOG_EVENT_CATALOG_URI = 'hile://blog/events';
6
+ const contract = Object.freeze({
7
+ schemaVersion: 2,
8
+ packageNamePattern: 'zlooks-theme-<themeId>-server',
9
+ officialScopeReserved: '@zlooks.cn/*',
10
+ cli: Object.freeze({
11
+ create: 'zlooks theme create',
12
+ verify: 'zlooks theme verify --json',
13
+ }),
14
+ runtime: Object.freeze({
15
+ start: 'pnpm run start',
16
+ artifact: 'verified-production',
17
+ development: 'matching-development-gateway-only',
18
+ }),
19
+ routes: Object.freeze([
20
+ '/',
21
+ '/posts/[slug]',
22
+ '/archives',
23
+ '/pages/[slug]',
24
+ '/categories/[slug]',
25
+ '/tags/[slug]',
26
+ '/friends',
27
+ ]),
28
+ clientInteractions: Object.freeze([
29
+ 'searchPosts',
30
+ 'likePost',
31
+ 'unlikePost',
32
+ 'listComments',
33
+ 'createComment',
34
+ ]),
35
+ uiBoundaries: Object.freeze({
36
+ button: '@zlooks.cn/ui/button#ZlooksButton',
37
+ app: '@zlooks.cn/ui/app#useZlooksApp',
38
+ userAccess: '@zlooks.cn/ui/shell#ZlooksUserAccess',
39
+ themePreference: '@zlooks.cn/ui#useZlooksTheme',
40
+ navigation: '@zlooks.cn/ui/shell-provider#useZlooksNavigation',
41
+ sitePresentation: '@zlooks.cn/ui/site-config#useSitePresentation',
42
+ seo: '@zlooks.cn/ui/seo#ZlooksSeo',
43
+ }),
44
+ shellRequirements: Object.freeze(['user-access-states', 'confirmed-logout', 'light-dark-default', 'shared-navigation', 'site-legal']),
45
+ stages: Object.freeze([
46
+ 'PRECHECK',
47
+ 'SCAFFOLDED',
48
+ 'DESIGNED',
49
+ 'LOCAL_VERIFIED',
50
+ 'RUNTIME_VERIFIED',
51
+ ]),
52
+ optionalStages: Object.freeze(['FUNCTION_VERIFIED']),
53
+ completionStage: 'RUNTIME_VERIFIED',
54
+ guidanceOnly: 'When asked how to make a theme, explain the workflow and SDK boundaries without creating a project or running acceptance.',
55
+ completionRule: 'Actual theme creation completes after all required stages through RUNTIME_VERIFIED. The template is an editable starting point, not the final design. Authenticated content acceptance is optional and must not block authoring; unexecuted checks must not be reported as passed.',
56
+ });
57
+ export function createBlogResources() {
58
+ return {
59
+ [BLOG_MCP_RESOURCES.themeAuthoringContract]: defineMcpResource({
60
+ kind: 'static',
61
+ name: BLOG_MCP_RESOURCES.themeAuthoringContract,
62
+ uri: BLOG_THEME_AUTHORING_CONTRACT_URI,
63
+ mimeType: 'application/json',
64
+ access: { scopes: [BLOG_MCP_READ_SCOPE] },
65
+ }, (uri, context) => {
66
+ context.signal.throwIfAborted();
67
+ return {
68
+ contents: [{
69
+ uri: uri.toString(),
70
+ mimeType: 'application/json',
71
+ text: JSON.stringify(contract),
72
+ }],
73
+ };
74
+ }),
75
+ [BLOG_MCP_RESOURCES.eventCatalog]: defineMcpResource({
76
+ kind: 'static',
77
+ name: BLOG_MCP_RESOURCES.eventCatalog,
78
+ uri: BLOG_EVENT_CATALOG_URI,
79
+ title: '博客领域事件目录',
80
+ description: `当前博客服务实例提供 ${BLOG_EVENT_CATALOG.count} 个领域事件契约;创建或修改消费服务前读取此目录。`,
81
+ mimeType: 'application/json',
82
+ access: { scopes: [BLOG_MCP_READ_SCOPE] },
83
+ }, (uri, context) => {
84
+ context.signal.throwIfAborted();
85
+ return {
86
+ contents: [{
87
+ uri: uri.toString(),
88
+ mimeType: 'application/json',
89
+ text: JSON.stringify(BLOG_EVENT_CATALOG),
90
+ }],
91
+ };
92
+ }),
93
+ };
94
+ }
95
+ //# sourceMappingURL=blog-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-resources.js","sourceRoot":"","sources":["../../src/mcp/blog-resources.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ export interface BlogThemeAuthoringInput {
2
2
  readonly themeId: string;
3
3
  readonly displayName: string;
4
4
  readonly description: string;
5
+ readonly targetDirectory?: string | undefined;
6
+ readonly gatewayOrigin?: string | undefined;
5
7
  }
6
8
  export declare function createBlogThemeMessage(input: BlogThemeAuthoringInput): string;
7
9
  export declare function createBlogThemeStructureMessage(input: BlogThemeAuthoringInput): string;
@@ -1 +1 @@
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;CAC9B;AAkBD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CA2B7E;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,CAYlF;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;AAgBD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAYzF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAczF"}
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;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;AAgBD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAYzF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAezF"}