@tickernelz/paperclip-pro-shared 2026.925.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 (1216) hide show
  1. package/dist/.paperclip-build-complete +1 -0
  2. package/dist/account-handle.d.ts +26 -0
  3. package/dist/account-handle.d.ts.map +1 -0
  4. package/dist/account-handle.js +48 -0
  5. package/dist/account-handle.js.map +1 -0
  6. package/dist/account-handle.test.d.ts +2 -0
  7. package/dist/account-handle.test.d.ts.map +1 -0
  8. package/dist/account-handle.test.js +62 -0
  9. package/dist/account-handle.test.js.map +1 -0
  10. package/dist/adapter-agnostic-keys.test.d.ts +2 -0
  11. package/dist/adapter-agnostic-keys.test.d.ts.map +1 -0
  12. package/dist/adapter-agnostic-keys.test.js +33 -0
  13. package/dist/adapter-agnostic-keys.test.js.map +1 -0
  14. package/dist/adapter-auth-check-code.d.ts +13 -0
  15. package/dist/adapter-auth-check-code.d.ts.map +1 -0
  16. package/dist/adapter-auth-check-code.js +13 -0
  17. package/dist/adapter-auth-check-code.js.map +1 -0
  18. package/dist/adapter-auth-check-code.test.d.ts +2 -0
  19. package/dist/adapter-auth-check-code.test.d.ts.map +1 -0
  20. package/dist/adapter-auth-check-code.test.js +8 -0
  21. package/dist/adapter-auth-check-code.test.js.map +1 -0
  22. package/dist/adapter-auth-session.d.ts +16 -0
  23. package/dist/adapter-auth-session.d.ts.map +1 -0
  24. package/dist/adapter-auth-session.js +37 -0
  25. package/dist/adapter-auth-session.js.map +1 -0
  26. package/dist/adapter-type.d.ts +4 -0
  27. package/dist/adapter-type.d.ts.map +1 -0
  28. package/dist/adapter-type.js +14 -0
  29. package/dist/adapter-type.js.map +1 -0
  30. package/dist/adapter-types.test.d.ts +2 -0
  31. package/dist/adapter-types.test.d.ts.map +1 -0
  32. package/dist/adapter-types.test.js +46 -0
  33. package/dist/adapter-types.test.js.map +1 -0
  34. package/dist/agent-appearance.d.ts +53 -0
  35. package/dist/agent-appearance.d.ts.map +1 -0
  36. package/dist/agent-appearance.js +51 -0
  37. package/dist/agent-appearance.js.map +1 -0
  38. package/dist/agent-appearance.test.d.ts +2 -0
  39. package/dist/agent-appearance.test.d.ts.map +1 -0
  40. package/dist/agent-appearance.test.js +32 -0
  41. package/dist/agent-appearance.test.js.map +1 -0
  42. package/dist/agent-eligibility.d.ts +67 -0
  43. package/dist/agent-eligibility.d.ts.map +1 -0
  44. package/dist/agent-eligibility.js +171 -0
  45. package/dist/agent-eligibility.js.map +1 -0
  46. package/dist/agent-eligibility.test.d.ts +2 -0
  47. package/dist/agent-eligibility.test.d.ts.map +1 -0
  48. package/dist/agent-eligibility.test.js +187 -0
  49. package/dist/agent-eligibility.test.js.map +1 -0
  50. package/dist/agent-url-key.d.ts +4 -0
  51. package/dist/agent-url-key.d.ts.map +1 -0
  52. package/dist/agent-url-key.js +22 -0
  53. package/dist/agent-url-key.js.map +1 -0
  54. package/dist/ai-connections.d.ts +220 -0
  55. package/dist/ai-connections.d.ts.map +1 -0
  56. package/dist/ai-connections.js +152 -0
  57. package/dist/ai-connections.js.map +1 -0
  58. package/dist/announcements.d.ts +146 -0
  59. package/dist/announcements.d.ts.map +1 -0
  60. package/dist/announcements.js +72 -0
  61. package/dist/announcements.js.map +1 -0
  62. package/dist/announcements.test.d.ts +2 -0
  63. package/dist/announcements.test.d.ts.map +1 -0
  64. package/dist/announcements.test.js +53 -0
  65. package/dist/announcements.test.js.map +1 -0
  66. package/dist/api.d.ts +69 -0
  67. package/dist/api.d.ts.map +1 -0
  68. package/dist/api.js +69 -0
  69. package/dist/api.js.map +1 -0
  70. package/dist/app-definitions/agentmail.json +49 -0
  71. package/dist/app-definitions/airtable.json +41 -0
  72. package/dist/app-definitions/anthropic.json +75 -0
  73. package/dist/app-definitions/api-key-generic.json +43 -0
  74. package/dist/app-definitions/arcade.json +36 -0
  75. package/dist/app-definitions/asana.json +42 -0
  76. package/dist/app-definitions/beehiiv.json +41 -0
  77. package/dist/app-definitions/bitly.json +78 -0
  78. package/dist/app-definitions/box.json +42 -0
  79. package/dist/app-definitions/brex.json +43 -0
  80. package/dist/app-definitions/candid.json +41 -0
  81. package/dist/app-definitions/clickhouse.json +59 -0
  82. package/dist/app-definitions/cloudflare.json +78 -0
  83. package/dist/app-definitions/cloudinary.json +42 -0
  84. package/dist/app-definitions/coda.json +80 -0
  85. package/dist/app-definitions/composio.json +39 -0
  86. package/dist/app-definitions/context7.json +33 -0
  87. package/dist/app-definitions/discord.json +66 -0
  88. package/dist/app-definitions/egnyte.json +41 -0
  89. package/dist/app-definitions/embat.json +41 -0
  90. package/dist/app-definitions/executor.json +36 -0
  91. package/dist/app-definitions/fireflies.json +82 -0
  92. package/dist/app-definitions/github.json +124 -0
  93. package/dist/app-definitions/gmail.json +182 -0
  94. package/dist/app-definitions/google-calendar.json +188 -0
  95. package/dist/app-definitions/google-chat.json +189 -0
  96. package/dist/app-definitions/google-docs.json +187 -0
  97. package/dist/app-definitions/google-drive.json +183 -0
  98. package/dist/app-definitions/google-people.json +110 -0
  99. package/dist/app-definitions/google-sheets.json +211 -0
  100. package/dist/app-definitions/google-slides.json +187 -0
  101. package/dist/app-definitions/google-workspace-search.json +113 -0
  102. package/dist/app-definitions/hugging-face.json +44 -0
  103. package/dist/app-definitions/imessage-photon.json +50 -0
  104. package/dist/app-definitions/jira.json +65 -0
  105. package/dist/app-definitions/kernel.json +78 -0
  106. package/dist/app-definitions/linear.json +62 -0
  107. package/dist/app-definitions/local-falcon.json +41 -0
  108. package/dist/app-definitions/make.json +42 -0
  109. package/dist/app-definitions/manufact.json +42 -0
  110. package/dist/app-definitions/mem0.json +56 -0
  111. package/dist/app-definitions/microsoft-teams.json +67 -0
  112. package/dist/app-definitions/miro.json +41 -0
  113. package/dist/app-definitions/mixpanel.json +43 -0
  114. package/dist/app-definitions/netlify.json +42 -0
  115. package/dist/app-definitions/notion.json +57 -0
  116. package/dist/app-definitions/oauth-generic.json +47 -0
  117. package/dist/app-definitions/openai.json +74 -0
  118. package/dist/app-definitions/openrouter.json +53 -0
  119. package/dist/app-definitions/oreilly.json +78 -0
  120. package/dist/app-definitions/pagerduty.json +93 -0
  121. package/dist/app-definitions/planetscale.json +91 -0
  122. package/dist/app-definitions/posthog.json +278 -0
  123. package/dist/app-definitions/postman.json +224 -0
  124. package/dist/app-definitions/railway.json +61 -0
  125. package/dist/app-definitions/razorpay.json +81 -0
  126. package/dist/app-definitions/resend.json +42 -0
  127. package/dist/app-definitions/sanity.json +79 -0
  128. package/dist/app-definitions/sentry.json +42 -0
  129. package/dist/app-definitions/shopify.json +117 -0
  130. package/dist/app-definitions/similarweb.json +57 -0
  131. package/dist/app-definitions/slack.json +86 -0
  132. package/dist/app-definitions/stripe.json +80 -0
  133. package/dist/app-definitions/supabase.json +164 -0
  134. package/dist/app-definitions/telegram.json +53 -0
  135. package/dist/app-definitions/ticket-tailor.json +42 -0
  136. package/dist/app-definitions/ticktick.json +41 -0
  137. package/dist/app-definitions/todoist.json +41 -0
  138. package/dist/app-definitions/vercel.json +43 -0
  139. package/dist/app-definitions/webflow.json +41 -0
  140. package/dist/app-definitions/wix.json +42 -0
  141. package/dist/app-definitions/xai.json +74 -0
  142. package/dist/app-definitions/xero.json +53 -0
  143. package/dist/app-definitions/youcom.json +100 -0
  144. package/dist/app-definitions/zapier.json +32 -0
  145. package/dist/app-definitions-url.test.d.ts +2 -0
  146. package/dist/app-definitions-url.test.d.ts.map +1 -0
  147. package/dist/app-definitions-url.test.js +43 -0
  148. package/dist/app-definitions-url.test.js.map +1 -0
  149. package/dist/app-definitions.d.ts +41 -0
  150. package/dist/app-definitions.d.ts.map +1 -0
  151. package/dist/app-definitions.generated.d.ts +3 -0
  152. package/dist/app-definitions.generated.d.ts.map +1 -0
  153. package/dist/app-definitions.generated.js +77 -0
  154. package/dist/app-definitions.generated.js.map +1 -0
  155. package/dist/app-definitions.js +212 -0
  156. package/dist/app-definitions.js.map +1 -0
  157. package/dist/app-definitions.test.d.ts +2 -0
  158. package/dist/app-definitions.test.d.ts.map +1 -0
  159. package/dist/app-definitions.test.js +774 -0
  160. package/dist/app-definitions.test.js.map +1 -0
  161. package/dist/cliplab/LICENSE +22 -0
  162. package/dist/cliplab/PROVENANCE.md +18 -0
  163. package/dist/cliplab/character.d.ts +4 -0
  164. package/dist/cliplab/character.d.ts.map +1 -0
  165. package/dist/cliplab/character.js +2324 -0
  166. package/dist/cliplab/character.js.map +1 -0
  167. package/dist/cliplab/definition.d.ts +13 -0
  168. package/dist/cliplab/definition.d.ts.map +1 -0
  169. package/dist/cliplab/definition.js +28 -0
  170. package/dist/cliplab/definition.js.map +1 -0
  171. package/dist/cliplab/face-morph.d.ts +26 -0
  172. package/dist/cliplab/face-morph.d.ts.map +1 -0
  173. package/dist/cliplab/face-morph.js +301 -0
  174. package/dist/cliplab/face-morph.js.map +1 -0
  175. package/dist/cliplab/gaze.d.ts +42 -0
  176. package/dist/cliplab/gaze.d.ts.map +1 -0
  177. package/dist/cliplab/gaze.js +57 -0
  178. package/dist/cliplab/gaze.js.map +1 -0
  179. package/dist/cliplab/model.d.ts +176 -0
  180. package/dist/cliplab/model.d.ts.map +1 -0
  181. package/dist/cliplab/model.js +337 -0
  182. package/dist/cliplab/model.js.map +1 -0
  183. package/dist/cliplab/palette-tokens.d.ts +75 -0
  184. package/dist/cliplab/palette-tokens.d.ts.map +1 -0
  185. package/dist/cliplab/palette-tokens.js +76 -0
  186. package/dist/cliplab/palette-tokens.js.map +1 -0
  187. package/dist/cliplab/particles.d.ts +15 -0
  188. package/dist/cliplab/particles.d.ts.map +1 -0
  189. package/dist/cliplab/particles.js +23 -0
  190. package/dist/cliplab/particles.js.map +1 -0
  191. package/dist/cliplab/renderer.d.ts +129 -0
  192. package/dist/cliplab/renderer.d.ts.map +1 -0
  193. package/dist/cliplab/renderer.js +762 -0
  194. package/dist/cliplab/renderer.js.map +1 -0
  195. package/dist/cliplab/runtime.d.ts +21 -0
  196. package/dist/cliplab/runtime.d.ts.map +1 -0
  197. package/dist/cliplab/runtime.js +140 -0
  198. package/dist/cliplab/runtime.js.map +1 -0
  199. package/dist/cliplab/static.d.ts +4 -0
  200. package/dist/cliplab/static.d.ts.map +1 -0
  201. package/dist/cliplab/static.js +16 -0
  202. package/dist/cliplab/static.js.map +1 -0
  203. package/dist/cliplab/svg-canvas.d.ts +56 -0
  204. package/dist/cliplab/svg-canvas.d.ts.map +1 -0
  205. package/dist/cliplab/svg-canvas.js +134 -0
  206. package/dist/cliplab/svg-canvas.js.map +1 -0
  207. package/dist/cliplab/svg-path.d.ts +24 -0
  208. package/dist/cliplab/svg-path.d.ts.map +1 -0
  209. package/dist/cliplab/svg-path.js +151 -0
  210. package/dist/cliplab/svg-path.js.map +1 -0
  211. package/dist/cliplab/svg-snapshot.d.ts +28 -0
  212. package/dist/cliplab/svg-snapshot.d.ts.map +1 -0
  213. package/dist/cliplab/svg-snapshot.js +168 -0
  214. package/dist/cliplab/svg-snapshot.js.map +1 -0
  215. package/dist/company-import-transfer.d.ts +80 -0
  216. package/dist/company-import-transfer.d.ts.map +1 -0
  217. package/dist/company-import-transfer.js +63 -0
  218. package/dist/company-import-transfer.js.map +1 -0
  219. package/dist/company-import-transfer.test.d.ts +2 -0
  220. package/dist/company-import-transfer.test.d.ts.map +1 -0
  221. package/dist/company-import-transfer.test.js +15 -0
  222. package/dist/company-import-transfer.test.js.map +1 -0
  223. package/dist/config-schema.d.ts +252 -0
  224. package/dist/config-schema.d.ts.map +1 -0
  225. package/dist/config-schema.js +268 -0
  226. package/dist/config-schema.js.map +1 -0
  227. package/dist/config-schema.test.d.ts +2 -0
  228. package/dist/config-schema.test.d.ts.map +1 -0
  229. package/dist/config-schema.test.js +126 -0
  230. package/dist/config-schema.test.js.map +1 -0
  231. package/dist/connection-intent-guidance.d.ts +12 -0
  232. package/dist/connection-intent-guidance.d.ts.map +1 -0
  233. package/dist/connection-intent-guidance.js +35 -0
  234. package/dist/connection-intent-guidance.js.map +1 -0
  235. package/dist/connection-intent-guidance.test.d.ts +2 -0
  236. package/dist/connection-intent-guidance.test.d.ts.map +1 -0
  237. package/dist/connection-intent-guidance.test.js +60 -0
  238. package/dist/connection-intent-guidance.test.js.map +1 -0
  239. package/dist/constants.d.ts +556 -0
  240. package/dist/constants.d.ts.map +1 -0
  241. package/dist/constants.js +1363 -0
  242. package/dist/constants.js.map +1 -0
  243. package/dist/decision.test.d.ts +2 -0
  244. package/dist/decision.test.d.ts.map +1 -0
  245. package/dist/decision.test.js +142 -0
  246. package/dist/decision.test.js.map +1 -0
  247. package/dist/document-anchors.d.ts +37 -0
  248. package/dist/document-anchors.d.ts.map +1 -0
  249. package/dist/document-anchors.js +351 -0
  250. package/dist/document-anchors.js.map +1 -0
  251. package/dist/document-anchors.test.d.ts +2 -0
  252. package/dist/document-anchors.test.d.ts.map +1 -0
  253. package/dist/document-anchors.test.js +151 -0
  254. package/dist/document-anchors.test.js.map +1 -0
  255. package/dist/document-export.d.ts +4 -0
  256. package/dist/document-export.d.ts.map +1 -0
  257. package/dist/document-export.js +27 -0
  258. package/dist/document-export.js.map +1 -0
  259. package/dist/env-file.d.ts +16 -0
  260. package/dist/env-file.d.ts.map +1 -0
  261. package/dist/env-file.js +149 -0
  262. package/dist/env-file.js.map +1 -0
  263. package/dist/env-file.test.d.ts +2 -0
  264. package/dist/env-file.test.d.ts.map +1 -0
  265. package/dist/env-file.test.js +72 -0
  266. package/dist/env-file.test.js.map +1 -0
  267. package/dist/environment-custom-images.d.ts +17 -0
  268. package/dist/environment-custom-images.d.ts.map +1 -0
  269. package/dist/environment-custom-images.js +88 -0
  270. package/dist/environment-custom-images.js.map +1 -0
  271. package/dist/environment-custom-images.test.d.ts +2 -0
  272. package/dist/environment-custom-images.test.d.ts.map +1 -0
  273. package/dist/environment-custom-images.test.js +136 -0
  274. package/dist/environment-custom-images.test.js.map +1 -0
  275. package/dist/environment-support.d.ts +58 -0
  276. package/dist/environment-support.d.ts.map +1 -0
  277. package/dist/environment-support.js +128 -0
  278. package/dist/environment-support.js.map +1 -0
  279. package/dist/environment-support.test.d.ts +2 -0
  280. package/dist/environment-support.test.d.ts.map +1 -0
  281. package/dist/environment-support.test.js +77 -0
  282. package/dist/environment-support.test.js.map +1 -0
  283. package/dist/execution-workspace-guards.d.ts +6 -0
  284. package/dist/execution-workspace-guards.d.ts.map +1 -0
  285. package/dist/execution-workspace-guards.js +12 -0
  286. package/dist/execution-workspace-guards.js.map +1 -0
  287. package/dist/external-objects-server.d.ts +12 -0
  288. package/dist/external-objects-server.d.ts.map +1 -0
  289. package/dist/external-objects-server.js +176 -0
  290. package/dist/external-objects-server.js.map +1 -0
  291. package/dist/external-objects.d.ts +32 -0
  292. package/dist/external-objects.d.ts.map +1 -0
  293. package/dist/external-objects.js +17 -0
  294. package/dist/external-objects.js.map +1 -0
  295. package/dist/external-objects.test.d.ts +2 -0
  296. package/dist/external-objects.test.d.ts.map +1 -0
  297. package/dist/external-objects.test.js +93 -0
  298. package/dist/external-objects.test.js.map +1 -0
  299. package/dist/feature-catalog.d.ts +59 -0
  300. package/dist/feature-catalog.d.ts.map +1 -0
  301. package/dist/feature-catalog.js +301 -0
  302. package/dist/feature-catalog.js.map +1 -0
  303. package/dist/feature-catalog.test.d.ts +2 -0
  304. package/dist/feature-catalog.test.d.ts.map +1 -0
  305. package/dist/feature-catalog.test.js +89 -0
  306. package/dist/feature-catalog.test.js.map +1 -0
  307. package/dist/frontmatter-runner-contract.test.d.ts +2 -0
  308. package/dist/frontmatter-runner-contract.test.d.ts.map +1 -0
  309. package/dist/frontmatter-runner-contract.test.js +10 -0
  310. package/dist/frontmatter-runner-contract.test.js.map +1 -0
  311. package/dist/frontmatter.d.ts +68 -0
  312. package/dist/frontmatter.d.ts.map +1 -0
  313. package/dist/frontmatter.js +559 -0
  314. package/dist/frontmatter.js.map +1 -0
  315. package/dist/frontmatter.test.d.ts +2 -0
  316. package/dist/frontmatter.test.d.ts.map +1 -0
  317. package/dist/frontmatter.test.js +297 -0
  318. package/dist/frontmatter.test.js.map +1 -0
  319. package/dist/github-connectors.d.ts +10 -0
  320. package/dist/github-connectors.d.ts.map +1 -0
  321. package/dist/github-connectors.js +15 -0
  322. package/dist/github-connectors.js.map +1 -0
  323. package/dist/gitignore-runtime.test.d.ts +2 -0
  324. package/dist/gitignore-runtime.test.d.ts.map +1 -0
  325. package/dist/gitignore-runtime.test.js +14 -0
  326. package/dist/gitignore-runtime.test.js.map +1 -0
  327. package/dist/google-workspace-connectors.d.ts +10 -0
  328. package/dist/google-workspace-connectors.d.ts.map +1 -0
  329. package/dist/google-workspace-connectors.js +31 -0
  330. package/dist/google-workspace-connectors.js.map +1 -0
  331. package/dist/home-paths.d.ts +41 -0
  332. package/dist/home-paths.d.ts.map +1 -0
  333. package/dist/home-paths.js +57 -0
  334. package/dist/home-paths.js.map +1 -0
  335. package/dist/home-paths.test.d.ts +2 -0
  336. package/dist/home-paths.test.d.ts.map +1 -0
  337. package/dist/home-paths.test.js +25 -0
  338. package/dist/home-paths.test.js.map +1 -0
  339. package/dist/humanize-connection.d.ts +36 -0
  340. package/dist/humanize-connection.d.ts.map +1 -0
  341. package/dist/humanize-connection.js +95 -0
  342. package/dist/humanize-connection.js.map +1 -0
  343. package/dist/humanize-connection.test.d.ts +2 -0
  344. package/dist/humanize-connection.test.d.ts.map +1 -0
  345. package/dist/humanize-connection.test.js +48 -0
  346. package/dist/humanize-connection.test.js.map +1 -0
  347. package/dist/index.d.ts +109 -0
  348. package/dist/index.d.ts.map +1 -0
  349. package/dist/index.js +94 -0
  350. package/dist/index.js.map +1 -0
  351. package/dist/issue-attribution.d.ts +27 -0
  352. package/dist/issue-attribution.d.ts.map +1 -0
  353. package/dist/issue-attribution.js +25 -0
  354. package/dist/issue-attribution.js.map +1 -0
  355. package/dist/issue-attribution.test.d.ts +2 -0
  356. package/dist/issue-attribution.test.d.ts.map +1 -0
  357. package/dist/issue-attribution.test.js +72 -0
  358. package/dist/issue-attribution.test.js.map +1 -0
  359. package/dist/issue-references.d.ts +16 -0
  360. package/dist/issue-references.d.ts.map +1 -0
  361. package/dist/issue-references.js +160 -0
  362. package/dist/issue-references.js.map +1 -0
  363. package/dist/issue-references.test.d.ts +2 -0
  364. package/dist/issue-references.test.d.ts.map +1 -0
  365. package/dist/issue-references.test.js +56 -0
  366. package/dist/issue-references.test.js.map +1 -0
  367. package/dist/issue-thread-interactions.test.d.ts +2 -0
  368. package/dist/issue-thread-interactions.test.d.ts.map +1 -0
  369. package/dist/issue-thread-interactions.test.js +546 -0
  370. package/dist/issue-thread-interactions.test.js.map +1 -0
  371. package/dist/issue-write-denial.d.ts +92 -0
  372. package/dist/issue-write-denial.d.ts.map +1 -0
  373. package/dist/issue-write-denial.js +227 -0
  374. package/dist/issue-write-denial.js.map +1 -0
  375. package/dist/issue-write-denial.test.d.ts +2 -0
  376. package/dist/issue-write-denial.test.d.ts.map +1 -0
  377. package/dist/issue-write-denial.test.js +159 -0
  378. package/dist/issue-write-denial.test.js.map +1 -0
  379. package/dist/markdown-work-products.d.ts +26 -0
  380. package/dist/markdown-work-products.d.ts.map +1 -0
  381. package/dist/markdown-work-products.js +70 -0
  382. package/dist/markdown-work-products.js.map +1 -0
  383. package/dist/markdown-work-products.test.d.ts +2 -0
  384. package/dist/markdown-work-products.test.d.ts.map +1 -0
  385. package/dist/markdown-work-products.test.js +122 -0
  386. package/dist/markdown-work-products.test.js.map +1 -0
  387. package/dist/mcp-config-help-prompt.d.ts +21 -0
  388. package/dist/mcp-config-help-prompt.d.ts.map +1 -0
  389. package/dist/mcp-config-help-prompt.js +56 -0
  390. package/dist/mcp-config-help-prompt.js.map +1 -0
  391. package/dist/mcp-remote-headers.d.ts +49 -0
  392. package/dist/mcp-remote-headers.d.ts.map +1 -0
  393. package/dist/mcp-remote-headers.js +127 -0
  394. package/dist/mcp-remote-headers.js.map +1 -0
  395. package/dist/mcp-remote-headers.test.d.ts +2 -0
  396. package/dist/mcp-remote-headers.test.d.ts.map +1 -0
  397. package/dist/mcp-remote-headers.test.js +112 -0
  398. package/dist/mcp-remote-headers.test.js.map +1 -0
  399. package/dist/network-bind.d.ts +27 -0
  400. package/dist/network-bind.d.ts.map +1 -0
  401. package/dist/network-bind.js +75 -0
  402. package/dist/network-bind.js.map +1 -0
  403. package/dist/node-version.d.ts +6 -0
  404. package/dist/node-version.d.ts.map +1 -0
  405. package/dist/node-version.js +48 -0
  406. package/dist/node-version.js.map +1 -0
  407. package/dist/oauth-endpoint-url.d.ts +74 -0
  408. package/dist/oauth-endpoint-url.d.ts.map +1 -0
  409. package/dist/oauth-endpoint-url.js +142 -0
  410. package/dist/oauth-endpoint-url.js.map +1 -0
  411. package/dist/oauth-endpoint-url.test.d.ts +2 -0
  412. package/dist/oauth-endpoint-url.test.d.ts.map +1 -0
  413. package/dist/oauth-endpoint-url.test.js +163 -0
  414. package/dist/oauth-endpoint-url.test.js.map +1 -0
  415. package/dist/pipeline-case-type.d.ts +23 -0
  416. package/dist/pipeline-case-type.d.ts.map +1 -0
  417. package/dist/pipeline-case-type.js +26 -0
  418. package/dist/pipeline-case-type.js.map +1 -0
  419. package/dist/pipeline-health.d.ts +80 -0
  420. package/dist/pipeline-health.d.ts.map +1 -0
  421. package/dist/pipeline-health.js +249 -0
  422. package/dist/pipeline-health.js.map +1 -0
  423. package/dist/pipeline-health.test.d.ts +2 -0
  424. package/dist/pipeline-health.test.d.ts.map +1 -0
  425. package/dist/pipeline-health.test.js +140 -0
  426. package/dist/pipeline-health.test.js.map +1 -0
  427. package/dist/portability-fidelity.d.ts +19 -0
  428. package/dist/portability-fidelity.d.ts.map +1 -0
  429. package/dist/portability-fidelity.js +46 -0
  430. package/dist/portability-fidelity.js.map +1 -0
  431. package/dist/portability-fidelity.test.d.ts +2 -0
  432. package/dist/portability-fidelity.test.d.ts.map +1 -0
  433. package/dist/portability-fidelity.test.js +66 -0
  434. package/dist/portability-fidelity.test.js.map +1 -0
  435. package/dist/portability-hash.d.ts +5 -0
  436. package/dist/portability-hash.d.ts.map +1 -0
  437. package/dist/portability-hash.js +20 -0
  438. package/dist/portability-hash.js.map +1 -0
  439. package/dist/portability-zip.d.ts +15 -0
  440. package/dist/portability-zip.d.ts.map +1 -0
  441. package/dist/portability-zip.js +262 -0
  442. package/dist/portability-zip.js.map +1 -0
  443. package/dist/portability-zip.test.d.ts +2 -0
  444. package/dist/portability-zip.test.d.ts.map +1 -0
  445. package/dist/portability-zip.test.js +227 -0
  446. package/dist/portability-zip.test.js.map +1 -0
  447. package/dist/project-mentions.d.ts +47 -0
  448. package/dist/project-mentions.d.ts.map +1 -0
  449. package/dist/project-mentions.js +291 -0
  450. package/dist/project-mentions.js.map +1 -0
  451. package/dist/project-mentions.test.d.ts +2 -0
  452. package/dist/project-mentions.test.d.ts.map +1 -0
  453. package/dist/project-mentions.test.js +43 -0
  454. package/dist/project-mentions.test.js.map +1 -0
  455. package/dist/project-url-key.d.ts +5 -0
  456. package/dist/project-url-key.d.ts.map +1 -0
  457. package/dist/project-url-key.js +39 -0
  458. package/dist/project-url-key.js.map +1 -0
  459. package/dist/railway-connection.d.ts +20 -0
  460. package/dist/railway-connection.d.ts.map +1 -0
  461. package/dist/railway-connection.js +7 -0
  462. package/dist/railway-connection.js.map +1 -0
  463. package/dist/remote-mcp-connectors.d.ts +11 -0
  464. package/dist/remote-mcp-connectors.d.ts.map +1 -0
  465. package/dist/remote-mcp-connectors.js +14 -0
  466. package/dist/remote-mcp-connectors.js.map +1 -0
  467. package/dist/remote-mcp-connectors.test.d.ts +2 -0
  468. package/dist/remote-mcp-connectors.test.d.ts.map +1 -0
  469. package/dist/remote-mcp-connectors.test.js +39 -0
  470. package/dist/remote-mcp-connectors.test.js.map +1 -0
  471. package/dist/resource-memberships.test.d.ts +2 -0
  472. package/dist/resource-memberships.test.d.ts.map +1 -0
  473. package/dist/resource-memberships.test.js +23 -0
  474. package/dist/resource-memberships.test.js.map +1 -0
  475. package/dist/responsible-user-denial.d.ts +46 -0
  476. package/dist/responsible-user-denial.d.ts.map +1 -0
  477. package/dist/responsible-user-denial.js +66 -0
  478. package/dist/responsible-user-denial.js.map +1 -0
  479. package/dist/responsible-user-denial.test.d.ts +2 -0
  480. package/dist/responsible-user-denial.test.d.ts.map +1 -0
  481. package/dist/responsible-user-denial.test.js +65 -0
  482. package/dist/responsible-user-denial.test.js.map +1 -0
  483. package/dist/retired-composio.d.ts +7 -0
  484. package/dist/retired-composio.d.ts.map +1 -0
  485. package/dist/retired-composio.js +7 -0
  486. package/dist/retired-composio.js.map +1 -0
  487. package/dist/routine-variables.d.ts +23 -0
  488. package/dist/routine-variables.d.ts.map +1 -0
  489. package/dist/routine-variables.js +127 -0
  490. package/dist/routine-variables.js.map +1 -0
  491. package/dist/routine-variables.test.d.ts +2 -0
  492. package/dist/routine-variables.test.d.ts.map +1 -0
  493. package/dist/routine-variables.test.js +98 -0
  494. package/dist/routine-variables.test.js.map +1 -0
  495. package/dist/runner-goal.d.ts +105 -0
  496. package/dist/runner-goal.d.ts.map +1 -0
  497. package/dist/runner-goal.js +74 -0
  498. package/dist/runner-goal.js.map +1 -0
  499. package/dist/runtime-exposure/loopback-bind.d.ts +52 -0
  500. package/dist/runtime-exposure/loopback-bind.d.ts.map +1 -0
  501. package/dist/runtime-exposure/loopback-bind.js +93 -0
  502. package/dist/runtime-exposure/loopback-bind.js.map +1 -0
  503. package/dist/runtime-exposure/loopback-bind.test.d.ts +2 -0
  504. package/dist/runtime-exposure/loopback-bind.test.d.ts.map +1 -0
  505. package/dist/runtime-exposure/loopback-bind.test.js +94 -0
  506. package/dist/runtime-exposure/loopback-bind.test.js.map +1 -0
  507. package/dist/runtime-exposure/ports.d.ts +61 -0
  508. package/dist/runtime-exposure/ports.d.ts.map +1 -0
  509. package/dist/runtime-exposure/ports.js +96 -0
  510. package/dist/runtime-exposure/ports.js.map +1 -0
  511. package/dist/runtime-exposure/ports.test.d.ts +2 -0
  512. package/dist/runtime-exposure/ports.test.d.ts.map +1 -0
  513. package/dist/runtime-exposure/ports.test.js +46 -0
  514. package/dist/runtime-exposure/ports.test.js.map +1 -0
  515. package/dist/self-serve-mcp-research.d.ts +5 -0
  516. package/dist/self-serve-mcp-research.d.ts.map +1 -0
  517. package/dist/self-serve-mcp-research.js +5 -0
  518. package/dist/self-serve-mcp-research.js.map +1 -0
  519. package/dist/self-serve-mcp-research.json +54 -0
  520. package/dist/setting-defaults.d.ts +72 -0
  521. package/dist/setting-defaults.d.ts.map +1 -0
  522. package/dist/setting-defaults.js +132 -0
  523. package/dist/setting-defaults.js.map +1 -0
  524. package/dist/setting-defaults.test.d.ts +2 -0
  525. package/dist/setting-defaults.test.d.ts.map +1 -0
  526. package/dist/setting-defaults.test.js +102 -0
  527. package/dist/setting-defaults.test.js.map +1 -0
  528. package/dist/settings-visibility.d.ts +86 -0
  529. package/dist/settings-visibility.d.ts.map +1 -0
  530. package/dist/settings-visibility.js +138 -0
  531. package/dist/settings-visibility.js.map +1 -0
  532. package/dist/settings-visibility.test.d.ts +2 -0
  533. package/dist/settings-visibility.test.d.ts.map +1 -0
  534. package/dist/settings-visibility.test.js +85 -0
  535. package/dist/settings-visibility.test.js.map +1 -0
  536. package/dist/slack-tools.d.ts +557 -0
  537. package/dist/slack-tools.d.ts.map +1 -0
  538. package/dist/slack-tools.js +146 -0
  539. package/dist/slack-tools.js.map +1 -0
  540. package/dist/summary-slot.test.d.ts +2 -0
  541. package/dist/summary-slot.test.d.ts.map +1 -0
  542. package/dist/summary-slot.test.js +76 -0
  543. package/dist/summary-slot.test.js.map +1 -0
  544. package/dist/telemetry/client-contract.test.d.ts +2 -0
  545. package/dist/telemetry/client-contract.test.d.ts.map +1 -0
  546. package/dist/telemetry/client-contract.test.js +166 -0
  547. package/dist/telemetry/client-contract.test.js.map +1 -0
  548. package/dist/telemetry/client-types.test.d.ts +2 -0
  549. package/dist/telemetry/client-types.test.d.ts.map +1 -0
  550. package/dist/telemetry/client-types.test.js +18 -0
  551. package/dist/telemetry/client-types.test.js.map +1 -0
  552. package/dist/telemetry/client.d.ts +101 -0
  553. package/dist/telemetry/client.d.ts.map +1 -0
  554. package/dist/telemetry/client.js +426 -0
  555. package/dist/telemetry/client.js.map +1 -0
  556. package/dist/telemetry/client.test.d.ts +2 -0
  557. package/dist/telemetry/client.test.d.ts.map +1 -0
  558. package/dist/telemetry/client.test.js +507 -0
  559. package/dist/telemetry/client.test.js.map +1 -0
  560. package/dist/telemetry/config.d.ts +35 -0
  561. package/dist/telemetry/config.d.ts.map +1 -0
  562. package/dist/telemetry/config.js +51 -0
  563. package/dist/telemetry/config.js.map +1 -0
  564. package/dist/telemetry/events.d.ts +103 -0
  565. package/dist/telemetry/events.d.ts.map +1 -0
  566. package/dist/telemetry/events.js +121 -0
  567. package/dist/telemetry/events.js.map +1 -0
  568. package/dist/telemetry/generated/paperclip-telemetry.d.ts +406 -0
  569. package/dist/telemetry/generated/paperclip-telemetry.d.ts.map +1 -0
  570. package/dist/telemetry/generated/paperclip-telemetry.js +297 -0
  571. package/dist/telemetry/generated/paperclip-telemetry.js.map +1 -0
  572. package/dist/telemetry/index.d.ts +10 -0
  573. package/dist/telemetry/index.d.ts.map +1 -0
  574. package/dist/telemetry/index.js +6 -0
  575. package/dist/telemetry/index.js.map +1 -0
  576. package/dist/telemetry/proposed-connector-events.test.d.ts +2 -0
  577. package/dist/telemetry/proposed-connector-events.test.d.ts.map +1 -0
  578. package/dist/telemetry/proposed-connector-events.test.js +96 -0
  579. package/dist/telemetry/proposed-connector-events.test.js.map +1 -0
  580. package/dist/telemetry/readme-contract.test.d.ts +2 -0
  581. package/dist/telemetry/readme-contract.test.d.ts.map +1 -0
  582. package/dist/telemetry/readme-contract.test.js +17 -0
  583. package/dist/telemetry/readme-contract.test.js.map +1 -0
  584. package/dist/telemetry/retention.d.ts +44 -0
  585. package/dist/telemetry/retention.d.ts.map +1 -0
  586. package/dist/telemetry/retention.js +46 -0
  587. package/dist/telemetry/retention.js.map +1 -0
  588. package/dist/telemetry/retention.test.d.ts +2 -0
  589. package/dist/telemetry/retention.test.d.ts.map +1 -0
  590. package/dist/telemetry/retention.test.js +20 -0
  591. package/dist/telemetry/retention.test.js.map +1 -0
  592. package/dist/telemetry/state.d.ts +3 -0
  593. package/dist/telemetry/state.d.ts.map +1 -0
  594. package/dist/telemetry/state.js +28 -0
  595. package/dist/telemetry/state.js.map +1 -0
  596. package/dist/telemetry/types.d.ts +62 -0
  597. package/dist/telemetry/types.d.ts.map +1 -0
  598. package/dist/telemetry/types.js +2 -0
  599. package/dist/telemetry/types.js.map +1 -0
  600. package/dist/trust-policy.d.ts +68 -0
  601. package/dist/trust-policy.d.ts.map +1 -0
  602. package/dist/trust-policy.js +11 -0
  603. package/dist/trust-policy.js.map +1 -0
  604. package/dist/types/access.d.ts +142 -0
  605. package/dist/types/access.d.ts.map +1 -0
  606. package/dist/types/access.js +2 -0
  607. package/dist/types/access.js.map +1 -0
  608. package/dist/types/activity.d.ts +15 -0
  609. package/dist/types/activity.d.ts.map +1 -0
  610. package/dist/types/activity.js +2 -0
  611. package/dist/types/activity.js.map +1 -0
  612. package/dist/types/adapter-registry.d.ts +31 -0
  613. package/dist/types/adapter-registry.d.ts.map +1 -0
  614. package/dist/types/adapter-registry.js +2 -0
  615. package/dist/types/adapter-registry.js.map +1 -0
  616. package/dist/types/adapter-skills.d.ts +38 -0
  617. package/dist/types/adapter-skills.d.ts.map +1 -0
  618. package/dist/types/adapter-skills.js +2 -0
  619. package/dist/types/adapter-skills.js.map +1 -0
  620. package/dist/types/agent.adapter-auth-session.test.d.ts +2 -0
  621. package/dist/types/agent.adapter-auth-session.test.d.ts.map +1 -0
  622. package/dist/types/agent.adapter-auth-session.test.js +103 -0
  623. package/dist/types/agent.adapter-auth-session.test.js.map +1 -0
  624. package/dist/types/agent.d.ts +194 -0
  625. package/dist/types/agent.d.ts.map +1 -0
  626. package/dist/types/agent.js +51 -0
  627. package/dist/types/agent.js.map +1 -0
  628. package/dist/types/app-definition.d.ts +153 -0
  629. package/dist/types/app-definition.d.ts.map +1 -0
  630. package/dist/types/app-definition.js +2 -0
  631. package/dist/types/app-definition.js.map +1 -0
  632. package/dist/types/approval.d.ts +26 -0
  633. package/dist/types/approval.d.ts.map +1 -0
  634. package/dist/types/approval.js +2 -0
  635. package/dist/types/approval.js.map +1 -0
  636. package/dist/types/artifact.d.ts +52 -0
  637. package/dist/types/artifact.d.ts.map +1 -0
  638. package/dist/types/artifact.js +2 -0
  639. package/dist/types/artifact.js.map +1 -0
  640. package/dist/types/asset.d.ts +16 -0
  641. package/dist/types/asset.d.ts.map +1 -0
  642. package/dist/types/asset.js +2 -0
  643. package/dist/types/asset.js.map +1 -0
  644. package/dist/types/attention.d.ts +222 -0
  645. package/dist/types/attention.d.ts.map +1 -0
  646. package/dist/types/attention.js +15 -0
  647. package/dist/types/attention.js.map +1 -0
  648. package/dist/types/budget.d.ts +86 -0
  649. package/dist/types/budget.d.ts.map +1 -0
  650. package/dist/types/budget.js +2 -0
  651. package/dist/types/budget.js.map +1 -0
  652. package/dist/types/chat-channels.d.ts +402 -0
  653. package/dist/types/chat-channels.d.ts.map +1 -0
  654. package/dist/types/chat-channels.js +105 -0
  655. package/dist/types/chat-channels.js.map +1 -0
  656. package/dist/types/chat-github.d.ts +123 -0
  657. package/dist/types/chat-github.d.ts.map +1 -0
  658. package/dist/types/chat-github.js +55 -0
  659. package/dist/types/chat-github.js.map +1 -0
  660. package/dist/types/company-portability.d.ts +408 -0
  661. package/dist/types/company-portability.d.ts.map +1 -0
  662. package/dist/types/company-portability.js +2 -0
  663. package/dist/types/company-portability.js.map +1 -0
  664. package/dist/types/company-skill.d.ts +623 -0
  665. package/dist/types/company-skill.d.ts.map +1 -0
  666. package/dist/types/company-skill.js +2 -0
  667. package/dist/types/company-skill.js.map +1 -0
  668. package/dist/types/company.d.ts +30 -0
  669. package/dist/types/company.d.ts.map +1 -0
  670. package/dist/types/company.js +2 -0
  671. package/dist/types/company.js.map +1 -0
  672. package/dist/types/connection-intent.d.ts +53 -0
  673. package/dist/types/connection-intent.d.ts.map +1 -0
  674. package/dist/types/connection-intent.js +2 -0
  675. package/dist/types/connection-intent.js.map +1 -0
  676. package/dist/types/cost.d.ts +126 -0
  677. package/dist/types/cost.d.ts.map +1 -0
  678. package/dist/types/cost.js +2 -0
  679. package/dist/types/cost.js.map +1 -0
  680. package/dist/types/dashboard.d.ts +54 -0
  681. package/dist/types/dashboard.d.ts.map +1 -0
  682. package/dist/types/dashboard.js +2 -0
  683. package/dist/types/dashboard.js.map +1 -0
  684. package/dist/types/decision-queue.d.ts +55 -0
  685. package/dist/types/decision-queue.d.ts.map +1 -0
  686. package/dist/types/decision-queue.js +2 -0
  687. package/dist/types/decision-queue.js.map +1 -0
  688. package/dist/types/decision-training.d.ts +65 -0
  689. package/dist/types/decision-training.d.ts.map +1 -0
  690. package/dist/types/decision-training.js +2 -0
  691. package/dist/types/decision-training.js.map +1 -0
  692. package/dist/types/decision.d.ts +100 -0
  693. package/dist/types/decision.d.ts.map +1 -0
  694. package/dist/types/decision.js +15 -0
  695. package/dist/types/decision.js.map +1 -0
  696. package/dist/types/document-annotation.d.ts +223 -0
  697. package/dist/types/document-annotation.d.ts.map +1 -0
  698. package/dist/types/document-annotation.js +2 -0
  699. package/dist/types/document-annotation.js.map +1 -0
  700. package/dist/types/email.d.ts +50 -0
  701. package/dist/types/email.d.ts.map +1 -0
  702. package/dist/types/email.js +2 -0
  703. package/dist/types/email.js.map +1 -0
  704. package/dist/types/environment.d.ts +150 -0
  705. package/dist/types/environment.d.ts.map +1 -0
  706. package/dist/types/environment.js +2 -0
  707. package/dist/types/environment.js.map +1 -0
  708. package/dist/types/execution-continuation.d.ts +67 -0
  709. package/dist/types/execution-continuation.d.ts.map +1 -0
  710. package/dist/types/execution-continuation.js +2 -0
  711. package/dist/types/execution-continuation.js.map +1 -0
  712. package/dist/types/execution-projection.d.ts +33 -0
  713. package/dist/types/execution-projection.d.ts.map +1 -0
  714. package/dist/types/execution-projection.js +24 -0
  715. package/dist/types/execution-projection.js.map +1 -0
  716. package/dist/types/external-object.d.ts +84 -0
  717. package/dist/types/external-object.d.ts.map +1 -0
  718. package/dist/types/external-object.js +2 -0
  719. package/dist/types/external-object.js.map +1 -0
  720. package/dist/types/feedback.d.ts +95 -0
  721. package/dist/types/feedback.d.ts.map +1 -0
  722. package/dist/types/feedback.js +7 -0
  723. package/dist/types/feedback.js.map +1 -0
  724. package/dist/types/finance.d.ts +57 -0
  725. package/dist/types/finance.d.ts.map +1 -0
  726. package/dist/types/finance.js +2 -0
  727. package/dist/types/finance.js.map +1 -0
  728. package/dist/types/folder.d.ts +52 -0
  729. package/dist/types/folder.d.ts.map +1 -0
  730. package/dist/types/folder.js +2 -0
  731. package/dist/types/folder.js.map +1 -0
  732. package/dist/types/goal.d.ts +14 -0
  733. package/dist/types/goal.d.ts.map +1 -0
  734. package/dist/types/goal.js +2 -0
  735. package/dist/types/goal.js.map +1 -0
  736. package/dist/types/heartbeat.d.ts +325 -0
  737. package/dist/types/heartbeat.d.ts.map +1 -0
  738. package/dist/types/heartbeat.js +2 -0
  739. package/dist/types/heartbeat.js.map +1 -0
  740. package/dist/types/inbox-agent-policy.d.ts +12 -0
  741. package/dist/types/inbox-agent-policy.d.ts.map +1 -0
  742. package/dist/types/inbox-agent-policy.js +2 -0
  743. package/dist/types/inbox-agent-policy.js.map +1 -0
  744. package/dist/types/inbox-dismissal.d.ts +13 -0
  745. package/dist/types/inbox-dismissal.d.ts.map +1 -0
  746. package/dist/types/inbox-dismissal.js +2 -0
  747. package/dist/types/inbox-dismissal.js.map +1 -0
  748. package/dist/types/index.d.ts +69 -0
  749. package/dist/types/index.d.ts.map +1 -0
  750. package/dist/types/index.js +17 -0
  751. package/dist/types/index.js.map +1 -0
  752. package/dist/types/instance.d.ts +170 -0
  753. package/dist/types/instance.d.ts.map +1 -0
  754. package/dist/types/instance.js +10 -0
  755. package/dist/types/instance.js.map +1 -0
  756. package/dist/types/issue-tree-control.d.ts +109 -0
  757. package/dist/types/issue-tree-control.d.ts.map +1 -0
  758. package/dist/types/issue-tree-control.js +2 -0
  759. package/dist/types/issue-tree-control.js.map +1 -0
  760. package/dist/types/issue.d.ts +1312 -0
  761. package/dist/types/issue.d.ts.map +1 -0
  762. package/dist/types/issue.js +2 -0
  763. package/dist/types/issue.js.map +1 -0
  764. package/dist/types/live.d.ts +9 -0
  765. package/dist/types/live.d.ts.map +1 -0
  766. package/dist/types/live.js +2 -0
  767. package/dist/types/live.js.map +1 -0
  768. package/dist/types/native-finalization.d.ts +29 -0
  769. package/dist/types/native-finalization.d.ts.map +1 -0
  770. package/dist/types/native-finalization.js +2 -0
  771. package/dist/types/native-finalization.js.map +1 -0
  772. package/dist/types/pipeline.d.ts +268 -0
  773. package/dist/types/pipeline.d.ts.map +1 -0
  774. package/dist/types/pipeline.js +2 -0
  775. package/dist/types/pipeline.js.map +1 -0
  776. package/dist/types/plugin.d.ts +894 -0
  777. package/dist/types/plugin.d.ts.map +1 -0
  778. package/dist/types/plugin.js +2 -0
  779. package/dist/types/plugin.js.map +1 -0
  780. package/dist/types/project.d.ts +116 -0
  781. package/dist/types/project.d.ts.map +1 -0
  782. package/dist/types/project.js +2 -0
  783. package/dist/types/project.js.map +1 -0
  784. package/dist/types/quota.d.ts +28 -0
  785. package/dist/types/quota.d.ts.map +1 -0
  786. package/dist/types/quota.js +2 -0
  787. package/dist/types/quota.js.map +1 -0
  788. package/dist/types/resource-memberships.d.ts +26 -0
  789. package/dist/types/resource-memberships.d.ts.map +1 -0
  790. package/dist/types/resource-memberships.js +2 -0
  791. package/dist/types/resource-memberships.js.map +1 -0
  792. package/dist/types/routine.d.ts +237 -0
  793. package/dist/types/routine.d.ts.map +1 -0
  794. package/dist/types/routine.js +2 -0
  795. package/dist/types/routine.js.map +1 -0
  796. package/dist/types/runtime-exposure.d.ts +74 -0
  797. package/dist/types/runtime-exposure.d.ts.map +1 -0
  798. package/dist/types/runtime-exposure.js +12 -0
  799. package/dist/types/runtime-exposure.js.map +1 -0
  800. package/dist/types/search.d.ts +135 -0
  801. package/dist/types/search.d.ts.map +1 -0
  802. package/dist/types/search.js +6 -0
  803. package/dist/types/search.js.map +1 -0
  804. package/dist/types/secrets.d.ts +374 -0
  805. package/dist/types/secrets.d.ts.map +1 -0
  806. package/dist/types/secrets.js +2 -0
  807. package/dist/types/secrets.js.map +1 -0
  808. package/dist/types/server-info.d.ts +27 -0
  809. package/dist/types/server-info.d.ts.map +1 -0
  810. package/dist/types/server-info.js +2 -0
  811. package/dist/types/server-info.js.map +1 -0
  812. package/dist/types/sidebar-badges.d.ts +7 -0
  813. package/dist/types/sidebar-badges.d.ts.map +1 -0
  814. package/dist/types/sidebar-badges.js +2 -0
  815. package/dist/types/sidebar-badges.js.map +1 -0
  816. package/dist/types/sidebar-preferences.d.ts +5 -0
  817. package/dist/types/sidebar-preferences.d.ts.map +1 -0
  818. package/dist/types/sidebar-preferences.js +2 -0
  819. package/dist/types/sidebar-preferences.js.map +1 -0
  820. package/dist/types/smoke-lab.d.ts +41 -0
  821. package/dist/types/smoke-lab.d.ts.map +1 -0
  822. package/dist/types/smoke-lab.js +5 -0
  823. package/dist/types/smoke-lab.js.map +1 -0
  824. package/dist/types/summary-slot.d.ts +91 -0
  825. package/dist/types/summary-slot.d.ts.map +1 -0
  826. package/dist/types/summary-slot.js +2 -0
  827. package/dist/types/summary-slot.js.map +1 -0
  828. package/dist/types/teams-catalog.d.ts +163 -0
  829. package/dist/types/teams-catalog.d.ts.map +1 -0
  830. package/dist/types/teams-catalog.js +2 -0
  831. package/dist/types/teams-catalog.js.map +1 -0
  832. package/dist/types/tool-access.d.ts +1515 -0
  833. package/dist/types/tool-access.d.ts.map +1 -0
  834. package/dist/types/tool-access.js +13 -0
  835. package/dist/types/tool-access.js.map +1 -0
  836. package/dist/types/user-profile.d.ts +81 -0
  837. package/dist/types/user-profile.d.ts.map +1 -0
  838. package/dist/types/user-profile.js +2 -0
  839. package/dist/types/user-profile.js.map +1 -0
  840. package/dist/types/work-product.d.ts +57 -0
  841. package/dist/types/work-product.d.ts.map +1 -0
  842. package/dist/types/work-product.js +2 -0
  843. package/dist/types/work-product.js.map +1 -0
  844. package/dist/types/work-timeline.d.ts +77 -0
  845. package/dist/types/work-timeline.d.ts.map +1 -0
  846. package/dist/types/work-timeline.js +2 -0
  847. package/dist/types/work-timeline.js.map +1 -0
  848. package/dist/types/workspace-file-resource.d.ts +138 -0
  849. package/dist/types/workspace-file-resource.d.ts.map +1 -0
  850. package/dist/types/workspace-file-resource.js +2 -0
  851. package/dist/types/workspace-file-resource.js.map +1 -0
  852. package/dist/types/workspace-operation.d.ts +27 -0
  853. package/dist/types/workspace-operation.d.ts.map +1 -0
  854. package/dist/types/workspace-operation.js +2 -0
  855. package/dist/types/workspace-operation.js.map +1 -0
  856. package/dist/types/workspace-readiness.d.ts +74 -0
  857. package/dist/types/workspace-readiness.d.ts.map +1 -0
  858. package/dist/types/workspace-readiness.js +28 -0
  859. package/dist/types/workspace-readiness.js.map +1 -0
  860. package/dist/types/workspace-runtime.d.ts +365 -0
  861. package/dist/types/workspace-runtime.d.ts.map +1 -0
  862. package/dist/types/workspace-runtime.js +2 -0
  863. package/dist/types/workspace-runtime.js.map +1 -0
  864. package/dist/validators/access.d.ts +215 -0
  865. package/dist/validators/access.d.ts.map +1 -0
  866. package/dist/validators/access.js +146 -0
  867. package/dist/validators/access.js.map +1 -0
  868. package/dist/validators/access.test.d.ts +2 -0
  869. package/dist/validators/access.test.d.ts.map +1 -0
  870. package/dist/validators/access.test.js +166 -0
  871. package/dist/validators/access.test.js.map +1 -0
  872. package/dist/validators/adapter-auth-session.d.ts +118 -0
  873. package/dist/validators/adapter-auth-session.d.ts.map +1 -0
  874. package/dist/validators/adapter-auth-session.js +37 -0
  875. package/dist/validators/adapter-auth-session.js.map +1 -0
  876. package/dist/validators/adapter-registry.d.ts +21 -0
  877. package/dist/validators/adapter-registry.d.ts.map +1 -0
  878. package/dist/validators/adapter-registry.js +14 -0
  879. package/dist/validators/adapter-registry.js.map +1 -0
  880. package/dist/validators/adapter-registry.test.d.ts +2 -0
  881. package/dist/validators/adapter-registry.test.d.ts.map +1 -0
  882. package/dist/validators/adapter-registry.test.js +31 -0
  883. package/dist/validators/adapter-registry.test.js.map +1 -0
  884. package/dist/validators/adapter-skills.d.ts +114 -0
  885. package/dist/validators/adapter-skills.d.ts.map +1 -0
  886. package/dist/validators/adapter-skills.js +62 -0
  887. package/dist/validators/adapter-skills.js.map +1 -0
  888. package/dist/validators/agent.d.ts +884 -0
  889. package/dist/validators/agent.d.ts.map +1 -0
  890. package/dist/validators/agent.js +224 -0
  891. package/dist/validators/agent.js.map +1 -0
  892. package/dist/validators/app-definition.d.ts +965 -0
  893. package/dist/validators/app-definition.d.ts.map +1 -0
  894. package/dist/validators/app-definition.js +39 -0
  895. package/dist/validators/app-definition.js.map +1 -0
  896. package/dist/validators/approval.d.ts +30 -0
  897. package/dist/validators/approval.d.ts.map +1 -0
  898. package/dist/validators/approval.js +22 -0
  899. package/dist/validators/approval.js.map +1 -0
  900. package/dist/validators/approval.test.d.ts +2 -0
  901. package/dist/validators/approval.test.d.ts.map +1 -0
  902. package/dist/validators/approval.test.js +25 -0
  903. package/dist/validators/approval.test.js.map +1 -0
  904. package/dist/validators/artifact.d.ts +305 -0
  905. package/dist/validators/artifact.d.ts.map +1 -0
  906. package/dist/validators/artifact.js +71 -0
  907. package/dist/validators/artifact.js.map +1 -0
  908. package/dist/validators/artifact.test.d.ts +2 -0
  909. package/dist/validators/artifact.test.d.ts.map +1 -0
  910. package/dist/validators/artifact.test.js +76 -0
  911. package/dist/validators/artifact.test.js.map +1 -0
  912. package/dist/validators/asset.d.ts +21 -0
  913. package/dist/validators/asset.d.ts.map +1 -0
  914. package/dist/validators/asset.js +70 -0
  915. package/dist/validators/asset.js.map +1 -0
  916. package/dist/validators/asset.test.d.ts +2 -0
  917. package/dist/validators/asset.test.d.ts.map +1 -0
  918. package/dist/validators/asset.test.js +130 -0
  919. package/dist/validators/asset.test.js.map +1 -0
  920. package/dist/validators/budget.d.ts +32 -0
  921. package/dist/validators/budget.d.ts.map +1 -0
  922. package/dist/validators/budget.js +27 -0
  923. package/dist/validators/budget.js.map +1 -0
  924. package/dist/validators/chat-channels.d.ts +215 -0
  925. package/dist/validators/chat-channels.d.ts.map +1 -0
  926. package/dist/validators/chat-channels.js +181 -0
  927. package/dist/validators/chat-channels.js.map +1 -0
  928. package/dist/validators/chat-channels.test.d.ts +2 -0
  929. package/dist/validators/chat-channels.test.d.ts.map +1 -0
  930. package/dist/validators/chat-channels.test.js +84 -0
  931. package/dist/validators/chat-channels.test.js.map +1 -0
  932. package/dist/validators/chat-github.d.ts +315 -0
  933. package/dist/validators/chat-github.d.ts.map +1 -0
  934. package/dist/validators/chat-github.js +149 -0
  935. package/dist/validators/chat-github.js.map +1 -0
  936. package/dist/validators/claude-setup-token-session.d.ts +160 -0
  937. package/dist/validators/claude-setup-token-session.d.ts.map +1 -0
  938. package/dist/validators/claude-setup-token-session.js +131 -0
  939. package/dist/validators/claude-setup-token-session.js.map +1 -0
  940. package/dist/validators/claude-setup-token-session.test.d.ts +2 -0
  941. package/dist/validators/claude-setup-token-session.test.d.ts.map +1 -0
  942. package/dist/validators/claude-setup-token-session.test.js +107 -0
  943. package/dist/validators/claude-setup-token-session.test.js.map +1 -0
  944. package/dist/validators/company-portability.d.ts +913 -0
  945. package/dist/validators/company-portability.d.ts.map +1 -0
  946. package/dist/validators/company-portability.js +301 -0
  947. package/dist/validators/company-portability.js.map +1 -0
  948. package/dist/validators/company-skill.d.ts +1450 -0
  949. package/dist/validators/company-skill.d.ts.map +1 -0
  950. package/dist/validators/company-skill.js +520 -0
  951. package/dist/validators/company-skill.js.map +1 -0
  952. package/dist/validators/company-skill.test.d.ts +2 -0
  953. package/dist/validators/company-skill.test.d.ts.map +1 -0
  954. package/dist/validators/company-skill.test.js +165 -0
  955. package/dist/validators/company-skill.test.js.map +1 -0
  956. package/dist/validators/company.d.ts +198 -0
  957. package/dist/validators/company.d.ts.map +1 -0
  958. package/dist/validators/company.js +46 -0
  959. package/dist/validators/company.js.map +1 -0
  960. package/dist/validators/company.test.d.ts +2 -0
  961. package/dist/validators/company.test.d.ts.map +1 -0
  962. package/dist/validators/company.test.js +60 -0
  963. package/dist/validators/company.test.js.map +1 -0
  964. package/dist/validators/connection-intent.d.ts +18 -0
  965. package/dist/validators/connection-intent.d.ts.map +1 -0
  966. package/dist/validators/connection-intent.js +14 -0
  967. package/dist/validators/connection-intent.js.map +1 -0
  968. package/dist/validators/connection-intent.test.d.ts +2 -0
  969. package/dist/validators/connection-intent.test.d.ts.map +1 -0
  970. package/dist/validators/connection-intent.test.js +55 -0
  971. package/dist/validators/connection-intent.test.js.map +1 -0
  972. package/dist/validators/cost.d.ts +69 -0
  973. package/dist/validators/cost.d.ts.map +1 -0
  974. package/dist/validators/cost.js +27 -0
  975. package/dist/validators/cost.js.map +1 -0
  976. package/dist/validators/decision-queue.d.ts +90 -0
  977. package/dist/validators/decision-queue.d.ts.map +1 -0
  978. package/dist/validators/decision-queue.js +60 -0
  979. package/dist/validators/decision-queue.js.map +1 -0
  980. package/dist/validators/decision.d.ts +403 -0
  981. package/dist/validators/decision.d.ts.map +1 -0
  982. package/dist/validators/decision.js +130 -0
  983. package/dist/validators/decision.js.map +1 -0
  984. package/dist/validators/document-annotation.d.ts +74 -0
  985. package/dist/validators/document-annotation.d.ts.map +1 -0
  986. package/dist/validators/document-annotation.js +53 -0
  987. package/dist/validators/document-annotation.js.map +1 -0
  988. package/dist/validators/email.d.ts +43 -0
  989. package/dist/validators/email.d.ts.map +1 -0
  990. package/dist/validators/email.js +70 -0
  991. package/dist/validators/email.js.map +1 -0
  992. package/dist/validators/environment-custom-images.d.ts +140 -0
  993. package/dist/validators/environment-custom-images.d.ts.map +1 -0
  994. package/dist/validators/environment-custom-images.js +80 -0
  995. package/dist/validators/environment-custom-images.js.map +1 -0
  996. package/dist/validators/environment.d.ts +129 -0
  997. package/dist/validators/environment.d.ts.map +1 -0
  998. package/dist/validators/environment.js +35 -0
  999. package/dist/validators/environment.js.map +1 -0
  1000. package/dist/validators/execution-workspace.d.ts +304 -0
  1001. package/dist/validators/execution-workspace.d.ts.map +1 -0
  1002. package/dist/validators/execution-workspace.js +161 -0
  1003. package/dist/validators/execution-workspace.js.map +1 -0
  1004. package/dist/validators/external-object.d.ts +70 -0
  1005. package/dist/validators/external-object.d.ts.map +1 -0
  1006. package/dist/validators/external-object.js +25 -0
  1007. package/dist/validators/external-object.js.map +1 -0
  1008. package/dist/validators/feedback.d.ts +35 -0
  1009. package/dist/validators/feedback.d.ts.map +1 -0
  1010. package/dist/validators/feedback.js +14 -0
  1011. package/dist/validators/feedback.js.map +1 -0
  1012. package/dist/validators/finance.d.ts +126 -0
  1013. package/dist/validators/finance.d.ts.map +1 -0
  1014. package/dist/validators/finance.js +32 -0
  1015. package/dist/validators/finance.js.map +1 -0
  1016. package/dist/validators/folder.d.ts +108 -0
  1017. package/dist/validators/folder.d.ts.map +1 -0
  1018. package/dist/validators/folder.js +56 -0
  1019. package/dist/validators/folder.js.map +1 -0
  1020. package/dist/validators/goal.d.ts +40 -0
  1021. package/dist/validators/goal.d.ts.map +1 -0
  1022. package/dist/validators/goal.js +13 -0
  1023. package/dist/validators/goal.js.map +1 -0
  1024. package/dist/validators/inbox-agent-policy.d.ts +16 -0
  1025. package/dist/validators/inbox-agent-policy.d.ts.map +1 -0
  1026. package/dist/validators/inbox-agent-policy.js +15 -0
  1027. package/dist/validators/inbox-agent-policy.js.map +1 -0
  1028. package/dist/validators/index.d.ts +50 -0
  1029. package/dist/validators/index.d.ts.map +1 -0
  1030. package/dist/validators/index.js +50 -0
  1031. package/dist/validators/index.js.map +1 -0
  1032. package/dist/validators/instance.d.ts +200 -0
  1033. package/dist/validators/instance.d.ts.map +1 -0
  1034. package/dist/validators/instance.js +112 -0
  1035. package/dist/validators/instance.js.map +1 -0
  1036. package/dist/validators/instance.test.d.ts +2 -0
  1037. package/dist/validators/instance.test.d.ts.map +1 -0
  1038. package/dist/validators/instance.test.js +137 -0
  1039. package/dist/validators/instance.test.js.map +1 -0
  1040. package/dist/validators/issue-tree-control.d.ts +61 -0
  1041. package/dist/validators/issue-tree-control.d.ts.map +1 -0
  1042. package/dist/validators/issue-tree-control.js +31 -0
  1043. package/dist/validators/issue-tree-control.js.map +1 -0
  1044. package/dist/validators/issue.d.ts +3028 -0
  1045. package/dist/validators/issue.d.ts.map +1 -0
  1046. package/dist/validators/issue.js +1824 -0
  1047. package/dist/validators/issue.js.map +1 -0
  1048. package/dist/validators/issue.test.d.ts +2 -0
  1049. package/dist/validators/issue.test.d.ts.map +1 -0
  1050. package/dist/validators/issue.test.js +454 -0
  1051. package/dist/validators/issue.test.js.map +1 -0
  1052. package/dist/validators/native-finalization.d.ts +91 -0
  1053. package/dist/validators/native-finalization.d.ts.map +1 -0
  1054. package/dist/validators/native-finalization.js +33 -0
  1055. package/dist/validators/native-finalization.js.map +1 -0
  1056. package/dist/validators/native-finalization.test.d.ts +2 -0
  1057. package/dist/validators/native-finalization.test.d.ts.map +1 -0
  1058. package/dist/validators/native-finalization.test.js +52 -0
  1059. package/dist/validators/native-finalization.test.js.map +1 -0
  1060. package/dist/validators/onboarding-seed.d.ts +30 -0
  1061. package/dist/validators/onboarding-seed.d.ts.map +1 -0
  1062. package/dist/validators/onboarding-seed.js +33 -0
  1063. package/dist/validators/onboarding-seed.js.map +1 -0
  1064. package/dist/validators/partial.d.ts +4 -0
  1065. package/dist/validators/partial.d.ts.map +1 -0
  1066. package/dist/validators/partial.js +35 -0
  1067. package/dist/validators/partial.js.map +1 -0
  1068. package/dist/validators/pipeline.d.ts +358 -0
  1069. package/dist/validators/pipeline.d.ts.map +1 -0
  1070. package/dist/validators/pipeline.js +133 -0
  1071. package/dist/validators/pipeline.js.map +1 -0
  1072. package/dist/validators/plugin.d.ts +1257 -0
  1073. package/dist/validators/plugin.d.ts.map +1 -0
  1074. package/dist/validators/plugin.js +1067 -0
  1075. package/dist/validators/plugin.js.map +1 -0
  1076. package/dist/validators/plugin.test.d.ts +2 -0
  1077. package/dist/validators/plugin.test.d.ts.map +1 -0
  1078. package/dist/validators/plugin.test.js +352 -0
  1079. package/dist/validators/plugin.test.js.map +1 -0
  1080. package/dist/validators/project.d.ts +510 -0
  1081. package/dist/validators/project.d.ts.map +1 -0
  1082. package/dist/validators/project.js +111 -0
  1083. package/dist/validators/project.js.map +1 -0
  1084. package/dist/validators/provider-trace.d.ts +135 -0
  1085. package/dist/validators/provider-trace.d.ts.map +1 -0
  1086. package/dist/validators/provider-trace.js +108 -0
  1087. package/dist/validators/provider-trace.js.map +1 -0
  1088. package/dist/validators/resource-memberships.d.ts +18 -0
  1089. package/dist/validators/resource-memberships.d.ts.map +1 -0
  1090. package/dist/validators/resource-memberships.js +16 -0
  1091. package/dist/validators/resource-memberships.js.map +1 -0
  1092. package/dist/validators/routine.d.ts +566 -0
  1093. package/dist/validators/routine.d.ts.map +1 -0
  1094. package/dist/validators/routine.js +151 -0
  1095. package/dist/validators/routine.js.map +1 -0
  1096. package/dist/validators/routine.test.d.ts +2 -0
  1097. package/dist/validators/routine.test.d.ts.map +1 -0
  1098. package/dist/validators/routine.test.js +115 -0
  1099. package/dist/validators/routine.test.js.map +1 -0
  1100. package/dist/validators/runtime-exposure.d.ts +100 -0
  1101. package/dist/validators/runtime-exposure.d.ts.map +1 -0
  1102. package/dist/validators/runtime-exposure.js +138 -0
  1103. package/dist/validators/runtime-exposure.js.map +1 -0
  1104. package/dist/validators/runtime-exposure.test.d.ts +2 -0
  1105. package/dist/validators/runtime-exposure.test.d.ts.map +1 -0
  1106. package/dist/validators/runtime-exposure.test.js +112 -0
  1107. package/dist/validators/runtime-exposure.test.js.map +1 -0
  1108. package/dist/validators/search.d.ts +40 -0
  1109. package/dist/validators/search.d.ts.map +1 -0
  1110. package/dist/validators/search.js +233 -0
  1111. package/dist/validators/search.js.map +1 -0
  1112. package/dist/validators/secret.d.ts +359 -0
  1113. package/dist/validators/secret.d.ts.map +1 -0
  1114. package/dist/validators/secret.js +344 -0
  1115. package/dist/validators/secret.js.map +1 -0
  1116. package/dist/validators/secret.test.d.ts +2 -0
  1117. package/dist/validators/secret.test.d.ts.map +1 -0
  1118. package/dist/validators/secret.test.js +208 -0
  1119. package/dist/validators/secret.test.js.map +1 -0
  1120. package/dist/validators/sidebar-preferences.d.ts +10 -0
  1121. package/dist/validators/sidebar-preferences.d.ts.map +1 -0
  1122. package/dist/validators/sidebar-preferences.js +10 -0
  1123. package/dist/validators/sidebar-preferences.js.map +1 -0
  1124. package/dist/validators/skill-policy.d.ts +248 -0
  1125. package/dist/validators/skill-policy.d.ts.map +1 -0
  1126. package/dist/validators/skill-policy.js +123 -0
  1127. package/dist/validators/skill-policy.js.map +1 -0
  1128. package/dist/validators/skill-policy.test.d.ts +2 -0
  1129. package/dist/validators/skill-policy.test.d.ts.map +1 -0
  1130. package/dist/validators/skill-policy.test.js +92 -0
  1131. package/dist/validators/skill-policy.test.js.map +1 -0
  1132. package/dist/validators/smoke-lab.d.ts +67 -0
  1133. package/dist/validators/smoke-lab.d.ts.map +1 -0
  1134. package/dist/validators/smoke-lab.js +23 -0
  1135. package/dist/validators/smoke-lab.js.map +1 -0
  1136. package/dist/validators/status-card.d.ts +329 -0
  1137. package/dist/validators/status-card.d.ts.map +1 -0
  1138. package/dist/validators/status-card.js +166 -0
  1139. package/dist/validators/status-card.js.map +1 -0
  1140. package/dist/validators/status-card.test.d.ts +2 -0
  1141. package/dist/validators/status-card.test.d.ts.map +1 -0
  1142. package/dist/validators/status-card.test.js +23 -0
  1143. package/dist/validators/status-card.test.js.map +1 -0
  1144. package/dist/validators/summary-slot.d.ts +46 -0
  1145. package/dist/validators/summary-slot.d.ts.map +1 -0
  1146. package/dist/validators/summary-slot.js +51 -0
  1147. package/dist/validators/summary-slot.js.map +1 -0
  1148. package/dist/validators/teams-catalog.d.ts +322 -0
  1149. package/dist/validators/teams-catalog.d.ts.map +1 -0
  1150. package/dist/validators/teams-catalog.js +147 -0
  1151. package/dist/validators/teams-catalog.js.map +1 -0
  1152. package/dist/validators/text.d.ts +4 -0
  1153. package/dist/validators/text.d.ts.map +1 -0
  1154. package/dist/validators/text.js +9 -0
  1155. package/dist/validators/text.js.map +1 -0
  1156. package/dist/validators/tool-access.d.ts +1925 -0
  1157. package/dist/validators/tool-access.d.ts.map +1 -0
  1158. package/dist/validators/tool-access.js +819 -0
  1159. package/dist/validators/tool-access.js.map +1 -0
  1160. package/dist/validators/tool-access.test.d.ts +2 -0
  1161. package/dist/validators/tool-access.test.d.ts.map +1 -0
  1162. package/dist/validators/tool-access.test.js +172 -0
  1163. package/dist/validators/tool-access.test.js.map +1 -0
  1164. package/dist/validators/trust-policy.d.ts +120 -0
  1165. package/dist/validators/trust-policy.d.ts.map +1 -0
  1166. package/dist/validators/trust-policy.js +59 -0
  1167. package/dist/validators/trust-policy.js.map +1 -0
  1168. package/dist/validators/trust-policy.test.d.ts +2 -0
  1169. package/dist/validators/trust-policy.test.d.ts.map +1 -0
  1170. package/dist/validators/trust-policy.test.js +26 -0
  1171. package/dist/validators/trust-policy.test.js.map +1 -0
  1172. package/dist/validators/work-product.d.ts +178 -0
  1173. package/dist/validators/work-product.d.ts.map +1 -0
  1174. package/dist/validators/work-product.js +88 -0
  1175. package/dist/validators/work-product.js.map +1 -0
  1176. package/dist/validators/work-product.test.d.ts +2 -0
  1177. package/dist/validators/work-product.test.d.ts.map +1 -0
  1178. package/dist/validators/work-product.test.js +38 -0
  1179. package/dist/validators/work-product.test.js.map +1 -0
  1180. package/dist/validators/workspace-file-resource.d.ts +268 -0
  1181. package/dist/validators/workspace-file-resource.d.ts.map +1 -0
  1182. package/dist/validators/workspace-file-resource.js +116 -0
  1183. package/dist/validators/workspace-file-resource.js.map +1 -0
  1184. package/dist/work-product.test.d.ts +2 -0
  1185. package/dist/work-product.test.d.ts.map +1 -0
  1186. package/dist/work-product.test.js +120 -0
  1187. package/dist/work-product.test.js.map +1 -0
  1188. package/dist/workspace-commands.d.ts +9 -0
  1189. package/dist/workspace-commands.d.ts.map +1 -0
  1190. package/dist/workspace-commands.js +177 -0
  1191. package/dist/workspace-commands.js.map +1 -0
  1192. package/dist/workspace-commands.test.d.ts +2 -0
  1193. package/dist/workspace-commands.test.d.ts.map +1 -0
  1194. package/dist/workspace-commands.test.js +155 -0
  1195. package/dist/workspace-commands.test.js.map +1 -0
  1196. package/dist/workspace-file-resource.test.d.ts +2 -0
  1197. package/dist/workspace-file-resource.test.d.ts.map +1 -0
  1198. package/dist/workspace-file-resource.test.js +52 -0
  1199. package/dist/workspace-file-resource.test.js.map +1 -0
  1200. package/dist/worktree-port-registry.d.ts +5 -0
  1201. package/dist/worktree-port-registry.d.ts.map +1 -0
  1202. package/dist/worktree-port-registry.js +382 -0
  1203. package/dist/worktree-port-registry.js.map +1 -0
  1204. package/dist/worktree-port-registry.test.d.ts +2 -0
  1205. package/dist/worktree-port-registry.test.d.ts.map +1 -0
  1206. package/dist/worktree-port-registry.test.js +118 -0
  1207. package/dist/worktree-port-registry.test.js.map +1 -0
  1208. package/dist/worktree-seed-source.d.ts +43 -0
  1209. package/dist/worktree-seed-source.d.ts.map +1 -0
  1210. package/dist/worktree-seed-source.js +180 -0
  1211. package/dist/worktree-seed-source.js.map +1 -0
  1212. package/dist/worktree-seed-source.test.d.ts +2 -0
  1213. package/dist/worktree-seed-source.test.d.ts.map +1 -0
  1214. package/dist/worktree-seed-source.test.js +166 -0
  1215. package/dist/worktree-seed-source.test.js.map +1 -0
  1216. package/package.json +54 -0
@@ -0,0 +1,105 @@
1
+ import { z } from "zod";
2
+ export declare const RUNNER_GOAL_MAX_OBJECTIVE_CHARS = 4000;
3
+ export declare const runnerGoalAvailabilitySchema: z.ZodEnum<{
4
+ available: "available";
5
+ policy_disabled: "policy_disabled";
6
+ unsupported: "unsupported";
7
+ }>;
8
+ export type RunnerGoalAvailability = z.infer<typeof runnerGoalAvailabilitySchema>;
9
+ export declare const runnerGoalCapabilityActionSchema: z.ZodEnum<{
10
+ clear: "clear";
11
+ pause: "pause";
12
+ resume: "resume";
13
+ set: "set";
14
+ }>;
15
+ export type RunnerGoalCapabilityAction = z.infer<typeof runnerGoalCapabilityActionSchema>;
16
+ export declare const runnerGoalStatusSchema: z.ZodEnum<{
17
+ active: "active";
18
+ blocked: "blocked";
19
+ budget_limited: "budget_limited";
20
+ complete: "complete";
21
+ limited: "limited";
22
+ paused: "paused";
23
+ usage_limited: "usage_limited";
24
+ }>;
25
+ export type RunnerGoalStatus = z.infer<typeof runnerGoalStatusSchema>;
26
+ export declare const runnerGoalActionSchema: z.ZodEnum<{
27
+ clear: "clear";
28
+ create: "create";
29
+ edit: "edit";
30
+ pause: "pause";
31
+ replace: "replace";
32
+ resume: "resume";
33
+ }>;
34
+ export type RunnerGoalAction = z.infer<typeof runnerGoalActionSchema>;
35
+ export declare const runnerGoalPendingActionSchema: z.ZodEnum<{
36
+ clearing: "clearing";
37
+ continuing: "continuing";
38
+ editing: "editing";
39
+ pausing: "pausing";
40
+ replacing: "replacing";
41
+ resuming: "resuming";
42
+ starting: "starting";
43
+ }>;
44
+ export type RunnerGoalPendingAction = z.infer<typeof runnerGoalPendingActionSchema>;
45
+ export interface RunnerGoalCapability {
46
+ availability: RunnerGoalAvailability;
47
+ verified?: boolean;
48
+ actions: RunnerGoalCapabilityAction[];
49
+ autonomousUpdates: boolean;
50
+ persistentAcrossResume: boolean;
51
+ maxObjectiveChars: number;
52
+ tokenBudgetControl: boolean;
53
+ usageReporting: boolean;
54
+ reasonCode?: string | null;
55
+ reason?: string | null;
56
+ }
57
+ export interface RunnerGoalSnapshot {
58
+ objective: string;
59
+ status: RunnerGoalStatus;
60
+ tokenBudget: number | null;
61
+ tokensUsed: number;
62
+ elapsedSeconds: number;
63
+ iterations: number;
64
+ lastReason: string | null;
65
+ createdAt: string | null;
66
+ updatedAt: string | null;
67
+ completedAt: string | null;
68
+ workingNow: boolean;
69
+ }
70
+ export interface RunnerGoalProjection {
71
+ issueId: string;
72
+ agentId: string | null;
73
+ adapterType: string | null;
74
+ sessionId: string | null;
75
+ capability: RunnerGoalCapability;
76
+ goal: RunnerGoalSnapshot | null;
77
+ workingNow: boolean;
78
+ activeRunId: string | null;
79
+ pendingAction: RunnerGoalPendingAction | null;
80
+ revision: number;
81
+ observedAt: string | null;
82
+ }
83
+ export declare const runnerGoalActionRequestSchema: z.ZodObject<{
84
+ requestId: z.ZodString;
85
+ agentId: z.ZodString;
86
+ expectedRevision: z.ZodNumber;
87
+ action: z.ZodEnum<{
88
+ clear: "clear";
89
+ create: "create";
90
+ edit: "edit";
91
+ pause: "pause";
92
+ replace: "replace";
93
+ resume: "resume";
94
+ }>;
95
+ objective: z.ZodOptional<z.ZodString>;
96
+ tokenBudget: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
97
+ confirmReplace: z.ZodOptional<z.ZodBoolean>;
98
+ }, z.core.$strip>;
99
+ export type RunnerGoalActionRequest = z.infer<typeof runnerGoalActionRequestSchema>;
100
+ export interface RunnerGoalActionAccepted {
101
+ requestId: string;
102
+ status: "accepted" | "pending" | "completed" | "failed";
103
+ projection: RunnerGoalProjection;
104
+ }
105
+ //# sourceMappingURL=runner-goal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-goal.d.ts","sourceRoot":"","sources":["../src/runner-goal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAErD,eAAO,MAAM,4BAA4B;;;;EAIvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,gCAAgC;;;;;EAA8C,CAAC;AAC5F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,sBAAsB;;;;;;;;EAQjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;;;;;EAOjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,6BAA6B;;;;;;;;EAQxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,sBAAsB,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,oBAAoB,CAAC;IACjC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAQD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAiCtC,CAAC;AAEL,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxD,UAAU,EAAE,oBAAoB,CAAC;CAClC"}
@@ -0,0 +1,74 @@
1
+ import { z } from "zod";
2
+ export const RUNNER_GOAL_MAX_OBJECTIVE_CHARS = 4_000;
3
+ export const runnerGoalAvailabilitySchema = z.enum([
4
+ "available",
5
+ "unsupported",
6
+ "policy_disabled",
7
+ ]);
8
+ export const runnerGoalCapabilityActionSchema = z.enum(["set", "pause", "resume", "clear"]);
9
+ export const runnerGoalStatusSchema = z.enum([
10
+ "active",
11
+ "paused",
12
+ "blocked",
13
+ "limited",
14
+ "usage_limited",
15
+ "budget_limited",
16
+ "complete",
17
+ ]);
18
+ export const runnerGoalActionSchema = z.enum([
19
+ "create",
20
+ "edit",
21
+ "replace",
22
+ "pause",
23
+ "resume",
24
+ "clear",
25
+ ]);
26
+ export const runnerGoalPendingActionSchema = z.enum([
27
+ "starting",
28
+ "editing",
29
+ "replacing",
30
+ "pausing",
31
+ "resuming",
32
+ "clearing",
33
+ "continuing",
34
+ ]);
35
+ const objectiveSchema = z
36
+ .string()
37
+ .trim()
38
+ .min(1)
39
+ .max(RUNNER_GOAL_MAX_OBJECTIVE_CHARS);
40
+ export const runnerGoalActionRequestSchema = z
41
+ .object({
42
+ requestId: z.string().trim().min(1).max(160),
43
+ agentId: z.string().uuid(),
44
+ expectedRevision: z.number().int().nonnegative(),
45
+ action: runnerGoalActionSchema,
46
+ objective: objectiveSchema.optional(),
47
+ tokenBudget: z.number().int().positive().nullable().optional(),
48
+ confirmReplace: z.boolean().optional(),
49
+ })
50
+ .superRefine((value, context) => {
51
+ const objectiveAction = value.action === "create" || value.action === "edit" || value.action === "replace";
52
+ if (objectiveAction && value.objective === undefined) {
53
+ context.addIssue({
54
+ code: "custom",
55
+ path: ["objective"],
56
+ message: `${value.action} requires a nonblank objective`,
57
+ });
58
+ }
59
+ if (!objectiveAction && (value.objective !== undefined || value.tokenBudget !== undefined)) {
60
+ context.addIssue({
61
+ code: "custom",
62
+ path: [value.objective !== undefined ? "objective" : "tokenBudget"],
63
+ message: `${value.action} does not accept an objective or token budget`,
64
+ });
65
+ }
66
+ if (value.action === "replace" && value.confirmReplace !== true) {
67
+ context.addIssue({
68
+ code: "custom",
69
+ path: ["confirmReplace"],
70
+ message: "replace requires explicit confirmation",
71
+ });
72
+ }
73
+ });
74
+ //# sourceMappingURL=runner-goal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-goal.js","sourceRoot":"","sources":["../src/runner-goal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Forcing a managed runtime's listeners onto loopback through argv (PAP-17256).
3
+ *
4
+ * The broker only exposes a port whose listener /proc proves to be loopback-only,
5
+ * so an exposed Paperclip dev runtime MUST bind `127.0.0.1`. The server used to
6
+ * request that with env vars alone (`PAPERCLIP_BIND` / `PAPERCLIP_BIND_HOST`),
7
+ * which is not sufficient: the process that has to honour them is the *guest
8
+ * checkout's* `scripts/dev-runner.ts`, and a checkout that predates managed
9
+ * exposure overwrites `PAPERCLIP_BIND` from its own `--bind` argv and deletes
10
+ * `PAPERCLIP_BIND_HOST` outright. A branch pinned at such a commit therefore
11
+ * bound `0.0.0.0` and every expose was correctly denied with
12
+ * `listener_ownership_mismatch`.
13
+ *
14
+ * argv is the one channel every dev-runner version honours, because each of them
15
+ * derives its bind mode from `--bind` / `--bind-host` *before* writing the child
16
+ * env. Rewriting the command is what actually makes the loopback bind binding.
17
+ *
18
+ * Pure string functions only — no I/O, no process state.
19
+ */
20
+ /** The only bind preset an exposed managed runtime may use. */
21
+ export declare const RUNTIME_EXPOSURE_BIND_MODE = "loopback";
22
+ export declare const RUNTIME_EXPOSURE_BIND_HOST = "127.0.0.1";
23
+ /** True when the command carries an explicit bind selection of any kind. */
24
+ export declare function commandSelectsBindMode(command: string): boolean;
25
+ export declare function isPaperclipDevRunnerCommand(command: string): boolean;
26
+ /**
27
+ * Rewrite a Paperclip dev-runner command so it explicitly requests the loopback
28
+ * bind, replacing whatever bind selection it carried.
29
+ *
30
+ * A command that is not a dev-runner invocation is returned untouched — see
31
+ * {@link isPaperclipDevRunnerCommand} for why that guard is not optional.
32
+ *
33
+ * The legacy `--tailscale-auth` / `--authenticated-private` aliases are
34
+ * deliberately *left in place*: an explicit `--bind` already wins over them in
35
+ * every dev-runner version, they still correctly select the authenticated
36
+ * deployment mode an exposed lane wants, and `isPaperclipDevRuntimeService`
37
+ * matches on `--tailscale-auth` as a substring, so stripping it would silently
38
+ * change readiness handling.
39
+ */
40
+ export declare function forceLoopbackBindInCommand(command: string): string;
41
+ /**
42
+ * Point a probe URL at loopback, keeping its scheme, port, and path.
43
+ *
44
+ * An exposed runtime's listener is loopback-only by construction, so probing it
45
+ * on any other host cannot work. The live config happens to declare a loopback
46
+ * readiness URL, but the fallback target is the service's display URL — a
47
+ * MagicDNS name like `http://paperclip-dev:42003` — which only ever answered
48
+ * because the guest was wrongly bound to the wildcard. Normalising here keeps
49
+ * the loopback fix from turning that latent mismatch into a readiness timeout.
50
+ */
51
+ export declare function rewriteUrlHostToLoopback(url: string | null): string | null;
52
+ //# sourceMappingURL=loopback-bind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopback-bind.d.ts","sourceRoot":"","sources":["../../src/runtime-exposure/loopback-bind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,0BAA0B,aAAa,CAAC;AACrD,eAAO,MAAM,0BAA0B,cAAc,CAAC;AAYtD,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG/D;AAcD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAU1E"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Forcing a managed runtime's listeners onto loopback through argv (PAP-17256).
3
+ *
4
+ * The broker only exposes a port whose listener /proc proves to be loopback-only,
5
+ * so an exposed Paperclip dev runtime MUST bind `127.0.0.1`. The server used to
6
+ * request that with env vars alone (`PAPERCLIP_BIND` / `PAPERCLIP_BIND_HOST`),
7
+ * which is not sufficient: the process that has to honour them is the *guest
8
+ * checkout's* `scripts/dev-runner.ts`, and a checkout that predates managed
9
+ * exposure overwrites `PAPERCLIP_BIND` from its own `--bind` argv and deletes
10
+ * `PAPERCLIP_BIND_HOST` outright. A branch pinned at such a commit therefore
11
+ * bound `0.0.0.0` and every expose was correctly denied with
12
+ * `listener_ownership_mismatch`.
13
+ *
14
+ * argv is the one channel every dev-runner version honours, because each of them
15
+ * derives its bind mode from `--bind` / `--bind-host` *before* writing the child
16
+ * env. Rewriting the command is what actually makes the loopback bind binding.
17
+ *
18
+ * Pure string functions only — no I/O, no process state.
19
+ */
20
+ /** The only bind preset an exposed managed runtime may use. */
21
+ export const RUNTIME_EXPOSURE_BIND_MODE = "loopback";
22
+ export const RUNTIME_EXPOSURE_BIND_HOST = "127.0.0.1";
23
+ /**
24
+ * `--bind <mode>` / `--bind-host <host>`, in both the space- and `=`-separated
25
+ * spellings. Each takes exactly one value, and a value is never another flag.
26
+ */
27
+ const BIND_SELECTING_ARG = /(?:^|\s)--bind(?:-host)?(?:=|\s+)(?!--)[^\s]+/g;
28
+ /** Legacy aliases for `--bind lan`; they select a non-loopback bind. */
29
+ const LEGACY_LAN_ALIASES = /(?:^|\s)--(?:tailscale-auth|authenticated-private)(?=\s|$)/g;
30
+ /** True when the command carries an explicit bind selection of any kind. */
31
+ export function commandSelectsBindMode(command) {
32
+ return new RegExp(BIND_SELECTING_ARG.source).test(command)
33
+ || new RegExp(LEGACY_LAN_ALIASES.source).test(command);
34
+ }
35
+ /**
36
+ * A Paperclip dev-runner invocation — the only shape that understands
37
+ * `--bind` / `--bind-host`.
38
+ *
39
+ * Deliberately keyed on the *command*, not the service name. `--bind` means
40
+ * something entirely different to an unrelated process (the HTTPS probe canaries
41
+ * pass it to `python3 -m http.server`), and appending flags a command does not
42
+ * parse turns a working service into one that exits on startup.
43
+ */
44
+ const PAPERCLIP_DEV_RUNNER_COMMAND = /(?:^|[\s;&|])(?:(?:pnpm|npm|yarn|bun)(?:\s+run)?\s+dev(?::once|:watch|:server)?(?=\s|$)|[^\s]*dev-runner(?:\.[cm]?[jt]s)?(?=\s|$))/;
45
+ export function isPaperclipDevRunnerCommand(command) {
46
+ return PAPERCLIP_DEV_RUNNER_COMMAND.test(command);
47
+ }
48
+ /**
49
+ * Rewrite a Paperclip dev-runner command so it explicitly requests the loopback
50
+ * bind, replacing whatever bind selection it carried.
51
+ *
52
+ * A command that is not a dev-runner invocation is returned untouched — see
53
+ * {@link isPaperclipDevRunnerCommand} for why that guard is not optional.
54
+ *
55
+ * The legacy `--tailscale-auth` / `--authenticated-private` aliases are
56
+ * deliberately *left in place*: an explicit `--bind` already wins over them in
57
+ * every dev-runner version, they still correctly select the authenticated
58
+ * deployment mode an exposed lane wants, and `isPaperclipDevRuntimeService`
59
+ * matches on `--tailscale-auth` as a substring, so stripping it would silently
60
+ * change readiness handling.
61
+ */
62
+ export function forceLoopbackBindInCommand(command) {
63
+ if (!isPaperclipDevRunnerCommand(command))
64
+ return command;
65
+ const stripped = command.replace(BIND_SELECTING_ARG, "").trim();
66
+ if (stripped.length === 0)
67
+ return command;
68
+ return `${stripped} --bind ${RUNTIME_EXPOSURE_BIND_MODE}`;
69
+ }
70
+ /**
71
+ * Point a probe URL at loopback, keeping its scheme, port, and path.
72
+ *
73
+ * An exposed runtime's listener is loopback-only by construction, so probing it
74
+ * on any other host cannot work. The live config happens to declare a loopback
75
+ * readiness URL, but the fallback target is the service's display URL — a
76
+ * MagicDNS name like `http://paperclip-dev:42003` — which only ever answered
77
+ * because the guest was wrongly bound to the wildcard. Normalising here keeps
78
+ * the loopback fix from turning that latent mismatch into a readiness timeout.
79
+ */
80
+ export function rewriteUrlHostToLoopback(url) {
81
+ if (!url)
82
+ return url;
83
+ try {
84
+ const parsed = new URL(url);
85
+ parsed.hostname = RUNTIME_EXPOSURE_BIND_HOST;
86
+ return parsed.toString();
87
+ }
88
+ catch {
89
+ // Not a URL we can reason about; leave it for the caller's own handling.
90
+ return url;
91
+ }
92
+ }
93
+ //# sourceMappingURL=loopback-bind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopback-bind.js","sourceRoot":"","sources":["../../src/runtime-exposure/loopback-bind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CAAC;AAEtD;;;GAGG;AACH,MAAM,kBAAkB,GACtB,gDAAgD,CAAC;AAEnD,wEAAwE;AACxE,MAAM,kBAAkB,GAAG,6DAA6D,CAAC;AAEzF,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;WACrD,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,4BAA4B,GAChC,oIAAoI,CAAC;AAEvI,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,GAAG,QAAQ,WAAW,0BAA0B,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAkB;IACzD,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,QAAQ,GAAG,0BAA0B,CAAC;QAC7C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=loopback-bind.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopback-bind.test.d.ts","sourceRoot":"","sources":["../../src/runtime-exposure/loopback-bind.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,94 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { RUNTIME_EXPOSURE_BIND_HOST, commandSelectsBindMode, forceLoopbackBindInCommand, isPaperclipDevRunnerCommand, rewriteUrlHostToLoopback, } from "./loopback-bind.js";
3
+ describe("forceLoopbackBindInCommand", () => {
4
+ it("replaces the exact command the failing managed lanes ran", () => {
5
+ // PAP-17256 reproduction: this is verbatim what `workspace_runtime_services`
6
+ // recorded for every lane the broker denied.
7
+ expect(forceLoopbackBindInCommand("pnpm dev --bind lan")).toBe("pnpm dev --bind loopback");
8
+ });
9
+ it("replaces an existing loopback-adjacent bind rather than duplicating it", () => {
10
+ expect(forceLoopbackBindInCommand("pnpm dev --bind tailnet")).toBe("pnpm dev --bind loopback");
11
+ expect(forceLoopbackBindInCommand("pnpm dev --bind custom --bind-host 10.0.0.4")).toBe("pnpm dev --bind loopback");
12
+ });
13
+ it("is idempotent, so a re-start of an already-rewritten service is stable", () => {
14
+ const once = forceLoopbackBindInCommand("pnpm dev --bind lan");
15
+ expect(forceLoopbackBindInCommand(once)).toBe(once);
16
+ });
17
+ it("handles the =-separated spelling", () => {
18
+ expect(forceLoopbackBindInCommand("pnpm dev --bind=lan --bind-host=0.0.0.0")).toBe("pnpm dev --bind loopback");
19
+ });
20
+ it("adds an explicit loopback bind when the command selects none", () => {
21
+ // A bare `pnpm dev` lets an old guest runner infer its bind from HOST, so the
22
+ // flags must be added rather than assumed.
23
+ expect(forceLoopbackBindInCommand("pnpm dev")).toBe("pnpm dev --bind loopback");
24
+ });
25
+ it("keeps the legacy lan aliases so dev-service detection still matches", () => {
26
+ // `isPaperclipDevRuntimeService` matches `--tailscale-auth` as a substring;
27
+ // an explicit `--bind` already beats the alias in every dev-runner version.
28
+ expect(forceLoopbackBindInCommand("pnpm dev:once --tailscale-auth")).toBe("pnpm dev:once --tailscale-auth --bind loopback");
29
+ });
30
+ it("never strips a value that is actually the next flag", () => {
31
+ expect(forceLoopbackBindInCommand("pnpm dev --bind --verbose")).toBe("pnpm dev --bind --verbose --bind loopback");
32
+ });
33
+ it("does not touch a --bind occurrence that is not a flag boundary", () => {
34
+ expect(forceLoopbackBindInCommand("pnpm dev --no--bind lan")).toBe("pnpm dev --no--bind lan --bind loopback");
35
+ });
36
+ it("leaves a command that does not parse these flags untouched", () => {
37
+ // The HTTPS probe canaries: rewriting this would produce nonsense, and
38
+ // appending flags to a command that cannot parse them makes it exit at boot.
39
+ const canary = 'python3 -m http.server "$PORT" --bind 127.0.0.1';
40
+ expect(forceLoopbackBindInCommand(canary)).toBe(canary);
41
+ const fixture = `node -e 'require("http").createServer().listen(1)'`;
42
+ expect(forceLoopbackBindInCommand(fixture)).toBe(fixture);
43
+ });
44
+ it("uses the loopback preset without turning it into a custom bind", () => {
45
+ expect(forceLoopbackBindInCommand("pnpm dev")).toBe("pnpm dev --bind loopback");
46
+ expect(RUNTIME_EXPOSURE_BIND_HOST).toBe("127.0.0.1");
47
+ });
48
+ });
49
+ describe("commandSelectsBindMode", () => {
50
+ it("detects both spellings and the legacy aliases", () => {
51
+ expect(commandSelectsBindMode("pnpm dev --bind lan")).toBe(true);
52
+ expect(commandSelectsBindMode("pnpm dev --bind=lan")).toBe(true);
53
+ expect(commandSelectsBindMode("pnpm dev --bind-host 10.0.0.1")).toBe(true);
54
+ expect(commandSelectsBindMode("pnpm dev:once --tailscale-auth")).toBe(true);
55
+ expect(commandSelectsBindMode("pnpm dev:once --authenticated-private")).toBe(true);
56
+ });
57
+ it("is false for a command with no bind selection", () => {
58
+ expect(commandSelectsBindMode("pnpm dev")).toBe(false);
59
+ expect(commandSelectsBindMode('python3 -m http.server "$PORT"')).toBe(false);
60
+ });
61
+ });
62
+ describe("isPaperclipDevRunnerCommand", () => {
63
+ it("matches the real managed dev commands", () => {
64
+ expect(isPaperclipDevRunnerCommand("pnpm dev --bind lan")).toBe(true);
65
+ expect(isPaperclipDevRunnerCommand("pnpm dev")).toBe(true);
66
+ expect(isPaperclipDevRunnerCommand("pnpm dev:once --tailscale-auth")).toBe(true);
67
+ expect(isPaperclipDevRunnerCommand("pnpm dev:watch")).toBe(true);
68
+ expect(isPaperclipDevRunnerCommand("npm run dev --bind lan")).toBe(true);
69
+ expect(isPaperclipDevRunnerCommand("yarn dev")).toBe(true);
70
+ expect(isPaperclipDevRunnerCommand("node /tmp/x/dev-runner.mjs --bind lan")).toBe(true);
71
+ expect(isPaperclipDevRunnerCommand("tsx ../scripts/dev-runner.ts watch")).toBe(true);
72
+ });
73
+ it("does not match unrelated commands that merely use --bind", () => {
74
+ expect(isPaperclipDevRunnerCommand('python3 -m http.server "$PORT" --bind 127.0.0.1')).toBe(false);
75
+ expect(isPaperclipDevRunnerCommand("node -e 'listen()'")).toBe(false);
76
+ expect(isPaperclipDevRunnerCommand("pnpm build")).toBe(false);
77
+ expect(isPaperclipDevRunnerCommand("pnpm develop")).toBe(false);
78
+ expect(isPaperclipDevRunnerCommand("./my-dev-runnerish --bind lan")).toBe(false);
79
+ });
80
+ });
81
+ describe("rewriteUrlHostToLoopback", () => {
82
+ it("redirects a MagicDNS probe target to loopback, keeping port and path", () => {
83
+ expect(rewriteUrlHostToLoopback("http://paperclip-dev:42003/api/health")).toBe("http://127.0.0.1:42003/api/health");
84
+ expect(rewriteUrlHostToLoopback("http://paperclip-dev:42003")).toBe("http://127.0.0.1:42003/");
85
+ });
86
+ it("leaves an already-loopback target alone", () => {
87
+ expect(rewriteUrlHostToLoopback("http://127.0.0.1:42003/api/health")).toBe("http://127.0.0.1:42003/api/health");
88
+ });
89
+ it("passes through null and unparseable values", () => {
90
+ expect(rewriteUrlHostToLoopback(null)).toBeNull();
91
+ expect(rewriteUrlHostToLoopback("not a url")).toBe("not a url");
92
+ });
93
+ });
94
+ //# sourceMappingURL=loopback-bind.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopback-bind.test.js","sourceRoot":"","sources":["../../src/runtime-exposure/loopback-bind.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Deterministic, shared port + URL derivation for the `tailscale_https`
3
+ * exposure mode. Extracted so runtime allocation, server startup, the broker,
4
+ * and tests all agree on the dedicated Paperclip runtime port range and the
5
+ * app/HMR pairing (PAP-17049 plan, PAP-17050 verdict requirement #2).
6
+ *
7
+ * Pure functions only — no I/O, no process state.
8
+ */
9
+ /**
10
+ * Dedicated, allowlisted port range for managed Paperclip runtime APP
11
+ * listeners. Ports outside this range are never eligible for exposure, which
12
+ * bounds the SSRF blast radius: a compromised caller cannot ask the broker to
13
+ * publish an arbitrary existing loopback service.
14
+ */
15
+ export declare const RUNTIME_EXPOSURE_APP_PORT_MIN = 42000;
16
+ export declare const RUNTIME_EXPOSURE_APP_PORT_MAX = 42999;
17
+ /**
18
+ * Fixed offset between an app port and its Paperclip Vite HMR companion port.
19
+ * Matches Paperclip dev mode's `server port + offset` HMR convention and keeps
20
+ * the two listeners deterministically paired.
21
+ */
22
+ export declare const RUNTIME_EXPOSURE_HMR_PORT_OFFSET = 10000;
23
+ /** Derived HMR companion port range, kept in sync with the offset above. */
24
+ export declare const RUNTIME_EXPOSURE_HMR_PORT_MIN: number;
25
+ export declare const RUNTIME_EXPOSURE_HMR_PORT_MAX: number;
26
+ /** True only for integers strictly inside the dedicated app port range. */
27
+ export declare function isRuntimeExposureAppPort(port: number): boolean;
28
+ /** True only for integers strictly inside the derived HMR companion range. */
29
+ export declare function isRuntimeExposureHmrPort(port: number): boolean;
30
+ /**
31
+ * True for any port the broker is allowed to expose (app OR HMR companion).
32
+ * Everything else — privileged/reserved ports, `443`, ephemeral, unknown — is
33
+ * deny-by-default.
34
+ */
35
+ export declare function isAllowedRuntimeExposurePort(port: number): boolean;
36
+ /**
37
+ * Derive the Vite HMR companion port for an allocated app port. Throws if the
38
+ * app port is not a valid dedicated app port so callers cannot silently pair a
39
+ * port outside the allowlist.
40
+ */
41
+ export declare function deriveViteHmrPort(appPort: number): number;
42
+ /**
43
+ * Derive Paperclip's Vite HMR companion port for any valid application port.
44
+ *
45
+ * Normal Paperclip instances can use ports outside the dedicated exposure
46
+ * range, while exposed branch runtimes are deliberately constrained to it.
47
+ * Keeping the generic derivation here prevents the app server and exposure
48
+ * allocator from drifting while preserving the historical overflow fallback.
49
+ */
50
+ export declare function derivePaperclipViteHmrPort(serverPort: number): number;
51
+ /**
52
+ * Build the canonical browser URL for an exposed app port on a resolved
53
+ * Tailscale node hostname. Uses the non-standard HTTPS port explicitly.
54
+ */
55
+ export declare function buildRuntimeExposureUrl(hostname: string, appPort: number): string;
56
+ /**
57
+ * Build the external HTTPS health-probe URL used to verify normal certificate
58
+ * validation before a runtime is reported healthy.
59
+ */
60
+ export declare function buildRuntimeExposureHealthUrl(hostname: string, appPort: number): string;
61
+ //# sourceMappingURL=ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/runtime-exposure/ports.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AACnD,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,QAAQ,CAAC;AAEtD,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,QACwB,CAAC;AACnE,eAAO,MAAM,6BAA6B,QACwB,CAAC;AAEnE,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASjF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvF"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Deterministic, shared port + URL derivation for the `tailscale_https`
3
+ * exposure mode. Extracted so runtime allocation, server startup, the broker,
4
+ * and tests all agree on the dedicated Paperclip runtime port range and the
5
+ * app/HMR pairing (PAP-17049 plan, PAP-17050 verdict requirement #2).
6
+ *
7
+ * Pure functions only — no I/O, no process state.
8
+ */
9
+ /**
10
+ * Dedicated, allowlisted port range for managed Paperclip runtime APP
11
+ * listeners. Ports outside this range are never eligible for exposure, which
12
+ * bounds the SSRF blast radius: a compromised caller cannot ask the broker to
13
+ * publish an arbitrary existing loopback service.
14
+ */
15
+ export const RUNTIME_EXPOSURE_APP_PORT_MIN = 42000;
16
+ export const RUNTIME_EXPOSURE_APP_PORT_MAX = 42999;
17
+ /**
18
+ * Fixed offset between an app port and its Paperclip Vite HMR companion port.
19
+ * Matches Paperclip dev mode's `server port + offset` HMR convention and keeps
20
+ * the two listeners deterministically paired.
21
+ */
22
+ export const RUNTIME_EXPOSURE_HMR_PORT_OFFSET = 10000;
23
+ /** Derived HMR companion port range, kept in sync with the offset above. */
24
+ export const RUNTIME_EXPOSURE_HMR_PORT_MIN = RUNTIME_EXPOSURE_APP_PORT_MIN + RUNTIME_EXPOSURE_HMR_PORT_OFFSET;
25
+ export const RUNTIME_EXPOSURE_HMR_PORT_MAX = RUNTIME_EXPOSURE_APP_PORT_MAX + RUNTIME_EXPOSURE_HMR_PORT_OFFSET;
26
+ /** True only for integers strictly inside the dedicated app port range. */
27
+ export function isRuntimeExposureAppPort(port) {
28
+ return (Number.isInteger(port) &&
29
+ port >= RUNTIME_EXPOSURE_APP_PORT_MIN &&
30
+ port <= RUNTIME_EXPOSURE_APP_PORT_MAX);
31
+ }
32
+ /** True only for integers strictly inside the derived HMR companion range. */
33
+ export function isRuntimeExposureHmrPort(port) {
34
+ return (Number.isInteger(port) &&
35
+ port >= RUNTIME_EXPOSURE_HMR_PORT_MIN &&
36
+ port <= RUNTIME_EXPOSURE_HMR_PORT_MAX);
37
+ }
38
+ /**
39
+ * True for any port the broker is allowed to expose (app OR HMR companion).
40
+ * Everything else — privileged/reserved ports, `443`, ephemeral, unknown — is
41
+ * deny-by-default.
42
+ */
43
+ export function isAllowedRuntimeExposurePort(port) {
44
+ return isRuntimeExposureAppPort(port) || isRuntimeExposureHmrPort(port);
45
+ }
46
+ /**
47
+ * Derive the Vite HMR companion port for an allocated app port. Throws if the
48
+ * app port is not a valid dedicated app port so callers cannot silently pair a
49
+ * port outside the allowlist.
50
+ */
51
+ export function deriveViteHmrPort(appPort) {
52
+ if (!isRuntimeExposureAppPort(appPort)) {
53
+ throw new RangeError(`app port ${appPort} is outside the dedicated runtime exposure range ` +
54
+ `[${RUNTIME_EXPOSURE_APP_PORT_MIN}, ${RUNTIME_EXPOSURE_APP_PORT_MAX}]`);
55
+ }
56
+ return derivePaperclipViteHmrPort(appPort);
57
+ }
58
+ /**
59
+ * Derive Paperclip's Vite HMR companion port for any valid application port.
60
+ *
61
+ * Normal Paperclip instances can use ports outside the dedicated exposure
62
+ * range, while exposed branch runtimes are deliberately constrained to it.
63
+ * Keeping the generic derivation here prevents the app server and exposure
64
+ * allocator from drifting while preserving the historical overflow fallback.
65
+ */
66
+ export function derivePaperclipViteHmrPort(serverPort) {
67
+ if (!Number.isInteger(serverPort) || serverPort < 1 || serverPort > 65_535) {
68
+ throw new RangeError(`server port ${serverPort} is not a valid TCP port`);
69
+ }
70
+ if (serverPort <= 55_535) {
71
+ return serverPort + RUNTIME_EXPOSURE_HMR_PORT_OFFSET;
72
+ }
73
+ return Math.max(1_024, serverPort - RUNTIME_EXPOSURE_HMR_PORT_OFFSET);
74
+ }
75
+ /**
76
+ * Build the canonical browser URL for an exposed app port on a resolved
77
+ * Tailscale node hostname. Uses the non-standard HTTPS port explicitly.
78
+ */
79
+ export function buildRuntimeExposureUrl(hostname, appPort) {
80
+ const trimmed = hostname.trim();
81
+ if (trimmed.length === 0) {
82
+ throw new Error("hostname is required to build an exposure URL");
83
+ }
84
+ if (!isRuntimeExposureAppPort(appPort)) {
85
+ throw new RangeError(`app port ${appPort} is outside the dedicated runtime exposure range`);
86
+ }
87
+ return `https://${trimmed}:${appPort}`;
88
+ }
89
+ /**
90
+ * Build the external HTTPS health-probe URL used to verify normal certificate
91
+ * validation before a runtime is reported healthy.
92
+ */
93
+ export function buildRuntimeExposureHealthUrl(hostname, appPort) {
94
+ return `${buildRuntimeExposureUrl(hostname, appPort)}/api/health`;
95
+ }
96
+ //# sourceMappingURL=ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/runtime-exposure/ports.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AACnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,CAAC;AAEtD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GACxC,6BAA6B,GAAG,gCAAgC,CAAC;AACnE,MAAM,CAAC,MAAM,6BAA6B,GACxC,6BAA6B,GAAG,gCAAgC,CAAC;AAEnE,2EAA2E;AAC3E,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QACtB,IAAI,IAAI,6BAA6B;QACrC,IAAI,IAAI,6BAA6B,CACtC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QACtB,IAAI,IAAI,6BAA6B;QACrC,IAAI,IAAI,6BAA6B,CACtC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,UAAU,CAClB,YAAY,OAAO,mDAAmD;YACpE,IAAI,6BAA6B,KAAK,6BAA6B,GAAG,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC;QAC3E,MAAM,IAAI,UAAU,CAAC,eAAe,UAAU,0BAA0B,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,UAAU,GAAG,gCAAgC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,gCAAgC,CAAC,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB,EAAE,OAAe;IACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,UAAU,CAAC,YAAY,OAAO,kDAAkD,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,WAAW,OAAO,IAAI,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAgB,EAAE,OAAe;IAC7E,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC;AACpE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ports.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.test.d.ts","sourceRoot":"","sources":["../../src/runtime-exposure/ports.test.ts"],"names":[],"mappings":""}