@nonoun/native-ai 1.0.62 → 1.0.64

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.
@@ -1 +1 @@
1
- {"version":3,"file":"a2ui-element.d.ts","sourceRoot":"","sources":["../../src/a2ui/a2ui-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAA+C,MAAM,mBAAmB,CAAC;AAa/F,OAAO,8BAA8B,CAAC;AAqFtC,qBAAa,KAAM,SAAQ,aAAa;;IACtC,MAAM,CAAC,kBAAkB,WAAc;IAyDvC,IAAI,MAAM,IAAI,MAAM,CAA+B;IACnD,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAKrB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASpF,OAAO,IAAI,IAAI;IACf,IAAI,IAAI,IAAI;IACZ,QAAQ,IAAI,IAAI;IAChB,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,IAAI;IAwJb,QAAQ,IAAI,IAAI;CAq3CjB"}
1
+ {"version":3,"file":"a2ui-element.d.ts","sourceRoot":"","sources":["../../src/a2ui/a2ui-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAA+C,MAAM,mBAAmB,CAAC;AAa/F,OAAO,8BAA8B,CAAC;AAqFtC,qBAAa,KAAM,SAAQ,aAAa;;IACtC,MAAM,CAAC,kBAAkB,WAAc;IAyDvC,IAAI,MAAM,IAAI,MAAM,CAA+B;IACnD,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAKrB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASpF,OAAO,IAAI,IAAI;IACf,IAAI,IAAI,IAAI;IACZ,QAAQ,IAAI,IAAI;IAChB,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,IAAI;IAwJb,QAAQ,IAAI,IAAI;CAm3CjB"}
@@ -0,0 +1,33 @@
1
+ import type { GatewayAdapter } from '../../chat/gateway/adapter.ts';
2
+ export interface PipelineStep {
3
+ id: 'interpret' | 'concepts' | 'plan' | 'construct';
4
+ label: string;
5
+ activeLabel: string;
6
+ doneLabel: string;
7
+ maxTokens: number;
8
+ }
9
+ export declare const PIPELINE_STEPS: readonly PipelineStep[];
10
+ export interface PipelineCallbacks {
11
+ onStepStart: (step: PipelineStep, index: number) => void;
12
+ onStepComplete: (step: PipelineStep, index: number, output: string) => void;
13
+ onStreamChunk?: (delta: string, fullMessage: string) => void;
14
+ onError: (step: PipelineStep, index: number, error: Error) => void;
15
+ }
16
+ export interface PipelineContext {
17
+ query: string;
18
+ currentSchema: Record<string, unknown> | null;
19
+ componentRef: string;
20
+ conversationHistory: Array<{
21
+ role: string;
22
+ message: string;
23
+ }>;
24
+ }
25
+ export interface PipelineResult {
26
+ interpretation: string;
27
+ concepts: string;
28
+ plan: string;
29
+ raw: string;
30
+ }
31
+ export declare function shouldSkipEarlySteps(query: string, hasSchema: boolean): boolean;
32
+ export declare function runPipeline(ctx: PipelineContext, callbacks: PipelineCallbacks, buildStepAdapter: (systemPrompt: string, maxTokens: number) => GatewayAdapter | null, schemaSystemPrompt: string, signal?: AbortSignal): Promise<PipelineResult>;
33
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/a2ui/builder/pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAWpE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAKxC,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,cAAc,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAG/E;AAID,wBAAsB,WAAW,CAC/B,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,iBAAiB,EAC5B,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,EACpF,kBAAkB,EAAE,MAAM,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAgGzB"}
@@ -0,0 +1,5 @@
1
+ export declare function interpretPrompt(): string;
2
+ export declare function conceptsPrompt(): string;
3
+ export declare function planPrompt(componentRef: string): string;
4
+ export declare function constructionContextPrefix(interpretation: string, concepts: string, plan: string): string;
5
+ //# sourceMappingURL=step-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-prompts.d.ts","sourceRoot":"","sources":["../../../src/a2ui/builder/step-prompts.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,IAAI,MAAM,CAYxC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAgBvC;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAqBvD;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,MAAM,CAiBR"}
@@ -28,6 +28,5 @@ export declare class NChatMessageSeed extends NativeElement {
28
28
  set disabled(val: boolean);
29
29
  attributeChangedCallback(name: string, old: string | null, val: string | null): void;
30
30
  setup(): void;
31
- teardown(): void;
32
31
  }
33
32
  //# sourceMappingURL=chat-message-seed-element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-message-seed-element.d.ts","sourceRoot":"","sources":["../../../src/chat/message/chat-message-seed-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;;IACjD,MAAM,CAAC,kBAAkB,WAA2B;;IAapD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAgC;IAC3D,IAAI,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,EAG5B;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAgBpF,KAAK,IAAI,IAAI;IAyCb,QAAQ,IAAI,IAAI;CAsBjB"}
1
+ {"version":3,"file":"chat-message-seed-element.d.ts","sourceRoot":"","sources":["../../../src/chat/message/chat-message-seed-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;;IACjD,MAAM,CAAC,kBAAkB,WAA2B;;IAapD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAgC;IAC3D,IAAI,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,EAG5B;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAgBpF,KAAK,IAAI,IAAI;CA8Cd"}
@@ -41,7 +41,7 @@
41
41
 
42
42
  /* Allow text selection in content areas */
43
43
  :where(native-a2ui) :where(.a2ui-preview-content),
44
- :where(native-a2ui) :where(.a2ui-pane-content),
44
+ :where(native-a2ui) :where(n-body),
45
45
  :where(native-a2ui) :where(.cm-editor) {
46
46
  user-select: text;
47
47
  }
@@ -147,13 +147,13 @@
147
147
 
148
148
  /* Hide handle on the last visible pane — nothing to resize against.
149
149
  Hidden panes have display:none so :last-child among visible = no subsequent visible sibling. */
150
- :where(native-a2ui) :where(.a2ui-pane):not([hidden]):not(:has(~ .a2ui-pane:not([hidden]))) > :where(.a2ui-resize-handle) {
150
+ :where(native-a2ui) :where(n-pane):not([hidden]):not(:has(~ n-pane:not([hidden]))) > :where(.a2ui-resize-handle) {
151
151
  display: none;
152
152
  }
153
153
 
154
154
  /* ── Pane (each toggled panel in the split) ── */
155
155
 
156
- :where(native-a2ui) :where(.a2ui-pane) {
156
+ :where(native-a2ui) :where(n-pane) {
157
157
  position: relative;
158
158
  display: flex;
159
159
  flex-direction: column;
@@ -165,17 +165,17 @@
165
165
  }
166
166
 
167
167
  /* When resized (has explicit width from ResizeController), don't flex-grow */
168
- :where(native-a2ui) :where(.a2ui-pane[style*="width"]) {
168
+ :where(native-a2ui) :where(n-pane[style*="width"]) {
169
169
  flex: none;
170
170
  }
171
171
 
172
- :where(native-a2ui) :where(.a2ui-pane[hidden]) {
172
+ :where(native-a2ui) :where(n-pane[hidden]) {
173
173
  display: none;
174
174
  }
175
175
 
176
176
  /* ── Pane Header (icon + label + close button) ── */
177
177
 
178
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) {
178
+ :where(native-a2ui) :where(n-pane) > :where(n-header) {
179
179
  display: grid;
180
180
  grid-template-columns: auto 1fr auto;
181
181
  align-items: center;
@@ -195,25 +195,25 @@
195
195
  letter-spacing: 0.04em;
196
196
  }
197
197
 
198
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) > :where(nav),
199
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) > :where(aside) {
198
+ :where(native-a2ui) :where(n-pane) > :where(n-header) > :where(nav),
199
+ :where(native-a2ui) :where(n-pane) > :where(n-header) > :where(aside) {
200
200
  display: flex;
201
201
  align-items: center;
202
202
  gap: 0.25rem;
203
203
  }
204
204
 
205
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) :where(n-icon) {
205
+ :where(native-a2ui) :where(n-pane) > :where(n-header) :where(n-icon) {
206
206
  font-size: 0.875rem;
207
207
  }
208
208
 
209
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) :where(n-button):hover,
210
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) :where(n-button)[force-hover] {
209
+ :where(native-a2ui) :where(n-pane) > :where(n-header) :where(n-button):hover,
210
+ :where(native-a2ui) :where(n-pane) > :where(n-header) :where(n-button)[force-hover] {
211
211
  background: var(--n-pg-editor-bg);
212
212
  }
213
213
 
214
214
  /* ── Pane Content (inner scrollable area) ── */
215
215
 
216
- :where(native-a2ui) :where(.a2ui-pane-content) {
216
+ :where(native-a2ui) :where(n-body) {
217
217
  flex: 1;
218
218
  min-height: 0;
219
219
  overflow: auto;
@@ -224,11 +224,11 @@
224
224
  }
225
225
 
226
226
  /* CodeMirror panes: editor fills space, no padding */
227
- :where(native-a2ui) :where([data-panel="json-in"]) :where(.a2ui-pane-content),
228
- :where(native-a2ui) :where([data-panel="js"]) :where(.a2ui-pane-content),
229
- :where(native-a2ui) :where([data-panel="html"]) :where(.a2ui-pane-content),
230
- :where(native-a2ui) :where([data-panel="css"]) :where(.a2ui-pane-content),
231
- :where(native-a2ui) :where([data-panel="schema"]) :where(.a2ui-pane-content) {
227
+ :where(native-a2ui) :where([data-panel="json-in"]) :where(n-body),
228
+ :where(native-a2ui) :where([data-panel="js"]) :where(n-body),
229
+ :where(native-a2ui) :where([data-panel="html"]) :where(n-body),
230
+ :where(native-a2ui) :where([data-panel="css"]) :where(n-body),
231
+ :where(native-a2ui) :where([data-panel="schema"]) :where(n-body) {
232
232
  padding: 0;
233
233
  overflow: hidden;
234
234
  }
package/dist/native-ai.js CHANGED
@@ -10758,7 +10758,7 @@ var W = [
10758
10758
  let t = e.target.closest?.(".a2ui-resize-handle");
10759
10759
  if (!t) return;
10760
10760
  let n = t.parentElement;
10761
- if (!n?.classList.contains("a2ui-pane")) return;
10761
+ if (!n?.matches("n-pane")) return;
10762
10762
  let r = n.dataset.panel;
10763
10763
  if (!r) return;
10764
10764
  let i = this.#K(), a = i.indexOf(r);
@@ -10838,7 +10838,7 @@ var W = [
10838
10838
  };
10839
10839
  #X = (e) => {
10840
10840
  let t = e.target.closest?.(".a2ui-resize-handle");
10841
- if (t && t.parentElement?.classList.contains("a2ui-pane")) {
10841
+ if (t && t.parentElement?.matches("n-pane")) {
10842
10842
  this.#x && this.#x.style.removeProperty("width");
10843
10843
  for (let [e, t] of this.#C) t.style.removeProperty("width"), t.style.removeProperty("flex-grow");
10844
10844
  }
@@ -10882,8 +10882,8 @@ var W = [
10882
10882
  let u = document.createElement("div");
10883
10883
  u.className = "a2ui-resize-handle", c.appendChild(u), s.appendChild(c);
10884
10884
  for (let e of W) {
10885
- let t = document.createElement("div");
10886
- t.className = "a2ui-pane", t.dataset.panel = e, this.#n.value.has(e) || (t.hidden = !0);
10885
+ let t = document.createElement("n-pane");
10886
+ t.dataset.panel = e, this.#n.value.has(e) || (t.hidden = !0);
10887
10887
  let n = document.createElement("n-header"), r = document.createElement("nav"), i = document.createElement("n-icon");
10888
10888
  i.setAttribute("name", Re[e]), r.appendChild(i), n.appendChild(r);
10889
10889
  let a = document.createElement("span");
@@ -10928,8 +10928,8 @@ var W = [
10928
10928
  let a = this.#Q("Reset to defaults", "arrow-counter-clockwise");
10929
10929
  a.addEventListener("native:press", () => this.#B()), e.append(n, r, i, a), t.appendChild(e);
10930
10930
  }
10931
- let l = document.createElement("div");
10932
- if (l.className = "a2ui-pane-content", t.appendChild(l), this.#w.set(e, l), e === "json-in" || e === "js" || e === "html" || e === "css") {
10931
+ let l = document.createElement("n-body");
10932
+ if (t.appendChild(l), this.#w.set(e, l), e === "json-in" || e === "js" || e === "html" || e === "css") {
10933
10933
  let t = document.createElement("native-codemirror");
10934
10934
  t.setAttribute("line-numbers", "false"), l.appendChild(t), e === "json-in" ? this.#p = t : e === "js" ? this.#m = t : e === "html" ? this.#h = t : e === "css" && (this.#g = t);
10935
10935
  } else if (e === "components") this.#v = l;
@@ -13273,33 +13273,25 @@ var yt = class extends i {
13273
13273
  t.setAttribute("direction", "row"), t.setAttribute("wrap", "");
13274
13274
  for (let n of e) {
13275
13275
  let e = document.createElement("n-button");
13276
- if (e.setAttribute("variant", "outline"), e.setAttribute("size", "sm"), e.setAttribute("inline", ""), e.setAttribute("data-value", n.value), n.icon) {
13276
+ if (e.setAttribute("variant", "outline"), e.setAttribute("size", "sm"), e.setAttribute("inline", ""), n.icon) {
13277
13277
  let t = document.createElement("n-icon");
13278
13278
  t.setAttribute("name", n.icon), t.setAttribute("slot", "leading"), e.appendChild(t);
13279
13279
  }
13280
13280
  let r = document.createElement("span");
13281
- r.setAttribute("slot", "label"), r.textContent = n.label, e.appendChild(r), t.appendChild(e);
13281
+ r.setAttribute("slot", "label"), r.textContent = n.label, e.appendChild(r), e.addEventListener("click", () => {
13282
+ this.#n.value || this.dispatchEvent(new CustomEvent("native:seed-select", {
13283
+ bubbles: !0,
13284
+ composed: !0,
13285
+ detail: {
13286
+ value: n.value,
13287
+ label: n.label
13288
+ }
13289
+ }));
13290
+ }), t.appendChild(e);
13282
13291
  }
13283
13292
  this.appendChild(t);
13284
- }), this.addEventListener("native:press", this.#r);
13285
- }
13286
- teardown() {
13287
- this.removeEventListener("native:press", this.#r), super.teardown();
13293
+ });
13288
13294
  }
13289
- #r = (e) => {
13290
- if (this.#n.value) return;
13291
- let t = e.target?.getAttribute("data-value");
13292
- if (!t) return;
13293
- let n = this.#t.value.find((e) => e.value === t);
13294
- n && this.dispatchEvent(new CustomEvent("native:seed-select", {
13295
- bubbles: !0,
13296
- composed: !0,
13297
- detail: {
13298
- value: n.value,
13299
- label: n.label
13300
- }
13301
- }));
13302
- };
13303
13295
  }, bt = new Set([
13304
13296
  "script",
13305
13297
  "style",
package/dist/register.js CHANGED
@@ -9864,7 +9864,7 @@ var B = [
9864
9864
  let t = e.target.closest?.(".a2ui-resize-handle");
9865
9865
  if (!t) return;
9866
9866
  let n = t.parentElement;
9867
- if (!n?.classList.contains("a2ui-pane")) return;
9867
+ if (!n?.matches("n-pane")) return;
9868
9868
  let r = n.dataset.panel;
9869
9869
  if (!r) return;
9870
9870
  let i = this.#K(), a = i.indexOf(r);
@@ -9944,7 +9944,7 @@ var B = [
9944
9944
  };
9945
9945
  #X = (e) => {
9946
9946
  let t = e.target.closest?.(".a2ui-resize-handle");
9947
- if (!(!t || !t.parentElement?.classList.contains("a2ui-pane"))) {
9947
+ if (!(!t || !t.parentElement?.matches("n-pane"))) {
9948
9948
  this.#x && this.#x.style.removeProperty("width");
9949
9949
  for (let [e, t] of this.#C) t.style.removeProperty("width"), t.style.removeProperty("flex-grow");
9950
9950
  }
@@ -9988,8 +9988,8 @@ var B = [
9988
9988
  let u = document.createElement("div");
9989
9989
  u.className = "a2ui-resize-handle", c.appendChild(u), s.appendChild(c);
9990
9990
  for (let e of B) {
9991
- let t = document.createElement("div");
9992
- t.className = "a2ui-pane", t.dataset.panel = e, this.#n.value.has(e) || (t.hidden = !0);
9991
+ let t = document.createElement("n-pane");
9992
+ t.dataset.panel = e, this.#n.value.has(e) || (t.hidden = !0);
9993
9993
  let n = document.createElement("n-header"), r = document.createElement("nav"), i = document.createElement("n-icon");
9994
9994
  i.setAttribute("name", Le[e]), r.appendChild(i), n.appendChild(r);
9995
9995
  let a = document.createElement("span");
@@ -10034,8 +10034,8 @@ var B = [
10034
10034
  let a = this.#Q("Reset to defaults", "arrow-counter-clockwise");
10035
10035
  a.addEventListener("native:press", () => this.#B()), e.append(n, r, i, a), t.appendChild(e);
10036
10036
  }
10037
- let l = document.createElement("div");
10038
- if (l.className = "a2ui-pane-content", t.appendChild(l), this.#w.set(e, l), e === "json-in" || e === "js" || e === "html" || e === "css") {
10037
+ let l = document.createElement("n-body");
10038
+ if (t.appendChild(l), this.#w.set(e, l), e === "json-in" || e === "js" || e === "html" || e === "css") {
10039
10039
  let t = document.createElement("native-codemirror");
10040
10040
  t.setAttribute("line-numbers", "false"), l.appendChild(t), e === "json-in" ? this.#p = t : e === "js" ? this.#m = t : e === "html" ? this.#h = t : e === "css" && (this.#g = t);
10041
10041
  } else if (e === "components") this.#v = l;
@@ -12807,33 +12807,25 @@ var bt = class extends p {
12807
12807
  t.setAttribute("direction", "row"), t.setAttribute("wrap", "");
12808
12808
  for (let n of e) {
12809
12809
  let e = document.createElement("n-button");
12810
- if (e.setAttribute("variant", "outline"), e.setAttribute("size", "sm"), e.setAttribute("inline", ""), e.setAttribute("data-value", n.value), n.icon) {
12810
+ if (e.setAttribute("variant", "outline"), e.setAttribute("size", "sm"), e.setAttribute("inline", ""), n.icon) {
12811
12811
  let t = document.createElement("n-icon");
12812
12812
  t.setAttribute("name", n.icon), t.setAttribute("slot", "leading"), e.appendChild(t);
12813
12813
  }
12814
12814
  let r = document.createElement("span");
12815
- r.setAttribute("slot", "label"), r.textContent = n.label, e.appendChild(r), t.appendChild(e);
12815
+ r.setAttribute("slot", "label"), r.textContent = n.label, e.appendChild(r), e.addEventListener("click", () => {
12816
+ this.#n.value || this.dispatchEvent(new CustomEvent("native:seed-select", {
12817
+ bubbles: !0,
12818
+ composed: !0,
12819
+ detail: {
12820
+ value: n.value,
12821
+ label: n.label
12822
+ }
12823
+ }));
12824
+ }), t.appendChild(e);
12816
12825
  }
12817
12826
  this.appendChild(t);
12818
- }), this.addEventListener("native:press", this.#r);
12819
- }
12820
- teardown() {
12821
- this.removeEventListener("native:press", this.#r), super.teardown();
12827
+ });
12822
12828
  }
12823
- #r = (e) => {
12824
- if (this.#n.value) return;
12825
- let t = e.target?.getAttribute("data-value");
12826
- if (!t) return;
12827
- let n = this.#t.value.find((e) => e.value === t);
12828
- n && this.dispatchEvent(new CustomEvent("native:seed-select", {
12829
- bubbles: !0,
12830
- composed: !0,
12831
- detail: {
12832
- value: n.value,
12833
- label: n.label
12834
- }
12835
- }));
12836
- };
12837
12829
  }, xt = new Set([
12838
12830
  "script",
12839
12831
  "style",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nonoun/native-ai",
3
- "version": "1.0.62",
3
+ "version": "1.0.64",
4
4
  "description": "AI components for @nonoun/native-ui — A2UI protocol adapter + chat input/message layout",
5
5
  "license": "MIT",
6
6
  "type": "module",