@imricci/zaker 0.1.2 → 0.1.3

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.
Files changed (108) hide show
  1. package/dist/commands/app-server.d.ts +67 -0
  2. package/dist/commands/app-server.js +601 -0
  3. package/dist/commands/app-server.js.map +1 -0
  4. package/dist/commands/audit.js +2 -1
  5. package/dist/commands/audit.js.map +1 -1
  6. package/dist/commands/build.d.ts +3 -0
  7. package/dist/commands/build.js +22 -0
  8. package/dist/commands/build.js.map +1 -0
  9. package/dist/commands/confirm.d.ts +0 -2
  10. package/dist/commands/confirm.js +2 -16
  11. package/dist/commands/confirm.js.map +1 -1
  12. package/dist/commands/dialog-handlers/auth.d.ts +3 -0
  13. package/dist/commands/dialog-handlers/auth.js +174 -0
  14. package/dist/commands/dialog-handlers/auth.js.map +1 -0
  15. package/dist/commands/dialog-handlers/basic.d.ts +2 -2
  16. package/dist/commands/dialog-handlers/basic.js +8 -9
  17. package/dist/commands/dialog-handlers/basic.js.map +1 -1
  18. package/dist/commands/dialog-handlers/bootstrap.js +2 -2
  19. package/dist/commands/dialog-handlers/bootstrap.js.map +1 -1
  20. package/dist/commands/dialog-handlers/index.d.ts +1 -1
  21. package/dist/commands/dialog-handlers/message.js +94 -3
  22. package/dist/commands/dialog-handlers/message.js.map +1 -1
  23. package/dist/commands/dialog-handlers/model.d.ts +2 -0
  24. package/dist/commands/dialog-handlers/model.js +168 -0
  25. package/dist/commands/dialog-handlers/model.js.map +1 -0
  26. package/dist/commands/dialog-handlers/new.d.ts +2 -0
  27. package/dist/commands/dialog-handlers/new.js +53 -0
  28. package/dist/commands/dialog-handlers/new.js.map +1 -0
  29. package/dist/commands/dialog-handlers/router.js +39 -3
  30. package/dist/commands/dialog-handlers/router.js.map +1 -1
  31. package/dist/commands/dialog-handlers/run.js +44 -8
  32. package/dist/commands/dialog-handlers/run.js.map +1 -1
  33. package/dist/commands/dialog-handlers/types.d.ts +16 -17
  34. package/dist/commands/dialog.d.ts +92 -0
  35. package/dist/commands/dialog.js +1542 -422
  36. package/dist/commands/dialog.js.map +1 -1
  37. package/dist/commands/init.d.ts +3 -1
  38. package/dist/commands/init.js +6 -4
  39. package/dist/commands/init.js.map +1 -1
  40. package/dist/commands/plan.js +10 -6
  41. package/dist/commands/plan.js.map +1 -1
  42. package/dist/commands/run.js +8 -10
  43. package/dist/commands/run.js.map +1 -1
  44. package/dist/commands/status.js +6 -12
  45. package/dist/commands/status.js.map +1 -1
  46. package/dist/commands/tui-launcher.d.ts +1 -0
  47. package/dist/commands/tui-launcher.js +8 -0
  48. package/dist/commands/tui-launcher.js.map +1 -0
  49. package/dist/core/alignment-reply.d.ts +1 -0
  50. package/dist/core/alignment-reply.js +44 -0
  51. package/dist/core/alignment-reply.js.map +1 -0
  52. package/dist/core/checkpoint.js +3 -1
  53. package/dist/core/checkpoint.js.map +1 -1
  54. package/dist/core/planner.d.ts +16 -16
  55. package/dist/core/planner.js +3 -1
  56. package/dist/core/planner.js.map +1 -1
  57. package/dist/core/planning-prep.d.ts +12 -0
  58. package/dist/core/planning-prep.js +26 -0
  59. package/dist/core/planning-prep.js.map +1 -0
  60. package/dist/core/preflight.js +1 -2
  61. package/dist/core/preflight.js.map +1 -1
  62. package/dist/core/provider-onboarding.js +6 -11
  63. package/dist/core/provider-onboarding.js.map +1 -1
  64. package/dist/core/readonly-checkpoint.d.ts +2 -0
  65. package/dist/core/readonly-checkpoint.js +35 -0
  66. package/dist/core/readonly-checkpoint.js.map +1 -0
  67. package/dist/core/run-loop.js +3 -1
  68. package/dist/core/run-loop.js.map +1 -1
  69. package/dist/core/types.d.ts +20 -1
  70. package/dist/index.js +6 -5
  71. package/dist/index.js.map +1 -1
  72. package/dist/infra/artifact-schema.d.ts +25 -0
  73. package/dist/infra/artifact-schema.js +353 -0
  74. package/dist/infra/artifact-schema.js.map +1 -0
  75. package/dist/infra/config.d.ts +14 -1
  76. package/dist/infra/config.js +542 -22
  77. package/dist/infra/config.js.map +1 -1
  78. package/dist/infra/dependency-report.d.ts +5 -0
  79. package/dist/infra/dependency-report.js +22 -0
  80. package/dist/infra/dependency-report.js.map +1 -0
  81. package/dist/infra/dialog-session.d.ts +29 -0
  82. package/dist/infra/dialog-session.js +244 -0
  83. package/dist/infra/dialog-session.js.map +1 -0
  84. package/dist/infra/intent.d.ts +0 -1
  85. package/dist/infra/intent.js +62 -25
  86. package/dist/infra/intent.js.map +1 -1
  87. package/dist/infra/model-accounts.d.ts +22 -0
  88. package/dist/infra/model-accounts.js +172 -0
  89. package/dist/infra/model-accounts.js.map +1 -0
  90. package/dist/infra/model-catalog.d.ts +4 -1
  91. package/dist/infra/model-catalog.js +102 -27
  92. package/dist/infra/model-catalog.js.map +1 -1
  93. package/dist/infra/openai-codex-oauth.d.ts +18 -0
  94. package/dist/infra/openai-codex-oauth.js +267 -0
  95. package/dist/infra/openai-codex-oauth.js.map +1 -0
  96. package/dist/infra/provider-registry.d.ts +36 -0
  97. package/dist/infra/provider-registry.js +403 -0
  98. package/dist/infra/provider-registry.js.map +1 -0
  99. package/dist/infra/session-status.d.ts +6 -0
  100. package/dist/infra/session-status.js +34 -0
  101. package/dist/infra/session-status.js.map +1 -0
  102. package/dist/infra/tui-utils.d.ts +6 -0
  103. package/dist/infra/tui-utils.js +163 -0
  104. package/dist/infra/tui-utils.js.map +1 -0
  105. package/dist/infra/tui-view.d.ts +44 -0
  106. package/dist/infra/tui-view.js +314 -0
  107. package/dist/infra/tui-view.js.map +1 -0
  108. package/package.json +4 -1
@@ -0,0 +1,403 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MODEL_PROVIDER_IDS = exports.PI_PROVIDER_IDS = exports.BUILTIN_PROVIDER_IDS = void 0;
4
+ exports.getModelProviderIds = getModelProviderIds;
5
+ exports.getPiProviderIds = getPiProviderIds;
6
+ exports.isPiProviderId = isPiProviderId;
7
+ exports.isBuiltinProviderId = isBuiltinProviderId;
8
+ exports.isModelProviderId = isModelProviderId;
9
+ exports.toCanonicalModelProviderId = toCanonicalModelProviderId;
10
+ exports.toLoginProviderId = toLoginProviderId;
11
+ exports.getProviderDefinition = getProviderDefinition;
12
+ exports.resolveProviderDefaultModel = resolveProviderDefaultModel;
13
+ exports.resolveProviderStaticCatalog = resolveProviderStaticCatalog;
14
+ exports.providerSupportsOAuth = providerSupportsOAuth;
15
+ exports.resolveProviderApiKeyEnv = resolveProviderApiKeyEnv;
16
+ exports.resolveProviderEndpoint = resolveProviderEndpoint;
17
+ exports.resolveProviderCatalogStrategy = resolveProviderCatalogStrategy;
18
+ exports.buildLoginCommandTemplates = buildLoginCommandTemplates;
19
+ exports.isLoginProviderToken = isLoginProviderToken;
20
+ exports.buildLoginProviderCommandTemplates = buildLoginProviderCommandTemplates;
21
+ exports.buildLoginModeCommandTemplates = buildLoginModeCommandTemplates;
22
+ exports.buildLogoutCommandTemplates = buildLogoutCommandTemplates;
23
+ exports.BUILTIN_PROVIDER_IDS = [
24
+ "amazon-bedrock",
25
+ "anthropic",
26
+ "azure-openai-responses",
27
+ "cerebras",
28
+ "github-copilot",
29
+ "google",
30
+ "google-antigravity",
31
+ "google-gemini-cli",
32
+ "google-vertex",
33
+ "groq",
34
+ "huggingface",
35
+ "kimi-coding",
36
+ "minimax",
37
+ "minimax-cn",
38
+ "mistral",
39
+ "openai",
40
+ "openai-codex",
41
+ "opencode",
42
+ "openrouter",
43
+ "vercel-ai-gateway",
44
+ "xai",
45
+ "zai"
46
+ ];
47
+ exports.PI_PROVIDER_IDS = exports.BUILTIN_PROVIDER_IDS;
48
+ exports.MODEL_PROVIDER_IDS = ["mock", "http", ...exports.BUILTIN_PROVIDER_IDS];
49
+ const PROVIDER_DEFINITIONS = {
50
+ "amazon-bedrock": {
51
+ id: "amazon-bedrock",
52
+ default_model: "us.anthropic.claude-opus-4-6-v1",
53
+ static_models: ["us.anthropic.claude-opus-4-6-v1", "anthropic.claude-sonnet-4-20250514-v1:0"],
54
+ auth_modes: ["api_key"],
55
+ api_key_env: "AWS_ACCESS_KEY_ID",
56
+ catalog_strategy: "static"
57
+ },
58
+ anthropic: {
59
+ id: "anthropic",
60
+ default_model: "claude-opus-4-6",
61
+ static_models: ["claude-opus-4-6", "claude-sonnet-4-5"],
62
+ auth_modes: ["api_key", "oauth"],
63
+ api_key_env: "ANTHROPIC_API_KEY",
64
+ oauth_token_env: "ANTHROPIC_ACCESS_TOKEN",
65
+ default_endpoint: "https://api.anthropic.com",
66
+ catalog_strategy: "static"
67
+ },
68
+ "azure-openai-responses": {
69
+ id: "azure-openai-responses",
70
+ default_model: "gpt-5.2",
71
+ static_models: ["gpt-5.2", "gpt-5.1", "gpt-4.1"],
72
+ auth_modes: ["api_key"],
73
+ api_key_env: "AZURE_OPENAI_API_KEY",
74
+ default_endpoint: "https://{resource}.openai.azure.com/openai/v1",
75
+ catalog_strategy: "static"
76
+ },
77
+ cerebras: {
78
+ id: "cerebras",
79
+ default_model: "zai-glm-4.7",
80
+ static_models: ["zai-glm-4.7", "gpt-oss-120b"],
81
+ auth_modes: ["api_key"],
82
+ api_key_env: "CEREBRAS_API_KEY",
83
+ default_endpoint: "https://api.cerebras.ai/v1",
84
+ catalog_strategy: "openai_models"
85
+ },
86
+ "github-copilot": {
87
+ id: "github-copilot",
88
+ default_model: "gpt-4o",
89
+ static_models: ["gpt-4o", "claude-sonnet-4.5"],
90
+ auth_modes: ["api_key", "oauth"],
91
+ api_key_env: "GITHUB_COPILOT_TOKEN",
92
+ oauth_token_env: "GITHUB_COPILOT_ACCESS_TOKEN",
93
+ catalog_strategy: "static"
94
+ },
95
+ google: {
96
+ id: "google",
97
+ default_model: "gemini-2.5-pro",
98
+ static_models: ["gemini-2.5-pro", "gemini-2.5-flash"],
99
+ auth_modes: ["api_key"],
100
+ api_key_env: "GOOGLE_API_KEY",
101
+ default_endpoint: "https://generativelanguage.googleapis.com/v1beta",
102
+ catalog_strategy: "static"
103
+ },
104
+ "google-antigravity": {
105
+ id: "google-antigravity",
106
+ default_model: "gemini-3-pro-high",
107
+ static_models: ["gemini-3-pro-high", "claude-opus-4-6-thinking"],
108
+ auth_modes: ["api_key", "oauth"],
109
+ api_key_env: "GOOGLE_ANTIGRAVITY_API_KEY",
110
+ oauth_token_env: "GOOGLE_ANTIGRAVITY_ACCESS_TOKEN",
111
+ catalog_strategy: "static"
112
+ },
113
+ "google-gemini-cli": {
114
+ id: "google-gemini-cli",
115
+ default_model: "gemini-2.5-pro",
116
+ static_models: ["gemini-2.5-pro", "gemini-2.5-flash"],
117
+ auth_modes: ["api_key", "oauth"],
118
+ api_key_env: "GOOGLE_API_KEY",
119
+ oauth_token_env: "GOOGLE_ACCESS_TOKEN",
120
+ catalog_strategy: "static"
121
+ },
122
+ "google-vertex": {
123
+ id: "google-vertex",
124
+ default_model: "gemini-3-pro-preview",
125
+ static_models: ["gemini-3-pro-preview", "gemini-2.5-pro"],
126
+ auth_modes: ["api_key"],
127
+ api_key_env: "GOOGLE_VERTEX_API_KEY",
128
+ catalog_strategy: "static"
129
+ },
130
+ groq: {
131
+ id: "groq",
132
+ default_model: "openai/gpt-oss-120b",
133
+ static_models: ["openai/gpt-oss-120b", "llama-3.3-70b-versatile"],
134
+ auth_modes: ["api_key"],
135
+ api_key_env: "GROQ_API_KEY",
136
+ default_endpoint: "https://api.groq.com/openai/v1",
137
+ catalog_strategy: "openai_models"
138
+ },
139
+ huggingface: {
140
+ id: "huggingface",
141
+ default_model: "moonshotai/Kimi-K2.5",
142
+ static_models: ["moonshotai/Kimi-K2.5", "Qwen/Qwen3-Coder-480B-A35B-Instruct"],
143
+ auth_modes: ["api_key"],
144
+ api_key_env: "HUGGINGFACE_API_KEY",
145
+ default_endpoint: "https://router.huggingface.co/v1",
146
+ catalog_strategy: "openai_models"
147
+ },
148
+ "kimi-coding": {
149
+ id: "kimi-coding",
150
+ default_model: "k2p5",
151
+ static_models: ["k2p5", "kimi-k2-thinking"],
152
+ auth_modes: ["api_key"],
153
+ api_key_env: "MOONSHOT_API_KEY",
154
+ default_endpoint: "https://api.kimi.com/coding",
155
+ catalog_strategy: "static"
156
+ },
157
+ minimax: {
158
+ id: "minimax",
159
+ default_model: "MiniMax-M2.1",
160
+ static_models: ["MiniMax-M2.1", "MiniMax-M2.5"],
161
+ auth_modes: ["api_key"],
162
+ api_key_env: "MINIMAX_API_KEY",
163
+ default_endpoint: "https://api.minimax.io/anthropic",
164
+ catalog_strategy: "static"
165
+ },
166
+ "minimax-cn": {
167
+ id: "minimax-cn",
168
+ default_model: "MiniMax-M2.1",
169
+ static_models: ["MiniMax-M2.1", "MiniMax-M2.5"],
170
+ auth_modes: ["api_key"],
171
+ api_key_env: "MINIMAX_CN_API_KEY",
172
+ catalog_strategy: "static"
173
+ },
174
+ mistral: {
175
+ id: "mistral",
176
+ default_model: "devstral-medium-latest",
177
+ static_models: ["devstral-medium-latest", "mistral-large-latest"],
178
+ auth_modes: ["api_key"],
179
+ api_key_env: "MISTRAL_API_KEY",
180
+ default_endpoint: "https://api.mistral.ai/v1",
181
+ catalog_strategy: "openai_models"
182
+ },
183
+ openai: {
184
+ id: "openai",
185
+ default_model: "gpt-5.1-codex",
186
+ static_models: ["gpt-5.1-codex", "gpt-5", "gpt-4.1"],
187
+ auth_modes: ["api_key"],
188
+ api_key_env: "OPENAI_API_KEY",
189
+ default_endpoint: "https://api.openai.com/v1",
190
+ catalog_strategy: "openai_models"
191
+ },
192
+ "openai-codex": {
193
+ id: "openai-codex",
194
+ default_model: "gpt-5.3-codex",
195
+ static_models: ["gpt-5.3-codex", "gpt-5.2-codex", "gpt-5.1-codex-max"],
196
+ auth_modes: ["api_key", "oauth"],
197
+ api_key_env: "OPENAI_API_KEY",
198
+ oauth_token_env: "OPENAI_ACCESS_TOKEN",
199
+ default_endpoint: "https://api.openai.com/v1",
200
+ catalog_strategy: "openai_models"
201
+ },
202
+ opencode: {
203
+ id: "opencode",
204
+ default_model: "claude-opus-4-6",
205
+ static_models: ["claude-opus-4-6", "gpt-5.1-codex"],
206
+ auth_modes: ["api_key"],
207
+ api_key_env: "OPENCODE_API_KEY",
208
+ catalog_strategy: "static"
209
+ },
210
+ openrouter: {
211
+ id: "openrouter",
212
+ default_model: "openai/gpt-5.1-codex",
213
+ static_models: ["openai/gpt-5.1-codex", "anthropic/claude-opus-4.6"],
214
+ auth_modes: ["api_key"],
215
+ api_key_env: "OPENROUTER_API_KEY",
216
+ default_endpoint: "https://openrouter.ai/api/v1",
217
+ catalog_strategy: "openai_models"
218
+ },
219
+ "vercel-ai-gateway": {
220
+ id: "vercel-ai-gateway",
221
+ default_model: "anthropic/claude-opus-4.6",
222
+ static_models: ["anthropic/claude-opus-4.6", "openai/gpt-5.1-codex"],
223
+ auth_modes: ["api_key"],
224
+ api_key_env: "AI_GATEWAY_API_KEY",
225
+ default_endpoint: "https://ai-gateway.vercel.sh",
226
+ catalog_strategy: "static"
227
+ },
228
+ xai: {
229
+ id: "xai",
230
+ default_model: "grok-4-fast-non-reasoning",
231
+ static_models: ["grok-4-fast-non-reasoning", "grok-3-mini"],
232
+ auth_modes: ["api_key"],
233
+ api_key_env: "XAI_API_KEY",
234
+ default_endpoint: "https://api.x.ai/v1",
235
+ catalog_strategy: "openai_models"
236
+ },
237
+ zai: {
238
+ id: "zai",
239
+ default_model: "glm-4.6",
240
+ static_models: ["glm-4.6", "glm-4.5"],
241
+ auth_modes: ["api_key"],
242
+ api_key_env: "ZAI_API_KEY",
243
+ catalog_strategy: "static"
244
+ }
245
+ };
246
+ const PROVIDER_ALIASES = {
247
+ openai_codex_team: "openai-codex",
248
+ "openai-codex-team": "openai-codex",
249
+ openai_codex: "openai-codex"
250
+ };
251
+ const LOCAL_PROVIDER_DEFAULT_MODELS = {
252
+ mock: "mock-default-v1"
253
+ };
254
+ const LOCAL_PROVIDER_STATIC_CATALOG = {
255
+ mock: ["mock-default-v1", "mock-safe-v1"],
256
+ http: []
257
+ };
258
+ const LOGIN_ALIAS_PROVIDER_MAP = {
259
+ openai: "openai",
260
+ "openai-codex": "openai-codex",
261
+ openai_codex_team: "openai-codex"
262
+ };
263
+ function normalizeText(value) {
264
+ return value.trim().toLowerCase();
265
+ }
266
+ function getModelProviderIds() {
267
+ return [...exports.MODEL_PROVIDER_IDS];
268
+ }
269
+ function getPiProviderIds() {
270
+ return [...exports.BUILTIN_PROVIDER_IDS];
271
+ }
272
+ function isPiProviderId(value) {
273
+ return exports.BUILTIN_PROVIDER_IDS.includes(value);
274
+ }
275
+ function isBuiltinProviderId(value) {
276
+ return isPiProviderId(value);
277
+ }
278
+ function isModelProviderId(value) {
279
+ return exports.MODEL_PROVIDER_IDS.includes(value);
280
+ }
281
+ function toCanonicalModelProviderId(value) {
282
+ const normalized = normalizeText(value);
283
+ const mapped = PROVIDER_ALIASES[normalized];
284
+ if (mapped) {
285
+ return mapped;
286
+ }
287
+ if (isModelProviderId(normalized)) {
288
+ return normalized;
289
+ }
290
+ throw new Error(`Unknown provider "${value}". Run /model provider <id> with one of: ${exports.MODEL_PROVIDER_IDS.join(", ")}.`);
291
+ }
292
+ function toLoginProviderId(value) {
293
+ const normalized = normalizeText(value);
294
+ const mapped = LOGIN_ALIAS_PROVIDER_MAP[normalized];
295
+ if (mapped) {
296
+ return mapped;
297
+ }
298
+ return toCanonicalModelProviderId(normalized);
299
+ }
300
+ function getProviderDefinition(provider) {
301
+ if (!isPiProviderId(provider)) {
302
+ return null;
303
+ }
304
+ return PROVIDER_DEFINITIONS[provider];
305
+ }
306
+ function resolveProviderDefaultModel(provider) {
307
+ if (!isPiProviderId(provider)) {
308
+ return LOCAL_PROVIDER_DEFAULT_MODELS[provider] || "";
309
+ }
310
+ return PROVIDER_DEFINITIONS[provider].default_model;
311
+ }
312
+ function resolveProviderStaticCatalog(provider) {
313
+ if (!isPiProviderId(provider)) {
314
+ return [...LOCAL_PROVIDER_STATIC_CATALOG[provider]];
315
+ }
316
+ return [...PROVIDER_DEFINITIONS[provider].static_models];
317
+ }
318
+ function providerSupportsOAuth(provider) {
319
+ if (!isPiProviderId(provider)) {
320
+ return false;
321
+ }
322
+ return PROVIDER_DEFINITIONS[provider].auth_modes.includes("oauth");
323
+ }
324
+ function resolveProviderApiKeyEnv(provider, authMode = "api_key") {
325
+ if (!isPiProviderId(provider)) {
326
+ return provider === "http" ? "ZAKER_API_KEY" : "OPENAI_API_KEY";
327
+ }
328
+ const def = PROVIDER_DEFINITIONS[provider];
329
+ if (authMode === "oauth" && def.oauth_token_env) {
330
+ return def.oauth_token_env;
331
+ }
332
+ return def.api_key_env;
333
+ }
334
+ function resolveProviderEndpoint(provider, explicitEndpoint) {
335
+ const trimmed = explicitEndpoint?.trim();
336
+ if (trimmed) {
337
+ return trimmed;
338
+ }
339
+ if (!isPiProviderId(provider)) {
340
+ return undefined;
341
+ }
342
+ return PROVIDER_DEFINITIONS[provider].default_endpoint;
343
+ }
344
+ function resolveProviderCatalogStrategy(provider) {
345
+ if (!isPiProviderId(provider)) {
346
+ return "openai_models";
347
+ }
348
+ return PROVIDER_DEFINITIONS[provider].catalog_strategy;
349
+ }
350
+ function buildLoginCommandTemplates() {
351
+ const templates = [];
352
+ for (const provider of exports.BUILTIN_PROVIDER_IDS) {
353
+ templates.push(`/login ${provider} `);
354
+ if (providerSupportsOAuth(provider)) {
355
+ templates.push(`/login ${provider} oauth `);
356
+ }
357
+ }
358
+ // Compatibility aliases.
359
+ templates.push("/login openai ");
360
+ templates.push("/login openai oauth ");
361
+ templates.push("/login http ");
362
+ templates.push("/login ollama ");
363
+ return [...new Set(templates)];
364
+ }
365
+ const LOGIN_PROVIDER_TOKENS = ["openai", ...exports.PI_PROVIDER_IDS, "http", "ollama"];
366
+ function isLoginProviderToken(token) {
367
+ return LOGIN_PROVIDER_TOKENS.includes(token.trim().toLowerCase());
368
+ }
369
+ function buildLoginProviderCommandTemplates() {
370
+ return [...new Set(LOGIN_PROVIDER_TOKENS.map((token) => `/login ${token} `))];
371
+ }
372
+ function buildLoginModeCommandTemplates(providerToken) {
373
+ const token = providerToken.trim().toLowerCase();
374
+ if (!token) {
375
+ return [];
376
+ }
377
+ if (token === "ollama") {
378
+ return ["/login ollama"];
379
+ }
380
+ if (token === "http") {
381
+ return ["/login http api_key"];
382
+ }
383
+ let provider;
384
+ try {
385
+ provider = toLoginProviderId(token);
386
+ }
387
+ catch {
388
+ return [];
389
+ }
390
+ const entries = [`/login ${token} api_key`];
391
+ if (token === "openai" || providerSupportsOAuth(provider)) {
392
+ entries.push(`/login ${token} oauth`);
393
+ }
394
+ return entries;
395
+ }
396
+ function buildLogoutCommandTemplates() {
397
+ const templates = exports.BUILTIN_PROVIDER_IDS.map((provider) => `/logout ${provider}`);
398
+ templates.push("/logout http");
399
+ templates.push("/logout ollama");
400
+ templates.push("/logout all");
401
+ return [...new Set(templates)];
402
+ }
403
+ //# sourceMappingURL=provider-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-registry.js","sourceRoot":"","sources":["../../src/infra/provider-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IntentCard, SessionStore } from "../core/types";
2
+ export interface SessionStatusFormatOptions {
3
+ includeDialog: boolean;
4
+ recentRoundLimit: number;
5
+ }
6
+ export declare function formatSessionStatusLines(session: SessionStore, draft: IntentCard | null, confirmed: IntentCard | null, options?: Partial<SessionStatusFormatOptions>): string[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatSessionStatusLines = formatSessionStatusLines;
4
+ const DEFAULT_OPTIONS = {
5
+ includeDialog: true,
6
+ recentRoundLimit: 5
7
+ };
8
+ function formatSessionStatusLines(session, draft, confirmed, options = {}) {
9
+ const merged = {
10
+ ...DEFAULT_OPTIONS,
11
+ ...options
12
+ };
13
+ const lines = [
14
+ `state: ${session.state}`,
15
+ `current_intent_id: ${session.current_intent_id ?? "-"}`,
16
+ `last_run_verdict: ${session.last_run_verdict ?? "-"}`,
17
+ `intent.card: ${draft ? `${draft.intent_id} (${draft.status})` : "-"}`,
18
+ `intent.confirmed: ${confirmed ? `${confirmed.intent_id} (${confirmed.status})` : "-"}`
19
+ ];
20
+ if (!merged.includeDialog) {
21
+ return lines;
22
+ }
23
+ lines.push(`debug: ${session.dialog?.debug ? "on" : "off"}`);
24
+ lines.push(`history_turns: ${session.dialog?.history.length ?? 0}`);
25
+ const rounds = session.dialog?.rounds ?? [];
26
+ if (rounds.length > 0) {
27
+ lines.push("recent_rounds:");
28
+ for (const item of rounds.slice(-Math.max(1, merged.recentRoundLimit))) {
29
+ lines.push(`- #${item.round} verdict=${item.verdict} reason=${item.reason_code} checkpoint=${item.checkpoint_id ?? "-"}`);
30
+ }
31
+ }
32
+ return lines;
33
+ }
34
+ //# sourceMappingURL=session-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-status.js","sourceRoot":"","sources":["../../src/infra/session-status.ts"],"names":[],"mappings":";;AAYA,4DAqCC;AA1CD,MAAM,eAAe,GAA+B;IAClD,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,CAAC;CACpB,CAAC;AAEF,SAAgB,wBAAwB,CACtC,OAAqB,EACrB,KAAwB,EACxB,SAA4B,EAC5B,UAA+C,EAAE;IAEjD,MAAM,MAAM,GAA+B;QACzC,GAAG,eAAe;QAClB,GAAG,OAAO;KACX,CAAC;IAEF,MAAM,KAAK,GAAG;QACZ,UAAU,OAAO,CAAC,KAAK,EAAE;QACzB,sBAAsB,OAAO,CAAC,iBAAiB,IAAI,GAAG,EAAE;QACxD,qBAAqB,OAAO,CAAC,gBAAgB,IAAI,GAAG,EAAE;QACtD,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;QACtE,qBAAqB,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;KACxF,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,IAAI,CACR,MAAM,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE,CAC9G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function stripAnsi(input: string): string;
2
+ export declare function charDisplayWidth(char: string): number;
3
+ export declare function displayWidth(input: string): number;
4
+ export declare function clipText(input: string, width: number): string;
5
+ export declare function padText(input: string, width: number): string;
6
+ export declare function wrapText(input: string, width: number): string[];
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stripAnsi = stripAnsi;
4
+ exports.charDisplayWidth = charDisplayWidth;
5
+ exports.displayWidth = displayWidth;
6
+ exports.clipText = clipText;
7
+ exports.padText = padText;
8
+ exports.wrapText = wrapText;
9
+ function stripAnsi(input) {
10
+ return input.replace(/\x1b\[[0-9;]*m/g, "");
11
+ }
12
+ function charDisplayWidth(char) {
13
+ const code = char.codePointAt(0);
14
+ if (code === undefined) {
15
+ return 0;
16
+ }
17
+ if (code === 0 || code < 0x20 || (code >= 0x7f && code < 0xa0)) {
18
+ return 0;
19
+ }
20
+ if ((code >= 0x0300 && code <= 0x036f) ||
21
+ (code >= 0x1ab0 && code <= 0x1aff) ||
22
+ (code >= 0x1dc0 && code <= 0x1dff) ||
23
+ (code >= 0x20d0 && code <= 0x20ff) ||
24
+ (code >= 0xfe20 && code <= 0xfe2f)) {
25
+ return 0;
26
+ }
27
+ if (code >= 0x1100 && (code <= 0x115f ||
28
+ code === 0x2329 ||
29
+ code === 0x232a ||
30
+ (code >= 0x2e80 && code <= 0xa4cf && code !== 0x303f) ||
31
+ (code >= 0xac00 && code <= 0xd7a3) ||
32
+ (code >= 0xf900 && code <= 0xfaff) ||
33
+ (code >= 0xfe10 && code <= 0xfe19) ||
34
+ (code >= 0xfe30 && code <= 0xfe6f) ||
35
+ (code >= 0xff00 && code <= 0xff60) ||
36
+ (code >= 0xffe0 && code <= 0xffe6) ||
37
+ (code >= 0x1f300 && code <= 0x1f64f) ||
38
+ (code >= 0x1f900 && code <= 0x1f9ff) ||
39
+ (code >= 0x20000 && code <= 0x3fffd))) {
40
+ return 2;
41
+ }
42
+ return 1;
43
+ }
44
+ function displayWidth(input) {
45
+ let width = 0;
46
+ for (const char of input) {
47
+ width += charDisplayWidth(char);
48
+ }
49
+ return width;
50
+ }
51
+ function sliceByDisplayWidth(input, maxWidth) {
52
+ if (maxWidth <= 0) {
53
+ return "";
54
+ }
55
+ let width = 0;
56
+ let output = "";
57
+ for (const char of input) {
58
+ const charWidth = charDisplayWidth(char);
59
+ if (width + charWidth > maxWidth) {
60
+ break;
61
+ }
62
+ output += char;
63
+ width += charWidth;
64
+ }
65
+ return output;
66
+ }
67
+ function splitByDisplayWidth(input, width) {
68
+ if (width <= 0) {
69
+ return [""];
70
+ }
71
+ const chunks = [];
72
+ let current = "";
73
+ let currentWidth = 0;
74
+ for (const char of input) {
75
+ const charWidth = charDisplayWidth(char);
76
+ if (charWidth > width) {
77
+ if (current) {
78
+ chunks.push(current);
79
+ current = "";
80
+ currentWidth = 0;
81
+ }
82
+ chunks.push("…");
83
+ continue;
84
+ }
85
+ if (currentWidth + charWidth > width && current) {
86
+ chunks.push(current);
87
+ current = char;
88
+ currentWidth = charWidth;
89
+ continue;
90
+ }
91
+ current += char;
92
+ currentWidth += charWidth;
93
+ }
94
+ if (current) {
95
+ chunks.push(current);
96
+ }
97
+ return chunks.length > 0 ? chunks : [""];
98
+ }
99
+ function clipText(input, width) {
100
+ if (width <= 0) {
101
+ return "";
102
+ }
103
+ const plain = stripAnsi(input).replace(/\t/g, " ");
104
+ if (displayWidth(plain) <= width) {
105
+ return plain;
106
+ }
107
+ if (width === 1) {
108
+ return "…";
109
+ }
110
+ return `${sliceByDisplayWidth(plain, width - 1)}…`;
111
+ }
112
+ function padText(input, width) {
113
+ const clipped = clipText(input, width);
114
+ return `${clipped}${" ".repeat(Math.max(0, width - displayWidth(clipped)))}`;
115
+ }
116
+ function wrapText(input, width) {
117
+ if (width <= 1) {
118
+ return [clipText(input, Math.max(1, width))];
119
+ }
120
+ const plain = stripAnsi(input).trim();
121
+ if (!plain) {
122
+ return [""];
123
+ }
124
+ const words = plain.split(/\s+/);
125
+ const lines = [];
126
+ let current = "";
127
+ const pushCurrent = () => {
128
+ if (current.trim()) {
129
+ lines.push(current.trim());
130
+ current = "";
131
+ }
132
+ };
133
+ for (const word of words) {
134
+ const wordWidth = displayWidth(word);
135
+ if (wordWidth > width) {
136
+ pushCurrent();
137
+ const chunks = splitByDisplayWidth(word, width);
138
+ if (chunks.length === 1) {
139
+ current = chunks[0];
140
+ continue;
141
+ }
142
+ for (let index = 0; index < chunks.length - 1; index += 1) {
143
+ lines.push(chunks[index]);
144
+ }
145
+ current = chunks[chunks.length - 1];
146
+ continue;
147
+ }
148
+ if (!current) {
149
+ current = word;
150
+ continue;
151
+ }
152
+ if (displayWidth(`${current} ${word}`) <= width) {
153
+ current = `${current} ${word}`;
154
+ }
155
+ else {
156
+ lines.push(current);
157
+ current = word;
158
+ }
159
+ }
160
+ pushCurrent();
161
+ return lines.length > 0 ? lines : [""];
162
+ }
163
+ //# sourceMappingURL=tui-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-utils.js","sourceRoot":"","sources":["../../src/infra/tui-utils.ts"],"names":[],"mappings":"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"}