@polderlabs/bizar 4.7.0 → 4.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bizar-dash/dist/assets/main-DHZmbnxQ.js +361 -0
- package/bizar-dash/dist/assets/main-DHZmbnxQ.js.map +1 -0
- package/bizar-dash/dist/assets/main-DX_Jh8Wc.css +1 -0
- package/bizar-dash/dist/assets/{mobile-CWqPoGaT.js → mobile-BK8-ythT.js} +2 -2
- package/bizar-dash/dist/assets/mobile-BK8-ythT.js.map +1 -0
- package/bizar-dash/dist/assets/{mobile-i4Uv9eW8.js → mobile-Chvf9u_B.js} +1 -1
- package/bizar-dash/dist/assets/{mobile-i4Uv9eW8.js.map → mobile-Chvf9u_B.js.map} +1 -1
- package/bizar-dash/dist/index.html +3 -3
- package/bizar-dash/dist/mobile.html +2 -2
- package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/bizar-dash/skills/publishing/SKILL.md +146 -0
- package/bizar-dash/src/server/api.mjs +8 -0
- package/bizar-dash/src/server/backup-store.mjs +525 -0
- package/bizar-dash/src/server/digest-store.mjs +558 -0
- package/bizar-dash/src/server/lib/rate-limit.mjs +122 -0
- package/bizar-dash/src/server/routes/backup.mjs +112 -0
- package/bizar-dash/src/server/routes/chat.mjs +14 -0
- package/bizar-dash/src/server/routes/digests.mjs +82 -0
- package/bizar-dash/src/server/routes-v2/events.mjs +14 -0
- package/bizar-dash/src/server/schedules-runner.mjs +126 -0
- package/bizar-dash/src/server/server.mjs +17 -0
- package/bizar-dash/src/web/App.tsx +8 -1
- package/bizar-dash/src/web/components/BackupRestore.tsx +330 -0
- package/bizar-dash/src/web/components/SearchModal.tsx +3 -1
- package/bizar-dash/src/web/components/chat/Composer.tsx +2 -0
- package/bizar-dash/src/web/styles/main.css +70 -8
- package/bizar-dash/src/web/views/Activity.tsx +11 -1
- package/bizar-dash/src/web/views/Agents.tsx +57 -42
- package/bizar-dash/src/web/views/Artifacts.tsx +38 -25
- package/bizar-dash/src/web/views/Chat.tsx +8 -0
- package/bizar-dash/src/web/views/History.tsx +4 -1
- package/bizar-dash/src/web/views/MiniMaxUsage.tsx +21 -4
- package/bizar-dash/src/web/views/Mods.tsx +30 -17
- package/bizar-dash/src/web/views/Overview.tsx +8 -1
- package/bizar-dash/src/web/views/Providers.tsx +16 -16
- package/bizar-dash/src/web/views/Schedules.tsx +33 -15
- package/bizar-dash/src/web/views/Settings.tsx +97 -1751
- package/bizar-dash/src/web/views/Skills.tsx +4 -1
- package/bizar-dash/src/web/views/Tasks.tsx +11 -2
- package/bizar-dash/src/web/views/memory/ConfigPanel.tsx +8 -2
- package/bizar-dash/src/web/views/memory/LightragPanel.tsx +3 -0
- package/bizar-dash/src/web/views/memory/ObsidianPanel.tsx +12 -4
- package/bizar-dash/src/web/views/memory/SemanticSearchPanel.tsx +3 -0
- package/bizar-dash/src/web/views/settings/ActivitySection.tsx +205 -0
- package/bizar-dash/src/web/views/settings/AgentSection.tsx +294 -0
- package/bizar-dash/src/web/views/settings/AuthSection.tsx +159 -0
- package/bizar-dash/src/web/views/settings/BackupSection.tsx +16 -0
- package/bizar-dash/src/web/views/settings/EnvVarsSection.tsx +16 -0
- package/bizar-dash/src/web/views/settings/GeneralSection.tsx +105 -0
- package/bizar-dash/src/web/views/settings/HeadroomSection.tsx +39 -0
- package/bizar-dash/src/web/views/settings/MemorySection.tsx +16 -0
- package/bizar-dash/src/web/views/settings/NetworkSection.tsx +87 -0
- package/bizar-dash/src/web/views/settings/NotificationsSection.tsx +34 -0
- package/bizar-dash/src/web/views/settings/ProvidersSection.tsx +16 -0
- package/bizar-dash/src/web/views/settings/SkillsSection.tsx +16 -0
- package/bizar-dash/src/web/views/settings/SystemLlmSection.tsx +81 -0
- package/bizar-dash/src/web/views/settings/ThemeSection.tsx +168 -0
- package/bizar-dash/src/web/views/settings/UpdatesSection.tsx +256 -0
- package/bizar-dash/tests/a11y.test.tsx +206 -0
- package/bizar-dash/tests/backup-restore.test.mjs +217 -0
- package/bizar-dash/tests/backup-restore.test.tsx +123 -0
- package/bizar-dash/tests/backup-store.test.mjs +300 -0
- package/bizar-dash/tests/cli-error-visibility.test.mjs +153 -0
- package/bizar-dash/tests/digest-generation.test.mjs +191 -0
- package/bizar-dash/tests/digest-store.test.mjs +264 -0
- package/bizar-dash/tests/rate-limit.test.mjs +298 -0
- package/cli/bin.mjs +96 -2
- package/cli/commands/minimax.mjs +20 -0
- package/cli/commands/util.mjs +154 -1
- package/cli/digest.mjs +149 -0
- package/package.json +1 -1
- package/bizar-dash/dist/assets/main-DAlLdW8I.css +0 -1
- package/bizar-dash/dist/assets/main-DGGq-iZI.js +0 -361
- package/bizar-dash/dist/assets/main-DGGq-iZI.js.map +0 -1
- package/bizar-dash/dist/assets/mobile-CWqPoGaT.js.map +0 -1
|
@@ -512,8 +512,9 @@ function ScheduleEditorModal({
|
|
|
512
512
|
|
|
513
513
|
return (
|
|
514
514
|
<form className="schedule-form" onSubmit={handleSubmit}>
|
|
515
|
-
<label className="field-label">Name</label>
|
|
515
|
+
<label className="field-label" htmlFor="schedule-name">Name</label>
|
|
516
516
|
<input
|
|
517
|
+
id="schedule-name"
|
|
517
518
|
className="input"
|
|
518
519
|
type="text"
|
|
519
520
|
placeholder="Weekly code review"
|
|
@@ -524,8 +525,9 @@ function ScheduleEditorModal({
|
|
|
524
525
|
|
|
525
526
|
<div className="task-form-row">
|
|
526
527
|
<div className="task-form-field">
|
|
527
|
-
<label className="field-label">Type</label>
|
|
528
|
+
<label className="field-label" htmlFor="schedule-type">Type</label>
|
|
528
529
|
<select
|
|
530
|
+
id="schedule-type"
|
|
529
531
|
className="select"
|
|
530
532
|
value={state.type}
|
|
531
533
|
onChange={(e) => update('type', e.target.value as EditorState['type'])}
|
|
@@ -543,8 +545,9 @@ function ScheduleEditorModal({
|
|
|
543
545
|
<>
|
|
544
546
|
<div className="task-form-row">
|
|
545
547
|
<div className="task-form-field">
|
|
546
|
-
<label className="field-label">Day of week</label>
|
|
548
|
+
<label className="field-label" htmlFor="schedule-dow">Day of week</label>
|
|
547
549
|
<select
|
|
550
|
+
id="schedule-dow"
|
|
548
551
|
className="select"
|
|
549
552
|
value={state.cronDow}
|
|
550
553
|
onChange={(e) => update('cronDow', e.target.value)}
|
|
@@ -555,8 +558,9 @@ function ScheduleEditorModal({
|
|
|
555
558
|
</select>
|
|
556
559
|
</div>
|
|
557
560
|
<div className="task-form-field">
|
|
558
|
-
<label className="field-label">Hour</label>
|
|
561
|
+
<label className="field-label" htmlFor="schedule-hour">Hour</label>
|
|
559
562
|
<select
|
|
563
|
+
id="schedule-hour"
|
|
560
564
|
className="select"
|
|
561
565
|
value={String(state.cronHour)}
|
|
562
566
|
onChange={(e) => update('cronHour', parseInt(e.target.value, 10))}
|
|
@@ -567,8 +571,9 @@ function ScheduleEditorModal({
|
|
|
567
571
|
</select>
|
|
568
572
|
</div>
|
|
569
573
|
<div className="task-form-field">
|
|
570
|
-
<label className="field-label">Minute</label>
|
|
574
|
+
<label className="field-label" htmlFor="schedule-minute">Minute</label>
|
|
571
575
|
<select
|
|
576
|
+
id="schedule-minute"
|
|
572
577
|
className="select"
|
|
573
578
|
value={String(state.cronMinute)}
|
|
574
579
|
onChange={(e) => update('cronMinute', parseInt(e.target.value, 10))}
|
|
@@ -583,8 +588,9 @@ function ScheduleEditorModal({
|
|
|
583
588
|
)}
|
|
584
589
|
{state.showAdvanced && (
|
|
585
590
|
<div className="task-form-field">
|
|
586
|
-
<label className="field-label">Cron expression</label>
|
|
591
|
+
<label className="field-label" htmlFor="schedule-cron-expr">Cron expression</label>
|
|
587
592
|
<input
|
|
593
|
+
id="schedule-cron-expr"
|
|
588
594
|
className="input"
|
|
589
595
|
type="text"
|
|
590
596
|
value={state.rawCron}
|
|
@@ -597,6 +603,7 @@ function ScheduleEditorModal({
|
|
|
597
603
|
type="button"
|
|
598
604
|
className="link-btn"
|
|
599
605
|
onClick={() => update('showAdvanced', !state.showAdvanced)}
|
|
606
|
+
aria-expanded={state.showAdvanced}
|
|
600
607
|
>
|
|
601
608
|
<ChevronDown
|
|
602
609
|
size={12}
|
|
@@ -613,8 +620,9 @@ function ScheduleEditorModal({
|
|
|
613
620
|
{state.type === 'interval' && (
|
|
614
621
|
<div className="task-form-row">
|
|
615
622
|
<div className="task-form-field" style={{ flex: 1 }}>
|
|
616
|
-
<label className="field-label">Every</label>
|
|
623
|
+
<label className="field-label" htmlFor="schedule-interval-n">Every</label>
|
|
617
624
|
<input
|
|
625
|
+
id="schedule-interval-n"
|
|
618
626
|
className="input"
|
|
619
627
|
type="number"
|
|
620
628
|
min={1}
|
|
@@ -623,8 +631,9 @@ function ScheduleEditorModal({
|
|
|
623
631
|
/>
|
|
624
632
|
</div>
|
|
625
633
|
<div className="task-form-field" style={{ flex: 1 }}>
|
|
626
|
-
<label className="field-label">Unit</label>
|
|
634
|
+
<label className="field-label" htmlFor="schedule-interval-unit">Unit</label>
|
|
627
635
|
<select
|
|
636
|
+
id="schedule-interval-unit"
|
|
628
637
|
className="select"
|
|
629
638
|
value={state.intervalUnit}
|
|
630
639
|
onChange={(e) => update('intervalUnit', e.target.value)}
|
|
@@ -639,8 +648,9 @@ function ScheduleEditorModal({
|
|
|
639
648
|
|
|
640
649
|
{state.type === 'once' && (
|
|
641
650
|
<div className="task-form-field">
|
|
642
|
-
<label className="field-label">Run at</label>
|
|
651
|
+
<label className="field-label" htmlFor="schedule-once-at">Run at</label>
|
|
643
652
|
<input
|
|
653
|
+
id="schedule-once-at"
|
|
644
654
|
className="input"
|
|
645
655
|
type="datetime-local"
|
|
646
656
|
value={state.onceAt}
|
|
@@ -651,8 +661,9 @@ function ScheduleEditorModal({
|
|
|
651
661
|
|
|
652
662
|
<div className="task-form-row">
|
|
653
663
|
<div className="task-form-field" style={{ flex: 1 }}>
|
|
654
|
-
<label className="field-label">Timezone</label>
|
|
664
|
+
<label className="field-label" htmlFor="schedule-timezone">Timezone</label>
|
|
655
665
|
<select
|
|
666
|
+
id="schedule-timezone"
|
|
656
667
|
className="select"
|
|
657
668
|
value={tzSelectValue}
|
|
658
669
|
onChange={(e) => update('timezone', e.target.value)}
|
|
@@ -665,8 +676,9 @@ function ScheduleEditorModal({
|
|
|
665
676
|
</div>
|
|
666
677
|
{state.timezone === 'Other…' && (
|
|
667
678
|
<div className="task-form-field" style={{ flex: 1 }}>
|
|
668
|
-
<label className="field-label">IANA name</label>
|
|
679
|
+
<label className="field-label" htmlFor="schedule-custom-tz">IANA name</label>
|
|
669
680
|
<input
|
|
681
|
+
id="schedule-custom-tz"
|
|
670
682
|
className="input"
|
|
671
683
|
type="text"
|
|
672
684
|
placeholder="Europe/Paris"
|
|
@@ -679,8 +691,9 @@ function ScheduleEditorModal({
|
|
|
679
691
|
|
|
680
692
|
<div className="task-form-row">
|
|
681
693
|
<div className="task-form-field">
|
|
682
|
-
<label className="field-label">Action</label>
|
|
694
|
+
<label className="field-label" htmlFor="schedule-action-type">Action</label>
|
|
683
695
|
<select
|
|
696
|
+
id="schedule-action-type"
|
|
684
697
|
className="select"
|
|
685
698
|
value={state.actionType}
|
|
686
699
|
onChange={(e) => update('actionType', e.target.value as EditorState['actionType'])}
|
|
@@ -691,8 +704,9 @@ function ScheduleEditorModal({
|
|
|
691
704
|
</select>
|
|
692
705
|
</div>
|
|
693
706
|
<div className="task-form-field" style={{ flex: 2 }}>
|
|
694
|
-
<label className="field-label">Target</label>
|
|
707
|
+
<label className="field-label" htmlFor="schedule-action-target">Target</label>
|
|
695
708
|
<input
|
|
709
|
+
id="schedule-action-target"
|
|
696
710
|
className="input"
|
|
697
711
|
type="text"
|
|
698
712
|
placeholder={state.actionType === 'webhook' ? 'https://...' : state.actionType === 'agent' ? 'agent name or task ref' : 'echo hi'}
|
|
@@ -704,8 +718,9 @@ function ScheduleEditorModal({
|
|
|
704
718
|
|
|
705
719
|
{state.actionType === 'agent' && (
|
|
706
720
|
<div className="task-form-field">
|
|
707
|
-
<label className="field-label">Prompt (what to send the agent)</label>
|
|
721
|
+
<label className="field-label" htmlFor="schedule-action-prompt">Prompt (what to send the agent)</label>
|
|
708
722
|
<textarea
|
|
723
|
+
id="schedule-action-prompt"
|
|
709
724
|
className="input"
|
|
710
725
|
rows={3}
|
|
711
726
|
placeholder="Review open PRs for stale code review comments and nudge reviewers."
|
|
@@ -719,6 +734,7 @@ function ScheduleEditorModal({
|
|
|
719
734
|
<legend>Budget pre-flight</legend>
|
|
720
735
|
<label className="checkbox-row">
|
|
721
736
|
<input
|
|
737
|
+
id="schedule-skip-budget"
|
|
722
738
|
type="checkbox"
|
|
723
739
|
checked={state.skipIfBudgetLow}
|
|
724
740
|
onChange={(e) => update('skipIfBudgetLow', e.target.checked)}
|
|
@@ -726,8 +742,9 @@ function ScheduleEditorModal({
|
|
|
726
742
|
<span>Skip this run when too many background tasks are already running.</span>
|
|
727
743
|
</label>
|
|
728
744
|
<div className="task-form-field">
|
|
729
|
-
<label className="field-label">Max concurrent bg tasks</label>
|
|
745
|
+
<label className="field-label" htmlFor="schedule-max-concurrent">Max concurrent bg tasks</label>
|
|
730
746
|
<input
|
|
747
|
+
id="schedule-max-concurrent"
|
|
731
748
|
className="input"
|
|
732
749
|
type="number"
|
|
733
750
|
min={1}
|
|
@@ -741,6 +758,7 @@ function ScheduleEditorModal({
|
|
|
741
758
|
|
|
742
759
|
<label className="checkbox-row">
|
|
743
760
|
<input
|
|
761
|
+
id="schedule-enabled"
|
|
744
762
|
type="checkbox"
|
|
745
763
|
checked={state.enabled}
|
|
746
764
|
onChange={(e) => update('enabled', e.target.checked)}
|