@design.estate/dees-catalog 6.8.2 → 6.9.1

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/.smartconfig.json CHANGED
@@ -38,12 +38,20 @@
38
38
  },
39
39
  "release": {
40
40
  "targets": {
41
+ "git": {
42
+ "enabled": true,
43
+ "remote": "origin",
44
+ "pushBranch": true,
45
+ "pushTags": true
46
+ },
41
47
  "npm": {
48
+ "enabled": true,
42
49
  "registries": [
43
50
  "https://verdaccio.lossless.digital",
44
51
  "https://registry.npmjs.org"
45
52
  ],
46
- "accessLevel": "public"
53
+ "accessLevel": "public",
54
+ "alreadyPublished": "success"
47
55
  }
48
56
  }
49
57
  },
@@ -68,4 +76,4 @@
68
76
  "@git.zone/tswatch": {
69
77
  "preset": "element"
70
78
  }
71
- }
79
+ }
@@ -173496,7 +173496,7 @@ var defaultDescriptors = [
173496
173496
  },
173497
173497
  {
173498
173498
  kind: "subtask",
173499
- names: ["task", "subagent"],
173499
+ names: ["delegate", "subagent"],
173500
173500
  label: "Subagent",
173501
173501
  icon: "lucide:Bot",
173502
173502
  // The child's model belongs in the collapsed header: a subagent often
@@ -173516,6 +173516,16 @@ var defaultDescriptors = [
173516
173516
  subtitle: /* @__PURE__ */ __name((call) => inputField(call, "question") || inputField(call, "prompt") || harnessSummaryLine(call.input), "subtitle"),
173517
173517
  defaultExpanded: true
173518
173518
  },
173519
+ {
173520
+ kind: "project-task",
173521
+ names: ["task"],
173522
+ label: "Project task",
173523
+ icon: "lucide:ListChecks",
173524
+ subtitle: /* @__PURE__ */ __name((call) => {
173525
+ const action = inputField(call, "action");
173526
+ return action ? `Action: ${action}` : harnessSummaryLine(call.input);
173527
+ }, "subtitle")
173528
+ },
173519
173529
  {
173520
173530
  kind: "todo",
173521
173531
  names: ["todowrite", "todo_write", "todoread"],
@@ -174468,7 +174478,7 @@ var createSubagentWave = /* @__PURE__ */ __name((runId, waveNumber, scenarios) =
174468
174478
  createdAt: now3 + index3,
174469
174479
  toolCall: {
174470
174480
  id: `demo-${runId}-wave-${waveNumber}-call-${index3 + 1}`,
174471
- name: "task",
174481
+ name: "delegate",
174472
174482
  status: "running",
174473
174483
  input: { description: scenario.description },
174474
174484
  childSessionId,
@@ -176323,6 +176333,28 @@ var renderTodo = /* @__PURE__ */ __name((call, helpers) => {
176323
176333
  if (!todos2.length) return helpers.monoBlock(harnessSummarizeValue(call.input) || outputText(call));
176324
176334
  return b2`<dees-harness-todos compact .todos=${todos2}></dees-harness-todos>`;
176325
176335
  }, "renderTodo");
176336
+ var projectTaskOutputItems = /* @__PURE__ */ __name((output) => {
176337
+ if (!harnessIsRecord(output)) return void 0;
176338
+ if (Array.isArray(output.tasks)) return output.tasks;
176339
+ if (Object.prototype.hasOwnProperty.call(output, "task")) return [output.task];
176340
+ return harnessIsRecord(output.state) && Array.isArray(output.state.tasks) ? output.state.tasks : void 0;
176341
+ }, "projectTaskOutputItems");
176342
+ var hasUnsupportedTodoStatus = /* @__PURE__ */ __name((items) => items.some((item) => {
176343
+ if (!harnessIsRecord(item) || typeof item.status !== "string") return false;
176344
+ return item.status !== "pending" && item.status !== "in_progress" && item.status !== "completed";
176345
+ }), "hasUnsupportedTodoStatus");
176346
+ var renderProjectTask = /* @__PURE__ */ __name((call, helpers) => {
176347
+ const output = outputText(call);
176348
+ const outputItems = projectTaskOutputItems(call.output);
176349
+ if (outputItems !== void 0) {
176350
+ const tasks = hasUnsupportedTodoStatus(outputItems) ? [] : harnessParseTodos(outputItems);
176351
+ if (tasks.length) {
176352
+ return b2`<dees-harness-todos compact .todos=${tasks}></dees-harness-todos>`;
176353
+ }
176354
+ return helpers.monoBlock(output || harnessStringifyValue(outputItems));
176355
+ }
176356
+ return helpers.monoBlock(output || harnessSummarizeValue(call.input));
176357
+ }, "renderProjectTask");
176326
176358
  var renderMcp = /* @__PURE__ */ __name((call, helpers) => {
176327
176359
  return b2`
176328
176360
  ${call.contentBlocks?.length ? helpers.contentBlocks(call.contentBlocks) : ""}
@@ -176351,6 +176383,7 @@ var builtinBodyRenderers = {
176351
176383
  "json": renderJson,
176352
176384
  "search": renderSearch,
176353
176385
  "subtask": renderSubtask,
176386
+ "project-task": renderProjectTask,
176354
176387
  "todo": renderTodo,
176355
176388
  "mcp": renderMcp,
176356
176389
  "unknown": renderUnknown
@@ -180811,11 +180844,12 @@ var demoFunc62 = /* @__PURE__ */ __name(() => b2`
180811
180844
  init_dist_ts26();
180812
180845
  init_theme();
180813
180846
  init_dees_icon();
180814
- var _showModelControls_dec, _modeOptions_dec, _mode_dec2, _effortOptions_dec, _reasoningEffort_dec, _modelOptions_dec, _model_dec, _accountOptions_dec, _account_dec, _maxAttachmentCount_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, _maxAttachmentCount, _account, _accountOptions, _model, _modelOptions, _reasoningEffort, _effortOptions, _mode2, _modeOptions, _showModelControls;
180847
+ var _showModelControls_dec, _modeOptions_dec, _mode_dec2, _effortOptions_dec, _reasoningEffort_dec, _modelOptions_dec, _model_dec, _accountOptions_dec, _account_dec, _maxAttachmentCount_dec, _maxTotalAttachmentBytes_dec, _maxAttachmentBytes_dec, _promptFocused_dec, _suggestionsDismissed_dec, _activeSuggestionIndex_dec, _suggestions_dec2, _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, _suggestions2, _activeSuggestionIndex, _suggestionsDismissed, _promptFocused, _maxAttachmentBytes, _maxTotalAttachmentBytes, _maxAttachmentCount, _account, _accountOptions, _model, _modelOptions, _reasoningEffort, _effortOptions, _mode2, _modeOptions, _showModelControls;
180815
180848
  var toDropdownOptions = /* @__PURE__ */ __name((values) => values.map((value2) => ({ option: value2, key: value2 })), "toDropdownOptions");
180816
180849
  var toLabeledDropdownOptions = /* @__PURE__ */ __name((values) => values.map((value2) => ({ option: value2.label, key: value2.value })), "toLabeledDropdownOptions");
180850
+ var nextSuggestionListId = 0;
180817
180851
  _DeesHarnessComposer_decorators = [customElement("dees-harness-composer")];
180818
- 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 })], _maxAttachmentCount_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) {
180852
+ 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 })], _suggestions_dec2 = [n5({ attribute: false })], _activeSuggestionIndex_dec = [r5()], _suggestionsDismissed_dec = [r5()], _promptFocused_dec = [r5()], _maxAttachmentBytes_dec = [n5({ type: Number })], _maxTotalAttachmentBytes_dec = [n5({ type: Number })], _maxAttachmentCount_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) {
180819
180853
  constructor() {
180820
180854
  super(...arguments);
180821
180855
  __privateAdd(this, _value17, __runInitializers(_init88, 8, this, "")), __runInitializers(_init88, 11, this);
@@ -180825,30 +180859,62 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
180825
180859
  __privateAdd(this, _busy3, __runInitializers(_init88, 24, this, false)), __runInitializers(_init88, 27, this);
180826
180860
  __privateAdd(this, _queuedCount, __runInitializers(_init88, 28, this, 0)), __runInitializers(_init88, 31, this);
180827
180861
  __privateAdd(this, _attachments, __runInitializers(_init88, 32, this, [])), __runInitializers(_init88, 35, this);
180828
- __privateAdd(this, _maxAttachmentBytes, __runInitializers(_init88, 36, this, harnessMaxAttachmentBytes)), __runInitializers(_init88, 39, this);
180829
- __privateAdd(this, _maxTotalAttachmentBytes, __runInitializers(_init88, 40, this, harnessMaxTotalAttachmentBytes)), __runInitializers(_init88, 43, this);
180830
- __privateAdd(this, _maxAttachmentCount, __runInitializers(_init88, 44, this, Number.POSITIVE_INFINITY)), __runInitializers(_init88, 47, this);
180831
- __privateAdd(this, _account, __runInitializers(_init88, 48, this, "")), __runInitializers(_init88, 51, this);
180832
- __privateAdd(this, _accountOptions, __runInitializers(_init88, 52, this, [])), __runInitializers(_init88, 55, this);
180833
- __privateAdd(this, _model, __runInitializers(_init88, 56, this, "")), __runInitializers(_init88, 59, this);
180834
- __privateAdd(this, _modelOptions, __runInitializers(_init88, 60, this, [])), __runInitializers(_init88, 63, this);
180835
- __privateAdd(this, _reasoningEffort, __runInitializers(_init88, 64, this, "")), __runInitializers(_init88, 67, this);
180836
- __privateAdd(this, _effortOptions, __runInitializers(_init88, 68, this, [])), __runInitializers(_init88, 71, this);
180837
- __privateAdd(this, _mode2, __runInitializers(_init88, 72, this, "")), __runInitializers(_init88, 75, this);
180838
- __privateAdd(this, _modeOptions, __runInitializers(_init88, 76, this, [])), __runInitializers(_init88, 79, this);
180839
- __privateAdd(this, _showModelControls, __runInitializers(_init88, 80, this, true)), __runInitializers(_init88, 83, this);
180862
+ __privateAdd(this, _suggestions2, __runInitializers(_init88, 36, this, [])), __runInitializers(_init88, 39, this);
180863
+ __privateAdd(this, _activeSuggestionIndex, __runInitializers(_init88, 40, this, -1)), __runInitializers(_init88, 43, this);
180864
+ __privateAdd(this, _suggestionsDismissed, __runInitializers(_init88, 44, this, false)), __runInitializers(_init88, 47, this);
180865
+ __privateAdd(this, _promptFocused, __runInitializers(_init88, 48, this, false)), __runInitializers(_init88, 51, this);
180866
+ __publicField(this, "composing", false);
180867
+ __publicField(this, "suggestionListId", `dees-harness-composer-suggestions-${++nextSuggestionListId}`);
180868
+ __privateAdd(this, _maxAttachmentBytes, __runInitializers(_init88, 52, this, harnessMaxAttachmentBytes)), __runInitializers(_init88, 55, this);
180869
+ __privateAdd(this, _maxTotalAttachmentBytes, __runInitializers(_init88, 56, this, harnessMaxTotalAttachmentBytes)), __runInitializers(_init88, 59, this);
180870
+ __privateAdd(this, _maxAttachmentCount, __runInitializers(_init88, 60, this, Number.POSITIVE_INFINITY)), __runInitializers(_init88, 63, this);
180871
+ __privateAdd(this, _account, __runInitializers(_init88, 64, this, "")), __runInitializers(_init88, 67, this);
180872
+ __privateAdd(this, _accountOptions, __runInitializers(_init88, 68, this, [])), __runInitializers(_init88, 71, this);
180873
+ __privateAdd(this, _model, __runInitializers(_init88, 72, this, "")), __runInitializers(_init88, 75, this);
180874
+ __privateAdd(this, _modelOptions, __runInitializers(_init88, 76, this, [])), __runInitializers(_init88, 79, this);
180875
+ __privateAdd(this, _reasoningEffort, __runInitializers(_init88, 80, this, "")), __runInitializers(_init88, 83, this);
180876
+ __privateAdd(this, _effortOptions, __runInitializers(_init88, 84, this, [])), __runInitializers(_init88, 87, this);
180877
+ __privateAdd(this, _mode2, __runInitializers(_init88, 88, this, "")), __runInitializers(_init88, 91, this);
180878
+ __privateAdd(this, _modeOptions, __runInitializers(_init88, 92, this, [])), __runInitializers(_init88, 95, this);
180879
+ __privateAdd(this, _showModelControls, __runInitializers(_init88, 96, this, true)), __runInitializers(_init88, 99, this);
180840
180880
  // ------------------------------------------------------------------ input
180841
180881
  __publicField(this, "handleTextInput", /* @__PURE__ */ __name((event) => {
180842
180882
  this.value = event.currentTarget.value;
180883
+ this.resetSuggestionInteraction();
180843
180884
  this.emitInput(this.value);
180844
180885
  this.autogrow();
180845
180886
  }, "handleTextInput"));
180846
180887
  __publicField(this, "handleKeydown", /* @__PURE__ */ __name((event) => {
180888
+ if (event.isComposing || this.composing) return;
180847
180889
  if (event.key === "Enter" && (event.metaKey || event.ctrlKey)) {
180848
180890
  event.preventDefault();
180849
180891
  this.send();
180850
180892
  return;
180851
180893
  }
180894
+ if (this.suggestionsVisible) {
180895
+ if (event.key === "Escape") {
180896
+ event.preventDefault();
180897
+ this.suggestionsDismissed = true;
180898
+ return;
180899
+ }
180900
+ if (!event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) {
180901
+ if (event.key === "ArrowDown") {
180902
+ event.preventDefault();
180903
+ this.moveActiveSuggestion(1);
180904
+ return;
180905
+ }
180906
+ if (event.key === "ArrowUp") {
180907
+ event.preventDefault();
180908
+ this.moveActiveSuggestion(-1);
180909
+ return;
180910
+ }
180911
+ if (event.key === "Enter") {
180912
+ event.preventDefault();
180913
+ void this.selectSuggestion(this.activeSuggestionIndex);
180914
+ return;
180915
+ }
180916
+ }
180917
+ }
180852
180918
  if (event.key === "Tab" && event.shiftKey && this.modeOptions.length) {
180853
180919
  event.preventDefault();
180854
180920
  const currentIndex = this.modeOptions.indexOf(this.mode);
@@ -180857,6 +180923,21 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
180857
180923
  this.emit("harness-mode-change", { mode: nextMode });
180858
180924
  }
180859
180925
  }, "handleKeydown"));
180926
+ __publicField(this, "handleCompositionStart", /* @__PURE__ */ __name(() => {
180927
+ this.composing = true;
180928
+ }, "handleCompositionStart"));
180929
+ __publicField(this, "handleCompositionEnd", /* @__PURE__ */ __name(() => {
180930
+ this.composing = false;
180931
+ }, "handleCompositionEnd"));
180932
+ __publicField(this, "handlePromptFocus", /* @__PURE__ */ __name(() => {
180933
+ this.promptFocused = true;
180934
+ }, "handlePromptFocus"));
180935
+ __publicField(this, "handlePromptBlur", /* @__PURE__ */ __name(() => {
180936
+ this.promptFocused = false;
180937
+ }, "handlePromptBlur"));
180938
+ __publicField(this, "handleSuggestionPointerDown", /* @__PURE__ */ __name((event) => {
180939
+ event.preventDefault();
180940
+ }, "handleSuggestionPointerDown"));
180860
180941
  // ------------------------------------------------------------ attachments
180861
180942
  __publicField(this, "handleFileInputChange", /* @__PURE__ */ __name((event) => {
180862
180943
  const input = event.currentTarget;
@@ -180892,17 +180973,28 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
180892
180973
  }
180893
180974
  clear() {
180894
180975
  this.value = "";
180976
+ this.resetSuggestionInteraction();
180895
180977
  this.emitInput("");
180896
180978
  this.autogrow();
180897
180979
  }
180980
+ willUpdate(changedProperties) {
180981
+ super.willUpdate(changedProperties);
180982
+ if (changedProperties.has("suggestions")) this.resetSuggestionInteraction();
180983
+ }
180984
+ updated(changedProperties) {
180985
+ super.updated(changedProperties);
180986
+ this.syncTextareaSuggestionAria();
180987
+ }
180898
180988
  render() {
180899
180989
  return b2`
180900
- <div
180901
- class="composer"
180902
- @dragover=${this.handleDragOver}
180903
- @dragleave=${this.handleDragLeave}
180904
- @drop=${this.handleDrop}
180905
- >
180990
+ <div class="composerShell">
180991
+ ${this.suggestionsVisible ? this.renderSuggestions() : ""}
180992
+ <div
180993
+ class="composer"
180994
+ @dragover=${this.handleDragOver}
180995
+ @dragleave=${this.handleDragLeave}
180996
+ @drop=${this.handleDrop}
180997
+ >
180906
180998
  <input
180907
180999
  class="fileInput"
180908
181000
  type="file"
@@ -180916,11 +181008,16 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
180916
181008
  ` : ""}
180917
181009
  <textarea
180918
181010
  .value=${this.value}
181011
+ aria-label="Message"
180919
181012
  placeholder=${this.placeholder}
180920
181013
  ?disabled=${this.disabled}
180921
181014
  rows="1"
180922
181015
  @input=${this.handleTextInput}
180923
181016
  @keydown=${this.handleKeydown}
181017
+ @focus=${this.handlePromptFocus}
181018
+ @blur=${this.handlePromptBlur}
181019
+ @compositionstart=${this.handleCompositionStart}
181020
+ @compositionend=${this.handleCompositionEnd}
180924
181021
  @paste=${this.handlePaste}
180925
181022
  ></textarea>
180926
181023
  <div class="controlsRow">
@@ -181010,10 +181107,38 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
181010
181107
  Send
181011
181108
  </dees-button>
181012
181109
  `}
181110
+ </div>
181013
181111
  </div>
181014
181112
  </div>
181015
181113
  `;
181016
181114
  }
181115
+ renderSuggestions() {
181116
+ return b2`
181117
+ <ul
181118
+ id=${this.suggestionListId}
181119
+ class="suggestionList"
181120
+ role="listbox"
181121
+ aria-label="Suggestions"
181122
+ @pointerdown=${this.handleSuggestionPointerDown}
181123
+ >
181124
+ ${this.suggestions.map((suggestion, index3) => b2`
181125
+ <li
181126
+ id=${this.suggestionOptionId(index3)}
181127
+ class=${`suggestionOption ${index3 === this.activeSuggestionIndex ? "active" : ""}`}
181128
+ role="option"
181129
+ aria-selected=${String(index3 === this.activeSuggestionIndex)}
181130
+ @pointerenter=${() => {
181131
+ this.activeSuggestionIndex = index3;
181132
+ }}
181133
+ @click=${() => void this.selectSuggestion(index3)}
181134
+ >
181135
+ <span class="suggestionLabel">${suggestion.label}</span>
181136
+ ${suggestion.description ? b2`<span class="suggestionDescription">${suggestion.description}</span>` : ""}
181137
+ </li>
181138
+ `)}
181139
+ </ul>
181140
+ `;
181141
+ }
181017
181142
  renderChip(attachment) {
181018
181143
  const imageUrl = attachment.kind === "image" && attachment.dataBase64 ? `data:${attachment.mediaType};base64,${attachment.dataBase64}` : "";
181019
181144
  return b2`
@@ -181034,6 +181159,75 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
181034
181159
  </span>
181035
181160
  `;
181036
181161
  }
181162
+ resetSuggestionInteraction() {
181163
+ this.activeSuggestionIndex = this.suggestions.length ? 0 : -1;
181164
+ this.suggestionsDismissed = false;
181165
+ }
181166
+ get suggestionsVisible() {
181167
+ return this.promptFocused && !this.disabled && !this.suggestionsDismissed && this.suggestions.length > 0;
181168
+ }
181169
+ suggestionOptionId(indexArg) {
181170
+ return `${this.suggestionListId}-option-${indexArg}`;
181171
+ }
181172
+ syncTextareaSuggestionAria() {
181173
+ const textarea = this.shadowRoot?.querySelector("textarea");
181174
+ if (!textarea) return;
181175
+ const suggestionsAvailable = !this.disabled && this.suggestions.length > 0;
181176
+ if (suggestionsAvailable) {
181177
+ textarea.setAttribute("aria-autocomplete", "list");
181178
+ textarea.setAttribute("aria-haspopup", "listbox");
181179
+ } else {
181180
+ textarea.removeAttribute("aria-autocomplete");
181181
+ textarea.removeAttribute("aria-haspopup");
181182
+ }
181183
+ if (this.suggestionsVisible) {
181184
+ textarea.setAttribute("aria-controls", this.suggestionListId);
181185
+ } else {
181186
+ textarea.removeAttribute("aria-controls");
181187
+ }
181188
+ if (this.suggestionsVisible && this.activeSuggestionIndex >= 0 && this.activeSuggestionIndex < this.suggestions.length) {
181189
+ textarea.setAttribute(
181190
+ "aria-activedescendant",
181191
+ this.suggestionOptionId(this.activeSuggestionIndex)
181192
+ );
181193
+ } else {
181194
+ textarea.removeAttribute("aria-activedescendant");
181195
+ }
181196
+ }
181197
+ moveActiveSuggestion(offsetArg) {
181198
+ if (!this.suggestions.length) return;
181199
+ this.activeSuggestionIndex = this.activeSuggestionIndex < 0 ? offsetArg === 1 ? 0 : this.suggestions.length - 1 : (this.activeSuggestionIndex + offsetArg + this.suggestions.length) % this.suggestions.length;
181200
+ void this.scrollActiveSuggestionIntoView();
181201
+ }
181202
+ async scrollActiveSuggestionIntoView() {
181203
+ await this.updateComplete;
181204
+ const list5 = this.shadowRoot?.getElementById(this.suggestionListId);
181205
+ const option2 = this.shadowRoot?.getElementById(
181206
+ this.suggestionOptionId(this.activeSuggestionIndex)
181207
+ );
181208
+ if (!list5 || !option2) return;
181209
+ const optionTop = option2.offsetTop;
181210
+ const optionBottom = optionTop + option2.offsetHeight;
181211
+ if (optionTop < list5.scrollTop) {
181212
+ list5.scrollTop = optionTop;
181213
+ } else if (optionBottom > list5.scrollTop + list5.clientHeight) {
181214
+ list5.scrollTop = optionBottom - list5.clientHeight;
181215
+ }
181216
+ }
181217
+ async selectSuggestion(indexArg) {
181218
+ if (this.disabled) return;
181219
+ const suggestion = this.suggestions[indexArg];
181220
+ if (!suggestion) return;
181221
+ this.value = suggestion.value;
181222
+ this.suggestionsDismissed = true;
181223
+ this.emitInput(this.value);
181224
+ await this.updateComplete;
181225
+ const textarea = this.shadowRoot?.querySelector("textarea");
181226
+ if (!textarea) return;
181227
+ textarea.focus();
181228
+ textarea.setSelectionRange(this.value.length, this.value.length);
181229
+ this.autogrow();
181230
+ }
181037
181231
  autogrow() {
181038
181232
  const textarea = this.shadowRoot?.querySelector("textarea");
181039
181233
  if (!textarea) return;
@@ -181126,6 +181320,10 @@ _disabled5 = new WeakMap();
181126
181320
  _busy3 = new WeakMap();
181127
181321
  _queuedCount = new WeakMap();
181128
181322
  _attachments = new WeakMap();
181323
+ _suggestions2 = new WeakMap();
181324
+ _activeSuggestionIndex = new WeakMap();
181325
+ _suggestionsDismissed = new WeakMap();
181326
+ _promptFocused = new WeakMap();
181129
181327
  _maxAttachmentBytes = new WeakMap();
181130
181328
  _maxTotalAttachmentBytes = new WeakMap();
181131
181329
  _maxAttachmentCount = new WeakMap();
@@ -181145,6 +181343,10 @@ __decorateElement(_init88, 4, "disabled", _disabled_dec5, _DeesHarnessComposer,
181145
181343
  __decorateElement(_init88, 4, "busy", _busy_dec3, _DeesHarnessComposer, _busy3);
181146
181344
  __decorateElement(_init88, 4, "queuedCount", _queuedCount_dec, _DeesHarnessComposer, _queuedCount);
181147
181345
  __decorateElement(_init88, 4, "attachments", _attachments_dec, _DeesHarnessComposer, _attachments);
181346
+ __decorateElement(_init88, 4, "suggestions", _suggestions_dec2, _DeesHarnessComposer, _suggestions2);
181347
+ __decorateElement(_init88, 4, "activeSuggestionIndex", _activeSuggestionIndex_dec, _DeesHarnessComposer, _activeSuggestionIndex);
181348
+ __decorateElement(_init88, 4, "suggestionsDismissed", _suggestionsDismissed_dec, _DeesHarnessComposer, _suggestionsDismissed);
181349
+ __decorateElement(_init88, 4, "promptFocused", _promptFocused_dec, _DeesHarnessComposer, _promptFocused);
181148
181350
  __decorateElement(_init88, 4, "maxAttachmentBytes", _maxAttachmentBytes_dec, _DeesHarnessComposer, _maxAttachmentBytes);
181149
181351
  __decorateElement(_init88, 4, "maxTotalAttachmentBytes", _maxTotalAttachmentBytes_dec, _DeesHarnessComposer, _maxTotalAttachmentBytes);
181150
181352
  __decorateElement(_init88, 4, "maxAttachmentCount", _maxAttachmentCount_dec, _DeesHarnessComposer, _maxAttachmentCount);
@@ -181171,6 +181373,69 @@ __publicField(_DeesHarnessComposer, "styles", [
181171
181373
  container-type: inline-size;
181172
181374
  }
181173
181375
 
181376
+ .composerShell {
181377
+ position: relative;
181378
+ min-width: 0;
181379
+ }
181380
+
181381
+ .suggestionList {
181382
+ position: absolute;
181383
+ z-index: 2;
181384
+ inset-inline: 0;
181385
+ bottom: calc(100% + var(--dees-spacing-xs));
181386
+ box-sizing: border-box;
181387
+ max-height: min(240px, 35dvh);
181388
+ margin: 0;
181389
+ padding: var(--dees-spacing-xs);
181390
+ overflow-x: hidden;
181391
+ overflow-y: auto;
181392
+ overscroll-behavior: contain;
181393
+ list-style: none;
181394
+ border: 1px solid var(--dees-color-border-subtle);
181395
+ border-radius: var(--dees-radius-xl);
181396
+ corner-shape: var(--dees-corner-shape);
181397
+ background: var(--dees-color-bg-primary);
181398
+ box-shadow: var(--dees-shadow-up-sm);
181399
+ }
181400
+
181401
+ .suggestionOption {
181402
+ display: grid;
181403
+ align-content: center;
181404
+ box-sizing: border-box;
181405
+ min-width: 0;
181406
+ min-height: 44px;
181407
+ padding: var(--dees-spacing-xs) var(--dees-spacing-sm);
181408
+ border-radius: var(--dees-radius-lg);
181409
+ corner-shape: var(--dees-corner-shape);
181410
+ color: var(--dees-color-text-primary);
181411
+ cursor: pointer;
181412
+ touch-action: manipulation;
181413
+ }
181414
+
181415
+ .suggestionOption:hover,
181416
+ .suggestionOption.active {
181417
+ background: var(--dees-color-fill-secondary);
181418
+ }
181419
+
181420
+ .suggestionLabel {
181421
+ min-width: 0;
181422
+ overflow: hidden;
181423
+ font-size: var(--dees-font-control-size, 13px);
181424
+ font-weight: 600;
181425
+ line-height: 1.35;
181426
+ text-overflow: ellipsis;
181427
+ white-space: nowrap;
181428
+ }
181429
+
181430
+ .suggestionDescription {
181431
+ min-width: 0;
181432
+ margin-top: 2px;
181433
+ color: var(--dees-color-text-secondary);
181434
+ font-size: var(--dees-font-caption1-size, 11px);
181435
+ line-height: 1.35;
181436
+ overflow-wrap: anywhere;
181437
+ }
181438
+
181174
181439
  .composer {
181175
181440
  display: grid;
181176
181441
  gap: var(--dees-spacing-sm);
@@ -182465,9 +182730,9 @@ var DeesHarnessUsage = _DeesHarnessUsage;
182465
182730
  init_dist_ts26();
182466
182731
  init_theme();
182467
182732
  init_dees_icon();
182468
- var _toolRegistry_dec6, _modeOptions_dec2, _mode_dec3, _effortOptions_dec2, _reasoningEffort_dec2, _modelOptions_dec2, _model_dec2, _accountOptions_dec2, _account_dec2, _maxTotalAttachmentBytes_dec2, _maxAttachmentBytes_dec2, _maxAttachmentCount_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, _maxAttachmentCount2, _maxAttachmentBytes2, _maxTotalAttachmentBytes2, _account2, _accountOptions2, _model2, _modelOptions2, _reasoningEffort2, _effortOptions2, _mode3, _modeOptions2, _toolRegistry6;
182733
+ var _toolRegistry_dec6, _modeOptions_dec2, _mode_dec3, _effortOptions_dec2, _reasoningEffort_dec2, _modelOptions_dec2, _model_dec2, _accountOptions_dec2, _account_dec2, _maxTotalAttachmentBytes_dec2, _maxAttachmentBytes_dec2, _maxAttachmentCount_dec2, _suggestions_dec3, _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, _suggestions3, _maxAttachmentCount2, _maxAttachmentBytes2, _maxTotalAttachmentBytes2, _account2, _accountOptions2, _model2, _modelOptions2, _reasoningEffort2, _effortOptions2, _mode3, _modeOptions2, _toolRegistry6;
182469
182734
  _DeesHarnessChat_decorators = [customElement("dees-harness-chat")];
182470
- 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 })], _maxAttachmentCount_dec2 = [n5({ type: Number })], _maxAttachmentBytes_dec2 = [n5({ type: Number })], _maxTotalAttachmentBytes_dec2 = [n5({ type: Number })], _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) {
182735
+ 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 })], _suggestions_dec3 = [n5({ attribute: false })], _maxAttachmentCount_dec2 = [n5({ type: Number })], _maxAttachmentBytes_dec2 = [n5({ type: Number })], _maxTotalAttachmentBytes_dec2 = [n5({ type: Number })], _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) {
182471
182736
  constructor() {
182472
182737
  super(...arguments);
182473
182738
  __privateAdd(this, _messages2, __runInitializers(_init91, 8, this, [])), __runInitializers(_init91, 11, this);
@@ -182500,18 +182765,19 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _mess
182500
182765
  __privateAdd(this, _queuedCount2, __runInitializers(_init91, 112, this, 0)), __runInitializers(_init91, 115, this);
182501
182766
  __privateAdd(this, _composerValue, __runInitializers(_init91, 116, this, "")), __runInitializers(_init91, 119, this);
182502
182767
  __privateAdd(this, _attachments2, __runInitializers(_init91, 120, this, [])), __runInitializers(_init91, 123, this);
182503
- __privateAdd(this, _maxAttachmentCount2, __runInitializers(_init91, 124, this, Number.POSITIVE_INFINITY)), __runInitializers(_init91, 127, this);
182504
- __privateAdd(this, _maxAttachmentBytes2, __runInitializers(_init91, 128, this, harnessMaxAttachmentBytes)), __runInitializers(_init91, 131, this);
182505
- __privateAdd(this, _maxTotalAttachmentBytes2, __runInitializers(_init91, 132, this, harnessMaxTotalAttachmentBytes)), __runInitializers(_init91, 135, this);
182506
- __privateAdd(this, _account2, __runInitializers(_init91, 136, this, "")), __runInitializers(_init91, 139, this);
182507
- __privateAdd(this, _accountOptions2, __runInitializers(_init91, 140, this, [])), __runInitializers(_init91, 143, this);
182508
- __privateAdd(this, _model2, __runInitializers(_init91, 144, this, "")), __runInitializers(_init91, 147, this);
182509
- __privateAdd(this, _modelOptions2, __runInitializers(_init91, 148, this, [])), __runInitializers(_init91, 151, this);
182510
- __privateAdd(this, _reasoningEffort2, __runInitializers(_init91, 152, this, "")), __runInitializers(_init91, 155, this);
182511
- __privateAdd(this, _effortOptions2, __runInitializers(_init91, 156, this, [])), __runInitializers(_init91, 159, this);
182512
- __privateAdd(this, _mode3, __runInitializers(_init91, 160, this, "")), __runInitializers(_init91, 163, this);
182513
- __privateAdd(this, _modeOptions2, __runInitializers(_init91, 164, this, [])), __runInitializers(_init91, 167, this);
182514
- __privateAdd(this, _toolRegistry6, __runInitializers(_init91, 168, this, DeesHarnessToolRegistry.default)), __runInitializers(_init91, 171, this);
182768
+ __privateAdd(this, _suggestions3, __runInitializers(_init91, 124, this, [])), __runInitializers(_init91, 127, this);
182769
+ __privateAdd(this, _maxAttachmentCount2, __runInitializers(_init91, 128, this, Number.POSITIVE_INFINITY)), __runInitializers(_init91, 131, this);
182770
+ __privateAdd(this, _maxAttachmentBytes2, __runInitializers(_init91, 132, this, harnessMaxAttachmentBytes)), __runInitializers(_init91, 135, this);
182771
+ __privateAdd(this, _maxTotalAttachmentBytes2, __runInitializers(_init91, 136, this, harnessMaxTotalAttachmentBytes)), __runInitializers(_init91, 139, this);
182772
+ __privateAdd(this, _account2, __runInitializers(_init91, 140, this, "")), __runInitializers(_init91, 143, this);
182773
+ __privateAdd(this, _accountOptions2, __runInitializers(_init91, 144, this, [])), __runInitializers(_init91, 147, this);
182774
+ __privateAdd(this, _model2, __runInitializers(_init91, 148, this, "")), __runInitializers(_init91, 151, this);
182775
+ __privateAdd(this, _modelOptions2, __runInitializers(_init91, 152, this, [])), __runInitializers(_init91, 155, this);
182776
+ __privateAdd(this, _reasoningEffort2, __runInitializers(_init91, 156, this, "")), __runInitializers(_init91, 159, this);
182777
+ __privateAdd(this, _effortOptions2, __runInitializers(_init91, 160, this, [])), __runInitializers(_init91, 163, this);
182778
+ __privateAdd(this, _mode3, __runInitializers(_init91, 164, this, "")), __runInitializers(_init91, 167, this);
182779
+ __privateAdd(this, _modeOptions2, __runInitializers(_init91, 168, this, [])), __runInitializers(_init91, 171, this);
182780
+ __privateAdd(this, _toolRegistry6, __runInitializers(_init91, 172, this, DeesHarnessToolRegistry.default)), __runInitializers(_init91, 175, this);
182515
182781
  __publicField(this, "toggleSessionSidebar", /* @__PURE__ */ __name(() => {
182516
182782
  if (!this.narrowSessionLayout) {
182517
182783
  this.desktopSessionSidebarVisible = !this.desktopSessionSidebarVisible;
@@ -182697,6 +182963,7 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _mess
182697
182963
  docked
182698
182964
  .value=${this.composerValue}
182699
182965
  .attachments=${this.attachments}
182966
+ .suggestions=${this.suggestions}
182700
182967
  .maxAttachmentCount=${this.maxAttachmentCount}
182701
182968
  .maxAttachmentBytes=${this.maxAttachmentBytes}
182702
182969
  .maxTotalAttachmentBytes=${this.maxTotalAttachmentBytes}
@@ -182791,6 +183058,7 @@ _busy4 = new WeakMap();
182791
183058
  _queuedCount2 = new WeakMap();
182792
183059
  _composerValue = new WeakMap();
182793
183060
  _attachments2 = new WeakMap();
183061
+ _suggestions3 = new WeakMap();
182794
183062
  _maxAttachmentCount2 = new WeakMap();
182795
183063
  _maxAttachmentBytes2 = new WeakMap();
182796
183064
  _maxTotalAttachmentBytes2 = new WeakMap();
@@ -182832,6 +183100,7 @@ __decorateElement(_init91, 4, "busy", _busy_dec4, _DeesHarnessChat, _busy4);
182832
183100
  __decorateElement(_init91, 4, "queuedCount", _queuedCount_dec2, _DeesHarnessChat, _queuedCount2);
182833
183101
  __decorateElement(_init91, 4, "composerValue", _composerValue_dec, _DeesHarnessChat, _composerValue);
182834
183102
  __decorateElement(_init91, 4, "attachments", _attachments_dec2, _DeesHarnessChat, _attachments2);
183103
+ __decorateElement(_init91, 4, "suggestions", _suggestions_dec3, _DeesHarnessChat, _suggestions3);
182835
183104
  __decorateElement(_init91, 4, "maxAttachmentCount", _maxAttachmentCount_dec2, _DeesHarnessChat, _maxAttachmentCount2);
182836
183105
  __decorateElement(_init91, 4, "maxAttachmentBytes", _maxAttachmentBytes_dec2, _DeesHarnessChat, _maxAttachmentBytes2);
182837
183106
  __decorateElement(_init91, 4, "maxTotalAttachmentBytes", _maxTotalAttachmentBytes_dec2, _DeesHarnessChat, _maxTotalAttachmentBytes2);
@@ -207513,7 +207782,7 @@ init_group_runtime();
207513
207782
  // ts_web/00_commitinfo_data.ts
207514
207783
  var commitinfo = {
207515
207784
  name: "@design.estate/dees-catalog",
207516
- version: "6.8.2",
207785
+ version: "6.9.1",
207517
207786
  description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
207518
207787
  };
207519
207788
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '6.8.2',
6
+ version: '6.9.1',
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, IHarnessComposerOption, IHarnessMessage, IHarnessPermissionRequest, IHarnessQuestionRequest, IHarnessIntelligenceExchange, IHarnessScratchpad, IHarnessSessionMetrics, IHarnessStatus, IHarnessTodoItem, IHarnessUsage, THarnessStreamDelta } from '../interfaces.js';
2
+ import type { IHarnessAttachment, IHarnessComposerOption, IHarnessComposerSuggestion, 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,7 @@ export declare class DeesHarnessChat extends DeesElement {
58
58
  accessor queuedCount: number;
59
59
  accessor composerValue: string;
60
60
  accessor attachments: IHarnessAttachment[];
61
+ accessor suggestions: IHarnessComposerSuggestion[];
61
62
  accessor maxAttachmentCount: number;
62
63
  accessor maxAttachmentBytes: number;
63
64
  accessor maxTotalAttachmentBytes: number;