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.
- provekit/__init__.py +0 -0
- provekit/cli.py +256 -0
- provekit/config.py +77 -0
- provekit/database.py +132 -0
- provekit/main.py +115 -0
- provekit/migrations/env.py +40 -0
- provekit/migrations/script.py.mako +22 -0
- provekit/migrations/versions/323eb73d463c_user_email_verified.py +32 -0
- provekit/migrations/versions/49e8ab812556_baseline_schema.py +241 -0
- provekit/migrations/versions/819ed5ff183e_workspace_ingest_key.py +35 -0
- provekit/migrations/versions/a1b2c3d4e5f6_user_token_version.py +27 -0
- provekit/models.py +191 -0
- provekit/observability.py +154 -0
- provekit/routers/__init__.py +0 -0
- provekit/routers/auth.py +150 -0
- provekit/routers/connections.py +270 -0
- provekit/routers/deployments.py +161 -0
- provekit/routers/flows.py +188 -0
- provekit/routers/library.py +265 -0
- provekit/routers/prompts.py +72 -0
- provekit/routers/run.py +203 -0
- provekit/routers/runtime.py +103 -0
- provekit/routers/traces.py +65 -0
- provekit/routers/usage.py +42 -0
- provekit/services/__init__.py +0 -0
- provekit/services/assertions.py +135 -0
- provekit/services/auth.py +131 -0
- provekit/services/deploy.py +63 -0
- provekit/services/dispatch.py +313 -0
- provekit/services/email.py +38 -0
- provekit/services/flow.py +299 -0
- provekit/services/limits.py +109 -0
- provekit/services/masking.py +45 -0
- provekit/services/netguard.py +69 -0
- provekit/services/otel.py +146 -0
- provekit/services/promptfoo.py +92 -0
- provekit/services/providers/__init__.py +0 -0
- provekit/services/providers/a2a_client.py +110 -0
- provekit/services/providers/agent_http.py +55 -0
- provekit/services/providers/llm.py +364 -0
- provekit/services/providers/mcp_client.py +289 -0
- provekit/services/runstore.py +93 -0
- provekit/services/sealing.py +106 -0
- provekit/services/templates.py +69 -0
- provekit/services/testfile.py +122 -0
- provekit/services/tooling.py +194 -0
- provekit/services/workspace.py +91 -0
- provekit/templates/flows/_manifest.json +2594 -0
- provekit/templates/flows/banking-action-items.yaml +43 -0
- provekit/templates/flows/banking-answer.yaml +43 -0
- provekit/templates/flows/banking-classify-intent.yaml +43 -0
- provekit/templates/flows/banking-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/banking-extract-to-json.yaml +43 -0
- provekit/templates/flows/banking-faq-match-answer.yaml +60 -0
- provekit/templates/flows/banking-keyword-extract.yaml +43 -0
- provekit/templates/flows/banking-language-route.yaml +103 -0
- provekit/templates/flows/banking-moderation-gate.yaml +73 -0
- provekit/templates/flows/banking-redact-summarize.yaml +59 -0
- provekit/templates/flows/banking-score-gate.yaml +73 -0
- provekit/templates/flows/banking-sentiment-route.yaml +73 -0
- provekit/templates/flows/banking-severity-tiers.yaml +103 -0
- provekit/templates/flows/banking-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/banking-tag-enrich.yaml +43 -0
- provekit/templates/flows/banking-tone-rewrite.yaml +43 -0
- provekit/templates/flows/banking-translate-reply.yaml +58 -0
- provekit/templates/flows/banking-triage-route.yaml +73 -0
- provekit/templates/flows/community-forum-action-items.yaml +43 -0
- provekit/templates/flows/community-forum-answer.yaml +43 -0
- provekit/templates/flows/community-forum-classify-intent.yaml +43 -0
- provekit/templates/flows/community-forum-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/community-forum-extract-to-json.yaml +43 -0
- provekit/templates/flows/community-forum-faq-match-answer.yaml +60 -0
- provekit/templates/flows/community-forum-keyword-extract.yaml +43 -0
- provekit/templates/flows/community-forum-language-route.yaml +103 -0
- provekit/templates/flows/community-forum-moderation-gate.yaml +73 -0
- provekit/templates/flows/community-forum-redact-summarize.yaml +59 -0
- provekit/templates/flows/community-forum-score-gate.yaml +73 -0
- provekit/templates/flows/community-forum-sentiment-route.yaml +73 -0
- provekit/templates/flows/community-forum-severity-tiers.yaml +103 -0
- provekit/templates/flows/community-forum-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/community-forum-tag-enrich.yaml +43 -0
- provekit/templates/flows/community-forum-tone-rewrite.yaml +43 -0
- provekit/templates/flows/community-forum-translate-reply.yaml +58 -0
- provekit/templates/flows/community-forum-triage-route.yaml +73 -0
- provekit/templates/flows/content-moderation-action-items.yaml +43 -0
- provekit/templates/flows/content-moderation-answer.yaml +43 -0
- provekit/templates/flows/content-moderation-classify-intent.yaml +43 -0
- provekit/templates/flows/content-moderation-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/content-moderation-extract-to-json.yaml +43 -0
- provekit/templates/flows/content-moderation-faq-match-answer.yaml +60 -0
- provekit/templates/flows/content-moderation-keyword-extract.yaml +43 -0
- provekit/templates/flows/content-moderation-language-route.yaml +103 -0
- provekit/templates/flows/content-moderation-moderation-gate.yaml +73 -0
- provekit/templates/flows/content-moderation-redact-summarize.yaml +59 -0
- provekit/templates/flows/content-moderation-score-gate.yaml +73 -0
- provekit/templates/flows/content-moderation-sentiment-route.yaml +73 -0
- provekit/templates/flows/content-moderation-severity-tiers.yaml +103 -0
- provekit/templates/flows/content-moderation-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/content-moderation-tag-enrich.yaml +43 -0
- provekit/templates/flows/content-moderation-tone-rewrite.yaml +43 -0
- provekit/templates/flows/content-moderation-translate-reply.yaml +58 -0
- provekit/templates/flows/content-moderation-triage-route.yaml +73 -0
- provekit/templates/flows/customer-support-action-items.yaml +43 -0
- provekit/templates/flows/customer-support-answer.yaml +43 -0
- provekit/templates/flows/customer-support-classify-intent.yaml +43 -0
- provekit/templates/flows/customer-support-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/customer-support-extract-to-json.yaml +43 -0
- provekit/templates/flows/customer-support-faq-match-answer.yaml +60 -0
- provekit/templates/flows/customer-support-keyword-extract.yaml +43 -0
- provekit/templates/flows/customer-support-language-route.yaml +103 -0
- provekit/templates/flows/customer-support-moderation-gate.yaml +73 -0
- provekit/templates/flows/customer-support-redact-summarize.yaml +59 -0
- provekit/templates/flows/customer-support-score-gate.yaml +73 -0
- provekit/templates/flows/customer-support-sentiment-route.yaml +73 -0
- provekit/templates/flows/customer-support-severity-tiers.yaml +103 -0
- provekit/templates/flows/customer-support-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/customer-support-tag-enrich.yaml +43 -0
- provekit/templates/flows/customer-support-tone-rewrite.yaml +43 -0
- provekit/templates/flows/customer-support-translate-reply.yaml +58 -0
- provekit/templates/flows/customer-support-triage-route.yaml +73 -0
- provekit/templates/flows/developer-tooling-action-items.yaml +43 -0
- provekit/templates/flows/developer-tooling-answer.yaml +43 -0
- provekit/templates/flows/developer-tooling-classify-intent.yaml +43 -0
- provekit/templates/flows/developer-tooling-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/developer-tooling-extract-to-json.yaml +43 -0
- provekit/templates/flows/developer-tooling-faq-match-answer.yaml +60 -0
- provekit/templates/flows/developer-tooling-keyword-extract.yaml +43 -0
- provekit/templates/flows/developer-tooling-language-route.yaml +103 -0
- provekit/templates/flows/developer-tooling-moderation-gate.yaml +73 -0
- provekit/templates/flows/developer-tooling-redact-summarize.yaml +59 -0
- provekit/templates/flows/developer-tooling-score-gate.yaml +73 -0
- provekit/templates/flows/developer-tooling-sentiment-route.yaml +73 -0
- provekit/templates/flows/developer-tooling-severity-tiers.yaml +103 -0
- provekit/templates/flows/developer-tooling-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/developer-tooling-tag-enrich.yaml +43 -0
- provekit/templates/flows/developer-tooling-tone-rewrite.yaml +43 -0
- provekit/templates/flows/developer-tooling-translate-reply.yaml +58 -0
- provekit/templates/flows/developer-tooling-triage-route.yaml +73 -0
- provekit/templates/flows/devrel-action-items.yaml +43 -0
- provekit/templates/flows/devrel-answer.yaml +43 -0
- provekit/templates/flows/devrel-classify-intent.yaml +43 -0
- provekit/templates/flows/devrel-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/devrel-extract-to-json.yaml +43 -0
- provekit/templates/flows/devrel-faq-match-answer.yaml +60 -0
- provekit/templates/flows/devrel-keyword-extract.yaml +43 -0
- provekit/templates/flows/devrel-language-route.yaml +103 -0
- provekit/templates/flows/devrel-moderation-gate.yaml +73 -0
- provekit/templates/flows/devrel-redact-summarize.yaml +59 -0
- provekit/templates/flows/devrel-score-gate.yaml +73 -0
- provekit/templates/flows/devrel-sentiment-route.yaml +73 -0
- provekit/templates/flows/devrel-severity-tiers.yaml +103 -0
- provekit/templates/flows/devrel-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/devrel-tag-enrich.yaml +43 -0
- provekit/templates/flows/devrel-tone-rewrite.yaml +43 -0
- provekit/templates/flows/devrel-translate-reply.yaml +58 -0
- provekit/templates/flows/devrel-triage-route.yaml +73 -0
- provekit/templates/flows/e-commerce-action-items.yaml +43 -0
- provekit/templates/flows/e-commerce-answer.yaml +43 -0
- provekit/templates/flows/e-commerce-classify-intent.yaml +43 -0
- provekit/templates/flows/e-commerce-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/e-commerce-extract-to-json.yaml +43 -0
- provekit/templates/flows/e-commerce-faq-match-answer.yaml +60 -0
- provekit/templates/flows/e-commerce-keyword-extract.yaml +43 -0
- provekit/templates/flows/e-commerce-language-route.yaml +103 -0
- provekit/templates/flows/e-commerce-moderation-gate.yaml +73 -0
- provekit/templates/flows/e-commerce-redact-summarize.yaml +59 -0
- provekit/templates/flows/e-commerce-score-gate.yaml +73 -0
- provekit/templates/flows/e-commerce-sentiment-route.yaml +73 -0
- provekit/templates/flows/e-commerce-severity-tiers.yaml +103 -0
- provekit/templates/flows/e-commerce-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/e-commerce-tag-enrich.yaml +43 -0
- provekit/templates/flows/e-commerce-tone-rewrite.yaml +43 -0
- provekit/templates/flows/e-commerce-translate-reply.yaml +58 -0
- provekit/templates/flows/e-commerce-triage-route.yaml +73 -0
- provekit/templates/flows/education-action-items.yaml +43 -0
- provekit/templates/flows/education-answer.yaml +43 -0
- provekit/templates/flows/education-classify-intent.yaml +43 -0
- provekit/templates/flows/education-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/education-extract-to-json.yaml +43 -0
- provekit/templates/flows/education-faq-match-answer.yaml +60 -0
- provekit/templates/flows/education-keyword-extract.yaml +43 -0
- provekit/templates/flows/education-language-route.yaml +103 -0
- provekit/templates/flows/education-moderation-gate.yaml +73 -0
- provekit/templates/flows/education-redact-summarize.yaml +59 -0
- provekit/templates/flows/education-score-gate.yaml +73 -0
- provekit/templates/flows/education-sentiment-route.yaml +73 -0
- provekit/templates/flows/education-severity-tiers.yaml +103 -0
- provekit/templates/flows/education-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/education-tag-enrich.yaml +43 -0
- provekit/templates/flows/education-tone-rewrite.yaml +43 -0
- provekit/templates/flows/education-translate-reply.yaml +58 -0
- provekit/templates/flows/education-triage-route.yaml +73 -0
- provekit/templates/flows/finance-action-items.yaml +43 -0
- provekit/templates/flows/finance-answer.yaml +43 -0
- provekit/templates/flows/finance-classify-intent.yaml +43 -0
- provekit/templates/flows/finance-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/finance-extract-to-json.yaml +43 -0
- provekit/templates/flows/finance-faq-match-answer.yaml +60 -0
- provekit/templates/flows/finance-keyword-extract.yaml +43 -0
- provekit/templates/flows/finance-language-route.yaml +103 -0
- provekit/templates/flows/finance-moderation-gate.yaml +73 -0
- provekit/templates/flows/finance-redact-summarize.yaml +59 -0
- provekit/templates/flows/finance-score-gate.yaml +73 -0
- provekit/templates/flows/finance-sentiment-route.yaml +73 -0
- provekit/templates/flows/finance-severity-tiers.yaml +103 -0
- provekit/templates/flows/finance-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/finance-tag-enrich.yaml +43 -0
- provekit/templates/flows/finance-tone-rewrite.yaml +43 -0
- provekit/templates/flows/finance-translate-reply.yaml +58 -0
- provekit/templates/flows/finance-triage-route.yaml +73 -0
- provekit/templates/flows/food-delivery-action-items.yaml +43 -0
- provekit/templates/flows/food-delivery-answer.yaml +43 -0
- provekit/templates/flows/food-delivery-classify-intent.yaml +43 -0
- provekit/templates/flows/food-delivery-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/food-delivery-extract-to-json.yaml +43 -0
- provekit/templates/flows/food-delivery-faq-match-answer.yaml +60 -0
- provekit/templates/flows/food-delivery-keyword-extract.yaml +43 -0
- provekit/templates/flows/food-delivery-language-route.yaml +103 -0
- provekit/templates/flows/food-delivery-moderation-gate.yaml +73 -0
- provekit/templates/flows/food-delivery-redact-summarize.yaml +59 -0
- provekit/templates/flows/food-delivery-score-gate.yaml +73 -0
- provekit/templates/flows/food-delivery-sentiment-route.yaml +73 -0
- provekit/templates/flows/food-delivery-severity-tiers.yaml +103 -0
- provekit/templates/flows/food-delivery-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/food-delivery-tag-enrich.yaml +43 -0
- provekit/templates/flows/food-delivery-tone-rewrite.yaml +43 -0
- provekit/templates/flows/food-delivery-translate-reply.yaml +58 -0
- provekit/templates/flows/food-delivery-triage-route.yaml +73 -0
- provekit/templates/flows/gaming-support-action-items.yaml +43 -0
- provekit/templates/flows/gaming-support-answer.yaml +43 -0
- provekit/templates/flows/gaming-support-classify-intent.yaml +43 -0
- provekit/templates/flows/gaming-support-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/gaming-support-extract-to-json.yaml +43 -0
- provekit/templates/flows/gaming-support-faq-match-answer.yaml +60 -0
- provekit/templates/flows/gaming-support-keyword-extract.yaml +43 -0
- provekit/templates/flows/gaming-support-language-route.yaml +103 -0
- provekit/templates/flows/gaming-support-moderation-gate.yaml +73 -0
- provekit/templates/flows/gaming-support-redact-summarize.yaml +59 -0
- provekit/templates/flows/gaming-support-score-gate.yaml +73 -0
- provekit/templates/flows/gaming-support-sentiment-route.yaml +73 -0
- provekit/templates/flows/gaming-support-severity-tiers.yaml +103 -0
- provekit/templates/flows/gaming-support-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/gaming-support-tag-enrich.yaml +43 -0
- provekit/templates/flows/gaming-support-tone-rewrite.yaml +43 -0
- provekit/templates/flows/gaming-support-translate-reply.yaml +58 -0
- provekit/templates/flows/gaming-support-triage-route.yaml +73 -0
- provekit/templates/flows/healthcare-intake-action-items.yaml +43 -0
- provekit/templates/flows/healthcare-intake-answer.yaml +43 -0
- provekit/templates/flows/healthcare-intake-classify-intent.yaml +43 -0
- provekit/templates/flows/healthcare-intake-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/healthcare-intake-extract-to-json.yaml +43 -0
- provekit/templates/flows/healthcare-intake-faq-match-answer.yaml +60 -0
- provekit/templates/flows/healthcare-intake-keyword-extract.yaml +43 -0
- provekit/templates/flows/healthcare-intake-language-route.yaml +103 -0
- provekit/templates/flows/healthcare-intake-moderation-gate.yaml +73 -0
- provekit/templates/flows/healthcare-intake-redact-summarize.yaml +59 -0
- provekit/templates/flows/healthcare-intake-score-gate.yaml +73 -0
- provekit/templates/flows/healthcare-intake-sentiment-route.yaml +73 -0
- provekit/templates/flows/healthcare-intake-severity-tiers.yaml +103 -0
- provekit/templates/flows/healthcare-intake-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/healthcare-intake-tag-enrich.yaml +43 -0
- provekit/templates/flows/healthcare-intake-tone-rewrite.yaml +43 -0
- provekit/templates/flows/healthcare-intake-translate-reply.yaml +58 -0
- provekit/templates/flows/healthcare-intake-triage-route.yaml +73 -0
- provekit/templates/flows/hr-action-items.yaml +43 -0
- provekit/templates/flows/hr-answer.yaml +43 -0
- provekit/templates/flows/hr-classify-intent.yaml +43 -0
- provekit/templates/flows/hr-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/hr-extract-to-json.yaml +43 -0
- provekit/templates/flows/hr-faq-match-answer.yaml +60 -0
- provekit/templates/flows/hr-keyword-extract.yaml +43 -0
- provekit/templates/flows/hr-language-route.yaml +103 -0
- provekit/templates/flows/hr-moderation-gate.yaml +73 -0
- provekit/templates/flows/hr-redact-summarize.yaml +59 -0
- provekit/templates/flows/hr-score-gate.yaml +73 -0
- provekit/templates/flows/hr-sentiment-route.yaml +73 -0
- provekit/templates/flows/hr-severity-tiers.yaml +103 -0
- provekit/templates/flows/hr-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/hr-tag-enrich.yaml +43 -0
- provekit/templates/flows/hr-tone-rewrite.yaml +43 -0
- provekit/templates/flows/hr-translate-reply.yaml +58 -0
- provekit/templates/flows/hr-triage-route.yaml +73 -0
- provekit/templates/flows/insurance-action-items.yaml +43 -0
- provekit/templates/flows/insurance-answer.yaml +43 -0
- provekit/templates/flows/insurance-classify-intent.yaml +43 -0
- provekit/templates/flows/insurance-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/insurance-extract-to-json.yaml +43 -0
- provekit/templates/flows/insurance-faq-match-answer.yaml +60 -0
- provekit/templates/flows/insurance-keyword-extract.yaml +43 -0
- provekit/templates/flows/insurance-language-route.yaml +103 -0
- provekit/templates/flows/insurance-moderation-gate.yaml +73 -0
- provekit/templates/flows/insurance-redact-summarize.yaml +59 -0
- provekit/templates/flows/insurance-score-gate.yaml +73 -0
- provekit/templates/flows/insurance-sentiment-route.yaml +73 -0
- provekit/templates/flows/insurance-severity-tiers.yaml +103 -0
- provekit/templates/flows/insurance-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/insurance-tag-enrich.yaml +43 -0
- provekit/templates/flows/insurance-tone-rewrite.yaml +43 -0
- provekit/templates/flows/insurance-translate-reply.yaml +58 -0
- provekit/templates/flows/insurance-triage-route.yaml +73 -0
- provekit/templates/flows/it-helpdesk-action-items.yaml +43 -0
- provekit/templates/flows/it-helpdesk-answer.yaml +43 -0
- provekit/templates/flows/it-helpdesk-classify-intent.yaml +43 -0
- provekit/templates/flows/it-helpdesk-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/it-helpdesk-extract-to-json.yaml +43 -0
- provekit/templates/flows/it-helpdesk-faq-match-answer.yaml +60 -0
- provekit/templates/flows/it-helpdesk-keyword-extract.yaml +43 -0
- provekit/templates/flows/it-helpdesk-language-route.yaml +103 -0
- provekit/templates/flows/it-helpdesk-moderation-gate.yaml +73 -0
- provekit/templates/flows/it-helpdesk-redact-summarize.yaml +59 -0
- provekit/templates/flows/it-helpdesk-score-gate.yaml +73 -0
- provekit/templates/flows/it-helpdesk-sentiment-route.yaml +73 -0
- provekit/templates/flows/it-helpdesk-severity-tiers.yaml +103 -0
- provekit/templates/flows/it-helpdesk-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/it-helpdesk-tag-enrich.yaml +43 -0
- provekit/templates/flows/it-helpdesk-tone-rewrite.yaml +43 -0
- provekit/templates/flows/it-helpdesk-translate-reply.yaml +58 -0
- provekit/templates/flows/it-helpdesk-triage-route.yaml +73 -0
- provekit/templates/flows/legal-intake-action-items.yaml +43 -0
- provekit/templates/flows/legal-intake-answer.yaml +43 -0
- provekit/templates/flows/legal-intake-classify-intent.yaml +43 -0
- provekit/templates/flows/legal-intake-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/legal-intake-extract-to-json.yaml +43 -0
- provekit/templates/flows/legal-intake-faq-match-answer.yaml +60 -0
- provekit/templates/flows/legal-intake-keyword-extract.yaml +43 -0
- provekit/templates/flows/legal-intake-language-route.yaml +103 -0
- provekit/templates/flows/legal-intake-moderation-gate.yaml +73 -0
- provekit/templates/flows/legal-intake-redact-summarize.yaml +59 -0
- provekit/templates/flows/legal-intake-score-gate.yaml +73 -0
- provekit/templates/flows/legal-intake-sentiment-route.yaml +73 -0
- provekit/templates/flows/legal-intake-severity-tiers.yaml +103 -0
- provekit/templates/flows/legal-intake-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/legal-intake-tag-enrich.yaml +43 -0
- provekit/templates/flows/legal-intake-tone-rewrite.yaml +43 -0
- provekit/templates/flows/legal-intake-translate-reply.yaml +58 -0
- provekit/templates/flows/legal-intake-triage-route.yaml +73 -0
- provekit/templates/flows/logistics-action-items.yaml +43 -0
- provekit/templates/flows/logistics-answer.yaml +43 -0
- provekit/templates/flows/logistics-classify-intent.yaml +43 -0
- provekit/templates/flows/logistics-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/logistics-extract-to-json.yaml +43 -0
- provekit/templates/flows/logistics-faq-match-answer.yaml +60 -0
- provekit/templates/flows/logistics-keyword-extract.yaml +43 -0
- provekit/templates/flows/logistics-language-route.yaml +103 -0
- provekit/templates/flows/logistics-moderation-gate.yaml +73 -0
- provekit/templates/flows/logistics-redact-summarize.yaml +59 -0
- provekit/templates/flows/logistics-score-gate.yaml +73 -0
- provekit/templates/flows/logistics-sentiment-route.yaml +73 -0
- provekit/templates/flows/logistics-severity-tiers.yaml +103 -0
- provekit/templates/flows/logistics-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/logistics-tag-enrich.yaml +43 -0
- provekit/templates/flows/logistics-tone-rewrite.yaml +43 -0
- provekit/templates/flows/logistics-translate-reply.yaml +58 -0
- provekit/templates/flows/logistics-triage-route.yaml +73 -0
- provekit/templates/flows/marketing-action-items.yaml +43 -0
- provekit/templates/flows/marketing-answer.yaml +43 -0
- provekit/templates/flows/marketing-classify-intent.yaml +43 -0
- provekit/templates/flows/marketing-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/marketing-extract-to-json.yaml +43 -0
- provekit/templates/flows/marketing-faq-match-answer.yaml +60 -0
- provekit/templates/flows/marketing-keyword-extract.yaml +43 -0
- provekit/templates/flows/marketing-language-route.yaml +103 -0
- provekit/templates/flows/marketing-moderation-gate.yaml +73 -0
- provekit/templates/flows/marketing-redact-summarize.yaml +59 -0
- provekit/templates/flows/marketing-score-gate.yaml +73 -0
- provekit/templates/flows/marketing-sentiment-route.yaml +73 -0
- provekit/templates/flows/marketing-severity-tiers.yaml +103 -0
- provekit/templates/flows/marketing-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/marketing-tag-enrich.yaml +43 -0
- provekit/templates/flows/marketing-tone-rewrite.yaml +43 -0
- provekit/templates/flows/marketing-translate-reply.yaml +58 -0
- provekit/templates/flows/marketing-triage-route.yaml +73 -0
- provekit/templates/flows/nonprofit-action-items.yaml +43 -0
- provekit/templates/flows/nonprofit-answer.yaml +43 -0
- provekit/templates/flows/nonprofit-classify-intent.yaml +43 -0
- provekit/templates/flows/nonprofit-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/nonprofit-extract-to-json.yaml +43 -0
- provekit/templates/flows/nonprofit-faq-match-answer.yaml +60 -0
- provekit/templates/flows/nonprofit-keyword-extract.yaml +43 -0
- provekit/templates/flows/nonprofit-language-route.yaml +103 -0
- provekit/templates/flows/nonprofit-moderation-gate.yaml +73 -0
- provekit/templates/flows/nonprofit-redact-summarize.yaml +59 -0
- provekit/templates/flows/nonprofit-score-gate.yaml +73 -0
- provekit/templates/flows/nonprofit-sentiment-route.yaml +73 -0
- provekit/templates/flows/nonprofit-severity-tiers.yaml +103 -0
- provekit/templates/flows/nonprofit-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/nonprofit-tag-enrich.yaml +43 -0
- provekit/templates/flows/nonprofit-tone-rewrite.yaml +43 -0
- provekit/templates/flows/nonprofit-translate-reply.yaml +58 -0
- provekit/templates/flows/nonprofit-triage-route.yaml +73 -0
- provekit/templates/flows/real-estate-action-items.yaml +43 -0
- provekit/templates/flows/real-estate-answer.yaml +43 -0
- provekit/templates/flows/real-estate-classify-intent.yaml +43 -0
- provekit/templates/flows/real-estate-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/real-estate-extract-to-json.yaml +43 -0
- provekit/templates/flows/real-estate-faq-match-answer.yaml +60 -0
- provekit/templates/flows/real-estate-keyword-extract.yaml +43 -0
- provekit/templates/flows/real-estate-language-route.yaml +103 -0
- provekit/templates/flows/real-estate-moderation-gate.yaml +73 -0
- provekit/templates/flows/real-estate-redact-summarize.yaml +59 -0
- provekit/templates/flows/real-estate-score-gate.yaml +73 -0
- provekit/templates/flows/real-estate-sentiment-route.yaml +73 -0
- provekit/templates/flows/real-estate-severity-tiers.yaml +103 -0
- provekit/templates/flows/real-estate-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/real-estate-tag-enrich.yaml +43 -0
- provekit/templates/flows/real-estate-tone-rewrite.yaml +43 -0
- provekit/templates/flows/real-estate-translate-reply.yaml +58 -0
- provekit/templates/flows/real-estate-triage-route.yaml +73 -0
- provekit/templates/flows/recruiting-action-items.yaml +43 -0
- provekit/templates/flows/recruiting-answer.yaml +43 -0
- provekit/templates/flows/recruiting-classify-intent.yaml +43 -0
- provekit/templates/flows/recruiting-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/recruiting-extract-to-json.yaml +43 -0
- provekit/templates/flows/recruiting-faq-match-answer.yaml +60 -0
- provekit/templates/flows/recruiting-keyword-extract.yaml +43 -0
- provekit/templates/flows/recruiting-language-route.yaml +103 -0
- provekit/templates/flows/recruiting-moderation-gate.yaml +73 -0
- provekit/templates/flows/recruiting-redact-summarize.yaml +59 -0
- provekit/templates/flows/recruiting-score-gate.yaml +73 -0
- provekit/templates/flows/recruiting-sentiment-route.yaml +73 -0
- provekit/templates/flows/recruiting-severity-tiers.yaml +103 -0
- provekit/templates/flows/recruiting-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/recruiting-tag-enrich.yaml +43 -0
- provekit/templates/flows/recruiting-tone-rewrite.yaml +43 -0
- provekit/templates/flows/recruiting-translate-reply.yaml +58 -0
- provekit/templates/flows/recruiting-triage-route.yaml +73 -0
- provekit/templates/flows/research-action-items.yaml +43 -0
- provekit/templates/flows/research-answer.yaml +43 -0
- provekit/templates/flows/research-classify-intent.yaml +43 -0
- provekit/templates/flows/research-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/research-extract-to-json.yaml +43 -0
- provekit/templates/flows/research-faq-match-answer.yaml +60 -0
- provekit/templates/flows/research-keyword-extract.yaml +43 -0
- provekit/templates/flows/research-language-route.yaml +103 -0
- provekit/templates/flows/research-moderation-gate.yaml +73 -0
- provekit/templates/flows/research-redact-summarize.yaml +59 -0
- provekit/templates/flows/research-score-gate.yaml +73 -0
- provekit/templates/flows/research-sentiment-route.yaml +73 -0
- provekit/templates/flows/research-severity-tiers.yaml +103 -0
- provekit/templates/flows/research-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/research-tag-enrich.yaml +43 -0
- provekit/templates/flows/research-tone-rewrite.yaml +43 -0
- provekit/templates/flows/research-translate-reply.yaml +58 -0
- provekit/templates/flows/research-triage-route.yaml +73 -0
- provekit/templates/flows/sales-lead-action-items.yaml +43 -0
- provekit/templates/flows/sales-lead-answer.yaml +43 -0
- provekit/templates/flows/sales-lead-classify-intent.yaml +43 -0
- provekit/templates/flows/sales-lead-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/sales-lead-extract-to-json.yaml +43 -0
- provekit/templates/flows/sales-lead-faq-match-answer.yaml +60 -0
- provekit/templates/flows/sales-lead-keyword-extract.yaml +43 -0
- provekit/templates/flows/sales-lead-language-route.yaml +103 -0
- provekit/templates/flows/sales-lead-moderation-gate.yaml +73 -0
- provekit/templates/flows/sales-lead-redact-summarize.yaml +59 -0
- provekit/templates/flows/sales-lead-score-gate.yaml +73 -0
- provekit/templates/flows/sales-lead-sentiment-route.yaml +73 -0
- provekit/templates/flows/sales-lead-severity-tiers.yaml +103 -0
- provekit/templates/flows/sales-lead-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/sales-lead-tag-enrich.yaml +43 -0
- provekit/templates/flows/sales-lead-tone-rewrite.yaml +43 -0
- provekit/templates/flows/sales-lead-translate-reply.yaml +58 -0
- provekit/templates/flows/sales-lead-triage-route.yaml +73 -0
- provekit/templates/flows/travel-action-items.yaml +43 -0
- provekit/templates/flows/travel-answer.yaml +43 -0
- provekit/templates/flows/travel-classify-intent.yaml +43 -0
- provekit/templates/flows/travel-draft-critique-revise.yaml +75 -0
- provekit/templates/flows/travel-extract-to-json.yaml +43 -0
- provekit/templates/flows/travel-faq-match-answer.yaml +60 -0
- provekit/templates/flows/travel-keyword-extract.yaml +43 -0
- provekit/templates/flows/travel-language-route.yaml +103 -0
- provekit/templates/flows/travel-moderation-gate.yaml +73 -0
- provekit/templates/flows/travel-redact-summarize.yaml +59 -0
- provekit/templates/flows/travel-score-gate.yaml +73 -0
- provekit/templates/flows/travel-sentiment-route.yaml +73 -0
- provekit/templates/flows/travel-severity-tiers.yaml +103 -0
- provekit/templates/flows/travel-summarize-then-decide.yaml +88 -0
- provekit/templates/flows/travel-tag-enrich.yaml +43 -0
- provekit/templates/flows/travel-tone-rewrite.yaml +43 -0
- provekit/templates/flows/travel-translate-reply.yaml +58 -0
- provekit/templates/flows/travel-triage-route.yaml +73 -0
- provekit-0.1.0.dist-info/METADATA +86 -0
- provekit-0.1.0.dist-info/RECORD +485 -0
- provekit-0.1.0.dist-info/WHEEL +5 -0
- provekit-0.1.0.dist-info/entry_points.txt +2 -0
- provekit-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
kind: flow
|
|
3
|
+
name: Real Estate · extract to JSON
|
|
4
|
+
description: Extract structured fields from a listing 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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: Real Estate · FAQ match & answer
|
|
4
|
+
description: Match a listing 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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 real estate assistant. Tailor the answer to the matched topic.
|
|
39
|
+
user: 'Topic: {{topic.text}}
|
|
40
|
+
|
|
41
|
+
Question: {{input.listing}}'
|
|
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: Real Estate · keyword extract
|
|
4
|
+
description: Pull the top keywords from a listing 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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: Real Estate · language route
|
|
4
|
+
description: Detect the language of a listing; 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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 real estate assistant.
|
|
50
|
+
user: '{{input.listing}}'
|
|
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 real estate assistant.
|
|
62
|
+
user: '{{input.listing}}'
|
|
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: Real Estate · moderation gate
|
|
4
|
+
description: Check a listing 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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.listing}}'
|
|
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: Real Estate · redact & summarize
|
|
4
|
+
description: Redact personal data from a listing, 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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: Real Estate · score & gate
|
|
4
|
+
description: Score a listing 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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: Real Estate · sentiment route
|
|
4
|
+
description: Detect sentiment of a listing, 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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: Real Estate · severity tiers
|
|
4
|
+
description: Classify severity of a listing, 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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: Real Estate · summarize then decide
|
|
4
|
+
description: Summarize a listing, 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
|
+
listing: 2BR condo downtown, needs a quick sale, motivated seller
|
|
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.listing}}'
|
|
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'
|