@neuledge/graph 0.3.0 → 0.3.2
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/README.md +6 -6
- package/dist/graph.js +1 -1
- package/dist/lookup.js +7 -2
- package/dist/lookup.js.map +1 -1
- package/package.json +17 -28
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# @neuledge/graph
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
**
|
|
6
|
+
**Stop building API integrations. Connect your LLM to live data in one line of code.**
|
|
7
7
|
|
|
8
8
|
[](https://www.npmjs.com/package/@neuledge/graph)
|
|
9
9
|
[](https://github.com/neuledge/graph/blob/main/LICENSE)
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
## Overview
|
|
19
19
|
|
|
20
|
-
`@neuledge/graph`
|
|
20
|
+
`@neuledge/graph` gives your AI instant access to live, structured data from weather APIs, stock markets, and currency exchanges - without the integration work. Get accurate answers in under _100ms_, not hallucinated guesses.
|
|
21
21
|
|
|
22
22
|
### Why @neuledge/graph?
|
|
23
23
|
|
|
@@ -69,7 +69,7 @@ const { text } = await agent.generate({
|
|
|
69
69
|
| `What is the weather in San Francisco?` | `San Francisco is sunny, about 68°F.` |
|
|
70
70
|
| `What time is it in Tokyo?` | `It's 3:42 PM JST.` |
|
|
71
71
|
| `When is the next Monday?` | `The next Monday is on February 10, 2025.` |
|
|
72
|
-
| `When is
|
|
72
|
+
| `When is next Thanksgiving?` | `Thanksgiving in 2026 falls on November 26.` |
|
|
73
73
|
| `How much is $250 in euros?` | `$250 equals €215.` |
|
|
74
74
|
| `Price of Apple stock?` | `Apple (AAPL) is trading at $175.20` |
|
|
75
75
|
| `Latest headlines about AI` | *Coming soon…* |
|
|
@@ -113,11 +113,11 @@ yarn add @neuledge/graph zod
|
|
|
113
113
|
```typescript
|
|
114
114
|
import { anthropic } from "@ai-sdk/anthropic";
|
|
115
115
|
import { NeuledgeGraph } from "@neuledge/graph";
|
|
116
|
-
import {
|
|
116
|
+
import { stepCountIs, ToolLoopAgent, tool } from "ai";
|
|
117
117
|
|
|
118
118
|
const graph = new NeuledgeGraph();
|
|
119
119
|
|
|
120
|
-
const agent = new
|
|
120
|
+
const agent = new ToolLoopAgent({
|
|
121
121
|
model: anthropic("claude-sonnet-4-5"),
|
|
122
122
|
tools: {
|
|
123
123
|
lookup: tool(graph.lookup),
|
|
@@ -125,7 +125,7 @@ const agent = new Agent({
|
|
|
125
125
|
stopWhen: stepCountIs(20),
|
|
126
126
|
});
|
|
127
127
|
|
|
128
|
-
const { textStream } = agent.stream({
|
|
128
|
+
const { textStream } = await agent.stream({
|
|
129
129
|
prompt: "Compare Apple and Microsoft stock prices",
|
|
130
130
|
});
|
|
131
131
|
|
package/dist/graph.js
CHANGED
|
@@ -8,7 +8,7 @@ export class NeuledgeGraph {
|
|
|
8
8
|
this.baseUrl =
|
|
9
9
|
options.baseUrl ||
|
|
10
10
|
process.env.NEULEDGE_GRAPH_BASE_URL ||
|
|
11
|
-
"https://api.graph.neuledge.com/
|
|
11
|
+
"https://api.graph.neuledge.com/v0";
|
|
12
12
|
this.timeout = options.timeout || 10000;
|
|
13
13
|
}
|
|
14
14
|
lookup = bindLookup(this);
|
package/dist/lookup.js
CHANGED
|
@@ -20,12 +20,17 @@ The system tries to match your query to a **built-in template** and fill the \`{
|
|
|
20
20
|
|
|
21
21
|
**The most popular templates used:**
|
|
22
22
|
* \`cities.{city}.weather\`
|
|
23
|
-
* \`cities.{city}.
|
|
23
|
+
* \`country_codes.{country_code}.cities.{city}.weather\`
|
|
24
|
+
* \`provinces.{province}.cities.{city}.weather\`
|
|
25
|
+
* \`regions.{region}.cities.{city}.weather\`
|
|
26
|
+
* \`states.{state}.cities.{city}.weather\`
|
|
27
|
+
* \`timezones.{continent}.{region}.time\`
|
|
28
|
+
* \`timezones.{continent}.{region}.{city}.time\`
|
|
24
29
|
* \`stocks.{stock}.quote\`
|
|
25
30
|
* \`currencies.{from}.rate.{to}\`
|
|
31
|
+
* \`country_codes.{country_code}.holidays\`
|
|
26
32
|
* \`calendar.next.{weekday}\`
|
|
27
33
|
* \`calendar.in.{integer}.{unit}\`
|
|
28
|
-
* \`holidays.{holiday}.next\`
|
|
29
34
|
|
|
30
35
|
**Key principle:** Even if your query doesn't exactly match a template, the tool will **suggest the closest available templates**, allowing you to refine and retrieve the live data. When in doubt, try a query - the tool will guide you to the right template.`;
|
|
31
36
|
export const NeuledgeGraphLookupParams = z.object({
|
package/dist/lookup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../src/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgB3C,MAAM,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../src/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgB3C,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kQA+B8O,CAAC;AAKnQ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,CACP,yFAAyF,CAC1F;IAEH,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,gDAAgD;IAChD,2BAA2B;IAC3B,qBAAqB;IACrB,gIAAgI;IAChI,YAAY;IACZ,uBAAuB;IACvB,EAAE;IACF,gBAAgB;IAChB,oBAAoB;IACpB,qEAAqE;IACrE,qBAAqB;IACrB,qGAAqG;IACrG,YAAY;IACZ,uBAAuB;IACvB,EAAE;IACF,kBAAkB;IAClB,oBAAoB;IACpB,sBAAsB;IACtB,qBAAqB;IACrB,yGAAyG;IACzG,YAAY;IACZ,uBAAuB;IACvB,EAAE;IACF,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,oDAAoD;IACpD,0EAA0E;IAC1E,YAAY;IACZ,qBAAqB;IACrB,iFAAiF;IACjF,YAAY;IACZ,uBAAuB;IACvB,EAAE;IACF,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,sCAAsC;IACtC,+EAA+E;IAC/E,YAAY;IACZ,qBAAqB;IACrB,gGAAgG;IAChG,YAAY;IACZ,uBAAuB;IACvB,SAAS;IACT,iBAAiB;IACjB,+EAA+E;IAC/E,QAAQ;IACR,mBAAmB;CACpB,CAAC,CAAC;AA4BH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAuB,EAAE;IACtE,MAAM,MAAM,GAAwB,MAAM,CAAC,MAAM,CAC/C,KAAK,EAAE,MAAiC,EAAE,EAAE,CAC1C,QAAQ,CAA8B,KAAK,EAAE;QAC3C,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,2BAA2B;SACQ;KACtC,CAAC,CAAC,KAAK,CACN,CAAC,KAAK,EAAoC,EAAE,CAAC,CAAC;QAC5C,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;KACjC,CAAC,CACH,EACH;QACE,WAAW;QACX,UAAU,EAAE,yBAAyB;QACrC,MAAM,EAAE,yBAAyB;QACjC,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,IAAa;KACvB,CACF,CAAC;IAEF,6DAA6D;IAC7D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7E,wBAAwB;IACxB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,38 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neuledge/graph",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.3.2",
|
|
4
|
+
"description": "Connect your LLM to live weather, stocks, and currency data without API integration work. Structured data in <100ms.",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"ai",
|
|
7
6
|
"llm",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
7
|
+
"ai",
|
|
8
|
+
"knowledge-graph",
|
|
9
|
+
"live-data",
|
|
10
|
+
"weather-api",
|
|
11
|
+
"stock-api",
|
|
12
|
+
"currency-exchange",
|
|
13
|
+
"ai-agents",
|
|
10
14
|
"anthropic",
|
|
11
|
-
"
|
|
15
|
+
"openai",
|
|
12
16
|
"vercel-ai",
|
|
13
|
-
"
|
|
14
|
-
"tool",
|
|
15
|
-
"function-calling",
|
|
16
|
-
"structured-data",
|
|
17
|
-
"live-data",
|
|
18
|
-
"knowledge-graph",
|
|
17
|
+
"langchain",
|
|
19
18
|
"real-time-data",
|
|
20
|
-
"data
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"no-indexes",
|
|
27
|
-
"json-api",
|
|
28
|
-
"data-layer",
|
|
29
|
-
"ai-infrastructure",
|
|
30
|
-
"neuledge",
|
|
31
|
-
"weather",
|
|
32
|
-
"stocks",
|
|
33
|
-
"price",
|
|
34
|
-
"fx",
|
|
35
|
-
"rates"
|
|
19
|
+
"structured-data",
|
|
20
|
+
"tool-calling",
|
|
21
|
+
"function-calling",
|
|
22
|
+
"rag",
|
|
23
|
+
"hallucination",
|
|
24
|
+
"grounding"
|
|
36
25
|
],
|
|
37
26
|
"main": "dist/index.js",
|
|
38
27
|
"types": "dist/index.d.ts",
|