@deepseek-ai/dsh-plugin-manager 0.2.1-alpha.1 → 0.2.1-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,10 @@
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 _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0$schema$value
5
- const _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0$schema$value ??= z.intersection(z.string(), z.unknown()))
7
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0$schema$value ??= z.string())
6
8
  let _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_result$schema$value
7
9
  const _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_result$schema$value ??= z.object({
8
10
  'status': z.union([z.literal("cancelled"), z.literal("not-running"), z.literal("too-late")]).readonly(),
@@ -11,7 +13,7 @@ let _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_0$schema$val
11
13
  const _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_0$schema$value ??= z.string())
12
14
  let _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_1$schema$value
13
15
  const _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_1$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_1$schema$value ??= z.union([z.undefined(), z.object({
14
- 'registry': z.union([z.literal(null), z.string()]).readonly().optional(),
16
+ 'registry': z.union([z.literal(null), z.string()]).readonly().optional().describe('The registry asked first; absent, the configured one.'),
15
17
  })]))
16
18
  let _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_result$schema$value
17
19
  const _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_inspect_result$schema$value ??= z.union([z.object({
@@ -19,150 +21,156 @@ const _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_result$schema = () =
19
21
  'kind': z.union([z.literal("registry"), z.literal("path"), z.literal("git"), z.literal("tarball")]).readonly(),
20
22
  'name': z.string().readonly().optional(),
21
23
  'version': z.string().readonly().optional(),
22
- 'description': z.string().readonly().optional(),
23
- 'bundle': z.union([z.literal(null), z.literal(false), z.literal(true)]).readonly(),
24
- 'registry': z.union([z.literal(null), z.string()]).readonly(),
25
- 'host': z.string().readonly().optional(),
24
+ 'description': z.string().readonly().optional().describe('`description` of the package manifest.'),
25
+ 'bundle': z.union([z.literal(null), z.literal(false), z.literal(true)]).readonly().describe('Whether the package declares a bundle patch; null when the spec\'s form does not say.'),
26
+ 'registry': z.union([z.literal(null), z.string()]).readonly().describe('The registry that answered for a name, and for the other forms the one an install of the spec asks first.'),
27
+ 'host': z.string().readonly().optional().describe('The host a git spec or a tarball URL is fetched from, which no registry stands in for.'),
26
28
  }), z.object({
27
29
  'status': z.literal("refused").readonly(),
28
- 'problem': z.union([z.literal("network"), z.literal("unknown"), z.literal("invalid-spec"), z.literal("not-found"), z.literal("already-installed"), z.literal("not-a-package"), z.literal("not-a-bundle")]).readonly(),
29
- 'reason': z.string().readonly(),
30
- 'registries': z.array(z.union([z.literal(null), z.string()])).readonly().optional(),
30
+ 'problem': z.union([z.literal("network"), z.literal("unknown"), z.literal("invalid-spec"), z.literal("already-installed"), z.literal("not-found"), z.literal("not-a-package"), z.literal("not-a-bundle")]).readonly(),
31
+ 'reason': z.string().readonly().describe('What pnpm, the registry, or the file system said.'),
32
+ 'registries': z.array(z.union([z.literal(null), z.string()])).readonly().optional().describe('The registries asked, in order, when the refusal came from asking them; `reason` is the last one\'s.'),
31
33
  })]))
32
34
  let _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_0$schema$value
33
35
  const _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_0$schema$value ??= z.string())
34
36
  let _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_1$schema$value
35
37
  const _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_1$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_1$schema$value ??= z.union([z.undefined(), z.object({
36
38
  'enabled': z.boolean().optional(),
37
- 'requestId': z.intersection(z.string(), z.unknown()).optional(),
38
- 'approvedBuilds': z.array(z.string()).optional(),
39
- 'registry': z.union([z.literal(null), z.string()]).optional(),
39
+ 'saveExact': z.boolean().optional().describe('Save the resolved dependency version without a range; applies to any bundle installation.'),
40
+ 'requestId': z.string().optional(),
41
+ 'approvedBuilds': z.array(z.string()).optional().describe('Explicitly allow these pending packages\' scripts for this profile, then install; a name no longer pending refuses the call.'),
42
+ 'registry': z.union([z.literal(null), z.string()]).optional().describe('The registry asked first; absent, the configured one. The configured fallbacks follow while a registry is unreachable or stale.'),
40
43
  })]))
41
44
  let _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_result$schema$value
42
45
  const _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_result$schema$value ??= z.object({
43
46
  'changed': z.boolean(),
44
- 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]),
45
- 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]),
47
+ 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]).describe('`cancelled` is an installation the caller stopped, its files restored.'),
48
+ 'restartReason': z.union([z.literal("no-hmr"), z.literal("package-moved"), z.literal("host-module"), z.literal("unmanaged-plugin"), z.literal("module-comparison")]).optional().describe('Present with `restart-required`: why the change takes effect only at the next start.'),
49
+ 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]).describe('Last attempted step; successful installation can proceed to enablement.'),
46
50
  'target': z.string(),
47
51
  'enabled': z.boolean().optional(),
48
52
  'error': z.object({
49
- 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
53
+ 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("already-installed"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
50
54
  'diagnostic': z.string().optional(),
51
55
  'incompatible': z.array(z.object({
52
56
  'name': z.string(),
53
57
  'version': z.string(),
54
58
  'runtimeVersion': z.string(),
55
- 'peers': z.record(z.string(), z.string()),
56
- })).optional(),
59
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
60
+ })).optional().describe('Present with `incompatible-version`: the packages the running DSH version rejects.'),
57
61
  }).optional(),
58
- 'warnings': z.array(z.string()).optional(),
62
+ 'warnings': z.array(z.string()).optional().describe('Pre-existing inactive entries the operation left as they were.'),
59
63
  'packageResult': z.object({
60
64
  'exitCode': z.number(),
61
65
  'output': z.string(),
62
66
  'truncated': z.boolean(),
63
67
  'logPath': z.string(),
64
- 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional(),
65
- 'timedOut': z.boolean().optional(),
68
+ 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional().describe('Present when the run failed: what kind of failure its exit and output describe.'),
69
+ 'timedOut': z.boolean().optional().describe('The manager terminated the run after it printed nothing for its silence bound; `exitCode` still reports how it ended.'),
66
70
  'incompatible': z.array(z.object({
67
71
  'name': z.string(),
68
72
  'version': z.string(),
69
73
  'runtimeVersion': z.string(),
70
- 'peers': z.record(z.string(), z.string()),
71
- })).optional(),
74
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
75
+ })).optional().describe('Present when a compatibility check refused the run: the packages the running DSH version rejects.'),
72
76
  }).optional(),
73
- 'bundle': z.string().optional(),
74
- 'version': z.string().optional(),
75
- 'pendingBuilds': z.array(z.string()).optional(),
76
- 'approvedBuilds': z.array(z.string()).optional(),
77
- 'registries': z.array(z.union([z.literal(null), z.string()])).optional(),
78
- 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional(),
77
+ 'bundle': z.string().optional().describe('The bundle an installation added, once pnpm and the bundle check accepted it.'),
78
+ 'version': z.string().optional().describe('The installed bundle\'s manifest version, when declared; pnpm\'s `minimumReleaseAge` can make it older than the newest release.'),
79
+ 'pendingBuilds': z.array(z.string()).optional().describe('Exact package names awaiting explicit script approval in the profile\'s pnpm settings, read after a failed run.'),
80
+ 'approvedBuilds': z.array(z.string()).optional().describe('Package script permissions saved before this installation attempt.'),
81
+ 'registries': z.array(z.union([z.literal(null), z.string()])).optional().describe('The registries the installation asked, in order; `packageResult` is the last one\'s run.'),
82
+ 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional().describe('What the last failed run could not reach or get an answer from: the registry it asked, or the host a git or tarball spec is fetched from, which no registry stands in for; absent for a failure neither explains.'),
79
83
  }))
80
84
  let _deepseek_ai_dsh_plugin_manager_pluginManager_listBundles_result$schema$value
81
85
  const _deepseek_ai_dsh_plugin_manager_pluginManager_listBundles_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_listBundles_result$schema$value ??= z.array(z.object({
82
86
  'name': z.string(),
87
+ 'official': z.boolean().describe('Project-maintained shipped optional bundle or on-demand catalog entry, independent of installation and selection.'),
88
+ 'availability': z.union([z.literal("profile"), z.literal("installation"), z.literal("missing")]).describe('Readable package location; on-demand catalog entries exclude undeclared transitive copies, and declared files may be missing.'),
89
+ 'installTarget': z.object({
90
+ 'spec': z.string(),
91
+ 'version': z.string(),
92
+ }).optional().describe('Exact released Host version or same-checkout development link offered for an on-demand catalog entry.'),
83
93
  'version': z.string().optional(),
84
94
  'meta': z.object({
85
95
  'title': z.union([z.string(), z.intersection(z.object({
86
96
  'en': z.string().readonly(),
87
- }), z.record(z.string(), z.string()).readonly())]).readonly().optional(),
97
+ }), z.record(z.string(), z.string()).readonly())]).readonly().optional().describe('Display title; omission preserves the consumer\'s technical-name fallback.'),
88
98
  'description': z.union([z.string(), z.intersection(z.object({
89
99
  'en': z.string().readonly(),
90
- }), z.record(z.string(), z.string()).readonly())]).readonly().optional(),
91
- 'icon': z.string().readonly().optional(),
92
- 'error': z.string().readonly().optional(),
93
- }).optional(),
94
- 'description': z.string().optional(),
95
- 'enabled': z.boolean(),
96
- 'installed': z.boolean(),
97
- 'source': z.string().optional(),
98
- 'optional': z.boolean(),
100
+ }), z.record(z.string(), z.string()).readonly())]).readonly().optional().describe('Display introduction after locale and package-field fallback.'),
101
+ 'icon': z.string().readonly().optional().describe('Base64 image data URL from a package root\'s manifest icon or an exported `<specifier>/icon`; render as an image, not inline markup.'),
102
+ 'error': z.string().readonly().optional().describe('Unmodified local metadata diagnostic; the plugin remains manageable.'),
103
+ }).optional().describe('Local display text with available translations or literal fallbacks, or a metadata diagnostic.'),
104
+ 'description': z.string().optional().describe('Untranslated `description` of this bundle\'s package manifest.'),
105
+ 'enabled': z.boolean().describe('Selected in the profile manifest; a load error means its layer was skipped.'),
106
+ 'installed': z.boolean().describe('Whether the profile declares this dependency; availability separately reports whether its files can be read.'),
107
+ 'source': z.string().optional().describe('Present for a profile dependency the installation does not also supply: the spec `pnpm add` accepts, with local paths made absolute and the user information of an http(s) URL removed.'),
108
+ 'optional': z.boolean().describe('Whether the installation ships the bundle for the person to switch on: named by the launcher\'s `OPTIONAL_BUNDLES`, held by the installation\'s dependencies, selected by no shipped template, and never removable.'),
99
109
  'removable': z.boolean(),
100
110
  'readOnlyReason': z.union([z.literal("management-required"), z.literal("unaddressable")]).optional(),
101
111
  'error': z.object({
102
- 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
112
+ 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("already-installed"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
103
113
  'diagnostic': z.string().optional(),
104
114
  'incompatible': z.array(z.object({
105
115
  'name': z.string(),
106
116
  'version': z.string(),
107
117
  'runtimeVersion': z.string(),
108
- 'peers': z.record(z.string(), z.string()),
109
- })).optional(),
118
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
119
+ })).optional().describe('Present with `incompatible-version`: the packages the running DSH version rejects.'),
110
120
  }).optional(),
111
121
  'rows': z.array(z.object({
112
- 'rowId': z.string(),
113
- 'moduleName': z.string(),
122
+ 'rowId': z.string().describe('The row id as the patch declares it.'),
123
+ 'moduleName': z.string().describe('The module the row names.'),
114
124
  'meta': z.object({
115
125
  'title': z.union([z.string(), z.intersection(z.object({
116
126
  'en': z.string().readonly(),
117
- }), z.record(z.string(), z.string()).readonly())]).readonly().optional(),
127
+ }), z.record(z.string(), z.string()).readonly())]).readonly().optional().describe('Display title; omission preserves the consumer\'s technical-name fallback.'),
118
128
  'description': z.union([z.string(), z.intersection(z.object({
119
129
  'en': z.string().readonly(),
120
- }), z.record(z.string(), z.string()).readonly())]).readonly().optional(),
121
- 'icon': z.string().readonly().optional(),
122
- 'error': z.string().readonly().optional(),
123
- }).optional(),
124
- 'entryId': z.intersection(z.string(), z.unknown()).optional(),
125
- })),
126
- 'overrides': z.array(z.string()),
130
+ }), z.record(z.string(), z.string()).readonly())]).readonly().optional().describe('Display introduction after locale and package-field fallback.'),
131
+ 'icon': z.string().readonly().optional().describe('Base64 image data URL from a package root\'s manifest icon or an exported `<specifier>/icon`; render as an image, not inline markup.'),
132
+ 'error': z.string().readonly().optional().describe('Unmodified local metadata diagnostic; the plugin remains manageable.'),
133
+ }).optional().describe('Local package display metadata, including rows whose bundle is disabled.'),
134
+ 'entryId': z.string().optional().describe('The Loader entry carrying this row, when exactly one live entry has its id.'),
135
+ })).describe('The rows the bundle\'s patch inserts, in declaration order; empty when the patch cannot be read.'),
136
+ 'overrides': z.array(z.string()).describe('Ids of rows the bundle\'s patch changes without declaring them: the built-in rows it configures or disables.'),
127
137
  })))
128
138
  let _deepseek_ai_dsh_plugin_manager_pluginManager_listPlugins_result$schema$value
129
- const _deepseek_ai_dsh_plugin_manager_pluginManager_listPlugins_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_listPlugins_result$schema$value ??= z.array(z.union([z.intersection(z.object({
130
- 'entryId': z.intersection(z.string(), z.unknown()).readonly(),
131
- 'moduleName': z.string().readonly(),
139
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_listPlugins_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_listPlugins_result$schema$value ??= z.array(z.union([z.object({
140
+ 'entryId': z.string().readonly(),
141
+ 'moduleName': z.string().readonly().describe('Exact module specifier imported by the Loader entry.'),
132
142
  'meta': z.object({
133
143
  'title': z.union([z.string(), z.intersection(z.object({
134
144
  'en': z.string().readonly(),
135
- }), z.record(z.string(), z.string()).readonly())]).readonly().optional(),
145
+ }), z.record(z.string(), z.string()).readonly())]).readonly().optional().describe('Display title; omission preserves the consumer\'s technical-name fallback.'),
136
146
  'description': z.union([z.string(), z.intersection(z.object({
137
147
  'en': z.string().readonly(),
138
- }), z.record(z.string(), z.string()).readonly())]).readonly().optional(),
139
- 'icon': z.string().readonly().optional(),
140
- 'error': z.string().readonly().optional(),
141
- }).readonly().optional(),
142
- 'enabled': z.boolean().readonly(),
148
+ }), z.record(z.string(), z.string()).readonly())]).readonly().optional().describe('Display introduction after locale and package-field fallback.'),
149
+ 'icon': z.string().readonly().optional().describe('Base64 image data URL from a package root\'s manifest icon or an exported `<specifier>/icon`; render as an image, not inline markup.'),
150
+ 'error': z.string().readonly().optional().describe('Unmodified local metadata diagnostic; the plugin remains manageable.'),
151
+ }).readonly().optional().describe('Local package display metadata, independent of whether the entry is enabled.'),
152
+ 'enabled': z.boolean().readonly().describe('Effective Loader enablement, including disabled ancestor groups.'),
143
153
  'fiberPhase': z.union([z.literal(null), z.literal("failed"), z.literal("pending"), z.literal("active"), z.literal("loading"), z.literal("unloading")]).readonly(),
144
- }), z.object({
145
154
  'patchId': z.string(),
146
155
  'readOnlyReason': z.never().optional(),
147
- })), z.intersection(z.object({
148
- 'entryId': z.intersection(z.string(), z.unknown()).readonly(),
149
- 'moduleName': z.string().readonly(),
156
+ }), z.object({
157
+ 'entryId': z.string().readonly(),
158
+ 'moduleName': z.string().readonly().describe('Exact module specifier imported by the Loader entry.'),
150
159
  'meta': z.object({
151
160
  'title': z.union([z.string(), z.intersection(z.object({
152
161
  'en': z.string().readonly(),
153
- }), z.record(z.string(), z.string()).readonly())]).readonly().optional(),
162
+ }), z.record(z.string(), z.string()).readonly())]).readonly().optional().describe('Display title; omission preserves the consumer\'s technical-name fallback.'),
154
163
  'description': z.union([z.string(), z.intersection(z.object({
155
164
  'en': z.string().readonly(),
156
- }), z.record(z.string(), z.string()).readonly())]).readonly().optional(),
157
- 'icon': z.string().readonly().optional(),
158
- 'error': z.string().readonly().optional(),
159
- }).readonly().optional(),
160
- 'enabled': z.boolean().readonly(),
165
+ }), z.record(z.string(), z.string()).readonly())]).readonly().optional().describe('Display introduction after locale and package-field fallback.'),
166
+ 'icon': z.string().readonly().optional().describe('Base64 image data URL from a package root\'s manifest icon or an exported `<specifier>/icon`; render as an image, not inline markup.'),
167
+ 'error': z.string().readonly().optional().describe('Unmodified local metadata diagnostic; the plugin remains manageable.'),
168
+ }).readonly().optional().describe('Local package display metadata, independent of whether the entry is enabled.'),
169
+ 'enabled': z.boolean().readonly().describe('Effective Loader enablement, including disabled ancestor groups.'),
161
170
  'fiberPhase': z.union([z.literal(null), z.literal("failed"), z.literal("pending"), z.literal("active"), z.literal("loading"), z.literal("unloading")]).readonly(),
162
- }), z.object({
163
171
  'patchId': z.never().optional(),
164
172
  'readOnlyReason': z.union([z.literal("management-required"), z.literal("unaddressable")]),
165
- }))])))
173
+ })])))
166
174
  let _deepseek_ai_dsh_plugin_manager_pluginManager_listVersionExemptions_result$schema$value
167
175
  const _deepseek_ai_dsh_plugin_manager_pluginManager_listVersionExemptions_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_listVersionExemptions_result$schema$value ??= z.object({
168
176
  'exemptions': z.record(z.string(), z.array(z.string())),
@@ -172,48 +180,49 @@ let _deepseek_ai_dsh_plugin_manager_pluginManager_registries_result$schema$value
172
180
  const _deepseek_ai_dsh_plugin_manager_pluginManager_registries_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_registries_result$schema$value ??= z.object({
173
181
  'registry': z.union([z.literal(null), z.string()]).readonly(),
174
182
  'fallbackRegistries': z.array(z.string()).readonly(),
175
- 'resolved': z.union([z.literal(null), z.string()]).readonly(),
183
+ 'resolved': z.union([z.literal(null), z.string()]).readonly().describe('The URL pnpm\'s own configuration names in the profile, read from pnpm; null when it could not be read.'),
176
184
  }))
177
185
  let _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_parameter_0$schema$value
178
186
  const _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_parameter_0$schema$value ??= z.string())
179
187
  let _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_result$schema$value
180
188
  const _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_result$schema$value ??= z.object({
181
189
  'changed': z.boolean(),
182
- 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]),
183
- 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]),
190
+ 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]).describe('`cancelled` is an installation the caller stopped, its files restored.'),
191
+ 'restartReason': z.union([z.literal("no-hmr"), z.literal("package-moved"), z.literal("host-module"), z.literal("unmanaged-plugin"), z.literal("module-comparison")]).optional().describe('Present with `restart-required`: why the change takes effect only at the next start.'),
192
+ 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]).describe('Last attempted step; successful installation can proceed to enablement.'),
184
193
  'target': z.string(),
185
194
  'enabled': z.boolean().optional(),
186
195
  'error': z.object({
187
- 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
196
+ 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("already-installed"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
188
197
  'diagnostic': z.string().optional(),
189
198
  'incompatible': z.array(z.object({
190
199
  'name': z.string(),
191
200
  'version': z.string(),
192
201
  'runtimeVersion': z.string(),
193
- 'peers': z.record(z.string(), z.string()),
194
- })).optional(),
202
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
203
+ })).optional().describe('Present with `incompatible-version`: the packages the running DSH version rejects.'),
195
204
  }).optional(),
196
- 'warnings': z.array(z.string()).optional(),
205
+ 'warnings': z.array(z.string()).optional().describe('Pre-existing inactive entries the operation left as they were.'),
197
206
  'packageResult': z.object({
198
207
  'exitCode': z.number(),
199
208
  'output': z.string(),
200
209
  'truncated': z.boolean(),
201
210
  'logPath': z.string(),
202
- 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional(),
203
- 'timedOut': z.boolean().optional(),
211
+ 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional().describe('Present when the run failed: what kind of failure its exit and output describe.'),
212
+ 'timedOut': z.boolean().optional().describe('The manager terminated the run after it printed nothing for its silence bound; `exitCode` still reports how it ended.'),
204
213
  'incompatible': z.array(z.object({
205
214
  'name': z.string(),
206
215
  'version': z.string(),
207
216
  'runtimeVersion': z.string(),
208
- 'peers': z.record(z.string(), z.string()),
209
- })).optional(),
217
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
218
+ })).optional().describe('Present when a compatibility check refused the run: the packages the running DSH version rejects.'),
210
219
  }).optional(),
211
- 'bundle': z.string().optional(),
212
- 'version': z.string().optional(),
213
- 'pendingBuilds': z.array(z.string()).optional(),
214
- 'approvedBuilds': z.array(z.string()).optional(),
215
- 'registries': z.array(z.union([z.literal(null), z.string()])).optional(),
216
- 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional(),
220
+ 'bundle': z.string().optional().describe('The bundle an installation added, once pnpm and the bundle check accepted it.'),
221
+ 'version': z.string().optional().describe('The installed bundle\'s manifest version, when declared; pnpm\'s `minimumReleaseAge` can make it older than the newest release.'),
222
+ 'pendingBuilds': z.array(z.string()).optional().describe('Exact package names awaiting explicit script approval in the profile\'s pnpm settings, read after a failed run.'),
223
+ 'approvedBuilds': z.array(z.string()).optional().describe('Package script permissions saved before this installation attempt.'),
224
+ 'registries': z.array(z.union([z.literal(null), z.string()])).optional().describe('The registries the installation asked, in order; `packageResult` is the last one\'s run.'),
225
+ 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional().describe('What the last failed run could not reach or get an answer from: the registry it asked, or the host a git or tarball spec is fetched from, which no registry stands in for; absent for a failure neither explains.'),
217
226
  }))
218
227
  let _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_0$schema$value
219
228
  const _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_0$schema$value ??= z.string())
@@ -222,84 +231,86 @@ const _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_1
222
231
  let _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_result$schema$value
223
232
  const _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_result$schema$value ??= z.object({
224
233
  'changed': z.boolean(),
225
- 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]),
226
- 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]),
234
+ 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]).describe('`cancelled` is an installation the caller stopped, its files restored.'),
235
+ 'restartReason': z.union([z.literal("no-hmr"), z.literal("package-moved"), z.literal("host-module"), z.literal("unmanaged-plugin"), z.literal("module-comparison")]).optional().describe('Present with `restart-required`: why the change takes effect only at the next start.'),
236
+ 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]).describe('Last attempted step; successful installation can proceed to enablement.'),
227
237
  'target': z.string(),
228
238
  'enabled': z.boolean().optional(),
229
239
  'error': z.object({
230
- 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
240
+ 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("already-installed"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
231
241
  'diagnostic': z.string().optional(),
232
242
  'incompatible': z.array(z.object({
233
243
  'name': z.string(),
234
244
  'version': z.string(),
235
245
  'runtimeVersion': z.string(),
236
- 'peers': z.record(z.string(), z.string()),
237
- })).optional(),
246
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
247
+ })).optional().describe('Present with `incompatible-version`: the packages the running DSH version rejects.'),
238
248
  }).optional(),
239
- 'warnings': z.array(z.string()).optional(),
249
+ 'warnings': z.array(z.string()).optional().describe('Pre-existing inactive entries the operation left as they were.'),
240
250
  'packageResult': z.object({
241
251
  'exitCode': z.number(),
242
252
  'output': z.string(),
243
253
  'truncated': z.boolean(),
244
254
  'logPath': z.string(),
245
- 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional(),
246
- 'timedOut': z.boolean().optional(),
255
+ 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional().describe('Present when the run failed: what kind of failure its exit and output describe.'),
256
+ 'timedOut': z.boolean().optional().describe('The manager terminated the run after it printed nothing for its silence bound; `exitCode` still reports how it ended.'),
247
257
  'incompatible': z.array(z.object({
248
258
  'name': z.string(),
249
259
  'version': z.string(),
250
260
  'runtimeVersion': z.string(),
251
- 'peers': z.record(z.string(), z.string()),
252
- })).optional(),
261
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
262
+ })).optional().describe('Present when a compatibility check refused the run: the packages the running DSH version rejects.'),
253
263
  }).optional(),
254
- 'bundle': z.string().optional(),
255
- 'version': z.string().optional(),
256
- 'pendingBuilds': z.array(z.string()).optional(),
257
- 'approvedBuilds': z.array(z.string()).optional(),
258
- 'registries': z.array(z.union([z.literal(null), z.string()])).optional(),
259
- 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional(),
264
+ 'bundle': z.string().optional().describe('The bundle an installation added, once pnpm and the bundle check accepted it.'),
265
+ 'version': z.string().optional().describe('The installed bundle\'s manifest version, when declared; pnpm\'s `minimumReleaseAge` can make it older than the newest release.'),
266
+ 'pendingBuilds': z.array(z.string()).optional().describe('Exact package names awaiting explicit script approval in the profile\'s pnpm settings, read after a failed run.'),
267
+ 'approvedBuilds': z.array(z.string()).optional().describe('Package script permissions saved before this installation attempt.'),
268
+ 'registries': z.array(z.union([z.literal(null), z.string()])).optional().describe('The registries the installation asked, in order; `packageResult` is the last one\'s run.'),
269
+ 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional().describe('What the last failed run could not reach or get an answer from: the registry it asked, or the host a git or tarball spec is fetched from, which no registry stands in for; absent for a failure neither explains.'),
260
270
  }))
261
271
  let _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0$schema$value
262
- const _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0$schema$value ??= z.intersection(z.string(), z.unknown()))
272
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0$schema$value ??= z.string())
263
273
  let _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_1$schema$value
264
274
  const _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_1$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_1$schema$value ??= z.boolean())
265
275
  let _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_result$schema$value
266
276
  const _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_result$schema$value ??= z.object({
267
277
  'changed': z.boolean(),
268
- 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]),
269
- 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]),
278
+ 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]).describe('`cancelled` is an installation the caller stopped, its files restored.'),
279
+ 'restartReason': z.union([z.literal("no-hmr"), z.literal("package-moved"), z.literal("host-module"), z.literal("unmanaged-plugin"), z.literal("module-comparison")]).optional().describe('Present with `restart-required`: why the change takes effect only at the next start.'),
280
+ 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]).describe('Last attempted step; successful installation can proceed to enablement.'),
270
281
  'target': z.string(),
271
282
  'enabled': z.boolean().optional(),
272
283
  'error': z.object({
273
- 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
284
+ 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("already-installed"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
274
285
  'diagnostic': z.string().optional(),
275
286
  'incompatible': z.array(z.object({
276
287
  'name': z.string(),
277
288
  'version': z.string(),
278
289
  'runtimeVersion': z.string(),
279
- 'peers': z.record(z.string(), z.string()),
280
- })).optional(),
290
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
291
+ })).optional().describe('Present with `incompatible-version`: the packages the running DSH version rejects.'),
281
292
  }).optional(),
282
- 'warnings': z.array(z.string()).optional(),
293
+ 'warnings': z.array(z.string()).optional().describe('Pre-existing inactive entries the operation left as they were.'),
283
294
  'packageResult': z.object({
284
295
  'exitCode': z.number(),
285
296
  'output': z.string(),
286
297
  'truncated': z.boolean(),
287
298
  'logPath': z.string(),
288
- 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional(),
289
- 'timedOut': z.boolean().optional(),
299
+ 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional().describe('Present when the run failed: what kind of failure its exit and output describe.'),
300
+ 'timedOut': z.boolean().optional().describe('The manager terminated the run after it printed nothing for its silence bound; `exitCode` still reports how it ended.'),
290
301
  'incompatible': z.array(z.object({
291
302
  'name': z.string(),
292
303
  'version': z.string(),
293
304
  'runtimeVersion': z.string(),
294
- 'peers': z.record(z.string(), z.string()),
295
- })).optional(),
305
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
306
+ })).optional().describe('Present when a compatibility check refused the run: the packages the running DSH version rejects.'),
296
307
  }).optional(),
297
- 'bundle': z.string().optional(),
298
- 'version': z.string().optional(),
299
- 'pendingBuilds': z.array(z.string()).optional(),
300
- 'approvedBuilds': z.array(z.string()).optional(),
301
- 'registries': z.array(z.union([z.literal(null), z.string()])).optional(),
302
- 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional(),
308
+ 'bundle': z.string().optional().describe('The bundle an installation added, once pnpm and the bundle check accepted it.'),
309
+ 'version': z.string().optional().describe('The installed bundle\'s manifest version, when declared; pnpm\'s `minimumReleaseAge` can make it older than the newest release.'),
310
+ 'pendingBuilds': z.array(z.string()).optional().describe('Exact package names awaiting explicit script approval in the profile\'s pnpm settings, read after a failed run.'),
311
+ 'approvedBuilds': z.array(z.string()).optional().describe('Package script permissions saved before this installation attempt.'),
312
+ 'registries': z.array(z.union([z.literal(null), z.string()])).optional().describe('The registries the installation asked, in order; `packageResult` is the last one\'s run.'),
313
+ 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional().describe('What the last failed run could not reach or get an answer from: the registry it asked, or the host a git or tarball spec is fetched from, which no registry stands in for; absent for a failure neither explains.'),
303
314
  }))
304
315
  let _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_0$schema$value
305
316
  const _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_0$schema$value ??= z.string())
@@ -312,105 +323,147 @@ const _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_paramete
312
323
  let _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_result$schema$value
313
324
  const _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_result$schema$value ??= z.object({
314
325
  'changed': z.boolean(),
315
- 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]),
316
- 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]),
326
+ 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]).describe('`cancelled` is an installation the caller stopped, its files restored.'),
327
+ 'restartReason': z.union([z.literal("no-hmr"), z.literal("package-moved"), z.literal("host-module"), z.literal("unmanaged-plugin"), z.literal("module-comparison")]).optional().describe('Present with `restart-required`: why the change takes effect only at the next start.'),
328
+ 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]).describe('Last attempted step; successful installation can proceed to enablement.'),
317
329
  'target': z.string(),
318
330
  'enabled': z.boolean().optional(),
319
331
  'error': z.object({
320
- 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
332
+ 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("already-installed"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
321
333
  'diagnostic': z.string().optional(),
322
334
  'incompatible': z.array(z.object({
323
335
  'name': z.string(),
324
336
  'version': z.string(),
325
337
  'runtimeVersion': z.string(),
326
- 'peers': z.record(z.string(), z.string()),
327
- })).optional(),
338
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
339
+ })).optional().describe('Present with `incompatible-version`: the packages the running DSH version rejects.'),
328
340
  }).optional(),
329
- 'warnings': z.array(z.string()).optional(),
341
+ 'warnings': z.array(z.string()).optional().describe('Pre-existing inactive entries the operation left as they were.'),
330
342
  'packageResult': z.object({
331
343
  'exitCode': z.number(),
332
344
  'output': z.string(),
333
345
  'truncated': z.boolean(),
334
346
  'logPath': z.string(),
335
- 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional(),
336
- 'timedOut': z.boolean().optional(),
347
+ 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional().describe('Present when the run failed: what kind of failure its exit and output describe.'),
348
+ 'timedOut': z.boolean().optional().describe('The manager terminated the run after it printed nothing for its silence bound; `exitCode` still reports how it ended.'),
337
349
  'incompatible': z.array(z.object({
338
350
  'name': z.string(),
339
351
  'version': z.string(),
340
352
  'runtimeVersion': z.string(),
341
- 'peers': z.record(z.string(), z.string()),
342
- })).optional(),
353
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
354
+ })).optional().describe('Present when a compatibility check refused the run: the packages the running DSH version rejects.'),
343
355
  }).optional(),
344
- 'bundle': z.string().optional(),
345
- 'version': z.string().optional(),
346
- 'pendingBuilds': z.array(z.string()).optional(),
347
- 'approvedBuilds': z.array(z.string()).optional(),
348
- 'registries': z.array(z.union([z.literal(null), z.string()])).optional(),
349
- 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional(),
356
+ 'bundle': z.string().optional().describe('The bundle an installation added, once pnpm and the bundle check accepted it.'),
357
+ 'version': z.string().optional().describe('The installed bundle\'s manifest version, when declared; pnpm\'s `minimumReleaseAge` can make it older than the newest release.'),
358
+ 'pendingBuilds': z.array(z.string()).optional().describe('Exact package names awaiting explicit script approval in the profile\'s pnpm settings, read after a failed run.'),
359
+ 'approvedBuilds': z.array(z.string()).optional().describe('Package script permissions saved before this installation attempt.'),
360
+ 'registries': z.array(z.union([z.literal(null), z.string()])).optional().describe('The registries the installation asked, in order; `packageResult` is the last one\'s run.'),
361
+ 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional().describe('What the last failed run could not reach or get an answer from: the registry it asked, or the host a git or tarball spec is fetched from, which no registry stands in for; absent for a failure neither explains.'),
350
362
  }))
351
363
  let _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0$schema$value
352
- const _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0$schema$value ??= z.intersection(z.string(), z.unknown()))
364
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0$schema$value ??= z.string())
353
365
  let _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_result$schema$value
354
366
  const _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_result$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_result$schema$value ??= z.union([z.literal(null), z.object({
355
367
  'changed': z.boolean(),
356
- 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]),
357
- 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]),
368
+ 'application': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("applied"), z.literal("restart-required"), z.literal("overridden")]).describe('`cancelled` is an installation the caller stopped, its files restored.'),
369
+ 'restartReason': z.union([z.literal("no-hmr"), z.literal("package-moved"), z.literal("host-module"), z.literal("unmanaged-plugin"), z.literal("module-comparison")]).optional().describe('Present with `restart-required`: why the change takes effect only at the next start.'),
370
+ 'stage': z.union([z.literal("remove"), z.literal("install"), z.literal("enable")]).describe('Last attempted step; successful installation can proceed to enablement.'),
358
371
  'target': z.string(),
359
372
  'enabled': z.boolean().optional(),
360
373
  'error': z.object({
361
- 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
374
+ 'code': z.union([z.literal("management-required"), z.literal("unaddressable"), z.literal("unknown-plugin"), z.literal("invalid-spec"), z.literal("already-installed"), z.literal("ambiguous-install"), z.literal("not-bundle"), z.literal("not-removable"), z.literal("stop-profile"), z.literal("bundle-in-use"), z.literal("stale-approval"), z.literal("incompatible-version"), z.literal("operation-error")]),
362
375
  'diagnostic': z.string().optional(),
363
376
  'incompatible': z.array(z.object({
364
377
  'name': z.string(),
365
378
  'version': z.string(),
366
379
  'runtimeVersion': z.string(),
367
- 'peers': z.record(z.string(), z.string()),
368
- })).optional(),
380
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
381
+ })).optional().describe('Present with `incompatible-version`: the packages the running DSH version rejects.'),
369
382
  }).optional(),
370
- 'warnings': z.array(z.string()).optional(),
383
+ 'warnings': z.array(z.string()).optional().describe('Pre-existing inactive entries the operation left as they were.'),
371
384
  'packageResult': z.object({
372
385
  'exitCode': z.number(),
373
386
  'output': z.string(),
374
387
  'truncated': z.boolean(),
375
388
  'logPath': z.string(),
376
- 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional(),
377
- 'timedOut': z.boolean().optional(),
389
+ 'kind': z.union([z.literal("network"), z.literal("unknown"), z.literal("timeout"), z.literal("integrity"), z.literal("pnpm-missing"), z.literal("not-found"), z.literal("no-matching-version"), z.literal("disk-full"), z.literal("permission"), z.literal("build-blocked")]).optional().describe('Present when the run failed: what kind of failure its exit and output describe.'),
390
+ 'timedOut': z.boolean().optional().describe('The manager terminated the run after it printed nothing for its silence bound; `exitCode` still reports how it ended.'),
378
391
  'incompatible': z.array(z.object({
379
392
  'name': z.string(),
380
393
  'version': z.string(),
381
394
  'runtimeVersion': z.string(),
382
- 'peers': z.record(z.string(), z.string()),
383
- })).optional(),
395
+ 'peers': z.record(z.string(), z.string()).describe('Only the DSH peer ranges the running version does not satisfy.'),
396
+ })).optional().describe('Present when a compatibility check refused the run: the packages the running DSH version rejects.'),
384
397
  }).optional(),
385
- 'bundle': z.string().optional(),
386
- 'version': z.string().optional(),
387
- 'pendingBuilds': z.array(z.string()).optional(),
388
- 'approvedBuilds': z.array(z.string()).optional(),
389
- 'registries': z.array(z.union([z.literal(null), z.string()])).optional(),
390
- 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional(),
398
+ 'bundle': z.string().optional().describe('The bundle an installation added, once pnpm and the bundle check accepted it.'),
399
+ 'version': z.string().optional().describe('The installed bundle\'s manifest version, when declared; pnpm\'s `minimumReleaseAge` can make it older than the newest release.'),
400
+ 'pendingBuilds': z.array(z.string()).optional().describe('Exact package names awaiting explicit script approval in the profile\'s pnpm settings, read after a failed run.'),
401
+ 'approvedBuilds': z.array(z.string()).optional().describe('Package script permissions saved before this installation attempt.'),
402
+ 'registries': z.array(z.union([z.literal(null), z.string()])).optional().describe('The registries the installation asked, in order; `packageResult` is the last one\'s run.'),
403
+ 'failedAt': z.union([z.literal("registry"), z.literal("spec-host")]).optional().describe('What the last failed run could not reach or get an answer from: the registry it asked, or the host a git or tarball spec is fetched from, which no registry stands in for; absent for a failure neither explains.'),
404
+ })]))
405
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0_strict$schema$value
406
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0_strict$schema$value ??= z.string())
407
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_0_strict$schema$value
408
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_0_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_0_strict$schema$value ??= z.string())
409
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_1_strict$schema$value
410
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_1_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_1_strict$schema$value ??= z.union([z.undefined(), z.strictObject({
411
+ 'registry': z.union([z.literal(null), z.string()]).readonly().optional().describe('The registry asked first; absent, the configured one.'),
391
412
  })]))
413
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_0_strict$schema$value
414
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_0_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_0_strict$schema$value ??= z.string())
415
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_1_strict$schema$value
416
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_1_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_1_strict$schema$value ??= z.union([z.undefined(), z.strictObject({
417
+ 'enabled': z.boolean().optional(),
418
+ 'saveExact': z.boolean().optional().describe('Save the resolved dependency version without a range; applies to any bundle installation.'),
419
+ 'requestId': z.string().optional(),
420
+ 'approvedBuilds': z.array(z.string()).optional().describe('Explicitly allow these pending packages\' scripts for this profile, then install; a name no longer pending refuses the call.'),
421
+ 'registry': z.union([z.literal(null), z.string()]).optional().describe('The registry asked first; absent, the configured one. The configured fallbacks follow while a registry is unreachable or stale.'),
422
+ })]))
423
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_parameter_0_strict$schema$value
424
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_parameter_0_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_parameter_0_strict$schema$value ??= z.string())
425
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_0_strict$schema$value
426
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_0_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_0_strict$schema$value ??= z.string())
427
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_1_strict$schema$value
428
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_1_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_1_strict$schema$value ??= z.boolean())
429
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0_strict$schema$value
430
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0_strict$schema$value ??= z.string())
431
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_1_strict$schema$value
432
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_1_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_1_strict$schema$value ??= z.boolean())
433
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_0_strict$schema$value
434
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_0_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_0_strict$schema$value ??= z.string())
435
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_1_strict$schema$value
436
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_1_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_1_strict$schema$value ??= z.string())
437
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_2_strict$schema$value
438
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_2_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_2_strict$schema$value ??= z.boolean())
439
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_3_strict$schema$value
440
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_3_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_3_strict$schema$value ??= z.union([z.undefined(), z.literal(false), z.literal(true)]))
441
+ let _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0_strict$schema$value
442
+ const _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0_strict$schema = () => (_deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0_strict$schema$value ??= z.string())
392
443
 
393
- export const TYPERT = {
444
+ const $remote = createTypertRemoteInfo({
394
445
  package: '@deepseek-ai/dsh-plugin-manager',
395
- face: 'host',
396
- schemas: [
397
- ],
398
- invocations: [
399
- {
400
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/cancelInstall',
446
+ methods: {
447
+ 'pluginManager/cancelInstall': {
401
448
  service: 'pluginManager',
402
- namespace: 'pluginManager',
403
- method: 'cancelInstall',
449
+ description: 'Stop an installation this manager owns and wait until its files are back.',
404
450
  invocation: { kind: 'direct' },
405
451
  parameters: [
406
452
  {
407
453
  name: 'requestId',
408
- wire: 'requestId',
454
+ description: 'The id the installation was started with.',
409
455
  source: 'json',
410
456
  codec: {
411
457
  mode: 'strict',
412
458
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#PluginInstallRequestId',
413
459
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0$schema,
460
+ jsonSchema: {"type":"string"},
461
+ },
462
+ strictCodec: {
463
+ mode: 'strict',
464
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#PluginInstallRequestId',
465
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_parameter_0_strict$schema,
466
+ jsonSchema: {"type":"string"},
414
467
  },
415
468
  },
416
469
  ],
@@ -418,35 +471,49 @@ export const TYPERT = {
418
471
  mode: 'strict',
419
472
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#PluginInstallCancellation',
420
473
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_cancelInstall_result$schema,
474
+ description: '`cancelled` once the Git check or pnpm exited and the files are restored, `too-late` once the bundle is being applied, `not-running` for any other id.',
475
+ jsonSchema: {"type":"object","properties":{"status":{"type":"string","enum":["cancelled","not-running","too-late"]}},"required":["status"],"additionalProperties":true},
421
476
  },
422
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":600,"column":9},
477
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":669,"column":9},
423
478
  },
424
- {
425
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/inspect',
479
+ 'pluginManager/inspect': {
426
480
  service: 'pluginManager',
427
- namespace: 'pluginManager',
428
- method: 'inspect',
481
+ description: 'Read what a spec names before installing it.',
429
482
  invocation: { kind: 'direct' },
430
483
  parameters: [
431
484
  {
432
485
  name: 'spec',
433
- wire: 'spec',
486
+ description: 'One package spec: a registry name, an absolute path, a git address, or a tarball.',
434
487
  source: 'json',
435
488
  codec: {
436
489
  mode: 'strict',
437
490
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/inspect:spec',
438
491
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_0$schema,
492
+ jsonSchema: {"type":"string"},
493
+ },
494
+ strictCodec: {
495
+ mode: 'strict',
496
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/inspect:spec',
497
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_0_strict$schema,
498
+ jsonSchema: {"type":"string"},
439
499
  },
440
500
  },
441
501
  {
442
502
  name: 'options',
443
- wire: 'options',
503
+ description: 'The registry asked first.',
444
504
  source: 'json',
445
505
  acceptsUndefined: true,
446
506
  codec: {
447
507
  mode: 'strict',
448
508
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#InspectOptions',
449
509
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_1$schema,
510
+ jsonSchema: {"type":"object","properties":{"registry":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"The registry asked first; absent, the configured one."}},"required":[],"additionalProperties":true},
511
+ },
512
+ strictCodec: {
513
+ mode: 'strict',
514
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#InspectOptions',
515
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_parameter_1_strict$schema,
516
+ jsonSchema: {"type":"object","properties":{"registry":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"The registry asked first; absent, the configured one."}},"required":[],"additionalProperties":false},
450
517
  },
451
518
  },
452
519
  ],
@@ -455,35 +522,49 @@ export const TYPERT = {
455
522
  mode: 'strict',
456
523
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#PluginSpecInspection',
457
524
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_inspect_result$schema,
525
+ description: 'The package the spec names, or why it is refused.',
526
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"accepted"},"kind":{"type":"string","enum":["registry","path","git","tarball"]},"name":{"type":"string"},"version":{"type":"string"},"description":{"type":"string","description":"`description` of the package manifest."},"bundle":{"oneOf":[{"type":"null","const":null},{"type":"boolean","enum":[false,true]}],"description":"Whether the package declares a bundle patch; null when the spec's form does not say."},"registry":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"The registry that answered for a name, and for the other forms the one an install of the spec asks first."},"host":{"type":"string","description":"The host a git spec or a tarball URL is fetched from, which no registry stands in for."}},"required":["status","kind","bundle","registry"],"additionalProperties":true},{"type":"object","properties":{"status":{"type":"string","const":"refused"},"problem":{"type":"string","enum":["network","unknown","invalid-spec","already-installed","not-found","not-a-package","not-a-bundle"]},"reason":{"type":"string","description":"What pnpm, the registry, or the file system said."},"registries":{"type":"array","items":{"oneOf":[{"type":"null","const":null},{"type":"string"}]},"description":"The registries asked, in order, when the refusal came from asking them; `reason` is the last one's."}},"required":["status","problem","reason"],"additionalProperties":true}]},
458
527
  },
459
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":350,"column":9},
528
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":408,"column":9},
460
529
  },
461
- {
462
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/installBundle',
530
+ 'pluginManager/installBundle': {
463
531
  service: 'pluginManager',
464
- namespace: 'pluginManager',
465
- method: 'installBundle',
532
+ description: 'Install a package using the same pnpm implementation as dsh plugin. GitHub repositories get a connection check bounded by githubConnectionTimeoutMs before pnpm starts; only network failures or timeouts stop installation, while pnpm owns authentication and transport fallback. A run that fails, is cancelled, or adds a package without a bundle patch restores `package.json` and `pnpm-lock.yaml` as they were; downloaded files can stay.',
466
533
  invocation: { kind: 'direct' },
467
534
  parameters: [
468
535
  {
469
536
  name: 'spec',
470
- wire: 'spec',
537
+ description: 'One package spec, including local paths relative to the invocation directory.',
471
538
  source: 'json',
472
539
  codec: {
473
540
  mode: 'strict',
474
541
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/installBundle:spec',
475
542
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_0$schema,
543
+ jsonSchema: {"type":"string"},
544
+ },
545
+ strictCodec: {
546
+ mode: 'strict',
547
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/installBundle:spec',
548
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_0_strict$schema,
549
+ jsonSchema: {"type":"string"},
476
550
  },
477
551
  },
478
552
  {
479
553
  name: 'options',
480
- wire: 'options',
554
+ description: 'Whether to activate the installed bundle (defaults to true), the request id a cancellation names, the pending build scripts to allow, whether to save an exact dependency, and the registry asked first.',
481
555
  source: 'json',
482
556
  acceptsUndefined: true,
483
557
  codec: {
484
558
  mode: 'strict',
485
559
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#InstallBundleOptions',
486
560
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_1$schema,
561
+ jsonSchema: {"type":"object","properties":{"enabled":{"type":"boolean"},"saveExact":{"type":"boolean","description":"Save the resolved dependency version without a range; applies to any bundle installation."},"requestId":{"type":"string"},"approvedBuilds":{"type":"array","items":{"type":"string"},"description":"Explicitly allow these pending packages' scripts for this profile, then install; a name no longer pending refuses the call."},"registry":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"The registry asked first; absent, the configured one. The configured fallbacks follow while a registry is unreachable or stale."}},"required":[],"additionalProperties":true},
562
+ },
563
+ strictCodec: {
564
+ mode: 'strict',
565
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#InstallBundleOptions',
566
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_parameter_1_strict$schema,
567
+ jsonSchema: {"type":"object","properties":{"enabled":{"type":"boolean"},"saveExact":{"type":"boolean","description":"Save the resolved dependency version without a range; applies to any bundle installation."},"requestId":{"type":"string"},"approvedBuilds":{"type":"array","items":{"type":"string"},"description":"Explicitly allow these pending packages' scripts for this profile, then install; a name no longer pending refuses the call."},"registry":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"The registry asked first; absent, the configured one. The configured fallbacks follow while a registry is unreachable or stale."}},"required":[],"additionalProperties":false},
487
568
  },
488
569
  },
489
570
  ],
@@ -491,14 +572,14 @@ export const TYPERT = {
491
572
  mode: 'strict',
492
573
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#ChangeResult',
493
574
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_installBundle_result$schema,
575
+ description: 'Package-manager diagnostics, the registries asked, and the observed activation outcome.',
576
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
494
577
  },
495
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":473,"column":3},
578
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":529,"column":3},
496
579
  },
497
- {
498
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/listBundles',
580
+ 'pluginManager/listBundles': {
499
581
  service: 'pluginManager',
500
- namespace: 'pluginManager',
501
- method: 'listBundles',
582
+ description: 'Read installed, installation-provided, and offline Official catalog bundles, plus selected non-bundle names. A dependency without a bundle patch is listed, as a `not-bundle` problem, only while it is selected.',
502
583
  invocation: { kind: 'direct' },
503
584
  parameters: [
504
585
  ],
@@ -506,14 +587,14 @@ export const TYPERT = {
506
587
  mode: 'strict',
507
588
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/listBundles:result',
508
589
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_listBundles_result$schema,
590
+ description: 'Package versions, manifest descriptions, the installable spec of profile dependencies, rows, optional display metadata, activation selections, whether the installation offers the bundle, and removal availability.',
591
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
509
592
  },
510
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":280,"column":3},
593
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":316,"column":3},
511
594
  },
512
- {
513
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/listPlugins',
595
+ 'pluginManager/listPlugins': {
514
596
  service: 'pluginManager',
515
- namespace: 'pluginManager',
516
- method: 'listPlugins',
597
+ description: 'Read current plugins, including why a row cannot be changed through the profile patch.',
517
598
  invocation: { kind: 'direct' },
518
599
  parameters: [
519
600
  ],
@@ -521,14 +602,14 @@ export const TYPERT = {
521
602
  mode: 'strict',
522
603
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/listPlugins:result',
523
604
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_listPlugins_result$schema,
605
+ description: 'Current runtime entries with persistent patch targets.',
606
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
524
607
  },
525
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":256,"column":9},
608
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":292,"column":9},
526
609
  },
527
- {
528
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/listVersionExemptions',
610
+ 'pluginManager/listVersionExemptions': {
529
611
  service: 'pluginManager',
530
- namespace: 'pluginManager',
531
- method: 'listVersionExemptions',
612
+ description: 'Read exact plugin-version exemptions saved in this profile.',
532
613
  invocation: { kind: 'direct' },
533
614
  parameters: [
534
615
  ],
@@ -536,14 +617,14 @@ export const TYPERT = {
536
617
  mode: 'strict',
537
618
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/listVersionExemptions:result',
538
619
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_listVersionExemptions_result$schema,
620
+ description: 'Accepted package-name@version keys with the runtime versions they may run on, and any record or file problem the reader rejected, which the caller reports instead of failing.',
621
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
539
622
  },
540
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":232,"column":3},
623
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":268,"column":3},
541
624
  },
542
- {
543
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/registries',
625
+ 'pluginManager/registries': {
544
626
  service: 'pluginManager',
545
- namespace: 'pluginManager',
546
- method: 'registries',
627
+ description: 'Read the registries this manager asks: the configured first one, its fallbacks in order, and what pnpm\'s own configuration names.',
547
628
  invocation: { kind: 'direct' },
548
629
  parameters: [
549
630
  ],
@@ -551,24 +632,31 @@ export const TYPERT = {
551
632
  mode: 'strict',
552
633
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#PluginRegistries',
553
634
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_registries_result$schema,
635
+ description: 'The registries in pnpm\'s comparison form; null is the one pnpm\'s own configuration names, `resolved` as pnpm reads it now.',
636
+ jsonSchema: {"type":"object","properties":{"registry":{"oneOf":[{"type":"null","const":null},{"type":"string"}]},"fallbackRegistries":{"type":"array","items":{"type":"string"}},"resolved":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"The URL pnpm's own configuration names in the profile, read from pnpm; null when it could not be read."}},"required":["registry","fallbackRegistries","resolved"],"additionalProperties":true},
554
637
  },
555
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":334,"column":9},
638
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":392,"column":9},
556
639
  },
557
- {
558
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/removeBundle',
640
+ 'pluginManager/removeBundle': {
559
641
  service: 'pluginManager',
560
- namespace: 'pluginManager',
561
- method: 'removeBundle',
642
+ description: 'Unload and remove a profile-owned bundle dependency through dsh plugin\'s pnpm path; a selected name no dependency holds is only deselected.',
562
643
  invocation: { kind: 'direct' },
563
644
  parameters: [
564
645
  {
565
646
  name: 'name',
566
- wire: 'name',
647
+ description: 'Installed dependency or selected bundle name.',
567
648
  source: 'json',
568
649
  codec: {
569
650
  mode: 'strict',
570
651
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/removeBundle:name',
571
652
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_parameter_0$schema,
653
+ jsonSchema: {"type":"string"},
654
+ },
655
+ strictCodec: {
656
+ mode: 'strict',
657
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/removeBundle:name',
658
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_parameter_0_strict$schema,
659
+ jsonSchema: {"type":"string"},
572
660
  },
573
661
  },
574
662
  ],
@@ -576,34 +664,48 @@ export const TYPERT = {
576
664
  mode: 'strict',
577
665
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#ChangeResult',
578
666
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_removeBundle_result$schema,
667
+ description: 'Removal diagnostics and the remaining profile state.',
668
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
579
669
  },
580
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":617,"column":3},
670
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":686,"column":3},
581
671
  },
582
- {
583
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/setBundleEnabled',
672
+ 'pluginManager/setBundleEnabled': {
584
673
  service: 'pluginManager',
585
- namespace: 'pluginManager',
586
- method: 'setBundleEnabled',
674
+ description: 'Select or remove a bundle layer while retaining installed dependencies.',
587
675
  invocation: { kind: 'direct' },
588
676
  parameters: [
589
677
  {
590
678
  name: 'name',
591
- wire: 'name',
679
+ description: 'Bundle package name.',
592
680
  source: 'json',
593
681
  codec: {
594
682
  mode: 'strict',
595
683
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setBundleEnabled:name',
596
684
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_0$schema,
685
+ jsonSchema: {"type":"string"},
686
+ },
687
+ strictCodec: {
688
+ mode: 'strict',
689
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setBundleEnabled:name',
690
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_0_strict$schema,
691
+ jsonSchema: {"type":"string"},
597
692
  },
598
693
  },
599
694
  {
600
695
  name: 'enabled',
601
- wire: 'enabled',
696
+ description: 'Whether the bundle contributes its patch layer.',
602
697
  source: 'json',
603
698
  codec: {
604
699
  mode: 'strict',
605
700
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setBundleEnabled:enabled',
606
701
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_1$schema,
702
+ jsonSchema: {"type":"boolean"},
703
+ },
704
+ strictCodec: {
705
+ mode: 'strict',
706
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setBundleEnabled:enabled',
707
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_parameter_1_strict$schema,
708
+ jsonSchema: {"type":"boolean"},
607
709
  },
608
710
  },
609
711
  ],
@@ -611,34 +713,48 @@ export const TYPERT = {
611
713
  mode: 'strict',
612
714
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#ChangeResult',
613
715
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setBundleEnabled_result$schema,
716
+ description: 'Persisted and runtime outcomes.',
717
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
614
718
  },
615
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":452,"column":3},
719
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":510,"column":3},
616
720
  },
617
- {
618
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/setPluginEnabled',
721
+ 'pluginManager/setPluginEnabled': {
619
722
  service: 'pluginManager',
620
- namespace: 'pluginManager',
621
- method: 'setPluginEnabled',
723
+ description: 'Persist a plugin entry\'s desired enablement and apply it on live profiles.',
622
724
  invocation: { kind: 'direct' },
623
725
  parameters: [
624
726
  {
625
727
  name: 'id',
626
- wire: 'id',
728
+ description: 'Loader entry identity returned by listPlugins.',
627
729
  source: 'json',
628
730
  codec: {
629
731
  mode: 'strict',
630
732
  typeSymbol: '@deepseek-ai/dsh-host-plugin-inventory/types#PluginEntryId',
631
733
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0$schema,
734
+ jsonSchema: {"type":"string"},
735
+ },
736
+ strictCodec: {
737
+ mode: 'strict',
738
+ typeSymbol: '@deepseek-ai/dsh-host-plugin-inventory/types#PluginEntryId',
739
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_0_strict$schema,
740
+ jsonSchema: {"type":"string"},
632
741
  },
633
742
  },
634
743
  {
635
744
  name: 'enabled',
636
- wire: 'enabled',
745
+ description: 'Whether the plugin should run.',
637
746
  source: 'json',
638
747
  codec: {
639
748
  mode: 'strict',
640
749
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setPluginEnabled:enabled',
641
750
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_1$schema,
751
+ jsonSchema: {"type":"boolean"},
752
+ },
753
+ strictCodec: {
754
+ mode: 'strict',
755
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setPluginEnabled:enabled',
756
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_parameter_1_strict$schema,
757
+ jsonSchema: {"type":"boolean"},
642
758
  },
643
759
  },
644
760
  ],
@@ -646,55 +762,83 @@ export const TYPERT = {
646
762
  mode: 'strict',
647
763
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#ChangeResult',
648
764
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setPluginEnabled_result$schema,
765
+ description: 'Saved and runtime outcomes, including higher-priority overrides.',
766
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
649
767
  },
650
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":434,"column":3},
768
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":492,"column":3},
651
769
  },
652
- {
653
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption',
770
+ 'pluginManager/setVersionExemption': {
654
771
  service: 'pluginManager',
655
- namespace: 'pluginManager',
656
- method: 'setVersionExemption',
772
+ description: 'Grant or revoke one exact plugin/runtime exemption and reevaluate live plugins.',
657
773
  invocation: { kind: 'direct' },
658
774
  parameters: [
659
775
  {
660
776
  name: 'packageVersion',
661
- wire: 'packageVersion',
777
+ description: 'Exact manifest package name followed by @ and its version; never an installation spec or alias.',
662
778
  source: 'json',
663
779
  codec: {
664
780
  mode: 'strict',
665
781
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption:packageVersion',
666
782
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_0$schema,
783
+ jsonSchema: {"type":"string"},
784
+ },
785
+ strictCodec: {
786
+ mode: 'strict',
787
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption:packageVersion',
788
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_0_strict$schema,
789
+ jsonSchema: {"type":"string"},
667
790
  },
668
791
  },
669
792
  {
670
793
  name: 'runtimeVersion',
671
- wire: 'runtimeVersion',
794
+ description: 'Exact current DSH version for grants; revocation may name a previous runtime.',
672
795
  source: 'json',
673
796
  codec: {
674
797
  mode: 'strict',
675
798
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption:runtimeVersion',
676
799
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_1$schema,
800
+ jsonSchema: {"type":"string"},
801
+ },
802
+ strictCodec: {
803
+ mode: 'strict',
804
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption:runtimeVersion',
805
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_1_strict$schema,
806
+ jsonSchema: {"type":"string"},
677
807
  },
678
808
  },
679
809
  {
680
810
  name: 'enabled',
681
- wire: 'enabled',
811
+ description: 'Whether to grant rather than revoke the exemption.',
682
812
  source: 'json',
683
813
  codec: {
684
814
  mode: 'strict',
685
815
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption:enabled',
686
816
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_2$schema,
817
+ jsonSchema: {"type":"boolean"},
818
+ },
819
+ strictCodec: {
820
+ mode: 'strict',
821
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption:enabled',
822
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_2_strict$schema,
823
+ jsonSchema: {"type":"boolean"},
687
824
  },
688
825
  },
689
826
  {
690
827
  name: 'acceptRisk',
691
- wire: 'acceptRisk',
828
+ description: 'Required true for grants after the user accepts possible crashes and data loss.',
692
829
  source: 'json',
693
830
  acceptsUndefined: true,
694
831
  codec: {
695
832
  mode: 'strict',
696
833
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption:acceptRisk',
697
834
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_3$schema,
835
+ jsonSchema: {"type":"boolean","enum":[false,true]},
836
+ },
837
+ strictCodec: {
838
+ mode: 'strict',
839
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/setVersionExemption:acceptRisk',
840
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_parameter_3_strict$schema,
841
+ jsonSchema: {"type":"boolean","enum":[false,true]},
698
842
  },
699
843
  },
700
844
  ],
@@ -702,24 +846,31 @@ export const TYPERT = {
702
846
  mode: 'strict',
703
847
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#ChangeResult',
704
848
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_setVersionExemption_result$schema,
849
+ description: 'Saved and runtime outcomes. Startup-only profiles require restart.',
850
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
705
851
  },
706
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":245,"column":3},
852
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":281,"column":3},
707
853
  },
708
- {
709
- id: '@deepseek-ai/dsh-plugin-manager#pluginManager/waitForInstall',
854
+ 'pluginManager/waitForInstall': {
710
855
  service: 'pluginManager',
711
- namespace: 'pluginManager',
712
- method: 'waitForInstall',
856
+ description: 'Recover the result of an active installation without cancelling it.',
713
857
  invocation: { kind: 'direct' },
714
858
  parameters: [
715
859
  {
716
860
  name: 'requestId',
717
- wire: 'requestId',
861
+ description: 'The id supplied when installation started.',
718
862
  source: 'json',
719
863
  codec: {
720
864
  mode: 'strict',
721
865
  typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#PluginInstallRequestId',
722
866
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0$schema,
867
+ jsonSchema: {"type":"string"},
868
+ },
869
+ strictCodec: {
870
+ mode: 'strict',
871
+ typeSymbol: '@deepseek-ai/dsh-plugin-manager/types#PluginInstallRequestId',
872
+ create: _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_parameter_0_strict$schema,
873
+ jsonSchema: {"type":"string"},
723
874
  },
724
875
  },
725
876
  ],
@@ -727,10 +878,20 @@ export const TYPERT = {
727
878
  mode: 'strict',
728
879
  typeSymbol: '@deepseek-ai/dsh-plugin-manager#pluginManager/waitForInstall:result',
729
880
  create: _deepseek_ai_dsh_plugin_manager_pluginManager_waitForInstall_result$schema,
881
+ description: 'The installation\'s outcome after it settles, or null if no active request has that id. Completed results are not retained; null establishes neither success nor cancellation.',
882
+ jsonSchemaError: 'typert tool schema: selected dictionaries require string keys and unconstrained JSON values',
730
883
  },
731
- sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":590,"column":9},
884
+ sourceLocation: {"file":"packages/boot/plugin-manager/src/index.ts","line":659,"column":9},
732
885
  },
886
+ },
887
+ }, z)
888
+
889
+ export const TYPERT = {
890
+ package: '@deepseek-ai/dsh-plugin-manager',
891
+ face: 'host',
892
+ schemas: [
733
893
  ],
894
+ get invocations() { return $remote.descriptors },
734
895
  model: {
735
896
  "services": [
736
897
  {
@@ -766,8 +927,8 @@ export const TYPERT = {
766
927
  "kind": "method",
767
928
  "name": "listBundles",
768
929
  "signature": "@Remote listBundles(): Promise<BundleInfo[]>",
769
- "summary": "Read the profile's installed bundles, the bundles this dsh installation supplies, and the selected names that are not bundles.",
770
- "jsDoc": "/** Read the profile's installed bundles, the bundles this dsh installation supplies, and the selected names that are not bundles.\n * A dependency without a bundle patch is listed, as a `not-bundle` problem, only while it is selected.\n * @returns Package versions, manifest descriptions, the installable spec of profile dependencies, rows, optional\n * display metadata, activation selections, whether the installation offers the bundle, and removal availability.\n */"
930
+ "summary": "Read installed, installation-provided, and offline Official catalog bundles, plus selected non-bundle names.",
931
+ "jsDoc": "/** Read installed, installation-provided, and offline Official catalog bundles, plus selected non-bundle names.\n * A dependency without a bundle patch is listed, as a `not-bundle` problem, only while it is selected.\n * @returns Package versions, manifest descriptions, the installable spec of profile dependencies, rows, optional\n * display metadata, activation selections, whether the installation offers the bundle, and removal availability.\n */"
771
932
  },
772
933
  {
773
934
  "kind": "method",
@@ -802,7 +963,7 @@ export const TYPERT = {
802
963
  "name": "installBundle",
803
964
  "signature": "@Remote installBundle(spec: string, options?: InstallBundleOptions): Promise<ChangeResult>",
804
965
  "summary": "Install a package using the same pnpm implementation as dsh plugin.",
805
- "jsDoc": "/**\n * Install a package using the same pnpm implementation as dsh plugin. GitHub\n * repositories get a connection check bounded by githubConnectionTimeoutMs before pnpm starts;\n * only network failures or timeouts stop installation, while pnpm owns authentication and transport fallback. A run\n * that fails, is cancelled, or adds a package without a bundle patch restores\n * `package.json` and `pnpm-lock.yaml` as they were; downloaded files can stay.\n * @param spec One package spec, including local paths relative to the invocation directory.\n * @param options Whether to activate the installed bundle (defaults to true), the request id a cancellation names,\n * the pending build scripts to allow for this profile before pnpm runs, and the registry asked first.\n * @returns Package-manager diagnostics, the registries asked, and the observed activation outcome.\n */"
966
+ "jsDoc": "/**\n * Install a package using the same pnpm implementation as dsh plugin. GitHub\n * repositories get a connection check bounded by githubConnectionTimeoutMs before pnpm starts;\n * only network failures or timeouts stop installation, while pnpm owns authentication and transport fallback. A run\n * that fails, is cancelled, or adds a package without a bundle patch restores\n * `package.json` and `pnpm-lock.yaml` as they were; downloaded files can stay.\n * @param spec One package spec, including local paths relative to the invocation directory.\n * @param options Whether to activate the installed bundle (defaults to true), the request id a cancellation names,\n * the pending build scripts to allow, whether to save an exact dependency, and the registry asked first.\n * @returns Package-manager diagnostics, the registries asked, and the observed activation outcome.\n */"
806
967
  },
807
968
  {
808
969
  "kind": "method",
@@ -833,7 +994,7 @@ export const TYPERT = {
833
994
  },
834
995
  {
835
996
  "name": "BundleInfo",
836
- "declaration": "export interface BundleInfo {\n name: string;\n version?: string;\n meta?: PluginLocalizedMeta;\n description?: string;\n enabled: boolean;\n installed: boolean;\n source?: string;\n optional: boolean;\n removable: boolean;\n readOnlyReason?: ReadOnlyReason;\n error?: ManagementError;\n rows: BundleRowInfo[];\n overrides: string[];\n}"
997
+ "declaration": "export interface BundleInfo {\n name: string;\n official: boolean;\n availability: 'installation' | 'profile' | 'missing';\n installTarget?: { spec: string; version: string; };\n version?: string;\n meta?: PluginLocalizedMeta;\n description?: string;\n enabled: boolean;\n installed: boolean;\n source?: string;\n optional: boolean;\n removable: boolean;\n readOnlyReason?: ReadOnlyReason;\n error?: ManagementError;\n rows: BundleRowInfo[];\n overrides: string[];\n}"
837
998
  },
838
999
  {
839
1000
  "name": "BundleRowInfo",
@@ -841,7 +1002,7 @@ export const TYPERT = {
841
1002
  },
842
1003
  {
843
1004
  "name": "ChangeResult",
844
- "declaration": "export interface ChangeResult {\n changed: boolean;\n application: 'applied' | 'restart-required' | 'overridden' | 'failed' | 'cancelled';\n stage: 'install' | 'enable' | 'remove';\n target: string;\n enabled?: boolean;\n error?: ManagementError;\n warnings?: string[];\n packageResult?: PackageResult;\n bundle?: string;\n version?: string;\n pendingBuilds?: string[];\n approvedBuilds?: string[];\n registries?: Registry[];\n failedAt?: 'registry' | 'spec-host';\n}"
1005
+ "declaration": "export interface ChangeResult {\n changed: boolean;\n application: 'applied' | 'restart-required' | 'overridden' | 'failed' | 'cancelled';\n restartReason?: RestartReason;\n stage: 'install' | 'enable' | 'remove';\n target: string;\n enabled?: boolean;\n error?: ManagementError;\n warnings?: string[];\n packageResult?: PackageResult;\n bundle?: string;\n version?: string;\n pendingBuilds?: string[];\n approvedBuilds?: string[];\n registries?: Registry[];\n failedAt?: 'registry' | 'spec-host';\n}"
845
1006
  },
846
1007
  {
847
1008
  "name": "IncompatiblePlugin",
@@ -853,7 +1014,7 @@ export const TYPERT = {
853
1014
  },
854
1015
  {
855
1016
  "name": "InstallBundleOptions",
856
- "declaration": "export interface InstallBundleOptions {\n enabled?: boolean;\n requestId?: PluginInstallRequestId;\n approvedBuilds?: string[];\n registry?: Registry;\n}"
1017
+ "declaration": "export interface InstallBundleOptions {\n enabled?: boolean;\n saveExact?: boolean;\n requestId?: PluginInstallRequestId;\n approvedBuilds?: string[];\n registry?: Registry;\n}"
857
1018
  },
858
1019
  {
859
1020
  "name": "InstallSpecKind",
@@ -865,7 +1026,7 @@ export const TYPERT = {
865
1026
  },
866
1027
  {
867
1028
  "name": "ManagementError",
868
- "declaration": "export interface ManagementError {\n code: ReadOnlyReason | 'unknown-plugin' | 'invalid-spec' | 'ambiguous-install' | 'not-bundle' | 'not-removable' | 'stop-profile' | 'bundle-in-use' | 'stale-approval' | 'incompatible-version' | 'operation-error';\n diagnostic?: string;\n incompatible?: IncompatiblePlugin[];\n}"
1029
+ "declaration": "export interface ManagementError {\n code: ReadOnlyReason | 'unknown-plugin' | 'invalid-spec' | 'already-installed' | 'ambiguous-install' | 'not-bundle' | 'not-removable' | 'stop-profile' | 'bundle-in-use' | 'stale-approval' | 'incompatible-version' | 'operation-error';\n diagnostic?: string;\n incompatible?: IncompatiblePlugin[];\n}"
869
1030
  },
870
1031
  {
871
1032
  "name": "PackageResult",
@@ -922,6 +1083,10 @@ export const TYPERT = {
922
1083
  {
923
1084
  "name": "Registry",
924
1085
  "declaration": "export type Registry = string | null;"
1086
+ },
1087
+ {
1088
+ "name": "RestartReason",
1089
+ "declaration": "export type RestartReason = 'no-hmr' | 'package-moved' | 'host-module' | 'unmanaged-plugin' | 'module-comparison';"
925
1090
  }
926
1091
  ]
927
1092
  }