@proteinjs/conversation 1.0.7 → 1.0.9

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 (70) hide show
  1. package/.eslintrc.js +1 -1
  2. package/.prettierignore +4 -0
  3. package/CHANGELOG.md +11 -0
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +28 -40
  6. package/dist/src/CodegenConversation.d.ts +11 -11
  7. package/dist/src/CodegenConversation.js +180 -294
  8. package/dist/src/Conversation.d.ts +49 -52
  9. package/dist/src/Conversation.js +288 -478
  10. package/dist/src/ConversationModule.d.ts +6 -6
  11. package/dist/src/ConversationModule.js +3 -3
  12. package/dist/src/Function.d.ts +4 -4
  13. package/dist/src/Function.js +3 -3
  14. package/dist/src/OpenAi.d.ts +10 -42
  15. package/dist/src/OpenAi.js +305 -495
  16. package/dist/src/Paragraph.d.ts +4 -4
  17. package/dist/src/Paragraph.js +17 -17
  18. package/dist/src/Sentence.d.ts +4 -4
  19. package/dist/src/Sentence.js +21 -21
  20. package/dist/src/code_template/Code.d.ts +15 -15
  21. package/dist/src/code_template/Code.js +73 -167
  22. package/dist/src/code_template/CodeTemplate.d.ts +11 -11
  23. package/dist/src/code_template/CodeTemplate.js +80 -169
  24. package/dist/src/code_template/CodeTemplateModule.d.ts +6 -6
  25. package/dist/src/code_template/CodeTemplateModule.js +26 -28
  26. package/dist/src/code_template/Repo.d.ts +38 -34
  27. package/dist/src/code_template/Repo.js +195 -291
  28. package/dist/src/fs/conversation_fs/ConversationFsModerator.d.ts +12 -12
  29. package/dist/src/fs/conversation_fs/ConversationFsModerator.js +108 -110
  30. package/dist/src/fs/conversation_fs/ConversationFsModule.d.ts +11 -11
  31. package/dist/src/fs/conversation_fs/ConversationFsModule.js +97 -204
  32. package/dist/src/fs/conversation_fs/FsFunctions.d.ts +62 -58
  33. package/dist/src/fs/conversation_fs/FsFunctions.js +252 -414
  34. package/dist/src/fs/git/GitModule.d.ts +8 -8
  35. package/dist/src/fs/git/GitModule.js +74 -163
  36. package/dist/src/fs/keyword_to_files_index/KeywordToFilesIndexFunctions.d.ts +18 -16
  37. package/dist/src/fs/keyword_to_files_index/KeywordToFilesIndexFunctions.js +58 -158
  38. package/dist/src/fs/keyword_to_files_index/KeywordToFilesIndexModule.d.ts +26 -27
  39. package/dist/src/fs/keyword_to_files_index/KeywordToFilesIndexModule.js +131 -234
  40. package/dist/src/fs/package/PackageFunctions.d.ts +60 -54
  41. package/dist/src/fs/package/PackageFunctions.js +213 -366
  42. package/dist/src/fs/package/PackageModule.d.ts +24 -24
  43. package/dist/src/fs/package/PackageModule.js +170 -292
  44. package/dist/src/history/MessageHistory.d.ts +12 -12
  45. package/dist/src/history/MessageHistory.js +46 -52
  46. package/dist/src/history/MessageModerator.d.ts +2 -2
  47. package/dist/src/history/MessageModerator.js +3 -3
  48. package/dist/src/template/ConversationTemplate.d.ts +8 -8
  49. package/dist/src/template/ConversationTemplate.js +3 -3
  50. package/dist/src/template/ConversationTemplateFunctions.d.ts +35 -33
  51. package/dist/src/template/ConversationTemplateFunctions.js +75 -176
  52. package/dist/src/template/ConversationTemplateModule.d.ts +48 -51
  53. package/dist/src/template/ConversationTemplateModule.js +116 -211
  54. package/dist/src/template/createApp/CreateAppTemplate.d.ts +1 -1
  55. package/dist/src/template/createApp/CreateAppTemplate.js +59 -151
  56. package/dist/src/template/createCode/CreateCodeConversationTemplate.d.ts +1 -1
  57. package/dist/src/template/createCode/CreateCodeConversationTemplate.js +67 -183
  58. package/dist/src/template/createPackage/CreatePackageConversationTemplate.d.ts +1 -1
  59. package/dist/src/template/createPackage/CreatePackageConversationTemplate.js +77 -174
  60. package/dist/src/template/createPackage/tsconfig.json +11 -11
  61. package/dist/test/createKeywordFilesIndex.test.d.ts +1 -1
  62. package/dist/test/createKeywordFilesIndex.test.js +41 -132
  63. package/dist/test/openai/openai.generateList.test.d.ts +1 -1
  64. package/dist/test/openai/openai.generateList.test.js +47 -136
  65. package/dist/test/openai/openai.parseCodeFromMarkdown.test.d.ts +1 -1
  66. package/dist/test/openai/openai.parseCodeFromMarkdown.test.js +12 -13
  67. package/dist/test/repo/repo.test.d.ts +1 -1
  68. package/dist/test/repo/repo.test.js +38 -127
  69. package/package.json +5 -6
  70. package/LICENSE +0 -21
@@ -1,7 +1,7 @@
1
1
  import { Sentence } from './Sentence';
2
2
  export declare class Paragraph {
3
- private sentences;
4
- add(sentence: Sentence): this;
5
- toString(): string;
3
+ private sentences;
4
+ add(sentence: Sentence): this;
5
+ toString(): string;
6
6
  }
7
- //# sourceMappingURL=Paragraph.d.ts.map
7
+ //# sourceMappingURL=Paragraph.d.ts.map
@@ -1,21 +1,21 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Paragraph = void 0;
4
4
  var Paragraph = /** @class */ (function () {
5
- function Paragraph() {
6
- this.sentences = [];
7
- }
8
- Paragraph.prototype.add = function (sentence) {
9
- this.sentences.push(sentence);
10
- return this;
11
- };
12
- Paragraph.prototype.toString = function () {
13
- if (this.sentences.length == 0) {
14
- return '';
5
+ function Paragraph() {
6
+ this.sentences = [];
15
7
  }
16
- return this.sentences.join(' ');
17
- };
18
- return Paragraph;
19
- })();
8
+ Paragraph.prototype.add = function (sentence) {
9
+ this.sentences.push(sentence);
10
+ return this;
11
+ };
12
+ Paragraph.prototype.toString = function () {
13
+ if (this.sentences.length == 0) {
14
+ return '';
15
+ }
16
+ return this.sentences.join(' ');
17
+ };
18
+ return Paragraph;
19
+ }());
20
20
  exports.Paragraph = Paragraph;
21
- //# sourceMappingURL=Paragraph.js.map
21
+ //# sourceMappingURL=Paragraph.js.map
@@ -1,6 +1,6 @@
1
1
  export declare class Sentence {
2
- private lines;
3
- add(line: string): this;
4
- toString(): string;
2
+ private lines;
3
+ add(line: string): this;
4
+ toString(): string;
5
5
  }
6
- //# sourceMappingURL=Sentence.d.ts.map
6
+ //# sourceMappingURL=Sentence.d.ts.map
@@ -1,26 +1,26 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Sentence = void 0;
4
4
  // Alina was here
5
5
  var Sentence = /** @class */ (function () {
6
- function Sentence() {
7
- this.lines = [];
8
- }
9
- Sentence.prototype.add = function (line) {
10
- this.lines.push(line);
11
- return this;
12
- };
13
- Sentence.prototype.toString = function () {
14
- if (this.lines.length == 0) {
15
- return '';
6
+ function Sentence() {
7
+ this.lines = [];
16
8
  }
17
- var sentence = this.lines.join(', ');
18
- if (sentence.lastIndexOf('.') != sentence.length - 1) {
19
- sentence += '.';
20
- }
21
- return sentence;
22
- };
23
- return Sentence;
24
- })();
9
+ Sentence.prototype.add = function (line) {
10
+ this.lines.push(line);
11
+ return this;
12
+ };
13
+ Sentence.prototype.toString = function () {
14
+ if (this.lines.length == 0) {
15
+ return '';
16
+ }
17
+ var sentence = this.lines.join(', ');
18
+ if (sentence.lastIndexOf('.') != sentence.length - 1) {
19
+ sentence += '.';
20
+ }
21
+ return sentence;
22
+ };
23
+ return Sentence;
24
+ }());
25
25
  exports.Sentence = Sentence;
26
- //# sourceMappingURL=Sentence.js.map
26
+ //# sourceMappingURL=Sentence.js.map
@@ -1,24 +1,24 @@
1
1
  import { Conversation } from '../Conversation';
2
2
  export type SourceFile = {
3
- relativePath: string;
4
- code: Code;
3
+ relativePath: string;
4
+ code: Code;
5
5
  };
6
6
  export type Import = {
7
- moduleNames: string[];
8
- importPathFromGeneratedFile: string;
9
- sourceFilePath: string;
7
+ moduleNames: string[];
8
+ importPathFromGeneratedFile: string;
9
+ sourceFilePath: string;
10
10
  };
11
11
  export type CodeArgs = {
12
- conversation: Conversation;
13
- description: string[];
14
- imports?: Import[];
12
+ conversation: Conversation;
13
+ description: string[];
14
+ imports?: Import[];
15
15
  };
16
16
  export declare class Code {
17
- private args;
18
- constructor(args: CodeArgs);
19
- generate(): Promise<string>;
20
- private addImports;
21
- private declarationMessage;
22
- private importMessage;
17
+ private args;
18
+ constructor(args: CodeArgs);
19
+ generate(): Promise<string>;
20
+ private addImports;
21
+ private declarationMessage;
22
+ private importMessage;
23
23
  }
24
- //# sourceMappingURL=Code.d.ts.map
24
+ //# sourceMappingURL=Code.d.ts.map
@@ -1,174 +1,80 @@
1
- 'use strict';
2
- var __awaiter =
3
- (this && this.__awaiter) ||
4
- function (thisArg, _arguments, P, generator) {
5
- function adopt(value) {
6
- return value instanceof P
7
- ? value
8
- : new P(function (resolve) {
9
- resolve(value);
10
- });
11
- }
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
4
  return new (P || (P = Promise))(function (resolve, reject) {
13
- function fulfilled(value) {
14
- try {
15
- step(generator.next(value));
16
- } catch (e) {
17
- reject(e);
18
- }
19
- }
20
- function rejected(value) {
21
- try {
22
- step(generator['throw'](value));
23
- } catch (e) {
24
- reject(e);
25
- }
26
- }
27
- function step(result) {
28
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
29
- }
30
- step((generator = generator.apply(thisArg, _arguments || [])).next());
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
31
9
  });
32
- };
33
- var __generator =
34
- (this && this.__generator) ||
35
- function (thisArg, body) {
36
- var _ = {
37
- label: 0,
38
- sent: function () {
39
- if (t[0] & 1) throw t[1];
40
- return t[1];
41
- },
42
- trys: [],
43
- ops: [],
44
- },
45
- f,
46
- y,
47
- t,
48
- g;
49
- return (
50
- (g = { next: verb(0), throw: verb(1), return: verb(2) }),
51
- typeof Symbol === 'function' &&
52
- (g[Symbol.iterator] = function () {
53
- return this;
54
- }),
55
- g
56
- );
57
- function verb(n) {
58
- return function (v) {
59
- return step([n, v]);
60
- };
61
- }
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
62
15
  function step(op) {
63
- if (f) throw new TypeError('Generator is already executing.');
64
- while ((g && ((g = 0), op[0] && (_ = 0)), _))
65
- try {
66
- if (
67
- ((f = 1),
68
- y &&
69
- (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) &&
70
- !(t = t.call(y, op[1])).done)
71
- )
72
- return t;
73
- if (((y = 0), t)) op = [op[0] & 2, t.value];
74
- switch (op[0]) {
75
- case 0:
76
- case 1:
77
- t = op;
78
- break;
79
- case 4:
80
- _.label++;
81
- return { value: op[1], done: false };
82
- case 5:
83
- _.label++;
84
- y = op[1];
85
- op = [0];
86
- continue;
87
- case 7:
88
- op = _.ops.pop();
89
- _.trys.pop();
90
- continue;
91
- default:
92
- if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
93
- _ = 0;
94
- continue;
95
- }
96
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
97
- _.label = op[1];
98
- break;
99
- }
100
- if (op[0] === 6 && _.label < t[1]) {
101
- _.label = t[1];
102
- t = op;
103
- break;
104
- }
105
- if (t && _.label < t[2]) {
106
- _.label = t[2];
107
- _.ops.push(op);
108
- break;
109
- }
110
- if (t[2]) _.ops.pop();
111
- _.trys.pop();
112
- continue;
113
- }
114
- op = body.call(thisArg, _);
115
- } catch (e) {
116
- op = [6, e];
117
- y = 0;
118
- } finally {
119
- f = t = 0;
120
- }
121
- if (op[0] & 5) throw op[1];
122
- return { value: op[0] ? op[1] : void 0, done: true };
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
123
36
  }
124
- };
125
- Object.defineProperty(exports, '__esModule', { value: true });
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
126
39
  exports.Code = void 0;
127
- var util_node_1 = require('@proteinjs/util-node');
40
+ var util_node_1 = require("@proteinjs/util-node");
128
41
  var Code = /** @class */ (function () {
129
- function Code(args) {
130
- this.args = args;
131
- }
132
- Code.prototype.generate = function () {
133
- return __awaiter(this, void 0, void 0, function () {
134
- return __generator(this, function (_a) {
135
- switch (_a.label) {
136
- case 0:
137
- if (this.args.imports) {
138
- this.addImports(this.args.imports, this.args.conversation);
139
- }
140
- return [4 /*yield*/, this.args.conversation.generateCode(this.args.description, 'gpt-4')];
141
- case 1:
142
- return [2 /*return*/, _a.sent()];
143
- }
144
- });
145
- });
146
- };
147
- Code.prototype.addImports = function (imports, conversation) {
148
- conversation.addSystemMessagesToHistory([
149
- this.declarationMessage(
150
- imports.map(function (d) {
151
- return d.sourceFilePath;
152
- })
153
- ),
154
- this.importMessage(imports),
155
- ]);
156
- };
157
- Code.prototype.declarationMessage = function (tsFilePaths) {
158
- var declarationMap = util_node_1.PackageUtil.generateTypescriptDeclarations({
159
- tsFilePaths: tsFilePaths,
160
- includeDependencyDeclarations: true,
161
- });
162
- var declarations = Object.values(declarationMap).join('\n');
163
- return 'Assume the following code exists in other files:\n'.concat(declarations);
164
- };
165
- Code.prototype.importMessage = function (imports) {
166
- var importStatements = imports.map(function (i) {
167
- return 'import { '.concat(i.moduleNames.join(', '), " } from '").concat(i.importPathFromGeneratedFile, "'");
168
- });
169
- return 'Add the following imports:\n'.concat(importStatements);
170
- };
171
- return Code;
172
- })();
42
+ function Code(args) {
43
+ this.args = args;
44
+ }
45
+ Code.prototype.generate = function () {
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ return __generator(this, function (_a) {
48
+ switch (_a.label) {
49
+ case 0:
50
+ if (this.args.imports) {
51
+ this.addImports(this.args.imports, this.args.conversation);
52
+ }
53
+ return [4 /*yield*/, this.args.conversation.generateCode(this.args.description, 'gpt-4')];
54
+ case 1: return [2 /*return*/, _a.sent()];
55
+ }
56
+ });
57
+ });
58
+ };
59
+ Code.prototype.addImports = function (imports, conversation) {
60
+ conversation.addSystemMessagesToHistory([
61
+ this.declarationMessage(imports.map(function (d) { return d.sourceFilePath; })),
62
+ this.importMessage(imports),
63
+ ]);
64
+ };
65
+ Code.prototype.declarationMessage = function (tsFilePaths) {
66
+ var declarationMap = util_node_1.PackageUtil.generateTypescriptDeclarations({
67
+ tsFilePaths: tsFilePaths,
68
+ includeDependencyDeclarations: true,
69
+ });
70
+ var declarations = Object.values(declarationMap).join('\n');
71
+ return "Assume the following code exists in other files:\n".concat(declarations);
72
+ };
73
+ Code.prototype.importMessage = function (imports) {
74
+ var importStatements = imports.map(function (i) { return "import { ".concat(i.moduleNames.join(', '), " } from '").concat(i.importPathFromGeneratedFile, "'"); });
75
+ return "Add the following imports:\n".concat(importStatements);
76
+ };
77
+ return Code;
78
+ }());
173
79
  exports.Code = Code;
174
- //# sourceMappingURL=Code.js.map
80
+ //# sourceMappingURL=Code.js.map
@@ -2,17 +2,17 @@ import { Logger } from '@proteinjs/util';
2
2
  import { Package } from '@proteinjs/util-node';
3
3
  import { SourceFile } from './Code';
4
4
  export type TemplateArgs = {
5
- srcPath: string;
6
- additionalPackages?: Package[];
7
- replacePackages?: boolean;
5
+ srcPath: string;
6
+ additionalPackages?: Package[];
7
+ replacePackages?: boolean;
8
8
  };
9
9
  export declare abstract class CodeTemplate {
10
- protected logger: Logger;
11
- protected templateArgs: TemplateArgs;
12
- constructor(templateArgs: TemplateArgs);
13
- abstract dependencyPackages(): Package[];
14
- abstract sourceFiles(): SourceFile[];
15
- generate(): Promise<void>;
16
- private resolvePackages;
10
+ protected logger: Logger;
11
+ protected templateArgs: TemplateArgs;
12
+ constructor(templateArgs: TemplateArgs);
13
+ abstract dependencyPackages(): Package[];
14
+ abstract sourceFiles(): SourceFile[];
15
+ generate(): Promise<void>;
16
+ private resolvePackages;
17
17
  }
18
- //# sourceMappingURL=CodeTemplate.d.ts.map
18
+ //# sourceMappingURL=CodeTemplate.d.ts.map