@alpaca-editor/core 1.0.3965 → 1.0.3967

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":"PerfectTree.js","sourceRoot":"","sources":["../../../src/editor/ui/PerfectTree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerfectTree.js","sourceRoot":"","sources":["../../../src/editor/ui/PerfectTree.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.0.3965";
2
- export declare const buildDate = "2025-06-24 07:52:37";
1
+ export declare const version = "1.0.3967";
2
+ export declare const buildDate = "2025-06-25 01:50:56";
package/dist/revision.js CHANGED
@@ -1,3 +1,3 @@
1
- export const version = "1.0.3965";
2
- export const buildDate = "2025-06-24 07:52:37";
1
+ export const version = "1.0.3967";
2
+ export const buildDate = "2025-06-25 01:50:56";
3
3
  //# sourceMappingURL=revision.js.map
package/dist/styles.css CHANGED
@@ -17,6 +17,7 @@
17
17
  --color-orange-500: oklch(70.5% 0.213 47.604);
18
18
  --color-orange-600: oklch(64.6% 0.222 41.116);
19
19
  --color-orange-800: oklch(47% 0.157 37.304);
20
+ --color-yellow-50: oklch(98.7% 0.026 102.212);
20
21
  --color-yellow-100: oklch(97.3% 0.071 103.193);
21
22
  --color-yellow-200: oklch(94.5% 0.129 101.54);
22
23
  --color-yellow-300: oklch(90.5% 0.182 98.111);
@@ -600,6 +601,9 @@
600
601
  .h-\[16px\] {
601
602
  height: 16px;
602
603
  }
604
+ .h-\[24px\] {
605
+ height: 24px;
606
+ }
603
607
  .h-\[75vh\] {
604
608
  height: 75vh;
605
609
  }
@@ -747,8 +751,11 @@
747
751
  .w-\[12px\] {
748
752
  width: 12px;
749
753
  }
750
- .w-\[16px\] {
751
- width: 16px;
754
+ .w-\[24px\] {
755
+ width: 24px;
756
+ }
757
+ .w-\[26px\] {
758
+ width: 26px;
752
759
  }
753
760
  .w-\[95vw\] {
754
761
  width: 95vw;
@@ -1336,6 +1343,9 @@
1336
1343
  .border-white {
1337
1344
  border-color: var(--color-white);
1338
1345
  }
1346
+ .border-yellow-200 {
1347
+ border-color: var(--color-yellow-200);
1348
+ }
1339
1349
  .border-yellow-300 {
1340
1350
  border-color: var(--color-yellow-300);
1341
1351
  }
@@ -1534,6 +1544,9 @@
1534
1544
  .bg-white {
1535
1545
  background-color: var(--color-white);
1536
1546
  }
1547
+ .bg-yellow-50 {
1548
+ background-color: var(--color-yellow-50);
1549
+ }
1537
1550
  .bg-yellow-100 {
1538
1551
  background-color: var(--color-yellow-100);
1539
1552
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpaca-editor/core",
3
- "version": "1.0.3965",
3
+ "version": "1.0.3967",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -113,6 +113,7 @@ import {
113
113
  SparklesIcon,
114
114
  Users,
115
115
  Bug,
116
+ Timer,
116
117
  } from "lucide-react";
117
118
  import { GhostWriter } from "../editor/ai/GhostWriter";
118
119
 
@@ -607,6 +608,23 @@ export const getConfiguration = (): EditorConfiguration => {
607
608
  },
608
609
  ...pageEditorViewBase,
609
610
  },
611
+ {
612
+ name: "rendering-performance",
613
+ title: "Rendering Performance",
614
+ icon: <Timer strokeWidth={1} />,
615
+ leftSidebar: {
616
+ panels: [
617
+ {
618
+ name: "rendering-performance",
619
+ icon: <Timer strokeWidth={1} />,
620
+ title: "Rendering Performance",
621
+ content: <Performance />,
622
+ initialSize: 100,
623
+ },
624
+ ],
625
+ },
626
+ ...pageEditorViewBase,
627
+ },
610
628
  {
611
629
  name: "debug",
612
630
  title: "Debug",
@@ -615,33 +633,19 @@ export const getConfiguration = (): EditorConfiguration => {
615
633
  toolbarFactory: createEditToolbar,
616
634
  leftSidebar: {
617
635
  panels: [
618
- {
619
- name: "component-tree",
620
- icon: "pi pi-list",
621
- title: "Outline",
622
- content: <ComponentTree />,
623
- initialSize: 20,
624
- },
625
636
  {
626
637
  name: "debug",
627
638
  icon: <JsonIcon />,
628
- title: "JSON",
639
+ title: "Layout JSON",
629
640
  content: <Debug />,
630
- initialSize: 30,
641
+ initialSize: 35,
631
642
  },
632
643
  {
633
644
  name: "graphql",
634
645
  icon: <GraphQLIcon />,
635
646
  title: "GraphQL",
636
647
  content: <GraphQL />,
637
- initialSize: 30,
638
- },
639
- {
640
- name: "performance",
641
- icon: "pi pi-stopwatch",
642
- title: "Performance",
643
- content: <Performance />,
644
- initialSize: 20,
648
+ initialSize: 35,
645
649
  },
646
650
  ],
647
651
  },
@@ -45,7 +45,7 @@ export function ImageEditButton({
45
45
 
46
46
  const defaultTriggerButton = (
47
47
  <button
48
- className={`text-dark border-gray-3 hover:bg-gray-5 absolute right-2 bottom-2 flex items-center justify-center gap-2 rounded border bg-white p-1.5 text-xs font-medium opacity-70 shadow-lg transition-opacity hover:opacity-85 ${buttonClassName || ""}`}
48
+ className={`text-dark border-gray-3 hover:bg-gray-5 absolute right-2 bottom-2 flex cursor-pointer items-center justify-center gap-2 rounded border bg-white p-1.5 text-xs font-medium opacity-70 shadow-lg transition-opacity hover:opacity-85 ${buttonClassName || ""}`}
49
49
  onClick={(e) => {
50
50
  e.stopPropagation();
51
51
  }}
@@ -171,7 +171,7 @@ export const Terminal = forwardRef<
171
171
  </button>
172
172
  {toolbar}
173
173
  </div>
174
- <div className="h-full overflow-x-hidden overflow-y-auto p-2">
174
+ <div className="flex-1 overflow-x-hidden overflow-y-auto p-2">
175
175
  <div className="flex flex-col items-end gap-3 select-text">
176
176
  {messages.map((m, i) => (
177
177
  <div key={i} className={getClasses(m)}>
@@ -1,9 +1,8 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
2
  import { useEditContext } from "../client/editContext";
3
3
 
4
- import { InputText } from "primereact/inputtext";
5
- import { ProgressSpinner } from "primereact/progressspinner";
6
4
  import { useDebouncedCallback } from "use-debounce";
5
+ import { FilterInput } from "../../components/FilterInput";
7
6
 
8
7
  import { FullItem, ItemDescriptor } from "../pageModel";
9
8
 
@@ -197,32 +196,18 @@ export function PageSelector({
197
196
  <div className="flex h-[75vh] max-h-[600px] max-w-96 min-w-96 flex-col overflow-hidden">
198
197
  {/* Search/Filter bar with view toggle buttons */}
199
198
  <div className="flex gap-2 border-b border-gray-200 p-2">
200
- <div className="relative flex-1">
201
- <div className="flex items-center">
202
- <InputText
203
- className="w-full rounded border border-gray-300 px-2 py-1 pr-6 text-xs focus:border-blue-400 focus:ring-1 focus:ring-blue-400 focus:outline-none"
204
- onChange={(e) => setQuery(e.target.value)}
205
- value={query}
206
- ref={inputRef}
207
- placeholder={
208
- showHistory ? "Filter history..." : "Search content..."
209
- }
210
- />
211
- {!loading && !query && (
212
- <i className="pi pi-search px-3 text-gray-500" />
213
- )}
214
- {!loading && query && (
215
- <i
216
- className="pi pi-times cursor-pointer px-3 text-gray-500"
217
- onClick={() => setQuery("")}
218
- />
219
- )}
220
- {loading && (
221
- <ProgressSpinner
222
- style={{ width: "24px", height: "24px", margin: "0 12px" }}
223
- />
224
- )}
225
- </div>
199
+ <div className="flex-1">
200
+ <FilterInput
201
+ value={query}
202
+ onChange={setQuery}
203
+ ref={inputRef}
204
+ placeholder={
205
+ showHistory ? "Filter history..." : "Search content..."
206
+ }
207
+ loading={loading}
208
+ className="w-full"
209
+ spinnerStyle={{ width: "18px", height: "18px" }}
210
+ />
226
211
  </div>
227
212
  <div className="flex gap-1">
228
213
  <SimpleIconButton
@@ -1,4 +1,4 @@
1
- import { TabView, TabPanel } from "primereact/tabview";
1
+ import { SimpleTabs, Tab } from "../ui/SimpleTabs";
2
2
  import { CopyToClipboardButton } from "../ui/CopyToClipboardButton";
3
3
  import { useEffect, useState } from "react";
4
4
 
@@ -51,7 +51,7 @@ export function Debug({}: {}) {
51
51
  }
52
52
  return value;
53
53
  };
54
- const tabs = [];
54
+ const tabs: Tab[] = [];
55
55
  const defaultNodeRenderer = ({ depth, name, data, isNonenumerable }: any) => {
56
56
  if (
57
57
  name == "__editor" ||
@@ -66,9 +66,11 @@ export function Debug({}: {}) {
66
66
  );
67
67
  };
68
68
  if (component) {
69
- tabs.push(
70
- <TabPanel header="Component" className="relative h-full" key="component">
71
- <div className="relative h-full">
69
+ tabs.push({
70
+ label: "Component",
71
+ id: "component",
72
+ content: (
73
+ <div className="relative flex-1">
72
74
  <div className="absolute inset-0 overflow-auto p-2">
73
75
  <ObjectInspector
74
76
  data={component}
@@ -76,28 +78,30 @@ export function Debug({}: {}) {
76
78
  />
77
79
  </div>
78
80
  </div>
79
- </TabPanel>,
80
- );
81
+ ),
82
+ });
81
83
  }
82
- tabs.push(
83
- <TabPanel header="Page" className="relative h-full" key="page">
84
- <div className="absolute inset-0 overflow-auto p-2">
85
- <ObjectInspector data={page} nodeRenderer={defaultNodeRenderer} />
84
+ tabs.push({
85
+ label: "Page",
86
+ id: "page",
87
+ content: (
88
+ <div className="relative flex-1">
89
+ <div className="absolute inset-0 overflow-auto p-2">
90
+ <ObjectInspector data={page} nodeRenderer={defaultNodeRenderer} />
91
+ </div>
86
92
  </div>
87
- </TabPanel>,
88
- );
93
+ ),
94
+ });
89
95
  return (
90
- <div className="relative h-[calc(100%-6px)]">
91
- <TabView
92
- className="alpaceditor-tabs h-full"
93
- onTabChange={(ev) => {
94
- setActiveTab(ev.index);
95
- }}
96
- activeIndex={activeTab}
97
- >
98
- {tabs}
99
- </TabView>
100
- <div className="absolute top-2 right-1">
96
+ <div className="relative flex h-[calc(100%-6px)] flex-col">
97
+ <SimpleTabs
98
+ tabs={tabs}
99
+ activeTab={activeTab}
100
+ setActiveTab={setActiveTab}
101
+ className="alpaceditor-tabs border-gray-3 border-b px-2 pt-2 text-sm"
102
+ />
103
+
104
+ <div className="absolute top-2 right-1 h-4 w-4">
101
105
  <CopyToClipboardButton
102
106
  text={JSON.stringify(
103
107
  activeTab === 0 && component ? component : page,
@@ -1,13 +1,14 @@
1
- import { TabView, TabPanel } from "primereact/tabview";
2
-
3
1
  import { Splitter, SplitterPanel } from "primereact/splitter";
4
2
  import { InputTextarea } from "primereact/inputtextarea";
5
- import { Button } from "primereact/button";
3
+ import { ActionButton } from "../../components/ActionButton";
6
4
  import { useEffect, useState } from "react";
7
5
 
8
6
  import { useEditContext } from "../client/editContext";
9
7
  import { ObjectInspector } from "react-inspector";
10
8
  import { SimpleTabs } from "../ui/SimpleTabs";
9
+ import { AiTerminal } from "../ai/AiTerminal";
10
+ import { createEditorAiContext } from "../ai/editorAiContext";
11
+ import { RefreshCw } from "lucide-react";
11
12
 
12
13
  export function GraphQL() {
13
14
  const editContext = useEditContext();
@@ -17,6 +18,7 @@ export function GraphQL() {
17
18
  const [schemaResult, setSchemaResult] = useState<any>({});
18
19
  const [showSchemaSpinner, setShowSchemaSpinner] = useState(false);
19
20
  const [activeTab, setActiveTab] = useState(0);
21
+ const [aiGeneratedQuery, setAiGeneratedQuery] = useState<string>("");
20
22
 
21
23
  let item = editContext?.page?.item;
22
24
 
@@ -32,6 +34,13 @@ export function GraphQL() {
32
34
  if (graphql_query) setQuery(graphql_query || "");
33
35
  }, [item]);
34
36
 
37
+ // Auto-fetch schema when Schema tab is activated (now tab index 0)
38
+ useEffect(() => {
39
+ if (activeTab === 0 && !schemaResult?.data && !showSchemaSpinner) {
40
+ fetchSchema();
41
+ }
42
+ }, [activeTab]);
43
+
35
44
  // if (item) {
36
45
  // const selectedComponents = editContext!.selection
37
46
  // .map((x) => getComponentById(x, editContext!.page!))
@@ -148,7 +157,7 @@ export function GraphQL() {
148
157
  ItemId: item.id,
149
158
  Language: item.language,
150
159
  Version: item.version,
151
- Schema: "default", // You may want to make this configurable
160
+ Schema: "Default", // You may want to make this configurable
152
161
  }),
153
162
  });
154
163
 
@@ -166,35 +175,175 @@ export function GraphQL() {
166
175
  }
167
176
  }
168
177
 
178
+ // Function to apply AI-generated query to the editor
179
+ const applyQueryToEditor = (newQuery: string) => {
180
+ setQuery(newQuery);
181
+ setAiGeneratedQuery(newQuery);
182
+ };
183
+
184
+ // Extract GraphQL queries from AI response
185
+ const extractGraphQLFromResponse = (responseText: string): string | null => {
186
+ const graphqlBlockRegex = /```graphql\s*([\s\S]*?)\s*```/i;
187
+ const match = responseText.match(graphqlBlockRegex);
188
+ return match ? match[1]?.trim() || null : null;
189
+ };
190
+
191
+ // Create AI context with GraphQL schema for AI assistance
192
+ const createGraphQLAiContext = ({ editContext }: { editContext: any }) => {
193
+ const baseContext = createEditorAiContext({ editContext });
194
+ if (!item) return baseContext;
195
+
196
+ return {
197
+ ...baseContext,
198
+ promptData: {
199
+ ...baseContext.promptData,
200
+ graphqlSchema: schemaResult?.data || null,
201
+ currentQuery: query,
202
+ itemContext: {
203
+ id: item.id,
204
+ language: item.language,
205
+ version: item.version,
206
+ },
207
+ },
208
+ callback: (response: any) => {
209
+ // Check if the AI response contains a GraphQL query
210
+ if (
211
+ response?.messages &&
212
+ Array.isArray(response.messages) &&
213
+ response.messages.length > 0
214
+ ) {
215
+ const lastMessage = response.messages[response.messages.length - 1];
216
+ if (
217
+ lastMessage &&
218
+ lastMessage.role === "assistant" &&
219
+ lastMessage.content
220
+ ) {
221
+ const extractedQuery = extractGraphQLFromResponse(
222
+ lastMessage.content,
223
+ );
224
+ if (extractedQuery) {
225
+ setAiGeneratedQuery(extractedQuery);
226
+ }
227
+ }
228
+ }
229
+ },
230
+ };
231
+ };
232
+
169
233
  return (
170
234
  <Splitter layout="vertical" style={{ height: "100%" }}>
171
235
  <SplitterPanel size={50} className="relative">
172
- <div className="absolute inset-0 flex">
173
- <InputTextarea
174
- value={query}
175
- onChange={(e) => setQuery(e.target.value)}
176
- className="flex-1 text-xs"
177
- style={{ height: "100%" }}
178
- />
179
- <Button
180
- icon={"pi pi-refresh" + (showSpinner ? " pi-spin" : "")}
181
- onClick={refresh}
182
- disabled={showSpinner}
183
- />
236
+ <div className="absolute inset-0 flex flex-col overflow-hidden">
237
+ {aiGeneratedQuery && aiGeneratedQuery !== query && (
238
+ <div className="flex items-center gap-2 border-b border-yellow-200 bg-yellow-50 p-2 text-xs">
239
+ <span className="text-yellow-800">AI generated a new query</span>
240
+ <ActionButton
241
+ onClick={() => applyQueryToEditor(aiGeneratedQuery)}
242
+ className="p-1 text-xs"
243
+ variant="outline"
244
+ >
245
+ Apply
246
+ </ActionButton>
247
+ <ActionButton
248
+ onClick={() => setAiGeneratedQuery("")}
249
+ className="p-1"
250
+ variant="ghost"
251
+ >
252
+ ×
253
+ </ActionButton>
254
+ </div>
255
+ )}
256
+ <Splitter layout="horizontal" style={{ height: "100%" }}>
257
+ <SplitterPanel size={50} className="relative">
258
+ <div className="absolute inset-0 flex items-stretch">
259
+ <InputTextarea
260
+ value={query}
261
+ onChange={(e) => setQuery(e.target.value)}
262
+ className="min-w-0 flex-1 text-xs"
263
+ style={{ height: "100%" }}
264
+ />
265
+ <ActionButton
266
+ onClick={refresh}
267
+ disabled={showSpinner}
268
+ className="h-full px-2"
269
+ variant="outline"
270
+ >
271
+ <RefreshCw strokeWidth={1} />
272
+ </ActionButton>
273
+ </div>
274
+ </SplitterPanel>
275
+ <SplitterPanel className="relative">
276
+ <div className="absolute inset-0 flex flex-col text-xs">
277
+ <div className="border-b border-gray-300 bg-gray-50 px-2 py-1 text-xs font-medium">
278
+ JSON Result
279
+ </div>
280
+ <div className="flex-1 overflow-auto p-2">
281
+ <div className="min-w-0 overflow-x-auto">
282
+ <ObjectInspector data={graphqlResult} expandLevel={3} />
283
+ </div>
284
+ </div>
285
+ </div>
286
+ </SplitterPanel>
287
+ </Splitter>
184
288
  </div>
185
289
  </SplitterPanel>
186
290
  <SplitterPanel className="relative">
187
- <div className="absolute inset-0">
291
+ <div className="absolute inset-0 flex flex-col text-xs">
188
292
  <SimpleTabs
293
+ className="border-gray-3 border-b px-2 pt-2"
189
294
  tabs={[
190
295
  {
191
- id: "json",
192
- label: "JSON",
296
+ id: "ai",
297
+ label: "AI Assistant",
298
+ icon: "pi pi-star",
193
299
  content: (
194
- <div className="relative h-full">
195
- <div className="flex-1 overflow-y-auto p-2">
196
- <ObjectInspector data={graphqlResult} expandLevel={3} />
197
- </div>
300
+ <div className="relative h-full overflow-hidden">
301
+ <AiTerminal
302
+ createAiContext={createGraphQLAiContext}
303
+ defaultProfile="GraphQL Assistant"
304
+ options={{
305
+ hiddenSystemPrompt: `You are an expert GraphQL assistant. Help the user create, modify, and understand GraphQL queries.
306
+
307
+ Current Context:
308
+ - Item ID: ${item?.id}
309
+ - Language: ${item?.language}
310
+ - Version: ${item?.version}
311
+ - Current Query: ${query || "No query set"}
312
+ - Schema Available: ${schemaResult?.data ? "Yes" : "No"}
313
+
314
+ ${
315
+ schemaResult?.data
316
+ ? `GraphQL Schema:
317
+ \`\`\`
318
+ ${schemaResult.data}
319
+ \`\`\`
320
+
321
+ `
322
+ : ""
323
+ }
324
+
325
+ Instructions:
326
+ 1. When helping with GraphQL queries, always consider the available schema
327
+ 2. Provide working GraphQL query examples
328
+ 3. Explain the query structure and what each part does
329
+ 4. If the user wants to update the query, provide the complete new query
330
+ 5. Always validate queries against the schema when possible
331
+ 6. Help with both queries and mutations
332
+ 7. Suggest optimizations and best practices
333
+
334
+ When updating queries, respond with the updated query in this format:
335
+ \`\`\`graphql
336
+ [your updated query here]
337
+ \`\`\`
338
+
339
+ Available operations:
340
+ - You can help craft new queries
341
+ - You can modify existing queries
342
+ - You can explain GraphQL concepts
343
+ - You can suggest optimizations
344
+ - You can help with error troubleshooting`,
345
+ }}
346
+ />
198
347
  </div>
199
348
  ),
200
349
  },
@@ -202,21 +351,21 @@ export function GraphQL() {
202
351
  id: "schema",
203
352
  label: "Schema",
204
353
  content: (
205
- <div className="relative h-full">
354
+ <div className="relative h-full overflow-hidden">
206
355
  <div className="flex items-center gap-2 border-b p-2">
207
- <Button
208
- icon={
209
- "pi pi-download" +
210
- (showSchemaSpinner ? " pi-spin" : "")
211
- }
356
+ <ActionButton
212
357
  onClick={fetchSchema}
213
358
  disabled={showSchemaSpinner}
214
- label="Fetch Schema"
215
- size="small"
216
- />
359
+ variant="outline"
360
+ className="text-sm"
361
+ >
362
+ 📥 Fetch Schema
363
+ </ActionButton>
217
364
  </div>
218
- <div className="flex-1 overflow-y-auto p-2">
219
- <ObjectInspector data={schemaResult} expandLevel={3} />
365
+ <div className="flex-1 overflow-auto p-2">
366
+ <div className="min-w-0 overflow-x-auto">
367
+ <ObjectInspector data={schemaResult} expandLevel={3} />
368
+ </div>
220
369
  </div>
221
370
  </div>
222
371
  ),
@@ -15,10 +15,10 @@ export function CopyToClipboardButton({ text }: { text: string }) {
15
15
 
16
16
  return (
17
17
  <span
18
- className="ml-1 cursor-pointer"
18
+ className="cursor-pointer"
19
19
  onClick={() => handleCopyToClipboard(text)}
20
20
  >
21
- <Copy size={14} />
21
+ <Copy size={14} strokeWidth={1} />
22
22
  </span>
23
23
  );
24
24
  }