askpillar 0.0.0-stage → 0.3.2
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/LICENSE +21 -0
- package/README.md +164 -2
- package/dist/THIRD_PARTY_NOTICES.md +358 -0
- package/dist/pillar.mjs +22975 -0
- package/package.json +58 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 PILLAR
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,165 @@
|
|
|
1
|
-
#
|
|
1
|
+
# PILLAR
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
Scripture-grounded, independently reviewed Christian guidance from [PILLAR](https://askpillar.ai), available inside Claude and ChatGPT.
|
|
6
|
+
|
|
7
|
+
Both the npm CLI and the separate plugin package connect to **https://mcp.askpillar.ai/mcp**. The plugin’s `pillar-guidance` skill applies when the user explicitly requests PILLAR. It instructs the model to call `ask_pillar`, present PILLAR's answer exactly as returned, and send requested follow-ups back to PILLAR using the returned `conversation_id`. The model must preserve PILLAR's Scripture references and attribution, and must never supply additional verse quotations or translations from memory. `get_pillar_usage` is reserved for explicit PILLAR usage questions.
|
|
8
|
+
|
|
9
|
+
## PILLAR CLI for coding agents
|
|
10
|
+
|
|
11
|
+
The CLI connects **Codex, Claude Code, and Cursor** to the same hosted PILLAR MCP and existing PILLAR accounts. It supports macOS/Linux with Node.js 22 and a browser on the same computer. No separate API key or new PILLAR account is needed.
|
|
12
|
+
|
|
13
|
+
Install the PILLAR CLI with:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npx askpillar install
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The install command asks which client to connect, then opens browser sign-in and finishes automatically. Running without a command displays help. Coding agents can select the client without a terminal prompt:
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
npx askpillar install --client codex
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Use `--client claude`, `--client cursor`, `--client codex,claude`, or `--client all` for other clients. The product and installed command remain **PILLAR / `pillar`**; the npm package is **`askpillar`**. The package exposes only the `pillar` executable; npx resolves that executable from the `askpillar` package automatically.
|
|
26
|
+
|
|
27
|
+
To build and test the local artifact before an authorized release:
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
pnpm install --frozen-lockfile
|
|
31
|
+
pnpm pack:cli
|
|
32
|
+
npx --yes "file:$(pwd)/dist/askpillar-0.3.2.tgz" install
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Run the local build commands from the repository root, or pass an absolute tarball path from another directory. Publishing to npm is a separate, explicitly authorized release operation.
|
|
36
|
+
|
|
37
|
+
Installation opens PILLAR's existing browser sign-in. Choose **Google** or **email magic link**, complete any required PILLAR account setup, and approve access. Open email links in the same browser profile on this computer. Leave the terminal running; the loopback callback resumes setup automatically. Login expires after five minutes and can be retried. SSH/headless authentication and a browser on another device are not supported.
|
|
38
|
+
|
|
39
|
+
The CLI verifies a real authenticated `get_profile` MCP call before configuring the selected clients. This check does not generate guidance or consume inference quota. Authentication does not prove a guidance answer was generated. **Restart the selected client or start a new session** to load PILLAR. The CLI installs the MCP connection; the plugin's guidance skill remains available through the plugin installation instructions below.
|
|
40
|
+
|
|
41
|
+
Manage the connection with:
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
npx askpillar login
|
|
45
|
+
npx askpillar status --json
|
|
46
|
+
npx askpillar logout
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`login` starts a fresh browser authorization. `install` reuses valid credentials and refreshes them as necessary. Repeating installation with the same bundle leaves matching client configuration byte-for-byte unchanged. Exact older CLI-generated Codex entries receive the new timeout settings automatically; custom settings are preserved. It preserves unrelated servers, settings, and comments, and refuses malformed configuration or an existing different `pillar` entry. Resolve that entry manually rather than replacing another connection silently. Concurrent edits detected before replacement fail with a retry message; clients should be closed while editing their configuration.
|
|
50
|
+
|
|
51
|
+
| Client | User configuration |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| Codex | `~/.codex/config.toml`, or `$CODEX_HOME/config.toml` |
|
|
54
|
+
| Claude Code | `~/.claude.json`, or `$CLAUDE_CONFIG_DIR/.claude.json` |
|
|
55
|
+
| Cursor | `~/.cursor/mcp.json` |
|
|
56
|
+
|
|
57
|
+
The installer writes user-level configuration and checks the current project separately. `status` distinguishes `userState` (what is installed globally) from `state` in the checked working directory. Claude local/project entries and Cursor project entries are preserved and reported as `shadowed` when they override this bridge. Codex project overrides are checked against the recorded project trust; unknown trust is reported as `project_override`. Unreadable project configuration is `scope_unknown`, not a claim that PILLAR is active. Other projects' Claude local entries do not block installation. The output names the checked directory, winning scope, and configuration file without printing server settings or credentials. Explicit launch flags, external profiles, and organization policies may further affect a client and are not evaluated by this inspection.
|
|
58
|
+
|
|
59
|
+
Codex entries use `startup_timeout_sec = 45` and `tool_timeout_sec = 210`, allowing overhead beyond the bridge's 20-second initialization and 180-second tool budgets. Custom shorter timeouts or disabled entries remain unchanged and produce warnings. The bridge preserves remote server instructions and capabilities during initialization. Its long-lived SSE connection has a response-header deadline but no fixed stream lifetime; process cancellation still closes it.
|
|
60
|
+
|
|
61
|
+
Client configuration contains the absolute Node executable path, the local bridge command, and the applicable client timeout settings. The bundled bridge is copied to `~/.pillar/runtime/pillar.mjs`, so deleting the source checkout or npx cache does not break it. If you move/remove the Node installation, remove the old `pillar` client entry and reinstall using the new Node executable.
|
|
62
|
+
|
|
63
|
+
Credentials live only in `~/.pillar/credentials.json` (mode `0600`, parent `0700`), outside the current project. This is an owner-readable file, **not an encrypted OS keychain**; applications running as your OS user can read it. Tokens, authorization codes, and provider error bodies are never printed. The CLI uses a public OAuth client with S256 PKCE and state validation, pins PILLAR's existing issuer, refuses credential-bearing HTTP redirects, and serializes token rotation across local processes. Refresh happens automatically when the bridge needs it; the bridge never opens a browser on its own. Browser sign-in holds no credential lock while waiting, so existing connections can continue and refresh. A protected, non-secret `login-generation.json` marker prevents an older browser login from overwriting a newer login or undoing logout. Lock recovery messages identify the exact path and owner PID; do not delete an active lock. Lock release checks that the path still belongs to the holder.
|
|
64
|
+
|
|
65
|
+
`logout` deletes this CLI's local credentials, including refresh credentials. Future bridge calls must sign in again; already in-flight calls may complete. It also invalidates pending browser logins and removes safely owned orphaned credential temporary files left by a crash. The non-secret generation marker remains. It leaves client configuration intact. **Server-side grant revocation is unavailable through the currently advertised OAuth metadata**, so logout reports `remoteRevoked: false`. It does not sign out PILLAR's website, mobile app, or independently configured native connectors.
|
|
66
|
+
|
|
67
|
+
Use `--json` for one JSON result on stdout; progress goes to stderr. Success uses `{ "ok": true, ... }`, failures use `{ "ok": false, "error": { "code": "...", "message": "..." } }` and exit 1. Signed-out `status` is a successful inspection with `authenticated: false`; authenticated status includes `verifiedTool: "get_profile"` and per-client configuration states. Setup errors do not print raw exceptions or credentials. Configuration of multiple clients is sequential. A failure after an earlier client write returns `partial_install`, the completed client records, the failed client, and `restartRequired: true`; rerunning resumes safely. SIGINT/SIGTERM cancel startup, verification, and active bridge work, and stdin EOF closes the bridge even during startup.
|
|
68
|
+
|
|
69
|
+
No backend or website changes are required for the existing OAuth flow. A production acceptance run still requires a human to complete Google or email sign-in and consent. Automated tests use a local callback and fixture OAuth/MCP services; they cannot establish that either external identity provider delivered a sign-in or magic link. Tests also exercise configuration precedence, preservation, concurrent authentication, refresh, logout, and packed npx execution without writing real client settings. Packed-process regressions drive initialize, tool listing, and authenticated tool calls through the actual extracted stdio executable, including first-signal cancellation and stdin EOF. The loopback fetch adapter used by those tests is excluded from the npm allowlist.
|
|
70
|
+
|
|
71
|
+
## Package
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
.claude-plugin/plugin.json Claude manifest
|
|
75
|
+
.claude-plugin/marketplace.json Claude Code installation catalog
|
|
76
|
+
.mcp.json Claude HTTP MCP connection
|
|
77
|
+
plugin.json Portable Agent Plugins manifest
|
|
78
|
+
mcp.json Portable Streamable HTTP connection; ChatGPT OAuth DCR
|
|
79
|
+
skills/pillar-guidance/SKILL.md Shared, provider-neutral instructions
|
|
80
|
+
assets/ Official PILLAR logo files
|
|
81
|
+
LICENSE MIT license
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Install in Claude
|
|
85
|
+
|
|
86
|
+
For Claude Code, add this repository's marketplace and install the plugin:
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
claude plugin marketplace add brandoncarneiro/pillar-plugin
|
|
90
|
+
claude plugin install pillar-plugin@pillar-plugins --scope user
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
For a local checkout, replace the marketplace source with its absolute path. Restart the Claude Code session after installation. Run `/mcp` and authenticate the plugin's PILLAR server if prompted, then ask a question with `/pillar-plugin:pillar-guidance`.
|
|
94
|
+
|
|
95
|
+
Claude Desktop shares Claude Code's user-scoped plugins with local Code sessions. For Claude chat or Cowork, use **Customize → Plugins → Add plugin → Upload plugin** to upload the packaged ZIP where custom plugin installation is available, then connect PILLAR through its normal OAuth flow. A standalone MCP connector supplies tools; the packaged skill supplies the answer-presentation instructions.
|
|
96
|
+
|
|
97
|
+
## Use in ChatGPT
|
|
98
|
+
|
|
99
|
+
Follow [OpenAI's plugin authoring and installation instructions](https://developers.openai.com/plugins/build/plugins) to install the portable package through the flow available in your ChatGPT workspace. The root `mcp.json` declares OAuth with `client.mode: "dcr"`; ChatGPT discovers PILLAR's authorization server and registers its client dynamically. Sign in to PILLAR and review the consent screen. No API key, client secret, or access token belongs in this package.
|
|
100
|
+
|
|
101
|
+
Ask PILLAR a question about faith, Scripture, or everyday life. Continue with follow-ups in the same conversation. Skills guide model behavior; verify the returned answer in the host when testing an installation.
|
|
102
|
+
|
|
103
|
+
The repository currently requires GitHub access. Building this package does not publish it to either provider's public directory.
|
|
104
|
+
|
|
105
|
+
## Data sent to PILLAR
|
|
106
|
+
|
|
107
|
+
`ask_pillar` receives the user's question and, for follow-ups, the PILLAR conversation ID. The host manages OAuth credentials. PILLAR processes the question under the connected account and maintains conversation history and usage. Connector turns may add account memory; existing memory items cannot be overwritten, modified, or deleted by connector turns. See PILLAR's [privacy policy](https://askpillar.ai/privacy) and [terms](https://askpillar.ai/terms).
|
|
108
|
+
|
|
109
|
+
The successful guidance result contains exactly `answer`, `scripture_references`, and `conversation_id`. The MCP response also mirrors those same three fields in a JSON text block for hosts that expose only text content. The skill reads that mirror when structured content is unavailable, displays the answer once, preserves references and attribution, and keeps the ID for requested follow-ups. It does not display both answer copies or raw metadata unless explicitly requested. The conversation ID is needed to continue the correct PILLAR conversation and is not appended to the displayed answer. The skill does not send host transcripts or accumulated context. The authenticated `get_profile` tool identifies the connected profile with an opaque ID; it does not provide an account directory or user lookup.
|
|
110
|
+
|
|
111
|
+
## Directory submission preparation
|
|
112
|
+
|
|
113
|
+
The portable manifest includes five positive and three negative review scenarios. These are expected behaviors for reviewers to execute, not evidence that the deployed connector or either host has passed them. Run them with a dedicated sample account after the hosted tools and their metadata are deployed, including `get_profile`.
|
|
114
|
+
|
|
115
|
+
Before OpenAI submission, supply a real reviewer-accessible video demonstrating the cases, verified publisher identity, domain verification, and reviewer account access through the secure dashboard. The package includes the public reviewer demo URL and omits all reviewer credentials. Keep the demo account available without MFA approval, email or SMS codes, magic links, or private-network access. Complete the required attestations only after verifying them. The current package is preparation material, not an approved or submitted listing.
|
|
116
|
+
|
|
117
|
+
For Claude's native Connectors Directory, submit the hosted MCP server separately through [the connector portal](https://claude.ai/directory/manage). This plugin package does not create a connector listing. Follow [Claude's submission requirements](https://claude.com/docs/connectors/building/submission) and [OpenAI's submission requirements](https://developers.openai.com/plugins/deploy/submission) for the remaining listing and review materials. The text-only connector does not have an interactive UI to screenshot.
|
|
118
|
+
|
|
119
|
+
## Validate and package
|
|
120
|
+
|
|
121
|
+
This repository contains a declarative plugin package and the bundled CLI. The supported MCP service is hosted by `pillar-backend`; the CLI is a local stdio bridge to that service, not an implementation of the PILLAR backend. Existing plugin installation commands and OAuth connections are unchanged.
|
|
122
|
+
|
|
123
|
+
Use Node.js 22 and pnpm 11.28.2 for development tooling:
|
|
124
|
+
|
|
125
|
+
```sh
|
|
126
|
+
pnpm install --frozen-lockfile
|
|
127
|
+
pnpm check
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
`pnpm check` runs Claude's pinned CLI in strict validation mode for both Claude manifests, validates the portable manifest and MCP configuration, checks the OpenAI fields and OAuth DCR configuration, runs package and CLI regression tests, then builds and verifies `dist/pillar-plugin.zip` and the standalone CLI. These checks use fixture services; none calls PILLAR or performs model inference. `pnpm validate`, `pnpm test`, and `pnpm build` can also run separately; `build` includes package validation, while Claude's official validation is a separate `validate:claude` step.
|
|
131
|
+
|
|
132
|
+
The plugin ZIP build uses the explicit ten-file allowlist in `scripts/package.mjs`, preserving the prior upload layout. It includes both logos, both manifest formats, MCP configuration, the skill, README, and license. It excludes local configuration, credentials, dependencies, validation tooling, and obsolete runtime files. The ZIP is checked for unexpected, missing, duplicate, or changed entries and compared byte-for-byte with the source files. Package inputs cannot be symlinks. Known credential patterns in allowed files fail validation without printing their values. The allowlist excludes secret files; pattern checks are an additional safeguard, not a guarantee of detecting every possible secret embedded in prose or images.
|
|
133
|
+
|
|
134
|
+
Portable validation uses vendored Agent Plugins 1.0.0 schemas, so checks do not depend on a live schema fetch. The published MCP schema excludes per-server extensions; the validator checks the exact documented OpenAI OAuth DCR configuration separately and applies the schema to the remaining portable core. OpenAI interface/review fields, PILLAR identity/version, skill references, required assets, and package metadata receive additional package-specific checks. These static checks do not execute directory review scenarios or establish host behavior, OAuth success, or Scripture correctness.
|
|
135
|
+
|
|
136
|
+
The separate npm artifact has its own explicit allowlist: the standalone `dist/pillar.mjs` bundle, generated `dist/THIRD_PARTY_NOTICES.md` for bundled dependencies, package metadata, README, and license. The logo in this README uses a hosted URL so it also renders in the npm package. CLI dependencies are bundled during development; no dependency installation or postinstall script runs on the user machine. `pnpm pack:cli` creates the tarball without publishing it.
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
Independent CI runs `bash scripts/ci/validate.sh` with Node.js 22 and pinned
|
|
140
|
+
pnpm 11.28.2, preserves the frozen lockfile, and retains the validated ZIP with its
|
|
141
|
+
SHA-256 digest and execution log outside GitHub. The operator-owned controller
|
|
142
|
+
in `pillar-mobile/infrastructure/ci` polls GitHub directly and runs the reviewed
|
|
143
|
+
gate in an isolated Linux guest without GitHub credentials. It publishes genuine
|
|
144
|
+
`pillar-ci/validation` status on the exact head SHA and `pillar-ci/integration`
|
|
145
|
+
status after validating the head merged with the current base. Its evidence
|
|
146
|
+
records both commits and the tested tree; neither status authorizes publishing.
|
|
147
|
+
|
|
148
|
+
GitHub Actions are disabled and no hosted workflow, Actions scheduler, artifact
|
|
149
|
+
storage or cache is required. Keep CI independent of GitHub paid features and
|
|
150
|
+
payment settings. If the host is asleep or offline, validation waits; an old green
|
|
151
|
+
status does not validate a new commit or base. Gate updates require an explicit
|
|
152
|
+
reviewed installation into the controller's protected guest gate directory. `vercel.json` keeps Git-triggered deployment disabled; this package has no Vercel function or rewrite. Publishing, host acceptance tests, and directory submission remain separate actions.
|
|
153
|
+
|
|
154
|
+
## Logo and license
|
|
155
|
+
|
|
156
|
+
The assets come from PILLAR's published [vector logo](https://askpillar.ai/brand/tent.svg) and [PNG logo](https://askpillar.ai/brand/library/v1/tent-blue-512.png). The vector retains its original paths, color, and viewBox, with a square 512px viewport for OpenAI's listing and composer icons. The PNG is unchanged. The package uses PILLAR's blue, `#2E5F86`.
|
|
157
|
+
|
|
158
|
+
Package code and documentation are licensed under [MIT](LICENSE). PILLAR branding remains owned by PILLAR.
|
|
159
|
+
|
|
160
|
+
## Format references
|
|
161
|
+
|
|
162
|
+
- [Claude plugin manifest](https://code.claude.com/docs/en/plugins-reference)
|
|
163
|
+
- [Claude installation](https://code.claude.com/docs/en/discover-plugins)
|
|
164
|
+
- [OpenAI plugin packaging and DCR configuration](https://developers.openai.com/plugins/build/plugins)
|
|
165
|
+
- [OpenAI OAuth authentication](https://developers.openai.com/plugins/build/auth)
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
# Bundled dependency notices
|
|
2
|
+
|
|
3
|
+
## @modelcontextprotocol/sdk@1.32.2
|
|
4
|
+
|
|
5
|
+
### LICENSE
|
|
6
|
+
|
|
7
|
+
MIT License
|
|
8
|
+
|
|
9
|
+
Copyright (c) 2024 Anthropic, PBC
|
|
10
|
+
|
|
11
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
13
|
+
in the Software without restriction, including without limitation the rights
|
|
14
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
15
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
16
|
+
furnished to do so, subject to the following conditions:
|
|
17
|
+
|
|
18
|
+
The above copyright notice and this permission notice shall be included in all
|
|
19
|
+
copies or substantial portions of the Software.
|
|
20
|
+
|
|
21
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
22
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
23
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
24
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
25
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
26
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
27
|
+
SOFTWARE.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## ajv-formats@3.0.1
|
|
31
|
+
|
|
32
|
+
### LICENSE
|
|
33
|
+
|
|
34
|
+
MIT License
|
|
35
|
+
|
|
36
|
+
Copyright (c) 2020 Evgeny Poberezkin
|
|
37
|
+
|
|
38
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
39
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
40
|
+
in the Software without restriction, including without limitation the rights
|
|
41
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
42
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
43
|
+
furnished to do so, subject to the following conditions:
|
|
44
|
+
|
|
45
|
+
The above copyright notice and this permission notice shall be included in all
|
|
46
|
+
copies or substantial portions of the Software.
|
|
47
|
+
|
|
48
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
49
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
50
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
51
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
52
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
53
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
54
|
+
SOFTWARE.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
## ajv@8.20.0
|
|
58
|
+
|
|
59
|
+
### LICENSE
|
|
60
|
+
|
|
61
|
+
The MIT License (MIT)
|
|
62
|
+
|
|
63
|
+
Copyright (c) 2015-2021 Evgeny Poberezkin
|
|
64
|
+
|
|
65
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
66
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
67
|
+
in the Software without restriction, including without limitation the rights
|
|
68
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
69
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
70
|
+
furnished to do so, subject to the following conditions:
|
|
71
|
+
|
|
72
|
+
The above copyright notice and this permission notice shall be included in all
|
|
73
|
+
copies or substantial portions of the Software.
|
|
74
|
+
|
|
75
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
76
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
77
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
78
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
79
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
80
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
81
|
+
SOFTWARE.
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
## content-type@1.0.5
|
|
86
|
+
|
|
87
|
+
### LICENSE
|
|
88
|
+
|
|
89
|
+
(The MIT License)
|
|
90
|
+
|
|
91
|
+
Copyright (c) 2015 Douglas Christopher Wilson
|
|
92
|
+
|
|
93
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
94
|
+
a copy of this software and associated documentation files (the
|
|
95
|
+
'Software'), to deal in the Software without restriction, including
|
|
96
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
97
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
98
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
99
|
+
the following conditions:
|
|
100
|
+
|
|
101
|
+
The above copyright notice and this permission notice shall be
|
|
102
|
+
included in all copies or substantial portions of the Software.
|
|
103
|
+
|
|
104
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
105
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
106
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
107
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
108
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
109
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
110
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
## eventsource-parser@3.1.1
|
|
114
|
+
|
|
115
|
+
### LICENSE
|
|
116
|
+
|
|
117
|
+
MIT License
|
|
118
|
+
|
|
119
|
+
Copyright (c) 2026 Espen Hovlandsdal <espen@hovlandsdal.com>
|
|
120
|
+
|
|
121
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
122
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
123
|
+
in the Software without restriction, including without limitation the rights
|
|
124
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
125
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
126
|
+
furnished to do so, subject to the following conditions:
|
|
127
|
+
|
|
128
|
+
The above copyright notice and this permission notice shall be included in all
|
|
129
|
+
copies or substantial portions of the Software.
|
|
130
|
+
|
|
131
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
132
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
133
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
134
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
135
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
136
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
137
|
+
SOFTWARE.
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
## fast-deep-equal@3.1.3
|
|
141
|
+
|
|
142
|
+
### LICENSE
|
|
143
|
+
|
|
144
|
+
MIT License
|
|
145
|
+
|
|
146
|
+
Copyright (c) 2017 Evgeny Poberezkin
|
|
147
|
+
|
|
148
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
149
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
150
|
+
in the Software without restriction, including without limitation the rights
|
|
151
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
152
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
153
|
+
furnished to do so, subject to the following conditions:
|
|
154
|
+
|
|
155
|
+
The above copyright notice and this permission notice shall be included in all
|
|
156
|
+
copies or substantial portions of the Software.
|
|
157
|
+
|
|
158
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
159
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
160
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
161
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
162
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
163
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
164
|
+
SOFTWARE.
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
## fast-uri@3.1.8
|
|
168
|
+
|
|
169
|
+
### LICENSE
|
|
170
|
+
|
|
171
|
+
Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae
|
|
172
|
+
Copyright (c) 2021-present The Fastify team <https://github.com/fastify/fastify#team>
|
|
173
|
+
All rights reserved.
|
|
174
|
+
|
|
175
|
+
Redistribution and use in source and binary forms, with or without
|
|
176
|
+
modification, are permitted provided that the following conditions are met:
|
|
177
|
+
* Redistributions of source code must retain the above copyright
|
|
178
|
+
notice, this list of conditions and the following disclaimer.
|
|
179
|
+
* Redistributions in binary form must reproduce the above copyright
|
|
180
|
+
notice, this list of conditions and the following disclaimer in the
|
|
181
|
+
documentation and/or other materials provided with the distribution.
|
|
182
|
+
* The names of any contributors may not be used to endorse or promote
|
|
183
|
+
products derived from this software without specific prior written
|
|
184
|
+
permission.
|
|
185
|
+
|
|
186
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
187
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
188
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
189
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY
|
|
190
|
+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
191
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
192
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
193
|
+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
194
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
195
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
196
|
+
|
|
197
|
+
* * *
|
|
198
|
+
|
|
199
|
+
The complete list of contributors can be found at:
|
|
200
|
+
- https://github.com/garycourt/uri-js/graphs/contributors
|
|
201
|
+
|
|
202
|
+
## json-schema-traverse@1.0.0
|
|
203
|
+
|
|
204
|
+
### LICENSE
|
|
205
|
+
|
|
206
|
+
MIT License
|
|
207
|
+
|
|
208
|
+
Copyright (c) 2017 Evgeny Poberezkin
|
|
209
|
+
|
|
210
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
211
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
212
|
+
in the Software without restriction, including without limitation the rights
|
|
213
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
214
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
215
|
+
furnished to do so, subject to the following conditions:
|
|
216
|
+
|
|
217
|
+
The above copyright notice and this permission notice shall be included in all
|
|
218
|
+
copies or substantial portions of the Software.
|
|
219
|
+
|
|
220
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
221
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
222
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
223
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
224
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
225
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
226
|
+
SOFTWARE.
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
## jsonc-parser@3.3.1
|
|
230
|
+
|
|
231
|
+
### LICENSE.md
|
|
232
|
+
|
|
233
|
+
The MIT License (MIT)
|
|
234
|
+
|
|
235
|
+
Copyright (c) Microsoft
|
|
236
|
+
|
|
237
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
238
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
239
|
+
in the Software without restriction, including without limitation the rights
|
|
240
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
241
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
242
|
+
furnished to do so, subject to the following conditions:
|
|
243
|
+
|
|
244
|
+
The above copyright notice and this permission notice shall be included in all
|
|
245
|
+
copies or substantial portions of the Software.
|
|
246
|
+
|
|
247
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
248
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
249
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
250
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
251
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
252
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
253
|
+
SOFTWARE.
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
## pkce-challenge@5.0.1
|
|
257
|
+
|
|
258
|
+
### LICENSE
|
|
259
|
+
|
|
260
|
+
MIT License
|
|
261
|
+
|
|
262
|
+
Copyright (c) 2019
|
|
263
|
+
|
|
264
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
265
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
266
|
+
in the Software without restriction, including without limitation the rights
|
|
267
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
268
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
269
|
+
furnished to do so, subject to the following conditions:
|
|
270
|
+
|
|
271
|
+
The above copyright notice and this permission notice shall be included in all
|
|
272
|
+
copies or substantial portions of the Software.
|
|
273
|
+
|
|
274
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
275
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
276
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
277
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
278
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
279
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
280
|
+
SOFTWARE.
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
## smol-toml@1.9.1
|
|
284
|
+
|
|
285
|
+
### LICENSE
|
|
286
|
+
|
|
287
|
+
Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
288
|
+
|
|
289
|
+
Redistribution and use in source and binary forms, with or without
|
|
290
|
+
modification, are permitted provided that the following conditions are met:
|
|
291
|
+
|
|
292
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
293
|
+
list of conditions and the following disclaimer.
|
|
294
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
295
|
+
this list of conditions and the following disclaimer in the
|
|
296
|
+
documentation and/or other materials provided with the distribution.
|
|
297
|
+
3. Neither the name of the copyright holder nor the names of its contributors
|
|
298
|
+
may be used to endorse or promote products derived from this software without
|
|
299
|
+
specific prior written permission.
|
|
300
|
+
|
|
301
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
302
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
303
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
304
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
305
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
306
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
307
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
308
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
309
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
310
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
## zod-to-json-schema@3.25.2
|
|
314
|
+
|
|
315
|
+
### LICENSE
|
|
316
|
+
|
|
317
|
+
ISC License
|
|
318
|
+
|
|
319
|
+
Copyright (c) 2020, Stefan Terdell
|
|
320
|
+
|
|
321
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
322
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
323
|
+
copyright notice and this permission notice appear in all copies.
|
|
324
|
+
|
|
325
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
326
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
327
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
328
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
329
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
330
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
331
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
332
|
+
|
|
333
|
+
## zod@4.6.7
|
|
334
|
+
|
|
335
|
+
### LICENSE
|
|
336
|
+
|
|
337
|
+
MIT License
|
|
338
|
+
|
|
339
|
+
Copyright (c) 2025 Colin McDonnell
|
|
340
|
+
|
|
341
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
342
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
343
|
+
in the Software without restriction, including without limitation the rights
|
|
344
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
345
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
346
|
+
furnished to do so, subject to the following conditions:
|
|
347
|
+
|
|
348
|
+
The above copyright notice and this permission notice shall be included in all
|
|
349
|
+
copies or substantial portions of the Software.
|
|
350
|
+
|
|
351
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
352
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
353
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
354
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
355
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
356
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
357
|
+
SOFTWARE.
|
|
358
|
+
|