Commit Graph
367 Commits
Author SHA1 Message Date
ZacharyZhang-NY e54aee8d8b style(App): localise console toggle labels, inline ease via tailwind class (P3-46, P3-47)
aria-label/title now use app.hideConsole/app.showConsole i18n keys; the
grid transition timing function moves from inline style into an
ease-[cubic-bezier(...)] utility.
2026-04-16 23:08:32 -04:00
ZacharyZhang-NY 525f6ed335 fix(window-state): log corruption instead of silent reset to default geometry 2026-04-16 23:08:06 -04:00
ZacharyZhang-NY 1adfea55b0 chore(meetings): log skipped invalid action items; use requireParam for meetingId (P2-42, P3-48) 2026-04-16 23:08:06 -04:00
ZacharyZhang-NY c7fbec8194 fix(schemas): use uuid validation on config-revision schemas (P2-42)
listConfigRevisionsSchema/getConfigRevisionSchema/rollbackConfigRevisionSchema
now require uuid format matching the rest of the config API surface.
2026-04-16 23:07:52 -04:00
ZacharyZhang-NY 7290338b11 composer: unify getAgentInitials; replace invalid focusRingColor with focus:ring-ring (P2-49, P2-32) 2026-04-16 23:07:40 -04:00
ZacharyZhang-NY 5b7e47f461 refactor(vault): expose structured getBackendInfo alongside string label 2026-04-16 23:07:34 -04:00
ZacharyZhang-NY adfcb59978 refactor(task-rubrics): share DEFAULT_RUBRIC between general and code types 2026-04-16 23:07:08 -04:00
ZacharyZhang-NY c47050964a refactor: dedupe heartbeat-title check; JOIN thread visibility; typed skill service guard (P2-43, P2-44, P2-45) 2026-04-16 23:07:01 -04:00
ZacharyZhang-NY 6d0d0dd4a0 lint(eslint): ignore pi-mono-reference and landing directories from lint 2026-04-16 23:06:50 -04:00
ZacharyZhang-NY d019347e03 fix(notification): close visible notifications during destroy on Windows 2026-04-16 23:06:35 -04:00
ZacharyZhang-NY 5da9945792 skills: replace hand-rolled primary button with ActionButton; use Input primitive (P2-33, P2-34) 2026-04-16 23:06:35 -04:00
ZacharyZhang-NY 83dc1e61d7 refactor(message-dispatch): extract priorityToUrgency helper 2026-04-16 23:06:24 -04:00
ZacharyZhang-NY 32e676aec9 fix(automation): allow explicit scheduledAt / scheduleOffsetMinutes
P3-58: Automation rule's schedule_meeting action hardcoded +1hr from
now, producing meetings that could land in the past or outside working
hours. Accept scheduledAt (ISO-8601) first, fall back to
scheduleOffsetMinutes, and only default to +60min when the rule
specifies no time at all.
2026-04-16 23:06:06 -04:00
ZacharyZhang-NY 7eba08cfb9 refactor(ExecutionSections): extract buildTaskEscalation policy from onClick (P2-38)
Move the blocked-vs-strategy approval-type decision out of JSX into a pure
buildTaskEscalation(task) helper so the escalation policy is testable and
not embedded in the click handler.
2026-04-16 23:05:58 -04:00
ZacharyZhang-NY df418a874b refactor(desktop-shell-window): extract webPreferences into a typed local 2026-04-16 23:05:24 -04:00
ZacharyZhang-NY 9e6aa61e09 feat(i18n): dev-mode warn on missing translation keys, default-locale fallback (P3-54)
Missing keys now log a console.warn in dev; at runtime the default-locale
dict is consulted before falling back to the raw key so zh users are not
shown literal keys when a zh translation is absent.
2026-04-16 23:05:20 -04:00
ZacharyZhang-NY 33a371eb50 fix(db): expose runProducedDeliverable on AppDatabase
Follow-up to P2-37: delegation wrapper for the knowledge module method
introduced in the previous commit was missed, leaving TS2339 at
automation-run-completion.
2026-04-16 23:05:06 -04:00
ZacharyZhang-NY dc368962f4 feat(desktop): preserve error.code via DesktopError class in unwrap (P3-52)
Callers can now catch DesktopError and inspect err.code to distinguish
auth/validation/unknown failures; plain Error fallback kept for message.
2026-04-16 23:05:00 -04:00
ZacharyZhang-NY 41fee50c55 EntityWorkspace: normalize typography to match Panel (20px/bold), use Eyebrow primitive (P1-10, P2-27) 2026-04-16 23:04:52 -04:00
ZacharyZhang-NY 972eb5dc93 feat(desktop-shell-menu): allow DevTools toggle via AGENTCOMPANY_ENABLE_DEVTOOLS 2026-04-16 23:04:50 -04:00
ZacharyZhang-NY 84d11582a3 chore(store): use import.meta.env.DEV instead of process.env.NODE_ENV (P3-53)
Vite-native idiom; added vite/client triple-slash reference to env.d.ts
so TS knows about ImportMeta.env.
2026-04-16 23:04:36 -04:00
ZacharyZhang-NY 4fd1326089 fix(browser-manager): await login-window close during shutdown 2026-04-16 23:04:29 -04:00
ZacharyZhang-NY 3bdc8b4be1 refactor(api): extract authenticateRequest helper from handleRequest (P1-35) 2026-04-16 23:04:12 -04:00
ZacharyZhang-NY 779a102ed7 fix(agent-permissions): word-boundary-match management keywords 2026-04-16 23:03:47 -04:00
ZacharyZhang-NY 5ce3c8ff76 refactor(skills): hoist ROLE_SKILL_CATEGORIES to module constant
P2-43: The role → skill-category map was declared inside
assignRoleSkillsToAgent, making every call reallocate the object and
hiding the coupling between these strings and on-disk category names.
Move to a module-level constant with a docblock noting that mixed-case
names (iOS-Dev, Video-maker) must match the filesystem layout.
2026-04-16 23:03:44 -04:00
ZacharyZhang-NY a0e78e27ab perf(db): prefilter agents by mention tokens before alias matching (P1-33) 2026-04-16 23:03:10 -04:00
ZacharyZhang-NY 7100c0bed6 fix(agent-auth): log malformed token shape once for schema-break diagnosis 2026-04-16 23:02:58 -04:00
ZacharyZhang-NY d4c0d0a6bc refactor(db): move run-deliverable detection out of raw db.queryAll
P2-37: automation-run-completion.checkRunProducedDeliverable issued 5
raw SQLs via db.queryAll. Consolidate into db.runProducedDeliverable
so schema changes to knowledge_base / documents / task_comments
surface in the knowledge domain module rather than silently breaking
at the caller.
2026-04-16 23:02:43 -04:00
ZacharyZhang-NY b2eed3e75a fix(budget-policy-input): convert dollars to cents via string parsing (P2-35)
Avoid floating-point drift from parseFloat * 100 by parsing digits then
concatenating; dollarsToCents returns null for invalid input.
2026-04-16 23:02:37 -04:00
ZacharyZhang-NY c3e66d1a3b fix(task-quality-gates): add zh keywords and word-boundary capabilities trim 2026-04-16 23:02:29 -04:00
ZacharyZhang-NY 296c72eb3f composer/settings: use ActionButton iconOnly send; replace deprecated navigator.platform with lib/platform (P1-9, P2-46) 2026-04-16 23:02:29 -04:00
ZacharyZhang-NY b0b0cfa35b refactor(keyboard): extract shared nextIndexFor, drop duplicate handleKeyDown body (P2-28)
createRovingTabIndex and useRovingTabIndex now share one key-to-index
resolver; keeps both exports for test + React usage without drift risk.
2026-04-16 23:02:17 -04:00
ZacharyZhang-NY 821855931d refactor(db): add findAgent/findConnector; wrap linkManyTasksToApproval in tx; collapse saveAgent IIFEs (P1-28, P1-29) 2026-04-16 23:02:13 -04:00
ZacharyZhang-NY a05885c0ff feat(notification): localize batch summary copy for zh locale 2026-04-16 23:01:56 -04:00
ZacharyZhang-NY a063f5ed91 refactor(useCompanyData): extract filterByCompany helper, drop 14 inline filters (P2-34)
One filterByCompany<T>() helper replaces 14 nearly-identical snapshot.X
.filter((item) => !currentCompany || item.companyId === currentCompany.id)
expressions.
2026-04-16 23:01:34 -04:00
ZacharyZhang-NY 5403ee9aa0 fix(approval-handler): only parse workflow payload for dangerous_command type
P1-22: The opportunistic JSON.parse of payloadJson ran for every
approval, hoping to find workflowId/stepId. Gate on the actual
approval type that carries workflow metadata (dangerous_command, as
emitted by runWorkflowPipeline), and validate payload shape via zod.
2026-04-16 23:01:23 -04:00
ZacharyZhang-NY f1dd9786e5 onboarding: remove AsciiAnimation decoration and 'by ELYDORA' signatures (P1-17, P1-18); move hero-drift keyframes to global CSS (P3-60) 2026-04-16 23:01:11 -04:00
ZacharyZhang-NY 527a730bec refactor(build-desktop): split 397-line script into env/config/runner modules (P1-15) 2026-04-16 23:00:54 -04:00
ZacharyZhang-NY b58e64b555 refactor(ConsoleView): hoist Select options into useMemo, name shutdown sentinels, localise close label (P2-25, P2-26, P3-51)
Replace options IIFE with memoised runSelectOptions; extract magic-string
run-summary filters to SHUTDOWN_SUMMARY/WORKER_CRASH_SUMMARY constants;
localise Close console aria-label via console.close key.
2026-04-16 23:00:48 -04:00
ZacharyZhang-NY 7df0d564e5 refactor(workflow): validate workflow steps via zod schema
P1-20: normalizeWorkflowSteps used ad-hoc typeof checks that silently
accepted malformed entries (e.g. number where string was expected).
Replace with workflowStepsInputSchema zod validation; semantics for
defaults/action whitelist are preserved.
2026-04-16 23:00:45 -04:00
ZacharyZhang-NY a0be5beeb5 fix(execution-policy): runtime-assert execution mode from DB instead of cast 2026-04-16 23:00:43 -04:00
ZacharyZhang-NY 007a8fede5 docs(session): explain MAX_HANDOFF_LENGTH/MAX_HANDOFF_RUNS constants 2026-04-16 23:00:18 -04:00
ZacharyZhang-NY a852597d2e refactor(workspace): extract resolveWorkspaceWithLockMode shared helper
P1-21: worker-crash-recovery reinvented workspace resolution inline and
silently dropped the exclusive/shared distinction — a recovered run
could claim shared mode that the original run held exclusively.
Introduce resolve-workspace.ts as the single source of truth for the
task→agent→project→company fallback chain and its lockMode, used by
both run-dispatch and crash recovery.
2026-04-16 23:00:13 -04:00
ZacharyZhang-NY 6ce4fd1fe4 fix(onboarding): log skill scan failures instead of silent swallow 2026-04-16 23:00:06 -04:00
ZacharyZhang-NY 1b11b53f84 onboarding: extract OnboardingStep shell (P1-11); eliminate 6 copies of motion+header chrome 2026-04-16 23:00:01 -04:00
ZacharyZhang-NY 3eb5ed1069 perf(db): fetch single row in getConnector instead of readConnectors+find (P1-27) 2026-04-16 22:59:51 -04:00
ZacharyZhang-NY 17aa92d18d fix(formatters): use active locale for money/time/relative formatting (P2-29, P2-30)
Pull locale from useAppStore.getState() so zh users get zh-CN number/date
formatting and Chinese relative-time strings; drop en-US lock.
2026-04-16 22:59:41 -04:00
ZacharyZhang-NY fcd2cf6e43 fix(host-env): enumerate installed Python versions instead of hardcoding 2026-04-16 22:59:30 -04:00
ZacharyZhang-NY ce676c5cc0 fix(browser): prevent duplicate concurrent login launches per account (P1-14) 2026-04-16 22:59:19 -04:00
ZacharyZhang-NY d9861f6346 refactor(turn-context): extract named filter helpers from buildRunPayload
P1-13: 100-line call to buildTaskPrompt inlined 25 snapshot filters
(meetings, knowledge, documents, approvals, connectors). Extract into
named helpers (filterUpcomingMeetings, filterRelevantKnowledge,
filterRecentDocuments, filterPendingApprovals, buildConnectorCatalog)
so each filter is individually testable and buildRunPayload reads as
a composition.
2026-04-16 22:59:19 -04:00