@iamjameslennon/ddb-mcp 2.3.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/README.md +520 -0
- package/dist/auth.d.ts +3 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +69 -0
- package/dist/auth.js.map +1 -0
- package/dist/browser.d.ts +9 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +68 -0
- package/dist/browser.js.map +1 -0
- package/dist/cache.d.ts +18 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +45 -0
- package/dist/cache.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +654 -0
- package/dist/index.js.map +1 -0
- package/dist/open5e.d.ts +74 -0
- package/dist/open5e.d.ts.map +1 -0
- package/dist/open5e.js +455 -0
- package/dist/open5e.js.map +1 -0
- package/dist/session-fetch.d.ts +35 -0
- package/dist/session-fetch.d.ts.map +1 -0
- package/dist/session-fetch.js +155 -0
- package/dist/session-fetch.js.map +1 -0
- package/dist/tools/campaign.d.ts +4 -0
- package/dist/tools/campaign.d.ts.map +1 -0
- package/dist/tools/campaign.js +72 -0
- package/dist/tools/campaign.js.map +1 -0
- package/dist/tools/character.d.ts +21 -0
- package/dist/tools/character.d.ts.map +1 -0
- package/dist/tools/character.js +1128 -0
- package/dist/tools/character.js.map +1 -0
- package/dist/tools/encounter.d.ts +22 -0
- package/dist/tools/encounter.d.ts.map +1 -0
- package/dist/tools/encounter.js +453 -0
- package/dist/tools/encounter.js.map +1 -0
- package/dist/tools/library.d.ts +4 -0
- package/dist/tools/library.d.ts.map +1 -0
- package/dist/tools/library.js +112 -0
- package/dist/tools/library.js.map +1 -0
- package/dist/tools/monster.d.ts +27 -0
- package/dist/tools/monster.d.ts.map +1 -0
- package/dist/tools/monster.js +378 -0
- package/dist/tools/monster.js.map +1 -0
- package/dist/tools/navigate.d.ts +5 -0
- package/dist/tools/navigate.d.ts.map +1 -0
- package/dist/tools/navigate.js +67 -0
- package/dist/tools/navigate.js.map +1 -0
- package/dist/tools/reference.d.ts +58 -0
- package/dist/tools/reference.d.ts.map +1 -0
- package/dist/tools/reference.js +850 -0
- package/dist/tools/reference.js.map +1 -0
- package/dist/tools/search.d.ts +4 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +64 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/treasure.d.ts +12 -0
- package/dist/tools/treasure.d.ts.map +1 -0
- package/dist/tools/treasure.js +522 -0
- package/dist/tools/treasure.js.map +1 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +21 -0
- package/dist/utils.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAiC,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAE9D,IAAI,eAAe,GAAmB,IAAI,CAAC;AAC3C,IAAI,eAAe,GAAmB,IAAI,CAAC;AAC3C,IAAI,eAAe,GAA0B,IAAI,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAQ,GAAG,IAAI;IAC9C,8EAA8E;IAC9E,qFAAqF;IACrF,IAAI,eAAe,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,wEAAwE;IACxE,qEAAqE;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrE,eAAe,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,eAAe,GAAG,QAAQ,CAAC;IAC3B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAgB;IAC/C,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAE5C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,cAAc,GAAG;QACrB,SAAS,EACP,uHAAuH;QACzH,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;KACvC,CAAC;IACF,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,CACxC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,cAAc,CAC9F,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAuB;IACvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACnD,mFAAmF;IACnF,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC/B,yFAAyF;IACzF,sBAAsB,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAuB;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAC9B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAC9B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
|
package/dist/cache.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple in-memory TTL cache used to avoid redundant DDB API calls
|
|
3
|
+
* within a single MCP session.
|
|
4
|
+
*
|
|
5
|
+
* Entries expire after `ttlMs` milliseconds. The cache is intentionally
|
|
6
|
+
* small — it only needs to cover repeat calls within a single conversation turn.
|
|
7
|
+
*/
|
|
8
|
+
export declare class TtlCache<T> {
|
|
9
|
+
private readonly defaultTtlMs;
|
|
10
|
+
private readonly maxSize;
|
|
11
|
+
private readonly entries;
|
|
12
|
+
constructor(defaultTtlMs: number, maxSize?: number);
|
|
13
|
+
get(key: string): T | undefined;
|
|
14
|
+
set(key: string, value: T, ttlMs?: number): void;
|
|
15
|
+
invalidate(key: string): void;
|
|
16
|
+
clear(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,qBAAa,QAAQ,CAAC,CAAC;IAInB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;gBAGzC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,MAAY;IAGxC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAU/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAYhD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/cache.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple in-memory TTL cache used to avoid redundant DDB API calls
|
|
3
|
+
* within a single MCP session.
|
|
4
|
+
*
|
|
5
|
+
* Entries expire after `ttlMs` milliseconds. The cache is intentionally
|
|
6
|
+
* small — it only needs to cover repeat calls within a single conversation turn.
|
|
7
|
+
*/
|
|
8
|
+
export class TtlCache {
|
|
9
|
+
defaultTtlMs;
|
|
10
|
+
maxSize;
|
|
11
|
+
entries = new Map();
|
|
12
|
+
constructor(defaultTtlMs, maxSize = 100) {
|
|
13
|
+
this.defaultTtlMs = defaultTtlMs;
|
|
14
|
+
this.maxSize = maxSize;
|
|
15
|
+
}
|
|
16
|
+
get(key) {
|
|
17
|
+
const entry = this.entries.get(key);
|
|
18
|
+
if (!entry)
|
|
19
|
+
return undefined;
|
|
20
|
+
if (Date.now() >= entry.expiresAt) {
|
|
21
|
+
this.entries.delete(key);
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
return entry.value;
|
|
25
|
+
}
|
|
26
|
+
set(key, value, ttlMs) {
|
|
27
|
+
// Evict first-inserted entry when at capacity (FIFO — not true LRU)
|
|
28
|
+
if (this.entries.size >= this.maxSize) {
|
|
29
|
+
const firstKey = this.entries.keys().next().value;
|
|
30
|
+
if (firstKey !== undefined)
|
|
31
|
+
this.entries.delete(firstKey);
|
|
32
|
+
}
|
|
33
|
+
this.entries.set(key, {
|
|
34
|
+
value,
|
|
35
|
+
expiresAt: Date.now() + (ttlMs ?? this.defaultTtlMs),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
invalidate(key) {
|
|
39
|
+
this.entries.delete(key);
|
|
40
|
+
}
|
|
41
|
+
clear() {
|
|
42
|
+
this.entries.clear();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,OAAO,QAAQ;IAIA;IACA;IAJF,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE5D,YACmB,YAAoB,EACpB,UAAkB,GAAG;QADrB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAc;IACrC,CAAC;IAEJ,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,KAAc;QACvC,oEAAoE;QACpE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAClD,IAAI,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;YACpB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;SACrD,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|