From 37876fc951f3d871689dd150077eb0108dd756fe Mon Sep 17 00:00:00 2001 From: CraftBot Date: Mon, 8 Jun 2026 09:20:54 +0900 Subject: [PATCH 01/24] Added agent profile feature, script, buttons (require more testing) --- app/ui_layer/adapters/browser_adapter.py | 128 +++ .../ui/ImportProfileModal.module.css | 156 ++++ .../src/components/ui/ImportProfileModal.tsx | 243 ++++++ .../frontend/src/components/ui/index.ts | 8 + .../src/pages/Settings/GeneralSettings.tsx | 214 ++++- .../pages/Settings/SettingsPage.module.css | 49 ++ app/ui_layer/settings/__init__.py | 11 + app/ui_layer/settings/profile_bundle.py | 736 ++++++++++++++++++ 8 files changed, 1544 insertions(+), 1 deletion(-) create mode 100644 app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.module.css create mode 100644 app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx create mode 100644 app/ui_layer/settings/profile_bundle.py diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 0208f86b..836ebdbe 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -1145,6 +1145,17 @@ async def _on_start(self) -> None: "/api/living-ui/import", self._living_ui_import_handler ) + # Agent profile bundle import/export routes + self._app.router.add_get( + "/api/profile/export", self._profile_export_handler + ) + self._app.router.add_post( + "/api/profile/inspect", self._profile_inspect_handler + ) + self._app.router.add_post( + "/api/profile/import", self._profile_import_handler + ) + # Integration bridge routes (Living UI → external APIs) from app.living_ui.integration_bridge import IntegrationBridge @@ -2920,6 +2931,123 @@ async def _living_ui_import_handler(self, request: "web.Request") -> "web.Respon logger.error(f"[LIVING_UI] Upload staging error: {e}") return web.json_response({"error": str(e)}, status=500) + # ───────────────────────────────────────────────────────────────────── + # Agent profile bundle (.craftbot) — export / inspect / import + # ───────────────────────────────────────────────────────────────────── + + async def _profile_export_handler(self, request: "web.Request") -> "web.Response": + """Build a .craftbot bundle of the current agent and return it.""" + from aiohttp import web + from app.ui_layer.settings.profile_bundle import export_profile + import shutil + + description = request.query.get("description", "") + try: + result = export_profile(description=description) + except Exception as exc: + logger.error(f"[PROFILE_BUNDLE] Export failed: {exc}", exc_info=True) + return web.json_response({"error": str(exc)}, status=500) + + if not result.get("success"): + return web.json_response( + {"error": result.get("error", "Export failed")}, status=500 + ) + + bundle_path = Path(result["path"]) + filename = result["filename"] + try: + payload = bundle_path.read_bytes() + finally: + # Clean up the temp file + its parent dir immediately. Bundles are + # small enough (no node_modules) to hold in memory briefly. + shutil.rmtree(bundle_path.parent, ignore_errors=True) + + return web.Response( + body=payload, + headers={ + "Content-Disposition": f'attachment; filename="{filename}"', + "Content-Type": "application/octet-stream", + "Content-Length": str(len(payload)), + }, + ) + + async def _stage_uploaded_bundle(self, request: "web.Request") -> Optional[str]: + """Read the multipart upload and save the bundle to a temp file.""" + import tempfile + + reader = await request.multipart() + bundle_path: Optional[str] = None + async for part in reader: + if part.name == "file": + tmp = tempfile.NamedTemporaryFile( + suffix=".craftbot", + prefix="craftbot_profile_in_", + delete=False, + ) + while True: + chunk = await part.read_chunk() + if not chunk: + break + tmp.write(chunk) + tmp.close() + bundle_path = tmp.name + return bundle_path + + async def _profile_inspect_handler(self, request: "web.Request") -> "web.Response": + """Read a bundle's manifest so the frontend can render a preview modal.""" + from aiohttp import web + from app.ui_layer.settings.profile_bundle import inspect_bundle + + try: + bundle_path = await self._stage_uploaded_bundle(request) + if not bundle_path: + return web.json_response( + {"error": "No bundle file uploaded"}, status=400 + ) + result = inspect_bundle(bundle_path) + # Return the temp path so the subsequent /api/profile/import call + # can reuse it instead of re-uploading the bundle. + result["bundle_path"] = bundle_path + return web.json_response(result) + except Exception as exc: + logger.error(f"[PROFILE_BUNDLE] Inspect failed: {exc}", exc_info=True) + return web.json_response({"error": str(exc)}, status=500) + + async def _profile_import_handler(self, request: "web.Request") -> "web.Response": + """Apply a previously-inspected bundle to the agent.""" + from aiohttp import web + from app.ui_layer.settings.profile_bundle import import_profile + + try: + payload = await request.json() + except Exception: + return web.json_response( + {"error": "Invalid JSON body"}, status=400 + ) + + bundle_path = payload.get("bundle_path") or "" + mode = payload.get("mode", "merge") + if not bundle_path: + return web.json_response( + {"error": "bundle_path is required"}, status=400 + ) + + try: + result = import_profile(bundle_path, mode=mode) + except Exception as exc: + logger.error(f"[PROFILE_BUNDLE] Import failed: {exc}", exc_info=True) + return web.json_response({"error": str(exc)}, status=500) + finally: + # Best-effort cleanup of the staged upload. + try: + p = Path(bundle_path) + if p.exists(): + p.unlink() + except Exception: + pass + + return web.json_response(result) + async def _handle_living_ui_state_update(self, data: Dict[str, Any]) -> None: """Handle state update from a Living UI for agent awareness.""" try: diff --git a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.module.css b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.module.css new file mode 100644 index 00000000..ba980d70 --- /dev/null +++ b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.module.css @@ -0,0 +1,156 @@ +.body { + display: flex; + flex-direction: column; + gap: var(--space-3); +} + +.centered { + display: flex; + align-items: center; + justify-content: center; + gap: var(--space-2); + padding: var(--space-6) 0; + color: var(--text-secondary); + font-size: var(--text-sm); +} + +.error { + display: flex; + align-items: flex-start; + gap: var(--space-2); + padding: var(--space-3); + background: rgba(239, 68, 68, 0.08); + border: 1px solid rgba(239, 68, 68, 0.25); + border-radius: var(--radius-md); + color: var(--color-error); + font-size: var(--text-sm); +} + +.meta { + display: flex; + flex-wrap: wrap; + gap: var(--space-1); + font-size: var(--text-xs); + color: var(--text-secondary); +} + +.description { + margin: 0; + padding: var(--space-2) var(--space-3); + background: var(--bg-tertiary); + border-radius: var(--radius-sm); + font-size: var(--text-sm); + color: var(--text-primary); + font-style: italic; +} + +.section { + display: flex; + flex-direction: column; + gap: var(--space-1); +} + +.sectionLabel { + display: flex; + align-items: center; + gap: var(--space-2); + font-size: var(--text-xs); + font-weight: 600; + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: 0.04em; +} + +.sectionCount { + font-weight: 400; + opacity: 0.7; +} + +.chips { + display: flex; + flex-wrap: wrap; + gap: var(--space-1); +} + +.chip { + padding: 2px 8px; + background: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-sm); + font-size: var(--text-xs); + color: var(--text-primary); +} + +.chipConflict { + background: rgba(234, 179, 8, 0.1); + border-color: rgba(234, 179, 8, 0.4); + color: var(--color-warning, #ca8a04); +} + +.notice { + display: flex; + align-items: flex-start; + gap: var(--space-2); + padding: var(--space-2) var(--space-3); + background: rgba(234, 179, 8, 0.08); + border: 1px solid rgba(234, 179, 8, 0.25); + border-radius: var(--radius-sm); + font-size: var(--text-xs); + color: var(--text-primary); +} + +.modeBlock { + display: flex; + flex-direction: column; + gap: var(--space-2); + margin-top: var(--space-2); + padding-top: var(--space-3); + border-top: 1px solid var(--border-primary); +} + +.modeTitle { + font-size: var(--text-sm); + font-weight: 600; + color: var(--text-primary); +} + +.modeOption { + display: flex; + align-items: flex-start; + gap: var(--space-2); + padding: var(--space-2) var(--space-3); + border: 1px solid var(--border-primary); + border-radius: var(--radius-md); + cursor: pointer; + transition: background var(--transition-fast); +} + +.modeOption:hover { + background: var(--bg-tertiary); +} + +.modeOption input[type='radio'] { + margin-top: 3px; +} + +.modeName { + font-size: var(--text-sm); + font-weight: 500; + color: var(--text-primary); +} + +.modeHint { + font-size: var(--text-xs); + color: var(--text-secondary); + line-height: 1.4; +} + +.spinning { + animation: spin 1s linear infinite; +} + +@keyframes spin { + to { + transform: rotate(360deg); + } +} diff --git a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx new file mode 100644 index 00000000..89b4ede7 --- /dev/null +++ b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx @@ -0,0 +1,243 @@ +import { useState } from 'react' +import { Loader2, AlertTriangle, Package, Wrench, Server, Layout, FileText } from 'lucide-react' +import { Button } from './Button' +import { Modal, ModalBody, ModalFooter } from './Modal' +import styles from './ImportProfileModal.module.css' + +export type ImportMode = 'merge' | 'replace' + +export interface ProfileBundleManifest { + name: string + description?: string + source_app_version?: string + created_at?: string + contents: { + agent_name?: string + md_files?: string[] + skills?: string[] + mcp_servers?: string[] + living_ui_apps?: string[] + } +} + +export interface ProfileBundlePreview { + skills_already_installed: string[] + mcp_already_installed: string[] + mcp_needs_env: Array<{ name: string; env_keys: string[] }> +} + +export interface ImportProfileModalProps { + isOpen: boolean + manifest: ProfileBundleManifest | null + preview: ProfileBundlePreview | null + isApplying: boolean + error?: string | null + onCancel: () => void + onApply: (mode: ImportMode) => void +} + +function formatDate(iso?: string): string { + if (!iso) return '' + try { + const d = new Date(iso) + return d.toLocaleDateString(undefined, { + year: 'numeric', + month: 'short', + day: 'numeric', + }) + } catch { + return iso + } +} + +function SectionRow({ + icon, + label, + items, + conflicts, +}: { + icon: React.ReactNode + label: string + items: string[] + conflicts?: string[] +}) { + if (items.length === 0) return null + const conflictSet = new Set(conflicts ?? []) + return ( +
+
+ {icon} + {label} + ({items.length}) +
+
+ {items.map(name => ( + + {name} + + ))} +
+
+ ) +} + +export function ImportProfileModal({ + isOpen, + manifest, + preview, + isApplying, + error, + onCancel, + onApply, +}: ImportProfileModalProps) { + const [mode, setMode] = useState('merge') + + const contents = manifest?.contents ?? {} + const skills = contents.skills ?? [] + const mcps = contents.mcp_servers ?? [] + const apps = contents.living_ui_apps ?? [] + const mds = contents.md_files ?? [] + + const title = manifest ? `Import "${manifest.name}"` : 'Import agent profile' + + return ( + undefined : onCancel} + title={title} + size="md" + closeOnOverlayClick={!isApplying} + closeDisabled={isApplying} + > + + {!manifest && !error && ( +
+ + Reading bundle… +
+ )} + + {error && ( +
+ + {error} +
+ )} + + {manifest && ( + <> +
+ {manifest.source_app_version && ( + Made with CraftBot {manifest.source_app_version} + )} + {manifest.created_at && · {formatDate(manifest.created_at)}} + {contents.agent_name && ( + · from agent "{contents.agent_name}" + )} +
+ + {manifest.description && ( +

{manifest.description}

+ )} + + } + label="Personality files" + items={mds} + /> + } + label="Skills" + items={skills} + conflicts={preview?.skills_already_installed} + /> + } + label="MCP servers" + items={mcps} + conflicts={preview?.mcp_already_installed} + /> + } + label="Living UI apps" + items={apps} + /> + + {preview && preview.mcp_needs_env.length > 0 && ( +
+ +
+ After import, fill in API keys for:{' '} + + {preview.mcp_needs_env.map(m => m.name).join(', ')} + +
+
+ )} + +
+
How should I apply this?
+ + +
+ + )} +
+ + + + +
+ ) +} diff --git a/app/ui_layer/browser/frontend/src/components/ui/index.ts b/app/ui_layer/browser/frontend/src/components/ui/index.ts index 1d9d7ad3..e7e2b4bf 100644 --- a/app/ui_layer/browser/frontend/src/components/ui/index.ts +++ b/app/ui_layer/browser/frontend/src/components/ui/index.ts @@ -23,6 +23,14 @@ export type { ModalProps, ModalSize, ModalSectionProps } from './Modal' export { ConfirmModal } from './ConfirmModal' export type { ConfirmModalProps } from './ConfirmModal' +export { ImportProfileModal } from './ImportProfileModal' +export type { + ImportProfileModalProps, + ImportMode, + ProfileBundleManifest, + ProfileBundlePreview, +} from './ImportProfileModal' + export { SkillCreatorModal } from './SkillCreatorModal' export type { SkillCreatorModalProps, SkillCreatorMode, SkillCreatorSubmit } from './SkillCreatorModal' diff --git a/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx b/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx index c77d68ac..ae76dc29 100644 --- a/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx +++ b/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx @@ -13,8 +13,18 @@ import { Trash2, Eraser, ListChecks, + Package, + PackageOpen, } from 'lucide-react' -import { Button, Badge, ConfirmModal } from '../../components/ui' +import { + Button, + Badge, + ConfirmModal, + ImportProfileModal, + type ImportMode, + type ProfileBundleManifest, + type ProfileBundlePreview, +} from '../../components/ui' import { useTheme } from '../../contexts/ThemeContext' import { useWebSocket } from '../../contexts/WebSocketContext' import { useConfirmModal } from '../../hooks' @@ -92,6 +102,19 @@ export function GeneralSettings() { const [isUploadingPicture, setIsUploadingPicture] = useState(false) const pictureInputRef = useRef(null) + // Agent profile bundle (import/export) + const [isExportingProfile, setIsExportingProfile] = useState(false) + const [profileStatus, setProfileStatus] = useState< + { type: 'success' | 'error' | 'info'; message: string } | null + >(null) + const [showImportModal, setShowImportModal] = useState(false) + const [importBundlePath, setImportBundlePath] = useState(null) + const [importManifest, setImportManifest] = useState(null) + const [importPreview, setImportPreview] = useState(null) + const [importError, setImportError] = useState(null) + const [isApplyingImport, setIsApplyingImport] = useState(false) + const profileImportInputRef = useRef(null) + // Keep local preview in sync with the central context value (e.g. after reconnect) useEffect(() => { setProfilePictureUrl(agentProfilePictureUrl) @@ -537,6 +560,130 @@ export function GeneralSettings() { }) } + // ─── Agent profile bundle ─────────────────────────────────────────── + + const handleExportProfile = async () => { + setIsExportingProfile(true) + setProfileStatus(null) + try { + const response = await fetch('/api/profile/export') + if (!response.ok) { + const body = await response.json().catch(() => ({})) + throw new Error(body.error || `Export failed (${response.status})`) + } + const blob = await response.blob() + const disposition = response.headers.get('Content-Disposition') || '' + const match = /filename="([^"]+)"/.exec(disposition) + const filename = match ? match[1] : 'agent-profile.craftbot' + + const url = URL.createObjectURL(blob) + const link = document.createElement('a') + link.href = url + link.download = filename + document.body.appendChild(link) + link.click() + link.remove() + URL.revokeObjectURL(url) + + setProfileStatus({ type: 'success', message: 'Profile exported' }) + } catch (err) { + const msg = err instanceof Error ? err.message : 'Export failed' + setProfileStatus({ type: 'error', message: msg }) + } finally { + setIsExportingProfile(false) + setTimeout(() => setProfileStatus(null), 4000) + } + } + + const handleImportProfileClick = () => { + profileImportInputRef.current?.click() + } + + const handleProfileFileSelected = async ( + e: React.ChangeEvent + ) => { + const file = e.target.files?.[0] + e.target.value = '' + if (!file) return + + setProfileStatus(null) + setImportManifest(null) + setImportPreview(null) + setImportError(null) + setImportBundlePath(null) + setShowImportModal(true) + + try { + const form = new FormData() + form.append('file', file) + const response = await fetch('/api/profile/inspect', { + method: 'POST', + body: form, + }) + const data = await response.json() + if (!response.ok || !data.success) { + throw new Error(data.error || 'Could not read bundle') + } + setImportManifest(data.manifest) + setImportPreview(data.preview) + setImportBundlePath(data.bundle_path) + } catch (err) { + const msg = err instanceof Error ? err.message : 'Could not read bundle' + setImportError(msg) + } + } + + const handleImportCancel = () => { + setShowImportModal(false) + setImportManifest(null) + setImportPreview(null) + setImportError(null) + setImportBundlePath(null) + } + + const handleImportApply = async (mode: ImportMode) => { + if (!importBundlePath) return + setIsApplyingImport(true) + setImportError(null) + try { + const response = await fetch('/api/profile/import', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ bundle_path: importBundlePath, mode }), + }) + const data = await response.json() + if (!response.ok || !data.success) { + throw new Error(data.error || 'Import failed') + } + + const summary = data.summary || {} + const added = (summary.skills_added?.length || 0) + (summary.mcp_added?.length || 0) + const parts: string[] = [] + if (summary.skills_added?.length) parts.push(`${summary.skills_added.length} skill(s)`) + if (summary.mcp_added?.length) parts.push(`${summary.mcp_added.length} MCP server(s)`) + if (summary.living_ui_added?.length || summary.living_ui_renamed?.length) { + parts.push( + `${(summary.living_ui_added?.length || 0) + (summary.living_ui_renamed?.length || 0)} Living UI app(s)` + ) + } + const what = parts.length > 0 ? parts.join(', ') : (added > 0 ? 'profile data' : 'profile (nothing new)') + + setProfileStatus({ + type: 'success', + message: `Imported ${what}. Restart the agent to apply changes.`, + }) + setShowImportModal(false) + setImportManifest(null) + setImportPreview(null) + setImportBundlePath(null) + } catch (err) { + const msg = err instanceof Error ? err.message : 'Import failed' + setImportError(msg) + } finally { + setIsApplyingImport(false) + } + } + return (
@@ -814,6 +961,60 @@ export function GeneralSettings() { )}
+ {/* Agent Profile (import/export) */} +
+
+ +

Agent Profile

+
+

+ Share your agent's personality, skills, MCP servers, and Living UI apps + as a single .craftbot file. API keys, personal memory, and + conversation history are never included. +

+
+ + + + {profileStatus?.type === 'success' && ( + + {profileStatus.message} + + )} + {profileStatus?.type === 'error' && ( + + {profileStatus.message} + + )} +
+
+ {/* Advanced Section */}
) } diff --git a/app/ui_layer/browser/frontend/src/pages/Settings/SettingsPage.module.css b/app/ui_layer/browser/frontend/src/pages/Settings/SettingsPage.module.css index 32eac0b9..05cede2c 100644 --- a/app/ui_layer/browser/frontend/src/pages/Settings/SettingsPage.module.css +++ b/app/ui_layer/browser/frontend/src/pages/Settings/SettingsPage.module.css @@ -727,6 +727,55 @@ line-height: 1.4; } +/* Agent Profile (import/export) */ +.profileSection { + margin-top: var(--space-6); + padding: var(--space-4); + background: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-md); +} + +.profileHeader { + display: flex; + align-items: center; + gap: var(--space-2); + margin-bottom: var(--space-2); +} + +.profileHeader h4 { + font-size: var(--text-sm); + font-weight: var(--font-semibold); + color: var(--text-primary); + margin: 0; +} + +.profileIcon { + color: var(--text-secondary); +} + +.profileDescription { + font-size: var(--text-sm); + color: var(--text-secondary); + margin-bottom: var(--space-3); + line-height: 1.5; +} + +.profileDescription code { + padding: 1px 6px; + background: var(--bg-secondary); + border-radius: var(--radius-sm); + font-size: 0.9em; + color: var(--text-primary); +} + +.profileActions { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: var(--space-2); +} + .dangerRowAction { display: flex; align-items: center; diff --git a/app/ui_layer/settings/__init__.py b/app/ui_layer/settings/__init__.py index 9eede224..97a78934 100644 --- a/app/ui_layer/settings/__init__.py +++ b/app/ui_layer/settings/__init__.py @@ -56,6 +56,13 @@ update_general_settings, ) +# Agent profile bundle (import/export) +from app.ui_layer.settings.profile_bundle import ( + export_profile, + inspect_bundle, + import_profile, +) + # Proactive/scheduler settings from app.ui_layer.settings.proactive_settings import ( # Proactive mode control @@ -146,6 +153,10 @@ "reset_agent_state", "get_general_settings", "update_general_settings", + # Agent profile bundle + "export_profile", + "inspect_bundle", + "import_profile", # Proactive mode control "is_proactive_enabled", "get_proactive_mode", diff --git a/app/ui_layer/settings/profile_bundle.py b/app/ui_layer/settings/profile_bundle.py new file mode 100644 index 00000000..ef3d00c1 --- /dev/null +++ b/app/ui_layer/settings/profile_bundle.py @@ -0,0 +1,736 @@ +"""Agent Profile Bundle — export and import the current agent as a portable file. + +A profile bundle is a zip-with-extension (`.craftbot`) containing the parts of +the agent that define its identity and capabilities — personality MD files, the +enabled skills (with their source folders), the MCP server configs, and the +Living UI app source. It deliberately does NOT include the user's API keys, +OAuth secrets, memory, conversation history, or personal data files. + +Bundles are designed for one-click sharing: a recipient picks the bundle in +General Settings and chooses Replace or Merge. Agent name is shown in the +preview for context but is never applied on import. +""" + +from __future__ import annotations + +import json +import shutil +import tempfile +import time +import zipfile +from dataclasses import dataclass +from datetime import datetime, timezone +from pathlib import Path +from typing import Any, Dict, List, Optional, Tuple + +from app.config import ( + AGENT_FILE_SYSTEM_PATH, + AGENT_WORKSPACE_ROOT, + APP_CONFIG_PATH, + PROJECT_ROOT, + get_app_version, + get_settings, + invalidate_settings_cache, + save_settings, +) +from app.logger import logger + + +BUNDLE_FORMAT_VERSION = "1.0" + +# Agent identity MD files that travel in the bundle. +# USER.md, MEMORY.md, EVENT*.md, CONVERSATION_HISTORY.md, TASK_HISTORY.md are +# user-personal or runtime state and are intentionally excluded. +PROFILE_MD_FILES = ("SOUL.md", "AGENT.md", "PROACTIVE.md", "GLOBAL_LIVING_UI.md") + +# Whitelist of settings.json branches that are safe to share. Anything not on +# this list (api_keys, oauth, endpoints, aws_credentials, cache, browser, etc.) +# is intentionally omitted — we never want a bundle to leak credentials. +SAFE_SETTINGS_KEYS = ("model", "proactive", "memory") + +# Substrings in MCP env-var NAMES that indicate a secret value. The names are +# kept (so the importer knows what to fill in) but the VALUES are stripped. +SECRET_ENV_HINTS = ("KEY", "TOKEN", "SECRET", "PASSWORD", "PASS", "CREDENTIAL") + +# Files/directories to skip when copying skill folders or Living UI projects. +SKIP_DIR_NAMES = { + "node_modules", + "dist", + "build", + ".next", + ".nuxt", + ".cache", + ".turbo", + ".vite", + ".git", + "__pycache__", +} +SKIP_FILE_SUFFIXES = (".db", ".sqlite", ".sqlite3", ".db-journal", ".pyc") + + +SKILLS_CONFIG_PATH = APP_CONFIG_PATH / "skills_config.json" +MCP_CONFIG_PATH = APP_CONFIG_PATH / "mcp_config.json" +SKILLS_DIR = PROJECT_ROOT / "skills" +LIVING_UI_PROJECTS_FILE = AGENT_WORKSPACE_ROOT / "living_ui_projects.json" +LIVING_UI_DIR = AGENT_WORKSPACE_ROOT / "living_ui" + + +# ───────────────────────────────────────────────────────────────────── +# Helpers +# ───────────────────────────────────────────────────────────────────── + + +def _should_skip_path(path: Path) -> bool: + """Skip transient/generated/private files when copying user content.""" + if path.name in SKIP_DIR_NAMES: + return True + if path.is_file() and any( + path.name.lower().endswith(suffix) for suffix in SKIP_FILE_SUFFIXES + ): + return True + return False + + +def _copy_dir_filtered(src: Path, dst: Path) -> None: + """Recursive copy honoring SKIP_DIR_NAMES / SKIP_FILE_SUFFIXES.""" + if not src.exists(): + return + dst.mkdir(parents=True, exist_ok=True) + for entry in src.iterdir(): + if _should_skip_path(entry): + continue + target = dst / entry.name + if entry.is_dir(): + _copy_dir_filtered(entry, target) + else: + try: + shutil.copy2(entry, target) + except OSError as exc: + logger.warning(f"[PROFILE_BUNDLE] Skipping unreadable file {entry}: {exc}") + + +def _agent_name() -> str: + """Best-effort current agent name — used only for the manifest/preview.""" + try: + from app.onboarding import onboarding_manager + + name = (onboarding_manager.state.agent_name or "").strip() + if name: + return name + except Exception: + pass + return ( + get_settings().get("general", {}).get("agent_name") + or "CraftBot" + ) + + +def _looks_like_secret(env_key: str) -> bool: + upper = env_key.upper() + return any(hint in upper for hint in SECRET_ENV_HINTS) + + +def _strip_mcp_secrets(servers: List[Dict[str, Any]]) -> Tuple[List[Dict[str, Any]], List[str]]: + """Strip env-var values that look like secrets. Returns (cleaned, stripped_names).""" + stripped: List[str] = [] + cleaned: List[Dict[str, Any]] = [] + for server in servers: + s = dict(server) + env = dict(s.get("env", {}) or {}) + for key in list(env.keys()): + # Strip every value to be safe — the user will need to refill them + # on the recipient machine anyway. Keep the keys so the importer + # knows what placeholders to surface in the UI. + if env[key]: + if _looks_like_secret(key): + stripped.append(f"{s.get('name', '?')}::{key}") + env[key] = "" + s["env"] = env + cleaned.append(s) + return cleaned, stripped + + +def _safe_settings_subset(settings: Dict[str, Any]) -> Dict[str, Any]: + """Return only the share-safe top-level keys from settings.json.""" + return {k: settings[k] for k in SAFE_SETTINGS_KEYS if k in settings} + + +def _load_json(path: Path, default: Any) -> Any: + try: + return json.loads(path.read_text(encoding="utf-8")) + except (OSError, json.JSONDecodeError): + return default + + +def _slugify(name: str) -> str: + safe = "".join(c if c.isalnum() or c in "-_" else "_" for c in name) + return safe.strip("_") or "agent" + + +# ───────────────────────────────────────────────────────────────────── +# Export +# ───────────────────────────────────────────────────────────────────── + + +def _gather_export_contents() -> Dict[str, Any]: + """Pre-flight inventory used by manifest + README.""" + skills_config = _load_json(SKILLS_CONFIG_PATH, {"enabled_skills": []}) + enabled_skills = [ + s + for s in skills_config.get("enabled_skills", []) + if (SKILLS_DIR / s).is_dir() + ] + + mcp_config = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) + mcp_servers = mcp_config.get("mcp_servers", []) + + md_present = [ + f for f in PROFILE_MD_FILES if (AGENT_FILE_SYSTEM_PATH / f).is_file() + ] + + living_ui_projects = _load_json(LIVING_UI_PROJECTS_FILE, []) + if isinstance(living_ui_projects, dict): + living_ui_projects = living_ui_projects.get("projects", []) + + return { + "agent_name": _agent_name(), + "md_files": md_present, + "skills": enabled_skills, + "mcp_servers": [s.get("name", "") for s in mcp_servers], + "living_ui_apps": [p.get("name", p.get("id", "")) for p in living_ui_projects], + } + + +def _build_manifest(contents: Dict[str, Any], description: str = "") -> Dict[str, Any]: + return { + "bundle_format_version": BUNDLE_FORMAT_VERSION, + "name": contents["agent_name"], + "description": description, + "source_app_version": get_app_version(), + "created_at": datetime.now(timezone.utc).isoformat(timespec="seconds"), + "contents": contents, + } + + +def _build_readme(manifest: Dict[str, Any]) -> str: + c = manifest["contents"] + skills = "\n".join(f"- {s}" for s in c.get("skills", [])) or "_(none)_" + mcps = "\n".join(f"- {s}" for s in c.get("mcp_servers", [])) or "_(none)_" + apps = "\n".join(f"- {s}" for s in c.get("living_ui_apps", [])) or "_(none)_" + mds = ", ".join(c.get("md_files", [])) or "_(none)_" + return ( + f"# {manifest['name']} — CraftBot agent profile\n\n" + f"{manifest['description'] or '_(no description)_'}\n\n" + f"Bundle format: `{manifest['bundle_format_version']}` " + f"Source app: `{manifest['source_app_version']}` " + f"Created: `{manifest['created_at']}`\n\n" + f"## Personality\n{mds}\n\n" + f"## Skills\n{skills}\n\n" + f"## MCP servers\n{mcps}\n\n" + f"## Living UI apps\n{apps}\n\n" + "API keys, OAuth secrets, personal memory, and conversation history\n" + "are **not** included in this bundle.\n" + ) + + +def export_profile(description: str = "") -> Dict[str, Any]: + """Build the bundle and return path + filename + summary for download. + + Caller is responsible for serving the file and (after the response is sent) + deleting the temp file. Mirrors the Living UI export flow. + """ + contents = _gather_export_contents() + manifest = _build_manifest(contents, description=description) + + # Work in a staging dir, then zip into a final file. + staging = Path(tempfile.mkdtemp(prefix="craftbot_profile_")) + try: + # manifest + readme + (staging / "manifest.json").write_text( + json.dumps(manifest, indent=2, ensure_ascii=False), encoding="utf-8" + ) + (staging / "README.md").write_text(_build_readme(manifest), encoding="utf-8") + + # profile/ + profile_dir = staging / "profile" + profile_dir.mkdir() + for fname in contents["md_files"]: + src = AGENT_FILE_SYSTEM_PATH / fname + if src.is_file(): + shutil.copy2(src, profile_dir / fname) + + safe_settings = _safe_settings_subset(get_settings()) + (profile_dir / "settings.partial.json").write_text( + json.dumps(safe_settings, indent=2, ensure_ascii=False), encoding="utf-8" + ) + + # skills/ + skills_dir = staging / "skills" + skills_dir.mkdir() + (skills_dir / "enabled.json").write_text( + json.dumps({"enabled_skills": contents["skills"]}, indent=2), + encoding="utf-8", + ) + for skill_name in contents["skills"]: + src = SKILLS_DIR / skill_name + if src.is_dir(): + _copy_dir_filtered(src, skills_dir / skill_name) + + # mcp/ + mcp_dir = staging / "mcp" + mcp_dir.mkdir() + mcp_config = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) + cleaned_servers, _stripped = _strip_mcp_secrets( + mcp_config.get("mcp_servers", []) + ) + (mcp_dir / "servers.json").write_text( + json.dumps({"mcp_servers": cleaned_servers}, indent=2, ensure_ascii=False), + encoding="utf-8", + ) + + # living_ui/ + living_dir = staging / "living_ui" + living_dir.mkdir() + projects = _load_json(LIVING_UI_PROJECTS_FILE, []) + if isinstance(projects, dict): + projects = projects.get("projects", []) + (living_dir / "projects.json").write_text( + json.dumps(projects, indent=2, ensure_ascii=False), encoding="utf-8" + ) + for project in projects: + project_path_str = project.get("path", "") + if not project_path_str: + continue + project_path = Path(project_path_str) + if not project_path.is_absolute(): + project_path = PROJECT_ROOT / project_path + if not project_path.is_dir(): + continue + _copy_dir_filtered(project_path, living_dir / project_path.name) + + # Zip everything up. + slug = _slugify(contents["agent_name"]).lower() + ts = time.strftime("%Y%m%d") + out_dir = Path(tempfile.mkdtemp(prefix="craftbot_profile_out_")) + out_path = out_dir / f"craftbot-{slug}-{ts}.craftbot" + with zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED) as zf: + for entry in staging.rglob("*"): + if entry.is_file(): + zf.write(entry, entry.relative_to(staging)) + + return { + "success": True, + "path": str(out_path), + "filename": out_path.name, + "summary": { + "skills": len(contents["skills"]), + "mcp_servers": len(contents["mcp_servers"]), + "living_ui_apps": len(contents["living_ui_apps"]), + "md_files": len(contents["md_files"]), + }, + } + finally: + shutil.rmtree(staging, ignore_errors=True) + + +# ───────────────────────────────────────────────────────────────────── +# Inspect (preview before import) +# ───────────────────────────────────────────────────────────────────── + + +def _open_bundle(bundle_path: Path) -> zipfile.ZipFile: + if not bundle_path.exists(): + raise FileNotFoundError(f"Bundle not found: {bundle_path}") + try: + return zipfile.ZipFile(bundle_path, "r") + except zipfile.BadZipFile as exc: + raise ValueError(f"Not a valid .craftbot bundle: {exc}") from exc + + +def _safe_extract(zf: zipfile.ZipFile, dest: Path) -> None: + """Extract, refusing absolute paths or paths that escape `dest`.""" + dest = dest.resolve() + for member in zf.infolist(): + # Refuse absolute or traversal paths — defends against zip-slip. + name = member.filename.replace("\\", "/") + if name.startswith("/") or ".." in name.split("/"): + raise ValueError(f"Unsafe path in bundle: {member.filename}") + out_path = (dest / name).resolve() + try: + out_path.relative_to(dest) + except ValueError as exc: + raise ValueError(f"Unsafe path in bundle: {member.filename}") from exc + zf.extractall(dest) + + +def inspect_bundle(bundle_path: str) -> Dict[str, Any]: + """Return the manifest + a preview of what will be applied on import.""" + path = Path(bundle_path) + try: + with _open_bundle(path) as zf: + try: + manifest = json.loads(zf.read("manifest.json").decode("utf-8")) + except KeyError: + return {"success": False, "error": "Bundle is missing manifest.json"} + except json.JSONDecodeError as exc: + return {"success": False, "error": f"Invalid manifest.json: {exc}"} + + # Compute "already installed" hints so the UI can call them out. + local_skills = ( + set(p.name for p in SKILLS_DIR.iterdir() if p.is_dir()) + if SKILLS_DIR.exists() + else set() + ) + mcp_local = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}).get( + "mcp_servers", [] + ) + local_mcp_names = {s.get("name", "") for s in mcp_local} + + # Detect MCP env vars the user will need to refill. + try: + mcp_servers_in_bundle = json.loads( + zf.read("mcp/servers.json").decode("utf-8") + ).get("mcp_servers", []) + except (KeyError, json.JSONDecodeError): + mcp_servers_in_bundle = [] + mcp_needs_env: List[Dict[str, Any]] = [] + for server in mcp_servers_in_bundle: + missing = [k for k in (server.get("env") or {}).keys() if not (server["env"] or {}).get(k)] + if missing: + mcp_needs_env.append({"name": server.get("name", ""), "env_keys": missing}) + + contents = manifest.get("contents", {}) + return { + "success": True, + "manifest": manifest, + "preview": { + "skills_already_installed": sorted( + set(contents.get("skills", [])) & local_skills + ), + "mcp_already_installed": sorted( + set(contents.get("mcp_servers", [])) & local_mcp_names + ), + "mcp_needs_env": mcp_needs_env, + }, + } + except (ValueError, FileNotFoundError) as exc: + return {"success": False, "error": str(exc)} + + +# ───────────────────────────────────────────────────────────────────── +# Import +# ───────────────────────────────────────────────────────────────────── + + +@dataclass +class ImportSummary: + skills_added: List[str] + skills_skipped: List[str] + mcp_added: List[str] + mcp_skipped: List[str] + mcp_needs_env: List[Dict[str, Any]] + md_applied: List[str] + living_ui_added: List[str] + living_ui_renamed: List[str] + settings_applied: bool + + def to_dict(self) -> Dict[str, Any]: + return { + "skills_added": self.skills_added, + "skills_skipped": self.skills_skipped, + "mcp_added": self.mcp_added, + "mcp_skipped": self.mcp_skipped, + "mcp_needs_env": self.mcp_needs_env, + "md_applied": self.md_applied, + "living_ui_added": self.living_ui_added, + "living_ui_renamed": self.living_ui_renamed, + "settings_applied": self.settings_applied, + } + + +def _apply_md_files( + src_profile: Path, mode: str, bundle_name: str +) -> List[str]: + applied: List[str] = [] + AGENT_FILE_SYSTEM_PATH.mkdir(parents=True, exist_ok=True) + for fname in PROFILE_MD_FILES: + src = src_profile / fname + if not src.is_file(): + continue + target = AGENT_FILE_SYSTEM_PATH / fname + try: + incoming = src.read_text(encoding="utf-8") + if mode == "replace" or not target.exists(): + target.write_text(incoming, encoding="utf-8") + else: # merge → append under a divider + existing = target.read_text(encoding="utf-8") + divider = ( + f"\n\n---\n_imported from {bundle_name}_\n\n" + ) + target.write_text(existing.rstrip() + divider + incoming, encoding="utf-8") + applied.append(fname) + except OSError as exc: + logger.error(f"[PROFILE_BUNDLE] Failed to apply {fname}: {exc}") + return applied + + +def _apply_settings(src_profile: Path, mode: str) -> bool: + """In Replace mode only, apply whitelisted settings branches.""" + if mode != "replace": + return False + partial_path = src_profile / "settings.partial.json" + if not partial_path.is_file(): + return False + try: + partial = json.loads(partial_path.read_text(encoding="utf-8")) + except (OSError, json.JSONDecodeError) as exc: + logger.warning(f"[PROFILE_BUNDLE] Invalid settings.partial.json: {exc}") + return False + current = get_settings() + for key in SAFE_SETTINGS_KEYS: + if key in partial: + current[key] = partial[key] + save_settings(current) + invalidate_settings_cache() + return True + + +def _apply_skills( + src_skills_dir: Path, mode: str +) -> Tuple[List[str], List[str]]: + """Copy skill folders and update enabled_skills in skills_config.json.""" + added: List[str] = [] + skipped: List[str] = [] + enabled_list_path = src_skills_dir / "enabled.json" + bundle_enabled = _load_json(enabled_list_path, {}).get("enabled_skills", []) + + SKILLS_DIR.mkdir(parents=True, exist_ok=True) + for skill_name in bundle_enabled: + src = src_skills_dir / skill_name + if not src.is_dir(): + continue + dst = SKILLS_DIR / skill_name + if dst.exists(): + if mode == "replace": + shutil.rmtree(dst, ignore_errors=True) + _copy_dir_filtered(src, dst) + added.append(skill_name) + else: + skipped.append(skill_name) + else: + _copy_dir_filtered(src, dst) + added.append(skill_name) + + # Update skills_config.json's enabled list (additive — never disables). + config = _load_json( + SKILLS_CONFIG_PATH, {"auto_load": True, "enabled_skills": [], "disabled_skills": []} + ) + enabled_set = list(config.get("enabled_skills", [])) + disabled_set = list(config.get("disabled_skills", [])) + for skill_name in bundle_enabled: + if skill_name in added: + if skill_name not in enabled_set: + enabled_set.append(skill_name) + if skill_name in disabled_set: + disabled_set.remove(skill_name) + config["enabled_skills"] = enabled_set + config["disabled_skills"] = disabled_set + SKILLS_CONFIG_PATH.write_text( + json.dumps(config, indent=2, ensure_ascii=False), encoding="utf-8" + ) + return added, skipped + + +def _apply_mcp( + src_mcp_dir: Path, mode: str +) -> Tuple[List[str], List[str], List[Dict[str, Any]]]: + """Merge or replace MCP server configs.""" + added: List[str] = [] + skipped: List[str] = [] + needs_env: List[Dict[str, Any]] = [] + + servers_path = src_mcp_dir / "servers.json" + bundle_servers = _load_json(servers_path, {}).get("mcp_servers", []) + + current = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) + existing = current.get("mcp_servers", []) + by_name = {s.get("name", ""): s for s in existing} + + for server in bundle_servers: + name = server.get("name", "") + if not name: + continue + missing_env = [k for k, v in (server.get("env") or {}).items() if not v] + if missing_env: + needs_env.append({"name": name, "env_keys": missing_env}) + + if name in by_name: + if mode == "replace": + # Keep ANY env values the user had set locally — don't blow + # them away on replace, since the user's filled-in tokens are + # more valuable than the (empty) tokens from the bundle. + preserved_env = by_name[name].get("env", {}) + merged_env = dict(server.get("env", {})) + for k, v in preserved_env.items(): + if v and k in merged_env and not merged_env[k]: + merged_env[k] = v + server["env"] = merged_env + by_name[name] = server + added.append(name) + else: + skipped.append(name) + else: + by_name[name] = server + added.append(name) + + current["mcp_servers"] = list(by_name.values()) + MCP_CONFIG_PATH.write_text( + json.dumps(current, indent=2, ensure_ascii=False), encoding="utf-8" + ) + return added, skipped, needs_env + + +def _apply_living_ui(src_living_dir: Path) -> Tuple[List[str], List[str]]: + """Copy Living UI projects. Always rename on conflict (preserve user data).""" + added: List[str] = [] + renamed: List[str] = [] + + projects_path = src_living_dir / "projects.json" + bundle_projects = _load_json(projects_path, []) + if isinstance(bundle_projects, dict): + bundle_projects = bundle_projects.get("projects", []) + if not bundle_projects: + return added, renamed + + LIVING_UI_DIR.mkdir(parents=True, exist_ok=True) + current_projects = _load_json(LIVING_UI_PROJECTS_FILE, []) + if isinstance(current_projects, dict): + current_projects = current_projects.get("projects", []) + current_ids = {p.get("id") for p in current_projects} + current_folders = {Path(p.get("path", "")).name for p in current_projects if p.get("path")} + + import uuid + + for project in bundle_projects: + project_path_str = project.get("path", "") + if not project_path_str: + continue + original_folder = Path(project_path_str).name + src_folder = src_living_dir / original_folder + if not src_folder.is_dir(): + continue + + # Conflict → rename folder + project id + new_project = dict(project) + folder_name = original_folder + if project.get("id") in current_ids or folder_name in current_folders: + new_id = uuid.uuid4().hex[:8] + base_name = project.get("name", "imported") + new_project["id"] = new_id + new_project["name"] = f"{base_name} (imported)" + sanitized = _slugify(base_name).lower() + folder_name = f"{sanitized}_{new_id}" + new_project["path"] = str(LIVING_UI_DIR / folder_name) + renamed.append(new_project["name"]) + else: + new_project["path"] = str(LIVING_UI_DIR / folder_name) + added.append(project.get("name", original_folder)) + + # Reset transient runtime fields so the imported project starts clean. + new_project["status"] = "stopped" + new_project.pop("pid", None) + new_project.pop("backendPid", None) + + _copy_dir_filtered(src_folder, LIVING_UI_DIR / folder_name) + current_projects.append(new_project) + current_ids.add(new_project["id"]) + current_folders.add(folder_name) + + LIVING_UI_PROJECTS_FILE.parent.mkdir(parents=True, exist_ok=True) + LIVING_UI_PROJECTS_FILE.write_text( + json.dumps(current_projects, indent=2, ensure_ascii=False), encoding="utf-8" + ) + return added, renamed + + +def import_profile(bundle_path: str, mode: str = "merge") -> Dict[str, Any]: + """Apply a bundle to the current agent. + + Args: + bundle_path: filesystem path to the .craftbot file (already uploaded) + mode: "merge" (default — additive) or "replace" (overwrite on conflict) + + Returns: + Dict with success flag and ImportSummary contents. The agent will need + a manual restart for the changes to fully take effect; the caller + surfaces that to the user. + """ + if mode not in ("merge", "replace"): + return {"success": False, "error": f"Unknown import mode: {mode}"} + + path = Path(bundle_path) + if not path.exists(): + return {"success": False, "error": f"Bundle file not found: {bundle_path}"} + + work_dir = Path(tempfile.mkdtemp(prefix="craftbot_profile_import_")) + try: + with _open_bundle(path) as zf: + _safe_extract(zf, work_dir) + + manifest_path = work_dir / "manifest.json" + if not manifest_path.is_file(): + return {"success": False, "error": "Bundle is missing manifest.json"} + manifest = json.loads(manifest_path.read_text(encoding="utf-8")) + bundle_version = manifest.get("bundle_format_version", "") + if bundle_version.split(".")[0] != BUNDLE_FORMAT_VERSION.split(".")[0]: + return { + "success": False, + "error": ( + f"Bundle format {bundle_version} is not compatible with this " + f"app (expected {BUNDLE_FORMAT_VERSION}). Update CraftBot." + ), + } + bundle_name = manifest.get("name") or "imported profile" + + md_applied = _apply_md_files(work_dir / "profile", mode, bundle_name) + settings_applied = _apply_settings(work_dir / "profile", mode) + skills_added, skills_skipped = _apply_skills(work_dir / "skills", mode) + mcp_added, mcp_skipped, mcp_needs_env = _apply_mcp(work_dir / "mcp", mode) + living_added, living_renamed = _apply_living_ui(work_dir / "living_ui") + + # NOTE: agent_name is intentionally NOT applied — per product decision, + # users keep their own agent name and just inherit the personality/skills. + + summary = ImportSummary( + skills_added=skills_added, + skills_skipped=skills_skipped, + mcp_added=mcp_added, + mcp_skipped=mcp_skipped, + mcp_needs_env=mcp_needs_env, + md_applied=md_applied, + living_ui_added=living_added, + living_ui_renamed=living_renamed, + settings_applied=settings_applied, + ) + return { + "success": True, + "mode": mode, + "bundle_name": bundle_name, + "summary": summary.to_dict(), + "restart_required": True, + } + except (ValueError, json.JSONDecodeError) as exc: + return {"success": False, "error": str(exc)} + except Exception as exc: + logger.error(f"[PROFILE_BUNDLE] Import failed: {exc}", exc_info=True) + return {"success": False, "error": f"Import failed: {exc}"} + finally: + shutil.rmtree(work_dir, ignore_errors=True) + + +__all__ = [ + "BUNDLE_FORMAT_VERSION", + "export_profile", + "inspect_bundle", + "import_profile", +] From 0857f9b153eadaa18dc444746a6061f2e736660a Mon Sep 17 00:00:00 2001 From: CraftBot Date: Mon, 8 Jun 2026 16:40:43 +0900 Subject: [PATCH 02/24] fix agent reset living UI on import --- app/ui_layer/adapters/browser_adapter.py | 9 +- .../src/components/ui/Modal.module.css | 1 + app/ui_layer/settings/profile_bundle.py | 162 +++++++++++++++--- 3 files changed, 144 insertions(+), 28 deletions(-) diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 836ebdbe..291b0702 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -3033,7 +3033,14 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response ) try: - result = import_profile(bundle_path, mode=mode) + # Pass the live LivingUIManager so imported projects land in its + # in-memory state. Without this, the manager's stale state will + # overwrite our file on the next status update / watchdog tick. + result = import_profile( + bundle_path, + mode=mode, + living_ui_manager=self._living_ui_manager, + ) except Exception as exc: logger.error(f"[PROFILE_BUNDLE] Import failed: {exc}", exc_info=True) return web.json_response({"error": str(exc)}, status=500) diff --git a/app/ui_layer/browser/frontend/src/components/ui/Modal.module.css b/app/ui_layer/browser/frontend/src/components/ui/Modal.module.css index aa06e122..328d7c15 100644 --- a/app/ui_layer/browser/frontend/src/components/ui/Modal.module.css +++ b/app/ui_layer/browser/frontend/src/components/ui/Modal.module.css @@ -23,6 +23,7 @@ border: 1px solid var(--border-primary); border-radius: var(--radius-lg); width: 100%; + max-height: 92vh; overflow: hidden; display: flex; flex-direction: column; diff --git a/app/ui_layer/settings/profile_bundle.py b/app/ui_layer/settings/profile_bundle.py index ef3d00c1..8b0364a5 100644 --- a/app/ui_layer/settings/profile_bundle.py +++ b/app/ui_layer/settings/profile_bundle.py @@ -21,7 +21,10 @@ from dataclasses import dataclass from datetime import datetime, timezone from pathlib import Path -from typing import Any, Dict, List, Optional, Tuple +from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple + +if TYPE_CHECKING: + from app.living_ui.manager import LivingUIManager from app.config import ( AGENT_FILE_SYSTEM_PATH, @@ -182,7 +185,12 @@ def _gather_export_contents() -> Dict[str, Any]: ] mcp_config = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) - mcp_servers = mcp_config.get("mcp_servers", []) + # Only export enabled MCP servers — the recipient already has the ~157 + # disabled defaults bundled with CraftBot, and shipping all of them would + # leak machine-specific command paths. + mcp_servers = [ + s for s in mcp_config.get("mcp_servers", []) if s.get("enabled", False) + ] md_present = [ f for f in PROFILE_MD_FILES if (AGENT_FILE_SYSTEM_PATH / f).is_file() @@ -276,13 +284,14 @@ def export_profile(description: str = "") -> Dict[str, Any]: if src.is_dir(): _copy_dir_filtered(src, skills_dir / skill_name) - # mcp/ + # mcp/ — only enabled servers (the inventory was already filtered) mcp_dir = staging / "mcp" mcp_dir.mkdir() mcp_config = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) - cleaned_servers, _stripped = _strip_mcp_secrets( - mcp_config.get("mcp_servers", []) - ) + enabled_mcp = [ + s for s in mcp_config.get("mcp_servers", []) if s.get("enabled", False) + ] + cleaned_servers, _stripped = _strip_mcp_secrets(enabled_mcp) (mcp_dir / "servers.json").write_text( json.dumps({"mcp_servers": cleaned_servers}, indent=2, ensure_ascii=False), encoding="utf-8", @@ -291,11 +300,16 @@ def export_profile(description: str = "") -> Dict[str, Any]: # living_ui/ living_dir = staging / "living_ui" living_dir.mkdir() - projects = _load_json(LIVING_UI_PROJECTS_FILE, []) + projects = _load_json(LIVING_UI_PROJECTS_FILE, {"projects": []}) if isinstance(projects, dict): projects = projects.get("projects", []) + # Match the envelope the LivingUIManager uses on disk + # ({"projects": [...]}). Writing a flat list would make the manager's + # _load_projects() fail silently — and its next startup cleanup pass + # would then delete every Living UI folder as "orphaned". (living_dir / "projects.json").write_text( - json.dumps(projects, indent=2, ensure_ascii=False), encoding="utf-8" + json.dumps({"projects": projects}, indent=2, ensure_ascii=False), + encoding="utf-8", ) for project in projects: project_path_str = project.get("path", "") @@ -590,8 +604,27 @@ def _apply_mcp( return added, skipped, needs_env -def _apply_living_ui(src_living_dir: Path) -> Tuple[List[str], List[str]]: - """Copy Living UI projects. Always rename on conflict (preserve user data).""" +def _apply_living_ui( + src_living_dir: Path, + manager: Optional["LivingUIManager"] = None, +) -> Tuple[List[str], List[str]]: + """Copy Living UI projects and register them with the live manager. + + Always renames on folder/id conflict so we never destroy a user's existing + project data. + + When ``manager`` is provided (production path), the imported projects are + inserted directly into ``manager.projects`` and persisted via the manager's + own ``_save_projects()``. This is CRITICAL: without it, our changes are + written to disk but the still-running ``LivingUIManager`` holds a stale + in-memory state — any subsequent ``_save_projects()`` call (status update, + watchdog tick, port change, etc.) will flush that stale state back to disk + and silently erase every imported entry. + + ``manager=None`` is supported for inspection / non-running callers; that + path writes the registry file directly and is vulnerable to the race + described above, so don't use it from a live agent. + """ added: List[str] = [] renamed: List[str] = [] @@ -602,15 +635,31 @@ def _apply_living_ui(src_living_dir: Path) -> Tuple[List[str], List[str]]: if not bundle_projects: return added, renamed - LIVING_UI_DIR.mkdir(parents=True, exist_ok=True) - current_projects = _load_json(LIVING_UI_PROJECTS_FILE, []) - if isinstance(current_projects, dict): - current_projects = current_projects.get("projects", []) - current_ids = {p.get("id") for p in current_projects} - current_folders = {Path(p.get("path", "")).name for p in current_projects if p.get("path")} + # Resolve target dir + existing-state snapshot from the live manager when + # available, otherwise fall back to the on-disk file. + if manager is not None: + target_living_dir = manager.living_ui_dir + current_ids = set(manager.projects.keys()) + current_folders = { + Path(p.path).name for p in manager.projects.values() if p.path + } + else: + target_living_dir = LIVING_UI_DIR + current_records = _load_json(LIVING_UI_PROJECTS_FILE, {"projects": []}) + if isinstance(current_records, dict): + current_records = current_records.get("projects", []) + current_ids = {p.get("id") for p in current_records} + current_folders = { + Path(p.get("path", "")).name for p in current_records if p.get("path") + } + + target_living_dir.mkdir(parents=True, exist_ok=True) import uuid + # Collected new entries (manifest dicts) to apply after the loop. + new_records: List[Dict[str, Any]] = [] + for project in bundle_projects: project_path_str = project.get("path", "") if not project_path_str: @@ -620,7 +669,6 @@ def _apply_living_ui(src_living_dir: Path) -> Tuple[List[str], List[str]]: if not src_folder.is_dir(): continue - # Conflict → rename folder + project id new_project = dict(project) folder_name = original_folder if project.get("id") in current_ids or folder_name in current_folders: @@ -630,10 +678,10 @@ def _apply_living_ui(src_living_dir: Path) -> Tuple[List[str], List[str]]: new_project["name"] = f"{base_name} (imported)" sanitized = _slugify(base_name).lower() folder_name = f"{sanitized}_{new_id}" - new_project["path"] = str(LIVING_UI_DIR / folder_name) + new_project["path"] = str(target_living_dir / folder_name) renamed.append(new_project["name"]) else: - new_project["path"] = str(LIVING_UI_DIR / folder_name) + new_project["path"] = str(target_living_dir / folder_name) added.append(project.get("name", original_folder)) # Reset transient runtime fields so the imported project starts clean. @@ -641,24 +689,82 @@ def _apply_living_ui(src_living_dir: Path) -> Tuple[List[str], List[str]]: new_project.pop("pid", None) new_project.pop("backendPid", None) - _copy_dir_filtered(src_folder, LIVING_UI_DIR / folder_name) - current_projects.append(new_project) + _copy_dir_filtered(src_folder, target_living_dir / folder_name) + new_records.append(new_project) current_ids.add(new_project["id"]) current_folders.add(folder_name) - LIVING_UI_PROJECTS_FILE.parent.mkdir(parents=True, exist_ok=True) - LIVING_UI_PROJECTS_FILE.write_text( - json.dumps(current_projects, indent=2, ensure_ascii=False), encoding="utf-8" - ) + if not new_records: + return added, renamed + + if manager is not None: + # Register into the live manager so its next _save_projects() flushes + # our entries instead of overwriting them. Importing here to keep the + # module's top-level import surface light (and avoid a circular). + from app.living_ui.manager import LivingUIProject + + for record in new_records: + try: + created_at_ms = record.get("createdAt") + if not isinstance(created_at_ms, (int, float)): + created_at_ms = datetime.now().timestamp() * 1000 + project_obj = LivingUIProject( + id=record["id"], + name=record["name"], + description=record.get("description", ""), + path=record["path"], + status="stopped", + port=record.get("port"), + backend_port=record.get("backendPort"), + created_at=created_at_ms / 1000, + features=record.get("features", []) or [], + theme=record.get("theme", "system") or "system", + auto_launch=bool(record.get("autoLaunch", False)), + log_cleanup=bool(record.get("logCleanup", True)), + project_type=record.get("projectType", "native") or "native", + app_runtime=record.get("appRuntime"), + ) + except Exception as exc: + logger.warning( + f"[PROFILE_BUNDLE] Skipping malformed imported project " + f"{record.get('id', '?')}: {exc}" + ) + continue + manager.projects[project_obj.id] = project_obj + if project_obj.port: + manager._used_ports.add(project_obj.port) + if project_obj.backend_port: + manager._used_ports.add(project_obj.backend_port) + # Manager writes the file in the envelope format the loader expects. + manager._save_projects() + else: + # Fallback path — direct file write. Same envelope format as the + # manager uses, see _save_projects(). + current_records = _load_json(LIVING_UI_PROJECTS_FILE, {"projects": []}) + if isinstance(current_records, dict): + current_records = current_records.get("projects", []) + current_records.extend(new_records) + LIVING_UI_PROJECTS_FILE.parent.mkdir(parents=True, exist_ok=True) + LIVING_UI_PROJECTS_FILE.write_text( + json.dumps({"projects": current_records}, indent=2, ensure_ascii=False), + encoding="utf-8", + ) + return added, renamed -def import_profile(bundle_path: str, mode: str = "merge") -> Dict[str, Any]: +def import_profile( + bundle_path: str, + mode: str = "merge", + living_ui_manager: Optional["LivingUIManager"] = None, +) -> Dict[str, Any]: """Apply a bundle to the current agent. Args: bundle_path: filesystem path to the .craftbot file (already uploaded) mode: "merge" (default — additive) or "replace" (overwrite on conflict) + living_ui_manager: live LivingUIManager from the adapter. Required for + Living UI projects to survive — see _apply_living_ui() for why. Returns: Dict with success flag and ImportSummary contents. The agent will need @@ -696,7 +802,9 @@ def import_profile(bundle_path: str, mode: str = "merge") -> Dict[str, Any]: settings_applied = _apply_settings(work_dir / "profile", mode) skills_added, skills_skipped = _apply_skills(work_dir / "skills", mode) mcp_added, mcp_skipped, mcp_needs_env = _apply_mcp(work_dir / "mcp", mode) - living_added, living_renamed = _apply_living_ui(work_dir / "living_ui") + living_added, living_renamed = _apply_living_ui( + work_dir / "living_ui", manager=living_ui_manager + ) # NOTE: agent_name is intentionally NOT applied — per product decision, # users keep their own agent name and just inherit the personality/skills. From 224c92bfa292e5c3e275d22bdfb8ee4476e0623e Mon Sep 17 00:00:00 2001 From: CraftBot Date: Mon, 8 Jun 2026 18:40:47 +0900 Subject: [PATCH 03/24] refactor --- app/ui_layer/settings/profile_bundle.py | 470 ++++++++++++------------ 1 file changed, 233 insertions(+), 237 deletions(-) diff --git a/app/ui_layer/settings/profile_bundle.py b/app/ui_layer/settings/profile_bundle.py index 8b0364a5..849074dd 100644 --- a/app/ui_layer/settings/profile_bundle.py +++ b/app/ui_layer/settings/profile_bundle.py @@ -17,8 +17,9 @@ import shutil import tempfile import time +import uuid import zipfile -from dataclasses import dataclass +from dataclasses import asdict, dataclass from datetime import datetime, timezone from pathlib import Path from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple @@ -32,9 +33,6 @@ APP_CONFIG_PATH, PROJECT_ROOT, get_app_version, - get_settings, - invalidate_settings_cache, - save_settings, ) from app.logger import logger @@ -46,11 +44,6 @@ # user-personal or runtime state and are intentionally excluded. PROFILE_MD_FILES = ("SOUL.md", "AGENT.md", "PROACTIVE.md", "GLOBAL_LIVING_UI.md") -# Whitelist of settings.json branches that are safe to share. Anything not on -# this list (api_keys, oauth, endpoints, aws_credentials, cache, browser, etc.) -# is intentionally omitted — we never want a bundle to leak credentials. -SAFE_SETTINGS_KEYS = ("model", "proactive", "memory") - # Substrings in MCP env-var NAMES that indicate a secret value. The names are # kept (so the importer knows what to fill in) but the VALUES are stripped. SECRET_ENV_HINTS = ("KEY", "TOKEN", "SECRET", "PASSWORD", "PASS", "CREDENTIAL") @@ -122,10 +115,7 @@ def _agent_name() -> str: return name except Exception: pass - return ( - get_settings().get("general", {}).get("agent_name") - or "CraftBot" - ) + return "CraftBot" def _looks_like_secret(env_key: str) -> bool: @@ -153,11 +143,6 @@ def _strip_mcp_secrets(servers: List[Dict[str, Any]]) -> Tuple[List[Dict[str, An return cleaned, stripped -def _safe_settings_subset(settings: Dict[str, Any]) -> Dict[str, Any]: - """Return only the share-safe top-level keys from settings.json.""" - return {k: settings[k] for k in SAFE_SETTINGS_KEYS if k in settings} - - def _load_json(path: Path, default: Any) -> Any: try: return json.loads(path.read_text(encoding="utf-8")) @@ -165,6 +150,17 @@ def _load_json(path: Path, default: Any) -> Any: return default +def _load_living_ui_projects(path: Path) -> List[Dict[str, Any]]: + """Read a Living UI registry, tolerating both the {"projects":[...]} envelope + used by the LivingUIManager and a bare list (legacy / hand-written).""" + data = _load_json(path, {"projects": []}) + if isinstance(data, dict): + return data.get("projects", []) or [] + if isinstance(data, list): + return data + return [] + + def _slugify(name: str) -> str: safe = "".join(c if c.isalnum() or c in "-_" else "_" for c in name) return safe.strip("_") or "agent" @@ -196,9 +192,7 @@ def _gather_export_contents() -> Dict[str, Any]: f for f in PROFILE_MD_FILES if (AGENT_FILE_SYSTEM_PATH / f).is_file() ] - living_ui_projects = _load_json(LIVING_UI_PROJECTS_FILE, []) - if isinstance(living_ui_projects, dict): - living_ui_projects = living_ui_projects.get("projects", []) + living_ui_projects = _load_living_ui_projects(LIVING_UI_PROJECTS_FILE) return { "agent_name": _agent_name(), @@ -241,6 +235,91 @@ def _build_readme(manifest: Dict[str, Any]) -> str: ) +def _write_meta(staging: Path, manifest: Dict[str, Any]) -> None: + """Write top-level manifest.json + README.md.""" + (staging / "manifest.json").write_text( + json.dumps(manifest, indent=2, ensure_ascii=False), encoding="utf-8" + ) + (staging / "README.md").write_text(_build_readme(manifest), encoding="utf-8") + + +def _write_profile_dir(staging: Path, md_files: List[str]) -> None: + """Copy personality MD files into profile/.""" + profile_dir = staging / "profile" + profile_dir.mkdir() + for fname in md_files: + src = AGENT_FILE_SYSTEM_PATH / fname + if src.is_file(): + shutil.copy2(src, profile_dir / fname) + + +def _write_skills_dir(staging: Path, skill_names: List[str]) -> None: + """Copy each enabled skill folder and write the enabled-list manifest.""" + skills_dir = staging / "skills" + skills_dir.mkdir() + (skills_dir / "enabled.json").write_text( + json.dumps({"enabled_skills": skill_names}, indent=2), + encoding="utf-8", + ) + for skill_name in skill_names: + src = SKILLS_DIR / skill_name + if src.is_dir(): + _copy_dir_filtered(src, skills_dir / skill_name) + + +def _write_mcp_dir(staging: Path) -> None: + """Write mcp/servers.json with enabled servers only and secrets stripped.""" + mcp_dir = staging / "mcp" + mcp_dir.mkdir() + mcp_config = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) + enabled_mcp = [ + s for s in mcp_config.get("mcp_servers", []) if s.get("enabled", False) + ] + cleaned_servers, _stripped = _strip_mcp_secrets(enabled_mcp) + (mcp_dir / "servers.json").write_text( + json.dumps({"mcp_servers": cleaned_servers}, indent=2, ensure_ascii=False), + encoding="utf-8", + ) + + +def _write_living_ui_dir(staging: Path) -> None: + """Copy Living UI project source folders + the registry file.""" + living_dir = staging / "living_ui" + living_dir.mkdir() + projects = _load_living_ui_projects(LIVING_UI_PROJECTS_FILE) + # Match the envelope the LivingUIManager uses on disk + # ({"projects": [...]}). Writing a flat list would make the manager's + # _load_projects() fail silently — and its next startup cleanup pass + # would then delete every Living UI folder as "orphaned". + (living_dir / "projects.json").write_text( + json.dumps({"projects": projects}, indent=2, ensure_ascii=False), + encoding="utf-8", + ) + for project in projects: + project_path_str = project.get("path", "") + if not project_path_str: + continue + project_path = Path(project_path_str) + if not project_path.is_absolute(): + project_path = PROJECT_ROOT / project_path + if not project_path.is_dir(): + continue + _copy_dir_filtered(project_path, living_dir / project_path.name) + + +def _zip_staging(staging: Path, agent_name: str) -> Path: + """Zip the staging tree into a fresh temp file. Returns the .craftbot path.""" + slug = _slugify(agent_name).lower() + ts = time.strftime("%Y%m%d") + out_dir = Path(tempfile.mkdtemp(prefix="craftbot_profile_out_")) + out_path = out_dir / f"craftbot-{slug}-{ts}.craftbot" + with zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED) as zf: + for entry in staging.rglob("*"): + if entry.is_file(): + zf.write(entry, entry.relative_to(staging)) + return out_path + + def export_profile(description: str = "") -> Dict[str, Any]: """Build the bundle and return path + filename + summary for download. @@ -250,87 +329,14 @@ def export_profile(description: str = "") -> Dict[str, Any]: contents = _gather_export_contents() manifest = _build_manifest(contents, description=description) - # Work in a staging dir, then zip into a final file. staging = Path(tempfile.mkdtemp(prefix="craftbot_profile_")) try: - # manifest + readme - (staging / "manifest.json").write_text( - json.dumps(manifest, indent=2, ensure_ascii=False), encoding="utf-8" - ) - (staging / "README.md").write_text(_build_readme(manifest), encoding="utf-8") - - # profile/ - profile_dir = staging / "profile" - profile_dir.mkdir() - for fname in contents["md_files"]: - src = AGENT_FILE_SYSTEM_PATH / fname - if src.is_file(): - shutil.copy2(src, profile_dir / fname) - - safe_settings = _safe_settings_subset(get_settings()) - (profile_dir / "settings.partial.json").write_text( - json.dumps(safe_settings, indent=2, ensure_ascii=False), encoding="utf-8" - ) - - # skills/ - skills_dir = staging / "skills" - skills_dir.mkdir() - (skills_dir / "enabled.json").write_text( - json.dumps({"enabled_skills": contents["skills"]}, indent=2), - encoding="utf-8", - ) - for skill_name in contents["skills"]: - src = SKILLS_DIR / skill_name - if src.is_dir(): - _copy_dir_filtered(src, skills_dir / skill_name) - - # mcp/ — only enabled servers (the inventory was already filtered) - mcp_dir = staging / "mcp" - mcp_dir.mkdir() - mcp_config = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) - enabled_mcp = [ - s for s in mcp_config.get("mcp_servers", []) if s.get("enabled", False) - ] - cleaned_servers, _stripped = _strip_mcp_secrets(enabled_mcp) - (mcp_dir / "servers.json").write_text( - json.dumps({"mcp_servers": cleaned_servers}, indent=2, ensure_ascii=False), - encoding="utf-8", - ) - - # living_ui/ - living_dir = staging / "living_ui" - living_dir.mkdir() - projects = _load_json(LIVING_UI_PROJECTS_FILE, {"projects": []}) - if isinstance(projects, dict): - projects = projects.get("projects", []) - # Match the envelope the LivingUIManager uses on disk - # ({"projects": [...]}). Writing a flat list would make the manager's - # _load_projects() fail silently — and its next startup cleanup pass - # would then delete every Living UI folder as "orphaned". - (living_dir / "projects.json").write_text( - json.dumps({"projects": projects}, indent=2, ensure_ascii=False), - encoding="utf-8", - ) - for project in projects: - project_path_str = project.get("path", "") - if not project_path_str: - continue - project_path = Path(project_path_str) - if not project_path.is_absolute(): - project_path = PROJECT_ROOT / project_path - if not project_path.is_dir(): - continue - _copy_dir_filtered(project_path, living_dir / project_path.name) - - # Zip everything up. - slug = _slugify(contents["agent_name"]).lower() - ts = time.strftime("%Y%m%d") - out_dir = Path(tempfile.mkdtemp(prefix="craftbot_profile_out_")) - out_path = out_dir / f"craftbot-{slug}-{ts}.craftbot" - with zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED) as zf: - for entry in staging.rglob("*"): - if entry.is_file(): - zf.write(entry, entry.relative_to(staging)) + _write_meta(staging, manifest) + _write_profile_dir(staging, contents["md_files"]) + _write_skills_dir(staging, contents["skills"]) + _write_mcp_dir(staging) + _write_living_ui_dir(staging) + out_path = _zip_staging(staging, contents["agent_name"]) return { "success": True, @@ -409,7 +415,8 @@ def inspect_bundle(bundle_path: str) -> Dict[str, Any]: mcp_servers_in_bundle = [] mcp_needs_env: List[Dict[str, Any]] = [] for server in mcp_servers_in_bundle: - missing = [k for k in (server.get("env") or {}).keys() if not (server["env"] or {}).get(k)] + env = server.get("env") or {} + missing = [k for k in env if not env.get(k)] if missing: mcp_needs_env.append({"name": server.get("name", ""), "env_keys": missing}) @@ -446,20 +453,9 @@ class ImportSummary: md_applied: List[str] living_ui_added: List[str] living_ui_renamed: List[str] - settings_applied: bool def to_dict(self) -> Dict[str, Any]: - return { - "skills_added": self.skills_added, - "skills_skipped": self.skills_skipped, - "mcp_added": self.mcp_added, - "mcp_skipped": self.mcp_skipped, - "mcp_needs_env": self.mcp_needs_env, - "md_applied": self.md_applied, - "living_ui_added": self.living_ui_added, - "living_ui_renamed": self.living_ui_renamed, - "settings_applied": self.settings_applied, - } + return asdict(self) def _apply_md_files( @@ -488,27 +484,6 @@ def _apply_md_files( return applied -def _apply_settings(src_profile: Path, mode: str) -> bool: - """In Replace mode only, apply whitelisted settings branches.""" - if mode != "replace": - return False - partial_path = src_profile / "settings.partial.json" - if not partial_path.is_file(): - return False - try: - partial = json.loads(partial_path.read_text(encoding="utf-8")) - except (OSError, json.JSONDecodeError) as exc: - logger.warning(f"[PROFILE_BUNDLE] Invalid settings.partial.json: {exc}") - return False - current = get_settings() - for key in SAFE_SETTINGS_KEYS: - if key in partial: - current[key] = partial[key] - save_settings(current) - invalidate_settings_cache() - return True - - def _apply_skills( src_skills_dir: Path, mode: str ) -> Tuple[List[str], List[str]]: @@ -604,62 +579,24 @@ def _apply_mcp( return added, skipped, needs_env -def _apply_living_ui( +def _plan_and_copy_living_ui_imports( src_living_dir: Path, - manager: Optional["LivingUIManager"] = None, -) -> Tuple[List[str], List[str]]: - """Copy Living UI projects and register them with the live manager. - - Always renames on folder/id conflict so we never destroy a user's existing - project data. - - When ``manager`` is provided (production path), the imported projects are - inserted directly into ``manager.projects`` and persisted via the manager's - own ``_save_projects()``. This is CRITICAL: without it, our changes are - written to disk but the still-running ``LivingUIManager`` holds a stale - in-memory state — any subsequent ``_save_projects()`` call (status update, - watchdog tick, port change, etc.) will flush that stale state back to disk - and silently erase every imported entry. - - ``manager=None`` is supported for inspection / non-running callers; that - path writes the registry file directly and is vulnerable to the race - described above, so don't use it from a live agent. + bundle_projects: List[Dict[str, Any]], + target_living_dir: Path, + current_ids: set, + current_folders: set, +) -> Tuple[List[Dict[str, Any]], List[str], List[str]]: + """Walk the bundle's projects, copy each folder into ``target_living_dir`` + (renaming on id/folder conflict), and return the new registry records. + + Returns ``(new_records, added_names, renamed_names)``. ``current_ids`` / + ``current_folders`` are mutated as new entries land so per-loop conflict + checks see them. """ + new_records: List[Dict[str, Any]] = [] added: List[str] = [] renamed: List[str] = [] - projects_path = src_living_dir / "projects.json" - bundle_projects = _load_json(projects_path, []) - if isinstance(bundle_projects, dict): - bundle_projects = bundle_projects.get("projects", []) - if not bundle_projects: - return added, renamed - - # Resolve target dir + existing-state snapshot from the live manager when - # available, otherwise fall back to the on-disk file. - if manager is not None: - target_living_dir = manager.living_ui_dir - current_ids = set(manager.projects.keys()) - current_folders = { - Path(p.path).name for p in manager.projects.values() if p.path - } - else: - target_living_dir = LIVING_UI_DIR - current_records = _load_json(LIVING_UI_PROJECTS_FILE, {"projects": []}) - if isinstance(current_records, dict): - current_records = current_records.get("projects", []) - current_ids = {p.get("id") for p in current_records} - current_folders = { - Path(p.get("path", "")).name for p in current_records if p.get("path") - } - - target_living_dir.mkdir(parents=True, exist_ok=True) - - import uuid - - # Collected new entries (manifest dicts) to apply after the loop. - new_records: List[Dict[str, Any]] = [] - for project in bundle_projects: project_path_str = project.get("path", "") if not project_path_str: @@ -694,61 +631,122 @@ def _apply_living_ui( current_ids.add(new_project["id"]) current_folders.add(folder_name) + return new_records, added, renamed + + +def _register_living_ui_via_manager( + records: List[Dict[str, Any]], + manager: "LivingUIManager", +) -> None: + """Insert imported projects into the live manager and persist via its own + save path so they survive subsequent in-memory-driven flushes. + + Without this, ``_apply_living_ui`` would write the registry file directly + but the still-running ``LivingUIManager`` would hold a stale in-memory + state; any later ``_save_projects()`` (status update, watchdog tick, port + change, etc.) would flush that stale state back and silently erase every + imported entry. + """ + # Local import keeps the module's top-level surface light + dodges any + # circular-import risk between the settings and living_ui packages. + from app.living_ui.manager import LivingUIProject + + for record in records: + try: + created_at_ms = record.get("createdAt") + if not isinstance(created_at_ms, (int, float)): + created_at_ms = datetime.now().timestamp() * 1000 + project_obj = LivingUIProject( + id=record["id"], + name=record["name"], + description=record.get("description", ""), + path=record["path"], + status="stopped", + port=record.get("port"), + backend_port=record.get("backendPort"), + created_at=created_at_ms / 1000, + features=record.get("features", []) or [], + theme=record.get("theme", "system") or "system", + auto_launch=bool(record.get("autoLaunch", False)), + log_cleanup=bool(record.get("logCleanup", True)), + project_type=record.get("projectType", "native") or "native", + app_runtime=record.get("appRuntime"), + ) + except Exception as exc: + logger.warning( + f"[PROFILE_BUNDLE] Skipping malformed imported project " + f"{record.get('id', '?')}: {exc}" + ) + continue + manager.projects[project_obj.id] = project_obj + if project_obj.port: + manager._used_ports.add(project_obj.port) + if project_obj.backend_port: + manager._used_ports.add(project_obj.backend_port) + manager._save_projects() + + +def _register_living_ui_via_file(records: List[Dict[str, Any]]) -> None: + """Fallback persistence — append records to the on-disk registry file. + + Race-prone when an agent is running (see _register_living_ui_via_manager + for why), so reserved for inspection / non-running callers. + """ + current_records = _load_living_ui_projects(LIVING_UI_PROJECTS_FILE) + current_records.extend(records) + LIVING_UI_PROJECTS_FILE.parent.mkdir(parents=True, exist_ok=True) + LIVING_UI_PROJECTS_FILE.write_text( + json.dumps({"projects": current_records}, indent=2, ensure_ascii=False), + encoding="utf-8", + ) + + +def _apply_living_ui( + src_living_dir: Path, + manager: Optional["LivingUIManager"] = None, +) -> Tuple[List[str], List[str]]: + """Copy Living UI projects into the workspace and register them. + + Always renames on folder/id conflict so existing user data is never + overwritten. When ``manager`` is provided, persistence goes through the + live ``LivingUIManager`` (required from a running agent); otherwise it + falls back to a direct file write. + """ + bundle_projects = _load_living_ui_projects(src_living_dir / "projects.json") + if not bundle_projects: + return [], [] + + if manager is not None: + target_living_dir = manager.living_ui_dir + current_ids = set(manager.projects.keys()) + current_folders = { + Path(p.path).name for p in manager.projects.values() if p.path + } + else: + target_living_dir = LIVING_UI_DIR + current = _load_living_ui_projects(LIVING_UI_PROJECTS_FILE) + current_ids = {p.get("id") for p in current} + current_folders = { + Path(p.get("path", "")).name for p in current if p.get("path") + } + + target_living_dir.mkdir(parents=True, exist_ok=True) + + new_records, added, renamed = _plan_and_copy_living_ui_imports( + src_living_dir, + bundle_projects, + target_living_dir, + current_ids, + current_folders, + ) + if not new_records: return added, renamed if manager is not None: - # Register into the live manager so its next _save_projects() flushes - # our entries instead of overwriting them. Importing here to keep the - # module's top-level import surface light (and avoid a circular). - from app.living_ui.manager import LivingUIProject - - for record in new_records: - try: - created_at_ms = record.get("createdAt") - if not isinstance(created_at_ms, (int, float)): - created_at_ms = datetime.now().timestamp() * 1000 - project_obj = LivingUIProject( - id=record["id"], - name=record["name"], - description=record.get("description", ""), - path=record["path"], - status="stopped", - port=record.get("port"), - backend_port=record.get("backendPort"), - created_at=created_at_ms / 1000, - features=record.get("features", []) or [], - theme=record.get("theme", "system") or "system", - auto_launch=bool(record.get("autoLaunch", False)), - log_cleanup=bool(record.get("logCleanup", True)), - project_type=record.get("projectType", "native") or "native", - app_runtime=record.get("appRuntime"), - ) - except Exception as exc: - logger.warning( - f"[PROFILE_BUNDLE] Skipping malformed imported project " - f"{record.get('id', '?')}: {exc}" - ) - continue - manager.projects[project_obj.id] = project_obj - if project_obj.port: - manager._used_ports.add(project_obj.port) - if project_obj.backend_port: - manager._used_ports.add(project_obj.backend_port) - # Manager writes the file in the envelope format the loader expects. - manager._save_projects() + _register_living_ui_via_manager(new_records, manager) else: - # Fallback path — direct file write. Same envelope format as the - # manager uses, see _save_projects(). - current_records = _load_json(LIVING_UI_PROJECTS_FILE, {"projects": []}) - if isinstance(current_records, dict): - current_records = current_records.get("projects", []) - current_records.extend(new_records) - LIVING_UI_PROJECTS_FILE.parent.mkdir(parents=True, exist_ok=True) - LIVING_UI_PROJECTS_FILE.write_text( - json.dumps({"projects": current_records}, indent=2, ensure_ascii=False), - encoding="utf-8", - ) + _register_living_ui_via_file(new_records) return added, renamed @@ -799,7 +797,6 @@ def import_profile( bundle_name = manifest.get("name") or "imported profile" md_applied = _apply_md_files(work_dir / "profile", mode, bundle_name) - settings_applied = _apply_settings(work_dir / "profile", mode) skills_added, skills_skipped = _apply_skills(work_dir / "skills", mode) mcp_added, mcp_skipped, mcp_needs_env = _apply_mcp(work_dir / "mcp", mode) living_added, living_renamed = _apply_living_ui( @@ -818,7 +815,6 @@ def import_profile( md_applied=md_applied, living_ui_added=living_added, living_ui_renamed=living_renamed, - settings_applied=settings_applied, ) return { "success": True, From 30cbac40a9ee614721d4d571ebe38d0a38ddb211 Mon Sep 17 00:00:00 2001 From: CraftBot Date: Tue, 9 Jun 2026 11:00:07 +0900 Subject: [PATCH 04/24] added overwrite function for importing agent bundle --- .../src/components/ui/ImportProfileModal.tsx | 39 +-- .../src/pages/Settings/GeneralSettings.tsx | 6 +- app/ui_layer/settings/profile_bundle.py | 230 +++++++++++++----- 3 files changed, 196 insertions(+), 79 deletions(-) diff --git a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx index 89b4ede7..156b1db3 100644 --- a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx +++ b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx @@ -4,7 +4,7 @@ import { Button } from './Button' import { Modal, ModalBody, ModalFooter } from './Modal' import styles from './ImportProfileModal.module.css' -export type ImportMode = 'merge' | 'replace' +export type ImportMode = 'replace' | 'overwrite' export interface ProfileBundleManifest { name: string @@ -94,7 +94,7 @@ export function ImportProfileModal({ onCancel, onApply, }: ImportProfileModalProps) { - const [mode, setMode] = useState('merge') + const [mode, setMode] = useState('replace') const contents = manifest?.contents ?? {} const skills = contents.skills ?? [] @@ -185,16 +185,17 @@ export function ImportProfileModal({ setMode('merge')} + value="replace" + checked={mode === 'replace'} + onChange={() => setMode('replace')} disabled={isApplying} />
-
Merge with my agent (recommended)
+
Merge and Replace (recommended)
- Adds new skills, MCPs, and apps. Keeps your agent name. - Personality files are appended under a divider. Conflicts are skipped. + Adds new skills, MCPs, and apps. Overwrites personality files + and MCP/skill config on name conflict. Living UI apps with + matching names are imported alongside (never destroyed).
@@ -202,16 +203,18 @@ export function ImportProfileModal({ setMode('replace')} + value="overwrite" + checked={mode === 'overwrite'} + onChange={() => setMode('overwrite')} disabled={isApplying} />
-
Replace
+
Overwrite
- Overwrites personality files and MCP/skill config on conflict. - Living UI apps with matching names are still imported alongside (never destroyed). + Destructive. Wipes all existing + skills, MCP servers, and Living UI apps, then installs only + what's in this bundle. Your agent becomes a copy of the + bundle. Cannot be undone.
@@ -224,7 +227,7 @@ export function ImportProfileModal({ Cancel diff --git a/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx b/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx index ae76dc29..7815a61a 100644 --- a/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx +++ b/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx @@ -657,7 +657,6 @@ export function GeneralSettings() { } const summary = data.summary || {} - const added = (summary.skills_added?.length || 0) + (summary.mcp_added?.length || 0) const parts: string[] = [] if (summary.skills_added?.length) parts.push(`${summary.skills_added.length} skill(s)`) if (summary.mcp_added?.length) parts.push(`${summary.mcp_added.length} MCP server(s)`) @@ -666,11 +665,12 @@ export function GeneralSettings() { `${(summary.living_ui_added?.length || 0) + (summary.living_ui_renamed?.length || 0)} Living UI app(s)` ) } - const what = parts.length > 0 ? parts.join(', ') : (added > 0 ? 'profile data' : 'profile (nothing new)') + const verb = mode === 'overwrite' ? 'Overwrote agent with' : 'Imported' + const what = parts.length > 0 ? parts.join(', ') : 'profile' setProfileStatus({ type: 'success', - message: `Imported ${what}. Restart the agent to apply changes.`, + message: `${verb} ${what}. Restart the agent to apply changes.`, }) setShowImportModal(false) setImportManifest(null) diff --git a/app/ui_layer/settings/profile_bundle.py b/app/ui_layer/settings/profile_bundle.py index 849074dd..a0cb8e95 100644 --- a/app/ui_layer/settings/profile_bundle.py +++ b/app/ui_layer/settings/profile_bundle.py @@ -29,6 +29,7 @@ from app.config import ( AGENT_FILE_SYSTEM_PATH, + AGENT_FILE_SYSTEM_TEMPLATE_PATH, AGENT_WORKSPACE_ROOT, APP_CONFIG_PATH, PROJECT_ROOT, @@ -458,27 +459,29 @@ def to_dict(self) -> Dict[str, Any]: return asdict(self) -def _apply_md_files( - src_profile: Path, mode: str, bundle_name: str -) -> List[str]: +def _apply_md_files(src_profile: Path, mode: str) -> List[str]: + """Write personality MD files from the bundle into the agent file system. + + Both ``replace`` and ``overwrite`` modes write the bundle's content verbatim + over the local file. The only difference is what happens to MD files the + bundle DIDN'T ship: in ``overwrite`` mode we reset them to their template + (so the recipient's agent ends up strictly defined by the bundle); in + ``replace`` mode we leave the user's existing file alone. + """ applied: List[str] = [] AGENT_FILE_SYSTEM_PATH.mkdir(parents=True, exist_ok=True) for fname in PROFILE_MD_FILES: src = src_profile / fname - if not src.is_file(): - continue target = AGENT_FILE_SYSTEM_PATH / fname try: - incoming = src.read_text(encoding="utf-8") - if mode == "replace" or not target.exists(): - target.write_text(incoming, encoding="utf-8") - else: # merge → append under a divider - existing = target.read_text(encoding="utf-8") - divider = ( - f"\n\n---\n_imported from {bundle_name}_\n\n" - ) - target.write_text(existing.rstrip() + divider + incoming, encoding="utf-8") - applied.append(fname) + if src.is_file(): + target.write_text(src.read_text(encoding="utf-8"), encoding="utf-8") + applied.append(fname) + elif mode == "overwrite": + tmpl = AGENT_FILE_SYSTEM_TEMPLATE_PATH / fname + if tmpl.is_file(): + shutil.copy2(tmpl, target) + applied.append(fname) except OSError as exc: logger.error(f"[PROFILE_BUNDLE] Failed to apply {fname}: {exc}") return applied @@ -487,13 +490,27 @@ def _apply_md_files( def _apply_skills( src_skills_dir: Path, mode: str ) -> Tuple[List[str], List[str]]: - """Copy skill folders and update enabled_skills in skills_config.json.""" + """Install skill folders and update skills_config.json. + + ``replace`` — bundle overwrites local on name collision; new skills added. + ``overwrite`` — every existing skill folder under SKILLS_DIR is deleted, + then the bundle's skills are installed and become the entire skill set + (no disabled defaults left over). + """ added: List[str] = [] skipped: List[str] = [] enabled_list_path = src_skills_dir / "enabled.json" bundle_enabled = _load_json(enabled_list_path, {}).get("enabled_skills", []) SKILLS_DIR.mkdir(parents=True, exist_ok=True) + + if mode == "overwrite": + # Strict factory reset: wipe every skill folder, then install the + # bundle's. The recipient's skill set ends up exactly = bundle's. + for child in list(SKILLS_DIR.iterdir()): + if child.is_dir(): + shutil.rmtree(child, ignore_errors=True) + for skill_name in bundle_enabled: src = src_skills_dir / skill_name if not src.is_dir(): @@ -510,20 +527,31 @@ def _apply_skills( _copy_dir_filtered(src, dst) added.append(skill_name) - # Update skills_config.json's enabled list (additive — never disables). - config = _load_json( - SKILLS_CONFIG_PATH, {"auto_load": True, "enabled_skills": [], "disabled_skills": []} - ) - enabled_set = list(config.get("enabled_skills", [])) - disabled_set = list(config.get("disabled_skills", [])) - for skill_name in bundle_enabled: - if skill_name in added: - if skill_name not in enabled_set: - enabled_set.append(skill_name) - if skill_name in disabled_set: - disabled_set.remove(skill_name) - config["enabled_skills"] = enabled_set - config["disabled_skills"] = disabled_set + if mode == "overwrite": + # Authoritative config: bundle's enabled list IS the skill state. + config = { + "auto_load": True, + "enabled_skills": list(bundle_enabled), + "disabled_skills": [], + } + else: + # Additive: only flip skills the bundle landed into the enabled list, + # never disable anything the user already had. + config = _load_json( + SKILLS_CONFIG_PATH, + {"auto_load": True, "enabled_skills": [], "disabled_skills": []}, + ) + enabled_set = list(config.get("enabled_skills", [])) + disabled_set = list(config.get("disabled_skills", [])) + for skill_name in bundle_enabled: + if skill_name in added: + if skill_name not in enabled_set: + enabled_set.append(skill_name) + if skill_name in disabled_set: + disabled_set.remove(skill_name) + config["enabled_skills"] = enabled_set + config["disabled_skills"] = disabled_set + SKILLS_CONFIG_PATH.write_text( json.dumps(config, indent=2, ensure_ascii=False), encoding="utf-8" ) @@ -533,7 +561,14 @@ def _apply_skills( def _apply_mcp( src_mcp_dir: Path, mode: str ) -> Tuple[List[str], List[str], List[Dict[str, Any]]]: - """Merge or replace MCP server configs.""" + """Install MCP server configs from the bundle. + + ``replace`` — bundle overwrites local on name collision (preserving any + env tokens the user already filled in); new servers added. + ``overwrite`` — local mcp_config.json is wiped and replaced entirely with + the bundle's servers; no env values are preserved (the recipient's MCP + state ends up exactly = bundle's). + """ added: List[str] = [] skipped: List[str] = [] needs_env: List[Dict[str, Any]] = [] @@ -541,6 +576,24 @@ def _apply_mcp( servers_path = src_mcp_dir / "servers.json" bundle_servers = _load_json(servers_path, {}).get("mcp_servers", []) + if mode == "overwrite": + cleaned: List[Dict[str, Any]] = [] + for server in bundle_servers: + name = server.get("name", "") + if not name: + continue + missing_env = [k for k, v in (server.get("env") or {}).items() if not v] + if missing_env: + needs_env.append({"name": name, "env_keys": missing_env}) + cleaned.append(server) + added.append(name) + MCP_CONFIG_PATH.write_text( + json.dumps({"mcp_servers": cleaned}, indent=2, ensure_ascii=False), + encoding="utf-8", + ) + return added, skipped, needs_env + + # replace mode — additive with overwrite-on-conflict + env preservation current = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) existing = current.get("mcp_servers", []) by_name = {s.get("name", ""): s for s in existing} @@ -554,20 +607,17 @@ def _apply_mcp( needs_env.append({"name": name, "env_keys": missing_env}) if name in by_name: - if mode == "replace": - # Keep ANY env values the user had set locally — don't blow - # them away on replace, since the user's filled-in tokens are - # more valuable than the (empty) tokens from the bundle. - preserved_env = by_name[name].get("env", {}) - merged_env = dict(server.get("env", {})) - for k, v in preserved_env.items(): - if v and k in merged_env and not merged_env[k]: - merged_env[k] = v - server["env"] = merged_env - by_name[name] = server - added.append(name) - else: - skipped.append(name) + # Keep ANY env values the user had set locally — don't blow + # them away, since the user's filled-in tokens are more + # valuable than the (empty) tokens from the bundle. + preserved_env = by_name[name].get("env", {}) + merged_env = dict(server.get("env", {})) + for k, v in preserved_env.items(): + if v and k in merged_env and not merged_env[k]: + merged_env[k] = v + server["env"] = merged_env + by_name[name] = server + added.append(name) else: by_name[name] = server added.append(name) @@ -701,36 +751,84 @@ def _register_living_ui_via_file(records: List[Dict[str, Any]]) -> None: ) +def _wipe_living_ui_state( + manager: Optional["LivingUIManager"], + target_living_dir: Path, +) -> None: + """Delete every existing Living UI folder + clear the registry. + + Used by overwrite mode so the bundle's projects are the only ones present. + When a manager is provided, both its in-memory state and the registry file + are cleared (via _save_projects). With no manager, the registry file is + truncated to ``{"projects": []}`` directly. + + Best-effort on the folders: one held open by a running process may fail to + delete on Windows; the on-startup orphan cleanup will sweep it later. + """ + if manager is not None: + manager.projects.clear() + manager._used_ports.clear() + manager._save_projects() + else: + LIVING_UI_PROJECTS_FILE.parent.mkdir(parents=True, exist_ok=True) + LIVING_UI_PROJECTS_FILE.write_text( + json.dumps({"projects": []}, indent=2), encoding="utf-8" + ) + if target_living_dir.exists(): + for child in list(target_living_dir.iterdir()): + if child.is_dir(): + try: + shutil.rmtree(child) + except OSError as exc: + logger.warning( + f"[PROFILE_BUNDLE] Failed to delete {child.name}: {exc}" + ) + + def _apply_living_ui( src_living_dir: Path, + mode: str, manager: Optional["LivingUIManager"] = None, ) -> Tuple[List[str], List[str]]: """Copy Living UI projects into the workspace and register them. - Always renames on folder/id conflict so existing user data is never - overwritten. When ``manager`` is provided, persistence goes through the - live ``LivingUIManager`` (required from a running agent); otherwise it - falls back to a direct file write. + ``replace`` — renames on folder/id conflict so existing user data is never + destroyed; new projects added alongside. + ``overwrite`` — every existing Living UI project (folders + registry) is + deleted first, then the bundle's projects are installed under their + original ids/folder names. + + When ``manager`` is provided, persistence goes through the live + ``LivingUIManager`` (required from a running agent); otherwise it falls + back to a direct file write. """ bundle_projects = _load_living_ui_projects(src_living_dir / "projects.json") - if not bundle_projects: - return [], [] + target_living_dir = ( + manager.living_ui_dir if manager is not None else LIVING_UI_DIR + ) + target_living_dir.mkdir(parents=True, exist_ok=True) - if manager is not None: - target_living_dir = manager.living_ui_dir + if mode == "overwrite": + _wipe_living_ui_state(manager, target_living_dir) + # Empty starting set, so no conflict-rename happens. + current_ids: set = set() + current_folders: set = set() + elif manager is not None: current_ids = set(manager.projects.keys()) current_folders = { Path(p.path).name for p in manager.projects.values() if p.path } else: - target_living_dir = LIVING_UI_DIR current = _load_living_ui_projects(LIVING_UI_PROJECTS_FILE) current_ids = {p.get("id") for p in current} current_folders = { Path(p.get("path", "")).name for p in current if p.get("path") } - target_living_dir.mkdir(parents=True, exist_ok=True) + if not bundle_projects: + # In overwrite mode the empty state was already persisted in + # _wipe_living_ui_state(); nothing more to do. + return [], [] new_records, added, renamed = _plan_and_copy_living_ui_imports( src_living_dir, @@ -751,16 +849,28 @@ def _apply_living_ui( return added, renamed +VALID_IMPORT_MODES = ("replace", "overwrite") + + def import_profile( bundle_path: str, - mode: str = "merge", + mode: str = "replace", living_ui_manager: Optional["LivingUIManager"] = None, ) -> Dict[str, Any]: """Apply a bundle to the current agent. Args: bundle_path: filesystem path to the .craftbot file (already uploaded) - mode: "merge" (default — additive) or "replace" (overwrite on conflict) + mode: + ``"replace"`` (default) — additive; bundle wins on name/id conflict + for skills, MCP servers, and personality files; Living UI apps are + always copied alongside under a rename. Surfaced in the UI as + "Merge and Replace". + + ``"overwrite"`` — strict adoption; wipes the local skills folder, + MCP config, and Living UI state, then installs the bundle's + content as the entire agent identity. Destructive; the recipient's + agent ends up = the bundle's. living_ui_manager: live LivingUIManager from the adapter. Required for Living UI projects to survive — see _apply_living_ui() for why. @@ -769,7 +879,7 @@ def import_profile( a manual restart for the changes to fully take effect; the caller surfaces that to the user. """ - if mode not in ("merge", "replace"): + if mode not in VALID_IMPORT_MODES: return {"success": False, "error": f"Unknown import mode: {mode}"} path = Path(bundle_path) @@ -796,11 +906,11 @@ def import_profile( } bundle_name = manifest.get("name") or "imported profile" - md_applied = _apply_md_files(work_dir / "profile", mode, bundle_name) + md_applied = _apply_md_files(work_dir / "profile", mode) skills_added, skills_skipped = _apply_skills(work_dir / "skills", mode) mcp_added, mcp_skipped, mcp_needs_env = _apply_mcp(work_dir / "mcp", mode) living_added, living_renamed = _apply_living_ui( - work_dir / "living_ui", manager=living_ui_manager + work_dir / "living_ui", mode, manager=living_ui_manager ) # NOTE: agent_name is intentionally NOT applied — per product decision, From f7555f944fc669b7ae46d882300b9a184de64935 Mon Sep 17 00:00:00 2001 From: CraftBot Date: Sat, 13 Jun 2026 16:17:10 +0900 Subject: [PATCH 05/24] playbooks update --- .gitignore | 1 + app/data/playbooks/catalogue.json | 3613 +++++++++++++++++ app/ui_layer/adapters/browser_adapter.py | 67 +- .../frontend/src/components/Chat/Chat.tsx | 23 + .../frontend/src/components/layout/TopBar.tsx | 14 +- .../components/ui/PlaybookModal.module.css | 389 ++ .../src/components/ui/PlaybookModal.tsx | 395 ++ .../frontend/src/components/ui/index.ts | 3 + .../browser/frontend/src/store/index.ts | 2 + .../frontend/src/store/selectors/chatInput.ts | 3 + .../src/store/slices/chatInputSlice.ts | 32 + 11 files changed, 4538 insertions(+), 4 deletions(-) create mode 100644 app/data/playbooks/catalogue.json create mode 100644 app/ui_layer/browser/frontend/src/components/ui/PlaybookModal.module.css create mode 100644 app/ui_layer/browser/frontend/src/components/ui/PlaybookModal.tsx create mode 100644 app/ui_layer/browser/frontend/src/store/selectors/chatInput.ts create mode 100644 app/ui_layer/browser/frontend/src/store/slices/chatInputSlice.ts diff --git a/.gitignore b/.gitignore index aea71a6e..7419a084 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ agent_file_system/TASK_HISTORY.md !build_template.py docs/LIVING_UI_DEVELOPER_GUIDE.md agent_file_system/ACTIONS.md +agent_bundle/ \ No newline at end of file diff --git a/app/data/playbooks/catalogue.json b/app/data/playbooks/catalogue.json new file mode 100644 index 00000000..e217b25a --- /dev/null +++ b/app/data/playbooks/catalogue.json @@ -0,0 +1,3613 @@ +{ + "version": 1, + "playbooks": [ + { + "id": "marketing-kit", + "name": "Create a marketing kit", + "category": "Marketing", + "tags": [ + "content", + "marketing" + ], + "emoji": "📣", + "description": "Turn a product brief into a launch kit. Get positioning angles, landing copy, 5 social posts, and a 1-page PDF leave-behind.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "pptx", + "docx", + "pdf", + "brave-search", + "vale-brand-voice" + ], + "mcp_servers": [ + "canva-mcp", + "twitter-mcp", + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read the product brief", + "Draft 3 positioning angles and recommend one", + "Write landing-page hero + supporting sections", + "Produce 5 social posts (LinkedIn, X, Threads, Instagram)", + "Compile a 1-page PDF leave-behind" + ], + "prompt": "I want to create a launch marketing kit for my product.\n\nProduct brief:\n- Name: [product name]\n- One-liner: [10-15 word summary]\n- Target customer: [role + company shape]\n- Top 3 problems it solves: [problems]\n- Primary value props: [3-5 props]\n- Pricing model: [model + price points]\n- Competitors I differentiate against: [names]\n- Launch date: [date]\n- Tone / brand voice notes: [punchy / authoritative / playful / etc.]\n\nDeliverables, in this order:\n\n1) Positioning angles (3 options). For each: angle name, headline (<=12 words), the audience segment it lands hardest with, why it works, and the biggest risk. End with your pick and one paragraph of reasoning. Wait for my approval before moving on.\n\n2) Landing page copy, based on the picked angle:\n - Hero: headline (<=10 words), subhead (<=25 words), primary CTA copy\n - \"What it is\" section (~80 words, no jargon)\n - 3 feature/benefit blocks (label + 1-sentence benefit + concrete proof point each)\n - Social proof / objection-handling section\n - Final CTA section\n Keep total copy under 600 words. Ban: \"revolutionary\", \"seamless\", \"unlock\", \"leverage\", \"in today's landscape\".\n\n3) 5 social posts, tailored per platform — not the same copy reflowed:\n - 1x LinkedIn (150-250 words, narrative or contrarian hook, 3 niche hashtags at the end only)\n - 2x X / Twitter (one <=280 char standalone, one 4-tweet thread with a hook tweet)\n - 1x Threads (conversational, <=500 chars, 1-2 emoji max)\n - 1x Instagram caption (hook line + body + soft CTA + 5 niche hashtags)\n\n4) 1-page PDF leave-behind, written to my workspace as an actual .pdf file. Include: product one-liner, the 3 problems mapped to the 3 solutions, a screenshot placeholder block, 2 testimonial placeholders, pricing summary, and a contact line. Clean, high-contrast layout — no stock-photo clichés.\n\nQuality bar:\n- Cross-check the entire kit against the brand voice notes before handing it back\n- Every claim that names a number or fact must be either from my brief or flagged as \"placeholder — verify\"\n- At the bottom, list anything you had to invent so I can replace it" + }, + { + "id": "weekly-content-calendar", + "name": "Plan a weekly content calendar", + "category": "Marketing", + "tags": [ + "content", + "marketing", + "social" + ], + "emoji": "📅", + "description": "Plan 7 days of social content. Get a hook, post copy, CTA, and visual idea for every day.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brainstorming", + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "twitter-mcp", + "insta-business-mcp", + "facebook-mcp-server" + ], + "living_ui_apps": [] + }, + "steps": [ + "Confirm brand voice, audience, and active campaigns", + "Brainstorm weekly themes", + "Draft each day's hook, body, and CTA", + "Suggest a concrete visual per post", + "Output the week as one shareable plan" + ], + "prompt": "Plan a 7-day social content calendar.\n\nInputs:\n- Brand: [name + 1-line description]\n- Audience: [who, in 1-2 sentences, including their job and pain]\n- Platforms (rank by priority): [LinkedIn / X / Instagram / Threads / TikTok / ...]\n- This week's theme or active campaign (optional): [theme]\n- 2-3 recent posts that worked well (for voice reference): [paste or links]\n- Tone: [e.g. dry-witty, authoritative-but-warm, founder-voice]\n\nFor each of the 7 days (Mon -> Sun), produce:\n1. Date label and primary platform for the day (vary platforms across the week so the mix matches my priority list)\n2. Theme / angle for the day\n3. Hook (one line — the scroll-stopper)\n4. Full post copy, formatted for that platform's norms (LinkedIn long-form, X tight, IG caption with line breaks, etc.)\n5. CTA (specific — not \"let me know what you think\")\n6. Visual concept (1-2 sentences describing what's actually in the image/video — not a stock-photo brief)\n7. 3-5 hashtags, niche over broad\n\nConstraints:\n- No two days share the same hook structure (don't open every day with a stat or a question)\n- At least 2 posts must be narrative or personal-story shaped\n- At least 1 post must be a contrarian or pattern-break take\n- Voice must be consistent across the week — every post should sound like the same author\n\nOutput as a single shareable plan I can paste into a doc. Flag any day where you couldn't fill a field without inventing facts." + }, + { + "id": "competitive-research", + "name": "Run competitive research", + "category": "Research", + "tags": [ + "research" + ], + "emoji": "🔍", + "description": "Profile 3-5 competitors. Get a positioning map and concrete differentiation angles to act on.", + "works_best_with": { + "agent_profile": "competitive-intelligence", + "skills": [ + "brave-search", + "firecrawl", + "playwright-mcp", + "ai-news-collectors" + ], + "mcp_servers": [ + "firecrawl-mcp", + "brightdata-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Confirm product + segment", + "Shortlist 3-5 competitors and get approval", + "Profile each (positioning, pricing, strengths, gaps, recent moves)", + "Build a positioning map with justified axes", + "Recommend 3 concrete differentiation angles" + ], + "prompt": "Run a competitive research pass for my product.\n\nMy product:\n- Name + 1-liner: [paste]\n- Segment / category: [segment]\n- Primary buyer + their job-to-be-done: [who buys this and what outcome they want]\n- Pricing model: [model]\n- What I think my edge is (so you can pressure-test it): [edge]\n\nProcess:\n\n1) Identify competitors. Find the 3-5 most relevant for this segment. Give me your shortlist with one sentence per name on why it's in (and which obvious-but-wrong picks you ruled out and why). Wait for my approval before profiling.\n\n2) For each competitor, produce a profile with:\n - Name + 1-line positioning in their own words (quote their homepage)\n - Target customer: be specific — company size, role, industry\n - Core product description: what it actually does, not what they claim\n - Pricing: every plan and price; note enterprise tier if hidden\n - Distribution: how they acquire customers (SEO, paid, partnerships, PLG, sales-led) — with evidence\n - Top 3 strengths, each with a piece of evidence (URL, review quote, public metric)\n - Top 3 weaknesses, each with evidence (negative reviews, missing features, public complaints, slow updates)\n - Recent moves in the last 6 months (funding, launches, hires, pricing changes, GTM shifts)\n\n3) Positioning map. Pick two meaningful axes — NOT \"price vs features\". Pick axes that actually segment this market (depth-vs-breadth, self-serve-vs-sales-led, technical-vs-business-user, vertical-vs-horizontal, etc.). Plot every competitor and me. Justify the axis choice in 2-3 sentences.\n\n4) Differentiation recommendations. Give me 3 concrete angles I should consider. For each:\n - The angle (one sentence)\n - The segment it lands hardest with\n - The proof points I'd need to credibly own it\n - The biggest risk if I commit to it\n - Which competitor it most directly threatens\n\nQuality bar:\n- Cite a real URL for every non-obvious claim\n- Pull from at least 3 source types per competitor (homepage, review site like G2/Capterra, recent news or blog)\n- If you can't verify something, say \"unverified\" — never invent ARR, customer counts, funding amounts, or headcount\n- If a competitor's docs/site are paywalled or behind login, say so and work from what's public" + }, + { + "id": "deep-research-report", + "name": "Write a deep research report", + "category": "Research", + "tags": [ + "content", + "report", + "research" + ], + "emoji": "📚", + "description": "Research a topic end-to-end. Get a long-form report with inline citations as Word and PDF.", + "works_best_with": { + "agent_profile": "knowledge-base-manager", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning", + "docx", + "pdf" + ], + "mcp_servers": [ + "firecrawl-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Clarify topic, audience, depth, and constraints", + "Propose outline + source plan; wait for approval", + "Draft every section with inline citations", + "Build the references list", + "Compile final Word and PDF" + ], + "prompt": "I want a deep research report.\n\nBrief:\n- Topic: [topic]\n- Audience: [who reads this — their seniority, role, existing knowledge level]\n- Why they care: [the decision or question this informs]\n- Desired depth: [e.g. ~3000 words, 8-10 sections, exec-readable]\n- Hard constraints: [paywalled sources OK? recency requirement (e.g. nothing older than 2 years)? specific perspectives to cover or avoid?]\n- Style references (optional): [links or names of reports whose tone I like]\n\nPhase 1 — Outline. Wait for my approval before drafting prose.\nPropose:\n1. Working title + a 2-sentence framing of the report's argument or central finding\n2. Section list. For each section: title, 1-sentence purpose, the 3-5 sub-points it will cover, and an estimated word count\n3. The 2-3 questions the report MUST answer for the reader (this is the success bar)\n4. A source plan: 8-15 sources you intend to use, grouped by category (primary research, peer-reviewed, industry analyst, journalism, expert blog/practitioner), with a 1-line note on why each one is in the list and what perspective it brings\n5. What you're choosing NOT to cover, and why\n\nI'll reply with edits or \"approved\". Do not draft prose until I approve.\n\nPhase 2 — Draft.\n- Write every section in full to the estimated word count (±15%)\n- Inline-cite using [Author, Year] or [Source name] — every non-obvious claim needs a citation\n- Lead each section with the conclusion / takeaway, then support it (BLUF, not buildup)\n- Where sources disagree, surface both sides in 2-3 sentences and tell me which is better-supported and why\n- If a section's evidence is thin, say so plainly — don't pad with adjacent material\n- Include at least one concrete example, case, or data point per section\n\nPhase 3 — References + deliverables.\n- Build a numbered references list at the end with full URLs, author, publication, date\n- Produce two output files in my workspace:\n 1. Word document (.docx) with consistent heading styles\n 2. PDF version of the same content\n\nQuality bar:\n- Zero invented statistics, dates, quotes, or studies. If a claim has no source, drop it.\n- No filler intros (\"In today's fast-paced world...\", \"It is widely known that...\")\n- No AI-slop tells: ban \"delve\", \"tapestry\", \"leverage\", \"in the realm of\", \"navigate the complexities\", \"unlock the potential\"\n- A reader skimming only the section openers should still get the report's argument\n- At the very end, list any open questions or weak spots in the evidence so I know where to push back" + }, + { + "id": "weekly-finance-report", + "name": "Generate a weekly finance report", + "category": "Finance", + "tags": [ + "finance", + "report" + ], + "emoji": "📈", + "description": "Summarize the week's revenue, spend, and runway. Get a one-page digest with WoW deltas and decisions needed.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "docx", + "pdf", + "concise-planning" + ], + "mcp_servers": [ + "postgresql-mcp", + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read the configured data sources", + "Compare against last week", + "Flag movers (>10% WoW or >5% of total spend)", + "Surface items needing a decision", + "Output a one-page PDF" + ], + "prompt": "Generate this week's finance report.\n\nInputs:\n- Data sources to read: [list dashboards, sheets, warehouse tables, accounting export — with paths or URLs]\n- Last week's report (for delta comparison): [link / paste]\n- Period: this week = [start date] -> [end date]\n- Currency: [USD / EUR / etc.]\n\nProduce a one-page report with these sections, in this order:\n\n1) Headline (2 lines max). The single most important takeaway about the week's financials.\n\n2) Numbers table:\n | Metric | This week | Last week | Delta | % change |\n At minimum include: gross revenue, net revenue, total spend (broken into COGS, payroll, marketing, infra, other), gross margin %, cash balance, runway (months).\n\n3) Movers. Every line item that moved >10% week-over-week OR >5% of total spend. For each: what moved, by how much, and the most likely cause based on the data (cite the source).\n\n4) Trends (3 sentences max). What the 4-week direction looks like for revenue, spend, and runway.\n\n5) Needs your decision. Numbered list of items requiring my call this week. Each: the item, the deadline, the dollar amount at stake, and your recommendation in one line.\n\nConstraints:\n- Round to thousands (or appropriate magnitude); no false precision\n- If a number is unavailable, write \"n/a\" — never guess or silently extrapolate\n- Don't editorialize beyond the data — if you say \"likely caused by X\", point at the row/dashboard that backs it\n- Output as a single one-pager PDF in my workspace, suitable to forward to investors or co-founders without further editing" + }, + { + "id": "personal-assistant-day-plan", + "name": "Plan my day", + "category": "Personal", + "tags": [ + "marketing", + "personal", + "productivity" + ], + "emoji": "☀️", + "description": "Build a focused day plan from your calendar and todos. Get a time-blocked schedule and the single top priority.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "ask-questions-if-underspecified" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read calendar and todos", + "Pick the single most important outcome", + "Time-block around fixed meetings", + "Batch shallow work into one block", + "Output a tight day plan" + ], + "prompt": "Plan my day.\n\nInputs:\n- Today's calendar: [paste or link]\n- Open todos / priorities: [paste or link]\n- Energy notes (optional): [e.g. focus best in the morning, fade after 3pm]\n\nGive me, in this exact order:\n1. One sentence — the single most important outcome for today.\n2. A time-blocked schedule. Keep my fixed meetings in place, then fill gaps with: at least one deep-work block (>=90 min, protected, named with the task) for the top priority, and one batched block for shallow work (email, replies, admin).\n3. End-of-day checkpoint — what I should review at 5pm to call today a win.\n\nKeep the whole plan under 200 words. Skip motivational language." + }, + { + "id": "blog-post-draft", + "name": "Draft a blog post", + "category": "Content", + "tags": [ + "content", + "seo" + ], + "emoji": "✍️", + "description": "Outline and draft a blog post. Get a publish-ready post with a strong hook and SEO basics covered.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "brave-search", + "vale-brand-voice", + "concise-planning" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Clarify topic, audience, angle, target length", + "Propose outline + opening hook; wait for approval", + "Draft the full post", + "Polish: AI-slop strip, fact-check, SEO meta", + "Output as a markdown block" + ], + "prompt": "Draft a blog post.\n\nBrief:\n- Topic: [topic]\n- Audience: [who reads this + what they already know]\n- Angle / POV: [the take, the contrarian framing, or the specific lens — be sharp]\n- Target length: [e.g. 1200 words]\n- Primary keyword (optional, for SEO): [keyword]\n- 2-3 posts whose voice I like (for reference): [links]\n\nPhase 1 — Outline. Wait for my approval before drafting.\nGive me:\n- 2 working title options\n- A one-sentence thesis (the single claim the post makes)\n- Section list (H2/H3 structure) with a 1-line purpose per section\n- The opening hook, written out in full — this is what'll make me say yes or no\n\nPhase 2 — Full draft, once I approve.\n- Hit the target length within ±10%\n- Use the H2/H3 structure from the outline; keep paragraphs <=4 sentences\n- End every section with a one-line takeaway\n- Include a concrete example, anecdote, or data point in at least 3 sections\n- Close with a sharp final line — not a generic CTA, not a summary\n\nPhase 3 — Polish pass.\n- Strip AI-slop phrasing: \"delve\", \"in today's landscape\", \"navigate the complexities\", \"unlock\", \"leverage\", \"tapestry\", \"in the realm of\"\n- Verify every fact, stat, or quote you used; cite or remove\n- Produce: title tag (<=60 chars), meta description (<=155 chars), suggested slug, and 2 alt-text strings for hero image options\n\nOutput the final post as a single markdown block I can paste into my CMS, with the SEO meta in a small block at the top." + }, + { + "id": "support-triage", + "name": "Triage customer support inbox", + "category": "Customer Success", + "tags": [ + "customer-success" + ], + "emoji": "📨", + "description": "Triage your support inbox. Get a table with urgency, theme, draft replies, and human-needed flags.", + "works_best_with": { + "agent_profile": "customer-support-agent", + "skills": [ + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read recent unresolved tickets", + "Classify by urgency (P0-P3) and theme", + "Draft a first-pass reply per ticket", + "Flag tickets needing a human or product call", + "Surface theme patterns" + ], + "prompt": "Triage my customer support inbox.\n\nInputs:\n- Source to read: [Gmail label / Zendesk view / Front / Intercom — be specific]\n- Time window: [e.g. last 48 hours, unresolved only]\n- Tone guide / brand voice notes (optional): [paste or link]\n- Common-issue runbook (optional, so you reuse approved answers): [paste or link]\n\nFor every ticket, produce a row:\n| Customer | Subject | Urgency (P0-P3) | Theme | Sentiment | First-pass reply | Needs human? | Why |\n\nUrgency rubric:\n- P0: production-down, data loss, security incident, churn-risk customer threatening to leave, billing failure on enterprise account\n- P1: blocked workflow, billing errors on paid tier, paid-tier customer waiting >24h, broken integration\n- P2: feature request from active user, small UX bugs, free-tier issues, how-to questions\n- P3: vague feedback, spam, marketing-list reply-alls, opt-outs\n\nFirst-pass reply rules:\n- Open by restating the customer's specific issue in one sentence — NOT \"Thanks for reaching out!\"\n- Either resolve the issue or explain the next step with a concrete timeline\n- One action per reply — don't bundle\n- Sign-off matching the tone guide (if no guide, default to warm + direct)\n- Keep replies under 120 words\n\nAt the end of the table, add two sections:\n- Patterns: any theme that appeared in 3+ tickets — flag as a possible product or doc issue, with the affected ticket count and a 1-line hypothesis\n- Needs your call: tickets where Needs human = yes, listed with one-line context each, ranked by urgency\n\nDon't send anything. Drafts only, for me to review." + }, + { + "id": "video-to-content-pack", + "name": "Repurpose a video into a content pack", + "category": "Content", + "tags": [ + "content", + "social", + "video" + ], + "emoji": "📹", + "description": "Turn a long video into multi-platform content. Get a thread, LinkedIn post, 3 shorts scripts, a newsletter draft, and a blog post.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "brave-search", + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "notion-mcp", + "twitter-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull transcript and chapter markers", + "Identify the 5-8 highest-engagement moments", + "Draft thread, LinkedIn post, and 3 shorts scripts", + "Write a newsletter draft and an SEO blog post", + "Compile as a single shareable doc" + ], + "prompt": "Turn this video into a multi-platform content pack.\n\nInputs:\n- Video URL (YouTube / Vimeo / Loom): [paste URL]\n- Creator / brand voice: [1-2 sentence description; link a recent post if I have one]\n- Target audience: [who this content is for]\n- Primary CTA across platforms (optional): [e.g. subscribe to newsletter, book a call]\n\nStep 1 — Source the material.\nPull the transcript and chapter markers. Read end-to-end — don't skim. Then identify the 5-8 highest-engagement moments: places where the speaker says something quotable, contrarian, or unexpectedly concrete. List them with timestamps before drafting anything.\n\nStep 2 — Produce these deliverables, in this order:\n\n1) Twitter / X thread (5-9 tweets, <=280 chars each)\n - Hook tweet must work as a standalone — no \"thread below\" filler\n - One concrete claim per tweet, no rhetorical questions\n - Final tweet: a sharp summary or soft CTA, NOT \"follow me for more\"\n\n2) LinkedIn post (200-350 words)\n - Narrative or contrarian hook — no \"here are 5 things I learned\" listicles\n - One personal angle, one concrete payoff\n - Optional 3 niche hashtags at the very bottom only\n\n3) Three short-form video scripts (1x 30s, 1x 60s, 1x 90s)\n - Each: a 3-second hook, the payoff, one CTA line\n - Tag scripts as TikTok / Reels / Shorts friendly — vertical, fast pace, no slow burns\n\n4) Newsletter draft (400-600 words)\n - Standalone — must make sense to a reader who never saw the video\n - Structure: opening anecdote -> the insight -> why it matters -> one takeaway\n - End with a link back to the original video\n\n5) SEO blog post (1000-1400 words)\n - H2/H3 structure derived from the chapters\n - Embed the most quotable moments as pull-quotes with timestamps\n - Title tag (<=60 chars), meta description (<=155 chars), suggested slug\n\nQuality bar:\n- Every deliverable must sound like the same author — no register drift across formats\n- Strip AI-slop: \"delve\", \"unlock\", \"navigate the complexities\", \"in today's landscape\"\n- At the bottom, mark which lines are verbatim quotes vs paraphrased so I can fact-check\n- Flag any claim where you extrapolated beyond what was said in the video" + }, + { + "id": "cold-outreach-sequence", + "name": "Personalize cold outreach to a lead list", + "category": "Sales", + "tags": [ + "lead-gen", + "sales" + ], + "emoji": "✉️", + "description": "Research a lead list and write 3-touch sequences. Get a per-lead hook, intro email, follow-up, and breakup email.", + "works_best_with": { + "agent_profile": "bd-partnerships", + "skills": [ + "brave-search", + "firecrawl", + "playwright-mcp", + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Clean the lead list", + "Research each lead for a specific hook", + "Draft a 3-touch sequence per lead", + "Compile as a sendable table", + "Flag leads you couldn't personalize" + ], + "prompt": "Personalize cold outreach for my lead list.\n\nInputs:\n- Lead list (CSV with at least name, company, role, email; LinkedIn URL is a big plus): [paste or path]\n- My company + 1-liner: [name + what we do]\n- Who we serve and the outcome we deliver: [ICP + outcome]\n- The single most-credible proof point I have (case study, logo, metric, certification): [paste]\n- Tone: [warm + direct / playful / technical-peer]\n- Sending account + signature block: [paste]\n\nStep 1 — Clean the list.\nRead every row. Drop generic mailboxes (info@, contact@, support@). Drop rows missing role or company. Tell me how many leads you started with and how many remain.\n\nStep 2 — Research per lead.\nFor each remaining lead, find ONE specific recent hook. In order of preference:\n1. A recent post they wrote (LinkedIn, blog, podcast)\n2. A recent move at their company (funding, launch, hiring spike, layoff, acquisition)\n3. A concrete job-to-be-done for their role at their company size\nNever use lazy \"I saw you work at [company]\" personalization. If you cannot find a real hook, mark the lead \"skip\" — don't fake it.\n\nStep 3 — Write a 3-touch sequence per lead.\n\nEmail 1 (initial, <=80 words):\n- Open with the specific hook in one sentence — NOT \"I hope this finds you well\"\n- One credible proof point that maps to the hook\n- One low-friction CTA (15-min call OR a single-question reply)\n\nEmail 2 (follow-up, +3 days, <=60 words):\n- A different angle or proof point — never \"just bumping this up\"\n\nEmail 3 (breakup, +7 days, <=40 words):\n- Honest, slightly self-deprecating, leaves the door open\n- No guilt trips, no \"this is my last email\" pressure\n\nOutput format:\n- One markdown table: Name | Company | Hook | Subject Line | Email 1 | Email 2 | Email 3 | Notes\n- Subject lines: <=6 words, lowercase, no salesy words (\"opportunity\", \"connect\", \"quick question\")\n- Plain text only — no HTML, no images, no tracking pixels\n- At the end, list any leads marked \"skip\" with a 1-line reason\n\nQuality bar:\n- Every email passes the \"would a busy person bother replying?\" test\n- No template scent — each sequence must read like a 1:1 message\n- Banned: \"I hope this email finds you well\", \"just wanted to reach out\", \"synergy\", \"thought leader\"" + }, + { + "id": "codebase-tech-debt-audit", + "name": "Audit my codebase for tech debt", + "category": "Engineering", + "tags": [ + "audit", + "engineering" + ], + "emoji": "🔧", + "description": "Walk a codebase and write a refactor report. Get a file-cited list of dead code, hot-spot files, and ranked refactor opportunities.", + "works_best_with": { + "agent_profile": "backend-engineer", + "skills": [ + "concise-planning", + "audit-context-building", + "git-commit" + ], + "mcp_servers": [ + "filesystem" + ], + "living_ui_apps": [] + }, + "steps": [ + "Map the repo structure and tech stack", + "Identify dead code, hot files, dependency issues", + "Detect duplication, coupling, and test gaps", + "Rank findings by effort and risk", + "Output a markdown report with file:line citations" + ], + "prompt": "Audit this codebase for technical debt and produce a written report.\n\nScope:\n- Repo root: [path or URL]\n- Focus areas (defaults to whole repo): [paths or modules]\n- What I'm optimizing for: [readability / perf / shipping speed / onboarding / safety]\n- Leave alone: [generated code, vendored deps, soon-to-be-deleted modules]\n\nPhase 1 — Map the territory.\nWalk the repo and identify:\n- Tech stack (language, framework, build, test runner)\n- Top-level architecture (modules + responsibilities)\n- Where complexity concentrates (file LOC, cyclomatic complexity, churn from git log)\n- Test coverage shape (which dirs are tested, which aren't)\n\nOutput this map FIRST, before any recommendations. I'll sanity-check it before you continue.\n\nPhase 2 — Find the debt.\nCategorize findings into these buckets. Every finding MUST cite file:line.\n\n1. Dead code — unused exports, unreachable branches, orphaned files. Verify with grep before claiming.\n2. Hot-spot files — high churn + high complexity + low test coverage. These are the riskiest to change today.\n3. Duplication — copy-pasted logic that should be extracted. Show the 2-3 most painful examples with file:line for each copy.\n4. Dependency issues — outdated, unused, duplicate, deprecated, or improperly pinned.\n5. Coupling problems — circular imports, layers reaching across boundaries, leaky abstractions.\n6. Test gaps — modules where critical paths have no tests, flaky tests, tests that don't actually assert behavior.\n\nPhase 3 — Rank by ROI.\nScore each finding on:\n- Effort (S / M / L / XL)\n- Risk if untouched (Low / Med / High)\n- Confidence we can fix it safely (Low / Med / High)\n\nThen recommend a top-10 list to action this quarter. For each: what to do, what to leave alone, the smallest possible PR shape, and what could break.\n\nQuality bar:\n- Every claim cites file:line — \"this file is messy\" without evidence is not allowed\n- No suggestions that would require rewriting the whole repo\n- If you can't be sure (e.g. you can't run the tests), say so — never assume green is green\n- Don't propose adopting a trendy framework or rewriting in a new language unless I asked\n- Output the final report as REFACTOR_AUDIT.md in the repo root" + }, + { + "id": "resume-tailor", + "name": "Tailor my resume to a job posting", + "category": "Career", + "tags": [ + "career" + ], + "emoji": "📄", + "description": "Tailor a resume to a specific job. Get an ATS-friendly resume, a custom cover letter, and a follow-up email.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "docx", + "pdf", + "brave-search", + "vale-brand-voice" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read the JD and extract keywords", + "Re-rank my experience by relevance", + "Rewrite bullets with metrics", + "Draft a custom cover letter", + "Draft a follow-up email" + ], + "prompt": "Tailor my resume and cover letter for a specific job posting.\n\nInputs:\n- Job posting URL or pasted text: [paste]\n- My master resume: [paste or path]\n- 2-3 achievements I'm proud of that aren't on the resume yet (optional): [paste]\n- Constraints: [visa status, remote-only, target compensation if I want it referenced]\n\nPhase 1 — Read the JD.\nExtract:\n- The 5-8 must-have skills / keywords (rank by how often they appear)\n- 2-3 nice-to-haves\n- The signal that says what the team actually cares about (e.g. \"reduce on-call load\", \"ship to enterprise customers\", \"work cross-functionally with PM\")\n- Likely ATS / keyword-filter style based on the company (big-tech / startup / agency)\n\nShow me this analysis before rewriting anything. I'll confirm or correct.\n\nPhase 2 — Rewrite the resume.\n- Keep my real experience — never invent roles, titles, dates, or metrics\n- Reorder bullets so the most relevant ones for THIS job rise to the top of each role\n- Rewrite each bullet as: action verb -> what I did -> measurable result. If I don't have a real metric, ASK me before inventing — placeholder \"X%\" is OK if marked TODO\n- Match resume wording to the JD's vocabulary (e.g. if they say \"observability\", don't write \"monitoring\")\n- Keep it to 1 page unless I'm senior (15+ years)\n- Output as .docx — clean, ATS-friendly, no tables, no columns, no images\n\nPhase 3 — Cover letter (250-350 words).\n- Open with a specific reason I want THIS role — not \"I'm excited to apply\"\n- One concrete story that proves I can do the job\n- One paragraph on why I'm a fit for THEIR signal (from Phase 1)\n- Close with a clear ask (a conversation) — no \"thank you for your consideration\" filler\n- Output as .docx and as plain text I can paste\n\nPhase 4 — Follow-up email (for +7 days if no response).\n- <=80 words\n- Add a new piece of value: link to a project, a thought on the role, a relevant data point\n- Never \"just bumping this up\"\n\nQuality bar:\n- Strip AI-slop: \"passionate\", \"results-driven\", \"team player\", \"hit the ground running\"\n- Never invent a metric, employer, or skill I don't have\n- Flag every TODO at the bottom so I know what to fill in" + }, + { + "id": "xiaohongshu-viral-note", + "name": "Write a Xiaohongshu (小红书) viral note", + "category": "Content", + "tags": [ + "chinese-market", + "content", + "social" + ], + "emoji": "📕", + "description": "Write a 小红书 note in viral platform style. Get a clickable title, cover concept, body in 姐妹们 voice, and a hashtag stack.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "brainstorming", + "vale-brand-voice" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm 痛点 / 产品 / 目标人群", + "Generate 5 title options in 小红书 标题党 style", + "Draft 封面 concept + body in 小红书 voice", + "Suggest a 5-10 hashtag stack", + "Run a 平台合规 review pass" + ], + "prompt": "Write a Xiaohongshu (小红书) note that has a real shot at going viral.\n\nInputs:\n- Product / topic / experience I'm posting about: [paste]\n- Target reader (be specific — 大学生 / 宝妈 / 职场女性 / 健身党 / etc.): [audience]\n- My voice / 人设: [e.g. 都市白领分享好物 / 大学生省钱党 / 健身教练]\n- The single transformation I want the reader to feel: [涨知识 / 长草 / 治愈 / 解决一个具体痛点]\n- Goal: [纯种草 / 引流私域 / 涨粉 / 推广自家产品]\n- Past high-performing note from this account (optional): [link]\n\nStep 1 — Title options (5).\nDraft 5 titles in 小红书 爆款 style. Each must:\n- Be <=20 Chinese characters\n- Use 1-3 fitting emoji (NOT generic ✨🌟)\n- Use at least one 标题党 pattern: 数字 (\"3款...\" / \"99%人不知道...\"), 反差/感叹 (\"姐妹们冲!\" / \"我宣布\"), 痛点提问 (\"为什么我...\"), 经验沉淀 (\"30天我...\"), or 干货承诺 (\"一篇讲清...\")\n- Pick one as your recommendation and explain in one sentence why it lands hardest with this reader.\n\nWait for me to pick before drafting the body.\n\nStep 2 — Cover page (封面).\nSuggest a 封面 design with:\n- 大字报 title text (a 5-8 character punchline — usually a sharper version of the title)\n- 1-line supporting subtitle\n- Concrete background description (real-life shot / 桌面平铺 / 对比图 / 步骤拼图 — NOT \"a beautiful image\")\n\nStep 3 — Body copy.\n- First-person voice\n- Reader address: 姐妹们 / 宝子们 / 大家 (pick what fits the 人设)\n- Hard structure: 痛点钩子 (2-3 lines) -> 解决方案 / 产品 / 方法 -> 真实使用感 OR 对比 -> 总结 + 软性 CTA\n- Line breaks every 1-2 sentences — never long paragraphs\n- 1-2 emoji per section to break the wall of text — don't over-emoji\n- 200-400 字 total, depending on the topic\n- Mark 2-3 places where I should insert an image (e.g. \"📸 这里放对比图\")\n\nStep 4 — Hashtag stack.\n5-10 hashtags at the end, mixed:\n- 2-3 broad volume tags (#好物分享 #生活记录)\n- 3-5 niche tags specific to the topic (#xx 测评 #平价 xx)\n- 1-2 community tags if relevant (#姐妹们种草 #打工人日常)\n\nStep 5 — Compliance check.\nFlag anything that risks 限流: 极限词 (\"最\" / \"第一\" / \"100%\"), unverified medical or efficacy claims, brand-name comparison with negatives, hard sells. Rewrite the flagged lines.\n\nQuality bar:\n- Must NOT read like translated Instagram copy\n- Must NOT use 朋友们 (it reads 抖音, not 小红书)\n- If the goal is 引流, the CTA stays soft — never \"私信我加微信\"" + }, + { + "id": "inbox-zero-triage", + "name": "Triage and reply to my inbox", + "category": "Productivity", + "tags": [ + "productivity", + "sales" + ], + "emoji": "📥", + "description": "Triage unread email into Reply / Review / Noise. Get drafted replies in your voice, summaries, and a decisions list.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull unread email in the window", + "Classify each as Reply / Review / Noise", + "Draft replies for the Reply bucket", + "Summarize the Review bucket in one line each", + "Output a single triage report" + ], + "prompt": "Triage my inbox and draft replies for everything I should touch today.\n\nInputs:\n- Source: [Gmail label / Outlook folder / etc.]\n- Time window: [e.g. last 24 hours, unread only]\n- My top 1-2 priorities this week (so you can judge what's urgent for ME): [paste]\n- Voice samples — 2-3 emails I sent recently that sound like me: [paste]\n- Out-of-scope senders to never touch (boss / spouse / a specific client): [list]\n\nStep 1 — Classify every email into one bucket:\n- REPLY — needs an actual response from me\n- REVIEW — I should see it but no reply needed (FYI, status update, calendar invite to accept/decline)\n- NOISE — newsletters, automated alerts, marketing\n\nFor each email, output: Sender | Subject | Bucket | One-line reason.\n\nStep 2 — For every REPLY email, draft a response.\nRules:\n- Match my voice samples — same register, same opener style, same sign-off\n- Address the actual question / ask in the first sentence\n- One concrete action or timeline per reply\n- <=120 words unless the email genuinely needs more\n- If I'd need to make a decision before replying, write \"NEEDS YOUR CALL: [the decision]\" at the top of the draft and leave a stub\n\nStep 3 — For REVIEW emails:\n- Summarize each in one line (\"FYI: Q3 board meeting moved to Thursday\")\n- If there's a calendar invite I should accept/decline, suggest which\n- Don't draft replies for these\n\nStep 4 — For NOISE:\n- Suggest a filter / label rule for repeat senders so I don't see them again\n- Do NOT auto-archive without my approval the first time\n\nStep 5 — Output a single triage report:\n1. Counts: how many REPLY / REVIEW / NOISE\n2. REPLY section with drafts ready to send\n3. REVIEW section with 1-line summaries\n4. NEEDS YOUR CALL section bubbling up anything that requires a decision\n5. Suggested filter rules at the bottom\n\nQuality bar:\n- Never send anything — drafts only, saved to my Drafts folder\n- Never fabricate context (e.g. \"As I mentioned in our last meeting...\") unless it's true\n- If the voice sample doesn't include enough signal, ask before guessing" + }, + { + "id": "stock-thesis", + "name": "Build an investment thesis on a stock", + "category": "Investing", + "tags": [ + "investing", + "research" + ], + "emoji": "📊", + "description": "Research a ticker and write a 1-page thesis. Get a bull case, bear case, valuation, catalysts, and a recommended action.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Read the latest filings and recent news", + "Read 2-4 earnings call transcripts for tone shifts", + "Build the bull and bear cases with cited evidence", + "Sketch valuation vs history and peers", + "Output a 1-page PDF memo" + ], + "prompt": "Build a 1-page investment thesis on this stock.\n\nInputs:\n- Ticker + company: [e.g. NVDA / Nvidia]\n- My time horizon: [3-6mo / 1-3yr / 5yr+]\n- My current view going in: [bull / bear / curious / no view]\n- Position context (optional): [thinking of opening / sizing up / averaging down / trimming]\n- Sources to prioritize: [10-K, last 4 earnings call transcripts, recent analyst notes, my past notes — paste or link]\n\nStep 1 — Read primary sources.\nIn this order:\n1. Latest 10-K / 10-Q\n2. Last 2-4 earnings call transcripts (management tone shifts ARE signal)\n3. Recent (last 90 days) news and analyst notes\n4. The 2-3 closest competitor 10-Ks for context\n\nTell me what's MISSING before drafting (e.g. \"next earnings call isn't out yet\", \"private competitor X has no public filings\"). Don't fabricate around gaps.\n\nStep 2 — Build the thesis.\n\nA. The business in 2 sentences. What it does, how it makes money. No jargon.\n\nB. Bull case (3-5 numbered points). Each point: the claim, the supporting evidence (cite filing / transcript / report with page or timestamp), the implied upside.\n\nC. Bear case (3-5 numbered points). Same structure. Steelman it — don't soft-pedal the risks.\n\nD. Valuation sketch. Current P/E, EV/EBITDA, P/S where relevant. Compare to: (a) the company's own 5-year average, (b) 2-3 closest peers. State whether it screens cheap, fair, or expensive AT TODAY'S PRICE.\n\nE. Catalysts to watch. 3-5 dated events in the next 6-12 months (earnings, product launches, regulatory rulings, debt rolls) and what each would prove or disprove.\n\nF. What would make me change my mind? 2-3 specific signals that would flip the thesis.\n\nG. Recommended next action. Open / size up / hold / trim / pass, with one sentence on why. ALWAYS express position size as % of portfolio, never $.\n\nStep 3 — Output.\n- 1-page memo as .pdf to my workspace\n- References list at the end with every citation (URL, page or timestamp)\n- A \"questions I couldn't answer\" section flagging what I should check before acting\n\nQuality bar:\n- Zero invented numbers. If you can't find revenue/margin/guidance, say so — don't estimate silently.\n- This is analysis, not financial advice — frame it as such\n- No \"to the moon\", no \"clear winner\", no \"trust me\"" + }, + { + "id": "etsy-digital-product", + "name": "Launch a digital product on Etsy / Gumroad", + "category": "Side Hustle", + "tags": [ + "ecommerce", + "side-hustle" + ], + "emoji": "🛍️", + "description": "Pick a niche and launch a digital product. Get a niche brief, SEO listing, cover-image briefs, and storefront copy.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "brainstorming", + "pdf", + "file-organizer" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Scope a viable niche from my interests + skills", + "Research existing listings for demand", + "Define the smallest v1 product", + "Write the SEO listing (title, tags, description)", + "Brief cover images + draft storefront copy" + ], + "prompt": "Help me launch a digital product on Etsy / Gumroad / Payhip.\n\nInputs:\n- My interests + skills + spare time per week (be honest): [paste]\n- Target platform: [Etsy / Gumroad / Payhip / Shopify]\n- Product type I'm leaning toward (optional): [printables / planners / Notion templates / wedding suite / etc.]\n- Brand voice + visual style: [e.g. minimal beige / playful kid-friendly / spicy spreadsheet-bro]\n- Budget for design tools / ads ($0 is fine): [budget]\n\nPhase 1 — Niche brief. Wait for my approval before writing the listing.\n\nPropose 3 niche options. For each:\n- The niche in one specific sentence (\"perpetual budget tracker for couples splitting bills proportionally\" — NOT \"budget tracker\")\n- Why it has demand: cite 3-5 real Etsy/Gumroad listings already selling something nearby, with seller name, price, and estimated monthly sales (or \"established shop, can't tell volume\")\n- Why I can credibly own it given my skills + voice\n- The smallest possible v1 product (1 file, deliverable in a weekend)\n- A realistic price (don't underprice)\n\nRecommend one and explain why. Wait for me to confirm.\n\nPhase 2 — Listing.\n\nOnce I confirm the niche:\n\n1. Title (140 chars max for Etsy). Front-load with the highest-intent keyword. Pattern: [Product type] + [Specific use case] + [Variant], e.g. \"Wedding Budget Spreadsheet | Excel + Google Sheets | Couples Cost Split + Vendor Tracker\".\n\n2. Tags (13 for Etsy, all <=20 chars, lowercase). Mix: 3 broad volume, 7 mid-volume long-tail, 3 hyper-niche. Note search volume tier where you can estimate.\n\n3. Description (400-600 words, scannable):\n - Hook line (one sentence — the transformation)\n - What's included (bulleted, exact file names + formats)\n - How it works (3-5 steps)\n - Who it's for / not for (sets expectations, reduces refund rate)\n - FAQ (4-6 real questions buyers ask)\n - Delivery note (instant download, file types, license terms)\n\n4. Cover image briefs (5 images for the carousel). For each: composition, text overlay, color palette suggestion.\n - Image 1: hero mockup with the value-prop overlay text\n - Image 2: feature breakdown\n - Image 3: in-use / lifestyle shot\n - Image 4: \"what you get\" file manifest\n - Image 5: social proof or testimonial placeholder\n\n5. Storefront copy:\n - Shop announcement banner (<=140 chars)\n - About section (200-300 words in my voice)\n - Welcome message + post-purchase email\n\nQuality bar:\n- Don't fake \"100+ sold\" social proof — leave placeholders for real numbers\n- No \"limited time offer\" pressure tactics\n- Banned: \"high-quality\", \"perfect for\", \"must-have\" — say something specific instead\n- At the bottom, list every assumption you made about my niche, voice, or buyers so I can correct them" + }, + { + "id": "real-estate-listing", + "name": "Write a real estate listing", + "category": "Real Estate", + "tags": [ + "ecommerce", + "real-estate", + "sales" + ], + "emoji": "🏠", + "description": "Turn property details into a polished listing. Get an MLS-ready description plus social variants for IG, TikTok, and email.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brainstorming", + "vale-brand-voice" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Read property data and photos", + "Identify the 3 strongest selling points", + "Draft the MLS description", + "Spin into IG, TikTok, and email variants", + "Flag fair-housing risk language" + ], + "prompt": "Write a complete listing pack for this property.\n\nInputs:\n- Property data (address, beds, baths, sqft, lot, year, key features): [paste]\n- 5-15 photos with brief captions of what each shows: [paste or path]\n- Asking price + days-on-market context: [paste]\n- Neighborhood notes (school district, walkability, recent comps, vibe): [paste]\n- Target buyer (be specific — first-timers / families / downsizers / investors): [audience]\n- Agent voice / brokerage style: [warm-and-personal / luxury-minimalist / data-driven / etc.]\n\nStep 1 — Identify the 3 strongest selling points.\nDon't list everything good about the house. Pick the 3 things that make THIS property different from the comps. Each: the feature, why it matters to the target buyer, the evidence (which photo or data point backs it).\n\nTell me your three before drafting. I'll confirm or swap.\n\nStep 2 — MLS description (150-220 words).\n- Open with a specific hook tied to selling point #1 — NOT \"Welcome home\" or \"Step into\"\n- Walk the buyer through the property in a logical order (front -> public spaces -> private spaces -> outdoor)\n- Mention all three selling points, with the strongest as the anchor\n- End with a single concrete CTA tied to the brokerage style (book a tour / open house date / agent direct line)\n\nStep 3 — Social variants.\n1. Instagram caption (120-180 words): one strong hook, the story of the home, 5-8 niche hashtags\n2. TikTok hook (script for a 30-45s walk-through, 3-second hook + 3 highlight beats + close)\n3. Email blast subject + body (subject <=7 words, body <=200 words, one image suggestion per section)\n\nStep 4 — Compliance scan.\nFlag anything that touches fair-housing risk language:\n- Descriptors about who the home is \"for\" (kids, families, professionals — risky)\n- Neighborhood characterizations that signal race, religion, national origin\n- Steering language\nRewrite the flagged lines with safer alternatives.\n\nQuality bar:\n- Never invent a feature (\"newly renovated\" if the data doesn't say so)\n- Never reference schools by name unless I confirm zoning\n- Banned: \"must see\", \"hidden gem\", \"won't last long\", \"motivated seller\"\n- If a selling point would require an inspection / appraisal claim, mark it \"verify\"" + }, + { + "id": "bug-repro-fix", + "name": "Reproduce a bug and ship the fix", + "category": "Engineering", + "tags": [ + "engineering" + ], + "emoji": "🐛", + "description": "Take a stack trace and ship a real fix. Get a failing test, a patch, and a PR that goes red-to-green with a postmortem stub.", + "works_best_with": { + "agent_profile": "backend-engineer", + "skills": [ + "git-commit", + "github" + ], + "mcp_servers": [ + "filesystem" + ], + "living_ui_apps": [] + }, + "steps": [ + "Locate the failing code from the trace", + "Write a minimal failing test (RED)", + "Diagnose and patch (GREEN)", + "Run the broader suite for regressions", + "Open a PR with a postmortem stub" + ], + "prompt": "Reproduce this bug and ship the fix.\n\nInputs:\n- Stack trace or production log line (paste the whole thing): [paste]\n- Failing test command (optional): [e.g. pytest tests/foo_test.py::test_x]\n- Recent suspect commit(s) (optional): [shas or PR links]\n- Branch to work on: [branch name — create new from main if blank]\n- Test scope: [whole suite / affected module only]\n\nPhase 1 — Locate.\n- Walk the stack trace from outermost frame to innermost. For each frame, open the file and read the function.\n- State your current understanding: which file, which function, what the trace is telling us.\n- Do NOT patch anything yet. If you can't pinpoint the failing line, say so and ask for more context (env, inputs, version).\n\nPhase 2 — Write a failing test (RED).\n- Write the smallest possible test that reproduces this bug. Place it in the matching test file (or create one).\n- Run the test. It must fail with an error that maps cleanly to the original stack trace.\n- If your test passes on the first run, the repro is wrong — iterate until it fails for the right reason.\n- Commit the failing test on its own commit: `test: reproduce `. Do NOT amend later — keep red-then-green visible in git history.\n\nPhase 3 — Patch (GREEN).\n- Write the minimum patch that makes the failing test pass.\n- Re-run the new test — it must go green.\n- Re-run the broader test suite for the affected module (and integration tests if the bug touches I/O).\n- If anything else breaks, surface the regression and ask before pressing on.\n- Commit the fix on its own commit with a Conventional Commit message: `fix(): `.\n\nPhase 4 — Open the PR.\nTitle: `fix(): `\nBody sections:\n- What broke\n- Why it broke\n- The fix\n- How I tested it (mention the new test by name)\nKeep the repro-test commit and the fix commit visible separately — don't squash before review. Link the issue / incident if I gave you one.\n\nPhase 5 — Postmortem stub (at the bottom of the PR body).\n- Was this caught by tests before prod? Why not?\n- What test or guardrail would catch a CLASS of bugs like this one?\n- One-sentence recommendation (a new test, a type, a lint rule, a runbook entry).\n\nQuality bar:\n- Never \"fix\" by changing the test to match the bug — the test encodes correct behavior, the fix changes the code\n- Never silently catch the exception to make things green\n- If the root cause is in a dependency or env config, say so plainly — don't patch around it" + }, + { + "id": "issue-to-pr-pipeline", + "name": "Ship a GitHub issue end-to-end as a merged PR", + "category": "Engineering", + "tags": [ + "engineering", + "loop", + "pipeline" + ], + "emoji": "🤖", + "description": "Take an issue and ship a merged PR. Loop: read repo, code, test, open PR, address review, merge.", + "works_best_with": { + "agent_profile": "backend-engineer", + "skills": [ + "git-commit", + "github", + "concise-planning" + ], + "mcp_servers": [ + "filesystem", + "github-api" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read the issue + repo context", + "Plan the change and test surface", + "Make edits + run tests until green", + "Open the PR and respond to review", + "Merge and watch the deploy" + ], + "prompt": "Take this GitHub issue and ship it end-to-end as a merged PR — read the repo, plan, code, test, open the PR, respond to review, merge.\n\nInputs:\n- Issue URL or pasted text: [paste]\n- Repo path: [path or URL]\n- Branch base (default main): [base]\n- Test commands: [paste]\n- Lint commands: [paste]\n- Reviewer to request: [GH handle]\n- Hard stop after N failed CI runs: [default 2]\n\nPhase 1 — Understand.\n- Read the issue plus linked context (PRD, screenshots, related issues, prior PRs)\n- Walk the repo to identify in-scope files and the test surface covering them\n- Restate the change: user-visible behavior, surface area, tests that should exist after\n- If ambiguous, post a clarifying comment on the issue and STOP. Don't guess.\n\nPhase 2 — Branch and plan.\n- `git checkout -b fix/-` from {base}\n- Write a 5-10 line plan as the PR description draft. Stick to it.\n\nPhase 3 — Code in passes.\n- Smallest possible change that fixes the issue\n- Add or extend tests FIRST when the change has behavioral impact\n- Commit small: each commit is a \"thought\" the reviewer can follow\n\nPhase 4 — Local green.\n- Run lint; fix what it complains about\n- Run tests for the affected module first, then full suite\n- If tests fail, root-cause from the trace — never silence them. Max 2 CI retries before escalating.\n\nPhase 5 — Open the PR.\n- Title: `: `\n- Body: What broke / Why / The fix / How I tested / Risks\n- Link the issue, request the named reviewer\n- Push via `gh pr create`\n\nPhase 6 — Review loop.\n- Watch via `gh pr view --comments`\n- For each comment: read, decide, ask if you disagree — never silently disagree\n- Apply as NEW commits (don't force-push during review)\n- On approval: `gh pr merge --squash --delete-branch`\n\nFeedback signal (log for the next loop):\n- Did the reviewer accept on first pass? Log pushback themes.\n- Did CI go green on first try? Track flaky-test patterns.\n- Append every \"thing I should have caught earlier\" to CLAUDE.md.\n\nQuality bar:\n- NEVER skip CI to ship faster. NEVER force-push during review.\n- NEVER claim tests pass unless you watched them go green THIS session.\n- If the change touches auth, payments, or migrations: stop and ask before merging — even if CI is green.\n- After merge, watch the deploy for 15 min for regressions before declaring done." + }, + { + "id": "on-call-sre-loop", + "name": "Run an on-call alert loop with runbook update", + "category": "Engineering", + "tags": [ + "engineering", + "loop" + ], + "emoji": "🚨", + "description": "Run an alert end-to-end. Get a diagnosis, fix or escalation, postmortem, and runbook updates that compound.", + "works_best_with": { + "agent_profile": "backend-engineer", + "skills": [ + "concise-planning", + "audit-context-building" + ], + "mcp_servers": [ + "filesystem" + ], + "living_ui_apps": [] + }, + "steps": [ + "Acknowledge and frame the alert", + "Run the diagnostic playbook", + "Propose fix or escalate by authority", + "Resolve only when metrics stabilize", + "Write postmortem + update runbook" + ], + "prompt": "You're on rotation. An alert just fired. Run the loop: diagnose, fix or page, postmortem, update runbook.\n\nInputs:\n- Alert payload (PagerDuty / Opsgenie / Slack — paste the full thing): [paste]\n- Service that's degraded: [name + repo + dashboard URL]\n- Existing runbook (if any): [path or URL]\n- My authority level: [read-only / can-run-safe-commands / can-deploy-fix — default read-only]\n- Escalation contact: [name + how to reach]\n\nPhase 1 — Acknowledge and frame.\n- Acknowledge in channel: \"investigating , working hypothesis in 5 min\"\n- Restate what's broken in one sentence — user-visible symptom, not the metric name\n- Pull dashboards (latency, error rate, throughput, recent deploys) into context\n\nPhase 2 — Diagnose.\n- Check recent changes first: deploys, config flips, feature-flag changes last 24h\n- Compare current values to same time last week — normal blip or real shift?\n- Run the runbook's diagnostic steps if one exists\n- Form a hypothesis with confidence (high/med/low) and the evidence\n- DO NOT GUESS. If you can't get to medium confidence, escalate.\n\nPhase 3 — Act by authority level.\n- Read-only: post hypothesis + proposed remediation, page the human\n- Can-run-safe-commands: only commands listed as safe in the runbook; observe; loop\n- Can-deploy-fix: open PR, get approver, deploy, watch 30 min before declaring resolved\n- NEVER deploy a hotfix to auth, payments, or migration code without a human\n\nPhase 4 — Resolve and postmortem.\n- Resolve ONLY after the metric has been stable for 15 min\n- Postmortem sections:\n - Headline (user-visible impact, duration, scope)\n - Timeline (alerted → first action → mitigation → resolution, with timestamps)\n - Root cause (technical cause, NOT \"the engineer who deployed it\")\n - What worked / what didn't (which diagnostic steps helped, which wasted time)\n - Action items (each: owner, deadline, ticket link)\n\nPhase 5 — Update the runbook (the loop closes here).\n- If the diagnosis steps you used aren't in the runbook, add them\n- If the runbook had bad info, fix it (and explain why in the commit)\n- Open a PR against the runbook with your edits — even small ones\n\nFeedback signal (compounds across incidents):\n- Diagnostic steps that were the fast path → promote to the top of the runbook\n- Dead-end steps → demote or delete\n- Alert false-positive rate: if 3+ in a week, propose tuning the threshold\n\nQuality bar:\n- Never \"resolve\" without verifying the metric is actually stable\n- Never declare root cause without evidence (log line, query, graph)\n- Blameless postmortem — focus on system + process, not the person" + }, + { + "id": "google-maps-leadgen-pipeline", + "name": "Scrape Google Maps and ship personalized cold outreach", + "category": "Lead Gen", + "tags": [ + "lead-gen", + "pipeline", + "sales" + ], + "emoji": "🗺️", + "description": "Scrape Google Maps for a niche+city, enrich, and ship outreach. Get a vetted list and a 3-touch sequence per lead.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "firecrawl", + "playwright-mcp", + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Define niche + cities", + "Scrape Google Maps listings", + "Enrich missing emails + verify deliverability", + "Personalize a 3-touch sequence per lead", + "Export a sendable CSV" + ], + "prompt": "Build a local-business lead-gen pipeline end-to-end: scrape Google Maps for a niche+city, enrich emails, verify, and write personalized outreach.\n\nInputs:\n- Niche / category (be specific): [e.g. \"independent dental practices\", \"yoga studios with <10 staff\"]\n- Target cities / areas: [list]\n- My offer + one-liner: [paste]\n- My credibility / proof point: [paste]\n- Scraper tool: [Apify Google Maps / Outscraper / SerpAPI / scrap.io]\n- Enrichment stack: [Hunter / Apollo / Snov / Clay]\n- Verifier: [EmailListVerify / NeverBounce / ZeroBounce]\n- Sending stack: [Instantly / Smartlead / Lemlist]\n- Daily volume per inbox: [default 30]\n- Tone: [warm-and-direct / playful / industry-peer]\n\nPhase 1 — Scope and scrape.\n- Confirm niche + cities. Estimate list size before scraping.\n- Wait for my approval.\n- Run the Google Maps scraper for {category} + {city}. Capture: name, address, phone, website, hours, rating, review count, photo URLs.\n- Filter obvious chains (>3 locations indexed) unless I asked for chains.\n\nPhase 2 — Enrich.\n- For businesses with a website but no email, crawl contact / about / footer for visible emails\n- For still-missing, try Hunter/Apollo lookup\n- Drop rows missing both email AND phone — not actionable\n\nPhase 3 — Verify.\n- Run every email through deliverability\n- Tag: green (safe) / yellow (catch-all or risky) / red (bounce)\n- Drop reds; queue yellows for manual review\n\nPhase 4 — Personalize per lead.\n- Find ONE specific hook from their Google Maps presence:\n - A recent review (positive or negative) you can reference\n - A specific service or specialty they advertise\n - A photo subject that says something about the business\n- If you cannot find a real hook, mark \"skip\" — don't fake personalization\n\nPhase 5 — Write the sequence.\n- Email 1 (<=80 words): subject <=6 words lowercase, open with hook, one credible proof, one low-friction CTA\n- Email 2 (+3 days, <=60 words): new angle or proof, not \"just bumping\"\n- Email 3 (+7 days, <=40 words): honest breakup, leaves door open\n\nPhase 6 — Export.\n- CSV ready to import: email, first_name, business_name, hook, subject1, body1, subject2, body2, subject3, body3\n- Summary row at top: scraped / enriched / verified green / personalized / skipped\n\nFeedback signal (after campaign sends):\n- Reply rate per niche × city — feed back into next list's targeting\n- Which hook types landed (review / specialty / photo) — bias future personalization\n- Which inboxes flagged for spam — rotate them out\n\nQuality bar:\n- NEVER send anything from this prompt — outputs only\n- NEVER scrape behind a login (no LinkedIn cookies, no Apollo session)\n- Respect robots.txt for any site crawl\n- US: CAN-SPAM physical address + unsubscribe in every email\n- EU/UK: drop the row unless there's a clear B2B legitimate-interest basis\n- Flag cities where local laws ban unsolicited B2B email (e.g. Canada CASL)" + }, + { + "id": "review-mining-pitch", + "name": "Mine competitor reviews and pitch a fix", + "category": "Lead Gen", + "tags": [ + "audit", + "lead-gen", + "sales" + ], + "emoji": "⭐", + "description": "Mine reviews for pain points. Get an audit PDF per prospect and a tailored email pitching the fix as a service.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "firecrawl", + "pdf", + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pick sector + prospect list", + "Scrape reviews across sources", + "Cluster complaints by theme", + "Produce per-prospect audit PDF", + "Write the pitch email" + ], + "prompt": "For each prospect, mine their reviews for pain points and produce an audit PDF + a tailored cold email pitching the fix as a service.\n\nInputs:\n- Sector: [e.g. local dental practices, boutique gyms, plumbers]\n- Target prospects (5-20 names + Google/Yelp URLs): [list]\n- Review sources to scan: [Google / Yelp / Trustpilot / Facebook / industry sites]\n- My offer / what I'd fix: [paste — \"missed-call recovery\", \"review reply automation\", \"appointment-booking bot\"]\n- Tone: [data-driven consultant / friendly local agency / etc.]\n\nPhase 1 — Scrape.\n- For each prospect, pull last 100 reviews per source (or all, whichever is fewer)\n- Capture: rating, date, snippet, owner response if any\n- Drop reviews with no text (rating-only)\n- Show me the volume table before going further\n\nPhase 2 — Cluster per prospect.\n- Tag each review with one theme:\n - Wait time / scheduling\n - Communication (calls not returned, no follow-up)\n - Pricing surprises\n - Quality of service\n - Staff attitude\n - Physical space / cleanliness\n - Booking experience\n- Count by theme. Average rating per theme.\n\nPhase 3 — Produce the audit PDF per prospect (3-4 pages).\n- Page 1: 1-sentence verdict + stats (avg rating, review count, response rate, top 3 themes)\n- Page 2: top 3 themes with 2-3 verbatim quotes each\n- Page 3: cost-of-ignore estimate using sector benchmarks if available\n- Page 4: the fix and the cost of ignore vs address\n\nSave as `audit-.pdf`.\n\nPhase 4 — Pitch email per prospect.\n- Subject (<=6 words, lowercase): tease the specific theme — \"missed calls hurting reviews?\"\n- Body (<=120 words): one verbatim review, the pattern across their reviews, what the fix would do, attach the audit PDF, soft CTA (15-min walkthrough)\n- Sign-off matching tone\n- NEVER use shame language (\"your reviews are terrible\") — neutral observation\n\nPhase 5 — Output.\n- PDFs in workspace\n- CSV: prospect | email | subject | body | top theme | rating\n- \"Fastest reply path\" ranking: prospects whose complaints map cleanest to my fix\n\nFeedback signal:\n- Reply rate by complaint theme — which themes resonate for outreach\n- Audit-PDF view tracking — who opened it\n- Closed-won themes — bias next round to the highest-converting complaint pattern\n\nQuality bar:\n- Every quote is verbatim from a real review (cite source + date)\n- NEVER invent reviews. If a prospect has too few, skip them.\n- Don't pitch on theme A if their actual complaints are about theme B\n- Respect review-site ToS: cite, link back, don't republish in bulk" + }, + { + "id": "podcast-to-content-pack", + "name": "Turn a podcast episode into a multi-platform content pack", + "category": "Content", + "tags": [ + "content" + ], + "emoji": "🎙️", + "description": "Turn a podcast episode into a content pack. Get show notes, audiograms, a LinkedIn post, a thread, and a newsletter.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "notion-mcp", + "twitter-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Transcribe and chapter the episode", + "Identify the 5-8 strongest moments", + "Brief 5 audiograms", + "Draft LinkedIn, thread, and newsletter", + "Compile show notes" + ], + "prompt": "Turn this podcast episode into a multi-platform content pack.\n\nInputs:\n- Episode audio URL or path: [paste]\n- Episode title + show context: [paste]\n- Host + guest names: [paste]\n- Target audience: [who listens + what they want]\n- Brand voice / tone: [paste or link]\n- Primary CTA across platforms (optional): [subscribe / book guest / join community]\n\nPhase 1 — Transcribe + chapter.\n- Generate or pull the full transcript with speaker labels and timestamps\n- Identify natural chapter breaks (topic shifts >=2 min)\n- Tag the 5-8 strongest moments — quotable insight, contrarian take, story beat, surprising stat\n- List timestamps before drafting anything\n\nPhase 2 — Produce deliverables in this order:\n\n1) Show notes (the host's MVP deliverable)\n- 1-paragraph episode summary\n- Bulleted chapter list with timestamps + 1-line per chapter\n- Guest links (site, social, anything they plugged)\n- 3-5 \"quotes worth pulling\" with timestamps\n\n2) Audiogram briefs (5 clips, 30-90 sec each)\n- For each: timestamp range, headline caption, recommended visual (waveform color, background image vibe)\n- Tag platform-fit: YouTube Shorts / Reels / TikTok / LinkedIn / X\n\n3) LinkedIn long-form post (200-350 words)\n- Narrative open referencing one specific moment + timestamp\n- One sharp takeaway\n- Link to full episode at the bottom\n\n4) X / Twitter thread (5-7 tweets)\n- Hook tweet works standalone — no \"listen to the pod\" filler\n- Each tweet: one concrete claim or quote\n- Final tweet: episode link\n\n5) Newsletter draft (400-600 words)\n- Standalone — makes sense to someone who never listened\n- Structure: anecdote -> the conversation's central tension -> the resolution -> one takeaway\n- End with the episode link\n\nFeedback signal (after publishing):\n- Per platform: which audiogram drove the most plays back to the full episode — bias next batch's clip selection\n- Which guest type drives the most newsletter signups — feeds future booking choices\n- Show notes traffic week over week — surface the chapter format that lands\n\nQuality bar:\n- Every quote is verbatim — copy the speaker's words, not your paraphrase\n- Attribute every quote to the speaker by name + timestamp\n- Strip cross-talk and filler (\"like\", \"you know\") in pull quotes; keep in show notes\n- Flag any contentious moment — let the host decide whether to amplify\n- Never invent a moment that wasn't in the transcript" + }, + { + "id": "seo-decay-refresh-loop", + "name": "Run an SEO content-decay refresh loop", + "category": "Content", + "tags": [ + "content", + "loop", + "report", + "seo" + ], + "emoji": "🔄", + "description": "Find decaying posts and ship refreshes. Get a ranked list, refresh briefs, and refreshed copy with a 30-day re-measurement.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "brave-search", + "firecrawl", + "vale-brand-voice" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull rankings, traffic, engagement", + "Detect posts decaying past threshold", + "Read top SERP competitors per post", + "Write a refresh brief + new copy", + "Schedule a 30-day re-measurement" + ], + "prompt": "Run a content-decay refresh round on my site.\n\nInputs:\n- Site: [URL]\n- Analytics source: [GSC + GA4 / Ahrefs / Semrush / Plausible]\n- Time window: [last 90 days vs prior 90]\n- Decay threshold: [default >20% MoM traffic drop OR rank drop >5 positions]\n- Top N to action this round: [default 10]\n- Brand voice notes: [paste or link]\n\nPhase 1 — Pull decay signals.\nFor every URL, compute:\n- Organic traffic delta (% MoM)\n- Average position delta\n- CTR delta\n- Engagement delta (avg time or scroll depth)\nSurface URLs breaching the threshold. Sort by lost traffic in absolute terms.\n\nPhase 2 — Diagnose per post.\nFor the top {N}:\n- Why decaying:\n - Outdated info (stat from 2 years ago, defunct product, broken external link)\n - SERP shifted (competitor wrote deeper version; AI Overview eats the answer)\n - Intent shifted (people now want X, post is about Y)\n - Technical (slow page load, broken layout, robots/canonical issue)\n- Pull current top-5 SERP results — read them. Note what they have that ours doesn't.\n\nPhase 3 — Brief the refresh per post.\n- Verdict: refresh / consolidate / sunset (with 301)\n- For refresh: specific changes\n - Update which stats/sources\n - Add which sections (with H2/H3)\n - Remove which dated language\n - New angle or contrarian take if SERP demands it\n- Effort (S / M / L)\n\nPhase 4 — Write the refresh.\n- Rewrite with the brief's changes\n- Keep the URL (preserves backlinks)\n- Update the post date + add a \"last updated\" line at top\n- Verify every fact / stat / quote — cite or remove\n- Output as a markdown block ready to paste into the CMS\n\nPhase 5 — Schedule re-measurement (closes the loop).\n- For each refreshed post, schedule a 30-day check: did traffic recover? rank improve?\n- Output a calendar block for my project tracker\n\nFeedback signal (after 30 days):\n- Which decay drivers recovered (\"updating stats lifted traffic 40%\") — bias next round's diagnosis\n- Which didn't recover — those might need sunset, not refresh\n- Average lift per refresh — calibrates ROI vs net-new content\n\nQuality bar:\n- Never rewrite for the sake of \"fresh date\" — only with a real reason\n- Never delete a post with backlinks without a thoughtful 301 plan\n- Strip AI-slop: \"delve\", \"unlock\", \"navigate the complexities\"\n- If a post has <100 monthly visits, flag for sunset" + }, + { + "id": "newsletter-monetization-audit", + "name": "Audit a newsletter and build the sponsorship rate card", + "category": "Content", + "tags": [ + "content", + "founder" + ], + "emoji": "💰", + "description": "Audit a newsletter and build the sponsorship rate card. Get a media kit, rate card, and 3 sponsor pitches ready to send.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "pdf", + "brave-search" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Audit subscribers + engagement vs benchmark", + "Segment audience by interest + engagement", + "Build a tiered sponsorship rate card", + "Draft 3 pitch emails to target sponsors", + "Output a media kit" + ], + "prompt": "Audit my newsletter and build the sponsorship rate card + pitch path.\n\nInputs:\n- Newsletter platform: [beehiiv / Substack / ConvertKit / Ghost — and how to pull stats]\n- Total subscribers + 90-day growth: [paste]\n- Avg open rate, click rate, unsubscribe rate (last 90 days): [paste]\n- Top 10 posts by engagement (titles + open % + click %): [paste]\n- My audience description (1-2 sentences — role, industry, intent): [paste]\n- Closest 2-3 competitor newsletters running sponsorships: [list]\n- Target sponsor types (SaaS / service / book / event / etc.): [paste]\n\nPhase 1 — Audit the surface.\n- Subscriber tier (under 1k / 1-10k / 10-100k / 100k+) and typical CPM at that tier\n- Engagement quality (open % vs Substack/beehiiv benchmark by tier)\n- Topic concentration — which themes consistently overperform\n- Subscriber segments you can credibly slice (job title, industry, geography) given platform data\n- Verdict: is the list MONETIZABLE today, or do you need 3-6 more months of growth first?\n\nPhase 2 — Build the rate card.\n- Per-placement pricing: dedicated send / classified slot / primary slot / \"presented by\" full sponsor\n- Rate logic: blend CPM + flat minimums + scarcity (one sponsor per issue)\n- Bundle options (4-pack, 12-pack with discount)\n- Add-ons (social cross-post, podcast read, custom landing page)\n- Realistic per-issue revenue range at current size\n\nPhase 3 — Draft 3 pitch emails to target sponsor types.\n- Each <=120 words\n- Open with a specific reason THIS sponsor fits this audience (not \"great deal\")\n- One credible proof (engagement stat, segment they care about, comparable case)\n- Clear rates + next step (book a 15-min slot or send the media kit)\n- Sign-off matching my voice\n\nPhase 4 — Output.\n- Rate card as a 1-page PDF\n- Media kit (2 pages) with audience profile, engagement stats, sample issue\n- The 3 pitch emails as drafts\n- A \"do this before pitching\" checklist (sponsor page on site, logo wall, etc.)\n\nFeedback signal (after 30 days of pitching):\n- Reply rate per sponsor type — which segments are warmest\n- Pricing pushback patterns — recalibrate rate card if a tier consistently gets discounted\n- Sponsor performance once placed (clicks, signups) — feed into the next pitch's case-study line\n\nQuality bar:\n- Never inflate subscriber count or open rates — sponsors verify; one bust kills the reputation\n- Never promise audience overlap you can't measure (no \"mostly CTOs\" without survey data)\n- Be honest if the list isn't monetizable yet — recommend a growth plan instead\n- Don't use \"we\" if it's a solo newsletter — sponsors hate fake teams" + }, + { + "id": "win-loss-icp-loop", + "name": "Mine closed deals to refine your ICP", + "category": "Sales", + "tags": [ + "loop", + "sales" + ], + "emoji": "🏆", + "description": "Mine last quarter's closed deals to refine your ICP. Get patterns by segment and updated scoring rules for next quarter.", + "works_best_with": { + "agent_profile": "bd-partnerships", + "skills": [ + "concise-planning", + "audit-context-building", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull last quarter's closed deals", + "Analyze each touchpoint + outcome", + "Cluster patterns by segment", + "Update the ICP + scoring rules", + "Output revised lead-scoring criteria" + ], + "prompt": "Mine my last quarter's closed deals to tighten my ICP for the next quarter.\n\nInputs:\n- CRM source: [Salesforce / HubSpot / Pipedrive / Close — how to access]\n- Quarter to analyze: [Q3 2026 / etc.]\n- Current ICP: [paste — title + company size + industry + use case]\n- Closed-won, closed-lost, in-progress counts: [paste totals]\n- Sales / CSM notes (call summaries, deal notes): [paste or link]\n\nPhase 1 — Pull and classify.\n- For every closed deal: firmographics (size, industry, region), behavioral (lead source, touches), buying committee (titles), velocity (days to close), ACV, expansion potential\n- Classify each: closed-won-good-fit / closed-won-bad-fit (will churn) / closed-lost-good-fit (should have won) / closed-lost-bad-fit (correctly disqualified)\n\nPhase 2 — Pattern analysis.\nFor each bucket:\n- Firmographic / behavioral signals that predict it\n- Velocity profile (fast wins vs slow grinds)\n- ACV profile\n- Top objections\n\nFindings as: \"X% of closed-won-good-fit had {signal}; only Y% of closed-lost-bad-fit did\" — concrete and measurable.\n\nPhase 3 — Update the ICP.\n- What's IN that wasn't (new sub-segment performing well)\n- What's OUT (segment losing or winning bad-fit deals)\n- New must-have qualifiers\n- New disqualifiers\n\nShow me the updated ICP as a diff. Wait for approval.\n\nPhase 4 — Translate to scoring rules.\n- Lead-scoring per signal: +X or -X points\n- Stage gates: \"do not advance to demo without {signal verified}\"\n- BDR talk-track changes: which discovery questions to ask first\n\nPhase 5 — Output.\n- ICP update memo (1-2 pages) as `icp-q-update.pdf`\n- CSV of scoring-rule changes ready to load into CRM\n- A \"kill list\" of in-progress deals that no longer match — recommend tactful disqualification\n\nFeedback signal (after next quarter):\n- Did closed-won rate go up for new-ICP leads?\n- Did time-to-close shorten?\n- Did churn drop in the closed-won cohort?\n- Loop the result back into the ICP for the following quarter\n\nQuality bar:\n- Every claim cites specific deals (IDs or anonymized names)\n- NEVER fabricate a pattern from one deal — minimum 3 examples\n- If sample sizes are too small for a segment, say so — don't force a conclusion\n- This is sales analysis, NOT a layoff list — frame for targeting, not blame" + }, + { + "id": "investor-monthly-update", + "name": "Write this month's investor update", + "category": "Sales", + "tags": [ + "founder", + "report", + "sales" + ], + "emoji": "📋", + "description": "Write this month's investor update from raw KPIs. Get a polished memo + email + an ask list with specific intros.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull KPIs + deltas vs plan", + "Surface wins, misses, asks", + "Draft the TL;DR + numbers table", + "Polish into memo + email", + "Stage specific asks" + ], + "prompt": "Write this month's investor update.\n\nInputs:\n- Last month's update (for delta + tone reference): [paste or link]\n- This month's KPIs: [paste — revenue, MRR/ARR, growth, churn, runway, headcount, key launches]\n- Wins this month (3-5 bullets): [paste]\n- Misses this month (be honest — 2-3): [paste]\n- Asks I have for investors (intros, hires, advice): [paste]\n- Tone: [transparent-founder / sharp-operator / chatty]\n\nStep 1 — Structure the memo.\nSections, in order:\n1. TL;DR (3 sentences max — the single most important thing)\n2. Numbers table (this month vs last vs plan, with deltas)\n3. Wins (3-5, each with a concrete outcome — not \"we launched X\" but \"X drove $Y in revenue\")\n4. Misses (2-3, with what you're doing about each — never just \"we'll do better\")\n5. What I'm focused on next month (3 priorities, in outcome language)\n6. Asks (specific intros by company or role; not \"intros welcome\")\n\nStep 2 — Write it.\n- TL;DR first. Investors skim — front-load.\n- Numbers table: metric, this-month, last-month, % delta, plan target. Flag anything off plan with a 1-line explanation.\n- Wins: one paragraph each, with a metric you can defend\n- Misses: name it, cause as you understand it today, the experiment to fix it. Owners + timelines.\n- Asks: list each ask with the WHY (\"we need a head of growth because conversion is stuck at X\")\n\nStep 3 — Output.\n- Polished memo (.pdf and .md) to my workspace\n- Same content as an email body with subject: \" update: \"\n- A \"what to leave out next time\" note for me (anything that felt too in-the-weeds)\n\nFeedback signal (closes loop month over month):\n- Reply rate from investors — if it drops, you're being too long or too generic\n- Asks that get answered — which framing of asks gets actual intros? Bias next month's wording.\n- Which sections investors quote back in 1:1s — those are the parts that landed\n\nQuality bar:\n- NEVER hide a miss to \"manage perception\" — investors find out and lose trust\n- Never invent metrics or growth rates — round only to plausible precision\n- No \"we're seeing momentum\" filler — quote a number or cut it\n- Keep total length under 800 words — every line should earn its place" + }, + { + "id": "customer-interview-loop", + "name": "Cluster customer interviews and feed shipped fixes back", + "category": "Customer Success", + "tags": [ + "customer-success", + "loop", + "research" + ], + "emoji": "🗣️", + "description": "Cluster customer interviews and feed shipped fixes back. Get a discovery report and a ranked product backlog.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf", + "audit-context-building" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read every transcript end-to-end", + "Extract per-interview themes", + "Cluster across the cohort", + "Prioritize by frequency × revenue", + "Loop back last cohort's shipped items" + ], + "prompt": "Cluster this cohort of customer interviews, surface the highest-leverage themes, and prepare next sprint's backlog.\n\nInputs:\n- Interview transcripts (5-20): [paste files or paths]\n- Customer attributes per interviewee (segment, ACV, tenure): [CSV]\n- Last cohort's shipped items (so we can measure adoption): [list]\n- My product / company in 1 line: [paste]\n\nPhase 1 — Read every transcript end-to-end.\nDo not skim. Note your reading order so the analysis isn't biased by the loudest customer first.\n\nPhase 2 — Per-interview extraction.\nFor each transcript, extract:\n- 1-line \"what they're trying to do\"\n- 3-5 jobs-to-be-done mentioned (in their words)\n- Frictions encountered with current solution (theirs OR ours)\n- A wish: what would they want to be magically possible?\n- Would-they-pay-for-it answer if tested\n- Direct verbatim quotes with timestamps for the most quotable lines\n\nPhase 3 — Cluster across cohort.\n- Theme each friction / wish across interviewees\n- Frequency (how many mentioned)\n- Revenue impact (sum of ACV)\n- Score = frequency × revenue + sentiment intensity tag (mild / strong / blocker)\n\nPhase 4 — Prioritize.\n- Top 5 themes: name, 3 verbatim quotes, customers affected, revenue at stake, recommendation (ship / investigate / decline + why)\n- Bottom themes: what to explicitly NOT work on, with reasoning\n\nPhase 5 — Loop back last cohort's shipped items (closes the loop).\n- For each item shipped last round: did interviewees mention it? Did they use it? Did it close the friction?\n- Verdict per shipped item: hit / partial / miss\n\nPhase 6 — Output.\n- Discovery report (3-5 pages) as `discovery-.pdf`\n- Prioritized backlog CSV: theme | priority | suggested experiment | owner | rough effort\n- A \"what to ask next cohort\" list to test hypotheses we couldn't validate this round\n\nFeedback signal:\n- Adoption rate of shipped items per theme — if low, the fix missed the real friction\n- Which interview style / question elicited the strongest signal — refine the discovery script\n- Drop-off in friction mentions over cohorts — measures whether you're closing problems for good\n\nQuality bar:\n- Every theme cites at least 3 customer quotes (not just one loud one)\n- Never speak FOR customers — use their words verbatim\n- If a customer asked for X but the JTBD is Y, surface BOTH\n- If a theme is huge but only 1 customer mentioned it, flag \"outlier — investigate\" not \"P0\"" + }, + { + "id": "nps-detractor-save-loop", + "name": "Run an NPS detractor save loop", + "category": "Customer Success", + "tags": [ + "customer-success", + "loop" + ], + "emoji": "🆘", + "description": "Triage detractors, diagnose, and run a save play. Get a save script per detractor and a 30-day re-survey schedule.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "audit-context-building" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull recent detractor responses", + "Diagnose root cause per detractor", + "Cluster themes across cohort", + "Draft save plays per high-value detractor", + "Schedule a 30-day re-survey" + ], + "prompt": "Run a detractor save round end-to-end: triage, diagnose root cause, draft tailored save plays, and schedule re-surveys.\n\nInputs:\n- NPS data export (last 30 days, score + free-text + customer_id + ACV): [paste]\n- CRM source for context (interactions, tickets, usage): [how to access]\n- CSM team + workload: [paste]\n- Known save plays (discount / exec sponsorship / new feature preview / training): [list]\n\nPhase 1 — Triage detractors.\n- Every score 0-6 from the last 30 days\n- Drop responses with no free-text (can't act on no signal)\n- For each: pull account context (ACV, tenure, recent tickets, last login)\n- Flag high-ACV as P0; mid-ACV as P1; low-ACV as P2\n\nPhase 2 — Diagnose per detractor.\nFor each:\n- Extract the single most actionable phrase from their free-text\n- Tag root cause: product-gap / pricing / support / onboarding / sales-promise-mismatch / champion-left / out-of-our-control\n- Identify history pattern (recent ticket, billing event, executive change at their company)\n\nPhase 3 — Cluster across all detractors.\n- Theme frequency\n- Revenue at stake per theme\n- Top 3 themes → product / sales / CS leadership need to see these\n\nPhase 4 — Draft save plays per detractor (P0 + P1).\nFor each:\n- Suggested CSM (load-balanced by workload)\n- Save play to lead with (most likely to resonate given the root cause)\n- 100-word script: validate feedback, name the specific issue, propose action, ask for 15 min next week\n- Backup play if the first is declined\n- Realistic P(save): high / med / low — be honest\n\nPhase 5 — Schedule re-survey (closes the loop).\n- 30-day re-survey task for each save attempt\n- 60-day check for \"did the underlying issue actually get fixed?\"\n\nPhase 6 — Output.\n- Save-play CSV: customer | score | theme | CSM | play | script | re-survey date\n- Weekly digest for product / sales / CS leadership: themes + revenue at stake + recommended ownership\n- \"Do not contact\" list for detractors who asked for no follow-up\n\nFeedback signal (after 30 days):\n- Save rate per theme — which are saveable, which aren't\n- Save rate per CSM — promote what's working\n- Themes that recur quarter over quarter — surface to product as systemic\n\nQuality bar:\n- Never frame a save call as \"we want to keep your business\" — lead with their problem\n- Never over-promise — if you can't fix the root cause, say so and earn trust\n- Respect \"do not contact\" responses immediately\n- If a detractor's issue is genuinely out of our control, accept gracefully — don't drag it out" + }, + { + "id": "weekly-review-loop", + "name": "Run a weekly review on calendar, journal, and todos", + "category": "Personal", + "tags": [ + "loop", + "personal", + "productivity" + ], + "emoji": "🪞", + "description": "Run a weekly review with calendar, journal, and todos. Get patterns, 3 priorities for next week, and a slipped log.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull calendar, journal, todos", + "Score last week's priorities", + "Surface energy + drift patterns", + "Set next week's 3 priorities", + "Log what slipped for next loop" + ], + "prompt": "Run my weekly review. Read what actually happened, identify patterns, and set up next week.\n\nInputs:\n- Calendar for the past 7 days: [link or paste]\n- Journal entries / daily notes for the past 7 days: [paste or path]\n- Todo list (open + completed): [paste or link]\n- Last week's planned 3 priorities (so we can score): [paste]\n- Energy notes (when I focus best): [paste]\n\nPhase 1 — Read what happened.\n- Per day: calendar blocks, journal sentiment / energy / wins / friction, todos closed vs slipped\n- Simple stats: meeting hours, deep-work hours, todos completed / opened ratio\n\nPhase 2 — Score last week's 3 priorities.\nFor each: hit / partial / miss. One sentence why.\n- If miss: bad planning, bad execution, or wrong priority?\n\nPhase 3 — Patterns.\n- Energy peaks and valleys\n- Calendar shape: did the structure match the priorities? Or did meetings eat focus blocks?\n- One recurring friction (a task that kept slipping, a person blocking, a tool that wasted time)\n- One surprise win (something that worked you didn't plan for)\n\nPhase 4 — Next week's plan.\n- 3 priorities in outcome language (\"ship X\", not \"work on X\")\n- A time-blocked skeleton: protect deep-work blocks around fixed meetings\n- One thing to STOP doing this week\n- One thing to START doing this week\n\nPhase 5 — Log what slipped (closes the loop).\n- Append to `slipped.md` the tasks that didn't close\n- Pattern check: are the same tasks slipping 3+ weeks running? Kill them or break them down.\n\nFeedback signal:\n- Priority hit rate over 4 weeks — if <50%, over-planning or under-protecting time\n- Recurring friction themes — surface to a \"kill list\" for the month\n- Energy patterns refined each week — schedule deep work in your peak window\n\nQuality bar:\n- Total output <300 words — tight plan, not a journal\n- Be honest about misses — don't sugarcoat\n- Don't add new ideas as priorities if last week's didn't ship\n- If I missed all 3 priorities, ASK before just rolling them over — something's wrong upstream" + }, + { + "id": "annual-review-loop", + "name": "Run an annual review from a year of journals", + "category": "Personal", + "tags": [ + "loop", + "personal" + ], + "emoji": "🎯", + "description": "Read 12 months of journals and run an annual review. Get patterns, 3 themes for next year, and a quarterly check-in schedule.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf", + "audit-context-building" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read 12 months of journals + calendar", + "Surface wins, losses, recurring patterns", + "Compare to last year's themes", + "Set next year's 3 themes", + "Calendar block + schedule quarterly check-ins" + ], + "prompt": "Run my annual review using a year of journals, calendar, and notes.\n\nInputs:\n- 12 months of journal entries / daily notes: [path or paste]\n- Calendar for the year (or summary): [link or paste]\n- Last year's themes / goals (if any): [paste]\n- Closest people in my life this year: [list]\n- Areas of life to score (work / health / relationships / craft / money / etc.): [paste]\n\nPhase 1 — Read the year.\n- Read every journal entry in chronological order. Note your reading order so you don't anchor on recent months.\n- For each month, jot a one-line summary: dominant theme + energy + turning point if any\n- Pull the 10-20 longest entries — usually the ones that matter most\n\nPhase 2 — Surface patterns.\n- 3-5 biggest wins, with concrete outcomes (not \"I grew\" but \"I shipped X\")\n- 3-5 biggest losses or misses — what they cost, what you learned (honest, not punishing)\n- Recurring frictions that NEVER got resolved — systemic issues to attack next year\n- Surprises: anything that mattered more than expected; anything you expected to matter that didn't\n- Per area of life: hit / partial / miss for the year\n\nPhase 3 — Compare to last year's themes.\n- For each theme last year: did it land? Evidence?\n- Which themes you kept showing up for vs which faded\n- Which themes were ill-defined and need a sharper next-year version\n\nPhase 4 — Set next year's themes (3, not 10).\n- Each theme: name, why this year, what success looks like in concrete terms (a metric, an artifact, a relationship change), what you'll say NO to\n- One thing to STOP\n- One thing to START\n\nPhase 5 — Calendar block the year.\n- Block major projects, retreats, family/relationship time\n- Schedule a quarterly check-in: re-read this review + your weekly slipped log\n\nPhase 6 — Output.\n- Polished annual review PDF (5-8 pages) as `annual-review-.pdf`\n- 1-page summary for sharing with a coach / partner / close friend if I want\n- Calendar import file (.ics) for blocked time\n\nFeedback signal (next year, closes the multi-year loop):\n- Did the 3 themes still feel right at the quarterly check-in?\n- Patterns that recur 2+ years — those are identity-level, not goal-level\n- Misses that recur 2+ years — kill them or radically restructure\n\nQuality bar:\n- Don't sugarcoat — but don't punish either. Diagnostic, not punitive.\n- Use my actual words from the journal wherever possible — your paraphrase loses the texture\n- If a theme feels forced (\"I should care about networking\"), say so — fake themes are worse than no themes\n- Keep digestible — if I won't re-read it in 3 months, it's too long" + }, + { + "id": "personal-crm-keepalive", + "name": "Keep your close relationships warm", + "category": "Personal", + "tags": [ + "loop", + "personal", + "sales" + ], + "emoji": "🤝", + "description": "Spot relationships decaying and re-engage tastefully. Get a scored list, drafted messages, and follow-up dates.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Tier and score contacts", + "Surface context per decaying relationship", + "Draft tasteful re-engagement messages", + "Schedule outreach across the week", + "Track follow-up dates" + ], + "prompt": "Audit my close relationships and keep the important ones warm.\n\nInputs:\n- Contact list with last-interaction date (CSV from phone / email / Notion / personal CRM): [paste or path]\n- Tier rubric (define your own — examples below): [paste or use defaults]\n - Tier 1: closest family + 5 closest friends — touch at least monthly\n - Tier 2: close friends + key professional ties — touch at least quarterly\n - Tier 3: extended network — touch at least twice a year\n- Recent journal entries mentioning any of these people (last 3 months): [paste or path]\n- My current bandwidth: [how much time / week can I actually give this?]\n\nPhase 1 — Tier and score.\n- Tag every contact with a tier\n- Flag anyone past their tier's threshold\n- Sort by decay risk — how long past the threshold AND how important\n\nPhase 2 — Surface context per decaying relationship.\nFor each flagged contact:\n- Last interaction: when, what about\n- Anything in my journal that mentioned them recently\n- Any life event you can find (birthday this month, recent move, milestone — only if I gave you data)\n- The most natural reason to reach out\n\nPhase 3 — Draft a tasteful re-engagement per contact.\n- Tone: how I'd actually text or email them — not LinkedIn \"let's reconnect\"\n- Reference something specific (last conversation, shared memory, life event)\n- A low-friction next step (a coffee, a call, a \"no need to reply just thinking of you\")\n- Length matches the relationship — Tier 1 short and warm, Tier 3 longer \"here's what I've been up to\"\n\nPhase 4 — Schedule.\n- Spread the outreach over the week so I'm not blasting 30 in a day\n- Tag any contacts I should call rather than text/email\n- Add a follow-up date on my calendar so I don't drop the thread\n\nPhase 5 — Output.\n- Markdown table: contact | tier | days since last touch | context | drafted message | suggested channel | scheduled date\n- A \"do not reach out this week\" list (people in conflict, recent loss, asked for space)\n\nFeedback signal (closes loop month over month):\n- Reply rate by tier — are you actually reconnecting with Tier 1?\n- Patterns in which messages got the longest replies — those are the warmth-builders\n- Relationships that stayed dormant despite multiple touches — accept it, drop from active list\n\nQuality bar:\n- NEVER batch-send identical messages — every one is 1:1\n- NEVER reference something they shared in confidence\n- Tier 1 outreach is never asking for something — it's just showing up\n- If a relationship is genuinely over (mutual fade, life apart), respect it\n- Don't add new contacts to active tiers without explicit input — relationships are earned in" + }, + { + "id": "family-meal-plan", + "name": "Plan a family meal week from pantry + budget", + "category": "Home", + "tags": [ + "home" + ], + "emoji": "🛒", + "description": "Plan 7 days of meals from your pantry + budget. Get a grocery list and a kid-friendly schedule.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Scan pantry + freezer + fridge", + "Read dietary + budget constraints", + "Plan 7 days pantry-first", + "Generate grocery list grouped by section", + "Suggest leftover-friendly combos" + ], + "prompt": "Plan a family meal week from the pantry + budget + dietary constraints.\n\nInputs:\n- Household: who's eating (ages, preferences, allergies): [paste]\n- Pantry inventory (snap a photo or list staples + perishables): [paste]\n- Dietary constraints (allergies, religious, preference): [paste]\n- Weekly grocery budget: [amount]\n- Nights with hard time constraints (kids' activity, late work): [paste]\n- Cuisines we love + would like more of: [paste]\n- Leftover tolerance: [love 'em / once is enough]\n\nPhase 1 — Inventory + plan shape.\n- Group pantry: USE THIS WEEK (perishables) vs anything else\n- Decide cuisine mix for the 7 days (don't make the same culture 3 nights in a row)\n- Identify 1-2 nights for fast / one-pot meals based on time constraints\n- Identify 1 night for a \"stretch\" recipe — a fun project\n\nPhase 2 — Draft the 7-day plan.\nFor each night:\n- Recipe name + cuisine\n- 5-min summary of how to make it\n- Pantry items it uses (mark which)\n- New ingredients needed (drives the grocery list)\n- Active cook time\n- Kid-friendly flag\n\nPhase 3 — Build the grocery list.\n- Group by store section (produce, dairy, dry, frozen, meat/fish)\n- Specific quantities (not \"onions\" but \"3 yellow onions\")\n- Estimate cost per item using rough current prices\n- Total estimate vs budget — if over, suggest swaps\n\nPhase 4 — Output.\n- 1-page meal plan as PDF for the fridge\n- Grocery list as a markdown checklist\n- A \"what to prep on Sunday\" list (wash-and-chop that makes weeknights faster)\n\nFeedback signal (next week):\n- Which recipes got eaten happily vs pushed around the plate — promote winners\n- Which pantry items got used vs piled up — stop buying the unused ones\n- Did actual grocery cost match estimate? Tune the price list.\n\nQuality bar:\n- Never propose a recipe nobody will actually eat\n- Respect allergies absolutely — even trace contamination warnings\n- Default to whole-food, scratch-cook unless I said otherwise\n- If budget is tight, lead with cheaper proteins (eggs, beans, ground meat); skip steak-night\n- Keep total active cook time under 45 min for any weeknight unless I asked for the project meal" + }, + { + "id": "airbnb-hosting-optimization", + "name": "Optimize an Airbnb listing and set re-measurement", + "category": "Home", + "tags": [ + "audit", + "home", + "loop" + ], + "emoji": "🏡", + "description": "Optimize an Airbnb listing end-to-end. Get title + photos + price + message templates with a 30-day re-measurement.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "pdf", + "vale-brand-voice" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Diagnose 90-day performance vs comps", + "Optimize title + photos + description", + "Recommend dynamic pricing curve", + "Rewrite message templates", + "Schedule 30-day re-measurement" + ], + "prompt": "Optimize an Airbnb listing end-to-end and set up the re-measurement loop.\n\nInputs:\n- Listing URL or property name: [paste]\n- 90 days of booking + revenue + occupancy data: [paste or CSV]\n- 90 days of reviews (titles + full text): [paste or path]\n- Competitor listings in the area (3-5 comparable): [URLs]\n- Current pricing strategy (flat / dynamic / seasonal): [paste]\n- Current message templates (inquiry / pre-arrival / check-out / review): [paste]\n- Constraints (min stay, gap day, owner-blocked dates): [paste]\n\nPhase 1 — Diagnose performance.\n- Occupancy vs comps (above / at / below market)\n- Average daily rate vs comps\n- Total revenue vs comps (occupancy × ADR)\n- Review score + 2-3 themes from reviews — both wins and gripes\n- Conversion rate (views to bookings) if available\n\nPhase 2 — Optimize the listing.\n- Title: rewrite for the strongest single hook (proximity to X, the unique feature, the trip type)\n- Photos: list 5-10 photo upgrades (cover photo, missing room, lighting, staging)\n- Description: rewrite using wins from reviews — let guests' words sell the place\n- House rules: surface anything causing review hits (cleanliness fee surprise, parking confusion)\n- Amenities: any I'm under-tagging that comps are tagging\n\nPhase 3 — Pricing.\n- Recommended dynamic curve for next 90 days, calibrated to weekday / weekend / seasonal events\n- Minimum stay rules to optimize occupancy without leaving money on the table\n- Gap-day discount logic for awkward one-night gaps\n\nPhase 4 — Rewrite the message templates.\n- Inquiry response: <=120 words, warm + concrete (proximity / parking / wifi / check-in)\n- Pre-arrival: 48h before — practical (entry, parking, neighborhood)\n- Check-out: simple list, no guilt-trippy \"please leave a 5-star review\"\n- Post-stay review request: 24h after — a specific compliment to the guest, soft review ask\n\nPhase 5 — Schedule re-measurement (closes the loop).\n- 30 days from now: re-check occupancy, ADR, review score, conversion\n- 60 days: full re-audit on the same axes\n\nPhase 6 — Output.\n- An action list ranked by ROI (changes that take an hour and lift bookings 10%+ first)\n- Rewritten title + description + house rules + amenity list\n- 4 message templates ready to paste into Airbnb\n- A 1-page summary PDF for my co-host or cleaner\n\nFeedback signal:\n- After 30 days: which changes moved the metric you targeted?\n- Patterns in new reviews — did the gripes go away?\n- Did pricing changes lift revenue, or just shift bookings around?\n\nQuality bar:\n- NEVER fabricate amenities (no \"ocean view\" if you can see a parking lot)\n- NEVER write fake-friendly templates — guests can smell scripts\n- Respect platform rules (no off-platform contact ask in templates)\n- If reviews are dropping for a structural reason (the bed, wall thinness), name it — cosmetic fixes won't save it" + }, + { + "id": "novel-chapter-draft", + "name": "Draft a novel chapter with continuity", + "category": "Creative", + "tags": [ + "content", + "creative" + ], + "emoji": "📖", + "description": "Draft a novel chapter without breaking continuity. Get beats, prose at your voice, and a continuity diff vs the bible.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "concise-planning", + "vale-brand-voice", + "docx" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Read the bible + last chapter end-to-end", + "Beat the chapter", + "Draft prose at your voice", + "Continuity check vs bible", + "Diff new facts back into the bible" + ], + "prompt": "Draft the next chapter of my novel without breaking continuity.\n\nInputs:\n- Continuity bible (characters, world rules, established facts, timeline): [path]\n- Prior chapter(s) — at minimum the last full chapter: [paste or path]\n- My outline for THIS chapter (a paragraph is fine): [paste]\n- The book's POV (1st / 3rd limited / 3rd omniscient) + tense: [paste]\n- 2-3 prose samples that capture my voice: [paste]\n- Target word count: [e.g. 3000-4000 words]\n- Off-limits (a scene I'm not writing, a reveal not yet earned): [paste]\n\nPhase 1 — Read the bible + last chapter end-to-end.\n- Note every character on stage at the end of the previous chapter — they need to either be moved off or accounted for\n- Note any time-of-day / location continuity needed for the opening line\n- Note any open emotional or plot thread this chapter should close, advance, or deliberately leave hanging\n\nPhase 2 — Beat the chapter.\n- Open beat: where + when + who (continue from prior chapter, not jump cold)\n- 3-6 middle beats: what changes scene to scene? What's the protagonist trying / failing / learning?\n- Close beat: ends on a turn — a reveal, a decision, a cliffhanger, or a still moment that sets up the next chapter\n- Show me the beats. Wait for approval before drafting prose.\n\nPhase 3 — Draft the prose.\n- POV + tense locked from the bible\n- Voice matches the prose samples — sentence rhythm, vocabulary, comma habit\n- Dialogue carries weight — no chit-chat that doesn't reveal character or move plot\n- Scene description in service of mood, not inventory\n- Hit the target word count within ±15%\n\nPhase 4 — Continuity check.\n- For every fact you used about the world, character, or timeline: verify against the bible\n- Surface any place you had to invent — name the new fact and ask whether to add to the bible\n- Flag any phrase that drifted from the voice samples\n\nPhase 5 — Output.\n- Drafted chapter (.docx + .md) to my workspace\n- A diff against the bible: new facts the chapter introduces\n- A note on what threads this chapter advanced and what's still open for the next one\n\nFeedback signal:\n- After I edit: which lines I cut tell you what's drifting from the voice\n- Continuity issues caught at edit — bake into the bible so they don't recur\n- Pacing: too long / short relative to beat count? Tune ratios for next time.\n\nQuality bar:\n- NEVER invent a character, place, or rule that contradicts the bible\n- NEVER advance a thread the outline said to leave alone\n- Show, don't tell — replace \"she was angry\" with the action that proves it\n- Strip first-draft tics: weak verbs (\"was/were\"), filter verbs (\"she felt\", \"she heard\")\n- Don't ship a chapter that ends on a wet noodle — every chapter end is a small hook" + }, + { + "id": "course-builder", + "name": "Build a course / cohort program end-to-end", + "category": "Creative", + "tags": [ + "content", + "creative" + ], + "emoji": "🎓", + "description": "Build a course / cohort program end-to-end. Get modules, quizzes, drip schedule, sales page, and a fully-drafted Module 1.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "concise-planning", + "pdf", + "vale-brand-voice" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Lock the transformation", + "Outline 6-10 modules", + "Draft lessons + quizzes + homework", + "Plan drip + community rhythm", + "Write the sales page + launch sequence" + ], + "prompt": "Build a course / cohort program end-to-end.\n\nInputs:\n- Topic + the single transformation it delivers (\"learn to ship a SaaS landing page\" not \"marketing\"): [paste]\n- Target student (level + goal + pain): [paste]\n- Format: [self-paced async / live cohort / hybrid] + length [4 weeks / 6 weeks / etc.]\n- My credibility (why I can teach this): [paste]\n- Tools I'll use (Maven / Skool / Teachable / Kajabi / Discord + email): [paste]\n- Existing material I have (blog posts, talks, notes): [path or list]\n- Price target: [amount]\n\nPhase 1 — Lock the transformation.\n- Restate the transformation in one sentence (student goes from X to Y in Z weeks)\n- The single artifact the student will produce by the end (a deployed thing, a finished work, a portfolio piece)\n- The 3-5 specific outcomes a graduate will demonstrate\n\nWait for me to confirm. The transformation drives every module.\n\nPhase 2 — Module outline.\n- 6-10 modules, each with: title, 1-line learning objective, the homework artifact the student ships\n- Sequence so each module's homework feeds the next\n- Identify the 1-2 modules where students typically drop off and make those extra concrete\n\nPhase 3 — Per-module content.\nFor each module:\n- 3-5 lessons (each 5-15 min if video, or 800-1200 words if written)\n- A quiz or self-check at the end (5 questions max, calibrated to \"did you understand the load-bearing concept\")\n- A homework brief with: goal, steps, a real example, a rubric for \"good enough to move on\"\n- Optional stretch challenge for advanced students\n\nPhase 4 — Drip + community.\n- Drip schedule (when each module unlocks for self-paced / what's covered in each live session for cohort)\n- Community rhythm: weekly office hour question, peer-review channel, accountability buddies\n- Mid-course check-in to catch drop-off risk\n\nPhase 5 — Launch + pricing.\n- Sales page outline (hero + problem + solution + curriculum + outcomes + price + FAQ)\n- Email sequence for waitlist → launch (5 emails)\n- Pricing logic + cohort cap reasoning\n\nPhase 6 — Output.\n- Full course outline as a single PDF\n- Module 1 fully written as a proof-of-concept (lessons + homework + quiz)\n- Sales page draft\n- The waitlist email sequence\n\nFeedback signal (after cohort 1, closes the loop):\n- Drop-off curve — which module loses students. Restructure THAT module.\n- Homework completion rate per module — low completion needs easier wins or clearer rubric\n- NPS at the end + \"what would you tell a friend\" quotes — those become next cohort's sales page\n\nQuality bar:\n- Never promise outcomes you can't deliver — under-promise, over-deliver\n- Every module has one clear takeaway — if you can't name it, the module isn't ready\n- Avoid filler (\"welcome video\", \"what we'll cover\") — students paid for transformation, not throat-clearing\n- If the course works async, don't fake live urgency — different students buy different formats" + }, + { + "id": "skill-bank-builder", + "name": "Distill reusable skills from your recent agent runs", + "category": "Productivity", + "tags": [ + "loop", + "productivity" + ], + "emoji": "🧠", + "description": "Mine recent agent runs and distill reusable Skills. Get new skill files with verification steps and pitfalls.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "audit-context-building" + ], + "mcp_servers": [ + "filesystem" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read recent task history", + "Extract patterns from wins and failures", + "Score skill candidates", + "Write skill files with pitfalls + verification", + "Update the skill index" + ], + "prompt": "Look at my recent agent runs and distill reusable skills from them so I don't have to re-explain every time.\n\nInputs:\n- Recent task history (last 7-30 days of agent runs / chats / completed work): [paste path or summary]\n- Current skill directory: [path]\n- Skill format I use: [Anthropic Skills SKILL.md / .claude/skills / custom]\n- Max new skills to propose this round: [default 5]\n\nPhase 1 — Read the history.\n- Skim every completed task\n- Tag each: one-off / pattern (might recur) / system change (worth a skill)\n- Drop the one-offs\n\nPhase 2 — Pattern extraction.\nFor \"pattern\" tasks:\n- Goal in one sentence\n- Inputs\n- Steps that actually worked (what shipped value, not what was planned)\n- What went wrong? What had to be re-asked or re-done?\n- The canonical \"good run\" of this task\n\nCluster patterns. If 3+ tasks share the same shape, that's a skill candidate.\n\nPhase 3 — Score candidates.\nFor each:\n- Frequency: how often will this recur?\n- Stakes: cost of getting it wrong?\n- Drift: how often does the right approach change? (high-drift skills age fast)\n- ROI: time saved per future invocation\n\nShow me the top {N} candidates ranked. Wait for confirmation.\n\nPhase 4 — Write the skill files.\nFor each approved candidate:\n- Title + 1-line purpose\n- When to use (and when NOT to)\n- Required inputs (named, with types)\n- Step-by-step procedure\n- Verification steps (how to know the run succeeded)\n- Pitfalls (specific failure modes from history + workaround)\n- Example invocation\n- Update history at bottom (date + what changed)\n\nSave each as a separate file in the skill directory.\n\nPhase 5 — Update the index (closes the loop — the agent becomes smarter for next time).\n- Add new skills to the registry\n- Re-sort the index by frequency-of-use if available\n\nFeedback signal:\n- After a month: which new skills got invoked, which gathered dust?\n- Skills that got invoked but produced bad runs — root-cause and patch the skill\n- Patterns the agent keeps re-asking about despite a skill existing — the skill is hidden or routing is broken\n\nQuality bar:\n- Never create a skill from a single example — minimum 3 instances to call it a pattern\n- Each skill has explicit verification steps — no \"trust me\"\n- Pitfalls section is mandatory — no skill ships without documented failure modes\n- If two skills overlap, merge them or call out the difference clearly\n- Skills drift — every skill has a \"last reviewed\" date; flag anything >90 days for re-review" + }, + { + "id": "travel-itinerary-deep", + "name": "Plan a trip with the expensive research done first", + "category": "Personal", + "tags": [ + "marketing", + "personal", + "research" + ], + "emoji": "✈️", + "description": "Plan a trip end-to-end with visa + vaccine + advisory research done first. Get a day-by-day itinerary, packing list, and budget.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "brave-search", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Do the visa / vaccine / advisory research first", + "Build a day-by-day itinerary", + "Shortlist lodging + transport", + "Generate packing + prep checklist", + "Output printable PDF + offline maps" + ], + "prompt": "Plan this trip end-to-end with the \"being wrong is expensive\" research done.\n\nInputs:\n- Destination(s) + dates: [paste]\n- Travelers (count, ages, mobility / dietary / medical considerations): [paste]\n- Trip style (lazy / adventure / cultural / business+leisure / etc.): [paste]\n- Budget (total, or per-person per-day): [paste]\n- Passports / citizenships in the group: [paste]\n- Non-negotiables (must-see, must-eat, must-do): [paste]\n- Pace preference (1 thing/day / packed / mix): [paste]\n\nPhase 1 — The \"expensive to get wrong\" research.\n- Visa requirements per traveler for each destination (entry stamp, e-visa, visa-on-arrival, pre-application)\n- Vaccine + health requirements (yellow fever cert, required vaccines, recommended)\n- Travel advisories for the dates (gov advisory level, recent unrest, weather hazards, monsoon / hurricane / wildfire season)\n- Travel insurance recommendation tier + 2-3 specific policies fitting the trip\n- Currency + payment landscape (cash heavy? cards widely accepted? specific apps locally dominant?)\n- SIM / eSIM options + cost\n- Power adapter type\n\nIf anything is a blocker (visa not obtainable in time, vaccine needs weeks to take effect), flag it loudly NOW.\n\nPhase 2 — Day-by-day itinerary.\nFor each day:\n- City + neighborhood you'll be in\n- Morning / afternoon / evening blocks\n- 1-2 anchor activities per block (don't over-pack)\n- Travel time between activities (realistic — include the 20 min to find an Uber, not just the drive)\n- Food: 1 specific recommendation per meal, with cuisine + price tier + walking time\n- A buffer block (90 min minimum) for downtime / weather contingency\n- Logistical notes (book the museum slot 48h ahead, the restaurant requires a reservation, this market is closed Mondays)\n\nPhase 3 — Logistics + budget.\n- Lodging: shortlist 3 per city with neighborhood logic, price, why-this-pick\n- Inter-city transport: flights / trains / ferries with realistic timings\n- Estimated budget per day per category (lodging / food / activities / transport / shopping buffer)\n- Total trip cost vs budget — if over, suggest cuts\n\nPhase 4 — Packing + prep checklist.\n- Documents (printed copies, photos in cloud)\n- Clothing for the climate at the dates + 1-2 things the climate isn't obvious about\n- Health kit specific to destinations (mosquito repellent, altitude meds, etc.)\n- Cash strategy\n\nPhase 5 — Output.\n- Polished itinerary PDF (printable + shareable)\n- 1-page \"essentials at a glance\" (addresses, confirmation numbers, emergency contacts in destination)\n- Pre-departure checklist with dates by which each item should be done (visa, insurance, etc.)\n- Offline-accessible Google Maps list of every venue mentioned\n\nFeedback signal (mid-trip, closes loop for next trip):\n- Which blocks ran long vs short — recalibrate the rest of the trip\n- Which restaurants / activities exceeded expectations — bias next city's picks toward the same source\n- Anything the research missed — capture for the next trip's planning prompt\n\nQuality bar:\n- NEVER assume visa rules from prior trips — they change. Verify against the destination's current government site.\n- NEVER recommend an activity without checking it's actually operating in the season I'm visiting\n- Cite real, current sources for the health / safety advisories — link them\n- If anything in the trip is high-risk for one of the travelers (mobility, allergy, condition), name it and recommend a swap\n- Flag every place you had to guess (lodging price during a specific event, restaurant availability) so I can verify before booking" + }, + { + "id": "linkedin-viral-mining", + "name": "Mine likers of a viral LinkedIn post for outreach", + "category": "Lead Gen", + "tags": [ + "lead-gen", + "sales", + "social" + ], + "emoji": "🪝", + "description": "Mine likers/commenters of a viral post. Get a scored list and DMs tied to the original post's hook.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "playwright-mcp", + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull likers/commenters", + "Score by ICP fit", + "Find a hook tied to the post", + "Draft DMs and emails", + "Output reply-triage cheatsheet" + ], + "prompt": "Mine the people who engaged with a viral LinkedIn post and run a tight outreach round.\n\nInputs:\n- LinkedIn post URL: [paste]\n- My ICP filter (job title + company size + industry): [paste]\n- My offer + 1-line value prop: [paste]\n- Tooling: [Leadspicker / PhantomBuster / Apify LinkedIn engagement scraper]\n- Max leads this round: [default 50]\n- Send channel: [LinkedIn DM / email / both]\n\nPhase 1 — Pull engagement.\n- Use the scraper to pull every liker + commenter on the post (cap 500)\n- For each: name, role, company, location, headline, engagement type (like / comment text)\n- Show me the count before going further\n\nPhase 2 — Score for ICP fit (0-3).\n- 3 = perfect match; 2 = close; 1 = adjacent (expanded buyer / influencer); 0 = noise\n- Drop 0s. Show me the distribution and let me reject any 1s I want to skip.\n\nPhase 3 — Write the outreach.\nFor each remaining lead:\n- Open by referencing the SPECIFIC viral post (NOT \"I saw you engage with content recently\")\n- For commenters: reference what they said in 1 sentence\n- For likers: reference the post's main argument and a related question they probably care about\n- Connect their context to my offer in one sentence\n- Low-friction CTA: a question or a 15-min ask\n- <=400 chars for LinkedIn DM; <=80 words for email\n\nPhase 4 — If email is on:\n- Find a verified email via Hunter/Apollo\n- Write a parallel email with the same hook, email-appropriate length\n\nPhase 5 — Output.\n- Table: Name | Company | ICP Score | Engagement | Hook | DM | Email | Notes\n- A send order grouped by score (3s first)\n- A reply-triage cheatsheet: if reply says X, tag Y, next action Z\n\nFeedback signal:\n- Reply rate by ICP score — calibrates next threshold\n- Reply rate by engagement type (commenter vs liker) — which to prioritize\n- Which hooks landed — hook-template bank gets a winner update each round\n\nQuality bar:\n- NEVER scrape using a logged-in LinkedIn session you'd risk getting banned for\n- NEVER mass-send identical DMs — each references something specific\n- Respect LinkedIn's daily DM limits — flag if my volume would trip them\n- If the post is about a sensitive topic (layoffs, personal loss), default to declining and tell me why" + }, + { + "id": "aaa-chatbot-demo-close", + "name": "Build personalized chatbot demos per prospect", + "category": "Lead Gen", + "tags": [ + "lead-gen" + ], + "emoji": "💬", + "description": "Build a tailored chatbot demo per prospect. Get a live demo URL, the cold email, and a follow-up plan.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "firecrawl", + "playwright-mcp", + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Research each prospect's site + offerings", + "Build a tailored demo bot", + "Host at a personalized URL", + "Write the cold email with the demo link", + "Plan the follow-up cadence" + ], + "prompt": "Build a tailored chatbot demo for each prospect and pitch them with the live demo URL. The demo should look like it was built FOR them.\n\nInputs:\n- Prospect list (name + website URL + sector): [paste 5-20 rows]\n- My chatbot platform: [Voiceflow / Botpress / Chatbase / Stack AI / custom]\n- Hosting domain: [e.g. demo.myagency.com/]\n- Pricing: [setup fee + retainer]\n- Tone: [warm + competent local agency / sharp consultant / etc.]\n\nPhase 1 — Scope per prospect.\n- Crawl each prospect's website: services, hours, FAQ, contact form, common questions\n- Identify the SINGLE highest-value bot use case:\n - Dentist → appointment booking + insurance question deflection\n - Plumber → emergency dispatch routing + quote intake\n - Restaurant → reservation + dietary FAQ\n- Show me your picks before building. Wait for confirmation.\n\nPhase 2 — Build the demo.\n- Take brand colors and logo from their site (if visible)\n- Configure with 5-10 of their actual FAQ questions and answers\n- Wire the high-value intent (booking) to a fake-but-realistic flow\n- Embed at a personalized URL: demo.myagency.com/\n- Test every intent end-to-end before declaring it ready\n\nPhase 3 — Cold email per prospect.\n- Subject (<=6 words): \", built you a demo\"\n- Body (<=120 words):\n - \"I built a demo of an AI assistant for your \"\n - One specific thing it handles (\"books appointments without calling the front desk\")\n - Live link: \n - \"If it's useful, 15 min to talk through what it'd take to deploy?\"\n- Sign-off + signature\n\nPhase 4 — Follow-up plan.\n- T+3 days: \"did you get a chance to try the demo? happy to walk you through it\"\n- T+7 days: case study from a similar business + a specific metric\n- T+14 days: honest breakup, leave the demo URL live for 30 more days\n\nPhase 5 — Output.\n- Each demo deployed and tested\n- CSV: prospect | sector | demo URL | email subject | email body | follow-up 1 | follow-up 2 | breakup\n- Demo retention check: alert me which demos got >0 sessions in the first 72h — those are hot leads\n\nFeedback signal:\n- Demo open rate (subject A/B), session rate, demo-to-call conversion\n- Which sectors close at what price point — feed back into next prospect list\n\nQuality bar:\n- NEVER fabricate hours, prices, or services — only what's on the public site\n- NEVER claim \"AI knows everything about your business\" — set realistic expectations\n- Mark the demo with a small \"demo built by \" footer\n- If a site blocks iframes, deliver as a hosted page link" + }, + { + "id": "local-seo-smb", + "name": "Run local SEO domination for a small business", + "category": "Lead Gen", + "tags": [ + "lead-gen", + "seo" + ], + "emoji": "📍", + "description": "Audit local SEO and ship the wins. Get a GMB plan, citation gaps, schema, and a review-response system.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Audit GMB + NAP consistency + schema", + "Plan GMB posts + photos + Q&A", + "Find citation gaps vs competitors", + "Build a review-response system", + "Ship schema markup for the site" + ], + "prompt": "Run a local-SEO domination round for an SMB.\n\nInputs:\n- Business name + address + phone + website: [paste]\n- Service area or primary location: [paste]\n- 3-5 top local competitors: [paste with URLs]\n- Industry: [paste]\n- Current local rank for top 3 queries: [paste or \"unknown\"]\n- Existing GMB profile URL: [paste]\n\nPhase 1 — Audit.\n- GMB completeness: categories, services, attributes, hours, photos, posts, Q&A\n- NAP (Name/Address/Phone) consistency across top 10 citation sources (Yelp, BBB, Yellow Pages, industry-specific)\n- Review profile: count, recent volume, response rate, sentiment\n- Google Maps rank for top 5 queries from 3-5 grid points around the service area\n- Schema markup on the website (LocalBusiness, Service, Review, FAQ)\n- Mobile page speed (Google's #1 local ranking factor)\n\nPhase 2 — GMB optimization plan.\n- Primary category + 4 secondary\n- Services matched to what competitors are ranking for\n- 10 GMB Posts for the next 30 days (offers, events, products) with image briefs\n- 20 Q&As to seed (with answers — ranking signal)\n- Photo upload schedule (2-3/week with what to shoot)\n\nPhase 3 — Citation gaps.\n- Sources where competitors are listed and you aren't\n- Industry-specific citations (e.g., dentists → Healthgrades, plumbers → Angi)\n- A NAP standardization sheet so the next 50 citations match\n\nPhase 4 — Review-response system.\n- Templates for 5-star (thank, name a specific thing, soft CTA to return)\n- Templates for negative (acknowledge, offer to make it right offline, never argue publicly)\n- Outreach to get 10 new reviews this month (specific past customers + the ask script)\n\nPhase 5 — Output.\n- Audit PDF\n- 30-day GMB plan\n- Citation submission checklist (sorted by traffic)\n- Review templates + outreach scripts\n- Schema markup code ready to drop into the site\n\nFeedback signal:\n- Local rank delta on target queries (grid view monthly)\n- GMB call / direction clicks delta\n- Review count + average rating trajectory\n\nQuality bar:\n- NEVER buy reviews — Google detects and de-ranks\n- NEVER use a virtual office address — GMB requires real service-area or staffed location\n- Schema must validate (Google Rich Results Test)\n- Don't keyword-stuff GMB business name — that's a violation" + }, + { + "id": "cold-call-disposition-loop", + "name": "Re-score the cold-call list on yesterday's dispositions", + "category": "Sales", + "tags": [ + "loop", + "marketing", + "sales" + ], + "emoji": "☎️", + "description": "Re-score the call list using yesterday's dispositions. Get a connect-tuned dial order and a talk-track A/B.", + "works_best_with": { + "agent_profile": "bd-partnerships", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull yesterday's call log", + "Tag dispositions + patterns", + "Re-score leads (connect prob × ICP)", + "Reorder today's call queue", + "Suggest a talk-track A/B" + ], + "prompt": "Use yesterday's cold-call dispositions to reorder today's call list for the highest connect rate.\n\nInputs:\n- Yesterday's call log (CSV: lead_id, name, company, time_called, disposition): [paste]\n- Today's available list (CSV: lead_id, name, company, phone, time_zone, ICP score): [paste]\n- Dial windows today: [e.g. 9-11am, 1-3pm local time]\n- Disposition codes I use: [CONNECT_INTERESTED / CONNECT_NOT_NOW / VOICEMAIL / NO_ANSWER / WRONG_NUMBER / DNC]\n- Talk-track variants tested yesterday: [paste]\n\nPhase 1 — Yesterday's analysis.\n- Connect rate by hour of day in their time zone\n- Connect rate by ICP score\n- Top 3 patterns from CONNECT_INTERESTED calls (what did they say first? top objection?)\n- Patterns from CONNECT_NOT_NOW — real \"not nows\" or polite blowoffs?\n\nPhase 2 — Re-score today's list.\n- Predicted connect probability from yesterday's hour-of-day data + their time zone\n- ICP score (re-use if available)\n- Dial priority = connect_prob × ICP_fit\n- Reorder by dial priority within each dial window\n\nPhase 3 — Talk-track A/B.\n- Variant A: yesterday's best-performing opener (carry forward)\n- Variant B: a hypothesis based on what objection killed deals yesterday\n- Split 50/50\n\nPhase 4 — Output.\n- CSV: time_window | lead | phone | dial_priority | talk_track_variant\n- 3-bullet summary for the team\n- A \"do not dial today\" list (DNCs, dead numbers from yesterday, leads on snooze)\n\nFeedback signal (end of today):\n- Did dial priority correlate with connect rate? (validates the model)\n- Which talk-track variant won? Promote to default.\n- Which window had highest connect per ICP segment? Pin for tomorrow.\n\nQuality bar:\n- Never queue a DNC lead — re-check the scrub\n- Never auto-dial outside permitted hours by jurisdiction\n- If yesterday's sample is <20 calls, don't pretend to find a pattern — say so\n- Tag any lead with 3 consecutive NO_ANSWER as \"rest\" for 2 weeks" + }, + { + "id": "sales-call-to-crm", + "name": "Turn a sales call recording into a CRM update", + "category": "Sales", + "tags": [ + "sales" + ], + "emoji": "🎧", + "description": "Turn a sales call into a CRM update + next-step tasks + follow-up email. Get a clean stage move and ready-to-paste notes.", + "works_best_with": { + "agent_profile": "bd-partnerships", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read transcript and structure", + "Update the CRM record", + "Build the next-step task list", + "Draft the follow-up email", + "Output an internal manager note" + ], + "prompt": "Turn a sales call recording into a CRM update + a next-step task list + a follow-up email.\n\nInputs:\n- Call recording or Gong/Fathom/Otter transcript: [paste]\n- Deal/account ID + opportunity: [paste]\n- Buying committee from CRM (titles + names): [paste]\n- Our methodology (MEDDIC / SPICED / CHAMP): [paste]\n- Tone for follow-up email: [paste]\n\nPhase 1 — Read and structure.\n- Identify speakers; reconcile against the buying committee\n- Extract: pains discussed, objections raised, decisions made, commitments by either side, timing signals\n- Surface explicit and implicit blockers (champion missing, exec sponsor undisclosed)\n\nPhase 2 — Update the CRM record.\n- Suggested stage move (advance/hold/regress with one-sentence reason)\n- Updates per MEDDIC field (or your methodology): metrics, economic buyer, decision criteria, decision process, identify pain, champion\n- Risks: flag anything that lowers close probability\n- Suggested next stage gate\n\nPhase 3 — Next-step list.\n- Tasks for me (action, owner, deadline, why)\n- Tasks for the prospect (we send the proposal by X, you send IT review by Y)\n- Internal asks (need legal review, need SE for demo)\n\nPhase 4 — Follow-up email.\n- Subject (<=8 words): reference the specific commitment from the call\n- Body (<=200 words): recap, action items with owners + dates, one open question that earns a reply\n- Attach anything they asked for\n- Send-or-schedule recommendation\n\nPhase 5 — Output.\n- CRM diff (markdown) ready to paste into the deal\n- Task list (CSV) ready to import\n- Email draft (markdown)\n- A 1-paragraph internal note for sales manager / RevOps\n\nFeedback signal:\n- Did the stage move match what actually happened?\n- Which methodology slots were consistently empty after first call — refine the discovery script\n- Email reply rate per follow-up template — promote the winning structure\n\nQuality bar:\n- Never invent commitments or pains that weren't said\n- Cite timestamps for any direct quote\n- Mark anything \"low confidence — verify\" if the call was muddy\n- Never auto-send the follow-up — drafts only" + }, + { + "id": "amazon-listing-optimizer", + "name": "Optimize an Amazon listing end-to-end", + "category": "E-commerce", + "tags": [ + "ecommerce", + "real-estate", + "seo" + ], + "emoji": "📦", + "description": "Optimize an Amazon listing with keyword research + review mining. Get title, bullets, A+ brief, and backend keywords.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull keyword research + competitor SERP", + "Mine reviews for voice + objections", + "Write title, bullets, A+ brief", + "Tune backend search terms", + "Output a before/after diff" + ], + "prompt": "Optimize my Amazon listing end-to-end with keyword research and review mining.\n\nInputs:\n- My ASIN + 3-5 competitor ASINs in the same niche: [paste]\n- Target marketplace: [US / UK / DE / JP / etc.]\n- Brand voice notes: [paste]\n- Current listing performance (sessions / conversion / revenue if available): [paste]\n- Constraints: [trademarked terms to use, brand registry status, A+ access yes/no]\n\nPhase 1 — Keyword research.\n- Pull top search terms from Helium 10 / Jungle Scout / Brand Analytics for the niche\n- Intent tiers: head (high volume, hard rank), torso (mid), long-tail (specific buyers)\n- Cross-reference with competitor titles — what keywords are they ranking on?\n- Output a ranked keyword list with monthly search volume and competition score\n\nPhase 2 — Review mining for voice + objections.\n- Pull last 500 reviews across my ASIN + competitors\n- Cluster positive reviews by what buyers loved (use their exact phrases)\n- Cluster negative reviews by what disappointed buyers\n- Identify the top 3 \"objections to overcome\" my listing must address\n\nPhase 3 — Write the listing.\n- Title: front-load with the highest-volume relevant keyword. Pattern: [Brand] + [Product] + [Key Feature] + [Use Case] + [Variant] within Amazon's character limit\n- 5 bullets: lead each with a benefit IN ALL CAPS THEN a sentence. First bullet handles the #1 objection. Last bullet handles brand/warranty trust.\n- A+ content brief: 5-7 modules (hero with overlay, 3-feature comparison, FAQ, brand story, social proof, related products)\n- Backend search terms: 250-byte limit, no duplicates, no competitor brand names\n\nPhase 4 — Output.\n- Title (counted)\n- 5 bullets ready to paste\n- A+ content module brief (text + image directions per module)\n- Backend keywords (formatted to byte count)\n- A before/after diff showing the key changes\n\nFeedback signal (after 30 days):\n- Session-to-purchase conversion delta\n- Search-term performance: which keywords now have impressions / clicks\n- Review themes — did the new bullets address the objections?\n\nQuality bar:\n- NEVER use prohibited terms (Amazon's flagged words: performance claims, medical claims, etc.)\n- NEVER copy competitor brand names into title or backend\n- Every claim has a supporting feature in the listing — no marketing-only fluff\n- A+ content must work for buyers on mobile — short text, big images" + }, + { + "id": "shopify-bulk-descriptions", + "name": "Generate Shopify product descriptions in bulk", + "category": "E-commerce", + "tags": [ + "ecommerce", + "sales", + "seo" + ], + "emoji": "🏷️", + "description": "Generate SEO product descriptions for a Shopify catalog. Get titles, descriptions, meta, tags, and alt text per SKU.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Audit the SKU batch", + "Generate listings per template", + "Voice-consistency pass", + "Export ready-to-import CSV", + "Flag SKUs needing human input" + ], + "prompt": "Generate product descriptions for a batch of Shopify SKUs.\n\nInputs:\n- Shopify catalog export (CSV with SKU, current title, current description, category, key attributes): [paste]\n- Brand voice + tone notes: [paste or link]\n- Target audience: [paste]\n- SEO keyword strategy (head terms per category): [paste]\n- Batch size this run: [default 50 SKUs]\n\nPhase 1 — Audit the batch.\n- For each SKU: identify what's missing (no description, generic copy, no meta, no alt text)\n- Categorize by template (apparel / home / electronics / etc.)\n- Flag any SKU with insufficient data — needs human input first\n\nPhase 2 — Per-SKU generate.\nFor each:\n- Title (<=70 chars): brand + product + key attribute + variant\n- Product description (200-350 words):\n - Lead with the transformation (what the buyer gets, not what the product is)\n - 3 feature/benefit blocks (concrete)\n - Specs section (bullet list, scannable)\n - Closing line that earns the add-to-cart click\n- SEO meta description (<=155 chars)\n- 5 image alt-text strings tied to specific product shots\n- 5-7 relevant tags\n\nPhase 3 — Voice consistency check.\n- Sample 5 random outputs back-to-back — do they sound like the same brand?\n- Strip AI-slop: \"elevate\", \"discover\", \"introducing\", \"unleash\", \"transform your\"\n\nPhase 4 — Output.\n- Updated CSV ready to import to Shopify\n- A \"needs human input\" CSV for the flagged SKUs\n- Sample preview (3 randomly chosen SKUs) for spot-checking\n\nFeedback signal:\n- Which categories saw the highest conversion lift post-update\n- Which AI phrasings buyers complained about in reviews — bake into the ban list\n- Top-converting product pages — which structure did they share?\n\nQuality bar:\n- NEVER invent specs or materials — only what's in the input data\n- Match Shopify SEO best practices (length, structure)\n- One unique angle per product — don't pattern-match identical openers across the catalog\n- If the input data is too sparse for a product, flag it — don't fill with fluff" + }, + { + "id": "print-on-demand-launch", + "name": "Launch a print-on-demand niche", + "category": "Side Hustle", + "tags": [ + "ecommerce", + "side-hustle" + ], + "emoji": "👕", + "description": "Pick a POD niche and launch 10 designs. Get a niche brief, design briefs, listings, and a 30-day publishing plan.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "brainstorming", + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Propose 3 niche options + recommend one", + "Brief 10 designs in the chosen niche", + "Write listings for each design", + "Plan a steady-cadence publishing schedule", + "Define winners/killers in feedback" + ], + "prompt": "Launch a print-on-demand niche end-to-end.\n\nInputs:\n- POD platform: [Printify / Printful / Redbubble / TeePublic / Merch by Amazon]\n- Storefront: [Shopify / Etsy / Amazon / direct on POD platform]\n- My skills + interests (be honest): [paste]\n- Budget for design tools + ads: [budget — $0 is OK]\n- Time per week: [hours]\n\nPhase 1 — Niche brief. Wait for approval before designing.\n\nPropose 3 niche options. For each:\n- Specific niche in one sentence (\"nursing-specialty humor for night-shift ER nurses\" NOT \"nurse t-shirts\")\n- Why it has demand: cite 3-5 existing TeePublic/Redbubble/Etsy listings with seller name + sales rank / review count\n- Why it's not over-saturated: estimated seller count + design freshness\n- Smallest viable v1: 10 designs in one product format\n- Realistic price + commission per sale\n\nRecommend one. Explain why. Wait for confirmation.\n\nPhase 2 — Design briefs (10 designs).\nFor each:\n- Concept in one sentence (the joke / sentiment / visual hook)\n- Layout (text-only / text+illustration / visual-only)\n- Color palette (specific hex codes)\n- Typography direction (sans / serif / handwritten — name the font family)\n- Reference style (\"Sarah Lawrence Press meets Smitten Kitchen\") — pick artists / brands the designer would know\n- Variant suggestions (mug / sticker / poster)\n\nPhase 3 — Listings.\nFor each design:\n- Title pattern (front-loaded keyword + niche tag + emotion + variant)\n- Tag list (Etsy: 13 tags max, mix head + long-tail)\n- Description (300 words): hook, who it's for, what's printed where, gift-giving angle, care instructions\n- Pinterest pin caption + 5 hashtags\n\nPhase 4 — Output.\n- Niche brief PDF\n- 10 design briefs (markdown)\n- 10 listings ready to paste\n- A 30-day publishing schedule (don't dump all 10 at once — Etsy/POD favors steady cadence)\n\nFeedback signal (after 30 days):\n- Per-design sales — which earned out the design time\n- Search terms that led to clicks — bias future title patterns\n- Refund rate or complaint themes — adjust quality / fulfillment partner\n\nQuality bar:\n- NEVER plagiarize existing designs — original concepts only\n- NEVER use trademarked phrases (sports team names, brand slogans, lyrics, character names)\n- Test each design as a low-cost variant (mug or sticker) before committing to expensive variants (hoodie)\n- Cite inspiration listings so I can verify they're not direct competitors" + }, + { + "id": "faceless-youtube-pipeline", + "name": "Run a faceless YouTube content pipeline", + "category": "Side Hustle", + "tags": [ + "content", + "side-hustle", + "video" + ], + "emoji": "📺", + "description": "Run a faceless YouTube pipeline. Get topic research, scripts, voiceover briefs, b-roll lists, and a 30-day schedule.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "brave-search", + "brainstorming", + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Research topics with high views-per-day", + "Script the next 4 videos", + "Brief voiceover + music + b-roll", + "Plan titles, thumbnails, distribution", + "Schedule across 30 days" + ], + "prompt": "Produce a faceless YouTube content pipeline.\n\nInputs:\n- Niche + value prop: [paste]\n- Target audience: [age, interests, watch context]\n- Style: [calm-explainer / energetic-edutainment / mysterious-narrative / data-heavy]\n- Channel goal: [ad revenue / affiliate / lead-gen for a paid product]\n- Production stack: [ElevenLabs voice / Suno music / Midjourney/Runway visuals / editor style]\n- Posting cadence: [3/week / daily / 2 long + 5 shorts]\n- 5 top performers in your niche to learn from: [list]\n\nPhase 1 — Topic research.\n- Pull top 50 videos in the niche from the last 90 days, ranked by views-per-day-since-upload\n- Identify title patterns + thumbnail patterns + length sweet spots\n- Surface 10-15 highest-leverage topic angles for THIS channel\n\nPhase 2 — Script the next 4 videos.\nFor each:\n- Hook (first 15 seconds — the curiosity gap or stakes setup)\n- Outline (5-9 beats)\n- Full script in spoken voice (target ~150 words/min)\n- Length target (matches the niche's sweet spot)\n- B-roll list: scene-by-scene, what visual goes where (stock / AI-generated / motion graphic)\n- On-screen text callouts\n- Thumbnail brief: composition, big text overlay (max 4 words), emotion cue\n\nPhase 3 — Voiceover + music brief.\n- Voice character (ElevenLabs voice ID + speed + emotion)\n- BGM type + intensity curve (calm intro → build → punchline → outro)\n- SFX cues at key moments (whoosh on transitions, ding on big claims)\n\nPhase 4 — Distribution.\n- Title A/B options (2 per video)\n- Description (200-300 words, keyword-rich, links to affiliate or signup)\n- Tags (15-20)\n- Pinned-comment hook to drive engagement\n- Community-tab teaser for the upcoming video\n\nPhase 5 — 30-day schedule + output.\n- Publishing calendar across the cadence\n- Per-video brief packaged as PDF for the editor\n\nFeedback signal (closes the loop):\n- Per video: CTR, AVD, subscribers gained — feed back into next batch's title + hook + length\n- Topic clusters that overperform — double down\n- Topics where retention crashes after 30 sec — kill the pattern\n\nQuality bar:\n- Every claim in the script must be defensible — no invented stats\n- Original take per video — don't just rewrite the top-ranking video\n- Disclose AI voice / AI imagery in description per platform rules\n- Never plagiarize visuals — use licensed stock, your own, or AI-generated only" + }, + { + "id": "pinterest-affiliate-pins", + "name": "Batch 30 Pinterest pins for an affiliate niche", + "category": "Side Hustle", + "tags": [ + "side-hustle", + "social" + ], + "emoji": "📌", + "description": "Batch 30 Pinterest affiliate pins. Get titles, image briefs, alt text, and a daily posting schedule.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "brainstorming", + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Keyword research for the niche", + "Write 30 pin titles + descriptions", + "Build 5-6 reusable image templates", + "Schedule across 30 days", + "Promote winners" + ], + "prompt": "Batch-generate Pinterest affiliate pins for a niche.\n\nInputs:\n- Affiliate niche + program (Amazon Associates / ShareASale / specific brand): [paste]\n- Target audience demographic (Pinterest skews female 25-45): [paste]\n- Brand voice for captions: [paste]\n- Image creation tool: [Canva / Midjourney / Recraft / etc.]\n- Posting tool: [Tailwind / Pinterest scheduler]\n\nPhase 1 — Keyword research.\n- Identify 30 search terms in your niche with Pinterest monthly searches >5000 (use Pinterest Trends + Predis)\n- Tier by intent: discovery (browsing) / consideration (comparing) / decision (buying)\n- Map each keyword to an existing affiliate product\n\nPhase 2 — Pin titles + captions.\nFor each of 30 pins:\n- Title (35-100 chars, front-loaded with the search keyword)\n- Description (200-500 chars): hook + value-prop + soft CTA + 5 hashtags\n- Image style brief: layout (text-heavy / split-image / before-after / list-style), color palette (Pinterest-friendly: cream, sage, terracotta, etc.), typography pair, exact text overlay\n- Alt text (real accessibility, not keyword stuffing)\n- Destination URL with affiliate tag\n\nPhase 3 — Image briefs grouped by template.\n- Group pins by visual template (5-6 templates) so Canva can reuse the design\n- Per template: dimensions (Pinterest favors 2:3), template name, color/typography spec, what's interchangeable per pin\n\nPhase 4 — Schedule.\n- 1-2 pins/day for 30 days (Pinterest favors steady cadence over bursts)\n- Mix board destinations (don't post 30 pins to one board)\n- Idea Pins vs static pins ratio (Pinterest now favors Idea Pins)\n\nPhase 5 — Output.\n- Pin CSV: title | description | board | image template | destination URL | alt text\n- 5-6 Canva-ready image briefs\n- 30-day Tailwind schedule (CSV)\n\nFeedback signal:\n- Per pin: impressions / saves / outbound clicks — promote winners\n- Template-level: which design template gets the most saves — bias next batch\n- Click-through to affiliate sale: which keyword tiers actually convert (discovery rarely does)\n\nQuality bar:\n- NEVER overlay text claims you can't substantiate (\"#1 in 2026\", \"doctor-recommended\")\n- Disclose affiliate status per FTC + Pinterest rules\n- NEVER use other creators' images without licensing\n- Every pin description offers value, not just a sale push" + }, + { + "id": "affiliate-review-site", + "name": "Run an affiliate review-site content engine", + "category": "Side Hustle", + "tags": [ + "content", + "seo", + "side-hustle" + ], + "emoji": "🌐", + "description": "Run a niche affiliate review-site engine. Get keyword clusters, post outlines, drafts, and an internal-link map.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Map keyword clusters into pillar + supporting", + "Outline 10 posts (money + traffic mix)", + "Draft each post with honest reviews", + "Audit internal links + orphans", + "Schedule the publishing cadence" + ], + "prompt": "Build a niche affiliate review-site content pipeline.\n\nInputs:\n- Niche + 3 high-commission affiliate programs: [paste]\n- Domain age + current monthly traffic: [paste]\n- Existing top posts (if any): [paste]\n- Posting cadence: [2/week / 4/week / 1/day]\n- Brand voice (genuine reviewer / authority / casual buddy): [paste]\n- Disclosure block to include: [paste — FTC compliant]\n\nPhase 1 — Keyword cluster mapping.\n- Pull 100-300 keywords for the niche (Ahrefs / Semrush / KWFinder)\n- Cluster into pillar pages + supporting pages (topical authority)\n- Per cluster: 1 pillar (comprehensive) + 5-10 supporting (specific buying / comparison / how-to)\n- Identify \"money pages\" (high commercial intent) vs \"traffic pages\" (informational that funnels to money pages)\n\nPhase 2 — Outline 10 posts this round (mix money + traffic).\nFor each:\n- Post type (best-of list / vs comparison / single product review / how-to / buyer guide)\n- Target word count + structure\n- Internal-link plan (which other posts link in/out)\n- Affiliate product mapping (which products / where in the post)\n- Featured-snippet opportunity (table / list / definition box)\n\nPhase 3 — Draft each post.\n- Open with the reader's question (no \"in today's fast-paced world\")\n- TL;DR / verdict at the top for impatient readers\n- Use the products you'd actually recommend — never push the highest commission\n- Include screenshots or original photos where possible (cite if you can't)\n- Strong final CTA tied to the affiliate link\n\nPhase 4 — Internal-link audit.\n- Map every published post → which new posts should link to it\n- Identify orphan posts (no incoming internal links) and fix\n- Update the pillar page to link out to the new supporting posts\n\nPhase 5 — Output.\n- 10 publish-ready posts (markdown)\n- Internal-link map (CSV: source post → target post)\n- A publishing schedule across the cadence\n\nFeedback signal:\n- Per post: organic traffic, time on page, clicks to affiliate, conversions\n- Cluster-level: which clusters earned out the content investment in 90 days\n- Search Console queries you didn't target but ranked for — add to next batch\n\nQuality bar:\n- NEVER promote a product you wouldn't recommend to a friend — readers smell it\n- Always include the cheapest \"good enough\" option, not just the highest-commission pick\n- Include real cons for every product, not \"the only drawback is...\"\n- Disclosure block on every post; per FTC + Amazon Associates rules\n- Don't fake \"tested\" claims — say \"based on reviewer consensus\" if you didn't test" + }, + { + "id": "dtc-ugc-ad-producer", + "name": "Produce DTC UGC ad variants for paid social", + "category": "Marketing", + "tags": [ + "marketing", + "social", + "video" + ], + "emoji": "🎬", + "description": "Produce UGC ad variants for DTC. Get 10 hooks, 5 full scripts, shot lists, and a 7-day testing plan.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brainstorming", + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Generate 10 hooks across 10 patterns", + "Pick 5 to write full scripts for", + "Brief shot lists per script", + "Plan a 7-day budget split + kill rules", + "Promote winners into the next batch" + ], + "prompt": "Produce DTC UGC ad variants ready for paid social.\n\nInputs:\n- Brand + product (link to product page): [paste]\n- Target ad platforms: [Meta / TikTok / YouTube Shorts]\n- Audience persona (be specific): [paste]\n- Brand voice + visual guidelines: [paste]\n- Avatar/creator: [HeyGen avatar ID / real creator / Arcads]\n- Hook framework to lean into: [problem-agitate-solve / before-after / contrarian / testimonial / unboxing]\n- Daily ad spend (so I know how many creatives we need): [paste]\n\nPhase 1 — Hook library (10 hooks, 10 patterns).\n- Pattern interrupt (\"Stop scrolling if you...\")\n- Vulnerability (\"I was embarrassed to admit...\")\n- Contrarian (\"Everyone says X. They're wrong.\")\n- Stakes (\"This $X mistake cost me Y\")\n- Curiosity gap (\"The reason this works isn't what you think\")\n- Identity (\"If you're the type of person who...\")\n- Stat (\"X% of people don't realize...\")\n- POV demo (\"Watching me use this for the first time\")\n- Q&A (\"Why does this work so well?\")\n- Authority (\"After 3 years of trying everything\")\n\nFor each: the first 3 seconds verbatim + on-screen text.\n\nPhase 2 — Full scripts (pick 5 winning hooks).\nFor each:\n- 30-second + 60-second versions\n- Beat structure: hook → problem → solution intro → demo → proof → CTA\n- Visual cues per beat (what's on screen, gestures, camera angle)\n- On-screen text overlays at key moments\n- CTA: specific (X% off / use code Y) — never generic \"link in bio\"\n\nPhase 3 — Shot list per script.\n- Locations (kitchen / bedroom / street / etc.)\n- Props\n- Wardrobe direction\n- B-roll needed\n- Music vibe\n\nPhase 4 — 7-day testing plan.\n- Day 1-3: launch all 5 with equal small budget ($X/day each)\n- Day 4: kill bottom 2 by CPA\n- Day 5-7: scale top 2 by 20%/day, draft 3 fresh hooks based on what won\n- Track per platform: CTR, hold rate at 3s, hook rate at 15s, CPA\n\nPhase 5 — Output.\n- 10 hooks + 5 full scripts (markdown)\n- 5 shot lists ready for HeyGen / creator / Arcads\n- A 7-day testing schedule + reporting template\n\nFeedback signal (closes after 7 days):\n- Winning hook patterns this week — bake into the hook library\n- Hooks that consistently fail — drop from rotation\n- Platform-specific: which hook style works for Meta vs TikTok vs Shorts\n\nQuality bar:\n- NEVER make medical, financial, or income claims you can't substantiate\n- NEVER use copyrighted music in ads\n- Disclose paid partnership per platform rules\n- If using a real creator, get written consent for the script + usage terms" + }, + { + "id": "ppc-ad-variant-factory", + "name": "Generate PPC ad copy variants for testing", + "category": "Marketing", + "tags": [ + "loop", + "marketing" + ], + "emoji": "🧪", + "description": "Generate PPC ad copy variants across hypothesis dimensions. Get 15 variants tagged for clean attribution.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brainstorming", + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Read the current best ad", + "Generate 15 variants across 5 hypotheses", + "Spec the testing rig + kill rules", + "Output platform-ready CSV", + "Feedback into next round" + ], + "prompt": "Generate PPC ad copy variants for systematic testing.\n\nInputs:\n- Product + landing page: [paste URL]\n- Audience persona: [paste]\n- Platform: [Meta Ads / Google Ads / LinkedIn Ads / TikTok Ads]\n- Current best-performing ad (for benchmark): [paste copy + metrics]\n- Budget per variant: [paste]\n- Hypothesis dimensions to test: [hook / offer / proof / CTA / objection]\n\nPhase 1 — Performance read of current best.\n- Why this ad is winning (which hook is doing the work)\n- Risk: which dimension is most likely to plateau (audience saturation)\n- Surface 2-3 untested dimensions\n\nPhase 2 — 15 variants across 5 hypotheses.\n- 3 variants testing the HOOK (same offer, different opener)\n- 3 variants testing the OFFER (same hook, different incentive — % off, BOGO, free shipping, money-back)\n- 3 variants testing the PROOF (same offer, different social proof — review count, expert quote, before-after, press)\n- 3 variants testing the CTA (same body, different action — buy, learn, try free, save)\n- 3 variants testing the OBJECTION (same offer, different addressed objection — price, fit, quality, timing)\n\nFor each:\n- Headline (per platform's character limit)\n- Primary text (per platform's char limit)\n- Description (Google) or first-line hook (Meta)\n- Image/video direction (one sentence)\n- The hypothesis being tested\n\nPhase 3 — Testing rig.\n- Recommended budget split (typically equal for first 48h)\n- Statistical-significance threshold (don't kill ads early; minimum spend or impressions)\n- Kill rules (CPA above X, CTR below Y)\n\nPhase 4 — Output.\n- CSV ready to import (per platform format)\n- A \"why this variant\" note column for the marketing team\n- A pre-launch checklist (UTMs, pixel, landing-page match)\n\nFeedback signal (after 7 days):\n- Which hypothesis dimension moved CPA the most — focus next batch there\n- Which combinations interact (winning hook + winning CTA together)\n- Audience fatigue signal (impression frequency >2 with falling CTR)\n\nQuality bar:\n- NEVER make claims you can't substantiate (income, weight loss, medical)\n- One variable per variant for clean attribution\n- Match the landing-page copy to the ad's promise — message-match drives CR\n- Disclose any required information per platform (housing, employment, credit) policies" + }, + { + "id": "sales-page-long-form", + "name": "Write a long-form sales page that converts", + "category": "Sales", + "tags": [ + "sales", + "side-hustle" + ], + "emoji": "📜", + "description": "Write a long-form sales page for a course or info-product. Get hero, agitation, mechanism, offer, FAQ, and CTA stack.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Structure the 12 page sections", + "Write each section with care", + "A/B alternates for hero + CTA", + "Trust-killer audit", + "Output as markdown + builder import" + ], + "prompt": "Write a long-form sales page that converts.\n\nInputs:\n- Product / offer + price: [paste]\n- Target buyer (specific): [paste]\n- Transformation (where they are now → where they'll be): [paste]\n- 3-5 buyer objections you hear most: [paste]\n- Social proof you have (testimonials, case studies, results): [paste]\n- Brand voice + tone (warm-advisor / sharp-coach / no-BS-operator): [paste]\n- Existing sales page (for context, if rewriting): [paste]\n\nPhase 1 — Structure the page (12 sections in order).\n1. Hero: pre-headline + headline + sub + CTA above the fold\n2. Problem: who you serve + the pain you fix (no vague \"struggling with...\")\n3. Agitation: what happens if they don't fix this\n4. Story / mechanism: why this product works (your unique angle)\n5. Offer: what's included, line by line\n6. Bonuses: 2-3 stackable bonuses, each with a perceived value\n7. Pricing: anchor + final price + payment options\n8. Guarantee: specific, time-bound, no-fine-print\n9. Social proof block: 5-10 testimonials with names + outcomes\n10. FAQ: handles every objection from the input\n11. Final CTA stack: 2-3 CTAs with different angles\n12. P.S.: the one thing they should remember\n\nPhase 2 — Write each section.\n- Hero headline: outcome + timeframe + how it works (\"X without Y in Z weeks\")\n- Problem: name the buyer's situation in their own words\n- Agitation: vivid scenes of what happens if they don't fix it\n- Mechanism: your unique angle on why this works (not just \"AI\" or \"proven\")\n- Offer: each line item gets a benefit, not just a feature\n- Guarantee: name the specific outcome and the refund mechanic\n- FAQ: answer the buyer's question, then handle the implicit objection underneath\n\nPhase 3 — Output.\n- Full sales page as a markdown block\n- 3 headline alternatives for A/B\n- 2 hero CTAs for A/B\n- A landing-page builder import (if I'm using ConvertKit / Carrd / etc.)\n- A \"trust-killers\" audit: anything in the page that would lose a skeptical reader\n\nFeedback signal:\n- Conversion rate vs baseline\n- Where readers drop off (scroll-depth + heatmap) — restructure\n- Refund rate post-launch — too high means over-promised; too low might mean under-priced\n\nQuality bar:\n- NEVER fake urgency (countdown timers that reset, \"only 3 left\" lies)\n- NEVER use stock photos for \"testimonials\" — real names + real photos or none\n- Every claim is supported (a case, a stat, a real number)\n- Pricing must be transparent — no hidden upsells or surprise charges\n- If you can't substantiate \"guarantee\", remove it rather than weaken it" + }, + { + "id": "lead-magnet-pdf", + "name": "Generate a lead-magnet PDF for list-building", + "category": "Marketing", + "tags": [ + "marketing", + "sales" + ], + "emoji": "🧲", + "description": "Generate a lead-magnet PDF + opt-in funnel. Get a 10-20 page guide, landing page, and a 4-email delivery sequence.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice", + "pdf" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Brief title + format + promise", + "Outline 5-8 sections", + "Write the PDF content", + "Draft the opt-in funnel pages", + "Write the 4-email nurture sequence" + ], + "prompt": "Generate a lead-magnet PDF + opt-in funnel for list-building.\n\nInputs:\n- Niche + target audience: [paste]\n- The single problem the lead magnet solves: [paste]\n- My paid product (so the lead magnet seeds it): [paste]\n- Format preference: [checklist / template / cheatsheet / mini-guide / swipe file / calculator]\n- Brand voice + tone: [paste]\n\nPhase 1 — Lead-magnet brief.\n- Title (curiosity gap + outcome — \"The 5-Step X That Got Me Y in Z\")\n- Promise (one specific transformation in one specific timeframe)\n- Format choice with reasoning (which format matches the niche's appetite)\n- Estimated time-to-value for the reader (under 15 min reading or use)\n\nPhase 2 — Outline.\n- Cover page brief\n- TOC\n- 5-8 sections, each: section name, what the reader gets, how long they spend on it\n- Calls-to-action embedded (light): one mid-doc, one at the end\n- An \"About me\" or \"What's next\" page bridging to the paid offer\n\nPhase 3 — Write the content.\n- Each section: practical, no fluff, specific examples or fill-in-the-blank templates\n- Visual cues (a checklist, a 2-column table, a callout box, a worksheet)\n- Closing CTA: not generic \"follow me\" — specific next step (free call, paid mini-product, course waitlist)\n\nPhase 4 — Opt-in funnel.\n- Landing page hook (one sentence — the promise) + 3 bullets + CTA\n- Confirmation page (sets expectation: deliver immediately + what's next)\n- Delivery email: subject, copy, the download link, a P.S. that previews tomorrow's email\n- 3-email nurture sequence: each addresses one objection between the lead and the paid offer\n\nPhase 5 — Output.\n- The PDF (delivered as .pdf to my workspace)\n- Landing page + confirmation page copy\n- 4-email sequence ready to paste into ConvertKit / beehiiv\n\nFeedback signal:\n- Opt-in conversion rate (target: >25% from cold traffic; >40% from warm)\n- Open / click rate on the nurture sequence\n- Lead-to-customer conversion at the end of the sequence\n\nQuality bar:\n- NEVER promise outcomes the PDF can't deliver — that bleeds into refund rate on the paid product\n- NEVER pad with filler — 10 useful pages beat 30 mediocre ones\n- Disclose anything material (affiliate links, sponsored content)\n- The PDF should be useful even if they never buy the paid offer" + }, + { + "id": "signal-backtest-loop", + "name": "Move a trading idea from hypothesis to paper", + "category": "Investing", + "tags": [ + "investing", + "loop" + ], + "emoji": "🎲", + "description": "Move a trading idea from hypothesis to paper. Get a defensible backtest, paper-trade plan, and scale-or-kill verdict.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "audit-context-building", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Translate idea to a testable signal", + "Backtest with realistic frictions", + "Defend against false-positives", + "Run paper-trade window", + "Decide: scale, iterate, or kill" + ], + "prompt": "Take this trading idea from hypothesis to a defensible paper-trade decision. Be brutally honest — most ideas should die at backtest.\n\nInputs:\n- The idea in plain English: [paste — what signal, what asset class, what's the edge thesis]\n- Asset universe: [e.g. S&P 500 stocks / liquid futures / top 50 crypto by mcap]\n- Data source: [polygon / yfinance / Tiingo / Alpaca / etc.]\n- Backtest period: [e.g. 2018-01-01 to 2025-12-31]\n- Initial capital + per-trade size: [paste]\n- Frictions to assume: [commission / spread / slippage / borrow cost for shorts]\n- Risk limits: [max drawdown / max single-position size / sector caps]\n\nPhase 1 — Translate to a testable signal.\n- Define the signal mathematically (don't accept fuzziness)\n- Define entry rule and exit rule\n- Define universe filter (liquidity, market cap, sector exclusions)\n- Define position-sizing (equal-weight / vol-targeted / Kelly fraction)\n- Show me the rules before running the backtest. Wait for confirmation.\n\nPhase 2 — Backtest with realistic frictions.\n- Walk-forward, no look-ahead\n- Include: commission, spread, slippage, borrow cost for shorts, dividend handling\n- Compute: total return, CAGR, Sharpe, Sortino, max drawdown, max DD duration, win rate, profit factor, turnover, average holding period\n- Per-year breakdown\n- Stress windows: 2018 Q4, 2020 March, 2022, any custom\n\nPhase 3 — Defend against false-positives.\n- Out-of-sample: hold out the last 20% of the period and test only there\n- Walk-forward optimization: if you tuned any parameter, show sensitivity\n- Look-ahead audit: prove every input was available at decision time historically\n- Survivorship bias: point-in-time universe membership vs current\n- Multiple-comparison check: how many variants did you try? Adjust for it.\n\nPhase 4 — Paper-trade plan.\nIf backtest survives Phase 3:\n- Paper-trade for a defined window (3 months minimum, or 30 trades, whichever is later)\n- Track real prices, real slippage estimates, real fills\n- Predefine kill conditions early (drawdown > X%, signal coverage < Y trades)\n\nPhase 5 — Verdict.\nAfter paper, compare to backtest:\n- Did Sharpe survive? (fell more than 30% = real warning)\n- Did slippage assumptions hold?\n- Did the signal fire as often as expected?\n- Verdict: scale to live small / continue paper / kill\n\nOutput:\n- Backtest report as `signal--backtest.pdf` with charts and per-year table\n- Signal-rules file (`signal-.md`) with exact entry/exit/sizing logic\n- Paper-trade tracking sheet\n- Verdict in 3 sentences with the supporting metric\n\nFeedback signal:\n- Per signal: backtest Sharpe vs paper Sharpe gap — calibrates your backtest-to-live model\n- Patterns in killed signals — bake into future Phase 1 filters\n\nQuality bar:\n- This is research, NOT financial advice\n- If backtest looks too good (Sharpe >2.0 on equities), assume broken and audit harder\n- NEVER look at the test set during parameter tuning\n- Position sizing must be reproducible and bounded — no \"use your judgment\" rules\n- If realistic frictions kill the edge, kill the idea — do not weaken the frictions" + }, + { + "id": "earnings-call-scanner", + "name": "Scan today's earnings calls for trade signals", + "category": "Investing", + "tags": [ + "investing", + "research" + ], + "emoji": "🔔", + "description": "Scan today's earnings calls for trade-relevant signals. Get summaries, KPI deltas, tone shifts, and ranked alpha.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull transcripts + 10-Qs + analyst notes", + "Extract KPI deltas + tone shifts per ticker", + "Rank for trade relevance + confidence", + "Output a daily memo + watchlist", + "Track hit rate over quarters" + ], + "prompt": "Scan today's earnings calls and surface trade-relevant signals.\n\nInputs:\n- Watchlist of tickers reporting in the window: [paste]\n- Window: [today's after-market / tomorrow pre-market / this week]\n- Time horizon for trade decisions: [intra-day / swing / quarter]\n- Data sources I want you to pull from: [official transcripts + 10-Q + analyst notes]\n- Style: [pure-numbers / numbers+narrative / contrarian-spotter]\n\nPhase 1 — Per ticker, pull and read.\n- The earnings transcript (official, not summarized)\n- The 10-Q if filed\n- Top 3 analyst notes if available\n- The chart and after-hours move\n\nPhase 2 — Extract per ticker.\n- Headline (revenue + EPS + guidance vs consensus, 1 line)\n- KPI deltas (each major metric vs prior quarter, vs guidance, vs year-ago)\n- Segment performance: which segments outperformed / underperformed\n- Tone shifts in management commentary (caution increased? confidence about a specific market?)\n- Top 3 analyst Q&A exchanges that mattered (right question + management's answer)\n- Anything inconsistent (numbers say A, narrative says B) — often the alpha\n- After-hours price action interpretation\n\nPhase 3 — Rank for trade relevance.\n- Strong reaction warranted (positive or negative) vs market reaction priced it in vs market got it wrong\n- Confidence score per call (high/med/low based on signal clarity)\n- A \"pay attention\" list for the next earnings cycle (companies whose tone shifted enough to matter)\n\nPhase 4 — Output.\n- Daily summary memo (1 page per ticker, 1 sentence verdict per call)\n- A trade-watchlist with: ticker, signal, suggested direction, confidence, suggested time horizon, exit plan\n- A \"questions I couldn't answer\" section flagging what to check before acting\n\nFeedback signal (next earnings cycle):\n- Did your top-confidence calls play out? Track hit rate over 4 quarters\n- Which sectors did your model do best on? — focus there\n- Tone-shift signals: how often did they predict the next quarter's print?\n\nQuality bar:\n- This is analysis, NOT financial advice. Frame as such.\n- NEVER invent guidance, revenue, or quote. If you can't find it, say so.\n- Cite transcript timestamps for every quoted line\n- If the transcript isn't available yet, mark the ticker \"waiting\" — don't summarize from press releases alone\n- No \"to the moon\" framing — neutral analysis only" + }, + { + "id": "real-estate-deal-analyzer", + "name": "Analyze a real estate deal under buy / flip / Airbnb", + "category": "Investing", + "tags": [ + "investing", + "real-estate" + ], + "emoji": "🏘️", + "description": "Analyze a real estate deal end-to-end. Get cap rate, cash-on-cash, 5-yr ROI under buy-hold / flip / Airbnb scenarios.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull listing data + comps", + "Run buy-hold, flip, and Airbnb scenarios", + "Grade the deal A-F per scenario", + "Output a deal memo + negotiation script", + "Calibrate comp sources over time" + ], + "prompt": "Analyze a real estate deal from a Zillow / Redfin / MLS URL.\n\nInputs:\n- Listing URL: [paste]\n- My capital available: [paste]\n- Financing: [cash / conventional 25% down / DSCR / hard money]\n- Investment thesis: [buy-and-hold / fix-and-flip / Airbnb / wholesale]\n- My target metrics: [min cap rate, min cash-on-cash, max payback]\n- Local context: [rent comps source, ARV comps source, Airbnb data source]\n\nPhase 1 — Pull the listing data + comps.\n- Property: address, beds/baths, sqft, lot, year built, condition\n- Asking price + days on market\n- Rent comps (within 1 mile, similar bed/bath/sqft): 5 examples with rent\n- ARV comps (sold in last 6 months, similar shape): 5 examples\n- Airbnb comp data if relevant (occupancy, ADR for the area)\n\nPhase 2 — Run each scenario.\n\nBuy-and-hold:\n- Purchase price + closing + immediate repairs\n- Monthly: rent - (mortgage + tax + insurance + property mgmt + vacancy reserve + maintenance reserve + capex reserve)\n- Annual: NOI, cap rate, cash-on-cash, debt-coverage ratio\n- 5-year: appreciation (regional rate), principal paydown, total ROI\n\nFix-and-flip:\n- ARV - (purchase + rehab + holding costs + closing in + closing out + agent fees)\n- Holding time + risk\n- Net profit + ROI\n\nAirbnb:\n- Furnishing cost\n- Realistic occupancy + ADR (don't take AirDNA at face value — discount 15-20%)\n- Net revenue after platform fees + cleaning + utilities + linens + management\n- Compare to long-term rent — is the Airbnb premium worth the operating headache?\n\nPhase 3 — Grade the deal A-F per scenario.\n- A: hits all target metrics with margin\n- B: hits most, with some risk\n- C: borderline — needs price negotiation\n- D / F: pass\n\nPhase 4 — Output.\n- 1-page deal memo PDF\n- 3 scenarios with side-by-side metrics\n- A negotiation script: opening offer + walk-away price + the 2 things to push back on (inspection items, closing date)\n- A \"questions to ask the listing agent\" list\n\nFeedback signal:\n- Track which graded deals you bid on, won, and how they performed at 12 months\n- Calibrate your comp sources — were rent / ARV estimates accurate?\n- Which scenario assumptions were most often wrong (occupancy is usually the optimistic one)\n\nQuality bar:\n- NEVER use AirDNA / Zillow Zestimate without sanity-checking against 3+ comps\n- NEVER skip the maintenance / capex / vacancy reserves to make the math work\n- Cite every comp by address + sale date / rent + observed date\n- If the deal is a clear pass, say so in one paragraph — don't waste a memo" + }, + { + "id": "freelance-proposal-generator", + "name": "Generate a tailored freelance proposal", + "category": "Career", + "tags": [ + "career", + "side-hustle" + ], + "emoji": "💼", + "description": "Tailor a freelance proposal per job posting. Get a hook, scope, pricing tiers, and a follow-up plan.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Read the brief + decide bid/skip", + "Tailor the hook", + "Spec scope + tiered pricing", + "Reduce buyer risk with guarantees", + "Output proposal + follow-up plan" + ], + "prompt": "Generate a tailored freelance proposal for a job posting.\n\nInputs:\n- Job posting URL or pasted text: [paste]\n- My portfolio links: [paste]\n- My pricing model + minimum rate: [paste]\n- Relevant past projects (with outcome metrics): [paste]\n- Tone: [confident-expert / curious-collaborator / cost-conscious-pragmatist]\n- Platform: [Upwork / Contra / direct outreach / Fiverr Pro]\n\nPhase 1 — Read the brief.\n- What's the actual outcome they want (often hidden under the technical ask)?\n- Their constraints (timeline, budget hints, team size)\n- Red flags (vague scope, scope creep signals, low-ball budget, asking for free samples)\n- Green flags (specific outcome, clear deadline, willingness to discuss)\n\nDecide: bid or skip. Tell me why.\n\nPhase 2 — Tailor the hook.\n- Open with the specific outcome from the brief — NOT \"I'm Sarah, a freelance designer\"\n- Show you read the brief by referencing one specific detail\n- Stack 1-2 directly relevant past projects with outcome metrics (\"shipped X for Y client in Z weeks; revenue went up 18%\")\n\nPhase 3 — Scope and pricing.\n- Restate the scope as you understand it (catches misalignment early)\n- Propose 1-3 packages (basic / recommended / premium) — anchors against undercutting\n- Each package: deliverables, timeline, what's NOT included, price\n- Payment terms: 50% upfront standard, milestone for larger projects\n\nPhase 4 — Reduce the buyer's risk.\n- Specific guarantee (revisions limit, refund policy, money-back if you miss the deadline)\n- A \"what could go wrong\" section that names the risks + how you mitigate\n- A short kickoff call invite (15 min) — the cheap conversion path\n\nPhase 5 — Output.\n- Proposal as a markdown block ready to paste\n- A short cover note (<=60 words) for platforms that need it\n- A 2-step follow-up plan (+3 days, +7 days)\n- A red-flag list to share with me before I hit Send\n\nFeedback signal:\n- Win rate by platform + job type — focus your time\n- Win rate by package selection (basic / recommended / premium) — calibrate pricing tiers\n- Patterns in losses — was it pricing, fit, slow response, or no portfolio match?\n\nQuality bar:\n- NEVER inflate experience or claim work you didn't do\n- NEVER use the same boilerplate across postings — each proposal is 1:1\n- Respect platform ToS (no off-platform contact ask before win on platforms that forbid it)\n- If the budget is clearly too low for quality work, say so — propose a smaller scope at your rate" + }, + { + "id": "childrens-picture-book", + "name": "Produce a children's picture book end-to-end", + "category": "Creative", + "tags": [ + "creative", + "side-hustle" + ], + "emoji": "🧸", + "description": "Produce a children's picture book end-to-end. Get a story, page-by-page art briefs, and storefront copy.", + "works_best_with": { + "agent_profile": "content-creator", + "skills": [ + "brainstorming", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Lock the story arc", + "Write the read-aloud text", + "Brief art page by page", + "Write cover + storefront copy", + "Plan a launch promotion" + ], + "prompt": "Produce a children's picture book end-to-end.\n\nInputs:\n- Age range: [3-5 / 6-8]\n- Theme or moral: [e.g. sharing, resilience, bedtime, identity]\n- Tone: [calm-bedtime / silly-energetic / quietly-magical]\n- Length: [8 / 12 / 16 / 24 pages]\n- Visual style: [watercolor / flat-vector / paper-cut / pencil-sketch / 3D]\n- Storefront: [Amazon KDP / Etsy / 小红书 PDF / Gumroad / Shopify]\n- Language: [English / 中文 / bilingual]\n- Cultural specificity wanted: [paste]\n\nPhase 1 — Story arc.\n- Protagonist (name, age, defining trait — must be relatable to the age range)\n- Setting (concrete, sensory)\n- Inciting moment (small but real to a child)\n- 3-act structure: setup → challenge → resolution\n- Page-by-page beat list (text per page + emotional arc)\n- A repeated phrase / rhythm a child can predict (huge for re-readability)\n\nShow me the arc. Wait for me to approve before writing prose.\n\nPhase 2 — Write the text.\n- Age-appropriate vocabulary (no condescending baby talk; age 6-8 can handle real words)\n- Read-aloud rhythm — every page should pass the \"say it out loud\" test\n- Max word count per page (younger ages: 30-50 words; older: 60-100)\n- Show emotion through action, not labels (\"Maya stomped\" not \"Maya was angry\")\n\nPhase 3 — Page-by-page art briefs.\nFor each page:\n- Scene description (composition, characters' poses, expressions)\n- Color palette (specific to the page's mood)\n- Camera distance (wide / mid / close-up — vary across pages)\n- Recurring visual element (a pet, a comfort object, a background gag — kids love spotting these)\n- Reference style (artists / books / films the artist would recognize)\n\nPhase 4 — Cover + storefront.\n- Cover art brief (the hook image)\n- Title pattern (3-7 words, alliterative or rhyming if possible)\n- Back-cover blurb (50-80 words — to parents, mentioning the gift / moral / age)\n- Storefront listing: title, tags, description (parents read these, not kids)\n\nPhase 5 — Output.\n- Story manuscript (markdown)\n- Art-direction PDF (page-by-page briefs)\n- Cover brief + back-cover blurb\n- Storefront listing ready to paste\n- A 30-day promotion plan (3 social hooks for launch)\n\nFeedback signal (after launch):\n- Reviews mentioning re-readability — that means the rhythm worked\n- Comments from parents on the moral landing — bias next book toward the same effect\n- Sales by storefront — focus next launch's effort there\n\nQuality bar:\n- NEVER include scary content beyond the age range's tolerance\n- NEVER moralize at the reader — show the moral through the story\n- Verify cultural references (food, names, customs) with someone from that culture if it's not yours\n- Respect children's actual cognitive level — they're smarter than condescending books assume" + }, + { + "id": "seed-series-a-pitch-deck", + "name": "Build a seed / Series A pitch deck", + "category": "Sales", + "tags": [ + "founder", + "report", + "sales" + ], + "emoji": "🚀", + "description": "Build a fundable pitch deck. Get a Sequoia-style structure, a sharp 'why now', and a slide-by-slide pressure test.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "pptx", + "pdf", + "vale-brand-voice", + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Lock the narrative + why-now", + "Draft slides in Sequoia structure", + "Pressure-test slide by slide", + "Output pdf + pptx + 1-page memo" + ], + "prompt": "Build a fundable seed / Series A pitch deck.\n\nInputs:\n- Stage: [seed / Series A / Series B]\n- Company one-liner: [paste]\n- Traction snapshot (revenue, growth rate, key metric): [paste]\n- Target VC list (5-10 funds): [paste]\n- Existing deck or memo (if any): [paste]\n- \"Why now\" answer: [a SPECIFIC 2024-26 technology or market enabler, NOT a macro trend]\n\nPhase 1 — Lock the narrative. Wait for my approval before slides.\n- One-sentence \"what we do\" (passes the \"explain to your mom\" test)\n- One-sentence \"why now\" tied to a specific enabler\n- The single most defensible traction claim (number + delta + duration)\n- The 3-bullet ask (round size, use of funds, milestone you'll hit)\n\nPhase 2 — Draft slides (Sequoia structure adapted to my stage).\n1. Title (company + one-liner + your name)\n2. Problem (one image, one number)\n3. Solution (one screenshot + the angle that makes it inevitable)\n4. Why now (specific enabler from Phase 1)\n5. Market (TAM/SAM/SOM with sourced numbers — not \"$1T market\")\n6. Competition (positioning grid with axes that segment the market)\n7. Product (3 screenshots: onboarding, magic moment, retention)\n8. Traction (ARR chart, cohort if compelling)\n9. Business model (price × volume math at scale)\n10. Team (LinkedIn + relevant \"why us\" credential per founder)\n11. Financials (Series A+: revenue + burn + runway + plan)\n12. The ask (round size + lead/follow + use of funds + 18-month plan)\n\nPhase 3 — Pressure-test.\nFor each slide, answer in one line: what question does this slide raise? What's the counter on the next slide? Fix any slide that raises an unanswered question.\n\nPhase 4 — Output.\n- .pdf for sending\n- .pptx / .key editable\n- Shareable Notion / Google Drive link\n- A 1-page memo version for first-touch outreach\n\nFeedback signal:\n- After each meeting: which slide did they linger on? Which raised an unanswered question?\n- Q&A volume per slide — surface the slides that consistently raise the same question\n- Which slides got cut by the partner you trusted most — that's the truth\n\nQuality bar:\n- NEVER round up TAM by an order of magnitude — sourceable or off the slide\n- NEVER include a logo wall unless logos are paying customers\n- Team slide is not a resume — it's \"why YOU are the team that wins\"\n- One idea per slide; if you need 2 bullets to explain, the slide is wrong" + }, + { + "id": "investor-outreach-process", + "name": "Run the investor outreach process", + "category": "Sales", + "tags": [ + "founder", + "pipeline", + "sales" + ], + "emoji": "🤲", + "description": "Run a tranched VC outreach process. Get a 50-fund target list, warm-intro mapping, and templated outreach + tracker.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Build a 50-60 fund target list", + "Map warm-intro paths", + "Tranche the outreach in 3 waves", + "Write templated outreach", + "Track in a CRM-style sheet" + ], + "prompt": "Run a tranched investor outreach process for my round.\n\nInputs:\n- Stage of round: [seed / Series A]\n- Round size + expected check size per investor: [paste]\n- Existing investor list (if any): [paste or CRM link]\n- Industry / thesis fit (for filtering): [paste]\n- Timeline (when do I want to close?): [paste]\n- Existing intros I have: [paste]\n\nPhase 1 — Build the 50-60 fund target list.\n- Filter by stage they lead, sector thesis, check size, recent investment activity (last 90 days)\n- For each fund: lead partner name, sector focus, most relevant 3 portfolio companies, last public talk / blog / podcast\n- Mark cold vs warm (warm = mutual connection, common angel, public engagement)\n- Drop funds whose thesis clearly excludes you\n\nPhase 2 — Build the warm-intro map.\n- For each warm fund: 2-3 intro paths, scored \"would they vouch with conviction?\" (1-3)\n- For cold funds I really want: identify a \"wedge\" — a partner whose latest investment is most similar\n- Output: CSV ranked by P(meeting) × fit\n\nPhase 3 — Tranche the outreach.\n- Tranche 1 (5-10 funds): friendliest warm intros — they meet first, give feedback, sharpen the pitch\n- Tranche 2 (20-25 funds): main push — fire 7-10 days after Tranche 1 feedback\n- Tranche 3 (rest): cold + lower-priority — fire only if Tranches 1-2 haven't closed\nNEVER blast all 50 at once. The market talks. Sharpen between tranches.\n\nPhase 4 — Templates.\n- Warm-intro request to the connector (60 words, makes their forward easy)\n- Cold outreach (80 words, references a specific portfolio investment + your \"why now\")\n- Forward-ready deck link + memo\n- The \"no thanks\" reply (gracious, leaves the door open)\n\nPhase 5 — Tracking.\n- CSV: fund | partner | tranche | intro path | last touch | response | next step | meeting date | outcome\n- Updated daily during a live round\n\nFeedback signal:\n- Conversion rate per tranche — Tranche 1 conversion calibrates Tranche 2 narrative\n- Drop-off reasons (\"too early\", \"no thesis fit\", \"come back at $X ARR\") — refine the list\n- Time-to-meeting after intro — slow paths indicate weak relationship\n\nQuality bar:\n- NEVER outreach a fund whose thesis you can't articulate in one sentence\n- NEVER skip the \"thank you for the intro\" reply to the connector\n- Personalize Tranches 1 + 2; templatize only Tranche 3\n- If you're getting \"too early\" 3+ times in a row, stop — the round may not be ready" + }, + { + "id": "cap-table-safe-model", + "name": "Model SAFE vs priced round dilution", + "category": "Finance", + "tags": [ + "finance", + "founder", + "report" + ], + "emoji": "🧾", + "description": "Model SAFE conversion + priced round dilution. Get a cap table, scenarios, and a minimum-acceptable-terms sheet.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Model the current cap stack", + "Convert SAFEs at the next round", + "Apply the new round + ESOP top-up", + "Run base / bigger / smaller / down-round scenarios", + "Output editable .xlsx + minimum-terms sheet" + ], + "prompt": "Model SAFE vs priced round dilution. Get a cap table I can change inputs in.\n\nInputs:\n- Current cap table (post-money simple — founders + ESOP + prior investors): [paste]\n- Stack of existing SAFEs (cap, discount, MFN clauses): [list each one separately]\n- Proposed next round size + valuation: [paste]\n- Target ESOP top-up at the round: [paste %]\n- Investors leading vs following + check sizes: [paste]\n\nPhase 1 — Model the current stack.\n- Compute current ownership for: founders, ESOP available, employees holding, each angel / SAFE holder\n- Surface the most-dilutive SAFEs (lowest cap, biggest check)\n- Flag any unusual provisions (full ratchet, MFN, side letter)\n\nPhase 2 — Convert SAFEs at next round.\nFor each SAFE:\n- Applied valuation (cap vs discount vs price, whichever is lowest for the SAFE holder)\n- Shares issued\n- Net ownership after conversion\n\nPhase 3 — Apply the new round.\n- Pre-money calculation INCLUDING converted SAFEs\n- Top up ESOP per target — MODEL BOTH pre-money and post-money ESOP top-ups (the difference is a real negotiation lever)\n- New share issuance for new investors\n- Final post-money ownership table\n\nPhase 4 — Scenarios (side-by-side columns).\n- Base case\n- 25% bigger round\n- 25% smaller round\n- Down round (10% lower than the last cap)\n- Bridge SAFE before round (extra $1M)\nFor each: founder ownership after, ESOP available, dilution per founder\n\nPhase 5 — Output.\n- Cap table .xlsx WITH FORMULAS (so I can change inputs)\n- 1-page scenario comparison PDF\n- A \"minimum acceptable terms\" sheet I can take into term sheet negotiation\n- A list of red flags in the stack (full ratchets, MFN clauses, pro-rata stacking)\n\nFeedback signal:\n- After the round closes: which assumption was wrong? (commonly: ESOP top-up timing)\n- Track post-round dilution against the model — surface drift for the next round\n- If certain SAFEs surprised you on conversion, document for future SAFEs\n\nQuality bar:\n- NEVER skip MFN / ratchet provisions when modeling — they silently change the math\n- NEVER assume \"standard\" SAFE terms without reading each one\n- This is modeling, NOT legal advice — your lawyer signs off on actual terms\n- Pre-money vs post-money ESOP top-up is a real negotiation lever — show both" + }, + { + "id": "fundraise-data-room", + "name": "Set up a fundraise data room", + "category": "Sales", + "tags": [ + "audit", + "founder", + "sales" + ], + "emoji": "🗂️", + "description": "Set up a fundraise data room with the right gating. Get a folder structure, missing-artifact list, and a diligence Q&A pre-answered.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "audit-context-building" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Build the folder structure", + "Generate missing artifacts per folder", + "Gate by investor tier", + "QA pass for deck-vs-data consistency", + "Output index + diligence Q&A" + ], + "prompt": "Set up a fundraise data room for a live round.\n\nInputs:\n- Stage of round: [seed / Series A / Series B]\n- Existing data room (if any): [link]\n- Sensitive items I want gated: [list]\n- Investors who'll get access + tier (lead vs follow): [paste]\n\nPhase 1 — Build the structure (standard 8 folders).\n1. Corporate (incorporation, cap table, board minutes, prior SAFEs / notes)\n2. Financial (P&L, balance sheet, cash flow, MRR/ARR walk, customer concentration)\n3. Product (product spec, roadmap, screenshots, security architecture)\n4. Customer (customer list, NRR/GRR, contract values, top-10 logos)\n5. Team (org chart, key hires, founder bios, equity grants)\n6. Legal (MSA template, DPA template, redlined customer contracts, IP assignment)\n7. Pipeline (sales pipeline, marketing funnel, growth experiments)\n8. Strategic (positioning, competitive analysis, roadmap, \"why now\")\n\nPhase 2 — Generate the missing artifacts per folder.\n- Cap table: clean version (no informal notes)\n- Customer list: logos + start dates (anonymize the smallest if needed)\n- Pipeline: 90-day forward snapshot\n- Key hires planned: role + comp + timeline\n\nPhase 3 — Gate appropriately.\n- Lead tier: full access (watermarked + NDA)\n- Follow tier: numbers + summary, not the raw customer list\n- Pre-NDA: just the public stuff (deck + one-line metrics)\n\nPhase 4 — QA pass.\n- Find every assertion in the pitch deck. Is it sourced in the data room?\n- Find every number in the deck. Is the supporting query / file in the data room?\n- Any inconsistency between deck and data room → fix immediately\n\nPhase 5 — Output.\n- Folder structure deployed (Notion / Google Drive / Docsend with watermarking)\n- A \"what's where\" index PDF investors get at intro\n- An audit log of who accessed what (for follow-up calibration)\n- A diligence Q&A doc — the 30 questions investors always ask, pre-answered\n\nFeedback signal:\n- Which questions investors ask repeatedly that aren't in the diligence Q&A — add them\n- Which docs investors actually open (Docsend tells you) — promote those\n- Which gaps stalled diligence — backfill before the next round\n\nQuality bar:\n- NEVER include customer contracts with active redlines\n- NEVER share unredacted customer info with follow-only investors\n- Watermark every PDF with the recipient's email — leaks happen\n- Keep a SINGLE source of truth; never have two versions of the cap table" + }, + { + "id": "series-a-board-deck", + "name": "Build the quarterly board deck", + "category": "Sales", + "tags": [ + "founder", + "report", + "sales" + ], + "emoji": "🪧", + "description": "Build a quarterly board deck with KPIs + benchmarks + asks. Get numbers + narrative + pre-board 1:1 prep.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf", + "pptx" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull KPIs vs plan + last Q + benchmark", + "Draft the numbers section", + "Draft the narrative section + asks", + "Prep pre-board 1:1s", + "Output deck + pre-read + recap template" + ], + "prompt": "Build this quarter's board deck.\n\nInputs:\n- Board members + their information preferences: [paste]\n- Last quarter's deck (so we can diff): [link]\n- This quarter's KPIs (ARR / NRR / burn / runway / pipeline / hiring): [paste]\n- Bessemer / OpenView benchmark quartile I'm tracking against: [paste]\n- Strategic asks for this meeting: [paste]\n- Time slot: [60 / 90 / 120 min]\n\nPhase 1 — Numbers section (7-10 slides).\n- Headline KPIs vs plan + last quarter (traffic-light colors sparingly)\n- ARR growth + monthly walk\n- NRR + GRR with cohort detail\n- Burn multiple (net new ARR / cash burned) — flag if >1.5x\n- CAC payback period\n- Cash position + runway at current burn vs target burn\n- Pipeline by stage with conversion rates\n- Headcount + planned hires\n\nPer KPI: this Q vs last Q vs plan, plus a benchmark line against Bessemer / OpenView quartile.\n\nPhase 2 — Narrative section (3-5 slides).\n- What's working (one win with a defensible number)\n- What's not working (be specific — and what you're doing about it)\n- The one strategic question for the board (NOT \"any feedback?\")\n- Pre-decided proposals for board approval (option pool top-up, exec hire, large customer concession)\n\nPhase 3 — Appendix.\n- Detailed financials for deep-divers\n- Customer logos + biggest deals shipped this Q\n- Product roadmap detail\n- Any specific board member's pet topic\n\nPhase 4 — Pre-meeting prep.\n- Send the deck 48h before\n- 1:1 calls with each board member 24-48h ahead to surface friction\n- Adjust any slide likely to draw a board-member grandstand\n\nPhase 5 — Output.\n- Deck (.pdf + editable)\n- Pre-read summary (1 page — what we'll cover, what we need from you)\n- Action-item template for the meeting\n- Post-meeting recap template (action items go out <=24h)\n\nFeedback signal:\n- Which slides drove the most board discussion — promote those\n- Action items completed by next board meeting\n- Board member 1:1 feedback vs surprises in the room — minimize the gap\n\nQuality bar:\n- NEVER bury bad news in the appendix — surface it on the headline slide\n- NEVER ask \"any questions?\" without specific questions ready\n- A 90-min board meeting is 30 min content + 60 min discussion — don't fill all 90 with slides\n- Investors hate surprises — surface drift WEEKS before the meeting, not in the deck" + }, + { + "id": "quarterly-operating-cadence", + "name": "Run the quarterly operating cadence", + "category": "Productivity", + "tags": [ + "founder", + "loop", + "productivity" + ], + "emoji": "🌗", + "description": "Stand up a quarterly operating cadence (David Sacks-style). Get a calendar, ritual templates, and an end-of-quarter review.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Lay out the quarter's spine", + "Schedule the core rituals", + "Define artifacts per ritual", + "Set up tooling + calendar", + "Review at quarter end" + ], + "prompt": "Stand up the quarterly operating cadence for the company.\n\nInputs:\n- Company size + functional teams: [paste]\n- Current rituals (if any): [paste]\n- Fiscal quarter dates: [paste]\n- Last quarter's plan + actuals: [paste or link]\n\nPhase 1 — Lay out the quarter's spine.\n- Month 1: Plan finalization + kickoff\n- Month 2: Mid-quarter check + course correction\n- Month 3: Wrap + next quarter prep + board meeting\n\nPhase 2 — Schedule the core rituals.\n- Monday: exec team weekly + functional standups\n- Bi-weekly: 1:1s between exec team\n- Monthly: investor update (last business day)\n- Monthly: all-hands\n- Quarterly: board meeting (week 11)\n- Quarterly: QBR with top customers (week 12)\n- Quarterly: roadmap review (week 10 — gates next quarter's plan)\n- Quarterly: hiring review (week 11)\n\nPhase 3 — Define artifacts per ritual.\n- Weekly exec: 1-page status dashboard\n- Investor update: 5-section template (headline / KPIs / wins / misses / asks)\n- All-hands: 30-min deck (CEO update + a guest team's deep dive)\n- Board meeting: see board-deck playbook\n- QBR: customer-facing 1-pager (usage + outcomes + asks)\n- Roadmap review: trade-off matrix (ship / won't / defer)\n- Hiring review: open reqs / candidates / decisions needed\n\nPhase 4 — Tooling.\n- Calendar invites for the full quarter (do it once, not weekly)\n- Document templates linked in the calendar invite\n- A status dashboard that auto-pulls from CRM / financial system / GitHub if possible\n\nPhase 5 — Output.\n- Quarterly cadence calendar (PDF for the team)\n- A template library (8 templates) in one Notion folder\n- A \"Cadence v1\" doc the whole team reads at the start of the quarter\n- An end-of-quarter 3-question review: what worked, what didn't, what changes\n\nFeedback signal (closes loop quarter over quarter):\n- Rituals you skipped — those were either wrong or wrong frequency\n- Attendance + participation patterns — engagement signals fit\n- Decisions made in rituals vs side conversations — too many side conversations means rituals aren't load-bearing\n\nQuality bar:\n- NEVER schedule a recurring meeting without a written agenda template\n- NEVER let a ritual run past its allotted time — that's a structure failure\n- Kill any ritual that runs 3 quarters without producing a decision\n- One person owns each ritual — they don't run it, but they're accountable for it happening" + }, + { + "id": "okrs-v2mom-plan", + "name": "Set company OKRs + V2MOM", + "category": "Productivity", + "tags": [ + "founder", + "productivity", + "report" + ], + "emoji": "🧭", + "description": "Set company OKRs + V2MOM. Get a 1-page V2MOM, cascading OKRs, and a confidence + dependency map.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Draft the V2MOM", + "Draft 3-5 company OKRs", + "Cascade to teams", + "Map confidence + dependencies", + "Output planning doc + tracking dashboard" + ], + "prompt": "Set the company OKRs + V2MOM for the cycle.\n\nInputs:\n- Scope (quarter or year): [paste]\n- Company vision (1 sentence): [paste]\n- Last cycle's OKRs + outcomes: [paste]\n- Functional team count + leads: [paste]\n- The single biggest strategic bet for this cycle: [paste]\n\nPhase 1 — Draft the V2MOM (Benioff style).\n- Vision: where we're going (1 sentence)\n- Values: 3-5 we'll trade off for\n- Methods: 3-5 ways we'll get there\n- Obstacles: what could prevent it\n- Measurements: how we'll know we got there\n\nShow me the V2MOM. Wait for confirmation before drafting OKRs.\n\nPhase 2 — Draft 3-5 company OKRs.\nEach:\n- Objective (qualitative, ambitious, 1 sentence, no metric)\n- 3-5 Key Results (quantitative, time-bound, measurable, ambitious — \"50%\" not \"increase\")\n- Owner (single person on the exec team)\n- The single experiment / project that drives each KR\n\nConstraints:\n- NEVER more than 5 company OKRs — that's how strategy dies\n- Every team's OKRs roll up to a company OKR\n- Sum of team OKRs across teams should NOT add to 100% — overlap means coordination\n\nPhase 3 — Cascade to teams.\n- Each team writes 2-3 OKRs rolling up to a company OKR\n- Sales / Marketing / Eng / Product / CS / Ops / People\n- Review the cascade as a group — kill anything that doesn't connect\n\nPhase 4 — Confidence + dependency map.\n- Each KR: confidence score (1-10) at start of cycle\n- Dependencies between teams' KRs — surface them on a map\n- The 3 KRs the company NEEDS to hit vs the 3 nice-to-have stretch\n\nPhase 5 — Output.\n- V2MOM as a 1-page doc (company-wide)\n- OKR doc (Notion / sheet) with all teams rolling up\n- A dashboard query / pull for tracking each KR\n- A weekly OKR check (15 min in the exec meeting) and a mid-cycle reset moment\n\nFeedback signal (closes loop cycle over cycle):\n- KRs hit vs missed — patterns in misses (over-planned? wrong owners? dependency stuck?)\n- KRs nobody looked at — those weren't load-bearing\n- Confidence score at start vs actual outcome — calibrates planning realism\n\nQuality bar:\n- KRs that aren't measurable aren't KRs — rewrite or cut\n- Don't pile KRs to fill the cycle — quality over quantity\n- One owner per KR — \"everyone\" = no one\n- Aspirational ≠ ambiguous — \"double revenue\" is clear; \"drive innovation\" is fluff" + }, + { + "id": "executive-role-scorecard", + "name": "Build an executive role scorecard with extreme referencing", + "category": "Career", + "tags": [ + "career", + "founder" + ], + "emoji": "🔎", + "description": "Hire an executive with rigor. Get a scorecard, structured interview loop, and a backchannel reference plan.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "audit-context-building" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Build the role scorecard", + "Source the longlist + score", + "Design the interview loop + working session", + "Run extreme referencing", + "Output offer + 30/60/90 link" + ], + "prompt": "Run a rigorous executive hire end-to-end.\n\nInputs:\n- Role I'm hiring (VP Sales / VP Engineering / Head of CS / etc.): [paste]\n- Stage: [pre-revenue / $1-5M ARR / $5-20M / $20M+]\n- Current team + culture notes: [paste]\n- Salary band + equity range I'm willing to pay: [paste]\n- Timeline to fill: [paste]\n\nPhase 1 — Build the role scorecard.\n- Mission (1 sentence): why this role exists this year\n- Outcomes (3-5, time-bound, measurable): what they'll achieve in 12 months\n- Competencies (5-8): what they need to do the job\n- Cultural fit dimensions (3-5): how they need to operate at our stage\n- Anti-patterns: what disqualifies (won't roll sleeves up, comes from too-big company, etc.)\n\nPhase 2 — Source the longlist.\n- Map the talent market: relevant talent communities + 5 closest comparable companies + 3 levels of network\n- For each prospect: last 3 roles, public artifacts (talks, posts), outcome at each stop\n- Score against scorecard — top 30-50 enter top of funnel\n\nPhase 3 — Interview design.\n- Loop: founder screen → working session → 4-person panel → ref calls → CEO close\n- Each interviewer owns 2 scorecard dimensions — never overlap\n- Working session: a real problem at the company, time-boxed, evaluated against scorecard\n\nPhase 4 — Extreme referencing.\n- 10-12 references per finalist, not just on their list\n- Backchannel through: prior reports (most signal), prior peers, prior managers\n- Question bank: \"What would make you not rehire them?\", \"When did they fail and what did they do?\", \"What would their team say if anonymous?\"\n- The true bar: would I bet $5M of company runway on this person?\n\nPhase 5 — Output.\n- Role scorecard (1-page Notion doc)\n- Longlist + score CSV\n- Interview kit (loop, scorecard mapping, working-session prompt)\n- Reference call doc per finalist\n- Offer + onboarding plan (link to 30/60/90 playbook)\n\nFeedback signal:\n- At 6 months: did the hire hit scorecard outcomes?\n- Patterns in misses (over-indexed on competency, under-indexed on culture, etc.)\n- Reference signals that predicted vs missed — calibrate the question bank\n\nQuality bar:\n- NEVER hire on resume alone — scorecard or no hire\n- NEVER skip backchannel references — they reveal what listed refs hide\n- \"Move fast\" doesn't mean skip diligence — exec mishires cost 4-12 months\n- A \"B+ that culture-fits\" beats an \"A that doesn't\" at startup stage" + }, + { + "id": "hiring-sequence-by-arr", + "name": "Plan the hiring sequence by ARR", + "category": "Career", + "tags": [ + "career", + "founder", + "report" + ], + "emoji": "👥", + "description": "Plan the exec + senior hiring sequence by ARR milestones. Get a hiring map tied to revenue plan with comp benchmarks.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Project ARR + revenue plan", + "Map exec roles to ARR triggers", + "Benchmark comp via Pave + Levels", + "Output a hiring plan tied to revenue", + "Define readiness signals per role" + ], + "prompt": "Plan the exec + senior hiring sequence tied to my ARR trajectory.\n\nInputs:\n- Current ARR + 12-month plan: [paste]\n- Current team (with titles + tenure): [paste]\n- Industry: [paste — comp benchmarks vary]\n- Cash position + runway: [paste]\n- Fundraising plan (timing + size): [paste]\n\nPhase 1 — ARR trigger map (Jason Lemkin defaults).\n- VP Marketing: ~$0.2M ARR\n- VP Sales: $1-1.5M ARR\n- VP Customer Success: $2M ARR\n- VP Product: $3-4M ARR\n- VP Engineering: $5-6M ARR\n- CFO: $10M ARR\n- COO: $20M ARR\n\nFor each, output: ARR trigger / role / when (month) / why now.\n\nPhase 2 — Calibrate to my stage.\n- For each role: is it under-hired vs over-hired given my growth rate?\n- For roles I should hire NEXT: scorecard reqs (link to executive-role-scorecard)\n- Roles I should DELAY: which of my current team can stretch?\n\nPhase 3 — Comp benchmarks.\nFor each near-term hire:\n- Salary band (Pave + Levels.fyi market data)\n- Equity grant (% of company by stage)\n- Acceleration clauses (single vs double trigger)\n- Performance review cadence + refresh grants\n\nPhase 4 — Cash + runway impact.\n- Burn-rate impact per hire (fully loaded)\n- Runway extension required to ship a hire\n- Fundraise dependencies (do we need to close round X before hiring role Y?)\n\nPhase 5 — Output.\n- Hiring plan PDF (1-page Gantt of who/when/why/cost)\n- Per-role scorecard stubs (link out to executive-role-scorecard for the deep dive)\n- A \"readiness checklist\" per role: signals that say \"now is the right time\" + signals that say \"wait\"\n- A comp benchmark sheet\n\nFeedback signal:\n- After each exec hire: did the ARR trigger justify the cost?\n- Roles where my team stretched successfully — promote that pattern\n- Hires that came too early — costly lesson, capture in the plan\n\nQuality bar:\n- NEVER hire an exec to \"build the function\" before you've done the function yourself\n- NEVER over-hire on title in exchange for raw output (\"VP\" titles inflate fast at startups)\n- This is planning, NOT a commitment — markets shift, plans shift\n- Bias toward stretch + builder hires over executive-from-big-co at <$10M ARR" + }, + { + "id": "exec-30-60-90-plan", + "name": "Write a 30/60/90 onboarding plan for an exec hire", + "category": "Career", + "tags": [ + "career", + "founder" + ], + "emoji": "🎒", + "description": "Write a 30/60/90 plan for a new exec. Get learn / contribute / lead phases with specific deliverables.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Set the mission + 12-month outcomes", + "Define 30/60/90 expectations", + "List meetings + reading + access", + "Set check-in cadence with CEO", + "Output the plan as a shared doc" + ], + "prompt": "Write a 30/60/90 onboarding plan for a new exec hire.\n\nInputs:\n- Role + hire's name: [paste]\n- Their first day + first major board / customer meeting: [paste]\n- 12-month outcomes from the scorecard: [paste]\n- Current team + cultural notes: [paste]\n- Stretch goals the hire said they want to drive: [paste]\n\nPhase 1 — Mission + outcomes (1-page header).\n- Mission: why this role exists (1 sentence)\n- Top 3 12-month outcomes the hire owns\n- Top 3 things the hire is NOT responsible for in year one (kill scope creep)\n- Boundaries / handoffs with peers\n\nPhase 2 — Days 0-30: LEARN.\n- People to 1:1 (named): direct reports + peers + key cross-functional + 5 customers + 2 board members\n- Reading: company history (founding story, strategic memos), roadmap, last 3 board decks, OKRs\n- Access (technical): tools, dashboards, repos, customer data\n- Tangible deliverable at day 30: a \"what I learned\" memo to the CEO + a \"what I'd change in 90 days\" note (the latter for context-setting, not committing)\n\nPhase 3 — Days 31-60: CONTRIBUTE.\n- One small, scoped project that delivers value in their function (not a strategic bet)\n- First public artifact (board update, all-hands talk, customer call, hire decision)\n- Cross-functional working relationships established (named: who do they have monthly 1:1s with?)\n- Tangible deliverable at day 60: a written plan for days 61-180 (their plan, not yours)\n\nPhase 4 — Days 61-90: LEAD.\n- One real strategic decision they own (with CEO as escalation, not co-owner)\n- Hiring or restructure proposals if needed\n- Their function's input into the next OKR cycle\n- Tangible deliverable at day 90: a self-assessment + a CEO assessment, side by side\n\nPhase 5 — CEO check-in cadence.\n- Weekly 1:1 for first 90 days\n- Bi-weekly after\n- Quarterly: explicit \"is this working?\" conversation with named criteria\n\nPhase 6 — Output.\n- The 30/60/90 plan as a 2-page Notion doc, shared with the hire + their manager\n- A calendar template auto-populating the check-ins\n- A \"success metrics by day 90\" checklist for the post-90 review\n\nFeedback signal:\n- Patterns in what gets done by day 30 vs day 60 vs day 90 — calibrates pace\n- Which onboarding meetings produced signal vs which were performative\n- Where the plan was too rigid / too vague — feeds the next plan\n\nQuality bar:\n- NEVER expect strategic bets in day 0-30 — that's setup for failure\n- NEVER skip the bi-directional CEO assessment at day 90\n- Be specific about boundaries — vague mission = scope creep\n- If the hire is failing the plan, raise it at week 6, not week 12" + }, + { + "id": "value-metric-pricing-redesign", + "name": "Redesign pricing around a value metric", + "category": "Sales", + "tags": [ + "founder", + "sales" + ], + "emoji": "🏗️", + "description": "Redesign pricing around a value metric. Get tiers, packaging, a pricing page, and a price-test plan.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pick the right value metric", + "Design good/better/best tiers", + "Build the pricing page", + "Plan the price test", + "Communicate to existing customers" + ], + "prompt": "Redesign pricing around a value metric (Patrick Campbell / ProfitWell style).\n\nInputs:\n- Product + current pricing model: [paste]\n- Top 3 customer use cases / personas: [paste]\n- Current ACV distribution + churn by tier: [paste]\n- Closest 3 competitors' pricing: [paste]\n- Constraints (existing contract terms, grandfathering policy): [paste]\n\nPhase 1 — Pick the value metric.\n- Map options: seats, API calls, GMV, projects, records, msgs, MAUs, storage\n- Score each: does it scale WITH customer value? Is it predictable? Is it gameable?\n- Recommend ONE primary value metric. Explain the trade-offs of the runners-up.\n\nShow me the metric + reasoning. Wait for me to approve.\n\nPhase 2 — Tier design (good / better / best).\n- 3 tiers (not 5+ — choice paralysis)\n- Anchor: top tier 3-4x the middle (anchors against \"I'll never need that\")\n- Feature gating: middle tier gets 80% of features; top tier gets the team / governance / SLA layer\n- Value-metric thresholds per tier\n- \"Most popular\" badge on the middle tier (it works)\n- An \"Enterprise / Talk to us\" CTA for the top tier (preserves negotiation room)\n\nPhase 3 — Pricing page.\n- Headline: outcome-based (\"scale to X without Y\")\n- 3-column layout, annual default (with monthly toggle)\n- Each plan: 1-sentence positioning + 3-5 bullets + the value metric line + CTA\n- FAQ: 5 questions (\"can I switch plans?\", \"do you offer a trial?\", \"what counts as a [value metric]?\")\n- Social proof: 3-5 logos + 1 testimonial\n\nPhase 4 — Price-test plan.\n- A/B: control = current, variant = new pricing\n- Run 30 days minimum or N conversions, whichever later\n- Track: signups, trial-to-paid, ACV, churn at 30/60/90\n- Kill rules: if conversions drop >X%, revert\n\nPhase 5 — Communicate to existing customers.\n- Grandfathering policy (clear, time-bound)\n- Email sequence (3 emails): change preview → final notice → \"what to do\" recap\n- One-pager FAQ to give to support\n- Renewal flow: existing customers either grandfather or migrate at renewal\n\nPhase 6 — Output.\n- New pricing page (markdown for the dev to build)\n- Tier comparison PDF (for sales)\n- Customer comms email sequence\n- A/B test rig spec + kill rules\n\nFeedback signal:\n- Tier mix shift (are people picking the middle? top?)\n- ACV delta vs control\n- Churn at 30 / 60 / 90 — pricing changes show churn signal at month 2\n- Sales push-back themes — surface objections to refine messaging\n\nQuality bar:\n- NEVER hide pricing — every \"talk to sales\" without a starting number scares devs\n- NEVER ship pricing without a kill rule\n- Communicate price changes to existing customers BEFORE prospects see them\n- Don't fix pricing while also redesigning packaging — change one variable at a time" + }, + { + "id": "reverse-trial-conversion-test", + "name": "Run a reverse-trial conversion experiment", + "category": "Sales", + "tags": [ + "loop", + "sales" + ], + "emoji": "🔀", + "description": "Test reverse trial vs opt-in trial. Get an experiment plan, upgrade nudge sequence, and a 30-day measurement.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Design the reverse-trial mechanic", + "Identify the Pro-only feature that drives upgrade", + "Build the upgrade nudge sequence", + "A/B against current trial", + "Read out at 30 days" + ], + "prompt": "Run a reverse-trial conversion test (Notion / Canva / Airtable pattern).\n\nInputs:\n- Current trial / freemium setup: [paste]\n- Current trial-to-paid conversion rate: [paste]\n- Top 5 Pro-only features (with usage data if you have it): [paste]\n- Activation event (the moment users get value): [paste]\n- Sample size + traffic per day to the trial: [paste]\n\nPhase 1 — Design the mechanic.\n- Reverse trial: 14 days full Pro access from signup, NO card required, auto-downgrade to free at day 15\n- Confirm activation event flows in days 1-7\n- Define which Pro features are visible during the trial period\n- Define the friction-free downgrade (\"you're now on Free; here's what changes\")\n\nPhase 2 — Identify the upgrade hook.\n- For each Pro-only feature: usage frequency during trial × feature stickiness × difficulty to replace\n- Pick the SINGLE feature most likely to drive upgrade\n- Plan the in-product nudge that appears exactly when the user hits that feature\n\nPhase 3 — Build the upgrade nudge sequence.\n- In-product: feature-specific modal on day 10 + day 14\n- Email day 12: \"your trial ends in 2 days; here's what you'll lose\"\n- Email day 15: \"you're on Free; here's how to come back\"\n- Email day 22: \"Pro-only feature you used X times — want it back?\"\n\nPhase 4 — A/B against current trial.\n- Split: 50/50 over 30 days minimum\n- Track: trial-to-paid conversion, ACV by cohort, churn at 30 / 60 / 90, NPS at trial end\n- Kill rule: if conversion drops >20%, revert immediately\n\nPhase 5 — Read out at 30 days.\n- Headline metric: trial-to-paid conversion vs control\n- Mix: are users converting because of the SINGLE feature you bet on, or something else?\n- Churn signal: do reverse-trial converters churn faster (lower commitment)?\n- Verdict: ship / kill / iterate\n\nPhase 6 — Output.\n- Experiment doc (hypothesis + arms + metrics + kill rules)\n- The upgrade nudge sequence (in-product copy + email copy)\n- A 30-day readout template\n- A scaling plan if the test wins\n\nFeedback signal (closes the loop):\n- Per cohort: trial-to-paid + retention at 90 days\n- Which Pro feature actually drove conversion vs which you bet on\n- Time-to-conversion distribution — surface the bandit's sweet spot\n\nQuality bar:\n- NEVER ship \"free Pro forever\" by accident — confirm the auto-downgrade fires\n- NEVER claim the test won at day 7 — wait for the full window\n- Cohort the analysis by acquisition channel — some channels convert differently\n- If the test loses, surface why before throwing it away — sometimes the hook was wrong, not the mechanic" + }, + { + "id": "willingness-to-pay-study", + "name": "Run a willingness-to-pay study", + "category": "Sales", + "tags": [ + "founder", + "research", + "sales" + ], + "emoji": "💸", + "description": "Run a willingness-to-pay study (van Westendorp + Gabor-Granger). Get a price recommendation segmented by persona.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Define the persona segments", + "Design the survey instrument", + "Sample 200+ respondents", + "Analyze + segment WTP", + "Output a price recommendation" + ], + "prompt": "Run a willingness-to-pay study to set defensible pricing.\n\nInputs:\n- Product description + value prop: [paste]\n- Closest 3 alternative tools customers compare against: [paste]\n- Persona segments to test: [paste — e.g. solo creators / SMB teams / enterprise]\n- Existing customer list (for current users) + prospect list (for non-users): [paste]\n- Target sample size (200+ for stat-sig): [paste]\n\nPhase 1 — Persona segmentation.\n- Define 2-3 personas with distinct contexts (use case, team size, prior tool, budget authority)\n- For each: estimate population size + how to recruit (email list, X/LinkedIn DMs, panel provider)\n\nPhase 2 — Design the instrument.\nVan Westendorp 4 questions:\n1. At what price would the product be SO EXPENSIVE you would not consider buying it?\n2. At what price would it be SO CHEAP you would question its quality?\n3. At what price would it be expensive but still consider it?\n4. At what price would it be a bargain?\n\nGabor-Granger (sequential):\n- Present prices in random order; ask \"would you buy at $X?\" Yes/No\n- Use to estimate demand curve\n\nPlus:\n- \"What's the most important reason this would be worth $X?\" (open text)\n- Persona-qualifier questions (size, role, current solution, budget)\n\nPhase 3 — Sample 200+ respondents.\n- Run the survey via Typeform / SurveyMonkey\n- Recruit via channels matched to personas (no LinkedIn for solo creators, no Reddit for enterprise)\n- Incentive: $5-10 gift card or product credit\n- QA: filter for speeders (<2 min completion), straight-liners\n\nPhase 4 — Analyze.\n- Van Westendorp: plot the 4 curves; identify Optimal Price Point (OPP), Indifference Price (IPP), Point of Marginal Cheapness (PMC), Point of Marginal Expensiveness (PME)\n- Gabor-Granger: estimate price-elastic demand per persona\n- Segment by persona — surface meaningful WTP differences\n- Cross-tabulate by current solution (price-anchored against the alternative)\n\nPhase 5 — Price recommendation.\n- Recommended price points per persona\n- Confidence interval (this is research, not law)\n- Implications for packaging (where to draw tier lines)\n- The single test you should run to confirm in-market\n\nPhase 6 — Output.\n- Survey results raw + cleaned (.csv)\n- Van Westendorp + Gabor-Granger charts (PDF)\n- A 3-page recommendation memo\n- Discussion guide for the 5 qualitative follow-up calls\n\nFeedback signal (closes loop for the next study):\n- Discrepancy between WTP and actual conversion at the recommended price — calibrates response bias\n- Which personas were under- vs over-sampled\n- New segments that emerged in the open-text responses\n\nQuality bar:\n- NEVER set price ON the WTP point — use it as a SIGNAL, not gospel\n- NEVER skip current-solution anchoring — context shifts WTP by 30%+\n- Cite sample size + confidence range whenever you cite a WTP number\n- Stated preference ≠ revealed preference — pair with an in-market A/B before locking" + }, + { + "id": "positioning-workshop", + "name": "Run an Obviously Awesome positioning workshop", + "category": "Marketing", + "tags": [ + "founder", + "marketing", + "research" + ], + "emoji": "🧩", + "description": "Run April Dunford's 10-step positioning workshop. Get a positioning statement that drives messaging, sales, and website.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "List competitive alternatives", + "Identify unique attributes", + "Map attributes to value", + "Pick the best-fit customer", + "Pick a market category", + "Output the statement + messaging" + ], + "prompt": "Run the Obviously Awesome positioning workshop (April Dunford's 10 steps).\n\nInputs:\n- Product + current positioning (if any): [paste]\n- 3-5 best customers + why they bought: [paste]\n- Top 5 customer interview quotes about what we replaced: [paste]\n- Closest 3 competitors / alternatives: [paste]\n- Founder gut feel on the category: [paste]\n\nPhase 1 — Competitive alternatives.\n- What would customers use if we didn't exist? (NOT just direct competitors — spreadsheets, agencies, doing-nothing all count)\n- Cluster alternatives by type\n- For each, note: why customers reject it, what they're optimizing for instead\n\nPhase 2 — Unique attributes.\n- What capabilities does our product have that customers care about?\n- Filter: must be true AND differentiated AND defensible\n- Drop anything customers don't actually mention in interviews\n- Output: 5-10 attributes\n\nPhase 3 — Map attributes to value.\n- For each attribute: what's the customer benefit? (translate features to value)\n- Cluster benefits into themes (typically 2-3 themes)\n- Identify the SINGLE highest-leverage theme\n\nPhase 4 — Best-fit customer.\n- Describe the customer for whom our value is most valuable\n- Persona attributes that predict fit (industry, team size, current tool, trigger event)\n- Anti-persona: who is this NOT for (saying no sharpens the yes)\n\nPhase 5 — Market category.\n- Pick the market frame that makes your differentiation matter\n- Three options: existing category, sub-category, new category — score each on credibility + market readiness\n- Recommend ONE category with one paragraph of why\n\nPhase 6 — Trends (the \"why now\").\n- 2-3 macro / market / tech trends that make your positioning resonate now\n- Tie each to your differentiation\n\nPhase 7 — Positioning statement (1 paragraph).\n- For [best-fit customer]\n- Who has [trigger / problem]\n- [Product] is a [market category]\n- That unlike [alternative]\n- Delivers [highest-leverage benefit theme]\n- Because [unique attribute that makes it credible]\n\nPhase 8 — Messaging cascade.\n- Homepage H1 (one sentence, based on the positioning)\n- 3 supporting messages (one per feature theme)\n- One-line pitch for sales\n- One-line pitch for fundraising\n\nPhase 9 — Output.\n- A 2-page positioning doc (statement + workshop outputs)\n- Homepage copy draft tied to the positioning\n- Sales deck refresh outline\n- A \"what changes\" memo (so the team knows what's different)\n\nFeedback signal:\n- Customer interviews 90 days post-launch — does the positioning land?\n- Sales meeting outcomes — does the new pitch shorten sales cycles?\n- Inbound lead quality — better-fit leads = the positioning works\n\nQuality bar:\n- NEVER position around features — position around value\n- NEVER claim a category you can't credibly own\n- The positioning statement is NOT the website headline — it's the input to the headline\n- Re-run the workshop annually OR when the market shifts (new competitor, new buyer)" + }, + { + "id": "north-star-metric-tree", + "name": "Define the North Star Metric + input tree", + "category": "Productivity", + "tags": [ + "founder", + "productivity", + "report" + ], + "emoji": "🌟", + "description": "Define a North Star Metric + its input tree. Get a one-pager that drives OKRs and dashboards.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pick a candidate NSM", + "Validate it leads revenue", + "Decompose into 3-5 input metrics", + "Map inputs to team ownership", + "Output a 1-page NSM doc" + ], + "prompt": "Define the company's North Star Metric (NSM) + its input tree.\n\nInputs:\n- Business model (subscription / usage / marketplace / transactional): [paste]\n- Current top-level metrics (ARR, GMV, sessions, etc.): [paste]\n- Last 6 months of revenue + customer behavior data: [paste]\n- Strategic 2-year goal: [paste]\n\nPhase 1 — Pick the NSM candidate.\nThe NSM is a SINGLE customer-behavior metric that leads revenue. Examples:\n- Spotify: time spent listening\n- Airbnb: nights booked\n- Slack: messages sent in connected teams\n- Figma: weekly active editors\n\nScore candidates against:\n- Does it lead revenue? (a customer doing more of THIS predicts more revenue)\n- Is it customer-behavior, not company output? (not \"ARR\" itself)\n- Is it measurable WEEKLY, not quarterly?\n- Will it survive a strategic pivot?\n\nRecommend ONE candidate with reasoning. Wait for me to confirm.\n\nPhase 2 — Validate it leads revenue.\n- For the last 12 months: plot the NSM trend vs revenue\n- If they correlate, what's the lag? (NSM should lead revenue by 1-3 months)\n- Cohort: do customers with high NSM values retain better?\n- If correlation is weak, reconsider the NSM choice\n\nPhase 3 — Decompose into 3-5 input metrics.\nThe classic decomposition: Breadth (how many) × Depth (how much per) × Frequency (how often) × Efficiency (per unit cost)\nOutput: a tree with the NSM at the root, 3-5 inputs in the next layer, sub-inputs below.\n\nPhase 4 — Map inputs to team ownership.\n- Each input metric has one owner (a team or function)\n- Each team's OKRs should ladder into their NSM input\n- Surface dependencies (where two teams share an input)\n\nPhase 5 — Build the dashboard.\n- Single screen showing: NSM weekly + 4-week MA + last quarter\n- Inputs: same view per metric\n- Cohort filters: by acquisition channel, by tier, by tenure\n\nPhase 6 — Output.\n- 1-page NSM doc (Lenny / Amplitude style)\n- The input tree diagram\n- A team-ownership map\n- Dashboard spec (for the data team to build)\n- A \"review the NSM annually\" reminder + criteria for changing it\n\nFeedback signal:\n- Per quarter: did movement in NSM predict revenue? (validates the choice)\n- Inputs that decoupled from the NSM — surface and re-decompose\n- Inputs nobody worked on — surface ownership gaps\n\nQuality bar:\n- The NSM is ONE metric — not \"the top 5 KPIs\"\n- NEVER pick a metric you can't measure weekly\n- NEVER pick a vanity metric (signups, downloads) — pick a value-creating behavior\n- The NSM should survive the next pivot — if not, you have a feature metric, not a strategy metric" + }, + { + "id": "customer-advisory-board", + "name": "Launch a Customer Advisory Board", + "category": "Customer Success", + "tags": [ + "customer-success", + "founder" + ], + "emoji": "🎤", + "description": "Launch and run a Customer Advisory Board. Get a charter, member selection, agenda template, and a roadmap-input loop.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Write the CAB charter + objectives", + "Pick 8-12 members across segments", + "Design the meeting cadence + agenda", + "Capture inputs into the roadmap", + "Run a 90-day post-meeting follow-through" + ], + "prompt": "Launch and run a Customer Advisory Board (CAB) for strategic input.\n\nInputs:\n- Stage + ARR: [paste]\n- Top 30 customers (with ACV, tenure, industry): [paste]\n- Strategic questions I want CAB input on this year: [paste]\n- Time commitment I can sustain (2-3 meetings/year is realistic): [paste]\n\nPhase 1 — Write the CAB charter.\n- Purpose (NOT \"feedback\" — be specific: roadmap input, strategic direction, market signal)\n- Term length (12-24 months)\n- Member commitments (attend N meetings, complete pre-reads, share NPS-like input)\n- What CAB members get (early access, exec relationships, peer network, brand benefit)\n- What the company does NOT promise (feature commitments, exclusive deals)\n\nPhase 2 — Pick 8-12 members.\nMix:\n- 4-5 enterprise (high ACV, governance buyers)\n- 3-4 mid-market (operational buyers)\n- 1-2 power users (champions, not buyers — heard differently)\n- Diverse industries (so no one industry dominates the input)\n\nPer member: name, title, company, ACV, tenure, what they bring (operator vs strategist vs technical voice)\n\nPhase 3 — Meeting cadence + agenda.\n- 2 in-person meetings/year (1 at your office or HQ, 1 at industry event) + 2 virtual quarterlies\n- Agenda per meeting:\n - State of the company (CEO, 15 min)\n - Strategic question 1 + open discussion (60 min)\n - Strategic question 2 + open discussion (60 min)\n - Open round (each member: top-of-mind, 5 min each)\n - Next steps + commitments\n- Pre-read sent 7 days ahead\n\nPhase 4 — Capture inputs into the roadmap.\n- Real-time scribe during the meeting (not the CEO)\n- 48h post-meeting: a \"what we heard, what we're committing to\" memo back to members\n- 30-day check-in: status on the commitments made\n- Surface CAB inputs in the next quarter's roadmap review with explicit attribution\n\nPhase 5 — Run a 90-day follow-through.\n- Per commitment: owner + deadline + outcome\n- 90-day public update to CAB on what shipped (and what didn't and why)\n- Annual NPS-style survey of CAB members themselves (\"is this CAB worth your time?\")\n\nPhase 6 — Output.\n- CAB charter PDF (sent to invitees before they say yes)\n- Member roster + roles\n- Meeting agendas (4 per year, pre-built)\n- A roadmap-input log linking CAB sessions to shipped features\n- A \"thank you\" gift cadence (small, thoughtful, recurring)\n\nFeedback signal:\n- CAB-attributed roadmap items: did they outperform other roadmap items?\n- Member attendance + engagement — surface decay\n- The 1 strategic question per meeting that produced the BEST debate — calibrate future agendas\n\nQuality bar:\n- NEVER use the CAB as a sales channel — that breaks trust fast\n- NEVER over-promise on inputs — be honest about what you can/can't ship\n- Skipping the follow-through memo is the single biggest reason CABs die\n- The CEO attends every meeting — delegating signals it's not strategic" + }, + { + "id": "case-study-pipeline", + "name": "Run a case-study + reference customer pipeline", + "category": "Sales", + "tags": [ + "founder", + "pipeline", + "sales" + ], + "emoji": "🪪", + "description": "Run a case-study + reference customer pipeline. Get a tiered advocacy program from logo to CAB.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Audit current proof assets + gaps", + "Build the advocacy tier ladder", + "Identify candidates per tier", + "Production-line case studies", + "Track reference health + freshness" + ], + "prompt": "Run a case-study + reference customer pipeline as a tiered advocacy program.\n\nInputs:\n- Current proof assets (logos, quotes, case studies): [paste or link]\n- Customer list with NRR, ACV, tenure, NPS, usage: [paste]\n- Sales team's most-requested case study types: [paste]\n- Brand voice + production capacity (in-house vs agency): [paste]\n\nPhase 1 — Audit current proof.\n- What proof do we have? (logos / quotes / 1-page case / long-form / video / quantified ROI)\n- What's MISSING for the top 3 buyer personas?\n- Which assets are stale (>12 months old) and need a refresh?\n- Which logos have permission to use vs which we use without permission (risky)?\n\nPhase 2 — Build the advocacy ladder.\nTier 1: logo permission (low ask, big value)\nTier 2: pull-quote with name + title\nTier 3: 1-page case study with metric\nTier 4: long-form case study + customer interview\nTier 5: live reference call (1:1, scheduled by sales)\nTier 6: CAB member / on-stage speaker / co-marketing\n\nEach tier graduates from the previous. Don't ask for tier 4 from a customer who hasn't done tier 1-3 first.\n\nPhase 3 — Identify candidates per tier.\nScore every customer:\n- Outcome strength: do they have a defensible metric? (NPS, ROI, time saved, growth)\n- Vocal quality: do they speak well about us in any forum? (review sites, Slack, LinkedIn)\n- Buyer match: do they map to a top-3 buyer persona we need proof for?\n- Legal risk: are they in a regulated industry (banks, healthcare) that limits public refs?\n\nOutput: a ranked list per tier with the next ask per customer.\n\nPhase 4 — Production line.\nFor tier 3-4 case studies:\n- 60-min interview with the buyer (recorded, transcribed)\n- 60-min follow-up with the user (recorded, transcribed)\n- Draft within 7 days; customer review within 14 days; publish within 30 days\n- Promote across: website, sales deck, sales emails, social, conference\n\nPhase 5 — Track reference health.\n- Per reference: last touched, current state (active / dormant / churning), open asks\n- Refresh every 12 months OR after major customer outcome change\n- Watch for churn signals — pull references BEFORE they leave\n\nPhase 6 — Output.\n- Advocacy ladder spreadsheet (per customer: current tier + next ask)\n- Case study production template (interview guide, draft outline, approval flow)\n- Reference health dashboard\n- A \"thank you\" cadence (concrete: swag, exec lunch, in-person at the conference)\n\nFeedback signal:\n- Conversion rate per tier ask — calibrate the request copy\n- Sales cycle impact: deals with case studies vs without\n- Customer churn rate among active references vs general — surface the \"ref → churn\" signal\n\nQuality bar:\n- NEVER use a customer logo without explicit written permission\n- NEVER ship a case study without customer sign-off on every number and quote\n- Tier 5 (live reference) is rare — protect references from over-asking\n- If a customer says no, ask why — sometimes the answer reveals a churn signal" + }, + { + "id": "founder-led-sales-script", + "name": "Run founder-led sales to repeatable revenue", + "category": "Sales", + "tags": [ + "founder", + "loop", + "sales" + ], + "emoji": "🤜", + "description": "Run founder-led sales toward repeatable revenue. Get an ICP doc, discovery script, demo flow, and the first AE-ready playbook.", + "works_best_with": { + "agent_profile": "bd-partnerships", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Run the first 50 sales calls personally", + "Diagnose what made wins win", + "Write the ICP + discovery + demo flow", + "Codify the sales playbook for the first AE", + "Hand off readiness checklist" + ], + "prompt": "Run founder-led sales toward a repeatable motion ($0-$5M ARR, Meka Asonye / First Round pattern).\n\nInputs:\n- Product + current ACV range: [paste]\n- Closed-won deals to date (with story per deal: who, why, how long): [paste]\n- Closed-lost deals (with reason): [paste]\n- My current weekly outbound + inbound volume: [paste]\n- My current top-of-funnel: [paste]\n\nPhase 1 — Diagnose existing wins.\n- For each closed-won: what was the trigger (Why did they buy? Why now?), what did they replace, who championed it inside, who held the budget, what was the sales cycle, what was the discount\n- Cluster the patterns\n- Surface the \"looks-like\" ICP from the wins (not your imagined ICP)\n\nPhase 2 — Diagnose existing losses.\n- For each closed-lost: why did they say no? (Price? Fit? Timing? Competitor? Internal politics?)\n- Cluster by reason\n- The reason that recurs most = the next sales-cycle blocker to address\n\nPhase 3 — Write the ICP doc.\n- Industry, company size, role of buyer, role of user, current solution\n- Trigger events (hiring spike, funding round, public price change at incumbent)\n- Disqualifiers (do not pursue if they have X)\n- Score model: 0-5 fit per dimension\n\nPhase 4 — Write the discovery script.\n- 30-min discovery call structure\n- Opening (90 sec — set context)\n- Pain qualification (10 min — using a MEDDIC / SPICED frame)\n- Solution narrative (5 min — NOT a feature dump)\n- Next-step proposal (3 min — concrete, time-bound)\n- Q&A (10 min — but front-load value before they ask)\n\nPhase 5 — Demo flow.\n- Pre-demo: confirm what they want to see (NOT a \"tour\")\n- Open with the magic moment + the customer outcome (15 sec)\n- Walk through 3-4 specific user stories tied to the pain they raised in discovery\n- Save Q&A for the end\n- Always end with the next step explicitly named\n\nPhase 6 — Output (playbook for the first AE).\n- ICP doc (1-page)\n- Discovery script (printable)\n- Demo flow with screenshots\n- Objection-handling card (top 10 objections from the loss data + responses)\n- Proposal + SOW template\n- Sales cycle map (stage gates with required artifacts)\n- Quota model (realistic, calibrated against your conversion data)\n\nFeedback signal (closes the loop):\n- AE win rate vs founder win rate — track the gap (it's normal, not a failure)\n- Stage where deals stall — promote interventions\n- Objections that appear with new ICP segments — refine the doc\n\nQuality bar:\n- NEVER hire an AE before you can answer \"what's the script that won 10 deals in a row?\"\n- NEVER hand off without sitting in on the first 10 calls together\n- The discovery script is a guide, not a script — train the AE to listen first\n- If the AE pushes back on the playbook, that's signal — they're seeing what you missed" + }, + { + "id": "pql-definition-handoff", + "name": "Define PQLs and the sales handoff", + "category": "Sales", + "tags": [ + "founder", + "pipeline", + "sales" + ], + "emoji": "🚦", + "description": "Define product-qualified leads and the sales handoff. Get a multi-step PQL definition + dashboard + outreach trigger.", + "works_best_with": { + "agent_profile": "bd-partnerships", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Map current product usage signals", + "Define the multi-step PQL threshold", + "Design the handoff to sales", + "Build the dashboard + alert", + "Read out PQL→close conversion" + ], + "prompt": "Define product-qualified leads (PQLs) and the sales handoff (Slack / Atlassian model).\n\nInputs:\n- Current product usage signals you can measure: [paste]\n- Closed-won deals' usage profiles BEFORE buying: [paste]\n- Sales team's current handoff (MQL definitions, lead routing): [paste]\n- Target ACV for sales-touched deals: [paste]\n\nPhase 1 — Map signals.\n- List every measurable usage signal (events, frequency, breadth)\n- For each: how strongly does it correlate with paid conversion in your data?\n- Drop signals with weak correlation\n- Keep 3-6 strong signals\n\nPhase 2 — Define the PQL threshold (multi-step).\nExample Slack model: 2+ channels created AND 1+ teammate invited AND first conversation completed AND 2,000+ messages sent.\nFor your product:\n- Combine 3-5 signals into a SINGLE definition (all must be true)\n- Validate against closed-won data: what % of converted accounts hit this? what % of free accounts that hit this convert?\n- Iterate the threshold until both numbers look strong\n\nPhase 3 — Design the handoff.\n- Trigger: account crosses the PQL threshold\n- Action: Slack alert to assigned AE + auto-create CRM opportunity at \"PQL\" stage\n- AE response: contact within 24h with a specific message (\"noticed your team scaled from X to Y last week — want to talk through how others handled the next step?\")\n- NEVER send a generic \"ready to upgrade?\" — the PQL is contextual, the outreach must be too\n\nPhase 4 — Build the dashboard.\n- PQL count per week\n- PQL → opportunity conversion\n- Opportunity → close conversion\n- Time from PQL to close (vs MQL-sourced)\n- ACV by source (PQL vs MQL)\n\nPhase 5 — Read out at 90 days.\n- PQL conversion vs MQL: it should be 3-5x\n- Sales feedback: are PQLs better conversations than MQLs?\n- The threshold may need to tighten OR loosen — calibrate\n\nPhase 6 — Output.\n- PQL definition document (the rule + the validating data)\n- Handoff workflow (Slack alert + CRM auto-create + AE response template)\n- Dashboard spec (for the data team)\n- A \"what counts as a PQL\" 1-pager for the sales team\n\nFeedback signal (closes the loop):\n- PQL-to-close conversion rate quarter over quarter — sharpen the threshold\n- Which signal in the definition is doing the most work — focus instrumentation\n- New product behaviors that correlate strongly with conversion — promote to PQL\n\nQuality bar:\n- NEVER let \"PQL\" mean \"free user who clicked pricing\" — that's not a PQL\n- NEVER skip the validation against closed-won data — PQLs without validation are MQLs renamed\n- The PQL definition will change every 2-3 quarters as the product evolves — review it\n- If sales says \"PQLs are bad leads\", listen — the threshold is wrong, not the strategy" + }, + { + "id": "pmf-engine-survey", + "name": "Run the Superhuman PMF engine", + "category": "Customer Success", + "tags": [ + "customer-success", + "founder", + "loop" + ], + "emoji": "🩺", + "description": "Run Superhuman's PMF engine. Get a 4-question survey, the very-disappointed cohort analysis, and a roadmap split.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Identify active-user cohort", + "Send the 4-question survey", + "Calculate PMF score", + "Split roadmap 50/50 (double-down vs unblock)", + "Re-survey monthly" + ], + "prompt": "Run Rahul Vohra's Superhuman PMF engine (he lifted Superhuman from 22% to 58% in under a year).\n\nInputs:\n- Active users (used the product 2+ times in last 14 days): [paste count + sample]\n- Existing PMF measurement (if any): [paste]\n- Current top complaints + delighters surfaced via support: [paste]\n- Current roadmap: [paste]\n\nPhase 1 — Identify the active-user cohort.\n- Filter to users who used the product 2+ times in last 14 days (Vohra's threshold)\n- Drop users <14 days tenure (they don't know yet)\n- Verify the cohort represents your target customer (not just everyone)\n\nPhase 2 — Send the 4-question survey.\n1. How would you feel if you could no longer use [product]?\n - Very disappointed / Somewhat disappointed / Not disappointed / N/A I no longer use [product]\n2. What type of people do you think would most benefit from [product]? (1 sentence)\n3. What's the main benefit you get from [product]? (1 sentence)\n4. How can we improve [product] for you? (open text)\n\nDistribution: in-product modal + email to non-modal-shown users. Target 100+ responses.\n\nPhase 3 — Calculate PMF + analyze.\n- PMF score = % \"very disappointed\" / (very + somewhat + not disappointed)\n- Score >40% = strong PMF; 20-40% = developing; <20% = weak\n- Segment the \"very disappointed\" cohort: who are they? What benefit do they cite?\n- Read the \"somewhat disappointed\" open text: what's the SINGLE biggest blocker?\n\nPhase 4 — Split the roadmap 50/50.\n- 50% of next-quarter roadmap: double down on what the \"very disappointed\" cohort loves\n- 50%: remove the top blocker cited by \"somewhat disappointed\"\n- The remaining 0%: anything else (yes, this is uncomfortable)\n\nPhase 5 — Re-survey monthly.\n- Same 4 questions, same cohort definition\n- Track PMF score trend: are you climbing toward 40%?\n- Track the \"very disappointed\" cohort growth: is it expanding to new personas?\n- If PMF stalls for 2 months, the diagnosis is wrong — re-read the open text\n\nPhase 6 — Output.\n- Survey instrument (ready to deploy)\n- Cohort analysis dashboard\n- Monthly PMF score with trend chart\n- A roadmap doc that explicitly maps every feature to \"double down\" or \"unblock\"\n- The \"very disappointed\" persona doc (used for marketing + sales targeting)\n\nFeedback signal (closes the loop):\n- Month-over-month PMF score trend — the engine working = climbing\n- \"Very disappointed\" cohort growth — new personas joining = expansion territory\n- \"Somewhat disappointed\" blockers that recur — that's the systemic friction\n\nQuality bar:\n- NEVER conflate PMF score with NPS — they measure different things\n- NEVER survey users who haven't tried the product enough to have an opinion\n- The \"very disappointed\" cohort IS your ICP — use their language in marketing\n- If you ignore the open text, you've wasted the survey" + }, + { + "id": "activation-3-moments-audit", + "name": "Audit activation in 3 moments (setup, aha, habit)", + "category": "Productivity", + "tags": [ + "audit", + "founder", + "loop", + "productivity" + ], + "emoji": "⚡", + "description": "Audit activation as setup / aha / habit (Reforge framework). Get a step-by-step diagnosis with the largest-drop fix.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Define each of the 3 moments concretely", + "Measure drop-off at each", + "Diagnose the largest-drop moment", + "Ship the fix + re-measure", + "Loop weekly until activation lifts" + ], + "prompt": "Audit activation as 3 moments (Setup → Aha → Habit) — the Reforge framework that lifted Attention Insight from 47% → 69% activation.\n\nInputs:\n- Current activation rate (define your existing metric): [paste]\n- Onboarding flow screenshots or recording: [paste or path]\n- Product analytics access (Mixpanel / Amplitude / PostHog / etc.): [paste how to access]\n- Top 5 customer interview quotes about onboarding: [paste]\n\nPhase 1 — Define each moment concretely.\n\nSetup moment: the user completes the minimum configuration needed for the product to function\n- For Slack: workspace created + 1 channel + 1 teammate\n- For Notion: workspace created + 1 page\n- For your product: ?\n\nAha moment: the user experiences the SINGLE highest-leverage outcome the product delivers\n- For Loom: first share + recipient watches\n- For Calendly: first meeting booked through the link\n- For your product: ?\n\nHabit moment: the user performs the aha moment at the frequency that predicts retention\n- For Slack: 2,000+ messages in connected teams\n- For Notion: 3+ pages created per week over 3 weeks\n- For your product: ?\n\nPick the 3 moments. Wait for me to confirm.\n\nPhase 2 — Measure drop-off at each.\n- % of signups completing Setup\n- % of Setup-completers hitting Aha\n- % of Aha-hitters reaching Habit\n- Each step is its own funnel\n\nPhase 3 — Diagnose the largest-drop moment.\n- For the worst step: where exactly do users drop?\n- Pair with customer interview quotes for context\n- Identify the SINGLE friction (a missing instruction, a confusing UI, a permission gate, a slow API call)\n- Validate: would removing this friction lift the step's conversion by 10+ pp?\n\nPhase 4 — Ship the fix.\n- Smallest possible change that addresses the friction\n- A/B against the current flow (50/50, 30 days)\n- Kill rule: if it doesn't move the step's conversion by 5 pp+, revert\n\nPhase 5 — Re-measure and loop.\n- After 30 days: read out and decide ship/iterate/kill\n- Move to the next-largest drop and repeat\n- Weekly: 15-min activation review with the team\n\nPhase 6 — Output.\n- The 3-moments definition doc\n- Funnel dashboard (one screen, all 3 moments visible)\n- Top 3 hypotheses + experiments queued\n- A weekly review template\n\nFeedback signal (closes the loop):\n- Per moment: conversion delta after each fix\n- Which fixes moved the metric vs which didn't — surface the patterns\n- New friction that emerges after fixing one (sometimes the bottleneck just moves)\n\nQuality bar:\n- NEVER count signups as activation — that's an acquisition metric\n- NEVER define the Aha moment without customer interviews — your guess is usually wrong\n- Habit metric must be defined at the FREQUENCY that retains — not just \"uses the product\"\n- If activation lifts but retention doesn't, your Aha definition is wrong" + }, + { + "id": "product-hunt-launch", + "name": "Run a Product Hunt launch playbook", + "category": "Marketing", + "tags": [ + "founder", + "marketing", + "social" + ], + "emoji": "🎉", + "description": "Run a Product Hunt launch end-to-end. Get a 4-week prep plan, day-of script, and supporter outreach templates.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pick the launch date + category", + "Assemble a supporter list (400+)", + "Build assets to PH spec", + "Run the day-of playbook hour-by-hour", + "Post-launch follow-through" + ], + "prompt": "Run a Product Hunt launch end-to-end (4-week prep + day-of script + follow-through).\n\nInputs:\n- Product + one-liner: [paste]\n- Launch date target: [paste]\n- Existing supporter network on PH (likers from prior launches, hunter friends): [paste]\n- Founder's PH account history + karma: [paste]\n- Asset capacity (designer? video?): [paste]\n\nPhase 1 — Pick date + category.\n- Avoid Mondays (low traffic) and Fridays (PH-employee distraction)\n- Tuesdays or Wednesdays optimal\n- Avoid major news events / holidays that suck attention\n- Category choice matters: AI category needs ~800-1,200 upvotes for #1; non-AI ~500-700\n- Output: launch date + 4 backup dates\n\nPhase 2 — Assemble supporters (4 weeks out).\n- Goal: 400+ committed supporters with PH accounts\n- Source 1: scrape your previous launches' upvoters and message via PH inbox\n- Source 2: your X / LinkedIn audience that mentioned PH\n- Source 3: 10 hunter-friend asks (they comment + nudge their network)\n- Track in a sheet: name, account, last-checked-active, committed?, posted?, commented?\n\nPhase 3 — Build assets to PH spec.\n- Gallery images: 1270x760 pixels, 4-7 images (hero + features + social proof + team + roadmap)\n- Tagline: <=60 characters, outcome-driven (NOT \"Powered by AI\")\n- Description: 260 chars max, hook + 3 features + CTA\n- Maker comment: drafted in advance, 200-400 words, shows the human story\n- First-comment thread script: 10 angles to seed (hunter friends post these)\n\nPhase 4 — Day-of (hour-by-hour, PT time).\n- 00:01 PT: post goes live\n- 00:01-00:15: founder posts the maker comment + 3 hunter friends comment\n- 00:15-08:00: every hour, respond to every comment within 30 min; rotate posts across X, LinkedIn, Reddit, niche Slack/Discord\n- 08:00-20:00: peak voting window — maintain comment cadence, drive supporters via DM blast\n- 20:00 PT: final push email to supporters who haven't voted\n\nPhase 5 — Post-launch follow-through.\n- Thank-you post on X / LinkedIn with the result + lessons\n- Email everyone who signed up during the launch (within 48h) with a personal note\n- Convert engagement to email list / waitlist / paying customer — design the funnel BEFORE you launch\n- A \"what went well / what didn't\" memo for the next launch\n\nPhase 6 — Output.\n- 4-week prep timeline (Notion doc)\n- Supporter outreach template + tracking sheet\n- Asset checklist with PH specs\n- Day-of script with hour-by-hour actions\n- Post-launch follow-up plan\n\nFeedback signal (closes the loop for next launch):\n- Ranking outcome vs target\n- Comment volume + sentiment vs control launches\n- Conversion of PH visitors to signups + paid — that's the real metric, not upvotes\n\nQuality bar:\n- NEVER pay for votes — PH detects and de-ranks\n- NEVER schedule a launch on a Friday or holiday\n- The maker comment is NOT a feature dump — it's a story about why this exists\n- Day-of: respond to every comment within 30 min, even the critical ones — the engagement signal matters" + }, + { + "id": "programmatic-seo-sprint", + "name": "Run a programmatic SEO sprint", + "category": "Marketing", + "tags": [ + "marketing", + "pipeline", + "seo" + ], + "emoji": "🕷️", + "description": "Run a programmatic SEO sprint. Get a templated landing-page matrix, schema, internal-link map, and quality gate.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pick the 2-dimension matrix", + "Validate search volume + intent", + "Build the template + unique-content slots", + "Generate + hand-tune top 50", + "Track + iterate" + ], + "prompt": "Run a programmatic SEO sprint (Zapier / Calendly / Webflow pattern — Zapier 6.3M monthly visits, Calendly 1.1M).\n\nInputs:\n- Product + ICP: [paste]\n- Existing site domain authority (DA / DR): [paste]\n- Existing top-ranking pages (so we don't cannibalize): [paste]\n- Data source for unique content (your DB, public API, your integrations list): [paste]\n- Capacity to hand-tune (humans + days): [paste]\n\nPhase 1 — Pick the 2-dimension matrix.\nExamples:\n- {App A} × {App B} (integration pages — Zapier)\n- {Tool} × {Use case} (Calendly: scheduling × CRM)\n- {City} × {Job role} (talent marketplaces)\n- {Industry} × {Software type} (vertical SaaS)\n\nScore candidates:\n- Total page count (matrix size): aim for 100-10,000, not 1,000,000 (Google penalizes thin)\n- Search volume: every cell needs SOMEONE searching; ideally most cells have monthly volume >10\n- Intent: commercial > informational > navigational\n- Existing competition: low-DA pages ranking on this matrix = opportunity\n\nRecommend ONE matrix. Wait for me to confirm.\n\nPhase 2 — Validate search volume + intent.\n- Pull volume per cell from Ahrefs / Semrush / KWFinder\n- Sample 50 cells; look at the current SERP — what dominates? Can we credibly compete?\n- Identify cells where intent is COMMERCIAL (closer to purchase) and prioritize\n\nPhase 3 — Build the template + unique content slots.\n- Template structure: H1, hero (intro paragraph with both keywords), use-case examples, screenshots, CTA, FAQ, schema markup (FAQPage + Product + BreadcrumbList)\n- Unique content per cell: pulled from your data source (e.g., for {App A} × {App B} integration: actual fields synced, popular use cases, customer count if available)\n- DO NOT use the same paragraph across cells — Google will downgrade\n\nPhase 4 — Generate + hand-tune top 50.\n- Generate the full matrix programmatically\n- Hand-tune the TOP 50 cells (by search volume × intent): better intro, custom screenshots, real-customer quotes\n- These 50 carry the quality signal that lifts the rest of the matrix\n\nPhase 5 — Internal link map.\n- Every page links to: 5 related cells (same dimension A or B), the pillar page, and the relevant product page\n- Pillar page links out to top 100 cells\n- Each cell page has 2-3 incoming internal links minimum\n\nPhase 6 — Quality gate before publishing.\n- Lighthouse score >85 mobile\n- Schema validates (Rich Results Test)\n- No cell has <300 unique words\n- Robots.txt + sitemap.xml updated\n\nPhase 7 — Output.\n- Matrix spec + template\n- Generated pages staged for publish\n- Internal link map (CSV)\n- A 90-day measurement plan (organic clicks per cell, conversion to signup, pages indexed)\n\nFeedback signal:\n- Per cell type: organic traffic growth + ranking\n- Conversion rate by cell to product signup\n- Cells Google chose NOT to index (these are the thin ones — improve or delete)\n\nQuality bar:\n- NEVER publish 10,000 pages with thin content — Google de-ranks the WHOLE site\n- NEVER duplicate paragraphs across cells — that's the death signal\n- A 100-cell matrix that ranks beats a 10,000-cell matrix that doesn't\n- Disclose AI-generated content if your audience cares (devs, journalists do)" + }, + { + "id": "build-in-public-launch", + "name": "Run a build-in-public launch sequence", + "category": "Marketing", + "tags": [ + "founder", + "marketing", + "social" + ], + "emoji": "📡", + "description": "Run a build-in-public launch sequence (Pieter Levels / Marc Lou). Get a daily posting plan, revenue-screenshot cadence, and an audience-to-revenue funnel.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "twitter-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Audit current audience + funnel", + "Set the daily posting cadence", + "Build the metric-screenshot rhythm", + "Plan the launch with the audience", + "Measure audience-to-revenue conversion" + ], + "prompt": "Run a build-in-public launch sequence (Pieter Levels $3M ARR / Marc Lou $4K/day pattern).\n\nInputs:\n- Existing X / LinkedIn / IH audience size + engagement rate: [paste]\n- Product + launch date: [paste]\n- Existing revenue (if any): [paste]\n- Comfort level with public transparency (revenue, churn, mistakes): [paste]\n- Founder's voice samples (what's already worked): [paste]\n\nPhase 1 — Audit current audience + funnel.\n- Audience size per platform + engagement rate\n- Bio CTA (what's it driving to?)\n- Existing funnel: posts → profile visits → product signups → revenue\n- Surface the conversion gap\n\nPhase 2 — Set the daily posting cadence.\n- X: 2-3 posts/day (a build update + a lesson + an engagement post)\n- LinkedIn: 1 post/day (longer-form, founder narrative)\n- Indie Hackers: 2-3 posts/week (community-focused, more transparent)\n- Each post matched to the platform's norms (X tight, LinkedIn narrative, IH peer-to-peer)\n\nPhase 3 — Build the metric-screenshot rhythm.\n- Weekly: Stripe MRR screenshot with one lesson\n- Monthly: full revenue + churn + cost transparency\n- Each milestone: shipping screenshot ($1k MRR, $10k, $100k, etc.)\n- Failures shared candidly — fails build trust faster than wins\n\nPhase 4 — Plan the launch with the audience.\n- 30 days out: tease the problem you're solving (NOT the product yet)\n- 14 days out: tease the build with screenshots\n- 7 days out: open a waitlist (or \"DM me to be a beta tester\")\n- Launch day: drop the URL + price + first-customer offer\n- Post-launch: daily revenue screenshots + lessons for 14 days\n\nPhase 5 — Measure audience-to-revenue.\n- Per-platform: clicks to product, signups, paid conversions\n- Which post types convert (build updates? lessons? failures?)\n- Average revenue per follower (RPF) — a real metric for indie founders\n\nPhase 6 — Output.\n- 30-day content calendar (per platform, per day)\n- Screenshot rhythm calendar (what to share, when)\n- Launch sequence checklist (30-day countdown)\n- A spreadsheet tracking audience size + engagement + revenue weekly\n\nFeedback signal (closes the loop):\n- Post type that drove most clicks vs signups vs revenue — bias next month's mix\n- Platform that converts best for your ICP — focus your time\n- \"Big number\" milestones that compound (each milestone is a content asset)\n\nQuality bar:\n- NEVER fake the screenshots — the internet finds out\n- NEVER post revenue screenshots if you're loss-leading (it confuses ICP)\n- Engage with comments — passive build-in-public underperforms active engagement\n- Be honest about what's not working — that's what builds trust (and the audience)" + }, + { + "id": "oss-to-commercial-conversion", + "name": "Plan an open-source → commercial conversion", + "category": "Sales", + "tags": [ + "founder", + "sales" + ], + "emoji": "🔓", + "description": "Plan an OSS → commercial transition (dbt / PostHog / Plausible / n8n). Get a tier design, hosted offering spec, and OSS commit guarantees.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Audit current OSS community + usage", + "Design the commercial wrapper (hosted / governance / SLA)", + "Spec OSS commits the company guarantees", + "Plan the launch + comms", + "Measure OSS → commercial conversion" + ], + "prompt": "Plan an open-source → commercial transition (dbt / PostHog / Plausible / n8n pattern).\n\nInputs:\n- OSS project + GitHub stats (stars, contributors, deploys): [paste]\n- Current community (Discord / Slack / Discourse size): [paste]\n- Top 10 self-hosted users you know about: [paste]\n- License (MIT? AGPL? Fair-code?): [paste]\n- Founder principles (what stays free FOREVER): [paste]\n\nPhase 1 — Audit OSS community + usage.\n- Self-hosted deploy count (rough estimate from telemetry, npm/pip downloads, Docker pulls)\n- Community engagement: Discord activity, GitHub issue velocity, PR cadence\n- Top 5 use cases (ask the community in the Discord)\n- Top 5 pain points self-hosters cite (these are your hosted-tier value props)\n\nPhase 2 — Design the commercial wrapper.\nFree (OSS, forever):\n- Core functionality\n- Single-instance, single-user / small-team usage\n- Community-supported\n\nHosted (paid, value metric per the product):\n- Zero-ops deployment\n- Backups, monitoring, scaling\n- Per usage tier (events, GMV, seats, whatever scales with value)\n\nTeam / Enterprise (paid, governance):\n- SSO + SCIM\n- Audit logs\n- SLA + dedicated support\n- Compliance (SOC2, HIPAA, GDPR controls)\n\nPhase 3 — Spec OSS commits the company guarantees.\n- Which features will ALWAYS be in OSS (no take-backs)\n- Pace of OSS commits vs commercial features\n- Public governance: who decides what goes where\n- Public roadmap with commercial-vs-OSS labels\n\nPhase 4 — Plan the launch + comms.\n- The blog post: why we're doing this, what changes for users, what doesn't\n- Community AMA in Discord — answer the hard questions live\n- Migration story for current users (free hosted credit, white-glove migration for top users)\n- Pricing-page launch with side-by-side OSS / Hosted / Enterprise\n\nPhase 5 — Measure OSS → commercial conversion.\n- Hosted-paid conversion rate from self-hosted users (target 1-3% in year one)\n- Enterprise conversion from hosted-paid (target 5-10% by year two)\n- Community sentiment: are commits accelerating or decelerating after launch?\n- NPS in Discord pre vs post\n\nPhase 6 — Output.\n- Tier design doc + pricing\n- OSS commit guarantee + governance doc\n- Migration playbook for top self-hosted users\n- Launch comms package (blog, Discord AMA, email to known self-hosters)\n\nFeedback signal:\n- Per quarter: hosted conversion + enterprise upgrade + community sentiment\n- Backlash patterns — surface what looks like betrayal vs honest concern\n- Features the community wants in OSS that you held back — re-evaluate\n\nQuality bar:\n- NEVER pull a feature from OSS into commercial — that breaks trust permanently\n- NEVER ship a license change without 90-day community notice\n- The OSS project must remain genuinely useful standalone — anything else is bait-and-switch\n- Hire community-first: the community manager comes BEFORE the second sales rep" + }, + { + "id": "marketplace-cold-start", + "name": "Solve the marketplace cold-start problem (supply-first)", + "category": "Sales", + "tags": [ + "founder", + "pipeline", + "sales" + ], + "emoji": "🏪", + "description": "Solve marketplace cold start by saturating supply first (Andrew Chen pattern). Get a city-by-city supply plan and demand trigger.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Identify the supply concentration unit (city / niche / time)", + "Saturate one unit at a time", + "Define the supply density that unlocks demand", + "Open demand only after the threshold", + "Iterate to the next unit" + ], + "prompt": "Solve the marketplace cold-start problem by saturating supply first (Andrew Chen pattern — Airbnb / Uber / Tinder hard-side).\n\nInputs:\n- Marketplace concept + take rate: [paste]\n- Supply side (sellers / drivers / hosts / etc.) + demand side: [paste]\n- Geographic or vertical concentration unit (city, niche, time-slot): [paste]\n- Capital available for supply incentives: [paste]\n- Competitive supply (where do they already sell?): [paste]\n\nPhase 1 — Identify the concentration unit.\n- For Airbnb: city (a host in NYC matters to NYC demand only)\n- For Uber: city + time-of-day\n- For a vertical talent marketplace: niche (frontend devs)\n- For a creator marketplace: niche × creator-size tier\n\nRecommend ONE concentration unit. Wait for me to confirm.\n\nPhase 2 — Pick the first unit and saturate.\n- Pick the unit where you have the strongest founder-network edge (NOT the biggest market)\n- Define \"saturated\": e.g., Airbnb required 300 listings + 100 reviewed per city BEFORE opening demand\n- For your unit: what's the equivalent threshold?\n\nPhase 3 — Acquire supply.\n- Tactic 1: poach from competitor marketplaces (personally email 100+ existing supply, offer \"list with us free + send you a check minus reduced take rate\")\n- Tactic 2: white-glove onboarding (founder personally onboards first 50 supply — record what they ask)\n- Tactic 3: anchor supply (recruit 3-5 high-status supply that draws others — celebrity hosts, top devs, signature restaurants)\n- Tactic 4: subsidize early — pay supply directly to be present for the first 90 days\n\nPhase 4 — Hold demand back.\n- Resist the urge to acquire demand before supply is dense\n- A poor first-demand experience kills brand\n- Only open demand when supply density gives a 90%+ \"find what you came for\" rate\n\nPhase 5 — Open demand (carefully).\n- One channel only at first (e.g., one neighborhood, one Reddit community, one influencer)\n- Measure: completion rate, NPS, return-visit rate\n- Tune the supply mix based on demand feedback\n\nPhase 6 — Iterate to the next unit.\n- Once unit 1 is humming, replicate the supply-acquisition playbook in unit 2\n- Don't open unit 3 until unit 2 has demand traction\n- City-by-city beats nationwide-launch for the first 10 units\n\nPhase 7 — Output.\n- Concentration-unit choice + reasoning memo\n- Supply density threshold per unit\n- Supply acquisition playbook (4 tactics with scripts + budgets)\n- 90-day plan for unit 1 with weekly milestones\n- A \"launch criteria\" checklist for opening demand\n\nFeedback signal:\n- Supply density → demand completion rate curve — calibrates the threshold for next unit\n- Supply churn per unit — surface why supply leaves\n- Which acquisition tactic worked best per unit — bias the next unit's playbook\n\nQuality bar:\n- NEVER open demand before supply is saturated — first-impression damage compounds\n- NEVER assume one supply playbook works in every unit — each unit has its own dynamics\n- Subsidies expire — plan unit-economics that work without subsidy by month 12\n- Order: supply, demand, supply, supply, supply (Andrew Chen's heuristic for hard-side marketplaces)" + }, + { + "id": "founder-time-audit", + "name": "Run a 5-day founder time audit + delegation log", + "category": "Personal", + "tags": [ + "audit", + "founder", + "personal" + ], + "emoji": "⏱️", + "description": "Run a 5-day founder time audit. Get a leverage map, a delegation log, and a 90-day re-audit plan.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "gmail-mcp", + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Log activity in 30-min blocks for 5 workdays", + "Categorize hours by leverage tier", + "Identify delegation candidates", + "Write the delegation log", + "Schedule 90-day re-audit" + ], + "prompt": "Run a 5-day founder time audit + delegation log (First Round pattern — re-audit at 90 days).\n\nInputs:\n- Last week's calendar (or paste a screenshot): [paste]\n- Last week's journal / Slack messages / commits: [paste or path]\n- My current top 3 priorities: [paste]\n- Team I could delegate to (with role + capacity): [paste]\n- My self-perceived \"energy zones\" (high / low productivity times): [paste]\n\nPhase 1 — Log 5 days in 30-min blocks.\n- For each block: activity, who I was with, mode (deep work / shallow / meeting / reactive), energy level (high/med/low)\n- Be honest — count Twitter scrolling and email refresh\n- Don't skip the bathroom breaks and lunch — those have signal too\n\nPhase 2 — Categorize by leverage tier.\nTier 1 (10x leverage — only-the-founder-can-do):\n- Strategic decisions, hiring critical roles, top-customer relationships, public face\nTier 2 (3x — founder-best-equipped, but delegable later):\n- Founder-led sales, fundraising prep, key product decisions\nTier 3 (1x — important but generic):\n- Email management, scheduling, reporting, expenses\nTier 4 (<1x — reactive, eats time):\n- Slack noise, low-stakes context-switching, reactive meetings\n\nTotal hours per tier. Surface where 60%+ of your week is going.\n\nPhase 3 — Identify delegation candidates.\n- Every Tier 3 / 4 activity: who could do this today? (name a person)\n- If no one can do it today, what would they need to be ready in 30 days?\n- Compute the cost: hiring vs delegating to an existing teammate vs automating\n\nPhase 4 — Write the delegation log.\nFor each delegation:\n- Activity, owner, transition plan (shadow → co-do → handoff)\n- Approval needed before owner takes over (and how often that approval shrinks)\n- Quality bar — what does \"good\" look like?\n- The \"I take back\" condition (when do I re-own this?)\n\nPhase 5 — Schedule the 90-day re-audit.\n- Same 5-day log in 90 days\n- Compare leverage-tier mix before vs after\n- If Tier 3 / 4 still >40% of week, delegation isn't sticking — diagnose\n\nPhase 6 — Output.\n- 5-day log (filled in)\n- Leverage tier pie chart\n- Delegation log (Notion / sheet) with owners + transition plans\n- A \"stop list\" — things I'll just stop doing (not delegate)\n- 90-day re-audit calendar block\n\nFeedback signal:\n- Tier mix delta over 90 days — are you actually shifting?\n- Delegations that snapped back to founder — why?\n- Energy zone shifts — did peak hours move into Tier 1 work?\n\nQuality bar:\n- NEVER skip the embarrassing entries (scrolling, distraction) — they're the highest-ROI signal\n- NEVER delegate without naming the quality bar — that's how delegation fails\n- \"Stop\" beats \"delegate\" for low-ROI work — kill it entirely\n- Founders systematically over-estimate the value of their reactive work — audit honestly" + }, + { + "id": "burn-runway-model", + "name": "Build a burn + runway scenario model", + "category": "Finance", + "tags": [ + "finance", + "founder", + "report" + ], + "emoji": "🔥", + "description": "Build a burn + runway model with burn multiple, scenarios, and a board-ready dashboard.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull current P&L + cash position", + "Compute base burn + growth burn", + "Calculate burn multiple", + "Run base / aggressive / defensive scenarios", + "Output a board-ready 1-pager" + ], + "prompt": "Build a burn + runway scenario model (Tomasz Tunguz / Theory pattern).\n\nInputs:\n- Current cash + bank balance: [paste]\n- Last 12 months P&L (revenue + costs by category): [paste]\n- Current MRR / ARR + growth rate: [paste]\n- Hiring plan for the next 12 months: [paste]\n- Fundraise plan (timing + size + dilution target): [paste]\n\nPhase 1 — Pull current state.\n- Monthly revenue (recurring + one-time)\n- Monthly costs by category: payroll (split eng / sales / G&A), infra, marketing, tools, other\n- Monthly burn = costs - revenue\n- Cash position + months of runway at current burn\n\nPhase 2 — Compute base burn vs growth burn.\n- Base burn: spend required to keep the lights on (payroll for existing team + infra + minimum marketing)\n- Growth burn: incremental spend going into new acquisition + new hires\n- Net new ARR added per quarter\n\nPhase 3 — Calculate burn multiple.\n- Burn multiple = net burn / net new ARR\n- <1x = exceptional; 1-1.5x = good; 1.5-2x = OK; >2x = problem\n- Track over the last 6 months — surface the trend\n\nPhase 4 — Run scenarios.\n\nBase case:\n- Current trajectory + planned hires\n- Months of runway at current burn growth\n\nAggressive growth:\n- 50% more spend on growth (more sales, more marketing)\n- Modeled revenue lift (be skeptical — most growth assumptions are too optimistic)\n- Runway impact\n\nDefensive:\n- Hold spend flat for 6 months\n- Reduced growth assumption\n- Extended runway\n\nCuts (if needed):\n- Where you'd cut 20% of monthly burn if you had to (named line items + dollar impact + revenue risk)\n\nPhase 5 — Fundraise timing.\n- Months of runway at each scenario\n- Target: raise when you have 9+ months runway (NEVER let it dip below 6 unless you've committed term sheet)\n- What metrics you need to hit BEFORE the raise (NRR, NDR, growth rate, ICP convergence)\n\nPhase 6 — Output.\n- Cash flow model .xlsx (with assumptions on a single sheet so I can vary them)\n- 1-page board dashboard PDF (current burn, burn multiple, runway, scenario table)\n- A \"cut list\" memo — where I'd cut and what the revenue risk is\n- A fundraise timing memo\n\nFeedback signal:\n- Actual vs forecast burn per month — surface drift\n- Burn multiple trend — improving or degrading?\n- Which scenarios played out — refine assumptions for next model\n\nQuality bar:\n- NEVER model revenue growth that requires hiring you haven't made yet\n- NEVER assume infra costs scale linearly with users — they don't (usually super-linear)\n- Reserve 3-month buffer in the runway calculation — fundraises slip\n- This is modeling, NOT a commitment — share with the board WITH the assumptions visible" + }, + { + "id": "why-we-lost-battlecard", + "name": "Run a 'why we lost' battlecard loop", + "category": "Sales", + "tags": [ + "audit", + "loop", + "sales" + ], + "emoji": "🃏", + "description": "Run a weekly why-we-lost battlecard loop (Klue pattern). Get a 1-screen battlecard refreshed weekly with rep-usage tracking.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Interview every closed-lost deal within 7 days", + "Pull 3 quotes/week into the battlecard", + "Update the 1-screen battlecard weekly", + "Track rep adoption + correlated win rate", + "Refresh competitor positioning quarterly" + ], + "prompt": "Run a \"why we lost\" battlecard loop (Klue + Primary Intelligence pattern — weekly cadence, 1-screen format).\n\nInputs:\n- Closed-lost deals from last 90 days: [paste with company + competitor + lost-reason if known]\n- Top 3 competitors I lose to: [paste]\n- Current battlecard format (if any): [paste]\n- Sales team size + competitive deal volume per week: [paste]\n\nPhase 1 — Interview every closed-lost deal within 7 days.\n- Founder personally calls the buyer (NOT the rep) for a 20-min conversation\n- Open: \"I'm not trying to re-pitch — I want to understand what happened so we can be a better fit next time\"\n- Questions:\n - When did you first realize we weren't the right fit?\n - What did [competitor] do that we didn't?\n - What would have changed your decision?\n - Who else weighed in on the decision?\n - What's your honest take on our pitch?\n- Take notes verbatim (NOT paraphrased)\n\nPhase 2 — Pull 3 quotes/week into the battlecard.\nPer competitor, surface:\n- The 3 most recurring objections we lose on\n- The 3 wedge angles competitors use against us\n- The 3 things buyers WISH we did differently\n\nPhase 3 — 1-screen battlecard per competitor.\nSingle screen format (don't fit a 30-page PDF — reps don't use those):\n- Positioning (1 sentence on competitor + 1 sentence on us vs them)\n- Top 3 traps (what they say about us — and the counter)\n- Top 3 landmines (questions to ask that surface their weakness)\n- Pricing reality (their actual price, not website)\n- Best customer quote that lands the differentiation\n- \"Trigger to switch\" (events at the buyer that signal we win)\n\nPhase 4 — Track rep adoption.\n- Embed the battlecard in the CRM at the deal stage where competitor is identified\n- Track: which reps click the battlecard? Which use the talking points?\n- Correlate rep usage with their win rate vs competitor — promote the winning patterns\n\nPhase 5 — Weekly cadence.\n- Friday 30-min: review last week's losses + 1 new quote per battlecard\n- Update the 1-screen with the freshest material\n- Notify sales of changes (Slack #competitive)\n\nPhase 6 — Quarterly deep refresh.\n- Re-research competitor pricing (their website lies)\n- Customer interviews with 5 lost buyers + 5 won buyers\n- Update the positioning paragraph if the market moved\n\nPhase 7 — Output.\n- 1-screen battlecard per top-3 competitor (Notion or PDF, fit on one screen)\n- Closed-lost interview script + question bank\n- Weekly refresh template\n- Rep-usage dashboard\n- Quarterly competitor pricing tracker\n\nFeedback signal (closes the loop):\n- Win rate vs competitor over time — improving = the battlecard is working\n- Quote / objection frequency — surface emerging patterns\n- Rep adoption rate — if low, the format is wrong (or the content is)\n\nQuality bar:\n- NEVER skip the 7-day interview window — memory fades fast\n- NEVER put battlecard content in a 30-page PDF — it dies there\n- The buyer's words matter MORE than the rep's interpretation — capture verbatim\n- If a battlecard doesn't change for a month, the loop is broken — fix it" + }, + { + "id": "churned-customer-winback", + "name": "Run a reason-segmented winback campaign", + "category": "Customer Success", + "tags": [ + "customer-success", + "loop" + ], + "emoji": "🔙", + "description": "Run a reason-segmented winback (Getir-style — outperformed benchmark without a discount). Get sequences branched by cancel reason.", + "works_best_with": { + "agent_profile": "marketing-agent", + "skills": [ + "concise-planning", + "vale-brand-voice" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Map cancel-reason taxonomy", + "Segment churned customers by reason", + "Branch a 90-day sequence per reason", + "Send from a founder-from address", + "Read out at 90 days" + ], + "prompt": "Run a reason-segmented winback campaign for churned customers.\n\nInputs:\n- Churned customer list (last 12 months, with cancel reason if captured): [paste]\n- Current cancel-flow questions: [paste]\n- Top product changes since they churned (features shipped, pricing changes, partner integrations): [paste]\n- My sending email + signature: [paste]\n- Brand voice: [paste]\n\nPhase 1 — Map the cancel-reason taxonomy.\nStandard buckets:\n- Price-sensitive (cited cost / budget)\n- Missing feature (cited specific feature gap)\n- Competitor switch (named another tool)\n- Inactive / lost-champion (no usage in last 60 days before cancel; champion left)\n- Wrong fit (bought the wrong product for their need)\n- Reason-unstated (no signal — typically the smallest sub-segment)\n\nFor each: count of churned customers in last 12 months + total ARR lost.\n\nPhase 2 — Branch a 90-day sequence per reason.\n\nPrice-sensitive (3 emails over 30 days):\n- Email 1 (day 0): \"we shipped X\" (the cost-impact feature) + a discount or annual deal\n- Email 2 (day 14): ROI calculator showing their specific use case\n- Email 3 (day 30): \"would 6 months at half price help you re-evaluate?\"\n\nMissing feature (3 emails, triggered when the feature ships):\n- Email 1 (day 0): \"you asked for X. We shipped it. Here's how it works.\"\n- Email 2 (day 14): \"want to try it free for 30 days?\"\n- Email 3 (day 30): \"interested? Here's a 1:1 walkthrough offer.\"\n\nCompetitor switch (3 emails over 60 days):\n- Email 1 (day 30): \"how's [competitor] working out? Honest take from us\"\n- Email 2 (day 60): head-to-head battle card on the specific gap they hit\n- Email 3 (day 90): one-time migration offer\n\nInactive / lost-champion (3 emails over 30 days):\n- Email 1 (day 0): \"your champion [name if known] left — are you using [product] differently?\"\n- Email 2 (day 14): \"if you need a re-onboarding, we'll do it free\"\n- Email 3 (day 30): clean break — \"let us know if you ever come back\"\n\nWrong fit (1 email — be honest):\n- Day 0: \"we weren't the right fit. Here's who we send people like you to.\"\n- This builds reputation > revenue\n\nPhase 3 — Send from a founder-from address.\n- Personal email from founder (not @marketing or @noreply)\n- Plain text, no images, no template feel\n- Sign with name + role\n\nPhase 4 — Read out at 90 days.\n- Per reason: response rate + reactivation rate + ARR recovered\n- Compare to no-action churn baseline\n- Top-performing reason / email — promote to default winback\n\nPhase 5 — Output.\n- Reason-bucket dashboard (counts + ARR)\n- 4-track email sequence (one per actionable reason)\n- A \"do not contact\" list (customers who explicitly asked)\n- A 90-day measurement template\n\nFeedback signal (closes the loop):\n- Reactivation rate per reason — calibrate which sequences are worth running\n- Average revenue recovered per email — surface the highest-ROI track\n- New reasons emerging in replies — add buckets\n\nQuality bar:\n- NEVER send to a customer who opted out of marketing — re-confirm before send\n- NEVER fake personalization — the founder-from address must actually come from a real person\n- Don't discount price-sensitive customers below what new customers pay — that breaks trust\n- Sometimes the right answer is \"we weren't the right fit, here's a better alternative\" — those replies build long-term reputation" + }, + { + "id": "sleep-recovery-audit", + "name": "Audit sleep and recovery from wearable data", + "category": "Health", + "tags": [ + "audit", + "health", + "personal" + ], + "emoji": "🛌", + "description": "Audit 30 days of wearable data. Get a narrative of what's helping, what's hurting, and tonight's one action.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull 30 days of biometric data", + "Compute baselines + recent drift", + "Cluster what helps vs hurts recovery", + "Recommend the single biggest lever", + "Schedule a 14-day re-check" + ], + "prompt": "Audit my last 30 days of sleep + recovery from wearable data.\n\nInputs:\n- Source: [Oura / Whoop / Apple Watch / Garmin / Fitbit — export or paste]\n- 30 days of nightly metrics (sleep stages, HRV, RHR, temperature deviation, sleep score): [paste or path]\n- Daily context I tracked (workouts, alcohol, late meals, travel, caffeine): [paste]\n- My current sleep goal (recovery / cognition / mood / training): [paste]\n- Any sleep issues I'm tracking (waking at 3am, sleep onset, etc.): [paste]\n\nPhase 1 — Compute baselines + drift.\n- 30-day mean and SD for HRV, RHR, total sleep, REM %, deep %\n- Last 7 days vs prior 23 — surface meaningful drift (>1 SD)\n- Compare against age + sex norms (cite the source)\n\nPhase 2 — Cluster what helps vs hurts.\n- Cross-tab biometrics against my daily context (alcohol, late meals, hard workouts, etc.)\n- Surface the 3 strongest signals helping recovery\n- Surface the 3 strongest signals hurting it\n- Distinguish correlation from causation — flag what needs an experiment\n\nPhase 3 — Recommend the single biggest lever.\n- One change I can make TONIGHT (not 5 — one)\n- One experiment to run over the next 14 days (A/B-style: do X on odd days, skip on even)\n- Explicit predictions: what biometric should move + by how much\n\nPhase 4 — Output.\n- 1-page audit PDF in my workspace\n- A \"tonight's action\" line at the top\n- 14-day experiment plan + the metric to watch\n- A \"what I'm NOT going to change\" list (so I don't over-optimize)\n\nFeedback signal (14-day re-check):\n- Did the predicted metric move?\n- Surprises (a signal you missed)\n- Patterns to test next round\n\nQuality bar:\n- This is data interpretation, NOT medical advice — frame as such\n- NEVER claim a clinical diagnosis from wearable data\n- If you see consistent hypoxia / extreme HRV / new arrhythmia signals, recommend a doctor visit\n- Don't over-fit on small differences — wearable accuracy has known limits" + }, + { + "id": "doctor-appointment-prep", + "name": "Prep a symptom log and doctor's appointment", + "category": "Health", + "tags": [ + "health", + "personal", + "report" + ], + "emoji": "🩻", + "description": "Build a symptom timeline + question list for a doctor visit. Get a 1-page summary and a prioritized question stack.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Build the symptom timeline", + "Cluster by severity + frequency", + "Draft a 1-page handout", + "Write a question stack", + "Map answers expected" + ], + "prompt": "Prep for a doctor's appointment with a symptom log + question list.\n\nInputs:\n- Reason for the visit: [paste]\n- Symptom log (free text — when, how bad, what helped, what hurt): [paste]\n- Medications + supplements + dosages: [paste]\n- Recent labs / vitals / imaging (paste or path): [paste]\n- Family / personal history relevant to the visit: [paste]\n- Appointment length (most are 15-20 min — plan accordingly): [paste]\n\nPhase 1 — Build the symptom timeline.\n- Sort symptoms chronologically with onset, severity (1-10), pattern (constant / episodic / worsening), triggers, things that helped\n- Note any consistent time-of-day or correlation with food / stress / movement\n- Flag any symptom that's NEW since last visit\n\nPhase 2 — Cluster.\n- Severity × frequency matrix — which symptoms get priority\n- Group by likely system (cardiac / GI / neuro / etc.) to help the doctor\n- Surface what you're NOT sure is related (let them connect the dots)\n\nPhase 3 — Draft a 1-page handout to give the doctor.\n- Top: reason for visit (1 sentence)\n- Timeline: 5-8 bullets of the key events\n- Current meds + supplements\n- What I've tried already + what helped\n- What I'm worried about (be honest — saves time)\n\nPhase 4 — Write the question stack (ranked by priority).\n- Top 3: questions you MUST get answered\n- Next 3-5: nice-to-have\n- For each: phrase it openly (\"what could cause X?\" not \"is it Y?\")\n- Map each question to \"tests / treatment / next steps\" bucket\n\nPhase 5 — Output.\n- 1-page handout PDF\n- Question list (print or phone-ready)\n- A \"what I'll do if they say X / Y / Z\" decision tree\n\nFeedback signal (after the appointment):\n- Which questions got answered, which got deferred\n- Any test or referral suggested — log to follow up\n- New symptoms or angles the doctor surfaced — add to the next log\n\nQuality bar:\n- NEVER self-diagnose — describe symptoms, let the doctor diagnose\n- Bring the handout printed AND on phone (some doctors prefer one)\n- If you have a worst-fear question, ask it — most doctors prefer directness\n- For chronic conditions, ask about the next 90-day plan, not just the next pill" + }, + { + "id": "cbt-mood-journal", + "name": "Run a CBT mood journal with weekly trends", + "category": "Health", + "tags": [ + "health", + "loop", + "personal" + ], + "emoji": "🧘", + "description": "Run a daily CBT journal companion. Get cognitive-distortion catches, weekly mood trends, and one experiment per week.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Daily check-in (mood + thought)", + "Spot cognitive distortions", + "Socratic reframe", + "Weekly mood trend + one experiment", + "Track PHQ-9 / GAD-7 monthly" + ], + "prompt": "Run a daily CBT-style mood journal as my reflective partner.\n\nInputs:\n- Today's mood (1-10) + 2-line description of the day: [paste]\n- A specific thought that's been sticky (worry, regret, self-criticism): [paste]\n- Sleep last night + caffeine + exercise today: [paste]\n- Current life context (job, relationship, health, money — what's loud right now): [paste — once, will persist for the journal]\n- Any therapy or coaching I'm doing in parallel: [paste]\n\nPhase 1 — Reflect, don't fix.\n- Restate what I said back to me (validates the feeling first)\n- Ask one open follow-up question to draw out detail\n- DO NOT give advice in this phase\n\nPhase 2 — Spot cognitive distortions (gentle Socratic).\nFor the sticky thought, identify any of these patterns:\n- All-or-nothing\n- Catastrophizing\n- Mind-reading\n- Personalization\n- \"Should\" statements\n- Discounting positives\n- Emotional reasoning\n\nIf you spot one, name it as a possibility (NOT a verdict) and ask: \"is there another way to read this?\"\n\nPhase 3 — Socratic reframe.\n- Ask: what evidence supports the thought? What evidence contradicts it?\n- Ask: what would I say to a friend in this exact situation?\n- Help me draft a reframe — NOT a happier lie, a more accurate one\n- The reframe is mine to accept or reject\n\nPhase 4 — Weekly trend (Sundays).\n- Mood graph for the week + average\n- Recurring distortions\n- The 1-2 themes that came up most often\n- One experiment to try this week (small, concrete, reversible)\n\nPhase 5 — Monthly check-in (1st of the month).\n- PHQ-9 / GAD-7 short-form\n- Trend over the last 3 months\n- Whether to escalate to a therapist if not already in care\n\nPhase 6 — Output.\n- Daily entry saved as a markdown file (so I can search later)\n- Weekly Sunday summary (mood + themes + experiment)\n- Monthly trend PDF\n\nFeedback signal:\n- Mood trajectory over weeks (climbing / falling / volatile)\n- Which experiments stuck vs which fizzled\n- Distortion patterns that recur — those are the ones to bring to a therapist\n\nQuality bar:\n- This is a journal companion, NOT therapy. Frame as such.\n- NEVER diagnose. If I describe symptoms of harm to self or others, immediately recommend professional help + crisis resources.\n- Use my words, not yours — the reframe must feel like mine\n- Be warm but not saccharine — the language matters" + }, + { + "id": "strength-program-builder", + "name": "Build a periodized strength training program", + "category": "Health", + "tags": [ + "health", + "personal" + ], + "emoji": "💪", + "description": "Build a periodized strength program. Get a 4-12 week mesocycle with RPE targets, deloads, and weekly auto-adjust.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm goal + 1RMs + constraints", + "Pick the methodology", + "Generate the mesocycle", + "Tune for recovery + RPE feedback", + "Output weekly + auto-adjust rules" + ], + "prompt": "Build a periodized strength training program tailored to me.\n\nInputs:\n- Goal: [strength / hypertrophy / power / fat loss with muscle / general]\n- Current 1RMs (squat, bench, deadlift, OHP — if known) OR honest training maxes: [paste]\n- Days per week I can train: [paste]\n- Equipment available: [home / commercial gym / minimal]\n- Methodology preference (if any): [5/3/1 / GZCL / GVT / Daniels / RPE-based / \"you pick\"]\n- Recent injury history + movements to avoid: [paste]\n- Cardio + sport context (running, climbing, etc.): [paste]\n\nPhase 1 — Pick the methodology.\n- Score 5/3/1, GZCL, Daniels GVT, RPE-based, classic linear against my goal + experience level\n- Recommend ONE with reasoning (one paragraph)\n- If I push back, propose a runner-up\n\nPhase 2 — Generate the mesocycle (4-12 weeks).\n- Weekly split (e.g., 4-day upper/lower)\n- Per session: main lifts (sets × reps × % 1RM or RPE), accessory lifts, conditioning\n- Progression scheme (linear / wave / RPE-adjusted)\n- Deload week(s) inserted appropriately (typically week 4 or 6)\n- A test week at the end (top set or rep test)\n\nPhase 3 — Recovery + RPE feedback rules.\n- Per session: log RPE on the top set\n- If RPE is >1 higher than target for 2 sessions in a row: drop next session's load 5%\n- If RPE is >1 lower for 2 sessions in a row: bump next session 5-10 lb\n- HRV / sleep red flag (if I track): swap heavy day for technique work\n\nPhase 4 — Movement quality + safety.\n- Cues for the 4 main lifts (form points I should check on warmups)\n- Warmup protocol\n- Conditioning options that don't tank recovery\n\nPhase 5 — Output.\n- A printable per-week plan (PDF)\n- A spreadsheet for logging (sets × reps × weight × RPE × notes)\n- The auto-adjust rules in a 1-page reference\n- A \"what to do if I miss a session\" cheat sheet\n\nFeedback signal:\n- Weekly: RPE drift vs plan — calibrate the next week's loads\n- Monthly: are the top sets going up at the planned rate?\n- Body comp / strength trajectory at the end of the mesocycle — confirms goal alignment\n\nQuality bar:\n- This is a training plan, NOT medical or PT advice\n- NEVER prescribe past a movement I said I'd avoid\n- If I report sharp pain (vs DOMS), advise stopping the lift and seeing a PT\n- Defaults are conservative — I can always do more, but starting too aggressive injures" + }, + { + "id": "habit-retrospective-loop", + "name": "Run a habit-tracker weekly retrospective", + "category": "Personal", + "tags": [ + "loop", + "personal" + ], + "emoji": "✅", + "description": "Run a weekly habit retrospective. Get adherence patterns, slip triggers, and one experiment for the next week.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull habit check-ins + notes", + "Compute adherence per habit", + "Spot slip triggers", + "Propose one experiment", + "Re-measure next week" + ], + "prompt": "Run my weekly habit retrospective.\n\nInputs:\n- Habits I'm tracking + the rule for each (e.g., \"read 20 min before bed\"): [paste]\n- Last 7 days of check-ins (Y/N per habit per day): [paste]\n- Notes I wrote about misses or wins: [paste]\n- Last week's experiment + outcome (if any): [paste]\n\nPhase 1 — Adherence math.\n- Per habit: completion rate this week vs 4-week average\n- The habit with the steepest decline — surface first\n- The habit with the strongest streak — that's your anchor\n\nPhase 2 — Spot slip triggers.\n- Cluster misses by day-of-week + by surrounding context (late work day, travel, social, sick)\n- Identify the ONE recurring trigger most predictive of misses\n- Validate: do you have evidence over multiple weeks, or is it a hunch?\n\nPhase 3 — Recommend one experiment.\n- ONE small change for next week (anchor habit to existing routine, shift time, lower the bar)\n- Make it concrete: \"swap evening reading from after dinner to right after kids' bedtime\"\n- Predict: what completion rate will this lift the slipping habit to?\n\nPhase 4 — Output.\n- Adherence table (this week vs trend)\n- Slip-trigger note\n- Next week's experiment (one line)\n- A \"do nothing\" list (habits that are working — don't tinker)\n\nFeedback signal (closes the loop next week):\n- Did the experiment lift the metric?\n- Did fixing one habit hurt another? (energy budget is real)\n- Recurring triggers across weeks — surface as systemic\n\nQuality bar:\n- Total output <250 words — this is a tight reflection, not an essay\n- Be honest about slips — sugar-coating doesn't help\n- Don't add a new habit on top of failure — fix what's slipping first\n- If a habit slips 3 weeks in a row, propose killing it OR splitting it into something smaller" + }, + { + "id": "textbook-anki-builder", + "name": "Turn a textbook chapter into an Anki deck", + "category": "Personal", + "tags": [ + "personal", + "research" + ], + "emoji": "📑", + "description": "Turn a textbook chapter into an Anki deck. Get cloze + Q&A cards tagged by topic, ready to import as CSV.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Identify load-bearing concepts", + "Generate cloze cards for facts", + "Generate Q&A cards for understanding", + "Tag by topic + difficulty", + "Output CSV ready to import" + ], + "prompt": "Turn this textbook chapter into a high-quality Anki deck.\n\nInputs:\n- Chapter text or PDF: [paste or path]\n- Subject + course context: [e.g. USMLE Step 1 immunology, AP biology, organic chemistry 1]\n- My current skill level (new / reviewing / mastery): [paste]\n- Tag scheme to use (e.g. organ system, exam topic, week): [paste]\n- Card budget for this chapter: [default 50-80 cards — quality over quantity]\n\nPhase 1 — Identify load-bearing concepts.\n- Read the chapter end-to-end\n- Surface the 10-15 concepts you'd test on for understanding (not trivia)\n- Surface the facts that students MUST memorize (definitions, named effects, numeric thresholds)\n- Drop \"nice to know\" content — don't pad the deck\n\nPhase 2 — Cloze cards for facts.\n- One blank per card (NEVER multi-blank — bad for retention)\n- The blank is the load-bearing word, not a function word\n- Wrap context: \"The {{c1::renin-angiotensin}} system regulates blood pressure via aldosterone.\"\n- 20-30 cloze cards max per chapter\n\nPhase 3 — Q&A cards for understanding.\n- Q is an open question, not \"what is X?\" — instead \"Why does X happen when Y?\"\n- A is concise (2-3 sentences max)\n- Include one card per concept that connects to PRIOR chapters (spaced linking)\n- 15-25 Q&A cards max\n\nPhase 4 — Tag every card.\n- Chapter / topic\n- Type (cloze / qa / image-occlusion-if-applicable)\n- Difficulty (basic / intermediate / advanced)\n- A custom tag matching my scheme\n\nPhase 5 — Output.\n- CSV ready to import to Anki (tab-separated or CSV per Anki's format)\n- A 1-line summary of what the deck covers (paste into Anki notes)\n- A \"skip these in your first pass\" tag for the harder cards (build confidence first)\n\nFeedback signal (after 30 days):\n- Per card: how often did you flip \"again\" / \"hard\" / \"good\" / \"easy\"?\n- Cards that consistently fail — rewrite or split\n- Concepts where retention dies despite cards — surface; might need a different format (image occlusion, mnemonic)\n\nQuality bar:\n- NEVER write multi-blank cloze cards — they tank retention\n- NEVER pad with trivia (\"the textbook author was born in 1948\")\n- Cards should test understanding, NOT recall of textbook phrasing\n- If you can answer the card without thinking about the concept, the card is wrong" + }, + { + "id": "language-learning-daily-plan", + "name": "Plan a daily language-learning routine", + "category": "Personal", + "tags": [ + "loop", + "personal" + ], + "emoji": "🗨️", + "description": "Plan a daily language-learning routine. Get vocab + listening + speaking + writing slots tuned to your CEFR level.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm target language + CEFR level + time budget", + "Allocate the 4 skills across the day", + "Generate today's specific content", + "Plan a weekly review", + "Adapt to your weak skill" + ], + "prompt": "Plan today's language-learning routine.\n\nInputs:\n- Target language + my CEFR level (A1 / A2 / B1 / B2 / C1 / C2): [paste]\n- Daily time budget (30 min / 60 min / 90 min): [paste]\n- Specific goal (travel / work / read a novel / pass an exam): [paste]\n- Resources I have (Anki deck, textbook, podcasts, tutor, apps): [paste]\n- This week's weak skill (listening / speaking / reading / writing): [paste]\n\nPhase 1 — Allocate skills across the time budget.\nFor 60 min total (scale others proportionally):\n- 15 min: vocabulary + grammar review (Anki + 1 new grammar point)\n- 15 min: listening (a podcast, video, or song at +1 CEFR level)\n- 15 min: output — speaking OR writing (active production)\n- 15 min: reading (a graded reader, news, or excerpt at your level)\n\nAdjust weighting toward this week's weak skill (give it +30%).\n\nPhase 2 — Generate today's specific content.\nFor each slot:\n- Vocab + grammar: 5-10 new words pulled from yesterday's input + 1 grammar pattern\n- Listening: a specific recommendation (podcast episode, YouTube video) with timestamps\n- Output:\n - Speaking: 3 prompts to roleplay with an AI tutor (in target language)\n - Writing: 1 prompt to write 100-200 words on, with self-check questions\n- Reading: a specific text excerpt + 5 comprehension questions\n\nPhase 3 — Weekly review schedule.\n- Sunday: a 20-min review of the week's new vocab (sentence-level use, not just card flips)\n- Monthly: a self-assessment against CEFR descriptors\n\nPhase 4 — Output.\n- Today's plan (1 page) with timing + resource links\n- A \"if I only have 20 minutes\" fallback (minimum viable session)\n- A vocab log to add to Anki tonight\n- A \"today I learned\" line to log\n\nFeedback signal (weekly):\n- Which slot was most engaging — bias time toward it\n- Which slot got skipped most — friction signal; redesign\n- Weak-skill progress vs last week\n\nQuality bar:\n- Choose content at the right level — too easy is boring, too hard kills momentum\n- Prioritize INPUT over output for A1-B1; flip toward output at B2+\n- Don't drill conjugation tables for an hour — context beats drill\n- If a session feels like a chore, the plan is wrong — adjust ratios" + }, + { + "id": "test-prep-study-plan", + "name": "Plan an adaptive test-prep study schedule", + "category": "Career", + "tags": [ + "career", + "personal" + ], + "emoji": "✏️", + "description": "Plan an adaptive test-prep schedule. Get a diagnostic-driven plan, targeted drills, and an A-week vs B-week structure.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Take a diagnostic + score per topic", + "Calculate study weeks to test", + "Allocate hours by weak topic", + "Build A-week vs B-week templates", + "Plan a final-week peaking taper" + ], + "prompt": "Plan my test-prep schedule, tuned to my weakest topics.\n\nInputs:\n- Test: [LSAT / MCAT / SAT / GMAT / GRE / bar / step 1 / step 2 / etc.]\n- Test date: [paste]\n- My diagnostic score (overall + per section + per topic if available): [paste]\n- Target score: [paste]\n- Hours I can study per week (be honest): [paste]\n- Resources I own (UWorld / Kaplan / Magoosh / OPL / books): [paste]\n- Big constraints (work, family, travel): [paste]\n\nPhase 1 — Diagnostic analysis.\n- Score per section + per topic\n- Identify the 3-5 weakest topics that block target score\n- Identify the 3-5 strongest topics (don't over-study these)\n- Compute the gap: target − current → translate to topic-level hours needed\n\nPhase 2 — Weeks remaining + hours budget.\n- Total weeks × hours/week = total budget\n- Reserve 2 weeks for final review + 1 week for peaking taper\n- Remaining weeks → topic study\n\nPhase 3 — Allocate hours by weak topic.\n- Per weak topic: target hours (more for weakest)\n- Each topic block: theory (read / watch) + drill (timed questions) + review (re-do misses)\n- Mix in cumulative practice tests every 2-3 weeks\n\nPhase 4 — A-week vs B-week templates.\n\nA-week (heavy practice):\n- 3-4 days: topic drills (90 min each)\n- 1 day: full-length practice test\n- 1 day: review the test in detail\n- 1 day: off\n\nB-week (build foundations):\n- 4-5 days: theory + new content + light drills\n- 1 day: cumulative review\n- 1 day: off\n\nAlternate A/B weeks until 3 weeks before the test, then go A-heavy.\n\nPhase 5 — Final 3 weeks (peaking).\n- Week -3: 2 full-length tests + intensive review\n- Week -2: 1 full-length test + targeted weak-topic drills\n- Week -1: light review + sleep + logistics\n- Test day: warmup with 3-5 easy problems, no new content\n\nPhase 6 — Output.\n- Full schedule (PDF, daily breakdown)\n- Weekly check-in template\n- Diagnostic re-take dates\n- A \"what to do if you miss a week\" fallback\n\nFeedback signal (every 2 weeks):\n- Topic-level score on cumulative tests vs plan\n- Hours actually studied vs planned\n- Stamina / fatigue patterns — adjust intensity\n\nQuality bar:\n- Don't study what you're already good at to feel better — that wastes hours\n- Spaced repetition beats massed practice — return to weak topics weekly, not in blocks\n- Full-length tests under real conditions matter more than question count\n- If burnout hits, take a 3-day break — better than a month of half-effort" + }, + { + "id": "mock-interview-rehearsal", + "name": "Rehearse mock interviews with feedback", + "category": "Career", + "tags": [ + "career", + "loop" + ], + "emoji": "🗒️", + "description": "Rehearse a structured mock interview. Get role-tuned questions, STAR practice, and rubric-scored feedback.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm role + company + interview type", + "Generate role-specific questions", + "Rehearse with STAR + critique", + "Score against the rubric", + "Plan focused practice" + ], + "prompt": "Rehearse a mock interview as my practice partner.\n\nInputs:\n- Role + level (e.g., senior PM at series B B2B SaaS, staff SWE at FAANG): [paste]\n- Company + interview round type (recruiter screen, hiring manager, technical, behavioral, system design, on-site): [paste]\n- My resume / current role context: [paste]\n- 2-3 stories I want to land + the competencies they show: [paste]\n- Public info about the company / interviewer if I have it: [paste]\n\nPhase 1 — Generate role-specific questions.\n- 5-10 likely questions for this round (behavioral / technical / case / system design)\n- Each question: the competency it tests + the trap the interviewer is watching for\n- Tag by difficulty (easy warmup → hard differentiator)\n\nPhase 2 — Rehearse (rounds of 3).\nFor each question:\n- Ask the question; wait for my answer\n- Critique using a STAR rubric (Situation, Task, Action, Result)\n- Flag filler (\"um\", \"kind of\", \"I guess\"), vague claims, missed metrics, missing reflection\n- Offer one rewrite of the strongest part of my answer\n\nAfter 3 questions, summarize: what's landing, what's not.\n\nPhase 3 — Behavioral rubric scoring.\nFor each story:\n- Specificity (1-5): named the project, the people, the numbers?\n- Conflict + decision quality (1-5): showed the hard moment + the reasoning?\n- Impact (1-5): quantified outcome and your contribution?\n- Self-awareness (1-5): owned a mistake or a stretch zone?\n- Communication (1-5): clear, paced, fielded the follow-up?\n\nPhase 4 — Technical round (if applicable).\n- Use the role's standard format (Leetcode-style, system design, case study)\n- Watch for: assumption-naming, time management, communication-while-solving, edge cases\n- Score against the round's rubric\n\nPhase 5 — Focused practice plan.\n- The 3 weakest patterns to drill before the real interview\n- One specific story to refine (here's the rewrite)\n- Logistics check (sleep, route to office, water, calendar buffer)\n\nPhase 6 — Output.\n- Score sheet per round\n- Rewrites for my top 3 stories\n- A drill list (specific questions to practice on my own)\n- A \"day-of cheat sheet\" with 3 reminders\n\nFeedback signal (after the real interview):\n- Which prep predicted what came up?\n- Surprises (questions I didn't prep for) — feed into next round's prep\n- My energy / pacing notes — refine the day-of plan\n\nQuality bar:\n- Critique kindly, not harshly — I'm here to improve, not be judged\n- Quote my actual words — vague feedback doesn't help\n- If a story doesn't land for the role, say so — don't polish a turd\n- Honest about probability — don't tell me I crushed it if I didn't" + }, + { + "id": "performance-review-draft", + "name": "Draft a performance review from evidence", + "category": "Career", + "tags": [ + "career", + "founder", + "report" + ], + "emoji": "🎖️", + "description": "Draft a performance review from goals + peer feedback + 1:1 notes. Get a narrative aligned to a competency rubric.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull goals + peer feedback + 1:1 notes", + "Map to competency rubric", + "Draft strengths + growth narrative", + "Recommend rating + comp suggestion", + "Flag development plan" + ], + "prompt": "Draft a performance review for one of my direct reports.\n\nInputs:\n- Report's name + role + level: [paste]\n- Review period: [Q3 2026 / full year / etc.]\n- Their goals for the period + outcomes: [paste]\n- Peer / cross-functional feedback collected: [paste]\n- My 1:1 notes from the period: [paste]\n- Our competency rubric (e.g., scope / execution / leadership / craft / collaboration): [paste]\n- Calibration constraints (target rating distribution, comp band): [paste]\n\nPhase 1 — Map evidence to rubric.\n- For each competency: list 2-3 specific behavioral examples (with dates if possible)\n- Mark gaps where I don't have enough evidence — flag for me to fill before drafting\n- Identify themes across multiple competencies\n\nPhase 2 — Draft strengths section.\n- 3-4 specific strengths, each with a concrete example\n- Use behavioral language (\"led the X project to Y outcome\") not personality (\"is a great team player\")\n- Tie each strength to business / customer impact\n\nPhase 3 — Draft growth section.\n- 2-3 areas with concrete behavioral examples\n- Frame as \"what would unlock the next level\" — not punitive\n- Pair each growth area with a specific action / project / coaching focus\n\nPhase 4 — Recommend rating + comp.\n- Rating against the rubric — calibrated against the distribution\n- Honest verdict (don't over-rate to avoid the conversation)\n- Comp suggestion if relevant (against the band you sent me)\n- A \"promotion-ready / on-track / needs improvement\" track verdict\n\nPhase 5 — Development plan for next period.\n- 2-3 specific goals tied to the growth areas\n- Coaching / mentorship plan\n- Stretch project recommendation\n\nPhase 6 — Output.\n- Review draft (markdown, ready to paste into the HRIS)\n- Calibration note for HR / your manager\n- Talking script for the live conversation (NOT the same as the doc — softer)\n- A list of compliments and growth points I should deliver in person, not in writing\n\nFeedback signal (after the conversation):\n- Did the report's self-assessment match yours? (Big delta = poor 1:1 cadence)\n- Which framing landed vs which felt blunt\n- Follow-up commitments to track over the next quarter\n\nQuality bar:\n- NEVER write a review that's softer than what I said in 1:1s — that's surprise-by-paper\n- NEVER copy template language — use the report's actual story\n- Behavioral examples > personality assessments\n- If there's a hard conversation needed, draft it explicitly — don't hide it" + }, + { + "id": "comp-review-prep", + "name": "Prep a compensation review against benchmarks", + "category": "Career", + "tags": [ + "career", + "founder", + "report" + ], + "emoji": "💵", + "description": "Run a comp review against Pave + Levels benchmarks. Get per-person raise + equity refresh recommendations with rationale.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull current comp + tenure + perf rating", + "Benchmark against Pave + Levels", + "Recommend per-person raises + equity refresh", + "Flag retention risks + flight signals", + "Output a per-person + team-level summary" + ], + "prompt": "Run a compensation review against market benchmarks.\n\nInputs:\n- Team comp data (per person: role, level, base, bonus target, equity, hire date, last comp change): [paste]\n- Recent performance ratings + flight risk notes: [paste]\n- Comp philosophy + target percentile (e.g., 60th of Pave): [paste]\n- Total budget for raises + equity refresh this cycle: [paste]\n- Benchmark source (Pave / Levels.fyi / Carta / Radford): [paste]\n- Stage of company + funding context: [paste]\n\nPhase 1 — Per person: pull current comp + benchmark.\n- Current total comp vs target percentile (gap %)\n- Levels.fyi range for the role\n- Equity outstanding (vested + unvested + cliff status)\n- Last refresh date\n\nPhase 2 — Surface anomalies.\n- Anyone significantly below band (retention risk)\n- Anyone above band (over-paid; calibration check)\n- Anyone past the 1-year cliff or vesting acceleration trigger\n- New hires whose comp anchor is now stale\n\nPhase 3 — Recommend per-person actions.\nFor each person:\n- Base raise (% and $ amount with reasoning)\n- Bonus target change (if any)\n- Equity refresh (size + cliff terms)\n- Promotion recommendation if applicable\n- Comp letter framing (warm but clear)\n\nPhase 4 — Aggregate check.\n- Total raise pool used vs budget\n- Distribution across performance ratings (top performers should get meaningful skew)\n- DEI sanity check: are similar roles / levels getting similar treatment regardless of demographic?\n\nPhase 5 — Flag retention risks.\n- People significantly under-market with above-average perf — top priority\n- People at cliff inflection — refresh now or risk leave\n- People with recent disengagement signals (low NPS, missed 1:1s, vacation drop) + under-market\n\nPhase 6 — Output.\n- Per-person comp letter draft (warm, specific, no jargon)\n- Team-level summary table (delta % per person, total spend)\n- Calibration note for HR / your manager\n- A flight-risk list with recommended interventions\n\nFeedback signal (next cycle):\n- Did the comp change shift retention as predicted?\n- Did under-market people end up leaving anyway? (Comp wasn't the issue.)\n- Calibration drift over time — recalibrate annually against benchmark refresh\n\nQuality bar:\n- NEVER skip the equity refresh conversation — comp is base + bonus + equity + benefits\n- Treat the conversation, not the number, as the retention lever\n- Be transparent about how the number was set — not \"we're being generous\" but \"here's the benchmark\"\n- If you can't fund the right number, say so — and own the retention risk" + }, + { + "id": "layoff-comms-package", + "name": "Prepare a layoff communications package", + "category": "Career", + "tags": [ + "career", + "founder" + ], + "emoji": "📢", + "description": "Prepare a layoff comms package: manager script, impacted-employee message, and team re-recruitment talking points.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "vale-brand-voice", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm business reason + impacted roster", + "Draft the manager notification script", + "Draft per-impacted-employee message + severance", + "Draft remaining-team re-recruitment plan", + "Plan the day-of logistics" + ], + "prompt": "Prepare a layoff communications package for a difficult day.\n\nInputs:\n- Business reason (be honest — restructuring / cost reduction / strategic shift / role elimination): [paste]\n- Impacted roster (roles, tenure, performance, manager): [paste]\n- Severance package details (weeks of pay, benefits continuation, equity treatment, references): [paste]\n- Day-of logistics window: [paste]\n- Remaining team context: [paste]\n- Legal review status: [paste — confirmed by counsel]\n\nPhase 1 — Confirm legal review.\n- Has counsel reviewed the impacted list and reasons?\n- Has each impacted person's protected class status been considered (WARN compliance, adverse impact)?\n- Are the severance terms locked?\nIf any answer is no, STOP. Get legal sign-off first.\n\nPhase 2 — Draft the manager notification script (15 min, structured).\n- Opening (60 sec): \"I have hard news. As you've heard / not heard, we've made the decision to eliminate your role. This is effective today. This is not about your performance.\"\n- Reason (60 sec): the honest business reason — no PR-speak\n- Severance (3 min): what they're getting (weeks, benefits, equity, references, LinkedIn rec, tooling for job search)\n- Logistics (3 min): last day, equipment return, COBRA, when comp lands, who they can reach with questions\n- Q&A (5 min): be present for whatever comes\n- Close (2 min): thank you for [specific contributions], wish them well\n\nPhase 3 — Per-impacted-employee message (written).\n- A personalized note (NOT a template) referencing their specific contributions\n- Severance + benefits summary in writing\n- Job-search support offer (references, intros, networking)\n- HR + manager contact info for questions\n\nPhase 4 — Remaining-team comms (the day after, NOT same day).\n- All-hands script: what happened, why, what's next\n- Honest framing — don't pretend the layoff didn't happen\n- Specific commitment about future (no layoff doesn't return is a promise you can't keep — be careful)\n- 1:1 talking points for every remaining manager: how to respond to \"am I next?\", how to address survivor's guilt, how to re-engage the team\n\nPhase 5 — Day-of logistics.\n- Comm schedule (impacted notifications block + all-hands)\n- Equipment / access offboarding timeline (immediate after notification, but with dignity — don't lock out mid-meeting)\n- Slack / email comms shutdown sequence\n- HR support availability for impacted employees\n\nPhase 6 — Output.\n- Manager script (printable, rehearsable)\n- Per-employee written package (one folder per person, ready to hand off)\n- Day-after all-hands deck + script\n- Manager talking-points doc for remaining-team 1:1s\n- A 30-day follow-up plan for impacted alumni (don't ghost them — keep relationships warm)\n\nFeedback signal:\n- Track impacted alumni outcomes (where they land, NPS of how the layoff was handled)\n- Remaining team engagement (eNPS, attrition) over 90 days\n- Manager confidence post-layoff — refine scripts if managers report struggling\n\nQuality bar:\n- NEVER hide the reason — people see through PR-speak immediately\n- NEVER do layoffs over Slack / email if you can avoid it — humans deserve a real conversation\n- Severance generosity is a long-term reputation investment — be at the top of market if you can\n- Treat impacted employees like alumni who'll be hired back — many will be" + }, + { + "id": "promotion-packet-writer", + "name": "Write a promotion packet for an engineer", + "category": "Career", + "tags": [ + "career", + "founder", + "report" + ], + "emoji": "🥇", + "description": "Write a promotion packet from accomplishments + impact + leveling rubric. Get a structured case + 30/60/90 development plan.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull accomplishments + impact + peer feedback", + "Map to the next-level rubric", + "Draft each rubric area with evidence", + "Surface gaps + close them", + "Output the packet + a script for advocacy" + ], + "prompt": "Write a promotion packet for one of my engineers (or any role with a leveling rubric).\n\nInputs:\n- Person's name + current level + target level: [paste]\n- Leveling rubric for the next level (paste the rubric or link): [paste]\n- Their accomplishments over the last 6-12 months (projects, outcomes, scope, impact): [paste]\n- Peer feedback collected: [paste]\n- My 1:1 notes + their growth trajectory: [paste]\n- Calibration context (your company's promo bar, expected hit rate): [paste]\n\nPhase 1 — Map accomplishments to the next-level rubric.\n- For each rubric dimension (scope, execution, leadership, craft, collaboration, impact, etc.): pull the relevant evidence\n- Mark dimensions with strong evidence (3+ examples) vs thin (1-2)\n- Mark dimensions with NO evidence — these are the gaps to address before submitting\n\nPhase 2 — Draft each rubric area.\nUse the \"Person, Verb, Task, Impact\" structure for each example:\n- Person: [name]\n- Verb: led / designed / shipped / mentored / etc.\n- Task: the specific thing they did\n- Impact: the measurable outcome (latency improvement, revenue, team capacity unlocked, etc.)\n\nAim for 2-3 strong examples per dimension. Quality > quantity.\n\nPhase 3 — Surface gaps.\n- Dimensions where they don't yet have evidence — be honest\n- A 30-60-90 development plan to fill those gaps before next cycle\n- Stretch projects available now\n\nPhase 4 — Calibration check.\n- Will this packet hold up against the committee's bar?\n- Comparable promotions at your company in the last 12 months — does this person look stronger?\n- Any honest concerns (scope is right, but impact is thin? leadership shown, but only with peers, not cross-functionally?)\n\nPhase 5 — Manager advocacy script.\n- 3-sentence intro for the committee\n- 3 strongest stories to lead with\n- Pre-empt the likely objections with a one-line response each\n- Specific recommendations from the peer feedback\n\nPhase 6 — Output.\n- The packet (markdown, formatted for the committee's template)\n- A \"still working on\" section that's honest about gaps\n- Manager advocacy script\n- A self-reflection version for the candidate (different framing)\n\nFeedback signal:\n- Committee feedback: which dimensions landed vs which raised questions\n- If denied: what specifically was the gap? Build the development plan around it.\n- For future packets: which evidence types win (technical leadership? cross-functional impact? mentorship?)\n\nQuality bar:\n- NEVER submit a packet with no evidence on a key dimension — the gap shows\n- NEVER submit if you don't believe — that's a bad bet on their year\n- Use their words in peer quotes — committee can smell paraphrased praise\n- If they're not ready, be honest with THEM first — submitting a weak packet damages trust" + }, + { + "id": "nda-review-redlines", + "name": "Review an NDA with redlines", + "category": "Legal", + "tags": [ + "founder", + "legal" + ], + "emoji": "📃", + "description": "Review an NDA against your playbook. Get redlines for term, residual, jurisdiction, and risky clauses.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm NDA scope (mutual vs one-way)", + "Compare to playbook positions", + "Surface risky clauses", + "Draft redlines + fallback positions", + "Output a clean redlined version" + ], + "prompt": "Review this NDA and propose redlines against my playbook.\n\nInputs:\n- Counterparty NDA (paste full text): [paste]\n- My role (sender / recipient / mutual): [paste]\n- My playbook (standard positions on key clauses) — if none: use the conservative founder/consultant defaults\n- Risk tolerance (we lose this deal if they don't accept terms? or hold the line?): [paste]\n- Jurisdiction preferences: [paste]\n\nPhase 1 — Confirm scope.\n- Mutual vs one-way (huge difference — flag immediately)\n- What confidential info is in scope\n- Permitted uses (narrow = good for recipient, broad = good for sender)\n- Term (how long the obligation lasts)\n\nPhase 2 — Compare to playbook / defaults.\nStandard positions:\n- Term: 2-3 years typical, 5 years max for trade secrets\n- Definition of confidential info: must be marked or reasonably identifiable\n- Residual clause: usually present — but watch the scope (people's heads vs documents)\n- Permitted disclosures: lawyers, accountants, advisors with same NDA obligation\n- Return / destruction of materials: clear deadline\n- Remedies: injunctive relief is standard; specific performance is aggressive\n- Jurisdiction: home jurisdiction strongly preferred\n- Governing law: matches jurisdiction\n- Survival: standard for IP / trade secret clauses\n\nPhase 3 — Surface risky clauses.\n- Non-compete dressed up as NDA (red flag)\n- Indemnification clauses (NDAs shouldn't have these usually)\n- Liquidated damages (uncommon; risk-shifting)\n- \"Confidential information\" defined too broadly (everything we exchange)\n- Term > 5 years (unusual outside trade secrets)\n- Sub-disclosure restrictions that block normal advisory consultations\n- Exclusive jurisdiction in a foreign court\n\nPhase 4 — Draft redlines + fallback positions.\nFor each risky clause:\n- The proposed redline (specific replacement text)\n- The reasoning (one sentence)\n- A fallback if they push back (next-best position)\n- A \"deal-breaker?\" tag (would you walk?)\n\nPhase 5 — Output.\n- A redlined version of the NDA (track changes style)\n- A cover note explaining the changes (1 page, plain English)\n- A negotiation script for the call (anticipated objections + responses)\n- A \"minimum acceptable terms\" summary\n\nFeedback signal:\n- Patterns in redlines accepted vs rejected — refine playbook\n- Counterparties that consistently push back on the same clause — surface as systemic\n- Time-to-signature pre vs post redlining — calibrate aggressiveness\n\nQuality bar:\n- This is contract analysis, NOT legal advice — recommend counsel for non-routine deals\n- Be precise about what's red-flagged vs nice-to-have\n- Default to mutual when ambiguous — protects you on both sides\n- If a clause has unfamiliar language, surface it rather than guess" + }, + { + "id": "tos-privacy-generator", + "name": "Generate ToS + Privacy Policy", + "category": "Legal", + "tags": [ + "founder", + "legal" + ], + "emoji": "🛡️", + "description": "Generate ToS + Privacy Policy for an app or SaaS. Get jurisdiction-aware drafts with cookie + DPA mappings.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Inventory the product + data collected", + "Confirm target jurisdictions", + "Generate ToS + Privacy + Cookie Policy", + "Map sub-processors + DPA", + "Plan the update cadence" + ], + "prompt": "Generate ToS + Privacy Policy for my product. This is a starting draft, NOT a substitute for counsel.\n\nInputs:\n- Product description + URL: [paste]\n- User type: [B2B / B2C / both]\n- Data collected (auth, PII, payment, usage analytics, files, etc.): [list]\n- Third-party processors (Stripe, Segment, OpenAI, Auth0, etc.): [list]\n- Target jurisdictions (US, EU, UK, CA, AU, BR, etc.): [list]\n- Age restrictions (under 13 — COPPA; under 16 — GDPR; over 18): [paste]\n- Refund / cancellation policy: [paste]\n- Account-deletion process: [paste]\n\nPhase 1 — Product + data inventory.\n- Categorize data: identifiers / commercial / biometric / internet activity / geolocation / sensory / professional / education / inferences\n- Map data to source (signup form, payment, analytics, integrations)\n- Map data to retention period\n- Map data to sharing (sub-processors, advertisers, affiliates)\n\nPhase 2 — ToS draft sections.\n1. Acceptance + age requirements\n2. Account + responsibilities\n3. License grant + IP ownership (yours vs theirs)\n4. Acceptable use + prohibited conduct\n5. Payment + auto-renewal + refunds\n6. Termination (for cause / convenience)\n7. Disclaimers + limitation of liability (capped if possible)\n8. Indemnification\n9. Dispute resolution (arbitration? jurisdiction?)\n10. Changes to ToS + notice\n11. Governing law + jurisdiction\n\nPhase 3 — Privacy Policy sections.\n1. What data we collect (per category)\n2. How we collect it (sources)\n3. Why we collect it (purposes)\n4. Who we share it with (sub-processors + reason)\n5. Where it's stored (country) + transfers\n6. Retention periods\n7. Your rights (access, deletion, portability, correction, opt-out) — per jurisdiction\n8. Cookies + tracking technologies (link to Cookie Policy)\n9. Children's data\n10. International transfers + safeguards (SCCs)\n11. Data breach notification\n12. Contact for privacy requests (DPO if EU)\n\nPhase 4 — Cookie Policy.\n- Cookies in use (per category: essential, analytics, advertising, functional)\n- Consent mechanism reference (banner)\n- Opt-out path\n- Lifetime per cookie type\n\nPhase 5 — Sub-processor + DPA mapping.\n- Sub-processor list (vendor, what data, where)\n- Identify which require a DPA (any processor of EU/UK personal data)\n- Identify which have SCCs in place\n\nPhase 6 — Output.\n- ToS draft (markdown)\n- Privacy Policy draft (markdown)\n- Cookie Policy draft (markdown)\n- Sub-processor registry\n- A \"send to counsel for review\" checklist\n- An update cadence reminder (annual + on material product change)\n\nFeedback signal:\n- Compliance gaps surfaced by counsel review — feed into next draft\n- User complaints / DSARs — surface clauses that confuse users\n- Regulatory updates that require revisions (e.g., new state privacy laws)\n\nQuality bar:\n- This is a DRAFT — every business should have counsel review before publishing\n- NEVER copy-paste from a competitor — that creates IP + accuracy risks\n- Update annually + on material change (new processor, new data type, new jurisdiction)\n- Plain language wins — courts and regulators prefer it; users do too" + }, + { + "id": "soc2-readiness-audit", + "name": "Run a SOC 2 Type 1 readiness audit", + "category": "Legal", + "tags": [ + "audit", + "engineering", + "founder", + "legal" + ], + "emoji": "🔐", + "description": "Run a SOC 2 Type 1 readiness audit. Get a controls map, evidence checklist, gap remediation plan, and 6-12 week timeline.", + "works_best_with": { + "agent_profile": "backend-engineer", + "skills": [ + "concise-planning", + "audit-context-building", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm scope (Trust Services Criteria)", + "Map current controls + evidence", + "Identify gaps", + "Remediation plan + owners", + "Auditor-ready package" + ], + "prompt": "Run a SOC 2 Type 1 readiness audit.\n\nInputs:\n- Company + product description: [paste]\n- Scope: [Security only — most common — or Security + Availability + Confidentiality]\n- Cloud + infra stack (AWS / GCP / Azure / which services): [paste]\n- HRIS + identity provider: [paste]\n- Engineering team size + customer count: [paste]\n- Vanta / Drata / Secureframe in place? [paste]\n- Target audit date: [paste]\n\nPhase 1 — Confirm scope.\n- Trust Services Criteria (TSC) included\n- System boundaries (what's IN scope, what's OUT)\n- Subservice organizations (carve-out or inclusive)\n- Period covered (point-in-time for Type 1; period for Type 2)\n\nPhase 2 — Map current controls to TSC.\nFor each Common Criteria (CC1-CC9) and any included TSC:\n- The relevant control statement (e.g., \"logical access requires unique IDs and MFA\")\n- Current state (implemented / partial / missing)\n- Evidence location (system, doc, screenshot)\n- Owner\n\nPhase 3 — Identify gaps.\n- Controls with no evidence\n- Controls implemented but undocumented\n- Documentation outdated or inconsistent\n- Coverage gaps (some services have access controls, others don't)\n\nPhase 4 — Remediation plan.\nFor each gap:\n- The smallest action that closes it\n- Owner + deadline\n- Effort estimate (S / M / L)\n- Risk if not closed before audit\n\nPhase 5 — Critical \"table stakes\" controls (review explicitly).\n- MFA on all admin accounts + production access\n- SSO + access reviews (quarterly)\n- Background checks on new hires\n- Annual security training + acknowledgment\n- Vulnerability scanning + patching cadence\n- Incident response plan (with last tabletop)\n- Change management (PR review + approval requirements)\n- Backup + recovery testing\n- Vendor / sub-processor risk assessment\n- Data classification + handling\n\nPhase 6 — Auditor-ready package.\n- Control matrix (TSC → control → evidence → owner)\n- Policy library (info sec, AUP, change mgmt, IR, BCP, vendor mgmt)\n- Procedure docs (access provisioning, deprovisioning, etc.)\n- Sample evidence per control (access review screenshot, etc.)\n- A \"what auditor will ask\" Q&A\n- 6-12 week countdown checklist\n\nPhase 7 — Output.\n- Controls + evidence matrix (CSV)\n- Gap remediation plan + owners + deadlines (Notion / sheet)\n- Policy library outline (which docs you need)\n- A weekly cadence for the readiness sprint\n\nFeedback signal (during the audit):\n- Findings vs predicted gaps — refine the self-audit\n- Auditor questions that surprised you — bake into next year's scope\n- Time to remediate vs estimate — calibrate next year's planning\n\nQuality bar:\n- This is readiness, NOT audit certification — use a real auditor (CPA-licensed)\n- NEVER fake evidence — auditors find out and you fail\n- Vanta / Drata / Secureframe accelerate evidence collection 5-10x — use them\n- The Type 1 is the start. Type 2 (3-12 months of evidence) is where you actually prove the controls operate" + }, + { + "id": "patent-prior-art-search", + "name": "Run a patent prior-art search", + "category": "Legal", + "tags": [ + "legal", + "research" + ], + "emoji": "🪶", + "description": "Run a patent prior-art search. Get a ranked list of similar art, claim chart, and a patentability verdict.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "brave-search", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Describe the invention precisely", + "Extract searchable concepts + claim elements", + "Search USPTO + Google Patents + WIPO + non-patent lit", + "Rank results by similarity + relevance", + "Output a patentability brief" + ], + "prompt": "Run a prior-art search for a patentable invention.\n\nInputs:\n- Invention description (plain English): [paste]\n- Field of use + technical domain: [paste]\n- Claimed novel elements (in your view): [paste]\n- Existing products / patents you know are close: [paste]\n- Purpose of search (filing / freedom-to-operate / invalidity / competitive landscape): [paste]\n- Geographic scope (US-only / EP / international): [paste]\n- Risk tolerance (preliminary / publication-quality): [paste]\n\nPhase 1 — Describe the invention precisely.\n- Restate in 3 sentences: what it does, how it works, why it's different\n- List 3-5 key technical elements (algorithm, hardware feature, process step)\n- List likely IPC / CPC classification codes\n- List 10-15 search keywords + synonyms\n\nPhase 2 — Extract searchable claim elements.\nFor each claim element:\n- Functional description (what it does)\n- Structural description (how it's built)\n- Synonyms an examiner / opposing party might use\n\nPhase 3 — Search the patent corpus.\nFor each database (USPTO, Google Patents, Espacenet, WIPO PatentScope, J-PlatPat):\n- Run claim-element keyword combinations\n- Apply CPC class filters\n- Date filter (publications before priority date or filing target)\n- Capture top 30 hits per database\n\nPhase 4 — Search non-patent literature.\n- Google Scholar / arXiv / IEEE Xplore for academic papers\n- GitHub for open-source implementations\n- ProductHunt / Crunchbase for commercial product disclosures\n- Conference proceedings in the field\n- Blog posts / company whitepapers\n\nPhase 5 — Rank results by similarity.\nFor each hit, score:\n- Technical similarity to claim elements (1-5 per element)\n- Publication date relative to your priority date\n- Patent status (active / expired / withdrawn / never granted)\n- Geographic coverage\n- Citation count (downstream patents that cited it)\n\nTop 10-15 most relevant: enter the claim chart.\n\nPhase 6 — Claim chart per top reference.\n- Side-by-side: your claim element vs the prior art element\n- Per element: identical / similar / different / not disclosed\n- Combined: does this single reference anticipate or render obvious?\n\nPhase 7 — Patentability verdict.\n- Anticipation (single reference shows every claim element): YES / NO with reasoning\n- Obviousness (combination of references makes it obvious): YES / NO with reasoning\n- Suggested narrowing of claims to navigate the prior art\n- Risk score (high / medium / low) on filing as-is\n\nPhase 8 — Output.\n- Prior-art database (CSV) of all hits with scores\n- Claim chart (top 10-15 references)\n- Patentability brief (3-5 pages)\n- Strategy memo: file as-is / narrow / abandon / consider provisional\n\nFeedback signal:\n- USPTO examiner's office action vs your predicted prior art — calibrate next search\n- References you missed that the examiner found — surface to next search query refinement\n- Claims that survived rejection vs those that didn't — feed into claim drafting\n\nQuality bar:\n- This is research, NOT legal advice — engage a patent attorney for filing\n- NEVER use only one database — examiners search multiple\n- Non-patent literature (papers, code, products) is increasingly important — don't skip it\n- Searches >2 years old need refresh — prior art emerges constantly" + }, + { + "id": "system-design-doc-hld", + "name": "Draft a high-level system design doc", + "category": "Engineering", + "tags": [ + "engineering", + "report" + ], + "emoji": "🏛️", + "description": "Draft an HLD for a distributed system. Get components, data flow, capacity estimates, and trade-off analysis.", + "works_best_with": { + "agent_profile": "backend-engineer", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm requirements + scale + SLO", + "Enumerate components + data flow", + "Capacity + cost estimates", + "Compare 2-3 architectures with trade-offs", + "Output the HLD + ADR stubs" + ], + "prompt": "Draft a high-level system design document (HLD) for a new system.\n\nInputs:\n- Problem statement (1-2 paragraphs): [paste]\n- Functional requirements (5-10 bullets): [paste]\n- Non-functional requirements (scale, latency, consistency, availability): [paste]\n- Constraints (existing stack, team skills, budget, deadline): [paste]\n- Known alternatives we're rejecting + why: [paste]\n- Audience for the doc (peer review / staff+ review / external): [paste]\n\nPhase 1 — Confirm requirements and scope.\n- Restate the problem in your own words\n- List the 5 most important requirements + 2-3 nice-to-haves\n- Out-of-scope explicitly stated\n- Wait for me to confirm\n\nPhase 2 — Enumerate components + data flow.\n- High-level component diagram (clients, gateway, services, queues, datastores, caches)\n- Data flow: end-to-end for the primary use case (with sequence)\n- Storage decisions: which data lives where + why (consistency model, partitioning, TTL)\n- Integration points (external APIs, internal services)\n\nPhase 3 — Capacity + cost estimates.\n- Read/write QPS at launch + at 12 months\n- Storage growth rate + retention policy\n- Bandwidth + egress estimates\n- Per-component cost (rough): compute, storage, DB, network\n- Total monthly run cost at scale\n\nPhase 4 — Trade-off analysis (2-3 architectures).\nFor each candidate:\n- Strengths (what makes it the right choice for some scenario)\n- Weaknesses\n- Performance characteristics\n- Operational burden\n- Cost\n- Recommendation: which one + why\n\nPhase 5 — Failure modes + mitigation.\n- Per component: what happens when it fails\n- Blast radius (1 user / 1 region / global)\n- Mitigation (replication, retries, circuit breakers, fallback)\n- Disaster recovery + backup strategy\n- Observability hooks (metrics, logs, traces — what's instrumented)\n\nPhase 6 — Security + privacy.\n- AuthN / AuthZ model\n- Data classification (PII, PCI, PHI)\n- Encryption in transit + at rest\n- Audit logging\n- Threat model (3-5 likely attacks + defenses)\n\nPhase 7 — Migration / rollout.\n- Backward compatibility (if replacing existing)\n- Migration steps + dual-write strategy\n- Rollback plan\n- Phased rollout (% traffic, canary, regions)\n\nPhase 8 — Output.\n- HLD doc (markdown, structured for design review)\n- A 1-page TL;DR for execs\n- ADR stubs for the 3-5 biggest decisions (context, decision, consequences)\n- A list of open questions + owners\n\nFeedback signal:\n- Design review comments — surface what wasn't clear or wasn't right\n- Implementation deltas from the HLD — capture as \"what we learned\"\n- Capacity / cost actual vs estimate — calibrate next HLD\n\nQuality bar:\n- NEVER skip capacity numbers — \"fast\" isn't a requirement\n- NEVER write \"we'll figure it out later\" — surface the open question as TODO\n- The HLD's audience matters — exec doc is different from engineer review\n- One decision per ADR — don't pile up trade-offs in one doc" + }, + { + "id": "adr-writer", + "name": "Write an Architecture Decision Record", + "category": "Engineering", + "tags": [ + "engineering", + "report" + ], + "emoji": "🪨", + "description": "Write an ADR (Architecture Decision Record). Get context, decision, alternatives considered, and consequences.", + "works_best_with": { + "agent_profile": "backend-engineer", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm the decision being captured", + "Write context (forces in play)", + "Document the decision + alternatives", + "Surface consequences", + "Save to source control" + ], + "prompt": "Write an Architecture Decision Record (ADR) for a technical decision.\n\nInputs:\n- The decision (one sentence): [paste — e.g. \"use Postgres + pgvector instead of a dedicated vector DB\"]\n- Date + ADR number: [paste]\n- Author + reviewers: [paste]\n- Related design doc or PR (if any): [paste link]\n- Background context (5-10 min of conversation that led to this): [paste]\n\nPhase 1 — Title + metadata.\n- Title: short noun phrase, decision-focused (e.g., \"Use Postgres + pgvector for embeddings\")\n- Status: [proposed / accepted / deprecated / superseded]\n- Date\n- Deciders\n\nPhase 2 — Context (the forces in play).\n- The problem being solved\n- The constraints (skill, budget, deadline, scale, ops capacity)\n- The alternatives that were considered (briefly — detail comes later)\n- Why a decision is needed now\n\nPhase 3 — Decision.\n- The specific choice made\n- The reasoning in 3-5 sentences\n- The trade-offs accepted\n\nPhase 4 — Alternatives considered (deeper).\nFor each (typically 2-3):\n- What it is\n- Why it was attractive\n- Why it was rejected (concrete reason — not \"felt wrong\")\n\nPhase 5 — Consequences.\n- Positive consequences (what gets easier)\n- Negative consequences (what gets harder)\n- Neutral consequences (what changes but not better/worse)\n- Risks introduced + mitigation\n- What we'd need to see to reverse this decision\n\nPhase 6 — Output.\n- ADR markdown file (named like `adr-0042-use-pgvector.md`)\n- Save to `docs/adrs/` in the repo\n- Update the ADR index (table of contents)\n- Cross-reference from the related design doc if applicable\n\nFeedback signal:\n- ADRs reversed within 12 months — examine what we missed\n- Decisions made without an ADR that bit us later — surface as a process gap\n- ADRs nobody re-reads — they were written for compliance, not value\n\nQuality bar:\n- ADRs are short — 1-2 pages, not 10\n- Use plain language — these are for future-you and new hires\n- Write at decision time, not retrospectively\n- Mark superseded ADRs explicitly — never delete them" + }, + { + "id": "database-schema-design", + "name": "Design a database schema with ER diagram", + "category": "Engineering", + "tags": [ + "engineering", + "report" + ], + "emoji": "🗄️", + "description": "Design a relational database schema from app requirements. Get tables, FKs, indexes, an ER diagram, and migration DDL.", + "works_best_with": { + "agent_profile": "backend-engineer", + "skills": [ + "concise-planning" + ], + "mcp_servers": [ + "filesystem" + ], + "living_ui_apps": [] + }, + "steps": [ + "Inventory entities + relationships", + "Normalize to 3NF baseline", + "Choose denormalization for read paths", + "Add indexes + constraints", + "Output ER diagram + DDL" + ], + "prompt": "Design a relational database schema for this application.\n\nInputs:\n- Application description + key user flows: [paste]\n- Expected scale (rows in 12 months for each entity type): [paste]\n- Read / write ratio per entity: [paste]\n- Database engine: [Postgres / MySQL / SQLite / etc.]\n- Naming conventions (snake_case, plural tables, etc.): [paste]\n- Constraints we must support (multi-tenancy, soft delete, audit log, GDPR): [paste]\n\nPhase 1 — Entity inventory.\n- List every entity (User, Account, Order, Subscription, etc.)\n- For each: attributes (with types), uniqueness rules\n- Mark each as core (load-bearing) vs supporting\n\nPhase 2 — Relationships.\n- For each entity pair: relationship type (1:1, 1:N, M:N) + cardinality\n- Identify ownership (which side cascades on delete)\n- Identify nullable vs required associations\n\nPhase 3 — Normalize to 3NF.\n- No repeating groups\n- No partial dependencies\n- No transitive dependencies\n- Flag any intentional denormalization (and why)\n\nPhase 4 — Add keys + constraints.\n- Primary keys (UUID vs serial — pick + justify)\n- Foreign keys with cascade behavior\n- Unique constraints\n- Check constraints (enum-like fields, value ranges)\n- NOT NULL where required\n\nPhase 5 — Index strategy.\n- Per-query index list (start with the top 10 queries)\n- Compound indexes for common WHERE + ORDER BY patterns\n- Partial indexes for filtered queries (e.g., active rows only)\n- DON'T over-index — every index slows writes\n\nPhase 6 — Denormalization (where justified).\n- Read-heavy paths (e.g., user feed, leaderboards): consider materialized views or denormalized columns\n- Trade-offs: write amplification, consistency model, cache invalidation\n\nPhase 7 — Migration + ops considerations.\n- Soft delete strategy (deleted_at column? separate archive table?)\n- Audit log (separate table? built into rows?)\n- Multi-tenancy (single DB with tenant_id? schema-per-tenant? DB-per-tenant?)\n- GDPR deletion (cascade strategy + sub-processor sync)\n\nPhase 8 — Output.\n- ER diagram (Mermaid syntax)\n- Full DDL (CREATE TABLE statements)\n- Migration script (idempotent, with rollback)\n- A \"top 10 queries\" plan + the indexes that support them\n- A migration playbook (zero-downtime steps if rebuilding)\n\nFeedback signal:\n- Query plans after launch — surface missing or unused indexes\n- N+1 patterns surfaced by APM — design opportunities for denormalization\n- Schema drift from app code — surface as a process issue\n\nQuality bar:\n- NEVER skip foreign keys to \"save performance\" — fix performance other ways\n- NEVER use enum types for fast-changing values — separate lookup table\n- Naming consistency matters more than naming taste\n- Index reads carefully — measure before adding, not after" + }, + { + "id": "rfp-scoring", + "name": "Score an RFP response against criteria", + "category": "Sales", + "tags": [ + "audit", + "sales" + ], + "emoji": "🧮", + "description": "Score vendor RFP responses against a weighted rubric. Get a side-by-side matrix, flagged risks, and a recommendation.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm the rubric + weights", + "Score each vendor section-by-section", + "Flag non-standard or risky clauses", + "Build the comparison matrix", + "Output a recommendation + negotiation plan" + ], + "prompt": "Score RFP responses against my evaluation criteria.\n\nInputs:\n- RFP responses (one per vendor, full text): [paste or path]\n- Evaluation rubric + weights: [paste — e.g., functionality 30%, security 25%, price 20%, vendor stability 15%, support 10%]\n- My must-have requirements (binary pass/fail): [paste]\n- Budget + procurement constraints (annual cap, payment terms): [paste]\n- Integration / migration requirements: [paste]\n- Anti-vendor signals (companies to avoid + why): [paste]\n\nPhase 1 — Confirm the rubric and binary gates.\n- Restate weights — do they sum to 100?\n- List must-have requirements that disqualify a vendor if missing\n- Any tied weights — break with a tiebreaker rule\n\nPhase 2 — Score each vendor section-by-section.\nPer response, per rubric section:\n- Score 1-10 with reasoning (1 sentence)\n- Evidence cited from the response\n- Score adjusted for clarity / specificity (vague answers downweighted)\n- A \"verify with reference call\" tag where confidence is low\n\nPhase 3 — Flag non-standard or risky clauses.\n- Pricing: hidden fees, auto-renewal traps, price-increase ceilings\n- Security: claims without certifications, vague data handling\n- SLA: weak commitments, unreasonable cure periods\n- Termination: unfavorable terms, long notice periods\n- Data: sub-processors not disclosed, no DPA willingness\n\nPhase 4 — Build the comparison matrix.\n- Side-by-side per vendor per rubric section\n- Total weighted score\n- Pass/fail on must-haves\n- TCO (total cost of ownership) over 3 years including ramp + onboarding\n\nPhase 5 — Recommend a vendor.\n- Recommended pick with reasoning\n- Runner-up (and why not #1)\n- Vendors to reject (with brief rationale)\n- Negotiation levers per vendor (where they're weakest)\n\nPhase 6 — Output.\n- Scoring matrix (CSV)\n- A 2-page recommendation memo\n- A negotiation prep doc with each vendor's pricing flexibility, missing requirements, and reference questions\n- A \"questions to ask references\" list per finalist\n\nFeedback signal (after the contract is signed):\n- Vendor performance vs your scoring — calibrate next RFP\n- Surprises during implementation — add to rubric for next round\n- Negotiation results — what gave way + what didn't (refine leverage)\n\nQuality bar:\n- NEVER score based on vendor charisma — only on the response evidence\n- Cite the section / page for every score\n- Reference calls matter more than the response — schedule them for the top 2\n- If two vendors tie, the better-fit POC wins (not the cheaper one)" + }, + { + "id": "cloud-spend-finops-audit", + "name": "Audit cloud spend and recommend cuts", + "category": "Engineering", + "tags": [ + "audit", + "engineering", + "finance" + ], + "emoji": "💻", + "description": "Audit cloud spend across AWS/GCP/Azure + AI APIs. Get idle resources, oversized instances, and a ranked cut list.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "audit-context-building", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull current spend + 90-day trend", + "Identify idle + oversized resources", + "Audit AI / API spend", + "Recommend cuts ranked by ROI", + "Output a remediation plan" + ], + "prompt": "Audit cloud spend and recommend the highest-ROI cuts.\n\nInputs:\n- Cloud providers + access (AWS / GCP / Azure billing export, Cost Explorer access): [paste]\n- AI API providers (OpenAI / Anthropic / Bedrock / etc.) billing access: [paste]\n- Last 90 days monthly spend (by service / by tag if available): [paste]\n- Total monthly cloud spend: [paste]\n- Engineering team size + capacity for remediation: [paste]\n- Constraints (workloads we can't touch, compliance, customer SLAs): [paste]\n\nPhase 1 — Pull spend + trend.\n- Total spend last 90 days, monthly trend\n- Top 10 services by spend\n- Top 10 cost centers (tags / accounts / projects)\n- Spend growth rate (per service, per month)\n- Anomalies (spikes >20% MoM in any line item)\n\nPhase 2 — Identify idle resources.\n- EC2 / Compute Engine: low CPU (<10%) for 14+ days\n- Load balancers / NAT gateways without traffic\n- Unattached EBS / persistent disks\n- Old snapshots beyond retention policy\n- RDS / Cloud SQL with zero connections\n- Unused Elastic IPs\n- Forgotten dev / staging environments\n\nPhase 3 — Identify oversized resources.\n- Instances with CPU < 30% sustained — rightsize candidates\n- RDS instances with low IOPS — downgrade\n- Over-provisioned ECS / GKE capacity\n- DynamoDB / Bigtable with low utilization\n- Memory allocations far above actual usage\n\nPhase 4 — Audit reserved capacity + savings plans.\n- Coverage % of compute by reservations / savings plans\n- Expiring reservations in the next 60 days\n- Underutilized reservations (committed but not running)\n- Opportunity to commit to additional savings plans\n\nPhase 5 — Audit AI / API spend.\n- Spend per provider over the last 90 days\n- Spend per model (GPT-4 vs Claude vs GPT-3.5)\n- Top usage by feature / endpoint\n- Cache hit rate (if applicable)\n- Tokens per request — opportunities for prompt optimization\n- Cheaper-model fallback opportunities\n\nPhase 6 — Audit egress + bandwidth.\n- Top egress destinations\n- Cross-region transfer (often expensive and avoidable)\n- CDN coverage gaps\n\nPhase 7 — Rank cuts by ROI.\nFor each opportunity:\n- Estimated monthly savings ($ amount)\n- Effort to remediate (S / M / L)\n- Risk (zero / low / medium / high)\n- Reversibility\n- Owner\n\nTop 10 by ROI become the action list.\n\nPhase 8 — Output.\n- Audit report (1-page TL;DR + 5-page detail)\n- Ranked cut list (CSV with savings + effort + owner)\n- Tagging hygiene recommendations (so next audit is easier)\n- A monthly tracking dashboard spec\n- A \"what NOT to cut\" list (where saving $X costs you $10X in customer churn)\n\nFeedback signal:\n- Realized savings vs predicted — calibrate the next audit\n- Cuts that caused incidents — surface and avoid pattern in future\n- Spend trend post-audit — is it sticking or creeping back up?\n\nQuality bar:\n- NEVER cut without a rollback plan — savings aren't worth a customer-facing outage\n- Tag hygiene is the long-term lever — fix tags now and every audit gets faster\n- AI API spend is the fastest-growing line item — instrument it properly\n- Don't optimize for one-time savings if it kills a savings plan you'll need later" + }, + { + "id": "ultralearning-zero-to-master", + "name": "Learn anything from zero to master", + "category": "Personal", + "tags": [ + "audit", + "loop", + "personal", + "research" + ], + "emoji": "🧗", + "description": "Run an ultralearning sprint on any skill from zero to mastery. Get a metalearning memo, curriculum, schedule, drills, and a project test.", + "works_best_with": { + "agent_profile": "personal-assistant", + "skills": [ + "brave-search", + "concise-planning", + "audit-context-building", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Phase 1 — Metalearning week (research how to learn it)", + "Phase 2 — Define the success project + sub-skills", + "Phase 3 — Build the directness-first curriculum", + "Phase 4 — Schedule the focus blocks + drill prescriptions", + "Phase 5 — Execute with weekly retrospective + retention layer", + "Phase 6 — Ship the project + lock in retention" + ], + "prompt": "You're my ultralearning coach for a zero-to-mastery sprint on a single skill. Use Scott H. Young's 9 Ultralearning principles (Metalearning, Focus, Directness, Drill, Retrieval, Feedback, Retention, Intuition, Experimentation), Anders Ericsson's deliberate practice, Tim Ferriss's DiSSS (Deconstruction, Selection, Sequencing, Stakes), and Josh Kaufman's first-20-hours framing where they fit. Hold the line on rigor.\n\nInputs:\n- The skill / topic I want to learn (be specific — \"conversational Spanish for travel\" not just \"Spanish\"): [paste]\n- My current level (true beginner / hobbyist / intermediate): [paste]\n- What \"mastery\" means TO ME (a concrete deliverable, capability, or test I can pass): [paste]\n- Time budget per week (be honest): [paste hours]\n- Total sprint duration: [paste — e.g. 3 months, 6 months, 1 year]\n- Why I want to learn this (motivation matters for follow-through): [paste]\n- Constraints (no in-person tutor / no $X budget / public commitment yes-no): [paste]\n- My known weak spots from prior learning attempts: [paste]\n\nPhase 1 — Metalearning (Principle 1). Week 1 only — DO NOT START LEARNING YET.\nThis is the highest-ROI week of the whole sprint.\n- Pull syllabi from the top 3 university or master-level programs on this skill\n- Identify 3-5 practitioners at the level I want; read what they wrote about their own learning paths\n- Identify the canonical resources (books, courses, mentors, communities, datasets, instruments)\n- Map the skill tree: prerequisites + sub-skills + how they compose\n- Identify the 20% of sub-skills that produce 80% of the outcome (Pareto — Ferriss \"Selection\")\n- Identify common dead ends (where novices waste months)\n- Estimate hours needed at the level I'm targeting\n\nOutput of this phase: a \"How to learn X\" memo (3-5 pages) saved to my workspace. Wait for me to read it before continuing to Phase 2.\n\nPhase 2 — Define the success project (Directness + Stakes).\n- The SINGLE deliverable that proves mastery (a shipped app, a 5K race time, a translated essay, a tournament rating, a publishable paper, a sold first commission)\n- The 3-5 sub-skills production of that deliverable demands\n- Sub-skills ranked by (current ability gap × project impact)\n- A public commitment OR external evaluator (Ferriss \"Stakes\" — accountability matters)\n\nPhase 3 — Build the curriculum (Directness, Principle 3 — the load-bearing principle).\nFor each sub-skill, prescribe:\n- The DIRECT practice activity (the actual skill in its actual context — NOT a proxy like \"watch lectures\")\n- The drill (Principle 4): the smallest sub-component to attack first; what specifically gets isolated and repeated\n- The retrieval activity (Principle 5): how I'll test myself rather than re-read / re-watch\n- The feedback source (Principle 6): who or what tells me I'm wrong — ranked from highest signal (expert critique, automated test, race time) to lowest (self-judgment)\n- Reject any resource adjacent but not direct (Anki cards on Spanish grammar are not Spanish conversation practice — both have a place, but don't confuse them)\n\nThe project starts in week 2, not after the curriculum is \"done.\" Direct work compounds.\n\nPhase 4 — Schedule the sprint (Focus, Principle 2).\n- Weekly deep-focus blocks (named on the calendar, phone in the other room, single-task)\n- Daily drill prescription (15-30 min on the highest-ROI weak spot)\n- Weekly project work session (2-4 hours uninterrupted)\n- Weekly feedback session (call with mentor, peer review, test run)\n- A retention layer: spaced-repetition deck built FROM drill sessions (Principle 7) — not from textbook bullets\n- One \"rest day\" per week (recovery is part of the protocol)\n\nPhase 5 — Execute with weekly retrospective (a loop, every Sunday).\n- Skills practiced this week + adherence rate (% of planned blocks completed)\n- Drills attempted + accuracy / speed delta\n- Project progress + blockers\n- Feedback received + what specifically to change next week\n- One thing to STOP, one to START, one to KEEP\n- Mid-week energy + injury / overload check (if applicable)\n\nPhase 6 — Intuition + Experimentation (Principles 8 + 9). Second half of sprint.\nOnce basics feel automatic:\n- Teach the skill to someone (Feynman technique — verifies mastery faster than self-test)\n- Try unconventional approaches: combine two sub-skills, attempt the \"weird\" project, copy a master then deviate\n- Read advanced material with the curiosity of a practitioner, not the anxiety of a beginner\n- Compete or perform in public — high-stakes practice compresses learning\n\nPhase 7 — Ship the project (sprint end).\n- Deliver the success project under realistic conditions\n- Get external evaluation (NOT self-grade)\n- Honest assessment: did I reach my definition of mastery?\n- If not: gap analysis + extended sprint OR accept current level with grace\n- Public retrospective post (optional but accelerates the next sprint)\n\nPhase 8 — Retention (Principle 7). Ongoing after sprint.\n- Spaced-repetition schedule for the cards built during sprint\n- Weekly minimum maintenance practice\n- A stretch project queued to keep applying the skill\n- 30 / 90 / 180-day retention checks\n\nOutput:\n- The \"How to learn X\" metalearning memo (PDF)\n- A full sprint curriculum doc (Notion + PDF)\n- Weekly schedule template (.ics file) with time-blocked focus sessions\n- Per-sub-skill drill prescription card\n- A ranked feedback-source list (free → paid, low → high signal)\n- Spaced-repetition seed deck (CSV ready for Anki)\n- Sunday review template\n- Project brief + success criteria + external evaluator commitment\n- A \"what to do if I fall off the wagon for a week\" recovery script\n\nFeedback signal (the sprint's own learning loop):\n- Weekly adherence to focus blocks → calibrates whether the time budget is realistic\n- Drill accuracy improvement → surfaces if the drills are right size (too easy or too hard kills motivation)\n- Project artifact quality at midpoint vs end → surfaces curriculum gaps\n- External evaluation gap from self-assessment → calibrates honest self-judgment\n- Retention check at 30 / 90 / 180 days → surfaces what stuck vs what evaporated\n- After the sprint: what worked + what wasted weeks → input to the next ultralearning sprint\n\nQuality bar:\n- NEVER skip Phase 1 metalearning week — the highest ROI is here, and skipping is the #1 reason sprints fail\n- NEVER substitute consumption for direct practice — reading about Spanish is not speaking Spanish\n- NEVER drill what you're already good at to feel competent — drill the painful weak spot (Principle 4)\n- NEVER re-read or re-watch when you could retrieve — testing beats reviewing every time (Principle 5)\n- Get the highest-signal feedback you can afford — bad or slow feedback wastes weeks (Principle 6)\n- Embrace failure as data — comfortable practice doesn't produce mastery\n- Public commitment + external evaluator beats motivation — design the system, don't rely on willpower\n- Pick a clear end date and ship the project — open-ended learning rarely concludes\n- This works for: languages, programming, music, sport, math, design, writing, sales, painting, public speaking, chess, anything with a feedback signal\n- This does NOT work for: skills with no clear feedback (taste, charisma, intuition-only fields) — for those, mentorship beats self-directed sprints" + }, + { + "id": "wheel-strategy-scanner", + "name": "Scan for wheel-strategy candidates", + "category": "Investing", + "tags": [ + "investing", + "loop" + ], + "emoji": "🎡", + "description": "Scan equity universe for cash-secured-put candidates. Get a wheel-fit-scored shortlist with IV rank, delta, and earnings dates.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "brave-search", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Filter universe by liquidity + market cap", + "Score by IV rank + delta + earnings risk", + "Rank top 10 wheel candidates", + "Output strikes + sizing per portfolio rules", + "Track assignment + roll candidates weekly" + ], + "prompt": "Scan for wheel-strategy candidates (cash-secured puts → assignment → covered calls).\n\nInputs:\n- Account size + max cash per put position: [paste]\n- Risk tolerance (delta target — 0.30 conservative / 0.15-0.20 aggressive): [paste]\n- Sectors to include / exclude: [paste]\n- Minimum stock price + max stock price (for assignment risk): [paste]\n- Days to expiration target: [default 30-45 DTE]\n- Tax account type (taxable / IRA / Roth): [paste — drives strategy]\n- Existing positions + open Greeks: [paste]\n\nPhase 1 — Universe filter.\n- Equities with >500K avg daily volume + tight bid-ask\n- Market cap > $2B (avoid micro/small-cap assignment risk)\n- Optionable with weekly or monthly chains\n- Drop names with earnings inside the DTE window\n- Drop names with binary catalysts (FDA, merger vote, lawsuit ruling)\n\nPhase 2 — Score each candidate.\nFor each stock, compute:\n- IV rank (current IV vs 52-week range) — target >40%\n- IV percentile — target >50%\n- Implied move vs expected (skew the agent toward fair-priced premium)\n- Delta target match per my risk tolerance\n- Dividend ex-date conflict (avoid early assignment on covered call side)\n- Wheel Fit Score 0-10 (composite)\n\nPhase 3 — Rank top 10.\nFor each:\n- Recommended strike + DTE + premium estimate\n- Max risk (assignment cost) + breakeven\n- Annualized return if not assigned\n- Cost basis after assignment (would I want to own this stock?)\n- A \"what kills this trade\" line (earnings move, sector rotation, etc.)\n\nPhase 4 — Position sizing.\n- Per-name allocation per my portfolio rules\n- Total cash committed across new positions\n- Aggregate Greeks impact (delta, vega, theta) on portfolio\n\nPhase 5 — Output.\n- Ranked CSV: ticker | strike | DTE | premium | max risk | annualized return | wheel fit score | notes\n- A \"ready to enter\" subset I can paste into the broker\n- A weekly tracking sheet for open positions (P&L, roll candidates, assignment risk)\n- An alert list for when an open position needs action\n\nFeedback signal:\n- Per closed cycle: realized return vs expected\n- Which sectors / IV rank tiers delivered best risk-adjusted returns\n- Assignment rate vs IV rank tier — calibrates delta target\n\nQuality bar:\n- This is analysis, NOT financial advice\n- NEVER recommend a position you wouldn't take to assignment\n- NEVER sell premium against a name you don't want to own\n- IRA / Roth: cash-secured only (no margin)\n- Watch earnings + binary catalyst dates religiously — surprises destroy wheel strategies\n- Realized return on a wheel needs at least 12 cycles to evaluate fairly" + }, + { + "id": "iron-condor-builder", + "name": "Build a Greek-sized iron condor or credit spread", + "category": "Investing", + "tags": [ + "investing" + ], + "emoji": "🦅", + "description": "Build a defined-risk iron condor or credit spread sized to portfolio Greeks. Get strikes, P(profit), and a roll plan.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Confirm ticker + bias + risk budget", + "Fetch chain + IV + expected move", + "Construct candidate spreads", + "Greek-aware sizing check", + "Output entry + management plan" + ], + "prompt": "Build a defined-risk iron condor or credit spread on a ticker, sized to portfolio Greeks.\n\nInputs:\n- Ticker + my directional bias (neutral / mildly bullish / mildly bearish / volatility selling): [paste]\n- Max risk per trade ($ — typically 1-3% of account): [paste]\n- Current portfolio Greeks (delta, gamma, theta, vega): [paste]\n- Portfolio Greek limits (e.g., max net delta, max negative vega): [paste]\n- Days to expiration target: [default 30-50 DTE]\n- Underlying current price + IV rank + expected move: [paste]\n- Earnings or binary catalyst within DTE window: [paste yes/no + date]\n\nPhase 1 — Confirm trade premise.\n- Why is now the right time (IV rank, technical setup, vol regime)?\n- What would invalidate the thesis (earnings, big news, sector flip)?\n- Iron condor vs single-side credit spread — which fits the bias?\n- If earnings inside DTE, STOP unless explicit earnings-play structure\n\nPhase 2 — Fetch chain + structure candidates.\nFor iron condor:\n- Short call strike (target ~16 delta = ~84% OTM)\n- Long call strike (5-10 wider for defined risk)\n- Short put strike (target ~16 delta)\n- Long put strike (5-10 wider)\n\nFor single-side credit spread:\n- Short strike (target ~25-30 delta for premium / ~16 for higher P(profit))\n- Long strike (defined risk, typically $5 width)\n\nCompute per candidate:\n- Net credit received\n- Max risk = width − credit\n- Max return = credit / max risk\n- Probability of profit\n- Probability of touch\n- Implied move vs strike distance\n\nPhase 3 — Greek-aware sizing.\n- Position delta (net of all 4 legs)\n- Position vega (typically negative for credit structures)\n- Position theta (positive — the payment)\n- Aggregate impact on portfolio Greeks\n- Reject the trade if it pushes any Greek past my limit\n- Suggest contract count that fits both risk budget AND Greek limits\n\nPhase 4 — Entry + management plan.\n- Entry order type (limit at mid, not market)\n- Profit target (typically close at 25-50% of max profit)\n- Stop loss (typically 2x credit received, or test of short strike)\n- Roll criteria (short strike tested + DTE > 21? Roll out or down)\n- Final close criteria (21 DTE or 25% of max profit — whichever first)\n\nPhase 5 — Output.\n- Trade ticket (ready to paste into broker)\n- 1-page trade plan (entry, targets, stops, rolls)\n- Portfolio Greeks before vs after\n- A \"what could go wrong\" risk list with the action for each\n\nFeedback signal:\n- Per closed trade: realized P&L vs expected\n- Win rate vs P(profit) calibration over 20+ trades\n- Greek limit breaches that needed early management — refine sizing\n\nQuality bar:\n- This is analysis, NOT financial advice\n- NEVER hold defined-risk positions through earnings unless that's the explicit thesis\n- NEVER widen wings to \"fix\" a tested side — that increases risk\n- 21 DTE is the management cliff — gamma risk goes parabolic past that\n- Close winners; manage losers; don't pray\n- Track your win rate and average winner/loser separately — high win rate with terrible loser ratio still loses money" + }, + { + "id": "crypto-smart-money-tracker", + "name": "Track smart-money crypto wallets for early signal", + "category": "Investing", + "tags": [ + "investing", + "loop" + ], + "emoji": "🐋", + "description": "Track Nansen-labeled smart-money wallets for early accumulation. Get token alerts with score, supporting data, and a follow/fade verdict.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "brave-search", + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Select wallet watchlist", + "Detect accumulation events", + "Cross-check holder + LP signals", + "Score each signal", + "Alert with follow/fade verdict" + ], + "prompt": "Track smart-money wallets and surface early accumulation signals.\n\nInputs:\n- Wallet watchlist (Nansen labels, hand-picked alpha wallets, or Lookonchain feed): [paste]\n- Chains to cover (Ethereum / Solana / Base / Arbitrum / etc.): [paste]\n- Token universe (top 200 by mcap / new tokens / specific sectors): [paste]\n- Minimum signal threshold (number of smart wallets buying / total $ spent): [paste]\n- Alert channel (Telegram / Discord / Email): [paste]\n- My risk tolerance + position size limits: [paste]\n\nPhase 1 — Detect accumulation events.\nFor each tracked wallet:\n- New token positions opened in the last N hours\n- Existing positions added to (>20% increase)\n- Coordinated buying (3+ tracked wallets in same token within 24h)\n- Time-of-day patterns (Asia / EU / US sessions)\n\nPhase 2 — Cross-check supporting signals.\nFor each candidate token:\n- LP depth + 24h volume change\n- Holder count delta (organic vs concentrated)\n- Bubblemaps cluster check (insider concentration risk)\n- Recent contract activity (mint authority, ownership, function calls)\n- Social signal (X / Telegram mentions in the last 24h)\n- Recent CEX listings or pending listings\n\nPhase 3 — Risk filter (avoid the trap).\n- Honeypot check (sell-side simulation)\n- Mint authority not renounced — red flag\n- Top 10 holder concentration > 30% — flag insider risk\n- LP not locked or unlocking soon — flag exit risk\n- Token age < 7 days — flag for extra scrutiny\n\nPhase 4 — Score each signal.\n0-100 composite:\n- Number of smart wallets buying (more = stronger)\n- Total $ spent across smart wallets\n- Time-clustered buying (within hours = stronger)\n- Holder + LP support\n- Risk deductions for any red flags\n\nPhase 5 — Alert + verdict.\nFor each signal above threshold:\n- FOLLOW: high score + low risk + sufficient liquidity to enter\n- INVESTIGATE: medium score, needs human review (specific concerns named)\n- FADE: smart wallet identified but contract or distribution is shady\n- IGNORE: below threshold\n\nOutput per alert:\n- Token + chain + contract\n- Signal summary (which wallets bought, when, how much)\n- Risk flags\n- Suggested entry tier (small probe / medium / pass)\n- Stop-loss + take-profit framework\n\nPhase 6 — Output.\n- Real-time alerts to my channel\n- Daily digest of all signals (followed + faded)\n- Weekly retrospective: signal accuracy + P&L attribution\n\nFeedback signal (closes the loop):\n- Per signal: did the token move? Profitable or not?\n- Wallet labels that consistently predict moves — promote\n- Wallet labels that are noise — demote\n- Risk flags that consistently saved you from rugs — strengthen the rule\n\nQuality bar:\n- This is analysis, NOT financial advice — crypto is highly volatile and lossy\n- NEVER buy a token without verifying the contract address (scams are everywhere)\n- NEVER size up because \"smart money is in\" — they're often wrong too\n- Honeypot + insider checks are MANDATORY before any entry\n- Position sizing on crypto: typically 0.5-2% of account per signal, max\n- Liquidity matters more than alpha — a great signal in an illiquid token can't be exited\n- Smart-money tracking does NOT survive once it's widely automated — bias toward fresh wallets, not the labeled ones everyone follows" + }, + { + "id": "token-rugpull-diligence", + "name": "Screen a new token for rug-pull and honeypot risk", + "category": "Investing", + "tags": [ + "audit", + "investing" + ], + "emoji": "🪤", + "description": "Run pre-buy diligence on a new token. Get a 60-second risk audit covering contract, LP, holders, and a go/no-go verdict.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "brave-search", + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull contract + LP + holder data", + "Run honeypot + transfer simulation", + "Check holder concentration + insider clusters", + "Score risk per dimension", + "Output go/no-go verdict" + ], + "prompt": "Screen a new token for rug-pull / honeypot risk before I buy.\n\nInputs:\n- Token contract address + chain: [paste]\n- My intended position size: [paste]\n- DEX or CEX where I'd buy: [paste]\n- Source of the signal (Telegram call / X post / wallet tracker / friend): [paste]\n- Time pressure (do I have 60 seconds or 30 minutes to decide?): [paste]\n\nPhase 1 — Contract audit.\n- Verify the contract is verified on Etherscan / Solscan / BSCscan\n- Mint authority: renounced or active?\n- Freeze authority (SPL tokens / Token-2022): present?\n- Transfer fees / taxes: what %?\n- Blacklist function: present?\n- Owner / admin functions still callable: which?\n- Proxy / upgradeable: yes/no? (Yes = ongoing risk)\n- Recent contract changes (last 7 days): any?\n\nPhase 2 — Honeypot + transfer simulation.\n- Simulate a sell of the position size — does it succeed?\n- Hidden transfer fees that only trigger on sell?\n- Slippage required at my position size\n- LP-based sell simulation (will it actually clear?)\n\nPhase 3 — LP + liquidity.\n- Total liquidity in USD\n- LP token: locked, burned, or wallet-held?\n- Lock duration + unlock date\n- LP holder distribution (one wallet vs many)\n- 24h volume + buy/sell ratio\n- Pool age\n\nPhase 4 — Holder distribution + clusters.\n- Top 10 holder concentration (>30% = insider risk)\n- Bubblemaps cluster: connected wallets (sniper bots, dev team holding multi-wallet)\n- New holders in the last 24h (organic growth?)\n- Distribution Gini coefficient\n\nPhase 5 — Off-chain signals.\n- Project team doxxed?\n- Smart contract audit (CertiK, Quantstamp, ZachXBT mention)?\n- Telegram + X account age + follower quality\n- Website + roadmap age\n- CEX listing rumors or scheduled\n\nPhase 6 — Risk score + verdict.\nComposite 0-100 across the dimensions. Verdict tiers:\n- GO (>80, all checks pass): risk-budgeted entry suggested\n- PROBE (60-80, minor concerns): small probe position only, monitor 24h\n- WAIT (40-60, real concerns): wait for resolution (LP lock, audit, dox)\n- NO (<40, red flags): walk away, no position size justifies the risk\n\nPhase 7 — Output.\n- 1-page audit report (top: verdict, body: per-dimension score + evidence)\n- A \"what would make this go from PROBE to GO\" list\n- A \"what to monitor if I do enter\" list (LP changes, owner txns, dump signal)\n- A safe entry plan if GO (slippage limit, position size, stop trigger)\n\nFeedback signal (over time):\n- Per checked token: did the verdict match outcome 7 days later?\n- Which red flag patterns caught actual rugs — promote\n- Which \"GO\" verdicts went to zero anyway — re-examine the methodology\n\nQuality bar:\n- This is analysis, NOT financial advice — crypto rugs are real and frequent\n- A PROBE verdict does NOT mean \"this will pump\" — it means \"the contract isn't actively malicious\"\n- NEVER use real money on a token without the audit running first\n- Mint authority active + LP not locked + dev wallet large = walk away every time\n- Even a perfect verdict doesn't survive a market-wide crash or a coordinated dump\n- Position sizing: probe = 0.25-0.5% of account; go = 1-2% max" + }, + { + "id": "cross-dex-arb-detector", + "name": "Detect cross-DEX cyclic arbitrage opportunities", + "category": "Investing", + "tags": [ + "investing", + "loop" + ], + "emoji": "🌀", + "description": "Detect cross-DEX arbitrage cycles (A→B→C→A). Get ranked opportunities with expected profit net of gas + slippage.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Define token universe + DEX list", + "Pull pool reserves + recent fills", + "Find cyclic price disconnects", + "Simulate net profit per route", + "Output ranked opportunity list" + ], + "prompt": "Detect cross-DEX cyclic arbitrage opportunities on Solana / Ethereum / Base.\n\nInputs:\n- Chain: [Solana / Ethereum / Base / Arbitrum / Polygon]\n- Token universe (top N by liquidity OR a hand-picked list): [paste]\n- DEX list (Raydium / Orca / Meteora / Jupiter / Uniswap / etc.): [paste]\n- Capital available per cycle: [paste]\n- Gas + priority fee budget per attempt: [paste]\n- Min net profit threshold to alert: [paste — e.g. >$5 net]\n- MEV protection layer (Jito for Solana, Flashbots for ETH): [paste]\n- Alert channel: [Telegram / API webhook]\n\nPhase 1 — Pull pool state.\n- Current reserves + fee tier for each pool in scope\n- Recent fills (last 10-30 sec) to detect imbalanced flow\n- Slippage model per pool (constant product or CLMM-specific)\n\nPhase 2 — Find cyclic disconnects.\n- For each candidate cycle (A → B → C → A) with my token universe:\n- Compute the implied price loop\n- If loop > 1.0 (after fees), surface as a candidate\n- Account for path with 2-hop and 3-hop cycles\n- Filter cycles that cross the same pool twice (no real arb)\n\nPhase 3 — Simulate net profit per route.\n- Input amount sweep (find optimal size — typically the point right before slippage kills it)\n- Total swap fees across the cycle\n- Estimated gas + priority fee\n- MEV / sandwich risk haircut (1-3% buffer)\n- Net P&L = gross spread − fees − gas − MEV haircut\n\nDrop anything with net P&L < threshold.\n\nPhase 4 — Rank surviving routes.\n- Net $ profit\n- Required capital\n- Number of hops (fewer = lower failure rate)\n- Pool depth (more = lower slippage variance)\n- Historic confirmation rate (have similar routes confirmed lately?)\n\nPhase 5 — Alert + simulate before send.\nFor top route:\n- Pre-flight simulation against current pool state (5 sec freshness)\n- If simulation still > threshold: alert + ready-to-send transaction\n- If simulation < threshold: stale data; recompute\n- NEVER auto-send without my approval unless I've explicitly enabled it\n\nPhase 6 — Output.\n- Real-time alerts (route, expected profit, capital required)\n- Daily summary: routes attempted, won, lost, net P&L\n- A leaderboard of profitable cycle patterns\n- A \"killed by MEV\" log to refine the haircut\n\nFeedback signal (closes the loop):\n- Confirmation rate per cycle pattern\n- Realized profit vs simulated — calibrates the MEV haircut\n- Patterns that decay (others discovered them) — rotate to fresher cycles\n\nQuality bar:\n- This is analysis, NOT financial advice — crypto arb is competitive and capital-intensive\n- NEVER auto-execute without simulator confirmation — pool state changes second-to-second\n- Gas wars + MEV bots eat most retail \"arb\" — your edge is in fresh routes, not crowded ones\n- A failed arb costs you gas every time — track failure rate as relentlessly as profit\n- Most cross-DEX arbs on major chains are already captured by professional bots — the alpha is in new pools or unusual cycles\n- If your daily net is negative for 7 days, something in the model is wrong — stop and audit" + }, + { + "id": "tax-loss-harvest-sweep", + "name": "Run an annual tax-loss harvest sweep", + "category": "Finance", + "tags": [ + "audit", + "finance", + "personal" + ], + "emoji": "🌾", + "description": "Run an annual tax-loss harvest across taxable accounts. Get harvest pairs that avoid wash sale and an estimated tax savings.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Audit all taxable lots for unrealized losses", + "Identify substantially identical replacements", + "Check wash-sale across accounts + spouse + IRA", + "Estimate tax savings per pair", + "Output a Q4 harvest plan" + ], + "prompt": "Run my annual tax-loss harvest sweep (Q4 prep, before December 31).\n\nInputs:\n- All taxable account statements (Schwab / Fidelity / Robinhood / IBKR — lot-level): [paste or path]\n- Spouse's accounts (for wash-sale rule across spousal accounts): [paste]\n- IRA + Roth + 401k holdings (wash-sale clock applies if substantially identical): [paste]\n- My federal marginal tax bracket + state tax rate: [paste]\n- YTD realized gains (short-term + long-term): [paste]\n- Planned future capital gains or losses I expect to realize: [paste]\n- Risk tolerance for the swap period (sell + buy substantially-NOT-identical replacement): [paste]\n\nPhase 1 — Audit all lots for unrealized losses.\n- For every position in every taxable account, list every lot\n- Per lot: ticker, acquisition date, cost basis, current market value, unrealized loss\n- Sort by largest absolute loss first\n- Flag short-term vs long-term loss (short-term is more valuable for offsetting short-term gains)\n\nPhase 2 — Identify substantially identical replacements.\nFor each loss lot you'd harvest:\n- The replacement security (similar exposure, NOT substantially identical per IRS guidance)\n- Examples: VTI loss → swap to ITOT or SCHB; AAPL loss → swap to QQQ or another tech ETF; SPY loss → swap to VOO with 31-day wait or to IVV with caution\n- The portfolio drift the swap introduces (sector, factor, size, geographic)\n- Whether to \"park\" in cash for 31 days or accept the swap drift\n\nPhase 3 — Wash-sale check (THE critical step).\nFor each candidate harvest:\n- Check ALL taxable accounts (yours + spouse) for the same security in the prior 30 days\n- Check ALL IRA / Roth accounts for the same security (yes, IRA wash-sales triggered by taxable losses are real)\n- Check planned future buys in the next 30 days (auto-invest schedules, dividend reinvestment)\n- Check options positions on the same underlying (puts can be tagged substantially identical)\n- KILL any harvest where any of these conditions exist\n\nPhase 4 — Estimate tax savings.\nFor each surviving harvest:\n- Loss harvested ($)\n- Tax saved at your marginal rate (federal + state)\n- Reduction in YTD realized gains (offset)\n- Carryforward generated (up to $3k/yr against ordinary income; rest carries forward)\n\nPhase 5 — Build the Q4 execution plan.\n- Harvest order (largest tax-saving first)\n- Replacement security buy timing (same day, market close)\n- 31-day calendar for when you can buy back original (if you want to)\n- Auto-invest pause flags + DRIP suspension where needed\n\nPhase 6 — Output.\n- Harvest plan PDF (per-lot detail, executable as broker tickets)\n- Wash-sale risk audit log (all triggers found + how avoided)\n- Estimated tax savings summary (1-page top sheet)\n- A 31-day calendar showing when each replacement holds vs returns\n- Updates needed to auto-invest / DRIP / contribution schedules\n\nFeedback signal (next year):\n- Realized vs estimated tax savings — calibrate\n- Patterns: what harvested well vs what fought wash-sale rules constantly\n- Whether the swap drift hurt portfolio performance — adjust replacement strategy\n\nQuality bar:\n- This is tax planning analysis, NOT tax advice — consult a CPA for complex situations\n- The wash-sale rule is BRUTAL — one missed account triggers full deferral\n- Watch DRIP and auto-invest religiously — they reinvest at year-end and break harvests\n- For substantially identical: VTI and VOO are clearly different (different indices); AAPL and AAPL are not\n- Harvest is most valuable when offsetting short-term gains (taxed as ordinary income)\n- Capital loss carryforward is a real asset — track it across years\n- DON'T harvest at expense of long-term portfolio strategy — the tax tail shouldn't wag the investment dog" + }, + { + "id": "fomc-volatility-playbook", + "name": "Build a FOMC decision-day volatility playbook", + "category": "Investing", + "tags": [ + "investing", + "report" + ], + "emoji": "🦉", + "description": "Build an FOMC-day playbook. Get hawkish/neutral/dovish scenarios with strikes, timing, and a 4-stage volatility roadmap.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "brave-search", + "concise-planning", + "pdf" + ], + "mcp_servers": [], + "living_ui_apps": [] + }, + "steps": [ + "Pull market-implied probabilities (Fed Funds Futures)", + "Generate hawkish/neutral/dovish scenarios", + "Map to the 4-stage vol pattern", + "Pick strikes + timing per scenario", + "Build the kill switch" + ], + "prompt": "Build my FOMC decision-day trading playbook.\n\nInputs:\n- FOMC meeting date + time (2:00 PM ET press release, 2:30 PM ET Powell presser): [paste]\n- Current Fed Funds rate + market consensus: [paste]\n- Market-implied probabilities (Fed Funds Futures, CME FedWatch): [paste]\n- Current SPY / QQQ levels + recent technicals: [paste]\n- VIX level + term structure: [paste]\n- My capital allocated to FOMC trade + max loss: [paste]\n- My instrument preference (SPY 0DTE / VIX / sector ETFs): [paste]\n\nPhase 1 — Market-implied probabilities.\n- Hike / hold / cut probabilities (from Fed Funds Futures)\n- Implied terminal rate\n- 2024-2025 dot-plot drift vs current\n- Where consensus is OVER-confident (the actionable edge)\n\nPhase 2 — Generate scenarios.\n\nHawkish (rate higher than consensus, OR consensus rate + hawkish language):\n- SPY directional bias: down\n- VIX bias: spike\n- Bond yields (TLT): down\n- Dollar: up\n- Likely sectors: financials up; growth / tech / housing down\n\nNeutral (consensus rate + balanced language):\n- SPY likely range-bound until presser\n- VIX deflates after release\n- Bonds steady\n\nDovish (rate lower than consensus, OR rate cut signals, OR worse-than-expected projections):\n- SPY: up\n- VIX: deflate hard\n- Bonds: up\n- Dollar: down\n- Likely sectors: growth + small caps lead\n\nFor each scenario: probability estimate + strike selection + risk caps.\n\nPhase 3 — The 4-stage volatility pattern.\nStage 1 — Compression (10:00 AM - 1:55 PM ET):\n- Vol contracts as market awaits\n- Best for theta-positive (premium-selling) structures\n- Avoid directional bets until decision\n\nStage 2 — Decision Spike (2:00 PM - 2:15 PM ET):\n- Maximum volatility on press release\n- 1-3% SPY move within first 15 min is common\n- Best for hedged directional or vol-buying structures\n\nStage 3 — Powell Reversal (2:30 PM - 3:30 PM ET):\n- Press conference often reverses initial move\n- 60% of FOMC days reverse direction in this window\n- Plan around the reversal — don't chase the spike\n\nStage 4 — Resolution (3:30 PM - close):\n- Final positioning, direction confirms\n- Best for closing the trade or letting overnight hold\n\nPhase 4 — Pick strikes + timing per scenario.\n- Conservative play (defined-risk): credit spread or iron condor positioned for compression\n- Directional play: long calls / puts entered AT compression (cheap vol)\n- Vol play: long VIX calls or VIX call spread\n- Reversal play: enter opposite-side position at 2:30 PM if initial spike feels emotional\n\nPhase 5 — Kill switch.\n- Max loss per stage (Stage 2 spike, Stage 3 reversal)\n- Mid-day reassessment trigger (if Stage 2 move > X%, recalibrate)\n- \"Walk away\" rules (if VIX dies after Stage 2, kill long-vol positions immediately)\n\nPhase 6 — Output.\n- Playbook PDF (1 page top-line + 4-stage details + scenario strikes)\n- Pre-market briefing the morning of FOMC (recap of overnight + final probabilities)\n- 2 PM \"decision live\" alert template (script for the reaction)\n- Post-FOMC retrospective (what worked + what didn't + which scenario hit)\n\nFeedback signal (over FOMC meetings):\n- Per scenario: how often did your probability estimates match reality?\n- Per stage: did the timing pattern hold?\n- Per instrument: which gave the best risk-adjusted return on FOMC days?\n\nQuality bar:\n- This is analysis, NOT financial advice — FOMC days are violent and can blow up accounts\n- NEVER size FOMC trades as you would a normal day — assume 2x normal volatility\n- NEVER enter naked options into 2 PM — gamma + vega risk is asymmetric\n- The \"reversal\" pattern is statistical, not guaranteed — manage stops accordingly\n- Consensus probability can be wrong — but trading against consensus needs explicit thesis\n- If you can't articulate the EDGE in your scenario probabilities, don't trade FOMC — just watch" + }, + { + "id": "pre-market-daily-briefing", + "name": "Run a pre-market daily briefing pipeline", + "category": "Investing", + "tags": [ + "investing", + "loop", + "pipeline", + "report" + ], + "emoji": "🌅", + "description": "Run a daily pre-market briefing. Get overnight news, earnings, calendar, top movers, and a positioning sheet by 6 AM.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "brave-search", + "firecrawl", + "concise-planning" + ], + "mcp_servers": [ + "gmail-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Pull overnight global news + futures", + "Pull economic calendar + earnings", + "Identify top movers + catalysts", + "Generate sector heatmap", + "Email structured brief by 6 AM" + ], + "prompt": "Run my pre-market daily briefing pipeline. Schedule daily at 6 AM ET.\n\nInputs:\n- My watchlist (tickers I trade actively): [paste]\n- Sectors I focus on: [paste]\n- Macro indicators to track (DXY, 10Y, VIX, oil, gold, etc.): [paste]\n- Email + Slack destinations: [paste]\n- Time zone + delivery time: [paste]\n- Earnings I'm tracking this week + my positions: [paste]\n- Style: [bulleted-tight / narrative / data-dense]\n\nPhase 1 — Overnight news + futures.\n- Asia + Europe market close summary\n- US futures (ES, NQ, YM, RTY) overnight move + key levels\n- Major news items from overnight (Bloomberg, Reuters, FT, WSJ headlines)\n- Geopolitical events that moved markets (tariffs, war, central bank)\n- Currency moves (DXY, EUR, JPY, CNY)\n- Commodities (oil, gold, copper) overnight\n\nPhase 2 — Economic calendar.\n- Today's releases (time, consensus, prior)\n- Highlight Tier 1 events (CPI, NFP, FOMC, GDP)\n- Implied volatility from STIRs + options around each event\n- \"What would surprise the market\" for each\n\nPhase 3 — Earnings calendar.\n- Companies reporting today (BMO + AMC)\n- Watchlist names reporting\n- Consensus EPS + revenue + key metric\n- Options-implied move (per ATM straddle)\n- Pre-market action if reported BMO\n\nPhase 4 — Top movers + catalysts.\n- Top 20 gainers / losers pre-market (with reason)\n- Watchlist names with notable pre-market move\n- Unusual options activity from overnight (Form 4 sweeps, blocks)\n- Insider buys / sells reported overnight\n- Government / Congress disclosures\n\nPhase 5 — Sector heatmap.\n- Pre-market sector ETFs (XLK, XLF, XLE, XLY, XLI, XLV, XLP, XLU, XLB, XLRE, XLC)\n- Relative strength vs SPY\n- Sectors leading / lagging the morning\n- Rotation signal (if any)\n\nPhase 6 — Positioning sheet.\n- Open positions: any pre-market action on them?\n- Stop levels approaching?\n- Earnings on any open position in the next 3 days?\n- \"If X happens today\" notes for each major holding\n\nPhase 7 — Output.\n- Email at 6 AM ET (subject: \"Pre-Market Brief — [date]\")\n- Slack message with TL;DR + key levels\n- PDF attached with full detail\n- A \"5-minute read\" version (top of email) and a \"20-minute deep dive\" (PDF)\n\nFeedback signal:\n- Which sections I actually read vs skip — promote / demote\n- News items I missed that mattered — refine sources\n- Movers I caught vs missed — adjust pre-market scanning\n- Style preference drift — A/B test bullets vs narrative\n\nQuality bar:\n- This is information aggregation, NOT financial advice\n- NEVER fabricate news — verify with at least one source per claim\n- Cite sources for every non-obvious claim (link to the article)\n- Distinguish official news from rumor — both have signal, but mark them\n- Tier 1 events get top-of-brief treatment, NOT buried in the appendix\n- 6 AM ET means EVERY day — if the pipeline misses a day, I'll lose trust in it\n- Brevity wins for daily — 5 minutes to read, 1 minute to scan" + }, + { + "id": "daily-trade-journal", + "name": "Run a daily trade journal and EOD review", + "category": "Investing", + "tags": [ + "investing", + "loop", + "report" + ], + "emoji": "📓", + "description": "Run a daily trade journal + end-of-day review. Get P&L attribution, discipline checks, and a weekly pattern report.", + "works_best_with": { + "agent_profile": "finance-agent", + "skills": [ + "concise-planning", + "pdf" + ], + "mcp_servers": [ + "notion-mcp" + ], + "living_ui_apps": [] + }, + "steps": [ + "Ingest broker statement", + "Tag each trade by setup", + "Compute session R-multiple + win rate", + "Flag rule violations", + "Output journal entry + weekly retrospective" + ], + "prompt": "Run my daily trade journal + end-of-day review.\n\nInputs:\n- Today's broker statement / fills (Alpaca / IBKR / TastyTrade / Robinhood export): [paste or path]\n- My setup taxonomy (tag each trade by setup type — momentum, mean reversion, earnings play, swing, etc.): [paste my tags]\n- My trading rules (max risk per trade, max trades per day, no FOMO entries, etc.): [paste]\n- Account size start of day: [paste]\n- Premarket plan I wrote (what I said I'd do): [paste]\n- This week's running stats (win rate, avg R, P&L): [paste]\n\nPhase 1 — Ingest fills + categorize.\nFor each filled trade today:\n- Ticker, entry time, exit time, P&L\n- Tag by setup (from my taxonomy)\n- Tag by quality (planned / opportunistic / FOMO / revenge)\n- Tag by execution (clean fills / chasing / slippage hit)\n- Note any rule violations\n\nPhase 2 — Compute session stats.\n- Number of trades + win rate\n- Average R-multiple won vs lost\n- Largest winner + largest loser\n- P&L attribution by setup tag\n- Time-of-day distribution (am I better at open? midday? close?)\n\nPhase 3 — Discipline check.\n- Did I follow my pre-market plan? (binary yes/no per planned trade)\n- Did I take any unplanned trades? Why?\n- Did I size any position above my rules?\n- Did I hold a stop that I should have honored?\n- Any revenge trade signature (entered another trade right after a loss)?\n\nPhase 4 — Pattern review.\n- The setup that performed best today + why\n- The setup that lost the most + why\n- Surprise patterns (unusual sector, unusual time)\n- Lessons specific to today (a market regime detail to remember)\n\nPhase 5 — Write the journal entry.\nSections:\n1. Headline (1 sentence — was it a good day or a bad day, and what made it that?)\n2. Stats (numbers from Phase 2)\n3. Wins (3 trades that worked + WHY they worked)\n4. Losses (2-3 trades that didn't + WHY they didn't)\n5. Discipline grade (A-F with reasoning)\n6. Tomorrow's plan adjustment (one specific thing to do differently)\n\nPhase 6 — Sunday: weekly retrospective.\n- 7-day stats roll-up\n- Setup leaderboard (which earned, which lost)\n- Win rate by tag, by time of day, by market regime\n- 3 wins to repeat next week\n- 3 losses to NOT repeat next week\n- A \"what would have improved this week's P&L by 20%\" thought experiment\n\nPhase 7 — Output.\n- Daily journal entry (Notion / Obsidian markdown)\n- Weekly retrospective PDF (Sundays)\n- A running setup leaderboard updated daily\n- A monthly P&L attribution by tag\n- An annual \"what I learned\" memo (end-of-year)\n\nFeedback signal (closes the loop):\n- Setups consistently positive over 30+ trades — promote\n- Setups consistently negative over 30+ trades — DROP, not \"try again\"\n- Discipline grade trend — declining = burnout coming\n- The patterns the journal kept surfacing — bake into rules\n\nQuality bar:\n- This is performance analysis, NOT financial advice\n- NEVER fudge the numbers — the journal is for me, not for show\n- Discipline grade is binary truth — don't soften it\n- A losing day with discipline = a good day in the long run\n- A winning day with bad discipline = a bad habit forming\n- Win rate alone is meaningless — average R-multiple is the real edge metric\n- Track the same stats relentlessly — drift kills comparison over months" + } + ] +} diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 291b0702..6a2f1454 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -8,6 +8,7 @@ import os import re import shutil +import sys import time import uuid from datetime import datetime @@ -17,7 +18,7 @@ from aiohttp.client_exceptions import ClientConnectionResetError from agent_core.utils.logger import logger -from app.config import AGENT_WORKSPACE_ROOT +from app.config import AGENT_WORKSPACE_ROOT, APP_DATA_PATH from app.ui_layer.adapters.base import InterfaceAdapter from app.ui_layer.settings import ( # General settings @@ -1833,6 +1834,10 @@ async def _handle_ws_message(self, data: Dict[str, Any], ws=None) -> None: name = data.get("name", "External App") asyncio.create_task(self._handle_living_ui_import(source, name)) + # Playbook catalogue handlers + elif msg_type == "playbook_list": + await self._handle_playbook_list() + # WhatsApp QR code flow handlers elif msg_type == "whatsapp_start_qr": await self._handle_whatsapp_start_qr() @@ -6380,6 +6385,66 @@ async def _handle_living_ui_project_setting_update( {"type": "living_ui_project_setting_update", "data": result} ) + # ===================== + # Playbook Handlers + # ===================== + + async def _handle_playbook_list(self) -> None: + """Read the bundled playbook catalogue and broadcast it to the client. + + Lookup order mirrors `get_default_picture_path` for read-only bundled + assets: APP_DATA_PATH first (source mode + writable per-user dir), + then `_MEIPASS/app/data/playbooks` so packaged builds resolve too. + """ + candidates = [APP_DATA_PATH / "playbooks" / "catalogue.json"] + meipass = getattr(sys, "_MEIPASS", None) + if meipass: + candidates.append( + Path(meipass) / "app" / "data" / "playbooks" / "catalogue.json" + ) + + catalogue_path: Optional[Path] = next( + (p for p in candidates if p.exists()), None + ) + + if catalogue_path is None: + await self._broadcast( + { + "type": "playbook_list", + "data": { + "success": False, + "error": "Playbook catalogue not found.", + "playbooks": [], + }, + } + ) + return + + try: + with open(catalogue_path, "r", encoding="utf-8") as f: + catalogue = json.load(f) + await self._broadcast( + { + "type": "playbook_list", + "data": { + "success": True, + "playbooks": catalogue.get("playbooks", []), + }, + } + ) + except Exception as e: + logger.error(f"[PLAYBOOK] Failed to read catalogue: {e}") + await self._broadcast( + { + "type": "playbook_list", + "data": { + "success": False, + "error": str(e), + "playbooks": [], + }, + } + ) + # ===================== # Marketplace Handlers # ===================== diff --git a/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx b/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx index 80f9a428..fdd4477f 100644 --- a/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx +++ b/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx @@ -7,6 +7,9 @@ import { Button, IconButton, SlashCommandAutocomplete, StatusIndicator, Attachme import type { SlashCommandAutocompleteHandle } from '../ui' import { useDerivedAgentStatus } from '../../hooks' import { ChatMessageItem } from '../../pages/Chat/ChatMessage' +import { useAppDispatch, useAppSelector } from '../../store/hooks' +import { selectPendingPrefill } from '../../store/selectors/chatInput' +import { clearPendingPrefill } from '../../store/slices/chatInputSlice' import styles from './Chat.module.css' // Pending attachment type @@ -123,6 +126,8 @@ export function Chat({ livingUIId, placeholder, emptyMessage }: ChatProps) { }, [messages]) const [input, setInput] = useState('') + const dispatch = useAppDispatch() + const pendingPrefill = useAppSelector(selectPendingPrefill) const [pendingAttachments, setPendingAttachments] = useState([]) const [attachmentError, setAttachmentError] = useState(null) const [isDragOver, setIsDragOver] = useState(false) @@ -274,6 +279,24 @@ export function Chat({ livingUIId, placeholder, emptyMessage }: ChatProps) { adjustTextareaHeight() }, [input, adjustTextareaHeight]) + // Consume a one-shot prefill payload from the chatInput slice (e.g. when the + // user picks a playbook). Replaces the current input so the prompt is ready + // to send or edit, then clears the payload so it doesn't re-apply. + useEffect(() => { + if (pendingPrefill === null) return + setInput(pendingPrefill) + dispatch(clearPendingPrefill()) + // Focus + move caret to the end after the textarea has updated. + setTimeout(() => { + const ta = inputRef.current + if (ta) { + ta.focus() + const end = ta.value.length + ta.setSelectionRange(end, end) + } + }, 0) + }, [pendingPrefill, dispatch]) + const handleChatReply = useCallback(( sessionId: string | undefined, displayName: string, diff --git a/app/ui_layer/browser/frontend/src/components/layout/TopBar.tsx b/app/ui_layer/browser/frontend/src/components/layout/TopBar.tsx index 225893e4..6e19e3c2 100644 --- a/app/ui_layer/browser/frontend/src/components/layout/TopBar.tsx +++ b/app/ui_layer/browser/frontend/src/components/layout/TopBar.tsx @@ -1,6 +1,6 @@ -import React from 'react' -import { Sun, Moon, Github } from 'lucide-react' -import { IconButton } from '../ui' +import React, { useState } from 'react' +import { Sun, Moon, Github, BookOpen } from 'lucide-react' +import { IconButton, PlaybookModal } from '../ui' import { useTheme } from '../../contexts/ThemeContext' import { useWebSocket } from '../../contexts/WebSocketContext' import { StatusIndicator } from '../ui/StatusIndicator' @@ -23,6 +23,7 @@ export function TopBar() { const { theme, toggleTheme } = useTheme() const { connected, actions, messages } = useWebSocket() const version = useAppSelector(selectVersion) + const [playbookOpen, setPlaybookOpen] = useState(false) // Derive agent status from actions and messages const derivedStatus = useDerivedAgentStatus({ @@ -55,6 +56,12 @@ export function TopBar() {
{version && v{version}} + } + onClick={() => setPlaybookOpen(true)} + size="sm" + tooltip="Playbooks" + /> : } onClick={toggleTheme} @@ -74,6 +81,7 @@ export function TopBar() { onClick={() => window.open('https://discord.gg/bSdZf9HSgq', '_blank')} />
+ setPlaybookOpen(false)} /> ) } diff --git a/app/ui_layer/browser/frontend/src/components/ui/PlaybookModal.module.css b/app/ui_layer/browser/frontend/src/components/ui/PlaybookModal.module.css new file mode 100644 index 00000000..a5d4f427 --- /dev/null +++ b/app/ui_layer/browser/frontend/src/components/ui/PlaybookModal.module.css @@ -0,0 +1,389 @@ +/* Title row in the modal header */ +.titleRow { + display: inline-flex; + align-items: center; + gap: var(--space-2); +} + +.titleIcon { + color: var(--text-primary); +} + +/* ─── List view ─────────────────────────────────────────────── */ +.listBody { + display: flex; + flex-direction: column; + /* Fixed surface so the modal doesn't resize when filtering — the inner + content area scrolls instead. Width pulled in from viewport edges so + the modal never overflows on narrower windows. */ + width: min(1400px, 95vw); + height: min(800px, 90vh); + min-height: 0; +} + +.toolbar { + display: flex; + flex-direction: column; + gap: var(--space-3); + padding: var(--space-3) var(--space-4); + border-bottom: 1px solid var(--border-primary); + flex-shrink: 0; +} + +.searchWrapper { + position: relative; +} + +.searchIcon { + position: absolute; + left: var(--space-3); + top: 50%; + transform: translateY(-50%); + color: var(--text-muted); + pointer-events: none; +} + +.searchInput { + width: 100%; + padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 20px); + font-size: var(--text-sm); + font-family: inherit; + color: var(--text-primary); + background: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-md); + transition: border-color var(--transition-fast); +} + +.searchInput:focus { + outline: none; + border-color: var(--border-hover); +} + +.tagsRow { + display: flex; + flex-wrap: wrap; + gap: var(--space-2); + align-items: center; +} + +.tagChip { + padding: 4px 10px; + background: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: 999px; + color: var(--text-secondary); + font-size: var(--text-xs); + font-family: inherit; + cursor: pointer; + transition: all var(--transition-fast); + white-space: nowrap; +} + +.tagChip:hover { + border-color: var(--text-primary); + color: var(--text-primary); +} + +.tagChipActive { + background: var(--text-primary); + border-color: var(--text-primary); + color: var(--bg-primary); +} + +.tagChipActive:hover { + color: var(--bg-primary); +} + +.listContent { + flex: 1; + overflow-y: auto; + padding: var(--space-4); +} + +/* Pinterest-style masonry via CSS multi-column layout. column-count is the + only reliable knob across browsers — column-width hints get ignored when + column-count is also set, which jams columns too narrow. Use media queries + keyed to the modal's actual rendered width to step the count down. */ +.grid { + column-count: 4; + column-gap: var(--space-3); +} + +/* Below ~1000px the modal hits its 90vw cap and 4 columns get cramped. */ +@media (max-width: 1100px) { + .grid { + column-count: 3; + } +} + +@media (max-width: 760px) { + .grid { + column-count: 2; + } +} + +@media (max-width: 500px) { + .grid { + column-count: 1; + } +} + +.card { + display: block; + width: 100%; + margin: 0 0 var(--space-3); + padding: var(--space-3); + background: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-md); + cursor: pointer; + text-align: left; + font-family: inherit; + transition: border-color var(--transition-fast), transform var(--transition-fast); + break-inside: avoid; +} + +.card:hover { + border-color: var(--text-primary); + transform: translateY(-2px); +} + +.cardTitleRow { + display: flex; + align-items: center; + gap: var(--space-2); + margin-bottom: var(--space-2); +} + +.cardEmoji { + font-size: 18px; + line-height: 1; + flex-shrink: 0; +} + +.cardName { + font-weight: var(--font-semibold); + font-size: var(--text-sm); + color: var(--text-primary); +} + +.cardDesc { + margin: 0; + font-size: var(--text-xs); + color: var(--text-secondary); + line-height: 1.55; +} + +.cardTags { + display: flex; + flex-wrap: wrap; + gap: 4px; + margin-top: var(--space-2); +} + +.cardTag { + font-size: 10px; + padding: 1px 6px; + background: var(--bg-secondary); + border-radius: var(--radius-sm); + color: var(--text-muted); +} + +/* ─── Detail view ─────────────────────────────────────────────── */ +.detailBody { + display: flex; + flex-direction: column; + gap: var(--space-3); + padding: var(--space-4); + /* Match the list view's fixed footprint so navigating in/out of detail + doesn't reshape the modal. */ + width: min(1400px, 95vw); + height: min(800px, 90vh); + overflow-y: auto; +} + +.backButton { + align-self: flex-start; + display: inline-flex; + align-items: center; + gap: var(--space-1); + background: none; + border: none; + font-family: inherit; + font-size: var(--text-xs); + color: var(--text-muted); + cursor: pointer; + padding: 0; +} + +.backButton:hover { + color: var(--text-primary); +} + +.detailHeader { + display: flex; + align-items: center; + gap: var(--space-3); +} + +.detailEmoji { + display: inline-flex; + align-items: center; + justify-content: center; + width: 48px; + height: 48px; + border-radius: var(--radius-md); + background: var(--bg-selected); + font-size: 28px; + line-height: 1; + flex-shrink: 0; +} + +.detailName { + margin: 0; + font-size: var(--text-lg); + font-weight: var(--font-semibold); + color: var(--text-primary); +} + +.detailCategory { + font-size: 10px; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.04em; + margin-top: 2px; +} + +.section { + display: flex; + flex-direction: column; + gap: var(--space-2); +} + +.sectionLabel { + display: flex; + align-items: center; + gap: var(--space-1); + font-size: var(--text-xs); + font-weight: var(--font-semibold); + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: 0.04em; +} + +.sectionHint { + display: inline-flex; + align-items: center; + justify-content: center; + width: 14px; + height: 14px; + border-radius: 50%; + background: var(--bg-tertiary); + color: var(--text-muted); + font-size: 10px; + cursor: help; + text-transform: none; + letter-spacing: 0; +} + +.chips { + display: flex; + flex-wrap: wrap; + gap: var(--space-2); +} + +.chip { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 3px 8px; + background: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: 999px; + color: var(--text-secondary); + font-size: var(--text-xs); +} + +.chipInstalled { + border-color: var(--color-success, #22c55e); + color: var(--color-success, #22c55e); +} + +.chipCheck { + color: var(--color-success, #22c55e); +} + +.description { + font-size: var(--text-sm); + color: var(--text-secondary); + line-height: 1.6; +} + +.steps { + margin: 0; + padding-left: var(--space-4); + display: flex; + flex-direction: column; + gap: 4px; + color: var(--text-secondary); +} + +.step { + font-size: var(--text-sm); + line-height: 1.5; +} + +.promptPreview { + margin: 0; + padding: var(--space-3); + background: var(--bg-tertiary); + border: 1px solid var(--border-primary); + border-radius: var(--radius-md); + font-family: var(--font-mono, monospace); + font-size: var(--text-xs); + color: var(--text-primary); + line-height: 1.6; + white-space: pre-wrap; + word-wrap: break-word; + max-height: 480px; + overflow-y: auto; +} + +.detailFooter { + display: flex; + justify-content: flex-end; + gap: var(--space-2); + padding-top: var(--space-2); +} + +/* ─── Loading / empty states ─────────────────────────────────────────────── */ +.stateCenter { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + padding: var(--space-6); + color: var(--text-muted); + min-height: 240px; +} + +.stateIcon { + margin-bottom: var(--space-3); + opacity: 0.5; +} + +.stateText { + margin: 0 0 var(--space-3); + font-size: var(--text-sm); +} + +.spinner { + animation: spin 1s linear infinite; +} + +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} diff --git a/app/ui_layer/browser/frontend/src/components/ui/PlaybookModal.tsx b/app/ui_layer/browser/frontend/src/components/ui/PlaybookModal.tsx new file mode 100644 index 00000000..198b27d4 --- /dev/null +++ b/app/ui_layer/browser/frontend/src/components/ui/PlaybookModal.tsx @@ -0,0 +1,395 @@ +import { useState, useEffect, useMemo, useCallback } from 'react' +import { + ArrowLeft, + BookOpen, + Check, + Layout, + Loader2, + Search, + Server, + Sparkles, + UserCircle, + Wrench, + Zap, +} from 'lucide-react' +import { Button } from './Button' +import { Modal } from './Modal' +import { MarkdownContent } from './MarkdownContent' +import { useSettingsWebSocket } from '../../pages/Settings/useSettingsWebSocket' +import { useAppDispatch, useAppSelector } from '../../store/hooks' +import { setPendingPrefill } from '../../store/slices/chatInputSlice' +import { selectEnabledSkillNames } from '../../store/selectors/skillsSettings' +import styles from './PlaybookModal.module.css' + +export interface PlaybookModalProps { + isOpen: boolean + onClose: () => void +} + +interface PlaybookWorksBestWith { + agent_profile?: string + skills?: string[] + mcp_servers?: string[] + living_ui_apps?: string[] +} + +interface Playbook { + id: string + name: string + category?: string + tags?: string[] + emoji?: string + description?: string + works_best_with?: PlaybookWorksBestWith + steps?: string[] + prompt: string +} + +const DEFAULT_EMOJI = '📖' + +export function PlaybookModal({ isOpen, onClose }: PlaybookModalProps) { + const { send, onMessage, isConnected } = useSettingsWebSocket() + const dispatch = useAppDispatch() + const enabledSkills = useAppSelector(selectEnabledSkillNames) + + const [playbooks, setPlaybooks] = useState([]) + const [loading, setLoading] = useState(false) + const [error, setError] = useState(null) + const [searchQuery, setSearchQuery] = useState('') + const [selectedTags, setSelectedTags] = useState>(new Set()) + const [tagsExpanded, setTagsExpanded] = useState(false) + const [selectedPlaybook, setSelectedPlaybook] = useState(null) + + const TAG_COLLAPSE_LIMIT = 8 + + // Fetch on first open (and whenever the connection comes online while open). + useEffect(() => { + if (!isOpen || !isConnected) return + if (playbooks.length > 0) return + setLoading(true) + setError(null) + send('playbook_list') + }, [isOpen, isConnected, playbooks.length, send]) + + // Subscribe to playbook_list responses for as long as the modal is mounted. + useEffect(() => { + return onMessage('playbook_list', (data: unknown) => { + const d = data as { success: boolean; playbooks?: Playbook[]; error?: string } + setLoading(false) + if (d.success && d.playbooks) { + setPlaybooks(d.playbooks) + setError(null) + } else { + setError(d.error || 'Failed to load playbooks') + } + }) + }, [onMessage]) + + // Reset search + detail view whenever the modal closes so reopening starts clean. + useEffect(() => { + if (!isOpen) { + setSearchQuery('') + setSelectedTags(new Set()) + setTagsExpanded(false) + setSelectedPlaybook(null) + } + }, [isOpen]) + + const allTags = useMemo(() => { + const counts = new Map() + playbooks.forEach(p => p.tags?.forEach(t => counts.set(t, (counts.get(t) || 0) + 1))) + return Array.from(counts.entries()) + .sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])) + .map(([t]) => t) + }, [playbooks]) + + const filteredPlaybooks = useMemo(() => { + const q = searchQuery.trim().toLowerCase() + return playbooks.filter(p => { + if (q) { + const hay = `${p.name} ${p.description ?? ''} ${(p.tags || []).join(' ')} ${p.category ?? ''}`.toLowerCase() + if (!hay.includes(q)) return false + } + if (selectedTags.size > 0) { + const tags = p.tags || [] + if (!tags.some(t => selectedTags.has(t))) return false + } + return true + }) + }, [playbooks, searchQuery, selectedTags]) + + const toggleTag = useCallback((tag: string) => { + setSelectedTags(prev => { + const next = new Set(prev) + if (next.has(tag)) next.delete(tag) + else next.add(tag) + return next + }) + }, []) + + const enabledSkillsSet = useMemo(() => new Set(enabledSkills), [enabledSkills]) + + const handleUse = useCallback((playbook: Playbook) => { + dispatch(setPendingPrefill(playbook.prompt)) + onClose() + }, [dispatch, onClose]) + + if (!isOpen) return null + + // Detail view ----------------------------------------------------------- + if (selectedPlaybook) { + const wbw = selectedPlaybook.works_best_with || {} + + return ( + + + Playbook + + } + > +
+ + +
+ +
+

{selectedPlaybook.name}

+ {selectedPlaybook.category && ( +
{selectedPlaybook.category}
+ )} +
+
+ + {(wbw.agent_profile || (wbw.skills && wbw.skills.length) || (wbw.mcp_servers && wbw.mcp_servers.length) || (wbw.living_ui_apps && wbw.living_ui_apps.length)) && ( +
+
+ Works best with + + ? + +
+
+ {wbw.agent_profile && ( + + + {wbw.agent_profile} + + )} + {(wbw.skills || []).map(skill => { + const installed = enabledSkillsSet.has(skill) + return ( + + + {skill} + {installed && } + + ) + })} + {(wbw.mcp_servers || []).map(mcp => ( + + + {mcp} + + ))} + {(wbw.living_ui_apps || []).map(app => ( + + + {app} + + ))} +
+
+ )} + + {selectedPlaybook.description && ( +
+
About
+ +
+ )} + + {selectedPlaybook.steps && selectedPlaybook.steps.length > 0 && ( +
+
What CraftBot will do
+
    + {selectedPlaybook.steps.map((step, idx) => ( +
  1. + {step} +
  2. + ))} +
+
+ )} + +
+
Prompt preview
+
{selectedPlaybook.prompt}
+
+ +
+ + +
+
+
+ ) + } + + // List view ------------------------------------------------------------- + return ( + + + Playbooks + + } + > +
+
+
+ + setSearchQuery(e.target.value)} + autoFocus + /> +
+ {allTags.length > 0 && (() => { + const visibleTags = tagsExpanded ? allTags : allTags.slice(0, TAG_COLLAPSE_LIMIT) + const hiddenCount = Math.max(0, allTags.length - TAG_COLLAPSE_LIMIT) + return ( +
+ + {visibleTags.map(tag => ( + + ))} + {hiddenCount > 0 && ( + + )} +
+ ) + })()} +
+ +
+ {loading ? ( +
+ +
+ ) : error ? ( +
+

{error}

+ +
+ ) : playbooks.length === 0 ? ( +
+ +

No playbooks available yet.

+
+ ) : filteredPlaybooks.length === 0 ? ( +
+ +

No playbooks match your filters.

+
+ ) : ( +
+ {filteredPlaybooks.map(playbook => ( + + ))} +
+ )} +
+
+
+ ) +} diff --git a/app/ui_layer/browser/frontend/src/components/ui/index.ts b/app/ui_layer/browser/frontend/src/components/ui/index.ts index e7e2b4bf..5e6ccf6d 100644 --- a/app/ui_layer/browser/frontend/src/components/ui/index.ts +++ b/app/ui_layer/browser/frontend/src/components/ui/index.ts @@ -36,3 +36,6 @@ export type { SkillCreatorModalProps, SkillCreatorMode, SkillCreatorSubmit } fro export { SlashCommandAutocomplete } from './SlashCommandAutocomplete' export type { SlashCommandAutocompleteHandle } from './SlashCommandAutocomplete' + +export { PlaybookModal } from './PlaybookModal' +export type { PlaybookModalProps } from './PlaybookModal' diff --git a/app/ui_layer/browser/frontend/src/store/index.ts b/app/ui_layer/browser/frontend/src/store/index.ts index b3bfebc1..89beb71e 100644 --- a/app/ui_layer/browser/frontend/src/store/index.ts +++ b/app/ui_layer/browser/frontend/src/store/index.ts @@ -17,6 +17,7 @@ import livingUiSettingsReducer from './slices/livingUiSettingsSlice' import generalSettingsReducer from './slices/generalSettingsSlice' import modelSettingsReducer from './slices/modelSettingsSlice' import integrationsSettingsReducer from './slices/integrationsSettingsSlice' +import chatInputReducer from './slices/chatInputSlice' import { socketMiddleware } from './socket/socketMiddleware' export const store = configureStore({ @@ -39,6 +40,7 @@ export const store = configureStore({ generalSettings: generalSettingsReducer, modelSettings: modelSettingsReducer, integrationsSettings: integrationsSettingsReducer, + chatInput: chatInputReducer, }, middleware: (getDefault) => getDefault().concat(socketMiddleware), }) diff --git a/app/ui_layer/browser/frontend/src/store/selectors/chatInput.ts b/app/ui_layer/browser/frontend/src/store/selectors/chatInput.ts new file mode 100644 index 00000000..d4ee9a57 --- /dev/null +++ b/app/ui_layer/browser/frontend/src/store/selectors/chatInput.ts @@ -0,0 +1,3 @@ +import type { RootState } from '../index' + +export const selectPendingPrefill = (state: RootState) => state.chatInput.pendingPrefill diff --git a/app/ui_layer/browser/frontend/src/store/slices/chatInputSlice.ts b/app/ui_layer/browser/frontend/src/store/slices/chatInputSlice.ts new file mode 100644 index 00000000..a0459987 --- /dev/null +++ b/app/ui_layer/browser/frontend/src/store/slices/chatInputSlice.ts @@ -0,0 +1,32 @@ +import { createSlice, PayloadAction } from '@reduxjs/toolkit' + +// Cross-component prefill channel for the chat input. +// +// The chat input state itself stays local to Chat.tsx — this slice only +// carries a one-shot "pendingPrefill" payload that Chat consumes via +// useEffect and clears immediately. Used by the Playbook modal (and any +// future feature that needs to drop text into the composer from elsewhere +// in the app). +interface ChatInputState { + pendingPrefill: string | null +} + +const initialState: ChatInputState = { + pendingPrefill: null, +} + +const chatInputSlice = createSlice({ + name: 'chatInput', + initialState, + reducers: { + setPendingPrefill(state, action: PayloadAction) { + state.pendingPrefill = action.payload + }, + clearPendingPrefill(state) { + state.pendingPrefill = null + }, + }, +}) + +export const { setPendingPrefill, clearPendingPrefill } = chatInputSlice.actions +export default chatInputSlice.reducer From 1e740f74a2006c8aee862410c7230dd67510f914 Mon Sep 17 00:00:00 2001 From: CraftBot Date: Mon, 15 Jun 2026 07:53:31 +0900 Subject: [PATCH 06/24] Stripe integration --- .../integrations/stripe/stripe_actions.py | 2937 +++++++++++++++++ .../integrations/stripe/INTEGRATION.md | 65 + .../integrations/stripe/__init__.py | 2483 ++++++++++++++ 3 files changed, 5485 insertions(+) create mode 100644 app/data/action/integrations/stripe/stripe_actions.py create mode 100644 craftos_integrations/integrations/stripe/INTEGRATION.md create mode 100644 craftos_integrations/integrations/stripe/__init__.py diff --git a/app/data/action/integrations/stripe/stripe_actions.py b/app/data/action/integrations/stripe/stripe_actions.py new file mode 100644 index 00000000..015b97fc --- /dev/null +++ b/app/data/action/integrations/stripe/stripe_actions.py @@ -0,0 +1,2937 @@ +"""Stripe action surface. + +Mirrors the Stripe client in +``craftos_integrations/integrations/stripe/__init__.py`` 1:1. Sub-sets are +prefixed with ``stripe_`` per the action_set convention; the ``stripe`` +umbrella tags the high-value 20% the agent should reach for by default. + +Conventions: + +- **Amounts are integers in the smallest currency unit.** $10.00 USD → 1000. + See INTEGRATION.md for the per-currency exponent rules. +- **IDs are strings with stable prefixes.** ``cus_…`` (customer), ``pi_…`` + (payment intent), ``in_…`` (invoice), ``sub_…`` (subscription), etc. See + INTEGRATION.md for the full prefix table. +- **``expand`` is comma-separated and resolves nested objects in one call** + (``customer,latest_invoice,default_payment_method``). +- **Search uses Stripe's query language** (``email:'jane@example.com'``, + ``metadata['order_id']:'42'``, ``status:'succeeded'``), NOT free-text. See + INTEGRATION.md for the operator table. + +Every helper import is inside the function body because the action framework +exec()'s each handler in a fresh namespace. +""" + +from agent_core import action + + +# ================================================================== +# Customers (stripe_customers) +# ================================================================== + + +@action( + name="list_stripe_customers", + description="List Stripe customers. Filter by email, created window. Cursor pagination via 'starting_after' from previous response's data[-1].id.", + action_sets=["stripe_customers", "stripe"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100, default 10).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor — ID of the last item from the previous page.", "example": "cus_NffrFeUfNV2Hib"}, + "ending_before": {"type": "string", "description": "Cursor for backwards pagination.", "example": ""}, + "email": {"type": "string", "description": "Exact-match email filter.", "example": "jane@example.com"}, + "created_gte": {"type": "integer", "description": "Created at or after this UNIX timestamp.", "example": 1717200000}, + "created_lte": {"type": "integer", "description": "Created at or before this UNIX timestamp.", "example": 1719792000}, + "expand": {"type": "string", "description": "Comma-separated fields to expand (e.g. 'default_source,subscriptions').", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_customers(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_customers", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + email=input_data.get("email") or None, + created_gte=input_data.get("created_gte"), + created_lte=input_data.get("created_lte"), + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_customer", + description="Retrieve a Stripe customer by ID.", + action_sets=["stripe_customers", "stripe"], + input_schema={ + "customer_id": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "default_source,invoice_settings.default_payment_method"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_customer(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_customer", + customer_id=input_data["customer_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_customer", + description="Create a Stripe customer. At minimum pass email or name. Returns the new cus_… ID.", + action_sets=["stripe_customers", "stripe"], + input_schema={ + "email": {"type": "string", "description": "Customer email.", "example": "jane@example.com"}, + "name": {"type": "string", "description": "Customer full name.", "example": "Jane Doe"}, + "phone": {"type": "string", "description": "Phone number (E.164 recommended).", "example": "+15551234567"}, + "description": {"type": "string", "description": "Internal description / note.", "example": "Imported from CSV 2026-06-14"}, + "address": {"type": "object", "description": "Billing address (line1, line2, city, state, postal_code, country).", "example": {"line1": "1 Main St", "city": "Springfield", "country": "US"}}, + "shipping": {"type": "object", "description": "Shipping object: {name, phone, address}.", "example": {"name": "Jane Doe", "address": {"line1": "1 Main St", "country": "US"}}}, + "metadata": {"type": "object", "description": "Arbitrary key/value labels.", "example": {"crm_id": "12345"}}, + "payment_method": {"type": "string", "description": "Default payment method to attach.", "example": ""}, + "invoice_settings": {"type": "object", "description": "Defaults applied to future invoices.", "example": {"default_payment_method": "pm_xxx"}}, + "tax_exempt": {"type": "string", "description": "'none' | 'exempt' | 'reverse'.", "example": "none"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key — pass the same key on a retry to dedupe.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_customer(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_customer", + email=input_data.get("email") or None, + name=input_data.get("name") or None, + phone=input_data.get("phone") or None, + description=input_data.get("description") or None, + address=input_data.get("address") or None, + shipping=input_data.get("shipping") or None, + metadata=input_data.get("metadata") or None, + payment_method=input_data.get("payment_method") or None, + invoice_settings=input_data.get("invoice_settings") or None, + tax_exempt=input_data.get("tax_exempt") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_customer", + description="Update a Stripe customer. 'properties' is the flat update dict (email, name, phone, address, metadata, …).", + action_sets=["stripe_customers", "stripe"], + input_schema={ + "customer_id": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"email": "new@example.com", "metadata": {"vip": "true"}}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_customer(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_customer", + customer_id=input_data["customer_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="delete_stripe_customer", + description="Permanently delete a Stripe customer. Charges and invoices already tied to the customer are preserved. This action is irreversible.", + action_sets=["stripe_customers"], + input_schema={ + "customer_id": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def delete_stripe_customer(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "delete_customer", + customer_id=input_data["customer_id"], + ) + + +@action( + name="search_stripe_customers", + description="Search Stripe customers using Stripe's query language. Examples: \"email:'jane@example.com'\", \"name~'jane' AND metadata['vip']:'true'\". NOT free text — every clause names a property.", + action_sets=["stripe_customers", "stripe"], + input_schema={ + "query": {"type": "string", "description": "Stripe query language clause. Operators: ':' (equal), '~' (contains), AND, OR.", "example": "email:'jane@example.com'"}, + "limit": {"type": "integer", "description": "Max results (1-100, default 10).", "example": 10}, + "page": {"type": "string", "description": "Pagination page token from previous response.next_page.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def search_stripe_customers(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "search_customers", + query=input_data["query"], + limit=input_data.get("limit", 10), + page=input_data.get("page") or None, + expand=_csv(input_data.get("expand")), + ) + + +# ================================================================== +# Payments — PaymentIntents, Charges, Refunds (stripe_payments) +# ================================================================== + + +@action( + name="list_stripe_payment_intents", + description="List PaymentIntents. Filter by customer, created window. Cursor pagination via 'starting_after'.", + action_sets=["stripe_payments", "stripe"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100, default 10).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "customer": {"type": "string", "description": "Filter to a specific customer.", "example": "cus_NffrFeUfNV2Hib"}, + "created_gte": {"type": "integer", "description": "Created >= UNIX timestamp.", "example": 0}, + "created_lte": {"type": "integer", "description": "Created <= UNIX timestamp.", "example": 0}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.customer,data.latest_charge"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_payment_intents(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_payment_intents", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + customer=input_data.get("customer") or None, + created_gte=input_data.get("created_gte") or None, + created_lte=input_data.get("created_lte") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_payment_intent", + description="Retrieve a PaymentIntent by ID.", + action_sets=["stripe_payments"], + input_schema={ + "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_3MtwBwLkdIwHu7ix28a3tqPa"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "customer,latest_charge"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_payment_intent(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_payment_intent", + payment_intent_id=input_data["payment_intent_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_payment_intent", + description="Create a PaymentIntent. 'amount' is in the smallest currency unit ($10 USD = 1000). Defaults to automatic_payment_methods when neither payment_method nor payment_method_types is set.", + action_sets=["stripe_payments", "stripe"], + input_schema={ + "amount": {"type": "integer", "description": "Amount in smallest currency unit (cents for USD).", "example": 2000}, + "currency": {"type": "string", "description": "ISO 4217 lowercase. Defaults to integration 'default_currency'.", "example": "usd"}, + "customer": {"type": "string", "description": "Customer ID for off-session future payments.", "example": "cus_NffrFeUfNV2Hib"}, + "payment_method": {"type": "string", "description": "Existing payment method to attach.", "example": ""}, + "payment_method_types": {"type": "array", "description": "Allowed payment method types. Mutually exclusive with automatic_payment_methods.", "example": ["card"]}, + "automatic_payment_methods": {"type": "object", "description": "Enable Stripe's automatic method picker.", "example": {"enabled": True}}, + "confirm": {"type": "boolean", "description": "Confirm immediately. Requires payment_method.", "example": False}, + "capture_method": {"type": "string", "description": "'automatic' or 'manual' (capture later).", "example": "automatic"}, + "description": {"type": "string", "description": "Internal description.", "example": "Order #42"}, + "receipt_email": {"type": "string", "description": "Email to send receipt to on success.", "example": ""}, + "setup_future_usage": {"type": "string", "description": "'on_session' | 'off_session' — save method for later.", "example": ""}, + "statement_descriptor": {"type": "string", "description": "Appears on customer's bank statement.", "example": ""}, + "metadata": {"type": "object", "description": "Arbitrary key/value labels.", "example": {"order_id": "42"}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_payment_intent(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_payment_intent", + amount=input_data["amount"], + currency=input_data.get("currency") or None, + customer=input_data.get("customer") or None, + payment_method=input_data.get("payment_method") or None, + payment_method_types=input_data.get("payment_method_types") or None, + automatic_payment_methods=input_data.get("automatic_payment_methods") or None, + confirm=input_data.get("confirm"), + capture_method=input_data.get("capture_method") or None, + description=input_data.get("description") or None, + receipt_email=input_data.get("receipt_email") or None, + setup_future_usage=input_data.get("setup_future_usage") or None, + statement_descriptor=input_data.get("statement_descriptor") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_payment_intent", + description="Update a PaymentIntent's properties (amount, metadata, description, etc.). Cannot update once succeeded.", + action_sets=["stripe_payments"], + input_schema={ + "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"amount": 3000, "metadata": {"updated_by": "agent"}}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_payment_intent(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_payment_intent", + payment_intent_id=input_data["payment_intent_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="confirm_stripe_payment_intent", + description="Confirm a PaymentIntent server-side. For off-session repeat charges or completing a flow started client-side. May return 'requires_action' (3DS/SCA).", + action_sets=["stripe_payments"], + input_schema={ + "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_…"}, + "payment_method": {"type": "string", "description": "Payment method to use.", "example": "pm_…"}, + "return_url": {"type": "string", "description": "URL to redirect to after authentication.", "example": "https://example.com/return"}, + "off_session": {"type": "boolean", "description": "True for charging a saved method without customer present.", "example": True}, + "setup_future_usage": {"type": "string", "description": "'on_session' | 'off_session'.", "example": ""}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def confirm_stripe_payment_intent(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "confirm_payment_intent", + payment_intent_id=input_data["payment_intent_id"], + payment_method=input_data.get("payment_method") or None, + return_url=input_data.get("return_url") or None, + off_session=input_data.get("off_session"), + setup_future_usage=input_data.get("setup_future_usage") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="capture_stripe_payment_intent", + description="Capture funds for a PaymentIntent previously authorized with capture_method='manual'. Optional partial capture via amount_to_capture.", + action_sets=["stripe_payments", "stripe"], + input_schema={ + "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_…"}, + "amount_to_capture": {"type": "integer", "description": "Partial capture amount in smallest unit. Omit to capture the full amount.", "example": 0}, + "statement_descriptor": {"type": "string", "description": "Override statement descriptor for this capture.", "example": ""}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def capture_stripe_payment_intent(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "capture_payment_intent", + payment_intent_id=input_data["payment_intent_id"], + amount_to_capture=input_data.get("amount_to_capture") or None, + statement_descriptor=input_data.get("statement_descriptor") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="cancel_stripe_payment_intent", + description="Cancel a PaymentIntent. Only allowed for PIs in requires_payment_method, requires_capture, requires_confirmation, or requires_action.", + action_sets=["stripe_payments"], + input_schema={ + "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_…"}, + "cancellation_reason": {"type": "string", "description": "'duplicate' | 'fraudulent' | 'requested_by_customer' | 'abandoned'.", "example": "requested_by_customer"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def cancel_stripe_payment_intent(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "cancel_payment_intent", + payment_intent_id=input_data["payment_intent_id"], + cancellation_reason=input_data.get("cancellation_reason") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="search_stripe_payment_intents", + description="Search PaymentIntents with Stripe's query language. Example: \"status:'succeeded' AND amount>1000\".", + action_sets=["stripe_payments"], + input_schema={ + "query": {"type": "string", "description": "Stripe query clause.", "example": "status:'succeeded' AND amount>1000"}, + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "page": {"type": "string", "description": "Pagination page token.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def search_stripe_payment_intents(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "search_payment_intents", + query=input_data["query"], + limit=input_data.get("limit", 10), + page=input_data.get("page") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="list_stripe_charges", + description="List Charges (legacy direct-charge view). Filter by customer, payment_intent, or transfer_group.", + action_sets=["stripe_payments"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "customer": {"type": "string", "description": "Filter to a specific customer.", "example": ""}, + "payment_intent": {"type": "string", "description": "Filter to a specific PaymentIntent.", "example": ""}, + "transfer_group": {"type": "string", "description": "Filter to a transfer_group label.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_charges(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_charges", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + customer=input_data.get("customer") or None, + payment_intent=input_data.get("payment_intent") or None, + transfer_group=input_data.get("transfer_group") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_charge", + description="Retrieve a Charge by ID.", + action_sets=["stripe_payments"], + input_schema={ + "charge_id": {"type": "string", "description": "Charge ID.", "example": "ch_3MtwBwLkdIwHu7ix28a3tqPa"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "customer,payment_intent"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_charge(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_charge", + charge_id=input_data["charge_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_refund", + description="Refund a PaymentIntent or Charge. Pass exactly ONE of payment_intent / charge. Omit 'amount' for a full refund.", + action_sets=["stripe_payments", "stripe"], + input_schema={ + "payment_intent": {"type": "string", "description": "PaymentIntent ID to refund. Mutually exclusive with 'charge'.", "example": "pi_…"}, + "charge": {"type": "string", "description": "Charge ID to refund. Mutually exclusive with 'payment_intent'.", "example": ""}, + "amount": {"type": "integer", "description": "Partial refund amount in smallest currency unit. Omit for full refund.", "example": 0}, + "reason": {"type": "string", "description": "'duplicate' | 'fraudulent' | 'requested_by_customer'.", "example": "requested_by_customer"}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {"ticket_id": "T-42"}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_refund(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_refund", + payment_intent=input_data.get("payment_intent") or None, + charge=input_data.get("charge") or None, + amount=input_data.get("amount") or None, + reason=input_data.get("reason") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="get_stripe_refund", + description="Retrieve a Refund by ID.", + action_sets=["stripe_payments"], + input_schema={ + "refund_id": {"type": "string", "description": "Refund ID.", "example": "re_3MtwBwLkdIwHu7ix28a3tqPa"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_refund(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_refund", + refund_id=input_data["refund_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="list_stripe_refunds", + description="List Refunds, optionally scoped to a PaymentIntent or Charge.", + action_sets=["stripe_payments"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "payment_intent": {"type": "string", "description": "Filter to a specific PaymentIntent.", "example": ""}, + "charge": {"type": "string", "description": "Filter to a specific Charge.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_refunds(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_refunds", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + payment_intent=input_data.get("payment_intent") or None, + charge=input_data.get("charge") or None, + expand=_csv(input_data.get("expand")), + ) + + +# ================================================================== +# Payment methods (stripe_payment_methods) +# ================================================================== + + +@action( + name="list_stripe_payment_methods", + description="List PaymentMethods. If customer is set, lists methods attached to that customer; otherwise lists across the account.", + action_sets=["stripe_payment_methods"], + input_schema={ + "customer": {"type": "string", "description": "Filter to a customer's attached methods.", "example": "cus_NffrFeUfNV2Hib"}, + "type": {"type": "string", "description": "Payment method type ('card', 'us_bank_account', 'sepa_debit', …). Default 'card'.", "example": "card"}, + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_payment_methods(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_payment_methods", + customer=input_data.get("customer") or None, + type=input_data.get("type") or "card", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_payment_method", + description="Retrieve a PaymentMethod by ID.", + action_sets=["stripe_payment_methods"], + input_schema={ + "payment_method_id": {"type": "string", "description": "PaymentMethod ID.", "example": "pm_…"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_payment_method(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_payment_method", + payment_method_id=input_data["payment_method_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="attach_stripe_payment_method", + description="Attach a PaymentMethod to a Customer so it can be used for future off-session charges.", + action_sets=["stripe_payment_methods"], + input_schema={ + "payment_method_id": {"type": "string", "description": "PaymentMethod ID.", "example": "pm_…"}, + "customer": {"type": "string", "description": "Customer to attach to.", "example": "cus_NffrFeUfNV2Hib"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def attach_stripe_payment_method(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "attach_payment_method", + payment_method_id=input_data["payment_method_id"], + customer=input_data["customer"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="detach_stripe_payment_method", + description="Detach a PaymentMethod from its Customer. Future charges against it will fail.", + action_sets=["stripe_payment_methods"], + input_schema={ + "payment_method_id": {"type": "string", "description": "PaymentMethod ID.", "example": "pm_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def detach_stripe_payment_method(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "detach_payment_method", + payment_method_id=input_data["payment_method_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_payment_method", + description="Update a PaymentMethod's metadata or billing details. Card brand/number CANNOT be updated.", + action_sets=["stripe_payment_methods"], + input_schema={ + "payment_method_id": {"type": "string", "description": "PaymentMethod ID.", "example": "pm_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"billing_details": {"email": "new@example.com"}, "metadata": {"label": "primary"}}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_payment_method(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_payment_method", + payment_method_id=input_data["payment_method_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +# ================================================================== +# Products + prices (stripe_products) +# ================================================================== + + +@action( + name="list_stripe_products", + description="List Products. Filter by active flag or an explicit IDs list.", + action_sets=["stripe_products", "stripe"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "active": {"type": "boolean", "description": "Only active or only inactive.", "example": True}, + "ids": {"type": "array", "description": "Explicit list of product IDs to fetch.", "example": ["prod_…"]}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.default_price"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_products(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_products", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + active=input_data.get("active"), + ids=input_data.get("ids") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_product", + description="Retrieve a Product by ID.", + action_sets=["stripe_products"], + input_schema={ + "product_id": {"type": "string", "description": "Product ID.", "example": "prod_NWjs8kKbJWmuuc"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "default_price"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_product(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_product", + product_id=input_data["product_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_product", + description="Create a Product. Pass default_price_data to create the product and its first price atomically.", + action_sets=["stripe_products", "stripe"], + input_schema={ + "name": {"type": "string", "description": "Product name (required).", "example": "Standard Plan"}, + "description": {"type": "string", "description": "Marketing description.", "example": "Up to 5 seats"}, + "active": {"type": "boolean", "description": "Whether the product is active. Default True.", "example": True}, + "images": {"type": "array", "description": "Image URLs.", "example": ["https://example.com/img.png"]}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {"sku": "SP-001"}}, + "default_price_data": {"type": "object", "description": "Inline price to create alongside the product.", "example": {"currency": "usd", "unit_amount": 1000, "recurring": {"interval": "month"}}}, + "shippable": {"type": "boolean", "description": "Whether the product is shippable.", "example": False}, + "statement_descriptor": {"type": "string", "description": "Appears on bank statements.", "example": ""}, + "tax_code": {"type": "string", "description": "Stripe Tax code (txcd_…).", "example": ""}, + "unit_label": {"type": "string", "description": "Singular noun for a unit (e.g. 'seat').", "example": "seat"}, + "url": {"type": "string", "description": "Public product URL.", "example": ""}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_product(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_product", + name=input_data["name"], + description=input_data.get("description") or None, + active=input_data.get("active"), + images=input_data.get("images") or None, + metadata=input_data.get("metadata") or None, + default_price_data=input_data.get("default_price_data") or None, + shippable=input_data.get("shippable"), + statement_descriptor=input_data.get("statement_descriptor") or None, + tax_code=input_data.get("tax_code") or None, + unit_label=input_data.get("unit_label") or None, + url=input_data.get("url") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_product", + description="Update a Product's properties.", + action_sets=["stripe_products"], + input_schema={ + "product_id": {"type": "string", "description": "Product ID.", "example": "prod_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"name": "Pro Plan", "active": True}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_product(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_product", + product_id=input_data["product_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="delete_stripe_product", + description="Delete a Product. Only allowed if it has no associated Prices. Otherwise mark it active=False via update.", + action_sets=["stripe_products"], + input_schema={ + "product_id": {"type": "string", "description": "Product ID.", "example": "prod_…"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def delete_stripe_product(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "delete_product", + product_id=input_data["product_id"], + ) + + +@action( + name="list_stripe_prices", + description="List Prices, optionally scoped to a product. Filter recurring vs one_time via 'type', cadence via 'recurring_interval'.", + action_sets=["stripe_products"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "active": {"type": "boolean", "description": "Only active or only inactive.", "example": True}, + "product": {"type": "string", "description": "Filter to a specific product.", "example": "prod_…"}, + "currency": {"type": "string", "description": "ISO 4217 lowercase filter.", "example": "usd"}, + "type": {"type": "string", "description": "'one_time' | 'recurring'.", "example": "recurring"}, + "recurring_interval": {"type": "string", "description": "'day' | 'week' | 'month' | 'year'.", "example": "month"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.product"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_prices(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_prices", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + active=input_data.get("active"), + product=input_data.get("product") or None, + currency=input_data.get("currency") or None, + type=input_data.get("type") or None, + recurring_interval=input_data.get("recurring_interval") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_price", + description="Retrieve a Price by ID.", + action_sets=["stripe_products"], + input_schema={ + "price_id": {"type": "string", "description": "Price ID.", "example": "price_1MoBy5LkdIwHu7ixZhnattbh"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "product"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_price(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_price", + price_id=input_data["price_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_price", + description="Create a Price for an existing Product (or set product_data inline). Pass 'recurring' for subscriptions, omit for one-time. unit_amount is in smallest currency unit.", + action_sets=["stripe_products", "stripe"], + input_schema={ + "currency": {"type": "string", "description": "ISO 4217 lowercase. Defaults to integration default_currency.", "example": "usd"}, + "product": {"type": "string", "description": "Existing Product ID. Mutually exclusive with product_data.", "example": "prod_…"}, + "product_data": {"type": "object", "description": "Inline product to create.", "example": {"name": "New product"}}, + "unit_amount": {"type": "integer", "description": "Price in smallest currency unit.", "example": 1000}, + "unit_amount_decimal": {"type": "string", "description": "Decimal price (e.g. '1000.5'). Use when sub-cent precision is needed.", "example": ""}, + "active": {"type": "boolean", "description": "Whether the price is active.", "example": True}, + "nickname": {"type": "string", "description": "Internal label.", "example": "Monthly Standard"}, + "recurring": {"type": "object", "description": "Recurring config: {interval: 'month', interval_count: 1, usage_type: 'licensed'}.", "example": {"interval": "month"}}, + "tax_behavior": {"type": "string", "description": "'inclusive' | 'exclusive' | 'unspecified'.", "example": "unspecified"}, + "billing_scheme": {"type": "string", "description": "'per_unit' | 'tiered'.", "example": "per_unit"}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {"plan_id": "monthly_v2"}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_price(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_price", + currency=input_data.get("currency") or None, + product=input_data.get("product") or None, + product_data=input_data.get("product_data") or None, + unit_amount=input_data.get("unit_amount") or None, + unit_amount_decimal=input_data.get("unit_amount_decimal") or None, + active=input_data.get("active"), + nickname=input_data.get("nickname") or None, + recurring=input_data.get("recurring") or None, + tax_behavior=input_data.get("tax_behavior") or None, + billing_scheme=input_data.get("billing_scheme") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_price", + description="Update a Price. Most fields are immutable; nickname, active, metadata, tax_behavior are updatable.", + action_sets=["stripe_products"], + input_schema={ + "price_id": {"type": "string", "description": "Price ID.", "example": "price_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"active": False, "nickname": "Legacy"}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_price(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_price", + price_id=input_data["price_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +# ================================================================== +# Invoices + invoice items (stripe_invoices) +# ================================================================== + + +@action( + name="list_stripe_invoices", + description="List Invoices. Filter by customer, subscription, status (draft/open/paid/void/uncollectible), or created window.", + action_sets=["stripe_invoices", "stripe"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "customer": {"type": "string", "description": "Filter to a specific customer.", "example": ""}, + "subscription": {"type": "string", "description": "Filter to a specific subscription.", "example": ""}, + "status": {"type": "string", "description": "'draft' | 'open' | 'paid' | 'uncollectible' | 'void'.", "example": "open"}, + "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": ""}, + "created_gte": {"type": "integer", "description": "Created >= UNIX timestamp.", "example": 0}, + "created_lte": {"type": "integer", "description": "Created <= UNIX timestamp.", "example": 0}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.customer,data.subscription"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_invoices(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_invoices", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + customer=input_data.get("customer") or None, + subscription=input_data.get("subscription") or None, + status=input_data.get("status") or None, + collection_method=input_data.get("collection_method") or None, + created_gte=input_data.get("created_gte") or None, + created_lte=input_data.get("created_lte") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_invoice", + description="Retrieve an Invoice by ID.", + action_sets=["stripe_invoices"], + input_schema={ + "invoice_id": {"type": "string", "description": "Invoice ID.", "example": "in_1MtwBwLkdIwHu7ix28a3tqPa"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "customer,subscription,charge"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_invoice", + invoice_id=input_data["invoice_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_invoice", + description="Create a draft Invoice for a customer. Add line items first via create_stripe_invoice_item, then finalize via finalize_stripe_invoice.", + action_sets=["stripe_invoices", "stripe"], + input_schema={ + "customer": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, + "auto_advance": {"type": "boolean", "description": "Stripe finalizes + collects automatically.", "example": False}, + "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": "send_invoice"}, + "days_until_due": {"type": "integer", "description": "Required if collection_method='send_invoice'.", "example": 30}, + "due_date": {"type": "integer", "description": "Explicit due date (UNIX timestamp). Alternative to days_until_due.", "example": 0}, + "description": {"type": "string", "description": "Invoice description.", "example": "June consulting"}, + "footer": {"type": "string", "description": "Footer on the rendered invoice.", "example": ""}, + "default_payment_method": {"type": "string", "description": "PaymentMethod to use for charge_automatically.", "example": ""}, + "statement_descriptor": {"type": "string", "description": "Appears on bank statement.", "example": ""}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {"project_id": "P-42"}}, + "pending_invoice_items_behavior": {"type": "string", "description": "'include' | 'exclude' pending invoice items.", "example": "include"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_invoice", + customer=input_data["customer"], + auto_advance=input_data.get("auto_advance"), + collection_method=input_data.get("collection_method") or None, + days_until_due=input_data.get("days_until_due") or None, + due_date=input_data.get("due_date") or None, + description=input_data.get("description") or None, + footer=input_data.get("footer") or None, + default_payment_method=input_data.get("default_payment_method") or None, + statement_descriptor=input_data.get("statement_descriptor") or None, + metadata=input_data.get("metadata") or None, + pending_invoice_items_behavior=input_data.get("pending_invoice_items_behavior") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_invoice", + description="Update an Invoice. Most fields are only mutable while the invoice is in 'draft' status.", + action_sets=["stripe_invoices"], + input_schema={ + "invoice_id": {"type": "string", "description": "Invoice ID.", "example": "in_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"description": "Updated", "metadata": {"updated_by": "agent"}}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_invoice", + invoice_id=input_data["invoice_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="delete_stripe_invoice", + description="Permanently delete a DRAFT Invoice. Once finalized use void_stripe_invoice instead.", + action_sets=["stripe_invoices"], + input_schema={ + "invoice_id": {"type": "string", "description": "Invoice ID.", "example": "in_…"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def delete_stripe_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "delete_invoice", + invoice_id=input_data["invoice_id"], + ) + + +@action( + name="finalize_stripe_invoice", + description="Finalize a draft Invoice — locks line items and computes totals. Once finalized the invoice is open and can be sent or paid.", + action_sets=["stripe_invoices", "stripe"], + input_schema={ + "invoice_id": {"type": "string", "description": "Invoice ID (must be draft).", "example": "in_…"}, + "auto_advance": {"type": "boolean", "description": "After finalize, let Stripe handle collection automatically.", "example": True}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def finalize_stripe_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "finalize_invoice", + invoice_id=input_data["invoice_id"], + auto_advance=input_data.get("auto_advance"), + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="send_stripe_invoice", + description="Email a finalized Invoice to the customer. Only valid for invoices with collection_method='send_invoice'.", + action_sets=["stripe_invoices", "stripe"], + input_schema={ + "invoice_id": {"type": "string", "description": "Invoice ID (must be open / finalized).", "example": "in_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def send_stripe_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "send_invoice", + invoice_id=input_data["invoice_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="pay_stripe_invoice", + description="Attempt payment on an open Invoice. Optionally specify a payment method or mark paid_out_of_band for offline payments.", + action_sets=["stripe_invoices"], + input_schema={ + "invoice_id": {"type": "string", "description": "Invoice ID (must be open).", "example": "in_…"}, + "payment_method": {"type": "string", "description": "Override default payment method.", "example": ""}, + "off_session": {"type": "boolean", "description": "True for charging a saved method without customer present.", "example": True}, + "paid_out_of_band": {"type": "boolean", "description": "Mark as paid without actually charging (offline payment).", "example": False}, + "forgive": {"type": "boolean", "description": "Forgive any remaining balance after partial payment.", "example": False}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def pay_stripe_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "pay_invoice", + invoice_id=input_data["invoice_id"], + payment_method=input_data.get("payment_method") or None, + off_session=input_data.get("off_session"), + paid_out_of_band=input_data.get("paid_out_of_band"), + forgive=input_data.get("forgive"), + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="void_stripe_invoice", + description="Void a finalized open Invoice. Irreversible. Use this to cancel a finalized invoice that should never be paid.", + action_sets=["stripe_invoices"], + input_schema={ + "invoice_id": {"type": "string", "description": "Invoice ID (must be open).", "example": "in_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def void_stripe_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "void_invoice", + invoice_id=input_data["invoice_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="mark_stripe_invoice_uncollectible", + description="Mark an open Invoice as uncollectible (write-off). The modern alternative to void for invoices you've decided not to collect.", + action_sets=["stripe_invoices"], + input_schema={ + "invoice_id": {"type": "string", "description": "Invoice ID (must be open).", "example": "in_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def mark_stripe_invoice_uncollectible(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "mark_invoice_uncollectible", + invoice_id=input_data["invoice_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="get_stripe_upcoming_invoice", + description="Preview the next invoice for a customer or subscription. Does NOT create anything in Stripe. Useful for showing 'what's next' or simulating subscription changes.", + action_sets=["stripe_invoices"], + input_schema={ + "customer": {"type": "string", "description": "Customer ID.", "example": "cus_…"}, + "subscription": {"type": "string", "description": "Subscription ID (alternative to customer).", "example": ""}, + "subscription_items": {"type": "array", "description": "Hypothetical items to simulate a change.", "example": []}, + "coupon": {"type": "string", "description": "Coupon to apply to the simulated invoice.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_upcoming_invoice(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_upcoming_invoice", + customer=input_data.get("customer") or None, + subscription=input_data.get("subscription") or None, + subscription_items=input_data.get("subscription_items") or None, + coupon=input_data.get("coupon") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="list_stripe_invoice_items", + description="List Invoice Items. Filter to a customer, an invoice, or pending (not yet attached to an invoice).", + action_sets=["stripe_invoices"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "customer": {"type": "string", "description": "Filter to a specific customer.", "example": ""}, + "invoice": {"type": "string", "description": "Filter to a specific invoice.", "example": ""}, + "pending": {"type": "boolean", "description": "Only items not yet on an invoice.", "example": True}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_invoice_items(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_invoice_items", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + customer=input_data.get("customer") or None, + invoice=input_data.get("invoice") or None, + pending=input_data.get("pending"), + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_invoice_item", + description="Create an Invoice Item for a customer. If 'invoice' is set, attaches to that draft invoice; otherwise it's pending for the next invoice.", + action_sets=["stripe_invoices", "stripe"], + input_schema={ + "customer": {"type": "string", "description": "Customer ID.", "example": "cus_…"}, + "invoice": {"type": "string", "description": "Draft invoice to attach to. Omit for pending.", "example": ""}, + "amount": {"type": "integer", "description": "Amount in smallest currency unit. Mutually exclusive with price.", "example": 2500}, + "currency": {"type": "string", "description": "ISO 4217 lowercase. Required when 'amount' is set.", "example": "usd"}, + "price": {"type": "string", "description": "Price ID. Mutually exclusive with amount.", "example": ""}, + "quantity": {"type": "integer", "description": "Quantity (default 1).", "example": 1}, + "description": {"type": "string", "description": "Line item description.", "example": "Consulting hour"}, + "discountable": {"type": "boolean", "description": "Whether discounts apply.", "example": True}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "tax_rates": {"type": "array", "description": "Stripe tax rate IDs to apply.", "example": []}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_invoice_item(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_invoice_item", + customer=input_data["customer"], + invoice=input_data.get("invoice") or None, + amount=input_data.get("amount") or None, + currency=input_data.get("currency") or None, + price=input_data.get("price") or None, + quantity=input_data.get("quantity") or None, + description=input_data.get("description") or None, + discountable=input_data.get("discountable"), + metadata=input_data.get("metadata") or None, + tax_rates=input_data.get("tax_rates") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="delete_stripe_invoice_item", + description="Delete a pending Invoice Item (not yet finalized into an invoice).", + action_sets=["stripe_invoices"], + input_schema={ + "invoice_item_id": {"type": "string", "description": "Invoice Item ID.", "example": "ii_…"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def delete_stripe_invoice_item(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "delete_invoice_item", + invoice_item_id=input_data["invoice_item_id"], + ) + + +# ================================================================== +# Subscriptions (stripe_subscriptions) +# ================================================================== + + +@action( + name="list_stripe_subscriptions", + description="List Subscriptions. Filter by customer, price, status (active/past_due/canceled/etc.).", + action_sets=["stripe_subscriptions", "stripe"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "customer": {"type": "string", "description": "Filter to a customer.", "example": ""}, + "price": {"type": "string", "description": "Filter to subscriptions containing a price.", "example": ""}, + "status": {"type": "string", "description": "'active' | 'past_due' | 'unpaid' | 'canceled' | 'incomplete' | 'incomplete_expired' | 'trialing' | 'paused' | 'all'.", "example": "active"}, + "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.customer,data.default_payment_method"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_subscriptions(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_subscriptions", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + customer=input_data.get("customer") or None, + price=input_data.get("price") or None, + status=input_data.get("status") or None, + collection_method=input_data.get("collection_method") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_subscription", + description="Retrieve a Subscription by ID.", + action_sets=["stripe_subscriptions"], + input_schema={ + "subscription_id": {"type": "string", "description": "Subscription ID.", "example": "sub_1MowQVLkdIwHu7ixeRlqHVzs"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "customer,latest_invoice,default_payment_method"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_subscription(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_subscription", + subscription_id=input_data["subscription_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_subscription", + description="Create a Subscription for a customer. 'items' is a list like [{price: 'price_xxx', quantity: 1}]. Requires the customer to have a default payment method or one provided.", + action_sets=["stripe_subscriptions", "stripe"], + input_schema={ + "customer": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, + "items": {"type": "array", "description": "Line items: [{price, quantity}].", "example": [{"price": "price_xxx", "quantity": 1}]}, + "cancel_at_period_end": {"type": "boolean", "description": "Schedule cancellation at end of current period.", "example": False}, + "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": "charge_automatically"}, + "days_until_due": {"type": "integer", "description": "Required if collection_method='send_invoice'.", "example": 0}, + "default_payment_method": {"type": "string", "description": "PaymentMethod ID.", "example": ""}, + "default_tax_rates": {"type": "array", "description": "Tax rate IDs applied to all items.", "example": []}, + "coupon": {"type": "string", "description": "Coupon code to apply.", "example": ""}, + "promotion_code": {"type": "string", "description": "Promotion code ID.", "example": ""}, + "trial_period_days": {"type": "integer", "description": "Trial length in days.", "example": 0}, + "trial_end": {"type": "integer", "description": "Explicit trial end (UNIX timestamp).", "example": 0}, + "payment_behavior": {"type": "string", "description": "'default_incomplete' | 'allow_incomplete' | 'error_if_incomplete' | 'pending_if_incomplete'.", "example": "default_incomplete"}, + "proration_behavior": {"type": "string", "description": "'create_prorations' | 'none' | 'always_invoice'.", "example": ""}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_subscription(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_subscription", + customer=input_data["customer"], + items=input_data["items"], + cancel_at_period_end=input_data.get("cancel_at_period_end"), + collection_method=input_data.get("collection_method") or None, + days_until_due=input_data.get("days_until_due") or None, + default_payment_method=input_data.get("default_payment_method") or None, + default_tax_rates=input_data.get("default_tax_rates") or None, + coupon=input_data.get("coupon") or None, + promotion_code=input_data.get("promotion_code") or None, + trial_period_days=input_data.get("trial_period_days") or None, + trial_end=input_data.get("trial_end") or None, + payment_behavior=input_data.get("payment_behavior") or None, + proration_behavior=input_data.get("proration_behavior") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_subscription", + description="Update a Subscription. To change items: pass items=[{id: 'si_…', price: 'price_xxx', quantity: 1}]. To schedule cancel at period end: properties={'cancel_at_period_end': true}.", + action_sets=["stripe_subscriptions"], + input_schema={ + "subscription_id": {"type": "string", "description": "Subscription ID.", "example": "sub_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"cancel_at_period_end": True}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_subscription(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_subscription", + subscription_id=input_data["subscription_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="cancel_stripe_subscription", + description="Cancel a Subscription IMMEDIATELY (DELETE). For end-of-period cancellation use update_stripe_subscription({cancel_at_period_end: true}) instead.", + action_sets=["stripe_subscriptions", "stripe"], + input_schema={ + "subscription_id": {"type": "string", "description": "Subscription ID.", "example": "sub_…"}, + "invoice_now": {"type": "boolean", "description": "Invoice unbilled metered usage immediately.", "example": False}, + "prorate": {"type": "boolean", "description": "Generate proration credits.", "example": True}, + "cancellation_details": {"type": "object", "description": "{comment, feedback}.", "example": {"feedback": "too_expensive"}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def cancel_stripe_subscription(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "cancel_subscription", + subscription_id=input_data["subscription_id"], + invoice_now=input_data.get("invoice_now"), + prorate=input_data.get("prorate"), + cancellation_details=input_data.get("cancellation_details") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="resume_stripe_subscription", + description="Resume a paused Subscription.", + action_sets=["stripe_subscriptions"], + input_schema={ + "subscription_id": {"type": "string", "description": "Subscription ID.", "example": "sub_…"}, + "billing_cycle_anchor": {"type": "string", "description": "'now' | 'unchanged'.", "example": "now"}, + "proration_behavior": {"type": "string", "description": "'create_prorations' | 'none' | 'always_invoice'.", "example": "create_prorations"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def resume_stripe_subscription(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "resume_subscription", + subscription_id=input_data["subscription_id"], + billing_cycle_anchor=input_data.get("billing_cycle_anchor") or None, + proration_behavior=input_data.get("proration_behavior") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +# ================================================================== +# Checkout sessions (stripe_checkout) +# ================================================================== + + +@action( + name="list_stripe_checkout_sessions", + description="List Checkout Sessions. Filter by customer, payment_intent, subscription, or status.", + action_sets=["stripe_checkout"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "customer": {"type": "string", "description": "Filter to a customer.", "example": ""}, + "payment_intent": {"type": "string", "description": "Filter to a PaymentIntent.", "example": ""}, + "subscription": {"type": "string", "description": "Filter to a subscription.", "example": ""}, + "status": {"type": "string", "description": "'open' | 'complete' | 'expired'.", "example": "complete"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_checkout_sessions(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_checkout_sessions", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + customer=input_data.get("customer") or None, + payment_intent=input_data.get("payment_intent") or None, + subscription=input_data.get("subscription") or None, + status=input_data.get("status") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_checkout_session", + description="Retrieve a Checkout Session by ID.", + action_sets=["stripe_checkout"], + input_schema={ + "session_id": {"type": "string", "description": "Checkout Session ID.", "example": "cs_test_…"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "line_items,customer"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_checkout_session(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_checkout_session", + session_id=input_data["session_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_checkout_session", + description="Create a hosted Checkout Session. 'mode' is 'payment' (one-time), 'subscription', or 'setup'. Returns the hosted page URL in 'url'.", + action_sets=["stripe_checkout", "stripe"], + input_schema={ + "mode": {"type": "string", "description": "'payment' | 'subscription' | 'setup'.", "example": "payment"}, + "line_items": {"type": "array", "description": "Line items: [{price: 'price_xxx', quantity: 1}] or [{price_data: {…}, quantity: 1}].", "example": [{"price": "price_xxx", "quantity": 1}]}, + "success_url": {"type": "string", "description": "Redirect on success. Use {CHECKOUT_SESSION_ID} placeholder for the session ID.", "example": "https://example.com/success?session_id={CHECKOUT_SESSION_ID}"}, + "cancel_url": {"type": "string", "description": "Redirect on cancel.", "example": "https://example.com/cancel"}, + "ui_mode": {"type": "string", "description": "'hosted' (default) | 'embedded'.", "example": "hosted"}, + "customer": {"type": "string", "description": "Existing customer to attach the session to.", "example": ""}, + "customer_email": {"type": "string", "description": "Pre-fill the customer's email.", "example": ""}, + "client_reference_id": {"type": "string", "description": "Your internal ID for reconciliation via webhook.", "example": "order_42"}, + "allow_promotion_codes": {"type": "boolean", "description": "Show a 'have a promo code' field.", "example": True}, + "automatic_tax": {"type": "object", "description": "{enabled: true} to compute Stripe Tax.", "example": {"enabled": True}}, + "billing_address_collection": {"type": "string", "description": "'auto' | 'required'.", "example": "auto"}, + "payment_method_types": {"type": "array", "description": "Allowed payment method types.", "example": ["card"]}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_checkout_session(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_checkout_session", + mode=input_data["mode"], + line_items=input_data.get("line_items") or None, + success_url=input_data.get("success_url") or None, + cancel_url=input_data.get("cancel_url") or None, + ui_mode=input_data.get("ui_mode") or None, + customer=input_data.get("customer") or None, + customer_email=input_data.get("customer_email") or None, + client_reference_id=input_data.get("client_reference_id") or None, + allow_promotion_codes=input_data.get("allow_promotion_codes"), + automatic_tax=input_data.get("automatic_tax") or None, + billing_address_collection=input_data.get("billing_address_collection") or None, + payment_method_types=input_data.get("payment_method_types") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="expire_stripe_checkout_session", + description="Expire an open Checkout Session — the URL becomes invalid for the customer.", + action_sets=["stripe_checkout"], + input_schema={ + "session_id": {"type": "string", "description": "Checkout Session ID.", "example": "cs_test_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def expire_stripe_checkout_session(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "expire_checkout_session", + session_id=input_data["session_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="list_stripe_checkout_line_items", + description="List line items on a Checkout Session.", + action_sets=["stripe_checkout"], + input_schema={ + "session_id": {"type": "string", "description": "Checkout Session ID.", "example": "cs_test_…"}, + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_checkout_line_items(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_checkout_line_items", + session_id=input_data["session_id"], + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + expand=_csv(input_data.get("expand")), + ) + + +# ================================================================== +# Payment links + billing portal (stripe_payment_links) +# ================================================================== + + +@action( + name="list_stripe_payment_links", + description="List Payment Links.", + action_sets=["stripe_payment_links"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "active": {"type": "boolean", "description": "Only active or only inactive.", "example": True}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_payment_links(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_payment_links", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + active=input_data.get("active"), + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_payment_link", + description="Retrieve a Payment Link by ID.", + action_sets=["stripe_payment_links"], + input_schema={ + "payment_link_id": {"type": "string", "description": "Payment Link ID.", "example": "pl_1MoBy5LkdIwHu7ixZhnattbh"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "line_items"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_payment_link(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_payment_link", + payment_link_id=input_data["payment_link_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_payment_link", + description="Create a Payment Link — a shareable URL that opens Stripe's hosted checkout. Persists across sessions; useful for invoices, donations, embedded buttons.", + action_sets=["stripe_payment_links", "stripe"], + input_schema={ + "line_items": {"type": "array", "description": "Line items: [{price: 'price_xxx', quantity: 1}].", "example": [{"price": "price_xxx", "quantity": 1}]}, + "after_completion": {"type": "object", "description": "What happens after success: {type: 'redirect', redirect: {url: '…'}} or {type: 'hosted_confirmation', hosted_confirmation: {custom_message: '…'}}.", "example": {"type": "hosted_confirmation"}}, + "allow_promotion_codes": {"type": "boolean", "description": "Show a 'have a promo code' field.", "example": True}, + "automatic_tax": {"type": "object", "description": "{enabled: true}.", "example": {"enabled": True}}, + "billing_address_collection": {"type": "string", "description": "'auto' | 'required'.", "example": "auto"}, + "customer_creation": {"type": "string", "description": "'always' | 'if_required'.", "example": "always"}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "payment_method_types": {"type": "array", "description": "Allowed payment method types.", "example": []}, + "shipping_address_collection": {"type": "object", "description": "{allowed_countries: [...]}.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_payment_link(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_payment_link", + line_items=input_data["line_items"], + after_completion=input_data.get("after_completion") or None, + allow_promotion_codes=input_data.get("allow_promotion_codes"), + automatic_tax=input_data.get("automatic_tax") or None, + billing_address_collection=input_data.get("billing_address_collection") or None, + customer_creation=input_data.get("customer_creation") or None, + metadata=input_data.get("metadata") or None, + payment_method_types=input_data.get("payment_method_types") or None, + shipping_address_collection=input_data.get("shipping_address_collection") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_payment_link", + description="Update a Payment Link. Limited to active flag, line item quantities, after_completion, metadata, etc.", + action_sets=["stripe_payment_links"], + input_schema={ + "payment_link_id": {"type": "string", "description": "Payment Link ID.", "example": "pl_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"active": False}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_payment_link(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_payment_link", + payment_link_id=input_data["payment_link_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="create_stripe_billing_portal_session", + description="Create a Stripe Customer Portal session — short-lived URL where the customer manages their own subscriptions, payment methods, and invoices.", + action_sets=["stripe_payment_links"], + input_schema={ + "customer": {"type": "string", "description": "Customer ID.", "example": "cus_…"}, + "return_url": {"type": "string", "description": "Where the customer returns when they're done.", "example": "https://example.com/account"}, + "configuration": {"type": "string", "description": "Specific portal configuration ID.", "example": ""}, + "locale": {"type": "string", "description": "BCP-47 locale (e.g. 'en', 'de-DE').", "example": ""}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_billing_portal_session(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_billing_portal_session", + customer=input_data["customer"], + return_url=input_data.get("return_url") or None, + configuration=input_data.get("configuration") or None, + locale=input_data.get("locale") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +# ================================================================== +# Coupons + promotion codes (stripe_promotions) +# ================================================================== + + +@action( + name="list_stripe_coupons", + description="List Coupons.", + action_sets=["stripe_promotions"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_coupons(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_coupons", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_coupon", + description="Retrieve a Coupon by ID.", + action_sets=["stripe_promotions"], + input_schema={ + "coupon_id": {"type": "string", "description": "Coupon ID (user-chosen, e.g. 'SUMMER25').", "example": "SUMMER25"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_coupon(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_coupon", + coupon_id=input_data["coupon_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_coupon", + description="Create a Coupon. Pass exactly ONE of amount_off (with currency) or percent_off. duration='once' charges discount one period; 'repeating' requires duration_in_months; 'forever' lasts the subscription's lifetime.", + action_sets=["stripe_promotions"], + input_schema={ + "id": {"type": "string", "description": "Optional user-chosen ID (e.g. 'SUMMER25'). Auto-generated if omitted.", "example": "SUMMER25"}, + "name": {"type": "string", "description": "Customer-facing label.", "example": "Summer 25%"}, + "duration": {"type": "string", "description": "'once' | 'repeating' | 'forever'.", "example": "once"}, + "amount_off": {"type": "integer", "description": "Amount off in smallest currency unit. Mutually exclusive with percent_off.", "example": 0}, + "percent_off": {"type": "number", "description": "Percentage off (e.g. 25 = 25%). Mutually exclusive with amount_off.", "example": 25}, + "currency": {"type": "string", "description": "ISO 4217 lowercase. Required if amount_off is set.", "example": "usd"}, + "duration_in_months": {"type": "integer", "description": "Required if duration='repeating'.", "example": 3}, + "max_redemptions": {"type": "integer", "description": "Cap on total redemptions across all customers.", "example": 0}, + "redeem_by": {"type": "integer", "description": "UNIX timestamp after which the coupon can no longer be redeemed.", "example": 0}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_coupon(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_coupon", + id=input_data.get("id") or None, + name=input_data.get("name") or None, + duration=input_data.get("duration") or "once", + amount_off=input_data.get("amount_off") or None, + percent_off=input_data.get("percent_off") or None, + currency=input_data.get("currency") or None, + duration_in_months=input_data.get("duration_in_months") or None, + max_redemptions=input_data.get("max_redemptions") or None, + redeem_by=input_data.get("redeem_by") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_coupon", + description="Update a Coupon. Only 'name' and 'metadata' are mutable — duration/amount/percent/currency are write-once.", + action_sets=["stripe_promotions"], + input_schema={ + "coupon_id": {"type": "string", "description": "Coupon ID.", "example": "SUMMER25"}, + "properties": {"type": "object", "description": "Mutable properties (name, metadata).", "example": {"name": "Summer (extended)"}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_coupon(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_coupon", + coupon_id=input_data["coupon_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="delete_stripe_coupon", + description="Delete a Coupon. Existing subscriptions and invoices that already used it are unaffected.", + action_sets=["stripe_promotions"], + input_schema={ + "coupon_id": {"type": "string", "description": "Coupon ID.", "example": "SUMMER25"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def delete_stripe_coupon(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "delete_coupon", + coupon_id=input_data["coupon_id"], + ) + + +@action( + name="list_stripe_promotion_codes", + description="List Promotion Codes. Filter by active, exact code string, parent coupon, or customer allowlist.", + action_sets=["stripe_promotions"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "active": {"type": "boolean", "description": "Only active or only inactive.", "example": True}, + "code": {"type": "string", "description": "Exact code filter.", "example": "FRIENDS50"}, + "coupon": {"type": "string", "description": "Parent coupon ID.", "example": ""}, + "customer": {"type": "string", "description": "Promotion codes allowlisted to this customer.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_promotion_codes(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_promotion_codes", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + active=input_data.get("active"), + code=input_data.get("code") or None, + coupon=input_data.get("coupon") or None, + customer=input_data.get("customer") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_promotion_code", + description="Create a Promotion Code (customer-facing string) for an existing Coupon. Optionally restrict to a customer, first-time-only, expiry, max redemptions.", + action_sets=["stripe_promotions"], + input_schema={ + "coupon": {"type": "string", "description": "Parent Coupon ID.", "example": "SUMMER25"}, + "code": {"type": "string", "description": "Code string. Auto-generated if omitted.", "example": "FRIENDS50"}, + "customer": {"type": "string", "description": "Restrict to a specific customer.", "example": ""}, + "active": {"type": "boolean", "description": "Whether the code is redeemable.", "example": True}, + "expires_at": {"type": "integer", "description": "UNIX timestamp expiry.", "example": 0}, + "max_redemptions": {"type": "integer", "description": "Total redemption cap.", "example": 0}, + "restrictions": {"type": "object", "description": "{first_time_transaction: bool, minimum_amount: int, minimum_amount_currency: str}.", "example": {"first_time_transaction": True}}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_promotion_code(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_promotion_code", + coupon=input_data["coupon"], + code=input_data.get("code") or None, + customer=input_data.get("customer") or None, + active=input_data.get("active"), + expires_at=input_data.get("expires_at") or None, + max_redemptions=input_data.get("max_redemptions") or None, + restrictions=input_data.get("restrictions") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_promotion_code", + description="Update a Promotion Code. Only active and metadata are mutable.", + action_sets=["stripe_promotions"], + input_schema={ + "promotion_code_id": {"type": "string", "description": "Promotion Code ID.", "example": "promo_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"active": False}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_promotion_code(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_promotion_code", + promotion_code_id=input_data["promotion_code_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +# ================================================================== +# Disputes (stripe_disputes) +# ================================================================== + + +@action( + name="list_stripe_disputes", + description="List Disputes (chargebacks + inquiries). Filter by charge or payment_intent.", + action_sets=["stripe_disputes"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "charge": {"type": "string", "description": "Filter to a specific charge.", "example": ""}, + "payment_intent": {"type": "string", "description": "Filter to a specific PaymentIntent.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_disputes(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_disputes", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + charge=input_data.get("charge") or None, + payment_intent=input_data.get("payment_intent") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_dispute", + description="Retrieve a Dispute by ID.", + action_sets=["stripe_disputes"], + input_schema={ + "dispute_id": {"type": "string", "description": "Dispute ID.", "example": "di_…"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "charge,payment_intent"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_dispute(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_dispute", + dispute_id=input_data["dispute_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="update_stripe_dispute", + description="Save (or submit) dispute evidence. Pass submit=True to finalize and submit to the card network — IRREVERSIBLE. Without submit, saves as draft for further edits.", + action_sets=["stripe_disputes"], + input_schema={ + "dispute_id": {"type": "string", "description": "Dispute ID.", "example": "di_…"}, + "evidence": {"type": "object", "description": "Evidence fields (see Stripe docs for the full schema — receipt, shipping_documentation, customer_email_address, etc.).", "example": {"customer_email_address": "jane@example.com", "uncategorized_text": "Customer was refunded immediately."}}, + "submit": {"type": "boolean", "description": "True submits to card network. Omit/False saves as draft.", "example": False}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_dispute(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_dispute", + dispute_id=input_data["dispute_id"], + evidence=input_data.get("evidence") or None, + submit=input_data.get("submit"), + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="close_stripe_dispute", + description="Forfeit a dispute — accept the chargeback as final. Once closed, cannot be reopened.", + action_sets=["stripe_disputes"], + input_schema={ + "dispute_id": {"type": "string", "description": "Dispute ID.", "example": "di_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def close_stripe_dispute(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "close_dispute", + dispute_id=input_data["dispute_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +# ================================================================== +# Payouts + balance (stripe_payouts) +# ================================================================== + + +@action( + name="list_stripe_payouts", + description="List Payouts to the merchant's bank account.", + action_sets=["stripe_payouts", "stripe"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "status": {"type": "string", "description": "'pending' | 'in_transit' | 'paid' | 'failed' | 'canceled'.", "example": "paid"}, + "destination": {"type": "string", "description": "Bank account or card ID.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_payouts(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_payouts", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + status=input_data.get("status") or None, + destination=input_data.get("destination") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_payout", + description="Retrieve a Payout by ID.", + action_sets=["stripe_payouts"], + input_schema={ + "payout_id": {"type": "string", "description": "Payout ID.", "example": "po_…"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "destination,failure_balance_transaction"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_payout(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_payout", + payout_id=input_data["payout_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_payout", + description="Trigger a payout from your Stripe balance to your bank. method='standard' (1-2 day) or 'instant' (fee, requires eligibility).", + action_sets=["stripe_payouts"], + input_schema={ + "amount": {"type": "integer", "description": "Amount in smallest currency unit.", "example": 10000}, + "currency": {"type": "string", "description": "ISO 4217 lowercase. Defaults to integration default_currency.", "example": "usd"}, + "description": {"type": "string", "description": "Internal description.", "example": "Weekly payout"}, + "statement_descriptor": {"type": "string", "description": "Appears on bank statement.", "example": ""}, + "method": {"type": "string", "description": "'standard' | 'instant'.", "example": "standard"}, + "source_type": {"type": "string", "description": "'bank_account' | 'card'.", "example": "bank_account"}, + "destination": {"type": "string", "description": "Specific bank account or card ID. Omit to use the default.", "example": ""}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_payout(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_payout", + amount=input_data["amount"], + currency=input_data.get("currency") or None, + description=input_data.get("description") or None, + statement_descriptor=input_data.get("statement_descriptor") or None, + method=input_data.get("method") or None, + source_type=input_data.get("source_type") or None, + destination=input_data.get("destination") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="cancel_stripe_payout", + description="Cancel a Payout. Only valid if status is 'pending'.", + action_sets=["stripe_payouts"], + input_schema={ + "payout_id": {"type": "string", "description": "Payout ID.", "example": "po_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def cancel_stripe_payout(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "cancel_payout", + payout_id=input_data["payout_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="get_stripe_balance", + description="Get the current Stripe balance — available (settled) and pending funds per currency.", + action_sets=["stripe_payouts", "stripe"], + input_schema={}, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_balance(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client("stripe", "get_balance") + + +@action( + name="list_stripe_balance_transactions", + description="List Balance Transactions — every money movement (charges, refunds, payouts, fees, etc.). Filter by type, currency, source, or payout.", + action_sets=["stripe_payouts"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "type": {"type": "string", "description": "'charge' | 'refund' | 'adjustment' | 'application_fee' | 'payout' | 'transfer' | 'stripe_fee' | etc.", "example": "charge"}, + "currency": {"type": "string", "description": "ISO 4217 lowercase filter.", "example": ""}, + "source": {"type": "string", "description": "Filter to a specific source ID (charge, refund, etc.).", "example": ""}, + "payout": {"type": "string", "description": "Filter to transactions in a specific payout.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_balance_transactions(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_balance_transactions", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + type=input_data.get("type") or None, + currency=input_data.get("currency") or None, + source=input_data.get("source") or None, + payout=input_data.get("payout") or None, + expand=_csv(input_data.get("expand")), + ) + + +# ================================================================== +# Quotes (stripe_quotes) +# ================================================================== + + +@action( + name="list_stripe_quotes", + description="List Quotes. Filter by customer or status.", + action_sets=["stripe_quotes"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "customer": {"type": "string", "description": "Filter to a customer.", "example": ""}, + "status": {"type": "string", "description": "'draft' | 'open' | 'accepted' | 'canceled'.", "example": "open"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_quotes(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_quotes", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + customer=input_data.get("customer") or None, + status=input_data.get("status") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_quote", + description="Retrieve a Quote by ID.", + action_sets=["stripe_quotes"], + input_schema={ + "quote_id": {"type": "string", "description": "Quote ID.", "example": "qt_…"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "line_items,customer,invoice"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_quote(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_quote", + quote_id=input_data["quote_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_quote", + description="Create a draft Quote for a customer. After creation, call finalize_stripe_quote to lock it, then send the URL or wait for accept_stripe_quote.", + action_sets=["stripe_quotes"], + input_schema={ + "customer": {"type": "string", "description": "Customer ID.", "example": "cus_…"}, + "line_items": {"type": "array", "description": "Line items: [{price: 'price_xxx', quantity: 1}].", "example": [{"price": "price_xxx", "quantity": 1}]}, + "description": {"type": "string", "description": "Internal description.", "example": ""}, + "footer": {"type": "string", "description": "Footer on the rendered quote.", "example": ""}, + "header": {"type": "string", "description": "Header on the rendered quote.", "example": ""}, + "expires_at": {"type": "integer", "description": "UNIX timestamp expiry.", "example": 0}, + "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": ""}, + "default_tax_rates": {"type": "array", "description": "Tax rate IDs applied to all items.", "example": []}, + "subscription_data": {"type": "object", "description": "Defaults applied to the subscription created on accept.", "example": {}}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_quote(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_quote", + customer=input_data["customer"], + line_items=input_data["line_items"], + description=input_data.get("description") or None, + footer=input_data.get("footer") or None, + header=input_data.get("header") or None, + expires_at=input_data.get("expires_at") or None, + collection_method=input_data.get("collection_method") or None, + default_tax_rates=input_data.get("default_tax_rates") or None, + subscription_data=input_data.get("subscription_data") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_quote", + description="Update a draft Quote. Once finalized most fields are locked.", + action_sets=["stripe_quotes"], + input_schema={ + "quote_id": {"type": "string", "description": "Quote ID.", "example": "qt_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"description": "Updated"}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_quote(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_quote", + quote_id=input_data["quote_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="finalize_stripe_quote", + description="Finalize a draft Quote — it becomes 'open' and is ready for the customer to accept.", + action_sets=["stripe_quotes"], + input_schema={ + "quote_id": {"type": "string", "description": "Quote ID (must be draft).", "example": "qt_…"}, + "expires_at": {"type": "integer", "description": "Override expiry at finalize time.", "example": 0}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def finalize_stripe_quote(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "finalize_quote", + quote_id=input_data["quote_id"], + expires_at=input_data.get("expires_at") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="accept_stripe_quote", + description="Accept an open Quote on the customer's behalf — creates the invoice / subscription per the quote terms.", + action_sets=["stripe_quotes"], + input_schema={ + "quote_id": {"type": "string", "description": "Quote ID (must be open).", "example": "qt_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def accept_stripe_quote(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "accept_quote", + quote_id=input_data["quote_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="cancel_stripe_quote", + description="Cancel a draft or open Quote. Cannot cancel an accepted quote.", + action_sets=["stripe_quotes"], + input_schema={ + "quote_id": {"type": "string", "description": "Quote ID.", "example": "qt_…"}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def cancel_stripe_quote(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "cancel_quote", + quote_id=input_data["quote_id"], + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +# ================================================================== +# Events + webhook endpoints (stripe_webhooks) +# ================================================================== + + +@action( + name="list_stripe_events", + description="List Events from the Stripe event log. Filter by type ('invoice.paid', 'customer.created', etc.) or multiple types.", + action_sets=["stripe_webhooks"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "type": {"type": "string", "description": "Single event type filter.", "example": "invoice.paid"}, + "types": {"type": "array", "description": "List of event types.", "example": ["invoice.paid", "invoice.finalized"]}, + "delivery_success": {"type": "boolean", "description": "Only events delivered (or not delivered) successfully to a webhook.", "example": True}, + "created_gte": {"type": "integer", "description": "Created >= UNIX timestamp.", "example": 0}, + "created_lte": {"type": "integer", "description": "Created <= UNIX timestamp.", "example": 0}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_events(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_events", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + type=input_data.get("type") or None, + types=input_data.get("types") or None, + delivery_success=input_data.get("delivery_success"), + created_gte=input_data.get("created_gte") or None, + created_lte=input_data.get("created_lte") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_event", + description="Retrieve a single Event by ID.", + action_sets=["stripe_webhooks"], + input_schema={ + "event_id": {"type": "string", "description": "Event ID.", "example": "evt_…"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_event(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_event", + event_id=input_data["event_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="list_stripe_webhook_endpoints", + description="List Webhook Endpoints registered on the account.", + action_sets=["stripe_webhooks"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_webhook_endpoints(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_webhook_endpoints", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="get_stripe_webhook_endpoint", + description="Retrieve a Webhook Endpoint by ID.", + action_sets=["stripe_webhooks"], + input_schema={ + "endpoint_id": {"type": "string", "description": "Webhook Endpoint ID.", "example": "we_…"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_webhook_endpoint(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_webhook_endpoint", + endpoint_id=input_data["endpoint_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="create_stripe_webhook_endpoint", + description="Register a Webhook Endpoint. URL must be publicly reachable HTTPS. 'enabled_events' must explicitly list event types or ['*'].", + action_sets=["stripe_webhooks"], + input_schema={ + "url": {"type": "string", "description": "HTTPS URL Stripe will POST events to.", "example": "https://example.com/stripe/webhook"}, + "enabled_events": {"type": "array", "description": "Event types to subscribe to, or ['*'] for all.", "example": ["invoice.paid", "customer.created"]}, + "description": {"type": "string", "description": "Internal description.", "example": ""}, + "connect": {"type": "boolean", "description": "True for Connect events from connected accounts.", "example": False}, + "api_version": {"type": "string", "description": "Pin the event payload version.", "example": ""}, + "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def create_stripe_webhook_endpoint(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "create_webhook_endpoint", + url=input_data["url"], + enabled_events=input_data["enabled_events"], + description=input_data.get("description") or None, + connect=input_data.get("connect"), + api_version=input_data.get("api_version") or None, + metadata=input_data.get("metadata") or None, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="update_stripe_webhook_endpoint", + description="Update a Webhook Endpoint's URL, enabled_events, description, disabled flag, etc.", + action_sets=["stripe_webhooks"], + input_schema={ + "endpoint_id": {"type": "string", "description": "Webhook Endpoint ID.", "example": "we_…"}, + "properties": {"type": "object", "description": "Properties to update.", "example": {"enabled_events": ["invoice.paid"], "disabled": False}}, + "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def update_stripe_webhook_endpoint(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "update_webhook_endpoint", + endpoint_id=input_data["endpoint_id"], + properties=input_data.get("properties") or {}, + idempotency_key=input_data.get("idempotency_key") or None, + ) + + +@action( + name="delete_stripe_webhook_endpoint", + description="Delete a Webhook Endpoint. Stripe stops POSTing to its URL immediately.", + action_sets=["stripe_webhooks"], + input_schema={ + "endpoint_id": {"type": "string", "description": "Webhook Endpoint ID.", "example": "we_…"}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def delete_stripe_webhook_endpoint(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "delete_webhook_endpoint", + endpoint_id=input_data["endpoint_id"], + ) + + +# ================================================================== +# Files (stripe_files) +# ================================================================== + + +@action( + name="upload_stripe_file", + description="Upload a file to Stripe (multipart). 'purpose' constrains downstream use — most commonly 'dispute_evidence' (then reference the returned file_id in update_stripe_dispute's evidence object).", + action_sets=["stripe_files"], + input_schema={ + "file_path": {"type": "string", "description": "Absolute path to a local file.", "example": "/tmp/receipt.png"}, + "purpose": {"type": "string", "description": "'dispute_evidence' | 'identity_document' | 'business_logo' | 'business_icon' | 'tax_document_user_upload' | 'finance_report_run' | 'pci_document' | 'additional_verification' | 'customer_signature'.", "example": "dispute_evidence"}, + "link_create": {"type": "boolean", "description": "Create a public file link alongside the upload.", "example": False}, + "link_expires_at": {"type": "integer", "description": "UNIX timestamp link expiry.", "example": 0}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, + parallelizable=False, +) +async def upload_stripe_file(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client( + "stripe", "upload_file", + file_path=input_data["file_path"], + purpose=input_data["purpose"], + link_create=input_data.get("link_create"), + link_expires_at=input_data.get("link_expires_at") or None, + ) + + +@action( + name="get_stripe_file", + description="Retrieve a File metadata record by ID.", + action_sets=["stripe_files"], + input_schema={ + "file_id": {"type": "string", "description": "File ID.", "example": "file_…"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_file(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "get_file", + file_id=input_data["file_id"], + expand=_csv(input_data.get("expand")), + ) + + +@action( + name="list_stripe_files", + description="List uploaded Files. Filter by purpose.", + action_sets=["stripe_files"], + input_schema={ + "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, + "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, + "purpose": {"type": "string", "description": "Filter by file purpose.", "example": "dispute_evidence"}, + "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + }, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def list_stripe_files(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + def _csv(v): + if not v: + return None + return [s.strip() for s in str(v).split(",") if s.strip()] or None + + return await run_client( + "stripe", "list_files", + limit=input_data.get("limit", 10), + starting_after=input_data.get("starting_after") or None, + ending_before=input_data.get("ending_before") or None, + purpose=input_data.get("purpose") or None, + expand=_csv(input_data.get("expand")), + ) + + +# ================================================================== +# Account (umbrella-only — single read action, no fine-grained set) +# ================================================================== + + +@action( + name="get_stripe_account", + description="Retrieve the current Stripe account's profile — business name, country, default_currency, capabilities, payouts_enabled, etc.", + action_sets=["stripe"], + input_schema={}, + output_schema={"status": {"type": "string", "example": "success"}}, +) +async def get_stripe_account(input_data: dict) -> dict: + from app.data.action.integrations._helpers import run_client + + return await run_client("stripe", "get_account") + + +# ================================================================== +# Intentionally NOT exposed as actions (and why) +# ================================================================== +# These Stripe REST categories are admin / niche / non-user-facing or carry +# enough operational risk that they should be a deliberate later addition, +# not a default surface. Add them when a real use case materializes. +# +# - Stripe Connect platform endpoints (accounts, account_links, transfers, +# topups, application_fees, login_links, persons, capabilities) +# The integration is intentionally not a Connect platform — see the auth +# decision in INTEGRATION.md. Per-call `Stripe-Account` on connected +# accounts is supported in the client for the rare standalone case. +# - Stripe Tax (registrations, transactions, calculations, settings) +# Tax product is a distinct compliance surface; mis-application creates +# real regulatory exposure. Tax codes on products/prices ARE supported, +# which is the common case. +# - Stripe Issuing (cards, cardholders, authorizations, transactions, +# personalization_designs, physical_bundles) +# Card-issuing product is for embedded fintechs; specialized workflows. +# - Stripe Terminal (locations, readers, connection_tokens, configurations) +# POS hardware; sessions span physical devices, not what an agent drives. +# - Stripe Climate (orders, products, suppliers) +# Carbon-removal commitments; niche. +# - Stripe Apps (secrets, monitor_event) +# Marketplace app authoring surface; not a customer surface. +# - Reporting (report_runs, report_types, sigma queries) +# Admin / data-warehouse surface; ask the user to use the dashboard. +# - Setup intents (full CRUD) +# Server-side SetupIntent creation is rarely useful — the client SDKs +# handle the SCA flow. The agent has no way to complete a SetupIntent +# without browser/mobile help. If a use case emerges, add a single +# `create_stripe_setup_intent` to `stripe_payment_methods`. +# - Sources (legacy payment object), Tokens (browser-side) +# Both superseded by PaymentMethods; including them encourages the LLM +# to pick the wrong primitive. +# - Tax rates / shipping rates CRUD, billing portal configurations CRUD +# Configuration-as-code surface; users overwhelmingly set these once +# via the dashboard. Re-add if a concrete request comes in. +# - Credit notes +# Refund-with-paperwork; useful but adds 6+ endpoints. Hold until a +# user actually asks. Refunds + invoice voiding + uncollectible cover +# ~95% of the same ground. +# - Customer Sessions (server SDK helper for Elements) +# Client-SDK plumbing — not actionable server-side. +# - Tax IDs on customers (CRUD) +# Niche compliance metadata. Most agents don't write these. diff --git a/craftos_integrations/integrations/stripe/INTEGRATION.md b/craftos_integrations/integrations/stripe/INTEGRATION.md new file mode 100644 index 00000000..c9e79557 --- /dev/null +++ b/craftos_integrations/integrations/stripe/INTEGRATION.md @@ -0,0 +1,65 @@ +# Stripe — Integration Reference + +REST integration against `api.stripe.com/v1`. Covers customers, payment intents / charges / refunds, payment methods, products / prices, invoices + invoice items, subscriptions, checkout sessions, payment links, billing portal, coupons + promotion codes, disputes, payouts + balance, quotes, events + webhook endpoints, and file uploads (`files.stripe.com`). + +## Essentials + +- **Auth is a Bearer key, not OAuth.** Stripe Connect is deliberately not exposed: a shared CraftBot Connect platform would pool every user's merchant risk under one platform whose KYC obligations and suspension exposure cascade across the install base (same Q3 failure shape as Twitter). Each user supplies their own `sk_live_…` / `sk_test_…` (secret) or `rk_live_…` / `rk_test_…` (restricted) key. **Restricted keys are strongly preferred** — they're scoped per-resource and revocable independently. Publishable keys (`pk_…`) are rejected at login. +- **Test mode vs live mode is derived from the key prefix.** `*_test_*` → test mode, `*_live_*` → live mode. The credential records `livemode: bool` and `/stripe status` surfaces it. There is no runtime "switch to test mode" — connect a different key. **Restricted keys created in test mode CANNOT be used to manage live resources, and vice versa.** When an action 401s for "Invalid API key", the most likely cause is a test-vs-live mismatch. +- **All POST/PATCH/DELETE bodies are `application/x-www-form-urlencoded`, NOT JSON.** Stripe's quirk. The client owns this — every mutation routes through `_post` / `_delete`, which flatten nested params via `_flatten_params()` into Stripe's bracket notation: + - `{"metadata": {"order_id": "6735"}}` → `metadata[order_id]=6735` + - `{"expand": ["customer"]}` → `expand[0]=customer&expand[1]=…` + - `{"items": [{"price": "price_xxx"}]}` → `items[0][price]=price_xxx` + - `{"automatic_payment_methods": {"enabled": True}}` → `automatic_payment_methods[enabled]=true` (booleans lowercase, not `True`/`False`) + + Never bypass `_flatten_params` and pass `json=` to httpx — Stripe will reject the request as malformed even though the payload looks correct. +- **Pinned API version (`Stripe-Version: 2024-12-18.acacia`).** Pinning keeps field shapes stable when Stripe ships new releases. Bump deliberately with a regression pass — don't track the latest silently. +- **Pagination is cursor-based with `starting_after` / `ending_before`.** Every list returns `{data: [...], has_more, url, object: "list"}`. The cursor is the **ID of the last item in `data`** — there is no `next_cursor` field; the caller pulls `data[-1].id` and passes it as `starting_after` on the next request. `limit` defaults to 10 (NOT 30 like most APIs), capped at 100. +- **Search uses Stripe's query language, not `filterGroups`.** `query=email:'jane@example.com'`, `query=name~'jane'`, `query=metadata['order_id']:'42'`, combined with `AND` / `OR`. Only supported on `/customers/search`, `/payment_intents/search`, `/charges/search`, `/invoices/search`, `/subscriptions/search`, `/prices/search`, `/products/search`. Operators: `:` (equal), `~` (substring contains), `>`, `<`, `>=`, `<=`. Free-text search across all fields is NOT supported — every clause names a property. +- **Idempotency-Key support is automatic on mutations.** The client attaches a fresh UUID `Idempotency-Key` header on every POST/DELETE by default (configurable via `require_idempotency_key`). Pass an explicit `idempotency_key=` to chain retries to the SAME key — this is what you want when the agent retries on a network error. Stripe stores idempotent responses for 24h. +- **Amounts are integers in the smallest currency unit.** USD: cents. JPY: yen (no subunit). Currency-aware: GBP/EUR/USD are 2-decimal, BHD is 3-decimal, JPY/KRW are 0-decimal. The client does NOT convert — `amount: 1000` in USD = $10.00, `amount: 1000` in JPY = ¥1000. +- **Currency is lowercase ISO 4217 (`usd`, `eur`, `jpy`).** Anywhere the client accepts a currency it lowercases it before sending; the API rejects uppercase. +- **ID prefixes (use to identify object type from an ID at a glance):** + + | Prefix | Object | + |--------|--------| + | `acct_` | Account | + | `ba_` | Bank account | + | `card_` | Card | + | `ch_` | Charge | + | `cs_` | Checkout session | + | `cus_` | Customer | + | `di_` | Dispute | + | `evt_` | Event | + | `file_` | File | + | `in_` | Invoice | + | `ii_` | Invoice item | + | `pi_` | Payment intent | + | `pl_` | Payment link | + | `pm_` | Payment method | + | `po_` | Payout | + | `price_` | Price | + | `prod_` | Product | + | `promo_` | Promotion code | + | `qt_` | Quote | + | `re_` | Refund | + | `seti_` | Setup intent | + | `sub_` | Subscription | + | `si_` | Subscription item | + | `txn_` | Balance transaction | + | `we_` | Webhook endpoint | + + Coupon IDs are user-defined or `` — no prefix. +- **`expand[]` is how you fetch nested objects in one round-trip.** Stripe lists return IDs by default — `subscription.latest_invoice` is the string `"in_xxx"`, not the object. Pass `expand=["latest_invoice", "customer", "default_payment_method"]` to hydrate them. Up to 4 levels deep. The handler's `default_expand` config knob auto-attaches a list of fields to every read — useful when downstream actions always need the same hydration. +- **PaymentIntent confirmation flow.** Modern integrations use **Automatic Payment Methods**: `create_payment_intent` with no `payment_method_types` / `payment_method` defaults to `automatic_payment_methods={"enabled": True}` and Stripe picks the methods that match. To collect the payment, hand the `client_secret` to a frontend Stripe Elements / Checkout flow — the agent can't complete payment from server-side alone unless the customer's payment method is already saved (`off_session=True`) and SCA/3DS is not triggered. If `confirm=True` is passed at creation and SCA is needed, the PI returns `status="requires_action"` with a `next_action` payload — surface it to the caller. +- **Subscriptions cancel via DELETE, not POST.** `cancel_subscription` sends `DELETE /v1/subscriptions/{id}` with optional body params (`invoice_now`, `prorate`, `cancellation_details`). Stripe accepts a body on DELETE only for this endpoint; the helper handles it. To "cancel at end of period" without immediate cancellation, use `update_subscription(properties={"cancel_at_period_end": True})` instead. +- **Invoice lifecycle gates.** Draft (created) → finalized → paid / void / uncollectible. Specific transitions only fire on specific states: `finalize_invoice` requires `status: draft`, `pay_invoice` / `void_invoice` require `status: open`, `delete_invoice` only works on drafts. Outside the matching state the API returns `400 invoice_not_in_draft_state` / `invoice_not_finalized` / etc. `mark_invoice_uncollectible` flips an open invoice to write-off and is the modern alternative to `void_invoice` for "we're not collecting this". +- **Disputes evidence must be 'submitted', not just saved.** `update_dispute(evidence={...})` saves a draft (you can iterate). `update_dispute(evidence={...}, submit=True)` finalizes and submits to the card network — irreversible. Stripe also auto-submits draft evidence at the `evidence_due_by` deadline. `close_dispute` is for forfeiting the dispute (accepts the chargeback) — once closed it cannot be reopened. +- **Refunds reference EITHER a charge or a payment_intent, not both.** Pass exactly one. `create_refund(payment_intent="pi_…")` refunds the most recent successful charge on that PI; `create_refund(charge="ch_…")` refunds the specific charge. `amount` omitted → full refund of the remaining capturable amount. +- **Coupon IDs are user-chosen and immutable.** If you pass `id="SUMMER25"` to `create_coupon` you get a coupon at `coupons/SUMMER25`. Updates can change `name` and `metadata` only — duration / amount_off / percent_off / currency / etc. are write-once. To change the discount you delete the coupon and create a new one (existing redemptions are unaffected; the old coupon stays on subscriptions that already used it). +- **Promotion codes are the customer-facing wrapper for coupons.** A coupon defines the discount; a promotion code defines the redeemable string + redemption limits (`restrictions.first_time_transaction`, `restrictions.minimum_amount`, `max_redemptions`, `expires_at`, `customer` allowlist). The same coupon can have many promotion codes. +- **File uploads go to a different host.** `files.stripe.com/v1/files`, multipart-encoded. `purpose` is required and constrains downstream use: `dispute_evidence` is the most common — once uploaded the resulting `file_id` becomes part of the `evidence` object on `update_dispute`. The client uses `_post` only for the main API host; `upload_file` routes to `STRIPE_FILES_API` directly. +- **Webhook endpoints need a publicly reachable URL.** Stripe validates the URL before creation (HEAD request). Localhost won't work — use `stripe listen --forward-to` (Stripe CLI) for development. `enabled_events` defaults to NOTHING — you must explicitly list each event type or `["*"]` for all. Test the signature verification with `whsec_…` before relying on live deliveries. +- **Connect (`Stripe-Account: acct_…` header) is supported per-call, not as the default.** Every client method takes an optional `connect_account` kwarg that injects the header. We do NOT pre-resolve a Connect account because the package isn't a Connect platform; this is for the rare case where a user's standalone account happens to have one Connect link they want to act on. +- **Rate limits: 100 read + 100 write per second in test, 100 read + 100 write per second in live (burst up to 1000 over 5s).** 429 responses include `Retry-After`. The package does not auto-retry on 429 — wrap multi-call actions in `with_client` and respect the header if you write one. +- **No listener / streaming surface.** Stripe is webhook-driven; receiving events requires a public callback URL the package can't provide. The client exposes `list_events` / `get_event` / `webhook_endpoints` CRUD so an agent can poll and a host can manage subscriptions, but `start_listening` / `stop_listening` are no-ops inherited from the base class. diff --git a/craftos_integrations/integrations/stripe/__init__.py b/craftos_integrations/integrations/stripe/__init__.py new file mode 100644 index 00000000..2b750129 --- /dev/null +++ b/craftos_integrations/integrations/stripe/__init__.py @@ -0,0 +1,2483 @@ +# -*- coding: utf-8 -*- +"""Stripe integration — handler (Restricted/Secret API key) + client. + +Stripe's auth model is a Bearer key tied to the merchant's own Stripe account. +We deliberately do NOT ship a shared OAuth (Stripe Connect) path: Connect would +pool every CraftBot user under one platform whose suspension risk and KYC +obligations would cascade across the install base. Each user brings their own +key — preferably a Restricted Key (``rk_live_*``) scoped to the resources the +agent needs. + +See INTEGRATION.md for the form-encoding rules, search query syntax, ID +prefixes, expand support, and idempotency semantics. +""" + +from __future__ import annotations + +import os +import uuid +from dataclasses import dataclass, field +from typing import Any, Dict, Iterable, List, Mapping, Optional, Tuple + +from ... import ( + BasePlatformClient, + IntegrationHandler, + IntegrationSpec, + has_credential, + load_credential, + register_client, + register_handler, + remove_credential, + save_credential, +) +from ...helpers import Result, arequest +from ...helpers import request as http_request +from ...logger import get_logger + +logger = get_logger(__name__) + +STRIPE_API = "https://api.stripe.com/v1" +STRIPE_FILES_API = "https://files.stripe.com/v1" + +# Pinned API version — Stripe rolls schemas forward continuously; pinning +# protects the agent from silently breaking field shapes when Stripe ships a +# new release. Bump this deliberately, with a regression pass, not casually. +STRIPE_API_VERSION = "2024-12-18.acacia" + + +# ------------------------------------------------------------------ +# Credential + config +# ------------------------------------------------------------------ + + +@dataclass +class StripeCredential: + api_key: str = "" + account_id: str = "" # acct_... from /v1/account + business_name: str = "" # display label for /stripe status + livemode: bool = False # True if api_key.startswith("sk_live_" | "rk_live_") + key_kind: str = "secret" # "secret" | "restricted" + + +@dataclass +class StripeConfig: + """Post-connect runtime knobs.""" + + default_currency: str = "usd" + default_expand: List[str] = field(default_factory=list) + require_idempotency_key: bool = True + + +STRIPE = IntegrationSpec( + name="stripe", + cred_class=StripeCredential, + cred_file="stripe.json", + platform_id="stripe", +) + + +# ------------------------------------------------------------------ +# Handler — auth flow (token only) +# ------------------------------------------------------------------ + + +def _classify_key(token: str) -> Tuple[bool, str]: + """Return ``(livemode, key_kind)`` for a Stripe key. + + ``key_kind`` is ``"secret"`` for ``sk_*`` and ``"restricted"`` for ``rk_*``. + Stripe also issues publishable keys (``pk_*``) — those are client-side only + and rejected by the handler before we get here. + """ + if token.startswith("sk_live_") or token.startswith("rk_live_"): + livemode = True + else: + livemode = False + kind = "restricted" if token.startswith("rk_") else "secret" + return livemode, kind + + +@register_handler(STRIPE.name) +class StripeHandler(IntegrationHandler): + spec = STRIPE + display_name = "Stripe" + description = "Payments, subscriptions, invoices, payouts" + auth_type = "token" + icon = "stripe" + connect_help = [ + "Open https://dashboard.stripe.com/apikeys", + "Recommended: 'Create restricted key' — scopes the key to only the resources the agent needs", + "Pick read+write for the resources you'll let the agent touch (Customers, PaymentIntents, Invoices, Subscriptions, etc.)", + "Or use a Standard secret key (sk_live_… / sk_test_…) for full account access", + "Copy the key (it's shown only once) and paste it below", + ] + fields = [ + { + "key": "api_key", + "label": "Stripe API Key (sk_live_… / sk_test_… / rk_live_… / rk_test_…)", + "placeholder": "rk_live_…", + "password": True, + }, + ] + config_class = StripeConfig + config_fields = [ + { + "key": "default_currency", + "label": "Default currency", + "type": "text", + "placeholder": "usd", + "help": "ISO 4217 lowercase code used when create_* actions omit 'currency'. " + "Stripe stores amounts as integers in the smallest currency unit (cents for USD).", + }, + { + "key": "default_expand", + "label": "Default expand[] fields", + "type": "list", + "placeholder": "customer, latest_invoice", + "help": "Comma-separated field paths auto-added to expand[] on every retrieve/list. " + "Useful when downstream actions chain off nested objects. Empty by default.", + }, + { + "key": "require_idempotency_key", + "label": "Auto-attach Idempotency-Key on mutations", + "type": "checkbox", + "help": "When enabled, the client sends a UUID Idempotency-Key on every " + "POST/DELETE so that an agent retry doesn't double-create resources.", + }, + ] + + async def login(self, args: List[str]) -> Tuple[bool, str]: + if not args: + return False, ( + "Usage: /stripe login \n" + "Get a key at: https://dashboard.stripe.com/apikeys\n" + "Restricted keys (rk_…) are strongly preferred over secret keys (sk_…)." + ) + token = args[0].strip() + if token.startswith("pk_"): + return False, ( + "That's a publishable key (pk_…). Publishable keys are for client-side " + "code and won't authenticate server-side requests. Paste a secret (sk_…) " + "or restricted (rk_…) key instead." + ) + if not (token.startswith("sk_") or token.startswith("rk_")): + return False, ( + "Invalid Stripe key. Expected sk_live_…, sk_test_…, rk_live_…, or rk_test_…." + ) + + # Validate by fetching the merchant's own account. /v1/account works for + # secret keys; restricted keys may or may not have it scoped — if it 401s + # we fall back to /v1/balance which every authenticated key can reach. + livemode, kind = _classify_key(token) + headers = { + "Authorization": f"Bearer {token}", + "Stripe-Version": STRIPE_API_VERSION, + } + account_id = "" + business_name = "" + + acct = http_request( + "GET", + f"{STRIPE_API}/account", + headers=headers, + expected=(200,), + ) + if "error" not in acct: + data = acct.get("result") or {} + account_id = data.get("id") or "" + business_name = ( + data.get("business_profile", {}).get("name") + or data.get("settings", {}).get("dashboard", {}).get("display_name") + or data.get("email") + or "" + ) + else: + balance = http_request( + "GET", + f"{STRIPE_API}/balance", + headers=headers, + expected=(200,), + ) + if "error" in balance: + return False, f"Stripe auth failed: {balance['error']}" + # /balance succeeded; the restricted key lacks the 'account read' scope. + # That's fine — store without account_id. + + save_credential( + self.spec.cred_file, + StripeCredential( + api_key=token, + account_id=account_id, + business_name=business_name, + livemode=livemode, + key_kind=kind, + ), + ) + label = business_name or account_id or "Stripe account" + mode = "live mode" if livemode else "TEST MODE" + kind_label = "restricted key" if kind == "restricted" else "secret key" + return True, f"Stripe connected: {label} ({mode}, {kind_label})" + + async def logout(self, args: List[str]) -> Tuple[bool, str]: + if not has_credential(self.spec.cred_file): + return False, "No Stripe credentials found." + try: + from ...manager import get_external_comms_manager + + manager = get_external_comms_manager() + if manager: + await manager.stop_platform(self.spec.platform_id) + except Exception: + pass + remove_credential(self.spec.cred_file) + return True, "Removed Stripe credential." + + async def status(self) -> Tuple[bool, str]: + if not has_credential(self.spec.cred_file): + return True, "Stripe: Not connected" + cred = load_credential(self.spec.cred_file, StripeCredential) + if not cred: + return True, "Stripe: Not connected" + label = cred.business_name or cred.account_id or "unknown account" + mode = "live mode" if cred.livemode else "TEST MODE" + kind = "restricted key" if cred.key_kind == "restricted" else "secret key" + return True, f"Stripe: Connected\n - {label} ({mode}, {kind})" + + +# ------------------------------------------------------------------ +# Form-encoding helpers — Stripe's API takes application/x-www-form-urlencoded +# with bracket notation for nested params: +# +# {"metadata": {"order": "6735"}} → metadata[order]=6735 +# {"expand": ["customer"]} → expand[]=customer +# {"items": [{"price": "p_x"}]} → items[0][price]=p_x +# {"automatic_payment_methods": {"enabled": True}} +# → automatic_payment_methods[enabled]=true +# +# httpx's data= argument form-encodes a FLAT dict; we have to flatten ourselves. +# ------------------------------------------------------------------ + + +def _flatten_params( + payload: Mapping[str, Any], + *, + prefix: str = "", +) -> Dict[str, str]: + """Flatten nested dicts/lists into Stripe's bracket notation. + + None values are dropped (caller passes ``None`` to mean "omit this field"). + Booleans become lowercase strings (Stripe expects ``true``/``false``). + Everything else is coerced to str. + """ + out: Dict[str, str] = {} + + def _emit(key: str, value: Any) -> None: + if value is None: + return + if isinstance(value, Mapping): + for sub_k, sub_v in value.items(): + _emit(f"{key}[{sub_k}]", sub_v) + return + if isinstance(value, (list, tuple)): + # Use indexed-bracket notation for ALL list items (primitive or + # nested). Stripe accepts both ``key[]=v1&key[]=v2`` and + # ``key[0]=v1&key[1]=v2``, but we have to use indexed because + # httpx's data= dict can't carry repeated keys. + for i, item in enumerate(value): + _emit(f"{key}[{i}]", item) + return + if isinstance(value, bool): + out[key] = "true" if value else "false" + return + out[key] = str(value) + + for k, v in payload.items(): + if prefix: + _emit(f"{prefix}[{k}]", v) + else: + _emit(k, v) + return out + + +def _form_expand(out: Dict[str, str], expand: Optional[Iterable[str]]) -> None: + """Append expand[]=… entries to a flat form dict.""" + if not expand: + return + # Stripe accepts multiple expand[]= entries; httpx urlencode collapses dup + # keys into a list only when the value is a list. So we ship the multi-value + # case as a list and let httpx re-emit. + items = [s for s in expand if s] + if not items: + return + # Because out is a flat str->str dict and expand[] uses bracket-list syntax, + # we attach via the special key shape with index suffixes — Stripe accepts + # expand[0]=…&expand[1]=… interchangeably with expand[]=…. + for i, name in enumerate(items): + out[f"expand[{i}]"] = name + + +# ------------------------------------------------------------------ +# Client — runtime: REST against api.stripe.com +# ------------------------------------------------------------------ + + +@register_client +class StripeClient(BasePlatformClient): + spec = STRIPE + PLATFORM_ID = STRIPE.platform_id + + def __init__(self) -> None: + super().__init__() + self._cred: Optional[StripeCredential] = None + + def has_credentials(self) -> bool: + return has_credential(self.spec.cred_file) + + def _load(self) -> StripeCredential: + if self._cred is None: + self._cred = load_credential(self.spec.cred_file, StripeCredential) + if self._cred is None: + raise RuntimeError("No Stripe credentials. Use /stripe login first.") + return self._cred + + def _load_config(self) -> StripeConfig: + # Fresh per-call so config edits take effect without a restart. + from ... import load_config + + return load_config("stripe_config.json", StripeConfig) or StripeConfig() + + def _headers( + self, + *, + idempotency_key: Optional[str] = None, + connect_account: Optional[str] = None, + ) -> Dict[str, str]: + cred = self._load() + h: Dict[str, str] = { + "Authorization": f"Bearer {cred.api_key}", + "Stripe-Version": STRIPE_API_VERSION, + } + if idempotency_key: + h["Idempotency-Key"] = idempotency_key + if connect_account: + # If the user happens to have a Connect setup, this lets them + # impersonate a connected account on a per-call basis. + h["Stripe-Account"] = connect_account + return h + + def _maybe_idempotency_key( + self, *, mutation: bool, explicit: Optional[str] + ) -> Optional[str]: + if explicit: + return explicit + if not mutation: + return None + cfg = self._load_config() + if cfg.require_idempotency_key: + return str(uuid.uuid4()) + return None + + def _default_expand(self) -> List[str]: + return list(self._load_config().default_expand or []) + + def _default_currency(self) -> str: + return (self._load_config().default_currency or "usd").lower() + + async def connect(self) -> None: + self._load() + self._connected = True + + async def send_message(self, recipient: str, text: str, **kwargs) -> Result: + # Stripe isn't a messaging platform. We expose this so the facade + # send_message() returns a deterministic error rather than crashing. + return { + "error": "Stripe is not a messaging integration. Use the action surface " + "(create_stripe_payment_intent, send_stripe_invoice, etc.) instead." + } + + # =============================================================== + # Generic REST primitives + # =============================================================== + + async def _get( + self, + path: str, + *, + params: Optional[Dict[str, Any]] = None, + expand: Optional[Iterable[str]] = None, + connect_account: Optional[str] = None, + base: str = STRIPE_API, + ) -> Result: + flat = _flatten_params(params or {}) + # Merge default expand[] with any caller-supplied ones. + merged_expand: List[str] = [] + merged_expand.extend(self._default_expand()) + if expand: + merged_expand.extend(expand) + _form_expand(flat, merged_expand) + return await arequest( + "GET", + f"{base}{path}", + headers=self._headers(connect_account=connect_account), + params=flat or None, + expected=(200,), + ) + + async def _post( + self, + path: str, + *, + payload: Optional[Mapping[str, Any]] = None, + expand: Optional[Iterable[str]] = None, + idempotency_key: Optional[str] = None, + connect_account: Optional[str] = None, + mutation: bool = True, + base: str = STRIPE_API, + expected: Iterable[int] = (200,), + ) -> Result: + flat = _flatten_params(payload or {}) + merged_expand: List[str] = [] + merged_expand.extend(self._default_expand()) + if expand: + merged_expand.extend(expand) + _form_expand(flat, merged_expand) + ikey = self._maybe_idempotency_key( + mutation=mutation, explicit=idempotency_key + ) + return await arequest( + "POST", + f"{base}{path}", + headers=self._headers( + idempotency_key=ikey, connect_account=connect_account + ), + data=flat or None, + expected=expected, + ) + + async def _delete( + self, + path: str, + *, + idempotency_key: Optional[str] = None, + connect_account: Optional[str] = None, + base: str = STRIPE_API, + ) -> Result: + ikey = self._maybe_idempotency_key( + mutation=True, explicit=idempotency_key + ) + return await arequest( + "DELETE", + f"{base}{path}", + headers=self._headers( + idempotency_key=ikey, connect_account=connect_account + ), + expected=(200,), + ) + + @staticmethod + def _list_params( + *, + limit: Optional[int], + starting_after: Optional[str], + ending_before: Optional[str], + extra: Optional[Mapping[str, Any]] = None, + ) -> Dict[str, Any]: + params: Dict[str, Any] = {} + if limit is not None: + params["limit"] = min(max(int(limit), 1), 100) + if starting_after: + params["starting_after"] = starting_after + if ending_before: + params["ending_before"] = ending_before + if extra: + for k, v in extra.items(): + if v is not None: + params[k] = v + return params + + # =============================================================== + # Account (read-only) + # =============================================================== + + async def get_account(self) -> Result: + return await self._get("/account") + + # =============================================================== + # Customers + # =============================================================== + + async def list_customers( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + email: Optional[str] = None, + created_gte: Optional[int] = None, + created_lte: Optional[int] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra: Dict[str, Any] = {"email": email} + if created_gte is not None or created_lte is not None: + created: Dict[str, Any] = {} + if created_gte is not None: + created["gte"] = created_gte + if created_lte is not None: + created["lte"] = created_lte + extra["created"] = created + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/customers", params=params, expand=expand) + + async def get_customer( + self, customer_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/customers/{customer_id}", expand=expand) + + async def create_customer( + self, + *, + email: Optional[str] = None, + name: Optional[str] = None, + phone: Optional[str] = None, + description: Optional[str] = None, + address: Optional[Dict[str, Any]] = None, + shipping: Optional[Dict[str, Any]] = None, + metadata: Optional[Dict[str, Any]] = None, + payment_method: Optional[str] = None, + invoice_settings: Optional[Dict[str, Any]] = None, + tax_exempt: Optional[str] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload: Dict[str, Any] = { + "email": email, + "name": name, + "phone": phone, + "description": description, + "address": address, + "shipping": shipping, + "metadata": metadata, + "payment_method": payment_method, + "invoice_settings": invoice_settings, + "tax_exempt": tax_exempt, + } + return await self._post( + "/customers", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_customer( + self, + customer_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/customers/{customer_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def delete_customer(self, customer_id: str) -> Result: + return await self._delete(f"/customers/{customer_id}") + + async def search_customers( + self, + query: str, + *, + limit: int = 10, + page: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params: Dict[str, Any] = {"query": query, "limit": min(max(limit, 1), 100)} + if page: + params["page"] = page + return await self._get("/customers/search", params=params, expand=expand) + + # =============================================================== + # Payment intents + # =============================================================== + + async def list_payment_intents( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + customer: Optional[str] = None, + created_gte: Optional[int] = None, + created_lte: Optional[int] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra: Dict[str, Any] = {"customer": customer} + if created_gte is not None or created_lte is not None: + created: Dict[str, Any] = {} + if created_gte is not None: + created["gte"] = created_gte + if created_lte is not None: + created["lte"] = created_lte + extra["created"] = created + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/payment_intents", params=params, expand=expand) + + async def get_payment_intent( + self, + payment_intent_id: str, + *, + client_secret: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params = {"client_secret": client_secret} if client_secret else None + return await self._get( + f"/payment_intents/{payment_intent_id}", params=params, expand=expand + ) + + async def create_payment_intent( + self, + *, + amount: int, + currency: Optional[str] = None, + customer: Optional[str] = None, + payment_method: Optional[str] = None, + payment_method_types: Optional[List[str]] = None, + automatic_payment_methods: Optional[Dict[str, Any]] = None, + confirm: Optional[bool] = None, + capture_method: Optional[str] = None, + confirmation_method: Optional[str] = None, + description: Optional[str] = None, + receipt_email: Optional[str] = None, + setup_future_usage: Optional[str] = None, + statement_descriptor: Optional[str] = None, + statement_descriptor_suffix: Optional[str] = None, + application_fee_amount: Optional[int] = None, + transfer_data: Optional[Dict[str, Any]] = None, + on_behalf_of: Optional[str] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload: Dict[str, Any] = { + "amount": amount, + "currency": (currency or self._default_currency()).lower(), + "customer": customer, + "payment_method": payment_method, + "payment_method_types": payment_method_types, + "automatic_payment_methods": automatic_payment_methods, + "confirm": confirm, + "capture_method": capture_method, + "confirmation_method": confirmation_method, + "description": description, + "receipt_email": receipt_email, + "setup_future_usage": setup_future_usage, + "statement_descriptor": statement_descriptor, + "statement_descriptor_suffix": statement_descriptor_suffix, + "application_fee_amount": application_fee_amount, + "transfer_data": transfer_data, + "on_behalf_of": on_behalf_of, + "metadata": metadata, + } + if ( + payload["payment_method_types"] is None + and payload["automatic_payment_methods"] is None + ): + # Stripe rejects PI creation when neither is set; default to the + # modern automatic-payment-methods flow (Stripe's recommendation). + payload["automatic_payment_methods"] = {"enabled": True} + return await self._post( + "/payment_intents", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_payment_intent( + self, + payment_intent_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/payment_intents/{payment_intent_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def confirm_payment_intent( + self, + payment_intent_id: str, + *, + payment_method: Optional[str] = None, + return_url: Optional[str] = None, + receipt_email: Optional[str] = None, + setup_future_usage: Optional[str] = None, + off_session: Optional[bool] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "payment_method": payment_method, + "return_url": return_url, + "receipt_email": receipt_email, + "setup_future_usage": setup_future_usage, + "off_session": off_session, + } + return await self._post( + f"/payment_intents/{payment_intent_id}/confirm", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def capture_payment_intent( + self, + payment_intent_id: str, + *, + amount_to_capture: Optional[int] = None, + application_fee_amount: Optional[int] = None, + statement_descriptor: Optional[str] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "amount_to_capture": amount_to_capture, + "application_fee_amount": application_fee_amount, + "statement_descriptor": statement_descriptor, + } + return await self._post( + f"/payment_intents/{payment_intent_id}/capture", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def cancel_payment_intent( + self, + payment_intent_id: str, + *, + cancellation_reason: Optional[str] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/payment_intents/{payment_intent_id}/cancel", + payload={"cancellation_reason": cancellation_reason}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def search_payment_intents( + self, + query: str, + *, + limit: int = 10, + page: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params: Dict[str, Any] = {"query": query, "limit": min(max(limit, 1), 100)} + if page: + params["page"] = page + return await self._get( + "/payment_intents/search", params=params, expand=expand + ) + + # =============================================================== + # Charges (legacy direct-charge API — still useful for read paths) + # =============================================================== + + async def list_charges( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + customer: Optional[str] = None, + payment_intent: Optional[str] = None, + transfer_group: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = { + "customer": customer, + "payment_intent": payment_intent, + "transfer_group": transfer_group, + } + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/charges", params=params, expand=expand) + + async def get_charge( + self, charge_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/charges/{charge_id}", expand=expand) + + # =============================================================== + # Refunds + # =============================================================== + + async def create_refund( + self, + *, + payment_intent: Optional[str] = None, + charge: Optional[str] = None, + amount: Optional[int] = None, + reason: Optional[str] = None, + refund_application_fee: Optional[bool] = None, + reverse_transfer: Optional[bool] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + if not payment_intent and not charge: + return { + "error": "create_refund: pass exactly one of payment_intent or charge", + } + payload = { + "payment_intent": payment_intent, + "charge": charge, + "amount": amount, + "reason": reason, + "refund_application_fee": refund_application_fee, + "reverse_transfer": reverse_transfer, + "metadata": metadata, + } + return await self._post( + "/refunds", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def get_refund( + self, refund_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/refunds/{refund_id}", expand=expand) + + async def list_refunds( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + payment_intent: Optional[str] = None, + charge: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = {"payment_intent": payment_intent, "charge": charge} + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/refunds", params=params, expand=expand) + + # =============================================================== + # Payment methods + # =============================================================== + + async def list_payment_methods( + self, + *, + customer: Optional[str] = None, + type: str = "card", + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + if customer: + path = f"/customers/{customer}/payment_methods" + extra = {"type": type} + else: + path = "/payment_methods" + extra = {"type": type, "customer": None} + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get(path, params=params, expand=expand) + + async def get_payment_method( + self, payment_method_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get( + f"/payment_methods/{payment_method_id}", expand=expand + ) + + async def attach_payment_method( + self, + payment_method_id: str, + *, + customer: str, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/payment_methods/{payment_method_id}/attach", + payload={"customer": customer}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def detach_payment_method( + self, + payment_method_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/payment_methods/{payment_method_id}/detach", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_payment_method( + self, + payment_method_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/payment_methods/{payment_method_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + # =============================================================== + # Products + # =============================================================== + + async def list_products( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + active: Optional[bool] = None, + ids: Optional[List[str]] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra: Dict[str, Any] = {"active": active} + if ids: + extra["ids"] = ids + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/products", params=params, expand=expand) + + async def get_product( + self, product_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/products/{product_id}", expand=expand) + + async def create_product( + self, + *, + name: str, + description: Optional[str] = None, + active: Optional[bool] = None, + images: Optional[List[str]] = None, + metadata: Optional[Dict[str, Any]] = None, + default_price_data: Optional[Dict[str, Any]] = None, + shippable: Optional[bool] = None, + statement_descriptor: Optional[str] = None, + tax_code: Optional[str] = None, + unit_label: Optional[str] = None, + url: Optional[str] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "name": name, + "description": description, + "active": active, + "images": images, + "metadata": metadata, + "default_price_data": default_price_data, + "shippable": shippable, + "statement_descriptor": statement_descriptor, + "tax_code": tax_code, + "unit_label": unit_label, + "url": url, + } + return await self._post( + "/products", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_product( + self, + product_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/products/{product_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def delete_product(self, product_id: str) -> Result: + return await self._delete(f"/products/{product_id}") + + # =============================================================== + # Prices + # =============================================================== + + async def list_prices( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + active: Optional[bool] = None, + product: Optional[str] = None, + currency: Optional[str] = None, + type: Optional[str] = None, + recurring_interval: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra: Dict[str, Any] = { + "active": active, + "product": product, + "currency": currency.lower() if currency else None, + "type": type, + } + if recurring_interval: + extra["recurring"] = {"interval": recurring_interval} + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/prices", params=params, expand=expand) + + async def get_price( + self, price_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/prices/{price_id}", expand=expand) + + async def create_price( + self, + *, + currency: Optional[str] = None, + product: Optional[str] = None, + product_data: Optional[Dict[str, Any]] = None, + unit_amount: Optional[int] = None, + unit_amount_decimal: Optional[str] = None, + active: Optional[bool] = None, + nickname: Optional[str] = None, + recurring: Optional[Dict[str, Any]] = None, + tax_behavior: Optional[str] = None, + billing_scheme: Optional[str] = None, + tiers: Optional[List[Dict[str, Any]]] = None, + tiers_mode: Optional[str] = None, + transform_quantity: Optional[Dict[str, Any]] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "currency": (currency or self._default_currency()).lower(), + "product": product, + "product_data": product_data, + "unit_amount": unit_amount, + "unit_amount_decimal": unit_amount_decimal, + "active": active, + "nickname": nickname, + "recurring": recurring, + "tax_behavior": tax_behavior, + "billing_scheme": billing_scheme, + "tiers": tiers, + "tiers_mode": tiers_mode, + "transform_quantity": transform_quantity, + "metadata": metadata, + } + return await self._post( + "/prices", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_price( + self, + price_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/prices/{price_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + # =============================================================== + # Invoices + invoice items + # =============================================================== + + async def list_invoices( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + customer: Optional[str] = None, + subscription: Optional[str] = None, + status: Optional[str] = None, + collection_method: Optional[str] = None, + created_gte: Optional[int] = None, + created_lte: Optional[int] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra: Dict[str, Any] = { + "customer": customer, + "subscription": subscription, + "status": status, + "collection_method": collection_method, + } + if created_gte is not None or created_lte is not None: + created: Dict[str, Any] = {} + if created_gte is not None: + created["gte"] = created_gte + if created_lte is not None: + created["lte"] = created_lte + extra["created"] = created + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/invoices", params=params, expand=expand) + + async def get_invoice( + self, invoice_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/invoices/{invoice_id}", expand=expand) + + async def create_invoice( + self, + *, + customer: str, + auto_advance: Optional[bool] = None, + collection_method: Optional[str] = None, + days_until_due: Optional[int] = None, + due_date: Optional[int] = None, + description: Optional[str] = None, + footer: Optional[str] = None, + default_payment_method: Optional[str] = None, + default_source: Optional[str] = None, + statement_descriptor: Optional[str] = None, + subscription: Optional[str] = None, + from_invoice: Optional[Dict[str, Any]] = None, + pending_invoice_items_behavior: Optional[str] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "customer": customer, + "auto_advance": auto_advance, + "collection_method": collection_method, + "days_until_due": days_until_due, + "due_date": due_date, + "description": description, + "footer": footer, + "default_payment_method": default_payment_method, + "default_source": default_source, + "statement_descriptor": statement_descriptor, + "subscription": subscription, + "from_invoice": from_invoice, + "pending_invoice_items_behavior": pending_invoice_items_behavior, + "metadata": metadata, + } + return await self._post( + "/invoices", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_invoice( + self, + invoice_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/invoices/{invoice_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def delete_invoice(self, invoice_id: str) -> Result: + return await self._delete(f"/invoices/{invoice_id}") + + async def finalize_invoice( + self, + invoice_id: str, + *, + auto_advance: Optional[bool] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/invoices/{invoice_id}/finalize", + payload={"auto_advance": auto_advance}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def send_invoice( + self, + invoice_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/invoices/{invoice_id}/send", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def pay_invoice( + self, + invoice_id: str, + *, + payment_method: Optional[str] = None, + source: Optional[str] = None, + off_session: Optional[bool] = None, + paid_out_of_band: Optional[bool] = None, + forgive: Optional[bool] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "payment_method": payment_method, + "source": source, + "off_session": off_session, + "paid_out_of_band": paid_out_of_band, + "forgive": forgive, + } + return await self._post( + f"/invoices/{invoice_id}/pay", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def void_invoice( + self, + invoice_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/invoices/{invoice_id}/void", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def mark_invoice_uncollectible( + self, + invoice_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/invoices/{invoice_id}/mark_uncollectible", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def get_upcoming_invoice( + self, + *, + customer: Optional[str] = None, + subscription: Optional[str] = None, + subscription_items: Optional[List[Dict[str, Any]]] = None, + coupon: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params: Dict[str, Any] = { + "customer": customer, + "subscription": subscription, + "subscription_items": subscription_items, + "coupon": coupon, + } + return await self._get("/invoices/upcoming", params=params, expand=expand) + + async def list_invoice_items( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + customer: Optional[str] = None, + invoice: Optional[str] = None, + pending: Optional[bool] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = { + "customer": customer, + "invoice": invoice, + "pending": pending, + } + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/invoiceitems", params=params, expand=expand) + + async def create_invoice_item( + self, + *, + customer: str, + invoice: Optional[str] = None, + subscription: Optional[str] = None, + amount: Optional[int] = None, + currency: Optional[str] = None, + price: Optional[str] = None, + price_data: Optional[Dict[str, Any]] = None, + quantity: Optional[int] = None, + description: Optional[str] = None, + discountable: Optional[bool] = None, + discounts: Optional[List[Dict[str, Any]]] = None, + metadata: Optional[Dict[str, Any]] = None, + period: Optional[Dict[str, int]] = None, + tax_rates: Optional[List[str]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "customer": customer, + "invoice": invoice, + "subscription": subscription, + "amount": amount, + "currency": currency.lower() if currency else None, + "price": price, + "price_data": price_data, + "quantity": quantity, + "description": description, + "discountable": discountable, + "discounts": discounts, + "metadata": metadata, + "period": period, + "tax_rates": tax_rates, + } + return await self._post( + "/invoiceitems", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def delete_invoice_item(self, invoice_item_id: str) -> Result: + return await self._delete(f"/invoiceitems/{invoice_item_id}") + + # =============================================================== + # Subscriptions + # =============================================================== + + async def list_subscriptions( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + customer: Optional[str] = None, + price: Optional[str] = None, + status: Optional[str] = None, + collection_method: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = { + "customer": customer, + "price": price, + "status": status, + "collection_method": collection_method, + } + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/subscriptions", params=params, expand=expand) + + async def get_subscription( + self, subscription_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/subscriptions/{subscription_id}", expand=expand) + + async def create_subscription( + self, + *, + customer: str, + items: List[Dict[str, Any]], + cancel_at_period_end: Optional[bool] = None, + collection_method: Optional[str] = None, + days_until_due: Optional[int] = None, + default_payment_method: Optional[str] = None, + default_tax_rates: Optional[List[str]] = None, + coupon: Optional[str] = None, + promotion_code: Optional[str] = None, + trial_period_days: Optional[int] = None, + trial_end: Optional[int] = None, + payment_behavior: Optional[str] = None, + payment_settings: Optional[Dict[str, Any]] = None, + proration_behavior: Optional[str] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "customer": customer, + "items": items, + "cancel_at_period_end": cancel_at_period_end, + "collection_method": collection_method, + "days_until_due": days_until_due, + "default_payment_method": default_payment_method, + "default_tax_rates": default_tax_rates, + "coupon": coupon, + "promotion_code": promotion_code, + "trial_period_days": trial_period_days, + "trial_end": trial_end, + "payment_behavior": payment_behavior, + "payment_settings": payment_settings, + "proration_behavior": proration_behavior, + "metadata": metadata, + } + return await self._post( + "/subscriptions", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_subscription( + self, + subscription_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/subscriptions/{subscription_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def cancel_subscription( + self, + subscription_id: str, + *, + invoice_now: Optional[bool] = None, + prorate: Optional[bool] = None, + cancellation_details: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "invoice_now": invoice_now, + "prorate": prorate, + "cancellation_details": cancellation_details, + } + # DELETE /v1/subscriptions/:id — but Stripe accepts a body. httpx DELETE + # with data= works; route through _post to keep idempotency handling. + flat = _flatten_params(payload) + ikey = self._maybe_idempotency_key( + mutation=True, explicit=idempotency_key + ) + return await arequest( + "DELETE", + f"{STRIPE_API}/subscriptions/{subscription_id}", + headers=self._headers(idempotency_key=ikey), + data=flat or None, + expected=(200,), + ) + + async def resume_subscription( + self, + subscription_id: str, + *, + billing_cycle_anchor: Optional[str] = None, + proration_behavior: Optional[str] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "billing_cycle_anchor": billing_cycle_anchor, + "proration_behavior": proration_behavior, + } + return await self._post( + f"/subscriptions/{subscription_id}/resume", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + # =============================================================== + # Coupons + promotion codes + # =============================================================== + + async def list_coupons( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + ) + return await self._get("/coupons", params=params, expand=expand) + + async def get_coupon( + self, coupon_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/coupons/{coupon_id}", expand=expand) + + async def create_coupon( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + duration: str = "once", # once | repeating | forever + amount_off: Optional[int] = None, + percent_off: Optional[float] = None, + currency: Optional[str] = None, + duration_in_months: Optional[int] = None, + max_redemptions: Optional[int] = None, + redeem_by: Optional[int] = None, + applies_to: Optional[Dict[str, Any]] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "id": id, + "name": name, + "duration": duration, + "amount_off": amount_off, + "percent_off": percent_off, + "currency": currency.lower() if currency else None, + "duration_in_months": duration_in_months, + "max_redemptions": max_redemptions, + "redeem_by": redeem_by, + "applies_to": applies_to, + "metadata": metadata, + } + return await self._post( + "/coupons", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_coupon( + self, + coupon_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/coupons/{coupon_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def delete_coupon(self, coupon_id: str) -> Result: + return await self._delete(f"/coupons/{coupon_id}") + + async def list_promotion_codes( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + active: Optional[bool] = None, + code: Optional[str] = None, + coupon: Optional[str] = None, + customer: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = { + "active": active, + "code": code, + "coupon": coupon, + "customer": customer, + } + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/promotion_codes", params=params, expand=expand) + + async def create_promotion_code( + self, + *, + coupon: str, + code: Optional[str] = None, + customer: Optional[str] = None, + active: Optional[bool] = None, + expires_at: Optional[int] = None, + max_redemptions: Optional[int] = None, + restrictions: Optional[Dict[str, Any]] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "coupon": coupon, + "code": code, + "customer": customer, + "active": active, + "expires_at": expires_at, + "max_redemptions": max_redemptions, + "restrictions": restrictions, + "metadata": metadata, + } + return await self._post( + "/promotion_codes", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_promotion_code( + self, + promotion_code_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/promotion_codes/{promotion_code_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + # =============================================================== + # Checkout sessions + # =============================================================== + + async def list_checkout_sessions( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + customer: Optional[str] = None, + payment_intent: Optional[str] = None, + subscription: Optional[str] = None, + status: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = { + "customer": customer, + "payment_intent": payment_intent, + "subscription": subscription, + "status": status, + } + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get( + "/checkout/sessions", params=params, expand=expand + ) + + async def get_checkout_session( + self, session_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get( + f"/checkout/sessions/{session_id}", expand=expand + ) + + async def create_checkout_session( + self, + *, + mode: str, # payment | subscription | setup + line_items: Optional[List[Dict[str, Any]]] = None, + success_url: Optional[str] = None, + cancel_url: Optional[str] = None, + return_url: Optional[str] = None, + ui_mode: Optional[str] = None, # hosted | embedded + customer: Optional[str] = None, + customer_email: Optional[str] = None, + client_reference_id: Optional[str] = None, + allow_promotion_codes: Optional[bool] = None, + automatic_tax: Optional[Dict[str, Any]] = None, + billing_address_collection: Optional[str] = None, + shipping_address_collection: Optional[Dict[str, Any]] = None, + payment_method_types: Optional[List[str]] = None, + payment_intent_data: Optional[Dict[str, Any]] = None, + subscription_data: Optional[Dict[str, Any]] = None, + discounts: Optional[List[Dict[str, Any]]] = None, + expires_at: Optional[int] = None, + locale: Optional[str] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "mode": mode, + "line_items": line_items, + "success_url": success_url, + "cancel_url": cancel_url, + "return_url": return_url, + "ui_mode": ui_mode, + "customer": customer, + "customer_email": customer_email, + "client_reference_id": client_reference_id, + "allow_promotion_codes": allow_promotion_codes, + "automatic_tax": automatic_tax, + "billing_address_collection": billing_address_collection, + "shipping_address_collection": shipping_address_collection, + "payment_method_types": payment_method_types, + "payment_intent_data": payment_intent_data, + "subscription_data": subscription_data, + "discounts": discounts, + "expires_at": expires_at, + "locale": locale, + "metadata": metadata, + } + return await self._post( + "/checkout/sessions", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def expire_checkout_session( + self, + session_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/checkout/sessions/{session_id}/expire", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def list_checkout_line_items( + self, + session_id: str, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + ) + return await self._get( + f"/checkout/sessions/{session_id}/line_items", + params=params, + expand=expand, + ) + + # =============================================================== + # Payment links + # =============================================================== + + async def list_payment_links( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + active: Optional[bool] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra={"active": active}, + ) + return await self._get("/payment_links", params=params, expand=expand) + + async def get_payment_link( + self, payment_link_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/payment_links/{payment_link_id}", expand=expand) + + async def create_payment_link( + self, + *, + line_items: List[Dict[str, Any]], + after_completion: Optional[Dict[str, Any]] = None, + allow_promotion_codes: Optional[bool] = None, + automatic_tax: Optional[Dict[str, Any]] = None, + billing_address_collection: Optional[str] = None, + currency: Optional[str] = None, + customer_creation: Optional[str] = None, + metadata: Optional[Dict[str, Any]] = None, + payment_intent_data: Optional[Dict[str, Any]] = None, + payment_method_types: Optional[List[str]] = None, + subscription_data: Optional[Dict[str, Any]] = None, + shipping_address_collection: Optional[Dict[str, Any]] = None, + shipping_options: Optional[List[Dict[str, Any]]] = None, + tax_id_collection: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "line_items": line_items, + "after_completion": after_completion, + "allow_promotion_codes": allow_promotion_codes, + "automatic_tax": automatic_tax, + "billing_address_collection": billing_address_collection, + "currency": currency.lower() if currency else None, + "customer_creation": customer_creation, + "metadata": metadata, + "payment_intent_data": payment_intent_data, + "payment_method_types": payment_method_types, + "subscription_data": subscription_data, + "shipping_address_collection": shipping_address_collection, + "shipping_options": shipping_options, + "tax_id_collection": tax_id_collection, + } + return await self._post( + "/payment_links", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_payment_link( + self, + payment_link_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/payment_links/{payment_link_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def list_payment_link_line_items( + self, + payment_link_id: str, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + ) + return await self._get( + f"/payment_links/{payment_link_id}/line_items", + params=params, + expand=expand, + ) + + # =============================================================== + # Customer portal sessions (Billing portal) + # =============================================================== + + async def create_billing_portal_session( + self, + *, + customer: str, + return_url: Optional[str] = None, + configuration: Optional[str] = None, + flow_data: Optional[Dict[str, Any]] = None, + locale: Optional[str] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "customer": customer, + "return_url": return_url, + "configuration": configuration, + "flow_data": flow_data, + "locale": locale, + } + return await self._post( + "/billing_portal/sessions", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + # =============================================================== + # Disputes + # =============================================================== + + async def list_disputes( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + charge: Optional[str] = None, + payment_intent: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = {"charge": charge, "payment_intent": payment_intent} + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/disputes", params=params, expand=expand) + + async def get_dispute( + self, dispute_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/disputes/{dispute_id}", expand=expand) + + async def update_dispute( + self, + dispute_id: str, + *, + evidence: Optional[Dict[str, Any]] = None, + submit: Optional[bool] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "evidence": evidence, + "submit": submit, + "metadata": metadata, + } + return await self._post( + f"/disputes/{dispute_id}", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def close_dispute( + self, + dispute_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/disputes/{dispute_id}/close", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + # =============================================================== + # Payouts + balance + # =============================================================== + + async def list_payouts( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + status: Optional[str] = None, + destination: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = {"status": status, "destination": destination} + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/payouts", params=params, expand=expand) + + async def get_payout( + self, payout_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/payouts/{payout_id}", expand=expand) + + async def create_payout( + self, + *, + amount: int, + currency: Optional[str] = None, + description: Optional[str] = None, + statement_descriptor: Optional[str] = None, + method: Optional[str] = None, # standard | instant + source_type: Optional[str] = None, # bank_account | card + destination: Optional[str] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "amount": amount, + "currency": (currency or self._default_currency()).lower(), + "description": description, + "statement_descriptor": statement_descriptor, + "method": method, + "source_type": source_type, + "destination": destination, + "metadata": metadata, + } + return await self._post( + "/payouts", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_payout( + self, + payout_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/payouts/{payout_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def cancel_payout( + self, + payout_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/payouts/{payout_id}/cancel", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def get_balance(self) -> Result: + return await self._get("/balance") + + async def list_balance_transactions( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + type: Optional[str] = None, + currency: Optional[str] = None, + source: Optional[str] = None, + payout: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = { + "type": type, + "currency": currency.lower() if currency else None, + "source": source, + "payout": payout, + } + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get( + "/balance_transactions", params=params, expand=expand + ) + + async def get_balance_transaction( + self, balance_transaction_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get( + f"/balance_transactions/{balance_transaction_id}", expand=expand + ) + + # =============================================================== + # Quotes + # =============================================================== + + async def list_quotes( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + customer: Optional[str] = None, + status: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra = {"customer": customer, "status": status} + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/quotes", params=params, expand=expand) + + async def get_quote( + self, quote_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/quotes/{quote_id}", expand=expand) + + async def create_quote( + self, + *, + customer: str, + line_items: List[Dict[str, Any]], + application_fee_amount: Optional[int] = None, + application_fee_percent: Optional[float] = None, + automatic_tax: Optional[Dict[str, Any]] = None, + collection_method: Optional[str] = None, + default_tax_rates: Optional[List[str]] = None, + description: Optional[str] = None, + discounts: Optional[List[Dict[str, Any]]] = None, + expires_at: Optional[int] = None, + footer: Optional[str] = None, + from_quote: Optional[Dict[str, Any]] = None, + header: Optional[str] = None, + invoice_settings: Optional[Dict[str, Any]] = None, + metadata: Optional[Dict[str, Any]] = None, + on_behalf_of: Optional[str] = None, + subscription_data: Optional[Dict[str, Any]] = None, + test_clock: Optional[str] = None, + transfer_data: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "customer": customer, + "line_items": line_items, + "application_fee_amount": application_fee_amount, + "application_fee_percent": application_fee_percent, + "automatic_tax": automatic_tax, + "collection_method": collection_method, + "default_tax_rates": default_tax_rates, + "description": description, + "discounts": discounts, + "expires_at": expires_at, + "footer": footer, + "from_quote": from_quote, + "header": header, + "invoice_settings": invoice_settings, + "metadata": metadata, + "on_behalf_of": on_behalf_of, + "subscription_data": subscription_data, + "test_clock": test_clock, + "transfer_data": transfer_data, + } + return await self._post( + "/quotes", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_quote( + self, + quote_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/quotes/{quote_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def finalize_quote( + self, + quote_id: str, + *, + expires_at: Optional[int] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/quotes/{quote_id}/finalize", + payload={"expires_at": expires_at}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def accept_quote( + self, + quote_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/quotes/{quote_id}/accept", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def cancel_quote( + self, + quote_id: str, + *, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/quotes/{quote_id}/cancel", + payload={}, + expand=expand, + idempotency_key=idempotency_key, + ) + + # =============================================================== + # Events + webhook endpoints + # =============================================================== + + async def list_events( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + type: Optional[str] = None, + types: Optional[List[str]] = None, + delivery_success: Optional[bool] = None, + created_gte: Optional[int] = None, + created_lte: Optional[int] = None, + expand: Optional[List[str]] = None, + ) -> Result: + extra: Dict[str, Any] = { + "type": type, + "types": types, + "delivery_success": delivery_success, + } + if created_gte is not None or created_lte is not None: + created: Dict[str, Any] = {} + if created_gte is not None: + created["gte"] = created_gte + if created_lte is not None: + created["lte"] = created_lte + extra["created"] = created + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra=extra, + ) + return await self._get("/events", params=params, expand=expand) + + async def get_event( + self, event_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/events/{event_id}", expand=expand) + + async def list_webhook_endpoints( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + ) + return await self._get( + "/webhook_endpoints", params=params, expand=expand + ) + + async def get_webhook_endpoint( + self, endpoint_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get( + f"/webhook_endpoints/{endpoint_id}", expand=expand + ) + + async def create_webhook_endpoint( + self, + *, + url: str, + enabled_events: List[str], + description: Optional[str] = None, + connect: Optional[bool] = None, + api_version: Optional[str] = None, + metadata: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + payload = { + "url": url, + "enabled_events": enabled_events, + "description": description, + "connect": connect, + "api_version": api_version, + "metadata": metadata, + } + return await self._post( + "/webhook_endpoints", + payload=payload, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def update_webhook_endpoint( + self, + endpoint_id: str, + *, + properties: Optional[Dict[str, Any]] = None, + idempotency_key: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + return await self._post( + f"/webhook_endpoints/{endpoint_id}", + payload=properties or {}, + expand=expand, + idempotency_key=idempotency_key, + ) + + async def delete_webhook_endpoint(self, endpoint_id: str) -> Result: + return await self._delete(f"/webhook_endpoints/{endpoint_id}") + + # =============================================================== + # Files (multipart upload — separate host) + # =============================================================== + + async def upload_file( + self, + file_path: str, + *, + purpose: str, # dispute_evidence | identity_document | business_logo | … + link_create: Optional[bool] = None, + link_expires_at: Optional[int] = None, + ) -> Result: + if not os.path.isfile(file_path): + return {"error": f"file not found: {file_path}"} + cred = self._load() + with open(file_path, "rb") as fh: + blob = fh.read() + files = { + "file": (os.path.basename(file_path), blob), + } + data: Dict[str, Any] = {"purpose": purpose} + if link_create is not None: + data["file_link_data[create]"] = "true" if link_create else "false" + if link_expires_at is not None: + data["file_link_data[expires_at]"] = str(link_expires_at) + # Multipart goes to the files host, not the main API host. + return await arequest( + "POST", + f"{STRIPE_FILES_API}/files", + headers={ + "Authorization": f"Bearer {cred.api_key}", + "Stripe-Version": STRIPE_API_VERSION, + }, + data=data, + files=files, + expected=(200, 201), + ) + + async def get_file( + self, file_id: str, *, expand: Optional[List[str]] = None + ) -> Result: + return await self._get(f"/files/{file_id}", expand=expand) + + async def list_files( + self, + *, + limit: int = 10, + starting_after: Optional[str] = None, + ending_before: Optional[str] = None, + purpose: Optional[str] = None, + expand: Optional[List[str]] = None, + ) -> Result: + params = self._list_params( + limit=limit, + starting_after=starting_after, + ending_before=ending_before, + extra={"purpose": purpose}, + ) + return await self._get("/files", params=params, expand=expand) From ef24f07d76e092df5ba22ecb5a7cf525c0625fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=AF=E3=82=8B?= <165422770+ahmad-ajmal@users.noreply.github.com> Date: Mon, 15 Jun 2026 03:43:59 +0100 Subject: [PATCH 07/24] Improvement/durable workflow execution (#328) * Durable trigger store * all trigger producers migrated to emit with defined types * Session Router, queue routing * Irreversible actions * retries and backoffs --- agent_core/core/action/action.py | 8 + agent_core/core/action_framework/registry.py | 12 + agent_core/core/impl/action/idempotency.py | 66 ++ agent_core/core/impl/action/manager.py | 61 ++ agent_core/core/impl/trigger/listener.py | 40 ++ agent_core/core/impl/trigger/queue.py | 405 +++--------- agent_core/core/protocols/trigger.py | 8 - agent_core/core/trigger.py | 8 + app/agent_base.py | 577 ++++++++---------- .../integrations/discord/discord_actions.py | 4 + .../google_workspace/gmail_actions.py | 5 + .../google_youtube_actions.py | 1 + .../integrations/hubspot/hubspot_actions.py | 2 + .../action/integrations/lark/lark_actions.py | 10 + .../action/integrations/line/line_actions.py | 12 + .../integrations/linkedin/linkedin_actions.py | 2 + .../integrations/outlook/outlook_actions.py | 5 + .../integrations/slack/slack_actions.py | 2 + .../integrations/telegram/telegram_actions.py | 20 + .../integrations/twitter/twitter_actions.py | 6 + .../integrations/whatsapp/whatsapp_actions.py | 5 + app/data/action/schedule_task.py | 48 +- app/data/action/send_message.py | 1 + .../action/send_message_with_attachment.py | 1 + app/living_ui/manager.py | 85 ++- app/scheduler/manager.py | 136 ++++- app/triggers/__init__.py | 30 + app/triggers/activity_log.py | 330 ++++++++++ app/triggers/router.py | 283 +++++++++ app/triggers/service.py | 412 +++++++++++++ app/triggers/sources.py | 73 +++ app/triggers/store.py | 494 +++++++++++++++ app/ui_layer/adapters/browser_adapter.py | 76 +-- app/ui_layer/controller/ui_controller.py | 22 +- app/usage/session_storage.py | 4 +- scripts/peek_durable_state.py | 57 ++ tests/e2e/_harness/helpers.py | 11 +- tests/test_activity_log.py | 137 +++++ tests/test_trigger_lifecycle_polish.py | 187 ++++++ tests/test_trigger_router_and_parking.py | 163 +++++ tests/test_trigger_service.py | 341 +++++++++++ tests/test_trigger_sources.py | 110 ++++ tests/test_trigger_store.py | 189 ++++++ 43 files changed, 3647 insertions(+), 802 deletions(-) create mode 100644 agent_core/core/impl/action/idempotency.py create mode 100644 agent_core/core/impl/trigger/listener.py create mode 100644 app/triggers/__init__.py create mode 100644 app/triggers/activity_log.py create mode 100644 app/triggers/router.py create mode 100644 app/triggers/service.py create mode 100644 app/triggers/sources.py create mode 100644 app/triggers/store.py create mode 100644 scripts/peek_durable_state.py create mode 100644 tests/test_activity_log.py create mode 100644 tests/test_trigger_lifecycle_polish.py create mode 100644 tests/test_trigger_router_and_parking.py create mode 100644 tests/test_trigger_service.py create mode 100644 tests/test_trigger_sources.py create mode 100644 tests/test_trigger_store.py diff --git a/agent_core/core/action/action.py b/agent_core/core/action/action.py index 70154357..c797b521 100644 --- a/agent_core/core/action/action.py +++ b/agent_core/core/action/action.py @@ -61,6 +61,7 @@ def __init__( requirements: Optional[List[str]] = None, timeout: Optional[int] = None, parallelizable: bool = True, + irreversible: bool = False, ): """ Initialize a new Action definition. @@ -101,6 +102,10 @@ def __init__( parallelizable: Whether this action can be executed in parallel with others. Defaults to True. Set to False for write operations, GUI actions, state changes, send_message, etc. + irreversible: Whether the action's side effect cannot be undone once + it reaches the outside world (send email/message, post publicly). + Irreversible actions are guarded by the activity ledger so a + completed run is never silently re-executed after a crash. """ self.name = name self.description = description @@ -125,6 +130,7 @@ def __init__( self.requirements = requirements or [] self.timeout = timeout if timeout is not None else self.DEFAULT_TIMEOUT self.parallelizable = parallelizable + self.irreversible = irreversible @property def display_name(self) -> str: @@ -168,6 +174,7 @@ def to_dict(self) -> Dict[str, Any]: "requirements": self.requirements, "timeout": self.timeout, "parallelizable": self.parallelizable, + "irreversible": self.irreversible, } @classmethod @@ -211,6 +218,7 @@ def from_dict(cls, data: Dict[str, Any]) -> "Action": requirements=data.get("requirements", []), timeout=data.get("timeout"), parallelizable=data.get("parallelizable", True), + irreversible=data.get("irreversible", False), ) return data_to_return diff --git a/agent_core/core/action_framework/registry.py b/agent_core/core/action_framework/registry.py index b417d65e..a8e95aa6 100644 --- a/agent_core/core/action_framework/registry.py +++ b/agent_core/core/action_framework/registry.py @@ -74,6 +74,11 @@ class ActionMetadata: # Whether this action can be executed in parallel with other actions. # Set to False for: write operations, GUI actions, state changes, send_message, etc. parallelizable: bool = True + # Whether this action's side effect cannot be undone once it reaches the + # outside world (send email/message, post publicly). Irreversible actions + # are guarded by the activity ledger: intent is recorded + # before execution and a completed run is never silently re-executed. + irreversible: bool = False @property def display_name(self) -> str: @@ -264,6 +269,7 @@ def _get_action_as_json(self, platform_impls) -> Dict[str, Any]: "code": main_code_str, "platform_overrides": {}, "parallelizable": meta.parallelizable, + "irreversible": meta.irreversible, } # 3. Handle Platform Overrides @@ -405,6 +411,7 @@ def action( test_payload: Optional[Dict[str, Any]] = None, action_sets: Optional[List[str]] = None, parallelizable: bool = True, + irreversible: bool = False, ): """ Decorator used by developers to register functions as actions. @@ -425,6 +432,10 @@ def action( (e.g., ["file_operations", "core"]) parallelizable: Whether this action can run in parallel with others. Set to False for write operations, GUI actions, state changes, etc. + irreversible: Whether the action's side effect cannot be undone once + it reaches the outside world (send email/message, post + publicly). Guarded by the activity ledger: a completed + run is never silently re-executed after a crash. """ # Normalize platforms input to a list of lowercase strings if platforms is None: @@ -449,6 +460,7 @@ def decorator_factory(func: Callable): test_payload=test_payload, action_sets=action_sets or [], parallelizable=parallelizable, + irreversible=irreversible, ) # 2. Create the full registration object diff --git a/agent_core/core/impl/action/idempotency.py b/agent_core/core/impl/action/idempotency.py new file mode 100644 index 00000000..0d1739fa --- /dev/null +++ b/agent_core/core/impl/action/idempotency.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +""" +core.impl.action.idempotency + +Idempotency guard protocol for irreversible actions. + +Actions flagged ``irreversible=True`` (send email/message, post publicly) +have a real crash window today: the side effect happens first, the +``action_end`` record is persisted after. A crash in between leaves the +effect done with no durable record — and on resume the LLM, re-reading the +event stream, sees no completion and may re-execute it. + +The guard turns "did this already run?" into a hard database check: + +- ``begin()`` is called BEFORE execution. It durably records intent and + decides: proceed (fresh work), short-circuit with the stored output + (this exact run already completed), or refuse with a warning (a previous + attempt was interrupted and the side effect MAY have happened — verify + or confirm with the user instead of blindly re-sending). +- ``complete()`` is called AFTER execution with the outcome. + +The implementation (the activity ledger on sessions.db) lives in the app +layer; ActionManager only knows this protocol. +""" + +from __future__ import annotations + +from dataclasses import dataclass +from typing import Any, Dict, Optional, Protocol, runtime_checkable + + +@dataclass +class GuardDecision: + """begin()'s verdict for one irreversible action execution.""" + + proceed: bool + idem_key: Optional[str] = None + # Set when this exact run already completed: returned as the action's + # output instead of re-executing the side effect. + stored_output: Optional[Dict[str, Any]] = None + # Set when a previous attempt was interrupted mid-flight: a warning the + # LLM sees as the action result instead of a blind re-execution. + note: Optional[str] = None + + +@runtime_checkable +class IdempotencyGuard(Protocol): + """Pre/post execution hooks for irreversible actions.""" + + def begin( + self, + action_name: str, + input_data: Dict[str, Any], + session_id: Optional[str], + ) -> GuardDecision: + """Record intent durably and decide whether execution may proceed.""" + ... + + def complete( + self, + idem_key: str, + status: str, + outputs: Optional[Dict[str, Any]], + ) -> None: + """Record the outcome of an execution begin() allowed.""" + ... diff --git a/agent_core/core/impl/action/manager.py b/agent_core/core/impl/action/manager.py index 7f11eaf2..ec0c5db4 100644 --- a/agent_core/core/impl/action/manager.py +++ b/agent_core/core/impl/action/manager.py @@ -28,6 +28,7 @@ from agent_core.core.protocols.context import ContextEngineProtocol from agent_core.core.protocols.state import StateManagerProtocol from agent_core.core.impl.action.executor import ActionExecutor +from agent_core.core.impl.action.idempotency import IdempotencyGuard from agent_core.utils.logger import logger # ============================================================================ @@ -120,6 +121,7 @@ def __init__( on_action_start: Optional[OnActionStartHook] = None, on_action_end: Optional[OnActionEndHook] = None, get_parent_id: Optional[GetParentIdHook] = None, + idempotency_guard: Optional["IdempotencyGuard"] = None, ): """ Build an ActionManager that can execute and track actions. @@ -134,6 +136,10 @@ def __init__( on_action_start: Optional hook called when action starts. on_action_end: Optional hook called when action ends. get_parent_id: Optional hook to resolve parent_id from task context. + idempotency_guard: Optional guard consulted before/after actions + flagged ``irreversible=True``: records intent + before the side effect and prevents a completed run from + being silently re-executed after a crash. """ self.action_library = action_library self.llm_interface = llm_interface @@ -150,6 +156,7 @@ def __init__( self._on_action_start = on_action_start self._on_action_end = on_action_end self._get_parent_id = get_parent_id + self._idempotency_guard = idempotency_guard def _generate_unique_session_id(self) -> str: """Generate a unique 6-character session ID. @@ -234,6 +241,50 @@ async def execute_action( input_data["_session_id"] = session_id logger.debug(f"[INPUT DATA] {input_data}") + + # ── Idempotency guard for irreversible actions ── + # BEFORE the side effect: record intent durably, and refuse to + # re-execute work the ledger shows as already completed (or as + # interrupted mid-flight, where the effect may have happened). + idem_key = None + if getattr(action, "irreversible", False) and self._idempotency_guard: + try: + decision = self._idempotency_guard.begin( + action.name, input_data, session_id + ) + except Exception as exc: + logger.warning(f"Idempotency guard begin() failed: {exc}") + decision = None + if decision is not None: + idem_key = decision.idem_key + if not decision.proceed: + if decision.stored_output is not None: + skip_outputs = decision.stored_output + skip_message = ( + f"Action {action.name} skipped — an identical run " + f"already completed; returning its stored output." + ) + else: + skip_outputs = { + "status": "error", + "error": decision.note, + "error_code": "irreversible_uncertain", + } + skip_message = ( + f"Action {action.name} blocked — a previous " + f"attempt was interrupted and its side effect may " + f"already have happened. See the action output." + ) + self._log_event_stream( + is_gui_task=is_gui_task, + event_type="action_end", + event=skip_message, + display_message=f"{action.display_name} → skipped (idempotent)", + action_name=action.name, + session_id=session_id, + ) + return skip_outputs + run_id = str(uuid.uuid4()) started_at = datetime.utcnow().isoformat() @@ -365,6 +416,16 @@ async def execute_action( ended_at = datetime.utcnow().isoformat() + # ── Idempotency guard: record the outcome durably ── + # AFTER the side effect, BEFORE anything that could fail below — a + # crash between the side effect and this line is the §4.2 window the + # ledger exists to shrink. + if idem_key and self._idempotency_guard: + try: + self._idempotency_guard.complete(idem_key, status, outputs) + except Exception as exc: + logger.warning(f"Idempotency guard complete() failed: {exc}") + # Re-resolve parent_id after execution if hook provided if not parent_id and self._get_parent_id: parent_id = self._get_parent_id() diff --git a/agent_core/core/impl/trigger/listener.py b/agent_core/core/impl/trigger/listener.py new file mode 100644 index 00000000..09703675 --- /dev/null +++ b/agent_core/core/impl/trigger/listener.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +""" +core.impl.trigger.listener + +Lifecycle listener protocol for TriggerQueue. + +The queue is an in-memory ordering primitive; when it discards triggers +(same-session "prefer newest" replacement, session removal, full clear) a +durable store layered on top must be told so the corresponding rows are +settled instead of silently resurrecting on the next rehydration. The queue +only knows this protocol — the store implementation lives in the app layer. +""" + +from __future__ import annotations + +from typing import List, Optional, Protocol, runtime_checkable + +from agent_core.core.trigger import Trigger + + +@runtime_checkable +class TriggerLifecycleListener(Protocol): + """Receives notifications when the queue discards triggers. + + Implementations must be synchronous and non-raising; the queue calls + them while holding its internal lock. + """ + + def on_evicted( + self, evicted: List[Trigger], replacement: Optional[Trigger] + ) -> None: + """Triggers were removed from the queue without being consumed. + + Args: + evicted: The discarded triggers. + replacement: The newer same-session trigger that superseded them, + or None when they were removed outright (session cleanup, + queue clear). + """ + ... diff --git a/agent_core/core/impl/trigger/queue.py b/agent_core/core/impl/trigger/queue.py index 54bed65f..6fd0d0e5 100644 --- a/agent_core/core/impl/trigger/queue.py +++ b/agent_core/core/impl/trigger/queue.py @@ -2,29 +2,35 @@ """ core.impl.trigger.queue -TriggerQueue implementation - manages agent trigger events with priority ordering. +TriggerQueue implementation - in-memory ordering primitive for triggers. + +The queue holds due-time-ordered triggers and hands them to the single +consumer loop. It is deliberately dumb: + +- Durability lives in the app-layer TriggerStore; the queue reports any + trigger it discards unconsumed through a TriggerLifecycleListener so the + store can settle the corresponding rows. +- Session routing lives at the producer layer (SessionRouter); triggers + arrive here with their session already decided. The pre-#321 in-queue LLM + routing was removed — every producer sets a session_id, so it was dead + code in practice. +- Same-session ordering: a new trigger for a session replaces any queued + one ("prefer newest"), so at most one trigger per session is ever queued. """ from __future__ import annotations import asyncio import heapq -import json import logging import time -from collections import defaultdict, OrderedDict -from typing import Dict, List, Optional, Any, TYPE_CHECKING +from typing import Any, Dict, List, Optional, TYPE_CHECKING from agent_core.decorators import profile, OperationCategory from agent_core.core.trigger import Trigger -from agent_core.core.state import get_state_or_none if TYPE_CHECKING: - from agent_core.core.protocols import LLMInterfaceProtocol, TaskManagerProtocol - from agent_core.core.task import Task - - # TaskManager type alias for backwards compatibility - TaskManager = TaskManagerProtocol + from agent_core.core.impl.trigger.listener import TriggerLifecycleListener # Logging setup try: @@ -41,11 +47,11 @@ class TriggerQueue: def __init__( self, - llm: "LLMInterfaceProtocol", + llm: Any = None, *, route_to_session_prompt: str = "", - task_manager: Optional["TaskManager"] = None, - event_stream_manager: Optional[Any] = None, + task_manager: Any = None, + event_stream_manager: Any = None, ) -> None: """ Initialize a concurrency-safe trigger queue. @@ -56,43 +62,48 @@ def __init__( loops can await triggers without busy waiting. Args: - llm: Interface used to resolve conflicts between competing triggers - for the same session. - route_to_session_prompt: Prompt template for routing triggers to sessions. - Should contain {item_type}, {item_content}, {existing_sessions}, - {source_platform}, and {conversation_id} placeholders. - task_manager: Optional task manager for accessing task details during routing. - event_stream_manager: Optional event stream manager for accessing recent events. + llm: Deprecated, ignored. In-queue LLM routing was removed + ; routing happens at the producer layer. + route_to_session_prompt: Deprecated, ignored. + task_manager: Deprecated, ignored. + event_stream_manager: Deprecated, ignored. """ + if llm is not None or route_to_session_prompt: + logger.debug( + "[TRIGGER QUEUE] llm/route_to_session_prompt are deprecated " + "and ignored — routing moved to the producer layer" + ) self._heap: List[Trigger] = [] self._active: Dict[ str, Trigger ] = {} # Triggers being processed (session_id -> trigger) self._cv = asyncio.Condition() - self.llm = llm - self._route_to_session_prompt = route_to_session_prompt - self._task_manager = task_manager - self._event_stream_manager = event_stream_manager + self._lifecycle_listener: Optional["TriggerLifecycleListener"] = None - def set_task_manager(self, task_manager: Optional["TaskManager"]) -> None: - """Set the task manager for accessing task details during routing. + def set_lifecycle_listener( + self, listener: Optional["TriggerLifecycleListener"] + ) -> None: + """Register a listener notified when triggers are discarded unconsumed. - This allows late binding of task_manager when it's created after TriggerQueue. + Used by the durable trigger store to settle rows for triggers the + queue drops (same-session replacement, session removal, clear) so + they don't rehydrate on the next boot. Args: - task_manager: The task manager instance to use for routing context. + listener: The listener, or None to detach. """ - self._task_manager = task_manager - - def set_event_stream_manager(self, event_stream_manager: Optional[Any]) -> None: - """Set the event stream manager for accessing recent events during routing. - - This allows late binding of event_stream_manager when it's created after TriggerQueue. + self._lifecycle_listener = listener - Args: - event_stream_manager: The event stream manager instance. - """ - self._event_stream_manager = event_stream_manager + def _notify_evicted( + self, evicted: List[Trigger], replacement: Optional[Trigger] + ) -> None: + """Notify the lifecycle listener, swallowing listener errors.""" + if not self._lifecycle_listener or not evicted: + return + try: + self._lifecycle_listener.on_evicted(evicted, replacement) + except Exception as e: + logger.warning(f"[TRIGGER QUEUE] Lifecycle listener failed: {e}") # ================================================================= # Pretty Printer for Debugging @@ -119,47 +130,6 @@ def _print_queue(self, label: str) -> None: ) logger.debug("=" * 70 + "\n") - def create_event_stream_state(self) -> str: - """Return formatted event stream content for trigger comparison.""" - state = get_state_or_none() - event_stream = state.event_stream if state else None - if event_stream: - return ( - "Use the event stream to understand the current situation, past agent actions to craft the input parameters:\nEvent stream (oldest to newest):" - f"\n{event_stream}" - ) - return "" - - def create_task_state(self) -> str: - """Return formatted task/plan context for trigger comparison.""" - state = get_state_or_none() - current_task: Optional["Task"] = state.current_task if state else None - if current_task: - # Format task in LLM-friendly way (matching context_engine format) - lines = [ - "", - f"Task: {current_task.name}", - f"Instruction: {current_task.instruction}", - "", - "Todos:", - ] - - if current_task.todos: - for todo in current_task.todos: - if todo.status == "completed": - checkbox = "[x]" - elif todo.status == "in_progress": - checkbox = "[>]" - else: - checkbox = "[ ]" - lines.append(f"{checkbox} {todo.content}") - else: - lines.append("(no todos yet)") - - lines.append("") - return "\n".join(lines) - return "" - async def clear(self) -> None: """ Remove all pending and active triggers from the queue. @@ -169,201 +139,34 @@ async def clear(self) -> None: changed. """ async with self._cv: + discarded = list(self._heap) + list(self._active.values()) self._heap.clear() self._active.clear() + self._notify_evicted(discarded, None) self._cv.notify_all() # ================================================================= # PUT # ================================================================= - def _format_sessions_for_routing( - self, - running_tasks: List["Task"], - event_stream_manager: Optional[Any] = None, - ) -> str: - """Format running tasks with rich context for routing prompt. - - Args: - running_tasks: List of currently running tasks from TaskManager - event_stream_manager: Optional event stream manager to retrieve recent events - - Returns: - Formatted string with session context for routing decision - """ - if not running_tasks: - return "No existing sessions." - - sections = [] - for i, task in enumerate(running_tasks, 1): - # Check waiting_for_user_reply state on task - is_waiting = getattr(task, "waiting_for_user_reply", False) - status = "WAITING FOR REPLY" if is_waiting else "ACTIVE" - - lines = [ - f"--- Session {i} ---", - f"Session ID: {task.id}", - f"Status: {status}", - f'Task Name: "{task.name}"', - f'Original Request: "{task.instruction}"', - f"Mode: {task.mode}", - f"Created: {task.created_at}", - ] - - # Todo progress - if task.todos: - completed = sum(1 for t in task.todos if t.status == "completed") - in_progress_todo = next( - (t for t in task.todos if t.status == "in_progress"), None - ) - lines.append(f"Progress: {completed}/{len(task.todos)} todos completed") - if in_progress_todo: - lines.append(f'Currently working on: "{in_progress_todo.content}"') - - # Get recent events from event stream for this task - if event_stream_manager and task.id: - try: - stream = event_stream_manager.get_stream_by_id(task.id) - if stream and stream.tail_events: - # Get last 10 events for better routing context - recent_events = stream.tail_events[-10:] - lines.append("Recent Activity:") - for rec in recent_events: - lines.append(f" - {rec.compact_line()}") - except Exception: - pass # Gracefully handle if event stream not available - - # Add platform/conversation info if available - platform = getattr(task, "platform", "default") - conversation_id = getattr(task, "conversation_id", "N/A") - lines.append(f"Platform: {platform}") - lines.append(f"Conversation ID: {conversation_id}") - - sections.append("\n".join(lines)) - - return "\n\n".join(sections) - @profile("trigger_queue_put", OperationCategory.TRIGGER) async def put(self, trig: Trigger, skip_merge: bool = False) -> None: """ - Insert a trigger into the queue, optionally merging with existing session triggers. + Insert a trigger into the queue, replacing queued same-session triggers. - When a trigger arrives for a session that already has queued work, the - method consults the LLM to generate a new session identifier that - represents the preferred trigger. Existing triggers for that session - are removed so the freshest trigger wins. + When a trigger arrives for a session that already has queued work, + the existing triggers are replaced ("prefer newest") and reported to + the lifecycle listener as superseded. Args: trig: Trigger instance describing when and why the agent should act. - skip_merge: If True, skip LLM-based trigger merging. Use for system - triggers that should not be merged with user triggers. + skip_merge: Deprecated, ignored — kept for call-site compatibility. + (It previously skipped the in-queue LLM routing, which was + removed; same-session replacement was always unconditional.) """ - logger.debug( - f"\n[PUT] Incoming trigger for session={trig.session_id} (skip_merge={skip_merge})" - ) + logger.debug(f"\n[PUT] Incoming trigger for session={trig.session_id}") self._print_queue("BEFORE PUT") - # Get running tasks from TaskManager (the source of truth for active sessions) - # This includes tasks being processed (trigger consumed) AND tasks with queued triggers - running_tasks: List["Task"] = [] - if self._task_manager: - running_tasks = [ - t for t in self._task_manager.tasks.values() if t.status == "running" - ] - - # Skip LLM routing if: - # 1. Trigger already has a session_id assigned (proceed with that session) - # 2. skip_merge is True (already routed at message handler level) - # 3. System triggers (memory_processing, task_execution, scheduled) - trigger_type = trig.payload.get("type", "") - is_system_trigger = trigger_type in ( - "memory_processing", - "task_execution", - "scheduled", - ) - has_session_id = trig.session_id is not None and trig.session_id != "" - - if has_session_id: - logger.debug( - f"[PUT] Trigger already has session_id={trig.session_id}, skipping LLM routing" - ) - elif ( - len(running_tasks) > 0 - and not skip_merge - and not is_system_trigger - and self._route_to_session_prompt - ): - # Use unified routing prompt with rich task context from running tasks - existing_sessions = self._format_sessions_for_routing( - running_tasks, - event_stream_manager=self._event_stream_manager, - ) - - # Build recent conversation context for routing - recent_conversation = "No recent conversation history." - if self._event_stream_manager: - recent_msgs = ( - self._event_stream_manager.get_recent_conversation_messages( - limit=10 - ) - ) - if recent_msgs: - conv_lines = [] - for evt in recent_msgs: - ts = ( - evt.ts.strftime("%Y-%m-%d %H:%M:%S") - if evt.ts - else "unknown" - ) - conv_line = f"[{ts}] [{evt.kind}]: {evt.message}" - if len(conv_line) > 300: - conv_line = conv_line[:297] + "..." - conv_lines.append(conv_line) - recent_conversation = "\n".join(conv_lines) - - # Format prompt with available placeholders - usr_msg = self._route_to_session_prompt.format( - item_type="trigger", - item_content=trig.next_action_description, - source_platform=trig.payload.get("platform", "default"), - conversation_id=trig.payload.get("conversation_id", "N/A"), - existing_sessions=existing_sessions, - recent_conversation=recent_conversation, - current_living_ui_id=trig.payload.get("living_ui_id") - or "(not on a Living UI page)", - ) - - logger.debug(f"[UNIFIED ROUTING PROMPT]:\n{usr_msg}") - response = await self.llm.generate_response_async( - system_prompt="You are a session routing system.", - user_prompt=usr_msg, - ) - logger.debug(f"[UNIFIED ROUTING RESPONSE]: {response}") - - # Parse routing response - try: - routing_result = json.loads(response) - action = routing_result.get("action", "route") - - if action == "route": - matched_session_id = routing_result.get("session_id", "new") - else: # action == "new" or unknown - matched_session_id = "new" - except (json.JSONDecodeError, TypeError): - logger.error("[PUT] Failed to parse routing response JSON") - matched_session_id = "new" - - # Update the incoming trigger's session ID based on routing result - if matched_session_id != "new": - trig.session_id = matched_session_id - logger.debug(f"[PUT] Routed to existing session: {matched_session_id}") - else: - logger.debug("[PUT] Creating new session (no match found)") - else: - logger.debug( - f"[PUT] Skipping LLM routing (no_running_tasks={len(running_tasks) == 0}, skip_merge={skip_merge}, is_system={is_system_trigger})" - ) - async with self._cv: # find all triggers in heap with same session_id same = [t for t in self._heap if t.session_id == trig.session_id] @@ -375,6 +178,10 @@ async def put(self, trig: Trigger, skip_merge: bool = False) -> None: # Remove ALL old triggers for this session self._heap = [t for t in self._heap if t.session_id != trig.session_id] + # Tell the durable store the old triggers were superseded so + # their rows are settled (not silently dropped / rehydrated). + self._notify_evicted(same, trig) + # NEW BEHAVIOUR: prefer new → push new trigger only heapq.heappush(self._heap, trig) @@ -398,14 +205,16 @@ async def get(self) -> Trigger: """ Retrieve the next trigger to execute, waiting until one is ready. - The method drains all triggers that are ready to fire, merges triggers - belonging to the same session, and returns the highest-priority - combined trigger. If no trigger is ready, it waits until either the - earliest trigger's ``fire_at`` time arrives or a producer notifies the - condition. + Pops the highest-priority due trigger. If no trigger is ready, waits + until either the earliest trigger's ``fire_at`` time arrives or a + producer notifies the condition. + + Same-session replacement in put() guarantees at most one queued + trigger per session, so no cross-trigger merging is needed here + (the pre-#321 merge machinery was removed with that invariant). Returns: - The next merged :class:`Trigger` ready for execution. + The next :class:`Trigger` ready for execution. """ logger.debug("\n[GET] CALLED") self._print_queue("QUEUE BEFORE GET") @@ -421,25 +230,22 @@ async def get(self) -> Trigger: if ready: logger.debug(f"[GET] {len(ready)} trigger(s) are ready") - self._print_queue("READY BEFORE MERGE (GET)") - - merged_ready = self._merge_ready_triggers(ready) - merged_ready.sort(key=lambda t: (t.priority, t.fire_at)) - trig = merged_ready.pop(0) + ready.sort(key=lambda t: (t.priority, t.fire_at)) + trig = ready.pop(0) logger.info( f"[TRIGGER FIRED] session={trig.session_id} | desc={trig.next_action_description}" ) # requeue leftover - for t in merged_ready: + for t in ready: heapq.heappush(self._heap, t) # Track as active so fire() can find it while processing if trig.session_id: self._active[trig.session_id] = trig - self._print_queue("QUEUE AFTER GET (POST-MERGE)") + self._print_queue("QUEUE AFTER GET") return trig # wait for next trigger @@ -560,10 +366,14 @@ async def remove_sessions(self, session_ids: list[str]) -> None: if not session_ids: return async with self._cv: + removed = [t for t in self._heap if t.session_id in session_ids] self._heap = [t for t in self._heap if t.session_id not in session_ids] - # Also remove from active triggers + # Also remove from active triggers. Active triggers are NOT + # reported as evicted — the consumer still holds them and will + # ack/nack when its react cycle finishes. for sid in session_ids: self._active.pop(sid, None) + self._notify_evicted(removed, None) heapq.heapify(self._heap) self._cv.notify_all() @@ -610,58 +420,3 @@ def pop_pending_user_message( ) return message, platform - - # ================================================================= - # MERGE HELPERS - # ================================================================= - def _merge_ready_triggers(self, ready: List[Trigger]) -> List[Trigger]: - grouped = defaultdict(list) - for trig in ready: - grouped[trig.session_id].append(trig) - - result = [] - for session_id, triggers in grouped.items(): - logger.debug( - f"[MERGE READY] Merging {len(triggers)} triggers for session={session_id}" - ) - result.append(self._merge_trigger_group(session_id, triggers)) - - return result - - def _merge_trigger_group( - self, session_id: Optional[str], triggers: List[Trigger] - ) -> Trigger: - logger.debug(f"[MERGE GROUP] session={session_id}, count={len(triggers)}") - triggers.sort(key=lambda t: (t.priority, t.fire_at)) - - combined_payload: Dict[str, Any] = {} - combined_desc: OrderedDict[str, None] = OrderedDict() - priority = triggers[0].priority - fire_at = triggers[0].fire_at - - for trig in triggers: - priority = min(priority, trig.priority) - fire_at = min(fire_at, trig.fire_at) - - desc = (trig.next_action_description or "").strip() - if desc and desc not in combined_desc: - combined_desc[desc] = None - - combined_payload.update(trig.payload) - - merged_desc = ( - "\n\n".join(combined_desc.keys()) or triggers[0].next_action_description - ) - - merged = Trigger( - fire_at=fire_at, - priority=priority, - next_action_description=merged_desc, - payload=combined_payload, - session_id=session_id, - ) - - logger.debug( - f"[MERGE RESULT] session={session_id}, fire_at={fire_at}, priority={priority}" - ) - return merged diff --git a/agent_core/core/protocols/trigger.py b/agent_core/core/protocols/trigger.py index 4ae417fd..aaf6f3f6 100644 --- a/agent_core/core/protocols/trigger.py +++ b/agent_core/core/protocols/trigger.py @@ -41,11 +41,3 @@ async def remove_sessions(self, session_ids: List[str]) -> None: async def clear(self) -> None: """Remove all pending triggers from the queue.""" ... - - def create_event_stream_state(self) -> str: - """Return formatted event stream content.""" - ... - - def create_task_state(self) -> str: - """Return formatted task/plan context.""" - ... diff --git a/agent_core/core/trigger.py b/agent_core/core/trigger.py index 55d7f532..09fabb8a 100644 --- a/agent_core/core/trigger.py +++ b/agent_core/core/trigger.py @@ -27,6 +27,12 @@ class Trigger: session_id: Optional session identifier for multi-user scenarios. waiting_for_reply: Whether this trigger is waiting for a user response (used by CraftBot for multi-user chat scenarios). + id: Durable-store row id when this trigger is backed by a TriggerStore + row; None for in-memory-only triggers. Claim/ack/nack operate on + this id (the queue holds at most one trigger per session, so one + trigger maps to exactly one row). + source: Typed origin of the trigger (TriggerSource value); empty for + producers that haven't been migrated to TriggerService. """ fire_at: float @@ -35,3 +41,5 @@ class Trigger: payload: Dict[str, Any] = field(default_factory=dict, compare=False) session_id: Optional[str] = field(default=None, compare=False) waiting_for_reply: bool = field(default=False, compare=False) + id: Optional[int] = field(default=None, compare=False) + source: str = field(default="", compare=False) diff --git a/app/agent_base.py b/app/agent_base.py index 0fb6bada..acd657b3 100644 --- a/app/agent_base.py +++ b/app/agent_base.py @@ -30,7 +30,7 @@ import uuid import json from dataclasses import dataclass -from typing import Any, Awaitable, Callable, Dict, Iterable, List, Optional +from typing import Awaitable, Callable, Dict, Iterable, Optional from agent_core import ActionLibrary, ActionManager, ActionRouter from agent_core import settings_manager, config_watcher @@ -87,6 +87,14 @@ from app.state.state_manager import StateManager from app.state.agent_state import STATE from app.trigger import Trigger, TriggerQueue +from app.triggers import ( + SessionRouter, + TriggerService, + TriggerSource, + TriggerSpec, + TriggerStore, + resume_dedup_key, +) from app.prompt import ROUTE_TO_SESSION_PROMPT from app.state.types import ReasoningResult from agent_core.core.task import Task @@ -257,7 +265,14 @@ def __init__( # action & task layers self.action_library = ActionLibrary(self.llm, db_interface=self.db_interface) - self.triggers = TriggerQueue( + self.triggers = TriggerQueue() + + self.trigger_store = TriggerStore() + self.trigger_service = TriggerService(self.trigger_store, self.triggers) + + # The single session-routing implementation (Phase 3): consulted by + # the chat handler only, after the message is durably parked. + self.session_router = SessionRouter( llm=self.llm, route_to_session_prompt=ROUTE_TO_SESSION_PROMPT, ) @@ -267,6 +282,13 @@ def __init__( self.context_engine = ContextEngine(state_manager=self.state_manager) self.context_engine.set_role_info_hook(self._generate_role_info_prompt) + # Idempotency guard: actions flagged + # irreversible=True record intent to the activity ledger before the + # side effect and their completed runs are never silently re-executed + # after a crash — "did this already run?" is a database check. + from app.triggers.activity_log import ActivityLogGuard, get_activity_log + + self.activity_log = get_activity_log() self.action_manager = ActionManager( self.action_library, self.llm, @@ -274,6 +296,7 @@ def __init__( self.event_stream_manager, self.context_engine, self.state_manager, + idempotency_guard=ActivityLogGuard(self.activity_log), ) self.action_router = ActionRouter( self.action_library, self.llm, self.context_engine @@ -296,9 +319,12 @@ def __init__( # Bind task_manager so state_manager can look up tasks by session_id self.state_manager.bind_task_manager(self.task_manager) - # Bind task_manager and event_stream_manager to trigger queue for rich routing context - self.triggers.set_task_manager(self.task_manager) - self.triggers.set_event_stream_manager(self.event_stream_manager) + # Bind task_manager and event_stream_manager to the router for rich + # routing context (the queue no longer routes — Phase 3). + self.session_router.bind( + task_manager=self.task_manager, + event_stream_manager=self.event_stream_manager, + ) # Set _interface_mode early so context_engine.make_prompt() works during restore # (will be updated again in run() based on selected interface) @@ -603,8 +629,6 @@ async def _process_memory_at_startup(self) -> None: processing trigger if needed. The trigger goes through normal processing flow which creates the task and executes it. """ - import time - # Check if memory is enabled if not is_memory_enabled(): logger.info("[MEMORY] Memory is disabled, skipping startup processing") @@ -635,17 +659,18 @@ async def _process_memory_at_startup(self) -> None: ) # Fire a memory_processing trigger (not scheduled, so won't reschedule) - trigger = Trigger( - fire_at=time.time(), - priority=50, - next_action_description="Process unprocessed events into long-term memory (startup)", - payload={ - "type": "memory_processing", - "scheduled": False, # Don't reschedule after this - }, - session_id="memory_processing_startup", + await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.MEMORY, + description="Process unprocessed events into long-term memory (startup)", + priority=50, + payload={ + "type": "memory_processing", + "scheduled": False, # Don't reschedule after this + }, + session_id="memory_processing_startup", + ) ) - await self.triggers.put(trigger) except Exception as e: logger.warning(f"[MEMORY] Failed to process memory at startup: {e}") @@ -739,14 +764,17 @@ async def _handle_memory_processing_trigger(self) -> bool: # Queue trigger to start the task. Lock is now owned by the task and # will be released by TaskManager when the task ends. - trigger = Trigger( - fire_at=time.time(), - priority=60, - next_action_description="Process unprocessed events into long-term memory", - session_id=task_id, - payload={}, + # Source is TASK_CONTINUATION (not MEMORY): this trigger starts the + # already-created task via the session workflows — a MEMORY source + # would re-enter the memory-request branch in react(). + await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.TASK_CONTINUATION, + description="Process unprocessed events into long-term memory", + priority=60, + session_id=task_id, + ) ) - await self.triggers.put(trigger) logger.info( f"[MEMORY] Queued trigger for memory processing task: {task_id}" ) @@ -813,18 +841,34 @@ async def _initialize_session(self, gui_mode: bool | None, session_id: str) -> N # ----- Mode Checks ----- + # Classification is source-first (typed, set once at emit time), with a + # payload["type"] fallback for triggers from legacy put() producers and + # scheduler-config entries that inject a type via their custom payload. + # The fallback is removed in Phase 5 once nothing produces bare types. + def _is_memory_trigger(self, trigger: Trigger) -> bool: - """Check if trigger is for memory processing.""" - return trigger.payload.get("type") == "memory_processing" + """Check if trigger is a memory-processing request.""" + return ( + trigger.source == TriggerSource.MEMORY + or trigger.payload.get("type") == "memory_processing" + ) def _is_proactive_trigger(self, trigger: Trigger) -> bool: - """Check if trigger is for proactive processing (heartbeat or planner).""" + """Check if trigger is a proactive-processing request (heartbeat or planner).""" + if trigger.source in ( + TriggerSource.PROACTIVE_HEARTBEAT, + TriggerSource.PROACTIVE_PLANNER, + ): + return True trigger_type = trigger.payload.get("type", "") return trigger_type in ("proactive_heartbeat", "proactive_planner") def _is_restart_notice_trigger(self, trigger: Trigger) -> bool: """Check if trigger is the consolidated post-restart notice (issue #280).""" - return trigger.payload.get("type") == "restart_notice" + return ( + trigger.source == TriggerSource.RESTART_NOTICE + or trigger.payload.get("type") == "restart_notice" + ) def _is_gui_task_mode(self, session_id: str | None = None) -> bool: """Check if in GUI task execution mode.""" @@ -911,8 +955,6 @@ async def _handle_proactive_heartbeat(self, frequency: str) -> bool: frequency: Ignored (kept for backward-compat with old configs that still pass a single frequency). """ - import time - # Collect due tasks across ALL frequencies all_due_tasks = self.proactive_manager.get_all_due_tasks() if not all_due_tasks: @@ -943,22 +985,20 @@ async def _handle_proactive_heartbeat(self, frequency: str) -> bool: f"[PROACTIVE] Created unified heartbeat task: {task_id} ({summary})" ) - trigger = Trigger( - fire_at=time.time(), - priority=50, - next_action_description=f"Execute due proactive tasks ({summary})", - session_id=task_id, - payload={}, + await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.TASK_CONTINUATION, + description=f"Execute due proactive tasks ({summary})", + priority=50, + session_id=task_id, + ) ) - await self.triggers.put(trigger) logger.info(f"[PROACTIVE] Queued trigger for heartbeat task: {task_id}") return True async def _handle_proactive_planner(self, scope: str) -> bool: """Create planner task for the given scope (day, week, month).""" - import time - skill_name = f"{scope}-planner" task_id = self.task_manager.create_task( @@ -972,14 +1012,14 @@ async def _handle_proactive_planner(self, scope: str) -> bool: logger.info(f"[PROACTIVE] Created planner task: {task_id} for {scope}") # Queue trigger to start the task - trigger = Trigger( - fire_at=time.time(), - priority=50, - next_action_description=f"Execute {scope} planner task", - session_id=task_id, - payload={}, - ) - await self.triggers.put(trigger) + await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.TASK_CONTINUATION, + description=f"Execute {scope} planner task", + priority=50, + session_id=task_id, + ) + ) logger.info(f"[PROACTIVE] Queued trigger for planner task: {task_id}") return True @@ -1731,16 +1771,17 @@ async def _pause_task_for_limit_choice(self, session_id: str) -> None: # Create a long-delay trigger so the task stays alive try: - await self.triggers.put( - Trigger( + await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.LIMIT_REACHED, + description="Waiting for user decision on limit reached", fire_at=time.time() + 10800, priority=5, - next_action_description="Waiting for user decision on limit reached", session_id=session_id, payload={"gui_mode": STATE.gui_mode}, waiting_for_reply=True, - ), - skip_merge=True, + skip_merge=True, + ) ) except Exception as e: logger.error( @@ -1796,8 +1837,8 @@ async def handle_limit_continue(self, session_id: str) -> None: ) ) - # Fire the trigger to resume execution - await self.triggers.fire(session_id) + # Fire the trigger to resume execution (durably mirrored to the store) + await self.trigger_service.fire(session_id) async def handle_limit_abort(self, session_id: str) -> None: """User chose to abort after reaching limit.""" @@ -1925,18 +1966,20 @@ async def _create_new_trigger(self, new_session_id, action_output, STATE): # simple task = 5, complex task = 7 task_priority = 5 if self.task_manager.is_simple_task() else 7 - # Build and enqueue trigger safely + # Build and enqueue trigger safely. No dedup key: a newer + # continuation supersedes the queued one via session replacement. try: - await self.triggers.put( - Trigger( + await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.TASK_CONTINUATION, + description=next_action_desc, fire_at=fire_at, priority=task_priority, - next_action_description=next_action_desc, session_id=new_session_id, payload=trigger_payload, waiting_for_reply=wait_for_user_reply, - ), - skip_merge=True, # Session is already explicitly set, no LLM merge check needed + skip_merge=True, # Session is already explicitly set, no LLM merge check needed + ) ) except Exception as e: logger.error( @@ -1950,168 +1993,8 @@ async def _create_new_trigger(self, new_session_id, action_output, STATE): ) # ----- Chat Handling ----- - - def _format_sessions_for_routing( - self, active_task_ids: List[str], triggers: Optional[List[Trigger]] = None - ) -> str: - """Format active sessions with rich context for routing prompt. - - Uses active task IDs from state_manager (not just triggers in queue) to ensure - all running tasks are visible for routing decisions. - - Args: - active_task_ids: List of task IDs from state_manager.main_state.active_task_ids - triggers: Optional list of triggers (used to check waiting_for_reply status) - - Returns: - Formatted string with session context for routing decisions. - """ - if not active_task_ids: - return "No existing sessions." - - # Build a lookup of triggers by session_id for waiting_for_reply status - trigger_map = {} - if triggers: - for tr in triggers: - if tr.session_id: - trigger_map[tr.session_id] = tr - - sections = [] - for i, task_id in enumerate(active_task_ids, 1): - task = self.task_manager.tasks.get(task_id) if self.task_manager else None - trigger = trigger_map.get(task_id) - - # Check waiting_for_reply from trigger OR from task state - is_waiting = False - if trigger and trigger.waiting_for_reply: - is_waiting = True - if ( - task - and hasattr(task, "waiting_for_user_reply") - and task.waiting_for_user_reply - ): - is_waiting = True - - status = "WAITING FOR REPLY" if is_waiting else "ACTIVE" - platform = ( - trigger.payload.get("platform", "default") if trigger else "default" - ) - - lines = [ - f"--- Session {i} ---", - f"Session ID: {task_id}", - f"Status: {status}", - ] - - if task: - lines.extend( - [ - f'Task Name: "{task.name}"', - f'Original Request: "{task.instruction}"', - f"Mode: {task.mode}", - f"Created: {task.created_at}", - ] - ) - - # Todo progress - if task.todos: - completed = sum(1 for t in task.todos if t.status == "completed") - in_progress_todo = next( - (t for t in task.todos if t.status == "in_progress"), None - ) - lines.append( - f"Progress: {completed}/{len(task.todos)} todos completed" - ) - if in_progress_todo: - lines.append( - f'Currently working on: "{in_progress_todo.content}"' - ) - - # Get recent events from event stream for this task - if self.event_stream_manager and task_id: - stream = self.event_stream_manager.get_stream_by_id(task_id) - if stream and stream.tail_events: - # Get last 10 events for better routing context - # (5 was insufficient - file creation events were missed) - recent_events = stream.tail_events[-10:] - lines.append("Recent Activity:") - for rec in recent_events: - # Only truncate very long event messages (500+ chars) - # Short truncation caused loss of important context like file paths - event_line = rec.compact_line() - if len(event_line) > 500: - event_line = event_line[:497] + "..." - lines.append(f" - {event_line}") - else: - # Fallback to trigger description if no task found - desc = trigger.next_action_description if trigger else "Unknown task" - lines.append(f'Description: "{desc}"') - - lines.append(f"Platform: {platform}") - - # Add Living UI context if the user is on a Living UI page - living_ui_id = trigger.payload.get("living_ui_id") if trigger else None - if living_ui_id: - lines.append(f"Living UI ID: {living_ui_id}") - try: - from app.living_ui import get_living_ui_manager - - mgr = get_living_ui_manager() - if mgr: - proj = mgr.get_project(living_ui_id) - if proj: - lines.append(f"Living UI Name: {proj.name}") - lines.append(f"Living UI Path: {proj.path}") - lines.append( - f" Read {proj.path}/LIVING_UI.md for app context" - ) - lines.append( - " If debugging issues, FIRST read these logs:" - ) - lines.append( - f" - {proj.path}/backend/logs/subprocess_output.log (crashes, stack traces)" - ) - lines.append( - f" - {proj.path}/backend/logs/frontend_console.log (frontend errors, network failures)" - ) - except Exception: - pass - - sections.append("\n".join(lines)) - - return "\n\n".join(sections) - - def _format_recent_conversation(self, limit: int = 10) -> str: - """Format recent conversation messages for routing context. - - Provides the routing LLM with recent conversation history so it can - recognize messages related to completed tasks that are no longer in - the active sessions list. - - Args: - limit: Maximum number of recent messages to include. - - Returns: - Formatted string of recent conversation messages. - """ - if not self.event_stream_manager: - return "No recent conversation history." - - recent_msgs = self.event_stream_manager.get_recent_conversation_messages( - limit=limit - ) - if not recent_msgs: - return "No recent conversation history." - - lines = [] - for evt in recent_msgs: - ts = evt.ts.strftime("%Y-%m-%d %H:%M:%S") if evt.ts else "unknown" - line = f"[{ts}] [{evt.kind}]: {evt.message}" - if len(line) > 300: - line = line[:297] + "..." - lines.append(line) - - return "\n".join(lines) + # Session routing (LLM decision + context formatting) lives in + # app/triggers/router.py (SessionRouter) as of Phase 3. async def _generate_unique_session_id(self) -> str: """Generate a unique 6-character session ID. @@ -2150,68 +2033,6 @@ async def _generate_unique_session_id(self) -> str: ) return uuid.uuid4().hex - async def _route_to_session( - self, - item_type: str, - item_content: str, - existing_sessions: str, - source_platform: str = "default", - current_living_ui_id: Optional[str] = None, - recent_conversation: str = "(no recent conversation)", - ) -> Dict[str, Any]: - """Route incoming item to appropriate session using unified prompt. - - Args: - item_type: Type of incoming item ("message" or "trigger") - item_content: The content of the message or trigger description - existing_sessions: Formatted string of existing sessions - source_platform: The platform the message came from (e.g., "cli", "gui") - current_living_ui_id: The Living UI page the user is currently viewing, - if any. Used by the prompt to default context-dependent messages - ("fix this", "it's broken") to that Living UI's task while still - allowing explicit cross-Living-UI references to override. - recent_conversation: Formatted recent messages across sessions for - cross-session context (helps disambiguate "and Spanish" style - continuations and references to completed tasks). - - Returns: - Dict with routing decision containing: - - action: "route" | "new" - - session_id: The session to route to (or "new") - - reason: Explanation of the routing decision - """ - prompt = ROUTE_TO_SESSION_PROMPT.format( - item_type=item_type, - item_content=item_content, - source_platform=source_platform, - existing_sessions=existing_sessions, - current_living_ui_id=current_living_ui_id or "(not on a Living UI page)", - recent_conversation=recent_conversation, - ) - - logger.debug(f"[UNIFIED ROUTING PROMPT]:\n{prompt}") - response = await self.llm.generate_response_async( - system_prompt="You are a session routing system.", - user_prompt=prompt, - ) - logger.debug(f"[UNIFIED ROUTING RESPONSE]: {response}") - - try: - result = json.loads(response) - # Ensure action field exists for backward compatibility - if "action" not in result: - result["action"] = ( - "route" if result.get("session_id", "new") != "new" else "new" - ) - return result - except json.JSONDecodeError: - logger.error("[ROUTING] Failed to parse routing response JSON") - return { - "action": "new", - "session_id": "new", - "reason": "Failed to parse routing response", - } - # ───────────────────────────────────────────────────────────────────── # Chat routing helpers # ───────────────────────────────────────────────────────────────────── @@ -2275,7 +2096,10 @@ async def _fire_session( Returns True if the trigger was found and fired, False otherwise. """ - fired = await self.triggers.fire( + # Routed through the service so the attached user message is durably + # persisted before the in-memory retarget — a crash mid-react can no + # longer lose it. + fired = await self.trigger_service.fire( session_id, message=chat_content, platform=platform, @@ -2348,8 +2172,15 @@ async def _create_new_session_trigger( payload: Dict, platform: str, gui_mode: Optional[bool], + parked_row_id: Optional[int] = None, ) -> None: - """Start a new session and queue a trigger to handle this message.""" + """Start a new session and queue a trigger to handle this message. + + Args: + parked_row_id: The durably-parked copy of this message (written + before routing); settled here once the new session's own + trigger row exists. + """ await self.state_manager.start_session(gui_mode) # Prepend Living UI context to the message if the user is on a Living UI page. @@ -2398,18 +2229,22 @@ async def _create_new_session_trigger( if platform and platform.lower() != "craftbot interface": platform_hint = f" from {platform} (reply on {platform}, NOT send_message)" - await self.triggers.put( - Trigger( - fire_at=time.time(), - priority=3, - next_action_description=( + result = await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.USER_MESSAGE, + description=( "Please perform action that best suit this user chat " f"you just received{platform_hint}: {chat_content}" ), + priority=3, session_id=await self._generate_unique_session_id(), payload=trigger_payload, - ), - skip_merge=True, + ) + ) + # The message now lives in the new session's own trigger row — the + # parked pre-routing copy is settled (superseded by that row). + self.trigger_service.settle_parked( + parked_row_id, delivered_as=result.trigger_id ) # ───────────────────────────────────────────────────────────────────── @@ -2483,6 +2318,35 @@ async def _handle_chat_message(self, payload: Dict): self._post_third_party_notification(payload, platform) return + # ── Durable parking: record the message in the + # trigger store BEFORE any routing work. Routing below may take + # an LLM call (seconds) — with the row parked, a crash anywhere + # in this method no longer loses the message; the next boot's + # rehydration re-delivers it as a fresh session. Every delivery + # path below settles the row once the message lands. + parked_id = None + try: + parked_payload = { + "gui_mode": gui_mode, + "platform": platform, + "user_message": chat_content, + } + if living_ui_id: + parked_payload["living_ui_id"] = living_ui_id + parked_id = self.trigger_service.park( + TriggerSpec( + source=TriggerSource.USER_MESSAGE, + description=( + "Please perform action that best suit this user chat " + f"you just received: {chat_content}" + ), + priority=3, + payload=parked_payload, + ) + ) + except Exception as e: + logger.warning(f"[CHAT] Failed to park message durably: {e}") + active_task_ids = self.state_manager.get_main_state().active_task_ids # ── Rule 2: Explicit UI reply with valid target_session_id. @@ -2491,6 +2355,9 @@ async def _handle_chat_message(self, payload: Dict): if await self._fire_session( target_session_id, chat_content, platform, living_ui_id ): + # Message durably attached to the session's trigger row + # by trigger_service.fire() — the parked copy is settled. + self.trigger_service.settle_parked(parked_id) return logger.warning( f"[CHAT] target_session_id {target_session_id} not found — falling through to next rule" @@ -2504,7 +2371,7 @@ async def _handle_chat_message(self, payload: Dict): "[CHAT] UI reply marker without valid target — creating new session" ) await self._create_new_session_trigger( - chat_content, payload, platform, gui_mode + chat_content, payload, platform, gui_mode, parked_row_id=parked_id ) return @@ -2517,11 +2384,13 @@ async def _handle_chat_message(self, payload: Dict): # deserves its own session. if active_task_ids: active_triggers = await self.triggers.list_triggers() - existing_sessions = self._format_sessions_for_routing( + existing_sessions = self.session_router.format_sessions_for_routing( active_task_ids, active_triggers ) - recent_conversation = self._format_recent_conversation(limit=10) - routing_result = await self._route_to_session( + recent_conversation = self.session_router.format_recent_conversation( + limit=10 + ) + routing_result = await self.session_router.route( item_type="message", item_content=chat_content, existing_sessions=existing_sessions, @@ -2538,6 +2407,7 @@ async def _handle_chat_message(self, payload: Dict): if await self._fire_session( matched, chat_content, platform, living_ui_id ): + self.trigger_service.settle_parked(parked_id) return logger.warning( f"[CHAT] LLM routed to {matched} but trigger not found — creating new session" @@ -2545,7 +2415,7 @@ async def _handle_chat_message(self, payload: Dict): # ── Rule 5: Default — create a new session. await self._create_new_session_trigger( - chat_content, payload, platform, gui_mode + chat_content, payload, platform, gui_mode, parked_row_id=parked_id ) except Exception as e: @@ -2726,6 +2596,16 @@ async def reset_agent_state(self) -> str: """ # 1. Clear runtime state await self.triggers.clear() + # Wipe the durable trigger rows too — otherwise the next boot's + # rehydration would resurrect the work this reset just cleared. + try: + self.trigger_store.clear_all() + except Exception as e: + logger.warning(f"[RESET] Failed to clear trigger store: {e}") + try: + self.activity_log.clear_all() + except Exception as e: + logger.warning(f"[RESET] Failed to clear activity log: {e}") self.task_manager.reset() self.state_manager.reset() self.event_stream_manager.clear_all() @@ -2922,8 +2802,6 @@ async def trigger_soft_onboarding(self, reset: bool = False) -> Optional[str]: """ from app.onboarding import onboarding_manager from app.onboarding.soft.task_creator import create_soft_onboarding_task - from app.trigger import Trigger - import time # Prevent double-triggering (multiple adapters/paths may call this) if not reset and self._soft_onboarding_triggered: @@ -2938,14 +2816,15 @@ async def trigger_soft_onboarding(self, reset: bool = False) -> Optional[str]: task_id = create_soft_onboarding_task(self.task_manager) # Fire trigger to start the task - trigger = Trigger( - fire_at=time.time(), - priority=1, - next_action_description="Begin user profile interview", - session_id=task_id, - payload={"onboarding": True}, + await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.ONBOARDING, + description="Begin user profile interview", + priority=1, + session_id=task_id, + payload={"onboarding": True}, + ) ) - await self.triggers.put(trigger) logger.info(f"[ONBOARDING] Triggered soft onboarding task: {task_id}") return task_id @@ -3465,11 +3344,14 @@ async def _schedule_restored_task_triggers(self) -> None: # running agent loop, after the watcher is live, so it surfaces in # the interface just like the resumed tasks' own messages. try: - await self.triggers.put( - Trigger( - fire_at=time.time(), + # No dedup key: each boot composes a fresh notice. A stale + # rehydrated notice row from a crashed boot is superseded by + # this emit via the queue's same-session replacement. + await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.RESTART_NOTICE, + description="Restart notice", priority=1, # ahead of resumed tasks (priority 5/7) - next_action_description="Restart notice", # Sentinel id so the heap never merges this with another # session-less trigger (e.g. memory-at-startup) and # clobbers the payload. @@ -3479,8 +3361,8 @@ async def _schedule_restored_task_triggers(self) -> None: "message": "\n".join(lines), "gui_mode": STATE.gui_mode, }, - ), - skip_merge=True, + skip_merge=True, + ) ) except Exception as e: logger.warning( @@ -3498,28 +3380,29 @@ async def _schedule_restored_task_triggers(self) -> None: restore_priority = 5 if is_simple else 7 if task.waiting_for_user_reply: - await self.triggers.put( - Trigger( - fire_at=time.time(), - priority=restore_priority, - next_action_description=( + result = await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.RESUME, + description=( "Waiting for user reply (resumed after restart)" ), + priority=restore_priority, session_id=task_id, payload={"gui_mode": STATE.gui_mode}, + dedup_key=resume_dedup_key(task_id), waiting_for_reply=True, - ), - skip_merge=True, + skip_merge=True, + ) ) logger.info( - f"[RESTORE] Scheduled waiting trigger for task '{task.name}'" + f"[RESTORE] Scheduled waiting trigger for task " + f"'{task.name}'{' (deduped)' if result.deduped else ''}" ) else: - await self.triggers.put( - Trigger( - fire_at=time.time(), - priority=restore_priority, - next_action_description=( + result = await self.trigger_service.emit( + TriggerSpec( + source=TriggerSource.RESUME, + description=( "Resume this task after an app restart. A " "consolidated restart notice has already been " "sent to the user, so do NOT send any " @@ -3528,13 +3411,16 @@ async def _schedule_restored_task_triggers(self) -> None: "it left off based on its todos and recent " "event-stream activity." ), + priority=restore_priority, session_id=task_id, payload={"gui_mode": STATE.gui_mode}, - ), - skip_merge=True, + dedup_key=resume_dedup_key(task_id), + skip_merge=True, + ) ) logger.info( - f"[RESTORE] Scheduled resume trigger for task '{task.name}'" + f"[RESTORE] Scheduled resume trigger for task " + f"'{task.name}'{' (deduped)' if result.deduped else ''}" ) except Exception as e: logger.warning( @@ -3816,6 +3702,7 @@ def step(step_num: int, total: int, message: str) -> None: await self.scheduler.initialize( config_path=scheduler_config_path, trigger_queue=self.triggers, + trigger_service=self.trigger_service, ) await self.scheduler.start() @@ -3824,6 +3711,38 @@ def step(step_num: int, total: int, message: str) -> None: scheduler_config_path, self.scheduler.reload, name="scheduler_config.json" ) + # Dead-letter surfacing: a trigger that exhausts its retries is work + # that silently stopped — tell the user instead of hiding it. + def _on_dead_letter(trig, _error: str) -> None: + # The raw error is already logged by the service; the user gets + # the what, not the traceback. + desc = (trig.next_action_description or "").strip() + if len(desc) > 120: + desc = desc[:117] + "..." + self.state_manager.record_agent_message( + f"⚠️ A background task trigger failed repeatedly and was " + f'parked: "{desc}". I won\'t retry it automatically — ' + f"ask me to try again if it still matters." + ) + + self.trigger_service.set_dead_letter_handler(_on_dead_letter) + + # Rehydrate unfinished durable triggers from the previous run BEFORE + # scheduling restored-task resumes: the resume emits below carry + # dedup keys, so a rehydrated resume row blocks the duplicate instead + # of double-enqueueing. (Trigger-store GC runs inside rehydrate.) + try: + await self.trigger_service.rehydrate() + except Exception as e: + logger.warning(f"[RESTORE] Trigger rehydration failed: {e}") + + # Ledger housekeeping: stale INTENT rows stop blocking, old settled + # rows age out (payloads can contain message content). + try: + self.activity_log.gc() + except Exception as e: + logger.warning(f"[RESTORE] Activity log GC failed: {e}") + # Resume triggers for tasks restored from previous session await self._schedule_restored_task_triggers() diff --git a/app/data/action/integrations/discord/discord_actions.py b/app/data/action/integrations/discord/discord_actions.py index 5edaa14e..e6f36f66 100644 --- a/app/data/action/integrations/discord/discord_actions.py +++ b/app/data/action/integrations/discord/discord_actions.py @@ -8,6 +8,7 @@ @action( name="send_discord_message", + irreversible=True, description="Send a message to a Discord channel.", action_sets=["discord_messages", "discord"], input_schema={ @@ -1890,6 +1891,7 @@ def get_discord_bot_user(input_data: dict) -> dict: @action( name="send_discord_dm", + irreversible=True, description="Send a direct message to a Discord user.", action_sets=["discord_messages", "discord"], input_schema={ @@ -1938,6 +1940,7 @@ def get_discord_user_account(input_data: dict) -> dict: @action( name="send_discord_user_message", + irreversible=True, description="Send user message (self-bot).", action_sets=["discord_user"], input_schema={ @@ -1990,6 +1993,7 @@ def get_discord_user_dm_channels(input_data: dict) -> dict: @action( name="send_discord_user_dm", + irreversible=True, description="Send user DM.", action_sets=["discord_user"], input_schema={ diff --git a/app/data/action/integrations/google_workspace/gmail_actions.py b/app/data/action/integrations/google_workspace/gmail_actions.py index e7c82b18..27391b0d 100644 --- a/app/data/action/integrations/google_workspace/gmail_actions.py +++ b/app/data/action/integrations/google_workspace/gmail_actions.py @@ -8,6 +8,7 @@ @action( name="send_gmail", + irreversible=True, description="Send an email via Gmail.", action_sets=["gmail_mail", "gmail"], input_schema={ @@ -182,6 +183,7 @@ def search_gmail(input_data: dict) -> dict: @action( name="reply_gmail", + irreversible=True, description="Reply to a Gmail message. Preserves thread + In-Reply-To/References headers. Set reply_all=true to also CC the original To/Cc.", action_sets=["gmail_mail", "gmail"], input_schema={ @@ -222,6 +224,7 @@ def reply_gmail(input_data: dict) -> dict: @action( name="forward_gmail", + irreversible=True, description="Forward a Gmail message to another address.", action_sets=["gmail_mail", "gmail"], input_schema={ @@ -728,6 +731,7 @@ def update_gmail_draft(input_data: dict) -> dict: @action( name="send_gmail_draft", + irreversible=True, description="Send a previously-created Gmail draft.", action_sets=["gmail_drafts", "gmail"], input_schema={ @@ -1013,6 +1017,7 @@ def get_gmail_profile(input_data: dict) -> dict: @action( name="send_google_workspace_email", + irreversible=True, description="Send email via Google Workspace.", action_sets=["gmail_mail"], input_schema={ diff --git a/app/data/action/integrations/google_workspace/google_youtube_actions.py b/app/data/action/integrations/google_workspace/google_youtube_actions.py index e47b1ccf..ec9fee2a 100644 --- a/app/data/action/integrations/google_workspace/google_youtube_actions.py +++ b/app/data/action/integrations/google_workspace/google_youtube_actions.py @@ -247,6 +247,7 @@ def rate_youtube_video(input_data: dict) -> dict: @action( name="post_youtube_comment", + irreversible=True, description="Post a top-level comment on a YouTube video.", action_sets=["google_youtube"], input_schema={ diff --git a/app/data/action/integrations/hubspot/hubspot_actions.py b/app/data/action/integrations/hubspot/hubspot_actions.py index 58d8ee36..823fe33a 100644 --- a/app/data/action/integrations/hubspot/hubspot_actions.py +++ b/app/data/action/integrations/hubspot/hubspot_actions.py @@ -2570,6 +2570,7 @@ async def get_hubspot_marketing_email(input_data: dict) -> dict: @action( name="send_hubspot_single_send", + irreversible=True, description="Send a one-off transactional email based on a pre-built marketing email template.", action_sets=["hubspot_marketing_email", "hubspot"], input_schema={ @@ -2816,6 +2817,7 @@ async def list_hubspot_conversation_messages(input_data: dict) -> dict: @action( name="send_hubspot_conversation_message", + irreversible=True, description="Send a message into a conversation thread. Requires the channel + channel-account IDs from the thread metadata.", action_sets=["hubspot_conversations"], input_schema={ diff --git a/app/data/action/integrations/lark/lark_actions.py b/app/data/action/integrations/lark/lark_actions.py index 68eb577c..15ee198b 100644 --- a/app/data/action/integrations/lark/lark_actions.py +++ b/app/data/action/integrations/lark/lark_actions.py @@ -8,6 +8,7 @@ @action( name="send_lark_message", + irreversible=True, description="Send a plain text message in Lark. receive_id_type: open_id | user_id | email | chat_id | union_id.", action_sets=["lark_messages", "lark"], input_schema={ @@ -40,6 +41,7 @@ async def send_lark_message(input_data: dict) -> dict: @action( name="reply_lark_message", + irreversible=True, description="Reply to a Lark message by message_id.", action_sets=["lark_messages", "lark"], input_schema={ @@ -66,6 +68,7 @@ async def reply_lark_message(input_data: dict) -> dict: @action( name="send_lark_rich_message", + irreversible=True, description="Send a generic Lark message. msg_type: text | post | image | file | audio | media | sticker | interactive | share_chat | share_user. content is the per-type dict (this action JSON-encodes it for you).", action_sets=["lark_messages", "lark"], input_schema={ @@ -110,6 +113,7 @@ async def send_lark_rich_message(input_data: dict) -> dict: @action( name="send_lark_image", + irreversible=True, description="Send an image (use upload_lark_image first to get image_key).", action_sets=["lark_messages", "lark"], input_schema={ @@ -142,6 +146,7 @@ async def send_lark_image(input_data: dict) -> dict: @action( name="send_lark_file", + irreversible=True, description="Send a file (use upload_lark_im_file first to get file_key).", action_sets=["lark_messages", "lark"], input_schema={ @@ -174,6 +179,7 @@ async def send_lark_file(input_data: dict) -> dict: @action( name="send_lark_card", + irreversible=True, description="Send an interactive card (Lark's Block Kit equivalent). card is the card schema dict.", action_sets=["lark_messages", "lark"], input_schema={ @@ -202,6 +208,7 @@ async def send_lark_card(input_data: dict) -> dict: @action( name="send_lark_post", + irreversible=True, description="Send a rich-text 'post' message (multi-line, styled). post is Lark's post schema: {zh_cn: {title, content: [[{tag,text}]]}}.", action_sets=["lark_messages"], input_schema={ @@ -230,6 +237,7 @@ async def send_lark_post(input_data: dict) -> dict: @action( name="reply_lark_rich_message", + irreversible=True, description="Reply with non-text content (image / file / card / etc.). reply_in_thread starts a thread off the parent.", action_sets=["lark_messages"], input_schema={ @@ -337,6 +345,7 @@ async def update_lark_message(input_data: dict) -> dict: @action( name="forward_lark_message", + irreversible=True, description="Forward a message to another recipient.", action_sets=["lark_messages", "lark"], input_schema={ @@ -603,6 +612,7 @@ async def list_lark_pinned_messages(input_data: dict) -> dict: @action( name="send_lark_urgent", + irreversible=True, description="Escalate a message to selected users. urgent_type: app (in-app push) | sms | phone (call). Use sparingly — sms/phone require special permission.", action_sets=["lark_messages"], input_schema={ diff --git a/app/data/action/integrations/line/line_actions.py b/app/data/action/integrations/line/line_actions.py index 433da79e..9621717f 100644 --- a/app/data/action/integrations/line/line_actions.py +++ b/app/data/action/integrations/line/line_actions.py @@ -9,6 +9,7 @@ @action( name="send_line_message", + irreversible=True, description="Push a text message to a LINE user/group/room.", action_sets=["line_messages", "line"], input_schema={ @@ -32,6 +33,7 @@ def send_line_message(input_data: dict) -> dict: @action( name="reply_line_message", + irreversible=True, description="Reply to a LINE message using the reply token (1-minute window).", action_sets=["line_messages", "line"], input_schema={ @@ -126,6 +128,7 @@ def push_line_messages(input_data: dict) -> dict: @action( name="reply_line_messages", + irreversible=True, description="Reply with up to 5 LINE message objects (rich reply).", action_sets=["line_messages", "line"], input_schema={ @@ -218,6 +221,7 @@ def broadcast_line_messages(input_data: dict) -> dict: @action( name="send_line_image", + irreversible=True, description="Push an image. Image must be publicly accessible HTTPS URL.", action_sets=["line_messages", "line"], input_schema={ @@ -250,6 +254,7 @@ def send_line_image(input_data: dict) -> dict: @action( name="send_line_video", + irreversible=True, description="Push a video (HTTPS URL + preview image).", action_sets=["line_messages", "line"], input_schema={ @@ -282,6 +287,7 @@ def send_line_video(input_data: dict) -> dict: @action( name="send_line_audio", + irreversible=True, description="Push an audio file. duration_ms is required.", action_sets=["line_messages", "line"], input_schema={ @@ -314,6 +320,7 @@ def send_line_audio(input_data: dict) -> dict: @action( name="send_line_location", + irreversible=True, description="Push a location pin.", action_sets=["line_messages", "line"], input_schema={ @@ -346,6 +353,7 @@ def send_line_location(input_data: dict) -> dict: @action( name="send_line_sticker", + irreversible=True, description="Push a LINE sticker. See https://developers.line.biz/en/docs/messaging-api/sticker-list/ for IDs.", action_sets=["line_messages", "line"], input_schema={ @@ -378,6 +386,7 @@ def send_line_sticker(input_data: dict) -> dict: @action( name="send_line_flex", + irreversible=True, description="Push a Flex Message — LINE's rich, interactive card format. contents is the Flex container JSON (bubble or carousel).", action_sets=["line_messages", "line"], input_schema={ @@ -410,6 +419,7 @@ def send_line_flex(input_data: dict) -> dict: @action( name="send_line_template", + irreversible=True, description="Push a template message: buttons / confirm / carousel / image_carousel. template is the Template object.", action_sets=["line_messages", "line"], input_schema={ @@ -438,6 +448,7 @@ def send_line_template(input_data: dict) -> dict: @action( name="send_line_imagemap", + irreversible=True, description="Push an imagemap: a clickable image overlaid with tappable regions. actions is a list of imagemap-action objects.", action_sets=["line_messages"], input_schema={ @@ -1008,6 +1019,7 @@ def bulk_unlink_line_rich_menu(input_data: dict) -> dict: @action( name="send_line_narrowcast", + irreversible=True, description="Send messages to a filtered subset of friends (demographics or audience groups). Returns a request_id; poll with get_line_narrowcast_progress.", action_sets=["line_audiences", "line"], input_schema={ diff --git a/app/data/action/integrations/linkedin/linkedin_actions.py b/app/data/action/integrations/linkedin/linkedin_actions.py index 63e23691..a7f4f090 100644 --- a/app/data/action/integrations/linkedin/linkedin_actions.py +++ b/app/data/action/integrations/linkedin/linkedin_actions.py @@ -352,6 +352,7 @@ def get_linkedin_connections(input_data: dict) -> dict: @action( name="send_linkedin_message", + irreversible=True, description="Send a message to LinkedIn users.", action_sets=["linkedin"], input_schema={ @@ -389,6 +390,7 @@ async def send_linkedin_message(input_data: dict) -> dict: @action( name="send_linkedin_connection_request", + irreversible=True, description="Send connection request.", action_sets=["linkedin"], input_schema={ diff --git a/app/data/action/integrations/outlook/outlook_actions.py b/app/data/action/integrations/outlook/outlook_actions.py index 7b03947e..61da8556 100644 --- a/app/data/action/integrations/outlook/outlook_actions.py +++ b/app/data/action/integrations/outlook/outlook_actions.py @@ -8,6 +8,7 @@ @action( name="send_outlook_email", + irreversible=True, description="Send an email via Outlook (Microsoft 365).", action_sets=["outlook_mail", "outlook"], input_schema={ @@ -173,6 +174,7 @@ def search_outlook_emails(input_data: dict) -> dict: @action( name="reply_outlook_email", + irreversible=True, description="Reply to the sender of an email. Sent immediately.", action_sets=["outlook_mail", "outlook"], input_schema={ @@ -217,6 +219,7 @@ def reply_outlook_email(input_data: dict) -> dict: @action( name="reply_all_outlook_email", + irreversible=True, description="Reply-all to an email. Sent immediately.", action_sets=["outlook_mail", "outlook"], input_schema={ @@ -245,6 +248,7 @@ def reply_all_outlook_email(input_data: dict) -> dict: @action( name="forward_outlook_email", + irreversible=True, description="Forward an email to other recipients.", action_sets=["outlook_mail", "outlook"], input_schema={ @@ -451,6 +455,7 @@ def update_outlook_draft(input_data: dict) -> dict: @action( name="send_outlook_draft", + irreversible=True, description="Send a previously-created draft.", action_sets=["outlook_mail", "outlook"], input_schema={ diff --git a/app/data/action/integrations/slack/slack_actions.py b/app/data/action/integrations/slack/slack_actions.py index 4efd6267..a7cd8f15 100644 --- a/app/data/action/integrations/slack/slack_actions.py +++ b/app/data/action/integrations/slack/slack_actions.py @@ -8,6 +8,7 @@ @action( name="send_slack_message", + irreversible=True, description="Send a message to a Slack channel or DM. Pass thread_ts to reply in a thread.", action_sets=["slack_messages", "slack"], input_schema={ @@ -112,6 +113,7 @@ def delete_slack_message(input_data: dict) -> dict: @action( name="send_slack_ephemeral", + irreversible=True, description="Send an ephemeral message visible only to one user in a channel.", action_sets=["slack_messages", "slack"], input_schema={ diff --git a/app/data/action/integrations/telegram/telegram_actions.py b/app/data/action/integrations/telegram/telegram_actions.py index 68c0d4cd..dec9554e 100644 --- a/app/data/action/integrations/telegram/telegram_actions.py +++ b/app/data/action/integrations/telegram/telegram_actions.py @@ -9,6 +9,7 @@ @action( name="send_telegram_bot_message", + irreversible=True, description="Send a text message to a Telegram chat via bot. Use this ONLY when replying to Telegram Bot messages.", action_sets=["telegram_messages", "telegram"], input_schema={ @@ -68,6 +69,7 @@ async def send_telegram_bot_message(input_data: dict) -> dict: @action( name="send_telegram_text_message", + irreversible=True, description="Send a text message via Telegram bot (alias for sendMessage with full options).", action_sets=["telegram_messages"], input_schema={ @@ -311,6 +313,7 @@ async def copy_telegram_message(input_data: dict) -> dict: @action( name="forward_telegram_message", + irreversible=True, description="Forward a message via bot.", action_sets=["telegram_messages", "telegram"], input_schema={ @@ -342,6 +345,7 @@ async def forward_telegram_message(input_data: dict) -> dict: @action( name="forward_telegram_messages", + irreversible=True, description="Forward multiple messages of any kind.", action_sets=["telegram_messages"], input_schema={ @@ -512,6 +516,7 @@ async def send_telegram_chat_action(input_data: dict) -> dict: @action( name="send_telegram_photo", + irreversible=True, description="Send a photo to a Telegram chat via bot.", action_sets=["telegram_media", "telegram"], input_schema={ @@ -539,6 +544,7 @@ async def send_telegram_photo(input_data: dict) -> dict: @action( name="send_telegram_document", + irreversible=True, description="Send a document to a Telegram chat via bot.", action_sets=["telegram_media", "telegram"], input_schema={ @@ -570,6 +576,7 @@ async def send_telegram_document(input_data: dict) -> dict: @action( name="send_telegram_video", + irreversible=True, description="Send a video file via bot.", action_sets=["telegram_media"], input_schema={ @@ -609,6 +616,7 @@ async def send_telegram_video(input_data: dict) -> dict: @action( name="send_telegram_audio", + irreversible=True, description="Send an audio file (music) via bot.", action_sets=["telegram_media"], input_schema={ @@ -640,6 +648,7 @@ async def send_telegram_audio(input_data: dict) -> dict: @action( name="send_telegram_voice", + irreversible=True, description="Send a voice message (OGG opus) via bot.", action_sets=["telegram_media"], input_schema={ @@ -673,6 +682,7 @@ async def send_telegram_voice(input_data: dict) -> dict: @action( name="send_telegram_video_note", + irreversible=True, description="Send a rounded square video note (short circular video).", action_sets=["telegram_media"], input_schema={ @@ -706,6 +716,7 @@ async def send_telegram_video_note(input_data: dict) -> dict: @action( name="send_telegram_animation", + irreversible=True, description="Send an animation (GIF or H.264/MPEG-4 without sound).", action_sets=["telegram_media"], input_schema={ @@ -733,6 +744,7 @@ async def send_telegram_animation(input_data: dict) -> dict: @action( name="send_telegram_sticker", + irreversible=True, description="Send a sticker (.webp / .tgs / .webm).", action_sets=["telegram_media"], input_schema={ @@ -758,6 +770,7 @@ async def send_telegram_sticker(input_data: dict) -> dict: @action( name="send_telegram_location", + irreversible=True, description="Send a geographic location.", action_sets=["telegram_media"], input_schema={ @@ -791,6 +804,7 @@ async def send_telegram_location(input_data: dict) -> dict: @action( name="send_telegram_venue", + irreversible=True, description="Send a venue with name and address.", action_sets=["telegram_media"], input_schema={ @@ -826,6 +840,7 @@ async def send_telegram_venue(input_data: dict) -> dict: @action( name="send_telegram_contact", + irreversible=True, description="Send a phone contact card.", action_sets=["telegram_media"], input_schema={ @@ -859,6 +874,7 @@ async def send_telegram_contact(input_data: dict) -> dict: @action( name="send_telegram_dice", + irreversible=True, description="Send an animated dice / emoji-game (🎲 🎯 🏀 ⚽ 🎳 🎰).", action_sets=["telegram_media"], input_schema={ @@ -884,6 +900,7 @@ async def send_telegram_dice(input_data: dict) -> dict: @action( name="send_telegram_poll", + irreversible=True, description="Send a poll to a chat.", action_sets=["telegram_media"], input_schema={ @@ -964,6 +981,7 @@ async def stop_telegram_poll(input_data: dict) -> dict: @action( name="send_telegram_media_group", + irreversible=True, description="Send a group of photos/videos/audios/documents as an album.", action_sets=["telegram_media"], input_schema={ @@ -2187,6 +2205,7 @@ async def read_telegram_messages(input_data: dict) -> dict: @action( name="send_telegram_user_message", + irreversible=True, description="Send a text message via Telegram user account. IMPORTANT: Use @username (e.g., '@emadtavana7') NOT numeric ID. Use 'self' or 'user' to message the owner's Saved Messages.", action_sets=["telegram_user", "telegram"], input_schema={ @@ -2216,6 +2235,7 @@ async def send_telegram_user_message(input_data: dict) -> dict: @action( name="send_telegram_user_file", + irreversible=True, description="Send a file via Telegram user account.", action_sets=["telegram_user"], input_schema={ diff --git a/app/data/action/integrations/twitter/twitter_actions.py b/app/data/action/integrations/twitter/twitter_actions.py index d450a1e3..c00f97e8 100644 --- a/app/data/action/integrations/twitter/twitter_actions.py +++ b/app/data/action/integrations/twitter/twitter_actions.py @@ -9,6 +9,7 @@ @action( name="post_tweet", + irreversible=True, description="Post a tweet on Twitter/X.", action_sets=["twitter_tweets", "twitter"], input_schema={ @@ -39,6 +40,7 @@ async def post_tweet(input_data: dict) -> dict: @action( name="reply_to_tweet", + irreversible=True, description="Reply to a tweet on Twitter/X.", action_sets=["twitter_tweets", "twitter"], input_schema={ @@ -214,6 +216,7 @@ async def get_twitter_mentions(input_data: dict) -> dict: @action( name="post_quote_tweet", + irreversible=True, description="Post a quote tweet that wraps another tweet with your own commentary.", action_sets=["twitter_tweets", "twitter"], input_schema={ @@ -274,6 +277,7 @@ async def hide_tweet_reply(input_data: dict) -> dict: @action( name="post_tweet_with_media", + irreversible=True, description="Post a tweet that includes already-uploaded media (use upload_twitter_media first to get media_ids).", action_sets=["twitter_tweets", "twitter"], input_schema={ @@ -1001,6 +1005,7 @@ async def list_twitter_list_tweets(input_data: dict) -> dict: @action( name="send_twitter_dm", + irreversible=True, description="Send a one-on-one direct message on Twitter/X (creates the conversation if needed).", action_sets=["twitter_dms", "twitter"], input_schema={ @@ -1027,6 +1032,7 @@ async def send_twitter_dm(input_data: dict) -> dict: @action( name="send_twitter_dm_to_conversation", + irreversible=True, description="Send a DM into an existing conversation by ID.", action_sets=["twitter_dms"], input_schema={ diff --git a/app/data/action/integrations/whatsapp/whatsapp_actions.py b/app/data/action/integrations/whatsapp/whatsapp_actions.py index 6c3fc10b..d5f129ba 100644 --- a/app/data/action/integrations/whatsapp/whatsapp_actions.py +++ b/app/data/action/integrations/whatsapp/whatsapp_actions.py @@ -8,6 +8,7 @@ @action( name="send_whatsapp_web_text_message", + irreversible=True, description="Send a text message via WhatsApp Web.", action_sets=["whatsapp_messages", "whatsapp"], input_schema={ @@ -42,6 +43,7 @@ async def send_whatsapp_web_text_message(input_data: dict) -> dict: @action( name="send_whatsapp_web_media_message", + irreversible=True, description="Send a media file (image / video / audio / document) via WhatsApp Web. Set send_as_sticker / send_as_voice / send_as_document to override the default mode.", action_sets=["whatsapp_messages", "whatsapp"], input_schema={ @@ -102,6 +104,7 @@ async def send_whatsapp_web_media_message(input_data: dict) -> dict: @action( name="send_whatsapp_location", + irreversible=True, description="Send a location pin via WhatsApp Web.", action_sets=["whatsapp_messages", "whatsapp"], input_schema={ @@ -136,6 +139,7 @@ async def send_whatsapp_location(input_data: dict) -> dict: @action( name="reply_whatsapp_message", + irreversible=True, description="Quote-reply to a specific WhatsApp message.", action_sets=["whatsapp_messages", "whatsapp"], input_schema={ @@ -220,6 +224,7 @@ async def delete_whatsapp_message(input_data: dict) -> dict: @action( name="forward_whatsapp_message", + irreversible=True, description="Forward a message to another chat.", action_sets=["whatsapp_messages", "whatsapp"], input_schema={ diff --git a/app/data/action/schedule_task.py b/app/data/action/schedule_task.py index a8290580..7f620f95 100644 --- a/app/data/action/schedule_task.py +++ b/app/data/action/schedule_task.py @@ -108,10 +108,6 @@ async def schedule_task(input_data: dict) -> dict: """Add a new scheduled task or queue an immediate trigger.""" import app.internal_action_interface as iai from datetime import datetime - import asyncio - import time - import uuid - from agent_core import Trigger scheduler = iai.InternalActionInterface.scheduler if scheduler is None: @@ -152,7 +148,8 @@ async def schedule_task(input_data: dict) -> dict: ), } - # Handle immediate execution + # Handle immediate execution — queue_immediate_trigger emits durably + # via TriggerService when the scheduler has one wired. if schedule_expr.lower() == "immediate": return await scheduler.queue_immediate_trigger( name=name, @@ -164,47 +161,6 @@ async def schedule_task(input_data: dict) -> dict: payload=payload, ) - session_id = f"immediate_{uuid.uuid4().hex[:8]}_{int(time.time())}" - - trigger_payload = { - "type": "scheduled", - "schedule_id": f"immediate_{uuid.uuid4().hex[:8]}", - "schedule_name": name, - "instruction": instruction, - "mode": mode, - "action_sets": action_sets, - "skills": skills, - **payload, - } - - # TODO: Should not have to create additional trigger (create using queue_immediate_trigger) - # Workaround for now - trigger = Trigger( - fire_at=time.time(), - priority=priority, - next_action_description=f"[Immediate] {name}: {instruction}", - payload=trigger_payload, - session_id=session_id, - ) - - trigger_queue = scheduler._trigger_queue - if trigger_queue is None: - return {"status": "error", "error": "Trigger queue not initialized"} - - try: - asyncio.get_running_loop() - asyncio.create_task(trigger_queue.put(trigger)) - except RuntimeError: - asyncio.run(trigger_queue.put(trigger)) - - return { - "status": "ok", - "schedule_id": session_id, - "name": name, - "scheduled_for": "immediate", - "message": f"Task '{name}' queued for immediate execution (session: {session_id})", - } - # Parse schedule to determine if it's recurring or one-time from app.scheduler.parser import ScheduleParser diff --git a/app/data/action/send_message.py b/app/data/action/send_message.py index b6ff597a..f486cc60 100644 --- a/app/data/action/send_message.py +++ b/app/data/action/send_message.py @@ -3,6 +3,7 @@ @action( name="send_message", + irreversible=True, description="Use this action to deliver a detailed text update that will be recorded in the conversation log and event stream. Avoid revealing internal or sensitive information and do not mention conversation identifiers. This action does not perform work; it only communicates status to the user. This action can be executed in parallel with other actions, but do not use multiple send_message actions at the same time as that is redundant - combine messages into one.", default=True, action_sets=["core"], diff --git a/app/data/action/send_message_with_attachment.py b/app/data/action/send_message_with_attachment.py index 2fff4639..1546252d 100644 --- a/app/data/action/send_message_with_attachment.py +++ b/app/data/action/send_message_with_attachment.py @@ -3,6 +3,7 @@ @action( name="send_message_with_attachment", + irreversible=True, description="Send a message to the user with one or more file attachments. Use this when you need to share files (documents, images, reports, etc.) with the user. All files must exist at the specified paths.", default=True, action_sets=["core"], diff --git a/app/living_ui/manager.py b/app/living_ui/manager.py index 40f34774..e41df38d 100644 --- a/app/living_ui/manager.py +++ b/app/living_ui/manager.py @@ -116,6 +116,7 @@ def __init__(self, workspace_root: Path, template_path: Path): # Task and trigger management (set via bind_task_manager) self._task_manager: Optional["TaskManager"] = None self._trigger_queue: Optional["TriggerQueue"] = None + self._trigger_service = None # Optional[TriggerService] — durable emit path # Watchdog state self._watchdog_task: Optional[asyncio.Task] = None @@ -129,7 +130,10 @@ def __init__(self, workspace_root: Path, template_path: Path): self._load_projects() def bind_task_manager( - self, task_manager: "TaskManager", trigger_queue: "TriggerQueue" + self, + task_manager: "TaskManager", + trigger_queue: "TriggerQueue", + trigger_service=None, ) -> None: """ Bind the task manager and trigger queue for creating development tasks. @@ -137,9 +141,12 @@ def bind_task_manager( Args: task_manager: TaskManager instance for creating tasks trigger_queue: TriggerQueue instance for firing triggers + trigger_service: Optional TriggerService for durable emits + ; falls back to direct queue puts when None. """ self._task_manager = task_manager self._trigger_queue = trigger_queue + self._trigger_service = trigger_service logger.info("[LIVING_UI] Task manager and trigger queue bound") # ======================================================================== @@ -475,17 +482,33 @@ async def _escalate_crash(self, project_id: str, crash_targets: List[str]) -> No selected_skills=["living-ui-creator"], ) - trigger = Trigger( - fire_at=time.time(), - priority=30, # Higher priority than normal creation tasks - next_action_description=f"[Living UI] Fix crash: {project.name}", - session_id=task_id, - payload={ - "type": "living_ui_crash_fix", - "project_id": project_id, - }, - ) - await self._trigger_queue.put(trigger) + if self._trigger_service is not None: + from app.triggers import TriggerSource, TriggerSpec + + await self._trigger_service.emit( + TriggerSpec( + source=TriggerSource.LIVING_UI_CRASH_FIX, + description=f"[Living UI] Fix crash: {project.name}", + priority=30, # Higher priority than normal creation tasks + session_id=task_id, + payload={ + "type": "living_ui_crash_fix", + "project_id": project_id, + }, + ) + ) + else: + trigger = Trigger( + fire_at=time.time(), + priority=30, # Higher priority than normal creation tasks + next_action_description=f"[Living UI] Fix crash: {project.name}", + session_id=task_id, + payload={ + "type": "living_ui_crash_fix", + "project_id": project_id, + }, + ) + await self._trigger_queue.put(trigger) project.task_id = task_id self._save_projects() @@ -2565,17 +2588,33 @@ async def create_development_task(self, project_id: str) -> Optional[str]: self.update_project_status(project_id, "creating") # Create and fire the trigger to start execution - trigger = Trigger( - fire_at=time.time(), - priority=50, - next_action_description=f"[Living UI] Create: {project.name}", - session_id=task_id, - payload={ - "type": "living_ui_development", - "project_id": project_id, - }, - ) - await self._trigger_queue.put(trigger) + if self._trigger_service is not None: + from app.triggers import TriggerSource, TriggerSpec + + await self._trigger_service.emit( + TriggerSpec( + source=TriggerSource.LIVING_UI_DEV, + description=f"[Living UI] Create: {project.name}", + priority=50, + session_id=task_id, + payload={ + "type": "living_ui_development", + "project_id": project_id, + }, + ) + ) + else: + trigger = Trigger( + fire_at=time.time(), + priority=50, + next_action_description=f"[Living UI] Create: {project.name}", + session_id=task_id, + payload={ + "type": "living_ui_development", + "project_id": project_id, + }, + ) + await self._trigger_queue.put(trigger) logger.info( f"[LIVING_UI] Created task {task_id} and fired trigger for project {project_id}" diff --git a/app/scheduler/manager.py b/app/scheduler/manager.py index 32fb3be1..78720302 100644 --- a/app/scheduler/manager.py +++ b/app/scheduler/manager.py @@ -40,6 +40,7 @@ def __init__(self): self._scheduler_tasks: Dict[str, asyncio.Task] = {} self._config_path: Optional[Path] = None self._trigger_queue: Optional[TriggerQueue] = None + self._trigger_service = None # Optional[TriggerService] — durable emit path self._is_running: bool = False self._master_enabled: bool = True # Track master enabled state for config saves self._lock = asyncio.Lock() @@ -48,6 +49,7 @@ async def initialize( self, config_path: Path, trigger_queue: TriggerQueue, + trigger_service=None, ) -> None: """ Initialize the scheduler with configuration. @@ -55,9 +57,13 @@ async def initialize( Args: config_path: Path to scheduler_config.json trigger_queue: TriggerQueue to fire triggers into + trigger_service: Optional TriggerService. When provided, fires are + emitted durably with dedup keys; when None, falls + back to direct queue puts (legacy behavior, used by old tests). """ self._config_path = Path(config_path) self._trigger_queue = trigger_queue + self._trigger_service = trigger_service # Load configuration config = self._load_config() @@ -331,17 +337,30 @@ async def queue_immediate_trigger( **(payload or {}), } - # Create trigger - trigger = Trigger( - fire_at=time.time(), # Fire immediately - priority=priority, - next_action_description=f"[Immediate] {name}: {instruction}", - payload=trigger_payload, - session_id=session_id, - ) - - # Queue the trigger - await self._trigger_queue.put(trigger) + # Queue the trigger — durably when the service is wired + # No dedup key: each immediate request is intentionally a new fire. + if self._trigger_service is not None: + from app.triggers import TriggerSource, TriggerSpec + + await self._trigger_service.emit( + TriggerSpec( + source=TriggerSource.SCHEDULED_IMMEDIATE, + description=f"[Immediate] {name}: {instruction}", + fire_at=time.time(), # Fire immediately + priority=priority, + session_id=session_id, + payload=trigger_payload, + ) + ) + else: + trigger = Trigger( + fire_at=time.time(), # Fire immediately + priority=priority, + next_action_description=f"[Immediate] {name}: {instruction}", + payload=trigger_payload, + session_id=session_id, + ) + await self._trigger_queue.put(trigger) logger.info( f"[SCHEDULER] Queued immediate trigger: {name} (session: {session_id})" @@ -607,28 +626,85 @@ async def _fire_schedule(self, schedule: ScheduledTask) -> None: f"{overdue_human}; firing as catch-up with agent-judgment note" ) - # One-time tasks: remove from the persisted config BEFORE enqueueing so a - # crash/restart between firing and removal can never re-fire them. The - # in-memory trigger queue is not persisted, so once it's enqueued the - # config entry is no longer needed. - if not schedule.recurring: - self._schedules.pop(schedule.id, None) - self._save_config() - logger.info( - f"[SCHEDULER] One-time task fired, removed from config: {schedule.id}" + if self._trigger_service is not None: + # Durable path: emit FIRST — the dedup key is the + # crash guard now. A crash anywhere after the INSERT can't lose + # the fire, and a re-fire attempt (config not yet saved, or the + # run_count>0 reload skip missed) collides with the active row + # and is a no-op. Then remove one-time tasks from the config. + from app.triggers import ( + TriggerSource, + TriggerSpec, + scheduled_dedup_key, + scheduled_once_dedup_key, ) - # Create trigger - trigger = Trigger( - fire_at=now, - priority=schedule.priority, - next_action_description=description, - payload=payload, - session_id=session_id, - ) + if not schedule.recurring: + source = TriggerSource.SCHEDULED_ONCE + dedup_key = scheduled_once_dedup_key(schedule.id) + else: + source = TriggerSource.SCHEDULED + # Bucket by this fire's scheduled minute (next_run was set to + # this fire's target by the schedule loop) so retrying the + # same fire dedups but the next occurrence does not. + dedup_key = scheduled_dedup_key(schedule.id, schedule.next_run or now) + + # Built-in schedules (scheduler_config.json) carry their workflow + # type in their custom payload — promote it to the typed source + # so react() classification doesn't depend on the payload["type"] + # fallback (kept only as belt-and-braces for old configs). + payload_type_to_source = { + "memory_processing": TriggerSource.MEMORY, + "proactive_heartbeat": TriggerSource.PROACTIVE_HEARTBEAT, + "proactive_planner": TriggerSource.PROACTIVE_PLANNER, + } + promoted = payload_type_to_source.get(payload.get("type")) + if promoted is not None: + source = promoted + + result = await self._trigger_service.emit( + TriggerSpec( + source=source, + description=description, + fire_at=now, + priority=schedule.priority, + session_id=session_id, + payload=payload, + dedup_key=dedup_key, + ) + ) + if result.deduped: + logger.info( + f"[SCHEDULER] Fire deduped (already queued/in-flight): " + f"{schedule.id} - {schedule.name}" + ) + + if not schedule.recurring: + self._schedules.pop(schedule.id, None) + self._save_config() + logger.info( + f"[SCHEDULER] One-time task fired, removed from config: {schedule.id}" + ) + else: + # Legacy path (no durable store wired): keep the Phase 0 ordering — + # remove one-time tasks from the persisted config BEFORE enqueueing + # so a crash/restart between firing and removal can never re-fire + # them. + if not schedule.recurring: + self._schedules.pop(schedule.id, None) + self._save_config() + logger.info( + f"[SCHEDULER] One-time task fired, removed from config: {schedule.id}" + ) - # Fire! - await self._trigger_queue.put(trigger) + trigger = Trigger( + fire_at=now, + priority=schedule.priority, + next_action_description=description, + payload=payload, + session_id=session_id, + ) + await self._trigger_queue.put(trigger) logger.info( f"[SCHEDULER] Fired schedule: {schedule.id} - {schedule.name} " diff --git a/app/triggers/__init__.py b/app/triggers/__init__.py new file mode 100644 index 00000000..cc1fccbf --- /dev/null +++ b/app/triggers/__init__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +""" +app.triggers + +Durable trigger execution: typed sources, the SQLite-backed +TriggerStore, and the TriggerService producer/consumer front door. +""" + +from app.triggers.sources import ( + TriggerSource, + resume_dedup_key, + scheduled_dedup_key, + scheduled_once_dedup_key, +) +from app.triggers.store import TriggerStore, get_trigger_store +from app.triggers.service import EmitResult, TriggerService, TriggerSpec +from app.triggers.router import SessionRouter + +__all__ = [ + "TriggerSource", + "TriggerStore", + "TriggerService", + "TriggerSpec", + "EmitResult", + "SessionRouter", + "get_trigger_store", + "resume_dedup_key", + "scheduled_dedup_key", + "scheduled_once_dedup_key", +] diff --git a/app/triggers/activity_log.py b/app/triggers/activity_log.py new file mode 100644 index 00000000..536564aa --- /dev/null +++ b/app/triggers/activity_log.py @@ -0,0 +1,330 @@ +# -*- coding: utf-8 -*- +""" +app.triggers.activity_log + +Activity ledger for irreversible actions. + +One row per attempted irreversible side effect, keyed by a deterministic +idempotency key (session + action + content hash of the inputs): + +- INTENT — written BEFORE the side effect runs +- DONE — written after success, with the stored output + provider ref +- FAILED — written after a failed run (a retake re-records INTENT) + +Lifecycle answers "did this already run?" as a database check instead of +LLM prose-reading: + +- fresh key → record INTENT, execute +- DONE row → return the stored output, skip the handler +- stale INTENT row → a previous attempt was interrupted mid-flight; the + side effect MAY have happened. Refuse once with a warning (the LLM should + verify or confirm with the user), and mark the row so a deliberate retry + afterwards is allowed through. +- FAILED row → retake (re-record INTENT, execute) + +Honest limitation (same as Temporal's): if the LLM regenerates the call +with different wording, the content hash differs and the ledger can't link +the attempts — the guard catches the common case (the same step re-executed +with the same inputs after a crash/redelivery), and the stale-INTENT warning +covers the rest. No current provider accepts an idempotency key, so dedup +is enforced at this ledger, with the provider's returned id stored as an +audit ref. + +Same file and idioms as the trigger store (sessions.db, WAL, short +per-operation connections). +""" + +from __future__ import annotations + +import hashlib +import json +import logging +import sqlite3 +import time +from datetime import datetime, timezone +from pathlib import Path +from typing import Any, Dict, Optional + +from agent_core.core.impl.action.idempotency import GuardDecision + +try: + from app.logger import logger +except Exception: + logger = logging.getLogger(__name__) + logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") + + +STATUS_INTENT = "INTENT" +STATUS_DONE = "DONE" +STATUS_FAILED = "FAILED" + +# Stored outputs larger than this are replaced by a stub (the ledger is for +# dedup + audit, not bulk storage). +MAX_STORED_OUTPUT_BYTES = 50_000 + +# Output keys commonly carrying the provider's id for the side effect +# (email message id, chat message ts, post id) — stored for audit. +PROVIDER_REF_KEYS = ("message_id", "messageId", "id", "ts", "post_id", "email_id") + + +def _now_iso() -> str: + return datetime.now(timezone.utc).isoformat() + + +def make_idem_key( + action_name: str, input_data: Dict[str, Any], session_id: Optional[str] +) -> str: + """Deterministic identity of one irreversible side effect. + + Internal keys (``_``-prefixed, injected by the executor) are excluded so + the hash reflects only the user-visible content of the action. + """ + content = { + k: v for k, v in (input_data or {}).items() if not k.startswith("_") + } + canonical = json.dumps(content, sort_keys=True, default=str) + digest = hashlib.sha256(canonical.encode("utf-8")).hexdigest()[:16] + return f"{session_id or 'conv'}:{action_name}:{digest}" + + +class ActivityLog: + """SQLite persistence for the irreversible-action ledger.""" + + def __init__(self, db_path: Optional[str] = None): + if db_path is None: + from app.config import APP_DATA_PATH + + usage_dir = Path(APP_DATA_PATH) / ".usage" + usage_dir.mkdir(parents=True, exist_ok=True) + db_path = str(usage_dir / "sessions.db") + + self._db_path = db_path + self._init_db() + logger.info(f"[ActivityLog] Initialized at {self._db_path}") + + def _connect(self) -> sqlite3.Connection: + conn = sqlite3.connect(self._db_path) + conn.execute("PRAGMA busy_timeout=5000") + return conn + + def _init_db(self) -> None: + with self._connect() as conn: + conn.execute("PRAGMA journal_mode=WAL") + conn.execute(""" + CREATE TABLE IF NOT EXISTS activity_log ( + idem_key TEXT PRIMARY KEY, + task_id TEXT, + action TEXT NOT NULL, + status TEXT NOT NULL, + provider_ref TEXT, + output_json TEXT, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL + ) + """) + conn.commit() + + def get(self, idem_key: str) -> Optional[Dict[str, Any]]: + with self._connect() as conn: + conn.row_factory = sqlite3.Row + row = conn.execute( + "SELECT * FROM activity_log WHERE idem_key = ?", (idem_key,) + ).fetchone() + return dict(row) if row else None + + def record_intent( + self, idem_key: str, action: str, task_id: Optional[str] + ) -> None: + """Upsert the row to INTENT (fresh attempt or deliberate retake).""" + now = _now_iso() + with self._connect() as conn: + conn.execute( + """ + INSERT INTO activity_log + (idem_key, task_id, action, status, created_at, updated_at) + VALUES (?, ?, ?, 'INTENT', ?, ?) + ON CONFLICT(idem_key) DO UPDATE SET + status = 'INTENT', + provider_ref = NULL, + output_json = NULL, + updated_at = excluded.updated_at + """, + (idem_key, task_id, action, now, now), + ) + conn.commit() + + def record_outcome( + self, + idem_key: str, + status: str, + provider_ref: Optional[str], + output_json: Optional[str], + ) -> None: + with self._connect() as conn: + conn.execute( + """ + UPDATE activity_log + SET status = ?, provider_ref = ?, output_json = ?, updated_at = ? + WHERE idem_key = ? + """, + (status, provider_ref, output_json, _now_iso(), idem_key), + ) + conn.commit() + + def mark_uncertain_surfaced(self, idem_key: str) -> None: + """A stale INTENT was surfaced to the LLM once — downgrade to FAILED + so a subsequent deliberate retry is allowed through (retake).""" + with self._connect() as conn: + conn.execute( + """ + UPDATE activity_log + SET status = 'FAILED', updated_at = ? + WHERE idem_key = ? AND status = 'INTENT' + """, + (_now_iso(), idem_key), + ) + conn.commit() + + def gc( + self, + intent_ttl_hours: float = 7 * 24, + done_ttl_hours: float = 30 * 24, + ) -> int: + """Boot-time housekeeping for the ledger. + + Stale INTENT rows (an interrupted attempt nobody ever retried) are + downgraded to FAILED so they stop blocking, then aged out with the + rest. Settled rows are deleted after the TTL — ledger payloads can + contain message content, so they must not accumulate forever. + """ + now = time.time() + intent_cutoff = datetime.fromtimestamp( + now - intent_ttl_hours * 3600, tz=timezone.utc + ).isoformat() + done_cutoff = datetime.fromtimestamp( + now - done_ttl_hours * 3600, tz=timezone.utc + ).isoformat() + with self._connect() as conn: + conn.execute( + """ + UPDATE activity_log SET status = 'FAILED', updated_at = ? + WHERE status = 'INTENT' AND updated_at < ? + """, + (_now_iso(), intent_cutoff), + ) + cur = conn.execute( + """ + DELETE FROM activity_log + WHERE status IN ('DONE', 'FAILED') AND updated_at < ? + """, + (done_cutoff,), + ) + conn.commit() + if cur.rowcount: + logger.info( + f"[ActivityLog] GC removed {cur.rowcount} settled ledger row(s)" + ) + return cur.rowcount + + def clear_all(self) -> None: + with self._connect() as conn: + conn.execute("DELETE FROM activity_log") + conn.commit() + + +class ActivityLogGuard: + """IdempotencyGuard implementation backed by the activity ledger.""" + + def __init__(self, log: ActivityLog): + self._log = log + + def begin( + self, + action_name: str, + input_data: Dict[str, Any], + session_id: Optional[str], + ) -> GuardDecision: + idem_key = make_idem_key(action_name, input_data, session_id) + row = self._log.get(idem_key) + + if row is None or row["status"] == STATUS_FAILED: + # Fresh attempt, or deliberate retake after a failed/uncertain + # run — record intent BEFORE the side effect. + self._log.record_intent(idem_key, action_name, session_id) + return GuardDecision(proceed=True, idem_key=idem_key) + + if row["status"] == STATUS_DONE: + # This exact side effect already completed — return its stored + # output instead of doing it again. + try: + stored = json.loads(row["output_json"]) if row["output_json"] else {} + except (ValueError, TypeError): + stored = {} + stored["_idempotent_replay"] = True + stored["_idempotent_note"] = ( + f"{action_name} was NOT re-executed: an identical run already " + f"completed (provider ref: {row['provider_ref'] or 'n/a'}). " + f"The original output is returned. Do not retry." + ) + logger.info( + f"[ActivityLog] Skipped duplicate {action_name} ({idem_key})" + ) + return GuardDecision( + proceed=False, idem_key=idem_key, stored_output=stored + ) + + # Stale INTENT: a previous attempt was interrupted between starting + # the side effect and recording its outcome. Surface once; the next + # identical attempt (if the LLM/user decides to retry) is allowed. + self._log.mark_uncertain_surfaced(idem_key) + note = ( + f"{action_name} was NOT executed. A previous attempt with these " + f"exact inputs was interrupted before its outcome could be " + f"recorded — the side effect (e.g. the message or email) MAY " + f"have already reached the recipient. Verify first (check the " + f"sent folder / channel history) or confirm with the user. If " + f"you determine it did not go out, run the action again — it " + f"will be allowed through." + ) + logger.warning( + f"[ActivityLog] Uncertain prior attempt for {action_name} " + f"({idem_key}) — surfaced to the agent" + ) + return GuardDecision(proceed=False, idem_key=idem_key, note=note) + + def complete( + self, + idem_key: str, + status: str, + outputs: Optional[Dict[str, Any]], + ) -> None: + ledger_status = STATUS_DONE if status == "success" else STATUS_FAILED + + provider_ref = None + output_json = None + if isinstance(outputs, dict): + for key in PROVIDER_REF_KEYS: + if outputs.get(key): + provider_ref = str(outputs[key]) + break + output_json = json.dumps(outputs, default=str) + if len(output_json) > MAX_STORED_OUTPUT_BYTES: + output_json = json.dumps( + { + "status": outputs.get("status", status), + "note": "output too large for the activity ledger", + } + ) + + self._log.record_outcome(idem_key, ledger_status, provider_ref, output_json) + + +# Global instance (same pattern as get_session_storage / get_trigger_store) +_activity_log: Optional[ActivityLog] = None + + +def get_activity_log() -> ActivityLog: + global _activity_log + if _activity_log is None: + _activity_log = ActivityLog() + return _activity_log diff --git a/app/triggers/router.py b/app/triggers/router.py new file mode 100644 index 00000000..b048b7b1 --- /dev/null +++ b/app/triggers/router.py @@ -0,0 +1,283 @@ +# -*- coding: utf-8 -*- +""" +app.triggers.router + +SessionRouter — decides which session an incoming item belongs to. + +This is the ONE routing implementation. It was extracted from AgentBase +(`_route_to_session` + context formatters); the second, near-duplicate +routing path that lived inside TriggerQueue.put() was deleted outright — +every producer sets a session_id, so it was unreachable in practice. + +Routing is consulted only by the chat-message handler, only when active +tasks exist, and only AFTER the message has been durably parked — so the +LLM call here is off the persistence-critical path: a crash mid-route +loses nothing. +""" + +from __future__ import annotations + +import json +import logging +from typing import Any, Dict, List, Optional + +from agent_core.core.trigger import Trigger + +try: + from app.logger import logger +except Exception: + logger = logging.getLogger(__name__) + logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") + + +class SessionRouter: + """Routes incoming messages/triggers to existing sessions via the LLM.""" + + def __init__( + self, + llm: Any, + route_to_session_prompt: str, + task_manager: Any = None, + event_stream_manager: Any = None, + ) -> None: + self._llm = llm + self._prompt = route_to_session_prompt + self._task_manager = task_manager + self._event_stream_manager = event_stream_manager + + def bind(self, *, task_manager: Any = None, event_stream_manager: Any = None): + """Late-bind managers created after the router.""" + if task_manager is not None: + self._task_manager = task_manager + if event_stream_manager is not None: + self._event_stream_manager = event_stream_manager + + # ─────────────────────── Routing decision ─────────────────────────────── + + async def route( + self, + item_type: str, + item_content: str, + existing_sessions: str, + source_platform: str = "default", + current_living_ui_id: Optional[str] = None, + recent_conversation: str = "(no recent conversation)", + ) -> Dict[str, Any]: + """Route incoming item to appropriate session using unified prompt. + + Args: + item_type: Type of incoming item ("message" or "trigger") + item_content: The content of the message or trigger description + existing_sessions: Formatted string of existing sessions + source_platform: The platform the message came from (e.g., "cli", "gui") + current_living_ui_id: The Living UI page the user is currently viewing, + if any. Used by the prompt to default context-dependent messages + ("fix this", "it's broken") to that Living UI's task while still + allowing explicit cross-Living-UI references to override. + recent_conversation: Formatted recent messages across sessions for + cross-session context (helps disambiguate "and Spanish" style + continuations and references to completed tasks). + + Returns: + Dict with routing decision containing: + - action: "route" | "new" + - session_id: The session to route to (or "new") + - reason: Explanation of the routing decision + """ + prompt = self._prompt.format( + item_type=item_type, + item_content=item_content, + source_platform=source_platform, + existing_sessions=existing_sessions, + current_living_ui_id=current_living_ui_id or "(not on a Living UI page)", + recent_conversation=recent_conversation, + ) + + logger.debug(f"[UNIFIED ROUTING PROMPT]:\n{prompt}") + response = await self._llm.generate_response_async( + system_prompt="You are a session routing system.", + user_prompt=prompt, + ) + logger.debug(f"[UNIFIED ROUTING RESPONSE]: {response}") + + try: + result = json.loads(response) + # Ensure action field exists for backward compatibility + if "action" not in result: + result["action"] = ( + "route" if result.get("session_id", "new") != "new" else "new" + ) + return result + except json.JSONDecodeError: + logger.error("[ROUTING] Failed to parse routing response JSON") + return { + "action": "new", + "session_id": "new", + "reason": "Failed to parse routing response", + } + + # ─────────────────────── Context formatting ───────────────────────────── + + def format_sessions_for_routing( + self, active_task_ids: List[str], triggers: Optional[List[Trigger]] = None + ) -> str: + """Format active sessions with rich context for routing prompt. + + Uses active task IDs from state_manager (not just triggers in queue) to ensure + all running tasks are visible for routing decisions. + + Args: + active_task_ids: List of task IDs from state_manager.main_state.active_task_ids + triggers: Optional list of triggers (used to check waiting_for_reply status) + + Returns: + Formatted string with session context for routing decisions. + """ + if not active_task_ids: + return "No existing sessions." + + # Build a lookup of triggers by session_id for waiting_for_reply status + trigger_map = {} + if triggers: + for tr in triggers: + if tr.session_id: + trigger_map[tr.session_id] = tr + + sections = [] + for i, task_id in enumerate(active_task_ids, 1): + task = ( + self._task_manager.tasks.get(task_id) if self._task_manager else None + ) + trigger = trigger_map.get(task_id) + + # Check waiting_for_reply from trigger OR from task state + is_waiting = False + if trigger and trigger.waiting_for_reply: + is_waiting = True + if ( + task + and hasattr(task, "waiting_for_user_reply") + and task.waiting_for_user_reply + ): + is_waiting = True + + status = "WAITING FOR REPLY" if is_waiting else "ACTIVE" + platform = ( + trigger.payload.get("platform", "default") if trigger else "default" + ) + + lines = [ + f"--- Session {i} ---", + f"Session ID: {task_id}", + f"Status: {status}", + ] + + if task: + lines.extend( + [ + f'Task Name: "{task.name}"', + f'Original Request: "{task.instruction}"', + f"Mode: {task.mode}", + f"Created: {task.created_at}", + ] + ) + + # Todo progress + if task.todos: + completed = sum(1 for t in task.todos if t.status == "completed") + in_progress_todo = next( + (t for t in task.todos if t.status == "in_progress"), None + ) + lines.append( + f"Progress: {completed}/{len(task.todos)} todos completed" + ) + if in_progress_todo: + lines.append( + f'Currently working on: "{in_progress_todo.content}"' + ) + + # Get recent events from event stream for this task + if self._event_stream_manager and task_id: + stream = self._event_stream_manager.get_stream_by_id(task_id) + if stream and stream.tail_events: + # Get last 10 events for better routing context + # (5 was insufficient - file creation events were missed) + recent_events = stream.tail_events[-10:] + lines.append("Recent Activity:") + for rec in recent_events: + # Only truncate very long event messages (500+ chars) + # Short truncation caused loss of important context like file paths + event_line = rec.compact_line() + if len(event_line) > 500: + event_line = event_line[:497] + "..." + lines.append(f" - {event_line}") + else: + # Fallback to trigger description if no task found + desc = trigger.next_action_description if trigger else "Unknown task" + lines.append(f'Description: "{desc}"') + + lines.append(f"Platform: {platform}") + + # Add Living UI context if the user is on a Living UI page + living_ui_id = trigger.payload.get("living_ui_id") if trigger else None + if living_ui_id: + lines.append(f"Living UI ID: {living_ui_id}") + try: + from app.living_ui import get_living_ui_manager + + mgr = get_living_ui_manager() + if mgr: + proj = mgr.get_project(living_ui_id) + if proj: + lines.append(f"Living UI Name: {proj.name}") + lines.append(f"Living UI Path: {proj.path}") + lines.append( + f" Read {proj.path}/LIVING_UI.md for app context" + ) + lines.append( + " If debugging issues, FIRST read these logs:" + ) + lines.append( + f" - {proj.path}/backend/logs/subprocess_output.log (crashes, stack traces)" + ) + lines.append( + f" - {proj.path}/backend/logs/frontend_console.log (frontend errors, network failures)" + ) + except Exception: + pass + + sections.append("\n".join(lines)) + + return "\n\n".join(sections) + + def format_recent_conversation(self, limit: int = 10) -> str: + """Format recent conversation messages for routing context. + + Provides the routing LLM with recent conversation history so it can + recognize messages related to completed tasks that are no longer in + the active sessions list. + + Args: + limit: Maximum number of recent messages to include. + + Returns: + Formatted string of recent conversation messages. + """ + if not self._event_stream_manager: + return "No recent conversation history." + + recent_msgs = self._event_stream_manager.get_recent_conversation_messages( + limit=limit + ) + if not recent_msgs: + return "No recent conversation history." + + lines = [] + for evt in recent_msgs: + ts = evt.ts.strftime("%Y-%m-%d %H:%M:%S") if evt.ts else "unknown" + line = f"[{ts}] [{evt.kind}]: {evt.message}" + if len(line) > 300: + line = line[:297] + "..." + lines.append(line) + + return "\n".join(lines) diff --git a/app/triggers/service.py b/app/triggers/service.py new file mode 100644 index 00000000..a5f74581 --- /dev/null +++ b/app/triggers/service.py @@ -0,0 +1,412 @@ +# -*- coding: utf-8 -*- +""" +app.triggers.service + +TriggerService — the single producer front door for durable triggers. + +``emit()`` writes the trigger to the store FIRST (no LLM call, sub-ms), then +feeds the in-memory TriggerQueue, which stays as the ordering primitive. The +consumer drives the lifecycle through ``next()`` (claim) and ``ack()``/ +``nack()`` (settle); ``rehydrate()`` re-delivers everything unfinished at +boot. The service also implements the queue's lifecycle-listener protocol so +triggers the queue discards (same-session replacement, session removal, +clear) settle their rows instead of resurrecting on the next boot. + +Producers that still call ``queue.put()`` directly keep working: their +triggers carry no store ``id``, so claim/ack are no-ops for them. + +For user messages there is additionally ``park()``: the message is durably +recorded BEFORE the session-routing LLM call, so a crash mid-routing no +longer loses it — the parked row is re-delivered (as a fresh session) by +the next boot's rehydration. +""" + +from __future__ import annotations + +import json +import logging +import time +import uuid +from dataclasses import dataclass, field +from typing import Any, Dict, List, Optional, Union + +from agent_core.core.trigger import Trigger +from agent_core.core.impl.trigger.queue import TriggerQueue + +from app.triggers.sources import TriggerSource +from app.triggers.store import STALE_TRIGGER_HOURS, TriggerStore + +try: + from app.logger import logger +except Exception: + logger = logging.getLogger(__name__) + logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") + + +# A trigger rehydrated/fired more than this many seconds late gets a +# catch-up note so the agent can use judgment (generalizes the Phase 0 +# scheduler-only behavior to every source). +CATCHUP_THRESHOLD_SECONDS = 120 + +# Retry policy for triggers whose react cycle raised: exponential backoff +# (30s, 60s, 120s, 240s, capped at 1h), then dead-letter after MAX_ATTEMPTS. +MAX_ATTEMPTS = 5 +BACKOFF_BASE_SECONDS = 30 +BACKOFF_CAP_SECONDS = 3600 + +# Settled rows older than this are garbage-collected at boot. +GC_TTL_HOURS = 7 * 24 + + +@dataclass +class TriggerSpec: + """What a producer asks TriggerService to durably schedule.""" + + source: Union[TriggerSource, str] + description: str + fire_at: Optional[float] = None # None → now + priority: int = 50 + session_id: Optional[str] = None + payload: Dict[str, Any] = field(default_factory=dict) + dedup_key: Optional[str] = None + # Deprecated, ignored: in-queue routing was removed (Phase 3); the queue + # treats every put identically. Kept so existing call sites don't break. + skip_merge: bool = False + waiting_for_reply: bool = False + + +@dataclass +class EmitResult: + trigger_id: Optional[int] + deduped: bool + + +def _format_duration(seconds: float) -> str: + seconds = int(seconds) + if seconds < 60: + value, unit = seconds, "second" + elif seconds < 3600: + value, unit = seconds // 60, "minute" + elif seconds < 86400: + value, unit = seconds // 3600, "hour" + else: + value, unit = seconds // 86400, "day" + return f"{value} {unit}{'s' if value != 1 else ''}" + + +class TriggerService: + """Durable front door over (TriggerStore, TriggerQueue).""" + + def __init__(self, store: TriggerStore, queue: TriggerQueue) -> None: + self._store = store + self._queue = queue + # Optional callback(trigger, error) invoked when a trigger exhausts + # its retries and is parked DEAD — the app layer surfaces it to the + # user (a dead-lettered trigger is work that silently stopped). + self._on_dead_letter = None + queue.set_lifecycle_listener(self) + + def set_dead_letter_handler(self, handler) -> None: + """Register callback(trigger, error) fired on the DEAD transition.""" + self._on_dead_letter = handler + + # ─────────────────────── Producer API ─────────────────────────────────── + + async def emit(self, spec: TriggerSpec) -> EmitResult: + """Durably record a trigger, then enqueue it. + + The store INSERT happens first — from that point a crash anywhere + loses nothing. A dedup_key collision with an active row means this + work is already queued or in flight: no enqueue, no double-fire. + """ + fire_at = spec.fire_at if spec.fire_at is not None else time.time() + source = ( + spec.source.value + if isinstance(spec.source, TriggerSource) + else str(spec.source) + ) + + row_id, created = self._store.insert( + source=source, + description=spec.description, + fire_at=fire_at, + priority=spec.priority, + session_id=spec.session_id, + payload=spec.payload, + dedup_key=spec.dedup_key, + waiting_for_reply=spec.waiting_for_reply, + ) + if not created: + logger.info( + f"[TriggerService] Deduped emit (key={spec.dedup_key!r}, " + f"existing row={row_id})" + ) + return EmitResult(row_id, True) + + trig = Trigger( + fire_at=fire_at, + priority=spec.priority, + next_action_description=spec.description, + payload=dict(spec.payload), + session_id=spec.session_id, + waiting_for_reply=spec.waiting_for_reply, + id=row_id, + source=source, + ) + await self._queue.put(trig) + return EmitResult(row_id, False) + + def park(self, spec: TriggerSpec) -> Optional[int]: + """Durably record a trigger WITHOUT enqueueing it. + + Used for incoming user messages before session routing: the routing + LLM call takes seconds and a crash during it would otherwise lose + the message entirely. The caller settles the parked row once the + message reaches its destination (``settle_parked``); if it never + does, rehydration re-delivers the row as a fresh session. + """ + fire_at = spec.fire_at if spec.fire_at is not None else time.time() + source = ( + spec.source.value + if isinstance(spec.source, TriggerSource) + else str(spec.source) + ) + row_id, _ = self._store.insert( + source=source, + description=spec.description, + fire_at=fire_at, + priority=spec.priority, + session_id=spec.session_id, + payload=spec.payload, + dedup_key=spec.dedup_key, + waiting_for_reply=spec.waiting_for_reply, + ) + return row_id + + def settle_parked( + self, row_id: Optional[int], delivered_as: Optional[int] = None + ) -> None: + """Mark a parked row as delivered to its destination. + + Args: + row_id: The parked row (None is a no-op for convenience). + delivered_as: The store row that now carries the work — the new + session's trigger row, or None when the message was attached + to an existing session's trigger via fire(). + """ + if row_id is None: + return + self._store.supersede([row_id], by_id=delivered_as) + + # ─────────────────────── Consumer API ─────────────────────────────────── + + async def next(self) -> Trigger: + """Wait for the next due trigger and claim its store row.""" + trig = await self._queue.get() + if trig.id is not None: + self._store.claim([trig.id]) + return trig + + async def ack(self, trig: Trigger) -> None: + """The react cycle for this trigger completed.""" + if trig.id is not None: + self._store.ack([trig.id]) + + async def nack(self, trig: Trigger, error: str) -> None: + """The react cycle raised before completing — retry with backoff. + + attempts < MAX_ATTEMPTS: the row goes back to PENDING with an + exponential backoff floor and is re-enqueued. Otherwise it is parked + DEAD and surfaced via the dead-letter handler. (react() handles most + of its own errors internally; this path covers consumer-level + failures, so the retry budget is rarely consumed.) + """ + if trig.id is None: + return + row = self._store.get(trig.id) + attempts = row["attempts"] if row else MAX_ATTEMPTS + + if attempts >= MAX_ATTEMPTS: + self._store.mark_dead([trig.id], error=error) + logger.error( + f"[TriggerService] Trigger {trig.id} ({trig.source}) dead-lettered " + f"after {attempts} attempts: {error}" + ) + if self._on_dead_letter: + try: + self._on_dead_letter(trig, error) + except Exception as e: + logger.warning(f"[TriggerService] Dead-letter handler failed: {e}") + return + + backoff = min( + BACKOFF_BASE_SECONDS * (2 ** max(attempts - 1, 0)), BACKOFF_CAP_SECONDS + ) + not_before = time.time() + backoff + self._store.retry(trig.id, not_before, error=error) + logger.warning( + f"[TriggerService] Trigger {trig.id} ({trig.source}) failed " + f"(attempt {attempts}/{MAX_ATTEMPTS}), retrying in {int(backoff)}s: {error}" + ) + retry_trig = Trigger( + fire_at=not_before, + priority=trig.priority, + next_action_description=trig.next_action_description, + payload=dict(trig.payload), + session_id=trig.session_id, + waiting_for_reply=trig.waiting_for_reply, + id=trig.id, + source=trig.source, + ) + await self._queue.put(retry_trig) + + # ─────────────────────── fire() pass-through ──────────────────────────── + + async def fire( + self, + session_id: str, + *, + message: Optional[str] = None, + platform: Optional[str] = None, + living_ui_id: Optional[str] = None, + ) -> bool: + """Retarget a session's trigger to now, durably mirroring the change. + + The store write happens before the in-memory mutation so an attached + user message survives a crash mid-react (today it would be lost). + """ + patch: Dict[str, Any] = {} + if message: + patch["pending_user_message"] = message + if platform: + patch["pending_platform"] = platform + if living_ui_id: + patch["living_ui_id"] = living_ui_id + try: + self._store.update_for_fire(session_id, time.time(), patch) + except Exception as e: + logger.warning(f"[TriggerService] Failed to mirror fire() to store: {e}") + return await self._queue.fire( + session_id, + message=message, + platform=platform, + living_ui_id=living_ui_id, + ) + + # ─────────────────────── Boot recovery ────────────────────────────────── + + async def rehydrate(self) -> int: + """Re-deliver every unfinished trigger from the previous run. + + 1. CLAIMED orphans (in flight when the process died) → PENDING. + 2. Load PENDING rows into the queue. Stale rows (> 24h past due, + mirroring the task TTL) are settled instead of re-fired; overdue + rows get an agent-judgment catch-up note (generalized Phase 0). + + Must run BEFORE ``_schedule_restored_task_triggers()`` so boot-time + ``resume:{task_id}`` re-emits hit the dedup index instead of + double-enqueueing. + """ + self._store.reclaim_claimed() + + now = time.time() + stale_ids: List[int] = [] + requeued = 0 + + for row in self._store.load_pending(): + overdue = now - row["fire_at"] + + if overdue > STALE_TRIGGER_HOURS * 3600: + stale_ids.append(row["id"]) + logger.info( + f"[TriggerService] Skipping stale trigger {row['id']} " + f"({row['source']}, {_format_duration(overdue)} past due)" + ) + continue + + try: + payload = json.loads(row["payload_json"]) + except (ValueError, TypeError): + payload = {} + description = row["description"] + + if overdue > CATCHUP_THRESHOLD_SECONDS and not payload.get("is_catch_up"): + note = ( + f"NOTE: This trigger was due about " + f"{_format_duration(overdue)} ago but CraftBot was offline " + f"at the time. Use your judgment: if it is only slightly " + f"late and still relevant, carry it out normally. If it is " + f"significantly late, or the action is time-sensitive or " + f"irreversible (e.g. sending a message or email), confirm " + f"with the user before proceeding, or skip it if it is no " + f"longer relevant." + ) + payload["is_catch_up"] = True + payload["overdue_seconds"] = overdue + description = f"{description}\n\n{note}" + + # A row with no session is a parked user message whose routing + # never completed (crash mid-route). Re-deliver it as a fresh + # session — the agent handles it like a newly arrived message. + session_id = row["session_id"] + if not session_id: + session_id = uuid.uuid4().hex[:6] + self._store.update_session(row["id"], session_id) + logger.info( + f"[TriggerService] Recovered unrouted trigger {row['id']} " + f"as new session {session_id}" + ) + + trig = Trigger( + fire_at=row["fire_at"], + priority=row["priority"], + next_action_description=description, + payload=payload, + session_id=session_id, + waiting_for_reply=bool(row["waiting_for_reply"]), + id=row["id"], + source=row["source"] or "", + ) + await self._queue.put(trig) + requeued += 1 + + if stale_ids: + self._store.mark_stale(stale_ids) + if requeued: + logger.info( + f"[TriggerService] Rehydrated {requeued} pending trigger(s) " + "from previous run" + ) + + # Boot-time housekeeping: drop settled rows past the TTL. + try: + self._store.gc(ttl_hours=GC_TTL_HOURS) + except Exception as e: + logger.warning(f"[TriggerService] Trigger GC failed: {e}") + + return requeued + + # ─────────────────────── Session / reset cleanup ──────────────────────── + + async def cancel_sessions(self, session_ids: List[str]) -> None: + """Settle a session's rows and drop its queued triggers.""" + self._store.cancel_sessions(session_ids) + await self._queue.remove_sessions(session_ids) + + def clear_all(self) -> None: + """Wipe the store (agent reset path).""" + self._store.clear_all() + + # ─────────────────────── TriggerLifecycleListener ─────────────────────── + + def on_evicted( + self, evicted: List[Trigger], replacement: Optional[Trigger] + ) -> None: + """Queue discarded triggers unconsumed — settle their rows.""" + ids = [t.id for t in evicted if t.id is not None] + if not ids: + return + if replacement is not None: + self._store.supersede(ids, replacement.id) + else: + self._store.cancel(ids) diff --git a/app/triggers/sources.py b/app/triggers/sources.py new file mode 100644 index 00000000..46673e81 --- /dev/null +++ b/app/triggers/sources.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +""" +app.triggers.sources + +Typed trigger sources and dedup-key builders. + +Phase 1 defines only the sources migrated to TriggerService so far; Phase 2 +extends this enum to every producer and removes the scattered +``payload["type"]`` string branching. +""" + +from __future__ import annotations + +from enum import Enum + + +class TriggerSource(str, Enum): + """Typed origin of a trigger. Stored in the ``triggers.source`` column. + + Replaces the stringly-typed ``payload["type"]`` convention: every + producer states its origin once, at emit time, instead of handlers + string-matching payload fields across files. + """ + + # User input + USER_MESSAGE = "user_message" + # Scheduler + SCHEDULED = "scheduled" + SCHEDULED_ONCE = "scheduled_once" + SCHEDULED_IMMEDIATE = "scheduled_immediate" + # Task lifecycle + TASK_CONTINUATION = "task_continuation" + RESUME = "resume" + RESTART_NOTICE = "restart_notice" + LIMIT_REACHED = "limit_reached" + # Background workflows + MEMORY = "memory" + PROACTIVE_HEARTBEAT = "proactive_heartbeat" + PROACTIVE_PLANNER = "proactive_planner" + ONBOARDING = "onboarding" + SKILL_WORKFLOW = "skill_workflow" + # Living UI + LIVING_UI_DEV = "living_ui_dev" + LIVING_UI_CRASH_FIX = "living_ui_crash_fix" + LIVING_UI_IMPORT = "living_ui_import" + # Catch-all for producers not yet migrated to TriggerService. + LEGACY = "legacy" + + +# Sources whose triggers start a freshly-created task get no dedup key: the +# task id itself is new each time, so the trigger's identity IS the task. +# Dedup keys exist for work whose identity predates the trigger (a schedule +# occurrence, a task resume) where a crash retry could mint a duplicate. + + +def scheduled_dedup_key(schedule_id: str, fire_target: float) -> str: + """Dedup key for one fire of a recurring schedule. + + Bucketed to the scheduled minute: re-emitting the *same* fire (crash + retry) dedups, while the next legitimate occurrence (a different + minute) does not. + """ + return f"scheduled:{schedule_id}:{int(fire_target // 60)}" + + +def scheduled_once_dedup_key(schedule_id: str) -> str: + """Dedup key for a one-time scheduled task — one fire, ever, per id.""" + return f"scheduled-once:{schedule_id}" + + +def resume_dedup_key(task_id: str) -> str: + """Dedup key for a boot-time task resume — double-boot can't double-resume.""" + return f"resume:{task_id}" diff --git a/app/triggers/store.py b/app/triggers/store.py new file mode 100644 index 00000000..7ef5bb76 --- /dev/null +++ b/app/triggers/store.py @@ -0,0 +1,494 @@ +# -*- coding: utf-8 -*- +""" +app.triggers.store + +Durable trigger store. + +SQLite-backed write-ahead store for triggers: a trigger accepted by +TriggerService is INSERTed here as PENDING before it can run, claimed +(CLAIMED) when the consumer picks it up, and settled (DONE/FAILED) when the +react cycle finishes. A boot-time reclaim scan turns orphaned CLAIMED rows +back into PENDING, so a crash anywhere between emit and ack re-delivers +instead of losing work. + +Dedup is enforced by the database, not application code: a partial UNIQUE +index on ``dedup_key`` over *active* rows (PENDING/CLAIMED) makes inserting +the same work twice an atomic no-op, while settled rows don't block +legitimate re-fires (e.g. ``resume:{task_id}`` on a later restart). + +Same file and idioms as ``app/usage/session_storage.py`` (sessions.db, WAL, +short per-operation connections, sync API). +""" + +from __future__ import annotations + +import json +import logging +import sqlite3 +import time +from datetime import datetime, timezone +from pathlib import Path +from typing import Any, Dict, List, Optional, Tuple + +try: + from app.logger import logger +except Exception: + logger = logging.getLogger(__name__) + logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") + + +# Trigger lifecycle states +STATUS_PENDING = "PENDING" +STATUS_CLAIMED = "CLAIMED" +STATUS_DONE = "DONE" +STATUS_FAILED = "FAILED" +STATUS_DEAD = "DEAD" + +ACTIVE_STATUSES = (STATUS_PENDING, STATUS_CLAIMED) + +# How a settled row reached DONE/FAILED — for observability, not logic. +RESOLUTION_COMPLETED = "completed" +RESOLUTION_SUPERSEDED = "superseded" +RESOLUTION_CANCELLED = "cancelled" +RESOLUTION_FAILED = "failed" +RESOLUTION_STALE = "stale" + +# PENDING rows whose fire_at is older than this are not rehydrated (mirrors +# the STALE_TASK_HOURS=24 task TTL in session_storage). +STALE_TRIGGER_HOURS = 24 + + +def _now_iso() -> str: + return datetime.now(timezone.utc).isoformat() + + +class TriggerStore: + """Durable persistence for triggers, layered under TriggerQueue.""" + + def __init__(self, db_path: Optional[str] = None): + if db_path is None: + from app.config import APP_DATA_PATH + + usage_dir = Path(APP_DATA_PATH) / ".usage" + usage_dir.mkdir(parents=True, exist_ok=True) + db_path = str(usage_dir / "sessions.db") + + self._db_path = db_path + self._init_db() + logger.info(f"[TriggerStore] Initialized at {self._db_path}") + + def _connect(self) -> sqlite3.Connection: + conn = sqlite3.connect(self._db_path) + conn.execute("PRAGMA busy_timeout=5000") + return conn + + def _init_db(self) -> None: + """Create the triggers table, replacing any pre-#321 legacy schema.""" + with self._connect() as conn: + conn.execute("PRAGMA journal_mode=WAL") + + # A `triggers` table existed in old CraftBot versions with a + # different schema (session_storage used to DROP it every boot). + # If a table without our dedup_key column is present, it's that + # relic — replace it. + cols = [ + row[1] + for row in conn.execute("PRAGMA table_info(triggers)").fetchall() + ] + # "queue" is the newest column — its absence also catches a table + # created by an earlier pre-release iteration of this branch. + if cols and ("dedup_key" not in cols or "queue" not in cols): + logger.info("[TriggerStore] Dropping legacy triggers table") + conn.execute("DROP TABLE triggers") + + conn.execute(""" + CREATE TABLE IF NOT EXISTS triggers ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + source TEXT NOT NULL DEFAULT '', + dedup_key TEXT, + session_id TEXT, + queue TEXT NOT NULL DEFAULT 'main', + fire_at REAL NOT NULL, + not_before REAL, + priority INTEGER NOT NULL DEFAULT 50, + description TEXT NOT NULL DEFAULT '', + payload_json TEXT NOT NULL DEFAULT '{}', + waiting_for_reply INTEGER NOT NULL DEFAULT 0, + status TEXT NOT NULL DEFAULT 'PENDING', + resolution TEXT, + superseded_by INTEGER, + attempts INTEGER NOT NULL DEFAULT 0, + claimed_by TEXT, + lease_until REAL, + last_error TEXT, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL + ) + """) + conn.execute(""" + CREATE INDEX IF NOT EXISTS idx_triggers_status_fire + ON triggers(status, fire_at) + """) + conn.execute(""" + CREATE INDEX IF NOT EXISTS idx_triggers_session + ON triggers(session_id) + """) + # Dedup is active-rows-only: a DONE resume:{task_id} must not + # block a legitimate re-resume after the next restart. + conn.execute(""" + CREATE UNIQUE INDEX IF NOT EXISTS uq_triggers_dedup_active + ON triggers(dedup_key) + WHERE dedup_key IS NOT NULL + AND status IN ('PENDING', 'CLAIMED') + """) + conn.commit() + + # ─────────────────────── Insert / dedup ───────────────────────────────── + + def insert( + self, + *, + source: str, + description: str, + fire_at: float, + priority: int = 50, + session_id: Optional[str] = None, + payload: Optional[Dict[str, Any]] = None, + dedup_key: Optional[str] = None, + not_before: Optional[float] = None, + waiting_for_reply: bool = False, + queue: str = "main", + ) -> Tuple[Optional[int], bool]: + """Durably record a trigger as PENDING. + + Returns: + (row_id, created). When ``dedup_key`` collides with an active row, + the insert is a no-op and the existing row's id is returned with + created=False. + """ + now = _now_iso() + payload_json = json.dumps(payload or {}, default=str) + with self._connect() as conn: + try: + cur = conn.execute( + """ + INSERT INTO triggers ( + source, dedup_key, session_id, queue, fire_at, + not_before, priority, description, payload_json, + waiting_for_reply, status, attempts, created_at, + updated_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'PENDING', 0, ?, ?) + """, + ( + source, + dedup_key, + session_id, + queue, + fire_at, + not_before, + priority, + description, + payload_json, + 1 if waiting_for_reply else 0, + now, + now, + ), + ) + conn.commit() + return cur.lastrowid, True + except sqlite3.IntegrityError: + row = conn.execute( + """ + SELECT id FROM triggers + WHERE dedup_key = ? AND status IN ('PENDING', 'CLAIMED') + """, + (dedup_key,), + ).fetchone() + return (row[0] if row else None), False + + # ─────────────────────── Lifecycle transitions ─────────────────────────── + + def _set_status( + self, + ids: List[int], + status: str, + *, + resolution: Optional[str] = None, + superseded_by: Optional[int] = None, + last_error: Optional[str] = None, + ) -> None: + if not ids: + return + now = _now_iso() + with self._connect() as conn: + conn.executemany( + """ + UPDATE triggers + SET status = ?, resolution = ?, superseded_by = ?, + last_error = COALESCE(?, last_error), + lease_until = NULL, updated_at = ? + WHERE id = ? + """, + [ + (status, resolution, superseded_by, last_error, now, row_id) + for row_id in ids + ], + ) + conn.commit() + + def claim( + self, + ids: List[int], + lease_seconds: float = 900.0, + claimed_by: str = "main", + ) -> List[int]: + """Atomically mark rows as being worked on (PENDING → CLAIMED). + + Compare-and-swap semantics: a row is claimed only if it is still + PENDING, and the list of actually-claimed ids is returned. With + today's single consumer the claim always wins; with multiple + sub-agent consumers (future) the database arbitrates — exactly one + claimant per row. + + The lease exists for crash recovery: with a single consumer the + boot-time reclaim scan re-delivers orphans; multi-consumer mode adds + a periodic lease-expiry sweep. + """ + if not ids: + return [] + now = _now_iso() + lease_until = time.time() + lease_seconds + claimed: List[int] = [] + with self._connect() as conn: + for row_id in ids: + cur = conn.execute( + """ + UPDATE triggers + SET status = 'CLAIMED', attempts = attempts + 1, + claimed_by = ?, lease_until = ?, updated_at = ? + WHERE id = ? AND status = 'PENDING' + """, + (claimed_by, lease_until, now, row_id), + ) + if cur.rowcount: + claimed.append(row_id) + conn.commit() + return claimed + + def ack(self, ids: List[int]) -> None: + """The react cycle completed — settle the rows (→ DONE).""" + self._set_status(ids, STATUS_DONE, resolution=RESOLUTION_COMPLETED) + + def fail(self, ids: List[int], error: Optional[str] = None) -> None: + """Settle the rows as FAILED (terminal — retries exhausted or + explicitly not retryable).""" + self._set_status( + ids, STATUS_FAILED, resolution=RESOLUTION_FAILED, last_error=error + ) + + def retry( + self, row_id: int, not_before: float, error: Optional[str] = None + ) -> None: + """A failed attempt gets another chance: back to PENDING with a + backoff floor. ``attempts`` is preserved (claim increments it).""" + with self._connect() as conn: + conn.execute( + """ + UPDATE triggers + SET status = 'PENDING', not_before = ?, fire_at = ?, + claimed_by = NULL, lease_until = NULL, + last_error = COALESCE(?, last_error), updated_at = ? + WHERE id = ? + """, + (not_before, not_before, error, _now_iso(), row_id), + ) + conn.commit() + + def mark_dead(self, ids: List[int], error: Optional[str] = None) -> None: + """Retries exhausted — park the rows as DEAD (dead-letter).""" + self._set_status( + ids, STATUS_DEAD, resolution=RESOLUTION_FAILED, last_error=error + ) + + def supersede(self, ids: List[int], by_id: Optional[int]) -> None: + """Rows replaced by a newer same-session trigger (→ DONE, marked).""" + self._set_status( + ids, STATUS_DONE, resolution=RESOLUTION_SUPERSEDED, superseded_by=by_id + ) + + def cancel(self, ids: List[int]) -> None: + """Rows removed without execution (session cleanup, reset).""" + self._set_status(ids, STATUS_DONE, resolution=RESOLUTION_CANCELLED) + + def cancel_sessions(self, session_ids: List[str]) -> int: + """Settle every active row belonging to the given sessions.""" + if not session_ids: + return 0 + now = _now_iso() + placeholders = ",".join("?" for _ in session_ids) + with self._connect() as conn: + cur = conn.execute( + f""" + UPDATE triggers + SET status = 'DONE', resolution = 'cancelled', + lease_until = NULL, updated_at = ? + WHERE session_id IN ({placeholders}) + AND status IN ('PENDING', 'CLAIMED') + """, + (now, *session_ids), + ) + conn.commit() + return cur.rowcount + + # ─────────────────────── Boot recovery ────────────────────────────────── + + def reclaim_claimed(self) -> int: + """Boot scan: CLAIMED rows are orphans of a crashed run → PENDING. + + Single consumer means any CLAIMED row at boot was in-flight when the + process died; lease expiry doesn't matter for this scan. + """ + now = _now_iso() + with self._connect() as conn: + cur = conn.execute( + """ + UPDATE triggers + SET status = 'PENDING', claimed_by = NULL, + lease_until = NULL, updated_at = ? + WHERE status = 'CLAIMED' + """, + (now,), + ) + conn.commit() + if cur.rowcount: + logger.info( + f"[TriggerStore] Reclaimed {cur.rowcount} in-flight trigger(s) " + "from previous run" + ) + return cur.rowcount + + def load_pending(self) -> List[Dict[str, Any]]: + """Return all PENDING rows (as dicts) ordered by fire_at.""" + with self._connect() as conn: + conn.row_factory = sqlite3.Row + rows = conn.execute( + "SELECT * FROM triggers WHERE status = 'PENDING' ORDER BY fire_at ASC" + ).fetchall() + return [dict(row) for row in rows] + + def mark_stale(self, ids: List[int]) -> None: + """Settle rows skipped at rehydration for being too old.""" + self._set_status(ids, STATUS_DONE, resolution=RESOLUTION_STALE) + + # ─────────────────────── fire() mirroring ─────────────────────────────── + + def update_for_fire( + self, + session_id: str, + fire_at: float, + payload_patch: Dict[str, Any], + ) -> int: + """Mirror queue.fire() onto the session's active rows. + + Persists the retargeted fire_at and any attached user message BEFORE + the in-memory mutation, so a crash mid-react keeps the message for + redelivery. + """ + now = _now_iso() + updated = 0 + with self._connect() as conn: + conn.row_factory = sqlite3.Row + rows = conn.execute( + """ + SELECT id, payload_json FROM triggers + WHERE session_id = ? AND status IN ('PENDING', 'CLAIMED') + """, + (session_id,), + ).fetchall() + for row in rows: + try: + payload = json.loads(row["payload_json"]) + except (ValueError, TypeError): + payload = {} + payload.update(payload_patch) + conn.execute( + """ + UPDATE triggers + SET fire_at = ?, payload_json = ?, updated_at = ? + WHERE id = ? + """, + (fire_at, json.dumps(payload, default=str), now, row["id"]), + ) + updated += 1 + conn.commit() + return updated + + def gc(self, ttl_hours: float = 7 * 24) -> int: + """Delete settled rows (DONE/FAILED/DEAD) older than the TTL. + + ISO-8601 UTC timestamps compare lexicographically, so a string + comparison against the cutoff is correct. + """ + cutoff = datetime.fromtimestamp( + time.time() - ttl_hours * 3600, tz=timezone.utc + ).isoformat() + with self._connect() as conn: + cur = conn.execute( + """ + DELETE FROM triggers + WHERE status IN ('DONE', 'FAILED', 'DEAD') AND updated_at < ? + """, + (cutoff,), + ) + conn.commit() + if cur.rowcount: + logger.info( + f"[TriggerStore] GC removed {cur.rowcount} settled trigger row(s)" + ) + return cur.rowcount + + def update_session(self, row_id: int, session_id: str) -> None: + """Assign a session to a row (recovery of unrouted parked messages).""" + with self._connect() as conn: + conn.execute( + "UPDATE triggers SET session_id = ?, updated_at = ? WHERE id = ?", + (session_id, _now_iso(), row_id), + ) + conn.commit() + + # ─────────────────────── Utilities ────────────────────────────────────── + + def get(self, row_id: int) -> Optional[Dict[str, Any]]: + with self._connect() as conn: + conn.row_factory = sqlite3.Row + row = conn.execute( + "SELECT * FROM triggers WHERE id = ?", (row_id,) + ).fetchone() + return dict(row) if row else None + + def count_by_status(self) -> Dict[str, int]: + with self._connect() as conn: + rows = conn.execute( + "SELECT status, COUNT(*) FROM triggers GROUP BY status" + ).fetchall() + return {status: count for status, count in rows} + + def clear_all(self) -> None: + """Wipe the table. Part of the agent reset path — without this a + reset followed by a restart would resurrect cleared work.""" + with self._connect() as conn: + conn.execute("DELETE FROM triggers") + conn.commit() + logger.info("[TriggerStore] Cleared all trigger rows") + + +# Global store instance (same pattern as get_session_storage) +_trigger_store: Optional[TriggerStore] = None + + +def get_trigger_store() -> TriggerStore: + """Get the global trigger store instance.""" + global _trigger_store + if _trigger_store is None: + _trigger_store = TriggerStore() + return _trigger_store diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 57f8a42d..85f6c50d 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -969,7 +969,9 @@ def __init__( ) # Bind task_manager and trigger_queue for task creation agent = self._controller.agent - self._living_ui_manager.bind_task_manager(agent.task_manager, agent.triggers) + self._living_ui_manager.bind_task_manager( + agent.task_manager, agent.triggers, trigger_service=agent.trigger_service + ) # Clean up orphan processes and folders from previous sessions self._living_ui_manager.cleanup_on_startup() @@ -3414,20 +3416,23 @@ async def _handle_task_resume(self, task_id: str, message: str) -> None: # _create_new_trigger does post-action. is_simple = getattr(task, "mode", "complex") == "simple" resume_priority = 5 if is_simple else 7 - await agent.triggers.put( - Trigger( - fire_at=_time.time(), - priority=resume_priority, - next_action_description=( + from app.triggers import TriggerSource, TriggerSpec, resume_dedup_key + + await agent.trigger_service.emit( + TriggerSpec( + source=TriggerSource.RESUME, + description=( "Task was resumed by the user. Review the event stream " "history. Do NOT call task_end immediately. If the task " "was previously completed, you MUST ask the user for " "their intent FIRST before taking any action." ), + priority=resume_priority, session_id=task_id, payload={"gui_mode": STATE.gui_mode}, - ), - skip_merge=True, + dedup_key=resume_dedup_key(task_id), + skip_merge=True, + ) ) await self._broadcast( @@ -4068,16 +4073,16 @@ async def _err(msg: str) -> None: ) # ---- Queue trigger so execution actually starts --------- - from app.trigger import Trigger - - trigger = Trigger( - fire_at=time.time(), - priority=60, - next_action_description=f"{verb} skill '{target}' from completed task", - session_id=new_task_id, - payload={}, + from app.triggers import TriggerSource, TriggerSpec + + await agent.trigger_service.emit( + TriggerSpec( + source=TriggerSource.SKILL_WORKFLOW, + description=f"{verb} skill '{target}' from completed task", + priority=60, + session_id=new_task_id, + ) ) - await agent.triggers.put(trigger) # Acknowledge in the chat immediately so the user sees the work # being picked up. The agent will follow up with a presentation @@ -4914,17 +4919,16 @@ async def _handle_memory_process_trigger(self) -> None: if task_id: # Queue trigger to start the task (same as _handle_memory_processing_trigger) - import time - from app.trigger import Trigger - - trigger = Trigger( - fire_at=time.time(), - priority=60, - next_action_description="Process unprocessed events into long-term memory", - session_id=task_id, - payload={}, + from app.triggers import TriggerSource, TriggerSpec + + await agent.trigger_service.emit( + TriggerSpec( + source=TriggerSource.TASK_CONTINUATION, + description="Process unprocessed events into long-term memory", + priority=60, + session_id=task_id, + ) ) - await agent.triggers.put(trigger) await self._broadcast( { @@ -6503,21 +6507,21 @@ async def _handle_living_ui_import(self, source: str, name: str) -> None: ) if task_id: - from app.trigger import Trigger - import time + from app.triggers import TriggerSource, TriggerSpec # Link the task to the placeholder so question-mirroring and todo # broadcasts (keyed by task id) target this tab. self._living_ui_manager.set_project_task(project_id, task_id) - trigger = Trigger( - fire_at=time.time(), - priority=50, - next_action_description=f"[Living UI] Import: {name}", - session_id=task_id, - payload={"type": "living_ui_import", "source": source}, + await self._controller.agent.trigger_service.emit( + TriggerSpec( + source=TriggerSource.LIVING_UI_IMPORT, + description=f"[Living UI] Import: {name}", + priority=50, + session_id=task_id, + payload={"type": "living_ui_import", "source": source}, + ) ) - await self._controller.agent.triggers.put(trigger) else: # Couldn't create the task — don't leave a stuck "creating" tab. await self._broadcast( diff --git a/app/ui_layer/controller/ui_controller.py b/app/ui_layer/controller/ui_controller.py index 55786b90..e15ac421 100644 --- a/app/ui_layer/controller/ui_controller.py +++ b/app/ui_layer/controller/ui_controller.py @@ -511,20 +511,38 @@ def _update_state_from_event(self, event: UIEvent) -> None: ) async def _consume_triggers(self) -> None: - """Consume triggers and run agent reactions.""" + """Consume triggers and run agent reactions. + + Durable lifecycle: ``next()`` claims the trigger's store + rows (CLAIMED), ``ack()`` settles them when the react cycle completes, + ``nack()`` on an exception. A crash or cancellation mid-react leaves + the rows CLAIMED, and the next boot's reclaim scan re-delivers them — + at-least-once instead of silently lost. + """ logger.info("[CONSUMER] Trigger consumer started") try: while self._running and self._agent.is_running: + trigger = None try: - trigger = await self._agent.triggers.get() + trigger = await self._agent.trigger_service.next() await self._agent.react(trigger) + await self._agent.trigger_service.ack(trigger) except asyncio.CancelledError: + # Shutdown: deliberately no ack/nack — the row stays + # CLAIMED and is reclaimed (re-delivered) on next boot. raise except Exception as e: logger.error( f"[CONSUMER] Exception during trigger processing: {e!r}", exc_info=True, ) + if trigger is not None: + try: + await self._agent.trigger_service.nack(trigger, repr(e)) + except Exception: + logger.error( + "[CONSUMER] Failed to nack trigger", exc_info=True + ) await asyncio.sleep(0.1) except asyncio.CancelledError: logger.info("[CONSUMER] Trigger consumer cancelled") diff --git a/app/usage/session_storage.py b/app/usage/session_storage.py index 4056f3e0..21e245b2 100644 --- a/app/usage/session_storage.py +++ b/app/usage/session_storage.py @@ -100,8 +100,8 @@ def _init_db(self) -> None: ) """) - # Clean up triggers table from previous versions (no longer used) - cursor.execute("DROP TABLE IF EXISTS triggers") + # NOTE: the `triggers` table is owned by app/triggers/store.py + # (durable trigger store) — do not touch it here. conn.commit() diff --git a/scripts/peek_durable_state.py b/scripts/peek_durable_state.py new file mode 100644 index 00000000..029d1165 --- /dev/null +++ b/scripts/peek_durable_state.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +"""Dev helper: print the durable-execution state (triggers + activity ledger). + +Usage (from repo root, app can be running — WAL allows concurrent reads): + python scripts/peek_durable_state.py # both tables + python scripts/peek_durable_state.py triggers # one table + python scripts/peek_durable_state.py activity +""" + +import sqlite3 +import sys +from pathlib import Path + +DB = Path(__file__).resolve().parent.parent / "app" / "data" / ".usage" / "sessions.db" + + +def show(title: str, query: str) -> None: + print(f"\n=== {title} ===") + try: + with sqlite3.connect(DB) as conn: + conn.row_factory = sqlite3.Row + rows = conn.execute(query).fetchall() + except sqlite3.OperationalError as e: + print(f"({e} — start the app once so the table is created)") + return + if not rows: + print("(empty)") + return + for r in rows: + print(" | ".join(f"{k}={r[k]}" for k in r.keys())) + + +which = sys.argv[1] if len(sys.argv) > 1 else "all" + +if which in ("all", "triggers"): + show( + f"triggers (newest 20) — {DB}", + """ + SELECT id, source, session_id, status, resolution, attempts, + dedup_key, substr(description, 1, 50) AS description + FROM triggers ORDER BY id DESC LIMIT 20 + """, + ) + show( + "triggers by status", + "SELECT status, COUNT(*) AS count FROM triggers GROUP BY status", + ) + +if which in ("all", "activity"): + show( + "activity_log (newest 10)", + """ + SELECT substr(idem_key, 1, 40) AS idem_key, action, status, + provider_ref, updated_at + FROM activity_log ORDER BY updated_at DESC LIMIT 10 + """, + ) diff --git a/tests/e2e/_harness/helpers.py b/tests/e2e/_harness/helpers.py index 81b7e7f9..4ee892c1 100644 --- a/tests/e2e/_harness/helpers.py +++ b/tests/e2e/_harness/helpers.py @@ -197,6 +197,12 @@ async def _external_event_spy(payload: dict) -> None: get_session_storage().clear_all() except Exception: pass + # Wipe durable trigger rows too — otherwise rows from a previous test run + # would rehydrate into this one. + try: + agent.trigger_store.clear_all() + except Exception: + pass async with record_llm_calls(agent), record_action_calls(agent): # Poll each requested integration's session status until it's ready. @@ -276,10 +282,13 @@ async def _external_event_spy(payload: dict) -> None: break try: trig = await asyncio.wait_for( - agent.triggers.get(), timeout=per_iter_timeout + agent.trigger_service.next(), timeout=per_iter_timeout ) except asyncio.TimeoutError: break await agent.react(trig) + # Settle the durable rows like the production consumer does — + # without this, claimed rows pile up and rehydrate next run. + await agent.trigger_service.ack(trig) return bridge_statuses diff --git a/tests/test_activity_log.py b/tests/test_activity_log.py new file mode 100644 index 00000000..7659e93d --- /dev/null +++ b/tests/test_activity_log.py @@ -0,0 +1,137 @@ +# -*- coding: utf-8 -*- +"""Phase 4 tests: activity ledger + idempotency guard for irreversible +actions (, Primitive C).""" + +from agent_core.core.action.action import Action + +from app.triggers.activity_log import ( + ActivityLog, + ActivityLogGuard, + make_idem_key, +) + + +def make_guard(tmp_path): + log = ActivityLog(db_path=str(tmp_path / "sessions.db")) + return log, ActivityLogGuard(log) + + +INPUTS = {"to": "bob@example.com", "subject": "Q3 report", "body": "attached"} + + +class TestIdemKey: + def test_deterministic_and_content_sensitive(self): + k1 = make_idem_key("send_gmail", INPUTS, "task1") + k2 = make_idem_key("send_gmail", dict(INPUTS), "task1") + assert k1 == k2 + assert k1 != make_idem_key("send_gmail", {**INPUTS, "subject": "Q4"}, "task1") + assert k1 != make_idem_key("send_gmail", INPUTS, "task2") + assert k1 != make_idem_key("send_outlook_email", INPUTS, "task1") + + def test_internal_keys_excluded(self): + # Executor-injected keys (_session_id etc.) must not change identity. + k1 = make_idem_key("send_gmail", INPUTS, "task1") + k2 = make_idem_key( + "send_gmail", {**INPUTS, "_session_id": "task1", "_extra": "x"}, "task1" + ) + assert k1 == k2 + + +class TestGuardLifecycle: + def test_fresh_attempt_records_intent_and_proceeds(self, tmp_path): + log, guard = make_guard(tmp_path) + decision = guard.begin("send_gmail", INPUTS, "task1") + assert decision.proceed + row = log.get(decision.idem_key) + assert row["status"] == "INTENT" + + def test_completed_run_is_never_reexecuted(self, tmp_path): + log, guard = make_guard(tmp_path) + d1 = guard.begin("send_gmail", INPUTS, "task1") + guard.complete( + d1.idem_key, "success", {"status": "success", "message_id": "msg-42"} + ) + + # The crash-redelivery case: the same step re-runs with the same inputs. + d2 = guard.begin("send_gmail", INPUTS, "task1") + assert not d2.proceed + assert d2.stored_output["_idempotent_replay"] is True + assert d2.stored_output["message_id"] == "msg-42" + assert log.get(d1.idem_key)["provider_ref"] == "msg-42" + + def test_crash_window_surfaces_uncertainty_once_then_allows_retry( + self, tmp_path + ): + log, guard = make_guard(tmp_path) + d1 = guard.begin("send_gmail", INPUTS, "task1") + # crash between the send and complete(): row stays INTENT + + log2 = ActivityLog(db_path=str(tmp_path / "sessions.db")) # restart + guard2 = ActivityLogGuard(log2) + + # First re-attempt: blocked with a warning, NOT executed. + d2 = guard2.begin("send_gmail", INPUTS, "task1") + assert not d2.proceed + assert d2.stored_output is None + assert "MAY" in d2.note + + # The agent/user verified and decided to retry: now allowed through. + d3 = guard2.begin("send_gmail", INPUTS, "task1") + assert d3.proceed + assert log2.get(d1.idem_key)["status"] == "INTENT" + + def test_failed_run_can_be_retried(self, tmp_path): + log, guard = make_guard(tmp_path) + d1 = guard.begin("send_gmail", INPUTS, "task1") + guard.complete(d1.idem_key, "error", {"status": "error", "error": "timeout"}) + + d2 = guard.begin("send_gmail", INPUTS, "task1") + assert d2.proceed # failure is retryable; only DONE blocks + + def test_different_content_is_independent(self, tmp_path): + log, guard = make_guard(tmp_path) + d1 = guard.begin("send_gmail", INPUTS, "task1") + guard.complete(d1.idem_key, "success", {"status": "success"}) + + # A genuinely different email must not be blocked. + d2 = guard.begin("send_gmail", {**INPUTS, "to": "carol@example.com"}, "task1") + assert d2.proceed + + def test_oversized_output_is_stubbed(self, tmp_path): + log, guard = make_guard(tmp_path) + d1 = guard.begin("send_gmail", INPUTS, "task1") + guard.complete( + d1.idem_key, "success", {"status": "success", "blob": "x" * 100_000} + ) + row = log.get(d1.idem_key) + assert len(row["output_json"]) < 1000 + assert "too large" in row["output_json"] + + +class TestFlagPlumbing: + def test_irreversible_round_trips_through_action_dict(self): + action = Action( + name="send_gmail", + description="send an email", + action_type="atomic", + irreversible=True, + ) + restored = Action.from_dict(action.to_dict()) + assert restored.irreversible is True + + def test_irreversible_defaults_false(self): + action = Action.from_dict( + {"name": "read_file", "description": "", "type": "atomic"} + ) + assert action.irreversible is False + + def test_flagged_actions_registered(self): + # Import a couple of flagged modules and confirm the registry + # carries the flag (decorator → metadata path). + import app.data.action.send_message # noqa: F401 + from agent_core.core.action_framework.registry import registry_instance + + impls = registry_instance._registry.get("send_message") + assert impls, "send_message not registered" + meta = next(iter(impls.values())).metadata + assert meta.irreversible is True diff --git a/tests/test_trigger_lifecycle_polish.py b/tests/test_trigger_lifecycle_polish.py new file mode 100644 index 00000000..b5222ecf --- /dev/null +++ b/tests/test_trigger_lifecycle_polish.py @@ -0,0 +1,187 @@ +# -*- coding: utf-8 -*- +"""Phase 5 tests: retry with backoff, dead-letter surfacing, and GC for the +trigger store + activity ledger.""" + +import asyncio +import sqlite3 +import time +from datetime import datetime, timedelta, timezone + +from agent_core.core.impl.trigger.queue import TriggerQueue + +from app.triggers import TriggerService, TriggerSpec, TriggerSource +from app.triggers.activity_log import ActivityLog, ActivityLogGuard +from app.triggers.service import BACKOFF_BASE_SECONDS, MAX_ATTEMPTS +from app.triggers.store import TriggerStore + + +def run(coro): + return asyncio.run(coro) + + +def make_stack(tmp_path): + store = TriggerStore(db_path=str(tmp_path / "sessions.db")) + queue = TriggerQueue() + service = TriggerService(store, queue) + return store, queue, service + + +def spec(**overrides): + kwargs = dict( + source=TriggerSource.SCHEDULED, + description="do the thing", + priority=50, + session_id="s1", + ) + kwargs.update(overrides) + return TriggerSpec(**kwargs) + + +def age_row(db_path, row_id, hours, table="triggers", key_col="id"): + """Backdate a row's updated_at so GC sees it as old.""" + old = (datetime.now(timezone.utc) - timedelta(hours=hours)).isoformat() + with sqlite3.connect(db_path) as conn: + conn.execute( + f"UPDATE {table} SET updated_at = ? WHERE {key_col} = ?", (old, row_id) + ) + conn.commit() + + +class TestRetryWithBackoff: + def test_nack_requeues_with_backoff(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + result = await service.emit(spec()) + trig = await asyncio.wait_for(service.next(), timeout=2) + before = time.time() + await service.nack(trig, "boom") + + row = store.get(result.trigger_id) + assert row["status"] == "PENDING" + assert row["not_before"] >= before + BACKOFF_BASE_SECONDS - 1 + assert "boom" in row["last_error"] + # re-enqueued with the backoff as its fire time + triggers = await queue.list_triggers() + assert len(triggers) == 1 + assert triggers[0].fire_at >= before + BACKOFF_BASE_SECONDS - 1 + + run(scenario()) + + def test_backoff_grows_per_attempt(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + result = await service.emit(spec()) + delays = [] + for _ in range(3): + # force the queued retry due now so next() returns it + with sqlite3.connect(store._db_path) as conn: + conn.execute( + "UPDATE triggers SET fire_at = ?, not_before = NULL " + "WHERE id = ?", + (time.time() - 1, result.trigger_id), + ) + conn.commit() + await queue.fire("s1") + trig = await asyncio.wait_for(service.next(), timeout=2) + before = time.time() + await service.nack(trig, "boom") + row = store.get(result.trigger_id) + if row["status"] != "PENDING": + break + delays.append(row["not_before"] - before) + assert len(delays) >= 2 + assert delays[1] > delays[0] # exponential growth + + run(scenario()) + + def test_dead_letter_after_max_attempts(self, tmp_path): + store, queue, service = make_stack(tmp_path) + dead = [] + service.set_dead_letter_handler(lambda trig, err: dead.append((trig, err))) + + async def scenario(): + result = await service.emit(spec()) + for attempt in range(MAX_ATTEMPTS + 1): + with sqlite3.connect(store._db_path) as conn: + conn.execute( + "UPDATE triggers SET fire_at = ? WHERE id = ?", + (time.time() - 1, result.trigger_id), + ) + conn.commit() + await queue.fire("s1") + trig = await asyncio.wait_for(service.next(), timeout=2) + await service.nack(trig, f"boom {attempt}") + row = store.get(result.trigger_id) + if row["status"] == "DEAD": + break + + row = store.get(result.trigger_id) + assert row["status"] == "DEAD" + assert row["attempts"] == MAX_ATTEMPTS + assert len(dead) == 1 + assert dead[0][0].id == result.trigger_id + # dead rows do not rehydrate + store2, queue2, service2 = make_stack(tmp_path) + assert await service2.rehydrate() == 0 + + run(scenario()) + + +class TestTriggerStoreGC: + def test_old_settled_rows_removed_active_kept(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + done = await service.emit(spec(session_id="a")) + trig = await asyncio.wait_for(service.next(), timeout=2) + await service.ack(trig) + pending = await service.emit(spec(session_id="b")) + + age_row(store._db_path, done.trigger_id, hours=8 * 24) + age_row(store._db_path, pending.trigger_id, hours=8 * 24) + + removed = store.gc(ttl_hours=7 * 24) + assert removed == 1 + assert store.get(done.trigger_id) is None + assert store.get(pending.trigger_id) is not None # active never GC'd + + run(scenario()) + + def test_recent_settled_rows_survive(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + done = await service.emit(spec()) + trig = await asyncio.wait_for(service.next(), timeout=2) + await service.ack(trig) + assert store.gc(ttl_hours=7 * 24) == 0 + assert store.get(done.trigger_id) is not None + + run(scenario()) + + +class TestActivityLogGC: + def test_stale_intent_downgraded_and_old_rows_removed(self, tmp_path): + db = str(tmp_path / "sessions.db") + log = ActivityLog(db_path=db) + guard = ActivityLogGuard(log) + + d_old_intent = guard.begin("send_gmail", {"to": "a@x.com"}, "t1") + d_old_done = guard.begin("send_gmail", {"to": "b@x.com"}, "t1") + guard.complete(d_old_done.idem_key, "success", {"status": "success"}) + d_fresh = guard.begin("send_gmail", {"to": "c@x.com"}, "t1") + + age_row(db, d_old_intent.idem_key, 8 * 24, "activity_log", "idem_key") + age_row(db, d_old_done.idem_key, 31 * 24, "activity_log", "idem_key") + + log.gc(intent_ttl_hours=7 * 24, done_ttl_hours=30 * 24) + + # week-old INTENT no longer blocks: downgraded to FAILED → retake allowed + assert log.get(d_old_intent.idem_key)["status"] == "FAILED" + retry = guard.begin("send_gmail", {"to": "a@x.com"}, "t1") + assert retry.proceed + # month-old DONE removed; fresh INTENT untouched + assert log.get(d_old_done.idem_key) is None + assert log.get(d_fresh.idem_key)["status"] == "INTENT" diff --git a/tests/test_trigger_router_and_parking.py b/tests/test_trigger_router_and_parking.py new file mode 100644 index 00000000..c25e6745 --- /dev/null +++ b/tests/test_trigger_router_and_parking.py @@ -0,0 +1,163 @@ +# -*- coding: utf-8 -*- +"""Phase 3 tests: SessionRouter decisions and durable message parking +(crash-during-routing recovery).""" + +import asyncio +import json +import time + +from app.triggers import SessionRouter, TriggerSource, TriggerSpec +from app.triggers.service import TriggerService +from app.triggers.store import TriggerStore + +from agent_core.core.impl.trigger.queue import TriggerQueue + + +def run(coro): + return asyncio.run(coro) + + +class FakeLLM: + def __init__(self, response: str): + self.response = response + self.calls = 0 + + async def generate_response_async(self, system_prompt: str, user_prompt: str): + self.calls += 1 + self.last_prompt = user_prompt + return self.response + + +ROUTING_PROMPT = ( + "{item_type}|{item_content}|{source_platform}|{existing_sessions}|" + "{current_living_ui_id}|{recent_conversation}" +) + + +class TestSessionRouter: + def test_route_to_existing_session(self): + llm = FakeLLM(json.dumps({"action": "route", "session_id": "abc123"})) + router = SessionRouter(llm, ROUTING_PROMPT) + result = run(router.route("message", "continue that task", "sessions")) + assert result["session_id"] == "abc123" + assert llm.calls == 1 + + def test_new_session_decision(self): + llm = FakeLLM(json.dumps({"action": "new", "session_id": "new"})) + router = SessionRouter(llm, ROUTING_PROMPT) + result = run(router.route("message", "do something else", "sessions")) + assert result["action"] == "new" + + def test_action_field_backfilled(self): + # Old-style response without "action" — inferred from session_id. + llm = FakeLLM(json.dumps({"session_id": "abc123"})) + router = SessionRouter(llm, ROUTING_PROMPT) + result = run(router.route("message", "x", "sessions")) + assert result["action"] == "route" + + def test_garbage_response_defaults_to_new(self): + llm = FakeLLM("not json at all {{{") + router = SessionRouter(llm, ROUTING_PROMPT) + result = run(router.route("message", "x", "sessions")) + assert result == { + "action": "new", + "session_id": "new", + "reason": "Failed to parse routing response", + } + + def test_format_sessions_empty(self): + router = SessionRouter(FakeLLM(""), ROUTING_PROMPT) + assert router.format_sessions_for_routing([]) == "No existing sessions." + + def test_queue_never_calls_llm(self, tmp_path): + # Phase 3 invariant: the queue has no routing — an LLM passed to its + # deprecated ctor param is never invoked on put/get. + llm = FakeLLM(json.dumps({"action": "new"})) + queue = TriggerQueue(llm=llm) + store = TriggerStore(db_path=str(tmp_path / "s.db")) + service = TriggerService(store, queue) + + async def scenario(): + # No session_id at all — the pre-#321 queue would have routed this. + await service.emit( + TriggerSpec( + source=TriggerSource.USER_MESSAGE, + description="hello", + session_id="s1", + ) + ) + await asyncio.wait_for(service.next(), timeout=2) + + run(scenario()) + assert llm.calls == 0 + + +class TestDurableParking: + def make_stack(self, tmp_path): + store = TriggerStore(db_path=str(tmp_path / "sessions.db")) + queue = TriggerQueue() + service = TriggerService(store, queue) + return store, queue, service + + def parked_spec(self): + return TriggerSpec( + source=TriggerSource.USER_MESSAGE, + description="Please perform action that best suit this user chat " + "you just received: send the report", + priority=3, + payload={"user_message": "send the report", "platform": "Telegram"}, + ) + + def test_park_records_without_enqueue(self, tmp_path): + store, queue, service = self.make_stack(tmp_path) + + async def scenario(): + row_id = service.park(self.parked_spec()) + assert store.get(row_id)["status"] == "PENDING" + assert store.get(row_id)["session_id"] is None + assert await queue.size() == 0 # parked, not queued + return row_id + + run(scenario()) + + def test_settled_park_does_not_rehydrate(self, tmp_path): + async def scenario(): + store, queue, service = self.make_stack(tmp_path) + row_id = service.park(self.parked_spec()) + # message delivered into a new session's row + result = await service.emit( + TriggerSpec( + source=TriggerSource.USER_MESSAGE, + description="delivered", + session_id="abc123", + ) + ) + service.settle_parked(row_id, delivered_as=result.trigger_id) + row = store.get(row_id) + assert row["status"] == "DONE" + assert row["superseded_by"] == result.trigger_id + + run(scenario()) + + def test_crash_during_routing_recovers_message(self, tmp_path): + # The Phase 3 headline: park → crash before routing finishes → + # next boot re-delivers the message as a fresh session. + async def scenario(): + store, queue, service = self.make_stack(tmp_path) + row_id = service.park(self.parked_spec()) + # crash: routing LLM call never completed, nothing was settled + + store2, queue2, service2 = self.make_stack(tmp_path) # restart + requeued = await service2.rehydrate() + assert requeued == 1 + + trig = await asyncio.wait_for(service2.next(), timeout=2) + assert trig.id == row_id + assert trig.session_id # assigned a fresh session on recovery + assert "send the report" in trig.next_action_description + assert store2.get(row_id)["session_id"] == trig.session_id + + await service2.ack(trig) + assert store2.get(row_id)["status"] == "DONE" + + run(scenario()) diff --git a/tests/test_trigger_service.py b/tests/test_trigger_service.py new file mode 100644 index 00000000..e413e4a2 --- /dev/null +++ b/tests/test_trigger_service.py @@ -0,0 +1,341 @@ +# -*- coding: utf-8 -*- +"""Integration tests for TriggerService + TriggerQueue + TriggerStore + — including crash/restart simulations.""" + +import asyncio +import heapq +import time + +from agent_core.core.trigger import Trigger +from agent_core.core.impl.trigger.queue import TriggerQueue + +from app.triggers import TriggerService, TriggerSpec, TriggerSource +from app.triggers.store import TriggerStore + + +def run(coro): + return asyncio.run(coro) + + +def make_stack(tmp_path, name="sessions.db"): + """Real store + real queue (dummy LLM — routing never fires because every + spec carries a session_id and the routing prompt is empty).""" + store = TriggerStore(db_path=str(tmp_path / name)) + queue = TriggerQueue(llm=object()) + service = TriggerService(store, queue) + return store, queue, service + + +def spec(**overrides): + kwargs = dict( + source=TriggerSource.SCHEDULED, + description="do the thing", + priority=50, + session_id="s1", + payload={"type": "scheduled"}, + skip_merge=True, + ) + kwargs.update(overrides) + return TriggerSpec(**kwargs) + + +class TestEmitNextAck: + def test_roundtrip_transitions(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + result = await service.emit(spec()) + assert not result.deduped + assert store.get(result.trigger_id)["status"] == "PENDING" + + trig = await asyncio.wait_for(service.next(), timeout=2) + assert trig.id == result.trigger_id + assert store.get(result.trigger_id)["status"] == "CLAIMED" + + await service.ack(trig) + assert store.get(result.trigger_id)["status"] == "DONE" + + run(scenario()) + + def test_nack_retries_with_backoff(self, tmp_path): + # Phase 5 contract: a nacked trigger is retried (PENDING + backoff), + # not terminally failed — see test_trigger_lifecycle_polish for the + # full retry/dead-letter ladder. + store, queue, service = make_stack(tmp_path) + + async def scenario(): + result = await service.emit(spec()) + trig = await asyncio.wait_for(service.next(), timeout=2) + await service.nack(trig, "RuntimeError: kaboom") + row = store.get(result.trigger_id) + assert row["status"] == "PENDING" + assert row["not_before"] > time.time() + assert "kaboom" in row["last_error"] + + run(scenario()) + + def test_dedup_emit_no_double_enqueue(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + r1 = await service.emit( + spec(dedup_key="scheduled-once:abc", session_id="a") + ) + r2 = await service.emit( + spec(dedup_key="scheduled-once:abc", session_id="b") + ) + assert not r1.deduped + assert r2.deduped + assert r2.trigger_id == r1.trigger_id + assert await queue.size() == 1 + + run(scenario()) + + def test_legacy_put_passthrough(self, tmp_path): + # Direct queue.put() still works; such triggers carry no store row + # and ack is a no-op. + store, queue, service = make_stack(tmp_path) + + async def scenario(): + await queue.put( + Trigger( + fire_at=time.time(), + priority=3, + next_action_description="legacy", + session_id="legacy-session", + ) + ) + trig = await asyncio.wait_for(service.next(), timeout=2) + assert trig.id is None + await service.ack(trig) # must not raise + assert store.count_by_status() == {} + + run(scenario()) + + +class TestCrashRecovery: + def test_crash_while_pending_rehydrates_once(self, tmp_path): + async def scenario(): + store, queue, service = make_stack(tmp_path) + result = await service.emit(spec()) + # crash: process dies with the trigger still PENDING in the heap + + store2, queue2, service2 = make_stack(tmp_path) # restart + requeued = await service2.rehydrate() + assert requeued == 1 + assert await queue2.size() == 1 + + trig = await asyncio.wait_for(service2.next(), timeout=2) + assert trig.id == result.trigger_id + await service2.ack(trig) + + # a second restart must not re-deliver settled work + store3, queue3, service3 = make_stack(tmp_path) + assert await service3.rehydrate() == 0 + + run(scenario()) + + def test_crash_mid_react_reclaims_claimed(self, tmp_path): + async def scenario(): + store, queue, service = make_stack(tmp_path) + result = await service.emit(spec()) + await asyncio.wait_for(service.next(), timeout=2) + assert store.get(result.trigger_id)["status"] == "CLAIMED" + # crash: no ack — row orphaned CLAIMED + + store2, queue2, service2 = make_stack(tmp_path) # restart + requeued = await service2.rehydrate() + assert requeued == 1 + row = store2.get(result.trigger_id) + assert row["status"] == "CLAIMED" or row["status"] == "PENDING" + trig = await asyncio.wait_for(service2.next(), timeout=2) + await service2.ack(trig) + assert store2.get(result.trigger_id)["status"] == "DONE" + assert store2.get(result.trigger_id)["attempts"] == 2 + + run(scenario()) + + def test_boot_resume_emit_hits_rehydrated_dedup(self, tmp_path): + # Double-boot can't double-resume: the rehydrated resume row blocks + # the boot-time re-emit via the dedup index. + async def scenario(): + store, queue, service = make_stack(tmp_path) + await service.emit( + spec( + source=TriggerSource.RESUME, + dedup_key="resume:task42", + session_id="task42", + ) + ) + # crash before consumption + + store2, queue2, service2 = make_stack(tmp_path) + await service2.rehydrate() + result = await service2.emit( + spec( + source=TriggerSource.RESUME, + dedup_key="resume:task42", + session_id="task42", + ) + ) + assert result.deduped + assert await queue2.size() == 1 + + run(scenario()) + + +class TestEvictionSettlesRows: + def test_same_session_replacement_supersedes(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + r1 = await service.emit(spec(description="old")) + r2 = await service.emit(spec(description="new")) + row = store.get(r1.trigger_id) + assert row["status"] == "DONE" + assert row["resolution"] == "superseded" + assert row["superseded_by"] == r2.trigger_id + assert await queue.size() == 1 + + run(scenario()) + + def test_superseded_rows_do_not_rehydrate(self, tmp_path): + async def scenario(): + store, queue, service = make_stack(tmp_path) + await service.emit(spec(description="old")) + r2 = await service.emit(spec(description="new")) + # crash + + store2, queue2, service2 = make_stack(tmp_path) + requeued = await service2.rehydrate() + assert requeued == 1 + trig = await asyncio.wait_for(service2.next(), timeout=2) + assert trig.id == r2.trigger_id + + run(scenario()) + + def test_cancel_sessions_settles_and_dequeues(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + result = await service.emit(spec(session_id="doomed")) + await service.cancel_sessions(["doomed"]) + assert store.get(result.trigger_id)["resolution"] == "cancelled" + assert await queue.size() == 0 + + run(scenario()) + + def test_queue_clear_cancels_rows(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + result = await service.emit(spec()) + await queue.clear() + assert store.get(result.trigger_id)["resolution"] == "cancelled" + + run(scenario()) + + +class TestSequentialConsumption: + def test_directly_pushed_same_session_triggers_each_settle(self, tmp_path): + # The pre-#321 merge machinery is gone: if two same-session triggers + # ever coexist (only possible via direct heap pushes — put() replaces), + # they are consumed one at a time and each settles its own row. + store, queue, service = make_stack(tmp_path) + + async def scenario(): + id1, _ = store.insert( + source="scheduled", description="a", fire_at=time.time() + ) + id2, _ = store.insert( + source="scheduled", description="b", fire_at=time.time() + ) + for row_id, desc in ((id1, "a"), (id2, "b")): + heapq.heappush( + queue._heap, + Trigger( + fire_at=time.time() - 1, + priority=50, + next_action_description=desc, + session_id="s1", + id=row_id, + source="scheduled", + ), + ) + + first = await asyncio.wait_for(service.next(), timeout=2) + await service.ack(first) + second = await asyncio.wait_for(service.next(), timeout=2) + await service.ack(second) + assert {first.id, second.id} == {id1, id2} + assert store.get(id1)["status"] == "DONE" + assert store.get(id2)["status"] == "DONE" + + run(scenario()) + + +class TestRehydrateEdges: + def test_stale_rows_are_settled_not_refired(self, tmp_path): + async def scenario(): + store, queue, service = make_stack(tmp_path) + old_id, _ = store.insert( + source="scheduled", + description="ancient", + fire_at=time.time() - 25 * 3600, + ) + requeued = await service.rehydrate() + assert requeued == 0 + row = store.get(old_id) + assert row["status"] == "DONE" + assert row["resolution"] == "stale" + + run(scenario()) + + def test_overdue_rows_get_catch_up_note(self, tmp_path): + async def scenario(): + store, queue, service = make_stack(tmp_path) + store.insert( + source="scheduled", + description="late task", + fire_at=time.time() - 600, + session_id="s1", + ) + await service.rehydrate() + trig = await asyncio.wait_for(service.next(), timeout=2) + assert "NOTE:" in trig.next_action_description + assert trig.payload.get("is_catch_up") is True + + run(scenario()) + + def test_waiting_for_reply_round_trips(self, tmp_path): + async def scenario(): + store, queue, service = make_stack(tmp_path) + await service.emit( + spec(waiting_for_reply=True, fire_at=time.time() + 9999) + ) + # crash before it fires + + store2, queue2, service2 = make_stack(tmp_path) + await service2.rehydrate() + triggers = await queue2.list_triggers() + assert len(triggers) == 1 + assert triggers[0].waiting_for_reply is True + + run(scenario()) + + +class TestFireMirroring: + def test_fire_persists_pending_message(self, tmp_path): + store, queue, service = make_stack(tmp_path) + + async def scenario(): + result = await service.emit(spec(fire_at=time.time() + 9999)) + fired = await service.fire("s1", message="hello", platform="Telegram") + assert fired + row = store.get(result.trigger_id) + assert '"pending_user_message": "hello"' in row["payload_json"] + # in-memory trigger fires now and carries the message + trig = await asyncio.wait_for(service.next(), timeout=2) + assert trig.payload["pending_user_message"] == "hello" + + run(scenario()) diff --git a/tests/test_trigger_sources.py b/tests/test_trigger_sources.py new file mode 100644 index 00000000..dd7014a1 --- /dev/null +++ b/tests/test_trigger_sources.py @@ -0,0 +1,110 @@ +# -*- coding: utf-8 -*- +"""Phase 2 tests: TriggerSource taxonomy, dedup-key builders, and react() +classification equivalence (source-first with payload["type"] fallback).""" + +import time + +import pytest + +from agent_core.core.trigger import Trigger + +from app.agent_base import AgentBase +from app.triggers import ( + TriggerSource, + resume_dedup_key, + scheduled_dedup_key, + scheduled_once_dedup_key, +) + + +def trig(source="", payload=None): + return Trigger( + fire_at=time.time(), + priority=50, + next_action_description="x", + payload=payload or {}, + session_id="s1", + source=source, + ) + + +class TestDedupKeyBuilders: + @pytest.mark.parametrize( + "builder, args, expected", + [ + (scheduled_once_dedup_key, ("abc123",), "scheduled-once:abc123"), + (resume_dedup_key, ("task42",), "resume:task42"), + # 120 seconds apart within the same minute bucket → same key + (scheduled_dedup_key, ("s1", 600.0), "scheduled:s1:10"), + (scheduled_dedup_key, ("s1", 659.9), "scheduled:s1:10"), + (scheduled_dedup_key, ("s1", 660.0), "scheduled:s1:11"), + ], + ) + def test_builders(self, builder, args, expected): + assert builder(*args) == expected + + def test_same_fire_retried_dedups_next_occurrence_does_not(self): + fire = 1_700_000_000.0 + assert scheduled_dedup_key("a", fire) == scheduled_dedup_key("a", fire + 30) + assert scheduled_dedup_key("a", fire) != scheduled_dedup_key("a", fire + 3600) + assert scheduled_dedup_key("a", fire) != scheduled_dedup_key("b", fire) + + +class TestReactClassification: + """Source-based classification must match the legacy payload["type"] + behavior exactly — for migrated producers AND for legacy/scheduler-config + triggers that still carry only a payload type.""" + + # Unbound calls (staticmethod so the test class doesn't rebind self): + # the classifiers don't touch self. + is_memory = staticmethod(AgentBase._is_memory_trigger) + is_proactive = staticmethod(AgentBase._is_proactive_trigger) + is_restart = staticmethod(AgentBase._is_restart_notice_trigger) + + def test_source_based(self): + assert self.is_memory(None, trig(source=TriggerSource.MEMORY)) + assert self.is_proactive( + None, trig(source=TriggerSource.PROACTIVE_HEARTBEAT) + ) + assert self.is_proactive(None, trig(source=TriggerSource.PROACTIVE_PLANNER)) + assert self.is_restart(None, trig(source=TriggerSource.RESTART_NOTICE)) + + def test_legacy_payload_fallback(self): + assert self.is_memory(None, trig(payload={"type": "memory_processing"})) + assert self.is_proactive(None, trig(payload={"type": "proactive_heartbeat"})) + assert self.is_proactive(None, trig(payload={"type": "proactive_planner"})) + assert self.is_restart(None, trig(payload={"type": "restart_notice"})) + + def test_scheduler_config_payload_overrides_scheduled_source(self): + # scheduler_config.json entries inject their own payload["type"] + # (e.g. proactive_heartbeat) on top of a SCHEDULED-source trigger — + # they must still classify as proactive/memory. + heartbeat = trig( + source=TriggerSource.SCHEDULED, + payload={"type": "proactive_heartbeat"}, + ) + memory = trig( + source=TriggerSource.SCHEDULED, + payload={"type": "memory_processing", "scheduled": True}, + ) + assert self.is_proactive(None, heartbeat) + assert self.is_memory(None, memory) + + def test_task_continuation_never_classified_as_request(self): + # Triggers that START an already-created task (memory task, heartbeat + # task, planner task) are TASK_CONTINUATION — routing them into the + # request branches would create duplicate tasks. + t = trig(source=TriggerSource.TASK_CONTINUATION) + assert not self.is_memory(None, t) + assert not self.is_proactive(None, t) + assert not self.is_restart(None, t) + + def test_plain_user_trigger_classified_nowhere(self): + t = trig(source=TriggerSource.USER_MESSAGE) + assert not self.is_memory(None, t) + assert not self.is_proactive(None, t) + assert not self.is_restart(None, t) + legacy = trig() # no source, no type — pre-migration shape + assert not self.is_memory(None, legacy) + assert not self.is_proactive(None, legacy) + assert not self.is_restart(None, legacy) diff --git a/tests/test_trigger_store.py b/tests/test_trigger_store.py new file mode 100644 index 00000000..ed7bf8db --- /dev/null +++ b/tests/test_trigger_store.py @@ -0,0 +1,189 @@ +# -*- coding: utf-8 -*- +"""Unit tests for the durable trigger store.""" + +import sqlite3 +import time + +from app.triggers.store import TriggerStore + + +def make_store(tmp_path): + return TriggerStore(db_path=str(tmp_path / "sessions.db")) + + +def insert_basic(store, **overrides): + kwargs = dict( + source="scheduled", + description="do the thing", + fire_at=time.time(), + priority=50, + session_id="s1", + payload={"type": "scheduled"}, + dedup_key=None, + ) + kwargs.update(overrides) + return store.insert(**kwargs) + + +class TestInsertAndDedup: + def test_insert_creates_pending_row(self, tmp_path): + store = make_store(tmp_path) + row_id, created = insert_basic(store) + assert created + row = store.get(row_id) + assert row["status"] == "PENDING" + assert row["source"] == "scheduled" + assert row["session_id"] == "s1" + assert row["attempts"] == 0 + + def test_active_dedup_key_blocks_duplicate(self, tmp_path): + store = make_store(tmp_path) + id1, created1 = insert_basic(store, dedup_key="scheduled-once:abc") + id2, created2 = insert_basic(store, dedup_key="scheduled-once:abc") + assert created1 + assert not created2 + assert id2 == id1 # existing active row returned + + def test_claimed_row_still_blocks_duplicate(self, tmp_path): + store = make_store(tmp_path) + id1, _ = insert_basic(store, dedup_key="k") + store.claim([id1]) + id2, created2 = insert_basic(store, dedup_key="k") + assert not created2 + assert id2 == id1 + + def test_settled_row_does_not_block_refire(self, tmp_path): + # A DONE resume:{task_id} must not block a re-resume after the next + # restart — that's why dedup is a partial index over active rows. + store = make_store(tmp_path) + id1, _ = insert_basic(store, dedup_key="resume:t1") + store.ack([id1]) + id2, created2 = insert_basic(store, dedup_key="resume:t1") + assert created2 + assert id2 != id1 + + def test_null_dedup_keys_never_collide(self, tmp_path): + store = make_store(tmp_path) + _, c1 = insert_basic(store, dedup_key=None) + _, c2 = insert_basic(store, dedup_key=None) + assert c1 and c2 + + +class TestLifecycle: + def test_claim_ack(self, tmp_path): + store = make_store(tmp_path) + row_id, _ = insert_basic(store) + store.claim([row_id]) + row = store.get(row_id) + assert row["status"] == "CLAIMED" + assert row["attempts"] == 1 + assert row["lease_until"] is not None + + store.ack([row_id]) + row = store.get(row_id) + assert row["status"] == "DONE" + assert row["resolution"] == "completed" + assert row["lease_until"] is None + + def test_fail_records_error(self, tmp_path): + store = make_store(tmp_path) + row_id, _ = insert_basic(store) + store.claim([row_id]) + store.fail([row_id], error="ValueError: boom") + row = store.get(row_id) + assert row["status"] == "FAILED" + assert row["resolution"] == "failed" + assert "boom" in row["last_error"] + + def test_supersede_marks_replacement(self, tmp_path): + store = make_store(tmp_path) + old_id, _ = insert_basic(store) + new_id, _ = insert_basic(store) + store.supersede([old_id], by_id=new_id) + row = store.get(old_id) + assert row["status"] == "DONE" + assert row["resolution"] == "superseded" + assert row["superseded_by"] == new_id + + def test_cancel_sessions_settles_only_active(self, tmp_path): + store = make_store(tmp_path) + a, _ = insert_basic(store, session_id="s1") + b, _ = insert_basic(store, session_id="s1") + store.ack([b]) # already settled — must keep resolution "completed" + c, _ = insert_basic(store, session_id="s2") + + count = store.cancel_sessions(["s1"]) + assert count == 1 + assert store.get(a)["resolution"] == "cancelled" + assert store.get(b)["resolution"] == "completed" + assert store.get(c)["status"] == "PENDING" + + +class TestBootRecovery: + def test_reclaim_claimed(self, tmp_path): + store = make_store(tmp_path) + a, _ = insert_basic(store) + b, _ = insert_basic(store) + store.claim([a]) + store.ack([b]) + + reclaimed = store.reclaim_claimed() + assert reclaimed == 1 + assert store.get(a)["status"] == "PENDING" + assert store.get(a)["attempts"] == 1 # attempt history preserved + assert store.get(b)["status"] == "DONE" + + def test_load_pending_ordered_and_filtered(self, tmp_path): + store = make_store(tmp_path) + late, _ = insert_basic(store, fire_at=2000.0) + early, _ = insert_basic(store, fire_at=1000.0) + done, _ = insert_basic(store, fire_at=500.0) + store.ack([done]) + + rows = store.load_pending() + assert [r["id"] for r in rows] == [early, late] + + +class TestFireMirroring: + def test_update_for_fire_patches_active_rows(self, tmp_path): + store = make_store(tmp_path) + active, _ = insert_basic(store, session_id="s1", fire_at=9999999999.0) + settled, _ = insert_basic(store, session_id="s1") + store.ack([settled]) + + updated = store.update_for_fire( + "s1", 123.0, {"pending_user_message": "hi"} + ) + assert updated == 1 + row = store.get(active) + assert row["fire_at"] == 123.0 + assert '"pending_user_message": "hi"' in row["payload_json"] + + +class TestSchemaAndReset: + def test_clear_all(self, tmp_path): + store = make_store(tmp_path) + insert_basic(store) + insert_basic(store) + store.clear_all() + assert store.count_by_status() == {} + + def test_legacy_table_without_dedup_key_is_replaced(self, tmp_path): + db_path = str(tmp_path / "sessions.db") + with sqlite3.connect(db_path) as conn: + conn.execute("CREATE TABLE triggers (id TEXT PRIMARY KEY, blob TEXT)") + conn.execute("INSERT INTO triggers VALUES ('x', 'y')") + conn.commit() + + store = TriggerStore(db_path=db_path) + row_id, created = insert_basic(store) + assert created + assert store.get(row_id)["status"] == "PENDING" + + def test_reopen_preserves_rows(self, tmp_path): + db_path = str(tmp_path / "sessions.db") + store = TriggerStore(db_path=db_path) + row_id, _ = insert_basic(store) + + store2 = TriggerStore(db_path=db_path) # simulated restart + assert store2.get(row_id)["status"] == "PENDING" From b22f7b82bbc6583ced95de0eb80a36730a24d7cd Mon Sep 17 00:00:00 2001 From: Tobias Garcia Date: Mon, 15 Jun 2026 12:36:14 +0900 Subject: [PATCH 08/24] Feature: General fixes for agent profile --- app/ui_layer/adapters/browser_adapter.py | 49 +++++++++++++++---- .../src/components/ui/ImportProfileModal.tsx | 8 ++- 2 files changed, 47 insertions(+), 10 deletions(-) diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 6a2f1454..9f8756d9 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -961,6 +961,13 @@ def __init__( # Track active OAuth tasks for cancellation support self._oauth_tasks: Dict[str, asyncio.Task] = {} + # Staged bundle path set by the inspect endpoint and consumed by the + # import endpoint. Storing it server-side means: (a) the import handler + # never trusts a client-supplied filesystem path, and (b) if the user + # closes the modal without importing, the next inspect call cleans up + # the leftover temp file. + self._staged_import_path: Optional[str] = None + # Living UI manager template_path = ( Path(__file__).parent.parent.parent / "data" / "living_ui_template" @@ -3003,6 +3010,17 @@ async def _profile_inspect_handler(self, request: "web.Request") -> "web.Respons from aiohttp import web from app.ui_layer.settings.profile_bundle import inspect_bundle + # Clean up any leftover staged file from a previous cancelled import. + if self._staged_import_path: + try: + p = Path(self._staged_import_path) + if p.exists(): + p.unlink() + except Exception: + pass + self._staged_import_path = None + + bundle_path: Optional[str] = None try: bundle_path = await self._stage_uploaded_bundle(request) if not bundle_path: @@ -3010,13 +3028,23 @@ async def _profile_inspect_handler(self, request: "web.Request") -> "web.Respons {"error": "No bundle file uploaded"}, status=400 ) result = inspect_bundle(bundle_path) - # Return the temp path so the subsequent /api/profile/import call - # can reuse it instead of re-uploading the bundle. - result["bundle_path"] = bundle_path + if result.get("success"): + # Store server-side so the import handler can use it without + # trusting a client-supplied filesystem path. + self._staged_import_path = bundle_path + bundle_path = None # ownership transferred — don't clean up below return web.json_response(result) except Exception as exc: logger.error(f"[PROFILE_BUNDLE] Inspect failed: {exc}", exc_info=True) return web.json_response({"error": str(exc)}, status=500) + finally: + # Clean up the staged file only if inspection failed (success path + # transferred ownership to self._staged_import_path above). + if bundle_path: + try: + Path(bundle_path).unlink(missing_ok=True) + except Exception: + pass async def _profile_import_handler(self, request: "web.Request") -> "web.Response": """Apply a previously-inspected bundle to the agent.""" @@ -3030,13 +3058,18 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response {"error": "Invalid JSON body"}, status=400 ) - bundle_path = payload.get("bundle_path") or "" - mode = payload.get("mode", "merge") + # Use the server-side staged path set by the inspect endpoint. + # We intentionally ignore any bundle_path from the request body so that + # a client cannot point this handler at an arbitrary filesystem path. + bundle_path = self._staged_import_path + mode = payload.get("mode", "replace") if not bundle_path: return web.json_response( - {"error": "bundle_path is required"}, status=400 + {"error": "No bundle staged. Upload a bundle via /api/profile/inspect first."}, status=400 ) + self._staged_import_path = None # clear before import so a failure doesn't leave it set + try: # Pass the live LivingUIManager so imported projects land in its # in-memory state. Without this, the manager's stale state will @@ -3052,9 +3085,7 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response finally: # Best-effort cleanup of the staged upload. try: - p = Path(bundle_path) - if p.exists(): - p.unlink() + Path(bundle_path).unlink(missing_ok=True) except Exception: pass diff --git a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx index 156b1db3..7a7130ab 100644 --- a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx +++ b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react' +import { useState, useEffect } from 'react' import { Loader2, AlertTriangle, Package, Wrench, Server, Layout, FileText } from 'lucide-react' import { Button } from './Button' import { Modal, ModalBody, ModalFooter } from './Modal' @@ -96,6 +96,12 @@ export function ImportProfileModal({ }: ImportProfileModalProps) { const [mode, setMode] = useState('replace') + // Always start on the safe default when the modal opens so a previous + // 'overwrite' selection can't accidentally persist into the next session. + useEffect(() => { + if (isOpen) setMode('replace') + }, [isOpen]) + const contents = manifest?.contents ?? {} const skills = contents.skills ?? [] const mcps = contents.mcp_servers ?? [] From e27e553f11d9423e56e908c2fb42d5f101e073fd Mon Sep 17 00:00:00 2001 From: Tobias Garcia Date: Mon, 15 Jun 2026 12:56:15 +0900 Subject: [PATCH 09/24] Feature: Revert browser_adapter.py changes for agent profile --- app/ui_layer/adapters/browser_adapter.py | 49 ++++--------------- .../src/components/ui/ImportProfileModal.tsx | 8 +-- 2 files changed, 10 insertions(+), 47 deletions(-) diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 9f8756d9..6a2f1454 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -961,13 +961,6 @@ def __init__( # Track active OAuth tasks for cancellation support self._oauth_tasks: Dict[str, asyncio.Task] = {} - # Staged bundle path set by the inspect endpoint and consumed by the - # import endpoint. Storing it server-side means: (a) the import handler - # never trusts a client-supplied filesystem path, and (b) if the user - # closes the modal without importing, the next inspect call cleans up - # the leftover temp file. - self._staged_import_path: Optional[str] = None - # Living UI manager template_path = ( Path(__file__).parent.parent.parent / "data" / "living_ui_template" @@ -3010,17 +3003,6 @@ async def _profile_inspect_handler(self, request: "web.Request") -> "web.Respons from aiohttp import web from app.ui_layer.settings.profile_bundle import inspect_bundle - # Clean up any leftover staged file from a previous cancelled import. - if self._staged_import_path: - try: - p = Path(self._staged_import_path) - if p.exists(): - p.unlink() - except Exception: - pass - self._staged_import_path = None - - bundle_path: Optional[str] = None try: bundle_path = await self._stage_uploaded_bundle(request) if not bundle_path: @@ -3028,23 +3010,13 @@ async def _profile_inspect_handler(self, request: "web.Request") -> "web.Respons {"error": "No bundle file uploaded"}, status=400 ) result = inspect_bundle(bundle_path) - if result.get("success"): - # Store server-side so the import handler can use it without - # trusting a client-supplied filesystem path. - self._staged_import_path = bundle_path - bundle_path = None # ownership transferred — don't clean up below + # Return the temp path so the subsequent /api/profile/import call + # can reuse it instead of re-uploading the bundle. + result["bundle_path"] = bundle_path return web.json_response(result) except Exception as exc: logger.error(f"[PROFILE_BUNDLE] Inspect failed: {exc}", exc_info=True) return web.json_response({"error": str(exc)}, status=500) - finally: - # Clean up the staged file only if inspection failed (success path - # transferred ownership to self._staged_import_path above). - if bundle_path: - try: - Path(bundle_path).unlink(missing_ok=True) - except Exception: - pass async def _profile_import_handler(self, request: "web.Request") -> "web.Response": """Apply a previously-inspected bundle to the agent.""" @@ -3058,18 +3030,13 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response {"error": "Invalid JSON body"}, status=400 ) - # Use the server-side staged path set by the inspect endpoint. - # We intentionally ignore any bundle_path from the request body so that - # a client cannot point this handler at an arbitrary filesystem path. - bundle_path = self._staged_import_path - mode = payload.get("mode", "replace") + bundle_path = payload.get("bundle_path") or "" + mode = payload.get("mode", "merge") if not bundle_path: return web.json_response( - {"error": "No bundle staged. Upload a bundle via /api/profile/inspect first."}, status=400 + {"error": "bundle_path is required"}, status=400 ) - self._staged_import_path = None # clear before import so a failure doesn't leave it set - try: # Pass the live LivingUIManager so imported projects land in its # in-memory state. Without this, the manager's stale state will @@ -3085,7 +3052,9 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response finally: # Best-effort cleanup of the staged upload. try: - Path(bundle_path).unlink(missing_ok=True) + p = Path(bundle_path) + if p.exists(): + p.unlink() except Exception: pass diff --git a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx index 7a7130ab..156b1db3 100644 --- a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx +++ b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx @@ -1,4 +1,4 @@ -import { useState, useEffect } from 'react' +import { useState } from 'react' import { Loader2, AlertTriangle, Package, Wrench, Server, Layout, FileText } from 'lucide-react' import { Button } from './Button' import { Modal, ModalBody, ModalFooter } from './Modal' @@ -96,12 +96,6 @@ export function ImportProfileModal({ }: ImportProfileModalProps) { const [mode, setMode] = useState('replace') - // Always start on the safe default when the modal opens so a previous - // 'overwrite' selection can't accidentally persist into the next session. - useEffect(() => { - if (isOpen) setMode('replace') - }, [isOpen]) - const contents = manifest?.contents ?? {} const skills = contents.skills ?? [] const mcps = contents.mcp_servers ?? [] From 2f8c4b4f8e1368298a582cc34b48fea8cccc2423 Mon Sep 17 00:00:00 2001 From: Tobias Garcia Date: Mon, 15 Jun 2026 13:37:14 +0900 Subject: [PATCH 10/24] Feature: Agent profile fixes and tests --- app/ui_layer/adapters/browser_adapter.py | 58 ++++++++++++++----- .../src/components/ui/ImportProfileModal.tsx | 6 +- .../src/pages/Settings/GeneralSettings.tsx | 14 ++--- 3 files changed, 55 insertions(+), 23 deletions(-) diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 6a2f1454..ef64b3c1 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -961,6 +961,9 @@ def __init__( # Track active OAuth tasks for cancellation support self._oauth_tasks: Dict[str, asyncio.Task] = {} + # Staged bundle bytes keyed by short-lived token (inspect → import flow) + self._staged_bundles: Dict[str, bytes] = {} + # Living UI manager template_path = ( Path(__file__).parent.parent.parent / "data" / "living_ui_template" @@ -3003,6 +3006,7 @@ async def _profile_inspect_handler(self, request: "web.Request") -> "web.Respons from aiohttp import web from app.ui_layer.settings.profile_bundle import inspect_bundle + bundle_path = None try: bundle_path = await self._stage_uploaded_bundle(request) if not bundle_path: @@ -3010,13 +3014,22 @@ async def _profile_inspect_handler(self, request: "web.Request") -> "web.Respons {"error": "No bundle file uploaded"}, status=400 ) result = inspect_bundle(bundle_path) - # Return the temp path so the subsequent /api/profile/import call - # can reuse it instead of re-uploading the bundle. - result["bundle_path"] = bundle_path + # Read bytes into memory and delete the temp file immediately so a + # cancelled import (user closes modal) never leaks a file to %TEMP%. + bundle_bytes = Path(bundle_path).read_bytes() + token = str(uuid.uuid4()) + self._staged_bundles[token] = bundle_bytes + result["bundle_token"] = token return web.json_response(result) except Exception as exc: logger.error(f"[PROFILE_BUNDLE] Inspect failed: {exc}", exc_info=True) return web.json_response({"error": str(exc)}, status=500) + finally: + if bundle_path: + try: + Path(bundle_path).unlink(missing_ok=True) + except Exception: + pass async def _profile_import_handler(self, request: "web.Request") -> "web.Response": """Apply a previously-inspected bundle to the agent.""" @@ -3030,19 +3043,35 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response {"error": "Invalid JSON body"}, status=400 ) - bundle_path = payload.get("bundle_path") or "" - mode = payload.get("mode", "merge") - if not bundle_path: + token = payload.get("bundle_token") or "" + mode = payload.get("mode", "replace") + if not token: + return web.json_response( + {"error": "bundle_token is required"}, status=400 + ) + + bundle_bytes = self._staged_bundles.get(token) + if bundle_bytes is None: return web.json_response( - {"error": "bundle_path is required"}, status=400 + {"error": "bundle_token not found or already used"}, status=400 ) + import tempfile + tmp_path = None try: + with tempfile.NamedTemporaryFile( + suffix=".craftbot", + prefix="craftbot_profile_in_", + delete=False, + ) as tmp: + tmp.write(bundle_bytes) + tmp_path = tmp.name + # Pass the live LivingUIManager so imported projects land in its # in-memory state. Without this, the manager's stale state will # overwrite our file on the next status update / watchdog tick. result = import_profile( - bundle_path, + tmp_path, mode=mode, living_ui_manager=self._living_ui_manager, ) @@ -3050,13 +3079,12 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response logger.error(f"[PROFILE_BUNDLE] Import failed: {exc}", exc_info=True) return web.json_response({"error": str(exc)}, status=500) finally: - # Best-effort cleanup of the staged upload. - try: - p = Path(bundle_path) - if p.exists(): - p.unlink() - except Exception: - pass + self._staged_bundles.pop(token, None) + if tmp_path: + try: + Path(tmp_path).unlink(missing_ok=True) + except Exception: + pass return web.json_response(result) diff --git a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx index 156b1db3..a1b41151 100644 --- a/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx +++ b/app/ui_layer/browser/frontend/src/components/ui/ImportProfileModal.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react' +import { useState, useEffect } from 'react' import { Loader2, AlertTriangle, Package, Wrench, Server, Layout, FileText } from 'lucide-react' import { Button } from './Button' import { Modal, ModalBody, ModalFooter } from './Modal' @@ -96,6 +96,10 @@ export function ImportProfileModal({ }: ImportProfileModalProps) { const [mode, setMode] = useState('replace') + useEffect(() => { + if (isOpen) setMode('replace') + }, [isOpen]) + const contents = manifest?.contents ?? {} const skills = contents.skills ?? [] const mcps = contents.mcp_servers ?? [] diff --git a/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx b/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx index 7815a61a..625f3579 100644 --- a/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx +++ b/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx @@ -108,7 +108,7 @@ export function GeneralSettings() { { type: 'success' | 'error' | 'info'; message: string } | null >(null) const [showImportModal, setShowImportModal] = useState(false) - const [importBundlePath, setImportBundlePath] = useState(null) + const [importBundleToken, setImportBundleToken] = useState(null) const [importManifest, setImportManifest] = useState(null) const [importPreview, setImportPreview] = useState(null) const [importError, setImportError] = useState(null) @@ -610,7 +610,7 @@ export function GeneralSettings() { setImportManifest(null) setImportPreview(null) setImportError(null) - setImportBundlePath(null) + setImportBundleToken(null) setShowImportModal(true) try { @@ -626,7 +626,7 @@ export function GeneralSettings() { } setImportManifest(data.manifest) setImportPreview(data.preview) - setImportBundlePath(data.bundle_path) + setImportBundleToken(data.bundle_token) } catch (err) { const msg = err instanceof Error ? err.message : 'Could not read bundle' setImportError(msg) @@ -638,18 +638,18 @@ export function GeneralSettings() { setImportManifest(null) setImportPreview(null) setImportError(null) - setImportBundlePath(null) + setImportBundleToken(null) } const handleImportApply = async (mode: ImportMode) => { - if (!importBundlePath) return + if (!importBundleToken) return setIsApplyingImport(true) setImportError(null) try { const response = await fetch('/api/profile/import', { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ bundle_path: importBundlePath, mode }), + body: JSON.stringify({ bundle_token: importBundleToken, mode }), }) const data = await response.json() if (!response.ok || !data.success) { @@ -675,7 +675,7 @@ export function GeneralSettings() { setShowImportModal(false) setImportManifest(null) setImportPreview(null) - setImportBundlePath(null) + setImportBundleToken(null) } catch (err) { const msg = err instanceof Error ? err.message : 'Import failed' setImportError(msg) From 886eaa297ae1af937a18be31e776789e3b4dea5c Mon Sep 17 00:00:00 2001 From: Tobias Garcia Date: Mon, 15 Jun 2026 14:42:30 +0900 Subject: [PATCH 11/24] Fix: Check isComposing for IME conversion on MacBook --- app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx b/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx index 80f9a428..4ce9de49 100644 --- a/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx +++ b/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx @@ -415,6 +415,10 @@ export function Chat({ livingUIId, placeholder, emptyMessage }: ChatProps) { return } } + if (e.nativeEvent.isComposing) { + e.preventDefault() + return + } if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault() if (autocompleteRef.current?.handleEnter()) { From ac85d9ef2bf6dd42def236e65128db7f3f349f19 Mon Sep 17 00:00:00 2001 From: CraftBot Date: Mon, 15 Jun 2026 14:59:19 +0900 Subject: [PATCH 12/24] Update README --- README.cn.md | 27 +++++---------------------- README.de.md | 27 +++++---------------------- README.es.md | 27 +++++---------------------- README.fr.md | 27 +++++---------------------- README.ja.md | 27 +++++---------------------- README.ko.md | 14 +++++--------- README.md | 27 +++++---------------------- README.pt-BR.md | 27 +++++---------------------- README.zh-TW.md | 27 +++++---------------------- assets/README_banner.png | Bin 0 -> 1112877 bytes 10 files changed, 45 insertions(+), 185 deletions(-) create mode 100644 assets/README_banner.png diff --git a/README.cn.md b/README.cn.md index 98c97bdd..722733d6 100644 --- a/README.cn.md +++ b/README.cn.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -59,27 +59,6 @@ --- -## 🧰 快速开始 - -- **自带密钥 (BYOK)** — 灵活的 LLM 提供商系统,支持 OpenAI、Google Gemini、Anthropic Claude、BytePlus 和本地 Ollama 模型。可轻松切换提供商。 -- **记忆系统** — 在午夜整理并汇总一天中发生的事件。 -- **主动式代理** — 学习你的偏好、习惯和人生目标,然后进行规划并启动任务(当然需要你的批准)来帮助你改善生活。 -- **Living UI** — 在 CraftBot 中构建、导入或演进自定义应用。代理始终感知 UI 的状态,并可直接读取、写入和操作其数据。 -- **外部工具集成** — 连接 Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord 和 Telegram(更多即将推出!),支持嵌入式凭据和 OAuth。 -- **MCP** — 模型上下文协议(Model Context Protocol)集成,通过外部工具和服务扩展代理能力。 -- **技能系统** — 可扩展的技能框架,内置任务规划、研究、代码审查、Git 操作等技能。 -- **跨平台** — 完整支持 Windows、macOS 和 Linux,具有平台特定代码变体和 Docker 容器化。 - -> [!IMPORTANT] -> **GUI 模式已弃用。** CraftBot 不再支持 GUI(桌面自动化)模式。请改用 Browser 或 CLI 模式。 - -
- CraftBot Banner - CraftBot Banner -
- ---- - ## 🧰 环境设置 @@ -140,6 +119,10 @@ python craftbot.py uninstall # 停止运行、移除自启动并卸载所有依 **Living UI 是会随你的需求一同演进的系统/应用/仪表盘。** +
+ CraftBot Banner +
+ - 想要一个内置 AI 协作伙伴的看板? - 一套完全贴合你工作流的定制 CRM? - 一个 CraftBot 能替你读取并操作的公司仪表盘? diff --git a/README.de.md b/README.de.md index e9942842..c5fb1154 100644 --- a/README.de.md +++ b/README.de.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -59,27 +59,6 @@ Darüber hinaus bringt CraftBot alle Kernfunktionen eines universellen Agent-Fra --- -## ✨ Funktionen - -- **Bring Your Own Key (BYOK)** — Flexibles LLM-Provider-System mit Unterstützung für OpenAI, Google Gemini, Anthropic Claude, BytePlus und lokale Ollama-Modelle. Wechsle Anbieter mühelos. -- **Speichersystem** — Destilliert und konsolidiert um Mitternacht die Ereignisse des Tages. -- **Proaktiver Agent** — Lernt deine Vorlieben, Gewohnheiten und Lebensziele kennen. Anschließend plant er und startet (selbstverständlich nach Freigabe) Aufgaben, die dir beim Fortschritt helfen. -- **Living UI** — Baue, importiere oder entwickle eigene Apps weiter, die in CraftBot leben. Der Agent behält den UI-Zustand stets im Blick und kann deren Daten direkt lesen, schreiben und verarbeiten. -- **Externe Tool-Integration** — Verbinde dich mit Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord und Telegram (weitere folgen!) mit eingebetteten Zugangsdaten und OAuth-Unterstützung. -- **MCP** — Integration des Model Context Protocol, um die Fähigkeiten des Agents um externe Tools und Dienste zu erweitern. -- **Skills** — Erweiterbares Skill-Framework mit eingebauten Skills für Aufgabenplanung, Recherche, Code-Reviews, Git-Operationen und mehr. -- **Plattformübergreifend** — Vollständige Unterstützung für Windows, macOS und Linux mit plattformspezifischen Code-Varianten und Docker-Containerisierung. - -> [!IMPORTANT] -> **Der GUI-Modus ist veraltet.** CraftBot unterstützt den GUI-Modus (Desktop-Automatisierung) nicht mehr. Bitte verwende stattdessen den Browser- oder CLI-Modus. - -
- CraftBot Banner - CraftBot Banner -
- ---- - ## 🧰 Erste Schritte @@ -116,6 +95,10 @@ python craftbot.py uninstall # Stoppen, Autostart entfernen und Pakete deinstal **Eine Living UI ist ein System / eine App / ein Dashboard, das mit deinen Anforderungen mitwächst.** +
+ CraftBot Banner +
+ - Brauchst du ein Kanban-Board mit eingebautem KI-Copiloten? - Ein maßgeschneidertes CRM, das exakt deinem Workflow folgt? - Ein Unternehmens-Dashboard, das CraftBot lesen und für dich bedienen kann? diff --git a/README.es.md b/README.es.md index 89ef0509..6734a69c 100644 --- a/README.es.md +++ b/README.es.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -59,27 +59,6 @@ Más allá de ser un agente de IA capaz de crear y operar sus propias herramient --- -## ✨ Características - -- **Bring Your Own Key (BYOK)** — Sistema flexible de proveedores de LLM con soporte para OpenAI, Google Gemini, Anthropic Claude, BytePlus y modelos locales de Ollama. Cambia entre proveedores fácilmente. -- **Sistema de Memoria** — Destila y consolida los eventos del día cada medianoche. -- **Agente Proactivo** — Aprende tus preferencias, hábitos y metas de vida. Luego planifica e inicia tareas (con tu aprobación, por supuesto) para ayudarte a mejorar en la vida. -- **Living UI** — Crea, importa o evoluciona aplicaciones personalizadas que viven dentro de CraftBot. El agente es consciente del estado de la UI y puede leer, escribir y actuar sobre sus datos directamente. -- **Integración con herramientas externas** — Conéctate a Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord y Telegram (¡vendrán más!) con credenciales integradas y soporte OAuth. -- **MCP** — Integración con Model Context Protocol para ampliar las capacidades del agente con herramientas y servicios externos. -- **Skills** — Framework de skills extensible con skills integradas para planificación de tareas, investigación, revisión de código, operaciones de git y más. -- **Multiplataforma** — Soporte completo para Windows, macOS y Linux con variantes de código específicas por plataforma y contenedorización con Docker. - -> [!IMPORTANT] -> **El modo GUI está obsoleto.** CraftBot ya no admite el modo GUI (automatización de escritorio). Usa en su lugar el modo Browser o CLI. - -
- CraftBot Banner - CraftBot Banner -
- ---- - ## 🧰 Primeros pasos @@ -116,6 +95,10 @@ python craftbot.py uninstall # Detiene, quita el autoinicio y desinstala los pa **Living UI es un sistema/app/dashboard que evoluciona con tus necesidades.** +
+ CraftBot Banner +
+ - ¿Necesitas un tablero kanban con un copiloto de IA incorporado? - ¿Un CRM a medida que encaje exactamente con tu flujo de trabajo? - ¿Un dashboard corporativo que CraftBot pueda leer y operar por ti? diff --git a/README.fr.md b/README.fr.md index d54f7478..348f0113 100644 --- a/README.fr.md +++ b/README.fr.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -59,27 +59,6 @@ En plus d'être un agent IA capable de créer et d'opérer ses propres outils Sa --- -## 🧰 Premiers pas - -- **Bring Your Own Key (BYOK)** — Système flexible de fournisseurs LLM prenant en charge OpenAI, Google Gemini, Anthropic Claude, BytePlus et les modèles locaux Ollama. Basculez facilement entre fournisseurs. -- **Système de mémoire** — Distille et consolide les événements de la journée à minuit. -- **Agent proactif** — Apprend vos préférences, habitudes et objectifs de vie. Puis planifie et lance des tâches (avec votre accord, bien sûr) pour vous aider à progresser. -- **Living UI** — Créez, importez ou faites évoluer des applications personnalisées qui vivent au sein de CraftBot. L'agent reste conscient de l'état de l'UI et peut lire, écrire et agir directement sur ses données. -- **Intégration d'outils externes** — Connectez-vous à Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord et Telegram (d'autres à venir !) avec des identifiants intégrés et le support OAuth. -- **MCP** — Intégration du Model Context Protocol pour étendre les capacités de l'agent avec des outils et services externes. -- **Skills** — Framework de skills extensible avec des skills intégrées pour la planification de tâches, la recherche, la revue de code, les opérations git, etc. -- **Multiplateforme** — Prise en charge complète de Windows, macOS et Linux avec des variantes de code spécifiques à chaque plateforme et la conteneurisation Docker. - -> [!IMPORTANT] -> **Le mode GUI est déprécié.** CraftBot ne prend plus en charge le mode GUI (automatisation de bureau). Utilisez plutôt le mode Browser ou CLI. - -
- CraftBot Banner - CraftBot Banner -
- ---- - ## 🧰 Pour commencer @@ -140,6 +119,10 @@ python craftbot.py uninstall # Arrête, supprime le démarrage auto et désinst **La Living UI est un système / une app / un tableau de bord qui évolue avec vos besoins.** +
+ CraftBot Banner +
+ - Besoin d'un tableau kanban avec un copilote IA intégré ? - D'un CRM sur mesure, conçu exactement à la forme de votre workflow ? - D'un tableau de bord d'entreprise que CraftBot puisse lire et piloter pour vous ? diff --git a/README.ja.md b/README.ja.md index 6a16d167..665fbda7 100644 --- a/README.ja.md +++ b/README.ja.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -59,27 +59,6 @@ --- -## ✨ 特徴 - -- **Bring Your Own Key (BYOK)** — OpenAI、Google Gemini、Anthropic Claude、BytePlus、ローカルOllamaモデルをサポートする柔軟なLLMプロバイダーシステム。プロバイダー間の切り替えが簡単です。 -- **メモリシステム** — 一日を通して起きたイベントを深夜に整理・統合します。 -- **プロアクティブエージェント** — あなたの好み、習慣、人生の目標を学習し、計画を立て、タスクを開始して(もちろん承認付きで)あなたの生活をより良くします。 -- **Living UI** — CraftBotの中で動作するカスタムアプリを構築、インポート、または進化させます。エージェントはUIの状態を常に把握し、そのデータを直接読み取り、書き込み、操作できます。 -- **外部ツール統合** — 埋め込みクレデンシャルとOAuthサポートにより、Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord、Telegramに接続(今後さらに追加予定!)。 -- **MCP** — 外部ツールやサービスでエージェント機能を拡張するためのModel Context Protocol統合。 -- **スキル** — タスク計画、リサーチ、コードレビュー、Git操作などの組み込みスキルを含む拡張可能なスキルフレームワーク。 -- **クロスプラットフォーム** — プラットフォーム固有のコードバリアントとDockerコンテナ化によるWindows、macOS、Linuxの完全サポート。 - -> [!IMPORTANT] -> **GUIモードは非推奨になりました。** CraftBotはGUI(デスクトップ自動化)モードをサポートしなくなりました。代わりにBrowserまたはCLIモードをご利用ください。 - -
- CraftBot Banner - CraftBot Banner -
- ---- - ## 🧰 はじめに @@ -116,6 +95,10 @@ python craftbot.py uninstall # 停止・自動起動の解除・パッケージ **Living UIは、あなたのニーズに合わせて進化していくシステム/アプリ/ダッシュボードです。** +
+ CraftBot Banner +
+ - AIコパイロット付きのカンバンボードが欲しい? - 自分のワークフローにぴったり合うカスタムCRMは? - CraftBotがあなたに代わって読み取り・操作できる社内ダッシュボードは? diff --git a/README.ko.md b/README.ko.md index 8f236403..18d7c63d 100644 --- a/README.ko.md +++ b/README.ko.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -47,14 +47,6 @@ 자체 SaaS 도구를 만들고 운영할 수 있는 AI 에이전트라는 점 외에도, CraftBot은 에이전트 하네스로서의 핵심 기능을 모두 갖추고 있어 작업, 도구, 메모리, 일상 워크플로 전반에서 범용 AI 에이전트로 사용자와 함께 일할 수 있습니다. -> [!IMPORTANT] -> **GUI 모드는 더 이상 지원되지 않습니다.** CraftBot은 GUI(데스크톱 자동화) 모드를 더 이상 지원하지 않습니다. 대신 Browser 또는 CLI 모드를 사용하세요. - -
- CraftBot Banner - CraftBot Banner -
- --- ## 🧰 시작하기 @@ -92,6 +84,10 @@ python craftbot.py uninstall # 중지, 자동 시작 해제, 패키지 제거 **Living UI는 사용자의 필요에 맞춰 함께 진화하는 시스템/앱/대시보드입니다.** +
+ CraftBot Banner +
+ - AI 코파일럿이 내장된 칸반 보드가 필요한가요? - 당신의 워크플로에 딱 맞춘 커스텀 CRM은요? - CraftBot이 대신 읽고 조작할 수 있는 회사 대시보드는요? diff --git a/README.md b/README.md index 57cd7270..2b3cec9d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -59,27 +59,6 @@ Aside from being an AI agent that can create and operate its own SaaS tools, Cra --- -## ✨ Features - -- **Bring Your Own Key (BYOK)** — Flexible LLM provider system supporting OpenAI, Google Gemini, Anthropic Claude, BytePlus, and local Ollama models. Easily switch between providers. -- **Memory System** — Distill and consolidate events that happened through the day at midnight. -- **Proactive Agent** — Learn your preferences, habits, and life goals. Then, perform planning and initiate tasks (with approval, of course) to help you improve in life. -- **Living UI** — Build, import, or evolve custom apps that live inside CraftBot. The agent stays aware of the UI's state and can read, write, and act on its data directly. -- **External Tools Integration** — Connect to Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, and Telegram (more to come!) with embedded credentials and OAuth support. -- **MCP** — Model Context Protocol integration for extending agent capabilities with external tools and services. -- **Skills** — Extensible skill framework with built-in skills for task planning, research, code review, git operations, and more. -- **Cross-Platform** — Full support for Windows, macOS, and Linux with platform-specific code variants and Docker containerization. - -> [!IMPORTANT] -> **GUI mode is deprecated.** CraftBot no longer supports GUI (desktop automation) mode. Please use Browser or CLI mode instead. - -
- CraftBot Banner - CraftBot Banner -
- ---- - ## 🧰 Getting Started @@ -116,6 +95,10 @@ python craftbot.py uninstall # Stop, remove auto-start, and uninstall packages **Living UI is a system/app/dashboard that evolves with your needs.** +
+ CraftBot Banner +
+ - Need a kanban board with an AI co-pilot built in? - A custom CRM shaped exactly like your workflow? - A company dashboard that CraftBot can read and drive on your behalf? diff --git a/README.pt-BR.md b/README.pt-BR.md index d546a0ff..23e05b4d 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -59,27 +59,6 @@ Além de ser um agente de IA capaz de criar e operar suas próprias ferramentas --- -## 🧰 Primeiros passos - -- **Bring Your Own Key (BYOK)** — Sistema flexível de provedores de LLM com suporte a OpenAI, Google Gemini, Anthropic Claude, BytePlus e modelos locais do Ollama. Troque de provedor com facilidade. -- **Sistema de Memória** — Destila e consolida os eventos ocorridos durante o dia à meia-noite. -- **Agente Proativo** — Aprende suas preferências, hábitos e metas de vida. Depois, planeja e inicia tarefas (com sua aprovação, claro) para ajudá-lo a evoluir. -- **Living UI** — Construa, importe ou evolua aplicativos personalizados que vivem dentro do CraftBot. O agente permanece ciente do estado da UI e pode ler, escrever e agir sobre seus dados diretamente. -- **Integração com ferramentas externas** — Conecte-se a Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord e Telegram (mais a caminho!) com credenciais embutidas e suporte a OAuth. -- **MCP** — Integração com o Model Context Protocol para ampliar as capacidades do agente com ferramentas e serviços externos. -- **Skills** — Framework de skills extensível com skills embutidas para planejamento de tarefas, pesquisa, revisão de código, operações de git e muito mais. -- **Multiplataforma** — Suporte completo para Windows, macOS e Linux, com variantes de código específicas por plataforma e conteinerização via Docker. - -> [!IMPORTANT] -> **O modo GUI foi descontinuado.** O CraftBot não oferece mais suporte ao modo GUI (automação de desktop). Use os modos Browser ou CLI em vez disso. - -
- CraftBot Banner - CraftBot Banner -
- ---- - ## 🧰 Começando @@ -140,6 +119,10 @@ python craftbot.py uninstall # Para o serviço, remove o autoinício e desinsta **Living UI é um sistema/app/dashboard que evolui junto com suas necessidades.** +
+ CraftBot Banner +
+ - Precisa de um quadro kanban com um copiloto de IA embutido? - Um CRM sob medida, exatamente no formato do seu fluxo de trabalho? - Um dashboard corporativo que o CraftBot consegue ler e operar por você? diff --git a/README.zh-TW.md b/README.zh-TW.md index ba96a478..20bd8179 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -1,5 +1,5 @@
- CraftBot Banner + CraftBot Banner
@@ -59,27 +59,6 @@ --- -## ✨ 功能特色 - -- **自帶金鑰(BYOK)** — 靈活的 LLM 供應商系統,支援 OpenAI、Google Gemini、Anthropic Claude、BytePlus 及本地 Ollama 模型,可輕鬆切換。 -- **記憶系統** — 每天午夜時分提煉並整合當日所發生的事件。 -- **主動式代理人** — 學習你的偏好、習慣與人生目標,接著進行規劃並(在取得同意後)主動啟動任務,協助你在生活中不斷進步。 -- **Living UI** — 在 CraftBot 中建立、匯入或演進自訂應用。代理人持續感知 UI 的狀態,並可直接讀取、寫入和操作其資料。 -- **外部工具整合** — 連接 Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord 及 Telegram(更多服務陸續推出!),內建憑證與 OAuth 支援。 -- **MCP** — 整合 Model Context Protocol,以外部工具與服務擴充代理人的能力。 -- **技能(Skills)** — 可擴充的技能框架,內建任務規劃、研究、程式碼審查、Git 操作等多種技能。 -- **跨平台** — 完整支援 Windows、macOS 與 Linux,並提供對應的平台程式碼與 Docker 容器化。 - -> [!IMPORTANT] -> **GUI 模式已停用。** CraftBot 不再支援 GUI(桌面自動化)模式。請改用 Browser 或 CLI 模式。 - -
- CraftBot Banner - CraftBot Banner -
- ---- - ## 🧰 快速開始 @@ -116,6 +95,10 @@ python craftbot.py uninstall # 停止執行、移除自動啟動並解除安裝 **Living UI 是會隨著你的需求一起演進的系統/應用/儀表板。** +
+ CraftBot Banner +
+ - 想要一塊內建 AI 協作夥伴的 Kanban 看板? - 一套完全貼合你工作流程的客製化 CRM? - 一個 CraftBot 可以代替你讀取並操作的公司儀表板? diff --git a/assets/README_banner.png b/assets/README_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..8119af9283cbf10d854d001af2c9170e7b24ca2d GIT binary patch literal 1112877 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 z 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
  • _-iL@(#idMj0!qpxZ# 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 _LMLFqyYmNK~#Yz^JH@cOPmFRL;ckr?guP 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

    @&+)&0a)T0KhTE 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ĉFB`|dphrB?oHkAO>Xp5IPY5Yq01^@`0bK~*k@*Q1AaAvb| zh%W4JLR%RE@396G>&~hZdlm*+;StD%Tq8mu{G@V{#96CEmH5b-pQ~ClJqkE1>s4u~ z04)lthCMwBan#M)5M2nSsU6hb4;Wa^|qQ5lv?z{3o6%L zckLw?U)=hNh@O1%sbj~EjYi{_cK_@)rLO%;-~=QBfL^cr%2&SPgCG3y@BN;4%WUiU>N`n@EDhz9-spx*-kDgekg33RcX}*BH9lT}^FYRyl z6#=~eP~i}M_VMalTXe^He^C!F8^ExJ3DLeT9`0kO(ZH66r$)3{lLMS9;J$VL)pgJO zDy){u1^yPBl1%hZi0mP%!c3UjtN;>$Y)xcijU}Z`dBsq&uAnjboOMJS))I#ifCzOB zN2r!SV8dGeQJ8EZiRQG)ZasrU1ORXV9^KbZoPYJ<15bV938EevYd}B(E5ky_R15*) z?Iolp1P8T1^dp-7Rl{J?hk#E2oWkTOHOREmhiu1#a_KY$_oTTeX3*=47@#FsM;Y@=LdlEhGv!|%mA~P9G3-p#q z8zZsuHau^cZfbAXbis|zP(Dqwhp25(knonQ!PSzRH?%JloJQInWSoV+4vlh%oieX?K>Ygyn0lo?Y}(?F>oQbe|W!}>4@5$26p z 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 +H=D%R>fAYy@UN2)?8W>RD+myP9cZu&=7W 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⋘6h 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%0DCJcnduRg@ zi7;_QZvX@IR|)i}MJFDODGA#{N6fNXs3ky-v=ahwCP1FXhM6bPMl1~^0h*D|Zi<)I zzH^XbGkp5ch~>(EX(jjxDBXi-30rrV#39VPQ*Cw=mVvRy`+6{x5SR;*DYzW2uW)UV z)jl$a7&}WES2EZp(vFL0hVULr98+$MS-O#dGLE6=ofry3gMpuD18U8ASW*Xwm%&xE z=rlkY#buN`-m_uoXu}e7>gP=BKuE;WTEX4Yd6` z2$ZW~c!{!UG$L#MrQ0a8hWX#~t8m&VXlMYF@eQ2rl^45YLlO4h#g~sU zNMf+u?a8?kE7pD>Qn&)l)K5+bt`6En7XYZA324VMlI#)h6cXai48Q*U^Dn;s=x5)4 zjIaf+V+c5*pY_r0f9`eoxVdzEN!rj0L_8QPQE9QNjJH{%VihYNvrt~oqP4uRE>&kI z(VofgX45w}L*8Z-NHRHdgYZ!XZJ>{b-n;fBi@VY*bWWxAx*M-T6z0ugrh$v9#5w_h zzG@bHrm@nW@lsfth!%MDvnFyutvYLMgH!@oxA=&*LhQ>%z+ag#E7#ImJYr9kUU;bGAuiZIp zr}FK(`M-ak|H(NXZHZXYl~GUnJK7#kB&&}GM;1X7{&MTbxu-CV5)t{(k-xR3*#HpI z0?eh#G7(fT1OnA%QS&m-bFFg(AdVu$%2FHFuHS)GS;;s!rT%Z?r#&VREvxFBKr4P_ z&OeQb40W?Tx_IyLw|@SY-}urGZ_iGq>A21tWS;kR+S0{)kH7O9zge%Y%BJ)|AcX77 z%l&TW?xd28S*Cjfjk&J?4P;~v+oPP=;piS^j^|p52nnHuw0{822jN(sgNQZWx`G8Zb~>&IwpTUj5%_*+Cb}@XyFtpZ~5Bq(s)gmPZ!fZP<7F91gYV|H0mgU6Wr8F#FhUs^T)sC6#)cP~T+ zvw{?&>R_K6Gx)-h!l$~R4VjQzDgXHC^f%t(Klizlr-$7%AO6e_O^?sF|MTzO+&SGA zXm>X7gz10!+x0*AF8!%D=#M>WpE-q7ss))VyuUAh@5$yr`C#*v=X>0iX*)6Sj^XZn z{ont>^haOA-33pZ2`BuW_ou)6l#jQd8%^{uuue`e0K%aKW~WHKb5;k}Zs~HKaZZhl zii6nWLGbz*CktpUfnb1v@KQ!rJ_s<{(|&b`GDK)Hd@oc=Dco9}>!J$eYJIw`@nn%d zBD%eJ$jBV&MnEdG*=})e`~4mO@|&PS?uyu8&OAU!I$_w0n!?cySg6rL)rx;?Kf7|M znxQ6YNu)rd2CDM%Q=`Gs9d+PB00IDz22d*YlcF^>apj)9WxkLJhbJ`zmYTW9Zb<(f zGp^&P1oa3Y9FvkwgV+w90{}T0EBdSfE<4uvVv@IFyK$LW67)PGBR5KCFZbYDv*qQ| z(|8HZpN!FO()2eQ9U@|GdbpgXB9i(13XCy+q;J{?ep0ZK7=k>3-GVAAr-tCFDmJql zJ{@`DDmSPb5vAW)?!&4d93(0gv*yD9yA2K_;Vt<}I0E*!zX2llqmZBZx|tma|X} z>r^yFEf(KoY-D_*|K@%`ENW8(Xrt!p=!AzD5PFJpBY=J5+U7t1asKl!;fFVPJ4+8sUIa%C}xt+m%)dF|70zR9w)!8j*k($T23#;vs`!7`8ftoR;)fVI}= z&z{#>ODTf*`4e$AJ-&ul7TdeJx_bKbsX6-Dzy%U8T5=;+ggzLzK(Y=xnuqGHDi48% z)N6?XFND>}V;lUr)@>=*AAI;bKl^lhb~F3~kGE`x`e5ai9R+L~dw zp@ft5QrE}5qd6_g78{gL>~~CLWizk z%$!7yPeJ00bs*WZMT>$O0e7Q~HR7}InmBn&K0s^D$P@8SW-+Wjv#cUrXC84Nm9*f< z5cVA{SE5-ld~u+4w0SBnnCgf%*=o=_>*F(_9r4MIj*d2)sm`_4wg{Eq`oUNi$Ez@0 zTu%ZU#72J+(ed#yGhbcbs4=pE#&zm)$SEiTI4>7bmeg`8C05l3%a0X_)Gy>Nak&qe zC{^xm`e*5&#Qp@o9F0o!)nXNNnb{p(-a62iaz_I!GFgv47uOvm)SJ^#C3Z+{u_ zmDB0r7F(h71Ae&Y>v`Txhs~xiLL)lV`si@}7rs#b+i%wM^M+U^XfIm%UwyMZtL1pp z7wWp*P%dR0)1YSzEIRF7L;XPd_|f=IaO+J0O*MGnDufZaMSzwN^_!m&OmhJU_W(rdMCd!CzX6@_(`PFwRf zdQGHkU@6T?yhX{tj@)X}cgFr;_x+u@XB(6(_1b9$*2;%V|F@s&}wGrjCHH{LY z&Z89kd%Tp&=Il0BnM(gwXUwd(0}`dGn930SjVlOlT`TzJM>Oqw=1KzJ`LRds$gECKm@udZ z(t39rlSw`y_5v&wqY@XV0KQBp@fthMSkr@i!@z)>zoo_zAe|pq2mC?Eo z;3BO8I(IQ&`RGqFmu$6$2#enBH+@2m3zM2^4aD?IVTm*jY#yvcyf{gb41EX*N^8yB z_5~qmmY7p7&1x_}&x`J>{k#xB6Y|g@iQgnYV0cQg5o{$TOuW5=UTy3#rb^kbu4VcT zmmu-gtp)oyj9fBXF>*(~I%yi_>39IX>LbB8gnm|uMj(^wddEOLSq`;^R-KH{RSy-e zERDt$7yZUV4N(wd`l+rRq1uUPIFMy+YK?o!n;@H+gHk`-5|l7ZYI2M|BX+#$@A{#u zJ%8?uzI*~VbK4UV(TCUVjV=7dJ@|$9o5s+Ifr;qO*_~3R>%&!{!rWXsdj=LW^q5@Z z#_2QCu01G7bE|W!2;BP7Fy>>a35X(UP#h}?wu=FP8<#?*6bV0Z9wHyY#6|2J(Mf@* zxi;p|O8g+mk7ejzR(tUuqLPW7!75YHEaMcKBh)dgDL^nDZcZD~z=J6f1%s z;c`$O*8)@2RmIR2y%8;(i+@C5PEbgzWp&08})*NZ-10D69!`)~n^2|M&@>J!Z5JAXs zQEu%M>b8bsPi$DxDi3yO0RWM=ZtC&)_!tp)yM0SR@Z~_PQMl^;W@lyvd{@gWg|#+7 z*laharzh7p*Jg3o36SU3L3souk!7cOv6dMUWSpp6M;@-#wT|AbXrZPDnuo(^27B?9*fCYCn3Sv8}bZ%eYN}S=KA0KvGT`1MmLu{m0B1sHb?)?Z}Q)MO2;R}hYCo-7-dgl zyCo;;6lt*t7cn7^i+iokoY4QJYV$a{<7ZHDUMU`yxz^BFwb;=sJ&q=w{TISiNeNIdI_t zco=|?nUP2*1D5C}!jCBe7xwER6KV?*!_h#9t{aB1yG0m8m1Gc>(?2^iOs9F;edmtu z> z3Q3C`^OpwNb5!4RjoTNLI4%UmvLaOG^kv-?RS&0%8597PNT7j5* zK(i5oOdtAt2AF{efJt+9nmH*5RIu9&9SQCR9tn*t=$lgeQ0Sl`8U}YA!q|12wz1eH zfFPOrr>mOjf4@q8SkW3^dtqa`d~rv40Ngb%0tPP(1zA(}6kvZ<5&PRS^nQQUYy*Gc zOh4#b)8kym(BBIInvWw7nT_je%M5*w5dd^i-xK}n_s;+M&%X4Jzx_euwDqrxftk?d zCOS_2y$$nCs96vAmIs3C;D(KbH)#gaYq7C_5%%0Z2I?>jP$o$J6|US8D+kYXKm^d2 zZ+MW%yRLt{4&SqAan6JZ+9D=lWxKI7k)2pgJi+vYO+4Hob193WiDB9ly_}p9=)vU_ ziw$#_AV0C=9_!Ctus-T=D#*w9G(a@q9RqaH%eAdPLIC}&ROZGxUCyOKwR4J58XoOo4w^pWF#b;IU)@-X3SuhkK`9e z1wRMOn8`h+tn(I9V&yvnAe&YJL=MGfQj5;WWlBS2?7(<{khG+PhV?2fhQYjm^U%=( zV(E{}m|K(vP%9Rxbi(8BNP*eDkjZR)PtQf?bl^wi2#1m%@d-RiwQ;@z25a6j=a%yh zC#3MGb+8Kv8vdwU(5PPmMqPqa`zyIF>NG5eG(Wwl2PWb_`Ju@sXCq*_so7p@j{L2~7?u~1jDSH(WBiIr$(IU*7fHwI>XSLnLZV4^iz2mk=h zS{g$2Q7Aa@DRtUxe6YCAG(>EzF}G5vR$^{w=i01%Oa~G=hGsgo%Ex{PeNqq~C$zXW z^+*tbdP?di>PARk(1mc5ldlTtPd58OV2VJ#GWlC zy*8l?m_d#J0HpZ39*@ER0oha8bpltJ`Hp;tv7QN+*M7xXK#4@yAQ zQX&}ZjsDvf5L=h3hI4~-mAo`60348{}KmdQ^0AbS^h>2mu83O{& z2tx=WdjwJ7>k-I4hysly2ycgkB%Q6h-|cyxTj%%3sk7C+Z>NKdj58FW-}~HKx9Zf{ z>(r^b$8Eaq_Q|ICQO+|6!0BrhuPCxZ#VFaJ`dM{FKUY!e2h9+Quq0Ge+n~C%h^n9Z zjS&zabwmVt!=_3grx;fW`=L06MZ4DH@I7q|T)#R53xBxMN1^w_T$m~(^vF|X32Vji zu5Vz7E*5B5L|)P^izB3#U$Tc~u)lPE{HA|+Fuu~Qda@q@$ouSCxraArj# zKrv6*`F74ud%Y5U10egDhG-?eLr74L#Uw}mpx1SkyXTTAFeDYJ*iL1mp}ACvPazQG zjuzW=%Ubu>x6giXN7_D0>oYoLq50ej{(pC-HZ>VC%Wy)R<$T+1x6h`twrRk-tSSv9 zv4SX5oi(?iJYd&#)9IA#s1P5Ovtd@U%;71~H=_Oo-8pwFtE>F=C((v=6I77pV}?c| z!Kt_Lif@m5n|e!4vn3Ja-VG{LM+2g8UiSO&*lH;MgYyFmST19ifTGDSu7dR~Yd~R( zVQne;MNaULHXLPYtyPX*un~c}=L4cYtb0X##mysdr-AmuO{6t_vkGYNvrNyL%9H@B z$$!uuhY8GSWo05aJJ!9m9<5<11bq`xw~~Ki#H613wR&dVWF(4t_qqoOJ&wE~j{W-X zta0j9a6lKoDb`S6oI?UtaV~@@Xa&mkDMYJZ6;CgRhe9SNM{cwcia7trI7Drg*RC;u zSy>4PO0pUyGO*=RHxjYhNCEVLn! zJnJD~Te(a1Q-5eZbzCu^k8c5hZH0(B%`JF4qB%$byG(1-S@P8Iv4rL{5Lu9K!l|?yWaY zk*5Fdpd|cTYcX%iLez)!aIru1zxmbeSln4!YE&w!`BW==A%| ze(8bhKXMG_Jf1ACQ^HZx%*NwCxeJWY5Z=`_?VGiP6U^FGNd&0M4K2;k)2BvVN&53!K_gaD&-#kqH~0;brPa8mAgp zI%fXM{NsTujg!7qy&JYaR^wFM2>CE21|lWwW;#j_hEfi#MIlLnivr56LNM4+B-C^# zNhC;a@#Z?7Dv$;50ML@;5{r3>JfK(*p3W5?Q#NA)YFd_#%6?WFBItUQG4v`ryIw|T zA>&{c$iKoR0S1i<5CRpw?|=jxs)_QQ6cAAYJs_SMy84>UQBWeGUeX%?kTdT_kx$to zP%ek1Ao9YSF}vo#Iqp-_T>N!NobQ#CB`~4?Ff_#v#>~f8RwE8uw+;4JOa!#zO z*NjF~-%^TDRdd*`7qt5zF6!s9$ayM6ge4gZ`RFFjJp`oGlq@;<5-6XGxiELufIU=QSSRz0Ef7^|Gq-nYjoomafnlfnpX~0`6vt> zDX!Ou(U4e$!}euMv%|wNu=Pi9fH!Cz2d?b(!UGaz5S5S++eVVg<#+`LK-dL8)OCei zfBtE&s+eT=4ke`dxzS(T*(^^dzj!>|f1&;4et6H#>DD}281n|8vZ9qznoQQe`ORRnoSVY*!gAt-dV~kN0FZdyjY^JiA00BMtPtqd zb97x_>!Uq#xEBsL?jUywg6XIsd z9xpQ##+O>d;Y|QH<|VOGu0y|D(}5iab0ih3e>|C1>v~X1W^BM5aTBi-3{ywn(d8&9Y6hN9GHw)49L}SR!4!Z$X1V2 z7gjv*nFtY6)6Tli*j+85%7;jiQU%<@9`e0vQ7k$Jtrrk{M6WmlYVBB!&t|iB)J`W; z`5upJ)o>ESmuUMn>?w&>Fcn$j%!`7q)qoI1Jy-DRzR!4G)er!{bUK?%X9Kv3FgUMm zxKgyjUO1uGuBlc`sji5cF;S0UKsxwOrrdRGVC{Zc%y(fIO>3zq-7Cb^UjLc=LQa&8sj?9Z-7c(Tfi|7S3Iv8xEvz+yl4I(t!-q1{;Fo7xDWR zrn|PRA3LTIVP5IFSx%{G=Gp_${HHI&e_P7axp70&O#W~N#hyR}oazIrC@|6*Oa^H{ zkwo0ZBs}R+m`+e;YpLXvllTEe-q{RCKdKh-0S+dJCJuG$37TrIJ#$T_;AeGTS$GydZWS< zcxHxTL+xlY4Tm{RYCggcyKBuDEiA%qkDQt^V)MPCiL310GAPyxpqpe65Xpzq%NGW) z#A--EN`#Q09FB?rgsGvD`NC0WKUGT}U928cN$5h*Fg4SUKSZEDm3FTUA!Y2 zA>p|B?4h~O-$>&YmuHZhX1*nw@fv@Zi=smSXxqlw4MU-<*ODqF3DXJc)G(_<<@RtVj5j0!ZCiWrEsiSPrWI5?`Eot;kLEeV!F$V!5?sZML>SsJpn0v!Rc=V z7V%=C5oRUbhfAiGWA0Ufsmy!DSycTMpz`A!luB|q69HlV)r2sQP#4+(YfhA~5wFU0 z^Li)9Zv~2Sn2d2S2~26J;8A?+`*g4xnoK47Mggex!>XZ^y$R*ogQYstE$5rUG2B*6 z>2y|rRv!s(4d6hA6o8Gfs!+GGlLdnw6JRh3Oz6pO@%~smf9i$PfPGuxq6Wcy>2*X` zYycHV?byvRRUQeTs6OYZm~O}DPMRWh6J$3zisDp{#+ea8rxyoANGTztoI5@{$wopZ zf`$`SVgOF{0NBQK2Q_OSsr1&{Y;Cfrp`1ZAhjHgikC@x$gFG z8Xfv!8g&r>dWh1O?EgH!mvL3Y4VC5R06{B=>zk$)BLjh<42x1{YvP-U-KoJZPEbO~ z=uxFMK&UySoB(vL>wZdqWH}ReIY%d00&yqNg*k?+LWMJS(`^Dmn5%% zm{Q=GZ-GfBqy{n;P0nG1gaD8@T2SH#x&;yuF(v0XrIa}20}{r-ROB*bcA)|9ZlGfy zw>hOB#?-Mup}yI1*8u3D|LD8&b;@g|@%${?=x2!WT&jQhKKhS502CKj$BliMuo$u|u~;7~1Fv}`uK`S3uXXIpKt z3e*8+$^ZzNxt%n2$0w=v$3xA`Cf5mL@#3B(s6KtxF%!6e-@ zh^x8zn;Y)_>0KvWd&@s`GzQ4byY{6)Gii#Z!mp+cz~l}pA{F$9%}=pd{h~aKBS7xt zCANVQ8lKys>llj5m3P>!WRva~|dSxnL&<@V$iUTX>BB|Je zP<;c{?7bi}pkYALiza*d_@*`?RK?z_+IWD%8%O_BEmW*nj{x0ExY1Tt3CZcTkNSHI zYJYvktFa*6DvEu56iX2VgKYV;8Y~E{gC^5Io>?QkL$;%|#4PO^*Fcr{ZCp(g`Gc7$ zKcjSpAA%)WyoQo+5=?@2>o=#_Sb_&Gj4lx=g+d{9NE((-#gT0huxU0SfqnK~G>A20 zAxo3v{z@=KZV+~-GDdlidM@mcNpieFGTkv=kf)Z(1FESCP`VUQpmw?1K?iw+A?hNC z3zng_QkwL}*+(H6l~O-)wx_zaG92UZBn}oukg9%N&-80|hbhu;Pm1gH2D2o6)^-2y z!(NOZ##)BaI8bl95Y!nLsi;gFD_EW%h*wo~H^CUGS(y9uq4W#aOrHCo_L&ca;}&u| zmnJ#QhyXJ}ZaKT7>u{E*9n84ZgrhbgHeXw9-tiT9-yQ8C!0{L`cbQibHFjl6WgxO- zBNp(@^^?&OP|0P8FH*QhB}ml?$@3B!^(-9eCz60AXD+&UzHX1q!9a*F-OIq8pMa}qh(miO^GB(tg_4s zoZNUIlYA+%^x@V{u@Mw$d@~Zu_TE@roB}s z+ntJ~Tm|Y~`1%_%hi7l4Y>$JT)|Rmhnl)#1Q2#1xA*6CYm*D|ICc?&;nS*U+eaTG; zkhA2VDamt57PC{SS`vz~kdBIxL3FrBEFxM+Ch_`)AxG2!V%aB1LLFgur!=_U@bQI$ z5HC4~v`RN%{j0A#DotG_$OI;F%F6XiJ$OiR0TN{S+#WW(N`XyMP0kvFN@Tq$r?9i! zA(f8|Xk*OXh41BTLcr9N%^|vRIEjE*oG$6oW-7QB!9#x400K>0Eu)Da=_qJX1LZ_3 z2~QSXj%FbX0vUyzS6R5I^oXV7;=S-#{JNfEn7DU8@quCz%aZgh%fok>k(|kmF^;re-jN5#Dumdk;mDe7yk$gVh^s6f2W#kW^EAqD;`Hbm#Kw zv0E38UTnX0V4a$jG})*~Oqf^}Qj#!1S=AOlD*CT_pS+Mu3;wSRP#sRwCN*;WJ4_p@ zG<|&RQLWiSwdIJ3cN zzH-!mHi94{GC$T{6hY;OYekm_&C-=4g!>a9u-A*IdEhMSXfha~DOlP_&6vt|9fb$r zI#5o8=pVVeJ@VTfj~7+l&QeJG<~Q{Nb0vMSMh!|6MPwyp=9$X)*|+AkmFqsJadZU0 z(2y4g^bef^#W-@%_^!T2)|do!{P-luEWQ|bKmdN8&#OoX0V9DzePt=bx3H17Oa<8* znbP1$0iYna7q0Y>gDGE?-i?C(RWVZ(^Su0a3H_JUB1t8OJr56oW|I`R&mIRK#)ZJF z{~*If+i8~pcyiE(Vp%KpR28_S3^n%h@d4Z*nCB~A8CX|E3`2^hNM3mjweRYpY zr#?IqLoit2s0>A?Wa&3EKVdbZ|+HgU#;+MK*z0lAXXd0sH zOB8$`3~t5oIvJMa&PKC4b2)mJ4#4R|KnY+v3+pXd(WAu}l^8)e%}GN9P>@!FZ3z)D zNt%x>4VAOYWJ6vF1|lcpl?Fh>(N^tIO>dZqMwxW~P`u+VJl?BE5b08|?F@=~a8ch2 zjm63;3}&zu=RIlw#LVmHDVel3tU`$Zni6$DV@}FYG6j$%x3{dAa8Saf$d&jB2(pPY z?)YhT8GMX*{jGM*P`Bjn*;#2wVzYF|B~=1i#u)BZcA&x`0Hi?mNH1gS zKFfoBB3RlIRLd*D`k||!IdY&)07uY>05NA465`x8ISj3YEOXJNId=uk24thy5~`Gl zngFWNYZWmIj~3*kdI*I8Sa1%2dSD!nrl=aPo%#fEn-y{3pHfGW&n*{UQ&*!zZGew< zf>T$*Spm(=u~3pc9d6hzWTHe3u#^<<4j^Nbn8zUzL88pxd`Cb;K54G3gV?E|2>g{- z4RC;d53f9z_;p!h&qPgwYq|aFuip9dKeFShr91gx4==68E%MWFRXb}=iv`?6Jl>*T zL0l8>(?$&YhRLl}Xz$*=tU#yU4>5)5<~t5N`2NQb!L9eKQImB4wT{U}=|pon&l5o` z{s4Em-#rHqP#bXdhj3%}`!icl7`vkh5NLOVqeWx@1cIR!8AUAo*n?85x}g@@`Wl`! zFm_d2cNEzxZP^1z~CaDez z3_UQRiZ2*D^`s+3InUfOyhmORZ>cF{#&njBf)cV8s*?+psO7n^KJ{r9 zEwG`aYR&(Zw-iX1{~k)e5dy7@3X;3c^0t9V>=lZv8)~CsT2z8Ma0;=>cENew7!QvC z%26SM>yxAdLV+}ksWulfBeq@b-@W6l^QLk+Un@U=QSEt4~ z7JX4JL+~EAH10Gk*LU58{wll~>Selv{*|6?p}r*vZ7cH{NP{6csaAoZ3<@?V3T+2f z<^y#$=T>taOcVmtJj&hi+B#{-oP5|k3PneswZS(NO+3x!@+M914!cX2kcVpMwvWhnzgl|ss%B(}2wT*4%BxgO` zu-w38lHt}^3%ow9w(=D;Ex%$cFv3O4>}U-Z8?-ez$5-L?h*t2=Tz5EBuj~R4R9E`R zfPs4{6cqtCU5Kdzh;4gE6M;1m6tBdh170E6urcbZpddUY-3EsZ;HB!dI;);!zi1%_ z%1B5UqJ-8s3`Zpr0|=Nv=lY3Lu3Wr;!x9M)39*sodOafx0e3U zqM9k{4=)5OVCIS2cZj4icqz%hMRLQT9R=ZnPc>8oiV2W`2%wIYJ)MkMjeKhGR1xWv zLouTh9s~f&nGlGV@Y!CU^(*Rx%|LQvYu3!F~j zHx!sv$ynYl8(4`T$>Dw_)JY6ZW==^Zc$ZQVnJX!Z-cSP&mMzJMsBRz1F=nM#OJghu zM?h?f|KgWu`QLKfR}r?NHtf@xl56LQQu|OvX-JGk`BTM89PE;er_&Pi4;_nFL>01C zv-1L;oef7B0f6JjjM%c$fgGvD5{^!oGo_p{VJ0NX99&BYa%M{Lg;;q6fCP}0;Zo8F z9f9txV;T{)ZFA%82fujhJ^$)qCtm)y-`uiwGvt}V4H}&gGph8K1`2l-+6PPkDpV#U z%67`7=Hyj;jjGw5jSj+M4vqgm>Hq8%Bu51xf~HB!lkOjH-M@4DF$?4NwtH4qyG#Vx zr;0nDO7)j_&HNl?u+;ZGE~@(*2(=8?S_{JpH?$RDQ*UCO$?$iEp;v1Ov4vr#kF9O+ zTW>4TYzKznyu=0~;KD_&WgX2>pG0wn)4S-SyRxukuxO2lj@W^US3vLpbVTD8w`|=E zkZ-^9o>?xR$_adpZiuSYYw8OW93ZAXGTi?AgqU^1J0o5e#Y$Ysy)3{usK`AukpqoB zC{Ah%#RM_Lbht_%zCpO9shp994hNkZbLBWr01JZ)1 zie_DxFf~n5(p&D4*duqlI0T}EofPQ+qd03$gy<`h10^l`7xEKz?nj% zUd$=}Q|TnL&SG7hI&~hTs}P#USk0xHVyxp^tl3Da31*locE{SG*1zNmirMmj>st~+ z_0bUDg8${!u@2kodv~MKQ$f>+*cPo%;BeuFtzDop2YWU)>j!p#HWEfGcojWkTO5QlSCMtO|ArxyBly`u`y6KOw__oFH5Q1M&P^5?D-D;5a+EVqj z>I{dJeiXOr8LB@asjWi^l|hGMkD09(Qz)b_8j~9!!-AlkOyr_UPVKt>t2I-Rc#=Ql z6@d)aUsQISKw~aW1>5M#AqFNn2+(2&skt?$+wbgPhHKEBc69#N4;Z&;k`QiOAHDL1 zQEmaKL!#7B(?BBUzFF6y7p1uhh<79uM9)TcBL;c>7|VRo%!osOAf^+8s5uPKp4F&J zb(oE7zz-koR#ja)2>lN^CmScyi*|{e6>+#BWsYeiC(QAa5 zMOaC$P}XT?0+R^sUg}AV83^QvZ+!xq0%HNU)Ra4#D2Ec$;W_|_sbtm_-&o@c5{l4k zlVH@TpC5do@W7;3XS^1~Q*qYVaD`0lU4XRTBZG6nq(PLV9=7A4x~yt8hI_GCd43=> zCS8;)yZoH!<%Ht8b2z9RwMAkSo2GoQwQUm-5o@Y*vzV z$@EF`MctGVX37#o=9(f3DdwMvwh5}yFhMSE1U^LSF)z3dEr=_Pa#?GdIIro+zqeWz zm=jvCe;<@vgGF0EN~yGk2stMNNC|R`KcYCW8n*_GaHEm~ zRRqc({a~=j38LmNspMFk1;XEej}jk;IFs?)#=K2ID3NZhLdCL(vn{Rl#LDFin6Yu| zoL(G}08%5}5J5Rvkurh%)C1E55_UNy$j~6=oH8)Np-IS@bR50qg@&AUBew2fO)Pte znB|m-qBaRyq)9va+zq$A;Is#SVd=IT*Jk4pPveuA8B}&ORf%>KxZEcVeFctl7&bzn zdLIt?+?#1;_i8VwjnUb%hl5@m4m_Zo+a@hf^H;xh$8p;hA8_pEOfZ|xI`=V0;Kr#c^rUMTa5Y zh^uQJpAeQC1E_ru5CegIv!*yo^OcPEg~jQFo)|e=4~SS$Onst*A*{DYMVuX~M-qP2 z(*;XW5iulbO6Jl)lxLl+<47E>Xd9Wy=wKc9J6_aKN|Zu?Vup&_#K*&F$Q5)_J%BA4 zY=u7N9V(gh1x=DmQ=!A_5D}#EQ~R{ZhqIe%a(Pe$5PYt%1y3jz6qY^fR|cn+ym_gp z8Z^U(XUuKTF?;GJ|B^{rO|=5fgT8hOuosoY3fB%b>KzB)P!||05s&LhB-nT6H&ia7 zUSysW7=X|+X?x_q@n_&^v)FInm{SxmNl?XjUzZiZHy=o#QV@DK0gC#{HZUn($ke&k z8&D_?RT~&?7@l+&?yOpOouD@E=`q}naT>Gl8iX#FhGx4Bu5OLl@vt9`z}zbDFvsfA_G0XkX$g|1UcPL)gfp zUjuQ%yP|#MBc^@u#AT0^A>g!{sJ%!g_-asq)7>QCLr^?4)FS{1G9TO1WlEea2MH5o z%Sj_5lsH|ZQxiqB5CRb!DD#2xnE?cBWH%<-cN0)lxaiehu*?&&aJx!~BURMh+FE$1 za~^HW;g*Ld&L2@@fv5`8P5n-CNv{JxVO^ti`A{^1XQ*v=h0wr}6Q zY15{Z2Ev;EXOx`t^78T>cig$OwDh-M_`;P}Uj6m2|6?HxVF{38NaUCLi8=>sgQfzSn>9AE?=kSaR^p*hQ02 zbQhJ338#ok7IKVInIaHx%|8uV!dwm~1MXGVPUQ!ASHMXM4w(pxc7!K4SPii;#B&XXjBYqUKyUq!iqn=f9HZ-k8i8D*&^Jdazv$zpahY~Zb^b@F=~ zNIL<4rCnqhMplfd9|FPGwWY#-=MFF0s zc4NQ~q<t|c_ZPWt^tokM-F$U`fzll#h-F$h1?Nr8mYMJy}mL#P{_#spBO zKsUCEGS}e-;0c_m_Xb5E!&RXK=51#6kqniag24T_iojiy-J~l zffx0bv|DvyLg#b?^ag`{*edWyD*9-cgh#yIL5Bv7&6(sKzLz*8eM|Wg!^k8A$!t^z z*tSh3>Si<7q!)H5vIl)-H&FU?kHTtIP*J^6dxDfQIHIO$#^Z6Qv^W}#R@c@j$FD|`iJUhnh9TtyuW+go!%twO zs%jxPqgsu5<9LnG1pq4bX+!X?4d1i5w^t`Um?|T{@0beHYIUDQy@m&snAI;KWTM4| zg~i3i<(1W@Nk9OS{wx-jOgQ6-8yc~5Yo5*^$&j(6uW1J zqFMLpefgZdebx9Xwd$#<pAp_~Bn;NT5C-%fS$G#ylTu1u z&biBo)}3{sdjVJjR2si0n*fkfBBIG;;*(>X1r>bCpE~;jZ0!|G#MpyRrqCoj1E9HY zER$0BL7$~`c z2wf&wG?7XMG#Eis;$!cLIJ8l|DuBFcuxOJ6{FzaZU`N@)>SCa1p0$qH84PhIihh?% zaV}s;Z%E^PkE*B%XXWH~w6&ov_pp}*9!RMskSL4oEA#-NK50ZC8c66CUCaG+< zK?0yo4rkZ&12J6YqKUj$vN}+P{kaOXpb<9E=z~ht6bl$o9+Ijp(U1JBC^y$SdF%|i zhCm5Q)-qWlp|y?y7*W396rc7lBvtL;A2NJOA>VRo*!>A(r7GI1mdcp~%N>Z`f>sl^ zKy0tnb*|jt6vpC|6>cjADA@!EwiG6>hT*$$^v-;YQ5*nF)5&zl_N{Hx+zTDUzI*&!d=mRQh2_vkwr zOcXCFQ0n?UlJulcB5(Z`1asuuQH~EDf?kAOYT=b~rI?|fic&DtcjzIhhg1bnemDWI zkVPV?UbFE{%WbK8tI(neKT3k;8Oo8~q+=*-vd%cg4!ykkv+7mBWDUacVm-zSbk@vx3-h%&?cI zPz*l~GNvr7D}wTqR28TSa3Z5Yhn~?1zh!YoeBcc0T{pwrO82uFKtq^`NDlyIR~j8! zWGUKuai$Fe4ZP;@w=L?%BaO@12!SAATxV4<*3(|Ru#SIeum?fcGBg4$ zU=~o&2VW!dA)pRRS0Qe~@Asmy8o#MpAw#q3C#o`#oXk3uD_)9!<@b{b4TdHvvYE~` z<$zL^iRH7H8ageyg>$Wla@iVZQ8@!D0r2NT69N&YMqL>5TS&rqSkeK|*0>4$`RuWOH>ttupkdk||k~V?k1Fc1TYWtZZ@c@Zx7i;~Fx8MB32D zpAkw(M)q-9af!K-{6p@Gd;qNA2r~lk##JB!DA`y*nJ^(yX1EY2%f~S&Lz9p)XN$T~ z6p<*oTulN5%yQ%(A|${c`H>%f=}XT)>7T z22m7CYDz+IF;$v7g05Y!L#r-_-2C3HfjZ`1)c4&IXZeMq|C84b&J*poS+tyw98`9P zdOi0Rf#f}QJPFF@bU@Wn=v)<^G}XrthDUB~PJ($w**aINWVj4_+o~_?VODIY0je-% zP`3$#3RUE}!42^tfUL=QlM-w$NN*@v%q0M<{_6lo$$Tg9UI3tA5EHIVW?L7VwrSR9 zxs4yk5L3;JE#7Hijo=77VRQl{3qLF>%zx26jV390{lc{llz|A4Vk-=d^sk1nEEw%p z1LCXw#!=LwxCrDtI(db3jPwj~W#9 zJ?iEnRqw@@wpIR0*Xg@O^(ntsU~I^Gr7fzMzs&H516(QtBH;?2=|aBZ93!d{=Z2YJ z0IGg9>WisO&lr^Qc;n{l6*9z}J3v}oSlGICYumQqRF|g2QCStYQlUiO;zMGZlnx#| zxP0hPPuU+)QBs@qghBZq&J^~VK@?}N{I*GKtyxM~6bncfy+pY))ek9*wXe&~lD zzGKIU#~pXv|FtBW&1S2stGC~N`_j_Bzx~_4z4EGSZrZnx8kv(N0tvwp@Sa^PP|xyx*q%%dn8jEKLBl7({my&%pybs6VCkZFW)&osUF3%5Q0(L29> z=M8txQj5G>7C~n}&RW_W0=8b}I`cUx z?qN^LYJy+{$j2{qc?in~I~`^m)q1Nk8O@2TIxE8pkBax$83b43vtV?S2Sg;`~3=oU*vOe&sl;oXb7YtL%i2o{nb?w&0ZsO{@ z`o7v}Xwl(a6qNawz6XO>Un0-f2DZQ)aRSGH*aEuSb`h5i!uzDJf=WS%u3)IoPYG<^Md4Y5$Ng1{5*esQ z5W1R`9@RHQ+xDys;FfJi*Z07I|U7&|@r8-{0G38hWT9s%nBuo$FPt zbx*|>ee>p&au5PGp|RxwXzF1M4M7>lq88?@1koKBRNFS0pqtHNRT+}Wrzq~eJ*+H% z^cB~Rq6RbR6ZG^BR<8=_R@PZJ@VHb00wT(rHZ2}~lrW*?6@X=Alzcf2%atEGI?XuX zvuT=?a?W?$amTD6YUAht(P%VUTU)d36@sO>u{Z?7{D?)*1w0#WR6T5@1N{oj5O@~V zQ4LSM6EeLfq{`hWz?lAw^r&>bds@6{s9aO5-?x4PKm)H-3PXF#louBk7Z(G_cFmu(x#Wl26;xZyZ+qNu^q}rqhzrO9eMS!+#N8@ofn@%RvoM~~>;?c(( z)3)twHZ4OTLV(mDA}+72-hKByv*}Dfav6Qs8ZG@{@bO@}m346Rp$#v1SjKD5Qokz% z{)lG+ELuy9vxMCw`X({Alz6XdN(ubuT4f_Ee+jf{M?dvbKY7-fXYShdfAw~}?@0N| zSN`Gh%isIgfBmVhn-SL1Gp_M59srX%@hGu>fQ73aI@wS~Qck@2;UcA30&)l9w zir*s?6j7{IJ+Sn z03N04ayzJ?hg@_2J)F>cxA&|+y@~CEL!t9j2M58Zti7Si{|fl;c}}9o-AHPWy@$s^ zcw+ov_!%nAdiBCkeOtD&Ew}iFe!JdN(DQqwf_STeWdn#RU16klM3c%}NcJqvrG%4d zcih&6qZSu#zh`AF)2K;Vj~WakbbL}@_35Vhb$(>ku;Lr>Ce@x~{e~AIXW0WPOs1`! zAtXjP2P@wTOZVR0sLhS|btAA0bInT+)BemMa#3jhQ$(^lkNck80tw;5V=*T&JZiyTykQ)rf3 z?4#be!35p)Ql4%QmR(B3O}G#wa}8c|Ai#$3dVwUcvB3AP`5+`__q*JT|!uDkADUS8&%t?@^3ohU%;%^u=^c@TM!nqDcG@??hyd%1q&UfI}geh zxPv_vJdq8P>l4w!{KDeG!t&}`*>xwnLK`Dc{xrpnG7w!mcllg^a%>X6 z%>8H%p#f}C2dSMUExoHBkxjdzu*E^i%(QUKzxqI^6GaR=m zL1x)3abUxYXb}A^iF&e%9E7WX21Fg0GfJt^;xld7X|W3s7`%xT;u?#X{fPu2(W_?5 zoS2)gQX5-yCW0KnC)(e2LNsby-U1cBD;G4L3X`f5B${7X*tTtJ+qPYo4;(nKy1IJw zF~@A)ylFP;cq*v)X9PD*bLi0WU3cB36GDa09E6ZWM}j07Nfnrj>(z#UC=`|H6Qw}% zEjuqV64FKH5Z$o|h{zwXPqNXDBREZJIAcy?b_vQ)&ci~0bn2-;`m&e4Z~9NyUw3`xPYRT%0+ijZMJ9ogukDULK7k`gr zM^bLQ@y3fUdD9pE_6sV3IaARQ1@*-)@-eYFO8~B%<5$)lkw1bsmvixzj0|_#p5=hP& zLz-pG>+8S#$on5N#y5WE<}F*dQMc}01v1CchZ&qvvxn*hs2^-TuymAn1JBL9c_QUVz7;$4`Rh}F&@$pLRkZl8Zt|em(;ly*VXT4({Tv}bjaq)p+V+7VQy={Q5&8( zC>(O_swn~8dZsutZf0ujdD0LdwiQ|*IrIwv1-B|a=&vqOh9S&j&050`rA$cHH*0zi|R zJMX%4Wo0!XXQ(^oEOiS^y}(?L#Qji&kDo$lZNueHXXL7K7=8&s09TI`uE@5m+?0a` zlbdu*ku22@-%|_$$IG|lqr z+RF0s=FOWI7UrkZnZ>$G>#n<2mRD1gbTf`a+7JY8xd>B2f(93?YbW$HvO6i3!Jo`D%dCvdApO5@5 z79x80W$$^*rEl$WSKM9oLFFd^kbI3Vb3$C%n`Tx*2@ga~YR*3A`M>n+v%W{NBQH7U zKmF5p{>h*GNtbiZ?=8rK@L{P!1z`>uO^ZA%b)wAUq5sAv%Y(y`Il7Q``$l$ z)0_SvOWdt|?I8m}=fD5J(Yl;7QO=oHO(5rTA|2O|1q;r=V_EWZAewf#0Mm0H`@nq% z*8b%4w;jD@OV>^O4}OYCpxo0OSjBIN67prMt) zaObTSOSDV-+`NZ!oLh6!i|+d5$K_mvb+k7ayYcZ0hoi4DhAAIkfY*P|#WE(5N7P3q zE{lMR5Ehr2AYJzsFPzL-aIkHgFbcAH05Wu?cX8(LA8}Y|_`84J0*SpVipKnqHP>I9 zkUbltnBq2ek*fpB#n+;EBiC=vpQLpy(!_q^su3?z*vOweeic;2sZ?Pf!_0UHIc+^7 zOJYWq;E(%&W=BN}%;J z%FYwT%aQk{t(Fx1pu^)`#9mE(ha($#N{0lY*cB*N5LA(Os?A#b5YSZMW;*2md3lB? zQH)x0B3tn+AV?%+QxkJ)EtsB-#ld+A`LL4UQc-~?yV!LwFZ{7v z{0REcf1bpY@P5!TzgVl?ZLEIHYP@e;GySj!Gv&pI*QnWNhqKX=lcgktF4>bnUv1;a zChk5_`~0}07P@X1r~#6A3-3PPguCl*Mfv>>-9G;QU<31ql#ct-JFplkks8iINte_3 zRbqJ9Wq;Cy_%?NY>Sf^a!T)0*(co>spylSIy!vHL?TaIwR15X@MYF;0zt>4yDN^G` znc&QGm3dzWsm%HkP^G@bpXx~Xn zZziXcP!N-EnM{P_)T;5hWJ07Tbu8@-&qDN$-wh`u$I2jw$Z^bch`38Ws-$=XA{d-$ zjG3)UIOPrOo;LrlY(KKlP!WPSmx`qsmcnIcoW0*`GC7kbwlQStolSfXI;eqAqij1{ zaF6hdG{i8_*IuGoRbj4Umnu`LG@#zdS=j8MUk(|Fiq9|z-z)7VGwdNK02_~Om&f8w z9?)2&gVSW4lOcc0aTpUe++~6_T}Jr(r*s>V1q*I;zohu#Tzp>pp%Q=T09h@`@dC*` z0*a!MY$6TXk5R`vZ{945pkIj;UpA1!$92q-mfg~JrJ>ku)tQ^$4ID~s>Xv?nft&?b zlxPikPw*l0t*zu8qxII33-oS0qa$kg*Np=#AlAda^Sy~ZO=pTwBl$~;%iMPn)BJ*q zUkooo!`0IgzBryH-bm7K$?8eA#idizSAyc;H==97th^j7#zP0(;gGcA>?8rL5hhPW zwDg)T&I)Q-`75Xw%FOfATjYVY`hT{Ol^5sSDSQ=yj$iq={@4V8QS z@uLx@^8~PLSQ06YB2~aI@--sm{k#5H^z(4QrjK)CtCl6KgBDPu$k>~*Id$iLwWto((l#N^~oAs%wvKzBN%-sql4_XH9*7@&WV9=MarGJ|+6$Q)CKb{+WfN}UqeUFw&e*|M5uuiZ1@dL~^4 z10EP|V8qMn=fbaUrZ8bpa}XZ!Z}H1%!D=!m1G?bwNb;8pDNJMrwj#77Tu>0m6FCv( z;?fV?^gmaq1-9V?5q+z@L&tWBKU*|9Pd2+>0vEp<_6foIJqLvOqk~b($58B449SH_ zYjQP^afN|OWvV?U%85Q(hJ4&YZ<%Xr=$^ufKd+lC^<8>@y6;k)a@P?8;{VfMJerqZ zBr+$EBn8**&Kn+|t~|sKUZy1^JI~C%*USc=b_!-ZL_Tam5=>g`;8p%n(leZ~R9m8T7k{KWuM}?|=XL?QD$3%l-tp zB7k?$!Ecj*mJt~TA>{dUXW)@Vv07&qdU0t8H=P_cnu@o&O5aDVUUNy75ZmL#^*-KM zR09r*1+%EmmGNmObW8ngC%=8n3tmVmOIX#A5_aB&NI+MD9BWA4$Fy5zw5C^$5$O+% z{|~Viygu-gq^)UXnx`T%-uM?p(pK1l@j~zOHBtaI%n8?90q?(%9xfoH{b{m{pm7%1 z*{PwIR8vQiB7+25e2|(c;QM=k!g=vm--KIJGTxAR@N}-zM3P+VywOAI`5`R7xMMkm z?0r=ReKa?ed33;13~Bd%K0(gvCGRagw*pE+DQ*j1wvA0XS4J(K7BjJoqAeJUo%fmD z6?O@BT}n6ogh6w-Ad&!cmF+CGo3JqG-BKUc(OF$r`u%J}WD}i^_%&wFpy-hVt>-#> zwqDW5>2C^neTnAq4>5^c=XLd6@GpQf>((X@3G^qs5^lGbQJWUFDR6#q4zGIJqti4- z%mR$U(40Hk*DMLPY*Fb>POYTs7ihbmteBfZr-)eoDteBpLg5SymrL~;;yesQ8m5?M z_1mhl47CD>116C}vbE3}9J28*h*Se%oxdRJD^b#xd!J_Y+SbOv7+*t&_tq9EIf2Nc z%h=f1pBW1yqX0INqGfB(sQ`%9(;5mE5E!r#!NHxq+Tr0esddMM21YDotvQQA9YT=MB9d6HYcg{PCgap+mI*12R5ZttIW0wqcI76pcKX{BvSoon<0L27 z7|M!RkZrEIUd71UojWV_wscvM`v%RLRt~1UZvB-s95{9O4NO6DOiql&2_YRxMN1;f zHWk~$F1;kAQ>AfXX6u;N4lUBq@P;<4RluvVl2R|3h4CO1q*z>I{Dfg^a#?#rApH@- z7QpACND@m(a`YxT8ErB>X08?>+%Rh1kSNg_9Q+2R4#!FYDlquG|9k|*2EV48ry;=$ zfTkRxd|q|ie^0J6hig@q+1imtBjX4GLj`3(3iNtxBN$wDmaGZa0x+ZC{&Ac0xX}E; z3L>TG0Vc1uJ`wDDHRr?L2UUPTaPgBoyXM4CJun-K-~B#+e|um&U#)c-ik#xVbmsti;)gX#VbH&LldKGzjOaJ-r5~U zW1i-Cu%#FOjv%skPClF_mUwu$Qs{N#*L{%D{hW%y-TdeCW8_)le^)5-O1TVmdU27nR zCeBg#Gph4xsJ+!mj zTLjy)ayP&mfMe*uED~!vCkeLQ8{oM~Wyl*`+3oQtW`jH)?56T{>Ce8c9T9FEiD=j& zo$+iMfzK^MynmzMX3^5&x@7Bs7Xj?UR`%(ZZ9@DUX;{h+_05>NI9zJ6Z33=|r7e+r zKG!u?im%|&zQ`DbEAqFp@B-F6<&5&nt4S#ON$?S}@QJ0?QJC*`&OXV<%IE!$o~Jm( zv*2kkcOhV})o~f$j-=gxe=l@KX!KYWrP@us5T3jck>wU=zM>U)}Pa zURX*Hnkt%@Ui#B3g)_UDz=OtG-=SKGmyl4#F>_o?S75mt>uh^VeZiM0$b^!+wdn#v z%thKkWNGtJjnshS*ML?bKj>7ovbLOzrlf$n=?u#_1Ox2vInTrB#8U>uIc__ZV-zBu z!d=5Z43d; zn5_JKytcrDV2OsVCS*`YZ6q+3QF+pXFO7kTDLH8+llJfzxh@Dc46dE2T7fD9jU7$F zns@vA{&2V|!3Z=d<1{JK=C!E8)zLM9o~A$GwUXVPq2ZM0onit*9Y_CO%pNW9icRly zN@|bgRegVgE|L27^GMZxz1=lE>Gzp{0YdC*fqSLQrhR{-JeA&R7)m0vFP%sDik^g~?9LcdGFb7DVggl=y z5yr}=EHAH@2>%{}+}@gV>m+sXrX6Se!@mkKh@IzX;y33(bQi{a||?7CyM%2Y`%wxWV(2m?)Ti>OnFqL#{402Q-YkznQU88Mfbh6uXUO;ArNqQGRwBZ}iUl8P{}&#R+2byg zF5RD>b3PXrb-mU(H4Nsl_W#mDg*DN|p(jUUs5V`tzTT$}3A}jm({z*XFPmq1yt{nf zzI=KRqJbz#Kw3E_KS^ABGh5jRMZ6E#b36>%SGzxBxVx^&x;~N&K9bH?W8Y(ZghINowub--RS#1?`!CL%>N~Ns5un8Y~76CXzjHD6kq$^@|c1T=C{77 z?#rpoDTh|aA0YZ!iNsfgP6o`5?5q%q@DlcKUlrRkl3^1MC69?Ok3X(f>^iT8z7tIK z>QuMhADJ|vjhDRm$1$tEqjnEbA^f#No+#;Hzc@f~h{0f}wN|8C*sys>Y=dOtLDdPr zCLoM*w|HqwRJTJs%;-hLe++;SAdm4Ah)P4`lIM zQux`x@ABc@ZAvW$WosW21}+nkajK|_T`~Xc`cdntmGmqb%{svQ58C&;u9wDlEJR+W zQgc()ScKkTN<@s;`&B}krh@{V;u@B8jTAt2%a~;^q#nlnK%P7W#Es zNngU#$%L+TEylE-tMUvlGUxgW=Rkd))`*o#jB*^wHi!V8?)@gDUh>g%Ff*`((Cf7T zTxT(wTH2z@>#J43AbvnVQx6o|i2kiED%tA43cDhW(N(J!M$?pAnS@JW3#^0cA3iMu z!ct=&G=b?!VdWLlw7q)`jQjEweU3$}B+^2aCo5K_dFGO@G}B*MkWC~k1jFN!`0j~q z_E6`VO?Ho1QRnzhz4yp#IkSrWBS>KQO!^X0dFiOd0>YLW7&i^=-?JM^?7hz56_eBB9JBY-T+-V_;EBEz`A9N>4lNk>Pp1*o_qG;P-5Z5UvS^oVDsb zZk5{PD)+jhgQSHG4{$KE-jBbEGC-P=lbk*0j?YN+*TSOH)Apo-r|2|RVk6Si4DfD^ z)Jt?*BAd4sG95zit)bEp=sTAm(_pTDgY-b0^T(w;FCY?!if;()ycR=2Dmj_A355Im z_v#zVv`#An>!7`x#W`n%ns)tYTJo4$r#_m;U#;HG3GBXzDwg`DWf#4a=gj=y@f>)u z*x1;}L_F?C)1o4&85z4JUb09Ox>`DVLJb00a_vlFF*YdX5svz&?BDZQvqH2D1-*mp5;- z$1YnBi9qha*Wcmg`13b1!H<7At}7;Pmm5BNcBDHVhwp>8*?yDOT&CiT^zQOzc6k*@ zVAV^tobs^LmoL3Af)#r_2>0m(r;{#yBcw07KhhZR; z2?E&%i#0nP#)M|qokkkGpo1rNT(VV4(U}D{x0*=|C&J*WqC0Kv z0)N`esmIY4E4fGefA4wI~WI&&x&b3lua^nhsluiF65s zR_Ud}Aj;H#(6rW->R)@2 zUa_d(uS=UeO|l9C3Ed>fAXpd_-@g*1%9rrvy{8=kh^I?Z`CSdCk=LpEWW<${2=^8A>;;L|Q%OeFr(}4;2lcGKo*3K)@ord~MIp#i1 zh=4e&A71fnd)-_w#Z@F84|$J9Shlc#a`Q+-7F&LsD8U=Miei2fcjL_Mp`Z&@Q;h+K zJ&E(mSuL6)3!@ZH?!)cmLwP9fi@`6MfUmiWj>stc`C*!P4t3xySf+SlY{ch=od1O( z9ADW0E~02CdLkH25=Z!tHC_rbCz>;XCp>9lYHT^lTcrQ6Xii->8|)RTN(v=gt$K`H zSKWZ1ED7=I`27{9>LBC^H0hrV`S@9s4>QMN zIzda4IwHo)U*pxBDt-|JmyDda1(h8Kz@0VGK1z!u6%w-pYezDY3e>Qbiv?dW&!F@OQ|^8N;kH(xCuY4s6s!vN37wZJc+5mj3f|ADpxlnS)e=xiUNtp$zDF9o8M`mg#l!KsgN7@;dt2{8*;Cvh5HyfBfHoMp~^;7dI?CG-vk zaD&dK?uG{E5lTC7|J%vei7ft8)PI0oOv_yGbwS7Ob?WnZLT=)JW)YR+Riw^y-Y~RL zybbCB>|}4p{GWGqZr$dVoARI{{1`3_`SG#WDdO%yiHLbL}RonG*Ur-ubS^@#IrmqjXfH$Y1 zZ!(J?2M6aF%QlYm@~?m<(d*KXH-NgocJxRclnF!v6Z4#yC`m=2M~a-N{lbSVk#pCY z2wc#ma09rauLiwtGCmJ7+WnqChsFBL?aT6Wwt@N zuIdcD{_GxVcp)$F5R+`=;sUvj4LBCL?&2lhZm3bALdRJT`^EhS?st-x@587u1ri4Zul8w@T1Hdu(M_ zo?sFCsO44*Cd@2{Y1-{dyy~6C9S~Nw`c+s z8qEj2(O}4AX*v7CBt%T@9DPu?SWxrj8y!t;xaVwhQ5u-QoX**pW&d? z^d?L6L@YcjU<-qnoN5D1J(kwmb*Rh$6x?JZ!)T;no}bPs=erH&IUoV4Sl?Yjp^{OD zu(1XDa&kvivvPfbdVY%3^sY9fZ>3`~5!zn4Tcg0&=6mfPbwzRFe5{9uPOWUb5*CN< zswZdf99g%LvBmPEVc4bn*C*7Lecb^gm7wd68xG+Z|{{jN}0&0cxAz@0a&l?8u>l5{c^T^jn z&bMnlW`nmK9A0~sB!Ix=Kk7bI*)j8<4dUDFF$RD8_H9$r`SQz@`yh<)-L^zH4mP|X zWoTH~=(GO-SCT@V&~4fj&+kDEb#?cS!%QdF&tm{6I2ZL%Ksldpn~sJT6LufszIS~% znLeYm?ce#&8(uk*3kwU)1yALWN0RtoZ9RAKncL3RFFh{3Hk~MX(=UxZ7MO)jO^9D1 z>8&J;*JDzjblFFKH_}3r37l=CbXIrjx~;oJ-J0h#zOJX}`A#$fo|SbMp}|g|pD!Qh z9eQ#5=B(be`{TZPHw<4YK=7BrQ((QpLtP3J6O->AIq~zv?Ieu9j_n2v==E{)dhJkX zu^E7Hp?%J3k9*3L4w{e9R-(b4*8PS#9k}A&&VK)OMbV^ zr;W$1!%_O`J>OP=W9poI7J@E;w@{*(FxXQ19EaTCxo{gXk!KQ=9Kn=&h8E+I!hh#k zY%U@Bg6AxpG7?DwZYvz2uj*Up8h)px)OJ4C3TIDCDVHx})f;>OkFqP3`)DP)w7sXLl*`wlReXX`9YP^k9G3NM2QEA$x^WA3VSIoPLe7(g>gJfRoZL`q@5Eqm#T4?NAqpQ-nu@%`tTb@q`B&-Bc?Lf}h^LyI$KlL7j;&%_ zu%eFOkY-aps^P;Q_v(daz0X0ZX_jr5W`*w0r#IP{pvDOFiwD*G zBp%*<{99E(3TmkP1`Y26;zJeP4+>Hj-d^B6XVu%}G?R=@P0{tO09iQflc}2NRVWhr5dO zL5v^yne3)y5@e%kI9z;Wqk2O*#t_&0{r@6`DRN(1=&9GzbaCY3qw@L@ofc)tGG=Q$ zZ46zJJ7KXQ5Z$kN*qOwwGq6opuoX9U^@%%FVuyO{5%V9uo~t{cTl+cRi+%Y+RG>M% zCy7^%*JEbY;rL*sD`eB7d9xsmB?4QRv;Ye-tIuSgXa?HPSDKhmRxmK8YZDxF_vt;Z-$u{*E!W}BL)lR}$u&!&Mtg7E;J!Sr+aU-9Tb${5 zBSW1vCq z@q59@aX+nW?t1L>djQH!W1x;>_MEZvJ`yK>EB^b|U3IqBx(nmG)yutc)fh!FsJA0F zfJb$OFdD}1cGgnedG<{F2?27w;JI%0du=P`#aFB&uNa$#zrfQ{tuAi|QrdEe_Y@UIjQH=?H| z;Ba=5rD4A&GAQd?UuV;HU0zRPEJr?#4J&8n$AdCxogV;O*h$GW83>wXNM=NuLZaIdnrt zD(q84LGT=EUEdK~Y5x~&{e*20<;?#pcx3IzwO$BTE9FWt2v2!~I_+mcNv+e_gf0PKU(M zeZ=eK5@r2x3c94eKN_=`<*TNbf1*D-F$tifqms}3#{u0RJCw61fXswtv-U+9_?5AMU^Z!x`o)2DJ z+&LC4H@9CkrnlG{d1F9RUj_8G)N66?cE7VRe##fuA3JlUO%}}_1L^DEi}jeUb(^2G z+N$yhIW!yx)7gua6d3$WwfY@+BYu=$m4s7ME2+X_JxLicfiwe+ z!W9#VklDo~GWXZ^Z5^s)Qoojc(Wcv6V&DtzKy%feJWDR@Xm?Sahh57~Lw69CBTbov z+s~)LdMvC)@0Q{~OGfnNRu0Jt>G{QIm2XHzIyu!?ema|XCi%4?6@k<9$fQwLhFl)a zcm9*|2bKs!5NF^+n}z^}6CP<|=e~F={CnVq?8pG4dnbuYco>b_9MEXb-e1#J*VIu5 zu6Q#9h*N-9ugQ9&t)>O&6@SVoqAhH)0b?~M%Uwf5iwtpK$*i}-c8Hz( z#%;FO%W-k{Q^)Pcsh^M3ec~8Uw_$1MI;^`aR#sG~o>x>E_Hh`pO%k>Qns*SAxZ+w5f)YQ^y1%896`|YOF>+!+haPaYLnSIH<`wY;@9xv9X zyf&ORuVb3Kub|9-8gxm4mg>!8FKvO?IsuW*v4`{3DFLU)DS>lKZFAr=dU|@GD62J} z%BHVs$;VUb7I;yLMNj5z`r4ED+d_E0Bn%F4`CKkh?c{i@%uWJ_0)OH0vRhp0C5+g& zA2_ApQqOMOY|B zpad4Iu?Cs~`uc!BuW`F<<{* z1@9smJhwA@XU8VAAFQ1IzZ?OT=#X%Z&%y=pgByU=(6FT2dyLgr%9^FwF& zp(RK$273b_ib$%MUZ{rk9lj_fFPy2vg^V#=E>}j1IZ%kX51W|eZtk>WLMTIrz1Y1? zt<~SOeJSWd(C9=bYWQA=z6pK12bGp< zU3gR}sNgibZm;GqeF#13F9PMTlPaExHlW1~$)V(sjZmGsYBnpLLCD+$1N7+<> zr*ur2YL-p1Z@{KZB1@o_@=Dg!$cbSV%k7-%mcRlNc1U8Q4S^_>YejZB7s0ioO=A&P z%;in3{EKOyvaT7SIAJ&5v&R>AB|YZ}@{A|jO(oAiy9~k60>ars>_~%JqdO2jk1Dyz z1OuF9H}~_odF|dv_=BW^FqcH(HjFCa5s&XnECTdvkA1gq%LO-mp8AC1tdQJ3tT;^| zqULgNAIeh6$|4Y;#%%Wfv{r;(!iZ)N9fLC;Y!v*@Z00b#p$NZK$=EJO;GlFI4vqzE zUw~X%ein72sJ?)I)7`R;VgueRNn~GYxx}p2`)h++g7vzDl@(R2!Oj<0vZr@&ace!_ z<*U)*%wuY@QOIbTVBL*jUbl+B-e8~)21q+{JmtF$csjZc<=q#!Jso0QM$32ASW$2V z2TeBp_0b>EDN+d|9EB9)>J9JCd;uF;BSE7wn9Y!_;R#72g>K+H^NCq3cqt`DqWHgl z6%7|J4zgw(Fnq+;RxL|?oG#cj7@)a)OK{8m@qoOrK;7cud;9iu(Rf@^idl7+D+hu8 zjbRwpHa&r!((_AW*-)DYYPdSXZGzYoIBPp zbk;H@y@*WclvGK*ga|*ZCA^6SgTh?o+~mtIY*V6QB{gH`aa!d~2uz|DABlN^;Z%Vm z`^BFMfBsOE^OhE8qJ{%QjjWSZWTU39-39QXZ>_n$|H-`l;Ug=Ns%(XS5j%DIM^`gm zvp7yg%a>hb_!4FJE@-|ql~uBr3j;^wSTV6Bif~=A5zF#hA{5yToaq~o+5%J1g#iM+ zP5&j<4?2PO0|p#jxOKlCPw2I~3Id|z^U{!TUS2YQw{IJldIewj0M6+SVE6Qow*Ljn zGt=(;%G)2py@ceS5`TdyN?&wM0^+D>HmjK@7s(||N23I!5W+P`vIW8zU!y@?Mi$b;>0hC zAQ6#|NeHw;=rD9}2Y*rn*I)^wh@_90NrM-&_ozV_jCZKWS}`@g~Jh`u7XyGOlqQs>}NVu>H{W@g+e^*`1!pmeDu_I-=q>6blhimznuuWxl9y= za1c?Z@9PRUE1gdUz{vCAhk=)LHNmTz7v7ruCSc}fC2@l5Z#%&zc4UVzw=0PL=Zgq& zT3Z8-Z#+zvf!kzS*wS8s@T;i>$Q60tEi6uyrkk5!a6PN36YV*2z|6_L*y~ zo?*aBoC|D)obswpDjYguB#^e@J?vCAcPYZ>e+M;b5@ zrVr*|N#~8-*P9TC;Wd_AV#I&fM#*|LroshK@YHm`!kq)&H8I@$RuuD9f~dh?BqY4VQjb-wS=i zNxz?vl1C>=B-I&5#tIUHRVFg=``(5j4j9P`=IBlL;GvI>BEpjNJFG;SDN5FIRh1nv zWU@o9zQK*N%d^&>E*H!l?M+lvJ5t6fD(PQWG6lB$1W!{jHh7f4K1~_jK0a;_)YBro zai5v?cBpW%fsi!~keRv>9Z!qhT|~qf<}IGPdK5feB9x$e2`LlJg^^);Y6$rP-oDLQ zYxmF6lq_A2>J&)Q$v-Vw6wMOX|3EcTlt9-X=vm^Uan|>b;uVo*3Y+3)XfT~@5~MpV zL61~sq79_O6@{T}_3Q1iPsJ%uLDit1O=`TiL10vdZpc);`AoZT9JAwG2pM?gQu^!G zrDPLwju_Tn$k&Xzl$eOx-w2D3!3N5|r4?G`a3%*ouRgzi&}xx0%tkgWJj^|k-)hup0hbM4w-Zerm&J!fs4a{mTw689^;_kEYTFDs zsPqT?zUp7T5K@65v5_ekZ1c-iI%bl-ZSJo^XGSQyk=z~I(L$!jgqQBGjNF&I6X5`Y zGJ7rCJ^MHTh7G>kibMMi4B<+y-p-vQoQ`uFJDBB9&GS63N7IxXuZzgHtg=3!1e@CA z@JDLeA~cgw1GY>&5BWC-7KyMrz!IuA0bJ8i;srecT4S|x51oG}qdRb{-`yYL^^%(y zLTaiRFSsc-#%W213Uy(#WC=nc{m>u`nZnWEjE8!WB;7*_8eT@czAeSzw~`; zII&o)(j&N-}1ZYz5@hi1};Se0k z(zST(Q@n5EpI9O7YT~yon9bta$FY?aJbz31+ay#}Qc7-Ks5u}P2V}D+U%!*ArlqKI z@Rv9Zmeelor+V%C5faSjPPv=SCZF3wtl-w6uOWTa)P;7oOIW5rv2AP}_|N^WLp+hv z=%m)$liHLx;s}={LG#{ktis~fTww~K2SH#Yd2Q8SeS)!YgZ@f!4T#RDHlW_AzG>`= zrp-vR;VYiAX<7N?iP`7$KdVH=xd-hj?qC_(&%0Z|*G=d5OzvIBsI{W6{+tDaQtw3W zMo^d1cd{z5l{?Y7KY4 zZBL4AlP1Rf6?Xhju41h7RVZT{>zsuCp~{}BNTmccgcIf`yb;Hc7G`HPz9g=%N|=P> zS}C~r@O(E`an$v8ZlMO=96Kx0p_i3Cda~a)V%q)CeEtZ74CrJ5H4XYdCyEXPUfR-k zvACCkDoE$6I!!M_8DwY)ul>{~ARG6xu5aiB%kq`}8#%Bh65lUnVIS_T%n6`y!4*ot zxLkOQg%q;i_|TGtFhueg$c$w>{3f)?tyax!Z3TbCx4kIRgb8B{-%ycB&=(RXHneXoMK=ii4jY_O|HN@8r}xi@FfEzm`9A_- zE*YX|uqBpJOJ(A~F8NyE6JysofMkG-g4T#an4=jL^}Vs4to!p#4)Vp-xEV|eH7#Y)*E`R+-$Z)|QQQEM2lk&4shl6#r{@1I~ zk`qPpk@BnKj@+khKyX|;U}KqH8O=))2dKB+;(lf+eKsxew0cb{hxP(-Q-vhTQrwCq z7%1P$l?(#|!xz#%ld4@gOf>>kiJP2vO_8+%HYDmdR$9I>2*h(z@&`HS&|LVHA$!~J zY&YjAPwH*B`hCTzx@8BRIB!;DWRj5j2D$xFSA9p<&iyYwm`Kk5m7{IPHhs>^9yJf{ zb%cg~Oe!<^>;~SS<$m{3L)j1RF*KbYF4d)VJ^vr$dyn8EBjw4jfPv%ocfwQjg(vxR5a5K0KRPyJ5hT<{h2L{{u z|2+Z_PG(k<(s|Y#^JD6mUjJIwER|c&5$&?ndqpJ&ylz>goRy!p2Uvpe*1+_V{s+Zf z^a1MoS*V$K?N9%`1R|N4^L&!C$KNTLet>QaCWW4o3^IIuFi{hEYX3qIv|IeY>^x<9 zY3!`$bbep$z7M7FGE)4uQZ49a|N7vy`ARg12zr|-v=ao@IDums1tB?_XF&121K{3Z zpye|q8Tf~QnK$5ImexIKIjQ`_iM0Ch8$(7U3#xfxCWEh>J4V`HFMA?ZWp<0RnZa*s z45sRBuot7LY07U6PC>}hsEw=BiPJ4uKI6BX8QAD{4Z#PVZXKiJXa!l9%3H8zrc2!U z@@&9L4hz;Ig2t-03w!i$E8`}Et9?`{iGm?-_ksW&s96?ltGM5?{{)k7+xpi~5mUPm zQwOT&L<5ON4W-y~TcWIh>>pk_iN%E6;L$lOQA=HI>a@|2djlL-OlwRS=}(o#*-*Xy z@Q0-ZRG74%3L7=pt_}AZ_$3Wt>QgPEEd6sdIDvFGKBd0KsB`~JpofFC9K}Qyv_lq0 z52TJ|^5ZRV$;H!)hFfa+2g#&^M_k#wu)?KNVSfkG-YSDn*KeS*f-y_Moxnys?%<%w ze6K^38a@c?orRX~1^q;c`bYzMWY7K?J4LLlm`kcEtZob6!2f=JuBGDDGi&OvzQlWq zF^F!K&&3iX@hX#lZbdutqdKnxE1IL_(;!qg(HyLv8p;@c|!DO z9^z#FwjTPgdLrLxAbby>ahBuA0|U3!&mSx-)HB?w_fa8#MVdW4gL%mLK>7xsL!%pz zzia+zv6uZ^prYieI+!klOEJj_Ci4nOF|lrRt}NFUdQkmh2=mR9)XFw)sMmIBm5R_8 zte+efZIr1}A3>ZDS~nxxfs{977zVkgs$9!Uso6FzSDUlOMbMU2f2%yAkl{MB$%Zv) zn2^4EuBIAF-YUIF6ujU0jCBZTxKqmDveU{mSnII7ZTb_#caUnLoX}P^8<6}sPxyt- z$6D#x0HryI5i&sp0{o<}Ev5;ohJ%E?lO()UcCkz{NZ#RoNIl*0XYC{!>j8lwj#4zK z{y>eI{+Q|El=ufv*5-d2`Il4KA(_HKOiHq@^1_tn3IROQ=YzE@Z`+h`bY@PBF70v zU0ZMvMdKE57FAcM1^t4oNe`4-_;qM-?Rweg)6 z4VTLKM-+oXCNTwt=8a6UtA>lAt72X6x#^X0*S*zTu4f)7=)F!vS*iR;@-;>QJ=qgg zQ%hI(?MO;EA4b{-fM!4fHn{q~_Dbp4^G5!o>vi5pK*Rg_hI4D%KdT_D_m>+GZ}*D< zSz&a&-Hn-v>0+hvn?mI0U9s>)fd69m1t+u6Wd~q%UT^%l2$Xny$b$BsXeq^l_q6}> zZh(-xU93GvnF|EjF)=dgx%tSfif5-CT?@9oiY65Wa)JQ&PI$-u_o+0o+;v z%tp_L-A{m|dUwG631+v<|9&^i>+Co+=#b_#$*WVJpZzi`3 z$-sRZA7lvZxGm~?oo^d#c7Gxx4|l!o9|AJ87jWqR*RRuk@96vT==b^P-OJDPWsCgH zn=$3u9r^v5tV7cj8X06Q`wR5#+vCT%6659Tt?*%Fp$|9fYv*g-7-zjg4)DxQ0sUl4 zO~d!#zS=8#a4Y-1g8ljUxH!jmUM=T!I8^uw*aoadyFC^>N5WFpe7V~nn=*y-)+#X0NEZ`;*tx6REA!e_yZ%sl78)PnYF6E}K4JtU`_c&uvV z*&>PAQU{up(_kX6BsJ&GdgiB=IUH|O{!tYoNiISi-KN(=K*F7u_({XlxUD~d3@L!JIIUzc6gK^-prnab zctZO4`lCRDKAK1nAG7x3UtpJ}Jcwp|9LSN{SZTS#jzim`?I_5@&tjaOM!?gfyK@x& z>&Hc4QhZvW)qwz* zHy8tLZH5bt0V-P#m+6J(qO;R%Os^ok0Y`{LL*MFJO~@Pwd)5|B4Q4;YzfBt~Jpq%= z6cu54(Z8K$-~=eWqCNaQZwPY-N(}T8d{~kM(CCIV`w(Le9;BZY!S7r+7bDk;PJD?C zhr&%ewoc}nDlS4=C69kp=Hu(2HX}`@;&YVFpHkdaLK8UWXy_t4STzc=l(-fbKfYYy z;wDwO@J1Bq*vhy?@Zpu%p#D6S2lFH!kA}-x2mx~6TYpJpo=tK)lN|k$8kAOx^qnFM zKJfB1gC!_sk|#-RF%k*Pfr01Xi=97J?6|*?X@V4YG&7+h8IB|UlkHbnD?&ylD-AT3 z+1lE=n3@U@VJP)U@S5k^=rlF_Nrsb^*u8e2i(vy(T(Ez!UI>VaCW%isM{FUG)H3x) zH5FmwO3;kmHx%=1iSQ5&B!@GjBZaxIL{~h|TQ%3n{!*?~4F*mLmt=hv^vYX{;CAW+_qwm4jSm+QH-$%t z)thxe9||f|^6Xz7m3Ol)Bg| zbk0$gw{I6e;mMOR*|zN_+qP}HCQi2PCfie!J=J8}w%+gj*4tY3M_P4O-RHjc_1SxS z-L82ybv1PK^lZ4{BTq6;5c=KC!d_o=UgpY|a-&tNtaAMC@ngRRBW=KAOqOvd3HCzZ zf}u};lvsceExkmV)iM@csB6pri)pP79FeS4&dTIB2|GS1RIsi#OJqZLsn#078AL z_ob>gY=r*9_O}mx(kKr)H|eb}EZEF=oxDWvT?wP$0dt%{{}7|kqYr3nHqP7h9(&HC z=T;A};k=t&`cMCJ(LFM@n{NK;!RPhp0v302WClAh`y<8(xfFqtAE-HT`xDKC7#}PlJs1t1aij@cM)2y1>McUFCVdprIBH3g(r( zFk|$gK8zuF#$xR`zZql%ctf&6Ss-qucw$}%ftgoPJ7^QtBV9#3+hS+U&aT(<=K)_M zwt`q_GL}Rele|aup~9x;5w3?EL5tt^EYi~5)vMie=Q}M>&D;`@$UOI^n`x7Y8R@LW z_2;3eQ)8_NB=lC+#;(c$n{Nkb){u=f0#+?U2qn4pTWipqX+=P1Y`LwC`{G9m!Ipg@ zT9&E@CWxuC7-ClE*Gs}uF-%wh4sW?#nWUMgGMI~4iJ<)Fhq$I<#4N*qG>Br@xpc^+ zb7)zR*E$@F1uOLu_{n%Xm#vYSP4q;yG<>UYu}&3Kv}q6{UuIM%6Lh}rJGD0<=LD=) zcAJtVYq^leb!Z;H+nrCqoGVr*>T$^$%zO=0mdBJXindul6+mfjWxvQCwx$s!#DTPJ z?lv8cH};&H+%GXRL9=kZQ~O~;#u1n31a=x9MO07_R=r>56?Xdf!Mp`BW@*>!wUCH{vK%qZ&>*tnjF7-)wkdiZF&4F3<6Vhu;iQDI>G?QKm=J$-%~R6s>-cq?`Cr+F1r)pArW_e zt8GW{BcHUqX{)hGJ%b^}Oc^epoe?lBJdQ%}evW;2kx^Z*+eYyW{U!i6aaeh@%wbqz z_?-*6kyn)Y_+;5dLL?N`6(wkoyXhDz&K>l4keV+O)Whw`n9C)sn6nZhbV+CJ;cRC1A_Aq2inLo1lp zcwn{{!>by-`{)VtAp$?He(ra~7~JC_ZtTe|=WzO#MfPu2TcFH~ZSHST z>3FT-g){>r?+n>fS$~KZ&3aaI$4SZ3DcrFLTW5X;aD4n)g++@-tE5aIn_h_*JoNeb zJ4016*kbt@lDl( z!?S<7A?H8_KCZb;Z$r4~0@p*}qFIBL=dt0osP|ao@&4#x;QkEAk&(dGjD;|Wr@!CJ z1$6bD(buT1-wH7Mjffh8uHH94-yboc2vuJ)%J^e?gP6WHf&w>t_YyzC8GA$a`+^|e zv;5sEJ&`Q$KfSoul_AVi*QrGQXZAx!EF%LdGnJsE)kasnh25sx)Y9d}g28RRIu(=IjuML_Hsv^;3~l&B1;vdWj;g z$?F!#l5NY5zR7`^N8}ZWrZPXNe0=cDFcg+ALQ5_F5?GidgGzf-A=~83&wViLIX*Gr zFQTlC{{Hz-7cc3R)=J548~J;45ve8~24lJE5;}xb)ofBTGWE=HUAdjOFCqGSfhX9q z4*o|t%@2htmxp{ughy>|uE_fHR&CBQ3j%}YwlFOMj96>2)<&UUAY4)^Vc!!}bjPm7 z=DNj49^qI}u~!2N*@g%hh>1>AzrPpC1&z}f?Qp6^fYH7jw_ zl<7X-LcfxUn%t+`Ph&%g(;DS)&M2GYT;>(Yq}uo1Pmox`o9*Fb8H8+H(Ed zs+?Lek-k2V@h;+l?Hu$|lan!-4(GkE7ot^ib0Slv(L$=!QT1m&eN%s*dOXDf1HFZU z8e2d!ZhDJm!xcB=JJJXD(z|otRckQf`glp$a0so(fx`VFN#y4H7l}m zeoEE_E}1)QF)e^Gm;9v83fYh&r=$gYI;OKm2A0`qaews1v_XKlFq?YW=sSdGwG(a2 z3hEbpb03{TuR0p4AfBkh8Y^VCCNwt@a&Y>){!@zM|v-lk$BbR?axCs=-a-EjGkE z2egUM0!M1)n(Le#j8JlY1Qj}x=roROc@k}ooLH<+; zu>nxnfTGRS{RV)pPg3}>0=4Zu1|Wfum39nD&Nc&vw^5b?yjSg7?a+VV`o65qSue;)*k}})@IGxtklXCCS zvLihDA>6MH?V(R0`mlhzpASAh=xrqKjmf~#dB6K2wEMU;s|UCeq9{dLjru}zVf>i2 z-&`L9HVN*7dK4@gJUH+(&BzTp5DdZ34IrUFy(w6uIo%Vgb;rlEDi3)Nd)&M_m|?nD z!sou93LAVK_ggP99@W10u?z22Gy6a6a7x(h^W~^9Xn*sl_ds4u{wz((z=Z)NXC7>s zdK-%(EyH;zY}3-7a>uMFshmZ|Aecp|7>iSr%eHZ3)YK{@1hQ_;=(;|qj zh-&8e9APHvHbk#N=d;4O>~(W$S|4!bR1htVV56WhiZ2{U5<`JaQJZo7_!5Pq_80{j zt$N|3SR`R1YP(u0_2oGB3xts&37Uj)AP|*qS13Bc?ST)LtWXa>pj?I@sCy|r&;3ogNA66CZ$KLCM?ZXsjp_wc{Mh` zBoh%rLYx=fWq9AirepUVPYiX?qrO;I@~@=fjC9DLc=-!HBY&$h5$l5(l<0d*YXi=- zr!G9Vq$=~h;{~zmO&T{;yRdz7dhsm6Y!3y?cZWS^s)a$%O7E>_Pf0A~HZkb)!1I=y zoR~2pk!jF_`?r~Ne@vl$UCM>e?}EjqgWiT7&uJnmaPcJU382g3N;a+D)B4#t7qxG| zDcn}lHJNnQQ6JG|TwDjEN@0z&)@0@6@1M=eZa2q9Pce}k-G>otI2ZYcfY_LGJdi1C z%3QCtp$kEDmLYco%MSm`P&`da>)T5Oz9g!6b>hLF?=m@fuK7)*p5@vy3B`!*T5|L# zpuJfDGiv5mxnLO-f+i9^oQJ9?3^)426R+fNr#Oj}S$By^1TqvC>QDXysD{;9aujG| zeFhIl?9ov;u`L|1tTUXKd~F>Z-0r74uoCn&vNvO{9OpN5@Tfc2d8T>$bNrC1l13sL zALdlgelVrMzCJ_CkbW)+MdI^ld^sJ;iH|deBp-5p?}*Uj!3c4A}{@1qJqgzV?3B6Y~Dt zqzBn<`kw(SsCGb!^LuE_d)=e_ltwcGOo@cRnn)kmiu{{4;q@I6H`hAMsuV<50eO?~ zVfq~i<~Nv;{71M>c|S0sCHQ~aW)yf}_UmY9=#S*{c6~P*i_PH$1-9Ni|E?lM`0Y50 zb`3rKqx1ct!B4r!*|0)wGvj8TF^%7kf~c>lGDq{Eh%w-JJkIMb;Ud3Fp}ZUp+NP%c z;bok`r&T%6L+)X2?VqE7(QlkE;EnM!N~-pe-O%;zdYH9a;3F+y|JV(fTdlqiT$(R* zb)DAq>XQxvltS725*la=@O<8`5>Thr`ri|FU63dV7P=0c5Q8HZKL%`xem-zc@%uIc z`@A=^Rlp|I8P^JE55TWC^-(0V`2uJTpXZw&=T$XtviHl&|D*#4|64*pU&!@7skm%E z(_7$-{l}v&_I|j%b8NnDJn91B6z~35|2`EEglV9*3XuGkfU_C>^B+C6RTT6OeRb%* zZvh^2EA{p5ao}qE0+_G}y$Vl(FZb8?n}+<&Ob6TTWzo-=5dGf`K@asH-9>J?l+xP) z0^})!hN7>~RI&tQzpPj~+DSz28%$j=F{8 zDL!p0y@CTbSGxt2N3A^9-vOU5+M&sHa<<-4ofn5SnmgyonX^GDqeZPT0k2JiNv&+* zrFUtcZEpr2{?D=YPHQ9E(;GbK2636C87O!>O}=-f-!D5il>q51)hhMbSAFKm&`T84 z;VVXzxO{mg7n3yjLZqPQAYJ?->Eir+$2@_ zNo4wOHyV2k=eRe;x%*eXN-YSNV}f8YqKmBR6&D+$k0t%2ECV$+13VCgrU=mGqmAgG zrNF<9DE`N&M};3Ls^5xHMjFe$j_`A{A)g4+Y<PsZF=lm;AVaixxBb5J`sEq4F z&cj?vpE&~6jchDFlBlVmDkSIeO*~JG<$GdYeE80nA2pe2c}f<8AK%nybNuFN7}Z!X zK0^#=enO((b#QWSjA@@x$w+Vx7a8X7j%l_@LGc6ob7pl$XHmm8AkW6+NYO!199u?CY9{!Uu z2`VNf*=fGczI_2ohgcwrYj)Aj8#PM77wX>OcSup7bvUZHGPWbeRbXf)zUnnB6=63J zaTj7F>%IKAP=Wz@0m31>9I!lRczlD1K7T3c7oge_N?E-iO=7wdDc5amLck&?Wi^pr zVw(icW>c0)F`$T>cEL`HG$S*aCw~>`Cw`{;>cMcd%Wl!31oj-8iiFo+Gw?k_GBXkx zEVeEb6rr6#zPlLSlr2$ro|D9oQC%Z*OAr>-xu>XhLt)h%?a2rQtEgWt(AGLf$lmf>*~M~ zONKu3aCEvk*t;z|qA&6$D^|iRNu)cs?`!$p>vUcJ_3PQ@nvOFDKons05{b3Ant zkUodT#!m8jZWS22u67!yd@%z?jeunhKq0|`fDdB70@VLeVKms5FtG0Ne>n!u*@}NB z`*$pT1W@nIcyB|%=edK|xDNNlRkg+Yj<})~_j{zmo<|-aDdq%x$jA%6-vK6r{=)`4 z)jQlAgV&WshVDCh-**+Dp3Q#}n*WIGf0Or1K6Fk~L&ICF$J^-e=S}SvFIMh9cE5oN zW4Qt;-+Z%L>{_a(`{5*+m0*UcDqzn^RfnbL;gJ(fVhChDOY$VQ1-`fN`1F|3&2Rx^AS@E(ISh={7^0LdxqfpymaM7LIIj^WN_>yA z6G)`V8*PcXSf1b?ign;OU{v>gqd&@c>$-1f?Wh%<3ORZm8flFmyL>CG1bT54+-U7; z_9wHsS9gTGJc4&z$G%C7!8}dyMjj=yQ*Gqjn$s#EMY2$c6~+Q}0XM%Opjm}OsKZ$u z7qG>u>kOG_B!8KD=(XC-?Y!xZ=UPylu*3^$&VT8>v8`g+lYCse9%%ani?kOgO-5M} zy+&C6I!Xt^#{q$&qxK{%k0N+UgE_$18nq;ntIkjpDSYZd*pR^tY(u|{*BrK?kC>H^ zO(aE!>*t3{5M{GjSspjOY55i_Q$m7stmMlIY8?bgr;AghEGQAV8)caud5p=3hjT~{ zaTd>Xw9rk3t-GQqz(ojV7fr9}UA9o{oqu=s&QPL@s=W-hCq=gu^b8p0v|Tb19uI$Bz*| zO_HK;A#qzXk0j?wU?u5|B zFGe$fyj8URla&+GKlRq6h2Ni_pV<^5-b%3kN(_dfF-cU{)YjJ2{8N8cP(TL^Wy#9Y z>(wsfDkKGX9uk)#u=H;oDcpD+-4dc3embP?tzQv%@kS#K8mYmkEIv9Yi70i0_I{v} zY7`1`L_ghZbZmOb&l1bfb!CiL@pJ=-D4l>K0I0^g%z4~N z`)9E2!s@*PURCpeMxXWQ=x7Ju-2mXY?_CRcsnqBO2W?!1eU7~1RXscxm4^@ovD*H_ zYbC7z-ToVM-^XzmE_+9EUT*${4p923c9zf)?+P+##@Ziz3?|D9`_1&k< zmxYIc;l?UUeY~#EkfH`NC0Tn-sXbfum;)eU0;x;g+<*u8S5Cp_#em3d$;pnct!x(t zV7&&IcP9ZAX@h31-AcueVH;qG^&eL>dT-Qf^#Kiqu>0SSyw~`j!N<)l@cT#8c%QF1 z?d+!+w6wK(j!~C6lC@4d{1^iAXyn57Qfj^LX$|hJ{a!j2d%OWOBKj8>T|XzyzX$FM zr*9045et2hzLZwIFr@J{BTC1y=}q3p*5v25N5J7#4B-bl-$!6|ZzJ%WkkcXBB9RX$ zIxm*^X#j?S>dk9A9&Qy5(0?N;_Z78Xq3byxzvs3$#(*-Cko#sg`D9vyMv6pRVxk=g z^JuO*>hTiH`o}54BZivFrMxp|M^{nFx=6Ds$rhPgtrMp15o3$2|xT&-b5l)7$9g{MphE?#cTXCnt{@WC~vNZ3KZk~0F z8dQUt_MHL2t*jLrJJ)+6PZqeV5Is`N!wY!#Ejc0ap2H!Rc(jwtE2l=m5*uY^5!$Uc zc=@ySyvOo}HG1}e`7MQLU&tLdUkUBynF!_(=ygT<{jmeRx z^+6?$b92_t@D&BQB+1}^uFLx(pqBOT6D14{!+g@t6lkE)LM(-OAxD)vAwKOaR}K*> z=#yl1J{6?2Vw;aXR)y0DqkX?gly*cCY=V_G7*7GJn$B2t{oB8a?GRvZ{d|HqIz3Ff z^IuMoCENQoX81|Ibxrgx)Q>PJg|4kx$qFz^qpL2-nAD+!c7C-<7Kcpk5X({QmMJ82 zCHl(qgI)@sLO$-xSv5yuUQH~lfAggpSezc(_pwT5ku9~2L>BaP*4=Oxk#O1&VJBhj zR!)ryhBwlvX=dZ_oxqBo^9l{?dyAcV{G4i<(&RWj-EYCacqCYN4MiWQRAIRGYrKug zS!mV33^8yjwp_WH3A!moW++H`8%n?ySW)2r{3+*X7Zn&O z=%%z1#zD?KrWmV8B7HMq-J$~hPi3hRN5vdc)clP>DQ2en1 zyu4^Hy5R+jhGtvMx1@x}^hLw3aJuOMsWu=(AUg;agi67bU57bP7##g_go}U_9c!go zL^-t`!^oY=N<#)Kl>AHyj)_U}yYN(*1sYb#AK4IGOj1%Za$57PQP5`-K*T(e(|A2D z{`uRs=pFoQFvz{`iU|I-Cba&U8V$lPE&shl>Qr%DqN=D-4Nd$$sSw%PdB}6LtabI0e73= zTft-RgH^PnIwk_}Ph8u~&Pf0vFXO7Ojtt*cR<>0ECt^+^7 z{{iHU_Vz3?AZli6-Y{^XbBLBZo3ep)EZnw%TLZc)i z3;sfx?EA!tNE@4~Y45Yg^~?0hfNMdAmmz$cU8PmF!TXdZVIjTDum;!pNa@*htW&fH z(d_jHV#Z%0P9hiuAN~P1{T@6OUo9LVaYB_IDS5E#*^?uYwelcQQ`}fp>_pwm(;Y}d z=mkA5MYYnmhG!{>0%gV6^z;mH*3gnVSRm+NyT0ko>pdipNY zIJeq96T>3BgT&XEOlqYI=b4!rx5J*y!*4hFB8WUgU-)UZ+&B42G5if)q{-t`ei$Dh zRK2b`$V00Moy)yMmRn_BbJcIXsOhE>ohv@rYF5E8_|bIS%JWIBCQ7h(B3k!KR~0^G zh;6Gaki2b+jfGM(IXO-!p&Zak79-b-IDu*}+fV%kpkvttu3{G|=*63x>A>Y0P7K$u z!6W=zu|mrSaW$`gQ3f@j2P{ItqKscqvIl7j*SOvgU!9zletDBb&q06W9$pzL zq88)idK$qy%50;mbYQ&QRN~eE}NI3b^IfBe3UMJM^)GuG9wUIVR$cJ4-LkymW zKgHZTYbmCOpI=2eAQqj)VaIE&v)aUMag{X==MjI_3FXR>=T-!ab#7iP z8G9#t3{-r7kpR%R6QH?R^}?)yY=9+fvO1#uOp`gMx~t|%{TFO!s8lqs2}pQ& zcw1`X(8BMf5T{n^NrJ11F!KQKjG_LxDHD*r8ni{{HtS|)?k7ylZw@IC8G zhJwk3E7q$a_BVuy3kiAu2@hZS@N8i)szYAcDb1uH?yJsHd%D0l9gge&bW1E?B&Gm` z{st4n#w-{0YTRzJ6!31t_+=OuN|OzbDSB&Mg)ob{stVmZwgoX$J$C~Ivy#zH zUQESbw1^#6J6mp-NpX0#m{cNzI2HM8M~H zwN=o9Pd_moH%w1-z`$5bH(jb{ofx}FuNS<8L%VkA%A?jJOy{3M+^Zi%*V-iXZL(GBbKP#)qT7b8$8Jn9e3%LwFqdyk}^c`(2t?Mt=DgyA4RY7N%YrUTjzhZ$n z2~mmqSxw(KeOO0*To90Q1C(^7ta3l^C244AVCN<&2xwKEueGZPW{;KY=<2T3n@E%( zIdq@5G*0_(zr1uD6NA(QRBx1`o9dT$K4T7t90FE#IA6TOFcp$3ulnwND)5r`>QATP zD1H5&_81vDR6I$YX^HvFFu0?X!|Xmk-enU^;`qgN6rGt?+L`xe0`yAFK`_m2*ETb|&d)85pz5N8mwd%6J-d6tqvP z!edAy&{as72~^FfAI$9&(Jahwg*SN}*!N;ycex#Q~bjMm~2e&YX@-~Li-=;XUbEf#JLiHrDilTVo9Ra0=G zAg~h0_2z%E@wME7`3(`x1>2TlL99Y!4aP$!8- zCCGA(f}NUNP4tK_Tt89?1`6Cn6&D~gy;3_7@w&zKVXwa7ry%P|k67e@XIjl-j($2> zHZ}WWr%qAuS=_^o>Wb1z`(-JIkRqFp!OmIo6~-oAnm$)#o}yzx0Htq$F38i$q|oq) zA*@z0o9p2C3sR`9p`oFrMO|MA6nK9RYo?c8rym8W1_@@FWp3x^H-eY2We{F6q4R!U z|5OeUMi;jO?@bORQ9Z{JD{HsC~^ zVz^dbE=AHGYPTw11_btGDkC?-GTVnU&s3?}8xhR{JR^Lz1BKP|)(7%I-&y$>KZe(xo?@s^% zw1vgLi(ce2<>hVEaO7i@#?nj~@;0)KN+KoR3vlW8s5E3{U&oyTLk~ej!Xh#Wb8Or~ zvK6!4Pm#Uf#;YVE`iS`?kDbbL9>O@^!bzp*Iu!PKH?{;z@az*lJ0S=D!|FO1tEvG9 ze??Uq?Vs`m8?vs%MI#|D9_Blk?Y-sQp8vcwdKJJR9QGQd)%OC@3&AU1Ajb5dxS9H8 z$l1AYkT zR?Vp(i@9bdO$-A2?GOZc!1W!Et3I1hWu|apC9~23g}p^`oBLC+T0UV}>h`3$#q1et zdULX6U!?(Z%hqI5!8+4*`eo0eb=M)gWk0!S&Rag<9jWSb+o6nea^;zVQa;PV^Lb>R z0!Z9_9wvN_PgywL@bhRbqA1CBk;=2UkL5w6qh*uowcl3!&8n$`hWs(SCF{k;9gs5; z2Q_Pg$d-8iw%qUeixc9|6KtO6#~U#H;TJmpG0_@#nZyj}%0<;=??m&Xnp`wG%>%KR zl1-ojWDQ^-S!wCsPj!e9FY;a?))Fwgs>uSu2vMwbF>%_jLX1~UmQRxTAiIqyW1nh# zdFQxw_tU&Qd!|l7=QiS=$?fn;f2IynTIY*-7Ehp~6SXd)aV&P%L-vy4ju|dmuFjG# z-LD$j5|vAZE9`yqr3z!K5O2#8l$1pZW>aUov5LOQVZANTOL9x42qyFiQ0G-mUxtBU z0`i4L=Gab8(bT;#(~>L0Tgz~v4&VZpd@utY!G*gmYSK1V?cZ@h(vm1D(y*vNwF^g% z{C^rO`;1@Oy60yGVWGhoQv7k^6b2^zi$&*5~J}dFBfyAoO%!4nW zAHMfK8b(w}dkkD6-tFeQUpp%}Evm9|_SQL7fm#fPe;v*ShYYxv*v@_me`L%sKW5z^hUUD<4j%hEuAP@@9_*+0Y@`mqsL(MCi z{Iy{M_liA{>owHp!Z$bi0-vlv<=|4OE~W^s;xi1o;8E8W;L^obf!_?9#2|v4qKFs& zu9Ob^-vKe9W4fHgW;+Xd@mh6+tvZST?Zy z3(G3QnLjP`6lcygr>Z$#BoLrtm^ziJ*xncv>C^JjAo=T5_?|; z{Xj-*_r(p+fvX90xaIj%h>?n>ETzyBBdrV=m|}=zpjL2yM>bh3a?sO@UN0%DIZS0kaNZ%PafWWeP?}tdT*XY;M$6+fSMM;Kjdv`YxKN$S6C7c3jvc`0wsQNk}1K@L(lN(o@+Ams4}U0Kde z-&^2n2W)awVw1%;?Vl~+3EnRWzXBtx;LQh;FVGPX+Q8HwYK)W?@#a+6&mIx6+4T&- zeJ$C}OK;7$Q`Us5nO_DXHehOt`wP;1iCC$KPhwj#*Se1vp#{bJGIISske*1`3Sl>3|w zNh?==J?+z)-R`aRG7*u0ER{(D89YL%C0;>&wr$5CF?i74?WVJ;;C76(dF@T&e_84Uj^_Tu+USA1UL!!!_#|@3z0Y+T1^Rx8mdp~p!VLO;%A@jQjcl> zgv2A4Hjd_aY_wb59{dE1Ptg|O$z@h;MoY;a9e8Qaj@TF>lg@xcL za0*|n^12yIN+x-ZS(0dBbq_43D?z-1=1Vy?oO}3MLKPImXGlc7^ZcOEg`&UdDVx}o zl)k&AVn3#!yd#lqk@s8?;yE9?hRR8pVdw5IqXE=fip=>kSmWQ4 z6z3HI2aQAlxZM?1Q+`TCkIRz$N5(j(!^=U|=38FvXWpVpX;|Qxgaa`t8A<;{4PAII z>eVu-5M)LXs}OgZD|3rjB;BwKQt&=9#|W0&EWSi(J$4RfIhG!sz1Ptjp8eb%kC!`^ z51CHbi)Kt|i)+r{aRR4wL>du0&R|-B1eA{;XYE{? z%?d_t3s?sD2&UyIPHn2H%*Ud4BmYAdFZcf)t% zAGQ(k-|*{GSf<%61R;K`n6u#kY2^nsHklMPoM}TZL0eyAyq;m1W{*Iu9&3(9< z*E;Z!YjHp6n~!V0w}CnSH7m4d!`WXm)7njZLOcpdsXi`)MIJ*bBAG6=@2&dboyDv3R3HFZ5@BANgeWnO<-+%PJpLHL~ zHr$Tg)Y&m{S+CK97?;csw*~&VKyl9D%LiEHo{`9;>k1f7C7;(*5W6$9JTw2@@QMzWv)(V zX5{(N{Q-;DDVdq~Y}Rh&h+I<0a$=1I;#2><@owIzR z9ye!|o3nfgHvLP#2E!_H#0V};J;yfqb=voBmMu#uqM2p-az|U4ONu zkD)yEEz5R1p4h}1F11ZtmVY$9?OD3zCaF(ayw7c0c%p2a?KCcbmsEgE4dt=H;$3#Z zD6Y2eC`nFKFCQyhP0Tu#Q4x+Ww)Pv}sKO9aORbh3eIOA|I!lK9*_`*@o)@q@uJ8UC zEf~Hl5Fl4$KyH4ggGlVX*tr2{`0t#5vtkOGh$#`M((UCTvf7ioo6fM9rOqurC#Sms zn_vltsCC7TC;~u{R0qFn|G8girkY%TFI+y@$NPgvIvQ?MYkUV z4o3lbPfwH|zvA9THeZ3Tk5NiNYRNKN8lefSaqs?#zbadT5>K_a#8VCsqc?VuY2D(E+{JIelk>X1Ka%9ESH!Zg8|3`Iw zBaO8GZH%wlKk@ZHYH>vcrV;Z3e5GEP;j{)3>~&hT!iJc$AF|+7%pv7;Y2*8Knh4Q@ z#>@!KfBR)8_~y3{bnI)~(ubUI%78xI!*vgQJbZerf#YQ@o1f^b>8UV*bcQ?v0@u8w zpVIZdVw`^2Ci;Jk>(fgs{?mk@#AQWl)^GFNzS=UZ*Bz@#1BDeJ4&>twW=1kTILvB} z=RlA|xa7BNbcZKn9p6udbN)wFZJY(g_C>V|gH9B)vP7U!qFhIb@M{UWxol4xnLMMD ze}d#dH^Yegn7BY=@~lYJGv4E(b&DfW`{zgevRM>X2N!KNTe=O#e7cP7Ql!_Ht$pXw zKJR8!$W+vbiP4pZYa<0IAq)y?nD7t$6ZoTYqI=Ikw1mv2l=s2Dog$P93Hu&8Ey+9M z3XCLjoMWqW)@{3UBg)XMMcXz&uzxdk2-$@vDDkoASQdvhoQ-GMIMMg!M zH0dTDGK!2==#->@+C$k`6G>@Imammju;hb)Vbt~?{939<%3n0 zXeXg?abhAG+-=c1(?r#tmY<&8kN0;!k{?Ccd4pRuyg9nRAK&`;4v^`GQh()&M$u8+ zv=?j-Y1Alcn{#2ah82J`f2wbsWzfLhqBfrS-LBg|Gum5zRo7`#oYKGD)ejv=Q8L9#xIy zZwr4*Ml@s!4PO#E1NPHwqn-cgZ|>T`o!&+d_CKVg5Sqy%3PY^H2HFRb@ij=df5*F*VS!gl9*b#*4U$G6A!zA zvaf|-A5OXgpu;yGC^sHj49IM=Gd&(27=pA$oxuI zKcu<7kN)>_F66`vvDtsT^=-7Z`}}9#Y5aRj*~1qGbN|=RCk6kf@K0fz4kU-H3BMqQ z`egnC?IcJB^;y|J(#&P%{bl2GVl3mLNc?wKS(|q&o3|(71fEx^I`-T=JY#ZKrF#xW zZXF2pQ>pZrD8(PYH*r0G_D(HcUytsOrvaDNNF@IwQ6Ss1lhEf(>936T;>5nOIsXcn zdocv-9RiFNLS;C=5RsDLgK!Y9)~{95NU|h+KcX5E)%#fHs0OJECug}n z7hXVr$>iwu=*Gu}g~06uuo$J$Oh?{_^y$Jp_8e_QbFM>Pamh^! zKEAO|^FUAh z)@V}N375rq2qH88&Y?Z&WvTlLWv*ZQ*H*xlxz}&}App872UE8gqDaT~lAqb1P%N%yBCq6t}BFiazC}D>#1mOplVzRw?$xfyL_!|Q> zyBM>_fX?pJ^H~snyZro|Y!4-3wiT3vE`3VSy>*I69Q`lKV>cX94DYyOJo)Q1HChBw zJ-SpCn>ns}^E9zSR-Z&_^R!z&H|?HR4ecH3JGP`9swf0MX(`7w50>(y`J^dyrVvNVG)bu zrOV~S3B6?FpE-hfCbzIBrlPIACI%WkmvWhi@4aCVm6tV-64lL1t?>BEXu|03J)xz% zpL#XA9wZ$w8dOuYF{8gxr^2dAQ$y5Z7bp1$?foABjzDq0XZ5<=8?sXX+@43M+KmPW zgL^8L_Oz5~YU3D3VHCq2V3DhJl?iBVYHQoJztiDlnXvI^MjX+NTZ%w!2=}Z&-A@3S z{&xyw=Gsvx6a(vjV@(eZg^`7&_bSt(4}>a=c3DzX$K^?P1pCt#x$-b(#wvtMJ9ljJU=t|`HlIc#W0=h@YZppRhkeC&s= zFO>eTPncJN(4M;KLThn$S&57fqZM%0_;G9LG z&Fa_DV$K6zaY|%2?_IWnX`vCol$TJj=P80HM;gh-U4%IcxUh@KJoF#KJkhF;U7aCIw&+y zl8Ue;39xOR^itEr44vXq3`wk4F*i+Bm>Xm@il!-&Uny-0{c02Tab=?v>TCA{{YaVt zV)x9r$+lujU1qjL2MWtcTevlr?Lr$^@{U_90n4=H^C=(NNHst2B*>fjo=K z;3h5~0qg*`&U}R7VRfW^sJn|(ShgiETNc`AF*E;txGkQddlu?_X7gt`Uy>ducg$ra z2B;L7W|4b)dwW-|UU~A#r*66V=9ANtXPV#xNvFhkD`z! zGOaQ1?;qTL+wJSkW}Mn`vAFZj+b>_fvR-e7#bR%{l!5m1)?-rB{pKK!?v$B^i-*Oq z8Amw;ylY@yqnLbBn}gV9g#eW2o<4i;Iz=)Qso()0DmQQ)o)xRbEjPh@Hha^&n_eUJ zn)H0L^Eo*!-cwZuOj!?xl45&!Taj2fuHcF&!TtgNDqbVlB1h?L(fw4&B*ZpiAjH{~ zfNibbGl{p^;^nOAErd=-(OTzdHk{{?F5WU#Pqd{8^2=K+#}W2d?m6F+=CkR!;sXkGq+g$V)a=gDD%G=SHGi0C4uAw^29@w-tBwm zztZeCFC&j*4=g4SX?u)b=u}oMg}2@e%^j+Gr$mLW=zRo#h0@>X!@Pg-uooM@Zar>o z?CU_X>hdLJ%<1cts)_oHXUbwRs1wcvT~ye%p0_Z+V`@SMI6!qMx}u6T|LgShbhBBL zt;{l<#v8Bd0gO_Mp2}+8zx-r#k;c$&wR>v2CR{8Ri`t(iPM8``!&+R+sVvJRtr&auOj>Wrg(m4>|&NhwOEq!tQ46K4h|SRNyc1vY*X$h z8;SG3T3n|6qzc*?l|!>7ewq?his^Z-D{{X3P) zR)ETGid+eA$1=S@3nwvy7L}N28mDdbG1E68f%-%e?+!0ZgmTWJP=Jc#OIcf{Kq<}9 zFHWSf5Zz)$;~q6H6uHt0SU%(5IMpUT=b%!$-- ze4dsHAT!g(A0>%{ITaMjo+uGY;W5MWdS-?sG?hZ@^+vF^6p&|T&$2f2wJjhdB0Isx z+ntY?kejk)wWs9UGX(g4(xnzcY!$6{qA1yghGoCu-l|`q;-l{?C5w$NuF{|I77eG_BdhAu*`m z(y~AVo|r92VIpeHgMBWA#Hvd6iTEdi{zybjvc8qfyAgjcsfc2(1|^RGW;LPvA!t^m zAaP`FSbBvFodaObGqB56g$>Aa`|(^j(tZb4s++0s%FOC?&ow6?CoReF<5m^_U|8VB z%-kYjj$vE!bJK0+n(2C$1iEG$Q!zER1A5TWK%Q@Gv$yL+I&m}ypHk#k<%XGYjf?u@weg&K=aI;n8u7rp47)3eoTwW_7Ue4lX| z4-XD+x^Urab#~?Iwbr-}Wp8f}1de1x8xpuDq5ff;COHHwO&IOCX3{@T24>T&Q4DR@>E$SFw-#9 z<#O-YXP${MN`#sxE2RI=uEWE_&1MtJaqO|yc)7Rtz>8nJzqgdqj!#c6U3y}(+1z&f zZF|cliSoBI91<{>>1Vr@OR&>Ia!W1Oub*7Kc8!v!5|p+n%C6z+Ijeso?z`^;~n9jg`ts z&`Do3TWuuL-@AGLu9l=S!OUDrJvca6uh(+Un6)g1#9i=G2bkPCny+V(iSjZp!7w|( zy<%450dsDp{$w)x8FLHDvv@g3?hmED0r1&tR~wBPwG^Uqwpz`47RCpuKgkV_rof5J z@g{@8d;5EZ%6h%=M0VJWO_znn;U@Vr8v8_)U=~D`bDz-SXkKpGOhGy`xRq4G&XifN ztgP$W*DxID8ZfUg!FCy*3+CuYM~Xien6vTQq0DEPDs?|@mlCbkGPiPrV%RwqzWs!J z%v_gyW%hG-GwcVmy}|-%DQia-%)aTXv|KJooo@m#wQ1T+;s}P>AS7O6_`x-u=A^y- z{aTCjXDI^AZLD)@oZyasVg=cVXnrn?ONyPh6UXj!tYG(K%RHBJE2?o@Z8nfiNZGUl zhd?;dDVwyNz}(c5kov-3P^b9=o^bYXV9rTxNpn<4~ssR1RIHLNhxqreYsUP2Ijbbqa;F-1%+(95ZZ;5cL>nz8z{Es zMcN^3TC!{{XA|rS#nnwnBFB zy_(KaWKT)r#*!K*3c>sV7KmLOHpS*R);hQsM6j)y2+S<`bfOIikzU98u<1Wl<=H{e z5-HhRi*ga0HMtT>zU!7{@4vdEX4;q8*XPM^f{rkh=FHseE*cD!YXG=Sy24Unw1#F2 zE8?V6V6tpFiTw3xLt$KebUc}vNp|CF3cSL0Y6LYfxVb;fU`?q|iddb=wgkWzGg9ft zY_qlL8JMGZ4ffT{b%g5)%81&NyFp;)7u|dB$?0mnUh6)o(tV<-wat1{YN>T7g{Icp zG+AsUhn#W1B9Zh?kaNZLcu~D&zEf^t;s#%~s>WJj#dsooLo1B7+{Nt3=6C1Z*1ter zfhVx~9{Jhnbv7^`XVwP-B)13(7&mT2sI?jdAERGu-P_xH=9y<^PI4+LWYUFWyZH{x zSr5YAH|B$bgWGPoc^K+yJzl=?+<3A{4SC)5St4;Jl)2}oYM6Pk7+P!V^_m%y(@*S60iusx zR2sC-zPvnk<#HUy%{0~GOPD>nAgvwExZes^_Fe@R6X z`r@=Eb79ggy#~Ra!2WnN6D< zaE|%xfijWKJNaF~qo^^LQV#a_VbduhRA*;r8{1^sFmM;LQavJq*fH4(;fTyMtRw3KmWKdB}CYRcT*j>WK0Idp=OMX3;9t9jqi4L;B4 z-?hH8Cc#MIMVZuCYg5TNy9Xcx<}z&1fpNhBiN$8j<}|g|P^yXMz=6M$?6e!DRNz*} z!L1z}9sst-TnEf`nsDCYeAzIQ>2wkx71&$uEtgBlZ(6U{XREVmno2?`vL&0hE$1Qj zzuQ709?Ad*=DbMHY7FJBmOw)rm;Sk5l>wLD?b&LDJJK*{Mqg)e;YI0zIgUg^o)Akv)M?( z8k7&`)C+YUhD@80D*zSOLdH7kt9jwFdmMmbXHh8Hr@zU05d=`x4Wl8uMjM9UNTWx5 zM6yWFpt_u?m2G*_ui@HB#7yY8SDrAn3z*=LyGqnCq1DH4#_j3b+Tri(G$ihjw;Wt zB-ehc14nW@y@iI&C_||QPcQ@seu_i$SRD+#El+4hBXkcS9h7LB{trbRxROSS4A{{Y z6_Bf884Z&K04Rk?#k#O8`~=9TT8K*?~B zLXM}}mu`?6C#@5CbDGf8v|(tX#F(1(Q*Qd=kY-V47=y@v@VO(SA>8lSHp!S7Cu5Ls zI^BfwF7EHt5)m`M=-zuy1(-{!KxAGv57qobOQS(cN~jkh3+(f7=N=oq=GWG(6pq44 z5lV%+UpkpG9`4j^?z765I4c?}g@cpdHLHza(604;<=Hue`Vpiq6titTq1q<_b5>AH zi_KBjD4*w)N*QxxkaDzq97iBD?Jx{Yx5oBuXL!b7di=UsH>Ux4Dv{X{-%V(y)_lO7 zy{V5$C=DeQ8YkwdRXtq-&QtP0Yjc8ACYf0{sY(v++^jbo+B=U<@*OhExSzGlf}sDw z7zUY09g}apnApf$N=&khK7wp}DyvZ-;$M#b`XH;72TRO;aIjjhcxv&J6 z4-ePt_2sKqPft!STsS(qa5#;V4xefLu+!Eev+ib(0RRoWIy>8}H!cO;I0ek+1Pc;` z=#{bI6!2#YoC*Mtnzltw7543Z_|>dwbJ3CV*RpATQ$a zupqO#I}?u1p z0?K>Loqr{55uG%1HJ2CO`T$O(ppHx_ouemT9*n+k*}0J?ci5p^ewH&6a^7mXXb(7$ z+ZW2aKe6MxK;ve|4n+R4J6EkSfn@VnZ;rcQV0X~ET66>xGU9}2%+qLxKO`@jnFv!y zryXRGCwW*5%f%v00l>`D)Ywj(nO*8qDkp4fgf6G4)2%y@6BJG2<}RVnSv*)GTV{4P zcHJRwP#)3fyL5ze{#JCy{@dzjYNtCBrq+TxIFAhG?@)Sm`?3ayTRQ6~EI7!DCR*Ja zo1|Z@h`23ZrCmQhzI^%0v>9tnMD4xKXqRVjQ5YUw zCmH@S$MZojj=btz4{}R83i`aYf9Qr}%YN_jo{eNWk=(yRc^tO~?*?*}quF$ROX~0( z`Lgjf%)0A9;JHSR8)1Cz5N8UfCUF1BRSQE8pxLT4q={y~%?2jex7Vn=1A-Iw=zvT6 z!`Pmi(%$-9h#?o0N$8{@{iIZ2gSz~A)uyZ;G9*EzfSbczoj+%_C;AIp%O+xOiP?RG zYFpHK1f))OX`GqEGlLUpQm6qo2EBst_VyC zn0Xdbke+fN)TW}C5vAcYHu0^FeDgIjQu&lJ5hQ#9iAP6C9TUKmsO_R@lt%U#oP7b%0Vpr%HZhq2eKSI(L*iPWCo^*sflOmAg?M5>7q~iqR?Dp*BAH-kq)jI@ zdE87Bx@H#3S(ZU35Eb2upA;Z7Rl&ws1QOhYi;X~1h-7gxNJwWJ7?RIWZ)0%3m`is6RgJw zPTU%m%4u`>nAA}OmRQhi2^d;yG7w-Yh7w5=Cz%SRqPH69aH={W83UFb)iftWc$lpB zt^v2rNfE=!#=7&=?h%045Y; zu3!mEC)Aty_z0CS^?2fh#T4Sz-nB|bi z*0{BaxhXIw!;zF3iT(!&HW||^K39z)KDh;PrETYf7CV4BCv#X?x73MvnbGV(h;3jl zH%2v=^D#4I~*{QpeCho8=1KgBG++i#Hjnn^=z`*@q0!hdzzVl>k0$_7K=et z7?G-NB9u~U1z^X}#RM(^y0I8}eek?7V_+j*7-i3X)3&+D`@I55A&o8qAQak6(|)bD z-F#txe-Fe{<5Bgn4#Q6G7_KN0p>`>ih`6<>O=&-`5VcGv8#J@itbEz*ymIzwlfG^? zO9z+N4ik?KhOgVnp*Ev2x2dgGXPa>(SsT~f1u{M{?Ue#K^@tOxdx>@qb3cR8z!we= zF5Yx;wOa2V?B71rCr(cH_Vx}B4%1;`T2zuYx!+uCSe`uyD76x>UT?B=Mr%4Whtbo= zjRKO~QCi2dORIHP4*os6med6#pv|X6rD5>B$r4Z92r8|uxj}T2>d3WT zQsqe#?oz~E7mYSa6`DKQwV86!se$CuohK%;8P5OoIc;HT67uM^FwOzyIwfpvjhkj? z5>2{BbN)opdbJx_$50Y&Z*Oo_XFcOBFLqZH*IAaW(TQ*UG>@AbWo8QA%q{BZE>4^d z?_yZip#T`iaU3V@8*3P_+*_7X*6WQ@gU}e&#wnDV5kXwDrXrcNmm_F>)3^1-3&|b> z+@@)wQma}90sDMEg)JkUke%M-cb3ica!Y|qJWDeo#t3upM&uoBw<8%&RrvFw;%fo* zkGYBT?sO8R`o42)6LV^~L%o}k3ueI0GO*b(&S#rpPTIlARZz9mM&pj_k(W|VbT#Z~M0q`sjzeDEZhphEYQAYK2 z9>Cza%rxh#SMC`k_c4r6)JyZ%;>TG5y=F#?m6^3L?A_dRE~>X&(jwExTi`+0t1W#) zbL}5hQGQLcc~aGLw?i1n4IVkFG^1qFI5)Czy_-&fvf7W4D;JMg6^4%G9s%z1rN88n z5If$rW%pSpRSdRpr78}bF(9ejXO1fb=0Y?vEL|>6WAGRQKKiE)sMLNUNJr_>5 z#8m)vQ@I5Bd7>@2fr^BB3>0p<(G>}Hv6*=P+ese}_ein*qpjm?HoxvdoQ30k=tYRBIwPj$xCX z4W(nrvdg?C?h(*hD}~V@30%dt-yl`UEL0Z(F7lZ{V8P7oC-o=+#3-58(8);zUPJvz z8R<+p*l_h*8zbG1kL-?|sd%*xVZMnSDFr0Q#3O1}p4YDhb`$}?trhieO%NEm%{ikH z%STb1w&I@}tM+Dq!IjWV$Qv;O1>EFV4l{Qw50JHmxS37}?T}0`3zb+k36qSOQasT# z0+M8n%be`?UeD3lmrOolLE*U{rX&(NHQSv-#;>(f>QEPQ@(&74G?l_=%(8wu)QrXE zL;}MXilpg6AlwF9MVvJQa3zkP7TWhT~83++0s1%=nQCNgTm^{a(d|~#wqycwd&fX&eY~^uM zT&~Kj7PBie!i%aPhE4`}u}&z}$uTx+AMHG;=z}(g0hBV1)2&B~2ky9KxmX;p`D`;b z)7sXCbm*&5J7_!`E=J=C4D&TCm&A>T`4(YJOiV>HFqm{YCi{WCT`q<5ps=%8QgocZ zI=SNi3drx3y@S2elhc#qQ=3*KiYBXkM#I@UKDT)Cthi~!KEnhRZx9;uI8MaOlZ+$K zc-)L_nm_~;2B*z|Tx%FzQbm%~>?snuc3WuU#GsJ8fGV7ZMzQP_WKq?sW6A>lqHu4S z)nS}R9;JsHsqQA!Y|gH^6q+{UQcA7W{IWw4=44l5+wvO(7!Oqewvl9dm@dN@f9UL4SUAUlH zmD}~>HjSxG=m?QeHv7$LGEs5<6~CfZve1QcCppSMKB{sSfu)DT-tU-FOWoBm z%+i#~&oDa6L}gQt&t6x%#ilWH>7A!STaB5ucEQ6-=;#Ox^@<8eK2Pn!g$t*rXVP{R?q^b}ZmtE>q^&vVV2|N~ zyD$^c7~yE>4qBS)z}@I{T+xq(hr@hNTL#sO0|>R zOcn?}UvFclU6uSoq#h#Sy~&BqV(VjL^m2Pl&TYy?w*44jxl?X4NOR1X!gLEk3bU>( zqu4YZhT#E(5{Q=%oA~qs9P8Q6EKmCT_y>C2|FJ&ak<~TtE$^{;r%FRw2mqnj&RY&32uX;* z1lEHgg3di*R7GSIB-oX+3Cw)VCUl`B{US5|oV`pRF%DwtO>nK13ZaxXPTa!4KepY|F%|$>re+-#FzYD3O+G&D+V{?P)SAV;~eBQ-8%CaI*n@D z9y>2%>s*V-+l*Gmi}4(1eWQ6sw&lZOx!7#RHW|?=n!n{cT5-XTsprO-(cFj%2!7Op z6Uw1<^GAxgy}cgHbO-vCQTlHo@;s^;S8-|}&3*u)joILXfkI_HPPZK`zu@khj#tws zp1yLjZl-z7%q1@!!3|ywg`Sc#UQ(AVeab%gb8Kx6&a`X>FEW>Ftd>l?X~HCh`Q`K> zw>AD{)puN|Ecf>=T)aqBu3tZ{)mO2&faV08>_i}c(x1pjhtv?Hh8|x(8A?4mIyzgO zUAun0wQ03Jqe4nIA_A4-GrbC?JDsdbRp|t*H=DE7%8!Da3upxlNBo3tfc5svD zXnX&7M$G)8QOU3%KbFPoVjC4vEvX2bg>}ONq~WF+E5SKgi(?eC{W_zK*xz?{IY&8U z2%kDjbcuJ90_eDr5+ConC__eJWl|Ac9NCYJlP1Z@)}8Z~vQo6F(-g+WjFh08RFMt4 zkt9)~1N)M#*v4h%s?3`dR#c=f)yRp!-Z0Y*Gn>HNlZpWD8WS`6(cZ*>vrYGTxwm)o zEw@ZfpmUA+0Go5pckpRK6yO*h|iaCiu&X=+pmqxqV-T_n89UErFkHwclO z3}%34&!59dxv(7m0AShg9L%~Kj!pchAd@g7$5tcrSc4!QZ$lmO1lpXeK2#~ z<2{}CaMlEAEvW>{JF~_)F3-%R5K$R7V^@@MBYB*?1KMO4qwR|zW}y?uU`n6D2=1f# z>r6>l&L7Zd!qzhsIyBv!KPF3i_V@Owl&MX5q8dc4@i3JA{pHDto%r4u#C0gO)CNrB z#H|^zJ@lISz~qj*dDt$QTfGUj=uLEK?|Wp{nzw0;-2*ezoLj^Qi|geh7|EXKXU}QY z)2-fkbvv(^U~-_y2K0s^-5DjF#LGt63NkGmnp)mY%6&I`Sx;4?CXVw< zKV8_XsYp5M2sTJ6Z*IGxj!SoO?<}~B?Bq=fs$}H0ik5*1-zSd&tE(J_@}Rz zVX@p>bnQUsotQM=qWcyxoO+fgW%_njrgfI=EsD`Tr|@$xw(z{zT&B4X2!85|Vl{N9 zr)O&|Hd8{2qAjJTu6tI|Jow1CtOj#u!m3}qJpv>eQ#=(1CcGq{TQ;$! zzT{lnoMm%>K$)VGLF&dg3=``;{j3R|iHRz-(+lF^$WK}R{(SA}T z+}()w?FiRq@Ki3sW^Z7)Ec;tg&K5Ao+s}Bx{)6*v%&pI#Wiu;6En7681JIkQ`PcYv zbxA~@$({S3oz>8PZkQc7tkJ5%`VQOvGRitKb*3o{ zGFqwFt%Illl~Y30=Y-8b22E|EsSJxc>Rx#Evn5>Q#=DwL;%Evm+^6|PeN&w_o%YW( z_sxQdN~z3kY9nU!*RX({cyn{YVKyU(vr23(fNe?}{%-=~I{un>DvCVEWAIY8o(W0X z0q=I~qG4<}CgS3eg>x(^!=+T+?ivMzgZ=%(qr*}v!0Yw;`1;8>Zo-J=;mBqqGXELz z56$nm(TUdcocioZp_E(i;6X=b=~#!R`2El$o#C^)uD_f%xurBKDACoMIjht$M+&=< zRH5sj4txZ6w20^Wx<@knD` z30`mkofxN;lG8aNAwGKmT)1)iE z&T>sAs0(SL5CF?I(iey$FNJivnLO>4n`RU<6M23!TO7~XDl0>|CX}_hCbI6O z%S|R*WlUr{&jmC?fZ=rgKaJ6Wx z#3q7*h59QPj?4*kn6w}v!JFB0aJ@}F)XEC>T#xO+gEn*CT+FkfkYN$bvN-nTqbETF z8{<$>FqEjEvCry};c3FpXv}(gvHAYq0x}U{#nEhVnTj5T!~-egGq<7`kPdn!X%?ty zI0Ic~4g!inNP{>Kipp_uh}QVp?28R@r%B>|N3X2!lOYmH;rz?lJ&Z<^Q%&-Su<1or z2PWbS1LCTCKTxLO&;?DFscG@7_+6E+y1JD?q$fOpCZLL}kw9-GE5|F)8m43^1io#u z+W;`JtQ*z+FBx35SXCt=$(ba<0p4F?XJpela6OQSE}t_tWZlm$-3>3JA*gSaEX}H= zjO*1)_g8PZmtItPYHJ2cr6P+rY=(&}tOtXrktQ*<0#po(fiJhkKYfaR@me8Nf=)E~ zxPuu?4UBXu92u76jNyK?xrjd0(7Agl%GN+KxZf!Xl$2t=#Ok??NMzs_Bw(}{R4v-p z9R@_;v-4>JeSTr{%ODZTjmh{LBUhpi$a1`{b*c0uT22qEq9u`5L07aX*Wb0U>t0&Q zu0$|{+?Yz)Y&I{xvsTP^R?M>q``g9yV=)|*YK<>=_>`PFlUhERCDj?Eh_&zuXt>F$BN z;Lj)}3Qg0*z)%NfuD(b(QbnRX=Gd9SW(546TrPR9q- z2}?5RUafj#9LgbH_Ai`>iS5hA$iKJNT(7Aa0f-W7rHAz8P^>%msh=AjFLItesj}e9n#N zS-NXP?^Oi6g}8~-VK%WOuRRM+mn_neR158=(0ew{FU2!6wsPOn5h-skGu5&_Tdmit zf-=+s8kT!|%oy8Lh?w}fXP+C#@%Gzpqd}vctbRq=2T;>%P9m3?S>wsjw0J2}MxzU1 zN>ZlX4&|6m9qP%mBU#K_FuRiyMo5FHaT=-Uz6qWNks38C3Vp*&e_=Q8&NX>>2DDv{ zcEt>aoD{j)Y;s`<6G`2~dDjeEOIxLSts=ZxUUrl_Q$jnR-gUWz_D|1-ws8X@$EJUq zK&&TyNLB#}CISGZpcFY4l9aJoAA#X?d8so%J$TJ-4xx%QUey>AI*W3TddF@!5d#?M%lc9J_aRETOV0JW)&O@SeK-C`25lIIz7 ze&}dVh-e{oQ#VjGpGvTuyGiNiFi!C@X-P$%yDlkE@%T?`0V7EA^h zGXj6{?vf?2ow;b~#3o{4|qVNA(DeSa)?NVjD>vLsBeS zq?`f4@219;px7Kx2@``!7t_k>@ChJUwaRiwxtW1ROmax8aX}$&3=>l`^oj4tIZ1yr zp-6II3a~S8B1D}_VKX0@z+V1*AUIxeUIU>`g0rKwskQcnw+$~nY*@EV0ScAU3aFF{ zpG;PHCd)@C)TV~Q;5D#b)7{JQ_uVmkavYvpV{fRwIA8gQ2+V_Tq2NOsrqU>2meiV^ z=&?)X&YXebd#7fSgz40;$>h__B{2V?t06r^HgUtPHPlkbmj8PRVyz;{B7&t(DCWb> z>F=y@b8l5pIh+6R*ZQZ@jB%dXR z(MYI6miq<-B*)1;Qu56x>a;W0L!LV)EH}=eM87T4Z1rVcq1s(f*6ZOpYc~?nv{Uc_ z<9IN^!ntl$3WdQ`hdM0kg~jsl@bLQe?t8V@~Df#sJytpuAo!lZ6Xr~&YJc@T2z-BWJL#?H>63_X3iU$+rj|knAlv#Rn-n;AphdYq^o8FI^?e1cLoW=-uhvrXh|J$3kZVGB9 zLe}H#vu`<=-plOHg@$ov;jmlWamYDp6JZP}9&-D@`K}b2nl?kZGX}xQ7@nuFVelqQcC%!Vp|2Lu6jF5rmIF8MRMp0`7e%15y(~_l1c>o_RlP5bE+rm zaGvMWJ05DlfXy?>+s1;f^_n$VTxQNDg;{YqFl+J_QR7D1Njbeh045YNe4r653bZK! z=m5#`H*1j$yz~UpLv4@naT348d2t!a4qHMf0~p>!QoIg0TAlh#pnJOAJ(J}axheq! z@d3e>$dIsN33a0ll7ko3WN3sVt4<9pQ)gedxYsStY^-D}R4y76kkiq(>1(=!5NqJc zN^N;7yhYamOpuMZi6muEc2fgB zKqU}ZKsvI_xDwXE^i^VH;Q-0#WuyAs;3qN*?yN;~aAZF;=Y>z{U{;eXn30tod} z3p<;x9g`isRolM8GCF1Cjzc&~1pr__SvTVwvl_@}Wx^$mvXsa&VH{RzyDPcam|vJb z$Nl))dr4jG&{`zfxSg`pCc3r_|05NiTbFqvS|!K@o1s!;#I!XKsa0M%2-I3z)Zuu& zIo-76$9X+6H?fsI#~l$}ulUcF6PI2~ou}wz7Aa4G&y2_O0x~|AEV>mW^ zeQf~)4UrHH}gl56(Z#IJ$4b_7x^8STzGP z>alb(5hznsLS4J!N$O0XXvZ$+A@g!q;QUiAL|i(yzEiF?p>nxUf@SpPCuh?TF07%? za*NIf=As{c9mKt7+zZ;wzI8=q_rauCJLdMw9Vt3% zm7e6>F&7)PcBbhxfRPAbe}8|uw@(Catx%QeajIpSnuJOUxOcRnFbd}}bpAjyB5z-F zdCAHqO-x^_L^siGEW_Tj1=)2gn z7YBJ}$@00ijT^T~Cn{-1@!*f$M$~k)sg53vMq;V-kpA`N*t9Q9DuW%Pa}=t0tK*@# zGEeu=7IP_O7=~JFXFPqFNRBtf`&^BhANB5`0b; zQR;OCMZmU~D9l&AKI!nB;Bk$B!UV~uGs2N4Y9w*cyt3XO2o9g=7oI;bdu!Ll-9NE8f%z~52#O8^ zcx_E97_14J)2i%R5zCPdP4}|}GfjXTN^G2s zNhdEDjK*;sgsko(I~-o3ZDgaF6T>+NPoNOno;;yPoYnjZ!;4dTCZz|AvxU6bRzjq> zaA^%H+MwsxtzE1K3z}qyg+jHUmQpOa5~dslxMXf}HiC2mP&YJM zt+r;{kSYod*x}v|42iaG?!G1@SDQo>3deN|v#i2NRY2)MQ&|7=*wn*pD^`e{Y$pMr zLIq_U$N0g?Wd429P}UBc8o~Uh)KaTlp@JDe&{=h-l13dZj-t0XgiHp~t4>FbLd@TQ zq%Q^sIUjDfHY*OF>@5YWO>>{D8wUmzs-^1wWz=yA7<#YBXLNL<49^!+QOgd_%!>ci6Q4dYud2=vg6+fQEkvN9~x33?e5@QZy7UFDTO2K zBFaa-k)=&=-m};|Z?7|DJh+1r4bM1_zA=YeqE~%L<7o?_=8Yt54pQb;b9Q^4(Y|R* z$P6CL-ecbQu2spU+6m0{mZ+0j+Il9LvzgFk{+{~|iRr_xQ~JkeY(XLRpyj@7H*&jS&<3wxddSGerc^efBDMk=_$!JJ*}TSh{;!>6o?c8p7%~cLSz(8Guf@2EW^$(wrXLb>+M1yw2#Y>jy8uRk9gy ziFtKyR*oSLt(1BYL)NJ(z@3_0u@9xyV^16NG1R%s*?@^JwJ?w8?KbU_TMr3Jv1B6c zHIW>x7`y~uuB!Pjqzkp7Fc*bvkR7pLW!l-N?$q~Inu_Wc>ykS?$sY|3XC%sk2~pRY zbS3VMpSdbHoef{H2_AzZgI39_BQIYq9yi^iPHF3>Z~~Tk!o-oCMs_ZQlxCZkxrYhE zN0=MQ5;omoO*}5Gi)1aRBZRD?X<26+%WQlPJMFbHlFck5SY=BtOeqIzbRT*Ncka@@ z>WPv`i^`Ha5{j^GEk}N`owS@;_HpvL>#T2e3b@3!OaNlrJ!W&G*$^g1lXGAjsqJp2 zHyQvga?C43U;Q{g<Gg{D9flbv#n)&wn@!-d{E-t`0X+<<7f z1V10uTjE@jl$W7(DliNdJ~aLsYE5?Eb#112c(JL4T!=u_xV6b9QEkE}_eB&TER@s# zTUh2GDLd(OkW>xs?e8rX3sIQamC@##k~bfct=P6+uQzSehhDCYsEfgSadG3~j*l5l zRoo#tiO~QO*P@L~m2SW7)(aOdoSmKxi($3deCE^7Y&Pp!%S|`ke8=s#ZPx3Pv$NBa z({UWjAp2scp0S3_wyCS#r_{V^Iz&K4{Zc}qN(1d@k zykVWS665SvaryeeZ2$y#Z1$DAQAe95FzQfExRi~iX_{Jd*B4n@Wjx$2?2sAW`4P^0 zK(OhSKodw0IycWvW_PLPhD!(Mm`K0$&C3rlGBrd#hFqda(x17|Mb3qdD^WM-y3&QC zJ6<65FD4UVeC=~q_6kE?J=0$X3Usn&$)T=*L4-mD3SUC_%tB5qLUBe!1LM3*~JSN z_7C<}tF!Qv#YT3#pezt``#EV~?cIDN%x)pL2oP z7fIbQceT4|?bIPQ4Z^0O(6uCVY?cP|l)QyNt#!Fv0yK_en7E!GrkaVU5|#CO!>uhA zi&ALZOzZV{{rLFwjsFM=TnN!11%E=VL zsU7K(FPThehN^5g`CxCl!9YZW*->6UcL^pPZ(zr0I&X9Tr0EV{@#DrLF^N+J02QjW z%KAxF1Lj93NUL*O6E%`7_PyD8W&P)cI3y$>|J0_|TAP|<{_y!HJATV3V8wVY(acnL zqb7tRn?+57FdP0^n|HD6>`n&K(laclJ=o0>AH#(rBK3gckW-=p@jdf=nLA1%$1K`QFB4KV#q&h#Kl{~0rQ1J*& z`A-s%ptvx?E0FO^00v2#Sza{ZXY=)A*elNDFW448PA&Q3%0*h=G~Y*2cPKZQ5oKm` zoEdE5#>{BVw*Dt#fiD?EMPej5qCqxX5>dBSN^X^CC}waKjm50v&y9d8i_E!Iph$ik zah1%w)+|e|Re*pBMd%6y!V?G3IN7*?TrK8Ft$ZbW*!^omZSjEpz-jR81qKpy;2J&( zVxxnWL&{t(-LSzBJ~P*n<6(J#VmR64PL5>|25baomObny&7Px)&>AXHV{VM8D8-s6 zWr5_}lM=|9FtH7LQQ2UlmMBK`ajgHn4RKnm(@mxHKkvE>a5&fZfDx4m(-hAM7d2g;Z#yS+c0P|q?>O^}o}Rxv zd%W}HJD-VphRw|)v#$Ng{qx4F{xXo!6caJy=9_Q2c;RA8SRoN)mkKIf_nMwR92=O5 ziD$-Vo_*%*^i&`kj*}jOyOL|_09q6+&V{9un%tUcsHJ-J*9Q;eg{RdM`fDkrlw#qu zYagGDw7Ny$!cC_7I?35}km&+8C5x`}lw%T-bMv8sOs20{`$HnT6MFCqd0_}L4 zbe6ZZDSQ*kQ^VO5=i02u>`t(`8{7JP7GpCK?>W;-kA2Y0-sgI838okfnr=66d z{G{Dw?yA;bQpsBIma_F5GM2kM8%MN|28)>w4-XcL#qsgUG>#JQDMkn3x3G>T_GB73 znRj7c%5-3JxH#9S0yP&%U|Z8=Mx0qG|DO`Ad$ZS?)D4%jQ?}fM?hVkKez~Pv_;ugl z?qO_q)$VT<803fjt&tA3@scbkuD{WDS)D zp))D2OtyO{O=-*}U>&kmiX0{tL}*RcXMuptIG(Lm(=@Kv<2Y_wYXUbn$z>;MQ#(FB zVc=kIA84!f`t0l%x{7nWfa(npKEI{bi|wv#Thk-L^A~3 z)U)0XFPDLs#07yb2EKvjK0qZ~&VxeeAqKUb&N3loQUk%mD(5=Pth&O#hhfZG6 zNruj~Ao2)G2d>#Tmhd37HF6?ZY0QLXX>`d4f#%B*xD-K#4PDgGT-&eP+cnK>)@Csz z?xjR+0t3apVdp4=4~=UqG*N0t$7S(eF$9d1T2*FZ8tTdQf#oDPj$%9 zc(6yz5W<-81rcg3t;u0lB3X?JF*mBj4TJ)o_3go1P;Xx?(!ORh1P(1;o|S8ifV1q_}T z6N7-lG%_a6-PW#8yd1l^Ba-S&7$FpOK#BEZfmB3@l}a;90sZn?X#4+H#n9Gj1A# zN=X5<4|=#9+wIwEzd@Vlv_FWq1$dm>=_pwEYD%e%(&5~Stt3QK9nv*6R!B)e2)nhj zPjFG%@>aH5i4eXp5$PXSWLhjUh%Ovm+~41CDPv0wy&tw7`qc~w8`cMA=1O$)O&3>Z zXVcV5B^x}7YE3srGqZcaN#lyn_hvExTCLWa(>L#b|J_tQTYx`K6T6?m=`lCmkun)- zgiO5$Qf_Zz_R%pPa|9JIsKkup$XAi3~wjuKp)ZM{yu_vNXO0lUuo~DVQ>o!|p(D82?hA_RvWH21F zZ15K|WNZw%BRFOdp>SUNz^(YoXiMks&4ZTI4eRWIXfGQ>GFwA~uHgds`-&5TgahV0 zXC3LpHBreO%0B;o8#y)#vZFvmTjs+%%76h`VT~E#-KHG3^s==pK?LNl&;HKdvUai+ zj-D9l^La~I(^JuOX?L#Dx;c9l+oNl=P;4#{C%4P=Tq@#5+TGf-MY~RoTQ$l{yDUbs zFb2KtGBc)A*?7f*RNC9y18B8gf%)k0kcd{RRr51qG}ED^a@Z)Ub;*%>srz1Umy(`6)9%S!&&NMg zqi;ugu>Xy9b!j)=o7H9<$5M+1ZjC{-x3^aovi7H}SL@@GWAWPr5s=MG02aS?7zzW& zCnsm8XJqr7J^@SW#&~yk>88G!>E9GZqhqNse8_hU@`NfCeV5Z9n;J`Wa$btsiBL-! z$8oD|UHhXD(IGNVl#gdXH-@3ZEFjnRG7rO0hdOOW=J|x)>~j32*T|pql@0&)jK0Lc zBR6WOwbsSJo3XKO3{OZF#dGLlFxc#_**qB&>Wr0CljaP0_8aVnIos%;*#U+#dL;Gj z7i+28sd3eT~AV@4@Zgv?nng%MkNg@T*?G4gSAN(AM*m;`=4j-U!L zzpj9yTYX)Y=#oHW8|npHi&fEvn~SYQ1_2$JGE^;E=UdCUt&-hl92jc0Sjv~OI!PEs zm+z2I_>);O(j}jU+7S`bS%E-d*6q0Zn4hn6f^1BHN-7K zLFHC11g?df1@-|^vz_w*wXQax2KiS*Js1k`D&}dxQ%uw)11w-M%OM6nnQZG_J!f0A z88!J(Fe%mv%aCJ$3dm9}EiF<5JzXm%TxYzEGz!_eMW@I%rBmv3Vw~oF;R$B|d}k`^ zmGDlbW)#t`$Q~G;&?l&mu-q&nE!l^aN0Fq4=w;fn8)+Ci--35Mwq;r8 z<2Jhz#^;P2Zzep0%(o)gS;jFXsZWY|U>Ba<4O}#tgyf{^7LK|qYn>d(lV~Y$H>vE% z%xoeP;XxV=$~>J2A1cS_OR6UTF!9(%k_|-|AQqcc$s zNvAc^eHHBt7aPqPs5s*m^bD1PcIAKT!z>c9Ikq&jvBh*A^C>JO1=v9X&{KYshwIO< zmzSJ2Pm*+RpsTSLpIKvE8EHj6PhumwB~_eXomWK3e#f&0t^t+~C(kFVuYX8am$FW9 z3QEnbwMMkJx2&~}+lPaolVKz#_|*32qL|VQV$S zY)Z_Dp(7TNa}1%wfv%|S=S~UvlpG;&$JSuX(^`A(*=NC;KTW07T1uhT_{!C*m#;{o zwC!N*W0ptIZblok=5s&Emxy^2ZD3ik3+6c)$Xy$xorPt872B`IiIDtcWd02SQR|>S zm7j2uHqo(#;6`M`Au_rY7Nq+{GO@1bQ%2$#vH3Le~ct*4dD|8N2LYo@kciyz`6G zC$We;C%30Nrgu~pnXX;C#^A$)gT-(p{`d83*Urw)0OdXgPm_At2FSX_G)2uQu|ws| z{H11+G6S30rL0Fm**%K)RY5W*;?5Q5Ha)iFDMK;FmtU{oeBVi!ql2tZfWd5nvh>g zku7=1bq)h_v%Q-E!uZeiSjdKb&FZEbJS)j&z&kmax5QrTj0Q88T0od@RGg64b2!)% zlkK5xS;>0eqwZ2mt#z6vx9wib2*kj~sWvZsYtp^oh5*Yd15LGIl({-(W%TN>3dYTpfIzA@6IJc8E(w7Z;o`Zkh^@s@vziL z9Y_-T%dZCIIT5$0O&!nZtvsI;x5F|<6q*cgjEQp~2fuVpfTuaPDmQt^ZAy3&x~!-O-|I%$I2~ahADmU2Tby_ zmy%tJFbX!tax+dH@RqXt$JD@$z;$^E}&W5#g?fEVMvRlQ17cR(Pu1 zk?&MxBW*U8L8`B$-lqN`@~{9fwQD+%;P8RVYuJT3H4IIenXb&UHVCflf@5^I1BKGa zA92z-L97>^U2obhfDqPYd{H>7nQ^~{XPrm_fZiqVE9);xA82l~t)T8TnQm&p>FH^$ zw);i6AH|#vGHV|VZp_@6+r-@3)R=H`d^~P8FpSUIVz1>fV%Lu@y)i6CaO;auiy)_m zc=5S2NuK)-B5907BpFY)nn*3NeR^RVg7UWEc8Re^H9^tG7>4UE7DM*Jm{pH0mkW)C zCF7uzc|)X>bqMp3v|6%!CSIF8Z@Mo7jIK|y-mI64rFfHUo2r*mST=EX0$I@s9_q+f zh~)XrX55UMz5y=Y%7g4Dyu!{<$5q`3N0ARalv?%(r}B-rXU=fj7Z^g?U;;Ut`ts- z)Zq@McbXV5S*#>6T6b2EMQeu-7r<`U$P$&7!$+=C<+@WVE{gL5x@{m0l z1PiGQR+kSp7i_qdM;+?;G8nq)zKIk;x3_Xs4tDse%`ob|yReM8tQW{i(;BmSDuUhk zv@z1hAbMI6+w+j!R*|j6eR{T=oq7t)(FRM3D0x^+IeWAf&JHH_!kx1XPj}_d+Afe7Sl6X&1x@|FdRIy>pB#nw7D;M9pA7 z>uHoTLzYr8Gy9rgg{%T}WQE%mdZU?&p~iqOQvjG{A7~{60W3>jn;^_`YA6-kxsO!C zv1GASNy=-e1tch2f$lCxT$u+j5m#VADByvRAUQ6i2eVfBV8=d4QDnGQu&8upW?r@u zoXrmAuZjGLkbOBueC|gneQ>Nq?+4J#*%L{Ur9Ndh&RZc58-~GzNsdwh1fH81vZGwH z(^n_L#HfuY&?tjKD1=R;iNsEj6Zau{2%#-P)NHiM*X05QCqrJFX7; z%MINwLpyT>{RJl~!uVz4lIRTC7orpr*;l@my!3Q_vZ_%9BmspVhy=sy^Wz9b-Yq(R zNinkF-E`pl+bn*eiY)70du zwUji>)Qetf3S*Yhq?$#z$63bTC7Gb%XajfUpLc~(?xhG;W>BX8V8)bQsD>>vN4?z# zFQ3fkU_;=dVZJU8bCBhn?y1uWXOLM-l;gz1Lpr_08+~&9WL$5S%cVTsn91_pSkqXo zTVy%#QFJN4`I>~ytS)mmZ0pfP1N&?&OhUYlrnu#D| z*Yl1d1WW2lGY??~wqQiN&I9J0m=rx>tH!!+_*d!@W?go|rMsc9a@q-IR1QudtE(H_ zU7)7^n(Qg}Mb4X-ULlY4U1eo=!;54;P#g{m5P`56N1hl31W74kZeWreWg1&sZ`QJ; zgd59N(e66L$a`*TSa3>wnL9!=7B=nOp+t$M^AXB)%H)Y>wnQou7+Kw?Ms@D^OoJ1$ zmOyU)d0fz!wR7mAfBi4>s&tMe#i-|9$pfWr_K6b6D8I9)d4oC+1eQeJDaTzyGV4?> zyZe^<8#QSL00Ts2xmY$H$J3FB7Q;|%%X66n-{0FG7DI4`^{SN8+I0Ey<@IWPaClUQ z0^8ZOP19<%-mKTwkon?*88^J3Sx&@)naJGLup%6G-uPL`kS0%DYr)lVXe0&?wSuu( zZ#+m9()DvmTZ}Ii@-6{5ue0JVQz0VF&SRJLtrAQrco7UFli2fzM;p87^x0jVA!*!7 z98l`C%`G!q?*^vtD+7@(y&YI8@!^?0kmsW%X#!x@J~n09Nj6D_0hvm4kIiSNi6lXw z7%E4COz0|B|1SEon0w?})?%CRO@;I9SO(!nf@ueDdg^`g-E;bVxsdg|ZFk_>-72&% z!gwWaB%F%Ep~~ZBa8cqC(_bO3+E<0Ogw)y}*pBtGZK~Tnc}+#$M2AS%9$Mlcz$_pg zTi9%oW>_L}0D|HGJ1aXv$E+H|U^wf9R<`?jv$?I=KUdue771lxs3AdmG zFU7N0h?|V0(T3rRUhQC2X$=u!_&KwOCn^FW#?H$%v!p(L zZZVvq|7|qLW^bXqZ|%1HEPZ6pq4UgExC?mXFs1paJI}?P498cJq)+GCAg&Tw(Kmb z;@GD{=ccBf&uQ9~<^~5~9*L$l@nkC=Zm>H@=e_l1`y@vHgH2q)eaTsAL0KcBDj{y% zU=v>Ag2ahbJK#UJ35;4$N^Pz9>)}|?b~~a3H|?=)K&noI?JTuCqe%B*Mz(E~iU^K1 zWk-)@&v!4HgoJ+>&O{e0B-B20K{JRWH#H+Pv}lS+0a^uHy4g?uc6fFO)IoLl8xTpX7R5 zL;LLp=?m2VU@Y#PPgbUPND_^*`2glg2|jETubS@c6&d@TtzjWh7uD~))NHA|dz>c{ z5&Pt@=_>gVg;1zMcFiR)qcyGogBXpdG?qPOI#a}6;Vw_0yMmblo1J&CBliw1m%6!ZyZN~FB(q`KtrLjT<%TNIF6HtVRQ9rP4&r~E%i9>uNB4c=>X-4=#GDr z&O0?{bsBwWHlhr!Lm7r)wO&zS?9Qspl#O&TH6XEojbk4-X=z&~L~0B4X0TBXZkZO`V@=tY^GRW931zeRC{YYjXT;@-B!h*(sTVT^ik3BRLV2Nvq~M z5fbruPNUT(MQXXeC|k>`CbE|`g-zH%j_ze{!a&T-u@Rf(#)`=5hzWrSpejBjDIb|< zBAJGjoU7%OQiC>S5M4j0uPaSp-D12DyhM&vKHX!@gvru1kmPZuz74I#wmLNOCf6|i z?MrcbJ* zfh@#mC_=r~3PEnlM&5P=PQ)2U zZe2HaD|Xr48$50H$KUk^cwxzmu$O7dTV++91oJvwS926900S6kvXvIV1UdO(WK^Ir zO|p2qfS4+<(OGLEwlq=5xvM-#pjyzHoKcD*S#nUhBEj8c!6q40CzVF-LPxG_VvRWG z5IieZdng{Kod(@hvt`?mX`4c&)>=v+WvQBw6rVFnRl8?^QYy3fZYZ@hn?F(WQ=-)t zw<{nQby8!Fcosx?c1%9$R#`D8W5&j8^f{1N{31q1gqKtMJEA7vVkZ-a^8UamO8?J|RgXgSxEC*080K3=L%J$m(+JUbxSa|j-k%*l{T6|OYxgp^N4TLr)rbX-zSQY*<+cFzRi z@&_Bc=o``+P|@o4aAKAh0_JA&?uv_paM@-%^Y%JUAZEMM^F!CWP7xW~!$xIBfh$pW0kL!qi^Z^9EF3yMyMAqI6S^Rx zH#6i4hjc21v+8n|&vvNqZP)RgnjA5=6*eOZ>10nhY_3Z?3MbpW{oHn&LPPc%WnML< z2+rM$R5ckrx;}2~jwQM#U-4Ul#_x9Ol81-{DB~fPR>AwB5izRnOK6L)| zwhbjO+1itt=-fWT(3Egsl0w}DYh+%gJng{_%yJhhy0R69)N1E+n>A~zjhLa!@Tr~d z;pBezg-~t}L5s3ovuyMg?O>`^Z$z$~!fXQ773pG$DQ!IT(1Tz4`@ZzGuYJt}58Qvp z9d{fZ9r^mW-+mV}A0Hn-_uO-jKmPbH|MD-t>)r3Zbm<9&F?5M>YZFo;IRQ)++&m3} zz!Oo`Qy^G3Fk+zU@?nHVG3*o2Sml8S9(>~)-}u_sy!!t8@4xM~+m4Qo&Jm*D4wq2- z*=L`-^!Vc+_`om!!q5N06Q6vX8O$cY0N&Jg{ypSC|)s0t|8ttDtg(0^Iq)OJ4fsFT3w`ufOfV zmmS@4*YfBh{q|KOpUuUst&guAKlAi+kA3XP5B%cC{?$MK%%dNhpvz7RQDL4MCI$*h z0|{0xi^v-WfF(Z~05BCUjU-V{{Bzq?L@+s^sm|GU`GFg|q~R{ey&gFts136`CibXt zwsVtY337O7YKqk#8tPDLwV%7zbZK#ErBW9AWm&eh6w|JTP|;vp0P)0u5kNO|5Gl(Ic@ zB<-H)4hOQIWz4i;!@Hup>8a#`!C=x^(a`w}+U0IVZNg)uO=dKr*2L3Gz3@TLr|pCX zsMF@6yN)($L3@b{z#-^4s$q>9WCz9pO0Iu^w!*S|?tA&d<-zc<) z-A^18>`Lj1OHDUw1J*0k&MAtOh>m{Ceu zE*7$vkC9P}H394!NO?_m;wb_^2mAYr#Zaj<<||jOoSvOhsjALX43nwtTqx7Oo6QJ> zo-#U-u2>1>W|YZgrFc8*%BX6`n8)+TCL-813qfC-{gdUl`*~L*t@X3JI~j7$KEu}E?dc8JdHZLg*Llhc( z7?Zto7P5(`ovmYDE|#U%akC-w5$Dr0=QiZrr=(*$e%>(XlZKJ z%`&!axZ59&=U4-|S&&QqAQ(X7JMOsS?DTB2+1Q!bns2jQEJ_(XLo`~`*XZ|YZpvAr zl9Q9OyYIUFO>cU`Q%^np-uM2})W%^Lm}5`3B6}O!##Je70T|4@-fRvI_byzxaC&@t za&juW(NVv?fnuhT8@Fkk0Mt@N-9)igayb1Sb8BrFYHeUNJ0u*l-f_1=YL`Ei$V9F2 zX0x6>P)b=YmzSS=4(1v3uX`*tpDy<(NBonc!^6!u#(uj9-)9&G+5C$vA_EaXnI$%BFRBWW`fC;rc#DFEEYopZPx218Fn_Tt+nN1addce za(Xs9)=VcW*#HkW-a&d!PtM4nJ-u!Sw(j~k<{~KHYhX<&?2;fnUP-jd4WjukhTN!c zYMGyaZ`r^+48t%CSFc{Rl|5dCk4BI{fq=g6%v@_dI5;>xJ&hF5Ej7`Yhf?Y=$m*hK zuX&o*6XMpQ+CpuT;~|?29~eZmSS$~Zj@Ikd$?-`kDJj)Sf~cZzxOdE5?)Zgy=2WxL zuTUvNJv&=Sb5BH-^$j-`f1#WL~TE?^sY9OR^nl8tA{$ze95-W{+qwGHUL0)iRuD?tn zMiJ4oc_v<@&~yY(MWx@;wnCv4cf7u(jJ+GPS~_y4pU6!D^?#$pIWWhvdZs6}l_n-| zu^1%MNRc|Fhi5X9sZZVi3H$r|dwY8XT)uMU(I3dgke4xhsXG%4s^BhlGi7|o2*J_SJWd^kEYx5a&#PQkgZ=#7C{R^BSj>huW= z%4@_;M7Ix~%Y|%d>ilb3Mh7641R*rhtkc>Mor_EsN{z71u{za)gS{J`MxL=fZtdVe zfH_;*0d^+IEvF33rS^{F*to4$D*zW1nA5Fyxbbqi9EOFP4yP6~*HW)vzkdDr`rh8M z)*&~Gna|En*X#8*zR4C%f{4MxFc2_~qquiIp=C*i8#=KlEOR3|yNzVs+N9t$PfZ2=> zcU2ie-YHK7MKbW5p4L*LVFuzSABqbV5H_1phc1mq$P~6M5hqhH7p}~vy&U&?Gm}O| zJ2plU1kUG*JcSb_LjK?T;xGF1 z-|;)1+G#fNu}2^MZ~pH8D{GPvh>6dk!b`ANH;Y!U<4XtY68y%Akr)g$&)iUT(XoKhxa0KnR9y}L2BIdgmbu}hoHScj^SNFOc8j8>bN z2nPoT>-GBi=bx`bEgI*OH`qGC_8%C;jazGX+;RIYx7_^HlTV$Ut%t>soOz^N3Wq+j zuV7v8<{hcEw%Kg@stuUCd>Om0ytjk7sa=W{%ym3EIvNF-+j8=TVJJm+xbQhbZsSXi zrY}5f2c#2K#i~S9bnnr^#<6IPf!0J9VFEq5#s@CrWRg?SxsQ5SqDpApnVHgU7ZSt6!YzQPs zA_2fOjk=jo;|mur9338&T92<^zkcl+(T;3|T?q_2@7V_qd5o}y??K&u6dLO4Y!z{M z>YWnZQHB(Tqz7|>QE#nvu^3vDofowgD(?{sc7aANyYGetH{Hy>GA`iaMe%S~NW_a> z`8k4~p(M1GK0$d=D*7U9Lz1YX&zQ>}w227`@fywt<|uufbt3i9pPk>%@nR~I9nR=S za(e*cdDlUOPO_6xj z-~c*0I$SIkSFT(+IX*6>l5V?@>4?7Bfk~HAxbe8zsHw8fs=ha`p=(G_098e^*3O3| z#8EX@UraB(DV2Rj%sg{qU6@1U>1V~K60Eb`a?CGEx|rQ6%zJM=>@EB3$KB;8bRb^L zg>82zY)BFmY(GXbf{^z!H-)+F@9zUWFo(I0W#&S3cyu&qLY)5In5S`!jJb;!Eu~Ja z?_#l73`0*6EwK!P0dsqDt|*exIy*a4V6G=yhbl4;L#?$;<0KZC2t>a z*#Vp7xB4YFq_uKG?w3*|`Y3k9L$R#6qDQgH9g^2;t$*gveB1xwKmLz*0j$5HFJ}HH z|Ky+k;1B(<1Pi8;nOg(dq$MZgBhqU&)8-&-^F9JIYOUY;E#Lh0U;p*LOYPak%>TpN z-~K~C^dsDKV>BVQOxXEhQOt4{d=@V9U7j>Wk!<^|TK?3xe#_VYiMRbur*?AT1=?)f z-u|OM`a?hbBh;8=>6q***O)LB#()O!0!+*UT45fD7tEDf1uC~?#lT#_i-Jm6l=5YN z^3T8d|M=~{!`G|+yItJcyZ+Jl{mZ}qf8R{g$UK5Z#wKHP4V%XCnR&w)flcEH7#WRe zWI5@TC!jT&pmPb0Ek&ISAc;uI{M&>+Y&)6RVIa3h5oN&&NZ%D_;oI-H3*Br)Ou=#HCPh5o3RU@8Ix2(57jcVADTmtJT@r85)zEy%O65XE!plcP1oT zcd}=hSejdF&Ev8rdsItT^~frLj!D+6Mno`&2Ba_snX%)5LYO7FoE>x%iVurn7>27? zu8z}GN^&%%seME^6MYXK5-^wfF+NX?FB~4d`2H7<<9eFf(@%X0ggfrMbGcZK)6}L` ziY?t>)LO>PrVMplk5g;Ryxdz{xq9{Ll`BNVjW1rjcyM^gtxavZdhHrd;fs^a$7km_ z{w5EfBX z4(f6STL#T?Sl}6R0-{7P*Y}gV@;zdm%eHqWKhq_4y8ejT1I;!x$P1s7gyyA1>-3#n zd(6#V=+#x!<3Zcb7HEHRMvC`7J?9@I%=5Cks4|}6{JraJmyX94uSWAS@Y$*Q%m!9e zg7!iuwQt@9LO?$sjM{+hxY?`1E2P$1D zCp|bXyOSH+oQ|0@jpmKfA~~1I@O@kC7d9r_L8Vk2k_%<%*fh1X^~yHC7I84&E4ZVC zsJkvo+|bLa3BK*i7lz0(NsXz?*lu4*CRsaTX$E;7$M>>G#fQ>Q84Gzg zKkM(T6U+|FIqm$L(UVLsbIPbAdEDkIZCwFTp|afD`|khSU;q8T|KH!;&)?Y>5&elj z@wWS3eBa;r?!UQOuVj4<2j1V=S|B-Ffb6O0C!H_=F3Y{W|MIW?pMT%)`;yO7hkjFE zMD&f{@C^^#fB$#?jsJSRUNL(njxc#mQp%))rC-HpD=h;z=|`Augao3?@kqmjhTU$#D%#vUU|HEQdUxg7+57 zul=sS^YZ`T4}HG7^;`9#Qr`5R{F&PydfET{*Z#uk>6zQ&Fb4!K#EhwNEoh9U2VYWC zrO!ncgQXONVjI|rL~wFL%?EJX?bmL@ZSH`%C5Ua9x1RDc;{bp@bIJT zFq6wYJC8L!m4Z8Nziqu<|Equfv%mKZU;IU1{JQtQ|KE;NTPy}J+c8H2@d?b63T{)y+Fd+vb;?%zMyd*bmY zN~yIJZnphaKNsJ4+FLH~zyHBf>BArX@Mbd}9PIbOt2qMJG0K>kJF(X96xxbUYb+2X z;d#2B4{hhwY(YT%K=xCM-2K~+g|u!c*A)@f>>LTraO>2zcQ+WPzhVXD?zt#xmIkGZwYM1t5EP_@5Y zZZ?~d$Hii>^NMy{=Q*`)nmqSVY>^wMX&i65c=4{g?;3_Wj#F!P$^q130f5YA=!`}` z@hk+^4yluQdUp2gv(IieV=2X5b9s`IAMV(k#RPp{d?TOi0LQTI*dj&}+)@ClL8}%iDg28!ghbt{YJ+(@Nql7=eZC3RE(YaDl4KJ~4PhU~hi@3_r5rK0-9+_{(;inm>ZaZBn~LSvESxN9C| zY&y4OHcaA&sK>|Mqe@q1UMvQfjY{Xv&)Z5w%jME{`6X+Hyf}^{fW5uFQVM(r3PK&K zZ_E{=WHw^GUT@axT52hUdlE?|T2Pw+qO6Cd49QVy6Gv7PS&oxDLiuOMd2O{*}+Z_;O$}KhO@( z1T^E)$AX3Q0EWfzU4QNW^1GC*97hhjFRi0m2hu&_&32MG zcD>o{0ljQO0iCC&hF0rPYklger|-V&?tAXJ`?+VIX;WJ)7WQKWpfBC`w z(Ibz1=*s0Q%l&;p5#2e1d1xiHO!!rcVR?LVa{2P}cinNP_1yoQAO2JT33+)YMy%;`lg)fhgAs7}57}P|iF!MCEX&kvlbW=)MF86fNgLzMl zTPbCKZx4zj+TJFOL7-CB>rHD@t+kd48}uC7WmfbDgj+bkpK#+!DVuS;`R1Em^~zV? zdFP#b`};>nM@L787cN{lIy^c$Jh*UlcyxGlcyx5(@bK{H@bK{P=;-L^@bJRXg`=ax zqr=04!-KuR-X z7K`nc^*MN#*c~9E#bPmyqd7b<5eZ0Txm+F{U1V+zyjgEbt+(HCI~q@|QK7TbvthAV zE*Gt}Qmf?9jpKNFdUkepwit%ZW^;OWCKO#P7VGu;9veme`$AXoM~f*RZ&Q{%CTlqnXiI5WH_yAW37=^eN{F9* z$o9S?CmAt2N!eAqBXI!P^iSr$SwrTHJf~mQ-1*gOGo#MzFtEXaxlm%XtqRD2IkQ%B zUw~r)=9U7?C4Z*YT73DDpB zTqg7A?BJUIx*-b%vqTkHNv6IFddT*K8y?r%GlkQu>@Dt=2qawvTvLtL9^D{<0@D40 zq;w-8B_JV)bT$d*A;I+bww$WdoX2y`PK`mu`i+X5YIBG1noX?Nv4|(95=(DmX z_e!5tFd{rU3V$7TcE13!vKw{?TD3ZQ?;8{S>VD;M5cYd^EA>dThRjfZ^@DLAXd^7A@=3qgYW@`_9*Pgb_nz|P9Jb}XuG^WI z()3wNH0q}8b4915^AZYrcPD8miSrD~!&}6Oq1P!jlqh>$9M;h6;C*549U>PEe;)4~ z`(=r=ife9bp_+>MaTH^!?c-cZ*y0Pp7j~3QnsL7VeJRIL8 z-l5aTF|IftmsbJ>oJxcCrvVJ=)TO!=L&d&$K~OJlC2JO?Qf(?ZrwwJ%-Sh6gWApBw z$a%~4P-1E6tpzFidNoETuX5v>*Kzo{_vJMJIqk%&a*#l29!e5wS5?$G8wV<>N>Hki z(B*&qjGMsx*xB5v_uy0&V5VJrcBS+_+<3Af?tCY1(By6a(`e%F!$@$p!6lL9&0n3z zoj*R#pR>LsGSA({A7AaXh}UzdIvm9xKMlU}b^a{wsgLz~o8oK`mAj@tIBwVvKN%k?<%_8uM;ObZCENH;OS z?J?mNB-bGPl>5S?{;P61p6h?JdjDmYuNKmFgA=dX6;j8JZ};w&9U;eOty-3rfav?w zfqPnCNxf6t#1|CHMT7D#^)D&Q`2lX}X4Pjvm*c2SJ-V7LFtYF!*S_iNG6P4F6dI*k z_FYK4syULQ2Z+4SiF*YYwJosSXDY!tq)(Cayt&!s-24R)C#s$GYH#s^9o-(!R{(iy zgRqF0Si9Tl)8OEsjjP-3QN8VaB`{qBz|Su&R`lAwIn^5g7$-Ji;Qd|FNX#e^->YJ7 z^}f;-k~K2~!zU>(njlv6!2E-L8NHsLQoNDz{T+XZT;5TrVXJkIY9Rvxp|f0)1vBbF zDCJ_W`}0AHj$cH%>fOErPM}*BN#Q5+Xd>r8RzVQzYYZJbwt+XU8D)I0)%KV!=OSlV z&gD5#2Uly()THJcdV^Y`pR}Y#G)o`DBUY7kP!K2+W;VNo=IPvpwTP_v;-tzkVeH>q z&ZY`X;{0t}hZ4NuMJ8O%jfTt zWmJx_D%ltMl4RAM`GO6X55=-Y%7;3xLZhYQo4f12p0#^ihf_)|As6|kOig+0fmcsO zO}TLDL|k4b;1d-1+bx3~B_^lEPFp+saNyZ%rr$=c&R$p9n_4F_KvQ5`WUFLO4RXw` zykY5eZVtg2dSatj2JBPJ?q!~hR<@UBkusGp^CXsi;wbO&Cyrzp@73~?0AE9Zk8i_n zcX*fS>%@IP{4OMU7&muRutLj{+$F8w>0{!q+95CR{+_}k_gj(>q-L(s@AfAJBHA`O ze3{H5`!@chhIf=_r{CTx2Zo-SMb21sZ*xlCT=Y0T^*KHVyS#l`Erq}zs1ZxePPLMm+2k5*K?WcQS--;LtQH9qr2bE{+duI86EF$Le>dPlnG3tPj8C9 z8BhGAt8GW-^M8}_)oxFU#pCE>xaW(^>Sb3~w->nwCmGy)f+rHA>mu{?vTWaPZwWTl z4tN$H!v+G>MN4Ri5~Xn2UZa?L>_}7l-IhWw_$oa|F(e*xZoPPL>$#)13;Fyu0zw=h zuscr^1F?-PxTw|>Et8w>~*Gra_fW#vX|nY&l^a(yfp^E$kQp0)3r8(vJw zNn9Qr9xkq}sc$BhtorR!y01CyGiUo;0be>eJg0DT_yhIpNxO2P)9yCP?HJ2JqGn;? zMfQ6aH+(5-T*K=-XR;eW1m~2 zIX@#2y+RLFV(H1%RFg?8v`&y_PVro_D;({Ey?43KO#Ct*QS)>os$5jW9C_avQ$C71 zfb>4eGcmWdLL_YU^T?T-+ghq|_+PEE#k* z`WUu}TGyPUR`EaFK#DAu$9y~_kz|8mhjja=_zO1BnxaL4?zpM^WCyn2IrwVSip(Bi z{&P#$<6`bUFk#ZtQS8pd()q9HHtfzu?YuqNB#QXb>>an65rTv$;k#Uy&b4a{zm?z4 zmf!r${37NTY03t6f4eik#wccP9OnL=>VctaK=$6lKj@Vte2BcQ2~59!%7d zFblJ^ha+{yK3K2llg09m#C>^K4K*3D!~G3zvX#0rY7biKLe(7grZ+eDUK1iRik4<#_vTniY2r8l!G0!ZbA;QiV3e%>xtJaC*&UL2 zwKxt{Of}*NH7@YF_QP<(bem33T|*=~pMPCQA`LnV3(siiK=Hjal(t?^ZhqlN?wO#! z&AsfZPXKfafJQCO`#W?_EwQ)aBL4;p*BzheHrS9i8W)4KN*}xK){tuO&4$nM4lTYm znKC9`j63|bV85xc+tc{c`}tD?ogMOV6h`lT83|eEhyh_>a=3Yk>&l3Vd62WaoVdwF zP){CE^Qm#vh~FD}$I+;p;jQUhOU7x~%y#&3TaeZH<=MvrO^c+zgSQs+X5+=~?|A3# z?KGZ7b<4=2a-dqm4cTLl?@}$NP?29#e(~We4RqjlV!Ge{jR7lt`&KEoK$?cNKB0H* zN)EA(xafeMiBuv%f-01fIocmLIngepB_4bs4Osp>XjdhwzDK%{Th+>WTX*M_K(yZ} z{H3ErylL1#@(rVY>N;<|U-JgzE#H+wG8`n}kmrSCL&Vd#yUX5;ACTd7-0DK?YspSA zS9a9XgliTP3&#XsnVg)S!Y&99onrSZ*W~L#<9lA$>5!eNZB-v=He6%<7D#vnD&{_Y zS7upw(-e@}l%uTbdle798;3Vrx3g{xmGf3uIg=iPDrR1H{wR7sW+Y4AiPODS<2Q^r zW_Iwsl!iD_KH@cV=(l|TN7SRDf_o9e=Mhhc+jHKo1-8cZ%1dYgvngreJ~rI)gamN5;14`b?{SPt-2 zosAQ!;(h?7Ys?0E_R=R++L3vZ)nE6hyG0t|RE?61j zpmBl^ovR-b4S_Q9q0V+gBg7qnLeMZr1^b&QIx zSYy7es7m@{t0s^m&6a8#^~CX@&}CdMXo;nJ8Untp(E6n)cWWjtZqFxsLlVv`B;xVB zVf=hL7I8X5nzZlAzT7(K>@lS83rdnnQZF%^sUugNKW}Dw@LQ z?|9T2wsznr{8Lk$$O`(AcP?@i*5M9~?^I3;!%2YpGQZFii9egp7st8M*)*hF6WvqN0-8kslTk-Q@-Lz@K5%m8CZ zBSMAPI*TKPtoN4&GYkLmnwz(631IE}0WMalc4d;fBtR>n2yR)lQ&AoF(aw!heG;^K zEtBV65v{v$hW@i_M6V_$rjXlB$u@_FF$f99ubf97^MweVABz?eOvVlJPh}R%c)1VU7!#6)0Aa-0E zJbA%uJFiKV_|4fBMQb}sF>DEBcNUCteEdU-JdXKl}$(wKg_BYm*g z;WIX>!dP%F)k2)6A=f#ARO=b@D2yDtfXdhqbX#Po3&&U`6E+rm9osM*qEOG{vW;#kafCG$#?~Ktv%}bA zbcpGuXeR!5D$@+NcJ{zvCD*cJJ+;YWiMZNx_>u8Q=|ZY)oy*M?d1Nv0@k8$y?>CLR z&Q6uHUElaQlwT6RJ=Psz>5X4`!x_9em+ol5LDI0|pSZ_Tn_9!PrYtlY zc-A|tS(#?D_fhUAp9?w@0%dv5z>`g1r8-p30>%1G7ug_8N-;+Na{IszEbS@TAPQfq zd?b)y);!BR_t|gfY(cD%tRjF&%JOa+D0#X)TDu`)<)~tzj$r8WH4O4V0=fS8j?wjJ zX7|@u0{{qhR~~n~vm+y}2e4sWeD7Ua&YJhL8rycG2Q1h1$0#+mw6n2O=`8rP9Utkz z4`^!50+2_gpUBGySTE!u6GFA>)Z%+$N)5gJ525Y3>V4ks=sBzlO5w((k1Z(|a;}oZ z{Fm#p3w+r9iE<4#yyi26u0O9rpd&ov@RmFI3Z-ZXq>Z7(w-6*(dwm6wUNQ9RcEEIo zK#mBsa;5(Jt^NswY^Gy~_Uaq$VB$71ptJ$mCxBg&|8`z~9tB^C=D>5PpNt<5DbGFn zD?OPl=RHm8%hPte`bE|*_d*~yKqRF|5@Wcm6b$df{dVmOkWc3Q;!n=BG5KI}9RxI= z!W8!*{RQDN%2sh0|1k}h#YyZq={SpT5BW*YSQhGKdcG|q_%8((Ao`h7P3O;uyG-Ns z&S*IfFHR`wG|xDe>;z4H)<>CwIRfxQ9-tai>CrnJ%|Ws1axYftHCtL~*m_qT?U%4z zr-wg6mm0hk2Cy)Vg+S~XxxecOhVbRSQfebn@wA`Ra^4?2<42b#knW+Lw6*NCy7*GN zm%~_Piwc11S_WwPul>|$xE&`wlFLl2Z8zp$wl%>i@ZaA|2tvN8#HBR>GXFkh`FCtb zRixOl4ogVV)`|S+dfzo8t?Pd~-4LyuW^xS6x584Fb|m&kAofSrrv($Uw(}BC)p8Qg zvC+Oa+u08b{nW4vIdS+~>c<1q!y@t9o9S%$&A(L|!23&zvO9bpJ?pHC^=JCnG}u$K1h73y^2${K1zRCcm5=+B z%%VBb3<(-2I>w`{yx`BDKj>LSs!5{#Ajbv|I>!hD=3b2HXu>>v+|FN!uX`!+C!MvB zT2!WK=9SqNUN-Hwf>dPmD1lZ%a34;s3y8tw+ofy^-AsJ0QqHW+?ep&2x+wvM|QpdGWfMz`+p7Nl>$Ic z4rG=5+fBg4qCCCnrqn{Gj6Q|@83L@(2a>zw#x(56&+Y}&XqVS1RkC`hTm>_Alv6II zMitT8?3hPYv_pYl6{0**GEznI%v{rCBfJk5M3v@1-*Opmd|-pa80lNr`R{4<(~6-I z2D!?c2kZh_88>CU{ar`7(Y|;zaz@kjOJu3nPB=Vxd1##;^!4v|XURgpkC&zBYCOzk z6Q^%s2C5D!$bNMuFgCd>zy4mk7JK%jDE=S+j^<*H(5m)6rfH6bN?%r)Tep7wIc6a}MWBzc@a?B&JBEAt}(r>Qd@(V}$A&>4#>uW-0 zD65VsjRkIxq|7vLy?*$ThOGs4e54b7xoen{rHM+KM#5_s)DLInogd=|tFGltLMio1 z{45B=&rnG$lH}}j#_T*9es}-=rUYj1JTbYj~Ck#aH4DghyuR8J3S%d z#Kw;R>=6y$ZbW%7L^NiP2o8+HR>sHIo<===Pv_wwGBJTQBee1C&Yvq^1l)GwvDOa= zf>(h=6(@&5bK=dXcWGe$nJoQtuX}IEzBl}i8ft3j zdpK2K7#;O&(Vh~Q`)KOusYJ^flYo{RRZ%#M8N~I1)tJVsN8q_g;6GS8z%pT=?m$4n zH0xl1hk-Z(Kk9?1nh?GJBQe{ql^X8ezNLm&`FH?p#iK_bavNdHUVG>{aVIVBgNk1c z(ths!@DsTa9Z432{8}}9hinv{=Rss*=;1IFKRnV-Mm#^tpTkIJ$liLoSX>(SaY^Wo z)S;b7GZi>Lyy3qc+C*KK|lH)Jk(BE^ZXC~B0i0RzxqnUUH4DDe>2YVduYo*H@( zpZz#u!u^6!K>2}OS2wb4$%t>$Zf81doGHWJgYU{_XEs=Xe9dl2u-++yKb=3ye(LL+ zrdQ}LC@$rNASqXBLVa@(+1Cn_R9cLs7%wrui)+;bvlcj^gh|pS|%beuZ)&*McTbB<9*9dt7-r z$Ahy0sI9zTd6FKi7^^&^$X<{Zf?8z}GPb-|eJHB(Qz!@h{Itb_>*GY^2F-R7$*-KG zU6Tb}j^uFT>SAy2o;7D+s7|jlP%Hod`5carUMc70;Fd1~;GXV|A)atq%Ga*d#nRzLyAojV|zM-kQK5Lpb4YiraIhz;TePbu%s= zjG8j?hr{0ov6=kp!9%XT#Btt`fnXz&eYDbijD&6#w;TG{sGML!y7)#kjP6zkkR z82uRYPMsu~+U5A7#-PTb)5GE%GG2sXB=_=f1V)6689Nuzp4Bu*xW%nZvMGegQQoAC zst$#>e%f>H%r=@hyk716zr@^K@i*%&gh`8D$6N@Nw;4?84SIA@Ww#HrPm)>$JUnSx ztn!+CPhexrudT`Qt2`WGBN!mF`}Wns`rR33u2{Rl<&`M68nQTAbHHYgdgbjivK;lG zPfRM4aIoFqH4S3>G`(_LR!-}ETlo^j*wV~(rMgsrHN~r3Vd3*M*SEI8Bo(r8 z&hR?DCU1mxshXiC><{rva^L&v#fEVO{er8_n;WmV1JA{T!E{;cQmVD;57Qq;GyLWc zbwwS;hWg2vCdz(6tZiNz0TJxTht2BI+tkt{oD+Uv53tr}LXKY47%$p-^@Fqb2^$0W= z`z%ejl>fsw|;{s@f5udk8*zo`%cbGcR8Uo zobls`Cqo3eC%o2ic7M0!yaQ@*`$yaFKpOIcmkC$rBTE`ei_vi1XsN;DFA|`#n{ECG z-XQ?bf-eo96BkDfix^!YkN+#v84jb3-^KZW#(J&t;$F4lu?fu=F<#bJY|gMRT3 z5sES!$bYQRegi^6F(c0MTB~B5;Mr47&t5#%hZ^7r1UfeFJAei?*d+M*&Jo%mv6}*w zc$Pza68G76hwnp-+hE%8A@`2m=;zqQQ4A^%Bj}(6%zpiDNV{zdsKtqZVR)?$-Um2m zzPBV|mtFU-qNbh0-v13M8RB=@<0O_c*3|W7a8Dbnb-w(p0II2l9Air-v^VUWg#hz( zYdBAqYD`%F%;B?}&70LVQv+=V&drcU?T{AJK&?bXa|m}m5GyS6s!=@3raR?J4fpI$ zXZzVusJ?y08dMT7qeyrj)wJ22yCNQe^Dz>ehtT7SDr zBwO@U`I*uS2|Hc1E7=L|qwonh^q*$DGJ?M%ar9anV`^V{&v5PU$m-ws8xgbiaD8Hl z1Ztic3g*(?M+J8|Iq~p}%~3*wCPkz&57e0UG~Vci)zz=KCHT=&?{>~h2o7*IoXNPd zC6>f&RlX&C32>@KG9|Ss*Bs(fe&<95F9EM#sV3^{%-=i9P_2ms?&k)SQPJu8lacE= zIb=Q`00K8ViX!|Zdc7q9U1(?)W@9CjIuQzS|EA zD;L)Jzg77yd7{Q939ch&GA6kKNbjoRX5I{NyA>9E+=+O}X4~iuvqH6R9t-u`Q+9go zRO~OL+`=V^X4U(8q;P`m2W9AaB|(B_TU51N9q1MLpTGJIef&mr&NX8}`K7NC(&}6n z(fzfMS065c{?x52f80JIVvE7$25Iyuc16`as%Fd=x7!~|^n~42h2?OGEWZc2sMcjZ zE9z!rUgW2HtYV+;NG|?#!Mds{x5rne_!gVA!TOi(Zp=hB+#)aKR=KFQJaI>C!B{mz zdP5V#Xw%IEn!lyzTNLxf7H?+MSnJo7FDY)bLZkbCDvhM_c~su(`(qPYNEMgu(O7%m zzYY0C3e3LLnSZ}AXTu)eTQi3|F~elBSjp=DH!HDSqfAdbBY`ZI@B@3!k%^~`N$i+k zkwFm?^sOgvV6Z=hZ#hKa&)Y;N3W4eG#?3!R2?r|QiQ&xZwunQx=YKe*&6R#mFTC}t zH>kvZ_2N;yW6B@buO*4`#=E?Fd|;uLCu!_urA>g3o%*2)(v>Ra@REMlnq8mbN#30$L zjxv~Knxjg=iQrOz@@jg;3EDPW8t?s{0K~dfTcE}7iWzbLd|L#5Dv}s3Uop5&n+G-B zJP;*w=*Rtc|IhTmkGta|Fi5WfJzrVC$AugM+)iIewN1xm?& zXZwEmo!a1AZ3s}#fDg!tdtGh?>9hmcfCPM70)GQwlsTQ81Bo`_!}*%``QsHQ!udUF zgA#O#6Xq*0w&V>1fWsUDvAFoi8D&#{^5VJ_7y~+F6VLI%&Wdp!Amp~xx}E>q;Bx?h z&qhg+xGRu_Xm@PAnu`5cI^TZgs@{F~wzlKEO+`gT{3eH>{o2xRuY;uh0NAo;5Bb_R z503*`&rML4=iXxWQwf-3clbc`dZZR|fg=GCGc&kq{a0RYyKirf<@9KW-&W4!GR0Hm z)z&oqHO#NN-~V9m*z*tD{I|*Vt8##p3mD@b@C^at8gU|VZRuRpvGum&DoVuRK5BTL zjPDu9RYjp)1n?`%#dSF<&m9<`j0=<|rfg%O=bq!<;y}*33bX*Yuev5nROv6-&1CGu zZUGNf3O+J?zCPBj1dq=9j8ZnP&uLQ`tdM{&NyMHeqkrL*ZRCcNH@$w5hnz?ozJPtH zL=A^=%5R=OW;J%(<>)n?Zb|F` zIE=kz8esuHV2ga9$LCjumx(|inFjF-nLB%;Tu^`6wx=Ri8zXOpDk z$hFdY73bw>WysnyH2Zl28pgJmVXfS%6Oy$N; z({W`a?{TKfBQy~R;nb@6L2du6LmsBYD%Q)_Y~0T07t28fgbKJLB+j1`4W5m`7hUaJ9f`5 zH`C{j`I6PmF8@>za~$C)K5fd#;CXLo9V5<#o*#I6>Q+daj8^J;O+44z8&|xX5KFVu z``PW!D@EC+pUOW!<0U1^7_FaTjeNdqyFWB(LcvGR%W)zyvu)Pn3M5xe=Vp8kcVxF_ z=f=-JjBLedj6Pox`MmEa4qtiCT3Z@o@6wHelHv15Cn10W*Hz6%iUOJ@-w2-w^8u|e zt<|}v|5>qW*;hab)wKl*_($W@Z4)PZcjD>Ys@&?@Ah zeZm_>p)|R5bxFe@V+hsM`xO}{Qo3x$7+mE^vT~s)#&jfN>mGu0?k~7 zu@WQYQK{ekRG&+SSx3HxR|t1Wb!sJ3Gn{TS`S=f}w?3$Jdyi4|J+{60MxK(!4D zxBIwNJ2$#1RaKu!SFNA;&LgfvKZ1~M`aB`wRKd@JN#UAHt5&ld&ZQq#-=dX8Fml*q z{oy|%9h{H;OU-E$^1Il@(2U@}+x1rOy(H~TRMV_BBN%F#zJ2-V`QebS^jBb7&j5o3ipeNcq<;SzA{?^v~{N zXT##;oo^N~qy0V~qRXg*xh=#t%y?gn>qSs(xF#}HT>Y(732<0MLTbkS6SHn{VvN{J zw(cL9Ut2Q)l%*Vi(QZ@h%q*kCJ{;Nu_@4bP8p0+-0r5RXjm_L#JC7*ypRtE_{NAui z!)G0Ed%nS*ZjDJfC@4#IEqJr%xV%~Bs7HRch>NV23A7}A`tS8Z2|tFqlPfW71byVFkRe zJcGB73ANg+O3c;ToKM>XP;QMcX5Sq9-c{(=+st~+|6$c{M9bZ83u|Eq6^G>Z`ope% z^VkHJD5zy)U9_=d?|GX?#C*t$P&eaZ7$Y&FAEvV5-1gnXvaT~1@c&sQVMv@Cc^kR7 zR2HbhJc7w=dw0%Q5`T&uGc6U|n?YbAAe(dYC&q{`|5vyCpI@5h&R8v;<1EjW(O+;i zX~#YCm~b@T1W)d~j2%GQ12aCd%d^tO)mzfOSDCaqkd=9W_e=OOA{TKOgxzhCv|ltV zJ3s-z?P*US`-BWf;sOPn?Fck$@Vl8;A_9+3Px;Q(|%(F^f)G84%xO=03RzS zx<$Bh>9G)MybXigXGw>QQJ8LD4RfZSoTmuBmwN%K=y;OoxK2AxBSiHV&~q)2tp}?1 zfcrq)YFwT&szM$BMgqVXPV)7Gp1OlTbk6{2G?BwIo^m&hIfiHj6M%@Aes`Pj(&i(F zZs0KM?7z&o_LZo5lj)oZhCgQT+bXyuaoj6GzAv)kQiz|g%y--w%HfLM3nhOw8pBKv z)WeIF0G_Cz?`i3OOd{-YY&ue`xF&aB8&mDevwq0lQ6%Ez>eXNdi`_sucQl)RQoP(f zHRN^v86$scrz;t3rWl!xYAQkM>0q07|GCH@1`(diiYou(UOoymb0=c&(iU-`?GNx)dW=8MYf`^(rIh-i?u;}LzDYeXvR`vw7juVQuI@{0)$xq$w;m3_@7_6{E~XzM^L4%mRC0v@EgB zc}tX7O~-L-1#}ql4A49?gmoArW1cD`U=h>%*NPOC052*5V148Ggr@%m~ zpJ@+|;6cf<&=_dctWn-@1I@$;?T+D_3+F$Cc8mWV$}7{^4mqkts|EFF685F3WmIWl zipa*6l0WNYbmdDH>xtWY7_{j23!Dadu+-&#`%kq(!-inC4jnBwJSujEYsqv>PE!9} zAo?m7mXmN?fNh$it<2?+DS@s-*VFY^nT=wL!zjV9iCkJxryuP(Jecn;tq^x|+ntH= z#pmtTIfpzx{P72$d1Jz-o17BB)f4}ql_;T)L>1@m|DqaPn8LVzY^dCglnyK5^zF%CQ z+eBpQ8u)c}4cF7h-QD)3IljJKaQLi&C@4Y1@VKgPN%)w)M`@q-qnE4~N|U8A6X6V` zR1M|mY1kMg)0Il`I9aG(ZKqsQ#_<1pPLnKBR`|5Yw%^v?uCJ(2k|$sIj)QR6?3%E? ziMzbq7dfK#i(;GN@XNp9b!Wb~L`HQ|yqY{_0Rimh$>u-El#|3PUFYigRO?=^SE%%H zn;`!-shix5S6MSE&_Zgd7%s3oKeIbO0d50h*w?*2;_KPtkDQL~L(5rbr>Ezqz{A-k zVM~M1k&n0`M=}!;n;EHFAm&HK?~s_|iy?zlbrv-kcYO-^ENec7ynQXI@g82#jH!A4 zA5_YC{^N-OliupEzabLONNkf&BbMSl9LLjHcQb&krbg+E1ZI}S={o6rJmL{p#|6nn zQ8Zr`rXy|ia(dBPF=e*bUvabE{|)EZNKb}r{jw->bIDf~IjwtG5r;fq4I5ni$X;As zZQuH3xY_;BJooHp4zB|YPy}^+J*DWv-a6kr;0%-;1dWtBgk5RqUR@#?L(M9f4Ze4| zWV^7q|3p!E(Si;d_Zz$3>bRYAhkI@-3mCf2lK0K7IS;eHejgf?eOqSfXm4)-*kz=R zQAf}8+2`tLnE1Nh_et4#efLaRjwS|B+w&{!3pHA5#6v$jtEJiuU>aTHbjJ7BdoCRf`~s@} z0U_ci6iGY^KZA>v=3KLvY`V+n&$IL23I&f*K>^>qX3u*IJqQtTQ#BMjo9UL zk2{yFd;dGAE+Zb*!G5rDtKYT2x;T|`54i2*6j;BZEOg#-?66$|>?~9=`6wG6+K-B+ z`roBsB3H4N{V{vp{LGS?FVAD_F_-p^piLN7{yQfv!-kiUBM}ye^iX#}WdDwA1;Gf_ zm;DJ3(G^ZT`K_b5Gdjg)tkNu)DWH8Ql>9hd;vrDt+nMy3;8mhX((-b&knL%8$bnN) zGPU=Pb+m*JQ$f8P^^(sSS`ln!TgCgxR0Yu$Qjwh+Y+hK=lR(4Rt;rR3#)K;L1H_GD zmWx{_{msG<-j8vw>OB+a_rPuWyg;uCJ*W2ETNiQlb!qlE=qiUGsxb7wow1N)K!2Z0 z+`o?&yN{5|_MXd`#s?)DH=AWff%NA`TT<=UQvUv^z%}OeVMhI7EX0-^xTT7iW~AEW zT>M@?+RSen2(q~MlrW#^0e1-3M7_zylicO|yMlwma4D^jxkW^D^9c=Gn^= znSyumu=8L{G(TE+SP)2xx2t4V1BpAgPc#aXOAFz#jw-aNt^cF=#pv7|KRBu>s%C-roMIzPh@jp@U!dxP`-Y;hwT6J3%VQssr+$ zOzk4DKFLMg%?`S7d78Pp3WGiRh+85LNz>*omKo~mny$!r?v?$Ft5Xl-`oTXedtVd5 zK}7h%IGo_P&eurcE75=&`iwboo(2t`&b$NhecJjzhC1@A)9-+Ek&lvApd z!2`TqXo-Uqv2nbA{v>P}xY}_Ie1C0cRYU%WtP`u9CY!VeiY>6z)~{x^(~_(i)z5yMp8vu&D?$GjGyX#u zb%ZEF%G?TO%}^gI95RiOI%1@j!m#6X-Y)0v=GK(7P&0ulwLb35As0eqK$^&*~vI!a~wAhYMU-#m;Gyc)d);2uzvq}Q=d0%3D-0-f(aEsjF!;m8;&xau=eyAWpjMMfY%jvTYU4sItf+y@2;z*EQfh37*BYK&O^DprJ zw~cv3mz<~In&+tNc5y!-sf54>0mqz-g8=s3_Hr6%>x5Cnqxq*hv|x49QgQlC;s6Gd zV~pJE%!LCsRBrf>)iLJXh|~#PM+B^{>PIR6`*iq?OSbRoamDlWxNj21%~2_08%DQN zH_du-$;M5urDbvbzDKzK`Zq?V8^pDug$i~cw+sVXL7njX|Lt@e{At}%ct@N1=^_Mt z#SDJgjl={1R|3-uTO4V1h}4or0Nz=z~`OY1b&84>Tz6=;WOZ(PJk=D`c63gxY6$zfZBS8x4^M5 zf^7G*TkyrCMVYb0%Y}NgAN#$2%a1u+RU>o6utpDw10uxNg0!97 zhbCypDyw}){$4rp?IypYR4o|ThT9rzC2+}*)UkzCbDgo&RJynpUc|gp{ zzt{h^N$^i6@L4tcaf=%4av8ENkJwZi2H)>r1Xpg6I}XpUg+ZWv&jf~F4ek>+qdQ~` zSJO`us5FjRI2cdVk2KN>DtcyU-3CI|Y@$DB5rD8XcufL1$~{aSZB#H77D`0Dt6 z6$+{3&;ToG zI*$#TQw5Jq{@pbpP4Xmlrg9!LC-orr3Y&hls@kWE6{~Ig7wpNE{ZOsS zMpYsX)aMU33EeK^qY%d}6~~>)L7{y1UCPDX0w1bq*=b$l`77>Zgp{ON7@!9+j-%tN z43g>5`opAN-NW2_BH*n{`O4dO}(IIYp23=}1^ok0Yrc0O!2V zeXk#VIv|bhrt@d;HMmK~!utCD;Wc2>faUZQFls^~60b>C*H$0z8X>S#$JN{9_2;?j zynbgY{~<2izY10L zgoLXsF@%k?fgfM9`xTh;yfRjoqRVA^L%*HWNw=imeXG;BR#Y!O`s6TYnyo(XPRUHh z1m|?sKWeSmp6L;H^_>T7+*6}L<+qLs;$Y6jFchDCuc{c zA>=UiQ8W;jE9#WKDqPAlLCk(n#K?TIeLh1=) zu0Mk=rHvK{H0X|U<(M1Os$*aO8m6z8TM^-MvxSFCqK1h7Y|Jy>vRBck<-!m6`QxWy zY#9Z{yHI^{f|^g&iH9w9K*&Im)SSQ|+RXa5=9i92wu+d8iqFcHFH>p7hjyfM?g5Bc1wAP*F9*<-9iveI zkmBzfQ27Qsh=%_MTJe}3ZEbDMFzrPW1m-klw-~#-Cr=+VF;I_tJ+!%0HfN6QsfQSv` zL2Fx;f)v`RQj7wcW=v-uQEOQ*)##!O8Z<~4#0G{)2KfdA510{0f@IeDGjQU6LK4`;Q)%(xq+gb^z6jdzH zXSV+Cq--bL@R^Qk0ytEkI~NW#e{#nbA@pb_&OR!-mLs%J+!f+T0TC#ZPft%_Z$-OY zH#(78_Z^Ts|51pXiXQ$$0X?i_`$VC*fGz;&3j{KJ=+3?z59fqaw?eUZnr}>H>knq$H&j5ZrV%`wQ zw-$AZ4WUc+J}!gPoPK?(5#6K8pMo&``5XDo`5MkV2VZMq`$eX8PdH|jkv=kyBbb4V z+GQC%wx<<{9LO{%-D84Kl(OR6{I-}mgf3$#eb8l}Icvb8>2wBdr9PP%2hOFxq%fOmbX7NibkjIuR063ya^kh?u`#kJi?^)<#jPyn9QH|F&W0M`a zezr5NApThY z=G|}Ofp_|hIxg>ILulQ)!@g&T)wmiRpM;1$TzC?!i+5aysXp&>!XFKH)M*lBb%=kf zTcuiCs+}z^wmLfAADms0_a_;)y2EE%8_(A$u^HqU85P6!>2Vk~T)yFeTFKCgC29R5 zLM5*gI;xbwSLK-^(VS;G3EQbr?7^+~!QOk{$0^R1INeY89I4hJ*BzPk?yL8Yx{$j> zNYnO42?pY9-TS7bh*I>pOnN`-o-4Peu`xSFT7sf~k|t9|Ce*(;A&!Mn^nN8o>}WE2 zX<>yTIKn@%@sml6hPvaHQH;gL0$xhL(EIO+YUGOb)7?k7hawwI>NnLF=t)2q~TpS9Da6o<^%4~<4_z7x{A5JyF5KT-5!4QY5rpK z!JNZ$VR2F14ZwQx`uDDd1T>r#uz*&ks*LmTd!QRJ9Drh|o%?=%He{=?x|Ahx=oVQr z-#V=h4IO9DTReQS{OB)Y%sM`hQt4++X{E_(U_^VQF6`>EeS<~wG}h}P zs1KM))Gm;>nq@9V<`kV?d}%_NsYHdoo>^P+JN2lJ*7!NLNQr!~9Q{;tTl|3qrNql zFQmLSaJ(A2q3(emO%fM9?kQ6&Dxo(zQ}kEm4N}r7pzDsZrvKFc^FKFg%xwyOry$@) zPbWS$$jTtTfb?I=pB?oYVt$5~<0?8O{X%nQW#o_B3D|v3W1=f+d zCG^+z405m1zi`rQ(Y)CP0iKDOEPcBPH@^(#QQiL65!P|jg!8(`>(th8*pa=? z34p}1uO|Ra>+_k8KMkMf;qVT8EL06uo-^T#qWhWxHW-MQ)}O^0Xf=9pkzHl0yzkB^c!A&_+k*H>qNB+6t%HAMwXui<^guT za)G`q!4_q5%vU-uS3sAWwxEb64q!THnlYCjeMvlX>6c^fRi=iTvY6IA=X?_P3|9=eC zJ#wXGUjCiq>gYt$MUUnKcONkzk)tb;%%l+#mkh3yfbw89M_IRqr7XXKb_Wa;uEs-> zT1AouIF|Er9cn(l(_v0}KRNIQ$;z+8%j--#=dC`uX<2@v;SuFRYjqJ38>^OPOTn~E zP&5;kF{vrvZHl66t0^H50Drw%)?YP)CgltDGeuao12Y~)_?;Jx#&KB>2wlI!)Dk^o_|L2Y7<&T6!i0z-x zh(sf491m%#<0QjpdYX%ITrG->{Qf%xIYn?*PK@x50$W;H5>@X0J{tU3x}V`YC$ujb zp}m&rGA0eVjC5psecf@6O=$8f%0A`W?~LI-JJaLNIXixl-Go2@>)4Lx{_%*{#Tscb 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 LNkvXXu0mjfKphLr literal 0 HcmV?d00001 From d1132cda2300ff7da5a525238758d343fe787fdc Mon Sep 17 00:00:00 2001 From: CraftBot Date: Mon, 15 Jun 2026 21:12:42 +0900 Subject: [PATCH 13/24] fix skills not detect when import issue --- agent_core/core/impl/skill/loader.py | 56 ++++++++------ .../src/pages/Settings/GeneralSettings.tsx | 2 +- app/ui_layer/settings/profile_bundle.py | 77 ++++++++++++------- 3 files changed, 84 insertions(+), 51 deletions(-) diff --git a/agent_core/core/impl/skill/loader.py b/agent_core/core/impl/skill/loader.py index d916391d..894ba0c7 100644 --- a/agent_core/core/impl/skill/loader.py +++ b/agent_core/core/impl/skill/loader.py @@ -90,37 +90,29 @@ def parse_skill_file(skill_path: Path) -> Skill: content = skill_path.read_text(encoding="utf-8") - # Parse frontmatter and instructions + # Frontmatter is optional. Files without a `---` block (hand-written + # skills, imported skills from agent bundles) load with metadata + # derived from the folder name + first body paragraph. match = SkillLoader.FRONTMATTER_PATTERN.match(content) + if match: + frontmatter_str = match.group(1) + instructions = match.group(2).strip() + try: + frontmatter = yaml.safe_load(frontmatter_str) + if not isinstance(frontmatter, dict): + raise ValueError("Frontmatter must be a YAML dictionary") + except yaml.YAMLError as e: + raise ValueError(f"Invalid YAML frontmatter: {e}") + else: + frontmatter = {} + instructions = content.strip() - if not match: - raise ValueError( - f"Invalid SKILL.md format (missing frontmatter): {skill_path}" - ) - - frontmatter_str = match.group(1) - instructions = match.group(2).strip() - - # Parse YAML frontmatter - try: - frontmatter = yaml.safe_load(frontmatter_str) - if not isinstance(frontmatter, dict): - raise ValueError("Frontmatter must be a YAML dictionary") - except yaml.YAMLError as e: - raise ValueError(f"Invalid YAML frontmatter: {e}") - - # Validate required fields if "name" not in frontmatter: - # Try to infer name from directory frontmatter["name"] = skill_path.parent.name if "description" not in frontmatter: - # Try to extract description from first paragraph - first_para = instructions.split("\n\n")[0] if instructions else "" - # Remove markdown headers - first_para = re.sub(r"^#+\s+.*\n", "", first_para).strip() frontmatter["description"] = ( - first_para[:200] if first_para else "No description" + SkillLoader._derive_description(instructions) or "No description" ) # Create metadata @@ -135,6 +127,22 @@ def parse_skill_file(skill_path: Path) -> Skill: enabled=True, ) + @staticmethod + def _derive_description(instructions: str) -> str: + """Pick a description out of the body when frontmatter doesn't supply one. + + Walks paragraphs, strips leading markdown headings and blockquote + markers, and returns the first non-empty result (capped at 200 chars). + Matches the convention used by the agent_bundle SKILL.md files, where + the first non-heading paragraph is a `> tagline` blockquote. + """ + for para in instructions.split("\n\n"): + para = re.sub(r"^#+\s+[^\n]*\n?", "", para.strip()).strip() + para = re.sub(r"^>\s?", "", para, flags=re.MULTILINE).strip() + if para: + return para[:200] + return "" + @staticmethod def substitute_variables(instructions: str, arguments: str) -> str: """ diff --git a/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx b/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx index 625f3579..e1ec8c20 100644 --- a/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx +++ b/app/ui_layer/browser/frontend/src/pages/Settings/GeneralSettings.tsx @@ -670,7 +670,7 @@ export function GeneralSettings() { setProfileStatus({ type: 'success', - message: `${verb} ${what}. Restart the agent to apply changes.`, + message: `${verb} ${what}.`, }) setShowImportModal(false) setImportManifest(null) diff --git a/app/ui_layer/settings/profile_bundle.py b/app/ui_layer/settings/profile_bundle.py index a0cb8e95..45600421 100644 --- a/app/ui_layer/settings/profile_bundle.py +++ b/app/ui_layer/settings/profile_bundle.py @@ -448,6 +448,7 @@ def inspect_bundle(bundle_path: str) -> Dict[str, Any]: class ImportSummary: skills_added: List[str] skills_skipped: List[str] + skills_missing: List[str] mcp_added: List[str] mcp_skipped: List[str] mcp_needs_env: List[Dict[str, Any]] @@ -489,16 +490,29 @@ def _apply_md_files(src_profile: Path, mode: str) -> List[str]: def _apply_skills( src_skills_dir: Path, mode: str -) -> Tuple[List[str], List[str]]: +) -> Tuple[List[str], List[str], List[str]]: """Install skill folders and update skills_config.json. ``replace`` — bundle overwrites local on name collision; new skills added. ``overwrite`` — every existing skill folder under SKILLS_DIR is deleted, then the bundle's skills are installed and become the entire skill set (no disabled defaults left over). + + Bundles produced by agent_bundle/build.py list every skill the agent uses + in ``enabled.json`` but only ship folders for the "bundled" ones — the + "default" skills are assumed to already exist on the recipient's install. + We split bundle_enabled into three buckets accordingly: + + - ``added``: bundle shipped a folder; copied to disk and enabled. + - ``already_present``: no folder in bundle, but recipient already has it + locally; enabled (replace mode only — overwrite mode wipes local first + so this bucket is always empty there). + - ``missing``: bundle expected the recipient to already have it but they + don't; NOT enabled (would leave a ghost entry pointing at no folder). """ added: List[str] = [] - skipped: List[str] = [] + already_present: List[str] = [] + missing: List[str] = [] enabled_list_path = src_skills_dir / "enabled.json" bundle_enabled = _load_json(enabled_list_path, {}).get("enabled_skills", []) @@ -513,49 +527,57 @@ def _apply_skills( for skill_name in bundle_enabled: src = src_skills_dir / skill_name + dst = SKILLS_DIR / skill_name if not src.is_dir(): + # Bundle didn't include a folder for this one — it's a "default" + # skill the recipient is expected to have. Keep it enabled only if + # the folder actually exists locally; otherwise drop it so the + # enabled list never contains ghost entries. + if dst.is_dir(): + already_present.append(skill_name) + else: + missing.append(skill_name) + logger.warning( + f"[PROFILE_BUNDLE] Bundle expected default skill " + f"'{skill_name}' but no folder exists locally; skipping." + ) continue - dst = SKILLS_DIR / skill_name if dst.exists(): - if mode == "replace": - shutil.rmtree(dst, ignore_errors=True) - _copy_dir_filtered(src, dst) - added.append(skill_name) - else: - skipped.append(skill_name) - else: - _copy_dir_filtered(src, dst) - added.append(skill_name) + shutil.rmtree(dst, ignore_errors=True) + _copy_dir_filtered(src, dst) + added.append(skill_name) + + installed_now = added + already_present if mode == "overwrite": - # Authoritative config: bundle's enabled list IS the skill state. + # Authoritative config: bundle's enabled list IS the skill state, but + # filtered to entries that physically exist on disk after the copy. config = { "auto_load": True, - "enabled_skills": list(bundle_enabled), + "enabled_skills": installed_now, "disabled_skills": [], } else: - # Additive: only flip skills the bundle landed into the enabled list, - # never disable anything the user already had. + # Additive: enable everything the bundle wanted that we can back with + # a real folder, but never disable anything the user already had. config = _load_json( SKILLS_CONFIG_PATH, {"auto_load": True, "enabled_skills": [], "disabled_skills": []}, ) enabled_set = list(config.get("enabled_skills", [])) disabled_set = list(config.get("disabled_skills", [])) - for skill_name in bundle_enabled: - if skill_name in added: - if skill_name not in enabled_set: - enabled_set.append(skill_name) - if skill_name in disabled_set: - disabled_set.remove(skill_name) + for skill_name in installed_now: + if skill_name not in enabled_set: + enabled_set.append(skill_name) + if skill_name in disabled_set: + disabled_set.remove(skill_name) config["enabled_skills"] = enabled_set config["disabled_skills"] = disabled_set SKILLS_CONFIG_PATH.write_text( json.dumps(config, indent=2, ensure_ascii=False), encoding="utf-8" ) - return added, skipped + return added, already_present, missing def _apply_mcp( @@ -907,7 +929,9 @@ def import_profile( bundle_name = manifest.get("name") or "imported profile" md_applied = _apply_md_files(work_dir / "profile", mode) - skills_added, skills_skipped = _apply_skills(work_dir / "skills", mode) + skills_added, skills_already_present, skills_missing = _apply_skills( + work_dir / "skills", mode + ) mcp_added, mcp_skipped, mcp_needs_env = _apply_mcp(work_dir / "mcp", mode) living_added, living_renamed = _apply_living_ui( work_dir / "living_ui", mode, manager=living_ui_manager @@ -918,7 +942,8 @@ def import_profile( summary = ImportSummary( skills_added=skills_added, - skills_skipped=skills_skipped, + skills_skipped=skills_already_present, + skills_missing=skills_missing, mcp_added=mcp_added, mcp_skipped=mcp_skipped, mcp_needs_env=mcp_needs_env, @@ -931,7 +956,7 @@ def import_profile( "mode": mode, "bundle_name": bundle_name, "summary": summary.to_dict(), - "restart_required": True, + "restart_required": False, } except (ValueError, json.JSONDecodeError) as exc: return {"success": False, "error": str(exc)} From a9f03b8067610f8dc903739f15de8bcbbb28d4a3 Mon Sep 17 00:00:00 2001 From: CraftBot Date: Tue, 16 Jun 2026 09:36:35 +0900 Subject: [PATCH 14/24] fix merging error in V1.3.3 --- .../src/components/ui/StatusIndicator.module.css | 2 +- .../pages/Onboarding/OnboardingPage.module.css | 15 ++++++++++++--- .../src/pages/Onboarding/OnboardingPage.tsx | 2 +- .../src/pages/Settings/IntegrationsSettings.tsx | 5 +++++ 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/ui_layer/browser/frontend/src/components/ui/StatusIndicator.module.css b/app/ui_layer/browser/frontend/src/components/ui/StatusIndicator.module.css index 5d4f42d6..e0d47ad9 100644 --- a/app/ui_layer/browser/frontend/src/components/ui/StatusIndicator.module.css +++ b/app/ui_layer/browser/frontend/src/components/ui/StatusIndicator.module.css @@ -16,7 +16,7 @@ .running, .thinking, .working { - color: var(--text-primary); + color: var(--color-primary); } .completed { diff --git a/app/ui_layer/browser/frontend/src/pages/Onboarding/OnboardingPage.module.css b/app/ui_layer/browser/frontend/src/pages/Onboarding/OnboardingPage.module.css index b9a42334..8cfcfa12 100644 --- a/app/ui_layer/browser/frontend/src/pages/Onboarding/OnboardingPage.module.css +++ b/app/ui_layer/browser/frontend/src/pages/Onboarding/OnboardingPage.module.css @@ -42,8 +42,8 @@ } .stepDot.active { - background: var(--text-primary); - border-color: var(--text-primary); + background: #FF4F18; + border-color: #FF4F18; color: var(--color-white); } @@ -82,7 +82,7 @@ } .stepConnector.active { - background: var(--text-primary); + background: #FF4F18; } /* Main Content */ @@ -159,6 +159,15 @@ overflow: visible; } +/* The embedded panel's root (.settingsSection) ships with a 600px max-width + and auto margins for the Settings page. Inside the onboarding card those + constraints leave dead space on the right, so we let it fill the card. + Scoped to .integrationsPanel — the Settings page is untouched. */ +.integrationsPanel :global([class*="settingsSection"]) { + max-width: none; + margin: 0; +} + /* Scrollbar styling */ .optionsList::-webkit-scrollbar, .integrationsPanel::-webkit-scrollbar { diff --git a/app/ui_layer/browser/frontend/src/pages/Onboarding/OnboardingPage.tsx b/app/ui_layer/browser/frontend/src/pages/Onboarding/OnboardingPage.tsx index a6c14840..dfb211c8 100644 --- a/app/ui_layer/browser/frontend/src/pages/Onboarding/OnboardingPage.tsx +++ b/app/ui_layer/browser/frontend/src/pages/Onboarding/OnboardingPage.tsx @@ -591,7 +591,7 @@ export function OnboardingPage() { if (isIntegrationsStep) { return (
    - +
    ) } diff --git a/app/ui_layer/browser/frontend/src/pages/Settings/IntegrationsSettings.tsx b/app/ui_layer/browser/frontend/src/pages/Settings/IntegrationsSettings.tsx index 2d0906c3..9a96e337 100644 --- a/app/ui_layer/browser/frontend/src/pages/Settings/IntegrationsSettings.tsx +++ b/app/ui_layer/browser/frontend/src/pages/Settings/IntegrationsSettings.tsx @@ -177,6 +177,11 @@ const IntegrationIcon = ({ id, icon, size = 20 }: { id: string; icon?: string; s ), + stripe: ( + + + + ), recall: ( From 2f8f621d2422dd91f5a112180d781e05fce4352f Mon Sep 17 00:00:00 2001 From: CraftBot Date: Wed, 17 Jun 2026 09:15:54 +0900 Subject: [PATCH 15/24] warning no longer injected into event stream when token limit close to 80 percent --- app/agent_base.py | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/app/agent_base.py b/app/agent_base.py index acd657b3..4c3183f8 100644 --- a/app/agent_base.py +++ b/app/agent_base.py @@ -1617,18 +1617,6 @@ async def _check_agent_limits(self) -> bool: await self._send_limit_choice_message("action", current_task_id) await self._pause_task_for_limit_choice(current_task_id) return False - elif (action_count / max_actions) >= 0.8: - if self.event_stream_manager: - self.event_stream_manager.log( - "warning", - f"Action limit nearing: 80% of the maximum actions ({max_actions} actions) has been used. " - "Consider wrapping up the task or informing the user that the task may be too complex. " - "If necessary, mark the task as aborted to prevent premature termination.", - display_message=None, - task_id=current_task_id, - ) - self.state_manager.bump_event_stream() - return True # Check token limits if (token_count / max_tokens) >= 1.0: @@ -1643,20 +1631,8 @@ async def _check_agent_limits(self) -> bool: await self._send_limit_choice_message("token", current_task_id) await self._pause_task_for_limit_choice(current_task_id) return False - elif (token_count / max_tokens) >= 0.8: - if self.event_stream_manager: - self.event_stream_manager.log( - "warning", - f"Token limit nearing: 80% of the maximum tokens ({max_tokens} tokens) has been used. " - "Consider wrapping up the task or informing the user that the task may be too complex. " - "If necessary, mark the task as aborted to prevent premature termination.", - display_message=None, - task_id=current_task_id, - ) - self.state_manager.bump_event_stream() - return True - # No limits close or reached + # No limits reached return True async def _send_limit_choice_message( From 91d523d7376c21e134c43c68fd5ede596536ffb0 Mon Sep 17 00:00:00 2001 From: Tobias Garcia <145974358+makiroll1125@users.noreply.github.com> Date: Wed, 17 Jun 2026 16:21:26 +0900 Subject: [PATCH 16/24] Fix / Upload Limit (#327) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix: Increase upload limit to 200MB, add upload progress bar, and add error message for failed uploads * Fix: Increase download limit and fix error message UI * Fix: UI for upload bar progress and Chat upload progress * Fix: Error message for file/folder creation error --------- Co-authored-by: はる <165422770+ahmad-ajmal@users.noreply.github.com> --- app/ui_layer/adapters/browser_adapter.py | 172 ++++++++++++++++-- .../src/components/Chat/Chat.module.css | 11 ++ .../frontend/src/components/Chat/Chat.tsx | 100 ++++++++-- .../src/contexts/WebSocketContext.tsx | 8 +- .../src/contexts/WorkspaceContext.tsx | 62 ++++--- .../pages/Workspace/WorkspacePage.module.css | 54 ++++++ .../src/pages/Workspace/WorkspacePage.tsx | 66 +++++-- 7 files changed, 400 insertions(+), 73 deletions(-) diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 63b83330..c9b1218e 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -1151,6 +1151,12 @@ async def _on_start(self) -> None: "/api/living-ui/import", self._living_ui_import_handler ) + # Workspace and chat HTTP upload routes + self._app.router.add_post( + "/api/workspace/upload", self._workspace_upload_handler + ) + self._app.router.add_post( + "/api/chat-attachments/upload", self._chat_attachment_upload_handler # Agent profile bundle import/export routes self._app.router.add_get( "/api/profile/export", self._profile_export_handler @@ -2941,6 +2947,125 @@ async def _living_ui_import_handler(self, request: "web.Request") -> "web.Respon logger.error(f"[LIVING_UI] Upload staging error: {e}") return web.json_response({"error": str(e)}, status=500) + async def _workspace_upload_handler(self, request: "web.Request") -> "web.Response": + """HTTP handler: stream-upload a file directly into the workspace. + + Accepts multipart/form-data with a single 'file' field. + The target path is passed as the 'path' query parameter. + """ + from aiohttp import web + + try: + file_path = request.rel_url.query.get("path", "").strip() + if not file_path: + return web.json_response( + {"success": False, "error": "Missing 'path' query parameter"}, + status=400, + ) + + target = self._validate_path(file_path) + target.parent.mkdir(parents=True, exist_ok=True) + + reader = await request.multipart() + written = False + async for part in reader: + if part.name == "file": + with open(target, "wb") as f: + while True: + chunk = await part.read_chunk() + if not chunk: + break + f.write(chunk) + written = True + break + + if not written: + return web.json_response( + {"success": False, "error": "No file field in request"}, + status=400, + ) + + file_info = self._get_file_info(target) + + await self._broadcast( + { + "type": "file_upload", + "data": { + "path": file_path, + "fileInfo": file_info, + "success": True, + }, + } + ) + + return web.json_response( + {"success": True, "path": file_path, "fileInfo": file_info} + ) + except ValueError as e: + return web.json_response({"success": False, "error": str(e)}, status=400) + except Exception as e: + logger.error(f"[WORKSPACE] Upload error: {e}") + return web.json_response({"success": False, "error": str(e)}, status=500) + + async def _chat_attachment_upload_handler( + self, request: "web.Request" + ) -> "web.Response": + """HTTP handler: stream-upload a chat attachment into workspace/download/. + + Accepts multipart/form-data with a single 'file' field. + Pass 'name' and 'type' as query parameters. + """ + import uuid + from aiohttp import web + + try: + name = request.rel_url.query.get("name", "attachment").strip() or "attachment" + file_type = ( + request.rel_url.query.get("type", "application/octet-stream").strip() + or "application/octet-stream" + ) + + download_dir = Path(AGENT_WORKSPACE_ROOT) / "download" + download_dir.mkdir(parents=True, exist_ok=True) + + unique_name = f"{uuid.uuid4().hex[:8]}_{name}" + file_path = download_dir / unique_name + relative_path = f"download/{unique_name}" + + reader = await request.multipart() + size = 0 + written = False + async for part in reader: + if part.name == "file": + with open(file_path, "wb") as f: + while True: + chunk = await part.read_chunk() + if not chunk: + break + f.write(chunk) + size += len(chunk) + written = True + break + + if not written: + return web.json_response( + {"success": False, "error": "No file field in request"}, + status=400, + ) + + return web.json_response( + { + "success": True, + "serverPath": relative_path, + "url": f"/api/workspace/{relative_path}", + "name": name, + "size": size, + "type": file_type, + } + ) + except Exception as e: + logger.error(f"[CHAT ATTACHMENT] Upload error: {e}") + return web.json_response({"success": False, "error": str(e)}, status=500) # ───────────────────────────────────────────────────────────────────── # Agent profile bundle (.craftbot) — export / inspect / import # ───────────────────────────────────────────────────────────────────── @@ -7582,8 +7707,10 @@ async def _handle_chat_message_with_attachments( unique_name = f"{uuid.uuid4().hex[:8]}_{name}" file_path = download_dir / unique_name relative_path = f"download/{unique_name}" + server_path = att.get("serverPath", "") - # Save file to workspace + # Save file to workspace (base64 inline) or reference a + # file that was already uploaded via HTTP pre-upload. if content_b64: try: file_content = base64.b64decode(content_b64) @@ -7594,6 +7721,20 @@ async def _handle_chat_message_with_attachments( f"[BROWSER ADAPTER] Error saving attachment {name}: {e}" ) continue + elif server_path: + # File was pre-uploaded via HTTP; it already lives in + # workspace/download/ — use its existing path directly. + pre_uploaded = Path(AGENT_WORKSPACE_ROOT) / server_path + if not pre_uploaded.exists(): + print( + f"[BROWSER ADAPTER] Pre-uploaded file missing: {server_path}" + ) + continue + relative_path = server_path + file_path = pre_uploaded + size = file_path.stat().st_size + else: + continue # Create attachment object attachment = Attachment( @@ -8269,9 +8410,16 @@ async def _agent_profile_picture_handler( raise web.HTTPInternalServerError(reason=str(e)) async def _workspace_file_handler(self, request: "web.Request") -> "web.Response": - """Serve files from the workspace directory.""" + """Serve files from the workspace directory. + + Pass ?download=1 to force Content-Disposition: attachment (triggers a + browser Save-As dialog). Omitting the param keeps 'inline' so chat + attachment previews continue to work as before. + + Uses web.FileResponse for true streaming — no full-file read into RAM — + which supports arbitrarily large files and HTTP Range requests. + """ from aiohttp import web - import mimetypes try: file_path = request.match_info.get("path", "") @@ -8279,7 +8427,6 @@ async def _workspace_file_handler(self, request: "web.Request") -> "web.Response if not file_path: raise web.HTTPNotFound() - # Validate and get absolute path target = self._validate_path(file_path) if not target.exists(): @@ -8288,19 +8435,14 @@ async def _workspace_file_handler(self, request: "web.Request") -> "web.Response if target.is_dir(): raise web.HTTPBadRequest(reason="Cannot serve directory") - # Determine content type - mime_type, _ = mimetypes.guess_type(target.name) - if mime_type is None: - mime_type = "application/octet-stream" - - # Read and serve file - content = target.read_bytes() + disposition = ( + "attachment" if request.rel_url.query.get("download") else "inline" + ) - return web.Response( - body=content, - content_type=mime_type, + return web.FileResponse( + target, headers={ - "Content-Disposition": f'inline; filename="{target.name}"', + "Content-Disposition": f'{disposition}; filename="{target.name}"', "Cache-Control": "no-cache", }, ) diff --git a/app/ui_layer/browser/frontend/src/components/Chat/Chat.module.css b/app/ui_layer/browser/frontend/src/components/Chat/Chat.module.css index e1e5eb0b..b6550918 100644 --- a/app/ui_layer/browser/frontend/src/components/Chat/Chat.module.css +++ b/app/ui_layer/browser/frontend/src/components/Chat/Chat.module.css @@ -220,6 +220,17 @@ flex-shrink: 0; } +.uploadingSpinner { + flex-shrink: 0; + color: var(--color-primary); + animation: spin 1s linear infinite; +} + +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + .pendingFileName { max-width: 120px; overflow: hidden; diff --git a/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx b/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx index 55551f9c..3780f357 100644 --- a/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx +++ b/app/ui_layer/browser/frontend/src/components/Chat/Chat.tsx @@ -17,7 +17,10 @@ interface PendingAttachment { name: string type: string size: number - content: string // base64 + content: string // base64 for small files; '' when serverPath is set + serverPath?: string // set after HTTP pre-upload for large files + url?: string // server URL returned with serverPath (for preview) + uploadStatus?: 'uploading' | 'ready' | 'error' } interface ChatProps { @@ -47,7 +50,8 @@ const MIC_LANGUAGES = [ // Attachment limits const MAX_ATTACHMENT_COUNT = 10 -const MAX_TOTAL_SIZE_BYTES = 70 * 1024 * 1024 // 70MB +const MAX_TOTAL_SIZE_BYTES = 200 * 1024 * 1024 // 200MB hard cap +const HTTP_UPLOAD_THRESHOLD = 50 * 1024 * 1024 // >50MB → HTTP pre-upload const formatFileSize = (bytes: number): string => { if (bytes === 0) return '0 B' @@ -164,7 +168,7 @@ export function Chat({ livingUIId, placeholder, emptyMessage }: ChatProps) { return { valid: false, error: `Maximum ${MAX_ATTACHMENT_COUNT} files allowed. You have ${count} files.` } } if (totalSize > MAX_TOTAL_SIZE_BYTES) { - return { valid: false, error: `Total size (${formatFileSize(totalSize)}) exceeds 70MB limit.` } + return { valid: false, error: `Total size (${formatFileSize(totalSize)}) exceeds 200 MB limit.` } } return { valid: true, error: null } }, [pendingAttachments]) @@ -483,6 +487,45 @@ export function Chat({ livingUIId, placeholder, emptyMessage }: ChatProps) { fileInputRef.current?.click() } + const uploadChatAttachment = (file: globalThis.File, placeholder: PendingAttachment) => { + const formData = new FormData() + formData.append('file', file) + + const xhr = new XMLHttpRequest() + + xhr.onload = () => { + if (xhr.status >= 200 && xhr.status < 300) { + try { + const data = JSON.parse(xhr.responseText) + if (data.success) { + setPendingAttachments(prev => prev.map(a => + a === placeholder + ? { ...a, serverPath: data.serverPath, url: data.url, uploadStatus: 'ready' as const } + : a + )) + return + } + } catch {} + } + setPendingAttachments(prev => prev.map(a => + a === placeholder ? { ...a, uploadStatus: 'error' as const } : a + )) + setAttachmentError(`Failed to upload "${file.name}".`) + } + + xhr.onerror = () => { + setPendingAttachments(prev => prev.map(a => + a === placeholder ? { ...a, uploadStatus: 'error' as const } : a + )) + setAttachmentError(`Failed to upload "${file.name}": network error.`) + } + + const name = encodeURIComponent(file.name) + const type = encodeURIComponent(file.type || 'application/octet-stream') + xhr.open('POST', `/api/chat-attachments/upload?name=${name}&type=${type}`) + xhr.send(formData) + } + const processFiles = async (files: globalThis.File[]) => { if (files.length === 0) return @@ -492,30 +535,51 @@ export function Chat({ livingUIId, placeholder, emptyMessage }: ChatProps) { return } - const newAttachments: PendingAttachment[] = [] let newTotalSize = pendingAttachments.reduce((sum, att) => sum + att.size, 0) + // Validate sizes first before doing any I/O for (const file of files) { if (file.size > MAX_TOTAL_SIZE_BYTES) { - setAttachmentError(`File "${file.name}" (${formatFileSize(file.size)}) exceeds the 70MB limit.`) + setAttachmentError(`File "${file.name}" (${formatFileSize(file.size)}) exceeds the 200 MB limit.`) return } if (newTotalSize + file.size > MAX_TOTAL_SIZE_BYTES) { - setAttachmentError(`Adding "${file.name}" would exceed the 70MB total size limit.`) - return - } - try { - const content = await readFileAsBase64(file) - newAttachments.push({ name: file.name, type: file.type || 'application/octet-stream', size: file.size, content }) - newTotalSize += file.size - } catch { - setAttachmentError(`Failed to read file "${file.name}".`) + setAttachmentError(`Adding "${file.name}" would exceed the 200 MB total size limit.`) return } + newTotalSize += file.size } setAttachmentError(null) - setPendingAttachments(prev => [...prev, ...newAttachments]) + + for (const file of files) { + if (file.size <= HTTP_UPLOAD_THRESHOLD) { + // Small file: read to base64 inline + try { + const content = await readFileAsBase64(file) + setPendingAttachments(prev => [...prev, { + name: file.name, + type: file.type || 'application/octet-stream', + size: file.size, + content, + }]) + } catch { + setAttachmentError(`Failed to read file "${file.name}".`) + return + } + } else { + // Large file: HTTP pre-upload so it never gets base64-encoded in memory + const placeholder: PendingAttachment = { + name: file.name, + type: file.type || 'application/octet-stream', + size: file.size, + content: '', + uploadStatus: 'uploading', + } + setPendingAttachments(prev => [...prev, placeholder]) + uploadChatAttachment(file, placeholder) + } + } } const handleFileSelect = async (e: ChangeEvent) => { @@ -738,9 +802,11 @@ export function Chat({ livingUIId, placeholder, emptyMessage }: ChatProps) { onClick={() => openPreview(att)} title="Click to preview" > - {att.type.startsWith('image/') ? ( + {att.uploadStatus === 'uploading' ? ( + + ) : att.type.startsWith('image/') ? ( {att.name} diff --git a/app/ui_layer/browser/frontend/src/contexts/WebSocketContext.tsx b/app/ui_layer/browser/frontend/src/contexts/WebSocketContext.tsx index a5fb608b..e58cee35 100644 --- a/app/ui_layer/browser/frontend/src/contexts/WebSocketContext.tsx +++ b/app/ui_layer/browser/frontend/src/contexts/WebSocketContext.tsx @@ -97,7 +97,8 @@ interface PendingAttachment { name: string type: string size: number - content: string // base64 + content: string // base64 for small files; '' when serverPath is set + serverPath?: string // pre-uploaded via HTTP (large files) } // Reply target for reply-to-chat/task feature @@ -405,7 +406,10 @@ export function WebSocketProvider({ children }: { children: ReactNode }) { sendOrQueue(JSON.stringify({ type: 'message', content, - attachments: attachments || [], + attachments: (attachments || []).map(att => att.serverPath + ? { name: att.name, type: att.type, size: att.size, serverPath: att.serverPath } + : { name: att.name, type: att.type, size: att.size, content: att.content } + ), replyContext: replyContext || null, livingUIId: livingUIId || null, clientId, diff --git a/app/ui_layer/browser/frontend/src/contexts/WorkspaceContext.tsx b/app/ui_layer/browser/frontend/src/contexts/WorkspaceContext.tsx index bc8c5384..de91fb64 100644 --- a/app/ui_layer/browser/frontend/src/contexts/WorkspaceContext.tsx +++ b/app/ui_layer/browser/frontend/src/contexts/WorkspaceContext.tsx @@ -11,7 +11,6 @@ import type { FileMoveResponse, FileCopyResponse, FileUploadResponse, - FileDownloadResponse, WSMessage, } from '../types' import { getSocketClient } from '../store/socket/socketInstance' @@ -85,7 +84,7 @@ interface WorkspaceContextType { batchDelete: (paths: string[]) => Promise moveFile: (srcPath: string, destPath: string) => Promise copyFile: (srcPath: string, destPath: string) => Promise - uploadFile: (path: string, file: File) => Promise + uploadFile: (path: string, file: File, onProgress?: (percent: number) => void) => Promise downloadFile: (path: string) => Promise } @@ -243,41 +242,52 @@ export function WorkspaceProvider({ children }: { children: ReactNode }) { sendOperation('file_copy', { srcPath, destPath }, 'file_copy'), [sendOperation]) - const uploadFile = useCallback(async (path: string, file: File): Promise => { + const uploadFile = useCallback(async ( + path: string, + file: File, + onProgress?: (percent: number) => void, + ): Promise => { return new Promise((resolve, reject) => { - const reader = new FileReader() - reader.onload = async () => { + const formData = new FormData() + formData.append('file', file) + + const xhr = new XMLHttpRequest() + + if (onProgress) { + xhr.upload.onprogress = (e) => { + if (e.lengthComputable) onProgress(Math.round((e.loaded / e.total) * 100)) + } + } + + xhr.onload = () => { try { - const base64 = (reader.result as string).split(',')[1] - const response = await sendOperation( - 'file_upload', { path, content: base64 }, 'file_upload', - ) - resolve(response) - } catch (e) { - reject(e) + const data = JSON.parse(xhr.responseText) as FileUploadResponse + if (xhr.status >= 200 && xhr.status < 300 && data.success) { + resolve(data) + } else { + reject(new Error((data as { error?: string }).error ?? `Upload failed (HTTP ${xhr.status})`)) + } + } catch { + reject(new Error(`Upload failed (HTTP ${xhr.status})`)) } } - reader.onerror = () => reject(new Error('Failed to read file')) - reader.readAsDataURL(file) + xhr.onerror = () => reject(new Error('Network error during upload')) + xhr.onabort = () => reject(new Error('Upload cancelled')) + + xhr.open('POST', `/api/workspace/upload?path=${encodeURIComponent(path)}`) + xhr.send(formData) }) - }, [sendOperation]) + }, []) const downloadFile = useCallback(async (path: string): Promise => { try { - const response = await sendOperation( - 'file_download', { path }, 'file_download', - ) - if (response.success && response.content) { - const byteString = atob(response.content) - const bytes = new Uint8Array(byteString.length) - for (let i = 0; i < byteString.length; i++) bytes[i] = byteString.charCodeAt(i) - return new Blob([bytes]) - } - return null + const response = await fetch(`/api/workspace/${path}?download=1`) + if (!response.ok) return null + return await response.blob() } catch { return null } - }, [sendOperation]) + }, []) // ───────────────────────────────────────────────────────────────────── // Effects diff --git a/app/ui_layer/browser/frontend/src/pages/Workspace/WorkspacePage.module.css b/app/ui_layer/browser/frontend/src/pages/Workspace/WorkspacePage.module.css index a33e6079..ff0d312d 100644 --- a/app/ui_layer/browser/frontend/src/pages/Workspace/WorkspacePage.module.css +++ b/app/ui_layer/browser/frontend/src/pages/Workspace/WorkspacePage.module.css @@ -650,6 +650,60 @@ display: none; } +/* ───────────────────────────────────────────────────────────────────── + Upload Progress + ───────────────────────────────────────────────────────────────────── */ + +.uploadProgressSection { + display: flex; + flex-direction: column; + gap: var(--space-1); + padding: var(--space-2) var(--space-4); + background: var(--bg-secondary); + border-bottom: 1px solid var(--border-color); +} + +.uploadProgressItem { + display: flex; + align-items: center; + gap: var(--space-2); + min-height: 20px; +} + +.uploadFileName { + flex: 0 0 120px; + font-size: var(--text-xs); + color: var(--text-secondary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + min-width: 0; +} + +.uploadProgressTrack { + flex: 1; + height: 4px; + background: var(--border-color); + border-radius: 2px; + overflow: hidden; + min-width: 60px; +} + +.uploadProgressFill { + height: 100%; + background: var(--color-primary); + border-radius: 2px; + transition: width 0.15s ease; +} + +.uploadProgressPct { + width: 34px; + text-align: right; + font-size: var(--text-xs); + color: var(--text-muted); + flex-shrink: 0; +} + /* ───────────────────────────────────────────────────────────────────── Responsive ───────────────────────────────────────────────────────────────────── */ diff --git a/app/ui_layer/browser/frontend/src/pages/Workspace/WorkspacePage.tsx b/app/ui_layer/browser/frontend/src/pages/Workspace/WorkspacePage.tsx index addecc64..543ab695 100644 --- a/app/ui_layer/browser/frontend/src/pages/Workspace/WorkspacePage.tsx +++ b/app/ui_layer/browser/frontend/src/pages/Workspace/WorkspacePage.tsx @@ -127,6 +127,9 @@ export function WorkspacePage() { const [selectedFiles, setSelectedFiles] = useState>(new Set()) const [lastSelectedIndex, setLastSelectedIndex] = useState(-1) + // Upload progress: filename → 0–100 + const [uploadProgress, setUploadProgress] = useState>({}) + // UI state const [contextMenu, setContextMenu] = useState<{ x: number; y: number; file: FileItem } | null>(null) const [emptySpaceMenu, setEmptySpaceMenu] = useState<{ x: number; y: number } | null>(null) @@ -320,8 +323,10 @@ export function WorkspacePage() { if (result.success) { setShowCreateDialog(null) setCreateName('') + } else { + showToast('error', result.error ?? `Failed to create ${showCreateDialog}`) } - }, [createName, showCreateDialog, currentDirectory, createFile]) + }, [createName, showCreateDialog, currentDirectory, createFile, showToast]) const handleRenameSubmit = useCallback(async () => { if (!editingFile || !editName.trim()) return @@ -333,8 +338,10 @@ export function WorkspacePage() { setEditingFile(null) setEditName('') setEditExt('') + } else { + showToast('error', result.error ?? 'Failed to rename') } - }, [editingFile, editName, editExt, renameFile]) + }, [editingFile, editName, editExt, renameFile, showToast]) const handleDelete = useCallback((paths: string[]) => { if (paths.length === 0) return @@ -438,12 +445,30 @@ export function WorkspacePage() { }, [clipboard, currentDirectory, copyFile, moveFile, refresh, listDirectory]) const handleUpload = useCallback(async (uploadFiles: FileList) => { + const MAX_UPLOAD_BYTES = 200 * 1024 * 1024 for (const file of Array.from(uploadFiles)) { + if (file.size > MAX_UPLOAD_BYTES) { + showToast('error', `"${file.name}" (${formatFileSize(file.size)}) exceeds the 200 MB upload limit`) + continue + } const path = currentDirectory ? `${currentDirectory}/${file.name}` : file.name - await uploadFile(path, file) + setUploadProgress(prev => ({ ...prev, [file.name]: 0 })) + try { + await uploadFile(path, file, (pct) => + setUploadProgress(prev => ({ ...prev, [file.name]: pct })) + ) + } catch (e) { + showToast('error', `Failed to upload "${file.name}": ${(e as Error).message}`) + } finally { + setUploadProgress(prev => { + const next = { ...prev } + delete next[file.name] + return next + }) + } } await refresh() - }, [currentDirectory, uploadFile, refresh]) + }, [currentDirectory, uploadFile, refresh, showToast]) const handleDownload = useCallback(async (path: string, fileName: string) => { const blob = await downloadFile(path) @@ -869,6 +894,15 @@ export function WorkspacePage() { Download )} + -

    KcKbE2U5yvh2<@INNI+OeF}>1& zXuy;b6rz!6JKJqH5$mPQK%>ZGHn>YDZD8xmq;_c5^UiC})JVyd4GwPfD0 zE47yE4~0n9Kx#7SSUD=2U7u+a2go*T?HOy!_fHK6CA*N9)V6-agykIW6zJEDv_$#i33W zC#oZ1k;k(OmPo}OVgkr1onD^4Y<=|CzVu}CSS?e{Q~kc5yZEICFbt_ZQjM&_PqIJ= zNi?3>sdn7ZPah^rM73}e=RBpmb{||tz*@1?kq&@}Qy%g#Bt!xzrL@elp@HIGK z;ZStUs1oxR@`Az~n5bIwYpP=IBuk$;!?LO zX(|Pw{^l?Ll8<`TtIjUYQc5UK8z;bu#7Q7UH)RCTYFM2=`DZ%|NBqQ zE_TmbYYT>oDZaYL$n~o1(Sm?P|4MPlvHmODYviiOpRyASxH#E)Yi$f-y7! zAOIl|KotXz0S`(mNf)YU{CNwC{Ncd)+3pbd4a7D)%6=Yynu`(7V>e2;8W~=zs&}@e z7!ms2aL&ouqhXrzH#Fe(fJVJw3f~Jke&<6gCX|lN$G=IrfCbKdw#Lrhv} zoPtgY;@XTk-Bet63j*njJeJfNefHd$+sw;!zAcV3vm5QM8MMD8rl+SN&5Xj%)$}gd zj$E0X0aRTG9ikT-m{R(f&^bd}4MzXfYzq<7k`rw|RBchG>9ZxyZ@00!1AzscUZe~_ zb;8Z@NqN`)UEej}v>u?skZ6QhCys)@8u@iyg8DyUL~{hzPB(Xi7oM&*5q zK7ll{nMTMJgX~aMt>_97(@aSKmUNT|d>H0^fZtFP^jc74P*0{E^jmRi)*XJ?lv*_C zXJ<3iaH7%S1_~DlbzLuu-XaDho?<{Td`>`%-{y85w*>(N5)#5@Kq9!9>aRW=U%a^U zQBR+I*2lf_SDrupukXD>!?0ZsREwyrXn@|66?8)Kx5z|AmhrHrZNh^XWdi_IRW?zJ z=Jl@npxt)cw~BBS1l=>Hv!+FeozKbl;aqOOYL$o2hUkb&QopM&T;O0?>+nnu`rCfw z(uQU+Pvn@%)Vint_OqSMFE)@^lRYpvArh~V=lbqyp2IMzsZm#)@ps-~c8iBvA|XIU z7%2^9eCspm8(zDe4*PK$HUk0?OodvhLE|JclqRZ3G$g1g6~s-(w?32KcR}Cu%TvLe zq<(l*5akE`=vvK9114lck>?D;C;;LzuvC zQ%F9V(LbjSJ)_C}(@ovefkE>a-?_?IJqHCk(~wIoXJ`9__^~g!{;@APe%X!Vv)%aI zgWcQTclKak&&IkdbRd9MG1PXa5ED>RL8~r9TgW5TdTpEk$*)}C58VFzkI1(+>EFF~ z_dP#cIz>9_w3#fP^usRppE1V(Nfqz1hqXRlQX#@ep4LIajH{@<# zoAv7RKlig=|GL-yo(-C`EEc!XhLpr4{ez22Z+h)6D^J zRz{L@W}(Eb`C1DgBuw^x9%}c1G$rzCB_JoQpt&!cE2G!R&ZGO57=X9)&L&6pl^sgi zD$KbE=}LCifpT8Ic<;_zzw`?~=?x!$XfJ%oiS*h0gvlrR1uldlM8vdOpPyZP;wOIG z{f7^~_xu0(<>l_=_^3=3MJ-ZF$H&J*PNfteD5a)^dB|rE&+p#3ms7fN^Tx1R9mWv> zlRT(SH70xs;fdoI^MobHwkA$w_VLT7-mjStnqSvlgeHi#(TMU|clkdm+mwZZ{EULepsbI!zKE)EWdW<+kGl_S_W=l-LvTQ+I@OL(IcJAzdkx{@pm4efiU5V}R|G$@1< zCIh5aZDLo8!!%DybC%3!L7s(jnnDvly>OGGQ6{f>@NV-f?D3Q14}_0B?N54J-nP_Kn8&85 z4&sdLa@SA^z>a~!E5$A&HHPOne&Hv+{6D?t_Hz$*$48qCRIBdkTy4uA!edHdu}&0X z0@vxbGN)yjxSW+I9y!uMyE6jMMUypkUQajI^%A!~4;na1Xorss33W96*Gz=Dk6c4# zH{h_XX#J^NEaN*_N975G#LV78^~}5g8FZcVAtV>BVr(#2quGc|sNV|!kv%6GoXbFP zLK7f@83W_gB;GZ&X?+voek^Y|rr-0bqs>qs>{tJP+WtJ)zb(59!`9m8eDClZ-|x*m zx4PBc2nl4#!lJv8O$^om<$^>h9B>FlOehjkm86^sw&R3yLE^Z|6%xlO8w>)BpfHY& z7%VU`M4}`?3$L>2@jWK)~CGME6U-mDyj z@7iBDi?`_T>T_(vCDZVVmDF1FG8XpZ6wLo6H3w_cY_olo(4rh}VI30quu><@|5{Djm1><^ieAM?3j=JsL=x!iDxAGZJ|` z;-%~Xw@L&tBL%Aoiid9i1RYqOB}7D!=S#J&&;1{>EK3+V^<`P+-Q1dfCkst&h?%Gx zn}f>{_Avv3RQbp^Gvxg)2mtaby9SM$cq#(yy`NuPUR>^9d*zis^auZ^-}Y_4_TTu| z|LEsF_r=>UywIt4DG(Z07QoE=!{G>En$R|>ndD;;4A6Xi#fZp~Oq7@5dzBVq?+5Bc z+ySt)HqSe0K-3wKNHU$2)NjNz@ZgCx%&xj1+%+XMy{pz;_oXrH6n!5}Fdu4WChlfz zVzgeBgxESZTsmJnKDqbiy>I`vZ~f4{Nay&_}~3^ z{_Q{Vum2w&KYnt0da@i2toq?g4=k)U$7jfj!!~b-NXIwib&qLkQ`r_?%l+*jF*9iw zNj{yOdt9|fqwh-S4%wlMG<)K4GLT#5e(Xk0G8niP16@(3w-T$?DY?@grVb3;5|IH6I9B?h zEeGVXcs!3IKmk_~)s5SQ!OU8sUzW8NFvJ578^)k)Df*6x4WZYT;jsvbPV$r4*}W9GDrn&0w=&%}7dO zQ~&ksi~SQtd}VqYEAq;%f!ofcVV|YkBP-gtQOLwCo@QT)#+a-$`8Ll8=au+IpR0jF z3|QNEy2Ixh*2-$9oH(h|^EPRW48-YrNHirbS2qWp!C{+!<+b_96htS3o~2-wiy@^8ek7MDd8BKq?&L8p-ntZ zy-houzWK)TFTOl~>I=(R!;=PkQkh`5OC3^42`5@}?}|&A=KLT@syTqQOu&IwqvY9emU6tzGD9?v>0m$c8;`x|*?@_=TNqwo90%;pV^r3zpcoplFCm zAa?}=Q#f-}{D{bb%&}?+{(lqTzF0(8+X7^7JWbkFB9Swk%=<1b_*EbY}`X(XuSN-R{=y z8*`hO@%;P(sDIyY{qNnq`{vL7+%Md@bGuD5Gh=H+e0Fwz(ON@1I+~Z>@4j*G{{4qU zU2?no{r-(N?=4Heeft(MF)_B}w^VP2b#aQNQgmj2`vM}b2*oLQJ$B}AjTbPC$Xq&` zm}ARDZF>WV#4=G06eH{E>XKq52^A!;EE#M_C(N+1xxBhUyzmR+}6Ek}0o>~PU zFm;jL{Ra;}`jHR+@qg=&{;U7HKXUf``SI~FQJ2S{21V4TyiDgdJXcX~r>lT`T9VY( z2_Y2KT7Erzkw_g3O*D06Pbdxw0|4NQGhb{+q%cm)CJ&Idt+x!hQssupaoSh(Lnu+k zwd{~PJ+QoTrm)griMiar^TKZ)$kV^Mo=JVjU|CmJ?D0Tq96n8+6N|GRl%W$3**T6$ z*>cYi9K>PhG?TpV1^_vuX79Ar0j2*M^4K6okU!311KQFi@yMBB9bBm@;*Q90s1am9Bo-IKs5Vl%*bfvyJT7?OS zbEzC6?h-9i%L_HJ>TYxb30sx>qTfL# zRmKgW0_R_ng?fy!4jce16YM22<~BkV2fMJ^cr<`{1nSEp@#Pj*pZx2JIa*ps35PIUYUkUw%AEQrBv&Wc@%2$)E*-d5I zbOErAMA_glu9_!H(^?apG-+sG?qSyeFtZJ~l!XH5mP+u{O_JFyb*S3T&VRsR({%v! zan%BFq5dt`;0InkI-Q~Sb_9r%)O|Gl-Wz8>owTDh!nwmlI8TVTj_EsJXs>>mKC_4G zrwuF;&(WX}AJCxWFj#=O&X3nWQmPS?_Nq$8jENorN~_Wc?u!;sve%y&Q@!&{S+ zzjy}orhrL00ZAS&q5I}3QCtieV)|EvUQPsl0~X}~WUm85sUuyl{6zoC*^MJzaF2`m zyuqz6AFG3l;KHgU%>KQlM?AT|_}!vN%YU-JBslmJwxAk-eupbVIO7D5iG^1j8+8(O z;$p>?bW5I9Ejm0$MN)IGHkqpYn6WxB2fbr(exkXN*x3oc#Q<%dmJW{}oxStL8^7(l zUSYzY|MKI{KA<-*7j7^kUOSREW-+tAaNYTsB!V7_IJpUA^%4=!2)i8sNHv+{+f*eT zUxSUV>ay%-Zd!_%a3|V&Y-mbl;+BFlM3hgO+Ok|duLXhurS?AtK%!2a+SFQW0I5J$ zzYQA#lF%McZ>48gom`Zf0j=n14Vz^l8#dHe(X+2C0pMu2yLt0QC;q?xd;h_o`jda= z$+Kst*REY&?m@%pZplf+)+D0QX%hFPGXYU&BIjT42Sg-l48TC#34l8N#^>kf&(5CHvdr_`Z~`P^Wafzx0QZOeJkKw` z{OZ}+`R70PrHhNp8`n>-UAx{0@4Wot@B6*K`^JsypZNJ-oS@0qLPY!a`~BRo({k_r z!-o$aW5apcp(KK_b*B3d9st1Y7jE~ZLuY8&xWzjrqhb40kz=~?)TcQF3*nSG@yVQg zVxuL@wfA(sptSTTS_Ao_6ZbwAV&(FXA2Y%r3)2ILD|M8FR_m|T=>BnY($)XL! z!2@z;RTPmZJ+UDkv#`{tr>jC5@fQO?!$!=@vNW*r07Fws(YD%-YImxsa;KyoU?cjp zOPYU9`rv(M1&W%*6ipOquTE9q_8;*!`=&2Dj<_iS>S73T2&5>ZlOzL1xxl$<;5J<5m6avLIN5xLWzzxy%_zD|S zp^#^RRs%Q`Zn$qHz!qvjd|U)u6s5^>fiL?KnN?Nz_Q{}LzN*b!2jD@YIJIxOr>x+u z%@e<{vU!8a!kaRr)TjEdM1mZosYsqrrtu$<7-Z2JyCt024`MH#{F1lM{8T?IrOb@s^^u`B~$1@1YAqs^k>#Oj=R{MdgjV_=Wwidw%z7%q&D%$ z$Vc5zLE!ez)BbC2F)%Sq)1*uQLS{scXHT+E(Bc$kMkb&=;K@9_?`C_)ar^XMUVem*Td__Xa=0B6v%-Cqd$?o|-{PoT$RoPD)bgI<@3)GO zD+nc=LkE8j?U6I;C$3P$@YvZ1d=NW<2sq78p6`*{zxb`MeBkw4pZw~>fBcoRuU^oE zc)V-#gkWDyt&~QOF016m^j|~3oI*jiH}ICtN>1F zlFV)|HeWfVF_d5Oxf+(oN!x4-I?0u}H1$h&VLkG|sJx{P09tEp((Hb%*U{(lPOqH; zz+e55|KiX8g}?Z*kNx!7*~QIUw|ehlu);Ya0ze?fNnW<65=TTL0!aeeYDY&$5>#Xz!Q3^-YygH50plo}{8M09 zZx2n`|*!Id-nWte~Hj`N4u9_y7QqAe&GG@ z|0W`O{P;=leV(TVz&LeUsP~ud-0r|X_TxYC_kQdrzxc&3ExqsNX?L_c*&Uyp9KY+G z@0fP;>Gjjgi#;GR5n?0YX+j3LckkijCr?^yO@qh=NX$I7Mnn%EKESEnx^ZLa3)+*% zMthldFf;wBR>J0E*mjnOa6p`Cn8rF-fVhHqWs^)ne4zyzB3aHH?QlPt_U_rD9{K!= zjL}%$2brkw03~b8fXA&N0N=m&=KgSba&kP+vp$?%A~*&B`#3V)z5B-Ze9uSzrQh{G z{Nca&mu&UI9<)Hvnwsb2p0fQj@9$~#7 z)CqX(k*=i75)97KdgkgkVeEmO=d4if;fXbC?8!Tyc!GXwnE+z#>9U*5&eEnHQE$C- z&T)yd(;Q%G?6X9Jkd($MlebxA&Eh&?%ndy&=f1gmLLS0}23~I1Pe~alv zESSL$+*RjU`g~wm(fO3wi}An~FrZr`XunwA8lVNX_{`=B_YA$$G)-@{)ee@Ts)(L< zjeYj6=RTW~A6hA5GWLvd^>>g2`o+oyJ-*UzEwVt(oD8m5rex0s}m>^D;lzU?Ta$Hx%?n5Z|z z(_MSEr=R@v{qK7Bo!|VySAODG@7_JTym5L2)YpD!t(ohqYAvo83HaD12<-kk*dcR8 z#hx~52s(GzZ7O*P7laKrb`Rb*xaMbTc6^A&VI$&~rL^e^{z zoEk}&Uci`nV^%3>>o;x3ZD{=rj$|AvIRy?f6WZnb)y!1Kxl*4Rp%Dh=O&F}m&fU{$ zZ^cbY95W&j1H@MkKmz|if4SE5Hmm>MGba-FAX+U@2dwh&)nv?9~6{9^Fr zzL@W-3kF*)S>0>c9hxa51z^h$A9uC4wnagP#K{i9-kcFxqbWB|GIDe z=tn;MEx-1IME%L*C%{NdN4x38mtOegPyXtU{Eff$@t^s`ljqN{P4c)g5ixaU{@Gvn zg_}2SPHnn%`{u2iw-|u>(pm$=$B!O8dGZwH3lES=D-oHgwbpyTfB!xL+`M^1o-y*n zADOlvwt{wbPWY(kq_vmYOqW!SW}Bg;V3c;EtDAKz=`aOrjNs`i57MVLmzA~ z^-j~&T>qK|AHEusKkN;1Yo}kAblK^dxAPT>&%+XGI2{g$Tc^7_H?AFs&kxk1SaOT` zv0>rccT&;2t^P0;!-K($#$Q&7Sp=cS)Q<8yS-|A&3UMNTH8C; zMIO!@U3gQAmV#E*GB#Q(M}r`@O18U<(Jnq?QL1p^M7qy8?JFT}h%$s|vL15i=t9lp zMbie&{f0ArHI5B~RzYEnw(QI)Nua`(to8v`QHccJ)}bqIB+#;rLFj!1)+0ioZ8_=PvFklbH))v11eMo; zL5T$WEytE6&4iKEALrk2zdyWq?ey&8(7^`e6hs+WF#uM^rKqV+VKlR%-p&IHeQ@mO z>mO;os?T4d$qdXlfQ!coQiS1oo_4$G;&Lx0xLq3ywsoWQX#^WLuju)PL5d|DpP);9WYPMvE%4q3?H zI-DG{8)K%?fkra{cFHqZ4B?~vxrzvSJOWvH2ER9vhRg?sW9;uaX*ZxT5YvLKx#NXq z&s|`eaH5onkUKC!188(K;fr%?uq@2YW9%W}V*%tAWOH(Q8I40-H&d0vOzVjic9x&{ zg7ZafI_g5QzL_*%Jk~|L_HAEpCU%zV_mze%!MdN-3S7Q;@8b1 zgxm1R0Qt=`(kr#8E!@tYJ^$~2=d0iG%B`RN z(!+oF#b@^}=-O^Ro{@+&SCA8B9$FOVv>H+=Pc$We%+@9gH1T*;67LJ;CvxtP4bsyI zK_kc_F8o*zO|ZRhl`5~ zK-lju8@8J_Z!jVdJbLoz@#80e(6A8@1eAi{3m7`U}*nwpar z!(`o6L)7=ryJL_SAW9WKxd|Xntxd_Nl?@eO&*1`dCz__V91hRV&WLE5o7DuM=i_8A z!Apfi6k~iMrdS118gTeDFuP4p!?eTU@bb;$7p|Y49s2V<6W3dGyToFu>=X*@a_G2T zV^{d_Kdv%K5_-|=$^xzx0K=a1)leQRD{h-+IP%E-4YfEc=gmgP;C5NXsSE)G;8kL7 z=sMiGJC?O)s&^_!jN)9zkZ)Z_3+`;4)un20D=P zX@RVuAA|?13w%IO;PV2^2z(VI!Hl-52oqyNXxI;(Ewg4doz+OeqXc1owl;$^pdjn2 zWBe3?8S^Tez&zZ<#u(>{%hxqQp)3gVpa{bh3sbavjMCzg@XhJ*5+Oww=0R5pzyt}| zHF(N=z@s|*sp0wg7|dy_ zmr9e$J+BXRSg@^VGyAj%WdIL@^BKHW{sbaA;yZ1TKDVjq}iHKnhER`o-p-qN9U z#-sg;bT~OE&N`IzZ}jX?U>y{FPjJ9SN6@1-NCR6#1S+>ksQ98cYbhoM7-A+kZ=L99n)a~!*)Kdk zbo%J~U-|gw?|tUs{`7bU&}~{ZN(z*XK|w9ocge~@rlO;eMZq)@0kFyeXAErk&*qnu znOrM!%gWv#SxD^DzDwu0M$AmbIH#PW8dLxcj4)VHJ(ZJDaYNHq@wdkSg_e!AIwvz( zbAMgRl}2}fGYvtc_CaiiAQPYIEVLCg%iEbL16+R65=6Rv%m*$PKn`*gvjjt*ccw6D*2iBRd`y z5GrgLqJ^;Ekp+2Xu_bENrm_vyro+OQ7w7-8kG$>H$lZAuk&pfS0D zgh)q8bbZqN2Q3RDXpN9g%|^kdeG(BzA`XCon3x%e4u@r$r|Z|RpPgU)g&+D0fB7%} zm7o3i&mVYs;r0u=x$O@JA6DtmOoJOBBOvt-1eRss6q=%iw+#LXc$W9*lg14Vdnab8 zb0SNYi6<424KioroPae;H3a$-$;?dLJ7ox3Nitd85S<8HiNp*x>LkoC7$jR%1rLC& zu|7i-1@CQ|E-o(5&MtbVYo{lzO~EAwXfQQAKHgEMH}AdqcmLjx|H3c+(s%!c@BF^+ z|IG*L|M`FRqksR${=voN+09!wrq-zUzAUkFU?zap@c3xQ0GAj0d-v|`j&?`8qx%o; zKYj8P8_L%+JTX!a1m;$Q>%T%4uCv9@DWfU~fV=-R zI+!~(VuEX`(w3{SFA>|jJ3*g6HDxH%3yf!nordk=;^O)9=V;=K&7$;dNdwPmH}9q4 zbmQg?oF;kip?`!#blXyyj^~-pvAAsj9dMdvW+0{srcLxlXyAoWi1ry`96fR7zRUsG z+*@$NR-^V4@o+fYxxTx7{q*t0a&}29lf$@REtbPT$U8WiVG`UeanLo?mc<-o|o@D z`^r7o9RqS$lhEsW>f3tjp7Sn2tTe7Pl9E8m^X3u~d;>*LPG$5c{e<6NI0>eBLoRnUm%*EJsLL>4`OSB_6Zgw? z^MmZ-0sw=om z?}pQ725iehyN2!P=;y!q^l+f>eD6z)4?gqY^4iG}@M5vfmX{5JGy6u&DalwKdSI|@ zJ+3sM_K>|4ra;RB26Z+j@?iep%GAm&ItlO;YBU&OP6QY5cf^S91`mq)HiVRMFeg>- z$Rq37QAyI=^EvC;vi6<;uQ{M~FOm5GRX?XMo+c=F*zm^G=s2H&6Qa22ndWo$VfzI9iAR|k9ZSM zzYQc*VvYki3#NkYRVqJT*LyLzmJ`}GjCo471RQKAg87ai5$ESNyt`?kaePHzeCoZn z;gqB>5vfN&|HB!O*rGj{LroztdpE*aw2UTzCCAHy*gWw68*%m9Aw_jm;A~zs+&YYe zf&=bm&|6?_k^sgXDXy){uq*`x8?#!~Y;O643jWG{+fy_$(W**Nsfolpu(?_9Z%q+0 z#KvH`kX>)g%|{-ckxZDG+dS|03-<| zY7zkhI9aSSNR{{KyUdyg} zWNDDzT3`D4`8iW>Z6adk?#u*;@6@-}u3f**Oke)W*M8)0{OBitg^5Hq32XDy20*f~^Yvk_%#2KI5KI%(NPks#}ZkCImtMIuol$}aF33i zF~RsHyXZPrHJLfxie;B7>n#`&!NZWwz~30mL+YG6+lXr_Hz6;fEZY(Z4l7CIN{o+= zm>8XXZeI20?NuOP=!Dp6HAa<9(IfM&nMLEhK9TgN$$oI;mUc`-u%{)QE0UG#y)VHi zpUdb1gk0H8@dw7jS)r~SgQ>O8n0zjmNZpT$sN<D6nARzKZ|W;e-0n(EN5`Sqypr^$NKEQbns_sJXwI`B)Vs^37z@%t zl>Sdi?HbH6K#SnZ<|dQL&BJ;)!O~WZSDL6@MF7~4j$ien*nsl4Ot-EC$g5w`@UjdP z;A*M=q-vSR*>JK7f%+`z2pbaf)cEM==pTRW*(K4pzv~Xb!_Pjrymov9(A5}hJICwO zvg^uk^jy1ir3^AF(=>!@=&)3IF!)~^0Uduh#ORG&Gsb!=Wh4TE9I7aYg!9&^6dj*ID^~tV% zrwS0DAt2HWaNgmodukJOW<)esfWh6o#I~LU`!`ckn8j@;!k5_GHgg)IhcC$~*_)PC zKr!k8luM6!QQ}6TJye3$)FcG8)vu{D1kQQHYwbdsW&kNqk$g2U@hVrb$|j@5Mw>v& zSI|Dp3)P2*2Bt1nUxW`XrRYIRA#%SCfXXM#ch_^_3Bx@ZC$bMHnl=&&b#nwDAx}M> zwSbc&O~FvTE8k&RScCk~veYSa{K;{D*{&ZXo2Qwu3K57Ir|EE5W?FvVN8k7K^6=Mx z?(WkCUpU<{6D?}grUV*w3>$(L*4iL}bc2RCxhe~fYixgWP^wS@UUlTI21DC9AqNQH z7HW6Q+PO4AaX-WOzkU)Nd=KRlMX`^kr?W`2|31O$#%bSw7If)Z5gE8Jfzu zFP*VpzkVG6KJkg4{}2DvpZVK=>%aQam%n)Z=CzkzzC)cZ&(8s|VQW0KHt9<}fgo)F zN)=qQ7ayX24x+bdMn@0!YP*CyvKklX(&U8!&811bV}sTj%R9M%(B8cT0H6ibVMC^_ z>cFI$kJ%oR%|cDQW#&;ws*qW5ib!Y!UzdhrFc_o9I~|}st4MTqc1}dCH3xI{@Hrj5 z_uhM(+Ra<1`@{0dPyUmoA5Kn=r+HqMLrNi`KDi90RH}N6fUULjvoipg=BYK5O2zel z?f@XjFwN6`e|hizo3Fk0+U{tUXId@s8n!{%h9IEGOTl^RmX_w^!VCEhsyj%St7Nw+k4FCy9>;fyf zaS!Icu#B5xkf_Qm8BVmBSx+HOr*RbogM$0UmFHmhXcupOUZ4gCMHjW z%DExnL{ne416fSx*yXLHoHXt09MML_$pENt>)`-9&oQE+qvxcV)oU3=zPd&LsjE#n z{%qx2RCE3#LLZdahhUy}zx;)}-~EAizPHn7?ms&|KADi2bi2u+C`Y2IEfN>}5k~&1JpjHKKFONf^zDZC5*8M~q*c zd6{4rQ7}m!dqX#P~rklsK(c)`+ggg*1EHO_FwK?^a8m3vR2^*+DoEoGMq zvy@e-Co)Uh0AyfG+n38X%g{FQQK1t{H*lIk!nhy6qsNq;mjh78uHobm}M^+tO&?&&;JO^u4 zUuN}KI7m1`*htu_twQZ+dx`CgOwJXpnytgy zuhVLdT!j~1D^S|KX2Y&St2)C_@bn^Q+f3GiNWk9VOBe8^OZ=AW6LjqPwbaD==^Fs4 z@vz*fV-x_u)BqbG;KOrzgOC8QHR=qu>_`Qb5t|lQXTYEHfaPEt&48~o3#HQaQXU0t~ta^w6n3Jfy8Mcf)yMQ9RAg`-IsX`EYwZDnrnainvRxLB2JKv@M? zYYeE^>Tl(joIqS(A9pxVY}cMObMRkN7TpF2u%8{s^XSFQz+(h7Q;!De=7_}y*SiL+ z)fry@=K6u*tr%DzUMwicxdSh+YXFid2~h_!WSI_e&z9#LoEid1DhH@d^M2_&T7K_G zzxlzli@*L0Us>0`T4RevOcmd z7$DlReVC4c5rI1O-dk(8Zr$je4u?H0T?UYsfdO#ct24jJ`cPAwCYhmLt^PoCk>led z77_qYQ#(I9fAh_IufO{0JWtEg8#Z}ln;oZRS)QUS7XZTQL(&}lB4)(Kww%vAN{Bij zKidB_<&fR6=^^KhARq?O-M(0G1EeoU03hy%j(|+$`B@CthVs2B*&D*vh$Yl$OJ9ie z?Rzf$;28szf4A=aVOBL;Ft}5hgy=l|RRfr9-LtilZ)CM(i7$p_M zES#Z<*KD$nyjC74<*e+OOCyH3%%-8X_))zcVwF;ml-YxEH52V*yHs(_-RgK(neQ}u z9ac^yog9p>9!?v`)(SJ*2TLMNs)P>v6{{CLu?c*OBz8~&2asSWSndcpMszkvX1+5s z6By*Wp2vzUI|z^aF`s0=2LM-Gc1^E{v}&^c!s~*2(Hrm93PjO3~ zL+0j2_vMIL1&TS~YQ$09qqIr$1RQx%9vb6$n$9oj=Rfz=?|AR)N4xgvyH5_&d^GC| zR2hANQ4I+5dInO15t2jb-X_6ZAuOp747_o+#>`NrA!AzOoxEj$Yzh-L=w<;`oKFDX;{ZOYh9oyL``z zfw@y_SaZSIDwWYyh7pXi)>vWOSX+*N2@e74YA1v(X{;m)j^f3&Xp*TpXK_?4aO)Zs zilHGA69Qhpe)`F;JwG`)`mXoAdhsh?{mR+?#>o*;xBJme+9e2TXFM>=+e3OLE~rLJ z%lQP#=8}sa)Ds2dXo@Z7Z0W_T7|oINi@^uh!oZivlO(^zD>8?OCQ%+kmEYG8Wn=jM zda~z%vJ8H)HidEHKX$fDrC<>310?@{<$J6)Qxyy@0syaK$$LkVhPTZcn+;k6w{PnZ zqpHF|sCX#mBgD%IfAtJL`F#4&b>s#eaAL-$T+=EHV5DB`S4G#1i%5*0dQJ}x2n-YA zf>oTRE$pgia&-`uOdc>w`Nm*=9;Ns~3l!B+Ro~+Wi-hzO0l^n9Zb-ETnxsUh?W!Xp z60RtIJixzI6p>kfj`kEuQ>_cP>$@@ln6o5B1N+g5c+*B%^F63J*RB_Jc z7B_^u**+YEhfxxi`Gf$pN>(f;Y~Oye*@I?5M93;BR}-w+BAbtyyM3578M{Xc?r_}v z{k{|~LHN&+JD3R8s|)fr9ClveQeA6X46N6LAJ34H8M&%?1|sjD0hn0!L;)=aqB&>) zfZcAI=lSuo=l}7a|4aYLU-?fz@rh4RhnHV|xwW?6ABZ{v0?vT`J~Ad+4hNWbyQwt| zK$)2sCjnpJ1}LvN14Q8757Rt@c_MD|71*XPeY2UVBtYND7UD`$7ja6#SCgk@dzUX5 zn3Qq|#p?Au9CS-`S2fDhPi93EhtFnp?E33>xbMz7Qk|lb*czUlU0z;ZZo61;y^w$P zm4!kx5pk3B5z9N*qjD zsr62p^|RV?%m3+U#snjNTvev3oej(`tT4xCw?goKbOmTo=OMTWorpV8r{0$dY#}Z| z$<*-p`1thNX|sA(^{(ojEz(A1lbr`-m}tI!{f6xoGS~u{ll6H(3^`&p1`G2*O&nXp z2Ix0q5la`MRxBjoi7FyzS$s_8mz5lf!78n~zSu%M5+jk;qtCm6xt17JDN zQPdOVd_HpFvZ|+!?W_M(Q4?HbyMzU@0HFMtMF@4%DX$nX&%^v-P&FRHs+guk#OiB= z)7d#0bB&PLiypEqwb^PKRh6O`$0x*VYDxVLvO6Mg6RfL116~9mrj0UCv#q!x|ErZ- z;QHtPHj`7tWR<0ykPTeH0mPLCzY=W-fXz2u%~k^GZBfk#_K}KocW8g+=O!4Z6+;Zc z07wjoq;J0uBiYcC=*!C`(i$n<$wbS^(e&W_@C#qK`z`N$<=4OGC3br#;+R<A4 zz_u_j;5_ek^8`5MH?xB)9D_NTD7(?QxWg-6FFcGxx*cuq>DRLu+lCCbQ;?$ioF(^0t0NmoNp4mWm6Dt4!%ngoq?Q@s>cOJlRei3fUn~$1qH#ZH3 z%ja)2YlZ;O7*HP6Xb8&ze(G_*&v@ggEkwvkC1NTi0LFnrwsM@Z!&5 zdsp%+y4@P*DiP&R*CpO;f=NCxP;z8x1shmh?@2B!e^a1k%*|Ew%y8Ia)wkaMg?0sSSogtv9@U7GF;CJw9F*1ZFPO?>`?2FsYyY*dF~C$ z(KprWNndD|=B_kX23QP=x&(-HC1hFf0D**omIg1151o)ME`Hxf-hX!JKk~C*!uj}k z0_vTcW>t(2DJlu;G2t`&k|+t*+=4f!>LM;FwT8NwG zy3@W25xL2;&l0837r;KtAbXCWY0L&z2dr+@Yv73q>;oCCF;Tz^YO&`~4ndA;ShaG8fIm^<`mhb88L! zn={f1Lpf$(rB3r6P zl_0?+X;_y6fk5I4S0US?KB)*6g!>e)Z)-qQu(LJ1xVSt!JEOd2VAJ4@PrD!k$IDI; zi3kx}YfC2vvV~)sH<>DO0C5`4;vX)1q-jQAn?~aLo4B@Vnw~s;I_;*HUVN!BcMZcB zuxUomR~EjPf@*$1+eO`)@bwu~Up zT3^3${awfJ)HsP0;}HNs>jZS7nBst@ws~}P(huEM85^OD2dm6X`u<4+n!p}K;Yn7W zQnp4c#Q|9`p%nH!UTI*Gwnl|nLd4)201$u>TWe_V?$>_>Ei8km>?!d=NvG&WUX*`% zrU1fl6!v_{lOv2AQOZ+EaWi@lK z+wz|rPRX^DQ>ZXb3CyC6sLbc!RB|(gFX6V*k*XoC@YmMRwX)8Cln-XFkkH!F{bKit z2zl*69ZXl%tJ9&x@sk0N5K`L0xl(a?Gab`v(Tj68WyoucKah~Gcsv$$1G&Xe=NVUJ zuC7RtF0RdV4nw$_)40j@68`J7#&u`$Y2otX7leQ}p+ENA!!nas9C>?H9fw~{o3Xj8 zM2-!Oh|K-k$HD#*mm((5+co zfv|9U0m1duKpiVvS1mLBSZ-&@&jfGeiHA19G))cR>GQL*iwj_wrWPq1XM*?W8#{g? zt0}suJVh248z3W|U+$0R_U?DS`r@q{htr}bBmQW)%b0K9d8E26J!C=P&i1^dA1k)(_muy?% z2(X%js7^7)!n0@>`AW+Q1=^Z4vopyqWuPqEz%cPz{^pppt|-FfJA!~RpnKqSHhat{ zJ%BByM~HzuR2oNR5Ukg=VaeW&`P~Gs#qs$9mKjbbe7x}Aec1oW+3v%)@IdX*T0;Tt z4op~Ci^$B485vv03Ai;rzz%=$js6cG_5B1l8?r)_t87jmV#2|KO-Um%AB*fWS0H4j z^RD+74h|fshgomhV0D_-gH}!o4fs|KA?D-La@;iR7}(5LO&P$F=33(85jJhHe)1xqP5}|+^8Z%su03a1*tUE}MW@x=gl0c&r?jXgK%}axIe1jVX zPg?mC$3zT3txXai38{#Zuj$m;z62?NiwvyaawG=O2TtY74ZSZ%N5@Z|KKsA^iGP2d zrcZt5)3mDhgCH)UB8ASuZz89fQu7Rky%T15)q8NjOkUAmTD6heo?mNKIs zEE+OImeQ$}m_?Z|GrN>YADog+Vwk74-|wG4KPT#pX!)uQh(UWM!}Y?pmD#z`u*u7# zhm?E8i`=)Wj6BX|yB`{<0IHZvZ=qy>tu^F_4RCR>I+kPxjJSu!=|+(tx}PS zRlf0qaYJIDF3&u57-NoqWn-QwvU65C$_OaI3K1c;qHbT8q@mP3jxAbTefnw4!DKe;}13clsO8q9og zW@f!N?ad@ulNNIj;4DibOHZ(_LW*o@<+tKn>|8bVs6#acT2*pbPYmw&*gH=<9o68Y zlO)fIG6p3f6kg>AGdlp}D?IUda4rV)-Ltnm0-+T5IT8Id@$-kLf_b(MgCTm+qR_^}p5{5g+!KFWtKS zP49TMP1Doo7f;Uj7ng@lQ7q#nj20q!JsFRpMbK1x@R4^H@4a@}-{4Pm@(l z%AQgFBSd|@pg3W~skLj@PH*10{_OeLqsLE)VcInbMC#^Vd?^l04s5AhPVJn}*(|}< zsrf+_tG%i=01WZMV>UllNB5@rsWP!c4wIROtH-7nzXS>rAfJH?cX$$iVQ9tVn>Hxr~|W_VQRS+H%5S3y3xOUl|E z>bD>#87qg1tT}k^O)>7@%F5xO6~5lqy`&Nzlwtf| z?^kKHz{(d4?%Hk5&gy85&fK}>5skX>V1O$ZZ|1lQ*D@R2BS%!$BJf}Xk4V2KliMCN zr62*I?reDhZVp1!RIHrD=++=9!Yzdz-_f(?tj1{P!sa~VnYqRQK$NPplTWYSoHHPT zYh}`@p=YUhE7zz@xTf#4S zz+QU*@Qrr1&4|2}Bu^}IyvRRF#SvPY^(jI?%`Y^hW$DX-iCI3&APFo3dPLwhiK-EG zP4_Yb;52FR83741VMFxKI5cf5 zA6F$}mZuG%VS@(DBo7+_%cHE$K4#=SN7IxH)n(ds{u0rDfa-0xivT(`qO7;y)O{)7}b#sRP!6R%zZd%lJr6K zl#G#q9I9diJIpVs6dYshAtyAS3@&fI)l3zLTSI1k@aSQi+pU|o7CPi)1t*5f8z~!N zvv^KLKs1IZfrpsSA!rg$Ef2j^#&;yxSwm*zV3CkQjJ@2)a&s)zsc7G?0MJjE^-kgG zLJnY6au7M=OrJzmEEo1J{#ubu%#Q#lk($?*0N??b zi-SW0R%HdEH*C%(#{uHV*>KM%Z?%HMDjlo`w_J9_D2cbUYIcs=W)r&&VJWxL-qzuS zLo={bIl4z1Nc7!R9oEgPv8UM$tZP<|haTqAQ_*j;GREiyjE>C=ozE(IL+9xDG;2J^ zn4Fy2(rO6_MKBw1HryKuG2mkA(`#XpV;`c37$(-G5Tpj5Vz4!fH`uhXrcy=VvZMgj zjpF+4#hcNmbHwA@%#(qLd@5_C+O-=HfGzQ(Eh-IJ_yc@y2xhp1wNEFC!7K$B7?VHX z(wyUk*O4j-KID8`BF@!oq%LA=$$*Rra;`H@R5>Vyr2+r~64CK)qN#oL@!8$SXSc4M zUOV0$&5Fm9?%Zi^&c89LFDbJTa>^_eF0sPvmw};80$#p40p_N6;1piPEJyNpX(p<` zM4q?PqGQ$%EieF!6GDW!HFa^`YtRx;ei(*U@o8%`_*?nT21G>t@UGYHyzBK>o}KUS z-g|VuU)nUy({A1ccf#$d{MlxT8O>767nX-*XiS}0mrWnqjFzhpLFHqWzbM~U?45e= z%Yr8-yO&-yP%)Qt&aH6SFnJl^K(*EF*{SL4E95o_bk1K6_< zE5u(-9FpsH+cX2gw)B4ecz5sF`9JyE!wDlxv{FW(lZVCVc)MxjF0Uq0x!nLP_H&q5f5}H9KlUyA^ zZXocw5xf2*CE;N8$Y{SKJ37PQRqbpTWQGNc-;-r;WZFCv5#hc^xOtZieSdY0HAZov z6_5c>C%EYCuYRq6%kkk4z5n$3jxG-i9-tvxi>?3;gKuq+0N{{2uj zTqc6nCPb9YL9+LUg}XNe(^|3CKo{x^0N9}S<*>hG=7x=#xMQ0pS;r$Z=|*bIdZ*T! z&qg*QZ{56sh|99jvKS}Tde_B0WAK7NObr?`QUYkp&r7h%tu+Edm~omtRcHY;V8dyi zm>UvB7DfpGM3@j7=nKV(h!&FXStur;GE0XwfDsi)n+I#@>+E9rVqQr{AJl{ynC)vs zY3&~CK=i1_07>houwf^7{`~oJSa4;)d9!4o6Qe8X)-;O=0kJiC=dYJ(RSnJS^Wu2G z{Z6Y91BBArd2(bSf@x}<=>GkO4cqk_*AIsU^?7Fo#%9gc#o|Gg zPe?tGCMMlv{mJejXk)2U6V{oMMu3X?odx-}O{G(}PE08^Fk)e|d_+yE9_6#ZSGd>Y znzp=>zALd|lUFEd1~9BN-EP{T4#MBCEZ^3%z$pfH&Uq++X_@C3nX?#W?D!LdJ2~`# zcy74tn+6FQGL*GC#%v0+5XLi{++ze^I(jx*cNJ`lT3-=3)1(#qIA}OL;95e1P%r19 z5s+k=5_6vO68*B!%b>-6VbId-G-@K~9x96ZSmM`eU@ll+F2pJ4N;*k)YF8B_0L zos!E(CUpfgwT&p^c-h1gi-~~iVlSMa*`{qQfh5#ef3xR?^|shsN;~RhoKTT=5 z^d1+ZZI#wQk830Al-3JuuiBQIlE;hk6}_oZCv13nG*hQ1XBQ8jpG|;m!bxi88)kW- zQ?YU?dMRFSmx{sM%Ml$P9b<$2{!p_#UO%UP<%(cBsjrpMTZWJ|q+=yUK8@;E5`zO> zJoZwUMHpgKu%Xi3HX+1L4AcOSKySa_^V*%)UVi0`$4~D)I>R;{A0HtC6OlQ{yl!&W z=u9fzrl`2=31x1q0bpq9vc{w@=8V^s5uQ+x`{mmd%>4ZP@^I*PZr^yGW=bhU)qE4m|&b3r(h=S+nPMNv`i$}f5u72C|e{Zf09Nj*aQGT zMtguUGXQq#H?JN4f4}T2UYSI{_H>+3e)U%Cul zuB>45NH~Udz9kq@HApLWlSJ`RNh`+#%kO3J!gYsA5($_At?Edet@F?`0o~O>BxvyU z?#ysH;g=8mfBWpd0sg`F?T%-rgM3(Z=BCvg1OVI^klO^vOv}xq<$|U^{prL1=~vJ1 z6W*9uo-Ru7u+9&&1c^z6m3$n3+t@g&^U?oSyL+PMUZHM9*RK9(I3b0w#kgyAV%5+w z=^W8=K3sT`}q|jN4_pEHSOJ|XayoZZ65J0 z_?{Ml=ArdV@d+o&QDY#k49e`&-s`rJW%Ojd9!QWg^wy_!9Yqf8mYHTSMrCV?QGJh# zE<*tNw5x4bvVE`wg}ik(HT48aCN~f|c7_l(W@ zY9Fuwea8GNAlQ@0pf8_J;t@DU8-UYZT9oQ~oro3;r?6-|Ffo9+l-ibP4~K&rqW}sSpKW!N+@v!id^vIKyt+$|scV@YaBtYSA%i}P3TURN36-f$s4=}7 z7751?fU$Q1kaq`@CN3HD#YF%>RKue-YDXfkY6~ahOyR}KIr-6=bS}-(#Vs@e3-Zp- zFZcTcA`;Lx@Bny3BP&0t&rKEQ`Z8sq$^Eu|%#Eb3O;r{Ez@E)v53;26Fv7q~<5sp5I}>rWKt43~hz->LbkGfUmBY{5P+h-|!R>S&2_%W+JWb z6tY@VZ`n{*j>&!uj8u9!e(4zzbS;u%63l9tcoz1#k&2RA-J$xp-j01x4w-;{-;&ej zQFLo*tPB>x4Y7ERjGqE+L2&?%Hlo??Ql)iSmm9&pdcj0c*75i|d*mcIC&SD1&~kI8 zfw}n{JV9UdC%r8>LeSW#c-kxpqcjVtL_+maOk*Y0+<#VzwGrkuxp&0?=>Zr+I!xV3 zvm6vg(6gQ#jxz8+Q(O`e1yrITIO)yuJWQbgtN+c(spwN$W>R8OX_GxK5i=cISZ}=d zsLPf?bF&eF z&n`|*kAa!UcDzRyQ4R#K4=QX-7t12zt&WjxMbf<1o%P;n1l^cqhA_8zf9P*Mc=FN< zH{bR4*FN{9uXggnPAo&C|HqLg4yT^nQuYD93+Mf~Ys6G!F?cAOXG8-qu+R}kQ#}K^ zB(qBf#Q@_rju{qHYx8cm`?)W?`Okjv?H_vO#xH*L$<5Of=3W{nz)rh$dgAI}v><`T z55Nd)wN7D1nO6uQOLr#uPlO`S=p>wR>i6p%?jg6X4LX;;IG}p62^ZhEl^bkVg$p;q zg&iWwn7FOT2S1c2WEoJ#%(AOUsYgjo3`Sc5hLx|z>~xCo0>xzNCbF{R0|bT{;B?o1 zWe@-6XD&Z=e)#?GJo=Uwj#?wab^%Ns=SGul#OL!EU1nTfLW45YGle;&C zZ19$sI_@WPd{NMEgJ)4Mwsiy|SrXF6*BjaPE!3`8TIn95W_`_Dk7J?#W;^TkF7GKw zi@l4ygEArt^U#a0d@Vy~893J2)mni}9-9T?O0Tjv(D|25rqKbUNQKLV+DKA0s`qHE z6PCtJ98|DzId%dE+o}FPnYsSW41n$8{QUcV?W^aVf9f+2u3fuEOOKMLE9Mn*OZ&eo z-7tE?@TjS2%y#^y75Xoz zm1x<;m6^sZoOGe8uvmoa2Kve~^ivW$O=BJoy|fh?AYNQtUR+#&rirz@$}W>Ch;Z58 z-WxMj7%Yo3Lr34%%#Gc3#B$305SkWPX|BuM{7C%gIVmE8E=DGrrgk_S?%%ur%4@G2 z9qpE-w|Jo;fW96LpCYP*pv1_6wBE>&qd|$qdmlA9q zCU}CbxK~G1&yo4aHM`}lv)rJziQ3r8`;x3Qg;QI$31VH!rEX_8IMW{1!CY+>XcNdp zUDsNEth04ufGsy?)FhM6Q?JygD~^7dgF}nb%-vb~i+zS!M)@|g2ME@cqflE%3^$wE z5MixFxlR+N!9W>q*)~lUyNFiNOj3CC>#1T1;$En%HXBg}4R1}r(1ptAv;?-^0_GBP zOxkSD(dOf{4VZ5Iy9eP&A}2{fkrKE9x`FyDJT?(xjF`pZgMxgIPQihq44eBjp8^2( zrOJ%CK1cZ~4JyJ*!I`nrtwTAKCCD)la44FEn_qo=@o2xC?k1wX`ucXBPx@Uq!p%(9?J=*8d=7bP<{5-)wCWTDu)ihR}Zre7mF0IHg>BYvBN{g%F`8p)^se-dJKu~{uFXKRgD~4`ELn%d1U6>v#X*+~lNBD5T|K}H$ zPd>%p_8NZVwcTsi`<+v~Hg#A!AVFhT@aZLf<_v%8{`8-Jb@|xCsK)ZStgP zuuqtii%*VMNJ!7HY{=7NI!huIj?0;3(xyBb2v-YELI`HI7DC_LR@=_X<;M9^DQI&n ziQoN1_TM3ws75P9CI@cvGjczm#EFh01U_kFz);M)O2^SN{A~O4n!pn5)?1w#<^_*84vV}+W z9ec5$!_0kCcTc*e&_nM;Z2M(-_4@I*zw4zx_Ym_&Q~vh=>RCSN#ZFR*LaN zYzxRUbpVhz*mcSbouCmyWBn|Hq$3dx9;NcjpF$QcG@Mu$XZjsBj7Nz?`zY$COs)~! zd|g@DKpQ`;N2?>=u#q^?AQ?bHWNiD({n^<$5ee8y2GU-jrH}N++gvgDr+n5B$Gjl8 zeaQs`6qbg|vNsr(&5MMqtObQ)q%`16iYEXd7bOB9HUdPVX=>+}7Z2_~c=gp+=6UK% zZ>=%theYjFgSJ9-u~_bGLkRU`X|@qNZ1iAP^ct}cgA7QvxU+zf8SLvMh=|Y^0wiTF z76HnC#4;=HUElv`j?U^2u~n_nA83OJ@JI?90T3G_wEEgNl{z4MbzJxoWIfGa=lF&mkn-=a}b$!tJwlAZR3OU}Wu zWmI!^Xgvdrf6dF~7-KvTJYG-QoKz_p$SRrbYcJhC zyIdYTd46(oLe#xq-zHlTf7S41bqI-fKDe-#9(~rLR1E$DJF$=54or>NEFfo>H-488%xZ*cS$P(<*(s zI&!S+y(_#*{)I{`4i-laR;MVF&+lV8%8!U zn{&=Shh~X%F>7LxHI|_;sE|}ABNv);;wODo&6i1KVzy`#8)kE2Ih9_vyOZhq9<%tD zP(9^wDg1kRgJ+VHF|0M@18c;K>0OO+1cZJiri~ z*WjT=Cu7tR##ro2NDR?%ltCpS3`bhCrNuZKBQTZ3czd5g+9n?~+a(UBPVx)r6F(fw z|M0nkQTYa#cEyRM8zp!tYyB255g?Te!*cx5Q^lv1^RYA&+j7i-t4L*?3>6J`Y{S(> z$Xa53C&JwPOGFrCmtPXKZw;J~BJkRFl*wC`Jf~Sea>T%PSG$A@H<|ufXH`!3pig_>2wQ*{#>_a!oGSKJtbKKH*B8 zd7Ol-?j`&~lPdukE#%T>&B`@wQ-sC_K8M3$Sq^|&p48f8xCjhPi++a{%}H5^plfeL za4>K3(C8|LP@7ZOx3TS&Y?_SKG#M$a+;g;!>45-jK%E-O*IA>Omsy(W-Uu_>+h7m~ zI`lS80s{7BSN1(V?Ym}+Wi<5q8c+_0Qf2tecde4w=EDOwa?tL4LIA6nO44S=hWo?e z?CgxX?D>=Y2j=JMPHDd1yH+7&sZhWW05CKu2wM|wH--#^)|TfCwr?k%U(FLFIm7_| zITTr?5H^&L&CJtuc6RpQ!NXTxetDWFBJ%XHQ401l16yatxMrAvUE?=@0_T*ZU{f`+ z?1I+yKx{@>>auOnhS)AIFE7q7p@Dp}A~9anpTWyc<2~M*owGsQW0u=dBN>z>0|VT+ zapQQNWHK6bHAHF|yQLFJ-KGbh{o$&-AYQ|}OL~n>Is0W`6%b`6VEtfD8fy3xe^CNi zL-(cazi)?-Ll-gc+Lo9pIJES^k@^XYh^A992{by z*yo-9h7JF+QnED5P0)f;Z)jx;c}Y;ygODd{@o+*+lU;nSF4yUy-<(v zkLgpfwU00Lj2KaE>jqT8d7MVns>mFp1BsGu-#*>#c3-*o^k_Z;rd)Zso`tWpDnhw^ zI4k`cTlDAwbmZtB6#apP$2@ue;H-YR!YQ8yQNNqMu(Smn%dIs9VKwK2!Sgfg#h z@L2J~&sWK$%cJ+;GMA{Y{;zptU`^(&+{jxPLJz0;b4Z2#Z9)EsqW$gj)VV}b8-nJ@ zw&cAHj!Ckkg<;#U#2Iu^4b6lulnE?FB5REaMxUS74GD1o#HS4#!o$u#`S|dY5ApW3 z>GiqKjK}i~z+XGSS1uT!AJ2R;YZOUY;e2`xoFI(@QqIPW#{7h;{R-eVv~EN%3zb9A znjLh{x;B}3gVvQ>0O_VCpEz`kNjal%&I7N7D9;G9ZHn8R0RWRy$t~_Y{dcb39IZ1* znUgdwTQ|;;NR%Y%$H(oi-hLW*GV*FA*g{Yir6cExSDYy^os`kGMPsb=PHgwyqIAz@ zZW%yv^xEMn@v7e6;n;j3ulovv=C!}rnt-Sb+ole0w`S#b&5hVC4A|O!zklD$H($PW z{QvsdFPvUG0qU5e6qj-Ip8{3Lx|RH$>7N3yj;=exIbjrCCWn)lTUmjl%-3RYfpM}3 z)mz0*0+N&yn-kYc65~pAAj|gF5cRcd@``yNmhch#VL2QQ%rs33+EyHh%uJp$kaHYs z6c-wsF@cueXzhwUN?Z=NYmE$&5!%F=iS;9#%!n<<2Q9h>VEOdwq;Hn<#j@tOO>UkYOnv)W zn3*pw_xt_jG*5aO5tEmZ?$cx8<*1E9BJQ9O02>pdeC3*4O;-m26M!V`m{=dZWreX^ z1R!6V*x(facztJ80&~3ncjClo3ojCPHo%EZUTdXlt}dSEE*)_d}QiEYw41;L@? ztV|P+ZwnyEsRg6As$L-fa3F(KGeiKhp|9Buvs;z(aa{_71KD~LN7JitrSK}eyY&?Y zrtVbLC(je)J-S(>7Oz<(p#6CTZq1bus6DM%VLqbaa2B%=S6?0S`K)K^w(k3ot6Dte zR(YhCg+haZtf4`4_H#LX?;=R-O=iKI1gQHaK~h8P#7DdN`n8j1=gVQ?qa&0rzyVWj-$qFrmK~|#w2ct77RK_JI0jhgxiO#K*4PU zB<5*q7ng?{*XZ``oA)0)Zc}=MEIRU`{L&Ca2uRVFT(9{rHBtzC>LJ&DTJD}kC&S_QCpe%!sj>tO8Fl)b1bMbxYDspxSpyG|9Y z&MJ%vt?Vjt7@E>JLFNgrO?VFQy!S8lws5<=>_{*-KAHIlc|xR48dFkQ>?QMz+8hgX zvo`_G2@womWnbj+5Iy;D_6@#41@(CkNPHcrsYei*^Q5`K=55xeuPAK4D7gg_DVqd2 z0uh^)@W2zeVTPh7Ss~ZtuuUsH1FUNg_kViM*^3ARYK@b(`G12c9Czul>ZQ?(VsrBBc<6Z9L0s#iXq8mSNzoJs2pasoBHQXm!iL2S&(S0&3%1 zewA1EmNtV@A_6l3>r1U`_&fZ1SQ0j&nwl+|Djf!(%&&-QwfqNP?PaY^IlAP?5P*I3 zv>&N2Wns|$@`k|B&YnMCmX7`*+$(nGyedj^Uh<2vTpq!!^AN4rj5q3hea3;c_HH+O z<_7_6@!_clPW6$dLgXDHGRPyz@+2lbeE4u`?e^_kODA!Q`neQ9gofDC%Ys!$bFCTM zpHY2ZH?Q10{Its4K{OqCzfcm^t+i~zB zX<$nIlZ*`vtwCcsLB!m92YoJ~0T7EdGBYvA*G*cQi_KnAgZ@=mu(huXIt7t~s>Io{ zv|vZQ6y7=U=}e?s2pEBgkD$MD(r?dz(1mIV&ANR5mXU;BW(Kq`;%bKEoZ#uwIy7Ck z#I_Ntz#!PEWMI+>hj9(EtSl_4$*4F3cbF>ztR1yq$sxho6ZjcS6?1aI%kvzbbY7NR zi)bZ#Y>er_KzD8Luu~`>0uMKvbtJ-J^Ld~$a?%PO_Z6(Mo3oCy3NWH+nr0S9hVOK9 z=meKO+%R=?-}Z~dh4au<+je^#4rMIltKc|O?uwbH9}f4m{+BhYFlMtH&^p#I=55UV zu;x0WkGj3)QbMb3Wld+I`QNHPe(#nOER>smcq@hMoPh$sKx7XAYRX~7t@W5VUP{(w zt2~q6c&sO}9xH;Xfub~>^n}z_$PfTkh#gdF>u~1S&s8jrr%9(?ax|Loe)v z4OwRUPmArU2n@`Gtvx-vxOL;k{fCb>rjU`Wf?WIv{YvCr?HUT1l3r2QjB1Vc70DFX zNX)@7?(XK<+v=K~ra^@=dMIeijS~Vfe(wImU;pk`-f{c-7ayJ9ymqWlYFKjjDq~5s z`)Ka|H*IXg8Q6Juxx8+%>M6VQIF|)HB;dF-jNgnG7G*-HOV+Jq&nDuyeN9`CF`n^S z!veGQMzi2RV~)NcHZ+Z6$Z3nhu6dEtuqaiOsD`AD0iA8hultt`3*)l;^uII=iy{m* z{V*jmJ_;2X!`L%2|0yiMw9rP1sSu8bRX6_{Zy|KLn3IJrUKPDa#!P*(w zpA42^4D>cXfP(~rDamQCN>6+R6;Bm?-6K)tnYPWVK7dsxChJp>#sv66th+|gQd^CI zQ0&-Zgi>dc-;NjceR9;7;<+>OvKlDp;}f%q=nOH^sTf{aQ6?LyZI)kG@!on%vNQZ2?&_*yCLu? zNb&d}^GD$K!J)EgL&Q`2hQtt{7dVhjqsGnQ!g z!`>nrSTy&&y8K4O^Yin=a=?bA9>G^L9HSS-PLcyjVLR254P?ue$Vlok)#P(%m4GPs zVu)=+nxzF84>v{Z&K$4{j40pzKl{ zX#Zs1BzA3DrN#xVVQWBrY7H7U(60eERaPdThHajw!@)KIq+Tt0*3d*K!lv6=D3Leh zykbst*mU(!?LbXsGBZojBq9+5F)>rbZITW2-q=OvKwh;z&pW(b%9ZB-If^ABf5tY<35o^Hd&m2u;t@F$^B{3jC-VhlbXU^l~{qU@k1?>_z7z^!F zz|zv)>6!~At5)rk)2z_9{C(8oDRT@_h)EO+T?V7+ti+QLT?Ug?{E=n}CI^fdsGDzN z2wV)#=5Gx$aC-7U6Cy)$3XCvJ403ntjL=PrB)tK>*?Mw%RqX)*ptUHQAe*joDjl-3 z7|e9@u`Y9dT-Z1+goibb1y)|Q45}Uwavr9F`Ys3w(k#E}36*tefW-yd5ryNTjGt6` z!|3u|8;Y7(Zq0wakSjitb zT9LhyHkK#s4K%8-S3>9>saZf|CfqUyz!ThX6hjkUm#w1UdLdK{Tvc9k5Nbk6_0;-Gtem;0P?!x;s}InG}D&l zVg~jVd&|ASOB{*GdOcQDJHM@Iv73aUSybME^A;igH7!dbU;vB%hY4)2Z;i;93gs!` z*tEnnX(?{1lZrvCX+XXangqmG09=MIn0@p zda*bs0Y~l)VFngNS(p)UHvuyos85JpvTJGp$t~NIbTwoz$x|*0;-P=}i3i^&@RSWF zxtI6_L;8NVWKym`{NPE_hQKK~p}4|1)m8Nl?U@tQYDB-^5~CI{gLMQJ0C)<6-J_2Q z9oFf%@ku|)iKKeR%s7KJU?ap?uHqjP$Dxr|@CTv`y<#X^kR{`RR8sg^k8=^^?Sj{4?*m^Ru77f1vp!KK3X7dZKKTF=|8Bg z0W^YTZ|#n>qRwiPCR4p7Sjx&YA2Vz*-H&NTR&Lb*WUGSWL!?adYBHiu{UCG`n;Npc zb4;E@P^f2M{q&fS`@F^M+`GJ=laNNerl;_~wR!b{Proq>s%9i~XXKZG=F$*gq7DCWS|wXb#* z1^|S3*9h1|q=ELsRxfI^wY@6+uEt=*I!$0CfJU9LwWara_wP?ryLNhgSr$RE6)a1y zg8)qZ%KQ?{FtGX~Oktcjia-ucfSKb1t=Cfzh11laL4(#>;F9^7larHanv@J*x}{a> zkj_erCM%~4r7t2uK(jFIc%FCE2@%Mm3kD!P*s^}+IKfm9pxGlQ@+zbv5qB;A2jqXk zRp)(z06YSo%wPvy5_e1Lzn6txI^|bSfeFsThaw>|0fBt^iKC1Tq!wCQ>MJpB&cLud zUM3MzefRo6vBN634d@9A*~)FQaB!Q0bZfRL@VcvV)`s<^kMJ~&Ztevv43OXF0TW#G z$wAc0-t7JJ3W761u|pS%*`} zbO1F0qGYYp^#iz;e!zua$rZ3jTg1MJ?oecZStNmVF6)8J0m$#MQJU#Y{Bp#F6kKpz zkFm34%@(8j2rYzhP*&HJoOJ3Ywq^=L3YivyrxawOi`T!dyD%~3eL2?DqoRiqH{QCL zg4H7m2L0-qhE3jIT>_LDOspP0KJYScM)2g`nEHG0V~3 zgGI?LAp#Qj-8>&1?anV3w70!xmt^~cWB0K$mj1=jGzLs@?yKl)4h{gDeC4XTP9xSy z^4Z|(Y64A*mI^z-U=#tF=&DV&K1@bh{-Uh=BUYV z&J?RH80d|6$~4idP?;?;Wi9b44K#+-(~X(ud3wIUXWxAM{#Wn3a`W`w`Q_>Hjy4{- zh$#hK+pw`=i(}kj-6YLi_cfS54!TwUU@KbM=mJYKa6UP_m)NN$>^Bf3UAmHH$XgOz zC__Idf96}fj}$>Tnj4bK1yu*FfO9&tlh%HcYO*^H3lJiI<+No>$&NZr{3^&-2D*o4 zH*)I`0OTDl8^&9)0g^s9U<95Ubf!m_v~&W%lNpI{&)lYVI<<3#Ym;Ca03fu8a8j#E7Tp2I&?TKlOk-snTfkuTwIf5;; z*D4#7TGKQLu>X_W`#1%oBm&{wkOM3$>%1}=t?KOSyTV#1o(#uhrvgz?8Dd;Fgva9G zT{YGWv=(c=ah%UZd2INRbITH>ajZnq6wMS~OO#@C4D!7nPJjhlFv|`U@<#*cwLz|t zSsgt1s!R_6RK2iyES+wj9=~|&Vm4YhOumiCL+!9&5J z*^)+p^0~(b5nc=~bP&H4^Q4CMZB}3)kWVle2W3arK*1*Lb7Tnh@}Gzs!!lq) z7Od^P_l1@vBn(!{)EDN~S`(e7-erc^r0Ch6T~6u?`In-T4kkRF^V`Ijs_Q98edYR% z%`{QgiwL;iU!I+vaSrn#>Vh`9fXq+TLGp@nwFmY@l9_--l9|IL4i06H;wib1yua;< z)$JYgLxGMif#8A8M^dhj+W3Heh1#Eu&JGDOoWXACdOp+IO;&rX`Xrg-6sQizZ}I zr{0M=$prbJytI%LgN%Cga>g($QCABqCYVR{5#z8DG)xLxBLblTYzB#H2jsS$vBu{r^h6DBI-CpWvk3akOXY5;srr(y61oseY|B6Yw zvPD#3rIYI}tVyKyd|_z@9t;iZm{+bovEKJdJY)(l$%W`3md9VXPANAD_v|f-k&bis zS^3q`M2(f6Js913`4bU9if$OfHn`$Ox+B*DjqGQ?oJ$x=&4Jy<*1V=Ko9K>=ot;xv z7_M@8%Oe7f_2lcJAJ{g<$Uf0&MgV9q7ZJx2CMbwmDW17WYz>>uNYo7xfSbNRf~~qm>paN6pR0b6!Jk{G zW24)v8L|%(^Pk#bS$0Q9aYKkA^`$Rc0n5~B!4GR+u^QL_N0mm4vsMX*Xj`|w`JHH$ zFuTH0ws|w*ZI9)&xL+>`f3$f>P;l*J_r(X#zv-2i-uBY1=TrT%MXJc4D8*P-?I=6Ku8>5yPMr&b16umVEL~6Q}(8 zMiu(nxn6aomI#XX+rkU=RKCmDXmMobgIv~ch~&}Y;Ul9=)Sg{NoDwLhF}mG=SNEm8 z{MC`%izj}-HGuyYw^Gz4Ak0b~qhc=k;Al|2N1KXtYef!$|Tts@Q{R>)+uy3mC9X zFEKNW)S}fS$Y$3n6VT_131!o&Ib_EG;*BGWb}70-Dp-)iMDNQtzx|~zKiNOo^U*2# zBV55#4WH8L)9SJ?M4#gs+wpX`W1j~YTZE?Me`Ffwsco*D?z5h*ux9fWSvdNC%9q$V z8pXxF){8-!lo51$y1oH0^<`NOAy1tgW2tBbW}e#Arb#PBNlMjrahwHdJXk`%l=M*PXw%dHdhfJ!W=dIC8yJ*Jz`#VyvPhKO z+BD7cG|l>P3C^NPp>Z=NXK7U-X8UBzP+`<8_#Ns8xBOYkfuX`A0~~sP`uw@Phfd$# zuLG@If6)Q;iQv!uq^$?(%~RNHZ;i?GL8}ytb7|QIBu^+rWP+~hXmx??6}^Da>~sNQ zr7Yf8!2o~_rAqPg^775QcVBz`wWHl`S$eK-i`FX<02f{w;~~PVp}ldAHJe)U+YSus zGEtYMX*5O=AYG&*wm_$xK9yh8g4qYuxl2+{i;w-GB>=XHxz0p9 zX&)&A3^OTO*VJav?OmoD$vF?g!E$Q=Or>x^791v8V+gZ5D$_T6 z{suwPk~eouKxe&4+-{cAJhZdfrRX7ld>L(9)YWBWUiENCifW4vO1O3lrT{sA1)i$P z%>c@ytSi>roe@(&7RJ~(+-~UtF&?xkw|e>~Q*SMJpp%pT&p46Y_Q0=vhAUz9w3EgV zEROqAZ-^zxEnS9g#kI2X67H<_!*e&We_P(@tg7u!)3MS6m8>B;1qGBC!Zt=g_ndP2 z5Y#6pj-^C5W^}=EHC&mL1Jf=3+gdRCW~0+C0Ms3XRluCQ?6$e!cqJUO8>cC4Sh_=V zK-5arv=g7qcnu(#Kjt=Z_?TQuHlh=IW-4yamb;CWzRoHyYY)z)qHOSytAdBYra7nG zgrL-S!X)g`UPqB(xVAdLCRY#}0rd1Zc~R=(%Ezrj_ieS;6cXzSMbeXmEGZ|PrU_AA zJ|YXiSk7yHiZq&(<$A3nvjNoBOZ@Fvg&_qj>L+Ia0AT5T-p#|B4y#&?{Bn;4P7Iig z&0LLN-n8(>CJ+g3!HgA1IUFU*3mIV$Ybs6T&KG+`#`|LcAm(|RpFF>KdVc=$_2biN zS~~g1Fap>h=@5hu_q^y9x3d0)%ghCls@=@N@{Kfj6z&L9%Dje=)-I@=NN`!^Gc;Lk zFfeQgfHz1OO-RKn8k&Ra0Rp_9IAKljI^WUO2jC1E@U8Zq zqxP;7e4)XU1>Yci&iJLX{;?;^Pd%kC9e|G}oN&??y)=tZee?ja*jDz{!$PfwDi>If8mMjHgMk_7`q_^u5T=~X8o3IJRLs{s)rzb`|e^J{~^G}3s9!Qzjh#R~J?(Z+q~ za|!PwT*zU9MKdXOQ#O?xdI6X%Oo-*}R^~GMywXL|huo`8I0K)39w1Y-K1U9_8X>ecUGeJP@Z4as^AkhW zsfTHr$Uu_@8#o}g*3w>}Y-Oh)&^90yi~vf23jm1nEFtx!_YNjUPJ0~UM_WSx=*!Z% z6KS54h>Vy->b-Z?11(bsp$L#4M7_F- zS;q`Nkd@m>-#i4bI3CwZBskgVtghPIYL$p+X#_GUQ1b+N4qR2SO=&hcJP$2RWG=k5`9;MkO+Z z9ln8_hqBwy)YT2NyzBxBt6-Q=-XGAse6c`!hV!fA!YwInw_2DzD8K{^F zj4Lg)iLE=Vn>Xxmxj{rW=Q@jx83sN6!jIaUC1}l?mwO~#WSI|#WPou6sh$uK+td>0 z3p`gH8B23~BCFG0vcv#dHH`q%G+{#`?!6x_56f~OX6oFg)*2oi9nI4`&GR%(^E8PS zQMWxEMd%dA>#3?@x}e?mb8EbjBtrI#n)|d<2*B%4wgSYr87H(Fk@Wv$H*+Unz!54sE4}rLR(bCIBx4E60FQ#x4+HRTX+%=uqFi00Yq*L zD;a_-D%hu*8DQ72LwmgMZ%6zcZ)@N8+V0zL%f;lmYjfRoinA*ZHb-2M**7V?PCA$U{Tgl7ytH4{yo?w~i-Xd8$|a>P7&vdQ=YeWXR^ABLIB1=VALv_$ z8*x3!a05m-cUi^#bv;g{N1z7Tt8ar(;VTL)41hpHuUtDmp4yimo=wvn-Z*vcn58Ri zHg^CisIL+pEHt~ljM(XDhUjjy!~BP=obnFqX{pFrbzZswtwS=xZE|{9Yn_Oeg@Li@ z<9G6y=fIia&}rg?ZI_uJ)nUxN_obpK1H-bvq)x{tM-6c4oe1W6Lj9f! zCa(b4bWOfqO%&d^JhsuKa4~*K;RiD_5F$K#{v6vR0?mtmwudE*DfW1dM~r1lLXvGM zf2aB81S9`eRrf>YsiEqMPhj(6`nnPb{D?( zw%6Zwe6(ZomyB(*mi7Ooge33x4-=Mq^eI-$6lla~@dYr*2TX86WO*}a(CVSPrswPt z4RtQ1TxC?9^s3ot=X(ntc^QzAYqu@Ej1~nZk{MF(`jRJ`PerAx8oiDD-t}zD%pQ7I<%5McXTsvI=`XwIIFxIW@S|xO10R*b$>u zF3PuDftd(UUKYt-onRy})H7mqVoFVoNcrWA8;yM1OC~PavMRLRT~Ty1$87+`opbUI zY-nqI0B@b>W&h=rrz|OPYsQ?$&m+Og)FHFH zwTT(2!!)OD9BZD2-Tp9WHIMONz-a=UChE(@#l_kAITJT*(>$G=oZPs1<7js@AI`xVLDiQ6VV-pyZm z^!!`i_Tp=|Pe1qIN#Zr;9+QV0;Aa?KQJ{Lw&7*iL^qs|2Ly>#U9@Xx5dFx;3t?LGy zH51l3v(X!DZ31uLN(zHHHQ1Vzl&F$sJY?OHod4?p1fy58X!axWu;GBK`O6Q7Rl8z`3N)SFiU*2~@|J(Om`@z@g zg(EydrVb0x0j5rj*rlYdP4hc$w0GRuedKNXU-!9-Kk=F6i~H$#*AN*x%O}NFEDtHW zUvW}=dZu)5kp~YB1U!Xa*O+R{jdFaL+#d;Ec{#Cm-vrKVi@~RvaPF&8TFP58u$?UZv=dOt3&YM3cb@s46z<%QwAr z>+^4(Jv+eB@sKJVU~dC;iu+^$2sH3|a)(PTlv@=9=I8M3bVxZv(ZH^aoO4Nn=ph*m z=Ac)ZM4hMu0z+#}KA$S9T%z8YJ6JJ!@5|B``vA$>wCjTk{+>MDQBVn?ytE|l3_oZZ zg#$bNDFh)(lWxpD9Zg>#U=zi+&4Xb}ur)v+$`NY=07jtRIpzgk1*T6qfR5gmMR+9> zN(Hja41GCVo)fkvMMeNelT#SdG+WeqoOF!#F(_+3G9Ceg?@gxjmezsBz4sX>;;tJk zk&Q)#FoXe$H)Bqfq>5A=>$-i2lYu=aTGhQw$hJ)|qg77j2ITrjcs-M-NbUZ<7R>Fglb)v|zAc)>9c-mhGNVF$-k_s1@tex+t(DL8_<}=H?!KCvC&C1~`3NMqYq>%^5ZiAMbKg1}x zJ4U0+$`_TLmZq+5>^8Ehisx2mZy(u%tB%A^^h}MSIRU^t&8;>2n9rt3@aoKPIWRJ_y0r#~%VB@^ z^x6LM^7!QBUGI432fq0O?|#p_UVH7e*I$3z>#x6h!dwO(yd~$p`&%55cY(rsI`GHzf#UN`yHWv|q_^LKdI5qD6 zT2$*UbSQ~8dP}Sc{d1&$3wbCF9JsFb<@F^cN@BmEYK#+>QEdzV0F+l8*j!M7nRdJB z@!8?Y`Ni#PyQAHFpgtF182ip$kGkPb(f=-}Yv?~J6vHa_!3ppa>J4}4Pv=%xc1FF` z3OKF}yxsJw`Hs>~R4gYrw$ySpQ@vj0+>^7ozS}^Ed zo+Cs^+ach^Y+eh*>2B}MXA?=5Y%*nw0i$ENXfnr!k1psv$Nk^?mTSNLZ4-1{7T(Ja zbA!3@j=F5G(=;D;yM1fN)UNINAAJAG4i10(GyBi&r&~L0K-~cWJ^7a?wtXZWU%;iJ zs_|T>#->vx6=hM3D`nan9p5rNGNK?$p)LF!8iP{*92zhHMD+?a4}sp5eTyk=6SBL1 zE$&|t6Kx=ph3=QF z-j&CIQD`+XgA`UKT&E7Mas%Z!-c>Hj#^~x|UB5d9X=Lfq0anGiY8V6nXu$7$@$?g) zf7~W}iB(+OWROWMq=z=^5&J7byP!jbE0r50X5-!R$XRV=9Qi93&G0ay{6oyWcVY%^ z2%V?iyThi%gDl_Vq`q|K^eIgZlK?z+8+pSf#VeK}MlEhi%5{v0Ee;2OsPUHuB;9NE z7dlb;F$=xPUi1tNnTYb}ra7D#G#D>1abLQ9ij`qQF9CpiKk%Yy#N}{+DZSO24J{O` zoB*j^%+9g&Il^K#YcwGMi9mM01wMJl_Sq|DU?T3IX(NxBL=DWb*&bNdFs(rJRj!r@ zNkiTUV(KCV<&032-a(!rPsY{`*AAe#eZL1jp0GmEZ#QK%g%zFcBbSgt6az7(P zzG}t&nCg{YN`i6%TUY}J;Dm?BAPlIF?j{AWm6(fAjE4mL7#Q`jRx*=dlei=*+4hOe zDio??_dsFDW0C=3*tc+;=q#f#OyJrQ2i7Bui8)L^3M8fbW%?yMJ~(+!M(S7ww$+!3 z5bAT#lGVEUAhVX_r+UZzXqtFW(D@PQIEX2$HvkW{2yyj{WX)(wAtEqwt zuSh9ZT6q%N)0iG8m=3eTQSBm4UbjE8D@8YWI90^H5JX>M(rCT!3UP!n?#;_mpU zHL2td^>oYikDes64y3M}iT$0-NDO3QZ2shC-PdMN=(B#AsS{BrX8EEylgx*ycLE?L zkgdeGh%RCnk0DIM zZQB4<%)m0>27=YasHv-UXF1x?c_SnS42<^?Q9c0H23Klwh!UJUVGlZDp^`#CafefD z`@{a(^XCZg>MO5)=z|~ljUWBUhkxUTzwKLp?MpA+d26mdxc}g%|IyF<>?c0{(;xep zU;Xr_?!EEmZg+Hg?R1{!WmyVrVG*utr}}|7nXSLDewydxFGna!S*0kz&M_K}%9XbL z6NaP?b6fuh5TdXiy&9u9m<)u*_7F$z7|nb_*vUrNd|tU70q;FNd;jaV@0^~z`TXMO zc-P(jQ(zZ#Z#kiSY=sQUyUa$6xO4PSm`<|l;+EQ!d_j@4-I=E9r!g_5GB2Y4(#trx z!5e#2F;a))+zRFFwpwK#FEq_ygisO+;Lm?pYX8bZ9Z*nZ51&H#l{I^sl>}j6(UwUWzT5tdMrlvZ{YQlqZuu4Z}xdlC2VZ>YbAfInMHvuZI zw=^@mca8JDxJM7Ev~F320frSpoEczc-D)Bw=D^7I@OXW6DQTke8PSm=2zh&vQ&*k& z`aEAdYImPpwia$HRv-~7+U-78`I#WMB+X5X>x^~@;L<#bZshGP_a>0CVPZv9oFQEo zi#~JB4wYE|4Uhpyp7CP>u6Yeq|`y1mTAr3xa0DEo|03_o#VdK^y$&qVukFeXg zo%JnVD$mL24DI!90(t!3ZI+k-8xpkCmG#KnS~C->s>jXN1petBp9v6C@15mC1?$B# z#CDA2PmDRFoYI|sR}##(I!9N?8USU}Tb14?kDYe(B3hCe5iu5FTj$A(vOO7;Glsrd zZVpz)VKgK0G<{T3jtR&(WtHByo+LbK@=Me?0<`pv-M`j{^@bCfmOSF#= z%f*e|rmaJU=W@otfE5N^CJoTMt<$05fwU!Ec`{Sif>zSJUGH>sbbRyH&CZ1Cmdvn% zC19Wm7K}iIpcd+;RII8PCx!q3HoUytgOLR$L`@QUHBCfW?4v1;0007_eE%bT?jsaI z$9MiP`^qtK-Z^CVg1gj|P*g4T9|){Z^KxT(tkvQc001BorXxdq#KZv5@_EiR1bOtx zAe=3}0^rdhN5aI3WqW@wyBCyh%(Le?CLdAFe@h!P@R;P43E>ukm^m2g@sR(SiH=2- zNhts}izSVk{bzQLXuXZXOl|yR_`B48h}PnI))L&><*PSfBC*=*(0^e+W~xKgtuKZ| z-v$M$4*B_0@nZ7I|1@4Ez>H1G$;atS8)0&u%7!PXVnbYdXX1IDZk-%ozjpojXxFBR z?ZI^^jzffb+MS-B?sk({WJ8OB(SA2v@o3MHH48tx0X^Z%6+qi@2v=`A5c;S%6A(#} zE)&ZW;M|wqiRIhLVzbnH@4YXFrT2^Ti~Z6&@ib2{?aCapj*ZxBolvoP7|WB>&f>P! zvhD`Qnn6rFp+RVN_4kO7RxEjYC8;h#-jcCpSuwmc+d<1m{al-Meyt$u7Kwqa(UFD< zmXs1iT#X;2Dsg#V$)|sXCdVJe%S1l_fb%pn@bj~$)cJki^iALM(eL?z-~Iz1{_gL- zaq~I=Twa_%dGz4W55NG>02*RrmggzBwKlcsg*z{N|M!3I_kaKQK6>=%$A0|B|N3A5 zn?L=rfAq$iZ=9Z9J3c<{eW7?u>=T*ImSHR?br!l{QI3**d z0Y^FyR>D&I+rpiEIw!46-#xf0Ze~TOxagy4y8nFt0hnIAcKo#`X9%dZ13dKZZ&(3a zPppe27(FpywSfcptgS*war_pmMDzP~)=G~(zo{K=?-Ax_>*~ad=i+i&tHX_NLyzMS z;iZ%7#I^8B9&ebE0ET!r&ga2S)ttZ;nz5yT>ra0U^C>|y+qsQqpfPB{OMOR7mf zCp*oZ6&jU#M26OI54hw0yWVm1FTd|b=jDQ?;|Y;FB14qnAvaL~ZoN;?0XsJ83!P5= z2VaAK{ABt|U!eVs)_~YIrlpHCvaAgpx)IU8s+tv2e~&GnG@13w+ED``2NhotB|*r# zA(mv|88yGW76IsjBhWAT!c^v(RM8qB!Vqui);sXl$g2kja++oSh3HyjmYOy_mOFZ<*YBKOb~syjK5Cw|H!>~wOq5);iZ8y@SnVn4 zoQzIdm1G@LNlE9_dDWW$PF%M@-4U0CrL7O3^nu_(wi6{0qu7}TjI1x}8eLBI^@&A} z4&0f5WxG`0|0^qxH7NViQM@!ZolJT*f3nFV%mV!>42*aLz^RvAt@wgR zj+?z-*VVrokJC&0ZZ|>QD;6)AH0?ID0O*_ zTkrn5AYGw@eh`(Jh_)1`#Hprj;iIF8rGlLNRf_>Aaw{h{&lNZB&pV8_ z%+_fFtDzCP0%ZQKL1u;fYpY1EFA>XQ3sjaQ#8a!N7?b)yu*?Pcq$5q6yy@!B>~C#6 zjT)o`L&52yV;MK|Zr5Z7~5<>#%(emq+Rm%GuSUGDfS8zyP@P zWo~%qgo_R6cTeE+}jegC81^LxJQ zyS@_u&d<*uJ$}Rl)6{U<9Zx%@2X(FOB_PcF{Q2``S=uz+xN+lm{*K@AJAcRT_|YHz zTYvgL`k|lxnSb>3$>sH%H<3HpH{c>ASK-?d1qmE*WXKvRvl_{qd2oMuedDJLXL2HV zeOU0}C^y(-)(9bgV?~jQQ#eZ~)Xn22EQIS2?w`_)OfXOI_+sCgU$}MzEFW^gVmo>5 z6`ciG`+2RpG51%f&%U7~Q^Nz>yE^jjo!gC);};y_eA)%Gy>n%Hrn9I^)(xvuQZ`*B z(9u}KbDH=HSIjZ!BFZ_dn!vI4P4kJ06-eT^Qp4PWq96_x43 zG1nv2y5A6XDMKqN9KpQfyI!$R1U76P@%hE_(HG$Nyz6A1`RQ}q?RHEZd)IIe%V5CV zm=L5)n?!NmcLKlj_4aq)gu4g0F|&gWpre8$j3XRyqOUaI)L?*h1^{``9(4s)*8RoR zC6@^~?W_gcX^qCiozB~VtKsFeTVK$nSRg1KrL2tv!SeIRadVE+tP2B$Xq0Cbrl3D^ zS;040YVqIxh;VU@`^q6hBPBdS3tbx^IQJ0PRh~KKyP8beC4*5IutiRhU($!taKpEh zAi|)f4u**!$TG?yBBWx#7_sV0)iI*?zIg48NBf0&25`?-+?ZR{D#r^+hcjBNc^P1z zvd%G$&A}?;ytO%jtjNI?wCEC2C$@afgMdI#C~%+qSf#smbk%k1O&kPu$g^ou6XPSxjRb@WVp^4ObhK4D;TlaYubf& z)V+Hq@CA$eqW~c#Ak7{lyzl~U)mr-EXTu@2h@}r%)tO9$cjsYYa-vAgJwuq;@ z{Nmf^YcI$K9Wi%eV3xP#NdhiDXThvroYikfFf(30f83uxk%?Pw4($7J2|*ZGqm>9b z#oX&^0L*0>{5lk5agGkLg6SZ1=|auRz<%XYyl;k89num`3eZF__d`?s9oa^<3(A(~NWJn%skW|j`bB0e| z-_OHoXM|rj`kfP~xG18spgQzO43-$EFE>t)-u~)KH?LnmySRMg{*#Nt!U#=X&(?6t z$|oOCH|k739W@3z(?r7UuA|@qi@aA?JauQyePRf|?m%e`h2a;%vMlEp+z@V_9KZb1 z?K`(`+`a$s{==tI?U%iwI(UYl!R;h%im6{p^*)vd5fA0_9cNkeHKE|hsQladvKvxe zu7txE^{-)_k)%IM;#%*sBqTc1Q^&FW6fDDHhCEts|s@tf0U)4#EiLaS6J44sV9bf@Gn(#Ys;=k~6 z`%k{wFA=Xd?j(W|od|0zb}#D`%hq8Cr8q!<8fw{M0&MHv+!=5fdSFprWoMWID=g`_Rv|HaD2JW##WO@d>BwlQ-#;u80kGU&@V!QHt6(i@nqxNploZBkf8-!}9=}emzJQ-`KP7w83XzE; z$sLCW6tVdInn*xH;fNszHdKyeHBScX*HD4c*{bEliJ=hiYI~R|mlDje)xGnom`3lt zwbl?PxrOrsp0;h{+;2^Fy0wZv>@ozSC|GP-rJn=fNqwhIGUUPB1md*J77-b^wTZ0m z7^R?we4eZcJI<9Iv1#NHKf8JW7)m?Ef^jNiS0gZ;$E0t0mNB~`LALt^tJRJN$s@q| z`BR*xGj1E7K?(z0~2G@bcUmM=Bmo0`c3}>v6)K(lq_2FDPgox zwh#i~G^s>e?WaXB+vIcDpnR2R9Dy1l(`4?^*n&*GUtU}+%i?a3gHNjm8tUP;TIAx- zX0H!}7!Z|Xuw6#U%t0sWoqF$*W<*3Qxq{Yk>C3~1j}R^JY-=o2h0qr6o_#5-WOHbW z{;i&oh^UiS2KZtb4cyH2BKYH+qY_HTirC=!RRy@P8p%{YzZ=B zLu3?O=?A=a`_+>dUSF029WIEWvp%6tAZ4#)^>NHvE2mflx(|x;Jmb+!@&FwJGcq%w z{bKe;UdPH-%qoO!d6oZTTjxEDcWIvuS^CS2Y#*n9@t=PCoFSFntO3fL+1Ow;RVcre+?;{6?X)A#2mtWp{POYh z^A~PifA2e9J2~2Yw?HM`U2RX&)4g{&)z=4%_2ztJ9- zh^ygo(>%Z|+x-au$jerN7^evUo;-Pc^ZNDw$?yFi|F8d7|C>86z3}YmQ(~Uy`Sf%L zd81FBe4YRaKob|*rNxFi>h5TV?TC7R^zh;J>(~FaKk~1B=Rf@&fBcXAv7i6MFW$a$ zyCL-60fGFRM?OniR1KmY51FNV(|T>&Y}f!<*{fnVtX&Ni`V0UTy{ANJ6l^-wrK%(z zJK7K-fJ09mH{@9zeo$#47(hcL;D^u7-~Hmv8^`mL%Vj>A?E%0QQaa=g@M~=V55|#hD&-TgO)i8>peuiBD{3IM*qNhPr@^Aiei0)4;ovSwCu_b{RYEO zJLwKRazNxbd^E7SPYwpKh@MamBl*FVchuH+xA1 z9hjMoT9@4xUOsdUe#?vV2~a=aWERKbzO7gzDK!HD0)f001(5&_JiYxCe(THpV0WFXZYt zd;br*S3v{Sm<^^G*SYC5IJwQh2N-9fx*=QO;2Zv65GJL@jIn3oxm~lws1f-8-;sjn z0nhF6DLIuy8gEBqK+kY`AAzdtC4;rnZMuAGZM>GfThd7HW({_v`*R01WXc)AQZHO= z6*R0s?E&$M*>ZHtz*B1{6W)J%*%~JQSq;O~b(rTEi*QixoG8i4+FwHdR3731B#bwT zC2;!NqY%DNX6lD9%~vgUke8&BUEL;3RWE zjWYZrt%Kfhb&jbFA+u$@al-%r1lVLbE)t+{0R)kkMqnT?9AxE^q=pFy>_dx14w9m; zyJ4&^?~9Gum`iecNeeS<$N6D09vu69LCu(nS55@prI+z7hr^SH_fM}~KRG#_ce{qo zo+PqdJ+i;hk^N!Ew6DU#5?797CuG2`t`^Y(Ij3y&sQxRsdIA8Tzsr!gBevE_HaF|h0~nIIV%w-Bqso$sT&h%}Rw zc2CkqpfiD)X<7QR^xoxFvno_IL_`2ymII*XD>pWllPrWc?z=M(jh;@O8APIawXwuD zo+OqV>zjJiQKvXJAyRCpcnU8KpCjs!IGQ7`69d1TFC?W$o2(?tkr{yaWH+D84fl_y zr8gpCXbe*Iip-5bp5A4Gt|?q#(2N`tH)iTfTh5PW;HeP<$?bp)Km_utMmf)jlH{Wa ziMat112PcH3Rm=64MiT{*W^8grwR{%TdomI8`#>5*gQJ%jWOKd_#86Abbfd?1XK~g zBbc=?5Jty`RrKH_rr%AI0o?PmN!5X+h;qy2RT%YlDV?9^oFO)jjdM<}y>E%5Kr^G; zMsESd#bJq`GaT2Jmhe)!xf?LYxzV-2iI1LaDedCLjaE1efWXAq`|{fDo9}(w>-U~M z|JuVRN5?0--=|CJqBiIwiAW5Kg{_Rmtt7FIVAT|0Be{?!q55;tag~r zLN8fyWeND5eqKBo+7?U&bPVT!!8!$@ltr}w03Sbo^72bB{O|v@f8+Q6f!}|AarWrp z!+EzmnsDpLcZ3@ywq00SomZ0-2u`1#p6KYRAQzxAJg|9ijbfAPQk!$0v8 zKl$Q|cL1^X4w2hRuHK-~*_O7)Y@P}WgQ}&_F1;4SIF>^vW4Ptys#~-bZs~txnUv#o zCoJ*6n;O%zvX_fxN5U2c8g3wfEweYl8Rpg=o*&-b+U;vc56<^!xM;Q?IOA}k=nT~d zvHsr%&bfeOB_+p=u3KO@!;ZCF!V91O;ESA{KCPm-l~GUx3uWyU}N(3ye2)(K)kNMpiIkChi!F$QI`On={ozUze>|tnE=?3$?;)ib9|0zY_?`; zPX(%2Lc_UePTIXgfb!l}1WgR!JCE@LHya%m;Av_M*Z}0c$ABQ~R`Y@u_XZ)%+}Z-| zbf#~+IlX+$Um|8CXo%QC?hd5vSj`dkRVR)s70U7$kiWF6e<$Z5VO_jMD2ZjG#2svA zIEYfh*vRfXs|~KrvF5xPuQP&s%+R|8SC-3CXnIg^;?-*ao8r9l;Wta!29vw@lTN=xq3ho8*TMczz*pc=HH- zzhaeRULcRy8E)+6-HcBzmxee@!Yv7h@=;^UYM8Mo(0&_EnFY^Ld|RpNuADXT04{I>N$Yxs6MF?F8rL zP10;h9S;?HXi<))01yF)Z_jw+sL{n6%Q(3&}9 zW+t-i8!<|WTxZa7IZ;rv2JN#*CVMXjUt@9c!fxNI!$Xnn&@2_ZvLnRU)g1f{m+k(~ zx)>d^kAkVO6P_Fx54vA(*JPC4vaZO>mhAz`CLwM5eg!SmWls`5j z4R@;AK{lE2#6EAUHqv`iwqtvWrJlo#Ik!)(lk*do()zNza^w1Y-uCL<$4}pQ{OtPa zb@{4k-0sa0Afg(zyZEd!Q@H~jK2z1KU9EHR=WK@seYm$O>hQ*T)qV|o8RCH~Dgf&J z_-I}_eD=$CKk%;Cm%e=AtM}*KyebT=>SaD_t8Z@+zIUSszpE-r8g|rO8#21u?r|hr z3U)W<@fLQ#>AJ&A88zw@u*4SuUt8VQ*;vOgR2W66aKs?B)_*jWJOrx;Hjj+}jQsfV zqgP*g@!$DB|6hLacm3ew$BzK;=;#PSVcfB)<3V>F(**J<2NQXeoY+gj#huUd)Cu2s z`lpY+qR9UlF`60N#ccy46fd~(;CZ>Z{&2U!p501RY6~9PZXI<_ zZlaFq)}eW-JiZo=OX04@;5G$M(&Y$Ypd!^R3{x|!8fqC8Fyi9|Vdz$KV~iN1i6%hi?rGx8R^D;ps-yY<5i=X*Y0IvRqIU+r*-dlo z|EfnT1}frou^~&qxNzOa!~}=nN%-GPlfRy~{cn0CAtfRT5Y?uuBW2N|btK`k%U=(y zzisGC@o&U zUQ2359;hnXjs|RUwxPVBW@@dWCyc{D-BA{D-})HC9Gjt)die8;v8uHQQ#NZQ3B=6I zy#oNJR3rdE2W&vZjhhvJf{(J^0?N3+{y*cMh7|=@*6a-j7wJhJM$vsZ(E~?lG5hAc z$UARZGvSJ2!AGKI%yDW87)VOJt%N?pwZw7i{dC4#C-cPpvI7D)=FWf&C?pZco+<(8 zn~ez7azLAziQ8XcMxd32VxtTUh)vB-072n1V}Mj5g4Y5Wu?|0JzY&a;VF_wW$-`rE zaYY!_`zCKOr&a?2ULt4i3{7353!6>&i#+zqK!)3cgIP^&^mN;1XJv*ltot5IaFl`M zw@CZP)q!gjLCs*HXyg?UOsa}2*JCePlr$m+$4o2=&fzu7kSheMw*39;>$<;LmJ zyI+6h!PB!hA3wiw?ON{(xKj;XaXRx>tT8Jba|FVnR_>XC^FgzvLXw=5U#eSAKAik9 zrjWEH<~E4tp@D-ev1n|KdH&p2-hBVNUVHNV{L!^~Uf_g06LiYl9U>k=B=GK0@O_sL!edg#ux@ z>|R>LGG)jN#eEqW{krQ9!bsY-ahD!_*D8cPf_Vk-smlNoeu`N$*{f-uoXp$&m8RSdi z>odLm7*3fQ@PYfZ2rrcn#@aC-Y9$KDIDsti0FP&SbqAebYPk3m(j%gwxCqTsg(1gy zWqD?tL8$&Qg!{HQmH9v*nPZfe9$46al^0ADNQp@Ta@%o^P0K+*ww$S@kEU4ZZ%Cw9 z?_)b9p4(kpPRa-BD!_0x1s|sF(Ni_n~Ivy-r^|8u=GIdUwGeP*`z zX+V+%<3_E`QWs^Q8jji^skOz@)~Wnptx0fb@b1>LaF2)>QOJ0B*SQA-X1;xG*9khq z&UHIA5h7}~ShF-7YiRTl`awX4oK&-~8gopUo0h73RkAVFIc+em`}6%-m2T2Vn;92*B(Kt%<# zzy4YoYy?D{z(8xaZ32NnLP!EZl8|}0x$`>@&v;H%?e+b!*SM>mH&NnO_rA|Lr)t;U zYp=c5Z>_!d+EwyGNsqHm^tt0z510dD8wF$wj@hW9Y$2_enxsO_$8pKqQF{fAw0Vb_ z)j_tr6HEo;v+j_wn{65u{3T(Qg-UHc5S#|*;ghnRXnHFo=LNfdnca;e%dKk$BP(lV z`?3JBM*}7lU9A}*51gXiw6ml^?=Yst$I+#I;O-D$*v#l(-mMZY$|4Gq!cHb*m)K(_ z&V!Xj(h`D?fI2(HH|f?AEX!CaIRjCWAv1`{BOstm1Vc_uliXU9GcKPDy&dPtaC1uc zoGP1MfOd$%O_JtFHbxl@m?W;p$zI@-)+7~=#aPTxK}}XS5Fa$>tYNS53@99AiLj;! zYLeMK@x{dxU_0SrOI}D_G{N2Jt+3llAHj@F{?M)%rZN*3ZAxW!h3wU68MBgv2$T_! zke?aH!6~&fAOTDe2TkJT#W|8i86vP;BT^Y+E2QfY^*W~Snrex{{22JWc-d)ZFfBew z0&mu$2IeXRa>?prPJ^yIjgKP1Qwboxdq$b`%Ji0e?;>e5q7#g*Ae;rE5FL00pJ41D zI0j92YHEbo)*?8*fXp+@r=sy}z-(KIANhMKI7R5qx(BL+2sd0{MOwljmhcPjh|pu**}mPsA79V3oqZ>OcC`*RNfh&F6@z?}m2PZmcab!E(7Ah8_S@(vbTv%ERj~Dx@j(FVDzDKmWCzxw(LY>}js5b&z zIm`F3kXqU>U`nfjh9NJS1|U8yM%yTNf0B-P33Jqj%U-@zb4eX5@Oa{|mxKU~e%*@* zie(V*b%)}qc`%-HlRdGL?ox<-gqi@r?+l6+IAR?(sL6Jhia$|SbX{1`Q;%LM0(ww= zB{0R1#v`o@zX1S1d0<_=fE=cWJXa+LT{6Z(pTpU5Qzptp4dey%YuG}c`AJSFE3a5q zbK{yBfNlpu#Ds|wX21aeQocNcq07wzyTQ^x4HS^%VKfTe7%S)A6dK66JjNY%q7_j? zK7{tsE40R$J!8pTwE-xXd`c%E%DnTqh>GErJa@ue3(!fpA3ij;pxmd5C-UIl2~>LI zMv$Kc&k$TTib?R(MJLtT$^3h)4WG`#L5K3%8mvPU!Tj4ejFDIqI{+YZ(U06DEe@7~ zkqOlwj zW*sn$;Mx@c02)7a%GhA5_ugx#z=+Vv+8+RBdg-A$1};LV#37YOEQx-x_k@xJYrdQ< zGhzHBN1VWi)=&CKH|cnJ7>-0VRlKr*h>JDbqJZn__y_~)cxqxzBFq5_!wFPvw#9h! zNMs?!C_pm@x++^hU1BT*NIA(Hx~nAZ!enMQ$433EI(Q{AQYr~13Z*3qU9ZN6sU33e z`@TeiN_7sS!7YbduN7j&PODIjlc)k$m3}P`qhmtxbpWKFS`l)avA9?&#}G$}>AM0q z7A4Oa+D3M$s?yR(iH<`(F#AWQr;ci6q?1NBx8fOamW`~G`Sle!n-UPeAu1Em`r2YP zn*pYj!roZVCzd1)%yIif1FgDlwOab6Vu(X%K}iD4+5~gGWKrlt{>bhv4I4@zB4K$E zp80CNMNfK=4W9_5_{Kx8ON><4SMEpvC5)-G1#xgWR6M~%nI;i|JV=*$ZfhX`K*i{5 zP}5Zb1UiZ0Oyly6$jO3;E&n30V5H?sIY-Jb>^e2nmdW`-AgEl&(Cuhpe2~~}c4cBF z1__}a9l{|n#nOdgoXuD$Ao(RX>9&smaAi8)C<8{;Rpy(w|E7UXVk#CWIy>;J{1A#9 ztLK6gz7WLH=&CCzGvx2F5wvO%K()}VVk1D9y!y~6e~eaRD4xWA7|!l&F6Ql(+k5S7 zra^r!@8>90EmiN0SXaCD!K$b&qF%*gcuI~I3KzYX8j!$iT(t(&)Ii+RFCMD1*L_s*Snz3XF-Jo50lb7$vkYpbJWrePpLc^eWS zhc!#hBhLv^YT9|*&YHd(uHU?Q`}XZi7w>DD*^q~|wZ&?=eCUA({>eZ2Ctvwhuj~45 zKAZ8=?aQpyuUo3c4;a8iP%yS&LnBc)TRAG!1uYPUlio1lRC&)dL`BAI_qRy;>8POU zY8WuId4(2>V=LRr6c)`|AP_)so3`RETrGU_mG0X|=V5!qVhrj@UW?HK|hGMgi$!d{u z5;>7;XcUuQ&>_L`5R(w1$@c}TA8sXw7wG{Y6CtH0I1*K|_oNCl6ZDTTr#^^u=xV4c zY(ok5Xv&;9qsXrzMu1HH&{GCnUt3#W^YM%cS4Q~A4~Zr~ggj8QNVBf(yDkrz6}0Y^ z$(iz#RpnF(4X7;v@7xK?`;jidfTpCJ5sTwEHSQp12}?7>keie?*4FpC zVc8GuY)+Kj_G@oJ;wVq#ETJtmsYwNizG;KR;Cnm<3`keDHWE$peo0{g%-Mz;ifA$yN{MP^QAO6FQ z>(~GJkNwC44?J*iuu1^!EcJc&>Q}$=+yC1C@;Cna-?((~K7=9mL?y=wqRPB1Q#*A|H=a`(FVY@?zz^wg(FR)hMX8MeH*j z^~iKwofALnevMVo^$OXc<0z9^fRL-ewoW}iJp*PLjF9rz&6tIMjA|41Yf?mgy-A-? z<2onv5I%z=3#P#06~>7YKgjv8hie_(TICBZArR!GL0vPy2>~R+?}Zc*5&|M2Ldu&B zo|$9Y=KV~q4GOyPkgoZkX4t~Ig~w}uK92@h*IyzB*{YW*C^|b8TCuC7&qE;F$zAKA zH#*fNjm3i>71x*8FXp2KE!6n|aPp1DKQHA1L9&p~*@sdQ_}h&mQQto8N2P6^;Ulx> z>2s(WOFF>`L`yFXgBi{3Zt_;TFiIxEEPuZ8<6!34o@%Co8ZPe-_>xwK0ZPdmk-X8k z@?bl7*lR_iMU#*wTvQb5r!W@8#|jc>a5DuwRusABsy-7ugX=2a-`DG3hZ9W=O#Q07 zX957ql*v7741rT)h$sUg1@;w3OmqU=qq@o=*>KuMNeCu7S{`+)9uQ}<*eRg*#F?M2Rx2Im(Pz=*XXfFbp~8L9UozW+})PSMlpcuBu{@ zf-pG7i7hmRl+z(L$D-qa!}<~yMrEfjnN>xpLYYv?jf@6$d^pHfSryeMVHg!9EIN;X11mocc}R%O+AISsm#dT#lDG)thP_EjD7~+m%?$Ms|sqMX+T8EnJ7c`go-jYA)uQrwBVoK_g{L9Zy^E+k&p%jbwq`| zL?!Ll>@WHxH;IyoHlRQPkc9LE9-PiN_m7RApiG$U5+?$>{7qoNA*C8ERPP-ILn=+R zJ5Hb!aN;@vg^%i}0&{T*nlzC`aHX)yv`P49Oh99Y(nLzrB=LF+xG&{OWuE?I%La)2tga zh4R{B0ZntT?Avyx=88?16jD5|;sup|;~TTEeXz)!`yK$=wplFJ=8MJp`r6vs z`Yg3KZ`^$6ufOZ{KmG52@y);RiN~MJL*Clj{KVs*c;q<`r-V(D$_Nkr@GXDpo8R>F zKmV(5d*|6R=emAH5JukFLURAWrj|8dwC|E}bbO#pR+>n{103&RzAwULw$O}7C{5K^yv7qw}Jl)gj7IH3%?J+XgS+gtZ#qc~2(RbM? zlK+Z`mFvVdG9~icMI<(-m3f}Hd?3qs@c^umg|N4;T3~Q5do^Tm1MRzAF0#^)QKT`G z^4m-PahOQ#z`Icv$jmqK^(nb5$yf|AspMXF88V3j zMM#){T$b8(`ivR!v5E2d0tfXd+wMX4GAusqldz;X=|lTZdrr3ZA& zYP8`#=IVJ74mB;zJS9U7nVCOzrZt6;+)#@YBV>eR=!;;he?H*{pDm!z&WRE(v2lN!pEV#J@#7Z6DZZ6m;h{gECOqkBVaq5uWzgoQP=fJ-;nC6R;9#HMw}>wHthCI5go$ntfTZ&oeZooQzX)v_B^sB(gc=kp+(WKx8t-Dh#Lwz2sOjOKBsdO6FZ+_L#|a>hqe{$Z z2Dh@t;SW`#Qt^Z}^rv(>O~C>%grM15cUKjdL-3rmDZMv}+HLZ8xQ<1yLhUGdED>@M z%65)$UPlL&MdO}NP;Hb}mI7U5ZG0#h;99N_TYIAjQ4tU%$}n0aP=}<*Q9+8pCJ?}| zaRkBCh%A=>rQ#h0%W8H*fe4te&(IHwz>Y=}RjW(98Bnlwf!lgWT*jF(K{9L|r*s15 zx=*18&f@6%TuQek$mAl5fq~Lu)i;t6C_SMBX~?vHu-e%R-dZb)(mHH3>0%70fwxRL6en2HzWYCBz-i$b_7AGxW z>lGcC4a^1gMRXm&Lz=wPL_6kr;bwIT+PrMR>7B&poQg{yq7T+^`I?$$82UWq-~anw z`@4Sk@7mkjozE9QkW!){Hz_TbM^8WXIHvje3+K1Cx2|8m{+-|Xoj>pcKlF89_qAX2 znlF0WufF3qe&au1y?SMTe}CwE0+`R{n_HU~E?juQ^Pd0Gm%jMyxwAj{FaOog{_KAk zx^8D@=kk5$Gr_^$(bG>o(>4tOBuoT^33JYCYiob^@BZD_{=V0CL*KMbKMWuahhu>M zs)1L7)2Tpz_)^49?1GbX(4nAEje`;x9d^oxMGznuqC%nQsF;?iuHi_x?cp2(ItGXl zxx#%pQ$NtWZ5qTO=UG#EQDSLqNx=Fc-HBZlogr=-6IA))+Hd&li7z)J?Y% zTpj82uDJE%Vs(yA>x>vsaZ6ZH-C{|lr+y5rYk_D0AB!19_f#B3#y|v)MDt>K7s{!6 zK@mv75+=k$5zIl!)yZzsC8#8jFWn$%3lX!8zM2IKw5n+<{;LBL_l!2R+8p{S6JeSq z>Qv?9{1sof9NRr%bs9qBi0AMLL=AnNIfr3DIONC+W#(Ec}=-e^uv{ zi~P%W8!^CEL!2PFNt*S?$0V84XpVpz=;*J>-Oj*FAAWt#)BzxLj!X|x{I<%fmBi^% zxN4Af*BQ962_k?nT&fMDUVS=`5pSses(?B+0bahG+a!2W-(bbj;~wA6QClQ!FTAml z(DdE;A~dFJqLUhy(i{j7&6EZZRIZ$SBgo9$@xTd()i7cM0w&Nvw$9wp)uIy_o6-0^ zN;>~1@1JM`RsT^KTuw=UMoiK^vaMsu=B6aGOYoe0gIGknT&NU)G#3mLlrS750BSJz z!-?FTZD5Abr_>STlHHb4CddTksO#rzv##&W5C~@au7l{iEsvnx!7c?!Pnmnfl?AgQcaS-V z9x{k{v**y4@Q3B(Q09kg6}%UGqda8sG#T9r@HS1O#QSv#^94{1G);k>m@JiT0~Yz> z^;d(h%pX<|0+M7=vbb5~EpWUcWQ(G6-J~8D2k;2X&>Gh=F^r7H;=*-xi0YuZ{}Qa2 z<{b%Jj7tRNHRV;lpgUN{SWgK+Gb2I?w~$W&nX}8}0jbr0j7*?47%vm(AoY zz$~#Sa159;&1UoU^^H8_22*Neyw4h!+AoB3beZTWPNiXD8_D;o2>Ht-5KqRfk$!E$Iw!h&a^D z3M7o|ee8zX;n4{3kor5lHBl@FwL7ZMqqYPC)G`?LoDU`N?gY-~0C{lG&ZjiHekJa<&UOdZ!A(?4rjM7MU_i;cW(n z1FjE91SzG%<#KCdqe+emQ1=qs7r1*703Bf^^d_bd03l$4~%> zsA*E)cZiGmtXVDxKRza9+P)Wc$psWs?r7yMTRW(ylsF^Lg^C<3gr?aONe*(43j9A|hc4q%gkn5^u^ zXk_)sE1V1~kEG0uiaU?qG7smws)9cT@ckPKKHhb*iEGq0+is7XzcbSE~3bA;_sXAl@apc;5BR9T0qA(^_5%|CSiTI+B&SxOApC)B^Xec7#-`NND*tK z^3p7~iv}BXIFUtw#E41bdqMmqKu7?y1bcmcwC%t1;rW-HYX-`PfCtzj;4BRd!azin zyWBt~gdt}bhEipD;0iU65NQBNgbAR*cCB0PE@}QPf9TAsUv+Tn=4`R{M_%{kx2`<( zFMi_RUV7mEqr<}z#v+b^_?TH%?y3jjC;GZn7b9{a0+FrKSDBxOF$RG0woY2ER#%>R z`udF<`euNfOTHkAx(f%1PMp}8&lZ?454mX*5Dc02_xG1ahi?4Y;?^MS5Y6eMqbCj` zpF)4X)F-d|ktz{@beV;N4AF4;YIKTj)L`T^dDdb87RP1lafmjW3sKZlj1z*6;M9{k zD14YM*U>0a3@6GN62Hb(fhYk|LLf+h8M3hf0WHP~vBNUhqJ))(S}ajH5${t9qpF3! z5@m++m_`0yRzQl-;LB1nk2G0*^3u)w)$1hp<*QjGi~Wh6Nq3C@<* z-?~brsLye)nzSjVyQv;Rxn>#D6blHpqS%&jZ;0bN{V+fZb=E@V`~jN~O&ktzDUwlD zhjx*KY^}n43LQ%HU35a`z|xxMq#z)NFI>JzE2rHOfksJ*_>FL7C5Xu*8$lHq-S;7_ zC3&7g#AP2ljYG<_5yAM-J0XUBeQOj1^uiQFIzqm%bXBO(z_AJkS&eR#;$W%82QB2( z33M-ojusHWs_QVN*=*Jgy?ObeUYno$5QYN2X`dKH&64KJjv5)_`at&$?Hrp$B8lx9 z2kL4NQyzNCxov05W#?zgx}Ks0YrmB3^#n+F5m68%xlAtcS+^^(bwD)pVD&h$*2y`7 zCDbv5m*q1tb;ROrfa5d?iKt0w)pbPlnpeN(b6)(}%cH|tGb=08hzXEV(+tC~zqdc1 z%@HAC(+@+}b#2?6J9i$4=CgUomyynHZEgaC;s^Bf9Cbe<*IF)tT+i`9m#$x509G%dfV+4F5rhy&((>phfGr~COV-*I4O|< zeEkr~f^2C&roVyzLVBG3?5SWkL>W#~tX1;HpBfo-taGuL7A{Rs)O=-+ecT%vPK0jQHvAt$3(G z3Yo{&Ls*#wgF$55oCGZYtBMI@OktB*ZsTdRl(n8r!vz!SVQ}}5)94zo}!xgrFtZ+7D7NA0_rW#ZI z8oI7pM!twgF|G@1cW!EoxFU>&(A3ctMUb~Dc`8YJ!|he{a4FKiI!=OZwJnP`vda)j z_B^yjU7Nd@1W##U$Y(Dk`Cd^d=O{EuHC$Ho(d9UYz#zH{;`@|ZmellxXwY9%?W%- z2?myjw`^`~oIZW_>ecJeAOQ7!-Z^>Vkw+fcySw|?$3KpUO_NHimoMM<&?66*mxB#M zKbyD1Ff>iGTrS`9?)MxW9`RB=FEAknTG;MDGJ8~sgf47=zi8qSPCKs?bahW!uf=`r ztYL^X1#i)L0+N@gzK^7rkmOA}pToJ1;#Mk@1`H2YNKfb|F9pPCfzz5ylrsUPlrSa8 znINUanvaN?ka_~l8L=rTbz)W!c>y*|Pn<#0(_?-q5$;ihSQn-u(q!}_Xh29gkLEhI+#>V-0iGERA&FMNoyXYfrt@JMb76|6@Q4-L$X3K5uF zD?V4W(LqmR2guRkh*m)k_R8q04{{WvKPkbTX-7)@aFde42*+HHX3RB;m#j6dB?uf= z2HL|fs7SajklkZaTJXza>1KDy*#-WLy>%WA*cxZW&mw6EG_+0AHcg&Rw+T~P3obh# zPysZpDug9ln831@QRY(!0Q{_Ik4j??*!g!NIS%qrvwNUE(4}=CxJry0ffeDmxVX)% zUG=@|M9pJU77C|BQC-_)2|=YsTbq>eq73S#i_H-84}dzq0RTS_84Mao$e`OTnRJRwYjYAnk|h0E4g5{Zh}C`KSe|YJUTi!cjokK zU;AYx2+%aix zkH^PZmg8x$IKE9{9Qjp37uaS)6aSId!JisralIZBP`oaFbbh96H2}g0J$&CBR*(7| z@9W#NcPIr-J~F%34u3D#E$)F#xr zWf|yF1&6mY;*FlLoh70nBR^YRHN>KCsM`bGI1mCMV9r1Y4Z@`v^aE|SIPi>&F#5(q zrytpZgjn>f{18U4WgfAaZciRQUYwN-j z^>7-bgWL&3hq3LzFez-G!g)&1^@w;tJR&mcQ64U3_}LQhaZ0U?74GmYm1|!qbHwyA~lO) z$QLeLeB`;0?(W{rtA4(|xO3;uo!htPv-#Nz=hoNP$sz@npHdKsB(@KJ@dn2ZK+uzs zOvZYp?|$cm^wbrRL@nOMtxr6_H@wU^KE~l`M+sDnuRIDgz1;F<}Y1rNqJ-f`d)Ud04KpnOMdg zPO^)!Yqo^aiUEQ7Wg2r0tA^bGbV_U82Jk}#M)odKRk4ZAiWh!=bZ3t^)aWp8XY&(dqA!LxwZw_ zV+>CEqg9N!Cm>yfid=VWo}@OIe@bAEd>bg$3AfSn5raEXnUO%5#^b7S^3A!zX4hP! zRT0Oy5g=J1*A)Z_#7=R|ha+t)ogRCu9KS^*4xhm7iXHX1EwEm1Iq|05B7i=iLy@)C zkiW6&q{Iz!2E-<%rk)1?fcheiCTA7=U|Tqm9AgZ~F`*nnofF)$Ug(v8!**I0J^5m& zv?;25X(bi|ePN`q=5x3u=bVy6bAs<2TTq4cKUGKtyWK4+soD>gu4up5<*HIkEF!55 zY7J(at(LOxv|27_vvx6G4E>?fkDh;Mo}JUQP?2y=WudZc;{(lW9)r40;e2Upk#y*^ ze_oaRLX%sLLdt{*hn!c-?$Jk|`>I#HD(74tG=s)C?E7J7XZuyJc=^Bh=RcW;+%`?l zRG!CDBoW;NyKvp+6wzwff~{aD|3 zh**|$fp>R|!KC5_cbV*Ir|1Mqeos61Ah)|JN5{yNss+=GccaKidZ{0$RO+u{-6^$sAl zkOl(T1}%$QnV;tt^;&f%6D0t^lxRTAfcMQI4=``j;Q&ZT83F7GGCVkFyrV+4pQvfj zRNr#W4_9FgRi0QH4v;Q8Yq(4pq<*j$Sv3wWLC+6>yrZnJ!X_l+tUjGpGvpgOImL04u+Xu^W$e_{sNw-u4Ue(5F?4bdpA+Rlp=W8~5|I>exlWKR9 zaAIPlwTN3aE(RWrDGCV1sQR^%2_SVi=A1p&ACp49!^UpX4!iK%)WvdFlnY%t2{|%l zK)Zo9+vZ(&=^NjVGbZjfY1XDfH{{$CCZ3BU?$7}1HizU0Q`WtH5#^C z+`p4f{n)?%6VLmC*Sz|7EN@=@kstlB@BhC4V{L8y+Kuad->YA1gCuhv1OiNG?g9G) zSq(-x#?d)vb0zZ6LCC;-wO5E`E9d4t;*`;RiRiHXi%< zW2Ks#*RLHM93tTZXHGu-)YDgbRw6|B5H z(A5Ix!H#?t-^%f81Laam>Fk*^>l^EN$bBAkLPx}}2PIwOC3(h}0jx+BA^{v69PID! zOZZI^(KQ4b+#5d|k$&iqXm3IDex0$hgAg(2jEMI?@ZhEUE&!$&{<*v;!V=Ck=gS*El|ya|>kE9r97lq{|xu)MYV{kQ4{u{41jXo=ZV zM3Ys;eG{U!&(@JR*5tfOKJ9<#qP=p#A91P_VAEfKz(h}gx!N``ZthVZHUhz0@sZXs zkFuDmpeHi71!KG3q^S?byCE345v)35Y7(YI!=M5jCQkOd?j*ZaK6HzKm>fQo#A=U@mRlQ}{d`!hRy-U=cvL7D5gx1&ItDSJ z-t+JeNfs$Op4kqH>&}$LQPNj+g{ZE%3&7ybAc_cxtJN~K?dN{(=Wc8)_Vx~DvxXd+ z0#Hi0T6Ir8{Y>9wObIZRM=Vm#f=4V(w&_;n%edlindM8*tqsZY{HUbAbvt}s7_D4*Yrz>BLCY{hq6vMLPxgK z{st0?DpNc*G!@B6#}zSay~1|FK4(jyM8P1DF8r^mx6)<$#OS zA`v76%Ed__By_~{{HWMDlrxmdbEv7o^#<-+G|*DdRs$gwSFzep!5S7vbJ9YQ-{;Nn zCB?`F!mZ>R52x^lnM!_0A{D#=0>QJ`WrJc=at}mBSlF*43)9q54QrK!fK6B#DiOZ1 z+DpH{fwm)DMY(tu7KRk>m}j&1GGza44r`CXXbC%~=yAT7RUsi!uNv`YoYdIZ;;34^ zQQQC+3x+FJ{#L$dMfxO*k^fi6$XTrECQ%yoP7{I?C;yPJ=WtVRzspZu&<4P2@(M!Dc}J@ zNuML2JV4I&>dG>8B>n8 zXq=eOGJa84P5-BR?>;R+=NnNG<4Hx+v?V_XGc`@qG;Nd8VRtYL!>LmzpLjeiyYA}M zE7z`FZBu*x`~@Hwx~^^8wYA0CVtsYAYMKTSBsszidPDt5Sza1x3;$~Ub>ix zo_+S}*)wM@oIiKx_T3@pl*&{L!|;#Mq%fR()1Ee`lL+;AV$x8B*aWq2&e9_yVCI<> z*NVKH1VI*L8at*iqPOhVaW@KuA<-^_2y0hj_1=bi z43!TIH%00M&g;Djpbav=Y(56=3UH7~nP{<`k-ds0!-e^ZBdS&MnjZqxVq5%@97t8) zhD;y0V@`6&q{g`~N}115Q+oY!L+$;zt*o9O!A8Y+p&CAn4y9Qk2@sO@#LK-K8fH?} z36v%rx!!jpzY)j>BVE5js3mA)b(D1-ghpTWRon^}iD9lwb152ZHzSoy;IVh3x4XrZ zqTQ7qQs4J|7JH15U*uR}YDDOUWU`M?o~V+uQ)+JAi@1rXF3xFB6q{s8EK}}>Vd(pu z2L#NN5g`*bDKSsos5`5n218W7qy-~?Gt;NRPy$RyM6;%C+LoU<3qa%^2d})*83-Dy zL`^(%SU|IarY$IdBq;E`=$8phAeAAG2xV==Gh@0bmV!boT~8^DkxrvWU@S%Zu0K3F z+*n@+fNr(I@*G^AY+x*`RL7vpgvIcE3&f)L1_^r>O!QAxp)-=^5cIHQ(h z(gP`Si-=7#`=|f(pMBYDU;C1my>x$nzipe+Dk7$o`k`On*m%tszxvnS`Hr3Kogru5 zHlPM`!n%&QOlpfYDHE$36cEYXsaxx$OVce_TAhatH8er0rI-Vp3Cg9dT6}>aU(BJL zcW^F5>Jv1~of9~noXCYFtz(=5PX|{X{5Xm?C?#r)2)sC$2uZglI)tL6GR+S8F22ZeeeL%?A6j_<;)o~N7&<&cMQc-X;fpzna*9KKTF^2tR9dVhhR1tY9JRbwhOtQ4WHy<= z$M^10?QicmMoXa5ZO8qv=nv8ZSCwkU^+pATNqOp*1`*Qet?c`2LXx&&Pp*= z*P|C>)}EWO(;~W)ywk)IRb{QlaWoQY-iMcPa!AbGbATQl9W4lUGO|fdkfYzA2V+Um zy3uSK*%eBF8CYmlC0zD^B}`>Zw6U1YQ-hR>;w1#Yl-aLNrJ<7WQ=SXYcV@`LK*L}b zn=&D00-Ues4A-vRN-6D}+{rl;g=f} zo_ahFmJ96H8<^GZncdz1)qN;7AFB(~KZx~(lc1e!q45=%yJeNfX*+=gbBJ>07{;Wg zs{rQmV8QZwBNt1r35%o4+8AfI&WPCjL<5qje?37&FrUxcra4$10X6NcDRVlI6`!1Q zJDVZm(f+~SoxNEzn=fXwra4+3HO-v(fr;EIsoO@{K8!f;2C>kMuDo+9z}4a0Dn%xY z#WI2on9d}?8O@1$AFU|Z{SqHqO(MeX*$RYOM_Tm$e@iz3us8Ke_30;-Z^M0jE* zQNxq25j`h%EJL-#yB;#}#QFSwV}&Ve;7F2<;$*K-EKiR{bh2T!hjA{f(is;4$P-aS zR!}Ue12FJ?GZ7IGp3fIEqE*-Bfkw+S(m}O}F7rZ!U#V5|QYt1$zA1zM@=L_uJg7NH#d%&ba;5A476Dqd)D zHE1!PA1#;v@r`f1bLZ9r4?MhF9y*hRfXNv$C+EP+iJ&G~sNn(#^LewozyFi}>R)~S zD_))lqDC)qHb_e8b3gBM)2z+hQ3ZQ5G@7vzjJV zsc~^xB=tS@F12t?40~m>5xo2#ONtdjb`B)r01yBZK_8=OftwRb;#wg4UwZ0#Pcq;h z&w2Q@fbW8u#}U>F`c`>?GK*4$ktYr+Km>M-*kxN9efMhr@ZN_PZ?&#djYcyM!d!hw za%hXjH-*Cl7RO@oNp6w)$pD;6&Ih2rS4Lud(j)65di4#pv+A+uC;C+;h-d>T`42P1 z72@?3bs2RT5@nwNVj{{IIiUEinvBjxJK5sd1dsQW8a`7dAW7U` zo=?VB)!cOf&8ajLcE|uF0K~ou4#}#IIv5{ZD`yC9juBb!Log=m-*|#e6Lx z<{|4_xDcU9iRA$yr33_-2okgiB{(;m;n4R-heyRY5ddJy0D$~>viW>YL<7Icm1vOh zs8)SQWA!GSH1RLkp>bxD+|4>}4v#z;gzE|6B$67iX_|iM@7%d_`SQiX!^6iPf8zG- zJL_wUOgUj9C=cF(?GroO+uH{Rhnrj5Ya8pkcklN7&@`=$yHU(DV#`58=K-LFOdTuK zWXMofWA5Y@h%lj_73%U%sQ`I(lA4t6?%qvJTAR%QV95H+6VQ#TB!M}JVA$*n%pw3K zJUlq;mdo-+)X?jQtATQ_oDNcggA_aJg#;02ZFBd|-8*;ho<4oL@4Kg-divI_TeI0r z;+}vhEsvJns^8e$IDPKaiJen7ZroU{R&CSfEDuU#^WYX#AbdfTVF@Dw<0JSr1OyOX zn+{@v-5teT5*fsjlR*12X->S1Ot@lHeNf3qnN8I`qbEem zIWaJ2qB3Wi-9SNy!>k0%%Yoo0W@36XX>bjBHo$H`(K-~==b@8GwaBB42lD~}ZQq7c zMZ&bAe`W$C-={z!78sOO1V^*VneV=F*;!_A=R_r$1huchN+HyNIWxc#Ph}!h4VbS2 zRn_=msDwFC)=6wUtqXO-#MV!7!FpPG1TOpD2>^?V1*z&;mv6L54JM?L$ZdSdKnSRN z>$vv_VjDz0rnr_x#@z_jc+9rl4WLW;Mo5TF(=6tTuIsw4FLsomVt|Nc#YTNe)X%L^PGpawzu`k4);Ea z@;v;WsS-u{k*!~Knojmf~A)L9$^=B_S4jk^xD zpKf{s3P1kdQl+y?0nQxeU|px&U*l?Y%xWt`-~v^K2xHtwNB~F6RR-AJ+?>tYz5Rnc z44Mske5--Z2q&M8!xpx*0V)$YOju(1g~TEfq`NEh(cc82Xa+FI^1$_w$p|2J(9#4E=m`Atju(%`gA* zFJHNGZDVtTa_@4tkcd{x)k6x?vM?f;C00kEN)1;p zq8c<^EybH7DK*+mB0*=PWFia=$IOS(6H2l7;*F7d%OXK;+@?Eg z?UU-O6_Kr#47i9HVBX+CPFIg|HvpCAI481s0fJ+XRpgyclz7xY&?dYv!_9<=D`77a z-6jk33)sFh5ZQn@uiKhcy)ux{=OYNP9Ao^8nb*1`c%}7|s}OC@C)(l11VG;}VD1Sh zCU`3>rq##Mh#YW?Y%7Qp9bnH^IrM}KbC~T5zX%A$n{yJaR82;%KTU@WvEdH@P+de^ z7dHy-n+H}W0;8NR?@owB*&hh93)Om%D|U=3O&FBe%jlHbU3@-RA2+&TpO{r5}jIi50 z0{d#1RdFch5(=)?F+b0W@y~tcB5e{0Bv2SE)dat;9%+r4N*qEv>XcBmUAK$m94aDGJH<}{ zq?~VFzcCCPqSC7tGj#IF)r-)WWh#V}cNoYov3<2sh`TasrJnkAEIj0#o2EHBI{etj zK6dN&t>tQY>*gHxm~maqZf*!YtkBGw_Q4>dY4hAERZhM za!V@8s1m073wk$Nax)Q>FyMH;80kfpMU!X*3@FY7ZEao_MX68Eoq>jo^6e&Od4ti+bFVD0hEbrQBIQOU+IV4 zz_rA{oWJHfu3nxj+*Z08cvUN_YjUIr6*b464%eqb5?V$_%J~6hQHfOuB*BEf@0+%r&1OW@_k&~*Sv@+@9kXVNE4<*A zQc5YoFo3E9N6XERMMs>A%@JaQ3HNq)Pn|gV&42Pwed9O&vF(#vL)Q6aQ=0Clh^$M7 z1clwKh&HcIh~28Y-QC&T+&p#iWVc!^kCr*-ftS?4L>(frBi~|zF%g-{ADLoWeU@8g zF09?JmV`YKzl>10loF7j?JeF8{;WgHBD*@arHtv_@1%7;Jn;a7d(D|dJA@|#^tzY%jD z&Yn4a_UyT*pL%++SPW8uaNLZTF-fQTD00OdDr%oWLfB-u>))O=;YSdUg9?wvin!x8 zICWUbltq&`%&rNHOSpi+j_f&{>|L0Ict2biV3%EpiccXAHxZCN%kmzFGYA2yc_{*k zFuXF3Bad-%w- zP&+`*gp|o5ZAD{C-%TA5fENgyq{Y|i*bwB_}6f%)SyF@uK-e?#mn<2RVndb$-GbD2uzwt zn2_NN?50tPdyX%iqW!>)8ntkmFXaBq(Fg^&}z+7AfwcVcAGZNrp}^W zabWAdk?1_IIyysQs3vKgXjN(uxmdFrpd!PZu#J@gWP2k^TX;f^l#=j!*!48|Ohb{x z;yhRE3D_tA1BlolCT=68ve4;mtcW->s%+IyK#()-?;q_S91eM?XD(1YJ4tmgY&8Yd zXcrr7?LhzZh060J;VhKN z87iYJitb-Hz#$ijDgt7Y$~)_HdPSlJQ@#VMlA<=rL-9Pl`qwq3t26~B{jz|3N)ZAP z4KrU(FYWDZCG^&GUH8n>&j4WCHs#sRm<&u1VYxhd^2w)&a!RRf+mzVAlhRGDd=Ldr zf(MLTP`HS)b_~?ITRilX&Lzkh_yKd}UB=Qi{X42BnAYPC_5eZ+J%o7aXJ% zFol#7Z)z8nb|#hFV2Wixi#AO4g9;XOyc11PfptxWit9} zv6U{#u5eGaaYDq}2;d-^qxJ+ulp2H8 z65&AEyU372$h327ndnqNKmmLOROm&64CD7 zUfVWni^bOVX2L{7vaF-F%gvH%{GVW+yF-thGYmN^PRLU*0{eQ(wLErajmU4L-dxD&4*0#&l>V5Bj|DD@+H#aZ#eOIKac7hq+ zba-9pgvU=FG^;iZ00G+;mPgAEe(-~@`5j;6`&dj$*Y%6V+R2kUkA3X1vInH%hBRI) zD|%pK{RV;zhyxG}837U|4x@R`RdmgpMfb&g0twT*0^Ivgo?>M%L!#qKsFoLlR8+$m z14&vzb{#@<1tbsuHZwW4I~I~xs@dW3L^%Pha$KEV4k1lq zhsI^LR_#uR)+oE#O?JZJp;vkzGWF#)HxxK&nf>V34wV=~vU138_ktC`wbhWC28Wz8 zArkVH=*JlUc^-s-r8H8?NC2?jz{NSd`;cf>wiY2%qb#)E=T}bxXsV|`65;T*qAXuwWdOl%8;~~K2(h36FFu9$$-0h=2HIGv zRYfThX)$-h;XUKPryA-0)DO+oF&f68<+P9sgv*m^?a-yJ41D3KIRrXpxMejVK#?t0 z6t zbYI^XAWTcxrdjDtYElC3yk#9_;uK-WOYhKte`I%c2rSm4>!nAvPI^N^CrN}+yG5D6 zPXW!RlwgL9)(9fptY4X?5dtfu-&6?|hFk$12C5qge+-e_e^Mm1`P z4bKW&M43do*8C5WmSR6h9D#5n@C?eVylA6`JK_ahriziH&iBuG807s5G9VG`_;#S$ zdP6Mb+)?{*K&l}w4c8J0UYW+aA(enVAW(UnQOLdt1O|*Ll9wv_!hwM%7va(^|M8%4 zdwvh?y+<1W&`2Kvl7DHNN-a>$rZI|f5By|G zd_oPt`4Jakn&2nt1jn2-_wol9RS$wrz_C4wz%(%p^r!t$v*9UnR zX0ut_HeJ_`2Ggq|D7u3nc673sQhtt?FA{qv-VeCRDqu>8>DH|qull@K{NNA#(EX2G zx^w4FlTzC@^5z5(AxG&VkERTik?Ym3F- z`p&<3;?(KC_xJwp>Cl8Q|ikkKx&$TvE0gn!1Aq@$=+=XPW#>AmhCHiN8-moII|~Ef$pp?QLYIDX;;1E zT0MlM3r*x#j2+uuGd}2Orq1J}tjckDl#xS8gA|xm^F*Ss>_wndt4inj^d|7g&`ybV932xj|SNt*$h zK?qer-J-6C>15Zjv0AF}Q$86AK{oOtM*z?!TxPs}H~==qAem0Zr{|f;RN4>=R6qiR zlz|4oOEc&?N^=-k2+f8>oaMZGme`W~DdZ9-pa>K2c*g^vtg?4 zbii4j?V>*!nb8WmAOV9jvg1T%S}LUbt~+^f(2bz3nncgU)sN;wd+RptyV`eF7q zkc3k%HQpVin1OS}U>n|%WV_D#E>MLC-jR^s-iYXMsl}3b9$OaAOz#G3%bw!^z^}xn zkRvW_xyATUv+o1pXcvZdWfCkW6oreDMmr}~a1r$xp*}}|ID7%>K%tay>n0Y4Le7;_ za~X_Qt)Hdm7)INX9lNM(6N9C*5#MPPDMgSR1drJw(+Fme{lMx6yFyvD5sVfS@#D-~ zT$a|}kqm=aCbtcSK-|b81ZC2yf#8xeC&tT%Fr2;9oI&!4YK~|OgPSkxgYy}(mG{w1 z@Swt*lQChFl1}+V<~=+DGhQHA3}z%<8E3XW&=uoPp?1Z$so>jtdXacVv49e@)g<+zwew~SW)Qs(zzBk)@ntU}|YsJeQd!2%iuITK|<^|mw+ z?RqRX7}F6TA>O=s{Y5W$(f5Au_dW2)4CoUDvejxBdBVxqJ8a5B!rKID7VNKlIKAaN=*>Q>-h3G$FEnUVwrE zUhN!p;5%z`Jjr`#fCtE|+9@V4ro~IV0k7b@a@Y zXF1qO<*g;|4S(9c8%#5&;mr)@Dfr$Z;EfyC%W4@vrjp-n0tAqn`Ob+G%jGH$IS+$t z&BV#&3W-PJq6#SQ|LTX~!R^_XKX?22JM&qB_ucM({Jl4Cblh!<3iw?*2*v>|AMQXBfHwV;Q&cJlhAQ+-Y`)RvmX?$-WweSkS`*F^$cR^wtg5$@{<>bWL}9I@8JV88WV zS2l`sIVH8mp{1I=VJ*wk25LA&to_=BTDi*8WF>Xgjb5%^`A!vmz#Net`Y2VoH(|Yk<1I__s%3_SB$bxO%JSP9^N`12q^yH5B&t(>*M(Zio3~IH+)%6~bdbo%=m#AU_G)@R4 z6ei2wDIGmz)TtO8T~L%qR%%pbN(~4pJSEz(QwBr!3ILSXK5$!*MX;^+HZ;tK>@Ja_ ztco>-sfIuYx-XQAzrc@~Lnj;(U*n#UEcc0=YP@K&<0d+OM(ZmS3t>G#E)NK!XUx@B z)`pKcqD-)cVgtS<_ubR)zf2kXid5w_0LVMUoXv2NTLW}vJH@ujMQ{9=|MlRH`3z7z zKOx2e4&$l6r?OkoVtTuRvNh3GfbAv#Dv3nii{wHsuZZeKBK!(p@dXC^f7)7 zJs?18nmi0^Ym0CHtAF{u?|JV#-}!4hJ3Be|-hn7JV$=ar)(d40BpnnxLgfa-d%LCl z3_*8Mv5CAqF=;4Hp+ceC1>pqNa0Pu2n6-|}Q>JIpMuIOQHzmXb!3EV~mfQu!)JQXJ)2^?rLAjY2 zXWCidpLyxIN4Bx+I-=osJ=pH9w*J|FzPsOJn@Cim&>vAK#Q!Ab%iaTkg!;=K;v}9C zV=Ji_BhfSm6*_=oViXF4p+Vug0uDieaf>6FOjI&rk~DJky|B6|0=o8~qKIv=p{O&C zqQT_Y#P>OUAIFC@!7apk$13a(C&#gXtDeURP?PUMU%gV3W8l~b#hR65W79aE?kE7& zD00j|1z;BzbRSAc-FIT$33H;U#yz#wnu?6=ly!D>I0-G&PW3Sz15q4_Iv8ppW@r$I z;BKFv?dV{YH+fYB*%vAL#%?9L8bt&&nuSOSpn=T=o}B|A91VnEyZ*JsV7G-I=sS%d zxaFt~+|#%cs)&mTDMRnHAOg0YqG*X-%iw7#N6z|kR0Q#}eL>TrsH;jf=>$f!=eQwu zBH_$}-sgoyX|8ome)$c5CYQ*7^GR*qfAJyqe5|FUJPCrTV<$BEihLJA?3evk6+m}q za8W?xz@b__oH zICla>eF-#BYN;x&qS^@Y>`8E}#JK=I@z~@0dk1aXvW^1jyD6Nup#E2`peS~2qLHVA^0%F6_=broe&A2A`$^_Url%S_Hu@{)e_(=UJP8_;}~ZFa;%vg@cAaJtpfY9 z4(c;L`3oVG*k-v@oTAJM7xL+tEkZ@E4Yj%ex?IU55Z6%bVR6|@^)~m@3%ws+>$-d)kw&{Q+}3*Kk=eeUA*qoBqy@ay7ENt<3HHy=9*oL~Wk9=& zgOO6DzY9j^Lj@>fi1yR^rzSa4tEqVwJ0=-j@adD&A?9`&ANv`A<80( zw1ZO}4c@lNqo)8O%K-^en01ul4#4iVydVG~_I=+ikG|x0eZ?R6sxLoUu4ZjpU?pjy zmdJ*t>%<_2y;3s<$56QML~R6+5zdvNsJ&>~X0_^0pFZ`szT>aI?koQgBBhkd8`a(H z%uURKU9mP)ti#Iy^gs*0wa6an!~!)&u*#w{5ZBx%_Xp!>q17`sG*YE&Si`{DXkiNZ zsvrWUbZA0Ql&%Wl6hq7&g!6jR1PbE?(KV?)s*-iy)|zt8RQ@L-dkdIirEvfW8%&4Y z>hA6?KnW_Lq>e#K35e#i+0N!x&VvYyut%I8Wx2yI4JC?8tb2jPn=AO9DG$T2zP1&h0$BGavecAps4r zT=rjddH&?#ncV^A)Kh8z5~)=N$Yt4y|C4rQ^9RZHBFd17x`FnW-QC0GvdgQ1CjiAM zZBs&iB%u#W8TcZOhTVP9IKOxt$ik}@LvhdymAhYF(M3dFy1l3=A4`YyO`Wxl5+qJw zqY*}$N2ui>LuxyC&OgLWa zfgn3G!K0{gJ!h&M-J|*}?&j1xn9yXFNQDiZ)to$hoGf-0oMH1*A>^3RZCDLtw^Qoy8KAhcJ0EJR?<| zY{o=&36nmDVrJQVRU|;9&ks?}LO{qwDPd}x#~**5~dZYC?r zW=~h*&?{Cnly3wQhY&ODLVi$>q4Gf;eE`gW2pNH>Z<}^^Z|^WU)_RyG$7sLMuZZwTbrBDfBvIwgQ>y9k2MyuSy{{q+IfS1 z#UuiG7lraO4;hJ```qUaIp<;Ut_uOAChhOmR*+tv6(eZiz2SYG0AGph0zGcK|o_=N(e+vg0kUg7;>L!_h5N_ ze|cknb-3&^VLMN4lM&ZSrxM=j0o!C+sue)Z z6dyHn%yVZvPnEF}nj7bgjFaqyu_0PycUh%Qx2DI)#7n3xfp{btC7+UR=AT#tI1tbB zR340zcn_E8Fj3+Kbsa?&eg$@+K-*=v1b|3Wdf3o=yGSEU`ZOMnFJrbDv3#m3=ataa z7c23QP`4va6lWnwgk2VIga_)ZPsmr8%Yb91HXo@nUp0a_Un3nEUtFFXWrAV1O-bE& zdNEaqcu}ZgBR4|+r%89cEFcqS?yo$H6)Mll?U4qx!frLcm|rXI2_;bl97xP22cl8y z35KTt3?|)56si+i<4J<>DgoC;WxJkmN*(BQ`bQGdM1*Q@4|uFV|9QNvvKuk}RQk*P z22jz)ev*3J1qi}hx~}m*;^adX84?PdKsM!>-9RNic$&l6<|1Eb`2`HXRuAKRD2|!J1ICR|2rkDhqtQp+} zl+|CVsDlW!>kT~ZT2%uzT z5R{2vx$aIfk670HLoz56Pc_voAo=bh0Kz|X<)mgWU~Wn+Pb-MgB&679?PxrhITn{5 z#p5QdXY0=U(n5sYf~+jnG8ja{rYH&o8OM<&97a!h8^(IRl#<^~q! z02LF&OnI?b`-5Ngx}W+tKaBvGQqI}?Yp50Kewk6<5uma|(QKFxCi$%rlXI(AV;$w0 zNwlVJwBpcW{4pL){-;q-GE5wIDQZe(1^Jh3rlfIu+-+!cB`?`OI2?+wX;+96q=Uo5YgezQ)J&Q~ zt;by>`=3c6qCB7B2cFrz@%$6_ZOm7z)iA(`oyA+8SiSwJ+ucx{K|ywNVQhZSVFHX| z%{o9tgaoO<24G`8+g@w8=IutCo_}d)V=?bn-PJn>kKJ8f-(5j!7Bg%RbEahL_d2-s zcqWOQ=eKVJajDR2G( zOm!>$w9>Ap&hnWWPC~p50=lM0Bu^uMELz!hUtW4Vo}`s-VPJ{YhJl>WcXA+zH4i7L z4bKcvJtZKA_f;<<`4)&P&`lDRbMpcqb}9*G386_>m)&7`b77{0qC!4HOCzfVNO-#| z>MjZd=rhb3d~hu-8e9}Kd^+pHsQBe>Br4(vQ|Ws$WSEEP|Xf1})l1^aX#IDXR$*xWy!Hno~o>{{%nU$CuuCNd`(#_Apk5aKPfrWk z1Cn4;izhFz0nFL*kM2c;3RrC=CR-yn;Fjt!!BAF^3PCh6A)E_r!Z1KGW7Td7I@l5@ z*xfY;k)Z1aEU!BwSFn)bO$RxJ@;rBxDuOtE$VicM4XcbUD6Y>q(xRy>zA1r4cRtot z*_8>rtMqPi1<7X?OoLLamugI?+B2TGZ(;Er{G`#$6%ge%rM~Z@dpx3;%(}Ry5P^oA zf$}`zvWKLx4+tX^9LVy#u;Z`~{Qx>+9ZhB-eOx<*t5wzVbz-Jz%yERq{u{1U0*}6s ztV`JhLQX1NXeRhbcyz}C0Rp7*MmVBzZ{lK*;}_qKNq~X#UaI^=p28Cn&gb*nH*fvK zzxbE0{-Q5>>C0Zav$I{8o%!`EJlQB%!!_s}R{1DFN=-uy_CEX-5@eRm6pNQ%3Z#Sp zboJ`>Uw-SayyxBTt1zr= z&=H?W<8;y(mF+$R1n7H1H@-IAkp9MYyll> zJPoU;&Y+5Rq|Ov>G;^iDv1 zyyW`tLhq8AqhK89vGM{j;gW&Hc$v*M6}tjz9k~-~$xuYGA{}tVV#&4j6b8%U*hAq| zKu?PqaWaj_03oz(GxYs@K6~lQUUKsEiQT=uCZ!UXlL!bxapoy!jZ|Y&Ll|^97|@Yj z5liRUQ2-I4yzH_Nn#wYIL846H7a%_OWiNa9;fJnVy*i&Shzz*KUPNX7M`P@W@+0QF zvKojiMi*pFeHQIK3g`e(crLBLuL*UfsI19h_Gm-y1=H>ms0f~&iXDk1lGe}$MqL?~ zM`NTqC5V=l13?uf9v+<&ja8~r6_63w2QxaQZ~}yc4W_njZr{Cgcz85lEV^#RZ-zxc zz??Hte$k6Q<4gbh-}^JK|JjQdFC88pmRN6=J(5bClT-#PjSE*uRL*Chqt)tVpZU@k zJpcLohx?c?Q}&%sO>=N~xVyhQo6SJtV(OwRCtVgynU7?ZTZtZ0o6_xN|IdEo${+gd zv-fSUwe$S8tKGkU-^~uvY|aX)kPIFxP=BHuykOk9VWKY6?W6wY!Kz5XtigH0)0>M6 z+w)gEbTSh?b94EDtGl}$tu5MF1C-4?DBDW4=HtjU)o2&oHkEK8c&$r6LnF#G5i#}k z9PVrXgJ9_>qX$flZOe`5hFl7xaLcOz2=D9+28Aq|FtX0hhnct(4n^2e!Ri(PEkOx~ zvBw-3RWdZG#A{FdY;I~sQ0!L7%L2oHhB~7h4UbSvg}Ml%xl=$$VaXI%z#hY@I1dJ+hus(sHE{O)o@14(pPk6yT!2K`qZlR0eui@D!6T(VTbmx@U=+hijR(j~6%_>dMS zfP?e*!sY23)yh~*8^nftJBgq&;jtbAadp*!*AyfuDDZ@n6B>%uivC$8?&fKuGa_u{ z6HXAXAHl_P-VI{Lgz_jZ95QK5hJ>L%xoMmIIea35sqj((PIdC$_o#y~DrN!FIs!bZjMYUEMuZ1N z3Zu2%o?jX(E}Uw_yA_utnv z4FKe=YdHaQzRM_5Me?@+~41S@~LO`_x9ViDGveU^u1~W zv~Phse4Jb8l$pE<+a=T{q#1Zu}OH@~-70IUr=1{hx z(4=r+sBRoP!&n#`>-9t&F`=N2=Udb0O4|8p2{6N=z@}R)t71B#GlQ?JoP?Qjf8uIA zZQ!^s#=mI0UMAg>=ft_{g8lJf4J={jW3)M#QXVzl&KP_NcVOsTksy&1-ai6RTxe=j zv+RzxHn(2*f)@Y)5T#U%JC=9V5#j&{31%}Ep|0;%t5ta}W+m)^;CF|TX$E796I;YV=FtTK$04)gv!3Jr%^czL^?LX_-$A%u0c?%_Py8sJ@7W~FBwpvulnppM1j0Qona1nq8fWsc1yt{hp&QY7-+~(qC z51)L+3(h`%?e5z@a`Wbr7V}x7n{>Sn5lrD#741^qMj!>d!e6l3RUp^Z=AnoLnHKth zSX4oRu<{Xy-t4GU<82hLkrF`lRO1crzZ&#N>5c^j3?cVb5r4cvN)hcqo!rKIrt?8QY9 zl+<8-6?*bdSB)?jBi`*U&%c+h)LGr(E2|Kvs(V6hJu~ zIHiPz3MFO^{HAIEBq+}fEnim4fBy$Qc;%TZh;aMP^)si>rIZGS$++Y+I?%gxYB9Z;SLrf%VN~=m|3y9Vi;H&puuaL>x5jV3g-28lARSDVt26YRsgA) zwK!ii33FLkb~icnB5D#IcEjOnwJ}R~mzar~@aQxY;Wo(eOYFSh24*unHUOxyv%$8v zdOI52l_K{J^MUy~dNfT-orHv-P9&_9)V29HcP`t{0A)9BA_EjsFj-c!f za$2H*$V(bT)F3tu9vmJbrYIKbQ)|bSKlX?$G9FMgAmCI(tckh-5YPe5gct~^C&SM%0JkHj z?6miJOXjeQJt@_lrb!9AzDtNiStf~vtEhb7S~Mo2j)N@DkOx83)C(qC32ah>h}Uo2 zc=qa5#we2DgNufG!)+k$qU_#WSIF#^9KD01_mQg!0inDHzHORJnI9=#{$-I~SGi3? zeaN@ALtgPC$E6aI_>yx){AF%KnhG|6>;e!#E*WeVVB_<|bDq+tf`6#BQVHszFiLfn zh%{|qwlGMwPSQ=gtXp!S*fXqq?*nSy)>PdmH=hUt%VTaj=k!T4=A6w1EkSJiM7n|b z111s`5eCBE)vU(NcMn|<&C@J&xH^IrrU?O(&WfOVKddSobfj{^q-wXUMWjz~2T?M# zvi@Fg6Kn%CUo9|WxT}n*h9$_bInRM{(VOrYz;$U-t@Be|S)x@iD0C!1LQHAMd3}BT z^y#zOV_vNVEa_ftN=W(UTYhoxV~@4x&YybO%hoSkT<#wXIiocK2=$Z3(YMYNn^S@S z04Wos`C``K>c)rC;m0w}Y3rfcsplinFyvI^P(&f;+%(Ojk3QOUtFjeRb<%e&9>@dW z?Q&p^^x4@pDXQA2K@rP7Fw-iL5pU3Ras*R@%ErP^b7J~9I|)ILXu5-Haf|y^Ul#y# zHrri_CtPo5cX? zA2{**Uv~fFS9ah2@!JQf*;uqN42F=dUt#R0(oe>FE~bu&xSWgN$U-K7n;Q`uInNlA zAWt7gX>?d&GG}^?47g%lkEL45PU^PhlHff%UPV{5W>0(_l>_q#!dcH68F6oil{*R- zQBbCpy21*Oc$VHa5km4eqZG5Bk;ocy%WR2cDj8v6JUtFg*|JPcJ&YoBzMf2k2q~q5 zj8~SK8CO=YkbsgajR;wnZIRhXkO^?04A>G7WxyWjQiHk6%>p{lOi;RAp$}Igz``w;MhO){G`y_bzR@B0Mpvq zViVw!0Fd_FR;MmTfBULkQ{ zL);m#ajV4c({_y2$PG@d$?Rc!9P{EW`hg&f2Nule)&i+$MIa$=f3la;iiCkNI;R@d zP?93WIjf>`1TsUe?{bangv?#Q@JAx9rN7o~1izwj48A(2KHw;SrBU0`QBA$@+{5Cd zp@JqF9RL83F|7^{UvYlz>mOOaxY7RfCswb2e1DmmMR{(kDxOL)5kYw=Xu5u|eDL)4 z_H4MjBESYH8`?@IWNs*`Z9~JvD#O51eThvrN>#=O1rC)Gfg{N`4vu`3Tym)7&!W>T zX`>#M>B}m?@eZ94#kF?1MQCC-S}lOOIG*&{I0RMIMJDM2=VawPZ0&3;mtCI$8?8$C zXTK{>1*LB=?R9zC^(WRA*AF_t2FepxWVm7t^*4z&fON`DV?FGF8%@+ab)iqu!?{Y< zNN^1UlTmgwi9QLJLMS^f+>3uo6B6K{Tj@gE92eD++lWC$EV1tStf8EbR()z(iVV>w zrP;75=d_qhe>9NL-Oc8kafu87fV0`GZCjmnverZ|sa`^h9FWK=hI`^Uy?1isgfquLk{NR;)W?G53y&%^G8Ak8Mw4R4LFuEPo?GY^03fB5QZoD@ zlC2npjfm5aEz`*;*5d(C#)@%`hrxM>Ai1}|3kZ%=c7M5-fJ|*w?g0YCDpSgvreQQV zz}wV8fVDj1D`(1tP16D^Q;`5DZdco+!;gR9H@^L^-}uk(pD+6^cj?l(=Y9SE_}oAK zO{-<@x{hWoFtk#@XI+UBnF-n|BQW3C%!k*ycYY6j^bIr|QO>ZKA6 z)T9AL4l|{uft1>=?{m(17(BncWv!XQjFULJMV-XK@EfsI%gs)i{lch`!F83gC<@N^ z6#gTNs#psJ1WCOBKcXmRD_A$fZVGY$iXmW&WhBo+Mj+i%>s?E}0A+Hi3?QTulXcU2 z=j&MCNmpJg;>T{3+)~0O2qAt#1UwT(X{&sJJmlGYvA4VXwzt3SkAB@(17dmkDN!b( z)oRssUBYzY@60HwgDK-(Nl?LJt2m`K(47yB@E6;a~8Y&Rt*Yv-02rqb<`CTCAUyq`W{7>K&R*u z?y*>t85iF#VY7T7+g1YECx(J)EVp`0_`t`7wV6uEMsh5O8wu^JcEML`pyinq$WTP) z!3yi$f=-@t0-!qXOrv29XVKhBz`PHk9h7PNBO_FuDu<$IwxH#R%JPhlLc73sU z=E@CBjn#u=&IV?>*prk`c=hh#!{<(|`h2GwQkx*_>a3H-s*GpIV5qpvc6Qv6_Jo^577tGV3sE2quF!qr_$lo#V*9I5J7TM zu6RGvpebb6IuuFS%&Q~KL24hBVBRSMd?=Ht4KX`eGzth2ElA-KP&ELP)$@1d*VJ zz(5!qWuwkNy!Eu8jYC*;O<5B)U#`ahiQJ&x^czy`3*%Om>m|9!ALT>stwGBrd)MjXnsf&qY1(+~Z?`vJ2I zqKQyF?{!la0zydM*BECN_}9|7E9xX$?T*KaZDvw*s496R=TR`Q#UrjWSVKaTj=%by zR>Z(OK(%eV_VsdyBoq%OFJ<7UNNR1IJYlFU)t*?@j%PqY!Z@##dnE|2oh5+zY)$~b z`R;dLzjovFnNtV*2gP$m#FHma0zlWTj*eE(f8O)H>+gKmH+{o5KKaBG=gytWnGj(Z zhGED=VH{X(9RW?-ro@}G_xJbi+`0XN=fCiO{f_VW?|$d+ym9l^d^XbGe~HV|D1xFG*#A35T{DaR8yjk2#hrVqF)S( z=%EorfCh7F0I<2U%Kz_&u0MKq?F*iB_Bp54e(57O4u;v2*crihk`$(`V#94{A<>x12AYo9DZ?k6~NgvtVREJ6U1J(A)nc+4?$vB|PSO4a4@ zF$ozOFm*n*)89BNz{-16uo^ePuPZf9icSL%P^P^eo>{`JWj@pD+@d_uL6oQRVp#SG z0FW{QQI9z#Z1egIwr0>au;1r7t0_{JDqMhQWThuq6g+`A0X7Y(!QHbA!n6|+0CIV5 zHWBi}I?K7dTrMg1fX&9n#`0)63@ZTG*xb7B(&e@FwYF_fpFaK2gAYFV;DeVhUp{&2 zT_y5e#y#Ds>yBnKZI@&%q7uMlWG=aD*DU)Mn2Y?CdB)30J$HaIF zO4Q@z?RxYUT>zjAbHoV=yx!v|teD=5;XKk+zd9r7~4N(>S}2LOPS5)rJ1yy_?;AmY{{U0!Q9 zXDOAWb;N;S$TUkhBiirhfAb5Q&pAD;j+Xr@ug~az`mFZnpFDc+E-V(c6NHiDvsrs( z_h8<(mriazyL-6T_f1NTBC%>Ws(j1+9z-fhh!~;ED*k>iqbi90WMPssc{0$VR#Mm+ z6L-K=%o{EKhfXXQz(i9Cd{0ye$NhuYXm!@FNmSQZ7o6W!1@8bT15nOui}}gz^;@^^ z_L(qjG1mIf_r=x0bqoE}q;${^&)(gA;M7jLx4gc81Wkj0{JK};iHw6zpvTR+yhJyq zVpmXB^ox`dlt;hVel1Tc&%s?ENN!dUgAsI?h*a8Vd^uhkOQ*<9j8QaNyMg0dO1lFP z0-V@dtk0U8cXn6Z(CCZTq`T^(j9NCaR{>7wUSCruqM8wvsE_nsvbgPiaQ4KPk)W0d zl^LgU2hV5OB1o*o!K2(-9gepmxBO5Mhj$W^G>lcx2LQon_0?92FphXCBPNW_^jTlI zF0m+KB=>puMgnT2Y;evR3kGRKij-{uOT=A)fBS9Ab9yDb1=yr#;cR_z0*$wlF+_6Xw_u2p_mYz}#Lr9B~v-7Y_!nL^|t z@~oxm4yR@iHH@?!N(sw@s}$2qRu2NSZF$HO^~2D2UDtPz!7bG(WoF|m=mYZ}5IuL) z#Z1UQ$VX%gOsMr>_mhCLJf$IueFo`;Q`8ZvW+5R{&UqN}kh7f2xjZ(XGC(s&fa|~V z)~j!N>(&Dod!XDPrM7K0V0rk&zy7yy`_AWn=U+<~AL{q_s7Zhgs;NyFf{%qoM1VNt z3;-KjC-UyyD?k3d>FL*>xNm=G7nEj{kN^m0)Brv8tEpZC!traTO} zgj+J}KUzNsZiin z;WI34J35IL^TlHy`}iB*`14==HGgpE2SiLMtyZfy{>slk@%R&;{n?-W;+MQ+)pcL| znlJwGfBxg&^9BU3z8iV#7Cr>pb)y#{<+dS8%?Gb7pSbn(%O5=XhhB2| z=ic|s69=@uHX|A!)LWoSpKMjFLraKK`7O#|$Tpd_VhNN*Vif=QBg_|&i}pla&cKT` zM9y?ck0r5D&jqf4>ATkz9Sau>a(Bv`9_5)`F76IaM>K?8TWHHXbtWPP>)f=8DXB-; z`Cw3a9EB_ifGS5tm;Vv4!*AiGs<6TrO4oQ{pfcy9Uo`>8crtd)CUvCfq#3mZ zPihY#WLG&@%fydmxX}$qnOz005ye28147{J1Ql18O8PM(=8|W#J%ba8ZuT&52O5Z= z@xp?Bhms3835W-1clIM5q+Sk}^P*PV7y^>*^W0M+%9OjV&;1er=8FwPTpsNMK-112 zxc~m0ot@dN-P+u~|AG4-e(0e~moA+-duDrk>(b@Rk39U)>C>kV4i0n9+b#fCY|~<~ zpiF(&mBxxMfqjo6uUH;iUEBlC%Y*WO0L(cdu9inlJNwKRea82H@AqD~aN!4k@Sohg zd24I?6ehH}kBq+R3D&BCVoykQp-yc0Z*%x@V~b!OZWP7BHSZ#+P76e8DlR$&*CWIe zMwjC>4IIRkQ`HOv%n@Q+qV{Qe9}E_81BSfV7i+3uzMk{(z1lw6{pvK6cyEBmn7vS) zqI?%ST7nDr#cbnX^q$pPK9*L(3#|L8+pw`TZRl4)JXT7 z8HLLX0!Ic^s}V2WPP*NAs*jxYWOhK3Y?v0DHECmeJt1Dbb!WL8Fr_K!b~=uZJk5_T z5?K@==hQT}_Ex#OegByg+iT73{nhTW?-9zXL^Pv*?U=yYCeb-Zh23M$P&w`A?NmIi zGE7yxC$JpB226)wDop6F*Cl7U~(@qo6PWF!WL80HuL#B4|%y-u9h7DB%jow@>gw#_dFeKqlnIT zk&UE0jI1#(xT!4KBur<0Je;HPw`QI7%tU3uTHcdYL2^%>GE6@C^fG)z<85rK$3QPZ@GwZ-0h-*xpL zem{QnT_?T((_(8i5F!!ETaueJ(2B1A*8F*2NjXzO0Lp|JIEYB9q{SFh4C{z>aC$!$ zL}O_6kK8po?dMTa&PkzubpvWu6k`;!sbfL=bjc`w)WD6W8$s^=vHgl7plEKFO_Lb| z5P`%Ta8f0B7oH-MJOY&SzM$~NhY;;$0zhs#uAo2Jy@hc|kn>_~?bhvEKlL*|^N0TM zSIrj9Fl2aH-5vnfBRouuDVyg@>M_f<3IZT_r33Zzx9Eq zo__Kj@BEGTzwfseiy5W_Vq+}aN<=`z(4Rkd_Tq&L7cO0VG-Mn$_^{@Zw+1f(=4Vz4WAwTjZ={p7m1Q3^2f5gdKnRnyFxI36p zhDSbo$I2xYSyc$`k5(d93G>h-ILytPK6344m$$$4#Si}62cG@d?d9g$9P*$!c;Wz% zm|bbmC>EaE6#}xS0$$rn&XG)1{MdeCGRP8v9%um2+r^pn( zseb_#cm4QySQ^8z$-IXGKit8{*#%P2sTnr;Itm|yGkL1CEfki1Gt>S0QpFuaFb~4I z!ci&=EyY;Br%j@hQ#>kH-3@gik%c&!b8|ARvwh21@%JF-+$8J~uN)1l0U^^s&}O9M zhERqm7+oT@?5QMd5_SW$i02yIBDz@;#0CN!5R;)#m2+6LgIlaTG6xk12#`U?6A?1# zBREJC;)Z_cR)+w9X|}$;ez1Q4&;!7QiGLk~ZA>C)xC?~jg-=JWY{KKG-sxw#1d!!Q)F$ayGF-%c*632mSf$&2I^=XJ5C zJX;sb9>F{yVz*rNeLivO#9#W$fAPlkTmR>e{Ltay{^r)U#852If(o`W0a1=QX(5;H zpjI0IB=mHgZ}4ArcwJ&hP(;DdI=HJ)qRU)Tpv2*QbbS9yDZvUxMl~6DA-Be#!Z?qa zq|{-8lrVdEDHW+#;p#^dYCz!U7lYQ%Xopq;6uhg9zkB#{_02*h)vV= z!_nb#ecrzK(uvQxv~gn5+&NfY-S6M^^zzQK+h0;g#c~l6Bt!&El$!>3m$y%)jX(A| zYt4$fgJI|F`kOztdU~%sn4*e=pm&qF+lYkt)SZJn2g}o2YnM-MltKt=}IXkY*HeEqod{F;c}pi{4!QoTx3XXLC_7iP@>DUfPgteO1F=? zqpP=0ZOpdU)=q9MhGFP3Wk7!9L3Lg_i36#FOMd$a#8NWiEP|QfkXPSaW}O@8EFN4Vidcq#^U|jeD^j zH~&XW1dxg5O-h55t;#Dykpdr;Q_ifg?it)DbP7wXf8I+WSDQLskzb=JgJYZpXZ(sD ziGM*f9s`ugGjWh?jF;oXo2Ed#PJDISEFysA4#~hsJfM&?jyDM}OP6>vtB9guQu*H& z=!m4PFbh^`Eaa9EFOyM@u*wXW%>c49fkt-4?Q+#5bOKsx!*31;hVzlhQyFt0!b)mO zojz5<^c6?&gIZ;k^%eU)(SPh<;p&}-!7BWRN#!=^8SQQkWMNf8B zj9Laj!i3n&+IH41=Kay(QQ!A$mtFc#tp;SW>?fV0sUgb$dPOG#rMJcLbUa~P4smTs zkwb$ZFF8CZ0@n57yl2XN9)=+g#bon)&>&~(hfI(M0>Giqc@Q}$0j7CctgYc=AAjb% zzU$1_eE8HK`MNgEx^4w2C2y%jp%Ebuc|Mz`lyCmKe|7Cgezd)PlNO6rlQw4^^%;-| zG9V#j%tPP6(DhK3`w;+ODEnVhaU#mI@vi50&_x<_*`P;txZ-3_x|KJbL=kss;#%~&iZfAS@Rj+)-D_;HzM7VqR?oa&0zxclI z|3_Qf+ruy@&CC(R<#KuQXR~?Vcipl-S{|_!<)L7U&+T7Zto_@c ze*FjD|G|?dPvu;q$-Jzi@nUmY1DhEfZT98I$Rr4&n^N%2rBivi(zHS61Cs0H6kYn9bht!HlN!wEHQays^F=WaOv;c5(mG^q01v;-*thd(6x0C|1+LCw>5MUr$ zYvA$%T7-u3Fc7b3r2_c~ST80;x}8l@*rBqWikZPrp`x-Q6-pp(d2|HO1K`^FCJ~h+ zxb5wek3Q#-&CSjA_4Tu7&pq(q0}ns^;Q4dsPn|lov$b{U@_i3I^x$khJ32ZdqV@H4 zr6T7crL?iJ4g`JIgAS-z292$wL@(7)rm1M73j`}VNz4G1EBlY{E^n`BMc8G2 zyDAFS67TCLLTEA^W&8*4-hb{1`n~tfH%`NEUZ;QfYX?s))7ne}XG(|v84PnKxVswm zZtX8xT%XMrvj&mazi?(A5DMJrlvVo7tO)FihD)I(3#+M^V~L&F`itFyN^8wy_Ca&y z9jipJ+LcFbN?_h|pWG;fR-@NTAn(T}yQJlgQ{h_6iJ&}5oFLvq(stR@pZg(~P9#iJ zRVZd&2pgHwU@Ej`rXaP=(E!ifS>8D47fo7g+tf&)L{U*_a;b(^s|(VbPct4HsyS@_ z0VBAyh3*mn$UY?VEPY%#t{m%)QRh7|$H0+8BEK}rO^VbI5Mdel3_~6UD)Uq*&z+%S zcTC#GEHGxNbP!7zYFJhm@Yl)PNg=eH}Ms(3k)as09wHJaowc`pwRttme27&PrpB!f> z-Ze!wf-R^jNovv&iEU`V#r+TU%OwFM_kLqU8~_G@+4?#z?_B@?{O`N} z;SF;f^7`7cp*7P3Dv*$f5<*ICKVL(D0SGApK_*@8+p;0-tn`n1c4vKy! z0i4O9sBl+3GgBL;UR)7VS8s8Y1i4^Z=Zb|@qiXoT;qT-iiz74{XK_77qZma<<@pRc z9 zYilT*1ns}Va1}qXpw?v+MDpSzi62GT<%a`llM%F07#+$)TRLHr>?Gd+7C`dKCFnuU zV6zOgkekKYd!OAKGQH;c7w75v`>q}?*5?3&3yMd9HHWmKvzR92nS7FEF@8PzCp$ub z)cU}*A}ssdXIg6{Lr0B6ZM>%A-=Cyy-v^cQ+QwC70gi!|`jUENH5)<$LEG#HQDq_~ z2vSMbrI~4xOWa-K*F_W6P6q-JoD(wvqW2=md`@yAZH*~Hsupyu%E!xU7@r+!Uiijms4nbCeIYk(E=CIuYE&(AEWW+=; zKu%?=EqfTUmL@DgV?OJBc~=bbYh!=_V6|Kg!x8{y^Y!_Bez3m_loyNjN1pTWnbW7& z*49p*IC)aHI1E>Y2kc6C!((F z%9)(?)sX5u$&Z5MPK9FV->cSG@{7}9L0g^4XE6ta2@@rNz1_VB9(dquzy9kUd;E!~ zpL}YuJ}Y~dfWs;mef@PgYyi=a5%nnnCOGPHN=asQ(esd^#(jCUjBd~v*R7Uo6u&Fp z?L>#FQwkhTB&jkn0&$p9Iymfr=!+jc{gR98kKa9d%SUfr-yIGH91xlW2|*vCj7hWY z1Q`$rX=~A3JxG80&C8dZ8s=?!&-KH{4`DIGBpGZK!Hzf5Q-HE#av(bB;ILaUyz*>; zr`k%oA+xSM=?QHw@J|25i|Sg8bRi%B-yyz`kpM3LPy!5cLPK%ByVKU>lO3EIGu98B z@<2TOC?-LyA5<n^L5EQS5wwl6G953z9a7l+tRTW!LRtUj~=VMZ1SA z>)(2`crxN<52%?|_6Gs8uA_QPuf;_I3#8^%8_y%{8q@nJ4ys_C6F^31=Y-ZVcU>s8 z*|ft)W7w#%`T|1N55q9bn&xQe5u55NM56}sE(P^NtP75BTvD7Nfp-*p6Z|LivH<{^ zDkhba7IJf_nud5FYPuTVr}0}vNPsyLz##ewobwb`&O8%iP92j3I;B7ZB_J|MiaiCC zV2dtncvK+4{F2DWZ^b0uzDTl1RR~kmBeAa$V(hxEbW0Wk@PbjsoD4RrsDZnXr=+2GOQjiAQ{TM&tN_i-7+Dk1?pSb$uxo`T@+h6#a;b=*e`7O7E0})^|pU?UyKYacB zzi0Jp?@jZzo8vI#0dat`<0dDLa8M#@usfppt*$u@OpxRUfYU5z$Xv%jV{^ts5+;VB z4?3cATaE6MyTpBVqV8mg-C;JpwTW}yM=hWp>Wv(!5=2-OVf~?2%&Ui^38oLV9Ij5o z08WNP0xAzyV(AER9szxCA4R97v$pV~s|H2Z%HzJrQ5ff!NOuHy%9(^|b93w0-}M_m z^5Z}Lt>5xzu3x_~o3*>UyXVfG{kFgG=idH~x4-*0e)Da=`j*$c`ZWiKhfUK^&TDIH z{c8D>|N7q?9WA%Fw{uwqbu+X?fC=~a_TTuXH+{*Me97J2yR&vyo_9o$5dn2K9s=Zy zm~!qn0MbA$zqU93{`dW(kALJNXV0JS`;N?{kn+R0TZM!T-<|a7{vF{a@&vQSTrs5p zVUMJZ`jnuFC9Lrws7>W1a4=Tv8$iFYw*JAZhpT+$_df5!oUZ=n_2puHhWvWjB=&?k zPzPuNjMwymjR_emC~&BdPs%^XGCdOFvKv<2ur_Om$Q%ymJdv|(egL38e9efp7jM|C zKPnqp^>6Zg;L^xoPu<`OhtK%cMpIuCY^)P1{c4^{h(^j7N7dU2wL2ft6E>dM-NSw4 z0#0n8-sq1yWY)6&wmT8jH6*cMT!Lib&#m~1k0y0+Jt-vu#3pqKZg&W?gpjj5TSzQN zW}_nF%93BUyRxwHnI18<&AB%9d&9;$LjVA1 zwzjwW+%Jy~0MeyPmoHwrxVgD`;>6DR^XDJ9|A7Y|df?*4i<=u8+uJ+$-+%vw3+Dk~ zxm+g1ncIb0vd_9_wzcR5NS0)kjw{wuF zmmKN+*4vbT_>s*pmI3s2DPaWA zxJh7nLrTe!Wi#VMOQl1tp-Nc45d>L>#3kK&?9Ud;XHaFU)>H3`baW|qCR+-u-!JA2s4ka=! zcdCVt$#M#$5?3;{v8+j}aNL&1MlTND!9IWF%V{2O!y(<%ZpIkdT*iqDN9@ zYzSICb7LfKV+aJ7Qs&E8APcRkD!*T)N^U)7E35L&Oqr$$mWfT}4L~r^I<|%z>QcB4 z2HQ$uyeSq7_PBziC}}7utO3wQ{nE-U-dC5?R5I0pVL*T`rPMUdtZnCud3i~bK0I?E zLV#J@Zf$Sv@9+10UoguXO#l!#Q(~K*)Zk_~0l``Z%H^QnDjGUK*2x0J#NpyftE&Y_ zD8cUx&fpV=1ppHgHn-+mSK76mel=@a$~|H(FUlZuCqrGM}BY*_6rfv4$`1+ea_7hJ9?z!TFA~+Yu4^7#mlPff-ZH2pGu%w8rLKl6C@-F<`^I#zXFrwOU+=X zn`*}u)<=UvAVJ}pNy?rm>4NmRhs9!k_weY4fB2t%;TOE>b3W&DZr;2(YulrP@>%abMFI>1VU(EZizkcKD&;8t+f9~ghZgXpM*)3@(8DLs7 z<%E=TpEF__1{wxxQ+cBZqU2K)kBJCU)8xK8dE&%de&y{y@uNSnbK+#*cN1N)F1Z|g zGtv@;kO4C`l8qKo9AE!w!IY_S!0PwJ9g<-b>*l+$Huk{7i_ouctbO>};aa-(yPkjf zke+$}t<~0|1$h_51Q+~FCU6D-O46&QyU3c2S26UrAhJ&w!t#-Ptc_N6aPoWLq9c-Y?U0!lmpwn_!^ft>d7oV1u^|2?*BPip2xU=nnyAVK z`yt^&Z+0HuUWzypB0nII)d z%t7QBFX;my%>hbmoge`b5hf`AH`F7{7kFWjXrNh}hMW;#1wceY?l}jhFQD5X((>@I zJOFBQ>qOI}y}ex;`g7;bKlq~0JaO{G=H}*^)2A<8zWngR4`04~>BNbX^ZESZ#S0HT z^dJD{oLAjyZLwyZrwjnIrXiw!wJJQwLs;)I>GyN}Fc{2mVi(0f4BQKzjJ=sjF>c1{ zfL=-l@e5N>n&#L;S@xgJ=UvxbJa^%>U;5v_{-=IsZ+~xdV?8Czb>cIyZ$^l=0?T-! zEux?pAEAAlA6*Zdt8J1ifk)GXLKDu-P!u(xRiK`SV>!#j)WX22stMru;jq>e~UvQG?uwFJt5X_}S0FJ*! zj`FnFZR#VF1)KGtAV(b((+W{IReJCAg8Z;n*0`|MdyducbNxa|8b##{yxek4yb9Gh zNjHjl`I76Rhg;GZ=^bT(JOJx`CEHb(Nm!*Rr~Vb2>>J7A2ZEoMIF}G4v5E_Xc!VJ) zkAys&hy_m8)3S5?~95DueYw2Xgc6*8ev1qZl}Gn zuT%h9rf_@JuLgSpg=UJ4)=y=E8o(HJTUGQ$?YbiK1Z*PUeh)ohTXw1a!nTwqU!M8~hfC^dd=ENnPobQif(@eGA(gfD_8&T7h{5; z*4lS?p#)Ut%6S9&5QF46@1*4Tk<-{*y%G*;C5$-?u$TZ7%P0b+bmP%iee8FC>xswS zeCDYSZm(~w@=yZa17O0G03iV&K*HJjT64I+_pkrO^26`D_-DU$e%}k0M+dXDjYP}q z|J!%({mg%yuU4==C(P9K2?>TK!O-Lt^&MuwOxUj4mfiz9KeasZj@8MpoX-Rhg@59r zVM;ESDGX)oqp(Cn`JPqg=|y2J&G|V5b0~_C%$OC#NcPn_0eAPC_zSuPQ&Zkg=YCU6 zA(76Gy@rwSJ9r4GZZuiAlyq1j-H}@KsXikM7+nbP>2p#Sj%Y3L>F0QS8{2hpC&((v z061izjg5_ueB`n3{@dU4V?Xv!*A{C>%cC|?O6{NemOuUO_r34`{eS+SXRlnzecv=q zd5iMF(Q-Cx0HN=C)RATkB^+SLIp;iY=iM+2{XlJ7lC3a{zOiOt*9}`+8&6-k^6lUL z9sSU)HH%>wxGEDYCuX($xF23h&vwF&{n+MQW@RoEtC5fWK66p zZ%3g_FmyW`>+gPce|!DrYaTtn|Ndv5IOw+)ZFcFb5Cy$%bcB0i)5>q>V){y0F8tjd z-m%o55+3!#;i}u5H-I(!IjP2_fN85tSnxH*3<}ix#6B*~5dl&tfOuf&6!XcgzY8Ex zEa4AD74{NgLJ)$@FcrgCgZ2ElBQ_m?YD^f5JxyGx%1KzHN~`4h(FSH@3<2EiL0gId z$&$e8O#l-5(fnO;Ls9NP07{4mG;a_o-|pc`PW=FFQg048s~ZS4|0MyYq~JhJ8TkZ= zfGH!)ntXCTT$m34{jy7W)eitYpiB6|jm@p0TP|0JYa5#{e9>oIx_D{l#P+F^Cof&P z^yqUQz3=j+lc!F%ZFBO}sRti;puB#e>$;|CQj&=!&Hm5oo)2zlwltN}b08pOsf-?A(FnBB?fwz*T3_y^YrtgON#{4rs z>$6|@!WX{too~-MJFPLQr2+sKs<1>Elpd0q8-M$!@lc=(UO?3nRbR!85dEi0)*(o( zyO(4qk3&Z3v}=jSg!CqGWyY8=0biBp#9+KWn+-W1b$NZ!mRRtVb0Jl_?h<031A79+ z4!RW#&?fRozQ0pls5;Lj5z5Rg6Jcss{m=~gn_qQtx6eQO?q{FchX!H2g;dg4ohkGt z*e#v99@&Z!Ae1P*C(Kz~a(7KhpAKc|bMe!iSHVYluB6xiahx1CC&mwtJwa^1jHnRR z;3%pT*O|XG6%t1jl_lD&lX;w+t-JXV1^=nWitd%0%F>Rt0F9l!xogtd&kiQiqiMmJk5M@;s7puie^R@JvS#1fuyQCf96$(oj2B zt*gq_X#0_Mco&F9O<&Cp{)NSB*26zBVF0K?=3I- znxlta{=B#U)kln7;}n==9A1Tb%B-7x&>+a7!TBPajZH=q4IUvc#8 zN1yro-%W3M$Glk|7A*|}VPyM^@;=5qJngPx;0Z{{# zNQ^chLQ0qbo0OW=R8iU5_eYbh${?U@K_A5}RS+kvmLJdYKt`(@&uCHc*f1)F4greI z4C)(9pX;f>DytkxNmOsb=@ePuWz=7;ppFKk^Zbd$Mt3kleTXBe1hc>f7LZ1TUAh_C zNU4tN4k;o4$V5ZN2G=(h|LH%y;XD7T~%R zmBGtY`Ra^*C+UMu4_JgMc44)04gR~2nvJD4^xZ$DxKzPvO2>_IsC<0Y^$@E*61f7J z!XeBN`;V#v0+*zS$5keob0Mf{Lp@$wkd;0Xo=GMgv=O2Ff z;YS{R==_BX>+9>Ao12&KyKj4It8jvHPK|r;4H1;5)aP8@V?#tak9MK*+t!S$#mdJB zu=3JoFLpXQj()si5`xra1^m#H7R`|TUIL!>l8yyu{ii}~D%)^4I#*Enot^+#s0#eeSq2_4 zlCws|loa}tJT98L9n6kGx|J@hM`uzhqv0f6wassF1<=W=tpy6$%5tdul6tj2vNOzd zMm#$gTlYa>|Ftd@UcVhpFo4VS!@wB^f7!F<-vopKwYV{5Q-uk^@GH~QktWXga4QNv zj#9;h)mh)!Q9=@Ox41W?ich-IZ}31;gAcyiRs<6$lFTshKDXztKTIe|T{7nc0qZy(E?0d& z%;&Rq)xJ=5j&GLt{4D0B*p_46B~NpyqQFtZSa!CnCDIPO}Cw5fTiU z8eaY6M@^S_T;>$Ha*{IlQ(|*aO0ukF{YgLwnJ6Ksg(2B4L5Tb)+r+_FK^itLBwa_- z3$jxcjH4ScHAoEYB&oC*Dp8FU6+dPxtDk)MFqyW@Ode+dc=|};QdYCHc~@Xe98}F| z%t>Vi{YB%Bc2zaMK4hYg62DXe3h0JBdYms7sXR+A=knB*@~$%^z?8}hkh;F_hJMv` z>uY5{MR^qw4nuBI+Su6GKiD7o0h61HJB0FnLSXa+W9z=F;X&z{@E!4JK~%>ecyZE_r`oVR8BP^m8w)ib75;R5`&?I8!+zWh0Q{ENq}(=2(_El zfLqI~W$Z?a(QVv7i%AQ-Kx!c{Y8enh1E3L=R4SE9Rh3y;nOT|n^3C6H?>#4C_a6~^ zigUiKl&Djc@4NS&I1xK`?ETw2cI=4bEU|N1Dk8ZlrTJ8*N$yENi`YU!tBlCI`B;wG zs&O>VJT%Rzx7!TBK42MQghnKoe^M1D=C++|+jyPgRWlvp<=;lJClOWQo_Om-0F-FC zT;!Dg>R8JU#JpN8e&Cni z_+1}-`U`HXe)`qZ9F_>lhH|E{7ZV{gy2M<|Wrd6LO{IAd9=T3{dUo~7L=Z3}qSN#J z@@Rdy=*|-@qg^ux)6fJ{E;a(Q<&`zS z+Kj-P0#pojBgDkbnvT$0Q^3m3LHYS&ZN$)%I~!PRZdt47lCsPkrXWt0b~F{rDRo@L z4hK8uqj%S{I_K7E-I6Sx%`*{7@)hC~LvJf`x zhpvxu;!laSm4CuG0OD0P@j6>G_Fgl5d0RZvf;NZq%Hx`R-*zXsMh1MYcpEcIL7e;&# zBwJcLC3fxeb8(1zPN214dP58+-!QtN;h0}N8EsJBpdE_EBc<0BDelItc?R8M z@)J?xA27jXA*X3kv*pBBpIfR#wFsU*WTi*`E?tx-j101+A}a=}!w635Wf=hVB|qYF zNu8AzV^eq;&p|_JZJ);BJjH#8A;c~sVhB2XY~GB)taLED0P2Ph7D*KyEki*3@{EgZ zj{n)<5ntIqjQ}-UnKGC?+8oTFoa<|&_;pWm!dw+?wVhIDn@v%F1&1l_HWAg=wA+!e zaSkFx9H{%uBe=Jvb*Fer#bnm#1@dF!9rKYR0vXk9P#>@GyS_AnQASl%~B6sp}E5&F%V?%Y57{_pPwSZpp)#60Xn(T-f!kqGzLLs$^>o8cE} z^N+TV{iD;H4`J0q?qI(s90@a}oG3wNVMRnvfn*v*CaQTsWAoWCOr@g+X64*8NgzU1 zK_0e>=p0>cpdb7UUzHeruB=-NZ674@I@AYnVLq*&JqRr>3Gw=i=$|mgJPJ|+xK+p+ zS``B1ALAZ3wtp@qh>0)aNj3;aC9XNNH=dj_Rs&t5B=Z|{@~4< zH-~X3XN#b*PY4+KEhWeyUzs;%qWx}v?dsL-Zu`f+{ZIYF@B6;Xhld2YB!~%XN?c23 zCERrljrs*pBZ=Z8==!hv5vaaXMZ0+G$%?* zjXvn6+H{fgU<(#f#bMImh9TZJ@A`)_7vMTe#pMqa@1E-MLdY_Sh>cKoDTR&F2Io&|!c}mopLU2k2Jx_X zO4s${xCdBO9tVd;8`uns-)E;J zyiQsU-?g)SmdAQqyMeq<16a9~&1yVI{%QH<(A7-))hAU8SqteRHHVw32O-(o%6b_v z9%LC7Ghrkre%|m9Y246YRHKOc%~T?~siR=ThvUc&>SWH(!fWU?qC+K>v5pK&6|(iD zYDinFOxkk+ROOnW4eytrrqwEV!gF2{AG|9SVZ`pt7Q&Y2w0-YD7tN2?|mOSXo#v>5*mXdCMIF$1zP zwGeYLFL25R{>W3TO1nTEGihyf9BOzGt0bhBA6m&+2xLku}l-*v0?^8EZ9sPcyy ztky+iF^cswT`K)hNUhdZ1-8IjUCd_`H(;%R!=pXPNkRm~5Mr$Fpp5{fhjlMWk*qub z4Y3Q|IKaL2%^&-sZ@qW;&aeFG@4ETuS8iNg0}<^Kg;aZo6}yNiF8Wmp7?A)ej|fzJ zpQ0!k078d^CprF9f9e^oi53wvIbX6hoaJA%-w6=U_hZhqh#~Jr!0CDd@YGF{ zoGo)JmRB^xN4s%9=A+f(GY?J?J6n%8C~Z~zQOl76Fv-kTs#C_>LK+@XBgEeNtV)vOg*9cIkDS zUZ?db!P-*ex&W`SPXPn~xFJa*L#zfbuuNik>o{P}IYG`j?e;r>v>)MqNOx{OJm^LW zNSBWDqRYE|#t83t4sJXJ2RG>On66$6*Pp~2&%)JPuw25j50|gu(NVP#!+?EH0Ecyq z2mmN&ASzqnDHG+aad!fOTrIL;X8A>7@Pa5351$$$_q9=Ltn94j)MnMlOS!qQjJV7& z!5dtLlon>J^lGRGo42tVKe>(~>Z%M75d{pp-R@v>aO1}H&3ZGA+0fQ@PsjQKPLc5h za#qp(yk5eo`W209TzEgB%|FrhXr}hrf(;<3=^&L5jwV6#Wb@F(i3gKXLjaHg76BI> z+K{jv{~Gi!`isLz`A!=Xgf4jIdqU9T^Qn$Hae=1wPOv=t_WArMTk|kb}QX&WSR@+ck-^nnP*weSrF0jk!`V2jjYcSqC!li8%DtWQ|t?K3F4Q}@=Jr8`m`$ct1Cf4r!~l^Z{XUx zKXxuGys?4_UN*pew&YigkV%lQjktcPgE(&&*qmy#O@YFWh@GNvr2@Q~u*Ov@5oXwg zB)gub*&x>B8#AU1Z)6Y+*DPTTj8EK%M&p!ghHqLJXN-v*k26@f4RG5(nGQc?EFvQd&B<#1l^S=MN=YI43gLk~|Xa4T; zweLH=x?C)ehSL*7LX4H)2tb%2Ls|1L$s<@JvqYH!gvAt#ScJy^@Or1YQ7E8@DkP3k){}ONs6}l7 ztZ-V2I5|~T8XZQXW2ITSbOU8j-|z()J`74ptF8v-9`Y0%pb9Y-yL{==rSt9i-}pP< z{fSR~>f65UkAA~9e&eHukKVZb1_G^D>qOMWe!tsq&(31(Al6l*P>xV6|ArdPi7~_& zyAWdt05A+=rt$db_|nngKmK2T;LrW}zx0t`_{ibmCdQa@4m`_e=_*miN?yTXWuZmF zI!vXc=a}lZaRLKW~Ks8xHvvzJ_3(Z~z64=%_lPR8{730}ph|7Wm7d<4?d7j0U;#S#p@0J}H zlfI+Xh@C5nZcAn=N0pS&*hrLPjDT^wJsUFyQ4BU8@VY$>tO{5K-&aFu<8IICBXeyO#>0YE&yiG_`Paf0fd?n zSG$P3&<5JgBA|`X2?tE-3ZuP|B%r#nLzNF%8`P0RMGCCLgM=4KhE=43MBD>YKerF= zOU=^3y7iWrBRcsf6O|7L$*cFxn>P*)5AWT7K;>;0bCCo4x4!iQl%L8k2~>UlqjG+^ zrF=5sj`D|v)xs{2EI-u3dQ)rE2$lU0n+Mt_`Ehm&>~D=RXLZGvLK`wDIWC8b1tLD! zj$I#(r(tkm0tmHc#7*B1iO%;q_9*%Dt~~%(l~Om?L8ty&lP!*bDHG)U2fpmdkKa4{ z*RPy+i)DnAlQXqws&LFB-2f&G(co6q1yu-B&<-EJVgVcEG%ijNOHaPL>)23zAs$|S z98GsB@t`4od(#jB2ImEH8_#7nS;_*D5H6rCz2b)bS_%pOJ;RDY7C%rZLK)jS=!jrM zs7{Q1a$Rw$O$#jIGFcE5Yki}ZLxwpM*Tz@=R+l`bHp@LUFXwJ5WTU+R%%*Bjlp9Kw z)fMZ9u&OE|JG4Z!4txcABc2Kv#uaI_(aiiHINtz@Vy8Q*8F`%H^@*0x%M0%pls zodgk031aDjGIJ?NxoYOP4a*|<)n3vmS$F%jrEH`7z>9gM!`PPdO-Py~7%M%2K5qt; zW%8_rLIeOlF4IRUz*R>wZm8p43ut911L5yeO-?pDd1P(YbfxKimE}?}gBO)5u!vkh zII4El*JS_{(bi#^#Edd(Na*S$kf_w;j5(A)#GuJIr;2631Ke+udYH5dr7q8cr>J&e z-a)I2J^(5Q_ntpN7K3ECSD7o%oQZ$Zzco?0avSKjPd;ZJf&RT z2%0IMot*_d=oeik3?;;qVYObBqZTntQeG|kY6PFWid%VCFl{yjnu=5=>#QBACa0O~ zJn5whd_B;$i~)xhjHYIQk#INSFor}l5l%F_WhS$`lU;^ zZtaI1q=X^V1!C!G2qjJd0RS;WB8;I6!@Yawp}X=2zUi}1Za@0^N3R?#mM{V!K|qLz z87Ko%eebu-U&&@#m}h9038t%O)b_SR~q7635Wu4M60 z^w)GmiYc0KCrGPx{WCvXWOE%wfD)%QwwENBq?L0R$;9QzIEFdXdVSFMiy!~jKk=zQ z@_+n~fA{bCgWviG-ucdVzW&;44<9_(55sD;UM^QDCnyb~dzmlRpd28EE=B;z0K+%} zy={{HuT@0)MjzI^!-BBYdpvwOsj27`-$jj+O7pX$(1V=NVb zD~NN?YXq1_ym5*dsdWRT;-@KOjBh(e{7Zwj&4rS#F6G7{t(V>1hv%QX^YGc5mtTG~ zKG=<`E@lbDTmaQ5b^w3?V!*R~f()B3@gzq!{tgtJ_NCdmxZW#86*!PQJ9JXhV z0HEtv*RNj-Aq?ZVUM$}6{x5jP(@$T!cJ<2f@r|1|o_Xe(r=NcI%9X2E7BnoE`QREZ zy9@vcXuqRw2_57FVI1I`2s7o31aLk;nOqY#Qp)xWm+(d=b$m47JOQ!F_- z6@}KI=%=P4(+_JZ{6+e=x#e?;W{9rqDd>TIauGrT2tY@x{%oJm6I@yZKIBL!u-=1f z5&@BD)5p`@IAmH*N#RF1IjBAyfpIExQdV(61C0RAJ}CPN^TYFIriI>0Snu)nri>qMB9tlr87>nSR zry7H0q>ma)Sjn{J8QX_|mzVi>8FF6`Wl)ql!x*jKEn^Y0t?8Yt&QGXO@vD$v-FGlv zaG4c4pTnJVs0`uHWrfKSQQD)X&$Cwn0!xdmEg8zevalH;GH#vk>rA^o7{nbgKpwg>^^xhZTPustz@h;qvbz70}Jh?P$j7GSZoN%g9MXc}yt$A%~pAp~#i<`vPb z0yLM^A0};15KMplz$zIa`3?==$PHI{ZUfrppCl&=4UNKwQBOpHvbqZn~6O!T9;q`FQx|TM?Y~YEvoEdDk#maYCE1hY} zGgMHLMc3?{;YgPWs{6p4bQM88@3PX;YM03?P>LJ7i%O0tsLtl3(FSe|ZrWa3z9=Q+ znC?ekb(1bo8S~~ut(5H=Pc6#%QvguHKbfSA0h7CDa~hu?wd;*9l}zly}#{1C^MI_!;fP~9J>Tx+nQ^iG#V2q+N|ec)^{2n{JMqW=<-wCTQ@#QdK_u{=I!BK&pz=je{AzrUv&Dje|_=Bhx^b|7$F3p5Ge$p08nEn zLO#|WXn!h~7_W&;$3?ztyb{sCnVUlr0uCv?_c;Eg-*)SZj}s0V!s^SP?0?S>-2dpk zb9rCf1+IlLS1eJ0Ts|TI)%Ssf5Qt*gE{U}qLY*Q6#87k>4Sd#amZYpIs%F+9bAIU# z+GY1fjT|GvpaZo$l|B;Ev=MXLxru)6H!+9qX;dy6ihTR_IV;C16FKL;?~botedEnL z|I=UjpMU(vfAshKp5Ogj|HI$<+_TR;JUKl-Kilp09Ioca$lwJ50EH0yzE3nR7K^LL z$BR|};)^f--M{zuzW*QpufOz*AI&)*UpdY><(xtY&N3A7V>{~Ru6)}AI118xZty*V zI$!2kJ+B6<-4GUti6pJmY)N9?li{U-QUOY~#Viaula~iPesE7Q=X|(X{K9ANKXdK) z=_~6GfA#@jkCe>wOod@Y16YVSB#MF7eV~c4`&C^Ts0(2?r2FUl8<$s?7I91|2FTNl zPNj@z0-RVaQ$O413m$)q%Zvb2-1MprH79m?6>EO zimeh zS#7MOIw~%9VL^pjS+Kb2I$2vceNiWD0$`3}DdGmmmF4_`LXvzivnNM{r%7Eesooko zL;B}f5Fqo9PwJUd81E!B^<0>5s?uQNpu7lYh_qWq=SVdJK%!S>*9}npX5OlbjvwIJ z)($;`r=dZ&WtckT5$np>g+Z;7mBjVLSXuU}oKj8#h~$KcE1S;HwNou{^Mkz8i2osw zwa*J6?yc99nw7a)m8ZwH5A%Zyjz`s4zeTfx0NG{~$poCaR&rr^qySKI>Sg3*@zR}E z&VeR2SYE^C_i!0Wkl(P92A*X{Omk-p}YnG zLx>?D#&QfyK$0MNx9AV>;PmXY>~QQt7{|2T?>6f-a5@iVS}giu-;F7uW9kJ=n^92L zEmBFlKxMQd6HcBopIahEg%ZZ2OgT}`sZ_x621p4K(mv6iat2Hp`L)KOPk`h8EUu2e z^2?t3j_-K*xBlwG@A(It)uz94Y20lA5n=>Hh=>6pAOxa-pGd|Kt7ngYB@V4(NSPZ~piP=x=^}3!6Tq0YeuEGQWnRXdZB&j0j4aVj{|f z{MKg}0EV20j5*~HFca-Fo((AhX3Ci`6A?hlv?o5=FV`IrK?8PB_GT4cie>{8-!j{j z*BSdi`Pv4HX59ueWpK~V$`vb!HC2-`eqaD(k)_l?jeNI`1+X4ELo^PAfsT%j&d;|$ z`O`o9v5)`C-~apn;OoBTYd`p9U;2e#@at||ze#|(Y-1xpYLXsvu^X%P>iFpR(aD3K z`MIC{kstf9ANk=Q|K*SW^4Zzh;lV-QcjGt`Q8{Im(a`m69v*`fH4GIc?4?k)lW29}scW@>kex1jkhP5>qGt;EaJ`n$Q4a@64H#Ji|_ zMCFoIIYi?v<6#^Pb{;*JRkT57E(3(PU&a!O&bxP1BY zjT<)rLQ1I%#+#iB3PEV}Wq$5r+=E%G_V0eVye-9Jf+{ZFxmAK2<6%;9<{I&4hDXM8 z0I4lsM7E4L>n{P$EPC_3ie;2DZ5G|}s{7ej?ku{F?Mao-Ih0ToE8V`_hhfB=g(wjW zK}$RRs3CY_%PMfA>q!@KhY-S;#%rtoE1tdny+8lTNs5~#Qsxvtx6UaKDHPAJg2zx+ z{3>elBIevPOz#|p?aIrvU3PKj^c#fp{Bim?Gs)Q@MAz#%W5Fg3%y+S74B*6X4Rijs zsp}#?!ZysEbfqN}H6zg)FPdnNd0d@+;o>y03joY~+jGFE6pP|?6dR41bDgBG+!e;W z39hzJSY$O!^GSAY#b(BrnRNh^fF>koi`9l0vM#0+jgT7JNuT5)v{`dg=zR;IV;r0>NU@5pB-TPKf{m zAmM($U-bQ=?~4t~L@~y$?^90dUGq2+H;cYg7%;>@neB~QS;G<$@^)Q_OCb_LjO8y; zNz5{W=ADn4Uzdq;&gDf1l!-WYkN_xCJ!=kQMIbB@r4V93N@*Mx&p&_b+rRz(d*A)w z@BFRq<Li6C|P0H#V*G2?!94iaPWt}?eaH$Q@CxQRJJMCbxQ zIhrp-pg^I+E@BKAV+;fmuD}>0&Mq#C2^S-5l})*1(o>*<5CJ@M+&>z2u-#F=9M03D z)7{s;V|izfd66=O5j#pS)crW+{GRfD%a90(Xv`(TNt7{D&Hy>Xj`A*1N`#0ZKuR;Sf+OMRk}j(|DSe!pMz-PP;Y z&Q4DM^-uiNhkxN0uU)(H+%wNS^W5`4`*T0LIXoDKVM;7Vyzs+6|MP$OFaPBq{gEH} z#HU_-<<(br+ueF|aOL<4P#%V{98qQMG_MXze9^CiXe@<&L(>;y#K`N$s!UO>bfqzc{ZF3^z6;UU%CB& zFc2n`r%V#EOADyYq4D=CKkclE*8~(!%@^{NsWq+*yC1wJsr_t^UT)VZ?e9$l&91U} zOJ|!Fx7#f(8%4b63L#A0_Zm_(U%AYMPP_w;dSplyH}toi7%6jj1PB3ZqFfC z{OYg#(C_$o01M6QqM5>&u7|2ok$ygG| zjNQ(PP>A)YW8Y0F{6uvZVa9_aEsThp&F1E<$3pDKap?Q54gZ+HWa~c~PN~99aQE|e zDc@11H+)CiXP#crJhLAF{W8Y|*VGr9kFSx=gLDc3iqk47Qc+t?213H)&1w&L`*c`s zmXtF(p`6l7b}}B2j+XIspWX3t(t@si$Pm?~%K9#JVp?nJi86>40d0K{!niyC&0p}2 zU%7q%6<7#1zhkx8)h_^6g4RJ`g4{qV?&{V+s@P_k;!I-GO^aa0ay2WmjFh%02@rX~ zMBhTwc*9T92ivqOFuG_2&zqo1N^=Bf+gcs386UzFWLdE-TD`N&ghm}EYuCJR;&I08 z26lS|1)0#`a3j>l^|F#y+%@#L2`z_3SPRMG1NpL4H~ly>ST-wtjM(NXrJ(m ztl&U1CD8(bZ`3Lb?>L>ikk1N00GUoV)KpIKmYhrkIYS!Ln9_2w=obrPmJonet7Xb* zcfKQn7(*JzVHoA2VeO9JKy~` z&i=&@uWwur>s8*LQwV^7U4%TIzy5mvfe+sJ{eO7<6(33g$I}O0e-L8mx&>k%2y5Yt z2pBMQRNj&qL#WbSj<^gl#x7z&2*4*vo2eIBS*2v2HBd!)<*+&E*$|+L}7z1XaF^wtVkn=Xt`9ALx?K15Woeyc33VQ$n13={T zI#AnSAxELjIUr0Rx``RgFl9-H-m* zzxv@H{+DMb=P`Dh!_DT(ngGUOD06`t!3GkABFSqkefF^^4!Km!Y5I~A)s+M{{dTT| z*i|B(|MDPCp8?|y`4Mu3OcUzCRGZnvMFoy4h&Tu;=jtN>B+AQWxO1|-ce=fCY4yUJ zC&QTKC4GucRVX;k!1S&Qc$)Sn+x_Kbzv*zy&_~qCtzD+#r%AmZwpq;P4AjSPx*cDC zaQfW!!^18PL+Tc}CexWBcfu^h1M zux~AUrR}P@4a5{_y*PfZCC!KW`|LxU8p4|#t8?3`BUvI`K+B44gDSQeGZa%2#9L7} zt};F6JPfh>~UhWluwyr^=G7GxmEnmStUUp~5g<;vCNGLHMP zKFrkmifgCP2Kadn3M}8ebRjPJ=j~Em#r6mOs-8njdPA>R(K%gt%jTVAa(uWjnYY=w z9Y%%^b+g$;K!BNG8R4{MzRSu0BaJ~;VpfH4q?-U7w(@y*%$7}C-qKz z!@z!A{mNKdA8h<)eJt$u!!t+gYX^&e`mtC0zDG*+mTg)%ZxQhAaNf@2-0LCKXx38& zYlE50z_a4pibx$b=RNRrNR(A?>8py#Rjb2K0K87`%(6q7B6VfG$K_2mj9?Yh9#(Th zT38>MF%(8=C6Fm2V5LbOFiTz5&#C-UI_!ommL?Ao6=qn%b&$9Q5QWgU$Cxnpq>Au0N=98Eub6L-&4kpx~olJgpam$cI3fIa?Lk3f0#*szU z`0(@BREu!>YVGDyR!m(C$8V=Ko?z?Ykohn%L{%o7-1n>ge~6maxp8S^49W}UuGc@nIm9_1&sc( zLh@a8M#vK3H+}0ydJ)?C(f4eEDP>7eoN)l*mo(&_MimJjSf|iB5Y`-$6^!}pQ`y!>jl2n*Sv+wH&#j;-*#f(Lur=fQr(sY_FDqNS zL)g{dguzov=i6N-SS^>Ly#*;Zn^jI}97aG0A&%pia*AD7oGBvex-Q0;QWCRa6rxo< z1k99EBH*)fggt7Hm`#Y86gr9%o~53YQug{O^J-KJQT`zU0?L$gd1am4;)Wmq1f&=! z28gk!HpKur(ITW(mobJIW7_Yb>khu+tC!C`clTX?^Wp#U_cr@of9>ixo`r{||9 zCkMatci#Lz{DJP-cMZcfot^aX>F2k1cK|?`5inyl z%YsX6K1}kLGY~3x2<3&9MaYPU1ryU#-kE_hVnFBvB2Yj=f<+%XL_`RI78q82SaxC6 zQ6Gy{%44SOK<8r~a@db~JLa?fxZ6_(K*TO$M2sOs;OHR%y>;uxw}1Qp?OVU~zgVqS`~B|Z)fNQ59rM>fTeOn}fC4Wu$X)g$p7-e`2I zx=!MBF_ngiB+?07$_`bSbH!^2TPksTBE*WDv9PcsA&?>zl`Qs9xrctZm?m`9`nx1ee$7}GDGCUbzUuiWe(sff4+iWPKv^Qi8ltFzF!h|@g4@PgDq54qt8A=q zqH2!#)|(A}|)f`4|R4&0lNyq>r{YB)*=To0IgU zZQcF_&k$ZTQkskxssA)@PPVkRy|9Zr+KhWMw*TX6R4<61tVEgxdvLj|wuctLCetJ* zepRihxye*iUTFCSC5T;y7GqF+>GFpSv!$GB4T^HcXp)p8DzhYgu#5n*+!;VBE10sVt^Qc5Msy?bBBQ< zKp+5!2o%F2z-mDN0Rv(ma!&iRv;M}d$Ntd&Y5AUa-}~F&g`a%o;KuRx&b=|>(YO9r zH~!=Q1P_k)+jAo7mMctE3F=_&y)9U9cF z15$f#tbwE)7EVTlEiV4_PoDm>&n#|i!XrBSp%?cj1eaG3y}*jFp)Q3QF0wx*=s^Jd z{yRggO-yB5KtMUeNVF>lqLm7EIp>P+0Yirn0`w947&^p0LLYG*!=+Uh15hFefVkQZ z`FuZ~k90Pq^D%D+AOZ;3g%DLlDlyD20IXUSDphgXKm zbdmUry4y^bbdG-&euz@mUwF}hnurOp<)kVc;;?a_s$H>0lN&eIMXiitjW<#RbqWl! zZ%t2?R-JKi&jNb{fWhTWGkux*u7B;}`Fn0$Jzg*0INiAtj(+Z~m>vQkh#}nDjsSRR z(Y^X`dw?-DH8dthe-~S-QcMJkzI*d@c(@(kb>q@6y>?#`0y1;Vu-*)z{VWulx3ggj zA^e=!E4E-*YW7|pH#lpkv|`i5G@7MI-z3)n0b&3_m_jhxVzxOWp0*MzFkqQ{;RDYKYVMR1+;H#wDA_8J0pwrU_PdxtQAN%${_DBB6e@T>1Pftpr zAi)3?lX@1hSVD0u#BjI#s6;D&0xw>GdmW(oA#aOU=(i<#5ixwS?8F9Z++dL)l421< zmPj%8#rXlmTyhd(8m)b;HcZ)B#;3B;jk`)9*Mikr)-MH7#dIQD_iC&)--G}lgs|J~ zR;%@m8`swBgWYZtnVaLBo6t{aX*Z=j@AdO{$sB{>J}Y1%d6It48uij z#L7x=oxK_aS&JoL)5*{#Hi{$n2FJx%@xL7OA;{vq>I6+k$bMj3$MY-%05U7ajnlx9 z0<;}M9bOaPtIAC>qq5-^HIMa>N+P8m+{8*_^?o*NdcnwQC_rVd^h+P%s`XbPo6DGi zMNlI7mxh@ZEev_)6nOKOYq1f}c9b|WE4NtXn|QlR?y^JT`l}C!Q)vShYOAD8?uv)U zDtbbOX<`Oi#KrJYxy*#95VVYQT3KW8x~^p@Hd0{*#g8@u7zjc6i5m>eHuN;q)E)_A z*muRNHDW{~b>BpCH3v__5vqUc8Q8!H_l~%@%7*x7;xs7NP;I1(Cn77bPyCjZK&D%# zTLt)#*PR>Z(3)n+4z!oJRwjgI476UAMQF#XPLBl6ge6L|J}7^ z_=ZVHz)P!&Or`oSN-cfI%WH~*pI-}GBD;dpX_ zF@z8@P(TC>kaGe^kV}-UbUjNf(mB(jy8wu?Ta?I$$GDsrQkG-Y6eC4EREP+)?Bl~B z{NtAqG6C#Xi?Hs2avmo!P&9~AVZ|M0fPDV+vkWw2#07^MS zIp48%D)TzB*}KR8YAub!<*FyXPyPu#^nu8(rzw@TLl-cZftSIc5idXC02M%E6WvZG zlrkC#!M1(llA7-441J6bw!1NC^APHVRDS)*;7poWq(1J62+v5-Q$@S*nhnb_7<0o z&yxNTU$!0A3qYimlG*4Gsd9V9T3Ge+DHWs2lhHoXNUk=``o_%>07^+6JTrR2fhJU4 zU57fOl#;d5@&Nf%eQ>XANqrTFa$U`IgecofW&WS5NZJul~=D*XhW>( zN3mlinr_^AkdCMwWpt6q4`Ov&=SH8awfdn!EjtTlezvi2&CMXbZw1LK3)-XICViDQ zggA5s1Pu%K*^pH~7{HikWA4<6uH3V#tYZx%sw6&~Ax(vlAIv#ly?Sl4Uf;R%CgMuU zaHr(2(;AI1fWH(No1o(7?`rBaf@AULb5uayD1Xk&SZ3SpI;BT7Xk~QxBcpY{zt zJjo^i2xF$p3w-y@gMa(dJ?whWQ7ckWQMNS1l}KNJ04V2cn|_~QoAD4ROWP9t(!OAw zZDMs*6Qi-X3{HnFLKW!>kW>1iTgNZH{^-#Fp}&w@lb@+Uwt^)l`NM^`Rj-vaE0dG4 z;eVBAFTp~^L@eka0t-wTNE>Apsj|NtRB$eXx9RGC zDfJVis+=j=%Tn!R8tFlj)ZZzcG5m7KM(m6>B$;j)ugOp}B^5l5kX^HB0a%$qGH6OU z*_PWDX_fo#jvy* z63QrATsMsX=L7R+uHC?^b7asNHLhJ7M^!E3>oj*cH($v{6H6oa2R-Yge^#&sNv*9n zI^{%dV(~7paZWsS0gF|{begff)a8_pNSz>)DPUH+wHZr?U=~Mm391n?bL&9Uu0t_M7M7fZOFa)3+LJT1cX_Orqh4nR7BW?^^ zh{hQe*IP!(oPX+!y?n_;894FJu0FA5pn0tH0m@NrLEZ2|Tp)@8GC&0A0(5~=C;_`1 z1CAZVKpe~q0GNR=V1PL8&&SXoe8HD=|JBvI&pfmK;;+8+)gRjL&eMJ$LI(ttGa(Y? zoCyMCK!OaEA!h){m_vEbQ!1~Y00}q~0WaMUOLp@>wbRu?)C^h9+B9QI z1es_%{}O4J2VnKm)fn z=RzJ9f4GUtUBh-T%QAKZeDeqds9t#aG5EI}Hc)JZj|d`C%2JylOmmy$rff+gc1|Si z#FXU}1>ts0Q6%P4emGnNL`W(7VGq^)sVb+rmBLoH;d)G|WjPRpAOa)5^ZsS#s(DW-i!s$1Bgh$E*7DC;sEe)|@YNyJH8+Ko8l6&K zpVh-Qt#Mv2v!%+a#GVD^z7qwGP7=8pn9!=BqPhjpSZlGxNQR^Ox_fOC#fNj9mO*Ip z0R-RyxQG3Xz{0+R|NF zMV8fd6fCY%4?K*ua|p$+Hf*t$5`id~0SCiF=e+|Pa0Lj;vFnKF%9Sh2)p8tmM3)*d zHVdED+JNYmPQR*oVrN0SH#0!LhD%12;ZIEYMPNYsT=~qaWPmfJKWE#e8ueL>W^pD7 z&wMNaMczq8h#{tw3FUak0Py&wb;|ImHy*7H);VR@BPlQSBS6`1L<9&K2q@p&bgw-c zvhoVuxP!q!1a>iS%wjpYNF7VtzIGM>#{`>2eEe|vFF$^-o-b)}6`b9bYEd`#gGvV} zT*!baKm&6O5QKZ&w`!$Pu$IL`(sQs;`8py342qLHCAM=i?SK+2J zhP~x4&o;|tTc+kd5ODUJ+%R-HNYXB&fly`;^GbUoq9M{nb&6mmU8$wO10}O7jTfTz zL}aQ|{Xk|6GSw_CjM~J$xwL0vJOV=|ev5{=z)}Q@8-%8tBlh| zXC{^dJxf70FCjoh8Y|mQ&N7i3H8Vu)5ukzfiKQqEabe7mQtl#Q^LryCit>_)Wr>i4 zUTFpV)kvCse-mm!Wmo+nC3?K0&z{j=IQiGkqlAH6Z2yA=LMtVhma@QDGNS zIc5$5Vn9GFN1*{Cg-~a;Z1F#jR&CD8KClo3$!@%NIy~G{0$N1uW1Vf8$a?FM885^sRAVZ**ZO1W zbEecI1b{J1K-cL$vchxxt(>3(vY&YC*Y#*f03X+7DslelkPy?j0NL~j_B9?E3{#+CR@Xp!p z-PbQ4F5>C=epwbU)C8Ha;7I_mT*rWCDWB}e%d5qv>xM*&*xC^LWp)g#HKk0;F1~iM zf9)*2=ho$4eC=+g0ANm|u*%h36CpMcNcG+4B+eTbG>rCgkgi~dhiP` z-_Nl_psWH|E0bIyuHO$6K^Ne$ON*cS%>5Xq(TDoSSqmt52MK5tn>XVVv@>iBkcNEg z%6dEIJLd@kwk3RPLLrzmQ-iX#LE^a*8Mn<4qatWPt1!NC+dv?S&#*r^#nNse$hy=Nj4EH!Fc1!C7VElIvVBm*r`UROP{uxQBY%Xzqi$VDdi%L<>UDtPAXFP98Id!pHEEeZO0-|!N!hS#YT?#SEGJ@SY3II80 z01ABcW$#DDTOVg)hK}6v`=Zyx5cj5CnPAAyGN(jVJ>FPzD5~oOWlYF~pS5DO13hiE2h@ z6?4iZ?G5VNCu*`*1|Wo-6JeqfG~gHk0RZKkp(f1ns5XfQpc6`7yyR$up`fuq1OOC( zmsL=vJ-isoYzwX-(9vPQa-`_En8gH<9v2d5tevL3SNtvPW#9=2Az15y zDbvGoyuU}v!?KH)7V+{DH(j{4?jAencNy-S?q5F{PIkEqxQG}+edR&bDm?&%3{isO zoXCe}FeJ7kysCW40rH{?yM5{bh|Q38+Ql6Ln;cmfL#9KPs6!1vSC}ONn4P&XDdj~Y zX0KcI0G#QzSyWPa0Bntwm^&Uyvqs8$Vxf9TF@|AGa!QM>LoLJ%>K2|_;cC`K3$9RB zlqp;yhWk24w-qWHn#35(fZ8oEqelR!I$5P5Kn!qyJ9Hsz`j}6t!F|67TE)oRLj<_D z9d2GexU%YBJKZj0XY9B75bC*xQpI=CCaqMe7}ttLBS3(Rd4GQX zHNW9EeAQQe1z;e8h-D8e5)l$+$cTs>k(N&LnAx41i1u(H1#*sUf%lB4;D=MeYK!=h z=_Nr%#tV=Do^-R^n0>y9!A-J6Js$XbQ-{jBkaCkUOCfWdN6BRgvm1d<_EnyoK!N4~ zkYNIne$(z-Z%Dg>NGS&lhnFuscIy^mm(m!g`w|UnIErkSYwcC;s*rykgL0X8@+}sP zL14!J1ehBz08aR5?Z8`Jin^>VY>lc^N+MkuQ8pwJj0j9nwd7=;%o%geR}Z_*y8q;x zC+qbx=fnn&M8=F0WHF;g?-SASqPw*2U%Gd`>^jN}rY+2H>INCP0vH-)5zAmFVjLC* z0LuB9u2 zsI)m|)`PWjOL_v9RuZ#d0Ki4i5kNM5WN7Cb!WHNBSr#C7f|S(a3}`nM-0R2(8^Yn}B(?e>Oc2Mx zYzb^|o6!`^OT>_GO=HjMr&)!m?YCiP6S!%y+3MzuW=x#Ki5RyDB~X!rd2E)6R520Q zZ`E}(kLXC`fZUC^=^~kKYO_qJki{Q}6xTrFHM$^Vrrl<5iRr&`a7GhtA*m)Hfh5^g z|3{NBVfNOrM{D-<6ep4*`5+eBPAl_yLUXN=_ zHVz>JFLQK3A+&5GXy&|PAq09|s9Fiu@s*&P(|xUfGA4#K`iLp7mB=k=$co53C(G5% z{a6TP;S*d?D>D~3t77WOvP2Lk{@GrDt$A|U0yE4d{{g@`Ir@we-tqx~B=u1}QY0kA z7y_bOH$ViU97Du_Ia4{8HKj47gdx<4DV9lk0H}wR=Ug3I;&&zm42YPsY|e7{$C!|T z0!=z;B>|_LVZb#%NF4-qLN2(%JdlSfFcAQT03|#J0D+Sw0zx@_F2?#`=Cs2Am`oibZC=mf>fLsG@1i8FgwmwY&34wy1Hbr(|LjVhV zY#OCcjs0o$4VVjalE_y8yCym_SMq5lg&3X*xSU?u$|bjS{F>ooir8A!FCGH{h_?bb z)d#M&p1CU04uA+<#J;O8NTz)6EZseY7~o(Lj#u&WDn53pyLQ-}?9$!S@!mG)k(PZ3 z0eHJ`;6?(Yy5))3H)lNURep*g3}YTs-YmL@+X1?A&~=l&Zf%;_YhaF%5ozJGfig4X zvm-ofwG`ybSNZhT#;%ey9|yF=5J3!>QyRyLA{F|Mh*h^lU}c{0{+; z`tftM>cexI(ik$|X4&_dBfxgZgwTZ&#wQe^}*SjrQQl}RF|NP>Pcl%%7pCM;hO_r zlu^`eHr%i$hRic&cyp%M#q+bX!%K%>^Y8!rhnFsmX~>i_)OD~j3CC&>>UxrTV2%8n zd_AiXJSx&r7B1b&q&%K-lQVYJprJ809V$PmG~5%YG-PBm;oT%n7aMcYCQ+K3HH zh*xQT1VtW|Qdy8Ou_i+dS#lYWOUSXl$KEiWOvk;dh%pB$2d7rD0a@Jf;PBx3jqBZ_ zABUmudqkzx1(dyG&^E3ulN7ef@cFrvQ$~pz#v8K9m70`$`^{Q-t*#uQ?k-5SYm05G2BRm4BLqJpy2GhZq(RoJB$&jO2vGqOXPTHJOCKrFqh75!)Ozlqhs_CZr{ z>hO?Qi;EJG1l;B^3|$Me(rY66&0UqZiC-*j*c9wShmgy>+4qe^lxpai(O^LqXugwx}RKW6$GSESt&trtIw^rEvIf@XcVT1X0T|-i)+#w> z9vJ}EJpw=?I33c1?brppyo|@Icxj18R~Jttyn8mhakAScT=lVJ&jA2HXoD?g3N9D` zVB8u5V+0Ta4r4kWhU=@o4_J?Iv~{x2DVzWe%ecHRS=eWmGaN`Hl-tLaHAK10qAOjx z3a7#5+v=suSb6QbpEGq`yt^IF_T%+~ zJ|g5?kM3_6M8GQ6;vQ8hQR`fE;o+8Ec=O>`K6CXQM~AO%_nT!*DU*A4sxit`uf!xA zvFPJX^jpmcOd)DMw5C$krFm-BE=t6|?NW)+sM}g6>PqiSl#t=S`JIzzOlqG--FQ?@ zwN&(lWzKMnOp={lm7cfWH5yp@kTcKwiBe8Ox_<5W3%}rtR;$&?*-3|8rW`3qA{)vE zDkJyiV2296)iOyGrxL@fVG~EjDJHs`?nJi2E$*z}2}@R|d=>nkrc_$_(m|rej|4`( ziPpG_>>W1Og4;m_%i5?4NP@|V=%AjhUw zkB_fh={p>TTwRF%AfkW?E7X26gTF=yxk94x!rpM4a9IdMfG&2&VtW=M2-+4nKrJsZlQ&!EnbBs)n$ zEQ#O{#|1BfB-1V7b29>>{{Ht?<7d|M8jB)aDUyyT%f$?&L?T)SXJ@vpP2ooQrup|I z9!sHxcs-u$HeQ3NnRV4~uP1JYKX@mX+eH9*OEnoTm`)YH%7S#uUZHvln|z63;B^|k zQFVokFKFzjlQ7NoA-kO!>H?5UM5_a32|(Z(yQy;mSxPNu^G*AM+!s|uGe>4Cc@CB6mim->6s&QPU-3YNL}`F#hjb>8ZaI-7YHZgI-08EW8o`V$KOHhCuZNQ_hri0}c`8OgR^{Fe`;r zj;?`nKTrUIoO6tR!y1;OrP<>aABkt;Gv=7VZss1Jg5KUKkw7-&rIWR<1n74w7zb5^ z$<~J$fKpC5g#amqM3?{~;67yl8V3R*Dlhd!fDE~~ei`ez+sb>IN)Q47<(zXMgp8QW z>m&%efEb7K{gwU@u)HA_5C9PoLyQuU$51klOvkO4Bw;LB9SUJ$vCTX|pius?vg5cU zQg0O)j8U&uJH_TXr2?nuT)~VP0g%B$sj!56Y}CMB%nY4#f}nt1=Smq62oV=CEFxrp z2fK9lY+QBW$|hV{caI%*N1N`>>2UXCze{1&$C_?e`;Nfg8UjEF1#p85#Dy0j!pU~H zdH_f3#qHBw*GDR+G#Y|6og`qz=E^99dO#IfvEmtVwxA%41sz~!W34@d8tl@s4BRtu zM0l8}b`G7}NVO0`%_1$yL{P_%|0dLz~v*|%gG6T4-37s^h-3y&_eK8m-R&|!k?^>84Br!y5m#VMt&#(_l)!cw#ICFqI-HN`B3@K~1 z9;1#Sg!8krgTupXSFd#4B8__)6n+HfRI3gPS_Px&BL(56TJ>waNHku0Fn?i95a7p< zr#go3zq-ppjH%b4zlNzTCm5A&U71Hd>{7nm(+8iq`cp67*-|_JO7hzB(yE}aoMFxn zmv%B>&iQ!NJ%4TWxBl&GeIK*ViOGvpiFY_e>_c2G;~S^@5RGUUi)AVZ02xCV$MnRd z)!9CsCxYlFGAyo!#jZJB3DqIM00_Ydots;DbS%AUM3N-$K}bROOv49zp(!GrP#4E9|%bOIiTh#Gd#0-*nF>+ zrMFP%GVMV>g2+#i`wal<#;Vp65crd>BO)M`EKt|DlU86&X#R*Ze0cAUGf!AH03HZ2JN7zik5piF>CNohgEeRX}a)pIZ0 zU*h;0$ks9Yv{h{Womf%SPI~4e`TZ?X!qtXmxCmrzRk?K0<;Ia_S~TAY%JQ4}nJU#O(U|ugb*^(e!n*u%X*H07$6{EC>uWI%9N=>JE57NTf*uDs!o2eRM(D(kW4hk0o4Cr zWS_tcWj&73c?4#am>_HHL0Uk-lxPvdd!ASW40q26yB@Jd#B##jE~k`p-HciymN^qq z&Lt$l?Hf!f$MT41AQ0vqjkt(m(Z#q3T^|>VeaH{aPoBSg^Q)fvKu#%Q#1P7HcrjoI z$dS1K9w?l&PN5h90NTU7{9OQ_(ZgYRsG}w$iNHf_F>Nli_SO;%G?8)A(_h5$STftG zw5v;Ef zOg8a^B>Sh3VYVMk87;8EUId#pUw*p!%y-e-f@!G|A18pCVNrr{vdG|Rp(2#f_K%<# z4AM94NCnj@k|e8Ei-`awe<~%SeEIV6dbI(7uJ3X#MyJ$R-VBuM`KLq@*;fY5e79XC z9jFGw)g8bYWk&CNi4chUfiCpPy=pyFB9wDzMJG`;rUI2Njexf6lZZKkpURn`gpyLM z4nk$}1q+-+jdXg1LNh!UTRS3N?j@;D_$AC>sA*~nA*7Uu=*G3{2b)VY%@#MzcFZIR z;}kI!(|~h>`uV-28v+CMUsSOmP`$DKGpKd?cccI+1?CSo2UUzGkC7B6gdtPN;|HHQ zJ{i)-UO(NemN{h`6Px<#3_R9f0-*ftmBagcc;(T4*`s8zDM2(9pvsy}-=&;S_Sw8| zOwmU5*C-R^{KWC{&e@QPU<)s-B_~p#HtS4WsTQ3HdYI}a_K|(YB6YLR)nX#E?DM&m z6zfD)aheP$YE@*y;J!g@f79kC#98p4MJN9#nt{e?9jL#c6$+0xv-F|i`@|yYR1RI^ z%_y5`kUn2gQ=gM~3mWQ#QfhkRKQ$b?z$7$sTZyyx3o^{HTBAYJ5tDpG?V@8$eWVf0 zNfQ(1OP#D1d=}B%B`7DzUd^CV#Hui(45B=i{I=$%?YX%T%>BeHMgUX@ZhEc5GZ(j* ztC>lffhwK#gN}RBok0$aA&8O;~!n`ADHK;I*7?Nx+ zkP$)s1~LFk)u+nrm}w~kVAMEZnLw&Su0nuLP`rF7%vEDs*T2N*`OdVgYR6yDv-DO| zG(Bqsl?qiRdT1KpO3dS&G3Q{GEgDEr6q{kHZCX8;+DPvS+{4(@&}X9X>n=b2?Z4rh-+kk${eIuYn1LvO zq`P%pk1>Q0c(7zck}Pe=zi8LA8ZnbCHmZ1zULdn3$?P#kuugpS^fdxK5S(b*VQyD< zJn5oJ)+I1wLu)@sTc8>smL<{I^H2bwq>m8;79wUD1tcIoa7+3`1Vj;_TZBaLaGxK( zd49AEk6m6peYCu??p}Mef3(kij9ma}kt}s(&QshA1q`zgPXHyqIl$f1^Q(u8r><;X zeDh?rS^*_0>tUf;(Ws#U!#&0a0y(kWZYThuY-VRyWiV&0RxGN4g`$IIh?(nk{!6@c zg+`@JS{2KPhz4RN0L+&*tJBl7{eHyQ5m4EvDd`cWpH6qs4Uh;+Aw^J>be#}H_xT3} zW|B%~Ski7}wX!sIn2fIg000>vVnBeqr~CKbJifH-UO(HfFeWY*0N5O9E6gDP3OUoV z?`}WZo$bdbj@O^O`$!{u8tx$gpq$wP%Jv4KuMCGGJY`z<@zZxspTD~K+UKu*_s_hP zSC`EJ1(lr$P*4#K(@e%MT9qu$u8#}Mc!HcQ#J~iSK+#GnZ?dTNT*tu3fkia{K9s?k zazG&BBPP}kqqo6Y860{{U-X49M~VXhEsx9Aw}gc*k=y!aOEk-m^5>Y&+(WPg`BoMiAD zghDxFrEK*Q8Z;yW%t-)!e{jh>WrM1*0l&+LV{=Vjhqz$K9Oe`23mw*{Gu>}c&yrLRi9$b|W(0lTBa@K5FhBY#yd<6g^>bfqabnV);^?JGAov+r*7-G&@ zYBQ)}N!K8yUAZIaE6D(S4jFix7uG{TM6+D#pKC)#gNl)@E(O1U=#~)&6&+bB{S*4iZ*6ti3xeJxKEg3NX44)&dP&zPRN@l*kLfQyko0W zO$Cv-%C`1GkDnnbotW0sf>Aa@_^zfv={k2)rxGR10&)F3!*!QPLouUh+| zUE>i&0Lpp0-Gwj|Pcu{9DJ|_10wSiA&d<-wBWavKd^zsXzTx@sedg@0NI)Pz9RxsKnNBvM z{u^i4H~kaG{d=#k-#8gQdot`&SVkmjC-uy8&fgXOPrQLX;x6S^?ml|=t>bqbtzUV# zi;J!cCi281=Iy-3U;xMlohSlP6Et{FFq$2T>`5@QtBInXgcODfq)WU+6A2%F_% z*bfg+&oOoY%zHiS%24xG;)(T966b+UxASzWhs5DqK^<}P&_*jJty*&USw)Zw<(o3~ zU3}wo|3xtzulvuQY@tCsWh{XPOcmd{i071FdwBYu82 zsY9fT1Jnt?be5wMx6t$+#)`#jI}A0SGYy!12{9n}an# zHd%K1fvf+8kMON)Q-kvEpho^q2fS3L#* z4Jm<$WX{*t@oY~6QE&ZP(}l(<%S3$_H(j`QIsjljS*4O)CZENSzJ>c`E~DhS0i<;g z#4dvwXRUuCgkE54<1M{qUJjGqyvAy#u#o8=6iww{ zeA_~8m1OZjnp)UGve=g!GA6Q`U|7pgTX3r+px5?L9_In56Kg`Br)!pEthKh}>u*im z!FVxz4ySO_7qIFJ&ZXv-brq!E(Ks-$Q)D98`l(rav)2U%qnb}J?m^4$rk+_XK=lIn z{Y91E?6%G^)Nx~0Bj)7DIj$xy-qve@7P&`Ufg-pynxFHktVW4(3O95HX7~r7GpClH zmGe5Wn@mD$mWf+tY&JfNtWHOY+VMkET$^Aq(99A$BBBshHYUsxSI8*^n%ktmk*S0D zsakt!%n7HX)ZSn;vY^`z+k!1fO`6n24Fg#h6?b>Zj3P;oQ_9so1)e;Lq!-tpDA#RP ztmh#xOd$Xb<0uUw0EQ4WbI~fNWdd0xP!J%1nybUd&#*dFW>H%uj{wyzJX$3}t{|AH zoaaRZ1e7ynAQ;DScfJF&#jCJ01MYWe(}n-!D-XZvOHxh=>YKDe7a)zh1erppdP*3O z5CafV5ceuzeNm&B$`F7u0#U{hf8%>T^!4xkY6OfKF+@aMcS}InZMOg=B~F)LiyyGx z?aJr!YOsKi$(c!Ju+D+1RDxvR0s!P}r`+a``Wce#)vAHNRLRYBpw$$#LT=1Mv7OES z0J}g$zaw`AyBt%WCjQF8XRU{nf`Bzavn+zu+ngrIoE29kR6AMo5NX*V#rWnnJ$OAm zak+ouXmPyhUbwSA8S}D_NaF7@^;vr6LAp{?#TEg&5bvLjpT7O@J&#`tF}!^Ld>6u^ zi`9w|su?hV0>!2iSZAYRiXgUbIssn>1g@&J0 z)2RX@)}{UlL5i2rp+(=_Io*#rUEA~l(7a`VvdlcqOr}1lqXWyu;xqTpp1pSIiKF$) z56@xQL28%gA+U87;qvy5pk%w%mQv1}MSS(q@Zr}^zT){CAA9rkVan?e#+1r&b$&=C zH3Oq+_0@UrL@YC}3sVEc*ICW0iJVIVdb#VE+&m?wd8vea2~ zKmgkCg!d&}C5E9AI;pc8np9z{vNF;(rfHvsQd^#C$GMO7)B{5e!z5CsKK1}`_s-q> z_wG{8#7V7L=gnQ@HhI3$T>1OT$1uSPwv|(FoAC#%$nna^YqFX6q6fw=uD=ExnJ^H_h?S6!=}Ish%fq!gOB z%#qPxfNHpB^!KeV5>o_T&iH`TvU1By%wP(VR4`;j8o%TnSGW7&BcFM2>GCFx1KLdi z?6%mb4;j5JMKgqu$1lEl_?i2=yW4#E66LX!p_$T#J#`V6@~usO=VX_&6)BUR1klJ! zO0-&Z0r1goVB|Ea=)F1xBVA+GH@f42#!2`g(tQe4puA$L=?Yl|Q0%d0 zNm*`x3?P{=9S6xNVV4QwNtr(gSk$_dXRk&1K zz}m|Sk_I3(A(Y2KQ?9iYZw)IWu?RfbF#>?%{nQs15+AHsU4f#hDi|#5Y*(r2o#B!G zV^kxmPsPLM7gtSJPJ(73Ds;N4N&6FEUcb z>Lg1NQ<)@Z&*imgM!Kp~U?!E!Kr|BwteC*&-DwKX#*OnpVr_u+qE58L2hjkkQlu+k z908U&66ycYEFQBtGTSXmohVd$97nS2*A8)tt#%=Cla)4;8biz^Gis%)F1J`kaqld(cux?cX}556H~lR-+bS~4XM(DYf?`+0fQdO)@Y`Kb=63uKBt zv;36@(f5c@`Dh(E`@xQpBn4Uyn!fP13}k18*N08J0kFQqfuHx_524mljb<|&Vb(~E ztX7CvVpXmOHbZVM`2oT8kf8~%94f~nV}`ZHCNgBq#br-91H#$%?9QD#C84y0s|pww z06*W2MAUa7BIF1FKxrI@oQOj03<8vSZU6uXp{{T-h#`br_PcT)0|I3rqBuYoLP>Ba zN55>(&r=>_?4YDP00-v?03ql6^2@JAem8C?VZeauv{jGOcvgm~1b)m&w7E6OEElC1 zYi(W3M*uR5@vLw&YBJ;YAbT1!rA@2YtbYJFxt%8NRpye%OC>}7r)i5K%SQMRfHEP_ zx({Q<7w!)aw)vgcR`0#Jdhy==?sn{Aj1lw&DWdZlR)ZRsc4;(7L;5$`;I z>)N94Uwd$VK8zWmi(NojJ};GOe9XoObba23r|XnMtC+Bm94?b`U21c=JpS=^^2*jh zQ_K)U*M)$%+m9z_XYPzyHEfmX{PR>EMDv+ctlDNKnriOB@I=@6n;My7)QPb(Gp@_b zKjVbi9_W>G?z(s~ru*l+E1Q1Zg(2ltA2NH4%sP<_HS)wY^j$dFj;}vBKj?7Ng(2lw z7&`}kq9qz|B*Q9KkQROS3!i=T?6rg6_C-(pt)F~xb$ChAq`a+$M&a5P#ef*@n(3hl zuNC8gV27Mt7v$Klt~`R)t-WE0muY3SdUZ-Ia;m(X<52VC%sM%;q^X@K^@$Q$RTCp! z;gc;HSWFT-Tly#AHZ$?4s~1?}o=&F8kzwt0nfzkTImX3qx4V1y9wNrBOZx$1Y%o~U zsdy=ZoedM%HJ%EZ>6TEWtHaH7SKSXXziuXh)3VHxLt(uE3%Q(3|Q(bx-`Ohwvi<~n9j#V4ho64n%kwg%Y9=p8!>6ag3Fv6m<$I`A_ z{>}i)7)HtiVGt#ziA6OLgt^G4owp;8!^C&fHB|sKB5T8A2mu4QO-+tx@(g#z)aVMK z|EIE;?9}t^Mwd0%E5VED0e2R-oO~2mvZ0dtUx1prYBj69tT~y#in$1qZUn+;5AouY zH4x(&ZNk*$na0n#h?aJ&eaq6kvGO|nP^Twg+Qb)R^R|o zoywF`Rf|g3@Q`5>RKK?Ei+4)3?=l^>`Ju&_B0zb28U^L9sQpxO0ic-%Tnr``3y$7r zf}2KgTE;#3)>Wf1+-(!J9bbcV+hk*rDTMk@1~5LplTL?&P4ASGc7`A;B1LklP6j?T zrica$2>98BsZ@2@UUcCN0_!K%fGDtM>l`5IRR!}xvfXe|CAgi*IwLc&h2>wIK3AW;e!8Fi82wS)OFqI+1U%9e!*sHq+FH{2>`no zh-g3Nx}rgp2@paE0F*&Pm93r#*aOzhvrrb4F#u5s*^D{mab%pwfQT3{#!U4M>V&!6 z4FCbden0%o&-~0{vC5>Q3kE$k|`uZpTNv;e1H@ zR3$#J4^04)%I#L3_~N9}+D2C6==8&OenJ!g@Ie?*50umytsMk({%Uy+YH%NmpF#j< z+ud$I@Lq531_%6zpCdArYoM5`C*8OuM!xM%;XtSZ00icsquH=l1w|D@E5xSC+CrU! zdo6>y=vL)9QwaF-{j(1~arNqY@yf|Q^j)TsLg~f5)RH-eQ`#hoA$;cE>HBXTKY4lc z$$O`lHp?_7qm`mMnb%R8URC)vqCqL=WyA+t`Zq7${as)3)K@)oG~!tm-L9AibmjC0C=yOD zQpw}89Q3vo0IMFijUe+{pWQ`lSQzOVSt6eM`v{*9$1zKXVZiY_&hkYB3^?Yr+H6v$ z2M-=%2#c;i+3sU!XSBMCTEAx1S#6+#77`MZEPKqYEjA87u^RRb+#-nc3${#;JYl+~ zr5wX#;lb5eXK};?QMIiT2xHfWTz3p{#7U5i2y)oAat#Sc&%`aGl@kKuW`h8@Kck0t zVSAd#L=frnF=B{^m-DjE3F-Wtx`6fFx@HDdWo?4ag$C4-A!SVQGT`#zKB<>Fw|zkGiegV766;Rpbd700;WXWf?WmQm(#=3k5_BF))M~FVWHC ze=^;gbw1Vp7)xZ~4pgVCK!bpk{y4Q|bMv3p@>qjz$wX%)30>o6^xme{yv4Gg^H0Fh zQoh<)Ay4uuITLDUm~7(V&Kl|gEi*(~KrlV!IcyBEz<8D^2WBkjr^aO(yUYEp9PZNEe$kcR3F!yC0kCn{~Mh zT5SBUw)9lQr&SmxO`u=UQs_n?`$AfMmOopI(oTBF+-qA#06BG&bzE1OfEPO5GFq`= zp=4RA>}qt*wMSy^yc=T=plFeU9c~SHaW_z?Hq0VsqWtcqU!h+w$pb+L$y#tSP{@GF zxS{Muj-e@1sKo;xm}9SXrt?OGm2T7U^b%x2Rbo|2hpXWGKSep;Py0a%+X~QF1-BS) zL{ccMT^9EFrD;S<#H=e+7xpckYAYQ{#602Nx2V_r)OZhQ%DGW!h?*KZ_q=V;TNYC? zQ|=eb@!_M7{NhK?&$p}fGL0$5SV-h22@(1jGEl+$l6|i!DrP}n1V;Jmv&w6d8$x+4 z0Agv4S8~dBj$DqqLxkd8BOzvh9=n%bdg;Ue_UBidb@g!w03c_BQU3=i9%J&3=nekf`LvFyYq6nxVKFwFWtU% zyg5ExZTjVYq_bh%4k@La`B?XI4mx3Lst|~oL6Lt!g0u0T2gvt>}>yyDTYe!YEW`sEByj=7z-9P{0C-L#4<*Sdj*?TfPNUTOPHNdj#-aOll0iVCI zdGX$(G379!qD4VRRW-~OF%ck9K3v96-#`1YPu~9WcRlgRH%{-Kogb_hV;XCu3AtA~ zS`&U)8$I2~M3ZNH$~aeB)0IHCOpC!beX^-r+7iDC1ECF>H(3mSVh?^YYVrLCU4K{i(tDL&v)B5-@MK5V>QBVB*n(&tOT2C z%b18|Hx{FyCD=MmbbhAy+$AQ|zC>d#`B^cF#lqe-^&>K#mk(leiTlX$ILYaj_%Z=- z>c7Q4M6+*3P{ghfF=LdmnL^j$VgV=j(o4UbKlX3n(;ve-w{d%(hlH1}z}1`Kx%Y%G z`5HRDnT~Gl&US$)Vp(8;5}lmUEVD6+1+a9sN(T{z7{_ruJUlo$K8js{F(W`QZ*oCC zej95Ygqs#qr^K5jy}%<(1KGT%PGbwd!`|KV!|dM&2w0?2i!OkaDWs zl?6=QQY8`TI z!t!6;rG&Qgt|I%i_K19ex|V6&=VmgXASFC-GaOzR!FfbsSOWI&N$aa8JWExa3dQqN zMBa;TD1*W>qD*-l$6-H=V~$-E3sD{}K|>>?X#Px?BqT__I}jmICLoH4>qWO(#Py<& zh`CxJ)hq>Zsk4Y(<)0R5+Ovka?V^5g5gy|w%QKt}UV}1XDsA1m`edxT`|HV=2oicU zs+$a@2Xl_Kn(Pa1`UXtTu_@kxQFj8p63$%O;e;HR_C_RKB<^CuXjEz^2zyKUX4JDxd8y6BF)gV4U;> zaFoeE+L><_?WHkeqRF=_Jz@J{_RsenWeZ)FKZJ1rMH2c4GywKH;~3YQUS2@FlO z+11N6Xn2)}$jM`jfP8~1FT89BK!CCv zv?j{bk~YF-Bn2T5B%&^aw48s)dH%!Pfa}l$oX`3%$%0Y@_7d1^@|+mK3C#%@6_r{e$oQp1XJMUb%iXrvw0$scg2%jTnfvql!gT zC+=owv4Vq#Hh`S-B&AzEPv92qr-@GiA_U07>r1@F^)?Gu5t+!NZn}or@m9`D@@Es{ zE0=ke6Ta%{P81j2tEYLJcTXQLdW28k-wi4DF%Ts_;sC%{4%?#nx7q*#S}nSi@=I?% zdhOoH@n&^&uv&Ft-SvPW5tImQmWS9*)FnEWGjAltg(g`|vJ-S*c>op?LnV?d6tUhG zKe||jQat5yR%7+BGg0}Ja?U9eK`1$;0*B%#vL7!4R@?Fpm%(QlI&3JN3>!g>ZyQ$d zm*9n|wewA_#!+dp&muh2M;J2XWf$&08tKGj&55youm1g`O- zft|b5K%o6m!;0=@pZXF^*)1)0|3bWy8+Pg{UybF^bqL<%t{cZh9Tq(1R+2!nYZR#ISaes8DLZp z03e32+injI4{uz*zF4dV7yuCTEM4%HbUtnb7?qO3?BQyrS_!C;&U>@RF4?@7*NS8YJ`gdKwceeY{Pu@Mcyw2kg zFc6f3@~xO$s41oMIfQXLeDKLjJIbH9bGA8H<}u4#x`ins;kzEXs-)F)vta@(GbFRx4X1iK6UfT zjpM`P!{wsyLqH@*1UaV+P>y&3gbYNvELlJR42Z~JUM(gDM1El^AcPnI5d*}y8`J%h zv$OpG6bLZaRdY2ORq}|4&)Y``7V{m8s3?R9mV?+-QxQMTevln@!MY<)~0s*I~;LsFQ$LYD9vp z(u~uOypjV{Oq>ShrNd0C_#Leg(o2Lu1NUX{D`7nIkj_9gtkXF!KaOf9Y%|R-pex0| zQ{_f@&4d1N9~NN$6sxrIdXbvnBFt17o$F1(h04{8dYmPZ;Rx~8wuwABX9)af$7O#5 zCsS2pF(+1<+d$S7Fzgl(Lc=MwS`urshD;f&WS~?cRg)IB&qCw*W2zD8u6xridLB|&tiq57Ryh>R!X!;Rh2Ab3o8N# zz?}2tOP5~#>}S9Cd%pMUzUD*yq9;l*M$*kY65MiZRXb`dDrz63A8ux6dS#)PX(~fa zeBgP_mcyKBvs`}iQ=j@9-}Sdwn^hiDNu=V{lM3!C&;f}g0qO$w)dA&AU3RLXP6=Am zdV%*&U^YOQu0xf683q+JSJ7+=5^Bd7dn~sYJe>ip4d{t6(|BB?%u?ZWDyVro+$BWJ zi9*PWMZ9x9?#J}p)y=b4@Wp%EeGXlWkW$l}UqiCgQ8{T40CGwQuwE@w&bLo@Z=7rw zA#B!tAG?5pshWc6cl%jLmR{NEgQrJ>LT8OGWub&4h(ICW!~OaxEawhUP$YazKOc7{@t8FR1cgmmE=d;nbOzfRVu+v0Kt8 z; zR1(b)czq-__>LDk-c@P<1Xzs}3ua1_Xtj-xpU{?!-q#lM=@f~B(DgsnTd*Q<)uW* zCl0G|?u<2U6W6fHxj*fo^%Yp5tx(tLt0=TO9#SN*gI^d)f{qo9m_rDF7y%)a*RBIH zqNAA+V@1z(3q?B&nxUt@B z&Q9<2i-k1<)61DhzqSf02P_G{+KU8ma3Tu^D?IYfc#>3o1m6ptGji?+&hX=HY`>l9 z_H=(zaFsRa#k=4E%Dvz~%r-Z4ic$t}Wr~-hK1$ z|Ln{CVgWf<&E)otN@|aRPp{7ieZXh0uK)SR-t1xkL1Og@_^*ybE}DO|h$A6ov(3x1 zR7iIQ7~0q+Tb1gN8qtvg(i=+^1jPM*_xROI?|J6&0QlKE4}az5H&f1tAq1>vu@#P0 zP|F!)!O55$#zlmhZ;BZL23l=8Pv2^MRV*el!)y450LsBJl#A%b7#GXM z_3P{9^5ovV`$W|y$^bRCm3;{1S1aN&1;}aL;bz$bhV76ZoDIX6$DAS84o(;NaXPm0 zrLwjt6$w|tiH8(!{Eyk%Wb_QY+KQw<^`Xfkg#mI^K4>qSFE(*)s=A5`A*<~SBMvkh z=1i$eUA{JL7|Q%eqG1~7yWChNS!9Y&!ku)gX{{Z2zt%;H zUGk_f84#u_QyxH`Xc>`Gn+u%#V;^?14$T+mucG<4K5KmmV}CqRuH!Opvg5|rIXzqXlm7knwZ z!553gqKiN9|NDU-{^4)>`v2hT9zA*(LPSK$L|DQO;vm%iqmxks!F9^)=3^)kJN`;M z7c)^gsl2)=!m3PZwOnp@+duQ)|Jj#b`pnH6*M~HqGJ!SNv)e(J9sh>&wIIpCJC@F- z_}omhHEq_&Gb&Bml+QAQHBG?8AaL%?MH$fIHceX4U#+;dYK1IICVo^|i&~`I2$=v< zT6TCg(kJhnK6AW!`tst12fGnslvsItS!5^i=ZY5BJp7ykz-qA|f|S#v?LMU)>mRzf zuwbqcJ3VE=3zWCBjwCkS5(GBJo$IhcRkLcLQYJ5{vrD7YvfYv*nsafut=85;zY0K` zHNX#nyl77hB%j-h1*{xkQ^%H+T@ z-?ZaGGqoy$7=a-E(ku7B^7$LjUpf5P8z+m+f=a+w?0bX#(tGAA3zxN3^_3%;=xje8 zEaIx`wqy1%ZY>L`jPZsD&lP6~)kYX<1YaD2yM3^v3U3Xr5qDV};fkA)@rlQdH%1fq z8@4R-(uYz8?Qb;mNacwU#KunX_^>jBne4GtoXGL0iZ0zl|GU<~Dq)M9oR1UNHQIBXP7V8^by5I4;y%S!7dC=`1f zhw-0&H~cSuF1+>`++2c#Ly8@wMB{*YfK0jTF-8K!l%_lqj<}rTRH&EZx zev37ejfkPm2vg;o6FP?*x$8P2IzB#LE|R z+!qR;eA8C05uGg&=D~ zRxwZ>`S?YbmWGy8U6qtM7~zN*)BYRZd-KJ6r=PmJJG!( z7-I}b*&NBycG~348kx5Y1-XSjh^!q&KlW35)Cj8lteP;#L!A3U?Q_Q1xF4{w^-@V? zDm6d01Uj0h{c3T=Mf5~8q%sj|u*JlzI@FNWBR%bVA)bph|(djJF>^1H5_@trsdz-G|lghf11izbBS9`VyY%(5y%`l4U97GrNjW@R{K%5eV1R&E8I_7vZ>GlPsHHwgSXe@L1ZEYr?hgrh$C1e_)y1;nsgwX+b^=Cj_RR&GNCk-PLMC$V4|QU zROag_*zqQ<$`XbWm@_n(XJkyo%SWxwbIv(9LgkF)+y3}g?d+ZGQUd_74phFFQNm`3 z_z#JUi?H&jLLf2b(?yutTqRn$r~tyNm0){q28LYsG^fEF=;FiWRdM~yM_=Bjy(^=L zh9V=ZQ(K^<1zlm2$8!CKxirlR%Ij~KQaV09e*KNt|MZ{vGw*rtyPtgW$%hXfgcuP* zQAuQ5Lz3pyNU*YAfS9>ZkEt>1J^(orVmSvS6YvyHSXAq$lyWB6tT$a3{=#4UfBlW` z`rB8pUE2>kL?n*Wo7jjB87GC8!{;bdo_DzGap%lsGjOhyJF3MbY?-+_huEYGQm1H< zNUA!Nvq$a#PYg>#L39lHm81l29)lKgJ+NyjrGMHWHN&WcRg^*dD@S7b4$en-;qLjf z$E&B0mM`2pPqFX#T@d8znm9vtI2dpUfG7b$4A?at5uFcd-FGSHAxjX3syT2OCGF}5x(~+0)>hE`ifnZnGhUyUJ0zA|L$N9m^+AaY zH;#?8BO|3VThLjU3~g&>YN*R}p}p+FpGr)F7a-w5#&TgJRcY~cTV>LrZQyW1P9=XF z$Ag0d0Jweo_M?-NBC9nuz+yGAeAP!=uqCK3g^=Tqpvt&wUm)CPS4}$P>BLEYO4!>w zGBTqye5eRZ0OiF+nR22S;&NS1Xf3<1)3ArKXd%K>(4L>A$s(aFL8z=&AJ=G=Nmhrl zO$iYZ(vSZW`uqQ5cmEz{f{a)Rv^at6pytZ`0NfA;5abchEB;S(Pj|HgmUUA}_v z`BLf@IP8H>s&(kkgH!`!lDaophzcQGxpL)jv#~bVj6fY8f`GhHgJoA-TeJ^3rq3** zz4hhA#45R;ifB`n*^GD!%RuL!B)w|bt~;?_9XE}7D7M>VK?SA z)q_>{cYp5ne!1)dq%pZo!P9g(VBm9rK!jl&hY#FXz5C|D|L`N9J~&wCoLGCr7YDYs zY)ySn(>T88+NC#6$I}7VYb@tmK?&9iRw6Tv5f2d%==!C_>yLJT0fWu47c`JwC~$I| z!z54}Hr6h;V?johfDsi_&LP12-uaHteD?M)f98$VdULt&bI!$YtJD%D%0PgD-`K`> z*g4l~8YJF^P&PH9(1iwKLvau5iUhkkXvwW+vB;!bn?gUdzOysZ=2xU9pT+We8#<9_ zTg$~IogHnRN^L@-HHeTW3D9p-$$6O`hKpiuU zF*0V3D!wmQ%iWM3obE7o>n>!^o*Y}U9%G4@LIqJ z8!PE*uK)Qhg;ckI)S;|OF8D;sDzP!*(EI65oqraXM1Z=<*!n4DQ0uA+?_&^ZO^DT* z)snqAD+EqSfoBP%H_ec;C7**5CXU<~koi~pXbqX+iPkVN?$+I~A7(&B(N7Huu%A&o zgK@c9D~Z5%sDhS@74T|_hrKyW2B^3(N4MdEx}r{wY&6W5pJO+IHZ&m&=LV@jh9eI^ z`(@0M8!~Caci9!Nql@Ct^KEn)D&`CwrBx69Ccqeg>YFT0YZ~|A6)>!>hr)L)fvB_7 z7-JVZZ!jzk4OJxz8A1q~)#imyed^OMe)=oE;>&N|yg3ZRZrFn!-d5-?Pt;3!LBNOR z0}zQ>f+|nwyKe~*Hh@?m;P7N5m4quXW~Z+pi9YIoC~3P@_$ov&J|BxG-8tV-Ht8snAH2e_Z}bZ90A?9+38~K zAwrBX#;)sQ2qDH8LWm*6*u~hz7-B3xMswLOQl^Wsi(UD}6?BhAZX(7Qq8Xy;0JS<; z1h4#awjaOn*3tPezVc|d?E9MiuAD=|2Sx_NsDMa-_s+JDA0Mo{@Yx5ai$$N^F`K*q z)o7;9jo6Mg1I3DyGZE0T>vDak50BB@AcCPCO)Ul(#7!ve)-@GBC!k5arUCSoNe3FU zr^sThJD06D8$Ci}@~vcAw#|YScWkmViDn-$FvJpEM%D^^G&9fA#|GSZiU9=y9kWeVP$mC zzUqiD+sbxeW1!2T6(V+hw_3;8V;W)D(r%064ghhn2p9oNW_zw;N9+xQxWuSrasAwu z5oeKU#3H$cxJ-auM|WRIf8|ehuf7O}8^TCwK;9Gw$Y!Q!TtL7;IYS6=`IvtGrwCGb z-&f>=%PE&L;Ury7p@nw`)ZKLm(=iAsjmzco^z`(He&~lk{plAM%Vj{!e0&i|sD=g1 zWZV&0F7P0uRWcp|51q0cW!72o`+#T z3b@_pg8<+7&dZnA{r7(4cE*0yhcphr8I;lkNzO+zd6DRF)xLmZ#>+ANt}lM#pMLWG zOApg(L6phJpW;e&`M@)wtf}VlKYZ`CUwHN8GbckIi!5pntz%(3hk#>BU;5OgPu@Pe zH>6+-S}>^sZmgRV24HM3u0OAp7wIH%(i=$)VYl18WLD~@v}%9$6(iepnh@Mi)lCyJHSyG$viTo1-24SaK)u{@nk8~jmPsQ>BX zrC!oD0RV`Q*I1|qk;q@>JG*4QEs-MtkV*=zJb9R_Qk^=TTrdxbAGbUL^Q`Tju*FtK zre1yA@UH2wjsrWX#*^f+HB@rPq{~b+$?tXe%E*pmCQ6xV$^in%@kB(Fb51$uoKqT8 z%433n1eC`lTwN>{`~47O*c@!mce|8R48fs=g9_AatLan+Ap?YnM6??Qz(4>)eZO#x z{7ST6mQSli<8cN6$W%n1|DUb2)UmVU#}7^s&d(^+tW`JR98a2d*h)7tDu?W>QY=STR zeEG_*2!s%peZN>PW5ADn{1boYyTAK8|LmV%uh+|EKaNAdU^tG=uz5K}_qR?HiH8q~ zpzM{>VU^?wOXo!TT^n+`l3#nA7Ht3WgQ5V=^E9%IoLX&Xe8zxO05QC5FX^S?a~Vmh zsOf^II#8KRpIF6_mx$0EfiT45oKygno&V5zscg1 zS;8@}F2-~6!Z}~H9SSMt5ZSTEB9?HhR_G`ea!3K3z$>PiGOgF5<$Qs$%4ON zEKzkCyb^jl#qn*#FpLC{`YzB|G6RhasuA@FU#y#Gi>a_>e3c!trEEXFvewp#;|YA8 z`9;F&uJWX&hFSXAjWVjlFkntdaTao}IkY#~6={%)ae?VB*<~g+$1gaZ_5$_L3C@Kn z_LvH;c|Mgo$6+61zuymc?%e6RE{$nF>_g~srVum`hB{eLLXqpX_DF@>Y$jFurm_zz zcf{jee=u>CvZkCVBh=Tl0w^FBV+7@16+%LSGA)kFRY0Kq`S`{Q@bRC9*I&l7GurQQ zbpXdV@R|4E7k+tIZZdQ*43tJh1fUF3Rq?P$@s*9RnjM4971n_O2r~r$$^=~>^0@uM zza4(@r|{}A0a4nsp~?V+{2D~SnqCJ)*mX1}h=7-l;K#n7KKLQ{#@`De=3xXxK-~@_ zoQeE|!M0KlZtJa!fFKpsp;a719+mKuLw*i|U zHFpVG2ZJ3-3llPex|{yjc#-m^F&KmqDdYKmyt?YX_W3Iv(%<{=?G)l>5yt(9A!sHS zUy=#KE|2Z7&>q6L``Y(h+Yb3>UV3opV3pH|6%>kNTxP3vlv|@n00@clV~4A&hwEQ{ z%zS5A_my*Qzp;H5-JHwpkK8^O`TR#$g|xdWmUtSYbA_h)ra=d zX^3b_wNwQBMpu}uhfNr)46^Tic7|E;*^tH%#baAs5_IOQwO<5e_w!3bRY>I{U-Ggi z&EiAQgQtEkh*+%ZMO%g{t~R1w!WAMxhyaLuI$S7eS6vs^mktPU7{+lN%N#cI zyIRW`frpn5$6?r>ZDS1GsvpO397k)XiSlC6pPro_UOHSZ7pJGAbW8`)8FckYMBsoG z01+V5kaH$XDfclP9vvR8S6vq|V9w<|AsMJ-af)YTSgBhVn6s%=J)>O6G@w-D2hqAK z1{BEuqnAxTb#A(mazDBik@cQ7r}b;K3_v7GSM90zO@t~OCQ8BgQA_iSGDw1+V9FXp z2*9xf4Y`I;RmNDJ@nmdYD>2NB8qOnrH*h8fZlV(0cfnO+ohNE@+m8+Eh&ANsMmxBX-nk`oyjad zHkNpMU^9`eJmDeqJ&KV<^MaTsDBu3o?Xzx~sH_OW03*njzlzx6kM<2OA0j;Ajj zUb;vKUGt=iQp|+VEJ42g>+JmelP|pRlRxznfBmoh%^&%fKXU#0^)AL?9Ab>b-Xil| z-a5ylRF+Z5fi|&?HgL&oD_TUT9}uNJj^Lu%LfJAOCBDofWMZSllX+HDs@r=V`&iz{ zxM+G8Cj(vq+Qf&g6i=Z;g0jG&Ef%g~-pGkc>1r#sELp0&1VAap5bp0&cd~!%a5)U= z&28$sfRx$GCA$`))Sw9$f+`iOW0~;Ixn*RY0K-U=y{pbT|3zPid{Zun)g;E0%2~v= zTKl{rk!^%O*yfR`oXq3w`0>52>q3YrCGIQQctOo;DLmvC&k_OF%hl43L)UeSMYr1z#BVBQ_g`ysR+K0p^j-MKYxlqE>1*#eT7Tm1S-)N)v1eJ^ zLY|eCF?6GX02%Un*}ZV@Q7@7py+#rRKACRTLK0w;;z? zMlaClAO9gwyPpQOSXFy4L!^i~%QJEp*)pZiNM62@(^?N*Xc~h{~jkl(!ttXD8F>5wH4@ zE{unRgD`CIqd!SM@lW9+KZb97n)U-g2)lFG@8R$mZ#+)Vy*Gc!*Wj0bL%8~MBBZnf zp6USrK*-{qAP}KweL*w=3YsO35D3NpMJVn(Vu0J93P16`#bFB(A*U)gxxh~8kfaQk zdVq)^0PfGj^{a62_573n9Dc+9o(_&+mjNS$8nLbMWCGc+r6bRyCX0UsnU9Z-u3Wj& z_kohUkyu6pE^vXxQ;^Q7@T!|&W7Ti-64yZdNf2uwO_PZVay-%)jtdC3Vg?r!n27pY zT}2|z(o4X7f;5iLTv~qhvsX^i_&vXHd$CwL_g`Oq z@e@aXZ{2CNuLsESi` zl1-~p$~HuoOBJ9vm|tJKQxcdMs)}t=H^VH#LIqpxg!4zJ@}f2;&Y09H-RD>`@*K?Z zP8lK-`|6)K-7stwl|TW@T7jRa^N7mJhM0c#Xv`X`o#Y#4uvr$PuGnrT4IJQ;Km&q~ zqxMcHFI-1i?dD;!&$6vxB1l%4LyW_2cX+UQ{PD+grcC+#e0%%$o2kB0t-kCoU^qTL z2FknLezE8`2b))4`Rv`h_d^JQ%~)x8%$WcdU4Kd(6GRz4)ivPc1k#83FGtdfl%`?4 zv|PU9@f(}N4PwXyDc5)m0o3#hB&vyCWE8%>dzdKKF(D^5!g3uaKK&Ie!w9IPl-e<1 z{|T5BBVH(?B_n1(RwOBEh9I`lXrf!h5e+LwkI|uGnEeOEhM~5KP|c(U>NJdOlMh5W z>v9GeX|=r4GN3>LHB$xwkk6RrXAV1eMDIcimoH2ejq(zoF3U{Un-xF#+ zpbPY<3E;=;blJs0l{qEeOBw5%$Ll=G_eAlwwpt=4;ye)#1Derw!-5UdxkT|J>X}el zm?yr75CX*55m8Aw^$Nh*A8+I(yHYbkF&24$t`Aa>!?5 zNW+SW0kLd5#y~*(-R|XAUjFHy`L{px&wltPf95BF;OVEH+7ClYDTXL3F=RX7hN9^u z0L;%Kg}t7AMk#9uMTH(f)I=X^{D$%@T7}dhJj z02}t@G2*c|T3~8zu*qjzOgqCBDoaJhQX2cNk1>uMSu^rt+hD2#rbGwp{*!N>z5lV} z=dLb4efKOS!T=K$H0FUo<+(JSA;z#z@l&s#{raabzw^eyFTZ)dS@cA?dEWHij-BT( zLc^)j1|p7`03e1yS!U=8{rY&VwStzkWNfj?(P`&uQndc(bxXb);r&$v2uw-qJt!|& zR0*Iaw2_(>)(R`iXhf`O!O`E+!4H`g5$opj&y)F`)Z1u~#DJBWT8M}+U_?AQJ-Pkn zn`s;|Fx5>@YT(qVDmiFryC(v!c7>QDI4KVT6U-d36U1F&lZoPAieJG5)YKlVCMRw- z;q(su@b}R_`7Zp_&vzMMvB)7n>~Oh&J^=0T?yKA>1I0X! z2!H`uPb$_I3vAwbN&pyi2dP2{@k&<$$T46<{NzXCCq5e22Q&`VB`c350-1y&0w4zN zQt>~=0b@spSKy;ROK-d!-g!*HY>i~*IJdh(HeqE6u_H$@#@%jr>C&a+l`@UQupiT7EBsAg`1n8h zl{a5K%SQ)&9+T=jN@tlzZV{j=e9CaJ3}5!t;ottZuXTN2T$YN?tci1rWP|`?%D0Y} zLxz0@jLyzT1=5&uh|!okW>L%)0#SLT#&U{?AYjOZ36PUXP{2-1L?S#N5{{SwCxEXp zrWUD;@R+P|L=ca^=3Ntm5r+>NUdczAGD1F}DP?6B+rlsf$I@Z$Z_!p4`6{KHM`orb z&dG2@3;WR*uwD$gE^;AKid-WO?@iapXe>GgxC1bZOQk_RL#-o(cmV+_eB~O;BMKp` z*X#Xm*zfn3j}Bwpym<#<1Pt}K;S%&1hhfq8n}dTijuCOaUdGrFPdQz9i6Dfav7hNY zNCH~wFQ8>>wH%1!et+$7{myqhu_Jux^?Tdh2tZ|iS8T5diZQW2J(97^Rn`x8)n^Fc5% z4R%bG8&mKA<8^ZZCB~T^8<-=`PTp5d(S?D!OUO)0t8@y1W17kKu|%6qDb4KNYN2;$PPQ~ zCqLOCheI!v-|V2nWH4ljrUV%zxH}jIf(v$F2+jfwX5YGdy8FK`-+J$@$~=C^JX=^ryl^1agmW zG=8L=8k)~_6h~)}D`E&a(>M;40RzK6s!x%fWG=Rn>`r^HjdGjVKrPZ1%_6aRx1WYc zkTJ7uCPEB;NajJ-~85J|Lgzt!QR1*TQ`@hRTp{;^6X+5ko*MFCMx$KY#e}(aE#Z)pB*~#?2VQup6k}m0Y{zNyrF(gBlQg zBtn)Sb8J)KQ1GgbS1?#N$I24QF5w8k6v2^ID~l)mdwoL=i-1^>%IZc`NVm70En7^v z;=n6^;SROV(*}hGV$tWs26hGC=PI4Q!8DR&`c0Fgj$zr=bso&`B` znEE>k6cFMU?>+tgm#@8Ww0PrWI9xBr61}h{OU1VXc2nn?$Gq;kyC>T>pKd?={K4Im zi__h>Uc@nF=BrA+Nj^3l_YMxKyJZba1eD7QTcudv@T1yEp_SX1}o&X}8)Vg5D-l1VBnzxme8Q9T0>I16bpGB|MzdvKlt0>;ahlkMC-$HXDQ|Y0U$=q znR3F_O+0-}zxGeywQu5I{y)SY{1X}boD)%mAdli^G(&!fIilHB;koc51YCiC*F)On z?|v(sZ)tx?!zi_Vl^r2y;>fx^G&l{2PwwY8zZO6Ai4=QCqacO5s<>&C8pPHEA>wYg zTdh_%Zr%_!5 z%)e7*^%T4dnewO&06@x!+cBq1ch=n}U)+1;+VV56Km7cgmxqUY0md{CVi131#p9yi z;{MQXBN8GEDX(exsgJ(++LN>2{LYhW*ACJ!u%9pE8!I#37|dcE5pxnd45X?OT!qfUILz!`N<;4!b&Rc>~16N$ILdE>+>mbQa#_fg9Dn1u5qe-U9 zB`iFnmkvq%A>E6MLQUV}(HHbwcj;hHS zGLTsvkY%KfC4zqNveM&E>g*qO$O#vdxzBZp?_#FO~$mVH`zA0GR;u(rsmI1Eb!*$z*q;@1tI96H3C^_li8+t6y8WPfuVhVm;W{zu zh~}%?Z__Bw_io$UnVV@}3D%8^(Q*{$g0ZS=&V*3%KB6N{f69J@P)x>SSLs=Z58!8F ziQ<-Q7>HcT3xJe!K|dIFL#AA!a|QOP) zUZ~z~H;8zAbbS5z`Y;S<&(5Acc_wj_X;GdhhZFd^-?l=Vh$A)S?rUy@ge|Z`_`*QW-LXMLg05C|3v#c@d&+Oi6O3}sE+Qp1v*y$O+Cv>uzNTNbXZ&1p#FC7CSV&(|5 zZp#7^Kma7li-=nYcTX=raDDHkiF(UHO3k1D5=~nDF#4U8R%`*8MjhU4H1fYp>qed;9cR$`GJ9@wscYlPaEK zeMGdk?7w#R^yqN;y)WPR?XN!^a}2CN>~b;?uOns%5_c$HbvIY$k^!)+V6bT{tdNy< z%@FCxbbtImN&}^wF$5mE z?uxlUxxBg2+C)L)Oojyn0mJDD-Te-90fqrWKuB6>AgU#$1PVZaWod!|hBHFM2X`q` z=)0Uo2mlnSxe&>#-Iz&|tCfhN9x;Sr81CG@wOTIE&resYWy!|Y0Z{>jKVtFJWS^M; zRWAXc77a{b;yoOEkvMmIG3xK;P<~xKn#@HP2^DJIg`QbZu19(HP|h@D7!$2K{NVM~ z_ue_&r1bYc|L|m&jt^Hk?J^9evT+Dan;-W{`z%=3^*Y?i^=j?8>T zJx^Aw?$A^e%iJhmb!>bR9Z`%hZ5-j+G}}#evC3G;d}$Tf+LEF3YB7nk5Jw|Eh5IAl zaHgv^ND@ccG(~IS@3QGXbB=dfIo$?C5CW!@?mu|g$A|$_%DdeT>T;x}S%EO+baHwM zL?Um7IK;h_LWDQ%Oo$TJ5X3Hd)1>O7%U7At%3|*+LntYKY~B^iL2*5S6F8QmH&B9+j{bt`mhA zx~^m*7(bO?C=O7J$}!4gg$@cDuvGk(R@t$#bV1dpW+)ZQDVNPXZd8hlFa*qmeZ=iZ zk1lpE9Ir2j{O~gMiwO2kp6Z*KW@-1ng9?or#Y`tDW?ME-QV&uvDRiNk~DjU_~khuhmA1$4VJ!vY(XQ0S%Q)9UL6=iD{#Qiu{ zPdNDpI9v#**;=^~pavxF3KBf3#;B7Hx`kV45K`{zByQh zHBBVwVwS{;%oT$P5FnPlGyuSe0rFRVJO7>kx;r_87hi&52g43axqc=yGC|4!1Zf9- z2iI=GcfLix@ZZ2kKONrpJ^AbuArO>DL`X7OYv&uvMZHCBiX1Wk#RXhEg*-r5l-Ivj z&XsEDlqiJyzD)Bpsfw|Lln6s4*uu#(7!xk~dUF8Q6@W|ovTc$YlNb&XQF(Rrt(!OZ z_LdJG3;=FV6RO76!EGX4)XX|%)++>ariIR{4qd;B7JDxwVXX?hX5!gt`z2ZJ1n^-{t^4@x_3eZ1cfS4X^KYK^tJU$|B8`J}C1g222ppLpNl$L<{cx4-q;dc9AS%8s}&0U6p2UKbJ-sS$7((noKuFGu?NqfNJ3 z10@?rTK;PZ2(xb(^YLnt3BP-?<2}7P7b!9!#R0cV$Q_Aif9D`#%BXTNW zs@I@Vat zrMdXL`n!06@)xUA8U{A~9~+=ncnG$jh6?ndk7a`Cwq2!SgPfdGJCz)n=3G*`8$rrUIiRsi)mvf>$QCK}10 zP`w~v$aS$}07|@t4a}^rl0g-MmQ$+aymoSYY!HHK=jcwDZdq{dhe>BbCy*1V^e^Nx z#5RdJD`*~^Bxo>gG`x5Zm}C3XK0S|QO66}&!&y{E$LQHZ=|KYprB`de1f`%-t0HZ- zSk%d)w^oK*bZJ;t9X$tFvQ{^}RglTz5s?810I@#%q6sW`YCI@%)M^_Lvebo2g&J+bbZ%#{i5$; z7h{YVV#NB)y~Sd&x3}uLF2;yZQLeHJQT&an9|srmFKMc@X4r(xTpoB|IA@5))9Qs4~TwHL>9;uoBvJOamlV%~eONDXFQm&@+)`S6XmpMC1ZYmd%%Z=7uRmwisD zE>mh|uI}Y~{?C%CuEMuL9$u~25LAr{_1+Ep+A+rpNt!k!nBDkyQsO_rVO^~ypGP3@ zdP6nuB8hEu4ct+caZcjK=K&ZyK@Ty|1Qd4X)w93G0z4HEbx>K!E?ONUQ|kH^06lv2 z@Z{vA>~Kt}HL49fT{B?>jcbi+AaI$l!zQm8$W|uPGKWjknp}W7Y9)bWa}K)>pS+!Z z>3_s;eFHx5K}rJ*JE+O0%;V&$iuD@-3=|f4;|6{8bMVVQAOGrqnSg+D2*qo#)*)oM zzs6J?^9eKA;%P9_Zp6J~So9csi1LaVP7oBI#Lga|yd4o8ETs|FNBHEm{PZ4dFQ7kW zm>cnxF4|6Y#5 z{dc%f(twy%-)9{Hco!v6ha1hwXSR>4j>`c8;~i{v58nA#-*^mNkCgBRTcpr}znztVZsmH* z3R!g;f^6_rqY4*mm?5ZWx4qV71)2*oVyJOT32(|y0?9aF8Dw2-<(!$RH+(xL@*j=J zZMXbgQ{R?;25eow>Cko;XU<-k1?nJ`o;sfA2u-Htk1Nirx^TUrF0q>z1M4b$ahDPEJlcey5GuQ3f|3A$0XkmJmsfsBKFLy8>ZJwz-TJRe(GlDn#82xl zJsck$jR|(+*!3NlTU~+InpErJHA`kYD}ORoFIRe1OcUO-z4~h%Ald+xb&TQF1Xylt zz6R|%)2h}|=%U240&QysH2acJq0l-6wji>kNki)m6prk`CJTY}1zjA&km-OlFfHfh zrjDw2DEP;k)Zmx|Fg&14jP$dq*{G!?DkrjY5EfR2!!obwa-)ubh!A3cB%zdtXqJxy zHE^SO*J%!y(3Mef(%M+3MMq>Ot`XFP62u85QbBLrj9jHrK^?bw#vB8wDVU!)D_c(0 zYyf&5)a&GOFNOw}G!~KBnot?#65~N;5lr&IWl4r?rjy)aqcWAU{CTXobi+~0T;gSQ!w17nX-ptbGpS9aa^=+B8pvDtyk;Cvg><5q+Hw8YFYZq7z ziN*s+#?g9b$3t zuYHOFD&cKEqW@%dgpq{w8e{Sb;?lWyM5J+5g(j{PD?=%sDIHGl>Ku^Eklc{0L}YcP znutB`kLgJ}6a=Ce;^*If{FCp${h=G1-+y#@ZM~$N*!XJN-7!$oCuL>?1dvlcSoL3h zaJIKzeE<7zoPPD~vmq_}kjopUT%wJDLp?DDPp#X4m3f`3 zbP9D7+so=5DsbQB;2Brc9-YUBv z0r++>p(+5&tUfwAb^wsR^~L;~|FSG%$;_h1|V5g>xuXDOZQ{yc{}^aVAj`exE9<_W{&R61K;a5$}UAuO4=hkh2n9>+R59XK@PpiU%WXyFKnt~)b z!++XmDYSFbOR7U5eDF8{%2 zpWeSr`|H)UWzOT6MdZd*bYL-7%MTJ#dBeeKP(q~a6ew!_7>Ct%uY4U3}5dg17W1Eq$K~RL2wnpj-kZk`TsJ zCe%*Kz1LY+%BXX;Ap)P($YbJ5yb60=ZW&wP%eF^%5pfuT0((C3F*R8cHtLqGHGI>k zo|!yjP83;Zs+03o9YQRYS8vpjEKNv;D1k01+825pO-f|LKIz>0Mn7*sMs0~wP-C}# zIa4$n{LDk7Xa-LKC3%dDKvUbXq>`Pj&9jODX&>^R+JymP*)E>wfN&SB_=+?$VaJJ0 z6tq*vujONsL*f>d0&&RgJjJ^G+EO7;A3|ZWk&}LKaz=jP3_sMz*O}FN8EVd{nRw0V zlvc>uSsR-9z8dvuz)_T1o@5NUiPfen_U#nnJ>Ee;Sg%(Hd;47%hhezfY*OMS10oOv zgj|GRT-19!lnL);b)g~QOvE5d6uG0UG|L$PhWY|*#IB3`%f->*&COa;+o!us5~fq@Q|Bi#d9*yR!m@Iq(M15S7y?*s4}`QmC%L2#si-hl z+o7RWaWO<0gvKV7T(!3{k7IJ_Qtl8zL{j}kBfXMj#S)M^`an0UjZ@~evbiCoEMirN zvVA&}@njfviF-3Wez6zKI74FYw2RQ3(*An!&BvFYdVc(#I|tu-a=A@u5g}(Vgt!~o z7+T44D^re`_g2dBwM6s zT5nW@HIpxwPyVWaqJh%G3_2dc?tkA#@%igW2EXjRFHD8 z6zW~6(m)lC7ekz};}DcPR0cy`=juy=#Oqhk!BFNP;7MR&lMI|&4?r0ZV}!iTU-@i! z^Z-^17)G|J%zlI1ib};9fB<@cF2mh7;P-wl{>lGYMx@=qHy?&iSozoWwawOdD z#_zec_~}o)@JnBM_@#Rn$H)6=x8pF`BCrHe3XN=yb&0miu*UIEedPKteBplVmPQ~5 z#{4S16E~G|-dl8cj@Q5SohKoR&LA}C#Ftvgm!ds!4Ay6hdv8;_o&fSH6uWLg%TVq^ zH*5eb&jV``bCaHV;gE?a^Xo4NfS(bj+tkJ()!>6?Qg|nIqiSC0{^6d=35i2I*ATHj z+=qo&%ryj}`t*2qnFIjDk8uY;@GrEqFU2#f8&vuPl_wC>aI3Tr&9hn?u1X-Tt07rt zwQhOtsGadH34y%xrv8HfRPOGt{RGsNA~B7kkF#R{Z(wr+YV@hXqpK5JYp7%ZuOU!;WOY#XTJakkCrBY}1r(**!KttZ$DE0vk8vDF z;5W%)Q|X3QdTu@hyo7KHTuhVEjVsc)5t^9^B~3n2aw@K6%d-mjF6~=9id_ln>X9#O zRxE6v)i83JxzS1UFcWGDTIdEh8QU&U(s+edX{)NEXkR58Vu0hL!@a$|&31Efx&_1# zFowYDP_H+44aryzuFNRSS1u~IKe0p^eL*?Q>r12CZnw!e#rnXht^=YNs}HA?=;`?- zp2M}n)%#z(^YrP-y~igQV-DRLk1ww6_ty^>bh>@I$ruAbvJ;uPjmSJ*ZtDEljD_+t z5ovz;knCY^eQP)Z=8!lIL zK3vleRYpKmQgVIYmsh(I<&<;I+2uN`4isdu@asJwo15P&oH-<)Xpo&Sr$yKO#&_=i z```QWr=L6ctv8=75B35iW|1oqu)SMUM!=jYMoeA*xz`^5=!b9r=m&28<~JV>-7+G- z?w!PI&TV8_2g$3Q>IKM24%{bkG$0_qBMd+>l=s#+XUdMw0-iNPv+9_R!%^&|rBI%)H-wW|5CRefSgde& zL2rE<@`xBHkAS@a9s)ojs?iW@rzP3ExD5(R2`Jonfq)=o2$7$A$%<<;(`qY(kO2b) z0t_^4@%jyX_K?O+L`=M~VhTOkI%@n6%o)jfRgM*HxOVNv;qg(73g0$^qh8xbC3cI> z;^tKe=yyBp?lpT=GC#SnwgG=OO^s5}Ee7-|9|lbw(z{a$|L}`XPR_>=!g}4^H~`8y zjl7@1Yoh8}m_`&$sfi3{O9EO6a6612ySez;Pd)z|-+uhtZ=75^-cRFB>D1_=30Ziv z&#V=5h`Wp3kH7EejVG61dpzv#Ehr~jlSBYl8Fg{&yY29?Tl*I~dUTO621XvL_^r;y zg#f_2C$&Wl+H6dLven{v>%i9#qbm~zHLVM+!7PEU&KoT;dPD>@6Ba_KEC`iKVIuD# zn3&jWJUG6IBR6>3e!|J`O>OC zmdx5d$B@>cOQjl$1CXiOwV|Asgad$Xf}syjCj(EYp2`21Tos6yLocneWgapD0A+a) zv`yf$ha*)IXc(#fn*cErFN1^##(bp-ArY{L0oz=*y@#|z2wm635Qq`FJnkk_PD7@g zLkKYjW?W@2w(O8F!>OM7NfiMx#u?95XI@p9*OdsG_9F9Np+IU~Y>ljV64dl>Ibo>e zIT)Ta#t-&d0By)rXkJb)Ye_8K`ZEB;Z)hxNRd>{swW8}JGvI1C?kZ&hqD3G3z6XHq zZa1csGhyI0E`+jqK!`*+P#_`eN+r7B=)j>b^HZlv zM%>D<$>D&h5`~ow)#lxWru`IrM46Do17KV$^B~3%0N})2<6cDvOjZufk2*;QRQ5MN z+tNc@JJQa`p0$f2O=`y@> z$~b#Vj(Q;BsJY5mM_GQc8%Bw+jTG2_^2+e4__??kMBtZqV9;0#C%if@(1_ z1E89g3E!tCZgP}n6{)eQI424LZr->SV|Q|TMu?${2Da56J*EO{hglFxy?jdxe_lXaZTidt*>qv1FjNMlOtf4q_xJbvr_c)i}sB5eZ~tKH37sW z(B+WFh!G*WH6x1;td@8xKyVyjg0LRB-qWEWm|26#?uX4MDX%TKO+!a?Ish<}9B;r~ zfRc^4Zmb|^AVQYQ)x&`l6|xE;ze&5=n<>&%#>fvjQ@;pA^z`Y|x9{KGY&QL3A(L@l z6HM4(nFkY=s~$4Rcbg z$)%=c-KKSS1@|b!YKIwJBdH#&CXidT_9R^XBysy7J~(avIA5 zn?!)VfX?WJh5*e9``r#TEMw2gAEQ6^AZUM;rHz|{?O$9qo-hSbMOXn=@0r%%6l@SO)I2|};-1$?3R z2w>F2F?7P(;@V3rP-8}uyqPN(M&4T`AeN%FezTDTAR!`PD`TZ!=yGsH^6)1jYJZ=L zm}iwmJg;R@bFoDW7E9aNyOa@;vo^Qhs=V}DthGc-e=l~RQB^YqzJ!}=wi$eUb=4eo zrv4{UJ(FpgmN_aMHoq|_Xs~045G!F!H6u5+J|UMg`c8aaQ-~k~=`#xD2Q(tEB~M04 zP3bYQkIM}eTB4buyxKD_5E8&x?yqGdM}U+PhH!Xz3^`w1TmZ!oBVa}hK$J64rqyy4 zL)dIL!sLn9fX+s}w^WtHA-8mpEA zNEclGr%661GyPYtb(}+0Kt?njU3jAbiv6|lm$w{k=0tgFvB&(zy_Sa4T#8|`+$350 z@KA$x809FlOR1#>(Ck3~Fum));i2ZV5M1a3HIQJFblY{D%c}MuX)ywlcD;JN{4tCgR=}s8X)=T!55>M zmZ}N`j55_50pv=%q@YSiv6!+vF-Z$@)0p~lV`yX~Nv-lCT)%b=5YH~QA$F0GkBKtU zm!Vl)W!_B!LSk0W?dgUI@D8}?-KV0E4aTfCi)uRSHc^hlBLWJ5UBBLp<98oEd-c}w z2VS`SweQ|Vq}atLXJY_(@%oDB;^D;*LPxf4P9mu$njt4JrPiq@Sn|xpGv^FrQM-~d zA7OeMmhi4*VUI*)M(Z?hNHUJt4RYiKPE(-v2w;mMWkzD%^Ye4=z@|%ymW##l(Q&_6 z#7^Z3fUO~2Pj0a+wC4beDv(u$#c)$35Yr87y|&6H;Dxy&q<-! zjZ8w2k=?P&q0gA0aD`<5*11uD;GD8$QSn-6^YlbO7yxz;-dbGlLK-OdkVgO{taq^L z9l5F~Tswv&V3Df;SH!1b|$gZ^z@1UjSAg6^H{q=2vkpxuEcJ2{&GZ zhmU{~AoHI0QiAb9%0sp69I%7!WgbR&_!a?B2$+%s73642WW$2cUh7{Zf}Hd1TXzv$QmEa?L zJ_?^mK_rzRgmLrJpSbhc@1C3tVX?|`yCxV_m=@4hAs`OB@%pNN?r8Zd-*^~fFs5n! zJL{T$Ww`YGE9#&=uvH13B!?2p(b|`~A&2KC>alUG35BfZs8hb$BUFse{0$2F$YSp5 z=kBnBU<#&pB9PS-tbvNH+uadS zam%gRp&!yMC0Lb+JiF|kUTrHr%S^#|KV>-rdnuc8^@-eaUxXIM*jL{9AuOXUFRTO< z+*zYYanK)RC|3%b@(G!7&cyDZXm7&~#5|@$9ADgn!)1IrgzsL^CP9ao5fH;Tj?3lp z5B^vAN=44Klag&EEbFJe)p{}e(Cqm&(8b4 z^X6-%!g`J###mXA{Ww|_;+-@%S)QgiN9(TT0?Q7|Bwg9WgnArg(|}e(b|T8W*n+h$(ayB7vsZ6Pai#fyj=Ffm@u%;@Jf8q zFOH554i659V6|Q!9UVS=^av3p9HLTD=M%Im#pv5ogv4i z*`qNvwqd9#NYb;2j^OeKogJzpxMDcIb-U)^jPu3jVh(8p-DMbKi+rsNNVR1JHzrXp zvviR=K~}TKj7Ura_cM(bB)tTdp(ed#I7cjKqUu$6Fn9QsKg*R#)4>_)Y1#!qNsiZt zUt-%tgD&D(O#F>LqeJWH8YYPIL+fBLgl$SgPU~e4RM#h!3{LZzxiT9Z`}j~KBGu_S zXR?g}Y80cwM!=eEDS039hSCOTt zJXWPd<|Jps%cx}JD(Z*KKn}Q3m5)_<3I_l-EAMBj+&B1*O*?V05^oust-LJx_x*$Y z*u|6vVtYY=Of(L|dbK<_JU}cPn-3ax`8=c zgA_*JvgJ!iyhlX=Ag8h1Sn=@TgY9+$f~MrH$U8YKe{zi_3(vA)7WaUn&@)IW--r|T zyr{FY1wh1r7(fk!%$3D%>dk31CcHSwi16&RMy~`wnR145I}%C30_ozdc7lij2yt%> zj~~FW!RQ{lWTP!7QU<<4QhDLFgg{ul%h3%uzJ`>6hynrv2B~+&hX4Msz4$NG3HFSZr)z4mcwpKvg7Cu<}^D#^ISPWE)Q|) z58nax{17Pit(i(5T(|jZ=U~DTjTykf{)~{sTs>dhud_dCi!oV00g65x2$R(To{UFG zGYry5Fb?AVLW?L z*oCIY$`E%7W%kb69U-+xAQ8SnKO!Q^l(WJXnr0H63IvdQwq1#BN$Ap$!o)%Rrv|HP zXHsaSE~6$AD$%H7MO5u!Lfl$}?cW1CqqIc(#!WEii#x-zN+m?KEcA!O2{JPBXG3SZ zys{GHOBnGG7|=x3;QK%Q zQ$O|Z?e8DF@X||v@=yKL``-7;cDo57AmBKRcb>cRBR~AZcW&QVES8`A-j9Fc;~z)F zTA(utik$!BKN{;um_Zzz2smF1C$lMfmbws z3PDCGQe$jjPpyw%6qH~{L_4y6Kt@MEBRHhb%_^B7T=LF~xra_bVCHqzj3`qM2$bpke6vD0?7MMDZ0g*DZ0(FlG>*v{huzv1ZEIIwWejmlV+d$G9vY?-rz0)a*N(+bP_+*D%>k;K)^i%>nLb%M z*a+S_UFlCJrV~;dE&55~Jb(~#8e)KL#``DdH;(sj9_(*6J0L>D2Pebp4^M6#EnYcZ zb~z_Pz-YR)xFm;-Kmfq3uWXCyp=_ZxDzl-7Ad-O_(#=3Mn1&|SNoxaY1RUd=5%G#D z4Drb|U&!YSjykKf@J`0*6A?nDjIj$L0svyke1%ZR453ukESC$(@2Q8^?)9tUoocGh z&ZGT?3?<^BDo+3bFpcSOz4*?<%kMlq`{7p)pI?RZU4|~QI%-tI-#o7>UetvK<+NVJ zvmyMO*PbrA@TnIM7c{1fgl54{hJTi=m2v2}Y#S0ovpQGiI}!l=@;9IT-QRrkt9LIy zaQpDz|HSP-`LUbdb8~gP2tDCA(vV@7a3mZF64W@lpa*8c%*)|SkTc|5-dTkPQ|Gk# z%0q#)NJJeA2;(>|S8D)x@ZiDaMmp!KqUKC<cf*b)~K2x3uIlq%Jg}Lye?re2>Q2@ zd*`Ec+yJTgSV0o4y5P$kK#|JQ2@34@IcS*kDKm`(7G~_!wsSs87nW*_8DJPGjKdGV zeDFsF(#>K07`-Oli<$0#2#L>L7u1XyO1Pz_1(Ne+_^7dv5*@pLrYm74k+j zGr~Uvg0xeiI1>egPri8g#W$a(`rIQe0OUlOnYK_lD{F0t5-S*CO&YVK=27@sYF$}7 z2MIY4B_mgOorzL;Kx}zBEKyFmw#YflPdVrE;#wlA_)ri?Y)5#dcwWOiO*0V-nlIq2 zhKk98o7k1+y@$}^E z^yFf1fB%ISUKkVWG||DqQP;)O)6wHmDP^ zLAVA!#oam0mu74Nl1dg%NXI-5^j8qjzYz01R%)IshO0Q_57&A>%nN{lXL`9!Xc`JKJLjqgdLHlCs*+jLlCBs0n8 zBC6{5F0lt^L-pFGyGif1vFTqwicJDD1X-tCz`-C;FCr1W-YCkZp%;ibx1v>d?vR(Y z4YhUM5u0;(H3W$vo^6NCFx=Q*Ts%EX)CYoE!Xd}7WvsrxCvt=xgrc4mJEn92>HwQq%R%HcGG4Bd zK3GRkr($A06J3<2>K1eMe!~x>MgDw`gI}~^0|Ms7lvGv)4v=$7`EY;lUwz}@i`QTI z$q(K5g)crB(s~gvWiqnxxI|#977OFc%yQ0)F6=UX_VtrbJiq@#uN?i}+h@;4>Vjcm z1p~uH>rkEflE!V;o2U%LYtYduWa_?n@A3<8p5HuJeCWpF)2|-=SdUMi?(UxL?r+om zXWLzdVZ;H3qbFBte`R?Ul7_G^c8TVD&i+e2EWaLpymvuf9#TWtL$&+U%C#RBX z;Y+1oWJNSKB#MRQou)FRLk2ScY8XIv=49LG52(MI>=+uIbf}3$&~eMeTdh|& zZeG839C`p`0(uyUdNyR%-i=b#>0dC zaojOt)cleqQ2jYiMfg$>e*oO?#{cm9-}jHc_~`y6>>Wf(NoQ?*4T&u{GbKPA#_I7lA76$Tq2{XG+TBD+8p_PTkYy>#e-%naXka8JB~1n}vXz~Ui%m22z$WQqUzg3d zso7I+QwMJ$Q7g&oH4jE@4mrYwqmgO|siNZ2iTY)V5}wq0N}Qw!QT% zB+_AX0=`t(4y~m!;n%c+stLo?d%*o)oK-1!Ld_;T4sUV zFQXQLFs-Vf!QUEGm5a2!G~-ey1y)gGjkW8LVhm0uu4LaMd!3bd3Z9$w?2IRfcCp|^ z2UU?cp@Bw{=o`z<3;@Bw(IKUL|K0%H}@=Wg!rtlb>hp5Y>|_+vbvVHcz2*m`+JOq2q;Z<6*;(uGi~H zgA2~pxevAhs%Focxt)n|l$9f`dr&*{KcTs)YARS!zbl*#xK-ku8nokiqL6?>2#Mgq zv$KQej-NYRzjbmM`X$uIKWps3i|N*-6n_m)_{vyA`owG11YY$hq!{P?mO3*KSaI`r z9kVb5*0iC&tX^9!kwOT=Fr*UX%{W+VFvhOiEVz>-Ll?8nwyG~J)nzi(Hq>>!zEle( zW!X+)2CJ|oi8Lszyrt&79z2TgV@{2T>jceDVrdy%2OtbB${PcC*Z94&4f zuJ1p+*kARTa^HoE1Yf&<@#3}R2kz`YIosSn9S4fVlOy?!4z#GognI;XpC?}&-9DS= zud&M;gB3K9PW5?Hdx2&+%f9;4RR5^%p?Ut9o^0x@$&@SjuwG_B#GLXlq^|4ANet{{ zh!7yeIBvI8XIuuIIvM^ldhfhMa%6Cu=fx;q zSnuW|qDRpLqZll$@8xfAiMmzj^E8_PYDj3wxh<_3+15aeFbGZgx*E z>B$Zroo~-ZIN9XOgu5{(f*}zBU}iNdH*z2bgs$8iII}(cZU?bzGY_LG1Bi>YTP-SP zm>JWt|hA0RHr76Pk71i(M9u|YJI{P&)1Aa4X~I%Cjjgn z!1X(@TH$s>i@xL+NJI$yqytd7R(gtHLd4;mVh0cJ5kTmAN+V*lu(N1+w zj7Mdl43y#ea{vTmg3uW~swpR|mL*DO=SM&UA*Py&p-G4?}j+0u@8%qx=;v*8CCNkfbGzps+YdA!;>z>l}>&UFd>#WwwKyI zTmxC|*VxSP;2n-h{~F-1KXs2ewsDOFY^FVvNJJUKm~u$@L$?65Kuf>+Kl-8T=a=bk z{Kf+atJU5jrLB46pW(#BPqz^dVkSxuVYmC~?|c5u#}~iz`m>|sLrOy_3zFskWQH2i zh|cAle(>evFTQoU%^?O0SMQX0n?^S1hBTnVZLOnnL|Oh5NbFKVo7oZA(8!!OIp7xKcW$mtesm4k45~ zK&p!*0<8OOifhQzFaKqNQlw1)fw;1jpswN|xM+Yl}#3QTj=CyfM5BD2Y6 z5Y2YeGH;seMMQ)c!|9kG?(l_GSaftr;qKXZF$4@a<`iSxZg-#i{1^82_TK-#S1!)a ze&aWP1d_56^?6c2&Fd7HtN~g< zs6B#Wg|)0gKz2Z46~J@C@r<#C7%F65#jj%`x_#^RwQEO6m??)qDbu&V{rcJIS%`rH zz>vmtcyx4lbnx)OT{)yTnKrkPyB!6h_M*oRc_eL zq%d=mo0Dd;&Vo$9TLj7_11e|=;uMud>sU9?^xpas(hfDTAqyJ0T-9v)R#px41WMVT zNX4A@uC1qZN(_>dQ4kPS6fQTH&vaur!t~S&r&1~#5=|W=pSLp=&e>`falbZHmRYbR z6w0TmFtsU18`{xp#KPpYJAY=v*5^1+jjp+!rHedW?1n_t#dt9cZ#_Q$z@2M%GCVlj z#=a9zPgVEDp*m$DCKmY}%{lm@7yvwdBG7xVd2gz_My8X-AU6u33-8=7{4#&&E#p)wc! z5RA4LvPJqQ0h5etCvT#l3Y!iFNYtL=z-F0QCD{kO9P>8e^`rfJPtSo1a{4Y1bZ{26AOofVykTK1^k3YQr7(loOz3m&#yq5XvwFQT8h& z-CS~A|YjhKm;K`1d1Ud(Y^ESFMa1M&*N zcH75~pOodnu*(<`2x=7|hj=6as;;Iwcd5xjL$K%iVD!gp3U{8J9VkVu2$ft z?0%V&A_So23Xg9<>@X(^OUPA;GjNz}qp}iRKmtMt<-QUE0!Sk~dH_J7>(V%gGAM3w z?Tf2MtW=a#poAENA>?7`ZoWi$3nSs8uNeWX{>9X5a$!GfAM!{r4!GCTvxk(nbq1bY z>hcX_GgDCl65s^H@zL?k>o>YC(j>4-NJP30yl5_>?7^OV~K4KsuUFmBV01^(DaZhY)^ z|BGKf`TV`J{k^?DP#%+9E=uOY*Gac#Hk2_A!|-G8zy3Y9m;co-ef!|(0P<+KWnwTR z6asnWO|^<$qTB24cyIAbU%nS&hmb5IB+50>1>?))Q1>moHcMu4i53pEk>fr;R&t_F zl5Qp!dRRfb<;V<$Km{v_UzJ`#t%h^DSxfF3-ryz#$mOB?WxhlJd~J-Olp*WI#`C{x zdYH!(KZK$KlWAC6kUBwQxn@{!%_ku%XC509schzO#}xr+?z^FiFKi|{8}zGttg(Rx zP1=KJnT^-uWZj~lEYn>BFem><9m13o;hZkcy8L;d)W&)zT=(~IO@BWj2`p=%bb8EBPJ$U%A@45hxQ?8t&{PnMY z{qEauFBglG)3cQFa=B>sP8?alS|(y_EwT(0o2XmS9)u-XOomgoGbG}dPrdc_-P6<4 zu8TQkpu8P+o6Ajz5mkvOhVbm^v(uB4?Pdpvm)qUzufGXUo=poT$OI(`SZKuwqwFr* zrE6=A6+Fbr5(`#-mburMuVSswJWK)+dm3$5vu@W5v!Pa;9&l_>r`&euZ)H^q?Dm*C za>Y$`<(``9XWbfCx1!yO_+84+gfCWC?T9lN*$g@<`s2%8>WT@j1Cw6i=Z=N~tT!{y zL4(FMH8nm*q)lMgZcMl#+%7+=uQL9{!FAwv1a)yJK|)nB@xDm3?E9yeyEh&_{or%g z7a`w0-C*nqLcNmYmLPQ?98}dZ1>n`SowqJxjAYa!wRsva=w^7w+Q6;IUjpC&%anDK zI+Mv2^(a}n-EL?t%CCZ&ONCaafHp0RsDwA*I(r~wB18-^inpluAQ_J+9rJMN{CM+C zIRe%fShC^;_IJ2kMnGiDsI5KsU+ub183)A4+F z_R(9b@4d79=HuN(qJRN0vjIuPm?^Z-xwA1ySR)d0)0Jol3;Yt4XH%p_ghk&2VJ14; zrr&+*{Ie+oVC=BRxbEYP{q8W*wKZN}hF7n5w-#_5F{B(LAmk47kN^=fjBnuP7q3vO z=|MUlCbrJQ-NY-?0{azc-m!t?YlyF!*_Gk&psJ=c6Z90G(PTHpaNWhE#tKx2Dlu*y zUDw*BP9cPFc7A&Q{=M2~jqa!@FVoVx6;UYJwVjzFQ%oE;lKT~*K73r$)5>6@IYxaZ z<;_K2h!B7h;bM<&JO|k2t}oXRnUF?eAzQ*nSgKhN2y%kO63;I3$wL^nfL$>lH)7D; z*gWKOmqC5GeF;?KWV*amV2X>xf`fsMyWG$ovfm1Tc(ncpaZU%)2dD<79v+ z<9KED>w_Xm)~p!&VK-d6cJ27uHGXCjS~podofD}|1KX7u_s{z1Y6suzQN3cblih6M zu{JOo8I||iCj0viv=9L05QpvfiQCIR_sLs-{g=MhE!Gio&W3>& zds$=U?m68Dz(8sHqwl-@)w}1XyBzz9OK3;q%ZwO2wDZ5F9RdKhipXuT1x0S4IAsE! z;BH1`s#p=6MryqZuv0CiTSUOGWl=X=3gOE`xY#?p0?RfWQUEJ2i$X983Dk8lU}&vp z66L?!ApsQ5>cPxS9-hkfg!MS(gSn|lmInH>+htM8rwuexlaN5EZ2p=K#Y@TBi(#us z$NLFyxVF&E%m*x=MYZkh&18UEFBbi7x8q$)&j!+pOuz9jznf5={k;i&xN-3mHTVmy zgp47CfC>6XBjkY!BnRT>_fSrm`o0^}_?_2Z4FLA8YJg(BNzN)b?3RDp&5;1cPp2#^~S+sJLX1aiNsZD`1>o-}9 zw%rW6%YN02iWpyLlnu>iIYBdB*eU@c3;}oB-TjM=tX%_Qj3Ly`+lnCpal0Lea*QDW z0OHx%Mb0_YXMWbl{+Sq~{2S`W!dTrs^1x_l=K5ayi}&0OGl8Qe^nKNzgaab;mety? z^CayEX3WN=@CSP>0BB;4Ok-l1hM z9<3xJ(QRGJJjtr0C$;(wTuF)p&XKXHb9)4^+b4!Rg-#ot z2w-r!khyF;uzn^0pxiIIhZnouTaP~S;*Gu4;;p9_n=w-tdaZnLBd+-8|95 zG6E~bg(CIH09|=ZrZg2NU@($QQcax%pR)-XG^&V3=2zF;kyBKcr83~6hxTezLbo&J zOB=%|vvR1qO}ms~O zQ0sksMH|Y<#zHb=jJUVlU+=9KiyjDK#LK<)(@5QNR;=Ircr zyB$Kny}iBldJROwFrJ;C593grs0E{UJ0_aL6_J)%V3`ipmE<%Y9jt!&YY(n1UidSg zc;WAT_PdWRVZDfylk`_W0b732q{pI-0FYM8aFOT>Z=JvY=IUd2)^9xBKD-?3n^7m1 zffX=`8{nTBHqKtom*6f zGdW`E0<&$QEvX!2k*(#N#*yU_`yOsR5379$xpD+a5;dp=*Blv0x~c3*CxWhnvuE)1 z9-Ka-!y6LxqM-xK!k%RTMi*+&wS5|)Thq}^IJ|+|d+nSI4P>QRIt;*YOAwGwPvGez zjb-dn-vuEXGAyQM4<7&mZZ?;z_4>xm8zC$(G(Wp<4IX*FWjJqb9$Wdn%b|P2Hj3g; zdWI&eJPS2aAV5`t^e0`PdYAi-C}GS~rCd>(X9)m&QwPtR0Durj!aU?<2OoKE@5f&~ z>c;#}KKJO`C*yjx+K(fpffSBWV-p$6Ox>k*n35F2xJw_o8UNA`Joh(#`L(CJe!UKP z91w$>BWX~j(&3@X6vmXUufof>5B~LM-oUQY+r`=#z`2u|Jqf=8@CvH3fjPc=z?5^+ zLz|T=ys6QhjT^MOi)B$hQ3ik*yG0*E=wgg927vO$=A2SWDP^LZa|oe{HmQzpr&Nb5 z51p1h&JZG&$0>jbf&?RH0!PmTli(|@NO&-{cW{2zWQR$&zb&!QxEruFnC%?^1~)1f zrB6;`Syy1_G`2qhANFT<9DTpXRh709v%5~9+Kr8AJgXYmYuQ(54~Q{Fd0bEZNy1qI z-JEI>!-fM0>VqxAp#~-VJ|#}nN!tlSfMTEsfEfrl$Ip2;Ac`UE?d<_z&bgR?qCFrH z#8_TpUfzP@wt{sqgEaGOuOMpSU!~x8BG~t#Ij2y-bqEC)JrJm0w;j0fXOanXM0yR? zlf_LC)Mx=K`e|MXd2}QoG+8|k&}0rIet=knOb-!P);ir(uCiZ41fUQ?7o#YYP4`i~ z<$w?&1T1%Dm;c2OVt^!%S0@wODdL&Y)%S_Vo1(eJ2cuzNAYz8)SRH+fEJoekPwh5r z<-EP2m70OD&d}bM({|`$4e%9nCX>Z{=a~x^%pM?m^>P8M@WuBAhLx;W=Ck1i&hy=H z$|sFlc;Pd%(6250Av+AbD09Q8wSmk_6yE`XvTAgixYdUXoil0-uo+K9iH3A+zBe?>-ZF zexmtTUux|Wu$9+jx;B>J52XeX05auq7|Uy_kP{7>_E6(x7_1722KGQIKNu-2{WCBZUk(c#hF!QSP` z<>|>;h=?Hq!D_wg`#z<#jIm$z&rVLZmz(mw$VsZDQ6@7HobX<82X!v4_@4lfGGU;- z_3EE~>F!_r!B_v>r(gK_fBW6DVY%0rSPfYzQJ0KjzHTqXj7@!6qZ!q4GnC4r>J+3R6@ZI4a_xr~xqw}yJ~G(WTk-0>8})`0 z&*bsF-N@?5#|k$9P*)ddmR#U$zW%MZ7fd#soLP~BCyNVLtV1SUly3NgIs}O;bU7-U z3l6fp?=N7-J|BSy35Rif{P@ZF*~R|eK0+WO48ep)b_t?>$^3vI(o%G7GL)hO3KPac zDs7E>K;{%z))4^Kb-Ma)5|shUaCj{r9LHyG!{PvFhrB&pna&P?)36An1rt=p$q63c zhs#qqx+OVOrE*4EnkSs_94KW1fYlz{dVwCijcLR#5~s3x@f`p#1OYRf0ww^05MVa~ z1bX-;K*rcnP8x?vu9aAgHG*NWSgr;nqMJ8wt@c)Dr>D!l4~W^&%+AmN?3~TFDL9D? zu6XGC6$f*;DVh`G6WeJ5AzL^=(tf(ftTBhNXWP*gM2W`A%|RUJIl{Rs0sstSrg6-B zJ%04|>eDZ+m$CcYYtKG=?*jVe;lTn^q9mYIwbsndmf|(}Vi6$_K?r$s`NzKJ`QQES$;AkLU*0O>v|SBAk}*?N zu!o|RJc!M}CO8>@m$5lXdayX^wFb|SA9>WM8<{Rb2&>geO;hxA6MP&mD13=a+j|T_@b%71GT?ckl|l4Q zJ>w_e!H4KdN=?0*vKyAULp9+5K(_2TQ+wB!s47!a@)SC-u+ikOJd2h2WQt9tTQnX( z9IJJ{a#+Q;e%B>=z(_>=i6x?OIJSQtRc|k__=TW}IXhKRYmq>;WuB5S$c?95;jca@ zQ7)KW4P;Km z4zwLpCdibH<=R1v@X(!fDSl;a{fLBFe5%Co8fjbT(DUq**|4a|7dt&xAMd?#Gmc~4?9%xzJ=^RyiFQNI0F*OO$fdx(bkyXO3Wd#F&4emW zWK{{F&bknXq*j{@x@uV~|4`kRf|1FkGt2lxMPZSYBmor?*>@w`NU1#QVpuL$A%vV$ z1;I??I0g(c#$h+C57vA8dwti9UElRx&P0>|0wl^Yl_$-`5DxbDa!%tgT5X(onCW3$ zx-a-Mt6E|n7$G21N_`BeU;h2izVV;`$ov1o54`esKKsTNSBn^c?|mr#UQDw(SmxAJ zZ2T0f9EEzp$5g6Ft*0&V zH#ucuiy#1^oN)gDpFE;GV2rfOh|ypP=(4evr4s1h`U8`ni|{iMT)zYR`;Zf5m5}8d z3tIFG`TwPVgh;sC(z7R!6U82e+N=f$;!Ml+vgox)L_h%{=kmVhlR{fJl8#*|s z%R4#8FecFuZdk#Bp^|mPS$&&1*p^(BAS0N5nMcyZI&m@$%;gi#nu>x+n}#Z} z(40w2PbBey0E7q`2nkZoV@j0s;Ua$Yh5b*zv>tciGjE)H_5KBfZnf%>G9_6@nxPfP z8lIRyTq{=zFl+~Uejoqx|K!zQ_}zzJzPsH&SW`+y1!r=i96+jj1V9L3w;Nu$wtoJ` z(Levnw?pj6z2h5%>C^oQ^!++U3V4gxwR_Oz0u`MiZG~YdIUijB@SjOQXLkrhh04eT z2`C`0*6aO)y$~X2pmL@HB!o5Yfq)@)vG3OF^*W`rxxBo%ylkE%>jY#q5c#D8)dayDRI{w^N!Dzvgb0dw^}=T1FI#F*V+2|CPasSKSk4$uF-Q0V7QU4?(iQtGZxPI{IqyMEAWCr!w41EDKG!%c0ZNnKaV~(o*-P_`IZmfxq@t%(8gsMVHrJd>ZR?p;?bIMfXlk6H^MwAhhX#T~-YPvVbtz;nt2mu2DK?wET7tU4)w79TjE^b#R$_B3C4g04 z;hq5?f%Vt^H>XW(om zj**Tdta2{okyd>?&)whsx8M0IKm38e@cl3Tz0bY5TkS6*K+017DWXK;EWOQIl6YOA zmH?pZLe6mabXfJ{jaB#JGCaK;&xcHA*P@74rd!=sQAoySjto%j1++3$^YyInit1Y2 z>HtBUx@)!<&_SSnkknegRE^yb6X7G3NlcEMj&{o`8ez5&Y0K%u)TL$wB0RaTuKgvhfX-t!7ik*ed2Tbogj~r-kAD=zR zA|@7nVl)7HI1-7gtPC$>0=yr zxahM`ZCwwOROqRBAQEgre$icCEc#owZXN9H15mB}afZg9_&vp?L9<67j!`NXc>yys zjhRE~Z&nVXKt|8(Rr2Y5+W9SD1OSk$N5-%l>CTG&%8$JC zOJ9EUyKkQEAMWLG2C%IiYV@yOhF}YYO@^Fe0lsU6l$V)mj4dP{HJ;SG1_eurEp$9 z^9(fVVENmWv_weCI`x8Al3*t9)z$4EgY>2Ft!(wZd*99Fi-s3Uy-{2}&*_{-sq5q% zThUH)a=qBH$-KhCpjCyg-6O;aI2Tm&L`cy@X3*?B|^ z5!DWi50$ZbC0sjaZvk!`RMqEQEcE(I%qY(JLIr!f(#Ga)Ackxfs~H-t;TPW%>T0<} zo#mzhcY)=L;Whz)x#`R36i9a}b(Er1Ss}T?4_Et5A%sxhY2;wf2~%Q3!EX`h;DS`>&Qn^}jW5VwZ;;l$6mqLZc8vSoEe`x43qag@VqY zBqjhL04*bA2$|^d#qjWaOF$8!kGSsQ@v1*qc87b5+ehmjF?N86+hN=c<8GG;G387^ zL#83Ym}$&3BpNfMOo=F`3`7BeB0znaJuo&H;F|EO`a73-ug-&+U32MJUiwk_h`E$@ z%Mun#t+za#L?fLN$05|kbe7B|*mW~XZWQaiC!}vBBq-UsVgTci(l~~I01z-FO3T$M zc0p@Npp+d304&j<*Nur57z}Nc#BN_3!U3QJo2?0?G3~Fq^9}sm@4WU`|M2_%()Yjc z^S^g*2tbh1gCM7+lENGa5z zX4F{D)|nGnMc~Pj&W(^m9EZov)(q(tQX)h|R0@CIdtOf2QysJw%(TYZOjw<#OxJ5R z7-aO@C)5Tca-N+zuSRBu)lYSBw+L6iRl&3=1XKz@0I`_b)2C0LJbeNH(cKU?bFq!k zW)4q?p8up>*met*KYs>jUvqG?Wai@n)TDVKKuh6j0ClR zJ7k-2Ghk60TY_EG19SAu(Z?V;i`B-46ChG9ugQRn8G$k&;v&LPAD%ysAGx)D`M4jk z`|7>(fAD)x-#Sg9@0QC2K(0mQEOc6~TS5;ACs=3L?c}v-yb+J@;(PU%GqIEjr4{?7J|}OyI&SMqyh;DzpL+ z*8{FIGcyo$GZB>hVe>bG7B1ulMLA%qR!AVk5bf>l9UdIUKIByHBrgG#Azx6gN~2Pi z5&`6{>yD0(PM)1!ZZ74fK;4_Qyg-iCu-qV9>dL8K^n2^QfFVP!?}YY;mB0I1PT4pD z`6IUNt~`u-m1pO1{3LyuL&lgSzKp8c2J@C=I&K>H9X$OuGZ|aUmQotWv08yL!VJcR zN2rfXu2M0+xc<+-;!_PnbyBI+$<(q+Kp=zwb*;kKPL&&_pu=&FCxHM|Uv!l-Gi z3x_fOcPmZ*6Dng&|75S>^sB-4iT5{YJKZ)kwA)05ZX1JPneheRU&p8&h|k4 zGa06}_tv5IZ;ph>@qlg- zWioAOg~-Ge?Q;o7vkq+_L^lAv%}(bJ1y(0Kaw`g#U}pXZRrSOaOmr54x-~)425F|8 zOW00`0Q@F&dm#ZrjG^ly5te7J7oPFHA111ab&w@ClCFEzP%3!xGLutflf6XX$?#j| zluldeHn*H(>iwn$3gbn!1aJ&SVGGnkE?*%iZQh-rOfT0u|8A%&RB5Fe?_%gs<@J{} z5Vo??V7A^WVbU{H#Ab=)v26NnZdTHqgm-N3_8J2-IN+0V6^m1gboA*_13Z4f|F_hK)`#I5CB7l zkO(e@d_IhuA;r*z5Q$(rjN35}DQCi6qFv5I$~i;MKtP!wQ{_vMFd~iwmnn~F0Mgnu zw&Dh7I3*ge)RSUB3;_U!Vcgpbq3cpkdCWxAbzRqW)r?iPp+U@=QL2MZ7la;vBxPK^ zt5qZRpQ7ZTDvJntOb6@5+2#0m|Lq%p=?7o_i{JmkKm5YmyMDEbA?M_B3JP$Il1%hT zJV<%tLBz8mUkuy5KJG2zl4vu~E>Q;E;;W=Kp3eGvQTGNV<^nh3{UItVKJ{6XIM3L; zWToHx(O`u7b^gb}0$P+3G-&*+xLJeArY1@o&Qq!(i$WU%{apAU92bB^Ri^?jwMGi; z-jwe7B8C`JN+EW;&F1mrry+#C?{~YQ>pCjomDy8~%mTKuuv5~aR)sqamKji$ZD`pp z*EtTAHA!IHZ(tQTECm99yxgaw8`LjgyMg5j(oiT++346eJ2sB7Ld_-vj_hN5^;WJQrg>j^kp{8~kebnN$qq@QUXyAE*kH z+PvDk98`BySoV^Xl4w&=z<)&@THHBYG4`w#&DoW^s2BldMC!V@=;ig194bFi&&mWqun(%pNQAMPVQK1CcF>RyQ;A(}N91?gCqrF0bMXx{x`w~&c4WtVnvy}0a(cr>O?cke|%XCj(+I?(+Q(#pxAKPLV`5idZ_ z`SkR(DaXRrZ>!d1fd{ikO8nv`u-CE%QN2gP*F7pVwL&K#0KbuKc7Ana4XcDG0>CT~ z%yZBoxEb5T)kTo)K|1!7C|M8AgPxeKOLar5B0`>zCC#T2A&_{|`iF60)(_Z0dC3fu z{%4iUy0^(s(~_UrOTjhN!Av?9z@~B488zBmCrv!K-EW+@MYjkqf-CA`3(5#=153T! z!A1N=c|-sR2wc&Lt=q5(C8ncB*Dk07zL1?Mhf*#7Y-FYmq4EMT01{D9sL|g!vL&N? z?vSQr6q+>BG`_33y7Sb@0FA0lztUtuVa72DCiPs{^3u3&bn0$1gO(hru#=YakP?FnszNkf0avINz-CQ0=~+9Gtb(<8Y%+`n;XUrm9jKR}R;v(Y zEk@TUzfPU&?TW9Gw5i^giryf^oeMRFy{xs9_1 z9VQ+?6L=gVvbSyUQ(1#-f$|SC0LsgfcxA(X?Dmz3IYONgN?BPW0cg%s%_0dOD_?;p z(rBm+kQz${02iVIZ`1|o%6oq*=P?7M4BM1Xcf0&-3qX8V2h{sM3XmfN#DD<<##&T0 znUTy#Y{f=&iXM%n^VS0Z0%jt@P^DJyOWIb{B4#vr2Q-Wq^WM4eh)!%OEO zK;qX8lt(^e4zcUHoG&iVF#rOLDebmf0$8ut%jL2RBO`_Y7!a$#XJJ<6edSLx4Fuq? zaPmco^EmFU5F&Rk`-q1H|Z3e3t303igiQ_8tk+vUtNF1LYG z2yl3K06>?Qm&L;i6Lb}9LdmkJ2j#|N1fra?pcv`Fvs2gQr)(uB2^)U5G&5}`l>u;- z)XSte4G8RJaz@zD2BUDD;bx_ zPLoZnz)_7PO@6#KqZ#@&lgFMCXJQY%N_=A5h8u){nP^N2fS-6FV;Co@mo=a?u?{1^ znRNhpOC=7X&9ajJ&Y*q^@^b^%f2{V(HxnV4#!MbsTPGP#Eu|gWUN4hw=3&~tdup@d z)71HrC9gms%8v~_1Zq3=Sp zJU5_XkpVO)aJ2Y!H<6VPA2p{Y>;1`5_+-kqWbo?Hu^mVnu~nOZh$l=S+Ejm?2v?pl z$Me_z3}Xv%lH^kc+o?|V21S0;b7mGOF0P%M$WtfT#70aTkh_pWDQ?BQG_FCToYJAp zYbrjWy-DBNh`TijPSA32&fFzsH392?!^GCQEJxhQnpC=CZEQ;gC90~98vrQQ*BE06 zAx2~mjN%@p*Gy&irR3mhLZG~no!_ev!~zp#C6yGay_0YVJICkd%*_0lF)b1yLI|PE zqRgtkvTBAyIpvgc9)|?VN-f0Ja$pI`To7i=m1O*uG#8`rGy4!Dzz9esxuh9NVT)*& z0V6thd7}aZfKYB(FJMKI4KVdzLU2i6<_zUtIRv0w-uOY1I4V~KfEY@N z86f}#4%()o;|a*jn^VMO6-5GxDr)II6>SwOEtg6pXZrS{EdSOOUv)(_cUa!^q_$OT zpdxD~$T<@~OU+yV#N(UM3`(LoZG~Nb(AOlp4p2KP7piyR>F^b5K@<>@xI-=u*3yOY zL(O;A$HoE1n9`1jV%OzNWy7}IqXJN#cc|}>l`&nYB7PL+kJ7^K`ddyo%(l*kamMLB z00876trzif=zs3BZ~xivd;YKf$jkrevv0m}nbvE~%}Ep?%;G_u=85xQwyO(3AP6uL zjynng76F$56F{=759tKa^{2mJs1+RSOy=>Mzs%&}CMQgkM>8G1;~_f?;OA{{09XLb zwUz?4G8fS3%qOV~yV4~MTV`2N+@h?N?6{Nm66n`oo6;7BM<%#bpye2Q1Uxx;cJKbZ zaU2P;ouQ-0%nVzN^d@eYWw#xb92=83WT?>8gh196n#?$li$Da!5c*ZR@f=_eT@T54 z*xIr>3(OoM6=t#fA|hO^;lZPP@~GQfP+aNOfPfR)NQ$IeiCQrr0M?{wh)6`;0&d)f z^%^d=5ICP8EMW&}xuiH;IGqUg5AewY+H5AGL6%G{lCqo>)Ds585Ot4K`aMt{~{$ z;NmjDXI@WB$Yb7Z2+w!4NtkkZFBQdri#}Al*Q|^3#*8B_$ULzg`0w;e_RWdHxEVfj zbMMc6>gK=t#-rc)?!{_?GAa^EDgAX zshl?jNkx3JEw1+53}aUT(@0>l97m{OTWYQ?KQa%UDGI7Nne@|5tR!^$Z)`%G(NZJS+xa;jr0K> zN|?FK|B;wk@?&L1mNP`lB1@!6(2Aj2R!)enzs~pr;qSzeR*s>570zKhnHiOnX=@n3 zxPk&RR*kHuBlGfyh7Pc|iGcRyg6Vg#6LPfb?G@y3Y#LWI)fv2?en%5C++o!K>u6B) zXC~*$-;i(2oF7SDwc4WnIKApUfP$Ypx*y*0a<>)dt|M?lt6XsAjsQ7^xa_;Gi!nr~ z2`p)aPeF{`fQ102wIoAp(H2VZ*@5~Hu=x$X`Ts%XGV+#7o>d)$d z1-5Dl5@5ufGe9635zA-A*%(5MvFrN2%i}N(!x&>A0G^?4EHswEpV_(19enHP?2p!r z{k=NOJzs=QjM@YMBjGONn6dA=9zz$fM_dLt0(f5!?+^4+pkvCh(1r*lvqne&Iq)mJ znc0bGAWRv7XaKyI@vRZh0SAB`!H#Hyc#`Sym@h{P7$5+S7(0v|YRu)|q*&fjQ0Kux z2UTX(N|(}BH!f8!)JocGf)|C{SS4-9Cy2PTOpVP}nh?iPjZj))df7?$Esd?#vP%Rs z=tHhAW}bNnwQ$UujUm4!i;F|bJjoo`vaJSuFoS%0wh7d|JolKs6x807*W!LvM zUL>NNGF$q)Cx)PcKkdBvi_84z9zq_|q6-5p{@&-_{)rD=`%6Fg>OcSeyPtow zIo@BAOhGuoPThx4~Gs?knjjA(;~ z8Pp*C&+d?ebo1|i2&zh4!9k6cMY~bj4%#NHW>)Ntnz}`q?sz-(Ky57hy4dvQ4pDVE z;UlY3zY~b^>FMd+yLZn{&yKDgg@DyZ*lCe*?DCf>GJyp$UK%9=knI~aWifK2bmcp? zd4~E0-9Xjg)b9WlRmW?$V7-sDRRGmV@U8XM>7d0}puU64Ej+ysCr|PCIWIXGn4nQs z6p<;{0uUhPOaTDa`*8CGxO|NgL9nbW7NRjU7zIam)7V8ADANWX-=hx!gbwmxSs{#4 z-Sb$k^dszcyY+hSx##YLxFClqG8@g(sRe^({*2P8Oo)MeULBi5yFd?ZtO}xG{#DG_b~j$5qK@dp0ij*O&$nrXawC+00Ap?^(kz?8ba^)&2N~ zZ~r%+`8M<`)Cgq$U=m@bnen;+$h+r8J`+9Ur3OoMGO!V*I7E^M?NvN3;cL!NDi8@W zP>k{L@Gu0-sb=MxrF)EB%4u_Xe*4btmtT1qF}(iz8~5(s@B1#snCnAn_%4C^{1ECF z{lVe>(8jfzY>T4k|8oF`SyR7tyjbn#%ucjd?PCx z^9Tu>urRqc8>rb|>u)w8H*v`1pv%#1J~fdH`VX^pPBqfwsLlW8X`C>CYQkIc-c=_( z8G!sGV%5f}Elkn0B}4wPK2HoEf%TR@`<#Jr2OT4*`aFBmQ6NBqli%Jc3Tj00-kQ0C z$f_&*teIN_=DVM+3T8BhjI>G+R!4y_Pnq_2RnZ(G&JSw8ieNZSslDs%#sD~TrydwP z(mOX@|9+NbI(64f-eOe|oz+Czfi8a?dN9xl^<;*o+84?%Zo1+%&0p(79k7^6La@xP zHC39Z1=B#hpD>l2w`6;AL5t7-^L#tkh5Jz`CPyx?YqIAJzOfBg*P|&-lwTz$ zP2R;J0JUij^1qvgo^l`GpvHcVcybrHXb1QP{%QY?6hESM6RHXbeoZ~?Q3*7^c%*J9 z@WG0?38o6)VVzf|IxmxVhk$@%%G=$5tSTavHZ8{3E~_@;A<@-%PT(Jv!PCRUL=#k* zI4mP!vL?_--d6q8eWaWn9}U9^DJ7&Gg%J9_>-!D>%IoA~*Nx*Si4l`()ZQI+!Z5dT zmHl~ga4!fhkVjnQX01@8_`)N~h&hKeq;-bxTgOia`rdwcKjkC91;IMN8fcB!1NIcU z$^IC!R|mpeHNHkL86n3^<+&XJQb&n^5Q(6?d21v(?eSp>X9TB2ZxDVC^5-{n61%tv z^={k@oU@?v?CmnHWM|7JYk81;E-0WmUc)81$7og+3}jSHnK4>wz;?b4MVmP5l`~fz zJQBKd#O}foE3Ai^Xx%8IB~E^Gpj$VvW=pbl&P0@Q?t!vAn-4G2g%k2w)##4sm?S++RrmK1^dz$^M_W@F=f$~ne> z%jLiP`m+aT(bOya>q&5)!8F|QnN}@(>+N%03_FbqIl zP0j=`Ity^0h;P*qlr94!@EbmbazY6sji>=2o5x)c7kFz80sv4B>wVfg zfCmro<}Da@o}rVwVZ3Cj4lg1+dO+ibx`+wLQlSgEtB&e5HHs*K-qDS4?G}CaHAn;@ zKz%O&i4p;TM0%)u2tr(dG#~_e@LeRrF4A@fyyQlxkJgyP36_a<&Y7qnavp8$IVP2i9IhZ^9=b8W zl2XR<1|UMpkg#l0QOV9ZPJsf6!i6_!>6v&5Le?P^&jlI6Za3c93xDQ&Z=Y@P?|$L_ zdG4319#fJLDm!$iPvS3f`4=-&q7a7D|L})C^e?`4@4*EumKjne*O{|-8xnZ0Fg?l^ z0LOR+%W3M-7=2~{R)*yWvh>jwc2PYLk&trE2M7CoA5+dm#6_S45DGf9!BaX5$bW9yvP9%n^K0!#7RLscyTL1y%~TJ;NjEdD|K$ zpV2yM9>~OA1d4p7$rT4P&^bwtFZdx00=w4&IxHfTo_Jwdk^U zF@2B;RtLRfXNho# z+ajgT&tEsgMz4O;dHMG3s>W4fsYMknD7?7RWit5Sbc)Ty+8~K%Vm(-;g6!`AP@i$B zYBix}-oDFqOdF>*+@m32#ujQDJ5=L3TLmYbo#mt}lp}_m7OD+HoTGHJYDN<}5P5JB zoaM7k%r*TIDH4d_ft6b0z?Lx@Le-vZ+QM95mC0@#>4#PeC$qNdGMR*70#MUf`bXO% zHI!RE+7FVBGLHoCcL+^y;uZ@4oj_v0VrZTrT718-#Zs-7=U=>8uf@tnD{AZ8nDu4v z9Wm!T&ecKIiy3`TH1+-<{7DCOKR=^dMM@HhDq z%Ev-~0D#?YDCs#s7{?I_`@ZJpcp^%TuS%2?I$=KTD`cs9v(g*yG6^AO5@k5vM<76i z6k?>2ZVu^Z`~EMi>7#vKjwy^eBtk$!qzrYVH2}q&NTcg2h9FcIiIhj@5)y?Bp}g}m zLwWlE%f1qV0bdCC(Pe}X5D{|TW%^FW|IZfw!FGJs$JikvslG=xBu44=xcYMVr~+igph83A+3o6Tk%$MxQNu~=ZhWvq9d*We8M zgTwvvv-9)w^YwaF%%MCxzii#xM1)xu$-fgMD?;%8&g5$lfFxiLc#+>~j4o^jq)ZX$ zU~lz%_byH^H-Gkfp1X7H;Gcc@9`%dmBIa>4D_{envUkL+s}`m^39^BtoNs)Jqx#B& z0Pu21xgu-1hmPb?hNxUZB1z+bp~P}RI(1lzVeToS?|69Jx3eIfHL=Feprogw?Vak4 zs_N)w;g?ALm4Qd$JPC?3G!e-Yz)GR3S+GOS4r1MW*e;74hH+f4_b$#)A3b@r+wIB@ zKzT>E1~9V;M^FL;Z7PY_jLIuEjvA!P3f(vns()O)bRn0kDoa5~VMPX9?$f~`e&+&i zM`GOKj8}D~gz_e42_~`jo&k=J;OXNGV~7DLm;2fnXRK{k9vSB9dPY_U2$%uj=1a6% zBbMhIAk`N*D(fZ)PLQ>4pbU!$n{#^dfYN|rL0m*2+KS+kJQlHm_fw0pcd-jGUcY{0 zy$T<&o-Z;Nrb@wd-)vzT0#uFOlf=heJ@@AV;{cu z+uwfj*}LZySA9pJ#se+<)+8yJ1zEKqkf{<7#>MXZz4gmtkA2Eh;7}7ZW@BTOc>;K@-{RhuZpY3+LoN0e=^}qUG{^zUZ>hJuWzcUPD z*L5l9;{Rkdo-=h_SgjV9mr*iz0=1+cfr#wxw%o&t!ln>_?I;*OrEuw2N1zH<&)99R za+8i+p*q1U7XWwpR3>N*)plfB*o(Oqy0|lxxs*Hin@idZ=erz^wsIQ}npKtXkmj_o z$yAg0YbIQ>DyX*0%Lb`pO?w$cOEN6;>ndi37wG;H@3@g&EVDrauXQ*I z#_GxptIN)ufl}ArsSqzGMU?)2q`K@glvEY7WjPX@=o1u7+E0?S8kZPkv{JZ=E$?=Y zf0_TyU>b{9TFPY1T!2r2ts6iiBw3i4pQ*xGli85HCT6-W3as09W+E{}drqs?jms6i zQq9L&li<*rK$jUpq2?~Mf2!naX zoTmdCx~WpkSnbAcL4{mTV6+xFDo{UF&I?vu=_&mLV5SYuH6xn)4b2>!f|E3xOvhNJ zw3@w@Kq0K5jsSE8WavV7p&OP{YdRt{bDBan-)`Xl@oOU9M|p=xv-YbRZ0(@!++OE* zA&lOO@-TL(gvyELenSvJn*$|ucKu@2tE*s6x}E>M`0`;GViyC3aTpiNMT~J6#$XoK zO&4aWO1U){Z=e9g^#t`~+0Zh114+tg0UZKn#4v2qr(*aoZ!LZ>5K<0fE>&lUNPxMp zI`EyDxo%n-vJHe+y2=VFmyZYt86Xg11P+snN@575L8uP|An3v}#E((ryrLmB0J1h>Al2?l+6qDyu+x`{lW_GbhqPW7w+0Eictm)q^O>-yDdi2$3; zCWNqDtpFg`S3;21lM*fZ#kSjCoL{7rVu-QpVhp?8ZX8GM7Bz(WP`FPPn3983{80Fe$ZSQwRvq zE%4c6IzJ5nDQ5^7Ajn>@;-6nRn+YiDAppjZw*wyCroA=wD~yo>f_e6o%+~?1G93UA zh7r~W^zaFtJPw=lyz2P}EBk5>O}v7_NB}|z7*a}$#p2ej8%IY+ci(;sY-$86Ns<6U zrf1?_P?M0v#eR|qHA0*@NL&N*M(Nzqj@s7h)UH6H)Z*5S?t>2w=g@eDOx60jB`Nk) ztF(A?cWz?Zi~cMdBFt!1zgKM^111WWo84XyKmEz)pWo|$;R|oSeNJ7!>>#6NgUn?h z;gBqt#lfR#P8hq((~}?j!0qP_4}R{qz7bXjltu(+!V|8_{sCj zi}TBiKK23e@^ZUejeq)2{mIY%+u!-^&-~8y>(_J6h9g7(L@Om2IWzY#o194VlszW_<7cb}6ZlV4 zgEzWz)#rCPbUg1rS~pC@dFE-tzV$6+&sQF59isHfpQV-(0Wwj_*$z*p#~OSP=V_;N zvDAy(^#;S_qy5>#BVjvg?PLO2a>kyMiVYsYcCGEnG^j>i|7gHK+*+KGOWV14L(`$+ z?KCpsvDC6{Y-0|$3Z6D0p3!?!F*GrbZeOUW*#Y#FU3>eG#yXYy+a!@eWRaMoak7Wvm;lgKJdrs~;LWmvr`iR`#X_PfZvqZ*$h-VTXYD-Q*~wXrqp{dB|$wu zMBPG@!A;pAHsx=u2s1bZEN_&~4I9m*q{vGOEgBc%l*#0%J^B>A1$++>7`pTUX^*&73gJnzyZb#J{KuVmY~EDi1x`s3CbS zn!YqMLa0}2^r3aU;)bh zsAA@%AOipb5+G8_KePz{)ggSU!+~O^F^3S4AOLYZg{l}-IahaxjV>_g$)1%_(@4Sa zmuJm_Kn#HZ36KKj7*pR9U^md8===3i`aeJ0{_ZZUJ1p;ZsC_GR%M?Xut+CC-TN2}Y zW>4_EF(Wh2DHvJvt<*SGRwoYTgZa%fS%wqy;F(%I<~|!Oun1?(OM?kZ2*A|c8#B;$ z2$*xeyxi3Llz^726(Scc67angRro}CwO$S5u-R;gAOtLT%^=kK$k>55jO5YGIU)B7 z|0bNXd;=D~u$Ey<*;jVV#$_KaNBAGVaQ_d#a`5Lrb?bNEKKs|-K7$aKeJmBAmdO*a zw~!$&Lz5B$6Q+InTjpxqr`1XX0J?vX_LtpDdtn`*kI+F1NC7DTVa`3|y&kSFi%*9C+wX3#Mj|7FE6z_Ho5Nb+zu)%Z zoDn;<`W0PY& z6prse*Ox#=bG(!Z`CgVX8%{n-cSt}vL)YVF#;1?M`6;cA`OQK+JExwkPR5P0DHDc} zh7ka6-nez^)~&C7t)om_BiYPLWyO$SJfRA;BA;C$&gg(W++G+u3{y8{*A`^3NU8M0 zSym93i%m%bKZ)f%9tivpTTRTWHw8Zn_I|9z>b%iZ~X0F`+8dJ z*B8vIFpIYnk(zo{&H|ZkS=qIjlniKi1t_7uvP=q6xFbR*QF|1F53T_UFUzANh=5}3 zR*O}6R;DMrrlH3%A>t=L@rk{|gQriPM(hfXbTOWvo!z>1{Z4h z!1}_9HYvuT;9MD$Wv%dYdRI{seEIehQOT_>+>q=QP2P4g&`eIxBr?i`TrYnA+FvM_ zAQ-dL>&lUtheT9vOg8?9%q46el?q$IEpeCpSg#PAZ6HdzGPvye(yt6sf(>>@P&fir zbaD?ai4b@sBH}D0?=FCOr3Yv=oE;sT&$b{`+gads0>G0-D5}{2;tgDrL?fx3TCM*M$KDdu>C#N!37AICHHn)Dk`* zI_^&o(FD)BD=dbG5C|ujVHQUsts`iy)}+y^MVKL&9=p!AK8gF`UnN>+j*B9JXD-x& z5+|@mj3(U18l~4O=NJ0gH|g$gu^HnKY%9~)u}wq8Sug7TKx4FHtD$2qT&rK2}k~_5!kxR@_YA6dm5dmsnMfoyS zD=5$W4N%{1z1!s<3+X@E%U?ZDyK&J0W#bo(zZ5H0)Z=xWUy0dLGY9nTAt0n)+W{-6 zNt(kcDVn%ZgK*c9{G}>u0;6-j;guwFyGf;nZ7oSZb!o=Jvzb^qM+Sup=R$~G7rL$+ z$1#M^cd^`#!YeQ_S)y_WCSbr2`q*`Wc>=rL&b$r+b(RyvusCBa#RFq)T^gxk;LIoO z&YmKqoV!4{Tz=-Qi`O1s{P+iN{Iwrk{pvTKeD%q=SjA4>Qmi)E5bUuNnxA|nIEbg? z*_gbAUP1_fpTBn*5CcLWiV*`)2pBke3Q*o?oXR7~OW=^fL|N>6A`SsCBby^Y7oo$n zP4BQj;Eoa=SpvP{4&aD3h4uQ%_y0rxET8g_YXJ`zBNl!ky|Z*LzFQ_e94cDYoNH^Q88GTdqleIblu$r|@Er@NBaZral8TqA!T2UL}rgEpTt?dA%L!iJirle+22afm4!BLKUtRQyears{mu857?uqA71ch#i!Lpio4~^ z$(eN(oyoo5}{?aRQgX! z_E5B#T45N2vpriTYi||@NZYs`8w=n=a44XZ1Wnvu;m6+zam}Hfy zVo(S%rId3i;7?%WQoFY32{olA#B$<87o;Fv*u$f)dGdk;ZA2K)#`Kr>m){Enc`Wvd zNDu(JP##kcb?dQ02)}kgEUtD`Z=Ncgmo2AYlZ%SEC5Gf0I~J`NB{^J>XU*0 zSRejqNB?x7<7jz;Mlpo{g{Xik*v6&nz6;xsose09at;Egzf^t_SVQFgOOBE^yRcA& zX764_Yd-s;Jk8@tr~X&e`+>E`N=v8 zHr`?_5*7>VGKD|@m~$;Pa(k}IRi6TPhq^4g_117q+-lt=@QzKk-B8JcS_xPE97Gr~ z#)n(_$6tE%J-63C@uBM!)YCyzYbSK{6CdUam#fGtZEt%W9&~( zPaZvf1OOqHXa5!3SAByj2$?YJ86Yq%X4}GW3vJo8(yU8pPAdRGQ~hf{OFGCZAX9{d zfH}jEuwUonn*abYn#vTaSX;<0RI1?BbrTUR*0|l|XOAHdfWaDPwHV?V+n=iQ5RQ!yY0Lsh>H1{nUARBjZ?GPT{&1o#RZ)1HN6Ey$mqJ(8( zw!DxsgwUmwu3x`)cyJIxc`^g&Ru}M%OUOd9*>)#dxvz7wv0$2Ad7w-X-4#V%Hf1S> zh+sY$^R)0le616Y+xBaWeul6b?3mOeXt*SpUqx10*bNDELNU`|ULm9m7ndU?_~4!W zpZ@T24c))|=F@LH+ij`q`w$>Y>?KKjPE?cJ4@ETvPR&e;TrkGXX7_;`2Y>C4eDMGI zE8lpy?N`e{sV1k`{@BfF{+2n2cA~Wsq>7;M!&UQx_-7j%U`0}P2Br=e*mW5A!y0-| zJ8h48QP*{`i}m6nGCoR!7~?Pw=bMXh94cC5$W$}>!#JLuUyLb*5X!Ec-425adK6=f zT}-<~<>p7EQq7IBNY|H6n0%8uXFV?;D3z|R!z3aEps3=L;(;&ST2__gfS;&Db74OS1VjN z1ei{sj>{o`tA3N9-2Tz5w4?_n^JrCbqK#J_A{fC=OTJU5xE?F`) zXyH_6>@wr5VN{h$Ega0F2tc61u0NFUiUF*wo)GSV12K-pgBY#kCU_g6((eJ`3RbJ) zn`zmL6zBB2`*r5S#J?NVk?EkS+q64>SYy$GAl)|>{%8i!8#K7YoL-EY)w4MT9n9AR zHZg&WEkDcBpLfPu|3>bU)xYVt`lUHJ6NoT0U9IQ3bf|-u)|~ur=fyH39o^gVJJ{`n zh&mki%ezv<326pLmLg2Ji?*-E(MgWMIyQq&WL!bhjh{zJ$~bcu9dN|At9UWqsSD+A zS~}K%I8WQpvcx?aVwo#6z0E_5SMo!aMzf+K#w^OYlo5@?xLhrPHHnmI05gRl6)I%r zj*DKIv49gNNkJlQw&DT;2(U}g1N`(V?&UEN0OXJWAY)0x2j+=9)S5fg!MwI0qWJb! zF5)tP zEO4oQs`9st?@w8>&gvlWG>a zt}K5=fvzCP9W;)xSiz0wAub?vYJ+0WG^JB)l?XCWfYmZQyqixS!Q}<^d(%NQD_j_C zq{w5j?ic9J3AzrBuEG8hoSp$exqXokkODx4lE=@wStOWJd(HqEpj*<@$8`EsA0sc| zNsOdi!Ns%))jEL?aI@L$uh-YF-^e+z%Q0^ZF$k{#lCJlSr6^h%`81k)<-xO6sGVG8 z!Eo+(hCi!@sH6i=0UF($jc(c>gWShjXU`wFkt5555E8#sJqIA5fPjc2(Pp6CHuoKV z>czt!eK}r>-EY2e_Qm_Vv(&}d_kjX?uOdKQmsysm-z0$6Ib_PAiZo|eBgf-c)PBoUYyS=Sfu zYDRoHBdRKjntpj>u3d~+nmpE6M43OT=6Ejg(hN|1{}uKnjG_{HG5C80Hfe4Wt1~5s zJaL|rlrd=()uiHT2Rbk3{9Q9Bp_QN@K;3C|{@Cyra54w^5o?smO9b^5K4bs@TCLWr z)ryFs3lH?Ux@E2ivSMhX;z=f#qe7FFqxuin9E$fmlu{nb%b+AMocJZhT;9In8Ml#u zqtIVFdl(%7)O45$J7&7TsYokafD7iE>p1yX*BW&i#;mAvnYZ1*$`6s%o;g8wWv;P+ z%T*AofeFr-oOcLv{L%nH!kemLEv8qjY}3CJy?3D%ck2nf!h25R0lqP@{!WHtHhb=q z7qyM`q^v};b%Px0nn{|(9GcE_J{${KYHdb+N<=$Jp@~{v*h`R?D8!MZo6KaCcQpaK z=$b9vRZ|DGCY1hq?-nJ+j>n!;o`*kWHxn8J}co zoocdFN_1w3lwI69x`z12C#-RWdgaMGJrZ?zGSV-6qvXRp)aeqKSZ-`d$|`ehxrW5-lqv)*CIzTI zm>qFrZn|7lW;^EaPHm}H$d{M9dw1`hJUhL4>t@x5>Yrt%Od$eNqjh!uX5U0Updnx5 z-rC?wak)^{v`2Qq_9xCx79IzJqwBD@55pyNYtyXCfw$uf3h9!y7D>P`z|)6t{tU0J zu>oE)X-U=y#e&rURw4udu-eDtJ8*UZi6F9W7XZvez&B;Fi6GW0x;j({up5AO_~1<- zqAtQXFfkSyER_;FQ1e3(?d{t)`$a#Fx$m4x3bs2X)nv|G#Kem{tZ9jNGsePpktR0U zfNXx8B?9Anv{>9Yr`pVf<+V?AZCg>!9p-ll5m5>y(GcK}+3#UM4Ni()B*M!v4Fe(K z3rGDAesule=!%lCHsdrL|?Ez45fWd$}SU4;+4f5lO{t88eloFI&4rwI|Nrq9;FArw4P ztux+3!BF`fLI^R0SROD}l4YEkD*+6qG+euW{HwqA8=wBZ@B0h?@n66I7w4A&!wYxr z5aR#v^MC(~U;O=}qr;r|U0@)z>U2U3A;i{_dO?ZtE}PX9fmFKm0& zkr{Qs8G7XKXi9o=_6noh(q~&UYisCqg{7`cmVYI-ubCo0Cm(>-lBUd$5tNEz)Q5;w zK(U2j6ZYvT6s~AxUk!q!dYgCJ0m>WS%rpBeZzNmIagv^QEJQ`HVtbs;D{~+Mj9mu+ zDJ4-rk^o!mfD(mJ-l82W6v?>qkI+TtGXT$&Gjohu{E~MHCBq$pm7F_d_s7gpctiZ0 zH9$#lDH#kwCDBRk)%>lv8Pp5y65oR?b5|X&>5GGd874^*7Bqa~TDf{9YHM?)&F)_5 zn#dGB1;LX!?<5RJh>f6}PHdvCsa`c~E^RP!3DE>CJdK*`m^o)rwBwwb$- zsZ`=Lt8Uth(N74s6K@vKt%Lyll#K3R4NoS~*CcCZ=BMY-=#g?7n+wW66*}J`mNHXy zi4?2fa`L?%d<_CMafG?&%lGatuJhtxgn?|z4$=APE(7C{dur#D%64u}YWm#Da?12l zdcD$T>paC4tEq^uD3934xt_uH+V*QB333hf0yNEw?XwGW+6qt$U3Wz9qrA5x$Rh*< z%7CGHG6M;h%fdk)V1zD66%|6Xlqvg2JX>W!%T}FpxioX`p8)Vxg!ch{8Dc=n)46L+ zU;qFN0Yjh=An=}!bk3DH8bRVz53rJkY7qt=1Q81lya>5VX)}or6fqmC=Y_-6;84l3 zB;vG*+H-3bSD1oauhk;9Q%j67zFGr;H7Xg0Vb~3}pv$SH=2&>1uE)xR8hI3bB5<#I z)9cHvvI=a-{#ozZCnp2T0A3N0G-m|{G*JryK(&ABBP0lKo#*@K=hxTqBiGkI`N8Ek z9$&upc(=*a_knK$CBHrE9|H=F&o%&y6EVpdH0>ooBm3Q@034&R`Hz`Z|CO0G!TozU zX3!SxUl%!4b!;78)lZX>1+!y}I1ysAFT+aGOq%ciEI*o*K#5+8NtfH%h>cflyPcuY zQeE@2k3`Hg^vlI|yM6HR!LZv^Sp_H|yVM(%3$aGa>J?bFEKa8ewb;{UXVHb@LM5TX zhWFyd<0zVO`p+p0qgn_#C0y;%`Y_zR4~IuE?6l^NHIeCU_V#5#5BXq)PajeqpkL5# zix8VeR#c+d0RmIl8Z80P(Jk0J!ju6BYwFYFV>8(YeHTqbWF^2-={E%0=0^``95F^3 zb~WC$6`PIq8nU%Wlc?)^B6|M0JFDgL*|R6>)v}RGqv@)@6C*QY8>zh`M!O!%ml@k- zr(FTf*53LJT`^njS&Ob^s4Au=-kG5592M-gTv?!6o5gTIEOor)?2yuCODR(f^xR?p zu^ZioZY-ApzWZeN&%Sc@_Bmaq3?cLj=upEdrA!diKK@q)%(b)Z-^$M+E-o)FUpid= zZ~whlf8lelf8njodT#+V%9f@_Z<)sAw6f7p)AC0CTBDumXpXOwlX4J%Jl&uGfFP{c z4DT*t2%-2vu5je1#UlVf8dDeJZnyiJf9r3*`Q}@H=4XHA+O_Lx9KZPGul$35_)mWM zmw%=2yV!Lk502NUke~ozF-2_3@lXJqrjKy9>iUyXu_p@Eh*@rtW_I zUe6PnB{bn~0UCfHZ~#Ry7+b)yiA^AYSq@$}apIMgMY8O*jAKI*+k{D&Nkm9S5rfcx z1TsjpCR#1^__|;Bd+)w`@9*CG8@|IiwRirg+Pik0^S!T|Bx?n9y5IeMzvp{S)vjH8 zfA+3jyQ*vx3=KZF?a!eo-`cj{v+)-|2eg{!>w(20U)9)8@?#pjtGRS-H~Iiry;qPz zp{(X1RO48Ep8Tmc8O9=IPaUF_R@h`5EHTvkEi*JILltU%Q&{)5Pc^SP89LkIv0u{_ z^8`qp8#J*s*CSUXq*LezWmf$ksYE%d1qHpG?Q{L0UL`?fzu$Kuc3tmM+DcJ{OSzLN z#KI1}`vhf@$v-;eD^1qq?<_Vfa00}-3-)1%%u7Xz?QZOhF}o_0c0~DT;9WBqCkmp# z>UvwjSK6l=6Yf1W_e6c)Rnh2QrML)@$-|`eL*<9*X$eBF0u?A z!IU-PI*|@=t=dW>&q{E$*ZNBDH8)hLnv#w4Vg}JqWD_JG3hk2ajX=>@r?@n-!<2h? zsn`K2u+bC?zy;>qdmg21BA40*Ow82*-Jwc%<SQ&?*9w6yi<6Q$ZjIwg^&vpGuqE zD(OH}r}k_lSK4F9XnYl4R-vzs+|;FXjEAEFmZjQ?k?Hjz?J=eG+KWS$trY^o!CC*w zY>l6ZbrHtNH3hMjK-Wog$y3irAZ3|=l*w~(wNv}b;n#h@)01<6;q5GT6&&qgC*n%I zXsl%7xr)7)rxA*>wL(BZC(HpX@%1Y?+nirt#W!7Fecg+z`{%=F9&Ru9Oo94Hw%M$C z8*bXil3c1aYPdR`UNL_-=UL4S2HJ?4SRn`H%*&;^{t9hk4gI37LzM^_;CkCcwV^Ha z*nL-Toxsu~45}saQ-TC@tsN5EyQuCaV2DX&vafy50?U;x0NhyKmE?L;2t+idv|6q& z>G8dLukW^70D3Ab)HW5tmfGSf5w+#{heJy-8cA0ptPv!mvhp{#SDG|UDg?`{O}I`7X)*STwI~sre4X z0zCaZ_jy2-w>v1w5ajFEo#w1B3F@q3Y1+K-@hQ&(?&Ia-*enHs^dmFcd2@+EOb&)eu^OYJMsSX|&9R z)SNYd02qd$@4I2#f6w3ifBwUt`0*Rpu8+)Tj~-tw=s+1jvlo!ZI1G>w z1-%L{$ZD?P^$q6C@vDTSm(%^NV(BZ0V@5}wmu)Qp!Q5^ALb&3S!yzAWs|ks zSy0DLA4fM*#2#dnVZi({t0_cfvuR^m&2(KB+yGSwG|s*B?GD27)*%#85pZ|@Wby^+|=3smhlT%8Y^66qzG<~g4FEfenlfE~H=Q-B ze=4fvp3GF$(p;xP?T(o9RRVM3D$F$M6UG5wf#X~A0jTl6(p>Y-9Hk8wSC-U~`5|$x z)MJw1)D(NJE6elw7dY6yX==Wq0SK`{ zYV$z-=!9=RZUo>01v7JFkIY|e8`=IsFhfxlvwg6gA4UN`Ct`)*B7C(|CXqQe*C+=m znd5mwW)*e^95rM{8nUVkD52bg@lPwG!A*-d)E=vr>41plt}S73%FBSB=d=o7E~+Hi z+6HZhW+MmybL0SoGMfgWw7ne1v^>2Lx)tyDCG^Y!=&|bc|C$P}MB1=#Dk?4_29Qu# zK~5k6(BxmIP7?vmG|~YZQ-04>DeX%Uvj-% zaqVIRIFn)6J8jQQLCM`#Z*KOx$2J#5ZM`#KqO_v72$l2pG?hiF1as{OI-_1|SDdfO zZyF^itrL))-_cwiL)$qDn-uh160@dxfY?l&YcaVah^PsUSmaam8<9{%LcG6`N4u+Q zeSG$G@nvs5x!TL?=eyT8!#<@z6k}dRos;K{Dzo1n(yjWL#eK4IuGCvp0XQh4qCiFJ z^fwr2_}K35@dd5}@l9pnoI=+avU{4XqOejQCTnYf4eLlvd{H&feDFrOEx$leXDJ+! zp295jj)KXvR%F{$(>_5y&m@T8?Ck8p!-p?Oo~Pgtf`EZIXZB;S(C3d~J4V6~ivEP~NdtEVPn~V*!_S156_8p04-d z&T)TpN!M2Wo#XDtQGd0USI>tZzq`46IbQ5}Cjy}uXb~w=KK6#xek)TNZfEIe^pBi5 z(&&#+B;j!W;NjQ4cB95XC)io}Cq_^%MdKNVCEF)}i^GI`PP3y=MLCoU?BDhn? zauw{05H9PZ4wLSU%|th4!Xx*lsC#c?o4Q7&oWWGvMAVMHRO&_b&JpVfn8a-+z2#?m zn~pap#L95L=9}DVDvYZNApSF2Ti;p&Xg9(vxLS++tmR}lkE3hZN$sPKpavh>nLwIT zVEpnBsAQ47C2diyGh(JzTqtLf-!-k?|0vVZl;@Q=hIw>71e(xqt&rAz?yK=#uc?0tqzKBS2nR$eg+h^0;m?+G#VDKD$m+L zEn8}GkvVbA?FbTyL1%-UKiIAw)5)^CdD1_9V{x%f4=%^YyR>Hs5g|Y&HOpW#C0#nr zgEX{}jXee`m`?!3f%IJLTsFjPuH3y;$T*ag_oU0ajhRDK4Or8f+Nb6-`JYQ%tSpbO z{zqm4Im6*a(PXwRZy~#TKnI&|Itmq?ldeIFBw4(*&>D{>Cglk;w;*jX46P;U+2Va}LkMze0`3RBe*tGMrqeThGX1Mf*Lv zt_0(#h=;YELhBzH%K~WFhhc+zpToPqM&eQ=RYUJ<_2B0FY#K%cAQ<+z{U!m^eotK| zNEJHOlXQXSyy-ktEC?d#J3!>oUD{sK$t`L30HSI;a{#!)+@uT4irl(&^O>ig`sgqA zDJ6<=(rJWNh9(oG6J4!t&mk>-;w82F;UK<{XmjR1D*>+Cv=FjIC#ndTh@3Mg(!BZx z0(`Rzr^l-W??f2XF()A=A_B!AF@#0HaYwh-;r2;?yrN|nhd~hH!)^N9qx1`}?jG+h z&$h#k!(Ie}0O80O{4rM7 zIFU7$N>q=^7ZzdWWMitzN*oFT9lW78Cvmsw%06$S3z}B9N@vfzuH%$kUpwL7KC)Cbvd4Iy9rGB_w8=7fu9R+Gj zK(!dfdPw_QBSiLaOJiH!7rwj=bs{%={Rv*5y;&ivwLoGsmnMb_+Y>C?^$a>P$MOq_MpZ#19JR{N6G zQ9(ezHD$uSOademYwn|LrZ5xJPxh~4pmwU3ZV3tVZ z1h1@vpE~A68=EQgsb0I#uZf4n$kAFLZPU~ZHQCJQbVxrnmaXcpVX&%zz839Ja=Aqo zB^6zad@visRoV29a%;lIhF8Tw)8V}M$Lj!&oQ``#qn`xz_=gD$mIvzurZLWoalL4VTGz~#Eo3y%d^uPK~ z_}f1^{%`-2^vO@fr=OCzr0o?ka~5*qG9~8Vzc8g5um%FlCnD*B1dK8EklP(CMgkDP z$>gmW%&C|`4hPPy8|vetH!8|Z&53vsa8J5^aNDh#owF93c$ml=XqHZYwlSi(?lXosGgrr>F6J?>vJ8-1 z!C(0DtTvl&(FX$T$k3cEK9Ajct;t1IufRl3l=QZPs(dK{9_Gn)))dU4-jPaKos;xh zmf2UrP-W;aiBAIna%_s3W9+xv&4ULI0K~2v_5*b#?C)YybvaNYdXqk(L!IFKlQI%& zJKrdE+eumbi(J_F94dljcY*4?E{^5K9SFdn5RkaC#1`5VN~~;WyBS0v9_8UZA)zi} zKN1K5g9<&0^GcDkPZWEHVe$=&jfcojC*Amo~qyATf`miWyY<+)zQqr7cQvy;@X{F#6CJ2M_uBny2YI-+6vJ#H+B_NZf-4 z0*@F#yTrTHZARLTbk5L@%iTIwVnz!tD`Dg#>%dc!`xrm`e@A#j6&9DBdlate~i?PI@C9#}8di--g_p^WHum1IqeB`62r`Ng|n3)jD z>P4a;ArOs{M7V5pA=NP=5QxixEyaKo8=~igM&l?cCIwtEr&?l11(a}V;nidXIynum%m83k+*}{HfAElyppT~Vy z*mSC)ih+nQyLr0yO2Ifq~G5Oa- zhg{p-P0#kmrEqFkl~pEA_7nK%wL&IMHYk`sUaKxfab|#(rKHUk=Pjm`_tv=d@1ipGiTL zJ;ekH32Xueg}rEdt`UqHXJ|mEm33d2O|bi}bfBj%%mL;NE@|{#(N3CfvdDu`Jdsx$ ze;KjW@MNRWTF4w(qyQ4gns5w4N%ZxxBQ!-x&8070ED*>z4p9P~Jpg0zZNH^|%iDK< z_W!Z{?!VaYxBXLhSVru(1W+K(Y$cHZgpm8Y7B~s!2G!jV5CS5B0uZkSS>|MvI-(P6 zx`^{RgdD=x`QTaG3d*=ns2KYZJZIT}fZ(#joLY9RJgRNNP zu#qX6SN|%2RhlQYH9>=E^UI*JQEzdNI@4+KM}Ry)=(J&BpWu+WJ~T~6?WcxI%3+5& zPE*ZO_7d-~W#a$B4V(c2SSwLq#C(r(D7-dRv+n?kKnxJUz_Q<^i#_)NeHWH7oGjw$ zN>aiuVMsiPB(_A^I!~evu^Fw}+m5l&!Ne@e*>F_c2P!t#mZWH`RvlR?I7tBnNKy`b z;cIGQGt~N+>=Wh;$iuQselatX=kCShVAHN?vrPmh#cG%3QJA#C^oTC=v+Fe0p1sj_KO1 zA_x@_jD#vbrHhE#)#wnB7~`0R>({TJ9G?OlLZCyMV+U=ty`b!#2f|B(&0@cy`#=sW z>*%$7cigSBm=x-vGiuJ-_SAWgd{MY~0pZUQb{JTdd$1!hAiAom{4Z~=ge+3FwzGn{z z#WH|IcpS%K@u*rwh%+-5bF8jNby2c{Q_lJVG+dThRzq?Vf51(`7EaB_2v)zEJl|KP z0+>_Z8Y$5&JBqG`3{_-VezlPDws#ID^}wexxG|L(mBK0!hHyUELwFR*XY9D9K{C|? zwl{H`2aPaNo60jbwgD zm;feyHb+!d-b3y!mFq?cFr^N4yd-Xz**3+aBWiODnEkM=%113nQJ{979nXwhaf1&o zY@(rk`1Ay=rn0)OStH%fqb5&iF^W%8BJqvUF#}r~SiXDT+408Me#j0?Sxi+;^=;KH zuX9r*b*$4;%hMKnM8$tkzNZoG4eOv>oOs@;bu-^6zeV-m>8QzzDotZ&1m{v^u8TLH zGNo88GG%3@EO1_%qLCO3fW9W-427y*a5C4R6SGJ@o{?3KR>6WFyfr4iYOJ~#Oz~J610L+ zuVT;i83!bA+;-=QI>eb=4r!~nP<9Y&{K{45CsAF*U-hbVJ{9%1YH|~$K_x?qxe}U! zIGWnl74^-%rm?ev3|U}c<3$h&33^DEBRE;|xvVunj_Q$}D=uIn3IG=)T>@bPCzf&K ztMdfVyWhL~6aO)N=$m$b>QAK~`{BjuwQ%Ev(;#C)44`5PGo^u`YmQoLp%Q@rguITG zAOSM=kcCj**2j$-+40=myTV(M#(@Jgcf>Kg0j>rc&GkAER?=e~6t3vMcEWLF)Kpa=A153_<%`%chFdo@7*6Zd-NJC=EG2gC= z){zJV2KJ2op0B_$AO`A)LO>s>7m|p?l7y0gOGkJG*AJ~F%vc>v#>hPYYjWF*4oJxu zTSsZ?R8x+314N1Ciw(=Q66cP`BqzBJ$PYKK3dKx*OCI`@^Id1SXhqMR1Xs25f$Aa} zFOzES$g94;{BTGB7A!*$Nsk^qdhOL$FU~KHj*mj9=a3q0qLof##+CBcq#UTbc`TYFC7jSNkXBR;-PN2j#CkCc$Om*HKnTR4dvv*9b>V;Uuf6$g*H+*C;nzO=%8)`h z?nziG9#Ab&!|rt-qgepeqCFK(Dod#7k{`&c2~o9j49<3`=tMO(j*jVt?~% z6apD}oKMvdDK8djBNIzAvz9YZZxKoslL&xuOab`>-XubVP;eI64lo5u%r`sw(3|?_ zm-6>Mi_f2L#z3*70EUDFQQz7%R!S;#3p{ELip)6cfdaZ(x#@8e#mQY!q=Yo}lejwS z)mY@u3Rq|8>$$o9WE2v#A>R%J{jUt8jQr2{n^*J^E*P*J(ay^DZz>Z_iFIJ48m;pNDC50CVuMdwb{1MP7go$K zX`eqNiB47vkojr2W*I1hA3)hsmK>?dU$q)Y-4BCzruSDFJ;D@?S6IsJ5Srzqs9sY6CJ z)blPl94gfUtnDp8H8j~|2Rvg0&`ch3Paab1$y|?h(4qdR_HlYE581LoQd-rgY#ZlumwAsd!YvEhJZTpOSi@tViIFjELbfhi!MtepkStTucI8E+;+%K)my08}$ELlRP9vV;XXnCL)H>Ofb^X1VZ3^z+}_g z*0}|GZIE?#DG){xcWpg6QVqzdsJuQ!0D+QwSY6&gWe-{kD?f5%;{>2TccWI^KZShAxw-4l}f^29`KsmFG#rizwRMO!iAc zjQjoW-u(wxo2%1nr=^@6#SU5y)pi%-Q>N8Konr@3QnV>hPzawoK+bt;8c>+11*+}= z;=Ev|q||0Xa2j!REv-+w%QL!uETeCK;kP$iejW|5^A#T-Lal(|l$n(m9 z7n)YuXnld7e(#~b*}MxBdRwIV@f6}+hENJ?q5+4OynYUZR1 z@$tpw^KW_ncmM9+_4G4$KL5%q6ez}Wno$mQ<&anI*VpddeewCX{*LeXZ6E#EFWr6Z z?zPj?F_no@3L(e-n(2(Xb6FuwoRK90Gc%X1h@D%9Ttv0XCGck+z3wZSA;^XHn<&55 zMH=yOvvtMd8duA3bb9>HlP~cvYJ2np0TeVl&i*x&0f?~MZc}0+bX}Kk3A0)UkaVW0QDhO*R{GGzF1zk1F_;_!9hmo{JV5_rFY}izFYi8z ziFyXkcRVm6$$AlDX`u}!vMU!nYl^Qy>Vz08^^<3=(-N{wtsBVul*w7m%LN}xjy6|$B9fknN1!)lwXGfZYDW3gW^1RdYCXyq$Vq0%>}aRU9P&I3BK z&401jv4diFK$!cX>6L~{O&rO)BBc&ndD8HqrNn(`k{Mhn`s7?zXX@gvO9=YKSzS3%t;(Nl# zn9w$-SK1$`d0lI9i`Voyfs))Kv`6DEI}W!NMQwANIjMqH>(wssN=T~h&Zd$t zxoxgETWd1faH8!9C5RM+RZq0S+K=<-QW@J64tW+UqL`Ta(X=X#T4yCXmuA8jaT^RtGJbF4_Q}36sy)(}6wEbXp@anfmr#`B&b3LR94DZn3Xw=k2{CqwnX@&0gSgj3#phF>sO&Zpr)pA!N@ZIFK;K6Z8OKpr%67!< zGT)`gB&8s0cQcgb=yZFjXc0|q2)>9P-o+R z-B?uK2Si{1==C~l~0WS zf!)$I9&kLTc&E_^g%E8Wg3Q1qAa;2^S*K? zc+VkwTh)IcyO+U`CV;F_T?!aeTCLXG&DH(;_r`Gqz`{|Y2WABpDx+epPC$n;xJx@i zJs7*?uQAz-qn}Rj=q1Kk{o@c&2_u2z@T>?)fUHk&bQ11;nr~mnFqF7K3H9aJGjv}A zfF!3fXyPg(37s5;hxY|UT_^iJx{^c#Gb*K*tAARID@_8`rPpOlcu+yz6rKk?F(s3b_|O^Jvob_OZ1QZF}8wR9aF5 ztj)@8$~dUxl2}R?6y1jEld{!JgZV7$PCisw9ks>w40Btr`tJQM3Try`SfrzfIF2DZkfAfnkyzubhLn7*8 z$HF;53c^7Gz-6o!h=lIGe*Ycse8>CV_nyyw<}-470*KA5?DoTcw*#DCW>OHS+&1Tz zSwgu*RKkCNIfZ1jo16p$rJ72QP%{|GAY1m`^D}&h6j8Km3ZrDc!EGHuRCmEYP$Dwq zkCiprgdqY8Av*OWfuxb&_O=&qJ$3WpgNJutdwsjvb&D866cOeU*U0fv0i`hw!yZC4 z*e70GNk}O4o9*`fi{X!b)B4W3|4)DT;-}A-VG$yUazmu+)3A#?ylK@x-s7`p=|k`9 zkGP`^t;X&9uJN-=+U&=lxrkeY-Y~%LmpgN48^@{|q{#Y`4TrW9?&1s59Mo)*{ni*oWvefS8)Ob0KI9PF+fq5BRonomzx_2uN)b3TI zl&{HhfQuhY!6nyLT35m*#n3s2#HD>r8-0Kc_Qi&vde@Du9YPh1CVNBUYL@5MUe+vB z4lCkYKUiyvev0U#FDs)h5oUmLk>sBClA*4O4W0GAmmULN4apExJ`V$OExg8NjidH@ zRqNWo+Tn^=H3F%H+8rYIxE!@1g&~1z6~=$w_H4Z zumZ-kzN(iRcy}iA@MP%hT~BuXdf>_FuIr}b(1y^wd*#4q?S;C8Ewju;m>R8jbe2hv zMk?z|v#Yr|aXxkK*@JlXOb(XQNL~3)s&D@Ukea6+cq$Iv1Tet>XSoaUe*GKi-$_5# zS7>&#HmR0tGs9FBc~VSUFqzrSzsl^f8dlUnY12r9#xkLlzc3^~LYK{S&vQsLKUn=}@s-$7Arhibu%vYhhph!}o z+Y62~1!B_Y(>|GZ^kMkWzL)@*hX8W73uT3Mhme*mTW}(s+M;pfuH#4)LJ-|^chm_LKi{^fq`K^)W@8{HJ0lzSqBkvO2G84R27>2IGM0gQl!;G|GLVe z5Bq8uMZAu+^jD7(KuygCK6e!YArJ*3jmJ?S3L!`6@@{uRR+xa0r?bn6rx_kQNCZNl z0CWL_5Q+AJ2m2>??d($9QM!y8Et$#jge`~b$v;PaZ zZVEhV#AyotMaX?MgpLcLye;odhjZ5 z9(Q<_9a=exb0=pYZ5{vW&8mJ=;Qf~SgV6zj1;QcCOf(d}EekJqaQrGeFHo8Y{d z`!ek=k6xOMrKXt<`bUmSRTRbDrRKYT8kkH}w@~GXf(b<4w?iYUPg323myR<_lXPy( z{yRjVV~B|g`Hm<=70rQzWmjxbTwN3)M4%A&L)u>LZlA1v&AV^Bcys;9*Dt>Bvv*%Q z2Vy+#DW_&N%QU9#d7^z*r$F>6r)<({S8_w1Xx zt{=w)kPs7vVH~%ct8pBQ^Og4z%nb|BS&AB)6Mz{ISuK}G$Hx}2tFgRdRn@maQGUvY zn}$Fk4_q{4LsX;>#FDPAHp70O-ymIVo6F9A)1qI-7+k1Od$tUq-0&anU|^`|$SH^BM~LvXYp3sd?|W9O9{6GBKYv1%{ETZ6@^zVLndml%U5&#j3M3vERp7M274&LUj%tmKN9aj{36rbOebX{(WU@&xmO3J@;btp9V5=4^;wk3$ z*`TYbREu{`f>R`C)w~Mp@6v2POp}1Eb(L>ReVgjS9OI1Ed#HJpV^qD91AO$zSsl9e zv4gIuGs>i7P%EPiozpT~3Tr2t>*l^qqX9a{Z0stpdO!csvIf@_ zA2MvY>jmi$1^{qVg4DjLwVI9y*ZuQntgc$G=E9L`pANX^ zZGWQ2q-9hsDi69rv?_=TM|gyFvEx<>CL@Zrgee`fX^|-%N=q%Q_0`NNGs<*Yz$;u+ ziSyc~oFbcMD1~~dY9x#rzg=khfL1J1ArfWLlqpi{FJ;a;Pi!_o{W*}8Ha*YB)mNX+ zXj7(<95NXbbDs|xbwwlzM-JM*$`};f_KgrrYk>el#6(0K@;*Nz3N@K1M7Jw?~Av5Zne=^`Y=fIy^8q%JLHl)acG0#T6iv&MVt zeKX>M#GDd~B$j$aJ?Y#+Wt4ecHtpA72u*XDsh+3dnNps$r@URQVR3PmbqYF85~f1c z_A~*0Qon(W@<-gOlUe?$I5wut^lu!77-9$%C?EouBJ2DLChdpD39dddiB>t&pQz+F z4P#14d#%CnS;nppgVuQU6W~zWXrU`P#2MwMhF+UvNwo5*1LBA@Kq618*LW3dN0mop zEz}4B2tV|hO9*@pa~@q7f1Ic^W!aP`mH*YG+;XM`K!o(gZ!u>}S@M_KF4KZmj+<-3 zGJDQjx8hcmg97uY)Xj10lx1m#t&ynqpW>kP?Ke;k19Gj_~n_D096Ro+(Lm4=S9M8IT8`p13 zzre5qmE1COVyt&+U^8>xG&>UZJK3G%@~jv^W`vyR>}V-6TjQ`*osoQzIF4~tYY)@ zye@5U=7bnP3`7*RL)u>L7CrsCx1WC5bEmIg3_tSmvzHzYmrU!90)g3_T$39kv|=!H zEOOv-;N@+KoAj-(DoRrGw)jpdx=^NBN-X&RR_Ir9lH`6X5~YMO+$3iqB@kU*Uagm_ z_0cLNgc$d`{mJq1jq5i_0O3HfQeNXDLLinBwNK+X4nqhLc{{T%%E+M$+s)?c>PlY} z02a*R5@u9-6t|NIF~`{T{UW8Yz`iYL)!3LdiYAwyr~o+h7Y2c--|vTEKXkDxaFy*v z-Zoi~p*zMX%u;)^_Fo|&za@G0#W+m@*xqKDmi=x|vFWP(ZYGX}1BG%YP)g%!xst@M zzxH|vaj{zTi*7tiiMcCFR&z@LCNMAh#d>{oaeiLY9n`A=C{jcS!+7-{f9U#$-q8)O zUtRL}P4Dc!@nwA9ed0a@un-Vv;P94y{F)OScXIb}Ov6>YqVtR8N$5U!hhMpS^~;a@ z-}KJ@&WdqCED&L#pvrJC2_TzdaG8ai+STe26`s`BoUUlWPFjuE^>gss1T4gPNn$mTOjBX`IY6_a3B@(8$t(_cXe7sQUSz!`749U#RWjrU@=e z<|%8ex}dVLT%9jN5v+=1Z9u&*m2_#}Zd#>IM!g|wiw?cmv{l8+_aS)}Icq#|To^c^l#o^8XP+HUp6YgQ5U|5JMOS2I$$h9Q_-=TfXX7Z@%Zd@BQ`f?q7NN#5wy-audB?NTbEUB+lOZwM z{+b|+OusiZc|s;#s@#f{`@MZ}>NZyERWl7?d@j6cY-2IVPn-`vaH%L8?leDH>#3x_ zwf4uf2aU&WGcILxnY&m>rIuO>9RxPUvSnl&MXeAfQ-<3VBe|HPqt66SN-&_XO$0yAb}`|5XLQzuYuOJ=jPI-IUtQVk~UZ0k>Xnf zFega(9e-$i^)>p*za7`dbaG9Q1PLLOR=B|;`bLe+mErB$4LsB@Ci`b!6TsAMx1llVlBW{UcbfAtAze!;=TN;X_{>fl)6 z&9t>uV^*#SAs_@wBA0s}_q<%jU-RPWSH9`^YCHaummdD|1Aa6}*U@oLD5sG&5al@f zFM^7PE(bI;`P)8Lgiv!voKOi$&&lJr*z!fyTu9{XQ|5T1+*xRRO$=G*axw6lm<0@v=WUr%fPr9C)HgzCLkO(;{tM z(?a!O1$zgx079r491tmsr6J4`Lo7#v`OZ_Ps(PFC*T%IknwsyFBe4nYUdE9aDH2G8 zh4+kIlEjE1#86jhgUZSsXGFBX+WTz=mWf~E71jQ7nUk0rfaXp2L+i7a#!p1oBArxT zkw$Wz<;CPhy=||TX29GOE4Th_rntm+fh+2O;!I9uoqebyC2HJMYx&{JdPiI*C~*@2 z$j`S~QqKCD-(-n<;yY7;w{@?irH%~657J488dRS4j8p@J=}2iBs#6cnIWX0|a#B`0 ztxjjF37-<`IIk0(TAs>2x&QJzWysXVeC*LF)@s{KDXBhMV@$@0wh>Y(p($ZaW14tH z^|sOewFZ@<#NRV=#njo{%Hjo*65u4HazWrq^c-t7L|heB=PI zKxAYdB{6ikQyIVjQscjI^}lq8k>}9})WwiDE)$}%6^;Uc@w@3#Nd1WVgrbSNrEqPW zw?~?R@&rG;N%Ps#RLcOQH6RAYh8m6^xk78z^mo0Xzt#wk19~aOFpo<)Z+g|(c~6L< zfx{-1HJ}_TQl4k?glMAbdbFz#<~w2cAr%F2heuGcokCz^8Qol6r3s40fSV(la?UWj zB7%QFn#XMLY(F){wJ%fisTw1tWf7e?RG8EfLR)4D&MPk`X2Kd;hetF%!TCFUQN>;p zS7*l>Gog(p4Q@y!8~!2Euw1r4xpN!VD$A{ZS~+~erGnzgn^|Jl@v80zPaO%x1^^mb z0uZ{czq-15`0xxsjB&r;!!5ZtMimq$J%6$~6E@8A;yAY-uC%<8NCTR+7oNm~Ryn3I zyYiVygcb`vJqc+5)&gll(~)$e(cB7vP1pq?fC3UE9OKTLXthcJm?dgY%)V zwOsXL@+0U8cgY*7VirRvr0L+*u? z#)pp{Zmu>llmk6y)Z2K8veMZQiir06-TCb5BCUWHOpqk2e(_&^`261I=s*0L z8&}l*M?dlSCm+RbfmotW0BF6yFK&{hxm+++Hk? z7v1H(-KVdX6cdT%5>h<^Lg4e_NI75Sm$dIteFLd-uELBbUlUZ(ur)WoaUdGUq3b&$ z+7J6aE{1W>kiP2!(e`Q&$a1wr$a{`eva*D*@a}TQDRq5^5QLc%r!<1F?3dYS5gC-5 z4^#ws7{{CxKolsHffIpZ*M%4izI^P;9DPn{x7&dzhA1LQk_b{_PGcbImrD{sUQ|xD z{ZZiwmYpRLsDd&~vCrd^odjgdmYZqE<*!WA%S}r}L1{J}=&7a%X&;8h>}s!sc{Rmd zvbGeVD}xQ2*>a@M-=Az@A?lM%Yby?1`FyDVbj`Re$yYz2kbJfFJ874c zFUGkk!Byw={pMU|X|>eRt0;GfsOc;Euzpj~H~Fp4RMNaiR6bDcP;>l5Tx)Af%c=sk zvt@*1{`-N%5v^Di#0z%uH4Ds(NJ=SE2q8kM<*yWr9~M-0dQRKF!l1yqJ&<`mW(f)b zzPKbviG>*;h6oAD1Plq-!X(NvLLd#$5g-yHcage|Vn+bQfI!)`EvI9JOn%^$c-VKR zH@YwT>hquf>D_i%guu+4xFnwl!~0DsR$}%Q*W}4*2zmsBTa7ihC@)MlvUI$KuQhu;>&L1YlKiqGecYG zHGf^KL=h)2RUVziunL`M*(@yqC~iS%bEqJx!`M<@i4ePvpyImua+U5D5h!RdvAycV zqw!I7T~MRZQ)zju1@06^H`@Bt(E{ANVcr!nK<+jHBDsUw4YqYs9ll3cB!uqj>gxLS>nEqDoR~_|%7Lr(f~u)5-1lZ8 z_j?`6Kl$>W&KxNVu@1|$0s1dhX4htU`;k910_y5{L)zN5>lxC@#zxxgem3KElIU(@$29H?swh1b4SKB?Ds<&Qep@L)W^{EJp=de-~Z7c|3^RaBmeNHe)^v= zx%mnpBFVoB}Lj76ft0Rc!jA65+E zB%gliCHhQ$QqKn_keOO&76d^fl7Tr9k#0U$ghcXb>x8@G`oDQ8eU8GT-R_59>0}X> z`AjuPK3%Qr5~IO9sg9sRK)Q zO{3f;lRmhPI`C8}A7#){C+%{V7T#CuB|;R^IQD&f=X>6BdV2heANk0|qs!Y*-Hu(n zIKLRj@z(8I6zKf?0wN()A0Zc(#*x9#KmX>{YW=y-e{Q$k$F2*DaD05s%#R;E;v_Lf z$!C_R!$t%`U@#Fqb?2$|`sm`~@n*XtqAteu(K>c*tRjpP!#|;=b>f ztJU$*5i=e?eoSWS0jG=vU`*rF&pZ=jyf{BkDUHK;?ez5Y`nAo~6{mD`e0=xydnE^= zQckT-SG^!rSTZl(>!iZHKtc>4y4((%J+GIG_udZgzTG{4y}P-Jx7Kul)%SdK|LRrh zh&f40<1h^4I1&(IH?a#e6S>KFS-nvW7nt)bO^^jm=SbaWqspe**3xmVz=ou3FZFP# ziFt+fh4%%_?0U>MDf4eNrL-T_HjrzT4g=J0t0lO@AMB?3!%BhHFE%cI!UV9iUosK- zjY35GZmj~<|D#C*%t4vpx?}XjEs=)fr4&C1pD;{)WU|s49dTu~P85p6=pS<|7RPAk z+)l%F3P7cQn~|NqtKwUsJ>T>3Q^!u#^rlBE>9zhkBvjt(Agj^yndLSu_P0qLNxv;y zqxg-C`}Q=2&0nVGkE5`TifzDMJUQ3KVy;?BYMk0yR2tPFW0snMIfRm3oejIxbPJil zIZfHq{z{~$H`aN**4MY7ea2G=i;OIR3&)6rLOv4}6iVhd*;qzE5DF!16Qbmak3hMx z*+U?;r~olDjr+J-0sa1mzW>pG^WWhYexVx&>AJK}BoMIVb1N$bX*Y-<2M`1Zl7v`F zu*7#NQ2Tvyatx}{Q26W- z#r3vbjooVmd-_5fDYL``8#GJ%mOW?vC{uy8=f$C*IxiM3(a(iNeq=6ML2ZN=YBMww z(5Wh$ZSxFZCi*8z!2yV`fT2|z6xAkAG|ihzeRWcNB`)K)_@WeBbh1SwiTNis;fL1gQs(4_=;TS>%(|LO8w0sF z{Xonpq9B6Dk1y`Ne(&Pq;@Y*-K%{GwRGEw%G>BfMT1Pe>!=4x|ZS1XA?FpZo#3=RD z^p7<{s)%t)ST4E`e52fc4p$d+v@DHq1{kQ$Q*J*IK?o6uL@Wu3-t+Zobs{NI2$)9B zYd@G>1i;`t9b{#T7EVL~LV-jENr-QK7yZ6J!C&$<{7?Q4efsAyT++Q)aCI)LCAui9 z1z)?37v4`_`y0Yn{Ca-&9pgC4eotkz45)BTJvQ&6Dt~g)x@bhho=qt&7K^8!x#jdY+GncOn{?#ts&cEe9+s0S2`a1tH@Ac0n zbJbqd7y>-dS0HiCMC<5^1a}POo@G1mI0!)Nqs9Agb??5ldecci4E*Zl_Gdr8|NO=9 zU_TP!Xc6;?EL?;2lL5e?dG3EnF74u`qXbW~COZFunk83?sfU9X7L+a^W`6weF_=zH zPGSfj|M#Fw2;%1vsaBzJ4a7*yLPUAP zJ~K^~Uj3+nNGW2>-Z{~tMNay#qwqbS*$eY}*+ohs#AS$4+^UZFWI++cA`IbvL4ZhF zbonGB5N9b0*|AYasqtC7)0br|BYW_+3V=5pO}}{^FaLMVEu{n? zgwXZ<`T67RX1iK0_v4U;l%o}H+$=No*u2&k;2KzaZ0j2I*Kt$N~_iK>gsB@-^JJ!Eca*tg5bGl-!!K2 z#`Wv5i#*C|y}Ew$^x=btzxazEdE49HzT5Bb-Fwh?omMSgrQ0C2(^DUk5p{9Ua3#@PmeY9^Wzy7?`ej#RGL1ZBQqEg|LEJWgj|piQ;6G)DqjfD;#o5t9Oa zw13KOsekP!5AG_QlNYNitBF|TqDplxbJF`094p98Wn$kyG!3Bo_w{#anxjFvI&iJt zdn?rW{Rxk36V@6Op)6%$0a7aQrChRgOf%j=J1y*^?-hBp9X1>7WW>!MYU8chVhycL z5gVc9duBz<>a`I_=LVMGZ_PS(nLFAx<)(kM@niKBSBcalS_qZhPRf1(0->^}gjl8$ zbOxdg50siSKcyIpyf{Bg+w`yqgQZMmwzMK7NhClB6d?c@I_*&%Y4(-oG>TC2DQqf_ z;3R9@Uo`G5YVJ8xd`s*Atwy&eD1?!W)o=IAKyIkP3e z2VS+4EKpJ`GJtY8CZOB?#-Kt_y(m%%QK2iIgrP?JCG&g&GOh^24e`;J>D-Pe>SXD1 zDKeRrH8N27s~SBqS!Fn1{KQ83te+ID)v?YY38zG8LB58ZYH(|6;l!pt%n}w=RRmYB zRUn$nQzJ8KQaiI&;dY#noRE^h>@YQGsX^?Sd%xr#5b*sH=u$;o)b;W8_Q%YD(HB?d|7oC z3{yO+Vo?4OJvmatp;UiInNQJ7X=iV>WDM5r{|byMEa39z3`| z3_}P}is677yjG4J^Q$?gSuc79Qqy5Bf}u;tjXrO>9O9SX)Iu1@*dt5?2_Ph*@WQ+B z72hC#|F6>WO;|;YBYD3{*L`Gefl!j^LZAp-Z0Nnen%?>@Uaqj+QQ3a3Z5tW$o1udD zL@WtIX%Bz|3IJFV-MAgU_20m+{^s#BAC*u3JUx1V$FIQZIL4Mfyss@9qA+mkj zb6%AYAS|>Uu^%Pn1LT+S)~bKkbMeKS{f+hNYO_Dzrw@OA`^tHG?P}bz^nEy5#@HZc zW3wE`{^hmz%aJA)op7+96}LpqTp3!ia0rwVpFKR=54-EvuU)@>eY4$u z>ZO-H_0mf}`XfJf?fQ*t*G`X)j=F9E$bQ&gTwXmqJA3%(;eNkg^!=?H*ZRKOY_1+Y ze7xK3V({k!hyy{hY$5l!c?`}&AV6X)=PbL(Vup0p>Wqg0oXL_m3C zH5L)>3H<^@frL44G^jzX%-swj$wG>h*N?;;grZ_dG8ZO8u8G^_u6j?jgR4&_j{XC0 zR0VZ5M|;*XB?TbA{{{(2n0dKeTwKs$@)YM~h{De!lPe zu7*Sb5eD-(j{DuPS}w0$zj1QyWZ3O@yZyKyxA*5~IJ>aPiavNEW!gcgg{(do%< zvso^dUEdLq<9%mmX>++by>=|b``y0lI-9#}yo(U?0Pyy$TkGSa?bRj*di?luyV@%J9h$sVtjD#?9tiTTb_UO@yYt)wTl>{9=GC! zE!%N)A%;bNdi`{_*~b_lh#~Iw`;>Um_l7qrWA1R}rYI*4s)H7mr5GU+B2f&FE_TQPL8Hxu8OWcOme zZ413hF-mw-#eu6k@Wf=eQgEnrzVj+fEoD|d)dwsNI(eqJEL7VtXUODVYLIj49?h_( zWst|orfH;Oy~4B!o!)PQXKNO4tI;T^*7p$4)#LL6;hG0f>$98?H7Dk&yUB~WWHxma zrdOZ66s?SC+<7gf$wtxVEz~w~1)HxP$y|Yr$L2D^Cw*^`ZdER5Ttpqo(gMRl)+V>rh;^*MQsaRfFm-)t7+_o-1S~-$ z!h#_KM2q?5Kur=$C4VUYcN_4W3zRWA&b84H51}OA#DLxp^NxRm3nVA zGS;b7R4=v`hbnC3M2u9745igipWtm{>$DNACR9u1?>5t|6VR^v-#S>6CO^WOEtBsw zYoTj}ek2DjwH>4u4dk)MHNxT30n24o)?kV>+3q^ho{?{iYH4plv(;}A0Y&_ObX9;S zhf{BKRlJ37z@*5D4opVQ)weZ1)SAt?Dq2w@dOEw3ZJi3Cb+Z;EW)B@1@Smy7K8XMn zFpR@`z20mt?%%sN4haA!?)q3tZltOBw^Uu*5@;<4T{yt2b(I1Ru)=aWCiz_UqM`!< zYIrlkI(sR`%skD;9F9-%!Qa9k{)uq^RlMy*$Od4Y=rt^0Ab=#F%!okfBGQnKZpt_R zj_$4RmSL|n2+vGnX|nbQxsK4rP7joZP>BOFzytL?Zamf9cuKzXUz6P?Ts;JYiD-3- z)ky+)7-<+n$+l>8*?}i(=9IUS4$f4loohfM61xy%ym|ZfdbPT|c;tjn8|7Xy*m16o zRaSfv+X5g*$-f9qA}zDE=u>s7?a4e;mb(Y)toFo6$gDJ1`N1FE%@7bw;{Z^wqlEJK znqVhXk%RXt)GQcT#)QO@5(^L@*Vf(Ju6NI#_9q>!7oh{Xh=-TMr|)09axvc9rpx^p z0~Q@!Uu0n|s|J;=tsG#6E&sA!x+rHhU6U_Uq0D28Q#HM+AFFFon9WIuC^280Ukt-= zdV1~X_;`JEG!DalySsn?-s^YomKQ@-&JeqJbaZs%`n5oDKkObpe0X(rH4I}2p*a3Q zb4^jDOsQ87Vv?nXY^&T9V^taPmhjU!$6eQ* z-G8uNuUG4(Fdm&fzW4h5(`%=p3wf`J#9XC$7stm(=MNuUoS%1HL_U)t zlvs9gMoB222yPt}!fv-aKR;iuR%uMbIOG?)E(SvE;&!_q(^xj1bG?tePb{$C?XIq_ zR!8goZnxcR_q!oRh~VgWJ?zKLc3W138-vLZ4FE1KFP?hpsV=4SN9RdW-*+PE^xCyy z7&n^@fw-)U&Tdh)0?d5&;KB79*UulGUtL|r5W22=aBo~LySG07*0Zy-hYugc7^}N) z0IedY+T=RFD60#h=ig#Lpa++muX%d$Z+_kNFMTGi178g|+xPonMB>B}K}X=DUb+Yw zAi|K4QVoKx*XzY%xw+bGHXDGcq>2`Y%)8=Bk7Y^BHPiQmP98SzPNdSskq)@-W`;8p zxcV{&%%q28Dz0Rq!KYiOsy95QR$WA!P{u`1Tw6c zzFtj_YiU(>S80RUXj)!>k?I)=rrl|4i<&o^wEw2YT2r+M_0?%t zRMBW!ZH^?tb@>E6CvzO;os{kufNUm$JdrxO&nG+quv5FNB*(;THz%73pd6~{*Jqlu zA%e02RYhU(k10`Mdat@$N+L)sUhmsrqjZG~H_EOG&>gpqQ$l8`WkyuBR=#39q3%7%V~ zK$k;$v>8Sr3M4`d8AeVb!^k2uFb|{bk_;kal7YdDBp5~>lMG2uw5U_F8UiH>Kn!Jl zaC=%4syk$w%)yiagYF3~Eom6|Gv9bKH=*{v>lXsx46IEs(%$&fGq6{_n#FOC2 zYhZnPSrY`FSf}2~uGyr8=jt>t15|`*Y_p##2GlEm;x1WV=qm9ng+6u0N>!Ea3bnaj zoz^Jdd{>qmR8rx5Zjm(qG?u6QHJq-fuamg;0H`LK8I=1q8d(-K3au?wBBgppnTizq zo(K=_KfKypdI_n9u4zGGR4aV5-t&gq>5*Wnwf+Ie8}YAr<}iErm6TQiD3BoSrC)}x z`*!-J5A$FDufk@JMUP>x&*Ysz1(MI62p~r6uvlVuDH7yE-yXj0cO`(B>tZ$a_1bZ7 zVZTnUGzPLvR#jg@>J&-7G3+6b5D|zLEAE~`?6MJ-VdOMGcQ})>vx7OkHbT{T9<-{* zFp*R5&FjBVpkWw~j*gyv`kCXC<9qi=A_!qJ$Y={H#2K3k zv>A>0AF94e{jmXZ_e0e|D~2)^vn2f|(&evxlI{n@e0@$91HWMc2nDk?uVnK68KbXvdES+`k&Pj1Z{{bZr^3c}ht@x<&(n zd}6y7e6+prFaJe#E5tG+b{JUa{7Psph=#=5MvB2u7LURm;YcKm&DCby4_B9$tMz)d zTCR_ej-AI%fP@f;7)WW{ZFZZ@X1Cq#_B#>eb5ZIvsmsl#mV!z&3p2+U^`|lqtY)xv zU0gBhqcka?Z9~=DpGL#yojx@s79Iu;2np3c)ZBUEl@I%=Lux?|%yEdpbg|LnO0tVh zwgWCLO6Ocy2qZ+z%*;}p97=inW)$=kk($x1cGR)8D4_OU*%+tFoHf{{u%{@A|&)9-KY6+FaQh*kTZ*XbmHDF~0WNYY!ei81_RbR~(15 zT=xXpY`19~-PE@4u|ozR_ffV;YSD5>1_~0w*~P_ozJL9@zxvKwZ{p#G?_bdfl7vO* z)@xqGz$rz>BUvuP7(gNRfG{%(Pl5nM;pq4%cH!dUk~#U&jf!luwJDr|Y(x~!|8JdY zTWvILs?=vxAgl7#he+kbyis!HR0_oqvKH%JYBT0s5&G(k|2o`hFw%dnKXf>JIoF_4 z?H9;cCY`gRGI?Dq77ZD|4*)QGapHPR{Ec>~+q~)1D_Scv!PM5Bs)NPq5yw%)ymn4T1Yz@b3CaMkY&Ju<{2qk4$S!m$oDsSypdWuT!f@Hiz zqLj)q=fnc0)tU&qkALLiyZ=)9!SAO}eX2XTLC-ujrX;()NIqslzzm(aavCF{X10`+ z4AxTtHjo4fvpzKiB^^Zsq8N**DZdcKj?Omx^5gxB&-V8>Ns=6`mmm3z{MWzmU?0+$ zQsQn55hY!lwMflv)1X+)T^=X~^b}$UA<~f2Ffxc@3?vc)h-g7!xeQ${BOj=qMKs4x zS$0DbAWvtGqYRAQFbs?&7zJaJlz5k9pJW&l3%CTfk@N5ZkXJ63IVD3u^UwSwy8%1Twkl5L%nC-q)4lS2NH@}9v+%}#faJ+ZKWp{FQhx{N4$wD3?@ zV2Fkzbo-Xdz<;rfITrylg2-sGwzb&?Z2=PiYp&YE;;b}H8BwcoZ)I=W0xqsZGu_5O zg=2#5{5~;YGrBx{=h}#f6En->^G9b7&hQTE`Yvx3l&PV^rP(xOQB60EW47Oj5;N@8 z-X5m0Sv;$+)kj&NPRz_yWj-=6CajO*Z~p`7@qPIpe+c_aTCKpTq(S5ZuXFH&6Xl(E zUi+-XDBti~>9_nl)USBhMcev7oM@^}1!xA|oQi`ME>ALME0b|83q~3-a1K9E8Vf)G z1fobjX6*Q2=C@^>o4~VBrsH*enj($ENJLLPb^F$>+n;&qbDVdHb>-GP#3o3LqTpn5 zH`i@D0_Y&PI?7GN=MM^0Se1`;y2dlXvBU>*J);gt+LM*n-Ci!1Pc8e%9P@@*Q6fM> zF>e78C|j;~-5JSjp@*f7ItD_pa=`;(jfu+SLB)%b5p~$@FWm(h1Td%le!pBUW5|g} z7TRlHfmh)|I+>NMai-~1;Iwj@-gv_06!UOkj(kyc;I%rK5XdkL%t>75ATKv&+nKj{ zo!Wxt9z%Ool^jzNPT7d%I9{c~!N5FP37gT>8+Dk8au}xa+KlToT^(AoA&Q?DHh|H1 z`GFm= z?sxlqi0U|u*cUX8F@_i*L;*zkl+)5d3=TvPY`2@Mt1Aj>TeIm26hkO|!IgevgGNUA z^5TLe@BRl1MP*-P(e;((<+4C|S$TYUc?lrI2$5mW``tcssq6CQ*`(``)HlfaZh^)$ z4j20nV`8@a&Hdvoi^LFO2sPy-i%3aKqY6cmfv4uidO^qo69hWDy!xGAcJl9i!|iL! zc=z!*qyRw&+`J|+@~6+_V|UZ%9;Zhee)VGe>H~~I(uEL1A7cn1iR4%_7=f@{EO9~? z7w4RkZ657Rp{38E2;f9%%2TAGrfx!=P@mhll08sEOEM23ld0Q$i9A7gk zv`JnJe14vLU#YGu;jOdCfV-4EGc*FXhQ48Olg3avr%E`LPqjjhZ&VAbOz~pjf!nExdR-ezz|LsIL*wcms0?2F%$-3(VD6I!3A}ED?p8>!EL2dD1oS2Oo604Y!Id_Gt7c6B}f7%Fo)yg@zI0xzwuXwzy6oy!#}f#vAg}$ zp2E1@F%gy6Qi6!&z#NsW<#KaEK2NH`EP?VO4ieysF$&hMS*6v`(H|8!3?UGOKp{{- z06;=~w4#?b{NMhw$M3sw{r1fjSU&eq{^W+g-QQk(5KxFA^Rt=T) zIfX%?=7$R9>^4v!i9|%wMT$fnA(KT^s#-)^gwS<4-blyG#nG}S0t@BMUpeuZmzsda zG>#%EVPp)W?33)1?3ssD4&%*yO@fh`1uSJiZwhFCa+*g7LK^q9sZm0SL#kepLswI$ zs_RyI1wAMErO1imQjsWg8>iu8`1|C9!lOpfv{qrMrefhqS3_}b$aIyH-(=I~$MSKw zQs^;H^+0uXGOPubYS-r`)@nhudICWD7|LMN406~$^)BADrXT2Nj^@cXgom( z<3S*PGWVYFS$WlrDr%$J<~GK%g3LT4powi|fYnKY_IFFO5EB>e)wdu3KTw_5g`y!N-2bXyV;(dodM{&e!tyyU7SbdbXLbX0!EirRxLo|(+He| zQX#f-w`reyM)TGD+>f!DTvPH75h7_20-kz4{_g)Mo!*fj`fKt2t91Pqr6e(8*~>5> zjR=933k-XHa2H3%_{QH(-|-*d&F@YrNm)iUv$n{6ZER>c<01wnSZQL>*lW{A2!Ig1 z&2{VDG%eHN4PbMhZJ1Z;=hlgrs<7%!kRDHc^VY4~w{C@ilqA%Hs$G8+MYZm+-XW{h zR;kyWdK(-#blI$cd0H)U=ri?;;q8>4b6=+!PRz-m>GLhO?EVMt#NYDP1yRQ#he#!6 z&q4sw1D!w!AqLumUb{&5HjHHtl3|cN^P`0e)6NW@bs{z;3-XA|%3`3S8@(GJzl$ zzIwupkzqTFZtU1PGfybMyeqNpDd;*^6!8tuvDdmB z=pd4unWpT?EcyikiAWTn>oO?}PzV|MIoV#>W^oFGL)Ue^CJWZkMmdQDu8Xwm8Bz}3 z2qDBsaE6U6@P^VS9-ghyc^+}mcRAG&5DC$l5=>* zmL*6k6fp!UM;A$MKv_E=MVv~NMU#s6Rp*SoaFskvD(f9|KoLSXySVrrzv|=TMrorS(CNvpyUa-8N)e5L!k|rZ*od;bMecfgz8z&m> zSC@u>3BRk5Hx9=^Bp2T>^R(Pg&KsDyR^}|s7}|7_xubqP-vJ8Vz+aj^TkUVvrb(xj zDJqzsr{Yo{^kF-cK5CG{f0)#U8ON1;ej>NI$y%S4KYbZo6BzQ{QceQH06~ z>CBcWSGFoJn`f;ft1w6a1xO$g0%OmC5h4=nJ9T2UaM|zUmlOHRCK&=+1dIrO>!oz@ zKRo{Gx2^@_PrSVUftPmcYyE-}>Rgc5((H`d0+CX(A<`m-Mch%|qX*PQ3P2yxbzu=g7s9#^VM&2V7+nmpED|E*y)z&=w3%3T ziT5K9NrogWW5P*=Vh0`u2{yG) z^*5bPEM@2m4G&$M#TZ2d(7khY>+SiOfv+6Stf=<0WtO;#5C91=934F&uj>HcYJ>IY z**T-x->YdG?wWSsq3Wv>ASFy{ImXWT7yzitct9pmg8Wk6p!z)dZp)OAgV0 zePs3Tx-Q1>==|~h2MH5NO=-FyiK=u*q<6%_V%u}djkJ3T!)ITjhp?hf7_H>IGF_ll0y zlgZ}GqQ?qLhkPR|-}`p8VRKchYJ`?b0B#A0b8bA@Q)N2fO&z>G|7iHZPiz@6<;l!~ zrn!&Hi2#<;JusaO^l&Sq3;>T~N`ztL!~&5#aTEeABCV-Ps$@sPLr`ORg5`;rW&ag$ zRm5*QOM?`}6A~2MghRvtl8|?*ae;bQhW9Q*pzKfyFr-mZK_n0Y2m$2*)JXqy<-WUg zXPE|V4ZczuQyLYPi+6F*zktsHXi0CP7iuoNfqc?6WrN5Y{8}rTfO~}!YVTCesDCa{ zXs;niYT!UIx@b$OnWkd`75>(ig369&&WbsT%3bf*wXM~;3!isWk(LT2lVXcR`mFK; zSRw9@@oOGCt;Uur-PXK`QSh-)X3<0E33-D_#mce@#KC-}Tj4_wNoaSvu7?nogZT0b znnNH(T188;vrp`{fnRBjYrhSH*z0A%cC(6}H~CKp$YThbBDTU63i8=I+2RHu&x#cC z^2K?_o>EIGgsUVArn8>rlDQrc=a*_TtAne-15pmNn`#|n-iz%85ER!a?K;9eHUwN&w z_b{lPtB?Q|^*=ab^gp?K7J1J$X6}k%W(7%Mk?gxdC5p9cUvPn>B7k{^Tz!vVJapMD z6=qu7)W~<8|8)_;C+03||1?y=cZ9f>v_Jaf64yL(e_IPxCtAo8Z8-0S)*7-DdugT% zu0K436jps2!1PU-m)Ep?61mGa=F;O+{#4q;ok>~dYw{*8B_&o6348D*5r~2i6QS(v zrJ2~}Wmeh)xuaS0P)ZV~zU!ZVe)#Ms9{pebi{1BqfA{js%Ny6__MJVawB3P%HbjII z@{F!{V`dG>2l-Sy%LC_pDn8ClO(0#Et?GD3Bm$F;Y2vwl!lYhsWn~0yIkCpo-K;7n#YYd}Yxm51|Fn^R&0V zoQ14R&=xX683>3}YO)JvKu|Q#HY3c3Isz052!^87B1|HXAUWtLQsTzU5Eh0cfd~@7 z0%1v9_7+S67Nl~XI|TW2o*@SVEMS%#>&#JXmcsn(c8F?kW5S(3U_bw{Z#)q|1OXso z5(EMX1Hw|*zJU;OU|X0a7-(5MKC>s2)DiNOizN`pi)K2qCePKg$4K+et{ zy!P7N?QRz$Q3NQ@v`>=eXi^_Zvx2BnDsQk5*q$w>c;b4MDSvfHXD+pMo?>trB&yyJ zz~FIY;&Ain@SDCXe8mUT$A3QkJvm7q0=~{lwK$-7vGl+yX+@G4O1Ro)B#@MbDqqh$_MAZskh?C zmW^1Lsmc2aUAuPe#*G`y2xV=a3&>Vs%;Mu}EO(oaW#X)KihKKsmlZ#As>HX*(GLw< zS86m5ax7gcnaNXU=OZQnMsljxCmb}0z=NJ}xD0ZO>RkeIETrVCEtE?=s6+Mf(2&@HHfpJ2WFKJEf$pb6k2$bB z_-iE%m}{w0K8=0DxBc)Sztrpo`Pp46rcd3P8b~UMT@!M1_M(0E2024xJLdT!V8*vW zKtzFpTh8Q$FKmnvV}eE?Jy=vX+TwolM5efy@AMY~YgeQfjpmgm(LWT$rtYGS zqw2o9bw;LYo;d2YU|$Xe5NC51LfEBrZ5jU1H$8i2B@fRzgl-(hr&jXm z3;MJF^z4T|zTI&+UdH1nA}kWJugnNU5<_vpgk>0pl+v&okJf7nln14W({iyG*XzyZ zs>}t`)bsT5Q0*i0U8_e_zvw(XiqWbj$rh_PS=K@o!py5GKUvtWVWAY>Iz4Iy+)vUP z-M$sR_9&tIS2!tlZgv$!sc&nU*== z-nEH=DFY5QLHw8Iruu~rU2453@|dmq8$|F*ajwT$8d?ut{%CDy5r6{zTq7@;h$qdk zdM(Z$YZAH-vuTueVr=zYfqE-027~(D@u|7&Y%wS5!QQr&Jf#jHCKHF6*G)iKm4}DK zOwtKP2!nF~tBRZrd`UEd1Q2n~HDTt^W50Xw*Z$(>M}I8+t?yqPpVBkW?IrPc3j|O= zSx?CfK)Cu6x&asgkbE=}NDxF<3K5G0AH_D|j0C3P&l@VvIO)Fvu zF{fpq#TvuN5cDzTvtcQOyhg$X@LmVVC7pQKYVg+3I5SK$t!$B%O=LkdoTc`=bRU6$ zNVMq4AWkL5IzUFwyXYhqk!?OQ-h#j8^W=dK1){zS9Vi4_TAS~qi_`~NbQDYQ3y1=i zK7>^lVt%rOs3Ykb-aysq&{e#osZ%+vB!}lh5tJf%Dv_bMG&wL=d{LK+0;hK&FF&YJ z@?4-jEj6qukXTJ{9$S|H9Ew&DLIe=FIwDfCs8}G79B2~(lO%!Uy^R27Ni0c_SeS$Y zh`{AAV*yhDI3Q)Ul-xEdtGzSdgz`EyvQ$qEgs9@yzEdNm(kBGMqU+5H1+YK@a$pWp zl3SsJvaGw2g>?UltPc_dIWbd+80ZKrL=+aC0L?<1H@J$OHfz)BixKba9C<-@>wBri zx4Dre#V|KZAmVX(>Tu~94rD1;Qi=2izsQP)z9vv_$X9zoV-&8^s_(hUS67#>zWU1M z>gxK9>jU<}Od()$31F*9rZ!#67HK#J)aeRonnq??NSzNiD_<#dRW!!PGQ-U-<*1mA zE{KQSu3IjL=ic5u`(pg^58}}oT|OY$QA%{}7F~Z@j&G*ei-7lgJ!R1BO-ARb9TiAk z4Jxju3X~iU)GEX^E)p~%AjJi0U()vH@Eid-t&pt75DJ~O`j%6r8Wl`4J0X5GMSZy}9#VPng?RGKEmSY8rTqyWkoUWab@mV2gkoEO6BI3*+OlR9h`l*~ z;Nbn{>H=<@>W=%;J8|#b==kb^H`&toW62 zS^7`DOmQ+g%Ym2{GyAM84Mya*oHq&G9ifqYMV-d2MR1a0@jrEZTxi33s@e-ju=S^j zu07V?aRr*e@j-BYgL8}~8s)7BdC;X=%3RRPEN^z1T1zC;Pxgvb4X6OG59(_rZf#x! zG>qa#LdFJL{$>tprPJO;!NmZFbA|v-ptSwi7+JSB0GYZK8VF@08b=_CzFG2m8_Edq zn>-dUnxlT6j0r^kc+1Lj#fW@MMT=@1^_iKQQJVo>?2_3N6cmd91#uizanMO)hJbTH z{(L8~SV-g9l=lcCWs#VAY$gE{>((*@R8#gW>gt$c4XY&t<7x;M{7EIOlw8Nn0++~P z9Xv6}Pp}q}7eMKma%}7X=xV$BJs*7T1JCxCmzM!O#_`TVK7HB!m;dO&k9}gZUM_B~ zDY1-6bToh>q{Z(mquSVkQ`&5rTbt{OZ{t)X4X2=+LFXdqIpr`8*7aFA}?c*7G(SrL**$Ri3rr`||bRnlx&(tZr*Y_3t3pin-F2Iw=&<{Fe3v!%VE5-wnZFw)4Q?s36Y)^ZbV43qDbX)Yo}6>`%R z%DqNLf17Ke^aoX39g8`5SJoJhnP5Os z&Xd$G2U|Z&pZ& zai~3OFDi7KZY-}@P6u7-kIR*L^c1?Q4q44DLh*2cbBZC{ww$DPlzeIQ@wynba zq*e|6v}W8)Q2pL&ybF=kSz&X&T{q8~=XJqQj|CsIe1!Obt+4+4g|y zskOtZt2!>k)1)zKKNP95;hlOS4ajX{h1Mr{ScoXC zu#g-4PKu|&t!KX)T zeZVqf3JiEP%-@NnY+28ea%`n6RCohxY1r8?t-hc5J6Bw+_Kjk zh=ka{f;m7~QZIBSd>38N_EzDRGDlM;S@L`NXsW!Luq?%`_JuWv(10=o<&{9;a3az( z;cNP+BB>;*iQ?QGAR(aOoyWGJ8n7e*CJEsO8q3@+{RYYni~W( z?p0-#Q@h-Fa`}06kY7bv-1DNSTs6W+lP%-jUZ&cU8ge8efH|#JM^~4ZXJ==_I0%H9 zyBG^hVm3I^;jZh-DGMfdY>lL7uAj4F+J~7>*6nH>YPN6w*0M9RQ1sqpU($W_h^Ol(vGbzK%n6Tj)2Z z^pJ_zEV`373U>C}TXL_0tppZ@*1~4}nSIKMo*c|bZag1MQgEexs;$7?A&p9DI-4V7 z@~N4VYzx&gvyKw^O2irEYPlNi#3VUUl_dl*8)($3FQ%o4X6;o1>ny67aMukAdumJ_ zc1bHE>_?STlU85XimA4zR8MApo+xxWQIeCfi_B9oY&s8FZaL2YD$~&Yp)2Ep?t+}z z67nK@B13En;4)g0y!v5optCPV#O5@lyf6U-2$QOot`aIKfqAJpm+4Y2d*a!Q9f2eg zLI^c-R<963aR&lX48fMON*VbGfDkC}###EowiIU$6r>D>s2t7g=5n)hC0zX|$}YC% zqq(TQ6h&l_(mRp_`?UYfA9(6?f$a#9D3aEz{?GlB^B@1z)q1^*gv6qu4GB7U7K=BE zvcQuN!gjlhv0ty28~_O-()azMU+i`}SayYZR(>xLQ6Fh8SX9R=Fjh@uj{w^dQcQrw zd77>`yDxChG?1+NtGeXD&%%7=?;&$*`s&Sq_{KU*-6BZm-oSy+r0<&#K^mNz2!F#b zKbXmNYcpv6ioL1sLF?5xUbJ7|=rV_|vaZG{|FDztds`WW#XfSyo0+hkI=2i(1vhbL>v)PpDt~!FeLLsLLGn%S}6ra3i)QAZ~<1C}r9I&4)A$bmhlG-wxjd)vyRwX8{H zbWt)LJXdD(w$`13iJ)ZC45oZ6u3GV?lsf;eD=rRH=-izq<=53T>6dJuNLau`KmwO^ z4l+`jTH5zDFq~1Po|Fpm&zT=+fk@|4c$_e=#RYv_dSm&f(_^zl8LiW+l0`kU!J2T3 z>ijW8_n2EOmUnL7IzBnYYj>q#vQ1grKHL-TXb+3DqG3e7!By!fc}WL4_lqo$p3rBm z3LGL3bGbWQzCxA*%22_OT6uQ09b$`2{u)vmwAJ_CfTmv|*VOULS4EKW-8nW2YG$>} z$~0~bP)rj<^H%0n=b~rUzh-ioQFm`JP0*Lcm69@rhD3y$_~X7^Q#UZ3q4_zHLGAsg_}%!;-v$?YQs&stP>T$ zvbUzk-clfo{#58t3qoQYDjv0Mz}UNiwhx$9k+*3;8H7<4HUDC}LS}*tWt!JhX0FyuOB)Y{ipA0N8`WEHe|#eyWv4&XZ|kn-M{3Z=9*eY5oq0V%gls5S#WRHZ>QLal0r%89&6fiRg{i0ti7Jb(*7JVQPg}(2O zj@EtG#SoM>9cieUu%r|!-_t}KuQ9lT^^Y92j*%Q=9TmgV> zvxz*4oq-MD5VGh zNp;qXVB{sJguHVWhmidmCNP6ZUJc=OrY?#z`aapqUpZ^gOP*UAR`s5$0$XF8PePUT z6Z`|zwe(pHtnnFpN~Dol9hW-rsOX~eMeJ*;P@w;YDyeFztmhpfaGvO@i8NIx8&6Gu zdZ0(4mbikguBs4_-`-c5uMIMIFw$+dxIujXxu(gs_OO{$sAaisc7JPHvhz*-6jC*M zZW>`iQHAhobm9BP%v}CH-AX(gEK4ajFQa+ip#ju?~I38 zmkQCO(-t**3^g6t$=4zC^2BQ@M*!f$n)(xIc0J~uYK*Fb6T9zm#%|R}aS?w%x#?_t z>xGzZBO4}*_mo+dN^whG!RpEu)gh^DC!oakLkQzAis16%{Qmt11nRnu6NeZCIvAxY z?LeN$HS_BFW~Me4X!6vFl5WT(+MRW7%wn4}2DC{KwNj^L<+K!O8BC-un#1necTRgs zeUnQCQ8Ph(!dh;F5=^edDZ-O9y>IF!E$1++-f*qP9cu*8(l33i&~vCQE^iNT=gys5 zw{Cv+rCzrb)Gmb%*=hrw3Q&8eumn29oBaHS*K}Hr%q~^Rt*pkgFm`!^;JG)S3!PRq zf9nu^-Y(R?f;Rb9N3G?7+&jdD%shZIbKxSpwb(3CCN$Z$HG5$FO1u07kU%)w@_fD) z3+v3Vi9mili*AfD##oo=LmxshN~-8j?A)3JV%_RsMZ8xf1i_fbaU7+dOcV&crJx#ntDGUxW9e|Mw+XQlb8qCBSCj zOTrLBBypiyW@B3HY`x_g(x_3oknMdBDv+h=4?N4ZZHGxh&uMlV)$6>$k)@x7%C4uyPA7eKT zBgp(5$(`L8Jy+HN0acA?Trv&Fp?V$q_Qdo#3!eq8@h(f*7P)F!X9b($X5l=5-|bsa zo*C_MgNp-~0OXglqPi*G@u=ZB{hW2&a#1}~J&!HKW;uv9G@CdZwN~$>cuFk9sIBr6 z(oE`lDA6(}JZ(5=6qaV00H_-{;aJ1$!~8vLC~KSBWM(CKszHsxogkl8?ffV-voh5{ zi2I5radcL4%M?fw3bb6WmW#!r@4LRMY$V$4({8wciRiS5*<_UqE;ndT_33IAn>lQD zjm-;ZOXjcIFLy$oupspPGM5-afUt1NruS;I-R_4-q3dHx+)N2OR?g=d1=WFgg09c6 z0+THx8tH^^4z*;Tz?`8nj$uT?UFO#ai2+IINVkC#0PF`&w%4Bao=}M*HBw*Ujf!{U zmALo?#F8B<7lzb&vu(B9YZB0iZNSS2kAa0~#-3B+mR*Gd?ywIBG;Mc~(pE>fttRNR zReGjVI@8gpJ@2%rJYQX(W@ScWl4cFEcdJx;nDecf(Oo`HTRo|x5?Z^#+MEBIOnOWK zXl60y89E*>=7mW040S8t1{@9h>!A4!^ulVICeQJBWtjNc?0iQl%k|IfWm$YzTTKAKb+r%7f=+06Axc%w zw&Ut(yhTW9oeTG-hk+0Xz|C7XuU$J8Ni5t^)LE^m75B%IXc^*2S9aB=A6~`U(lqZQ zb0KEdk-UkqFYeu}6x6(`Hen9=U({uRT{mdZ(YOiWEFrSm+AkWKy!m#qi<-zmUwm2r zN?)RLILs1}*;t3sZU(4}-D0%}6ukgcvov!U(B3e~gZE*8iQt>H&9`C<1lkXKUj;Kl z2&?5XcD>}4X~8TPzkt zAy5!VO5-q&!V*9^T1^xv=+)*C`+X?o>pS{@qRzxi!PZ@aPn=l6Es_wxBUcZ(QU_+m3$7yh^2cJgaKaQz29 z{^)yu>GAUTBymB`?AS4ocH3{hwfdcJKY9Ntoze*Amp1%^XW{!kzI*2l`k(yPxBtj5 zJpSHac>QF(NHxYSL;;*`b^QEMJdPB43@Ie$tJHmd8(x02mEG{vQM?jP5)eq3#qvEo zROHUKtxSZ8!YGnh-uLXH7Zyeu#^aTI^!5Ee`TRa_!E1&$02HD?kRXIWfjNl?<&kv> zLLx7HQtJ!=!!WE@s}RcK;Si|rx-^dJ2+S;qWOrvKYUJh2++v!UJuP)&5f2zgooknt zim8+3z)@T|<*Pb}&UbR4r>R=CHJa@Lci(C!xYr3aW3ER2d@Pb00FVjjJz=F!!%@50 zX0?a`mN>49@?0BfsTgpi`=p6UEt7VZUe@7I?epm?E`nEQ`UGw80AM08*EpbAXeC3mno*_7{> zL2udT0D*`IT@1_R^5|%FdUCYg?(UyG+V6+1>sq7rMDv5Zf^+)meKD!j_74p1yu2AGi zsZ$U2c14nA8nrfp96HGafmKA*Rh^36jQ2GC*T*Wz7ikqLQWf!+T5g_Dl%VTBfd+YN z#8`uMwbQ(7ZewWI<76=~NBATOKff&mUu}8L3*nr>uDNyEsWQJJv(`6dx|xLhlJ5VD zpt6$D%zBO__t7*5@Qp9?F#H{Ov2jyePyngeU|j;0(E~C(F~e;hQ^?~eLYO=!UJS}g z0BN+?{1B84piOe9@fO;Rbws0huGv8&e$2dFECD(@d-&kNgBpx5DQ#P3`6!KVlK<$# zEs``N-YUqIc{SE%`QJ2&NM^4zA9-DtmNoE06LVR{#uaBu59nfFseL3sn>7zttD~xM zzm!X}8H|=+8kaMzsNAw<6>fz3PRnx3rEnlpKFvJ}n)cSzS;)>w2yqzp*REYVK00Pj zz8n`0)adhU#?9ib<^`87tN8;54U@jDeS+ze)C!i~sWTFdT)A&%D;)PGM7Jb-!AtV_ zQVcz$yOQB82b3)5jk>#M!6NTk+!Q~V# zGUoJsAA^P|Jm(!0o858q-A#v0Y84=aNR&h>qY5HSCr&2p%II!JyByG9!!8kJpz=yI zG}{hzIGYvpX7v19Q*Avp3@VZ}11k^rc_>?2GTX_IH2w z;RrCK?8PY(0tHDoUvdIy!l3l<<&>sO0oKKV*;)GX2$Z6xz(O9pQfNlUf3wAmfCIYNLB-Lgjwm%_s}>{ zodob)^NcXjXf8K!HN#P$h#ar;v*I3`Q8aOBd{N$M5MSn$p4wC7AJE;v%v}H|Mqj5- zy7V5S_l~4IXEcdVCIFzblFlhFFiH)n%9yNGiP=r0PfV&Zu4T>vN%3}~wH@sYv{0bM zV!2u_LkubLFpL5ag%Dx{Nwhwu+91b>iMx1UmP;nz8(o<6C#D^)R;;<@#uO+rPXrNR zLE>?{mDtgG+26c=a&okM_3qi_cGvg4Sl+J-1~uHxN>xrbw~4~W!x8;wiXb+ssg0X= z%ZvkBr9eoe58dAxhu;|Emn7bd%soX^yi9E-EysnI<>g!nEowS$&@NJiseRXM;l}l?r_a5*j3{)}K}DqAWEh3_?|%9*l8 zG^cVp!6p4y-Kr46FbwO}`u6SHBE*8I^*Lu$sZ`FpjlI-3`OP>>Q$=RfOs_2Jaxit( zO=*i&)@rE7F-$Dxq}49C>wh^A(mY6}bpZ%v=X8dY(G(mKx)}&)&)UjH&9j>jF-5mJ z4XoBW?`fBhlKzzxnxl!VtB1k*0CPZ$zkd?s<-Z`;TLckA3OOq0?QaRVNC0g0y-0D= zGN^{SuBkd4PI_B2G)=h@VjxC}DGoB`sEZ`zO|r^fz>;@N5zC@<$Y=hu9~lwc_n8qA z*jhHRN2wN8g1%zGqR9lCvjo((%|1&t1+6-G4H1zTA}ENk8fy&8kD==qL|=O&eAk!W{KhXm{`@8W%s;)_bj#JEOT(C{6JP|5d;WFTH~;Ie zUR-tE|Ndt$f8?$Vf^LC#bn>r1fBL~MJ^9MF^ndIp?!UeZ>!Xy!^K=yT$R*n0Ia| zGi#Dk`i5)x-+a~Wr*90eT|c|Y_(Ka9(h?sxo~Uou=={)zwFN522_X}Rq8!w?9d z9Iy;ajBmTvopiWLGB8FEk9@pZZievwr&qu2%ir?MO8&Ed@Nh?qKp?+-^!YJ_71>RJG5cEi5ut;luTS#o(OR>)TPWv%J{V_dS+*fT-~beRPrl?SFMF zag4D0vyLFtQ5@BPYrUSR`u4i>U1&nQ{_B04N}Xq-C{C9}F`AiNX0`J}lksu|s%h72 z+5-$Dr)I-vQaEIE-C!ek0TB}On3z+_4=DiGV*E)gt|r}w--SLsu}w$XScz!0S}zt$ z5gx};kh6+yeT=w6nJe(>w^CG-A6ebX$sIR$UHMa59wuCEu3D7WfI6et*lYkq5h8ee zvAx>v?_58A`}5Cz=9RmTE;oG_#ao@~#x%w)=gc{tnI@woqSf=hz42_DR!Szl>~kZ( zg?j~}WZBWD2m0?ZJlltB`|e^$h{B|&hzIWw6Qso=R>{&et-&jDj>D7$O49BSos)os zf;XhYNI{u>$sR>wToXL%=?4%#fp8oWCuM*W#eksU=`vrC*)-F3>(A;9_=RDI5XbIM zFgVv2N@q}`@*WWsPRUg|Sx{Md>s7AFhnwat*SY{F?u|iFVAUA?G=HP06sFe0r_S8nJ(ulUONDGP z|J|6?XZZur(VUWAo9Y|iUYvp5YRcz)-Z%9Qnm*(cpqmkLb1^{wu-Rif3QTak- zDb2Ph(c1#%6k^=(_jm8z-R-ugt80WoMOfU9_pWrC*R2%T!p&wRsK#e9)iz^bQ-1Aa zQxQxaY2Go2_a%tisAgXEafF%z?$^ zOSVdu%-zgjv~6u^X)(wkuKXB6NGWw)9ER|w=bl|GR{LS!_Z`*c7|qp$GG&qw$}!3G2p~?*$oGS>u^q@cdz%dl<)cMe5WPl= zkz9EqNX#+D#bS|C+FV|7lF)@fba`<>A>3Nr?7M!oWFEJPg<{B7B!IT#_(C^)*9T5t z4~swiBd=X?c<$!WX5`n;hV@hZhraU0{gMCVKX~|)XZ>^6C=FvKGandsmFUH||Gn=G z*%cvH9!;Ng5yT*Al+@lx{qfuQ-h#e9Lm|adOOWzP;j2D%Pd=Y)FJtN#FI3(`TOP z9-W=>X4g?4MB*@vi^b|2zBWC7{k6aG6Q6&ah`{5XO17g=2r}}`qj0*QeH!=DKinlI z*^m6nIbWyocmBSwzkK}Y&;8wxe(a39zGoR5f8v0O6|c+kM3UgfDxNH&q?DKap6~e6 zk2pd4?87obKuY6sxqR1q-W`cP@yj1ytXJ=P*E@glpMM01Z+iYso6GZ8KKI%S?|54p z_n-XOCqyJhVxo*lOvKE@3`h`(Bto*Gz{F)iiOh7rjcwIUps0~bHTWJR3_e@Y^<(d< z16qrSIl>NgCaG{}OSW%y?o_p~wcVa{GyR4KR%ETq5BsMXb8vjo4+hobe{zq^os4?d ze00}fu6v$_?<`!tqgmxH}_S8a}-nF1ZD?Ij_S5SR5%%lox zmu5)}0My;C>LJ!@D~Eu-?^y8ay+?O$p1%F9&wcDupWEz)5M8v&q|eo$UbUc1gg{3E z9yuo3NB+$$t=z^21XR<<^hio7tj?)2;aMxr$hQZJzd|?V+MD~u9OZ&RX4Q7 z;^k8WnyXeJfr=WboaVt>`Mt2OShy@w_2oohAtbua2_5~_5PyI}7o`l(Ef6Br?KdX5 zX+df@T-nm}xF6y>iJl|!BnPK{aucJ5iS+;G?%#v9OOE?6th?u&^IYERciH`R7rOu! zH-ZE}fFLLWyhx-dN+rp*WW`bxS+OI;k*k`*(To?{ht8rt`;4_w>wp-Vd-Vf6zH3_IuuQ=FIf; zbpN`ir)N$+-Xp4pph~7xtb?*6{Vk&`>TEe$DP$^Ckb&|?LPvF)in&Tg68T-(TKSI* zvs8_sVX}%>qLQd@m;6(8sr61lmF=@^71V`iLqut!(wl|!CvCE{8l^?ZM>UH-p`(k1 zykx4gut^}<&@sxHi{g$cTc;pTvvw<#FFBT>22nmlEUIImPZ(kcR2eHHXEG1Kc;_)T z1n`*esO`9RPHu0qhMHwucQVt9JMN__S?W-U$Vaq6{_?Y;v#GzJO%%^8j3^uOr!zUv z9tCKn$BYt<22h)n$|B-04Abd!xmY}WbP|9Ghyx1_D zQiF2cMz-pe8{3{LeByvufMi1ph`_P5blP5C zUcqc0#mTfL5VLFf-i{(9wTvlc6(H}rV#Rr=MSgS(k0MnX!!ozdDw<%4Sqn0pua>S1 zr@rGwgjvUA!7Y*;I6!nyjEpErRe0T62DOMRn;0`Xi(p4Ym+c2CQh6iT{~tu>(5_GH z3c3SWo0$Fy0hohxY(XZjI`sVz0z2m%A*zkYD#ySO!*&GZRl#jRtq1P?eAYD$ zqYq}GLpmtytR^-YSEBNWu&QdERJikZ1vI-ZJK87)BD=qp6{|0W6+ncLWUgsi=iFwq z;q=LM9ESer@bJSw_yd<$*Drkih53BmPJF-Gx(pex-ue$c-8{WN`Dz zbp!AhzJKp8{nXu0y}tU}pSrxD*>n5DcDn|k^qE~?&#>|Q!6)%UcijK^tKkc$aPMf| z4;=dbU;e=Cum1GyPk(#$|M^V+r4=9VPlI1+`T_t3=HSEgN9{+R={)t#{%pP2F1PEU z!ykE1`;no2=56=vVQ=dczbvI{`G|?ihI2g7@!Au+kW$7Pqy3MH}87B8617< zn{K(LDNKL-h@kmvM-g=`cZq5xj5~A2t?5RHQ|;us z>e(P;2N!PA7_rE;bE_z3oE!aAOBdxau%7*P6Am`~9Z4UWmW%0;bU*#YghZ3+gY#=5eD`xtf9+eZ z`ZBOCzM`dFWlVe+1|7v>uQJz8f&k=IMqpI8iodV0x)4F;s*`> z*Uao$3ERXs}@h^b^(8U>0{8L$w1FW2>1 zwGYM$Wy#OdmO4|W5teo4LRv+o(YD)J^U6UtFvccL%`AG^(&?ATxCom}dl&$1Y84c( zShzPtSxk_r*APDhhKjr<-fCXZS$X1vgfdev)u?G$KN*P~k+bh~MQ)%%Wx1&L7~su< zSuzCbK{7YkEJ_tLpoD9yh4-S40uLZ>2p1^X)%mgQs573l5CS5G5W2~9aeZ}qa?-DR zIEKIh%Fmisoyw%z)F$0H(xM@fhl{JR$0^(Q#_|hW@-?_2;%od zKVvuR5ack}$AZ-F>8obEt^y`~%+Hf^C4AKF1|TRAMROSXc?*cR+WKLL5w*xa*>fDv zV~go*3=A9~uxAdO;U=Gtkm`5j+O9<;jLsfHBaz-jObiMVArWzivXYjvbXf`Vie@Ra z=6^<0tcga5dvgI|I51(H_@hE-a=Ecg$&Vdj`DQ7gM&KkImwy&ccv>$eGCA6@tC0Si zz8ET@KLm)WMPWXl`oZ_xo`XjsL?qW}4l+_&Phy4u>?j_XkQX)+8v-LhK=dA0tL-0r z*4>*m|L|Lzt8KgI7&#tvm)1qR_i0HcQpa%>k7Rf_PEUzknx-iT8ka&Ml_{|?T5FqT zZZCm!yOgLSW_}1f>av-x5wuU_!cZ1R1#>5#kcd*<+e_Txvt{_^Et{`u>t zkJ=C1U47}%W`LQ)Uh-+c1CkHV?C}EdGxy=y+j}3qN3XuInzxfb|FK)2`sUUD=I1x> zd2agSZ@YT=tJ{Zu(oqO8qXn4*Bg2zZ*Ai|#(A%GzJomlZ%M1MK7w@g_-}>O)qkr~~ zhtsS6*MAu=hkfjyaB${bi}I-jgb?`71os^-*Ff+4!Q+qq$)we(%;)ugh4B>f3-3*Ri&pvEbCc)OGY z%K}mQ{h~Vgq>LClmt;NRJ#c|496y-l->hdKSJddGw2jstIv-B0Er{uG9&ouWOD!X z`khbTdHd5(zWC}}?WAS-f@#(%V9TW3XSO$z{3@xHZ?7FFwHCDFJFFj7F;w)7IF$_#lymmkIAxg>&iq9VfDlg;L1v5xzkn>a zAOR6D@>RgskiXS5zlhDRgl5~|9{3>VrWD<_c%^sCBIC+t#k)6uyjO=2RP-|uqGk;0XIU>CBwwrIQ7yVg<~S>u#Y48VM7Oh) z!*T#nAV$;PtXM=v%v36*Xt)Rj5*SL3OB*qsnyO|or`1(J9+-TPWG|)Hb*fv*E_*0U zvNjAzfN5=o0YEl>+sQEIB->n@83PrY5wNo`Ob`qJ);+|J1A%;{Dml(E{DzpmlLKm+ zQN}f{9tNFa$LR?IAW;muvPtTH{53X-<=ApvRAas-^o+UJrfg=u%8)HmI{5l_79eR% zQosOY4kVng3S9SBS2Z(*(gGJh?BbbXIWrRxGkfnZF3!)-&z^khNpi&Oqvu*AqeTjm z$=jLxfm+OTxcJ-3YJN5vLd@SR#_Q|VG%aVX(JCH za}H857LuemLdksq$mx>#xJ;c(S0#7#f5)8^o{-q*$fCx&jJ#m6z7)$6(q^-nOeRl0 zdH4AE_Q|8OyvJD(700kt*rx3ACgL8)xw4jW1dRk_Ot%Ow_gLPoB`TN95n(hg{(qkf zhxlE07c_puN%S#(2tGAwOt7eFiXdT*K7*tIF>`P(rD*^l0U{A$gV;LIXaH;2S>ua} z;Rbg92YNB@FnRh=%1Gq7!dr6EUz}Z>6UvTFg1{75v$GTC5D`&y#E?U94Rw==i{Bni z#|%oy)tb_f#3pS$0_J>J9K@RA{}`D$^xLiX!I|k=QH-E%y0&fg0n2i#Ku!+KMGgjL z4na973}6QE!{7(cF>)+hJD{>GW`GcpIehSgA9()xcU)Xvy!rZDtL4fyt{(izhYPr5fOa|SC?0V4;dS>$67dOiDi$`E0nD#A}!*@=G&%l_4$!J zqfrZBHWVTuB9Zr@ZQBoj|A!9u4?EZ1z4OE`{=;8<@r4(keEOdE!!UT@z#=>W!83cn zX+tJc5V#`FLQz&ip@?)1_h?!jOF z@#C34JikWZ@PGKF>ob}>Iooubvx(auHiY11bX-6TfqNf#>xbl#NqT0{*U{+ zN6im^Z1u^1eEr22nr?5k4r_3phrl83x4sZR-|MP$GGk^ad-@f;b zCvV;Qn}7EopRYFWIczrDrRNqPka%PgpSB{LeJ0%%L_`?BI>yK$e&`RHIBFpb4_?jdo{9Inb)?E z$wNTMb3pNNa~;)N_6c*u*0Afu87X3XcO3Bpb2glag*x`tSI10$7%}c+lm+T+&y!c3 zj=hU8?Gatm_%M_UuGu^pW+pesfNF{Yh>99{W+uX}>k#uflGcb9olP(1$s8AqL_kK3 zz-5*hMzNA)r|cS}0F@X>lZry{73g#55EwKeMkf@)bt4ioC1yYA+BZ)w-u1S7`=@8i zP49>@P3E#gZnZuQUYhq9)!n%eY$x(qJ}6X76-TLM27rKp10wo)_m6x3$)W$ghThk~ z^USw6?0Yx_o&z@nPY7Cu8A8V#SDhL_0!CnBLS!aJK=i;A5D-%^A$>nRQ2bsdY!Nmd zHo)5`4h>x(yvcM|hcUDepA!NgqXrvTN8CyY zmIIAh7)^$vyrC>FCej%?t*#~z%&J&{Y4RacVR14n*h#r!9TbwIsEL#k{6e%44wgWb zfDDI)yyagt#MUI|9!H*VVuc8MS#ObaCY(yP!4i{AjuF#pcW2JaDRmu7e%mOz>Z6Pn zXOxZ+DK7XF+sNUyH^fA!+hKSly>kOwmWnfIxy3`c!~=w>AnIkO{p4?x#f*N;w5-UrY&ZQl<~<5bP< zl@fd;V5inhLt|>(5OPj$#eBh+I`0q5xVepjp;(oIySj&0#7m$=x>x8pb9%-$#)`I+ z$yqH-v~27`fU@~opUpimbW|u-NMY=)ppkimvbELT)rqoc42%&?7R3Y%#kVf(XX5Ft zTepsnj{(?w@0`=e=BhW|8lvOqCnoC(Y~F;w^U5|sXDX!yK`!}an~XoKhO+fJjGUV$ z#uR*~SUw^Ax%c982MuHE+4sN@LJ0D`^{8hl2M1#s2r~zOxQGDpR4m{SfaR-EApnru zcsSeg`N{)P@1YO8T!*#it8G~K+5M58Pu zD{YWWYzQK82>syyzz==sW8d?RhnI_H@6P3x*mcgiJiUQr0f9k7QSnE#WFZAiL6@yV z2wm4cIz9RH?|k;^@@mpe7#Nw$a3Z6*039JS&}2G2JUkRrK`C820P8_*2@qm?!KAPy zEmKfU30BB}u()1cUoV^^2}^+*+~{J@X7lM};s-s(SWkROOZzB|=@nw!0irz1;Z}sh zFkD?;iNnUShL-y-wu&J}cLsm=iMt>B!53dIYH$60T_V9E&^xJLkTwM4! z29EI6Z@+T#=po9?f+0xIFd*S(Ieh#n`l~;D^z4i-&zAqj#}7`z>TkUg0+EBj0EE~F zfA6V#Pu{s32Q^0jQW%v;>|#K2ufF#Bqmz?tF-4RtvLXPcbLDP!CMw*HgKX{gxO`#S zY}3gSr@xY2=h=Mr*6VM4`HNrq_{V==VE*M_{wH7m#*4?dj{Cs_lJ}m24^n9$4ge<` z?mBq)o%SERdi~q4Z$A2=gO^^v{`daD>#uLzt+`vTSDV>n6C6-5MgbaRk9dEJZRego z44-;q^_wrP|Kd+SwOOwI>VNt2%Nu#I-x z+-&dg_(y(XdUrbe(C_bG{KoQkerwt|hYqIAiQiB>8bvG#0-vmhvjBSy_^*Bb;^+VG z$DjBk(?9UXSHJVim%sko)E#ZYu%hlkAdcVZcj9{ONhC4qVC4ya72ZPF z3)#X@^(Eyi7(3Rtb?RP-q%H{<+n7J4Ax)dMnN!kO07g&5`wjNg{*H(LcFPX9W8Oo! z1$+QJ#V})-0~`U)5fIT6JA?+H0ibBai3!s38vtWSA4MAgJy3wqFap2|_?qB~VGS4n znD7Dew*y@<_6(k&1(-QLM8FV23@+Qg%MfVS#f>ve&4tSm2MJVz?D^LrRM#o#O*Q#o z$lvkWrNmjdO*Mtz5*v}gap5c1yETfSumV7SXw-tG7$cS>o9TTjSW;~ggBjhK62*N4fho?p5F7&`AObNUpd%OLh{*{8bAv>K zga3XPf(bKc7om0nKx2~t<$}3YU@k|@2G+;d4RH&#-6{d4$uwIQv)7;2){^R2m_D$Id$s{dWGyFADu^@K z6u?h*1+^esG9as7w#(_96i6mdJYTUMqZm>ulR{1?t$@ZyLy6NiB&c_F#ulMY((okd ziDk?RaWnFi;Yi6d)?3__7&?q0MD0@n+j6H68i)`Q964sbef!Sd!5*`>3oP=kvP;O5 zEaog-ikMLx(@MJ-ta_2yN`lf=xd+zPTj>?&K#Nu6<}e=^muI}(3pd;>sbko0_*O^k zfPq3h7YM*}L`87%1Ulh<6jUED05d~i^nnAjXAU7QP%;1pbn71WHvaD1?MFL$_!TD+htp~?G_@Ev}mVJ(au=r_$z#*__pH7|wglOXe1Mo0-@7qZ?nN23= z{yfICKsG33au6hV7B2$F&NU8c2tKMOr&bwa;|Uvr1m-~U{~}}nCTooH6A;)riu-Ac zY(2=(Ar6KQ94MukgGL%d3PA=Fm`nEzlMKp;#Y1&E(kp(~$Q*W5Lajk1y2#o2FuQ)7;HU!-I;n~}>yU)z{VmWO1)-(Ih z+y#7P2~1)$5D_QcgdF*P06^Ip9@}F`9rlx^?Yeesia@-Tktn9P0GHUbV;+;4w+l~L z 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∋1qe)4)pDw*J;@(=XI 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

  • ) @@ -996,6 +1021,21 @@ export function WorkspacePage() {
    + {/* Upload Progress */} + {Object.keys(uploadProgress).length > 0 && ( +
    + {Object.entries(uploadProgress).map(([name, pct]) => ( +
    + {name} +
    +
    +
    + {pct}% +
    + ))} +
    + )} + {/* Batch Actions Bar */} {selectedFiles.size > 1 && (
    From afd2c4127271a6ebf76e5c8ad9982f064bbca233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=AF=E3=82=8B?= <165422770+ahmad-ajmal@users.noreply.github.com> Date: Wed, 17 Jun 2026 10:19:19 +0100 Subject: [PATCH 17/24] Feature/prompt profile and optimization (#333) * Prompt Profiler * fix(profiler): capture cache tokens for all LLM providers * Select action in task prompt optimization * Improve chance for agent to read the AGENT.md --------- Co-authored-by: CraftBot --- agent_core/core/hooks/__init__.py | 6 + agent_core/core/hooks/types.py | 48 ++++ agent_core/core/impl/action/router.py | 21 +- agent_core/core/impl/context/engine.py | 47 +++- .../core/impl/event_stream/event_stream.py | 4 +- agent_core/core/impl/llm/interface.py | 105 ++++++- agent_core/core/prompts/__init__.py | 2 + agent_core/core/prompts/action.py | 97 +------ agent_core/core/prompts/context.py | 10 +- .../integrations/whatsapp/whatsapp_actions.py | 2 +- app/gui/gui_module.py | 1 + app/internal_action_interface.py | 5 +- app/llm/interface.py | 36 ++- app/triggers/router.py | 1 + app/ui_layer/metrics/collector.py | 37 +-- app/usage/__init__.py | 10 + app/usage/llm_call_storage.py | 202 ++++++++++++++ app/usage/pricing.py | 101 +++++++ scripts/prompt_profile.py | 264 ++++++++++++++++++ tests/test_llm_call_capture.py | 108 +++++++ tests/test_prompt_profile.py | 107 +++++++ 21 files changed, 1069 insertions(+), 145 deletions(-) create mode 100644 app/usage/llm_call_storage.py create mode 100644 app/usage/pricing.py create mode 100644 scripts/prompt_profile.py create mode 100644 tests/test_llm_call_capture.py create mode 100644 tests/test_prompt_profile.py diff --git a/agent_core/core/hooks/__init__.py b/agent_core/core/hooks/__init__.py index 42719439..6e957402 100644 --- a/agent_core/core/hooks/__init__.py +++ b/agent_core/core/hooks/__init__.py @@ -46,6 +46,9 @@ async def my_task_created_hook(task: Task) -> None: ReportUsageHook, # Database logging hooks LogToDbHook, + # LLM call capture hooks (prompt profiler / eval) + LLMCallRecord, + RecordLLMCallHook, ) __all__ = [ @@ -75,4 +78,7 @@ async def my_task_created_hook(task: Task) -> None: "ReportUsageHook", # Database logging hooks "LogToDbHook", + # LLM call capture hooks (prompt profiler / eval) + "LLMCallRecord", + "RecordLLMCallHook", ] diff --git a/agent_core/core/hooks/types.py b/agent_core/core/hooks/types.py index ea70005f..8f249a36 100644 --- a/agent_core/core/hooks/types.py +++ b/agent_core/core/hooks/types.py @@ -17,6 +17,7 @@ local-only mode (suitable for CraftBot). """ +from dataclasses import dataclass, field from typing import Any, Awaitable, Callable, Dict, Optional, Set, TYPE_CHECKING if TYPE_CHECKING: @@ -296,3 +297,50 @@ def __init__( Used by both CraftBot and CraftBot when db_interface is provided. The runtime wrapper creates this hook from the db_interface. """ + + +# ============================================================================= +# LLM Call Capture Hook (prompt profiler / eval — issue #322) +# ============================================================================= + + +@dataclass +class LLMCallRecord: + """A full record of one LLM call, captured for the prompt profiler and + eval-case harvesting (see docs/design/prompt-optimization.md). + + Unlike UsageEventData (token accounting only), this carries the full + prompt/response text plus the prompt identity + latency so a single + `llm_calls` row can back the profiler, harvesting, and outcome linkage. + """ + + provider: str + model: str + system_prompt: Optional[str] + user_prompt: str + response: str + status: str # "success" or "failed" + input_tokens: int = 0 + output_tokens: int = 0 + cached_tokens: int = 0 # tokens served FROM cache (read) + cache_creation_tokens: int = 0 # tokens WRITTEN to cache (provider-dependent) + latency_ms: int = 0 + # Identity / linkage (resolved from the per-call context when available) + prompt_name: Optional[str] = None + prompt_version: Optional[str] = None + call_type: Optional[str] = None + task_id: Optional[str] = None + session_id: Optional[str] = None + metadata: Dict[str, Any] = field(default_factory=dict) + + +RecordLLMCallHook = Callable[[LLMCallRecord], None] +""" +Persists a full LLM call record (prompt + response + identity + latency). + +Args: + record: The LLMCallRecord describing the call that just completed. + +Used by CraftBot to write to the `llm_calls` store for profiling/harvesting. +Optional — if not provided, capture is disabled. +""" diff --git a/agent_core/core/impl/action/router.py b/agent_core/core/impl/action/router.py index 6961a217..65b2d51e 100644 --- a/agent_core/core/impl/action/router.py +++ b/agent_core/core/impl/action/router.py @@ -160,7 +160,9 @@ async def select_action( current_prompt = full_prompt for attempt in range(max_format_retries): - decision = await self._prompt_for_decision(current_prompt, is_task=False) + decision = await self._prompt_for_decision( + current_prompt, is_task=False, prompt_name="SELECT_ACTION" + ) # Parse parallel action decisions with format error detection actions, format_error = self._parse_parallel_action_decisions(decision) @@ -285,8 +287,8 @@ async def select_action_in_task( logger.debug(f"[ACTION] task-mode essentials lookup failed: {e}") integration_essentials = "" + decision_prompt_name = "SELECT_ACTION_IN_TASK" static_prompt = SELECT_ACTION_IN_TASK_PROMPT.format( - agent_state=self.context_engine.get_agent_state(session_id=session_id), task_state=task_state, memory_context=memory_context, event_stream="", # Empty for static prompt @@ -295,7 +297,6 @@ async def select_action_in_task( integration_essentials=integration_essentials, ) full_prompt = SELECT_ACTION_IN_TASK_PROMPT.format( - agent_state=self.context_engine.get_agent_state(session_id=session_id), task_state=task_state, memory_context=memory_context, event_stream=event_stream_content, @@ -314,6 +315,7 @@ async def select_action_in_task( static_prompt=static_prompt, call_type=LLMCallType.ACTION_SELECTION, session_id=session_id, + prompt_name=decision_prompt_name, ) # Parse parallel action decisions with format error detection @@ -433,6 +435,7 @@ async def select_action_in_simple_task( logger.debug(f"[ACTION] simple-task essentials lookup failed: {e}") integration_essentials = "" + decision_prompt_name = "SELECT_ACTION_IN_SIMPLE_TASK" static_prompt = SELECT_ACTION_IN_SIMPLE_TASK_PROMPT.format( agent_state=self.context_engine.get_agent_state(session_id=session_id), task_state=task_state, @@ -462,6 +465,7 @@ async def select_action_in_simple_task( static_prompt=static_prompt, call_type=LLMCallType.ACTION_SELECTION, session_id=session_id, + prompt_name=decision_prompt_name, ) # Parse parallel action decisions with format error detection @@ -554,6 +558,7 @@ async def select_action_in_GUI( event_stream_content = self.context_engine.get_event_stream( session_id=session_id ) + decision_prompt_name = "SELECT_ACTION_IN_GUI" static_prompt = SELECT_ACTION_IN_GUI_PROMPT.format( agent_state=self.context_engine.get_agent_state(session_id=session_id), task_state=task_state, @@ -579,6 +584,7 @@ async def select_action_in_GUI( static_prompt=static_prompt, call_type=LLMCallType.GUI_ACTION_SELECTION, session_id=session_id, + prompt_name=decision_prompt_name, ) # Check for GUI format errors @@ -629,6 +635,7 @@ async def _prompt_for_decision( static_prompt: Optional[str] = None, call_type: str = LLMCallType.ACTION_SELECTION, session_id: Optional[str] = None, + prompt_name: Optional[str] = None, ) -> Dict[str, Any]: """ Prompt the LLM for an action decision with session caching support. @@ -639,6 +646,8 @@ async def _prompt_for_decision( static_prompt: Optional static portion for caching. call_type: Type of LLM call for cache keying. session_id: Optional session ID for session-specific state lookup. + prompt_name: Identity of the named prompt, tagged onto the captured + LLM call for per-prompt profiling. """ max_retries = 3 last_error: Optional[Exception] = None @@ -710,6 +719,7 @@ async def _prompt_for_decision( call_type=call_type, user_prompt=delta_events, system_prompt_for_new_session=system_prompt, + prompt_name=prompt_name, ) # Mark events as synced after successful call self.context_engine.mark_event_stream_synced( @@ -739,6 +749,7 @@ async def _prompt_for_decision( call_type=call_type, user_prompt=current_prompt, system_prompt_for_new_session=system_prompt, + prompt_name=prompt_name, ) # Mark events as synced after successful session creation self.context_engine.mark_event_stream_synced( @@ -747,12 +758,12 @@ async def _prompt_for_decision( else: # No session registered (simple task) - use prefix cache / regular response raw_response = await self.llm_interface.generate_response_async( - system_prompt, current_prompt + system_prompt, current_prompt, prompt_name=prompt_name ) else: # Not in task context - use regular response raw_response = await self.llm_interface.generate_response_async( - system_prompt, current_prompt + system_prompt, current_prompt, prompt_name=prompt_name ) # Validate response before parsing diff --git a/agent_core/core/impl/context/engine.py b/agent_core/core/impl/context/engine.py index 46962c55..7c441fc3 100644 --- a/agent_core/core/impl/context/engine.py +++ b/agent_core/core/impl/context/engine.py @@ -17,6 +17,7 @@ from tzlocal import get_localzone from agent_core.core.prompts import ( + CURRENT_DATETIME_PROMPT, AGENT_ROLE_PROMPT, AGENT_INFO_PROMPT, ENVIRONMENTAL_CONTEXT_PROMPT, @@ -182,9 +183,15 @@ def create_system_policy(self) -> str: return POLICY_PROMPT def create_system_environmental_context(self) -> str: - """Create a system message block with environmental context.""" + """Create a system message block with environmental context. + + NOTE: the current date/time is deliberately NOT included here — it would + change every call and live in the cached system prefix, busting Gemini's + prefix-based implicit cache. It is injected into the dynamic event-stream + tail instead (see `current_datetime_block` / `get_event_stream`). Only + stable environment facts belong in this cached block. + """ import platform - from datetime import datetime try: from app.config import AGENT_WORKSPACE_ROOT @@ -192,10 +199,7 @@ def create_system_environmental_context(self) -> str: AGENT_WORKSPACE_ROOT = "." local_timezone = get_localzone() - now = datetime.now(local_timezone) - current_datetime = now.strftime("%Y-%m-%d %H:%M:%S") + f" ({local_timezone})" return ENVIRONMENTAL_CONTEXT_PROMPT.format( - current_datetime=current_datetime, user_location=local_timezone, working_directory=AGENT_WORKSPACE_ROOT, operating_system=platform.system(), @@ -206,6 +210,17 @@ def create_system_environmental_context(self) -> str: vm_os_platform="Linux a5e39e32118c 6.12.13 #1 SMP Thu Mar 13 11:34:50 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux", ) + def current_datetime_block(self) -> str: + """Render the current date/time as a dynamic block for the user/event + tail. Kept out of the cached system prefix on purpose (see + create_system_environmental_context).""" + from datetime import datetime + + local_timezone = get_localzone() + now = datetime.now(local_timezone) + current_datetime = now.strftime("%Y-%m-%d %H:%M:%S") + f" ({local_timezone})" + return CURRENT_DATETIME_PROMPT.format(current_datetime=current_datetime) + def create_system_file_system_context(self) -> str: """Create a system message block with agent file system context.""" try: @@ -282,6 +297,10 @@ def get_event_stream(self, session_id: Optional[str] = None) -> str: """ sections = [] + # Current date/time goes in this dynamic tail (NOT the cached system + # prefix) so the prompt prefix stays byte-stable for cache hits. + sections.append(self.current_datetime_block()) + # Get conversation history (recent messages from BEFORE this task) # This provides context without injecting into the actual event stream conversation_history = self._format_conversation_history() @@ -463,12 +482,19 @@ def get_task_state(self, session_id: Optional[str] = None) -> str: ) current_task = get_state().current_task + # Active Task ID lives in task_state (relocated from agent_state). + if session: + task_id = session.get_agent_properties().get("current_task_id", "") + else: + task_id = get_state().get_agent_properties().get("current_task_id", "") + if current_task: is_simple = getattr(current_task, "mode", "complex") == "simple" if is_simple: return ( "\n" + f"Active Task ID: {task_id}\n" f"Task: {current_task.name} [SIMPLE MODE]\n" f"Instruction: {current_task.instruction}\n" "Mode: Simple task - execute directly, no todos required\n" @@ -477,6 +503,7 @@ def get_task_state(self, session_id: Optional[str] = None) -> str: lines = [ "", + f"Active Task ID: {task_id}", f"Task: {current_task.name}", f"Instruction: {current_task.instruction}", "Mode: Complex task - use todos in event stream to track progress", @@ -546,7 +573,6 @@ def get_agent_state(self, session_id: Optional[str] = None) -> str: # Try session-specific state first session = get_session_or_none(session_id) if session: - agent_properties = session.get_agent_properties() gui_mode_status = "GUI mode" if session.gui_mode else "CLI mode" else: # CRITICAL: Log warning when falling back to global state @@ -555,16 +581,9 @@ def get_agent_state(self, session_id: Optional[str] = None) -> str: f"[CONTEXT_ENGINE] get_agent_state: Session not found for session_id={session_id!r}, " f"falling back to global STATE. This may cause context leakage!" ) - agent_properties = get_state().get_agent_properties() gui_mode_status = "GUI mode" if get_state().gui_mode else "CLI mode" - if agent_properties: - return ( - "\n" - f"- Active Task ID: {agent_properties.get('current_task_id')}\n" - f"- Current Mode: {gui_mode_status}\n" - "" - ) + # Active Task ID now lives in task_state (see get_task_state). return f"\n- Current Mode: {gui_mode_status}\n" def get_conversation_history(self) -> str: diff --git a/agent_core/core/impl/event_stream/event_stream.py b/agent_core/core/impl/event_stream/event_stream.py index a4ab99ad..c45502da 100644 --- a/agent_core/core/impl/event_stream/event_stream.py +++ b/agent_core/core/impl/event_stream/event_stream.py @@ -302,7 +302,9 @@ def summarize_by_LLM(self) -> None: logger.info( f"[EventStream] Running synchronous summarization ({self._total_tokens} tokens)" ) - llm_output = self.llm.generate_response(user_prompt=prompt) + llm_output = self.llm.generate_response( + user_prompt=prompt, prompt_name="EVENT_STREAM_SUMMARIZATION" + ) new_summary = (llm_output or "").strip() logger.debug( diff --git a/agent_core/core/impl/llm/interface.py b/agent_core/core/impl/llm/interface.py index ce3105aa..3fb90de1 100644 --- a/agent_core/core/impl/llm/interface.py +++ b/agent_core/core/impl/llm/interface.py @@ -14,8 +14,10 @@ from __future__ import annotations import asyncio +import contextvars import hashlib import re +import time import requests from typing import Any, Dict, List, Optional @@ -38,11 +40,22 @@ ReportUsageHook, LogToDbHook, UsageEventData, + LLMCallRecord, + RecordLLMCallHook, ) # Logging setup - use shared agent_core logger for consistency from agent_core.utils.logger import logger +# Per-call metadata (prompt identity + start time) propagated from the public +# entry methods down to the capture chokepoint (_call_log_to_db) without +# threading it through every provider method. asyncio.to_thread copies the +# context into the worker thread, so this survives the sync offload, and each +# asyncio Task / thread gets its own copy so concurrent calls don't clobber. +_llm_call_ctx: contextvars.ContextVar[dict] = contextvars.ContextVar( + "_llm_call_ctx", default={} +) + class _EmptyResponse(Exception): """Raised when a provider returns empty/error content and the failure has already been counted. @@ -120,6 +133,7 @@ def __init__( set_token_count: Optional[SetTokenCountHook] = None, report_usage: Optional[ReportUsageHook] = None, log_to_db: Optional[LogToDbHook] = None, + record_llm_call: Optional[RecordLLMCallHook] = None, ) -> None: self.temperature = temperature self.max_tokens = max_tokens @@ -137,6 +151,7 @@ def __init__( self._set_token_count = set_token_count or (lambda x: None) self._report_usage = report_usage self._log_to_db = log_to_db + self._record_llm_call = record_llm_call # Consecutive failure tracking to prevent infinite retry loops self._consecutive_failures = 0 @@ -373,8 +388,18 @@ def _call_log_to_db( status: str, token_count_input: int, token_count_output: int, + cached_tokens: int = 0, + cache_creation_tokens: int = 0, ) -> None: - """Call the log_to_db hook if set.""" + """Call the log_to_db hook if set, and capture the full call for the + prompt profiler / eval harvesting. + + This method is invoked from every provider path right after the + response is parsed, so it is the single chokepoint where the full + prompt, response, and token counts coexist. Prompt identity + latency + are read from the per-call context (`_llm_call_ctx`) set at the public + entry point. + """ if self._log_to_db: try: self._log_to_db( @@ -388,6 +413,56 @@ def _call_log_to_db( except Exception as e: logger.warning(f"[LLM] Failed to log to database: {e}") + if self._record_llm_call: + try: + ctx = _llm_call_ctx.get() or {} + start = ctx.get("start") + latency_ms = ( + int((time.perf_counter() - start) * 1000) if start else 0 + ) + self._record_llm_call( + LLMCallRecord( + provider=self.provider or "", + model=self.model or "", + system_prompt=system_prompt, + user_prompt=user_prompt, + response=output, + status=status, + input_tokens=token_count_input, + output_tokens=token_count_output, + cached_tokens=cached_tokens, + cache_creation_tokens=cache_creation_tokens, + latency_ms=latency_ms, + prompt_name=ctx.get("prompt_name"), + call_type=ctx.get("call_type"), + task_id=ctx.get("task_id"), + ) + ) + except Exception as e: + logger.warning(f"[LLM] Failed to capture LLM call: {e}") + + def _begin_call( + self, + prompt_name: Optional[str] = None, + call_type: Optional[str] = None, + task_id: Optional[str] = None, + ) -> None: + """Stamp per-call identity + start time into the context for capture. + + Called at the public entry points; read back at the capture chokepoint + (`_call_log_to_db`). The explicit `prompt_name` (passed by the call + site) is what lets the profiler tell apart prompts that share a + call_type (e.g. the three action-selection prompts). + """ + _llm_call_ctx.set( + { + "prompt_name": prompt_name, + "call_type": call_type, + "task_id": task_id, + "start": time.perf_counter(), + } + ) + # ─────────────────────────── Public helpers ──────────────────────────── def _generate_response_sync( self, @@ -521,8 +596,10 @@ def generate_response( system_prompt: Optional[str] = None, user_prompt: Optional[str] = None, log_response: bool = True, + prompt_name: Optional[str] = None, ) -> str: """Generate a single response from the configured provider.""" + self._begin_call(prompt_name=prompt_name) return self._generate_response_sync(system_prompt, user_prompt, log_response) @profile("llm_generate_response_async", OperationCategory.LLM) @@ -531,8 +608,12 @@ async def generate_response_async( system_prompt: Optional[str] = None, user_prompt: Optional[str] = None, log_response: bool = True, + prompt_name: Optional[str] = None, ) -> str: """Async wrapper that defers the blocking call to a worker thread.""" + # Stamp the context here, in the caller's context, so asyncio.to_thread + # copies it into the worker thread where the capture runs. + self._begin_call(prompt_name=prompt_name) return await asyncio.to_thread( self._generate_response_sync, system_prompt, @@ -1211,6 +1292,7 @@ def _process_session_response( "success", token_count_input, token_count_output, + cached_tokens=cached_tokens or 0, ) # Report usage @@ -1276,6 +1358,7 @@ def _process_prefix_response( "success", token_count_input, token_count_output, + cached_tokens=cached_tokens or 0, ) return {"tokens_used": total_tokens or 0, "content": content or ""} @@ -1287,6 +1370,7 @@ def generate_response_with_session( user_prompt: str, system_prompt_for_new_session: Optional[str] = None, log_response: bool = True, + prompt_name: Optional[str] = None, ) -> str: """Synchronous session-based response generation. @@ -1296,7 +1380,11 @@ def generate_response_with_session( user_prompt: The user prompt to send. system_prompt_for_new_session: System prompt to use if creating new session. log_response: Whether to log the response. + prompt_name: Identity of the named prompt, for capture/profiling. """ + self._begin_call( + prompt_name=prompt_name, call_type=call_type, task_id=task_id + ) return self._generate_response_with_session_sync( task_id, call_type, user_prompt, system_prompt_for_new_session, log_response ) @@ -1309,6 +1397,7 @@ async def generate_response_with_session_async( user_prompt: str, system_prompt_for_new_session: Optional[str] = None, log_response: bool = True, + prompt_name: Optional[str] = None, ) -> str: """Async wrapper for session-based response generation. @@ -1318,7 +1407,13 @@ async def generate_response_with_session_async( user_prompt: The user prompt to send. system_prompt_for_new_session: System prompt to use if creating new session. log_response: Whether to log the response. + prompt_name: Identity of the named prompt, for capture/profiling. """ + # Stamp here (caller's context) so asyncio.to_thread copies it into the + # worker thread where capture runs. + self._begin_call( + prompt_name=prompt_name, call_type=call_type, task_id=task_id + ) return await asyncio.to_thread( self._generate_response_with_session_sync, task_id, @@ -1344,6 +1439,7 @@ def _generate_byteplus_with_session( status = "failed" content: Optional[str] = None exc_obj: Optional[Exception] = None + cached_tokens = 0 session_key = f"{task_id}:{call_type}" try: @@ -1467,6 +1563,7 @@ def _generate_byteplus_with_session( status, token_count_input, token_count_output, + cached_tokens=cached_tokens or 0, ) # Report usage @@ -1665,6 +1762,7 @@ def _generate_openai( status, token_count_input, token_count_output, + cached_tokens=cached_tokens or 0, ) # Report usage. service_type stays "llm_openai" (the request shape) but @@ -1922,6 +2020,7 @@ def _generate_gemini( status, token_count_input, token_count_output, + cached_tokens=cached_tokens, ) # Report usage @@ -2080,6 +2179,7 @@ def _generate_byteplus_with_prefix_cache( status, token_count_input, token_count_output, + cached_tokens=cached_tokens or 0, ) # Report usage @@ -2379,6 +2479,8 @@ def _generate_anthropic( status, token_count_input, token_count_output, + cached_tokens=cached_tokens, # cache_read — was MISSING (always 0) + cache_creation_tokens=cache_creation, # cache_write — to settle write-vs-expiry ) # Report usage @@ -2580,6 +2682,7 @@ def _generate_bedrock( status, token_count_input, token_count_output, + cached_tokens=cached_tokens or 0, ) self._report_usage_async( diff --git a/agent_core/core/prompts/__init__.py b/agent_core/core/prompts/__init__.py index 19b3b82f..427b191c 100644 --- a/agent_core/core/prompts/__init__.py +++ b/agent_core/core/prompts/__init__.py @@ -76,6 +76,7 @@ USER_PROFILE_PROMPT, SOUL_PROMPT, ENVIRONMENTAL_CONTEXT_PROMPT, + CURRENT_DATETIME_PROMPT, AGENT_FILE_SYSTEM_CONTEXT_PROMPT, LANGUAGE_INSTRUCTION, ) @@ -122,6 +123,7 @@ "USER_PROFILE_PROMPT", "SOUL_PROMPT", "ENVIRONMENTAL_CONTEXT_PROMPT", + "CURRENT_DATETIME_PROMPT", "AGENT_FILE_SYSTEM_CONTEXT_PROMPT", "LANGUAGE_INSTRUCTION", # Routing prompts diff --git a/agent_core/core/prompts/action.py b/agent_core/core/prompts/action.py index 793d22f9..80e79790 100644 --- a/agent_core/core/prompts/action.py +++ b/agent_core/core/prompts/action.py @@ -193,17 +193,10 @@ - Use 'task_end' ONLY after user EXPLICITLY confirms the result is acceptable (e.g. 'looks good', 'thanks', 'done', 'that's all') - CRITICAL: If the user sends a follow-up message with a NEW question, request, or topic after you present results, DO NOT end the task. Instead, add new todos for the follow-up request using 'task_update_todos' and continue working. A new message from the user does NOT mean approval - read the actual content of their message. -CRITICAL - Message Source Routing Rules: -- Check the event stream for the ORIGINAL user message to determine which platform the task came from. -- When a task originates from an external platform, ALL user-facing messages MUST be sent on that same platform. NEVER use send_message for external platform tasks. -- If platform is telegram_bot → use send_telegram_bot_message -- If platform is telegram_user → use send_telegram_user_message -- If platform is WhatsApp → MUST use send_whatsapp_web_text_message (use to="user" for self-messages) -- If platform is Discord → MUST use send_discord_message or send_discord_dm -- If platform is Slack → MUST use send_slack_message -- If platform is CraftBot interface (or no platform specified) → use send_message -- ONLY fall back to send_message if the platform's send action is not in the available actions list. -- send_message is for local interface display ONLY. It does NOT reach external platforms. +Message Routing: +- To reply to the user, send on the platform the task originated from — check the original user message in the event stream for its source. +- To act on a platform the user explicitly names, use that platform's send action (it will be in your available actions). +- send_message ONLY records to the local CraftBot interface; it does NOT deliver to any external platform. Adaptive Execution: - If you lack information during EXECUTE, go back to COLLECT phase (add new collect todos) @@ -224,89 +217,23 @@ - If unrecoverable error, use 'task_end' with status 'abort'. - You must provide concrete parameter values for the action's input_schema. - When setting wait_for_user_reply=true on a send message action, the message MUST end with an explicit question (e.g., "Does this look good?" or "Would you like any changes?"). The agent will pause and wait for user input — if the message is a statement without a question, the user won't know a reply is expected and the task will hang indefinitely. +- Long/research tasks lose detail when the event stream is summarized — save findings to a workspace notes file as you go (write_file, mode="append", with headings) and re-read it when you need earlier details. File Reading Best Practices: - read_file returns content with line numbers in cat -n format -- For large files, use offset/limit parameters for pagination: - * Default reads first 2000 lines - check has_more to know if more exists - * Use offset to skip to specific line numbers - * Use limit to control how many lines to read - To find specific content in files: 1. Use grep_files with a regex pattern to locate relevant sections (use output_mode='content' for lines with line numbers, or 'files_with_matches' to discover files first) 2. Note the line numbers from grep results 3. Use read_file with appropriate offset to read that section -- DO NOT repeatedly read entire large files - use targeted reading with offset/limit - -Verification Rules (VERIFY phase - do NOT skip or rubber-stamp): -- Re-read the ORIGINAL task instruction. Check every requirement against your output. Assume you have errors. -- Requirements: Confirm each requirement is fully addressed. If user asked for N items, count them. -- Facts: Every claim, number, date, or statistic must trace back to a source you actually read. If it can't, verify it now or mark it unverified. You are an LLM - you hallucinate. -- References: Any cited URL or source must be one you actually visited. Remove or replace unverifiable references. -- Depth: Flag sections that are vague, generic, or just listing instead of analyzing. Rework them. -- Format: Match what the user requested. Check for broken references, formatting errors, internal contradictions, output design and format. -- Avoid laziness: DO NOT show your result without verifying output/artifact. DO NOT provide placeholder unless specified. -- If issues found: go back to EXECUTE and fix, rewrite the Todos and undo completed tasks if found fault. Do NOT proceed to CONFIRM with known problems. - -Long Task Protocol (preserving context within a single long-running task): -- Your event stream context is limited. Older events get summarized and detailed findings are LOST. Files persist permanently. -- For tasks involving extended research, multi-step investigation, or work expected to span many action cycles: - 1. CREATE a working document early: use write_file to create a notes file in the workspace directory (e.g., workspace/research_.md) - 2. RECORD findings periodically: every 3-5 action cycles, or whenever you accumulate significant findings, append to the working document using write_file with mode="append" - 3. STRUCTURE notes with clear headings, timestamps, and source references so they remain useful when re-read later - 4. RE-READ your notes when you need earlier findings that may have been lost to event stream summarization -- Think of this as "saving your work" - don't keep everything in your head (event stream), write it down (files). - -Mission Protocol (work that spans multiple task sessions): -- A "mission" is an ongoing effort that spans multiple tasks across your lifetime. Examples: a multi-day research project, a long-term monitoring goal, work that won't be completed in a single task session. -- Mission is used to track and facilitate long-term tasks. -- At the START of every complex task, scan workspace/missions/ to check for existing missions related to the current task. - - If a relevant mission exists: read its INDEX.md to varify. If related, use INDEX.md to restore context, then work within that mission folder. - - If no relevant mission exists but the task qualifies (see triggers below): create a new mission. - - The user may explicitly say "this is part of mission X" or "create a mission for this" - always respect explicit instructions. -- Mission creation triggers (create when ANY apply): - 1. User explicitly requests it ("make this a mission", "this is an ongoing project") - 2. Task is clearly a continuation of previous work found in workspace/missions/ - 3. Task involves work that you estimate cannot be completed within this single task session - 4. Task involves collecting data or findings that will be needed in future tasks -- Mission workspace stores research notes, artifacts, output, data, and anything related to the mission. -- Mission workspace convention: - Use write_file to create this structure: - workspace/missions// - ├── INDEX.md # Follow the template in app/data/agent_file_system_template/MISSION_INDEX_TEMPLATE.md - └── (other files) # Research notes, artifacts, output, data as needed - When creating INDEX.md, read the template file first and fill in the sections for your mission. -- At task END for mission-linked tasks: - Update the mission INDEX.md with: what was accomplished, current status, and suggested next steps. - This is what enables the next task to pick up where you left off. - Update the mission INDEX.md frequently in a long task, in case of cut off. + +Missions (multi-session / ongoing work): +- If a task continues earlier multi-session work, or the user references an ongoing project, check workspace/missions/ and you MUST grep and read the "Mission Protocol" section in AGENT.md (when to create, scan-on-start, the INDEX.md template, and updating INDEX.md at task end). -Parallel Action Execution: -When multiple actions are completely independent (no action depends on another's output), -you SHOULD batch up to 10 of them in a single step to maximize efficiency. - -Good candidates for parallelization: -- Multiple read_file() calls for different files -- Multiple web_search() or memory_search() calls -- Any combination of read-only operations -- send message action combined with task_update_todos -Example: read_file("a.txt") + read_file("b.txt") + grep_files("pattern") -Example: web_search("query1") + web_search("query2") + memory_search("topic") -Example: task_update_todos(...) + send_message(...) - -Never parallelize these: -- Write/mutate operations: write_file, stream_edit, clipboard_write -- Task/state management: wait -- Action set changes: add_action_sets, remove_action_sets -- Multiple send_message actions together (combine into one message instead) -- Multiple task_update_todos actions together (use one call with complete todo list) -- Multiple task_end actions together - -RULES: -1. Never parallelize an action that depends on another action's output. -2. If any selected action is non-parallelizable, it must be the ONLY action in that step. -3. task_update_todos + send_message is a good combination - use them together when updating progress and notifying the user. +Batch up to 10 actions in one step ONLY when none depends on another's output (e.g. several read_file / web_search / memory_search, or task_update_todos + send_message together). +A non-parallelizable action MUST be the ONLY action in its step — this includes any write/mutate (write_file, stream_edit, clipboard_write), wait, and add_action_sets / remove_action_sets. +Never emit two of the same single-instance action: combine multiple messages into ONE send, use ONE task_update_todos with the full list, and never pair task_end with anything. @@ -367,8 +294,6 @@ {action_candidates} -{agent_state} - {task_state} diff --git a/agent_core/core/prompts/context.py b/agent_core/core/prompts/context.py index 2d24e18d..07b18e66 100644 --- a/agent_core/core/prompts/context.py +++ b/agent_core/core/prompts/context.py @@ -193,7 +193,6 @@ ENVIRONMENTAL_CONTEXT_PROMPT = """ -- Current Date/Time: {current_datetime} - User Location: {user_location} - Current Working Directory: {working_directory} - Operating System: {operating_system} {os_version} ({os_platform}) @@ -201,6 +200,14 @@ """ +# Dynamic clock block — injected into the (uncached) user/event-stream tail, NOT +# the cached system prefix. Keeping the per-second timestamp out of the static +# system prompt is what lets the prompt prefix stay byte-stable across a task so +# Gemini implicit caching actually hits (see docs/design/prompt-optimization.md). +CURRENT_DATETIME_PROMPT = """ +Current date/time: {current_datetime} +""" + AGENT_FILE_SYSTEM_CONTEXT_PROMPT = """ Your persistent file system is located at: {agent_file_system_path} @@ -254,6 +261,7 @@ "SOUL_PROMPT", "AGENT_PROFILE_PROMPT", "ENVIRONMENTAL_CONTEXT_PROMPT", + "CURRENT_DATETIME_PROMPT", "AGENT_FILE_SYSTEM_CONTEXT_PROMPT", "LANGUAGE_INSTRUCTION", ] diff --git a/app/data/action/integrations/whatsapp/whatsapp_actions.py b/app/data/action/integrations/whatsapp/whatsapp_actions.py index d5f129ba..8ae80062 100644 --- a/app/data/action/integrations/whatsapp/whatsapp_actions.py +++ b/app/data/action/integrations/whatsapp/whatsapp_actions.py @@ -14,7 +14,7 @@ input_schema={ "to": { "type": "string", - "description": "Recipient phone number (e.g. '1234567890') OR the exact `number` / `id` value returned by search_whatsapp_contact (e.g. '185628603977847@lid'). Pass the value verbatim — do NOT strip the '@lid' or '@c.us' suffix.", + "description": "Recipient phone number (e.g. '1234567890') OR the exact `number` / `id` value returned by search_whatsapp_contact (e.g. '185628603977847@lid'). Pass the value verbatim — do NOT strip the '@lid' or '@c.us' suffix. Pass `user` (or `me` / `owner` / `self`) to send to your own (the owner's) number — use this to reply to the user on a WhatsApp-originated task.", "example": "1234567890", }, "message": { diff --git a/app/gui/gui_module.py b/app/gui/gui_module.py index fe2db322..63161c0f 100644 --- a/app/gui/gui_module.py +++ b/app/gui/gui_module.py @@ -593,6 +593,7 @@ async def _perform_reasoning_GUI_vlm( response = await self.llm.generate_response_async( system_prompt=system_prompt, user_prompt=prompt, + prompt_name="GUI_REASONING", ) try: diff --git a/app/internal_action_interface.py b/app/internal_action_interface.py index 5136a88f..de25a79a 100644 --- a/app/internal_action_interface.py +++ b/app/internal_action_interface.py @@ -105,7 +105,7 @@ async def use_llm( "InternalActionInterface not initialized with LLMInterface." ) response = await cls.llm_interface.generate_response_async( - prompt, system_message + prompt, system_message, prompt_name="USE_LLM" ) return {"llm_response": response} @@ -643,6 +643,7 @@ async def _select_action_sets_via_llm( response = await cls.llm_interface.generate_response_async( user_prompt=prompt, system_prompt="You are a helpful assistant that selects action sets for tasks. Return only valid JSON.", + prompt_name="ACTION_SET_SELECTION", ) # Step 4: Parse the JSON response @@ -744,6 +745,7 @@ async def _select_skills_via_llm( response = await cls.llm_interface.generate_response_async( user_prompt=prompt, system_prompt="You are a helpful assistant that selects skills for tasks. Return only valid JSON.", + prompt_name="SKILL_SELECTION", ) # Parse response (clean up markdown if present) @@ -892,6 +894,7 @@ async def _select_skills_and_action_sets_via_llm( response = await cls.llm_interface.generate_response_async( user_prompt=prompt, system_prompt="You are a helpful assistant that selects skills and action sets for tasks. Return only valid JSON.", + prompt_name="SKILLS_AND_ACTION_SETS_SELECTION", ) # Parse response (clean up markdown if present) diff --git a/app/llm/interface.py b/app/llm/interface.py index 24c9551c..6275b270 100644 --- a/app/llm/interface.py +++ b/app/llm/interface.py @@ -9,7 +9,7 @@ from typing import Optional from agent_core.core.impl.llm import LLMInterface as _LLMInterface -from agent_core.core.hooks.types import UsageEventData +from agent_core.core.hooks.types import UsageEventData, LLMCallRecord from app.state.agent_state import get_session_props @@ -30,6 +30,39 @@ async def _report_usage(event: UsageEventData) -> None: await get_usage_reporter().report(event) +def _record_llm_call(record: LLMCallRecord) -> None: + """Persist a full LLM call (prompt + response + identity + latency) to the + local llm_calls store — the capture substrate for the prompt profiler and + eval-case harvesting (docs/design/prompt-optimization.md). + + Runs synchronously in the LLM worker thread; the base wraps the call in + try/except so a storage hiccup never breaks an LLM call. + """ + from app.usage import get_llm_call_storage, LLMCallRow + + get_llm_call_storage().insert( + LLMCallRow( + provider=record.provider, + model=record.model, + system_prompt=record.system_prompt, + user_prompt=record.user_prompt, + response=record.response, + status=record.status, + input_tokens=record.input_tokens, + output_tokens=record.output_tokens, + cached_tokens=record.cached_tokens, + cache_creation_tokens=record.cache_creation_tokens, + latency_ms=record.latency_ms, + prompt_name=record.prompt_name, + prompt_version=record.prompt_version, + call_type=record.call_type, + task_id=record.task_id, + session_id=record.session_id, + metadata=record.metadata, + ) + ) + + class LLMInterface(_LLMInterface): """LLMInterface configured for CraftBot's STATE singleton. @@ -59,6 +92,7 @@ def __init__( get_token_count=_get_token_count, set_token_count=_set_token_count, report_usage=_report_usage, # Report usage to local SQLite storage + record_llm_call=_record_llm_call, # Full-call capture for profiler/eval ) def _report_usage_async( diff --git a/app/triggers/router.py b/app/triggers/router.py index b048b7b1..4ec24546 100644 --- a/app/triggers/router.py +++ b/app/triggers/router.py @@ -97,6 +97,7 @@ async def route( response = await self._llm.generate_response_async( system_prompt="You are a session routing system.", user_prompt=prompt, + prompt_name="ROUTE_TO_SESSION", ) logger.debug(f"[UNIFIED ROUTING RESPONSE]: {response}") diff --git a/app/ui_layer/metrics/collector.py b/app/ui_layer/metrics/collector.py index 7f409fba..e343a37a 100644 --- a/app/ui_layer/metrics/collector.py +++ b/app/ui_layer/metrics/collector.py @@ -35,40 +35,9 @@ class TimePeriod(Enum): # ───────────────────────────────────────────────────────────────────── # Pricing Data (USD per 1M tokens) # ───────────────────────────────────────────────────────────────────── - -MODEL_PRICING: Dict[str, Dict[str, float]] = { - # OpenAI models - "gpt-4o": {"input": 2.50, "output": 10.00}, - "gpt-4o-mini": {"input": 0.15, "output": 0.60}, - "gpt-4-turbo": {"input": 10.00, "output": 30.00}, - "gpt-4": {"input": 30.00, "output": 60.00}, - "gpt-3.5-turbo": {"input": 0.50, "output": 1.50}, - "o1": {"input": 15.00, "output": 60.00}, - "o1-mini": {"input": 3.00, "output": 12.00}, - "o1-preview": {"input": 15.00, "output": 60.00}, - "o3-mini": {"input": 1.10, "output": 4.40}, - # Anthropic models - "claude-3-5-sonnet": {"input": 3.00, "output": 15.00}, - "claude-3-5-haiku": {"input": 0.80, "output": 4.00}, - "claude-3-opus": {"input": 15.00, "output": 75.00}, - "claude-3-sonnet": {"input": 3.00, "output": 15.00}, - "claude-3-haiku": {"input": 0.25, "output": 1.25}, - # Google models - "gemini-1.5-pro": {"input": 1.25, "output": 5.00}, - "gemini-1.5-flash": {"input": 0.075, "output": 0.30}, - "gemini-2.0-flash": {"input": 0.10, "output": 0.40}, - # Default fallback - "default": {"input": 1.00, "output": 3.00}, -} - - -def get_model_pricing(model: str) -> Dict[str, float]: - """Get pricing for a model, with fuzzy matching.""" - model_lower = model.lower() - for key, pricing in MODEL_PRICING.items(): - if key in model_lower: - return pricing - return MODEL_PRICING["default"] +# Single source of truth lives in app.usage.pricing (cached-aware, current +# models, longest-match resolution). Re-exported here for existing callers. +from app.usage.pricing import MODEL_PRICING, get_model_pricing # noqa: E402,F401 # ───────────────────────────────────────────────────────────────────── diff --git a/app/usage/__init__.py b/app/usage/__init__.py index 2f10d810..56e864c3 100644 --- a/app/usage/__init__.py +++ b/app/usage/__init__.py @@ -41,6 +41,12 @@ get_skill_storage, ) +from app.usage.llm_call_storage import ( + LLMCallRow, + LLMCallStorage, + get_llm_call_storage, +) + __all__ = [ # Storage "UsageEvent", @@ -65,4 +71,8 @@ # Skill Storage "SkillStorage", "get_skill_storage", + # LLM Call Storage (prompt profiler / eval) + "LLMCallRow", + "LLMCallStorage", + "get_llm_call_storage", ] diff --git a/app/usage/llm_call_storage.py b/app/usage/llm_call_storage.py new file mode 100644 index 00000000..1a409086 --- /dev/null +++ b/app/usage/llm_call_storage.py @@ -0,0 +1,202 @@ +# -*- coding: utf-8 -*- +""" +app.usage.llm_call_storage + +SQLite store of full LLM calls (prompt + response + identity + latency) for the +prompt profiler and eval-case harvesting (see docs/design/prompt-optimization.md). + +This is the capture substrate: one `llm_calls` row per LLM call holds everything +the profiler aggregates, the eval harness harvests, and the self-improvement loop +compares. It is intentionally separate from `usage.db` (token accounting only) — +this table stores full prompt/response text, so it stays local-only and is +size-capped. +""" + +from __future__ import annotations + +import json +import logging +import sqlite3 +from dataclasses import dataclass, field +from datetime import datetime +from pathlib import Path +from typing import Any, Dict, List, Optional + +try: + from app.logger import logger +except Exception: + logger = logging.getLogger(__name__) + logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") + + +# Keep the table bounded — full prompts/responses are large. Oldest rows are +# pruned past this cap on insert. +DEFAULT_MAX_ROWS = 50_000 + + +@dataclass +class LLMCallRow: + """A persisted LLM call. Mirrors agent_core hooks.LLMCallRecord plus a + timestamp; kept as its own type so storage doesn't import the hook layer.""" + + provider: str + model: str + system_prompt: Optional[str] + user_prompt: str + response: str + status: str + input_tokens: int = 0 + output_tokens: int = 0 + cached_tokens: int = 0 # served FROM cache (read) + cache_creation_tokens: int = 0 # WRITTEN to cache + latency_ms: int = 0 + prompt_name: Optional[str] = None + prompt_version: Optional[str] = None + call_type: Optional[str] = None + task_id: Optional[str] = None + session_id: Optional[str] = None + metadata: Dict[str, Any] = field(default_factory=dict) + timestamp: Optional[datetime] = None + + def __post_init__(self): + if self.timestamp is None: + self.timestamp = datetime.now() + if self.metadata is None: + self.metadata = {} + + +class LLMCallStorage: + """SQLite-backed store of full LLM calls.""" + + def __init__( + self, db_path: Optional[str] = None, max_rows: int = DEFAULT_MAX_ROWS + ): + if db_path is None: + from app.config import APP_DATA_PATH + + usage_dir = Path(APP_DATA_PATH) / ".usage" + usage_dir.mkdir(parents=True, exist_ok=True) + db_path = str(usage_dir / "llm_calls.db") + + self._db_path = db_path + self._max_rows = max_rows + self._init_db() + logger.info(f"[LLMCallStorage] Initialized at {self._db_path}") + + def _init_db(self) -> None: + with sqlite3.connect(self._db_path) as conn: + cursor = conn.cursor() + cursor.execute(""" + CREATE TABLE IF NOT EXISTS llm_calls ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + timestamp TEXT NOT NULL, + provider TEXT NOT NULL, + model TEXT NOT NULL, + prompt_name TEXT, + prompt_version TEXT, + call_type TEXT, + task_id TEXT, + session_id TEXT, + system_prompt TEXT, + user_prompt TEXT, + response TEXT, + status TEXT NOT NULL DEFAULT 'success', + input_tokens INTEGER NOT NULL DEFAULT 0, + output_tokens INTEGER NOT NULL DEFAULT 0, + cached_tokens INTEGER NOT NULL DEFAULT 0, + cache_creation_tokens INTEGER NOT NULL DEFAULT 0, + latency_ms INTEGER NOT NULL DEFAULT 0, + metadata TEXT + ) + """) + # Migrate older DBs that predate a column. + existing = {r[1] for r in cursor.execute("PRAGMA table_info(llm_calls)")} + for col, decl in ( + ("cache_creation_tokens", "INTEGER NOT NULL DEFAULT 0"), + ): + if col not in existing: + cursor.execute(f"ALTER TABLE llm_calls ADD COLUMN {col} {decl}") + for col in ("timestamp", "prompt_name", "call_type", "task_id", "model"): + cursor.execute( + f"CREATE INDEX IF NOT EXISTS idx_llm_calls_{col} " + f"ON llm_calls({col})" + ) + conn.commit() + + def insert(self, row: LLMCallRow) -> int: + """Insert one call. Returns its row id. Prunes oldest rows past the cap.""" + with sqlite3.connect(self._db_path) as conn: + cursor = conn.cursor() + cursor.execute( + """ + INSERT INTO llm_calls + (timestamp, provider, model, prompt_name, prompt_version, + call_type, task_id, session_id, system_prompt, user_prompt, + response, status, input_tokens, output_tokens, cached_tokens, + cache_creation_tokens, latency_ms, metadata) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + """, + ( + (row.timestamp or datetime.now()).isoformat(), + row.provider, + row.model, + row.prompt_name, + row.prompt_version, + row.call_type, + row.task_id, + row.session_id, + row.system_prompt, + row.user_prompt, + row.response, + row.status, + row.input_tokens, + row.output_tokens, + row.cached_tokens, + row.cache_creation_tokens, + row.latency_ms, + json.dumps(row.metadata) if row.metadata else None, + ), + ) + row_id = cursor.lastrowid + self._prune(cursor) + conn.commit() + return row_id + + def _prune(self, cursor: sqlite3.Cursor) -> None: + cursor.execute("SELECT COUNT(*) FROM llm_calls") + count = cursor.fetchone()[0] + if count > self._max_rows: + cursor.execute( + """ + DELETE FROM llm_calls WHERE id IN ( + SELECT id FROM llm_calls ORDER BY id ASC LIMIT ? + ) + """, + (count - self._max_rows,), + ) + + def recent(self, limit: int = 100) -> List[Dict[str, Any]]: + """Return the most recent calls as dicts (newest first).""" + with sqlite3.connect(self._db_path) as conn: + conn.row_factory = sqlite3.Row + cursor = conn.cursor() + cursor.execute( + "SELECT * FROM llm_calls ORDER BY id DESC LIMIT ?", (limit,) + ) + return [dict(r) for r in cursor.fetchall()] + + def count(self) -> int: + with sqlite3.connect(self._db_path) as conn: + return conn.execute("SELECT COUNT(*) FROM llm_calls").fetchone()[0] + + +# Global storage instance +_llm_call_storage: Optional[LLMCallStorage] = None + + +def get_llm_call_storage() -> LLMCallStorage: + """Get the global LLM call storage instance.""" + global _llm_call_storage + if _llm_call_storage is None: + _llm_call_storage = LLMCallStorage() + return _llm_call_storage diff --git a/app/usage/pricing.py b/app/usage/pricing.py new file mode 100644 index 00000000..647a66e8 --- /dev/null +++ b/app/usage/pricing.py @@ -0,0 +1,101 @@ +# -*- coding: utf-8 -*- +""" +app.usage.pricing + +Single source of per-model token pricing (USD per 1M tokens) for cost + +cache-savings math, used by the prompt profiler and the dashboard metrics +collector. + +Each entry has three rates: + input - standard (uncached) input tokens + cached - input tokens served from cache (provider discounts vary: + Gemini / Anthropic cache-read ≈ 10% of input, OpenAI ≈ 50%) + output - output tokens + +Values are approximate and drift over time — update against provider pricing +pages. Sources (2026-06): Gemini https://ai.google.dev/gemini-api/docs/pricing, +Anthropic & OpenAI public pricing. +""" + +from __future__ import annotations + +from typing import Dict + +# Per 1M tokens, USD. Keys are matched as substrings of the model id; matching +# prefers the LONGEST (most specific) key, so e.g. "gpt-4o-mini" wins over +# "gpt-4o". +MODEL_PRICING: Dict[str, Dict[str, float]] = { + # ─ OpenAI (cached ≈ 50% of input) ─ + "gpt-4o-mini": {"input": 0.15, "cached": 0.075, "output": 0.60}, + "gpt-4o": {"input": 2.50, "cached": 1.25, "output": 10.00}, + "gpt-4-turbo": {"input": 10.00, "cached": 10.00, "output": 30.00}, + "gpt-4": {"input": 30.00, "cached": 30.00, "output": 60.00}, + "gpt-3.5-turbo": {"input": 0.50, "cached": 0.50, "output": 1.50}, + "o1-mini": {"input": 3.00, "cached": 1.50, "output": 12.00}, + "o1-preview": {"input": 15.00, "cached": 7.50, "output": 60.00}, + "o1": {"input": 15.00, "cached": 7.50, "output": 60.00}, + "o3-mini": {"input": 1.10, "cached": 0.55, "output": 4.40}, + # ─ Anthropic (cache-read ≈ 10% of input) ─ + "claude-opus-4": {"input": 15.00, "cached": 1.50, "output": 75.00}, + "claude-sonnet-4": {"input": 3.00, "cached": 0.30, "output": 15.00}, + "claude-haiku-4": {"input": 1.00, "cached": 0.10, "output": 5.00}, + "claude-3-5-sonnet": {"input": 3.00, "cached": 0.30, "output": 15.00}, + "claude-3-5-haiku": {"input": 0.80, "cached": 0.08, "output": 4.00}, + "claude-3-opus": {"input": 15.00, "cached": 1.50, "output": 75.00}, + "claude-3-sonnet": {"input": 3.00, "cached": 0.30, "output": 15.00}, + "claude-3-haiku": {"input": 0.25, "cached": 0.03, "output": 1.25}, + # ─ Google Gemini (cached ≈ 10% of input) ─ + "gemini-2.5-pro": {"input": 1.25, "cached": 0.125, "output": 10.00}, + "gemini-2.5-flash": {"input": 0.30, "cached": 0.075, "output": 2.50}, + "gemini-2.0-flash": {"input": 0.10, "cached": 0.025, "output": 0.40}, + "gemini-1.5-pro": {"input": 1.25, "cached": 0.3125, "output": 5.00}, + "gemini-1.5-flash": {"input": 0.075, "cached": 0.01875, "output": 0.30}, + # ─ Fallback ─ + "default": {"input": 1.00, "cached": 0.25, "output": 3.00}, +} + + +def get_model_pricing(model: str) -> Dict[str, float]: + """Return the pricing dict for a model via longest-substring match. + + Longest-match avoids the classic bug where "gpt-4o" shadows "gpt-4o-mini". + Falls back to the "default" entry when nothing matches. + """ + model_lower = (model or "").lower() + best_key = None + for key in MODEL_PRICING: + if key == "default": + continue + if key in model_lower and (best_key is None or len(key) > len(best_key)): + best_key = key + return MODEL_PRICING[best_key] if best_key else MODEL_PRICING["default"] + + +def estimate_cost( + model: str, + input_tokens: int, + output_tokens: int, + cached_tokens: int = 0, +) -> Dict[str, float]: + """Estimate the USD cost of a call and the savings from cache reuse. + + `cached_tokens` is the subset of `input_tokens` served from cache (billed at + the cached rate); the remainder is billed at the standard input rate. + + Returns a dict with input_cost, output_cost, total_cost, and saved (vs. + paying the full input rate for the cached tokens). + """ + p = get_model_pricing(model) + cached = max(0, min(cached_tokens, input_tokens)) + uncached = input_tokens - cached + + input_cost = (uncached * p["input"] + cached * p["cached"]) / 1_000_000 + output_cost = (output_tokens * p["output"]) / 1_000_000 + saved = (cached * (p["input"] - p["cached"])) / 1_000_000 + + return { + "input_cost": input_cost, + "output_cost": output_cost, + "total_cost": input_cost + output_cost, + "saved": saved, + } diff --git a/scripts/prompt_profile.py b/scripts/prompt_profile.py new file mode 100644 index 00000000..f8d03731 --- /dev/null +++ b/scripts/prompt_profile.py @@ -0,0 +1,264 @@ +# -*- coding: utf-8 -*- +""" +Prompt profiler (issue #322, P2). + +Aggregates the captured `llm_calls` table per (prompt_name, provider, model) and +reports the cost/efficiency picture for each named prompt on real traffic: +latency (p50/p95), token volume, cache hit-ratio, $ cost, and $ saved by caching. + +The data comes from the capture substrate (P1) — see +docs/design/prompt-optimization.md. This is a read-only view; it never writes to +the agent's databases. + +Usage: + python scripts/prompt_profile.py # all captured calls + python scripts/prompt_profile.py --since 24h # last 24 hours + python scripts/prompt_profile.py --md report.md --json report.json + python scripts/prompt_profile.py --db path/to/llm_calls.db +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import sqlite3 +import sys +from collections import defaultdict +from datetime import datetime, timedelta +from typing import Any, Dict, List, Optional + +# Make the repo root importable when run directly. +_REPO_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +if _REPO_ROOT not in sys.path: + sys.path.insert(0, _REPO_ROOT) + +from app.usage.pricing import estimate_cost # noqa: E402 + + +def _default_db_path() -> str: + from app.config import APP_DATA_PATH + + return os.path.join(APP_DATA_PATH, ".usage", "llm_calls.db") + + +def _parse_since(since: Optional[str]) -> Optional[datetime]: + """Parse a relative window like '24h', '7d', '90m' into a cutoff datetime.""" + if not since: + return None + units = {"m": "minutes", "h": "hours", "d": "days", "w": "weeks"} + unit = since[-1].lower() + if unit not in units: + raise ValueError(f"--since must end in m/h/d/w (got {since!r})") + qty = float(since[:-1]) + return datetime.now() - timedelta(**{units[unit]: qty}) + + +def _percentile(sorted_vals: List[float], p: float) -> float: + """Linear-interpolated percentile (p in [0,1]) of a pre-sorted list.""" + if not sorted_vals: + return 0.0 + if len(sorted_vals) == 1: + return float(sorted_vals[0]) + k = (len(sorted_vals) - 1) * p + lo, hi = math.floor(k), math.ceil(k) + if lo == hi: + return float(sorted_vals[int(k)]) + return sorted_vals[lo] * (hi - k) + sorted_vals[hi] * (k - lo) + + +def load_rows(db_path: str, since: Optional[datetime]) -> List[sqlite3.Row]: + if not os.path.exists(db_path): + return [] + with sqlite3.connect(db_path) as conn: + conn.row_factory = sqlite3.Row + sql = ( + "SELECT prompt_name, provider, model, call_type, latency_ms, " + "input_tokens, output_tokens, cached_tokens, status, timestamp " + "FROM llm_calls" + ) + params: tuple = () + if since is not None: + sql += " WHERE timestamp >= ?" + params = (since.isoformat(),) + return list(conn.execute(sql, params).fetchall()) + + +def aggregate(rows: List[sqlite3.Row]) -> List[Dict[str, Any]]: + groups: Dict[tuple, Dict[str, Any]] = defaultdict( + lambda: { + "calls": 0, + "errors": 0, + "latencies": [], + "input": 0, + "output": 0, + "cached": 0, + } + ) + for r in rows: + key = (r["prompt_name"] or "(untagged)", r["provider"] or "", r["model"] or "") + g = groups[key] + g["calls"] += 1 + if r["status"] != "success": + g["errors"] += 1 + g["latencies"].append(r["latency_ms"] or 0) + g["input"] += r["input_tokens"] or 0 + g["output"] += r["output_tokens"] or 0 + g["cached"] += r["cached_tokens"] or 0 + + out: List[Dict[str, Any]] = [] + for (prompt_name, provider, model), g in groups.items(): + lat = sorted(g["latencies"]) + cost = estimate_cost(model, g["input"], g["output"], g["cached"]) + calls = g["calls"] + out.append( + { + "prompt_name": prompt_name, + "provider": provider, + "model": model, + "calls": calls, + "errors": g["errors"], + "latency_p50_ms": round(_percentile(lat, 0.50)), + "latency_p95_ms": round(_percentile(lat, 0.95)), + "avg_input_tokens": round(g["input"] / calls), + "avg_output_tokens": round(g["output"] / calls), + "cache_hit_ratio": (g["cached"] / g["input"]) if g["input"] else 0.0, + "total_cost_usd": round(cost["total_cost"], 4), + "cost_per_call_usd": round(cost["total_cost"] / calls, 6), + "saved_usd": round(cost["saved"], 4), + } + ) + out.sort(key=lambda d: d["total_cost_usd"], reverse=True) + return out + + +def _fmt_table(agg: List[Dict[str, Any]]) -> str: + headers = [ + ("prompt_name", "PROMPT", "l"), + ("model", "MODEL", "l"), + ("calls", "CALLS", "r"), + ("latency_p50_ms", "p50ms", "r"), + ("latency_p95_ms", "p95ms", "r"), + ("avg_input_tokens", "AVG_IN", "r"), + ("avg_output_tokens", "AVG_OUT", "r"), + ("cache_hit_ratio", "CACHE%", "r"), + ("total_cost_usd", "$ TOTAL", "r"), + ("saved_usd", "$ SAVED", "r"), + ] + + def cell(row: Dict[str, Any], key: str) -> str: + v = row[key] + if key == "cache_hit_ratio": + return f"{v * 100:.0f}%" + if key in ("total_cost_usd", "saved_usd"): + return f"{v:.4f}" + return str(v) + + widths = { + key: max(len(label), *(len(cell(r, key)) for r in agg)) if agg else len(label) + for key, label, _ in headers + } + lines = [] + head = " ".join( + label.ljust(widths[key]) if align == "l" else label.rjust(widths[key]) + for key, label, align in headers + ) + lines.append(head) + lines.append("-" * len(head)) + for r in agg: + lines.append( + " ".join( + cell(r, key).ljust(widths[key]) + if align == "l" + else cell(r, key).rjust(widths[key]) + for key, _, align in headers + ) + ) + return "\n".join(lines) + + +def _totals(agg: List[Dict[str, Any]]) -> Dict[str, Any]: + return { + "groups": len(agg), + "calls": sum(r["calls"] for r in agg), + "total_cost_usd": round(sum(r["total_cost_usd"] for r in agg), 4), + "saved_usd": round(sum(r["saved_usd"] for r in agg), 4), + } + + +def _markdown(agg: List[Dict[str, Any]], totals: Dict[str, Any]) -> str: + cols = [ + "prompt_name", "model", "calls", "latency_p50_ms", "latency_p95_ms", + "avg_input_tokens", "avg_output_tokens", "cache_hit_ratio", + "total_cost_usd", "saved_usd", + ] + head = "| " + " | ".join(cols) + " |" + sep = "| " + " | ".join("---" for _ in cols) + " |" + body = [] + for r in agg: + cells = [] + for c in cols: + v = r[c] + if c == "cache_hit_ratio": + cells.append(f"{v * 100:.0f}%") + else: + cells.append(str(v)) + body.append("| " + " | ".join(cells) + " |") + summary = ( + f"\n**Totals:** {totals['calls']} calls across {totals['groups']} " + f"prompt/model groups — ${totals['total_cost_usd']:.4f} spent, " + f"${totals['saved_usd']:.4f} saved by caching.\n" + ) + return "# Prompt profile\n\n" + "\n".join([head, sep, *body]) + "\n" + summary + + +def main() -> int: + try: + sys.stdout.reconfigure(encoding="utf-8") + except (AttributeError, ValueError): + pass + + ap = argparse.ArgumentParser(description="Profile prompt cost/cache/latency.") + ap.add_argument("--db", help="Path to llm_calls.db (default: app data dir).") + ap.add_argument("--since", help="Only calls newer than e.g. 24h, 7d, 90m.") + ap.add_argument("--json", metavar="PATH", help="Write the report as JSON.") + ap.add_argument("--md", metavar="PATH", help="Write the report as markdown.") + args = ap.parse_args() + + db_path = args.db or _default_db_path() + since = _parse_since(args.since) + rows = load_rows(db_path, since) + + if not rows: + print(f"No captured LLM calls found in {db_path}" + ( + f" since {args.since}" if args.since else "" + )) + print("Run the agent (with capture on) to populate llm_calls, then retry.") + return 0 + + agg = aggregate(rows) + totals = _totals(agg) + + print(_fmt_table(agg)) + print("-" * 40) + print( + f"{totals['calls']} calls / {totals['groups']} groups " + f"${totals['total_cost_usd']:.4f} spent " + f"${totals['saved_usd']:.4f} saved by caching" + ) + + if args.json: + with open(args.json, "w", encoding="utf-8") as fh: + json.dump({"totals": totals, "prompts": agg}, fh, indent=2) + print(f"\nWrote {args.json}") + if args.md: + with open(args.md, "w", encoding="utf-8") as fh: + fh.write(_markdown(agg, totals)) + print(f"Wrote {args.md}") + + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tests/test_llm_call_capture.py b/tests/test_llm_call_capture.py new file mode 100644 index 00000000..f3aeb138 --- /dev/null +++ b/tests/test_llm_call_capture.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- +""" +Tests for the LLM-call capture substrate (issue #322, P1). + +Covers the storage layer and the interface-level capture flow: the per-call +context (`_llm_call_ctx`) set at the public entry must reach the capture +chokepoint (`_call_log_to_db`), survive `asyncio.to_thread`, and stay isolated +across concurrent calls. +""" + +import asyncio +import os +import tempfile + +from agent_core.core.impl.llm.interface import LLMInterface +from app.usage.llm_call_storage import LLMCallStorage, LLMCallRow + + +def _make_storage(): + db = os.path.join(tempfile.mkdtemp(), "llm_calls.db") + return LLMCallStorage(db_path=db, max_rows=3) + + +def test_storage_insert_recent_and_cap(): + s = _make_storage() + for i in range(5): + s.insert( + LLMCallRow( + provider="gemini", + model="gemini-2.5-pro", + system_prompt="sys", + user_prompt=f"u{i}", + response="{}", + status="success", + input_tokens=100 + i, + output_tokens=10, + cached_tokens=50, + latency_ms=1234, + prompt_name="SELECT_ACTION_IN_TASK", + call_type="action_selection", + ) + ) + # max_rows=3 → oldest pruned + assert s.count() == 3 + newest = s.recent(1)[0] + assert newest["user_prompt"] == "u4" + assert newest["prompt_name"] == "SELECT_ACTION_IN_TASK" + assert newest["cached_tokens"] == 50 + + +def _interface_with_sink(captured): + return LLMInterface( + provider="gemini", + model="gemini-2.5-pro", + deferred=True, + record_llm_call=lambda r: captured.append(r), + ) + + +def test_capture_reads_context_and_latency(): + captured = [] + llm = _interface_with_sink(captured) + llm._begin_call( + prompt_name="SELECT_ACTION_IN_TASK", + call_type="action_selection", + task_id="task-9", + ) + llm._call_log_to_db( + "sys", "user", '{"action":"task_start"}', "success", 1200, 30, + cached_tokens=900, + ) + assert len(captured) == 1 + rec = captured[0] + assert rec.prompt_name == "SELECT_ACTION_IN_TASK" + assert rec.call_type == "action_selection" + assert rec.task_id == "task-9" + assert rec.input_tokens == 1200 and rec.cached_tokens == 900 + assert rec.latency_ms >= 0 + + +def test_context_survives_to_thread_and_isolates_concurrency(): + captured = [] + llm = _interface_with_sink(captured) + + def worker(): + llm._call_log_to_db("s", "u", "resp", "success", 10, 5, cached_tokens=3) + + async def main(): + llm._begin_call(prompt_name="ROUTE_TO_SESSION") + await asyncio.to_thread(worker) + + async def one(name): + llm._begin_call(prompt_name=name) + await asyncio.to_thread(worker) + + await asyncio.gather(one("A"), one("B")) + + asyncio.run(main()) + names = [r.prompt_name for r in captured] + assert names[0] == "ROUTE_TO_SESSION" + assert set(names[1:]) == {"A", "B"} # no cross-call clobber + + +def test_capture_disabled_when_no_hook(): + # No record_llm_call hook → _call_log_to_db must not raise. + llm = LLMInterface(provider="gemini", model="gemini-2.5-pro", deferred=True) + llm._begin_call(prompt_name="X") + llm._call_log_to_db("s", "u", "r", "success", 1, 1) diff --git a/tests/test_prompt_profile.py b/tests/test_prompt_profile.py new file mode 100644 index 00000000..0249855f --- /dev/null +++ b/tests/test_prompt_profile.py @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- +""" +Tests for the prompt profiler (issue #322, P2). + +Covers the cost-aware pricing single-source and the profiler's aggregation over +the captured llm_calls table. +""" + +import importlib +import os +import tempfile + +from app.usage.llm_call_storage import LLMCallStorage, LLMCallRow +from app.usage.pricing import get_model_pricing, estimate_cost + +profiler = importlib.import_module("scripts.prompt_profile") + + +# ── pricing ────────────────────────────────────────────────────────────────── + + +def test_pricing_longest_match_avoids_shadowing(): + # "gpt-4o" must NOT shadow "gpt-4o-mini" + assert get_model_pricing("gpt-4o-mini")["input"] == 0.15 + assert get_model_pricing("gpt-4o-2024-08")["input"] == 2.50 + assert get_model_pricing("gemini-2.5-pro")["cached"] == 0.125 + assert get_model_pricing("claude-opus-4-8")["input"] == 15.00 + assert get_model_pricing("totally-unknown")["input"] == 1.00 # default + + +def test_estimate_cost_accounts_for_cache(): + c = estimate_cost("gemini-2.5-pro", input_tokens=10_000, output_tokens=500, + cached_tokens=8_000) + # uncached 2000 @1.25 + cached 8000 @0.125 = 0.0035; output 500 @10 = 0.005 + assert round(c["input_cost"], 6) == 0.0035 + assert round(c["output_cost"], 6) == 0.005 + assert round(c["total_cost"], 6) == 0.0085 + # saved = 8000 * (1.25 - 0.125) / 1e6 + assert round(c["saved"], 6) == 0.009 + + +def test_estimate_cost_clamps_cached_to_input(): + # cached can't exceed input; must not produce negative uncached cost + c = estimate_cost("gemini-2.5-pro", input_tokens=100, output_tokens=0, + cached_tokens=999) + assert c["input_cost"] >= 0 + assert round(c["input_cost"], 8) == round(100 * 0.125 / 1e6, 8) + + +# ── percentile ─────────────────────────────────────────────────────────────── + + +def test_percentile(): + assert profiler._percentile([], 0.5) == 0.0 + assert profiler._percentile([42], 0.95) == 42 + assert profiler._percentile([1, 2, 3, 4], 0.5) == 2.5 + assert profiler._percentile([10, 20, 30], 0.0) == 10 + assert profiler._percentile([10, 20, 30], 1.0) == 30 + + +# ── aggregation ────────────────────────────────────────────────────────────── + + +def _seed(): + db = os.path.join(tempfile.mkdtemp(), "llm_calls.db") + s = LLMCallStorage(db_path=db) + seed = [ + ("SELECT_ACTION_IN_TASK", 2500, 1800, 40, 1200), + ("SELECT_ACTION_IN_TASK", 3100, 2000, 55, 1500), + ("EVENT_STREAM_SUMMARIZATION", 5000, 4000, 400, 0), + ] + for name, lat, inp, out, cached in seed: + s.insert(LLMCallRow(provider="gemini", model="gemini-2.5-pro", + system_prompt="s", user_prompt="u", response="r", + status="success", input_tokens=inp, output_tokens=out, + cached_tokens=cached, latency_ms=lat, prompt_name=name)) + return db + + +def test_aggregate_groups_and_metrics(): + db = _seed() + rows = profiler.load_rows(db, since=None) + agg = profiler.aggregate(rows) + + by_name = {r["prompt_name"]: r for r in agg} + assert set(by_name) == {"SELECT_ACTION_IN_TASK", "EVENT_STREAM_SUMMARIZATION"} + + task = by_name["SELECT_ACTION_IN_TASK"] + assert task["calls"] == 2 + assert task["avg_input_tokens"] == 1900 # (1800+2000)/2 + # cache hit ratio = (1200+1500)/(1800+2000) = 2700/3800 + assert round(task["cache_hit_ratio"], 4) == round(2700 / 3800, 4) + assert task["saved_usd"] > 0 + + # sorted by cost desc → summarization (4000 in/400 out) is the priciest + assert agg[0]["prompt_name"] == "EVENT_STREAM_SUMMARIZATION" + + +def test_load_rows_missing_db_is_empty(): + assert profiler.load_rows("/no/such/file.db", since=None) == [] + + +def test_parse_since(): + from datetime import datetime + assert profiler._parse_since(None) is None + dt = profiler._parse_since("24h") + assert isinstance(dt, datetime) From 8baf55e932233242d15d43dee946655ff1df8a22 Mon Sep 17 00:00:00 2001 From: CraftBot Date: Wed, 17 Jun 2026 21:27:38 +0900 Subject: [PATCH 18/24] Fix startup issue with closing bracket issue --- app/ui_layer/adapters/browser_adapter.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index c9b1218e..3619cc51 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -1157,6 +1157,8 @@ async def _on_start(self) -> None: ) self._app.router.add_post( "/api/chat-attachments/upload", self._chat_attachment_upload_handler + ) + # Agent profile bundle import/export routes self._app.router.add_get( "/api/profile/export", self._profile_export_handler From a4b11ca9a903d80cb97d9b12e60768286cf70bb2 Mon Sep 17 00:00:00 2001 From: ahmad-ajmal Date: Thu, 18 Jun 2026 01:21:25 +0100 Subject: [PATCH 19/24] Lint Fix --- agent_core/core/impl/llm/interface.py | 12 +- .../integrations/stripe/stripe_actions.py | 2830 ++++++++++++++--- app/triggers/activity_log.py | 16 +- app/triggers/router.py | 4 +- app/triggers/store.py | 3 +- app/ui_layer/adapters/browser_adapter.py | 28 +- app/ui_layer/settings/profile_bundle.py | 24 +- app/usage/llm_call_storage.py | 12 +- .../integrations/stripe/__init__.py | 48 +- scripts/prompt_profile.py | 20 +- tests/test_activity_log.py | 4 +- tests/test_llm_call_capture.py | 7 +- tests/test_prompt_profile.py | 30 +- tests/test_trigger_router_and_parking.py | 1 - tests/test_trigger_service.py | 6 +- tests/test_trigger_sources.py | 4 +- tests/test_trigger_store.py | 4 +- 17 files changed, 2406 insertions(+), 647 deletions(-) diff --git a/agent_core/core/impl/llm/interface.py b/agent_core/core/impl/llm/interface.py index 3fb90de1..882d80cc 100644 --- a/agent_core/core/impl/llm/interface.py +++ b/agent_core/core/impl/llm/interface.py @@ -417,9 +417,7 @@ def _call_log_to_db( try: ctx = _llm_call_ctx.get() or {} start = ctx.get("start") - latency_ms = ( - int((time.perf_counter() - start) * 1000) if start else 0 - ) + latency_ms = int((time.perf_counter() - start) * 1000) if start else 0 self._record_llm_call( LLMCallRecord( provider=self.provider or "", @@ -1382,9 +1380,7 @@ def generate_response_with_session( log_response: Whether to log the response. prompt_name: Identity of the named prompt, for capture/profiling. """ - self._begin_call( - prompt_name=prompt_name, call_type=call_type, task_id=task_id - ) + self._begin_call(prompt_name=prompt_name, call_type=call_type, task_id=task_id) return self._generate_response_with_session_sync( task_id, call_type, user_prompt, system_prompt_for_new_session, log_response ) @@ -1411,9 +1407,7 @@ async def generate_response_with_session_async( """ # Stamp here (caller's context) so asyncio.to_thread copies it into the # worker thread where capture runs. - self._begin_call( - prompt_name=prompt_name, call_type=call_type, task_id=task_id - ) + self._begin_call(prompt_name=prompt_name, call_type=call_type, task_id=task_id) return await asyncio.to_thread( self._generate_response_with_session_sync, task_id, diff --git a/app/data/action/integrations/stripe/stripe_actions.py b/app/data/action/integrations/stripe/stripe_actions.py index 015b97fc..2b9b0d9f 100644 --- a/app/data/action/integrations/stripe/stripe_actions.py +++ b/app/data/action/integrations/stripe/stripe_actions.py @@ -35,13 +35,41 @@ description="List Stripe customers. Filter by email, created window. Cursor pagination via 'starting_after' from previous response's data[-1].id.", action_sets=["stripe_customers", "stripe"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100, default 10).", "example": 10}, - "starting_after": {"type": "string", "description": "Cursor — ID of the last item from the previous page.", "example": "cus_NffrFeUfNV2Hib"}, - "ending_before": {"type": "string", "description": "Cursor for backwards pagination.", "example": ""}, - "email": {"type": "string", "description": "Exact-match email filter.", "example": "jane@example.com"}, - "created_gte": {"type": "integer", "description": "Created at or after this UNIX timestamp.", "example": 1717200000}, - "created_lte": {"type": "integer", "description": "Created at or before this UNIX timestamp.", "example": 1719792000}, - "expand": {"type": "string", "description": "Comma-separated fields to expand (e.g. 'default_source,subscriptions').", "example": ""}, + "limit": { + "type": "integer", + "description": "Max results (1-100, default 10).", + "example": 10, + }, + "starting_after": { + "type": "string", + "description": "Cursor — ID of the last item from the previous page.", + "example": "cus_NffrFeUfNV2Hib", + }, + "ending_before": { + "type": "string", + "description": "Cursor for backwards pagination.", + "example": "", + }, + "email": { + "type": "string", + "description": "Exact-match email filter.", + "example": "jane@example.com", + }, + "created_gte": { + "type": "integer", + "description": "Created at or after this UNIX timestamp.", + "example": 1717200000, + }, + "created_lte": { + "type": "integer", + "description": "Created at or before this UNIX timestamp.", + "example": 1719792000, + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand (e.g. 'default_source,subscriptions').", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -54,7 +82,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_customers", + "stripe", + "list_customers", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -70,8 +99,16 @@ def _csv(v): description="Retrieve a Stripe customer by ID.", action_sets=["stripe_customers", "stripe"], input_schema={ - "customer_id": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "default_source,invoice_settings.default_payment_method"}, + "customer_id": { + "type": "string", + "description": "Customer ID.", + "example": "cus_NffrFeUfNV2Hib", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "default_source,invoice_settings.default_payment_method", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -84,7 +121,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_customer", + "stripe", + "get_customer", customer_id=input_data["customer_id"], expand=_csv(input_data.get("expand")), ) @@ -95,17 +133,64 @@ def _csv(v): description="Create a Stripe customer. At minimum pass email or name. Returns the new cus_… ID.", action_sets=["stripe_customers", "stripe"], input_schema={ - "email": {"type": "string", "description": "Customer email.", "example": "jane@example.com"}, - "name": {"type": "string", "description": "Customer full name.", "example": "Jane Doe"}, - "phone": {"type": "string", "description": "Phone number (E.164 recommended).", "example": "+15551234567"}, - "description": {"type": "string", "description": "Internal description / note.", "example": "Imported from CSV 2026-06-14"}, - "address": {"type": "object", "description": "Billing address (line1, line2, city, state, postal_code, country).", "example": {"line1": "1 Main St", "city": "Springfield", "country": "US"}}, - "shipping": {"type": "object", "description": "Shipping object: {name, phone, address}.", "example": {"name": "Jane Doe", "address": {"line1": "1 Main St", "country": "US"}}}, - "metadata": {"type": "object", "description": "Arbitrary key/value labels.", "example": {"crm_id": "12345"}}, - "payment_method": {"type": "string", "description": "Default payment method to attach.", "example": ""}, - "invoice_settings": {"type": "object", "description": "Defaults applied to future invoices.", "example": {"default_payment_method": "pm_xxx"}}, - "tax_exempt": {"type": "string", "description": "'none' | 'exempt' | 'reverse'.", "example": "none"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key — pass the same key on a retry to dedupe.", "example": ""}, + "email": { + "type": "string", + "description": "Customer email.", + "example": "jane@example.com", + }, + "name": { + "type": "string", + "description": "Customer full name.", + "example": "Jane Doe", + }, + "phone": { + "type": "string", + "description": "Phone number (E.164 recommended).", + "example": "+15551234567", + }, + "description": { + "type": "string", + "description": "Internal description / note.", + "example": "Imported from CSV 2026-06-14", + }, + "address": { + "type": "object", + "description": "Billing address (line1, line2, city, state, postal_code, country).", + "example": {"line1": "1 Main St", "city": "Springfield", "country": "US"}, + }, + "shipping": { + "type": "object", + "description": "Shipping object: {name, phone, address}.", + "example": { + "name": "Jane Doe", + "address": {"line1": "1 Main St", "country": "US"}, + }, + }, + "metadata": { + "type": "object", + "description": "Arbitrary key/value labels.", + "example": {"crm_id": "12345"}, + }, + "payment_method": { + "type": "string", + "description": "Default payment method to attach.", + "example": "", + }, + "invoice_settings": { + "type": "object", + "description": "Defaults applied to future invoices.", + "example": {"default_payment_method": "pm_xxx"}, + }, + "tax_exempt": { + "type": "string", + "description": "'none' | 'exempt' | 'reverse'.", + "example": "none", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key — pass the same key on a retry to dedupe.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -114,7 +199,8 @@ async def create_stripe_customer(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_customer", + "stripe", + "create_customer", email=input_data.get("email") or None, name=input_data.get("name") or None, phone=input_data.get("phone") or None, @@ -134,9 +220,21 @@ async def create_stripe_customer(input_data: dict) -> dict: description="Update a Stripe customer. 'properties' is the flat update dict (email, name, phone, address, metadata, …).", action_sets=["stripe_customers", "stripe"], input_schema={ - "customer_id": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"email": "new@example.com", "metadata": {"vip": "true"}}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "customer_id": { + "type": "string", + "description": "Customer ID.", + "example": "cus_NffrFeUfNV2Hib", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"email": "new@example.com", "metadata": {"vip": "true"}}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -145,7 +243,8 @@ async def update_stripe_customer(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_customer", + "stripe", + "update_customer", customer_id=input_data["customer_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -157,7 +256,11 @@ async def update_stripe_customer(input_data: dict) -> dict: description="Permanently delete a Stripe customer. Charges and invoices already tied to the customer are preserved. This action is irreversible.", action_sets=["stripe_customers"], input_schema={ - "customer_id": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, + "customer_id": { + "type": "string", + "description": "Customer ID.", + "example": "cus_NffrFeUfNV2Hib", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -166,7 +269,8 @@ async def delete_stripe_customer(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "delete_customer", + "stripe", + "delete_customer", customer_id=input_data["customer_id"], ) @@ -176,10 +280,26 @@ async def delete_stripe_customer(input_data: dict) -> dict: description="Search Stripe customers using Stripe's query language. Examples: \"email:'jane@example.com'\", \"name~'jane' AND metadata['vip']:'true'\". NOT free text — every clause names a property.", action_sets=["stripe_customers", "stripe"], input_schema={ - "query": {"type": "string", "description": "Stripe query language clause. Operators: ':' (equal), '~' (contains), AND, OR.", "example": "email:'jane@example.com'"}, - "limit": {"type": "integer", "description": "Max results (1-100, default 10).", "example": 10}, - "page": {"type": "string", "description": "Pagination page token from previous response.next_page.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "query": { + "type": "string", + "description": "Stripe query language clause. Operators: ':' (equal), '~' (contains), AND, OR.", + "example": "email:'jane@example.com'", + }, + "limit": { + "type": "integer", + "description": "Max results (1-100, default 10).", + "example": 10, + }, + "page": { + "type": "string", + "description": "Pagination page token from previous response.next_page.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -192,7 +312,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "search_customers", + "stripe", + "search_customers", query=input_data["query"], limit=input_data.get("limit", 10), page=input_data.get("page") or None, @@ -210,13 +331,33 @@ def _csv(v): description="List PaymentIntents. Filter by customer, created window. Cursor pagination via 'starting_after'.", action_sets=["stripe_payments", "stripe"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100, default 10).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100, default 10).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "customer": {"type": "string", "description": "Filter to a specific customer.", "example": "cus_NffrFeUfNV2Hib"}, - "created_gte": {"type": "integer", "description": "Created >= UNIX timestamp.", "example": 0}, - "created_lte": {"type": "integer", "description": "Created <= UNIX timestamp.", "example": 0}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.customer,data.latest_charge"}, + "customer": { + "type": "string", + "description": "Filter to a specific customer.", + "example": "cus_NffrFeUfNV2Hib", + }, + "created_gte": { + "type": "integer", + "description": "Created >= UNIX timestamp.", + "example": 0, + }, + "created_lte": { + "type": "integer", + "description": "Created <= UNIX timestamp.", + "example": 0, + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "data.customer,data.latest_charge", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -229,7 +370,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_payment_intents", + "stripe", + "list_payment_intents", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -245,8 +387,16 @@ def _csv(v): description="Retrieve a PaymentIntent by ID.", action_sets=["stripe_payments"], input_schema={ - "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_3MtwBwLkdIwHu7ix28a3tqPa"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "customer,latest_charge"}, + "payment_intent_id": { + "type": "string", + "description": "PaymentIntent ID.", + "example": "pi_3MtwBwLkdIwHu7ix28a3tqPa", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "customer,latest_charge", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -259,7 +409,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_payment_intent", + "stripe", + "get_payment_intent", payment_intent_id=input_data["payment_intent_id"], expand=_csv(input_data.get("expand")), ) @@ -270,20 +421,76 @@ def _csv(v): description="Create a PaymentIntent. 'amount' is in the smallest currency unit ($10 USD = 1000). Defaults to automatic_payment_methods when neither payment_method nor payment_method_types is set.", action_sets=["stripe_payments", "stripe"], input_schema={ - "amount": {"type": "integer", "description": "Amount in smallest currency unit (cents for USD).", "example": 2000}, - "currency": {"type": "string", "description": "ISO 4217 lowercase. Defaults to integration 'default_currency'.", "example": "usd"}, - "customer": {"type": "string", "description": "Customer ID for off-session future payments.", "example": "cus_NffrFeUfNV2Hib"}, - "payment_method": {"type": "string", "description": "Existing payment method to attach.", "example": ""}, - "payment_method_types": {"type": "array", "description": "Allowed payment method types. Mutually exclusive with automatic_payment_methods.", "example": ["card"]}, - "automatic_payment_methods": {"type": "object", "description": "Enable Stripe's automatic method picker.", "example": {"enabled": True}}, - "confirm": {"type": "boolean", "description": "Confirm immediately. Requires payment_method.", "example": False}, - "capture_method": {"type": "string", "description": "'automatic' or 'manual' (capture later).", "example": "automatic"}, - "description": {"type": "string", "description": "Internal description.", "example": "Order #42"}, - "receipt_email": {"type": "string", "description": "Email to send receipt to on success.", "example": ""}, - "setup_future_usage": {"type": "string", "description": "'on_session' | 'off_session' — save method for later.", "example": ""}, - "statement_descriptor": {"type": "string", "description": "Appears on customer's bank statement.", "example": ""}, - "metadata": {"type": "object", "description": "Arbitrary key/value labels.", "example": {"order_id": "42"}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "amount": { + "type": "integer", + "description": "Amount in smallest currency unit (cents for USD).", + "example": 2000, + }, + "currency": { + "type": "string", + "description": "ISO 4217 lowercase. Defaults to integration 'default_currency'.", + "example": "usd", + }, + "customer": { + "type": "string", + "description": "Customer ID for off-session future payments.", + "example": "cus_NffrFeUfNV2Hib", + }, + "payment_method": { + "type": "string", + "description": "Existing payment method to attach.", + "example": "", + }, + "payment_method_types": { + "type": "array", + "description": "Allowed payment method types. Mutually exclusive with automatic_payment_methods.", + "example": ["card"], + }, + "automatic_payment_methods": { + "type": "object", + "description": "Enable Stripe's automatic method picker.", + "example": {"enabled": True}, + }, + "confirm": { + "type": "boolean", + "description": "Confirm immediately. Requires payment_method.", + "example": False, + }, + "capture_method": { + "type": "string", + "description": "'automatic' or 'manual' (capture later).", + "example": "automatic", + }, + "description": { + "type": "string", + "description": "Internal description.", + "example": "Order #42", + }, + "receipt_email": { + "type": "string", + "description": "Email to send receipt to on success.", + "example": "", + }, + "setup_future_usage": { + "type": "string", + "description": "'on_session' | 'off_session' — save method for later.", + "example": "", + }, + "statement_descriptor": { + "type": "string", + "description": "Appears on customer's bank statement.", + "example": "", + }, + "metadata": { + "type": "object", + "description": "Arbitrary key/value labels.", + "example": {"order_id": "42"}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -292,7 +499,8 @@ async def create_stripe_payment_intent(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_payment_intent", + "stripe", + "create_payment_intent", amount=input_data["amount"], currency=input_data.get("currency") or None, customer=input_data.get("customer") or None, @@ -315,9 +523,21 @@ async def create_stripe_payment_intent(input_data: dict) -> dict: description="Update a PaymentIntent's properties (amount, metadata, description, etc.). Cannot update once succeeded.", action_sets=["stripe_payments"], input_schema={ - "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"amount": 3000, "metadata": {"updated_by": "agent"}}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_intent_id": { + "type": "string", + "description": "PaymentIntent ID.", + "example": "pi_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"amount": 3000, "metadata": {"updated_by": "agent"}}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -326,7 +546,8 @@ async def update_stripe_payment_intent(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_payment_intent", + "stripe", + "update_payment_intent", payment_intent_id=input_data["payment_intent_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -338,12 +559,36 @@ async def update_stripe_payment_intent(input_data: dict) -> dict: description="Confirm a PaymentIntent server-side. For off-session repeat charges or completing a flow started client-side. May return 'requires_action' (3DS/SCA).", action_sets=["stripe_payments"], input_schema={ - "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_…"}, - "payment_method": {"type": "string", "description": "Payment method to use.", "example": "pm_…"}, - "return_url": {"type": "string", "description": "URL to redirect to after authentication.", "example": "https://example.com/return"}, - "off_session": {"type": "boolean", "description": "True for charging a saved method without customer present.", "example": True}, - "setup_future_usage": {"type": "string", "description": "'on_session' | 'off_session'.", "example": ""}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_intent_id": { + "type": "string", + "description": "PaymentIntent ID.", + "example": "pi_…", + }, + "payment_method": { + "type": "string", + "description": "Payment method to use.", + "example": "pm_…", + }, + "return_url": { + "type": "string", + "description": "URL to redirect to after authentication.", + "example": "https://example.com/return", + }, + "off_session": { + "type": "boolean", + "description": "True for charging a saved method without customer present.", + "example": True, + }, + "setup_future_usage": { + "type": "string", + "description": "'on_session' | 'off_session'.", + "example": "", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -352,7 +597,8 @@ async def confirm_stripe_payment_intent(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "confirm_payment_intent", + "stripe", + "confirm_payment_intent", payment_intent_id=input_data["payment_intent_id"], payment_method=input_data.get("payment_method") or None, return_url=input_data.get("return_url") or None, @@ -367,10 +613,26 @@ async def confirm_stripe_payment_intent(input_data: dict) -> dict: description="Capture funds for a PaymentIntent previously authorized with capture_method='manual'. Optional partial capture via amount_to_capture.", action_sets=["stripe_payments", "stripe"], input_schema={ - "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_…"}, - "amount_to_capture": {"type": "integer", "description": "Partial capture amount in smallest unit. Omit to capture the full amount.", "example": 0}, - "statement_descriptor": {"type": "string", "description": "Override statement descriptor for this capture.", "example": ""}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_intent_id": { + "type": "string", + "description": "PaymentIntent ID.", + "example": "pi_…", + }, + "amount_to_capture": { + "type": "integer", + "description": "Partial capture amount in smallest unit. Omit to capture the full amount.", + "example": 0, + }, + "statement_descriptor": { + "type": "string", + "description": "Override statement descriptor for this capture.", + "example": "", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -379,7 +641,8 @@ async def capture_stripe_payment_intent(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "capture_payment_intent", + "stripe", + "capture_payment_intent", payment_intent_id=input_data["payment_intent_id"], amount_to_capture=input_data.get("amount_to_capture") or None, statement_descriptor=input_data.get("statement_descriptor") or None, @@ -392,9 +655,21 @@ async def capture_stripe_payment_intent(input_data: dict) -> dict: description="Cancel a PaymentIntent. Only allowed for PIs in requires_payment_method, requires_capture, requires_confirmation, or requires_action.", action_sets=["stripe_payments"], input_schema={ - "payment_intent_id": {"type": "string", "description": "PaymentIntent ID.", "example": "pi_…"}, - "cancellation_reason": {"type": "string", "description": "'duplicate' | 'fraudulent' | 'requested_by_customer' | 'abandoned'.", "example": "requested_by_customer"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_intent_id": { + "type": "string", + "description": "PaymentIntent ID.", + "example": "pi_…", + }, + "cancellation_reason": { + "type": "string", + "description": "'duplicate' | 'fraudulent' | 'requested_by_customer' | 'abandoned'.", + "example": "requested_by_customer", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -403,7 +678,8 @@ async def cancel_stripe_payment_intent(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "cancel_payment_intent", + "stripe", + "cancel_payment_intent", payment_intent_id=input_data["payment_intent_id"], cancellation_reason=input_data.get("cancellation_reason") or None, idempotency_key=input_data.get("idempotency_key") or None, @@ -415,10 +691,26 @@ async def cancel_stripe_payment_intent(input_data: dict) -> dict: description="Search PaymentIntents with Stripe's query language. Example: \"status:'succeeded' AND amount>1000\".", action_sets=["stripe_payments"], input_schema={ - "query": {"type": "string", "description": "Stripe query clause.", "example": "status:'succeeded' AND amount>1000"}, - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, - "page": {"type": "string", "description": "Pagination page token.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "query": { + "type": "string", + "description": "Stripe query clause.", + "example": "status:'succeeded' AND amount>1000", + }, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, + "page": { + "type": "string", + "description": "Pagination page token.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -431,7 +723,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "search_payment_intents", + "stripe", + "search_payment_intents", query=input_data["query"], limit=input_data.get("limit", 10), page=input_data.get("page") or None, @@ -444,13 +737,33 @@ def _csv(v): description="List Charges (legacy direct-charge view). Filter by customer, payment_intent, or transfer_group.", action_sets=["stripe_payments"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "customer": {"type": "string", "description": "Filter to a specific customer.", "example": ""}, - "payment_intent": {"type": "string", "description": "Filter to a specific PaymentIntent.", "example": ""}, - "transfer_group": {"type": "string", "description": "Filter to a transfer_group label.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "customer": { + "type": "string", + "description": "Filter to a specific customer.", + "example": "", + }, + "payment_intent": { + "type": "string", + "description": "Filter to a specific PaymentIntent.", + "example": "", + }, + "transfer_group": { + "type": "string", + "description": "Filter to a transfer_group label.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -463,7 +776,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_charges", + "stripe", + "list_charges", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -479,8 +793,16 @@ def _csv(v): description="Retrieve a Charge by ID.", action_sets=["stripe_payments"], input_schema={ - "charge_id": {"type": "string", "description": "Charge ID.", "example": "ch_3MtwBwLkdIwHu7ix28a3tqPa"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "customer,payment_intent"}, + "charge_id": { + "type": "string", + "description": "Charge ID.", + "example": "ch_3MtwBwLkdIwHu7ix28a3tqPa", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "customer,payment_intent", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -493,7 +815,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_charge", + "stripe", + "get_charge", charge_id=input_data["charge_id"], expand=_csv(input_data.get("expand")), ) @@ -504,12 +827,36 @@ def _csv(v): description="Refund a PaymentIntent or Charge. Pass exactly ONE of payment_intent / charge. Omit 'amount' for a full refund.", action_sets=["stripe_payments", "stripe"], input_schema={ - "payment_intent": {"type": "string", "description": "PaymentIntent ID to refund. Mutually exclusive with 'charge'.", "example": "pi_…"}, - "charge": {"type": "string", "description": "Charge ID to refund. Mutually exclusive with 'payment_intent'.", "example": ""}, - "amount": {"type": "integer", "description": "Partial refund amount in smallest currency unit. Omit for full refund.", "example": 0}, - "reason": {"type": "string", "description": "'duplicate' | 'fraudulent' | 'requested_by_customer'.", "example": "requested_by_customer"}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {"ticket_id": "T-42"}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_intent": { + "type": "string", + "description": "PaymentIntent ID to refund. Mutually exclusive with 'charge'.", + "example": "pi_…", + }, + "charge": { + "type": "string", + "description": "Charge ID to refund. Mutually exclusive with 'payment_intent'.", + "example": "", + }, + "amount": { + "type": "integer", + "description": "Partial refund amount in smallest currency unit. Omit for full refund.", + "example": 0, + }, + "reason": { + "type": "string", + "description": "'duplicate' | 'fraudulent' | 'requested_by_customer'.", + "example": "requested_by_customer", + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {"ticket_id": "T-42"}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -518,7 +865,8 @@ async def create_stripe_refund(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_refund", + "stripe", + "create_refund", payment_intent=input_data.get("payment_intent") or None, charge=input_data.get("charge") or None, amount=input_data.get("amount") or None, @@ -533,8 +881,16 @@ async def create_stripe_refund(input_data: dict) -> dict: description="Retrieve a Refund by ID.", action_sets=["stripe_payments"], input_schema={ - "refund_id": {"type": "string", "description": "Refund ID.", "example": "re_3MtwBwLkdIwHu7ix28a3tqPa"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "refund_id": { + "type": "string", + "description": "Refund ID.", + "example": "re_3MtwBwLkdIwHu7ix28a3tqPa", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -547,7 +903,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_refund", + "stripe", + "get_refund", refund_id=input_data["refund_id"], expand=_csv(input_data.get("expand")), ) @@ -558,12 +915,28 @@ def _csv(v): description="List Refunds, optionally scoped to a PaymentIntent or Charge.", action_sets=["stripe_payments"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "payment_intent": {"type": "string", "description": "Filter to a specific PaymentIntent.", "example": ""}, - "charge": {"type": "string", "description": "Filter to a specific Charge.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "payment_intent": { + "type": "string", + "description": "Filter to a specific PaymentIntent.", + "example": "", + }, + "charge": { + "type": "string", + "description": "Filter to a specific Charge.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -576,7 +949,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_refunds", + "stripe", + "list_refunds", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -596,12 +970,28 @@ def _csv(v): description="List PaymentMethods. If customer is set, lists methods attached to that customer; otherwise lists across the account.", action_sets=["stripe_payment_methods"], input_schema={ - "customer": {"type": "string", "description": "Filter to a customer's attached methods.", "example": "cus_NffrFeUfNV2Hib"}, - "type": {"type": "string", "description": "Payment method type ('card', 'us_bank_account', 'sepa_debit', …). Default 'card'.", "example": "card"}, - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "customer": { + "type": "string", + "description": "Filter to a customer's attached methods.", + "example": "cus_NffrFeUfNV2Hib", + }, + "type": { + "type": "string", + "description": "Payment method type ('card', 'us_bank_account', 'sepa_debit', …). Default 'card'.", + "example": "card", + }, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -614,7 +1004,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_payment_methods", + "stripe", + "list_payment_methods", customer=input_data.get("customer") or None, type=input_data.get("type") or "card", limit=input_data.get("limit", 10), @@ -629,8 +1020,16 @@ def _csv(v): description="Retrieve a PaymentMethod by ID.", action_sets=["stripe_payment_methods"], input_schema={ - "payment_method_id": {"type": "string", "description": "PaymentMethod ID.", "example": "pm_…"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "payment_method_id": { + "type": "string", + "description": "PaymentMethod ID.", + "example": "pm_…", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -643,7 +1042,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_payment_method", + "stripe", + "get_payment_method", payment_method_id=input_data["payment_method_id"], expand=_csv(input_data.get("expand")), ) @@ -654,9 +1054,21 @@ def _csv(v): description="Attach a PaymentMethod to a Customer so it can be used for future off-session charges.", action_sets=["stripe_payment_methods"], input_schema={ - "payment_method_id": {"type": "string", "description": "PaymentMethod ID.", "example": "pm_…"}, - "customer": {"type": "string", "description": "Customer to attach to.", "example": "cus_NffrFeUfNV2Hib"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_method_id": { + "type": "string", + "description": "PaymentMethod ID.", + "example": "pm_…", + }, + "customer": { + "type": "string", + "description": "Customer to attach to.", + "example": "cus_NffrFeUfNV2Hib", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -665,7 +1077,8 @@ async def attach_stripe_payment_method(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "attach_payment_method", + "stripe", + "attach_payment_method", payment_method_id=input_data["payment_method_id"], customer=input_data["customer"], idempotency_key=input_data.get("idempotency_key") or None, @@ -677,8 +1090,16 @@ async def attach_stripe_payment_method(input_data: dict) -> dict: description="Detach a PaymentMethod from its Customer. Future charges against it will fail.", action_sets=["stripe_payment_methods"], input_schema={ - "payment_method_id": {"type": "string", "description": "PaymentMethod ID.", "example": "pm_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_method_id": { + "type": "string", + "description": "PaymentMethod ID.", + "example": "pm_…", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -687,7 +1108,8 @@ async def detach_stripe_payment_method(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "detach_payment_method", + "stripe", + "detach_payment_method", payment_method_id=input_data["payment_method_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -698,9 +1120,24 @@ async def detach_stripe_payment_method(input_data: dict) -> dict: description="Update a PaymentMethod's metadata or billing details. Card brand/number CANNOT be updated.", action_sets=["stripe_payment_methods"], input_schema={ - "payment_method_id": {"type": "string", "description": "PaymentMethod ID.", "example": "pm_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"billing_details": {"email": "new@example.com"}, "metadata": {"label": "primary"}}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_method_id": { + "type": "string", + "description": "PaymentMethod ID.", + "example": "pm_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": { + "billing_details": {"email": "new@example.com"}, + "metadata": {"label": "primary"}, + }, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -709,7 +1146,8 @@ async def update_stripe_payment_method(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_payment_method", + "stripe", + "update_payment_method", payment_method_id=input_data["payment_method_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -726,12 +1164,28 @@ async def update_stripe_payment_method(input_data: dict) -> dict: description="List Products. Filter by active flag or an explicit IDs list.", action_sets=["stripe_products", "stripe"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "active": {"type": "boolean", "description": "Only active or only inactive.", "example": True}, - "ids": {"type": "array", "description": "Explicit list of product IDs to fetch.", "example": ["prod_…"]}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.default_price"}, + "active": { + "type": "boolean", + "description": "Only active or only inactive.", + "example": True, + }, + "ids": { + "type": "array", + "description": "Explicit list of product IDs to fetch.", + "example": ["prod_…"], + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "data.default_price", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -744,7 +1198,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_products", + "stripe", + "list_products", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -759,8 +1214,16 @@ def _csv(v): description="Retrieve a Product by ID.", action_sets=["stripe_products"], input_schema={ - "product_id": {"type": "string", "description": "Product ID.", "example": "prod_NWjs8kKbJWmuuc"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "default_price"}, + "product_id": { + "type": "string", + "description": "Product ID.", + "example": "prod_NWjs8kKbJWmuuc", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "default_price", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -773,7 +1236,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_product", + "stripe", + "get_product", product_id=input_data["product_id"], expand=_csv(input_data.get("expand")), ) @@ -784,18 +1248,66 @@ def _csv(v): description="Create a Product. Pass default_price_data to create the product and its first price atomically.", action_sets=["stripe_products", "stripe"], input_schema={ - "name": {"type": "string", "description": "Product name (required).", "example": "Standard Plan"}, - "description": {"type": "string", "description": "Marketing description.", "example": "Up to 5 seats"}, - "active": {"type": "boolean", "description": "Whether the product is active. Default True.", "example": True}, - "images": {"type": "array", "description": "Image URLs.", "example": ["https://example.com/img.png"]}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {"sku": "SP-001"}}, - "default_price_data": {"type": "object", "description": "Inline price to create alongside the product.", "example": {"currency": "usd", "unit_amount": 1000, "recurring": {"interval": "month"}}}, - "shippable": {"type": "boolean", "description": "Whether the product is shippable.", "example": False}, - "statement_descriptor": {"type": "string", "description": "Appears on bank statements.", "example": ""}, - "tax_code": {"type": "string", "description": "Stripe Tax code (txcd_…).", "example": ""}, - "unit_label": {"type": "string", "description": "Singular noun for a unit (e.g. 'seat').", "example": "seat"}, + "name": { + "type": "string", + "description": "Product name (required).", + "example": "Standard Plan", + }, + "description": { + "type": "string", + "description": "Marketing description.", + "example": "Up to 5 seats", + }, + "active": { + "type": "boolean", + "description": "Whether the product is active. Default True.", + "example": True, + }, + "images": { + "type": "array", + "description": "Image URLs.", + "example": ["https://example.com/img.png"], + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {"sku": "SP-001"}, + }, + "default_price_data": { + "type": "object", + "description": "Inline price to create alongside the product.", + "example": { + "currency": "usd", + "unit_amount": 1000, + "recurring": {"interval": "month"}, + }, + }, + "shippable": { + "type": "boolean", + "description": "Whether the product is shippable.", + "example": False, + }, + "statement_descriptor": { + "type": "string", + "description": "Appears on bank statements.", + "example": "", + }, + "tax_code": { + "type": "string", + "description": "Stripe Tax code (txcd_…).", + "example": "", + }, + "unit_label": { + "type": "string", + "description": "Singular noun for a unit (e.g. 'seat').", + "example": "seat", + }, "url": {"type": "string", "description": "Public product URL.", "example": ""}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -804,7 +1316,8 @@ async def create_stripe_product(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_product", + "stripe", + "create_product", name=input_data["name"], description=input_data.get("description") or None, active=input_data.get("active"), @@ -825,9 +1338,21 @@ async def create_stripe_product(input_data: dict) -> dict: description="Update a Product's properties.", action_sets=["stripe_products"], input_schema={ - "product_id": {"type": "string", "description": "Product ID.", "example": "prod_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"name": "Pro Plan", "active": True}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "product_id": { + "type": "string", + "description": "Product ID.", + "example": "prod_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"name": "Pro Plan", "active": True}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -836,7 +1361,8 @@ async def update_stripe_product(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_product", + "stripe", + "update_product", product_id=input_data["product_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -848,7 +1374,11 @@ async def update_stripe_product(input_data: dict) -> dict: description="Delete a Product. Only allowed if it has no associated Prices. Otherwise mark it active=False via update.", action_sets=["stripe_products"], input_schema={ - "product_id": {"type": "string", "description": "Product ID.", "example": "prod_…"}, + "product_id": { + "type": "string", + "description": "Product ID.", + "example": "prod_…", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -857,7 +1387,8 @@ async def delete_stripe_product(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "delete_product", + "stripe", + "delete_product", product_id=input_data["product_id"], ) @@ -867,15 +1398,43 @@ async def delete_stripe_product(input_data: dict) -> dict: description="List Prices, optionally scoped to a product. Filter recurring vs one_time via 'type', cadence via 'recurring_interval'.", action_sets=["stripe_products"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "active": {"type": "boolean", "description": "Only active or only inactive.", "example": True}, - "product": {"type": "string", "description": "Filter to a specific product.", "example": "prod_…"}, - "currency": {"type": "string", "description": "ISO 4217 lowercase filter.", "example": "usd"}, - "type": {"type": "string", "description": "'one_time' | 'recurring'.", "example": "recurring"}, - "recurring_interval": {"type": "string", "description": "'day' | 'week' | 'month' | 'year'.", "example": "month"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.product"}, + "active": { + "type": "boolean", + "description": "Only active or only inactive.", + "example": True, + }, + "product": { + "type": "string", + "description": "Filter to a specific product.", + "example": "prod_…", + }, + "currency": { + "type": "string", + "description": "ISO 4217 lowercase filter.", + "example": "usd", + }, + "type": { + "type": "string", + "description": "'one_time' | 'recurring'.", + "example": "recurring", + }, + "recurring_interval": { + "type": "string", + "description": "'day' | 'week' | 'month' | 'year'.", + "example": "month", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "data.product", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -888,7 +1447,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_prices", + "stripe", + "list_prices", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -906,8 +1466,16 @@ def _csv(v): description="Retrieve a Price by ID.", action_sets=["stripe_products"], input_schema={ - "price_id": {"type": "string", "description": "Price ID.", "example": "price_1MoBy5LkdIwHu7ixZhnattbh"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "product"}, + "price_id": { + "type": "string", + "description": "Price ID.", + "example": "price_1MoBy5LkdIwHu7ixZhnattbh", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "product", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -920,7 +1488,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_price", + "stripe", + "get_price", price_id=input_data["price_id"], expand=_csv(input_data.get("expand")), ) @@ -931,18 +1500,66 @@ def _csv(v): description="Create a Price for an existing Product (or set product_data inline). Pass 'recurring' for subscriptions, omit for one-time. unit_amount is in smallest currency unit.", action_sets=["stripe_products", "stripe"], input_schema={ - "currency": {"type": "string", "description": "ISO 4217 lowercase. Defaults to integration default_currency.", "example": "usd"}, - "product": {"type": "string", "description": "Existing Product ID. Mutually exclusive with product_data.", "example": "prod_…"}, - "product_data": {"type": "object", "description": "Inline product to create.", "example": {"name": "New product"}}, - "unit_amount": {"type": "integer", "description": "Price in smallest currency unit.", "example": 1000}, - "unit_amount_decimal": {"type": "string", "description": "Decimal price (e.g. '1000.5'). Use when sub-cent precision is needed.", "example": ""}, - "active": {"type": "boolean", "description": "Whether the price is active.", "example": True}, - "nickname": {"type": "string", "description": "Internal label.", "example": "Monthly Standard"}, - "recurring": {"type": "object", "description": "Recurring config: {interval: 'month', interval_count: 1, usage_type: 'licensed'}.", "example": {"interval": "month"}}, - "tax_behavior": {"type": "string", "description": "'inclusive' | 'exclusive' | 'unspecified'.", "example": "unspecified"}, - "billing_scheme": {"type": "string", "description": "'per_unit' | 'tiered'.", "example": "per_unit"}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {"plan_id": "monthly_v2"}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "currency": { + "type": "string", + "description": "ISO 4217 lowercase. Defaults to integration default_currency.", + "example": "usd", + }, + "product": { + "type": "string", + "description": "Existing Product ID. Mutually exclusive with product_data.", + "example": "prod_…", + }, + "product_data": { + "type": "object", + "description": "Inline product to create.", + "example": {"name": "New product"}, + }, + "unit_amount": { + "type": "integer", + "description": "Price in smallest currency unit.", + "example": 1000, + }, + "unit_amount_decimal": { + "type": "string", + "description": "Decimal price (e.g. '1000.5'). Use when sub-cent precision is needed.", + "example": "", + }, + "active": { + "type": "boolean", + "description": "Whether the price is active.", + "example": True, + }, + "nickname": { + "type": "string", + "description": "Internal label.", + "example": "Monthly Standard", + }, + "recurring": { + "type": "object", + "description": "Recurring config: {interval: 'month', interval_count: 1, usage_type: 'licensed'}.", + "example": {"interval": "month"}, + }, + "tax_behavior": { + "type": "string", + "description": "'inclusive' | 'exclusive' | 'unspecified'.", + "example": "unspecified", + }, + "billing_scheme": { + "type": "string", + "description": "'per_unit' | 'tiered'.", + "example": "per_unit", + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {"plan_id": "monthly_v2"}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -951,7 +1568,8 @@ async def create_stripe_price(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_price", + "stripe", + "create_price", currency=input_data.get("currency") or None, product=input_data.get("product") or None, product_data=input_data.get("product_data") or None, @@ -972,9 +1590,21 @@ async def create_stripe_price(input_data: dict) -> dict: description="Update a Price. Most fields are immutable; nickname, active, metadata, tax_behavior are updatable.", action_sets=["stripe_products"], input_schema={ - "price_id": {"type": "string", "description": "Price ID.", "example": "price_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"active": False, "nickname": "Legacy"}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "price_id": { + "type": "string", + "description": "Price ID.", + "example": "price_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"active": False, "nickname": "Legacy"}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -983,7 +1613,8 @@ async def update_stripe_price(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_price", + "stripe", + "update_price", price_id=input_data["price_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -1000,16 +1631,48 @@ async def update_stripe_price(input_data: dict) -> dict: description="List Invoices. Filter by customer, subscription, status (draft/open/paid/void/uncollectible), or created window.", action_sets=["stripe_invoices", "stripe"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "customer": {"type": "string", "description": "Filter to a specific customer.", "example": ""}, - "subscription": {"type": "string", "description": "Filter to a specific subscription.", "example": ""}, - "status": {"type": "string", "description": "'draft' | 'open' | 'paid' | 'uncollectible' | 'void'.", "example": "open"}, - "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": ""}, - "created_gte": {"type": "integer", "description": "Created >= UNIX timestamp.", "example": 0}, - "created_lte": {"type": "integer", "description": "Created <= UNIX timestamp.", "example": 0}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.customer,data.subscription"}, + "customer": { + "type": "string", + "description": "Filter to a specific customer.", + "example": "", + }, + "subscription": { + "type": "string", + "description": "Filter to a specific subscription.", + "example": "", + }, + "status": { + "type": "string", + "description": "'draft' | 'open' | 'paid' | 'uncollectible' | 'void'.", + "example": "open", + }, + "collection_method": { + "type": "string", + "description": "'charge_automatically' | 'send_invoice'.", + "example": "", + }, + "created_gte": { + "type": "integer", + "description": "Created >= UNIX timestamp.", + "example": 0, + }, + "created_lte": { + "type": "integer", + "description": "Created <= UNIX timestamp.", + "example": 0, + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "data.customer,data.subscription", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1022,7 +1685,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_invoices", + "stripe", + "list_invoices", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -1041,8 +1705,16 @@ def _csv(v): description="Retrieve an Invoice by ID.", action_sets=["stripe_invoices"], input_schema={ - "invoice_id": {"type": "string", "description": "Invoice ID.", "example": "in_1MtwBwLkdIwHu7ix28a3tqPa"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "customer,subscription,charge"}, + "invoice_id": { + "type": "string", + "description": "Invoice ID.", + "example": "in_1MtwBwLkdIwHu7ix28a3tqPa", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "customer,subscription,charge", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1055,7 +1727,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_invoice", + "stripe", + "get_invoice", invoice_id=input_data["invoice_id"], expand=_csv(input_data.get("expand")), ) @@ -1066,18 +1739,66 @@ def _csv(v): description="Create a draft Invoice for a customer. Add line items first via create_stripe_invoice_item, then finalize via finalize_stripe_invoice.", action_sets=["stripe_invoices", "stripe"], input_schema={ - "customer": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, - "auto_advance": {"type": "boolean", "description": "Stripe finalizes + collects automatically.", "example": False}, - "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": "send_invoice"}, - "days_until_due": {"type": "integer", "description": "Required if collection_method='send_invoice'.", "example": 30}, - "due_date": {"type": "integer", "description": "Explicit due date (UNIX timestamp). Alternative to days_until_due.", "example": 0}, - "description": {"type": "string", "description": "Invoice description.", "example": "June consulting"}, - "footer": {"type": "string", "description": "Footer on the rendered invoice.", "example": ""}, - "default_payment_method": {"type": "string", "description": "PaymentMethod to use for charge_automatically.", "example": ""}, - "statement_descriptor": {"type": "string", "description": "Appears on bank statement.", "example": ""}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {"project_id": "P-42"}}, - "pending_invoice_items_behavior": {"type": "string", "description": "'include' | 'exclude' pending invoice items.", "example": "include"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "customer": { + "type": "string", + "description": "Customer ID.", + "example": "cus_NffrFeUfNV2Hib", + }, + "auto_advance": { + "type": "boolean", + "description": "Stripe finalizes + collects automatically.", + "example": False, + }, + "collection_method": { + "type": "string", + "description": "'charge_automatically' | 'send_invoice'.", + "example": "send_invoice", + }, + "days_until_due": { + "type": "integer", + "description": "Required if collection_method='send_invoice'.", + "example": 30, + }, + "due_date": { + "type": "integer", + "description": "Explicit due date (UNIX timestamp). Alternative to days_until_due.", + "example": 0, + }, + "description": { + "type": "string", + "description": "Invoice description.", + "example": "June consulting", + }, + "footer": { + "type": "string", + "description": "Footer on the rendered invoice.", + "example": "", + }, + "default_payment_method": { + "type": "string", + "description": "PaymentMethod to use for charge_automatically.", + "example": "", + }, + "statement_descriptor": { + "type": "string", + "description": "Appears on bank statement.", + "example": "", + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {"project_id": "P-42"}, + }, + "pending_invoice_items_behavior": { + "type": "string", + "description": "'include' | 'exclude' pending invoice items.", + "example": "include", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1086,7 +1807,8 @@ async def create_stripe_invoice(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_invoice", + "stripe", + "create_invoice", customer=input_data["customer"], auto_advance=input_data.get("auto_advance"), collection_method=input_data.get("collection_method") or None, @@ -1097,7 +1819,8 @@ async def create_stripe_invoice(input_data: dict) -> dict: default_payment_method=input_data.get("default_payment_method") or None, statement_descriptor=input_data.get("statement_descriptor") or None, metadata=input_data.get("metadata") or None, - pending_invoice_items_behavior=input_data.get("pending_invoice_items_behavior") or None, + pending_invoice_items_behavior=input_data.get("pending_invoice_items_behavior") + or None, idempotency_key=input_data.get("idempotency_key") or None, ) @@ -1107,9 +1830,21 @@ async def create_stripe_invoice(input_data: dict) -> dict: description="Update an Invoice. Most fields are only mutable while the invoice is in 'draft' status.", action_sets=["stripe_invoices"], input_schema={ - "invoice_id": {"type": "string", "description": "Invoice ID.", "example": "in_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"description": "Updated", "metadata": {"updated_by": "agent"}}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "invoice_id": { + "type": "string", + "description": "Invoice ID.", + "example": "in_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"description": "Updated", "metadata": {"updated_by": "agent"}}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1118,7 +1853,8 @@ async def update_stripe_invoice(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_invoice", + "stripe", + "update_invoice", invoice_id=input_data["invoice_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -1130,7 +1866,11 @@ async def update_stripe_invoice(input_data: dict) -> dict: description="Permanently delete a DRAFT Invoice. Once finalized use void_stripe_invoice instead.", action_sets=["stripe_invoices"], input_schema={ - "invoice_id": {"type": "string", "description": "Invoice ID.", "example": "in_…"}, + "invoice_id": { + "type": "string", + "description": "Invoice ID.", + "example": "in_…", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1139,7 +1879,8 @@ async def delete_stripe_invoice(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "delete_invoice", + "stripe", + "delete_invoice", invoice_id=input_data["invoice_id"], ) @@ -1149,9 +1890,21 @@ async def delete_stripe_invoice(input_data: dict) -> dict: description="Finalize a draft Invoice — locks line items and computes totals. Once finalized the invoice is open and can be sent or paid.", action_sets=["stripe_invoices", "stripe"], input_schema={ - "invoice_id": {"type": "string", "description": "Invoice ID (must be draft).", "example": "in_…"}, - "auto_advance": {"type": "boolean", "description": "After finalize, let Stripe handle collection automatically.", "example": True}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "invoice_id": { + "type": "string", + "description": "Invoice ID (must be draft).", + "example": "in_…", + }, + "auto_advance": { + "type": "boolean", + "description": "After finalize, let Stripe handle collection automatically.", + "example": True, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1160,7 +1913,8 @@ async def finalize_stripe_invoice(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "finalize_invoice", + "stripe", + "finalize_invoice", invoice_id=input_data["invoice_id"], auto_advance=input_data.get("auto_advance"), idempotency_key=input_data.get("idempotency_key") or None, @@ -1172,8 +1926,16 @@ async def finalize_stripe_invoice(input_data: dict) -> dict: description="Email a finalized Invoice to the customer. Only valid for invoices with collection_method='send_invoice'.", action_sets=["stripe_invoices", "stripe"], input_schema={ - "invoice_id": {"type": "string", "description": "Invoice ID (must be open / finalized).", "example": "in_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "invoice_id": { + "type": "string", + "description": "Invoice ID (must be open / finalized).", + "example": "in_…", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1182,7 +1944,8 @@ async def send_stripe_invoice(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "send_invoice", + "stripe", + "send_invoice", invoice_id=input_data["invoice_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -1193,12 +1956,36 @@ async def send_stripe_invoice(input_data: dict) -> dict: description="Attempt payment on an open Invoice. Optionally specify a payment method or mark paid_out_of_band for offline payments.", action_sets=["stripe_invoices"], input_schema={ - "invoice_id": {"type": "string", "description": "Invoice ID (must be open).", "example": "in_…"}, - "payment_method": {"type": "string", "description": "Override default payment method.", "example": ""}, - "off_session": {"type": "boolean", "description": "True for charging a saved method without customer present.", "example": True}, - "paid_out_of_band": {"type": "boolean", "description": "Mark as paid without actually charging (offline payment).", "example": False}, - "forgive": {"type": "boolean", "description": "Forgive any remaining balance after partial payment.", "example": False}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "invoice_id": { + "type": "string", + "description": "Invoice ID (must be open).", + "example": "in_…", + }, + "payment_method": { + "type": "string", + "description": "Override default payment method.", + "example": "", + }, + "off_session": { + "type": "boolean", + "description": "True for charging a saved method without customer present.", + "example": True, + }, + "paid_out_of_band": { + "type": "boolean", + "description": "Mark as paid without actually charging (offline payment).", + "example": False, + }, + "forgive": { + "type": "boolean", + "description": "Forgive any remaining balance after partial payment.", + "example": False, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1207,7 +1994,8 @@ async def pay_stripe_invoice(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "pay_invoice", + "stripe", + "pay_invoice", invoice_id=input_data["invoice_id"], payment_method=input_data.get("payment_method") or None, off_session=input_data.get("off_session"), @@ -1222,8 +2010,16 @@ async def pay_stripe_invoice(input_data: dict) -> dict: description="Void a finalized open Invoice. Irreversible. Use this to cancel a finalized invoice that should never be paid.", action_sets=["stripe_invoices"], input_schema={ - "invoice_id": {"type": "string", "description": "Invoice ID (must be open).", "example": "in_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "invoice_id": { + "type": "string", + "description": "Invoice ID (must be open).", + "example": "in_…", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1232,7 +2028,8 @@ async def void_stripe_invoice(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "void_invoice", + "stripe", + "void_invoice", invoice_id=input_data["invoice_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -1243,8 +2040,16 @@ async def void_stripe_invoice(input_data: dict) -> dict: description="Mark an open Invoice as uncollectible (write-off). The modern alternative to void for invoices you've decided not to collect.", action_sets=["stripe_invoices"], input_schema={ - "invoice_id": {"type": "string", "description": "Invoice ID (must be open).", "example": "in_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "invoice_id": { + "type": "string", + "description": "Invoice ID (must be open).", + "example": "in_…", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1253,7 +2058,8 @@ async def mark_stripe_invoice_uncollectible(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "mark_invoice_uncollectible", + "stripe", + "mark_invoice_uncollectible", invoice_id=input_data["invoice_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -1264,11 +2070,31 @@ async def mark_stripe_invoice_uncollectible(input_data: dict) -> dict: description="Preview the next invoice for a customer or subscription. Does NOT create anything in Stripe. Useful for showing 'what's next' or simulating subscription changes.", action_sets=["stripe_invoices"], input_schema={ - "customer": {"type": "string", "description": "Customer ID.", "example": "cus_…"}, - "subscription": {"type": "string", "description": "Subscription ID (alternative to customer).", "example": ""}, - "subscription_items": {"type": "array", "description": "Hypothetical items to simulate a change.", "example": []}, - "coupon": {"type": "string", "description": "Coupon to apply to the simulated invoice.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "customer": { + "type": "string", + "description": "Customer ID.", + "example": "cus_…", + }, + "subscription": { + "type": "string", + "description": "Subscription ID (alternative to customer).", + "example": "", + }, + "subscription_items": { + "type": "array", + "description": "Hypothetical items to simulate a change.", + "example": [], + }, + "coupon": { + "type": "string", + "description": "Coupon to apply to the simulated invoice.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1281,7 +2107,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_upcoming_invoice", + "stripe", + "get_upcoming_invoice", customer=input_data.get("customer") or None, subscription=input_data.get("subscription") or None, subscription_items=input_data.get("subscription_items") or None, @@ -1295,13 +2122,33 @@ def _csv(v): description="List Invoice Items. Filter to a customer, an invoice, or pending (not yet attached to an invoice).", action_sets=["stripe_invoices"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "customer": {"type": "string", "description": "Filter to a specific customer.", "example": ""}, - "invoice": {"type": "string", "description": "Filter to a specific invoice.", "example": ""}, - "pending": {"type": "boolean", "description": "Only items not yet on an invoice.", "example": True}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "customer": { + "type": "string", + "description": "Filter to a specific customer.", + "example": "", + }, + "invoice": { + "type": "string", + "description": "Filter to a specific invoice.", + "example": "", + }, + "pending": { + "type": "boolean", + "description": "Only items not yet on an invoice.", + "example": True, + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1314,7 +2161,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_invoice_items", + "stripe", + "list_invoice_items", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -1330,17 +2178,61 @@ def _csv(v): description="Create an Invoice Item for a customer. If 'invoice' is set, attaches to that draft invoice; otherwise it's pending for the next invoice.", action_sets=["stripe_invoices", "stripe"], input_schema={ - "customer": {"type": "string", "description": "Customer ID.", "example": "cus_…"}, - "invoice": {"type": "string", "description": "Draft invoice to attach to. Omit for pending.", "example": ""}, - "amount": {"type": "integer", "description": "Amount in smallest currency unit. Mutually exclusive with price.", "example": 2500}, - "currency": {"type": "string", "description": "ISO 4217 lowercase. Required when 'amount' is set.", "example": "usd"}, - "price": {"type": "string", "description": "Price ID. Mutually exclusive with amount.", "example": ""}, - "quantity": {"type": "integer", "description": "Quantity (default 1).", "example": 1}, - "description": {"type": "string", "description": "Line item description.", "example": "Consulting hour"}, - "discountable": {"type": "boolean", "description": "Whether discounts apply.", "example": True}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "tax_rates": {"type": "array", "description": "Stripe tax rate IDs to apply.", "example": []}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "customer": { + "type": "string", + "description": "Customer ID.", + "example": "cus_…", + }, + "invoice": { + "type": "string", + "description": "Draft invoice to attach to. Omit for pending.", + "example": "", + }, + "amount": { + "type": "integer", + "description": "Amount in smallest currency unit. Mutually exclusive with price.", + "example": 2500, + }, + "currency": { + "type": "string", + "description": "ISO 4217 lowercase. Required when 'amount' is set.", + "example": "usd", + }, + "price": { + "type": "string", + "description": "Price ID. Mutually exclusive with amount.", + "example": "", + }, + "quantity": { + "type": "integer", + "description": "Quantity (default 1).", + "example": 1, + }, + "description": { + "type": "string", + "description": "Line item description.", + "example": "Consulting hour", + }, + "discountable": { + "type": "boolean", + "description": "Whether discounts apply.", + "example": True, + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "tax_rates": { + "type": "array", + "description": "Stripe tax rate IDs to apply.", + "example": [], + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1349,7 +2241,8 @@ async def create_stripe_invoice_item(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_invoice_item", + "stripe", + "create_invoice_item", customer=input_data["customer"], invoice=input_data.get("invoice") or None, amount=input_data.get("amount") or None, @@ -1369,7 +2262,11 @@ async def create_stripe_invoice_item(input_data: dict) -> dict: description="Delete a pending Invoice Item (not yet finalized into an invoice).", action_sets=["stripe_invoices"], input_schema={ - "invoice_item_id": {"type": "string", "description": "Invoice Item ID.", "example": "ii_…"}, + "invoice_item_id": { + "type": "string", + "description": "Invoice Item ID.", + "example": "ii_…", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1378,7 +2275,8 @@ async def delete_stripe_invoice_item(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "delete_invoice_item", + "stripe", + "delete_invoice_item", invoice_item_id=input_data["invoice_item_id"], ) @@ -1393,14 +2291,38 @@ async def delete_stripe_invoice_item(input_data: dict) -> dict: description="List Subscriptions. Filter by customer, price, status (active/past_due/canceled/etc.).", action_sets=["stripe_subscriptions", "stripe"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "customer": {"type": "string", "description": "Filter to a customer.", "example": ""}, - "price": {"type": "string", "description": "Filter to subscriptions containing a price.", "example": ""}, - "status": {"type": "string", "description": "'active' | 'past_due' | 'unpaid' | 'canceled' | 'incomplete' | 'incomplete_expired' | 'trialing' | 'paused' | 'all'.", "example": "active"}, - "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "data.customer,data.default_payment_method"}, + "customer": { + "type": "string", + "description": "Filter to a customer.", + "example": "", + }, + "price": { + "type": "string", + "description": "Filter to subscriptions containing a price.", + "example": "", + }, + "status": { + "type": "string", + "description": "'active' | 'past_due' | 'unpaid' | 'canceled' | 'incomplete' | 'incomplete_expired' | 'trialing' | 'paused' | 'all'.", + "example": "active", + }, + "collection_method": { + "type": "string", + "description": "'charge_automatically' | 'send_invoice'.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "data.customer,data.default_payment_method", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1413,7 +2335,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_subscriptions", + "stripe", + "list_subscriptions", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -1430,8 +2353,16 @@ def _csv(v): description="Retrieve a Subscription by ID.", action_sets=["stripe_subscriptions"], input_schema={ - "subscription_id": {"type": "string", "description": "Subscription ID.", "example": "sub_1MowQVLkdIwHu7ixeRlqHVzs"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "customer,latest_invoice,default_payment_method"}, + "subscription_id": { + "type": "string", + "description": "Subscription ID.", + "example": "sub_1MowQVLkdIwHu7ixeRlqHVzs", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "customer,latest_invoice,default_payment_method", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1444,7 +2375,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_subscription", + "stripe", + "get_subscription", subscription_id=input_data["subscription_id"], expand=_csv(input_data.get("expand")), ) @@ -1455,21 +2387,81 @@ def _csv(v): description="Create a Subscription for a customer. 'items' is a list like [{price: 'price_xxx', quantity: 1}]. Requires the customer to have a default payment method or one provided.", action_sets=["stripe_subscriptions", "stripe"], input_schema={ - "customer": {"type": "string", "description": "Customer ID.", "example": "cus_NffrFeUfNV2Hib"}, - "items": {"type": "array", "description": "Line items: [{price, quantity}].", "example": [{"price": "price_xxx", "quantity": 1}]}, - "cancel_at_period_end": {"type": "boolean", "description": "Schedule cancellation at end of current period.", "example": False}, - "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": "charge_automatically"}, - "days_until_due": {"type": "integer", "description": "Required if collection_method='send_invoice'.", "example": 0}, - "default_payment_method": {"type": "string", "description": "PaymentMethod ID.", "example": ""}, - "default_tax_rates": {"type": "array", "description": "Tax rate IDs applied to all items.", "example": []}, - "coupon": {"type": "string", "description": "Coupon code to apply.", "example": ""}, - "promotion_code": {"type": "string", "description": "Promotion code ID.", "example": ""}, - "trial_period_days": {"type": "integer", "description": "Trial length in days.", "example": 0}, - "trial_end": {"type": "integer", "description": "Explicit trial end (UNIX timestamp).", "example": 0}, - "payment_behavior": {"type": "string", "description": "'default_incomplete' | 'allow_incomplete' | 'error_if_incomplete' | 'pending_if_incomplete'.", "example": "default_incomplete"}, - "proration_behavior": {"type": "string", "description": "'create_prorations' | 'none' | 'always_invoice'.", "example": ""}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "customer": { + "type": "string", + "description": "Customer ID.", + "example": "cus_NffrFeUfNV2Hib", + }, + "items": { + "type": "array", + "description": "Line items: [{price, quantity}].", + "example": [{"price": "price_xxx", "quantity": 1}], + }, + "cancel_at_period_end": { + "type": "boolean", + "description": "Schedule cancellation at end of current period.", + "example": False, + }, + "collection_method": { + "type": "string", + "description": "'charge_automatically' | 'send_invoice'.", + "example": "charge_automatically", + }, + "days_until_due": { + "type": "integer", + "description": "Required if collection_method='send_invoice'.", + "example": 0, + }, + "default_payment_method": { + "type": "string", + "description": "PaymentMethod ID.", + "example": "", + }, + "default_tax_rates": { + "type": "array", + "description": "Tax rate IDs applied to all items.", + "example": [], + }, + "coupon": { + "type": "string", + "description": "Coupon code to apply.", + "example": "", + }, + "promotion_code": { + "type": "string", + "description": "Promotion code ID.", + "example": "", + }, + "trial_period_days": { + "type": "integer", + "description": "Trial length in days.", + "example": 0, + }, + "trial_end": { + "type": "integer", + "description": "Explicit trial end (UNIX timestamp).", + "example": 0, + }, + "payment_behavior": { + "type": "string", + "description": "'default_incomplete' | 'allow_incomplete' | 'error_if_incomplete' | 'pending_if_incomplete'.", + "example": "default_incomplete", + }, + "proration_behavior": { + "type": "string", + "description": "'create_prorations' | 'none' | 'always_invoice'.", + "example": "", + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1478,7 +2470,8 @@ async def create_stripe_subscription(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_subscription", + "stripe", + "create_subscription", customer=input_data["customer"], items=input_data["items"], cancel_at_period_end=input_data.get("cancel_at_period_end"), @@ -1502,9 +2495,21 @@ async def create_stripe_subscription(input_data: dict) -> dict: description="Update a Subscription. To change items: pass items=[{id: 'si_…', price: 'price_xxx', quantity: 1}]. To schedule cancel at period end: properties={'cancel_at_period_end': true}.", action_sets=["stripe_subscriptions"], input_schema={ - "subscription_id": {"type": "string", "description": "Subscription ID.", "example": "sub_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"cancel_at_period_end": True}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "subscription_id": { + "type": "string", + "description": "Subscription ID.", + "example": "sub_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"cancel_at_period_end": True}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1513,7 +2518,8 @@ async def update_stripe_subscription(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_subscription", + "stripe", + "update_subscription", subscription_id=input_data["subscription_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -1525,11 +2531,31 @@ async def update_stripe_subscription(input_data: dict) -> dict: description="Cancel a Subscription IMMEDIATELY (DELETE). For end-of-period cancellation use update_stripe_subscription({cancel_at_period_end: true}) instead.", action_sets=["stripe_subscriptions", "stripe"], input_schema={ - "subscription_id": {"type": "string", "description": "Subscription ID.", "example": "sub_…"}, - "invoice_now": {"type": "boolean", "description": "Invoice unbilled metered usage immediately.", "example": False}, - "prorate": {"type": "boolean", "description": "Generate proration credits.", "example": True}, - "cancellation_details": {"type": "object", "description": "{comment, feedback}.", "example": {"feedback": "too_expensive"}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "subscription_id": { + "type": "string", + "description": "Subscription ID.", + "example": "sub_…", + }, + "invoice_now": { + "type": "boolean", + "description": "Invoice unbilled metered usage immediately.", + "example": False, + }, + "prorate": { + "type": "boolean", + "description": "Generate proration credits.", + "example": True, + }, + "cancellation_details": { + "type": "object", + "description": "{comment, feedback}.", + "example": {"feedback": "too_expensive"}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1538,7 +2564,8 @@ async def cancel_stripe_subscription(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "cancel_subscription", + "stripe", + "cancel_subscription", subscription_id=input_data["subscription_id"], invoice_now=input_data.get("invoice_now"), prorate=input_data.get("prorate"), @@ -1552,10 +2579,26 @@ async def cancel_stripe_subscription(input_data: dict) -> dict: description="Resume a paused Subscription.", action_sets=["stripe_subscriptions"], input_schema={ - "subscription_id": {"type": "string", "description": "Subscription ID.", "example": "sub_…"}, - "billing_cycle_anchor": {"type": "string", "description": "'now' | 'unchanged'.", "example": "now"}, - "proration_behavior": {"type": "string", "description": "'create_prorations' | 'none' | 'always_invoice'.", "example": "create_prorations"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "subscription_id": { + "type": "string", + "description": "Subscription ID.", + "example": "sub_…", + }, + "billing_cycle_anchor": { + "type": "string", + "description": "'now' | 'unchanged'.", + "example": "now", + }, + "proration_behavior": { + "type": "string", + "description": "'create_prorations' | 'none' | 'always_invoice'.", + "example": "create_prorations", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1564,7 +2607,8 @@ async def resume_stripe_subscription(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "resume_subscription", + "stripe", + "resume_subscription", subscription_id=input_data["subscription_id"], billing_cycle_anchor=input_data.get("billing_cycle_anchor") or None, proration_behavior=input_data.get("proration_behavior") or None, @@ -1582,14 +2626,38 @@ async def resume_stripe_subscription(input_data: dict) -> dict: description="List Checkout Sessions. Filter by customer, payment_intent, subscription, or status.", action_sets=["stripe_checkout"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "customer": {"type": "string", "description": "Filter to a customer.", "example": ""}, - "payment_intent": {"type": "string", "description": "Filter to a PaymentIntent.", "example": ""}, - "subscription": {"type": "string", "description": "Filter to a subscription.", "example": ""}, - "status": {"type": "string", "description": "'open' | 'complete' | 'expired'.", "example": "complete"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "customer": { + "type": "string", + "description": "Filter to a customer.", + "example": "", + }, + "payment_intent": { + "type": "string", + "description": "Filter to a PaymentIntent.", + "example": "", + }, + "subscription": { + "type": "string", + "description": "Filter to a subscription.", + "example": "", + }, + "status": { + "type": "string", + "description": "'open' | 'complete' | 'expired'.", + "example": "complete", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1602,7 +2670,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_checkout_sessions", + "stripe", + "list_checkout_sessions", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -1619,8 +2688,16 @@ def _csv(v): description="Retrieve a Checkout Session by ID.", action_sets=["stripe_checkout"], input_schema={ - "session_id": {"type": "string", "description": "Checkout Session ID.", "example": "cs_test_…"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "line_items,customer"}, + "session_id": { + "type": "string", + "description": "Checkout Session ID.", + "example": "cs_test_…", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "line_items,customer", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1633,7 +2710,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_checkout_session", + "stripe", + "get_checkout_session", session_id=input_data["session_id"], expand=_csv(input_data.get("expand")), ) @@ -1644,20 +2722,76 @@ def _csv(v): description="Create a hosted Checkout Session. 'mode' is 'payment' (one-time), 'subscription', or 'setup'. Returns the hosted page URL in 'url'.", action_sets=["stripe_checkout", "stripe"], input_schema={ - "mode": {"type": "string", "description": "'payment' | 'subscription' | 'setup'.", "example": "payment"}, - "line_items": {"type": "array", "description": "Line items: [{price: 'price_xxx', quantity: 1}] or [{price_data: {…}, quantity: 1}].", "example": [{"price": "price_xxx", "quantity": 1}]}, - "success_url": {"type": "string", "description": "Redirect on success. Use {CHECKOUT_SESSION_ID} placeholder for the session ID.", "example": "https://example.com/success?session_id={CHECKOUT_SESSION_ID}"}, - "cancel_url": {"type": "string", "description": "Redirect on cancel.", "example": "https://example.com/cancel"}, - "ui_mode": {"type": "string", "description": "'hosted' (default) | 'embedded'.", "example": "hosted"}, - "customer": {"type": "string", "description": "Existing customer to attach the session to.", "example": ""}, - "customer_email": {"type": "string", "description": "Pre-fill the customer's email.", "example": ""}, - "client_reference_id": {"type": "string", "description": "Your internal ID for reconciliation via webhook.", "example": "order_42"}, - "allow_promotion_codes": {"type": "boolean", "description": "Show a 'have a promo code' field.", "example": True}, - "automatic_tax": {"type": "object", "description": "{enabled: true} to compute Stripe Tax.", "example": {"enabled": True}}, - "billing_address_collection": {"type": "string", "description": "'auto' | 'required'.", "example": "auto"}, - "payment_method_types": {"type": "array", "description": "Allowed payment method types.", "example": ["card"]}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "mode": { + "type": "string", + "description": "'payment' | 'subscription' | 'setup'.", + "example": "payment", + }, + "line_items": { + "type": "array", + "description": "Line items: [{price: 'price_xxx', quantity: 1}] or [{price_data: {…}, quantity: 1}].", + "example": [{"price": "price_xxx", "quantity": 1}], + }, + "success_url": { + "type": "string", + "description": "Redirect on success. Use {CHECKOUT_SESSION_ID} placeholder for the session ID.", + "example": "https://example.com/success?session_id={CHECKOUT_SESSION_ID}", + }, + "cancel_url": { + "type": "string", + "description": "Redirect on cancel.", + "example": "https://example.com/cancel", + }, + "ui_mode": { + "type": "string", + "description": "'hosted' (default) | 'embedded'.", + "example": "hosted", + }, + "customer": { + "type": "string", + "description": "Existing customer to attach the session to.", + "example": "", + }, + "customer_email": { + "type": "string", + "description": "Pre-fill the customer's email.", + "example": "", + }, + "client_reference_id": { + "type": "string", + "description": "Your internal ID for reconciliation via webhook.", + "example": "order_42", + }, + "allow_promotion_codes": { + "type": "boolean", + "description": "Show a 'have a promo code' field.", + "example": True, + }, + "automatic_tax": { + "type": "object", + "description": "{enabled: true} to compute Stripe Tax.", + "example": {"enabled": True}, + }, + "billing_address_collection": { + "type": "string", + "description": "'auto' | 'required'.", + "example": "auto", + }, + "payment_method_types": { + "type": "array", + "description": "Allowed payment method types.", + "example": ["card"], + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1666,7 +2800,8 @@ async def create_stripe_checkout_session(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_checkout_session", + "stripe", + "create_checkout_session", mode=input_data["mode"], line_items=input_data.get("line_items") or None, success_url=input_data.get("success_url") or None, @@ -1689,8 +2824,16 @@ async def create_stripe_checkout_session(input_data: dict) -> dict: description="Expire an open Checkout Session — the URL becomes invalid for the customer.", action_sets=["stripe_checkout"], input_schema={ - "session_id": {"type": "string", "description": "Checkout Session ID.", "example": "cs_test_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "session_id": { + "type": "string", + "description": "Checkout Session ID.", + "example": "cs_test_…", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1699,7 +2842,8 @@ async def expire_stripe_checkout_session(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "expire_checkout_session", + "stripe", + "expire_checkout_session", session_id=input_data["session_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -1710,11 +2854,23 @@ async def expire_stripe_checkout_session(input_data: dict) -> dict: description="List line items on a Checkout Session.", action_sets=["stripe_checkout"], input_schema={ - "session_id": {"type": "string", "description": "Checkout Session ID.", "example": "cs_test_…"}, - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "session_id": { + "type": "string", + "description": "Checkout Session ID.", + "example": "cs_test_…", + }, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1727,7 +2883,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_checkout_line_items", + "stripe", + "list_checkout_line_items", session_id=input_data["session_id"], limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, @@ -1746,11 +2903,23 @@ def _csv(v): description="List Payment Links.", action_sets=["stripe_payment_links"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "active": {"type": "boolean", "description": "Only active or only inactive.", "example": True}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "active": { + "type": "boolean", + "description": "Only active or only inactive.", + "example": True, + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1763,7 +2932,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_payment_links", + "stripe", + "list_payment_links", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -1777,8 +2947,16 @@ def _csv(v): description="Retrieve a Payment Link by ID.", action_sets=["stripe_payment_links"], input_schema={ - "payment_link_id": {"type": "string", "description": "Payment Link ID.", "example": "pl_1MoBy5LkdIwHu7ixZhnattbh"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "line_items"}, + "payment_link_id": { + "type": "string", + "description": "Payment Link ID.", + "example": "pl_1MoBy5LkdIwHu7ixZhnattbh", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "line_items", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1791,7 +2969,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_payment_link", + "stripe", + "get_payment_link", payment_link_id=input_data["payment_link_id"], expand=_csv(input_data.get("expand")), ) @@ -1802,16 +2981,56 @@ def _csv(v): description="Create a Payment Link — a shareable URL that opens Stripe's hosted checkout. Persists across sessions; useful for invoices, donations, embedded buttons.", action_sets=["stripe_payment_links", "stripe"], input_schema={ - "line_items": {"type": "array", "description": "Line items: [{price: 'price_xxx', quantity: 1}].", "example": [{"price": "price_xxx", "quantity": 1}]}, - "after_completion": {"type": "object", "description": "What happens after success: {type: 'redirect', redirect: {url: '…'}} or {type: 'hosted_confirmation', hosted_confirmation: {custom_message: '…'}}.", "example": {"type": "hosted_confirmation"}}, - "allow_promotion_codes": {"type": "boolean", "description": "Show a 'have a promo code' field.", "example": True}, - "automatic_tax": {"type": "object", "description": "{enabled: true}.", "example": {"enabled": True}}, - "billing_address_collection": {"type": "string", "description": "'auto' | 'required'.", "example": "auto"}, - "customer_creation": {"type": "string", "description": "'always' | 'if_required'.", "example": "always"}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "payment_method_types": {"type": "array", "description": "Allowed payment method types.", "example": []}, - "shipping_address_collection": {"type": "object", "description": "{allowed_countries: [...]}.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "line_items": { + "type": "array", + "description": "Line items: [{price: 'price_xxx', quantity: 1}].", + "example": [{"price": "price_xxx", "quantity": 1}], + }, + "after_completion": { + "type": "object", + "description": "What happens after success: {type: 'redirect', redirect: {url: '…'}} or {type: 'hosted_confirmation', hosted_confirmation: {custom_message: '…'}}.", + "example": {"type": "hosted_confirmation"}, + }, + "allow_promotion_codes": { + "type": "boolean", + "description": "Show a 'have a promo code' field.", + "example": True, + }, + "automatic_tax": { + "type": "object", + "description": "{enabled: true}.", + "example": {"enabled": True}, + }, + "billing_address_collection": { + "type": "string", + "description": "'auto' | 'required'.", + "example": "auto", + }, + "customer_creation": { + "type": "string", + "description": "'always' | 'if_required'.", + "example": "always", + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "payment_method_types": { + "type": "array", + "description": "Allowed payment method types.", + "example": [], + }, + "shipping_address_collection": { + "type": "object", + "description": "{allowed_countries: [...]}.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1820,7 +3039,8 @@ async def create_stripe_payment_link(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_payment_link", + "stripe", + "create_payment_link", line_items=input_data["line_items"], after_completion=input_data.get("after_completion") or None, allow_promotion_codes=input_data.get("allow_promotion_codes"), @@ -1829,7 +3049,8 @@ async def create_stripe_payment_link(input_data: dict) -> dict: customer_creation=input_data.get("customer_creation") or None, metadata=input_data.get("metadata") or None, payment_method_types=input_data.get("payment_method_types") or None, - shipping_address_collection=input_data.get("shipping_address_collection") or None, + shipping_address_collection=input_data.get("shipping_address_collection") + or None, idempotency_key=input_data.get("idempotency_key") or None, ) @@ -1839,9 +3060,21 @@ async def create_stripe_payment_link(input_data: dict) -> dict: description="Update a Payment Link. Limited to active flag, line item quantities, after_completion, metadata, etc.", action_sets=["stripe_payment_links"], input_schema={ - "payment_link_id": {"type": "string", "description": "Payment Link ID.", "example": "pl_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"active": False}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "payment_link_id": { + "type": "string", + "description": "Payment Link ID.", + "example": "pl_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"active": False}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1850,7 +3083,8 @@ async def update_stripe_payment_link(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_payment_link", + "stripe", + "update_payment_link", payment_link_id=input_data["payment_link_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -1862,11 +3096,31 @@ async def update_stripe_payment_link(input_data: dict) -> dict: description="Create a Stripe Customer Portal session — short-lived URL where the customer manages their own subscriptions, payment methods, and invoices.", action_sets=["stripe_payment_links"], input_schema={ - "customer": {"type": "string", "description": "Customer ID.", "example": "cus_…"}, - "return_url": {"type": "string", "description": "Where the customer returns when they're done.", "example": "https://example.com/account"}, - "configuration": {"type": "string", "description": "Specific portal configuration ID.", "example": ""}, - "locale": {"type": "string", "description": "BCP-47 locale (e.g. 'en', 'de-DE').", "example": ""}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "customer": { + "type": "string", + "description": "Customer ID.", + "example": "cus_…", + }, + "return_url": { + "type": "string", + "description": "Where the customer returns when they're done.", + "example": "https://example.com/account", + }, + "configuration": { + "type": "string", + "description": "Specific portal configuration ID.", + "example": "", + }, + "locale": { + "type": "string", + "description": "BCP-47 locale (e.g. 'en', 'de-DE').", + "example": "", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1875,7 +3129,8 @@ async def create_stripe_billing_portal_session(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_billing_portal_session", + "stripe", + "create_billing_portal_session", customer=input_data["customer"], return_url=input_data.get("return_url") or None, configuration=input_data.get("configuration") or None, @@ -1894,10 +3149,18 @@ async def create_stripe_billing_portal_session(input_data: dict) -> dict: description="List Coupons.", action_sets=["stripe_promotions"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1910,7 +3173,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_coupons", + "stripe", + "list_coupons", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -1923,8 +3187,16 @@ def _csv(v): description="Retrieve a Coupon by ID.", action_sets=["stripe_promotions"], input_schema={ - "coupon_id": {"type": "string", "description": "Coupon ID (user-chosen, e.g. 'SUMMER25').", "example": "SUMMER25"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "coupon_id": { + "type": "string", + "description": "Coupon ID (user-chosen, e.g. 'SUMMER25').", + "example": "SUMMER25", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -1937,7 +3209,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_coupon", + "stripe", + "get_coupon", coupon_id=input_data["coupon_id"], expand=_csv(input_data.get("expand")), ) @@ -1948,17 +3221,61 @@ def _csv(v): description="Create a Coupon. Pass exactly ONE of amount_off (with currency) or percent_off. duration='once' charges discount one period; 'repeating' requires duration_in_months; 'forever' lasts the subscription's lifetime.", action_sets=["stripe_promotions"], input_schema={ - "id": {"type": "string", "description": "Optional user-chosen ID (e.g. 'SUMMER25'). Auto-generated if omitted.", "example": "SUMMER25"}, - "name": {"type": "string", "description": "Customer-facing label.", "example": "Summer 25%"}, - "duration": {"type": "string", "description": "'once' | 'repeating' | 'forever'.", "example": "once"}, - "amount_off": {"type": "integer", "description": "Amount off in smallest currency unit. Mutually exclusive with percent_off.", "example": 0}, - "percent_off": {"type": "number", "description": "Percentage off (e.g. 25 = 25%). Mutually exclusive with amount_off.", "example": 25}, - "currency": {"type": "string", "description": "ISO 4217 lowercase. Required if amount_off is set.", "example": "usd"}, - "duration_in_months": {"type": "integer", "description": "Required if duration='repeating'.", "example": 3}, - "max_redemptions": {"type": "integer", "description": "Cap on total redemptions across all customers.", "example": 0}, - "redeem_by": {"type": "integer", "description": "UNIX timestamp after which the coupon can no longer be redeemed.", "example": 0}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "id": { + "type": "string", + "description": "Optional user-chosen ID (e.g. 'SUMMER25'). Auto-generated if omitted.", + "example": "SUMMER25", + }, + "name": { + "type": "string", + "description": "Customer-facing label.", + "example": "Summer 25%", + }, + "duration": { + "type": "string", + "description": "'once' | 'repeating' | 'forever'.", + "example": "once", + }, + "amount_off": { + "type": "integer", + "description": "Amount off in smallest currency unit. Mutually exclusive with percent_off.", + "example": 0, + }, + "percent_off": { + "type": "number", + "description": "Percentage off (e.g. 25 = 25%). Mutually exclusive with amount_off.", + "example": 25, + }, + "currency": { + "type": "string", + "description": "ISO 4217 lowercase. Required if amount_off is set.", + "example": "usd", + }, + "duration_in_months": { + "type": "integer", + "description": "Required if duration='repeating'.", + "example": 3, + }, + "max_redemptions": { + "type": "integer", + "description": "Cap on total redemptions across all customers.", + "example": 0, + }, + "redeem_by": { + "type": "integer", + "description": "UNIX timestamp after which the coupon can no longer be redeemed.", + "example": 0, + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1967,7 +3284,8 @@ async def create_stripe_coupon(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_coupon", + "stripe", + "create_coupon", id=input_data.get("id") or None, name=input_data.get("name") or None, duration=input_data.get("duration") or "once", @@ -1987,9 +3305,21 @@ async def create_stripe_coupon(input_data: dict) -> dict: description="Update a Coupon. Only 'name' and 'metadata' are mutable — duration/amount/percent/currency are write-once.", action_sets=["stripe_promotions"], input_schema={ - "coupon_id": {"type": "string", "description": "Coupon ID.", "example": "SUMMER25"}, - "properties": {"type": "object", "description": "Mutable properties (name, metadata).", "example": {"name": "Summer (extended)"}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "coupon_id": { + "type": "string", + "description": "Coupon ID.", + "example": "SUMMER25", + }, + "properties": { + "type": "object", + "description": "Mutable properties (name, metadata).", + "example": {"name": "Summer (extended)"}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -1998,7 +3328,8 @@ async def update_stripe_coupon(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_coupon", + "stripe", + "update_coupon", coupon_id=input_data["coupon_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -2010,7 +3341,11 @@ async def update_stripe_coupon(input_data: dict) -> dict: description="Delete a Coupon. Existing subscriptions and invoices that already used it are unaffected.", action_sets=["stripe_promotions"], input_schema={ - "coupon_id": {"type": "string", "description": "Coupon ID.", "example": "SUMMER25"}, + "coupon_id": { + "type": "string", + "description": "Coupon ID.", + "example": "SUMMER25", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2019,7 +3354,8 @@ async def delete_stripe_coupon(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "delete_coupon", + "stripe", + "delete_coupon", coupon_id=input_data["coupon_id"], ) @@ -2029,14 +3365,34 @@ async def delete_stripe_coupon(input_data: dict) -> dict: description="List Promotion Codes. Filter by active, exact code string, parent coupon, or customer allowlist.", action_sets=["stripe_promotions"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "active": {"type": "boolean", "description": "Only active or only inactive.", "example": True}, - "code": {"type": "string", "description": "Exact code filter.", "example": "FRIENDS50"}, + "active": { + "type": "boolean", + "description": "Only active or only inactive.", + "example": True, + }, + "code": { + "type": "string", + "description": "Exact code filter.", + "example": "FRIENDS50", + }, "coupon": {"type": "string", "description": "Parent coupon ID.", "example": ""}, - "customer": {"type": "string", "description": "Promotion codes allowlisted to this customer.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "customer": { + "type": "string", + "description": "Promotion codes allowlisted to this customer.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2049,7 +3405,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_promotion_codes", + "stripe", + "list_promotion_codes", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -2066,15 +3423,51 @@ def _csv(v): description="Create a Promotion Code (customer-facing string) for an existing Coupon. Optionally restrict to a customer, first-time-only, expiry, max redemptions.", action_sets=["stripe_promotions"], input_schema={ - "coupon": {"type": "string", "description": "Parent Coupon ID.", "example": "SUMMER25"}, - "code": {"type": "string", "description": "Code string. Auto-generated if omitted.", "example": "FRIENDS50"}, - "customer": {"type": "string", "description": "Restrict to a specific customer.", "example": ""}, - "active": {"type": "boolean", "description": "Whether the code is redeemable.", "example": True}, - "expires_at": {"type": "integer", "description": "UNIX timestamp expiry.", "example": 0}, - "max_redemptions": {"type": "integer", "description": "Total redemption cap.", "example": 0}, - "restrictions": {"type": "object", "description": "{first_time_transaction: bool, minimum_amount: int, minimum_amount_currency: str}.", "example": {"first_time_transaction": True}}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "coupon": { + "type": "string", + "description": "Parent Coupon ID.", + "example": "SUMMER25", + }, + "code": { + "type": "string", + "description": "Code string. Auto-generated if omitted.", + "example": "FRIENDS50", + }, + "customer": { + "type": "string", + "description": "Restrict to a specific customer.", + "example": "", + }, + "active": { + "type": "boolean", + "description": "Whether the code is redeemable.", + "example": True, + }, + "expires_at": { + "type": "integer", + "description": "UNIX timestamp expiry.", + "example": 0, + }, + "max_redemptions": { + "type": "integer", + "description": "Total redemption cap.", + "example": 0, + }, + "restrictions": { + "type": "object", + "description": "{first_time_transaction: bool, minimum_amount: int, minimum_amount_currency: str}.", + "example": {"first_time_transaction": True}, + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2083,7 +3476,8 @@ async def create_stripe_promotion_code(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_promotion_code", + "stripe", + "create_promotion_code", coupon=input_data["coupon"], code=input_data.get("code") or None, customer=input_data.get("customer") or None, @@ -2101,9 +3495,21 @@ async def create_stripe_promotion_code(input_data: dict) -> dict: description="Update a Promotion Code. Only active and metadata are mutable.", action_sets=["stripe_promotions"], input_schema={ - "promotion_code_id": {"type": "string", "description": "Promotion Code ID.", "example": "promo_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"active": False}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "promotion_code_id": { + "type": "string", + "description": "Promotion Code ID.", + "example": "promo_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"active": False}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2112,7 +3518,8 @@ async def update_stripe_promotion_code(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_promotion_code", + "stripe", + "update_promotion_code", promotion_code_id=input_data["promotion_code_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -2129,12 +3536,28 @@ async def update_stripe_promotion_code(input_data: dict) -> dict: description="List Disputes (chargebacks + inquiries). Filter by charge or payment_intent.", action_sets=["stripe_disputes"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "charge": {"type": "string", "description": "Filter to a specific charge.", "example": ""}, - "payment_intent": {"type": "string", "description": "Filter to a specific PaymentIntent.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "charge": { + "type": "string", + "description": "Filter to a specific charge.", + "example": "", + }, + "payment_intent": { + "type": "string", + "description": "Filter to a specific PaymentIntent.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2147,7 +3570,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_disputes", + "stripe", + "list_disputes", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -2162,8 +3586,16 @@ def _csv(v): description="Retrieve a Dispute by ID.", action_sets=["stripe_disputes"], input_schema={ - "dispute_id": {"type": "string", "description": "Dispute ID.", "example": "di_…"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "charge,payment_intent"}, + "dispute_id": { + "type": "string", + "description": "Dispute ID.", + "example": "di_…", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "charge,payment_intent", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2176,7 +3608,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_dispute", + "stripe", + "get_dispute", dispute_id=input_data["dispute_id"], expand=_csv(input_data.get("expand")), ) @@ -2187,11 +3620,34 @@ def _csv(v): description="Save (or submit) dispute evidence. Pass submit=True to finalize and submit to the card network — IRREVERSIBLE. Without submit, saves as draft for further edits.", action_sets=["stripe_disputes"], input_schema={ - "dispute_id": {"type": "string", "description": "Dispute ID.", "example": "di_…"}, - "evidence": {"type": "object", "description": "Evidence fields (see Stripe docs for the full schema — receipt, shipping_documentation, customer_email_address, etc.).", "example": {"customer_email_address": "jane@example.com", "uncategorized_text": "Customer was refunded immediately."}}, - "submit": {"type": "boolean", "description": "True submits to card network. Omit/False saves as draft.", "example": False}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "dispute_id": { + "type": "string", + "description": "Dispute ID.", + "example": "di_…", + }, + "evidence": { + "type": "object", + "description": "Evidence fields (see Stripe docs for the full schema — receipt, shipping_documentation, customer_email_address, etc.).", + "example": { + "customer_email_address": "jane@example.com", + "uncategorized_text": "Customer was refunded immediately.", + }, + }, + "submit": { + "type": "boolean", + "description": "True submits to card network. Omit/False saves as draft.", + "example": False, + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2200,7 +3656,8 @@ async def update_stripe_dispute(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_dispute", + "stripe", + "update_dispute", dispute_id=input_data["dispute_id"], evidence=input_data.get("evidence") or None, submit=input_data.get("submit"), @@ -2214,8 +3671,16 @@ async def update_stripe_dispute(input_data: dict) -> dict: description="Forfeit a dispute — accept the chargeback as final. Once closed, cannot be reopened.", action_sets=["stripe_disputes"], input_schema={ - "dispute_id": {"type": "string", "description": "Dispute ID.", "example": "di_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "dispute_id": { + "type": "string", + "description": "Dispute ID.", + "example": "di_…", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2224,7 +3689,8 @@ async def close_stripe_dispute(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "close_dispute", + "stripe", + "close_dispute", dispute_id=input_data["dispute_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -2240,12 +3706,28 @@ async def close_stripe_dispute(input_data: dict) -> dict: description="List Payouts to the merchant's bank account.", action_sets=["stripe_payouts", "stripe"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "status": {"type": "string", "description": "'pending' | 'in_transit' | 'paid' | 'failed' | 'canceled'.", "example": "paid"}, - "destination": {"type": "string", "description": "Bank account or card ID.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "status": { + "type": "string", + "description": "'pending' | 'in_transit' | 'paid' | 'failed' | 'canceled'.", + "example": "paid", + }, + "destination": { + "type": "string", + "description": "Bank account or card ID.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2258,7 +3740,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_payouts", + "stripe", + "list_payouts", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -2274,7 +3757,11 @@ def _csv(v): action_sets=["stripe_payouts"], input_schema={ "payout_id": {"type": "string", "description": "Payout ID.", "example": "po_…"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "destination,failure_balance_transaction"}, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "destination,failure_balance_transaction", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2287,7 +3774,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_payout", + "stripe", + "get_payout", payout_id=input_data["payout_id"], expand=_csv(input_data.get("expand")), ) @@ -2298,15 +3786,51 @@ def _csv(v): description="Trigger a payout from your Stripe balance to your bank. method='standard' (1-2 day) or 'instant' (fee, requires eligibility).", action_sets=["stripe_payouts"], input_schema={ - "amount": {"type": "integer", "description": "Amount in smallest currency unit.", "example": 10000}, - "currency": {"type": "string", "description": "ISO 4217 lowercase. Defaults to integration default_currency.", "example": "usd"}, - "description": {"type": "string", "description": "Internal description.", "example": "Weekly payout"}, - "statement_descriptor": {"type": "string", "description": "Appears on bank statement.", "example": ""}, - "method": {"type": "string", "description": "'standard' | 'instant'.", "example": "standard"}, - "source_type": {"type": "string", "description": "'bank_account' | 'card'.", "example": "bank_account"}, - "destination": {"type": "string", "description": "Specific bank account or card ID. Omit to use the default.", "example": ""}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "amount": { + "type": "integer", + "description": "Amount in smallest currency unit.", + "example": 10000, + }, + "currency": { + "type": "string", + "description": "ISO 4217 lowercase. Defaults to integration default_currency.", + "example": "usd", + }, + "description": { + "type": "string", + "description": "Internal description.", + "example": "Weekly payout", + }, + "statement_descriptor": { + "type": "string", + "description": "Appears on bank statement.", + "example": "", + }, + "method": { + "type": "string", + "description": "'standard' | 'instant'.", + "example": "standard", + }, + "source_type": { + "type": "string", + "description": "'bank_account' | 'card'.", + "example": "bank_account", + }, + "destination": { + "type": "string", + "description": "Specific bank account or card ID. Omit to use the default.", + "example": "", + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2315,7 +3839,8 @@ async def create_stripe_payout(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_payout", + "stripe", + "create_payout", amount=input_data["amount"], currency=input_data.get("currency") or None, description=input_data.get("description") or None, @@ -2334,7 +3859,11 @@ async def create_stripe_payout(input_data: dict) -> dict: action_sets=["stripe_payouts"], input_schema={ "payout_id": {"type": "string", "description": "Payout ID.", "example": "po_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2343,7 +3872,8 @@ async def cancel_stripe_payout(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "cancel_payout", + "stripe", + "cancel_payout", payout_id=input_data["payout_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -2367,14 +3897,38 @@ async def get_stripe_balance(input_data: dict) -> dict: description="List Balance Transactions — every money movement (charges, refunds, payouts, fees, etc.). Filter by type, currency, source, or payout.", action_sets=["stripe_payouts"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "type": {"type": "string", "description": "'charge' | 'refund' | 'adjustment' | 'application_fee' | 'payout' | 'transfer' | 'stripe_fee' | etc.", "example": "charge"}, - "currency": {"type": "string", "description": "ISO 4217 lowercase filter.", "example": ""}, - "source": {"type": "string", "description": "Filter to a specific source ID (charge, refund, etc.).", "example": ""}, - "payout": {"type": "string", "description": "Filter to transactions in a specific payout.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "type": { + "type": "string", + "description": "'charge' | 'refund' | 'adjustment' | 'application_fee' | 'payout' | 'transfer' | 'stripe_fee' | etc.", + "example": "charge", + }, + "currency": { + "type": "string", + "description": "ISO 4217 lowercase filter.", + "example": "", + }, + "source": { + "type": "string", + "description": "Filter to a specific source ID (charge, refund, etc.).", + "example": "", + }, + "payout": { + "type": "string", + "description": "Filter to transactions in a specific payout.", + "example": "", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2387,7 +3941,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_balance_transactions", + "stripe", + "list_balance_transactions", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -2409,12 +3964,28 @@ def _csv(v): description="List Quotes. Filter by customer or status.", action_sets=["stripe_quotes"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "customer": {"type": "string", "description": "Filter to a customer.", "example": ""}, - "status": {"type": "string", "description": "'draft' | 'open' | 'accepted' | 'canceled'.", "example": "open"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "customer": { + "type": "string", + "description": "Filter to a customer.", + "example": "", + }, + "status": { + "type": "string", + "description": "'draft' | 'open' | 'accepted' | 'canceled'.", + "example": "open", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2427,7 +3998,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_quotes", + "stripe", + "list_quotes", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -2443,7 +4015,11 @@ def _csv(v): action_sets=["stripe_quotes"], input_schema={ "quote_id": {"type": "string", "description": "Quote ID.", "example": "qt_…"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": "line_items,customer,invoice"}, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "line_items,customer,invoice", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2456,7 +4032,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_quote", + "stripe", + "get_quote", quote_id=input_data["quote_id"], expand=_csv(input_data.get("expand")), ) @@ -2467,17 +4044,61 @@ def _csv(v): description="Create a draft Quote for a customer. After creation, call finalize_stripe_quote to lock it, then send the URL or wait for accept_stripe_quote.", action_sets=["stripe_quotes"], input_schema={ - "customer": {"type": "string", "description": "Customer ID.", "example": "cus_…"}, - "line_items": {"type": "array", "description": "Line items: [{price: 'price_xxx', quantity: 1}].", "example": [{"price": "price_xxx", "quantity": 1}]}, - "description": {"type": "string", "description": "Internal description.", "example": ""}, - "footer": {"type": "string", "description": "Footer on the rendered quote.", "example": ""}, - "header": {"type": "string", "description": "Header on the rendered quote.", "example": ""}, - "expires_at": {"type": "integer", "description": "UNIX timestamp expiry.", "example": 0}, - "collection_method": {"type": "string", "description": "'charge_automatically' | 'send_invoice'.", "example": ""}, - "default_tax_rates": {"type": "array", "description": "Tax rate IDs applied to all items.", "example": []}, - "subscription_data": {"type": "object", "description": "Defaults applied to the subscription created on accept.", "example": {}}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "customer": { + "type": "string", + "description": "Customer ID.", + "example": "cus_…", + }, + "line_items": { + "type": "array", + "description": "Line items: [{price: 'price_xxx', quantity: 1}].", + "example": [{"price": "price_xxx", "quantity": 1}], + }, + "description": { + "type": "string", + "description": "Internal description.", + "example": "", + }, + "footer": { + "type": "string", + "description": "Footer on the rendered quote.", + "example": "", + }, + "header": { + "type": "string", + "description": "Header on the rendered quote.", + "example": "", + }, + "expires_at": { + "type": "integer", + "description": "UNIX timestamp expiry.", + "example": 0, + }, + "collection_method": { + "type": "string", + "description": "'charge_automatically' | 'send_invoice'.", + "example": "", + }, + "default_tax_rates": { + "type": "array", + "description": "Tax rate IDs applied to all items.", + "example": [], + }, + "subscription_data": { + "type": "object", + "description": "Defaults applied to the subscription created on accept.", + "example": {}, + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2486,7 +4107,8 @@ async def create_stripe_quote(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_quote", + "stripe", + "create_quote", customer=input_data["customer"], line_items=input_data["line_items"], description=input_data.get("description") or None, @@ -2507,8 +4129,16 @@ async def create_stripe_quote(input_data: dict) -> dict: action_sets=["stripe_quotes"], input_schema={ "quote_id": {"type": "string", "description": "Quote ID.", "example": "qt_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"description": "Updated"}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"description": "Updated"}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2517,7 +4147,8 @@ async def update_stripe_quote(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_quote", + "stripe", + "update_quote", quote_id=input_data["quote_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -2529,9 +4160,21 @@ async def update_stripe_quote(input_data: dict) -> dict: description="Finalize a draft Quote — it becomes 'open' and is ready for the customer to accept.", action_sets=["stripe_quotes"], input_schema={ - "quote_id": {"type": "string", "description": "Quote ID (must be draft).", "example": "qt_…"}, - "expires_at": {"type": "integer", "description": "Override expiry at finalize time.", "example": 0}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "quote_id": { + "type": "string", + "description": "Quote ID (must be draft).", + "example": "qt_…", + }, + "expires_at": { + "type": "integer", + "description": "Override expiry at finalize time.", + "example": 0, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2540,7 +4183,8 @@ async def finalize_stripe_quote(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "finalize_quote", + "stripe", + "finalize_quote", quote_id=input_data["quote_id"], expires_at=input_data.get("expires_at") or None, idempotency_key=input_data.get("idempotency_key") or None, @@ -2552,8 +4196,16 @@ async def finalize_stripe_quote(input_data: dict) -> dict: description="Accept an open Quote on the customer's behalf — creates the invoice / subscription per the quote terms.", action_sets=["stripe_quotes"], input_schema={ - "quote_id": {"type": "string", "description": "Quote ID (must be open).", "example": "qt_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "quote_id": { + "type": "string", + "description": "Quote ID (must be open).", + "example": "qt_…", + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2562,7 +4214,8 @@ async def accept_stripe_quote(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "accept_quote", + "stripe", + "accept_quote", quote_id=input_data["quote_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -2574,7 +4227,11 @@ async def accept_stripe_quote(input_data: dict) -> dict: action_sets=["stripe_quotes"], input_schema={ "quote_id": {"type": "string", "description": "Quote ID.", "example": "qt_…"}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2583,7 +4240,8 @@ async def cancel_stripe_quote(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "cancel_quote", + "stripe", + "cancel_quote", quote_id=input_data["quote_id"], idempotency_key=input_data.get("idempotency_key") or None, ) @@ -2599,15 +4257,43 @@ async def cancel_stripe_quote(input_data: dict) -> dict: description="List Events from the Stripe event log. Filter by type ('invoice.paid', 'customer.created', etc.) or multiple types.", action_sets=["stripe_webhooks"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "type": {"type": "string", "description": "Single event type filter.", "example": "invoice.paid"}, - "types": {"type": "array", "description": "List of event types.", "example": ["invoice.paid", "invoice.finalized"]}, - "delivery_success": {"type": "boolean", "description": "Only events delivered (or not delivered) successfully to a webhook.", "example": True}, - "created_gte": {"type": "integer", "description": "Created >= UNIX timestamp.", "example": 0}, - "created_lte": {"type": "integer", "description": "Created <= UNIX timestamp.", "example": 0}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "type": { + "type": "string", + "description": "Single event type filter.", + "example": "invoice.paid", + }, + "types": { + "type": "array", + "description": "List of event types.", + "example": ["invoice.paid", "invoice.finalized"], + }, + "delivery_success": { + "type": "boolean", + "description": "Only events delivered (or not delivered) successfully to a webhook.", + "example": True, + }, + "created_gte": { + "type": "integer", + "description": "Created >= UNIX timestamp.", + "example": 0, + }, + "created_lte": { + "type": "integer", + "description": "Created <= UNIX timestamp.", + "example": 0, + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2620,7 +4306,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_events", + "stripe", + "list_events", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -2639,7 +4326,11 @@ def _csv(v): action_sets=["stripe_webhooks"], input_schema={ "event_id": {"type": "string", "description": "Event ID.", "example": "evt_…"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2652,7 +4343,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_event", + "stripe", + "get_event", event_id=input_data["event_id"], expand=_csv(input_data.get("expand")), ) @@ -2663,10 +4355,18 @@ def _csv(v): description="List Webhook Endpoints registered on the account.", action_sets=["stripe_webhooks"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2679,7 +4379,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_webhook_endpoints", + "stripe", + "list_webhook_endpoints", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, @@ -2692,8 +4393,16 @@ def _csv(v): description="Retrieve a Webhook Endpoint by ID.", action_sets=["stripe_webhooks"], input_schema={ - "endpoint_id": {"type": "string", "description": "Webhook Endpoint ID.", "example": "we_…"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "endpoint_id": { + "type": "string", + "description": "Webhook Endpoint ID.", + "example": "we_…", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2706,7 +4415,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_webhook_endpoint", + "stripe", + "get_webhook_endpoint", endpoint_id=input_data["endpoint_id"], expand=_csv(input_data.get("expand")), ) @@ -2717,13 +4427,41 @@ def _csv(v): description="Register a Webhook Endpoint. URL must be publicly reachable HTTPS. 'enabled_events' must explicitly list event types or ['*'].", action_sets=["stripe_webhooks"], input_schema={ - "url": {"type": "string", "description": "HTTPS URL Stripe will POST events to.", "example": "https://example.com/stripe/webhook"}, - "enabled_events": {"type": "array", "description": "Event types to subscribe to, or ['*'] for all.", "example": ["invoice.paid", "customer.created"]}, - "description": {"type": "string", "description": "Internal description.", "example": ""}, - "connect": {"type": "boolean", "description": "True for Connect events from connected accounts.", "example": False}, - "api_version": {"type": "string", "description": "Pin the event payload version.", "example": ""}, - "metadata": {"type": "object", "description": "Arbitrary labels.", "example": {}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "url": { + "type": "string", + "description": "HTTPS URL Stripe will POST events to.", + "example": "https://example.com/stripe/webhook", + }, + "enabled_events": { + "type": "array", + "description": "Event types to subscribe to, or ['*'] for all.", + "example": ["invoice.paid", "customer.created"], + }, + "description": { + "type": "string", + "description": "Internal description.", + "example": "", + }, + "connect": { + "type": "boolean", + "description": "True for Connect events from connected accounts.", + "example": False, + }, + "api_version": { + "type": "string", + "description": "Pin the event payload version.", + "example": "", + }, + "metadata": { + "type": "object", + "description": "Arbitrary labels.", + "example": {}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2732,7 +4470,8 @@ async def create_stripe_webhook_endpoint(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "create_webhook_endpoint", + "stripe", + "create_webhook_endpoint", url=input_data["url"], enabled_events=input_data["enabled_events"], description=input_data.get("description") or None, @@ -2748,9 +4487,21 @@ async def create_stripe_webhook_endpoint(input_data: dict) -> dict: description="Update a Webhook Endpoint's URL, enabled_events, description, disabled flag, etc.", action_sets=["stripe_webhooks"], input_schema={ - "endpoint_id": {"type": "string", "description": "Webhook Endpoint ID.", "example": "we_…"}, - "properties": {"type": "object", "description": "Properties to update.", "example": {"enabled_events": ["invoice.paid"], "disabled": False}}, - "idempotency_key": {"type": "string", "description": "Optional idempotency key.", "example": ""}, + "endpoint_id": { + "type": "string", + "description": "Webhook Endpoint ID.", + "example": "we_…", + }, + "properties": { + "type": "object", + "description": "Properties to update.", + "example": {"enabled_events": ["invoice.paid"], "disabled": False}, + }, + "idempotency_key": { + "type": "string", + "description": "Optional idempotency key.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2759,7 +4510,8 @@ async def update_stripe_webhook_endpoint(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "update_webhook_endpoint", + "stripe", + "update_webhook_endpoint", endpoint_id=input_data["endpoint_id"], properties=input_data.get("properties") or {}, idempotency_key=input_data.get("idempotency_key") or None, @@ -2771,7 +4523,11 @@ async def update_stripe_webhook_endpoint(input_data: dict) -> dict: description="Delete a Webhook Endpoint. Stripe stops POSTing to its URL immediately.", action_sets=["stripe_webhooks"], input_schema={ - "endpoint_id": {"type": "string", "description": "Webhook Endpoint ID.", "example": "we_…"}, + "endpoint_id": { + "type": "string", + "description": "Webhook Endpoint ID.", + "example": "we_…", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2780,7 +4536,8 @@ async def delete_stripe_webhook_endpoint(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "delete_webhook_endpoint", + "stripe", + "delete_webhook_endpoint", endpoint_id=input_data["endpoint_id"], ) @@ -2795,10 +4552,26 @@ async def delete_stripe_webhook_endpoint(input_data: dict) -> dict: description="Upload a file to Stripe (multipart). 'purpose' constrains downstream use — most commonly 'dispute_evidence' (then reference the returned file_id in update_stripe_dispute's evidence object).", action_sets=["stripe_files"], input_schema={ - "file_path": {"type": "string", "description": "Absolute path to a local file.", "example": "/tmp/receipt.png"}, - "purpose": {"type": "string", "description": "'dispute_evidence' | 'identity_document' | 'business_logo' | 'business_icon' | 'tax_document_user_upload' | 'finance_report_run' | 'pci_document' | 'additional_verification' | 'customer_signature'.", "example": "dispute_evidence"}, - "link_create": {"type": "boolean", "description": "Create a public file link alongside the upload.", "example": False}, - "link_expires_at": {"type": "integer", "description": "UNIX timestamp link expiry.", "example": 0}, + "file_path": { + "type": "string", + "description": "Absolute path to a local file.", + "example": "/tmp/receipt.png", + }, + "purpose": { + "type": "string", + "description": "'dispute_evidence' | 'identity_document' | 'business_logo' | 'business_icon' | 'tax_document_user_upload' | 'finance_report_run' | 'pci_document' | 'additional_verification' | 'customer_signature'.", + "example": "dispute_evidence", + }, + "link_create": { + "type": "boolean", + "description": "Create a public file link alongside the upload.", + "example": False, + }, + "link_expires_at": { + "type": "integer", + "description": "UNIX timestamp link expiry.", + "example": 0, + }, }, output_schema={"status": {"type": "string", "example": "success"}}, parallelizable=False, @@ -2807,7 +4580,8 @@ async def upload_stripe_file(input_data: dict) -> dict: from app.data.action.integrations._helpers import run_client return await run_client( - "stripe", "upload_file", + "stripe", + "upload_file", file_path=input_data["file_path"], purpose=input_data["purpose"], link_create=input_data.get("link_create"), @@ -2821,7 +4595,11 @@ async def upload_stripe_file(input_data: dict) -> dict: action_sets=["stripe_files"], input_schema={ "file_id": {"type": "string", "description": "File ID.", "example": "file_…"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2834,7 +4612,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "get_file", + "stripe", + "get_file", file_id=input_data["file_id"], expand=_csv(input_data.get("expand")), ) @@ -2845,11 +4624,23 @@ def _csv(v): description="List uploaded Files. Filter by purpose.", action_sets=["stripe_files"], input_schema={ - "limit": {"type": "integer", "description": "Max results (1-100).", "example": 10}, + "limit": { + "type": "integer", + "description": "Max results (1-100).", + "example": 10, + }, "starting_after": {"type": "string", "description": "Cursor.", "example": ""}, "ending_before": {"type": "string", "description": "Cursor.", "example": ""}, - "purpose": {"type": "string", "description": "Filter by file purpose.", "example": "dispute_evidence"}, - "expand": {"type": "string", "description": "Comma-separated fields to expand.", "example": ""}, + "purpose": { + "type": "string", + "description": "Filter by file purpose.", + "example": "dispute_evidence", + }, + "expand": { + "type": "string", + "description": "Comma-separated fields to expand.", + "example": "", + }, }, output_schema={"status": {"type": "string", "example": "success"}}, ) @@ -2862,7 +4653,8 @@ def _csv(v): return [s.strip() for s in str(v).split(",") if s.strip()] or None return await run_client( - "stripe", "list_files", + "stripe", + "list_files", limit=input_data.get("limit", 10), starting_after=input_data.get("starting_after") or None, ending_before=input_data.get("ending_before") or None, diff --git a/app/triggers/activity_log.py b/app/triggers/activity_log.py index 536564aa..dddd119e 100644 --- a/app/triggers/activity_log.py +++ b/app/triggers/activity_log.py @@ -79,9 +79,7 @@ def make_idem_key( Internal keys (``_``-prefixed, injected by the executor) are excluded so the hash reflects only the user-visible content of the action. """ - content = { - k: v for k, v in (input_data or {}).items() if not k.startswith("_") - } + content = {k: v for k, v in (input_data or {}).items() if not k.startswith("_")} canonical = json.dumps(content, sort_keys=True, default=str) digest = hashlib.sha256(canonical.encode("utf-8")).hexdigest()[:16] return f"{session_id or 'conv'}:{action_name}:{digest}" @@ -132,9 +130,7 @@ def get(self, idem_key: str) -> Optional[Dict[str, Any]]: ).fetchone() return dict(row) if row else None - def record_intent( - self, idem_key: str, action: str, task_id: Optional[str] - ) -> None: + def record_intent(self, idem_key: str, action: str, task_id: Optional[str]) -> None: """Upsert the row to INTENT (fresh attempt or deliberate retake).""" now = _now_iso() with self._connect() as conn: @@ -266,12 +262,8 @@ def begin( f"completed (provider ref: {row['provider_ref'] or 'n/a'}). " f"The original output is returned. Do not retry." ) - logger.info( - f"[ActivityLog] Skipped duplicate {action_name} ({idem_key})" - ) - return GuardDecision( - proceed=False, idem_key=idem_key, stored_output=stored - ) + logger.info(f"[ActivityLog] Skipped duplicate {action_name} ({idem_key})") + return GuardDecision(proceed=False, idem_key=idem_key, stored_output=stored) # Stale INTENT: a previous attempt was interrupted between starting # the side effect and recording its outcome. Surface once; the next diff --git a/app/triggers/router.py b/app/triggers/router.py index 4ec24546..84d3c66c 100644 --- a/app/triggers/router.py +++ b/app/triggers/router.py @@ -146,9 +146,7 @@ def format_sessions_for_routing( sections = [] for i, task_id in enumerate(active_task_ids, 1): - task = ( - self._task_manager.tasks.get(task_id) if self._task_manager else None - ) + task = self._task_manager.tasks.get(task_id) if self._task_manager else None trigger = trigger_map.get(task_id) # Check waiting_for_reply from trigger OR from task state diff --git a/app/triggers/store.py b/app/triggers/store.py index 7ef5bb76..1fea6446 100644 --- a/app/triggers/store.py +++ b/app/triggers/store.py @@ -92,8 +92,7 @@ def _init_db(self) -> None: # If a table without our dedup_key column is present, it's that # relic — replace it. cols = [ - row[1] - for row in conn.execute("PRAGMA table_info(triggers)").fetchall() + row[1] for row in conn.execute("PRAGMA table_info(triggers)").fetchall() ] # "queue" is the newest column — its absence also catches a table # created by an earlier pre-release iteration of this branch. diff --git a/app/ui_layer/adapters/browser_adapter.py b/app/ui_layer/adapters/browser_adapter.py index 3619cc51..d7cbde5c 100644 --- a/app/ui_layer/adapters/browser_adapter.py +++ b/app/ui_layer/adapters/browser_adapter.py @@ -1160,15 +1160,9 @@ async def _on_start(self) -> None: ) # Agent profile bundle import/export routes - self._app.router.add_get( - "/api/profile/export", self._profile_export_handler - ) - self._app.router.add_post( - "/api/profile/inspect", self._profile_inspect_handler - ) - self._app.router.add_post( - "/api/profile/import", self._profile_import_handler - ) + self._app.router.add_get("/api/profile/export", self._profile_export_handler) + self._app.router.add_post("/api/profile/inspect", self._profile_inspect_handler) + self._app.router.add_post("/api/profile/import", self._profile_import_handler) # Integration bridge routes (Living UI → external APIs) from app.living_ui.integration_bridge import IntegrationBridge @@ -3021,7 +3015,9 @@ async def _chat_attachment_upload_handler( from aiohttp import web try: - name = request.rel_url.query.get("name", "attachment").strip() or "attachment" + name = ( + request.rel_url.query.get("name", "attachment").strip() or "attachment" + ) file_type = ( request.rel_url.query.get("type", "application/octet-stream").strip() or "application/octet-stream" @@ -3068,6 +3064,7 @@ async def _chat_attachment_upload_handler( except Exception as e: logger.error(f"[CHAT ATTACHMENT] Upload error: {e}") return web.json_response({"success": False, "error": str(e)}, status=500) + # ───────────────────────────────────────────────────────────────────── # Agent profile bundle (.craftbot) — export / inspect / import # ───────────────────────────────────────────────────────────────────── @@ -3168,16 +3165,12 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response try: payload = await request.json() except Exception: - return web.json_response( - {"error": "Invalid JSON body"}, status=400 - ) + return web.json_response({"error": "Invalid JSON body"}, status=400) token = payload.get("bundle_token") or "" mode = payload.get("mode", "replace") if not token: - return web.json_response( - {"error": "bundle_token is required"}, status=400 - ) + return web.json_response({"error": "bundle_token is required"}, status=400) bundle_bytes = self._staged_bundles.get(token) if bundle_bytes is None: @@ -3186,6 +3179,7 @@ async def _profile_import_handler(self, request: "web.Request") -> "web.Response ) import tempfile + tmp_path = None try: with tempfile.NamedTemporaryFile( @@ -3530,8 +3524,6 @@ async def _handle_task_resume(self, task_id: str, message: str) -> None: get_cached_token_count, ) from app.state.agent_state import STATE - from app.trigger import Trigger - import time as _time agent = self._controller.agent task_manager = agent.task_manager diff --git a/app/ui_layer/settings/profile_bundle.py b/app/ui_layer/settings/profile_bundle.py index 45600421..dcf59244 100644 --- a/app/ui_layer/settings/profile_bundle.py +++ b/app/ui_layer/settings/profile_bundle.py @@ -103,7 +103,9 @@ def _copy_dir_filtered(src: Path, dst: Path) -> None: try: shutil.copy2(entry, target) except OSError as exc: - logger.warning(f"[PROFILE_BUNDLE] Skipping unreadable file {entry}: {exc}") + logger.warning( + f"[PROFILE_BUNDLE] Skipping unreadable file {entry}: {exc}" + ) def _agent_name() -> str: @@ -124,7 +126,9 @@ def _looks_like_secret(env_key: str) -> bool: return any(hint in upper for hint in SECRET_ENV_HINTS) -def _strip_mcp_secrets(servers: List[Dict[str, Any]]) -> Tuple[List[Dict[str, Any]], List[str]]: +def _strip_mcp_secrets( + servers: List[Dict[str, Any]], +) -> Tuple[List[Dict[str, Any]], List[str]]: """Strip env-var values that look like secrets. Returns (cleaned, stripped_names).""" stripped: List[str] = [] cleaned: List[Dict[str, Any]] = [] @@ -176,9 +180,7 @@ def _gather_export_contents() -> Dict[str, Any]: """Pre-flight inventory used by manifest + README.""" skills_config = _load_json(SKILLS_CONFIG_PATH, {"enabled_skills": []}) enabled_skills = [ - s - for s in skills_config.get("enabled_skills", []) - if (SKILLS_DIR / s).is_dir() + s for s in skills_config.get("enabled_skills", []) if (SKILLS_DIR / s).is_dir() ] mcp_config = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) @@ -189,9 +191,7 @@ def _gather_export_contents() -> Dict[str, Any]: s for s in mcp_config.get("mcp_servers", []) if s.get("enabled", False) ] - md_present = [ - f for f in PROFILE_MD_FILES if (AGENT_FILE_SYSTEM_PATH / f).is_file() - ] + md_present = [f for f in PROFILE_MD_FILES if (AGENT_FILE_SYSTEM_PATH / f).is_file()] living_ui_projects = _load_living_ui_projects(LIVING_UI_PROJECTS_FILE) @@ -419,7 +419,9 @@ def inspect_bundle(bundle_path: str) -> Dict[str, Any]: env = server.get("env") or {} missing = [k for k in env if not env.get(k)] if missing: - mcp_needs_env.append({"name": server.get("name", ""), "env_keys": missing}) + mcp_needs_env.append( + {"name": server.get("name", ""), "env_keys": missing} + ) contents = manifest.get("contents", {}) return { @@ -825,9 +827,7 @@ def _apply_living_ui( back to a direct file write. """ bundle_projects = _load_living_ui_projects(src_living_dir / "projects.json") - target_living_dir = ( - manager.living_ui_dir if manager is not None else LIVING_UI_DIR - ) + target_living_dir = manager.living_ui_dir if manager is not None else LIVING_UI_DIR target_living_dir.mkdir(parents=True, exist_ok=True) if mode == "overwrite": diff --git a/app/usage/llm_call_storage.py b/app/usage/llm_call_storage.py index 1a409086..a98cf576 100644 --- a/app/usage/llm_call_storage.py +++ b/app/usage/llm_call_storage.py @@ -68,9 +68,7 @@ def __post_init__(self): class LLMCallStorage: """SQLite-backed store of full LLM calls.""" - def __init__( - self, db_path: Optional[str] = None, max_rows: int = DEFAULT_MAX_ROWS - ): + def __init__(self, db_path: Optional[str] = None, max_rows: int = DEFAULT_MAX_ROWS): if db_path is None: from app.config import APP_DATA_PATH @@ -111,9 +109,7 @@ def _init_db(self) -> None: """) # Migrate older DBs that predate a column. existing = {r[1] for r in cursor.execute("PRAGMA table_info(llm_calls)")} - for col, decl in ( - ("cache_creation_tokens", "INTEGER NOT NULL DEFAULT 0"), - ): + for col, decl in (("cache_creation_tokens", "INTEGER NOT NULL DEFAULT 0"),): if col not in existing: cursor.execute(f"ALTER TABLE llm_calls ADD COLUMN {col} {decl}") for col in ("timestamp", "prompt_name", "call_type", "task_id", "model"): @@ -180,9 +176,7 @@ def recent(self, limit: int = 100) -> List[Dict[str, Any]]: with sqlite3.connect(self._db_path) as conn: conn.row_factory = sqlite3.Row cursor = conn.cursor() - cursor.execute( - "SELECT * FROM llm_calls ORDER BY id DESC LIMIT ?", (limit,) - ) + cursor.execute("SELECT * FROM llm_calls ORDER BY id DESC LIMIT ?", (limit,)) return [dict(r) for r in cursor.fetchall()] def count(self) -> int: diff --git a/craftos_integrations/integrations/stripe/__init__.py b/craftos_integrations/integrations/stripe/__init__.py index 2b750129..ef5bb930 100644 --- a/craftos_integrations/integrations/stripe/__init__.py +++ b/craftos_integrations/integrations/stripe/__init__.py @@ -53,10 +53,10 @@ @dataclass class StripeCredential: api_key: str = "" - account_id: str = "" # acct_... from /v1/account - business_name: str = "" # display label for /stripe status - livemode: bool = False # True if api_key.startswith("sk_live_" | "rk_live_") - key_kind: str = "secret" # "secret" | "restricted" + account_id: str = "" # acct_... from /v1/account + business_name: str = "" # display label for /stripe status + livemode: bool = False # True if api_key.startswith("sk_live_" | "rk_live_") + key_kind: str = "secret" # "secret" | "restricted" @dataclass @@ -440,9 +440,7 @@ async def _post( if expand: merged_expand.extend(expand) _form_expand(flat, merged_expand) - ikey = self._maybe_idempotency_key( - mutation=mutation, explicit=idempotency_key - ) + ikey = self._maybe_idempotency_key(mutation=mutation, explicit=idempotency_key) return await arequest( "POST", f"{base}{path}", @@ -461,9 +459,7 @@ async def _delete( connect_account: Optional[str] = None, base: str = STRIPE_API, ) -> Result: - ikey = self._maybe_idempotency_key( - mutation=True, explicit=idempotency_key - ) + ikey = self._maybe_idempotency_key(mutation=True, explicit=idempotency_key) return await arequest( "DELETE", f"{base}{path}", @@ -793,9 +789,7 @@ async def search_payment_intents( params: Dict[str, Any] = {"query": query, "limit": min(max(limit, 1), 100)} if page: params["page"] = page - return await self._get( - "/payment_intents/search", params=params, expand=expand - ) + return await self._get("/payment_intents/search", params=params, expand=expand) # =============================================================== # Charges (legacy direct-charge API — still useful for read paths) @@ -922,9 +916,7 @@ async def list_payment_methods( async def get_payment_method( self, payment_method_id: str, *, expand: Optional[List[str]] = None ) -> Result: - return await self._get( - f"/payment_methods/{payment_method_id}", expand=expand - ) + return await self._get(f"/payment_methods/{payment_method_id}", expand=expand) async def attach_payment_method( self, @@ -1539,9 +1531,7 @@ async def cancel_subscription( # DELETE /v1/subscriptions/:id — but Stripe accepts a body. httpx DELETE # with data= works; route through _post to keep idempotency handling. flat = _flatten_params(payload) - ikey = self._maybe_idempotency_key( - mutation=True, explicit=idempotency_key - ) + ikey = self._maybe_idempotency_key(mutation=True, explicit=idempotency_key) return await arequest( "DELETE", f"{STRIPE_API}/subscriptions/{subscription_id}", @@ -1749,16 +1739,12 @@ async def list_checkout_sessions( ending_before=ending_before, extra=extra, ) - return await self._get( - "/checkout/sessions", params=params, expand=expand - ) + return await self._get("/checkout/sessions", params=params, expand=expand) async def get_checkout_session( self, session_id: str, *, expand: Optional[List[str]] = None ) -> Result: - return await self._get( - f"/checkout/sessions/{session_id}", expand=expand - ) + return await self._get(f"/checkout/sessions/{session_id}", expand=expand) async def create_checkout_session( self, @@ -2161,9 +2147,7 @@ async def list_balance_transactions( ending_before=ending_before, extra=extra, ) - return await self._get( - "/balance_transactions", params=params, expand=expand - ) + return await self._get("/balance_transactions", params=params, expand=expand) async def get_balance_transaction( self, balance_transaction_id: str, *, expand: Optional[List[str]] = None @@ -2366,16 +2350,12 @@ async def list_webhook_endpoints( starting_after=starting_after, ending_before=ending_before, ) - return await self._get( - "/webhook_endpoints", params=params, expand=expand - ) + return await self._get("/webhook_endpoints", params=params, expand=expand) async def get_webhook_endpoint( self, endpoint_id: str, *, expand: Optional[List[str]] = None ) -> Result: - return await self._get( - f"/webhook_endpoints/{endpoint_id}", expand=expand - ) + return await self._get(f"/webhook_endpoints/{endpoint_id}", expand=expand) async def create_webhook_endpoint( self, diff --git a/scripts/prompt_profile.py b/scripts/prompt_profile.py index f8d03731..8aa9f40c 100644 --- a/scripts/prompt_profile.py +++ b/scripts/prompt_profile.py @@ -189,9 +189,16 @@ def _totals(agg: List[Dict[str, Any]]) -> Dict[str, Any]: def _markdown(agg: List[Dict[str, Any]], totals: Dict[str, Any]) -> str: cols = [ - "prompt_name", "model", "calls", "latency_p50_ms", "latency_p95_ms", - "avg_input_tokens", "avg_output_tokens", "cache_hit_ratio", - "total_cost_usd", "saved_usd", + "prompt_name", + "model", + "calls", + "latency_p50_ms", + "latency_p95_ms", + "avg_input_tokens", + "avg_output_tokens", + "cache_hit_ratio", + "total_cost_usd", + "saved_usd", ] head = "| " + " | ".join(cols) + " |" sep = "| " + " | ".join("---" for _ in cols) + " |" @@ -231,9 +238,10 @@ def main() -> int: rows = load_rows(db_path, since) if not rows: - print(f"No captured LLM calls found in {db_path}" + ( - f" since {args.since}" if args.since else "" - )) + print( + f"No captured LLM calls found in {db_path}" + + (f" since {args.since}" if args.since else "") + ) print("Run the agent (with capture on) to populate llm_calls, then retry.") return 0 diff --git a/tests/test_activity_log.py b/tests/test_activity_log.py index 7659e93d..aec4a12f 100644 --- a/tests/test_activity_log.py +++ b/tests/test_activity_log.py @@ -59,9 +59,7 @@ def test_completed_run_is_never_reexecuted(self, tmp_path): assert d2.stored_output["message_id"] == "msg-42" assert log.get(d1.idem_key)["provider_ref"] == "msg-42" - def test_crash_window_surfaces_uncertainty_once_then_allows_retry( - self, tmp_path - ): + def test_crash_window_surfaces_uncertainty_once_then_allows_retry(self, tmp_path): log, guard = make_guard(tmp_path) d1 = guard.begin("send_gmail", INPUTS, "task1") # crash between the send and complete(): row stays INTENT diff --git a/tests/test_llm_call_capture.py b/tests/test_llm_call_capture.py index f3aeb138..7f55ca37 100644 --- a/tests/test_llm_call_capture.py +++ b/tests/test_llm_call_capture.py @@ -66,7 +66,12 @@ def test_capture_reads_context_and_latency(): task_id="task-9", ) llm._call_log_to_db( - "sys", "user", '{"action":"task_start"}', "success", 1200, 30, + "sys", + "user", + '{"action":"task_start"}', + "success", + 1200, + 30, cached_tokens=900, ) assert len(captured) == 1 diff --git a/tests/test_prompt_profile.py b/tests/test_prompt_profile.py index 0249855f..87679ec9 100644 --- a/tests/test_prompt_profile.py +++ b/tests/test_prompt_profile.py @@ -29,8 +29,9 @@ def test_pricing_longest_match_avoids_shadowing(): def test_estimate_cost_accounts_for_cache(): - c = estimate_cost("gemini-2.5-pro", input_tokens=10_000, output_tokens=500, - cached_tokens=8_000) + c = estimate_cost( + "gemini-2.5-pro", input_tokens=10_000, output_tokens=500, cached_tokens=8_000 + ) # uncached 2000 @1.25 + cached 8000 @0.125 = 0.0035; output 500 @10 = 0.005 assert round(c["input_cost"], 6) == 0.0035 assert round(c["output_cost"], 6) == 0.005 @@ -41,8 +42,9 @@ def test_estimate_cost_accounts_for_cache(): def test_estimate_cost_clamps_cached_to_input(): # cached can't exceed input; must not produce negative uncached cost - c = estimate_cost("gemini-2.5-pro", input_tokens=100, output_tokens=0, - cached_tokens=999) + c = estimate_cost( + "gemini-2.5-pro", input_tokens=100, output_tokens=0, cached_tokens=999 + ) assert c["input_cost"] >= 0 assert round(c["input_cost"], 8) == round(100 * 0.125 / 1e6, 8) @@ -70,10 +72,21 @@ def _seed(): ("EVENT_STREAM_SUMMARIZATION", 5000, 4000, 400, 0), ] for name, lat, inp, out, cached in seed: - s.insert(LLMCallRow(provider="gemini", model="gemini-2.5-pro", - system_prompt="s", user_prompt="u", response="r", - status="success", input_tokens=inp, output_tokens=out, - cached_tokens=cached, latency_ms=lat, prompt_name=name)) + s.insert( + LLMCallRow( + provider="gemini", + model="gemini-2.5-pro", + system_prompt="s", + user_prompt="u", + response="r", + status="success", + input_tokens=inp, + output_tokens=out, + cached_tokens=cached, + latency_ms=lat, + prompt_name=name, + ) + ) return db @@ -102,6 +115,7 @@ def test_load_rows_missing_db_is_empty(): def test_parse_since(): from datetime import datetime + assert profiler._parse_since(None) is None dt = profiler._parse_since("24h") assert isinstance(dt, datetime) diff --git a/tests/test_trigger_router_and_parking.py b/tests/test_trigger_router_and_parking.py index c25e6745..052e5907 100644 --- a/tests/test_trigger_router_and_parking.py +++ b/tests/test_trigger_router_and_parking.py @@ -4,7 +4,6 @@ import asyncio import json -import time from app.triggers import SessionRouter, TriggerSource, TriggerSpec from app.triggers.service import TriggerService diff --git a/tests/test_trigger_service.py b/tests/test_trigger_service.py index e413e4a2..f2fdee52 100644 --- a/tests/test_trigger_service.py +++ b/tests/test_trigger_service.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Integration tests for TriggerService + TriggerQueue + TriggerStore - — including crash/restart simulations.""" +— including crash/restart simulations.""" import asyncio import heapq @@ -310,9 +310,7 @@ async def scenario(): def test_waiting_for_reply_round_trips(self, tmp_path): async def scenario(): store, queue, service = make_stack(tmp_path) - await service.emit( - spec(waiting_for_reply=True, fire_at=time.time() + 9999) - ) + await service.emit(spec(waiting_for_reply=True, fire_at=time.time() + 9999)) # crash before it fires store2, queue2, service2 = make_stack(tmp_path) diff --git a/tests/test_trigger_sources.py b/tests/test_trigger_sources.py index dd7014a1..03b528dd 100644 --- a/tests/test_trigger_sources.py +++ b/tests/test_trigger_sources.py @@ -63,9 +63,7 @@ class TestReactClassification: def test_source_based(self): assert self.is_memory(None, trig(source=TriggerSource.MEMORY)) - assert self.is_proactive( - None, trig(source=TriggerSource.PROACTIVE_HEARTBEAT) - ) + assert self.is_proactive(None, trig(source=TriggerSource.PROACTIVE_HEARTBEAT)) assert self.is_proactive(None, trig(source=TriggerSource.PROACTIVE_PLANNER)) assert self.is_restart(None, trig(source=TriggerSource.RESTART_NOTICE)) diff --git a/tests/test_trigger_store.py b/tests/test_trigger_store.py index ed7bf8db..bac1579e 100644 --- a/tests/test_trigger_store.py +++ b/tests/test_trigger_store.py @@ -151,9 +151,7 @@ def test_update_for_fire_patches_active_rows(self, tmp_path): settled, _ = insert_basic(store, session_id="s1") store.ack([settled]) - updated = store.update_for_fire( - "s1", 123.0, {"pending_user_message": "hi"} - ) + updated = store.update_for_fire("s1", 123.0, {"pending_user_message": "hi"}) assert updated == 1 row = store.get(active) assert row["fire_at"] == 123.0 From 358f3ec9275f1efaa9af0242e4a19401252b382b Mon Sep 17 00:00:00 2001 From: CraftBot Date: Thu, 18 Jun 2026 11:15:09 +0900 Subject: [PATCH 20/24] fix agent bundle import issue: skill missing during import --- app/ui_layer/settings/profile_bundle.py | 303 +++++++++++++++++++----- 1 file changed, 245 insertions(+), 58 deletions(-) diff --git a/app/ui_layer/settings/profile_bundle.py b/app/ui_layer/settings/profile_bundle.py index 45600421..c4b7ba77 100644 --- a/app/ui_layer/settings/profile_bundle.py +++ b/app/ui_layer/settings/profile_bundle.py @@ -88,6 +88,59 @@ def _should_skip_path(path: Path) -> bool: return False +def _validate_skill_md(skill_md: Path) -> Optional[str]: + """Mirror agent_core.core.impl.skill.loader.SkillLoader.parse_skill_file. + + Returns None if the file would load cleanly at runtime, else a short + reason explaining why the SkillManager would silently drop it. Catches + the malformed-frontmatter case where YAML parses junk like + `description: Foo: bar` as a nested mapping. + """ + import re as _re + import yaml as _yaml + if not skill_md.is_file(): + return "SKILL.md missing" + try: + text = skill_md.read_text(encoding="utf-8") + except OSError as exc: + return f"read failed: {exc}" + if len(text.strip()) < 1: + return "file is empty" + fm = _re.match(r"^---\s*\n(.*?)\n---\s*\n", text, _re.DOTALL) + if not fm: + # Bodied style (HTML comment / heading only) — loader derives metadata. + return None + try: + data = _yaml.safe_load(fm.group(1)) + except _yaml.YAMLError as exc: + return f"YAML frontmatter: {str(exc).splitlines()[0]}" + if not isinstance(data, dict): + return "frontmatter is not a YAML dict" + return None + + +def _validate_mcp_entry(server: Dict[str, Any]) -> Optional[str]: + """Mirror agent_core.core.impl.mcp.config.MCPConfig.from_dict validation. + + Returns None if the entry would be accepted by the runtime, else a short + reason. This is the same shape check applied by the bundler — the + importer enforces it again so corrupt bundles (or polluted upstream + catalogs) can never silently bloat the recipient's mcp_config.json. + """ + if not server.get("name"): + return "missing name" + transport = server.get("transport", "stdio") + if transport == "stdio": + if not server.get("command"): + return "transport=stdio without command" + elif transport in ("sse", "http", "streamable_http"): + if not server.get("url"): + return f"transport={transport} without url" + else: + return f"unknown transport {transport!r}" + return None + + def _copy_dir_filtered(src: Path, dst: Path) -> None: """Recursive copy honoring SKIP_DIR_NAMES / SKIP_FILE_SUFFIXES.""" if not src.exists(): @@ -449,9 +502,21 @@ class ImportSummary: skills_added: List[str] skills_skipped: List[str] skills_missing: List[str] + # Skills whose folder is on disk but whose SKILL.md fails runtime + # validation. Each entry: {name, reason, origin}. Folder is preserved on + # disk — the importer NEVER deletes files for validation reasons. + skills_invalid: List[Dict[str, str]] + # CraftBot-essential skills (user-invocable: false in frontmatter) that + # were force-enabled regardless of import mode. Typically overlaps with + # skills_added when the bundle includes them (current build.py always + # does). + skills_system_enabled: List[str] mcp_added: List[str] mcp_skipped: List[str] mcp_needs_env: List[Dict[str, Any]] + # MCP servers from the bundle whose config shape is invalid. Each entry: + # {name, reason}. These never enter mcp_config.json. + mcp_invalid: List[Dict[str, str]] md_applied: List[str] living_ui_added: List[str] living_ui_renamed: List[str] @@ -488,39 +553,99 @@ def _apply_md_files(src_profile: Path, mode: str) -> List[str]: return applied +def _is_system_skill_md(skill_md: Path) -> bool: + """A SKILL.md belongs to the always-import set iff its YAML frontmatter + declares ``user-invocable: false``. This is the same marker the runtime + uses to identify system-spawned tasks ([browser_adapter.py] + _INTERNAL_SKILL_NAMES). Auto-discovery via this marker means new system + skills get the always-import treatment automatically — no hardcoded list + to keep in sync. + """ + import re as _re + import yaml as _yaml + if not skill_md.is_file(): + return False + try: + text = skill_md.read_text(encoding="utf-8") + except OSError: + return False + m = _re.match(r"^---\s*\n(.*?)\n---\s*\n", text, _re.DOTALL) + if not m: + return False + try: + data = _yaml.safe_load(m.group(1)) + except _yaml.YAMLError: + return False + return isinstance(data, dict) and data.get("user-invocable") is False + + +def _discover_system_skills_in(skills_dir: Path) -> List[str]: + """Return names of folders under `skills_dir` whose SKILL.md is marked + `user-invocable: false`. Used by the importer to identify which entries + in the bundle (or already on disk) must be force-enabled regardless of + import mode. + """ + out: List[str] = [] + if not skills_dir.is_dir(): + return out + for sk in skills_dir.iterdir(): + if sk.is_dir() and _is_system_skill_md(sk / "SKILL.md"): + out.append(sk.name) + return sorted(out) + + def _apply_skills( src_skills_dir: Path, mode: str -) -> Tuple[List[str], List[str], List[str]]: - """Install skill folders and update skills_config.json. - - ``replace`` — bundle overwrites local on name collision; new skills added. - ``overwrite`` — every existing skill folder under SKILLS_DIR is deleted, - then the bundle's skills are installed and become the entire skill set - (no disabled defaults left over). - - Bundles produced by agent_bundle/build.py list every skill the agent uses - in ``enabled.json`` but only ship folders for the "bundled" ones — the - "default" skills are assumed to already exist on the recipient's install. - We split bundle_enabled into three buckets accordingly: - - - ``added``: bundle shipped a folder; copied to disk and enabled. - - ``already_present``: no folder in bundle, but recipient already has it - locally; enabled (replace mode only — overwrite mode wipes local first - so this bucket is always empty there). - - ``missing``: bundle expected the recipient to already have it but they - don't; NOT enabled (would leave a ghost entry pointing at no folder). +) -> Tuple[List[str], List[str], List[str], List[Dict[str, str]], List[str]]: + """Install skill folders from the bundle and update skills_config.json. + + Returns ``(added, skipped, missing, invalid, system_enabled)``. + + Bundle model (post-rebuild, no more "default" assumption): + Every skill the agent uses ships physically inside the bundle's + ``skills/`` folder. ``enabled.json`` lists exactly that set. One code + path covers every skill — no two-bucket logic. + + Import modes: + ``replace`` — bundle's skills are written into the recipient's skills + dir, overwriting any folder of the same name. Skills the recipient + had locally that the bundle doesn't ship are left untouched. + ``overwrite`` — recipient's entire skills dir is wiped first, then the + bundle's skills are installed. The recipient's skill set ends up + exactly == bundle's. + + System skills (always-import): + Skills with ``user-invocable: false`` in their SKILL.md frontmatter + are CraftBot-essential. Build.py force-includes them in every bundle. + The importer force-enables them in skills_config.json in every mode, + so a profile import can never strip the agent of its core ability to + spawn memory-processing / heartbeat / planner / Living-UI workflows. + + Buckets: + ``added`` — folder copied from bundle, SKILL.md validates, name enabled. + ``skipped`` — reserved/empty (preserved for API back-compat). + ``missing`` — name in ``enabled.json`` but no folder shipped (bundle bug). + ``invalid`` — folder copied but SKILL.md fails validation. The folder + is LEFT ON DISK (never deleted) so the user can inspect/fix it. The + name is NOT added to skills_config.json so the loader doesn't trip + on it at runtime. + ``system_enabled`` — system skills (user-invocable: false) that were + force-enabled. Overlaps with ``added`` when the bundle includes them + (the new build.py always does). """ added: List[str] = [] - already_present: List[str] = [] + skipped: List[str] = [] # unused under the new model; kept for API shape missing: List[str] = [] + invalid: List[Dict[str, str]] = [] enabled_list_path = src_skills_dir / "enabled.json" bundle_enabled = _load_json(enabled_list_path, {}).get("enabled_skills", []) SKILLS_DIR.mkdir(parents=True, exist_ok=True) if mode == "overwrite": - # Strict factory reset: wipe every skill folder, then install the - # bundle's. The recipient's skill set ends up exactly = bundle's. + # Strict factory reset (this IS what the user picked when they chose + # Overwrite mode). The validation-failure path below never deletes; + # only the explicit Overwrite contract does. for child in list(SKILLS_DIR.iterdir()): if child.is_dir(): shutil.rmtree(child, ignore_errors=True) @@ -529,60 +654,92 @@ def _apply_skills( src = src_skills_dir / skill_name dst = SKILLS_DIR / skill_name if not src.is_dir(): - # Bundle didn't include a folder for this one — it's a "default" - # skill the recipient is expected to have. Keep it enabled only if - # the folder actually exists locally; otherwise drop it so the - # enabled list never contains ghost entries. - if dst.is_dir(): - already_present.append(skill_name) - else: - missing.append(skill_name) - logger.warning( - f"[PROFILE_BUNDLE] Bundle expected default skill " - f"'{skill_name}' but no folder exists locally; skipping." - ) + # Bundle's enabled.json names a skill it didn't ship a folder + # for. Under the new build.py this never happens; if it does it + # means the bundle was built by an older toolchain. Skip cleanly. + missing.append(skill_name) + logger.warning( + f"[PROFILE_BUNDLE] Bundle enabled.json names '{skill_name}' " + f"but no folder was shipped — bundle is from an older build " + f"toolchain. Skipping." + ) continue + + # Replace-on-collision is the documented behavior of both modes + # (bundle's version wins for skills the bundle ships). This is NOT + # the validation-failure path — that one never deletes. if dst.exists(): shutil.rmtree(dst, ignore_errors=True) _copy_dir_filtered(src, dst) + + # Validate AFTER copy. Failure → name is not enabled, but the folder + # is left on disk untouched so the user can inspect/repair the file. + copy_err = _validate_skill_md(dst / "SKILL.md") + if copy_err: + invalid.append({"name": skill_name, "reason": copy_err, + "origin": "bundle"}) + logger.warning( + f"[PROFILE_BUNDLE] Bundled skill '{skill_name}' fails " + f"validation ({copy_err}); NOT enabling, folder left on " + f"disk at {dst} for manual inspection." + ) + continue added.append(skill_name) - installed_now = added + already_present + # Force-discover and force-enable system skills. We discover from the + # RECIPIENT's skills dir (post-copy) so the always-import promise holds + # for any system skill physically present — whether the bundle just + # installed it, the recipient already had it, or it's been there since + # initial CraftBot install. Mode is irrelevant: Overwrite wipes-then- + # installs the bundle's copy; Replace adds it if the bundle had it. + system_skills = _discover_system_skills_in(SKILLS_DIR) + system_enabled: List[str] = list(system_skills) if mode == "overwrite": - # Authoritative config: bundle's enabled list IS the skill state, but - # filtered to entries that physically exist on disk after the copy. + # Bundle's enabled list IS the skill state — but always union with + # the system skills so they survive a "wipe and install bundle". config = { "auto_load": True, - "enabled_skills": installed_now, + "enabled_skills": _dedup_preserve_order(added + system_enabled), "disabled_skills": [], } else: - # Additive: enable everything the bundle wanted that we can back with - # a real folder, but never disable anything the user already had. + # Additive: enable everything the bundle installed + the system + # skills; never disable anything the user already had. If a system + # skill is currently in disabled_skills, un-disable it (always-on). config = _load_json( SKILLS_CONFIG_PATH, {"auto_load": True, "enabled_skills": [], "disabled_skills": []}, ) enabled_set = list(config.get("enabled_skills", [])) disabled_set = list(config.get("disabled_skills", [])) - for skill_name in installed_now: + for skill_name in added + system_enabled: if skill_name not in enabled_set: enabled_set.append(skill_name) if skill_name in disabled_set: disabled_set.remove(skill_name) - config["enabled_skills"] = enabled_set + config["enabled_skills"] = _dedup_preserve_order(enabled_set) config["disabled_skills"] = disabled_set SKILLS_CONFIG_PATH.write_text( json.dumps(config, indent=2, ensure_ascii=False), encoding="utf-8" ) - return added, already_present, missing + return added, skipped, missing, invalid, system_enabled + + +def _dedup_preserve_order(items: List[str]) -> List[str]: + seen: set = set() + out: List[str] = [] + for x in items: + if x not in seen: + seen.add(x) + out.append(x) + return out def _apply_mcp( src_mcp_dir: Path, mode: str -) -> Tuple[List[str], List[str], List[Dict[str, Any]]]: +) -> Tuple[List[str], List[str], List[Dict[str, Any]], List[Dict[str, str]]]: """Install MCP server configs from the bundle. ``replace`` — bundle overwrites local on name collision (preserving any @@ -590,20 +747,43 @@ def _apply_mcp( ``overwrite`` — local mcp_config.json is wiped and replaced entirely with the bundle's servers; no env values are preserved (the recipient's MCP state ends up exactly = bundle's). + + Each candidate entry is shape-validated BEFORE landing in the catalog — + entries that would be rejected by the runtime (stdio without command, + sse/http without url, unknown transport) go into the ``invalid`` bucket + and never touch mcp_config.json. This guarantees a successful import + means the runtime can actually load every named server. """ added: List[str] = [] skipped: List[str] = [] needs_env: List[Dict[str, Any]] = [] + invalid: List[Dict[str, str]] = [] servers_path = src_mcp_dir / "servers.json" bundle_servers = _load_json(servers_path, {}).get("mcp_servers", []) - if mode == "overwrite": - cleaned: List[Dict[str, Any]] = [] - for server in bundle_servers: - name = server.get("name", "") + def _filter_valid(servers: List[Dict[str, Any]]) -> List[Dict[str, Any]]: + good: List[Dict[str, Any]] = [] + for s in servers: + name = s.get("name", "") if not name: + invalid.append({"name": "", "reason": "missing name"}) + continue + err = _validate_mcp_entry(s) + if err: + invalid.append({"name": name, "reason": err}) + logger.warning( + f"[PROFILE_BUNDLE] MCP '{name}' fails shape validation " + f"({err}); not adding to catalog." + ) continue + good.append(s) + return good + + if mode == "overwrite": + cleaned: List[Dict[str, Any]] = [] + for server in _filter_valid(bundle_servers): + name = server["name"] missing_env = [k for k, v in (server.get("env") or {}).items() if not v] if missing_env: needs_env.append({"name": name, "env_keys": missing_env}) @@ -613,17 +793,15 @@ def _apply_mcp( json.dumps({"mcp_servers": cleaned}, indent=2, ensure_ascii=False), encoding="utf-8", ) - return added, skipped, needs_env + return added, skipped, needs_env, invalid # replace mode — additive with overwrite-on-conflict + env preservation current = _load_json(MCP_CONFIG_PATH, {"mcp_servers": []}) existing = current.get("mcp_servers", []) by_name = {s.get("name", ""): s for s in existing} - for server in bundle_servers: - name = server.get("name", "") - if not name: - continue + for server in _filter_valid(bundle_servers): + name = server["name"] missing_env = [k for k, v in (server.get("env") or {}).items() if not v] if missing_env: needs_env.append({"name": name, "env_keys": missing_env}) @@ -648,7 +826,7 @@ def _apply_mcp( MCP_CONFIG_PATH.write_text( json.dumps(current, indent=2, ensure_ascii=False), encoding="utf-8" ) - return added, skipped, needs_env + return added, skipped, needs_env, invalid def _plan_and_copy_living_ui_imports( @@ -929,10 +1107,16 @@ def import_profile( bundle_name = manifest.get("name") or "imported profile" md_applied = _apply_md_files(work_dir / "profile", mode) - skills_added, skills_already_present, skills_missing = _apply_skills( - work_dir / "skills", mode + ( + skills_added, + skills_skipped, + skills_missing, + skills_invalid, + skills_system_enabled, + ) = _apply_skills(work_dir / "skills", mode) + mcp_added, mcp_skipped, mcp_needs_env, mcp_invalid = _apply_mcp( + work_dir / "mcp", mode ) - mcp_added, mcp_skipped, mcp_needs_env = _apply_mcp(work_dir / "mcp", mode) living_added, living_renamed = _apply_living_ui( work_dir / "living_ui", mode, manager=living_ui_manager ) @@ -942,11 +1126,14 @@ def import_profile( summary = ImportSummary( skills_added=skills_added, - skills_skipped=skills_already_present, + skills_skipped=skills_skipped, skills_missing=skills_missing, + skills_invalid=skills_invalid, + skills_system_enabled=skills_system_enabled, mcp_added=mcp_added, mcp_skipped=mcp_skipped, mcp_needs_env=mcp_needs_env, + mcp_invalid=mcp_invalid, md_applied=md_applied, living_ui_added=living_added, living_ui_renamed=living_renamed, From 37af2d0e51671fca71fdf2cf97d7e6561a0cbee8 Mon Sep 17 00:00:00 2001 From: CraftBot Date: Thu, 18 Jun 2026 11:51:49 +0900 Subject: [PATCH 21/24] Update README --- README.cn.md | 13 +++++++------ README.de.md | 13 +++++++------ README.es.md | 13 +++++++------ README.fr.md | 13 +++++++------ README.ja.md | 13 +++++++------ README.ko.md | 19 +++++++++++++++---- README.md | 13 +++++++------ README.pt-BR.md | 13 +++++++------ README.zh-TW.md | 13 +++++++------ assets/README_banner.png | Bin 1112877 -> 1111787 bytes 10 files changed, 71 insertions(+), 52 deletions(-) diff --git a/README.cn.md b/README.cn.md index 722733d6..f8edba71 100644 --- a/README.cn.md +++ b/README.cn.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,18 +39,23 @@
    English | 日本語 | 繁體中文 | 한국어 | Español | Português | Français | Deutsch

    +
    + CraftBot Banner +
    + ## ✨ 核心特性 除了能够创建并运行自有 SaaS 工具,CraftBot 还具备 Agent 框架的全部核心能力,可以作为一个通用 AI Agent 陪你处理任务、工具、记忆与日常工作流。 +- **Agent 配置档案** 40+ Agent 配置档案(CEO Agent、财务 Agent、市场负责人 Agent、DevOps 工程师、视频制作 Agent 等共 37 种)随时为你服务。从 **[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** 找到所需角色,一键导入。 +- **Playbook 目录** 不知道如何用 AI Agent 自动化?CraftBot 内置 120 个 Playbook(覆盖 19 个分类)随时可用。从顶部栏打开 Playbook 选择器,挑选一个 Playbook,它就会开始为你执行任务。 - **Living UI.** 在 CraftBot 内部构建、导入或演进自定义应用。Agent 始终感知 UI 状态,并能直接读取、写入和操作其中的数据。 - **多任务与会话路由.** 还在手动敲 `/new` 吗?CraftBot 能自行判断何时开启新会话、何时继续旧任务,让对话与上下文保持统一。 - **自托管与 BYOK.** 灵活的 LLM 提供商体系,支持 OpenAI、Google Gemini、Anthropic Claude、OpenRouter 等。也可以用 Ollama 自行托管模型,实现零 Token 消耗。 - **记忆系统.** 通过 RAG + Agent 文件系统 + 蒸馏,从你与 CraftBot 的交互中构建本地知识库。CraftBot 会在午夜「做梦」,整合一整天发生的事件。 - **主动型 Agent.** 学习你的偏好、习惯和人生目标,然后主动进行规划并发起任务(当然要经过你的同意),帮你在生活中变得更好。 -- **外部工具集成.** 内置凭据与 OAuth 支持,可连接 Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord 和 Telegram(还有更多正在路上)。 +- **外部工具集成.** 连接你的应用,例如 Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord、Telegram 等(还有更多正在路上),支持 OAuth 或使用你自己的密钥。 - **Skills 与 MCP.** 已就绪 150+ MCP 与 170+ Skills,支持快速安装新的 Skills 与 MCP,也可以从已完成的任务中一键创建或改进 Skills。 -- **跨平台支持.** 完整支持 Windows、macOS 和 Linux,提供平台特定的代码分支以及 Docker 容器化方案。 - **浏览器界面与 CLI 支持.** 用最适合你的方式使用 CraftBot:日常使用走简洁的浏览器 UI,脚本和无界面环境则可以走 CLI。 --- diff --git a/README.de.md b/README.de.md index c5fb1154..e2a3daf4 100644 --- a/README.de.md +++ b/README.de.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,18 +39,23 @@ Darüber hinaus bringt CraftBot alle Kernfunktionen eines universellen Agent-Fra English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Español | Português | Français

    +
    + CraftBot Banner +
    + ## ✨ Wichtigste Funktionen Über die Fähigkeit hinaus, eigene SaaS-Tools zu erstellen und zu betreiben, bringt CraftBot alle Kernfunktionen eines Agent-Frameworks mit. So kann er als universeller KI-Agent an deiner Seite über deine Aufgaben, Tools, dein Gedächtnis und deine täglichen Workflows hinweg arbeiten. +- **Agent-Profile** Mehr als 40 Agent-Profile (CEO-Agent, Finance-Agent, Marketing-Lead-Agent, DevOps-Engineer, Video-Producer-Agent oder 37 weitere) stehen bereit, um für dich zu arbeiten. Finde die gewünschten Rollen in den **[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** und importiere sie mit einem Klick. +- **Playbook-Katalog** Du weißt nicht, wie du mit einem KI-Agenten automatisieren sollst? CraftBot bringt 120 sofort einsatzbereite Playbooks mit (in 19 Kategorien). Öffne den Playbook-Picker in der oberen Leiste, wähle ein Playbook aus, und es beginnt, die Aufgabe für dich auszuführen. - **Living UI.** Baue, importiere oder entwickle eigene Apps, die innerhalb von CraftBot leben. Der Agent kennt den Zustand der UI jederzeit und kann ihre Daten direkt lesen, schreiben und damit arbeiten. - **Multitasking und Session-Routing.** Tippst du noch von Hand `/new`? CraftBot weiß selbst, wann eine neue Session sinnvoll ist und wann eine bestehende Aufgabe wieder aufgenommen werden sollte – Gespräch und Kontext bleiben dabei einheitlich. - **Self-hosted und BYOK.** Flexibles LLM-Provider-System mit Unterstützung für OpenAI, Google Gemini, Anthropic Claude, OpenRouter und mehr. Oder hoste mit Ollama dein eigenes Modell – ganz ohne Token-Verbrauch. - **Memory-System.** Eine lokale Wissensbasis, die aus deiner Interaktion mit CraftBot via RAG + Agent-Dateisystem + Distillation aufgebaut wird. Um Mitternacht „träumt" CraftBot und konsolidiert die Ereignisse des Tages. - **Proaktiver Agent.** Er lernt deine Vorlieben, Gewohnheiten und Lebensziele kennen, plant darauf basierend und stößt Aufgaben an (natürlich nur mit deiner Freigabe), um dich in deinem Leben weiterzubringen. -- **Integration externer Tools.** Verbinde dich mit Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord und Telegram (weitere folgen!), mit eingebetteten Zugangsdaten und OAuth-Unterstützung. +- **Integration externer Tools.** Verbinde deine Apps wie Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, Telegram und mehr (weitere folgen!) mit OAuth-Unterstützung oder deinem eigenen Schlüssel. - **Skills und MCP.** Über 150 MCPs und 170 Skills sofort einsatzbereit. Neue Skills und MCPs lassen sich schnell installieren, und aus abgeschlossenen Aufgaben kannst du mit einem Klick neue Skills erstellen oder verbessern. -- **Plattformübergreifend.** Volle Unterstützung für Windows, macOS und Linux mit plattformspezifischen Code-Varianten und Docker-Containerisierung. - **Browser-Oberfläche und CLI.** Nutze CraftBot so, wie es zu dir passt: über eine einfache Browser-UI für die tägliche Arbeit oder per CLI für Skripte und Headless-Umgebungen. --- diff --git a/README.es.md b/README.es.md index 6734a69c..361bb6fb 100644 --- a/README.es.md +++ b/README.es.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,18 +39,23 @@ Además de eso, CraftBot incluye todas las capacidades de un agente de propósit English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Português | Français | Deutsch

    +
    + CraftBot Banner +
    + ## ✨ Características destacadas Más allá de ser un agente de IA capaz de crear y operar sus propias herramientas SaaS, CraftBot incluye todas las capacidades básicas de un agente, lo que le permite funcionar como un agente de propósito general que te acompaña en tus tareas, herramientas, memoria y flujos de trabajo diarios. +- **Perfiles de agente** Más de 40 perfiles de agente (agente CEO, agente de finanzas, agente líder de marketing, ingeniero DevOps, agente productor de vídeo y 37 más) listos para trabajar para ti. Encuentra los roles que deseas en **[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** e impórtalos con un solo clic. +- **Catálogo de playbooks** ¿No sabes cómo automatizar con un agente IA? CraftBot incluye 120 playbooks listos para usar (en 19 categorías). Abre el selector de playbooks desde la barra superior, elige uno y empezará a ejecutar la tarea por ti. - **Living UI.** Crea, importa o haz evolucionar aplicaciones personalizadas que viven dentro de CraftBot. El agente conoce en todo momento el estado de la UI y puede leer, escribir y actuar directamente sobre sus datos. - **Multitarea y enrutamiento de sesiones.** ¿Sigues escribiendo `/new` a mano? CraftBot decide cuándo iniciar una nueva sesión y cuándo retomar una tarea existente, manteniendo unificados la conversación y el contexto. - **Autohospedado y BYOK.** Sistema flexible de proveedores LLM compatible con OpenAI, Google Gemini, Anthropic Claude, OpenRouter y más. O aloja tu propio modelo sin gastar tokens usando Ollama. - **Sistema de memoria.** Base de conocimiento local construida a partir de tu interacción con CraftBot mediante RAG + sistema de archivos del agente + destilación. CraftBot "sueña" a medianoche y consolida los eventos del día. - **Agente proactivo.** Aprende tus preferencias, hábitos y objetivos de vida. Luego planifica e inicia tareas (con tu aprobación, por supuesto) para ayudarte a mejorar. -- **Integración con herramientas externas.** Conecta con Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord y Telegram (¡y vienen más!), con credenciales embebidas y soporte para OAuth. +- **Integración con herramientas externas.** Conecta tus aplicaciones como Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, Telegram y más (¡y vienen más!), con soporte para OAuth o usando tu propia clave. - **Skills y MCP.** Más de 150 MCP y 170 Skills listos para usar. Instalación rápida de nuevas Skills y MCPs. Crea o mejora Skills a partir de tareas completadas con un solo clic. -- **Multiplataforma.** Compatibilidad completa con Windows, macOS y Linux, con variantes de código específicas por plataforma y contenedorización Docker. - **Interfaz de navegador y soporte de CLI.** Usa CraftBot como mejor te encaje: con una UI de navegador sencilla para el día a día, o desde la CLI para scripting y entornos headless. --- diff --git a/README.fr.md b/README.fr.md index 348f0113..2bbe1bbe 100644 --- a/README.fr.md +++ b/README.fr.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,18 +39,23 @@ Au-delà de cela, CraftBot dispose de toutes les capacités essentielles d'un ha English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Español | Português | Deutsch

    +
    + CraftBot Banner +
    + ## ✨ Fonctionnalités phares En plus d'être un agent IA capable de créer et d'opérer ses propres outils SaaS, CraftBot embarque toutes les fonctionnalités de base d'un harnais d'agent, ce qui lui permet de fonctionner comme un agent IA généraliste qui vous accompagne au quotidien sur vos tâches, vos outils, votre mémoire et vos workflows. +- **Profils d'agent** Plus de 40 profils d'agent (agent CEO, agent finance, agent responsable marketing, ingénieur DevOps, agent producteur vidéo, et 37 autres) prêts à travailler pour vous. Trouvez les rôles souhaités dans **[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** et importez-les en un clic. +- **Catalogue de playbooks** Vous ne savez pas comment automatiser avec un agent IA ? CraftBot propose 120 playbooks prêts à l'emploi (répartis sur 19 catégories). Ouvrez le sélecteur de playbooks depuis la barre supérieure, choisissez un playbook, et il commence à exécuter la tâche pour vous. - **Living UI.** Construisez, importez ou faites évoluer des applications personnalisées qui vivent à l'intérieur de CraftBot. L'agent est en permanence au courant de l'état de l'UI et peut lire, écrire et agir directement sur ses données. - **Multi-tâches et routage de sessions.** Vous tapez encore `/new` à la main ? CraftBot sait quand démarrer une nouvelle session et quand reprendre une tâche, en gardant la conversation et le contexte unifiés. - **Auto-hébergé et BYOK.** Système de fournisseurs LLM flexible qui prend en charge OpenAI, Google Gemini, Anthropic Claude, OpenRouter et plus encore. Ou hébergez votre propre modèle, sans dépenser un seul token, avec Ollama. - **Système de mémoire.** Une base de connaissance locale construite à partir de vos échanges avec CraftBot via RAG + système de fichiers de l'agent + distillation. À minuit, CraftBot « rêve » et consolide les événements survenus dans la journée. - **Agent proactif.** Il apprend vos préférences, vos habitudes et vos objectifs de vie. Puis il planifie et déclenche des tâches (avec votre accord, bien sûr) pour vous aider à progresser. -- **Intégration d'outils externes.** Connectez-vous à Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord et Telegram (et bien plus à venir !), avec identifiants embarqués et prise en charge d'OAuth. +- **Intégration d'outils externes.** Connectez vos applications comme Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, Telegram et bien plus (et bien d'autres à venir !) avec la prise en charge d'OAuth ou votre propre clé. - **Skills et MCP.** Plus de 150 MCP et 170 Skills disponibles. Installation rapide de nouveaux Skills et MCP. Créez ou améliorez des Skills à partir de tâches terminées en un clic. -- **Multi-plateforme.** Prise en charge complète de Windows, macOS et Linux, avec des variantes de code spécifiques à chaque plateforme et une conteneurisation Docker. - **Interface web et CLI.** Utilisez CraftBot comme il vous convient le mieux : via une UI navigateur simple pour un usage quotidien, ou via la CLI pour le scripting et les environnements headless. --- diff --git a/README.ja.md b/README.ja.md index 665fbda7..25df260b 100644 --- a/README.ja.md +++ b/README.ja.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,18 +39,23 @@ English | 简体中文 | 繁體中文 | 한국어 | Español | Português | Français | Deutsch

    +
    + CraftBot Banner +
    + ## ✨ 主な特徴 自前のSaaSツールを作って動かせるAIエージェントというだけでなく、CraftBotはエージェントハーネスのコア機能をひと通り備えており、あなたのタスク・ツール・記憶・日々のワークフローと一緒に動く汎用AIエージェントとして機能します。 +- **エージェントプロファイル** 40以上のエージェントプロファイル(CEOエージェント、財務エージェント、マーケティングリードエージェント、DevOpsエンジニア、動画プロデューサーエージェントなど37種類)があなたのために働く準備が整っています。**[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** から欲しいロールを見つけ、ワンクリックでインポートできます。 +- **プレイブックカタログ** AIエージェントで何を自動化すればよいかわからない?CraftBotには120のプレイブック(19カテゴリーにまたがる)がすぐに使える状態で用意されています。上部バーからプレイブックピッカーを開き、プレイブックを選ぶと、すぐにタスクを実行してくれます。 - **Living UI.** CraftBotの中で動くカスタムアプリを構築・インポート・進化させられます。エージェントはUIの状態を常に把握し、そのデータを直接読み書き・操作できます。 - **マルチタスクとセッションルーティング.** まだ`/new`コマンドを叩いていますか?CraftBotは、いつ新しいセッションを始め、いつ既存のタスクを再開すべきかを自分で判断し、会話とコンテキストを一本化します。 - **セルフホスト & BYOK.** OpenAI、Google Gemini、Anthropic Claude、OpenRouterなどに対応する柔軟なLLMプロバイダーシステム。Ollamaを使えば、自分のモデルをトークン消費ゼロでホストすることも可能です。 - **メモリーシステム.** CraftBotとのやり取りから、RAG + エージェントファイルシステム + 蒸留によってローカルの知識ベースを構築。CraftBotは深夜に「夢を見て」、その日の出来事を統合します。 - **能動的なエージェント.** あなたの好み、習慣、人生の目標を学習。そのうえで計画を立て、タスクを起動(もちろん承認付きで)し、あなたの人生をより良くする手助けをします。 -- **外部ツールとの連携.** Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord、Telegramと接続可能(今後さらに追加予定)。認証情報の埋め込みやOAuthにも対応しています。 +- **外部ツールとの連携.** Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord、Telegramなどのアプリと接続可能(今後さらに追加予定)。OAuthまたは自分のキーでの利用に対応しています。 - **スキル & MCP.** 150以上のMCPと170以上のスキルが利用可能。新しいスキルやMCPもすぐに導入できます。完了したタスクからワンクリックでスキルを作成・改善することもできます。 -- **クロスプラットフォーム.** Windows、macOS、Linuxを完全サポート。プラットフォーム別のコードバリアントとDockerコンテナ化を備えています。 - **ブラウザUIとCLIに対応.** あなたの使い方に合わせて選べます。日常使いには手軽なブラウザUIを、スクリプトやヘッドレス環境にはCLIをどうぞ。 --- diff --git a/README.ko.md b/README.ko.md index 18d7c63d..d797feb5 100644 --- a/README.ko.md +++ b/README.ko.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,10 +39,25 @@ English | 日本語 | 简体中文 | 繁體中文 | Español | Português | Français | Deutsch

    +
    + CraftBot Banner +
    + ## ✨ 주요 기능 자체 SaaS 도구를 만들고 운영할 수 있는 AI 에이전트라는 점 외에도, CraftBot은 에이전트 하네스로서의 핵심 기능을 모두 갖추고 있어 작업, 도구, 메모리, 일상 워크플로 전반에서 범용 AI 에이전트로 사용자와 함께 일할 수 있습니다. +- **에이전트 프로필** 40개 이상의 에이전트 프로필(CEO 에이전트, 재무 에이전트, 마케팅 리드 에이전트, DevOps 엔지니어, 영상 프로듀서 에이전트 등 37종)이 당신을 위해 일할 준비가 되어 있습니다. **[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** 에서 원하는 역할을 찾아 원클릭으로 가져올 수 있습니다. +- **플레이북 카탈로그** AI 에이전트로 무엇을 자동화해야 할지 모르시겠나요? CraftBot에는 120개의 플레이북(19개 카테고리에 걸쳐)이 바로 사용할 수 있도록 준비되어 있습니다. 상단 바에서 플레이북 선택기를 열고 플레이북을 고르면, 바로 작업을 실행해 줍니다. +- **Living UI.** CraftBot 안에서 동작하는 커스텀 앱을 만들고, 가져오고, 발전시킬 수 있습니다. 에이전트는 UI의 상태를 항상 인지하고 있으며, 그 데이터를 직접 읽고 쓰고 다룰 수 있습니다. +- **멀티태스킹과 세션 라우팅.** 아직도 `/new` 명령어를 직접 입력하시나요? CraftBot은 언제 새 세션을 시작하고 언제 기존 작업을 이어갈지 스스로 판단하여 대화와 컨텍스트를 하나로 유지합니다. +- **셀프 호스팅 & BYOK.** OpenAI, Google Gemini, Anthropic Claude, OpenRouter 등을 지원하는 유연한 LLM 제공자 시스템. 또는 Ollama로 토큰 소비 0으로 자신만의 모델을 호스팅할 수 있습니다. +- **메모리 시스템.** RAG + 에이전트 파일 시스템 + 디스틸레이션을 통해 CraftBot과의 상호작용으로부터 로컬 지식 베이스를 구축합니다. CraftBot은 자정에 "꿈을 꾸며" 하루 동안 일어난 이벤트를 통합합니다. +- **능동적 에이전트.** 당신의 선호, 습관, 인생 목표를 학습합니다. 그리고 계획을 세우고 작업을 시작(물론 승인을 받아)하여 당신이 인생에서 더 나아질 수 있도록 돕습니다. +- **외부 도구 통합.** Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, Telegram 등 당신의 앱(더 많이 추가될 예정!)과 OAuth 또는 자체 키로 연결할 수 있습니다. +- **Skills와 MCP.** 150개 이상의 MCP와 170개 이상의 Skills가 준비되어 있습니다. 새로운 Skills와 MCP를 빠르게 설치할 수 있고, 완료된 작업에서 한 번의 클릭으로 Skills를 만들거나 개선할 수 있습니다. +- **브라우저 인터페이스와 CLI 지원.** 당신에게 맞는 방식으로 CraftBot을 사용하세요. 일상적인 사용에는 간단한 브라우저 UI를, 스크립팅과 헤드리스 환경에는 CLI를 사용할 수 있습니다. + --- ## 🧰 시작하기 diff --git a/README.md b/README.md index 2b3cec9d..cf54228b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,18 +39,23 @@ Beyond that, CraftBot has all the core capabilities of a general-purpose agent h 日本語 | 简体中文 | 繁體中文 | 한국어 | Español | Português | Français | Deutsch

    +
    + CraftBot Banner +
    + ## ✨ Highlighted Features Aside from being an AI agent that can create and operate its own SaaS tools, CraftBot includes all the core features of an agent harness, enabling it to work as a general AI agent alongside you across your tasks, tools, memory, and daily workflows. +- **Agent Profiles** 40+ Agent Profiles (CEO agent, Finance agent, marketing lead agent, devops engineer, video producer agent, or 37 others) ready to work for you. Find the desire roles from **[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** and import them with one-click. +- **Playbook catalogue** Not sure how to automate with AI agent? CraftBot has 120 playbooks ready for use (across 19 categories). Open the playbook picker from the top bar, pick a playbook, and it start running task for you. - **Living UI.** Build, import, or evolve custom apps that live inside CraftBot. The agent stays aware of the UI's state and can read, write, and act on its data directly. - **Multi-tasking and session routing.** Still using `/new` command? CraftBot knows when to start a new session and when to resume a task, keeping conversation and context unified. - **Self-hosted and BYOK.** Flexible LLM provider system supporting OpenAI, Google Gemini, Anthropic Claude, OpenRoute, and more. Or host your own model with 0 tokens spent using Ollama. - **Memory System.** Local knowledge base built from your interaction with CraftBot via RAG + Agent File System + distillation. CraftBot dreams and consolidates events that happened throughout the day at midnight. - **Proactive Agent.** Learn your preferences, habits, and life goals. Then, perform planning and initiate tasks (with approval, of course) to help you improve in life. -- **External Tools Integration.** Connect to Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, and Telegram (more to come!) with embedded credentials and OAuth support. +- **External Tools Integration.** Connect to your apps like Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, Telegram and more (more to come!) with OAuth support or your own key. - **Skills and MCP.** 150+ MCP and 170+ Skills ready. Quick installation of new Skills and MCPs. Create/improve Skills from completed tasks with one click. -- **Cross-Platform** Full support for Windows, macOS, and Linux with platform-specific code variants and Docker containerization. - **Browser interface and CLI support.** Use CraftBot the way it fits: through a simple browser UI for everyday interaction, or via the CLI for scripting and headless environments. --- diff --git a/README.pt-BR.md b/README.pt-BR.md index 23e05b4d..b4c65c3f 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,18 +39,23 @@ Além disso, o CraftBot tem todas as capacidades essenciais de um framework de a English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Español | Français | Deutsch

    +
    + CraftBot Banner +
    + ## ✨ Principais recursos Além de ser um agente de IA capaz de criar e operar suas próprias ferramentas SaaS, o CraftBot conta com todas as capacidades essenciais de um framework de agente, podendo atuar como um agente de IA de uso geral que te acompanha em suas tarefas, ferramentas, memória e fluxos de trabalho do dia a dia. +- **Perfis de agente** Mais de 40 perfis de agente (agente CEO, agente financeiro, agente líder de marketing, engenheiro DevOps, agente produtor de vídeo e mais 37) prontos para trabalhar por você. Encontre os papéis desejados em **[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** e importe-os com um clique. +- **Catálogo de playbooks** Não sabe como automatizar com agente de IA? O CraftBot tem 120 playbooks prontos para uso (em 19 categorias). Abra o seletor de playbooks pela barra superior, escolha um playbook e ele começa a executar a tarefa por você. - **Living UI.** Construa, importe ou evolua aplicações personalizadas que vivem dentro do CraftBot. O agente conhece o estado atual da UI o tempo todo e pode ler, escrever e agir sobre seus dados diretamente. - **Multitarefa e roteamento de sessões.** Ainda digitando `/new` manualmente? O CraftBot decide quando abrir uma nova sessão e quando retomar uma tarefa, mantendo conversa e contexto unificados. - **Self-hosted e BYOK.** Sistema flexível de provedores de LLM com suporte a OpenAI, Google Gemini, Anthropic Claude, OpenRouter e mais. Ou hospede seu próprio modelo gastando 0 tokens com o Ollama. - **Sistema de memória.** Uma base de conhecimento local construída a partir da sua interação com o CraftBot via RAG + sistema de arquivos do agente + destilação. À meia-noite, o CraftBot "sonha" e consolida os eventos do dia. - **Agente proativo.** Aprende suas preferências, hábitos e objetivos de vida. Em seguida, planeja e inicia tarefas (com sua aprovação, claro) para te ajudar a evoluir. -- **Integração com ferramentas externas.** Conecte-se a Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord e Telegram (e muito mais por vir!), com credenciais embutidas e suporte a OAuth. +- **Integração com ferramentas externas.** Conecte-se aos seus apps como Google Workspace, Slack, Notion, Zoom, LinkedIn, Discord, Telegram e mais (e muito mais por vir!), com suporte a OAuth ou usando sua própria chave. - **Skills e MCP.** Mais de 150 MCPs e 170 Skills prontos para uso. Instalação rápida de novos Skills e MCPs. Crie ou melhore Skills a partir de tarefas concluídas com um clique. -- **Multiplataforma.** Suporte completo a Windows, macOS e Linux, com variantes de código por plataforma e containerização via Docker. - **Interface de navegador e suporte a CLI.** Use o CraftBot do jeito que melhor te servir: pela UI simples no navegador para o dia a dia, ou via CLI para scripts e ambientes headless. --- diff --git a/README.zh-TW.md b/README.zh-TW.md index 20bd8179..be5c7d3e 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -1,7 +1,3 @@ -
    - CraftBot Banner -
    -
    CraftBot
    @@ -43,18 +39,23 @@ English | 日本語 | 简体中文 | 한국어 | Español | Português | Français | Deutsch

    +
    + CraftBot Banner +
    + ## ✨ 核心特色 除了能夠建立並運行自有的 SaaS 工具,CraftBot 還具備 Agent 框架的全部核心能力,可以作為通用 AI Agent 陪你處理任務、工具、記憶與日常工作流程。 +- **Agent 設定檔** 40+ Agent 設定檔(CEO Agent、財務 Agent、行銷負責人 Agent、DevOps 工程師、影片製作人 Agent 等共 37 種)隨時準備為你工作。從 **[CraftBot Agent Bundles](https://github.com/CraftOS-dev/craftbot-agent-bundles)** 找到想要的角色,一鍵匯入。 +- **Playbook 目錄** 不知道如何用 AI Agent 自動化?CraftBot 內建 120 個 Playbook(涵蓋 19 個分類)隨時可用。從頂部列開啟 Playbook 選擇器,挑一個 Playbook,它就會開始替你執行任務。 - **Living UI.** 在 CraftBot 內建立、匯入或演進自訂應用程式。Agent 隨時掌握 UI 的狀態,並能直接讀取、寫入並操作其中的資料。 - **多工與工作階段路由.** 還在手動輸入 `/new` 指令嗎?CraftBot 能自己判斷何時該開啟新會話、何時要繼續舊任務,讓對話與上下文保持一致。 - **自架與 BYOK.** 彈性的 LLM 供應商系統,支援 OpenAI、Google Gemini、Anthropic Claude、OpenRouter 等。也可以用 Ollama 自架模型,完全不耗 Token。 - **記憶系統.** 透過 RAG + Agent 檔案系統 + 蒸餾,從你與 CraftBot 的互動中建立本地知識庫。CraftBot 會在午夜「做夢」,整合一整天發生的事件。 - **主動型 Agent.** 學習你的偏好、習慣與人生目標,然後主動規劃並發起任務(當然會徵求你的同意),協助你在生活中變得更好。 -- **外部工具整合.** 內建憑證與 OAuth 支援,可連接 Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord 與 Telegram(更多正在路上)。 +- **外部工具整合.** 連接你的應用,例如 Google Workspace、Slack、Notion、Zoom、LinkedIn、Discord、Telegram 等(更多正在路上),支援 OAuth 或使用你自己的金鑰。 - **Skills 與 MCP.** 已備好 150+ MCP 與 170+ Skills,支援快速安裝新的 Skills 與 MCP,也能從已完成的任務一鍵建立或改進 Skills。 -- **跨平台.** 完整支援 Windows、macOS 與 Linux,提供平台專屬的程式碼分支以及 Docker 容器化方案。 - **瀏覽器介面與 CLI 支援.** 選擇最適合你的方式使用 CraftBot:日常使用走簡潔的瀏覽器 UI,腳本與無介面環境則走 CLI。 --- diff --git a/assets/README_banner.png b/assets/README_banner.png index 8119af9283cbf10d854d001af2c9170e7b24ca2d..5b7415338699a7adf6bc9265dd9a730e6429026f 100644 GIT binary patch delta 1107471 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�usGVor(3=B($JJrD&Q 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

    aB+MWVPK5I!%%b3|qAVSrw#bf+gUy+w z3!@@z0tz4kF2+PW>^qG>Xu{`ujj

    CeaqE^?<5HC}4srBmgo`dlY6V%-Pt+e{{p+ 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

    7r+0(5( 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 z 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⪚igS|M2rqSj6zGsj4J`h&6zAOUYFrwXtU-m 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%0DrnxUcfUF+9V_h3GzK6mZHucN}sy1LtrW0 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 z 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 =pR6*xhaO_o@re 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 z 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℘W-N&vAi*S5=%*>A;J>n!WM#*QEsKZ7CLSQfv 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 z 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

    60Y%=~3`akz7V!ZNCWs~ub?XV5YOXzV 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%0A~JHc}bk%ELt)i##i-C)%k`tf=Oa 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¨UHl9^ir*`y^W<0H~*Hq+)H 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

    1muV0 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 G0$_sva%;W- From 24588543890fa23939c8f1a3d96c534ade01b432 Mon Sep 17 00:00:00 2001 From: CraftOS Date: Thu, 18 Jun 2026 11:53:02 +0900 Subject: [PATCH 22/24] Update README.md Remove broken images --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index cf54228b..48c07550 100644 --- a/README.md +++ b/README.md @@ -157,10 +157,6 @@ The first run will guide you through setting up your API keys and preferences. ### 🖥️ Interface Modes -
    - CraftOS Banner -
    - CraftBot supports multiple UI modes. Choose based on your preference: | Mode | Command | Requirements | Best For | From 9b2362b8a4a204e4bea4de68313ce809cbca2529 Mon Sep 17 00:00:00 2001 From: ahmad-ajmal Date: Thu, 18 Jun 2026 07:19:40 +0100 Subject: [PATCH 23/24] fix(tokens): bill only uncached tokens against per-task limit fix: removed time from prompt --- agent_core/core/impl/context/engine.py | 2 +- agent_core/core/impl/llm/interface.py | 37 +++++++++++++++------ agent_core/core/impl/vlm/interface.py | 5 +-- agent_core/utils/token.py | 22 ++++++++++++ app/llm_interface.py | 46 +++++++++++++++++++++----- 5 files changed, 90 insertions(+), 22 deletions(-) diff --git a/agent_core/core/impl/context/engine.py b/agent_core/core/impl/context/engine.py index 7c441fc3..2beab3f2 100644 --- a/agent_core/core/impl/context/engine.py +++ b/agent_core/core/impl/context/engine.py @@ -299,7 +299,7 @@ def get_event_stream(self, session_id: Optional[str] = None) -> str: # Current date/time goes in this dynamic tail (NOT the cached system # prefix) so the prompt prefix stays byte-stable for cache hits. - sections.append(self.current_datetime_block()) + # sections.append(self.current_datetime_block()) # Get conversation history (recent messages from BEFORE this task) # This provides context without injecting into the actual event stream diff --git a/agent_core/core/impl/llm/interface.py b/agent_core/core/impl/llm/interface.py index 882d80cc..ac02b0b8 100644 --- a/agent_core/core/impl/llm/interface.py +++ b/agent_core/core/impl/llm/interface.py @@ -46,6 +46,7 @@ # Logging setup - use shared agent_core logger for consistency from agent_core.utils.logger import logger +from agent_core.utils.token import billable_tokens # Per-call metadata (prompt identity + start time) propagated from the public # entry methods down to the capture chokepoint (_call_log_to_db) without @@ -554,7 +555,7 @@ def _generate_response_sync( # Update token count via hook current_count = self._get_token_count() - self._set_token_count(current_count + response.get("tokens_used", 0)) + self._set_token_count(current_count + billable_tokens(response)) if log_response: logger.info(f"[LLM RECV] {cleaned}") @@ -910,7 +911,7 @@ def _generate_response_with_session_sync( self._CODE_BLOCK_RE, "", response.get("content", "").strip() ) current_count = self._get_token_count() - self._set_token_count(current_count + response.get("tokens_used", 0)) + self._set_token_count(current_count + billable_tokens(response)) if log_response: logger.info(f"[LLM RECV] {cleaned}") return cleaned @@ -984,7 +985,7 @@ def _generate_response_with_session_sync( self._CODE_BLOCK_RE, "", response.get("content", "").strip() ) current_count = self._get_token_count() - self._set_token_count(current_count + response.get("tokens_used", 0)) + self._set_token_count(current_count + billable_tokens(response)) if log_response: logger.info(f"[LLM RECV] {cleaned}") return cleaned @@ -1073,7 +1074,7 @@ def _generate_response_with_session_sync( self._CODE_BLOCK_RE, "", response.get("content", "").strip() ) current_count = self._get_token_count() - self._set_token_count(current_count + response.get("tokens_used", 0)) + self._set_token_count(current_count + billable_tokens(response)) if log_response: logger.info(f"[LLM RECV] {cleaned}") return cleaned @@ -1168,7 +1169,7 @@ def _generate_response_with_session_sync( self._CODE_BLOCK_RE, "", response.get("content", "").strip() ) current_count = self._get_token_count() - self._set_token_count(current_count + response.get("tokens_used", 0)) + self._set_token_count(current_count + billable_tokens(response)) if log_response: logger.info(f"[LLM RECV] {cleaned}") return cleaned @@ -1228,7 +1229,7 @@ def _generate_response_with_session_sync( cleaned = re.sub(self._CODE_BLOCK_RE, "", response.get("content", "").strip()) current_count = self._get_token_count() - self._set_token_count(current_count + response.get("tokens_used", 0)) + self._set_token_count(current_count + billable_tokens(response)) if log_response: logger.info(f"[LLM RECV] {cleaned}") return cleaned @@ -1303,7 +1304,11 @@ def _process_session_response( cached_tokens or 0, ) - return {"tokens_used": total_tokens or 0, "content": content or ""} + return { + "tokens_used": total_tokens or 0, + "content": content or "", + "cached_tokens": cached_tokens or 0, + } def _process_prefix_response( self, result: Dict[str, Any], session_key: str @@ -1359,7 +1364,11 @@ def _process_prefix_response( cached_tokens=cached_tokens or 0, ) - return {"tokens_used": total_tokens or 0, "content": content or ""} + return { + "tokens_used": total_tokens or 0, + "content": content or "", + "cached_tokens": cached_tokens or 0, + } def generate_response_with_session( self, @@ -1578,7 +1587,11 @@ def _generate_byteplus_with_session( cached_tokens, ) - return {"tokens_used": total_tokens or 0, "content": content or ""} + return { + "tokens_used": total_tokens or 0, + "content": content or "", + "cached_tokens": cached_tokens or 0, + } # ───────────────────── Provider‑specific private helpers ───────────────────── @profile("llm_openai_call", OperationCategory.LLM) @@ -2186,7 +2199,11 @@ def _generate_byteplus_with_prefix_cache( cached_tokens or 0, ) - return {"tokens_used": total_tokens or 0, "content": content or ""} + return { + "tokens_used": total_tokens or 0, + "content": content or "", + "cached_tokens": cached_tokens or 0, + } def _parse_responses_api_content(self, result: Dict[str, Any]) -> str: """Parse content from BytePlus Responses API response. diff --git a/agent_core/core/impl/vlm/interface.py b/agent_core/core/impl/vlm/interface.py index 41cfd8ee..a24b0ec7 100644 --- a/agent_core/core/impl/vlm/interface.py +++ b/agent_core/core/impl/vlm/interface.py @@ -22,6 +22,7 @@ import requests from agent_core.core.impl.llm.cache import get_cache_config, get_cache_metrics +from agent_core.utils.token import billable_tokens from agent_core.core.hooks import ( GetTokenCountHook, SetTokenCountHook, @@ -289,7 +290,7 @@ def describe_image_bytes( tokens_used = response.get("tokens_used", 0) if tokens_used: current_count = self._get_token_count() - self._set_token_count(current_count + tokens_used) + self._set_token_count(current_count + billable_tokens(response)) if log_response: logger.info(f"[LLM RECV] {cleaned}") @@ -478,7 +479,7 @@ def _gemini_describe_video_frames( ) tokens_used = result.get("tokens_used", 0) if tokens_used: - self._set_token_count(self._get_token_count() + tokens_used) + self._set_token_count(self._get_token_count() + billable_tokens(result)) return re.sub(self._CODE_BLOCK_RE, "", result.get("content", "").strip()) def _multi_frame_describe_fallback( diff --git a/agent_core/utils/token.py b/agent_core/utils/token.py index 6522f956..a3afb7c9 100644 --- a/agent_core/utils/token.py +++ b/agent_core/utils/token.py @@ -35,3 +35,25 @@ def count_tokens(text: str) -> int: if not text: return 0 return len(_get_tokenizer().encode(text)) + + +def billable_tokens(response: dict) -> int: + """Tokens that should count toward the per-task ``token_count`` limit. + + The conversation context is re-sent on every turn, so the provider reports + a large ``input_tokens`` each call — but the bulk of that is cache reads of + bytes we already paid for on previous turns. Charging the full input on + every turn drains the task token budget in a handful of turns even though + almost no *new* work is being done. We therefore bill only the uncached + portion: ``tokens_used - cached_tokens`` (clamped at 0). + + This is for the *limit* counter only — display/attribution totals still + record true usage (including cache reads) via the usage-reporting hooks. + + Args: + response: A processed response dict carrying ``tokens_used`` and, + optionally, ``cached_tokens`` (defaults to 0 when absent). + """ + used = int(response.get("tokens_used", 0) or 0) + cached = int(response.get("cached_tokens", 0) or 0) + return max(0, used - cached) diff --git a/app/llm_interface.py b/app/llm_interface.py index 1c33503e..33ada511 100644 --- a/app/llm_interface.py +++ b/app/llm_interface.py @@ -49,6 +49,11 @@ class LLMCallType(str, Enum): logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") +# Shared definition lives in agent_core so the LLM/VLM limit counters stay in +# sync. Aliased to the existing private name to keep call sites unchanged. +from agent_core.utils.token import billable_tokens as _billable_tokens + + # ─────────────────────────── Shared Cache Configuration ─────────────────────────── @dataclass class CacheConfig: @@ -1023,7 +1028,8 @@ def _generate_response_sync( tokens_used = response.get("tokens_used", 0) _props = get_session_props() _props.set_property( - "token_count", _props.get_property("token_count", 0) + tokens_used + "token_count", + _props.get_property("token_count", 0) + _billable_tokens(response), ) if _slow_mode_active and tokens_used > 0: @@ -1317,7 +1323,8 @@ def _generate_response_with_session_sync( _tokens_used = response.get("tokens_used", 0) _props = get_session_props(task_id) _props.set_property( - "token_count", _props.get_property("token_count", 0) + _tokens_used + "token_count", + _props.get_property("token_count", 0) + _billable_tokens(response), ) if _slow_mode_active and _tokens_used > 0: from app.rate_limiter import get_rate_limiter @@ -1349,7 +1356,8 @@ def _generate_response_with_session_sync( _tokens_used = response.get("tokens_used", 0) _props = get_session_props(task_id) _props.set_property( - "token_count", _props.get_property("token_count", 0) + _tokens_used + "token_count", + _props.get_property("token_count", 0) + _billable_tokens(response), ) if _slow_mode_active and _tokens_used > 0: from app.rate_limiter import get_rate_limiter @@ -1447,7 +1455,8 @@ def _generate_response_with_session_sync( _tokens_used = response.get("tokens_used", 0) _props = get_session_props(task_id) _props.set_property( - "token_count", _props.get_property("token_count", 0) + _tokens_used + "token_count", + _props.get_property("token_count", 0) + _billable_tokens(response), ) if _slow_mode_active and _tokens_used > 0: from app.rate_limiter import get_rate_limiter @@ -1546,7 +1555,8 @@ def _generate_response_with_session_sync( _tokens_used = response.get("tokens_used", 0) _props = get_session_props(task_id) _props.set_property( - "token_count", _props.get_property("token_count", 0) + _tokens_used + "token_count", + _props.get_property("token_count", 0) + _billable_tokens(response), ) if _slow_mode_active and _tokens_used > 0: from app.rate_limiter import get_rate_limiter @@ -1615,7 +1625,11 @@ def _process_session_response( token_count_output, ) - return {"tokens_used": total_tokens or 0, "content": content or ""} + return { + "tokens_used": total_tokens or 0, + "content": content or "", + "cached_tokens": cached_tokens or 0, + } def _process_prefix_response( self, result: Dict[str, Any], session_key: str @@ -1670,7 +1684,11 @@ def _process_prefix_response( token_count_output, ) - return {"tokens_used": total_tokens or 0, "content": content or ""} + return { + "tokens_used": total_tokens or 0, + "content": content or "", + "cached_tokens": cached_tokens or 0, + } def generate_response_with_session( self, @@ -1733,6 +1751,7 @@ def _generate_byteplus_with_session( """ token_count_input = token_count_output = 0 total_tokens = 0 + cached_tokens = 0 status = "failed" content: Optional[str] = None exc_obj: Optional[Exception] = None @@ -1860,7 +1879,11 @@ def _generate_byteplus_with_session( token_count_input, token_count_output, ) - return {"tokens_used": total_tokens or 0, "content": content or ""} + return { + "tokens_used": total_tokens or 0, + "content": content or "", + "cached_tokens": cached_tokens or 0, + } # ───────────────────── Provider‑specific private helpers ───────────────────── @profile("llm_openai_call", OperationCategory.LLM) @@ -2173,6 +2196,7 @@ def _generate_byteplus_with_prefix_cache( """ token_count_input = token_count_output = 0 total_tokens = 0 + cached_tokens = 0 status = "failed" content: Optional[str] = None exc_obj: Optional[Exception] = None @@ -2263,7 +2287,11 @@ def _generate_byteplus_with_prefix_cache( token_count_input, token_count_output, ) - return {"tokens_used": total_tokens or 0, "content": content or ""} + return { + "tokens_used": total_tokens or 0, + "content": content or "", + "cached_tokens": cached_tokens or 0, + } def _parse_responses_api_content(self, result: Dict[str, Any]) -> str: """Parse content from BytePlus Responses API response. From fcafdee1217c618d56cb05225e243a746d58334b Mon Sep 17 00:00:00 2001 From: ahmad-ajmal Date: Thu, 18 Jun 2026 07:41:31 +0100 Subject: [PATCH 24/24] Lint Fix --- app/ui_layer/settings/profile_bundle.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/ui_layer/settings/profile_bundle.py b/app/ui_layer/settings/profile_bundle.py index c21ac49d..10e83be1 100644 --- a/app/ui_layer/settings/profile_bundle.py +++ b/app/ui_layer/settings/profile_bundle.py @@ -98,6 +98,7 @@ def _validate_skill_md(skill_md: Path) -> Optional[str]: """ import re as _re import yaml as _yaml + if not skill_md.is_file(): return "SKILL.md missing" try: @@ -565,6 +566,7 @@ def _is_system_skill_md(skill_md: Path) -> bool: """ import re as _re import yaml as _yaml + if not skill_md.is_file(): return False try: @@ -678,8 +680,7 @@ def _apply_skills( # is left on disk untouched so the user can inspect/repair the file. copy_err = _validate_skill_md(dst / "SKILL.md") if copy_err: - invalid.append({"name": skill_name, "reason": copy_err, - "origin": "bundle"}) + invalid.append({"name": skill_name, "reason": copy_err, "origin": "bundle"}) logger.warning( f"[PROFILE_BUNDLE] Bundled skill '{skill_name}' fails " f"validation ({copy_err}); NOT enabling, folder left on "