dsh-plugin-dev-kb 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/CHANGELOG.md +186 -178
  2. package/README.en.md +172 -172
  3. package/README.md +183 -183
  4. package/kb/INDEX.md +236 -234
  5. package/kb/README.md +88 -88
  6. package/kb/extra/AGENTS.md +77 -77
  7. package/kb/extra/deepseek-llm-api-wire-extensions.md +162 -162
  8. package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +162 -162
  9. package/kb/extra/defensive-patterns/package-surface.md +233 -232
  10. package/kb/extra/defensive-patterns/package-surface.zh.md +233 -232
  11. package/kb/extra/defensive-patterns/remote-and-api.md +117 -117
  12. package/kb/extra/defensive-patterns/remote-and-api.zh.md +117 -117
  13. package/kb/extra/development.md +221 -221
  14. package/kb/extra/development.zh.md +228 -228
  15. package/kb/extra/event-producer-consumer.md +133 -123
  16. package/kb/extra/event-producer-consumer.zh.md +135 -125
  17. package/kb/extra/module-graph.md +1961 -1888
  18. package/kb/extra/module-graph.zh.md +1963 -1890
  19. package/kb/extra/persistence-changes/2026-11-05-timeline-priority-notice.md +60 -0
  20. package/kb/extra/persistence-changes/2026-11-05-timeline-priority-notice.zh.md +60 -0
  21. package/kb/extra/persistence-changes/README.md +92 -92
  22. package/kb/extra/persistence-changes/README.zh.md +92 -92
  23. package/kb/extra/persistence-changes/historical-formats/README.md +75 -75
  24. package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -75
  25. package/kb/extra/persistence-changes/releases/README.md +103 -103
  26. package/kb/extra/persistence-changes/releases/README.zh.md +103 -103
  27. package/kb/extra/rescope.md +55 -55
  28. package/kb/extra/rescope.zh.md +55 -55
  29. package/kb/extra/subsystems/boot.md +631 -621
  30. package/kb/extra/subsystems/boot.zh.md +631 -621
  31. package/kb/extra/subsystems/computer-use.md +179 -137
  32. package/kb/extra/subsystems/computer-use.zh.md +179 -137
  33. package/kb/extra/subsystems/extensions.md +387 -384
  34. package/kb/extra/subsystems/extensions.zh.md +387 -384
  35. package/kb/extra/subsystems/feedback.md +418 -400
  36. package/kb/extra/subsystems/feedback.zh.md +418 -400
  37. package/kb/extra/subsystems/forge.md +2169 -1226
  38. package/kb/extra/subsystems/forge.zh.md +2171 -1226
  39. package/kb/extra/subsystems/liveshare.md +167 -158
  40. package/kb/extra/subsystems/liveshare.zh.md +167 -158
  41. package/kb/extra/subsystems/mcp.md +237 -234
  42. package/kb/extra/subsystems/mcp.zh.md +237 -234
  43. package/kb/extra/subsystems/office-kit.md +122 -0
  44. package/kb/extra/subsystems/office-kit.zh.md +122 -0
  45. package/kb/extra/subsystems/working-directory.md +95 -64
  46. package/kb/extra/subsystems/working-directory.zh.md +95 -64
  47. package/kb/extra/subsystems/worktrees.md +187 -127
  48. package/kb/extra/subsystems/worktrees.zh.md +187 -127
  49. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +21 -21
  50. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +21 -21
  51. package/kb/extra/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.md +18 -0
  52. package/kb/extra/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.zh.md +18 -0
  53. package/kb/extra/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.md +18 -0
  54. package/kb/extra/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.zh.md +18 -0
  55. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.md +34 -0
  56. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.zh.md +34 -0
  57. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.md +49 -0
  58. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.zh.md +49 -0
  59. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.md +36 -0
  60. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.zh.md +36 -0
  61. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.md +26 -0
  62. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.zh.md +26 -0
  63. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.md +22 -0
  64. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.zh.md +22 -0
  65. package/kb/extra/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.md +21 -0
  66. package/kb/extra/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.zh.md +21 -0
  67. package/kb/extra/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.md +23 -0
  68. package/kb/extra/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.zh.md +23 -0
  69. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.md +20 -0
  70. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.zh.md +20 -0
  71. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.md +18 -0
  72. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.zh.md +18 -0
  73. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.md +23 -0
  74. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.zh.md +23 -0
  75. package/kb/extra/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.md +35 -0
  76. package/kb/extra/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.zh.md +35 -0
  77. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.md +26 -0
  78. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.zh.md +26 -0
  79. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.md +26 -0
  80. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.zh.md +26 -0
  81. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.md +19 -0
  82. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.zh.md +19 -0
  83. package/kb/extra/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.md +26 -0
  84. package/kb/extra/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.zh.md +26 -0
  85. package/kb/extra/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.md +22 -0
  86. package/kb/extra/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.zh.md +22 -0
  87. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.md +25 -0
  88. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.zh.md +25 -0
  89. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.md +48 -0
  90. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.zh.md +48 -0
  91. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.md +45 -0
  92. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.zh.md +45 -0
  93. package/kb/extra/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.md +19 -0
  94. package/kb/extra/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.zh.md +19 -0
  95. package/kb/extra/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.md +17 -0
  96. package/kb/extra/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.zh.md +17 -0
  97. package/kb/extra/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.md +27 -0
  98. package/kb/extra/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.zh.md +27 -0
  99. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.md +20 -0
  100. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.zh.md +20 -0
  101. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.md +19 -0
  102. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.zh.md +19 -0
  103. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-fetch-transport-error-codes/guide.md +18 -0
  104. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-fetch-transport-error-codes/guide.zh.md +18 -0
  105. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.md +41 -0
  106. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.zh.md +41 -0
  107. package/kb/extra/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.md +21 -0
  108. package/kb/extra/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.zh.md +21 -0
  109. package/kb/extra/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.md +29 -0
  110. package/kb/extra/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.zh.md +29 -0
  111. package/kb/extra/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.md +25 -0
  112. package/kb/extra/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.zh.md +25 -0
  113. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.md +31 -0
  114. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.zh.md +31 -0
  115. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.md +24 -0
  116. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.zh.md +24 -0
  117. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.md +24 -0
  118. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.zh.md +24 -0
  119. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.md +19 -0
  120. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.zh.md +19 -0
  121. package/kb/extra/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.md +15 -0
  122. package/kb/extra/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.zh.md +15 -0
  123. package/kb/extra/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.md +28 -0
  124. package/kb/extra/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.zh.md +28 -0
  125. package/kb/extra/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.md +36 -0
  126. package/kb/extra/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.zh.md +36 -0
  127. package/kb/extra/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.md +22 -0
  128. package/kb/extra/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.zh.md +22 -0
  129. package/kb/extra/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.md +31 -0
  130. package/kb/extra/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.zh.md +31 -0
  131. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.md +18 -0
  132. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.zh.md +18 -0
  133. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.md +30 -0
  134. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.zh.md +30 -0
  135. package/kb/extra/web-styling.md +57 -57
  136. package/kb/extra/web-styling.zh.md +57 -57
  137. package/kb/meta/search-index.json +4508 -3980
  138. package/kb/meta/source.json +18 -18
  139. package/kb/site/develop/practice/llm-adapter.md +192 -192
  140. package/kb/site/en/develop/practice/llm-adapter.md +192 -192
  141. package/kb/site/en/guide/desktop-uninstall-cleanup.md +63 -0
  142. package/kb/site/en/guide/plugin-market.md +153 -151
  143. package/kb/site/en/guide/providers.md +234 -234
  144. package/kb/site/en/guide/quickstart.md +35 -34
  145. package/kb/site/en/reference/capability-seams.md +789 -767
  146. package/kb/site/en/reference/config-catalog.md +5432 -5128
  147. package/kb/site/en/reference/cookbook/adding-a-package.md +175 -175
  148. package/kb/site/en/reference/cookbook/adding-a-tool.md +105 -104
  149. package/kb/site/en/reference/cookbook/extension-cookbook.md +178 -135
  150. package/kb/site/en/reference/cordis-api/context.md +373 -369
  151. package/kb/site/en/reference/cordis-api/fiber.md +457 -433
  152. package/kb/site/en/reference/cordis-api/inherited.md +44 -44
  153. package/kb/site/en/reference/cordis-api/service.md +118 -107
  154. package/kb/site/en/reference/experimental-persistence-catalog.md +36 -23
  155. package/kb/site/en/reference/index.md +174 -174
  156. package/kb/site/en/reference/persistence-catalog.md +9453 -9432
  157. package/kb/site/en/reference/subsystems/compaction.md +288 -288
  158. package/kb/site/en/reference/subsystems/core.md +1172 -1171
  159. package/kb/site/en/reference/subsystems/credentials.md +526 -497
  160. package/kb/site/en/reference/subsystems/filesystem.md +708 -708
  161. package/kb/site/en/reference/subsystems/index.md +82 -82
  162. package/kb/site/en/reference/subsystems/llm-streaming.md +1290 -1288
  163. package/kb/site/en/reference/subsystems/lsp.md +230 -206
  164. package/kb/site/en/reference/subsystems/persistence.md +451 -432
  165. package/kb/site/en/reference/subsystems/plan.md +91 -91
  166. package/kb/site/en/reference/subsystems/ptc-runtime.md +295 -261
  167. package/kb/site/en/reference/subsystems/sandbox.md +250 -232
  168. package/kb/site/en/reference/subsystems/session-query.md +525 -515
  169. package/kb/site/en/reference/subsystems/session-reference.md +231 -229
  170. package/kb/site/en/reference/subsystems/session.md +1478 -1431
  171. package/kb/site/en/reference/subsystems/sidebar-right.md +165 -165
  172. package/kb/site/en/reference/subsystems/skills.md +356 -356
  173. package/kb/site/en/reference/subsystems/slots.md +235 -231
  174. package/kb/site/en/reference/subsystems/terminal.md +188 -188
  175. package/kb/site/en/reference/subsystems/tools.md +902 -891
  176. package/kb/site/en/reference/subsystems/user-questions.md +330 -327
  177. package/kb/site/en/reference/subsystems/web-client.md +161 -104
  178. package/kb/site/en/reference/subsystems/web-server.md +434 -351
  179. package/kb/site/en/reference/subsystems/web.md +268 -268
  180. package/kb/site/en/reference/subsystems/workflow.md +287 -282
  181. package/kb/site/en/reference/subsystems/workspace.md +743 -651
  182. package/kb/site/en/reference/tool-catalog.md +2867 -2704
  183. package/kb/site/guide/desktop-uninstall-cleanup.md +63 -0
  184. package/kb/site/guide/plugin-market.md +153 -151
  185. package/kb/site/guide/providers.md +234 -234
  186. package/kb/site/guide/quickstart.md +35 -34
  187. package/kb/site/reference/capability-seams.md +789 -767
  188. package/kb/site/reference/config-catalog.md +5432 -5128
  189. package/kb/site/reference/cookbook/adding-a-package.md +175 -175
  190. package/kb/site/reference/cookbook/adding-a-tool.md +107 -106
  191. package/kb/site/reference/cookbook/extension-cookbook.md +182 -139
  192. package/kb/site/reference/cordis-api/context.md +373 -369
  193. package/kb/site/reference/cordis-api/fiber.md +459 -435
  194. package/kb/site/reference/cordis-api/inherited.md +44 -44
  195. package/kb/site/reference/cordis-api/service.md +118 -107
  196. package/kb/site/reference/experimental-persistence-catalog.md +36 -23
  197. package/kb/site/reference/index.md +178 -178
  198. package/kb/site/reference/persistence-catalog.md +9453 -9432
  199. package/kb/site/reference/subsystems/compaction.md +288 -288
  200. package/kb/site/reference/subsystems/core.md +1184 -1183
  201. package/kb/site/reference/subsystems/credentials.md +526 -497
  202. package/kb/site/reference/subsystems/filesystem.md +708 -708
  203. package/kb/site/reference/subsystems/index.md +82 -82
  204. package/kb/site/reference/subsystems/llm-streaming.md +1296 -1294
  205. package/kb/site/reference/subsystems/lsp.md +230 -206
  206. package/kb/site/reference/subsystems/persistence.md +451 -432
  207. package/kb/site/reference/subsystems/plan.md +91 -91
  208. package/kb/site/reference/subsystems/ptc-runtime.md +295 -261
  209. package/kb/site/reference/subsystems/sandbox.md +250 -232
  210. package/kb/site/reference/subsystems/session-query.md +525 -515
  211. package/kb/site/reference/subsystems/session-reference.md +231 -229
  212. package/kb/site/reference/subsystems/session.md +1482 -1435
  213. package/kb/site/reference/subsystems/sidebar-right.md +165 -165
  214. package/kb/site/reference/subsystems/skills.md +356 -356
  215. package/kb/site/reference/subsystems/slots.md +239 -235
  216. package/kb/site/reference/subsystems/terminal.md +188 -188
  217. package/kb/site/reference/subsystems/tools.md +902 -891
  218. package/kb/site/reference/subsystems/user-questions.md +330 -327
  219. package/kb/site/reference/subsystems/web-client.md +161 -104
  220. package/kb/site/reference/subsystems/web-server.md +434 -351
  221. package/kb/site/reference/subsystems/web.md +268 -268
  222. package/kb/site/reference/subsystems/workflow.md +287 -282
  223. package/kb/site/reference/subsystems/workspace.md +743 -651
  224. package/kb/site/reference/tool-catalog.md +2872 -2709
  225. package/lib/index.js +359 -359
  226. package/package.json +68 -68
  227. package/skills/dsh-plugin-dev-kb.md +71 -70
  228. package/kb/extra/subsystems/office-to-pdf.md +0 -87
  229. package/kb/extra/subsystems/office-to-pdf.zh.md +0 -87
@@ -1,384 +1,387 @@
1
- # Extensions
2
-
3
- English | [中文](extensions.zh.md)
4
-
5
- The extensions subsystem lets an agent define versioned Cordis packages, run their host and browser halves, and query approved runtime metadata before writing code. Package lifecycle and sandbox behavior belong to the [`packages/extensions`](../../packages/extensions/README.md) package group.
6
-
7
- <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
8
-
9
- <a id="cordis-surface"></a>
10
-
11
- ## Cordis API
12
-
13
- Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
14
-
15
- <a id="ctxcordisinspect--cordisinspectregistryservice"></a>
16
-
17
- ### `ctx.cordisInspect` — `CordisInspectRegistryService`
18
-
19
- Registry and cross-page router behind the two model-facing inspect tools.
20
-
21
- ```ts cordis-catalog
22
- /**
23
- * Register one Host provider.
24
- * @param registration - manifest and local query handler.
25
- * @returns idempotent disposer.
26
- */
27
- register(registration: HostCordisInspectProviderRegistration): () => void
28
-
29
- /**
30
- * Replace the mirrored Client provider directory.
31
- * @param providers - complete Client manifest snapshot.
32
- */
33
- syncClientManifest(providers: readonly CordisInspectProviderManifest[]): void
34
-
35
- /**
36
- * Return the complete known Host and Client provider directory.
37
- * @returns Host providers followed by the Client providers.
38
- */
39
- list(): CordisInspectProviderView[]
40
-
41
- /**
42
- * Execute one provider query on its owning platform.
43
- * @param platform - Host or Client runtime.
44
- * @param providerId - provider selected from {@link list}.
45
- * @param methodName - declared method name.
46
- * @param input - optional lossless JSON input.
47
- * @param agent - requesting Agent and scope.
48
- * @param signal - tool-call cancellation.
49
- * @returns provider JSON data; Client queries fail fast when Gateway has no live Client
50
- * and retain only the first observed failure diagnostic for timeout reporting.
51
- */
52
- async query( platform: CordisInspectPlatform, providerId: string, methodName: string, input: JsonValue | undefined, agent: Agent, signal: AbortSignal, ): Promise<JsonValue>
53
-
54
- /**
55
- * Accept the first valid Client response for a pending query.
56
- * @param agent - Agent whose Session owns the query.
57
- * @param requestId - Pending Client query identity.
58
- * @param resolution - Client provider result or failure.
59
- * @returns acknowledgement with accepted true only for a success that settles the query; only the first failure diagnostic is retained.
60
- */
61
- resolveClientQuery( agent: Agent, requestId: CordisInspectRequestId, resolution: CordisInspectQueryResolution, ): CordisInspectResolveAck
62
- ```
63
-
64
- Types: [Agent](core.md)
65
-
66
- Source: [`packages/extensions/cordis-host-runner/src/inspect-registry.ts`](../../packages/extensions/cordis-host-runner/src/inspect-registry.ts)
67
-
68
- <a id="ctxdynamiccordisrunner--dynamiccordisrunnerservice"></a>
69
-
70
- ### `ctx.dynamicCordisRunner` — `DynamicCordisRunnerService`
71
-
72
- Dynamic Plugin registry and Host-half lifecycle.
73
-
74
- ```ts cordis-catalog
75
- /**
76
- * Define a new Plugin's first Package or append a Package to an existing Plugin.
77
- * @param request - Session ownership, Plugin selection, metadata, and source code.
78
- * @returns Host-minted Plugin and Package identities with declared-half metadata.
79
- */
80
- define(request: DynamicCordisDefineRequest): DynamicCordisDefineReceipt
81
-
82
- /**
83
- * Remove a Plugin, its active run, and all immutable Packages.
84
- * @param agent - Agent whose Session must own the Plugin.
85
- * @param pluginId - Stable Plugin identity to remove.
86
- * @returns Whether removal succeeded and whether it stopped an active run.
87
- */
88
- async undefine(agent: Agent, pluginId: CordisDynamicPluginId): Promise<DynamicCordisUndefineReceipt>
89
-
90
- /**
91
- * Remove a Plugin from the user panel and queue the resulting state change for the model's next step.
92
- * @param agent - Agent whose Session owns the Plugin and receives the context.
93
- * @param pluginId - Stable Plugin identity to remove.
94
- * @returns Whether removal succeeded and whether it stopped an active run.
95
- */
96
- @Remote('undefineFromPanel') async undefineFromPanel(agent: Agent, pluginId: CordisDynamicPluginId): Promise<DynamicCordisUndefineReceipt>
97
-
98
- /**
99
- * Start or update one Package for a model tool call. An unauthorized Client
100
- * Package waits for approval; Plugin-wide authorization covers later versions.
101
- * @param agent - Agent whose Session must own the Plugin.
102
- * @param pluginId - Stable Plugin identity to activate.
103
- * @param packageId - Immutable Package version to activate.
104
- * @param mode - Whether to run the current version or switch versions.
105
- * @param signal - Tool-call cancellation signal while the activation request is being created.
106
- * @returns The successful activation identity or an actionable refusal.
107
- */
108
- async run( agent: Agent, pluginId: CordisDynamicPluginId, packageId: CordisDynamicPackageId, mode: CordisDynamicRunMode, signal?: AbortSignal, ): Promise<DynamicCordisRunResponse>
109
-
110
- /**
111
- * Start Host code for an approved request or a direct panel gesture.
112
- * @param agent - Agent whose Session must own the Plugin.
113
- * @param pluginId - Stable Plugin identity to activate.
114
- * @param packageId - Immutable Package version to activate.
115
- * @param mode - Whether to run the current version or switch versions.
116
- * @param requestId - Model-driven request identity, or null for a direct user gesture.
117
- * @param approveFutureVersions - Whether this approval covers later Packages of the same Plugin.
118
- * @returns The exact Host activation or a failure message.
119
- */
120
- @Remote('runHostHalf') async runHostHalf( agent: Agent, pluginId: CordisDynamicPluginId, packageId: CordisDynamicPackageId, mode: CordisDynamicRunMode, requestId: ApprovalRequestId | null, approveFutureVersions: boolean, ): Promise<DynamicCordisHostHalfResult>
121
-
122
- /**
123
- * Fetch Client code for the exact active run.
124
- * @param agent - Agent whose Session must own the Plugin.
125
- * @param pluginId - Stable Plugin identity to read.
126
- * @param pluginRunId - Exact active run authorized to receive source.
127
- * @returns Client source and its Plugin, Package, and run identities.
128
- */
129
- @Remote('getClientCode') getClientCode( agent: Agent, pluginId: CordisDynamicPluginId, pluginRunId: CordisDynamicPluginRunId, ): DynamicCordisClientSource
130
-
131
- /**
132
- * Resolve one model-driven Client activation request.
133
- * @param requestId - Request identity to settle once.
134
- * @param resolution - Browser refusal or exact Client activation result.
135
- * @returns Whether the still-pending request accepted this resolution.
136
- */
137
- @Remote('resolveRequestRun') async resolveRequestRun( requestId: ApprovalRequestId, resolution: DynamicCordisRunResolution, ): Promise<DynamicCordisResolveAck>
138
-
139
- /**
140
- * Settle a direct panel run after this page loaded or failed its Client half.
141
- * @param agent - Agent whose Session must own the Plugin.
142
- * @param pluginId - Stable Plugin identity being settled.
143
- * @param resolution - Exact Client activation result from the acting page.
144
- * @returns The committed activation or its failure.
145
- */
146
- @Remote('settleUserRun') async settleUserRun( agent: Agent, pluginId: CordisDynamicPluginId, resolution: DynamicCordisRunResolution, ): Promise<DynamicCordisRunResponse>
147
-
148
- /**
149
- * Stop the active run while retaining every Package version.
150
- * @param agent - Agent whose Session must own the Plugin.
151
- * @param pluginId - Stable Plugin identity to stop.
152
- * @returns Success or the reason no run was stopped.
153
- */
154
- async stop(agent: Agent, pluginId: CordisDynamicPluginId): Promise<DynamicCordisStopResponse>
155
-
156
- /**
157
- * Stop a Plugin from the user panel and queue the resulting state change for the model's next step.
158
- * @param agent - Agent whose Session owns the Plugin and receives the context.
159
- * @param pluginId - Stable Plugin identity to stop.
160
- * @returns Success or the reason no run was stopped.
161
- */
162
- @Remote('stopFromPanel') async stopFromPanel(agent: Agent, pluginId: CordisDynamicPluginId): Promise<DynamicCordisStopResponse>
163
-
164
- /**
165
- * Replace the Host mirror of the Client inspect provider directory.
166
- * @param providers - complete Client provider manifest.
167
- * @returns null after accepting the manifest.
168
- */
169
- @Remote('syncInspectManifest') syncInspectManifest(providers: readonly CordisInspectProviderManifest[]): null
170
-
171
- /**
172
- * Submit a Client inspect result or failure for a pending query.
173
- * @param agent - Session that owns the query.
174
- * @param requestId - exact pending query identity.
175
- * @param resolution - provider result or structured refusal.
176
- * @returns acknowledgement with accepted true only for a valid success that settles the query;
177
- * pending-query failures return { accepted: false } and retain only the first diagnostic.
178
- */
179
- @Remote('resolveInspectQuery') resolveInspectQuery( agent: Agent, requestId: CordisInspectRequestId, resolution: CordisInspectQueryResolution, ): CordisInspectResolveAck
180
-
181
- /**
182
- * Frame-wide inventory, grouped as one row per stable Plugin.
183
- * @returns Source-free metadata for every process-local Plugin.
184
- */
185
- @Remote('inventory') inventory(): DynamicCordisInventoryRow[]
186
-
187
- /**
188
- * Read one Session's Host-rich state for inspection and result rendering.
189
- * @param agent - Agent whose Session selects visible Plugins.
190
- * @returns Plugin versions, active runs, Host fibers, and render failures.
191
- */
192
- snapshot(agent: Agent): DynamicCordisSnapshotRow[]
193
-
194
- /**
195
- * Read source-free context for an explicit `@pluginId` user gesture.
196
- * @param agent - Agent whose Session must own the Plugin.
197
- * @param pluginId - Stable Plugin identity referenced by the user.
198
- * @returns The preferred modification base, or undefined when unavailable.
199
- */
200
- reference(agent: Agent, pluginId: CordisDynamicPluginId): DynamicCordisReference | undefined
201
-
202
- /**
203
- * List source-free Plugin summaries owned by one Session.
204
- * @param agent - Agent whose Session selects visible Plugins.
205
- * @returns one summary per Plugin in creation order.
206
- */
207
- listPlugins(agent: Agent): DynamicCordisPluginInspection[]
208
-
209
- /**
210
- * Inspect one Plugin without returning Package source.
211
- * @param agent - Agent whose Session must own the Plugin.
212
- * @param pluginId - stable Plugin identity.
213
- * @returns version pointers, latest run, and all Package summaries.
214
- */
215
- inspectPlugin(agent: Agent, pluginId: CordisDynamicPluginId): DynamicCordisPluginInspection
216
-
217
- /**
218
- * Read one exact immutable Package and its Host and Client source.
219
- * @param agent - Agent whose Session must own the Plugin.
220
- * @param pluginId - Stable Plugin identity that owns the Package.
221
- * @param packageId - Exact immutable Package identity to inspect.
222
- * @returns Package metadata, source, and the Plugin's lifecycle pointers.
223
- */
224
- inspectPackage( agent: Agent, pluginId: CordisDynamicPluginId, packageId: CordisDynamicPackageId, ): DynamicCordisPackageInspection
225
-
226
- /**
227
- * Record a post-load render failure for the exact active run.
228
- * @param agent - Agent whose Session must own the Plugin.
229
- * @param pluginId - Stable Plugin identity that rendered.
230
- * @param pluginRunId - Exact active run that produced the failure.
231
- * @param failure - Slot, message, and entry-retirement result.
232
- * @returns Null after recording or ignoring a stale report.
233
- */
234
- @Remote('reportRenderFailure') async reportRenderFailure( agent: Agent, pluginId: CordisDynamicPluginId, pluginRunId: CordisDynamicPluginRunId, failure: DynamicCordisRenderFailure, ): Promise<null>
235
-
236
- /**
237
- * Report a Client guard rejection that happened after the Package completed activation.
238
- * @param agent - Agent whose Session must own the Plugin.
239
- * @param pluginId - Stable Plugin identity whose Client code was rejected.
240
- * @param pluginRunId - Exact active run that produced the rejection.
241
- * @param failure - Original guard message and stack.
242
- * @returns Null after reporting or ignoring a stale/startup failure.
243
- */
244
- @Remote('reportClientGuardFailure') async reportClientGuardFailure( agent: Agent, pluginId: CordisDynamicPluginId, pluginRunId: CordisDynamicPluginRunId, failure: CordisErrorDetails, ): Promise<null>
245
-
246
- /**
247
- * Invoke an active Host method while rejecting stale Client runs.
248
- * @param pluginId - Stable Plugin identity that owns the method.
249
- * @param pluginRunId - Exact active run authorizing the call.
250
- * @param method - Registered Host handler name.
251
- * @param args - JSON argument delivered to the handler.
252
- * @returns The JSON result or a typed invocation failure.
253
- */
254
- @Remote('invoke') async invoke( pluginId: CordisDynamicPluginId, pluginRunId: CordisDynamicPluginRunId, method: string, args: JsonValue, ): Promise<DynamicCordisInvokeResult>
255
- ```
256
-
257
- Types: [Agent](core.md)
258
-
259
- Source: [`packages/extensions/cordis-host-runner/src/index.ts`](../../packages/extensions/cordis-host-runner/src/index.ts)
260
-
261
- <a id="ctxinspector--inspectorservice"></a>
262
-
263
- ### `ctx.inspector` — `InspectorService`
264
-
265
- Shared Host/Client service façade over the realm's source publisher.
266
-
267
- ```ts cordis-catalog
268
- /**
269
- * Publish one JSON observation without waiting for Worker delivery.
270
- * @param topic - Domain-owned topic name.
271
- * @param payload - JSON value validated before it reaches the carrier.
272
- * @param monotonicMs - Source-clock timestamp; defaults to `performance.now()`.
273
- */
274
- publish(topic: string, payload: InspectorJsonValue, monotonicMs?: number): void
275
- ```
276
-
277
- Source: [`packages/experimental/inspector/src/index.ts`](../../packages/experimental/inspector/src/index.ts)
278
-
279
- <a id="cordis-events"></a>
280
-
281
- ### `cordis/*` events
282
-
283
- <a id="cordisdynamic-package--emit"></a>
284
-
285
- #### `cordis/dynamic-package` — emit
286
-
287
- One exact Plugin/Package activation is now live in the Host.
288
-
289
- ```ts cordis-catalog
290
- /**
291
- * One exact Plugin/Package activation is now live in the Host.
292
- * @param pkg - stable plugin, immutable package, run identity, and label.
293
- * @mode emit
294
- */
295
- 'cordis/dynamic-package'(pkg: DynamicCordisPackage): void
296
- ```
297
-
298
- Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
299
-
300
- <a id="cordisdynamic-retract--emit"></a>
301
-
302
- #### `cordis/dynamic-retract` — emit
303
-
304
- One exact activation was withdrawn.
305
-
306
- ```ts cordis-catalog
307
- /**
308
- * One exact activation was withdrawn.
309
- * @param retracted - plugin, package, and run identity.
310
- * @mode emit
311
- */
312
- 'cordis/dynamic-retract'(retracted: DynamicCordisRetracted): void
313
- ```
314
-
315
- Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
316
-
317
- <a id="cordisinspect-query--emit"></a>
318
-
319
- #### `cordis/inspect-query` — emit
320
-
321
- Request a live read-only query from the Client inspect registry.
322
-
323
- ```ts cordis-catalog
324
- /**
325
- * Request a live read-only query from the Client inspect registry.
326
- * @param request - correlation, Session, provider, method, and JSON input.
327
- * @mode emit
328
- */
329
- 'cordis/inspect-query'(request: CordisInspectQueryRequest): void
330
- ```
331
-
332
- Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
333
-
334
- <a id="cordisinspect-query-resolved--emit"></a>
335
-
336
- #### `cordis/inspect-query-resolved` — emit
337
-
338
- Notify every Client that an inspect query has settled or been cancelled.
339
-
340
- ```ts cordis-catalog
341
- /**
342
- * Notify every Client that an inspect query has settled or been cancelled.
343
- * @param resolved - exact query identity that is no longer answerable.
344
- * @mode emit
345
- */
346
- 'cordis/inspect-query-resolved'(resolved: CordisInspectQueryResolved): void
347
- ```
348
-
349
- Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
350
-
351
- <a id="cordisrequest-run--emit"></a>
352
-
353
- #### `cordis/request-run` — emit
354
-
355
- A Client-bearing activation needs a browser page, and may require a user decision.
356
-
357
- ```ts cordis-catalog
358
- /**
359
- * A Client-bearing activation needs a browser page, and may require a user decision.
360
- * @param request - correlation identity, owner, target version, mode, and approval requirement.
361
- * @mode emit
362
- */
363
- 'cordis/request-run'(request: DynamicCordisRunRequest): void
364
- ```
365
-
366
- Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
367
-
368
- <a id="cordisrequest-run-resolved--emit"></a>
369
-
370
- #### `cordis/request-run-resolved` — emit
371
-
372
- A pending Client activation request left the answerable state.
373
-
374
- ```ts cordis-catalog
375
- /**
376
- * A pending Client activation request left the answerable state.
377
- * @param resolved - request identity and outcome.
378
- * @mode emit
379
- */
380
- 'cordis/request-run-resolved'(resolved: DynamicCordisRequestResolved): void
381
- ```
382
-
383
- Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
384
- <!-- END GENERATED cordis-surface -->
1
+ # Extensions
2
+
3
+ English | [中文](extensions.zh.md)
4
+
5
+ The extensions subsystem lets an agent define versioned Cordis packages, run their host and browser halves, and query approved runtime metadata before writing code. Package lifecycle and sandbox behavior belong to the [`packages/extensions`](../../packages/extensions/README.md) package group.
6
+
7
+ <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
8
+
9
+ <a id="cordis-surface"></a>
10
+
11
+ ## Cordis API
12
+
13
+ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
14
+
15
+ <a id="ctxcordisinspect--cordisinspectregistryservice"></a>
16
+
17
+ ### `ctx.cordisInspect` — `CordisInspectRegistryService`
18
+
19
+ Registry and cross-page router behind the two model-facing inspect tools.
20
+
21
+ ```ts cordis-catalog
22
+ /**
23
+ * Register one Host provider.
24
+ * @param registration - manifest and local query handler.
25
+ * @returns idempotent disposer.
26
+ */
27
+ register(registration: HostCordisInspectProviderRegistration): () => void
28
+
29
+ /**
30
+ * Replace the mirrored Client provider directory.
31
+ * @param providers - complete Client manifest snapshot.
32
+ */
33
+ syncClientManifest(providers: readonly CordisInspectProviderManifest[]): void
34
+
35
+ /**
36
+ * Return the complete known Host and Client provider directory.
37
+ * @returns Host providers followed by the Client providers.
38
+ */
39
+ list(): CordisInspectProviderView[]
40
+
41
+ /**
42
+ * Execute one provider query on its owning platform.
43
+ * @param platform - Host or Client runtime.
44
+ * @param providerId - provider selected from {@link list}.
45
+ * @param methodName - declared method name.
46
+ * @param input - optional lossless JSON input.
47
+ * @param agent - requesting Agent and scope.
48
+ * @param signal - tool-call cancellation.
49
+ * @returns provider JSON data; Client queries fail fast when Gateway has no live Client
50
+ * and retain only the first observed failure diagnostic for timeout reporting.
51
+ * @throws {InspectError} for an unknown provider or method, invalid input or output, a missing
52
+ * Client, a Client timeout, or a Host provider failure without its own `HarnessError`; cancellation
53
+ * rethrows the signal's reason.
54
+ */
55
+ async query( platform: CordisInspectPlatform, providerId: string, methodName: string, input: JsonValue | undefined, agent: Agent, signal: AbortSignal, ): Promise<JsonValue>
56
+
57
+ /**
58
+ * Accept the first valid Client response for a pending query.
59
+ * @param agent - Agent whose Session owns the query.
60
+ * @param requestId - Pending Client query identity.
61
+ * @param resolution - Client provider result or failure.
62
+ * @returns acknowledgement with accepted true only for a success that settles the query; only the first failure diagnostic is retained.
63
+ */
64
+ resolveClientQuery( agent: Agent, requestId: CordisInspectRequestId, resolution: CordisInspectQueryResolution, ): CordisInspectResolveAck
65
+ ```
66
+
67
+ Types: [Agent](core.md)
68
+
69
+ Source: [`packages/extensions/cordis-host-runner/src/inspect-registry.ts`](../../packages/extensions/cordis-host-runner/src/inspect-registry.ts)
70
+
71
+ <a id="ctxdynamiccordisrunner--dynamiccordisrunnerservice"></a>
72
+
73
+ ### `ctx.dynamicCordisRunner` — `DynamicCordisRunnerService`
74
+
75
+ Dynamic Plugin registry and Host-half lifecycle.
76
+
77
+ ```ts cordis-catalog
78
+ /**
79
+ * Define a new Plugin's first Package or append a Package to an existing Plugin.
80
+ * @param request - Session ownership, Plugin selection, metadata, and source code.
81
+ * @returns Host-minted Plugin and Package identities with declared-half metadata.
82
+ */
83
+ define(request: DynamicCordisDefineRequest): DynamicCordisDefineReceipt
84
+
85
+ /**
86
+ * Remove a Plugin, its active run, and all immutable Packages.
87
+ * @param agent - Agent whose Session must own the Plugin.
88
+ * @param pluginId - Stable Plugin identity to remove.
89
+ * @returns Whether removal succeeded and whether it stopped an active run.
90
+ */
91
+ async undefine(agent: Agent, pluginId: CordisDynamicPluginId): Promise<DynamicCordisUndefineReceipt>
92
+
93
+ /**
94
+ * Remove a Plugin from the user panel and queue the resulting state change for the model's next step.
95
+ * @param agent - Agent whose Session owns the Plugin and receives the context.
96
+ * @param pluginId - Stable Plugin identity to remove.
97
+ * @returns Whether removal succeeded and whether it stopped an active run.
98
+ */
99
+ @Remote('undefineFromPanel') async undefineFromPanel(agent: Agent, pluginId: CordisDynamicPluginId): Promise<DynamicCordisUndefineReceipt>
100
+
101
+ /**
102
+ * Start or update one Package for a model tool call. An unauthorized Client
103
+ * Package waits for approval; Plugin-wide authorization covers later versions.
104
+ * @param agent - Agent whose Session must own the Plugin.
105
+ * @param pluginId - Stable Plugin identity to activate.
106
+ * @param packageId - Immutable Package version to activate.
107
+ * @param mode - Whether to run the current version or switch versions.
108
+ * @param signal - Tool-call cancellation signal while the activation request is being created.
109
+ * @returns The successful activation identity or an actionable refusal.
110
+ */
111
+ async run( agent: Agent, pluginId: CordisDynamicPluginId, packageId: CordisDynamicPackageId, mode: CordisDynamicRunMode, signal?: AbortSignal, ): Promise<DynamicCordisRunResponse>
112
+
113
+ /**
114
+ * Start Host code for an approved request or a direct panel gesture.
115
+ * @param agent - Agent whose Session must own the Plugin.
116
+ * @param pluginId - Stable Plugin identity to activate.
117
+ * @param packageId - Immutable Package version to activate.
118
+ * @param mode - Whether to run the current version or switch versions.
119
+ * @param requestId - Model-driven request identity, or null for a direct user gesture.
120
+ * @param approveFutureVersions - Whether this approval covers later Packages of the same Plugin.
121
+ * @returns The exact Host activation or a failure message.
122
+ */
123
+ @Remote('runHostHalf') async runHostHalf( agent: Agent, pluginId: CordisDynamicPluginId, packageId: CordisDynamicPackageId, mode: CordisDynamicRunMode, requestId: ApprovalRequestId | null, approveFutureVersions: boolean, ): Promise<DynamicCordisHostHalfResult>
124
+
125
+ /**
126
+ * Fetch Client code for the exact active run.
127
+ * @param agent - Agent whose Session must own the Plugin.
128
+ * @param pluginId - Stable Plugin identity to read.
129
+ * @param pluginRunId - Exact active run authorized to receive source.
130
+ * @returns Client source and its Plugin, Package, and run identities.
131
+ */
132
+ @Remote('getClientCode') getClientCode( agent: Agent, pluginId: CordisDynamicPluginId, pluginRunId: CordisDynamicPluginRunId, ): DynamicCordisClientSource
133
+
134
+ /**
135
+ * Resolve one model-driven Client activation request.
136
+ * @param requestId - Request identity to settle once.
137
+ * @param resolution - Browser refusal or exact Client activation result.
138
+ * @returns Whether the still-pending request accepted this resolution.
139
+ */
140
+ @Remote('resolveRequestRun') async resolveRequestRun( requestId: ApprovalRequestId, resolution: DynamicCordisRunResolution, ): Promise<DynamicCordisResolveAck>
141
+
142
+ /**
143
+ * Settle a direct panel run after this page loaded or failed its Client half.
144
+ * @param agent - Agent whose Session must own the Plugin.
145
+ * @param pluginId - Stable Plugin identity being settled.
146
+ * @param resolution - Exact Client activation result from the acting page.
147
+ * @returns The committed activation or its failure.
148
+ */
149
+ @Remote('settleUserRun') async settleUserRun( agent: Agent, pluginId: CordisDynamicPluginId, resolution: DynamicCordisRunResolution, ): Promise<DynamicCordisRunResponse>
150
+
151
+ /**
152
+ * Stop the active run while retaining every Package version.
153
+ * @param agent - Agent whose Session must own the Plugin.
154
+ * @param pluginId - Stable Plugin identity to stop.
155
+ * @returns Success or the reason no run was stopped.
156
+ */
157
+ async stop(agent: Agent, pluginId: CordisDynamicPluginId): Promise<DynamicCordisStopResponse>
158
+
159
+ /**
160
+ * Stop a Plugin from the user panel and queue the resulting state change for the model's next step.
161
+ * @param agent - Agent whose Session owns the Plugin and receives the context.
162
+ * @param pluginId - Stable Plugin identity to stop.
163
+ * @returns Success or the reason no run was stopped.
164
+ */
165
+ @Remote('stopFromPanel') async stopFromPanel(agent: Agent, pluginId: CordisDynamicPluginId): Promise<DynamicCordisStopResponse>
166
+
167
+ /**
168
+ * Replace the Host mirror of the Client inspect provider directory.
169
+ * @param providers - complete Client provider manifest.
170
+ * @returns null after accepting the manifest.
171
+ */
172
+ @Remote('syncInspectManifest') syncInspectManifest(providers: readonly CordisInspectProviderManifest[]): null
173
+
174
+ /**
175
+ * Submit a Client inspect result or failure for a pending query.
176
+ * @param agent - Session that owns the query.
177
+ * @param requestId - exact pending query identity.
178
+ * @param resolution - provider result or structured refusal.
179
+ * @returns acknowledgement with accepted true only for a valid success that settles the query;
180
+ * pending-query failures return { accepted: false } and retain only the first diagnostic.
181
+ */
182
+ @Remote('resolveInspectQuery') resolveInspectQuery( agent: Agent, requestId: CordisInspectRequestId, resolution: CordisInspectQueryResolution, ): CordisInspectResolveAck
183
+
184
+ /**
185
+ * Frame-wide inventory, grouped as one row per stable Plugin.
186
+ * @returns Source-free metadata for every process-local Plugin.
187
+ */
188
+ @Remote('inventory') inventory(): DynamicCordisInventoryRow[]
189
+
190
+ /**
191
+ * Read one Session's Host-rich state for inspection and result rendering.
192
+ * @param agent - Agent whose Session selects visible Plugins.
193
+ * @returns Plugin versions, active runs, Host fibers, and render failures.
194
+ */
195
+ snapshot(agent: Agent): DynamicCordisSnapshotRow[]
196
+
197
+ /**
198
+ * Read source-free context for an explicit `@pluginId` user gesture.
199
+ * @param agent - Agent whose Session must own the Plugin.
200
+ * @param pluginId - Stable Plugin identity referenced by the user.
201
+ * @returns The preferred modification base, or undefined when unavailable.
202
+ */
203
+ reference(agent: Agent, pluginId: CordisDynamicPluginId): DynamicCordisReference | undefined
204
+
205
+ /**
206
+ * List source-free Plugin summaries owned by one Session.
207
+ * @param agent - Agent whose Session selects visible Plugins.
208
+ * @returns one summary per Plugin in creation order.
209
+ */
210
+ listPlugins(agent: Agent): DynamicCordisPluginInspection[]
211
+
212
+ /**
213
+ * Inspect one Plugin without returning Package source.
214
+ * @param agent - Agent whose Session must own the Plugin.
215
+ * @param pluginId - stable Plugin identity.
216
+ * @returns version pointers, latest run, and all Package summaries.
217
+ */
218
+ inspectPlugin(agent: Agent, pluginId: CordisDynamicPluginId): DynamicCordisPluginInspection
219
+
220
+ /**
221
+ * Read one exact immutable Package and its Host and Client source.
222
+ * @param agent - Agent whose Session must own the Plugin.
223
+ * @param pluginId - Stable Plugin identity that owns the Package.
224
+ * @param packageId - Exact immutable Package identity to inspect.
225
+ * @returns Package metadata, source, and the Plugin's lifecycle pointers.
226
+ */
227
+ inspectPackage( agent: Agent, pluginId: CordisDynamicPluginId, packageId: CordisDynamicPackageId, ): DynamicCordisPackageInspection
228
+
229
+ /**
230
+ * Record a post-load render failure for the exact active run.
231
+ * @param agent - Agent whose Session must own the Plugin.
232
+ * @param pluginId - Stable Plugin identity that rendered.
233
+ * @param pluginRunId - Exact active run that produced the failure.
234
+ * @param failure - Slot, message, and entry-retirement result.
235
+ * @returns Null after recording or ignoring a stale report.
236
+ */
237
+ @Remote('reportRenderFailure') async reportRenderFailure( agent: Agent, pluginId: CordisDynamicPluginId, pluginRunId: CordisDynamicPluginRunId, failure: DynamicCordisRenderFailure, ): Promise<null>
238
+
239
+ /**
240
+ * Report a Client guard rejection that happened after the Package completed activation.
241
+ * @param agent - Agent whose Session must own the Plugin.
242
+ * @param pluginId - Stable Plugin identity whose Client code was rejected.
243
+ * @param pluginRunId - Exact active run that produced the rejection.
244
+ * @param failure - Original guard message and stack.
245
+ * @returns Null after reporting or ignoring a stale/startup failure.
246
+ */
247
+ @Remote('reportClientGuardFailure') async reportClientGuardFailure( agent: Agent, pluginId: CordisDynamicPluginId, pluginRunId: CordisDynamicPluginRunId, failure: CordisErrorDetails, ): Promise<null>
248
+
249
+ /**
250
+ * Invoke an active Host method while rejecting stale Client runs.
251
+ * @param pluginId - Stable Plugin identity that owns the method.
252
+ * @param pluginRunId - Exact active run authorizing the call.
253
+ * @param method - Registered Host handler name.
254
+ * @param args - JSON argument delivered to the handler.
255
+ * @returns The JSON result or a typed invocation failure.
256
+ */
257
+ @Remote('invoke') async invoke( pluginId: CordisDynamicPluginId, pluginRunId: CordisDynamicPluginRunId, method: string, args: JsonValue, ): Promise<DynamicCordisInvokeResult>
258
+ ```
259
+
260
+ Types: [Agent](core.md)
261
+
262
+ Source: [`packages/extensions/cordis-host-runner/src/index.ts`](../../packages/extensions/cordis-host-runner/src/index.ts)
263
+
264
+ <a id="ctxinspector--inspectorservice"></a>
265
+
266
+ ### `ctx.inspector` — `InspectorService`
267
+
268
+ Shared Host/Client service façade over the realm's source publisher.
269
+
270
+ ```ts cordis-catalog
271
+ /**
272
+ * Publish one JSON observation without waiting for Worker delivery.
273
+ * @param topic - Domain-owned topic name.
274
+ * @param payload - JSON value validated before it reaches the carrier.
275
+ * @param monotonicMs - Source-clock timestamp; defaults to `performance.now()`.
276
+ */
277
+ publish(topic: string, payload: InspectorJsonValue, monotonicMs?: number): void
278
+ ```
279
+
280
+ Source: [`packages/experimental/inspector/src/index.ts`](../../packages/experimental/inspector/src/index.ts)
281
+
282
+ <a id="cordis-events"></a>
283
+
284
+ ### `cordis/*` events
285
+
286
+ <a id="cordisdynamic-package--emit"></a>
287
+
288
+ #### `cordis/dynamic-package` — emit
289
+
290
+ One exact Plugin/Package activation is now live in the Host.
291
+
292
+ ```ts cordis-catalog
293
+ /**
294
+ * One exact Plugin/Package activation is now live in the Host.
295
+ * @param pkg - stable plugin, immutable package, run identity, and label.
296
+ * @mode emit
297
+ */
298
+ 'cordis/dynamic-package'(pkg: DynamicCordisPackage): void
299
+ ```
300
+
301
+ Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
302
+
303
+ <a id="cordisdynamic-retract--emit"></a>
304
+
305
+ #### `cordis/dynamic-retract` — emit
306
+
307
+ One exact activation was withdrawn.
308
+
309
+ ```ts cordis-catalog
310
+ /**
311
+ * One exact activation was withdrawn.
312
+ * @param retracted - plugin, package, and run identity.
313
+ * @mode emit
314
+ */
315
+ 'cordis/dynamic-retract'(retracted: DynamicCordisRetracted): void
316
+ ```
317
+
318
+ Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
319
+
320
+ <a id="cordisinspect-query--emit"></a>
321
+
322
+ #### `cordis/inspect-query` — emit
323
+
324
+ Request a live read-only query from the Client inspect registry.
325
+
326
+ ```ts cordis-catalog
327
+ /**
328
+ * Request a live read-only query from the Client inspect registry.
329
+ * @param request - correlation, Session, provider, method, and JSON input.
330
+ * @mode emit
331
+ */
332
+ 'cordis/inspect-query'(request: CordisInspectQueryRequest): void
333
+ ```
334
+
335
+ Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
336
+
337
+ <a id="cordisinspect-query-resolved--emit"></a>
338
+
339
+ #### `cordis/inspect-query-resolved` — emit
340
+
341
+ Notify every Client that an inspect query has settled or been cancelled.
342
+
343
+ ```ts cordis-catalog
344
+ /**
345
+ * Notify every Client that an inspect query has settled or been cancelled.
346
+ * @param resolved - exact query identity that is no longer answerable.
347
+ * @mode emit
348
+ */
349
+ 'cordis/inspect-query-resolved'(resolved: CordisInspectQueryResolved): void
350
+ ```
351
+
352
+ Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
353
+
354
+ <a id="cordisrequest-run--emit"></a>
355
+
356
+ #### `cordis/request-run` — emit
357
+
358
+ A Client-bearing activation needs a browser page, and may require a user decision.
359
+
360
+ ```ts cordis-catalog
361
+ /**
362
+ * A Client-bearing activation needs a browser page, and may require a user decision.
363
+ * @param request - correlation identity, owner, target version, mode, and approval requirement.
364
+ * @mode emit
365
+ */
366
+ 'cordis/request-run'(request: DynamicCordisRunRequest): void
367
+ ```
368
+
369
+ Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
370
+
371
+ <a id="cordisrequest-run-resolved--emit"></a>
372
+
373
+ #### `cordis/request-run-resolved` — emit
374
+
375
+ A pending Client activation request left the answerable state.
376
+
377
+ ```ts cordis-catalog
378
+ /**
379
+ * A pending Client activation request left the answerable state.
380
+ * @param resolved - request identity and outcome.
381
+ * @mode emit
382
+ */
383
+ 'cordis/request-run-resolved'(resolved: DynamicCordisRequestResolved): void
384
+ ```
385
+
386
+ Source: [`packages/extensions/cordis-host-runner/src/types.ts`](../../packages/extensions/cordis-host-runner/src/types.ts)
387
+ <!-- END GENERATED cordis-surface -->