@case-framework/survey-core 0.4.0 → 0.4.2

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,83 +1,5 @@
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-DShEOjyz.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-DZ3RHkd2.mjs";
2
2
 
3
- //#region src/editor/ai-context.d.ts
4
- type SurveyAIContextScope = "tiny" | "focused" | "full";
5
- type SurveyAIContextPurpose = "generic" | "key-suggestion" | "label-suggestion" | "item-generation" | "translation" | "condition-management";
6
- interface SurveyAIOutlineNode {
7
- itemId: string;
8
- parentId?: string;
9
- depth: number;
10
- itemType: string;
11
- key: string;
12
- fullKey: string;
13
- itemLabel?: string;
14
- childCount: number;
15
- }
16
- interface SurveyAIFocus {
17
- focusItemId: string;
18
- parentItemId?: string;
19
- pathItemIds: string[];
20
- siblingItemIds: string[];
21
- childItemIds: string[];
22
- }
23
- interface SurveyAITranslationSnippet {
24
- locale: string;
25
- contentKey: string;
26
- text: string;
27
- }
28
- interface SurveyAIItemContextNode {
29
- itemId: string;
30
- itemType: string;
31
- itemKey: string;
32
- fullKey: string;
33
- itemLabel?: string;
34
- siblingKeys: string[];
35
- translations: SurveyAITranslationSnippet[];
36
- descendants: SurveyAIItemContextNode[];
37
- }
38
- interface SurveyAIKeyIndexEntry {
39
- itemId: string;
40
- itemType: string;
41
- key: string;
42
- fullKey: string;
43
- itemLabel?: string;
44
- path: string[];
45
- }
46
- interface SurveyAIContextIndexes {
47
- keyIndex: SurveyAIKeyIndexEntry[];
48
- responseSlots?: string[];
49
- }
50
- interface SurveyAIContextPack {
51
- purpose: SurveyAIContextPurpose;
52
- scope: SurveyAIContextScope;
53
- surveyKey?: string;
54
- locales: string[];
55
- itemCount: number;
56
- outline: SurveyAIOutlineNode[];
57
- focus?: SurveyAIFocus;
58
- focusItem?: SurveyAIItemContextNode;
59
- indexes?: SurveyAIContextIndexes;
60
- flags: {
61
- outlineTruncated: boolean;
62
- rawSurveyIncluded: boolean;
63
- focusItemTreeTruncated: boolean;
64
- };
65
- rawSurvey?: RawSurvey;
66
- }
67
- interface BuildSurveyAIContextPackOptions {
68
- purpose?: SurveyAIContextPurpose;
69
- scope?: SurveyAIContextScope;
70
- focusItemId?: string;
71
- includeRawSurvey?: boolean;
72
- outlineLimit?: number;
73
- includeIndexes?: boolean;
74
- includeFocusItemTree?: boolean;
75
- focusItemTreeLimit?: number;
76
- translationSnippetsPerItemLimit?: number;
77
- translationSnippetTextLimit?: number;
78
- }
79
- declare function buildSurveyAIContextPack(survey: Survey, options?: BuildSurveyAIContextPackOptions): SurveyAIContextPack;
80
- //#endregion
81
3
  //#region src/editor/types.d.ts
82
4
  interface Target {
83
5
  parentId: string;
@@ -89,7 +11,7 @@ type SerializedTranslations = {
89
11
  [locale: string]: JsonComponentContent;
90
12
  };
91
13
  interface SurveyItemClipboardData {
92
- type: 'survey-item';
14
+ type: "survey-item";
93
15
  version: string;
94
16
  items: Array<{
95
17
  itemId: string;
@@ -145,12 +67,12 @@ declare class ItemCopyPaste {
145
67
  */
146
68
  private updateExpressionReferences;
147
69
  /**
148
- * Update translation keys for the pasted item
149
- */
70
+ * Update translation keys for the pasted item
71
+ */
150
72
  private updateTranslations;
151
73
  /**
152
- * Validate clipboard data format
153
- */
74
+ * Validate clipboard data format
75
+ */
154
76
  static isValidClipboardData(data: unknown): data is SurveyItemClipboardData;
155
77
  }
156
78
  //#endregion
@@ -163,8 +85,9 @@ interface UndoRedoConfig {
163
85
  declare const CommitSource: {
164
86
  readonly USER: "user";
165
87
  readonly SYSTEM: "system";
88
+ readonly ASSISTANT: "assistant";
166
89
  };
167
- type CommitSource = typeof CommitSource[keyof typeof CommitSource];
90
+ type CommitSource = (typeof CommitSource)[keyof typeof CommitSource];
168
91
  interface CommitMeta {
169
92
  label: string;
170
93
  source?: CommitSource;
@@ -180,14 +103,22 @@ interface BaseHistoryEntry {
180
103
  memorySize: number;
181
104
  }
182
105
  interface SurveySnapshotHistoryEntry extends BaseHistoryEntry {
183
- kind: 'survey-snapshot';
106
+ kind: "survey-snapshot";
184
107
  survey: RawSurvey;
185
108
  }
186
109
  interface AssetChangeHistoryEntry extends BaseHistoryEntry {
187
- kind: 'asset-change';
110
+ kind: "asset-change";
188
111
  changes: AssetPatch[];
189
112
  }
190
113
  type HistoryEntry = SurveySnapshotHistoryEntry | AssetChangeHistoryEntry;
114
+ interface SurveyEditorHistoryCommit {
115
+ index: number;
116
+ kind: HistoryEntry["kind"];
117
+ meta: CommitMeta;
118
+ timestamp: number;
119
+ memorySize: number;
120
+ isCurrent: boolean;
121
+ }
191
122
  type SerializedHistoryEntry = SurveySnapshotHistoryEntry | AssetChangeHistoryEntry | (BaseHistoryEntry & {
192
123
  survey: RawSurvey;
193
124
  });
@@ -226,12 +157,19 @@ declare class SurveyEditorUndoRedo {
226
157
  */
227
158
  getHistory(): Array<{
228
159
  index: number;
229
- kind: HistoryEntry['kind'];
160
+ kind: HistoryEntry["kind"];
230
161
  meta: CommitMeta;
231
162
  timestamp: number;
232
163
  memorySize: number;
233
164
  isCurrent: boolean;
234
165
  }>;
166
+ /**
167
+ * Get committed history entries after the initial state up to the current index.
168
+ *
169
+ * Redo-only future entries are intentionally omitted so the returned list describes the active
170
+ * change chain from the initial state to the current editor state.
171
+ */
172
+ getCommitsSinceInitial(): SurveyEditorHistoryCommit[];
235
173
  /**
236
174
  * Get the current index in the history
237
175
  */
@@ -277,7 +215,7 @@ declare class SurveyEditorUndoRedo {
277
215
  interface SerializedSurveyEditor {
278
216
  version: string;
279
217
  survey: RawSurvey;
280
- undoRedo: ReturnType<SurveyEditorUndoRedo['serialize']>;
218
+ undoRedo: ReturnType<SurveyEditorUndoRedo["serialize"]>;
281
219
  hasUncommittedChanges: boolean;
282
220
  }
283
221
  interface SurveyEditorConfig extends Partial<UndoRedoConfig> {
@@ -312,6 +250,10 @@ declare class SurveyEditor {
312
250
  entries: number;
313
251
  };
314
252
  getUndoRedoConfig(): UndoRedoConfig;
253
+ /**
254
+ * Get committed changes after the initial editor state up to the current undo/redo position.
255
+ */
256
+ getCommitsSinceInitial(): SurveyEditorHistoryCommit[];
315
257
  /**
316
258
  * Serialize the SurveyEditor state to JSON
317
259
  * @returns A JSON-serializable object containing the complete editor state
@@ -325,6 +267,8 @@ declare class SurveyEditor {
325
267
  */
326
268
  static fromJson(jsonData: SerializedSurveyEditor, pluginRegistry?: ItemTypeRegistry): SurveyEditor;
327
269
  private markAsModified;
270
+ private createEditorTimestamp;
271
+ private touchItemModifiedMetadata;
328
272
  addItem(target: Target, item: SurveyItemCore, content?: SurveyItemTranslations): void;
329
273
  removeItem(itemId: string, nested?: boolean): boolean;
330
274
  moveItem(itemId: string, newTarget: Target): boolean;
@@ -445,5 +389,5 @@ declare class SurveyEditor {
445
389
  pasteItem(clipboardData: SurveyItemClipboardData, target: Target): string;
446
390
  }
447
391
  //#endregion
448
- export { AssetPatch, BuildSurveyAIContextPackOptions, CommitMeta, CommitSource, ItemCopyPaste, SerializedSurveyEditor, SerializedTranslations, SurveyAIContextIndexes, SurveyAIContextPack, SurveyAIContextPurpose, SurveyAIContextScope, SurveyAIFocus, SurveyAIItemContextNode, SurveyAIKeyIndexEntry, SurveyAIOutlineNode, SurveyAITranslationSnippet, SurveyEditor, SurveyEditorConfig, SurveyEditorUndoRedo, SurveyItemClipboardData, Target, UndoRedoConfig, buildSurveyAIContextPack };
392
+ export { AssetPatch, CommitMeta, CommitSource, ItemCopyPaste, SerializedSurveyEditor, SerializedTranslations, SurveyEditor, SurveyEditorConfig, SurveyEditorHistoryCommit, SurveyEditorUndoRedo, SurveyItemClipboardData, Target, UndoRedoConfig };
449
393
  //# 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":"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"}
1
+ {"version":3,"file":"editor.d.mts","names":[],"sources":["../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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"}