@kujolang/paperclip 0.1.6 → 0.1.7
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 +11 -0
- package/README.md +85 -39
- package/VERSION +1 -1
- package/dist/manifest.js +1 -1
- package/dist/worker.js +1 -1
- package/docs/COMPATIBILITY.md +1 -1
- package/docs/INSTALLATION.md +6 -0
- package/docs/MAINTENANCE_HANDOFF.md +36 -10
- package/docs/USAGE.md +3 -3
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.7 - 2026-09-04
|
|
4
|
+
|
|
5
|
+
- Rewrite the README in plain English with a 30-second install path, first-use steps,
|
|
6
|
+
copyable agent requests, and clear compatibility notes.
|
|
7
|
+
- Add monochrome npm and CI badges alongside the standard Kujo version, license, and
|
|
8
|
+
build badges.
|
|
9
|
+
- Correct the documented Context Pack file limits and reject unknown `npm run`
|
|
10
|
+
commands in repository documentation.
|
|
11
|
+
- Upgrade the bundled Kujo runtime to 1.2.3 and refresh the Node and React DOM type
|
|
12
|
+
definitions after full verification.
|
|
13
|
+
|
|
3
14
|
## 0.1.6 - 2026-09-03
|
|
4
15
|
|
|
5
16
|
- Add deterministic Chromium coverage for both Paperclip UI surfaces, all primary
|
package/README.md
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
# Kujo for Paperclip
|
|
2
2
|
|
|
3
|
-
[](https://github.com/kujolang/paperclip/releases/tag/v0.1.7)
|
|
4
|
+
[](https://www.npmjs.com/package/@kujolang/paperclip)
|
|
5
|
+
[](https://github.com/kujolang/paperclip/actions/workflows/ci.yml)
|
|
4
6
|
[](LICENSE)
|
|
5
7
|
[](https://github.com/kujolang/kujo)
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
Kujo helps Paperclip agents choose useful context, review changes, and save clear
|
|
10
|
+
failure evidence. It runs locally inside Paperclip and works in the current task view.
|
|
11
|
+
You do not need the Classic Task Interface.
|
|
8
12
|
|
|
9
|
-
## Install
|
|
13
|
+
## Install in 30 seconds
|
|
10
14
|
|
|
11
15
|
You need Paperclip `2026.824.1` or later and Node.js `24.11.0` or later.
|
|
12
16
|
|
|
@@ -14,48 +18,69 @@ You need Paperclip `2026.824.1` or later and Node.js `24.11.0` or later.
|
|
|
14
18
|
npx paperclipai plugin install @kujolang/paperclip
|
|
15
19
|
```
|
|
16
20
|
|
|
17
|
-
Restart Paperclip if it is already running
|
|
21
|
+
Restart Paperclip if it is already running, then open an issue. The Kujo workspace
|
|
22
|
+
appears in the task view. You can also open the **Kujo** tab on project, issue detail,
|
|
23
|
+
and run pages.
|
|
18
24
|
|
|
19
|
-
The npm package includes the
|
|
25
|
+
The npm package includes the right Kujo runtime for macOS arm64/x64, Linux arm64/x64,
|
|
26
|
+
and Windows x64. You do not need a separate Kujo install or Kujo API key. Installation
|
|
27
|
+
does not run `preinstall`, `install`, or `postinstall` scripts.
|
|
20
28
|
|
|
21
|
-
|
|
29
|
+
Use the package name exactly as shown for now. Current Paperclip releases mishandle a
|
|
30
|
+
scoped package with an exact version suffix. The upstream fix is open in
|
|
31
|
+
[paperclipai/paperclip#12745](https://github.com/paperclipai/paperclip/pull/12745).
|
|
22
32
|
|
|
23
|
-
|
|
33
|
+
See [Installation](docs/INSTALLATION.md) for upgrades, local development installs,
|
|
34
|
+
uninstall behavior, and release checks.
|
|
24
35
|
|
|
25
|
-
|
|
36
|
+
## First use
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
38
|
+
1. Open the Paperclip issue you want to work on.
|
|
39
|
+
2. Generate a focused **Context Pack** before the agent reads the repository broadly.
|
|
40
|
+
3. Make and test the change with the project's normal tools.
|
|
41
|
+
4. Generate a **Review Pack** to inspect scope, risk, and suggested checks.
|
|
42
|
+
5. If a command fails, save its bounded output as **Failure Evidence**.
|
|
30
43
|
|
|
31
|
-
|
|
44
|
+
Kujo stores the latest result in Paperclip plugin state. It does not write reports into
|
|
45
|
+
the project repository.
|
|
46
|
+
|
|
47
|
+
## What Kujo adds
|
|
48
|
+
|
|
49
|
+
| Workflow | What it does | Kujo component |
|
|
50
|
+
| --- | --- | --- |
|
|
51
|
+
| **Context Pack** | Selects a small, task-specific set of files before an agent reads broadly. | Scent |
|
|
52
|
+
| **Review Pack** | Measures change size, explains risk signals, and prepares a review handoff. | ChangeBucket and PatchBrief |
|
|
53
|
+
| **Failure Evidence** | Turns supplied command details and logs into a bounded, redacted record. | CaseFile |
|
|
54
|
+
|
|
55
|
+
The four component snapshots are pinned, checksummed, and shipped with the plugin. The
|
|
56
|
+
plugin does not download component code while installing or running.
|
|
57
|
+
|
|
58
|
+
## Agent tools
|
|
59
|
+
|
|
60
|
+
Paperclip agents can call four tools:
|
|
32
61
|
|
|
33
62
|
| Tool | Use |
|
|
34
63
|
| --- | --- |
|
|
35
|
-
| `kujolang.paperclip:
|
|
36
|
-
| `kujolang.paperclip:
|
|
37
|
-
| `kujolang.paperclip:
|
|
38
|
-
| `kujolang.paperclip:
|
|
64
|
+
| `kujolang.paperclip:get-context` | Select files for a task at minimal, focused, or broad depth. |
|
|
65
|
+
| `kujolang.paperclip:get-context-content` | Read safe content from files already selected by a Context Pack. |
|
|
66
|
+
| `kujolang.paperclip:review-changes` | Measure a working tree or Git range and create a review handoff. |
|
|
67
|
+
| `kujolang.paperclip:capture-failure` | Save supplied command output as redacted evidence. It never runs the command. |
|
|
39
68
|
|
|
40
|
-
Example
|
|
69
|
+
Example requests:
|
|
41
70
|
|
|
42
71
|
```text
|
|
43
72
|
Use kujolang.paperclip:get-context with task "trace the OAuth callback" and depth "focused".
|
|
44
|
-
|
|
73
|
+
Read only the selected files needed for the change.
|
|
74
|
+
Use kujolang.paperclip:review-changes after the edit.
|
|
75
|
+
Report suggested tests as suggestions, not completed checks.
|
|
45
76
|
If a check fails, use kujolang.paperclip:capture-failure with the command, exit code, and bounded log.
|
|
46
77
|
```
|
|
47
78
|
|
|
48
|
-
The content tool only
|
|
79
|
+
The content tool reads only files selected by the matching Context Pack. It rejects
|
|
80
|
+
other paths, binary files, oversized files, traversal, and symlink escapes.
|
|
49
81
|
|
|
50
|
-
See [Usage](docs/USAGE.md) for tool inputs, UI actions, artifact fields, and
|
|
51
|
-
|
|
52
|
-
## What it adds
|
|
53
|
-
|
|
54
|
-
- **Review Pack** uses ChangeBucket to measure the change and PatchBrief to explain it.
|
|
55
|
-
- **Failure Evidence** uses CaseFile to turn supplied logs into a reviewable record.
|
|
56
|
-
- **Context Pack** uses Scent to select relevant files before an agent reads broadly.
|
|
57
|
-
|
|
58
|
-
All four component snapshots are pinned, checksummed, and shipped in the package. The plugin does not fetch component code at runtime.
|
|
82
|
+
See [Usage](docs/USAGE.md) for all tool inputs, UI actions, artifact fields, and the
|
|
83
|
+
recommended agent sequence.
|
|
59
84
|
|
|
60
85
|
## Compatibility
|
|
61
86
|
|
|
@@ -63,38 +88,58 @@ All four component snapshots are pinned, checksummed, and shipped in the package
|
|
|
63
88
|
| --- | --- |
|
|
64
89
|
| Paperclip host | `>=2026.824.1` |
|
|
65
90
|
| `@paperclipai/plugin-sdk` | `2026.824.1` |
|
|
66
|
-
| `@kujolang/kujo-runtime` | `1.2.
|
|
91
|
+
| `@kujolang/kujo-runtime` | `1.2.3` |
|
|
67
92
|
| Node.js | `>=24.11.0` |
|
|
68
93
|
|
|
69
|
-
The npm package is `@kujolang/paperclip`. Its Paperclip manifest ID is
|
|
94
|
+
The npm package is `@kujolang/paperclip`. Its Paperclip manifest ID is
|
|
95
|
+
`kujolang.paperclip` because manifest IDs do not accept npm scope syntax.
|
|
96
|
+
|
|
97
|
+
The plugin tests the minimum supported Paperclip SDK and the latest compatible SDK in
|
|
98
|
+
CI. Its manifest temporarily accepts the host's `0.0.0` fallback until Paperclip ships
|
|
99
|
+
the host-version fix in PR #12745; the documented and tested support floor remains
|
|
100
|
+
`2026.824.1`.
|
|
70
101
|
|
|
71
102
|
## Configure
|
|
72
103
|
|
|
73
|
-
Paperclip builds the settings form from the plugin manifest. You can
|
|
104
|
+
Paperclip builds the settings form from the plugin manifest. You can turn each feature
|
|
105
|
+
on or off, set an absolute Kujo binary override, allow or deny `PATH` fallback, and
|
|
106
|
+
change bounded process limits.
|
|
74
107
|
|
|
75
|
-
|
|
108
|
+
The defaults suit normal repositories: a 27-second timeout, 2 MB stdout limit, and
|
|
109
|
+
256 KB stderr limit. The timeout stays below Paperclip's bridge deadline so the worker
|
|
110
|
+
can return a structured result. See [Configuration](docs/CONFIGURATION.md) for every
|
|
111
|
+
setting and limit.
|
|
76
112
|
|
|
77
113
|
## How it runs
|
|
78
114
|
|
|
79
|
-
The worker
|
|
115
|
+
The worker looks for Kujo in this order:
|
|
80
116
|
|
|
81
|
-
1. configured absolute binary;
|
|
82
|
-
2. bundled `@kujolang/kujo-runtime` binary;
|
|
117
|
+
1. a configured absolute binary;
|
|
118
|
+
2. the bundled `@kujolang/kujo-runtime` binary;
|
|
83
119
|
3. an absolute `kujo` found on `PATH`, when allowed;
|
|
84
120
|
4. a structured error with a repair hint.
|
|
85
121
|
|
|
86
|
-
Each child process
|
|
122
|
+
Each child process receives an argument array with `shell: false`, a small environment,
|
|
123
|
+
a canonical Paperclip workspace, a timeout, and output caps. Review and Context Pack
|
|
124
|
+
commands are read-only. Failure Evidence records supplied text and never exposes a
|
|
125
|
+
command runner.
|
|
87
126
|
|
|
88
127
|
## Develop
|
|
89
128
|
|
|
90
129
|
```bash
|
|
91
130
|
npm ci --ignore-scripts
|
|
92
131
|
npm run verify
|
|
132
|
+
npx playwright install chromium
|
|
133
|
+
npm run test:ui
|
|
93
134
|
```
|
|
94
135
|
|
|
95
|
-
`npm run verify`
|
|
136
|
+
`npm run verify` checks repository conventions, types, contracts, hardening,
|
|
137
|
+
real-component behavior, component checksums, dependency integrity, licenses, the
|
|
138
|
+
SBOM, bundles, and the npm tarball. The Playwright suite covers both Paperclip UI
|
|
139
|
+
surfaces, their actions, responsive layouts, accessibility, and approved screenshots.
|
|
96
140
|
|
|
97
|
-
Read [AGENTS.md](AGENTS.md) before agent-assisted changes and
|
|
141
|
+
Read [AGENTS.md](AGENTS.md) before agent-assisted changes and
|
|
142
|
+
[CONTRIBUTING.md](CONTRIBUTING.md) before opening a pull request.
|
|
98
143
|
|
|
99
144
|
## Documentation
|
|
100
145
|
|
|
@@ -114,4 +159,5 @@ Read [AGENTS.md](AGENTS.md) before agent-assisted changes and [CONTRIBUTING.md](
|
|
|
114
159
|
|
|
115
160
|
## License
|
|
116
161
|
|
|
117
|
-
MIT. Bundled Kujo components keep their canonical MIT licenses and recorded
|
|
162
|
+
MIT. Bundled Kujo components keep their canonical MIT licenses and recorded
|
|
163
|
+
provenance.
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.7
|
package/dist/manifest.js
CHANGED
|
@@ -18879,7 +18879,7 @@ var DEFAULT_LIMITS = {
|
|
|
18879
18879
|
maxInputLogBytes: 2e5,
|
|
18880
18880
|
maxContextFileBytes: 2e3
|
|
18881
18881
|
};
|
|
18882
|
-
var PLUGIN_VERSION = "0.1.
|
|
18882
|
+
var PLUGIN_VERSION = "0.1.7";
|
|
18883
18883
|
var MINIMUM_HOST_VERSION = "0.0.0";
|
|
18884
18884
|
|
|
18885
18885
|
// src/config/schema.ts
|
package/dist/worker.js
CHANGED
|
@@ -33062,7 +33062,7 @@ var CONTEXT_BUDGETS = {
|
|
|
33062
33062
|
focused: 16e3,
|
|
33063
33063
|
broad: 4e4
|
|
33064
33064
|
};
|
|
33065
|
-
var PLUGIN_VERSION = "0.1.
|
|
33065
|
+
var PLUGIN_VERSION = "0.1.7";
|
|
33066
33066
|
var PAPERCLIP_API_VERSION = 1;
|
|
33067
33067
|
|
|
33068
33068
|
// src/config/schema.ts
|
package/docs/COMPATIBILITY.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
| --- | --- | --- |
|
|
7
7
|
| Paperclip | `2026.824.1` and later in the current compatibility train | SDK minimum and latest |
|
|
8
8
|
| Node.js | `24.11.0` through the latest Node 24 release | minimum and latest Node 24 |
|
|
9
|
-
| Kujo runtime | bundled `1.2.
|
|
9
|
+
| Kujo runtime | bundled `1.2.3` | five native targets |
|
|
10
10
|
|
|
11
11
|
The plugin supports macOS arm64/x64, Linux arm64/x64, and Windows x64. CI runs the full plugin suite on each target at the minimum Node version. A separate compatibility job tests the minimum and latest Paperclip SDK against the minimum and latest Node 24 release.
|
|
12
12
|
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
npx paperclipai plugin install @kujolang/paperclip
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
Use the package name without an exact version suffix until Paperclip ships
|
|
16
|
+
[paperclipai/paperclip#12745](https://github.com/paperclipai/paperclip/pull/12745).
|
|
17
|
+
Current hosts misparse exact scoped references such as
|
|
18
|
+
`@kujolang/paperclip@0.1.7`; the unversioned command above installs the current npm
|
|
19
|
+
release correctly.
|
|
20
|
+
|
|
15
21
|
Restart Paperclip if it is running. Open an issue and confirm that the Kujo workspace appears in the current task view. On project and run pages, open the **Kujo** tab. No Classic Task Interface setting is required.
|
|
16
22
|
|
|
17
23
|
The package installs `@kujolang/kujo-runtime` and one matching optional native package. Supported targets are macOS arm64/x64, Linux arm64/x64, and Windows x64. No Kujo package uses `preinstall`, `install`, or `postinstall`.
|
|
@@ -5,7 +5,7 @@ Updated September 3, 2026.
|
|
|
5
5
|
## Current state
|
|
6
6
|
|
|
7
7
|
`@kujolang/paperclip` is ready for public use within its documented scope. Version
|
|
8
|
-
`0.1.
|
|
8
|
+
`0.1.7` is published on npm and GitHub. The released plugin:
|
|
9
9
|
|
|
10
10
|
- works in Paperclip's current task view without requiring the Classic Task Interface;
|
|
11
11
|
- provides Review, Context, and Failure Evidence workflows in the inline workspace and
|
|
@@ -20,6 +20,28 @@ No known plugin defect blocks normal public use. The remaining work is upstream
|
|
|
20
20
|
distribution work: the host-version change is waiting on Paperclip maintainers, and
|
|
21
21
|
catalog distribution is not available yet.
|
|
22
22
|
|
|
23
|
+
## Next-agent brief
|
|
24
|
+
|
|
25
|
+
There is no plugin-owned release work waiting. Start with
|
|
26
|
+
[paperclipai/paperclip#12745](https://github.com/paperclipai/paperclip/pull/12745):
|
|
27
|
+
it is open, ready for review, mergeable, and green as of September 3, 2026. Respond to
|
|
28
|
+
maintainer feedback, but do not raise this plugin's manifest minimum while that change
|
|
29
|
+
is absent from a public Paperclip release.
|
|
30
|
+
|
|
31
|
+
After Paperclip publishes the fix:
|
|
32
|
+
|
|
33
|
+
1. verify that `npx paperclipai plugin install @kujolang/paperclip@0.1.7` succeeds;
|
|
34
|
+
2. replace the temporary `MINIMUM_HOST_VERSION = "0.0.0"` value in
|
|
35
|
+
`src/config/defaults.ts` with the real supported floor;
|
|
36
|
+
3. update the compatibility tests and documentation;
|
|
37
|
+
4. run `npm ci --ignore-scripts`, `npm run verify`, `npm run test:ui`, and the
|
|
38
|
+
minimum/latest clean-install matrix; and
|
|
39
|
+
5. release a patch through the signed-tag workflow if the package changes.
|
|
40
|
+
|
|
41
|
+
Separately, check Paperclip's documentation for an official catalog or marketplace
|
|
42
|
+
submission path. None exists today, so catalog submission is parked rather than
|
|
43
|
+
failed. Do not create or use an unofficial listing process.
|
|
44
|
+
|
|
23
45
|
## At a glance
|
|
24
46
|
|
|
25
47
|
| Work | State | Next action |
|
|
@@ -29,7 +51,7 @@ catalog distribution is not available yet.
|
|
|
29
51
|
| Browser/UI regression coverage | Complete | Maintain the approved baselines with UI changes |
|
|
30
52
|
| Dependency updates | Complete | Continue normal Dependabot review |
|
|
31
53
|
| Paperclip catalog listing | Not currently available | Recheck when Paperclip publishes a marketplace process |
|
|
32
|
-
| Kujo plugin release | Complete | Verify and retain the v0.1.
|
|
54
|
+
| Kujo plugin release | Complete | Verify and retain the v0.1.7 release evidence |
|
|
33
55
|
|
|
34
56
|
## Work queue
|
|
35
57
|
|
|
@@ -43,10 +65,10 @@ catalog distribution is not available yet.
|
|
|
43
65
|
The Paperclip CLI currently misparses an exact scoped npm package reference:
|
|
44
66
|
|
|
45
67
|
```bash
|
|
46
|
-
npx paperclipai plugin install @kujolang/paperclip@0.1.
|
|
68
|
+
npx paperclipai plugin install @kujolang/paperclip@0.1.7
|
|
47
69
|
```
|
|
48
70
|
|
|
49
|
-
It looks for a directory named `@kujolang/paperclip@0.1.
|
|
71
|
+
It looks for a directory named `@kujolang/paperclip@0.1.7` after npm installs the
|
|
50
72
|
package. Installing the current version without a version suffix works:
|
|
51
73
|
|
|
52
74
|
```bash
|
|
@@ -177,11 +199,13 @@ This is a distribution task, not a prerequisite for installing the public npm pa
|
|
|
177
199
|
|
|
178
200
|
**Owner:** Plugin release maintainer
|
|
179
201
|
|
|
180
|
-
**State:** v0.1.
|
|
202
|
+
**State:** v0.1.7 released
|
|
181
203
|
|
|
182
|
-
Version 0.1.
|
|
183
|
-
|
|
184
|
-
and
|
|
204
|
+
Version 0.1.7 adds the plain-English install and first-use guide, monochrome npm and CI
|
|
205
|
+
badges, corrected Context Pack limits, documentation command validation, and current
|
|
206
|
+
runtime and type dependencies. Its tagged workflow runs the full repository, browser,
|
|
207
|
+
compatibility, supply-chain, packaging, and clean-install gates before publication
|
|
208
|
+
through npm trusted publishing.
|
|
185
209
|
|
|
186
210
|
## Recommended next-agent sequence
|
|
187
211
|
|
|
@@ -233,5 +257,7 @@ provenance, and clean public install are all verified.
|
|
|
233
257
|
|
|
234
258
|
## Release evidence
|
|
235
259
|
|
|
236
|
-
- GitHub release: <https://github.com/kujolang/paperclip/releases/tag/v0.1.
|
|
237
|
-
-
|
|
260
|
+
- GitHub release: <https://github.com/kujolang/paperclip/releases/tag/v0.1.7>
|
|
261
|
+
- release workflows: <https://github.com/kujolang/paperclip/actions/workflows/release.yml>
|
|
262
|
+
- npm package: <https://www.npmjs.com/package/@kujolang/paperclip/v/0.1.7>
|
|
263
|
+
- npm SLSA provenance: <https://registry.npmjs.org/-/npm/v1/attestations/@kujolang%2fpaperclip@0.1.7>
|
package/docs/USAGE.md
CHANGED
|
@@ -63,9 +63,9 @@ Depth controls the token and file budget:
|
|
|
63
63
|
|
|
64
64
|
| Depth | Token budget | File limit |
|
|
65
65
|
| --- | ---: | ---: |
|
|
66
|
-
| `minimal` | 4,000 |
|
|
67
|
-
| `focused` | 16,000 |
|
|
68
|
-
| `broad` | 40,000 |
|
|
66
|
+
| `minimal` | 4,000 | 2 |
|
|
67
|
+
| `focused` | 16,000 | 3 |
|
|
68
|
+
| `broad` | 40,000 | 4 |
|
|
69
69
|
|
|
70
70
|
Start without content. Review the selected paths and reasons, then request content only when needed.
|
|
71
71
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kujolang/paperclip",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "Make Paperclip agent work easier to scope, review, reproduce, and verify.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/kujolang/paperclip#readme",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"prepublishOnly": "npm run verify"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@kujolang/kujo-runtime": "1.2.
|
|
52
|
+
"@kujolang/kujo-runtime": "1.2.3",
|
|
53
53
|
"@paperclipai/plugin-sdk": "2026.824.1",
|
|
54
54
|
"zod": "4.5.4"
|
|
55
55
|
},
|
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@playwright/test": "1.62.1",
|
|
66
|
-
"@types/node": "26.4.
|
|
66
|
+
"@types/node": "26.4.1",
|
|
67
67
|
"@types/react": "19.2.18",
|
|
68
|
-
"@types/react-dom": "19.2.
|
|
68
|
+
"@types/react-dom": "19.2.7",
|
|
69
69
|
"esbuild": "0.28.2",
|
|
70
70
|
"react": "19.2.8",
|
|
71
71
|
"react-dom": "19.2.8",
|