@codemieai/code 0.6.0 → 0.7.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 (113) hide show
  1. package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +3 -0
  2. package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +136 -20
  3. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
  4. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +12 -3
  5. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
  6. package/dist/agents/plugins/claude/session/strip-clear.d.ts +12 -0
  7. package/dist/agents/plugins/claude/session/strip-clear.d.ts.map +1 -0
  8. package/dist/agents/plugins/claude/session/strip-clear.js +34 -0
  9. package/dist/agents/plugins/claude/session/strip-clear.js.map +1 -0
  10. package/dist/agents/plugins/codex/codex-message-types.d.ts +24 -2
  11. package/dist/agents/plugins/codex/codex-message-types.d.ts.map +1 -1
  12. package/dist/agents/plugins/codex/codex-message-types.js.map +1 -1
  13. package/dist/agents/plugins/codex/codex.paths.d.ts +11 -0
  14. package/dist/agents/plugins/codex/codex.paths.d.ts.map +1 -1
  15. package/dist/agents/plugins/codex/codex.paths.js +29 -0
  16. package/dist/agents/plugins/codex/codex.paths.js.map +1 -1
  17. package/dist/agents/plugins/codex/codex.session.d.ts +6 -0
  18. package/dist/agents/plugins/codex/codex.session.d.ts.map +1 -1
  19. package/dist/agents/plugins/codex/codex.session.js +71 -23
  20. package/dist/agents/plugins/codex/codex.session.js.map +1 -1
  21. package/dist/agents/plugins/codex/session/codex-collab-links.d.ts +22 -0
  22. package/dist/agents/plugins/codex/session/codex-collab-links.d.ts.map +1 -0
  23. package/dist/agents/plugins/codex/session/codex-collab-links.js +162 -0
  24. package/dist/agents/plugins/codex/session/codex-collab-links.js.map +1 -0
  25. package/dist/agents/plugins/codex/session/codex-dispatch-extractor.d.ts +12 -0
  26. package/dist/agents/plugins/codex/session/codex-dispatch-extractor.d.ts.map +1 -0
  27. package/dist/agents/plugins/codex/session/codex-dispatch-extractor.js +73 -0
  28. package/dist/agents/plugins/codex/session/codex-dispatch-extractor.js.map +1 -0
  29. package/dist/agents/plugins/codex/session/codex-metrics-extractor.d.ts +22 -0
  30. package/dist/agents/plugins/codex/session/codex-metrics-extractor.d.ts.map +1 -0
  31. package/dist/agents/plugins/codex/session/codex-metrics-extractor.js +133 -0
  32. package/dist/agents/plugins/codex/session/codex-metrics-extractor.js.map +1 -0
  33. package/dist/agents/plugins/codex/session/codex-named-invocations.d.ts +17 -0
  34. package/dist/agents/plugins/codex/session/codex-named-invocations.d.ts.map +1 -0
  35. package/dist/agents/plugins/codex/session/codex-named-invocations.js +112 -0
  36. package/dist/agents/plugins/codex/session/codex-named-invocations.js.map +1 -0
  37. package/dist/agents/plugins/codex/session/codex-user-prompt.d.ts +9 -0
  38. package/dist/agents/plugins/codex/session/codex-user-prompt.d.ts.map +1 -0
  39. package/dist/agents/plugins/codex/session/codex-user-prompt.js +64 -0
  40. package/dist/agents/plugins/codex/session/codex-user-prompt.js.map +1 -0
  41. package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -1
  42. package/dist/cli/commands/analytics/aggregator.js +1 -0
  43. package/dist/cli/commands/analytics/aggregator.js.map +1 -1
  44. package/dist/cli/commands/analytics/cost/codex-agent.d.ts +8 -0
  45. package/dist/cli/commands/analytics/cost/codex-agent.d.ts.map +1 -0
  46. package/dist/cli/commands/analytics/cost/codex-agent.js +24 -0
  47. package/dist/cli/commands/analytics/cost/codex-agent.js.map +1 -0
  48. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
  49. package/dist/cli/commands/analytics/cost/cost-enricher.js +36 -12
  50. package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
  51. package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts +1 -1
  52. package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts.map +1 -1
  53. package/dist/cli/commands/analytics/cost/dispatch-extractor.js +7 -1
  54. package/dist/cli/commands/analytics/cost/dispatch-extractor.js.map +1 -1
  55. package/dist/cli/commands/analytics/cost/usage-readers.d.ts +13 -0
  56. package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
  57. package/dist/cli/commands/analytics/cost/usage-readers.js +114 -1
  58. package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
  59. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  60. package/dist/cli/commands/analytics/data-loader.js +2 -1
  61. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  62. package/dist/cli/commands/analytics/index.js +1 -1
  63. package/dist/cli/commands/analytics/index.js.map +1 -1
  64. package/dist/cli/commands/analytics/native-loader.d.ts +11 -1
  65. package/dist/cli/commands/analytics/native-loader.d.ts.map +1 -1
  66. package/dist/cli/commands/analytics/native-loader.js +119 -6
  67. package/dist/cli/commands/analytics/native-loader.js.map +1 -1
  68. package/dist/cli/commands/analytics/report/client/app.js +9 -8
  69. package/dist/cli/commands/assistants/chat/conversationIdSafety.d.ts +2 -0
  70. package/dist/cli/commands/assistants/chat/conversationIdSafety.d.ts.map +1 -0
  71. package/dist/cli/commands/assistants/chat/conversationIdSafety.js +19 -0
  72. package/dist/cli/commands/assistants/chat/conversationIdSafety.js.map +1 -0
  73. package/dist/cli/commands/assistants/chat/historyLoader.d.ts.map +1 -1
  74. package/dist/cli/commands/assistants/chat/historyLoader.js +7 -0
  75. package/dist/cli/commands/assistants/chat/historyLoader.js.map +1 -1
  76. package/dist/cli/commands/assistants/chat/historyPersister.d.ts +19 -0
  77. package/dist/cli/commands/assistants/chat/historyPersister.d.ts.map +1 -0
  78. package/dist/cli/commands/assistants/chat/historyPersister.js +95 -0
  79. package/dist/cli/commands/assistants/chat/historyPersister.js.map +1 -0
  80. package/dist/cli/commands/assistants/chat/index.d.ts.map +1 -1
  81. package/dist/cli/commands/assistants/chat/index.js +13 -4
  82. package/dist/cli/commands/assistants/chat/index.js.map +1 -1
  83. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -1
  84. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +13 -11
  85. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -1
  86. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -1
  87. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +14 -11
  88. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -1
  89. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.d.ts.map +1 -1
  90. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.js +10 -3
  91. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.js.map +1 -1
  92. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.d.ts.map +1 -1
  93. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.js +10 -3
  94. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.js.map +1 -1
  95. package/dist/cli/commands/proxy/connectors/desktop.d.ts +50 -8
  96. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  97. package/dist/cli/commands/proxy/connectors/desktop.js +165 -22
  98. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  99. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts +20 -0
  100. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts.map +1 -0
  101. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js +94 -0
  102. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js.map +1 -0
  103. package/dist/cli/commands/proxy/index.d.ts.map +1 -1
  104. package/dist/cli/commands/proxy/index.js +14 -2
  105. package/dist/cli/commands/proxy/index.js.map +1 -1
  106. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +6 -0
  107. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  108. package/dist/providers/plugins/sso/proxy/sso.proxy.js +24 -0
  109. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  110. package/dist/utils/native-installer.d.ts.map +1 -1
  111. package/dist/utils/native-installer.js +43 -2
  112. package/dist/utils/native-installer.js.map +1 -1
  113. package/package.json +3 -3
@@ -43,9 +43,12 @@ export function createClaudeSubagentContent(assistant) {
43
43
 
44
44
  ## Instructions
45
45
 
46
- 1. Extract the user's message from the conversation context
47
- 2. Execute the command with the message
48
- 3. Return the response
46
+ 1. **Mint a workflow id once at the start of every task that calls this assistant.** Reuse it for every invocation in that task. Suggested patterns:
47
+ - From a shell: \`workflow_id="${assistant.slug}-$(date +%Y%m%d-%H%M%S)-$$"\`
48
+ - From an LLM caller: include the related ticket key (e.g. \`${assistant.slug}-EPMCDME-12345\`) or a fresh UUID.
49
+ 2. **Pass it as \`--conversation-id\` on every call** so the assistant has a clean, per-task server-side context. Do not rely on the implicit \`CODEMIE_SESSION_ID\` env-var fallback — that id is shared across every assistant invocation in your Claude session and causes cross-topic context bleed.
50
+ 3. **For state-changing operations (create / update / delete) put the full final payload in one message.** Do not split the work into a "draft" turn followed by a "confirm and apply" turn — if server-side context is lost between turns, the confirmation message itself can be persisted as the resource content.
51
+ 4. **After any write, re-fetch the resource and verify the written content matches what you sent.** If it does not match, the call was lost — resend in single-shot form with the full payload.
49
52
 
50
53
  **File attachments are automatically detected** - any images or documents uploaded in recent messages are automatically included with the request.
51
54
 
@@ -53,26 +56,25 @@ export function createClaudeSubagentContent(assistant) {
53
56
 
54
57
  **Command format:**
55
58
  \`\`\`bash
56
- codemie assistants chat "${assistant.id}" "message"
59
+ codemie assistants chat "${assistant.id}" --conversation-id "<workflow-id>" "message"
57
60
  \`\`\`
58
61
 
59
62
  ## Examples
60
63
 
61
64
  **Simple message:**
62
65
  \`\`\`bash
63
- codemie assistants chat "${assistant.id}" "Help me with this task"
66
+ workflow_id="${assistant.slug}-$(date +%Y%m%d-%H%M%S)-$$"
67
+ codemie assistants chat "${assistant.id}" --conversation-id "$workflow_id" "Help me with this task"
64
68
  \`\`\`
65
69
 
66
- **ARGUMENTS**: "check this code" --file /path/to/your/script.py
67
-
68
- **With file attachment:**
70
+ **With file attachment** (reuse the same workflow id):
69
71
  \`\`\`bash
70
- codemie assistants chat "${assistant.id}" "Analyze this code" --file "script.py"
72
+ codemie assistants chat "${assistant.id}" --conversation-id "$workflow_id" "Analyze this code" --file "script.py"
71
73
  \`\`\`
72
74
 
73
- **With multiple files:**
75
+ **With multiple files** (reuse the same workflow id):
74
76
  \`\`\`bash
75
- codemie assistants chat "${assistant.id}" "Review these files" --file "file1.png" --file "file2.py"
77
+ codemie assistants chat "${assistant.id}" --conversation-id "$workflow_id" "Review these files" --file "file1.png" --file "file2.py"
76
78
  \`\`\`
77
79
  `);
78
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-agent-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-agent-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAoB;IAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,oBAAoB,GAAG,WAAW;SACrC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,IAAI,EAAE,CAAC;IAEV,OAAO,MAAM,CAAC;;YAEJ,SAAS,CAAC,IAAI;oBACN,oBAAoB;;;;GAIrC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,SAAoB;IAC9D,MAAM,QAAQ,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;IAE/E,OAAO,MAAM,CAAC;MACV,QAAQ;;QAEN,SAAS,CAAC,IAAI;;MAEhB,WAAW;;;;;;;;;;;;;;+BAcc,SAAS,CAAC,EAAE;;;;;;;+BAOZ,SAAS,CAAC,EAAE;;;;;;;+BAOZ,SAAS,CAAC,EAAE;;;;;+BAKZ,SAAS,CAAC,EAAE;;GAExC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAsB,YAAY,CAAC,MAAM,EAAE,UAAmB;IACvG,MAAM,SAAS,GAAG,KAAK,KAAK,YAAY,CAAC,KAAK,IAAI,UAAU;QAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAoB,EAAE,QAAsB,YAAY,CAAC,MAAM,EAAE,UAAmB;IAC/H,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;QAC1C,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,aAAa,EAAE,SAAS,CAAC,IAAI;QAC7B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,YAAY;KACb,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,iCAAiC;IACjC,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;QACzC,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAY,EAAE,QAAsB,YAAY,CAAC,MAAM,EAAE,UAAmB;IACzH,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;YAC3C,IAAI;YACJ,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE;YAC7D,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"claude-agent-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-agent-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-skill-generator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-skill-generator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+E7C;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,GAAE,YAAkC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7I;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,YAAkC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvI"}
1
+ {"version":3,"file":"claude-skill-generator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-skill-generator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAkF7C;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,GAAE,YAAkC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7I;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,YAAkC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvI"}
@@ -35,6 +35,7 @@ function createSkillContent(assistant) {
35
35
  const name = assistant.name;
36
36
  const description = assistant.description || assistant.name;
37
37
  const assistantId = assistant.id;
38
+ const slug = assistant.slug || sanitizeToSlug(assistant.id) || assistant.id;
38
39
  return dedent `
39
40
  ${metadata}
40
41
 
@@ -44,9 +45,12 @@ function createSkillContent(assistant) {
44
45
 
45
46
  ## Instructions
46
47
 
47
- 1. Extract the user's message from the conversation context
48
- 2. Execute the command with the message
49
- 3. Return the response
48
+ 1. **Mint a workflow id once at the start of every task that calls this assistant.** Reuse it for every invocation in that task. Suggested patterns:
49
+ - From a shell: \`workflow_id="${slug}-$(date +%Y%m%d-%H%M%S)-$$"\`
50
+ - From an LLM caller: include the related ticket key (e.g. \`${slug}-EPMCDME-12345\`) or a fresh UUID.
51
+ 2. **Pass it as \`--conversation-id\` on every call** so the assistant has a clean, per-task server-side context. Do not rely on the implicit \`CODEMIE_SESSION_ID\` env-var fallback — that id is shared across every assistant invocation in your Claude session and causes cross-topic context bleed.
52
+ 3. **For state-changing operations (create / update / delete) put the full final payload in one message.** Do not split the work into a "draft" turn followed by a "confirm and apply" turn — if server-side context is lost between turns, the confirmation message itself can be persisted as the resource content.
53
+ 4. **After any write, re-fetch the resource and verify the written content matches what you sent.** If it does not match, the call was lost — resend in single-shot form with the full payload.
50
54
 
51
55
  **File attachments are automatically detected** - any images or documents uploaded in recent messages are automatically included with the request.
52
56
 
@@ -54,26 +58,25 @@ function createSkillContent(assistant) {
54
58
 
55
59
  **Command format:**
56
60
  \`\`\`bash
57
- codemie assistants chat "${assistantId}" "message"
61
+ codemie assistants chat "${assistantId}" --conversation-id "<workflow-id>" "message"
58
62
  \`\`\`
59
63
 
60
64
  ## Examples
61
65
 
62
66
  **Simple message:**
63
67
  \`\`\`bash
64
- codemie assistants chat "${assistantId}" "help me with this"
68
+ workflow_id="${slug}-$(date +%Y%m%d-%H%M%S)-$$"
69
+ codemie assistants chat "${assistantId}" --conversation-id "$workflow_id" "help me with this"
65
70
  \`\`\`
66
71
 
67
- **ARGUMENTS**: "check this code" --file /path/to/your/script.py
68
-
69
- **With file attachment:**
72
+ **With file attachment** (reuse the same workflow id):
70
73
  \`\`\`bash
71
- codemie assistants chat "${assistantId}" "analyze this code" --file "script.py"
74
+ codemie assistants chat "${assistantId}" --conversation-id "$workflow_id" "analyze this code" --file "script.py"
72
75
  \`\`\`
73
76
 
74
- **With multiple files:**
77
+ **With multiple files** (reuse the same workflow id):
75
78
  \`\`\`bash
76
- codemie assistants chat "${assistantId}" "review these files" --file "file1.png" --file "file2.py"
79
+ codemie assistants chat "${assistantId}" --conversation-id "$workflow_id" "review these files" --file "file1.png" --file "file2.py"
77
80
  \`\`\`
78
81
  `;
79
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-skill-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/claude-skill-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-skill-generator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/codex-skill-generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAsD7C,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"codex-skill-generator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/codex-skill-generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA6D7C,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -24,6 +24,7 @@ function createSkillMetadata(assistant) {
24
24
  function createSkillContent(assistant) {
25
25
  const metadata = createSkillMetadata(assistant);
26
26
  const description = assistant.description || `Interact with ${assistant.name}`;
27
+ const slug = assistant.slug || assistant.id.toLowerCase().replace(/[^a-z0-9]+/g, '-');
27
28
  return dedent `
28
29
  ${metadata}
29
30
 
@@ -35,16 +36,22 @@ function createSkillContent(assistant) {
35
36
 
36
37
  Use this skill when the user asks to consult the ${assistant.name} assistant.
37
38
 
39
+ 1. **Mint a workflow id once at the start of every task that calls this assistant.** Reuse it for every invocation in that task. Suggested shell pattern: \`workflow_id="${slug}-$(date +%Y%m%d-%H%M%S)-$$"\`.
40
+ 2. **Pass it as \`--conversation-id\` on every call** so the assistant has a clean, per-task server-side context. Do not rely on the implicit \`CODEMIE_SESSION_ID\` env-var fallback — that id is shared across every assistant invocation in your Codex session and causes cross-topic context bleed.
41
+ 3. **For state-changing operations (create / update / delete) put the full final payload in one message.** Do not split the work into a "draft" turn followed by a "confirm and apply" turn — if server-side context is lost between turns, the confirmation message itself can be persisted as the resource content.
42
+ 4. **After any write, re-fetch the resource and verify the written content matches what you sent.** If it does not match, the call was lost — resend in single-shot form with the full payload.
43
+
38
44
  Run CodeMie assistant chat with the user's message:
39
45
 
40
46
  \`\`\`bash
41
- codemie assistants chat "${assistant.id}" "message"
47
+ workflow_id="${slug}-$(date +%Y%m%d-%H%M%S)-$$"
48
+ codemie assistants chat "${assistant.id}" --conversation-id "$workflow_id" "message"
42
49
  \`\`\`
43
50
 
44
- File attachments can be passed through the chat command with \`--file\`:
51
+ File attachments can be passed through the chat command with \`--file\` (reuse the same workflow id):
45
52
 
46
53
  \`\`\`bash
47
- codemie assistants chat "${assistant.id}" "review this file" --file "path/to/file"
54
+ codemie assistants chat "${assistant.id}" --conversation-id "$workflow_id" "review this file" --file "path/to/file"
48
55
  \`\`\`
49
56
  `;
50
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/codex-skill-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/codex-skill-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-skill-generator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/gemini-skill-generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAsD7C,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAKf"}
1
+ {"version":3,"file":"gemini-skill-generator.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/gemini-skill-generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA6D7C,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,SAAS,EACpB,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,QAAQ,GAAG,OAAkB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -24,6 +24,7 @@ function createSkillMetadata(assistant) {
24
24
  function createSkillContent(assistant) {
25
25
  const metadata = createSkillMetadata(assistant);
26
26
  const description = assistant.description || `Interact with ${assistant.name}`;
27
+ const slug = assistant.slug || assistant.id.toLowerCase().replace(/[^a-z0-9]+/g, '-');
27
28
  return dedent `
28
29
  ${metadata}
29
30
 
@@ -35,16 +36,22 @@ function createSkillContent(assistant) {
35
36
 
36
37
  Use this skill when the user asks to consult the ${assistant.name} assistant.
37
38
 
39
+ 1. **Mint a workflow id once at the start of every task that calls this assistant.** Reuse it for every invocation in that task. Suggested shell pattern: \`workflow_id="${slug}-$(date +%Y%m%d-%H%M%S)-$$"\`.
40
+ 2. **Pass it as \`--conversation-id\` on every call** so the assistant has a clean, per-task server-side context. Do not rely on the implicit \`CODEMIE_SESSION_ID\` env-var fallback — that id is shared across every assistant invocation in your Gemini session and causes cross-topic context bleed.
41
+ 3. **For state-changing operations (create / update / delete) put the full final payload in one message.** Do not split the work into a "draft" turn followed by a "confirm and apply" turn — if server-side context is lost between turns, the confirmation message itself can be persisted as the resource content.
42
+ 4. **After any write, re-fetch the resource and verify the written content matches what you sent.** If it does not match, the call was lost — resend in single-shot form with the full payload.
43
+
38
44
  Run CodeMie assistant chat with the user's message:
39
45
 
40
46
  \`\`\`bash
41
- codemie assistants chat "${assistant.id}" "message"
47
+ workflow_id="${slug}-$(date +%Y%m%d-%H%M%S)-$$"
48
+ codemie assistants chat "${assistant.id}" --conversation-id "$workflow_id" "message"
42
49
  \`\`\`
43
50
 
44
- File attachments can be passed through the chat command with \`--file\`:
51
+ File attachments can be passed through the chat command with \`--file\` (reuse the same workflow id):
45
52
 
46
53
  \`\`\`bash
47
- codemie assistants chat "${assistant.id}" "review this file" --file "path/to/file"
54
+ codemie assistants chat "${assistant.id}" --conversation-id "$workflow_id" "review this file" --file "path/to/file"
48
55
  \`\`\`
49
56
  `;
50
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/gemini-skill-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/gemini-skill-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- interface ManagedMcpServerEntry {
1
+ import type { CanonicalMcpEntry } from './managed-mcp-remote.js';
2
+ export interface ManagedMcpServerEntry {
2
3
  name: string;
3
4
  url: string;
4
5
  transport?: 'http' | 'sse';
@@ -11,26 +12,68 @@ interface ManagedMcpServerEntry {
11
12
  * an exact ID or as `<entry>-<YYYYMMDD>` (the dated variant). The actual
12
13
  * resolved ID is what gets written to the Desktop config so the gateway
13
14
  * receives a model name it has registered.
15
+ *
16
+ * The opus entries are listed in descending preference (`4-8 → 4-7 → 4-6`):
17
+ * {@link selectDesktopClaudeModels} collapses them to the single highest-priority
18
+ * opus the gateway actually serves, so Desktop never shows more than one Opus.
14
19
  */
15
- export declare const PREFERRED_CLAUDE_MODELS: readonly ["claude-sonnet-4-6", "claude-opus-4-7", "claude-opus-4-6", "claude-haiku-4-5"];
20
+ export declare const PREFERRED_CLAUDE_MODELS: readonly ["claude-sonnet-4-6", "claude-opus-4-8", "claude-opus-4-7", "claude-opus-4-6", "claude-haiku-4-5"];
16
21
  export declare const DEFAULT_COWORK_EGRESS_ALLOWED_HOSTS: readonly ["*"];
17
22
  export declare const DEFAULT_MANAGED_MCP_SERVERS: readonly ManagedMcpServerEntry[];
18
23
  /**
19
24
  * Fetch the model list from the gateway's SSO-backed `/v1/llm_models?include_all=true`
20
- * endpoint and return the IDs of usable Claude-family models (excludes `-vertex`
21
- * aliases since the gateway already picks the right backend for the canonical names).
25
+ * endpoint and return the IDs of usable Claude-family models. When both canonical
26
+ * and `-vertex` registrations exist, canonical IDs are preferred. When only vertex
27
+ * registrations exist, those IDs are returned so vertex-only tenants can connect.
22
28
  */
23
29
  export declare function fetchClaudeModels(proxyUrl: string, gatewayKey: string): Promise<string[]>;
24
30
  /**
25
31
  * Resolve each entry in {@link PREFERRED_CLAUDE_MODELS} against the gateway's
26
32
  * model discovery response. For each preferred name, prefer the exact ID; fall
27
- * back to the dated variant `<preferred>-YYYYMMDD` (latest if multiple).
33
+ * back to the dated variant `<preferred>-YYYYMMDD` (latest if multiple); then
34
+ * fall back to `<preferred>-vertex` when only Vertex registrations exist.
28
35
  * Entries with no available match are dropped silently.
29
36
  *
30
37
  * Preserves the order of {@link PREFERRED_CLAUDE_MODELS}.
31
38
  */
32
39
  export declare function selectPreferredClaudeModels(available: string[], preferred?: readonly string[]): string[];
33
- export declare function mergeManagedMcpServers(existingServers: unknown): unknown[];
40
+ /**
41
+ * Build the exact model set Claude Desktop should be offered.
42
+ *
43
+ * Resolves the curated preferred list via {@link selectPreferredClaudeModels},
44
+ * then collapses the opus family to a single entry: the first (highest-priority)
45
+ * opus that resolved. With opus ids ordered `4-8 → 4-7 → 4-6` in
46
+ * {@link PREFERRED_CLAUDE_MODELS}, this exposes Opus 4.8 when the gateway serves
47
+ * it and otherwise falls back to the next-best available opus. Non-opus models
48
+ * are passed through untouched and order is preserved.
49
+ */
50
+ export declare function selectDesktopClaudeModels(available: string[], preferred?: readonly string[]): string[];
51
+ /**
52
+ * Map client-neutral canonical entries to Claude Desktop's managedMcpServers
53
+ * shape. Drops entries Desktop cannot represent (non-http/sse transports,
54
+ * missing URL, or invalid name).
55
+ */
56
+ export declare function mapCanonicalToDesktop(entries: CanonicalMcpEntry[]): ManagedMcpServerEntry[];
57
+ export interface ReconcileResult {
58
+ servers: unknown[];
59
+ managedNames: string[];
60
+ }
61
+ /**
62
+ * Reconcile the managed MCP set into an existing managedMcpServers array.
63
+ *
64
+ * - `managed`: the entries CodeMie owns this run (public defaults + fetched
65
+ * internal), already in Desktop shape.
66
+ * - `previouslyManagedNames`: names CodeMie wrote on the prior run. Required so
67
+ * that an entry removed from the managed set is dropped even though Claude
68
+ * Desktop re-stamps entries it persists (we cannot rely on a custom marker
69
+ * field surviving Desktop's rewrite).
70
+ *
71
+ * Genuine user-added entries (never managed by us) are preserved.
72
+ * Managed entries appear first in the returned array; user entries follow.
73
+ */
74
+ export declare function reconcileManagedMcpServers(existingServers: unknown, managed: ManagedMcpServerEntry[], previouslyManagedNames?: string[]): ReconcileResult;
75
+ /** Default location of the CLI-owned managed-MCP marker state. */
76
+ export declare function getManagedMcpStatePath(): string;
34
77
  export interface DesktopGatewayConfig {
35
78
  inferenceProvider: 'gateway';
36
79
  inferenceGatewayBaseUrl: string;
@@ -58,6 +101,5 @@ export declare function getDesktopConfigPath(baseDir?: string): Promise<string>;
58
101
  * Preserves unrelated keys in the existing config file.
59
102
  * Returns the absolute path of the config file written.
60
103
  */
61
- export declare function writeDesktopConfig(proxyUrl: string, gatewayKey: string, baseDir?: string): Promise<string>;
62
- export {};
104
+ export declare function writeDesktopConfig(proxyUrl: string, gatewayKey: string, baseDir?: string, orgMcpServers?: ManagedMcpServerEntry[] | null, managedStatePath?: string): Promise<string>;
63
105
  //# sourceMappingURL=desktop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"AAqBA,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,0FAK1B,CAAC;AAEX,eAAO,MAAM,mCAAmC,gBAAiB,CAAC;AAElE,eAAO,MAAM,2BAA2B,EACjB,SAAS,qBAAqB,EAAE,CAAC;AAExD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsE/F;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,SAAS,MAAM,EAA4B,GACrD,MAAM,EAAE,CA8BV;AAgCD,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,EAAE,CAgB1E;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,SAAS,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,QAAQ,CAAC;CACtC;AAYD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAO7F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjG;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CAqGjB"}
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAajE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,6GAM1B,CAAC;AAEX,eAAO,MAAM,mCAAmC,gBAAiB,CAAC;AAElE,eAAO,MAAM,2BAA2B,EACjB,SAAS,qBAAqB,EAAE,CAAC;AAExD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuE/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,SAAS,MAAM,EAA4B,GACrD,MAAM,EAAE,CAqCV;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,SAAS,MAAM,EAA4B,GACrD,MAAM,EAAE,CASV;AAkCD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,qBAAqB,EAAE,CAa3F;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,OAAO,EACxB,OAAO,EAAE,qBAAqB,EAAE,EAChC,sBAAsB,GAAE,MAAM,EAAO,GACpC,eAAe,CA4BjB;AAMD,kEAAkE;AAClE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AA4BD,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,SAAS,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,QAAQ,CAAC;CACtC;AAYD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAO7F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjG;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAA4B,EACrC,aAAa,GAAE,qBAAqB,EAAE,GAAG,IAAW,EACpD,gBAAgB,GAAE,MAAiC,GAClD,OAAO,CAAC,MAAM,CAAC,CA+IjB"}