@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
|
@@ -264,6 +264,9 @@ node ${CLAUDE_PLUGIN_ROOT}/skills/msgraph/scripts/msgraph.js channels --team-id
|
|
|
264
264
|
# Read recent messages in a channel
|
|
265
265
|
node ${CLAUDE_PLUGIN_ROOT}/skills/msgraph/scripts/msgraph.js channels --team-id TEAM_ID --channel-id CHANNEL_ID --messages
|
|
266
266
|
|
|
267
|
+
# Read messages with their reply threads (needed to detect unanswered/clarification-only threads)
|
|
268
|
+
node ${CLAUDE_PLUGIN_ROOT}/skills/msgraph/scripts/msgraph.js channels --team-id TEAM_ID --channel-id CHANNEL_ID --messages --expand-replies --json
|
|
269
|
+
|
|
267
270
|
# Post a message to a channel
|
|
268
271
|
node ${CLAUDE_PLUGIN_ROOT}/skills/msgraph/scripts/msgraph.js channels --team-id TEAM_ID --channel-id CHANNEL_ID --send "Hello channel!"
|
|
269
272
|
```
|
|
@@ -71,6 +71,7 @@ function httpsRequest(urlStr, options = {}, body = null) {
|
|
|
71
71
|
err.statusCode = res.statusCode;
|
|
72
72
|
err.responseBody = text;
|
|
73
73
|
err.responseUrl = urlStr;
|
|
74
|
+
err.headers = res.headers;
|
|
74
75
|
return reject(err);
|
|
75
76
|
}
|
|
76
77
|
resolve({ status: res.statusCode, body: text, headers: res.headers });
|
|
@@ -97,8 +98,20 @@ async function oauthPost(urlStr, params) {
|
|
|
97
98
|
async function graphGet(endpoint, token, params = {}) {
|
|
98
99
|
const qs = new URLSearchParams(params).toString();
|
|
99
100
|
const url = `${GRAPH_BASE}${endpoint}${qs ? '?' + qs : ''}`;
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
102
|
+
try {
|
|
103
|
+
const res = await httpsRequest(url, { headers: { Authorization: `Bearer ${token}` } });
|
|
104
|
+
return JSON.parse(res.body);
|
|
105
|
+
} catch (e) {
|
|
106
|
+
if (e.statusCode === 429 && attempt < 2) {
|
|
107
|
+
const ra = parseInt(e.headers?.['retry-after'] || '', 10);
|
|
108
|
+
const waitS = Number.isFinite(ra) && ra > 0 ? Math.min(60, ra) : Math.min(30, 2 ** attempt * 2);
|
|
109
|
+
await new Promise(r => setTimeout(r, waitS * 1000));
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
throw e;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
102
115
|
}
|
|
103
116
|
|
|
104
117
|
async function graphPost(endpoint, token, body) {
|
|
@@ -486,9 +499,32 @@ async function cmdEmails(args) {
|
|
|
486
499
|
}
|
|
487
500
|
|
|
488
501
|
const limit = parseInt(args.limit) || 10;
|
|
502
|
+
|
|
503
|
+
if (args.conversation) {
|
|
504
|
+
// Graph rejects $orderby with $filter on conversationId ("InefficientFilter").
|
|
505
|
+
// Pull more rows than asked and sort client-side.
|
|
506
|
+
const cv = await graphGet('/me/messages', token, {
|
|
507
|
+
$filter: `conversationId eq '${args.conversation}'`,
|
|
508
|
+
$top: Math.max(limit, 25),
|
|
509
|
+
$select: 'id,subject,from,sentDateTime,receivedDateTime,isRead,bodyPreview,conversationId',
|
|
510
|
+
});
|
|
511
|
+
let msgs = cv.value || [];
|
|
512
|
+
msgs.sort((a, b) => (b.sentDateTime || b.receivedDateTime || '').localeCompare(a.sentDateTime || a.receivedDateTime || ''));
|
|
513
|
+
msgs = msgs.slice(0, limit);
|
|
514
|
+
if (args.json) { console.log(JSON.stringify(msgs, null, 2)); return; }
|
|
515
|
+
if (!msgs.length) { console.log('No messages in this conversation.'); return; }
|
|
516
|
+
console.log(`\n${'Sent'.padEnd(16)} ${'From'.padEnd(28)} Subject`);
|
|
517
|
+
console.log('─'.repeat(80));
|
|
518
|
+
for (const m of msgs) {
|
|
519
|
+
const from = (m.from?.emailAddress?.name || '').slice(0, 28).padEnd(28);
|
|
520
|
+
console.log(`${fmtDt(m.sentDateTime || m.receivedDateTime).padEnd(16)} ${from} ${(m.subject || '(no subject)').slice(0, 40)}`);
|
|
521
|
+
}
|
|
522
|
+
return;
|
|
523
|
+
}
|
|
524
|
+
|
|
489
525
|
const params = {
|
|
490
526
|
$top: limit,
|
|
491
|
-
$select: 'id,subject,from,receivedDateTime,isRead,hasAttachments,importance',
|
|
527
|
+
$select: 'id,subject,from,receivedDateTime,isRead,hasAttachments,importance,bodyPreview,conversationId',
|
|
492
528
|
$orderby: 'receivedDateTime desc',
|
|
493
529
|
};
|
|
494
530
|
if (args.search) { params.$search = `"${args.search}"`; delete params.$orderby; }
|
|
@@ -643,13 +679,18 @@ async function cmdTeams(args) {
|
|
|
643
679
|
const limit = parseInt(args.limit) || 20;
|
|
644
680
|
|
|
645
681
|
if (args.chats) {
|
|
646
|
-
|
|
682
|
+
// $expand=lastMessagePreview returns the true last-message timestamp + body.
|
|
683
|
+
// Graph's `lastUpdatedDateTime` on the chat is frequently stale (months/years
|
|
684
|
+
// behind), so callers that need recency MUST read lastMessagePreview.
|
|
685
|
+
const data = await graphGet('/me/chats', token, { $top: limit, $expand: 'lastMessagePreview' });
|
|
647
686
|
const chats = data.value || [];
|
|
648
687
|
if (args.json) { console.log(JSON.stringify(chats, null, 2)); return; }
|
|
649
|
-
console.log(`\n${'Chat ID'.padEnd(50)} ${'Type'.padEnd(10)} Topic`);
|
|
688
|
+
console.log(`\n${'Chat ID'.padEnd(50)} ${'Type'.padEnd(10)} Last msg Topic`);
|
|
650
689
|
console.log('─'.repeat(80));
|
|
651
|
-
for (const c of chats)
|
|
652
|
-
|
|
690
|
+
for (const c of chats) {
|
|
691
|
+
const last = c.lastMessagePreview?.createdDateTime || c.lastUpdatedDateTime || '';
|
|
692
|
+
console.log(`${(c.id || '').padEnd(50)} ${(c.chatType || '').padEnd(10)} ${fmtDt(last).padEnd(18)} ${c.topic || '(direct message)'}`);
|
|
693
|
+
}
|
|
653
694
|
return;
|
|
654
695
|
}
|
|
655
696
|
|
|
@@ -690,10 +731,24 @@ async function cmdTeams(args) {
|
|
|
690
731
|
|
|
691
732
|
if (args.messages) {
|
|
692
733
|
// Graph returns HTTP 400 if $select is used on the Teams messages endpoint — pass $top only.
|
|
693
|
-
|
|
694
|
-
const
|
|
734
|
+
// `--max N` paginates via @odata.nextLink up to N messages total (capped per page at 50 by Graph).
|
|
735
|
+
const max = args.max ? parseInt(args.max, 10) : null;
|
|
736
|
+
const perPage = max ? Math.min(50, max) : limit;
|
|
737
|
+
let next = `/me/chats/${args.messages}/messages?$top=${perPage}`;
|
|
738
|
+
const msgs = [];
|
|
739
|
+
while (next) {
|
|
740
|
+
const data = await graphGet(next.replace(GRAPH_BASE, '').replace('https://graph.microsoft.com/v1.0', ''), token, {});
|
|
741
|
+
for (const m of (data.value || [])) {
|
|
742
|
+
msgs.push(m);
|
|
743
|
+
if (max && msgs.length >= max) break;
|
|
744
|
+
}
|
|
745
|
+
if (max && msgs.length >= max) break;
|
|
746
|
+
const nl = data['@odata.nextLink'];
|
|
747
|
+
if (!nl || !max) break; // no pagination unless --max set
|
|
748
|
+
next = nl;
|
|
749
|
+
}
|
|
695
750
|
if (args.json) { console.log(JSON.stringify(msgs, null, 2)); return; }
|
|
696
|
-
console.log(`\nMessages in chat ${args.messages.slice(0, 20)}
|
|
751
|
+
console.log(`\nMessages in chat ${args.messages.slice(0, 20)}... (${msgs.length}):`);
|
|
697
752
|
console.log('─'.repeat(60));
|
|
698
753
|
for (const m of [...msgs].reverse()) {
|
|
699
754
|
const sender = m.from?.user?.displayName || 'System';
|
|
@@ -710,10 +765,20 @@ async function cmdTeams(args) {
|
|
|
710
765
|
}
|
|
711
766
|
|
|
712
767
|
if (args.teamsList) {
|
|
713
|
-
|
|
714
|
-
|
|
768
|
+
// Prefer /me/joinedTeams (needs Team.ReadBasic.All). Fall back to /me/memberOf
|
|
769
|
+
// filtered client-side to groups that are also teams (uses Group.Read.All,
|
|
770
|
+
// which the default scope set already includes).
|
|
771
|
+
let teams;
|
|
772
|
+
try {
|
|
773
|
+
const data = await graphGet('/me/joinedTeams', token, { $select: 'id,displayName,description' });
|
|
774
|
+
teams = data.value || [];
|
|
775
|
+
} catch (e) {
|
|
776
|
+
if (!/403|Forbidden/.test(e.message)) throw e;
|
|
777
|
+
const data = await graphGet('/me/memberOf', token, { $select: 'id,displayName,description,resourceProvisioningOptions', $top: 200 });
|
|
778
|
+
teams = (data.value || []).filter(g => Array.isArray(g.resourceProvisioningOptions) && g.resourceProvisioningOptions.includes('Team'));
|
|
779
|
+
}
|
|
715
780
|
if (args.json) { console.log(JSON.stringify(teams, null, 2)); return; }
|
|
716
|
-
for (const t of teams) console.log(`${t.id.slice(0, 36)} ${t.displayName}`);
|
|
781
|
+
for (const t of teams) console.log(`${(t.id || '').slice(0, 36)} ${t.displayName}`);
|
|
717
782
|
return;
|
|
718
783
|
}
|
|
719
784
|
|
|
@@ -728,13 +793,13 @@ async function cmdChannels(args) {
|
|
|
728
793
|
if (!args.teamId) {
|
|
729
794
|
console.error('Error: --team-id TEAM_ID is required');
|
|
730
795
|
console.log('channels --team-id ID --list');
|
|
731
|
-
console.log(' --team-id ID --channel-id ID --messages [--limit N]');
|
|
796
|
+
console.log(' --team-id ID --channel-id ID --messages [--limit N] [--expand-replies]');
|
|
732
797
|
console.log(' --team-id ID --channel-id ID --send MSG');
|
|
733
798
|
process.exit(1);
|
|
734
799
|
}
|
|
735
800
|
|
|
736
801
|
if (args.list) {
|
|
737
|
-
const data = await graphGet(`/teams/${args.teamId}/channels`, token, { $select: 'id,displayName,description' });
|
|
802
|
+
const data = await graphGet(`/teams/${args.teamId}/channels`, token, { $select: 'id,displayName,description,membershipType' });
|
|
738
803
|
const channels = data.value || [];
|
|
739
804
|
if (args.json) { console.log(JSON.stringify(channels, null, 2)); return; }
|
|
740
805
|
console.log(`\n${'ID'.padEnd(50)} Name`);
|
|
@@ -744,13 +809,53 @@ async function cmdChannels(args) {
|
|
|
744
809
|
return;
|
|
745
810
|
}
|
|
746
811
|
|
|
812
|
+
if (args.members) {
|
|
813
|
+
// Use the groups endpoint (teamId == groupId) so we don't need Team.ReadBasic.All;
|
|
814
|
+
// pages through every member of the underlying M365 group.
|
|
815
|
+
const members = [];
|
|
816
|
+
let next = `/groups/${args.teamId}/members/microsoft.graph.user`;
|
|
817
|
+
let params = { $select: 'id,displayName,userPrincipalName,mail', $top: 100 };
|
|
818
|
+
while (next) {
|
|
819
|
+
const page = await graphGet(next, token, params);
|
|
820
|
+
for (const m of page.value || []) members.push(m);
|
|
821
|
+
const nl = page['@odata.nextLink'];
|
|
822
|
+
if (!nl) break;
|
|
823
|
+
// Strip the base + use as endpoint; reuse no extra params (link contains them).
|
|
824
|
+
next = nl.replace('https://graph.microsoft.com/v1.0', '');
|
|
825
|
+
params = {};
|
|
826
|
+
}
|
|
827
|
+
if (args.json) { console.log(JSON.stringify(members, null, 2)); return; }
|
|
828
|
+
console.log(`\nTeam members (${members.length}):`);
|
|
829
|
+
console.log('─'.repeat(60));
|
|
830
|
+
for (const m of members)
|
|
831
|
+
console.log(`${(m.displayName || 'N/A').padEnd(34)} ${m.userPrincipalName || m.mail || ''}`);
|
|
832
|
+
return;
|
|
833
|
+
}
|
|
834
|
+
|
|
747
835
|
if (!args.channelId) {
|
|
748
836
|
console.error('Error: --channel-id CHANNEL_ID is required');
|
|
749
837
|
process.exit(1);
|
|
750
838
|
}
|
|
751
839
|
|
|
840
|
+
if (args.replies) {
|
|
841
|
+
// --replies MSG_ID → replies to a specific channel message
|
|
842
|
+
const data = await graphGet(`/teams/${args.teamId}/channels/${args.channelId}/messages/${args.replies}/replies`, token, { $top: limit });
|
|
843
|
+
const reps = data.value || [];
|
|
844
|
+
if (args.json) { console.log(JSON.stringify(reps, null, 2)); return; }
|
|
845
|
+
console.log(`\nReplies to message ${args.replies.slice(0, 20)}...:`);
|
|
846
|
+
console.log('─'.repeat(60));
|
|
847
|
+
for (const r of [...reps].sort((a, b) => (a.createdDateTime || '').localeCompare(b.createdDateTime || ''))) {
|
|
848
|
+
const rs = r.from?.user?.displayName || 'System';
|
|
849
|
+
const rb = stripHtml(r.body?.content || '').slice(0, 200);
|
|
850
|
+
console.log(`[${fmtDt(r.createdDateTime)}] ${rs}: ${rb}`);
|
|
851
|
+
}
|
|
852
|
+
return;
|
|
853
|
+
}
|
|
854
|
+
|
|
752
855
|
if (args.messages) {
|
|
753
|
-
const
|
|
856
|
+
const params = { $top: limit };
|
|
857
|
+
if (args.expandReplies) params.$expand = 'replies';
|
|
858
|
+
const data = await graphGet(`/teams/${args.teamId}/channels/${args.channelId}/messages`, token, params);
|
|
754
859
|
const msgs = data.value || [];
|
|
755
860
|
if (args.json) { console.log(JSON.stringify(msgs, null, 2)); return; }
|
|
756
861
|
console.log(`\nMessages in channel ${args.channelId.slice(0, 30)}...:`);
|
|
@@ -759,6 +864,14 @@ async function cmdChannels(args) {
|
|
|
759
864
|
const sender = m.from?.user?.displayName || 'System';
|
|
760
865
|
const body = stripHtml(m.body?.content || '').slice(0, 200);
|
|
761
866
|
console.log(`[${fmtDt(m.createdDateTime)}] ${sender}: ${body}`);
|
|
867
|
+
if (args.expandReplies && Array.isArray(m.replies) && m.replies.length) {
|
|
868
|
+
const replies = [...m.replies].sort((a, b) => (a.createdDateTime || '').localeCompare(b.createdDateTime || ''));
|
|
869
|
+
for (const r of replies) {
|
|
870
|
+
const rs = r.from?.user?.displayName || 'System';
|
|
871
|
+
const rb = stripHtml(r.body?.content || '').slice(0, 160);
|
|
872
|
+
console.log(` └─ [${fmtDt(r.createdDateTime)}] ${rs}: ${rb}`);
|
|
873
|
+
}
|
|
874
|
+
}
|
|
762
875
|
}
|
|
763
876
|
return;
|
|
764
877
|
}
|
|
@@ -773,6 +886,7 @@ async function cmdChannels(args) {
|
|
|
773
886
|
|
|
774
887
|
console.log('channels --team-id ID --list');
|
|
775
888
|
console.log(' --team-id ID --channel-id ID --messages [--limit N]');
|
|
889
|
+
console.log(' --team-id ID --channel-id ID --replies MSG_ID [--limit N]');
|
|
776
890
|
console.log(' --team-id ID --channel-id ID --send MSG');
|
|
777
891
|
}
|
|
778
892
|
|
|
@@ -1484,8 +1598,8 @@ async function cmdTodo(args) {
|
|
|
1484
1598
|
// ── CLI Parser ────────────────────────────────────────────────────────────────
|
|
1485
1599
|
function parseArgs(argv) {
|
|
1486
1600
|
const BOOL = new Set(['json','unread','sites','chats','teamsList','contacts',
|
|
1487
|
-
'manager','reports','availability','notebooks','list','
|
|
1488
|
-
'plans','buckets','tasks','myTasks','lists','insights']);
|
|
1601
|
+
'manager','reports','availability','notebooks','list','vtt','help','force',
|
|
1602
|
+
'plans','buckets','tasks','myTasks','lists','insights','expandReplies','members']);
|
|
1489
1603
|
const args = { _: [] };
|
|
1490
1604
|
let i = 0;
|
|
1491
1605
|
while (i < argv.length) {
|
|
@@ -1520,7 +1634,7 @@ Auth:
|
|
|
1520
1634
|
Data:
|
|
1521
1635
|
me [--json] Your profile
|
|
1522
1636
|
emails [--limit N] [--unread] [--search Q] [--folder NAME]
|
|
1523
|
-
[--read ID] [--send TO --subject S --body B] [--json]
|
|
1637
|
+
[--read ID] [--conversation CONV_ID] [--send TO --subject S --body B] [--json]
|
|
1524
1638
|
calendar [--limit N] [--json]
|
|
1525
1639
|
[--create TITLE --start DT --end DT [--location L] [--timezone TZ]]
|
|
1526
1640
|
[--availability --start DT --end DT]
|
|
@@ -1528,7 +1642,9 @@ Data:
|
|
|
1528
1642
|
teams [--chats] [--messages CHAT_ID] [--send MSG --chat-id ID] [--teams-list]
|
|
1529
1643
|
[--lookup-user EMAIL] [--dm EMAIL --send MSG] [--json]
|
|
1530
1644
|
channels --team-id ID --list
|
|
1531
|
-
--team-id ID --
|
|
1645
|
+
--team-id ID --members
|
|
1646
|
+
--team-id ID --channel-id ID --messages [--limit N] [--expand-replies]
|
|
1647
|
+
--team-id ID --channel-id ID --replies MSG_ID [--limit N]
|
|
1532
1648
|
--team-id ID --channel-id ID --send MSG [--json]
|
|
1533
1649
|
onedrive [--path P] [--upload FILE [--dest PATH]] [--download ID [--output FILE]]
|
|
1534
1650
|
[--info ID] [--json]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.metrics-processor.d.ts","sourceRoot":"","sources":["../../../../../../src/agents/plugins/claude/session/processors/claude.metrics-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AACvH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.metrics-processor.d.ts","sourceRoot":"","sources":["../../../../../../src/agents/plugins/claude/session/processors/claude.metrics-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AACvH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAOpF,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,QAAQ,KAAK;IAEtB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAIxC,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAY5F;;OAEG;YACW,eAAe;IAqE7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiCjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA0NjC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,qBAAqB;CAS9B"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import { logger } from '../../../../../utils/logger.js';
|
|
14
14
|
import { extractClaudeFileOperation } from '../claude-file-operation.js';
|
|
15
15
|
import { extractNamedInvocations } from '../claude-named-invocations.js';
|
|
16
|
+
import { stripClear } from '../strip-clear.js';
|
|
16
17
|
export class MetricsProcessor {
|
|
17
18
|
name = 'metrics';
|
|
18
19
|
priority = 1; // Run first
|
|
@@ -107,7 +108,8 @@ export class MetricsProcessor {
|
|
|
107
108
|
/**
|
|
108
109
|
* Extract deltas from Claude messages
|
|
109
110
|
*/
|
|
110
|
-
extractDeltasFromMessages(
|
|
111
|
+
extractDeltasFromMessages(rawMessages, sessionId, agentName, processedIds, attachedUserPrompts) {
|
|
112
|
+
const messages = stripClear(rawMessages);
|
|
111
113
|
const deltas = [];
|
|
112
114
|
const messagesByUuid = new Map();
|
|
113
115
|
for (const msg of messages) {
|
|
@@ -143,9 +145,16 @@ export class MetricsProcessor {
|
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
|
-
|
|
148
|
+
let lastProcessedMsgIndex = -1;
|
|
149
|
+
for (let i = 0; i < messages.length; i++) {
|
|
150
|
+
const msg = messages[i];
|
|
151
|
+
if (msg.message?.role === 'assistant' && msg.message?.id && processedIds.has(msg.message.id)) {
|
|
152
|
+
lastProcessedMsgIndex = i;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
147
155
|
const userPromptsMap = new Map();
|
|
148
|
-
for (
|
|
156
|
+
for (let i = lastProcessedMsgIndex + 1; i < messages.length; i++) {
|
|
157
|
+
const msg = messages[i];
|
|
149
158
|
if (msg.message?.role === 'user' &&
|
|
150
159
|
msg.uuid &&
|
|
151
160
|
!this.isSyntheticUserPrompt(msg, messagesByUuid)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.metrics-processor.js","sourceRoot":"","sources":["../../../../../../src/agents/plugins/claude/session/processors/claude.metrics-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude.metrics-processor.js","sourceRoot":"","sources":["../../../../../../src/agents/plugins/claude/session/processors/claude.metrics-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns `messages` with everything up to and including the last /clear sentinel removed.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code writes the /clear sentinel into the NEW session file it creates on /clear — not the
|
|
5
|
+
* old one. So the sentinel is always the first meaningful entry in a post-/clear transcript. This
|
|
6
|
+
* function strips it (and any metadata before it) so it is never mistaken for a real user prompt.
|
|
7
|
+
*
|
|
8
|
+
* - No /clear → returns the original array unchanged.
|
|
9
|
+
* - /clear present → returns only messages that follow the last sentinel.
|
|
10
|
+
*/
|
|
11
|
+
export declare function stripClear(messages: unknown[]): unknown[];
|
|
12
|
+
//# sourceMappingURL=strip-clear.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-clear.d.ts","sourceRoot":"","sources":["../../../../../src/agents/plugins/claude/session/strip-clear.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAsBzD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const CLEAR_MARKER = '<command-name>/clear</command-name>';
|
|
2
|
+
/**
|
|
3
|
+
* Returns `messages` with everything up to and including the last /clear sentinel removed.
|
|
4
|
+
*
|
|
5
|
+
* Claude Code writes the /clear sentinel into the NEW session file it creates on /clear — not the
|
|
6
|
+
* old one. So the sentinel is always the first meaningful entry in a post-/clear transcript. This
|
|
7
|
+
* function strips it (and any metadata before it) so it is never mistaken for a real user prompt.
|
|
8
|
+
*
|
|
9
|
+
* - No /clear → returns the original array unchanged.
|
|
10
|
+
* - /clear present → returns only messages that follow the last sentinel.
|
|
11
|
+
*/
|
|
12
|
+
export function stripClear(messages) {
|
|
13
|
+
let start = 0;
|
|
14
|
+
for (let i = 0; i < messages.length; i++) {
|
|
15
|
+
const m = messages[i];
|
|
16
|
+
if (!m || typeof m !== 'object')
|
|
17
|
+
continue;
|
|
18
|
+
const r = m;
|
|
19
|
+
if (r.type !== 'user')
|
|
20
|
+
continue;
|
|
21
|
+
const content = r.message?.content;
|
|
22
|
+
const isClear = (typeof content === 'string' && content.includes(CLEAR_MARKER)) ||
|
|
23
|
+
(Array.isArray(content) &&
|
|
24
|
+
content.some((b) => b &&
|
|
25
|
+
typeof b === 'object' &&
|
|
26
|
+
b.type === 'text' &&
|
|
27
|
+
typeof b.text === 'string' &&
|
|
28
|
+
b.text.includes(CLEAR_MARKER)));
|
|
29
|
+
if (isClear)
|
|
30
|
+
start = i + 1;
|
|
31
|
+
}
|
|
32
|
+
return start === 0 ? messages : messages.slice(start);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=strip-clear.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-clear.js","sourceRoot":"","sources":["../../../../../src/agents/plugins/claude/session/strip-clear.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAE3D;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,QAAmB;IAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QAC1C,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QAChC,MAAM,OAAO,GAAI,CAAC,CAAC,OAA+C,EAAE,OAAO,CAAC;QAC5E,MAAM,OAAO,GACX,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC/D,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACrB,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;oBACD,OAAO,CAAC,KAAK,QAAQ;oBACpB,CAA6B,CAAC,IAAI,KAAK,MAAM;oBAC9C,OAAQ,CAA6B,CAAC,IAAI,KAAK,QAAQ;oBACrD,CAA6B,CAAC,IAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CACzE,CAAC,CAAC;QACP,IAAI,OAAO;YAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -34,6 +34,7 @@ export interface CodexSessionMeta {
|
|
|
34
34
|
/** turn_context record — may appear multiple times; last value wins for model extraction */
|
|
35
35
|
export interface CodexTurnContext {
|
|
36
36
|
cwd: string;
|
|
37
|
+
turn_id?: string;
|
|
37
38
|
approval_policy?: string;
|
|
38
39
|
sandbox_policy?: string;
|
|
39
40
|
model?: string;
|
|
@@ -50,10 +51,31 @@ export interface CodexResponseItem {
|
|
|
50
51
|
call_id?: string;
|
|
51
52
|
output?: string;
|
|
52
53
|
}
|
|
53
|
-
/** event_msg record — user messages
|
|
54
|
+
/** event_msg record — user messages, token metering, task lifecycle, collaboration */
|
|
54
55
|
export interface CodexEventMsg {
|
|
55
|
-
type: 'user_message' | string;
|
|
56
|
+
type: 'user_message' | 'token_count' | 'task_started' | 'task_complete' | 'agent_message' | 'collab_agent_spawn_end' | 'collab_waiting_end' | string;
|
|
56
57
|
message?: string;
|
|
58
|
+
turn_id?: string;
|
|
59
|
+
call_id?: string;
|
|
60
|
+
new_thread_id?: string;
|
|
61
|
+
new_agent_role?: string;
|
|
62
|
+
new_agent_nickname?: string;
|
|
63
|
+
info?: {
|
|
64
|
+
total_token_usage?: CodexTokenUsageBlock;
|
|
65
|
+
last_token_usage?: CodexTokenUsageBlock;
|
|
66
|
+
model_context_window?: number;
|
|
67
|
+
} | null;
|
|
68
|
+
agent_statuses?: Array<{
|
|
69
|
+
thread_id?: string;
|
|
70
|
+
agent_role?: string;
|
|
71
|
+
}>;
|
|
72
|
+
}
|
|
73
|
+
export interface CodexTokenUsageBlock {
|
|
74
|
+
input_tokens?: number;
|
|
75
|
+
cached_input_tokens?: number;
|
|
76
|
+
output_tokens?: number;
|
|
77
|
+
reasoning_output_tokens?: number;
|
|
78
|
+
total_tokens?: number;
|
|
57
79
|
}
|
|
58
80
|
/**
|
|
59
81
|
* Extended ParsedSession metadata specific to the Codex plugin.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-message-types.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-message-types.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;GAaG;AAIH,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC;IACtE,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,aAAa,CAAC;CAClF;AAED,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE;QACJ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,
|
|
1
|
+
{"version":3,"file":"codex-message-types.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-message-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-message-types.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-message-types.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-message-types.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-message-types.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AA4F9D;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAiB;IACrD,IACE,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAQ,QAAiC,CAAC,cAAc,KAAK,QAAQ,EACrE,CAAC;QACD,MAAM,IAAI,kBAAkB,CAAC,4DAA4D,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAQ,QAAiC,CAAC,cAAc,KAAK,QAAQ,CACtE,CAAC;AACJ,CAAC"}
|
|
@@ -10,10 +10,21 @@
|
|
|
10
10
|
* References:
|
|
11
11
|
* - https://developers.openai.com/codex/config-advanced
|
|
12
12
|
*/
|
|
13
|
+
/** Label used when discovering rollouts under the native Codex home. */
|
|
14
|
+
export type CodexDiscoveryAgentName = 'codex' | 'codemie-codex';
|
|
15
|
+
export interface CodexDiscoveryRoot {
|
|
16
|
+
sessionsPath: string;
|
|
17
|
+
agentName: CodexDiscoveryAgentName;
|
|
18
|
+
}
|
|
13
19
|
/**
|
|
14
20
|
* Returns the Codex home directory.
|
|
15
21
|
*/
|
|
16
22
|
export declare function getCodexHomePath(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Session roots scanned for analytics native discovery.
|
|
25
|
+
* Native `codex` uses ~/.codex/sessions; `codemie-codex` isolates state under ~/.codex/codemie/home.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getCodexDiscoverySessionRoots(): CodexDiscoveryRoot[];
|
|
17
28
|
/**
|
|
18
29
|
* Returns the Codex sessions base directory.
|
|
19
30
|
* Returns null if the directory does not exist (Codex not run yet).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.paths.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.paths.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAMH;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKzD"}
|
|
1
|
+
{"version":3,"file":"codex.paths.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.paths.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAMH,wEAAwE;AACxE,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,eAAe,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,uBAAuB,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,kBAAkB,EAAE,CA2BpE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKzD"}
|
|
@@ -20,6 +20,35 @@ import { existsSync } from 'fs';
|
|
|
20
20
|
export function getCodexHomePath() {
|
|
21
21
|
return process.env.CODEX_HOME || join(homedir(), '.codex');
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Session roots scanned for analytics native discovery.
|
|
25
|
+
* Native `codex` uses ~/.codex/sessions; `codemie-codex` isolates state under ~/.codex/codemie/home.
|
|
26
|
+
*/
|
|
27
|
+
export function getCodexDiscoverySessionRoots() {
|
|
28
|
+
const nativeHome = join(homedir(), '.codex');
|
|
29
|
+
const candidates = [
|
|
30
|
+
{ sessionsPath: join(nativeHome, 'sessions'), agentName: 'codex' },
|
|
31
|
+
{ sessionsPath: join(nativeHome, 'codemie', 'home', 'sessions'), agentName: 'codemie-codex' },
|
|
32
|
+
];
|
|
33
|
+
const codexHome = process.env.CODEX_HOME;
|
|
34
|
+
if (codexHome) {
|
|
35
|
+
const envSessions = join(codexHome, 'sessions');
|
|
36
|
+
if (!candidates.some((c) => c.sessionsPath === envSessions)) {
|
|
37
|
+
const agentName = codexHome.includes(`${join('.codex', 'codemie', 'home')}`) ? 'codemie-codex' : 'codex';
|
|
38
|
+
candidates.push({ sessionsPath: envSessions, agentName });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const seen = new Set();
|
|
42
|
+
const out = [];
|
|
43
|
+
for (const root of candidates) {
|
|
44
|
+
if (seen.has(root.sessionsPath) || !existsSync(root.sessionsPath)) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
seen.add(root.sessionsPath);
|
|
48
|
+
out.push(root);
|
|
49
|
+
}
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
23
52
|
/**
|
|
24
53
|
* Returns the Codex sessions base directory.
|
|
25
54
|
* Returns null if the directory does not exist (Codex not run yet).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.paths.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.paths.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.paths.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,7 @@ export declare class CodexSessionAdapter implements SessionAdapter {
|
|
|
40
40
|
* 5. Return sorted by mtime descending (newest first)
|
|
41
41
|
*/
|
|
42
42
|
discoverSessions(options?: SessionDiscoveryOptions): Promise<SessionDescriptor[]>;
|
|
43
|
+
private scanSessionsDirectory;
|
|
43
44
|
/**
|
|
44
45
|
* Parse a Codex rollout JSONL file into ParsedSession format.
|
|
45
46
|
*
|
|
@@ -50,6 +51,11 @@ export declare class CodexSessionAdapter implements SessionAdapter {
|
|
|
50
51
|
* - event_msg (user_message) → preserved in messages
|
|
51
52
|
*/
|
|
52
53
|
parseSessionFile(filePath: string, sessionId: string): Promise<ParsedSession>;
|
|
54
|
+
/**
|
|
55
|
+
* Load child rollout files referenced by spawn/wait collaboration so analytics
|
|
56
|
+
* can price sub-agent dispatches and include child token usage in the session total.
|
|
57
|
+
*/
|
|
58
|
+
private loadLinkedSubagentRollouts;
|
|
53
59
|
/**
|
|
54
60
|
* Process a Codex session file with all registered processors.
|
|
55
61
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.session.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.session.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAoB,MAAM,qCAAqC,CAAC;AACjH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.session.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.session.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAoB,MAAM,qCAAqC,CAAC;AACjH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmBzD,qBAAa,mBAAoB,YAAW,cAAc;IAI5C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,QAAQ,CAAC,SAAS,WAAW;IAC7B,OAAO,CAAC,UAAU,CAA0B;gBAEf,QAAQ,EAAE,aAAa;IAOpD,OAAO,CAAC,oBAAoB;IAM5B,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;YAMtC,gBAAgB;IA2B9B;;;;;;;;;OASG;IACG,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YA8BzE,qBAAqB;IAwGnC;;;;;;;;OAQG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsEnF;;;OAGG;YACW,0BAA0B;IAwCxC;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC;CAiE7B"}
|