@khorsheed/dsh-capability-catalog 0.1.97 → 0.1.99

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 (46) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.en.md +31 -7
  3. package/README.i18n.yaml +2 -2
  4. package/README.md +31 -7
  5. package/cordis.patch.yml +1 -1
  6. package/lib/client.js +14790 -902
  7. package/lib/index.js +760 -265
  8. package/lib/typert.host.js +614 -295
  9. package/lib/typert.remote-client.d.ts +27 -4
  10. package/lib/typert.remote-client.js +599 -288
  11. package/lib/types/client/CapabilityCatalogCard.js +20 -5
  12. package/lib/types/client/SkillDetailModal.d.ts +13 -5
  13. package/lib/types/client/SkillDetailModal.js +9 -3
  14. package/lib/types/client/locales.d.ts +0 -4
  15. package/lib/types/client/locales.js +4 -8
  16. package/lib/types/envHint.d.ts +7 -1
  17. package/lib/types/envHint.js +52 -18
  18. package/lib/types/evidence.d.ts +142 -0
  19. package/lib/types/evidence.js +179 -0
  20. package/lib/types/frontmatter.d.ts +78 -0
  21. package/lib/types/frontmatter.js +186 -0
  22. package/lib/types/import.js +10 -19
  23. package/lib/types/index.d.ts +16 -4
  24. package/lib/types/index.js +32 -53
  25. package/lib/types/mcpStore.d.ts +6 -8
  26. package/lib/types/mcpStore.js +18 -43
  27. package/lib/types/mcps.d.ts +1 -6
  28. package/lib/types/mcps.js +0 -9
  29. package/lib/types/namespace.d.ts +2 -3
  30. package/lib/types/namespace.js +2 -3
  31. package/lib/types/remote.d.ts +11 -2
  32. package/lib/types/remote.js +4 -1
  33. package/lib/types/scoped-delivery.d.ts +36 -24
  34. package/lib/types/scoped-delivery.js +136 -100
  35. package/lib/types/scoped-edits.js +2 -1
  36. package/lib/types/shellEnv.d.ts +8 -1
  37. package/lib/types/shellEnv.js +37 -16
  38. package/lib/types/skills.d.ts +41 -0
  39. package/lib/types/skills.js +51 -9
  40. package/lib/types/tool-face.d.ts +68 -0
  41. package/lib/types/tool-face.js +82 -0
  42. package/lib/types/types.d.ts +40 -19
  43. package/package.json +20 -18
  44. package/lib/invariant.js +0 -25
  45. package/lib/types/invariant.d.ts +0 -16
  46. package/lib/types/invariant.js +0 -23
@@ -1,6 +1,8 @@
1
1
  /* Generated by @deepseek-ai/dsh-typert-generator from FaceModel — do not edit. */
2
2
  import { z } from 'zod'
3
3
 
4
+ import { createTypertRemoteInfo } from '@deepseek-ai/dsh-typert-protocol/remote-info'
5
+
4
6
  let CatalogJsonValueRemoteCodec$schema$value
5
7
  const CatalogJsonValueRemoteCodec$schema = () => (CatalogJsonValueRemoteCodec$schema$value ??= z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema())).readonly()]))
6
8
  let CatalogJsonValueRemoteCodec$schema2$value
@@ -16,19 +18,19 @@ const CatalogJsonValueRemoteCodec$schema6 = () => (CatalogJsonValueRemoteCodec$s
16
18
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0$schema$value
17
19
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0$schema$value ??= z.object({
18
20
  'channel': z.union([z.literal("zip"), z.literal("github"), z.literal("command")]).readonly(),
19
- 'payload': z.string().readonly(),
20
- 'repo': z.string().readonly().optional(),
21
- 'skills': z.array(z.string()).readonly().optional(),
22
- 'modelInvocable': z.boolean().readonly(),
23
- 'root': z.union([z.literal("user"), z.literal("project")]).readonly(),
24
- 'overwrite': z.boolean().readonly().optional(),
21
+ 'payload': z.string().readonly().describe('Base64-encoded zip/tgz bytes for `zip`; opaque for `github`.'),
22
+ 'repo': z.string().readonly().optional().describe('owner/repo, a git URL (a host-prefixed or pasted link and an in-repo subpath resolve to the same clone), or a local dir path for `command`.'),
23
+ 'skills': z.array(z.string()).readonly().optional().describe('Selected skill sub-directory names when `repo` is a multi-skill container dir.'),
24
+ 'modelInvocable': z.boolean().readonly().describe('Whether the added skill is model-invocable (written as disable-model-invocation inversely).'),
25
+ 'root': z.union([z.literal("user"), z.literal("project")]).readonly().describe('Target root: user (`$DSH_HOME/skills`) or project (`.agents/skills`).'),
26
+ 'overwrite': z.boolean().readonly().optional().describe('When true, an existing same-name skill in the target root is replaced instead of prompting.'),
25
27
  }))
26
28
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_result$schema$value
27
29
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_result$schema$value ??= z.object({
28
30
  'ok': z.boolean().readonly(),
29
31
  'error': z.string().readonly().optional(),
30
32
  'name': z.string().readonly().optional(),
31
- 'exists': z.boolean().readonly().optional(),
33
+ 'exists': z.boolean().readonly().optional().describe('Set on a soft "skill already exists" refusal (ok:false) so the UI can offer overwrite.'),
32
34
  }))
33
35
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0$schema$value
34
36
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0$schema$value ??= z.string())
@@ -57,15 +59,15 @@ const _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_result$schema =
57
59
  'userInvocable': z.boolean().readonly(),
58
60
  'path': z.string().readonly().optional(),
59
61
  'whenToUse': z.string().readonly().optional(),
60
- 'content': z.string().readonly(),
61
- 'metadataText': z.string().readonly().optional(),
62
+ 'content': z.string().readonly().describe('Full SKILL.md body.'),
63
+ 'metadataText': z.string().readonly().optional().describe('Parsed frontmatter metadata, serialized to JSON text (typert boundary is strict JSON).'),
62
64
  'credentials': z.array(z.object({
63
65
  'key': z.string().readonly(),
64
66
  'label': z.string().readonly().optional(),
65
- 'configured': z.boolean().readonly(),
66
- })).readonly().optional(),
67
- 'environmentRefs': z.array(z.string()).readonly().optional(),
68
- 'files': z.array(z.string()).readonly().optional(),
67
+ 'configured': z.boolean().readonly().describe('Whether a value has been configured (never the value itself).'),
68
+ })).readonly().optional().describe('Declared credentials + their configured state (metadata.credentials only).'),
69
+ 'environmentRefs': z.array(z.string()).readonly().optional().describe('Env-var references detected in the skill body (read-only, informational — typically provided by the runtime/caller, NOT user-configurable here). A key already declared in metadata.credentials is excluded — it renders in the credential form instead.'),
70
+ 'files': z.array(z.string()).readonly().optional().describe('Bundle-relative file paths (SKILL.md + scripts/assets/references) for a directory side.'),
69
71
  })]))
70
72
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0$schema$value
71
73
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0$schema$value ??= z.string())
@@ -79,13 +81,13 @@ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0$schem
79
81
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0$schema$value ??= z.object({
80
82
  'serverName': z.string().readonly(),
81
83
  'transport': z.union([z.literal("stdio"), z.literal("streamable-http")]).readonly(),
82
- 'command': z.string().readonly().optional(),
84
+ 'command': z.string().readonly().optional().describe('stdio'),
83
85
  'args': z.array(z.string()).readonly().optional(),
84
86
  'cwd': z.string().readonly().optional(),
85
- 'url': z.string().readonly().optional(),
87
+ 'url': z.string().readonly().optional().describe('streamable-http'),
86
88
  'headers': z.array(z.tuple([z.string(), z.string()])).readonly().optional(),
87
- 'env': z.array(z.tuple([z.string(), z.string()])).readonly().optional(),
88
- 'enabled': z.boolean().readonly(),
89
+ 'env': z.array(z.tuple([z.string(), z.string()])).readonly().optional().describe('env (value is a secretRef marker if it came from a secret).'),
90
+ 'enabled': z.boolean().readonly().describe('Whether the server is enabled (connected + injected).'),
89
91
  }))
90
92
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_result$schema$value
91
93
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_result$schema$value ??= z.boolean())
@@ -96,19 +98,7 @@ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_result$sch
96
98
  'name': z.string().readonly(),
97
99
  'description': z.string().readonly(),
98
100
  'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema5())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema5())).readonly()]).readonly().optional(),
99
- 'enabled': z.boolean().readonly(),
100
- })))
101
- let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpList_result$schema$value
102
- const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpList_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpList_result$schema$value ??= z.array(z.object({
103
- 'serverName': z.string().readonly(),
104
- 'transport': z.union([z.literal("stdio"), z.literal("streamable-http")]).readonly(),
105
- 'command': z.string().readonly().optional(),
106
- 'args': z.array(z.string()).readonly().optional(),
107
- 'cwd': z.string().readonly().optional(),
108
- 'url': z.string().readonly().optional(),
109
- 'headers': z.array(z.tuple([z.string(), z.string()])).readonly().optional(),
110
- 'env': z.array(z.tuple([z.string(), z.string()])).readonly().optional(),
111
- 'enabled': z.boolean().readonly(),
101
+ 'enabled': z.boolean().readonly().describe('Per-tool enable/disable.'),
112
102
  })))
113
103
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0$schema$value
114
104
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0$schema$value ??= z.string())
@@ -139,55 +129,55 @@ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSnapshot_result$sch
139
129
  'servers': z.array(z.object({
140
130
  'serverName': z.string().readonly(),
141
131
  'transport': z.union([z.literal("stdio"), z.literal("streamable-http")]).readonly(),
142
- 'command': z.string().readonly().optional(),
132
+ 'command': z.string().readonly().optional().describe('stdio'),
143
133
  'args': z.array(z.string()).readonly().optional(),
144
134
  'cwd': z.string().readonly().optional(),
145
- 'url': z.string().readonly().optional(),
135
+ 'url': z.string().readonly().optional().describe('streamable-http'),
146
136
  'headers': z.array(z.tuple([z.string(), z.string()])).readonly().optional(),
147
- 'env': z.array(z.tuple([z.string(), z.string()])).readonly().optional(),
148
- 'enabled': z.boolean().readonly(),
137
+ 'env': z.array(z.tuple([z.string(), z.string()])).readonly().optional().describe('env (value is a secretRef marker if it came from a secret).'),
138
+ 'enabled': z.boolean().readonly().describe('Whether the server is enabled (connected + injected).'),
149
139
  })).readonly(),
150
140
  'tools': z.record(z.string(), z.array(z.object({
151
141
  'name': z.string().readonly(),
152
142
  'description': z.string().readonly(),
153
143
  'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema6())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema6())).readonly()]).readonly().optional(),
154
- 'enabled': z.boolean().readonly(),
144
+ 'enabled': z.boolean().readonly().describe('Per-tool enable/disable.'),
155
145
  }))).readonly().readonly(),
156
146
  'credentials': z.array(z.object({
157
- 'ref': z.string().readonly(),
158
- 'label': z.string().readonly(),
159
- 'configured': z.boolean().readonly(),
147
+ 'ref': z.string().readonly().describe('Config key that holds the secret (env var name, header name, or \'query:key\').'),
148
+ 'label': z.string().readonly().describe('Human label (e.g. the env var / header / query param name).'),
149
+ 'configured': z.boolean().readonly().describe('Whether the credential has been configured (never the value).'),
160
150
  })).readonly(),
161
151
  }))
162
152
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0$schema$value
163
153
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0$schema$value ??= z.union([z.undefined(), z.string()]))
164
154
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_result$schema$value
165
155
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_result$schema$value ??= z.array(z.object({
166
- 'preset': z.string().readonly(),
167
- 'name': z.string().readonly().optional(),
168
- 'description': z.string().readonly().optional(),
169
- 'isDefault': z.boolean().readonly(),
156
+ 'preset': z.string().readonly().describe('The preset id this face was read at.'),
157
+ 'name': z.string().readonly().optional().describe('The preset\'s published display name, when it has one.'),
158
+ 'description': z.string().readonly().optional().describe('One sentence on what the preset is for, when it publishes one.'),
159
+ 'isDefault': z.boolean().readonly().describe('Whether this is the deployment\'s default mode.'),
170
160
  'skills': z.array(z.object({
171
161
  'name': z.string().readonly(),
172
- 'description': z.string().readonly(),
173
- 'source': z.string().readonly(),
174
- 'provider': z.string().readonly(),
175
- 'modelInvocable': z.boolean().readonly(),
176
- 'userInvocable': z.boolean().readonly(),
177
- 'whenToUse': z.string().readonly().optional(),
178
- 'updatedAt': z.number().readonly().optional(),
179
- 'bodySha': z.string().readonly().optional(),
162
+ 'description': z.string().readonly().describe('Short routing description.'),
163
+ 'source': z.string().readonly().describe('Registration source bucket: project-dsh / project-agents / runtime / user-dsh / user-agents / custom / bundled.'),
164
+ 'provider': z.string().readonly().describe('Provider that owns the skill body (e.g. `filesystem`, `skill-badge`, plugin name).'),
165
+ 'modelInvocable': z.boolean().readonly().describe('Whether the model may load it (in catalog).'),
166
+ 'userInvocable': z.boolean().readonly().describe('Whether a user may invoke it via `/name`.'),
167
+ 'whenToUse': z.string().readonly().optional().describe('Optional extra routing guidance.'),
168
+ 'updatedAt': z.number().readonly().optional().describe('Last-modified time (epoch ms) of the skill body, when a local bundle exists.'),
169
+ 'bodySha': z.string().readonly().optional().describe('sha256 of the skill\'s SKILL.md body — the one part of a skill that IS a capability (the procedure the model executes), carried so the capability fingerprint can be taken from a snapshot alone. Absent when the body could not be read (a remote/opaque skill, or a registry that declines the load).'),
180
170
  })).readonly(),
181
171
  'tools': z.array(z.object({
182
- 'name': z.string().readonly(),
183
- 'description': z.string().readonly(),
184
- 'channel': z.union([z.literal("builtin"), z.literal("plugin"), z.literal("mcp"), z.literal("unknown")]).readonly(),
185
- 'confidence': z.union([z.literal("exact"), z.literal("inferred")]).readonly(),
186
- 'serverName': z.string().readonly().optional(),
187
- 'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema())).readonly()]).readonly().optional(),
188
- 'owner': z.string().readonly().optional(),
172
+ 'name': z.string().readonly().describe('Wire tool name as registered.'),
173
+ 'description': z.string().readonly().describe('Model-facing description.'),
174
+ 'channel': z.union([z.literal("unknown"), z.literal("plugin"), z.literal("builtin"), z.literal("mcp")]).readonly().describe('Attribution result.'),
175
+ 'confidence': z.union([z.literal("exact"), z.literal("inferred")]).readonly().describe('Attribution confidence: exact for prefix/whitelist hits, inferred for baseline-diff hits.'),
176
+ 'serverName': z.string().readonly().optional().describe('MCP server name when channel === \'mcp\' (longest-match resolved).'),
177
+ 'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema())).readonly()]).readonly().optional().describe('Model-facing input parameters (JSON value), for the detail view.'),
178
+ 'owner': z.string().readonly().optional().describe('Registrant package/owner when known.'),
189
179
  })).readonly(),
190
- 'unavailable': z.string().readonly().optional(),
180
+ 'unavailable': z.string().readonly().optional().describe('Why this mode has no face; when set, both lists are empty. Present for a preset discovery already refused and for one whose standing scope would not resolve — neither is evidence that the mode loads nothing.'),
191
181
  })))
192
182
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_pickDirectory_result$schema$value
193
183
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_pickDirectory_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_pickDirectory_result$schema$value ??= z.union([z.literal(null), z.string()]))
@@ -214,8 +204,8 @@ const _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRoster_resu
214
204
  'id': z.string().readonly(),
215
205
  'name': z.string().readonly().optional(),
216
206
  'description': z.string().readonly().optional(),
217
- 'broken': z.string().readonly().optional(),
218
- 'isDefault': z.boolean().readonly().optional(),
207
+ 'broken': z.string().readonly().optional().describe('Why this preset cannot compose a session, when it cannot.'),
208
+ 'isDefault': z.boolean().readonly().optional().describe('Whether a session naming no preset composes this one (the deployment default).'),
219
209
  })))
220
210
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0$schema$value
221
211
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0$schema$value ??= z.object({
@@ -229,26 +219,26 @@ const _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_result$
229
219
  }))
230
220
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeStatus_result$schema$value
231
221
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeStatus_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeStatus_result$schema$value ??= z.object({
232
- 'enabled': z.boolean().readonly(),
233
- 'reason': z.string().readonly().optional(),
234
- 'root': z.string().readonly(),
235
- 'watching': z.boolean().readonly(),
222
+ 'enabled': z.boolean().readonly().describe('Whether any preset is currently served.'),
223
+ 'reason': z.string().readonly().optional().describe('Why delivery is off, or reduced — absent when fully operational.'),
224
+ 'root': z.string().readonly().describe('The plugin-owned root the delivered skills live in.'),
225
+ 'watching': z.boolean().readonly().describe('Whether the managed root is currently watched for changes.'),
236
226
  'skills': z.array(z.object({
237
227
  'name': z.string().readonly(),
238
228
  'description': z.string().readonly(),
239
229
  'modelInvocable': z.boolean().readonly(),
240
230
  'userInvocable': z.boolean().readonly(),
241
- 'path': z.string().readonly(),
242
- 'presets': z.array(z.string()).readonly(),
243
- 'delivered': z.boolean().readonly(),
244
- 'conflict': z.string().readonly().optional(),
231
+ 'path': z.string().readonly().describe('The managed `SKILL.md` path.'),
232
+ 'presets': z.array(z.string()).readonly().describe('The preset ids its frontmatter declares; empty means "every preset".'),
233
+ 'delivered': z.boolean().readonly().describe('Whether a delivery provider currently serves it in at least one preset.'),
234
+ 'conflict': z.string().readonly().optional().describe('The default-root path already supplying this name, when delivery is refused.'),
245
235
  })).readonly(),
246
236
  'presets': z.array(z.object({
247
237
  'presetId': z.string().readonly(),
248
238
  'skills': z.array(z.string()).readonly(),
249
- 'error': z.string().readonly().optional(),
239
+ 'error': z.string().readonly().optional().describe('Why this preset\'s standing scope could not be used.'),
250
240
  })).readonly(),
251
- 'customRootsUnverifiable': z.boolean().readonly(),
241
+ 'customRootsUnverifiable': z.boolean().readonly().describe('True because custom skill roots are configured in host compositions this plugin cannot read: a duplicate there would not be detected.'),
252
242
  }))
253
243
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0$schema$value
254
244
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0$schema$value ??= z.string())
@@ -275,23 +265,23 @@ let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_result$schema$v
275
265
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_result$schema$value ??= z.object({
276
266
  'skills': z.array(z.object({
277
267
  'name': z.string().readonly(),
278
- 'description': z.string().readonly(),
279
- 'source': z.string().readonly(),
280
- 'provider': z.string().readonly(),
281
- 'modelInvocable': z.boolean().readonly(),
282
- 'userInvocable': z.boolean().readonly(),
283
- 'whenToUse': z.string().readonly().optional(),
284
- 'updatedAt': z.number().readonly().optional(),
285
- 'bodySha': z.string().readonly().optional(),
268
+ 'description': z.string().readonly().describe('Short routing description.'),
269
+ 'source': z.string().readonly().describe('Registration source bucket: project-dsh / project-agents / runtime / user-dsh / user-agents / custom / bundled.'),
270
+ 'provider': z.string().readonly().describe('Provider that owns the skill body (e.g. `filesystem`, `skill-badge`, plugin name).'),
271
+ 'modelInvocable': z.boolean().readonly().describe('Whether the model may load it (in catalog).'),
272
+ 'userInvocable': z.boolean().readonly().describe('Whether a user may invoke it via `/name`.'),
273
+ 'whenToUse': z.string().readonly().optional().describe('Optional extra routing guidance.'),
274
+ 'updatedAt': z.number().readonly().optional().describe('Last-modified time (epoch ms) of the skill body, when a local bundle exists.'),
275
+ 'bodySha': z.string().readonly().optional().describe('sha256 of the skill\'s SKILL.md body — the one part of a skill that IS a capability (the procedure the model executes), carried so the capability fingerprint can be taken from a snapshot alone. Absent when the body could not be read (a remote/opaque skill, or a registry that declines the load).'),
286
276
  })).readonly(),
287
277
  'tools': z.array(z.object({
288
- 'name': z.string().readonly(),
289
- 'description': z.string().readonly(),
290
- 'channel': z.union([z.literal("builtin"), z.literal("plugin"), z.literal("mcp"), z.literal("unknown")]).readonly(),
291
- 'confidence': z.union([z.literal("exact"), z.literal("inferred")]).readonly(),
292
- 'serverName': z.string().readonly().optional(),
293
- 'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema2())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema2())).readonly()]).readonly().optional(),
294
- 'owner': z.string().readonly().optional(),
278
+ 'name': z.string().readonly().describe('Wire tool name as registered.'),
279
+ 'description': z.string().readonly().describe('Model-facing description.'),
280
+ 'channel': z.union([z.literal("unknown"), z.literal("plugin"), z.literal("builtin"), z.literal("mcp")]).readonly().describe('Attribution result.'),
281
+ 'confidence': z.union([z.literal("exact"), z.literal("inferred")]).readonly().describe('Attribution confidence: exact for prefix/whitelist hits, inferred for baseline-diff hits.'),
282
+ 'serverName': z.string().readonly().optional().describe('MCP server name when channel === \'mcp\' (longest-match resolved).'),
283
+ 'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema2())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema2())).readonly()]).readonly().optional().describe('Model-facing input parameters (JSON value), for the detail view.'),
284
+ 'owner': z.string().readonly().optional().describe('Registrant package/owner when known.'),
295
285
  })).readonly(),
296
286
  'mcpServers': z.array(z.object({
297
287
  'name': z.string().readonly(),
@@ -301,8 +291,26 @@ const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_result$schema
301
291
  'channel': z.string().readonly(),
302
292
  'count': z.number().readonly(),
303
293
  })).readonly(),
304
- 'sha': z.string().readonly().optional(),
305
- 'preset': z.string().readonly().optional(),
294
+ 'sha': z.string().readonly().optional().describe('The capability hash of this snapshot (`hashOf`), filled by the host half. It is NOT part of the canonical form it digests — a snapshot carrying it and the same snapshot without it hash alike.'),
295
+ 'preset': z.string().readonly().optional().describe('The agent preset this snapshot was taken under; absent when none resolved.'),
296
+ 'completeness': z.object({
297
+ 'skills': z.object({
298
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
299
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
300
+ }).readonly().optional(),
301
+ 'tools': z.object({
302
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
303
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
304
+ }).readonly().optional(),
305
+ 'mcpServers': z.object({
306
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
307
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
308
+ }).readonly().optional(),
309
+ 'channels': z.object({
310
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
311
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
312
+ }).readonly().optional(),
313
+ }).readonly().optional().describe('Evidence-grade per-section completeness, attached only by evidence production (the Remote listing/fingerprint verbs never set it, so their wire form is unchanged). Like `sha`, it is NOT part of the canonical form `hashOf` digests.'),
306
314
  }))
307
315
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0$schema$value
308
316
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0$schema$value ??= z.union([z.undefined(), z.string()]))
@@ -312,23 +320,23 @@ let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_result$schema
312
320
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_result$schema$value ??= z.object({
313
321
  'skills': z.array(z.object({
314
322
  'name': z.string().readonly(),
315
- 'description': z.string().readonly(),
316
- 'source': z.string().readonly(),
317
- 'provider': z.string().readonly(),
318
- 'modelInvocable': z.boolean().readonly(),
319
- 'userInvocable': z.boolean().readonly(),
320
- 'whenToUse': z.string().readonly().optional(),
321
- 'updatedAt': z.number().readonly().optional(),
322
- 'bodySha': z.string().readonly().optional(),
323
+ 'description': z.string().readonly().describe('Short routing description.'),
324
+ 'source': z.string().readonly().describe('Registration source bucket: project-dsh / project-agents / runtime / user-dsh / user-agents / custom / bundled.'),
325
+ 'provider': z.string().readonly().describe('Provider that owns the skill body (e.g. `filesystem`, `skill-badge`, plugin name).'),
326
+ 'modelInvocable': z.boolean().readonly().describe('Whether the model may load it (in catalog).'),
327
+ 'userInvocable': z.boolean().readonly().describe('Whether a user may invoke it via `/name`.'),
328
+ 'whenToUse': z.string().readonly().optional().describe('Optional extra routing guidance.'),
329
+ 'updatedAt': z.number().readonly().optional().describe('Last-modified time (epoch ms) of the skill body, when a local bundle exists.'),
330
+ 'bodySha': z.string().readonly().optional().describe('sha256 of the skill\'s SKILL.md body — the one part of a skill that IS a capability (the procedure the model executes), carried so the capability fingerprint can be taken from a snapshot alone. Absent when the body could not be read (a remote/opaque skill, or a registry that declines the load).'),
323
331
  })).readonly(),
324
332
  'tools': z.array(z.object({
325
- 'name': z.string().readonly(),
326
- 'description': z.string().readonly(),
327
- 'channel': z.union([z.literal("builtin"), z.literal("plugin"), z.literal("mcp"), z.literal("unknown")]).readonly(),
328
- 'confidence': z.union([z.literal("exact"), z.literal("inferred")]).readonly(),
329
- 'serverName': z.string().readonly().optional(),
330
- 'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema3())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema3())).readonly()]).readonly().optional(),
331
- 'owner': z.string().readonly().optional(),
333
+ 'name': z.string().readonly().describe('Wire tool name as registered.'),
334
+ 'description': z.string().readonly().describe('Model-facing description.'),
335
+ 'channel': z.union([z.literal("unknown"), z.literal("plugin"), z.literal("builtin"), z.literal("mcp")]).readonly().describe('Attribution result.'),
336
+ 'confidence': z.union([z.literal("exact"), z.literal("inferred")]).readonly().describe('Attribution confidence: exact for prefix/whitelist hits, inferred for baseline-diff hits.'),
337
+ 'serverName': z.string().readonly().optional().describe('MCP server name when channel === \'mcp\' (longest-match resolved).'),
338
+ 'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema3())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema3())).readonly()]).readonly().optional().describe('Model-facing input parameters (JSON value), for the detail view.'),
339
+ 'owner': z.string().readonly().optional().describe('Registrant package/owner when known.'),
332
340
  })).readonly(),
333
341
  'mcpServers': z.array(z.object({
334
342
  'name': z.string().readonly(),
@@ -338,8 +346,26 @@ const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_result$sche
338
346
  'channel': z.string().readonly(),
339
347
  'count': z.number().readonly(),
340
348
  })).readonly(),
341
- 'sha': z.string().readonly().optional(),
342
- 'preset': z.string().readonly().optional(),
349
+ 'sha': z.string().readonly().optional().describe('The capability hash of this snapshot (`hashOf`), filled by the host half. It is NOT part of the canonical form it digests — a snapshot carrying it and the same snapshot without it hash alike.'),
350
+ 'preset': z.string().readonly().optional().describe('The agent preset this snapshot was taken under; absent when none resolved.'),
351
+ 'completeness': z.object({
352
+ 'skills': z.object({
353
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
354
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
355
+ }).readonly().optional(),
356
+ 'tools': z.object({
357
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
358
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
359
+ }).readonly().optional(),
360
+ 'mcpServers': z.object({
361
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
362
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
363
+ }).readonly().optional(),
364
+ 'channels': z.object({
365
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
366
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
367
+ }).readonly().optional(),
368
+ }).readonly().optional().describe('Evidence-grade per-section completeness, attached only by evidence production (the Remote listing/fingerprint verbs never set it, so their wire form is unchanged). Like `sha`, it is NOT part of the canonical form `hashOf` digests.'),
343
369
  }))
344
370
  let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0$schema$value
345
371
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0$schema$value ??= z.union([z.undefined(), z.string()]))
@@ -349,23 +375,23 @@ let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_result$schem
349
375
  const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_result$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_result$schema$value ??= z.object({
350
376
  'skills': z.array(z.object({
351
377
  'name': z.string().readonly(),
352
- 'description': z.string().readonly(),
353
- 'source': z.string().readonly(),
354
- 'provider': z.string().readonly(),
355
- 'modelInvocable': z.boolean().readonly(),
356
- 'userInvocable': z.boolean().readonly(),
357
- 'whenToUse': z.string().readonly().optional(),
358
- 'updatedAt': z.number().readonly().optional(),
359
- 'bodySha': z.string().readonly().optional(),
378
+ 'description': z.string().readonly().describe('Short routing description.'),
379
+ 'source': z.string().readonly().describe('Registration source bucket: project-dsh / project-agents / runtime / user-dsh / user-agents / custom / bundled.'),
380
+ 'provider': z.string().readonly().describe('Provider that owns the skill body (e.g. `filesystem`, `skill-badge`, plugin name).'),
381
+ 'modelInvocable': z.boolean().readonly().describe('Whether the model may load it (in catalog).'),
382
+ 'userInvocable': z.boolean().readonly().describe('Whether a user may invoke it via `/name`.'),
383
+ 'whenToUse': z.string().readonly().optional().describe('Optional extra routing guidance.'),
384
+ 'updatedAt': z.number().readonly().optional().describe('Last-modified time (epoch ms) of the skill body, when a local bundle exists.'),
385
+ 'bodySha': z.string().readonly().optional().describe('sha256 of the skill\'s SKILL.md body — the one part of a skill that IS a capability (the procedure the model executes), carried so the capability fingerprint can be taken from a snapshot alone. Absent when the body could not be read (a remote/opaque skill, or a registry that declines the load).'),
360
386
  })).readonly(),
361
387
  'tools': z.array(z.object({
362
- 'name': z.string().readonly(),
363
- 'description': z.string().readonly(),
364
- 'channel': z.union([z.literal("builtin"), z.literal("plugin"), z.literal("mcp"), z.literal("unknown")]).readonly(),
365
- 'confidence': z.union([z.literal("exact"), z.literal("inferred")]).readonly(),
366
- 'serverName': z.string().readonly().optional(),
367
- 'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema4())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema4())).readonly()]).readonly().optional(),
368
- 'owner': z.string().readonly().optional(),
388
+ 'name': z.string().readonly().describe('Wire tool name as registered.'),
389
+ 'description': z.string().readonly().describe('Model-facing description.'),
390
+ 'channel': z.union([z.literal("unknown"), z.literal("plugin"), z.literal("builtin"), z.literal("mcp")]).readonly().describe('Attribution result.'),
391
+ 'confidence': z.union([z.literal("exact"), z.literal("inferred")]).readonly().describe('Attribution confidence: exact for prefix/whitelist hits, inferred for baseline-diff hits.'),
392
+ 'serverName': z.string().readonly().optional().describe('MCP server name when channel === \'mcp\' (longest-match resolved).'),
393
+ 'parameters': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => CatalogJsonValueRemoteCodec$schema4())), z.record(z.string(), z.lazy(() => CatalogJsonValueRemoteCodec$schema4())).readonly()]).readonly().optional().describe('Model-facing input parameters (JSON value), for the detail view.'),
394
+ 'owner': z.string().readonly().optional().describe('Registrant package/owner when known.'),
369
395
  })).readonly(),
370
396
  'mcpServers': z.array(z.object({
371
397
  'name': z.string().readonly(),
@@ -375,32 +401,143 @@ const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_result$sch
375
401
  'channel': z.string().readonly(),
376
402
  'count': z.number().readonly(),
377
403
  })).readonly(),
378
- 'sha': z.string().readonly().optional(),
379
- 'preset': z.string().readonly().optional(),
404
+ 'sha': z.string().readonly().optional().describe('The capability hash of this snapshot (`hashOf`), filled by the host half. It is NOT part of the canonical form it digests — a snapshot carrying it and the same snapshot without it hash alike.'),
405
+ 'preset': z.string().readonly().optional().describe('The agent preset this snapshot was taken under; absent when none resolved.'),
406
+ 'completeness': z.object({
407
+ 'skills': z.object({
408
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
409
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
410
+ }).readonly().optional(),
411
+ 'tools': z.object({
412
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
413
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
414
+ }).readonly().optional(),
415
+ 'mcpServers': z.object({
416
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
417
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
418
+ }).readonly().optional(),
419
+ 'channels': z.object({
420
+ 'state': z.union([z.literal("complete"), z.literal("unavailable"), z.literal("partial")]).readonly(),
421
+ 'reason': z.string().readonly().optional().describe('Why the section is not complete; absent when it is.'),
422
+ }).readonly().optional(),
423
+ }).readonly().optional().describe('Evidence-grade per-section completeness, attached only by evidence production (the Remote listing/fingerprint verbs never set it, so their wire form is unchanged). Like `sha`, it is NOT part of the canonical form `hashOf` digests.'),
424
+ }))
425
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0_strict$schema$value
426
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0_strict$schema$value ??= z.strictObject({
427
+ 'channel': z.union([z.literal("zip"), z.literal("github"), z.literal("command")]).readonly(),
428
+ 'payload': z.string().readonly().describe('Base64-encoded zip/tgz bytes for `zip`; opaque for `github`.'),
429
+ 'repo': z.string().readonly().optional().describe('owner/repo, a git URL (a host-prefixed or pasted link and an in-repo subpath resolve to the same clone), or a local dir path for `command`.'),
430
+ 'skills': z.array(z.string()).readonly().optional().describe('Selected skill sub-directory names when `repo` is a multi-skill container dir.'),
431
+ 'modelInvocable': z.boolean().readonly().describe('Whether the added skill is model-invocable (written as disable-model-invocation inversely).'),
432
+ 'root': z.union([z.literal("user"), z.literal("project")]).readonly().describe('Target root: user (`$DSH_HOME/skills`) or project (`.agents/skills`).'),
433
+ 'overwrite': z.boolean().readonly().optional().describe('When true, an existing same-name skill in the target root is replaced instead of prompting.'),
380
434
  }))
435
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0_strict$schema$value
436
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0_strict$schema$value ??= z.string())
437
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_1_strict$schema$value
438
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_1_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_1_strict$schema$value ??= z.union([z.undefined(), z.string()]))
439
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_2_strict$schema$value
440
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_2_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_2_strict$schema$value ??= z.union([z.undefined(), z.string()]))
441
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_0_strict$schema$value
442
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_0_strict$schema$value ??= z.string())
443
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_1_strict$schema$value
444
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_1_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_1_strict$schema$value ??= z.union([z.undefined(), z.string()]))
445
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_2_strict$schema$value
446
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_2_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_2_strict$schema$value ??= z.union([z.undefined(), z.string()]))
447
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0_strict$schema$value
448
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0_strict$schema$value ??= z.string())
449
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0_strict$schema$value
450
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0_strict$schema$value ??= z.strictObject({
451
+ 'serverName': z.string().readonly(),
452
+ 'transport': z.union([z.literal("stdio"), z.literal("streamable-http")]).readonly(),
453
+ 'command': z.string().readonly().optional().describe('stdio'),
454
+ 'args': z.array(z.string()).readonly().optional(),
455
+ 'cwd': z.string().readonly().optional(),
456
+ 'url': z.string().readonly().optional().describe('streamable-http'),
457
+ 'headers': z.array(z.tuple([z.string(), z.string()])).readonly().optional(),
458
+ 'env': z.array(z.tuple([z.string(), z.string()])).readonly().optional().describe('env (value is a secretRef marker if it came from a secret).'),
459
+ 'enabled': z.boolean().readonly().describe('Whether the server is enabled (connected + injected).'),
460
+ }))
461
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_parameter_0_strict$schema$value
462
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_parameter_0_strict$schema$value ??= z.string())
463
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0_strict$schema$value
464
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0_strict$schema$value ??= z.string())
465
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_0_strict$schema$value
466
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_0_strict$schema$value ??= z.string())
467
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_1_strict$schema$value
468
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_1_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_1_strict$schema$value ??= z.string())
469
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_0_strict$schema$value
470
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_0_strict$schema$value ??= z.string())
471
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_1_strict$schema$value
472
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_1_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_1_strict$schema$value ??= z.boolean())
473
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_0_strict$schema$value
474
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_0_strict$schema$value ??= z.string())
475
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_1_strict$schema$value
476
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_1_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_1_strict$schema$value ??= z.string())
477
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_2_strict$schema$value
478
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_2_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_2_strict$schema$value ??= z.boolean())
479
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0_strict$schema$value
480
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0_strict$schema$value ??= z.union([z.undefined(), z.string()]))
481
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_parameter_0_strict$schema$value
482
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_parameter_0_strict$schema$value ??= z.strictObject({
483
+ 'name': z.string().readonly(),
484
+ 'presets': z.array(z.string()).readonly(),
485
+ 'workdir': z.string().readonly().optional(),
486
+ }))
487
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_parameter_0_strict$schema$value
488
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_parameter_0_strict$schema$value ??= z.string())
489
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0_strict$schema$value
490
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0_strict$schema$value ??= z.strictObject({
491
+ 'name': z.string().readonly(),
492
+ 'presets': z.array(z.string()).readonly(),
493
+ }))
494
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0_strict$schema$value
495
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0_strict$schema$value ??= z.string())
496
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_1_strict$schema$value
497
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_1_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_1_strict$schema$value ??= z.string())
498
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_2_strict$schema$value
499
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_2_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_2_strict$schema$value ??= z.union([z.undefined(), z.string()]))
500
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_3_strict$schema$value
501
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_3_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_3_strict$schema$value ??= z.union([z.undefined(), z.string()]))
502
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_parameter_0_strict$schema$value
503
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_parameter_0_strict$schema$value ??= z.strictObject({
504
+ 'key': z.string().readonly(),
505
+ 'value': z.string().readonly(),
506
+ }))
507
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_parameter_0_strict$schema$value
508
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_parameter_0_strict$schema$value ??= z.union([z.undefined(), z.string()]))
509
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0_strict$schema$value
510
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0_strict$schema$value ??= z.union([z.undefined(), z.string()]))
511
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_1_strict$schema$value
512
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_1_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_1_strict$schema$value ??= z.union([z.undefined(), z.string()]))
513
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0_strict$schema$value
514
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0_strict$schema$value ??= z.union([z.undefined(), z.string()]))
515
+ let _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_1_strict$schema$value
516
+ const _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_1_strict$schema = () => (_khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_1_strict$schema$value ??= z.union([z.undefined(), z.string()]))
381
517
 
382
- export const TYPERT = {
518
+ const $remote = createTypertRemoteInfo({
383
519
  package: '@khorsheed/dsh-capability-catalog',
384
- face: 'host',
385
- schemas: [
386
- ],
387
- invocations: [
388
- {
389
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/addSkill',
520
+ methods: {
521
+ 'capabilityCatalog/addSkill': {
390
522
  service: 'capabilityCatalog',
391
- namespace: 'capabilityCatalog',
392
- method: 'addSkill',
393
523
  invocation: { kind: 'direct' },
394
524
  parameters: [
395
525
  {
396
526
  name: 'request',
397
- wire: 'request',
398
527
  source: 'json',
399
528
  codec: {
400
529
  mode: 'strict',
401
530
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogAddSkillRequest',
402
531
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0$schema,
403
532
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0$schema(),
533
+ jsonSchema: {"type":"object","properties":{"channel":{"type":"string","enum":["zip","github","command"]},"payload":{"type":"string","description":"Base64-encoded zip/tgz bytes for `zip`; opaque for `github`."},"repo":{"type":"string","description":"owner/repo, a git URL (a host-prefixed or pasted link and an in-repo subpath resolve to the same clone), or a local dir path for `command`."},"skills":{"type":"array","items":{"type":"string"},"description":"Selected skill sub-directory names when `repo` is a multi-skill container dir."},"modelInvocable":{"type":"boolean","description":"Whether the added skill is model-invocable (written as disable-model-invocation inversely)."},"root":{"type":"string","enum":["user","project"],"description":"Target root: user (`$DSH_HOME/skills`) or project (`.agents/skills`)."},"overwrite":{"type":"boolean","description":"When true, an existing same-name skill in the target root is replaced instead of prompting."}},"required":["channel","payload","modelInvocable","root"],"additionalProperties":true},
534
+ },
535
+ strictCodec: {
536
+ mode: 'strict',
537
+ typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogAddSkillRequest',
538
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0_strict$schema,
539
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_parameter_0_strict$schema(),
540
+ jsonSchema: {"type":"object","properties":{"channel":{"type":"string","enum":["zip","github","command"]},"payload":{"type":"string","description":"Base64-encoded zip/tgz bytes for `zip`; opaque for `github`."},"repo":{"type":"string","description":"owner/repo, a git URL (a host-prefixed or pasted link and an in-repo subpath resolve to the same clone), or a local dir path for `command`."},"skills":{"type":"array","items":{"type":"string"},"description":"Selected skill sub-directory names when `repo` is a multi-skill container dir."},"modelInvocable":{"type":"boolean","description":"Whether the added skill is model-invocable (written as disable-model-invocation inversely)."},"root":{"type":"string","enum":["user","project"],"description":"Target root: user (`$DSH_HOME/skills`) or project (`.agents/skills`)."},"overwrite":{"type":"boolean","description":"When true, an existing same-name skill in the target root is replaced instead of prompting."}},"required":["channel","payload","modelInvocable","root"],"additionalProperties":false},
404
541
  },
405
542
  },
406
543
  ],
@@ -409,30 +546,34 @@ export const TYPERT = {
409
546
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogAddSkillResult',
410
547
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_result$schema,
411
548
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_addSkill_result$schema(),
549
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"name":{"type":"string"},"exists":{"type":"boolean","description":"Set on a soft \"skill already exists\" refusal (ok:false) so the UI can offer overwrite."}},"required":["ok"],"additionalProperties":true},
412
550
  },
413
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":631,"column":9},
551
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":646,"column":9},
414
552
  },
415
- {
416
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/deleteSkill',
553
+ 'capabilityCatalog/deleteSkill': {
417
554
  service: 'capabilityCatalog',
418
- namespace: 'capabilityCatalog',
419
- method: 'deleteSkill',
420
555
  invocation: { kind: 'direct' },
421
556
  parameters: [
422
557
  {
423
558
  name: 'name',
424
- wire: 'name',
425
559
  source: 'json',
426
560
  codec: {
427
561
  mode: 'strict',
428
562
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/deleteSkill:name',
429
563
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0$schema,
430
564
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0$schema(),
565
+ jsonSchema: {"type":"string"},
566
+ },
567
+ strictCodec: {
568
+ mode: 'strict',
569
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/deleteSkill:name',
570
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0_strict$schema,
571
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_0_strict$schema(),
572
+ jsonSchema: {"type":"string"},
431
573
  },
432
574
  },
433
575
  {
434
576
  name: 'workdir',
435
- wire: 'workdir',
436
577
  source: 'json',
437
578
  acceptsUndefined: true,
438
579
  codec: {
@@ -440,11 +581,18 @@ export const TYPERT = {
440
581
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/deleteSkill:workdir',
441
582
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_1$schema,
442
583
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_1$schema(),
584
+ jsonSchema: {"type":"string"},
585
+ },
586
+ strictCodec: {
587
+ mode: 'strict',
588
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/deleteSkill:workdir',
589
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_1_strict$schema,
590
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_1_strict$schema(),
591
+ jsonSchema: {"type":"string"},
443
592
  },
444
593
  },
445
594
  {
446
595
  name: 'presetId',
447
- wire: 'presetId',
448
596
  source: 'json',
449
597
  acceptsUndefined: true,
450
598
  codec: {
@@ -452,6 +600,14 @@ export const TYPERT = {
452
600
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/deleteSkill:presetId',
453
601
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_2$schema,
454
602
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_2$schema(),
603
+ jsonSchema: {"type":"string"},
604
+ },
605
+ strictCodec: {
606
+ mode: 'strict',
607
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/deleteSkill:presetId',
608
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_2_strict$schema,
609
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_parameter_2_strict$schema(),
610
+ jsonSchema: {"type":"string"},
455
611
  },
456
612
  },
457
613
  ],
@@ -460,30 +616,34 @@ export const TYPERT = {
460
616
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogDeleteSkillResult',
461
617
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_result$schema,
462
618
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_deleteSkill_result$schema(),
619
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"}},"required":["ok"],"additionalProperties":true},
463
620
  },
464
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":636,"column":9},
621
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":651,"column":9},
465
622
  },
466
- {
467
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/detail',
623
+ 'capabilityCatalog/detail': {
468
624
  service: 'capabilityCatalog',
469
- namespace: 'capabilityCatalog',
470
- method: 'detail',
471
625
  invocation: { kind: 'direct' },
472
626
  parameters: [
473
627
  {
474
628
  name: 'name',
475
- wire: 'name',
476
629
  source: 'json',
477
630
  codec: {
478
631
  mode: 'strict',
479
632
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/detail:name',
480
633
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_0$schema,
481
634
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_0$schema(),
635
+ jsonSchema: {"type":"string"},
636
+ },
637
+ strictCodec: {
638
+ mode: 'strict',
639
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/detail:name',
640
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_0_strict$schema,
641
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_0_strict$schema(),
642
+ jsonSchema: {"type":"string"},
482
643
  },
483
644
  },
484
645
  {
485
646
  name: 'workdir',
486
- wire: 'workdir',
487
647
  source: 'json',
488
648
  acceptsUndefined: true,
489
649
  codec: {
@@ -491,11 +651,18 @@ export const TYPERT = {
491
651
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/detail:workdir',
492
652
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_1$schema,
493
653
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_1$schema(),
654
+ jsonSchema: {"type":"string"},
655
+ },
656
+ strictCodec: {
657
+ mode: 'strict',
658
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/detail:workdir',
659
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_1_strict$schema,
660
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_1_strict$schema(),
661
+ jsonSchema: {"type":"string"},
494
662
  },
495
663
  },
496
664
  {
497
665
  name: 'presetId',
498
- wire: 'presetId',
499
666
  source: 'json',
500
667
  acceptsUndefined: true,
501
668
  codec: {
@@ -503,6 +670,14 @@ export const TYPERT = {
503
670
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/detail:presetId',
504
671
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_2$schema,
505
672
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_2$schema(),
673
+ jsonSchema: {"type":"string"},
674
+ },
675
+ strictCodec: {
676
+ mode: 'strict',
677
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/detail:presetId',
678
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_2_strict$schema,
679
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_parameter_2_strict$schema(),
680
+ jsonSchema: {"type":"string"},
506
681
  },
507
682
  },
508
683
  ],
@@ -511,25 +686,30 @@ export const TYPERT = {
511
686
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/detail:result',
512
687
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_result$schema,
513
688
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_detail_result$schema(),
689
+ jsonSchemaError: 'typert tool schema: unsupported undefined value',
514
690
  },
515
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":597,"column":9},
691
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":612,"column":9},
516
692
  },
517
- {
518
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/listDirSkills',
693
+ 'capabilityCatalog/listDirSkills': {
519
694
  service: 'capabilityCatalog',
520
- namespace: 'capabilityCatalog',
521
- method: 'listDirSkills',
522
695
  invocation: { kind: 'direct' },
523
696
  parameters: [
524
697
  {
525
698
  name: 'dirPath',
526
- wire: 'dirPath',
527
699
  source: 'json',
528
700
  codec: {
529
701
  mode: 'strict',
530
702
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/listDirSkills:dirPath',
531
703
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0$schema,
532
704
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0$schema(),
705
+ jsonSchema: {"type":"string"},
706
+ },
707
+ strictCodec: {
708
+ mode: 'strict',
709
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/listDirSkills:dirPath',
710
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0_strict$schema,
711
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_parameter_0_strict$schema(),
712
+ jsonSchema: {"type":"string"},
533
713
  },
534
714
  },
535
715
  ],
@@ -538,25 +718,30 @@ export const TYPERT = {
538
718
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/listDirSkills:result',
539
719
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_result$schema,
540
720
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_listDirSkills_result$schema(),
721
+ jsonSchema: {"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"kind":{"type":"string","enum":["self","child"]}},"required":["name","description"],"additionalProperties":true}},
541
722
  },
542
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":621,"column":9},
723
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":636,"column":9},
543
724
  },
544
- {
545
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpAdd',
725
+ 'capabilityCatalog/mcpAdd': {
546
726
  service: 'capabilityCatalog',
547
- namespace: 'capabilityCatalog',
548
- method: 'mcpAdd',
549
727
  invocation: { kind: 'direct' },
550
728
  parameters: [
551
729
  {
552
730
  name: 'config',
553
- wire: 'config',
554
731
  source: 'json',
555
732
  codec: {
556
733
  mode: 'strict',
557
734
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogMcpServerConfig',
558
735
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0$schema,
559
736
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0$schema(),
737
+ jsonSchemaError: 'typert tool schema: unsupported selected tuple type',
738
+ },
739
+ strictCodec: {
740
+ mode: 'strict',
741
+ typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogMcpServerConfig',
742
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0_strict$schema,
743
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_parameter_0_strict$schema(),
744
+ jsonSchemaError: 'typert tool schema: unsupported selected tuple type',
560
745
  },
561
746
  },
562
747
  ],
@@ -565,25 +750,30 @@ export const TYPERT = {
565
750
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpAdd:result',
566
751
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_result$schema,
567
752
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpAdd_result$schema(),
753
+ jsonSchema: {"type":"boolean"},
568
754
  },
569
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":654,"column":9},
755
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":663,"column":9},
570
756
  },
571
- {
572
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpDiscover',
757
+ 'capabilityCatalog/mcpDiscover': {
573
758
  service: 'capabilityCatalog',
574
- namespace: 'capabilityCatalog',
575
- method: 'mcpDiscover',
576
759
  invocation: { kind: 'direct' },
577
760
  parameters: [
578
761
  {
579
762
  name: 'serverName',
580
- wire: 'serverName',
581
763
  source: 'json',
582
764
  codec: {
583
765
  mode: 'strict',
584
766
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpDiscover:serverName',
585
767
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_parameter_0$schema,
586
768
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_parameter_0$schema(),
769
+ jsonSchema: {"type":"string"},
770
+ },
771
+ strictCodec: {
772
+ mode: 'strict',
773
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpDiscover:serverName',
774
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_parameter_0_strict$schema,
775
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_parameter_0_strict$schema(),
776
+ jsonSchema: {"type":"string"},
587
777
  },
588
778
  },
589
779
  ],
@@ -592,41 +782,30 @@ export const TYPERT = {
592
782
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpDiscover:result',
593
783
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_result$schema,
594
784
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpDiscover_result$schema(),
785
+ jsonSchemaError: 'typert tool schema: recursive selected type requires a supported JSON value declaration',
595
786
  },
596
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":687,"column":9},
597
- },
598
- {
599
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpList',
600
- service: 'capabilityCatalog',
601
- namespace: 'capabilityCatalog',
602
- method: 'mcpList',
603
- invocation: { kind: 'direct' },
604
- parameters: [
605
- ],
606
- result: {
607
- mode: 'strict',
608
- typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpList:result',
609
- create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpList_result$schema,
610
- schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpList_result$schema(),
611
- },
612
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":648,"column":9},
787
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":696,"column":9},
613
788
  },
614
- {
615
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpRemove',
789
+ 'capabilityCatalog/mcpRemove': {
616
790
  service: 'capabilityCatalog',
617
- namespace: 'capabilityCatalog',
618
- method: 'mcpRemove',
619
791
  invocation: { kind: 'direct' },
620
792
  parameters: [
621
793
  {
622
794
  name: 'serverName',
623
- wire: 'serverName',
624
795
  source: 'json',
625
796
  codec: {
626
797
  mode: 'strict',
627
798
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpRemove:serverName',
628
799
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0$schema,
629
800
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0$schema(),
801
+ jsonSchema: {"type":"string"},
802
+ },
803
+ strictCodec: {
804
+ mode: 'strict',
805
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpRemove:serverName',
806
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0_strict$schema,
807
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_parameter_0_strict$schema(),
808
+ jsonSchema: {"type":"string"},
630
809
  },
631
810
  },
632
811
  ],
@@ -635,36 +814,48 @@ export const TYPERT = {
635
814
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpRemove:result',
636
815
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_result$schema,
637
816
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpRemove_result$schema(),
817
+ jsonSchema: {"type":"boolean"},
638
818
  },
639
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":662,"column":9},
819
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":671,"column":9},
640
820
  },
641
- {
642
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetCredential',
821
+ 'capabilityCatalog/mcpSetCredential': {
643
822
  service: 'capabilityCatalog',
644
- namespace: 'capabilityCatalog',
645
- method: 'mcpSetCredential',
646
823
  invocation: { kind: 'direct' },
647
824
  parameters: [
648
825
  {
649
826
  name: 'ref',
650
- wire: 'ref',
651
827
  source: 'json',
652
828
  codec: {
653
829
  mode: 'strict',
654
830
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetCredential:ref',
655
831
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_0$schema,
656
832
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_0$schema(),
833
+ jsonSchema: {"type":"string"},
834
+ },
835
+ strictCodec: {
836
+ mode: 'strict',
837
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetCredential:ref',
838
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_0_strict$schema,
839
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_0_strict$schema(),
840
+ jsonSchema: {"type":"string"},
657
841
  },
658
842
  },
659
843
  {
660
844
  name: 'value',
661
- wire: 'value',
662
845
  source: 'json',
663
846
  codec: {
664
847
  mode: 'strict',
665
848
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetCredential:value',
666
849
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_1$schema,
667
850
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_1$schema(),
851
+ jsonSchema: {"type":"string"},
852
+ },
853
+ strictCodec: {
854
+ mode: 'strict',
855
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetCredential:value',
856
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_1_strict$schema,
857
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_parameter_1_strict$schema(),
858
+ jsonSchema: {"type":"string"},
668
859
  },
669
860
  },
670
861
  ],
@@ -673,36 +864,48 @@ export const TYPERT = {
673
864
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetCredential:result',
674
865
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_result$schema,
675
866
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetCredential_result$schema(),
867
+ jsonSchema: {"type":"boolean"},
676
868
  },
677
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":675,"column":9},
869
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":684,"column":9},
678
870
  },
679
- {
680
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetEnabled',
871
+ 'capabilityCatalog/mcpSetEnabled': {
681
872
  service: 'capabilityCatalog',
682
- namespace: 'capabilityCatalog',
683
- method: 'mcpSetEnabled',
684
873
  invocation: { kind: 'direct' },
685
874
  parameters: [
686
875
  {
687
876
  name: 'serverName',
688
- wire: 'serverName',
689
877
  source: 'json',
690
878
  codec: {
691
879
  mode: 'strict',
692
880
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetEnabled:serverName',
693
881
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_0$schema,
694
882
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_0$schema(),
883
+ jsonSchema: {"type":"string"},
884
+ },
885
+ strictCodec: {
886
+ mode: 'strict',
887
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetEnabled:serverName',
888
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_0_strict$schema,
889
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_0_strict$schema(),
890
+ jsonSchema: {"type":"string"},
695
891
  },
696
892
  },
697
893
  {
698
894
  name: 'enabled',
699
- wire: 'enabled',
700
895
  source: 'json',
701
896
  codec: {
702
897
  mode: 'strict',
703
898
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetEnabled:enabled',
704
899
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_1$schema,
705
900
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_1$schema(),
901
+ jsonSchema: {"type":"boolean"},
902
+ },
903
+ strictCodec: {
904
+ mode: 'strict',
905
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetEnabled:enabled',
906
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_1_strict$schema,
907
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_parameter_1_strict$schema(),
908
+ jsonSchema: {"type":"boolean"},
706
909
  },
707
910
  },
708
911
  ],
@@ -711,47 +914,66 @@ export const TYPERT = {
711
914
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetEnabled:result',
712
915
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_result$schema,
713
916
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetEnabled_result$schema(),
917
+ jsonSchemaError: 'typert tool schema: unsupported void value',
714
918
  },
715
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":669,"column":9},
919
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":678,"column":9},
716
920
  },
717
- {
718
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetToolEnabled',
921
+ 'capabilityCatalog/mcpSetToolEnabled': {
719
922
  service: 'capabilityCatalog',
720
- namespace: 'capabilityCatalog',
721
- method: 'mcpSetToolEnabled',
722
923
  invocation: { kind: 'direct' },
723
924
  parameters: [
724
925
  {
725
926
  name: 'serverName',
726
- wire: 'serverName',
727
927
  source: 'json',
728
928
  codec: {
729
929
  mode: 'strict',
730
930
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetToolEnabled:serverName',
731
931
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_0$schema,
732
932
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_0$schema(),
933
+ jsonSchema: {"type":"string"},
934
+ },
935
+ strictCodec: {
936
+ mode: 'strict',
937
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetToolEnabled:serverName',
938
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_0_strict$schema,
939
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_0_strict$schema(),
940
+ jsonSchema: {"type":"string"},
733
941
  },
734
942
  },
735
943
  {
736
944
  name: 'tool',
737
- wire: 'tool',
738
945
  source: 'json',
739
946
  codec: {
740
947
  mode: 'strict',
741
948
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetToolEnabled:tool',
742
949
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_1$schema,
743
950
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_1$schema(),
951
+ jsonSchema: {"type":"string"},
952
+ },
953
+ strictCodec: {
954
+ mode: 'strict',
955
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetToolEnabled:tool',
956
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_1_strict$schema,
957
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_1_strict$schema(),
958
+ jsonSchema: {"type":"string"},
744
959
  },
745
960
  },
746
961
  {
747
962
  name: 'enabled',
748
- wire: 'enabled',
749
963
  source: 'json',
750
964
  codec: {
751
965
  mode: 'strict',
752
966
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetToolEnabled:enabled',
753
967
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_2$schema,
754
968
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_2$schema(),
969
+ jsonSchema: {"type":"boolean"},
970
+ },
971
+ strictCodec: {
972
+ mode: 'strict',
973
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetToolEnabled:enabled',
974
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_2_strict$schema,
975
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_parameter_2_strict$schema(),
976
+ jsonSchema: {"type":"boolean"},
755
977
  },
756
978
  },
757
979
  ],
@@ -760,14 +982,12 @@ export const TYPERT = {
760
982
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSetToolEnabled:result',
761
983
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_result$schema,
762
984
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSetToolEnabled_result$schema(),
985
+ jsonSchemaError: 'typert tool schema: unsupported void value',
763
986
  },
764
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":681,"column":9},
987
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":690,"column":9},
765
988
  },
766
- {
767
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/mcpSnapshot',
989
+ 'capabilityCatalog/mcpSnapshot': {
768
990
  service: 'capabilityCatalog',
769
- namespace: 'capabilityCatalog',
770
- method: 'mcpSnapshot',
771
991
  invocation: { kind: 'direct' },
772
992
  parameters: [
773
993
  ],
@@ -776,19 +996,18 @@ export const TYPERT = {
776
996
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogMcpSnapshot',
777
997
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSnapshot_result$schema,
778
998
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_mcpSnapshot_result$schema(),
999
+ jsonSchemaError: 'typert tool schema: unsupported selected tuple type',
779
1000
  },
780
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":694,"column":9},
1001
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":703,"column":9},
781
1002
  },
782
- {
783
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/modeFaces',
1003
+ 'capabilityCatalog/modeFaces': {
784
1004
  service: 'capabilityCatalog',
785
- namespace: 'capabilityCatalog',
786
- method: 'modeFaces',
1005
+ description: 'Every mode\'s capability face in ONE call, for the cross-mode comparison view ("which modes load this tool/skill?"). This is the expensive verb of the pair: a mode whose standing scope has not been composed yet is MOUNTED by its read (see modes.ts — there is no cheap honest source, because a composition file names plugins, not the tools and skills those plugins register). The browser therefore calls it only when a human chooses to compare modes, never on opening the section. A mode that cannot be read keeps its row with `unavailable` set rather than an empty face, so the comparison never claims that a broken mode loads nothing. `preset` on a face is always the id that was asked for: a read that silently degraded to the global layer is reported as unavailable, not as that mode\'s face.',
787
1006
  invocation: { kind: 'direct' },
788
1007
  parameters: [
789
1008
  {
790
1009
  name: 'workdir',
791
- wire: 'workdir',
1010
+ description: 'optional cwd for project-scoped skill roots.',
792
1011
  source: 'json',
793
1012
  acceptsUndefined: true,
794
1013
  codec: {
@@ -796,6 +1015,14 @@ export const TYPERT = {
796
1015
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/modeFaces:workdir',
797
1016
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0$schema,
798
1017
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0$schema(),
1018
+ jsonSchema: {"type":"string"},
1019
+ },
1020
+ strictCodec: {
1021
+ mode: 'strict',
1022
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/modeFaces:workdir',
1023
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0_strict$schema,
1024
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_parameter_0_strict$schema(),
1025
+ jsonSchema: {"type":"string"},
799
1026
  },
800
1027
  },
801
1028
  ],
@@ -804,14 +1031,12 @@ export const TYPERT = {
804
1031
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/modeFaces:result',
805
1032
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_result$schema,
806
1033
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_modeFaces_result$schema(),
1034
+ jsonSchemaError: 'typert tool schema: recursive selected type requires a supported JSON value declaration',
807
1035
  },
808
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":344,"column":9},
1036
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":351,"column":9},
809
1037
  },
810
- {
811
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/pickDirectory',
1038
+ 'capabilityCatalog/pickDirectory': {
812
1039
  service: 'capabilityCatalog',
813
- namespace: 'capabilityCatalog',
814
- method: 'pickDirectory',
815
1040
  invocation: { kind: 'direct' },
816
1041
  parameters: [
817
1042
  ],
@@ -820,25 +1045,31 @@ export const TYPERT = {
820
1045
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/pickDirectory:result',
821
1046
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_pickDirectory_result$schema,
822
1047
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_pickDirectory_result$schema(),
1048
+ jsonSchema: {"oneOf":[{"type":"null","const":null},{"type":"string"}]},
823
1049
  },
824
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":643,"column":9},
1050
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":658,"column":9},
825
1051
  },
826
- {
827
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/presetScopeAdopt',
1052
+ 'capabilityCatalog/presetScopeAdopt': {
828
1053
  service: 'capabilityCatalog',
829
- namespace: 'capabilityCatalog',
830
- method: 'presetScopeAdopt',
1054
+ description: 'Move an installed skill into the managed root with a preset scope.',
831
1055
  invocation: { kind: 'direct' },
832
1056
  parameters: [
833
1057
  {
834
1058
  name: 'request',
835
- wire: 'request',
836
1059
  source: 'json',
837
1060
  codec: {
838
1061
  mode: 'strict',
839
1062
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogPresetScopeAdoptRequest',
840
1063
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_parameter_0$schema,
841
1064
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_parameter_0$schema(),
1065
+ jsonSchema: {"type":"object","properties":{"name":{"type":"string"},"presets":{"type":"array","items":{"type":"string"}},"workdir":{"type":"string"}},"required":["name","presets"],"additionalProperties":true},
1066
+ },
1067
+ strictCodec: {
1068
+ mode: 'strict',
1069
+ typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogPresetScopeAdoptRequest',
1070
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_parameter_0_strict$schema,
1071
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_parameter_0_strict$schema(),
1072
+ jsonSchema: {"type":"object","properties":{"name":{"type":"string"},"presets":{"type":"array","items":{"type":"string"}},"workdir":{"type":"string"}},"required":["name","presets"],"additionalProperties":false},
842
1073
  },
843
1074
  },
844
1075
  ],
@@ -847,25 +1078,31 @@ export const TYPERT = {
847
1078
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogPresetScopeEditResult',
848
1079
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_result$schema,
849
1080
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeAdopt_result$schema(),
1081
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"}},"required":["ok"],"additionalProperties":true},
850
1082
  },
851
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":383,"column":9},
1083
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":390,"column":9},
852
1084
  },
853
- {
854
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/presetScopeRelease',
1085
+ 'capabilityCatalog/presetScopeRelease': {
855
1086
  service: 'capabilityCatalog',
856
- namespace: 'capabilityCatalog',
857
- method: 'presetScopeRelease',
1087
+ description: 'Move a managed skill back to the user skill root (the recovery direction).',
858
1088
  invocation: { kind: 'direct' },
859
1089
  parameters: [
860
1090
  {
861
1091
  name: 'name',
862
- wire: 'name',
863
1092
  source: 'json',
864
1093
  codec: {
865
1094
  mode: 'strict',
866
1095
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/presetScopeRelease:name',
867
1096
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_parameter_0$schema,
868
1097
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_parameter_0$schema(),
1098
+ jsonSchema: {"type":"string"},
1099
+ },
1100
+ strictCodec: {
1101
+ mode: 'strict',
1102
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/presetScopeRelease:name',
1103
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_parameter_0_strict$schema,
1104
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_parameter_0_strict$schema(),
1105
+ jsonSchema: {"type":"string"},
869
1106
  },
870
1107
  },
871
1108
  ],
@@ -874,14 +1111,13 @@ export const TYPERT = {
874
1111
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogPresetScopeEditResult',
875
1112
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_result$schema,
876
1113
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRelease_result$schema(),
1114
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"}},"required":["ok"],"additionalProperties":true},
877
1115
  },
878
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":393,"column":9},
1116
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":400,"column":9},
879
1117
  },
880
- {
881
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/presetScopeRoster',
1118
+ 'capabilityCatalog/presetScopeRoster': {
882
1119
  service: 'capabilityCatalog',
883
- namespace: 'capabilityCatalog',
884
- method: 'presetScopeRoster',
1120
+ description: 'Every preset the roster supplies, for the scope picker.',
885
1121
  invocation: { kind: 'direct' },
886
1122
  parameters: [
887
1123
  ],
@@ -890,25 +1126,31 @@ export const TYPERT = {
890
1126
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/presetScopeRoster:result',
891
1127
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRoster_result$schema,
892
1128
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeRoster_result$schema(),
1129
+ jsonSchema: {"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"broken":{"type":"string","description":"Why this preset cannot compose a session, when it cannot."},"isDefault":{"type":"boolean","description":"Whether a session naming no preset composes this one (the deployment default)."}},"required":["id"],"additionalProperties":true}},
893
1130
  },
894
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":322,"column":9},
1131
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":329,"column":9},
895
1132
  },
896
- {
897
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/presetScopeSet',
1133
+ 'capabilityCatalog/presetScopeSet': {
898
1134
  service: 'capabilityCatalog',
899
- namespace: 'capabilityCatalog',
900
- method: 'presetScopeSet',
1135
+ description: 'Declare which presets one managed skill is delivered to.',
901
1136
  invocation: { kind: 'direct' },
902
1137
  parameters: [
903
1138
  {
904
1139
  name: 'request',
905
- wire: 'request',
906
1140
  source: 'json',
907
1141
  codec: {
908
1142
  mode: 'strict',
909
1143
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogPresetScopeSetRequest',
910
1144
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0$schema,
911
1145
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0$schema(),
1146
+ jsonSchema: {"type":"object","properties":{"name":{"type":"string"},"presets":{"type":"array","items":{"type":"string"}}},"required":["name","presets"],"additionalProperties":true},
1147
+ },
1148
+ strictCodec: {
1149
+ mode: 'strict',
1150
+ typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogPresetScopeSetRequest',
1151
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0_strict$schema,
1152
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_parameter_0_strict$schema(),
1153
+ jsonSchema: {"type":"object","properties":{"name":{"type":"string"},"presets":{"type":"array","items":{"type":"string"}}},"required":["name","presets"],"additionalProperties":false},
912
1154
  },
913
1155
  },
914
1156
  ],
@@ -917,14 +1159,13 @@ export const TYPERT = {
917
1159
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogPresetScopeEditResult',
918
1160
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_result$schema,
919
1161
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeSet_result$schema(),
1162
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"}},"required":["ok"],"additionalProperties":true},
920
1163
  },
921
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":375,"column":9},
1164
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":382,"column":9},
922
1165
  },
923
- {
924
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/presetScopeStatus',
1166
+ 'capabilityCatalog/presetScopeStatus': {
925
1167
  service: 'capabilityCatalog',
926
- namespace: 'capabilityCatalog',
927
- method: 'presetScopeStatus',
1168
+ description: 'The preset-scoped delivery\'s current state, for the settings surface.',
928
1169
  invocation: { kind: 'direct' },
929
1170
  parameters: [
930
1171
  ],
@@ -933,41 +1174,52 @@ export const TYPERT = {
933
1174
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogPresetScopeStatus',
934
1175
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeStatus_result$schema,
935
1176
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_presetScopeStatus_result$schema(),
1177
+ jsonSchema: {"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether any preset is currently served."},"reason":{"type":"string","description":"Why delivery is off, or reduced — absent when fully operational."},"root":{"type":"string","description":"The plugin-owned root the delivered skills live in."},"watching":{"type":"boolean","description":"Whether the managed root is currently watched for changes."},"skills":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"modelInvocable":{"type":"boolean"},"userInvocable":{"type":"boolean"},"path":{"type":"string","description":"The managed `SKILL.md` path."},"presets":{"type":"array","items":{"type":"string"},"description":"The preset ids its frontmatter declares; empty means \"every preset\"."},"delivered":{"type":"boolean","description":"Whether a delivery provider currently serves it in at least one preset."},"conflict":{"type":"string","description":"The default-root path already supplying this name, when delivery is refused."}},"required":["name","description","modelInvocable","userInvocable","path","presets","delivered"],"additionalProperties":true}},"presets":{"type":"array","items":{"type":"object","properties":{"presetId":{"type":"string"},"skills":{"type":"array","items":{"type":"string"}},"error":{"type":"string","description":"Why this preset's standing scope could not be used."}},"required":["presetId","skills"],"additionalProperties":true}},"customRootsUnverifiable":{"type":"boolean","description":"True because custom skill roots are configured in host compositions this plugin cannot read: a duplicate there would not be detected."}},"required":["enabled","root","watching","skills","presets","customRootsUnverifiable"],"additionalProperties":true},
936
1178
  },
937
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":305,"column":9},
1179
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":312,"column":9},
938
1180
  },
939
- {
940
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile',
1181
+ 'capabilityCatalog/readSkillFile': {
941
1182
  service: 'capabilityCatalog',
942
- namespace: 'capabilityCatalog',
943
- method: 'readSkillFile',
944
1183
  invocation: { kind: 'direct' },
945
1184
  parameters: [
946
1185
  {
947
1186
  name: 'name',
948
- wire: 'name',
949
1187
  source: 'json',
950
1188
  codec: {
951
1189
  mode: 'strict',
952
1190
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:name',
953
1191
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0$schema,
954
1192
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0$schema(),
1193
+ jsonSchema: {"type":"string"},
1194
+ },
1195
+ strictCodec: {
1196
+ mode: 'strict',
1197
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:name',
1198
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0_strict$schema,
1199
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_0_strict$schema(),
1200
+ jsonSchema: {"type":"string"},
955
1201
  },
956
1202
  },
957
1203
  {
958
1204
  name: 'filePath',
959
- wire: 'filePath',
960
1205
  source: 'json',
961
1206
  codec: {
962
1207
  mode: 'strict',
963
1208
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:filePath',
964
1209
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_1$schema,
965
1210
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_1$schema(),
1211
+ jsonSchema: {"type":"string"},
1212
+ },
1213
+ strictCodec: {
1214
+ mode: 'strict',
1215
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:filePath',
1216
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_1_strict$schema,
1217
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_1_strict$schema(),
1218
+ jsonSchema: {"type":"string"},
966
1219
  },
967
1220
  },
968
1221
  {
969
1222
  name: 'workdir',
970
- wire: 'workdir',
971
1223
  source: 'json',
972
1224
  acceptsUndefined: true,
973
1225
  codec: {
@@ -975,11 +1227,18 @@ export const TYPERT = {
975
1227
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:workdir',
976
1228
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_2$schema,
977
1229
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_2$schema(),
1230
+ jsonSchema: {"type":"string"},
1231
+ },
1232
+ strictCodec: {
1233
+ mode: 'strict',
1234
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:workdir',
1235
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_2_strict$schema,
1236
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_2_strict$schema(),
1237
+ jsonSchema: {"type":"string"},
978
1238
  },
979
1239
  },
980
1240
  {
981
1241
  name: 'presetId',
982
- wire: 'presetId',
983
1242
  source: 'json',
984
1243
  acceptsUndefined: true,
985
1244
  codec: {
@@ -987,6 +1246,14 @@ export const TYPERT = {
987
1246
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:presetId',
988
1247
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_3$schema,
989
1248
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_3$schema(),
1249
+ jsonSchema: {"type":"string"},
1250
+ },
1251
+ strictCodec: {
1252
+ mode: 'strict',
1253
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:presetId',
1254
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_3_strict$schema,
1255
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_parameter_3_strict$schema(),
1256
+ jsonSchema: {"type":"string"},
990
1257
  },
991
1258
  },
992
1259
  ],
@@ -995,25 +1262,30 @@ export const TYPERT = {
995
1262
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/readSkillFile:result',
996
1263
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_result$schema,
997
1264
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_readSkillFile_result$schema(),
1265
+ jsonSchemaError: 'typert tool schema: unsupported undefined value',
998
1266
  },
999
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":608,"column":9},
1267
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":623,"column":9},
1000
1268
  },
1001
- {
1002
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/setCredential',
1269
+ 'capabilityCatalog/setCredential': {
1003
1270
  service: 'capabilityCatalog',
1004
- namespace: 'capabilityCatalog',
1005
- method: 'setCredential',
1006
1271
  invocation: { kind: 'direct' },
1007
1272
  parameters: [
1008
1273
  {
1009
1274
  name: 'request',
1010
- wire: 'request',
1011
1275
  source: 'json',
1012
1276
  codec: {
1013
1277
  mode: 'strict',
1014
1278
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogCredentialSetRequest',
1015
1279
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_parameter_0$schema,
1016
1280
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_parameter_0$schema(),
1281
+ jsonSchema: {"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":true},
1282
+ },
1283
+ strictCodec: {
1284
+ mode: 'strict',
1285
+ typeSymbol: '@khorsheed/dsh-capability-catalog/types#CatalogCredentialSetRequest',
1286
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_parameter_0_strict$schema,
1287
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_parameter_0_strict$schema(),
1288
+ jsonSchema: {"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false},
1017
1289
  },
1018
1290
  },
1019
1291
  ],
@@ -1022,19 +1294,16 @@ export const TYPERT = {
1022
1294
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/setCredential:result',
1023
1295
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_result$schema,
1024
1296
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_setCredential_result$schema(),
1297
+ jsonSchema: {"type":"boolean"},
1025
1298
  },
1026
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":626,"column":9},
1299
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":641,"column":9},
1027
1300
  },
1028
- {
1029
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshot',
1301
+ 'capabilityCatalog/snapshot': {
1030
1302
  service: 'capabilityCatalog',
1031
- namespace: 'capabilityCatalog',
1032
- method: 'snapshot',
1033
1303
  invocation: { kind: 'direct' },
1034
1304
  parameters: [
1035
1305
  {
1036
1306
  name: 'workdir',
1037
- wire: 'workdir',
1038
1307
  source: 'json',
1039
1308
  acceptsUndefined: true,
1040
1309
  codec: {
@@ -1042,6 +1311,14 @@ export const TYPERT = {
1042
1311
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshot:workdir',
1043
1312
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_parameter_0$schema,
1044
1313
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_parameter_0$schema(),
1314
+ jsonSchema: {"type":"string"},
1315
+ },
1316
+ strictCodec: {
1317
+ mode: 'strict',
1318
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshot:workdir',
1319
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_parameter_0_strict$schema,
1320
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_parameter_0_strict$schema(),
1321
+ jsonSchema: {"type":"string"},
1045
1322
  },
1046
1323
  },
1047
1324
  ],
@@ -1050,19 +1327,18 @@ export const TYPERT = {
1050
1327
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CapabilityCatalogSnapshot',
1051
1328
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_result$schema,
1052
1329
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshot_result$schema(),
1330
+ jsonSchemaError: 'typert tool schema: recursive selected type requires a supported JSON value declaration',
1053
1331
  },
1054
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":516,"column":9},
1332
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":531,"column":9},
1055
1333
  },
1056
- {
1057
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotAt',
1334
+ 'capabilityCatalog/snapshotAt': {
1058
1335
  service: 'capabilityCatalog',
1059
- namespace: 'capabilityCatalog',
1060
- method: 'snapshotAt',
1336
+ description: 'The capability face of ONE mode as a LISTING — {@link snapshot} scoped to a named preset, for the settings surface\'s mode picker. The LISTING/FINGERPRINT split matters here the way it does everywhere else: a viewer wants rows as fast as the registries can produce them, not every skill body loaded and digested. Asking for a preset\'s IDENTITY is {@link snapshotFor}. Like every scope resolution, this MOUNTS a preset nothing has composed yet. Degrades like {@link snapshot}: a preset whose standing scope refuses answers with the global layer and NO `preset` stamp, which is how a caller tells "this mode" from "the fallback" and says so.',
1061
1337
  invocation: { kind: 'direct' },
1062
1338
  parameters: [
1063
1339
  {
1064
1340
  name: 'presetId',
1065
- wire: 'presetId',
1341
+ description: 'the mode to read, or undefined for the deployment default.',
1066
1342
  source: 'json',
1067
1343
  acceptsUndefined: true,
1068
1344
  codec: {
@@ -1070,11 +1346,19 @@ export const TYPERT = {
1070
1346
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotAt:presetId',
1071
1347
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0$schema,
1072
1348
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0$schema(),
1349
+ jsonSchema: {"type":"string"},
1350
+ },
1351
+ strictCodec: {
1352
+ mode: 'strict',
1353
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotAt:presetId',
1354
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0_strict$schema,
1355
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_0_strict$schema(),
1356
+ jsonSchema: {"type":"string"},
1073
1357
  },
1074
1358
  },
1075
1359
  {
1076
1360
  name: 'workdir',
1077
- wire: 'workdir',
1361
+ description: 'optional cwd for project-scoped skill roots.',
1078
1362
  source: 'json',
1079
1363
  acceptsUndefined: true,
1080
1364
  codec: {
@@ -1082,6 +1366,14 @@ export const TYPERT = {
1082
1366
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotAt:workdir',
1083
1367
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_1$schema,
1084
1368
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_1$schema(),
1369
+ jsonSchema: {"type":"string"},
1370
+ },
1371
+ strictCodec: {
1372
+ mode: 'strict',
1373
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotAt:workdir',
1374
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_1_strict$schema,
1375
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_parameter_1_strict$schema(),
1376
+ jsonSchema: {"type":"string"},
1085
1377
  },
1086
1378
  },
1087
1379
  ],
@@ -1090,19 +1382,18 @@ export const TYPERT = {
1090
1382
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CapabilityCatalogSnapshot',
1091
1383
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_result$schema,
1092
1384
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotAt_result$schema(),
1385
+ jsonSchemaError: 'typert tool schema: recursive selected type requires a supported JSON value declaration',
1093
1386
  },
1094
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":537,"column":9},
1387
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":552,"column":9},
1095
1388
  },
1096
- {
1097
- id: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotFor',
1389
+ 'capabilityCatalog/snapshotFor': {
1098
1390
  service: 'capabilityCatalog',
1099
- namespace: 'capabilityCatalog',
1100
- method: 'snapshotFor',
1391
+ description: 'The capability face of ONE preset, with its {@link hashOf} digest. This is the fingerprint verb: every skill body is loaded (so the rows carry `bodySha`) and `sha` is stamped, which is what makes the answer an identity rather than a listing. `presetId` omitted reads the deployment default — the same face `snapshot` reads, now hashable. Degrades like every other verb: without a skills registry the answer is an empty face with the hash of an empty face, not a throw. Note that a preset nobody has composed yet is MOUNTED by the read (the roster\'s single-flight standing mount), so asking is not free.',
1101
1392
  invocation: { kind: 'direct' },
1102
1393
  parameters: [
1103
1394
  {
1104
1395
  name: 'presetId',
1105
- wire: 'presetId',
1396
+ description: 'the preset to fingerprint, or undefined for the default.',
1106
1397
  source: 'json',
1107
1398
  acceptsUndefined: true,
1108
1399
  codec: {
@@ -1110,11 +1401,19 @@ export const TYPERT = {
1110
1401
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotFor:presetId',
1111
1402
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0$schema,
1112
1403
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0$schema(),
1404
+ jsonSchema: {"type":"string"},
1405
+ },
1406
+ strictCodec: {
1407
+ mode: 'strict',
1408
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotFor:presetId',
1409
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0_strict$schema,
1410
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_0_strict$schema(),
1411
+ jsonSchema: {"type":"string"},
1113
1412
  },
1114
1413
  },
1115
1414
  {
1116
1415
  name: 'workdir',
1117
- wire: 'workdir',
1416
+ description: 'optional cwd for project-scoped skill roots.',
1118
1417
  source: 'json',
1119
1418
  acceptsUndefined: true,
1120
1419
  codec: {
@@ -1122,6 +1421,14 @@ export const TYPERT = {
1122
1421
  typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotFor:workdir',
1123
1422
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_1$schema,
1124
1423
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_1$schema(),
1424
+ jsonSchema: {"type":"string"},
1425
+ },
1426
+ strictCodec: {
1427
+ mode: 'strict',
1428
+ typeSymbol: '@khorsheed/dsh-capability-catalog#capabilityCatalog/snapshotFor:workdir',
1429
+ create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_1_strict$schema,
1430
+ schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_parameter_1_strict$schema(),
1431
+ jsonSchema: {"type":"string"},
1125
1432
  },
1126
1433
  },
1127
1434
  ],
@@ -1130,10 +1437,19 @@ export const TYPERT = {
1130
1437
  typeSymbol: '@khorsheed/dsh-capability-catalog/types#CapabilityCatalogSnapshot',
1131
1438
  create: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_result$schema,
1132
1439
  schema: _khorsheed_dsh_capability_catalog_capabilityCatalog_snapshotFor_result$schema(),
1440
+ jsonSchemaError: 'typert tool schema: recursive selected type requires a supported JSON value declaration',
1133
1441
  },
1134
- sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":557,"column":9},
1442
+ sourceLocation: {"file":"packages/capability-catalog/src/index.ts","line":572,"column":9},
1135
1443
  },
1444
+ },
1445
+ }, z)
1446
+
1447
+ export const TYPERT = {
1448
+ package: '@khorsheed/dsh-capability-catalog',
1449
+ face: 'host',
1450
+ schemas: [
1136
1451
  ],
1452
+ get invocations() { return $remote.descriptors },
1137
1453
  model: {
1138
1454
  "services": [
1139
1455
  {
@@ -1250,11 +1566,6 @@ export const TYPERT = {
1250
1566
  "name": "pickDirectory",
1251
1567
  "signature": "@Remote('pickDirectory') async pickDirectory(): Promise<string | null>"
1252
1568
  },
1253
- {
1254
- "kind": "method",
1255
- "name": "mcpList",
1256
- "signature": "@Remote('mcpList') async mcpList(): Promise<readonly CatalogMcpServerConfig[]>"
1257
- },
1258
1569
  {
1259
1570
  "kind": "method",
1260
1571
  "name": "mcpAdd",
@@ -1298,7 +1609,7 @@ export const TYPERT = {
1298
1609
  },
1299
1610
  {
1300
1611
  "name": "CapabilityCatalogSnapshot",
1301
- "declaration": "export interface CapabilityCatalogSnapshot {\n readonly skills: readonly CatalogSkillRow[];\n readonly tools: readonly CatalogToolRow[];\n readonly mcpServers: readonly CatalogMcpServerRow[];\n readonly channels: readonly CatalogChannelSummary[];\n readonly sha?: string;\n readonly preset?: string;\n}"
1612
+ "declaration": "export interface CapabilityCatalogSnapshot {\n readonly skills: readonly CatalogSkillRow[];\n readonly tools: readonly CatalogToolRow[];\n readonly mcpServers: readonly CatalogMcpServerRow[];\n readonly channels: readonly CatalogChannelSummary[];\n readonly sha?: string;\n readonly preset?: string;\n readonly completeness?: CatalogSnapshotCompleteness;\n}"
1302
1613
  },
1303
1614
  {
1304
1615
  "name": "CatalogAddSkillRequest",
@@ -1384,6 +1695,10 @@ export const TYPERT = {
1384
1695
  "name": "CatalogScopedSkillRow",
1385
1696
  "declaration": "export interface CatalogScopedSkillRow {\n readonly name: string;\n readonly description: string;\n readonly modelInvocable: boolean;\n readonly userInvocable: boolean;\n readonly path: string;\n readonly presets: readonly string[];\n readonly delivered: boolean;\n readonly conflict?: string;\n}"
1386
1697
  },
1698
+ {
1699
+ "name": "CatalogSectionCompleteness",
1700
+ "declaration": "export interface CatalogSectionCompleteness {\n readonly state: 'complete' | 'partial' | 'unavailable';\n readonly reason?: string;\n}"
1701
+ },
1387
1702
  {
1388
1703
  "name": "CatalogSkillDetail",
1389
1704
  "declaration": "export interface CatalogSkillDetail {\n readonly name: string;\n readonly description: string;\n readonly source: string;\n readonly provider: string;\n readonly modelInvocable: boolean;\n readonly userInvocable: boolean;\n readonly path?: string;\n readonly whenToUse?: string;\n readonly content: string;\n readonly metadataText?: string;\n readonly credentials?: readonly CatalogCredentialState[];\n readonly environmentRefs?: readonly string[];\n readonly files?: readonly string[];\n}"
@@ -1396,6 +1711,10 @@ export const TYPERT = {
1396
1711
  "name": "CatalogSkillRow",
1397
1712
  "declaration": "export interface CatalogSkillRow {\n readonly name: string;\n readonly description: string;\n readonly source: string;\n readonly provider: string;\n readonly modelInvocable: boolean;\n readonly userInvocable: boolean;\n readonly whenToUse?: string;\n readonly updatedAt?: number;\n readonly bodySha?: string;\n}"
1398
1713
  },
1714
+ {
1715
+ "name": "CatalogSnapshotCompleteness",
1716
+ "declaration": "export interface CatalogSnapshotCompleteness {\n readonly skills?: CatalogSectionCompleteness;\n readonly tools?: CatalogSectionCompleteness;\n readonly mcpServers?: CatalogSectionCompleteness;\n readonly channels?: CatalogSectionCompleteness;\n}"
1717
+ },
1399
1718
  {
1400
1719
  "name": "CatalogToolChannel",
1401
1720
  "declaration": "export type CatalogToolChannel = 'builtin' | 'plugin' | 'mcp' | 'unknown';"