2026-07-17 18:29:06 +02:00
..
2026-06-02 15:54:29 +02:00
2026-06-02 15:54:29 +02:00
2026-07-17 16:26:23 +00:00
2026-07-16 07:18:56 +02:00
2026-07-16 07:50:24 +02:00
2026-06-11 17:49:39 +02:00
2026-05-24 16:07:18 +00:00
2026-06-15 08:11:20 +02:00
2026-07-07 05:56:35 +02:00
2026-07-07 09:40:27 +02:00
2026-07-11 17:31:23 +02:00
2026-07-17 05:29:58 +02:00
2026-07-11 10:11:36 +02:00
2026-07-17 16:26:23 +00:00
2026-06-15 08:11:53 +02:00
2026-05-31 04:26:26 +00:00
2026-06-28 05:27:28 +00:00
2026-06-28 06:35:42 +00:00
2026-07-04 11:36:47 +02:00
2026-05-31 04:26:26 +00:00
2026-06-03 16:47:53 +02:00
feat: inbox agent that drafts a suggested unibox reply on inbound human replies for human approve/edit/discard - paid + per-org opt-in (organizations.inbox_agent_enabled) feature where the consumer's reply hook, on a non-automated reply, detaches a goroutine (panic-contained, never blocks ingest) that checks entitlement, dedupes via ai_thread_drafts partial unique indexes (one pending per thread, unique source_message_id), pre-checks balance, grounds a reply in the thread history + org voice + skills via generation.Provider.Complete, reserves a draft row then charges 5 credits (idempotency inbox_agent:<draft.ID>, row unwound on a fresh context if the charge fails so no unpaid draft lingers), and emits an org-scoped AI_DRAFT_READY event gated on access_unibox; the agent never sends - only a human POST to /unibox/agent-drafts/:id/approve sends through the normal reply path, claiming pending->approved before send with an approved->pending revert on send failure, alongside list + discard endpoints; plus the unibox awaiting_agent_draft badge + agent_drafts search scope, an AgentDraftCard in the thread view with inline-editable approve-and-send/discard, the workspace settings opt-in toggle, CanUseInboxAgent paid gate, migration 000065, and docs (inbox-agent guide, endpoints, realtime)
2026-07-14 06:13:27 +02:00
2026-05-27 16:40:23 +00:00
2026-05-23 09:38:20 +00:00
2026-05-30 04:31:43 +00:00
2026-07-16 06:39:07 +02:00
2026-07-17 16:26:30 +00:00
2026-06-15 08:11:53 +02:00
2026-07-13 20:05:24 +02:00
2026-06-15 08:11:53 +02:00
2026-07-13 16:11:15 +02:00
2026-07-16 08:57:19 +02:00
feat: inbox agent that drafts a suggested unibox reply on inbound human replies for human approve/edit/discard - paid + per-org opt-in (organizations.inbox_agent_enabled) feature where the consumer's reply hook, on a non-automated reply, detaches a goroutine (panic-contained, never blocks ingest) that checks entitlement, dedupes via ai_thread_drafts partial unique indexes (one pending per thread, unique source_message_id), pre-checks balance, grounds a reply in the thread history + org voice + skills via generation.Provider.Complete, reserves a draft row then charges 5 credits (idempotency inbox_agent:<draft.ID>, row unwound on a fresh context if the charge fails so no unpaid draft lingers), and emits an org-scoped AI_DRAFT_READY event gated on access_unibox; the agent never sends - only a human POST to /unibox/agent-drafts/:id/approve sends through the normal reply path, claiming pending->approved before send with an approved->pending revert on send failure, alongside list + discard endpoints; plus the unibox awaiting_agent_draft badge + agent_drafts search scope, an AgentDraftCard in the thread view with inline-editable approve-and-send/discard, the workspace settings opt-in toggle, CanUseInboxAgent paid gate, migration 000065, and docs (inbox-agent guide, endpoints, realtime)
2026-07-14 06:13:27 +02:00
2026-06-01 03:09:17 +02:00
2026-06-10 17:16:42 +02:00
2026-06-03 11:32:19 +02:00
2026-05-27 12:06:18 +00:00
2026-06-28 05:09:50 +00:00
2026-05-18 13:09:11 +00:00
2026-07-16 06:39:07 +02:00
2026-07-16 06:39:07 +02:00
2026-06-30 10:06:20 +02:00
2026-05-27 14:43:36 +00:00
feat: org AI skills (playbooks) that every AI feature loads and follows - ai_skills table (org-scoped, unique name per org, 32KB content cap) with a skills service exposing CRUD plus an enabled-skills preamble injected into the dashboard agent, contact research, and reply-draft prompts and a load_skill read-tool that returns a playbook's full content by name, /ai/skills CRUD gated on manage_settings (JWT) or the AI_AGENT scope (API) with an ai_skill audit entity and spine entry, an AI skills settings page (list rows opening a right-side drawer with name, one-line description, enable toggle, and a markdown body), and docs with two example playbooks
2026-07-13 19:46:25 +02:00
2026-05-23 05:32:28 +00:00
feat: AI credit economy with monthly plan grants, non-expiring purchased top-ups, and Stripe billing - two-pool credit_ledger (monthly allowance reset each cycle on invoice.paid, purchased pool via checkout mode=payment fulfilled webhook-only), consume drains monthly-then-purchased, 3 fixed top-up packs, /subscription/credits balance+checkout+paginated transactions gated on manage_billing, one-time trial grant, billing credits card with balance ring and pack buttons, credit_purchase/credit_grant audit entities and spine, wired plan.monthly_credits through pg_plan reads/writes, retry-safe webhook idempotency, and an AI credits guide
2026-07-13 17:40:20 +02:00
2026-01-29 05:59:04 +01:00
2026-07-12 09:00:10 +02:00
2026-06-07 07:03:49 +02:00
2026-05-24 12:01:37 +00:00
2026-06-11 12:30:44 +02:00
feat: AI credit economy with monthly plan grants, non-expiring purchased top-ups, and Stripe billing - two-pool credit_ledger (monthly allowance reset each cycle on invoice.paid, purchased pool via checkout mode=payment fulfilled webhook-only), consume drains monthly-then-purchased, 3 fixed top-up packs, /subscription/credits balance+checkout+paginated transactions gated on manage_billing, one-time trial grant, billing credits card with balance ring and pack buttons, credit_purchase/credit_grant audit entities and spine, wired plan.monthly_credits through pg_plan reads/writes, retry-safe webhook idempotency, and an AI credits guide
2026-07-13 17:40:20 +02:00
2026-06-08 15:04:36 +02:00
2026-01-17 14:11:14 +00:00
2026-06-15 08:11:53 +02:00
2026-06-06 07:49:52 +02:00
2026-06-15 08:11:20 +02:00
2026-07-16 06:39:07 +02:00
2026-06-15 08:11:20 +02:00
2026-07-11 20:01:14 +02:00
2026-07-04 08:07:49 +02:00