@codemieai/code 0.0.19 → 0.0.20

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 (114) hide show
  1. package/dist/agents/core/AgentCLI.d.ts +4 -0
  2. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  3. package/dist/agents/core/AgentCLI.js +80 -0
  4. package/dist/agents/core/AgentCLI.js.map +1 -1
  5. package/dist/agents/core/BaseAgentAdapter.d.ts +5 -0
  6. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  7. package/dist/agents/core/BaseAgentAdapter.js +21 -4
  8. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  9. package/dist/agents/core/flag-transform.d.ts +37 -0
  10. package/dist/agents/core/flag-transform.d.ts.map +1 -0
  11. package/dist/agents/core/flag-transform.js +107 -0
  12. package/dist/agents/core/flag-transform.js.map +1 -0
  13. package/dist/agents/core/types.d.ts +50 -1
  14. package/dist/agents/core/types.d.ts.map +1 -1
  15. package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
  16. package/dist/agents/plugins/claude.plugin.js +10 -0
  17. package/dist/agents/plugins/claude.plugin.js.map +1 -1
  18. package/dist/agents/plugins/codemie-code.plugin.d.ts +1 -0
  19. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  20. package/dist/agents/plugins/codemie-code.plugin.js +4 -0
  21. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  22. package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
  23. package/dist/agents/plugins/codex.plugin.js +15 -8
  24. package/dist/agents/plugins/codex.plugin.js.map +1 -1
  25. package/dist/agents/plugins/deepagents.plugin.d.ts.map +1 -1
  26. package/dist/agents/plugins/deepagents.plugin.js +6 -0
  27. package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
  28. package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
  29. package/dist/agents/plugins/gemini.plugin.js +14 -8
  30. package/dist/agents/plugins/gemini.plugin.js.map +1 -1
  31. package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts +12 -0
  32. package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts.map +1 -0
  33. package/dist/cli/commands/doctor/checks/FrameworksCheck.js +103 -0
  34. package/dist/cli/commands/doctor/checks/FrameworksCheck.js.map +1 -0
  35. package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
  36. package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
  37. package/dist/cli/commands/doctor/checks/index.js +1 -0
  38. package/dist/cli/commands/doctor/checks/index.js.map +1 -1
  39. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  40. package/dist/cli/commands/doctor/index.js +3 -2
  41. package/dist/cli/commands/doctor/index.js.map +1 -1
  42. package/dist/cli/commands/install.d.ts.map +1 -1
  43. package/dist/cli/commands/install.js +79 -30
  44. package/dist/cli/commands/install.js.map +1 -1
  45. package/dist/cli/commands/list.d.ts.map +1 -1
  46. package/dist/cli/commands/list.js +55 -15
  47. package/dist/cli/commands/list.js.map +1 -1
  48. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  49. package/dist/cli/commands/uninstall.js +85 -34
  50. package/dist/cli/commands/uninstall.js.map +1 -1
  51. package/dist/cli/index.d.ts +1 -0
  52. package/dist/cli/index.d.ts.map +1 -1
  53. package/dist/cli/index.js +5 -3
  54. package/dist/cli/index.js.map +1 -1
  55. package/dist/frameworks/core/BaseFrameworkAdapter.d.ts +88 -0
  56. package/dist/frameworks/core/BaseFrameworkAdapter.d.ts.map +1 -0
  57. package/dist/frameworks/core/BaseFrameworkAdapter.js +156 -0
  58. package/dist/frameworks/core/BaseFrameworkAdapter.js.map +1 -0
  59. package/dist/frameworks/core/index.d.ts +9 -0
  60. package/dist/frameworks/core/index.d.ts.map +1 -0
  61. package/dist/frameworks/core/index.js +9 -0
  62. package/dist/frameworks/core/index.js.map +1 -0
  63. package/dist/frameworks/core/registry.d.ts +53 -0
  64. package/dist/frameworks/core/registry.d.ts.map +1 -0
  65. package/dist/frameworks/core/registry.js +82 -0
  66. package/dist/frameworks/core/registry.js.map +1 -0
  67. package/dist/frameworks/core/types.d.ts +130 -0
  68. package/dist/frameworks/core/types.d.ts.map +1 -0
  69. package/dist/frameworks/core/types.js +8 -0
  70. package/dist/frameworks/core/types.js.map +1 -0
  71. package/dist/frameworks/index.d.ts +9 -0
  72. package/dist/frameworks/index.d.ts.map +1 -0
  73. package/dist/frameworks/index.js +12 -0
  74. package/dist/frameworks/index.js.map +1 -0
  75. package/dist/frameworks/plugins/bmad.plugin.d.ts +46 -0
  76. package/dist/frameworks/plugins/bmad.plugin.d.ts.map +1 -0
  77. package/dist/frameworks/plugins/bmad.plugin.js +111 -0
  78. package/dist/frameworks/plugins/bmad.plugin.js.map +1 -0
  79. package/dist/frameworks/plugins/index.d.ts +8 -0
  80. package/dist/frameworks/plugins/index.d.ts.map +1 -0
  81. package/dist/frameworks/plugins/index.js +15 -0
  82. package/dist/frameworks/plugins/index.js.map +1 -0
  83. package/dist/frameworks/plugins/speckit.plugin.d.ts +59 -0
  84. package/dist/frameworks/plugins/speckit.plugin.d.ts.map +1 -0
  85. package/dist/frameworks/plugins/speckit.plugin.js +213 -0
  86. package/dist/frameworks/plugins/speckit.plugin.js.map +1 -0
  87. package/dist/metrics/config.d.ts.map +1 -1
  88. package/dist/metrics/config.js +7 -1
  89. package/dist/metrics/config.js.map +1 -1
  90. package/dist/metrics/sync/aggregator.d.ts +7 -1
  91. package/dist/metrics/sync/aggregator.d.ts.map +1 -1
  92. package/dist/metrics/sync/aggregator.js +14 -5
  93. package/dist/metrics/sync/aggregator.js.map +1 -1
  94. package/dist/metrics/sync/post-processor.d.ts +48 -0
  95. package/dist/metrics/sync/post-processor.d.ts.map +1 -0
  96. package/dist/metrics/sync/post-processor.js +147 -0
  97. package/dist/metrics/sync/post-processor.js.map +1 -0
  98. package/dist/metrics/sync/types.d.ts +2 -2
  99. package/dist/metrics/sync/types.d.ts.map +1 -1
  100. package/dist/metrics/types.d.ts +6 -0
  101. package/dist/metrics/types.d.ts.map +1 -1
  102. package/dist/proxy/plugins/metrics-sync.plugin.js +20 -9
  103. package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -1
  104. package/dist/utils/exec.d.ts +1 -0
  105. package/dist/utils/exec.d.ts.map +1 -1
  106. package/dist/utils/exec.js +23 -9
  107. package/dist/utils/exec.js.map +1 -1
  108. package/dist/utils/first-time.d.ts +3 -3
  109. package/dist/utils/first-time.d.ts.map +1 -1
  110. package/dist/utils/first-time.js +21 -4
  111. package/dist/utils/first-time.js.map +1 -1
  112. package/dist/utils/logger.js +2 -2
  113. package/dist/utils/logger.js.map +1 -1
  114. package/package.json +2 -1
@@ -0,0 +1,213 @@
1
+ /**
2
+ * SpecKit Framework Plugin
3
+ *
4
+ * Integration for GitHub's SpecKit framework - spec-driven development toolkit
5
+ * https://github.com/github/spec-kit
6
+ *
7
+ * Installation: uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
8
+ * Initialization: specify init <project> --ai <agent> --here --script <sh|ps> --force
9
+ */
10
+ import { platform } from 'os';
11
+ import { exec } from '../../utils/exec.js';
12
+ import { logger } from '../../utils/logger.js';
13
+ import { BaseFrameworkAdapter } from '../core/BaseFrameworkAdapter.js';
14
+ /**
15
+ * SpecKit Framework Metadata
16
+ */
17
+ export const SpeckitMetadata = {
18
+ name: 'speckit',
19
+ displayName: 'SpecKit',
20
+ description: 'GitHub\'s spec-driven development toolkit',
21
+ docsUrl: 'https://github.com/github/spec-kit',
22
+ repoUrl: 'https://github.com/github/spec-kit',
23
+ requiresInstallation: true,
24
+ installMethod: 'uv',
25
+ packageName: 'specify-cli',
26
+ cliCommand: 'specify',
27
+ isAgentSpecific: true,
28
+ supportedAgents: ['claude', 'codex', 'gemini'], // Per tech-spec: not supported for codemie-code, deepagents
29
+ initDirectory: '.specify' // SpecKit creates .specify/ directory, not .speckit/
30
+ };
31
+ /**
32
+ * Agent name mapping: CodeMie → SpecKit
33
+ */
34
+ const AGENT_MAPPING = {
35
+ claude: 'claude',
36
+ codex: 'codex',
37
+ gemini: 'gemini'
38
+ };
39
+ /**
40
+ * SpecKit Framework Plugin
41
+ */
42
+ export class SpeckitPlugin extends BaseFrameworkAdapter {
43
+ constructor() {
44
+ super(SpeckitMetadata);
45
+ }
46
+ /**
47
+ * Install SpecKit CLI via uv
48
+ */
49
+ async install() {
50
+ this.logInstallStart();
51
+ try {
52
+ // Check if uv is installed
53
+ const hasUv = await this.checkUvInstalled();
54
+ if (!hasUv) {
55
+ throw new Error('uv is not installed. Install it with: curl -LsSf https://astral.sh/uv/install.sh | sh');
56
+ }
57
+ // Check if git is installed (required by uv tool install --from git+...)
58
+ const hasGit = await this.checkGitInstalled();
59
+ if (!hasGit) {
60
+ throw new Error('git is not installed. SpecKit installation requires git.');
61
+ }
62
+ // Install via uv tool install
63
+ logger.info('Installing SpecKit via uv (this may take a minute)...');
64
+ await exec('uv', ['tool', 'install', 'specify-cli', '--from', 'git+https://github.com/github/spec-kit.git'], { timeout: 120000 } // 2 minutes timeout for git clone + install
65
+ );
66
+ const version = await this.getVersion();
67
+ this.logInstallSuccess(version || undefined);
68
+ }
69
+ catch (error) {
70
+ this.logInstallError(error);
71
+ throw error;
72
+ }
73
+ }
74
+ /**
75
+ * Uninstall SpecKit CLI via uv
76
+ */
77
+ async uninstall() {
78
+ this.logUninstallStart();
79
+ try {
80
+ // Check if uv is installed
81
+ const hasUv = await this.checkUvInstalled();
82
+ if (!hasUv) {
83
+ throw new Error('uv is not installed. Cannot uninstall SpecKit.');
84
+ }
85
+ // Uninstall via uv tool uninstall
86
+ await exec('uv', ['tool', 'uninstall', 'specify-cli'], { timeout: 30000 });
87
+ this.logUninstallSuccess();
88
+ }
89
+ catch (error) {
90
+ this.logUninstallError(error);
91
+ throw error;
92
+ }
93
+ }
94
+ /**
95
+ * Initialize SpecKit in current directory
96
+ */
97
+ async init(agentName, options) {
98
+ this.assertAgentSupported(agentName);
99
+ const cwd = options?.cwd || process.cwd();
100
+ const force = options?.force ?? false;
101
+ // Check if already initialized
102
+ if (!force && (await this.isInitialized(cwd))) {
103
+ throw new Error(`SpecKit already initialized in ${cwd} (.specify/ exists). Use --force to re-initialize.`);
104
+ }
105
+ // Ensure SpecKit CLI is installed
106
+ const installed = await this.isInstalled();
107
+ let specifyCommand = 'specify';
108
+ if (!installed) {
109
+ logger.warn('SpecKit CLI not found. Installing...');
110
+ await this.install();
111
+ // After installation, use full path since PATH may not be updated
112
+ const { homedir } = await import('os');
113
+ const { join } = await import('path');
114
+ specifyCommand = join(homedir(), '.local', 'bin', 'specify');
115
+ }
116
+ this.logInitStart(agentName);
117
+ try {
118
+ // Get framework agent name
119
+ const frameworkAgent = this.getAgentMapping(agentName);
120
+ if (!frameworkAgent) {
121
+ throw new Error(`Agent '${agentName}' is not supported by SpecKit`);
122
+ }
123
+ // Detect OS for script type
124
+ const scriptType = this.detectScriptType();
125
+ // Build specify init command
126
+ // Note: When using --here, we don't provide a project name
127
+ const args = [
128
+ 'init',
129
+ '--here', // Initialize in current directory
130
+ '--ai',
131
+ frameworkAgent,
132
+ '--script',
133
+ scriptType,
134
+ '--force' // Always force to avoid interactive prompts
135
+ ];
136
+ // Run specify init (use full path if just installed)
137
+ await exec(specifyCommand, args, { cwd, timeout: 60000 });
138
+ this.logInitSuccess(cwd);
139
+ }
140
+ catch (error) {
141
+ this.logInitError(error);
142
+ throw error;
143
+ }
144
+ }
145
+ /**
146
+ * Get agent name mapping
147
+ */
148
+ getAgentMapping(codemieAgentName) {
149
+ return AGENT_MAPPING[codemieAgentName] || null;
150
+ }
151
+ /**
152
+ * Override: SpecKit doesn't support --version
153
+ * Check installation via `specify --help` instead
154
+ */
155
+ async isInstalled() {
156
+ try {
157
+ const result = await exec('specify', ['--help'], { timeout: 5000 });
158
+ return result.code === 0;
159
+ }
160
+ catch {
161
+ return false;
162
+ }
163
+ }
164
+ /**
165
+ * Override: SpecKit uses `specify version` command instead of --version flag
166
+ */
167
+ async getVersion() {
168
+ try {
169
+ const result = await exec('specify', ['version'], { timeout: 5000 });
170
+ if (result.code === 0 && result.stdout) {
171
+ // Extract version from output
172
+ const match = result.stdout.match(/Version:\s*(\S+)/i) || result.stdout.match(/(\d+\.\d+\.\d+)/);
173
+ return match ? match[1] : null;
174
+ }
175
+ return null;
176
+ }
177
+ catch {
178
+ return null;
179
+ }
180
+ }
181
+ /**
182
+ * Check if uv is installed
183
+ */
184
+ async checkUvInstalled() {
185
+ try {
186
+ await exec('uv', ['--version'], { timeout: 2000 });
187
+ return true;
188
+ }
189
+ catch {
190
+ return false;
191
+ }
192
+ }
193
+ /**
194
+ * Check if git is installed
195
+ */
196
+ async checkGitInstalled() {
197
+ try {
198
+ await exec('git', ['--version'], { timeout: 2000 });
199
+ return true;
200
+ }
201
+ catch {
202
+ return false;
203
+ }
204
+ }
205
+ /**
206
+ * Detect script type based on OS
207
+ */
208
+ detectScriptType() {
209
+ const os = platform();
210
+ return os === 'win32' ? 'ps' : 'sh';
211
+ }
212
+ }
213
+ //# sourceMappingURL=speckit.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speckit.plugin.js","sourceRoot":"","sources":["../../../src/frameworks/plugins/speckit.plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/metrics/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAqC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/metrics/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aA4C5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D"}
@@ -38,7 +38,13 @@ export const METRICS_CONFIG = {
38
38
  */
39
39
  watermark: {
40
40
  ttl: 24 * 60 * 60 * 1000 // 24 hours
41
- }
41
+ },
42
+ /**
43
+ * Post-processing configuration
44
+ * Global default: exclude errors from shell tools (contains sensitive command output)
45
+ * Individual agents can override this via their metricsConfig.excludeErrorsFromTools
46
+ */
47
+ excludeErrorsFromTools: ['Bash', 'Execute', 'Shell']
42
48
  };
43
49
  /**
44
50
  * Storage paths
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/metrics/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C;;OAEG;IACH,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,KAAK,YAAY;IAExD;;;OAGG;IACH,SAAS,EAAE;QACT,MAAM,EAAE,GAAG;QACX,8BAA8B;KAC/B;IAED;;OAEG;IACH,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,sBAAsB;KAC7D;IAED;;OAEG;IACH,UAAU,EAAE;QACV,YAAY,EAAE,IAAI,EAAE,sBAAsB;QAC1C,aAAa,EAAE,IAAI,CAAC,gCAAgC;KACrD;IAED;;OAEG;IACH,SAAS,EAAE;QACT,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW;KACrC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;IACnE,MAAM,IAAI,GAAG,GAAG,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,gBAAgB,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/metrics/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C;;OAEG;IACH,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,KAAK,YAAY;IAExD;;;OAGG;IACH,SAAS,EAAE;QACT,MAAM,EAAE,GAAG;QACX,8BAA8B;KAC/B;IAED;;OAEG;IACH,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,sBAAsB;KAC7D;IAED;;OAEG;IACH,UAAU,EAAE;QACV,YAAY,EAAE,IAAI,EAAE,sBAAsB;QAC1C,aAAa,EAAE,IAAI,CAAC,gCAAgC;KACrD;IAED;;OAEG;IACH,SAAS,EAAE;QACT,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW;KACrC;IAED;;;;OAIG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;IACnE,MAAM,IAAI,GAAG,GAAG,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,gBAAgB,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,cAAc,CAAC,GAAG,aAAa,CAAC,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;AACvE,CAAC"}
@@ -6,9 +6,15 @@
6
6
  */
7
7
  import type { MetricDelta, MetricsSession } from '../types.js';
8
8
  import type { SessionMetric } from './types.js';
9
+ import type { AgentMetricsConfig } from '../../agents/core/types.js';
9
10
  /**
10
11
  * Aggregate pending deltas into session metrics grouped by branch
11
12
  * Returns one metric per branch to prevent mixing metrics between branches
13
+ *
14
+ * @param deltas - Metric deltas to aggregate
15
+ * @param session - Metrics session information
16
+ * @param version - CLI version
17
+ * @param agentConfig - Optional agent-specific metrics configuration (for post-processing)
12
18
  */
13
- export declare function aggregateDeltas(deltas: MetricDelta[], session: MetricsSession, version: string): SessionMetric[];
19
+ export declare function aggregateDeltas(deltas: MetricDelta[], session: MetricsSession, version: string, agentConfig?: AgentMetricsConfig): SessionMetric[];
14
20
  //# sourceMappingURL=aggregator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,YAAY,CAAC;AAGjE;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EAAE,EACrB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,GACd,aAAa,EAAE,CAmCjB"}
1
+ {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAInE;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EAAE,EACrB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,kBAAkB,GAC/B,aAAa,EAAE,CAuCjB"}
@@ -5,11 +5,17 @@
5
5
  * Reuses patterns from analytics system.
6
6
  */
7
7
  import { logger } from '../../utils/logger.js';
8
+ import { postProcessMetric } from './post-processor.js';
8
9
  /**
9
10
  * Aggregate pending deltas into session metrics grouped by branch
10
11
  * Returns one metric per branch to prevent mixing metrics between branches
12
+ *
13
+ * @param deltas - Metric deltas to aggregate
14
+ * @param session - Metrics session information
15
+ * @param version - CLI version
16
+ * @param agentConfig - Optional agent-specific metrics configuration (for post-processing)
11
17
  */
12
- export function aggregateDeltas(deltas, session, version) {
18
+ export function aggregateDeltas(deltas, session, version, agentConfig) {
13
19
  logger.debug(`[aggregator] Aggregating ${deltas.length} deltas for session ${session.sessionId}`);
14
20
  // Group deltas by branch
15
21
  const deltasByBranch = new Map();
@@ -28,10 +34,13 @@ export function aggregateDeltas(deltas, session, version) {
28
34
  // Build attributes from deltas for this branch
29
35
  const attributes = buildSessionAttributes(branchDeltas, session, version, branch);
30
36
  // Create session metric for this branch
31
- metrics.push({
37
+ const metric = {
32
38
  name: 'codemie_cli_usage_total',
33
39
  attributes
34
- });
40
+ };
41
+ // Post-process metric to sanitize sensitive data
42
+ const sanitized = postProcessMetric(metric, agentConfig);
43
+ metrics.push(sanitized);
35
44
  }
36
45
  return metrics;
37
46
  }
@@ -142,9 +151,9 @@ function buildSessionAttributes(deltas, session, version, branch) {
142
151
  agent: session.agentName,
143
152
  agent_version: version,
144
153
  llm_model: primaryModel || 'unknown',
145
- project: session.workingDirectory,
154
+ repository: session.workingDirectory,
146
155
  session_id: session.sessionId,
147
- git_branch: branch,
156
+ branch: branch,
148
157
  // Interaction Metrics
149
158
  total_user_prompts: userPromptCount,
150
159
  // Token Metrics
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../src/metrics/sync/aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../src/metrics/sync/aggregator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Metrics Post-Processor
3
+ *
4
+ * Sanitizes metrics before sending to API:
5
+ * 1. Truncates project paths to prevent leaking sensitive directory info
6
+ * 2. Filters out tool errors based on agent configuration
7
+ * 3. Escapes/sanitizes error messages to prevent JSON issues
8
+ */
9
+ import type { SessionMetric } from './types.js';
10
+ import type { AgentMetricsConfig } from '../../agents/core/types.js';
11
+ /**
12
+ * Post-process a session metric to sanitize sensitive data
13
+ *
14
+ * @param metric - The metric to sanitize
15
+ * @param agentConfig - Optional agent-specific configuration (overrides global defaults)
16
+ */
17
+ export declare function postProcessMetric(metric: SessionMetric, agentConfig?: AgentMetricsConfig): SessionMetric;
18
+ /**
19
+ * Truncate project path to parent/current format
20
+ * Prevents leaking full directory structure
21
+ *
22
+ * Uses path.normalize() to handle mixed separators and edge cases
23
+ *
24
+ * @example
25
+ * '/Users/Nikita/repos/EPMCDME/codemie-ai/codemie-code' → 'codemie-ai/codemie-code'
26
+ * 'C:\\Users\\Dev\\projects\\my-app' → 'projects/my-app'
27
+ * 'C:/Users/Name\\project' → 'Name/project' (mixed separators)
28
+ * '/' → 'unknown' (root)
29
+ * './parent/current' → 'parent/current' (relative)
30
+ */
31
+ export declare function truncateProjectPath(fullPath: string): string;
32
+ /**
33
+ * Filter and sanitize errors based on agent configuration
34
+ * Removes errors from excluded tools and sanitizes remaining errors
35
+ *
36
+ * @param errors - Map of tool names to error message arrays
37
+ * @param agentConfig - Optional agent-specific configuration (overrides global defaults)
38
+ */
39
+ export declare function filterAndSanitizeErrors(errors: Record<string, string[]>, agentConfig?: AgentMetricsConfig): Record<string, string[]>;
40
+ /**
41
+ * Sanitize error message
42
+ * 1. Strip ANSI color codes using strip-ansi library
43
+ * 2. Normalize newlines
44
+ * 3. Truncate at last complete line under 1000 chars (better UX)
45
+ * 4. Escape for JSON safety
46
+ */
47
+ export declare function sanitizeError(error: string): string;
48
+ //# sourceMappingURL=post-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-processor.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/post-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAInE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,aAAa,CA2Bf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqC5D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAChC,WAAW,CAAC,EAAE,kBAAkB,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAuB1B;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgCnD"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Metrics Post-Processor
3
+ *
4
+ * Sanitizes metrics before sending to API:
5
+ * 1. Truncates project paths to prevent leaking sensitive directory info
6
+ * 2. Filters out tool errors based on agent configuration
7
+ * 3. Escapes/sanitizes error messages to prevent JSON issues
8
+ */
9
+ import path from 'path';
10
+ import stripAnsi from 'strip-ansi';
11
+ import { METRICS_CONFIG } from '../config.js';
12
+ import { logger } from '../../utils/logger.js';
13
+ /**
14
+ * Post-process a session metric to sanitize sensitive data
15
+ *
16
+ * @param metric - The metric to sanitize
17
+ * @param agentConfig - Optional agent-specific configuration (overrides global defaults)
18
+ */
19
+ export function postProcessMetric(metric, agentConfig) {
20
+ logger.debug(`[post-processor] Sanitizing metric`);
21
+ // Clone to avoid mutation
22
+ const sanitized = {
23
+ ...metric,
24
+ attributes: { ...metric.attributes }
25
+ };
26
+ // 1. Truncate repository path
27
+ sanitized.attributes.repository = truncateProjectPath(sanitized.attributes.repository);
28
+ // 2. Filter and sanitize errors
29
+ if (sanitized.attributes.had_errors && sanitized.attributes.errors) {
30
+ sanitized.attributes.errors = filterAndSanitizeErrors(sanitized.attributes.errors, agentConfig);
31
+ // If all errors were filtered, update had_errors flag
32
+ if (Object.keys(sanitized.attributes.errors).length === 0) {
33
+ sanitized.attributes.had_errors = false;
34
+ delete sanitized.attributes.errors;
35
+ }
36
+ }
37
+ return sanitized;
38
+ }
39
+ /**
40
+ * Truncate project path to parent/current format
41
+ * Prevents leaking full directory structure
42
+ *
43
+ * Uses path.normalize() to handle mixed separators and edge cases
44
+ *
45
+ * @example
46
+ * '/Users/Nikita/repos/EPMCDME/codemie-ai/codemie-code' → 'codemie-ai/codemie-code'
47
+ * 'C:\\Users\\Dev\\projects\\my-app' → 'projects/my-app'
48
+ * 'C:/Users/Name\\project' → 'Name/project' (mixed separators)
49
+ * '/' → 'unknown' (root)
50
+ * './parent/current' → 'parent/current' (relative)
51
+ */
52
+ export function truncateProjectPath(fullPath) {
53
+ // Handle empty/null/undefined
54
+ if (!fullPath || typeof fullPath !== 'string' || fullPath.trim() === '') {
55
+ return 'unknown';
56
+ }
57
+ try {
58
+ // Normalize path (handles mixed separators on Windows)
59
+ const normalized = path.normalize(fullPath);
60
+ // Split and filter empty segments and current directory markers
61
+ const segments = normalized.split(path.sep).filter(s => s && s !== '.');
62
+ // Handle edge cases
63
+ if (segments.length === 0) {
64
+ return 'unknown'; // Empty path after normalization
65
+ }
66
+ if (segments.length === 1) {
67
+ // Single segment (e.g., root '/', drive 'C:', or single folder)
68
+ const segment = segments[0];
69
+ // Check if it's a root/drive indicator
70
+ if (segment === '/' || segment.match(/^[A-Za-z]:$/)) {
71
+ return 'unknown';
72
+ }
73
+ return segment;
74
+ }
75
+ // Take last 2 segments (parent/current)
76
+ const last2 = segments.slice(-2);
77
+ // Always use forward slash for API consistency
78
+ return last2.join('/');
79
+ }
80
+ catch (error) {
81
+ logger.warn(`[post-processor] Failed to truncate path "${fullPath}": ${error}`);
82
+ return 'unknown';
83
+ }
84
+ }
85
+ /**
86
+ * Filter and sanitize errors based on agent configuration
87
+ * Removes errors from excluded tools and sanitizes remaining errors
88
+ *
89
+ * @param errors - Map of tool names to error message arrays
90
+ * @param agentConfig - Optional agent-specific configuration (overrides global defaults)
91
+ */
92
+ export function filterAndSanitizeErrors(errors, agentConfig) {
93
+ // Get excluded tools from agent config or fall back to global defaults
94
+ const excludedTools = agentConfig?.excludeErrorsFromTools
95
+ || METRICS_CONFIG.excludeErrorsFromTools
96
+ || [];
97
+ logger.debug(`[post-processor] Filtering errors, excluded tools: [${excludedTools.join(', ')}]`);
98
+ const filtered = {};
99
+ for (const [toolName, errorMessages] of Object.entries(errors)) {
100
+ // Skip errors from excluded tools
101
+ if (excludedTools.includes(toolName)) {
102
+ logger.debug(`[post-processor] Excluding errors from tool: ${toolName}`);
103
+ continue;
104
+ }
105
+ // Sanitize error messages
106
+ const sanitizedMessages = errorMessages.map(sanitizeError);
107
+ filtered[toolName] = sanitizedMessages;
108
+ }
109
+ return filtered;
110
+ }
111
+ /**
112
+ * Sanitize error message
113
+ * 1. Strip ANSI color codes using strip-ansi library
114
+ * 2. Normalize newlines
115
+ * 3. Truncate at last complete line under 1000 chars (better UX)
116
+ * 4. Escape for JSON safety
117
+ */
118
+ export function sanitizeError(error) {
119
+ // 1. Strip ALL ANSI escape codes (handles OSC, CSI, etc.)
120
+ let sanitized = stripAnsi(error);
121
+ // 2. Normalize newlines (CRLF → LF)
122
+ sanitized = sanitized.replace(/\r\n/g, '\n');
123
+ // 3. Truncate at last complete line under 1000 chars (before escaping)
124
+ const maxLength = 1000;
125
+ if (sanitized.length > maxLength) {
126
+ // Find last newline before maxLength
127
+ const substring = sanitized.substring(0, maxLength);
128
+ const lastNewline = substring.lastIndexOf('\n');
129
+ // Use last complete line if it's past 50% threshold
130
+ if (lastNewline > maxLength * 0.5) {
131
+ sanitized = substring.substring(0, lastNewline) + '\n...[truncated]';
132
+ }
133
+ else {
134
+ // Otherwise hard truncate
135
+ sanitized = substring + '...[truncated]';
136
+ }
137
+ }
138
+ // 4. Escape for JSON safety
139
+ // IMPORTANT: Escape backslashes FIRST before other escape sequences
140
+ sanitized = sanitized
141
+ .replace(/\\/g, '\\\\') // Escape backslashes first
142
+ .replace(/"/g, '\\"') // Escape quotes
143
+ .replace(/\n/g, '\\n') // Escape newlines
144
+ .replace(/\t/g, '\\t'); // Escape tabs
145
+ return sanitized;
146
+ }
147
+ //# sourceMappingURL=post-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-processor.js","sourceRoot":"","sources":["../../../src/metrics/sync/post-processor.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,9 @@ export interface SessionAttributes {
20
20
  agent: string;
21
21
  agent_version: string;
22
22
  llm_model: string;
23
- project: string;
23
+ repository: string;
24
24
  session_id: string;
25
- git_branch: string;
25
+ branch: string;
26
26
  total_user_prompts: number;
27
27
  total_input_tokens: number;
28
28
  total_output_tokens: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAGnB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6BAA6B,EAAE,MAAM,CAAC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IAGpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IAGf,kBAAkB,EAAE,MAAM,CAAC;IAG3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6BAA6B,EAAE,MAAM,CAAC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IAGpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -304,5 +304,11 @@ export interface MetricsConfig {
304
304
  watermark: {
305
305
  ttl: number;
306
306
  };
307
+ /**
308
+ * Global list of tool names whose errors should be excluded from metrics
309
+ * Agents can override this via their metricsConfig.excludeErrorsFromTools
310
+ * Example: ['Bash', 'Execute', 'Shell']
311
+ */
312
+ excludeErrorsFromTools?: string[];
307
313
  }
308
314
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"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"}