apiario 0.2.2 → 0.3.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/dist/cli.js CHANGED
@@ -7,6 +7,118 @@ import localizationExtension from "./extensions/localization.js";
7
7
  import { homedir } from "os";
8
8
  import { join } from "path";
9
9
  // ---------------------------------------------------------------------------
10
+ // Monkey-patch: traduz seções de startup do pi.dev para pt-BR
11
+ // ---------------------------------------------------------------------------
12
+ const STARTUP_SECTION_TRANSLATIONS = {
13
+ Context: "Contexto",
14
+ Skills: "Skills",
15
+ Prompts: "Modelos de Prompt",
16
+ Extensions: "Extensões",
17
+ Themes: "Temas",
18
+ "Skill conflicts": "Conflitos de Skills",
19
+ "Prompt conflicts": "Conflitos de Prompt",
20
+ };
21
+ // Rótulos de escopo (user/project/path) que aparecem no formato expandido
22
+ const SCOPE_TRANSLATIONS = {
23
+ user: "usuário",
24
+ project: "projeto",
25
+ path: "caminho",
26
+ };
27
+ const _origShowLoadedResources = InteractiveMode.prototype
28
+ .showLoadedResources;
29
+ InteractiveMode.prototype.showLoadedResources = function (options) {
30
+ _origShowLoadedResources.call(this, options);
31
+ // Traduz os cabeçalhos das seções ([Skills] → [Skills], etc.)
32
+ // nos componentes Text/ExpandableText que foram adicionados ao
33
+ // chatContainer por showLoadedResources().
34
+ const children = this.chatContainer?.children ?? [];
35
+ for (const child of children) {
36
+ if (typeof child.text !== "string")
37
+ continue;
38
+ let newText = child.text;
39
+ let changed = false;
40
+ for (const [en, pt] of Object.entries(STARTUP_SECTION_TRANSLATIONS)) {
41
+ const bracketed = `[${en}]`;
42
+ // O texto pode conter códigos ANSI (theme.fg), então usamos
43
+ // includes() em vez de startsWith() para encontrar o cabeçalho.
44
+ if (newText.includes(bracketed)) {
45
+ newText = newText.replace(bracketed, `[${pt}]`);
46
+ changed = true;
47
+ }
48
+ }
49
+ if (changed && typeof child.setText === "function") {
50
+ child.setText(newText);
51
+ // Atualiza também as factories do ExpandableText para que a
52
+ // tradução persista ao expandir/recolher a seção.
53
+ if (typeof child.getCollapsedText === "function") {
54
+ const origCollapsed = child.getCollapsedText.bind(child);
55
+ child.getCollapsedText = () => translateSectionNames(origCollapsed(), STARTUP_SECTION_TRANSLATIONS);
56
+ }
57
+ if (typeof child.getExpandedText === "function") {
58
+ const origExpanded = child.getExpandedText.bind(child);
59
+ child.getExpandedText = () => translateSectionNames(origExpanded(), STARTUP_SECTION_TRANSLATIONS);
60
+ }
61
+ }
62
+ }
63
+ };
64
+ function translateSectionNames(text, translations) {
65
+ let result = text;
66
+ // Traduz cabeçalhos de seção: [Context] → [Contexto], etc.
67
+ for (const [en, pt] of Object.entries(translations)) {
68
+ const bracketed = `[${en}]`;
69
+ if (result.includes(bracketed)) {
70
+ result = result.replace(bracketed, `[${pt}]`);
71
+ }
72
+ }
73
+ // Traduz rótulos de escopo no formato expandido:
74
+ // " \x1b[38;5;XXXmuser\x1b[39m" → " \x1b[38;5;XXXmusuário\x1b[39m"
75
+ for (const [en, pt] of Object.entries(SCOPE_TRANSLATIONS)) {
76
+ result = result.replace(new RegExp(`(^ \\x1b\\[\\d+(?:;\\d+)*m)${en}(\\x1b\\[39m)`, "gm"), `$1${pt}$2`);
77
+ }
78
+ return result;
79
+ }
80
+ // ── Traduz descrições dos comandos embutidos (/model, /compact, etc.) ──
81
+ const COMMAND_DESCRIPTIONS_PT_BR = {
82
+ "Open settings menu": "Abrir menu de configurações",
83
+ "Select model (opens selector UI)": "Selecionar modelo (abre seletor)",
84
+ "Enable/disable models for Ctrl+P cycling": "Ativar/desativar modelos para cycling (Ctrl+P)",
85
+ "Export session (HTML default, or specify path: .html/.jsonl)": "Exportar sessão (HTML padrão, ou caminho: .html/.jsonl)",
86
+ "Import and resume a session from a JSONL file": "Importar e retomar sessão de um arquivo JSONL",
87
+ "Share session as a secret GitHub gist": "Compartilhar sessão como gist secreto do GitHub",
88
+ "Copy last agent message to clipboard": "Copiar última mensagem do agente para área de transferência",
89
+ "Set session display name": "Definir nome da sessão",
90
+ "Show session info and stats": "Mostrar informações e estatísticas da sessão",
91
+ "Show changelog entries": "Mostrar entradas do changelog",
92
+ "Show all keyboard shortcuts": "Mostrar todos os atalhos de teclado",
93
+ "Create a new fork from a previous user message": "Criar um fork a partir de uma mensagem anterior",
94
+ "Duplicate the current session at the current position": "Duplicar a sessão atual na posição atual",
95
+ "Navigate session tree (switch branches)": "Navegar na árvore da sessão (trocar branches)",
96
+ "Configure provider authentication": "Configurar autenticação do provedor",
97
+ "Remove provider authentication": "Remover autenticação do provedor",
98
+ "Start a new session": "Iniciar nova sessão",
99
+ "Manually compact the session context": "Compactar manualmente o contexto da sessão",
100
+ "Resume a different session": "Retomar uma sessão diferente",
101
+ "Reload keybindings, extensions, skills, prompts, and themes": "Recarregar atalhos, extensões, habilidades, prompts e temas",
102
+ "Quit pi": "Encerrar Apiário",
103
+ };
104
+ // O BUILTIN_SLASH_COMMANDS é um const array mutável. O pacote
105
+ // @earendil-works/pi-coding-agent não exporta este módulo via
106
+ // "exports", então importamos via file:// URL relativo.
107
+ try {
108
+ const slashCommandsUrl = new URL("../node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js", import.meta.url);
109
+ const mod = (await import(
110
+ // @ts-ignore — módulo interno do pi, sem declarações de tipo
111
+ slashCommandsUrl.href));
112
+ for (const cmd of mod.BUILTIN_SLASH_COMMANDS) {
113
+ const pt = COMMAND_DESCRIPTIONS_PT_BR[cmd.description];
114
+ if (pt)
115
+ cmd.description = pt;
116
+ }
117
+ }
118
+ catch {
119
+ // Caso o caminho interno mude, apenas ignora.
120
+ }
121
+ // ---------------------------------------------------------------------------
10
122
  // Constants
11
123
  // ---------------------------------------------------------------------------
12
124
  const AGENT_DIR = join(homedir(), ".config", "apiario");
@@ -38,7 +150,6 @@ async function main() {
38
150
  }
39
151
  // ── 3. Set up pi.dev infrastructure with our provider ──────────────
40
152
  const authStorage = AuthStorage.create();
41
- // Store the API key in auth storage so pi can resolve it
42
153
  authStorage.setRuntimeApiKey("apiario", apiKey);
43
154
  const modelRegistry = ModelRegistry.inMemory(authStorage);
44
155
  modelRegistry.registerProvider("apiario", {
@@ -61,13 +172,14 @@ async function main() {
61
172
  extensionFactories: [localizationExtension],
62
173
  },
63
174
  });
64
- // Get the first model from our registered provider
65
- const firstModel = modelRegistry.getAll().find((m) => m.provider === "apiario");
175
+ const allModels = modelRegistry.getAll().filter((m) => m.provider === "apiario");
176
+ const defaultModel = allModels.find((m) => m.id === "deepseek/deepseek-v4-flash") ??
177
+ allModels[0];
66
178
  const sessionResult = await createAgentSessionFromServices({
67
179
  services,
68
180
  sessionManager,
69
181
  sessionStartEvent,
70
- model: firstModel,
182
+ model: defaultModel,
71
183
  });
72
184
  return {
73
185
  ...sessionResult,
@@ -90,7 +202,6 @@ async function main() {
90
202
  await interactiveMode.run();
91
203
  }
92
204
  else {
93
- // Non-TTY (pipe): read from stdin and run print mode
94
205
  const stdin = await readStdin();
95
206
  const prompt = stdin.trim() || "Explain what this project does in one sentence.";
96
207
  console.error("\n 🐝 Apiário Dev — modo não-interativo");
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,21 @@
1
1
  /**
2
2
  * Localização pt-BR para o TUI do Apiário Dev
3
3
  *
4
- * Traduz os pontos da interface do pi.dev expostos pela Extension API que
5
- * podem ser sobrescritos sem reimplementar componentes inteiros:
4
+ * Customiza todo o branding do pi.dev para Apiário Dev em português brasileiro:
6
5
  *
6
+ * - Header: "🐝 Apiário Dev v{version}" com instruções em pt-BR
7
+ * - Footer: modelo ativo · branch · 💬 nível de thinking · % da janela de contexto
7
8
  * - Working message: "Trabalhando..." (em vez de "Working...")
8
9
  * - Hidden thinking label: "Pensando..." (em vez de "Thinking...")
9
10
  * - Título do terminal: "🐝 Apiário Dev"
11
+ * - Welcome notification: "🐝 Bem-vindo ao Apiário Dev! Créditos em R$."
10
12
  *
11
- * O footer NÃO é reescrito aqui. A API `ctx.ui.setFooter()` é tudo-ou-nada
12
- * e o footer padrão expõe pwd, context window %, cache tokens e thinking
13
- * level que perderíamos numa reimplementação pra trocar `$` por `R$`.
14
- * A correção desse ponto depende de suporte upstream a locale/currency no
15
- * pi.devissue será aberta em earendil-works/pi-mono.
13
+ * APIs utilizadas (docs/ do pi.dev):
14
+ * - ctx.ui.setHeader() Pattern 6 (Custom UI)
15
+ * - ctx.ui.setFooter() Pattern 6 (Custom UI)
16
+ * - ctx.ui.setWorkingMessage() localização básica
17
+ * - ctx.ui.setHiddenThinkingLabel()localização básica
18
+ * - ctx.ui.setTitle() — localização básica
16
19
  */
17
20
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
18
21
  export default function localizationExtension(pi: ExtensionAPI): void;
@@ -1 +1 @@
1
- {"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../src/extensions/localization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AAMtF,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,EAAE,YAAY,QAU7D"}
1
+ {"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../src/extensions/localization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AA+BtF,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,EAAE,YAAY,QAuI7D"}
@@ -1,30 +1,150 @@
1
1
  /**
2
2
  * Localização pt-BR para o TUI do Apiário Dev
3
3
  *
4
- * Traduz os pontos da interface do pi.dev expostos pela Extension API que
5
- * podem ser sobrescritos sem reimplementar componentes inteiros:
4
+ * Customiza todo o branding do pi.dev para Apiário Dev em português brasileiro:
6
5
  *
6
+ * - Header: "🐝 Apiário Dev v{version}" com instruções em pt-BR
7
+ * - Footer: modelo ativo · branch · 💬 nível de thinking · % da janela de contexto
7
8
  * - Working message: "Trabalhando..." (em vez de "Working...")
8
9
  * - Hidden thinking label: "Pensando..." (em vez de "Thinking...")
9
10
  * - Título do terminal: "🐝 Apiário Dev"
11
+ * - Welcome notification: "🐝 Bem-vindo ao Apiário Dev! Créditos em R$."
10
12
  *
11
- * O footer NÃO é reescrito aqui. A API `ctx.ui.setFooter()` é tudo-ou-nada
12
- * e o footer padrão expõe pwd, context window %, cache tokens e thinking
13
- * level que perderíamos numa reimplementação pra trocar `$` por `R$`.
14
- * A correção desse ponto depende de suporte upstream a locale/currency no
15
- * pi.devissue será aberta em earendil-works/pi-mono.
13
+ * APIs utilizadas (docs/ do pi.dev):
14
+ * - ctx.ui.setHeader() Pattern 6 (Custom UI)
15
+ * - ctx.ui.setFooter() Pattern 6 (Custom UI)
16
+ * - ctx.ui.setWorkingMessage() localização básica
17
+ * - ctx.ui.setHiddenThinkingLabel()localização básica
18
+ * - ctx.ui.setTitle() — localização básica
16
19
  */
20
+ import { createRequire } from "node:module";
21
+ import { truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
22
+ // Lê a versão do package.json do harness (funciona tanto em src/ quanto em dist/)
23
+ const require = createRequire(import.meta.url);
24
+ const PKG = require("../../package.json");
25
+ const VERSION = PKG.version;
17
26
  const WORKING_MESSAGE = "Trabalhando...";
18
27
  const HIDDEN_THINKING_LABEL = "Pensando...";
19
28
  const TERMINAL_TITLE = "🐝 Apiário Dev";
29
+ // Rótulos dos níveis de thinking em português brasileiro
30
+ const THINKING_LABELS = {
31
+ off: "desligado",
32
+ minimal: "mínimo",
33
+ low: "baixo",
34
+ medium: "médio",
35
+ high: "alto",
36
+ xhigh: "máximo",
37
+ };
38
+ // Emojis para cada nível de thinking
39
+ const THINKING_EMOJIS = {
40
+ off: "💤",
41
+ minimal: "💭",
42
+ low: "🤔",
43
+ medium: "🧠",
44
+ high: "🔥",
45
+ xhigh: "🤯",
46
+ };
20
47
  export default function localizationExtension(pi) {
21
- function apply(ctx) {
48
+ pi.on("session_start", async (event, ctx) => {
49
+ // ── Localização básica ──────────────────────────────────────────────
22
50
  ctx.ui.setWorkingMessage(WORKING_MESSAGE);
23
51
  ctx.ui.setHiddenThinkingLabel(HIDDEN_THINKING_LABEL);
24
52
  ctx.ui.setTitle(TERMINAL_TITLE);
25
- }
26
- pi.on("session_start", async (_event, ctx) => {
27
- apply(ctx);
53
+ // ── Header customizado ──────────────────────────────────────────────
54
+ ctx.ui.setHeader((_tui, theme) => ({
55
+ invalidate() { },
56
+ render(width) {
57
+ return [
58
+ truncateToWidth(theme.fg("accent", ` 🐝 Apiário Dev v${VERSION}`), width),
59
+ truncateToWidth(theme.fg("dim", " esc interrompe · ctrl+c/ctrl+d limpa/sai · / comandos · ! bash · ctrl+o mais"), width),
60
+ truncateToWidth(theme.fg("dim", " Pressione ctrl+o para ver ajuda completa e recursos carregados."), width),
61
+ "",
62
+ truncateToWidth(theme.fg("muted", " O Apiário Dev é seu CLI de IA com modelos em Real (BRL)."), width),
63
+ truncateToWidth(theme.fg("muted", " Use /help para ver comandos ou digite sua pergunta abaixo."), width),
64
+ ];
65
+ },
66
+ dispose() { },
67
+ }));
68
+ // ── Footer customizado ──────────────────────────────────────────────
69
+ ctx.ui.setFooter((tui, theme, footerData) => {
70
+ // Re-render quando a branch do git mudar
71
+ const onBranchChange = footerData.onBranchChange(() => tui.requestRender());
72
+ return {
73
+ dispose: onBranchChange,
74
+ invalidate() { },
75
+ render(width) {
76
+ const modelId = ctx.model?.id ?? "nenhum modelo";
77
+ const branch = footerData.getGitBranch();
78
+ const usage = ctx.getContextUsage();
79
+ const thinking = pi.getThinkingLevel();
80
+ const thinkingLabel = THINKING_LABELS[thinking] ?? thinking;
81
+ // Calcula custo acumulado da sessão
82
+ let totalInput = 0;
83
+ let totalOutput = 0;
84
+ let totalCost = 0;
85
+ for (const e of ctx.sessionManager.getBranch()) {
86
+ if (e.type === "message" && e.message.role === "assistant") {
87
+ const m = e.message;
88
+ totalInput += m.usage.input;
89
+ totalOutput += m.usage.output;
90
+ totalCost += m.usage.cost.total;
91
+ }
92
+ }
93
+ const fmtTokens = (n) => n < 1000 ? `${n}` : `${(n / 1000).toFixed(1)}k`;
94
+ const fmtWindow = (n) => {
95
+ const m = n / 1_000_000;
96
+ if (m >= 1)
97
+ return `${m.toFixed(m < 10 ? 1 : 0)}M`;
98
+ const k = n / 1000;
99
+ if (k >= 1)
100
+ return `${k.toFixed(0)}K`;
101
+ return `${n}`;
102
+ };
103
+ const cwd = ctx.cwd;
104
+ // Mostra só os dois últimos segmentos do diretório
105
+ const parts = cwd.split("/").filter(Boolean);
106
+ const cwdBase = parts.length >= 2
107
+ ? parts.slice(-2).join("/")
108
+ : parts[parts.length - 1] ?? cwd;
109
+ const costStr = totalCost > 0
110
+ ? `R$ ${totalCost.toFixed(totalCost < 0.01 ? 4 : 3)}`
111
+ : "R$ 0,00";
112
+ // ── Lado esquerdo: identidade local ─────────────────────────
113
+ const blue = (s) => `\x1b[34m${s}\x1b[39m`;
114
+ const orange = (s) => `\x1b[38;5;208m${s}\x1b[39m`;
115
+ const green = (s) => `\x1b[32m${s}\x1b[39m`;
116
+ const red = (s) => `\x1b[31m${s}\x1b[39m`;
117
+ const leftParts = [
118
+ theme.fg("accent", "🐝"),
119
+ blue(cwdBase),
120
+ ];
121
+ if (branch) {
122
+ leftParts.push(orange(`(${branch})`));
123
+ }
124
+ leftParts.push(green(`↑${fmtTokens(totalInput)}`));
125
+ leftParts.push(red(`↓${fmtTokens(totalOutput)}`));
126
+ if (usage?.percent != null) {
127
+ leftParts.push(theme.fg("dim", `ctx:${Math.round(usage.percent)}%`));
128
+ }
129
+ leftParts.push(theme.fg("dim", costStr));
130
+ const left = leftParts.join(" ");
131
+ // ── Lado direito: modelo + recursos ──────────────────────────
132
+ const rightParts = [];
133
+ rightParts.push(theme.fg("text", modelId));
134
+ if (usage?.contextWindow) {
135
+ rightParts.push(theme.fg("dim", `(${fmtWindow(usage.contextWindow)} context)`));
136
+ }
137
+ rightParts.push(theme.fg("dim", `${THINKING_EMOJIS[thinking] ?? ""} ${thinkingLabel}`));
138
+ const right = rightParts.join(" ");
139
+ const pad = " ".repeat(Math.max(1, width - visibleWidth(left) - visibleWidth(right)));
140
+ return [truncateToWidth(left + pad + right, width)];
141
+ },
142
+ };
143
+ });
144
+ // ── Notificação de boas-vindas ──────────────────────────────────────
145
+ if (ctx.hasUI && event.reason === "startup") {
146
+ ctx.ui.notify("🐝 Bem-vindo ao Apiário Dev! Créditos em R$.", "info");
147
+ }
28
148
  });
29
149
  }
30
150
  //# sourceMappingURL=localization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localization.js","sourceRoot":"","sources":["../../src/extensions/localization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAC5C,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAgB;IAC5D,SAAS,KAAK,CAAC,GAAqB;QAClC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC1C,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;QACrD,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"localization.js","sourceRoot":"","sources":["../../src/extensions/localization.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apiario",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "CLI Harness — pi.dev TUI wrapper for Apiário Dev API",
5
5
  "type": "module",
6
6
  "bin": {
@@ -14,6 +14,7 @@
14
14
  "dependencies": {
15
15
  "@earendil-works/pi-ai": "^0.75.5",
16
16
  "@earendil-works/pi-coding-agent": "^0.75.5",
17
+ "@earendil-works/pi-tui": "^0.75.5",
17
18
  "typebox": "1.1.38"
18
19
  },
19
20
  "devDependencies": {