provekit 0.1.0__py3-none-any.whl

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 (485) hide show
  1. provekit/__init__.py +0 -0
  2. provekit/cli.py +256 -0
  3. provekit/config.py +77 -0
  4. provekit/database.py +132 -0
  5. provekit/main.py +115 -0
  6. provekit/migrations/env.py +40 -0
  7. provekit/migrations/script.py.mako +22 -0
  8. provekit/migrations/versions/323eb73d463c_user_email_verified.py +32 -0
  9. provekit/migrations/versions/49e8ab812556_baseline_schema.py +241 -0
  10. provekit/migrations/versions/819ed5ff183e_workspace_ingest_key.py +35 -0
  11. provekit/migrations/versions/a1b2c3d4e5f6_user_token_version.py +27 -0
  12. provekit/models.py +191 -0
  13. provekit/observability.py +154 -0
  14. provekit/routers/__init__.py +0 -0
  15. provekit/routers/auth.py +150 -0
  16. provekit/routers/connections.py +270 -0
  17. provekit/routers/deployments.py +161 -0
  18. provekit/routers/flows.py +188 -0
  19. provekit/routers/library.py +265 -0
  20. provekit/routers/prompts.py +72 -0
  21. provekit/routers/run.py +203 -0
  22. provekit/routers/runtime.py +103 -0
  23. provekit/routers/traces.py +65 -0
  24. provekit/routers/usage.py +42 -0
  25. provekit/services/__init__.py +0 -0
  26. provekit/services/assertions.py +135 -0
  27. provekit/services/auth.py +131 -0
  28. provekit/services/deploy.py +63 -0
  29. provekit/services/dispatch.py +313 -0
  30. provekit/services/email.py +38 -0
  31. provekit/services/flow.py +299 -0
  32. provekit/services/limits.py +109 -0
  33. provekit/services/masking.py +45 -0
  34. provekit/services/netguard.py +69 -0
  35. provekit/services/otel.py +146 -0
  36. provekit/services/promptfoo.py +92 -0
  37. provekit/services/providers/__init__.py +0 -0
  38. provekit/services/providers/a2a_client.py +110 -0
  39. provekit/services/providers/agent_http.py +55 -0
  40. provekit/services/providers/llm.py +364 -0
  41. provekit/services/providers/mcp_client.py +289 -0
  42. provekit/services/runstore.py +93 -0
  43. provekit/services/sealing.py +106 -0
  44. provekit/services/templates.py +69 -0
  45. provekit/services/testfile.py +122 -0
  46. provekit/services/tooling.py +194 -0
  47. provekit/services/workspace.py +91 -0
  48. provekit/templates/flows/_manifest.json +2594 -0
  49. provekit/templates/flows/banking-action-items.yaml +43 -0
  50. provekit/templates/flows/banking-answer.yaml +43 -0
  51. provekit/templates/flows/banking-classify-intent.yaml +43 -0
  52. provekit/templates/flows/banking-draft-critique-revise.yaml +75 -0
  53. provekit/templates/flows/banking-extract-to-json.yaml +43 -0
  54. provekit/templates/flows/banking-faq-match-answer.yaml +60 -0
  55. provekit/templates/flows/banking-keyword-extract.yaml +43 -0
  56. provekit/templates/flows/banking-language-route.yaml +103 -0
  57. provekit/templates/flows/banking-moderation-gate.yaml +73 -0
  58. provekit/templates/flows/banking-redact-summarize.yaml +59 -0
  59. provekit/templates/flows/banking-score-gate.yaml +73 -0
  60. provekit/templates/flows/banking-sentiment-route.yaml +73 -0
  61. provekit/templates/flows/banking-severity-tiers.yaml +103 -0
  62. provekit/templates/flows/banking-summarize-then-decide.yaml +88 -0
  63. provekit/templates/flows/banking-tag-enrich.yaml +43 -0
  64. provekit/templates/flows/banking-tone-rewrite.yaml +43 -0
  65. provekit/templates/flows/banking-translate-reply.yaml +58 -0
  66. provekit/templates/flows/banking-triage-route.yaml +73 -0
  67. provekit/templates/flows/community-forum-action-items.yaml +43 -0
  68. provekit/templates/flows/community-forum-answer.yaml +43 -0
  69. provekit/templates/flows/community-forum-classify-intent.yaml +43 -0
  70. provekit/templates/flows/community-forum-draft-critique-revise.yaml +75 -0
  71. provekit/templates/flows/community-forum-extract-to-json.yaml +43 -0
  72. provekit/templates/flows/community-forum-faq-match-answer.yaml +60 -0
  73. provekit/templates/flows/community-forum-keyword-extract.yaml +43 -0
  74. provekit/templates/flows/community-forum-language-route.yaml +103 -0
  75. provekit/templates/flows/community-forum-moderation-gate.yaml +73 -0
  76. provekit/templates/flows/community-forum-redact-summarize.yaml +59 -0
  77. provekit/templates/flows/community-forum-score-gate.yaml +73 -0
  78. provekit/templates/flows/community-forum-sentiment-route.yaml +73 -0
  79. provekit/templates/flows/community-forum-severity-tiers.yaml +103 -0
  80. provekit/templates/flows/community-forum-summarize-then-decide.yaml +88 -0
  81. provekit/templates/flows/community-forum-tag-enrich.yaml +43 -0
  82. provekit/templates/flows/community-forum-tone-rewrite.yaml +43 -0
  83. provekit/templates/flows/community-forum-translate-reply.yaml +58 -0
  84. provekit/templates/flows/community-forum-triage-route.yaml +73 -0
  85. provekit/templates/flows/content-moderation-action-items.yaml +43 -0
  86. provekit/templates/flows/content-moderation-answer.yaml +43 -0
  87. provekit/templates/flows/content-moderation-classify-intent.yaml +43 -0
  88. provekit/templates/flows/content-moderation-draft-critique-revise.yaml +75 -0
  89. provekit/templates/flows/content-moderation-extract-to-json.yaml +43 -0
  90. provekit/templates/flows/content-moderation-faq-match-answer.yaml +60 -0
  91. provekit/templates/flows/content-moderation-keyword-extract.yaml +43 -0
  92. provekit/templates/flows/content-moderation-language-route.yaml +103 -0
  93. provekit/templates/flows/content-moderation-moderation-gate.yaml +73 -0
  94. provekit/templates/flows/content-moderation-redact-summarize.yaml +59 -0
  95. provekit/templates/flows/content-moderation-score-gate.yaml +73 -0
  96. provekit/templates/flows/content-moderation-sentiment-route.yaml +73 -0
  97. provekit/templates/flows/content-moderation-severity-tiers.yaml +103 -0
  98. provekit/templates/flows/content-moderation-summarize-then-decide.yaml +88 -0
  99. provekit/templates/flows/content-moderation-tag-enrich.yaml +43 -0
  100. provekit/templates/flows/content-moderation-tone-rewrite.yaml +43 -0
  101. provekit/templates/flows/content-moderation-translate-reply.yaml +58 -0
  102. provekit/templates/flows/content-moderation-triage-route.yaml +73 -0
  103. provekit/templates/flows/customer-support-action-items.yaml +43 -0
  104. provekit/templates/flows/customer-support-answer.yaml +43 -0
  105. provekit/templates/flows/customer-support-classify-intent.yaml +43 -0
  106. provekit/templates/flows/customer-support-draft-critique-revise.yaml +75 -0
  107. provekit/templates/flows/customer-support-extract-to-json.yaml +43 -0
  108. provekit/templates/flows/customer-support-faq-match-answer.yaml +60 -0
  109. provekit/templates/flows/customer-support-keyword-extract.yaml +43 -0
  110. provekit/templates/flows/customer-support-language-route.yaml +103 -0
  111. provekit/templates/flows/customer-support-moderation-gate.yaml +73 -0
  112. provekit/templates/flows/customer-support-redact-summarize.yaml +59 -0
  113. provekit/templates/flows/customer-support-score-gate.yaml +73 -0
  114. provekit/templates/flows/customer-support-sentiment-route.yaml +73 -0
  115. provekit/templates/flows/customer-support-severity-tiers.yaml +103 -0
  116. provekit/templates/flows/customer-support-summarize-then-decide.yaml +88 -0
  117. provekit/templates/flows/customer-support-tag-enrich.yaml +43 -0
  118. provekit/templates/flows/customer-support-tone-rewrite.yaml +43 -0
  119. provekit/templates/flows/customer-support-translate-reply.yaml +58 -0
  120. provekit/templates/flows/customer-support-triage-route.yaml +73 -0
  121. provekit/templates/flows/developer-tooling-action-items.yaml +43 -0
  122. provekit/templates/flows/developer-tooling-answer.yaml +43 -0
  123. provekit/templates/flows/developer-tooling-classify-intent.yaml +43 -0
  124. provekit/templates/flows/developer-tooling-draft-critique-revise.yaml +75 -0
  125. provekit/templates/flows/developer-tooling-extract-to-json.yaml +43 -0
  126. provekit/templates/flows/developer-tooling-faq-match-answer.yaml +60 -0
  127. provekit/templates/flows/developer-tooling-keyword-extract.yaml +43 -0
  128. provekit/templates/flows/developer-tooling-language-route.yaml +103 -0
  129. provekit/templates/flows/developer-tooling-moderation-gate.yaml +73 -0
  130. provekit/templates/flows/developer-tooling-redact-summarize.yaml +59 -0
  131. provekit/templates/flows/developer-tooling-score-gate.yaml +73 -0
  132. provekit/templates/flows/developer-tooling-sentiment-route.yaml +73 -0
  133. provekit/templates/flows/developer-tooling-severity-tiers.yaml +103 -0
  134. provekit/templates/flows/developer-tooling-summarize-then-decide.yaml +88 -0
  135. provekit/templates/flows/developer-tooling-tag-enrich.yaml +43 -0
  136. provekit/templates/flows/developer-tooling-tone-rewrite.yaml +43 -0
  137. provekit/templates/flows/developer-tooling-translate-reply.yaml +58 -0
  138. provekit/templates/flows/developer-tooling-triage-route.yaml +73 -0
  139. provekit/templates/flows/devrel-action-items.yaml +43 -0
  140. provekit/templates/flows/devrel-answer.yaml +43 -0
  141. provekit/templates/flows/devrel-classify-intent.yaml +43 -0
  142. provekit/templates/flows/devrel-draft-critique-revise.yaml +75 -0
  143. provekit/templates/flows/devrel-extract-to-json.yaml +43 -0
  144. provekit/templates/flows/devrel-faq-match-answer.yaml +60 -0
  145. provekit/templates/flows/devrel-keyword-extract.yaml +43 -0
  146. provekit/templates/flows/devrel-language-route.yaml +103 -0
  147. provekit/templates/flows/devrel-moderation-gate.yaml +73 -0
  148. provekit/templates/flows/devrel-redact-summarize.yaml +59 -0
  149. provekit/templates/flows/devrel-score-gate.yaml +73 -0
  150. provekit/templates/flows/devrel-sentiment-route.yaml +73 -0
  151. provekit/templates/flows/devrel-severity-tiers.yaml +103 -0
  152. provekit/templates/flows/devrel-summarize-then-decide.yaml +88 -0
  153. provekit/templates/flows/devrel-tag-enrich.yaml +43 -0
  154. provekit/templates/flows/devrel-tone-rewrite.yaml +43 -0
  155. provekit/templates/flows/devrel-translate-reply.yaml +58 -0
  156. provekit/templates/flows/devrel-triage-route.yaml +73 -0
  157. provekit/templates/flows/e-commerce-action-items.yaml +43 -0
  158. provekit/templates/flows/e-commerce-answer.yaml +43 -0
  159. provekit/templates/flows/e-commerce-classify-intent.yaml +43 -0
  160. provekit/templates/flows/e-commerce-draft-critique-revise.yaml +75 -0
  161. provekit/templates/flows/e-commerce-extract-to-json.yaml +43 -0
  162. provekit/templates/flows/e-commerce-faq-match-answer.yaml +60 -0
  163. provekit/templates/flows/e-commerce-keyword-extract.yaml +43 -0
  164. provekit/templates/flows/e-commerce-language-route.yaml +103 -0
  165. provekit/templates/flows/e-commerce-moderation-gate.yaml +73 -0
  166. provekit/templates/flows/e-commerce-redact-summarize.yaml +59 -0
  167. provekit/templates/flows/e-commerce-score-gate.yaml +73 -0
  168. provekit/templates/flows/e-commerce-sentiment-route.yaml +73 -0
  169. provekit/templates/flows/e-commerce-severity-tiers.yaml +103 -0
  170. provekit/templates/flows/e-commerce-summarize-then-decide.yaml +88 -0
  171. provekit/templates/flows/e-commerce-tag-enrich.yaml +43 -0
  172. provekit/templates/flows/e-commerce-tone-rewrite.yaml +43 -0
  173. provekit/templates/flows/e-commerce-translate-reply.yaml +58 -0
  174. provekit/templates/flows/e-commerce-triage-route.yaml +73 -0
  175. provekit/templates/flows/education-action-items.yaml +43 -0
  176. provekit/templates/flows/education-answer.yaml +43 -0
  177. provekit/templates/flows/education-classify-intent.yaml +43 -0
  178. provekit/templates/flows/education-draft-critique-revise.yaml +75 -0
  179. provekit/templates/flows/education-extract-to-json.yaml +43 -0
  180. provekit/templates/flows/education-faq-match-answer.yaml +60 -0
  181. provekit/templates/flows/education-keyword-extract.yaml +43 -0
  182. provekit/templates/flows/education-language-route.yaml +103 -0
  183. provekit/templates/flows/education-moderation-gate.yaml +73 -0
  184. provekit/templates/flows/education-redact-summarize.yaml +59 -0
  185. provekit/templates/flows/education-score-gate.yaml +73 -0
  186. provekit/templates/flows/education-sentiment-route.yaml +73 -0
  187. provekit/templates/flows/education-severity-tiers.yaml +103 -0
  188. provekit/templates/flows/education-summarize-then-decide.yaml +88 -0
  189. provekit/templates/flows/education-tag-enrich.yaml +43 -0
  190. provekit/templates/flows/education-tone-rewrite.yaml +43 -0
  191. provekit/templates/flows/education-translate-reply.yaml +58 -0
  192. provekit/templates/flows/education-triage-route.yaml +73 -0
  193. provekit/templates/flows/finance-action-items.yaml +43 -0
  194. provekit/templates/flows/finance-answer.yaml +43 -0
  195. provekit/templates/flows/finance-classify-intent.yaml +43 -0
  196. provekit/templates/flows/finance-draft-critique-revise.yaml +75 -0
  197. provekit/templates/flows/finance-extract-to-json.yaml +43 -0
  198. provekit/templates/flows/finance-faq-match-answer.yaml +60 -0
  199. provekit/templates/flows/finance-keyword-extract.yaml +43 -0
  200. provekit/templates/flows/finance-language-route.yaml +103 -0
  201. provekit/templates/flows/finance-moderation-gate.yaml +73 -0
  202. provekit/templates/flows/finance-redact-summarize.yaml +59 -0
  203. provekit/templates/flows/finance-score-gate.yaml +73 -0
  204. provekit/templates/flows/finance-sentiment-route.yaml +73 -0
  205. provekit/templates/flows/finance-severity-tiers.yaml +103 -0
  206. provekit/templates/flows/finance-summarize-then-decide.yaml +88 -0
  207. provekit/templates/flows/finance-tag-enrich.yaml +43 -0
  208. provekit/templates/flows/finance-tone-rewrite.yaml +43 -0
  209. provekit/templates/flows/finance-translate-reply.yaml +58 -0
  210. provekit/templates/flows/finance-triage-route.yaml +73 -0
  211. provekit/templates/flows/food-delivery-action-items.yaml +43 -0
  212. provekit/templates/flows/food-delivery-answer.yaml +43 -0
  213. provekit/templates/flows/food-delivery-classify-intent.yaml +43 -0
  214. provekit/templates/flows/food-delivery-draft-critique-revise.yaml +75 -0
  215. provekit/templates/flows/food-delivery-extract-to-json.yaml +43 -0
  216. provekit/templates/flows/food-delivery-faq-match-answer.yaml +60 -0
  217. provekit/templates/flows/food-delivery-keyword-extract.yaml +43 -0
  218. provekit/templates/flows/food-delivery-language-route.yaml +103 -0
  219. provekit/templates/flows/food-delivery-moderation-gate.yaml +73 -0
  220. provekit/templates/flows/food-delivery-redact-summarize.yaml +59 -0
  221. provekit/templates/flows/food-delivery-score-gate.yaml +73 -0
  222. provekit/templates/flows/food-delivery-sentiment-route.yaml +73 -0
  223. provekit/templates/flows/food-delivery-severity-tiers.yaml +103 -0
  224. provekit/templates/flows/food-delivery-summarize-then-decide.yaml +88 -0
  225. provekit/templates/flows/food-delivery-tag-enrich.yaml +43 -0
  226. provekit/templates/flows/food-delivery-tone-rewrite.yaml +43 -0
  227. provekit/templates/flows/food-delivery-translate-reply.yaml +58 -0
  228. provekit/templates/flows/food-delivery-triage-route.yaml +73 -0
  229. provekit/templates/flows/gaming-support-action-items.yaml +43 -0
  230. provekit/templates/flows/gaming-support-answer.yaml +43 -0
  231. provekit/templates/flows/gaming-support-classify-intent.yaml +43 -0
  232. provekit/templates/flows/gaming-support-draft-critique-revise.yaml +75 -0
  233. provekit/templates/flows/gaming-support-extract-to-json.yaml +43 -0
  234. provekit/templates/flows/gaming-support-faq-match-answer.yaml +60 -0
  235. provekit/templates/flows/gaming-support-keyword-extract.yaml +43 -0
  236. provekit/templates/flows/gaming-support-language-route.yaml +103 -0
  237. provekit/templates/flows/gaming-support-moderation-gate.yaml +73 -0
  238. provekit/templates/flows/gaming-support-redact-summarize.yaml +59 -0
  239. provekit/templates/flows/gaming-support-score-gate.yaml +73 -0
  240. provekit/templates/flows/gaming-support-sentiment-route.yaml +73 -0
  241. provekit/templates/flows/gaming-support-severity-tiers.yaml +103 -0
  242. provekit/templates/flows/gaming-support-summarize-then-decide.yaml +88 -0
  243. provekit/templates/flows/gaming-support-tag-enrich.yaml +43 -0
  244. provekit/templates/flows/gaming-support-tone-rewrite.yaml +43 -0
  245. provekit/templates/flows/gaming-support-translate-reply.yaml +58 -0
  246. provekit/templates/flows/gaming-support-triage-route.yaml +73 -0
  247. provekit/templates/flows/healthcare-intake-action-items.yaml +43 -0
  248. provekit/templates/flows/healthcare-intake-answer.yaml +43 -0
  249. provekit/templates/flows/healthcare-intake-classify-intent.yaml +43 -0
  250. provekit/templates/flows/healthcare-intake-draft-critique-revise.yaml +75 -0
  251. provekit/templates/flows/healthcare-intake-extract-to-json.yaml +43 -0
  252. provekit/templates/flows/healthcare-intake-faq-match-answer.yaml +60 -0
  253. provekit/templates/flows/healthcare-intake-keyword-extract.yaml +43 -0
  254. provekit/templates/flows/healthcare-intake-language-route.yaml +103 -0
  255. provekit/templates/flows/healthcare-intake-moderation-gate.yaml +73 -0
  256. provekit/templates/flows/healthcare-intake-redact-summarize.yaml +59 -0
  257. provekit/templates/flows/healthcare-intake-score-gate.yaml +73 -0
  258. provekit/templates/flows/healthcare-intake-sentiment-route.yaml +73 -0
  259. provekit/templates/flows/healthcare-intake-severity-tiers.yaml +103 -0
  260. provekit/templates/flows/healthcare-intake-summarize-then-decide.yaml +88 -0
  261. provekit/templates/flows/healthcare-intake-tag-enrich.yaml +43 -0
  262. provekit/templates/flows/healthcare-intake-tone-rewrite.yaml +43 -0
  263. provekit/templates/flows/healthcare-intake-translate-reply.yaml +58 -0
  264. provekit/templates/flows/healthcare-intake-triage-route.yaml +73 -0
  265. provekit/templates/flows/hr-action-items.yaml +43 -0
  266. provekit/templates/flows/hr-answer.yaml +43 -0
  267. provekit/templates/flows/hr-classify-intent.yaml +43 -0
  268. provekit/templates/flows/hr-draft-critique-revise.yaml +75 -0
  269. provekit/templates/flows/hr-extract-to-json.yaml +43 -0
  270. provekit/templates/flows/hr-faq-match-answer.yaml +60 -0
  271. provekit/templates/flows/hr-keyword-extract.yaml +43 -0
  272. provekit/templates/flows/hr-language-route.yaml +103 -0
  273. provekit/templates/flows/hr-moderation-gate.yaml +73 -0
  274. provekit/templates/flows/hr-redact-summarize.yaml +59 -0
  275. provekit/templates/flows/hr-score-gate.yaml +73 -0
  276. provekit/templates/flows/hr-sentiment-route.yaml +73 -0
  277. provekit/templates/flows/hr-severity-tiers.yaml +103 -0
  278. provekit/templates/flows/hr-summarize-then-decide.yaml +88 -0
  279. provekit/templates/flows/hr-tag-enrich.yaml +43 -0
  280. provekit/templates/flows/hr-tone-rewrite.yaml +43 -0
  281. provekit/templates/flows/hr-translate-reply.yaml +58 -0
  282. provekit/templates/flows/hr-triage-route.yaml +73 -0
  283. provekit/templates/flows/insurance-action-items.yaml +43 -0
  284. provekit/templates/flows/insurance-answer.yaml +43 -0
  285. provekit/templates/flows/insurance-classify-intent.yaml +43 -0
  286. provekit/templates/flows/insurance-draft-critique-revise.yaml +75 -0
  287. provekit/templates/flows/insurance-extract-to-json.yaml +43 -0
  288. provekit/templates/flows/insurance-faq-match-answer.yaml +60 -0
  289. provekit/templates/flows/insurance-keyword-extract.yaml +43 -0
  290. provekit/templates/flows/insurance-language-route.yaml +103 -0
  291. provekit/templates/flows/insurance-moderation-gate.yaml +73 -0
  292. provekit/templates/flows/insurance-redact-summarize.yaml +59 -0
  293. provekit/templates/flows/insurance-score-gate.yaml +73 -0
  294. provekit/templates/flows/insurance-sentiment-route.yaml +73 -0
  295. provekit/templates/flows/insurance-severity-tiers.yaml +103 -0
  296. provekit/templates/flows/insurance-summarize-then-decide.yaml +88 -0
  297. provekit/templates/flows/insurance-tag-enrich.yaml +43 -0
  298. provekit/templates/flows/insurance-tone-rewrite.yaml +43 -0
  299. provekit/templates/flows/insurance-translate-reply.yaml +58 -0
  300. provekit/templates/flows/insurance-triage-route.yaml +73 -0
  301. provekit/templates/flows/it-helpdesk-action-items.yaml +43 -0
  302. provekit/templates/flows/it-helpdesk-answer.yaml +43 -0
  303. provekit/templates/flows/it-helpdesk-classify-intent.yaml +43 -0
  304. provekit/templates/flows/it-helpdesk-draft-critique-revise.yaml +75 -0
  305. provekit/templates/flows/it-helpdesk-extract-to-json.yaml +43 -0
  306. provekit/templates/flows/it-helpdesk-faq-match-answer.yaml +60 -0
  307. provekit/templates/flows/it-helpdesk-keyword-extract.yaml +43 -0
  308. provekit/templates/flows/it-helpdesk-language-route.yaml +103 -0
  309. provekit/templates/flows/it-helpdesk-moderation-gate.yaml +73 -0
  310. provekit/templates/flows/it-helpdesk-redact-summarize.yaml +59 -0
  311. provekit/templates/flows/it-helpdesk-score-gate.yaml +73 -0
  312. provekit/templates/flows/it-helpdesk-sentiment-route.yaml +73 -0
  313. provekit/templates/flows/it-helpdesk-severity-tiers.yaml +103 -0
  314. provekit/templates/flows/it-helpdesk-summarize-then-decide.yaml +88 -0
  315. provekit/templates/flows/it-helpdesk-tag-enrich.yaml +43 -0
  316. provekit/templates/flows/it-helpdesk-tone-rewrite.yaml +43 -0
  317. provekit/templates/flows/it-helpdesk-translate-reply.yaml +58 -0
  318. provekit/templates/flows/it-helpdesk-triage-route.yaml +73 -0
  319. provekit/templates/flows/legal-intake-action-items.yaml +43 -0
  320. provekit/templates/flows/legal-intake-answer.yaml +43 -0
  321. provekit/templates/flows/legal-intake-classify-intent.yaml +43 -0
  322. provekit/templates/flows/legal-intake-draft-critique-revise.yaml +75 -0
  323. provekit/templates/flows/legal-intake-extract-to-json.yaml +43 -0
  324. provekit/templates/flows/legal-intake-faq-match-answer.yaml +60 -0
  325. provekit/templates/flows/legal-intake-keyword-extract.yaml +43 -0
  326. provekit/templates/flows/legal-intake-language-route.yaml +103 -0
  327. provekit/templates/flows/legal-intake-moderation-gate.yaml +73 -0
  328. provekit/templates/flows/legal-intake-redact-summarize.yaml +59 -0
  329. provekit/templates/flows/legal-intake-score-gate.yaml +73 -0
  330. provekit/templates/flows/legal-intake-sentiment-route.yaml +73 -0
  331. provekit/templates/flows/legal-intake-severity-tiers.yaml +103 -0
  332. provekit/templates/flows/legal-intake-summarize-then-decide.yaml +88 -0
  333. provekit/templates/flows/legal-intake-tag-enrich.yaml +43 -0
  334. provekit/templates/flows/legal-intake-tone-rewrite.yaml +43 -0
  335. provekit/templates/flows/legal-intake-translate-reply.yaml +58 -0
  336. provekit/templates/flows/legal-intake-triage-route.yaml +73 -0
  337. provekit/templates/flows/logistics-action-items.yaml +43 -0
  338. provekit/templates/flows/logistics-answer.yaml +43 -0
  339. provekit/templates/flows/logistics-classify-intent.yaml +43 -0
  340. provekit/templates/flows/logistics-draft-critique-revise.yaml +75 -0
  341. provekit/templates/flows/logistics-extract-to-json.yaml +43 -0
  342. provekit/templates/flows/logistics-faq-match-answer.yaml +60 -0
  343. provekit/templates/flows/logistics-keyword-extract.yaml +43 -0
  344. provekit/templates/flows/logistics-language-route.yaml +103 -0
  345. provekit/templates/flows/logistics-moderation-gate.yaml +73 -0
  346. provekit/templates/flows/logistics-redact-summarize.yaml +59 -0
  347. provekit/templates/flows/logistics-score-gate.yaml +73 -0
  348. provekit/templates/flows/logistics-sentiment-route.yaml +73 -0
  349. provekit/templates/flows/logistics-severity-tiers.yaml +103 -0
  350. provekit/templates/flows/logistics-summarize-then-decide.yaml +88 -0
  351. provekit/templates/flows/logistics-tag-enrich.yaml +43 -0
  352. provekit/templates/flows/logistics-tone-rewrite.yaml +43 -0
  353. provekit/templates/flows/logistics-translate-reply.yaml +58 -0
  354. provekit/templates/flows/logistics-triage-route.yaml +73 -0
  355. provekit/templates/flows/marketing-action-items.yaml +43 -0
  356. provekit/templates/flows/marketing-answer.yaml +43 -0
  357. provekit/templates/flows/marketing-classify-intent.yaml +43 -0
  358. provekit/templates/flows/marketing-draft-critique-revise.yaml +75 -0
  359. provekit/templates/flows/marketing-extract-to-json.yaml +43 -0
  360. provekit/templates/flows/marketing-faq-match-answer.yaml +60 -0
  361. provekit/templates/flows/marketing-keyword-extract.yaml +43 -0
  362. provekit/templates/flows/marketing-language-route.yaml +103 -0
  363. provekit/templates/flows/marketing-moderation-gate.yaml +73 -0
  364. provekit/templates/flows/marketing-redact-summarize.yaml +59 -0
  365. provekit/templates/flows/marketing-score-gate.yaml +73 -0
  366. provekit/templates/flows/marketing-sentiment-route.yaml +73 -0
  367. provekit/templates/flows/marketing-severity-tiers.yaml +103 -0
  368. provekit/templates/flows/marketing-summarize-then-decide.yaml +88 -0
  369. provekit/templates/flows/marketing-tag-enrich.yaml +43 -0
  370. provekit/templates/flows/marketing-tone-rewrite.yaml +43 -0
  371. provekit/templates/flows/marketing-translate-reply.yaml +58 -0
  372. provekit/templates/flows/marketing-triage-route.yaml +73 -0
  373. provekit/templates/flows/nonprofit-action-items.yaml +43 -0
  374. provekit/templates/flows/nonprofit-answer.yaml +43 -0
  375. provekit/templates/flows/nonprofit-classify-intent.yaml +43 -0
  376. provekit/templates/flows/nonprofit-draft-critique-revise.yaml +75 -0
  377. provekit/templates/flows/nonprofit-extract-to-json.yaml +43 -0
  378. provekit/templates/flows/nonprofit-faq-match-answer.yaml +60 -0
  379. provekit/templates/flows/nonprofit-keyword-extract.yaml +43 -0
  380. provekit/templates/flows/nonprofit-language-route.yaml +103 -0
  381. provekit/templates/flows/nonprofit-moderation-gate.yaml +73 -0
  382. provekit/templates/flows/nonprofit-redact-summarize.yaml +59 -0
  383. provekit/templates/flows/nonprofit-score-gate.yaml +73 -0
  384. provekit/templates/flows/nonprofit-sentiment-route.yaml +73 -0
  385. provekit/templates/flows/nonprofit-severity-tiers.yaml +103 -0
  386. provekit/templates/flows/nonprofit-summarize-then-decide.yaml +88 -0
  387. provekit/templates/flows/nonprofit-tag-enrich.yaml +43 -0
  388. provekit/templates/flows/nonprofit-tone-rewrite.yaml +43 -0
  389. provekit/templates/flows/nonprofit-translate-reply.yaml +58 -0
  390. provekit/templates/flows/nonprofit-triage-route.yaml +73 -0
  391. provekit/templates/flows/real-estate-action-items.yaml +43 -0
  392. provekit/templates/flows/real-estate-answer.yaml +43 -0
  393. provekit/templates/flows/real-estate-classify-intent.yaml +43 -0
  394. provekit/templates/flows/real-estate-draft-critique-revise.yaml +75 -0
  395. provekit/templates/flows/real-estate-extract-to-json.yaml +43 -0
  396. provekit/templates/flows/real-estate-faq-match-answer.yaml +60 -0
  397. provekit/templates/flows/real-estate-keyword-extract.yaml +43 -0
  398. provekit/templates/flows/real-estate-language-route.yaml +103 -0
  399. provekit/templates/flows/real-estate-moderation-gate.yaml +73 -0
  400. provekit/templates/flows/real-estate-redact-summarize.yaml +59 -0
  401. provekit/templates/flows/real-estate-score-gate.yaml +73 -0
  402. provekit/templates/flows/real-estate-sentiment-route.yaml +73 -0
  403. provekit/templates/flows/real-estate-severity-tiers.yaml +103 -0
  404. provekit/templates/flows/real-estate-summarize-then-decide.yaml +88 -0
  405. provekit/templates/flows/real-estate-tag-enrich.yaml +43 -0
  406. provekit/templates/flows/real-estate-tone-rewrite.yaml +43 -0
  407. provekit/templates/flows/real-estate-translate-reply.yaml +58 -0
  408. provekit/templates/flows/real-estate-triage-route.yaml +73 -0
  409. provekit/templates/flows/recruiting-action-items.yaml +43 -0
  410. provekit/templates/flows/recruiting-answer.yaml +43 -0
  411. provekit/templates/flows/recruiting-classify-intent.yaml +43 -0
  412. provekit/templates/flows/recruiting-draft-critique-revise.yaml +75 -0
  413. provekit/templates/flows/recruiting-extract-to-json.yaml +43 -0
  414. provekit/templates/flows/recruiting-faq-match-answer.yaml +60 -0
  415. provekit/templates/flows/recruiting-keyword-extract.yaml +43 -0
  416. provekit/templates/flows/recruiting-language-route.yaml +103 -0
  417. provekit/templates/flows/recruiting-moderation-gate.yaml +73 -0
  418. provekit/templates/flows/recruiting-redact-summarize.yaml +59 -0
  419. provekit/templates/flows/recruiting-score-gate.yaml +73 -0
  420. provekit/templates/flows/recruiting-sentiment-route.yaml +73 -0
  421. provekit/templates/flows/recruiting-severity-tiers.yaml +103 -0
  422. provekit/templates/flows/recruiting-summarize-then-decide.yaml +88 -0
  423. provekit/templates/flows/recruiting-tag-enrich.yaml +43 -0
  424. provekit/templates/flows/recruiting-tone-rewrite.yaml +43 -0
  425. provekit/templates/flows/recruiting-translate-reply.yaml +58 -0
  426. provekit/templates/flows/recruiting-triage-route.yaml +73 -0
  427. provekit/templates/flows/research-action-items.yaml +43 -0
  428. provekit/templates/flows/research-answer.yaml +43 -0
  429. provekit/templates/flows/research-classify-intent.yaml +43 -0
  430. provekit/templates/flows/research-draft-critique-revise.yaml +75 -0
  431. provekit/templates/flows/research-extract-to-json.yaml +43 -0
  432. provekit/templates/flows/research-faq-match-answer.yaml +60 -0
  433. provekit/templates/flows/research-keyword-extract.yaml +43 -0
  434. provekit/templates/flows/research-language-route.yaml +103 -0
  435. provekit/templates/flows/research-moderation-gate.yaml +73 -0
  436. provekit/templates/flows/research-redact-summarize.yaml +59 -0
  437. provekit/templates/flows/research-score-gate.yaml +73 -0
  438. provekit/templates/flows/research-sentiment-route.yaml +73 -0
  439. provekit/templates/flows/research-severity-tiers.yaml +103 -0
  440. provekit/templates/flows/research-summarize-then-decide.yaml +88 -0
  441. provekit/templates/flows/research-tag-enrich.yaml +43 -0
  442. provekit/templates/flows/research-tone-rewrite.yaml +43 -0
  443. provekit/templates/flows/research-translate-reply.yaml +58 -0
  444. provekit/templates/flows/research-triage-route.yaml +73 -0
  445. provekit/templates/flows/sales-lead-action-items.yaml +43 -0
  446. provekit/templates/flows/sales-lead-answer.yaml +43 -0
  447. provekit/templates/flows/sales-lead-classify-intent.yaml +43 -0
  448. provekit/templates/flows/sales-lead-draft-critique-revise.yaml +75 -0
  449. provekit/templates/flows/sales-lead-extract-to-json.yaml +43 -0
  450. provekit/templates/flows/sales-lead-faq-match-answer.yaml +60 -0
  451. provekit/templates/flows/sales-lead-keyword-extract.yaml +43 -0
  452. provekit/templates/flows/sales-lead-language-route.yaml +103 -0
  453. provekit/templates/flows/sales-lead-moderation-gate.yaml +73 -0
  454. provekit/templates/flows/sales-lead-redact-summarize.yaml +59 -0
  455. provekit/templates/flows/sales-lead-score-gate.yaml +73 -0
  456. provekit/templates/flows/sales-lead-sentiment-route.yaml +73 -0
  457. provekit/templates/flows/sales-lead-severity-tiers.yaml +103 -0
  458. provekit/templates/flows/sales-lead-summarize-then-decide.yaml +88 -0
  459. provekit/templates/flows/sales-lead-tag-enrich.yaml +43 -0
  460. provekit/templates/flows/sales-lead-tone-rewrite.yaml +43 -0
  461. provekit/templates/flows/sales-lead-translate-reply.yaml +58 -0
  462. provekit/templates/flows/sales-lead-triage-route.yaml +73 -0
  463. provekit/templates/flows/travel-action-items.yaml +43 -0
  464. provekit/templates/flows/travel-answer.yaml +43 -0
  465. provekit/templates/flows/travel-classify-intent.yaml +43 -0
  466. provekit/templates/flows/travel-draft-critique-revise.yaml +75 -0
  467. provekit/templates/flows/travel-extract-to-json.yaml +43 -0
  468. provekit/templates/flows/travel-faq-match-answer.yaml +60 -0
  469. provekit/templates/flows/travel-keyword-extract.yaml +43 -0
  470. provekit/templates/flows/travel-language-route.yaml +103 -0
  471. provekit/templates/flows/travel-moderation-gate.yaml +73 -0
  472. provekit/templates/flows/travel-redact-summarize.yaml +59 -0
  473. provekit/templates/flows/travel-score-gate.yaml +73 -0
  474. provekit/templates/flows/travel-sentiment-route.yaml +73 -0
  475. provekit/templates/flows/travel-severity-tiers.yaml +103 -0
  476. provekit/templates/flows/travel-summarize-then-decide.yaml +88 -0
  477. provekit/templates/flows/travel-tag-enrich.yaml +43 -0
  478. provekit/templates/flows/travel-tone-rewrite.yaml +43 -0
  479. provekit/templates/flows/travel-translate-reply.yaml +58 -0
  480. provekit/templates/flows/travel-triage-route.yaml +73 -0
  481. provekit-0.1.0.dist-info/METADATA +86 -0
  482. provekit-0.1.0.dist-info/RECORD +485 -0
  483. provekit-0.1.0.dist-info/WHEEL +5 -0
  484. provekit-0.1.0.dist-info/entry_points.txt +2 -0
  485. provekit-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,43 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Developer Tooling · tag & enrich
4
+ description: Produce a JSON list of topic tags for a issue.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ issue: Build fails intermittently on CI, passes locally
16
+ - id: tag
17
+ type: prompt
18
+ position:
19
+ x: 340
20
+ y: 160
21
+ data:
22
+ title: Tag
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Return a JSON array of 3 short topic tags for the input. Only the JSON array.
27
+ user: '{{input.issue}}'
28
+ - id: out
29
+ type: output
30
+ position:
31
+ x: 640
32
+ y: 160
33
+ data:
34
+ title: Tags
35
+ config:
36
+ value: '{{tag.text}}'
37
+ edges:
38
+ - id: e-in-tag
39
+ source: in
40
+ target: tag
41
+ - id: e-tag-out
42
+ source: tag
43
+ target: out
@@ -0,0 +1,43 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Developer Tooling · tone rewrite
4
+ description: Rewrite a issue in a warm, professional tone.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ issue: Build fails intermittently on CI, passes locally
16
+ - id: rw
17
+ type: prompt
18
+ position:
19
+ x: 340
20
+ y: 160
21
+ data:
22
+ title: Rewrite
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Rewrite the input in a warm, professional tone. Output only the rewrite.
27
+ user: '{{input.issue}}'
28
+ - id: out
29
+ type: output
30
+ position:
31
+ x: 640
32
+ y: 160
33
+ data:
34
+ title: Rewritten
35
+ config:
36
+ value: '{{rw.text}}'
37
+ edges:
38
+ - id: e-in-rw
39
+ source: in
40
+ target: rw
41
+ - id: e-rw-out
42
+ source: rw
43
+ target: out
@@ -0,0 +1,58 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Developer Tooling · translate & reply
4
+ description: Translate a issue to English, then draft a reply.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ issue: Build fails intermittently on CI, passes locally
16
+ - id: tr
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 160
21
+ data:
22
+ title: To English
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Translate the input to English. Output only the translation.
27
+ user: '{{input.issue}}'
28
+ - id: rep
29
+ type: prompt
30
+ position:
31
+ x: 560
32
+ y: 160
33
+ data:
34
+ title: Reply
35
+ config:
36
+ connection: Demo Assistant (mock)
37
+ model: demo-mock
38
+ system: You are a developer tooling assistant.
39
+ user: '{{tr.text}}'
40
+ - id: out
41
+ type: output
42
+ position:
43
+ x: 820
44
+ y: 160
45
+ data:
46
+ title: Reply
47
+ config:
48
+ value: '{{rep.text}}'
49
+ edges:
50
+ - id: e-in-tr
51
+ source: in
52
+ target: tr
53
+ - id: e-tr-rep
54
+ source: tr
55
+ target: rep
56
+ - id: e-rep-out
57
+ source: rep
58
+ target: out
@@ -0,0 +1,73 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Developer Tooling · triage & route
4
+ description: Draft a reply, then route urgent vs normal on a keyword check.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 200
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ issue: Build fails intermittently on CI, passes locally
16
+ - id: reply
17
+ type: prompt
18
+ position:
19
+ x: 320
20
+ y: 200
21
+ data:
22
+ title: Draft
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: You are a developer tooling assistant. Note anything urgent.
27
+ user: '{{input.issue}}'
28
+ - id: cond
29
+ type: condition
30
+ position:
31
+ x: 620
32
+ y: 200
33
+ data:
34
+ title: Urgent?
35
+ config:
36
+ left: '{{reply.text}}'
37
+ op: contains
38
+ right: urgent
39
+ - id: human
40
+ type: output
41
+ position:
42
+ x: 900
43
+ y: 110
44
+ data:
45
+ title: Human review
46
+ config:
47
+ value: 'escalate: {{reply.text}}'
48
+ - id: auto
49
+ type: output
50
+ position:
51
+ x: 900
52
+ y: 300
53
+ data:
54
+ title: Auto-send
55
+ config:
56
+ value: '{{reply.text}}'
57
+ edges:
58
+ - id: e-in-reply
59
+ source: in
60
+ target: reply
61
+ - id: e-reply-cond
62
+ source: reply
63
+ target: cond
64
+ - id: e-cond-human
65
+ source: cond
66
+ target: human
67
+ condition:
68
+ branch: 'true'
69
+ - id: e-cond-auto
70
+ source: cond
71
+ target: auto
72
+ condition:
73
+ branch: 'false'
@@ -0,0 +1,43 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Devrel · action items
4
+ description: Turn a question into a JSON list of action items.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ question: Does your API support streaming responses over websockets?
16
+ - id: ai
17
+ type: prompt
18
+ position:
19
+ x: 340
20
+ y: 160
21
+ data:
22
+ title: Extract actions
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: List concrete action items as a JSON array of short strings. Only the JSON array.
27
+ user: '{{input.question}}'
28
+ - id: out
29
+ type: output
30
+ position:
31
+ x: 640
32
+ y: 160
33
+ data:
34
+ title: Action items
35
+ config:
36
+ value: '{{ai.text}}'
37
+ edges:
38
+ - id: e-in-ai
39
+ source: in
40
+ target: ai
41
+ - id: e-ai-out
42
+ source: ai
43
+ target: out
@@ -0,0 +1,43 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Devrel · answer
4
+ description: Read a question, draft a helpful reply.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ question: Does your API support streaming responses over websockets?
16
+ - id: ans
17
+ type: prompt
18
+ position:
19
+ x: 340
20
+ y: 160
21
+ data:
22
+ title: Draft reply
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: You are a concise devrel assistant.
27
+ user: '{{input.question}}'
28
+ - id: out
29
+ type: output
30
+ position:
31
+ x: 640
32
+ y: 160
33
+ data:
34
+ title: Reply
35
+ config:
36
+ value: '{{ans.text}}'
37
+ edges:
38
+ - id: e-in-ans
39
+ source: in
40
+ target: ans
41
+ - id: e-ans-out
42
+ source: ans
43
+ target: out
@@ -0,0 +1,43 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Devrel · classify intent
4
+ description: Classify a question into one label.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ question: Does your API support streaming responses over websockets?
16
+ - id: cls
17
+ type: prompt
18
+ position:
19
+ x: 340
20
+ y: 160
21
+ data:
22
+ title: Classify
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: 'Classify into exactly one of: urgent, question, complaint, other. Reply with only the label.'
27
+ user: '{{input.question}}'
28
+ - id: out
29
+ type: output
30
+ position:
31
+ x: 640
32
+ y: 160
33
+ data:
34
+ title: Label
35
+ config:
36
+ value: '{{cls.text}}'
37
+ edges:
38
+ - id: e-in-cls
39
+ source: in
40
+ target: cls
41
+ - id: e-cls-out
42
+ source: cls
43
+ target: out
@@ -0,0 +1,75 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Devrel · draft, critique, revise
4
+ description: Draft a reply, self-critique it, then produce a revised final.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ question: Does your API support streaming responses over websockets?
16
+ - id: draft
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 160
21
+ data:
22
+ title: Draft
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: You are a devrel assistant.
27
+ user: '{{input.question}}'
28
+ - id: crit
29
+ type: prompt
30
+ position:
31
+ x: 560
32
+ y: 160
33
+ data:
34
+ title: Critique
35
+ config:
36
+ connection: Demo Assistant (mock)
37
+ model: demo-mock
38
+ system: List one concrete way to improve this reply. Be brief.
39
+ user: '{{draft.text}}'
40
+ - id: rev
41
+ type: prompt
42
+ position:
43
+ x: 820
44
+ y: 160
45
+ data:
46
+ title: Revise
47
+ config:
48
+ connection: Demo Assistant (mock)
49
+ model: demo-mock
50
+ system: Rewrite the reply applying the critique. Output only the improved reply.
51
+ user: 'Reply: {{draft.text}}
52
+
53
+ Critique: {{crit.text}}'
54
+ - id: out
55
+ type: output
56
+ position:
57
+ x: 1080
58
+ y: 160
59
+ data:
60
+ title: Final
61
+ config:
62
+ value: '{{rev.text}}'
63
+ edges:
64
+ - id: e-in-draft
65
+ source: in
66
+ target: draft
67
+ - id: e-draft-crit
68
+ source: draft
69
+ target: crit
70
+ - id: e-crit-rev
71
+ source: crit
72
+ target: rev
73
+ - id: e-rev-out
74
+ source: rev
75
+ target: out
@@ -0,0 +1,43 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Devrel · extract to JSON
4
+ description: Extract structured fields from a question as JSON.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ question: Does your API support streaming responses over websockets?
16
+ - id: ex
17
+ type: prompt
18
+ position:
19
+ x: 340
20
+ y: 160
21
+ data:
22
+ title: Extract
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Extract the key fields. Return ONLY valid JSON, null when absent.
27
+ user: 'Extract from: {{input.question}}'
28
+ - id: out
29
+ type: output
30
+ position:
31
+ x: 640
32
+ y: 160
33
+ data:
34
+ title: JSON
35
+ config:
36
+ value: '{{ex.text}}'
37
+ edges:
38
+ - id: e-in-ex
39
+ source: in
40
+ target: ex
41
+ - id: e-ex-out
42
+ source: ex
43
+ target: out
@@ -0,0 +1,60 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Devrel · FAQ match & answer
4
+ description: Match a question to a topic, then answer in that context.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ question: Does your API support streaming responses over websockets?
16
+ - id: topic
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 160
21
+ data:
22
+ title: Match topic
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: 'Pick the single best topic: billing, technical, account, other. Only the word.'
27
+ user: '{{input.question}}'
28
+ - id: ans
29
+ type: prompt
30
+ position:
31
+ x: 560
32
+ y: 160
33
+ data:
34
+ title: Answer
35
+ config:
36
+ connection: Demo Assistant (mock)
37
+ model: demo-mock
38
+ system: You are a devrel assistant. Tailor the answer to the matched topic.
39
+ user: 'Topic: {{topic.text}}
40
+
41
+ Question: {{input.question}}'
42
+ - id: out
43
+ type: output
44
+ position:
45
+ x: 820
46
+ y: 160
47
+ data:
48
+ title: Answer
49
+ config:
50
+ value: '{{ans.text}}'
51
+ edges:
52
+ - id: e-in-topic
53
+ source: in
54
+ target: topic
55
+ - id: e-topic-ans
56
+ source: topic
57
+ target: ans
58
+ - id: e-ans-out
59
+ source: ans
60
+ target: out
@@ -0,0 +1,43 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Devrel · keyword extract
4
+ description: Pull the top keywords from a question as a JSON array.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 160
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ question: Does your API support streaming responses over websockets?
16
+ - id: kw
17
+ type: prompt
18
+ position:
19
+ x: 340
20
+ y: 160
21
+ data:
22
+ title: Keywords
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Return a JSON array of the 5 most important keywords. Only the JSON array.
27
+ user: '{{input.question}}'
28
+ - id: out
29
+ type: output
30
+ position:
31
+ x: 640
32
+ y: 160
33
+ data:
34
+ title: Keywords
35
+ config:
36
+ value: '{{kw.text}}'
37
+ edges:
38
+ - id: e-in-kw
39
+ source: in
40
+ target: kw
41
+ - id: e-kw-out
42
+ source: kw
43
+ target: out
@@ -0,0 +1,103 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Devrel · language route
4
+ description: Detect the language of a question; answer directly if English, else translate first.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 200
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ question: Does your API support streaming responses over websockets?
16
+ - id: lang
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 200
21
+ data:
22
+ title: Detect
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Reply with only the language name of the input.
27
+ user: '{{input.question}}'
28
+ - id: cond
29
+ type: condition
30
+ position:
31
+ x: 560
32
+ y: 200
33
+ data:
34
+ title: English?
35
+ config:
36
+ left: '{{lang.text}}'
37
+ op: contains
38
+ right: english
39
+ - id: en
40
+ type: prompt
41
+ position:
42
+ x: 820
43
+ y: 110
44
+ data:
45
+ title: Answer
46
+ config:
47
+ connection: Demo Assistant (mock)
48
+ model: demo-mock
49
+ system: You are a devrel assistant.
50
+ user: '{{input.question}}'
51
+ - id: xl
52
+ type: prompt
53
+ position:
54
+ x: 820
55
+ y: 300
56
+ data:
57
+ title: Translate & answer
58
+ config:
59
+ connection: Demo Assistant (mock)
60
+ model: demo-mock
61
+ system: Translate to English, then answer as a devrel assistant.
62
+ user: '{{input.question}}'
63
+ - id: o1
64
+ type: output
65
+ position:
66
+ x: 1100
67
+ y: 110
68
+ data:
69
+ title: Reply (EN)
70
+ config:
71
+ value: '{{en.text}}'
72
+ - id: o2
73
+ type: output
74
+ position:
75
+ x: 1100
76
+ y: 300
77
+ data:
78
+ title: Reply (translated)
79
+ config:
80
+ value: '{{xl.text}}'
81
+ edges:
82
+ - id: e-in-lang
83
+ source: in
84
+ target: lang
85
+ - id: e-lang-cond
86
+ source: lang
87
+ target: cond
88
+ - id: e-cond-en
89
+ source: cond
90
+ target: en
91
+ condition:
92
+ branch: 'true'
93
+ - id: e-cond-xl
94
+ source: cond
95
+ target: xl
96
+ condition:
97
+ branch: 'false'
98
+ - id: e-en-o1
99
+ source: en
100
+ target: o1
101
+ - id: e-xl-o2
102
+ source: xl
103
+ target: o2