pluribus-context 0.3.20 → 0.3.22
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
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.22 - 2026-05-19
|
|
4
|
+
|
|
5
|
+
- Extended `pluribus audit --fidelity-report` with `loadEvidence` receipts so reviewers can see whether generated context is expected to enter through native file discovery or a generic agent fallback.
|
|
6
|
+
- Added explicit runtime dedupe uncertainty via `load-dedupe-not-proven` warnings and `runtime-load-dedupe-not-proven` semantic markers, making native-vs-hook-vs-manual duplication an evidence question.
|
|
7
|
+
- Updated the audit JSON schema, community review packet, README shortcut, and portability fidelity docs with `loadedBy`, `effectiveSource`, hook/session-start flags, resume behavior, and dedupe risk.
|
|
8
|
+
|
|
9
|
+
## 0.3.21 - 2026-05-19
|
|
10
|
+
|
|
11
|
+
- Extended `pluribus audit --fidelity-report` with `effectiveContext` evidence so monorepo reviewers can see that built-in targets currently prove repo-root context only, not root→subpath inheritance or path isolation.
|
|
12
|
+
- Added an explicit `effective-context-is-repo-root` warning and `no-path-scope-evidence` semantic marker to avoid treating generated root instruction files as proof of subdirectory behavior.
|
|
13
|
+
- Updated the community review packet and portability fidelity docs to frame monorepo path scope as an evidence question: what context does the agent actually load from `apps/client/`?
|
|
14
|
+
|
|
3
15
|
## 0.3.20 - 2026-05-18
|
|
4
16
|
|
|
5
17
|
- Added a 60-second native-vs-fallback smoke to the community review packet so directory/list reviewers can see Bob native `.bob/rules/*.md` differ from OpenClaw/AGENTS.md generic fallback.
|
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ It shows where instructions keep their semantics, where they are downgraded to a
|
|
|
14
14
|
|
|
15
15
|
It is **not** a persistent memory layer, retrieval system, agent orchestrator, or agent-merging framework. Think `CLAUDE.md`, `.cursorrules`, `copilot-instructions.md`, `AGENTS.md` — one intentional context, multiple generated outputs.
|
|
16
16
|
|
|
17
|
-
**Reviewer shortcut:** evaluating Pluribus for a list, newsletter, package roundup, or tool directory? Use the [Community Review Packet](docs/community-review-packet.md) for copy-paste directory submission fields, safety/removability notes, feedback links, and a disposable 60-second smoke test. If you only run one command, try `npx --yes pluribus-context@latest audit --json --fidelity-report` to see native discovery surfaces, generic fallbacks, manual activation requirements, and semantic differences.
|
|
17
|
+
**Reviewer shortcut:** evaluating Pluribus for a list, newsletter, package roundup, or tool directory? Use the [Community Review Packet](docs/community-review-packet.md) for copy-paste directory submission fields, safety/removability notes, feedback links, and a disposable 60-second smoke test. If you only run one command, try `npx --yes pluribus-context@latest audit --json --fidelity-report` to see native discovery surfaces, generic fallbacks, load evidence, manual activation requirements, effective context scope, and semantic differences.
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -100,14 +100,16 @@ mkdir pluribus-fidelity && cd pluribus-fidelity
|
|
|
100
100
|
npx --yes pluribus-context@latest init --name "Fidelity review" --description "Native vs fallback smoke" --tools bob,openclaw
|
|
101
101
|
npx --yes pluribus-context@latest sync
|
|
102
102
|
npx --yes pluribus-context@latest audit --json --fidelity-report --output fidelity.json
|
|
103
|
-
node -e "const r=require('./fidelity.json'); console.log(r.fidelityReport.targets.map(t => ({ toolId: t.toolId, file: t.files[0], nativeDiscoverySurface: t.nativeDiscoverySurface, genericFallback: t.genericFallback, manualActivationRequired: t.manualActivationRequired })))"
|
|
103
|
+
node -e "const r=require('./fidelity.json'); console.log(r.fidelityReport.targets.map(t => ({ toolId: t.toolId, file: t.files[0], nativeDiscoverySurface: t.nativeDiscoverySurface, genericFallback: t.genericFallback, manualActivationRequired: t.manualActivationRequired, effectiveContextScope: t.effectiveContext?.scope, loadedBy: t.loadEvidence?.loadedBy, dedupeRisk: t.loadEvidence?.dedupeRisk })))"
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
Expected result:
|
|
107
107
|
|
|
108
108
|
- Bob writes `.bob/rules/pluribus.md` and reports `nativeDiscoverySurface: ".bob/rules/*.md"`, `genericFallback: false`, `manualActivationRequired: false`.
|
|
109
109
|
- OpenClaw writes `AGENTS.md` and reports `nativeDiscoverySurface: "AGENTS.md"`, `genericFallback: true`, `manualActivationRequired: false`.
|
|
110
|
-
-
|
|
110
|
+
- Both targets report `effectiveContext.scope: "repo-root"` and `pathScoped: false`; for monorepos this is a warning that subdirectory inheritance/isolation still needs a separate smoke.
|
|
111
|
+
- Both targets include `loadEvidence`: Bob is `loadedBy: "native-file-discovery"`; OpenClaw is `loadedBy: "generic-agent-file"`; both currently report `dedupeRisk: "unknown"` because Pluribus does not prove runtime deduplication across native files, hooks, generated imports, or manual injection.
|
|
112
|
+
- This is the core Pluribus distinction for reviewers: generated file exists is not enough; the report should show whether the target uses native discovery or a generic fallback, how the context is expected to be loaded, and what effective context scope has actually been proven.
|
|
111
113
|
|
|
112
114
|
## Useful links
|
|
113
115
|
|
|
@@ -77,7 +77,7 @@ Pluribus is intentionally narrower than a skill registry or memory layer:
|
|
|
77
77
|
- `pluribus.md` keeps the claim in one reviewed source of truth.
|
|
78
78
|
- `sync --dry-run` previews target-specific outputs before writing files.
|
|
79
79
|
- generated files carry a warning header so manual edits are visible.
|
|
80
|
-
- `audit --json --fidelity-report` gives CI/reviewers a machine-readable check for missing/drifted outputs plus target-by-target section loss, activation shape, native discovery surface, resolution anchor, generic fallback status, and portability warnings.
|
|
80
|
+
- `audit --json --fidelity-report` gives CI/reviewers a machine-readable check for missing/drifted outputs plus target-by-target section loss, activation shape, native discovery surface, resolution anchor, generic fallback status, load evidence, effective context scope, and portability warnings.
|
|
81
81
|
- remote imports are opt-in, locked, cached, and digest-checked before becoming shared context.
|
|
82
82
|
|
|
83
83
|
That does **not** prove runtime behavior. You still need tool-specific smoke tests for load order, path/glob activation, available tools, MCP servers, and permission semantics.
|
|
@@ -90,9 +90,11 @@ For each selected target, the JSON report includes:
|
|
|
90
90
|
- `resolutionAnchor` — where the generated surface is resolved from today (`repo-root` for built-in targets).
|
|
91
91
|
- `genericFallback` — whether the output is a broad agent fallback surface rather than a target-specific native surface.
|
|
92
92
|
- `manualActivationRequired` — whether Pluribus knows the output requires manual activation after generation. Built-in project-wide targets are currently `false`; future scoped/skill targets may differ.
|
|
93
|
-
- `
|
|
93
|
+
- `loadEvidence` — how the generated context is expected to enter the agent session. Built-in targets currently report `loadedBy` (`native-file-discovery` or `generic-agent-file`), `effectiveSource`, `deliveryMechanism`, `hookInstalled: false`, `injectedOnSessionStart: false`, `resumeBehavior: not-proven`, and `dedupeRisk: unknown`; this makes native-vs-hook-vs-manual duplication an explicit evidence question instead of an assumption.
|
|
94
|
+
- `effectiveContext` — what Pluribus can prove about the context a target receives. Built-in targets currently report `scope: repo-root`, `pathScoped: false`, `inheritance: none-modeled`, `overrideBehavior: none-modeled`, plus the inferred `loadedBy` and `effectiveSource`; this is explicit evidence that monorepo path inheritance/isolation still needs a separate smoke.
|
|
95
|
+
- `semanticDifference` — a compact list such as `section-loss`, `project-wide-only`, `no-path-scope-evidence`, `generic-agent-file`, or `runtime-load-dedupe-not-proven` so reviewers can distinguish “file exists” from “same behavior is preserved.”
|
|
94
96
|
|
|
95
|
-
These fields are intentionally boring. They help reviewers catch cases like “installed files exist but the agent will not discover them,”
|
|
97
|
+
These fields are intentionally boring. They help reviewers catch cases like “installed files exist but the agent will not discover them,” “a hook injects the same context already loaded natively,” “two targets share a generic file but do not actually have the same loading semantics,” or “root and subfolder instruction files exist but nobody has proven the effective context for `apps/client/`.”
|
|
96
98
|
|
|
97
99
|
## Suggested workflow for maintainers
|
|
98
100
|
|
|
@@ -100,7 +102,9 @@ These fields are intentionally boring. They help reviewers catch cases like “i
|
|
|
100
102
|
2. Generate target outputs with `sync --dry-run` and inspect semantic loss.
|
|
101
103
|
3. Keep target-native instructions when a semantic cannot be represented everywhere.
|
|
102
104
|
4. Commit a small audit artifact (`pluribus audit --json --fidelity-report --output reports/pluribus-audit.json`) when you want CI/review evidence.
|
|
103
|
-
5.
|
|
105
|
+
5. For hook/native/manual mixes, treat `loadEvidence.dedupeRisk: unknown` as a warning, not proof. Add a target-specific receipt for `loadedBy`, `hookInstalled`, `injectedOnSessionStart`, and resume behavior before claiming deduplication.
|
|
106
|
+
6. For monorepos, treat `effectiveContext.scope: repo-root` as a warning, not proof. Add a target-specific smoke for the path you care about, for example `apps/client/` should load root + client context but not `apps/auth/` rules.
|
|
107
|
+
7. Update the claim whenever a new target is added, a tool changes capability names, a subdirectory context is introduced, a hook/manual injection path changes, or a permission/security default changes.
|
|
104
108
|
|
|
105
109
|
## Feedback wanted
|
|
106
110
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pluribus-context",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.22",
|
|
4
4
|
"description": "AI context/rules sync and fidelity audit CLI for CLAUDE.md, Claude Code, Cursor rules, Copilot instructions, OpenClaw, Windsurf, Continue, Zed, Bob, and semantic drift.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/caioribeiroclw-pixel/pluribus#readme",
|
|
@@ -129,14 +129,37 @@
|
|
|
129
129
|
},
|
|
130
130
|
"fidelityTarget": {
|
|
131
131
|
"type": "object",
|
|
132
|
-
"required": [
|
|
132
|
+
"required": [
|
|
133
|
+
"toolId",
|
|
134
|
+
"files",
|
|
135
|
+
"nativeDiscoverySurface",
|
|
136
|
+
"resolutionAnchor",
|
|
137
|
+
"genericFallback",
|
|
138
|
+
"manualActivationRequired",
|
|
139
|
+
"activation",
|
|
140
|
+
"loadEvidence",
|
|
141
|
+
"effectiveContext",
|
|
142
|
+
"semanticDifference",
|
|
143
|
+
"representedSections",
|
|
144
|
+
"unsupportedSections"
|
|
145
|
+
],
|
|
133
146
|
"properties": {
|
|
134
147
|
"toolId": { "type": "string" },
|
|
135
148
|
"files": {
|
|
136
149
|
"type": "array",
|
|
137
150
|
"items": { "type": "string" }
|
|
138
151
|
},
|
|
152
|
+
"nativeDiscoverySurface": { "type": ["string", "null"] },
|
|
153
|
+
"resolutionAnchor": { "type": "string" },
|
|
154
|
+
"genericFallback": { "type": "boolean" },
|
|
155
|
+
"manualActivationRequired": { "type": "boolean" },
|
|
139
156
|
"activation": { "$ref": "#/$defs/fidelityActivation" },
|
|
157
|
+
"loadEvidence": { "$ref": "#/$defs/loadEvidence" },
|
|
158
|
+
"effectiveContext": { "$ref": "#/$defs/effectiveContext" },
|
|
159
|
+
"semanticDifference": {
|
|
160
|
+
"type": "array",
|
|
161
|
+
"items": { "type": "string" }
|
|
162
|
+
},
|
|
140
163
|
"representedSections": {
|
|
141
164
|
"type": "array",
|
|
142
165
|
"items": { "type": "string" }
|
|
@@ -148,6 +171,70 @@
|
|
|
148
171
|
},
|
|
149
172
|
"additionalProperties": false
|
|
150
173
|
},
|
|
174
|
+
"loadEvidence": {
|
|
175
|
+
"type": "object",
|
|
176
|
+
"required": [
|
|
177
|
+
"loadedBy",
|
|
178
|
+
"effectiveSource",
|
|
179
|
+
"deliveryPath",
|
|
180
|
+
"deliveryMechanism",
|
|
181
|
+
"hookInstalled",
|
|
182
|
+
"injectedOnSessionStart",
|
|
183
|
+
"manualInjectionRequired",
|
|
184
|
+
"resumeBehavior",
|
|
185
|
+
"dedupeKey",
|
|
186
|
+
"dedupeRisk",
|
|
187
|
+
"evidence",
|
|
188
|
+
"note"
|
|
189
|
+
],
|
|
190
|
+
"properties": {
|
|
191
|
+
"loadedBy": { "type": "string" },
|
|
192
|
+
"effectiveSource": { "type": ["string", "null"] },
|
|
193
|
+
"deliveryPath": { "type": ["string", "null"] },
|
|
194
|
+
"deliveryMechanism": { "type": "string" },
|
|
195
|
+
"hookInstalled": { "type": "boolean" },
|
|
196
|
+
"injectedOnSessionStart": { "type": "boolean" },
|
|
197
|
+
"manualInjectionRequired": { "type": "boolean" },
|
|
198
|
+
"resumeBehavior": { "type": "string" },
|
|
199
|
+
"dedupeKey": { "type": "string" },
|
|
200
|
+
"dedupeRisk": { "type": "string" },
|
|
201
|
+
"evidence": {
|
|
202
|
+
"type": "array",
|
|
203
|
+
"items": { "type": "string" }
|
|
204
|
+
},
|
|
205
|
+
"note": { "type": "string" }
|
|
206
|
+
},
|
|
207
|
+
"additionalProperties": false
|
|
208
|
+
},
|
|
209
|
+
"effectiveContext": {
|
|
210
|
+
"type": "object",
|
|
211
|
+
"required": [
|
|
212
|
+
"scope",
|
|
213
|
+
"pathScoped",
|
|
214
|
+
"inheritance",
|
|
215
|
+
"overrideBehavior",
|
|
216
|
+
"isolationEvidence",
|
|
217
|
+
"entrypoints",
|
|
218
|
+
"loadedBy",
|
|
219
|
+
"effectiveSource",
|
|
220
|
+
"note"
|
|
221
|
+
],
|
|
222
|
+
"properties": {
|
|
223
|
+
"scope": { "type": "string" },
|
|
224
|
+
"pathScoped": { "type": "boolean" },
|
|
225
|
+
"inheritance": { "type": "string" },
|
|
226
|
+
"overrideBehavior": { "type": "string" },
|
|
227
|
+
"isolationEvidence": { "type": "string" },
|
|
228
|
+
"entrypoints": {
|
|
229
|
+
"type": "array",
|
|
230
|
+
"items": { "type": "string" }
|
|
231
|
+
},
|
|
232
|
+
"loadedBy": { "type": "string" },
|
|
233
|
+
"effectiveSource": { "type": ["string", "null"] },
|
|
234
|
+
"note": { "type": "string" }
|
|
235
|
+
},
|
|
236
|
+
"additionalProperties": false
|
|
237
|
+
},
|
|
151
238
|
"fidelityActivation": {
|
|
152
239
|
"type": "object",
|
|
153
240
|
"required": ["kind", "evidence"],
|
package/src/commands/audit.js
CHANGED
|
@@ -294,6 +294,9 @@ function buildFidelityReport({ cwd, sections, tools, loadSkill }) {
|
|
|
294
294
|
const discovery = inferDiscovery(toolId, outputFiles)
|
|
295
295
|
const represented = presentSections.filter((name) => representedSections.has(name.toLowerCase()))
|
|
296
296
|
|
|
297
|
+
const loadEvidence = inferLoadEvidence(toolId, outputFiles, discovery, activation)
|
|
298
|
+
const effectiveContext = inferEffectiveContext(toolId, outputFiles, loadEvidence)
|
|
299
|
+
|
|
297
300
|
return {
|
|
298
301
|
toolId,
|
|
299
302
|
files: outputFiles,
|
|
@@ -302,7 +305,9 @@ function buildFidelityReport({ cwd, sections, tools, loadSkill }) {
|
|
|
302
305
|
genericFallback: discovery.genericFallback,
|
|
303
306
|
manualActivationRequired: discovery.manualActivationRequired,
|
|
304
307
|
activation,
|
|
305
|
-
|
|
308
|
+
loadEvidence,
|
|
309
|
+
effectiveContext,
|
|
310
|
+
semanticDifference: summarizeSemanticDifference({ unsupportedSections, activation, discovery, effectiveContext, loadEvidence }),
|
|
306
311
|
representedSections: represented,
|
|
307
312
|
unsupportedSections,
|
|
308
313
|
}
|
|
@@ -327,6 +332,22 @@ function buildFidelityReport({ cwd, sections, tools, loadSkill }) {
|
|
|
327
332
|
})
|
|
328
333
|
}
|
|
329
334
|
|
|
335
|
+
if (targets.some((target) => target.effectiveContext?.scope === 'repo-root')) {
|
|
336
|
+
warnings.push({
|
|
337
|
+
code: 'effective-context-is-repo-root',
|
|
338
|
+
target: '*',
|
|
339
|
+
message: 'Effective context evidence is repo-root only; Pluribus does not currently prove root→subpath inheritance, overrides, or path isolation for monorepos.',
|
|
340
|
+
})
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
if (targets.some((target) => target.loadEvidence?.dedupeRisk === 'unknown')) {
|
|
344
|
+
warnings.push({
|
|
345
|
+
code: 'load-dedupe-not-proven',
|
|
346
|
+
target: '*',
|
|
347
|
+
message: 'Load evidence records the expected delivery path, but Pluribus does not currently prove runtime deduplication across native files, hooks, generated imports, or manual injection.',
|
|
348
|
+
})
|
|
349
|
+
}
|
|
350
|
+
|
|
330
351
|
const advancedSections = ['workflow', 'context', 'examples', 'anti-patterns'].filter((name) => lowerPresentSections.has(name))
|
|
331
352
|
if (advancedSections.length > 0 && warnings.some((warning) => warning.code === 'section-not-rendered-by-target')) {
|
|
332
353
|
warnings.push({
|
|
@@ -387,7 +408,41 @@ function inferDiscovery(toolId, outputFiles) {
|
|
|
387
408
|
}
|
|
388
409
|
}
|
|
389
410
|
|
|
390
|
-
function
|
|
411
|
+
function inferLoadEvidence(toolId, outputFiles, discovery, activation) {
|
|
412
|
+
const primaryFile = outputFiles[0] || null
|
|
413
|
+
const loadedBy = discovery.genericFallback ? 'generic-agent-file' : 'native-file-discovery'
|
|
414
|
+
|
|
415
|
+
return {
|
|
416
|
+
loadedBy,
|
|
417
|
+
effectiveSource: primaryFile,
|
|
418
|
+
deliveryPath: primaryFile,
|
|
419
|
+
deliveryMechanism: discovery.genericFallback ? 'generated-generic-fallback' : 'generated-native-surface',
|
|
420
|
+
hookInstalled: false,
|
|
421
|
+
injectedOnSessionStart: false,
|
|
422
|
+
manualInjectionRequired: discovery.manualActivationRequired,
|
|
423
|
+
resumeBehavior: 'not-proven',
|
|
424
|
+
dedupeKey: primaryFile ? `${toolId}:${loadedBy}:${primaryFile}` : `${toolId}:${loadedBy}:unknown`,
|
|
425
|
+
dedupeRisk: 'unknown',
|
|
426
|
+
evidence: outputFiles,
|
|
427
|
+
note: `${toolId} load path is inferred from generated files and known discovery surfaces; verify runtime loading/deduplication in the target agent when hooks, imports, or manual injection are also used.`,
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
function inferEffectiveContext(toolId, outputFiles, loadEvidence) {
|
|
432
|
+
return {
|
|
433
|
+
scope: 'repo-root',
|
|
434
|
+
pathScoped: false,
|
|
435
|
+
inheritance: 'none-modeled',
|
|
436
|
+
overrideBehavior: 'none-modeled',
|
|
437
|
+
isolationEvidence: 'not-modeled',
|
|
438
|
+
entrypoints: outputFiles,
|
|
439
|
+
loadedBy: loadEvidence.loadedBy,
|
|
440
|
+
effectiveSource: loadEvidence.effectiveSource,
|
|
441
|
+
note: `${toolId} output is audited as repo-root context only; verify subdirectory load order separately in monorepos.`,
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
function summarizeSemanticDifference({ unsupportedSections, activation, discovery, effectiveContext, loadEvidence }) {
|
|
391
446
|
const differences = []
|
|
392
447
|
|
|
393
448
|
if (unsupportedSections.length > 0) {
|
|
@@ -398,6 +453,10 @@ function summarizeSemanticDifference({ unsupportedSections, activation, discover
|
|
|
398
453
|
differences.push('project-wide-only')
|
|
399
454
|
}
|
|
400
455
|
|
|
456
|
+
if (effectiveContext?.pathScoped === false) {
|
|
457
|
+
differences.push('no-path-scope-evidence')
|
|
458
|
+
}
|
|
459
|
+
|
|
401
460
|
if (discovery.genericFallback) {
|
|
402
461
|
differences.push('generic-agent-file')
|
|
403
462
|
}
|
|
@@ -406,6 +465,10 @@ function summarizeSemanticDifference({ unsupportedSections, activation, discover
|
|
|
406
465
|
differences.push('manual-activation-required')
|
|
407
466
|
}
|
|
408
467
|
|
|
468
|
+
if (loadEvidence?.dedupeRisk === 'unknown') {
|
|
469
|
+
differences.push('runtime-load-dedupe-not-proven')
|
|
470
|
+
}
|
|
471
|
+
|
|
409
472
|
return differences.length > 0 ? differences : ['no-known-template-loss']
|
|
410
473
|
}
|
|
411
474
|
|
|
@@ -422,10 +485,16 @@ function printFidelityReport(report) {
|
|
|
422
485
|
const discovery = target.nativeDiscoverySurface
|
|
423
486
|
? `; surface: ${target.nativeDiscoverySurface}`
|
|
424
487
|
: ''
|
|
488
|
+
const scope = target.effectiveContext?.scope
|
|
489
|
+
? `; effective context: ${target.effectiveContext.scope}`
|
|
490
|
+
: ''
|
|
491
|
+
const loadedBy = target.loadEvidence?.loadedBy
|
|
492
|
+
? `; loaded by: ${target.loadEvidence.loadedBy}`
|
|
493
|
+
: ''
|
|
425
494
|
const semantics = target.semanticDifference?.length
|
|
426
495
|
? `; semantic: ${target.semanticDifference.join(', ')}`
|
|
427
496
|
: ''
|
|
428
|
-
console.log(` • ${target.toolId}: ${target.activation.kind}${discovery}${unsupported}${semantics}`)
|
|
497
|
+
console.log(` • ${target.toolId}: ${target.activation.kind}${discovery}${scope}${loadedBy}${unsupported}${semantics}`)
|
|
429
498
|
}
|
|
430
499
|
|
|
431
500
|
for (const warning of report.warnings) {
|
package/src/utils/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.3.
|
|
1
|
+
export const VERSION = '0.3.22'
|