privateer-agent 0.11.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/bin/privateer-launch.mjs +211 -75
- package/bin/privateer-subagent.mjs +35 -22
- package/extensions/privateer-brand.ts +14 -1
- package/extensions/privateer-gate.ts +20 -28
- package/extensions/privateer-media.ts +20 -0
- package/extensions/privateer-privacy.ts +3 -3
- package/package.json +16 -7
- package/patches/@earendil-works+pi-coding-agent+0.80.3.patch +876 -5
- package/src/acp/run.ts +16 -19
- package/src/channels/run.ts +18 -27
- package/src/cli/chat.ts +61 -18
- package/src/config/hosted.ts +34 -0
- package/src/config/moat.ts +236 -0
- package/src/config/moatManifest.json +26 -0
- package/src/config/moatManifest.ts +71 -0
- package/src/harbor/index.ts +49 -113
- package/src/outbox/cloudOutbox.ts +95 -0
- package/src/permissions/classify.ts +113 -0
- package/src/providers/account.ts +88 -4
- package/src/providers/defaultModel.ts +66 -11
- package/src/remote/extensionsControl.ts +12 -24
- package/src/remote/liveTaskSession.ts +15 -24
- package/src/remote/relayClient.ts +39 -0
- package/src/remote/remoteBridge.ts +65 -0
- package/src/tools/media.ts +554 -0
- package/src/tools/relayFileTools.ts +10 -11
- package/src/tools/videoCompose.ts +579 -0
- package/src/tools/web.ts +12 -8
- package/src/config/harborDaemon.ts +0 -31
- package/src/config/inlineMoat.ts +0 -67
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Media tools for Pi's TUI: generate images, video, speech and music through the
|
|
2
|
+
// signed-in Privateer account, and stitch the results together locally with ffmpeg.
|
|
3
|
+
//
|
|
4
|
+
// Generation is registered only when the account channel can actually serve it
|
|
5
|
+
// (mediaEnabled → signed in, and HARBOR_MEDIA not explicitly off). Omitting the
|
|
6
|
+
// factory rather than merely hiding the tools is deliberate: a tool that exists but
|
|
7
|
+
// 401s on every call teaches the model to keep retrying, whereas a tool that isn't
|
|
8
|
+
// there makes it say "you'd need to sign in" and move on.
|
|
9
|
+
//
|
|
10
|
+
// video_compose is registered UNCONDITIONALLY. It is local ffmpeg work on files
|
|
11
|
+
// already on disk — no account, no network, no spend — so it stays useful to a
|
|
12
|
+
// signed-out terminal editing media that came from anywhere.
|
|
13
|
+
import { makeMediaTools } from "../src/tools/media.ts";
|
|
14
|
+
import { makeComposeTools } from "../src/tools/videoCompose.ts";
|
|
15
|
+
import { mediaEnabled } from "../src/config/hosted.ts";
|
|
16
|
+
|
|
17
|
+
export default function privateerMedia(pi: any): void {
|
|
18
|
+
if (mediaEnabled()) makeMediaTools()(pi);
|
|
19
|
+
makeComposeTools()(pi);
|
|
20
|
+
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// of which replaces (not merges) whatever model list that provider already had:
|
|
10
10
|
//
|
|
11
11
|
// - `tinfoil` gets a single seed model, so any other Tinfoil model — notably our
|
|
12
|
-
// default
|
|
12
|
+
// default (TINFOIL_DEFAULT_SPEC) — resolves as a "custom model id" with a startup warning
|
|
13
13
|
// and never shows in the picker. We re-register it with the current chat catalog.
|
|
14
14
|
// - `privateer` gets pi-privacy's PUBLIC developer-key channel (api.privateer.pro/v1 +
|
|
15
15
|
// `${PRIVATEER_API_KEY}`, one seed model), which clobbers the ACCOUNT channel our own
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
import { makePiPrivacyExtension } from "pi-privacy";
|
|
26
26
|
import { accountPosture, registerAccountModels } from "../src/providers/account.ts";
|
|
27
27
|
|
|
28
|
-
// Tinfoil's live chat models (inference.tinfoil.sh/v1/models),
|
|
28
|
+
// Tinfoil's live chat models (inference.tinfoil.sh/v1/models), kimi-k2-6 first — the
|
|
29
29
|
// launcher's default. Non-chat endpoints (embeddings, tts, whisper, websearch,
|
|
30
30
|
// doc-upload) are intentionally omitted. Refresh from the live catalog if Tinfoil adds
|
|
31
31
|
// models; this static list just needs to cover what we default to and commonly pick.
|
|
32
32
|
const TINFOIL_MODELS = [
|
|
33
|
-
"glm-5-2",
|
|
34
33
|
"kimi-k2-6",
|
|
34
|
+
"glm-5-2",
|
|
35
35
|
"deepseek-v4-pro",
|
|
36
36
|
"gpt-oss-120b",
|
|
37
37
|
"gpt-oss-safeguard-120b",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "privateer-agent",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.12.1",
|
|
4
|
+
"description": "Privacy-first terminal coding agent — bring your own model across 20 providers (Anthropic, OpenAI, OpenRouter, Google, local Ollama…). Safe-by-default permissions, MCP, sub-agents, workflows, and verifiable TEE inference. Built on the Pi toolkit.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Patrick (zahnno)",
|
|
@@ -15,22 +15,31 @@
|
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
17
|
"ai",
|
|
18
|
+
"ai-agent",
|
|
18
19
|
"coding-agent",
|
|
20
|
+
"code-assistant",
|
|
21
|
+
"llm",
|
|
22
|
+
"claude",
|
|
23
|
+
"mcp",
|
|
19
24
|
"cli",
|
|
20
25
|
"tui",
|
|
21
26
|
"terminal",
|
|
27
|
+
"developer-tools",
|
|
28
|
+
"privacy",
|
|
22
29
|
"pi",
|
|
23
30
|
"tee",
|
|
24
31
|
"confidential-computing",
|
|
25
32
|
"attestation",
|
|
26
|
-
"tinfoil",
|
|
27
|
-
"openrouter",
|
|
28
33
|
"anthropic",
|
|
29
34
|
"openai",
|
|
35
|
+
"openrouter",
|
|
30
36
|
"ollama",
|
|
31
|
-
"
|
|
32
|
-
"venice"
|
|
37
|
+
"local-llm"
|
|
33
38
|
],
|
|
39
|
+
"funding": {
|
|
40
|
+
"type": "individual",
|
|
41
|
+
"url": "https://privateer.pro/fund"
|
|
42
|
+
},
|
|
34
43
|
"bin": {
|
|
35
44
|
"privateer": "./bin/privateer-launch.mjs"
|
|
36
45
|
},
|
|
@@ -72,7 +81,7 @@
|
|
|
72
81
|
"@zed-industries/agent-client-protocol": "^0.4.5",
|
|
73
82
|
"patch-package": "^8.0.1",
|
|
74
83
|
"pi-mcp-adapter": "^2.11.0",
|
|
75
|
-
"pi-privacy": "^0.
|
|
84
|
+
"pi-privacy": "^0.11.0",
|
|
76
85
|
"pi-subagents": "^0.34.0",
|
|
77
86
|
"picomatch": "^4.0.4",
|
|
78
87
|
"privateer-workflow": "^0.1.0",
|