apiario 0.4.0 → 0.7.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/README.md +3 -3
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/balance.d.ts +35 -0
- package/dist/balance.d.ts.map +1 -0
- package/dist/balance.js +52 -0
- package/dist/balance.js.map +1 -0
- package/dist/cli.js +4 -2
- package/dist/cli.js.map +1 -1
- package/dist/extensions/localization.d.ts +3 -2
- package/dist/extensions/localization.d.ts.map +1 -1
- package/dist/extensions/localization.js +31 -9
- package/dist/extensions/localization.js.map +1 -1
- package/dist/extensions/subagent/agents.d.ts +39 -0
- package/dist/extensions/subagent/agents.d.ts.map +1 -0
- package/dist/extensions/subagent/agents.js +239 -0
- package/dist/extensions/subagent/agents.js.map +1 -0
- package/dist/extensions/subagent/display.d.ts +18 -0
- package/dist/extensions/subagent/display.d.ts.map +1 -0
- package/dist/extensions/subagent/display.js +442 -0
- package/dist/extensions/subagent/display.js.map +1 -0
- package/dist/extensions/subagent/index.d.ts +15 -0
- package/dist/extensions/subagent/index.d.ts.map +1 -0
- package/dist/extensions/subagent/index.js +349 -0
- package/dist/extensions/subagent/index.js.map +1 -0
- package/dist/extensions/subagent/spawn.d.ts +48 -0
- package/dist/extensions/subagent/spawn.d.ts.map +1 -0
- package/dist/extensions/subagent/spawn.js +326 -0
- package/dist/extensions/subagent/spawn.js.map +1 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +1 -1
- package/dist/provider.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -25,9 +25,9 @@ On first run, the tool will guide you through setting up your API key.
|
|
|
25
25
|
|
|
26
26
|
## Environment variables
|
|
27
27
|
|
|
28
|
-
| Variable
|
|
29
|
-
|
|
30
|
-
| `APIARIO_API_KEY` | No
|
|
28
|
+
| Variable | Required | Description |
|
|
29
|
+
| ----------------- | -------- | ------------------------------------------------------------------- |
|
|
30
|
+
| `APIARIO_API_KEY` | No | API key. Falls back to `~/.config/apiario/settings.json` if not set |
|
|
31
31
|
|
|
32
32
|
## Config file location
|
|
33
33
|
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYhD;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAc7C;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcrE;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYhD;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAc7C;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcrE;AA0FD;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAClC,UAAU,SAAI,GACb,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA2C/B"}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG7D,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,IAAI,GAAG,0BAA0B,CAAC;AAExC,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC3B,0BAA0B;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,iBAAiB;IACjB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,SAAS,EAAE;YAChD,OAAO,EAAE;gBACP,GAAG,gBAAgB,EAAE;gBACrB,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAC;QACH,iDAAiD;QACjD,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,MAAM,GAAG,KAAK;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,eAAe,CAAC;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACX,4EAA4E;YAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;YACzB,KAAK,CAAC,MAAM,EAAE,CAAC;YAEf,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEvB,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC9B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnC,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC1B,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnB,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACT,CAAC;gBACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtB,SAAS;oBACT,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC1B,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnB,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,YAAY;gBACZ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,KAAK,IAAI,IAAI,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC;YAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG,kDAAkD,CAAC;IAClE,MAAM,MAAM,GAAG,kDAAkD,CAAC;IAClE,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;IAEvD,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAU,GAAG,CAAC;IAEd,cAAc,EAAE,CAAC;IAEjB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAE7D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;YACD,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAkB,EAAE,MAAM,EAAE,CAAC;YACzC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,aAAa,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,GAAG,CACT,mEAAmE,CACpE,CAAC;QACF,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CACT,uEAAuE,CACxE,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Balance API — consulta o saldo de créditos do usuário via GET /v1/balance.
|
|
3
|
+
*
|
|
4
|
+
* A API retorna:
|
|
5
|
+
* { "balance": 25.0, "currency": "BRL" }
|
|
6
|
+
*
|
|
7
|
+
* O saldo é o valor em Real (BRL) disponível na conta do usuário autenticado
|
|
8
|
+
* pela chave de API (sk-...).
|
|
9
|
+
*/
|
|
10
|
+
/** Resposta do endpoint GET /v1/balance. */
|
|
11
|
+
export interface BalanceResponse {
|
|
12
|
+
/** Saldo em BRL (ex.: 25.0 = R$ 25,00). */
|
|
13
|
+
balance: number;
|
|
14
|
+
/** Moeda: sempre "BRL". */
|
|
15
|
+
currency: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Consulta o saldo do usuário autenticado pela chave de API.
|
|
19
|
+
*
|
|
20
|
+
* @param apiKey Chave de API (sk-...) para autenticação.
|
|
21
|
+
* @returns Saldo em BRL e moeda.
|
|
22
|
+
* @throws Se a requisição falhar ou retornar status HTTP ≥ 400.
|
|
23
|
+
*/
|
|
24
|
+
export declare function fetchBalance(apiKey: string): Promise<BalanceResponse>;
|
|
25
|
+
/**
|
|
26
|
+
* Formata um valor numérico em reais (BRL) no padrão brasileiro.
|
|
27
|
+
*
|
|
28
|
+
* Exemplos:
|
|
29
|
+
* 25 → "R$ 25,00"
|
|
30
|
+
* 0.5 → "R$ 0,50"
|
|
31
|
+
* 1.234 → "R$ 1,23"
|
|
32
|
+
* 45.383 → "R$ 45,38"
|
|
33
|
+
*/
|
|
34
|
+
export declare function formatBalanceBRL(balance: number): string;
|
|
35
|
+
//# sourceMappingURL=balance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../src/balance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAgB3E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxD"}
|
package/dist/balance.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Balance API — consulta o saldo de créditos do usuário via GET /v1/balance.
|
|
3
|
+
*
|
|
4
|
+
* A API retorna:
|
|
5
|
+
* { "balance": 25.0, "currency": "BRL" }
|
|
6
|
+
*
|
|
7
|
+
* O saldo é o valor em Real (BRL) disponível na conta do usuário autenticado
|
|
8
|
+
* pela chave de API (sk-...).
|
|
9
|
+
*/
|
|
10
|
+
import { API_BASE_URL, apiClientHeaders } from "./client.js";
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Fetch
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* Consulta o saldo do usuário autenticado pela chave de API.
|
|
16
|
+
*
|
|
17
|
+
* @param apiKey Chave de API (sk-...) para autenticação.
|
|
18
|
+
* @returns Saldo em BRL e moeda.
|
|
19
|
+
* @throws Se a requisição falhar ou retornar status HTTP ≥ 400.
|
|
20
|
+
*/
|
|
21
|
+
export async function fetchBalance(apiKey) {
|
|
22
|
+
const res = await fetch(`${API_BASE_URL}/balance`, {
|
|
23
|
+
headers: {
|
|
24
|
+
...apiClientHeaders(),
|
|
25
|
+
Authorization: `Bearer ${apiKey}`,
|
|
26
|
+
Accept: "application/json",
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
if (!res.ok) {
|
|
30
|
+
throw new Error(`Falha ao consultar saldo: HTTP ${res.status} ${res.statusText}`);
|
|
31
|
+
}
|
|
32
|
+
return res.json();
|
|
33
|
+
}
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
// Formatting helpers
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
37
|
+
/**
|
|
38
|
+
* Formata um valor numérico em reais (BRL) no padrão brasileiro.
|
|
39
|
+
*
|
|
40
|
+
* Exemplos:
|
|
41
|
+
* 25 → "R$ 25,00"
|
|
42
|
+
* 0.5 → "R$ 0,50"
|
|
43
|
+
* 1.234 → "R$ 1,23"
|
|
44
|
+
* 45.383 → "R$ 45,38"
|
|
45
|
+
*/
|
|
46
|
+
export function formatBalanceBRL(balance) {
|
|
47
|
+
return `R$ ${balance.toLocaleString("pt-BR", {
|
|
48
|
+
minimumFractionDigits: 2,
|
|
49
|
+
maximumFractionDigits: 2,
|
|
50
|
+
})}`;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=balance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../src/balance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAc7D,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,UAAU,EAAE;QACjD,OAAO,EAAE;YACP,GAAG,gBAAgB,EAAE;YACrB,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,MAAM,EAAE,kBAAkB;SAC3B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,kCAAkC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CACjE,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAA8B,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE;QAC3C,qBAAqB,EAAE,CAAC;QACxB,qBAAqB,EAAE,CAAC;KACzB,CAAC,EAAE,CAAC;AACP,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { AuthStorage, ModelRegistry, InteractiveMode, runPrintMode, createAgentSessionRuntime, createAgentSessionFromServices, createAgentSessionServices, SessionManager, } from "@earendil-works/pi-coding-agent";
|
|
3
3
|
import { resolveApiKey, runSetupWizard } from "./auth.js";
|
|
4
|
-
import { resolveModels, mapToProviderModelConfigs, sortModelsByPriority } from "./provider.js";
|
|
4
|
+
import { resolveModels, mapToProviderModelConfigs, sortModelsByPriority, } from "./provider.js";
|
|
5
5
|
import { API_BASE_URL, apiClientHeaders } from "./client.js";
|
|
6
6
|
import localizationExtension from "./extensions/localization.js";
|
|
7
7
|
import { homedir } from "os";
|
|
@@ -172,7 +172,9 @@ async function main() {
|
|
|
172
172
|
extensionFactories: [localizationExtension],
|
|
173
173
|
},
|
|
174
174
|
});
|
|
175
|
-
const allModels = modelRegistry
|
|
175
|
+
const allModels = modelRegistry
|
|
176
|
+
.getAll()
|
|
177
|
+
.filter((m) => m.provider === "apiario");
|
|
176
178
|
const defaultModel = allModels.find((m) => m.id === "deepseek/deepseek-v4-flash") ??
|
|
177
179
|
allModels[0];
|
|
178
180
|
const sessionResult = await createAgentSessionFromServices({
|
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,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* Customiza todo o branding do pi.dev para Apiário Dev em português brasileiro:
|
|
5
5
|
*
|
|
6
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
|
+
* - Footer: modelo ativo · branch · 💬 nível de thinking · % da janela de contexto · saldo
|
|
8
8
|
* - Working message: "Trabalhando..." (em vez de "Working...")
|
|
9
9
|
* - Hidden thinking label: "Pensando..." (em vez de "Thinking...")
|
|
10
10
|
* - Título do terminal: "🐝 Apiário Dev"
|
|
11
|
-
* - Welcome notification: "🐝 Bem-vindo ao Apiário Dev! Créditos
|
|
11
|
+
* - Welcome notification: "🐝 Bem-vindo ao Apiário Dev! Créditos: R$ 25,00"
|
|
12
|
+
* (saldo real consultado via GET /v1/balance)
|
|
12
13
|
*
|
|
13
14
|
* APIs utilizadas (docs/ do pi.dev):
|
|
14
15
|
* - ctx.ui.setHeader() — Pattern 6 (Custom UI)
|
|
@@ -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;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAC;AAiCzC,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,EAAE,YAAY,QAyL7D"}
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* Customiza todo o branding do pi.dev para Apiário Dev em português brasileiro:
|
|
5
5
|
*
|
|
6
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
|
+
* - Footer: modelo ativo · branch · 💬 nível de thinking · % da janela de contexto · saldo
|
|
8
8
|
* - Working message: "Trabalhando..." (em vez de "Working...")
|
|
9
9
|
* - Hidden thinking label: "Pensando..." (em vez de "Thinking...")
|
|
10
10
|
* - Título do terminal: "🐝 Apiário Dev"
|
|
11
|
-
* - Welcome notification: "🐝 Bem-vindo ao Apiário Dev! Créditos
|
|
11
|
+
* - Welcome notification: "🐝 Bem-vindo ao Apiário Dev! Créditos: R$ 25,00"
|
|
12
|
+
* (saldo real consultado via GET /v1/balance)
|
|
12
13
|
*
|
|
13
14
|
* APIs utilizadas (docs/ do pi.dev):
|
|
14
15
|
* - ctx.ui.setHeader() — Pattern 6 (Custom UI)
|
|
@@ -19,6 +20,8 @@
|
|
|
19
20
|
*/
|
|
20
21
|
import { createRequire } from "node:module";
|
|
21
22
|
import { truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
|
|
23
|
+
import { fetchBalance, formatBalanceBRL } from "../balance.js";
|
|
24
|
+
import { resolveApiKey } from "../auth.js";
|
|
22
25
|
// Lê a versão do package.json do harness (funciona tanto em src/ quanto em dist/)
|
|
23
26
|
const require = createRequire(import.meta.url);
|
|
24
27
|
const PKG = require("../../package.json");
|
|
@@ -105,7 +108,7 @@ export default function localizationExtension(pi) {
|
|
|
105
108
|
const parts = cwd.split("/").filter(Boolean);
|
|
106
109
|
const cwdBase = parts.length >= 2
|
|
107
110
|
? parts.slice(-2).join("/")
|
|
108
|
-
: parts[parts.length - 1] ?? cwd;
|
|
111
|
+
: (parts[parts.length - 1] ?? cwd);
|
|
109
112
|
const costStr = totalCost > 0
|
|
110
113
|
? `R$ ${totalCost.toFixed(totalCost < 0.01 ? 4 : 3)}`
|
|
111
114
|
: "R$ 0,00";
|
|
@@ -114,10 +117,9 @@ export default function localizationExtension(pi) {
|
|
|
114
117
|
const orange = (s) => `\x1b[38;5;208m${s}\x1b[39m`;
|
|
115
118
|
const green = (s) => `\x1b[32m${s}\x1b[39m`;
|
|
116
119
|
const red = (s) => `\x1b[31m${s}\x1b[39m`;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
];
|
|
120
|
+
// Saldo em cache (definido na inicialização abaixo)
|
|
121
|
+
const balanceStr = typeof balanceCache !== "undefined" ? balanceCache : null;
|
|
122
|
+
const leftParts = [theme.fg("accent", "🐝"), blue(cwdBase)];
|
|
121
123
|
if (branch) {
|
|
122
124
|
leftParts.push(orange(`(${branch})`));
|
|
123
125
|
}
|
|
@@ -127,6 +129,9 @@ export default function localizationExtension(pi) {
|
|
|
127
129
|
leftParts.push(theme.fg("dim", `ctx:${Math.round(usage.percent)}%`));
|
|
128
130
|
}
|
|
129
131
|
leftParts.push(theme.fg("dim", costStr));
|
|
132
|
+
if (balanceStr) {
|
|
133
|
+
leftParts.push(theme.fg("dim", `· ${balanceStr}`));
|
|
134
|
+
}
|
|
130
135
|
const left = leftParts.join(" ");
|
|
131
136
|
// ── Lado direito: modelo + recursos ──────────────────────────
|
|
132
137
|
const rightParts = [];
|
|
@@ -141,9 +146,26 @@ export default function localizationExtension(pi) {
|
|
|
141
146
|
},
|
|
142
147
|
};
|
|
143
148
|
});
|
|
144
|
-
// ──
|
|
149
|
+
// ── Cache de saldo para o footer ─────────────────────────────────────
|
|
150
|
+
let balanceCache;
|
|
151
|
+
// ── Notificação de boas-vindas com saldo real ─────────────────────────
|
|
145
152
|
if (ctx.hasUI && event.reason === "startup") {
|
|
146
|
-
|
|
153
|
+
(async () => {
|
|
154
|
+
try {
|
|
155
|
+
const apiKey = resolveApiKey();
|
|
156
|
+
if (apiKey) {
|
|
157
|
+
const { balance } = await fetchBalance(apiKey);
|
|
158
|
+
balanceCache = formatBalanceBRL(balance);
|
|
159
|
+
ctx.ui.notify(`🐝 Bem-vindo ao Apiário Dev! Créditos: ${balanceCache}.`, "info");
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
ctx.ui.notify("🐝 Bem-vindo ao Apiário Dev! Créditos: R$ ?.", "info");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
ctx.ui.notify("🐝 Bem-vindo ao Apiário Dev! Créditos: R$ ? (indisponível).", "info");
|
|
167
|
+
}
|
|
168
|
+
})();
|
|
147
169
|
}
|
|
148
170
|
});
|
|
149
171
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Descoberta de agentes, parsing de frontmatter e seed dos built-in
|
|
3
|
+
*
|
|
4
|
+
* Carrega agentes de:
|
|
5
|
+
* - ~/.config/apiario/agents/*.md (usuário)
|
|
6
|
+
* - .agents/agents/*.md (projeto, opcional)
|
|
7
|
+
*
|
|
8
|
+
* Na primeira execução, cria os 3 agentes built-in:
|
|
9
|
+
* scout, generalist, reviewer
|
|
10
|
+
*/
|
|
11
|
+
export type AgentScope = "user" | "project" | "both";
|
|
12
|
+
export interface AgentConfig {
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
tools?: string[];
|
|
16
|
+
model?: string;
|
|
17
|
+
systemPrompt: string;
|
|
18
|
+
source: "user" | "project";
|
|
19
|
+
filePath: string;
|
|
20
|
+
}
|
|
21
|
+
export interface AgentDiscoveryResult {
|
|
22
|
+
agents: AgentConfig[];
|
|
23
|
+
projectAgentsDir: string | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Cria os 3 agentes built-in (scout, generalist, reviewer) no diretório de
|
|
27
|
+
* agentes do usuário, caso o diretório esteja vazio (primeira execução).
|
|
28
|
+
* Nunca sobrescreve arquivos existentes.
|
|
29
|
+
*/
|
|
30
|
+
export declare function seedBuiltinAgents(): void;
|
|
31
|
+
export declare function discoverAgents(cwd: string, scope: AgentScope): AgentDiscoveryResult;
|
|
32
|
+
/**
|
|
33
|
+
* Formata lista de agentes para display
|
|
34
|
+
*/
|
|
35
|
+
export declare function formatAgentList(agents: AgentConfig[], maxItems: number): {
|
|
36
|
+
text: string;
|
|
37
|
+
remaining: number;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/extensions/subagent/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA2KD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CA8BxC;AAMD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,UAAU,GAChB,oBAAoB,CA0BtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EAAE,EACrB,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAUrC"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Descoberta de agentes, parsing de frontmatter e seed dos built-in
|
|
3
|
+
*
|
|
4
|
+
* Carrega agentes de:
|
|
5
|
+
* - ~/.config/apiario/agents/*.md (usuário)
|
|
6
|
+
* - .agents/agents/*.md (projeto, opcional)
|
|
7
|
+
*
|
|
8
|
+
* Na primeira execução, cria os 3 agentes built-in:
|
|
9
|
+
* scout, generalist, reviewer
|
|
10
|
+
*/
|
|
11
|
+
import * as fs from "node:fs";
|
|
12
|
+
import * as path from "node:path";
|
|
13
|
+
import { homedir } from "node:os";
|
|
14
|
+
import { parseFrontmatter, } from "@earendil-works/pi-coding-agent";
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Constantes
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
const USER_AGENT_DIR = path.join(homedir(), ".config", "apiario", "agents");
|
|
19
|
+
const BUILTIN_AGENTS = [
|
|
20
|
+
{
|
|
21
|
+
name: "scout",
|
|
22
|
+
description: "Fast codebase recon that returns compressed context for handoff",
|
|
23
|
+
tools: ["read", "grep", "find", "ls", "bash"],
|
|
24
|
+
systemPrompt: [
|
|
25
|
+
"You are a **scout agent** specialized in fast codebase reconnaissance.",
|
|
26
|
+
"",
|
|
27
|
+
"Your goal is to explore the codebase, gather relevant context, and return a",
|
|
28
|
+
"compressed summary for the next agent in the chain.",
|
|
29
|
+
"",
|
|
30
|
+
"## Guidelines",
|
|
31
|
+
"",
|
|
32
|
+
"- Use `read` to inspect key files and understand structure.",
|
|
33
|
+
"- Use `grep` to find relevant patterns, function definitions, imports.",
|
|
34
|
+
"- Use `find` / `ls` to discover file layouts.",
|
|
35
|
+
"- Use `bash` for project introspection (e.g., package.json, configs).",
|
|
36
|
+
"- **Do NOT** use `write` or `edit` — you are read-only.",
|
|
37
|
+
"- Return a concise Markdown summary with:",
|
|
38
|
+
" - Key files and their purposes",
|
|
39
|
+
" - Relevant code snippets (paths + line numbers)",
|
|
40
|
+
" - Architecture notes and relationships",
|
|
41
|
+
" - Anything the next agent needs to implement the task",
|
|
42
|
+
"",
|
|
43
|
+
"Be thorough but concise. Focus on what's relevant to the task.",
|
|
44
|
+
].join("\n"),
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "generalist",
|
|
48
|
+
description: "General-purpose agent with full tool access",
|
|
49
|
+
tools: undefined,
|
|
50
|
+
systemPrompt: [
|
|
51
|
+
"You are a **generalist agent** with full access to all available tools.",
|
|
52
|
+
"",
|
|
53
|
+
"Your goal is to complete the assigned task thoroughly and correctly.",
|
|
54
|
+
"",
|
|
55
|
+
"## Guidelines",
|
|
56
|
+
"",
|
|
57
|
+
"- Read files before editing to understand existing code.",
|
|
58
|
+
"- Make targeted, minimal changes.",
|
|
59
|
+
"- Test your changes when possible.",
|
|
60
|
+
"- Return the final result or a summary of what was done.",
|
|
61
|
+
].join("\n"),
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "reviewer",
|
|
65
|
+
description: "Code review agent that checks for issues and improvements",
|
|
66
|
+
tools: ["read", "grep", "find", "ls", "bash"],
|
|
67
|
+
systemPrompt: [
|
|
68
|
+
"You are a **reviewer agent** specialized in code review.",
|
|
69
|
+
"",
|
|
70
|
+
"Your goal is to analyze code changes and provide actionable feedback.",
|
|
71
|
+
"",
|
|
72
|
+
"## Guidelines",
|
|
73
|
+
"",
|
|
74
|
+
"- Read the relevant files to understand the change context.",
|
|
75
|
+
"- Use `grep` to find related code that may be affected.",
|
|
76
|
+
"- Check for:",
|
|
77
|
+
" - Correctness and edge cases",
|
|
78
|
+
" - Error handling",
|
|
79
|
+
" - Performance implications",
|
|
80
|
+
" - Code style and consistency",
|
|
81
|
+
" - Security concerns",
|
|
82
|
+
" - Test coverage",
|
|
83
|
+
"- **Do NOT** make edits — you are read-only.",
|
|
84
|
+
"- Return a structured review with:",
|
|
85
|
+
" - Summary of what was reviewed",
|
|
86
|
+
" - Issues found (categorized by severity)",
|
|
87
|
+
" - Suggestions for improvement",
|
|
88
|
+
" - Overall verdict (approved / changes requested)",
|
|
89
|
+
].join("\n"),
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
// ---------------------------------------------------------------------------
|
|
93
|
+
// Helpers
|
|
94
|
+
// ---------------------------------------------------------------------------
|
|
95
|
+
function isDirectory(p) {
|
|
96
|
+
try {
|
|
97
|
+
return fs.statSync(p).isDirectory();
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function findNearestProjectAgentsDir(cwd) {
|
|
104
|
+
let current = cwd;
|
|
105
|
+
while (true) {
|
|
106
|
+
const candidate = path.join(current, ".agents", "agents");
|
|
107
|
+
if (isDirectory(candidate))
|
|
108
|
+
return candidate;
|
|
109
|
+
const parent = path.dirname(current);
|
|
110
|
+
if (parent === current)
|
|
111
|
+
return null;
|
|
112
|
+
current = parent;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function loadAgentsFromDir(dir, source) {
|
|
116
|
+
const agents = [];
|
|
117
|
+
if (!isDirectory(dir))
|
|
118
|
+
return agents;
|
|
119
|
+
let entries;
|
|
120
|
+
try {
|
|
121
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return agents;
|
|
125
|
+
}
|
|
126
|
+
for (const entry of entries) {
|
|
127
|
+
if (!entry.name.endsWith(".md"))
|
|
128
|
+
continue;
|
|
129
|
+
if (!entry.isFile() && !entry.isSymbolicLink())
|
|
130
|
+
continue;
|
|
131
|
+
const filePath = path.join(dir, entry.name);
|
|
132
|
+
let content;
|
|
133
|
+
try {
|
|
134
|
+
content = fs.readFileSync(filePath, "utf-8");
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
const { frontmatter, body } = parseFrontmatter(content);
|
|
140
|
+
if (!frontmatter.name || !frontmatter.description) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
const tools = frontmatter.tools
|
|
144
|
+
?.split(",")
|
|
145
|
+
.map((t) => t.trim())
|
|
146
|
+
.filter(Boolean);
|
|
147
|
+
agents.push({
|
|
148
|
+
name: frontmatter.name,
|
|
149
|
+
description: frontmatter.description,
|
|
150
|
+
tools: tools && tools.length > 0 ? tools : undefined,
|
|
151
|
+
model: frontmatter.model || undefined,
|
|
152
|
+
systemPrompt: body,
|
|
153
|
+
source,
|
|
154
|
+
filePath,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
return agents;
|
|
158
|
+
}
|
|
159
|
+
// ---------------------------------------------------------------------------
|
|
160
|
+
// Seed dos built-in
|
|
161
|
+
// ---------------------------------------------------------------------------
|
|
162
|
+
/**
|
|
163
|
+
* Cria os 3 agentes built-in (scout, generalist, reviewer) no diretório de
|
|
164
|
+
* agentes do usuário, caso o diretório esteja vazio (primeira execução).
|
|
165
|
+
* Nunca sobrescreve arquivos existentes.
|
|
166
|
+
*/
|
|
167
|
+
export function seedBuiltinAgents() {
|
|
168
|
+
if (!isDirectory(USER_AGENT_DIR)) {
|
|
169
|
+
fs.mkdirSync(USER_AGENT_DIR, { recursive: true });
|
|
170
|
+
}
|
|
171
|
+
for (const agent of BUILTIN_AGENTS) {
|
|
172
|
+
const filePath = path.join(USER_AGENT_DIR, `${agent.name}.md`);
|
|
173
|
+
if (fs.existsSync(filePath))
|
|
174
|
+
continue;
|
|
175
|
+
const toolsLine = agent.tools ? `tools: ${agent.tools.join(", ")}` : "";
|
|
176
|
+
const modelLine = agent.model ? `model: ${agent.model}` : "";
|
|
177
|
+
const frontmatter = [
|
|
178
|
+
"---",
|
|
179
|
+
`name: ${agent.name}`,
|
|
180
|
+
`description: ${agent.description}`,
|
|
181
|
+
...(toolsLine ? [toolsLine] : []),
|
|
182
|
+
...(modelLine ? [modelLine] : []),
|
|
183
|
+
"---",
|
|
184
|
+
].join("\n");
|
|
185
|
+
const content = `${frontmatter}\n\n${agent.systemPrompt}\n`;
|
|
186
|
+
try {
|
|
187
|
+
fs.writeFileSync(filePath, content, "utf-8");
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
// ignora — não crítico
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// ---------------------------------------------------------------------------
|
|
195
|
+
// Descoberta principal
|
|
196
|
+
// ---------------------------------------------------------------------------
|
|
197
|
+
export function discoverAgents(cwd, scope) {
|
|
198
|
+
const projectAgentsDir = findNearestProjectAgentsDir(cwd);
|
|
199
|
+
const userAgents = scope === "project" ? [] : loadAgentsFromDir(USER_AGENT_DIR, "user");
|
|
200
|
+
const projectAgents = scope === "user" || !projectAgentsDir
|
|
201
|
+
? []
|
|
202
|
+
: loadAgentsFromDir(projectAgentsDir, "project");
|
|
203
|
+
const agentMap = new Map();
|
|
204
|
+
if (scope === "both") {
|
|
205
|
+
// Usuário primeiro; projeto sobrescreve (mesmo nome vence projeto)
|
|
206
|
+
for (const agent of userAgents)
|
|
207
|
+
agentMap.set(agent.name, agent);
|
|
208
|
+
for (const agent of projectAgents)
|
|
209
|
+
agentMap.set(agent.name, agent);
|
|
210
|
+
}
|
|
211
|
+
else if (scope === "user") {
|
|
212
|
+
for (const agent of userAgents)
|
|
213
|
+
agentMap.set(agent.name, agent);
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
for (const agent of projectAgents)
|
|
217
|
+
agentMap.set(agent.name, agent);
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
agents: Array.from(agentMap.values()),
|
|
221
|
+
projectAgentsDir,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Formata lista de agentes para display
|
|
226
|
+
*/
|
|
227
|
+
export function formatAgentList(agents, maxItems) {
|
|
228
|
+
if (agents.length === 0)
|
|
229
|
+
return { text: "nenhum", remaining: 0 };
|
|
230
|
+
const listed = agents.slice(0, maxItems);
|
|
231
|
+
const remaining = agents.length - listed.length;
|
|
232
|
+
return {
|
|
233
|
+
text: listed
|
|
234
|
+
.map((a) => `${a.name} (${a.source}): ${a.description}`)
|
|
235
|
+
.join("; "),
|
|
236
|
+
remaining,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/extensions/subagent/agents.ts"],"names":[],"mappings":"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"}
|