@codemieai/code 0.2.1 → 0.3.1

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 (143) hide show
  1. package/README.md +21 -1
  2. package/dist/agents/core/session/ensure-session.d.ts.map +1 -1
  3. package/dist/agents/core/session/ensure-session.js +14 -11
  4. package/dist/agents/core/session/ensure-session.js.map +1 -1
  5. package/dist/agents/plugins/claude/plugin/{codemie-statusline.mjs → session-status.mjs} +1 -0
  6. package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +12 -2
  7. package/dist/agents/plugins/claude/plugin/statusline.mjs +216 -0
  8. package/dist/agents/plugins/claude/statusline-installer.d.ts +8 -0
  9. package/dist/agents/plugins/claude/statusline-installer.d.ts.map +1 -0
  10. package/dist/agents/plugins/claude/statusline-installer.js +127 -0
  11. package/dist/agents/plugins/claude/statusline-installer.js.map +1 -0
  12. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  13. package/dist/agents/plugins/codemie-code.plugin.js +5 -0
  14. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  15. package/dist/cli/commands/assistants/chat/index.d.ts.map +1 -1
  16. package/dist/cli/commands/assistants/chat/index.js +8 -2
  17. package/dist/cli/commands/assistants/chat/index.js.map +1 -1
  18. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts +3 -2
  19. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -1
  20. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +5 -4
  21. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -1
  22. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts +3 -2
  23. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -1
  24. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +8 -6
  25. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -1
  26. package/dist/cli/commands/assistants/setup/helpers.d.ts +3 -2
  27. package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
  28. package/dist/cli/commands/assistants/setup/helpers.js +3 -2
  29. package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
  30. package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
  31. package/dist/cli/commands/assistants/setup/index.js +7 -13
  32. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  33. package/dist/cli/commands/assistants/setup/summary/index.d.ts +3 -3
  34. package/dist/cli/commands/assistants/setup/summary/index.d.ts.map +1 -1
  35. package/dist/cli/commands/assistants/setup/summary/index.js +5 -5
  36. package/dist/cli/commands/assistants/setup/summary/index.js.map +1 -1
  37. package/dist/cli/commands/install.d.ts.map +1 -1
  38. package/dist/cli/commands/install.js +40 -0
  39. package/dist/cli/commands/install.js.map +1 -1
  40. package/dist/cli/commands/proxy/connectors/desktop-managed-mcp-servers.json +0 -6
  41. package/dist/cli/commands/setup.js +4 -0
  42. package/dist/cli/commands/setup.js.map +1 -1
  43. package/dist/cli/commands/shared/prompts/storage-scope.d.ts +2 -1
  44. package/dist/cli/commands/shared/prompts/storage-scope.d.ts.map +1 -1
  45. package/dist/cli/commands/shared/prompts/storage-scope.js +4 -3
  46. package/dist/cli/commands/shared/prompts/storage-scope.js.map +1 -1
  47. package/dist/cli/commands/skills/add.d.ts.map +1 -1
  48. package/dist/cli/commands/skills/add.js +28 -9
  49. package/dist/cli/commands/skills/add.js.map +1 -1
  50. package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts +5 -0
  51. package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts.map +1 -1
  52. package/dist/cli/commands/skills/lib/skills-sh-telemetry.js +22 -4
  53. package/dist/cli/commands/skills/lib/skills-sh-telemetry.js.map +1 -1
  54. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts +3 -2
  55. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts.map +1 -1
  56. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js +29 -14
  57. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js.map +1 -1
  58. package/dist/cli/commands/skills/setup/helpers.d.ts +3 -2
  59. package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -1
  60. package/dist/cli/commands/skills/setup/helpers.js +6 -8
  61. package/dist/cli/commands/skills/setup/helpers.js.map +1 -1
  62. package/dist/cli/commands/skills/setup/index.js +8 -16
  63. package/dist/cli/commands/skills/setup/index.js.map +1 -1
  64. package/dist/cli/commands/skills/setup/sync.d.ts.map +1 -1
  65. package/dist/cli/commands/skills/setup/sync.js +6 -5
  66. package/dist/cli/commands/skills/setup/sync.js.map +1 -1
  67. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  68. package/dist/cli/commands/uninstall.js +17 -0
  69. package/dist/cli/commands/uninstall.js.map +1 -1
  70. package/dist/env/types.d.ts +11 -4
  71. package/dist/env/types.d.ts.map +1 -1
  72. package/dist/env/types.js +5 -0
  73. package/dist/env/types.js.map +1 -1
  74. package/dist/migrations/004-skills-assistants-top-level.migration.d.ts +10 -0
  75. package/dist/migrations/004-skills-assistants-top-level.migration.d.ts.map +1 -0
  76. package/dist/migrations/004-skills-assistants-top-level.migration.js +65 -0
  77. package/dist/migrations/004-skills-assistants-top-level.migration.js.map +1 -0
  78. package/dist/migrations/005-skill-slug-format.migration.d.ts +10 -0
  79. package/dist/migrations/005-skill-slug-format.migration.d.ts.map +1 -0
  80. package/dist/migrations/005-skill-slug-format.migration.js +82 -0
  81. package/dist/migrations/005-skill-slug-format.migration.js.map +1 -0
  82. package/dist/migrations/index.d.ts +2 -0
  83. package/dist/migrations/index.d.ts.map +1 -1
  84. package/dist/migrations/index.js +2 -2
  85. package/dist/migrations/index.js.map +1 -1
  86. package/dist/providers/core/codemie-auth-helpers.d.ts +4 -1
  87. package/dist/providers/core/codemie-auth-helpers.d.ts.map +1 -1
  88. package/dist/providers/core/codemie-auth-helpers.js +21 -18
  89. package/dist/providers/core/codemie-auth-helpers.js.map +1 -1
  90. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.d.ts.map +1 -1
  91. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.js +4 -2
  92. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.setup-steps.js.map +1 -1
  93. package/dist/providers/plugins/sso/proxy/plugins/endpoint-blocker.plugin.d.ts.map +1 -1
  94. package/dist/providers/plugins/sso/proxy/plugins/endpoint-blocker.plugin.js +14 -6
  95. package/dist/providers/plugins/sso/proxy/plugins/endpoint-blocker.plugin.js.map +1 -1
  96. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +1 -0
  97. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  98. package/dist/providers/plugins/sso/proxy/plugins/index.js +3 -0
  99. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  100. package/dist/providers/plugins/sso/proxy/plugins/session-expiry-handler.plugin.d.ts +9 -0
  101. package/dist/providers/plugins/sso/proxy/plugins/session-expiry-handler.plugin.d.ts.map +1 -0
  102. package/dist/providers/plugins/sso/proxy/plugins/session-expiry-handler.plugin.js +23 -0
  103. package/dist/providers/plugins/sso/proxy/plugins/session-expiry-handler.plugin.js.map +1 -0
  104. package/dist/providers/plugins/sso/proxy/proxy-errors.d.ts.map +1 -1
  105. package/dist/providers/plugins/sso/proxy/proxy-errors.js +1 -2
  106. package/dist/providers/plugins/sso/proxy/proxy-errors.js.map +1 -1
  107. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +10 -0
  108. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  109. package/dist/providers/plugins/sso/proxy/sso.proxy.js +77 -2
  110. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  111. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +1 -1
  112. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
  113. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +2 -2
  114. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
  115. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +1 -1
  116. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  117. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
  118. package/dist/providers/plugins/sso/sso.auth.js +10 -2
  119. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  120. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
  121. package/dist/providers/plugins/sso/sso.setup-steps.js +3 -1
  122. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  123. package/dist/utils/config.d.ts +16 -11
  124. package/dist/utils/config.d.ts.map +1 -1
  125. package/dist/utils/config.js +87 -82
  126. package/dist/utils/config.js.map +1 -1
  127. package/dist/utils/paths.d.ts +5 -0
  128. package/dist/utils/paths.d.ts.map +1 -1
  129. package/dist/utils/paths.js +14 -0
  130. package/dist/utils/paths.js.map +1 -1
  131. package/dist/utils/profile.d.ts +0 -2
  132. package/dist/utils/profile.d.ts.map +1 -1
  133. package/dist/utils/profile.js +0 -5
  134. package/dist/utils/profile.js.map +1 -1
  135. package/dist/utils/security.d.ts.map +1 -1
  136. package/dist/utils/security.js +18 -8
  137. package/dist/utils/security.js.map +1 -1
  138. package/dist/utils/slug.d.ts +2 -0
  139. package/dist/utils/slug.d.ts.map +1 -0
  140. package/dist/utils/slug.js +6 -0
  141. package/dist/utils/slug.js.map +1 -0
  142. package/package.json +4 -2
  143. package/scripts/postinstall.mjs +52 -0
package/README.md CHANGED
@@ -406,6 +406,26 @@ codemie opencode-metrics --discover --verbose
406
406
 
407
407
  Metrics are automatically extracted at session end and synced to the analytics system. Use `codemie analytics` to view comprehensive usage statistics across all agents.
408
408
 
409
+ ## Claude Code Statusline
410
+
411
+ The CodeMie Statusline displays live budget usage, project name, git branch, model, context window percentage, and token counts at the bottom of every Claude Code session.
412
+
413
+ ```bash
414
+ # Install (or update) the statusline
415
+ codemie install statusline
416
+
417
+ # Remove it
418
+ codemie uninstall statusline
419
+ ```
420
+
421
+ Once installed, the statusline appears automatically in every claude session:
422
+
423
+ ```
424
+ [my-project] $4.21/$50 (8%) | (main) | [claude-sonnet-4-5] | ctx:12% in:45.2k out:3.1k
425
+ ```
426
+
427
+ The script is deployed to `~/.claude/codemie-budget-status.js` and registered as a `statusLine` command in `~/.claude/settings.json`. Budget values are cached for 60 seconds to avoid redundant API calls.
428
+
409
429
  ## Commands
410
430
 
411
431
  The CodeMie CLI has a rich set of commands for managing agents, configuration, and more.
@@ -413,7 +433,7 @@ The CodeMie CLI has a rich set of commands for managing agents, configuration, a
413
433
  ```bash
414
434
  codemie setup # Interactive configuration wizard
415
435
  codemie list # List all available agents
416
- codemie install <agent> # Install an agent
436
+ codemie install <name> # Install an agent or add-on (e.g. statusline)
417
437
  codemie update <agent> # Update installed agents
418
438
  codemie self-update # Update CodeMie CLI itself
419
439
  codemie profile # Manage provider profiles
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-session.d.ts","sourceRoot":"","sources":["../../../../src/agents/core/session/ensure-session.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAyDf"}
1
+ {"version":3,"file":"ensure-session.d.ts","sourceRoot":"","sources":["../../../../src/agents/core/session/ensure-session.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CA8Df"}
@@ -20,17 +20,20 @@ export async function ensureSessionFile(sessionId, env, defaultAgentName) {
20
20
  const provider = env.CODEMIE_PROVIDER || 'unknown';
21
21
  const project = env.CODEMIE_PROJECT;
22
22
  const workingDirectory = process.cwd();
23
- let gitBranch;
24
- let remoteRepository;
25
- try {
26
- const { detectGitBranch, detectGitRemoteRepo } = await import('../../../utils/processes.js');
27
- [gitBranch, remoteRepository] = await Promise.all([
28
- detectGitBranch(workingDirectory),
29
- detectGitRemoteRepo(workingDirectory),
30
- ]);
31
- }
32
- catch {
33
- // Git detection optional
23
+ // Prefer values already resolved by BaseAgentAdapter (set in env before spawning the agent).
24
+ // Independent re-detection can diverge from the proxy's CODEMIE_REPOSITORY value, causing
25
+ // CLI_SESSION_TOTAL and CLI_LLM_USAGE_TOTAL to land in different ES repository buckets.
26
+ const gitBranch = env.CODEMIE_GIT_BRANCH || undefined;
27
+ const envRepository = env.CODEMIE_REPOSITORY;
28
+ let remoteRepository = envRepository && envRepository !== 'unknown' ? envRepository : undefined;
29
+ if (!remoteRepository) {
30
+ try {
31
+ const { detectGitRemoteRepo } = await import('../../../utils/processes.js');
32
+ remoteRepository = await detectGitRemoteRepo(workingDirectory);
33
+ }
34
+ catch {
35
+ // Git detection optional
36
+ }
34
37
  }
35
38
  // Estimate startTime from grace period (session ended ~2 seconds ago during grace period)
36
39
  // This prevents negative session durations in metrics aggregation
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-session.js","sourceRoot":"","sources":["../../../../src/agents/core/session/ensure-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,GAAsB,EACtB,gBAAwB;IAExB,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,IAAI,gBAAgB,+BAA+B,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC;QACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAEvC,IAAI,SAA6B,CAAC;QAClC,IAAI,gBAAoC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAC7F,CAAC,SAAS,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChD,eAAe,CAAC,gBAAgB,CAAC;gBACjC,mBAAmB,CAAC,gBAAgB,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QAED,0FAA0F;QAC1F,kEAAkE;QAClE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAE7C,MAAM,OAAO,GAAG;YACd,SAAS;YACT,SAAS;YACT,QAAQ;YACR,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,SAAS,EAAE,kBAAkB;YAC7B,gBAAgB;YAChB,GAAG,CAAC,gBAAgB,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;YACzD,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAE,WAAoB;YAC5B,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE;gBACX,MAAM,EAAE,SAAkB;gBAC1B,cAAc,EAAE,SAAS;gBACzB,UAAU,EAAE,CAAC;aACd;SACF,CAAC;QAEF,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,gBAAgB,iCAAiC,CAAC,CAAC;IAEtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAC3E,qFAAqF;IACvF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ensure-session.js","sourceRoot":"","sources":["../../../../src/agents/core/session/ensure-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,GAAsB,EACtB,gBAAwB;IAExB,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,IAAI,gBAAgB,+BAA+B,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAC;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC;QACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAEvC,6FAA6F;QAC7F,0FAA0F;QAC1F,wFAAwF;QACxF,MAAM,SAAS,GAAuB,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC;QAC1E,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC;QAC7C,IAAI,gBAAgB,GAClB,aAAa,IAAI,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBAC5E,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;QAED,0FAA0F;QAC1F,kEAAkE;QAClE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAE7C,MAAM,OAAO,GAAG;YACd,SAAS;YACT,SAAS;YACT,QAAQ;YACR,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;YAC3B,SAAS,EAAE,kBAAkB;YAC7B,gBAAgB;YAChB,GAAG,CAAC,gBAAgB,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;YACzD,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,MAAM,EAAE,WAAoB;YAC5B,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE;gBACX,MAAM,EAAE,SAAkB;gBAC1B,cAAc,EAAE,SAAS;gBACzB,UAAU,EAAE,CAAC;aACd;SACF,CAAC;QAEF,MAAM,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,gBAAgB,iCAAiC,CAAC,CAAC;IAEtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAC3E,qFAAqF;IACvF,CAAC;AACH,CAAC"}
@@ -5,6 +5,7 @@
5
5
  // NOTE: This file is deployed as a standalone script to ~/.claude/ and has no
6
6
  // access to the CodeMie utils layer. Direct child_process and path imports are
7
7
  // intentional here - this script runs independently without the project runtime.
8
+ /* eslint-disable */
8
9
  import { execSync } from 'child_process';
9
10
  import { basename } from 'path';
10
11
 
@@ -155,6 +155,16 @@ function saveCache(data) {
155
155
  fs.writeFileSync(CACHE_FILE, JSON.stringify(data, null, 2), { mode: 0o600 });
156
156
  }
157
157
 
158
+ // ── HTML helpers ──────────────────────────────────────────────────────────────
159
+ function escapeHtml(str) {
160
+ return String(str)
161
+ .replace(/&/g, '&amp;')
162
+ .replace(/</g, '&lt;')
163
+ .replace(/>/g, '&gt;')
164
+ .replace(/"/g, '&quot;')
165
+ .replace(/'/g, '&#x27;');
166
+ }
167
+
158
168
  // ── PKCE helpers ──────────────────────────────────────────────────────────────
159
169
  function generatePKCE() {
160
170
  const verifier = crypto.randomBytes(32).toString('base64url');
@@ -206,8 +216,8 @@ function startLocalServer() {
206
216
  </body></html>`
207
217
  : `<!DOCTYPE html><html><head><title>Login failed</title></head><body style="font-family:sans-serif;padding:40px">
208
218
  <h2 style="color:#d13438">&#10007; Authentication failed</h2>
209
- <p><strong>${error || 'Unknown error'}</strong></p>
210
- <p>${desc || ''}</p>
219
+ <p><strong>${error ? escapeHtml(error) : 'Unknown error'}</strong></p>
220
+ <p>${desc ? escapeHtml(desc) : ''}</p>
211
221
  </body></html>`;
212
222
 
213
223
  response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
@@ -0,0 +1,216 @@
1
+ #!/usr/bin/env node
2
+ // CodeMie statusline — shows budget, project, branch, model, and context stats
3
+ // Deployed to ~/.claude/ by `codemie install statusline`. Runs standalone without the project runtime.
4
+ import crypto from 'crypto';
5
+ import { exec } from 'child_process';
6
+ import fs from 'fs/promises';
7
+ import os from 'os';
8
+ import path from 'path';
9
+
10
+ const HOME = process.env.CODEMIE_HOME || path.join(os.homedir(), '.codemie');
11
+ const CACHE_FILE = path.join(HOME, 'budget-cache.json');
12
+ const CONFIG_FILE = path.join(HOME, 'codemie-cli.config.json');
13
+ const CREDS_DIR = path.join(HOME, 'credentials');
14
+ const CACHE_TTL_MS = 60_000;
15
+
16
+ const ENCRYPTION_KEY = (() => {
17
+ const id = os.hostname() + os.platform() + os.arch();
18
+ const hex = crypto.createHash('sha256').update(id).digest('hex');
19
+ return crypto.createHash('sha256').update(hex).digest();
20
+ })();
21
+
22
+ function decrypt(text) {
23
+ const [ivHex, encHex] = text.split(':');
24
+ const iv = Buffer.from(ivHex, 'hex');
25
+ const d = crypto.createDecipheriv('aes-256-cbc', ENCRYPTION_KEY, iv);
26
+ return d.update(encHex, 'hex', 'utf8') + d.final('utf8');
27
+ }
28
+
29
+ function urlHash(rawUrl) {
30
+ const normalized = rawUrl.replace(/\/$/, '').toLowerCase();
31
+ return crypto.createHash('sha256').update(normalized).digest('hex');
32
+ }
33
+
34
+ async function readCredsFile(filePath) {
35
+ try {
36
+ return JSON.parse(decrypt(await fs.readFile(filePath, 'utf8')));
37
+ } catch {
38
+ return null;
39
+ }
40
+ }
41
+
42
+ async function getAuthHeaders(codeMieUrl) {
43
+ const hash = urlHash(codeMieUrl);
44
+
45
+ const sso = await readCredsFile(path.join(CREDS_DIR, `sso-${hash}.enc`));
46
+ if (sso?.cookies) {
47
+ return { cookie: Object.entries(sso.cookies).map(([k, v]) => `${k}=${v}`).join(';') };
48
+ }
49
+
50
+ const jwt = await readCredsFile(path.join(CREDS_DIR, `jwt-sso-${hash}.enc`));
51
+ if (jwt?.token) {
52
+ return { authorization: `Bearer ${jwt.token}` };
53
+ }
54
+
55
+ return null;
56
+ }
57
+
58
+ async function fetchBudget(baseUrl, headers, budgetName) {
59
+ const res = await fetch(`${baseUrl}/v1/analytics/budget_usage`, {
60
+ headers: { 'Content-Type': 'application/json', 'X-CodeMie-Client': 'codemie-cli', ...headers },
61
+ });
62
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
63
+
64
+ const json = await res.json();
65
+ const row = json?.data?.rows?.find(r => r.project_name === budgetName);
66
+ if (!row) throw new Error('row not found');
67
+
68
+ const pct = Math.round((row.current_spending / row.budget_limit) * 100);
69
+ return {
70
+ text: `$${row.current_spending.toFixed(2)}/$${row.budget_limit.toFixed(0)} (${pct}%)`,
71
+ pct,
72
+ };
73
+ }
74
+
75
+ const C = {
76
+ reset: '\x1b[0m',
77
+ purple: '\x1b[38;2;177;185;249m',
78
+ green: '\x1b[0;32m',
79
+ yellow: '\x1b[0;33m',
80
+ red: '\x1b[0;31m',
81
+ cyan: '\x1b[0;36m',
82
+ blue: '\x1b[0;94m',
83
+ gray: '\x1b[0;37m',
84
+ };
85
+
86
+ const c = (color, text) => `${color}${text}${C.reset}`;
87
+
88
+ function fmt(n) {
89
+ if (n >= 1_000_000) return `${(n / 1_000_000).toFixed(1)}M`;
90
+ if (n >= 1_000) return `${(n / 1_000).toFixed(1)}k`;
91
+ return String(n);
92
+ }
93
+
94
+ function budgetColor(pct) {
95
+ if (pct < 0) return C.yellow;
96
+ return pct > 85 ? C.red : pct > 30 ? C.yellow : C.green;
97
+ }
98
+
99
+ function buildStatusLine({ projectName, branch, model, ctxPct, tokIn, tokOut, budget, budgetPct }) {
100
+ const parts = [];
101
+
102
+ if (projectName) parts.push(c(C.purple, `[${projectName}]`));
103
+ if (budget) parts.push(c(budgetColor(budgetPct), budget));
104
+ if (branch) parts.push(c(C.blue, `(${branch})`));
105
+ if (model) parts.push(c(C.cyan, `[${model}]`));
106
+
107
+ const stats = [];
108
+ if (ctxPct != null) stats.push(`ctx:${ctxPct}%`);
109
+ if (tokIn != null) stats.push(`in:${fmt(tokIn)}`);
110
+ if (tokOut != null) stats.push(`out:${fmt(tokOut)}`);
111
+ if (stats.length) parts.push(c(C.gray, stats.join(' ')));
112
+
113
+ return parts.join(' | ');
114
+ }
115
+
116
+ function readStdin() {
117
+ return new Promise(resolve => {
118
+ let data = '';
119
+ process.stdin.setEncoding('utf8');
120
+ process.stdin.on('data', chunk => { data += chunk; });
121
+ process.stdin.on('end', () => resolve(data));
122
+ process.stdin.on('error', () => resolve(data));
123
+ });
124
+ }
125
+
126
+ function gitBranch(cwd) {
127
+ return new Promise(resolve => {
128
+ exec(
129
+ 'git --no-optional-locks symbolic-ref --short HEAD 2>/dev/null || git --no-optional-locks rev-parse --short HEAD 2>/dev/null',
130
+ { cwd, timeout: 2000 },
131
+ (_, stdout) => resolve(stdout.trim() || '')
132
+ );
133
+ });
134
+ }
135
+
136
+ async function main() {
137
+ const [stdinRaw, cacheRaw] = await Promise.all([
138
+ readStdin(),
139
+ fs.readFile(CACHE_FILE, 'utf8').catch(() => null),
140
+ ]);
141
+
142
+ let projectName = '', cwd = '', model = '', ctxPct = null, tokIn = null, tokOut = null;
143
+ try {
144
+ const ctx = JSON.parse(stdinRaw);
145
+ cwd = ctx?.workspace?.current_dir ?? ctx?.cwd ?? '';
146
+ projectName = path.basename(cwd);
147
+ model = ctx?.model?.display_name ?? '';
148
+ ctxPct = ctx?.context_window?.used_percentage ?? null;
149
+ tokIn = ctx?.context_window?.total_input_tokens ?? null;
150
+ tokOut = ctx?.context_window?.total_output_tokens ?? null;
151
+ } catch {}
152
+
153
+ const branchPromise = cwd ? gitBranch(cwd) : Promise.resolve('');
154
+
155
+ if (cacheRaw) {
156
+ try {
157
+ const cache = JSON.parse(cacheRaw);
158
+ if (Date.now() - cache.ts < CACHE_TTL_MS) {
159
+ const branch = await branchPromise;
160
+ process.stdout.write(buildStatusLine({
161
+ projectName, branch, model, ctxPct, tokIn, tokOut,
162
+ budget: cache.value, budgetPct: cache.pct ?? 0,
163
+ }));
164
+ return;
165
+ }
166
+ } catch {}
167
+ }
168
+
169
+ let budget = '', budgetPct = 0;
170
+
171
+ do {
172
+ let config;
173
+ try {
174
+ config = JSON.parse(await fs.readFile(CONFIG_FILE, 'utf8'));
175
+ } catch {
176
+ budget = '⚠ no config'; budgetPct = -1; break;
177
+ }
178
+
179
+ const profile = config.profiles?.[config.activeProfile];
180
+ if (!profile) { budget = '⚠ no profile'; budgetPct = -1; break; }
181
+
182
+ const { codeMieUrl, baseUrl, statuslineBudgetName } = profile;
183
+ if (!codeMieUrl || !baseUrl) {
184
+ budget = '⚠ incomplete profile'; budgetPct = -1; break;
185
+ }
186
+ if (!statuslineBudgetName) {
187
+ budget = '⚠ run: codemie install statusline'; budgetPct = -1; break;
188
+ }
189
+
190
+ const headers = await getAuthHeaders(codeMieUrl);
191
+ if (!headers) { budget = '⚠ Reauthenticate'; budgetPct = -1; break; }
192
+
193
+ const budgetResult = await fetchBudget(baseUrl, headers, statuslineBudgetName).catch(e => ({ error: e.message }));
194
+ if (budgetResult.error) {
195
+ budget = `⚠ ${budgetResult.error}`; budgetPct = -1; break;
196
+ }
197
+
198
+ await fs.writeFile(
199
+ CACHE_FILE,
200
+ JSON.stringify({ ts: Date.now(), value: budgetResult.text, pct: budgetResult.pct }),
201
+ 'utf8'
202
+ );
203
+
204
+ budget = budgetResult.text;
205
+ budgetPct = budgetResult.pct;
206
+ } while (false);
207
+
208
+ const branch = await branchPromise;
209
+
210
+ process.stdout.write(buildStatusLine({
211
+ projectName, branch, model, ctxPct, tokIn, tokOut,
212
+ budget, budgetPct,
213
+ }));
214
+ }
215
+
216
+ main();
@@ -0,0 +1,8 @@
1
+ export declare const STATUSLINE_NAME = "statusline";
2
+ export declare const STATUSLINE_DISPLAY_NAME = "CodeMie Statusline";
3
+ export declare const STATUSLINE_DESCRIPTION = "Budget usage, project, branch, model, context & token stats for Claude Code";
4
+ export declare function installStatusline(): Promise<string>;
5
+ export declare function uninstallStatusline(): Promise<void>;
6
+ export declare function isStatuslineInstalled(): boolean;
7
+ export declare function promptBudgetSelection(): Promise<boolean>;
8
+ //# sourceMappingURL=statusline-installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusline-installer.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/statusline-installer.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,sBAAsB,gFAAgF,CAAC;AAKpH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CA0CzD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BzD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAwD9D"}
@@ -0,0 +1,127 @@
1
+ import { readFile, writeFile, mkdir, chmod, rm, unlink } from 'fs/promises';
2
+ import { existsSync } from 'fs';
3
+ import { join } from 'path';
4
+ import { homedir } from 'os';
5
+ import { getDirname, resolveHomeDir, getCodemieHome } from '../../../utils/paths.js';
6
+ import { logger } from '../../../utils/logger.js';
7
+ import { sanitizeLogArgs, CredentialStore } from '../../../utils/security.js';
8
+ import { ConfigurationError } from '../../../utils/errors.js';
9
+ import { ConfigLoader } from '../../../utils/config.js';
10
+ export const STATUSLINE_NAME = 'statusline';
11
+ export const STATUSLINE_DISPLAY_NAME = 'CodeMie Statusline';
12
+ export const STATUSLINE_DESCRIPTION = 'Budget usage, project, branch, model, context & token stats for Claude Code';
13
+ const SCRIPT_FILENAME = 'codemie-budget-status.js';
14
+ const REFRESH_INTERVAL = 60;
15
+ export async function installStatusline() {
16
+ const claudeHome = resolveHomeDir('.claude');
17
+ const scriptPath = join(claudeHome, SCRIPT_FILENAME);
18
+ const settingsPath = join(claudeHome, 'settings.json');
19
+ const scriptContent = await readFile(join(getDirname(import.meta.url), 'plugin/statusline.mjs'), 'utf-8');
20
+ if (!existsSync(claudeHome)) {
21
+ await mkdir(claudeHome, { recursive: true });
22
+ }
23
+ await writeFile(scriptPath, scriptContent, 'utf-8');
24
+ if (process.platform !== 'win32') {
25
+ await chmod(scriptPath, 0o755);
26
+ }
27
+ let settings = {};
28
+ if (existsSync(settingsPath)) {
29
+ try {
30
+ const raw = await readFile(settingsPath, 'utf-8');
31
+ settings = JSON.parse(raw);
32
+ }
33
+ catch (parseError) {
34
+ logger.warn('[Statusline] Could not parse settings.json, aborting to avoid data loss', ...sanitizeLogArgs({ settingsPath, error: parseError instanceof Error ? parseError.message : String(parseError) }));
35
+ throw new ConfigurationError('Could not parse ~/.claude/settings.json');
36
+ }
37
+ }
38
+ settings.statusLine = {
39
+ type: 'command',
40
+ command: `node "${scriptPath}"`,
41
+ refreshInterval: REFRESH_INTERVAL,
42
+ };
43
+ await writeFile(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
44
+ logger.debug('[Statusline] Installed', ...sanitizeLogArgs({ scriptPath }));
45
+ return scriptPath;
46
+ }
47
+ export async function uninstallStatusline() {
48
+ const claudeHome = resolveHomeDir('.claude');
49
+ const scriptPath = join(claudeHome, SCRIPT_FILENAME);
50
+ const settingsPath = join(claudeHome, 'settings.json');
51
+ if (existsSync(scriptPath)) {
52
+ await rm(scriptPath);
53
+ }
54
+ if (existsSync(settingsPath)) {
55
+ try {
56
+ const raw = await readFile(settingsPath, 'utf-8');
57
+ const settings = JSON.parse(raw);
58
+ if (settings.statusLine) {
59
+ delete settings.statusLine;
60
+ await writeFile(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
61
+ }
62
+ }
63
+ catch (parseError) {
64
+ logger.warn('[Statusline] Could not parse settings.json during uninstall', ...sanitizeLogArgs({ settingsPath, error: parseError instanceof Error ? parseError.message : String(parseError) }));
65
+ throw new ConfigurationError('Could not parse ~/.claude/settings.json');
66
+ }
67
+ }
68
+ logger.debug('[Statusline] Uninstalled');
69
+ }
70
+ export function isStatuslineInstalled() {
71
+ return existsSync(join(homedir(), '.claude', SCRIPT_FILENAME));
72
+ }
73
+ export async function promptBudgetSelection() {
74
+ const config = await ConfigLoader.loadMultiProviderConfig();
75
+ const profileName = config.activeProfile;
76
+ const profile = config.profiles?.[profileName];
77
+ if (!profile?.codeMieUrl || !profile?.baseUrl)
78
+ return false;
79
+ const store = CredentialStore.getInstance();
80
+ const [sso, jwt] = await Promise.all([
81
+ store.retrieveSSOCredentials(profile.codeMieUrl),
82
+ store.retrieveJWTCredentials(profile.codeMieUrl),
83
+ ]);
84
+ const headers = {};
85
+ if (sso?.cookies) {
86
+ headers['cookie'] = Object.entries(sso.cookies).map(([k, v]) => `${k}=${v}`).join(';');
87
+ }
88
+ else if (jwt?.token) {
89
+ headers['authorization'] = `Bearer ${jwt.token}`;
90
+ }
91
+ else {
92
+ return false;
93
+ }
94
+ let rows;
95
+ try {
96
+ const res = await fetch(`${profile.baseUrl}/v1/analytics/budget_usage`, {
97
+ headers: { 'Content-Type': 'application/json', 'X-CodeMie-Client': 'codemie-cli', ...headers },
98
+ });
99
+ if (!res.ok)
100
+ return false;
101
+ const json = await res.json();
102
+ rows = json?.data?.rows ?? [];
103
+ }
104
+ catch {
105
+ return false;
106
+ }
107
+ if (!rows.length)
108
+ return false;
109
+ const inquirer = (await import('inquirer')).default;
110
+ const budgetNames = rows.map(r => r.project_name);
111
+ const { budgetName } = await inquirer.prompt([{
112
+ type: 'list',
113
+ name: 'budgetName',
114
+ message: 'Select budget to track in the statusline:',
115
+ choices: budgetNames,
116
+ default: profile.statuslineBudgetName ?? budgetNames[0],
117
+ }]);
118
+ const previousBudgetName = profile.statuslineBudgetName;
119
+ profile.statuslineBudgetName = budgetName;
120
+ await ConfigLoader.saveProfile(profileName, profile);
121
+ if (budgetName !== previousBudgetName) {
122
+ await unlink(join(getCodemieHome(), 'budget-cache.json')).catch(() => { });
123
+ }
124
+ logger.debug('[Statusline] Budget name saved', ...sanitizeLogArgs({ budgetName }));
125
+ return true;
126
+ }
127
+ //# sourceMappingURL=statusline-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusline-installer.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/statusline-installer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codemie-code.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/codemie-code.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,kBAAkB,CAAC;AAMnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAY1F;;GAEG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAuIjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,yBAAyB,EAAE,aA+QvC,CAAC;AAEF;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,OAAO,CAAC,cAAc,CAAiB;;IAOvC;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAMrC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBhC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}
1
+ {"version":3,"file":"codemie-code.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/codemie-code.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,kBAAkB,CAAC;AAMnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAY1F;;GAEG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAuIjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,yBAAyB,EAAE,aAsRvC,CAAC;AAEF;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,OAAO,CAAC,cAAc,CAAiB;;IAOvC;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAMrC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBhC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}
@@ -339,6 +339,11 @@ export const CodeMieCodePluginMetadata = {
339
339
  });
340
340
  return ['run', ...otherArgs, taskValue];
341
341
  }
342
+ // Bare positional args without a subcommand or --task are treated as a direct message.
343
+ // Without this, the underlying binary interprets the first arg as a directory to chdir into.
344
+ if (args.length > 0) {
345
+ return ['run', ...args];
346
+ }
342
347
  return args;
343
348
  },
344
349
  async onSessionEnd(exitCode, env) {
@@ -1 +1 @@
1
- {"version":3,"file":"codemie-code.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/codemie-code.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codemie-code.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/codemie-code.plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/chat/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAiCrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/assistants/chat/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAiCrD"}
@@ -9,6 +9,7 @@ import ora from 'ora';
9
9
  import inquirer from 'inquirer';
10
10
  import { logger } from '../../../../utils/logger.js';
11
11
  import { ConfigLoader } from '../../../../utils/config.js';
12
+ import { StorageScope } from '../../../../env/types.js';
12
13
  import { createErrorContext, formatErrorForUser } from '../../../../utils/errors.js';
13
14
  import { getAuthenticatedClient, promptReauthentication } from '../../../../utils/auth.js';
14
15
  import { ROLES, MESSAGES } from '../constants.js';
@@ -52,8 +53,13 @@ export function createAssistantsChatCommand() {
52
53
  * Chat with CodeMie assistant
53
54
  */
54
55
  async function chatWithAssistant(assistantId, message, options) {
55
- const config = await ConfigLoader.load();
56
- const registeredAssistants = config.codemieAssistants || [];
56
+ const workingDir = process.cwd();
57
+ const config = await ConfigLoader.load(workingDir);
58
+ const [globalAssistants, localAssistants] = await Promise.all([
59
+ ConfigLoader.loadAssistantsByScope(StorageScope.GLOBAL, workingDir).catch(() => []),
60
+ ConfigLoader.loadAssistantsByScope(StorageScope.LOCAL, workingDir).catch(() => []),
61
+ ]);
62
+ const registeredAssistants = [...globalAssistants, ...localAssistants];
57
63
  const client = await getAuthenticatedClient(config);
58
64
  const conversationId = options.conversationId || process.env.CODEMIE_SESSION_ID;
59
65
  // Collect files from session and CLI paths