@intend-it/core 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +58 -16
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -168863,7 +168863,14 @@ class TypeScriptGenerator {
|
|
|
168863
168863
|
blocks.push(...this.generateEnsure(ensure));
|
|
168864
168864
|
});
|
|
168865
168865
|
}
|
|
168866
|
-
if (intent.body.
|
|
168866
|
+
if (intent.body.returnStmt) {
|
|
168867
|
+
blocks.push({ type: "comment", content: "", indent: 0 });
|
|
168868
|
+
blocks.push({
|
|
168869
|
+
type: "statement",
|
|
168870
|
+
content: `return ${intent.body.returnStmt.identifier};`,
|
|
168871
|
+
indent: 1
|
|
168872
|
+
});
|
|
168873
|
+
} else if (intent.body.steps.length > 0) {
|
|
168867
168874
|
const lastStep = intent.body.steps[intent.body.steps.length - 1];
|
|
168868
168875
|
if (lastStep.resultVariable) {
|
|
168869
168876
|
blocks.push({ type: "comment", content: "", indent: 0 });
|
|
@@ -168872,16 +168879,6 @@ class TypeScriptGenerator {
|
|
|
168872
168879
|
content: `return ${lastStep.resultVariable};`,
|
|
168873
168880
|
indent: 1
|
|
168874
168881
|
});
|
|
168875
|
-
} else {
|
|
168876
|
-
const returnVar = intent.body.steps.find((s) => s.resultVariable)?.resultVariable;
|
|
168877
|
-
if (returnVar) {
|
|
168878
|
-
blocks.push({ type: "comment", content: "", indent: 0 });
|
|
168879
|
-
blocks.push({
|
|
168880
|
-
type: "statement",
|
|
168881
|
-
content: `return ${returnVar};`,
|
|
168882
|
-
indent: 1
|
|
168883
|
-
});
|
|
168884
|
-
}
|
|
168885
168882
|
}
|
|
168886
168883
|
}
|
|
168887
168884
|
return blocks;
|
|
@@ -169462,15 +169459,57 @@ ${request.prompt}`;
|
|
|
169462
169459
|
async testConnection() {
|
|
169463
169460
|
try {
|
|
169464
169461
|
const response = await fetch(`${this.baseUrl}/api/version`);
|
|
169465
|
-
|
|
169466
|
-
return true;
|
|
169467
|
-
}
|
|
169468
|
-
return false;
|
|
169462
|
+
return response.ok;
|
|
169469
169463
|
} catch (error) {
|
|
169470
|
-
console.error("Ollama connection failed. Is Ollama running?");
|
|
169471
169464
|
return false;
|
|
169472
169465
|
}
|
|
169473
169466
|
}
|
|
169467
|
+
async checkModelExists() {
|
|
169468
|
+
try {
|
|
169469
|
+
const response = await fetch(`${this.baseUrl}/api/tags`);
|
|
169470
|
+
if (!response.ok)
|
|
169471
|
+
return false;
|
|
169472
|
+
const data = await response.json();
|
|
169473
|
+
return data.models.some((m) => m.name === this.model || m.name === `${this.model}:latest`);
|
|
169474
|
+
} catch {
|
|
169475
|
+
return false;
|
|
169476
|
+
}
|
|
169477
|
+
}
|
|
169478
|
+
async pullModel(onProgress) {
|
|
169479
|
+
try {
|
|
169480
|
+
const response = await fetch(`${this.baseUrl}/api/pull`, {
|
|
169481
|
+
method: "POST",
|
|
169482
|
+
headers: { "Content-Type": "application/json" },
|
|
169483
|
+
body: JSON.stringify({ name: this.model, stream: true })
|
|
169484
|
+
});
|
|
169485
|
+
if (!response.body)
|
|
169486
|
+
return false;
|
|
169487
|
+
const reader = response.body.getReader();
|
|
169488
|
+
const decoder = new TextDecoder;
|
|
169489
|
+
while (true) {
|
|
169490
|
+
const { done, value } = await reader.read();
|
|
169491
|
+
if (done)
|
|
169492
|
+
break;
|
|
169493
|
+
const chunk = decoder.decode(value, { stream: true });
|
|
169494
|
+
const lines = chunk.split(`
|
|
169495
|
+
`).filter(Boolean);
|
|
169496
|
+
for (const line of lines) {
|
|
169497
|
+
try {
|
|
169498
|
+
const data = JSON.parse(line);
|
|
169499
|
+
if (data.error) {
|
|
169500
|
+
throw new Error(data.error);
|
|
169501
|
+
}
|
|
169502
|
+
if (onProgress) {
|
|
169503
|
+
onProgress(data.status, data.completed, data.total);
|
|
169504
|
+
}
|
|
169505
|
+
} catch (e) {}
|
|
169506
|
+
}
|
|
169507
|
+
}
|
|
169508
|
+
return true;
|
|
169509
|
+
} catch (e) {
|
|
169510
|
+
throw e;
|
|
169511
|
+
}
|
|
169512
|
+
}
|
|
169474
169513
|
}
|
|
169475
169514
|
|
|
169476
169515
|
// src/validation/validator.ts
|
|
@@ -169517,6 +169556,9 @@ import { resolve, dirname } from "path";
|
|
|
169517
169556
|
class AICodeGenerator {
|
|
169518
169557
|
provider;
|
|
169519
169558
|
promptBuilder;
|
|
169559
|
+
getProvider() {
|
|
169560
|
+
return this.provider;
|
|
169561
|
+
}
|
|
169520
169562
|
mode;
|
|
169521
169563
|
validator;
|
|
169522
169564
|
maxAttempts;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intend-it/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Core compiler and AI integration for the Intend programming language",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
],
|
|
36
36
|
"license": "MIT",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@intend-it/parser": "^1.1.
|
|
38
|
+
"@intend-it/parser": "^1.1.3",
|
|
39
39
|
"@google/generative-ai": "^0.21.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
@@ -43,6 +43,6 @@
|
|
|
43
43
|
"typescript": "^5.0.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"@intend-it/parser": ">=1.1.
|
|
46
|
+
"@intend-it/parser": ">=1.1.3"
|
|
47
47
|
}
|
|
48
48
|
}
|