@windward/integrations 0.16.0 → 0.17.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/Integration/AiAgentIntegration/ChatWindow.vue +916 -0
  3. package/components/LLM/BloomTaxonomySelector.vue +120 -0
  4. package/components/LLM/ContentSelector.vue +66 -0
  5. package/components/LLM/GenerateContent/AssessmentQuestionGenerateButton.vue +285 -0
  6. package/components/LLM/GenerateContent/BlockQuestionGenerateButton.vue +514 -0
  7. package/components/LLM/GenerateContent/FakeTextStream.vue +67 -0
  8. package/i18n/en-US/components/ai_agent/chat.ts +20 -0
  9. package/i18n/en-US/components/ai_agent/index.ts +5 -0
  10. package/i18n/en-US/components/index.ts +4 -0
  11. package/i18n/en-US/components/llm/blooms.ts +15 -0
  12. package/i18n/en-US/components/llm/content_selector.ts +3 -0
  13. package/i18n/en-US/components/llm/generate_content/fake_text_stream.ts +62 -0
  14. package/i18n/en-US/components/llm/generate_content/generate_questions.ts +81 -0
  15. package/i18n/en-US/components/llm/generate_content/index.ts +7 -0
  16. package/i18n/en-US/components/llm/index.ts +10 -0
  17. package/i18n/en-US/shared/permission.ts +10 -0
  18. package/i18n/en-US/shared/settings.ts +2 -1
  19. package/i18n/es-ES/components/ai_agent/chat.ts +20 -0
  20. package/i18n/es-ES/components/ai_agent/index.ts +5 -0
  21. package/i18n/es-ES/components/index.ts +4 -0
  22. package/i18n/es-ES/components/llm/blooms.ts +15 -0
  23. package/i18n/es-ES/components/llm/content_selector.ts +3 -0
  24. package/i18n/es-ES/components/llm/generate_content/fake_text_stream.ts +62 -0
  25. package/i18n/es-ES/components/llm/generate_content/generate_questions.ts +85 -0
  26. package/i18n/es-ES/components/llm/generate_content/index.ts +7 -0
  27. package/i18n/es-ES/components/llm/index.ts +10 -0
  28. package/i18n/es-ES/shared/permission.ts +10 -0
  29. package/i18n/es-ES/shared/settings.ts +2 -1
  30. package/i18n/sv-SE/components/ai_agent/chat.ts +19 -0
  31. package/i18n/sv-SE/components/ai_agent/index.ts +5 -0
  32. package/i18n/sv-SE/components/index.ts +4 -0
  33. package/i18n/sv-SE/components/llm/blooms.ts +15 -0
  34. package/i18n/sv-SE/components/llm/content_selector.ts +3 -0
  35. package/i18n/sv-SE/components/llm/generate_content/fake_text_stream.ts +62 -0
  36. package/i18n/sv-SE/components/llm/generate_content/generate_questions.ts +82 -0
  37. package/i18n/sv-SE/components/llm/generate_content/index.ts +7 -0
  38. package/i18n/sv-SE/components/llm/index.ts +10 -0
  39. package/i18n/sv-SE/shared/permission.ts +10 -0
  40. package/i18n/sv-SE/shared/settings.ts +1 -0
  41. package/models/Activity.ts +8 -0
  42. package/models/AgentChat.ts +12 -0
  43. package/models/AgentChatMessage.ts +12 -0
  44. package/package.json +2 -1
  45. package/plugin.js +34 -1
@@ -0,0 +1,82 @@
1
+ export default {
2
+ errors: {
3
+ default: 'Kunde inte generera fråga från tillhandahållet innehåll.',
4
+ default_support:
5
+ 'Försök igen eller kontakta supporten om problemet kvarstår.',
6
+
7
+ insufficient_content: 'Mer innehåll behövs för att generera frågor.',
8
+ insufficient_content_support:
9
+ 'Vänligen lägg till mer text, exempel eller förklaringar till det här avsnittet. Vi rekommenderar minst 2-3 stycken innehåll.',
10
+
11
+ insufficient_content_dynamic:
12
+ 'Otillräckligt innehåll för att generera kvalitetsfrågor.',
13
+ insufficient_content_dynamic_support:
14
+ 'Vänligen lägg till mer detaljerad text, exempel eller förklaringar till detta avsnitt. Vi rekommenderar minst {minimumRequired} ord av relevant innehåll för att generera lämpliga frågor.',
15
+
16
+ content_mismatch: 'Innehållet matchar inte frågetyp.',
17
+ content_mismatch_support:
18
+ 'Vänligen lägg till mer text, exempel eller förklaringar till detta avsnitt. Vi rekommenderar minst 50 ord av relevant innehåll för att generera lämpliga frågor.',
19
+
20
+ content_mismatch_bucket_game:
21
+ 'Innehållet är inte lämpligt för kategorispel.',
22
+ content_mismatch_bucket_game_support:
23
+ 'Överväg att lägga till innehåll med tydliga kategorier och flera sorterbara objekt som kan grupperas i 2-4 distinkta kategorier.',
24
+
25
+ content_mismatch_matching_game:
26
+ 'Innehållet är inte lämpligt för matchningsspel.',
27
+ content_mismatch_matching_game_support:
28
+ 'Överväg att lägga till innehåll som uttryckligen definierar relationer mellan termer, koncept eller kategorier som elever kan matcha.',
29
+
30
+ content_mismatch_sorting_game:
31
+ 'Innehållet är inte lämpligt för sorteringsspel.',
32
+ content_mismatch_sorting_game_support:
33
+ 'Överväg att lägga till innehåll med sekventiella steg, kronologiska händelser eller objekt som har en tydlig logisk ordning för elever att arrangera.',
34
+
35
+ content_mismatch_scenario_game:
36
+ 'Innehållet är inte lämpligt för scenariospel.',
37
+ content_mismatch_scenario_game_support:
38
+ 'Överväg att lägga till innehåll som beskriver koncept, processer eller principer som kan tillämpas i verkliga scenarier.',
39
+
40
+ content_mismatch_word_jumble:
41
+ 'Innehållet är inte lämpligt för ordvirrvarr-spel.',
42
+ content_mismatch_word_jumble_support:
43
+ 'Överväg att lägga till innehåll med tydliga vokabulärtermer, ordlistor eller nyckelkoncept som kan blandas.',
44
+
45
+ content_mismatch_multiple_choice:
46
+ 'Innehållet är inte lämpligt för flervalsfrågor.',
47
+ content_mismatch_multiple_choice_support:
48
+ 'Överväg att lägga till tydlig, förklarande text med distinkta koncept, definitioner eller exempel som stödjer skapandet av frågor och distraktorer.',
49
+
50
+ character_limit:
51
+ 'Ett fel uppstod när innehållet genererades. Försök generera igen.',
52
+ character_limit_detailed:
53
+ 'Fältet {field} överskrider gränsen på {limit} tecken (för närvarande {actual} tecken). Försök generera igen med kortare innehåll.',
54
+
55
+ llm_unavailable: 'Frågegenerering tillfälligt otillgänglig.',
56
+ llm_unavailable_support:
57
+ 'Vi kan inte ansluta till vår AI-tjänst för tillfället. Försök igen om några minuter.',
58
+
59
+ technical: 'Kan inte behandla begäran.',
60
+ technical_support:
61
+ 'Något gick fel. Försök igen eller kontakta supporten om detta fortsätter.',
62
+ },
63
+ button_label: 'Generera fråga',
64
+ button_label_flashcard: 'Generera flashkort',
65
+ button_label_bucket_game: 'Generera kategorier',
66
+ button_label_matching_game: 'Generera matchningar',
67
+ button_label_sorting_game: 'Generera objekt',
68
+ button_label_scenario_game: 'Generera scenarier',
69
+ button_label_word_jumble: 'Generera objekt',
70
+ button_label_seven_strikes: 'Generera objekt',
71
+ button_label_multiple_choice: 'Generera frågor',
72
+
73
+ replace_existing_flashcard: 'Ersätt befintliga flashcards',
74
+ replace_existing_bucket_game: 'Ersätt befintliga hinkar',
75
+ replace_existing_matching_game: 'Ersätt befintliga matchningar',
76
+ replace_existing_sorting_game: 'Ersätt befintliga objekt',
77
+ replace_existing_word_jumble: 'Ersätt befintliga ord',
78
+ replace_existing_multiple_choice: 'Ersätt befintliga frågor',
79
+ replace_existing: 'Ersätt befintlig',
80
+
81
+ replaces_content: 'Ersätter aktuellt blockinnehåll.',
82
+ }
@@ -0,0 +1,7 @@
1
+ import generateQuestions from './generate_questions'
2
+ import fakeTextStream from './fake_text_stream'
3
+
4
+ export default {
5
+ generate_questions: generateQuestions,
6
+ fake_text_stream: fakeTextStream,
7
+ }
@@ -0,0 +1,10 @@
1
+ import generateContent from './generate_content'
2
+ import blooms from './blooms'
3
+ import contentSelector from './content_selector'
4
+
5
+ export default {
6
+ ai_assistance: 'AI-hjälp',
7
+ generate_content: generateContent,
8
+ blooms,
9
+ content_selector: contentSelector,
10
+ }
@@ -10,6 +10,16 @@ export default {
10
10
  'plugin->windward->integrations->content': 'Innehållsintegrationer',
11
11
  'plugin->windward->integrations->course->externalIntegration':
12
12
  'Externa integrationer (LTI / SCORM / etc)',
13
+ 'plugin->windward->integrations->ai':
14
+ 'Globala behörigheter för generativ AI',
15
+ 'plugin->windward->integrations->ai->integration':
16
+ 'Behörigheter för att ändra AI‑uppmaningar',
17
+ 'plugin->windward->integrations->organization->ai':
18
+ 'Behörigheter för generativ AI endast i användarens nuvarande organisation',
19
+ 'plugin->windward->integrations->organization->aiAgentChat':
20
+ 'Tillåt åtkomst till AI‑agent',
21
+ 'plugin->windward->integrations->organization->course->ai':
22
+ 'Behörigheter för generativ AI endast i användarens nuvarande organisation och kurs för innehållsgenerering',
13
23
  },
14
24
 
15
25
  type_description: {
@@ -1,6 +1,7 @@
1
1
  export default {
2
2
  title: {
3
3
  lti_consumer: 'LTI konsument',
4
+ ai_chat: 'AI-chatt',
4
5
  },
5
6
  errors: {
6
7
  input_limitations: 'Måste vara mindre än {0} tecken.',
@@ -0,0 +1,8 @@
1
+ import Model from '~/models/Model'
2
+
3
+ export default class Activity extends Model {
4
+ // Set the resource route of the model
5
+ resource() {
6
+ return 'activities'
7
+ }
8
+ }
@@ -0,0 +1,12 @@
1
+ import Model from '~/models/Model'
2
+
3
+ export default class AgentChat extends Model {
4
+ get required(): string[] {
5
+ return []
6
+ }
7
+
8
+ // Set the resource route of the model
9
+ resource() {
10
+ return 'agent-chat'
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ import Model from '~/models/Model'
2
+
3
+ export default class AgentChatMessage extends Model {
4
+ get required(): string[] {
5
+ return []
6
+ }
7
+
8
+ // Set the resource route of the model
9
+ resource() {
10
+ return 'messages'
11
+ }
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windward/integrations",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "Windward UI Plugin Integrations for 3rd Party Systems",
5
5
  "main": "plugin.js",
6
6
  "scripts": {
@@ -21,6 +21,7 @@
21
21
  "license": "MIT",
22
22
  "homepage": "https://bitbucket.org/mindedge/windward-ui-plugin-integrations#readme",
23
23
  "dependencies": {
24
+ "@mindedge/vue-api-query": "^1.15.1",
24
25
  "@windward/core": "^0.8.0",
25
26
  "canvas-confetti": "^1.6.0",
26
27
  "eslint": "^8.11.0",
package/plugin.js CHANGED
@@ -16,6 +16,10 @@ import FileImportGoogleDrive from './components/FileImport/GoogleDrive.vue'
16
16
  import FileImportDropbox from './components/FileImport/Dropbox.vue'
17
17
 
18
18
  import CourseJobLog from './components/Navigation/Items/CourseJobLog.vue'
19
+ import ChatWindow from './components/Integration/AiAgentIntegration/ChatWindow.vue'
20
+
21
+ import AssessmentQuestionGenerateButton from './components/LLM/GenerateContent/AssessmentQuestionGenerateButton.vue'
22
+ import BlockQuestionGenerateButton from './components/LLM/GenerateContent/BlockQuestionGenerateButton.vue'
19
23
 
20
24
  export default {
21
25
  name: 'windward.integrations.name',
@@ -149,6 +153,19 @@ export default {
149
153
  },
150
154
  },
151
155
  },
156
+ {
157
+ tag: 'windward-integrations-ai-chat-agent',
158
+ template: ChatWindow,
159
+ context: ['course'],
160
+ icon: 'mdi-chat-outline',
161
+ i18n: 'windward.integrations.shared.settings.title.ai_chat',
162
+ display: ['toolpanel'],
163
+ permissions: {
164
+ 'plugin.windward.integrations.organization.aiAgentChat': {
165
+ writable: true,
166
+ },
167
+ },
168
+ },
152
169
  ],
153
170
  contentBlock: [
154
171
  {
@@ -162,7 +179,7 @@ export default {
162
179
  },
163
180
  },
164
181
  ],
165
- settings: [
182
+ contentBlockSetting: [
166
183
  {
167
184
  tag: 'windward-integrations-lti-consumer-settings',
168
185
  template: LtiConsumerBlockSettings,
@@ -172,6 +189,8 @@ export default {
172
189
  name: 'windward.integrations.shared.settings.title.lti_consumer',
173
190
  },
174
191
  },
192
+ ],
193
+ courseSetting: [
175
194
  {
176
195
  tag: 'windward-integrations-external-integration-settings',
177
196
  template: ManageCourseIntegrationSettings,
@@ -215,6 +234,20 @@ export default {
215
234
  },
216
235
  },
217
236
  ],
237
+ contentBlockSettingTool: [
238
+ {
239
+ tag: 'windward-integrations-llm-activity-generate',
240
+ template: BlockQuestionGenerateButton,
241
+ context: ['block'],
242
+ },
243
+ ],
244
+ contentBlockSettingAssessmentTool: [
245
+ {
246
+ tag: 'windward-integrations-llm-assessment-question-generate',
247
+ template: AssessmentQuestionGenerateButton,
248
+ context: ['block.content-blocks-assessment'],
249
+ },
250
+ ],
218
251
  },
219
252
  services: {
220
253
  Integration: IntegrationHelper,