@kenkaiiii/ggcoder 5.81.0 → 5.83.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 +1 -1
- package/dist/app-sidecar/app-settings.js +11 -5
- package/dist/app-sidecar/app-settings.js.map +1 -1
- package/dist/app-sidecar/auth-routes.js +8 -3
- package/dist/app-sidecar/auth-routes.js.map +1 -1
- package/dist/app-sidecar/goal-routes.js +7 -0
- package/dist/app-sidecar/goal-routes.js.map +1 -1
- package/dist/app-sidecar/run-control-routes.js +31 -3
- package/dist/app-sidecar/run-control-routes.js.map +1 -1
- package/dist/app-sidecar.js +65 -11
- package/dist/app-sidecar.js.map +1 -1
- package/dist/cli/auth.js +22 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli.js +7 -7
- package/dist/cli.js.map +1 -1
- package/dist/config.js +4 -2
- package/dist/config.js.map +1 -1
- package/dist/core/agent-notifications.d.ts +18 -0
- package/dist/core/agent-notifications.js +35 -2
- package/dist/core/agent-notifications.js.map +1 -1
- package/dist/core/agent-session.d.ts +71 -1
- package/dist/core/agent-session.js +175 -16
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/policy.d.ts +2 -2
- package/dist/core/compaction/policy.js +86 -43
- package/dist/core/compaction/policy.js.map +1 -1
- package/dist/core/compaction/token-estimator.d.ts +4 -1
- package/dist/core/compaction/token-estimator.js +5 -2
- package/dist/core/compaction/token-estimator.js.map +1 -1
- package/dist/core/idle-wake.d.ts +62 -0
- package/dist/core/idle-wake.js +103 -0
- package/dist/core/idle-wake.js.map +1 -0
- package/dist/core/process-manager.d.ts +51 -11
- package/dist/core/process-manager.js +229 -54
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts +5 -1
- package/dist/core/slash-commands.js +24 -9
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/steering.d.ts +7 -0
- package/dist/core/steering.js +13 -0
- package/dist/core/steering.js.map +1 -1
- package/dist/core/subagent-manager.js +5 -4
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-policy.js +4 -1
- package/dist/core/subagent-policy.js.map +1 -1
- package/dist/goals-agent/goals-agent.js +3 -2
- package/dist/goals-agent/goals-agent.js.map +1 -1
- package/dist/interactive.js +9 -3
- package/dist/interactive.js.map +1 -1
- package/dist/modes/acp-mode.js +8 -1
- package/dist/modes/acp-mode.js.map +1 -1
- package/dist/modes/agent-home-mode.js +13 -1
- package/dist/modes/agent-home-mode.js.map +1 -1
- package/dist/modes/rpc-mode.d.ts +2 -1
- package/dist/modes/rpc-mode.js +15 -3
- package/dist/modes/rpc-mode.js.map +1 -1
- package/dist/modes/serve-mode.js +13 -1
- package/dist/modes/serve-mode.js.map +1 -1
- package/dist/tools/background-watch-lint.d.ts +18 -0
- package/dist/tools/background-watch-lint.js +102 -0
- package/dist/tools/background-watch-lint.js.map +1 -0
- package/dist/tools/bash.js +5 -2
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/subagent-shared.js +4 -1
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/task-output.js +11 -1
- package/dist/tools/task-output.js.map +1 -1
- package/dist/ui/components/Footer.js +4 -0
- package/dist/ui/components/Footer.js.map +1 -1
- package/dist/ui/components/ModelSelector.d.ts +10 -0
- package/dist/ui/components/ModelSelector.js +51 -5
- package/dist/ui/components/ModelSelector.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React, { useMemo } from "react";
|
|
3
|
-
import {
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React, { useMemo, useState } from "react";
|
|
3
|
+
import { Box, Text } from "ink";
|
|
4
|
+
import { getModel, MODELS } from "../../core/model-registry.js";
|
|
5
|
+
import { useTheme } from "../theme/theme.js";
|
|
4
6
|
import { SlashStyledSelectList } from "./SlashStyledSelectList.js";
|
|
5
7
|
const MAX_MODELS_TO_SHOW = 6;
|
|
8
|
+
/** Values of the "spend real money" confirmation. Cancel is listed first. */
|
|
9
|
+
export const PAID_CONFIRM_CANCEL = "__cancel__";
|
|
10
|
+
export const PAID_CONFIRM_YES = "__confirm_paid__";
|
|
6
11
|
const PROVIDER_LABEL = {
|
|
7
12
|
anthropic: "Anthropic",
|
|
8
13
|
openai: "OpenAI",
|
|
@@ -17,18 +22,59 @@ const PROVIDER_LABEL = {
|
|
|
17
22
|
sakana: "Sakana",
|
|
18
23
|
xai: "xAI",
|
|
19
24
|
};
|
|
25
|
+
/** The `provider:model` value's model, when it spends real money. */
|
|
26
|
+
export function paidModelFor(value) {
|
|
27
|
+
const model = getModel(value.slice(value.indexOf(":") + 1));
|
|
28
|
+
if (!model?.billing?.paid)
|
|
29
|
+
return undefined;
|
|
30
|
+
const standard = model.billing.standardModel ? getModel(model.billing.standardModel) : undefined;
|
|
31
|
+
return {
|
|
32
|
+
name: model.name,
|
|
33
|
+
detail: model.billing.detail,
|
|
34
|
+
label: model.billing.label,
|
|
35
|
+
standardName: standard?.name ?? "a standard model",
|
|
36
|
+
};
|
|
37
|
+
}
|
|
20
38
|
export function ModelSelector({ onSelect, onCancel, loggedInProviders, currentModel, currentProvider, }) {
|
|
39
|
+
const theme = useTheme();
|
|
21
40
|
const currentValue = `${currentProvider}:${currentModel}`;
|
|
41
|
+
// A real-money model waiting on an explicit yes. Picking it never switches
|
|
42
|
+
// by itself; the list is replaced by a confirmation whose default is Cancel.
|
|
43
|
+
const [pendingPaid, setPendingPaid] = useState(null);
|
|
22
44
|
const items = useMemo(() => MODELS.filter((m) => loggedInProviders.includes(m.provider)).map((m) => {
|
|
23
45
|
const value = `${m.provider}:${m.id}`;
|
|
24
46
|
const isCurrent = value === currentValue;
|
|
25
47
|
return {
|
|
26
48
|
label: `${isCurrent ? "* " : " "}${m.id}`,
|
|
27
49
|
value,
|
|
28
|
-
|
|
50
|
+
// Fast modes change what the user pays; say so where they pick it.
|
|
51
|
+
description: [PROVIDER_LABEL[m.provider] ?? m.provider, m.billing?.label]
|
|
52
|
+
.filter(Boolean)
|
|
53
|
+
.join(" · "),
|
|
29
54
|
};
|
|
30
55
|
}), [currentValue, loggedInProviders]);
|
|
31
56
|
const initialIndex = Math.max(0, items.findIndex((item) => item.value === currentValue));
|
|
32
|
-
|
|
57
|
+
const paid = pendingPaid ? paidModelFor(pendingPaid) : undefined;
|
|
58
|
+
if (pendingPaid && paid) {
|
|
59
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: theme.warning, bold: true, children: [paid.name, " spends real money."] }), _jsx(Text, { color: theme.text, children: paid.detail }), _jsxs(Text, { color: theme.textDim, children: ["It stays on for this session only. Restarts and new sessions go back to", " ", paid.standardName, ", and sub-agents never use it."] }), _jsx(SlashStyledSelectList, { items: [
|
|
60
|
+
{ label: "Cancel", value: PAID_CONFIRM_CANCEL, description: "keep the current model" },
|
|
61
|
+
{
|
|
62
|
+
label: "Use it and pay",
|
|
63
|
+
value: PAID_CONFIRM_YES,
|
|
64
|
+
description: paid.label,
|
|
65
|
+
},
|
|
66
|
+
], onSelect: (choice) => {
|
|
67
|
+
if (choice === PAID_CONFIRM_YES)
|
|
68
|
+
onSelect(pendingPaid);
|
|
69
|
+
else
|
|
70
|
+
setPendingPaid(null);
|
|
71
|
+
}, onCancel: () => setPendingPaid(null), initialIndex: 0 })] }));
|
|
72
|
+
}
|
|
73
|
+
return (_jsx(SlashStyledSelectList, { items: items, onSelect: (value) => {
|
|
74
|
+
if (value !== currentValue && paidModelFor(value))
|
|
75
|
+
setPendingPaid(value);
|
|
76
|
+
else
|
|
77
|
+
onSelect(value);
|
|
78
|
+
}, onCancel: onCancel, initialIndex: initialIndex, maxItemsToShow: MAX_MODELS_TO_SHOW }));
|
|
33
79
|
}
|
|
34
80
|
//# sourceMappingURL=ModelSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelSelector.js","sourceRoot":"","sources":["../../../src/ui/components/ModelSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelSelector.js","sourceRoot":"","sources":["../../../src/ui/components/ModelSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAUnE,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,MAAM,cAAc,GAA2B;IAC7C,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAC1B,KAAa;IAEb,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;QAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAC1B,YAAY,EAAE,QAAQ,EAAE,IAAI,IAAI,kBAAkB;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,eAAe,GACI;IACnB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,YAAY,GAAG,GAAG,eAAe,IAAI,YAAY,EAAE,CAAC;IAC1D,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEpE,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CACH,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrE,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,KAAK,KAAK,YAAY,CAAC;QACzC,OAAO;YACL,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;YAC1C,KAAK;YACL,mEAAmE;YACnE,WAAW,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;iBACtE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,KAAK,CAAC;SACf,CAAC;IACJ,CAAC,CAAC,EACJ,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAClC,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,CAAC,EACD,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,CACvD,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,mBAC7B,IAAI,CAAC,IAAI,2BACL,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAG,IAAI,CAAC,MAAM,GAAQ,EAC7C,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,wFACgD,GAAG,EAC1E,IAAI,CAAC,YAAY,sCACb,EACP,KAAC,qBAAqB,IACpB,KAAK,EAAE;wBACL,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,wBAAwB,EAAE;wBACtF;4BACE,KAAK,EAAE,gBAAgB;4BACvB,KAAK,EAAE,gBAAgB;4BACvB,WAAW,EAAE,IAAI,CAAC,KAAK;yBACxB;qBACF,EACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;wBACnB,IAAI,MAAM,KAAK,gBAAgB;4BAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;;4BAClD,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EACpC,YAAY,EAAE,CAAC,GACf,IACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,qBAAqB,IACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,IAAI,KAAK,KAAK,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC;gBAAE,cAAc,CAAC,KAAK,CAAC,CAAC;;gBACpE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,EACD,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,kBAAkB,GAClC,CACH,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenkaiiii/ggcoder",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.83.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Lean CLI coding agent for 12 LLM providers and local models, with OAuth for Anthropic, OpenAI and Gemini",
|
|
6
6
|
"license": "MIT",
|
|
@@ -115,9 +115,9 @@
|
|
|
115
115
|
"typescript-language-server": "^5.3.0",
|
|
116
116
|
"wrap-ansi": "^10.0.0",
|
|
117
117
|
"zod": "^4.4.3",
|
|
118
|
-
"@kenkaiiii/gg-agent": "5.
|
|
119
|
-
"@kenkaiiii/gg-ai": "5.
|
|
120
|
-
"@kenkaiiii/gg-core": "5.
|
|
118
|
+
"@kenkaiiii/gg-agent": "5.83.0",
|
|
119
|
+
"@kenkaiiii/gg-ai": "5.83.0",
|
|
120
|
+
"@kenkaiiii/gg-core": "5.83.0"
|
|
121
121
|
},
|
|
122
122
|
"optionalDependencies": {
|
|
123
123
|
"@huggingface/transformers": "4.2.0",
|