diff --git a/packages/providers/src/community/pi/capabilities.ts b/packages/providers/src/community/pi/capabilities.ts index 6a5ffbb97a..a42d936a38 100644 --- a/packages/providers/src/community/pi/capabilities.ts +++ b/packages/providers/src/community/pi/capabilities.ts @@ -1,13 +1,17 @@ import type { ProviderCapabilities } from '../../types'; /** - * Pi v1 capabilities — intentionally conservative. Declared flags must reflect + * Pi capabilities — intentionally conservative. Declared flags must reflect * wired-up behavior, not potential support. The dag-executor uses these to * warn users when a workflow node specifies a feature the provider ignores. * - * Roadmap (v2+): thinkingControl, skills, envInjection can be flipped once - * the corresponding nodeConfig fields are intentionally translated to Pi's - * runtime options. + * Roadmap (v3+): + * The pi maintainer has expressed some opposition to supporting structured + * output, (https://github.com/badlogic/pi-mono/issues/1086) so that is + * unlikely to be added apart from an extension. + * + * Similarly, hooks, fallbackModel, and sandbox can be implemented with + * extensions, but probably not off-the-shelf pi. */ export const PI_CAPABILITIES: ProviderCapabilities = { sessionResume: true, diff --git a/packages/providers/src/community/pi/provider.ts b/packages/providers/src/community/pi/provider.ts index e054c3f2ce..6378b03eeb 100644 --- a/packages/providers/src/community/pi/provider.ts +++ b/packages/providers/src/community/pi/provider.ts @@ -69,12 +69,6 @@ function lookupPiModel(provider: string, modelId: string): Model | undefine * coding-agent harness. Each `sendQuery()` call creates a fresh session * (no reuse) with in-memory auth/session/settings, so the server never * touches `~/.pi/` and concurrent calls don't collide. - * - * v1 capabilities are all false (see `capabilities.ts`): sessionResume, - * thinkingControl, skills, mcp, etc. map to Pi features but require - * intentional wiring before they can be declared. Under-declaring is - * honest; the dag-executor emits warnings for any nodeConfig field not - * supported. */ export class PiProvider implements IAgentProvider { async *sendQuery(