@mcptoolshop/ai-loadout 1.0.2 → 1.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/CHANGELOG.md +14 -0
- package/README.es.md +103 -101
- package/README.fr.md +103 -101
- package/README.hi.md +103 -101
- package/README.it.md +103 -101
- package/README.ja.md +103 -101
- package/README.md +6 -5
- package/README.pt-BR.md +103 -101
- package/README.zh.md +103 -101
- package/package.json +3 -1
package/README.hi.md
CHANGED
|
@@ -1,35 +1,37 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.md">English</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
<p align="center">
|
|
2
|
-
<
|
|
6
|
+
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/ai-loadout/readme.png" width="400" alt="ai-loadout">
|
|
3
7
|
</p>
|
|
4
|
-
|
|
5
|
-
<p align="center">
|
|
6
|
-
<img src="logo.png" width="400" alt="ai-loadout">
|
|
7
|
-
</p>
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://github.com/mcp-tool-shop-org/ai-loadout/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/ai-loadout/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
11
|
+
<a href="https://codecov.io/gh/mcp-tool-shop-org/ai-loadout"><img src="https://codecov.io/gh/mcp-tool-shop-org/ai-loadout/graph/badge.svg" alt="Coverage"></a>
|
|
11
12
|
<a href="https://www.npmjs.com/package/@mcptoolshop/ai-loadout"><img src="https://img.shields.io/npm/v/@mcptoolshop/ai-loadout" alt="npm"></a>
|
|
12
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT
|
|
13
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
|
|
14
|
+
<a href="https://mcp-tool-shop-org.github.io/ai-loadout/"><img src="https://img.shields.io/badge/Landing_Page-live-blue" alt="Landing Page"></a>
|
|
13
15
|
</p>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
`ai-loadout` एक डिस्पैच टेबल
|
|
18
|
-
|
|
19
|
-
इसे एक
|
|
20
|
-
|
|
21
|
-
##
|
|
22
|
-
|
|
16
|
+
|
|
17
|
+
संदर्भ-जागरूक ज्ञान राउटर जो एआई एजेंटों के लिए है।
|
|
18
|
+
|
|
19
|
+
`ai-loadout` एक डिस्पैच टेबल फॉर्मेट और मिलान इंजन है जो एआई एजेंटों को उस कार्य के लिए सही ज्ञान लोड करने की अनुमति देता है। संदर्भ में सब कुछ डालने के बजाय, आप एक छोटा इंडेक्स रखते हैं और आवश्यकतानुसार डेटा लोड करते हैं।
|
|
20
|
+
|
|
21
|
+
इसे एक गेम लोडआउट की तरह सोचें - आप एजेंट को प्रत्येक मिशन से पहले आवश्यक ज्ञान से लैस करते हैं।
|
|
22
|
+
|
|
23
|
+
## इंस्टॉल करें
|
|
24
|
+
|
|
23
25
|
```bash
|
|
24
26
|
npm install @mcptoolshop/ai-loadout
|
|
25
27
|
```
|
|
26
|
-
|
|
27
|
-
##
|
|
28
|
-
|
|
29
|
-
### डिस्पैच टेबल
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
|
|
29
|
+
## मुख्य अवधारणाएं
|
|
30
|
+
|
|
31
|
+
### डिस्पैच टेबल
|
|
32
|
+
|
|
33
|
+
`LoadoutIndex` ज्ञान डेटा के एक संरचित इंडेक्स है:
|
|
34
|
+
|
|
33
35
|
```json
|
|
34
36
|
{
|
|
35
37
|
"version": "1.0.0",
|
|
@@ -55,19 +57,19 @@ npm install @mcptoolshop/ai-loadout
|
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
```
|
|
58
|
-
|
|
59
|
-
### प्राथमिकता स्तर
|
|
60
|
-
|
|
61
|
-
| स्तर | व्यवहार | उदाहरण |
|
|
62
|
-
|
|
63
|
-
| `core` | हमेशा लोड | "CI
|
|
64
|
-
| `domain` | कार्य
|
|
65
|
-
| `manual` | कभी स्वचालित लोड
|
|
66
|
-
|
|
67
|
-
###
|
|
68
|
-
|
|
69
|
-
प्रत्येक
|
|
70
|
-
|
|
60
|
+
|
|
61
|
+
### प्राथमिकता स्तर
|
|
62
|
+
|
|
63
|
+
| स्तर | व्यवहार | उदाहरण |
|
|
64
|
+
|------|----------|---------|
|
|
65
|
+
| `core` | हमेशा लोड किया जाता है | "CI को हरा करने के लिए कभी भी परीक्षणों को छोड़ें नहीं" |
|
|
66
|
+
| `domain` | जब कार्य कीवर्ड मेल खाते हैं तो लोड किया जाता है | वर्कफ़्लो संपादित करते समय CI नियम |
|
|
67
|
+
| `manual` | कभी भी स्वचालित रूप से लोड नहीं किया जाता है, केवल स्पष्ट खोज | अस्पष्ट प्लेटफ़ॉर्म संबंधी समस्याएं |
|
|
68
|
+
|
|
69
|
+
### डेटा का प्रारंभिक भाग
|
|
70
|
+
|
|
71
|
+
प्रत्येक डेटा फ़ाइल में अपना रूटिंग मेटाडेटा होता है:
|
|
72
|
+
|
|
71
73
|
```markdown
|
|
72
74
|
---
|
|
73
75
|
id: github-actions
|
|
@@ -83,41 +85,41 @@ triggers:
|
|
|
83
85
|
# GitHub Actions Rules
|
|
84
86
|
CI minutes are finite...
|
|
85
87
|
```
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
##
|
|
90
|
-
|
|
91
|
-
### `matchLoadout(task, index)`
|
|
92
|
-
|
|
93
|
-
एक कार्य विवरण को
|
|
94
|
-
|
|
88
|
+
|
|
89
|
+
प्रारंभिक भाग सत्य का स्रोत है। इंडेक्स इससे प्राप्त होता है।
|
|
90
|
+
|
|
91
|
+
## एपीआई
|
|
92
|
+
|
|
93
|
+
### `matchLoadout(task, index)`
|
|
94
|
+
|
|
95
|
+
एक कार्य विवरण को लोडआउट इंडेक्स के खिलाफ मिलाएं। उन प्रविष्टियों को लौटाता है जिन्हें लोड किया जाना चाहिए, जो मिलान की शक्ति के आधार पर क्रमबद्ध हैं।
|
|
96
|
+
|
|
95
97
|
```typescript
|
|
96
98
|
import { matchLoadout } from "@mcptoolshop/ai-loadout";
|
|
97
99
|
|
|
98
100
|
const results = matchLoadout("fix the CI workflow", index);
|
|
99
101
|
// [{ entry: { id: "github-actions", ... }, score: 0.67, matchedKeywords: ["ci", "workflow"] }]
|
|
100
102
|
```
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
- परिणाम स्कोर के
|
|
106
|
-
|
|
107
|
-
### `lookupEntry(id, index)`
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
103
|
+
|
|
104
|
+
- मुख्य प्रविष्टियाँ हमेशा शामिल होती हैं (स्कोर 1.0)
|
|
105
|
+
- मैन्युअल प्रविष्टियाँ कभी भी स्वचालित रूप से शामिल नहीं होती हैं
|
|
106
|
+
- डोमेन प्रविष्टियों को कीवर्ड ओवरलैप + पैटर्न बोनस से स्कोर किया जाता है
|
|
107
|
+
- परिणाम स्कोर के अवरोही क्रम में क्रमबद्ध होते हैं
|
|
108
|
+
|
|
109
|
+
### `lookupEntry(id, index)`
|
|
110
|
+
|
|
111
|
+
आईडी द्वारा एक विशिष्ट प्रविष्टि खोजें। मैन्युअल प्रविष्टियों या स्पष्ट पहुंच के लिए।
|
|
112
|
+
|
|
111
113
|
```typescript
|
|
112
114
|
import { lookupEntry } from "@mcptoolshop/ai-loadout";
|
|
113
115
|
|
|
114
116
|
const entry = lookupEntry("github-actions", index);
|
|
115
117
|
```
|
|
116
|
-
|
|
117
|
-
### `parseFrontmatter(content)`
|
|
118
|
-
|
|
119
|
-
एक
|
|
120
|
-
|
|
118
|
+
|
|
119
|
+
### `parseFrontmatter(content)`
|
|
120
|
+
|
|
121
|
+
एक डेटा फ़ाइल से YAML-जैसे प्रारंभिक भाग को पार्स करें।
|
|
122
|
+
|
|
121
123
|
```typescript
|
|
122
124
|
import { parseFrontmatter } from "@mcptoolshop/ai-loadout";
|
|
123
125
|
|
|
@@ -126,15 +128,15 @@ if (frontmatter) {
|
|
|
126
128
|
console.log(frontmatter.id, frontmatter.keywords);
|
|
127
129
|
}
|
|
128
130
|
```
|
|
129
|
-
|
|
130
|
-
### `serializeFrontmatter(fm)`
|
|
131
|
-
|
|
132
|
-
एक `Frontmatter` ऑब्जेक्ट को वापस स्ट्रिंग में
|
|
133
|
-
|
|
134
|
-
### `validateIndex(index)`
|
|
135
|
-
|
|
136
|
-
एक `LoadoutIndex` की संरचनात्मक अखंडता
|
|
137
|
-
|
|
131
|
+
|
|
132
|
+
### `serializeFrontmatter(fm)`
|
|
133
|
+
|
|
134
|
+
एक `Frontmatter` ऑब्जेक्ट को वापस एक स्ट्रिंग में क्रमबद्ध करें।
|
|
135
|
+
|
|
136
|
+
### `validateIndex(index)`
|
|
137
|
+
|
|
138
|
+
एक `LoadoutIndex` की संरचनात्मक अखंडता को मान्य करें। मुद्दों का एक सरणी लौटाता है।
|
|
139
|
+
|
|
138
140
|
```typescript
|
|
139
141
|
import { validateIndex } from "@mcptoolshop/ai-loadout";
|
|
140
142
|
|
|
@@ -144,21 +146,21 @@ if (errors.length > 0) {
|
|
|
144
146
|
console.error("Index has errors:", errors);
|
|
145
147
|
}
|
|
146
148
|
```
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
### `estimateTokens(text)`
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
149
|
+
|
|
150
|
+
जांच: आवश्यक फ़ील्ड, अद्वितीय आईडी, केबाब-केस प्रारूप, सारांश सीमाएं, डोमेन प्रविष्टियों के लिए कीवर्ड की उपस्थिति, मान्य प्राथमिकताएं, गैर-नकारात्मक बजट।
|
|
151
|
+
|
|
152
|
+
### `estimateTokens(text)`
|
|
153
|
+
|
|
154
|
+
पाठ से टोकन की संख्या का अनुमान लगाएं। chars/4 अनुमान का उपयोग करता है।
|
|
155
|
+
|
|
154
156
|
```typescript
|
|
155
157
|
import { estimateTokens } from "@mcptoolshop/ai-loadout";
|
|
156
158
|
|
|
157
159
|
const tokens = estimateTokens(fileContent); // ~250
|
|
158
160
|
```
|
|
159
|
-
|
|
160
|
-
##
|
|
161
|
-
|
|
161
|
+
|
|
162
|
+
## प्रकार
|
|
163
|
+
|
|
162
164
|
```typescript
|
|
163
165
|
import type {
|
|
164
166
|
LoadoutEntry,
|
|
@@ -171,26 +173,26 @@ import type {
|
|
|
171
173
|
Budget,
|
|
172
174
|
} from "@mcptoolshop/ai-loadout";
|
|
173
175
|
```
|
|
174
|
-
|
|
175
|
-
## उपभोक्ता
|
|
176
|
-
|
|
177
|
-
- **[@mcptoolshop/claude-rules](https://github.com/mcp-tool-shop-org/claude-rules)** —
|
|
178
|
-
|
|
179
|
-
## सुरक्षा
|
|
180
|
-
|
|
181
|
-
यह पैकेज एक शुद्ध डेटा लाइब्रेरी है। यह फ़ाइल सिस्टम तक नहीं
|
|
182
|
-
|
|
183
|
-
###
|
|
184
|
-
|
|
185
|
-
| खतरा | शमन |
|
|
186
|
-
|
|
187
|
-
|
|
|
188
|
-
|
|
|
189
|
-
| खराब डेटा वाला इंडेक्स | `validateIndex()` संरचनात्मक
|
|
190
|
-
|
|
|
191
|
-
|
|
192
|
-
पूर्ण सुरक्षा नीति के लिए [SECURITY.md](SECURITY.md) देखें।
|
|
193
|
-
|
|
176
|
+
|
|
177
|
+
## उपभोक्ता
|
|
178
|
+
|
|
179
|
+
- **[@mcptoolshop/claude-rules](https://github.com/mcp-tool-shop-org/claude-rules)** — क्लाउड कोड के लिए CLAUDE.md ऑप्टिमाइज़र। डिस्पैच टेबल और मिलान के लिए ai-loadout का उपयोग करता है।
|
|
180
|
+
|
|
181
|
+
## सुरक्षा
|
|
182
|
+
|
|
183
|
+
यह पैकेज एक शुद्ध डेटा लाइब्रेरी है। यह फ़ाइल सिस्टम तक नहीं पहुंचता है, नेटवर्क अनुरोध नहीं करता है, या टेलीमेट्री एकत्र नहीं करता है। सभी इनपुट/आउटपुट उपभोक्ता की जिम्मेदारी है।
|
|
184
|
+
|
|
185
|
+
### खतरे का मॉडल
|
|
186
|
+
|
|
187
|
+
| खतरा | शमन |
|
|
188
|
+
|--------|------------|
|
|
189
|
+
| खराब प्रारूप वाला प्रारंभिक भाग इनपुट | `parseFrontmatter()` अमान्य इनपुट पर `null` लौटाता है - कोई अपवाद नहीं, कोई eval नहीं |
|
|
190
|
+
| प्रोटोकॉल प्रदूषण | हाथ से बनाया गया पार्सर केवल साधारण ऑब्जेक्ट लिटरल का उपयोग करता है, अविश्वसनीय नेस्टेड संरचनाओं का `JSON.parse` नहीं करता है |
|
|
191
|
+
| खराब डेटा वाला इंडेक्स | `validateIndex()` संरचनात्मक मुद्दों को फैलने से पहले पकड़ लेता है |
|
|
192
|
+
| रेगेक्स DoS | कोई उपयोगकर्ता-प्रदत्त रेगेक्स नहीं - पैटर्न को साधारण स्ट्रिंग लुकअप के रूप में मिलान किया जाता है |
|
|
193
|
+
|
|
194
|
+
पूर्ण सुरक्षा नीति के लिए [SECURITY.md](SECURITY.md) देखें।
|
|
195
|
+
|
|
194
196
|
---
|
|
195
|
-
|
|
196
|
-
[MCP Tool Shop](https://mcp-tool-shop.github.io/) द्वारा
|
|
197
|
+
|
|
198
|
+
[MCP Tool Shop](https://mcp-tool-shop.github.io/) द्वारा बनाया गया
|
package/README.it.md
CHANGED
|
@@ -1,35 +1,37 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.md">English</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
<p align="center">
|
|
2
|
-
<
|
|
6
|
+
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/ai-loadout/readme.png" width="400" alt="ai-loadout">
|
|
3
7
|
</p>
|
|
4
|
-
|
|
5
|
-
<p align="center">
|
|
6
|
-
<img src="logo.png" width="400" alt="ai-loadout">
|
|
7
|
-
</p>
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://github.com/mcp-tool-shop-org/ai-loadout/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/ai-loadout/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
11
|
+
<a href="https://codecov.io/gh/mcp-tool-shop-org/ai-loadout"><img src="https://codecov.io/gh/mcp-tool-shop-org/ai-loadout/graph/badge.svg" alt="Coverage"></a>
|
|
11
12
|
<a href="https://www.npmjs.com/package/@mcptoolshop/ai-loadout"><img src="https://img.shields.io/npm/v/@mcptoolshop/ai-loadout" alt="npm"></a>
|
|
12
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="
|
|
13
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
|
|
14
|
+
<a href="https://mcp-tool-shop-org.github.io/ai-loadout/"><img src="https://img.shields.io/badge/Landing_Page-live-blue" alt="Landing Page"></a>
|
|
13
15
|
</p>
|
|
14
|
-
|
|
15
|
-
Router di conoscenza contestuale per agenti
|
|
16
|
-
|
|
17
|
-
`ai-loadout`
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## Installazione
|
|
22
|
-
|
|
16
|
+
|
|
17
|
+
Router di conoscenza contestuale per agenti di intelligenza artificiale.
|
|
18
|
+
|
|
19
|
+
`ai-loadout` è il formato della tabella di dispatch e il motore di matching che consente agli agenti di intelligenza artificiale di caricare le conoscenze appropriate per il compito in questione. Invece di caricare tutto nel contesto, si mantiene un indice ridotto e si caricano i dati su richiesta.
|
|
20
|
+
|
|
21
|
+
Immaginate che sia come la configurazione di un gioco: si fornisce all'agente esattamente le conoscenze di cui ha bisogno prima di ogni missione.
|
|
22
|
+
|
|
23
|
+
## Installazione
|
|
24
|
+
|
|
23
25
|
```bash
|
|
24
26
|
npm install @mcptoolshop/ai-loadout
|
|
25
27
|
```
|
|
26
|
-
|
|
27
|
-
## Concetti
|
|
28
|
-
|
|
29
|
-
### La
|
|
30
|
-
|
|
31
|
-
Un `LoadoutIndex`
|
|
32
|
-
|
|
28
|
+
|
|
29
|
+
## Concetti fondamentali
|
|
30
|
+
|
|
31
|
+
### La tabella di dispatch
|
|
32
|
+
|
|
33
|
+
Un `LoadoutIndex` è un indice strutturato di dati di conoscenza:
|
|
34
|
+
|
|
33
35
|
```json
|
|
34
36
|
{
|
|
35
37
|
"version": "1.0.0",
|
|
@@ -55,19 +57,19 @@ Un `LoadoutIndex` e un indice strutturato di contenuti di conoscenza:
|
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
```
|
|
58
|
-
|
|
59
|
-
### Livelli di
|
|
60
|
-
|
|
61
|
-
| Livello | Comportamento | Esempio |
|
|
62
|
-
|
|
63
|
-
| `core` |
|
|
64
|
-
| `domain` | Caricato quando le parole chiave del compito corrispondono | Regole CI durante la modifica dei workflow |
|
|
65
|
-
| `manual` |
|
|
66
|
-
|
|
67
|
-
###
|
|
68
|
-
|
|
69
|
-
Ogni file di
|
|
70
|
-
|
|
60
|
+
|
|
61
|
+
### Livelli di priorità
|
|
62
|
+
|
|
63
|
+
| Livello | Comportamento | Esempio |
|
|
64
|
+
|------|----------|---------|
|
|
65
|
+
| `core` | Caricato sempre | "non saltare mai i test per rendere verde il CI" |
|
|
66
|
+
| `domain` | Caricato quando le parole chiave del compito corrispondono | Regole del CI durante la modifica dei workflow |
|
|
67
|
+
| `manual` | Non caricato automaticamente, solo ricerca esplicita | Problemi specifici della piattaforma |
|
|
68
|
+
|
|
69
|
+
### Metadati del payload
|
|
70
|
+
|
|
71
|
+
Ogni file di payload contiene i propri metadati di routing:
|
|
72
|
+
|
|
71
73
|
```markdown
|
|
72
74
|
---
|
|
73
75
|
id: github-actions
|
|
@@ -83,41 +85,41 @@ triggers:
|
|
|
83
85
|
# GitHub Actions Rules
|
|
84
86
|
CI minutes are finite...
|
|
85
87
|
```
|
|
86
|
-
|
|
87
|
-
Il frontmatter
|
|
88
|
-
|
|
89
|
-
## API
|
|
90
|
-
|
|
91
|
-
### `matchLoadout(task, index)`
|
|
92
|
-
|
|
93
|
-
Confronta una descrizione del compito con un indice di loadout. Restituisce le voci che devono essere caricate, ordinate
|
|
94
|
-
|
|
88
|
+
|
|
89
|
+
Il frontmatter è la fonte di verità. L'indice è derivato da esso.
|
|
90
|
+
|
|
91
|
+
## API
|
|
92
|
+
|
|
93
|
+
### `matchLoadout(task, index)`
|
|
94
|
+
|
|
95
|
+
Confronta una descrizione del compito con un indice di loadout. Restituisce le voci che devono essere caricate, ordinate in base alla forza della corrispondenza.
|
|
96
|
+
|
|
95
97
|
```typescript
|
|
96
98
|
import { matchLoadout } from "@mcptoolshop/ai-loadout";
|
|
97
99
|
|
|
98
100
|
const results = matchLoadout("fix the CI workflow", index);
|
|
99
101
|
// [{ entry: { id: "github-actions", ... }, score: 0.67, matchedKeywords: ["ci", "workflow"] }]
|
|
100
102
|
```
|
|
101
|
-
|
|
102
|
-
- Le voci
|
|
103
|
-
- Le voci
|
|
104
|
-
- Le voci
|
|
105
|
-
- I risultati sono ordinati per punteggio decrescente
|
|
106
|
-
|
|
107
|
-
### `lookupEntry(id, index)`
|
|
108
|
-
|
|
109
|
-
Cerca una voce specifica per ID. Per voci manuali o accesso esplicito.
|
|
110
|
-
|
|
103
|
+
|
|
104
|
+
- Le voci principali sono sempre incluse (punteggio 1.0)
|
|
105
|
+
- Le voci manuali non sono mai incluse automaticamente
|
|
106
|
+
- Le voci relative al dominio sono valutate in base alla sovrapposizione delle parole chiave + bonus per i pattern
|
|
107
|
+
- I risultati sono ordinati per punteggio decrescente
|
|
108
|
+
|
|
109
|
+
### `lookupEntry(id, index)`
|
|
110
|
+
|
|
111
|
+
Cerca una voce specifica per ID. Per le voci manuali o per l'accesso esplicito.
|
|
112
|
+
|
|
111
113
|
```typescript
|
|
112
114
|
import { lookupEntry } from "@mcptoolshop/ai-loadout";
|
|
113
115
|
|
|
114
116
|
const entry = lookupEntry("github-actions", index);
|
|
115
117
|
```
|
|
116
|
-
|
|
117
|
-
### `parseFrontmatter(content)`
|
|
118
|
-
|
|
119
|
-
Analizza il frontmatter
|
|
120
|
-
|
|
118
|
+
|
|
119
|
+
### `parseFrontmatter(content)`
|
|
120
|
+
|
|
121
|
+
Analizza il frontmatter simile a YAML da un file di payload.
|
|
122
|
+
|
|
121
123
|
```typescript
|
|
122
124
|
import { parseFrontmatter } from "@mcptoolshop/ai-loadout";
|
|
123
125
|
|
|
@@ -126,15 +128,15 @@ if (frontmatter) {
|
|
|
126
128
|
console.log(frontmatter.id, frontmatter.keywords);
|
|
127
129
|
}
|
|
128
130
|
```
|
|
129
|
-
|
|
130
|
-
### `serializeFrontmatter(fm)`
|
|
131
|
-
|
|
132
|
-
Serializza un oggetto `Frontmatter`
|
|
133
|
-
|
|
134
|
-
### `validateIndex(index)`
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
131
|
+
|
|
132
|
+
### `serializeFrontmatter(fm)`
|
|
133
|
+
|
|
134
|
+
Serializza un oggetto `Frontmatter` in una stringa.
|
|
135
|
+
|
|
136
|
+
### `validateIndex(index)`
|
|
137
|
+
|
|
138
|
+
Verifica l'integrità strutturale di un `LoadoutIndex`. Restituisce un array di problemi.
|
|
139
|
+
|
|
138
140
|
```typescript
|
|
139
141
|
import { validateIndex } from "@mcptoolshop/ai-loadout";
|
|
140
142
|
|
|
@@ -144,21 +146,21 @@ if (errors.length > 0) {
|
|
|
144
146
|
console.error("Index has errors:", errors);
|
|
145
147
|
}
|
|
146
148
|
```
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
### `estimateTokens(text)`
|
|
151
|
-
|
|
152
|
-
Stima il
|
|
153
|
-
|
|
149
|
+
|
|
150
|
+
Controlli: campi obbligatori, ID univoci, formato kebab-case, limiti del riepilogo, presenza di parole chiave per le voci del dominio, priorità valide, budget non negativi.
|
|
151
|
+
|
|
152
|
+
### `estimateTokens(text)`
|
|
153
|
+
|
|
154
|
+
Stima il numero di token da un testo. Utilizza l'euristica chars/4.
|
|
155
|
+
|
|
154
156
|
```typescript
|
|
155
157
|
import { estimateTokens } from "@mcptoolshop/ai-loadout";
|
|
156
158
|
|
|
157
159
|
const tokens = estimateTokens(fileContent); // ~250
|
|
158
160
|
```
|
|
159
|
-
|
|
160
|
-
## Tipi
|
|
161
|
-
|
|
161
|
+
|
|
162
|
+
## Tipi
|
|
163
|
+
|
|
162
164
|
```typescript
|
|
163
165
|
import type {
|
|
164
166
|
LoadoutEntry,
|
|
@@ -171,26 +173,26 @@ import type {
|
|
|
171
173
|
Budget,
|
|
172
174
|
} from "@mcptoolshop/ai-loadout";
|
|
173
175
|
```
|
|
174
|
-
|
|
175
|
-
## Consumatori
|
|
176
|
-
|
|
177
|
-
- **[@mcptoolshop/claude-rules](https://github.com/mcp-tool-shop-org/claude-rules)** — Ottimizzatore
|
|
178
|
-
|
|
179
|
-
## Sicurezza
|
|
180
|
-
|
|
181
|
-
Questo pacchetto
|
|
182
|
-
|
|
183
|
-
### Modello
|
|
184
|
-
|
|
185
|
-
| Minaccia | Mitigazione |
|
|
186
|
-
|
|
187
|
-
| Input frontmatter
|
|
188
|
-
| Inquinamento del prototipo | Il parser
|
|
189
|
-
| Indice con dati errati | `validateIndex()` rileva problemi strutturali prima che si propaghino |
|
|
190
|
-
| DoS
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
176
|
+
|
|
177
|
+
## Consumatori
|
|
178
|
+
|
|
179
|
+
- **[@mcptoolshop/claude-rules](https://github.com/mcp-tool-shop-org/claude-rules)** — Ottimizzatore CLAUDE.md per Claude Code. Utilizza ai-loadout per la tabella di dispatch e il matching.
|
|
180
|
+
|
|
181
|
+
## Sicurezza
|
|
182
|
+
|
|
183
|
+
Questo pacchetto è una pura libreria di dati. Non accede al file system, non effettua richieste di rete né raccoglie dati di telemetria. Tutte le operazioni di I/O sono responsabilità del consumatore.
|
|
184
|
+
|
|
185
|
+
### Modello delle minacce
|
|
186
|
+
|
|
187
|
+
| Minaccia | Mitigazione |
|
|
188
|
+
|--------|------------|
|
|
189
|
+
| Input di frontmatter non valido | `parseFrontmatter()` restituisce `null` in caso di input non valido: nessuna eccezione, nessuna valutazione. |
|
|
190
|
+
| Inquinamento del prototipo | Il parser personalizzato utilizza solo letterali di oggetti semplici, senza `JSON.parse` di strutture nidificate non attendibili. |
|
|
191
|
+
| Indice con dati errati | `validateIndex()` rileva i problemi strutturali prima che si propaghino. |
|
|
192
|
+
| DoS con espressioni regolari | Nessuna espressione regolare fornita dall'utente: i pattern vengono confrontati come ricerche di stringhe semplici. |
|
|
193
|
+
|
|
194
|
+
Consultare [SECURITY.md](SECURITY.md) per la politica di sicurezza completa.
|
|
195
|
+
|
|
194
196
|
---
|
|
195
|
-
|
|
196
|
-
Creato da [MCP Tool Shop](https://mcp-tool-shop.github.io/)
|
|
197
|
+
|
|
198
|
+
Creato da [MCP Tool Shop](https://mcp-tool-shop.github.io/)
|