agentfootprint 6.26.0 → 6.26.1
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
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
|
|
2
|
+
|
|
3
|
+
<h1 align="center">Agentfootprint</h1>
|
|
4
|
+
|
|
2
5
|
<p align="center">
|
|
3
|
-
<
|
|
4
|
-
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/hero-dark.svg">
|
|
5
|
-
<source media="(prefers-color-scheme: light)" srcset="docs/assets/hero-light.svg">
|
|
6
|
-
<img alt="agentfootprint mascot composing context flavors (Skills, Steering, Guardrails, RAG, Tool APIs, Memory) into three structured LLM slots (system, messages, tools) — the central abstraction, visualized." src="docs/assets/hero-light.svg" width="100%"/>
|
|
7
|
-
</picture>
|
|
6
|
+
<strong>Your agent picked the wrong tool, gave a wrong answer — and the logs can't tell you why.<br/>Agentfootprint can.</strong>
|
|
8
7
|
</p>
|
|
9
8
|
|
|
10
|
-
<
|
|
9
|
+
<p align="center">
|
|
10
|
+
The explainable agent framework: every read, write, decision, and tool call becomes
|
|
11
|
+
<strong>connected evidence</strong> as your agent runs. When something goes wrong, you don't grep logs — you ask.
|
|
12
|
+
</p>
|
|
11
13
|
|
|
12
14
|
<p align="center">
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
+
<a href="https://footprintjs.github.io/agentThinkingUI/">
|
|
16
|
+
<img src="docs/assets/hero-atui.png" alt="An agent run replayed in AgentThinkingUI — the LLM 'brain' calls the Flight-search tool, the step inspector shows the tool's raw output and the brain's reasoning about it, and the timeline scrubs every step of the run." width="100%">
|
|
17
|
+
</a>
|
|
18
|
+
</p>
|
|
19
|
+
<p align="center">
|
|
20
|
+
<sub>A real run, replayed — rendered with <a href="https://github.com/footprintjs/agentThinkingUI"><b>AgentThinkingUI</b></a> (<code>npm i agentthinkingui</code>). Every frame is generated from the run's own trace; <a href="https://footprintjs.github.io/agentThinkingUI/">▶ watch it live</a>.</sub>
|
|
15
21
|
</p>
|
|
16
22
|
|
|
17
23
|
<p align="center">
|
|
@@ -26,7 +32,176 @@
|
|
|
26
32
|
|
|
27
33
|
---
|
|
28
34
|
|
|
29
|
-
##
|
|
35
|
+
## The new error class
|
|
36
|
+
|
|
37
|
+
For decades, software had two kinds of errors — and developers never needed deep
|
|
38
|
+
domain knowledge to fix either:
|
|
39
|
+
|
|
40
|
+
| Error class | Where the bug lives | How you find it |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| **Infrastructure** — crash, timeout, 500 | the system | infra logs, monitoring |
|
|
43
|
+
| **Business logic** — wrong branch, wrong math | the code | stack trace, debugger, `console.log` |
|
|
44
|
+
| **Contextual** — wrong tool chosen, wrong fact believed, stale memory trusted | **what the model was given** | **nothing. Until now.** |
|
|
45
|
+
|
|
46
|
+
Agents introduced the third class. The code is correct, the infra is healthy — and
|
|
47
|
+
the run is still wrong, because two tool descriptions read alike, or an injected
|
|
48
|
+
fact was misleading, or memory carried last week's truth. Classical logs can't
|
|
49
|
+
explain it: **they record what the code did, never what the context did.**
|
|
50
|
+
|
|
51
|
+
## The idea
|
|
52
|
+
|
|
53
|
+
If contextual errors live in what the model was given, then the run itself must be
|
|
54
|
+
structured so context is **evidence** — every injection, read, write, decision, and
|
|
55
|
+
tool call recorded *connected*, the moment it happens. Not logs you grep. Evidence
|
|
56
|
+
you ask.
|
|
57
|
+
|
|
58
|
+
## How — we abstract context engineering
|
|
59
|
+
|
|
60
|
+
Every piece of context enters the LLM through one of **3 slots** (`system` ·
|
|
61
|
+
`messages` · `tools`), under one of **4 triggers** — skills, steering, RAG, facts,
|
|
62
|
+
memory, guardrails are all the same move: `Injection = slot × trigger × cache`.
|
|
63
|
+
|
|
64
|
+
**Because the framework owns that injection point, every piece of context is born
|
|
65
|
+
tracked.** Tracking isn't an add-on you wire up — it's a consequence of the
|
|
66
|
+
abstraction. [The full model ↓](#the-model--what-we-abstract)
|
|
67
|
+
|
|
68
|
+
<p align="center">
|
|
69
|
+
<picture>
|
|
70
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/hero-dark.svg">
|
|
71
|
+
<source media="(prefers-color-scheme: light)" srcset="docs/assets/hero-light.svg">
|
|
72
|
+
<img alt="agentfootprint mascot composing context flavors (Skills, Steering, Guardrails, RAG, Tool APIs, Memory) into three structured LLM slots (system, messages, tools) — the central abstraction, visualized." src="docs/assets/hero-light.svg" width="100%"/>
|
|
73
|
+
</picture>
|
|
74
|
+
</p>
|
|
75
|
+
|
|
76
|
+
## What tracking buys you
|
|
77
|
+
|
|
78
|
+
**See it in 30 seconds** — four questions logs can't answer, each answered by code in this repo from a real run:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
Q: Why did the model pick refund_full instead of refund_partial?
|
|
82
|
+
A: margin 0.02 — ⚠ NARROW: the two tool descriptions read nearly identical
|
|
83
|
+
(toolChoiceRecorder — and the catalog lint flags the pair before you ever run)
|
|
84
|
+
|
|
85
|
+
Q: Why was this loan declined?
|
|
86
|
+
A: decision ← [control: "DTI above the 0.43 affordability ceiling"] ← dti 0.52 ← monthlyDebt / income
|
|
87
|
+
(decide() evidence + the causal slice — every hop is a real recorded edge)
|
|
88
|
+
|
|
89
|
+
Q: Which piece of context made the answer wrong?
|
|
90
|
+
A: CAUSAL: ablating fact 'vip-override' flipped the outcome in 3/3 seeded reruns
|
|
91
|
+
(localizeContextBug — ranked proxies, counterfactual proof)
|
|
92
|
+
|
|
93
|
+
Q: Prove nobody edited this run's record.
|
|
94
|
+
A: verifyAuditBundle → valid: false, brokenAt: #16 — the tampered record, named
|
|
95
|
+
(hash-chained audit export, offline verification)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
And you don't have to read the trace yourself — **we provide the tools for an LLM to track it for you**: the trace toolpack let a debugger model find a planted bug while reading **9.5% of the trace** ([guide](docs/guides/trace-debugging.md)).
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Pick your door
|
|
103
|
+
|
|
104
|
+
| 🔧 Building an agent? | 🐛 Agent misbehaving? | 🏛️ Need audit / compliance? |
|
|
105
|
+
|---|---|---|
|
|
106
|
+
| Typed agents with skills, steering, RAG, memory, guardrails — and the trace for free. | Lint your tool catalog in 5 minutes — works on **any** framework's tool list (plain JSON / MCP / OpenAI / Anthropic shapes). Then causal slices, context bisection, and the debugger-LLM toolpack. | Hash-chained, tamper-evident run records with an offline verifier — record-keeping in the EU-AI-Act shape. |
|
|
107
|
+
| [→ Quick start](#quick-start--runs-offline-no-api-key) | [→ Tool-catalog lint](docs/guides/tool-catalog-lint.md) · [→ Trace debugging](docs/guides/trace-debugging.md) | [→ Tamper-evident audit](docs/guides/security.md) |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Quick start — runs offline, no API key
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm install agentfootprint footprintjs
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
import { Agent, defineTool, mock } from 'agentfootprint';
|
|
119
|
+
|
|
120
|
+
const weather = defineTool({
|
|
121
|
+
name: 'weather',
|
|
122
|
+
description: 'Get current weather for a city.',
|
|
123
|
+
inputSchema: {
|
|
124
|
+
type: 'object',
|
|
125
|
+
properties: { city: { type: 'string' } },
|
|
126
|
+
required: ['city'],
|
|
127
|
+
},
|
|
128
|
+
execute: async ({ city }: { city: string }) => `${city}: 72°F, sunny`,
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
const agent = Agent.create({
|
|
132
|
+
provider: mock({ reply: 'I checked: it is 72°F and sunny.' }),
|
|
133
|
+
model: 'mock',
|
|
134
|
+
})
|
|
135
|
+
.system('You answer weather questions using the weather tool.')
|
|
136
|
+
.tool(weather)
|
|
137
|
+
.build();
|
|
138
|
+
|
|
139
|
+
const result = await agent.run({ message: 'Weather in Paris?' });
|
|
140
|
+
console.log(result); // → "I checked: it is 72°F and sunny."
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
For production, import a real provider from `agentfootprint/llm-providers` and swap it in — `anthropic(...)` / `openai(...)` / `bedrock(...)` / `ollama(...)`. Only the import line changes; the agent code stays the same. (The vendor-SDK providers live on the `agentfootprint/llm-providers` subpath so the main `agentfootprint` barrel stays free of optional peer-dep requires; `mock`, `browserAnthropic`, and `browserOpenai` are on the main barrel.)
|
|
144
|
+
|
|
145
|
+
### Then add context
|
|
146
|
+
|
|
147
|
+
A real agent carries more than one prompt and one tool: facts about the user, always-on rules, skills that unlock on demand. Declare each piece — the framework decides **when** it fires and **which slot** it lands in, and every piece is born tracked:
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
import { defineFact, defineSteering, defineSkill } from 'agentfootprint';
|
|
151
|
+
|
|
152
|
+
const agent = Agent.create({ provider, model })
|
|
153
|
+
.system('You are a support agent.')
|
|
154
|
+
.fact(defineFact({ // data the model should know — always on
|
|
155
|
+
id: 'user-profile',
|
|
156
|
+
data: 'Name: Maya · Plan: Pro · Customer since 2022',
|
|
157
|
+
}))
|
|
158
|
+
.steering(defineSteering({ // rules the model must follow — always on
|
|
159
|
+
id: 'refund-policy',
|
|
160
|
+
prompt: 'Never promise a refund before checking the policy tool.',
|
|
161
|
+
}))
|
|
162
|
+
.skill(defineSkill({ // guidance + tools — unlocks when the LLM asks
|
|
163
|
+
id: 'billing',
|
|
164
|
+
description: 'Use for refunds, charges, billing questions.',
|
|
165
|
+
body: 'When handling billing: confirm identity first, then…',
|
|
166
|
+
tools: [refundTool],
|
|
167
|
+
}))
|
|
168
|
+
.build();
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Same shape for `.instruction()` / `.memory()` / `.rag()` / raw `.injection()` — they're all the one primitive, `Injection = slot × trigger × cache`. [The full model ↓](#the-model--what-we-abstract)
|
|
172
|
+
|
|
173
|
+
### Then compose control flow
|
|
174
|
+
|
|
175
|
+
One agent is a `Runner`. So is every composition of agents — four control-flow primitives, and anything that runs composes into anything else:
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
import { Sequence, Parallel, Conditional } from 'agentfootprint';
|
|
179
|
+
|
|
180
|
+
const pipeline = Sequence.create()
|
|
181
|
+
.step('classify', classifyAgent) // sequence: step → step
|
|
182
|
+
.step('review',
|
|
183
|
+
Parallel.create() // parallel: fan out, then merge
|
|
184
|
+
.branch('legal', legalAgent)
|
|
185
|
+
.branch('ethics', ethicsAgent)
|
|
186
|
+
.mergeWithLLM({ provider, model, prompt: 'Synthesize:' })
|
|
187
|
+
.build())
|
|
188
|
+
.step('respond',
|
|
189
|
+
Conditional.create() // conditional: one branch runs
|
|
190
|
+
.when('urgent', (i) => i.message.startsWith('URGENT'), urgentAgent)
|
|
191
|
+
.otherwise('normal', normalAgent)
|
|
192
|
+
.build())
|
|
193
|
+
.build();
|
|
194
|
+
|
|
195
|
+
await pipeline.run({ message: 'URGENT: refund dispute on order #4411' });
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The fourth primitive is `Loop` — `Loop.repeat(agent).until(guard).times(5)`, with a mandatory budget guard. And the named patterns from the research literature ship pre-composed from the same four: `selfConsistency` · `reflection` · `debate` · `mapReduce` · `tot` · `swarm`. Because every composition is a flowchart, the structure you wrote is the structure you see in the UI — and the trace spans the whole pipeline, not one agent at a time. [Designing systems of agents ↓](#how-do-i-design-my-agent-or-system-of-agents)
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## The model — what we abstract
|
|
203
|
+
|
|
204
|
+
|
|
30
205
|
|
|
31
206
|
When you build an Agentic Application, you collect domain-specific data and instructions, then wire them up based on what your system receives.
|
|
32
207
|
|
|
@@ -70,7 +245,7 @@ That's the whole model: `Injection = slot × trigger × cache`.
|
|
|
70
245
|
|
|
71
246
|
---
|
|
72
247
|
|
|
73
|
-
##
|
|
248
|
+
## Why we chose this abstraction
|
|
74
249
|
|
|
75
250
|
The agent space has many credible primary abstractions:
|
|
76
251
|
|
|
@@ -143,7 +318,7 @@ And a fourth, novel: **the agent can read its own trace.** Six months after the
|
|
|
143
318
|
|
|
144
319
|
---
|
|
145
320
|
|
|
146
|
-
##
|
|
321
|
+
## How do I design my agent or system of agents?
|
|
147
322
|
|
|
148
323
|
Two scales — same alphabet. Four control flows are the entire vocabulary.
|
|
149
324
|
|
|
@@ -305,7 +480,14 @@ Same trick as Beat 1: instead of N libraries for N patterns, we found the M buil
|
|
|
305
480
|
|
|
306
481
|
---
|
|
307
482
|
|
|
308
|
-
##
|
|
483
|
+
## How do I see what my agent did?
|
|
484
|
+
|
|
485
|
+
<p align="center">
|
|
486
|
+
<img src="docs/assets/lens-run.png" alt="A real agent run in the Lens: the conversation (with live PII redaction), the executed path lit on the merge-tree flowchart, the WHAT-HAPPENED timeline of every iteration/context/LLM turn/route, run stats, and the step inspector — all generated from the run's own trace." width="100%">
|
|
487
|
+
</p>
|
|
488
|
+
<p align="center">
|
|
489
|
+
<sub>One real run, fully explained — the <a href="https://github.com/footprintjs/agentfootprint-lens"><b>Lens</b></a> (<code>npm i agentfootprint-lens</code>): conversation · executed path · per-step timeline · stats, every pixel from the trace.</sub>
|
|
490
|
+
</p>
|
|
309
491
|
|
|
310
492
|
Because we own the loop (Beat 2), every decision and execution is captured during traversal — not bolted on. The default capture is the **causal trace**: every stage, read, write, and decision evidence, as a JSON-portable, scrubbable, queryable, exportable artifact. Beyond the default, wire custom recorders for cost, latency, or quality scoring — any observation hook fires on the same stream.
|
|
311
493
|
|
|
@@ -427,42 +609,6 @@ off the hot path.
|
|
|
427
609
|
|
|
428
610
|
---
|
|
429
611
|
|
|
430
|
-
## Quick start — runs offline, no API key
|
|
431
|
-
|
|
432
|
-
```bash
|
|
433
|
-
npm install agentfootprint footprintjs
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
```typescript
|
|
437
|
-
import { Agent, defineTool, mock } from 'agentfootprint';
|
|
438
|
-
|
|
439
|
-
const weather = defineTool({
|
|
440
|
-
name: 'weather',
|
|
441
|
-
description: 'Get current weather for a city.',
|
|
442
|
-
inputSchema: {
|
|
443
|
-
type: 'object',
|
|
444
|
-
properties: { city: { type: 'string' } },
|
|
445
|
-
required: ['city'],
|
|
446
|
-
},
|
|
447
|
-
execute: async ({ city }: { city: string }) => `${city}: 72°F, sunny`,
|
|
448
|
-
});
|
|
449
|
-
|
|
450
|
-
const agent = Agent.create({
|
|
451
|
-
provider: mock({ reply: 'I checked: it is 72°F and sunny.' }),
|
|
452
|
-
model: 'mock',
|
|
453
|
-
})
|
|
454
|
-
.system('You answer weather questions using the weather tool.')
|
|
455
|
-
.tool(weather)
|
|
456
|
-
.build();
|
|
457
|
-
|
|
458
|
-
const result = await agent.run({ message: 'Weather in Paris?' });
|
|
459
|
-
console.log(result); // → "I checked: it is 72°F and sunny."
|
|
460
|
-
```
|
|
461
|
-
|
|
462
|
-
For production, import a real provider from `agentfootprint/llm-providers` and swap it in — `anthropic(...)` / `openai(...)` / `bedrock(...)` / `ollama(...)`. Only the import line changes; the agent code stays the same. (The vendor-SDK providers live on the `agentfootprint/llm-providers` subpath so the main `agentfootprint` barrel stays free of optional peer-dep requires; `mock`, `browserAnthropic`, and `browserOpenai` are on the main barrel.)
|
|
463
|
-
|
|
464
|
-
---
|
|
465
|
-
|
|
466
612
|
## Mocks first, production second
|
|
467
613
|
|
|
468
614
|
Build the entire app against in-memory mocks with **zero API cost**, then swap real infrastructure one boundary at a time.
|
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
* embedder gating, use `analyzeToolCatalog` from
|
|
26
26
|
* `agentfootprint/observe` in a small script instead.
|
|
27
27
|
*/
|
|
28
|
-
import { readFile } from 'node:fs/promises';
|
|
29
28
|
import { mockEmbedder } from '../../memory/embedding/mockEmbedder.js';
|
|
30
29
|
import { analyzeToolCatalog, MOCK_EMBEDDER_CALIBRATION } from './analyze.js';
|
|
31
30
|
import { formatToolCatalogReport } from './format.js';
|
|
@@ -159,6 +158,12 @@ export async function runToolLintCli(argv, io = {
|
|
|
159
158
|
}
|
|
160
159
|
let catalog;
|
|
161
160
|
try {
|
|
161
|
+
// Lazy node:fs import (browser-compat): `agentfootprint/observe`
|
|
162
|
+
// re-exports this module, and a TOP-LEVEL node:fs/promises import
|
|
163
|
+
// detonates any browser bundle at module-eval (found by the
|
|
164
|
+
// agent-playground; same lazy-gating pattern as audit's node:crypto).
|
|
165
|
+
// The CLI path is the only consumer that touches the filesystem.
|
|
166
|
+
const { readFile } = await import('node:fs/promises');
|
|
162
167
|
catalog = coerceCatalog(JSON.parse(await readFile(args.file, 'utf8')));
|
|
163
168
|
}
|
|
164
169
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/lib/tool-lint/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/lib/tool-lint/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,9 +26,31 @@
|
|
|
26
26
|
* embedder gating, use `analyzeToolCatalog` from
|
|
27
27
|
* `agentfootprint/observe` in a small script instead.
|
|
28
28
|
*/
|
|
29
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
30
|
+
if (k2 === undefined) k2 = k;
|
|
31
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
32
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
33
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
34
|
+
}
|
|
35
|
+
Object.defineProperty(o, k2, desc);
|
|
36
|
+
}) : (function(o, m, k, k2) {
|
|
37
|
+
if (k2 === undefined) k2 = k;
|
|
38
|
+
o[k2] = m[k];
|
|
39
|
+
}));
|
|
40
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
41
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
42
|
+
}) : function(o, v) {
|
|
43
|
+
o["default"] = v;
|
|
44
|
+
});
|
|
45
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
46
|
+
if (mod && mod.__esModule) return mod;
|
|
47
|
+
var result = {};
|
|
48
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
49
|
+
__setModuleDefault(result, mod);
|
|
50
|
+
return result;
|
|
51
|
+
};
|
|
29
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
53
|
exports.runToolLintCli = exports.coerceCatalog = void 0;
|
|
31
|
-
const promises_1 = require("node:fs/promises");
|
|
32
54
|
const mockEmbedder_js_1 = require("../../memory/embedding/mockEmbedder.js");
|
|
33
55
|
const analyze_js_1 = require("./analyze.js");
|
|
34
56
|
const format_js_1 = require("./format.js");
|
|
@@ -163,7 +185,13 @@ async function runToolLintCli(argv, io = {
|
|
|
163
185
|
}
|
|
164
186
|
let catalog;
|
|
165
187
|
try {
|
|
166
|
-
|
|
188
|
+
// Lazy node:fs import (browser-compat): `agentfootprint/observe`
|
|
189
|
+
// re-exports this module, and a TOP-LEVEL node:fs/promises import
|
|
190
|
+
// detonates any browser bundle at module-eval (found by the
|
|
191
|
+
// agent-playground; same lazy-gating pattern as audit's node:crypto).
|
|
192
|
+
// The CLI path is the only consumer that touches the filesystem.
|
|
193
|
+
const { readFile } = await Promise.resolve().then(() => __importStar(require('node:fs/promises')));
|
|
194
|
+
catalog = coerceCatalog(JSON.parse(await readFile(args.file, 'utf8')));
|
|
167
195
|
}
|
|
168
196
|
catch (error) {
|
|
169
197
|
io.stderr(`agentfootprint-lint-tools: ${args.file}: ${error.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/lib/tool-lint/cli.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/lib/tool-lint/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/lib/tool-lint/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/lib/tool-lint/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAqBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,WAAW,EAAE,CAuCnE;AAmDD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,aAKH,GACA,OAAO,CAAC,MAAM,CAAC,CAwDjB"}
|
package/package.json
CHANGED