@agentguard-run/spend 0.2.2 → 0.4.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 +14 -1
- package/LICENSE +1 -1
- package/README.es-419.md +37 -100
- package/README.md +58 -121
- package/README.pt-BR.md +37 -100
- package/dist/bindings/anthropic.d.ts +11 -0
- package/dist/bindings/anthropic.d.ts.map +1 -0
- package/dist/bindings/anthropic.js +116 -0
- package/dist/bindings/anthropic.js.map +1 -0
- package/dist/bindings/bedrock.d.ts +11 -0
- package/dist/bindings/bedrock.d.ts.map +1 -0
- package/dist/bindings/bedrock.js +177 -0
- package/dist/bindings/bedrock.js.map +1 -0
- package/dist/cli/auth.d.ts +7 -0
- package/dist/cli/auth.d.ts.map +1 -0
- package/dist/cli/auth.js +189 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/coach.d.ts +5 -0
- package/dist/cli/coach.d.ts.map +1 -0
- package/dist/cli/coach.js +257 -0
- package/dist/cli/coach.js.map +1 -0
- package/dist/cli/colors.d.ts +8 -3
- package/dist/cli/colors.d.ts.map +1 -1
- package/dist/cli/colors.js +93 -4
- package/dist/cli/colors.js.map +1 -1
- package/dist/cli/demo.d.ts.map +1 -1
- package/dist/cli/demo.js +23 -2
- package/dist/cli/demo.js.map +1 -1
- package/dist/cli/main.d.ts +0 -6
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +42 -16
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/models.d.ts +18 -0
- package/dist/cli/models.d.ts.map +1 -0
- package/dist/cli/models.js +277 -0
- package/dist/cli/models.js.map +1 -0
- package/dist/cli/tips.d.ts +21 -0
- package/dist/cli/tips.d.ts.map +1 -0
- package/dist/cli/tips.js +191 -0
- package/dist/cli/tips.js.map +1 -0
- package/dist/cli/wizard.d.ts +27 -0
- package/dist/cli/wizard.d.ts.map +1 -0
- package/dist/cli/wizard.js +182 -0
- package/dist/cli/wizard.js.map +1 -0
- package/dist/coach/anomaly.d.ts +26 -0
- package/dist/coach/anomaly.d.ts.map +1 -0
- package/dist/coach/anomaly.js +119 -0
- package/dist/coach/anomaly.js.map +1 -0
- package/dist/coach/conversation.d.ts +69 -0
- package/dist/coach/conversation.d.ts.map +1 -0
- package/dist/coach/conversation.js +228 -0
- package/dist/coach/conversation.js.map +1 -0
- package/dist/coach/forecast.d.ts +19 -0
- package/dist/coach/forecast.d.ts.map +1 -0
- package/dist/coach/forecast.js +57 -0
- package/dist/coach/forecast.js.map +1 -0
- package/dist/coach/llm-client.d.ts +41 -0
- package/dist/coach/llm-client.d.ts.map +1 -0
- package/dist/coach/llm-client.js +248 -0
- package/dist/coach/llm-client.js.map +1 -0
- package/dist/coach/output.d.ts +41 -0
- package/dist/coach/output.d.ts.map +1 -0
- package/dist/coach/output.js +173 -0
- package/dist/coach/output.js.map +1 -0
- package/dist/coach/system-prompt.d.ts +20 -0
- package/dist/coach/system-prompt.d.ts.map +1 -0
- package/dist/coach/system-prompt.js +177 -0
- package/dist/coach/system-prompt.js.map +1 -0
- package/dist/cost-table.d.ts +11 -36
- package/dist/cost-table.d.ts.map +1 -1
- package/dist/cost-table.js +114 -45
- package/dist/cost-table.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -2
- package/dist/index.js.map +1 -1
- package/dist/openrouter-catalog.d.ts +56 -0
- package/dist/openrouter-catalog.d.ts.map +1 -0
- package/dist/openrouter-catalog.js +183 -0
- package/dist/openrouter-catalog.js.map +1 -0
- package/dist/spend-guard.d.ts +38 -55
- package/dist/spend-guard.d.ts.map +1 -1
- package/dist/spend-guard.js +268 -83
- package/dist/spend-guard.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +52 -21
- package/dist/telemetry.js.map +1 -1
- package/dist/templates/index.d.ts +17 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +100 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/types.d.ts +18 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +39 -4
- package/src/bindings/anthropic.ts +142 -0
- package/src/bindings/bedrock.ts +200 -0
- package/src/cli/auth.ts +145 -0
- package/src/cli/coach.ts +249 -0
- package/src/cli/models.ts +236 -0
- package/src/cli/tips.ts +161 -0
- package/src/cli/wizard.ts +160 -0
- package/src/coach/anomaly.ts +98 -0
- package/src/coach/conversation.ts +248 -0
- package/src/coach/forecast.ts +64 -0
- package/src/coach/llm-client.ts +247 -0
- package/src/coach/output.ts +172 -0
- package/src/coach/system-prompt.ts +181 -0
- package/src/openrouter-catalog.ts +180 -0
- package/src/templates/agent-support.yaml +30 -0
- package/src/templates/chargeback-evidence.yaml +30 -0
- package/src/templates/code-scan.yaml +30 -0
- package/src/templates/index.ts +109 -0
- package/src/templates/payment-approval.yaml +30 -0
- package/src/templates/risk-review.yaml +30 -0
- package/tests/fixtures/openrouter-catalog.json +1 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `agentguard coach`: local LLM-driven policy setup.
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.runCoach = runCoach;
|
|
40
|
+
const readline = __importStar(require("readline"));
|
|
41
|
+
const index_1 = require("../index");
|
|
42
|
+
const conversation_1 = require("../coach/conversation");
|
|
43
|
+
const forecast_1 = require("../coach/forecast");
|
|
44
|
+
const llm_client_1 = require("../coach/llm-client");
|
|
45
|
+
const anomaly_1 = require("../coach/anomaly");
|
|
46
|
+
const system_prompt_1 = require("../coach/system-prompt");
|
|
47
|
+
const output_1 = require("../coach/output");
|
|
48
|
+
const colors_1 = require("./colors");
|
|
49
|
+
const HELP = `agentguard coach: local LLM-driven policy setup
|
|
50
|
+
|
|
51
|
+
usage:
|
|
52
|
+
agentguard coach [--provider openrouter|openai|anthropic|compatible] [--base-url <url>] [--model <model>]
|
|
53
|
+
agentguard coach review [--scope <name>]
|
|
54
|
+
agentguard coach forecast [--scope <name>] [--cap-cents <cents>]
|
|
55
|
+
|
|
56
|
+
examples:
|
|
57
|
+
agentguard auth openrouter
|
|
58
|
+
agentguard coach
|
|
59
|
+
agentguard coach --base-url https://api.deepseek.com/v1 --model deepseek-chat
|
|
60
|
+
agentguard coach review
|
|
61
|
+
`;
|
|
62
|
+
async function runCoach(argv) {
|
|
63
|
+
if (argv.includes('--help') || argv.includes('-h')) {
|
|
64
|
+
console.log(HELP);
|
|
65
|
+
return 0;
|
|
66
|
+
}
|
|
67
|
+
if (argv[0] === 'review')
|
|
68
|
+
return runCoachReview(argv.slice(1));
|
|
69
|
+
if (argv[0] === 'forecast')
|
|
70
|
+
return runCoachForecast(argv.slice(1));
|
|
71
|
+
const options = parseOptions(argv);
|
|
72
|
+
const apiKey = (0, llm_client_1.resolveCoachApiKey)(options.provider);
|
|
73
|
+
if (options.provider !== 'mock' && !apiKey) {
|
|
74
|
+
console.log('');
|
|
75
|
+
console.log(' ' + (0, colors_1.banner)(index_1.AGENTGUARD_SPEND_VERSION));
|
|
76
|
+
console.log('');
|
|
77
|
+
console.log(` ${(0, colors_1.yellow)('agentguard coach needs a local provider key')}`);
|
|
78
|
+
console.log(' Run agentguard auth openrouter, set OPENROUTER_API_KEY, or pass --base-url with AGENTGUARD_COACH_API_KEY.');
|
|
79
|
+
console.log(' Prompts and policy details stay in your terminal and go only to your chosen provider.');
|
|
80
|
+
console.log('');
|
|
81
|
+
return 0;
|
|
82
|
+
}
|
|
83
|
+
let cancelled = false;
|
|
84
|
+
const logger = (0, output_1.createCoachSessionLogger)();
|
|
85
|
+
const onSigint = () => {
|
|
86
|
+
cancelled = true;
|
|
87
|
+
logger.append('cancelled', { reason: 'sigint' });
|
|
88
|
+
process.stdout.write('\ncoach cancelled. No policy files were written.\n');
|
|
89
|
+
};
|
|
90
|
+
process.once('SIGINT', onSigint);
|
|
91
|
+
try {
|
|
92
|
+
const conversation = new conversation_1.CoachConversation(options.language ? { language: options.language } : undefined);
|
|
93
|
+
const history = [{ role: 'system', content: system_prompt_1.MASTER_SYSTEM_PROMPT }];
|
|
94
|
+
const client = (0, llm_client_1.createCoachClient)({ provider: options.provider, baseUrl: options.baseUrl, model: options.model, apiKey: apiKey ?? undefined });
|
|
95
|
+
console.log('');
|
|
96
|
+
console.log(' ' + (0, colors_1.banner)(index_1.AGENTGUARD_SPEND_VERSION));
|
|
97
|
+
console.log('');
|
|
98
|
+
console.log((0, colors_1.cyanBold)('AgentGuard Coach'));
|
|
99
|
+
console.log((0, colors_1.dim)('Local LLM setup. No AgentGuard service receives prompts, completions, keys, or policies.'));
|
|
100
|
+
console.log('');
|
|
101
|
+
if (options.defaults || !process.stdin.isTTY) {
|
|
102
|
+
fillDefaults(conversation);
|
|
103
|
+
logger.append('answers_defaulted', { answers: conversation.snapshot() });
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
await runInteractiveQuestions(conversation, logger, history, client, () => cancelled);
|
|
107
|
+
}
|
|
108
|
+
if (cancelled)
|
|
109
|
+
return 130;
|
|
110
|
+
if (!conversation.isComplete()) {
|
|
111
|
+
console.log((0, colors_1.yellow)('coach did not collect enough answers to write policy files.'));
|
|
112
|
+
return 0;
|
|
113
|
+
}
|
|
114
|
+
const profile = conversation.profile(process.cwd());
|
|
115
|
+
if (options.language)
|
|
116
|
+
profile.language = options.language;
|
|
117
|
+
logger.append('profile_built', { profile });
|
|
118
|
+
console.log('');
|
|
119
|
+
await streamCoachSummary(client, history, profileSummaryPrompt(profile), logger, () => cancelled);
|
|
120
|
+
if (cancelled)
|
|
121
|
+
return 130;
|
|
122
|
+
const outputs = (0, output_1.writeCoachOutputs)(profile, { language: profile.language, overwrite: options.yes || options.defaults });
|
|
123
|
+
logger.append('files_written', { policyPath: outputs.policyPath, quickstartPath: outputs.quickstartPath, sessionLogPath: logger.path });
|
|
124
|
+
console.log('');
|
|
125
|
+
console.log(outputs.savingsTable);
|
|
126
|
+
console.log('');
|
|
127
|
+
console.log(`${(0, colors_1.green)('created')} ${outputs.policyPath}`);
|
|
128
|
+
console.log(`${(0, colors_1.green)('created')} ${outputs.quickstartPath}`);
|
|
129
|
+
console.log(`${(0, colors_1.green)('session')} ${logger.path}`);
|
|
130
|
+
console.log('');
|
|
131
|
+
console.log('Next: agentguard demo --policy ~/.agentguard/policy.yaml');
|
|
132
|
+
console.log('Verify receipts: https://agentguard.run/verify');
|
|
133
|
+
console.log('');
|
|
134
|
+
return 0;
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
process.removeListener('SIGINT', onSigint);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async function runCoachReview(argv) {
|
|
141
|
+
const scope = valueAfter(argv, '--scope') ?? 'default';
|
|
142
|
+
const anomalies = (0, anomaly_1.reviewAnomalies)((0, anomaly_1.readDecisionSpend)(scope));
|
|
143
|
+
console.log('');
|
|
144
|
+
console.log(' ' + (0, colors_1.banner)(index_1.AGENTGUARD_SPEND_VERSION));
|
|
145
|
+
console.log('');
|
|
146
|
+
if (anomalies.length === 0) {
|
|
147
|
+
console.log('No local spend anomalies found for the last 24 hours.');
|
|
148
|
+
return 0;
|
|
149
|
+
}
|
|
150
|
+
for (const item of anomalies) {
|
|
151
|
+
console.log(`${item.scope}/${item.agentId}: ${(0, conversation_1.formatCents)(item.last24hCents)} in last 24h. Baseline ${(0, conversation_1.formatCents)(item.baselineCents)}, sigma ${(0, conversation_1.formatCents)(item.sigmaCents)}.`);
|
|
152
|
+
console.log(`Suggestion: ${item.suggestion}`);
|
|
153
|
+
}
|
|
154
|
+
return 0;
|
|
155
|
+
}
|
|
156
|
+
async function runCoachForecast(argv) {
|
|
157
|
+
const scope = valueAfter(argv, '--scope') ?? 'default';
|
|
158
|
+
const cap = valueAfter(argv, '--cap-cents');
|
|
159
|
+
const forecast = (0, forecast_1.forecastMonthEnd)((0, anomaly_1.readDecisionSpend)(scope), cap ? Number(cap) : null);
|
|
160
|
+
console.log('');
|
|
161
|
+
console.log(' ' + (0, colors_1.banner)(index_1.AGENTGUARD_SPEND_VERSION));
|
|
162
|
+
console.log('');
|
|
163
|
+
console.log(`Days observed: ${forecast.daysObserved}`);
|
|
164
|
+
console.log(`Projected month-end: ${(0, conversation_1.formatCents)(forecast.monthEndCents)}`);
|
|
165
|
+
if (forecast.capCents !== null)
|
|
166
|
+
console.log(`Cap: ${(0, conversation_1.formatCents)(forecast.capCents)}`);
|
|
167
|
+
console.log(forecast.message);
|
|
168
|
+
return 0;
|
|
169
|
+
}
|
|
170
|
+
async function runInteractiveQuestions(conversation, logger, history, client, isCancelled) {
|
|
171
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
172
|
+
const ask = (prompt) => new Promise((resolve) => rl.question(`${prompt}\n> `, resolve));
|
|
173
|
+
try {
|
|
174
|
+
while (!conversation.isComplete() && !isCancelled()) {
|
|
175
|
+
const question = conversation.currentQuestion();
|
|
176
|
+
if (!question)
|
|
177
|
+
break;
|
|
178
|
+
const answer = (await ask(question.prompt)).trim();
|
|
179
|
+
if (answer.toLowerCase() === 'back') {
|
|
180
|
+
conversation.back();
|
|
181
|
+
logger.append('back', { to: conversation.currentQuestion()?.id });
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
if (!answer)
|
|
185
|
+
continue;
|
|
186
|
+
conversation.answer(answer);
|
|
187
|
+
logger.append('answer', { question: question.id, answer });
|
|
188
|
+
history.push({ role: 'user', content: `${question.prompt}\n${answer}` });
|
|
189
|
+
await streamCoachSummary(client, history, coachQuestionPrompt(question.id), logger, isCancelled);
|
|
190
|
+
conversation.next();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
finally {
|
|
194
|
+
rl.close();
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
async function streamCoachSummary(client, history, prompt, logger, isCancelled) {
|
|
198
|
+
history.push({ role: 'user', content: prompt });
|
|
199
|
+
let content = '';
|
|
200
|
+
process.stdout.write('\n');
|
|
201
|
+
try {
|
|
202
|
+
for await (const token of client.streamChat(history)) {
|
|
203
|
+
if (isCancelled())
|
|
204
|
+
break;
|
|
205
|
+
content += token;
|
|
206
|
+
process.stdout.write(token);
|
|
207
|
+
}
|
|
208
|
+
process.stdout.write('\n');
|
|
209
|
+
}
|
|
210
|
+
catch (err) {
|
|
211
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
212
|
+
content = `Coach provider unavailable: ${message}`;
|
|
213
|
+
console.log(content);
|
|
214
|
+
}
|
|
215
|
+
history.push({ role: 'assistant', content });
|
|
216
|
+
logger.append('assistant', { content });
|
|
217
|
+
}
|
|
218
|
+
function fillDefaults(conversation) {
|
|
219
|
+
const answers = [
|
|
220
|
+
'A customer support agent for an ecommerce business',
|
|
221
|
+
'Team of 5, around 2000 support tickets and orders per month',
|
|
222
|
+
'triage refunds, draft support replies, assemble chargeback evidence',
|
|
223
|
+
'$199 monthly budget with low per-call costs',
|
|
224
|
+
'Confirmed',
|
|
225
|
+
];
|
|
226
|
+
for (const answer of answers) {
|
|
227
|
+
if (!conversation.currentQuestion())
|
|
228
|
+
break;
|
|
229
|
+
conversation.answer(answer);
|
|
230
|
+
conversation.next();
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
function coachQuestionPrompt(id) {
|
|
234
|
+
return `Acknowledge the ${id} answer in 2 short sentences. Ask only the next unanswered setup question. Do not write files yet.`;
|
|
235
|
+
}
|
|
236
|
+
function profileSummaryPrompt(profile) {
|
|
237
|
+
return `Prepare a concise final setup summary for this profile before files are written: ${JSON.stringify(profile)}. Include projected savings math in words. Do not invent model names or pricing.`;
|
|
238
|
+
}
|
|
239
|
+
function parseOptions(argv) {
|
|
240
|
+
const baseUrl = valueAfter(argv, '--base-url');
|
|
241
|
+
const providerFlag = valueAfter(argv, '--provider');
|
|
242
|
+
const provider = providerFlag ?? (baseUrl ? 'compatible' : 'openrouter');
|
|
243
|
+
const language = valueAfter(argv, '--language');
|
|
244
|
+
return {
|
|
245
|
+
provider,
|
|
246
|
+
baseUrl,
|
|
247
|
+
model: valueAfter(argv, '--model'),
|
|
248
|
+
language: language === 'py' ? 'py' : language === 'ts' ? 'ts' : undefined,
|
|
249
|
+
defaults: argv.includes('--defaults'),
|
|
250
|
+
yes: argv.includes('--yes') || argv.includes('-y'),
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
function valueAfter(argv, flag) {
|
|
254
|
+
const index = argv.indexOf(flag);
|
|
255
|
+
return index >= 0 ? argv[index + 1] : undefined;
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=coach.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coach.js","sourceRoot":"","sources":["../../src/cli/coach.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/colors.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* ANSI color helpers with TTY detection.
|
|
3
3
|
*
|
|
4
4
|
* Honors:
|
|
5
|
-
* - NO_COLOR=1
|
|
6
|
-
* - AGENTGUARD_COLOR=0
|
|
7
|
-
* - process.stdout.isTTY
|
|
5
|
+
* - NO_COLOR=1
|
|
6
|
+
* - AGENTGUARD_COLOR=0
|
|
7
|
+
* - process.stdout.isTTY
|
|
8
8
|
*/
|
|
9
9
|
export declare const red: (text: string) => string;
|
|
10
10
|
export declare const green: (text: string) => string;
|
|
@@ -18,5 +18,10 @@ export declare const dim: (text: string) => string;
|
|
|
18
18
|
export declare function cyanBold(text: string): string;
|
|
19
19
|
export declare function redBold(text: string): string;
|
|
20
20
|
export declare function greenBold(text: string): string;
|
|
21
|
+
export declare function agentguardHome(): string;
|
|
22
|
+
export declare function currentPolicyPath(): string | null;
|
|
23
|
+
export declare function currentPolicyId(): string;
|
|
24
|
+
export declare function currentScopeLabel(): string;
|
|
21
25
|
export declare function banner(version: string): string;
|
|
26
|
+
export declare function statusBar(): string;
|
|
22
27
|
//# sourceMappingURL=colors.d.ts.map
|
package/dist/cli/colors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH,eAAO,MAAM,GAAG,SAJoB,MAAM,KAAK,MAIlB,CAAC;AAC9B,eAAO,MAAM,KAAK,SALkB,MAAM,KAAK,MAKhB,CAAC;AAChC,eAAO,MAAM,MAAM,SANiB,MAAM,KAAK,MAMf,CAAC;AACjC,eAAO,MAAM,IAAI,SAPmB,MAAM,KAAK,MAOjB,CAAC;AAC/B,eAAO,MAAM,SAAS,SARc,MAAM,KAAK,MAQZ,CAAC;AACpC,eAAO,MAAM,WAAW,SATY,MAAM,KAAK,MASV,CAAC;AACtC,eAAO,MAAM,UAAU,SAVa,MAAM,KAAK,MAUX,CAAC;AACrC,eAAO,MAAM,IAAI,SAXmB,MAAM,KAAK,MAWlB,CAAC;AAC9B,eAAO,MAAM,GAAG,SAZoB,MAAM,KAAK,MAYnB,CAAC;AAE7B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAcjD;AAED,wBAAgB,eAAe,IAAI,MAAM,CASxC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAY9C;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
|
package/dist/cli/colors.js
CHANGED
|
@@ -3,16 +3,57 @@
|
|
|
3
3
|
* ANSI color helpers with TTY detection.
|
|
4
4
|
*
|
|
5
5
|
* Honors:
|
|
6
|
-
* - NO_COLOR=1
|
|
7
|
-
* - AGENTGUARD_COLOR=0
|
|
8
|
-
* - process.stdout.isTTY
|
|
6
|
+
* - NO_COLOR=1
|
|
7
|
+
* - AGENTGUARD_COLOR=0
|
|
8
|
+
* - process.stdout.isTTY
|
|
9
9
|
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
27
|
+
var ownKeys = function(o) {
|
|
28
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29
|
+
var ar = [];
|
|
30
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
return ownKeys(o);
|
|
34
|
+
};
|
|
35
|
+
return function (mod) {
|
|
36
|
+
if (mod && mod.__esModule) return mod;
|
|
37
|
+
var result = {};
|
|
38
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
39
|
+
__setModuleDefault(result, mod);
|
|
40
|
+
return result;
|
|
41
|
+
};
|
|
42
|
+
})();
|
|
10
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
44
|
exports.dim = exports.bold = exports.brightCyan = exports.brightGreen = exports.brightRed = exports.cyan = exports.yellow = exports.green = exports.red = void 0;
|
|
12
45
|
exports.cyanBold = cyanBold;
|
|
13
46
|
exports.redBold = redBold;
|
|
14
47
|
exports.greenBold = greenBold;
|
|
48
|
+
exports.agentguardHome = agentguardHome;
|
|
49
|
+
exports.currentPolicyPath = currentPolicyPath;
|
|
50
|
+
exports.currentPolicyId = currentPolicyId;
|
|
51
|
+
exports.currentScopeLabel = currentScopeLabel;
|
|
15
52
|
exports.banner = banner;
|
|
53
|
+
exports.statusBar = statusBar;
|
|
54
|
+
const fs = __importStar(require("fs"));
|
|
55
|
+
const os = __importStar(require("os"));
|
|
56
|
+
const path = __importStar(require("path"));
|
|
16
57
|
function colorEnabled() {
|
|
17
58
|
if (typeof process === 'undefined')
|
|
18
59
|
return false;
|
|
@@ -46,7 +87,55 @@ function redBold(text) {
|
|
|
46
87
|
function greenBold(text) {
|
|
47
88
|
return colorEnabled() ? `\x1b[1;32m${text}\x1b[0m` : text;
|
|
48
89
|
}
|
|
90
|
+
function agentguardHome() {
|
|
91
|
+
return process.env.AGENTGUARD_HOME || path.join(os.homedir(), '.agentguard');
|
|
92
|
+
}
|
|
93
|
+
function currentPolicyPath() {
|
|
94
|
+
const candidates = [
|
|
95
|
+
process.env.AGENTGUARD_POLICY,
|
|
96
|
+
path.join(process.cwd(), 'agentguard.policy.yaml'),
|
|
97
|
+
path.join(agentguardHome(), 'policy.yaml'),
|
|
98
|
+
].filter((value) => Boolean(value));
|
|
99
|
+
for (const candidate of candidates) {
|
|
100
|
+
try {
|
|
101
|
+
if (fs.existsSync(candidate))
|
|
102
|
+
return candidate;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
function currentPolicyId() {
|
|
111
|
+
const file = currentPolicyPath();
|
|
112
|
+
if (!file)
|
|
113
|
+
return 'none';
|
|
114
|
+
try {
|
|
115
|
+
const match = fs.readFileSync(file, 'utf8').match(/^id:\s*['"]?([^'"\n]+)['"]?/m);
|
|
116
|
+
return match ? match[1].trim() : path.basename(file);
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return path.basename(file);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function currentScopeLabel() {
|
|
123
|
+
return process.env.AGENTGUARD_SCOPE || 'tenantId=local';
|
|
124
|
+
}
|
|
49
125
|
function banner(version) {
|
|
50
|
-
|
|
126
|
+
const lines = [
|
|
127
|
+
`⬡ AGENTGUARD SPEND · v${version}`,
|
|
128
|
+
`policy: ${currentPolicyId()} /policy to change`,
|
|
129
|
+
`scope: ${currentScopeLabel()}`,
|
|
130
|
+
`directory: ${process.cwd()}`,
|
|
131
|
+
];
|
|
132
|
+
const width = Math.max(...lines.map((line) => line.length));
|
|
133
|
+
const top = '╭' + '─'.repeat(width + 2) + '╮';
|
|
134
|
+
const bottom = '╰' + '─'.repeat(width + 2) + '╯';
|
|
135
|
+
const body = lines.map((line) => '│ ' + line.padEnd(width) + ' │');
|
|
136
|
+
return cyanBold([top, ...body, bottom].join('\n'));
|
|
137
|
+
}
|
|
138
|
+
function statusBar() {
|
|
139
|
+
return (0, exports.dim)(`policy: ${currentPolicyId()} · scope: ${currentScopeLabel()} · ${process.cwd()}`);
|
|
51
140
|
}
|
|
52
141
|
//# sourceMappingURL=colors.js.map
|
package/dist/cli/colors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/demo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/cli/demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuBH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/cli/demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuBH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAuJ7D"}
|
package/dist/cli/demo.js
CHANGED
|
@@ -65,10 +65,12 @@ async function runDemo(argv) {
|
|
|
65
65
|
console.log('agentguard demo');
|
|
66
66
|
console.log('Run a deterministic simulation with a real cryptographic receipt.');
|
|
67
67
|
console.log('Options:');
|
|
68
|
-
console.log(' --no-color
|
|
68
|
+
console.log(' --no-color Disable colored output (same as NO_COLOR=1).');
|
|
69
|
+
console.log(' --emit-receipt-json <path> Write public verifier demo receipt JSON.');
|
|
69
70
|
return 0;
|
|
70
71
|
}
|
|
71
|
-
|
|
72
|
+
const emitReceiptPath = valueAfter(argv, '--emit-receipt-json');
|
|
73
|
+
// Simulated parameters matching the marketing screenshot at agentguard.run/the-block/.
|
|
72
74
|
const agentId = 'agent-finance-bot-v3';
|
|
73
75
|
const provider = 'anthropic';
|
|
74
76
|
const modelRequested = 'claude-opus-4-7';
|
|
@@ -136,6 +138,21 @@ async function runDemo(argv) {
|
|
|
136
138
|
agentId,
|
|
137
139
|
}));
|
|
138
140
|
console.log('');
|
|
141
|
+
const verifierReceipt = {
|
|
142
|
+
entry: {
|
|
143
|
+
sequence: signedEntry.sequence,
|
|
144
|
+
decision: signedEntry.decision,
|
|
145
|
+
previousHash: signedEntry.previousHash,
|
|
146
|
+
entryHash: signedEntry.entryHash,
|
|
147
|
+
signature: signedEntry.signature,
|
|
148
|
+
signerFingerprint: signedEntry.signerFingerprint,
|
|
149
|
+
},
|
|
150
|
+
publicKeyHex: Buffer.from(publicKey).toString('hex'),
|
|
151
|
+
};
|
|
152
|
+
if (emitReceiptPath) {
|
|
153
|
+
fs.mkdirSync(path.dirname(path.resolve(emitReceiptPath)), { recursive: true });
|
|
154
|
+
fs.writeFileSync(path.resolve(emitReceiptPath), JSON.stringify(verifierReceipt, null, 2) + '\n');
|
|
155
|
+
}
|
|
139
156
|
// Persist the receipt so `agentguard verify --trace latest` works.
|
|
140
157
|
try {
|
|
141
158
|
fs.mkdirSync(DEMO_HOME, { recursive: true });
|
|
@@ -170,4 +187,8 @@ async function runDemo(argv) {
|
|
|
170
187
|
console.log('');
|
|
171
188
|
return 0;
|
|
172
189
|
}
|
|
190
|
+
function valueAfter(argv, flag) {
|
|
191
|
+
const index = argv.indexOf(flag);
|
|
192
|
+
return index >= 0 ? argv[index + 1] : undefined;
|
|
193
|
+
}
|
|
173
194
|
//# sourceMappingURL=demo.js.map
|
package/dist/cli/demo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/cli/demo.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBH,
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/cli/demo.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AgentGuard CLI entry point.
|
|
3
|
-
*
|
|
4
|
-
* Usage:
|
|
5
|
-
* agentguard demo Run a deterministic simulation
|
|
6
|
-
* agentguard verify --trace latest Verify the latest demo receipt
|
|
7
|
-
* agentguard --version Show installed SDK version
|
|
8
|
-
* agentguard --help Show this help
|
|
9
3
|
*/
|
|
10
4
|
export declare function main(argv?: string[]): Promise<number>;
|
|
11
5
|
//# sourceMappingURL=main.d.ts.map
|
package/dist/cli/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuCH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAwElF"}
|
package/dist/cli/main.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* AgentGuard CLI entry point.
|
|
4
|
-
*
|
|
5
|
-
* Usage:
|
|
6
|
-
* agentguard demo Run a deterministic simulation
|
|
7
|
-
* agentguard verify --trace latest Verify the latest demo receipt
|
|
8
|
-
* agentguard --version Show installed SDK version
|
|
9
|
-
* agentguard --help Show this help
|
|
10
4
|
*/
|
|
11
5
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
6
|
if (k2 === undefined) k2 = k;
|
|
@@ -44,12 +38,18 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
44
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
39
|
exports.main = main;
|
|
46
40
|
const index_1 = require("../index");
|
|
41
|
+
const colors_1 = require("./colors");
|
|
47
42
|
const HELP = `agentguard: local-runtime spend caps + signed receipts for AI agents
|
|
48
43
|
|
|
49
44
|
usage:
|
|
50
45
|
agentguard <command> [options]
|
|
51
46
|
|
|
52
47
|
commands:
|
|
48
|
+
coach Local LLM setup that writes policy.yaml and quickstart code.
|
|
49
|
+
wizard Guided setup for policy.yaml and quickstarts.
|
|
50
|
+
models Browse models, sync OpenRouter pricing, update policy.
|
|
51
|
+
auth Configure local provider keys.
|
|
52
|
+
tips Show AgentGuard usage tips.
|
|
53
53
|
demo Run a deterministic simulation with a real cryptographic receipt.
|
|
54
54
|
verify Verify a signed AgentGuard receipt.
|
|
55
55
|
init Scaffold a project (policy.yaml + quickstart + .gitignore).
|
|
@@ -61,27 +61,54 @@ commands:
|
|
|
61
61
|
--help Show this help.
|
|
62
62
|
|
|
63
63
|
examples:
|
|
64
|
-
agentguard
|
|
65
|
-
agentguard
|
|
66
|
-
agentguard
|
|
64
|
+
agentguard auth openrouter
|
|
65
|
+
agentguard coach
|
|
66
|
+
agentguard wizard
|
|
67
|
+
agentguard models --sync-pricing
|
|
68
|
+
agentguard models --task payment-approval
|
|
69
|
+
agentguard demo --emit-receipt-json ./demo-receipt.json
|
|
67
70
|
agentguard verify --trace latest
|
|
68
|
-
agentguard explain latest
|
|
69
|
-
agentguard telemetry status
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
verify: https://agentguard.run/verify
|
|
73
|
+
docs: https://agentguard.run
|
|
73
74
|
`;
|
|
74
75
|
async function main(argv = process.argv.slice(2)) {
|
|
75
76
|
if (argv.length === 0 || ['-h', '--help', 'help'].includes(argv[0])) {
|
|
76
|
-
|
|
77
|
+
console.log((0, colors_1.banner)(index_1.AGENTGUARD_SPEND_VERSION));
|
|
78
|
+
process.stdout.write('\n' + HELP);
|
|
77
79
|
return 0;
|
|
78
80
|
}
|
|
79
81
|
if (['-v', '--version', 'version'].includes(argv[0])) {
|
|
80
82
|
console.log(`agentguard ${index_1.AGENTGUARD_SPEND_VERSION}`);
|
|
81
83
|
return 0;
|
|
82
84
|
}
|
|
85
|
+
const showTips = argv.includes('--tips');
|
|
83
86
|
const command = argv[0];
|
|
84
|
-
const rest = argv.slice(1);
|
|
87
|
+
const rest = argv.slice(1).filter((arg) => arg !== '--tips');
|
|
88
|
+
if (command !== 'tips') {
|
|
89
|
+
const { maybeShowStartupTips } = await Promise.resolve().then(() => __importStar(require('./tips')));
|
|
90
|
+
maybeShowStartupTips(showTips);
|
|
91
|
+
}
|
|
92
|
+
if (command === 'coach') {
|
|
93
|
+
const { runCoach } = await Promise.resolve().then(() => __importStar(require('./coach')));
|
|
94
|
+
return runCoach(rest);
|
|
95
|
+
}
|
|
96
|
+
if (command === 'wizard') {
|
|
97
|
+
const { runWizard } = await Promise.resolve().then(() => __importStar(require('./wizard')));
|
|
98
|
+
return runWizard(rest);
|
|
99
|
+
}
|
|
100
|
+
if (command === 'models') {
|
|
101
|
+
const { runModels } = await Promise.resolve().then(() => __importStar(require('./models')));
|
|
102
|
+
return runModels(rest);
|
|
103
|
+
}
|
|
104
|
+
if (command === 'auth') {
|
|
105
|
+
const { runAuth } = await Promise.resolve().then(() => __importStar(require('./auth')));
|
|
106
|
+
return runAuth(rest);
|
|
107
|
+
}
|
|
108
|
+
if (command === 'tips') {
|
|
109
|
+
const { runTips } = await Promise.resolve().then(() => __importStar(require('./tips')));
|
|
110
|
+
return runTips(rest);
|
|
111
|
+
}
|
|
85
112
|
if (command === 'demo') {
|
|
86
113
|
const { runDemo } = await Promise.resolve().then(() => __importStar(require('./demo')));
|
|
87
114
|
return runDemo(rest);
|
|
@@ -114,7 +141,6 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
114
141
|
process.stderr.write(HELP);
|
|
115
142
|
return 2;
|
|
116
143
|
}
|
|
117
|
-
// Allow `node dist/cli/main.js demo` directly
|
|
118
144
|
if (require.main === module) {
|
|
119
145
|
main().then((code) => process.exit(code), (err) => {
|
|
120
146
|
console.error(err);
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|