scoutline 0.1.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/README.md +394 -7
  2. package/bin/scoutline.js +36 -15
  3. package/dist/capabilities/diagnostics.d.ts +135 -0
  4. package/dist/capabilities/diagnostics.d.ts.map +1 -0
  5. package/dist/capabilities/diagnostics.js +139 -0
  6. package/dist/capabilities/diagnostics.js.map +1 -0
  7. package/dist/capabilities/quota.d.ts +99 -0
  8. package/dist/capabilities/quota.d.ts.map +1 -0
  9. package/dist/capabilities/quota.js +129 -0
  10. package/dist/capabilities/quota.js.map +1 -0
  11. package/dist/capabilities/reader.d.ts +227 -0
  12. package/dist/capabilities/reader.d.ts.map +1 -0
  13. package/dist/capabilities/reader.js +100 -0
  14. package/dist/capabilities/reader.js.map +1 -0
  15. package/dist/capabilities/repository.d.ts +221 -0
  16. package/dist/capabilities/repository.d.ts.map +1 -0
  17. package/dist/capabilities/repository.js +172 -0
  18. package/dist/capabilities/repository.js.map +1 -0
  19. package/dist/capabilities/search.d.ts +110 -0
  20. package/dist/capabilities/search.d.ts.map +1 -0
  21. package/dist/capabilities/search.js +21 -0
  22. package/dist/capabilities/search.js.map +1 -0
  23. package/dist/capabilities/vision.d.ts +156 -0
  24. package/dist/capabilities/vision.d.ts.map +1 -0
  25. package/dist/capabilities/vision.js +111 -0
  26. package/dist/capabilities/vision.js.map +1 -0
  27. package/dist/command-invocation.d.ts +58 -0
  28. package/dist/command-invocation.d.ts.map +1 -0
  29. package/dist/command-invocation.js +95 -0
  30. package/dist/command-invocation.js.map +1 -0
  31. package/dist/commands/cache.d.ts +106 -0
  32. package/dist/commands/cache.d.ts.map +1 -0
  33. package/dist/commands/cache.js +203 -0
  34. package/dist/commands/cache.js.map +1 -0
  35. package/dist/commands/code.d.ts +11 -4
  36. package/dist/commands/code.d.ts.map +1 -1
  37. package/dist/commands/code.js +16 -42
  38. package/dist/commands/code.js.map +1 -1
  39. package/dist/commands/doctor.d.ts +69 -3
  40. package/dist/commands/doctor.d.ts.map +1 -1
  41. package/dist/commands/doctor.js +179 -52
  42. package/dist/commands/doctor.js.map +1 -1
  43. package/dist/commands/quota.d.ts +45 -3
  44. package/dist/commands/quota.d.ts.map +1 -1
  45. package/dist/commands/quota.js +116 -60
  46. package/dist/commands/quota.js.map +1 -1
  47. package/dist/commands/read.d.ts +76 -2
  48. package/dist/commands/read.d.ts.map +1 -1
  49. package/dist/commands/read.js +260 -121
  50. package/dist/commands/read.js.map +1 -1
  51. package/dist/commands/repo.d.ts +55 -4
  52. package/dist/commands/repo.d.ts.map +1 -1
  53. package/dist/commands/repo.js +115 -172
  54. package/dist/commands/repo.js.map +1 -1
  55. package/dist/commands/repository-explorer.d.ts +147 -0
  56. package/dist/commands/repository-explorer.d.ts.map +1 -0
  57. package/dist/commands/repository-explorer.js +550 -0
  58. package/dist/commands/repository-explorer.js.map +1 -0
  59. package/dist/commands/search.d.ts +27 -2
  60. package/dist/commands/search.d.ts.map +1 -1
  61. package/dist/commands/search.js +95 -103
  62. package/dist/commands/search.js.map +1 -1
  63. package/dist/commands/tools.d.ts +9 -3
  64. package/dist/commands/tools.d.ts.map +1 -1
  65. package/dist/commands/tools.js +29 -59
  66. package/dist/commands/tools.js.map +1 -1
  67. package/dist/commands/vision.d.ts +35 -9
  68. package/dist/commands/vision.d.ts.map +1 -1
  69. package/dist/commands/vision.js +184 -131
  70. package/dist/commands/vision.js.map +1 -1
  71. package/dist/index.d.ts +62 -1
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +580 -223
  74. package/dist/index.js.map +1 -1
  75. package/dist/lib/cache.d.ts +178 -12
  76. package/dist/lib/cache.d.ts.map +1 -1
  77. package/dist/lib/cache.js +377 -39
  78. package/dist/lib/cache.js.map +1 -1
  79. package/dist/lib/code-mode.d.ts +13 -0
  80. package/dist/lib/code-mode.d.ts.map +1 -1
  81. package/dist/lib/code-mode.js +26 -6
  82. package/dist/lib/code-mode.js.map +1 -1
  83. package/dist/lib/config.d.ts.map +1 -1
  84. package/dist/lib/config.js +15 -18
  85. package/dist/lib/config.js.map +1 -1
  86. package/dist/lib/errors.d.ts +89 -11
  87. package/dist/lib/errors.d.ts.map +1 -1
  88. package/dist/lib/errors.js +168 -21
  89. package/dist/lib/errors.js.map +1 -1
  90. package/dist/lib/execution.d.ts +190 -0
  91. package/dist/lib/execution.d.ts.map +1 -0
  92. package/dist/lib/execution.js +383 -0
  93. package/dist/lib/execution.js.map +1 -0
  94. package/dist/lib/index.d.ts +10 -2
  95. package/dist/lib/index.d.ts.map +1 -1
  96. package/dist/lib/index.js +10 -2
  97. package/dist/lib/index.js.map +1 -1
  98. package/dist/lib/mcp-client.d.ts +75 -16
  99. package/dist/lib/mcp-client.d.ts.map +1 -1
  100. package/dist/lib/mcp-client.js +173 -108
  101. package/dist/lib/mcp-client.js.map +1 -1
  102. package/dist/lib/mcp-config.d.ts +17 -0
  103. package/dist/lib/mcp-config.d.ts.map +1 -1
  104. package/dist/lib/mcp-config.js +29 -0
  105. package/dist/lib/mcp-config.js.map +1 -1
  106. package/dist/lib/monitor-client.d.ts +17 -3
  107. package/dist/lib/monitor-client.d.ts.map +1 -1
  108. package/dist/lib/monitor-client.js +23 -69
  109. package/dist/lib/monitor-client.js.map +1 -1
  110. package/dist/lib/output.d.ts +53 -7
  111. package/dist/lib/output.d.ts.map +1 -1
  112. package/dist/lib/output.js +126 -39
  113. package/dist/lib/output.js.map +1 -1
  114. package/dist/lib/redact.d.ts +62 -3
  115. package/dist/lib/redact.d.ts.map +1 -1
  116. package/dist/lib/redact.js +165 -31
  117. package/dist/lib/redact.js.map +1 -1
  118. package/dist/lib/tool-cache.d.ts +86 -0
  119. package/dist/lib/tool-cache.d.ts.map +1 -0
  120. package/dist/lib/tool-cache.js +123 -0
  121. package/dist/lib/tool-cache.js.map +1 -0
  122. package/dist/lib/tty.d.ts +7 -20
  123. package/dist/lib/tty.d.ts.map +1 -1
  124. package/dist/lib/tty.js +51 -30
  125. package/dist/lib/tty.js.map +1 -1
  126. package/dist/node-command-invocation-adapter.d.ts +28 -0
  127. package/dist/node-command-invocation-adapter.d.ts.map +1 -0
  128. package/dist/node-command-invocation-adapter.js +88 -0
  129. package/dist/node-command-invocation-adapter.js.map +1 -0
  130. package/dist/providers/minimax/adapter.d.ts +49 -0
  131. package/dist/providers/minimax/adapter.d.ts.map +1 -0
  132. package/dist/providers/minimax/adapter.js +450 -0
  133. package/dist/providers/minimax/adapter.js.map +1 -0
  134. package/dist/providers/minimax/coding-plan-client.d.ts +60 -0
  135. package/dist/providers/minimax/coding-plan-client.d.ts.map +1 -0
  136. package/dist/providers/minimax/coding-plan-client.js +204 -0
  137. package/dist/providers/minimax/coding-plan-client.js.map +1 -0
  138. package/dist/providers/minimax/config.d.ts +32 -0
  139. package/dist/providers/minimax/config.d.ts.map +1 -0
  140. package/dist/providers/minimax/config.js +84 -0
  141. package/dist/providers/minimax/config.js.map +1 -0
  142. package/dist/providers/minimax/media.d.ts +88 -0
  143. package/dist/providers/minimax/media.d.ts.map +1 -0
  144. package/dist/providers/minimax/media.js +232 -0
  145. package/dist/providers/minimax/media.js.map +1 -0
  146. package/dist/providers/minimax/quota-client.d.ts +44 -0
  147. package/dist/providers/minimax/quota-client.d.ts.map +1 -0
  148. package/dist/providers/minimax/quota-client.js +83 -0
  149. package/dist/providers/minimax/quota-client.js.map +1 -0
  150. package/dist/providers/minimax/quota.d.ts +48 -0
  151. package/dist/providers/minimax/quota.d.ts.map +1 -0
  152. package/dist/providers/minimax/quota.js +120 -0
  153. package/dist/providers/minimax/quota.js.map +1 -0
  154. package/dist/providers/minimax/sdk-client.d.ts +29 -0
  155. package/dist/providers/minimax/sdk-client.d.ts.map +1 -0
  156. package/dist/providers/minimax/sdk-client.js +50 -0
  157. package/dist/providers/minimax/sdk-client.js.map +1 -0
  158. package/dist/providers/minimax/vision-attestations.d.ts +52 -0
  159. package/dist/providers/minimax/vision-attestations.d.ts.map +1 -0
  160. package/dist/providers/minimax/vision-attestations.js +79 -0
  161. package/dist/providers/minimax/vision-attestations.js.map +1 -0
  162. package/dist/providers/minimax/vision-conformance.d.ts +186 -0
  163. package/dist/providers/minimax/vision-conformance.d.ts.map +1 -0
  164. package/dist/providers/minimax/vision-conformance.js +371 -0
  165. package/dist/providers/minimax/vision-conformance.js.map +1 -0
  166. package/dist/providers/minimax/vision-mappings/chart.d.ts +35 -0
  167. package/dist/providers/minimax/vision-mappings/chart.d.ts.map +1 -0
  168. package/dist/providers/minimax/vision-mappings/chart.js +55 -0
  169. package/dist/providers/minimax/vision-mappings/chart.js.map +1 -0
  170. package/dist/providers/minimax/vision-mappings/common.d.ts +60 -0
  171. package/dist/providers/minimax/vision-mappings/common.d.ts.map +1 -0
  172. package/dist/providers/minimax/vision-mappings/common.js +75 -0
  173. package/dist/providers/minimax/vision-mappings/common.js.map +1 -0
  174. package/dist/providers/minimax/vision-mappings/diagnose-error.d.ts +35 -0
  175. package/dist/providers/minimax/vision-mappings/diagnose-error.d.ts.map +1 -0
  176. package/dist/providers/minimax/vision-mappings/diagnose-error.js +55 -0
  177. package/dist/providers/minimax/vision-mappings/diagnose-error.js.map +1 -0
  178. package/dist/providers/minimax/vision-mappings/diagram.d.ts +35 -0
  179. package/dist/providers/minimax/vision-mappings/diagram.d.ts.map +1 -0
  180. package/dist/providers/minimax/vision-mappings/diagram.js +55 -0
  181. package/dist/providers/minimax/vision-mappings/diagram.js.map +1 -0
  182. package/dist/providers/minimax/vision-mappings/extract-text.d.ts +35 -0
  183. package/dist/providers/minimax/vision-mappings/extract-text.d.ts.map +1 -0
  184. package/dist/providers/minimax/vision-mappings/extract-text.js +55 -0
  185. package/dist/providers/minimax/vision-mappings/extract-text.js.map +1 -0
  186. package/dist/providers/minimax/vision-mappings/ui-artifact.d.ts +35 -0
  187. package/dist/providers/minimax/vision-mappings/ui-artifact.d.ts.map +1 -0
  188. package/dist/providers/minimax/vision-mappings/ui-artifact.js +69 -0
  189. package/dist/providers/minimax/vision-mappings/ui-artifact.js.map +1 -0
  190. package/dist/providers/minimax/vision-mappings.generated.d.ts +29 -0
  191. package/dist/providers/minimax/vision-mappings.generated.d.ts.map +1 -0
  192. package/dist/providers/minimax/vision-mappings.generated.js +29 -0
  193. package/dist/providers/minimax/vision-mappings.generated.js.map +1 -0
  194. package/dist/providers/minimax/vision-revisions.d.ts +29 -0
  195. package/dist/providers/minimax/vision-revisions.d.ts.map +1 -0
  196. package/dist/providers/minimax/vision-revisions.js +34 -0
  197. package/dist/providers/minimax/vision-revisions.js.map +1 -0
  198. package/dist/providers/registry.d.ts +36 -0
  199. package/dist/providers/registry.d.ts.map +1 -0
  200. package/dist/providers/registry.js +45 -0
  201. package/dist/providers/registry.js.map +1 -0
  202. package/dist/providers/selection.d.ts +44 -0
  203. package/dist/providers/selection.d.ts.map +1 -0
  204. package/dist/providers/selection.js +85 -0
  205. package/dist/providers/selection.js.map +1 -0
  206. package/dist/providers/types.d.ts +281 -0
  207. package/dist/providers/types.d.ts.map +1 -0
  208. package/dist/providers/types.js +127 -0
  209. package/dist/providers/types.js.map +1 -0
  210. package/dist/providers/zai/adapter.d.ts +35 -0
  211. package/dist/providers/zai/adapter.d.ts.map +1 -0
  212. package/dist/providers/zai/adapter.js +685 -0
  213. package/dist/providers/zai/adapter.js.map +1 -0
  214. package/dist/providers/zai/credentials.d.ts +38 -0
  215. package/dist/providers/zai/credentials.d.ts.map +1 -0
  216. package/dist/providers/zai/credentials.js +60 -0
  217. package/dist/providers/zai/credentials.js.map +1 -0
  218. package/dist/providers/zai/encoded-error.d.ts +90 -0
  219. package/dist/providers/zai/encoded-error.d.ts.map +1 -0
  220. package/dist/providers/zai/encoded-error.js +169 -0
  221. package/dist/providers/zai/encoded-error.js.map +1 -0
  222. package/dist/providers/zai/media.d.ts +38 -0
  223. package/dist/providers/zai/media.d.ts.map +1 -0
  224. package/dist/providers/zai/media.js +107 -0
  225. package/dist/providers/zai/media.js.map +1 -0
  226. package/dist/providers/zai/monitor-client.d.ts +53 -0
  227. package/dist/providers/zai/monitor-client.d.ts.map +1 -0
  228. package/dist/providers/zai/monitor-client.js +117 -0
  229. package/dist/providers/zai/monitor-client.js.map +1 -0
  230. package/dist/providers/zai/quota.d.ts +47 -0
  231. package/dist/providers/zai/quota.d.ts.map +1 -0
  232. package/dist/providers/zai/quota.js +127 -0
  233. package/dist/providers/zai/quota.js.map +1 -0
  234. package/dist/providers/zai/reader.d.ts +82 -0
  235. package/dist/providers/zai/reader.d.ts.map +1 -0
  236. package/dist/providers/zai/reader.js +490 -0
  237. package/dist/providers/zai/reader.js.map +1 -0
  238. package/dist/providers/zai/repository.d.ts +76 -0
  239. package/dist/providers/zai/repository.d.ts.map +1 -0
  240. package/dist/providers/zai/repository.js +715 -0
  241. package/dist/providers/zai/repository.js.map +1 -0
  242. package/package.json +11 -6
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Compiled MiniMax specialized-vision attestations (DESIGN.md §15, P5-02).
3
+ *
4
+ * Sanitized, schema-version-1 attestations written by the Phase 5
5
+ * `scripts/attest-minimax-vision.mjs` flow (P5-03). Each entry contains
6
+ * ONLY: provider id, operation id, fixture version, Implementation id,
7
+ * generated mapping revision, UTC execution timestamp, SHA-256 result
8
+ * digest, and the list of semantic assertion IDs each marked `passed:
9
+ * true`. No returned prose, key, URL with credentials, headers, raw
10
+ * response body, local path, or stack is ever present.
11
+ *
12
+ * At P5-02 the manifest is intentionally empty: no operation has been
13
+ * attested. The support query in `vision-conformance.ts` therefore
14
+ * returns false for every specialized operation until P5-03 fills this
15
+ * array. The compiled manifest is the single source of attestation
16
+ * truth; there is no runtime filesystem lookup or environment override.
17
+ *
18
+ * Boundary: this module exports a pure, immutable typed array. It
19
+ * imports only the attestation type from `vision-conformance.ts` and
20
+ * never touches the registry, environment, or filesystem.
21
+ */
22
+ import type { VisionAttestation } from "./vision-conformance.js";
23
+ /**
24
+ * The compiled sanitized attestation manifest. Each entry is keyed by
25
+ * `operation`; the registry construction indexes this list at module
26
+ * load. P5-03's attestation script appends sanitized entries here.
27
+ *
28
+ * C3 re-pin (critique C3 — direct-transport release): both shipped
29
+ * attestations below were originally captured against the prior
30
+ * `mmx-cli-sdk@1.0.16` backing transport. They have been re-pinned to
31
+ * the new implementation identity `scoutline-direct@0.5.0` to match
32
+ * {@link MINIMAX_VISION_IMPLEMENTATION_ID} in `vision-conformance.ts`.
33
+ * The `mappingRevision` values are refreshed against the regenerated
34
+ * revisions in `vision-revisions.ts`: the Implementation ID
35
+ * participates in every revision digest, so swapping the runtime
36
+ * (Phase B direct transport) cascades into a new SHA-256 map. The
37
+ * mapping Module composition and fixtures themselves are unchanged in
38
+ * Phase A + Phase B.
39
+ *
40
+ * The `resultDigest` and `testedAt` fields are unchanged from the
41
+ * original SDK-backed captures: this is a pinned-identity release-time
42
+ * re-attestation, not a fresh live capture. A future live re-run
43
+ * against the new identity — using
44
+ * `SCOUTLINE_LIVE_TESTS=1 MINIMAX_API_KEY=... node
45
+ * scripts/attest-minimax-vision.mjs --operation <op> --refresh` —
46
+ * will refresh those fields with the new live result. Until that
47
+ * user-side step completes, this re-pin assumes the same VLM endpoint
48
+ * produces the same output for the same prompt under the new
49
+ * transport (the expected outcome documented in the C3 ticket).
50
+ */
51
+ export declare const MINIMAX_VISION_ATTESTATIONS: readonly VisionAttestation[];
52
+ //# sourceMappingURL=vision-attestations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vision-attestations.d.ts","sourceRoot":"","sources":["../../../src/providers/minimax/vision-attestations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,iBAAiB,EA4BnE,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Compiled MiniMax specialized-vision attestations (DESIGN.md §15, P5-02).
3
+ *
4
+ * Sanitized, schema-version-1 attestations written by the Phase 5
5
+ * `scripts/attest-minimax-vision.mjs` flow (P5-03). Each entry contains
6
+ * ONLY: provider id, operation id, fixture version, Implementation id,
7
+ * generated mapping revision, UTC execution timestamp, SHA-256 result
8
+ * digest, and the list of semantic assertion IDs each marked `passed:
9
+ * true`. No returned prose, key, URL with credentials, headers, raw
10
+ * response body, local path, or stack is ever present.
11
+ *
12
+ * At P5-02 the manifest is intentionally empty: no operation has been
13
+ * attested. The support query in `vision-conformance.ts` therefore
14
+ * returns false for every specialized operation until P5-03 fills this
15
+ * array. The compiled manifest is the single source of attestation
16
+ * truth; there is no runtime filesystem lookup or environment override.
17
+ *
18
+ * Boundary: this module exports a pure, immutable typed array. It
19
+ * imports only the attestation type from `vision-conformance.ts` and
20
+ * never touches the registry, environment, or filesystem.
21
+ */
22
+ /**
23
+ * The compiled sanitized attestation manifest. Each entry is keyed by
24
+ * `operation`; the registry construction indexes this list at module
25
+ * load. P5-03's attestation script appends sanitized entries here.
26
+ *
27
+ * C3 re-pin (critique C3 — direct-transport release): both shipped
28
+ * attestations below were originally captured against the prior
29
+ * `mmx-cli-sdk@1.0.16` backing transport. They have been re-pinned to
30
+ * the new implementation identity `scoutline-direct@0.5.0` to match
31
+ * {@link MINIMAX_VISION_IMPLEMENTATION_ID} in `vision-conformance.ts`.
32
+ * The `mappingRevision` values are refreshed against the regenerated
33
+ * revisions in `vision-revisions.ts`: the Implementation ID
34
+ * participates in every revision digest, so swapping the runtime
35
+ * (Phase B direct transport) cascades into a new SHA-256 map. The
36
+ * mapping Module composition and fixtures themselves are unchanged in
37
+ * Phase A + Phase B.
38
+ *
39
+ * The `resultDigest` and `testedAt` fields are unchanged from the
40
+ * original SDK-backed captures: this is a pinned-identity release-time
41
+ * re-attestation, not a fresh live capture. A future live re-run
42
+ * against the new identity — using
43
+ * `SCOUTLINE_LIVE_TESTS=1 MINIMAX_API_KEY=... node
44
+ * scripts/attest-minimax-vision.mjs --operation <op> --refresh` —
45
+ * will refresh those fields with the new live result. Until that
46
+ * user-side step completes, this re-pin assumes the same VLM endpoint
47
+ * produces the same output for the same prompt under the new
48
+ * transport (the expected outcome documented in the C3 ticket).
49
+ */
50
+ export const MINIMAX_VISION_ATTESTATIONS = [
51
+ {
52
+ schemaVersion: 1,
53
+ provider: "minimax",
54
+ operation: "ui-artifact",
55
+ fixtureVersion: 1,
56
+ implementationId: "scoutline-direct@0.5.0",
57
+ mappingRevision: "7428094e0ed28452b8c76290341b08d56e6581f2de543daf803049c418fc9fe8",
58
+ testedAt: "2026-07-20T23:44:24.506Z",
59
+ resultDigest: "3a179f960227741b78b7d8fa22f59d0f2dd80390070e3c87ef6436888d817a32",
60
+ assertions: [
61
+ { id: "ui-artifact.regions", passed: true },
62
+ { id: "ui-artifact.code-form", passed: true }
63
+ ],
64
+ },
65
+ {
66
+ schemaVersion: 1,
67
+ provider: "minimax",
68
+ operation: "diagnose-error",
69
+ fixtureVersion: 1,
70
+ implementationId: "scoutline-direct@0.5.0",
71
+ mappingRevision: "f8ba9fc0c8053b3384a24395fc6100c6587c0af3280c0d96ac74f4b9f06ad18e",
72
+ testedAt: "2026-07-20T23:44:31.647Z",
73
+ resultDigest: "078cfbbb1b6a9c166fa0b2f5c747976d85565d5451664c11cb382e12936d7c84",
74
+ assertions: [
75
+ { id: "diagnose-error.class", passed: true }
76
+ ],
77
+ },
78
+ ];
79
+ //# sourceMappingURL=vision-attestations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vision-attestations.js","sourceRoot":"","sources":["../../../src/providers/minimax/vision-attestations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAiC;IACvE;QACE,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,aAAa;QACxB,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,wBAAwB;QAC1C,eAAe,EAAE,kEAAkE;QACnF,QAAQ,EAAE,0BAA0B;QACpC,YAAY,EAAE,kEAAkE;QAChF,UAAU,EAAE;YACZ,EAAE,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,IAAI,EAAE;YAC3C,EAAE,EAAE,EAAE,uBAAuB,EAAE,MAAM,EAAE,IAAI,EAAE;SAC5C;KACF;IACD;QACE,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,gBAAgB;QAC3B,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,wBAAwB;QAC1C,eAAe,EAAE,kEAAkE;QACnF,QAAQ,EAAE,0BAA0B;QACpC,YAAY,EAAE,kEAAkE;QAChF,UAAU,EAAE;YACZ,EAAE,EAAE,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE;SAC3C;KACF;CACF,CAAC"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Compiled MiniMax specialized-vision conformance registry (DESIGN.md §15,
3
+ * phases/05-specialized-vision.md P5-02).
4
+ *
5
+ * This module is the single source of truth for which specialized
6
+ * MiniMax Vision operations are supported at runtime. Help text, doctor
7
+ * `sharedCapabilities`, MiniMax descriptor capability metadata, and the
8
+ * Adapter support check all derive from this registry through the two
9
+ * pure queries below. There is no environment override and no runtime
10
+ * filesystem lookup.
11
+ *
12
+ * Boundary rules:
13
+ * - Pure module: no `process.env`, no I/O, no Provider calls.
14
+ * - Imports only the compiled revisions map, the compiled attestation
15
+ * manifest, and the shared capability type. It does not import the
16
+ * MiniMax Adapter, the Vision command, the doctor command, or any
17
+ * Provider transport.
18
+ * - The registry is built once at module load from immutable sources
19
+ * and frozen; support queries are pure functions over that snapshot.
20
+ *
21
+ * Support contract (DESIGN.md §15):
22
+ * `isMiniMaxVisionOperationSupported(op)` is true iff every condition
23
+ * holds:
24
+ * 1. `op` is one of the five specialized operations
25
+ * (`ui-artifact`, `extract-text`, `diagnose-error`, `diagram`,
26
+ * `chart`); `interpret-image`, `diff`, and `video` are not
27
+ * registry entries.
28
+ * 2. The entry's `offline` state is `"pass"`.
29
+ * 3. The entry's `live` state is `"pass"`.
30
+ * 4. A compiled attestation exists whose `operation` matches.
31
+ * 5. The attestation's `fixtureVersion` equals the entry's
32
+ * `fixtureVersion`.
33
+ * 6. The attestation's `implementationId` equals the entry's
34
+ * `implementationId` (which equals
35
+ * {@link MINIMAX_VISION_IMPLEMENTATION_ID}).
36
+ * 7. The attestation's `mappingRevision` equals the entry's
37
+ * `mappingRevision` (sourced from `vision-revisions.ts`).
38
+ * 8. Every entry in `attestation.assertions` has `passed: true`.
39
+ *
40
+ * At P5-02 every entry begins `pending/pending` with no attestation,
41
+ * so every specialized operation is unsupported. P5-03 flips entries
42
+ * to `pass/pass` and appends sanitized attestations one at a time.
43
+ */
44
+ import type { VisionOperation } from "../../capabilities/vision.js";
45
+ /**
46
+ * Conformance state for an offline or live test leg. `pending` means
47
+ * the test has not been run; `pass` means it has run and the operation
48
+ * is eligible for support; `fail` means it ran and the semantics did
49
+ * not hold.
50
+ */
51
+ export type ConformanceState = "pending" | "pass" | "fail";
52
+ /**
53
+ * A specialized MiniMax Vision operation id. `interpret-image`, `diff`,
54
+ * and `video` are excluded by design: `interpret-image` is supported
55
+ * unconditionally by the MiniMax Adapter, and `diff`/`video` remain
56
+ * Z.AI-only (DESIGN.md §15).
57
+ */
58
+ export type SpecializedVisionOperation = Exclude<VisionOperation, "interpret-image" | "diff" | "video">;
59
+ /**
60
+ * Sanitized attestation shape (DESIGN.md §15). Attestations contain
61
+ * ONLY these fields and never include returned prose, credentials,
62
+ * URLs with credentials, headers, raw response bodies, local paths,
63
+ * or stacks.
64
+ */
65
+ export interface VisionAttestation {
66
+ readonly schemaVersion: 1;
67
+ readonly provider: "minimax";
68
+ readonly operation: SpecializedVisionOperation;
69
+ readonly fixtureVersion: number;
70
+ readonly implementationId: string;
71
+ readonly mappingRevision: string;
72
+ readonly testedAt: string;
73
+ readonly resultDigest: string;
74
+ readonly assertions: readonly {
75
+ id: string;
76
+ passed: true;
77
+ }[];
78
+ }
79
+ /**
80
+ * A registry entry. Each immutable entry contains the fixture version,
81
+ * the current Implementation identity, the generated mapping revision,
82
+ * the offline/live conformance states, and an optional compiled
83
+ * attestation attached at registry assembly time.
84
+ */
85
+ export interface VisionConformanceEntry {
86
+ readonly fixtureVersion: number;
87
+ readonly implementationId: string;
88
+ readonly mappingRevision: string;
89
+ readonly offline: ConformanceState;
90
+ readonly live: ConformanceState;
91
+ readonly attestation?: VisionAttestation;
92
+ }
93
+ /**
94
+ * The Implementation identity for the direct MiniMax Vision transport
95
+ * maintained by Scoutline itself (Phase B — critique C3). The previous
96
+ * SDK-backed identity (`mmx-cli-sdk@1.0.16`) pinned the bundled
97
+ * `mmx-cli` runtime; this release replaces it with Scoutline's
98
+ * maintained direct transport. Changing this value (e.g. swapping
99
+ * transports again) invalidates every attestation until each mapping is
100
+ * re-attested (DESIGN.md §17).
101
+ */
102
+ export declare const MINIMAX_VISION_IMPLEMENTATION_ID = "scoutline-direct@0.5.0";
103
+ /**
104
+ * The five specialized MiniMax Vision operations governed by this
105
+ * registry, in stable canonical order. `interpret-image`, `diff`, and
106
+ * `video` are deliberately absent.
107
+ */
108
+ export declare const SPECIALIZED_VISION_OPERATIONS: readonly ["ui-artifact", "extract-text", "diagnose-error", "diagram", "chart"];
109
+ /**
110
+ * Readonly set form of {@link SPECIALIZED_VISION_OPERATIONS} for fast
111
+ * membership checks. Used by the Adapter and by the support query.
112
+ */
113
+ export declare const SPECIALIZED_VISION_OPERATION_SET: ReadonlySet<SpecializedVisionOperation>;
114
+ /**
115
+ * The immutable MiniMax specialized-vision conformance registry. Pure
116
+ * snapshot; reading it performs no Provider call and inspects no
117
+ * environment value.
118
+ */
119
+ export declare const MINIMAX_VISION_CONFORMANCE_REGISTRY: Readonly<Record<SpecializedVisionOperation, VisionConformanceEntry>>;
120
+ /**
121
+ * Validate a candidate registry against the structural contract. Used
122
+ * by tests to prove invariants: the production registry is built from
123
+ * frozen sources and is always valid. Returns a list of human-readable
124
+ * errors; an empty list means the candidate is structurally valid.
125
+ *
126
+ * Validation rules:
127
+ * - Exactly the five specialized operation keys are present.
128
+ * - `diff`, `video`, and `interpret-image` never appear.
129
+ * - `offline` and `live` are each one of `pending|pass|fail`.
130
+ * - `fixtureVersion` is a positive integer.
131
+ * - `implementationId` equals {@link MINIMAX_VISION_IMPLEMENTATION_ID}.
132
+ * - `mappingRevision` is a non-empty string.
133
+ * - If an attestation is present, it may NOT be attached to an entry
134
+ * whose `live` state is not `pass` (an attestation is the proof of
135
+ * a passing live run).
136
+ *
137
+ * NOTE: this function intentionally does NOT cross-check the
138
+ * attestation's `mappingRevision` against the generated revisions map
139
+ * or its `implementationId` against the constant; those checks are the
140
+ * `isMiniMaxVisionOperationSupported` query's job. The validator only
141
+ * checks structural integrity of a candidate registry. Tests that need
142
+ * to assert the attestation/revision match semantics use the support
143
+ * query directly.
144
+ */
145
+ export declare function validateConformanceRegistry(candidate: Readonly<Record<string, unknown>>): string[];
146
+ /**
147
+ * Validate a candidate attestation against the schema contract.
148
+ * Returns a list of human-readable errors; an empty list means the
149
+ * attestation is structurally valid. Used by tests to prove the
150
+ * support contract fails closed on malformed attestations.
151
+ */
152
+ export declare function validateAttestation(candidate: unknown): string[];
153
+ /**
154
+ * Options for {@link isMiniMaxVisionOperationSupported}. Tests pass a
155
+ * synthetic `registry` and `attestations` to exercise pending/pass/fail
156
+ * combinations without mutating compiled sources. Production calls
157
+ * with no options; the compiled registry and manifest are used.
158
+ */
159
+ export interface MiniMaxVisionSupportOptions {
160
+ readonly registry?: Readonly<Record<SpecializedVisionOperation, VisionConformanceEntry>>;
161
+ readonly revisions?: Readonly<Record<SpecializedVisionOperation, string>>;
162
+ readonly implementationId?: string;
163
+ }
164
+ /**
165
+ * Return true iff `operation` is currently a supported MiniMax
166
+ * specialized Vision operation, per DESIGN.md §15. Pure: no Provider
167
+ * call, no env read, no I/O. `interpret-image`, `diff`, and `video`
168
+ * always return false (they are not registry entries).
169
+ */
170
+ export declare function isMiniMaxVisionOperationSupported(operation: VisionOperation, options?: MiniMaxVisionSupportOptions): boolean;
171
+ /**
172
+ * Return a snapshot of every specialized operation's registry entry.
173
+ * The returned record is the same frozen object as the compiled
174
+ * registry; callers MUST NOT mutate it. Use this for help text,
175
+ * diagnostics, and packaging tests so there is a single source of
176
+ * truth for registry metadata.
177
+ */
178
+ export declare function getMiniMaxVisionConformanceMetadata(): Readonly<Record<SpecializedVisionOperation, VisionConformanceEntry>>;
179
+ /**
180
+ * Return the subset of specialized operations currently supported by
181
+ * the MiniMax Vision conformance registry, in canonical order. Used by
182
+ * the Adapter descriptor, Vision help, and doctor `sharedCapabilities`
183
+ * so they all derive from a single query.
184
+ */
185
+ export declare function listSupportedMiniMaxVisionOperations(): readonly SpecializedVisionOperation[];
186
+ //# sourceMappingURL=vision-conformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vision-conformance.d.ts","sourceRoot":"","sources":["../../../src/providers/minimax/vision-conformance.ts"],"names":[],"mappings":"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"}