bigtool-ts 0.1.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.
- package/CHANGELOG.md +27 -0
- package/LICENSE +21 -0
- package/README.md +641 -0
- package/dist/adapters/agent-protocol.d.ts +149 -0
- package/dist/adapters/agent-protocol.d.ts.map +1 -0
- package/dist/adapters/agent-protocol.js +133 -0
- package/dist/adapters/agent-protocol.js.map +1 -0
- package/dist/adapters/index.d.ts +39 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +42 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/inngest.d.ts +234 -0
- package/dist/adapters/inngest.d.ts.map +1 -0
- package/dist/adapters/inngest.js +276 -0
- package/dist/adapters/inngest.js.map +1 -0
- package/dist/adapters/mastra.d.ts +201 -0
- package/dist/adapters/mastra.d.ts.map +1 -0
- package/dist/adapters/mastra.js +250 -0
- package/dist/adapters/mastra.js.map +1 -0
- package/dist/adapters/types.d.ts +42 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +6 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/vercel-ai.d.ts +176 -0
- package/dist/adapters/vercel-ai.d.ts.map +1 -0
- package/dist/adapters/vercel-ai.js +244 -0
- package/dist/adapters/vercel-ai.js.map +1 -0
- package/dist/catalog/index.d.ts +177 -0
- package/dist/catalog/index.d.ts.map +1 -0
- package/dist/catalog/index.js +244 -0
- package/dist/catalog/index.js.map +1 -0
- package/dist/graph/agent.d.ts +214 -0
- package/dist/graph/agent.d.ts.map +1 -0
- package/dist/graph/agent.js +196 -0
- package/dist/graph/agent.js.map +1 -0
- package/dist/graph/index.d.ts +5 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +4 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/nodes.d.ts +100 -0
- package/dist/graph/nodes.d.ts.map +1 -0
- package/dist/graph/nodes.js +190 -0
- package/dist/graph/nodes.js.map +1 -0
- package/dist/graph/search-tool.d.ts +34 -0
- package/dist/graph/search-tool.d.ts.map +1 -0
- package/dist/graph/search-tool.js +54 -0
- package/dist/graph/search-tool.js.map +1 -0
- package/dist/graph/state.d.ts +26 -0
- package/dist/graph/state.d.ts.map +1 -0
- package/dist/graph/state.js +29 -0
- package/dist/graph/state.js.map +1 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/loader/index.d.ts +172 -0
- package/dist/loader/index.d.ts.map +1 -0
- package/dist/loader/index.js +179 -0
- package/dist/loader/index.js.map +1 -0
- package/dist/loader/loader.d.ts +114 -0
- package/dist/loader/loader.d.ts.map +1 -0
- package/dist/loader/loader.js +185 -0
- package/dist/loader/loader.js.map +1 -0
- package/dist/search/cache.d.ts +76 -0
- package/dist/search/cache.d.ts.map +1 -0
- package/dist/search/cache.js +135 -0
- package/dist/search/cache.js.map +1 -0
- package/dist/search/index.d.ts +63 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +122 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/normalize.d.ts +104 -0
- package/dist/search/normalize.d.ts.map +1 -0
- package/dist/search/normalize.js +211 -0
- package/dist/search/normalize.js.map +1 -0
- package/dist/search/orama.d.ts +256 -0
- package/dist/search/orama.d.ts.map +1 -0
- package/dist/search/orama.js +511 -0
- package/dist/search/orama.js.map +1 -0
- package/dist/search/types.d.ts +96 -0
- package/dist/search/types.d.ts.map +1 -0
- package/dist/search/types.js +8 -0
- package/dist/search/types.js.map +1 -0
- package/dist/sources/dynamic.d.ts +200 -0
- package/dist/sources/dynamic.d.ts.map +1 -0
- package/dist/sources/dynamic.js +194 -0
- package/dist/sources/dynamic.js.map +1 -0
- package/dist/sources/index.d.ts +11 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +14 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/local.d.ts +128 -0
- package/dist/sources/local.d.ts.map +1 -0
- package/dist/sources/local.js +155 -0
- package/dist/sources/local.js.map +1 -0
- package/dist/sources/mcp.d.ts +438 -0
- package/dist/sources/mcp.d.ts.map +1 -0
- package/dist/sources/mcp.js +438 -0
- package/dist/sources/mcp.js.map +1 -0
- package/dist/sources/types.d.ts +16 -0
- package/dist/sources/types.d.ts.map +1 -0
- package/dist/sources/types.js +7 -0
- package/dist/sources/types.js.map +1 -0
- package/dist/sources/with-metadata.d.ts +7 -0
- package/dist/sources/with-metadata.d.ts.map +1 -0
- package/dist/sources/with-metadata.js +7 -0
- package/dist/sources/with-metadata.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types.d.ts +700 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +97 -0
- package/dist/types.js.map +1 -0
- package/package.json +118 -0
package/dist/types.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions for bigtool-ts.
|
|
3
|
+
*
|
|
4
|
+
* This module defines the fundamental interfaces that power the tool discovery
|
|
5
|
+
* system: sources, catalogs, loaders, search, and events.
|
|
6
|
+
*
|
|
7
|
+
* @module types
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Creates a simple typed event emitter.
|
|
11
|
+
*
|
|
12
|
+
* @typeParam T - The event payload type
|
|
13
|
+
* @returns A new EventEmitter instance
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* interface MyEvent {
|
|
18
|
+
* type: string;
|
|
19
|
+
* data: unknown;
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* const emitter = createEventEmitter<MyEvent>();
|
|
23
|
+
*
|
|
24
|
+
* emitter.on((event) => {
|
|
25
|
+
* console.log(event.type, event.data);
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* await emitter.emit({ type: 'test', data: { foo: 'bar' } });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export function createEventEmitter() {
|
|
32
|
+
let handlers = [];
|
|
33
|
+
const subscribe = (handler) => {
|
|
34
|
+
handlers = [...handlers, handler];
|
|
35
|
+
let unsubscribed = false;
|
|
36
|
+
return () => {
|
|
37
|
+
if (unsubscribed)
|
|
38
|
+
return;
|
|
39
|
+
unsubscribed = true;
|
|
40
|
+
handlers = handlers.filter((h) => h !== handler);
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
subscribe,
|
|
45
|
+
on: subscribe,
|
|
46
|
+
async emit(event) {
|
|
47
|
+
const currentHandlers = handlers;
|
|
48
|
+
for (const handler of currentHandlers) {
|
|
49
|
+
await handler(event);
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
subscriberCount() {
|
|
53
|
+
return handlers.length;
|
|
54
|
+
},
|
|
55
|
+
clear() {
|
|
56
|
+
handlers = [];
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Attach enhancement metadata to a tool.
|
|
62
|
+
*
|
|
63
|
+
* This is a fluent helper that adds search optimization hints
|
|
64
|
+
* to a StructuredTool. The metadata is used during indexing
|
|
65
|
+
* to improve search results.
|
|
66
|
+
*
|
|
67
|
+
* @typeParam T - The tool type (must extend StructuredTool)
|
|
68
|
+
* @param tool - The tool to enhance
|
|
69
|
+
* @param metadata - Enhancement metadata (categories, keywords)
|
|
70
|
+
* @returns The same tool instance with metadata attached
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* import { withMetadata } from '@repo/bigtool-ts';
|
|
75
|
+
*
|
|
76
|
+
* const createPRTool = new DynamicStructuredTool({
|
|
77
|
+
* name: 'create_pr',
|
|
78
|
+
* description: 'Creates a GitHub pull request',
|
|
79
|
+
* schema: z.object({ title: z.string() }),
|
|
80
|
+
* func: async (input) => { ... },
|
|
81
|
+
* });
|
|
82
|
+
*
|
|
83
|
+
* const enhanced = withMetadata(createPRTool, {
|
|
84
|
+
* categories: ['github', 'git'],
|
|
85
|
+
* keywords: ['PR', 'pull request', 'merge'],
|
|
86
|
+
* });
|
|
87
|
+
*
|
|
88
|
+
* // Use in a LocalSource
|
|
89
|
+
* const source = new LocalSource([enhanced]);
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export function withMetadata(tool, metadata) {
|
|
93
|
+
const enhanced = tool;
|
|
94
|
+
enhanced.__bigtool_metadata = metadata;
|
|
95
|
+
return enhanced;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAwGH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,QAAQ,GAAsB,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,CAAC,OAAwB,EAAe,EAAE;QAC1D,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,OAAO,GAAG,EAAE;YACV,IAAI,YAAY;gBAAE,OAAO;YACzB,YAAY,GAAG,IAAI,CAAC;YACpB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,SAAS;QACT,EAAE,EAAE,SAAS;QACb,KAAK,CAAC,IAAI,CAAC,KAAQ;YACjB,MAAM,eAAe,GAAG,QAAQ,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,eAAe;YACb,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,KAAK;YACH,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAshBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAO,EACP,QAAyB;IAEzB,MAAM,QAAQ,GAAG,IAAwB,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACvC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bigtool-ts",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Dynamic tool discovery for AI agents. Search and load tools on-demand instead of loading all tools upfront.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "wiski",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/wi-ski/bigtool-ts"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/wi-ski/bigtool-ts/issues"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/wi-ski/bigtool-ts#readme",
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"langgraph",
|
|
21
|
+
"langchain",
|
|
22
|
+
"ai",
|
|
23
|
+
"tools",
|
|
24
|
+
"mcp",
|
|
25
|
+
"model-context-protocol",
|
|
26
|
+
"semantic-search",
|
|
27
|
+
"dynamic-tools",
|
|
28
|
+
"agents",
|
|
29
|
+
"llm"
|
|
30
|
+
],
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=18.0.0"
|
|
33
|
+
},
|
|
34
|
+
"sideEffects": false,
|
|
35
|
+
"main": "./dist/index.js",
|
|
36
|
+
"module": "./dist/index.js",
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"exports": {
|
|
39
|
+
".": {
|
|
40
|
+
"types": "./dist/index.d.ts",
|
|
41
|
+
"import": "./dist/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./catalog": {
|
|
44
|
+
"types": "./dist/catalog/index.d.ts",
|
|
45
|
+
"import": "./dist/catalog/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./search": {
|
|
48
|
+
"types": "./dist/search/index.d.ts",
|
|
49
|
+
"import": "./dist/search/index.js"
|
|
50
|
+
},
|
|
51
|
+
"./loader": {
|
|
52
|
+
"types": "./dist/loader/index.d.ts",
|
|
53
|
+
"import": "./dist/loader/index.js"
|
|
54
|
+
},
|
|
55
|
+
"./sources": {
|
|
56
|
+
"types": "./dist/sources/index.d.ts",
|
|
57
|
+
"import": "./dist/sources/index.js"
|
|
58
|
+
},
|
|
59
|
+
"./graph": {
|
|
60
|
+
"types": "./dist/graph/index.d.ts",
|
|
61
|
+
"import": "./dist/graph/index.js"
|
|
62
|
+
},
|
|
63
|
+
"./types": {
|
|
64
|
+
"types": "./dist/types.d.ts",
|
|
65
|
+
"import": "./dist/types.js"
|
|
66
|
+
},
|
|
67
|
+
"./adapters": {
|
|
68
|
+
"types": "./dist/adapters/index.d.ts",
|
|
69
|
+
"import": "./dist/adapters/index.js"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"files": [
|
|
73
|
+
"dist",
|
|
74
|
+
"LICENSE",
|
|
75
|
+
"README.md",
|
|
76
|
+
"CHANGELOG.md"
|
|
77
|
+
],
|
|
78
|
+
"scripts": {
|
|
79
|
+
"build": "tsc",
|
|
80
|
+
"clean": "rm -rf dist",
|
|
81
|
+
"prepublishOnly": "pnpm run clean && pnpm run build",
|
|
82
|
+
"test": "vitest run",
|
|
83
|
+
"test:watch": "vitest",
|
|
84
|
+
"typecheck": "tsc --noEmit"
|
|
85
|
+
},
|
|
86
|
+
"dependencies": {
|
|
87
|
+
"@orama/orama": "^3.0.0",
|
|
88
|
+
"eventemitter3": "^5.0.0",
|
|
89
|
+
"lru-cache": "^10.0.0",
|
|
90
|
+
"zod": "^3.23.0"
|
|
91
|
+
},
|
|
92
|
+
"peerDependencies": {
|
|
93
|
+
"@langchain/core": ">=0.2.0",
|
|
94
|
+
"@langchain/langgraph": ">=0.2.0",
|
|
95
|
+
"@langchain/openai": ">=0.2.0",
|
|
96
|
+
"@modelcontextprotocol/sdk": ">=1.0.0",
|
|
97
|
+
"ai": ">=4.0.0"
|
|
98
|
+
},
|
|
99
|
+
"peerDependenciesMeta": {
|
|
100
|
+
"@langchain/openai": {
|
|
101
|
+
"optional": true
|
|
102
|
+
},
|
|
103
|
+
"@modelcontextprotocol/sdk": {
|
|
104
|
+
"optional": true
|
|
105
|
+
},
|
|
106
|
+
"ai": {
|
|
107
|
+
"optional": true
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"devDependencies": {
|
|
111
|
+
"@langchain/core": "^1.0.0",
|
|
112
|
+
"@langchain/langgraph": "^1.0.0",
|
|
113
|
+
"@langchain/openai": "^0.3.0",
|
|
114
|
+
"@types/node": "^20",
|
|
115
|
+
"typescript": "^5",
|
|
116
|
+
"vitest": "^2.0.0"
|
|
117
|
+
}
|
|
118
|
+
}
|