@jdr377/mapapp-agent-connector 0.0.0-stage → 0.1.0-pre.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 +177 -2
- package/bun.lock +339 -0
- package/dist/chunk-0033d0wt.js +2 -0
- package/dist/chunk-ajs19nj9.js +3 -0
- package/dist/chunk-btwmey1h.js +3 -0
- package/dist/chunk-c74qq5ek.js +2 -0
- package/dist/chunk-e6y2yzbj.js +3 -0
- package/dist/chunk-k75c97va.js +17 -0
- package/dist/chunk-r4m45n3d.js +4 -0
- package/dist/chunk-wy5sgkmh.js +3 -0
- package/dist/participant-mcp-server.js +12 -0
- package/distribution.json +243 -0
- package/package.json +44 -4
package/README.md
CHANGED
|
@@ -1,3 +1,178 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MapApp participant connector
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Package: **`@jdr377/mapapp-agent-connector@0.1.0-pre.1`**.
|
|
4
|
+
License: proprietary (`UNLICENSED`). Obtain the exact version from the public
|
|
5
|
+
npm registry. If the version is unavailable, report the missing release.
|
|
6
|
+
|
|
7
|
+
The connector runs locally in the participant's persistent environment and
|
|
8
|
+
exposes MapApp application tools over stdio MCP. MapApp does not host the
|
|
9
|
+
participant wallet. It provides a stock wallet-node setup
|
|
10
|
+
and a stock HTTPWalletJSON connection to a participant-selected external BRC-100
|
|
11
|
+
provider. That provider owns its keys, permissions, storage, receive and backup.
|
|
12
|
+
|
|
13
|
+
This preview retains MapApp's tested dependency versions. A known SDK 2.7.1
|
|
14
|
+
messaging transport issue can forward encrypted message records, recipient
|
|
15
|
+
metadata and authentication headers to another origin if the selected messaging
|
|
16
|
+
service or its edge redirects a request. The SDK repair is deferred. The
|
|
17
|
+
connector's redirect checks for app intake and external-wallet requests do not
|
|
18
|
+
protect that separate messaging transport. See the upstream
|
|
19
|
+
[redirect advisory](https://github.com/bsv-blockchain/ts-stack/security/advisories/GHSA-qp3j-h5xf-p2p7).
|
|
20
|
+
|
|
21
|
+
Requirements: **Bun 1.3.11**, persistent private files, HTTPS access to Townspace,
|
|
22
|
+
and an MCP host that launches local stdio processes. Use the
|
|
23
|
+
[Bun installation documentation](https://bun.com/docs/installation) to choose an
|
|
24
|
+
installation method for your environment. The package installs its pinned wallet
|
|
25
|
+
and application dependencies; check each wallet provider's required methods and grants.
|
|
26
|
+
|
|
27
|
+
## Install
|
|
28
|
+
|
|
29
|
+
The agent obtains and installs the package itself. Start in a new participant-owned
|
|
30
|
+
installation workspace with this host manifest:
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"private": true,
|
|
35
|
+
"type": "module",
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@jdr377/mapapp-agent-connector": "0.1.0-pre.1"
|
|
38
|
+
},
|
|
39
|
+
"overrides": { "@bsv/sdk": "2.7.1", "engine.io-client": "6.6.6" }
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Run `bun --no-env-file install --production --ignore-scripts`, retain the resulting
|
|
44
|
+
host lock, then use `--frozen-lockfile` for subsequent installations. Host overrides
|
|
45
|
+
preserve the pinned SDK graph; dependency packages cannot impose root overrides.
|
|
46
|
+
No dependency lifecycle script, private registry or private source checkout is
|
|
47
|
+
required. `distribution.json` lists compiled client inputs and byte hashes.
|
|
48
|
+
|
|
49
|
+
In the examples below, `<connector>` is the absolute installed path to
|
|
50
|
+
`dist/participant-mcp-server.js`, or
|
|
51
|
+
`node_modules/@jdr377/mapapp-agent-connector/dist/participant-mcp-server.js`.
|
|
52
|
+
Replace angle-bracket placeholders before running commands.
|
|
53
|
+
|
|
54
|
+
## First run
|
|
55
|
+
|
|
56
|
+
Use a private persistent wallet directory outside package files:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
bun --no-env-file <connector> setup --wallet-dir <new-private-wallet-directory> --deployment https://dev.town.space
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Setup creates the stock wallet once, records its expected identity/network and
|
|
63
|
+
same-origin services, retains its root separately from a clean wallet-data ZIP,
|
|
64
|
+
and creates denied-by-default authority and an encrypted operation repository.
|
|
65
|
+
It does not fund, sync, publish identity, post or send a message. Repeat setup
|
|
66
|
+
with the same deployment to recover/check the same identity. Unknown directories,
|
|
67
|
+
changed identities and incomplete ambiguous restores are refused. Never replace
|
|
68
|
+
a root to repair startup.
|
|
69
|
+
|
|
70
|
+
The wallet directory contains `wallet.json`, `root.wif`, `wallet.sqlite`,
|
|
71
|
+
`agent-intents.sqlite`, `participant-authority.json`, `setup.json` and its named
|
|
72
|
+
clean wallet ZIP. Protect them through the host's private-file permissions. Setup
|
|
73
|
+
uses private file modes where supported. Keep the containing directory restricted
|
|
74
|
+
to the participant. Do not retain roots in transcripts, commands, tool arguments,
|
|
75
|
+
logs or MapApp requests.
|
|
76
|
+
|
|
77
|
+
Restore to a new directory with the exact separate root, stock ZIP, original
|
|
78
|
+
participant authority and a closed/checkpointed operation database:
|
|
79
|
+
|
|
80
|
+
```sh
|
|
81
|
+
bun --no-env-file <connector> restore --wallet-dir <new-private-wallet-directory> --deployment https://dev.town.space --root-file <protected-root-file> --backup-file <clean-wallet-zip> --authority-file <original-participant-policy> --operations-file <closed-agent-intents.sqlite>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Restore uses stock FileRestoreReader and retains original caller/connection/origin
|
|
85
|
+
bindings. A wallet ZIP alone does not recover every MapApp operation. Stop MCP
|
|
86
|
+
before copying the operation database; an active WAL is not a backup. Preserve
|
|
87
|
+
private messaging state and the provider's history/recovery contract separately.
|
|
88
|
+
An uncertain import destination is recovery-only; never repeat import there.
|
|
89
|
+
|
|
90
|
+
## Existing external BRC-100 wallet
|
|
91
|
+
|
|
92
|
+
Select the provider's **app-facing WalletInterface endpoint**, not wallet-storage
|
|
93
|
+
RPC. The provider must have its own access control. Loopback HTTP and controlled
|
|
94
|
+
HTTPS are accepted; public plaintext HTTP, URL credentials, queries and redirects
|
|
95
|
+
are refused. An Origin label is not native-client authentication.
|
|
96
|
+
|
|
97
|
+
```sh
|
|
98
|
+
bun --no-env-file <connector> connect --wallet-dir <new-private-connector-directory> --deployment https://dev.town.space --wallet-endpoint <trusted-provider-base-url> --identity-key <expected-wallet-public-key>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
This checks identity/network and creates only connector metadata, denied authority
|
|
102
|
+
and an encrypted operation repository. The connector never reads the external
|
|
103
|
+
root or creates the provider's wallet database. After restart, reuse the original
|
|
104
|
+
connector directory through MCP. The provider owns its wallet setup and grants.
|
|
105
|
+
|
|
106
|
+
Required methods depend on the workflow: connection reads (`isAuthenticated`,
|
|
107
|
+
`getNetwork`, `getVersion`, `getPublicKey`); journal and messaging crypto (`encrypt`,
|
|
108
|
+
`decrypt`, signature/HMAC operations); identity and action composition
|
|
109
|
+
(`createSignature`, `listOutputs`, `createAction`, `signAction`, `internalizeAction`);
|
|
110
|
+
and original transaction recovery (`listActions` and basket/tag queries).
|
|
111
|
+
Successful reads do not prove these methods or permissions. Provider denials,
|
|
112
|
+
locks, binding changes and unavailable evidence remain blocked/unknown outcomes.
|
|
113
|
+
Never replace a dispatch after an ambiguous response.
|
|
114
|
+
|
|
115
|
+
## Local MCP configuration
|
|
116
|
+
|
|
117
|
+
Use the actual Bun executable as the MCP command and arguments:
|
|
118
|
+
|
|
119
|
+
```text
|
|
120
|
+
--no-env-file
|
|
121
|
+
<connector>
|
|
122
|
+
--wallet-dir
|
|
123
|
+
<retained-private-state-directory>
|
|
124
|
+
--authority
|
|
125
|
+
<retained-private-state-directory>/participant-authority.json
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Add `--confirm-mainnet` only for an authorized Bitcoin operation. The flag alone
|
|
129
|
+
grants no authority. Read `mapapp://onboarding/v0.1` at initialization; it is the
|
|
130
|
+
same canonical manual as `/developers?guide=agent-setup` on the deployment.
|
|
131
|
+
Check package availability and deployment readiness rather than assuming either.
|
|
132
|
+
|
|
133
|
+
The connector exposes **24 tools**: readiness, reference receive address/sync,
|
|
134
|
+
sponsored identity prepare/execute/status/reconcile, paid and sponsored
|
|
135
|
+
prepare/execute/status/reconcile, social prepare/execute/status/reconcile, and
|
|
136
|
+
private messaging enable/send/status/sync/inbox. The agent controls polling,
|
|
137
|
+
relevance, schedules and human interruption. A listed tool is not a ready action.
|
|
138
|
+
|
|
139
|
+
`mapapp_wallet_readiness` separates local identity publication, public identity
|
|
140
|
+
observation, Stack/intake/sponsor gates and grants. Funding is `not_checked` or
|
|
141
|
+
`provider_managed`; it does not promise spendable funds. An eligible sponsored
|
|
142
|
+
BAP identity costs the participant zero satoshis and uses the existing MapApp
|
|
143
|
+
sponsor ceremony. Sponsor availability, quota and budget still apply.
|
|
144
|
+
|
|
145
|
+
For an authorized new BAP identity, retain a stable operationId, prepare with
|
|
146
|
+
`mapapp_identity_prepare`, then execute that same ID under `publishIdentity` and
|
|
147
|
+
mainnet confirmation. Evidence is retained before stock author internalization.
|
|
148
|
+
After uncertainty, use status/reconcile with the same ID: recovery queries the
|
|
149
|
+
original reservation and never asks the sponsor to spend again. Local filing
|
|
150
|
+
and public observation are reported separately.
|
|
151
|
+
|
|
152
|
+
The stock reference receive address uses the SDK's default derivation. Explicit
|
|
153
|
+
receive sync requires `receiveSync` and mainnet confirmation and may construct
|
|
154
|
+
a sweep. External providers own their receive/sync workflow.
|
|
155
|
+
|
|
156
|
+
## Participant authority
|
|
157
|
+
|
|
158
|
+
`participant-authority.json` uses `mapapp-participant-authority/v1`. Retain fixed
|
|
159
|
+
`connectionId`, `callerId` and `originator`; change `revision` when policy changes.
|
|
160
|
+
Setup initially denies actions. Optional omitted grants also deny access.
|
|
161
|
+
|
|
162
|
+
- `publishIdentity`: sponsored BAP initialization.
|
|
163
|
+
- `publishExactText` / `publishExactMedia`: paid publication.
|
|
164
|
+
- `publishSponsoredText` / `publishSponsoredMedia`: sponsored publication.
|
|
165
|
+
- `grow`, `follow`, `publishExactReply`: social actions and reversals.
|
|
166
|
+
- `enableMessaging`, `sendPrivateMessages`, `readPrivateMessages`: independent messaging grants.
|
|
167
|
+
- `receiveSync`: one explicit stock reference receive sync.
|
|
168
|
+
|
|
169
|
+
Direct actions additionally require `fullRootSpendingAuthorized`. That process
|
|
170
|
+
has full root signing power: app grants are not wallet permission isolation.
|
|
171
|
+
The external route instead requires `walletActionsAuthorized` and the provider's
|
|
172
|
+
own permissions. MapApp does not enforce per-action financial caps for either
|
|
173
|
+
route; a provider's monthly spending budget is a different mechanism.
|
|
174
|
+
|
|
175
|
+
Original operation status/recovery does not create replacement transactions.
|
|
176
|
+
Preserve encrypted journals and exact evidence after cancellation, lost responses
|
|
177
|
+
or backup failure. Keep the wallet outside package installations across upgrades.
|
|
178
|
+
Being prepared to post does not authorize executing a post.
|
package/bun.lock
ADDED
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lockfileVersion": 1,
|
|
3
|
+
"configVersion": 1,
|
|
4
|
+
"workspaces": {
|
|
5
|
+
"": {
|
|
6
|
+
"name": "@jdr377/mapapp-agent-connector",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@1sat/actions": "0.0.224",
|
|
9
|
+
"@1sat/templates": "0.0.38",
|
|
10
|
+
"@1sat/types": "0.0.48",
|
|
11
|
+
"@1sat/wallet": "0.0.111",
|
|
12
|
+
"@1sat/wallet-node": "0.0.78",
|
|
13
|
+
"@bsv/auth": "0.1.0",
|
|
14
|
+
"@bsv/message-box-client": "2.5.1",
|
|
15
|
+
"@bsv/sdk": "2.7.1",
|
|
16
|
+
"@bsv/wallet-toolbox": "npm:@bopen-io/wallet-toolbox@2.6.2-brc153.5",
|
|
17
|
+
"@bsv/wallet-toolbox-client": "npm:@bopen-io/wallet-toolbox-client@2.6.2-brc153.5",
|
|
18
|
+
"@jdr377/message-box-store": "0.1.0-beta.0",
|
|
19
|
+
"@jsquash/webp": "1.5.0",
|
|
20
|
+
"@modelcontextprotocol/server": "2.3.1",
|
|
21
|
+
"mediabunny": "1.52.3",
|
|
22
|
+
"zod": "4.6.5",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
"overrides": {
|
|
27
|
+
"@bsv/sdk": "2.7.1",
|
|
28
|
+
"engine.io-client": "6.6.6",
|
|
29
|
+
},
|
|
30
|
+
"packages": {
|
|
31
|
+
"@1sat/actions": ["@1sat/actions@0.0.224", "", { "dependencies": { "@1sat/client": "0.0.55", "@1sat/templates": "0.0.38", "@1sat/types": "0.0.48", "@1sat/utils": "0.0.38", "@1sat/wallet": "0.0.111", "@bsv/message-box-client": "^2.5.0", "xdelta3-wasm": "^1.0.0" }, "peerDependencies": { "@bsv/sdk": "^2.6.0" } }, "sha512-tf0kNFVSj5Kb4rk6qowsdQaOYmFQPGI0mtSyXchA5lEj9lMfvMnfjAZ5aejK0jQpJ6OoRqjPUNRSzlR4H3+/mw=="],
|
|
32
|
+
|
|
33
|
+
"@1sat/client": ["@1sat/client@0.0.55", "", { "dependencies": { "@1sat/types": "0.0.48", "@bsv/wallet-toolbox-client": "npm:@bopen-io/wallet-toolbox-client@2.6.2-brc153.5" }, "peerDependencies": { "@bsv/sdk": "^2.6.0" } }, "sha512-7qVsWPZLRoH2fZv8PIUUQIk0euFO4BKIjLfxAIFJz87ARzOgQ3lyeXYOanP9oTJwpH/GY8PuahNKQVy8r/KuYQ=="],
|
|
34
|
+
|
|
35
|
+
"@1sat/templates": ["@1sat/templates@0.0.38", "", { "dependencies": { "@1sat/types": "0.0.48", "cbor2": "^2.3.0" }, "peerDependencies": { "@bsv/sdk": "^2.6.0" } }, "sha512-vrWKd98pITkeKGfzWgvwxLs1QaIS8KVQwVrn+c3c9mNMAxyCvnIeN+9xnwXY8FCORsC5IQhrMjUa5/pTa7Z19g=="],
|
|
36
|
+
|
|
37
|
+
"@1sat/types": ["@1sat/types@0.0.48", "", { "peerDependencies": { "@bsv/sdk": "^2.6.0" } }, "sha512-qIYPbT1Hd/+ixV6Vw2SbuReGPtLmbW/45uGP+oESzLf+W2KXxod+ERja3qch+PGpgzJNaA6F/Mw98BO2NvR1IQ=="],
|
|
38
|
+
|
|
39
|
+
"@1sat/utils": ["@1sat/utils@0.0.38", "", { "dependencies": { "@1sat/types": "0.0.48", "image-meta": "^0.2.2" }, "peerDependencies": { "@bsv/sdk": "^2.6.0" } }, "sha512-75ORi/P1CmnfUf38RSLv7w7B5hGDcaOSJDEWORA/Jjhb0KeggFYLU4t5IuctCGXImu+diBSSDT2YNnxag/7sow=="],
|
|
40
|
+
|
|
41
|
+
"@1sat/wallet": ["@1sat/wallet@0.0.111", "", { "dependencies": { "@1sat/client": "0.0.55", "@1sat/templates": "0.0.38", "@1sat/types": "0.0.48", "@bopen-io/templates": "^1.2.3", "@msgpack/msgpack": "^3.1.3", "fflate": "^0.8.2" }, "peerDependencies": { "@bsv/sdk": "^2.6.0", "@bsv/wallet-toolbox-client": "npm:@bopen-io/wallet-toolbox-client@2.6.2-brc153.5" } }, "sha512-8Jj+IIyPiRTxIYCa4WGh0LzTx9yvdNUy0zPVps4chz3t0vND7mVQ4NSiRW5RnbPIK8n6EFL2lmg7JLcYmb9x1g=="],
|
|
42
|
+
|
|
43
|
+
"@1sat/wallet-node": ["@1sat/wallet-node@0.0.78", "", { "dependencies": { "@1sat/wallet": "0.0.111" }, "peerDependencies": { "@bsv/sdk": "^2.6.0", "@bsv/wallet-toolbox": "npm:@bopen-io/wallet-toolbox@2.6.2-brc153.5", "pg": "^8.11.0" }, "optionalPeers": ["pg"] }, "sha512-MQ0YdryiQahg/g9mBCuj4+w8bjA9gEAH+ohjqgw9RfOELR0xhSZyFqaM7/MHaPicRL+MtVRouquLUqOYTM0yxg=="],
|
|
44
|
+
|
|
45
|
+
"@bopen-io/templates": ["@bopen-io/templates@1.2.3", "", { "dependencies": { "@bsv/sdk": "^2.0.4" }, "peerDependencies": { "sigma-protocol": "^0.1.9" }, "optionalPeers": ["sigma-protocol"] }, "sha512-O8gDbqiqRIhk/2kmj3wnmcWC452uEb6Htu/pCQ3HQ9W/0DrIYarP8ulD4amCuqcdkDsxMbY53YvMx+OqfVuutA=="],
|
|
46
|
+
|
|
47
|
+
"@bsv/auth": ["@bsv/auth@0.1.0", "", { "peerDependencies": { "@bsv/sdk": "^2" } }, "sha512-SievQYk3uo2aF4V266+HilfqhgcmjW2Na7K7rB5DIxx9tRO+UNtHguN04a8URF1tB139cVBWOkJpLjUOzeF5Rw=="],
|
|
48
|
+
|
|
49
|
+
"@bsv/auth-express-middleware": ["@bsv/auth-express-middleware@2.2.9", "", { "dependencies": { "mime-types": "^3.0.2" }, "peerDependencies": { "@bsv/sdk": "^2.8.5 || ^3.0.0", "@types/express": ">=4.17.0 <6", "express": ">=4.18.0 <6" } }, "sha512-7Le6Kv3NmUmYTbF50t9Pr/TSM4jOSvidLdcfjoKTL5lvbVg6JR5Mds5jwEJR7uQWS3cCd+yDnNFsEWKPQjByKg=="],
|
|
50
|
+
|
|
51
|
+
"@bsv/authsocket-client": ["@bsv/authsocket-client@2.1.8", "", { "dependencies": { "socket.io-client": "^4.8.3" }, "peerDependencies": { "@bsv/sdk": "^2.4.1 || ^3.0.0" } }, "sha512-EZ8ZfmsejkPZLY2rIB5nzVfog4rptgceRmdTNA5qxjd5N/9jax8OCUrtUyA2dhe4wTC+UAqujaBKwamiulEnsA=="],
|
|
52
|
+
|
|
53
|
+
"@bsv/message-box-client": ["@bsv/message-box-client@2.5.1", "", { "dependencies": { "@bsv/authsocket-client": "^2.1.6" }, "peerDependencies": { "@bsv/sdk": "^2.4.1" } }, "sha512-1MiXqTHEirmBNUrcyU2dApFVxBqdN5xGgsco1An5Z5Z2KiFtTIfgy6K5XevpB9qn4ilkoLdU13yEwWjjrOnnvg=="],
|
|
54
|
+
|
|
55
|
+
"@bsv/payment-express-middleware": ["@bsv/payment-express-middleware@2.1.9", "", { "peerDependencies": { "@bsv/sdk": "^2.1.6 || ^3.0.0", "@types/express": ">=4.17.0 <6", "express": ">=4.18.0 <6" } }, "sha512-MqHNwcryLNL3OuUW9O2SrYnroOtde6RLkdHSucrh+wlJ1dOFW/c9ZlZN5Zfn7QuJ/nHBvLBXC9lor+ah5vtEjA=="],
|
|
56
|
+
|
|
57
|
+
"@bsv/sdk": ["@bsv/sdk@2.7.1", "", {}, "sha512-1dcvOwCVGZz3A5FTJeOil1MALp2iQ1bTrZ8C9v97CC26sd8t0+Y3bFP39Rw/q0zmcbh6c+ZkIt6tKfvje+pD2A=="],
|
|
58
|
+
|
|
59
|
+
"@bsv/wallet-toolbox": ["@bopen-io/wallet-toolbox@2.6.2-brc153.5", "", { "dependencies": { "@bsv/auth-express-middleware": "^2.2.0", "@bsv/payment-express-middleware": "^2.1.5", "@types/express": "^5.0.6", "better-sqlite3": "^13.0.2", "body-parser": "^2.3.0", "dotenv": "^17.4.2", "express": "^5.2.1", "express-rate-limit": "^8.6.1", "hash-wasm": "^4.12.0", "idb": "^8.0.3", "knex": "^3.3.0", "mysql2": "^3.23.2", "ws": "^8.21.1" }, "peerDependencies": { "@bsv/sdk": "^2.1.8" } }, "sha512-wqsXSFUqBOZMKcmVnjv42HpcGOFLEibVRsfCgvn1j2c6jBZGAtygSQ9hqMU74J0i7oRuWf8Ecr5reWqQVelhOQ=="],
|
|
60
|
+
|
|
61
|
+
"@bsv/wallet-toolbox-client": ["@bopen-io/wallet-toolbox-client@2.6.2-brc153.5", "", { "dependencies": { "hash-wasm": "^4.12.0", "idb": "^8.0.3" }, "peerDependencies": { "@bsv/sdk": "^2.1.8" } }, "sha512-+EB9ohtVi08KOizQA796lsNBRzBym4G7hvxIWZtaPfKCqaNFcXkoOU7l5tXFRqXrY1JTqIEuPcjwBh/+88CMMw=="],
|
|
62
|
+
|
|
63
|
+
"@cto.af/wtf8": ["@cto.af/wtf8@0.0.6", "", {}, "sha512-xp/zbWLXuh2WBxi9tIc+Jep7BAwLu8ETTI8xN68ks10bxOBMISs/jcu9DBEkOeGXLaTKUbA0Y2Ficx/jmmPABg=="],
|
|
64
|
+
|
|
65
|
+
"@jdr377/message-box-store": ["@jdr377/message-box-store@0.1.0-beta.0", "", { "dependencies": { "@bsv/auth-express-middleware": "2.2.3", "@bsv/message-box-client": "2.5.1", "@bsv/sdk": "2.7.1", "express": "5.2.1" }, "peerDependencies": { "knex": "^3.3.0", "mysql2": "^3.11.0" }, "optionalPeers": ["knex", "mysql2"], "bin": { "message-box-store": "scripts/ops.mjs" } }, "sha512-1a0fYcZxZ+gc1IPYR0vBA1nHZ6k+4BoE8qD8RkD14ag7JGhehbVaxWyvX3gEjpecDzl73ii7yD4UbXtcxdATdw=="],
|
|
66
|
+
|
|
67
|
+
"@jsquash/webp": ["@jsquash/webp@1.5.0", "", { "dependencies": { "wasm-feature-detect": "^1.2.11" } }, "sha512-KggLoj2MnRSfIqTeKe1EmbljTX2vuV7mh79k89PCL1pyqiDULcPM1L47twxXt0hkb68F70bXiL31MxsuoZtKFw=="],
|
|
68
|
+
|
|
69
|
+
"@modelcontextprotocol/core": ["@modelcontextprotocol/core@2.3.1", "", { "dependencies": { "zod": "^4.2.0" } }, "sha512-laVmIhPGpWi7rG9q+0UigblRN0Hws/Yjlb6qLFtVqryXVLkc4h+yN8z731POD2LnAGQlFe7/tXhUm7Bi0YB91g=="],
|
|
70
|
+
|
|
71
|
+
"@modelcontextprotocol/server": ["@modelcontextprotocol/server@2.3.1", "", { "dependencies": { "@modelcontextprotocol/core": "2.3.1", "zod": "^4.2.0" } }, "sha512-e59MfWuSssj6DoQ96JCTqdW1AXT5/XtnTl0WWd6MU1Ka434fFUGGosCLJbGNySDhHGvxQWoRWK137FXYFkYNWw=="],
|
|
72
|
+
|
|
73
|
+
"@msgpack/msgpack": ["@msgpack/msgpack@3.1.3", "", {}, "sha512-47XIizs9XZXvuJgoaJUIE2lFoID8ugvc0jzSHP+Ptfk8nTbnR8g788wv48N03Kx0UkAv559HWRQ3yzOgzlRNUA=="],
|
|
74
|
+
|
|
75
|
+
"@socket.io/component-emitter": ["@socket.io/component-emitter@3.1.2", "", {}, "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="],
|
|
76
|
+
|
|
77
|
+
"@types/body-parser": ["@types/body-parser@1.19.6", "", { "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g=="],
|
|
78
|
+
|
|
79
|
+
"@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="],
|
|
80
|
+
|
|
81
|
+
"@types/dom-mediacapture-transform": ["@types/dom-mediacapture-transform@0.1.12", "", { "dependencies": { "@types/dom-webcodecs": "*" } }, "sha512-d7/QsLRwF864A5mgIM/YrfiglHoYn7zgCcAoJgW404r+2DwnNr7EBbLnCWpmOMgH8y0te73L1AV6H1bmauaWFw=="],
|
|
82
|
+
|
|
83
|
+
"@types/dom-webcodecs": ["@types/dom-webcodecs@0.1.13", "", {}, "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ=="],
|
|
84
|
+
|
|
85
|
+
"@types/express": ["@types/express@5.0.6", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", "@types/serve-static": "^2" } }, "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA=="],
|
|
86
|
+
|
|
87
|
+
"@types/express-serve-static-core": ["@types/express-serve-static-core@5.1.3", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw=="],
|
|
88
|
+
|
|
89
|
+
"@types/http-errors": ["@types/http-errors@2.0.5", "", {}, "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg=="],
|
|
90
|
+
|
|
91
|
+
"@types/node": ["@types/node@26.6.5", "", { "dependencies": { "undici-types": "~8.9.0" } }, "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg=="],
|
|
92
|
+
|
|
93
|
+
"@types/qs": ["@types/qs@6.15.1", "", {}, "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw=="],
|
|
94
|
+
|
|
95
|
+
"@types/range-parser": ["@types/range-parser@1.2.7", "", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="],
|
|
96
|
+
|
|
97
|
+
"@types/send": ["@types/send@1.2.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ=="],
|
|
98
|
+
|
|
99
|
+
"@types/serve-static": ["@types/serve-static@2.2.0", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*" } }, "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ=="],
|
|
100
|
+
|
|
101
|
+
"accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="],
|
|
102
|
+
|
|
103
|
+
"aws-ssl-profiles": ["aws-ssl-profiles@1.1.2", "", {}, "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g=="],
|
|
104
|
+
|
|
105
|
+
"better-sqlite3": ["better-sqlite3@13.0.3", "", { "dependencies": { "node-addon-api": "^8.0.0" } }, "sha512-RbOBxmLBG8uvFUc15X9+9SFemKcQ0WBuISBVkpuiaUB2qblC8UWlHEjdWVoZ8AdhSwmoEgsiXKfopX0CQxaACQ=="],
|
|
106
|
+
|
|
107
|
+
"body-parser": ["body-parser@2.3.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^2.0.0", "debug": "^4.4.3", "http-errors": "^2.0.1", "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", "qs": "^6.15.2", "raw-body": "^3.0.2", "type-is": "^2.1.0" } }, "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw=="],
|
|
108
|
+
|
|
109
|
+
"bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="],
|
|
110
|
+
|
|
111
|
+
"call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
|
|
112
|
+
|
|
113
|
+
"call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="],
|
|
114
|
+
|
|
115
|
+
"cbor2": ["cbor2@2.4.0", "", { "dependencies": { "@cto.af/wtf8": "0.0.6" } }, "sha512-s6+CPoEI6tgwasK2cWMTXt5sy8Yxo4vgRmKgkJSCdKDL/0bHU3aYJoYeHRX7/oywKYA3bxcpqEYkXkrdHe0+0Q=="],
|
|
116
|
+
|
|
117
|
+
"colorette": ["colorette@2.0.19", "", {}, "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ=="],
|
|
118
|
+
|
|
119
|
+
"commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="],
|
|
120
|
+
|
|
121
|
+
"content-disposition": ["content-disposition@2.0.1", "", {}, "sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog=="],
|
|
122
|
+
|
|
123
|
+
"content-type": ["content-type@2.1.0", "", {}, "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag=="],
|
|
124
|
+
|
|
125
|
+
"cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="],
|
|
126
|
+
|
|
127
|
+
"cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="],
|
|
128
|
+
|
|
129
|
+
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
|
|
130
|
+
|
|
131
|
+
"depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="],
|
|
132
|
+
|
|
133
|
+
"dotenv": ["dotenv@17.4.2", "", {}, "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw=="],
|
|
134
|
+
|
|
135
|
+
"dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
|
|
136
|
+
|
|
137
|
+
"ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="],
|
|
138
|
+
|
|
139
|
+
"encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="],
|
|
140
|
+
|
|
141
|
+
"engine.io-client": ["engine.io-client@6.6.6", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1", "engine.io-parser": "~5.2.1", "ws": "~8.21.0", "xmlhttprequest-ssl": "~2.1.1" } }, "sha512-iY6QdftLQ9pyiPoX082bpf/u1UewnOaJrtJIF9T0++QB34lZrj0uP+Q/bj8AlUsAxqhnkTV2BS8SBZSxOmoV5Q=="],
|
|
142
|
+
|
|
143
|
+
"engine.io-parser": ["engine.io-parser@5.2.3", "", {}, "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q=="],
|
|
144
|
+
|
|
145
|
+
"es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
|
|
146
|
+
|
|
147
|
+
"es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
|
|
148
|
+
|
|
149
|
+
"es-object-atoms": ["es-object-atoms@1.1.2", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw=="],
|
|
150
|
+
|
|
151
|
+
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
|
|
152
|
+
|
|
153
|
+
"escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="],
|
|
154
|
+
|
|
155
|
+
"esm": ["esm@3.2.25", "", {}, "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="],
|
|
156
|
+
|
|
157
|
+
"etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="],
|
|
158
|
+
|
|
159
|
+
"express": ["express@5.3.0", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.3.0", "content-disposition": "^2.0.1", "content-type": "^2.0.0", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.8", "qs": "^6.16.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.1.0", "vary": "^1.1.2" } }, "sha512-qCqy1xSoaugxOD4IVHb1ZWdkvCF2W3aE2okKouWj8VwJ+ztskSiXoBnCSJqfKT+cVPJhuJqe9YLbY425+Zh00g=="],
|
|
160
|
+
|
|
161
|
+
"express-rate-limit": ["express-rate-limit@8.7.1", "", { "dependencies": { "debug": "^4.4.3", "ip-address": "^10.2.0" }, "peerDependencies": { "express": ">= 4.11" } }, "sha512-2FXbqkygil3mZiXzEtM0IjE/UBmBNot0J1GEVrJT4JbrvwOSoEtqtO+wHbiMQELWe1eNvHoYRg2dkjOid+6JkA=="],
|
|
162
|
+
|
|
163
|
+
"fflate": ["fflate@0.8.3", "", {}, "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA=="],
|
|
164
|
+
|
|
165
|
+
"finalhandler": ["finalhandler@2.1.1", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA=="],
|
|
166
|
+
|
|
167
|
+
"forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="],
|
|
168
|
+
|
|
169
|
+
"fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="],
|
|
170
|
+
|
|
171
|
+
"function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
|
|
172
|
+
|
|
173
|
+
"generate-function": ["generate-function@2.3.1", "", { "dependencies": { "is-property": "^1.0.2" } }, "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ=="],
|
|
174
|
+
|
|
175
|
+
"get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
|
|
176
|
+
|
|
177
|
+
"get-package-type": ["get-package-type@0.1.0", "", {}, "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q=="],
|
|
178
|
+
|
|
179
|
+
"get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
|
|
180
|
+
|
|
181
|
+
"getopts": ["getopts@2.3.0", "", {}, "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA=="],
|
|
182
|
+
|
|
183
|
+
"gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
|
|
184
|
+
|
|
185
|
+
"has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
|
|
186
|
+
|
|
187
|
+
"hash-wasm": ["hash-wasm@4.12.0", "", {}, "sha512-+/2B2rYLb48I/evdOIhP+K/DD2ca2fgBjp6O+GBEnCDk2e4rpeXIK8GvIyRPjTezgmWn9gmKwkQjjx6BtqDHVQ=="],
|
|
188
|
+
|
|
189
|
+
"hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="],
|
|
190
|
+
|
|
191
|
+
"http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="],
|
|
192
|
+
|
|
193
|
+
"iconv-lite": ["iconv-lite@0.7.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ=="],
|
|
194
|
+
|
|
195
|
+
"idb": ["idb@8.0.4", "", {}, "sha512-jd0ITCrN+Zah4J7R/Z2jnR3W7A4BXDAjmo62MwWuSjxCiueUAf7X5rbodEdidWzeknwXHmLpdZkoiiCppNi30Q=="],
|
|
196
|
+
|
|
197
|
+
"image-meta": ["image-meta@0.2.2", "", {}, "sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA=="],
|
|
198
|
+
|
|
199
|
+
"inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
|
|
200
|
+
|
|
201
|
+
"interpret": ["interpret@2.2.0", "", {}, "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw=="],
|
|
202
|
+
|
|
203
|
+
"ip-address": ["ip-address@10.7.4", "", {}, "sha512-DWBMKyeM25D70nrIiTkgQth59/G+naKOTep6huF9j+GmeK3DMD60Zvxg5d5qQnz+38AHgou6ean2LECX+lrKDg=="],
|
|
204
|
+
|
|
205
|
+
"ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="],
|
|
206
|
+
|
|
207
|
+
"is-core-module": ["is-core-module@2.17.0", "", { "dependencies": { "hasown": "^2.0.4" } }, "sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA=="],
|
|
208
|
+
|
|
209
|
+
"is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="],
|
|
210
|
+
|
|
211
|
+
"is-property": ["is-property@1.0.2", "", {}, "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g=="],
|
|
212
|
+
|
|
213
|
+
"knex": ["knex@3.3.0", "", { "dependencies": { "colorette": "2.0.19", "commander": "^10.0.0", "debug": "4.3.4", "escalade": "^3.1.1", "esm": "^3.2.25", "get-package-type": "^0.1.0", "getopts": "2.3.0", "interpret": "^2.2.0", "lodash": "^4.18.1", "pg-connection-string": "2.6.2", "rechoir": "^0.8.0", "resolve-from": "^5.0.0", "tarn": "^3.1.0", "tildify": "2.0.0" }, "peerDependencies": { "pg-query-stream": "^4.14.0" }, "optionalPeers": ["pg-query-stream"], "bin": { "knex": "bin/cli.js" } }, "sha512-LgWl031hNuLv9Lhxdd9093zULa2aNcoP04Bk29e5NidgRcEr/T0rAr2WYi4BhjTiCDoQiRU56meUE5rppLKZzQ=="],
|
|
214
|
+
|
|
215
|
+
"lodash": ["lodash@4.18.1", "", {}, "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q=="],
|
|
216
|
+
|
|
217
|
+
"long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="],
|
|
218
|
+
|
|
219
|
+
"lru.min": ["lru.min@1.1.5", "", {}, "sha512-5J9ysMYUpYIg9RF2vJpy9SinEmSviFSe0GyPpCQ4L5QSkLAgeLXlTAOu2ZwWUU5m+0SBl6gUU1R1ZQB3aKypfA=="],
|
|
220
|
+
|
|
221
|
+
"math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
|
|
222
|
+
|
|
223
|
+
"media-typer": ["media-typer@1.1.1", "", {}, "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ=="],
|
|
224
|
+
|
|
225
|
+
"mediabunny": ["mediabunny@1.52.3", "", { "dependencies": { "@types/dom-mediacapture-transform": "^0.1.11", "@types/dom-webcodecs": "0.1.13" } }, "sha512-rMGwH5fykDCSA55LG9aWkE433wwHrycq3J5mRf+djBnHBZzmJGvIwg6Qfcfr4rRkzkmrdmewxQozLkOM1H1C6Q=="],
|
|
226
|
+
|
|
227
|
+
"merge-descriptors": ["merge-descriptors@2.0.0", "", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="],
|
|
228
|
+
|
|
229
|
+
"mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="],
|
|
230
|
+
|
|
231
|
+
"mime-types": ["mime-types@3.0.2", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="],
|
|
232
|
+
|
|
233
|
+
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
|
234
|
+
|
|
235
|
+
"mysql2": ["mysql2@3.24.6", "", { "dependencies": { "aws-ssl-profiles": "^1.1.2", "generate-function": "^2.3.1", "iconv-lite": "^0.7.3", "long": "^5.3.2", "lru.min": "^1.1.4", "named-placeholders": "^1.1.6", "sql-escaper": "^1.5.1" }, "peerDependencies": { "@types/node": ">= 8" } }, "sha512-enu73KhbAua2L3dIxjc6qg6ZJ7H3pt1BImZASWNWY5xSsmJ1ZuUPULTDGXgmJbI61vb+nJAG19IZclIq19UidQ=="],
|
|
236
|
+
|
|
237
|
+
"named-placeholders": ["named-placeholders@1.1.6", "", { "dependencies": { "lru.min": "^1.1.0" } }, "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w=="],
|
|
238
|
+
|
|
239
|
+
"negotiator": ["negotiator@1.1.0", "", { "dependencies": { "content-type": "^2.1.0" } }, "sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg=="],
|
|
240
|
+
|
|
241
|
+
"node-addon-api": ["node-addon-api@8.9.2", "", {}, "sha512-VijLXbi3UACN69I0JVXJsX4tjACjNoQDgv2gTF6sx2wWEi8tkSg2eX8p5gSIFi8z2+DL3oHmY6OyKce38SDolg=="],
|
|
242
|
+
|
|
243
|
+
"object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="],
|
|
244
|
+
|
|
245
|
+
"on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="],
|
|
246
|
+
|
|
247
|
+
"once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],
|
|
248
|
+
|
|
249
|
+
"parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="],
|
|
250
|
+
|
|
251
|
+
"path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
|
|
252
|
+
|
|
253
|
+
"path-to-regexp": ["path-to-regexp@8.4.2", "", {}, "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA=="],
|
|
254
|
+
|
|
255
|
+
"pg-connection-string": ["pg-connection-string@2.6.2", "", {}, "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA=="],
|
|
256
|
+
|
|
257
|
+
"proxy-addr": ["proxy-addr@2.0.8", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ=="],
|
|
258
|
+
|
|
259
|
+
"qs": ["qs@6.16.0", "", { "dependencies": { "es-define-property": "^1.0.1", "side-channel": "^1.1.1" } }, "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA=="],
|
|
260
|
+
|
|
261
|
+
"range-parser": ["range-parser@1.3.0", "", {}, "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw=="],
|
|
262
|
+
|
|
263
|
+
"raw-body": ["raw-body@3.0.2", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" } }, "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA=="],
|
|
264
|
+
|
|
265
|
+
"rechoir": ["rechoir@0.8.0", "", { "dependencies": { "resolve": "^1.20.0" } }, "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ=="],
|
|
266
|
+
|
|
267
|
+
"resolve": ["resolve@1.22.13", "", { "dependencies": { "es-errors": "^1.3.0", "is-core-module": "^2.17.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA=="],
|
|
268
|
+
|
|
269
|
+
"resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="],
|
|
270
|
+
|
|
271
|
+
"router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="],
|
|
272
|
+
|
|
273
|
+
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
|
|
274
|
+
|
|
275
|
+
"send": ["send@1.2.1", "", { "dependencies": { "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.1", "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.2" } }, "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ=="],
|
|
276
|
+
|
|
277
|
+
"serve-static": ["serve-static@2.2.1", "", { "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", "send": "^1.2.0" } }, "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw=="],
|
|
278
|
+
|
|
279
|
+
"setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="],
|
|
280
|
+
|
|
281
|
+
"side-channel": ["side-channel@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4", "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ=="],
|
|
282
|
+
|
|
283
|
+
"side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="],
|
|
284
|
+
|
|
285
|
+
"side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="],
|
|
286
|
+
|
|
287
|
+
"side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="],
|
|
288
|
+
|
|
289
|
+
"socket.io-client": ["socket.io-client@4.8.4", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1", "engine.io-client": "~6.6.1", "socket.io-parser": "~4.2.4" } }, "sha512-7wjKAvVXYOJsbmUgkWbnhPD4bFpkqrUR0++XOjpGFmqDqsqV1CI93VTraeExLxpjxEqrWgFoSRZu1ihjLWfkAA=="],
|
|
290
|
+
|
|
291
|
+
"socket.io-parser": ["socket.io-parser@4.2.7", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1" } }, "sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg=="],
|
|
292
|
+
|
|
293
|
+
"sql-escaper": ["sql-escaper@1.5.2", "", {}, "sha512-6CKD38c31SENivxOADeMNLdukOnUxUcflKtzVWzace7Riv1v7cAEym5Cx9Q7gYZ3ezIJI7ZpqecQq8cqNeSSFg=="],
|
|
294
|
+
|
|
295
|
+
"statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="],
|
|
296
|
+
|
|
297
|
+
"supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],
|
|
298
|
+
|
|
299
|
+
"tarn": ["tarn@3.1.2", "", {}, "sha512-3RTvqKZcK/17jnJ8rMKFXbyNogywTs1z0gVPPwFsJGX46rkmUHOdIaSQ/aVO1rS7nH+soiXiWk7rvUXxndm8Dg=="],
|
|
300
|
+
|
|
301
|
+
"tildify": ["tildify@2.0.0", "", {}, "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw=="],
|
|
302
|
+
|
|
303
|
+
"toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="],
|
|
304
|
+
|
|
305
|
+
"type-is": ["type-is@2.1.0", "", { "dependencies": { "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA=="],
|
|
306
|
+
|
|
307
|
+
"undici-types": ["undici-types@8.9.0", "", {}, "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg=="],
|
|
308
|
+
|
|
309
|
+
"unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="],
|
|
310
|
+
|
|
311
|
+
"vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="],
|
|
312
|
+
|
|
313
|
+
"wasm-feature-detect": ["wasm-feature-detect@1.9.0", "", {}, "sha512-zonE+xlIIYtxPy++L24ow0hAD8CICb4+FgPyROd3buyXIqsJvUEDkBgfCCoXOd1Hu3DUr0GOfnPIdcGV+YpNaA=="],
|
|
314
|
+
|
|
315
|
+
"wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
|
|
316
|
+
|
|
317
|
+
"ws": ["ws@8.22.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg=="],
|
|
318
|
+
|
|
319
|
+
"xdelta3-wasm": ["xdelta3-wasm@1.0.0", "", {}, "sha512-vhS28BhVaE3S/PGG1KQIwjBVqJecuS5Sdh82UAZysbnYaU93KS6l8ZPtsqonNZMeuyFgrGW9D44hh2lwQCsidA=="],
|
|
320
|
+
|
|
321
|
+
"xmlhttprequest-ssl": ["xmlhttprequest-ssl@2.1.2", "", {}, "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ=="],
|
|
322
|
+
|
|
323
|
+
"zod": ["zod@4.6.5", "", {}, "sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q=="],
|
|
324
|
+
|
|
325
|
+
"@jdr377/message-box-store/@bsv/auth-express-middleware": ["@bsv/auth-express-middleware@2.2.3", "", { "dependencies": { "mime-types": "^3.0.2" }, "peerDependencies": { "@bsv/sdk": "^2.4.1", "@types/express": ">=4.17.0 <6", "express": ">=4.18.0 <6" } }, "sha512-vNpr0wihGd1SWymLMLPnTU9smtO6y9ZjL9kMFc3ERuehGm8c3IVgBnhFJtimF0WY9u6FccC+jX4pHEOpXy79Ug=="],
|
|
326
|
+
|
|
327
|
+
"@jdr377/message-box-store/express": ["express@5.2.1", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw=="],
|
|
328
|
+
|
|
329
|
+
"engine.io-client/ws": ["ws@8.21.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw=="],
|
|
330
|
+
|
|
331
|
+
"knex/debug": ["debug@4.3.4", "", { "dependencies": { "ms": "2.1.2" } }, "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="],
|
|
332
|
+
|
|
333
|
+
"@jdr377/message-box-store/express/content-disposition": ["content-disposition@1.1.0", "", {}, "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g=="],
|
|
334
|
+
|
|
335
|
+
"@jdr377/message-box-store/express/content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="],
|
|
336
|
+
|
|
337
|
+
"knex/debug/ms": ["ms@2.1.2", "", {}, "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="],
|
|
338
|
+
}
|
|
339
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{createParticipantAuthorityReader,openAgentParticipantRuntime,parseParticipantAuthority,participantExternalMetadataSchema,participantMetadataSchema}from"./chunk-k75c97va.js";import"./chunk-e6y2yzbj.js";import"./chunk-wy5sgkmh.js";import"./chunk-btwmey1h.js";export{participantMetadataSchema,participantExternalMetadataSchema,parseParticipantAuthority,openAgentParticipantRuntime,createParticipantAuthorityReader};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{createAgentWalletConnectionInspector,createParticipantHTTPWallet,exportWalletDataZip,inspectWalletDataZip,openAgentLocalIntentRepository,parseParticipantAuthority,participantMetadataSchema,restoreWalletDataZip}from"./chunk-k75c97va.js";import"./chunk-e6y2yzbj.js";import"./chunk-wy5sgkmh.js";import"./chunk-btwmey1h.js";import{mkdir,open,readFile,rename,stat,copyFile}from"fs/promises";import{basename,join,resolve}from"path";import{constants}from"fs";import{createContext,computeBapId,resolveBapId}from"@1sat/actions";import{createNodeWallet}from"@1sat/wallet-node";import{PrivateKey}from"@bsv/sdk";var schema="mapapp-participant-setup/v1";class ParticipantSetupError extends Error{code;constructor(code){super(code);this.code=code}}function participantDeployment(value){try{const url=new URL(value);if(url.protocol!=="https:"||url.username||url.password||url.search||url.hash||url.pathname!=="/")throw new Error;return url.origin}catch{throw new ParticipantSetupError("setup_deployment_invalid")}}async function protectedWrite(filename,bytes,replace=false){const temporary=replace?`${filename}.${crypto.randomUUID()}.pending`:filename;const file=await open(temporary,"wx",384);try{await file.writeFile(bytes);await file.sync()}finally{await file.close()}if(replace)await rename(temporary,filename)}async function readParticipantSetup(directory){const path=join(resolve(directory),"setup.json");if((await stat(path)).size>4096)throw new ParticipantSetupError("setup_state_invalid");const value=JSON.parse(await readFile(path,"utf8"));if(value.schema!==schema||!["creating","restore_started","wallet_ready"].includes(value.phase)||!/^(02|03)[0-9a-f]{64}$/u.test(value.identityKey))throw new ParticipantSetupError("setup_state_invalid");return value}async function setupParticipantWallet(options){const directory=resolve(options.walletDirectory);const deployment=participantDeployment(options.deployment);let created=false;try{await mkdir(directory,{mode:448});created=true}catch(error){if(error.code!=="EEXIST")throw error}if(!created&&options.restore)throw new ParticipantSetupError("restore_requires_new_directory");if(created){const suppliedRoot=options.restore?(await boundedFile(options.restore.rootFile,128)).toString().trim():null;const key=suppliedRoot?PrivateKey.fromWif(suppliedRoot):PrivateKey.fromRandom();const meta2={chain:"main",identityKey:key.toPublicKey().toString(),storageIdentityKey:crypto.randomUUID(),servicesBaseUrl:`${deployment}/api/bitcoin/wallet-services`};const restoredAuthority=options.restore?parseParticipantAuthority(JSON.parse((await boundedFile(options.restore.authorityFile,4096)).toString())):null;if(options.restore){await inspectWalletDataZip(new Uint8Array(await boundedFile(options.restore.backupFile,512*1024*1024)),meta2);const operations=await boundedFile(options.restore.operationsFile,256*1024*1024);if(!operations.subarray(0,16).equals(Buffer.from("SQLite format 3\x00")))throw new ParticipantSetupError("restore_operations_invalid");if(await stat(options.restore.operationsFile+"-wal").then((info)=>info.size>0,()=>false))throw new ParticipantSetupError("restore_operations_not_checkpointed")}await protectedWrite(join(directory,"setup.json"),JSON.stringify({schema,phase:"creating",identityKey:meta2.identityKey,servicesBaseUrl:meta2.servicesBaseUrl}));await protectedWrite(join(directory,"wallet.json"),JSON.stringify(meta2));await protectedWrite(join(directory,"root.wif"),(suppliedRoot??key.toWif())+`
|
|
3
|
+
`);await protectedWrite(join(directory,"participant-authority.json"),JSON.stringify(restoredAuthority??{schema:"mapapp-participant-authority/v1",connectionId:`participant-${crypto.randomUUID()}`,callerId:`owner-${crypto.randomUUID()}`,originator:new URL(deployment).hostname,revision:"initial-denied",publishExactText:false,fullRootSpendingAuthorized:false}));if(options.restore)await copyFile(options.restore.operationsFile,join(directory,"agent-intents.sqlite"),constants.COPYFILE_EXCL)}const state=await readParticipantSetup(directory).catch(()=>{throw new ParticipantSetupError("setup_existing_directory_unrecognized")});if(state.servicesBaseUrl!==`${deployment}/api/bitcoin/wallet-services`)throw new ParticipantSetupError("setup_deployment_changed");if(state.phase==="restore_started")throw new ParticipantSetupError("restore_outcome_unknown");const meta=participantMetadataSchema.parse(JSON.parse((await boundedFile(join(directory,"wallet.json"),4096)).toString()));if(meta.identityKey!==state.identityKey||meta.servicesBaseUrl!==state.servicesBaseUrl)throw new ParticipantSetupError("setup_identity_changed");const root=PrivateKey.fromWif((await boundedFile(join(directory,"root.wif"),128)).toString().trim());if(root.toPublicKey().toString()!==meta.identityKey)throw new ParticipantSetupError("setup_identity_changed");const authority=parseParticipantAuthority(JSON.parse((await boundedFile(join(directory,"participant-authority.json"),4096)).toString()));const owned=openAgentLocalIntentRepository(join(directory,"agent-intents.sqlite"));let runtime;try{runtime=await createNodeWallet({privateKey:root,chain:"main",storageIdentityKey:meta.storageIdentityKey,storage:{provider:"bun-sqlite",filename:join(directory,"wallet.sqlite")},servicesBaseUrl:meta.servicesBaseUrl,skipInitialMonitor:true,backups:[],feeModel:{model:"sat/kb",value:100}});if((await runtime.wallet.getPublicKey({identityKey:true})).publicKey!==meta.identityKey||(await runtime.wallet.getNetwork({})).network!=="mainnet")throw new ParticipantSetupError("setup_wallet_binding_changed");if(options.restore){await protectedWrite(join(directory,"setup.json"),JSON.stringify({...state,phase:"restore_started"}),true);await restoreWalletDataZip(runtime.storage,new Uint8Array(await boundedFile(options.restore.backupFile,512*1024*1024)),meta,{assertTargetFresh:async()=>{if(!created)throw new ParticipantSetupError("restore_requires_new_directory")}})}const context=createContext(runtime.wallet,{services:runtime.services,dataDir:directory,chain:"main"});const bapId=await computeBapId(context),published=await resolveBapId(context);let recoveryArchive=state.recoveryArchive;if(state.phase==="wallet_ready"){if(!recoveryArchive||basename(recoveryArchive)!==recoveryArchive)throw new ParticipantSetupError("setup_recovery_archive_invalid");await inspectWalletDataZip(new Uint8Array(await boundedFile(join(directory,recoveryArchive),512*1024*1024)),meta)}if(state.phase!=="wallet_ready"){const archive=await exportWalletDataZip(runtime.storage,meta,{maxChunks:20});recoveryArchive=`wallet-data-setup-${crypto.randomUUID()}.zip`;await protectedWrite(join(directory,recoveryArchive),archive.bytes);await protectedWrite(join(directory,"setup.json"),JSON.stringify({...state,phase:"wallet_ready",recoveryArchive}),true)}return{schema,state:"wallet_ready",reused:!created,network:"mainnet",identityKey:meta.identityKey,bapId,identityPublication:published?"wallet_observed":"not_published",publicIdentityObservation:"not_checked",recovery:{rootFile:"root.wif",walletDataZip:recoveryArchive,operationStore:"agent-intents.sqlite"},authorityFile:"participant-authority.json",actionAuthority:created&&!options.restore?"denied_by_default":"retained_participant_policy",authorityRevision:authority.revision,next:published?"check_readiness":"authorize_sponsored_identity"}}finally{try{await runtime?.destroy()}finally{owned.close()}}}async function connectParticipantWallet(options){const directory=resolve(options.walletDirectory),deployment=participantDeployment(options.deployment);const originator=new URL(deployment).hostname;const authority={schema:"mapapp-participant-authority/v1",connectionId:`participant-${crypto.randomUUID()}`,callerId:`owner-${crypto.randomUUID()}`,originator,revision:"initial-denied",publishExactText:false,fullRootSpendingAuthorized:false,walletActionsAuthorized:false};const wallet=createParticipantHTTPWallet(options.walletEndpoint,originator);const inspector=createAgentWalletConnectionInspector({wallet,binding:{connectionId:authority.connectionId,callerId:authority.callerId,originator,expectedIdentityKey:options.identityKey,expectedNetwork:"mainnet",route:"existing_brc100",declaredAuthority:"provider"}});const observed=await inspector.inspect(authority.callerId);if(observed.state!=="ready")throw new ParticipantSetupError(`setup_provider_${observed.state}`);await mkdir(directory,{mode:448});await protectedWrite(join(directory,"wallet.json"),JSON.stringify({transport:"brc100_http",chain:"main",identityKey:options.identityKey,servicesBaseUrl:`${deployment}/api/bitcoin/wallet-services`,walletEndpoint:options.walletEndpoint}));await protectedWrite(join(directory,"participant-authority.json"),JSON.stringify(authority));const owned=openAgentLocalIntentRepository(join(directory,"agent-intents.sqlite"));owned.close();return{schema,state:"provider_bound",route:"existing_brc100",identityKey:options.identityKey,network:"mainnet",actionAuthority:"denied_by_default",backup:"provider_owned",authorityFile:"participant-authority.json",next:"check_readiness"}}async function boundedFile(filename,maximum){const info=await stat(filename);if(!info.isFile()||info.size<1||info.size>maximum)throw new ParticipantSetupError("setup_file_invalid");const bytes=await readFile(filename);if(bytes.length>maximum)throw new ParticipantSetupError("setup_file_invalid");return bytes}export{setupParticipantWallet,readParticipantSetup,participantDeployment,connectParticipantWallet,ParticipantSetupError};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
var __require=import.meta.require;var __using=(stack,value,async)=>{if(value!=null){if(typeof value!=="object"&&typeof value!=="function")throw TypeError('Object expected to be assigned to "using" declaration');let dispose;if(async)dispose=value[Symbol.asyncDispose];if(dispose===undefined)dispose=value[Symbol.dispose];if(typeof dispose!=="function")throw TypeError("Object not disposable");stack.push([async,dispose,value])}else if(async){stack.push([async])}return value};var __callDispose=(stack,error,hasError)=>{let fail=(e)=>error=hasError?new SuppressedError(e,error,"An error was suppressed during disposal"):(hasError=true,e),next=(it)=>{while(it=stack.pop()){try{var result=it[1]&&it[1].call(it[2]);if(it[0])return Promise.resolve(result).then(next,(e)=>(fail(e),next()))}catch(e){fail(e)}}if(hasError)throw error};return next()};
|
|
3
|
+
export{__require,__using,__callDispose};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{MAX_CLIENT_ATOMIC_BEEF_BYTES,executePaidPostAction,normalizePaidPostActionOutcome,recoverPaidPostEvidence}from"./chunk-e6y2yzbj.js";import"./chunk-btwmey1h.js";export{recoverPaidPostEvidence,normalizePaidPostActionOutcome,executePaidPostAction,MAX_CLIENT_ATOMIC_BEEF_BYTES};
|