@n1k1t/pipelain 0.4.14 → 1.0.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 (187) hide show
  1. package/.claude/settings.local.json +7 -0
  2. package/AGENTS.md +20 -0
  3. package/README.md +185 -12
  4. package/assets/report/index.hbs +201 -79
  5. package/assets/report/main.css +135 -3
  6. package/cli/index.ts +77 -0
  7. package/lib/src/index.d.ts +2 -0
  8. package/lib/src/index.d.ts.map +1 -1
  9. package/lib/src/index.js +2 -0
  10. package/lib/src/index.js.map +1 -1
  11. package/lib/src/models/content/factory.d.ts +7 -1
  12. package/lib/src/models/content/factory.d.ts.map +1 -1
  13. package/lib/src/models/content/factory.js +15 -0
  14. package/lib/src/models/content/factory.js.map +1 -1
  15. package/lib/src/models/content/kinds/article.d.ts +3 -1
  16. package/lib/src/models/content/kinds/article.d.ts.map +1 -1
  17. package/lib/src/models/content/kinds/article.js +7 -0
  18. package/lib/src/models/content/kinds/article.js.map +1 -1
  19. package/lib/src/models/content/kinds/attachment.d.ts +3 -1
  20. package/lib/src/models/content/kinds/attachment.d.ts.map +1 -1
  21. package/lib/src/models/content/kinds/attachment.js +7 -0
  22. package/lib/src/models/content/kinds/attachment.js.map +1 -1
  23. package/lib/src/models/content/kinds/group.d.ts +3 -1
  24. package/lib/src/models/content/kinds/group.d.ts.map +1 -1
  25. package/lib/src/models/content/kinds/group.js +7 -0
  26. package/lib/src/models/content/kinds/group.js.map +1 -1
  27. package/lib/src/models/content/kinds/model.d.ts +5 -0
  28. package/lib/src/models/content/kinds/model.d.ts.map +1 -1
  29. package/lib/src/models/content/kinds/model.js +6 -0
  30. package/lib/src/models/content/kinds/model.js.map +1 -1
  31. package/lib/src/models/content/kinds/plain.d.ts +3 -1
  32. package/lib/src/models/content/kinds/plain.d.ts.map +1 -1
  33. package/lib/src/models/content/kinds/plain.js +7 -0
  34. package/lib/src/models/content/kinds/plain.js.map +1 -1
  35. package/lib/src/models/content/kinds/rules.d.ts +3 -1
  36. package/lib/src/models/content/kinds/rules.d.ts.map +1 -1
  37. package/lib/src/models/content/kinds/rules.js +7 -0
  38. package/lib/src/models/content/kinds/rules.js.map +1 -1
  39. package/lib/src/models/content/kinds/sources.d.ts +3 -1
  40. package/lib/src/models/content/kinds/sources.d.ts.map +1 -1
  41. package/lib/src/models/content/kinds/sources.js +7 -0
  42. package/lib/src/models/content/kinds/sources.js.map +1 -1
  43. package/lib/src/models/content/kinds/tasks.d.ts +3 -1
  44. package/lib/src/models/content/kinds/tasks.d.ts.map +1 -1
  45. package/lib/src/models/content/kinds/tasks.js +7 -0
  46. package/lib/src/models/content/kinds/tasks.js.map +1 -1
  47. package/lib/src/models/index.d.ts +1 -0
  48. package/lib/src/models/index.d.ts.map +1 -1
  49. package/lib/src/models/index.js +1 -0
  50. package/lib/src/models/index.js.map +1 -1
  51. package/lib/src/models/llm/hook.d.ts +128 -0
  52. package/lib/src/models/llm/hook.d.ts.map +1 -0
  53. package/lib/src/models/llm/hook.js +129 -0
  54. package/lib/src/models/llm/hook.js.map +1 -0
  55. package/lib/src/models/llm/index.d.ts +1 -0
  56. package/lib/src/models/llm/index.d.ts.map +1 -1
  57. package/lib/src/models/llm/index.js +1 -0
  58. package/lib/src/models/llm/index.js.map +1 -1
  59. package/lib/src/models/llm/mcp.d.ts +4 -0
  60. package/lib/src/models/llm/mcp.d.ts.map +1 -1
  61. package/lib/src/models/llm/mcp.js +5 -2
  62. package/lib/src/models/llm/mcp.js.map +1 -1
  63. package/lib/src/models/llm/providers/model.d.ts +1 -1
  64. package/lib/src/models/llm/providers/model.d.ts.map +1 -1
  65. package/lib/src/models/llm/providers/proxy.d.ts +6 -0
  66. package/lib/src/models/llm/providers/proxy.d.ts.map +1 -1
  67. package/lib/src/models/llm/providers/proxy.js +5 -3
  68. package/lib/src/models/llm/providers/proxy.js.map +1 -1
  69. package/lib/src/models/llm/router.d.ts +6 -0
  70. package/lib/src/models/llm/router.d.ts.map +1 -1
  71. package/lib/src/models/llm/router.js +12 -0
  72. package/lib/src/models/llm/router.js.map +1 -1
  73. package/lib/src/models/llm/tools/attachment.js +2 -2
  74. package/lib/src/models/llm/tools/attachment.js.map +1 -1
  75. package/lib/src/models/llm/tools/edit.js +3 -3
  76. package/lib/src/models/llm/tools/edit.js.map +1 -1
  77. package/lib/src/models/llm/tools/fetch.js +4 -4
  78. package/lib/src/models/llm/tools/fetch.js.map +1 -1
  79. package/lib/src/models/llm/tools/grep.js +2 -2
  80. package/lib/src/models/llm/tools/grep.js.map +1 -1
  81. package/lib/src/models/llm/tools/ls.js +2 -2
  82. package/lib/src/models/llm/tools/ls.js.map +1 -1
  83. package/lib/src/models/llm/tools/mkdir.js +2 -2
  84. package/lib/src/models/llm/tools/mkdir.js.map +1 -1
  85. package/lib/src/models/llm/tools/model.d.ts +4 -4
  86. package/lib/src/models/llm/tools/model.d.ts.map +1 -1
  87. package/lib/src/models/llm/tools/model.js +19 -10
  88. package/lib/src/models/llm/tools/model.js.map +1 -1
  89. package/lib/src/models/llm/tools/npm.js +1 -1
  90. package/lib/src/models/llm/tools/npm.js.map +1 -1
  91. package/lib/src/models/llm/tools/npx.js +1 -1
  92. package/lib/src/models/llm/tools/npx.js.map +1 -1
  93. package/lib/src/models/llm/tools/read.js +3 -3
  94. package/lib/src/models/llm/tools/read.js.map +1 -1
  95. package/lib/src/models/llm/tools/rm.js +4 -4
  96. package/lib/src/models/llm/tools/rm.js.map +1 -1
  97. package/lib/src/models/llm/tools/search.js +2 -2
  98. package/lib/src/models/llm/tools/search.js.map +1 -1
  99. package/lib/src/models/llm/tools/skill.js +2 -2
  100. package/lib/src/models/llm/tools/skill.js.map +1 -1
  101. package/lib/src/models/llm/tools/write.js +3 -3
  102. package/lib/src/models/llm/tools/write.js.map +1 -1
  103. package/lib/src/models/meta.d.ts +12 -0
  104. package/lib/src/models/meta.d.ts.map +1 -0
  105. package/lib/src/models/meta.js +32 -0
  106. package/lib/src/models/meta.js.map +1 -0
  107. package/lib/src/models/pipeline/model.d.ts +2 -0
  108. package/lib/src/models/pipeline/model.d.ts.map +1 -1
  109. package/lib/src/models/pipeline/model.js +8 -4
  110. package/lib/src/models/pipeline/model.js.map +1 -1
  111. package/lib/src/models/pipeline/parameters.d.ts.map +1 -1
  112. package/lib/src/models/pipeline/parameters.js +5 -1
  113. package/lib/src/models/pipeline/parameters.js.map +1 -1
  114. package/lib/src/models/pipeline/report/index.d.ts.map +1 -1
  115. package/lib/src/models/pipeline/report/index.js +28 -10
  116. package/lib/src/models/pipeline/report/index.js.map +1 -1
  117. package/lib/src/models/pipeline/report/types.d.ts +15 -7
  118. package/lib/src/models/pipeline/report/types.d.ts.map +1 -1
  119. package/lib/src/models/pipeline/session.d.ts +16 -36
  120. package/lib/src/models/pipeline/session.d.ts.map +1 -1
  121. package/lib/src/models/pipeline/session.js +15 -10
  122. package/lib/src/models/pipeline/session.js.map +1 -1
  123. package/lib/src/models/pipeline/stdout/compiled/console.js +16 -13
  124. package/lib/src/models/pipeline/stdout/compiled/console.js.map +1 -1
  125. package/lib/src/models/pipeline/stdout/model.d.ts +1 -1
  126. package/lib/src/models/pipeline/stdout/model.d.ts.map +1 -1
  127. package/lib/src/models/pipeline/stdout/model.js +12 -7
  128. package/lib/src/models/pipeline/stdout/model.js.map +1 -1
  129. package/lib/src/models/pipeline/steps/ai/actions/fallback.d.ts +31 -0
  130. package/lib/src/models/pipeline/steps/ai/actions/fallback.d.ts.map +1 -0
  131. package/lib/src/models/pipeline/steps/ai/actions/fallback.js +51 -0
  132. package/lib/src/models/pipeline/steps/ai/actions/fallback.js.map +1 -0
  133. package/lib/src/models/pipeline/steps/ai/actions/index.d.ts +1 -0
  134. package/lib/src/models/pipeline/steps/ai/actions/index.d.ts.map +1 -1
  135. package/lib/src/models/pipeline/steps/ai/actions/index.js +1 -0
  136. package/lib/src/models/pipeline/steps/ai/actions/index.js.map +1 -1
  137. package/lib/src/models/pipeline/steps/ai/actions/model.d.ts +3 -6
  138. package/lib/src/models/pipeline/steps/ai/actions/model.d.ts.map +1 -1
  139. package/lib/src/models/pipeline/steps/ai/actions/model.js +3 -11
  140. package/lib/src/models/pipeline/steps/ai/actions/model.js.map +1 -1
  141. package/lib/src/models/pipeline/steps/ai/actions/reasoning.d.ts +1 -1
  142. package/lib/src/models/pipeline/steps/ai/actions/reasoning.d.ts.map +1 -1
  143. package/lib/src/models/pipeline/steps/ai/actions/reasoning.js +6 -4
  144. package/lib/src/models/pipeline/steps/ai/actions/reasoning.js.map +1 -1
  145. package/lib/src/models/pipeline/steps/ai/actions/tool.d.ts +1 -1
  146. package/lib/src/models/pipeline/steps/ai/actions/tool.d.ts.map +1 -1
  147. package/lib/src/models/pipeline/steps/ai/actions/tool.js +4 -3
  148. package/lib/src/models/pipeline/steps/ai/actions/tool.js.map +1 -1
  149. package/lib/src/models/pipeline/steps/ai/index.d.ts +5 -1
  150. package/lib/src/models/pipeline/steps/ai/index.d.ts.map +1 -1
  151. package/lib/src/models/pipeline/steps/ai/index.js +134 -97
  152. package/lib/src/models/pipeline/steps/ai/index.js.map +1 -1
  153. package/lib/src/models/pipeline/steps/ai/types.d.ts +5 -1
  154. package/lib/src/models/pipeline/steps/ai/types.d.ts.map +1 -1
  155. package/lib/src/models/pipeline/steps/ai/utils.js +1 -1
  156. package/lib/src/models/pipeline/steps/ai/utils.js.map +1 -1
  157. package/lib/src/models/pipeline/steps/loop.d.ts.map +1 -1
  158. package/lib/src/models/pipeline/steps/loop.js +10 -7
  159. package/lib/src/models/pipeline/steps/loop.js.map +1 -1
  160. package/lib/src/models/pipeline/steps/model.d.ts +2 -0
  161. package/lib/src/models/pipeline/steps/model.d.ts.map +1 -1
  162. package/lib/src/models/pipeline/steps/model.js +2 -0
  163. package/lib/src/models/pipeline/steps/model.js.map +1 -1
  164. package/lib/src/models/pipeline/steps/self.d.ts.map +1 -1
  165. package/lib/src/models/pipeline/steps/self.js +6 -5
  166. package/lib/src/models/pipeline/steps/self.js.map +1 -1
  167. package/lib/src/models/pipeline/steps/swarm.d.ts +13 -6
  168. package/lib/src/models/pipeline/steps/swarm.d.ts.map +1 -1
  169. package/lib/src/models/pipeline/steps/swarm.js +46 -23
  170. package/lib/src/models/pipeline/steps/swarm.js.map +1 -1
  171. package/lib/src/models/pipeline/types.d.ts +1 -0
  172. package/lib/src/models/pipeline/types.d.ts.map +1 -1
  173. package/lib/src/setup.js +30 -3
  174. package/lib/src/setup.js.map +1 -1
  175. package/lib/src/utils/common.d.ts +8 -0
  176. package/lib/src/utils/common.d.ts.map +1 -1
  177. package/lib/src/utils/common.js +14 -1
  178. package/lib/src/utils/common.js.map +1 -1
  179. package/lib/src/utils/index.d.ts +0 -1
  180. package/lib/src/utils/index.d.ts.map +1 -1
  181. package/lib/src/utils/index.js +0 -1
  182. package/lib/src/utils/index.js.map +1 -1
  183. package/package.json +13 -12
  184. package/lib/src/utils/meta.d.ts +0 -9
  185. package/lib/src/utils/meta.d.ts.map +0 -1
  186. package/lib/src/utils/meta.js +0 -15
  187. package/lib/src/utils/meta.js.map +0 -1
package/lib/src/index.js CHANGED
@@ -51,12 +51,14 @@ __exportStar(require("./models/pipeline/steps/ai/errors"), exports);
51
51
  __exportStar(require("./models/project"), exports);
52
52
  __exportStar(require("./models/file"), exports);
53
53
  __exportStar(require("./models/bash"), exports);
54
+ __exportStar(require("./models/meta"), exports);
54
55
  __exportStar(require("./models/content/factory"), exports);
55
56
  __exportStar(require("./models/content/types"), exports);
56
57
  __exportStar(require("./models/llm/providers/model"), exports);
57
58
  __exportStar(require("./models/llm/tools/model"), exports);
58
59
  __exportStar(require("./models/llm/factory"), exports);
59
60
  __exportStar(require("./models/llm/router"), exports);
61
+ __exportStar(require("./models/llm/hook"), exports);
60
62
  __exportStar(require("./models/llm/mcp"), exports);
61
63
  exports.content = __importStar(require("./models/content/kinds"));
62
64
  exports.stdout = __importStar(require("./models/pipeline/stdout/compiled"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mBAAiB;AAEjB,kEAAoD;AACpD,0DAA4C;AAE5C,4DAA0C;AAC1C,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AAExC,qEAAmD;AACnD,oEAAkD;AAElD,mDAAiC;AACjC,gDAA8B;AAC9B,gDAA8B;AAE9B,2DAAyC;AACzC,yDAAuC;AAEvC,+DAA6C;AAC7C,2DAAyC;AACzC,uDAAqC;AACrC,sDAAoC;AACpC,mDAAiC;AAEjC,kEAAkD;AAClD,4EAA4D;AAE/C,QAAA,GAAG,GAAG;IACjB,SAAS;IACT,KAAK;CACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mBAAiB;AAEjB,kEAAoD;AACpD,0DAA4C;AAE5C,4DAA0C;AAC1C,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AAExC,qEAAmD;AACnD,oEAAkD;AAElD,mDAAiC;AACjC,gDAA8B;AAC9B,gDAA8B;AAC9B,gDAA8B;AAE9B,2DAAyC;AACzC,yDAAuC;AAEvC,+DAA6C;AAC7C,2DAAyC;AACzC,uDAAqC;AACrC,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC;AAEjC,kEAAkD;AAClD,4EAA4D;AAE/C,QAAA,GAAG,GAAG;IACjB,SAAS;IACT,KAAK;CACN,CAAC"}
@@ -1,4 +1,4 @@
1
- import { TContentType } from './kinds/model';
1
+ import { Content, TContentType } from './kinds/model';
2
2
  import { SetPartialKeys } from '../../../types';
3
3
  import { IJsonContent } from './types';
4
4
  import { Project } from '../project';
@@ -25,7 +25,13 @@ export declare class ContentFactory {
25
25
  sources(list: kinds.SourcesContent['TSchema']): kinds.SourcesContent;
26
26
  /** Creates plain markdown */
27
27
  plain(payload: string): kinds.PlainContent;
28
+ /** Creates attachment that will be placed into virtual file system */
28
29
  attachment(title: string, payload: Omit<SetPartialKeys<kinds.AttachmentContent['TSchema'], 'extension' | 'key'>, 'title'>): kinds.AttachmentContent;
30
+ /** Creates content that will be placed into `user` messages */
31
+ user(predicate: string | Content | (string | Content)[]): kinds.GroupContent;
32
+ /** Creates content that will be placed into `system` messages */
33
+ system(predicate: string | Content | (string | Content)[]): kinds.GroupContent;
34
+ /** Reads file and puts it as attachemnt into virtual file system */
29
35
  file(title: string, location: string | string[]): Promise<kinds.AttachmentContent>;
30
36
  /** Reads files by pattern and creates attachments for each file */
31
37
  glob(title: string, pattern: string): Promise<kinds.GroupContent>;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/models/content/factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,YAAY,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,KAAK,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI;IAC1C,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACpC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC;IAC9B,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;CAC3B,CAAC,CAAC,CAAC,CAAC;AAEL,qBAAa,cAAc;IACb,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO;gBAAjB,OAAO,CAAC,EAAE,OAAO,YAAA;IAEhC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,cAAc;IAC1E,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,cAAc;IAY5E,yBAAyB;IAClB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY;IAIhD,yBAAyB;IAClB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY;IAIhD,iCAAiC;IAC1B,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,cAAc;IAI3E,6BAA6B;IACtB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY;IAI1C,UAAU,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,GAC9F,KAAK,CAAC,iBAAiB;IAIb,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAW/F,mEAAmE;IACtD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;IAyB9E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,cAAc;IAI/C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC;CAGzF"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/models/content/factory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,KAAK,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI;IAC1C,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACpC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC;IAC9B,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;CAC3B,CAAC,CAAC,CAAC,CAAC;AAEL,qBAAa,cAAc;IACb,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO;gBAAjB,OAAO,CAAC,EAAE,OAAO,YAAA;IAEhC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,cAAc;IAC1E,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,cAAc;IAY5E,yBAAyB;IAClB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY;IAIhD,yBAAyB;IAClB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY;IAIhD,iCAAiC;IAC1B,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,cAAc;IAI3E,6BAA6B;IACtB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY;IAIjD,sEAAsE;IAC/D,UAAU,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,GAC9F,KAAK,CAAC,iBAAiB;IAI1B,+DAA+D;IACxD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,YAAY;IAUnF,iEAAiE;IAC1D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,YAAY;IAUrF,oEAAoE;IACvD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAW/F,mEAAmE;IACtD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;IAyB9E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,cAAc;IAI/C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC;CAGzF"}
@@ -40,6 +40,7 @@ exports.ContentFactory = void 0;
40
40
  const path_1 = __importDefault(require("path"));
41
41
  const promises_1 = __importDefault(require("fs/promises"));
42
42
  const fast_glob_1 = __importDefault(require("fast-glob"));
43
+ const lodash_1 = __importDefault(require("lodash"));
43
44
  const model_1 = require("./kinds/model");
44
45
  const file_1 = require("../file");
45
46
  const kinds = __importStar(require("./kinds"));
@@ -69,9 +70,23 @@ class ContentFactory {
69
70
  plain(payload) {
70
71
  return kinds.PlainContent.build(payload);
71
72
  }
73
+ /** Creates attachment that will be placed into virtual file system */
72
74
  attachment(title, payload) {
73
75
  return kinds.AttachmentContent.build({ title, ...payload });
74
76
  }
77
+ /** Creates content that will be placed into `user` messages */
78
+ user(predicate) {
79
+ return kinds.GroupContent.build(lodash_1.default.flatMap([predicate]).map((segment) => segment instanceof model_1.Content
80
+ ? segment.relocate('user')
81
+ : kinds.PlainContent.build(segment).relocate('user')));
82
+ }
83
+ /** Creates content that will be placed into `system` messages */
84
+ system(predicate) {
85
+ return kinds.GroupContent.build(lodash_1.default.flatMap([predicate]).map((segment) => segment instanceof model_1.Content
86
+ ? segment.relocate('system')
87
+ : kinds.PlainContent.build(segment).relocate('system')));
88
+ }
89
+ /** Reads file and puts it as attachemnt into virtual file system */
75
90
  async file(title, location) {
76
91
  const file = await file_1.File.build(location, { cwd: this.project?.cwd });
77
92
  return kinds.AttachmentContent.build({
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/models/content/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/models/content/factory.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
+ import { Content, TContentLocation } from './model';
1
2
  import { IJsonContent } from '../types';
2
- import { Content } from './model';
3
3
  export declare class ArticleContent extends Content<'article', {
4
4
  title: string;
5
5
  content: IJsonContent[];
6
6
  /** Markdown tag for the title */
7
7
  tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'b';
8
8
  }> {
9
+ location: TContentLocation;
9
10
  render(): string;
11
+ clone(): ArticleContent;
10
12
  static build(payload: ArticleContent['TSchema']): ArticleContent;
11
13
  }
12
14
  //# sourceMappingURL=article.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/article.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,qBAAa,cAAe,SAAQ,OAAO,CAAC,SAAS,EAAE;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB,iCAAiC;IACjC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;CAC9C,CAAC;IACO,MAAM,IAAI,MAAM;IAQvB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,cAAc;CAGjE"}
1
+ {"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/article.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,qBAAa,cAAe,SAAQ,OAAO,CAAC,SAAS,EAAE;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB,iCAAiC;IACjC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;CAC9C,CAAC;IACO,QAAQ,EAAE,gBAAgB,CAAY;IAEtC,MAAM,IAAI,MAAM;IAQhB,KAAK,IAAI,cAAc;IAI9B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,cAAc;CAGjE"}
@@ -8,10 +8,17 @@ const json2md_1 = __importDefault(require("json2md"));
8
8
  const model_1 = require("./model");
9
9
  const utils_1 = require("../../../utils");
10
10
  class ArticleContent extends model_1.Content {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.location = 'system';
14
+ }
11
15
  render() {
12
16
  const tag = this.payload.tag ?? 'h3';
13
17
  return (0, json2md_1.default)((0, utils_1.cast)([{ [tag]: this.payload.title }, ...this.payload.content])).trim();
14
18
  }
19
+ clone() {
20
+ return ArticleContent.build(this.payload);
21
+ }
15
22
  static build(payload) {
16
23
  return new ArticleContent('article', payload);
17
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"article.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/article.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAG9B,mCAAkC;AAClC,0CAAsC;AAEtC,MAAa,cAAe,SAAQ,eAMlC;IACO,MAAM;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;QAErC,OAAO,IAAA,iBAAO,EACZ,IAAA,YAAI,EAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC/E,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAkC;QAC7C,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AAlBD,wCAkBC"}
1
+ {"version":3,"file":"article.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/article.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAE9B,mCAAoD;AAEpD,0CAAsC;AAEtC,MAAa,cAAe,SAAQ,eAMlC;IANF;;QAOS,aAAQ,GAAqB,QAAQ,CAAC;IAiB/C,CAAC;IAfQ,MAAM;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;QAErC,OAAO,IAAA,iBAAO,EACZ,IAAA,YAAI,EAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC/E,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAEM,KAAK;QACV,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAkC;QAC7C,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AAxBD,wCAwBC"}
@@ -1,5 +1,5 @@
1
+ import { Content, TContentLocation } from './model';
1
2
  import { SetPartialKeys } from '../../../../types';
2
- import { Content } from './model';
3
3
  export declare class AttachmentContent extends Content<'attachment', {
4
4
  content: unknown;
5
5
  title: string;
@@ -7,7 +7,9 @@ export declare class AttachmentContent extends Content<'attachment', {
7
7
  /** File extension with dot (`.json`, `.md` and etc) */
8
8
  extension?: string;
9
9
  }> {
10
+ location: TContentLocation;
10
11
  render(): string;
12
+ clone(): AttachmentContent;
11
13
  static build(payload: SetPartialKeys<AttachmentContent['TSchema'], 'key'>): AttachmentContent;
12
14
  }
13
15
  //# sourceMappingURL=attachment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/attachment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,YAAY,EAAE;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IAEZ,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;IACO,MAAM,IAAI,MAAM;IAMvB,MAAM,CAAC,KAAK,CACV,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,GAC3D,iBAAiB;CAWrB"}
1
+ {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/attachment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,YAAY,EAAE;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IAEZ,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;IACO,QAAQ,EAAE,gBAAgB,CAAY;IAEtC,MAAM,IAAI,MAAM;IAMhB,KAAK,IAAI,iBAAiB;IAIjC,MAAM,CAAC,KAAK,CACV,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,GAC3D,iBAAiB;CAWrB"}
@@ -7,11 +7,18 @@ exports.AttachmentContent = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const model_1 = require("./model");
9
9
  class AttachmentContent extends model_1.Content {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.location = 'system';
13
+ }
10
14
  render() {
11
15
  return lodash_1.default.isObject(this.payload.content)
12
16
  ? JSON.stringify(this.payload.content, null, 2)
13
17
  : String(this.payload.content);
14
18
  }
19
+ clone() {
20
+ return AttachmentContent.build(this.payload);
21
+ }
15
22
  static build(payload) {
16
23
  const extension = payload.extension ?? (lodash_1.default.isObject(payload.content) ? '.json' : undefined);
17
24
  return new AttachmentContent('attachment', {
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/attachment.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAGvB,mCAAkC;AAElC,MAAa,iBAAkB,SAAQ,eAOrC;IACO,MAAM;QACX,OAAO,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAK,CACV,OAA4D;QAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE3F,OAAO,IAAI,iBAAiB,CAAC,YAAY,EAAE;YACzC,SAAS;YAET,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,gBAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,IAAI,EAAE,EAAE;SACpF,CAAC,CAAC;IACL,CAAC;CACF;AA3BD,8CA2BC"}
1
+ {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/attachment.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAEvB,mCAAoD;AAGpD,MAAa,iBAAkB,SAAQ,eAOrC;IAPF;;QAQS,aAAQ,GAAqB,QAAQ,CAAC;IAyB/C,CAAC;IAvBQ,MAAM;QACX,OAAO,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,KAAK;QACV,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAK,CACV,OAA4D;QAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE3F,OAAO,IAAI,iBAAiB,CAAC,YAAY,EAAE;YACzC,SAAS;YAET,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,gBAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,IAAI,EAAE,EAAE;SACpF,CAAC,CAAC;IACL,CAAC;CACF;AAjCD,8CAiCC"}
@@ -1,7 +1,9 @@
1
- import { Content } from './model';
1
+ import { Content, TContentLocation } from './model';
2
2
  export declare class GroupContent extends Content<'group', Content[]> {
3
3
  render(): string;
4
4
  flat(): Content[];
5
+ relocate(location: TContentLocation): this;
6
+ clone(): GroupContent;
5
7
  static build(payload: GroupContent['TSchema']): GroupContent;
6
8
  }
7
9
  //# sourceMappingURL=group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IACpD,MAAM,IAAI,MAAM;IAIhB,IAAI,IAAI,OAAO,EAAE;IAWxB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY;CAG7D"}
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEpD,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IACpD,MAAM,IAAI,MAAM;IAIhB,IAAI,IAAI,OAAO,EAAE;IAWjB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAK1C,KAAK,IAAI,YAAY;IAI5B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY;CAG7D"}
@@ -15,6 +15,13 @@ class GroupContent extends model_1.Content {
15
15
  return acc;
16
16
  }, []);
17
17
  }
18
+ relocate(location) {
19
+ this.payload.forEach((content) => content.relocate(location));
20
+ return this;
21
+ }
22
+ clone() {
23
+ return GroupContent.build(this.payload);
24
+ }
18
25
  static build(payload) {
19
26
  return new GroupContent('group', payload);
20
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/group.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAElC,MAAa,YAAa,SAAQ,eAA2B;IACpD,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAY,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACrD,IAAI,OAAO,YAAY,YAAY,EAAE,CAAC;gBACpC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAgC;QAC3C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAnBD,oCAmBC"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/group.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,MAAa,YAAa,SAAQ,eAA2B;IACpD,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAY,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACrD,IAAI,OAAO,YAAY,YAAY,EAAE,CAAC;gBACpC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEM,QAAQ,CAAC,QAA0B;QACxC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAgC;QAC3C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AA5BD,oCA4BC"}
@@ -1,10 +1,15 @@
1
1
  export type TContentType = 'attachment' | 'article' | 'tasks' | 'rules' | 'sources' | 'group' | 'plain';
2
+ export type TContentLocation = 'system' | 'user';
2
3
  export declare abstract class Content<K extends TContentType = TContentType, TSchema = unknown> {
3
4
  type: K;
4
5
  payload: TSchema;
5
6
  TSchema: TSchema;
7
+ location?: TContentLocation;
6
8
  constructor(type: K, payload: TSchema);
7
9
  /** Renders content to string */
8
10
  abstract render(): string;
11
+ abstract clone(): Content<K, TSchema>;
12
+ /** Creates clone and redefines prompt content location */
13
+ relocate(location: TContentLocation): this;
9
14
  }
10
15
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAExG,8BAAsB,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,OAAO,GAAG,OAAO;IAGjE,IAAI,EAAE,CAAC;IAAS,OAAO,EAAE,OAAO;IAF5C,OAAO,EAAG,OAAO,CAAC;gBAEN,IAAI,EAAE,CAAC,EAAS,OAAO,EAAE,OAAO;IAEnD,gCAAgC;aAChB,MAAM,IAAI,MAAM;CACjC"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AACxG,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,8BAAsB,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,OAAO,GAAG,OAAO;IAIjE,IAAI,EAAE,CAAC;IAAS,OAAO,EAAE,OAAO;IAH5C,OAAO,EAAG,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;gBAEhB,IAAI,EAAE,CAAC,EAAS,OAAO,EAAE,OAAO;IAEnD,gCAAgC;aAChB,MAAM,IAAI,MAAM;aAChB,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC;IAE5C,0DAA0D;IACnD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;CAMlD"}
@@ -6,6 +6,12 @@ class Content {
6
6
  this.type = type;
7
7
  this.payload = payload;
8
8
  }
9
+ /** Creates clone and redefines prompt content location */
10
+ relocate(location) {
11
+ const clone = this.clone();
12
+ clone.location = location;
13
+ return clone;
14
+ }
9
15
  }
10
16
  exports.Content = Content;
11
17
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/model.ts"],"names":[],"mappings":";;;AAEA,MAAsB,OAAO;IAG3B,YAAmB,IAAO,EAAS,OAAgB;QAAhC,SAAI,GAAJ,IAAI,CAAG;QAAS,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;CAIxD;AAPD,0BAOC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/model.ts"],"names":[],"mappings":";;;AAGA,MAAsB,OAAO;IAI3B,YAAmB,IAAO,EAAS,OAAgB;QAAhC,SAAI,GAAJ,IAAI,CAAG;QAAS,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAMvD,0DAA0D;IACnD,QAAQ,CAAC,QAA0B;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAE3B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,OAAa,KAAK,CAAC;IACrB,CAAC;CACF;AAjBD,0BAiBC"}
@@ -1,6 +1,8 @@
1
- import { Content } from './model';
1
+ import { Content, TContentLocation } from './model';
2
2
  export declare class PlainContent extends Content<'plain', string> {
3
+ location: TContentLocation;
3
4
  render(): string;
5
+ clone(): PlainContent;
4
6
  static build(payload: PlainContent['TSchema']): PlainContent;
5
7
  }
6
8
  //# sourceMappingURL=plain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plain.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/plain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;IACjD,MAAM,IAAI,MAAM;IASvB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY;CAG7D"}
1
+ {"version":3,"file":"plain.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/plain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEpD,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;IACjD,QAAQ,EAAE,gBAAgB,CAAY;IAEtC,MAAM,IAAI,MAAM;IAShB,KAAK,IAAI,YAAY;IAI5B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY;CAG7D"}
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlainContent = void 0;
4
4
  const model_1 = require("./model");
5
5
  class PlainContent extends model_1.Content {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.location = 'system';
9
+ }
6
10
  render() {
7
11
  const char = this.payload.match(/[^\s]/)?.[0] ?? '';
8
12
  const offset = this.payload.replace('\n', '').indexOf(char) ?? 0;
@@ -10,6 +14,9 @@ class PlainContent extends model_1.Content {
10
14
  .split('\n')
11
15
  .map((line) => line.slice(offset)).join('\n');
12
16
  }
17
+ clone() {
18
+ return PlainContent.build(this.payload);
19
+ }
13
20
  static build(payload) {
14
21
  return new PlainContent('plain', payload);
15
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plain.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/plain.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAElC,MAAa,YAAa,SAAQ,eAAwB;IACjD,MAAM;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,OAAO;aAChB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAgC;QAC3C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAbD,oCAaC"}
1
+ {"version":3,"file":"plain.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/plain.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAEpD,MAAa,YAAa,SAAQ,eAAwB;IAA1D;;QACS,aAAQ,GAAqB,QAAQ,CAAC;IAkB/C,CAAC;IAhBQ,MAAM;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,OAAO;aAChB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK;QACV,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAgC;QAC3C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAnBD,oCAmBC"}
@@ -1,6 +1,8 @@
1
- import { Content } from './model';
1
+ import { Content, TContentLocation } from './model';
2
2
  export declare class RulesContent extends Content<'rules', string[]> {
3
+ location: TContentLocation;
3
4
  render(): string;
5
+ clone(): RulesContent;
4
6
  static build(payload: RulesContent['TSchema']): RulesContent;
5
7
  }
6
8
  //# sourceMappingURL=rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/rules.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACnD,MAAM,IAAI,MAAM;IAMvB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY;CAG7D"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/rules.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIpD,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACnD,QAAQ,EAAE,gBAAgB,CAAY;IAEtC,MAAM,IAAI,MAAM;IAMhB,KAAK,IAAI,YAAY;IAI5B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY;CAG7D"}
@@ -8,9 +8,16 @@ const json2md_1 = __importDefault(require("json2md"));
8
8
  const model_1 = require("./model");
9
9
  const utils_1 = require("../../../utils");
10
10
  class RulesContent extends model_1.Content {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.location = 'system';
14
+ }
11
15
  render() {
12
16
  return (0, json2md_1.default)((0, utils_1.cast)({ ol: this.payload }));
13
17
  }
18
+ clone() {
19
+ return RulesContent.build(this.payload);
20
+ }
14
21
  static build(payload) {
15
22
  return new RulesContent('rules', payload);
16
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/rules.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAG9B,mCAAkC;AAClC,0CAAsC;AAEtC,MAAa,YAAa,SAAQ,eAA0B;IACnD,MAAM;QACX,OAAO,IAAA,iBAAO,EACZ,IAAA,YAAI,EAAe,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAgC;QAC3C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAVD,oCAUC"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/rules.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAE9B,mCAAoD;AAEpD,0CAAsC;AAEtC,MAAa,YAAa,SAAQ,eAA0B;IAA5D;;QACS,aAAQ,GAAqB,QAAQ,CAAC;IAe/C,CAAC;IAbQ,MAAM;QACX,OAAO,IAAA,iBAAO,EACZ,IAAA,YAAI,EAAe,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CACzC,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAgC;QAC3C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAhBD,oCAgBC"}
@@ -1,10 +1,12 @@
1
- import { Content } from './model';
1
+ import { Content, TContentLocation } from './model';
2
2
  export declare class SourcesContent extends Content<'sources', {
3
3
  path: string;
4
4
  title?: string;
5
5
  }[]> {
6
+ location: TContentLocation;
6
7
  render(): string;
7
8
  serialize(): string[];
9
+ clone(): SourcesContent;
8
10
  static build(payload: SourcesContent['TSchema']): SourcesContent;
9
11
  }
10
12
  //# sourceMappingURL=sources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/sources.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,qBAAa,cAAe,SAAQ,OAAO,CAAC,SAAS,EAAE;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,CAAC;IACK,MAAM,IAAI,MAAM;IAMhB,SAAS,IAAI,MAAM,EAAE;IAM5B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,cAAc;CAGjE"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/sources.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIpD,qBAAa,cAAe,SAAQ,OAAO,CAAC,SAAS,EAAE;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EAAE,CAAC;IACK,QAAQ,EAAE,gBAAgB,CAAY;IAEtC,MAAM,IAAI,MAAM;IAMhB,SAAS,IAAI,MAAM,EAAE;IAMrB,KAAK,IAAI,cAAc;IAI9B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,cAAc;CAGjE"}
@@ -8,12 +8,19 @@ const json2md_1 = __importDefault(require("json2md"));
8
8
  const model_1 = require("./model");
9
9
  const utils_1 = require("../../../utils");
10
10
  class SourcesContent extends model_1.Content {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.location = 'system';
14
+ }
11
15
  render() {
12
16
  return (0, json2md_1.default)((0, utils_1.cast)({ ol: this.serialize() }));
13
17
  }
14
18
  serialize() {
15
19
  return this.payload.map((line) => line.title ? `\`${line.path}\`: ${line.title}` : `\`${line.path}\``);
16
20
  }
21
+ clone() {
22
+ return SourcesContent.build(this.payload);
23
+ }
17
24
  static build(payload) {
18
25
  return new SourcesContent('sources', payload);
19
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/sources.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAG9B,mCAAkC;AAClC,0CAAsC;AAEtC,MAAa,cAAe,SAAQ,eAGhC;IACK,MAAM;QACX,OAAO,IAAA,iBAAO,EACZ,IAAA,YAAI,EAAe,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAkC;QAC7C,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AAnBD,wCAmBC"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/sources.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAE9B,mCAAoD;AAEpD,0CAAsC;AAEtC,MAAa,cAAe,SAAQ,eAGhC;IAHJ;;QAIS,aAAQ,GAAqB,QAAQ,CAAC;IAqB/C,CAAC;IAnBQ,MAAM;QACX,OAAO,IAAA,iBAAO,EACZ,IAAA,YAAI,EAAe,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7C,CAAC;IACJ,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAC9E,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAkC;QAC7C,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AAzBD,wCAyBC"}
@@ -1,6 +1,8 @@
1
- import { Content } from './model';
1
+ import { Content, TContentLocation } from './model';
2
2
  export declare class TasksContent extends Content<'tasks', string[]> {
3
+ location: TContentLocation;
3
4
  render(): string;
5
+ clone(): TasksContent;
4
6
  static build(payload: TasksContent['TSchema']): TasksContent;
5
7
  }
6
8
  //# sourceMappingURL=tasks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/tasks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACnD,MAAM,IAAI,MAAM;IAMvB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY;CAG7D"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../../../src/models/content/kinds/tasks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIpD,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACnD,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,MAAM,IAAI,MAAM;IAMhB,KAAK,IAAI,YAAY;IAI5B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY;CAG7D"}
@@ -8,9 +8,16 @@ const json2md_1 = __importDefault(require("json2md"));
8
8
  const model_1 = require("./model");
9
9
  const utils_1 = require("../../../utils");
10
10
  class TasksContent extends model_1.Content {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.location = 'user';
14
+ }
11
15
  render() {
12
16
  return (0, json2md_1.default)((0, utils_1.cast)({ ol: this.payload }));
13
17
  }
18
+ clone() {
19
+ return TasksContent.build(this.payload);
20
+ }
14
21
  static build(payload) {
15
22
  return new TasksContent('tasks', payload);
16
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/tasks.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAG9B,mCAAkC;AAClC,0CAAsC;AAEtC,MAAa,YAAa,SAAQ,eAA0B;IACnD,MAAM;QACX,OAAO,IAAA,iBAAO,EACZ,IAAA,YAAI,EAAe,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAgC;QAC3C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAVD,oCAUC"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../../src/models/content/kinds/tasks.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAE9B,mCAAoD;AAEpD,0CAAsC;AAEtC,MAAa,YAAa,SAAQ,eAA0B;IAA5D;;QACS,aAAQ,GAAqB,MAAM,CAAC;IAe7C,CAAC;IAbQ,MAAM;QACX,OAAO,IAAA,iBAAO,EACZ,IAAA,YAAI,EAAe,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CACzC,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAgC;QAC3C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAhBD,oCAgBC"}
@@ -3,6 +3,7 @@ export * from './project';
3
3
  export * from './content';
4
4
  export * from './file';
5
5
  export * from './bash';
6
+ export * from './meta';
6
7
  export * from './llm';
7
8
  export * from './vfs';
8
9
  export * from './rg';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,MAAM,CAAC"}
@@ -19,6 +19,7 @@ __exportStar(require("./project"), exports);
19
19
  __exportStar(require("./content"), exports);
20
20
  __exportStar(require("./file"), exports);
21
21
  __exportStar(require("./bash"), exports);
22
+ __exportStar(require("./meta"), exports);
22
23
  __exportStar(require("./llm"), exports);
23
24
  __exportStar(require("./vfs"), exports);
24
25
  __exportStar(require("./rg"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,wCAAsB;AACtB,wCAAsB;AACtB,uCAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AACvB,wCAAsB;AACtB,wCAAsB;AACtB,uCAAqB"}