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: Legal Intake · action items
4
+ description: Turn a inquiry 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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: Legal Intake · answer
4
+ description: Read a inquiry, 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
+ inquiry: Landlord kept my deposit after I moved out on time
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 legal intake assistant.
27
+ user: '{{input.inquiry}}'
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: Legal Intake · classify intent
4
+ description: Classify a inquiry 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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: Legal Intake · 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
+ inquiry: Landlord kept my deposit after I moved out on time
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 legal intake assistant.
27
+ user: '{{input.inquiry}}'
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: Legal Intake · extract to JSON
4
+ description: Extract structured fields from a inquiry 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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: Legal Intake · FAQ match & answer
4
+ description: Match a inquiry 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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 legal intake assistant. Tailor the answer to the matched topic.
39
+ user: 'Topic: {{topic.text}}
40
+
41
+ Question: {{input.inquiry}}'
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: Legal Intake · keyword extract
4
+ description: Pull the top keywords from a inquiry 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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: Legal Intake · language route
4
+ description: Detect the language of a inquiry; 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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 legal intake assistant.
50
+ user: '{{input.inquiry}}'
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 legal intake assistant.
62
+ user: '{{input.inquiry}}'
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: Legal Intake · moderation gate
4
+ description: Check a inquiry 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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.inquiry}}'
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: Legal Intake · redact & summarize
4
+ description: Redact personal data from a inquiry, 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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: Legal Intake · score & gate
4
+ description: Score a inquiry 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
+ inquiry: Landlord kept my deposit after I moved out on time
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.inquiry}}'
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'