@withpica/mcp-server 1.3.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 (347) hide show
  1. package/.claude/settings.local.json +5 -0
  2. package/CHANGELOG.md +1850 -0
  3. package/README.md +304 -0
  4. package/assets/fonts/GeistSans-Light.woff2 +0 -0
  5. package/assets/fonts/InstrumentSerif-Italic.woff2 +0 -0
  6. package/assets/fonts/InstrumentSerif-Regular.woff2 +0 -0
  7. package/dist/apps/download.d.ts +2 -0
  8. package/dist/apps/download.d.ts.map +1 -0
  9. package/dist/apps/download.js +125 -0
  10. package/dist/apps/download.js.map +1 -0
  11. package/dist/apps/generated/shared-bundle.d.ts +5 -0
  12. package/dist/apps/generated/shared-bundle.d.ts.map +1 -0
  13. package/dist/apps/generated/shared-bundle.js +7 -0
  14. package/dist/apps/generated/shared-bundle.js.map +1 -0
  15. package/dist/apps/release.d.ts +2 -0
  16. package/dist/apps/release.d.ts.map +1 -0
  17. package/dist/apps/release.js +69 -0
  18. package/dist/apps/release.js.map +1 -0
  19. package/dist/apps/shared.d.ts +15 -0
  20. package/dist/apps/shared.d.ts.map +1 -0
  21. package/dist/apps/shared.js +480 -0
  22. package/dist/apps/shared.js.map +1 -0
  23. package/dist/apps/upload.d.ts +2 -0
  24. package/dist/apps/upload.d.ts.map +1 -0
  25. package/dist/apps/upload.js +280 -0
  26. package/dist/apps/upload.js.map +1 -0
  27. package/dist/config.d.ts +14 -0
  28. package/dist/config.d.ts.map +1 -0
  29. package/dist/config.js +73 -0
  30. package/dist/config.js.map +1 -0
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +35 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/prompts/index.d.ts +86 -0
  36. package/dist/prompts/index.d.ts.map +1 -0
  37. package/dist/prompts/index.js +645 -0
  38. package/dist/prompts/index.js.map +1 -0
  39. package/dist/resources/agent-guide.d.ts +15 -0
  40. package/dist/resources/agent-guide.d.ts.map +1 -0
  41. package/dist/resources/agent-guide.js +284 -0
  42. package/dist/resources/agent-guide.js.map +1 -0
  43. package/dist/resources/index.d.ts +66 -0
  44. package/dist/resources/index.d.ts.map +1 -0
  45. package/dist/resources/index.js +510 -0
  46. package/dist/resources/index.js.map +1 -0
  47. package/dist/resources/llms-primer.d.ts +2 -0
  48. package/dist/resources/llms-primer.d.ts.map +1 -0
  49. package/dist/resources/llms-primer.js +68 -0
  50. package/dist/resources/llms-primer.js.map +1 -0
  51. package/dist/resources/required-schemas.generated.d.ts +455 -0
  52. package/dist/resources/required-schemas.generated.d.ts.map +1 -0
  53. package/dist/resources/required-schemas.generated.js +1041 -0
  54. package/dist/resources/required-schemas.generated.js.map +1 -0
  55. package/dist/resources/required-schemas.source.d.ts +53 -0
  56. package/dist/resources/required-schemas.source.d.ts.map +1 -0
  57. package/dist/resources/required-schemas.source.js +493 -0
  58. package/dist/resources/required-schemas.source.js.map +1 -0
  59. package/dist/resources/welcome.d.ts +14 -0
  60. package/dist/resources/welcome.d.ts.map +1 -0
  61. package/dist/resources/welcome.js +26 -0
  62. package/dist/resources/welcome.js.map +1 -0
  63. package/dist/server-instructions.d.ts +60 -0
  64. package/dist/server-instructions.d.ts.map +1 -0
  65. package/dist/server-instructions.js +93 -0
  66. package/dist/server-instructions.js.map +1 -0
  67. package/dist/server.d.ts +52 -0
  68. package/dist/server.d.ts.map +1 -0
  69. package/dist/server.js +334 -0
  70. package/dist/server.js.map +1 -0
  71. package/dist/tools/access-simulate.d.ts +23 -0
  72. package/dist/tools/access-simulate.d.ts.map +1 -0
  73. package/dist/tools/access-simulate.js +162 -0
  74. package/dist/tools/access-simulate.js.map +1 -0
  75. package/dist/tools/agent-identity.d.ts +36 -0
  76. package/dist/tools/agent-identity.d.ts.map +1 -0
  77. package/dist/tools/agent-identity.js +274 -0
  78. package/dist/tools/agent-identity.js.map +1 -0
  79. package/dist/tools/agreement-types.d.ts +27 -0
  80. package/dist/tools/agreement-types.d.ts.map +1 -0
  81. package/dist/tools/agreement-types.js +281 -0
  82. package/dist/tools/agreement-types.js.map +1 -0
  83. package/dist/tools/agreements.d.ts +20 -0
  84. package/dist/tools/agreements.d.ts.map +1 -0
  85. package/dist/tools/agreements.js +282 -0
  86. package/dist/tools/agreements.js.map +1 -0
  87. package/dist/tools/analytics.d.ts +20 -0
  88. package/dist/tools/analytics.d.ts.map +1 -0
  89. package/dist/tools/analytics.js +130 -0
  90. package/dist/tools/analytics.js.map +1 -0
  91. package/dist/tools/app-tools.d.ts +15 -0
  92. package/dist/tools/app-tools.d.ts.map +1 -0
  93. package/dist/tools/app-tools.js +388 -0
  94. package/dist/tools/app-tools.js.map +1 -0
  95. package/dist/tools/assets.d.ts +25 -0
  96. package/dist/tools/assets.d.ts.map +1 -0
  97. package/dist/tools/assets.js +454 -0
  98. package/dist/tools/assets.js.map +1 -0
  99. package/dist/tools/audio-files.d.ts +20 -0
  100. package/dist/tools/audio-files.d.ts.map +1 -0
  101. package/dist/tools/audio-files.js +409 -0
  102. package/dist/tools/audio-files.js.map +1 -0
  103. package/dist/tools/audit.d.ts +19 -0
  104. package/dist/tools/audit.d.ts.map +1 -0
  105. package/dist/tools/audit.js +58 -0
  106. package/dist/tools/audit.js.map +1 -0
  107. package/dist/tools/auth.d.ts +22 -0
  108. package/dist/tools/auth.d.ts.map +1 -0
  109. package/dist/tools/auth.js +212 -0
  110. package/dist/tools/auth.js.map +1 -0
  111. package/dist/tools/bulk.d.ts +22 -0
  112. package/dist/tools/bulk.d.ts.map +1 -0
  113. package/dist/tools/bulk.js +164 -0
  114. package/dist/tools/bulk.js.map +1 -0
  115. package/dist/tools/calendar.d.ts +15 -0
  116. package/dist/tools/calendar.d.ts.map +1 -0
  117. package/dist/tools/calendar.js +68 -0
  118. package/dist/tools/calendar.js.map +1 -0
  119. package/dist/tools/collaborators.d.ts +21 -0
  120. package/dist/tools/collaborators.d.ts.map +1 -0
  121. package/dist/tools/collaborators.js +381 -0
  122. package/dist/tools/collaborators.js.map +1 -0
  123. package/dist/tools/comparisons.d.ts +22 -0
  124. package/dist/tools/comparisons.d.ts.map +1 -0
  125. package/dist/tools/comparisons.js +80 -0
  126. package/dist/tools/comparisons.js.map +1 -0
  127. package/dist/tools/credits.d.ts +39 -0
  128. package/dist/tools/credits.d.ts.map +1 -0
  129. package/dist/tools/credits.js +541 -0
  130. package/dist/tools/credits.js.map +1 -0
  131. package/dist/tools/custody-hints.d.ts +16 -0
  132. package/dist/tools/custody-hints.d.ts.map +1 -0
  133. package/dist/tools/custody-hints.js +27 -0
  134. package/dist/tools/custody-hints.js.map +1 -0
  135. package/dist/tools/custody.d.ts +38 -0
  136. package/dist/tools/custody.d.ts.map +1 -0
  137. package/dist/tools/custody.js +281 -0
  138. package/dist/tools/custody.js.map +1 -0
  139. package/dist/tools/dashboard.d.ts +22 -0
  140. package/dist/tools/dashboard.d.ts.map +1 -0
  141. package/dist/tools/dashboard.js +258 -0
  142. package/dist/tools/dashboard.js.map +1 -0
  143. package/dist/tools/directory.d.ts +15 -0
  144. package/dist/tools/directory.d.ts.map +1 -0
  145. package/dist/tools/directory.js +107 -0
  146. package/dist/tools/directory.js.map +1 -0
  147. package/dist/tools/discovery.d.ts +49 -0
  148. package/dist/tools/discovery.d.ts.map +1 -0
  149. package/dist/tools/discovery.js +851 -0
  150. package/dist/tools/discovery.js.map +1 -0
  151. package/dist/tools/disputes.d.ts +18 -0
  152. package/dist/tools/disputes.d.ts.map +1 -0
  153. package/dist/tools/disputes.js +62 -0
  154. package/dist/tools/disputes.js.map +1 -0
  155. package/dist/tools/documents.d.ts +15 -0
  156. package/dist/tools/documents.d.ts.map +1 -0
  157. package/dist/tools/documents.js +37 -0
  158. package/dist/tools/documents.js.map +1 -0
  159. package/dist/tools/duplicates.d.ts +25 -0
  160. package/dist/tools/duplicates.d.ts.map +1 -0
  161. package/dist/tools/duplicates.js +108 -0
  162. package/dist/tools/duplicates.js.map +1 -0
  163. package/dist/tools/enrichment.d.ts +56 -0
  164. package/dist/tools/enrichment.d.ts.map +1 -0
  165. package/dist/tools/enrichment.js +616 -0
  166. package/dist/tools/enrichment.js.map +1 -0
  167. package/dist/tools/exports.d.ts +19 -0
  168. package/dist/tools/exports.d.ts.map +1 -0
  169. package/dist/tools/exports.js +184 -0
  170. package/dist/tools/exports.js.map +1 -0
  171. package/dist/tools/feedback.d.ts +22 -0
  172. package/dist/tools/feedback.d.ts.map +1 -0
  173. package/dist/tools/feedback.js +100 -0
  174. package/dist/tools/feedback.js.map +1 -0
  175. package/dist/tools/forbidden-keywords.d.ts +62 -0
  176. package/dist/tools/forbidden-keywords.d.ts.map +1 -0
  177. package/dist/tools/forbidden-keywords.js +99 -0
  178. package/dist/tools/forbidden-keywords.js.map +1 -0
  179. package/dist/tools/gap-hints.d.ts +53 -0
  180. package/dist/tools/gap-hints.d.ts.map +1 -0
  181. package/dist/tools/gap-hints.js +245 -0
  182. package/dist/tools/gap-hints.js.map +1 -0
  183. package/dist/tools/groups.d.ts +29 -0
  184. package/dist/tools/groups.d.ts.map +1 -0
  185. package/dist/tools/groups.js +186 -0
  186. package/dist/tools/groups.js.map +1 -0
  187. package/dist/tools/import-documents.d.ts +21 -0
  188. package/dist/tools/import-documents.d.ts.map +1 -0
  189. package/dist/tools/import-documents.js +206 -0
  190. package/dist/tools/import-documents.js.map +1 -0
  191. package/dist/tools/import.d.ts +31 -0
  192. package/dist/tools/import.d.ts.map +1 -0
  193. package/dist/tools/import.js +610 -0
  194. package/dist/tools/import.js.map +1 -0
  195. package/dist/tools/index.d.ts +293 -0
  196. package/dist/tools/index.d.ts.map +1 -0
  197. package/dist/tools/index.js +1182 -0
  198. package/dist/tools/index.js.map +1 -0
  199. package/dist/tools/integrations.d.ts +19 -0
  200. package/dist/tools/integrations.d.ts.map +1 -0
  201. package/dist/tools/integrations.js +120 -0
  202. package/dist/tools/integrations.js.map +1 -0
  203. package/dist/tools/labels.d.ts +20 -0
  204. package/dist/tools/labels.d.ts.map +1 -0
  205. package/dist/tools/labels.js +48 -0
  206. package/dist/tools/labels.js.map +1 -0
  207. package/dist/tools/licensing.d.ts +40 -0
  208. package/dist/tools/licensing.d.ts.map +1 -0
  209. package/dist/tools/licensing.js +436 -0
  210. package/dist/tools/licensing.js.map +1 -0
  211. package/dist/tools/memory.d.ts +21 -0
  212. package/dist/tools/memory.d.ts.map +1 -0
  213. package/dist/tools/memory.js +120 -0
  214. package/dist/tools/memory.js.map +1 -0
  215. package/dist/tools/metadata.d.ts +15 -0
  216. package/dist/tools/metadata.d.ts.map +1 -0
  217. package/dist/tools/metadata.js +1532 -0
  218. package/dist/tools/metadata.js.map +1 -0
  219. package/dist/tools/multimedia.d.ts +19 -0
  220. package/dist/tools/multimedia.d.ts.map +1 -0
  221. package/dist/tools/multimedia.js +371 -0
  222. package/dist/tools/multimedia.js.map +1 -0
  223. package/dist/tools/my-reported-issues.d.ts +32 -0
  224. package/dist/tools/my-reported-issues.d.ts.map +1 -0
  225. package/dist/tools/my-reported-issues.js +123 -0
  226. package/dist/tools/my-reported-issues.js.map +1 -0
  227. package/dist/tools/notes.d.ts +21 -0
  228. package/dist/tools/notes.d.ts.map +1 -0
  229. package/dist/tools/notes.js +115 -0
  230. package/dist/tools/notes.js.map +1 -0
  231. package/dist/tools/notifications.d.ts +28 -0
  232. package/dist/tools/notifications.d.ts.map +1 -0
  233. package/dist/tools/notifications.js +417 -0
  234. package/dist/tools/notifications.js.map +1 -0
  235. package/dist/tools/onboarding.d.ts +24 -0
  236. package/dist/tools/onboarding.d.ts.map +1 -0
  237. package/dist/tools/onboarding.js +81 -0
  238. package/dist/tools/onboarding.js.map +1 -0
  239. package/dist/tools/people.d.ts +254 -0
  240. package/dist/tools/people.d.ts.map +1 -0
  241. package/dist/tools/people.js +481 -0
  242. package/dist/tools/people.js.map +1 -0
  243. package/dist/tools/projects.d.ts +20 -0
  244. package/dist/tools/projects.d.ts.map +1 -0
  245. package/dist/tools/projects.js +316 -0
  246. package/dist/tools/projects.js.map +1 -0
  247. package/dist/tools/public-filter.d.ts +43 -0
  248. package/dist/tools/public-filter.d.ts.map +1 -0
  249. package/dist/tools/public-filter.js +356 -0
  250. package/dist/tools/public-filter.js.map +1 -0
  251. package/dist/tools/publishers.d.ts +30 -0
  252. package/dist/tools/publishers.d.ts.map +1 -0
  253. package/dist/tools/publishers.js +105 -0
  254. package/dist/tools/publishers.js.map +1 -0
  255. package/dist/tools/purchases.d.ts +27 -0
  256. package/dist/tools/purchases.d.ts.map +1 -0
  257. package/dist/tools/purchases.js +9 -0
  258. package/dist/tools/purchases.js.map +1 -0
  259. package/dist/tools/recording-attribution-hints.d.ts +24 -0
  260. package/dist/tools/recording-attribution-hints.d.ts.map +1 -0
  261. package/dist/tools/recording-attribution-hints.js +27 -0
  262. package/dist/tools/recording-attribution-hints.js.map +1 -0
  263. package/dist/tools/recordings.d.ts +96 -0
  264. package/dist/tools/recordings.d.ts.map +1 -0
  265. package/dist/tools/recordings.js +564 -0
  266. package/dist/tools/recordings.js.map +1 -0
  267. package/dist/tools/recovery-hints.d.ts +40 -0
  268. package/dist/tools/recovery-hints.d.ts.map +1 -0
  269. package/dist/tools/recovery-hints.js +827 -0
  270. package/dist/tools/recovery-hints.js.map +1 -0
  271. package/dist/tools/release-rich.d.ts +31 -0
  272. package/dist/tools/release-rich.d.ts.map +1 -0
  273. package/dist/tools/release-rich.js +245 -0
  274. package/dist/tools/release-rich.js.map +1 -0
  275. package/dist/tools/releases.d.ts +36 -0
  276. package/dist/tools/releases.d.ts.map +1 -0
  277. package/dist/tools/releases.js +649 -0
  278. package/dist/tools/releases.js.map +1 -0
  279. package/dist/tools/report-issue.d.ts +21 -0
  280. package/dist/tools/report-issue.d.ts.map +1 -0
  281. package/dist/tools/report-issue.js +101 -0
  282. package/dist/tools/report-issue.js.map +1 -0
  283. package/dist/tools/royalties.d.ts +23 -0
  284. package/dist/tools/royalties.d.ts.map +1 -0
  285. package/dist/tools/royalties.js +262 -0
  286. package/dist/tools/royalties.js.map +1 -0
  287. package/dist/tools/search.d.ts +30 -0
  288. package/dist/tools/search.d.ts.map +1 -0
  289. package/dist/tools/search.js +115 -0
  290. package/dist/tools/search.js.map +1 -0
  291. package/dist/tools/send.d.ts +17 -0
  292. package/dist/tools/send.d.ts.map +1 -0
  293. package/dist/tools/send.js +188 -0
  294. package/dist/tools/send.js.map +1 -0
  295. package/dist/tools/sessions.d.ts +18 -0
  296. package/dist/tools/sessions.d.ts.map +1 -0
  297. package/dist/tools/sessions.js +153 -0
  298. package/dist/tools/sessions.js.map +1 -0
  299. package/dist/tools/settings.d.ts +23 -0
  300. package/dist/tools/settings.d.ts.map +1 -0
  301. package/dist/tools/settings.js +365 -0
  302. package/dist/tools/settings.js.map +1 -0
  303. package/dist/tools/share-links.d.ts +22 -0
  304. package/dist/tools/share-links.d.ts.map +1 -0
  305. package/dist/tools/share-links.js +188 -0
  306. package/dist/tools/share-links.js.map +1 -0
  307. package/dist/tools/signup.d.ts +26 -0
  308. package/dist/tools/signup.d.ts.map +1 -0
  309. package/dist/tools/signup.js +266 -0
  310. package/dist/tools/signup.js.map +1 -0
  311. package/dist/tools/split-sheets.d.ts +25 -0
  312. package/dist/tools/split-sheets.d.ts.map +1 -0
  313. package/dist/tools/split-sheets.js +309 -0
  314. package/dist/tools/split-sheets.js.map +1 -0
  315. package/dist/tools/storage-config.d.ts +13 -0
  316. package/dist/tools/storage-config.d.ts.map +1 -0
  317. package/dist/tools/storage-config.js +245 -0
  318. package/dist/tools/storage-config.js.map +1 -0
  319. package/dist/tools/subscription.d.ts +60 -0
  320. package/dist/tools/subscription.d.ts.map +1 -0
  321. package/dist/tools/subscription.js +440 -0
  322. package/dist/tools/subscription.js.map +1 -0
  323. package/dist/tools/sync-placements.d.ts +31 -0
  324. package/dist/tools/sync-placements.d.ts.map +1 -0
  325. package/dist/tools/sync-placements.js +431 -0
  326. package/dist/tools/sync-placements.js.map +1 -0
  327. package/dist/tools/team.d.ts +22 -0
  328. package/dist/tools/team.d.ts.map +1 -0
  329. package/dist/tools/team.js +144 -0
  330. package/dist/tools/team.js.map +1 -0
  331. package/dist/tools/telegram.d.ts +21 -0
  332. package/dist/tools/telegram.d.ts.map +1 -0
  333. package/dist/tools/telegram.js +144 -0
  334. package/dist/tools/telegram.js.map +1 -0
  335. package/dist/tools/uploads.d.ts +17 -0
  336. package/dist/tools/uploads.d.ts.map +1 -0
  337. package/dist/tools/uploads.js +165 -0
  338. package/dist/tools/uploads.js.map +1 -0
  339. package/dist/tools/works.d.ts +71 -0
  340. package/dist/tools/works.d.ts.map +1 -0
  341. package/dist/tools/works.js +694 -0
  342. package/dist/tools/works.js.map +1 -0
  343. package/package.json +54 -0
  344. package/scripts/build-required-schemas.ts +233 -0
  345. package/scripts/bundle-apps.ts +61 -0
  346. package/scripts/refresh-schema-mirror.ts +182 -0
  347. package/server.json +20 -0
@@ -0,0 +1,280 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ /**
3
+ * pica_upload MCP App card — generic drop zone.
4
+ *
5
+ * Renders a drop zone + file input, instantiates createUploadManager() from
6
+ * shared.ts, and reports uploaded file metadata back to the agent via
7
+ * app.updateModelContext() once all files have settled.
8
+ *
9
+ * DOM API only — never innerHTML.
10
+ */
11
+ import { buildAppHtml } from "./shared.js";
12
+ const UPLOAD_BODY = `
13
+ <div class="stack gap-6">
14
+ <header>
15
+ <h1 class="heading heading-lg" id="up-title">upload files</h1>
16
+ <p class="text-secondary" id="up-subtitle">drop files here or click to browse</p>
17
+ </header>
18
+
19
+ <section>
20
+ <div id="up-dropzone" class="up-dropzone">
21
+ <p class="text-secondary" id="up-dropzone-label">drop files here or click to browse</p>
22
+ <input type="file" id="up-input" multiple style="display: none;" />
23
+ </div>
24
+ <div id="up-thumbnails" class="up-thumbnails"></div>
25
+ <p class="text-tertiary" id="up-max-msg" style="margin-top: 8px; display: none;"></p>
26
+ <p class="text-tertiary" id="up-status" style="margin-top: 12px; display: none;"></p>
27
+ </section>
28
+ </div>
29
+
30
+ <style>
31
+ .up-dropzone {
32
+ background: rgba(255,255,255,0.03);
33
+ border: 1px dashed rgba(255,255,255,0.15);
34
+ border-radius: 12px;
35
+ padding: 64px 24px;
36
+ text-align: center;
37
+ cursor: pointer;
38
+ transition: background 0.15s, border-color 0.15s;
39
+ }
40
+ .up-dropzone.dragover {
41
+ background: rgba(184,115,51,0.05);
42
+ border-color: var(--accent);
43
+ }
44
+ .up-thumbnails {
45
+ display: flex;
46
+ gap: 12px;
47
+ flex-wrap: wrap;
48
+ margin-top: 16px;
49
+ }
50
+ .up-thumb {
51
+ position: relative;
52
+ min-width: 120px;
53
+ max-width: 180px;
54
+ padding: 12px;
55
+ border-radius: 8px;
56
+ border: 1px solid var(--card-border);
57
+ background: rgba(255,255,255,0.03);
58
+ font-size: 12px;
59
+ }
60
+ .up-thumb-filename {
61
+ color: var(--text-primary);
62
+ word-break: break-all;
63
+ margin-bottom: 4px;
64
+ }
65
+ .up-thumb-state {
66
+ color: var(--text-tertiary);
67
+ font-size: 11px;
68
+ }
69
+ .up-thumb-state-failed { border-color: rgba(255,80,80,0.5); }
70
+ .up-thumb-state-network_error { border-color: rgba(255,165,0,0.4); }
71
+ .up-thumb-state-uploaded { border-color: rgba(135,169,107,0.5); }
72
+ .up-thumb-remove {
73
+ position: absolute; top: 4px; right: 4px;
74
+ width: 18px; height: 18px; border-radius: 50%;
75
+ background: rgba(0,0,0,0.6);
76
+ color: white; font-size: 11px; border: none; cursor: pointer;
77
+ display: flex; align-items: center; justify-content: center;
78
+ }
79
+ @media (max-width: 600px) {
80
+ .up-dropzone { padding: 40px 16px; }
81
+ }
82
+ </style>
83
+ `;
84
+ const UPLOAD_JS = `
85
+ var upState = {
86
+ config: { accept: "any", purpose: null, max_files: null },
87
+ manager: null,
88
+ reported: false,
89
+ };
90
+
91
+ function upAcceptToAttr(accept) {
92
+ switch (accept) {
93
+ case "image": return "image/*";
94
+ case "audio": return "audio/*";
95
+ case "video": return "video/*";
96
+ case "document": return ".pdf,.doc,.docx,.txt,.csv,.xls,.xlsx,.rtf,.md";
97
+ default: return "";
98
+ }
99
+ }
100
+
101
+ function upRender(files) {
102
+ var container = document.getElementById("up-thumbnails");
103
+ if (!container) return;
104
+ container.textContent = "";
105
+
106
+ files.forEach(function (f) {
107
+ var thumb = document.createElement("div");
108
+ thumb.className = "up-thumb up-thumb-state-" + f.state;
109
+
110
+ var name = document.createElement("div");
111
+ name.className = "up-thumb-filename";
112
+ name.textContent = f.filename;
113
+ thumb.appendChild(name);
114
+
115
+ var stateEl = document.createElement("div");
116
+ stateEl.className = "up-thumb-state";
117
+ if (f.state === "uploading") stateEl.textContent = "uploading...";
118
+ else if (f.state === "uploaded") stateEl.textContent = "uploaded";
119
+ else if (f.state === "failed") stateEl.textContent = "failed — click to retry";
120
+ else if (f.state === "network_error") stateEl.textContent = "network error — check connection or use web dashboard";
121
+ else stateEl.textContent = f.state;
122
+ thumb.appendChild(stateEl);
123
+
124
+ if (f.state === "failed") {
125
+ thumb.style.cursor = "pointer";
126
+ thumb.onclick = function () { upState.manager.retryFile(f.id); };
127
+ }
128
+
129
+ var removeBtn = document.createElement("button");
130
+ removeBtn.className = "up-thumb-remove";
131
+ removeBtn.textContent = "\\u00D7";
132
+ removeBtn.onclick = function (e) {
133
+ e.stopPropagation();
134
+ upState.manager.removeFile(f.id);
135
+ };
136
+ thumb.appendChild(removeBtn);
137
+
138
+ container.appendChild(thumb);
139
+ });
140
+
141
+ upMaybeReport(files);
142
+ }
143
+
144
+ function upMaybeReport(files) {
145
+ if (upState.reported) return;
146
+ if (files.length === 0) return;
147
+ var settled = files.every(function (f) {
148
+ return f.state === "uploaded" || f.state === "failed" || f.state === "network_error";
149
+ });
150
+ if (!settled) return;
151
+
152
+ var uploaded = files
153
+ .filter(function (f) { return f.state === "uploaded"; })
154
+ .map(function (f) {
155
+ return {
156
+ id: f.upload_id || null,
157
+ url: f.url,
158
+ mime_type: f.mime_type,
159
+ size: f.size,
160
+ filename: f.filename,
161
+ uploaded_at: f.uploaded_at,
162
+ };
163
+ });
164
+
165
+ upState.reported = true;
166
+
167
+ var status = document.getElementById("up-status");
168
+ if (status) {
169
+ status.style.display = "block";
170
+ status.textContent = uploaded.length + " file(s) uploaded — returning to agent";
171
+ }
172
+
173
+ if (app && typeof app.updateModelContext === "function") {
174
+ try {
175
+ app.updateModelContext({
176
+ context: [{
177
+ type: "text",
178
+ text: JSON.stringify({ uploaded: uploaded }),
179
+ }],
180
+ });
181
+ } catch (err) {
182
+ console.warn("[pica_upload] updateModelContext failed:", err);
183
+ }
184
+ }
185
+ }
186
+
187
+ function upEnforceMaxFiles(incoming) {
188
+ var maxMsgEl = document.getElementById("up-max-msg");
189
+ if (maxMsgEl) {
190
+ maxMsgEl.style.display = "none";
191
+ maxMsgEl.textContent = "";
192
+ }
193
+ var max = upState.config.max_files;
194
+ if (!max || !upState.manager) return incoming;
195
+ var currentCount = upState.manager.getFiles().length;
196
+ var remaining = max - currentCount;
197
+ if (remaining <= 0) {
198
+ if (maxMsgEl) {
199
+ maxMsgEl.textContent = "max " + max + " files — extras ignored";
200
+ maxMsgEl.style.display = "block";
201
+ }
202
+ return [];
203
+ }
204
+ if (incoming.length > remaining) {
205
+ if (maxMsgEl) {
206
+ maxMsgEl.textContent = "max " + max + " files — extras ignored";
207
+ maxMsgEl.style.display = "block";
208
+ }
209
+ return Array.prototype.slice.call(incoming, 0, remaining);
210
+ }
211
+ return incoming;
212
+ }
213
+
214
+ function upSetup() {
215
+ var dz = document.getElementById("up-dropzone");
216
+ var input = document.getElementById("up-input");
217
+ var title = document.getElementById("up-title");
218
+ var subtitle = document.getElementById("up-subtitle");
219
+ var dzLabel = document.getElementById("up-dropzone-label");
220
+
221
+ if (upState.config.purpose && title) {
222
+ title.textContent = "upload: " + upState.config.purpose;
223
+ }
224
+ if (upState.config.accept && upState.config.accept !== "any" && subtitle) {
225
+ subtitle.textContent = "drop " + upState.config.accept + " files here or click to browse";
226
+ if (dzLabel) dzLabel.textContent = "drop " + upState.config.accept + " files here";
227
+ }
228
+
229
+ if (input) {
230
+ input.accept = upAcceptToAttr(upState.config.accept);
231
+ }
232
+ if (!dz || !input) return;
233
+
234
+ dz.addEventListener("click", function () { input.click(); });
235
+ input.addEventListener("change", function (e) {
236
+ if (e.target.files && e.target.files.length) {
237
+ var allowed = upEnforceMaxFiles(e.target.files);
238
+ if (allowed.length) {
239
+ upState.reported = false;
240
+ upState.manager.addFiles(allowed);
241
+ }
242
+ }
243
+ input.value = "";
244
+ });
245
+ dz.addEventListener("dragover", function (e) {
246
+ e.preventDefault();
247
+ dz.classList.add("dragover");
248
+ });
249
+ dz.addEventListener("dragleave", function () { dz.classList.remove("dragover"); });
250
+ dz.addEventListener("drop", function (e) {
251
+ e.preventDefault();
252
+ dz.classList.remove("dragover");
253
+ if (e.dataTransfer && e.dataTransfer.files && e.dataTransfer.files.length) {
254
+ var allowed = upEnforceMaxFiles(e.dataTransfer.files);
255
+ if (allowed.length) {
256
+ upState.reported = false;
257
+ upState.manager.addFiles(allowed);
258
+ }
259
+ }
260
+ });
261
+ }
262
+
263
+ window.onPicaToolResult = function (data) {
264
+ if (data && data.config) {
265
+ upState.config = {
266
+ accept: data.config.accept || "any",
267
+ purpose: data.config.purpose || null,
268
+ max_files: data.config.max_files || null,
269
+ };
270
+ }
271
+ upState.manager = createUploadManager({
272
+ accept: upState.config.accept,
273
+ onStateChange: upRender,
274
+ app: app,
275
+ });
276
+ upSetup();
277
+ };
278
+ `;
279
+ export const UPLOAD_HTML = buildAppHtml("pica \u2014 upload", UPLOAD_BODY, UPLOAD_JS);
280
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/apps/upload.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEnB,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkMjB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CACrC,oBAAoB,EACpB,WAAW,EACX,SAAS,CACV,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const VERSION: string;
2
+ export interface ServerConfig {
3
+ picaApiKey: string | null;
4
+ picaApiUrl: string;
5
+ serverName: string;
6
+ version: string;
7
+ debug: boolean;
8
+ lobbyMode: boolean;
9
+ credentialsPath: string;
10
+ discoveryMode: boolean;
11
+ }
12
+ export declare function loadConfig(): ServerConfig;
13
+ export declare function validateConfig(config: ServerConfig): void;
14
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,UAAU,IAAI,YAAY,CAwCzC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAWzD"}
package/dist/config.js ADDED
@@ -0,0 +1,73 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ /**
3
+ * MCP Server Configuration
4
+ */
5
+ import { readCredentials, getDefaultCredentialsPath, } from "@withpica/mcp-utils";
6
+ import { createRequire } from "module";
7
+ // Single TS-side source of truth for the customer MCP server version,
8
+ // AUTO-DERIVED from package.json so the two cannot drift. Past drift
9
+ // incidents that motivated this: 2026-04-08 (banner 2.5.0 vs npm 2.6.1),
10
+ // 2026-04-19 ADR-181 Phase 2 (banner 2.6.2 vs npm 2.22.0), 2026-04-24
11
+ // (publish blocked TWICE by stale literal at 2.27.0 → 2.28.0 bumps).
12
+ //
13
+ // Implementation note: uses `createRequire` rather than the import-
14
+ // attribute syntax (`import pkg from "..." with { type: "json" }`)
15
+ // because the package's tsconfig.json sets `module: "Node16"`, which
16
+ // doesn't support import attributes. createRequire works in any
17
+ // module setting and resolves ../package.json relative to the
18
+ // compiled dist/config.js file at runtime — same path semantics, no
19
+ // tsconfig change needed.
20
+ //
21
+ // scripts/lint-mcp-tools.ts version-sync check now accepts both this
22
+ // derived form (preferred) and the legacy literal hardcode (still
23
+ // version-matched against package.json). Surfaces on stdio via the
24
+ // boot banner + MCP `initialize` handshake (loadConfig below) and on
25
+ // HTTP via app/api/mcp/route.ts, which imports this const from
26
+ // mcp-server/dist/config.js. ADR-180 Phase 2 collapsed the
27
+ // duplication; ADR-196 Phase 4b makes it drift-proof.
28
+ const pkg = createRequire(import.meta.url)("../package.json");
29
+ export const VERSION = pkg.version;
30
+ export function loadConfig() {
31
+ const credentialsPath = process.env.PICA_CREDENTIALS_PATH || getDefaultCredentialsPath();
32
+ const debug = process.env.DEBUG === "true" || process.env.DEBUG === "1";
33
+ // Priority 1: env var
34
+ let picaApiKey = process.env.PICA_API_KEY || null;
35
+ // Priority 2: credentials file
36
+ if (!picaApiKey) {
37
+ const creds = readCredentials(credentialsPath);
38
+ if (creds) {
39
+ picaApiKey = creds.api_key;
40
+ if (debug) {
41
+ console.error(`[MCP Server] Loaded credentials for ${creds.email}`);
42
+ }
43
+ }
44
+ }
45
+ const lobbyMode = !picaApiKey;
46
+ const discoveryMode = process.env.MCP_LAYERED_DISCOVERY === "1";
47
+ if (lobbyMode && debug) {
48
+ console.error("[MCP Server] No API key found — starting in lobby mode");
49
+ }
50
+ if (discoveryMode && debug) {
51
+ console.error("[MCP Server] Layered discovery mode enabled");
52
+ }
53
+ return {
54
+ picaApiKey,
55
+ picaApiUrl: process.env.PICA_API_URL || "https://withpica.com/api",
56
+ serverName: "pica-mcp-server",
57
+ version: VERSION,
58
+ debug,
59
+ lobbyMode,
60
+ credentialsPath,
61
+ discoveryMode,
62
+ };
63
+ }
64
+ export function validateConfig(config) {
65
+ if (!config.lobbyMode &&
66
+ (!config.picaApiKey || config.picaApiKey.trim() === "")) {
67
+ throw new Error("PICA API key cannot be empty when not in lobby mode");
68
+ }
69
+ if (!config.picaApiUrl || !config.picaApiUrl.startsWith("http")) {
70
+ throw new Error("Invalid PICA API URL");
71
+ }
72
+ }
73
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D;;GAEG;AAEH,OAAO,EACL,eAAe,EACf,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,sEAAsE;AACtE,qEAAqE;AACrE,yEAAyE;AACzE,sEAAsE;AACtE,qEAAqE;AACrE,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,qEAAqE;AACrE,gEAAgE;AAChE,8DAA8D;AAC9D,oEAAoE;AACpE,0BAA0B;AAC1B,EAAE;AACF,qEAAqE;AACrE,kEAAkE;AAClE,mEAAmE;AACnE,qEAAqE;AACrE,+DAA+D;AAC/D,2DAA2D;AAC3D,sDAAsD;AACtD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAE3D,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC;AAa3C,MAAM,UAAU,UAAU;IACxB,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,yBAAyB,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;IAExE,sBAAsB;IACtB,IAAI,UAAU,GAAkB,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC;IAEjE,+BAA+B;IAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;YAC3B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC;IAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,GAAG,CAAC;IAEhE,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0BAA0B;QAClE,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,OAAO;QAChB,KAAK;QACL,SAAS;QACT,eAAe;QACf,aAAa;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,IACE,CAAC,MAAM,CAAC,SAAS;QACjB,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EACvD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env node
2
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
3
+ /**
4
+ * PICA MCP Server
5
+ * Entry point for the Model Context Protocol server
6
+ */
7
+ import { loadConfig, validateConfig } from "./config.js";
8
+ import { PicaMcpServer } from "./server.js";
9
+ async function main() {
10
+ try {
11
+ const config = loadConfig();
12
+ validateConfig(config);
13
+ if (config.lobbyMode) {
14
+ console.error('[MCP Server] Starting in lobby mode — say "sign me in" to connect');
15
+ }
16
+ const server = new PicaMcpServer(config);
17
+ await server.start();
18
+ process.on("SIGINT", async () => {
19
+ console.error("[MCP Server] Shutting down...");
20
+ await server.stop();
21
+ process.exit(0);
22
+ });
23
+ process.on("SIGTERM", async () => {
24
+ console.error("[MCP Server] Shutting down...");
25
+ await server.stop();
26
+ process.exit(0);
27
+ });
28
+ }
29
+ catch (error) {
30
+ console.error("[MCP Server] Fatal error:", error instanceof Error ? error.message : String(error));
31
+ process.exit(1);
32
+ }
33
+ }
34
+ main();
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,6DAA6D;AAE7D;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,cAAc,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CACX,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,2BAA2B,EAC3B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Prompt Registry for MCP Server
3
+ * Manages pre-configured prompts for common workflows
4
+ */
5
+ export interface PromptDefinition {
6
+ name: string;
7
+ description: string;
8
+ arguments?: Array<{
9
+ name: string;
10
+ description: string;
11
+ required?: boolean;
12
+ }>;
13
+ }
14
+ export interface PromptMessage {
15
+ role: "user" | "assistant";
16
+ content: {
17
+ type: string;
18
+ text: string;
19
+ };
20
+ }
21
+ export interface PromptResult {
22
+ messages: PromptMessage[];
23
+ }
24
+ export declare class PromptRegistry {
25
+ /**
26
+ * List all available prompts
27
+ */
28
+ listPrompts(): PromptDefinition[];
29
+ /**
30
+ * Get a prompt by name
31
+ */
32
+ getPrompt(name: string, args?: Record<string, any>): Promise<any>;
33
+ /**
34
+ * Analyze catalog prompt
35
+ */
36
+ private getAnalyzeCatalogPrompt;
37
+ /**
38
+ * Find duplicates prompt
39
+ */
40
+ private getFindDuplicatesPrompt;
41
+ /**
42
+ * Enrich metadata prompt
43
+ */
44
+ private getEnrichMetadataPrompt;
45
+ /**
46
+ * Verify works prompt
47
+ */
48
+ private getVerifyWorksPrompt;
49
+ /**
50
+ * Assess catalog health prompt
51
+ */
52
+ private getAssessCatalogHealthPrompt;
53
+ /**
54
+ * Audit credits prompt
55
+ */
56
+ private getAuditCreditsPrompt;
57
+ /**
58
+ * New catalog setup prompt — first-time onboarding
59
+ */
60
+ private getNewCatalogSetupPrompt;
61
+ /**
62
+ * Close the loop — check a specific work's gaps and offer to fix each one
63
+ */
64
+ private getCloseTheLoopPrompt;
65
+ /**
66
+ * Register my works — check registration status and prepare for PRO submission
67
+ */
68
+ private getRegisterMyWorksPrompt;
69
+ /**
70
+ * Workspace autopilot — assess state and route to the right workflow
71
+ */
72
+ private getWorkspaceAutopilotPrompt;
73
+ /**
74
+ * Prepare for sync — get catalog sync-ready
75
+ */
76
+ private getPrepareForSyncPrompt;
77
+ /**
78
+ * Log a session — guided studio session capture
79
+ */
80
+ private getLogASessionPrompt;
81
+ /**
82
+ * Set recording splits — guided master ownership split assignment with verify gate
83
+ */
84
+ private getSetRecordingSplitsPrompt;
85
+ }
86
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,qBAAa,cAAc;IACzB;;OAEG;IACH,WAAW,IAAI,gBAAgB,EAAE;IAuGjC;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA8CvE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqC/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAiCpC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoC7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyChC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0C7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqChC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiDnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuC/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsC5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;CA6CpC"}