synomem 0.1.0

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 (130) hide show
  1. package/AGENTS.md +42 -0
  2. package/ARCHITECTURE.md +126 -0
  3. package/CHANGELOG.md +35 -0
  4. package/CODE_OF_CONDUCT.md +29 -0
  5. package/CONTRIBUTING.md +48 -0
  6. package/LICENSE +21 -0
  7. package/README.md +247 -0
  8. package/SECURITY.md +117 -0
  9. package/dist/backend.d.ts +9 -0
  10. package/dist/backend.d.ts.map +1 -0
  11. package/dist/backend.js +60 -0
  12. package/dist/backend.js.map +1 -0
  13. package/dist/cli.d.ts +34 -0
  14. package/dist/cli.d.ts.map +1 -0
  15. package/dist/cli.js +1040 -0
  16. package/dist/cli.js.map +1 -0
  17. package/dist/client.d.ts +168 -0
  18. package/dist/client.d.ts.map +1 -0
  19. package/dist/client.js +1031 -0
  20. package/dist/client.js.map +1 -0
  21. package/dist/config.d.ts +33 -0
  22. package/dist/config.d.ts.map +1 -0
  23. package/dist/config.js +153 -0
  24. package/dist/config.js.map +1 -0
  25. package/dist/credentials.d.ts +36 -0
  26. package/dist/credentials.d.ts.map +1 -0
  27. package/dist/credentials.js +127 -0
  28. package/dist/credentials.js.map +1 -0
  29. package/dist/errors.d.ts +9 -0
  30. package/dist/errors.d.ts.map +1 -0
  31. package/dist/errors.js +60 -0
  32. package/dist/errors.js.map +1 -0
  33. package/dist/fs-utils.d.ts +7 -0
  34. package/dist/fs-utils.d.ts.map +1 -0
  35. package/dist/fs-utils.js +68 -0
  36. package/dist/fs-utils.js.map +1 -0
  37. package/dist/import.d.ts +655 -0
  38. package/dist/import.d.ts.map +1 -0
  39. package/dist/import.js +226 -0
  40. package/dist/import.js.map +1 -0
  41. package/dist/index.d.ts +20 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +11 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/mcp/index.d.ts +14 -0
  46. package/dist/mcp/index.d.ts.map +1 -0
  47. package/dist/mcp/index.js +698 -0
  48. package/dist/mcp/index.js.map +1 -0
  49. package/dist/mcp-server.d.ts +3 -0
  50. package/dist/mcp-server.d.ts.map +1 -0
  51. package/dist/mcp-server.js +45 -0
  52. package/dist/mcp-server.js.map +1 -0
  53. package/dist/oauth.d.ts +27 -0
  54. package/dist/oauth.d.ts.map +1 -0
  55. package/dist/oauth.js +201 -0
  56. package/dist/oauth.js.map +1 -0
  57. package/dist/ports/projections.d.ts +6 -0
  58. package/dist/ports/projections.d.ts.map +1 -0
  59. package/dist/ports/projections.js +2 -0
  60. package/dist/ports/projections.js.map +1 -0
  61. package/dist/ports/repository.d.ts +31 -0
  62. package/dist/ports/repository.d.ts.map +1 -0
  63. package/dist/ports/repository.js +2 -0
  64. package/dist/ports/repository.js.map +1 -0
  65. package/dist/projections.d.ts +24 -0
  66. package/dist/projections.d.ts.map +1 -0
  67. package/dist/projections.js +531 -0
  68. package/dist/projections.js.map +1 -0
  69. package/dist/remote.d.ts +120 -0
  70. package/dist/remote.d.ts.map +1 -0
  71. package/dist/remote.js +286 -0
  72. package/dist/remote.js.map +1 -0
  73. package/dist/schemas.d.ts +901 -0
  74. package/dist/schemas.d.ts.map +1 -0
  75. package/dist/schemas.js +424 -0
  76. package/dist/schemas.js.map +1 -0
  77. package/dist/service.d.ts +126 -0
  78. package/dist/service.d.ts.map +1 -0
  79. package/dist/service.js +2 -0
  80. package/dist/service.js.map +1 -0
  81. package/dist/skill-install.d.ts +34 -0
  82. package/dist/skill-install.d.ts.map +1 -0
  83. package/dist/skill-install.js +256 -0
  84. package/dist/skill-install.js.map +1 -0
  85. package/dist/storage.d.ts +94 -0
  86. package/dist/storage.d.ts.map +1 -0
  87. package/dist/storage.js +1229 -0
  88. package/dist/storage.js.map +1 -0
  89. package/dist/types.d.ts +442 -0
  90. package/dist/types.d.ts.map +1 -0
  91. package/dist/types.js +2 -0
  92. package/dist/types.js.map +1 -0
  93. package/dist/version.d.ts +3 -0
  94. package/dist/version.d.ts.map +1 -0
  95. package/dist/version.js +14 -0
  96. package/dist/version.js.map +1 -0
  97. package/docs/cli.md +180 -0
  98. package/docs/examples.md +70 -0
  99. package/docs/mcp.md +96 -0
  100. package/docs/recovery.md +45 -0
  101. package/docs/releasing.md +61 -0
  102. package/docs/skill.md +93 -0
  103. package/docs/storage-format.md +83 -0
  104. package/openapi/synomem-v1.yaml +674 -0
  105. package/package.json +100 -0
  106. package/skills/synomem/SKILL.md +71 -0
  107. package/skills/synomem/agents/openai.yaml +8 -0
  108. package/skills/synomem/references/examples.md +28 -0
  109. package/src/backend.ts +91 -0
  110. package/src/cli.ts +1623 -0
  111. package/src/client.ts +1261 -0
  112. package/src/config.ts +170 -0
  113. package/src/credentials.ts +194 -0
  114. package/src/errors.ts +64 -0
  115. package/src/fs-utils.ts +85 -0
  116. package/src/import.ts +284 -0
  117. package/src/index.ts +61 -0
  118. package/src/mcp/index.ts +973 -0
  119. package/src/mcp-server.ts +46 -0
  120. package/src/oauth.ts +252 -0
  121. package/src/ports/projections.ts +6 -0
  122. package/src/ports/repository.ts +67 -0
  123. package/src/projections.ts +624 -0
  124. package/src/remote.ts +516 -0
  125. package/src/schemas.ts +457 -0
  126. package/src/service.ts +140 -0
  127. package/src/skill-install.ts +332 -0
  128. package/src/storage.ts +1603 -0
  129. package/src/types.ts +458 -0
  130. package/src/version.ts +16 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiB5C,eAAO,MAAM,aAAa,aAKkC,CAAC;AAE7D,eAAO,MAAM,WAAW;;;;;;;;iBAItB,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAShD,CAAC;AAEF,eAAO,MAAM,cAAc,uGAAiD,CAAC;AAE7E,eAAO,MAAM,YAAY;;;;;;;iBAOvB,CAAC;AAoBH,eAAO,MAAM,cAAc;;;;;;;;;;;iBAavB,CAAC;AAEL,eAAO,MAAM,aAAa;;;;;;;iBAOxB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;iBAA0C,CAAC;AACzE,eAAO,MAAM,iBAAiB;;;;;iBAAiD,CAAC;AAehF,eAAO,MAAM,gBAAgB,aAK+B,CAAC;AAE7D,eAAO,MAAM,cAAc,aAKgB,CAAC;AA8K5C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmBtB,CAAC;AA0BH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4D,CAAC;AAEzF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEQ,CAAC;AAExC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;iBAmBxB,CAAC;AAEL,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAOH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;kBAShB,CAAC;AACZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;kBAQlB,CAAC;AACZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;kBASlB,CAAC;AACZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWlB,CAAC;AACZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAYlB,CAAC;AACZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsB5B,CAAC"}
@@ -0,0 +1,424 @@
1
+ import { isAbsolute, normalize } from 'node:path';
2
+ import { z } from 'zod';
3
+ const reservedIds = new Set([
4
+ '.',
5
+ '..',
6
+ 'kudos',
7
+ 'synomem',
8
+ 'exports',
9
+ 'inbox',
10
+ 'con',
11
+ 'prn',
12
+ 'aux',
13
+ 'nul',
14
+ 'com1',
15
+ 'lpt1',
16
+ ]);
17
+ export const agentIdSchema = z
18
+ .string()
19
+ .min(1)
20
+ .max(63)
21
+ .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, 'Use lowercase ASCII letters, digits, and hyphens')
22
+ .refine((id) => !reservedIds.has(id), 'Reserved agent ID');
23
+ export const actorSchema = z.object({
24
+ kind: z.enum(['human', 'agent', 'system']),
25
+ id: agentIdSchema,
26
+ displayName: z.string().trim().min(1).max(200).optional(),
27
+ });
28
+ export const jsonValueSchema = z.lazy(() => z.union([
29
+ z.string(),
30
+ z.number().finite(),
31
+ z.boolean(),
32
+ z.null(),
33
+ z.array(jsonValueSchema),
34
+ z.record(z.string(), jsonValueSchema),
35
+ ]));
36
+ export const metadataSchema = z.record(z.string().max(200), jsonValueSchema);
37
+ export const sourceSchema = z.object({
38
+ runtime: z.string().trim().min(1).max(200).optional(),
39
+ model: z.string().trim().min(1).max(200).optional(),
40
+ sessionId: z.string().trim().min(1).max(500).optional(),
41
+ repository: z.string().trim().min(1).max(1000).optional(),
42
+ commit: z.string().trim().min(1).max(200).optional(),
43
+ workingDirectory: z.string().trim().min(1).max(2000).optional(),
44
+ });
45
+ function isSafeFileEvidence(value) {
46
+ const normalized = normalize(value);
47
+ return (!isAbsolute(value) &&
48
+ normalized !== '..' &&
49
+ !normalized.startsWith(`..${process.platform === 'win32' ? '\\' : '/'}`));
50
+ }
51
+ function isHttpUrl(value) {
52
+ try {
53
+ const url = new URL(value);
54
+ return url.protocol === 'https:' || url.protocol === 'http:';
55
+ }
56
+ catch {
57
+ return false;
58
+ }
59
+ }
60
+ export const evidenceSchema = z
61
+ .object({
62
+ kind: z.enum(['tool-call', 'commit', 'file', 'url', 'task', 'note']),
63
+ label: z.string().trim().min(1).max(200).optional(),
64
+ value: z.string().trim().min(1).max(2000),
65
+ })
66
+ .superRefine((evidence, context) => {
67
+ if (evidence.kind === 'url' && !isHttpUrl(evidence.value)) {
68
+ context.addIssue({ code: 'custom', message: 'URL evidence must use http or https' });
69
+ }
70
+ if (evidence.kind === 'file' && !isSafeFileEvidence(evidence.value)) {
71
+ context.addIssue({ code: 'custom', message: 'File evidence must be a safe relative path' });
72
+ }
73
+ });
74
+ export const profileSchema = z.object({
75
+ id: agentIdSchema,
76
+ displayName: z.string().trim().min(1).max(200),
77
+ aliases: z.array(agentIdSchema).max(50).optional(),
78
+ description: z.string().trim().max(2000).optional(),
79
+ createdAt: z.string().datetime({ offset: true }),
80
+ metadata: metadataSchema.optional(),
81
+ });
82
+ export const createAgentSchema = profileSchema.omit({ createdAt: true });
83
+ export const updateAgentSchema = createAgentSchema.omit({ id: true }).partial();
84
+ const baseEventSchema = z.object({
85
+ schemaVersion: z.literal(1),
86
+ id: z.string().regex(/^[0-9A-HJKMNP-TV-Z]{26}$/),
87
+ workspaceId: z.string().trim().min(1).max(100),
88
+ aggregateId: z.string().regex(/^[0-9A-HJKMNP-TV-Z]{26}$|^[a-z0-9]+(?:-[a-z0-9]+)*$/),
89
+ aggregateVersion: z.number().int().min(1),
90
+ createdAt: z.string().datetime({ offset: true }),
91
+ actor: actorSchema,
92
+ idempotencyKey: z.string().trim().min(1).max(200).optional(),
93
+ source: sourceSchema.optional(),
94
+ metadata: metadataSchema.optional(),
95
+ });
96
+ export const kudosTitleSchema = z
97
+ .string()
98
+ .trim()
99
+ .min(1)
100
+ .max(200)
101
+ .regex(/^[^\r\n]+$/, 'Kudos titles must be a single line');
102
+ export const kudosTagSchema = z
103
+ .string()
104
+ .trim()
105
+ .min(1)
106
+ .max(64)
107
+ .regex(/^[\p{L}\p{N}][\p{L}\p{N}._-]*$/u);
108
+ const kudosGivenSchema = baseEventSchema.extend({
109
+ type: z.literal('kudos.given'),
110
+ recipientAgentId: agentIdSchema,
111
+ recipientDisplayName: z.string().trim().min(1).max(200),
112
+ title: z.string().trim().min(1).max(200),
113
+ reason: z.string().trim().min(1).max(5000),
114
+ evidence: z.array(evidenceSchema).max(50).optional(),
115
+ tags: z.array(kudosTagSchema).max(50).optional(),
116
+ visibility: z.enum(['private', 'workspace', 'public']),
117
+ });
118
+ const acknowledgedSchema = baseEventSchema.extend({
119
+ type: z.literal('kudos.acknowledged'),
120
+ kudosId: z.string().regex(/^[0-9A-HJKMNP-TV-Z]{26}$/),
121
+ recipientAgentId: agentIdSchema,
122
+ note: z.string().trim().min(1).max(2000).optional(),
123
+ });
124
+ const revokedSchema = baseEventSchema.extend({
125
+ type: z.literal('kudos.revoked'),
126
+ kudosId: z.string().regex(/^[0-9A-HJKMNP-TV-Z]{26}$/),
127
+ reason: z.string().trim().min(1).max(2000),
128
+ mode: z.enum(['actor-requested', 'administrative']),
129
+ });
130
+ const agentCreatedSchema = baseEventSchema.extend({
131
+ type: z.literal('agent.created'),
132
+ agent: profileSchema,
133
+ });
134
+ const agentUpdatedSchema = baseEventSchema.extend({
135
+ type: z.literal('agent.updated'),
136
+ agentId: agentIdSchema,
137
+ changes: updateAgentSchema,
138
+ });
139
+ const memoSentSchema = baseEventSchema.extend({
140
+ type: z.literal('memo.sent'),
141
+ recipientAgentId: agentIdSchema,
142
+ recipientDisplayName: z.string().trim().min(1).max(200),
143
+ subject: z
144
+ .string()
145
+ .trim()
146
+ .min(1)
147
+ .max(200)
148
+ .regex(/^[^\r\n]+$/),
149
+ body: z.string().trim().min(1).max(16_000),
150
+ tags: z.array(kudosTagSchema).max(20).optional(),
151
+ visibility: z.enum(['private', 'workspace', 'public']),
152
+ });
153
+ const memoReadSchema = baseEventSchema.extend({
154
+ type: z.literal('memo.read'),
155
+ memoId: z.string().length(26),
156
+ recipientAgentId: agentIdSchema,
157
+ });
158
+ const memoArchivedSchema = baseEventSchema.extend({
159
+ type: z.literal('memo.archived'),
160
+ memoId: z.string().length(26),
161
+ recipientAgentId: agentIdSchema,
162
+ });
163
+ const noteCreatedSchema = baseEventSchema.extend({
164
+ type: z.literal('note.created'),
165
+ ownerAgentId: agentIdSchema,
166
+ ownerDisplayName: z.string().trim().min(1).max(200),
167
+ title: z
168
+ .string()
169
+ .trim()
170
+ .min(1)
171
+ .max(200)
172
+ .regex(/^[^\r\n]+$/),
173
+ body: z.string().trim().min(1).max(32_000),
174
+ tags: z.array(kudosTagSchema).max(20).optional(),
175
+ visibility: z.literal('private'),
176
+ });
177
+ const noteRevisedSchema = baseEventSchema.extend({
178
+ type: z.literal('note.revised'),
179
+ noteId: z.string().length(26),
180
+ title: z
181
+ .string()
182
+ .trim()
183
+ .min(1)
184
+ .max(200)
185
+ .regex(/^[^\r\n]+$/),
186
+ body: z.string().trim().min(1).max(32_000),
187
+ tags: z.array(kudosTagSchema).max(20).optional(),
188
+ visibility: z.literal('private'),
189
+ });
190
+ const noteArchivedSchema = baseEventSchema.extend({
191
+ type: z.literal('note.archived'),
192
+ noteId: z.string().length(26),
193
+ });
194
+ const todoDueSchema = z.discriminatedUnion('kind', [
195
+ z.object({
196
+ kind: z.literal('date'),
197
+ date: z
198
+ .string()
199
+ .regex(/^\d{4}-\d{2}-\d{2}$/)
200
+ .refine((value) => {
201
+ const date = new Date(`${value}T00:00:00Z`);
202
+ return !Number.isNaN(date.valueOf()) && date.toISOString().slice(0, 10) === value;
203
+ }, 'Use a valid calendar date'),
204
+ }),
205
+ z.object({
206
+ kind: z.literal('datetime'),
207
+ datetime: z.string().datetime({ offset: true }),
208
+ timeZone: z
209
+ .string()
210
+ .trim()
211
+ .min(1)
212
+ .max(100)
213
+ .refine((value) => {
214
+ try {
215
+ new Intl.DateTimeFormat('en-US', { timeZone: value });
216
+ return true;
217
+ }
218
+ catch {
219
+ return false;
220
+ }
221
+ }, 'Use a valid IANA time-zone identifier'),
222
+ }),
223
+ ]);
224
+ const todoFields = {
225
+ title: z
226
+ .string()
227
+ .trim()
228
+ .min(1)
229
+ .max(200)
230
+ .regex(/^[^\r\n]+$/),
231
+ description: z.string().trim().max(16_000).optional(),
232
+ priority: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)]),
233
+ due: todoDueSchema.optional(),
234
+ tags: z.array(kudosTagSchema).max(20).optional(),
235
+ visibility: z.enum(['private', 'workspace', 'public']),
236
+ };
237
+ const todoCreatedSchema = baseEventSchema.extend({
238
+ type: z.literal('todo.created'),
239
+ assigneeAgentId: agentIdSchema,
240
+ assigneeDisplayName: z.string().trim().min(1).max(200),
241
+ requiresAcceptance: z.boolean(),
242
+ ...todoFields,
243
+ });
244
+ const todoUpdatedSchema = baseEventSchema.extend({
245
+ type: z.literal('todo.updated'),
246
+ todoId: z.string().length(26),
247
+ ...todoFields,
248
+ });
249
+ const todoCompletedSchema = baseEventSchema.extend({
250
+ type: z.literal('todo.completed'),
251
+ todoId: z.string().length(26),
252
+ note: z.string().trim().min(1).max(2000).optional(),
253
+ });
254
+ const todoReopenedSchema = baseEventSchema.extend({
255
+ type: z.literal('todo.reopened'),
256
+ todoId: z.string().length(26),
257
+ });
258
+ const todoAcceptedSchema = baseEventSchema.extend({
259
+ type: z.literal('todo.accepted'),
260
+ todoId: z.string().length(26),
261
+ });
262
+ const todoRejectedSchema = baseEventSchema.extend({
263
+ type: z.literal('todo.rejected'),
264
+ todoId: z.string().length(26),
265
+ reason: z.string().trim().min(1).max(2000).optional(),
266
+ });
267
+ const todoCanceledSchema = baseEventSchema.extend({
268
+ type: z.literal('todo.canceled'),
269
+ todoId: z.string().length(26),
270
+ reason: z.string().trim().min(1).max(2000).optional(),
271
+ });
272
+ export const eventSchema = z.discriminatedUnion('type', [
273
+ kudosGivenSchema,
274
+ acknowledgedSchema,
275
+ revokedSchema,
276
+ agentCreatedSchema,
277
+ agentUpdatedSchema,
278
+ memoSentSchema,
279
+ memoReadSchema,
280
+ memoArchivedSchema,
281
+ noteCreatedSchema,
282
+ noteRevisedSchema,
283
+ noteArchivedSchema,
284
+ todoCreatedSchema,
285
+ todoUpdatedSchema,
286
+ todoCompletedSchema,
287
+ todoReopenedSchema,
288
+ todoAcceptedSchema,
289
+ todoRejectedSchema,
290
+ todoCanceledSchema,
291
+ ]);
292
+ const giveKudosInputSchema = kudosGivenSchema
293
+ .omit({
294
+ schemaVersion: true,
295
+ id: true,
296
+ type: true,
297
+ workspaceId: true,
298
+ aggregateId: true,
299
+ aggregateVersion: true,
300
+ createdAt: true,
301
+ actor: true,
302
+ recipientDisplayName: true,
303
+ })
304
+ .extend({
305
+ title: kudosTitleSchema,
306
+ evidence: z.array(evidenceSchema).max(10).optional(),
307
+ tags: z.array(kudosTagSchema).max(20).optional(),
308
+ });
309
+ function enforceKudosPayloadSize(value, context) {
310
+ if (Buffer.byteLength(JSON.stringify(value), 'utf8') > 32_768) {
311
+ context.addIssue({ code: 'custom', message: 'Kudos payload must not exceed 32 KiB' });
312
+ }
313
+ }
314
+ export const giveKudosSchema = giveKudosInputSchema.superRefine(enforceKudosPayloadSize);
315
+ export const giveKudosMcpSchema = giveKudosInputSchema
316
+ .extend({ visibility: z.enum(['private', 'workspace', 'public']).optional() })
317
+ .superRefine(enforceKudosPayloadSize);
318
+ export const listInputSchema = z
319
+ .object({
320
+ recipientAgentId: agentIdSchema.optional(),
321
+ actorId: agentIdSchema.optional(),
322
+ actorKind: z.enum(['human', 'agent', 'system']).optional(),
323
+ tag: z.string().trim().min(1).max(64).optional(),
324
+ status: z.enum(['acknowledged', 'unacknowledged']).optional(),
325
+ visibility: z.enum(['private', 'workspace', 'public']).optional(),
326
+ revoked: z.boolean().optional(),
327
+ from: z.string().datetime({ offset: true }).optional(),
328
+ to: z.string().datetime({ offset: true }).optional(),
329
+ cursor: z.string().min(1).max(500).optional(),
330
+ limit: z.number().int().min(1).max(50).default(10),
331
+ offset: z.number().int().min(0).default(0),
332
+ })
333
+ .superRefine((value, context) => {
334
+ if (value.cursor && value.offset > 0) {
335
+ context.addIssue({ code: 'custom', message: 'Use either cursor or offset pagination' });
336
+ }
337
+ });
338
+ export const changesInputSchema = z.object({
339
+ after: z.string().min(1).max(500).optional(),
340
+ limit: z.number().int().min(1).max(100).default(20),
341
+ });
342
+ const mutationMetadata = {
343
+ idempotencyKey: z.string().trim().min(1).max(200).optional(),
344
+ source: sourceSchema.optional(),
345
+ metadata: metadataSchema.optional(),
346
+ };
347
+ export const sendMemoSchema = z
348
+ .object({
349
+ recipientAgentId: agentIdSchema,
350
+ subject: memoSentSchema.shape.subject,
351
+ body: memoSentSchema.shape.body,
352
+ tags: z.array(kudosTagSchema).max(20).optional(),
353
+ visibility: z.enum(['private', 'workspace', 'public']).optional(),
354
+ ...mutationMetadata,
355
+ })
356
+ .strict();
357
+ export const createNoteSchema = z
358
+ .object({
359
+ ownerAgentId: agentIdSchema.optional(),
360
+ title: noteCreatedSchema.shape.title,
361
+ body: noteCreatedSchema.shape.body,
362
+ tags: z.array(kudosTagSchema).max(20).optional(),
363
+ ...mutationMetadata,
364
+ })
365
+ .strict();
366
+ export const reviseNoteSchema = z
367
+ .object({
368
+ noteId: z.string().length(26),
369
+ expectedVersion: z.number().int().min(1),
370
+ title: noteCreatedSchema.shape.title.optional(),
371
+ body: noteCreatedSchema.shape.body.optional(),
372
+ tags: z.array(kudosTagSchema).max(20).optional(),
373
+ ...mutationMetadata,
374
+ })
375
+ .strict();
376
+ export const createTodoSchema = z
377
+ .object({
378
+ assigneeAgentId: agentIdSchema.optional(),
379
+ title: todoCreatedSchema.shape.title,
380
+ description: todoCreatedSchema.shape.description,
381
+ priority: todoCreatedSchema.shape.priority.optional(),
382
+ due: todoDueSchema.optional(),
383
+ tags: z.array(kudosTagSchema).max(20).optional(),
384
+ visibility: z.enum(['private', 'workspace', 'public']).optional(),
385
+ ...mutationMetadata,
386
+ })
387
+ .strict();
388
+ export const updateTodoSchema = z
389
+ .object({
390
+ todoId: z.string().length(26),
391
+ expectedVersion: z.number().int().min(1),
392
+ title: todoCreatedSchema.shape.title.optional(),
393
+ description: todoCreatedSchema.shape.description,
394
+ priority: todoCreatedSchema.shape.priority.optional(),
395
+ due: todoDueSchema.nullable().optional(),
396
+ tags: z.array(kudosTagSchema).max(20).optional(),
397
+ visibility: z.enum(['private', 'workspace', 'public']).optional(),
398
+ ...mutationMetadata,
399
+ })
400
+ .strict();
401
+ export const itemListInputSchema = z
402
+ .object({
403
+ kinds: z
404
+ .array(z.enum(['kudos', 'memo', 'note', 'todo']))
405
+ .max(4)
406
+ .optional(),
407
+ participantAgentId: agentIdSchema.optional(),
408
+ actorId: agentIdSchema.optional(),
409
+ actorKind: z.enum(['human', 'agent', 'system']).optional(),
410
+ tag: kudosTagSchema.optional(),
411
+ status: z.string().trim().min(1).max(50).optional(),
412
+ pending: z.boolean().optional(),
413
+ visibility: z.enum(['private', 'workspace', 'public']).optional(),
414
+ from: z.string().datetime({ offset: true }).optional(),
415
+ to: z.string().datetime({ offset: true }).optional(),
416
+ cursor: z.string().min(1).max(500).optional(),
417
+ limit: z.number().int().min(1).max(50).default(10),
418
+ offset: z.number().int().min(0).default(0),
419
+ })
420
+ .superRefine((value, context) => {
421
+ if (value.cursor && value.offset > 0)
422
+ context.addIssue({ code: 'custom', message: 'Use either cursor or offset pagination' });
423
+ });
424
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ import type { ActorIdentity, AgentProfile, ChangePage, ChangesInput, CreateAgentInput, CreateNoteInput, CreateNoteResult, CreateTodoInput, CreateTodoResult, DoctorResult, GiveKudosInput, GiveKudosResult, ItemListInput, ItemRecord, ItemSummary, KudosChangesInput, KudosListInput, KudosRecord, KudosStats, KudosSummary, MemoRecord, SynomemClientOptions, SynomemEvent, NoteRecord, Page, ReviseNoteInput, SendMemoInput, SendMemoResult, TodoRecord, UpdateAgentInput, UpdateTodoInput } from './types.js';
2
+ export interface SynomemServiceCapabilities {
3
+ backend: 'local' | 'remote';
4
+ binding: {
5
+ workspaceId: string;
6
+ actor: ActorIdentity;
7
+ };
8
+ administration: {
9
+ agentCreationViaMcp: boolean;
10
+ rebuildViaMcp: boolean;
11
+ };
12
+ projections: {
13
+ writeWinsMarkdown: boolean;
14
+ writeMemoryMarkdown: boolean;
15
+ writeTodosMarkdown: boolean;
16
+ writeInboxEntries: boolean;
17
+ };
18
+ }
19
+ export type SynomemServiceInfo = {
20
+ backend: 'local';
21
+ home: string;
22
+ databasePath: string;
23
+ } | {
24
+ backend: 'remote';
25
+ baseUrl: string;
26
+ workspaceId: string;
27
+ };
28
+ export interface ProjectionRebuildResult {
29
+ generated: string[];
30
+ removed: string[];
31
+ }
32
+ export interface SynomemDomainService {
33
+ readonly actor: ActorIdentity;
34
+ readonly agents: {
35
+ create(input: CreateAgentInput): Promise<AgentProfile>;
36
+ update(id: string, changes: UpdateAgentInput): Promise<AgentProfile>;
37
+ get(idOrAlias: string): Promise<AgentProfile>;
38
+ list(): Promise<AgentProfile[]>;
39
+ };
40
+ readonly kudos: {
41
+ give(input: GiveKudosInput): Promise<GiveKudosResult>;
42
+ list(input?: KudosListInput): Promise<Page<KudosSummary>>;
43
+ changes(input?: KudosChangesInput): Promise<ChangePage>;
44
+ get(id: string): Promise<KudosRecord>;
45
+ acknowledge(input: {
46
+ kudosId: string;
47
+ note?: string;
48
+ }): Promise<KudosRecord>;
49
+ revoke(input: {
50
+ kudosId: string;
51
+ reason: string;
52
+ administrative?: boolean;
53
+ }): Promise<KudosRecord>;
54
+ };
55
+ readonly memos: {
56
+ send(input: SendMemoInput): Promise<SendMemoResult>;
57
+ list(input?: Omit<ItemListInput, 'kinds'>): Promise<Page<ItemSummary>>;
58
+ get(id: string): Promise<MemoRecord>;
59
+ read(input: {
60
+ memoId: string;
61
+ idempotencyKey?: string;
62
+ }): Promise<MemoRecord>;
63
+ archive(input: {
64
+ memoId: string;
65
+ idempotencyKey?: string;
66
+ }): Promise<MemoRecord>;
67
+ };
68
+ readonly notes: {
69
+ create(input: CreateNoteInput): Promise<CreateNoteResult>;
70
+ list(input?: Omit<ItemListInput, 'kinds'>): Promise<Page<ItemSummary>>;
71
+ get(id: string): Promise<NoteRecord>;
72
+ revise(input: ReviseNoteInput): Promise<NoteRecord>;
73
+ archive(input: {
74
+ noteId: string;
75
+ idempotencyKey?: string;
76
+ }): Promise<NoteRecord>;
77
+ };
78
+ readonly todos: {
79
+ create(input: CreateTodoInput): Promise<CreateTodoResult>;
80
+ list(input?: Omit<ItemListInput, 'kinds'>): Promise<Page<ItemSummary>>;
81
+ get(id: string): Promise<TodoRecord>;
82
+ update(input: UpdateTodoInput): Promise<TodoRecord>;
83
+ accept(input: {
84
+ todoId: string;
85
+ idempotencyKey?: string;
86
+ }): Promise<TodoRecord>;
87
+ reject(input: {
88
+ todoId: string;
89
+ reason?: string;
90
+ idempotencyKey?: string;
91
+ }): Promise<TodoRecord>;
92
+ complete(input: {
93
+ todoId: string;
94
+ note?: string;
95
+ idempotencyKey?: string;
96
+ }): Promise<TodoRecord>;
97
+ reopen(input: {
98
+ todoId: string;
99
+ idempotencyKey?: string;
100
+ }): Promise<TodoRecord>;
101
+ cancel(input: {
102
+ todoId: string;
103
+ reason?: string;
104
+ idempotencyKey?: string;
105
+ }): Promise<TodoRecord>;
106
+ };
107
+ readonly items: {
108
+ list(input?: ItemListInput): Promise<Page<ItemSummary>>;
109
+ get(id: string): Promise<ItemRecord>;
110
+ changes(input?: ChangesInput): Promise<ChangePage>;
111
+ };
112
+ init(): Promise<void>;
113
+ close(): Promise<void>;
114
+ stats(input?: KudosListInput): Promise<KudosStats>;
115
+ }
116
+ export interface SynomemService extends SynomemDomainService {
117
+ doctor(): Promise<DoctorResult>;
118
+ export(format: 'json' | 'jsonl' | 'markdown'): Promise<string>;
119
+ backup?(destination: string): Promise<string>;
120
+ rebuild(): Promise<ProjectionRebuildResult>;
121
+ capabilities(): Promise<SynomemServiceCapabilities>;
122
+ info(): Promise<SynomemServiceInfo>;
123
+ getCanonicalEvent(id: string): Promise<SynomemEvent | undefined>;
124
+ }
125
+ export type SynomemServiceFactory = (options: SynomemClientOptions) => SynomemService;
126
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,eAAe,EACf,aAAa,EACb,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5B,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,aAAa,CAAC;KACtB,CAAC;IACF,cAAc,EAAE;QACd,mBAAmB,EAAE,OAAO,CAAC;QAC7B,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,WAAW,EAAE;QACX,iBAAiB,EAAE,OAAO,CAAC;QAC3B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE;QACf,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACrE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACxD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACtC,WAAW,CAAC,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,EAAE;YACZ,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;KAClF,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;KAClF,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,EAAE;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE;YACd,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,EAAE;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;KACpD,CAAC;IAEF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAC1D,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5C,YAAY,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACpD,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ export declare const skillRuntimeNames: readonly ["codex", "claude", "hermes", "openclaw", "cursor", "grok"];
2
+ export type SkillRuntime = (typeof skillRuntimeNames)[number];
3
+ export type SkillState = 'current' | 'stale' | 'missing' | 'unavailable' | 'conflict';
4
+ export interface SkillLocation {
5
+ runtime: SkillRuntime;
6
+ runtimeHome: string;
7
+ target: string;
8
+ state: SkillState;
9
+ installedVersion?: string;
10
+ mode?: 'copy' | 'link';
11
+ }
12
+ export interface SkillOperationResult {
13
+ changed: boolean;
14
+ dryRun: boolean;
15
+ packageVersion: string;
16
+ locations: SkillLocation[];
17
+ mcpCommands: string[];
18
+ }
19
+ export interface SkillOptions {
20
+ runtimes?: SkillRuntime[];
21
+ apply?: boolean;
22
+ force?: boolean;
23
+ link?: boolean;
24
+ actorId?: string;
25
+ actorName?: string;
26
+ userHome?: string;
27
+ env?: NodeJS.ProcessEnv;
28
+ source?: string;
29
+ }
30
+ export declare function skillStatus(options?: SkillOptions): SkillOperationResult;
31
+ export declare function installSkill(options?: SkillOptions): SkillOperationResult;
32
+ export declare function uninstallSkill(options?: SkillOptions): SkillOperationResult;
33
+ export declare function formatSkillResult(result: SkillOperationResult, operation: 'status' | 'install' | 'uninstall'): string;
34
+ //# sourceMappingURL=skill-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-install.d.ts","sourceRoot":"","sources":["../src/skill-install.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB,sEAOpB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEtF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AASD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAsLD,wBAAgB,WAAW,CAAC,OAAO,GAAE,YAAiB,GAAG,oBAAoB,CAiB5E;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,oBAAoB,CA2B7E;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,YAAiB,GAAG,oBAAoB,CAoB/E;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,oBAAoB,EAC5B,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAC5C,MAAM,CAYR"}