@prismer/sdk 2.0.7 → 2.2.55

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 (387) hide show
  1. package/README.md +13 -7
  2. package/dist/chunk-R7POPVJR.mjs +35 -0
  3. package/dist/cli.js +59723 -8280
  4. package/dist/index.d.mts +724 -229
  5. package/dist/index.d.ts +724 -229
  6. package/dist/index.js +325 -23
  7. package/dist/index.mjs +324 -23
  8. package/dist/katex-OIP2Q473.mjs +14515 -0
  9. package/dist/pkf-schema.json +35 -0
  10. package/dist/pkf.d.mts +1 -0
  11. package/dist/pkf.d.ts +1 -0
  12. package/dist/pkf.js +48370 -0
  13. package/dist/pkf.mjs +33683 -0
  14. package/node_modules/@clack/core/CHANGELOG.md +249 -0
  15. package/node_modules/@clack/core/LICENSE +9 -0
  16. package/node_modules/@clack/core/README.md +22 -0
  17. package/node_modules/@clack/core/dist/index.cjs +15 -0
  18. package/node_modules/@clack/core/dist/index.cjs.map +1 -0
  19. package/node_modules/@clack/core/dist/index.d.cts +209 -0
  20. package/node_modules/@clack/core/dist/index.d.mts +209 -0
  21. package/node_modules/@clack/core/dist/index.d.ts +209 -0
  22. package/node_modules/@clack/core/dist/index.mjs +15 -0
  23. package/node_modules/@clack/core/dist/index.mjs.map +1 -0
  24. package/node_modules/@clack/core/package.json +62 -0
  25. package/node_modules/@clack/prompts/CHANGELOG.md +374 -0
  26. package/node_modules/@clack/prompts/LICENSE +9 -0
  27. package/node_modules/@clack/prompts/README.md +191 -0
  28. package/node_modules/@clack/prompts/dist/index.cjs +80 -0
  29. package/node_modules/@clack/prompts/dist/index.cjs.map +1 -0
  30. package/node_modules/@clack/prompts/dist/index.d.cts +151 -0
  31. package/node_modules/@clack/prompts/dist/index.d.mts +151 -0
  32. package/node_modules/@clack/prompts/dist/index.d.ts +151 -0
  33. package/node_modules/@clack/prompts/dist/index.mjs +80 -0
  34. package/node_modules/@clack/prompts/dist/index.mjs.map +1 -0
  35. package/node_modules/@clack/prompts/package.json +61 -0
  36. package/node_modules/@iarna/toml/LICENSE +14 -0
  37. package/node_modules/@iarna/toml/README.md +301 -0
  38. package/node_modules/@iarna/toml/index.d.ts +57 -0
  39. package/node_modules/@iarna/toml/lib/create-date.js +23 -0
  40. package/node_modules/@iarna/toml/lib/create-datetime-float.js +24 -0
  41. package/node_modules/@iarna/toml/lib/create-datetime.js +10 -0
  42. package/node_modules/@iarna/toml/lib/create-time.js +22 -0
  43. package/node_modules/@iarna/toml/lib/format-num.js +6 -0
  44. package/node_modules/@iarna/toml/lib/parser-debug.js +60 -0
  45. package/node_modules/@iarna/toml/lib/parser.js +127 -0
  46. package/node_modules/@iarna/toml/lib/toml-parser.js +1379 -0
  47. package/node_modules/@iarna/toml/package.json +82 -0
  48. package/node_modules/@iarna/toml/parse-async.js +30 -0
  49. package/node_modules/@iarna/toml/parse-pretty-error.js +33 -0
  50. package/node_modules/@iarna/toml/parse-stream.js +80 -0
  51. package/node_modules/@iarna/toml/parse-string.js +18 -0
  52. package/node_modules/@iarna/toml/parse.js +5 -0
  53. package/node_modules/@iarna/toml/stringify.js +296 -0
  54. package/node_modules/@iarna/toml/toml.js +3 -0
  55. package/node_modules/@prismer/aip-sdk/README.md +36 -0
  56. package/node_modules/@prismer/aip-sdk/dist/cli/chunk-LIJDUCHB.js +104 -0
  57. package/node_modules/@prismer/aip-sdk/dist/cli/chunk-QUQXZ2LD.js +99 -0
  58. package/node_modules/@prismer/aip-sdk/dist/cli/credentials-5GGZEJFG.js +56 -0
  59. package/node_modules/@prismer/aip-sdk/dist/cli/delegation-3J35VGBZ.js +64 -0
  60. package/node_modules/@prismer/aip-sdk/dist/cli/identity-LXVWKSVB.js +7 -0
  61. package/node_modules/@prismer/aip-sdk/dist/cli/index.js +259 -0
  62. package/node_modules/@prismer/aip-sdk/dist/cli/resolver-TGOPKW52.js +26 -0
  63. package/node_modules/@prismer/aip-sdk/dist/index.cjs +368 -0
  64. package/node_modules/@prismer/aip-sdk/dist/index.d.cts +174 -0
  65. package/node_modules/@prismer/aip-sdk/dist/index.d.ts +174 -0
  66. package/node_modules/@prismer/aip-sdk/dist/index.js +322 -0
  67. package/node_modules/@prismer/aip-sdk/package.json +53 -0
  68. package/node_modules/ansi-regex/index.d.ts +37 -0
  69. package/node_modules/ansi-regex/index.js +10 -0
  70. package/node_modules/ansi-regex/license +9 -0
  71. package/node_modules/ansi-regex/package.json +55 -0
  72. package/node_modules/ansi-regex/readme.md +78 -0
  73. package/node_modules/camelcase/index.d.ts +63 -0
  74. package/node_modules/camelcase/index.js +76 -0
  75. package/node_modules/camelcase/license +9 -0
  76. package/node_modules/camelcase/package.json +43 -0
  77. package/node_modules/camelcase/readme.md +99 -0
  78. package/node_modules/cliui/LICENSE.txt +14 -0
  79. package/node_modules/cliui/README.md +115 -0
  80. package/node_modules/cliui/index.js +354 -0
  81. package/node_modules/cliui/package.json +65 -0
  82. package/node_modules/color-convert/LICENSE +21 -0
  83. package/node_modules/color-convert/README.md +68 -0
  84. package/node_modules/color-convert/conversions.js +839 -0
  85. package/node_modules/color-convert/index.js +81 -0
  86. package/node_modules/color-convert/package.json +48 -0
  87. package/node_modules/color-convert/route.js +97 -0
  88. package/node_modules/color-name/LICENSE +8 -0
  89. package/node_modules/color-name/README.md +11 -0
  90. package/node_modules/color-name/index.js +152 -0
  91. package/node_modules/color-name/package.json +28 -0
  92. package/node_modules/commander/LICENSE +22 -0
  93. package/node_modules/commander/Readme.md +1157 -0
  94. package/node_modules/commander/esm.mjs +16 -0
  95. package/node_modules/commander/index.js +24 -0
  96. package/node_modules/commander/lib/argument.js +149 -0
  97. package/node_modules/commander/lib/command.js +2509 -0
  98. package/node_modules/commander/lib/error.js +39 -0
  99. package/node_modules/commander/lib/help.js +520 -0
  100. package/node_modules/commander/lib/option.js +330 -0
  101. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  102. package/node_modules/commander/package-support.json +16 -0
  103. package/node_modules/commander/package.json +84 -0
  104. package/node_modules/commander/typings/esm.d.mts +3 -0
  105. package/node_modules/commander/typings/index.d.ts +969 -0
  106. package/node_modules/decamelize/index.js +13 -0
  107. package/node_modules/decamelize/license +21 -0
  108. package/node_modules/decamelize/package.json +38 -0
  109. package/node_modules/decamelize/readme.md +48 -0
  110. package/node_modules/dijkstrajs/.travis.yml +4 -0
  111. package/node_modules/dijkstrajs/CONTRIBUTING.md +8 -0
  112. package/node_modules/dijkstrajs/LICENSE.md +19 -0
  113. package/node_modules/dijkstrajs/README.md +18 -0
  114. package/node_modules/dijkstrajs/dijkstra.js +165 -0
  115. package/node_modules/dijkstrajs/package.json +60 -0
  116. package/node_modules/dijkstrajs/test/dijkstra.test.js +96 -0
  117. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  118. package/node_modules/emoji-regex/README.md +73 -0
  119. package/node_modules/emoji-regex/es2015/index.js +6 -0
  120. package/node_modules/emoji-regex/es2015/text.js +6 -0
  121. package/node_modules/emoji-regex/index.d.ts +23 -0
  122. package/node_modules/emoji-regex/index.js +6 -0
  123. package/node_modules/emoji-regex/package.json +50 -0
  124. package/node_modules/emoji-regex/text.js +6 -0
  125. package/node_modules/find-up/index.d.ts +137 -0
  126. package/node_modules/find-up/index.js +89 -0
  127. package/node_modules/find-up/license +9 -0
  128. package/node_modules/find-up/package.json +53 -0
  129. package/node_modules/find-up/readme.md +156 -0
  130. package/node_modules/get-caller-file/LICENSE.md +6 -0
  131. package/node_modules/get-caller-file/README.md +41 -0
  132. package/node_modules/get-caller-file/index.d.ts +2 -0
  133. package/node_modules/get-caller-file/index.js +22 -0
  134. package/node_modules/get-caller-file/index.js.map +1 -0
  135. package/node_modules/get-caller-file/package.json +42 -0
  136. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  137. package/node_modules/is-fullwidth-code-point/index.js +50 -0
  138. package/node_modules/is-fullwidth-code-point/license +9 -0
  139. package/node_modules/is-fullwidth-code-point/package.json +42 -0
  140. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  141. package/node_modules/locate-path/index.d.ts +83 -0
  142. package/node_modules/locate-path/index.js +65 -0
  143. package/node_modules/locate-path/license +9 -0
  144. package/node_modules/locate-path/package.json +45 -0
  145. package/node_modules/locate-path/readme.md +122 -0
  146. package/node_modules/p-locate/index.d.ts +64 -0
  147. package/node_modules/p-locate/index.js +52 -0
  148. package/node_modules/p-locate/license +9 -0
  149. package/node_modules/p-locate/node_modules/p-limit/index.d.ts +38 -0
  150. package/node_modules/p-locate/node_modules/p-limit/index.js +57 -0
  151. package/node_modules/p-locate/node_modules/p-limit/license +9 -0
  152. package/node_modules/p-locate/node_modules/p-limit/package.json +52 -0
  153. package/node_modules/p-locate/node_modules/p-limit/readme.md +101 -0
  154. package/node_modules/p-locate/package.json +53 -0
  155. package/node_modules/p-locate/readme.md +90 -0
  156. package/node_modules/p-try/index.d.ts +39 -0
  157. package/node_modules/p-try/index.js +9 -0
  158. package/node_modules/p-try/license +9 -0
  159. package/node_modules/p-try/package.json +42 -0
  160. package/node_modules/p-try/readme.md +58 -0
  161. package/node_modules/path-exists/index.d.ts +28 -0
  162. package/node_modules/path-exists/index.js +23 -0
  163. package/node_modules/path-exists/license +9 -0
  164. package/node_modules/path-exists/package.json +39 -0
  165. package/node_modules/path-exists/readme.md +52 -0
  166. package/node_modules/picocolors/LICENSE +15 -0
  167. package/node_modules/picocolors/README.md +21 -0
  168. package/node_modules/picocolors/package.json +25 -0
  169. package/node_modules/picocolors/picocolors.browser.js +4 -0
  170. package/node_modules/picocolors/picocolors.d.ts +5 -0
  171. package/node_modules/picocolors/picocolors.js +75 -0
  172. package/node_modules/picocolors/types.d.ts +51 -0
  173. package/node_modules/pngjs/.eslintignore +2 -0
  174. package/node_modules/pngjs/.eslintrc.json +19 -0
  175. package/node_modules/pngjs/.prettierignore +3 -0
  176. package/node_modules/pngjs/LICENSE +20 -0
  177. package/node_modules/pngjs/README.md +429 -0
  178. package/node_modules/pngjs/browser.js +16096 -0
  179. package/node_modules/pngjs/coverage/lcov-report/base.css +354 -0
  180. package/node_modules/pngjs/coverage/lcov-report/bitmapper.js.html +881 -0
  181. package/node_modules/pngjs/coverage/lcov-report/bitpacker.js.html +554 -0
  182. package/node_modules/pngjs/coverage/lcov-report/block-navigation.js +77 -0
  183. package/node_modules/pngjs/coverage/lcov-report/chunkstream.js.html +647 -0
  184. package/node_modules/pngjs/coverage/lcov-report/constants.js.html +176 -0
  185. package/node_modules/pngjs/coverage/lcov-report/crc.js.html +200 -0
  186. package/node_modules/pngjs/coverage/lcov-report/favicon.png +0 -0
  187. package/node_modules/pngjs/coverage/lcov-report/filter-pack.js.html +593 -0
  188. package/node_modules/pngjs/coverage/lcov-report/filter-parse-async.js.html +152 -0
  189. package/node_modules/pngjs/coverage/lcov-report/filter-parse-sync.js.html +143 -0
  190. package/node_modules/pngjs/coverage/lcov-report/filter-parse.js.html +611 -0
  191. package/node_modules/pngjs/coverage/lcov-report/format-normaliser.js.html +359 -0
  192. package/node_modules/pngjs/coverage/lcov-report/index.html +426 -0
  193. package/node_modules/pngjs/coverage/lcov-report/interlace.js.html +365 -0
  194. package/node_modules/pngjs/coverage/lcov-report/packer-async.js.html +230 -0
  195. package/node_modules/pngjs/coverage/lcov-report/packer-sync.js.html +248 -0
  196. package/node_modules/pngjs/coverage/lcov-report/packer.js.html +467 -0
  197. package/node_modules/pngjs/coverage/lcov-report/paeth-predictor.js.html +128 -0
  198. package/node_modules/pngjs/coverage/lcov-report/parser-async.js.html +575 -0
  199. package/node_modules/pngjs/coverage/lcov-report/parser-sync.js.html +404 -0
  200. package/node_modules/pngjs/coverage/lcov-report/parser.js.html +950 -0
  201. package/node_modules/pngjs/coverage/lcov-report/png-sync.js.html +116 -0
  202. package/node_modules/pngjs/coverage/lcov-report/png.js.html +662 -0
  203. package/node_modules/pngjs/coverage/lcov-report/prettify.css +101 -0
  204. package/node_modules/pngjs/coverage/lcov-report/prettify.js +1007 -0
  205. package/node_modules/pngjs/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  206. package/node_modules/pngjs/coverage/lcov-report/sorter.js +169 -0
  207. package/node_modules/pngjs/coverage/lcov-report/sync-inflate.js.html +584 -0
  208. package/node_modules/pngjs/coverage/lcov-report/sync-reader.js.html +215 -0
  209. package/node_modules/pngjs/coverage/lcov.info +2177 -0
  210. package/node_modules/pngjs/lib/bitmapper.js +267 -0
  211. package/node_modules/pngjs/lib/bitpacker.js +158 -0
  212. package/node_modules/pngjs/lib/chunkstream.js +189 -0
  213. package/node_modules/pngjs/lib/constants.js +32 -0
  214. package/node_modules/pngjs/lib/crc.js +40 -0
  215. package/node_modules/pngjs/lib/filter-pack.js +171 -0
  216. package/node_modules/pngjs/lib/filter-parse-async.js +24 -0
  217. package/node_modules/pngjs/lib/filter-parse-sync.js +21 -0
  218. package/node_modules/pngjs/lib/filter-parse.js +177 -0
  219. package/node_modules/pngjs/lib/format-normaliser.js +93 -0
  220. package/node_modules/pngjs/lib/interlace.js +95 -0
  221. package/node_modules/pngjs/lib/packer-async.js +50 -0
  222. package/node_modules/pngjs/lib/packer-sync.js +56 -0
  223. package/node_modules/pngjs/lib/packer.js +129 -0
  224. package/node_modules/pngjs/lib/paeth-predictor.js +16 -0
  225. package/node_modules/pngjs/lib/parser-async.js +165 -0
  226. package/node_modules/pngjs/lib/parser-sync.js +108 -0
  227. package/node_modules/pngjs/lib/parser.js +290 -0
  228. package/node_modules/pngjs/lib/png-sync.js +12 -0
  229. package/node_modules/pngjs/lib/png.js +194 -0
  230. package/node_modules/pngjs/lib/sync-inflate.js +168 -0
  231. package/node_modules/pngjs/lib/sync-reader.js +45 -0
  232. package/node_modules/pngjs/package.json +73 -0
  233. package/node_modules/qrcode/README.md +770 -0
  234. package/node_modules/qrcode/bin/qrcode +159 -0
  235. package/node_modules/qrcode/helper/to-sjis-browser.js +2 -0
  236. package/node_modules/qrcode/helper/to-sjis.js +105 -0
  237. package/node_modules/qrcode/lib/browser.js +76 -0
  238. package/node_modules/qrcode/lib/can-promise.js +7 -0
  239. package/node_modules/qrcode/lib/core/alignment-pattern.js +83 -0
  240. package/node_modules/qrcode/lib/core/alphanumeric-data.js +59 -0
  241. package/node_modules/qrcode/lib/core/bit-buffer.js +37 -0
  242. package/node_modules/qrcode/lib/core/bit-matrix.js +65 -0
  243. package/node_modules/qrcode/lib/core/byte-data.js +30 -0
  244. package/node_modules/qrcode/lib/core/error-correction-code.js +135 -0
  245. package/node_modules/qrcode/lib/core/error-correction-level.js +50 -0
  246. package/node_modules/qrcode/lib/core/finder-pattern.js +22 -0
  247. package/node_modules/qrcode/lib/core/format-info.js +29 -0
  248. package/node_modules/qrcode/lib/core/galois-field.js +69 -0
  249. package/node_modules/qrcode/lib/core/kanji-data.js +54 -0
  250. package/node_modules/qrcode/lib/core/mask-pattern.js +234 -0
  251. package/node_modules/qrcode/lib/core/mode.js +167 -0
  252. package/node_modules/qrcode/lib/core/numeric-data.js +43 -0
  253. package/node_modules/qrcode/lib/core/polynomial.js +62 -0
  254. package/node_modules/qrcode/lib/core/qrcode.js +495 -0
  255. package/node_modules/qrcode/lib/core/reed-solomon-encoder.js +56 -0
  256. package/node_modules/qrcode/lib/core/regex.js +31 -0
  257. package/node_modules/qrcode/lib/core/segments.js +330 -0
  258. package/node_modules/qrcode/lib/core/utils.js +63 -0
  259. package/node_modules/qrcode/lib/core/version-check.js +9 -0
  260. package/node_modules/qrcode/lib/core/version.js +163 -0
  261. package/node_modules/qrcode/lib/index.js +12 -0
  262. package/node_modules/qrcode/lib/renderer/canvas.js +63 -0
  263. package/node_modules/qrcode/lib/renderer/png.js +78 -0
  264. package/node_modules/qrcode/lib/renderer/svg-tag.js +81 -0
  265. package/node_modules/qrcode/lib/renderer/svg.js +19 -0
  266. package/node_modules/qrcode/lib/renderer/terminal/terminal-small.js +85 -0
  267. package/node_modules/qrcode/lib/renderer/terminal/terminal.js +49 -0
  268. package/node_modules/qrcode/lib/renderer/terminal.js +9 -0
  269. package/node_modules/qrcode/lib/renderer/utf8.js +71 -0
  270. package/node_modules/qrcode/lib/renderer/utils.js +99 -0
  271. package/node_modules/qrcode/lib/server.js +138 -0
  272. package/node_modules/qrcode/license +10 -0
  273. package/node_modules/qrcode/package.json +77 -0
  274. package/node_modules/require-directory/.jshintrc +67 -0
  275. package/node_modules/require-directory/.npmignore +1 -0
  276. package/node_modules/require-directory/.travis.yml +3 -0
  277. package/node_modules/require-directory/LICENSE +22 -0
  278. package/node_modules/require-directory/README.markdown +184 -0
  279. package/node_modules/require-directory/index.js +86 -0
  280. package/node_modules/require-directory/package.json +40 -0
  281. package/node_modules/require-main-filename/LICENSE.txt +14 -0
  282. package/node_modules/require-main-filename/README.md +26 -0
  283. package/node_modules/require-main-filename/index.js +18 -0
  284. package/node_modules/require-main-filename/package.json +35 -0
  285. package/node_modules/set-blocking/LICENSE.txt +14 -0
  286. package/node_modules/set-blocking/README.md +31 -0
  287. package/node_modules/set-blocking/index.js +7 -0
  288. package/node_modules/set-blocking/package.json +42 -0
  289. package/node_modules/sisteransi/license +21 -0
  290. package/node_modules/sisteransi/package.json +34 -0
  291. package/node_modules/sisteransi/readme.md +113 -0
  292. package/node_modules/sisteransi/src/index.js +58 -0
  293. package/node_modules/sisteransi/src/sisteransi.d.ts +35 -0
  294. package/node_modules/string-width/index.d.ts +29 -0
  295. package/node_modules/string-width/index.js +47 -0
  296. package/node_modules/string-width/license +9 -0
  297. package/node_modules/string-width/package.json +56 -0
  298. package/node_modules/string-width/readme.md +50 -0
  299. package/node_modules/strip-ansi/index.d.ts +17 -0
  300. package/node_modules/strip-ansi/index.js +4 -0
  301. package/node_modules/strip-ansi/license +9 -0
  302. package/node_modules/strip-ansi/package.json +54 -0
  303. package/node_modules/strip-ansi/readme.md +46 -0
  304. package/node_modules/which-module/LICENSE +13 -0
  305. package/node_modules/which-module/README.md +58 -0
  306. package/node_modules/which-module/index.js +9 -0
  307. package/node_modules/which-module/package.json +41 -0
  308. package/node_modules/wrap-ansi/index.js +186 -0
  309. package/node_modules/wrap-ansi/license +9 -0
  310. package/node_modules/wrap-ansi/node_modules/ansi-styles/index.d.ts +345 -0
  311. package/node_modules/wrap-ansi/node_modules/ansi-styles/index.js +163 -0
  312. package/node_modules/wrap-ansi/node_modules/ansi-styles/license +9 -0
  313. package/node_modules/wrap-ansi/node_modules/ansi-styles/package.json +56 -0
  314. package/node_modules/wrap-ansi/node_modules/ansi-styles/readme.md +152 -0
  315. package/node_modules/wrap-ansi/package.json +61 -0
  316. package/node_modules/wrap-ansi/readme.md +97 -0
  317. package/node_modules/y18n/LICENSE +13 -0
  318. package/node_modules/y18n/README.md +109 -0
  319. package/node_modules/y18n/index.js +188 -0
  320. package/node_modules/y18n/package.json +39 -0
  321. package/node_modules/yargs/LICENSE +21 -0
  322. package/node_modules/yargs/README.md +140 -0
  323. package/node_modules/yargs/build/lib/apply-extends.d.ts +2 -0
  324. package/node_modules/yargs/build/lib/apply-extends.js +65 -0
  325. package/node_modules/yargs/build/lib/argsert.d.ts +2 -0
  326. package/node_modules/yargs/build/lib/argsert.js +65 -0
  327. package/node_modules/yargs/build/lib/command.d.ts +64 -0
  328. package/node_modules/yargs/build/lib/command.js +416 -0
  329. package/node_modules/yargs/build/lib/common-types.d.ts +36 -0
  330. package/node_modules/yargs/build/lib/common-types.js +25 -0
  331. package/node_modules/yargs/build/lib/completion-templates.d.ts +2 -0
  332. package/node_modules/yargs/build/lib/completion-templates.js +50 -0
  333. package/node_modules/yargs/build/lib/completion.d.ts +21 -0
  334. package/node_modules/yargs/build/lib/completion.js +135 -0
  335. package/node_modules/yargs/build/lib/is-promise.d.ts +1 -0
  336. package/node_modules/yargs/build/lib/is-promise.js +9 -0
  337. package/node_modules/yargs/build/lib/levenshtein.d.ts +1 -0
  338. package/node_modules/yargs/build/lib/levenshtein.js +58 -0
  339. package/node_modules/yargs/build/lib/middleware.d.ts +10 -0
  340. package/node_modules/yargs/build/lib/middleware.js +57 -0
  341. package/node_modules/yargs/build/lib/obj-filter.d.ts +1 -0
  342. package/node_modules/yargs/build/lib/obj-filter.js +14 -0
  343. package/node_modules/yargs/build/lib/parse-command.d.ts +11 -0
  344. package/node_modules/yargs/build/lib/parse-command.js +36 -0
  345. package/node_modules/yargs/build/lib/process-argv.d.ts +2 -0
  346. package/node_modules/yargs/build/lib/process-argv.js +31 -0
  347. package/node_modules/yargs/build/lib/usage.d.ts +49 -0
  348. package/node_modules/yargs/build/lib/usage.js +540 -0
  349. package/node_modules/yargs/build/lib/validation.d.ts +34 -0
  350. package/node_modules/yargs/build/lib/validation.js +330 -0
  351. package/node_modules/yargs/build/lib/yargs.d.ts +274 -0
  352. package/node_modules/yargs/build/lib/yargs.js +1190 -0
  353. package/node_modules/yargs/build/lib/yerror.d.ts +4 -0
  354. package/node_modules/yargs/build/lib/yerror.js +11 -0
  355. package/node_modules/yargs/index.js +40 -0
  356. package/node_modules/yargs/locales/be.json +46 -0
  357. package/node_modules/yargs/locales/de.json +46 -0
  358. package/node_modules/yargs/locales/en.json +51 -0
  359. package/node_modules/yargs/locales/es.json +46 -0
  360. package/node_modules/yargs/locales/fi.json +49 -0
  361. package/node_modules/yargs/locales/fr.json +53 -0
  362. package/node_modules/yargs/locales/hi.json +49 -0
  363. package/node_modules/yargs/locales/hu.json +46 -0
  364. package/node_modules/yargs/locales/id.json +50 -0
  365. package/node_modules/yargs/locales/it.json +46 -0
  366. package/node_modules/yargs/locales/ja.json +51 -0
  367. package/node_modules/yargs/locales/ko.json +49 -0
  368. package/node_modules/yargs/locales/nb.json +44 -0
  369. package/node_modules/yargs/locales/nl.json +49 -0
  370. package/node_modules/yargs/locales/nn.json +44 -0
  371. package/node_modules/yargs/locales/pirate.json +13 -0
  372. package/node_modules/yargs/locales/pl.json +49 -0
  373. package/node_modules/yargs/locales/pt.json +45 -0
  374. package/node_modules/yargs/locales/pt_BR.json +48 -0
  375. package/node_modules/yargs/locales/ru.json +46 -0
  376. package/node_modules/yargs/locales/th.json +46 -0
  377. package/node_modules/yargs/locales/tr.json +48 -0
  378. package/node_modules/yargs/locales/zh_CN.json +48 -0
  379. package/node_modules/yargs/locales/zh_TW.json +47 -0
  380. package/node_modules/yargs/package.json +92 -0
  381. package/node_modules/yargs/yargs.js +14 -0
  382. package/node_modules/yargs-parser/LICENSE.txt +14 -0
  383. package/node_modules/yargs-parser/README.md +449 -0
  384. package/node_modules/yargs-parser/index.js +1032 -0
  385. package/node_modules/yargs-parser/lib/tokenize-arg-string.js +40 -0
  386. package/node_modules/yargs-parser/package.json +46 -0
  387. package/package.json +28 -5
package/dist/index.d.ts CHANGED
@@ -1,6 +1,245 @@
1
1
  import { AIPIdentity } from '@prismer/aip-sdk';
2
2
  export { AIPIdentity, DIDDocument, SignedPayload } from '@prismer/aip-sdk';
3
3
 
4
+ /** Subset of the cloud-side AgentStatus enum used by status-change events. */
5
+ type IMAgentStatus = 'online' | 'busy' | 'idle' | 'offline';
6
+ interface HostedAgentDeclaration {
7
+ imUserId: string;
8
+ name: string;
9
+ adapterName: string;
10
+ capabilities: string[];
11
+ profiles: Array<{
12
+ id: string;
13
+ version: number;
14
+ }>;
15
+ }
16
+ interface AgentHostDeclarePayload {
17
+ daemonId: string;
18
+ /** Optional explicit workspace for local daemons without an IMContainer row. */
19
+ workspaceId?: string;
20
+ daemonVersion: string;
21
+ platform: 'darwin' | 'linux' | 'win32';
22
+ agents: HostedAgentDeclaration[];
23
+ }
24
+ interface RejectedHostedAgent {
25
+ imUserId: string;
26
+ reason: 'bound-to-other-daemon' | 'not-owned' | 'unknown';
27
+ ownerDaemonId?: string;
28
+ }
29
+ interface HostAckedPayload {
30
+ workspaceId: string;
31
+ syncCursor: {
32
+ workspaces: number;
33
+ agent_profiles: number;
34
+ [key: string]: number;
35
+ };
36
+ profilesToSync: string[];
37
+ /** Profile IDs the daemon declared but that no longer exist on the cloud
38
+ * (soft-deleted). The daemon should remove these from its local store. */
39
+ profilesToDelete: string[];
40
+ acceptedAgents?: string[];
41
+ rejectedAgents?: RejectedHostedAgent[];
42
+ }
43
+ interface AgentStatusChangedPayload {
44
+ agentImUserId: string;
45
+ status: IMAgentStatus;
46
+ activeProfileId?: string;
47
+ runningTaskIds?: string[];
48
+ }
49
+ interface TaskDispatchContextEntry {
50
+ sender: string;
51
+ senderRole: 'human' | 'agent' | 'admin' | 'system';
52
+ content: string;
53
+ createdAt: string;
54
+ /** Wave-8 W1: assets the human attached to THIS chat message. */
55
+ attachedAssetIds?: string[];
56
+ }
57
+ /** Wave-8 W1: hydrated asset reference attached to a dispatch. */
58
+ interface AssetRef {
59
+ assetId: string;
60
+ contentHash: string;
61
+ mime: string | null;
62
+ sizeBytes: number | null;
63
+ kind: string;
64
+ workspaceId: string;
65
+ role: 'attachment' | 'context';
66
+ }
67
+ interface TaskDispatchRequestPayload {
68
+ taskId: string;
69
+ /** Agent target for runtimeRoute='agent'. Shell dispatches do not use this. */
70
+ agentImUserId?: string;
71
+ /** Runtime/device target for runtimeRoute='shell'. */
72
+ targetDaemonId?: string;
73
+ profileId: string;
74
+ capability: string;
75
+ prompt: string;
76
+ /** Execution surface. `shell` is daemon-local command execution. */
77
+ runtimeRoute?: 'agent' | 'sandbox' | 'shell';
78
+ metadata?: Record<string, unknown>;
79
+ timeoutMs?: number;
80
+ context?: TaskDispatchContextEntry[];
81
+ conversationId?: string;
82
+ /**
83
+ * Channel mode for the originating conversation. Optional and
84
+ * forward-compatible: when missing, daemon renders 'unknown' in the
85
+ * [Channel context] prompt block.
86
+ * - `direct`: 1:1 DM (no @-mention needed in reply).
87
+ * - `group`: multi-party room (end reply with `@<recipient>` to
88
+ * continue the chain).
89
+ */
90
+ conversationType?: 'direct' | 'group';
91
+ /**
92
+ * Active participants of the dispatch's conversation. Daemon injects this
93
+ * into [Channel context] so the agent knows the authoritative recipient list
94
+ * without hallucinating. Capped at 50 entries server-side.
95
+ */
96
+ participants?: Array<{
97
+ imUserId: string;
98
+ username: string;
99
+ displayName: string;
100
+ role: string;
101
+ agentType?: string | null;
102
+ }>;
103
+ /** Wave-8 W1: assets cloud wants daemon to fold into agent context. */
104
+ assetRefs?: AssetRef[];
105
+ }
106
+ interface TaskDispatchProgressPayload {
107
+ taskId: string;
108
+ progress: number;
109
+ message?: string;
110
+ detail?: Record<string, unknown>;
111
+ }
112
+ /** Wave-8 W1: how the daemon handled a single AssetRef. */
113
+ type AssetDispatchStrategy = 'inline-text' | 'inline-text-truncated' | 'uri-only' | 'error';
114
+ interface AssetDispatchObservation {
115
+ assetId: string;
116
+ contentHash: string;
117
+ mime: string | null;
118
+ sizeBytes: number | null;
119
+ strategy: AssetDispatchStrategy;
120
+ inlinedBytes?: number;
121
+ error?: string;
122
+ }
123
+ /**
124
+ * P1-2 (2026-05-25): per-file outbox rejection record emitted by daemon when
125
+ * outbox-watcher quarantines an artifact (MIME ≠ filename extension). Cloud
126
+ * persists these on `IMTask.metadata.outboxRejections` and re-injects into
127
+ * the next dispatch prompt as agent-visible feedback.
128
+ */
129
+ interface OutboxRejectionRecord {
130
+ filename: string;
131
+ reason: string;
132
+ inferredMime: string;
133
+ detectedMime: string;
134
+ rejectedAt: string;
135
+ }
136
+ interface TaskDurabilityPageReceipt {
137
+ pageId: string;
138
+ path: string;
139
+ version: number;
140
+ contentHash: string;
141
+ authority?: 'cloud' | 'outbox';
142
+ authorityEventId?: string;
143
+ }
144
+ interface TaskDurabilityResult {
145
+ commitKey: string;
146
+ postTurnKey: string;
147
+ canonicalTurnId: string;
148
+ conversationId?: string;
149
+ runId?: string;
150
+ messageId?: string;
151
+ profileId?: string;
152
+ profileName?: string;
153
+ model?: string;
154
+ provider?: string;
155
+ targetPageKey?: string;
156
+ normalizedContentHash?: string;
157
+ state: 'persisted' | 'skipped_not_durable' | 'skipped_duplicate' | 'retryable_failure' | 'terminal_failure';
158
+ receipts: TaskDurabilityPageReceipt[];
159
+ error?: {
160
+ code: string;
161
+ message: string;
162
+ };
163
+ timeoutMs: number;
164
+ replyCommittedAt: number;
165
+ duplicateOf?: {
166
+ state: 'persisted' | 'skipped_not_durable' | 'retryable_failure' | 'terminal_failure';
167
+ receipts: TaskDurabilityPageReceipt[];
168
+ replyCommittedAt: number;
169
+ };
170
+ }
171
+ interface TaskDispatchReplyPayload {
172
+ taskId: string;
173
+ ok: boolean;
174
+ output?: string;
175
+ /** Markdown projection remains in output; rich PKF rides beside it. */
176
+ contentBlocks?: ContentBlockInput[];
177
+ error?: {
178
+ code: string;
179
+ message: string;
180
+ };
181
+ assetIds?: string[];
182
+ metrics?: {
183
+ tokensUsed?: number;
184
+ durationMs?: number;
185
+ };
186
+ /** Wave-8 W1: per-asset handling report. */
187
+ assetObservability?: AssetDispatchObservation[];
188
+ /**
189
+ * P1-2: files quarantined by daemon outbox-watcher's magic-bytes guard
190
+ * during this turn. Empty/absent when nothing was rejected.
191
+ */
192
+ outboxRejections?: OutboxRejectionRecord[];
193
+ /** PKF 209 Phase 1: bounded pre-reply authoritative Memory outcome. */
194
+ durability?: TaskDurabilityResult;
195
+ }
196
+ interface TaskCancelPayload {
197
+ taskId: string;
198
+ reason?: string;
199
+ }
200
+ /**
201
+ * Wire envelope for v2.0 WS events. `timestamp` is required (mirrors the
202
+ * cloud-side `WSMessage<T>` definition in src/im/types/index.ts).
203
+ */
204
+ interface IMWSMessage<T = unknown> {
205
+ type: string;
206
+ payload: T;
207
+ requestId?: string;
208
+ timestamp: number;
209
+ }
210
+ interface WorkspaceChangedPayload {
211
+ workspaceId: string;
212
+ /** ISO-8601 timestamp from im_workspaces.updatedAt. */
213
+ updatedAt: string;
214
+ }
215
+ interface AgentProfileChangedPayload {
216
+ profileId: string;
217
+ version: number;
218
+ }
219
+ interface AgentChangedPayload {
220
+ agentImUserId: string;
221
+ fields: {
222
+ displayName?: string;
223
+ capabilities?: string[];
224
+ };
225
+ }
226
+ interface WorkspaceFileChangedPayload {
227
+ workspaceId: string;
228
+ path: string;
229
+ operation: 'create' | 'update' | 'delete';
230
+ assetId?: string;
231
+ contentHash?: string;
232
+ version: number;
233
+ }
234
+ interface AssetChangedPayload {
235
+ workspaceId: string;
236
+ assetId: string;
237
+ operation: 'create' | 'update' | 'delete';
238
+ contentHash?: string;
239
+ assetIndexSeq?: number;
240
+ revision?: number;
241
+ }
242
+
4
243
  /**
5
244
  * Prismer SDK — Storage adapters for offline-first IM.
6
245
  *
@@ -256,8 +495,15 @@ interface PrismerConfig {
256
495
  timeout?: number;
257
496
  /** Custom fetch implementation */
258
497
  fetch?: typeof fetch;
259
- /** Default X-IM-Agent header for IM requests (select which agent identity to use) */
498
+ /** Agent identity hint: X-IM-Agent for IM requests, X-Prismer-Agent for canonical PKF requests. */
260
499
  imAgent?: string;
500
+ /**
501
+ * Default X-IM-Workspace header for IM requests (release202/09 §3.6 B).
502
+ * Lets the cloud agent-proxy reach its workspace-scoped fallback when the
503
+ * owner `userId`/`numericId` bridge can't resolve the agent. Optional —
504
+ * absent header preserves legacy behavior.
505
+ */
506
+ imWorkspace?: string;
261
507
  /** Enable offline-first mode for IM with local persistence and sync */
262
508
  offline?: OfflineConfig;
263
509
  /**
@@ -575,18 +821,47 @@ type ContentBlockToolUse = {
575
821
  toolName: string;
576
822
  inputJson: unknown;
577
823
  };
578
- type ContentBlockToolResult = {
579
- kind: 'tool_result';
580
- toolCallId: string;
581
- output: ContentBlock[];
582
- };
583
824
  type ContentBlockReasoning = {
584
825
  kind: 'reasoning';
585
826
  text: string;
586
827
  redacted?: boolean;
587
828
  };
588
- /** v2.0 §4.6 ContentBlock discriminated union (Anthropic-shape, 8 variants). */
589
- type ContentBlock = ContentBlockText | ContentBlockImage | ContentBlockAudio | ContentBlockVideo | ContentBlockFile | ContentBlockToolUse | ContentBlockToolResult | ContentBlockReasoning;
829
+ type ContentBlockPkfInput = {
830
+ kind: 'pkf';
831
+ source: string;
832
+ title?: string;
833
+ };
834
+ type ContentBlockPkfOutput = ContentBlockPkfInput & {
835
+ blockId: string;
836
+ blockRevision: number;
837
+ sourceHash: string;
838
+ authority: {
839
+ status: 'verified';
840
+ source: 'pkf_inline_blocks';
841
+ } | {
842
+ status: 'corrupt';
843
+ source: 'pkf_inline_blocks';
844
+ code: string;
845
+ };
846
+ };
847
+ /** @deprecated Use ContentBlockPkfInput or ContentBlockPkfOutput at a concrete boundary. */
848
+ type ContentBlockPkf = ContentBlockPkfInput | ContentBlockPkfOutput;
849
+ type ContentBlockToolResultInput = {
850
+ kind: 'tool_result';
851
+ toolCallId: string;
852
+ output: ContentBlockInput[];
853
+ };
854
+ type ContentBlockToolResultOutput = {
855
+ kind: 'tool_result';
856
+ toolCallId: string;
857
+ output: ContentBlockOutput[];
858
+ };
859
+ /** @deprecated Use the boundary-specific recursive ToolResult type. */
860
+ type ContentBlockToolResult = ContentBlockToolResultInput | ContentBlockToolResultOutput;
861
+ type ContentBlockInput = ContentBlockText | ContentBlockImage | ContentBlockAudio | ContentBlockVideo | ContentBlockFile | ContentBlockToolUse | ContentBlockToolResultInput | ContentBlockReasoning | ContentBlockPkfInput;
862
+ type ContentBlockOutput = ContentBlockText | ContentBlockImage | ContentBlockAudio | ContentBlockVideo | ContentBlockFile | ContentBlockToolUse | ContentBlockToolResultOutput | ContentBlockReasoning | ContentBlockPkfOutput;
863
+ /** v2.0 §4.6 + product209 PKF ContentBlock discriminated union (9 variants). */
864
+ type ContentBlock = ContentBlockInput | ContentBlockOutput;
590
865
  /**
591
866
  * v2.0 §4.6 ChatMessage — used by TaskInput.messages and other multi-turn
592
867
  * dispatch shapes. Content may be a plain string (legacy / single-text) or a
@@ -594,7 +869,7 @@ type ContentBlock = ContentBlockText | ContentBlockImage | ContentBlockAudio | C
594
869
  */
595
870
  interface ChatMessage {
596
871
  role: 'system' | 'user' | 'assistant' | 'tool';
597
- content: string | ContentBlock[];
872
+ content: string | ContentBlockInput[];
598
873
  /** Optional name (tool message provenance, OpenAI-compat). */
599
874
  name?: string;
600
875
  /** Optional tool_call_id (for role='tool' responses). */
@@ -631,7 +906,7 @@ interface IMMessage {
631
906
  * string) and `attachments` (legacy) for the 6-sprint double-write window.
632
907
  * When the server returns ContentBlock[], renderers should prefer this.
633
908
  */
634
- contentBlocks?: ContentBlock[] | null;
909
+ contentBlocks?: ContentBlockOutput[] | null;
635
910
  /**
636
911
  * v2.0 §4.1 — per-conversation strictly monotonic boundary sequence number
637
912
  * stamped by the server inside the same tx as the message insert.
@@ -731,6 +1006,42 @@ interface IMDiscoverAgent {
731
1006
  capabilities?: string[];
732
1007
  status: string;
733
1008
  }
1009
+ /** Workspace-scoped filters for the Agent Registry (`GET /api/im/agents`). */
1010
+ interface IMAgentDiscoverOptions {
1011
+ workspaceId: string;
1012
+ agentType?: string;
1013
+ capability?: string;
1014
+ onlineOnly?: boolean;
1015
+ }
1016
+ /** Capability declared on an AgentCard returned by the Agent Registry. */
1017
+ interface IMAgentCatalogCapability {
1018
+ name: string;
1019
+ description: string;
1020
+ version?: string;
1021
+ inputSchema?: Record<string, unknown>;
1022
+ outputSchema?: Record<string, unknown>;
1023
+ }
1024
+ /** Agent Registry entry. Independent from the contacts-only `IMDiscoverAgent`. */
1025
+ interface IMAgentCatalogEntry {
1026
+ agentId: string;
1027
+ userId: string;
1028
+ username?: string;
1029
+ name: string;
1030
+ description: string;
1031
+ agentType: string;
1032
+ /**
1033
+ * Agent Registry rows include both legacy string capability names and
1034
+ * structured AgentCapability declarations. The endpoint intentionally
1035
+ * preserves both persisted shapes.
1036
+ */
1037
+ capabilities: Array<string | IMAgentCatalogCapability>;
1038
+ status: string;
1039
+ load: number;
1040
+ endpoint?: string;
1041
+ did?: string;
1042
+ didDocumentUrl?: string;
1043
+ visionCapable: boolean;
1044
+ }
734
1045
  interface IMBindingData {
735
1046
  bindingId: string;
736
1047
  platform: string;
@@ -804,6 +1115,13 @@ interface IMWorkspaceInitGroupOptions {
804
1115
  }>;
805
1116
  force?: boolean;
806
1117
  }
1118
+ interface IMWorkspaceCreateAgentOptions {
1119
+ agentName: string;
1120
+ agentDisplayName: string;
1121
+ agentType?: string;
1122
+ capabilities?: string[];
1123
+ metadata?: Record<string, unknown>;
1124
+ }
807
1125
  interface IMAutocompleteResult {
808
1126
  userId: string;
809
1127
  username: string;
@@ -848,7 +1166,7 @@ interface IMSendOptions {
848
1166
  * v2.0 §4.6 — multimodal content blocks. When set, `content` is treated as
849
1167
  * a fallback summary string for adapters that don't speak ContentBlock yet.
850
1168
  */
851
- contentBlocks?: ContentBlock[];
1169
+ contentBlocks?: ContentBlockInput[];
852
1170
  }
853
1171
  interface IMPaginationOptions {
854
1172
  limit?: number;
@@ -965,8 +1283,20 @@ interface OfflineConfig {
965
1283
  data: any;
966
1284
  seq: number;
967
1285
  }) => 'keep_local' | 'accept_remote' | StoredMessage;
968
- /** Sync mode: 'push' = SSE continuous stream, 'poll' = periodic polling (default: 'push') */
1286
+ /** Sync mode: 'push' = continuous stream, 'poll' = periodic polling (default: 'push') */
969
1287
  syncMode?: 'push' | 'poll';
1288
+ /**
1289
+ * release203/12 — prefer the unified single WebSocket (`WS /ws/realtime`) for
1290
+ * continuous push sync instead of the legacy `/api/im/sync/stream` SSE.
1291
+ * Default: true. Set false to pin the SSE transport (e.g. behind a proxy that
1292
+ * doesn't yet pass WS upgrades). Falls back to SSE then polling automatically
1293
+ * when no WebSocket is available. */
1294
+ unifiedWs?: boolean;
1295
+ /**
1296
+ * Custom WebSocket constructor (Node <21 without a global `WebSocket`, or test
1297
+ * mocks). Mirrors the realtime client's injection point. When omitted the
1298
+ * global `WebSocket` is used (browser / Node 21+). */
1299
+ WebSocket?: new (url: string) => WebSocket;
970
1300
  /** Enable multi-tab coordination via BroadcastChannel (default: true in browser, false in Node.js) */
971
1301
  multiTab?: boolean;
972
1302
  /** E2E encryption config */
@@ -983,10 +1313,12 @@ interface OfflineConfig {
983
1313
  warningThreshold?: number;
984
1314
  };
985
1315
  }
986
- type TaskStatus = 'pending' | 'assigned' | 'running' | 'review' | 'completed' | 'failed' | 'cancelled';
1316
+ type TaskStatus = 'pending' | 'assigned' | 'running' | 'review' | 'blocked' | 'awaiting_approval' | 'completed' | 'failed' | 'cancelled';
987
1317
  type ScheduleType = 'once' | 'interval' | 'cron';
988
1318
  interface IMCreateTaskOptions {
989
1319
  title: string;
1320
+ /** Caller-scoped create idempotency key (1-191 chars). */
1321
+ idempotencyKey?: string;
990
1322
  description?: string;
991
1323
  capability?: string;
992
1324
  input?: Record<string, unknown>;
@@ -1011,6 +1343,10 @@ interface IMCreateTaskOptions {
1011
1343
  conversationId?: string;
1012
1344
  /** v1.9.x: pick the executor — `agent` (default), `sandbox`, or `shell`. */
1013
1345
  runtimeRoute?: 'agent' | 'sandbox' | 'shell';
1346
+ /** runtime210/06 W2: link the task to an OKR Key Result (same workspace). */
1347
+ keyResultId?: string;
1348
+ /** runtime210/06 W2: consistency check — the objective the keyResult belongs to. */
1349
+ objectiveId?: string;
1014
1350
  }
1015
1351
  interface IMUpdateTaskOptions {
1016
1352
  title?: string;
@@ -1130,6 +1466,8 @@ interface IMTaskResult {
1130
1466
  assetIds: string[];
1131
1467
  resultUri?: string | null;
1132
1468
  completedAt: string;
1469
+ /** PKF 209: authoritative pre-reply Memory outcome, when this turn requested durability. */
1470
+ durability?: TaskDurabilityResult;
1133
1471
  }
1134
1472
  interface IMCreateMemoryFileOptions {
1135
1473
  path: string;
@@ -1594,7 +1932,7 @@ interface IMAgentForkResult {
1594
1932
  /**
1595
1933
  * Per-call options for the internal request function (v2.0).
1596
1934
  * `headers` — extra request headers to merge in (caller wins over default
1597
- * Authorization/X-IM-Agent on collision).
1935
+ * Authorization/authority-specific agent header on collision).
1598
1936
  */
1599
1937
  interface RequestOpts {
1600
1938
  headers?: Record<string, string>;
@@ -1607,6 +1945,183 @@ interface RequestOpts {
1607
1945
  * existing 4-arg callsites still type-check.
1608
1946
  */
1609
1947
  type RequestFn = <T>(method: string, path: string, body?: unknown, query?: Record<string, string>, opts?: RequestOpts) => Promise<T>;
1948
+ interface PkfApiEnvelope<T> {
1949
+ success: boolean;
1950
+ data?: T;
1951
+ error?: {
1952
+ code: string;
1953
+ message: string;
1954
+ details?: unknown;
1955
+ retryable?: boolean;
1956
+ };
1957
+ requestId: string;
1958
+ }
1959
+ interface PkfMessageSourceLocator {
1960
+ kind: 'message-pkf';
1961
+ messageId: string;
1962
+ blockId: string;
1963
+ blockRevision: number;
1964
+ sourceHash: string;
1965
+ }
1966
+ type PkfCarrierMaterializationTarget = {
1967
+ kind: 'asset';
1968
+ filename: string;
1969
+ } | {
1970
+ kind: 'memory-page';
1971
+ path: string;
1972
+ pathConfirmed: true;
1973
+ visibility?: string;
1974
+ };
1975
+ interface PkfCarrierMaterializeRequest {
1976
+ workspaceId: string;
1977
+ source: PkfMessageSourceLocator;
1978
+ target: PkfCarrierMaterializationTarget;
1979
+ idempotencyKey: string;
1980
+ }
1981
+ interface PkfCarrierMaterializationView {
1982
+ receiptId: string;
1983
+ state: 'committed';
1984
+ source: {
1985
+ kind: 'message-pkf';
1986
+ messageId: string;
1987
+ blockId: string;
1988
+ revision: number;
1989
+ contentHash: string;
1990
+ };
1991
+ target: {
1992
+ kind: 'asset';
1993
+ id: string;
1994
+ revision: number;
1995
+ contentHash: string;
1996
+ filename: string;
1997
+ workspacePath: string;
1998
+ } | {
1999
+ kind: 'memory-page';
2000
+ id: string;
2001
+ revision: number;
2002
+ contentHash: string;
2003
+ path: string;
2004
+ visibility: string;
2005
+ };
2006
+ validation: {
2007
+ structureStatus: 'pass';
2008
+ resourceStatus: 'unverified';
2009
+ };
2010
+ }
2011
+ interface PkfMaterializationReadQuery {
2012
+ workspaceId: string;
2013
+ idempotencyKey: string;
2014
+ targetKind: 'asset' | 'memory-page';
2015
+ }
2016
+ interface PkfMaterializationDiscoveryQuery {
2017
+ workspaceId: string;
2018
+ source: PkfMessageSourceLocator;
2019
+ targetKind: 'asset' | 'memory-page';
2020
+ }
2021
+ /** The two mutually exclusive GET /api/pkf/materializations locator forms. */
2022
+ type PkfMaterializationQuery = PkfMaterializationReadQuery | PkfMaterializationDiscoveryQuery;
2023
+ type PkfBundleResourceUsage = 'harness-manifest' | 'harness-script' | 'harness-style' | 'harness-resource' | 'image' | 'video' | 'audio' | 'file' | 'data';
2024
+ interface PkfBundleCommitRequest {
2025
+ workspaceId: string;
2026
+ idempotencyKey: string;
2027
+ root: {
2028
+ filename: string;
2029
+ source: string;
2030
+ sourceHash: string;
2031
+ };
2032
+ resources: Array<{
2033
+ path: string;
2034
+ fromPath?: string;
2035
+ bytesBase64: string;
2036
+ contentHash: string;
2037
+ integrity: string;
2038
+ mime: string;
2039
+ usage: PkfBundleResourceUsage;
2040
+ }>;
2041
+ }
2042
+ interface PkfBundleReadQuery {
2043
+ workspaceId: string;
2044
+ idempotencyKey: string;
2045
+ }
2046
+ interface PkfBundleCommitView {
2047
+ replayed: boolean;
2048
+ receipt: {
2049
+ id: string;
2050
+ state: 'committed';
2051
+ requestHash: string;
2052
+ };
2053
+ root: {
2054
+ id: string;
2055
+ revision: number;
2056
+ contentHash: string;
2057
+ filename: string;
2058
+ workspacePath: string;
2059
+ };
2060
+ resources: Array<{
2061
+ id: string;
2062
+ path: string;
2063
+ contentHash: string;
2064
+ integrity: string;
2065
+ mime: string;
2066
+ usage: string;
2067
+ fromContentHash: string;
2068
+ fromNodeKey: string;
2069
+ boundKind: 'pkf-resource';
2070
+ }>;
2071
+ }
2072
+ type PkfArtifactRootKind = 'message-pkf' | 'asset' | 'memory-page';
2073
+ interface PkfArtifactRelationsQuery {
2074
+ workspaceId: string;
2075
+ rootKind: PkfArtifactRootKind;
2076
+ rootId: string;
2077
+ revision: number;
2078
+ }
2079
+ interface PkfArtifactRelationView {
2080
+ id: string;
2081
+ fromNodeKey: string;
2082
+ fromContentHash: string;
2083
+ toAssetId: string;
2084
+ toContentHash: string;
2085
+ relation: string;
2086
+ usage: string;
2087
+ resourcePathKey: string;
2088
+ displayName: string | null;
2089
+ integrity: string | null;
2090
+ required: boolean;
2091
+ visibility: string;
2092
+ lifecycle: string;
2093
+ }
2094
+ interface PkfArtifactGraphView {
2095
+ root: {
2096
+ kind: PkfArtifactRootKind;
2097
+ id: string;
2098
+ revision: number;
2099
+ contentHash: string;
2100
+ };
2101
+ relations: PkfArtifactRelationView[];
2102
+ }
2103
+ interface PkfResourceReadQueryBase {
2104
+ workspaceId: string;
2105
+ rootKind: PkfArtifactRootKind;
2106
+ rootId: string;
2107
+ rootRevision: number;
2108
+ rootHash: string;
2109
+ }
2110
+ type PkfResourceReadQuery = PkfResourceReadQueryBase & ({
2111
+ targetAssetId: string;
2112
+ targetHash?: never;
2113
+ } | {
2114
+ targetAssetId?: never;
2115
+ targetHash: string;
2116
+ });
2117
+ interface PkfResourceDetailView {
2118
+ id: string;
2119
+ workspaceId: string;
2120
+ contentHash: string;
2121
+ mime: string | null;
2122
+ sizeBytes: number | null;
2123
+ filename: string | null;
2124
+ }
1610
2125
  interface ExecutionContext {
1611
2126
  error?: string;
1612
2127
  provider?: string;
@@ -2373,8 +2888,14 @@ declare class OfflineManager extends OfflineEmitter {
2373
2888
  private _isOnline;
2374
2889
  private _syncState;
2375
2890
  private sseSource;
2891
+ /** release203/12 — unified single-WS realtime transport (preferred over SSE). */
2892
+ private wsSource;
2376
2893
  private sseReconnectTimer;
2377
2894
  private sseReconnectAttempts;
2895
+ /** Injected/global WebSocket ctor (undefined → WS transport unavailable). */
2896
+ private readonly WS?;
2897
+ /** Prefer the unified WS over SSE for continuous sync (default true). */
2898
+ private readonly unifiedWs;
2378
2899
  /** Presence cache for realtime presence events */
2379
2900
  private presenceCache;
2380
2901
  /** Auth token provider — set by PrismerClient for SSE auth */
@@ -2436,7 +2957,15 @@ declare class OfflineManager extends OfflineEmitter {
2436
2957
  */
2437
2958
  startContinuousSync(): Promise<void>;
2438
2959
  /**
2439
- * Stop the SSE continuous sync connection.
2960
+ * release203/12 continuous sync over the unified single WebSocket.
2961
+ * Consumes the `{ch:'sync',name:'sync',data}` frames (the same per-user
2962
+ * fan-out the SSE endpoint served) and ignores the `tasks` channel + control
2963
+ * frames. Behaviour-preserving vs the SSE path: same applySyncEvent, same
2964
+ * cursor, same emitted events — only the transport differs (2 sockets → 1).
2965
+ */
2966
+ private startContinuousSyncWs;
2967
+ /**
2968
+ * Stop the continuous sync connection (WS or SSE).
2440
2969
  */
2441
2970
  stopContinuousSync(): void;
2442
2971
  private scheduleSseReconnect;
@@ -2732,204 +3261,6 @@ interface WorkspaceAssetsApiContract {
2732
3261
  getAssetUrl(id: string): Promise<string>;
2733
3262
  }
2734
3263
 
2735
- /** Subset of the cloud-side AgentStatus enum used by status-change events. */
2736
- type IMAgentStatus = 'online' | 'busy' | 'idle' | 'offline';
2737
- interface HostedAgentDeclaration {
2738
- imUserId: string;
2739
- name: string;
2740
- adapterName: string;
2741
- capabilities: string[];
2742
- profiles: Array<{
2743
- id: string;
2744
- version: number;
2745
- }>;
2746
- }
2747
- interface AgentHostDeclarePayload {
2748
- daemonId: string;
2749
- daemonVersion: string;
2750
- platform: 'darwin' | 'linux' | 'win32';
2751
- agents: HostedAgentDeclaration[];
2752
- }
2753
- interface RejectedHostedAgent {
2754
- imUserId: string;
2755
- reason: 'bound-to-other-daemon' | 'not-owned' | 'unknown';
2756
- ownerDaemonId?: string;
2757
- }
2758
- interface HostAckedPayload {
2759
- workspaceId: string;
2760
- syncCursor: {
2761
- workspaces: number;
2762
- agent_profiles: number;
2763
- [key: string]: number;
2764
- };
2765
- profilesToSync: string[];
2766
- /** Profile IDs the daemon declared but that no longer exist on the cloud
2767
- * (soft-deleted). The daemon should remove these from its local store. */
2768
- profilesToDelete: string[];
2769
- acceptedAgents?: string[];
2770
- rejectedAgents?: RejectedHostedAgent[];
2771
- }
2772
- interface AgentStatusChangedPayload {
2773
- agentImUserId: string;
2774
- status: IMAgentStatus;
2775
- activeProfileId?: string;
2776
- runningTaskIds?: string[];
2777
- }
2778
- interface TaskDispatchContextEntry {
2779
- sender: string;
2780
- senderRole: 'human' | 'agent' | 'admin' | 'system';
2781
- content: string;
2782
- createdAt: string;
2783
- /** Wave-8 W1: assets the human attached to THIS chat message. */
2784
- attachedAssetIds?: string[];
2785
- }
2786
- /** Wave-8 W1: hydrated asset reference attached to a dispatch. */
2787
- interface AssetRef {
2788
- assetId: string;
2789
- contentHash: string;
2790
- mime: string | null;
2791
- sizeBytes: number | null;
2792
- kind: string;
2793
- workspaceId: string;
2794
- role: 'attachment' | 'context';
2795
- }
2796
- interface TaskDispatchRequestPayload {
2797
- taskId: string;
2798
- /** Agent target for runtimeRoute='agent'. Shell dispatches do not use this. */
2799
- agentImUserId?: string;
2800
- /** Runtime/device target for runtimeRoute='shell'. */
2801
- targetDaemonId?: string;
2802
- profileId: string;
2803
- capability: string;
2804
- prompt: string;
2805
- /** Execution surface. `shell` is daemon-local command execution. */
2806
- runtimeRoute?: 'agent' | 'sandbox' | 'shell';
2807
- metadata?: Record<string, unknown>;
2808
- timeoutMs?: number;
2809
- context?: TaskDispatchContextEntry[];
2810
- conversationId?: string;
2811
- /**
2812
- * Channel mode for the originating conversation. Optional and
2813
- * forward-compatible: when missing, daemon renders 'unknown' in the
2814
- * [Channel context] prompt block.
2815
- * - `direct`: 1:1 DM (no @-mention needed in reply).
2816
- * - `group`: multi-party room (end reply with `@<recipient>` to
2817
- * continue the chain).
2818
- */
2819
- conversationType?: 'direct' | 'group';
2820
- /**
2821
- * Active participants of the dispatch's conversation. Daemon injects this
2822
- * into [Channel context] so the agent knows the authoritative recipient list
2823
- * without hallucinating. Capped at 50 entries server-side.
2824
- */
2825
- participants?: Array<{
2826
- imUserId: string;
2827
- username: string;
2828
- displayName: string;
2829
- role: string;
2830
- agentType?: string | null;
2831
- }>;
2832
- /** Wave-8 W1: assets cloud wants daemon to fold into agent context. */
2833
- assetRefs?: AssetRef[];
2834
- }
2835
- interface TaskDispatchProgressPayload {
2836
- taskId: string;
2837
- progress: number;
2838
- message?: string;
2839
- detail?: Record<string, unknown>;
2840
- }
2841
- /** Wave-8 W1: how the daemon handled a single AssetRef. */
2842
- type AssetDispatchStrategy = 'inline-text' | 'inline-text-truncated' | 'uri-only' | 'error';
2843
- interface AssetDispatchObservation {
2844
- assetId: string;
2845
- contentHash: string;
2846
- mime: string | null;
2847
- sizeBytes: number | null;
2848
- strategy: AssetDispatchStrategy;
2849
- inlinedBytes?: number;
2850
- error?: string;
2851
- }
2852
- /**
2853
- * P1-2 (2026-05-25): per-file outbox rejection record emitted by daemon when
2854
- * outbox-watcher quarantines an artifact (MIME ≠ filename extension). Cloud
2855
- * persists these on `IMTask.metadata.outboxRejections` and re-injects into
2856
- * the next dispatch prompt as agent-visible feedback.
2857
- */
2858
- interface OutboxRejectionRecord {
2859
- filename: string;
2860
- reason: string;
2861
- inferredMime: string;
2862
- detectedMime: string;
2863
- rejectedAt: string;
2864
- }
2865
- interface TaskDispatchReplyPayload {
2866
- taskId: string;
2867
- ok: boolean;
2868
- output?: string;
2869
- error?: {
2870
- code: string;
2871
- message: string;
2872
- };
2873
- assetIds?: string[];
2874
- metrics?: {
2875
- tokensUsed?: number;
2876
- durationMs?: number;
2877
- };
2878
- /** Wave-8 W1: per-asset handling report. */
2879
- assetObservability?: AssetDispatchObservation[];
2880
- /**
2881
- * P1-2: files quarantined by daemon outbox-watcher's magic-bytes guard
2882
- * during this turn. Empty/absent when nothing was rejected.
2883
- */
2884
- outboxRejections?: OutboxRejectionRecord[];
2885
- }
2886
- interface TaskCancelPayload {
2887
- taskId: string;
2888
- reason?: string;
2889
- }
2890
- /**
2891
- * Wire envelope for v2.0 WS events. `timestamp` is required (mirrors the
2892
- * cloud-side `WSMessage<T>` definition in src/im/types/index.ts).
2893
- */
2894
- interface IMWSMessage<T = unknown> {
2895
- type: string;
2896
- payload: T;
2897
- requestId?: string;
2898
- timestamp: number;
2899
- }
2900
- interface WorkspaceChangedPayload {
2901
- workspaceId: string;
2902
- /** ISO-8601 timestamp from im_workspaces.updatedAt. */
2903
- updatedAt: string;
2904
- }
2905
- interface AgentProfileChangedPayload {
2906
- profileId: string;
2907
- version: number;
2908
- }
2909
- interface AgentChangedPayload {
2910
- agentImUserId: string;
2911
- fields: {
2912
- displayName?: string;
2913
- capabilities?: string[];
2914
- };
2915
- }
2916
- interface WorkspaceFileChangedPayload {
2917
- workspaceId: string;
2918
- path: string;
2919
- operation: 'create' | 'update' | 'delete';
2920
- assetId?: string;
2921
- contentHash?: string;
2922
- version: number;
2923
- }
2924
- interface AssetChangedPayload {
2925
- workspaceId: string;
2926
- assetId: string;
2927
- operation: 'create' | 'update' | 'delete';
2928
- contentHash?: string;
2929
- assetIndexSeq?: number;
2930
- revision?: number;
2931
- }
2932
-
2933
3264
  /**
2934
3265
  * Prismer SDK — Multi-Tab Coordination
2935
3266
  *
@@ -3609,7 +3940,7 @@ declare class DirectClient {
3609
3940
  * generates a UUID per call and stamps it into the `X-Idempotency-Key`
3610
3941
  * header. Pass the same key across retries to trigger server dedup.
3611
3942
  */
3612
- send(userId: string, content: string | ContentBlock[], options?: IMSendOptions): Promise<IMResult<IMMessageData>>;
3943
+ send(userId: string, content: string | ContentBlockInput[], options?: IMSendOptions): Promise<IMResult<IMMessageData>>;
3613
3944
  /** Get direct message history with a user */
3614
3945
  getMessages(userId: string, options?: IMPaginationOptions): Promise<IMResult<IMMessage[]>>;
3615
3946
  }
@@ -3629,7 +3960,7 @@ declare class GroupsClient {
3629
3960
  * v2.0 §4.6 — `content` may now be a `ContentBlock[]` for multimodal sends.
3630
3961
  * v2.0 §3.0.2 Gap A-④ — auto-generates `X-Idempotency-Key` per call.
3631
3962
  */
3632
- send(groupId: string, content: string | ContentBlock[], options?: IMSendOptions): Promise<IMResult<IMMessageData>>;
3963
+ send(groupId: string, content: string | ContentBlockInput[], options?: IMSendOptions): Promise<IMResult<IMMessageData>>;
3633
3964
  /** Get group message history */
3634
3965
  getMessages(groupId: string, options?: IMPaginationOptions): Promise<IMResult<IMMessage[]>>;
3635
3966
  /** Add a member to a group (owner/admin only) */
@@ -3684,7 +4015,7 @@ declare class MessagesClient {
3684
4015
  * `(conversationId, idempotencyKey)` dedup; pass the same key across
3685
4016
  * retries to safely re-send.
3686
4017
  */
3687
- send(conversationId: string, content: string | ContentBlock[], options?: IMSendOptions): Promise<IMResult<IMMessageData>>;
4018
+ send(conversationId: string, content: string | ContentBlockInput[], options?: IMSendOptions): Promise<IMResult<IMMessageData>>;
3688
4019
  /** Get message history for a conversation */
3689
4020
  getHistory(conversationId: string, options?: IMPaginationOptions): Promise<IMResult<IMMessage[]>>;
3690
4021
  /** Edit a message */
@@ -3787,8 +4118,8 @@ declare class WorkspaceClient {
3787
4118
  init(options: IMWorkspaceInitOptions): Promise<IMResult<IMWorkspaceData>>;
3788
4119
  /** Initialize a group workspace (multi-user + multi-agent) */
3789
4120
  initGroup(options: IMWorkspaceInitGroupOptions): Promise<IMResult<IMWorkspaceData>>;
3790
- /** Add an agent to a workspace */
3791
- addAgent(workspaceId: string, agentId: string): Promise<IMResult<void>>;
4121
+ /** Create a low-level agent identity in a workspace. Role workflows use the role-builder harness. */
4122
+ addAgent(workspaceId: string, options: IMWorkspaceCreateAgentOptions | string): Promise<IMResult<unknown>>;
3792
4123
  /** List agents in a workspace */
3793
4124
  listAgents(workspaceId: string): Promise<IMResult<any[]>>;
3794
4125
  /** @mention autocomplete */
@@ -3841,6 +4172,22 @@ declare class TasksClient {
3841
4172
  fail(taskId: string, error: string, metadata?: Record<string, unknown>): Promise<IMResult<IMTask>>;
3842
4173
  /** Approve a completed task */
3843
4174
  approve(taskId: string): Promise<IMResult<IMTask>>;
4175
+ /**
4176
+ * apc P-6 — post an auditable task event (`POST /tasks/:id/event`).
4177
+ *
4178
+ * Lands one `im_task_logs` row: `action = code.toLowerCase()`, `payload`
4179
+ * serialised into metadata. Server-side authorization: only the task
4180
+ * assignee may post. Used by `cloud skill ack` for skill invocation
4181
+ * receipts (code `SKILL_ACK` → action `skill_ack`).
4182
+ */
4183
+ postEvent(taskId: string, options: {
4184
+ code: string;
4185
+ payload?: Record<string, unknown>;
4186
+ message?: string;
4187
+ }): Promise<IMResult<{
4188
+ taskId: string;
4189
+ action: string;
4190
+ }>>;
3844
4191
  /** Reject a task with reason */
3845
4192
  reject(taskId: string, reason: string): Promise<IMResult<IMTask>>;
3846
4193
  /** Cancel a task */
@@ -3859,7 +4206,7 @@ declare class TasksClient {
3859
4206
  * `allowedActors`.
3860
4207
  */
3861
4208
  transition(taskId: string, options: {
3862
- to: 'pending' | 'assigned' | 'running' | 'review' | 'blocked' | 'failed' | 'completed' | 'cancelled';
4209
+ to: 'pending' | 'assigned' | 'running' | 'review' | 'blocked' | 'awaiting_approval' | 'failed' | 'completed' | 'cancelled';
3863
4210
  assigneeId?: string | null;
3864
4211
  position?: number;
3865
4212
  reason?: string;
@@ -3873,7 +4220,7 @@ declare class TasksClient {
3873
4220
  * with `force_transition: true`. UI does NOT expose this — ops only.
3874
4221
  */
3875
4222
  forceTransition(taskId: string, options: {
3876
- to: 'pending' | 'assigned' | 'running' | 'review' | 'blocked' | 'failed' | 'completed' | 'cancelled';
4223
+ to: 'pending' | 'assigned' | 'running' | 'review' | 'blocked' | 'awaiting_approval' | 'failed' | 'completed' | 'cancelled';
3877
4224
  reason: string;
3878
4225
  }): Promise<IMResult<IMTask>>;
3879
4226
  /** Get rolled-up acceptance + criteria list for a task. */
@@ -3909,6 +4256,12 @@ declare class TasksClient {
3909
4256
  required?: boolean;
3910
4257
  weight?: number;
3911
4258
  evidenceRefs?: unknown[];
4259
+ execution?: {
4260
+ command: string;
4261
+ cwd: string;
4262
+ workdirId: string;
4263
+ };
4264
+ reviewKind?: "code-review" | "design-review";
3912
4265
  }) => Promise<IMResult<unknown>>;
3913
4266
  /** Update a criterion in place. */
3914
4267
  update: (taskId: string, cid: string, patch: {
@@ -3918,6 +4271,12 @@ declare class TasksClient {
3918
4271
  weight?: number;
3919
4272
  required?: boolean;
3920
4273
  evidenceRefs?: unknown[];
4274
+ execution?: {
4275
+ command: string;
4276
+ cwd: string;
4277
+ workdirId: string;
4278
+ };
4279
+ reviewKind?: "code-review" | "design-review";
3921
4280
  }) => Promise<IMResult<unknown>>;
3922
4281
  /** Remove a criterion. */
3923
4282
  remove: (taskId: string, cid: string) => Promise<IMResult<unknown>>;
@@ -3930,6 +4289,7 @@ declare class TasksClient {
3930
4289
  outcome: "passed" | "failed" | "n/a" | "waived";
3931
4290
  note?: string;
3932
4291
  evidenceRefs?: string[];
4292
+ reviewArtifact?: unknown;
3933
4293
  waiveReason?: string;
3934
4294
  }) => Promise<IMResult<unknown>>;
3935
4295
  };
@@ -4042,6 +4402,83 @@ interface MetricAggregateResponse {
4042
4402
  };
4043
4403
  buckets: MetricBucketResult[];
4044
4404
  }
4405
+ /**
4406
+ * B-P1c — scope axis of `turnSummary()` (GET /api/im/metrics/turns).
4407
+ */
4408
+ type TurnScope = 'conversation' | 'task' | 'agent';
4409
+ /**
4410
+ * Frozen contract — mirrors `TurnMetricsSummary` in
4411
+ * src/im/services/metric-turns.service.ts VERBATIM (field names are additive
4412
+ * only; renames / removals are not allowed). `null` always means "no rows in
4413
+ * the window" — never 0-by-inference, never NaN. `turnCountByStatus` carries
4414
+ * `null` for a status the window never saw (the daemon emits only ok/error);
4415
+ * `models` lists only turns that carried a model dim, so sum(models.turns)
4416
+ * can be < turnCount.
4417
+ */
4418
+ interface TurnMetricsSummary {
4419
+ turnCount: number;
4420
+ turnCountByStatus: {
4421
+ ok: number | null;
4422
+ error: number | null;
4423
+ };
4424
+ avgTokensPerTurn: {
4425
+ input: number | null;
4426
+ output: number | null;
4427
+ cacheRead: number | null;
4428
+ cacheWrite: number | null;
4429
+ };
4430
+ cacheHitRatio: number | null;
4431
+ p95FirstEventMs: number | null;
4432
+ avgDurationMs: number | null;
4433
+ toolCallsPerTurn: number | null;
4434
+ models: Array<{
4435
+ model: string;
4436
+ turns: number;
4437
+ }>;
4438
+ }
4439
+ interface TurnSummaryOptions {
4440
+ scope: TurnScope;
4441
+ /** conversationId | taskId | agentId (IM user id of the agent). */
4442
+ id: string;
4443
+ /** Mandatory; a plain query param on /turns (unlike aggregate()'s filter csv). */
4444
+ workspaceId: string;
4445
+ /** e.g. '24h' | '7d' — same Nh|Nd grammar as aggregate(); default 24h. */
4446
+ range?: string;
4447
+ from?: string;
4448
+ to?: string;
4449
+ }
4450
+ interface MetricEventsOptions {
4451
+ namespace: string;
4452
+ name: string;
4453
+ /** workspaceId is required; other keys ride the filter csv like aggregate(). */
4454
+ filter: Record<string, string> & {
4455
+ workspaceId: string;
4456
+ };
4457
+ range?: string;
4458
+ from?: string;
4459
+ to?: string;
4460
+ /** Server default 50, clamped to 200. */
4461
+ limit?: number;
4462
+ }
4463
+ /** One raw event row (runtime210/06 W12b provenance read). */
4464
+ interface MetricEventRow {
4465
+ id: string;
4466
+ ts: string;
4467
+ valueNumeric: number | null;
4468
+ valueString: string | null;
4469
+ dims: Record<string, unknown> | null;
4470
+ source: string;
4471
+ sourceId: string | null;
4472
+ }
4473
+ interface MetricEventsResponse {
4474
+ namespace: string;
4475
+ name: string;
4476
+ range: {
4477
+ from: string;
4478
+ to: string;
4479
+ };
4480
+ events: MetricEventRow[];
4481
+ }
4045
4482
  /**
4046
4483
  * release201/11 §6 — unified metric data channel.
4047
4484
  *
@@ -4049,6 +4486,8 @@ interface MetricAggregateResponse {
4049
4486
  * - `batch()` ships an array of events (≤ 500) — used by daemon outbox flush
4050
4487
  * in Phase 2.
4051
4488
  * - `aggregate()` runs a server-side query against `im_metric_events`.
4489
+ * - `events()` reads the raw rows behind an aggregate (provenance drill-down).
4490
+ * - `turnSummary()` joins the turn.* family into a scoped summary (B-P1d).
4052
4491
  */
4053
4492
  declare class MetricsClient {
4054
4493
  private _r;
@@ -4065,6 +4504,18 @@ declare class MetricsClient {
4065
4504
  }>;
4066
4505
  }>>;
4067
4506
  aggregate(opts: MetricAggregateOptions): Promise<IMResult<MetricAggregateResponse>>;
4507
+ /**
4508
+ * B-P1d — raw event rows behind an aggregate (runtime210/06 W12b
4509
+ * provenance read). workspaceId is mandatory on the filter — same
4510
+ * cross-workspace rule as aggregate(); the server rejects without it.
4511
+ */
4512
+ events(opts: MetricEventsOptions): Promise<IMResult<MetricEventsResponse>>;
4513
+ /**
4514
+ * B-P1d — conversation / task / agent scoped turn summary over the turn.*
4515
+ * family. The response `data` shape is the frozen TurnMetricsSummary
4516
+ * contract above.
4517
+ */
4518
+ turnSummary(opts: TurnSummaryOptions): Promise<IMResult<TurnMetricsSummary>>;
4068
4519
  }
4069
4520
  /** Identity key management: Ed25519 keys, attestation, audit */
4070
4521
  declare class IdentityClient {
@@ -4210,6 +4661,8 @@ declare class AgentsClient {
4210
4661
  private _r;
4211
4662
  readonly skills: AgentSkillsClient;
4212
4663
  constructor(_r: RequestFn);
4664
+ /** Discover AgentCard-backed agents in a workspace the caller belongs to. */
4665
+ discover(options: IMAgentDiscoverOptions): Promise<IMResult<IMAgentCatalogEntry[]>>;
4213
4666
  spec(agentId: string, workspaceId?: string): Promise<IMResult<IMAgentSpec>>;
4214
4667
  snapshot(agentId: string, options?: IMAgentSnapshotOptions): Promise<IMResult<IMAgentSnapshot>>;
4215
4668
  snapshots(agentId: string, options?: {
@@ -4682,15 +5135,18 @@ declare class WorkspacesClient {
4682
5135
  */
4683
5136
  getOrchestrator(workspaceId: string): Promise<IMResult<IMWorkspaceOrchestratorEnvelope>>;
4684
5137
  /**
4685
- * Appoint an agent as the workspace's orchestrator. Owner-only. If an
4686
- * orchestrator is already active, this auto-revokes the previous one in the
4687
- * same UPDATE.
5138
+ * Appoint an agent as the workspace's orchestrator. Owner-only.
5139
+ *
5140
+ * ⚠️ FIRST appointment only. The orchestrator is a node of the platform
5141
+ * network — it holds a globally-unique AIP identity (DID) and system contact
5142
+ * edges to the platform official agents — so the appointment is PERMANENT:
5143
+ * appointing a different agent while one is already in place fails with
5144
+ * 409 `ORCHESTRATOR_IMMUTABLE`. Re-appointing the same agent is a no-op.
5145
+ * Revocation does not exist (`revokeOrchestrator` was removed in 2.1.0).
4688
5146
  */
4689
5147
  appointOrchestrator(workspaceId: string, agentImUserId: string): Promise<IMResult<{
4690
5148
  orchestrator: IMWorkspaceOrchestrator | null;
4691
5149
  }>>;
4692
- /** Revoke the workspace's current orchestrator. Owner-only. Idempotent. */
4693
- revokeOrchestrator(workspaceId: string): Promise<IMResult<void>>;
4694
5150
  }
4695
5151
  /** Workspace membership role. Different enum from project (16 §5.1 decision). */
4696
5152
  type WorkspaceRole = 'owner' | 'admin' | 'member';
@@ -5104,9 +5560,23 @@ declare class IMRealtimeClient {
5104
5560
  subscribeTaskEvents(token: string, onEvent: (event: TaskEventEnvelope) => void, options?: {
5105
5561
  lastEventId?: string;
5106
5562
  signal?: AbortSignal;
5563
+ /** release203/12 — prefer the unified single WS (`ch:'tasks'`) over the
5564
+ * `/api/im/tasks/events` SSE. Default true; falls back to SSE when no
5565
+ * WebSocket is available. */
5566
+ unifiedWs?: boolean;
5567
+ /** Custom WebSocket ctor (Node <21 / tests); else the global WebSocket. */
5568
+ WebSocket?: new (url: string) => WebSocket;
5107
5569
  }): Promise<{
5108
5570
  disconnect: () => void;
5109
5571
  }>;
5572
+ /**
5573
+ * release203/12 — task events over the unified single WebSocket.
5574
+ * Connects to `WS /ws/realtime`, filters the `ch:'tasks'` frames, and emits
5575
+ * the SAME `{ type, payload }` envelopes `subscribeTaskEvents` did over SSE
5576
+ * (the WS carries no per-event `id`; cursor resume is handled by the sync
5577
+ * channel). The `ch:'sync'` frames + control frames are ignored here.
5578
+ */
5579
+ private subscribeTaskEventsWs;
5110
5580
  }
5111
5581
  interface SkillDraftManifestFile {
5112
5582
  path: string;
@@ -5215,6 +5685,27 @@ declare class SkillsClient {
5215
5685
  readonly draft: SkillsDraftClient;
5216
5686
  constructor(_r: RequestFn);
5217
5687
  }
5688
+ declare class PkfClient {
5689
+ private readonly _r;
5690
+ private readonly _fetchAuthed;
5691
+ constructor(_r: RequestFn, _fetchAuthed: (path: string, init?: RequestInit) => Promise<Response>);
5692
+ materialize(input: PkfCarrierMaterializeRequest): Promise<PkfApiEnvelope<PkfCarrierMaterializationView>>;
5693
+ getMaterialization(query: PkfMaterializationReadQuery): Promise<PkfApiEnvelope<PkfCarrierMaterializationView | null>>;
5694
+ discoverMaterialization(query: PkfMaterializationDiscoveryQuery): Promise<PkfApiEnvelope<PkfCarrierMaterializationView | null>>;
5695
+ /** Atomically commit a PKF root plus its exact root-bound dependency graph. */
5696
+ commitBundle(input: PkfBundleCommitRequest): Promise<PkfApiEnvelope<PkfBundleCommitView>>;
5697
+ /** Restore the caller-scoped durable bundle receipt after process restart. */
5698
+ getBundle(query: PkfBundleReadQuery): Promise<PkfApiEnvelope<PkfBundleCommitView>>;
5699
+ getArtifactRelations(query: PkfArtifactRelationsQuery): Promise<PkfApiEnvelope<PkfArtifactGraphView>>;
5700
+ getResourceDetail(query: PkfResourceReadQuery): Promise<PkfApiEnvelope<PkfResourceDetailView>>;
5701
+ /**
5702
+ * Read root-authorized dependency bytes. This intentionally returns the raw
5703
+ * Response so callers can stream the body and verify `X-Asset-Hash`.
5704
+ */
5705
+ getResourceBytes(query: PkfResourceReadQuery): Promise<Response>;
5706
+ /** Low-level canonical request seam used by the Cloud CLI. */
5707
+ request<T = unknown>(method: string, path: `/api/pkf/${string}`, body?: unknown, query?: Record<string, string>): Promise<T>;
5708
+ }
5218
5709
  declare class IMClient {
5219
5710
  readonly account: AccountClient;
5220
5711
  readonly direct: DirectClient;
@@ -5284,12 +5775,15 @@ declare class PrismerClient {
5284
5775
  private readonly timeout;
5285
5776
  private readonly fetchFn;
5286
5777
  private readonly imAgent?;
5778
+ private readonly imWorkspace?;
5287
5779
  private _offlineManager;
5288
5780
  /** AIP identity for auto-signing (v1.8.0 S1) */
5289
5781
  private _identity;
5290
5782
  private _identityReady;
5291
5783
  /** IM API sub-client */
5292
5784
  readonly im: IMClient;
5785
+ /** Canonical Cloud PKF surface (`/api/pkf/*`), never nested under IM. */
5786
+ readonly pkf: PkfClient;
5293
5787
  /** v2.0 workspace public surface (`/api/im/workspaces`). */
5294
5788
  readonly workspaces: WorkspacesClient;
5295
5789
  /** v2.0.8 release201/16 — token-bearing invite endpoints (preview/accept/reject). */
@@ -5323,9 +5817,10 @@ declare class PrismerClient {
5323
5817
  *
5324
5818
  * The path may be absolute (`/api/...`) or a full URL — full URLs are used
5325
5819
  * verbatim (useful for following 302 redirects), otherwise the path is
5326
- * appended to the client's configured `baseUrl`. Authorization + `X-IM-Agent`
5327
- * headers are added automatically; caller-supplied headers in `init.headers`
5328
- * override them on collision.
5820
+ * appended to the client's configured `baseUrl`. Authorization plus the
5821
+ * authority-specific agent header are added automatically: canonical PKF
5822
+ * requests use `X-Prismer-Agent`, while legacy `/api/im/*` keeps
5823
+ * `X-IM-Agent`. Caller-supplied headers override them on collision.
5329
5824
  *
5330
5825
  * Use this for binary downloads / partial fetches; for normal JSON-envelope
5331
5826
  * IM requests use `client.im.request()` (typed) or the typed sub-clients.
@@ -5359,4 +5854,4 @@ declare class PrismerClient {
5359
5854
 
5360
5855
  declare function createClient(config: PrismerConfig): PrismerClient;
5361
5856
 
5362
- export { AccountClient, type AgentChangedPayload, type AgentHostDeclarePayload, type AgentProfileChangedPayload, AgentSkillsClient, type AgentStatusChangedPayload, AgentsClient, type AssetChangedPayload, type AssetDispatchObservation, type AssetDispatchStrategy, type AssetRef, AssetsClient, AttachmentQueue, type AudioMime, type AuthenticatedPayload, type BatchSummary, type BatchUrlCost, BindingsClient, type CacheManager, type Card, type CardCreateInput, type CardFilters, type CardKanbanMetadata, type CardKanbanMetadataSource, type CardKanbanStatus, type CardMetadata, type CardMove, type ChatMessage, type CommandResult, CommunityHub, type CommunityHubConfig, ContactsClient, type ContentBlock, type ContentBlockAudio, type ContentBlockFile, type ContentBlockImage, type ContentBlockReasoning, type ContentBlockText, type ContentBlockToolResult, type ContentBlockToolUse, type ContentBlockVideo, type ControlCommand, ConversationsClient, CreditsClient, CriteriaTemplatesClient, type DaemonControlPlane, type DecryptResult, type DerivationMode, DirectClient, type DisconnectedPayload, E2EEncryption, ENVIRONMENTS, type EncryptedContextResult, type EncryptedFileResult, type EncryptedMessage, type Environment, type ErrorPayload, EvolutionCache, EvolutionClient, EvolutionRuntime, type EvolutionRuntimeConfig, type EvolutionSession, EvolutionSkillsClient, type EvolutionSyncDelta, type EvolutionSyncSnapshot, type ExecutionContext, type ExecutionPolicy, type FileInput, FilesClient, type GeneCategory, type GeneSelectionResult, type GeneVisibility, GroupsClient, type HostAckedPayload, type HostedAgentDeclaration, type IMAccountDeleteResult, type IMAgentCard, type IMAgentForkOptions, type IMAgentForkResult, type IMAgentPack, type IMAgentPackListOptions, type IMAgentPersonality, type IMAgentPublishOptions, type IMAgentRestoreOptions, type IMAgentSkillAckInput, type IMAgentSkillInstallOptions, type IMAgentSkillListOptions, type IMAgentSkillRecord, type IMAgentSnapshot, type IMAgentSnapshotOptions, type IMAgentSpec, type IMAgentStatus, type IMAnalyzeOptions, type IMAnalyzeResult, type IMAsset, type IMAssetDetail, type IMAssetListOptions, type IMAssetPreviewContract, type IMAssetPreviewKind, type IMAssetPreviewStatus, type IMAssetRevision, type IMAssetRevisionList, type IMAssetUploadOptions, type IMAutocompleteResult, type IMBinding, type IMBindingData, type IMBlockedUser, type IMCapsule, IMClient, type IMCompactOptions, type IMCompactionSummary, type IMCompleteTaskOptions, type IMConfirmResult, type IMContact, type IMConversation, type IMConversationsOptions, type IMCreateBindingOptions, type IMCreateGeneOptions, type IMCreateGroupOptions, type IMCreateMemoryFileOptions, type IMCreateRuntimeInstallationOptions, type IMCreateTaskOptions, type IMCreateWorkspaceFileOptions, type IMCreateWorkspaceOptions, type IMCreditsData, type IMDiscoverAgent, type IMDiscoverOptions, type IMEvolutionEdge, type IMEvolutionStats, type IMFileQuota, type IMForkGeneOptions, type IMFriendRequest, type IMGene, type IMGeneListOptions, type IMGroupData, type IMGroupMember, type IMIdentityKey, type IMInstallAgentOnRuntimeOptions, type IMInstallAgentOnRuntimeResult, type IMKeyAuditEntry, type IMKeyVerifyResult, type IMKnowledgeLink, type IMMeData, type IMMemoryDigest, type IMMemoryDigestOptions, type IMMemoryFile, type IMMemoryFileDetail, type IMMemoryKnowledgeLinks, type IMMemoryLoadResult, type IMMessage, type IMMessageAttachment, type IMMessageData, type IMMultipartInitResult, type IMOwnedAgent, type IMPaginationOptions, type IMPatchRuntimeInstallationOptions, type IMPresignOptions, type IMPresignResult, type IMProject, type IMProjectMembership, type IMProjectWithCounts, IMRealtimeClient, type IMRecordOutcomeOptions, type IMRegisterData, type IMRegisterKeyOptions, type IMRegisterOptions, type IMResult, type IMRouting, type IMRuntimeInstallation, type IMSendOptions, type IMSkillContent, type IMSkillCreateInput, type IMSkillInfo, type IMSkillInstallResult, type IMSkillSearchOptions, type IMSkillUpdateInput, type IMStudioAgentSummary, type IMStudioInstalled, type IMStudioInstalledSkill, type IMStudioOverview, type IMStudioProfile, type IMTask, type IMTaskDetail, type IMTaskListOptions, type IMTaskLog, type IMTaskResult, type IMTokenData, type IMTransaction, type IMUpdateMemoryFileOptions, type IMUpdateTaskOptions, type IMUpdateWorkspaceOptions, type IMUser, type IMUserProfile, type IMWSMessage, type IMWorkspace, type IMWorkspaceData, type IMWorkspaceFile, type IMWorkspaceFileSyncResult, type IMWorkspaceInitGroupOptions, type IMWorkspaceInitOptions, type IMWorkspaceInvite, type IMWorkspaceMember, type IMWorkspaceOrchestrator, type IMWorkspaceOrchestratorEnvelope, type IMWorkspaceSyncResult, IdentityClient, type ImageMime, IndexedDBStorage, InvitesClient, type KeyManager, KnowledgeLinkClient, type KnowledgeLinkSource, type KnowledgeLinkType, type LLMBackend, type LLMDispatcher, type LLMResult, type LLMTask, type LoadOptions, type LoadResult, type LoadResultItem, MemoryClient, MemoryStorage, type MessageDeletedPayload, type MessageEditPayload, type MessageNewPayload, type MessageReactionPayload, MessagesClient, type MetricAgg, type MetricAggregateOptions, type MetricAggregateResponse, type MetricBucket, type MetricBucketResult, type MetricEmitInput, MetricsClient, type ModelEntry, type NotificationSink, type OfflineConfig, type OfflineEventMap, type OfflineEventType, OfflineManager, type OutboxOperation, type OutboxRejectionRecord, type ParseCost, type ParseCostBreakdown, type ParseDocument, type ParseDocumentImage, type ParseOptions, type ParseResult, type ParseUsage, type PongPayload, type PresenceChangedPayload, PrismerClient, type PrismerConfig, type PrismerEvent, type ProjectCreateOptions, type ProjectDeleteCascade, type ProjectListOptions, type ProjectListResult, type ProjectMemberAddOptions, ProjectMembersClient, type ProjectMembershipRole, type ProjectPrincipalKind, type ProjectStatus, type ProjectUpdateOptions, ProjectsClient, type QueryCost, type QuerySummary, type QueuedAttachment, type QueuedTask, type RankingFactors, type RealtimeCommand, type RealtimeConfig, type RealtimeEventMap, type RealtimeEventType, RealtimeSSEClient, type RealtimeState, RealtimeWSClient, type ReconnectingPayload, type RejectedHostedAgent, type RequestFn, type RequestOpts, RuntimeInstallationsClient, type RuntimePhase, type RuntimeRoute, SQLiteStorage, type SaveBatchOptions, type SaveOptions, type SaveResult, type ScheduleType, SecurityClient, type SendFileOptions, type SendFileResult, type SessionMetrics, type SignalEnrichmentConfig, type SignalTag, type SingleUrlCost, type SkillDraftCreateInput, type SkillDraftCreateResult, type SkillDraftDTO, type SkillDraftManifestFile, type SkillDraftPatchInput, type SkillDraftPatchOp, type SkillDraftRegenerateInput, type SkillDraftValidationWarning, SkillsClient, SkillsDraftClient, type StorageAdapter, type StoredContact, type StoredConversation, type StoredMessage, StudioClient, StudioEvolutionClient, type Suggestion, type SyncEvent, type SyncResult, TabCoordinator, type TaskCancelPayload, type TaskDispatchContextEntry, type TaskDispatchProgressPayload, type TaskDispatchReplyPayload, type TaskDispatchRequestPayload, type TaskEventEnvelope, type TaskEventType, type TaskExecutor, type TaskInput, type TaskKind, type TaskStatus, TasksClient, type TypingIndicatorPayload, type UploadOptions, type UploadResult, type VideoMime, WORKSPACE_ASSETS_ROUTE, type WorkspaceAssetFilters, type WorkspaceAssetRoute, type WorkspaceAssetUploadInput, type WorkspaceAssetsApiContract, type WorkspaceChangedPayload, WorkspaceClient, type WorkspaceFileChangedPayload, WorkspaceFilesClient, type WorkspaceInviteCreateOptions, type WorkspaceInvitePreview, type WorkspaceInviteRole, type WorkspaceInviteStatus, WorkspaceInvitesClient, type WorkspaceMemberAddOptions, type WorkspaceMemberRemoveResult, WorkspaceMembersClient, type WorkspaceRole, WorkspacesClient, createClient, createEnrichedExtractor, decryptContext, decryptFile, decryptMessages, decryptOnReceive, PrismerClient as default, encryptContext, encryptFile, encryptForSend, extractSignals, guessMimeType, readCardKanbanMetadata, safeSlug, writeCardKanbanMetadata };
5857
+ export { AccountClient, type AgentChangedPayload, type AgentHostDeclarePayload, type AgentProfileChangedPayload, AgentSkillsClient, type AgentStatusChangedPayload, AgentsClient, type AssetChangedPayload, type AssetDispatchObservation, type AssetDispatchStrategy, type AssetRef, AssetsClient, AttachmentQueue, type AudioMime, type AuthenticatedPayload, type BatchSummary, type BatchUrlCost, BindingsClient, type CacheManager, type Card, type CardCreateInput, type CardFilters, type CardKanbanMetadata, type CardKanbanMetadataSource, type CardKanbanStatus, type CardMetadata, type CardMove, type ChatMessage, type CommandResult, CommunityHub, type CommunityHubConfig, ContactsClient, type ContentBlock, type ContentBlockAudio, type ContentBlockFile, type ContentBlockImage, type ContentBlockInput, type ContentBlockOutput, type ContentBlockPkf, type ContentBlockPkfInput, type ContentBlockPkfOutput, type ContentBlockReasoning, type ContentBlockText, type ContentBlockToolResult, type ContentBlockToolResultInput, type ContentBlockToolResultOutput, type ContentBlockToolUse, type ContentBlockVideo, type ControlCommand, ConversationsClient, CreditsClient, CriteriaTemplatesClient, type DaemonControlPlane, type DecryptResult, type DerivationMode, DirectClient, type DisconnectedPayload, E2EEncryption, ENVIRONMENTS, type EncryptedContextResult, type EncryptedFileResult, type EncryptedMessage, type Environment, type ErrorPayload, EvolutionCache, EvolutionClient, EvolutionRuntime, type EvolutionRuntimeConfig, type EvolutionSession, EvolutionSkillsClient, type EvolutionSyncDelta, type EvolutionSyncSnapshot, type ExecutionContext, type ExecutionPolicy, type FileInput, FilesClient, type GeneCategory, type GeneSelectionResult, type GeneVisibility, GroupsClient, type HostAckedPayload, type HostedAgentDeclaration, type IMAccountDeleteResult, type IMAgentCard, type IMAgentCatalogCapability, type IMAgentCatalogEntry, type IMAgentDiscoverOptions, type IMAgentForkOptions, type IMAgentForkResult, type IMAgentPack, type IMAgentPackListOptions, type IMAgentPersonality, type IMAgentPublishOptions, type IMAgentRestoreOptions, type IMAgentSkillAckInput, type IMAgentSkillInstallOptions, type IMAgentSkillListOptions, type IMAgentSkillRecord, type IMAgentSnapshot, type IMAgentSnapshotOptions, type IMAgentSpec, type IMAgentStatus, type IMAnalyzeOptions, type IMAnalyzeResult, type IMAsset, type IMAssetDetail, type IMAssetListOptions, type IMAssetPreviewContract, type IMAssetPreviewKind, type IMAssetPreviewStatus, type IMAssetRevision, type IMAssetRevisionList, type IMAssetUploadOptions, type IMAutocompleteResult, type IMBinding, type IMBindingData, type IMBlockedUser, type IMCapsule, IMClient, type IMCompactOptions, type IMCompactionSummary, type IMCompleteTaskOptions, type IMConfirmResult, type IMContact, type IMConversation, type IMConversationsOptions, type IMCreateBindingOptions, type IMCreateGeneOptions, type IMCreateGroupOptions, type IMCreateMemoryFileOptions, type IMCreateRuntimeInstallationOptions, type IMCreateTaskOptions, type IMCreateWorkspaceFileOptions, type IMCreateWorkspaceOptions, type IMCreditsData, type IMDiscoverAgent, type IMDiscoverOptions, type IMEvolutionEdge, type IMEvolutionStats, type IMFileQuota, type IMForkGeneOptions, type IMFriendRequest, type IMGene, type IMGeneListOptions, type IMGroupData, type IMGroupMember, type IMIdentityKey, type IMInstallAgentOnRuntimeOptions, type IMInstallAgentOnRuntimeResult, type IMKeyAuditEntry, type IMKeyVerifyResult, type IMKnowledgeLink, type IMMeData, type IMMemoryDigest, type IMMemoryDigestOptions, type IMMemoryFile, type IMMemoryFileDetail, type IMMemoryKnowledgeLinks, type IMMemoryLoadResult, type IMMessage, type IMMessageAttachment, type IMMessageData, type IMMultipartInitResult, type IMOwnedAgent, type IMPaginationOptions, type IMPatchRuntimeInstallationOptions, type IMPresignOptions, type IMPresignResult, type IMProject, type IMProjectMembership, type IMProjectWithCounts, IMRealtimeClient, type IMRecordOutcomeOptions, type IMRegisterData, type IMRegisterKeyOptions, type IMRegisterOptions, type IMResult, type IMRouting, type IMRuntimeInstallation, type IMSendOptions, type IMSkillContent, type IMSkillCreateInput, type IMSkillInfo, type IMSkillInstallResult, type IMSkillSearchOptions, type IMSkillUpdateInput, type IMStudioAgentSummary, type IMStudioInstalled, type IMStudioInstalledSkill, type IMStudioOverview, type IMStudioProfile, type IMTask, type IMTaskDetail, type IMTaskListOptions, type IMTaskLog, type IMTaskResult, type IMTokenData, type IMTransaction, type IMUpdateMemoryFileOptions, type IMUpdateTaskOptions, type IMUpdateWorkspaceOptions, type IMUser, type IMUserProfile, type IMWSMessage, type IMWorkspace, type IMWorkspaceCreateAgentOptions, type IMWorkspaceData, type IMWorkspaceFile, type IMWorkspaceFileSyncResult, type IMWorkspaceInitGroupOptions, type IMWorkspaceInitOptions, type IMWorkspaceInvite, type IMWorkspaceMember, type IMWorkspaceOrchestrator, type IMWorkspaceOrchestratorEnvelope, type IMWorkspaceSyncResult, IdentityClient, type ImageMime, IndexedDBStorage, InvitesClient, type KeyManager, KnowledgeLinkClient, type KnowledgeLinkSource, type KnowledgeLinkType, type LLMBackend, type LLMDispatcher, type LLMResult, type LLMTask, type LoadOptions, type LoadResult, type LoadResultItem, MemoryClient, MemoryStorage, type MessageDeletedPayload, type MessageEditPayload, type MessageNewPayload, type MessageReactionPayload, MessagesClient, type MetricAgg, type MetricAggregateOptions, type MetricAggregateResponse, type MetricBucket, type MetricBucketResult, type MetricEmitInput, type MetricEventRow, type MetricEventsOptions, type MetricEventsResponse, MetricsClient, type ModelEntry, type NotificationSink, type OfflineConfig, type OfflineEventMap, type OfflineEventType, OfflineManager, type OutboxOperation, type OutboxRejectionRecord, type ParseCost, type ParseCostBreakdown, type ParseDocument, type ParseDocumentImage, type ParseOptions, type ParseResult, type ParseUsage, type PkfApiEnvelope, type PkfArtifactGraphView, type PkfArtifactRelationView, type PkfArtifactRelationsQuery, type PkfArtifactRootKind, type PkfBundleCommitRequest, type PkfBundleCommitView, type PkfBundleReadQuery, type PkfBundleResourceUsage, type PkfCarrierMaterializationTarget, type PkfCarrierMaterializationView, type PkfCarrierMaterializeRequest, PkfClient, type PkfMaterializationDiscoveryQuery, type PkfMaterializationQuery, type PkfMaterializationReadQuery, type PkfMessageSourceLocator, type PkfResourceDetailView, type PkfResourceReadQuery, type PongPayload, type PresenceChangedPayload, PrismerClient, type PrismerConfig, type PrismerEvent, type ProjectCreateOptions, type ProjectDeleteCascade, type ProjectListOptions, type ProjectListResult, type ProjectMemberAddOptions, ProjectMembersClient, type ProjectMembershipRole, type ProjectPrincipalKind, type ProjectStatus, type ProjectUpdateOptions, ProjectsClient, type QueryCost, type QuerySummary, type QueuedAttachment, type QueuedTask, type RankingFactors, type RealtimeCommand, type RealtimeConfig, type RealtimeEventMap, type RealtimeEventType, RealtimeSSEClient, type RealtimeState, RealtimeWSClient, type ReconnectingPayload, type RejectedHostedAgent, type RequestFn, type RequestOpts, RuntimeInstallationsClient, type RuntimePhase, type RuntimeRoute, SQLiteStorage, type SaveBatchOptions, type SaveOptions, type SaveResult, type ScheduleType, SecurityClient, type SendFileOptions, type SendFileResult, type SessionMetrics, type SignalEnrichmentConfig, type SignalTag, type SingleUrlCost, type SkillDraftCreateInput, type SkillDraftCreateResult, type SkillDraftDTO, type SkillDraftManifestFile, type SkillDraftPatchInput, type SkillDraftPatchOp, type SkillDraftRegenerateInput, type SkillDraftValidationWarning, SkillsClient, SkillsDraftClient, type StorageAdapter, type StoredContact, type StoredConversation, type StoredMessage, StudioClient, StudioEvolutionClient, type Suggestion, type SyncEvent, type SyncResult, TabCoordinator, type TaskCancelPayload, type TaskDispatchContextEntry, type TaskDispatchProgressPayload, type TaskDispatchReplyPayload, type TaskDispatchRequestPayload, type TaskDurabilityPageReceipt, type TaskDurabilityResult, type TaskEventEnvelope, type TaskEventType, type TaskExecutor, type TaskInput, type TaskKind, type TaskStatus, TasksClient, type TurnMetricsSummary, type TurnScope, type TurnSummaryOptions, type TypingIndicatorPayload, type UploadOptions, type UploadResult, type VideoMime, WORKSPACE_ASSETS_ROUTE, type WorkspaceAssetFilters, type WorkspaceAssetRoute, type WorkspaceAssetUploadInput, type WorkspaceAssetsApiContract, type WorkspaceChangedPayload, WorkspaceClient, type WorkspaceFileChangedPayload, WorkspaceFilesClient, type WorkspaceInviteCreateOptions, type WorkspaceInvitePreview, type WorkspaceInviteRole, type WorkspaceInviteStatus, WorkspaceInvitesClient, type WorkspaceMemberAddOptions, type WorkspaceMemberRemoveResult, WorkspaceMembersClient, type WorkspaceRole, WorkspacesClient, createClient, createEnrichedExtractor, decryptContext, decryptFile, decryptMessages, decryptOnReceive, PrismerClient as default, encryptContext, encryptFile, encryptForSend, extractSignals, guessMimeType, readCardKanbanMetadata, safeSlug, writeCardKanbanMetadata };