@design.estate/dees-catalog 6.4.0 → 6.6.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.
@@ -173371,7 +173371,7 @@ var filePathOf = /* @__PURE__ */ __name((call) => inputField(call, "path") || in
173371
173371
  var defaultDescriptors = [
173372
173372
  {
173373
173373
  kind: "terminal",
173374
- names: ["run_command", "bash", "shell", "exec"],
173374
+ names: ["run_command", "run_shell", "bash", "shell", "exec"],
173375
173375
  label: "Shell",
173376
173376
  icon: "lucide:Terminal",
173377
173377
  subtitle: /* @__PURE__ */ __name((call) => {
@@ -179141,11 +179141,12 @@ var _DeesHarnessMessageList = class _DeesHarnessMessageList extends (_a86 = Dees
179141
179141
  this.lastObservedScrollTop = top;
179142
179142
  }, "handleScroll"));
179143
179143
  }
179144
- /** messages and permissions merged chronologically (stable ids as keys) */
179144
+ /** Messages and requests merged chronologically (stable ids as keys). */
179145
179145
  get timelineItems() {
179146
- const items = this.messages.map((message2) => ({
179146
+ const items = this.messages.map((message2, insertionIndex) => ({
179147
179147
  kind: "message",
179148
179148
  time: message2.createdAt || 0,
179149
+ insertionIndex,
179149
179150
  key: `message:${message2.id}`,
179150
179151
  message: message2,
179151
179152
  toolLayout: message2.toolCall ? this.toolRegistry.resolveLayout(message2.toolCall) : null
@@ -179156,6 +179157,7 @@ var _DeesHarnessMessageList = class _DeesHarnessMessageList extends (_a86 = Dees
179156
179157
  // pending requests pin to the end (action required); answered ones
179157
179158
  // freeze at their response time in the flow
179158
179159
  time: request.response ? request.respondedAt ?? request.createdAt ?? 0 : Number.MAX_SAFE_INTEGER,
179160
+ insertionIndex: items.length,
179159
179161
  key: `permission:${request.id}`,
179160
179162
  request
179161
179163
  });
@@ -179164,11 +179166,23 @@ var _DeesHarnessMessageList = class _DeesHarnessMessageList extends (_a86 = Dees
179164
179166
  items.push({
179165
179167
  kind: "question",
179166
179168
  time: question.response ? question.respondedAt ?? question.createdAt ?? 0 : Number.MAX_SAFE_INTEGER,
179169
+ insertionIndex: items.length,
179167
179170
  key: `question:${question.id}`,
179168
179171
  question
179169
179172
  });
179170
179173
  }
179171
- return items.sort((left, right) => left.time - right.time);
179174
+ items.sort((left, right) => left.time - right.time || left.insertionIndex - right.insertionIndex);
179175
+ const orderedSlots = [];
179176
+ const orderedMessages = [];
179177
+ for (const [index3, item] of items.entries()) {
179178
+ if (item.kind === "message" && Number.isSafeInteger(item.message.order?.messageIndex) && Number(item.message.order?.messageIndex) >= 0 && Number.isSafeInteger(item.message.order?.partIndex) && Number(item.message.order?.partIndex) >= 0) {
179179
+ orderedSlots.push(index3);
179180
+ orderedMessages.push(item);
179181
+ }
179182
+ }
179183
+ orderedMessages.sort((left, right) => left.message.order.messageIndex - right.message.order.messageIndex || left.message.order.partIndex - right.message.order.partIndex || left.insertionIndex - right.insertionIndex);
179184
+ for (const [index3, slot] of orderedSlots.entries()) items[slot] = orderedMessages[index3];
179185
+ return items;
179172
179186
  }
179173
179187
  buildTimelineRenderItems() {
179174
179188
  const items = this.timelineItems;
@@ -179780,11 +179794,11 @@ var demoFunc62 = /* @__PURE__ */ __name(() => b2`
179780
179794
  init_dist_ts26();
179781
179795
  init_theme();
179782
179796
  init_dees_icon();
179783
- 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;
179797
+ 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;
179784
179798
  var toDropdownOptions = /* @__PURE__ */ __name((values) => values.map((value2) => ({ option: value2, key: value2 })), "toDropdownOptions");
179785
179799
  var toLabeledDropdownOptions = /* @__PURE__ */ __name((values) => values.map((value2) => ({ option: value2.label, key: value2.value })), "toLabeledDropdownOptions");
179786
179800
  _DeesHarnessComposer_decorators = [customElement("dees-harness-composer")];
179787
- 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) {
179801
+ 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) {
179788
179802
  constructor() {
179789
179803
  super(...arguments);
179790
179804
  __privateAdd(this, _value17, __runInitializers(_init88, 8, this, "")), __runInitializers(_init88, 11, this);
@@ -179796,15 +179810,16 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
179796
179810
  __privateAdd(this, _attachments, __runInitializers(_init88, 32, this, [])), __runInitializers(_init88, 35, this);
179797
179811
  __privateAdd(this, _maxAttachmentBytes, __runInitializers(_init88, 36, this, harnessMaxAttachmentBytes)), __runInitializers(_init88, 39, this);
179798
179812
  __privateAdd(this, _maxTotalAttachmentBytes, __runInitializers(_init88, 40, this, harnessMaxTotalAttachmentBytes)), __runInitializers(_init88, 43, this);
179799
- __privateAdd(this, _account, __runInitializers(_init88, 44, this, "")), __runInitializers(_init88, 47, this);
179800
- __privateAdd(this, _accountOptions, __runInitializers(_init88, 48, this, [])), __runInitializers(_init88, 51, this);
179801
- __privateAdd(this, _model, __runInitializers(_init88, 52, this, "")), __runInitializers(_init88, 55, this);
179802
- __privateAdd(this, _modelOptions, __runInitializers(_init88, 56, this, [])), __runInitializers(_init88, 59, this);
179803
- __privateAdd(this, _reasoningEffort, __runInitializers(_init88, 60, this, "")), __runInitializers(_init88, 63, this);
179804
- __privateAdd(this, _effortOptions, __runInitializers(_init88, 64, this, [])), __runInitializers(_init88, 67, this);
179805
- __privateAdd(this, _mode2, __runInitializers(_init88, 68, this, "")), __runInitializers(_init88, 71, this);
179806
- __privateAdd(this, _modeOptions, __runInitializers(_init88, 72, this, [])), __runInitializers(_init88, 75, this);
179807
- __privateAdd(this, _showModelControls, __runInitializers(_init88, 76, this, true)), __runInitializers(_init88, 79, this);
179813
+ __privateAdd(this, _maxAttachmentCount, __runInitializers(_init88, 44, this, Number.POSITIVE_INFINITY)), __runInitializers(_init88, 47, this);
179814
+ __privateAdd(this, _account, __runInitializers(_init88, 48, this, "")), __runInitializers(_init88, 51, this);
179815
+ __privateAdd(this, _accountOptions, __runInitializers(_init88, 52, this, [])), __runInitializers(_init88, 55, this);
179816
+ __privateAdd(this, _model, __runInitializers(_init88, 56, this, "")), __runInitializers(_init88, 59, this);
179817
+ __privateAdd(this, _modelOptions, __runInitializers(_init88, 60, this, [])), __runInitializers(_init88, 63, this);
179818
+ __privateAdd(this, _reasoningEffort, __runInitializers(_init88, 64, this, "")), __runInitializers(_init88, 67, this);
179819
+ __privateAdd(this, _effortOptions, __runInitializers(_init88, 68, this, [])), __runInitializers(_init88, 71, this);
179820
+ __privateAdd(this, _mode2, __runInitializers(_init88, 72, this, "")), __runInitializers(_init88, 75, this);
179821
+ __privateAdd(this, _modeOptions, __runInitializers(_init88, 76, this, [])), __runInitializers(_init88, 79, this);
179822
+ __privateAdd(this, _showModelControls, __runInitializers(_init88, 80, this, true)), __runInitializers(_init88, 83, this);
179808
179823
  // ------------------------------------------------------------------ input
179809
179824
  __publicField(this, "handleTextInput", /* @__PURE__ */ __name((event) => {
179810
179825
  this.value = event.currentTarget.value;
@@ -179852,6 +179867,7 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
179852
179867
  event.preventDefault();
179853
179868
  void this.addFiles(files);
179854
179869
  }, "handleDrop"));
179870
+ __publicField(this, "attachmentAdditionTail", Promise.resolve());
179855
179871
  }
179856
179872
  async focusPrompt() {
179857
179873
  await this.updateComplete;
@@ -180007,12 +180023,23 @@ var _DeesHarnessComposer = class _DeesHarnessComposer extends (_a87 = DeesElemen
180007
180023
  textarea.style.height = "auto";
180008
180024
  textarea.style.height = `${Math.min(textarea.scrollHeight, window.innerHeight * 0.4)}px`;
180009
180025
  }
180010
- async addFiles(fileList) {
180026
+ addFiles(fileList) {
180011
180027
  const files = Array.from(fileList ?? []);
180012
- if (!files.length) return;
180028
+ if (!files.length) return Promise.resolve();
180029
+ const addition = this.attachmentAdditionTail.then(() => this.addFilesSequential(files));
180030
+ this.attachmentAdditionTail = addition.catch(() => void 0);
180031
+ return addition;
180032
+ }
180033
+ async addFilesSequential(files) {
180013
180034
  const added = [];
180014
180035
  let totalBytes = this.attachments.reduce((sum, attachment) => sum + attachment.size, 0);
180015
180036
  for (const file of files) {
180037
+ if (this.attachments.length + added.length >= this.maxAttachmentCount) {
180038
+ this.emit("harness-attachment-error", {
180039
+ message: `A maximum of ${this.maxAttachmentCount} attachments is allowed.`
180040
+ });
180041
+ break;
180042
+ }
180016
180043
  const mediaType = harnessMediaTypeForFile(file);
180017
180044
  if (file.size > this.maxAttachmentBytes) {
180018
180045
  this.emit("harness-attachment-error", {
@@ -180084,6 +180111,7 @@ _queuedCount = new WeakMap();
180084
180111
  _attachments = new WeakMap();
180085
180112
  _maxAttachmentBytes = new WeakMap();
180086
180113
  _maxTotalAttachmentBytes = new WeakMap();
180114
+ _maxAttachmentCount = new WeakMap();
180087
180115
  _account = new WeakMap();
180088
180116
  _accountOptions = new WeakMap();
180089
180117
  _model = new WeakMap();
@@ -180102,6 +180130,7 @@ __decorateElement(_init88, 4, "queuedCount", _queuedCount_dec, _DeesHarnessCompo
180102
180130
  __decorateElement(_init88, 4, "attachments", _attachments_dec, _DeesHarnessComposer, _attachments);
180103
180131
  __decorateElement(_init88, 4, "maxAttachmentBytes", _maxAttachmentBytes_dec, _DeesHarnessComposer, _maxAttachmentBytes);
180104
180132
  __decorateElement(_init88, 4, "maxTotalAttachmentBytes", _maxTotalAttachmentBytes_dec, _DeesHarnessComposer, _maxTotalAttachmentBytes);
180133
+ __decorateElement(_init88, 4, "maxAttachmentCount", _maxAttachmentCount_dec, _DeesHarnessComposer, _maxAttachmentCount);
180105
180134
  __decorateElement(_init88, 4, "account", _account_dec, _DeesHarnessComposer, _account);
180106
180135
  __decorateElement(_init88, 4, "accountOptions", _accountOptions_dec, _DeesHarnessComposer, _accountOptions);
180107
180136
  __decorateElement(_init88, 4, "model", _model_dec, _DeesHarnessComposer, _model);
@@ -181413,9 +181442,9 @@ var DeesHarnessUsage = _DeesHarnessUsage;
181413
181442
  init_dist_ts26();
181414
181443
  init_theme();
181415
181444
  init_dees_icon();
181416
- 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;
181445
+ 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;
181417
181446
  _DeesHarnessChat_decorators = [customElement("dees-harness-chat")];
181418
- 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) {
181447
+ 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) {
181419
181448
  constructor() {
181420
181449
  super(...arguments);
181421
181450
  __privateAdd(this, _messages2, __runInitializers(_init91, 8, this, [])), __runInitializers(_init91, 11, this);
@@ -181448,15 +181477,18 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _mess
181448
181477
  __privateAdd(this, _queuedCount2, __runInitializers(_init91, 112, this, 0)), __runInitializers(_init91, 115, this);
181449
181478
  __privateAdd(this, _composerValue, __runInitializers(_init91, 116, this, "")), __runInitializers(_init91, 119, this);
181450
181479
  __privateAdd(this, _attachments2, __runInitializers(_init91, 120, this, [])), __runInitializers(_init91, 123, this);
181451
- __privateAdd(this, _account2, __runInitializers(_init91, 124, this, "")), __runInitializers(_init91, 127, this);
181452
- __privateAdd(this, _accountOptions2, __runInitializers(_init91, 128, this, [])), __runInitializers(_init91, 131, this);
181453
- __privateAdd(this, _model2, __runInitializers(_init91, 132, this, "")), __runInitializers(_init91, 135, this);
181454
- __privateAdd(this, _modelOptions2, __runInitializers(_init91, 136, this, [])), __runInitializers(_init91, 139, this);
181455
- __privateAdd(this, _reasoningEffort2, __runInitializers(_init91, 140, this, "")), __runInitializers(_init91, 143, this);
181456
- __privateAdd(this, _effortOptions2, __runInitializers(_init91, 144, this, [])), __runInitializers(_init91, 147, this);
181457
- __privateAdd(this, _mode3, __runInitializers(_init91, 148, this, "")), __runInitializers(_init91, 151, this);
181458
- __privateAdd(this, _modeOptions2, __runInitializers(_init91, 152, this, [])), __runInitializers(_init91, 155, this);
181459
- __privateAdd(this, _toolRegistry6, __runInitializers(_init91, 156, this, DeesHarnessToolRegistry.default)), __runInitializers(_init91, 159, this);
181480
+ __privateAdd(this, _maxAttachmentCount2, __runInitializers(_init91, 124, this, Number.POSITIVE_INFINITY)), __runInitializers(_init91, 127, this);
181481
+ __privateAdd(this, _maxAttachmentBytes2, __runInitializers(_init91, 128, this, harnessMaxAttachmentBytes)), __runInitializers(_init91, 131, this);
181482
+ __privateAdd(this, _maxTotalAttachmentBytes2, __runInitializers(_init91, 132, this, harnessMaxTotalAttachmentBytes)), __runInitializers(_init91, 135, this);
181483
+ __privateAdd(this, _account2, __runInitializers(_init91, 136, this, "")), __runInitializers(_init91, 139, this);
181484
+ __privateAdd(this, _accountOptions2, __runInitializers(_init91, 140, this, [])), __runInitializers(_init91, 143, this);
181485
+ __privateAdd(this, _model2, __runInitializers(_init91, 144, this, "")), __runInitializers(_init91, 147, this);
181486
+ __privateAdd(this, _modelOptions2, __runInitializers(_init91, 148, this, [])), __runInitializers(_init91, 151, this);
181487
+ __privateAdd(this, _reasoningEffort2, __runInitializers(_init91, 152, this, "")), __runInitializers(_init91, 155, this);
181488
+ __privateAdd(this, _effortOptions2, __runInitializers(_init91, 156, this, [])), __runInitializers(_init91, 159, this);
181489
+ __privateAdd(this, _mode3, __runInitializers(_init91, 160, this, "")), __runInitializers(_init91, 163, this);
181490
+ __privateAdd(this, _modeOptions2, __runInitializers(_init91, 164, this, [])), __runInitializers(_init91, 167, this);
181491
+ __privateAdd(this, _toolRegistry6, __runInitializers(_init91, 168, this, DeesHarnessToolRegistry.default)), __runInitializers(_init91, 171, this);
181460
181492
  __publicField(this, "toggleSessionSidebar", /* @__PURE__ */ __name(() => {
181461
181493
  if (!this.narrowSessionLayout) {
181462
181494
  this.desktopSessionSidebarVisible = !this.desktopSessionSidebarVisible;
@@ -181642,6 +181674,9 @@ var _DeesHarnessChat = class _DeesHarnessChat extends (_a90 = DeesElement, _mess
181642
181674
  docked
181643
181675
  .value=${this.composerValue}
181644
181676
  .attachments=${this.attachments}
181677
+ .maxAttachmentCount=${this.maxAttachmentCount}
181678
+ .maxAttachmentBytes=${this.maxAttachmentBytes}
181679
+ .maxTotalAttachmentBytes=${this.maxTotalAttachmentBytes}
181645
181680
  .disabled=${this.disabled}
181646
181681
  .busy=${this.busy || this.status.type === "busy"}
181647
181682
  .queuedCount=${this.queuedCount}
@@ -181733,6 +181768,9 @@ _busy4 = new WeakMap();
181733
181768
  _queuedCount2 = new WeakMap();
181734
181769
  _composerValue = new WeakMap();
181735
181770
  _attachments2 = new WeakMap();
181771
+ _maxAttachmentCount2 = new WeakMap();
181772
+ _maxAttachmentBytes2 = new WeakMap();
181773
+ _maxTotalAttachmentBytes2 = new WeakMap();
181736
181774
  _account2 = new WeakMap();
181737
181775
  _accountOptions2 = new WeakMap();
181738
181776
  _model2 = new WeakMap();
@@ -181771,6 +181809,9 @@ __decorateElement(_init91, 4, "busy", _busy_dec4, _DeesHarnessChat, _busy4);
181771
181809
  __decorateElement(_init91, 4, "queuedCount", _queuedCount_dec2, _DeesHarnessChat, _queuedCount2);
181772
181810
  __decorateElement(_init91, 4, "composerValue", _composerValue_dec, _DeesHarnessChat, _composerValue);
181773
181811
  __decorateElement(_init91, 4, "attachments", _attachments_dec2, _DeesHarnessChat, _attachments2);
181812
+ __decorateElement(_init91, 4, "maxAttachmentCount", _maxAttachmentCount_dec2, _DeesHarnessChat, _maxAttachmentCount2);
181813
+ __decorateElement(_init91, 4, "maxAttachmentBytes", _maxAttachmentBytes_dec2, _DeesHarnessChat, _maxAttachmentBytes2);
181814
+ __decorateElement(_init91, 4, "maxTotalAttachmentBytes", _maxTotalAttachmentBytes_dec2, _DeesHarnessChat, _maxTotalAttachmentBytes2);
181774
181815
  __decorateElement(_init91, 4, "account", _account_dec2, _DeesHarnessChat, _account2);
181775
181816
  __decorateElement(_init91, 4, "accountOptions", _accountOptions_dec2, _DeesHarnessChat, _accountOptions2);
181776
181817
  __decorateElement(_init91, 4, "model", _model_dec2, _DeesHarnessChat, _model2);
@@ -205628,7 +205669,7 @@ init_group_runtime();
205628
205669
  // ts_web/00_commitinfo_data.ts
205629
205670
  var commitinfo = {
205630
205671
  name: "@design.estate/dees-catalog",
205631
- version: "6.4.0",
205672
+ version: "6.6.0",
205632
205673
  description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
205633
205674
  };
205634
205675
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '6.4.0',
6
+ version: '6.6.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
@@ -58,6 +58,9 @@ export declare class DeesHarnessChat extends DeesElement {
58
58
  accessor queuedCount: number;
59
59
  accessor composerValue: string;
60
60
  accessor attachments: IHarnessAttachment[];
61
+ accessor maxAttachmentCount: number;
62
+ accessor maxAttachmentBytes: number;
63
+ accessor maxTotalAttachmentBytes: number;
61
64
  accessor account: string;
62
65
  accessor accountOptions: IHarnessComposerOption[];
63
66
  accessor model: string;
@@ -35,7 +35,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
35
35
  import { demoFunc } from './dees-harness-chat.demo.js';
36
36
  import { DeesElement, html, css, customElement, property, state, cssManager, } from '@design.estate/dees-element';
37
37
  import { themeDefaultStyles } from '../../00theme.js';
38
- import { harnessParseTodos } from '../harness.helpers.js';
38
+ import { harnessMaxAttachmentBytes, harnessMaxTotalAttachmentBytes, harnessParseTodos, } from '../harness.helpers.js';
39
39
  import { DeesHarnessToolRegistry } from '../toolregistry.js';
40
40
  import { DeesHarnessMessageList } from '../dees-harness-message-list/dees-harness-message-list.js';
41
41
  import { DeesHarnessComposer } from '../dees-harness-composer/dees-harness-composer.js';
@@ -144,6 +144,15 @@ let DeesHarnessChat = (() => {
144
144
  let _attachments_decorators;
145
145
  let _attachments_initializers = [];
146
146
  let _attachments_extraInitializers = [];
147
+ let _maxAttachmentCount_decorators;
148
+ let _maxAttachmentCount_initializers = [];
149
+ let _maxAttachmentCount_extraInitializers = [];
150
+ let _maxAttachmentBytes_decorators;
151
+ let _maxAttachmentBytes_initializers = [];
152
+ let _maxAttachmentBytes_extraInitializers = [];
153
+ let _maxTotalAttachmentBytes_decorators;
154
+ let _maxTotalAttachmentBytes_initializers = [];
155
+ let _maxTotalAttachmentBytes_extraInitializers = [];
147
156
  let _account_decorators;
148
157
  let _account_initializers = [];
149
158
  let _account_extraInitializers = [];
@@ -204,6 +213,9 @@ let DeesHarnessChat = (() => {
204
213
  _queuedCount_decorators = [property({ type: Number })];
205
214
  _composerValue_decorators = [property()];
206
215
  _attachments_decorators = [property({ attribute: false })];
216
+ _maxAttachmentCount_decorators = [property({ type: Number })];
217
+ _maxAttachmentBytes_decorators = [property({ type: Number })];
218
+ _maxTotalAttachmentBytes_decorators = [property({ type: Number })];
207
219
  _account_decorators = [property()];
208
220
  _accountOptions_decorators = [property({ attribute: false })];
209
221
  _model_decorators = [property()];
@@ -242,6 +254,9 @@ let DeesHarnessChat = (() => {
242
254
  __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);
243
255
  __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);
244
256
  __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);
257
+ __esDecorate(this, null, _maxAttachmentCount_decorators, { kind: "accessor", name: "maxAttachmentCount", static: false, private: false, access: { has: obj => "maxAttachmentCount" in obj, get: obj => obj.maxAttachmentCount, set: (obj, value) => { obj.maxAttachmentCount = value; } }, metadata: _metadata }, _maxAttachmentCount_initializers, _maxAttachmentCount_extraInitializers);
258
+ __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);
259
+ __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);
245
260
  __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
261
  __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);
247
262
  __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);
@@ -352,7 +367,16 @@ let DeesHarnessChat = (() => {
352
367
  #attachments_accessor_storage = (__runInitializers(this, _composerValue_extraInitializers), __runInitializers(this, _attachments_initializers, []));
353
368
  get attachments() { return this.#attachments_accessor_storage; }
354
369
  set attachments(value) { this.#attachments_accessor_storage = value; }
355
- #account_accessor_storage = (__runInitializers(this, _attachments_extraInitializers), __runInitializers(this, _account_initializers, ''));
370
+ #maxAttachmentCount_accessor_storage = (__runInitializers(this, _attachments_extraInitializers), __runInitializers(this, _maxAttachmentCount_initializers, Number.POSITIVE_INFINITY));
371
+ get maxAttachmentCount() { return this.#maxAttachmentCount_accessor_storage; }
372
+ set maxAttachmentCount(value) { this.#maxAttachmentCount_accessor_storage = value; }
373
+ #maxAttachmentBytes_accessor_storage = (__runInitializers(this, _maxAttachmentCount_extraInitializers), __runInitializers(this, _maxAttachmentBytes_initializers, harnessMaxAttachmentBytes));
374
+ get maxAttachmentBytes() { return this.#maxAttachmentBytes_accessor_storage; }
375
+ set maxAttachmentBytes(value) { this.#maxAttachmentBytes_accessor_storage = value; }
376
+ #maxTotalAttachmentBytes_accessor_storage = (__runInitializers(this, _maxAttachmentBytes_extraInitializers), __runInitializers(this, _maxTotalAttachmentBytes_initializers, harnessMaxTotalAttachmentBytes));
377
+ get maxTotalAttachmentBytes() { return this.#maxTotalAttachmentBytes_accessor_storage; }
378
+ set maxTotalAttachmentBytes(value) { this.#maxTotalAttachmentBytes_accessor_storage = value; }
379
+ #account_accessor_storage = (__runInitializers(this, _maxTotalAttachmentBytes_extraInitializers), __runInitializers(this, _account_initializers, ''));
356
380
  get account() { return this.#account_accessor_storage; }
357
381
  set account(value) { this.#account_accessor_storage = value; }
358
382
  #accountOptions_accessor_storage = (__runInitializers(this, _account_extraInitializers), __runInitializers(this, _accountOptions_initializers, []));
@@ -835,6 +859,9 @@ let DeesHarnessChat = (() => {
835
859
  docked
836
860
  .value=${this.composerValue}
837
861
  .attachments=${this.attachments}
862
+ .maxAttachmentCount=${this.maxAttachmentCount}
863
+ .maxAttachmentBytes=${this.maxAttachmentBytes}
864
+ .maxTotalAttachmentBytes=${this.maxTotalAttachmentBytes}
838
865
  .disabled=${this.disabled}
839
866
  .busy=${this.busy || this.status.type === 'busy'}
840
867
  .queuedCount=${this.queuedCount}
@@ -910,4 +937,4 @@ let DeesHarnessChat = (() => {
910
937
  return DeesHarnessChat = _classThis;
911
938
  })();
912
939
  export { DeesHarnessChat };
913
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNoYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jaGF0L2RlZXMtaGFybmVzcy1jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBZ0J0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8saUVBQWlFLENBQUM7QUFDekUsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sOENBQThDLENBQUM7QUFTdEQ7Ozs7OztHQU1HO0lBRVUsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0JBQW5CLFNBQVEsV0FBVzs7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
940
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNoYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1jaGF0L2RlZXMtaGFybmVzcy1jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBZ0J0RCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLDhCQUE4QixFQUM5QixpQkFBaUIsR0FDbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8saUVBQWlFLENBQUM7QUFDekUsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sOENBQThDLENBQUM7QUFTdEQ7Ozs7OztHQU1HO0lBRVUsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -45,6 +45,7 @@ export declare class DeesHarnessComposer extends DeesElement {
45
45
  accessor attachments: IHarnessAttachment[];
46
46
  accessor maxAttachmentBytes: number;
47
47
  accessor maxTotalAttachmentBytes: number;
48
+ accessor maxAttachmentCount: number;
48
49
  accessor account: string;
49
50
  accessor accountOptions: IHarnessComposerOption[];
50
51
  accessor model: string;
@@ -71,7 +72,9 @@ export declare class DeesHarnessComposer extends DeesElement {
71
72
  private handleDragOver;
72
73
  private handleDragLeave;
73
74
  private handleDrop;
75
+ private attachmentAdditionTail;
74
76
  addFiles(fileList: FileList | File[] | null): Promise<void>;
77
+ private addFilesSequential;
75
78
  private send;
76
79
  private emitInput;
77
80
  private emitAttachments;
@@ -86,6 +86,9 @@ let DeesHarnessComposer = (() => {
86
86
  let _maxTotalAttachmentBytes_decorators;
87
87
  let _maxTotalAttachmentBytes_initializers = [];
88
88
  let _maxTotalAttachmentBytes_extraInitializers = [];
89
+ let _maxAttachmentCount_decorators;
90
+ let _maxAttachmentCount_initializers = [];
91
+ let _maxAttachmentCount_extraInitializers = [];
89
92
  let _account_decorators;
90
93
  let _account_initializers = [];
91
94
  let _account_extraInitializers = [];
@@ -126,6 +129,7 @@ let DeesHarnessComposer = (() => {
126
129
  _attachments_decorators = [property({ attribute: false })];
127
130
  _maxAttachmentBytes_decorators = [property({ type: Number })];
128
131
  _maxTotalAttachmentBytes_decorators = [property({ type: Number })];
132
+ _maxAttachmentCount_decorators = [property({ type: Number })];
129
133
  _account_decorators = [property()];
130
134
  _accountOptions_decorators = [property({ attribute: false })];
131
135
  _model_decorators = [property()];
@@ -144,6 +148,7 @@ let DeesHarnessComposer = (() => {
144
148
  __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);
145
149
  __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);
146
150
  __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);
151
+ __esDecorate(this, null, _maxAttachmentCount_decorators, { kind: "accessor", name: "maxAttachmentCount", static: false, private: false, access: { has: obj => "maxAttachmentCount" in obj, get: obj => obj.maxAttachmentCount, set: (obj, value) => { obj.maxAttachmentCount = value; } }, metadata: _metadata }, _maxAttachmentCount_initializers, _maxAttachmentCount_extraInitializers);
147
152
  __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
153
  __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);
149
154
  __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);
@@ -199,7 +204,10 @@ let DeesHarnessComposer = (() => {
199
204
  #maxTotalAttachmentBytes_accessor_storage = (__runInitializers(this, _maxAttachmentBytes_extraInitializers), __runInitializers(this, _maxTotalAttachmentBytes_initializers, harnessMaxTotalAttachmentBytes));
200
205
  get maxTotalAttachmentBytes() { return this.#maxTotalAttachmentBytes_accessor_storage; }
201
206
  set maxTotalAttachmentBytes(value) { this.#maxTotalAttachmentBytes_accessor_storage = value; }
202
- #account_accessor_storage = (__runInitializers(this, _maxTotalAttachmentBytes_extraInitializers), __runInitializers(this, _account_initializers, ''));
207
+ #maxAttachmentCount_accessor_storage = (__runInitializers(this, _maxTotalAttachmentBytes_extraInitializers), __runInitializers(this, _maxAttachmentCount_initializers, Number.POSITIVE_INFINITY));
208
+ get maxAttachmentCount() { return this.#maxAttachmentCount_accessor_storage; }
209
+ set maxAttachmentCount(value) { this.#maxAttachmentCount_accessor_storage = value; }
210
+ #account_accessor_storage = (__runInitializers(this, _maxAttachmentCount_extraInitializers), __runInitializers(this, _account_initializers, ''));
203
211
  get account() { return this.#account_accessor_storage; }
204
212
  set account(value) { this.#account_accessor_storage = value; }
205
213
  #accountOptions_accessor_storage = (__runInitializers(this, _account_extraInitializers), __runInitializers(this, _accountOptions_initializers, []));
@@ -688,13 +696,25 @@ let DeesHarnessComposer = (() => {
688
696
  event.preventDefault();
689
697
  void this.addFiles(files);
690
698
  };
691
- async addFiles(fileList) {
699
+ attachmentAdditionTail = Promise.resolve();
700
+ addFiles(fileList) {
692
701
  const files = Array.from(fileList ?? []);
693
702
  if (!files.length)
694
- return;
703
+ return Promise.resolve();
704
+ const addition = this.attachmentAdditionTail.then(() => this.addFilesSequential(files));
705
+ this.attachmentAdditionTail = addition.catch(() => undefined);
706
+ return addition;
707
+ }
708
+ async addFilesSequential(files) {
695
709
  const added = [];
696
710
  let totalBytes = this.attachments.reduce((sum, attachment) => sum + attachment.size, 0);
697
711
  for (const file of files) {
712
+ if (this.attachments.length + added.length >= this.maxAttachmentCount) {
713
+ this.emit('harness-attachment-error', {
714
+ message: `A maximum of ${this.maxAttachmentCount} attachments is allowed.`,
715
+ });
716
+ break;
717
+ }
698
718
  const mediaType = harnessMediaTypeForFile(file);
699
719
  if (file.size > this.maxAttachmentBytes) {
700
720
  this.emit('harness-attachment-error', {
@@ -764,4 +784,4 @@ let DeesHarnessComposer = (() => {
764
784
  return DeesHarnessComposer = _classThis;
765
785
  })();
766
786
  export { DeesHarnessComposer };
767
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3MtY29tcG9zZXIvZGVlcy1oYXJuZXNzLWNvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFNdEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLGdFQUFnRSxDQUFDO0FBQ3hFLE9BQU8sOENBQThDLENBQUM7QUFVdEQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWdCLEVBQXFCLEVBQUUsQ0FDaEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV6RCxNQUFNLHdCQUF3QixHQUFHLENBQUMsTUFBZ0MsRUFBcUIsRUFBRSxDQUN2RixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FB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
787
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3MtY29tcG9zZXIvZGVlcy1oYXJuZXNzLWNvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFNdEQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLGdFQUFnRSxDQUFDO0FBQ3hFLE9BQU8sOENBQThDLENBQUM7QUFVdEQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQWdCLEVBQXFCLEVBQUUsQ0FDaEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV6RCxNQUFNLHdCQUF3QixHQUFHLENBQUMsTUFBZ0MsRUFBcUIsRUFBRSxDQUN2RixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FB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
@@ -46,7 +46,7 @@ export declare class DeesHarnessMessageList extends DeesElement {
46
46
  private nextToolGroupId;
47
47
  private timelineRenderItems;
48
48
  static styles: import("@design.estate/dees-element").CSSResult[];
49
- /** messages and permissions merged chronologically (stable ids as keys) */
49
+ /** Messages and requests merged chronologically (stable ids as keys). */
50
50
  private get timelineItems();
51
51
  private buildTimelineRenderItems;
52
52
  willUpdate(changedProperties: Map<PropertyKey, unknown>): void;
@@ -393,11 +393,12 @@ let DeesHarnessMessageList = (() => {
393
393
 
394
394
  `,
395
395
  ];
396
- /** messages and permissions merged chronologically (stable ids as keys) */
396
+ /** Messages and requests merged chronologically (stable ids as keys). */
397
397
  get timelineItems() {
398
- const items = this.messages.map((message) => ({
398
+ const items = this.messages.map((message, insertionIndex) => ({
399
399
  kind: 'message',
400
400
  time: message.createdAt || 0,
401
+ insertionIndex,
401
402
  key: `message:${message.id}`,
402
403
  message,
403
404
  toolLayout: message.toolCall ? this.toolRegistry.resolveLayout(message.toolCall) : null,
@@ -410,6 +411,7 @@ let DeesHarnessMessageList = (() => {
410
411
  time: request.response
411
412
  ? (request.respondedAt ?? request.createdAt ?? 0)
412
413
  : Number.MAX_SAFE_INTEGER,
414
+ insertionIndex: items.length,
413
415
  key: `permission:${request.id}`,
414
416
  request,
415
417
  });
@@ -420,11 +422,33 @@ let DeesHarnessMessageList = (() => {
420
422
  time: question.response
421
423
  ? (question.respondedAt ?? question.createdAt ?? 0)
422
424
  : Number.MAX_SAFE_INTEGER,
425
+ insertionIndex: items.length,
423
426
  key: `question:${question.id}`,
424
427
  question,
425
428
  });
426
429
  }
427
- return items.sort((left, right) => left.time - right.time);
430
+ items.sort((left, right) => left.time - right.time || left.insertionIndex - right.insertionIndex);
431
+ // Keep ancillary and legacy-producer chronology fixed, then replace only
432
+ // the slots occupied by explicitly ordered messages. This stays transitive
433
+ // while source order wins even when source timestamps are identical or stale.
434
+ const orderedSlots = [];
435
+ const orderedMessages = [];
436
+ for (const [index, item] of items.entries()) {
437
+ if (item.kind === 'message'
438
+ && Number.isSafeInteger(item.message.order?.messageIndex)
439
+ && Number(item.message.order?.messageIndex) >= 0
440
+ && Number.isSafeInteger(item.message.order?.partIndex)
441
+ && Number(item.message.order?.partIndex) >= 0) {
442
+ orderedSlots.push(index);
443
+ orderedMessages.push(item);
444
+ }
445
+ }
446
+ orderedMessages.sort((left, right) => (left.message.order.messageIndex - right.message.order.messageIndex
447
+ || left.message.order.partIndex - right.message.order.partIndex
448
+ || left.insertionIndex - right.insertionIndex));
449
+ for (const [index, slot] of orderedSlots.entries())
450
+ items[slot] = orderedMessages[index];
451
+ return items;
428
452
  }
429
453
  buildTimelineRenderItems() {
430
454
  const items = this.timelineItems;
@@ -856,4 +880,4 @@ let DeesHarnessMessageList = (() => {
856
880
  return DeesHarnessMessageList = _classThis;
857
881
  })();
858
882
  export { DeesHarnessMessageList };
859
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLW1lc3NhZ2UtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLW1lc3NhZ2UtbGlzdC9kZWVzLWhhcm5lc3MtbWVzc2FnZS1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQTJCLE1BQU0sb0JBQW9CLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTywrQ0FBK0MsQ0FBQztBQUN2RCxPQUFPLGlFQUFpRSxDQUFDO0FBQ3pFLE9BQU8sNkRBQTZELENBQUM7QUFDckUsT0FBTyw4Q0FBOEMsQ0FBQztBQUV0RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBUTlCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQXdCMUI7Ozs7OztHQU1HO0lBRVUsc0JBQXNCOzRCQURsQyxhQUFhLENBQUMsMkJBQTJCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQ0FBbkIsU0FBUSxXQUFXOzs7O29DQUlwRCxRQUFRLENBQUMs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
883
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLW1lc3NhZ2UtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLW1lc3NhZ2UtbGlzdC9kZWVzLWhhcm5lc3MtbWVzc2FnZS1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQTJCLE1BQU0sb0JBQW9CLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTywrQ0FBK0MsQ0FBQztBQUN2RCxPQUFPLGlFQUFpRSxDQUFDO0FBQ3pFLE9BQU8sNkRBQTZELENBQUM7QUFDckUsT0FBTyw4Q0FBOEMsQ0FBQztBQUV0RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBUTlCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQXFDMUI7Ozs7OztHQU1HO0lBRVUsc0JBQXNCOzRCQURsQyxhQUFhLENBQUMsMkJBQTJCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQ0FBbkIsU0FBUSxXQUFXOzs7O29DQUlwRCxRQUFRLENBQUMs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
@@ -36,6 +36,11 @@ export interface IHarnessUsage {
36
36
  cacheReadTokens?: number;
37
37
  cacheWriteTokens?: number;
38
38
  }
39
+ /** Stable source position for transcript entries derived from ordered messages and parts. */
40
+ export interface IHarnessTranscriptOrder {
41
+ messageIndex: number;
42
+ partIndex: number;
43
+ }
39
44
  /** Session-level token facts. Unknown metrics stay undefined. */
40
45
  export interface IHarnessSessionMetrics {
41
46
  /** Cumulative token usage across the complete session. */
@@ -84,6 +89,8 @@ export interface IHarnessMessage {
84
89
  text: string;
85
90
  /** epoch ms */
86
91
  createdAt: number;
92
+ /** Preferred chronology; timestamps remain display metadata when this is present. */
93
+ order?: IHarnessTranscriptOrder;
87
94
  updatedAt?: number;
88
95
  /** gates the streaming cursor and markdown parse throttling */
89
96
  streaming?: boolean;
@@ -21,7 +21,7 @@ const filePathOf = (call) => inputField(call, 'path') || inputField(call, 'fileP
21
21
  const defaultDescriptors = [
22
22
  {
23
23
  kind: 'terminal',
24
- names: ['run_command', 'bash', 'shell', 'exec'],
24
+ names: ['run_command', 'run_shell', 'bash', 'shell', 'exec'],
25
25
  label: 'Shell',
26
26
  icon: 'lucide:Terminal',
27
27
  subtitle: (call) => {
@@ -241,4 +241,4 @@ export class DeesHarnessToolRegistry {
241
241
  return new DeesHarnessToolRegistry(this.descriptors.map((descriptor) => ({ ...descriptor })));
242
242
  }
243
243
  }
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy90b29scmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBc0QzRSxxRUFBcUU7QUFDckUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQzFCLE9BQWUsRUFDdUMsRUFBRTtJQUN4RCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLElBQUksY0FBYyxJQUFJLENBQUMsSUFBSSxjQUFjLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDbEYsT0FBTztRQUNMLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUM7UUFDNUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztLQUM1QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEdBQVcsRUFBVSxFQUFFO0lBQ2pFLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUTtRQUN2RSxDQUFDLENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVk7UUFDN0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBc0IsRUFBRSxHQUFXLEVBQVcsRUFBRTtJQUNoRSxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUks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
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy90b29scmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBc0QzRSxxRUFBcUU7QUFDckUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQzFCLE9BQWUsRUFDdUMsRUFBRTtJQUN4RCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLElBQUksY0FBYyxJQUFJLENBQUMsSUFBSSxjQUFjLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDbEYsT0FBTztRQUNMLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUM7UUFDNUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztLQUM1QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEdBQVcsRUFBVSxFQUFFO0lBQ2pFLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUTtRQUN2RSxDQUFDLENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVk7UUFDN0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBc0IsRUFBRSxHQUFXLEVBQVcsRUFBRTtJQUNoRSxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUks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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "6.4.0",
3
+ "version": "6.6.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
@@ -1809,7 +1809,7 @@ A **session side panel** shows Tasks, Tools & Subagents, Tokens, Session Scratch
1809
1809
 
1810
1810
  #### `DeesHarnessMessageList`
1811
1811
 
1812
- Scrollable streaming-safe log. Keyed repeats keep DOM identity stable; `applyDelta()` routes content updates to the affected message element. Consecutive tool calls use one generic responsive-grid pipeline at their chronological position, partitioned by descriptor layout: compact tools share rows with compact tools, subagents share rows only with subagents, and terminal plus file-write cards span a whole row. Columns respond to transcript content width rather than the viewport, and status changes never regroup cards. Untouched projected subtask cards collapse individually on completion with the normal disclosure animation; other cards retain their descriptor or user-selected disclosure state. The grid adds no second summary or collapse layer. Group and card identity survive front-window eviction while any member remains. Auto-follow responds to streamed growth but does not repeatedly repin while a disclosure shrinks. Permission requests, questions, and nested-stream limits behave as before. Props: `messages`, `permissions`/`permissionsBusy`, `questions`, `status`, `autoFollow`, `hideScrollbar`, `fadeScrollEdges`, `showRoles`, `showTimestamps`, `allowSubtaskStreams`, `emptyTitle`/`emptyText` (+ `slot="empty"`).
1812
+ Scrollable streaming-safe log. Keyed repeats keep DOM identity stable; `applyDelta()` routes content updates to the affected message element. Producers with authoritative source chronology can set `IHarnessMessage.order` to `{ messageIndex, partIndex }`; explicitly ordered messages retain that relative order while timestamps continue to place legacy messages and ancillary cards. Consecutive tool calls use one generic responsive-grid pipeline at their chronological position, partitioned by descriptor layout: compact tools share rows with compact tools, subagents share rows only with subagents, and terminal plus file-write cards span a whole row. Columns respond to transcript content width rather than the viewport, and status changes never regroup cards. Untouched projected subtask cards collapse individually on completion with the normal disclosure animation; other cards retain their descriptor or user-selected disclosure state. The grid adds no second summary or collapse layer. Group and card identity survive front-window eviction while any member remains. Auto-follow responds to streamed growth but does not repeatedly repin while a disclosure shrinks. Permission requests, questions, and nested-stream limits behave as before. Props: `messages`, `permissions`/`permissionsBusy`, `questions`, `status`, `autoFollow`, `hideScrollbar`, `fadeScrollEdges`, `showRoles`, `showTimestamps`, `allowSubtaskStreams`, `emptyTitle`/`emptyText` (+ `slot="empty"`).
1813
1813
 
1814
1814
  #### `DeesHarnessMessage`
1815
1815
 
@@ -1882,7 +1882,7 @@ A question the agent asks mid-run: option buttons with descriptions (single-sele
1882
1882
 
1883
1883
  #### `DeesHarnessComposer`
1884
1884
 
1885
- 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`.
1885
+ Prompt input: autogrow textarea, attachment picker/paste/drag-drop with configurable `maxAttachmentCount`, `maxAttachmentBytes` (10 MB default), and `maxTotalAttachmentBytes` (30 MB default), image/text/binary classification, optional account, model, and reasoning-effort dropdowns, Cmd/Ctrl+Enter to send. Attachment count is unlimited unless the host sets it. `dees-harness-chat` forwards all three limits to its composer. 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`.
1886
1886
 
1887
1887
  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.
1888
1888
 
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '6.4.0',
6
+ version: '6.6.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
  }
@@ -25,7 +25,11 @@ import type {
25
25
  IHarnessUsage,
26
26
  THarnessStreamDelta,
27
27
  } from '../interfaces.js';
28
- import { harnessParseTodos } from '../harness.helpers.js';
28
+ import {
29
+ harnessMaxAttachmentBytes,
30
+ harnessMaxTotalAttachmentBytes,
31
+ harnessParseTodos,
32
+ } from '../harness.helpers.js';
29
33
  import { DeesHarnessToolRegistry } from '../toolregistry.js';
30
34
  import { DeesHarnessMessageList } from '../dees-harness-message-list/dees-harness-message-list.js';
31
35
  import { DeesHarnessComposer } from '../dees-harness-composer/dees-harness-composer.js';
@@ -150,6 +154,15 @@ export class DeesHarnessChat extends DeesElement {
150
154
  @property({ attribute: false })
151
155
  accessor attachments: IHarnessAttachment[] = [];
152
156
 
157
+ @property({ type: Number })
158
+ accessor maxAttachmentCount: number = Number.POSITIVE_INFINITY;
159
+
160
+ @property({ type: Number })
161
+ accessor maxAttachmentBytes: number = harnessMaxAttachmentBytes;
162
+
163
+ @property({ type: Number })
164
+ accessor maxTotalAttachmentBytes: number = harnessMaxTotalAttachmentBytes;
165
+
153
166
  @property()
154
167
  accessor account: string = '';
155
168
 
@@ -646,6 +659,9 @@ export class DeesHarnessChat extends DeesElement {
646
659
  docked
647
660
  .value=${this.composerValue}
648
661
  .attachments=${this.attachments}
662
+ .maxAttachmentCount=${this.maxAttachmentCount}
663
+ .maxAttachmentBytes=${this.maxAttachmentBytes}
664
+ .maxTotalAttachmentBytes=${this.maxTotalAttachmentBytes}
649
665
  .disabled=${this.disabled}
650
666
  .busy=${this.busy || this.status.type === 'busy'}
651
667
  .queuedCount=${this.queuedCount}
@@ -97,6 +97,9 @@ export class DeesHarnessComposer extends DeesElement {
97
97
  @property({ type: Number })
98
98
  accessor maxTotalAttachmentBytes: number = harnessMaxTotalAttachmentBytes;
99
99
 
100
+ @property({ type: Number })
101
+ accessor maxAttachmentCount: number = Number.POSITIVE_INFINITY;
102
+
100
103
  @property()
101
104
  accessor account: string = '';
102
105
 
@@ -598,12 +601,26 @@ export class DeesHarnessComposer extends DeesElement {
598
601
  void this.addFiles(files);
599
602
  };
600
603
 
601
- public async addFiles(fileList: FileList | File[] | null): Promise<void> {
604
+ private attachmentAdditionTail = Promise.resolve();
605
+
606
+ public addFiles(fileList: FileList | File[] | null): Promise<void> {
602
607
  const files = Array.from(fileList ?? []);
603
- if (!files.length) return;
608
+ if (!files.length) return Promise.resolve();
609
+ const addition = this.attachmentAdditionTail.then(() => this.addFilesSequential(files));
610
+ this.attachmentAdditionTail = addition.catch(() => undefined);
611
+ return addition;
612
+ }
613
+
614
+ private async addFilesSequential(files: File[]): Promise<void> {
604
615
  const added: IHarnessAttachment[] = [];
605
616
  let totalBytes = this.attachments.reduce((sum, attachment) => sum + attachment.size, 0);
606
617
  for (const file of files) {
618
+ if (this.attachments.length + added.length >= this.maxAttachmentCount) {
619
+ this.emit('harness-attachment-error', {
620
+ message: `A maximum of ${this.maxAttachmentCount} attachments is allowed.`,
621
+ });
622
+ break;
623
+ }
607
624
  const mediaType = harnessMediaTypeForFile(file);
608
625
  if (file.size > this.maxAttachmentBytes) {
609
626
  this.emit('harness-attachment-error', {
@@ -40,6 +40,7 @@ const pinThresholdPx = 48;
40
40
  type TMessageTimelineItem = {
41
41
  kind: 'message';
42
42
  time: number;
43
+ insertionIndex: number;
43
44
  key: string;
44
45
  message: IHarnessMessage;
45
46
  toolLayout: THarnessToolLayout | null;
@@ -47,8 +48,20 @@ type TMessageTimelineItem = {
47
48
 
48
49
  type TTimelineItem =
49
50
  | TMessageTimelineItem
50
- | { kind: 'permission'; time: number; key: string; request: IHarnessPermissionRequest }
51
- | { kind: 'question'; time: number; key: string; question: IHarnessQuestionRequest };
51
+ | {
52
+ kind: 'permission';
53
+ time: number;
54
+ insertionIndex: number;
55
+ key: string;
56
+ request: IHarnessPermissionRequest;
57
+ }
58
+ | {
59
+ kind: 'question';
60
+ time: number;
61
+ insertionIndex: number;
62
+ key: string;
63
+ question: IHarnessQuestionRequest;
64
+ };
52
65
 
53
66
  interface IToolGroupTimelineItem {
54
67
  kind: 'tool-group';
@@ -309,11 +322,12 @@ export class DeesHarnessMessageList extends DeesElement {
309
322
  `,
310
323
  ];
311
324
 
312
- /** messages and permissions merged chronologically (stable ids as keys) */
325
+ /** Messages and requests merged chronologically (stable ids as keys). */
313
326
  private get timelineItems(): TTimelineItem[] {
314
- const items: TTimelineItem[] = this.messages.map((message) => ({
327
+ const items: TTimelineItem[] = this.messages.map((message, insertionIndex) => ({
315
328
  kind: 'message' as const,
316
329
  time: message.createdAt || 0,
330
+ insertionIndex,
317
331
  key: `message:${message.id}`,
318
332
  message,
319
333
  toolLayout: message.toolCall ? this.toolRegistry.resolveLayout(message.toolCall) : null,
@@ -326,6 +340,7 @@ export class DeesHarnessMessageList extends DeesElement {
326
340
  time: request.response
327
341
  ? (request.respondedAt ?? request.createdAt ?? 0)
328
342
  : Number.MAX_SAFE_INTEGER,
343
+ insertionIndex: items.length,
329
344
  key: `permission:${request.id}`,
330
345
  request,
331
346
  });
@@ -336,11 +351,37 @@ export class DeesHarnessMessageList extends DeesElement {
336
351
  time: question.response
337
352
  ? (question.respondedAt ?? question.createdAt ?? 0)
338
353
  : Number.MAX_SAFE_INTEGER,
354
+ insertionIndex: items.length,
339
355
  key: `question:${question.id}`,
340
356
  question,
341
357
  });
342
358
  }
343
- return items.sort((left, right) => left.time - right.time);
359
+ items.sort((left, right) => left.time - right.time || left.insertionIndex - right.insertionIndex);
360
+
361
+ // Keep ancillary and legacy-producer chronology fixed, then replace only
362
+ // the slots occupied by explicitly ordered messages. This stays transitive
363
+ // while source order wins even when source timestamps are identical or stale.
364
+ const orderedSlots: number[] = [];
365
+ const orderedMessages: TMessageTimelineItem[] = [];
366
+ for (const [index, item] of items.entries()) {
367
+ if (
368
+ item.kind === 'message'
369
+ && Number.isSafeInteger(item.message.order?.messageIndex)
370
+ && Number(item.message.order?.messageIndex) >= 0
371
+ && Number.isSafeInteger(item.message.order?.partIndex)
372
+ && Number(item.message.order?.partIndex) >= 0
373
+ ) {
374
+ orderedSlots.push(index);
375
+ orderedMessages.push(item);
376
+ }
377
+ }
378
+ orderedMessages.sort((left, right) => (
379
+ left.message.order!.messageIndex - right.message.order!.messageIndex
380
+ || left.message.order!.partIndex - right.message.order!.partIndex
381
+ || left.insertionIndex - right.insertionIndex
382
+ ));
383
+ for (const [index, slot] of orderedSlots.entries()) items[slot] = orderedMessages[index]!;
384
+ return items;
344
385
  }
345
386
 
346
387
  private buildTimelineRenderItems(): TTimelineRenderItem[] {
@@ -43,6 +43,12 @@ export interface IHarnessUsage {
43
43
  cacheWriteTokens?: number;
44
44
  }
45
45
 
46
+ /** Stable source position for transcript entries derived from ordered messages and parts. */
47
+ export interface IHarnessTranscriptOrder {
48
+ messageIndex: number;
49
+ partIndex: number;
50
+ }
51
+
46
52
  /** Session-level token facts. Unknown metrics stay undefined. */
47
53
  export interface IHarnessSessionMetrics {
48
54
  /** Cumulative token usage across the complete session. */
@@ -98,6 +104,8 @@ export interface IHarnessMessage {
98
104
  text: string;
99
105
  /** epoch ms */
100
106
  createdAt: number;
107
+ /** Preferred chronology; timestamps remain display metadata when this is present. */
108
+ order?: IHarnessTranscriptOrder;
101
109
  updatedAt?: number;
102
110
  /** gates the streaming cursor and markdown parse throttling */
103
111
  streaming?: boolean;
@@ -82,7 +82,7 @@ const filePathOf = (call: IHarnessToolCall): string =>
82
82
  const defaultDescriptors: IHarnessToolDescriptor[] = [
83
83
  {
84
84
  kind: 'terminal',
85
- names: ['run_command', 'bash', 'shell', 'exec'],
85
+ names: ['run_command', 'run_shell', 'bash', 'shell', 'exec'],
86
86
  label: 'Shell',
87
87
  icon: 'lucide:Terminal',
88
88
  subtitle: (call) => {