Files
paseo/packages/app/src/utils/provider-command-templates.ts
T
Mohamed BoudraandGitHub a1fbc91163 Add OMP as a built-in importable provider (#1388)
* Support imports from Pi-compatible providers

* Add OMP as a built-in provider

* Address Pi session scanner review

* Restore Pi session import discovery

* Update provider test for disabled OMP
2026-06-08 08:17:57 +00:00

46 lines
1.1 KiB
TypeScript

export type ProviderCommandId = "resume";
/**
* Declarative command templates for provider-native CLIs.
*
* Note: these are NOT Paseo agent IDs. They take provider-native session IDs.
* Example placeholders:
* - {sessionId}
*/
export const PROVIDER_COMMAND_TEMPLATES: Record<
string,
Partial<Record<ProviderCommandId, string>>
> = {
codex: {
resume: "codex resume {sessionId}",
},
claude: {
resume: "claude --resume {sessionId}",
},
pi: {
resume: "pi --session {sessionId}",
},
omp: {
resume: "omp --session {sessionId}",
},
opencode: {
resume: "opencode --session {sessionId}",
},
};
function renderTemplate(template: string, vars: Record<string, string>): string {
return template.replace(/\{(\w+)\}/g, (_match, key: string) => vars[key] ?? "");
}
export function buildProviderCommand(input: {
provider: string;
id: ProviderCommandId;
sessionId: string;
}): string | null {
const template = PROVIDER_COMMAND_TEMPLATES[input.provider]?.[input.id] ?? null;
if (!template) {
return null;
}
return renderTemplate(template, { sessionId: input.sessionId });
}