@case-framework/survey-core 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -52,15 +52,18 @@ import {
52
52
  ValueRefTypeLookup,
53
53
  ValueType,
54
54
  ItemTypeRegistry,
55
- } from '@case-framework/survey-core';
55
+ } from "@case-framework/survey-core";
56
56
 
57
57
  type SingleChoiceConfig = {
58
58
  id: string;
59
59
  options: Array<{ id: string; key: string; type: string }>;
60
60
  };
61
61
 
62
- class SingleChoiceQuestionItemCore extends SurveyItemCore<'singleChoiceQuestion', SingleChoiceConfig> {
63
- readonly type = 'singleChoiceQuestion';
62
+ class SingleChoiceQuestionItemCore extends SurveyItemCore<
63
+ "singleChoiceQuestion",
64
+ SingleChoiceConfig
65
+ > {
66
+ readonly type = "singleChoiceQuestion";
64
67
 
65
68
  parseConfig(rawConfig: unknown): SingleChoiceConfig {
66
69
  const cfg = (rawConfig ?? {}) as Partial<SingleChoiceConfig>;
@@ -96,45 +99,42 @@ import {
96
99
  ResponseItem,
97
100
  ValueType,
98
101
  ReservedSurveyItemTypes,
99
- } from '@case-framework/survey-core';
102
+ } from "@case-framework/survey-core";
100
103
 
101
104
  const survey = Survey.fromJson(
102
105
  {
103
106
  $schema:
104
- 'https://github.com/case-framework/case-survey-toolkit/packages/survey-core/schemas/survey-schema.json',
107
+ "https://github.com/case-framework/case-survey-toolkit/packages/survey-core/schemas/survey-schema.json",
105
108
  surveyItems: [
106
109
  {
107
- id: 'root',
108
- key: 'root',
110
+ id: "root",
111
+ key: "root",
109
112
  itemType: ReservedSurveyItemTypes.Group,
110
- config: { isRoot: true, items: ['q1'] },
113
+ config: { isRoot: true, items: ["q1"] },
111
114
  },
112
115
  {
113
- id: 'q1',
114
- key: 'q1',
115
- itemType: 'singleChoiceQuestion',
116
+ id: "q1",
117
+ key: "q1",
118
+ itemType: "singleChoiceQuestion",
116
119
  config: {
117
- id: 'q1',
120
+ id: "q1",
118
121
  options: [
119
- { id: 'yes', key: 'yes', type: 'option' },
120
- { id: 'no', key: 'no', type: 'option' },
122
+ { id: "yes", key: "yes", type: "option" },
123
+ { id: "no", key: "no", type: "option" },
121
124
  ],
122
125
  },
123
126
  },
124
127
  ],
125
128
  },
126
- pluginRegistry
129
+ pluginRegistry,
127
130
  );
128
131
 
129
- const engine = new SurveyEngineCore(survey, { locale: 'en' });
132
+ const engine = new SurveyEngineCore(survey, { locale: "en" });
130
133
 
131
134
  // Set one item response (slot id == config.id in this example).
132
- engine.setResponse(
133
- 'q1',
134
- new ResponseItem([['q1', { type: ValueType.reference, value: 'yes' }]])
135
- );
135
+ engine.setResponse("q1", new ResponseItem([["q1", { type: ValueType.reference, value: "yes" }]]));
136
136
 
137
- const pages = engine.getSurveyPages('large');
137
+ const pages = engine.getSurveyPages("large");
138
138
  const responses = engine.getResponses();
139
139
  const events = engine.getEvents();
140
140
  ```
@@ -142,19 +142,16 @@ const events = engine.getEvents();
142
142
  ### 3. Export responses to CSV
143
143
 
144
144
  ```ts
145
- import {
146
- SurveyResponse,
147
- SurveyResponseExporter,
148
- } from '@case-framework/survey-core';
145
+ import { SurveyResponse, SurveyResponseExporter } from "@case-framework/survey-core";
149
146
 
150
- const response = new SurveyResponse('response-1', 'v1');
147
+ const response = new SurveyResponse("response-1", "v1");
151
148
  response.responses = new Map(responses.map((r) => [r.itemId, r]));
152
149
  response.submittedAt = Math.floor(Date.now() / 1000);
153
150
 
154
151
  const exporter = new SurveyResponseExporter([
155
152
  {
156
- versionId: 'v1',
157
- surveyKey: survey.surveyKey ?? 'survey',
153
+ versionId: "v1",
154
+ surveyKey: survey.surveyKey ?? "survey",
158
155
  survey,
159
156
  },
160
157
  ]);
@@ -165,17 +162,17 @@ const csv = exporter.exportResponsesToCsv([response]);
165
162
  ### 4. Edit surveys with the editor entrypoint
166
163
 
167
164
  ```ts
168
- import { SurveyEditor, CommitSource } from '@case-framework/survey-core/editor';
165
+ import { SurveyEditor, CommitSource } from "@case-framework/survey-core/editor";
169
166
 
170
167
  const editor = new SurveyEditor(survey, { pluginRegistry });
171
168
 
172
169
  const newItem = survey.createItemFromRaw({
173
- id: 'q2',
174
- key: 'q2',
175
- itemType: 'singleChoiceQuestion',
176
- config: { id: 'q2', options: [] },
170
+ id: "q2",
171
+ key: "q2",
172
+ itemType: "singleChoiceQuestion",
173
+ config: { id: "q2", options: [] },
177
174
  });
178
175
 
179
176
  editor.addItem({ parentId: survey.rootItem!.id }, newItem);
180
- editor.commit({ label: 'Add q2', source: CommitSource.USER });
177
+ editor.commit({ label: "Add q2", source: CommitSource.USER });
181
178
  ```
@@ -1,4 +1,4 @@
1
- import { C as SurveyCardContent, L as RawSurveyItem, S as NavigationContent, T as SurveyItemTranslations, W as TemplateValueDefinition, b as JsonComponentContent, j as Content, p as ItemTypeRegistry, t as Survey, y as RawSurvey, z as SurveyItemCore } from "./survey-wnGyIY66.mjs";
1
+ import { D as SurveyCardContent, E as NavigationContent, Gt as SurveyItemCore, Jt as RawSurveyItem, M as Content, S as RawSurveyAsset, k as SurveyItemTranslations, m as ItemTypeRegistry, t as Survey, vt as TemplateValueDefinition, w as JsonComponentContent, x as RawSurvey } from "./survey-BV8YHc3J.mjs";
2
2
 
3
3
  //#region src/editor/ai-context.d.ts
4
4
  type SurveyAIContextScope = "tiny" | "focused" | "full";
@@ -89,7 +89,7 @@ type SerializedTranslations = {
89
89
  [locale: string]: JsonComponentContent;
90
90
  };
91
91
  interface SurveyItemClipboardData {
92
- type: 'survey-item';
92
+ type: "survey-item";
93
93
  version: string;
94
94
  items: Array<{
95
95
  itemId: string;
@@ -145,12 +145,12 @@ declare class ItemCopyPaste {
145
145
  */
146
146
  private updateExpressionReferences;
147
147
  /**
148
- * Update translation keys for the pasted item
149
- */
148
+ * Update translation keys for the pasted item
149
+ */
150
150
  private updateTranslations;
151
151
  /**
152
- * Validate clipboard data format
153
- */
152
+ * Validate clipboard data format
153
+ */
154
154
  static isValidClipboardData(data: unknown): data is SurveyItemClipboardData;
155
155
  }
156
156
  //#endregion
@@ -164,27 +164,60 @@ declare const CommitSource: {
164
164
  readonly USER: "user";
165
165
  readonly SYSTEM: "system";
166
166
  };
167
- type CommitSource = typeof CommitSource[keyof typeof CommitSource];
167
+ type CommitSource = (typeof CommitSource)[keyof typeof CommitSource];
168
168
  interface CommitMeta {
169
169
  label: string;
170
170
  source?: CommitSource;
171
171
  }
172
- interface HistoryEntry {
173
- survey: RawSurvey;
172
+ interface AssetPatch {
173
+ assetId: string;
174
+ prev?: RawSurveyAsset;
175
+ next?: RawSurveyAsset;
176
+ }
177
+ interface BaseHistoryEntry {
174
178
  timestamp: number;
175
179
  meta: CommitMeta;
176
180
  memorySize: number;
177
181
  }
182
+ interface SurveySnapshotHistoryEntry extends BaseHistoryEntry {
183
+ kind: "survey-snapshot";
184
+ survey: RawSurvey;
185
+ }
186
+ interface AssetChangeHistoryEntry extends BaseHistoryEntry {
187
+ kind: "asset-change";
188
+ changes: AssetPatch[];
189
+ }
190
+ type HistoryEntry = SurveySnapshotHistoryEntry | AssetChangeHistoryEntry;
191
+ interface SurveyEditorHistoryCommit {
192
+ index: number;
193
+ kind: HistoryEntry["kind"];
194
+ meta: CommitMeta;
195
+ timestamp: number;
196
+ memorySize: number;
197
+ isCurrent: boolean;
198
+ }
199
+ type SerializedHistoryEntry = SurveySnapshotHistoryEntry | AssetChangeHistoryEntry | (BaseHistoryEntry & {
200
+ survey: RawSurvey;
201
+ });
178
202
  declare class SurveyEditorUndoRedo {
179
203
  private history;
180
204
  private currentIndex;
181
205
  private _config;
182
- constructor(initialSurvey: RawSurvey, config?: Partial<UndoRedoConfig>, meta?: CommitMeta);
206
+ private _initialAssets?;
207
+ constructor(initialSurvey: RawSurvey, config?: Partial<UndoRedoConfig>, meta?: CommitMeta, initialAssets?: Record<string, RawSurveyAsset>);
208
+ private saveEntry;
183
209
  private saveSnapshot;
210
+ private getBaseAssetsSize;
184
211
  private cleanupHistory;
212
+ private dropOldestState;
185
213
  private getTotalMemoryUsage;
214
+ private getStateAtIndex;
215
+ private applyAssetPatch;
216
+ private getAssetsAtIndex;
186
217
  commit(survey: RawSurvey, meta: CommitMeta): void;
218
+ commitAssetChange(changes: AssetPatch[], meta: CommitMeta): void;
187
219
  getCurrentState(): RawSurvey;
220
+ getCurrentAssets(): Record<string, RawSurveyAsset> | undefined;
188
221
  undo(): RawSurvey | null;
189
222
  redo(): RawSurvey | null;
190
223
  canUndo(): boolean;
@@ -201,11 +234,19 @@ declare class SurveyEditorUndoRedo {
201
234
  */
202
235
  getHistory(): Array<{
203
236
  index: number;
237
+ kind: HistoryEntry["kind"];
204
238
  meta: CommitMeta;
205
239
  timestamp: number;
206
240
  memorySize: number;
207
241
  isCurrent: boolean;
208
242
  }>;
243
+ /**
244
+ * Get committed history entries after the initial state up to the current index.
245
+ *
246
+ * Redo-only future entries are intentionally omitted so the returned list describes the active
247
+ * change chain from the initial state to the current editor state.
248
+ */
249
+ getCommitsSinceInitial(): SurveyEditorHistoryCommit[];
209
250
  /**
210
251
  * Get the current index in the history
211
252
  */
@@ -232,6 +273,7 @@ declare class SurveyEditorUndoRedo {
232
273
  history: Array<HistoryEntry>;
233
274
  currentIndex: number;
234
275
  config: UndoRedoConfig;
276
+ initialAssets?: Record<string, RawSurveyAsset>;
235
277
  };
236
278
  /**
237
279
  * Create a new SurveyEditorUndoRedo instance from JSON data
@@ -239,22 +281,18 @@ declare class SurveyEditorUndoRedo {
239
281
  * @returns A new SurveyEditorUndoRedo instance with the restored state
240
282
  */
241
283
  static deserialize(jsonData: {
242
- history: Array<{
243
- survey: RawSurvey;
244
- timestamp: number;
245
- meta: CommitMeta;
246
- memorySize: number;
247
- }>;
284
+ history: Array<SerializedHistoryEntry>;
248
285
  currentIndex: number;
249
286
  config: UndoRedoConfig;
250
- }): SurveyEditorUndoRedo;
287
+ initialAssets?: Record<string, RawSurveyAsset>;
288
+ }, initialAssetsOverride?: Record<string, RawSurveyAsset>): SurveyEditorUndoRedo;
251
289
  }
252
290
  //#endregion
253
291
  //#region src/editor/survey-editor.d.ts
254
292
  interface SerializedSurveyEditor {
255
293
  version: string;
256
294
  survey: RawSurvey;
257
- undoRedo: ReturnType<SurveyEditorUndoRedo['serialize']>;
295
+ undoRedo: ReturnType<SurveyEditorUndoRedo["serialize"]>;
258
296
  hasUncommittedChanges: boolean;
259
297
  }
260
298
  interface SurveyEditorConfig extends Partial<UndoRedoConfig> {
@@ -272,6 +310,7 @@ declare class SurveyEditor {
272
310
  get hasUncommittedChanges(): boolean;
273
311
  get undoRedo(): SurveyEditorUndoRedo;
274
312
  commit(meta: CommitMeta): void;
313
+ private restoreHistoryState;
275
314
  commitIfNeeded(): void;
276
315
  undo(): boolean;
277
316
  redo(): boolean;
@@ -288,6 +327,10 @@ declare class SurveyEditor {
288
327
  entries: number;
289
328
  };
290
329
  getUndoRedoConfig(): UndoRedoConfig;
330
+ /**
331
+ * Get committed changes after the initial editor state up to the current undo/redo position.
332
+ */
333
+ getCommitsSinceInitial(): SurveyEditorHistoryCommit[];
291
334
  /**
292
335
  * Serialize the SurveyEditor state to JSON
293
336
  * @returns A JSON-serializable object containing the complete editor state
@@ -390,6 +433,22 @@ declare class SurveyEditor {
390
433
  * Remove a template value.
391
434
  */
392
435
  removeTemplateValue(key: string): void;
436
+ /**
437
+ * Get a survey asset immutably.
438
+ */
439
+ getAsset(assetId: string): RawSurveyAsset | undefined;
440
+ /**
441
+ * Get all survey assets immutably.
442
+ */
443
+ getAssets(): Map<string, RawSurveyAsset>;
444
+ /**
445
+ * Add or replace a survey asset.
446
+ */
447
+ setAsset(assetId: string, asset: RawSurveyAsset): void;
448
+ /**
449
+ * Remove a survey asset.
450
+ */
451
+ removeAsset(assetId: string): void;
393
452
  /**
394
453
  * Copy a survey item and all its data to clipboard format
395
454
  * @param itemId - The ID of the item to copy
@@ -405,5 +464,5 @@ declare class SurveyEditor {
405
464
  pasteItem(clipboardData: SurveyItemClipboardData, target: Target): string;
406
465
  }
407
466
  //#endregion
408
- export { BuildSurveyAIContextPackOptions, CommitMeta, CommitSource, ItemCopyPaste, SerializedSurveyEditor, SerializedTranslations, SurveyAIContextIndexes, SurveyAIContextPack, SurveyAIContextPurpose, SurveyAIContextScope, SurveyAIFocus, SurveyAIItemContextNode, SurveyAIKeyIndexEntry, SurveyAIOutlineNode, SurveyAITranslationSnippet, SurveyEditor, SurveyEditorConfig, SurveyEditorUndoRedo, SurveyItemClipboardData, Target, UndoRedoConfig, buildSurveyAIContextPack };
467
+ export { AssetPatch, BuildSurveyAIContextPackOptions, CommitMeta, CommitSource, ItemCopyPaste, SerializedSurveyEditor, SerializedTranslations, SurveyAIContextIndexes, SurveyAIContextPack, SurveyAIContextPurpose, SurveyAIContextScope, SurveyAIFocus, SurveyAIItemContextNode, SurveyAIKeyIndexEntry, SurveyAIOutlineNode, SurveyAITranslationSnippet, SurveyEditor, SurveyEditorConfig, SurveyEditorHistoryCommit, SurveyEditorUndoRedo, SurveyItemClipboardData, Target, UndoRedoConfig, buildSurveyAIContextPack };
409
468
  //# sourceMappingURL=editor.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.mts","names":[],"sources":["../src/editor/ai-context.ts","../src/editor/types.ts","../src/editor/item-copy-paste.ts","../src/editor/undo-redo.ts","../src/editor/survey-editor.ts"],"mappings":";;;KAKY,oBAAA;AAAA,KACA,sBAAA;AAAA,UAQK,mBAAA;EACf,MAAA;EACA,QAAA;EACA,KAAA;EACA,QAAA;EACA,GAAA;EACA,OAAA;EACA,SAAA;EACA,UAAA;AAAA;AAAA,UAGe,aAAA;EACf,WAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;EACA,YAAA;AAAA;AAAA,UAGe,0BAAA;EACf,MAAA;EACA,UAAA;EACA,IAAA;AAAA;AAAA,UAGe,uBAAA;EACf,MAAA;EACA,QAAA;EACA,OAAA;EACA,OAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA,EAAc,0BAAA;EACd,WAAA,EAAa,uBAAA;AAAA;AAAA,UAGE,qBAAA;EACf,MAAA;EACA,QAAA;EACA,GAAA;EACA,OAAA;EACA,SAAA;EACA,IAAA;AAAA;AAAA,UAGe,sBAAA;EACf,QAAA,EAAU,qBAAA;EACV,aAAA;AAAA;AAAA,UAGe,mBAAA;EACf,OAAA,EAAS,sBAAA;EACT,KAAA,EAAO,oBAAA;EACP,SAAA;EACA,OAAA;EACA,SAAA;EACA,OAAA,EAAS,mBAAA;EACT,KAAA,GAAQ,aAAA;EACR,SAAA,GAAY,uBAAA;EACZ,OAAA,GAAU,sBAAA;EACV,KAAA;IACE,gBAAA;IACA,iBAAA;IACA,sBAAA;EAAA;EAEF,SAAA,GAAY,SAAA;AAAA;AAAA,UAGG,+BAAA;EACf,OAAA,GAAU,sBAAA;EACV,KAAA,GAAQ,oBAAA;EACR,WAAA;EACA,gBAAA;EACA,YAAA;EACA,cAAA;EACA,oBAAA;EACA,kBAAA;EACA,+BAAA;EACA,2BAAA;AAAA;AAAA,iBAwZc,wBAAA,CACd,MAAA,EAAQ,MAAA,EACR,OAAA,GAAS,+BAAA,GACR,mBAAA;;;UCvfc,MAAA;EACb,QAAA;EACA,KAAA;AAAA;;;KCSQ,sBAAA;EAAA,CACT,MAAA,WAAiB,oBAAA;AAAA;AAAA,UAIH,uBAAA;EACf,IAAA;EACA,OAAA;EACA,KAAA,EAAO,KAAA;IACL,MAAA;IACA,QAAA,EAAU,aAAA;EAAA;EAEZ,YAAA;IAAA,CAAiB,MAAA,WAAiB,sBAAA;EAAA;EAClC,UAAA;EACA,SAAA;AAAA;AAAA,cAIW,aAAA;EAAA,QACH,MAAA;cAEI,MAAA,EAAQ,MAAA;EFXpB;;;;AAIF;;EEiBE,QAAA,CAAS,MAAA,WAAiB,uBAAA;EFjBE;;;;;EAAA,QEyEpB,mBAAA;EFpEI;;AAGd;;;;EAHc,QEgGJ,oBAAA;EF3FR;;;;AAIF;;;EEwIE,SAAA,CAAU,aAAA,EAAe,uBAAA,EAAyB,MAAA,EAAQ,MAAA;EFvI1D;;;EAAA,QEwLQ,mBAAA;EFpLR;;;EAAA,QEqMQ,2BAAA;EFlMR;;;EAAA,QEgOQ,0BAAA;EF7NO;;;EAAA,QEgQP,kBAAA;EF/PR;;;EAAA,OEoRO,oBAAA,CAAqB,IAAA,YAAgB,IAAA,IAAQ,uBAAA;AAAA;;;UCpUrC,cAAA;EACf,gBAAA;EACA,cAAA;EACA,cAAA;AAAA;AAAA,cAGW,YAAA;EAAA,SAGH,IAAA;EAAA,SAAA,MAAA;AAAA;AAAA,KACE,YAAA,UAAsB,YAAA,cAA0B,YAAA;AAAA,UAE3C,UAAA;EACf,KAAA;EACA,MAAA,GAAS,YAAA;AAAA;AAAA,UAID,YAAA;EACR,MAAA,EAAQ,SAAA;EACR,SAAA;EACA,IAAA,EAAM,UAAA;EACN,UAAA;AAAA;AAAA,cA2BW,oBAAA;EAAA,QACH,OAAA;EAAA,QACA,YAAA;EAAA,QACA,OAAA;cAEI,aAAA,EAAe,SAAA,EAAW,MAAA,GAAQ,OAAA,CAAQ,cAAA,GAAsB,IAAA,GAAM,UAAA;EAAA,QAY1E,YAAA;EAAA,QAoBA,cAAA;EAAA,QAiBA,mBAAA;EAKR,MAAA,CAAO,MAAA,EAAQ,SAAA,EAAW,IAAA,EAAM,UAAA;EAKhC,eAAA,CAAA,GAAmB,SAAA;EAOnB,IAAA,CAAA,GAAQ,SAAA;EAOR,IAAA,CAAA,GAAQ,SAAA;EAOR,OAAA,CAAA;EAIA,OAAA,CAAA;EAIA,WAAA,CAAA,GAAe,UAAA;EAKf,WAAA,CAAA,GAAe,UAAA;EAKf,cAAA,CAAA;IAAoB,OAAA;IAAiB,OAAA;EAAA;EAOrC,SAAA,CAAA,GAAa,cAAA;EHhIb;;;EGuIA,UAAA,CAAA,GAAc,KAAA;IACZ,KAAA;IACA,IAAA,EAAM,UAAA;IACN,SAAA;IACA,UAAA;IACA,SAAA;EAAA;EHrIF;;;EGmJA,eAAA,CAAA;EH/IA;;;EGsJA,gBAAA,CAAA;EHpJa;;;AAGf;;EG0JE,WAAA,CAAY,WAAA,WAAsB,SAAA;EH1JE;;;EGsKpC,cAAA,CAAe,WAAA;EHlKf;;;;EG0KA,SAAA,CAAA;IACE,OAAA,EAAS,KAAA,CAAM,YAAA;IACf,YAAA;IACA,MAAA,EAAQ,cAAA;EAAA;EHvKV;;;;;EAAA,OG0LO,WAAA,CAAY,QAAA;IACjB,OAAA,EAAS,KAAA;MACP,MAAA,EAAQ,SAAA;MACR,SAAA;MACA,IAAA,EAAM,UAAA;MACN,UAAA;IAAA;IAEF,YAAA;IACA,MAAA,EAAQ,cAAA;EAAA,IACN,oBAAA;AAAA;;;UC5OW,sBAAA;EACf,OAAA;EACA,MAAA,EAAQ,SAAA;EACR,QAAA,EAAU,UAAA,CAAW,oBAAA;EACrB,qBAAA;AAAA;AAAA,UAIe,kBAAA,SAA2B,OAAA,CAAQ,cAAA;EJbhB;EIelC,cAAA,GAAiB,gBAAA;AAAA;AAAA,cAGN,YAAA;EAAA,QACH,OAAA;EAAA,QACA,SAAA;EAAA,QACA,sBAAA;EAAA,QACA,eAAA;cAGN,MAAA,EAAQ,MAAA,EACR,MAAA,GAAQ,kBAAA,EACR,IAAA,GAAO,UAAA;EJnBC;EAAA,II4BN,MAAA,CAAA,GAAU,MAAA;EAAA,IAMV,qBAAA,CAAA;EAAA,IAKA,QAAA,CAAA,GAAY,oBAAA;EAKhB,MAAA,CAAO,IAAA,EAAM,UAAA;EAKb,cAAA,CAAA;EAUA,IAAA,CAAA;EAmBA,IAAA,CAAA;EJxEA;;;EI2FA,WAAA,CAAY,WAAA;EAeZ,OAAA,CAAA;EAIA,OAAA,CAAA;EAIA,WAAA,CAAA,GAAe,UAAA;EAUf,WAAA,CAAA,GAAe,UAAA;EAQf,cAAA,CAAA;IAAoB,OAAA;IAAiB,OAAA;EAAA;EAKrC,iBAAA,CAAA,GAAqB,cAAA;EJjIjB;AAGN;;;EIsIE,MAAA,CAAA,GAAU,sBAAA;EJrIV;;;;;;EAAA,OIoJO,QAAA,CAAS,QAAA,EAAU,sBAAA,EAAwB,cAAA,GAAiB,gBAAA,GAAmB,YAAA;EAAA,QAiC9E,cAAA;EAIR,OAAA,CACE,MAAA,EAAQ,MAAA,EACR,IAAA,EAAM,cAAA,EACN,OAAA,GAAU,sBAAA;EAsEZ,UAAA,CAAW,MAAA,UAAgB,MAAA;EAiC3B,QAAA,CAAS,MAAA,UAAgB,SAAA,EAAW,MAAA;EJ5RA;AAGtC;;;;;;;;EIyVE,eAAA,CAAgB,MAAA,WAAiB,aAAA;EJnVjC;;;AAGF;;;;;;;;;EIoWE,UAAA,CAAW,MAAA,UAAgB,WAAA,EAAa,aAAA,GAAgB,OAAA,CAAQ,aAAA;EAqChE,sBAAA,CAAuB,MAAA,UAAgB,cAAA,GAAiB,sBAAA;;;;;EAgBxD,wBAAA,CAAyB,OAAA;IACvB,UAAA;MAAe,MAAA;MAAgB,OAAA,GAAU,iBAAA;IAAA;IACzC,UAAA;MAAe,MAAA;MAAgB,OAAA,GAAU,iBAAA;IAAA;IACzC,kBAAA;MAAuB,MAAA;MAAgB,OAAA;QAAY,eAAA,GAAkB,OAAA;MAAA;IAAA;EAAA;EJhZ/D;;;EIiaR,kBAAA,CAAA;IAAwB,KAAA;IAAe,KAAA;EAAA;EJ5ZrC;;;EIoaF,qBAAA,CAAsB,KAAA;IAAS,KAAA;IAAe,KAAA;EAAA;EJ9ZA;;;EIsa9C,WAAA,CAAA;IAAA,CAAkB,GAAA;EAAA;EJpaV;;;EI4aR,cAAA,CAAe,QAAA;IAAA,CAAa,GAAA;EAAA;EJta5B;;;EI8aA,gBAAA,CAAiB,GAAA,WAAc,uBAAA;EJ5aJ;AAwZ7B;;EI4BE,iBAAA,CAAA,GAAqB,GAAA,SAAY,uBAAA;EJ3BzB;;;EI0CR,gBAAA,CAAiB,GAAA,UAAa,aAAA,EAAe,uBAAA;EJxCzB;;;EIgDpB,mBAAA,CAAoB,GAAA;EJjDpB;;;;;EI2DA,QAAA,CAAS,MAAA,WAAiB,uBAAA;;AHjjB5B;;;;;EG4jBE,SAAA,CAAU,aAAA,EAAe,uBAAA,EAAyB,MAAA,EAAQ,MAAA;AAAA"}
1
+ {"version":3,"file":"editor.d.mts","names":[],"sources":["../src/editor/ai-context.ts","../src/editor/types.ts","../src/editor/item-copy-paste.ts","../src/editor/undo-redo.ts","../src/editor/survey-editor.ts"],"mappings":"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"}