@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.
- package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +3 -0
- package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +136 -20
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +12 -3
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/claude/session/strip-clear.d.ts +12 -0
- package/dist/agents/plugins/claude/session/strip-clear.d.ts.map +1 -0
- package/dist/agents/plugins/claude/session/strip-clear.js +34 -0
- package/dist/agents/plugins/claude/session/strip-clear.js.map +1 -0
- package/dist/agents/plugins/codex/codex-message-types.d.ts +24 -2
- package/dist/agents/plugins/codex/codex-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex-message-types.js.map +1 -1
- package/dist/agents/plugins/codex/codex.paths.d.ts +11 -0
- package/dist/agents/plugins/codex/codex.paths.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex.paths.js +29 -0
- package/dist/agents/plugins/codex/codex.paths.js.map +1 -1
- package/dist/agents/plugins/codex/codex.session.d.ts +6 -0
- package/dist/agents/plugins/codex/codex.session.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex.session.js +71 -23
- package/dist/agents/plugins/codex/codex.session.js.map +1 -1
- package/dist/agents/plugins/codex/session/codex-collab-links.d.ts +22 -0
- package/dist/agents/plugins/codex/session/codex-collab-links.d.ts.map +1 -0
- package/dist/agents/plugins/codex/session/codex-collab-links.js +162 -0
- package/dist/agents/plugins/codex/session/codex-collab-links.js.map +1 -0
- package/dist/agents/plugins/codex/session/codex-dispatch-extractor.d.ts +12 -0
- package/dist/agents/plugins/codex/session/codex-dispatch-extractor.d.ts.map +1 -0
- package/dist/agents/plugins/codex/session/codex-dispatch-extractor.js +73 -0
- package/dist/agents/plugins/codex/session/codex-dispatch-extractor.js.map +1 -0
- package/dist/agents/plugins/codex/session/codex-metrics-extractor.d.ts +22 -0
- package/dist/agents/plugins/codex/session/codex-metrics-extractor.d.ts.map +1 -0
- package/dist/agents/plugins/codex/session/codex-metrics-extractor.js +133 -0
- package/dist/agents/plugins/codex/session/codex-metrics-extractor.js.map +1 -0
- package/dist/agents/plugins/codex/session/codex-named-invocations.d.ts +17 -0
- package/dist/agents/plugins/codex/session/codex-named-invocations.d.ts.map +1 -0
- package/dist/agents/plugins/codex/session/codex-named-invocations.js +112 -0
- package/dist/agents/plugins/codex/session/codex-named-invocations.js.map +1 -0
- package/dist/agents/plugins/codex/session/codex-user-prompt.d.ts +9 -0
- package/dist/agents/plugins/codex/session/codex-user-prompt.d.ts.map +1 -0
- package/dist/agents/plugins/codex/session/codex-user-prompt.js +64 -0
- package/dist/agents/plugins/codex/session/codex-user-prompt.js.map +1 -0
- package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -1
- package/dist/cli/commands/analytics/aggregator.js +1 -0
- package/dist/cli/commands/analytics/aggregator.js.map +1 -1
- package/dist/cli/commands/analytics/cost/codex-agent.d.ts +8 -0
- package/dist/cli/commands/analytics/cost/codex-agent.d.ts.map +1 -0
- package/dist/cli/commands/analytics/cost/codex-agent.js +24 -0
- package/dist/cli/commands/analytics/cost/codex-agent.js.map +1 -0
- package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/cost-enricher.js +36 -12
- package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
- package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts +1 -1
- package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/dispatch-extractor.js +7 -1
- package/dist/cli/commands/analytics/cost/dispatch-extractor.js.map +1 -1
- package/dist/cli/commands/analytics/cost/usage-readers.d.ts +13 -0
- package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/usage-readers.js +114 -1
- package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/data-loader.js +2 -1
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/analytics/index.js +1 -1
- package/dist/cli/commands/analytics/index.js.map +1 -1
- package/dist/cli/commands/analytics/native-loader.d.ts +11 -1
- package/dist/cli/commands/analytics/native-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/native-loader.js +119 -6
- package/dist/cli/commands/analytics/native-loader.js.map +1 -1
- package/dist/cli/commands/analytics/report/client/app.js +9 -8
- package/dist/cli/commands/assistants/chat/conversationIdSafety.d.ts +2 -0
- package/dist/cli/commands/assistants/chat/conversationIdSafety.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/conversationIdSafety.js +19 -0
- package/dist/cli/commands/assistants/chat/conversationIdSafety.js.map +1 -0
- package/dist/cli/commands/assistants/chat/historyLoader.d.ts.map +1 -1
- package/dist/cli/commands/assistants/chat/historyLoader.js +7 -0
- package/dist/cli/commands/assistants/chat/historyLoader.js.map +1 -1
- package/dist/cli/commands/assistants/chat/historyPersister.d.ts +19 -0
- package/dist/cli/commands/assistants/chat/historyPersister.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat/historyPersister.js +95 -0
- package/dist/cli/commands/assistants/chat/historyPersister.js.map +1 -0
- package/dist/cli/commands/assistants/chat/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/chat/index.js +13 -4
- package/dist/cli/commands/assistants/chat/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +13 -11
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +14 -11
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.js +10 -3
- package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.js.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.js +10 -3
- package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.d.ts +50 -8
- package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.js +165 -22
- package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts +20 -0
- package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js +94 -0
- package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js.map +1 -0
- package/dist/cli/commands/proxy/index.d.ts.map +1 -1
- package/dist/cli/commands/proxy/index.js +14 -2
- package/dist/cli/commands/proxy/index.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +6 -0
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.js +24 -0
- package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
- package/dist/utils/native-installer.d.ts.map +1 -1
- package/dist/utils/native-installer.js +43 -2
- package/dist/utils/native-installer.js.map +1 -1
- package/package.json +3 -3
|
@@ -43,9 +43,12 @@ export function createClaudeSubagentContent(assistant) {
|
|
|
43
43
|
|
|
44
44
|
## Instructions
|
|
45
45
|
|
|
46
|
-
1.
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
|
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;
|
|
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.
|
|
48
|
-
|
|
49
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
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":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD;;GAEG;AACH,SAAS,YAAY,CAAC,QAAsB,YAAY,CAAC,MAAM,EAAE,UAAmB;IACnF,IAAI,KAAK,KAAK,YAAY,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,SAAoB;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;IAC5E,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC;IAEhE,OAAO,MAAM,CAAA;;UAEJ,IAAI;iBACG,eAAe;;EAE9B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,SAAoB;IAC/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC;IAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;
|
|
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;
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,SAAS,YAAY,CAAC,QAA4B,QAAQ,EAAE,UAAmB;IAC7E,IAAI,KAAK,KAAK,OAAO,IAAI,UAAU,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAoB;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;SAC7E,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,IAAI,EAAE,CAAC;IAEV,OAAO,MAAM,CAAA;;YAEH,IAAI;mBACG,WAAW;;GAE3B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAoB;IAC9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;
|
|
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;
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,SAAS,YAAY,CAAC,QAA4B,QAAQ,EAAE,UAAmB;IAC7E,IAAI,KAAK,KAAK,OAAO,IAAI,UAAU,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAoB;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;SAC7E,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,IAAI,EAAE,CAAC;IAEV,OAAO,MAAM,CAAA;;YAEH,IAAI;mBACG,WAAW;;GAE3B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAoB;IAC9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"gemini-skill-generator.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/generators/gemini-skill-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,SAAS,YAAY,CAAC,QAA4B,QAAQ,EAAE,UAAmB;IAC7E,IAAI,KAAK,KAAK,OAAO,IAAI,UAAU,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAoB;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;SAC7E,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,IAAI,EAAE,CAAC;IAEV,OAAO,MAAM,CAAA;;YAEH,IAAI;mBACG,WAAW;;GAE3B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAoB;IAC9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAEtF,OAAO,MAAM,CAAA;MACT,QAAQ;;QAEN,SAAS,CAAC,IAAI;;MAEhB,WAAW;;;;uDAIsC,SAAS,CAAC,IAAI;;+KAE0G,IAAI;;;;;;;;mBAQhK,IAAI;+BACQ,SAAS,CAAC,EAAE;;;;;;+BAMZ,SAAS,CAAC,EAAE;;GAExC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAAoB,EACpB,QAA4B,QAAQ,EACpC,UAAmB;IAEnB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAElD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAEtE,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;QAChD,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,IAAI;QACJ,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAAY,EACZ,QAA4B,QAAQ,EACpC,UAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;IAElE,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
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
|
|
21
|
-
*
|
|
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
|
-
|
|
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":"
|
|
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"}
|