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: Sales Lead · extract to JSON
4
+ description: Extract structured fields from a message 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
+ message: We're a 200-person team evaluating your Pro plan for Q3
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.message}}'
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: Sales Lead · FAQ match & answer
4
+ description: Match a message 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
+ message: We're a 200-person team evaluating your Pro plan for Q3
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.message}}'
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 sales lead assistant. Tailor the answer to the matched topic.
39
+ user: 'Topic: {{topic.text}}
40
+
41
+ Question: {{input.message}}'
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: Sales Lead · keyword extract
4
+ description: Pull the top keywords from a message 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
+ message: We're a 200-person team evaluating your Pro plan for Q3
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.message}}'
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: Sales Lead · language route
4
+ description: Detect the language of a message; 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
+ message: We're a 200-person team evaluating your Pro plan for Q3
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.message}}'
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 sales lead assistant.
50
+ user: '{{input.message}}'
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 sales lead assistant.
62
+ user: '{{input.message}}'
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
@@ -0,0 +1,73 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Sales Lead · moderation gate
4
+ description: Check a message for policy issues before publishing.
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
+ message: We're a 200-person team evaluating your Pro plan for Q3
16
+ - id: mod
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 200
21
+ data:
22
+ title: Moderate
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Reply with 'flag' if the text is abusive or unsafe, else 'ok'. Only that word.
27
+ user: '{{input.message}}'
28
+ - id: cond
29
+ type: condition
30
+ position:
31
+ x: 560
32
+ y: 200
33
+ data:
34
+ title: Flagged?
35
+ config:
36
+ left: '{{mod.text}}'
37
+ op: contains
38
+ right: flag
39
+ - id: block
40
+ type: output
41
+ position:
42
+ x: 820
43
+ y: 110
44
+ data:
45
+ title: Blocked
46
+ config:
47
+ value: blocked for review
48
+ - id: pub
49
+ type: output
50
+ position:
51
+ x: 820
52
+ y: 300
53
+ data:
54
+ title: Published
55
+ config:
56
+ value: '{{input.message}}'
57
+ edges:
58
+ - id: e-in-mod
59
+ source: in
60
+ target: mod
61
+ - id: e-mod-cond
62
+ source: mod
63
+ target: cond
64
+ - id: e-cond-block
65
+ source: cond
66
+ target: block
67
+ condition:
68
+ branch: 'true'
69
+ - id: e-cond-pub
70
+ source: cond
71
+ target: pub
72
+ condition:
73
+ branch: 'false'
@@ -0,0 +1,59 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Sales Lead · redact & summarize
4
+ description: Redact personal data from a message, then summarize the rest.
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
+ message: We're a 200-person team evaluating your Pro plan for Q3
16
+ - id: red
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 160
21
+ data:
22
+ title: Redact PII
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Replace names, emails, phone numbers, and card numbers with [REDACTED]. Output only the redacted
27
+ text.
28
+ user: '{{input.message}}'
29
+ - id: sum
30
+ type: prompt
31
+ position:
32
+ x: 560
33
+ y: 160
34
+ data:
35
+ title: Summarize
36
+ config:
37
+ connection: Demo Assistant (mock)
38
+ model: demo-mock
39
+ system: Summarize in one sentence.
40
+ user: '{{red.text}}'
41
+ - id: out
42
+ type: output
43
+ position:
44
+ x: 820
45
+ y: 160
46
+ data:
47
+ title: Safe summary
48
+ config:
49
+ value: '{{sum.text}}'
50
+ edges:
51
+ - id: e-in-red
52
+ source: in
53
+ target: red
54
+ - id: e-red-sum
55
+ source: red
56
+ target: sum
57
+ - id: e-sum-out
58
+ source: sum
59
+ target: out
@@ -0,0 +1,73 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Sales Lead · score & gate
4
+ description: Score a message 1-5 for priority, then gate on the number.
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
+ message: We're a 200-person team evaluating your Pro plan for Q3
16
+ - id: score
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 200
21
+ data:
22
+ title: Score
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Rate priority from 1 (low) to 5 (high). Reply with only the number.
27
+ user: '{{input.message}}'
28
+ - id: cond
29
+ type: condition
30
+ position:
31
+ x: 560
32
+ y: 200
33
+ data:
34
+ title: '> 3?'
35
+ config:
36
+ left: '{{score.text}}'
37
+ op: '>'
38
+ right: '3'
39
+ - id: hi
40
+ type: output
41
+ position:
42
+ x: 820
43
+ y: 110
44
+ data:
45
+ title: High priority
46
+ config:
47
+ value: 'priority {{score.text}}: escalate'
48
+ - id: lo
49
+ type: output
50
+ position:
51
+ x: 820
52
+ y: 300
53
+ data:
54
+ title: Normal
55
+ config:
56
+ value: 'priority {{score.text}}: queue'
57
+ edges:
58
+ - id: e-in-score
59
+ source: in
60
+ target: score
61
+ - id: e-score-cond
62
+ source: score
63
+ target: cond
64
+ - id: e-cond-hi
65
+ source: cond
66
+ target: hi
67
+ condition:
68
+ branch: 'true'
69
+ - id: e-cond-lo
70
+ source: cond
71
+ target: lo
72
+ condition:
73
+ branch: 'false'
@@ -0,0 +1,73 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Sales Lead · sentiment route
4
+ description: Detect sentiment of a message, escalate the negative ones.
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
+ message: We're a 200-person team evaluating your Pro plan for Q3
16
+ - id: sent
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 200
21
+ data:
22
+ title: Sentiment
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Classify sentiment as positive, negative, or neutral. Reply with only that word.
27
+ user: '{{input.message}}'
28
+ - id: cond
29
+ type: condition
30
+ position:
31
+ x: 560
32
+ y: 200
33
+ data:
34
+ title: Negative?
35
+ config:
36
+ left: '{{sent.text}}'
37
+ op: contains
38
+ right: negative
39
+ - id: esc
40
+ type: output
41
+ position:
42
+ x: 820
43
+ y: 110
44
+ data:
45
+ title: Escalate
46
+ config:
47
+ value: unhappy customer — escalate
48
+ - id: ok
49
+ type: output
50
+ position:
51
+ x: 820
52
+ y: 300
53
+ data:
54
+ title: Thank
55
+ config:
56
+ value: thanks for the feedback
57
+ edges:
58
+ - id: e-in-sent
59
+ source: in
60
+ target: sent
61
+ - id: e-sent-cond
62
+ source: sent
63
+ target: cond
64
+ - id: e-cond-esc
65
+ source: cond
66
+ target: esc
67
+ condition:
68
+ branch: 'true'
69
+ - id: e-cond-ok
70
+ source: cond
71
+ target: ok
72
+ condition:
73
+ branch: 'false'
@@ -0,0 +1,103 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Sales Lead · severity tiers
4
+ description: Classify severity of a message, then route across three tiers with chained checks.
5
+ nodes:
6
+ - id: in
7
+ type: input
8
+ position:
9
+ x: 40
10
+ y: 240
11
+ data:
12
+ title: Input
13
+ config:
14
+ sample:
15
+ message: We're a 200-person team evaluating your Pro plan for Q3
16
+ - id: sev
17
+ type: prompt
18
+ position:
19
+ x: 280
20
+ y: 240
21
+ data:
22
+ title: Severity
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Classify severity as high, medium, or low. Reply with only that word.
27
+ user: '{{input.message}}'
28
+ - id: c1
29
+ type: condition
30
+ position:
31
+ x: 540
32
+ y: 240
33
+ data:
34
+ title: High?
35
+ config:
36
+ left: '{{sev.text}}'
37
+ op: contains
38
+ right: high
39
+ - id: p1
40
+ type: output
41
+ position:
42
+ x: 820
43
+ y: 120
44
+ data:
45
+ title: Tier 1 (page)
46
+ config:
47
+ value: 'P1: page on-call'
48
+ - id: c2
49
+ type: condition
50
+ position:
51
+ x: 820
52
+ y: 300
53
+ data:
54
+ title: Medium?
55
+ config:
56
+ left: '{{sev.text}}'
57
+ op: contains
58
+ right: medium
59
+ - id: p2
60
+ type: output
61
+ position:
62
+ x: 1080
63
+ y: 240
64
+ data:
65
+ title: Tier 2 (queue)
66
+ config:
67
+ value: 'P2: engineer queue'
68
+ - id: p3
69
+ type: output
70
+ position:
71
+ x: 1080
72
+ y: 380
73
+ data:
74
+ title: Tier 3 (backlog)
75
+ config:
76
+ value: 'P3: backlog'
77
+ edges:
78
+ - id: e-in-sev
79
+ source: in
80
+ target: sev
81
+ - id: e-sev-c1
82
+ source: sev
83
+ target: c1
84
+ - id: e-c1-p1
85
+ source: c1
86
+ target: p1
87
+ condition:
88
+ branch: 'true'
89
+ - id: e-c1-c2
90
+ source: c1
91
+ target: c2
92
+ condition:
93
+ branch: 'false'
94
+ - id: e-c2-p2
95
+ source: c2
96
+ target: p2
97
+ condition:
98
+ branch: 'true'
99
+ - id: e-c2-p3
100
+ source: c2
101
+ target: p3
102
+ condition:
103
+ branch: 'false'
@@ -0,0 +1,88 @@
1
+ version: 1
2
+ kind: flow
3
+ name: Sales Lead · summarize then decide
4
+ description: Summarize a message, then branch on whether it needs follow-up.
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
+ message: We're a 200-person team evaluating your Pro plan for Q3
16
+ - id: sum
17
+ type: prompt
18
+ position:
19
+ x: 300
20
+ y: 200
21
+ data:
22
+ title: Summarize
23
+ config:
24
+ connection: Demo Assistant (mock)
25
+ model: demo-mock
26
+ system: Summarize in one sentence.
27
+ user: '{{input.message}}'
28
+ - id: dec
29
+ type: prompt
30
+ position:
31
+ x: 560
32
+ y: 200
33
+ data:
34
+ title: Needs follow-up?
35
+ config:
36
+ connection: Demo Assistant (mock)
37
+ model: demo-mock
38
+ system: 'Answer yes or no: does this need a human follow-up? Reply with only yes or no.'
39
+ user: '{{sum.text}}'
40
+ - id: cond
41
+ type: condition
42
+ position:
43
+ x: 820
44
+ y: 200
45
+ data:
46
+ title: Follow up?
47
+ config:
48
+ left: '{{dec.text}}'
49
+ op: contains
50
+ right: 'yes'
51
+ - id: y
52
+ type: output
53
+ position:
54
+ x: 1080
55
+ y: 110
56
+ data:
57
+ title: Queue follow-up
58
+ config:
59
+ value: 'follow-up: {{sum.text}}'
60
+ - id: n
61
+ type: output
62
+ position:
63
+ x: 1080
64
+ y: 300
65
+ data:
66
+ title: Close
67
+ config:
68
+ value: 'resolved: {{sum.text}}'
69
+ edges:
70
+ - id: e-in-sum
71
+ source: in
72
+ target: sum
73
+ - id: e-sum-dec
74
+ source: sum
75
+ target: dec
76
+ - id: e-dec-cond
77
+ source: dec
78
+ target: cond
79
+ - id: e-cond-y
80
+ source: cond
81
+ target: y
82
+ condition:
83
+ branch: 'true'
84
+ - id: e-cond-n
85
+ source: cond
86
+ target: n
87
+ condition:
88
+ branch: 'false'