@daniel156161/prism 0.2.101 → 0.2.105
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 +2 -2
- package/dist/pi/pi-env.d.ts +1 -1
- package/dist/pi/pi-env.js +1 -1
- package/dist/prism-extensions/integrations/ai-memory-system.js +16 -9
- package/dist/prism-extensions/integrations/ai-memory-system.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +23 -25
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +3 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +3 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +38 -6
- package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +75 -0
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +75 -0
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts +3 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/deepseek.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/mistral.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -2
- package/node_modules/@earendil-works/pi-client/CHANGELOG.md +1 -1
- package/node_modules/@earendil-works/pi-client/package.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +47 -3
- package/node_modules/@earendil-works/pi-coding-agent/README.md +5 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-GPPBJGBU.js → chunk-2KVJKXS2.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-E5KXRMZK.js → chunk-OMWWHBTG.js} +69 -68
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/github-copilot.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{google-generative-ai-XDKMGBCJ.js → google-generative-ai-YMUPJBKR.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{google-vertex-D5FGEO3Y.js → google-vertex-MPWMV4OF.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/https-proxy-agent-2VXB7436.js +13 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{mistral-conversations-YK73UAOZ.js → mistral-conversations-Q3AWZJAZ.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{openai-completions-JD4WAC3R.js → openai-completions-ERMU2SS7.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/index.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/rpc-entry.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +12 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +77 -9
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +19 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +45 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +18 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +4 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +8 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +17 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.d.ts +6 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.js +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/client.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.js +27 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/extensions/llama/provider.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +10 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +4 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +55 -31
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js +6 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/compaction.md +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +7 -7
- package/node_modules/@earendil-works/pi-coding-agent/docs/environment-variables.md +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +18 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/keybindings.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +23 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +12 -4
- package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package-lock.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/package.json +6 -6
- package/node_modules/@earendil-works/pi-protocol/package.json +1 -1
- package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/README.md +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +36 -3
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.js +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +2 -0
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +37 -2
- package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts +11 -0
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js +58 -15
- package/node_modules/@earendil-works/pi-tui/dist/tui-alt-screen.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.js +105 -45
- package/node_modules/@earendil-works/pi-tui/dist/tui-main-screen.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.buffer.d.ts +5 -0
- package/node_modules/@types/node/crypto.d.ts +0 -2
- package/node_modules/@types/node/dgram.d.ts +119 -4
- package/node_modules/@types/node/fs/promises.d.ts +61 -65
- package/node_modules/@types/node/fs.d.ts +86 -76
- package/node_modules/@types/node/http.d.ts +1 -1
- package/node_modules/@types/node/http2.d.ts +2 -2
- package/node_modules/@types/node/index.d.ts +1 -0
- package/node_modules/@types/node/inspector.d.ts +2 -1
- package/node_modules/@types/node/net.d.ts +108 -16
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/quic.d.ts +37 -11
- package/node_modules/@types/node/stream/iter.d.ts +4 -4
- package/node_modules/@types/node/tls.d.ts +24 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
- package/node_modules/@types/node/tty.d.ts +4 -3
- package/node_modules/@types/node/vfs.d.ts +210 -0
- package/node_modules/@types/node/vm.d.ts +1 -1
- package/package.json +9 -9
- package/src/prism-extensions/integrations/ai-memory-system.ts +14 -9
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/dist-RDWOYWHR.js +0 -13
|
@@ -110,6 +110,7 @@
|
|
|
110
110
|
/// <reference path="../util.d.ts" />
|
|
111
111
|
/// <reference path="../util/types.d.ts" />
|
|
112
112
|
/// <reference path="../v8.d.ts" />
|
|
113
|
+
/// <reference path="../vfs.d.ts" />
|
|
113
114
|
/// <reference path="../vm.d.ts" />
|
|
114
115
|
/// <reference path="../wasi.d.ts" />
|
|
115
116
|
/// <reference path="../worker_threads.d.ts" />
|
|
@@ -28,10 +28,11 @@ declare module "node:tty" {
|
|
|
28
28
|
* Allows configuration of `tty.ReadStream` so that it operates as a raw device.
|
|
29
29
|
*
|
|
30
30
|
* When in raw mode, input is always available character-by-character, not
|
|
31
|
-
* including modifiers. Additionally, all special processing of characters
|
|
32
|
-
* terminal is disabled, including echoing input
|
|
31
|
+
* including modifiers. Additionally, all special processing of input characters
|
|
32
|
+
* by the terminal is disabled, including echoing input
|
|
33
33
|
* characters. Ctrl+C will no longer cause a `SIGINT` when
|
|
34
|
-
* in this mode.
|
|
34
|
+
* in this mode. This mode does not affect terminal output processing, such as
|
|
35
|
+
* newline translation on Unix terminals.
|
|
35
36
|
* @since v0.7.7
|
|
36
37
|
* @param mode If `true`, configures the `tty.ReadStream` to operate as a raw device. If `false`, configures the `tty.ReadStream` to operate in its default mode. The `readStream.isRaw`
|
|
37
38
|
* property will be set to the resulting mode.
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
declare module "node:vfs" {
|
|
2
|
+
/**
|
|
3
|
+
* Convenience factory equivalent to `new VirtualFileSystem(provider, options)`.
|
|
4
|
+
*
|
|
5
|
+
* ```js
|
|
6
|
+
* const vfs = require('node:vfs');
|
|
7
|
+
*
|
|
8
|
+
* // Default in-memory provider
|
|
9
|
+
* const memoryVfs = vfs.create();
|
|
10
|
+
*
|
|
11
|
+
* // Explicit provider
|
|
12
|
+
* const realVfs = vfs.create(new vfs.RealFSProvider('/tmp/sandbox'));
|
|
13
|
+
* ```
|
|
14
|
+
* @since v26.4.0
|
|
15
|
+
* @param provider The provider to use. **Default:** `new MemoryProvider()`.
|
|
16
|
+
*/
|
|
17
|
+
function create(provider?: VirtualProvider, options?: VirtualFileSystemOptions): VirtualFileSystem;
|
|
18
|
+
function create(options: VirtualFileSystemOptions): VirtualFileSystem;
|
|
19
|
+
interface VirtualFileSystemOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Whether to emit the experimental warning. **Default:** `true`.
|
|
22
|
+
*/
|
|
23
|
+
emitExperimentalWarning?: boolean | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A `VirtualFileSystem` wraps a {@link VirtualProvider} and exposes a
|
|
27
|
+
* `node:fs`-like API. Each instance maintains its own file tree.
|
|
28
|
+
* @since v26.4.0
|
|
29
|
+
*/
|
|
30
|
+
class VirtualFileSystem {
|
|
31
|
+
/**
|
|
32
|
+
* @param provider The provider to use. **Default:** `new MemoryProvider()`.
|
|
33
|
+
*/
|
|
34
|
+
constructor(provider?: VirtualProvider, options?: VirtualFileSystemOptions);
|
|
35
|
+
constructor(options: VirtualFileSystemOptions);
|
|
36
|
+
/**
|
|
37
|
+
* The provider backing this VFS instance.
|
|
38
|
+
* @since v26.4.0
|
|
39
|
+
*/
|
|
40
|
+
readonly provider: VirtualProvider;
|
|
41
|
+
/**
|
|
42
|
+
* `true` when the underlying provider is read-only.
|
|
43
|
+
* @since v26.4.0
|
|
44
|
+
*/
|
|
45
|
+
readonly readonly: boolean;
|
|
46
|
+
}
|
|
47
|
+
interface VirtualFileSystem extends
|
|
48
|
+
// Synchronous API
|
|
49
|
+
Pick<
|
|
50
|
+
typeof import("node:fs"),
|
|
51
|
+
| "existsSync"
|
|
52
|
+
| "statSync"
|
|
53
|
+
| "lstatSync"
|
|
54
|
+
| "readFileSync"
|
|
55
|
+
| "writeFileSync"
|
|
56
|
+
| "appendFileSync"
|
|
57
|
+
| "readdirSync"
|
|
58
|
+
| "mkdirSync"
|
|
59
|
+
| "rmdirSync"
|
|
60
|
+
| "unlinkSync"
|
|
61
|
+
| "renameSync"
|
|
62
|
+
| "copyFileSync"
|
|
63
|
+
| "realpathSync"
|
|
64
|
+
| "readlinkSync"
|
|
65
|
+
| "symlinkSync"
|
|
66
|
+
| "accessSync"
|
|
67
|
+
| "rmSync"
|
|
68
|
+
| "truncateSync"
|
|
69
|
+
| "ftruncateSync"
|
|
70
|
+
| "linkSync"
|
|
71
|
+
| "chmodSync"
|
|
72
|
+
| "chownSync"
|
|
73
|
+
| "utimesSync"
|
|
74
|
+
| "lutimesSync"
|
|
75
|
+
| "mkdtempSync"
|
|
76
|
+
| "opendirSync"
|
|
77
|
+
| "openAsBlob"
|
|
78
|
+
| "openSync"
|
|
79
|
+
| "closeSync"
|
|
80
|
+
| "readSync"
|
|
81
|
+
| "writeSync"
|
|
82
|
+
| "fstatSync"
|
|
83
|
+
| "createReadStream"
|
|
84
|
+
| "createWriteStream"
|
|
85
|
+
| "watch"
|
|
86
|
+
| "watchFile"
|
|
87
|
+
| "unwatchFile"
|
|
88
|
+
>,
|
|
89
|
+
// Callback API
|
|
90
|
+
Pick<
|
|
91
|
+
typeof import("node:fs"),
|
|
92
|
+
| "readFile"
|
|
93
|
+
| "writeFile"
|
|
94
|
+
| "stat"
|
|
95
|
+
| "lstat"
|
|
96
|
+
| "readdir"
|
|
97
|
+
| "realpath"
|
|
98
|
+
| "readlink"
|
|
99
|
+
| "access"
|
|
100
|
+
| "open"
|
|
101
|
+
| "close"
|
|
102
|
+
| "read"
|
|
103
|
+
| "write"
|
|
104
|
+
| "rm"
|
|
105
|
+
| "fstat"
|
|
106
|
+
| "truncate"
|
|
107
|
+
| "ftruncate"
|
|
108
|
+
| "link"
|
|
109
|
+
| "mkdtemp"
|
|
110
|
+
| "opendir"
|
|
111
|
+
>
|
|
112
|
+
{
|
|
113
|
+
// Promise API
|
|
114
|
+
readonly promises: Pick<
|
|
115
|
+
typeof import("node:fs/promises"),
|
|
116
|
+
| "readFile"
|
|
117
|
+
| "writeFile"
|
|
118
|
+
| "appendFile"
|
|
119
|
+
| "stat"
|
|
120
|
+
| "lstat"
|
|
121
|
+
| "readdir"
|
|
122
|
+
| "mkdir"
|
|
123
|
+
| "rmdir"
|
|
124
|
+
| "unlink"
|
|
125
|
+
| "rename"
|
|
126
|
+
| "copyFile"
|
|
127
|
+
| "realpath"
|
|
128
|
+
| "readlink"
|
|
129
|
+
| "symlink"
|
|
130
|
+
| "access"
|
|
131
|
+
| "rm"
|
|
132
|
+
| "truncate"
|
|
133
|
+
| "link"
|
|
134
|
+
| "mkdtemp"
|
|
135
|
+
| "chmod"
|
|
136
|
+
| "chown"
|
|
137
|
+
| "lchown"
|
|
138
|
+
| "utimes"
|
|
139
|
+
| "lutimes"
|
|
140
|
+
| "open"
|
|
141
|
+
| "lchmod"
|
|
142
|
+
| "watch"
|
|
143
|
+
>;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* The base class for all VFS providers. Subclasses implement the essential
|
|
147
|
+
* primitives (such as `open`, `stat`, `readdir`, `mkdir`, `rmdir`, `unlink`,
|
|
148
|
+
* `rename`, etc.) and inherit default implementations of the derived
|
|
149
|
+
* methods (such as `readFile`, `writeFile`, `exists`, `copyFile`, `access`, etc.).
|
|
150
|
+
* @since v26.4.0
|
|
151
|
+
*/
|
|
152
|
+
abstract class VirtualProvider {
|
|
153
|
+
get readonly(): boolean;
|
|
154
|
+
get supportsSymlinks(): boolean;
|
|
155
|
+
get supportsWatch(): boolean;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* The default in-memory provider. Stores files, directories, and symbolic
|
|
159
|
+
* links in a `Map`-backed tree, supports symlinks (`supportsSymlinks ===
|
|
160
|
+
* true`), and supports watching (`supportsWatch === true`).
|
|
161
|
+
* @since v26.4.0
|
|
162
|
+
*/
|
|
163
|
+
class MemoryProvider extends VirtualProvider {
|
|
164
|
+
/**
|
|
165
|
+
* Locks the provider into read-only mode. Subsequent writes through any
|
|
166
|
+
* `VirtualFileSystem` using this provider throw `EROFS`. There is no
|
|
167
|
+
* way to revert the provider to writable.
|
|
168
|
+
*
|
|
169
|
+
* ```js
|
|
170
|
+
* const vfs = require('node:vfs');
|
|
171
|
+
*
|
|
172
|
+
* const provider = new vfs.MemoryProvider();
|
|
173
|
+
* const myVfs = vfs.create(provider);
|
|
174
|
+
* myVfs.writeFileSync('/seed.txt', 'initial');
|
|
175
|
+
*
|
|
176
|
+
* provider.setReadOnly();
|
|
177
|
+
*
|
|
178
|
+
* myVfs.writeFileSync('/x.txt', 'fail'); // throws EROFS
|
|
179
|
+
* ```
|
|
180
|
+
* @since v26.4.0
|
|
181
|
+
*/
|
|
182
|
+
setReadOnly(): void;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* A provider that wraps a directory (i.e. one on the actual file system) and exposes its
|
|
186
|
+
* contents through the VFS API. All VFS paths are resolved relative to
|
|
187
|
+
* the root and verified to stay inside it; symbolic links resolving
|
|
188
|
+
* outside the root are rejected.
|
|
189
|
+
* @since v26.4.0
|
|
190
|
+
*/
|
|
191
|
+
class RealFSProvider extends VirtualProvider {
|
|
192
|
+
/**
|
|
193
|
+
* ```js
|
|
194
|
+
* const vfs = require('node:vfs');
|
|
195
|
+
*
|
|
196
|
+
* const realVfs = vfs.create(new vfs.RealFSProvider('/tmp/sandbox'));
|
|
197
|
+
* realVfs.writeFileSync('/file.txt', 'hello'); // writes /tmp/sandbox/file.txt
|
|
198
|
+
* ```
|
|
199
|
+
* @since v26.4.0
|
|
200
|
+
* @param rootPath The absolute file-system path to use as the root.
|
|
201
|
+
* Must be a non-empty string.
|
|
202
|
+
*/
|
|
203
|
+
constructor(rootPath: string);
|
|
204
|
+
/**
|
|
205
|
+
* The resolved absolute path used as the root.
|
|
206
|
+
* @since v26.4.0
|
|
207
|
+
*/
|
|
208
|
+
readonly rootPath: string;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
@@ -741,7 +741,7 @@ declare module "node:vm" {
|
|
|
741
741
|
*/
|
|
742
742
|
status: ModuleStatus;
|
|
743
743
|
/**
|
|
744
|
-
* Evaluate the module and its
|
|
744
|
+
* Evaluate the module and its dependencies. Corresponds to the [Evaluate() concrete method](https://tc39.es/ecma262/#sec-moduleevaluation) field of
|
|
745
745
|
* [Cyclic Module Record](https://tc39.es/ecma262/#sec-cyclic-module-records)s in the ECMAScript specification.
|
|
746
746
|
*
|
|
747
747
|
* If the module is a `vm.SourceTextModule`, `evaluate()` must be called after the module has been instantiated;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daniel156161/prism",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.105",
|
|
4
4
|
"description": "Prism-branded wrapper around pi that stores config in ~/.prism",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Daniel Dolezal",
|
|
@@ -35,19 +35,19 @@
|
|
|
35
35
|
"package:publish:npm": "node scripts/publish-npm-package.mjs"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@earendil-works/pi-ai": "^0.84.
|
|
39
|
-
"@earendil-works/pi-coding-agent": "^0.84.
|
|
40
|
-
"@juicesharp/rpiv-i18n": "^2.
|
|
41
|
-
"@juicesharp/rpiv-todo": "^2.
|
|
42
|
-
"@juicesharp/rpiv-voice": "^2.
|
|
43
|
-
"pi-mcp-adapter": "^2.
|
|
44
|
-
"typebox": "^1.3.
|
|
38
|
+
"@earendil-works/pi-ai": "^0.84.4",
|
|
39
|
+
"@earendil-works/pi-coding-agent": "^0.84.4",
|
|
40
|
+
"@juicesharp/rpiv-i18n": "^2.8.0",
|
|
41
|
+
"@juicesharp/rpiv-todo": "^2.8.0",
|
|
42
|
+
"@juicesharp/rpiv-voice": "^2.8.0",
|
|
43
|
+
"pi-mcp-adapter": "^2.31.0",
|
|
44
|
+
"typebox": "^1.3.21"
|
|
45
45
|
},
|
|
46
46
|
"bundledDependencies": [
|
|
47
47
|
"@earendil-works/pi-coding-agent"
|
|
48
48
|
],
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@types/node": "^26.
|
|
50
|
+
"@types/node": "^26.4.0",
|
|
51
51
|
"tsx": "^4.23.12",
|
|
52
52
|
"typescript": "^7.0.2"
|
|
53
53
|
},
|
|
@@ -165,10 +165,9 @@ export function aiMemoryAuditAgentPrompt(): string {
|
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
function formatReadResult(data: any): string {
|
|
168
|
-
const
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
return `Quelle: ${source}:${path}${truncated}\n\n${String(data?.content ?? "")}`
|
|
168
|
+
const content = String(data?.content ?? "")
|
|
169
|
+
const truncated = data?.truncated ? `Hinweis: auf ${data.max_chars ?? "?"} Zeichen gekürzt.` : ""
|
|
170
|
+
return [truncated, content].filter(Boolean).join("\n\n")
|
|
172
171
|
}
|
|
173
172
|
|
|
174
173
|
function compactExcerpt(value: unknown, maxLength = 360): string {
|
|
@@ -474,11 +473,14 @@ export default function aiMemorySystemExtension(pi: ExtensionAPI): void {
|
|
|
474
473
|
pi.registerTool({
|
|
475
474
|
name: "ai_memory_feedback",
|
|
476
475
|
label: "AI Memory Feedback",
|
|
477
|
-
description: "List pending lessons or approve/reject one proposal. Approval writes durable memory.",
|
|
478
|
-
promptSnippet: "Use
|
|
479
|
-
promptGuidelines: [
|
|
476
|
+
description: "List pending lessons, look up one lesson by ID, or approve/reject one proposal. Approval writes durable memory to the database.",
|
|
477
|
+
promptSnippet: "Use list/get freely for lesson inspection. Use approve/reject only after explicit user approval.",
|
|
478
|
+
promptGuidelines: [
|
|
479
|
+
"Use action=get with proposal_id when prompt context references a Lesson-ID and you need the rationale/evidence.",
|
|
480
|
+
"Never approve a lesson without explicit user approval in the current conversation.",
|
|
481
|
+
],
|
|
480
482
|
parameters: Type.Object({
|
|
481
|
-
action: Type.Optional(Type.String({ description: "list (default), approve, or reject" })),
|
|
483
|
+
action: Type.Optional(Type.String({ description: "list (default), get, approve, or reject" })),
|
|
482
484
|
proposal_id: Type.Optional(Type.String({ description: "Required for approve/reject" })),
|
|
483
485
|
status: Type.Optional(Type.String({ description: "List filter: pending, approved, or rejected" })),
|
|
484
486
|
session_id: Type.Optional(Type.String({ description: "Optional session filter for listing" })),
|
|
@@ -491,9 +493,12 @@ export default function aiMemorySystemExtension(pi: ExtensionAPI): void {
|
|
|
491
493
|
if (params.status) query.set("status", String(params.status))
|
|
492
494
|
if (params.session_id) query.set("session_id", String(params.session_id))
|
|
493
495
|
data = await getJson<any>(`/lessons${query.size ? `?${query}` : ""}`, aiMemoryRequestTimeoutMs())
|
|
496
|
+
} else if (action === "get") {
|
|
497
|
+
if (!params.proposal_id) throw new Error("proposal_id is required for action=get")
|
|
498
|
+
data = await getJson<any>(`/lessons/${encodeURIComponent(String(params.proposal_id))}`, aiMemoryRequestTimeoutMs())
|
|
494
499
|
} else {
|
|
495
500
|
if (!["approve", "reject"].includes(action) || !params.proposal_id) {
|
|
496
|
-
throw new Error("action must be list, approve, or reject; proposal_id is required for decisions")
|
|
501
|
+
throw new Error("action must be list, get, approve, or reject; proposal_id is required for get/decisions")
|
|
497
502
|
}
|
|
498
503
|
data = await methodJson<any>("DECISION", "/lessons", aiMemoryRequestTimeoutMs(), {
|
|
499
504
|
proposal_id: String(params.proposal_id),
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
|
|
2
|
-
import{__commonJS,__require}from"./chunk-4L3WN2XY.js";var require_ms=__commonJS({"node_modules/ms/index.js"(exports,module){var s=1e3,m=s*60,h=m*60,d=h*24,w=d*7,y=d*365.25;module.exports=function(val,options){options=options||{};var type=typeof val;if(type==="string"&&val.length>0)return parse(val);if(type==="number"&&isFinite(val))return options.long?fmtLong(val):fmtShort(val);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse(str){if(str=String(str),!(str.length>100)){var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(match){var n=parseFloat(match[1]),type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function fmtShort(ms){var msAbs=Math.abs(ms);return msAbs>=d?Math.round(ms/d)+"d":msAbs>=h?Math.round(ms/h)+"h":msAbs>=m?Math.round(ms/m)+"m":msAbs>=s?Math.round(ms/s)+"s":ms+"ms"}function fmtLong(ms){var msAbs=Math.abs(ms);return msAbs>=d?plural(ms,msAbs,d,"day"):msAbs>=h?plural(ms,msAbs,h,"hour"):msAbs>=m?plural(ms,msAbs,m,"minute"):msAbs>=s?plural(ms,msAbs,s,"second"):ms+" ms"}function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}}});var require_common=__commonJS({"node_modules/debug/src/common.js"(exports,module){function setup(env){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env).forEach(key=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug(...args){if(!debug.enabled)return;let self=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!="string"&&args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match,format)=>{if(match==="%%")return"%";index++;let formatter=createDebug.formatters[format];if(typeof formatter=="function"){let val=args[index];match=formatter.call(self,val),args.splice(index,1),index--}return match}),createDebug.formatArgs.call(self,args),(self.log||createDebug.log).apply(self,args)}return debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>enableOverride!==null?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),set:v=>{enableOverride=v}}),typeof createDebug.init=="function"&&createDebug.init(debug),debug}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(typeof delimiter>"u"?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces=="string"?namespaces:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let ns of split)ns[0]==="-"?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}function matchesTemplate(search,template){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template.length&&(template[templateIndex]===search[searchIndex]||template[templateIndex]==="*"))template[templateIndex]==="*"?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template.length&&template[templateIndex]==="*";)templateIndex++;return templateIndex===template.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces}function enabled(name){for(let skip of createDebug.skips)if(matchesTemplate(name,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name,ns))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module.exports=setup}});var require_browser=__commonJS({"node_modules/debug/src/browser.js"(exports,module){exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.storage=localstorage();exports.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match=>{match!=="%%"&&(index++,match==="%c"&&(lastC=index))}),args.splice(lastC,0,c)}exports.log=console.debug||console.log||(()=>{});function save(namespaces){try{namespaces?exports.storage.setItem("debug",namespaces):exports.storage.removeItem("debug")}catch{}}function load(){let r;try{r=exports.storage.getItem("debug")||exports.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function localstorage(){try{return localStorage}catch{}}module.exports=require_common()(exports);var{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_node=__commonJS({"node_modules/debug/src/node.js"(exports,module){var tty=__require("tty"),util=__require("util");exports.init=init;exports.log=log;exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.destroy=util.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports.colors=[6,2,3,4,5,1];try{let supportsColor=__require("supports-color");supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}exports.inspectOpts=Object.keys(process.env).filter(key=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>k.toUpperCase()),val=process.env[key];return/^(yes|on|true|enabled)$/i.test(val)?val=!0:/^(no|off|false|disabled)$/i.test(val)?val=!1:val==="null"?val=null:val=Number(val),obj[prop]=val,obj},{});function useColors(){return"colors"in exports.inspectOpts?!!exports.inspectOpts.colors:tty.isatty(process.stderr.fd)}function formatArgs(args){let{namespace:name,useColors:useColors2}=this;if(useColors2){let c=this.color,colorCode="\x1B[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} \x1B[0m`;args[0]=prefix+args[0].split(`
|
|
3
|
-
`).join(`
|
|
4
|
-
`+prefix),args.push(colorCode+"m+"+module.exports.humanize(this.diff)+"\x1B[0m")}else args[0]=getDate()+name+" "+args[0]}function getDate(){return exports.inspectOpts.hideDate?"":new Date().toISOString()+" "}function log(...args){return process.stderr.write(util.formatWithOptions(exports.inspectOpts,...args)+`
|
|
5
|
-
`)}function save(namespaces){namespaces?process.env.DEBUG=namespaces:delete process.env.DEBUG}function load(){return process.env.DEBUG}function init(debug){debug.inspectOpts={};let keys=Object.keys(exports.inspectOpts);for(let i=0;i<keys.length;i++)debug.inspectOpts[keys[i]]=exports.inspectOpts[keys[i]]}module.exports=require_common()(exports);var{formatters}=module.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split(`
|
|
6
|
-
`).map(str=>str.trim()).join(" ")};formatters.O=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts)}}});var require_src=__commonJS({"node_modules/debug/src/index.js"(exports,module){typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?module.exports=require_browser():module.exports=require_node()}});var require_helpers=__commonJS({"node_modules/agent-base/dist/helpers.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});exports.req=exports.json=exports.toBuffer=void 0;var http=__importStar(__require("http")),https=__importStar(__require("https"));async function toBuffer(stream){let length=0,chunks=[];for await(let chunk of stream)length+=chunk.length,chunks.push(chunk);return Buffer.concat(chunks,length)}exports.toBuffer=toBuffer;async function json(stream){let str=(await toBuffer(stream)).toString("utf8");try{return JSON.parse(str)}catch(_err){let err=_err;throw err.message+=` (input: ${str})`,err}}exports.json=json;function req(url,opts={}){let req2=((typeof url=="string"?url:url.href).startsWith("https:")?https:http).request(url,opts),promise=new Promise((resolve,reject)=>{req2.once("response",resolve).once("error",reject).end()});return req2.then=promise.then.bind(promise),req2}exports.req=req}});var require_dist=__commonJS({"node_modules/agent-base/dist/index.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.Agent=void 0;var net=__importStar(__require("net")),http=__importStar(__require("http")),https_1=__require("https");__exportStar(require_helpers(),exports);var INTERNAL=Symbol("AgentBaseInternalState"),Agent=class extends http.Agent{constructor(opts){super(opts),this[INTERNAL]={}}isSecureEndpoint(options){if(options){if(typeof options.secureEndpoint=="boolean")return options.secureEndpoint;if(typeof options.protocol=="string")return options.protocol==="https:"}let{stack}=new Error;return typeof stack!="string"?!1:stack.split(`
|
|
7
|
-
`).some(l=>l.indexOf("(https.js:")!==-1||l.indexOf("node:https:")!==-1)}incrementSockets(name){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[name]||(this.sockets[name]=[]);let fakeSocket=new net.Socket({writable:!1});return this.sockets[name].push(fakeSocket),this.totalSocketCount++,fakeSocket}decrementSockets(name,socket){if(!this.sockets[name]||socket===null)return;let sockets=this.sockets[name],index=sockets.indexOf(socket);index!==-1&&(sockets.splice(index,1),this.totalSocketCount--,sockets.length===0&&delete this.sockets[name])}getName(options){return this.isSecureEndpoint(options)?https_1.Agent.prototype.getName.call(this,options):super.getName(options)}createSocket(req,options,cb){let connectOpts={...options,secureEndpoint:this.isSecureEndpoint(options)},name=this.getName(connectOpts),fakeSocket=this.incrementSockets(name);Promise.resolve().then(()=>this.connect(req,connectOpts)).then(socket=>{if(this.decrementSockets(name,fakeSocket),socket instanceof http.Agent)try{return socket.addRequest(req,connectOpts)}catch(err){return cb(err)}this[INTERNAL].currentSocket=socket,super.createSocket(req,options,cb)},err=>{this.decrementSockets(name,fakeSocket),cb(err)})}createConnection(){let socket=this[INTERNAL].currentSocket;if(this[INTERNAL].currentSocket=void 0,!socket)throw new Error("No socket was returned in the `connect()` function");return socket}get defaultPort(){return this[INTERNAL].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(v){this[INTERNAL]&&(this[INTERNAL].defaultPort=v)}get protocol(){return this[INTERNAL].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(v){this[INTERNAL]&&(this[INTERNAL].protocol=v)}};exports.Agent=Agent}});var require_parse_proxy_response=__commonJS({"node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.parseProxyResponse=void 0;var debug_1=__importDefault(require_src()),debug=(0,debug_1.default)("https-proxy-agent:parse-proxy-response");function parseProxyResponse(socket){return new Promise((resolve,reject)=>{let buffersLength=0,buffers=[];function read(){let b=socket.read();b?ondata(b):socket.once("readable",read)}function cleanup(){socket.removeListener("end",onend),socket.removeListener("error",onerror),socket.removeListener("readable",read)}function onend(){cleanup(),debug("onend"),reject(new Error("Proxy connection ended before receiving CONNECT response"))}function onerror(err){cleanup(),debug("onerror %o",err),reject(err)}function ondata(b){buffers.push(b),buffersLength+=b.length;let buffered=Buffer.concat(buffers,buffersLength),endOfHeaders=buffered.indexOf(`\r
|
|
8
|
-
\r
|
|
9
|
-
`);if(endOfHeaders===-1){debug("have not received end of HTTP headers yet..."),read();return}let headerParts=buffered.slice(0,endOfHeaders).toString("ascii").split(`\r
|
|
10
|
-
`),firstLine=headerParts.shift();if(!firstLine)return socket.destroy(),reject(new Error("No header received from proxy CONNECT response"));let firstLineParts=firstLine.split(" "),statusCode=+firstLineParts[1],statusText=firstLineParts.slice(2).join(" "),headers={};for(let header of headerParts){if(!header)continue;let firstColon=header.indexOf(":");if(firstColon===-1)return socket.destroy(),reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));let key=header.slice(0,firstColon).toLowerCase(),value=header.slice(firstColon+1).trimStart(),current=headers[key];typeof current=="string"?headers[key]=[current,value]:Array.isArray(current)?current.push(value):headers[key]=value}debug("got proxy server response: %o %o",firstLine,headers),cleanup(),resolve({connect:{statusCode,statusText,headers},buffered})}socket.on("error",onerror),socket.on("end",onend),read()})}exports.parseProxyResponse=parseProxyResponse}});var require_dist2=__commonJS({"node_modules/https-proxy-agent/dist/index.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.HttpsProxyAgent=void 0;var net=__importStar(__require("net")),tls=__importStar(__require("tls")),assert_1=__importDefault(__require("assert")),debug_1=__importDefault(require_src()),agent_base_1=require_dist(),url_1=__require("url"),parse_proxy_response_1=require_parse_proxy_response(),debug=(0,debug_1.default)("https-proxy-agent"),setServernameFromNonIpHost=options=>options.servername===void 0&&options.host&&!net.isIP(options.host)?{...options,servername:options.host}:options,HttpsProxyAgent=class extends agent_base_1.Agent{constructor(proxy,opts){super(opts),this.options={path:void 0},this.proxy=typeof proxy=="string"?new url_1.URL(proxy):proxy,this.proxyHeaders=opts?.headers??{},debug("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let host=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),port=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...opts?omit(opts,"headers"):null,host,port}}async connect(req,opts){let{proxy}=this;if(!opts.host)throw new TypeError('No "host" provided');let socket;proxy.protocol==="https:"?(debug("Creating `tls.Socket`: %o",this.connectOpts),socket=tls.connect(setServernameFromNonIpHost(this.connectOpts))):(debug("Creating `net.Socket`: %o",this.connectOpts),socket=net.connect(this.connectOpts));let headers=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},host=net.isIPv6(opts.host)?`[${opts.host}]`:opts.host,payload=`CONNECT ${host}:${opts.port} HTTP/1.1\r
|
|
11
|
-
`;if(proxy.username||proxy.password){let auth=`${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;headers["Proxy-Authorization"]=`Basic ${Buffer.from(auth).toString("base64")}`}headers.Host=`${host}:${opts.port}`,headers["Proxy-Connection"]||(headers["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let name of Object.keys(headers))payload+=`${name}: ${headers[name]}\r
|
|
12
|
-
`;let proxyResponsePromise=(0,parse_proxy_response_1.parseProxyResponse)(socket);socket.write(`${payload}\r
|
|
13
|
-
`);let{connect,buffered}=await proxyResponsePromise;if(req.emit("proxyConnect",connect),this.emit("proxyConnect",connect,req),connect.statusCode===200)return req.once("socket",resume),opts.secureEndpoint?(debug("Upgrading socket connection to TLS"),tls.connect({...omit(setServernameFromNonIpHost(opts),"host","path","port"),socket})):socket;socket.destroy();let fakeSocket=new net.Socket({writable:!1});return fakeSocket.readable=!0,req.once("socket",s=>{debug("Replaying proxy buffer for failed request"),(0,assert_1.default)(s.listenerCount("data")>0),s.push(buffered),s.push(null)}),fakeSocket}};HttpsProxyAgent.protocols=["http","https"];exports.HttpsProxyAgent=HttpsProxyAgent;function resume(socket){socket.resume()}function omit(obj,...keys){let ret={},key;for(key in obj)keys.includes(key)||(ret[key]=obj[key]);return ret}}});export default require_dist2();
|