@rtsee/messenger-signaling 0.0.124 → 0.0.126

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 (166) hide show
  1. package/dist/messenger-signaling/src/interfaces/ozzy/tasks/Task.d.ts +8 -0
  2. package/dist/messenger-signaling/src/interfaces/ozzy/tasks/Task.d.ts.map +1 -1
  3. package/dist/messenger-signaling/src/models/RTSeeMessengerSignaling.d.ts.map +1 -1
  4. package/dist/messenger-signaling/src/models/RTSeeMessengerSignaling.js +28 -0
  5. package/dist/messenger-signaling/src/models/RTSeeMessengerSignaling.js.map +1 -1
  6. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryCreatorTask.d.ts +1 -45
  7. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryCreatorTask.d.ts.map +1 -1
  8. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryCreatorTask.js +15 -372
  9. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryCreatorTask.js.map +1 -1
  10. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryRepairTask.d.ts +1 -24
  11. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryRepairTask.d.ts.map +1 -1
  12. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryRepairTask.js +15 -670
  13. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryRepairTask.js.map +1 -1
  14. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryTranslateInPlaceTask.d.ts +1 -20
  15. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryTranslateInPlaceTask.d.ts.map +1 -1
  16. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryTranslateInPlaceTask.js +15 -460
  17. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryTranslateInPlaceTask.js.map +1 -1
  18. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryTranslatorTask.d.ts +1 -24
  19. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryTranslatorTask.d.ts.map +1 -1
  20. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryTranslatorTask.js +15 -200
  21. package/dist/messenger-signaling/src/models/ozzy/tasks/StoryTranslatorTask.js.map +1 -1
  22. package/dist/messenger-signaling/src/models/ozzy/tasks/Task.d.ts +16 -3
  23. package/dist/messenger-signaling/src/models/ozzy/tasks/Task.d.ts.map +1 -1
  24. package/dist/messenger-signaling/src/models/ozzy/tasks/Task.js +72 -7
  25. package/dist/messenger-signaling/src/models/ozzy/tasks/Task.js.map +1 -1
  26. package/dist/messenger-signaling/src/models/ozzy/tasks/TaskAction.d.ts +54 -0
  27. package/dist/messenger-signaling/src/models/ozzy/tasks/TaskAction.d.ts.map +1 -0
  28. package/dist/messenger-signaling/src/models/ozzy/tasks/TaskAction.js +204 -0
  29. package/dist/messenger-signaling/src/models/ozzy/tasks/TaskAction.js.map +1 -0
  30. package/dist/messenger-signaling/src/models/ozzy/tasks/TasksManager.d.ts +16 -2
  31. package/dist/messenger-signaling/src/models/ozzy/tasks/TasksManager.d.ts.map +1 -1
  32. package/dist/messenger-signaling/src/models/ozzy/tasks/TasksManager.js +76 -4
  33. package/dist/messenger-signaling/src/models/ozzy/tasks/TasksManager.js.map +1 -1
  34. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateSlideAction.d.ts +10 -0
  35. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateSlideAction.d.ts.map +1 -0
  36. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateSlideAction.js +24 -0
  37. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateSlideAction.js.map +1 -0
  38. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateStoryAction.d.ts +10 -0
  39. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateStoryAction.d.ts.map +1 -0
  40. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateStoryAction.js +24 -0
  41. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateStoryAction.js.map +1 -0
  42. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateStoryElementAction.d.ts +15 -0
  43. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateStoryElementAction.d.ts.map +1 -0
  44. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateStoryElementAction.js +29 -0
  45. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/CreateStoryElementAction.js.map +1 -0
  46. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/EditSlideAction.d.ts +9 -0
  47. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/EditSlideAction.d.ts.map +1 -0
  48. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/EditSlideAction.js +25 -0
  49. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/EditSlideAction.js.map +1 -0
  50. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/EditStoryAction.d.ts +9 -0
  51. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/EditStoryAction.d.ts.map +1 -0
  52. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/EditStoryAction.js +24 -0
  53. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/EditStoryAction.js.map +1 -0
  54. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/LoadStorySlidesAction.d.ts +19 -0
  55. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/LoadStorySlidesAction.d.ts.map +1 -0
  56. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/LoadStorySlidesAction.js +35 -0
  57. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/LoadStorySlidesAction.js.map +1 -0
  58. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/ResolveAgentAction.d.ts +19 -0
  59. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/ResolveAgentAction.d.ts.map +1 -0
  60. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/ResolveAgentAction.js +34 -0
  61. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/ResolveAgentAction.js.map +1 -0
  62. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/index.d.ts +8 -0
  63. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/index.d.ts.map +1 -0
  64. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/index.js +24 -0
  65. package/dist/messenger-signaling/src/models/ozzy/tasks/common/actions/index.js.map +1 -0
  66. package/dist/messenger-signaling/src/models/ozzy/tasks/index.d.ts +6 -4
  67. package/dist/messenger-signaling/src/models/ozzy/tasks/index.d.ts.map +1 -1
  68. package/dist/messenger-signaling/src/models/ozzy/tasks/index.js +6 -4
  69. package/dist/messenger-signaling/src/models/ozzy/tasks/index.js.map +1 -1
  70. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/StoryCreatorTask.d.ts +33 -0
  71. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/StoryCreatorTask.d.ts.map +1 -0
  72. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/StoryCreatorTask.js +154 -0
  73. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/StoryCreatorTask.js.map +1 -0
  74. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/actions/GenerateStoryDraftAction.d.ts +47 -0
  75. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/actions/GenerateStoryDraftAction.d.ts.map +1 -0
  76. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/actions/GenerateStoryDraftAction.js +231 -0
  77. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/actions/GenerateStoryDraftAction.js.map +1 -0
  78. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/actions/index.d.ts +2 -0
  79. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/actions/index.d.ts.map +1 -0
  80. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/actions/index.js +18 -0
  81. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/actions/index.js.map +1 -0
  82. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/index.d.ts +3 -0
  83. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/index.d.ts.map +1 -0
  84. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/index.js +19 -0
  85. package/dist/messenger-signaling/src/models/ozzy/tasks/story-creator/index.js.map +1 -0
  86. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/StoryRepairTask.d.ts +20 -0
  87. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/StoryRepairTask.d.ts.map +1 -0
  88. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/StoryRepairTask.js +370 -0
  89. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/StoryRepairTask.js.map +1 -0
  90. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/GenerateStoryRepairDraftAction.d.ts +45 -0
  91. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/GenerateStoryRepairDraftAction.d.ts.map +1 -0
  92. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/GenerateStoryRepairDraftAction.js +246 -0
  93. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/GenerateStoryRepairDraftAction.js.map +1 -0
  94. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/LoadStoryForRepairAction.d.ts +23 -0
  95. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/LoadStoryForRepairAction.d.ts.map +1 -0
  96. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/LoadStoryForRepairAction.js +71 -0
  97. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/LoadStoryForRepairAction.js.map +1 -0
  98. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/SanitizeStoryImagesAction.d.ts +13 -0
  99. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/SanitizeStoryImagesAction.d.ts.map +1 -0
  100. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/SanitizeStoryImagesAction.js +38 -0
  101. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/SanitizeStoryImagesAction.js.map +1 -0
  102. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/UpdateStoryElementAction.d.ts +14 -0
  103. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/UpdateStoryElementAction.d.ts.map +1 -0
  104. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/UpdateStoryElementAction.js +29 -0
  105. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/UpdateStoryElementAction.js.map +1 -0
  106. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/index.d.ts +5 -0
  107. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/index.d.ts.map +1 -0
  108. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/index.js +21 -0
  109. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/actions/index.js.map +1 -0
  110. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/index.d.ts +3 -0
  111. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/index.d.ts.map +1 -0
  112. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/index.js +19 -0
  113. package/dist/messenger-signaling/src/models/ozzy/tasks/story-repair/index.js.map +1 -0
  114. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/StoryTranslateInPlaceTask.d.ts +16 -0
  115. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/StoryTranslateInPlaceTask.d.ts.map +1 -0
  116. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/StoryTranslateInPlaceTask.js +181 -0
  117. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/StoryTranslateInPlaceTask.js.map +1 -0
  118. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/LoadStoryForTranslationAction.d.ts +61 -0
  119. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/LoadStoryForTranslationAction.d.ts.map +1 -0
  120. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/LoadStoryForTranslationAction.js +165 -0
  121. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/LoadStoryForTranslationAction.js.map +1 -0
  122. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveElementTranslationAction.d.ts +18 -0
  123. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveElementTranslationAction.d.ts.map +1 -0
  124. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveElementTranslationAction.js +67 -0
  125. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveElementTranslationAction.js.map +1 -0
  126. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveSlideTranslationAction.d.ts +13 -0
  127. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveSlideTranslationAction.d.ts.map +1 -0
  128. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveSlideTranslationAction.js +33 -0
  129. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveSlideTranslationAction.js.map +1 -0
  130. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveStoryTranslationAction.d.ts +10 -0
  131. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveStoryTranslationAction.d.ts.map +1 -0
  132. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveStoryTranslationAction.js +28 -0
  133. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/SaveStoryTranslationAction.js.map +1 -0
  134. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/TranslateStoryInPlaceLlmAction.d.ts +17 -0
  135. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/TranslateStoryInPlaceLlmAction.d.ts.map +1 -0
  136. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/TranslateStoryInPlaceLlmAction.js +143 -0
  137. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/TranslateStoryInPlaceLlmAction.js.map +1 -0
  138. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/index.d.ts +6 -0
  139. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/index.d.ts.map +1 -0
  140. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/index.js +22 -0
  141. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/actions/index.js.map +1 -0
  142. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/index.d.ts +3 -0
  143. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/index.d.ts.map +1 -0
  144. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/index.js +19 -0
  145. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translate-in-place/index.js.map +1 -0
  146. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/StoryTranslatorTask.d.ts +16 -0
  147. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/StoryTranslatorTask.d.ts.map +1 -0
  148. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/StoryTranslatorTask.js +94 -0
  149. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/StoryTranslatorTask.js.map +1 -0
  150. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/CloneStoryAction.d.ts +14 -0
  151. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/CloneStoryAction.d.ts.map +1 -0
  152. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/CloneStoryAction.js +26 -0
  153. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/CloneStoryAction.js.map +1 -0
  154. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/TranslateStoryContentAction.d.ts +24 -0
  155. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/TranslateStoryContentAction.d.ts.map +1 -0
  156. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/TranslateStoryContentAction.js +91 -0
  157. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/TranslateStoryContentAction.js.map +1 -0
  158. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/index.d.ts +3 -0
  159. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/index.d.ts.map +1 -0
  160. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/index.js +19 -0
  161. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/actions/index.js.map +1 -0
  162. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/index.d.ts +3 -0
  163. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/index.d.ts.map +1 -0
  164. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/index.js +19 -0
  165. package/dist/messenger-signaling/src/models/ozzy/tasks/story-translator/index.js.map +1 -0
  166. package/package.json +2 -2
@@ -1,203 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StoryTranslatorTask = void 0;
4
- exports.getStoryTranslatorTask = getStoryTranslatorTask;
5
- const common_1 = require("@rtsee/common");
6
- const Task_js_1 = require("./Task.js");
7
- const MAX_SLIDES_PER_STORY = 500;
8
- const MIN_OUTPUT_TOKENS = 1024;
9
- const MAX_OUTPUT_TOKENS = 32000;
10
- /**
11
- * Kept short on purpose: the system prompt is billed on every call,
12
- * the payload itself carries all the content.
13
- */
14
- function buildSystemPrompt(language) {
15
- return `You are a professional literary translator of children's and family stories.
16
- Translate every string value of the user's JSON into ${language.name} (${language.code}).
17
-
18
- Rules:
19
- - Translate faithfully and completely: never summarize, shorten, add, or explain anything.
20
- - Keep the tone, style, rhythm, humor, and age-appropriate vocabulary of the original; the result must read as if originally written in ${language.name}.
21
- - Adapt character and place names the way published ${language.name} translations do (conventional forms or natural transliteration). Translate each name consistently across all fields.
22
- - Preserve paragraph breaks, line breaks, dialogue punctuation conventions of ${language.name}, emojis, and any markup.
23
- - If a value is already in ${language.name}, polish it lightly but keep its meaning.
24
- - Keep JSON keys and "id" values unchanged; return exactly the same slides in the same order.
25
-
26
- Respond with ONLY the minified JSON object of the same shape: {"name":string,"description":string,"slides":[{"id":number,"text":string}]}`;
27
- }
28
- /**
29
- * Clones a story with all its slides and translates the clone (name, description, slides' text)
30
- * into the target language with a single LLM call.
31
- */
32
- class StoryTranslatorTask extends Task_js_1.OzzyTask {
33
- presentation;
34
- constructor(options, presentation) {
35
- super(options);
36
- this.presentation = presentation;
37
- }
38
- async execute() {
39
- const language = this.validateInput();
40
- const agent = await this.resolveAgent();
41
- this.log(`Cloning story "${this.input.storyName || this.input.storyId}"...`);
42
- const clone = await this.presentation.cloneStory(this.transport, { storyId: this.input.storyId });
43
- this.log(`Story cloned (id: ${clone.id}), loading slides...`);
44
- const slides = await this.loadSlides(clone.id);
45
- this.log(`Loaded ${slides.length} slide(s).`);
46
- const payload = {
47
- name: clone.name || '',
48
- description: clone.description || '',
49
- slides: slides
50
- .map((slide, index) => ({ id: index + 1, text: slide.text || '' }))
51
- // empty slides (e.g. image-only) don't need to be paid for
52
- .filter((s) => !!s.text.trim()),
53
- };
54
- const translation = await this.translate(payload, language, agent);
55
- const name = translation.name || clone.name;
56
- const description = translation.description || clone.description || '';
57
- this.log('Saving translated story...');
58
- await this.presentation.editStory(this.transport, {
59
- ...clone,
60
- name,
61
- description,
62
- });
63
- const translatedTexts = new Map(translation.slides.map((s) => [s.id, s.text]));
64
- let missing = 0;
65
- for (let i = 0; i < slides.length; i++) {
66
- const slide = slides[i];
67
- if (!slide.text?.trim()) {
68
- continue;
69
- }
70
- const text = translatedTexts.get(i + 1);
71
- if (!text) {
72
- missing++;
73
- this.log(`Slide ${i + 1} is missing in the translation, keeping the original text.`, 'warn');
74
- continue;
75
- }
76
- try {
77
- await this.presentation.editSlide(this.transport, {
78
- ...slide,
79
- name: slide.name || `${name} #${slide.slideNumber || i + 1}`,
80
- text,
81
- });
82
- this.log(`Slide ${i + 1}/${slides.length} saved.`);
83
- }
84
- catch (e) {
85
- missing++;
86
- this.log(`Failed to save slide ${i + 1}: ${e?.message || e}`, 'warn');
87
- }
88
- }
89
- if (missing) {
90
- this.log(`${missing} slide(s) were left untranslated, please review them in the editor.`, 'warn');
91
- }
92
- this.log(`Story translated to ${language.name}.`);
93
- return {
94
- storyId: clone.id,
95
- originalStoryId: this.input.storyId,
96
- language: language.code,
97
- name,
98
- description,
99
- slidesCount: slides.length,
100
- };
101
- }
102
- validateInput() {
103
- if (!this.input?.storyId) {
104
- throw new Error('Story is required.');
105
- }
106
- if (!this.input?.agentId) {
107
- throw new Error('Agent is required.');
108
- }
109
- const language = (0, common_1.getStoryTranslatorLanguage)(this.input.language);
110
- if (!language) {
111
- throw new Error(`Unsupported language "${this.input?.language}".`);
112
- }
113
- return language;
114
- }
115
- async loadSlides(storyId) {
116
- const response = await this.presentation.getSlides(this.transport, {
117
- storyId,
118
- slideNumber: -1,
119
- direction: 'front',
120
- limit: MAX_SLIDES_PER_STORY,
121
- });
122
- return [...(response?.slides || [])].sort((a, b) => (a.slideNumber || 0) - (b.slideNumber || 0));
123
- }
124
- async resolveAgent() {
125
- this.log('Resolving selected agent...');
126
- const member = await this.context.getChatMember(this.chatId, this.input.agentId);
127
- if (!member || !member.isAgent || !member.agentConfiguration) {
128
- throw new Error('Selected agent is not an agentic member of this chat.');
129
- }
130
- return member;
131
- }
132
- async translate(payload, language, agent) {
133
- const prompt = JSON.stringify(payload);
134
- // the agent's own system prompt is intentionally not sent: it's billed on every call
135
- // and a persona could bias a faithful translation, only its model is used
136
- const model = agent.agentConfiguration.model?.model;
137
- this.log(`Asking ${agent.name || agent.agentConfiguration.name} (${model || 'default model'}) ` +
138
- `to translate ${payload.slides.length} slide(s) to ${language.name}...`);
139
- const { text, cost } = await this.context.ozzy.complete({
140
- prompt,
141
- systemPrompt: buildSystemPrompt(language),
142
- transport: this.transport,
143
- model,
144
- agentId: agent.id,
145
- maxTokens: this.estimateMaxTokens(prompt),
146
- });
147
- if (cost) {
148
- const fmt = (n) => (n || 0).toLocaleString('en-US');
149
- this.log(`Token usage: ${fmt(cost.inputTokens)} in / ${fmt(cost.outputTokens)} out / ${fmt(cost.totalTokens)} total`, 'info', cost);
150
- }
151
- return this.parseTranslation(text, payload);
152
- }
153
- /**
154
- * Output is roughly as long as the input; Cyrillic tokenizes ~1.5-2x heavier than latin,
155
- * so leave enough headroom to never truncate the JSON (only produced tokens are billed).
156
- */
157
- estimateMaxTokens(prompt) {
158
- const estimated = Math.ceil(prompt.length * 1.5) + 512;
159
- return Math.min(MAX_OUTPUT_TOKENS, Math.max(MIN_OUTPUT_TOKENS, estimated));
160
- }
161
- parseTranslation(text, original) {
162
- if (!text || !text.trim()) {
163
- throw new Error('Translation response is empty.');
164
- }
165
- const start = text.indexOf('{');
166
- const end = text.lastIndexOf('}');
167
- if (start === -1 || end <= start) {
168
- throw new Error('No JSON object found in the translation response.');
169
- }
170
- let candidate = text.substring(start, end + 1).trim();
171
- candidate = candidate.replace(/^```json\s*/i, '').replace(/```$/i, '').trim();
172
- let parsed;
173
- try {
174
- parsed = JSON.parse(candidate);
175
- }
176
- catch (firstError) {
177
- // Attempt to clean trailing commas before closing braces/brackets
178
- const cleaned = candidate.replace(/,\s*([\]}])/g, '$1');
179
- parsed = JSON.parse(cleaned);
180
- }
181
- const originalIds = new Set(original.slides.map((s) => s.id));
182
- const slides = (Array.isArray(parsed.slides) ? parsed.slides : [])
183
- .map((s) => ({ id: Number(s?.id), text: `${s?.text ?? ''}`.trim() }))
184
- .filter((s) => originalIds.has(s.id) && !!s.text);
185
- if (original.slides.length && !slides.length) {
186
- throw new Error('Translation response contains no slides.');
187
- }
188
- return {
189
- name: `${parsed.name ?? ''}`.trim(),
190
- description: `${parsed.description ?? ''}`.trim(),
191
- slides,
192
- };
193
- }
194
- }
195
- exports.StoryTranslatorTask = StoryTranslatorTask;
196
- function getStoryTranslatorTask(presentation) {
197
- return {
198
- name: common_1.STORY_TRANSLATOR_TASK_NAME,
199
- description: 'Clones a Story with its Slides and translates the clone into another language.',
200
- create: (options) => new StoryTranslatorTask(options, presentation),
201
- };
202
- }
17
+ __exportStar(require("./story-translator/index.js"), exports);
203
18
  //# sourceMappingURL=StoryTranslatorTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoryTranslatorTask.js","sourceRoot":"","sources":["../../../../../../src/models/ozzy/tasks/StoryTranslatorTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StoryTranslatorTask.js","sourceRoot":"","sources":["../../../../../../src/models/ozzy/tasks/StoryTranslatorTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}
@@ -1,12 +1,13 @@
1
- import { IOzzyTask, IOzzyTaskError, IOzzyTaskInfo, IOzzyTaskLog, OzzyTaskEvents, OzzyTaskLogLevel, OzzyTaskStatus } from "@rtsee/common";
1
+ import { IOzzyTask, IOzzyTaskActionPrompt, IOzzyTaskError, IOzzyTaskInfo, IOzzyTaskLog, OzzyTaskEvents, OzzyTaskLogLevel, OzzyTaskStatus } from "@rtsee/common";
2
2
  import { IRTSeeTransport } from "@rtsee/core";
3
3
  import { IOzzyTaskContext, IOzzyTaskOptions } from "@rtsee/messenger-signaling";
4
+ import type { OzzyTaskAction } from "./TaskAction.js";
4
5
  /**
5
6
  * Base server-side executable controlled by Ozzy.
6
- * Extend it and implement `execute()`; use `this.log()` to stream progress to the chat.
7
+ * Extend it and implement `execute()`; use `this.runAction(...)` to execute atomic actions.
7
8
  *
8
9
  * Lifecycle: init() -> run() [beforeExecute -> execute -> onSuccess | onError]
9
- * Inputs / outputs / logs are stored in s3, their paths are persisted to Postgres.
10
+ * Inputs / outputs / action payloads are stored in s3, their paths are persisted to Postgres.
10
11
  */
11
12
  export declare abstract class OzzyTask<I = any, O = any> implements IOzzyTask<I, O> {
12
13
  id: string;
@@ -18,6 +19,8 @@ export declare abstract class OzzyTask<I = any, O = any> implements IOzzyTask<I,
18
19
  logsPath?: string;
19
20
  errors: IOzzyTaskError[];
20
21
  logs: IOzzyTaskLog[];
22
+ actions: OzzyTaskAction[];
23
+ prompts: IOzzyTaskActionPrompt[];
21
24
  status: OzzyTaskStatus;
22
25
  chatId: string;
23
26
  workflowId?: string;
@@ -25,12 +28,21 @@ export declare abstract class OzzyTask<I = any, O = any> implements IOzzyTask<I,
25
28
  createdBy?: string;
26
29
  createdAt?: Date;
27
30
  protected context: IOzzyTaskContext;
31
+ private pendingPrompts;
28
32
  constructor(options: IOzzyTaskOptions<I>);
29
33
  abstract execute(): Promise<O>;
30
34
  get transport(): IRTSeeTransport;
31
35
  get isRunning(): boolean;
36
+ getContext(): IOzzyTaskContext;
32
37
  /** Switch execution context, e.g. when another chat member presses "execute" */
33
38
  setContext(context: IOzzyTaskContext): void;
39
+ /** Execute an atomic OzzyTaskAction and track it on this task */
40
+ protected runAction<A extends OzzyTaskAction<any, any>>(action: A): Promise<Awaited<ReturnType<A['execute']>>>;
41
+ /**
42
+ * Send an interactive prompt to the chat room and wait for a chat member to respond.
43
+ */
44
+ prompt<P = any, R = any>(name: string, data?: P, action?: OzzyTaskAction): Promise<R>;
45
+ resolvePrompt<R = any>(promptId: string, response: R, resolvedBy?: string): IOzzyTaskActionPrompt | null;
34
46
  /** Restore persisted state (used when the task is loaded from storage) */
35
47
  hydrate(info: IOzzyTaskInfo<I, O>): void;
36
48
  /** Persist the task (input -> s3, record -> Postgres) and notify the chat */
@@ -49,4 +61,5 @@ export declare abstract class OzzyTask<I = any, O = any> implements IOzzyTask<I,
49
61
  private propagateToS3Location;
50
62
  private saveUpdates;
51
63
  }
64
+ export { OzzyTask as RTSeeTask };
52
65
  //# sourceMappingURL=Task.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../../../../src/models/ozzy/tasks/Task.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EAEd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAa,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEhF;;;;;;GAMG;AACH,8BAAsB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAM;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAM;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAM;IACvB,MAAM,EAAE,cAAc,EAAE,CAAM;IAC9B,IAAI,EAAE,YAAY,EAAE,CAAM;IAC1B,MAAM,EAAE,cAAc,CAA0B;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;gBAExB,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAgBxC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC;IAE9B,IAAI,SAAS,IAAI,eAAe,CAE/B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,gFAAgF;IAChF,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI3C,0EAA0E;IAC1E,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAkBxC,6EAA6E;IACvE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAe9B,MAAM,CAAC,eAAe,GAAE,OAAc,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IA0B5D;;;OAGG;IACH,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAyB,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IAmBzF,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI;YActD,aAAa;YASb,SAAS;YAQT,OAAO;YAkBP,qBAAqB;YAMrB,WAAW;CAU1B"}
1
+ {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../../../../src/models/ozzy/tasks/Task.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OzzyTask = void 0;
3
+ exports.RTSeeTask = exports.OzzyTask = void 0;
4
4
  const common_1 = require("@rtsee/common");
5
5
  const core_1 = require("@rtsee/core");
6
6
  /**
7
7
  * Base server-side executable controlled by Ozzy.
8
- * Extend it and implement `execute()`; use `this.log()` to stream progress to the chat.
8
+ * Extend it and implement `execute()`; use `this.runAction(...)` to execute atomic actions.
9
9
  *
10
10
  * Lifecycle: init() -> run() [beforeExecute -> execute -> onSuccess | onError]
11
- * Inputs / outputs / logs are stored in s3, their paths are persisted to Postgres.
11
+ * Inputs / outputs / action payloads are stored in s3, their paths are persisted to Postgres.
12
12
  */
13
13
  class OzzyTask {
14
14
  id;
@@ -20,6 +20,8 @@ class OzzyTask {
20
20
  logsPath = '';
21
21
  errors = [];
22
22
  logs = [];
23
+ actions = [];
24
+ prompts = [];
23
25
  status = common_1.OzzyTaskStatus.CREATED;
24
26
  chatId;
25
27
  workflowId;
@@ -27,6 +29,7 @@ class OzzyTask {
27
29
  createdBy;
28
30
  createdAt;
29
31
  context;
32
+ pendingPrompts = new Map();
30
33
  constructor(options) {
31
34
  this.id = options.id || core_1.RTSeeCore.uuidv4();
32
35
  this.name = options.name;
@@ -46,10 +49,65 @@ class OzzyTask {
46
49
  get isRunning() {
47
50
  return this.status === common_1.OzzyTaskStatus.IN_PROGRESS;
48
51
  }
52
+ getContext() {
53
+ return this.context;
54
+ }
49
55
  /** Switch execution context, e.g. when another chat member presses "execute" */
50
56
  setContext(context) {
51
57
  this.context = context;
52
58
  }
59
+ /** Execute an atomic OzzyTaskAction and track it on this task */
60
+ async runAction(action) {
61
+ this.actions.push(action);
62
+ return (await action.run());
63
+ }
64
+ /**
65
+ * Send an interactive prompt to the chat room and wait for a chat member to respond.
66
+ */
67
+ prompt(name, data, action) {
68
+ const promptModel = {
69
+ id: core_1.RTSeeCore.uuidv4(),
70
+ taskId: this.id,
71
+ actionId: action?.id,
72
+ name,
73
+ data,
74
+ resolved: false,
75
+ createdAt: new Date(),
76
+ };
77
+ this.prompts.push(promptModel);
78
+ return new Promise((resolve, reject) => {
79
+ this.pendingPrompts.set(promptModel.id, {
80
+ prompt: promptModel,
81
+ action,
82
+ resolve,
83
+ reject,
84
+ });
85
+ this.context.emit(common_1.OzzyTaskEvents.ACTION_PROMPT, {
86
+ chatId: this.chatId,
87
+ task: this.toInfo(false),
88
+ action: action?.toInfo(false),
89
+ prompt: promptModel,
90
+ });
91
+ });
92
+ }
93
+ resolvePrompt(promptId, response, resolvedBy) {
94
+ const pending = this.pendingPrompts.get(promptId);
95
+ if (!pending) {
96
+ return null;
97
+ }
98
+ this.pendingPrompts.delete(promptId);
99
+ pending.prompt.response = response;
100
+ pending.prompt.resolved = true;
101
+ pending.prompt.resolvedBy = resolvedBy;
102
+ this.context.emit(common_1.OzzyTaskEvents.ACTION_PROMPT, {
103
+ chatId: this.chatId,
104
+ task: this.toInfo(false),
105
+ action: pending.action?.toInfo(false),
106
+ prompt: pending.prompt,
107
+ });
108
+ pending.resolve(response);
109
+ return pending.prompt;
110
+ }
53
111
  /** Restore persisted state (used when the task is loaded from storage) */
54
112
  hydrate(info) {
55
113
  this.inputPath = info.inputPath || '';
@@ -116,6 +174,9 @@ class OzzyTask {
116
174
  createdAt: this.createdAt,
117
175
  input: undefined,
118
176
  };
177
+ if (this.prompts.length) {
178
+ info.prompts = this.prompts;
179
+ }
119
180
  if (includePayloads) {
120
181
  info.input = this.input;
121
182
  info.output = this.output;
@@ -157,12 +218,14 @@ class OzzyTask {
157
218
  this.status = common_1.OzzyTaskStatus.IN_PROGRESS;
158
219
  this.errors = [];
159
220
  this.logs = [];
221
+ this.actions = [];
222
+ this.prompts = [];
223
+ this.pendingPrompts.clear();
160
224
  this.output = undefined;
161
225
  await this.saveUpdates();
162
226
  this.emitEvent(common_1.OzzyTaskEvents.TASK_STARTED);
163
227
  }
164
228
  async onSuccess() {
165
- this.log('Task finished successfully.');
166
229
  this.status = common_1.OzzyTaskStatus.SUCCESS;
167
230
  await this.propagateToS3Location();
168
231
  await this.saveUpdates();
@@ -172,9 +235,11 @@ class OzzyTask {
172
235
  console.error(`[OzzyTask] ${this.name} (${this.id}) failed:`, e.message);
173
236
  this.status = common_1.OzzyTaskStatus.FAIL;
174
237
  this.errors.push(e);
175
- this.log(e.message, 'error');
238
+ for (const pending of this.pendingPrompts.values()) {
239
+ pending.reject(new Error(e.message));
240
+ }
241
+ this.pendingPrompts.clear();
176
242
  try {
177
- this.logsPath = await this.context.storage.putTaskPayload(this.transport, this.id, 'logs', this.logs);
178
243
  await this.saveUpdates();
179
244
  }
180
245
  catch (persistError) {
@@ -185,7 +250,6 @@ class OzzyTask {
185
250
  async propagateToS3Location() {
186
251
  const storage = this.context.storage;
187
252
  this.outputPath = await storage.putTaskPayload(this.transport, this.id, 'output', this.output ?? null);
188
- this.logsPath = await storage.putTaskPayload(this.transport, this.id, 'logs', this.logs);
189
253
  }
190
254
  async saveUpdates() {
191
255
  await this.context.storage.updateTask(this.transport, {
@@ -199,4 +263,5 @@ class OzzyTask {
199
263
  }
200
264
  }
201
265
  exports.OzzyTask = OzzyTask;
266
+ exports.RTSeeTask = OzzyTask;
202
267
  //# sourceMappingURL=Task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Task.js","sourceRoot":"","sources":["../../../../../../src/models/ozzy/tasks/Task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Task.js","sourceRoot":"","sources":["../../../../../../src/models/ozzy/tasks/Task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { IOzzyTaskAction, IOzzyTaskActionInfo, IOzzyTaskError, IOzzyTaskLog, OzzyTaskEvents, OzzyTaskLogLevel, OzzyTaskStatus } from "@rtsee/common";
2
+ import { IRTSeeTransport } from "@rtsee/core";
3
+ import { IOzzyTaskActionOptions, IOzzyTaskContext } from "../../../interfaces/ozzy/tasks/Task.js";
4
+ import type { OzzyTask } from "./Task.js";
5
+ /**
6
+ * Base server-side atomic action executed as part of an OzzyTask.
7
+ * Inputs, outputs, and logs are persisted to S3 (`${taskId}/actions/${actionId}/...`)
8
+ * and tracked in the `OzzyTaskAction` Postgres table with a foreign key to `OzzyTask`.
9
+ */
10
+ export declare abstract class OzzyTaskAction<I = any, O = any> implements IOzzyTaskAction<I, O> {
11
+ id: string;
12
+ taskId: string;
13
+ name: string;
14
+ input: I;
15
+ inputPath: string;
16
+ output?: O;
17
+ outputPath?: string;
18
+ logsPath?: string;
19
+ errors: IOzzyTaskError[];
20
+ logs: IOzzyTaskLog[];
21
+ status: OzzyTaskStatus;
22
+ createdBy?: string;
23
+ createdAt?: Date;
24
+ terminateOnError: boolean;
25
+ protected task: OzzyTask;
26
+ constructor(options: IOzzyTaskActionOptions<I>);
27
+ abstract execute(): Promise<O>;
28
+ get context(): IOzzyTaskContext;
29
+ get transport(): IRTSeeTransport;
30
+ get chatId(): string;
31
+ get isRunning(): boolean;
32
+ hydrate(info: IOzzyTaskActionInfo<I, O>): void;
33
+ /** Persist the action (input -> S3, record -> Postgres) */
34
+ init(): Promise<void>;
35
+ run(): Promise<O>;
36
+ toInfo(includePayloads?: boolean): IOzzyTaskActionInfo<I, O>;
37
+ /**
38
+ * Stream a log line for this action to all chat members.
39
+ * 'chunk' logs are live-only (e.g. LLM tokens) and are not persisted.
40
+ */
41
+ protected log<T = any>(message: string, level?: OzzyTaskLogLevel, data?: T): void;
42
+ /**
43
+ * Emit an interactive prompt to the chat room and await response from any chat member.
44
+ */
45
+ protected prompt<P = any, R = any>(name: string, data?: P): Promise<R>;
46
+ protected emitEvent(event: OzzyTaskEvents, log?: IOzzyTaskLog): void;
47
+ private beforeExecute;
48
+ private onSuccess;
49
+ private onError;
50
+ private propagateToS3Location;
51
+ private saveUpdates;
52
+ }
53
+ export { OzzyTaskAction as RTSeeTaskAction };
54
+ //# sourceMappingURL=TaskAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskAction.d.ts","sourceRoot":"","sources":["../../../../../../src/models/ozzy/tasks/TaskAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,cAAc,EAEd,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAa,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAClG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;GAIG;AACH,8BAAsB,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,YAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IACrF,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAM;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAM;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAM;IACvB,MAAM,EAAE,cAAc,EAAE,CAAM;IAC9B,IAAI,EAAE,YAAY,EAAE,CAAM;IAC1B,MAAM,EAAE,cAAc,CAA0B;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAQ;IAEjC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAEb,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAY9C,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC;IAE9B,IAAI,OAAO,IAAI,gBAAgB,CAE9B;IAED,IAAI,SAAS,IAAI,eAAe,CAE/B;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAkB9C,2DAA2D;IACrD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBrB,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;IAkBvB,MAAM,CAAC,eAAe,GAAE,OAAc,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAwBlE;;;OAGG;IACH,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAyB,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IAoBzF;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAItE,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI;YAiBtD,aAAa;YAQb,SAAS;YAQT,OAAO;YAsBP,qBAAqB;YAkBrB,WAAW;CAW1B;AAED,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,CAAC"}