@myagentroam/protocol 0.9.62 → 0.9.65

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.
@@ -0,0 +1,370 @@
1
+ import { z } from 'zod';
2
+ export declare const skillScopeSchema: z.ZodEnum<["ENTERPRISE", "ORGANIZATION", "PERSONAL"]>;
3
+ export declare const skillSourceKindSchema: z.ZodEnum<["SKILLS_SH", "REPOSITORY"]>;
4
+ export declare const skillSourceInputSchema: z.ZodEffects<z.ZodObject<{
5
+ kind: z.ZodEnum<["SKILLS_SH", "REPOSITORY"]>;
6
+ scope: z.ZodEnum<["ENTERPRISE", "ORGANIZATION", "PERSONAL"]>;
7
+ organizationId: z.ZodOptional<z.ZodNumber>;
8
+ name: z.ZodString;
9
+ locator: z.ZodUnion<[z.ZodLiteral<"skills.sh">, z.ZodEffects<z.ZodString, string, string>, z.ZodString]>;
10
+ enabled: z.ZodOptional<z.ZodBoolean>;
11
+ }, "strict", z.ZodTypeAny, {
12
+ name: string;
13
+ kind: "SKILLS_SH" | "REPOSITORY";
14
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
15
+ locator: string;
16
+ organizationId?: number | undefined;
17
+ enabled?: boolean | undefined;
18
+ }, {
19
+ name: string;
20
+ kind: "SKILLS_SH" | "REPOSITORY";
21
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
22
+ locator: string;
23
+ organizationId?: number | undefined;
24
+ enabled?: boolean | undefined;
25
+ }>, {
26
+ name: string;
27
+ kind: "SKILLS_SH" | "REPOSITORY";
28
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
29
+ locator: string;
30
+ organizationId?: number | undefined;
31
+ enabled?: boolean | undefined;
32
+ }, {
33
+ name: string;
34
+ kind: "SKILLS_SH" | "REPOSITORY";
35
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
36
+ locator: string;
37
+ organizationId?: number | undefined;
38
+ enabled?: boolean | undefined;
39
+ }>;
40
+ export type SkillSourceInput = z.infer<typeof skillSourceInputSchema>;
41
+ export declare const skillSourceSchema: z.ZodIntersection<z.ZodEffects<z.ZodObject<{
42
+ kind: z.ZodEnum<["SKILLS_SH", "REPOSITORY"]>;
43
+ scope: z.ZodEnum<["ENTERPRISE", "ORGANIZATION", "PERSONAL"]>;
44
+ organizationId: z.ZodOptional<z.ZodNumber>;
45
+ name: z.ZodString;
46
+ locator: z.ZodUnion<[z.ZodLiteral<"skills.sh">, z.ZodEffects<z.ZodString, string, string>, z.ZodString]>;
47
+ enabled: z.ZodOptional<z.ZodBoolean>;
48
+ }, "strict", z.ZodTypeAny, {
49
+ name: string;
50
+ kind: "SKILLS_SH" | "REPOSITORY";
51
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
52
+ locator: string;
53
+ organizationId?: number | undefined;
54
+ enabled?: boolean | undefined;
55
+ }, {
56
+ name: string;
57
+ kind: "SKILLS_SH" | "REPOSITORY";
58
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
59
+ locator: string;
60
+ organizationId?: number | undefined;
61
+ enabled?: boolean | undefined;
62
+ }>, {
63
+ name: string;
64
+ kind: "SKILLS_SH" | "REPOSITORY";
65
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
66
+ locator: string;
67
+ organizationId?: number | undefined;
68
+ enabled?: boolean | undefined;
69
+ }, {
70
+ name: string;
71
+ kind: "SKILLS_SH" | "REPOSITORY";
72
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
73
+ locator: string;
74
+ organizationId?: number | undefined;
75
+ enabled?: boolean | undefined;
76
+ }>, z.ZodObject<{
77
+ id: z.ZodString;
78
+ ownerUserId: z.ZodOptional<z.ZodNumber>;
79
+ builtIn: z.ZodBoolean;
80
+ status: z.ZodEnum<["READY", "DEGRADED", "DISABLED"]>;
81
+ lastErrorCode: z.ZodNullable<z.ZodString>;
82
+ createdAt: z.ZodNumber;
83
+ updatedAt: z.ZodNumber;
84
+ }, "strict", z.ZodTypeAny, {
85
+ status: "DISABLED" | "READY" | "DEGRADED";
86
+ id: string;
87
+ createdAt: number;
88
+ updatedAt: number;
89
+ builtIn: boolean;
90
+ lastErrorCode: string | null;
91
+ ownerUserId?: number | undefined;
92
+ }, {
93
+ status: "DISABLED" | "READY" | "DEGRADED";
94
+ id: string;
95
+ createdAt: number;
96
+ updatedAt: number;
97
+ builtIn: boolean;
98
+ lastErrorCode: string | null;
99
+ ownerUserId?: number | undefined;
100
+ }>>;
101
+ export declare const skillVersionSummarySchema: z.ZodObject<{
102
+ id: z.ZodString;
103
+ commitSha: z.ZodString;
104
+ contentHash: z.ZodString;
105
+ createdAt: z.ZodNumber;
106
+ }, "strict", z.ZodTypeAny, {
107
+ id: string;
108
+ createdAt: number;
109
+ commitSha: string;
110
+ contentHash: string;
111
+ }, {
112
+ id: string;
113
+ createdAt: number;
114
+ commitSha: string;
115
+ contentHash: string;
116
+ }>;
117
+ export declare const skillFavoriteSchema: z.ZodEffects<z.ZodObject<{
118
+ id: z.ZodString;
119
+ sourceId: z.ZodString;
120
+ scope: z.ZodEnum<["ENTERPRISE", "ORGANIZATION", "PERSONAL"]>;
121
+ ownerOrganizationId: z.ZodOptional<z.ZodNumber>;
122
+ ownerUserId: z.ZodOptional<z.ZodNumber>;
123
+ repositoryIdentity: z.ZodString;
124
+ skillPath: z.ZodUnion<[z.ZodLiteral<".">, z.ZodString]>;
125
+ normalizedName: z.ZodString;
126
+ featured: z.ZodBoolean;
127
+ tags: z.ZodArray<z.ZodString, "many">;
128
+ currentVersion: z.ZodObject<{
129
+ id: z.ZodString;
130
+ commitSha: z.ZodString;
131
+ contentHash: z.ZodString;
132
+ createdAt: z.ZodNumber;
133
+ }, "strict", z.ZodTypeAny, {
134
+ id: string;
135
+ createdAt: number;
136
+ commitSha: string;
137
+ contentHash: string;
138
+ }, {
139
+ id: string;
140
+ createdAt: number;
141
+ commitSha: string;
142
+ contentHash: string;
143
+ }>;
144
+ createdAt: z.ZodNumber;
145
+ updatedAt: z.ZodNumber;
146
+ }, "strict", z.ZodTypeAny, {
147
+ id: string;
148
+ createdAt: number;
149
+ updatedAt: number;
150
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
151
+ sourceId: string;
152
+ repositoryIdentity: string;
153
+ skillPath: string;
154
+ normalizedName: string;
155
+ featured: boolean;
156
+ tags: string[];
157
+ currentVersion: {
158
+ id: string;
159
+ createdAt: number;
160
+ commitSha: string;
161
+ contentHash: string;
162
+ };
163
+ ownerUserId?: number | undefined;
164
+ ownerOrganizationId?: number | undefined;
165
+ }, {
166
+ id: string;
167
+ createdAt: number;
168
+ updatedAt: number;
169
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
170
+ sourceId: string;
171
+ repositoryIdentity: string;
172
+ skillPath: string;
173
+ normalizedName: string;
174
+ featured: boolean;
175
+ tags: string[];
176
+ currentVersion: {
177
+ id: string;
178
+ createdAt: number;
179
+ commitSha: string;
180
+ contentHash: string;
181
+ };
182
+ ownerUserId?: number | undefined;
183
+ ownerOrganizationId?: number | undefined;
184
+ }>, {
185
+ id: string;
186
+ createdAt: number;
187
+ updatedAt: number;
188
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
189
+ sourceId: string;
190
+ repositoryIdentity: string;
191
+ skillPath: string;
192
+ normalizedName: string;
193
+ featured: boolean;
194
+ tags: string[];
195
+ currentVersion: {
196
+ id: string;
197
+ createdAt: number;
198
+ commitSha: string;
199
+ contentHash: string;
200
+ };
201
+ ownerUserId?: number | undefined;
202
+ ownerOrganizationId?: number | undefined;
203
+ }, {
204
+ id: string;
205
+ createdAt: number;
206
+ updatedAt: number;
207
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
208
+ sourceId: string;
209
+ repositoryIdentity: string;
210
+ skillPath: string;
211
+ normalizedName: string;
212
+ featured: boolean;
213
+ tags: string[];
214
+ currentVersion: {
215
+ id: string;
216
+ createdAt: number;
217
+ commitSha: string;
218
+ contentHash: string;
219
+ };
220
+ ownerUserId?: number | undefined;
221
+ ownerOrganizationId?: number | undefined;
222
+ }>;
223
+ export type SkillFavorite = z.infer<typeof skillFavoriteSchema>;
224
+ export declare const skillFavoriteCreateInputSchema: z.ZodEffects<z.ZodObject<{
225
+ sourceId: z.ZodString;
226
+ candidateId: z.ZodString;
227
+ skillPath: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<".">, z.ZodString]>>;
228
+ scope: z.ZodEnum<["ENTERPRISE", "ORGANIZATION", "PERSONAL"]>;
229
+ organizationId: z.ZodOptional<z.ZodNumber>;
230
+ featured: z.ZodOptional<z.ZodBoolean>;
231
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
232
+ }, "strict", z.ZodTypeAny, {
233
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
234
+ sourceId: string;
235
+ candidateId: string;
236
+ organizationId?: number | undefined;
237
+ skillPath?: string | undefined;
238
+ featured?: boolean | undefined;
239
+ tags?: string[] | undefined;
240
+ }, {
241
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
242
+ sourceId: string;
243
+ candidateId: string;
244
+ organizationId?: number | undefined;
245
+ skillPath?: string | undefined;
246
+ featured?: boolean | undefined;
247
+ tags?: string[] | undefined;
248
+ }>, {
249
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
250
+ sourceId: string;
251
+ candidateId: string;
252
+ organizationId?: number | undefined;
253
+ skillPath?: string | undefined;
254
+ featured?: boolean | undefined;
255
+ tags?: string[] | undefined;
256
+ }, {
257
+ scope: "PERSONAL" | "ENTERPRISE" | "ORGANIZATION";
258
+ sourceId: string;
259
+ candidateId: string;
260
+ organizationId?: number | undefined;
261
+ skillPath?: string | undefined;
262
+ featured?: boolean | undefined;
263
+ tags?: string[] | undefined;
264
+ }>;
265
+ export type SkillFavoriteCreateInput = z.infer<typeof skillFavoriteCreateInputSchema>;
266
+ export declare const skillFavoritePresentationInputSchema: z.ZodEffects<z.ZodObject<{
267
+ featured: z.ZodBoolean;
268
+ tags: z.ZodArray<z.ZodString, "many">;
269
+ }, "strict", z.ZodTypeAny, {
270
+ featured: boolean;
271
+ tags: string[];
272
+ }, {
273
+ featured: boolean;
274
+ tags: string[];
275
+ }>, {
276
+ featured: boolean;
277
+ tags: string[];
278
+ }, {
279
+ featured: boolean;
280
+ tags: string[];
281
+ }>;
282
+ export type SkillFavoritePresentationInput = z.infer<typeof skillFavoritePresentationInputSchema>;
283
+ export declare const skillInstallMetadataSchema: z.ZodObject<{
284
+ schemaVersion: z.ZodLiteral<1>;
285
+ favoriteId: z.ZodString;
286
+ versionId: z.ZodString;
287
+ commitSha: z.ZodString;
288
+ contentHash: z.ZodString;
289
+ installedAt: z.ZodNumber;
290
+ }, "strict", z.ZodTypeAny, {
291
+ commitSha: string;
292
+ contentHash: string;
293
+ schemaVersion: 1;
294
+ favoriteId: string;
295
+ versionId: string;
296
+ installedAt: number;
297
+ }, {
298
+ commitSha: string;
299
+ contentHash: string;
300
+ schemaVersion: 1;
301
+ favoriteId: string;
302
+ versionId: string;
303
+ installedAt: number;
304
+ }>;
305
+ export type SkillInstallMetadata = z.infer<typeof skillInstallMetadataSchema>;
306
+ export declare const skillInstallStatusSchema: z.ZodEnum<["CURRENT", "UPDATE_AVAILABLE", "UNKNOWN_VERSION", "PARTIAL", "INVALID", "GIT_EXCLUDE_BROKEN", "INVALID_LINK"]>;
307
+ export declare const skillCompatibilityModeSchema: z.ZodEnum<["SYMLINK", "JUNCTION", "MANAGED_COPY", "UNAVAILABLE"]>;
308
+ export declare const installedSkillSchema: z.ZodObject<{
309
+ name: z.ZodString;
310
+ description: z.ZodString;
311
+ status: z.ZodEnum<["CURRENT", "UPDATE_AVAILABLE", "UNKNOWN_VERSION", "PARTIAL", "INVALID", "GIT_EXCLUDE_BROKEN", "INVALID_LINK"]>;
312
+ installedCommitSha: z.ZodOptional<z.ZodNullable<z.ZodString>>;
313
+ favoriteCurrentCommitSha: z.ZodOptional<z.ZodNullable<z.ZodString>>;
314
+ }, "strict", z.ZodTypeAny, {
315
+ status: "CURRENT" | "UPDATE_AVAILABLE" | "UNKNOWN_VERSION" | "PARTIAL" | "INVALID" | "GIT_EXCLUDE_BROKEN" | "INVALID_LINK";
316
+ name: string;
317
+ description: string;
318
+ installedCommitSha?: string | null | undefined;
319
+ favoriteCurrentCommitSha?: string | null | undefined;
320
+ }, {
321
+ status: "CURRENT" | "UPDATE_AVAILABLE" | "UNKNOWN_VERSION" | "PARTIAL" | "INVALID" | "GIT_EXCLUDE_BROKEN" | "INVALID_LINK";
322
+ name: string;
323
+ description: string;
324
+ installedCommitSha?: string | null | undefined;
325
+ favoriteCurrentCommitSha?: string | null | undefined;
326
+ }>;
327
+ export declare const skillTargetInspectionSchema: z.ZodObject<{
328
+ targetKind: z.ZodEnum<["NODE", "WORKSPACE"]>;
329
+ compatibilityMode: z.ZodEnum<["SYMLINK", "JUNCTION", "MANAGED_COPY", "UNAVAILABLE"]>;
330
+ skills: z.ZodArray<z.ZodObject<{
331
+ name: z.ZodString;
332
+ description: z.ZodString;
333
+ status: z.ZodEnum<["CURRENT", "UPDATE_AVAILABLE", "UNKNOWN_VERSION", "PARTIAL", "INVALID", "GIT_EXCLUDE_BROKEN", "INVALID_LINK"]>;
334
+ installedCommitSha: z.ZodOptional<z.ZodNullable<z.ZodString>>;
335
+ favoriteCurrentCommitSha: z.ZodOptional<z.ZodNullable<z.ZodString>>;
336
+ }, "strict", z.ZodTypeAny, {
337
+ status: "CURRENT" | "UPDATE_AVAILABLE" | "UNKNOWN_VERSION" | "PARTIAL" | "INVALID" | "GIT_EXCLUDE_BROKEN" | "INVALID_LINK";
338
+ name: string;
339
+ description: string;
340
+ installedCommitSha?: string | null | undefined;
341
+ favoriteCurrentCommitSha?: string | null | undefined;
342
+ }, {
343
+ status: "CURRENT" | "UPDATE_AVAILABLE" | "UNKNOWN_VERSION" | "PARTIAL" | "INVALID" | "GIT_EXCLUDE_BROKEN" | "INVALID_LINK";
344
+ name: string;
345
+ description: string;
346
+ installedCommitSha?: string | null | undefined;
347
+ favoriteCurrentCommitSha?: string | null | undefined;
348
+ }>, "many">;
349
+ }, "strict", z.ZodTypeAny, {
350
+ targetKind: "NODE" | "WORKSPACE";
351
+ compatibilityMode: "SYMLINK" | "JUNCTION" | "MANAGED_COPY" | "UNAVAILABLE";
352
+ skills: {
353
+ status: "CURRENT" | "UPDATE_AVAILABLE" | "UNKNOWN_VERSION" | "PARTIAL" | "INVALID" | "GIT_EXCLUDE_BROKEN" | "INVALID_LINK";
354
+ name: string;
355
+ description: string;
356
+ installedCommitSha?: string | null | undefined;
357
+ favoriteCurrentCommitSha?: string | null | undefined;
358
+ }[];
359
+ }, {
360
+ targetKind: "NODE" | "WORKSPACE";
361
+ compatibilityMode: "SYMLINK" | "JUNCTION" | "MANAGED_COPY" | "UNAVAILABLE";
362
+ skills: {
363
+ status: "CURRENT" | "UPDATE_AVAILABLE" | "UNKNOWN_VERSION" | "PARTIAL" | "INVALID" | "GIT_EXCLUDE_BROKEN" | "INVALID_LINK";
364
+ name: string;
365
+ description: string;
366
+ installedCommitSha?: string | null | undefined;
367
+ favoriteCurrentCommitSha?: string | null | undefined;
368
+ }[];
369
+ }>;
370
+ export type SkillTargetInspection = z.infer<typeof skillTargetInspectionSchema>;
package/dist/skill.js CHANGED
@@ -1,2 +1,175 @@
1
- /* mar-release-protected */
2
- function _0x1b60(_0x2d2dd6,_0x1d3fe2){_0x2d2dd6=_0x2d2dd6-(-0x2398+0xbd+0x3*0xc28);const _0x5b9e23=_0x39fa();let _0x2c8952=_0x5b9e23[_0x2d2dd6];if(_0x1b60['UGUGmY']===undefined){var _0x5ca831=function(_0x28fef8){const _0x5fda68='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eb00b='',_0x1f4b2f='';for(let _0x2e725c=0x1760+0x1903+-0x3063,_0x67ee8b,_0x2765c6,_0xe22f16=0x1*-0x2cd+-0x105b*0x1+0x994*0x2;_0x2765c6=_0x28fef8['charAt'](_0xe22f16++);~_0x2765c6&&(_0x67ee8b=_0x2e725c%(-0x680+0x14b*0x1+0x539)?_0x67ee8b*(-0x4a*0x7+-0x5a1*0x4+0xc65*0x2)+_0x2765c6:_0x2765c6,_0x2e725c++%(0x676+0x1cb9*0x1+0xbb9*-0x3))?_0x5eb00b+=String['fromCharCode'](0x6fb+0x186c+-0x1e68&_0x67ee8b>>(-(0x4*-0x3a9+-0x1*0x50b+-0x47*-0x47)*_0x2e725c&-0x1b83*-0x1+-0x5c9+-0x56d*0x4)):-0x93b*-0x3+0x2188+-0x3d39){_0x2765c6=_0x5fda68['indexOf'](_0x2765c6);}for(let _0x5718ad=-0xd70+0x3*-0xcbd+0x33a7,_0x1c0bec=_0x5eb00b['length'];_0x5718ad<_0x1c0bec;_0x5718ad++){_0x1f4b2f+='%'+('00'+_0x5eb00b['charCodeAt'](_0x5718ad)['toString'](-0xf22+-0xa*-0x1a8+-0x15e))['slice'](-(0x4*0x717+-0xb66+-0x10f4));}return decodeURIComponent(_0x1f4b2f);};_0x1b60['VIjaWf']=_0x5ca831,_0x1b60['itZQXR']={},_0x1b60['UGUGmY']=!![];}const _0xd023bf=_0x5b9e23[0x6*-0x2cd+-0x356+0x1424];_0x1b60['vqtoOl']!==_0xd023bf&&(_0x1b60['itZQXR']={},_0x1b60['vqtoOl']=_0xd023bf);const _0x3b401f=_0x1b60['itZQXR'][_0x2d2dd6];return _0x3b401f===undefined?(_0x2c8952=_0x1b60['VIjaWf'](_0x2c8952),_0x1b60['itZQXR'][_0x2d2dd6]=_0x2c8952):_0x2c8952=_0x3b401f,_0x2c8952;}const _0x3d3b44=_0x1b60;(function(_0xe51807,_0x45973f){const _0x460db8=_0x1b60,_0x14c9f=_0xe51807();while(!![]){try{const _0x4dfd94=parseInt(_0x460db8(0x1ca))/(-0xf0e+0x1ab0+0xba1*-0x1)+parseInt(_0x460db8(0x1ce))/(0x4f*0x4f+0x1851+-0x30b0)+parseInt(_0x460db8(0x1c9))/(-0x749+0x1774+-0x1028*0x1)+parseInt(_0x460db8(0x1ad))/(-0x1*-0x151d+-0xee3+0x2*-0x31b)+parseInt(_0x460db8(0x1b2))/(-0x1eee+-0x1562+0x3455)+-parseInt(_0x460db8(0x1d4))/(-0x2*0x6c+0x2f*0x34+-0x8ae)+-parseInt(_0x460db8(0x1b4))/(0x2*-0xc07+-0x1c7d+0x3492);if(_0x4dfd94===_0x45973f)break;else _0x14c9f['push'](_0x14c9f['shift']());}catch(_0x541dda){_0x14c9f['push'](_0x14c9f['shift']());}}}(_0x39fa,0x5e6*0x3a2+0x38f25+-0xb3c82));import{z}from'zod';export const skillScopeSchema=z[_0x3d3b44(0x1a9)]([_0x3d3b44(0x19d),_0x3d3b44(0x1e7),_0x3d3b44(0x1d7)]);export const skillSourceKindSchema=z[_0x3d3b44(0x1a9)]([_0x3d3b44(0x1a8),_0x3d3b44(0x1c6)]);const httpsLocatorSchema=z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](-0x13ae+0x1*-0x2cd+-0x167c*-0x1)[_0x3d3b44(0x1cb)](0x24df+-0xa*-0x33e+0x4b7*-0xd)[_0x3d3b44(0x1d8)](_0x4a7f35=>{const _0x1ca35c=_0x3d3b44;try{const _0x580cd4=new URL(_0x4a7f35);return _0x580cd4[_0x1ca35c(0x1d5)]===_0x1ca35c(0x1d3)&&_0x580cd4[_0x1ca35c(0x1c4)]===''&&_0x580cd4[_0x1ca35c(0x1c0)]==='';}catch{return![];}},_0x3d3b44(0x1b0)),sshGitLocatorSchema=z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](-0x1dca+-0x4a*0x7+-0x65d*-0x5)[_0x3d3b44(0x1cb)](0x664*0x4+0x20f8+0xca2*-0x4)[_0x3d3b44(0x1bf)](/^git@[A-Za-z0-9.-]+:[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)+(?:\.git)?$/u,_0x3d3b44(0x1bc));export const skillSourceInputSchema=z[_0x3d3b44(0x1b1)]({'kind':skillSourceKindSchema,'scope':skillScopeSchema,'organizationId':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1b3)]()[_0x3d3b44(0x1c5)](),'name':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1a4)]()[_0x3d3b44(0x1dd)](0xbd*0x22+0x15a3+-0x2ebc)[_0x3d3b44(0x1cb)](-0x1c6d+0x4*-0x3a9+-0x1*-0x2b91),'locator':z[_0x3d3b44(0x1c8)]([z[_0x3d3b44(0x1e3)](_0x3d3b44(0x1b6)),httpsLocatorSchema,sshGitLocatorSchema]),'enabled':z[_0x3d3b44(0x1b7)]()[_0x3d3b44(0x1c5)]()})[_0x3d3b44(0x1be)]()[_0x3d3b44(0x19f)]((_0x34c8a5,_0x2e3c6f)=>{const _0x2bddac=_0x3d3b44;if(_0x34c8a5[_0x2bddac(0x1ba)]===_0x2bddac(0x1e7)!==(_0x34c8a5[_0x2bddac(0x1d0)]!==undefined))_0x2e3c6f[_0x2bddac(0x1aa)]({'code':_0x2bddac(0x1df),'message':_0x2bddac(0x1a5)});if(_0x34c8a5[_0x2bddac(0x1e6)]===_0x2bddac(0x1a8)&&_0x34c8a5[_0x2bddac(0x1de)]!==_0x2bddac(0x1b6))_0x2e3c6f[_0x2bddac(0x1aa)]({'code':_0x2bddac(0x1df),'message':_0x2bddac(0x1b9)});if(_0x34c8a5[_0x2bddac(0x1e6)]===_0x2bddac(0x1c6)&&_0x34c8a5[_0x2bddac(0x1de)]===_0x2bddac(0x1b6))_0x2e3c6f[_0x2bddac(0x1aa)]({'code':_0x2bddac(0x1df),'message':_0x2bddac(0x1ae)});});export const skillSourceSchema=skillSourceInputSchema[_0x3d3b44(0x1c2)](z[_0x3d3b44(0x1b1)]({'id':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](-0x4*-0x7b7+-0x1163*0x1+-0xd78)[_0x3d3b44(0x1cb)](0x445*0x1+-0x8e7*0x3+0x16f0),'ownerUserId':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1b3)]()[_0x3d3b44(0x1c5)](),'builtIn':z[_0x3d3b44(0x1b7)](),'status':z[_0x3d3b44(0x1a9)]([_0x3d3b44(0x1b5),_0x3d3b44(0x1da),_0x3d3b44(0x1b8)]),'lastErrorCode':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](-0x3f6+-0xd70+0x1b*0xa5)[_0x3d3b44(0x1cb)](-0x8*0x399+-0xd*0x12a+0x2c3a)[_0x3d3b44(0x1e5)](),'createdAt':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1e2)](),'updatedAt':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1e2)]()})[_0x3d3b44(0x1be)]());export const skillVersionSummarySchema=z[_0x3d3b44(0x1b1)]({'id':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](0x4*0x717+-0xb66+-0x10f5)[_0x3d3b44(0x1cb)](0x6*-0x2cd+-0x356+0x14a4),'commitSha':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1bf)](/^[0-9a-f]{40}$/),'contentHash':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1bf)](/^[0-9a-f]{64}$/),'createdAt':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1e2)]()})[_0x3d3b44(0x1be)]();const normalizedSkillNameSchema=z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](-0x1*0x20e+-0x78e*0x2+-0x3*-0x5b9)[_0x3d3b44(0x1cb)](-0x222a+0x2682+-0x3d8)[_0x3d3b44(0x1bf)](/^[a-z0-9]+(?:-[a-z0-9]+)*$/),skillTagSchema=z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1a4)]()[_0x3d3b44(0x1dd)](-0x25*0x2f+-0x1b7d+0x2249)[_0x3d3b44(0x1cb)](-0x1230+0x22e4+-0x4*0x425),skillPathSchema=z[_0x3d3b44(0x1c8)]([z[_0x3d3b44(0x1e3)]('.'),z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](-0x1652+-0x1*-0xfa3+-0x358*-0x2)[_0x3d3b44(0x1cb)](0x59*0x59+0x20d0+-0x1*0x3bc1)[_0x3d3b44(0x1bf)](/^(?!\/)(?!.*(?:^|\/)\.\.?(?:\/|$))[^\\\0]+$/)]);export const skillFavoriteSchema=z[_0x3d3b44(0x1b1)]({'id':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](-0x693+-0x1ecf*0x1+0x2563)[_0x3d3b44(0x1cb)](-0x319*-0x4+0x2214+0x8*-0x5bf),'sourceId':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](0x1476+-0x9e6+-0xa8f)[_0x3d3b44(0x1cb)](0xfc6+-0x2642+0x4*0x5bf),'scope':skillScopeSchema,'ownerOrganizationId':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1b3)]()[_0x3d3b44(0x1c5)](),'ownerUserId':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1b3)]()[_0x3d3b44(0x1c5)](),'repositoryIdentity':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](-0x1519+-0x3d5+0x18ef)[_0x3d3b44(0x1cb)](0x15a4+0xc72+-0x2016),'skillPath':skillPathSchema,'normalizedName':normalizedSkillNameSchema,'featured':z[_0x3d3b44(0x1b7)](),'tags':z[_0x3d3b44(0x1d1)](skillTagSchema)[_0x3d3b44(0x1cb)](0x1*0x2683+-0x431*-0x1+-0x2aaa),'currentVersion':skillVersionSummarySchema,'createdAt':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1e2)](),'updatedAt':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1e2)]()})[_0x3d3b44(0x1be)]()[_0x3d3b44(0x19f)]((_0x50b18f,_0x27fe09)=>{const _0x4ad26a=_0x3d3b44;if(_0x50b18f[_0x4ad26a(0x1ba)]===_0x4ad26a(0x1e7)!==(_0x50b18f[_0x4ad26a(0x1c7)]!==undefined))_0x27fe09[_0x4ad26a(0x1aa)]({'code':_0x4ad26a(0x1df),'message':_0x4ad26a(0x1a7)});if(_0x50b18f[_0x4ad26a(0x1ba)]===_0x4ad26a(0x1d7)!==(_0x50b18f[_0x4ad26a(0x1af)]!==undefined))_0x27fe09[_0x4ad26a(0x1aa)]({'code':_0x4ad26a(0x1df),'message':_0x4ad26a(0x1ab)});});function _0x39fa(){const _0xc50f06=['yw5K','su5wquXjra','DxnLCM5HBwu','B3b0Aw9UywW','uKvqt1njve9swq','B3DUzxjpCMDHBML6yxrPB25jza','Dw5PB24','mJeXotiWBKnADufX','ndiYnZyYAen1Dvno','Bwf4','BNvTyMvY','v09ss1nqqunf','mJu0mZq4BNL0rfff','C2L6zq','B3jNyw5PEMf0Aw9Uswq','yxjYyxK','vu5ltK9xtL9wrvjtsu9o','Ahr0Chm6','mtG0mtq4nfzxshrNCG','ChjVDg9JB2W','q1vsuKvova','uevsu09oquW','CMvMAw5L','sLvoq1rjt04','revhuKferuq','su5wquXjrf9msu5l','vu5bvKfjtefcteu','BwLU','Bg9JyxrVCG','y3vZDg9T','tK9erq','u1LnteLosW','BM9UBMvNyxrPDMu','BgL0zxjHBa','BwfW','BNvSBgfIBgu','A2LUza','t1jhqu5jwKfusu9o','ru5urvjquKLtrq','Aw50','C3vWzxjszwzPBMu','uefsveLbta','DgfNCYbTDxn0igjLihvUAxf1zq','vvbeqvrfx0fwquLmqujmrq','BgvUz3rO','DhjPBq','B3jNyw5PEMf0Aw9UswqGBxvZDcbTyxrJAcbZy29Wzq','C3rYAw5N','B3jNyw5PEMf0Aw9Uig93BMvYig11C3qGBwf0y2GGC2nVCgu','u0TjteXtx1ni','zw51Bq','ywrKsxnZDwu','DxnLCIbVD25LCIbTDxn0ig1HDgnOihnJB3bL','Dg9mB2nHBgvmB3DLCKnHC2u','mtq0nti0ogj3BeDWtq','CMvWB3nPDg9YEsbZB3vYy2uGCMvXDwLYzxmGCMvWB3nPDg9YEsbSB2nHDg9Y','B3DUzxjvC2vYswq','Bg9JyxrVCIbTDxn0igjLigfUieHuvfbtifvstcb3AxrOB3v0ihvZzxjPBMzV','B2jQzwn0','mJy1mdq3nxfguvLRqq','Cg9ZAxrPDMu','mJeYnZmXnfbpsunSsW','uKvbrfK','C2TPBgXZlNnO','yM9VBgvHBG','reLtqujmruq','C2TPBgXZlNnOihnVDxjJzsbSB2nHDg9YigLZigzPEgvK','C2nVCgu','r0Lux0vyq0XvrevFqLjps0vo','Bg9JyxrVCIbTDxn0igjLigfUieHuvfbtifvstcbVCIbNAxraifntscbYzxbVC2L0B3j5','tufoquDfrf9dt1bz','C3rYAwn0','CMvNzxG','CgfZC3DVCMq','DgfNCW'];_0x39fa=function(){return _0xc50f06;};return _0x39fa();}export const skillFavoriteCreateInputSchema=z[_0x3d3b44(0x1b1)]({'sourceId':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](0xb9e*0x3+-0x38e+-0x1f4b)[_0x3d3b44(0x1cb)](-0x1*0x262c+0x167*0x7+-0x1cdb*-0x1),'candidateId':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](0x1*-0x1367+-0x29*0x7a+0x26f2)[_0x3d3b44(0x1cb)](-0x26*-0xad+-0x2a1*-0xd+-0x37db),'skillPath':skillPathSchema[_0x3d3b44(0x1c5)](),'scope':skillScopeSchema,'organizationId':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1b3)]()[_0x3d3b44(0x1c5)](),'featured':z[_0x3d3b44(0x1b7)]()[_0x3d3b44(0x1c5)](),'tags':z[_0x3d3b44(0x1d1)](skillTagSchema)[_0x3d3b44(0x1cb)](-0x2053+0x1b7f+0x4de)[_0x3d3b44(0x1c5)]()})[_0x3d3b44(0x1be)]()[_0x3d3b44(0x19f)]((_0x1d387d,_0x50e7bc)=>{const _0x26a295=_0x3d3b44;if(_0x1d387d[_0x26a295(0x1ba)]===_0x26a295(0x1e7)!==(_0x1d387d[_0x26a295(0x1d0)]!==undefined))_0x50e7bc[_0x26a295(0x1aa)]({'code':_0x26a295(0x1df),'message':_0x26a295(0x1a5)});const _0x3e1cdd=_0x1d387d[_0x26a295(0x1c1)]??[];if(new Set(_0x3e1cdd[_0x26a295(0x1e4)](_0x35b0b8=>_0x35b0b8[_0x26a295(0x1ac)]()))[_0x26a295(0x1cf)]!==_0x3e1cdd[_0x26a295(0x1a3)])_0x50e7bc[_0x26a295(0x1aa)]({'code':_0x26a295(0x1df),'message':_0x26a295(0x1a1)});});export const skillFavoritePresentationInputSchema=z[_0x3d3b44(0x1b1)]({'featured':z[_0x3d3b44(0x1b7)](),'tags':z[_0x3d3b44(0x1d1)](skillTagSchema)[_0x3d3b44(0x1cb)](0x1*0x1dbd+-0x1f3b+0x62*0x4)})[_0x3d3b44(0x1be)]()[_0x3d3b44(0x19f)]((_0x2d62c1,_0x39137d)=>{const _0x4fa525=_0x3d3b44;if(new Set(_0x2d62c1[_0x4fa525(0x1c1)][_0x4fa525(0x1e4)](_0x3e03f5=>_0x3e03f5[_0x4fa525(0x1ac)]()))[_0x4fa525(0x1cf)]!==_0x2d62c1[_0x4fa525(0x1c1)][_0x4fa525(0x1a3)])_0x39137d[_0x4fa525(0x1aa)]({'code':_0x4fa525(0x1df),'message':_0x4fa525(0x1a1)});});export const skillInstallMetadataSchema=z[_0x3d3b44(0x1b1)]({'schemaVersion':z[_0x3d3b44(0x1e3)](-0x379+-0x2*-0x48e+-0x5a2*0x1),'favoriteId':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](0x6c+0x1f41+0x2*-0xfd6)[_0x3d3b44(0x1cb)](-0x46+0x15*0x1+0xb1),'versionId':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1dd)](0x1a8f*0x1+-0x1*-0x23aa+-0x2c*0x16a)[_0x3d3b44(0x1cb)](-0x2*-0x10d4+0x21b8+-0x42e0),'commitSha':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1bf)](/^[0-9a-f]{40}$/),'contentHash':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1bf)](/^[0-9a-f]{64}$/),'installedAt':z[_0x3d3b44(0x1cc)]()[_0x3d3b44(0x19e)]()[_0x3d3b44(0x1e2)]()})[_0x3d3b44(0x1be)]();export const skillInstallStatusSchema=z[_0x3d3b44(0x1a9)]([_0x3d3b44(0x1d6),_0x3d3b44(0x1a2),_0x3d3b44(0x1d2),_0x3d3b44(0x1a0),_0x3d3b44(0x1c3),_0x3d3b44(0x1bb),_0x3d3b44(0x1db)]);export const skillCompatibilityModeSchema=z[_0x3d3b44(0x1a9)]([_0x3d3b44(0x1e1),_0x3d3b44(0x1d9),_0x3d3b44(0x1bd),_0x3d3b44(0x1dc)]);export const installedSkillSchema=z[_0x3d3b44(0x1b1)]({'name':normalizedSkillNameSchema,'description':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1cb)](0x168+-0x1f6e+-0x1703*-0x2),'status':skillInstallStatusSchema,'installedCommitSha':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1bf)](/^[0-9a-f]{40}$/)[_0x3d3b44(0x1e5)]()[_0x3d3b44(0x1c5)](),'favoriteCurrentCommitSha':z[_0x3d3b44(0x1a6)]()[_0x3d3b44(0x1bf)](/^[0-9a-f]{40}$/)[_0x3d3b44(0x1e5)]()[_0x3d3b44(0x1c5)]()})[_0x3d3b44(0x1be)]();export const skillTargetInspectionSchema=z[_0x3d3b44(0x1b1)]({'targetKind':z[_0x3d3b44(0x1a9)]([_0x3d3b44(0x1e0),_0x3d3b44(0x1cd)]),'compatibilityMode':skillCompatibilityModeSchema,'skills':z[_0x3d3b44(0x1d1)](installedSkillSchema)[_0x3d3b44(0x1cb)](-0x18a5+-0x1644+0x32d1)})[_0x3d3b44(0x1be)]();
1
+ import { z } from 'zod';
2
+ export const skillScopeSchema = z.enum(['ENTERPRISE', 'ORGANIZATION', 'PERSONAL']);
3
+ export const skillSourceKindSchema = z.enum(['SKILLS_SH', 'REPOSITORY']);
4
+ const httpsLocatorSchema = z
5
+ .string()
6
+ .min(1)
7
+ .max(2048)
8
+ .refine((value) => {
9
+ try {
10
+ const url = new URL(value);
11
+ return url.protocol === 'https:' && url.username === '' && url.password === '';
12
+ }
13
+ catch {
14
+ return false;
15
+ }
16
+ }, 'locator must be an HTTPS URL without userinfo');
17
+ const sshGitLocatorSchema = z
18
+ .string()
19
+ .min(1)
20
+ .max(2048)
21
+ .regex(/^git@[A-Za-z0-9.-]+:[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)+(?:\.git)?$/u, 'locator must be an HTTPS URL or git@ SSH repository');
22
+ export const skillSourceInputSchema = z
23
+ .object({
24
+ kind: skillSourceKindSchema,
25
+ scope: skillScopeSchema,
26
+ organizationId: z.number().int().positive().optional(),
27
+ name: z.string().trim().min(1).max(128),
28
+ locator: z.union([z.literal('skills.sh'), httpsLocatorSchema, sshGitLocatorSchema]),
29
+ enabled: z.boolean().optional()
30
+ })
31
+ .strict()
32
+ .superRefine((source, context) => {
33
+ if ((source.scope === 'ORGANIZATION') !== (source.organizationId !== undefined))
34
+ context.addIssue({ code: 'custom', message: 'organizationId must match scope' });
35
+ if (source.kind === 'SKILLS_SH' && source.locator !== 'skills.sh')
36
+ context.addIssue({ code: 'custom', message: 'skills.sh source locator is fixed' });
37
+ if (source.kind === 'REPOSITORY' && source.locator === 'skills.sh')
38
+ context.addIssue({
39
+ code: 'custom',
40
+ message: 'repository source requires repository locator'
41
+ });
42
+ });
43
+ export const skillSourceSchema = skillSourceInputSchema.and(z
44
+ .object({
45
+ id: z.string().min(1).max(128),
46
+ ownerUserId: z.number().int().positive().optional(),
47
+ builtIn: z.boolean(),
48
+ status: z.enum(['READY', 'DEGRADED', 'DISABLED']),
49
+ lastErrorCode: z.string().min(1).max(80).nullable(),
50
+ createdAt: z.number().int().nonnegative(),
51
+ updatedAt: z.number().int().nonnegative()
52
+ })
53
+ .strict());
54
+ export const skillVersionSummarySchema = z
55
+ .object({
56
+ id: z.string().min(1).max(128),
57
+ commitSha: z.string().regex(/^[0-9a-f]{40}$/),
58
+ contentHash: z.string().regex(/^[0-9a-f]{64}$/),
59
+ createdAt: z.number().int().nonnegative()
60
+ })
61
+ .strict();
62
+ const normalizedSkillNameSchema = z
63
+ .string()
64
+ .min(1)
65
+ .max(128)
66
+ .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/);
67
+ const skillTagSchema = z.string().trim().min(1).max(32);
68
+ const skillPathSchema = z.union([
69
+ z.literal('.'),
70
+ z
71
+ .string()
72
+ .min(1)
73
+ .max(1024)
74
+ .regex(/^(?!\/)(?!.*(?:^|\/)\.\.?(?:\/|$))[^\\\0]+$/)
75
+ ]);
76
+ export const skillFavoriteSchema = z
77
+ .object({
78
+ id: z.string().min(1).max(128),
79
+ sourceId: z.string().min(1).max(128),
80
+ scope: skillScopeSchema,
81
+ ownerOrganizationId: z.number().int().positive().optional(),
82
+ ownerUserId: z.number().int().positive().optional(),
83
+ repositoryIdentity: z.string().min(1).max(512),
84
+ skillPath: skillPathSchema,
85
+ normalizedName: normalizedSkillNameSchema,
86
+ featured: z.boolean(),
87
+ tags: z.array(skillTagSchema).max(10),
88
+ currentVersion: skillVersionSummarySchema,
89
+ createdAt: z.number().int().nonnegative(),
90
+ updatedAt: z.number().int().nonnegative()
91
+ })
92
+ .strict()
93
+ .superRefine((favorite, context) => {
94
+ if ((favorite.scope === 'ORGANIZATION') !== (favorite.ownerOrganizationId !== undefined))
95
+ context.addIssue({ code: 'custom', message: 'organization owner must match scope' });
96
+ if ((favorite.scope === 'PERSONAL') !== (favorite.ownerUserId !== undefined))
97
+ context.addIssue({ code: 'custom', message: 'user owner must match scope' });
98
+ });
99
+ export const skillFavoriteCreateInputSchema = z
100
+ .object({
101
+ sourceId: z.string().min(1).max(128),
102
+ candidateId: z.string().min(1).max(1024),
103
+ skillPath: skillPathSchema.optional(),
104
+ scope: skillScopeSchema,
105
+ organizationId: z.number().int().positive().optional(),
106
+ featured: z.boolean().optional(),
107
+ tags: z.array(skillTagSchema).max(10).optional()
108
+ })
109
+ .strict()
110
+ .superRefine((favorite, context) => {
111
+ if ((favorite.scope === 'ORGANIZATION') !== (favorite.organizationId !== undefined))
112
+ context.addIssue({ code: 'custom', message: 'organizationId must match scope' });
113
+ const tags = favorite.tags ?? [];
114
+ if (new Set(tags.map((tag) => tag.toLocaleLowerCase())).size !== tags.length)
115
+ context.addIssue({ code: 'custom', message: 'tags must be unique' });
116
+ });
117
+ export const skillFavoritePresentationInputSchema = z
118
+ .object({
119
+ featured: z.boolean(),
120
+ tags: z.array(skillTagSchema).max(10)
121
+ })
122
+ .strict()
123
+ .superRefine((favorite, context) => {
124
+ if (new Set(favorite.tags.map((tag) => tag.toLocaleLowerCase())).size !== favorite.tags.length)
125
+ context.addIssue({ code: 'custom', message: 'tags must be unique' });
126
+ });
127
+ export const skillInstallMetadataSchema = z
128
+ .object({
129
+ schemaVersion: z.literal(1),
130
+ favoriteId: z.string().min(1).max(128),
131
+ versionId: z.string().min(1).max(128),
132
+ commitSha: z.string().regex(/^[0-9a-f]{40}$/),
133
+ contentHash: z.string().regex(/^[0-9a-f]{64}$/),
134
+ installedAt: z.number().int().nonnegative()
135
+ })
136
+ .strict();
137
+ export const skillInstallStatusSchema = z.enum([
138
+ 'CURRENT',
139
+ 'UPDATE_AVAILABLE',
140
+ 'UNKNOWN_VERSION',
141
+ 'PARTIAL',
142
+ 'INVALID',
143
+ 'GIT_EXCLUDE_BROKEN',
144
+ 'INVALID_LINK'
145
+ ]);
146
+ export const skillCompatibilityModeSchema = z.enum([
147
+ 'SYMLINK',
148
+ 'JUNCTION',
149
+ 'MANAGED_COPY',
150
+ 'UNAVAILABLE'
151
+ ]);
152
+ export const installedSkillSchema = z
153
+ .object({
154
+ name: normalizedSkillNameSchema,
155
+ description: z.string().max(4096),
156
+ status: skillInstallStatusSchema,
157
+ installedCommitSha: z
158
+ .string()
159
+ .regex(/^[0-9a-f]{40}$/)
160
+ .nullable()
161
+ .optional(),
162
+ favoriteCurrentCommitSha: z
163
+ .string()
164
+ .regex(/^[0-9a-f]{40}$/)
165
+ .nullable()
166
+ .optional()
167
+ })
168
+ .strict();
169
+ export const skillTargetInspectionSchema = z
170
+ .object({
171
+ targetKind: z.enum(['NODE', 'WORKSPACE']),
172
+ compatibilityMode: skillCompatibilityModeSchema,
173
+ skills: z.array(installedSkillSchema).max(1000)
174
+ })
175
+ .strict();
package/package.json CHANGED
@@ -1,23 +1,31 @@
1
1
  {
2
2
  "name": "@myagentroam/protocol",
3
- "version": "0.9.62",
3
+ "version": "0.9.65",
4
4
  "description": "Shared runtime protocol schemas for MyAgentRoam.",
5
+ "license": "Apache-2.0",
5
6
  "type": "module",
6
7
  "files": [
7
8
  "dist/**/*.js",
8
- "README.md"
9
+ "dist/**/*.d.ts",
10
+ "LICENSE",
11
+ "NOTICE"
9
12
  ],
10
13
  "publishConfig": {
11
14
  "access": "public"
12
15
  },
13
16
  "exports": {
14
- ".": "./dist/index.js"
17
+ "./package.json": "./package.json",
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
+ }
15
22
  },
16
23
  "dependencies": {
17
24
  "zod": "^3.24.1"
18
25
  },
19
26
  "scripts": {
20
- "build": "tsc -p tsconfig.json",
21
- "typecheck": "tsc -p tsconfig.json --noEmit"
27
+ "build": "node ../../scripts/clean-build-output.mjs dist && tsc -p tsconfig.json",
28
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.tests.json --noEmit",
29
+ "test:unit": "vitest run --config vitest.config.mts"
22
30
  }
23
31
  }
package/README.md DELETED
@@ -1,9 +0,0 @@
1
- # @myagentroam/protocol
2
-
3
- Shared TypeScript types and Zod runtime schemas used by MyAgentRoam Server, Node, and Web.
4
-
5
- ```bash
6
- npm install @myagentroam/protocol
7
- ```
8
-
9
- This package contains protocol definitions only. It does not contain Node configuration, credentials, workspace data, or conversation content.