@tyvm/knowhow 0.0.1 → 0.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/package.json +2 -2
- package/src/plugins/PluginBase.ts +48 -0
- package/src/plugins/asana.ts +12 -2
- package/src/plugins/downloader/plugin.ts +12 -2
- package/src/plugins/embedding.ts +12 -2
- package/src/plugins/figma.ts +18 -2
- package/src/plugins/github.ts +34 -5
- package/src/plugins/jira.ts +11 -2
- package/src/plugins/language.ts +11 -2
- package/src/plugins/linear.ts +11 -2
- package/src/plugins/notion.ts +11 -2
- package/src/plugins/plugins.ts +90 -24
- package/src/plugins/types.ts +15 -2
- package/src/plugins/url.ts +12 -1
- package/src/plugins/vim.ts +12 -2
- package/ts_build/src/chat.js +1 -1
- package/ts_build/src/chat.js.map +1 -1
- package/ts_build/src/plugins/EmbeddingPluginV2.d.ts +7 -0
- package/ts_build/src/plugins/EmbeddingPluginV2.js +41 -0
- package/ts_build/src/plugins/EmbeddingPluginV2.js.map +1 -0
- package/ts_build/src/plugins/GitHubPluginV2.d.ts +10 -0
- package/ts_build/src/plugins/GitHubPluginV2.js +57 -0
- package/ts_build/src/plugins/GitHubPluginV2.js.map +1 -0
- package/ts_build/src/plugins/PluginBase.d.ts +15 -0
- package/ts_build/src/plugins/PluginBase.js +32 -0
- package/ts_build/src/plugins/PluginBase.js.map +1 -0
- package/ts_build/src/plugins/asana.d.ts +3 -2
- package/ts_build/src/plugins/asana.js +10 -1
- package/ts_build/src/plugins/asana.js.map +1 -1
- package/ts_build/src/plugins/downloader/plugin.d.ts +4 -2
- package/ts_build/src/plugins/downloader/plugin.js +10 -1
- package/ts_build/src/plugins/downloader/plugin.js.map +1 -1
- package/ts_build/src/plugins/embedding.d.ts +4 -2
- package/ts_build/src/plugins/embedding.js +10 -1
- package/ts_build/src/plugins/embedding.js.map +1 -1
- package/ts_build/src/plugins/figma.d.ts +4 -1
- package/ts_build/src/plugins/figma.js +16 -2
- package/ts_build/src/plugins/figma.js.map +1 -1
- package/ts_build/src/plugins/github.d.ts +4 -2
- package/ts_build/src/plugins/github.js +28 -4
- package/ts_build/src/plugins/github.js.map +1 -1
- package/ts_build/src/plugins/jira.d.ts +3 -2
- package/ts_build/src/plugins/jira.js +10 -1
- package/ts_build/src/plugins/jira.js.map +1 -1
- package/ts_build/src/plugins/language.d.ts +3 -1
- package/ts_build/src/plugins/language.js +8 -1
- package/ts_build/src/plugins/language.js.map +1 -1
- package/ts_build/src/plugins/linear.d.ts +3 -2
- package/ts_build/src/plugins/linear.js +10 -1
- package/ts_build/src/plugins/linear.js.map +1 -1
- package/ts_build/src/plugins/notion.d.ts +3 -2
- package/ts_build/src/plugins/notion.js +10 -1
- package/ts_build/src/plugins/notion.js.map +1 -1
- package/ts_build/src/plugins/plugins.d.ts +9 -5
- package/ts_build/src/plugins/plugins.js +90 -23
- package/ts_build/src/plugins/plugins.js.map +1 -1
- package/ts_build/src/plugins/types.d.ts +12 -2
- package/ts_build/src/plugins/url.d.ts +4 -1
- package/ts_build/src/plugins/url.js +10 -1
- package/ts_build/src/plugins/url.js.map +1 -1
- package/ts_build/src/plugins/vim.d.ts +4 -2
- package/ts_build/src/plugins/vim.js +10 -1
- package/ts_build/src/plugins/vim.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tyvm/knowhow",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "ai cli with plugins and agents",
|
|
5
5
|
"main": "ts_build/src/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
"@types/pdf-parse": "^1.1.4",
|
|
31
31
|
"@types/ws": "^8.18.1",
|
|
32
32
|
"jest": "^29.1.1",
|
|
33
|
-
"pdf-parse": "^1.1.1",
|
|
34
33
|
"prettier": "2.6.2",
|
|
35
34
|
"ts-jest": "^29.1.1",
|
|
36
35
|
"ts-node": "^10.7.0",
|
|
@@ -63,6 +62,7 @@
|
|
|
63
62
|
"openai": "4.89.1",
|
|
64
63
|
"ora": "^5.4.1",
|
|
65
64
|
"parse-diff": "^0.11.1",
|
|
65
|
+
"pdf-parse": "^1.1.1",
|
|
66
66
|
"playwright": "^1.52.0",
|
|
67
67
|
"playwright-extra": "^4.3.6",
|
|
68
68
|
"progress-estimator": "^0.3.1",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { MinimalEmbedding } from "../types";
|
|
2
|
+
import { Plugin, PluginMeta } from "./types";
|
|
3
|
+
|
|
4
|
+
export abstract class PluginBase implements Plugin {
|
|
5
|
+
/** Manual on/off toggle (default ON) */
|
|
6
|
+
private active = true;
|
|
7
|
+
|
|
8
|
+
constructor(public readonly meta: PluginMeta) {}
|
|
9
|
+
|
|
10
|
+
/* ------------------------------------------------------------------ */
|
|
11
|
+
/** Public helpers called by PluginService -------------------------- */
|
|
12
|
+
/* ------------------------------------------------------------------ */
|
|
13
|
+
enable(): void {
|
|
14
|
+
this.active = true;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
disable(): void {
|
|
18
|
+
this.active = false;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async isEnabled(): Promise<boolean> {
|
|
22
|
+
if (!this.active) return false;
|
|
23
|
+
|
|
24
|
+
const envOk = this.hasRequiredEnv();
|
|
25
|
+
|
|
26
|
+
const extraOk = await this.customEnableCheck();
|
|
27
|
+
return envOk && extraOk;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
protected hasRequiredEnv(): boolean {
|
|
31
|
+
return (
|
|
32
|
+
!this.meta.requires ||
|
|
33
|
+
this.meta.requires.every((k) => process.env[k] && process.env[k] !== "")
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
protected customEnableCheck(): boolean | Promise<boolean> {
|
|
38
|
+
return true; // subclasses override if needed
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* ------------------------------------------------------------------ */
|
|
42
|
+
/** Mandatory plugin actions ---------------------------------------- */
|
|
43
|
+
/* ------------------------------------------------------------------ */
|
|
44
|
+
abstract call(input?: string): Promise<string>;
|
|
45
|
+
abstract embed(input: string): Promise<MinimalEmbedding[]>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { PluginMeta, Plugin } from "./types";
|
package/src/plugins/asana.ts
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
2
2
|
import { Embeddable, MinimalEmbedding } from "../types";
|
|
3
3
|
|
|
4
|
-
export class AsanaPlugin
|
|
4
|
+
export class AsanaPlugin extends PluginBase {
|
|
5
|
+
static readonly meta: PluginMeta = {
|
|
6
|
+
key: "asana",
|
|
7
|
+
name: "Asana Plugin",
|
|
8
|
+
requires: ["ASANA_TOKEN"]
|
|
9
|
+
};
|
|
10
|
+
|
|
5
11
|
private asanaClient = require("asana").ApiClient.instance;
|
|
6
12
|
|
|
7
13
|
constructor() {
|
|
14
|
+
super(AsanaPlugin.meta);
|
|
15
|
+
|
|
16
|
+
if (!this.isEnabled()) return;
|
|
17
|
+
|
|
8
18
|
this.asanaClient.authentications.token = process.env.ASANA_TOKEN;
|
|
9
19
|
this.asanaClient.defaultHeaders = {
|
|
10
20
|
"Asana-Enable": "new_user_task_lists,new_goal_memberships",
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
|
-
import {
|
|
2
|
+
import { PluginBase, PluginMeta } from "../PluginBase";
|
|
3
3
|
import { MinimalEmbedding } from "../../types";
|
|
4
4
|
import { convertToText, processVideo } from "../../conversion";
|
|
5
5
|
import { Downloader } from "./downloader";
|
|
6
6
|
|
|
7
|
-
export class DownloaderPlugin
|
|
7
|
+
export class DownloaderPlugin extends PluginBase {
|
|
8
|
+
static readonly meta: PluginMeta = {
|
|
9
|
+
key: "downloader",
|
|
10
|
+
name: "Downloader Plugin",
|
|
11
|
+
requires: []
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
constructor() {
|
|
15
|
+
super(DownloaderPlugin.meta);
|
|
16
|
+
}
|
|
17
|
+
|
|
8
18
|
skipExt = ["jpg", "jpeg", "png", "gif"];
|
|
9
19
|
|
|
10
20
|
extractUrls(userInput: string): string[] {
|
package/src/plugins/embedding.ts
CHANGED
|
@@ -6,9 +6,19 @@ import {
|
|
|
6
6
|
pruneMetadata,
|
|
7
7
|
} from "../embeddings";
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
10
|
+
|
|
11
|
+
export class EmbeddingPlugin extends PluginBase {
|
|
12
|
+
static readonly meta: PluginMeta = {
|
|
13
|
+
key: "embeddings",
|
|
14
|
+
name: "Embedding Plugin",
|
|
15
|
+
requires: []
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
constructor() {
|
|
19
|
+
super(EmbeddingPlugin.meta);
|
|
20
|
+
}
|
|
10
21
|
|
|
11
|
-
export class EmbeddingPlugin implements Plugin {
|
|
12
22
|
async embed() {
|
|
13
23
|
return [];
|
|
14
24
|
}
|
package/src/plugins/figma.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Client } from "figma-js";
|
|
2
2
|
import qs from "qs"; // Assumed to be installed
|
|
3
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
3
4
|
import { Plugin } from "./types";
|
|
4
5
|
import { MinimalEmbedding } from "../types";
|
|
5
6
|
import { askGptVision } from "../ai";
|
|
@@ -30,13 +31,28 @@ interface FigmaApiResponse {
|
|
|
30
31
|
nodes: Record<string, FigmaNodeData>;
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
export class FigmaPlugin implements Plugin {
|
|
34
|
+
export class FigmaPlugin extends PluginBase implements Plugin {
|
|
34
35
|
private figmaToken: string;
|
|
35
36
|
private client: ReturnType<typeof Client>;
|
|
36
37
|
|
|
38
|
+
static readonly meta: PluginMeta = {
|
|
39
|
+
key: "figma",
|
|
40
|
+
name: "Figma Plugin",
|
|
41
|
+
requires: ["FIGMA_API_KEY"],
|
|
42
|
+
};
|
|
43
|
+
|
|
37
44
|
constructor() {
|
|
45
|
+
super(FigmaPlugin.meta);
|
|
46
|
+
if (!this.isEnabled()) return;
|
|
47
|
+
|
|
38
48
|
this.figmaToken = process.env.FIGMA_API_KEY;
|
|
39
|
-
this.client =
|
|
49
|
+
this.client = this.figmaToken
|
|
50
|
+
? Client({ personalAccessToken: this.figmaToken })
|
|
51
|
+
: null;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
customEnableCheck(): boolean {
|
|
55
|
+
return !!this.figmaToken && !!this.client;
|
|
40
56
|
}
|
|
41
57
|
|
|
42
58
|
async loadFigmaData(url: string) {
|
package/src/plugins/github.ts
CHANGED
|
@@ -1,15 +1,44 @@
|
|
|
1
1
|
import { Octokit } from "@octokit/rest";
|
|
2
|
-
import {
|
|
2
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
3
3
|
import { parseHunks, hunksToPatch } from "../agents/tools/patch";
|
|
4
4
|
import { MinimalEmbedding } from "../types";
|
|
5
5
|
|
|
6
|
-
export class GitHubPlugin
|
|
6
|
+
export class GitHubPlugin extends PluginBase {
|
|
7
|
+
static readonly meta: PluginMeta = {
|
|
8
|
+
key: "github",
|
|
9
|
+
name: "GitHub Plugin",
|
|
10
|
+
requires: ["GITHUB_TOKEN"],
|
|
11
|
+
};
|
|
12
|
+
|
|
7
13
|
octokit: Octokit;
|
|
8
14
|
|
|
9
15
|
constructor() {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
super(GitHubPlugin.meta);
|
|
17
|
+
|
|
18
|
+
const key = process.env.GITHUB_TOKEN;
|
|
19
|
+
if (key && this.isEnabled()) {
|
|
20
|
+
this.octokit = new Octokit({
|
|
21
|
+
auth: key,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
protected customEnableCheck(): boolean {
|
|
27
|
+
// Additional check: ensure we can create the Octokit client
|
|
28
|
+
try {
|
|
29
|
+
const key = process.env.GITHUB_TOKEN;
|
|
30
|
+
if (key) {
|
|
31
|
+
this.octokit = new Octokit({ auth: key });
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
} catch (error) {
|
|
36
|
+
console.error(
|
|
37
|
+
"GITHUB PLUGIN: Failed to initialize Octokit client",
|
|
38
|
+
error
|
|
39
|
+
);
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
13
42
|
}
|
|
14
43
|
|
|
15
44
|
async embed(userPrompt: string): Promise<MinimalEmbedding[]> {
|
package/src/plugins/jira.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import JiraClient from "jira-client";
|
|
2
|
-
import {
|
|
2
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
3
3
|
import { MinimalEmbedding } from "../types";
|
|
4
4
|
|
|
5
|
-
export class JiraPlugin
|
|
5
|
+
export class JiraPlugin extends PluginBase {
|
|
6
|
+
static readonly meta: PluginMeta = {
|
|
7
|
+
key: "jira",
|
|
8
|
+
name: "Jira Plugin",
|
|
9
|
+
requires: ["JIRA_HOST", "JIRA_USER", "JIRA_PASSWORD"]
|
|
10
|
+
};
|
|
11
|
+
|
|
6
12
|
jiraClient: JiraClient;
|
|
7
13
|
|
|
8
14
|
constructor() {
|
|
15
|
+
super(JiraPlugin.meta);
|
|
16
|
+
|
|
17
|
+
if (!this.isEnabled()) return;
|
|
9
18
|
this.jiraClient = new JiraClient({
|
|
10
19
|
protocol: "https",
|
|
11
20
|
host: process.env.JIRA_HOST,
|
package/src/plugins/language.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { readFile, fileExists, fileStat } from "../utils";
|
|
2
2
|
import { Language } from "../types";
|
|
3
3
|
import { getConfig, getLanguageConfig } from "../config";
|
|
4
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
4
5
|
import { Plugin } from "./types";
|
|
5
6
|
import { GitHubPlugin } from "./github";
|
|
6
7
|
import { AsanaPlugin } from "./asana";
|
|
@@ -8,8 +9,16 @@ import { JiraPlugin } from "./jira";
|
|
|
8
9
|
import { LinearPlugin } from "./linear";
|
|
9
10
|
import { PluginService } from "./plugins";
|
|
10
11
|
|
|
11
|
-
export class LanguagePlugin implements Plugin {
|
|
12
|
-
|
|
12
|
+
export class LanguagePlugin extends PluginBase implements Plugin {
|
|
13
|
+
static readonly meta: PluginMeta = {
|
|
14
|
+
key: "language",
|
|
15
|
+
name: "Language Plugin",
|
|
16
|
+
requires: []
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
constructor(private pluginService: PluginService) {
|
|
20
|
+
super(LanguagePlugin.meta);
|
|
21
|
+
}
|
|
13
22
|
|
|
14
23
|
async embed(userPrompt: string) {
|
|
15
24
|
return [];
|
package/src/plugins/linear.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { LinearClient } from "@linear/sdk";
|
|
2
|
-
import {
|
|
2
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
3
3
|
import { MinimalEmbedding } from "../types";
|
|
4
4
|
|
|
5
|
-
export class LinearPlugin
|
|
5
|
+
export class LinearPlugin extends PluginBase {
|
|
6
|
+
static readonly meta: PluginMeta = {
|
|
7
|
+
key: "linear",
|
|
8
|
+
name: "Linear Plugin",
|
|
9
|
+
requires: ["LINEAR_API_KEY"],
|
|
10
|
+
};
|
|
11
|
+
|
|
6
12
|
linearClient: LinearClient;
|
|
7
13
|
|
|
8
14
|
constructor() {
|
|
15
|
+
super(LinearPlugin.meta);
|
|
16
|
+
|
|
17
|
+
if (!this.isEnabled()) return;
|
|
9
18
|
this.linearClient = new LinearClient({
|
|
10
19
|
apiKey: process.env.LINEAR_API_KEY,
|
|
11
20
|
});
|
package/src/plugins/notion.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { Client } from "@notionhq/client";
|
|
2
|
-
import {
|
|
2
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
3
3
|
import { PageObjectResponse } from "@notionhq/client/build/src/api-endpoints";
|
|
4
4
|
import { Embeddable, MinimalEmbedding } from "../types";
|
|
5
5
|
|
|
6
|
-
export class NotionPlugin
|
|
6
|
+
export class NotionPlugin extends PluginBase {
|
|
7
|
+
static readonly meta: PluginMeta = {
|
|
8
|
+
key: "notion",
|
|
9
|
+
name: "Notion Plugin",
|
|
10
|
+
requires: ["NOTION_TOKEN"]
|
|
11
|
+
};
|
|
12
|
+
|
|
7
13
|
notionClient: Client;
|
|
8
14
|
|
|
9
15
|
constructor() {
|
|
16
|
+
super(NotionPlugin.meta);
|
|
17
|
+
|
|
18
|
+
if (!this.isEnabled()) return;
|
|
10
19
|
this.notionClient = new Client({
|
|
11
20
|
auth: process.env.NOTION_TOKEN,
|
|
12
21
|
});
|
package/src/plugins/plugins.ts
CHANGED
|
@@ -13,43 +13,109 @@ import { FigmaPlugin } from "./figma";
|
|
|
13
13
|
import { UrlPlugin } from "./url";
|
|
14
14
|
|
|
15
15
|
export class PluginService {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
private pluginMap = new Map<string, Plugin>();
|
|
17
|
+
|
|
18
|
+
constructor() {
|
|
19
|
+
// Register migrated PluginBase plugins
|
|
20
|
+
this.pluginMap.set("embeddings", new EmbeddingPlugin());
|
|
21
|
+
this.pluginMap.set("vim", new VimPlugin());
|
|
22
|
+
this.pluginMap.set("github", new GitHubPlugin());
|
|
23
|
+
this.pluginMap.set("asana", new AsanaPlugin());
|
|
24
|
+
this.pluginMap.set("linear", new LinearPlugin());
|
|
25
|
+
this.pluginMap.set("jira", new JiraPlugin());
|
|
26
|
+
this.pluginMap.set("notion", new NotionPlugin());
|
|
27
|
+
this.pluginMap.set("download", new DownloaderPlugin());
|
|
28
|
+
this.pluginMap.set("figma", new FigmaPlugin());
|
|
29
|
+
this.pluginMap.set("language", new LanguagePlugin(this));
|
|
30
|
+
this.pluginMap.set("url", new UrlPlugin());
|
|
31
|
+
|
|
32
|
+
// Keep legacy plugins for backward compatibility
|
|
33
|
+
// These will be removed once all consumers are updated
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* -------- lifecycle helpers ------------------------------------ */
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Dynamically import a package / file and register it.
|
|
40
|
+
* @param spec ESM import specifier, e.g. "my-linear-plugin" or "./plugins/foo"
|
|
41
|
+
* @returns the key under which it was stored
|
|
42
|
+
*/
|
|
43
|
+
async loadPlugin(spec: string): Promise<string> {
|
|
44
|
+
const { default: PluginCtor } = await import(spec);
|
|
45
|
+
const instance: Plugin = new PluginCtor(this); // assumes default export
|
|
46
|
+
this.pluginMap.set(instance.meta.key, instance);
|
|
47
|
+
return instance.meta.key;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** Disable a plugin by its key; returns `true` if found. */
|
|
51
|
+
disablePlugin(key: string): boolean {
|
|
52
|
+
const p = this.pluginMap.get(key);
|
|
53
|
+
if (!p) return false;
|
|
54
|
+
p.disable();
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Enable a plugin by its key; returns `true` if found. */
|
|
59
|
+
enablePlugin(key: string): boolean {
|
|
60
|
+
const p = this.pluginMap.get(key);
|
|
61
|
+
if (!p) return false;
|
|
62
|
+
p.enable();
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* -------- existing public API (updated for compatibility) ---------------------- */
|
|
29
67
|
|
|
30
68
|
listPlugins() {
|
|
31
|
-
|
|
69
|
+
const newPlugins = [...this.pluginMap.keys()];
|
|
70
|
+
return newPlugins;
|
|
32
71
|
}
|
|
33
72
|
|
|
34
73
|
isPlugin(name: string) {
|
|
35
|
-
return
|
|
74
|
+
return this.pluginMap.has(name);
|
|
36
75
|
}
|
|
37
76
|
|
|
38
|
-
registerPlugin(name, plugin: Plugin) {
|
|
39
|
-
this.
|
|
77
|
+
registerPlugin(name: string, plugin: Plugin) {
|
|
78
|
+
this.pluginMap.set(name, plugin);
|
|
40
79
|
}
|
|
41
80
|
|
|
42
|
-
async callMany(plugins: string[],
|
|
43
|
-
const calls = plugins.map((p) =>
|
|
44
|
-
|
|
81
|
+
async callMany(plugins: string[], userInput?: string) {
|
|
82
|
+
const calls = plugins.map(async (p) => {
|
|
83
|
+
return this.call(p, userInput);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
const results = await Promise.all(calls);
|
|
87
|
+
return results.filter((result) => result !== "").join("\n\n");
|
|
45
88
|
}
|
|
46
89
|
|
|
47
|
-
async call(kind: string,
|
|
48
|
-
|
|
90
|
+
async call(kind: string, userInput?: string) {
|
|
91
|
+
// Check new plugin system first
|
|
92
|
+
const newPlugin = this.pluginMap.get(kind);
|
|
93
|
+
|
|
94
|
+
if (!newPlugin) {
|
|
95
|
+
throw new Error(`Plugin ${kind} not found`);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const enabled = await newPlugin.isEnabled();
|
|
99
|
+
if (!enabled) {
|
|
100
|
+
console.log(`Plugin ${kind} is disabled, skipping`);
|
|
101
|
+
return "";
|
|
102
|
+
}
|
|
103
|
+
return newPlugin.call(userInput);
|
|
49
104
|
}
|
|
50
105
|
|
|
51
|
-
async embed(kind: string,
|
|
52
|
-
|
|
106
|
+
async embed(kind: string, userInput: string) {
|
|
107
|
+
// Check new plugin system first
|
|
108
|
+
const newPlugin = this.pluginMap.get(kind);
|
|
109
|
+
if (!newPlugin) {
|
|
110
|
+
throw new Error(`Plugin ${kind} not found`);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const enabled = await newPlugin.isEnabled();
|
|
114
|
+
if (!enabled) {
|
|
115
|
+
console.log(`Plugin ${kind} is disabled, skipping`);
|
|
116
|
+
return [];
|
|
117
|
+
}
|
|
118
|
+
return newPlugin.embed ? newPlugin.embed(userInput) : [];
|
|
53
119
|
}
|
|
54
120
|
}
|
|
55
121
|
|
package/src/plugins/types.ts
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { Embeddable, MinimalEmbedding } from "../types";
|
|
2
|
+
|
|
3
|
+
export interface PluginMeta {
|
|
4
|
+
key: string;
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
requires?: string[]; // Environment variables required
|
|
8
|
+
}
|
|
9
|
+
|
|
2
10
|
export interface Plugin {
|
|
3
|
-
call(
|
|
4
|
-
embed(
|
|
11
|
+
call(userInput?: string): Promise<string>;
|
|
12
|
+
embed(userInput?: string): Promise<MinimalEmbedding[]>;
|
|
13
|
+
enable(): void;
|
|
14
|
+
disable(): void;
|
|
15
|
+
isEnabled(): Promise<boolean>;
|
|
16
|
+
|
|
17
|
+
meta: PluginMeta;
|
|
5
18
|
}
|
package/src/plugins/url.ts
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
1
2
|
import { Plugin } from "./types";
|
|
2
3
|
import { MinimalEmbedding } from "../types";
|
|
3
4
|
import axios from "axios";
|
|
4
5
|
import * as cheerio from "cheerio";
|
|
5
6
|
import loadWebpage from "../agents/tools/loadWebpage";
|
|
6
7
|
|
|
7
|
-
export class UrlPlugin implements Plugin {
|
|
8
|
+
export class UrlPlugin extends PluginBase implements Plugin {
|
|
9
|
+
static readonly meta: PluginMeta = {
|
|
10
|
+
key: "url",
|
|
11
|
+
name: "URL Plugin",
|
|
12
|
+
requires: []
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
constructor() {
|
|
16
|
+
super(UrlPlugin.meta);
|
|
17
|
+
}
|
|
18
|
+
|
|
8
19
|
async embed(userPrompt: string): Promise<MinimalEmbedding[]> {
|
|
9
20
|
const urls = this.extractUrls(userPrompt);
|
|
10
21
|
const embeddings = await Promise.all(urls.map(this.fetchAndParseUrl));
|
package/src/plugins/vim.ts
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import glob from "glob";
|
|
2
2
|
import { readFile, fileExists, fileStat } from "../utils";
|
|
3
|
-
import {
|
|
3
|
+
import { PluginBase, PluginMeta } from "./PluginBase";
|
|
4
|
+
|
|
5
|
+
export class VimPlugin extends PluginBase {
|
|
6
|
+
static readonly meta: PluginMeta = {
|
|
7
|
+
key: "vim",
|
|
8
|
+
name: "Vim Plugin",
|
|
9
|
+
requires: []
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
constructor() {
|
|
13
|
+
super(VimPlugin.meta);
|
|
14
|
+
}
|
|
4
15
|
|
|
5
|
-
export class VimPlugin implements Plugin {
|
|
6
16
|
async embed(userPrompt: string) {
|
|
7
17
|
return [];
|
|
8
18
|
}
|
package/ts_build/src/chat.js
CHANGED
|
@@ -303,7 +303,7 @@ async function startAgent(activeAgent, newTask, attach = false) {
|
|
|
303
303
|
console.log("Agent terminated.");
|
|
304
304
|
break;
|
|
305
305
|
case "detach":
|
|
306
|
-
|
|
306
|
+
return "Detached from agent";
|
|
307
307
|
break;
|
|
308
308
|
default:
|
|
309
309
|
activeAgent.addPendingUserMessage({ role: "user", content: input });
|
package/ts_build/src/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmbeddingPluginV2 = void 0;
|
|
4
|
+
const PluginBase_1 = require("./PluginBase");
|
|
5
|
+
const config_1 = require("../config");
|
|
6
|
+
const embeddings_1 = require("../embeddings");
|
|
7
|
+
class EmbeddingPluginV2 extends PluginBase_1.PluginBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
const meta = {
|
|
10
|
+
key: "embeddings-v2",
|
|
11
|
+
name: "Embeddings Plugin V2",
|
|
12
|
+
description: "Enhanced embedding plugin with enable/disable support",
|
|
13
|
+
requires: [],
|
|
14
|
+
};
|
|
15
|
+
super(meta);
|
|
16
|
+
}
|
|
17
|
+
async embed() {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
async call(userPrompt) {
|
|
21
|
+
if (!userPrompt) {
|
|
22
|
+
return "EMBEDDING PLUGIN V2: No prompt provided";
|
|
23
|
+
}
|
|
24
|
+
const count = 7;
|
|
25
|
+
const embeddings = await (0, embeddings_1.getConfiguredEmbeddings)();
|
|
26
|
+
const config = await (0, config_1.getConfig)();
|
|
27
|
+
const results = await (0, embeddings_1.queryEmbedding)(userPrompt, embeddings, config.embeddingModel);
|
|
28
|
+
const context = results.slice(0, count);
|
|
29
|
+
(0, embeddings_1.pruneVector)(context);
|
|
30
|
+
(0, embeddings_1.pruneMetadata)(context);
|
|
31
|
+
for (const entry of context) {
|
|
32
|
+
console.log(`EMBEDDING PLUGIN V2: Reading entry ${entry.id}`);
|
|
33
|
+
}
|
|
34
|
+
const contextLength = JSON.stringify(context).split(" ").length;
|
|
35
|
+
console.log(`EMBEDDING PLUGIN V2: Found ${context.length} entries. Loading ${contextLength} words`);
|
|
36
|
+
return `EMBEDDING PLUGIN V2: Our knowledgebase contains this information which can be used to answer the question:
|
|
37
|
+
${JSON.stringify(context)}`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.EmbeddingPluginV2 = EmbeddingPluginV2;
|
|
41
|
+
//# sourceMappingURL=EmbeddingPluginV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmbeddingPluginV2.js","sourceRoot":"","sources":["../../../src/plugins/EmbeddingPluginV2.ts"],"names":[],"mappings":";;;AAAA,6CAAsD;AAEtD,sCAAsC;AACtC,8CAKuB;AAEvB,MAAa,iBAAkB,SAAQ,uBAAU;IAC/C;QACE,MAAM,IAAI,GAAe;YACvB,GAAG,EAAE,eAAe;YACpB,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAmB;QAC5B,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,yCAAyC,CAAC;SAClD;QAED,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,UAAU,GAAG,MAAM,IAAA,oCAAuB,GAAE,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,GAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAc,EAClC,UAAU,EACV,UAAU,EACV,MAAM,CAAC,cAAc,CACtB,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAExC,IAAA,wBAAW,EAAC,OAAO,CAAC,CAAC;QACrB,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/D;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,CAAC,GAAG,CACT,8BAA8B,OAAO,CAAC,MAAM,qBAAqB,aAAa,QAAQ,CACvF,CAAC;QAEF,OAAO;MACL,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9B,CAAC;CACF;AA7CD,8CA6CC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PluginBase } from "./PluginBase";
|
|
2
|
+
import { MinimalEmbedding } from "../types";
|
|
3
|
+
export declare class GitHubPluginV2 extends PluginBase {
|
|
4
|
+
private octokit?;
|
|
5
|
+
constructor();
|
|
6
|
+
protected customEnableCheck(): boolean;
|
|
7
|
+
embed(userPrompt: string): Promise<MinimalEmbedding[]>;
|
|
8
|
+
extractUrls(userPrompt: string): string[];
|
|
9
|
+
call(userPrompt?: string): Promise<string>;
|
|
10
|
+
}
|