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
|
-
|
|
65
|
-
const
|
|
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:
|
|
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":";AAEA,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,qBAAqB,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAExD,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,KAAK,UAAU,IAAI;IACjB,uEAAuE;IACvE,IAAI,MAAM,GAAG,aAAa,EAAE,CAAC;IAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CACX,2FAA2F,CAC5F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,sEAAsE;IACtE,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,wCAAwC,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,6EAA6E,CAC9E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sEAAsE;IACtE,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IACzC,
|
|
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
|
-
*
|
|
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
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
27
|
-
|
|
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
|
|
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.
|
|
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": {
|