@mono-agent/agent-app 0.20.10 → 0.20.14

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 (222) hide show
  1. package/README.md +33 -18
  2. package/dist/app-config.d.ts +2 -2
  3. package/dist/app-controller-channels.d.ts +4 -0
  4. package/dist/app-controller-channels.d.ts.map +1 -1
  5. package/dist/app-controller-channels.js +20 -2
  6. package/dist/app-controller-channels.js.map +1 -1
  7. package/dist/app-controller-continuation.d.ts.map +1 -1
  8. package/dist/app-controller-continuation.js +2 -3
  9. package/dist/app-controller-continuation.js.map +1 -1
  10. package/dist/app-controller-lifecycle.d.ts +4 -0
  11. package/dist/app-controller-lifecycle.d.ts.map +1 -1
  12. package/dist/app-controller-lifecycle.js +7 -0
  13. package/dist/app-controller-lifecycle.js.map +1 -1
  14. package/dist/app-controller-monitors.d.ts +26 -0
  15. package/dist/app-controller-monitors.d.ts.map +1 -0
  16. package/dist/app-controller-monitors.js +127 -0
  17. package/dist/app-controller-monitors.js.map +1 -0
  18. package/dist/app-controller-responder.d.ts +7 -17
  19. package/dist/app-controller-responder.d.ts.map +1 -1
  20. package/dist/app-controller-responder.js +33 -69
  21. package/dist/app-controller-responder.js.map +1 -1
  22. package/dist/app-controller-utils.d.ts +1 -5
  23. package/dist/app-controller-utils.d.ts.map +1 -1
  24. package/dist/app-controller-utils.js +4 -21
  25. package/dist/app-controller-utils.js.map +1 -1
  26. package/dist/app-controller.d.ts +25 -11
  27. package/dist/app-controller.d.ts.map +1 -1
  28. package/dist/app-controller.js +36 -1
  29. package/dist/app-controller.js.map +1 -1
  30. package/dist/channel-drivers/slack.d.ts.map +1 -1
  31. package/dist/channel-drivers/slack.js +24 -0
  32. package/dist/channel-drivers/slack.js.map +1 -1
  33. package/dist/channel-drivers/telegram.d.ts.map +1 -1
  34. package/dist/channel-drivers/telegram.js +26 -0
  35. package/dist/channel-drivers/telegram.js.map +1 -1
  36. package/dist/channel-drivers/tui.d.ts +68 -8
  37. package/dist/channel-drivers/tui.d.ts.map +1 -1
  38. package/dist/channel-drivers/tui.js +388 -89
  39. package/dist/channel-drivers/tui.js.map +1 -1
  40. package/dist/channel-runtime-controls.d.ts +2 -1
  41. package/dist/channel-runtime-controls.d.ts.map +1 -1
  42. package/dist/channel-runtime-controls.js +79 -22
  43. package/dist/channel-runtime-controls.js.map +1 -1
  44. package/dist/cli-args.d.ts +4 -6
  45. package/dist/cli-args.d.ts.map +1 -1
  46. package/dist/cli-args.js +16 -36
  47. package/dist/cli-args.js.map +1 -1
  48. package/dist/cli-commands.d.ts.map +1 -1
  49. package/dist/cli-commands.js +11 -0
  50. package/dist/cli-commands.js.map +1 -1
  51. package/dist/cli-help.d.ts +26 -0
  52. package/dist/cli-help.d.ts.map +1 -1
  53. package/dist/cli-help.js +25 -34
  54. package/dist/cli-help.js.map +1 -1
  55. package/dist/cli-init-command.d.ts +1 -2
  56. package/dist/cli-init-command.d.ts.map +1 -1
  57. package/dist/cli-init-command.js +5 -49
  58. package/dist/cli-init-command.js.map +1 -1
  59. package/dist/config-reference.d.ts.map +1 -1
  60. package/dist/config-reference.js +161 -52
  61. package/dist/config-reference.js.map +1 -1
  62. package/dist/configuration-proposal-tool.d.ts.map +1 -1
  63. package/dist/configuration-proposal-tool.js +3 -11
  64. package/dist/configuration-proposal-tool.js.map +1 -1
  65. package/dist/configured-agent.d.ts +18 -3
  66. package/dist/configured-agent.d.ts.map +1 -1
  67. package/dist/configured-agent.js +67 -86
  68. package/dist/configured-agent.js.map +1 -1
  69. package/dist/conversation-title.d.ts.map +1 -1
  70. package/dist/conversation-title.js +9 -2
  71. package/dist/conversation-title.js.map +1 -1
  72. package/dist/doctor.d.ts +7 -13
  73. package/dist/doctor.d.ts.map +1 -1
  74. package/dist/doctor.js +191 -725
  75. package/dist/doctor.js.map +1 -1
  76. package/dist/first-run-readiness.d.ts.map +1 -1
  77. package/dist/first-run-readiness.js +0 -6
  78. package/dist/first-run-readiness.js.map +1 -1
  79. package/dist/local-configuration.d.ts.map +1 -1
  80. package/dist/local-configuration.js +9 -37
  81. package/dist/local-configuration.js.map +1 -1
  82. package/dist/memory-remember.d.ts +49 -0
  83. package/dist/memory-remember.d.ts.map +1 -0
  84. package/dist/memory-remember.js +190 -0
  85. package/dist/memory-remember.js.map +1 -0
  86. package/dist/memory-retrieval.d.ts +24 -0
  87. package/dist/memory-retrieval.d.ts.map +1 -1
  88. package/dist/memory-retrieval.js +23 -0
  89. package/dist/memory-retrieval.js.map +1 -1
  90. package/dist/model-effort-capabilities.d.ts +8 -9
  91. package/dist/model-effort-capabilities.d.ts.map +1 -1
  92. package/dist/model-effort-capabilities.js +17 -35
  93. package/dist/model-effort-capabilities.js.map +1 -1
  94. package/dist/modules/base.d.ts +3 -4
  95. package/dist/modules/base.d.ts.map +1 -1
  96. package/dist/modules/base.js +3 -5
  97. package/dist/modules/base.js.map +1 -1
  98. package/dist/modules/catalog.d.ts.map +1 -1
  99. package/dist/modules/catalog.js +11 -9
  100. package/dist/modules/catalog.js.map +1 -1
  101. package/dist/modules/known-tools.d.ts +2 -2
  102. package/dist/modules/known-tools.d.ts.map +1 -1
  103. package/dist/modules/known-tools.js +6 -0
  104. package/dist/modules/known-tools.js.map +1 -1
  105. package/dist/monitor-channel-routing.d.ts +20 -0
  106. package/dist/monitor-channel-routing.d.ts.map +1 -0
  107. package/dist/monitor-channel-routing.js +73 -0
  108. package/dist/monitor-channel-routing.js.map +1 -0
  109. package/dist/monitors-command.d.ts +23 -0
  110. package/dist/monitors-command.d.ts.map +1 -0
  111. package/dist/monitors-command.js +207 -0
  112. package/dist/monitors-command.js.map +1 -0
  113. package/dist/monitors-config.d.ts +74 -0
  114. package/dist/monitors-config.d.ts.map +1 -0
  115. package/dist/monitors-config.js +146 -0
  116. package/dist/monitors-config.js.map +1 -0
  117. package/dist/monitors-context.d.ts +58 -0
  118. package/dist/monitors-context.d.ts.map +1 -0
  119. package/dist/monitors-context.js +182 -0
  120. package/dist/monitors-context.js.map +1 -0
  121. package/dist/monitors-runtime.d.ts +36 -0
  122. package/dist/monitors-runtime.d.ts.map +1 -0
  123. package/dist/monitors-runtime.js +103 -0
  124. package/dist/monitors-runtime.js.map +1 -0
  125. package/dist/monitors-service.d.ts +71 -0
  126. package/dist/monitors-service.d.ts.map +1 -0
  127. package/dist/monitors-service.js +1665 -0
  128. package/dist/monitors-service.js.map +1 -0
  129. package/dist/monitors-store.d.ts +83 -0
  130. package/dist/monitors-store.d.ts.map +1 -0
  131. package/dist/monitors-store.js +283 -0
  132. package/dist/monitors-store.js.map +1 -0
  133. package/dist/process-jobs-context.d.ts +8 -0
  134. package/dist/process-jobs-context.d.ts.map +1 -1
  135. package/dist/process-jobs-context.js +11 -0
  136. package/dist/process-jobs-context.js.map +1 -1
  137. package/dist/process-jobs-protection.js +1 -1
  138. package/dist/process-jobs-protection.js.map +1 -1
  139. package/dist/process-jobs-runtime.d.ts.map +1 -1
  140. package/dist/process-jobs-runtime.js +1 -12
  141. package/dist/process-jobs-runtime.js.map +1 -1
  142. package/dist/process-jobs-service.d.ts.map +1 -1
  143. package/dist/process-jobs-service.js +3 -149
  144. package/dist/process-jobs-service.js.map +1 -1
  145. package/dist/process-output-redaction.d.ts +33 -0
  146. package/dist/process-output-redaction.d.ts.map +1 -0
  147. package/dist/process-output-redaction.js +149 -0
  148. package/dist/process-output-redaction.js.map +1 -0
  149. package/dist/provider-model-catalog.d.ts +78 -0
  150. package/dist/provider-model-catalog.d.ts.map +1 -0
  151. package/dist/provider-model-catalog.js +439 -0
  152. package/dist/provider-model-catalog.js.map +1 -0
  153. package/dist/provider-setup.d.ts +4 -13
  154. package/dist/provider-setup.d.ts.map +1 -1
  155. package/dist/provider-setup.js +5 -115
  156. package/dist/provider-setup.js.map +1 -1
  157. package/dist/readiness-probe-worker.d.ts +1 -2
  158. package/dist/readiness-probe-worker.d.ts.map +1 -1
  159. package/dist/readiness-probe-worker.js +3 -8
  160. package/dist/readiness-probe-worker.js.map +1 -1
  161. package/dist/readiness-probe.d.ts +1 -1
  162. package/dist/readiness-probe.d.ts.map +1 -1
  163. package/dist/readiness-probe.js +3 -33
  164. package/dist/readiness-probe.js.map +1 -1
  165. package/dist/request-model-override.d.ts +4 -36
  166. package/dist/request-model-override.d.ts.map +1 -1
  167. package/dist/request-model-override.js +58 -146
  168. package/dist/request-model-override.js.map +1 -1
  169. package/dist/runtime-option-extensions.d.ts +2 -4
  170. package/dist/runtime-option-extensions.d.ts.map +1 -1
  171. package/dist/runtime-option-extensions.js +4 -8
  172. package/dist/runtime-option-extensions.js.map +1 -1
  173. package/dist/runtime-routes.d.ts +5 -5
  174. package/dist/runtime-routes.d.ts.map +1 -1
  175. package/dist/runtime-routes.js +29 -18
  176. package/dist/runtime-routes.js.map +1 -1
  177. package/dist/sandbox-settings-cleanup.d.ts +15 -0
  178. package/dist/sandbox-settings-cleanup.d.ts.map +1 -0
  179. package/dist/sandbox-settings-cleanup.js +88 -0
  180. package/dist/sandbox-settings-cleanup.js.map +1 -0
  181. package/dist/trigger-overrides.d.ts +6 -0
  182. package/dist/trigger-overrides.d.ts.map +1 -1
  183. package/dist/trigger-overrides.js +36 -4
  184. package/dist/trigger-overrides.js.map +1 -1
  185. package/dist/untrusted-text.d.ts +36 -0
  186. package/dist/untrusted-text.d.ts.map +1 -0
  187. package/dist/untrusted-text.js +150 -0
  188. package/dist/untrusted-text.js.map +1 -0
  189. package/dist/wizard/answers.d.ts +3 -9
  190. package/dist/wizard/answers.d.ts.map +1 -1
  191. package/dist/wizard/answers.js +11 -36
  192. package/dist/wizard/answers.js.map +1 -1
  193. package/dist/wizard/from-flags.d.ts +1 -2
  194. package/dist/wizard/from-flags.d.ts.map +1 -1
  195. package/dist/wizard/from-flags.js +8 -3
  196. package/dist/wizard/from-flags.js.map +1 -1
  197. package/dist/wizard/model-discovery.d.ts +7 -8
  198. package/dist/wizard/model-discovery.d.ts.map +1 -1
  199. package/dist/wizard/model-discovery.js +58 -431
  200. package/dist/wizard/model-discovery.js.map +1 -1
  201. package/dist/wizard/presets.js +2 -2
  202. package/dist/wizard/presets.js.map +1 -1
  203. package/dist/wizard/prompts.d.ts +13 -12
  204. package/dist/wizard/prompts.d.ts.map +1 -1
  205. package/dist/wizard/prompts.js +24 -45
  206. package/dist/wizard/prompts.js.map +1 -1
  207. package/dist/wizard/run.d.ts.map +1 -1
  208. package/dist/wizard/run.js +29 -152
  209. package/dist/wizard/run.js.map +1 -1
  210. package/package.json +17 -17
  211. package/schema/mono-agent.config.schema.json +197 -47
  212. package/skills/mono-agent-composer/SKILL.md +2 -2
  213. package/skills/mono-agent-composer/references/config-blueprint.md +45 -40
  214. package/skills/mono-agent-composer/references/discovery-questions.md +8 -13
  215. package/skills/mono-agent-composer/references/feature-coverage.md +11 -9
  216. package/skills/mono-agent-composer/references/package-map.md +22 -16
  217. package/skills/mono-agent-composer/references/playbooks.md +22 -26
  218. package/skills/mono-agent-composer/references/validation.md +1 -4
  219. package/dist/codex-model-catalog.d.ts +0 -15
  220. package/dist/codex-model-catalog.d.ts.map +0 -1
  221. package/dist/codex-model-catalog.js +0 -220
  222. package/dist/codex-model-catalog.js.map +0 -1
@@ -0,0 +1,78 @@
1
+ import type { TuiCatalogModel, TuiModelOption, TuiProviderInfo } from "@mono-agent/operator-adapter";
2
+ import { type PiBuiltinModelSnapshot } from "@mono-agent/agent-runtime";
3
+ import type { DiscoveredLocalModel, LocalProviderDefinition, ProviderDefinition, RuntimeModelReference } from "@mono-agent/runtime-adapter";
4
+ export declare const DEFAULT_PAGE_SIZE = 100;
5
+ export declare const MAX_PAGE_SIZE = 200;
6
+ /**
7
+ * Producer-side length bounds for the CATALOG's own projections
8
+ * (`listProviders`/`listModels`/`searchModels`). Provider ids, model
9
+ * ids and display names are not length-bounded by config validation, and both
10
+ * `/v1/info` and a `/v1/models` page have a body cap to respect: an over-cap
11
+ * `/v1/models` page 500s instead of serving, and an over-cap `/v1/info` body
12
+ * costs the console a whole field at `sendBoundedInfo`'s fence. Oversized
13
+ * entries are skipped rather than truncated, because a truncated id would not
14
+ * resolve anyway.
15
+ *
16
+ * These are display/paging bounds, NOT validity bounds, and that distinction is
17
+ * the whole reason they are safe to keep. The runtime reference parser bounds a
18
+ * reference's CONTENT (no control or formatting code points) and deliberately
19
+ * not its length — what a model may be called is decided by providers, and two
20
+ * attempts at a ceiling each refused a model that really exists. So an id past
21
+ * `MAX_CATALOG_ID_BYTES` is something a local `/v1/models` can genuinely report
22
+ * and this filter genuinely cuts. Cutting it HERE costs a page one row; cutting
23
+ * it at the parser would have cost an operator a route that runs.
24
+ *
25
+ * `/v1/info.models` deliberately does not inherit them (see the `/v1/info`
26
+ * budget note in `channel-drivers/tui.ts`) — reusing them there deleted runnable
27
+ * models from schema-1 clients at a wire schema that cannot be bumped. The TUI
28
+ * has no `/v1/models` call site at all, so a model this filter drops is still
29
+ * selectable in the picker; `tui-channel.test.ts` pins that divergence.
30
+ *
31
+ * PROVIDER ids and labels are bounded by the shared wire contract instead
32
+ * (`MAX_INFO_PROVIDER_ID_BYTES`/`..._LABEL_BYTES` in `@mono-agent/agent-contracts`),
33
+ * because `/v1/info.providers` has a consumer that enforces its own copy of the
34
+ * same numbers. A local bound here and a local bound there is how a 129-byte
35
+ * provider id came to be published by this catalog and discarded by the
36
+ * console. Model ids have no such second enforcer and keep the local bound.
37
+ */
38
+ export declare const MAX_CATALOG_ID_BYTES = 256;
39
+ export declare const MAX_CATALOG_LABEL_BYTES = 256;
40
+ export declare const DEFAULT_MAX_ADVERTISED_PER_PROVIDER = 100;
41
+ export declare const MAX_SEARCH_RESULTS = 100;
42
+ export interface ProviderModelCatalogInput {
43
+ /** Configured provider definitions (the canonical `providers.entries` map). */
44
+ readonly providers?: readonly ProviderDefinition[];
45
+ /** Local-provider projection used for precise effort/context resolution. */
46
+ readonly localProviders?: readonly LocalProviderDefinition[];
47
+ /** Configured runtime routes (primary + fallbacks). */
48
+ readonly configuredRoutes?: readonly RuntimeModelReference[];
49
+ /** Live-discovered local models (TUI path only; Slack/Telegram pass none). */
50
+ readonly discoveredModels?: readonly DiscoveredLocalModel[];
51
+ /** Test seam: replaces the Pi built-in model listing call. */
52
+ readonly listBuiltinModels?: (providerId: string) => readonly PiBuiltinModelSnapshot[];
53
+ }
54
+ export interface ProviderModelCatalog {
55
+ /** Eager, frozen, deterministic provider list. Never throws. */
56
+ listProviders(): readonly TuiProviderInfo[];
57
+ listModels(providerId: string, options?: {
58
+ readonly cursor?: string;
59
+ readonly limit?: number;
60
+ }): {
61
+ readonly models: readonly TuiCatalogModel[];
62
+ readonly nextCursor?: string;
63
+ readonly truncated: boolean;
64
+ };
65
+ searchModels(query: string, limit?: number): readonly TuiCatalogModel[];
66
+ /** Effort/context/provider metadata for the configured-route shortlist. */
67
+ describe(refs: readonly RuntimeModelReference[]): Record<string, TuiModelOption>;
68
+ }
69
+ /**
70
+ * Build the provider-widened model catalog once at channel start. The catalog
71
+ * is total by construction: an unknown provider yields an empty page, a
72
+ * built-in listing that throws degrades to zero models, and no code path
73
+ * propagates. Everything is precomputed here so `/v1/info` reads memory only
74
+ * and never awaits network I/O, and the lazy `/v1/models` endpoint only slices
75
+ * already-frozen pages.
76
+ */
77
+ export declare function buildProviderModelCatalog(input?: ProviderModelCatalogInput): ProviderModelCatalog;
78
+ //# sourceMappingURL=provider-model-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-model-catalog.d.ts","sourceRoot":"","sources":["../src/provider-model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAOrC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAqB3C,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AA+BtC,MAAM,WAAW,yBAAyB;IACxC,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC7D,uDAAuD;IACvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7D,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC5D,8DAA8D;IAC9D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,sBAAsB,EAAE,CAAC;CACxF;AAED,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,aAAa,IAAI,SAAS,eAAe,EAAE,CAAC;IAC5C,UAAU,CACR,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9D;QACD,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;QAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAAC;IACxE,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,SAAS,qBAAqB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAClF;AAwBD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,GAAE,yBAA8B,GACpC,oBAAoB,CA6UtB"}
@@ -0,0 +1,439 @@
1
+ import { MAX_INFO_PROVIDER_ID_BYTES, MAX_INFO_PROVIDER_LABEL_BYTES, } from "@mono-agent/agent-contracts";
2
+ import { getPiBuiltinModel, listPiBuiltinModels, listPiBuiltinProviders, } from "@mono-agent/agent-runtime";
3
+ import { modelReferenceKey, parseMonoRuntimeModelReference } from "@mono-agent/runtime-adapter";
4
+ import { resolveAdvertisedModelEffort, resolveAdvertisedModelEffortForBuiltin, } from "./model-effort-capabilities.js";
5
+ export const DEFAULT_PAGE_SIZE = 100;
6
+ export const MAX_PAGE_SIZE = 200;
7
+ /**
8
+ * Producer-side length bounds for the CATALOG's own projections
9
+ * (`listProviders`/`listModels`/`searchModels`). Provider ids, model
10
+ * ids and display names are not length-bounded by config validation, and both
11
+ * `/v1/info` and a `/v1/models` page have a body cap to respect: an over-cap
12
+ * `/v1/models` page 500s instead of serving, and an over-cap `/v1/info` body
13
+ * costs the console a whole field at `sendBoundedInfo`'s fence. Oversized
14
+ * entries are skipped rather than truncated, because a truncated id would not
15
+ * resolve anyway.
16
+ *
17
+ * These are display/paging bounds, NOT validity bounds, and that distinction is
18
+ * the whole reason they are safe to keep. The runtime reference parser bounds a
19
+ * reference's CONTENT (no control or formatting code points) and deliberately
20
+ * not its length — what a model may be called is decided by providers, and two
21
+ * attempts at a ceiling each refused a model that really exists. So an id past
22
+ * `MAX_CATALOG_ID_BYTES` is something a local `/v1/models` can genuinely report
23
+ * and this filter genuinely cuts. Cutting it HERE costs a page one row; cutting
24
+ * it at the parser would have cost an operator a route that runs.
25
+ *
26
+ * `/v1/info.models` deliberately does not inherit them (see the `/v1/info`
27
+ * budget note in `channel-drivers/tui.ts`) — reusing them there deleted runnable
28
+ * models from schema-1 clients at a wire schema that cannot be bumped. The TUI
29
+ * has no `/v1/models` call site at all, so a model this filter drops is still
30
+ * selectable in the picker; `tui-channel.test.ts` pins that divergence.
31
+ *
32
+ * PROVIDER ids and labels are bounded by the shared wire contract instead
33
+ * (`MAX_INFO_PROVIDER_ID_BYTES`/`..._LABEL_BYTES` in `@mono-agent/agent-contracts`),
34
+ * because `/v1/info.providers` has a consumer that enforces its own copy of the
35
+ * same numbers. A local bound here and a local bound there is how a 129-byte
36
+ * provider id came to be published by this catalog and discarded by the
37
+ * console. Model ids have no such second enforcer and keep the local bound.
38
+ */
39
+ export const MAX_CATALOG_ID_BYTES = 256;
40
+ export const MAX_CATALOG_LABEL_BYTES = 256;
41
+ /**
42
+ * The catalog must not advertise a model a turn cannot route to. Byte bounds are
43
+ * a paging concern; they say nothing about content, so a local endpoint reporting
44
+ * an id with a control character passed the length filter, reached `/v1/models`,
45
+ * and was admitted by the console — the operator only discovered it at turn time,
46
+ * when the parser refused the reference. `/v1/info` already guards this by
47
+ * parsing each discovered ref; the paged catalog did not.
48
+ */
49
+ const isSelectableReference = (providerId, modelId) => {
50
+ try {
51
+ parseMonoRuntimeModelReference(`${providerId}:${modelId}`);
52
+ return true;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ };
58
+ const withinBytes = (value, max) => Buffer.byteLength(value, "utf8") <= max;
59
+ export const DEFAULT_MAX_ADVERTISED_PER_PROVIDER = 100;
60
+ export const MAX_SEARCH_RESULTS = 100;
61
+ /**
62
+ * Producer-side bounds on ONE `describe()` entry's effort ladder.
63
+ *
64
+ * The built-in path is already bounded — `resolveAdvertisedModelEffortForBuiltin`
65
+ * runs every level through the `EFFORT_LEVELS` allowlist. The LOCAL path is not:
66
+ * `resolveModelEffortLevels` returns `capabilities.reasoning_levels` verbatim
67
+ * from `providers.local[].models[].capabilities`, which config validates for
68
+ * neither element length nor count. A single authored megabyte-wide level
69
+ * therefore reached `/v1/info` unmeasured and blew the shared 1 MiB body cap,
70
+ * taking the agent offline rather than degrading it.
71
+ *
72
+ * An over-long level is DROPPED rather than truncated: a truncated effort name
73
+ * would not be accepted by the runtime anyway, so publishing it offers a
74
+ * selection whose next turn fails. When nothing survives, `effortLevels` is
75
+ * omitted entirely and the client falls back to the global effort enum — the
76
+ * same degrade path a cloud model with unknown metadata already takes.
77
+ */
78
+ const MAX_ADVERTISED_EFFORT_LEVELS = 32;
79
+ const MAX_ADVERTISED_EFFORT_LEVEL_BYTES = 64;
80
+ function boundedEffortLevels(levels) {
81
+ if (levels === undefined)
82
+ return undefined;
83
+ const bounded = levels
84
+ .filter((level) => withinBytes(level, MAX_ADVERTISED_EFFORT_LEVEL_BYTES))
85
+ .slice(0, MAX_ADVERTISED_EFFORT_LEVELS);
86
+ if (bounded.length === 0)
87
+ return undefined;
88
+ return bounded.length === levels.length ? levels : bounded;
89
+ }
90
+ function positiveContextWindow(value) {
91
+ return typeof value === "number" && Number.isSafeInteger(value) && value > 0
92
+ ? value
93
+ : undefined;
94
+ }
95
+ function clampPageSize(limit) {
96
+ if (limit === undefined)
97
+ return DEFAULT_PAGE_SIZE;
98
+ if (!Number.isSafeInteger(limit) || limit < 1)
99
+ return DEFAULT_PAGE_SIZE;
100
+ return Math.min(limit, MAX_PAGE_SIZE);
101
+ }
102
+ function compareModelId(left, right) {
103
+ return left.localeCompare(right);
104
+ }
105
+ /**
106
+ * Build the provider-widened model catalog once at channel start. The catalog
107
+ * is total by construction: an unknown provider yields an empty page, a
108
+ * built-in listing that throws degrades to zero models, and no code path
109
+ * propagates. Everything is precomputed here so `/v1/info` reads memory only
110
+ * and never awaits network I/O, and the lazy `/v1/models` endpoint only slices
111
+ * already-frozen pages.
112
+ */
113
+ export function buildProviderModelCatalog(input = {}) {
114
+ const listBuiltin = input.listBuiltinModels ?? listPiBuiltinModels;
115
+ const providers = input.providers ?? [];
116
+ const localProviders = input.localProviders;
117
+ const configuredRoutes = input.configuredRoutes ?? [];
118
+ const configuredById = new Map(providers.map((provider) => [provider.id, provider]));
119
+ const configuredRouteKeys = new Set(configuredRoutes.map((ref) => modelReferenceKey(ref)));
120
+ // `providers` is the operator's explicit support list, and a route's own
121
+ // provider is supported by construction — you cannot route through a provider
122
+ // you did not mean to use. Either one marks the provider configured, so a
123
+ // provider listed purely to widen selection is still flagged for the UI.
124
+ const supportedProviderIds = new Set([
125
+ ...providers.map((provider) => provider.id),
126
+ ...configuredRoutes.map((ref) => ref.provider),
127
+ ]);
128
+ // The authoritative 39-entry static catalog. The dynamic "radius" gateway is
129
+ // already excluded by the facade.
130
+ let builtinProviders = [];
131
+ try {
132
+ builtinProviders = listPiBuiltinProviders();
133
+ }
134
+ catch {
135
+ builtinProviders = [];
136
+ }
137
+ const builtinIds = new Set(builtinProviders.map((provider) => provider.id));
138
+ const providerLabelById = new Map();
139
+ for (const provider of builtinProviders) {
140
+ providerLabelById.set(provider.id, provider.label);
141
+ }
142
+ for (const provider of providers) {
143
+ if (!providerLabelById.has(provider.id))
144
+ providerLabelById.set(provider.id, provider.id);
145
+ }
146
+ const discoveredByProvider = new Map();
147
+ for (const discovered of input.discoveredModels ?? []) {
148
+ const list = discoveredByProvider.get(discovered.providerId) ?? [];
149
+ list.push(discovered);
150
+ discoveredByProvider.set(discovered.providerId, list);
151
+ }
152
+ for (const id of discoveredByProvider.keys()) {
153
+ if (!providerLabelById.has(id))
154
+ providerLabelById.set(id, id);
155
+ }
156
+ // `providers` is a support gate, not a hint: an agent advertises exactly the
157
+ // providers it declared, the providers its own routes use, and whatever local
158
+ // discovery found. A Pi built-in nobody declared is NOT selectable — offering
159
+ // all 39 would let an operator pick a provider the agent holds no credential
160
+ // for, and the failure would only surface at turn time.
161
+ //
162
+ // Deterministic order: declared providers (config order, id-sorted at load),
163
+ // then route providers not already declared (route order), then discovered
164
+ // local providers (alphabetical).
165
+ const orderedIds = [];
166
+ const seen = new Set();
167
+ // `enabled: false` disables the provider everywhere, not just at its endpoint:
168
+ // advertising a disabled provider's models offers a route config validation
169
+ // now rejects.
170
+ const disabled = new Set(providers.filter((provider) => provider.enabled === false).map((provider) => provider.id));
171
+ for (const provider of providers) {
172
+ if (seen.has(provider.id) || disabled.has(provider.id))
173
+ continue;
174
+ seen.add(provider.id);
175
+ orderedIds.push(provider.id);
176
+ }
177
+ for (const ref of configuredRoutes) {
178
+ if (seen.has(ref.provider) || disabled.has(ref.provider))
179
+ continue;
180
+ seen.add(ref.provider);
181
+ orderedIds.push(ref.provider);
182
+ }
183
+ const remainingDiscovered = [...discoveredByProvider.keys()]
184
+ .filter((id) => !seen.has(id))
185
+ .sort(compareModelId);
186
+ for (const id of remainingDiscovered) {
187
+ seen.add(id);
188
+ orderedIds.push(id);
189
+ }
190
+ // Drop oversized provider ids here rather than mid-loop: `orderedIds` drives
191
+ // the final `listProviders()` projection, so an id skipped later would still
192
+ // be dereferenced there.
193
+ const boundedIds = orderedIds.filter((id) => withinBytes(id, MAX_INFO_PROVIDER_ID_BYTES));
194
+ orderedIds.length = 0;
195
+ orderedIds.push(...boundedIds);
196
+ const byProviderId = new Map();
197
+ const builtinCatalogModel = (snapshot, providerLabel) => {
198
+ const effort = resolveAdvertisedModelEffortForBuiltin(snapshot);
199
+ const contextWindow = positiveContextWindow(snapshot.contextWindow);
200
+ return {
201
+ id: snapshot.id,
202
+ name: snapshot.name,
203
+ provider: snapshot.provider,
204
+ providerLabel,
205
+ ...(contextWindow === undefined ? {} : { contextWindow }),
206
+ reasoning: effort.reasoning,
207
+ ...(effort.reasoningMode === undefined ? {} : { reasoningMode: effort.reasoningMode }),
208
+ ...(effort.effortLevels === undefined ? {} : { effortLevels: effort.effortLevels }),
209
+ };
210
+ };
211
+ for (const id of orderedIds) {
212
+ const rawLabel = providerLabelById.get(id) ?? id;
213
+ const providerLabel = withinBytes(rawLabel, MAX_INFO_PROVIDER_LABEL_BYTES) ? rawLabel : id;
214
+ const configured = configuredById.get(id);
215
+ // A configured provider that declares a local `type` OWNS the id, even when
216
+ // Pi ships a built-in under the same name. `runtimeOptionsForLocalProvider`
217
+ // matches on provider id ALONE, so every selection for this id executes
218
+ // against the local endpoint; advertising Pi's built-in list would offer
219
+ // models that endpoint does not serve — selectable in the picker, dead at
220
+ // turn time. The local definition therefore wins the `source` decision and
221
+ // every model-building branch below.
222
+ const localTyped = configured?.type !== undefined;
223
+ const treatAsBuiltin = builtinIds.has(id) && !localTyped;
224
+ const source = treatAsBuiltin
225
+ ? "builtin"
226
+ : configured !== undefined
227
+ ? "custom"
228
+ : "discovered";
229
+ // `enabled: false` on an allowlist entry withdraws the model, not just its
230
+ // endpoint wiring: doctor reports a route to it as unresolvable, so
231
+ // advertising it offers a selection whose next turn fails. Branch on the
232
+ // DECLARED list, filter for the advertised one — an operator who disabled
233
+ // every entry narrowed the provider to nothing, and must not fall through
234
+ // to the un-narrowed built-in catalog.
235
+ const declaredModels = configured?.models;
236
+ const allowlist = declaredModels?.filter((model) => model.enabled !== false) ?? [];
237
+ const maxAdvertised = configured?.maxAdvertisedModels ?? DEFAULT_MAX_ADVERTISED_PER_PROVIDER;
238
+ let models = [];
239
+ let totalModelCount;
240
+ if (declaredModels !== undefined && declaredModels.length > 0) {
241
+ // An explicit `models` allowlist bypasses the cap and preserves its
242
+ // declared order — the operator narrowed the provider on purpose.
243
+ //
244
+ // For a Pi built-in the allowlist NARROWS the real catalog; it does not
245
+ // replace it. Emitting the declared name verbatim advertised a model Pi
246
+ // cannot resolve when the name was wrong (selectable, then `pi model not
247
+ // found` at turn time) and dropped reasoning/effort metadata when it was
248
+ // right. Resolve against the snapshot, keep the operator's ordering and
249
+ // display overrides, and drop names the provider does not have.
250
+ const builtinByName = new Map();
251
+ if (treatAsBuiltin) {
252
+ try {
253
+ for (const snapshot of listBuiltin(id))
254
+ builtinByName.set(snapshot.id, snapshot);
255
+ }
256
+ catch {
257
+ builtinByName.clear();
258
+ }
259
+ }
260
+ models = allowlist.flatMap((model) => {
261
+ const snapshot = builtinByName.get(model.name);
262
+ // Fail closed on the SNAPSHOT, not on its size. Keying the drop off
263
+ // `builtinByName.size > 0` meant a throwing or empty built-in listing
264
+ // advertised every authored name unvalidated — precisely the `pi model
265
+ // not found` outcome this branch exists to prevent. Pi's catalog is a
266
+ // synchronous, version-pinned in-process constant, so "unavailable" is
267
+ // never a transient network blip: an empty listing for a provider Pi
268
+ // claims to own is a real answer, and a throw makes every name
269
+ // unverifiable. The provider still appears with `modelCount: 0` rather
270
+ // than vanishing from the picker.
271
+ if (treatAsBuiltin && snapshot === undefined)
272
+ return [];
273
+ const contextWindow = positiveContextWindow(model.capabilities?.context_window)
274
+ ?? positiveContextWindow(model.capabilities?.num_ctx)
275
+ ?? (snapshot === undefined ? undefined : positiveContextWindow(snapshot.contextWindow));
276
+ const effort = snapshot === undefined
277
+ ? undefined
278
+ : resolveAdvertisedModelEffortForBuiltin(snapshot);
279
+ return [{
280
+ id: model.name,
281
+ name: model.displayName ?? model.alias ?? snapshot?.name ?? model.name,
282
+ provider: id,
283
+ providerLabel,
284
+ ...(contextWindow === undefined ? {} : { contextWindow }),
285
+ ...(effort === undefined ? {} : {
286
+ reasoning: effort.reasoning,
287
+ ...(effort.reasoningMode === undefined ? {} : { reasoningMode: effort.reasoningMode }),
288
+ ...(effort.effortLevels === undefined ? {} : { effortLevels: effort.effortLevels }),
289
+ }),
290
+ }];
291
+ });
292
+ totalModelCount = undefined;
293
+ }
294
+ else if (treatAsBuiltin) {
295
+ let snapshots = [];
296
+ try {
297
+ snapshots = [...listBuiltin(id)];
298
+ }
299
+ catch {
300
+ snapshots = [];
301
+ }
302
+ const full = snapshots.sort((left, right) => compareModelId(left.id, right.id));
303
+ const capped = full.slice(0, maxAdvertised);
304
+ models = capped.map((snapshot) => builtinCatalogModel(snapshot, providerLabel));
305
+ // Report the pre-cap total only when a cap actually shrank the list.
306
+ totalModelCount = full.length > capped.length ? full.length : undefined;
307
+ }
308
+ else if (discoveredByProvider.has(id)) {
309
+ // Dedupe by canonical ref (last wins) before sorting/capping, so a noisy
310
+ // live /v1/models response cannot double-list a model.
311
+ const discovered = [...new Map((discoveredByProvider.get(id) ?? []).map((model) => [model.ref, model])).values()].sort((left, right) => compareModelId(left.ref, right.ref));
312
+ // The provider's own `maxAdvertisedModels`, not the default: a provider
313
+ // that narrowed its contribution to 10 was still handed 100 live-discovered
314
+ // rows, because only the built-in branch honoured the configured cap.
315
+ const capped = discovered.slice(0, maxAdvertised);
316
+ models = capped.map((discoveredModel) => ({
317
+ id: discoveredModel.ref.slice(discoveredModel.providerId.length + 1),
318
+ name: discoveredModel.label,
319
+ provider: discoveredModel.providerId,
320
+ providerLabel,
321
+ }));
322
+ totalModelCount = discovered.length > capped.length ? discovered.length : undefined;
323
+ }
324
+ // Ids must be unique per provider: the pagination cursor IS the last row's
325
+ // id, and `pageStartIndex` resolves it with `findIndex`. A duplicate id
326
+ // therefore resolves to the FIRST occurrence, the cursor never advances,
327
+ // and the walk serves the same page forever. First declaration wins so an
328
+ // operator's allowlist ordering is preserved.
329
+ const byId = new Map();
330
+ for (const model of models) {
331
+ if (!byId.has(model.id))
332
+ byId.set(model.id, model);
333
+ }
334
+ const frozenModels = Object.freeze([...byId.values()].filter((model) => withinBytes(model.id, MAX_CATALOG_ID_BYTES)
335
+ && withinBytes(model.name, MAX_CATALOG_LABEL_BYTES)
336
+ && isSelectableReference(id, model.id)));
337
+ const info = Object.freeze({
338
+ id,
339
+ label: providerLabel,
340
+ modelCount: frozenModels.length,
341
+ ...(totalModelCount === undefined ? {} : { totalModelCount }),
342
+ source,
343
+ ...(supportedProviderIds.has(id) ? { configured: true } : {}),
344
+ });
345
+ byProviderId.set(id, { info, models: frozenModels });
346
+ }
347
+ const frozenProviders = Object.freeze(orderedIds.map((id) => byProviderId.get(id).info));
348
+ const resolveContextWindow = (ref) => {
349
+ const configuredProvider = localProviders?.find((provider) => provider.id === ref.provider);
350
+ if (configuredProvider !== undefined) {
351
+ const configuredModel = configuredProvider.models?.find((model) => model.name === ref.model || model.alias === ref.model);
352
+ return positiveContextWindow(configuredModel?.capabilities?.context_window)
353
+ ?? positiveContextWindow(configuredModel?.capabilities?.num_ctx);
354
+ }
355
+ return positiveContextWindow(getPiBuiltinModel(ref.provider, ref.model)?.contextWindow);
356
+ };
357
+ const describeOne = (ref) => {
358
+ const effort = resolveAdvertisedModelEffort(ref, {
359
+ ...(localProviders === undefined ? {} : { localProviders }),
360
+ });
361
+ const contextWindow = resolveContextWindow(ref);
362
+ // `effortLevels` is the ONLY unbounded field in this projection.
363
+ // `provider` and `providerLabel` need no clamp of their own: the label is
364
+ // either a short Pi built-in label or the provider id verbatim, and the id
365
+ // repeats the provider half of this entry's own key — so a pathological one
366
+ // is charged, not hidden, by the caller's per-entry byte measurement.
367
+ const effortLevels = boundedEffortLevels(effort.effortLevels);
368
+ return {
369
+ ...(effortLevels === undefined ? {} : { effortLevels }),
370
+ reasoning: effort.reasoning,
371
+ ...(effort.reasoningMode === undefined ? {} : { reasoningMode: effort.reasoningMode }),
372
+ ...(contextWindow === undefined ? {} : { contextWindow }),
373
+ provider: ref.provider,
374
+ providerLabel: providerLabelById.get(ref.provider) ?? ref.provider,
375
+ };
376
+ };
377
+ return {
378
+ listProviders: () => frozenProviders,
379
+ listModels(providerId, options = {}) {
380
+ const entry = byProviderId.get(providerId);
381
+ const pageSize = clampPageSize(options.limit);
382
+ const models = entry?.models ?? [];
383
+ const start = pageStartIndex(models, options.cursor);
384
+ const page = models.slice(start, start + pageSize);
385
+ const truncated = start + pageSize < models.length;
386
+ const lastModel = page[page.length - 1];
387
+ return {
388
+ models: page,
389
+ ...(truncated && lastModel !== undefined ? { nextCursor: lastModel.id } : {}),
390
+ truncated,
391
+ };
392
+ },
393
+ searchModels(query, limit) {
394
+ const needle = query.trim().toLowerCase();
395
+ if (needle.length === 0)
396
+ return [];
397
+ const cap = Math.min(clampPageSize(limit), MAX_SEARCH_RESULTS);
398
+ const results = [];
399
+ for (const provider of frozenProviders) {
400
+ const entry = byProviderId.get(provider.id);
401
+ if (entry === undefined)
402
+ continue;
403
+ for (const model of entry.models) {
404
+ if (!modelMatches(model, needle))
405
+ continue;
406
+ results.push(model);
407
+ if (results.length >= cap)
408
+ return results;
409
+ }
410
+ }
411
+ return results;
412
+ },
413
+ describe(refs) {
414
+ const result = {};
415
+ for (const ref of refs) {
416
+ const entry = describeOne(ref);
417
+ if (Object.keys(entry).length > 0) {
418
+ result[modelReferenceKey(ref)] = entry;
419
+ }
420
+ }
421
+ return result;
422
+ },
423
+ };
424
+ }
425
+ function pageStartIndex(models, cursor) {
426
+ if (cursor === undefined)
427
+ return 0;
428
+ const index = models.findIndex((model) => model.id === cursor);
429
+ // A stale/unknown cursor terminates the walk (empty page) rather than
430
+ // silently re-serving an earlier slice.
431
+ return index === -1 ? models.length : index + 1;
432
+ }
433
+ function modelMatches(model, needle) {
434
+ return model.id.toLowerCase().includes(needle)
435
+ || model.name.toLowerCase().includes(needle)
436
+ || model.provider.toLowerCase().includes(needle)
437
+ || model.providerLabel.toLowerCase().includes(needle);
438
+ }
439
+ //# sourceMappingURL=provider-model-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-model-catalog.js","sourceRoot":"","sources":["../src/provider-model-catalog.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,6 @@ export interface ProviderSetupPiLoginAction extends ProviderSetupCommandAction {
13
13
  readonly id: `pi-login:${string}`;
14
14
  readonly piAuthPath: string;
15
15
  }
16
- export type CodexLoginMode = "browser" | "device";
17
- export interface ProviderSetupCodexLoginAction extends ProviderSetupCommandAction {
18
- readonly id: "codex-login";
19
- readonly authMode: CodexLoginMode;
20
- }
21
16
  export interface ProviderSetupHttpAction {
22
17
  readonly id: string;
23
18
  readonly kind: ProviderSetupKind;
@@ -39,7 +34,7 @@ export interface ProviderSetupPiApiKeyAction {
39
34
  readonly cwd: string;
40
35
  readonly detail: string;
41
36
  }
42
- export type ProviderSetupAction = ProviderSetupPiLoginAction | ProviderSetupCodexLoginAction | ProviderSetupCommandAction | ProviderSetupHttpAction | ProviderSetupPiApiKeyAction;
37
+ export type ProviderSetupAction = ProviderSetupPiLoginAction | ProviderSetupCommandAction | ProviderSetupHttpAction | ProviderSetupPiApiKeyAction;
43
38
  export interface ProviderSetupPlan {
44
39
  readonly actions: readonly ProviderSetupAction[];
45
40
  /** Auth actions omitted because a credential/sign-in was detected. */
@@ -75,12 +70,10 @@ export interface PlanProviderSetupOptions {
75
70
  readonly piAuthPath?: string;
76
71
  /** Internal test seam for verifying bundled Pi CLI resolution in packed layouts. */
77
72
  readonly piCliPath?: string;
78
- /** Credential/status observations keyed by `claude`, `codex`, `pi:<provider>`, or provider id. */
73
+ /** Credential/status observations keyed by provider id or exact model reference. */
79
74
  readonly credentialStates?: Readonly<Record<string, ProviderCredentialState | undefined>>;
80
75
  /** Explicit repair path: rerun authentication even when a credential was detected. */
81
76
  readonly forceAuthentication?: boolean;
82
- /** Direct Codex never guesses headless mode; callers select this explicitly. */
83
- readonly codexAuthMode?: CodexLoginMode;
84
77
  /** Select OAuth or API-key setup for Pi providers that support both. */
85
78
  readonly piAuthMethods?: Readonly<Record<string, "oauth" | "api-key" | undefined>>;
86
79
  /** API keys can be used from env without being copied into Pi's secure store. */
@@ -130,14 +123,12 @@ export declare function piAuthPathForSetup(piAuthPath: string | undefined, cwd?:
130
123
  * to `verified`.
131
124
  */
132
125
  export declare function detectProviderCredentialStates(options: DetectProviderCredentialStatesOptions): Promise<Readonly<Record<string, ProviderCredentialState>>>;
133
- /** Whether a selected route has a credential in the destination agent's durable environment. */
134
- export declare function hasDurableProviderEnvironmentCredential(rawModelRef: string, persistedEnv: Readonly<Record<string, string | undefined>>): boolean;
135
126
  /**
136
127
  * Build the minimal operational environment needed to inspect durable CLI login
137
128
  * state. A positive allowlist prevents unrelated shell credentials from being
138
- * inherited by Codex or Claude while retaining their standard config roots.
129
+ * inherited by provider discovery commands.
139
130
  */
140
- export declare function credentialNeutralProviderStatusEnvironment(source?: Readonly<Record<string, string | undefined>>, durableEnvironment?: Readonly<Record<string, string | undefined>>): Record<string, string | undefined>;
131
+ export declare function credentialNeutralProviderStatusEnvironment(source?: Readonly<Record<string, string | undefined>>, _durableEnvironment?: Readonly<Record<string, string | undefined>>): Record<string, string | undefined>;
141
132
  export interface BoundedProviderCommandResult {
142
133
  readonly stdout: string;
143
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-setup.d.ts","sourceRoot":"","sources":["../src/provider-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-setup.d.ts","sourceRoot":"","sources":["../src/provider-setup.ts"],"names":[],"mappings":"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"}