@design.estate/dees-catalog 6.2.0 → 6.3.0

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.
@@ -179570,15 +179570,21 @@ var demoFunc62 = /* @__PURE__ */ __name(() => b2`
179570
179570
  @harness-input=${logEvent}
179571
179571
  @harness-attachments-change=${logEvent}
179572
179572
  @harness-attachment-error=${logEvent}
179573
+ @harness-account-change=${logEvent}
179573
179574
  @harness-model-change=${logEvent}
179574
179575
  @harness-mode-change=${logEvent}
179575
179576
  >
179576
179577
  <div class="label">default with mode switcher + model controls (events log to console)</div>
179577
179578
  <dees-harness-composer
179579
+ account="account-1"
179578
179580
  model="gpt-5.5"
179579
179581
  reasoningEffort="high"
179580
179582
  mode="Planning"
179581
179583
  .modeOptions=${["Planning", "Building"]}
179584
+ .accountOptions=${[
179585
+ { label: "Personal \xB7 alex@example.com", value: "account-1" },
179586
+ { label: "Team \xB7 alex@example.com", value: "account-2" }
179587
+ ]}
179582
179588
  .modelOptions=${["gpt-5.5", "gpt-5", "o4-mini"]}
179583
179589
  .effortOptions=${["xhigh", "high", "medium", "low"]}
179584
179590
  ></dees-harness-composer>
@@ -179603,10 +179609,11 @@ var demoFunc62 = /* @__PURE__ */ __name(() => b2`
179603
179609
  init_dist_ts26();
179604
179610
  init_theme();
179605
179611
  init_dees_icon();
179606
- var _showModelControls_dec, _modeOptions_dec, _mode_dec2, _effortOptions_dec, _reasoningEffort_dec, _modelOptions_dec, _model_dec, _maxTotalAttachmentBytes_dec, _maxAttachmentBytes_dec, _attachments_dec, _queuedCount_dec, _busy_dec3, _disabled_dec5, _docked_dec, _placeholder_dec6, _value_dec17, _a87, _DeesHarnessComposer_decorators, _init88, _value17, _placeholder6, _docked, _disabled5, _busy3, _queuedCount, _attachments, _maxAttachmentBytes, _maxTotalAttachmentBytes, _model, _modelOptions, _reasoningEffort, _effortOptions, _mode2, _modeOptions, _showModelControls;
179612
+ var _showModelControls_dec, _modeOptions_dec, _mode_dec2, _effortOptions_dec, _reasoningEffort_dec, _modelOptions_dec, _model_dec, _accountOptions_dec, _account_dec, _maxTotalAttachmentBytes_dec, _maxAttachmentBytes_dec, _attachments_dec, _queuedCount_dec, _busy_dec3, _disabled_dec5, _docked_dec, _placeholder_dec6, _value_dec17, _a87, _DeesHarnessComposer_decorators, _init88, _value17, _placeholder6, _docked, _disabled5, _busy3, _queuedCount, _attachments, _maxAttachmentBytes, _maxTotalAttachmentBytes, _account, _accountOptions, _model, _modelOptions, _reasoningEffort, _effortOptions, _mode2, _modeOptions, _showModelControls;
179607
179613
  var toDropdownOptions = /* @__PURE__ */ __name((values) => values.map((value2) => ({ option: value2, key: value2 })), "toDropdownOptions");
179614
+ var toLabeledDropdownOptions = /* @__PURE__ */ __name((values) => values.map((value2) => ({ option: value2.label, key: value2.value })), "toLabeledDropdownOptions");
179608
179615
  _DeesHarnessComposer_decorators = [customElement("dees-harness-composer")];
179609
- var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElement, _value_dec17 = [n5()], _placeholder_dec6 = [n5()], _docked_dec = [n5({ type: Boolean, reflect: true })], _disabled_dec5 = [n5({ type: Boolean })], _busy_dec3 = [n5({ type: Boolean })], _queuedCount_dec = [n5({ type: Number })], _attachments_dec = [n5({ attribute: false })], _maxAttachmentBytes_dec = [n5({ type: Number })], _maxTotalAttachmentBytes_dec = [n5({ type: Number })], _model_dec = [n5()], _modelOptions_dec = [n5({ attribute: false })], _reasoningEffort_dec = [n5()], _effortOptions_dec = [n5({ attribute: false })], _mode_dec2 = [n5()], _modeOptions_dec = [n5({ attribute: false })], _showModelControls_dec = [n5({ type: Boolean })], _a87) {
179616
+ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElement, _value_dec17 = [n5()], _placeholder_dec6 = [n5()], _docked_dec = [n5({ type: Boolean, reflect: true })], _disabled_dec5 = [n5({ type: Boolean })], _busy_dec3 = [n5({ type: Boolean })], _queuedCount_dec = [n5({ type: Number })], _attachments_dec = [n5({ attribute: false })], _maxAttachmentBytes_dec = [n5({ type: Number })], _maxTotalAttachmentBytes_dec = [n5({ type: Number })], _account_dec = [n5()], _accountOptions_dec = [n5({ attribute: false })], _model_dec = [n5()], _modelOptions_dec = [n5({ attribute: false })], _reasoningEffort_dec = [n5()], _effortOptions_dec = [n5({ attribute: false })], _mode_dec2 = [n5()], _modeOptions_dec = [n5({ attribute: false })], _showModelControls_dec = [n5({ type: Boolean })], _a87) {
179610
179617
  constructor() {
179611
179618
  super(...arguments);
179612
179619
  __privateAdd(this, _value17, __runInitializers(_init88, 8, this, "")), __runInitializers(_init88, 11, this);
@@ -179618,13 +179625,15 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
179618
179625
  __privateAdd(this, _attachments, __runInitializers(_init88, 32, this, [])), __runInitializers(_init88, 35, this);
179619
179626
  __privateAdd(this, _maxAttachmentBytes, __runInitializers(_init88, 36, this, harnessMaxAttachmentBytes)), __runInitializers(_init88, 39, this);
179620
179627
  __privateAdd(this, _maxTotalAttachmentBytes, __runInitializers(_init88, 40, this, harnessMaxTotalAttachmentBytes)), __runInitializers(_init88, 43, this);
179621
- __privateAdd(this, _model, __runInitializers(_init88, 44, this, "")), __runInitializers(_init88, 47, this);
179622
- __privateAdd(this, _modelOptions, __runInitializers(_init88, 48, this, [])), __runInitializers(_init88, 51, this);
179623
- __privateAdd(this, _reasoningEffort, __runInitializers(_init88, 52, this, "")), __runInitializers(_init88, 55, this);
179624
- __privateAdd(this, _effortOptions, __runInitializers(_init88, 56, this, [])), __runInitializers(_init88, 59, this);
179625
- __privateAdd(this, _mode2, __runInitializers(_init88, 60, this, "")), __runInitializers(_init88, 63, this);
179626
- __privateAdd(this, _modeOptions, __runInitializers(_init88, 64, this, [])), __runInitializers(_init88, 67, this);
179627
- __privateAdd(this, _showModelControls, __runInitializers(_init88, 68, this, true)), __runInitializers(_init88, 71, this);
179628
+ __privateAdd(this, _account, __runInitializers(_init88, 44, this, "")), __runInitializers(_init88, 47, this);
179629
+ __privateAdd(this, _accountOptions, __runInitializers(_init88, 48, this, [])), __runInitializers(_init88, 51, this);
179630
+ __privateAdd(this, _model, __runInitializers(_init88, 52, this, "")), __runInitializers(_init88, 55, this);
179631
+ __privateAdd(this, _modelOptions, __runInitializers(_init88, 56, this, [])), __runInitializers(_init88, 59, this);
179632
+ __privateAdd(this, _reasoningEffort, __runInitializers(_init88, 60, this, "")), __runInitializers(_init88, 63, this);
179633
+ __privateAdd(this, _effortOptions, __runInitializers(_init88, 64, this, [])), __runInitializers(_init88, 67, this);
179634
+ __privateAdd(this, _mode2, __runInitializers(_init88, 68, this, "")), __runInitializers(_init88, 71, this);
179635
+ __privateAdd(this, _modeOptions, __runInitializers(_init88, 72, this, [])), __runInitializers(_init88, 75, this);
179636
+ __privateAdd(this, _showModelControls, __runInitializers(_init88, 76, this, true)), __runInitializers(_init88, 79, this);
179628
179637
  // ------------------------------------------------------------------ input
179629
179638
  __publicField(this, "handleTextInput", /* @__PURE__ */ __name((event) => {
179630
179639
  this.value = event.currentTarget.value;
@@ -179737,8 +179746,20 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
179737
179746
  `)}
179738
179747
  </div>
179739
179748
  ` : ""}
179740
- ${this.showModelControls && (this.modelOptions.length || this.effortOptions.length) ? b2`
179749
+ ${this.showModelControls && (this.accountOptions.length || this.modelOptions.length || this.effortOptions.length) ? b2`
179741
179750
  <div class="modelControls">
179751
+ ${this.accountOptions.length ? b2`
179752
+ <dees-input-dropdown
179753
+ class="accountSelect"
179754
+ .options=${toLabeledDropdownOptions(this.accountOptions)}
179755
+ .selectedOption=${this.account ? toLabeledDropdownOptions(this.accountOptions).find((option2) => option2.key === this.account) ?? null : null}
179756
+ .disabled=${this.disabled}
179757
+ @selectedOption=${(event) => {
179758
+ this.account = event.detail?.key ?? this.account;
179759
+ this.emit("harness-account-change", { account: this.account });
179760
+ }}
179761
+ ></dees-input-dropdown>
179762
+ ` : ""}
179742
179763
  ${this.modelOptions.length ? b2`
179743
179764
  <dees-input-dropdown
179744
179765
  class="modelSelect"
@@ -179862,6 +179883,7 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
179862
179883
  const detail = {
179863
179884
  text: this.value,
179864
179885
  attachments: this.attachments,
179886
+ account: this.account || void 0,
179865
179887
  model: this.model || void 0,
179866
179888
  reasoningEffort: this.reasoningEffort || void 0
179867
179889
  };
@@ -179891,6 +179913,8 @@ _queuedCount = new WeakMap();
179891
179913
  _attachments = new WeakMap();
179892
179914
  _maxAttachmentBytes = new WeakMap();
179893
179915
  _maxTotalAttachmentBytes = new WeakMap();
179916
+ _account = new WeakMap();
179917
+ _accountOptions = new WeakMap();
179894
179918
  _model = new WeakMap();
179895
179919
  _modelOptions = new WeakMap();
179896
179920
  _reasoningEffort = new WeakMap();
@@ -179907,6 +179931,8 @@ __decorateElement(_init88, 4, "queuedCount", _queuedCount_dec, _DeesHarnessCompo
179907
179931
  __decorateElement(_init88, 4, "attachments", _attachments_dec, _DeesHarnessComposer, _attachments);
179908
179932
  __decorateElement(_init88, 4, "maxAttachmentBytes", _maxAttachmentBytes_dec, _DeesHarnessComposer, _maxAttachmentBytes);
179909
179933
  __decorateElement(_init88, 4, "maxTotalAttachmentBytes", _maxTotalAttachmentBytes_dec, _DeesHarnessComposer, _maxTotalAttachmentBytes);
179934
+ __decorateElement(_init88, 4, "account", _account_dec, _DeesHarnessComposer, _account);
179935
+ __decorateElement(_init88, 4, "accountOptions", _accountOptions_dec, _DeesHarnessComposer, _accountOptions);
179910
179936
  __decorateElement(_init88, 4, "model", _model_dec, _DeesHarnessComposer, _model);
179911
179937
  __decorateElement(_init88, 4, "modelOptions", _modelOptions_dec, _DeesHarnessComposer, _modelOptions);
179912
179938
  __decorateElement(_init88, 4, "reasoningEffort", _reasoningEffort_dec, _DeesHarnessComposer, _reasoningEffort);
@@ -179925,6 +179951,7 @@ __publicField(_DeesHarnessComposer, "styles", [
179925
179951
  :host {
179926
179952
  display: block;
179927
179953
  font-family: var(--dees-font-family);
179954
+ container-type: inline-size;
179928
179955
  }
179929
179956
 
179930
179957
  .composer {
@@ -180099,6 +180126,12 @@ __publicField(_DeesHarnessComposer, "styles", [
180099
180126
  margin: 0;
180100
180127
  }
180101
180128
 
180129
+ .accountSelect {
180130
+ flex: 0 1 180px;
180131
+ width: 180px;
180132
+ min-width: 120px;
180133
+ }
180134
+
180102
180135
  /* Model identifiers are provider-qualified ("anthropic/claude-opus-5"),
180103
180136
  so the control grows into the free space instead of truncating,
180104
180137
  while still shrinking on narrow hosts. */
@@ -180116,6 +180149,25 @@ __publicField(_DeesHarnessComposer, "styles", [
180116
180149
  .spacer {
180117
180150
  flex: 1;
180118
180151
  }
180152
+
180153
+ @container (max-width: 760px) {
180154
+ .controlsRow {
180155
+ flex-wrap: wrap;
180156
+ }
180157
+
180158
+ .modelControls {
180159
+ order: 3;
180160
+ flex: 1 0 100%;
180161
+ flex-wrap: wrap;
180162
+ }
180163
+
180164
+ .accountSelect,
180165
+ .modelSelect {
180166
+ flex: 1 1 140px;
180167
+ width: auto;
180168
+ min-width: 0;
180169
+ }
180170
+ }
180119
180171
  `
180120
180172
  ]);
180121
180173
  __runInitializers(_init88, 1, _DeesHarnessComposer);
@@ -181190,9 +181242,9 @@ var DeesHarnessUsage = _DeesHarnessUsage;
181190
181242
  init_dist_ts26();
181191
181243
  init_theme();
181192
181244
  init_dees_icon();
181193
- var _toolRegistry_dec6, _modeOptions_dec2, _mode_dec3, _effortOptions_dec2, _reasoningEffort_dec2, _modelOptions_dec2, _model_dec2, _attachments_dec2, _composerValue_dec, _queuedCount_dec2, _busy_dec4, _disabled_dec7, _showTimestamps_dec2, _showRoles_dec2, _showToolbar_dec, _subheading_dec, _heading_dec6, _narrowSessionLayout_dec, _desktopSessionSidebarVisible_dec, _sessionSidebarOpen_dec, _intelligenceError_dec2, _intelligenceBusy_dec2, _intelligenceExchanges_dec2, _sessionIntelligenceEnabled_dec, _scratchpadError_dec2, _scratchpadBusy_dec2, _scratchpad_dec2, _sessionMetrics_dec, _showSessionSidebar_dec, _showTodosPanel_dec, _todos_dec3, _usage_dec2, _status_dec6, _questions_dec2, _permissions_dec2, _messages_dec2, _a90, _DeesHarnessChat_decorators, _init91, _messages2, _permissions2, _questions2, _status6, _usage2, _todos3, _showTodosPanel, _showSessionSidebar, _sessionMetrics, _scratchpad2, _scratchpadBusy2, _scratchpadError2, _sessionIntelligenceEnabled, _intelligenceExchanges2, _intelligenceBusy2, _intelligenceError2, _sessionSidebarOpen, _desktopSessionSidebarVisible, _narrowSessionLayout, _heading6, _subheading, _showToolbar, _showRoles2, _showTimestamps2, _disabled7, _busy4, _queuedCount2, _composerValue, _attachments2, _model2, _modelOptions2, _reasoningEffort2, _effortOptions2, _mode3, _modeOptions2, _toolRegistry6;
181245
+ var _toolRegistry_dec6, _modeOptions_dec2, _mode_dec3, _effortOptions_dec2, _reasoningEffort_dec2, _modelOptions_dec2, _model_dec2, _accountOptions_dec2, _account_dec2, _attachments_dec2, _composerValue_dec, _queuedCount_dec2, _busy_dec4, _disabled_dec7, _showTimestamps_dec2, _showRoles_dec2, _showToolbar_dec, _subheading_dec, _heading_dec6, _narrowSessionLayout_dec, _desktopSessionSidebarVisible_dec, _sessionSidebarOpen_dec, _intelligenceError_dec2, _intelligenceBusy_dec2, _intelligenceExchanges_dec2, _sessionIntelligenceEnabled_dec, _scratchpadError_dec2, _scratchpadBusy_dec2, _scratchpad_dec2, _sessionMetrics_dec, _showSessionSidebar_dec, _showTodosPanel_dec, _todos_dec3, _usage_dec2, _status_dec6, _questions_dec2, _permissions_dec2, _messages_dec2, _a90, _DeesHarnessChat_decorators, _init91, _messages2, _permissions2, _questions2, _status6, _usage2, _todos3, _showTodosPanel, _showSessionSidebar, _sessionMetrics, _scratchpad2, _scratchpadBusy2, _scratchpadError2, _sessionIntelligenceEnabled, _intelligenceExchanges2, _intelligenceBusy2, _intelligenceError2, _sessionSidebarOpen, _desktopSessionSidebarVisible, _narrowSessionLayout, _heading6, _subheading, _showToolbar, _showRoles2, _showTimestamps2, _disabled7, _busy4, _queuedCount2, _composerValue, _attachments2, _account2, _accountOptions2, _model2, _modelOptions2, _reasoningEffort2, _effortOptions2, _mode3, _modeOptions2, _toolRegistry6;
181194
181246
  _DeesHarnessChat_decorators = [customElement("dees-harness-chat")];
181195
- var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _messages_dec2 = [n5({ attribute: false })], _permissions_dec2 = [n5({ attribute: false })], _questions_dec2 = [n5({ attribute: false })], _status_dec6 = [n5({ attribute: false })], _usage_dec2 = [n5({ attribute: false })], _todos_dec3 = [n5({ attribute: false })], _showTodosPanel_dec = [n5({ type: Boolean })], _showSessionSidebar_dec = [n5({ type: Boolean })], _sessionMetrics_dec = [n5({ attribute: false })], _scratchpad_dec2 = [n5({ attribute: false })], _scratchpadBusy_dec2 = [n5({ type: Boolean })], _scratchpadError_dec2 = [n5()], _sessionIntelligenceEnabled_dec = [n5({ type: Boolean })], _intelligenceExchanges_dec2 = [n5({ attribute: false })], _intelligenceBusy_dec2 = [n5({ type: Boolean })], _intelligenceError_dec2 = [n5()], _sessionSidebarOpen_dec = [r5()], _desktopSessionSidebarVisible_dec = [r5()], _narrowSessionLayout_dec = [r5()], _heading_dec6 = [n5()], _subheading_dec = [n5()], _showToolbar_dec = [n5({ type: Boolean })], _showRoles_dec2 = [n5({ type: Boolean })], _showTimestamps_dec2 = [n5({ type: Boolean })], _disabled_dec7 = [n5({ type: Boolean })], _busy_dec4 = [n5({ type: Boolean })], _queuedCount_dec2 = [n5({ type: Number })], _composerValue_dec = [n5()], _attachments_dec2 = [n5({ attribute: false })], _model_dec2 = [n5()], _modelOptions_dec2 = [n5({ attribute: false })], _reasoningEffort_dec2 = [n5()], _effortOptions_dec2 = [n5({ attribute: false })], _mode_dec3 = [n5()], _modeOptions_dec2 = [n5({ attribute: false })], _toolRegistry_dec6 = [n5({ attribute: false })], _a90) {
181247
+ var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _messages_dec2 = [n5({ attribute: false })], _permissions_dec2 = [n5({ attribute: false })], _questions_dec2 = [n5({ attribute: false })], _status_dec6 = [n5({ attribute: false })], _usage_dec2 = [n5({ attribute: false })], _todos_dec3 = [n5({ attribute: false })], _showTodosPanel_dec = [n5({ type: Boolean })], _showSessionSidebar_dec = [n5({ type: Boolean })], _sessionMetrics_dec = [n5({ attribute: false })], _scratchpad_dec2 = [n5({ attribute: false })], _scratchpadBusy_dec2 = [n5({ type: Boolean })], _scratchpadError_dec2 = [n5()], _sessionIntelligenceEnabled_dec = [n5({ type: Boolean })], _intelligenceExchanges_dec2 = [n5({ attribute: false })], _intelligenceBusy_dec2 = [n5({ type: Boolean })], _intelligenceError_dec2 = [n5()], _sessionSidebarOpen_dec = [r5()], _desktopSessionSidebarVisible_dec = [r5()], _narrowSessionLayout_dec = [r5()], _heading_dec6 = [n5()], _subheading_dec = [n5()], _showToolbar_dec = [n5({ type: Boolean })], _showRoles_dec2 = [n5({ type: Boolean })], _showTimestamps_dec2 = [n5({ type: Boolean })], _disabled_dec7 = [n5({ type: Boolean })], _busy_dec4 = [n5({ type: Boolean })], _queuedCount_dec2 = [n5({ type: Number })], _composerValue_dec = [n5()], _attachments_dec2 = [n5({ attribute: false })], _account_dec2 = [n5()], _accountOptions_dec2 = [n5({ attribute: false })], _model_dec2 = [n5()], _modelOptions_dec2 = [n5({ attribute: false })], _reasoningEffort_dec2 = [n5()], _effortOptions_dec2 = [n5({ attribute: false })], _mode_dec3 = [n5()], _modeOptions_dec2 = [n5({ attribute: false })], _toolRegistry_dec6 = [n5({ attribute: false })], _a90) {
181196
181248
  constructor() {
181197
181249
  super(...arguments);
181198
181250
  __privateAdd(this, _messages2, __runInitializers(_init91, 8, this, [])), __runInitializers(_init91, 11, this);
@@ -181225,13 +181277,15 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _mess
181225
181277
  __privateAdd(this, _queuedCount2, __runInitializers(_init91, 112, this, 0)), __runInitializers(_init91, 115, this);
181226
181278
  __privateAdd(this, _composerValue, __runInitializers(_init91, 116, this, "")), __runInitializers(_init91, 119, this);
181227
181279
  __privateAdd(this, _attachments2, __runInitializers(_init91, 120, this, [])), __runInitializers(_init91, 123, this);
181228
- __privateAdd(this, _model2, __runInitializers(_init91, 124, this, "")), __runInitializers(_init91, 127, this);
181229
- __privateAdd(this, _modelOptions2, __runInitializers(_init91, 128, this, [])), __runInitializers(_init91, 131, this);
181230
- __privateAdd(this, _reasoningEffort2, __runInitializers(_init91, 132, this, "")), __runInitializers(_init91, 135, this);
181231
- __privateAdd(this, _effortOptions2, __runInitializers(_init91, 136, this, [])), __runInitializers(_init91, 139, this);
181232
- __privateAdd(this, _mode3, __runInitializers(_init91, 140, this, "")), __runInitializers(_init91, 143, this);
181233
- __privateAdd(this, _modeOptions2, __runInitializers(_init91, 144, this, [])), __runInitializers(_init91, 147, this);
181234
- __privateAdd(this, _toolRegistry6, __runInitializers(_init91, 148, this, DeesHarnessToolRegistry.default)), __runInitializers(_init91, 151, this);
181280
+ __privateAdd(this, _account2, __runInitializers(_init91, 124, this, "")), __runInitializers(_init91, 127, this);
181281
+ __privateAdd(this, _accountOptions2, __runInitializers(_init91, 128, this, [])), __runInitializers(_init91, 131, this);
181282
+ __privateAdd(this, _model2, __runInitializers(_init91, 132, this, "")), __runInitializers(_init91, 135, this);
181283
+ __privateAdd(this, _modelOptions2, __runInitializers(_init91, 136, this, [])), __runInitializers(_init91, 139, this);
181284
+ __privateAdd(this, _reasoningEffort2, __runInitializers(_init91, 140, this, "")), __runInitializers(_init91, 143, this);
181285
+ __privateAdd(this, _effortOptions2, __runInitializers(_init91, 144, this, [])), __runInitializers(_init91, 147, this);
181286
+ __privateAdd(this, _mode3, __runInitializers(_init91, 148, this, "")), __runInitializers(_init91, 151, this);
181287
+ __privateAdd(this, _modeOptions2, __runInitializers(_init91, 152, this, [])), __runInitializers(_init91, 155, this);
181288
+ __privateAdd(this, _toolRegistry6, __runInitializers(_init91, 156, this, DeesHarnessToolRegistry.default)), __runInitializers(_init91, 159, this);
181235
181289
  __publicField(this, "toggleSessionSidebar", /* @__PURE__ */ __name(() => {
181236
181290
  if (!this.narrowSessionLayout) {
181237
181291
  this.desktopSessionSidebarVisible = !this.desktopSessionSidebarVisible;
@@ -181420,6 +181474,8 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _mess
181420
181474
  .disabled=${this.disabled}
181421
181475
  .busy=${this.busy || this.status.type === "busy"}
181422
181476
  .queuedCount=${this.queuedCount}
181477
+ .account=${this.account}
181478
+ .accountOptions=${this.accountOptions}
181423
181479
  .model=${this.model}
181424
181480
  .modelOptions=${this.modelOptions}
181425
181481
  .reasoningEffort=${this.reasoningEffort}
@@ -181431,6 +181487,9 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _mess
181431
181487
  }}
181432
181488
  @harness-attachments-change=${(event) => {
181433
181489
  this.attachments = event.detail?.attachments ?? [];
181490
+ }}
181491
+ @harness-account-change=${(event) => {
181492
+ if (event.detail?.account) this.account = event.detail.account;
181434
181493
  }}
181435
181494
  @harness-model-change=${(event) => {
181436
181495
  if (event.detail?.model) this.model = event.detail.model;
@@ -181503,6 +181562,8 @@ _busy4 = new WeakMap();
181503
181562
  _queuedCount2 = new WeakMap();
181504
181563
  _composerValue = new WeakMap();
181505
181564
  _attachments2 = new WeakMap();
181565
+ _account2 = new WeakMap();
181566
+ _accountOptions2 = new WeakMap();
181506
181567
  _model2 = new WeakMap();
181507
181568
  _modelOptions2 = new WeakMap();
181508
181569
  _reasoningEffort2 = new WeakMap();
@@ -181539,6 +181600,8 @@ __decorateElement(_init91, 4, "busy", _busy_dec4, _DeesHarnessChat, _busy4);
181539
181600
  __decorateElement(_init91, 4, "queuedCount", _queuedCount_dec2, _DeesHarnessChat, _queuedCount2);
181540
181601
  __decorateElement(_init91, 4, "composerValue", _composerValue_dec, _DeesHarnessChat, _composerValue);
181541
181602
  __decorateElement(_init91, 4, "attachments", _attachments_dec2, _DeesHarnessChat, _attachments2);
181603
+ __decorateElement(_init91, 4, "account", _account_dec2, _DeesHarnessChat, _account2);
181604
+ __decorateElement(_init91, 4, "accountOptions", _accountOptions_dec2, _DeesHarnessChat, _accountOptions2);
181542
181605
  __decorateElement(_init91, 4, "model", _model_dec2, _DeesHarnessChat, _model2);
181543
181606
  __decorateElement(_init91, 4, "modelOptions", _modelOptions_dec2, _DeesHarnessChat, _modelOptions2);
181544
181607
  __decorateElement(_init91, 4, "reasoningEffort", _reasoningEffort_dec2, _DeesHarnessChat, _reasoningEffort2);
@@ -205394,7 +205457,7 @@ init_group_runtime();
205394
205457
  // ts_web/00_commitinfo_data.ts
205395
205458
  var commitinfo = {
205396
205459
  name: "@design.estate/dees-catalog",
205397
- version: "6.2.0",
205460
+ version: "6.3.0",
205398
205461
  description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
205399
205462
  };
205400
205463
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '6.2.0',
6
+ version: '6.3.0',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
@@ -1,5 +1,5 @@
1
1
  import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
- import type { IHarnessAttachment, IHarnessMessage, IHarnessPermissionRequest, IHarnessQuestionRequest, IHarnessIntelligenceExchange, IHarnessScratchpad, IHarnessSessionMetrics, IHarnessStatus, IHarnessTodoItem, IHarnessUsage, THarnessStreamDelta } from '../interfaces.js';
2
+ import type { IHarnessAttachment, IHarnessComposerOption, IHarnessMessage, IHarnessPermissionRequest, IHarnessQuestionRequest, IHarnessIntelligenceExchange, IHarnessScratchpad, IHarnessSessionMetrics, IHarnessStatus, IHarnessTodoItem, IHarnessUsage, THarnessStreamDelta } from '../interfaces.js';
3
3
  import { DeesHarnessToolRegistry } from '../toolregistry.js';
4
4
  import '../dees-harness-todos/dees-harness-todos.js';
5
5
  import '../dees-harness-session-sidebar/dees-harness-session-sidebar.js';
@@ -58,6 +58,8 @@ export declare class DeesHarnessChat extends DeesElement {
58
58
  accessor queuedCount: number;
59
59
  accessor composerValue: string;
60
60
  accessor attachments: IHarnessAttachment[];
61
+ accessor account: string;
62
+ accessor accountOptions: IHarnessComposerOption[];
61
63
  accessor model: string;
62
64
  accessor modelOptions: string[];
63
65
  accessor reasoningEffort: string;
@@ -144,6 +144,12 @@ let DeesHarnessChat = (() => {
144
144
  let _attachments_decorators;
145
145
  let _attachments_initializers = [];
146
146
  let _attachments_extraInitializers = [];
147
+ let _account_decorators;
148
+ let _account_initializers = [];
149
+ let _account_extraInitializers = [];
150
+ let _accountOptions_decorators;
151
+ let _accountOptions_initializers = [];
152
+ let _accountOptions_extraInitializers = [];
147
153
  let _model_decorators;
148
154
  let _model_initializers = [];
149
155
  let _model_extraInitializers = [];
@@ -198,6 +204,8 @@ let DeesHarnessChat = (() => {
198
204
  _queuedCount_decorators = [property({ type: Number })];
199
205
  _composerValue_decorators = [property()];
200
206
  _attachments_decorators = [property({ attribute: false })];
207
+ _account_decorators = [property()];
208
+ _accountOptions_decorators = [property({ attribute: false })];
201
209
  _model_decorators = [property()];
202
210
  _modelOptions_decorators = [property({ attribute: false })];
203
211
  _reasoningEffort_decorators = [property()];
@@ -234,6 +242,8 @@ let DeesHarnessChat = (() => {
234
242
  __esDecorate(this, null, _queuedCount_decorators, { kind: "accessor", name: "queuedCount", static: false, private: false, access: { has: obj => "queuedCount" in obj, get: obj => obj.queuedCount, set: (obj, value) => { obj.queuedCount = value; } }, metadata: _metadata }, _queuedCount_initializers, _queuedCount_extraInitializers);
235
243
  __esDecorate(this, null, _composerValue_decorators, { kind: "accessor", name: "composerValue", static: false, private: false, access: { has: obj => "composerValue" in obj, get: obj => obj.composerValue, set: (obj, value) => { obj.composerValue = value; } }, metadata: _metadata }, _composerValue_initializers, _composerValue_extraInitializers);
236
244
  __esDecorate(this, null, _attachments_decorators, { kind: "accessor", name: "attachments", static: false, private: false, access: { has: obj => "attachments" in obj, get: obj => obj.attachments, set: (obj, value) => { obj.attachments = value; } }, metadata: _metadata }, _attachments_initializers, _attachments_extraInitializers);
245
+ __esDecorate(this, null, _account_decorators, { kind: "accessor", name: "account", static: false, private: false, access: { has: obj => "account" in obj, get: obj => obj.account, set: (obj, value) => { obj.account = value; } }, metadata: _metadata }, _account_initializers, _account_extraInitializers);
246
+ __esDecorate(this, null, _accountOptions_decorators, { kind: "accessor", name: "accountOptions", static: false, private: false, access: { has: obj => "accountOptions" in obj, get: obj => obj.accountOptions, set: (obj, value) => { obj.accountOptions = value; } }, metadata: _metadata }, _accountOptions_initializers, _accountOptions_extraInitializers);
237
247
  __esDecorate(this, null, _model_decorators, { kind: "accessor", name: "model", static: false, private: false, access: { has: obj => "model" in obj, get: obj => obj.model, set: (obj, value) => { obj.model = value; } }, metadata: _metadata }, _model_initializers, _model_extraInitializers);
238
248
  __esDecorate(this, null, _modelOptions_decorators, { kind: "accessor", name: "modelOptions", static: false, private: false, access: { has: obj => "modelOptions" in obj, get: obj => obj.modelOptions, set: (obj, value) => { obj.modelOptions = value; } }, metadata: _metadata }, _modelOptions_initializers, _modelOptions_extraInitializers);
239
249
  __esDecorate(this, null, _reasoningEffort_decorators, { kind: "accessor", name: "reasoningEffort", static: false, private: false, access: { has: obj => "reasoningEffort" in obj, get: obj => obj.reasoningEffort, set: (obj, value) => { obj.reasoningEffort = value; } }, metadata: _metadata }, _reasoningEffort_initializers, _reasoningEffort_extraInitializers);
@@ -342,7 +352,13 @@ let DeesHarnessChat = (() => {
342
352
  #attachments_accessor_storage = (__runInitializers(this, _composerValue_extraInitializers), __runInitializers(this, _attachments_initializers, []));
343
353
  get attachments() { return this.#attachments_accessor_storage; }
344
354
  set attachments(value) { this.#attachments_accessor_storage = value; }
345
- #model_accessor_storage = (__runInitializers(this, _attachments_extraInitializers), __runInitializers(this, _model_initializers, ''));
355
+ #account_accessor_storage = (__runInitializers(this, _attachments_extraInitializers), __runInitializers(this, _account_initializers, ''));
356
+ get account() { return this.#account_accessor_storage; }
357
+ set account(value) { this.#account_accessor_storage = value; }
358
+ #accountOptions_accessor_storage = (__runInitializers(this, _account_extraInitializers), __runInitializers(this, _accountOptions_initializers, []));
359
+ get accountOptions() { return this.#accountOptions_accessor_storage; }
360
+ set accountOptions(value) { this.#accountOptions_accessor_storage = value; }
361
+ #model_accessor_storage = (__runInitializers(this, _accountOptions_extraInitializers), __runInitializers(this, _model_initializers, ''));
346
362
  get model() { return this.#model_accessor_storage; }
347
363
  set model(value) { this.#model_accessor_storage = value; }
348
364
  #modelOptions_accessor_storage = (__runInitializers(this, _model_extraInitializers), __runInitializers(this, _modelOptions_initializers, []));
@@ -822,6 +838,8 @@ let DeesHarnessChat = (() => {
822
838
  .disabled=${this.disabled}
823
839
  .busy=${this.busy || this.status.type === 'busy'}
824
840
  .queuedCount=${this.queuedCount}
841
+ .account=${this.account}
842
+ .accountOptions=${this.accountOptions}
825
843
  .model=${this.model}
826
844
  .modelOptions=${this.modelOptions}
827
845
  .reasoningEffort=${this.reasoningEffort}
@@ -834,6 +852,10 @@ let DeesHarnessChat = (() => {
834
852
  @harness-attachments-change=${(event) => {
835
853
  this.attachments = event.detail?.attachments ?? [];
836
854
  }}
855
+ @harness-account-change=${(event) => {
856
+ if (event.detail?.account)
857
+ this.account = event.detail.account;
858
+ }}
837
859
  @harness-model-change=${(event) => {
838
860
  if (event.detail?.model)
839
861
  this.model = event.detail.model;
@@ -888,4 +910,4 @@ let DeesHarnessChat = (() => {
888
910
  return DeesHarnessChat = _classThis;
889
911
  })();
890
912
  export { DeesHarnessChat };
891
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNoYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jaGF0L2RlZXMtaGFybmVzcy1jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBY3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sNkNBQTZDLENBQUM7QUFDckQsT0FBTyxpRUFBaUUsQ0FBQztBQUN6RSxPQUFPLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8saURBQWlELENBQUM7QUFDekQsT0FBTyw4Q0FBOEMsQ0FBQztBQVN0RDs7Ozs7O0dBTUc7SUFFVSxlQUFlOzRCQUQzQixhQUFhLENBQUMsbUJBQW1CLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrQkFBbkIsU0FBUSxXQUFXOzs7O29DQUk3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
913
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNoYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jaGF0L2RlZXMtaGFybmVzcy1jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBZ0J0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8saUVBQWlFLENBQUM7QUFDekUsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sOENBQThDLENBQUM7QUFTdEQ7Ozs7OztHQU1HO0lBRVUsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0JBQW5CLFNBQVEsV0FBVzs7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
@@ -1,5 +1,5 @@
1
1
  import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
- import type { IHarnessAttachment } from '../interfaces.js';
2
+ import type { IHarnessAttachment, IHarnessComposerOption } from '../interfaces.js';
3
3
  import '../../00group-button/dees-button/dees-button.js';
4
4
  import '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
5
5
  import '../../00group-utility/dees-icon/dees-icon.js';
@@ -10,14 +10,14 @@ declare global {
10
10
  }
11
11
  /**
12
12
  * Prompt composer: autogrow textarea, attachments (picker / paste /
13
- * drag-drop with per-file and total size limits), optional model and
14
- * reasoning-effort dropdowns. Cmd/Ctrl+Enter sends. While busy, Stop is an
13
+ * drag-drop with per-file and total size limits), optional account, model,
14
+ * and reasoning-effort dropdowns. Cmd/Ctrl+Enter sends. While busy, Stop is an
15
15
  * additional button and Send stays available for queueing; an empty prompt
16
16
  * with queued messages offers "Steer now".
17
17
  *
18
18
  * Controlled component: `value` and `attachments` are owned by the host;
19
19
  * the composer emits `harness-input`, `harness-attachments-change`,
20
- * `harness-attachment-error`, `harness-model-change`, `harness-send`,
20
+ * `harness-attachment-error`, `harness-account-change`, `harness-model-change`, `harness-send`,
21
21
  * `harness-steer`, and `harness-abort` (all bubbling + composed).
22
22
  */
23
23
  export declare class DeesHarnessComposer extends DeesElement {
@@ -45,6 +45,8 @@ export declare class DeesHarnessComposer extends DeesElement {
45
45
  accessor attachments: IHarnessAttachment[];
46
46
  accessor maxAttachmentBytes: number;
47
47
  accessor maxTotalAttachmentBytes: number;
48
+ accessor account: string;
49
+ accessor accountOptions: IHarnessComposerOption[];
48
50
  accessor model: string;
49
51
  accessor modelOptions: string[];
50
52
  accessor reasoningEffort: string;
@@ -27,15 +27,21 @@ export const demoFunc = () => html `
27
27
  @harness-input=${logEvent}
28
28
  @harness-attachments-change=${logEvent}
29
29
  @harness-attachment-error=${logEvent}
30
+ @harness-account-change=${logEvent}
30
31
  @harness-model-change=${logEvent}
31
32
  @harness-mode-change=${logEvent}
32
33
  >
33
34
  <div class="label">default with mode switcher + model controls (events log to console)</div>
34
35
  <dees-harness-composer
36
+ account="account-1"
35
37
  model="gpt-5.5"
36
38
  reasoningEffort="high"
37
39
  mode="Planning"
38
40
  .modeOptions=${['Planning', 'Building']}
41
+ .accountOptions=${[
42
+ { label: 'Personal · alex@example.com', value: 'account-1' },
43
+ { label: 'Team · alex@example.com', value: 'account-2' },
44
+ ]}
39
45
  .modelOptions=${['gpt-5.5', 'gpt-5', 'o4-mini']}
40
46
  .effortOptions=${['xhigh', 'high', 'medium', 'low']}
41
47
  ></dees-harness-composer>
@@ -55,4 +61,4 @@ export const demoFunc = () => html `
55
61
  ></dees-harness-composer>
56
62
  </div>
57
63
  `;
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNvbXBvc2VyLmRlbW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jb21wb3Nlci9kZWVzLWhhcm5lc3MtY29tcG9zZXIuZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFrQixFQUFFLEVBQUU7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvQkFvQmQsUUFBUTtxQkFDUCxRQUFRO3FCQUNSLFFBQVE7a0NBQ0ssUUFBUTtnQ0FDVixRQUFROzRCQUNaLFFBQVE7MkJBQ1QsUUFBUTs7Ozs7OztxQkFPZCxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7c0JBQ3ZCLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7dUJBQzlCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDOzs7Ozs7Ozs7OzJCQVU5QixLQUFLO3FCQUNYO0lBQ2IsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFlLEVBQUU7SUFDM0YsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQWdCLEVBQUU7Q0FDbkc7OztDQUdOLENBQUMifQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNvbXBvc2VyLmRlbW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jb21wb3Nlci9kZWVzLWhhcm5lc3MtY29tcG9zZXIuZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFrQixFQUFFLEVBQUU7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvQkFvQmQsUUFBUTtxQkFDUCxRQUFRO3FCQUNSLFFBQVE7a0NBQ0ssUUFBUTtnQ0FDVixRQUFROzhCQUNWLFFBQVE7NEJBQ1YsUUFBUTsyQkFDVCxRQUFROzs7Ozs7OztxQkFRZCxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7d0JBQ3JCO0lBQ2hCLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7SUFDNUQsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtDQUN6RDtzQkFDZSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO3VCQUM5QixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQzs7Ozs7Ozs7OzsyQkFVOUIsS0FBSztxQkFDWDtJQUNiLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBZSxFQUFFO0lBQzNGLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFnQixFQUFFO0NBQ25HOzs7Q0FHTixDQUFDIn0=
@@ -40,16 +40,17 @@ import '../../00group-button/dees-button/dees-button.js';
40
40
  import '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
41
41
  import '../../00group-utility/dees-icon/dees-icon.js';
42
42
  const toDropdownOptions = (values) => values.map((value) => ({ option: value, key: value }));
43
+ const toLabeledDropdownOptions = (values) => values.map((value) => ({ option: value.label, key: value.value }));
43
44
  /**
44
45
  * Prompt composer: autogrow textarea, attachments (picker / paste /
45
- * drag-drop with per-file and total size limits), optional model and
46
- * reasoning-effort dropdowns. Cmd/Ctrl+Enter sends. While busy, Stop is an
46
+ * drag-drop with per-file and total size limits), optional account, model,
47
+ * and reasoning-effort dropdowns. Cmd/Ctrl+Enter sends. While busy, Stop is an
47
48
  * additional button and Send stays available for queueing; an empty prompt
48
49
  * with queued messages offers "Steer now".
49
50
  *
50
51
  * Controlled component: `value` and `attachments` are owned by the host;
51
52
  * the composer emits `harness-input`, `harness-attachments-change`,
52
- * `harness-attachment-error`, `harness-model-change`, `harness-send`,
53
+ * `harness-attachment-error`, `harness-account-change`, `harness-model-change`, `harness-send`,
53
54
  * `harness-steer`, and `harness-abort` (all bubbling + composed).
54
55
  */
55
56
  let DeesHarnessComposer = (() => {
@@ -85,6 +86,12 @@ let DeesHarnessComposer = (() => {
85
86
  let _maxTotalAttachmentBytes_decorators;
86
87
  let _maxTotalAttachmentBytes_initializers = [];
87
88
  let _maxTotalAttachmentBytes_extraInitializers = [];
89
+ let _account_decorators;
90
+ let _account_initializers = [];
91
+ let _account_extraInitializers = [];
92
+ let _accountOptions_decorators;
93
+ let _accountOptions_initializers = [];
94
+ let _accountOptions_extraInitializers = [];
88
95
  let _model_decorators;
89
96
  let _model_initializers = [];
90
97
  let _model_extraInitializers = [];
@@ -119,6 +126,8 @@ let DeesHarnessComposer = (() => {
119
126
  _attachments_decorators = [property({ attribute: false })];
120
127
  _maxAttachmentBytes_decorators = [property({ type: Number })];
121
128
  _maxTotalAttachmentBytes_decorators = [property({ type: Number })];
129
+ _account_decorators = [property()];
130
+ _accountOptions_decorators = [property({ attribute: false })];
122
131
  _model_decorators = [property()];
123
132
  _modelOptions_decorators = [property({ attribute: false })];
124
133
  _reasoningEffort_decorators = [property()];
@@ -135,6 +144,8 @@ let DeesHarnessComposer = (() => {
135
144
  __esDecorate(this, null, _attachments_decorators, { kind: "accessor", name: "attachments", static: false, private: false, access: { has: obj => "attachments" in obj, get: obj => obj.attachments, set: (obj, value) => { obj.attachments = value; } }, metadata: _metadata }, _attachments_initializers, _attachments_extraInitializers);
136
145
  __esDecorate(this, null, _maxAttachmentBytes_decorators, { kind: "accessor", name: "maxAttachmentBytes", static: false, private: false, access: { has: obj => "maxAttachmentBytes" in obj, get: obj => obj.maxAttachmentBytes, set: (obj, value) => { obj.maxAttachmentBytes = value; } }, metadata: _metadata }, _maxAttachmentBytes_initializers, _maxAttachmentBytes_extraInitializers);
137
146
  __esDecorate(this, null, _maxTotalAttachmentBytes_decorators, { kind: "accessor", name: "maxTotalAttachmentBytes", static: false, private: false, access: { has: obj => "maxTotalAttachmentBytes" in obj, get: obj => obj.maxTotalAttachmentBytes, set: (obj, value) => { obj.maxTotalAttachmentBytes = value; } }, metadata: _metadata }, _maxTotalAttachmentBytes_initializers, _maxTotalAttachmentBytes_extraInitializers);
147
+ __esDecorate(this, null, _account_decorators, { kind: "accessor", name: "account", static: false, private: false, access: { has: obj => "account" in obj, get: obj => obj.account, set: (obj, value) => { obj.account = value; } }, metadata: _metadata }, _account_initializers, _account_extraInitializers);
148
+ __esDecorate(this, null, _accountOptions_decorators, { kind: "accessor", name: "accountOptions", static: false, private: false, access: { has: obj => "accountOptions" in obj, get: obj => obj.accountOptions, set: (obj, value) => { obj.accountOptions = value; } }, metadata: _metadata }, _accountOptions_initializers, _accountOptions_extraInitializers);
138
149
  __esDecorate(this, null, _model_decorators, { kind: "accessor", name: "model", static: false, private: false, access: { has: obj => "model" in obj, get: obj => obj.model, set: (obj, value) => { obj.model = value; } }, metadata: _metadata }, _model_initializers, _model_extraInitializers);
139
150
  __esDecorate(this, null, _modelOptions_decorators, { kind: "accessor", name: "modelOptions", static: false, private: false, access: { has: obj => "modelOptions" in obj, get: obj => obj.modelOptions, set: (obj, value) => { obj.modelOptions = value; } }, metadata: _metadata }, _modelOptions_initializers, _modelOptions_extraInitializers);
140
151
  __esDecorate(this, null, _reasoningEffort_decorators, { kind: "accessor", name: "reasoningEffort", static: false, private: false, access: { has: obj => "reasoningEffort" in obj, get: obj => obj.reasoningEffort, set: (obj, value) => { obj.reasoningEffort = value; } }, metadata: _metadata }, _reasoningEffort_initializers, _reasoningEffort_extraInitializers);
@@ -188,7 +199,13 @@ let DeesHarnessComposer = (() => {
188
199
  #maxTotalAttachmentBytes_accessor_storage = (__runInitializers(this, _maxAttachmentBytes_extraInitializers), __runInitializers(this, _maxTotalAttachmentBytes_initializers, harnessMaxTotalAttachmentBytes));
189
200
  get maxTotalAttachmentBytes() { return this.#maxTotalAttachmentBytes_accessor_storage; }
190
201
  set maxTotalAttachmentBytes(value) { this.#maxTotalAttachmentBytes_accessor_storage = value; }
191
- #model_accessor_storage = (__runInitializers(this, _maxTotalAttachmentBytes_extraInitializers), __runInitializers(this, _model_initializers, ''));
202
+ #account_accessor_storage = (__runInitializers(this, _maxTotalAttachmentBytes_extraInitializers), __runInitializers(this, _account_initializers, ''));
203
+ get account() { return this.#account_accessor_storage; }
204
+ set account(value) { this.#account_accessor_storage = value; }
205
+ #accountOptions_accessor_storage = (__runInitializers(this, _account_extraInitializers), __runInitializers(this, _accountOptions_initializers, []));
206
+ get accountOptions() { return this.#accountOptions_accessor_storage; }
207
+ set accountOptions(value) { this.#accountOptions_accessor_storage = value; }
208
+ #model_accessor_storage = (__runInitializers(this, _accountOptions_extraInitializers), __runInitializers(this, _model_initializers, ''));
192
209
  get model() { return this.#model_accessor_storage; }
193
210
  set model(value) { this.#model_accessor_storage = value; }
194
211
  #modelOptions_accessor_storage = (__runInitializers(this, _model_extraInitializers), __runInitializers(this, _modelOptions_initializers, []));
@@ -220,6 +237,7 @@ let DeesHarnessComposer = (() => {
220
237
  :host {
221
238
  display: block;
222
239
  font-family: var(--dees-font-family);
240
+ container-type: inline-size;
223
241
  }
224
242
 
225
243
  .composer {
@@ -394,6 +412,12 @@ let DeesHarnessComposer = (() => {
394
412
  margin: 0;
395
413
  }
396
414
 
415
+ .accountSelect {
416
+ flex: 0 1 180px;
417
+ width: 180px;
418
+ min-width: 120px;
419
+ }
420
+
397
421
  /* Model identifiers are provider-qualified ("anthropic/claude-opus-5"),
398
422
  so the control grows into the free space instead of truncating,
399
423
  while still shrinking on narrow hosts. */
@@ -411,6 +435,25 @@ let DeesHarnessComposer = (() => {
411
435
  .spacer {
412
436
  flex: 1;
413
437
  }
438
+
439
+ @container (max-width: 760px) {
440
+ .controlsRow {
441
+ flex-wrap: wrap;
442
+ }
443
+
444
+ .modelControls {
445
+ order: 3;
446
+ flex: 1 0 100%;
447
+ flex-wrap: wrap;
448
+ }
449
+
450
+ .accountSelect,
451
+ .modelSelect {
452
+ flex: 1 1 140px;
453
+ width: auto;
454
+ min-width: 0;
455
+ }
456
+ }
414
457
  `,
415
458
  ];
416
459
  async focusPrompt() {
@@ -482,9 +525,26 @@ let DeesHarnessComposer = (() => {
482
525
  </div>
483
526
  `
484
527
  : ''}
485
- ${this.showModelControls && (this.modelOptions.length || this.effortOptions.length)
528
+ ${this.showModelControls && (this.accountOptions.length || this.modelOptions.length || this.effortOptions.length)
486
529
  ? html `
487
530
  <div class="modelControls">
531
+ ${this.accountOptions.length
532
+ ? html `
533
+ <dees-input-dropdown
534
+ class="accountSelect"
535
+ .options=${toLabeledDropdownOptions(this.accountOptions)}
536
+ .selectedOption=${this.account
537
+ ? toLabeledDropdownOptions(this.accountOptions)
538
+ .find((option) => option.key === this.account) ?? null
539
+ : null}
540
+ .disabled=${this.disabled}
541
+ @selectedOption=${(event) => {
542
+ this.account = event.detail?.key ?? this.account;
543
+ this.emit('harness-account-change', { account: this.account });
544
+ }}
545
+ ></dees-input-dropdown>
546
+ `
547
+ : ''}
488
548
  ${this.modelOptions.length
489
549
  ? html `
490
550
  <dees-input-dropdown
@@ -678,6 +738,7 @@ let DeesHarnessComposer = (() => {
678
738
  const detail = {
679
739
  text: this.value,
680
740
  attachments: this.attachments,
741
+ account: this.account || undefined,
681
742
  model: this.model || undefined,
682
743
  reasoningEffort: this.reasoningEffort || undefined,
683
744
  };
@@ -703,4 +764,4 @@ let DeesHarnessComposer = (() => {
703
764
  return DeesHarnessComposer = _classThis;
704
765
  })();
705
766
  export { DeesHarnessComposer };
706
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3MtY29tcG9zZXIvZGVlcy1oYXJuZXNzLWNvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLGdFQUFnRSxDQUFDO0FBQ3hFLE9BQU8sOENBQThDLENBQUM7QUFVdEQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWdCLEVBQXFCLEVBQUUsQ0FDaEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7R0FXRztJQUVVLG1CQUFtQjs0QkFEL0IsYUFBYSxDQUFDLHVCQUF1QixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBQW5CLFNBQVEsV0FBVzs7OztpQ0FJakQsUUFB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
767
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3MtY29tcG9zZXIvZGVlcy1oYXJuZXNzLWNvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFNdEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLGdFQUFnRSxDQUFDO0FBQ3hFLE9BQU8sOENBQThDLENBQUM7QUFVdEQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWdCLEVBQXFCLEVBQUUsQ0FDaEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV6RCxNQUFNLHdCQUF3QixHQUFHLENBQUMsTUFBZ0MsRUFBcUIsRUFBRSxDQUN2RixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FB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
@@ -315,9 +315,17 @@ export interface IHarnessStatus {
315
315
  type: 'idle' | 'busy' | 'error';
316
316
  message?: string;
317
317
  }
318
+ export interface IHarnessComposerOption {
319
+ label: string;
320
+ value: string;
321
+ }
322
+ export interface IHarnessAccountChangeDetail {
323
+ account: string;
324
+ }
318
325
  export interface IHarnessComposerSendDetail {
319
326
  text: string;
320
327
  attachments: IHarnessAttachment[];
328
+ account?: string;
321
329
  model?: string;
322
330
  reasoningEffort?: string;
323
331
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "6.2.0",
3
+ "version": "6.3.0",
4
4
  "private": false,
5
5
  "description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
6
6
  "main": "dist_ts_web/index.js",
package/readme.md CHANGED
@@ -1775,11 +1775,16 @@ const chat = document.querySelector('dees-harness-chat');
1775
1775
  chat.messages = adaptedMessages; // IHarnessMessage[]
1776
1776
  chat.permissions = pendingPermissions; // IHarnessPermissionRequest[]
1777
1777
  chat.status = { type: 'busy', message: 'Responding…' };
1778
+ chat.account = 'connection-a';
1779
+ chat.accountOptions = [
1780
+ { label: 'Personal · alex@example.com', value: 'connection-a' },
1781
+ { label: 'Team · alex@example.com', value: 'connection-b' },
1782
+ ];
1778
1783
  chat.modelOptions = ['gpt-5.5', 'o4-mini'];
1779
1784
  chat.effortOptions = ['high', 'medium', 'low'];
1780
1785
 
1781
1786
  chat.addEventListener('harness-send', (event) => {
1782
- const { text, attachments, model, reasoningEffort } = event.detail;
1787
+ const { text, attachments, account, model, reasoningEffort } = event.detail;
1783
1788
  });
1784
1789
  chat.addEventListener('harness-permission-response', (event) => {
1785
1790
  const { requestId, response, remember } = event.detail; // 'once' | 'always' | 'reject'
@@ -1798,9 +1803,9 @@ chat.applyDelta({
1798
1803
  });
1799
1804
  ```
1800
1805
 
1801
- Key props: `messages`, `permissions`, `questions`, `status`, `usage`, `todos`/`showTodosPanel`, `sessionMetrics`, `scratchpad`/`scratchpadBusy`/`scratchpadError`, `sessionIntelligenceEnabled`/`intelligenceExchanges`/`intelligenceBusy`/`intelligenceError`, `showSessionSidebar`, `heading`, `subheading`, `showToolbar`, `busy`, `queuedCount`, `disabled`, `model`/`modelOptions`, `reasoningEffort`/`effortOptions`, `mode`/`modeOptions`, `toolRegistry`. The status line renders inside the transcript column (it never pushes between the session panel and the composer), and both the toolbar and the docked composer cast a subtle shadow over the scrolling messages.
1806
+ Key props: `messages`, `permissions`, `questions`, `status`, `usage`, `todos`/`showTodosPanel`, `sessionMetrics`, `scratchpad`/`scratchpadBusy`/`scratchpadError`, `sessionIntelligenceEnabled`/`intelligenceExchanges`/`intelligenceBusy`/`intelligenceError`, `showSessionSidebar`, `heading`, `subheading`, `showToolbar`, `busy`, `queuedCount`, `disabled`, `account`/`accountOptions`, `model`/`modelOptions`, `reasoningEffort`/`effortOptions`, `mode`/`modeOptions`, `toolRegistry`. Account options use human-readable `label` values and opaque stable `value` identifiers. The status line renders inside the transcript column (it never pushes between the session panel and the composer), and both the toolbar and the docked composer cast a subtle shadow over the scrolling messages.
1802
1807
 
1803
- A **session side panel** shows Tasks, Tools & Subagents, Tokens, Session Scratchpad, and Session Intelligence next to the transcript. Its sections form a single-open accordion: opening one collapses the others, clicking the open heading collapses all, and each expanded section owns its scrolling while every heading remains visible. Tools & Subagents separates active calls from terminal history and derives both directly from top-level tool messages still present in the host's retained transcript window; evicted calls are not cached. Long activity labels and descriptions use a 40px right-edge fade instead of ellipses, reveal the full line on hover, and run through once after the two-second delay when their section has measurable width. Session Intelligence keeps its exchange history scrollable above a docked, chat-style question composer. Set `.todos` explicitly, or leave it empty and the chat derives tasks from the newest todo tool call in `messages`; `showTodosPanel={false}` hides only that section. Unknown token metrics remain absent. The toolbar controls the session panel; host-owned navigation controls belong outside the chat component. In narrow containers the session panel becomes an accessible overlay; when the toolbar is disabled, an inline Session details control keeps it reachable. `showSessionSidebar={false}` disables the complete panel. Methods: `applyDelta()`, `focusComposer()`, `clearComposer()`, `scrollToBottom()`. Events (also from children, all composed): `harness-send`, `harness-steer`, `harness-abort`, `harness-input`, `harness-attachments-change`, `harness-attachment-error`, `harness-model-change`, `harness-mode-change`, `harness-permission-response`, `harness-question-response`, `harness-subtask-open`, `harness-scratchpad-save`, `harness-session-intelligence-ask`.
1808
+ A **session side panel** shows Tasks, Tools & Subagents, Tokens, Session Scratchpad, and Session Intelligence next to the transcript. Its sections form a single-open accordion: opening one collapses the others, clicking the open heading collapses all, and each expanded section owns its scrolling while every heading remains visible. Tools & Subagents separates active calls from terminal history and derives both directly from top-level tool messages still present in the host's retained transcript window; evicted calls are not cached. Long activity labels and descriptions use a 40px right-edge fade instead of ellipses, reveal the full line on hover, and run through once after the two-second delay when their section has measurable width. Session Intelligence keeps its exchange history scrollable above a docked, chat-style question composer. Set `.todos` explicitly, or leave it empty and the chat derives tasks from the newest todo tool call in `messages`; `showTodosPanel={false}` hides only that section. Unknown token metrics remain absent. The toolbar controls the session panel; host-owned navigation controls belong outside the chat component. In narrow containers the session panel becomes an accessible overlay; when the toolbar is disabled, an inline Session details control keeps it reachable. `showSessionSidebar={false}` disables the complete panel. Methods: `applyDelta()`, `focusComposer()`, `clearComposer()`, `scrollToBottom()`. Events (also from children, all composed): `harness-send`, `harness-steer`, `harness-abort`, `harness-input`, `harness-attachments-change`, `harness-attachment-error`, `harness-account-change`, `harness-model-change`, `harness-mode-change`, `harness-permission-response`, `harness-question-response`, `harness-subtask-open`, `harness-scratchpad-save`, `harness-session-intelligence-ask`.
1804
1809
 
1805
1810
  #### `DeesHarnessMessageList`
1806
1811
 
@@ -1875,7 +1880,7 @@ A question the agent asks mid-run: option buttons with descriptions (single-sele
1875
1880
 
1876
1881
  #### `DeesHarnessComposer`
1877
1882
 
1878
- Prompt input: autogrow textarea, attachment picker/paste/drag-drop with per-file (10 MB) and total (30 MB) limits, image/text/binary classification, optional model + reasoning-effort dropdowns, Cmd/Ctrl+Enter to send. Controlled component — the host owns `value` and `attachments`.
1883
+ Prompt input: autogrow textarea, attachment picker/paste/drag-drop with per-file (10 MB) and total (30 MB) limits, image/text/binary classification, optional account, model, and reasoning-effort dropdowns, Cmd/Ctrl+Enter to send. Controlled component — the host owns `value`, `attachments`, `account`, and the other selections. Set `accountOptions` to `{ label, value }[]` so the dropdown displays readable labels while events retain opaque stable account values. Account changes emit `harness-account-change` with `{ account }`; `harness-send` includes optional `account` alongside `model` and `reasoningEffort`.
1879
1884
 
1880
1885
  While `busy`, Stop renders as an additional button and Send stays available so hosts can queue messages. With an empty prompt and `queuedCount > 0`, the primary action becomes **Steer now** (`harness-steer` event) to force the agent to continue with the queued messages immediately.
1881
1886
 
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '6.2.0',
6
+ version: '6.3.0',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  }
@@ -11,7 +11,9 @@ import {
11
11
  } from '@design.estate/dees-element';
12
12
  import { themeDefaultStyles } from '../../00theme.js';
13
13
  import type {
14
+ IHarnessAccountChangeDetail,
14
15
  IHarnessAttachment,
16
+ IHarnessComposerOption,
15
17
  IHarnessMessage,
16
18
  IHarnessPermissionRequest,
17
19
  IHarnessQuestionRequest,
@@ -148,6 +150,12 @@ export class DeesHarnessChat extends DeesElement {
148
150
  @property({ attribute: false })
149
151
  accessor attachments: IHarnessAttachment[] = [];
150
152
 
153
+ @property()
154
+ accessor account: string = '';
155
+
156
+ @property({ attribute: false })
157
+ accessor accountOptions: IHarnessComposerOption[] = [];
158
+
151
159
  @property()
152
160
  accessor model: string = '';
153
161
 
@@ -641,6 +649,8 @@ export class DeesHarnessChat extends DeesElement {
641
649
  .disabled=${this.disabled}
642
650
  .busy=${this.busy || this.status.type === 'busy'}
643
651
  .queuedCount=${this.queuedCount}
652
+ .account=${this.account}
653
+ .accountOptions=${this.accountOptions}
644
654
  .model=${this.model}
645
655
  .modelOptions=${this.modelOptions}
646
656
  .reasoningEffort=${this.reasoningEffort}
@@ -653,6 +663,9 @@ export class DeesHarnessChat extends DeesElement {
653
663
  @harness-attachments-change=${(event: CustomEvent<{ attachments: IHarnessAttachment[] }>) => {
654
664
  this.attachments = event.detail?.attachments ?? [];
655
665
  }}
666
+ @harness-account-change=${(event: CustomEvent<IHarnessAccountChangeDetail>) => {
667
+ if (event.detail?.account) this.account = event.detail.account;
668
+ }}
656
669
  @harness-model-change=${(event: CustomEvent<{ model?: string; reasoningEffort?: string }>) => {
657
670
  if (event.detail?.model) this.model = event.detail.model;
658
671
  if (event.detail?.reasoningEffort) this.reasoningEffort = event.detail.reasoningEffort;
@@ -29,15 +29,21 @@ export const demoFunc = () => html`
29
29
  @harness-input=${logEvent}
30
30
  @harness-attachments-change=${logEvent}
31
31
  @harness-attachment-error=${logEvent}
32
+ @harness-account-change=${logEvent}
32
33
  @harness-model-change=${logEvent}
33
34
  @harness-mode-change=${logEvent}
34
35
  >
35
36
  <div class="label">default with mode switcher + model controls (events log to console)</div>
36
37
  <dees-harness-composer
38
+ account="account-1"
37
39
  model="gpt-5.5"
38
40
  reasoningEffort="high"
39
41
  mode="Planning"
40
42
  .modeOptions=${['Planning', 'Building']}
43
+ .accountOptions=${[
44
+ { label: 'Personal · alex@example.com', value: 'account-1' },
45
+ { label: 'Team · alex@example.com', value: 'account-2' },
46
+ ]}
41
47
  .modelOptions=${['gpt-5.5', 'gpt-5', 'o4-mini']}
42
48
  .effortOptions=${['xhigh', 'high', 'medium', 'low']}
43
49
  ></dees-harness-composer>
@@ -9,7 +9,11 @@ import {
9
9
  cssManager,
10
10
  } from '@design.estate/dees-element';
11
11
  import { themeDefaultStyles } from '../../00theme.js';
12
- import type { IHarnessAttachment, IHarnessComposerSendDetail } from '../interfaces.js';
12
+ import type {
13
+ IHarnessAttachment,
14
+ IHarnessComposerOption,
15
+ IHarnessComposerSendDetail,
16
+ } from '../interfaces.js';
13
17
  import {
14
18
  harnessFileToBase64,
15
19
  harnessFormatBytes,
@@ -33,16 +37,19 @@ type TDropdownOption = { option: string; key: string };
33
37
  const toDropdownOptions = (values: string[]): TDropdownOption[] =>
34
38
  values.map((value) => ({ option: value, key: value }));
35
39
 
40
+ const toLabeledDropdownOptions = (values: IHarnessComposerOption[]): TDropdownOption[] =>
41
+ values.map((value) => ({ option: value.label, key: value.value }));
42
+
36
43
  /**
37
44
  * Prompt composer: autogrow textarea, attachments (picker / paste /
38
- * drag-drop with per-file and total size limits), optional model and
39
- * reasoning-effort dropdowns. Cmd/Ctrl+Enter sends. While busy, Stop is an
45
+ * drag-drop with per-file and total size limits), optional account, model,
46
+ * and reasoning-effort dropdowns. Cmd/Ctrl+Enter sends. While busy, Stop is an
40
47
  * additional button and Send stays available for queueing; an empty prompt
41
48
  * with queued messages offers "Steer now".
42
49
  *
43
50
  * Controlled component: `value` and `attachments` are owned by the host;
44
51
  * the composer emits `harness-input`, `harness-attachments-change`,
45
- * `harness-attachment-error`, `harness-model-change`, `harness-send`,
52
+ * `harness-attachment-error`, `harness-account-change`, `harness-model-change`, `harness-send`,
46
53
  * `harness-steer`, and `harness-abort` (all bubbling + composed).
47
54
  */
48
55
  @customElement('dees-harness-composer')
@@ -90,6 +97,12 @@ export class DeesHarnessComposer extends DeesElement {
90
97
  @property({ type: Number })
91
98
  accessor maxTotalAttachmentBytes: number = harnessMaxTotalAttachmentBytes;
92
99
 
100
+ @property()
101
+ accessor account: string = '';
102
+
103
+ @property({ attribute: false })
104
+ accessor accountOptions: IHarnessComposerOption[] = [];
105
+
93
106
  @property()
94
107
  accessor model: string = '';
95
108
 
@@ -122,6 +135,7 @@ export class DeesHarnessComposer extends DeesElement {
122
135
  :host {
123
136
  display: block;
124
137
  font-family: var(--dees-font-family);
138
+ container-type: inline-size;
125
139
  }
126
140
 
127
141
  .composer {
@@ -296,6 +310,12 @@ export class DeesHarnessComposer extends DeesElement {
296
310
  margin: 0;
297
311
  }
298
312
 
313
+ .accountSelect {
314
+ flex: 0 1 180px;
315
+ width: 180px;
316
+ min-width: 120px;
317
+ }
318
+
299
319
  /* Model identifiers are provider-qualified ("anthropic/claude-opus-5"),
300
320
  so the control grows into the free space instead of truncating,
301
321
  while still shrinking on narrow hosts. */
@@ -313,6 +333,25 @@ export class DeesHarnessComposer extends DeesElement {
313
333
  .spacer {
314
334
  flex: 1;
315
335
  }
336
+
337
+ @container (max-width: 760px) {
338
+ .controlsRow {
339
+ flex-wrap: wrap;
340
+ }
341
+
342
+ .modelControls {
343
+ order: 3;
344
+ flex: 1 0 100%;
345
+ flex-wrap: wrap;
346
+ }
347
+
348
+ .accountSelect,
349
+ .modelSelect {
350
+ flex: 1 1 140px;
351
+ width: auto;
352
+ min-width: 0;
353
+ }
354
+ }
316
355
  `,
317
356
  ];
318
357
 
@@ -386,9 +425,28 @@ export class DeesHarnessComposer extends DeesElement {
386
425
  </div>
387
426
  `
388
427
  : ''}
389
- ${this.showModelControls && (this.modelOptions.length || this.effortOptions.length)
428
+ ${this.showModelControls && (
429
+ this.accountOptions.length || this.modelOptions.length || this.effortOptions.length
430
+ )
390
431
  ? html`
391
432
  <div class="modelControls">
433
+ ${this.accountOptions.length
434
+ ? html`
435
+ <dees-input-dropdown
436
+ class="accountSelect"
437
+ .options=${toLabeledDropdownOptions(this.accountOptions)}
438
+ .selectedOption=${this.account
439
+ ? toLabeledDropdownOptions(this.accountOptions)
440
+ .find((option) => option.key === this.account) ?? null
441
+ : null}
442
+ .disabled=${this.disabled}
443
+ @selectedOption=${(event: CustomEvent<TDropdownOption>) => {
444
+ this.account = event.detail?.key ?? this.account;
445
+ this.emit('harness-account-change', { account: this.account });
446
+ }}
447
+ ></dees-input-dropdown>
448
+ `
449
+ : ''}
392
450
  ${this.modelOptions.length
393
451
  ? html`
394
452
  <dees-input-dropdown
@@ -589,6 +647,7 @@ export class DeesHarnessComposer extends DeesElement {
589
647
  const detail: IHarnessComposerSendDetail = {
590
648
  text: this.value,
591
649
  attachments: this.attachments,
650
+ account: this.account || undefined,
592
651
  model: this.model || undefined,
593
652
  reasoningEffort: this.reasoningEffort || undefined,
594
653
  };
@@ -350,9 +350,19 @@ export interface IHarnessStatus {
350
350
 
351
351
  // ---------------------------------------------------------------- composer
352
352
 
353
+ export interface IHarnessComposerOption {
354
+ label: string;
355
+ value: string;
356
+ }
357
+
358
+ export interface IHarnessAccountChangeDetail {
359
+ account: string;
360
+ }
361
+
353
362
  export interface IHarnessComposerSendDetail {
354
363
  text: string;
355
364
  attachments: IHarnessAttachment[];
365
+ account?: string;
356
366
  model?: string;
357
367
  reasoningEffort?: string;
358
368
  }