@phi-code-admin/phi-code 0.86.0 → 0.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +104 -0
- package/docs/adr/0001-phase-contract.md +57 -0
- package/docs/adr/0002-independent-review.md +47 -0
- package/docs/fork-policy.md +18 -0
- package/extensions/phi/agents.ts +7 -4
- package/extensions/phi/benchmark.ts +129 -49
- package/extensions/phi/browser.ts +10 -37
- package/extensions/phi/btw/btw.ts +1 -7
- package/extensions/phi/chrome/index.ts +1283 -741
- package/extensions/phi/commit.ts +9 -14
- package/extensions/phi/goal/index.ts +10 -33
- package/extensions/phi/init.ts +37 -47
- package/extensions/phi/keys.ts +2 -7
- package/extensions/phi/mcp/callback-server.ts +162 -165
- package/extensions/phi/mcp/config.ts +122 -136
- package/extensions/phi/mcp/errors.ts +18 -23
- package/extensions/phi/mcp/index.ts +322 -355
- package/extensions/phi/mcp/oauth-provider.ts +289 -289
- package/extensions/phi/mcp/server-manager.ts +390 -413
- package/extensions/phi/mcp/tool-bridge.ts +381 -415
- package/extensions/phi/memory.ts +2 -2
- package/extensions/phi/models.ts +27 -26
- package/extensions/phi/orchestrator.ts +451 -237
- package/extensions/phi/productivity.ts +4 -2
- package/extensions/phi/providers/agent-def.ts +1 -1
- package/extensions/phi/providers/alibaba.ts +56 -7
- package/extensions/phi/providers/context-window.ts +4 -1
- package/extensions/phi/providers/live-models.ts +5 -20
- package/extensions/phi/providers/orchestrator-helpers.ts +31 -5
- package/extensions/phi/providers/phase-machine.ts +283 -0
- package/extensions/phi/setup.ts +196 -169
- package/extensions/phi/skill-loader.ts +14 -17
- package/extensions/phi/smart-router.ts +6 -6
- package/extensions/phi/web-search.ts +90 -50
- package/package.json +1 -1
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
* user keeps the legacy `web_search` / `fetch_url` only).
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
import { createRequire } from "node:module";
|
|
26
25
|
import { existsSync } from "node:fs";
|
|
26
|
+
import { createRequire } from "node:module";
|
|
27
27
|
import { dirname, join } from "node:path";
|
|
28
28
|
import { pathToFileURL } from "node:url";
|
|
29
29
|
import { Type } from "@sinclair/typebox";
|
|
@@ -129,11 +129,7 @@ export default function browserExtension(pi: ExtensionAPI) {
|
|
|
129
129
|
url: Type.String({ description: "Full URL (https://...)" }),
|
|
130
130
|
tabId: Type.Optional(Type.String()),
|
|
131
131
|
waitUntil: Type.Optional(
|
|
132
|
-
Type.Union([
|
|
133
|
-
Type.Literal("load"),
|
|
134
|
-
Type.Literal("domcontentloaded"),
|
|
135
|
-
Type.Literal("networkidle"),
|
|
136
|
-
]),
|
|
132
|
+
Type.Union([Type.Literal("load"), Type.Literal("domcontentloaded"), Type.Literal("networkidle")]),
|
|
137
133
|
),
|
|
138
134
|
timeoutMs: Type.Optional(Type.Number()),
|
|
139
135
|
}),
|
|
@@ -161,13 +157,7 @@ export default function browserExtension(pi: ExtensionAPI) {
|
|
|
161
157
|
parameters: Type.Object({
|
|
162
158
|
tabId: Type.Optional(Type.String()),
|
|
163
159
|
url: Type.Optional(Type.String()),
|
|
164
|
-
mode: Type.Optional(
|
|
165
|
-
Type.Union([
|
|
166
|
-
Type.Literal("readability"),
|
|
167
|
-
Type.Literal("html"),
|
|
168
|
-
Type.Literal("text"),
|
|
169
|
-
]),
|
|
170
|
-
),
|
|
160
|
+
mode: Type.Optional(Type.Union([Type.Literal("readability"), Type.Literal("html"), Type.Literal("text")])),
|
|
171
161
|
}),
|
|
172
162
|
execute: async (_toolCallId, params) => {
|
|
173
163
|
const api = await getBrowserApi();
|
|
@@ -181,9 +171,9 @@ export default function browserExtension(pi: ExtensionAPI) {
|
|
|
181
171
|
name: "browser_screenshot",
|
|
182
172
|
description:
|
|
183
173
|
"Capture a PNG screenshot of an open tab. Use this whenever the user asks " +
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
174
|
+
'to *see* a page, when a visual proof is requested (e.g. "show me what ' +
|
|
175
|
+
'this looks like", "is the layout broken", "did the bot detection page ' +
|
|
176
|
+
'trigger?"), or to confirm a UI state after `browser_click` / ' +
|
|
187
177
|
"`browser_type`. Requires a `tabId` from a prior `browser_navigate`. " +
|
|
188
178
|
"Returns the image as base64 under `bytesBase64` with `mimeType: image/png`.",
|
|
189
179
|
parameters: Type.Object({
|
|
@@ -208,16 +198,10 @@ export default function browserExtension(pi: ExtensionAPI) {
|
|
|
208
198
|
"the rendered search engine UI (e.g. featured snippets, knowledge cards, " +
|
|
209
199
|
"AI Overview boxes). Slower than `web_search` and requires the Camoufox " +
|
|
210
200
|
"browser to boot. Defaults to DuckDuckGo (least restrictive); pass " +
|
|
211
|
-
|
|
201
|
+
'`engine: "google"` only when you need Google-specific results.',
|
|
212
202
|
parameters: Type.Object({
|
|
213
203
|
query: Type.String(),
|
|
214
|
-
engine: Type.Optional(
|
|
215
|
-
Type.Union([
|
|
216
|
-
Type.Literal("google"),
|
|
217
|
-
Type.Literal("duckduckgo"),
|
|
218
|
-
Type.Literal("bing"),
|
|
219
|
-
]),
|
|
220
|
-
),
|
|
204
|
+
engine: Type.Optional(Type.Union([Type.Literal("google"), Type.Literal("duckduckgo"), Type.Literal("bing")])),
|
|
221
205
|
}),
|
|
222
206
|
execute: async (_toolCallId, params) => {
|
|
223
207
|
const api = await getBrowserApi();
|
|
@@ -243,13 +227,7 @@ export default function browserExtension(pi: ExtensionAPI) {
|
|
|
243
227
|
tabId: Type.String(),
|
|
244
228
|
ref: Type.Optional(Type.String()),
|
|
245
229
|
selector: Type.Optional(Type.String()),
|
|
246
|
-
button: Type.Optional(
|
|
247
|
-
Type.Union([
|
|
248
|
-
Type.Literal("left"),
|
|
249
|
-
Type.Literal("right"),
|
|
250
|
-
Type.Literal("middle"),
|
|
251
|
-
]),
|
|
252
|
-
),
|
|
230
|
+
button: Type.Optional(Type.Union([Type.Literal("left"), Type.Literal("right"), Type.Literal("middle")])),
|
|
253
231
|
}),
|
|
254
232
|
execute: async (_toolCallId, params) => {
|
|
255
233
|
const api = await getBrowserApi();
|
|
@@ -296,12 +274,7 @@ export default function browserExtension(pi: ExtensionAPI) {
|
|
|
296
274
|
"content.",
|
|
297
275
|
parameters: Type.Object({
|
|
298
276
|
tabId: Type.String(),
|
|
299
|
-
direction: Type.Union([
|
|
300
|
-
Type.Literal("up"),
|
|
301
|
-
Type.Literal("down"),
|
|
302
|
-
Type.Literal("left"),
|
|
303
|
-
Type.Literal("right"),
|
|
304
|
-
]),
|
|
277
|
+
direction: Type.Union([Type.Literal("up"), Type.Literal("down"), Type.Literal("left"), Type.Literal("right")]),
|
|
305
278
|
ref: Type.Optional(Type.String()),
|
|
306
279
|
pixels: Type.Optional(Type.Number()),
|
|
307
280
|
}),
|
|
@@ -9,13 +9,6 @@
|
|
|
9
9
|
|
|
10
10
|
import { readFileSync } from "node:fs";
|
|
11
11
|
import { fileURLToPath } from "node:url";
|
|
12
|
-
import {
|
|
13
|
-
type AssistantMessage,
|
|
14
|
-
completeSimple,
|
|
15
|
-
type Message,
|
|
16
|
-
type StopReason,
|
|
17
|
-
type UserMessage,
|
|
18
|
-
} from "phi-code-ai";
|
|
19
12
|
import {
|
|
20
13
|
convertToLlm,
|
|
21
14
|
type ExtensionAPI,
|
|
@@ -23,6 +16,7 @@ import {
|
|
|
23
16
|
type ExtensionContext,
|
|
24
17
|
type SessionEntry,
|
|
25
18
|
} from "phi-code";
|
|
19
|
+
import { type AssistantMessage, completeSimple, type Message, type StopReason, type UserMessage } from "phi-code-ai";
|
|
26
20
|
import { showBtwOverlay } from "./btw-ui.js";
|
|
27
21
|
|
|
28
22
|
// ---------------------------------------------------------------------------
|