@luckydraw/cumulus 0.30.2 → 0.30.3

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/CHANGELOG.md CHANGED
@@ -1,19 +1,12 @@
1
1
  # Changelog
2
2
 
3
- ## v0.30.1
3
+ ## v0.30.3
4
4
 
5
+ - Updated @luckydraw/blex to 0.1.11 (clean rebuild with Option C styling + light background fix for branch blocks)
5
6
 
6
- - New voice conversation mode with text-to-speech support
7
- - First-run setup wizard and config CLI for easier onboarding
8
- - Inline text annotations — highlight and comment like Google Docs
9
- - Worker activity chips show live agent status above input
10
- - Per-thread model selector and scheduled thread triggers
11
- - Pipeline dashboard for monitoring data flows
12
- - Self-update system with version checks and update notifications
13
- - Smarter context handling: adaptive RAG budgets and auto-continuation on truncation
14
- - Windows compatibility and graceful restart on updates
15
- - Bug fixes and stability improvements
7
+ ## v0.30.2
16
8
 
9
+ - Updated @luckydraw/blex to 0.1.11 (stale build artifacts in 0.1.9/0.1.10)
17
10
 
18
11
  ## v0.30.1
19
12
 
@@ -543,8 +543,9 @@
543
543
 
544
544
  /* \u2500\u2500 branch \u2500\u2500 */
545
545
  .blex-branch {
546
- font-family: var(--blex-font-family); color: var(--blex-text);
547
- padding: 0;
546
+ font-family: var(--blex-font-family);
547
+ padding: 12px; border-radius: 12px;
548
+ background: #ffffff; color: #1a1a1a;
548
549
  }
549
550
  /* Header bar: title / breadcrumb path on one line */
550
551
  .blex-branch__header-bar {
@@ -552,27 +553,27 @@
552
553
  font-size: 13px; min-height: 20px; flex-wrap: wrap;
553
554
  }
554
555
  .blex-branch__title {
555
- font-weight: 600; font-size: 13px; color: var(--blex-text); white-space: nowrap;
556
+ font-weight: 600; font-size: 13px; color: #1a1a1a; white-space: nowrap;
556
557
  }
557
558
  .blex-branch__header-sep {
558
- color: var(--blex-muted); font-size: 13px;
559
+ color: #888; font-size: 13px;
559
560
  }
560
561
  /* Breadcrumbs: plain inline text */
561
562
  .blex-branch__breadcrumbs {
562
563
  display: flex; flex-wrap: wrap; align-items: center; gap: 2px;
563
- font-size: 13px; color: var(--blex-muted);
564
+ font-size: 13px; color: #888;
564
565
  }
565
566
  .blex-branch__breadcrumb {
566
567
  background: none; border: none; padding: 0; font-size: 13px;
567
- color: var(--blex-muted); font-family: var(--blex-font-family);
568
+ color: #888; font-family: var(--blex-font-family);
568
569
  cursor: pointer; text-decoration: none;
569
570
  }
570
- .blex-branch__breadcrumb:hover { text-decoration: underline; color: var(--blex-text); }
571
+ .blex-branch__breadcrumb:hover { text-decoration: underline; color: #1a1a1a; }
571
572
  .blex-branch__breadcrumb--active {
572
- color: var(--blex-text); font-weight: 600; cursor: default;
573
+ color: #1a1a1a; font-weight: 600; cursor: default;
573
574
  }
574
575
  .blex-branch__breadcrumb--active:hover { text-decoration: none; }
575
- .blex-branch__breadcrumb-arrow { color: var(--blex-muted); font-size: 12px; white-space: nowrap; }
576
+ .blex-branch__breadcrumb-arrow { color: #888; font-size: 12px; white-space: nowrap; }
576
577
  /* Main layout */
577
578
  .blex-branch__main {
578
579
  display: flex; gap: 12px; align-items: flex-start;
@@ -580,13 +581,13 @@
580
581
  /* Card: hero element */
581
582
  .blex-branch__card {
582
583
  flex: 1; min-width: 0;
583
- border: 1px solid var(--blex-border); border-radius: 12px;
584
- background: var(--blex-bg);
584
+ border: 1px solid #e5e5e5; border-radius: 12px;
585
+ background: #f7f7f9;
585
586
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
586
587
  overflow: hidden;
587
588
  }
588
589
  .blex-branch__step-badge {
589
- font-size: 11px; color: var(--blex-muted); font-weight: 500;
590
+ font-size: 11px; color: #888; font-weight: 500;
590
591
  padding: 8px 20px 0; letter-spacing: 0.02em;
591
592
  }
592
593
  .blex-branch__card-header {
@@ -595,10 +596,10 @@
595
596
  }
596
597
  .blex-branch__card-icon { font-size: 22px; }
597
598
  .blex-branch__card-label {
598
- margin: 0; font-size: 22px; font-weight: 700; color: var(--blex-text);
599
+ margin: 0; font-size: 22px; font-weight: 700; color: #1a1a1a;
599
600
  }
600
601
  .blex-branch__card-body {
601
- font-size: 14px; line-height: 1.6; color: var(--blex-text);
602
+ font-size: 14px; line-height: 1.6; color: #1a1a1a;
602
603
  padding: 8px 20px 16px;
603
604
  }
604
605
  /* Monospace code rendering for unicode diagrams */
@@ -617,7 +618,7 @@
617
618
  }
618
619
  .blex-branch__card-body ul { margin: 4px 0; padding-left: 20px; }
619
620
  .blex-branch__card-body li { margin: 2px 0; }
620
- .blex-branch__card-body a { color: var(--blex-accent); text-decoration: underline; }
621
+ .blex-branch__card-body a { color: #2563eb; text-decoration: underline; }
621
622
  .blex-branch__terminal {
622
623
  display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 12px;
623
624
  background: rgba(34,197,94,0.1); color: #16a34a; font-weight: 600;
@@ -625,34 +626,34 @@
625
626
  }
626
627
  /* Actions: full-width footer bar */
627
628
  .blex-branch__actions {
628
- display: flex; gap: 0; border-top: 1px solid var(--blex-border);
629
+ display: flex; gap: 0; border-top: 1px solid #e5e5e5;
629
630
  }
630
631
  .blex-branch__edge-btn {
631
- flex: 1; padding: 10px 16px; border: none; border-right: 1px solid var(--blex-border);
632
- background: rgba(0,0,0,0.02); color: var(--blex-text); font-size: 14px; font-weight: 500;
632
+ flex: 1; padding: 10px 16px; border: none; border-right: 1px solid #e5e5e5;
633
+ background: rgba(0,0,0,0.02); color: #1a1a1a; font-size: 14px; font-weight: 500;
633
634
  cursor: pointer; font-family: var(--blex-font-family);
634
635
  transition: background 0.15s;
635
636
  }
636
637
  .blex-branch__edge-btn:last-child { border-right: none; }
637
638
  .blex-branch__edge-btn:hover {
638
- background: var(--blex-accent); color: #fff;
639
+ background: #2563eb; color: #fff;
639
640
  }
640
641
  /* Minimap */
641
642
  .blex-branch__minimap {
642
- flex-shrink: 0; border: 1px solid var(--blex-border); border-radius: 8px;
643
+ flex-shrink: 0; border: 1px solid #e5e5e5; border-radius: 8px;
643
644
  background: rgba(0,0,0,0.02);
644
645
  }
645
646
  .blex-branch__minimap-edge {
646
- stroke: var(--blex-border); stroke-width: 1.5;
647
+ stroke: #e5e5e5; stroke-width: 1.5;
647
648
  }
648
649
  .blex-branch__minimap-node {
649
- fill: none; stroke: var(--blex-muted); stroke-width: 2;
650
+ fill: none; stroke: #888; stroke-width: 2;
650
651
  }
651
652
  .blex-branch__minimap-node--visited {
652
- fill: var(--blex-muted); stroke: var(--blex-muted);
653
+ fill: #888; stroke: #888;
653
654
  }
654
655
  .blex-branch__minimap-node--current {
655
- fill: var(--blex-accent); stroke: var(--blex-accent);
656
+ fill: #2563eb; stroke: #2563eb;
656
657
  }
657
658
  `,cs=!1;function pa(){if(cs||typeof document>"u")return;if(document.getElementById(fa)){cs=!0;return}let n=document.createElement("style");n.id=fa,n.textContent=sd,document.head.appendChild(n),cs=!0}async function ti(n,t,e){pa(),t.innerHTML="",t.setAttribute("data-blex-type",n.type),t.setAttribute("data-blex-id",n.id);let i=await da(n.type);return i||(i=new Zn),i.render(n,t,e),t.setAttribute("data-blex-ready","true"),e?.onReady&&e.onReady(),{update(o){i?.update&&i.update(o)},onInteraction(o){i?.onInteraction&&i.onInteraction(o)},revertInteraction(o){i?.revertInteraction&&i.revertInteraction(o)},destroy(){i?.destroy(),i=null,t.removeAttribute("data-blex-type"),t.removeAttribute("data-blex-id"),t.removeAttribute("data-blex-ready")}}}var od=/^[a-z][a-z0-9-]{0,63}$/,ad=/^[a-z][a-z0-9-]{0,63}$/,rd=new Set(["blex","built-in","core","internal"]);function ld(n){if(!od.test(n))throw new Error(`Invalid plugin namespace "${n}": must be lowercase alphanumeric + hyphens, 1-64 chars, starting with a letter`);if(rd.has(n))throw new Error(`Reserved namespace "${n}": cannot use blex, built-in, core, or internal`)}function cd(n){if(!ad.test(n))throw new Error(`Invalid block name "${n}": must be lowercase alphanumeric + hyphens, 1-64 chars, starting with a letter`)}var pn=new Map;function ma(n,t){ld(n.namespace);let e=Object.keys(n.blocks);if(e.length===0)throw new Error("Plugin must define at least one block");let i=[];for(let s of e){cd(s);let o=`${n.namespace}/${s}`;if(i.push(o),Qn(o)&&!t?.force)throw ca(o)?new Error(`Cannot override built-in block type "${o}" without force: true`):new Error(`Block type "${o}" is already registered. Use force: true to override`)}for(let s=0;s<e.length;s++)it(i[s],n.blocks[e[s]]);pn.set(n.namespace,{namespace:n.namespace,name:n.name,version:n.version,description:n.description,blockTypes:i})}function ga(n){let t=pn.get(n);if(t){for(let e of t.blockTypes)Jn(e);pn.delete(n)}}function ba(n){if(n){let t=pn.get(n);return t?[t]:[]}return Array.from(pn.values())}G();var dd=["Yes","No","Cancel"],ds=class extends I{constructor(){super(...arguments);this.previousSelected=null}render(e,i,s){this.container=i;let o=s?.previousValue;this.previousSelected=o?.selected??null,this._build(e),i.setAttribute("data-blex-ready","true")}update(e){this.container&&(this.container.innerHTML="",this._build(e))}_build(e){let i=this.container,s=e.data,o=s.buttons??dd,a=this.previousSelected!==null,r=document.createElement("div");r.className="blex-confirm"+(a?" blex-confirm--answered":""),r.setAttribute("data-testid",`blex-confirm-${e.id}`);let l=document.createElement("p");l.className="blex-confirm__message",l.setAttribute("data-testid",`blex-confirm-message-${e.id}`),l.textContent=s.message,r.appendChild(l);let c=document.createElement("div");c.className="blex-confirm__buttons";for(let d of o){let h=document.createElement("button");h.className="blex-confirm__button",h.textContent=d,h.setAttribute("data-testid",`blex-confirm-btn-${d.toLowerCase()}`),a?(h.disabled=!0,d===this.previousSelected&&h.classList.add("blex-confirm__button--selected")):this.addListener(h,"click",()=>{this.emit({blockId:e.id,type:"click",payload:{button:d},serialized:`User confirmed: ${s.message} \u2192 ${d}`,summary:`Confirmed: ${d}`,icon:"\u2713",immediate:!0,value:{selected:d}})}),c.appendChild(h)}r.appendChild(c),i.appendChild(r)}};function xa(){return new ds}G();var hs=class extends I{constructor(){super(...arguments);this.questionStates=[];this.currentIndex=0;this.normalizedQuestions=[];this.submitted=!1;this.answered=!1}render(e,i,s){this.container=i,this.normalizedQuestions=this._normalizeQuestions(e.data),this.questionStates=this.normalizedQuestions.map(()=>({selected:new Set,writeInValue:""})),this.currentIndex=0,this.submitted=!1,this.answered=!1;let o=s?.previousValue;if(o)if(this.answered=!0,o.answers&&this._isCarousel())o.answers.forEach((a,r)=>{if(r>=this.questionStates.length)return;let l=this.normalizedQuestions[r],c=this.questionStates[r];for(let d of a.selected){let h=l.options.indexOf(d);h!==-1&&c.selected.add(h)}a.writeIn&&(c.writeInValue=a.writeIn)});else{let a=this.questionStates[0],r=this.normalizedQuestions[0],l=Array.isArray(o.selected)?o.selected:o.selected?[o.selected]:[];for(let c of l){let d=r.options.indexOf(c);d!==-1&&a.selected.add(d)}o.writeIn&&(a.writeInValue=o.writeIn)}this._build(e),i.setAttribute("data-blex-ready","true")}update(e){if(!this.container)return;let i=this._normalizeQuestions(e.data),s=i.map((o,a)=>{if(a<this.questionStates.length){let r=this.questionStates[a],l=new Set;for(let c of r.selected)c<o.options.length&&l.add(c);return{selected:l,writeInValue:r.writeInValue}}return{selected:new Set,writeInValue:""}});this.normalizedQuestions=i,this.questionStates=s,this.currentIndex>=i.length&&(this.currentIndex=Math.max(0,i.length-1)),this.container.innerHTML="",this._build(e)}_normalizeQuestions(e){return e.questions&&e.questions.length>0?e.questions:[{question:e.question||"",options:e.options||[],multiSelect:e.multiSelect,writeIn:e.writeIn}]}_isCarousel(){return this.normalizedQuestions.length>1}_build(e){if(this.submitted){this._buildSummary(e);return}if(this.answered){this._buildAnswered(e);return}this._isCarousel()?this._buildCarousel(e):this._buildSingle(e)}_buildAnswered(e){let i=this.container,s=this.normalizedQuestions,o=document.createElement("div");o.className="blex-poll blex-poll--answered",o.setAttribute("data-testid",`blex-poll-${e.id}`);for(let r=0;r<s.length;r++){let l=s[r],c=this.questionStates[r],d=document.createElement("p");d.className="blex-poll__question",d.textContent=l.question,o.appendChild(d);let h=document.createElement("div");if(h.className="blex-poll__options",l.options.forEach((u,f)=>{let p=document.createElement("button");p.className="blex-poll__option",p.disabled=!0,c.selected.has(f)&&p.classList.add("blex-poll__option--selected"),p.textContent=u,p.setAttribute("data-testid",`blex-poll-option-${f}`),h.appendChild(p)}),o.appendChild(h),c.writeInValue){let u=document.createElement("div");u.className="blex-poll__writein-display",u.textContent=`Write-in: "${c.writeInValue}"`,o.appendChild(u)}}let a=document.createElement("div");a.className="blex-poll__answered-indicator",a.setAttribute("data-testid",`blex-poll-answered-${e.id}`),a.textContent="\u2713 Answered",o.appendChild(a),i.appendChild(o)}_buildSingle(e){let i=this.container,s=this.normalizedQuestions[0],o=this.questionStates[0],a=document.createElement("div");a.className="blex-poll",a.setAttribute("data-testid",`blex-poll-${e.id}`);let r=document.createElement("p");r.className="blex-poll__question",r.textContent=s.question,a.appendChild(r),this._buildOptions(a,s,o,e.id,0),s.writeIn&&this._buildWriteIn(a,o,e.id,0);let l=document.createElement("button");l.className="blex-poll__submit",l.textContent="Submit",l.setAttribute("data-testid",`blex-poll-submit-${e.id}`),this.addListener(l,"click",()=>{this._emitSubmit(e)}),a.appendChild(l),i.appendChild(a)}_buildCarousel(e){let i=this.container,s=this.normalizedQuestions,o=this.currentIndex,a=s[o],r=this.questionStates[o],l=s.length,c=document.createElement("div");c.className="blex-poll blex-poll--carousel",c.setAttribute("data-testid",`blex-poll-${e.id}`);let d=document.createElement("div");d.className="blex-poll__carousel-header",d.setAttribute("data-testid","blex-poll-carousel-header");let h=document.createElement("div");h.className="blex-poll__dots",h.setAttribute("data-testid","blex-poll-dots");for(let m=0;m<l;m++){let g=document.createElement("button");g.className="blex-poll__dot",g.setAttribute("data-testid",`blex-poll-dot-${m}`),g.setAttribute("aria-label",`Question ${m+1}`),m===o?g.classList.add("blex-poll__dot--active"):(this.questionStates[m].selected.size>0||this.questionStates[m].writeInValue)&&g.classList.add("blex-poll__dot--answered"),this.addListener(g,"click",()=>{this.currentIndex=m,this.container.innerHTML="",this._build(e)}),h.appendChild(g)}d.appendChild(h);let u=document.createElement("span");u.className="blex-poll__counter",u.setAttribute("data-testid","blex-poll-counter"),u.textContent=`${o+1} of ${l}`,d.appendChild(u),c.appendChild(d);let f=document.createElement("p");if(f.className="blex-poll__question",f.textContent=a.question,a.multiSelect){let m=document.createElement("span");m.className="blex-poll__hint",m.textContent=" (select all that apply)",f.appendChild(m)}c.appendChild(f),this._buildOptions(c,a,r,e.id,o),a.writeIn&&this._buildWriteIn(c,r,e.id,o);let p=document.createElement("div");if(p.className="blex-poll__nav",o>0){let m=document.createElement("button");m.className="blex-poll__nav-btn blex-poll__nav-btn--back",m.setAttribute("data-testid","blex-poll-back"),m.textContent="\u2190 Back",this.addListener(m,"click",()=>{this.currentIndex=o-1,this.container.innerHTML="",this._build(e)}),p.appendChild(m)}else{let m=document.createElement("div");p.appendChild(m)}if(o<l-1){let m=document.createElement("button");m.className="blex-poll__nav-btn blex-poll__nav-btn--next",m.setAttribute("data-testid","blex-poll-next"),m.textContent="Next \u2192",this.addListener(m,"click",()=>{this.currentIndex=o+1,this.container.innerHTML="",this._build(e)}),p.appendChild(m)}else{let m=document.createElement("button");m.className="blex-poll__submit",m.setAttribute("data-testid",`blex-poll-submit-${e.id}`),m.textContent="Submit \u27A4",this.addListener(m,"click",()=>{this._emitSubmit(e)}),p.appendChild(m)}c.appendChild(p),i.appendChild(c)}_buildOptions(e,i,s,o,a){let r=document.createElement("div");r.className="blex-poll__options",i.options.forEach((l,c)=>{let d=document.createElement("button");d.className="blex-poll__option",s.selected.has(c)&&d.classList.add("blex-poll__option--selected"),d.setAttribute("data-testid",`blex-poll-option-${c}`),d.textContent=l,this.addListener(d,"click",()=>{if(i.multiSelect?s.selected.has(c)?(s.selected.delete(c),d.classList.remove("blex-poll__option--selected")):(s.selected.add(c),d.classList.add("blex-poll__option--selected")):(r.querySelectorAll(".blex-poll__option").forEach(u=>u.classList.remove("blex-poll__option--selected")),s.selected.clear(),s.selected.add(c),d.classList.add("blex-poll__option--selected")),this._isCarousel()){let h=this.container?.querySelector(`[data-testid="blex-poll-dot-${a}"]`);h&&h.classList.add("blex-poll__dot--answered")}}),r.appendChild(d)}),e.appendChild(r)}_buildWriteIn(e,i,s,o){let a=document.createElement("input");a.type="text",a.className="blex-poll__writein",a.placeholder="Other...",a.setAttribute("data-testid",`blex-poll-writein-${s}`),a.value=i.writeInValue,this.addListener(a,"input",()=>{if(i.writeInValue=a.value,this._isCarousel()&&a.value){let r=this.container?.querySelector(`[data-testid="blex-poll-dot-${o}"]`);r&&r.classList.add("blex-poll__dot--answered")}}),e.appendChild(a)}_buildSummary(e){let i=this.container,s=this.normalizedQuestions,o=document.createElement("div");o.className="blex-poll blex-poll--summary",o.setAttribute("data-testid",`blex-poll-${e.id}`);let a=document.createElement("div");a.className="blex-poll__summary-heading",a.textContent=`\u{1F5F3} Survey complete (${s.length} question${s.length!==1?"s":""})`,o.appendChild(a);let r=document.createElement("div");if(r.className="blex-poll__summary-list",r.setAttribute("data-testid","blex-poll-summary-list"),s.forEach((l,c)=>{let d=this.questionStates[c],h=Array.from(d.selected).sort((p,m)=>p-m).map(p=>l.options[p]),u=document.createElement("div");u.className="blex-poll__summary-item";let f=h.join(", ")||"(no selection)";d.writeInValue&&(f+=f!=="(no selection)"?`: "${d.writeInValue}"`:`"${d.writeInValue}"`),u.textContent=`${c+1}. ${l.question} \u2192 ${f}`,r.appendChild(u)}),o.appendChild(r),this._isCarousel()){let l=document.createElement("button");l.className="blex-poll__review-btn",l.setAttribute("data-testid","blex-poll-review"),l.textContent="Review \u25BE",this.addListener(l,"click",()=>{this.submitted=!1,this.currentIndex=0,this.container.innerHTML="",this._build(e)}),o.appendChild(l)}i.appendChild(o)}_emitSubmit(e){let i=this.normalizedQuestions;if(this._isCarousel()){let o=[],a=[`Survey response (${i.length} questions):`];i.forEach((c,d)=>{let h=this.questionStates[d],u=Array.from(h.selected).sort((m,g)=>m-g).map(m=>c.options[m]),f={question:c.question,selected:u};h.writeInValue&&(f.writeIn=h.writeInValue),o.push(f);let p=`${d+1}. ${c.question} \u2192 ${u.join(", ")||"(no selection)"}`;h.writeInValue&&(p+=`
658
659
  Write-in: ${h.writeInValue}`),a.push(p)});let l=`Survey: ${o.filter(c=>c.selected.length>0||c.writeIn).length}/${i.length} answered`;this.submitted=!0,this.container.innerHTML="",this._build(e),this.emit({blockId:e.id,type:"submit",payload:{answers:o},serialized:a.join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luckydraw/cumulus",
3
- "version": "0.30.2",
3
+ "version": "0.30.3",
4
4
  "description": "RLM-based CLI chat wrapper for Claude with external history context management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",