@codemieai/code 0.0.24 → 0.0.26
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/README.md +35 -23
- package/dist/agents/codemie-code/config.d.ts.map +1 -1
- package/dist/agents/codemie-code/config.js +7 -3
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/tools/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/tools/index.js +6 -5
- package/dist/agents/codemie-code/tools/index.js.map +1 -1
- package/dist/agents/codemie-code/types.d.ts +4 -0
- package/dist/agents/codemie-code/types.d.ts.map +1 -1
- package/dist/agents/codemie-code/types.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +21 -0
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +54 -3
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +135 -21
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/BaseMetricsAdapter.d.ts +88 -6
- package/dist/agents/core/BaseMetricsAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseMetricsAdapter.js +174 -16
- package/dist/agents/core/BaseMetricsAdapter.js.map +1 -1
- package/dist/agents/core/lifecycle-helpers.d.ts +111 -0
- package/dist/agents/core/lifecycle-helpers.d.ts.map +1 -0
- package/dist/agents/core/lifecycle-helpers.js +189 -0
- package/dist/agents/core/lifecycle-helpers.js.map +1 -0
- package/dist/agents/core/metrics/MetricsOrchestrator.d.ts.map +1 -0
- package/dist/{metrics → agents/core/metrics}/MetricsOrchestrator.js +76 -12
- package/dist/agents/core/metrics/MetricsOrchestrator.js.map +1 -0
- package/dist/agents/core/metrics/core/DeltaWriter.d.ts.map +1 -0
- package/dist/{metrics → agents/core/metrics}/core/DeltaWriter.js +3 -3
- package/dist/agents/core/metrics/core/DeltaWriter.js.map +1 -0
- package/dist/agents/core/metrics/core/FileSnapshotter.d.ts.map +1 -0
- package/dist/{metrics → agents/core/metrics}/core/FileSnapshotter.js +1 -1
- package/dist/agents/core/metrics/core/FileSnapshotter.js.map +1 -0
- package/dist/agents/core/metrics/core/SessionCorrelator.d.ts.map +1 -0
- package/dist/agents/core/metrics/core/SessionCorrelator.js +157 -0
- package/dist/agents/core/metrics/core/SessionCorrelator.js.map +1 -0
- package/dist/agents/core/metrics/core/SyncStateManager.d.ts.map +1 -0
- package/dist/{metrics → agents/core/metrics}/core/SyncStateManager.js +2 -2
- package/dist/agents/core/metrics/core/SyncStateManager.js.map +1 -0
- package/dist/agents/core/metrics/index.d.ts.map +1 -0
- package/dist/agents/core/metrics/index.js.map +1 -0
- package/dist/agents/core/metrics/session/SessionStore.d.ts.map +1 -0
- package/dist/{metrics → agents/core/metrics}/session/SessionStore.js +3 -3
- package/dist/agents/core/metrics/session/SessionStore.js.map +1 -0
- package/dist/agents/core/metrics/types.d.ts.map +1 -0
- package/dist/agents/core/metrics/types.js.map +1 -0
- package/dist/{metrics/config.d.ts → agents/core/metrics-config.d.ts} +1 -1
- package/dist/agents/core/metrics-config.d.ts.map +1 -0
- package/dist/{metrics/config.js → agents/core/metrics-config.js} +5 -3
- package/dist/agents/core/metrics-config.js.map +1 -0
- package/dist/agents/core/types.d.ts +112 -6
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude.metrics.d.ts +4 -2
- package/dist/agents/plugins/claude.metrics.d.ts.map +1 -1
- package/dist/agents/plugins/claude.metrics.js +33 -11
- package/dist/agents/plugins/claude.metrics.js.map +1 -1
- package/dist/agents/plugins/claude.plugin.d.ts +1 -1
- package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +3 -33
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +12 -5
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +133 -33
- package/dist/agents/plugins/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini.metrics.d.ts +10 -3
- package/dist/agents/plugins/gemini.metrics.d.ts.map +1 -1
- package/dist/agents/plugins/gemini.metrics.js +69 -17
- package/dist/agents/plugins/gemini.metrics.js.map +1 -1
- package/dist/agents/plugins/gemini.plugin.d.ts +1 -1
- package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +15 -24
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/history-parser.d.ts +1 -1
- package/dist/agents/plugins/history-parser.d.ts.map +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/types.d.ts +2 -2
- package/dist/cli/commands/analytics/types.d.ts.map +1 -1
- package/dist/cli/commands/analytics/types.js +1 -1
- package/dist/cli/commands/profile/auth.d.ts +5 -0
- package/dist/cli/commands/profile/auth.d.ts.map +1 -0
- package/dist/cli/commands/profile/auth.js +120 -0
- package/dist/cli/commands/profile/auth.js.map +1 -0
- package/dist/cli/commands/{profile.d.ts → profile/index.d.ts} +1 -1
- package/dist/cli/commands/profile/index.d.ts.map +1 -0
- package/dist/cli/commands/{profile.js → profile/index.js} +81 -46
- package/dist/cli/commands/profile/index.js.map +1 -0
- package/dist/cli/index.js +1 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/providers/core/auth-validation.d.ts +20 -0
- package/dist/providers/core/auth-validation.d.ts.map +1 -0
- package/dist/providers/core/auth-validation.js +27 -0
- package/dist/providers/core/auth-validation.js.map +1 -0
- package/dist/providers/core/types.d.ts +51 -0
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/index.d.ts +3 -0
- package/dist/providers/plugins/sso/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/index.js +4 -0
- package/dist/providers/plugins/sso/index.js.map +1 -1
- package/dist/{metrics/sync/jsonl-writer.d.ts → providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts} +2 -2
- package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts.map +1 -0
- package/dist/{metrics/sync/jsonl-writer.js → providers/plugins/sso/metrics/sync/sso.jsonl-writer.js} +2 -2
- package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.js.map +1 -0
- package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts +62 -0
- package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts.map +1 -0
- package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js +157 -0
- package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js.map +1 -0
- package/dist/{metrics/sync/aggregator.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-aggregator.d.ts} +4 -4
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.d.ts.map +1 -0
- package/dist/{metrics/sync/aggregator.js → providers/plugins/sso/metrics/sync/sso.metrics-aggregator.js} +5 -4
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.js.map +1 -0
- package/dist/{metrics/sync/MetricsApiClient.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts} +2 -2
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts.map +1 -0
- package/dist/{metrics/sync/MetricsApiClient.js → providers/plugins/sso/metrics/sync/sso.metrics-api-client.js} +9 -5
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.js.map +1 -0
- package/dist/{metrics/sync/post-processor.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-post-processor.d.ts} +3 -3
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.d.ts.map +1 -0
- package/dist/{metrics/sync/post-processor.js → providers/plugins/sso/metrics/sync/sso.metrics-post-processor.js} +3 -3
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.js.map +1 -0
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.d.ts +104 -0
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.d.ts.map +1 -0
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js +258 -0
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js.map +1 -0
- package/dist/{proxy/plugins/metrics-sync.plugin.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts} +9 -6
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts.map +1 -0
- package/dist/{proxy/plugins/metrics-sync.plugin.js → providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.js} +42 -60
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.js.map +1 -0
- package/dist/{metrics/sync/types.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-types.d.ts} +6 -2
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.d.ts.map +1 -0
- package/dist/{metrics/sync/types.js → providers/plugins/sso/metrics/sync/sso.metrics-types.js} +1 -1
- package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/endpoint-blocker.plugin.d.ts.map +1 -0
- package/dist/{proxy → providers/plugins/sso/proxy}/plugins/endpoint-blocker.plugin.js +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/endpoint-blocker.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts.map +1 -0
- package/dist/{proxy → providers/plugins/sso/proxy}/plugins/header-injection.plugin.js +2 -2
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -0
- package/dist/{proxy → providers/plugins/sso/proxy}/plugins/index.d.ts +2 -2
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -0
- package/dist/{proxy → providers/plugins/sso/proxy}/plugins/index.js +4 -3
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/logging.plugin.d.ts.map +1 -0
- package/dist/{proxy → providers/plugins/sso/proxy}/plugins/logging.plugin.js +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/logging.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/registry.d.ts.map +1 -0
- package/dist/{proxy → providers/plugins/sso/proxy}/plugins/registry.js +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/registry.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
- package/dist/{proxy → providers/plugins/sso/proxy}/plugins/sso-auth.plugin.js +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js.map +1 -0
- package/dist/{proxy → providers/plugins/sso/proxy}/plugins/types.d.ts +4 -4
- package/dist/providers/plugins/sso/proxy/plugins/types.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/types.js.map +1 -0
- package/dist/{proxy/errors.d.ts → providers/plugins/sso/proxy/proxy-errors.d.ts} +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-errors.d.ts.map +1 -0
- package/dist/{proxy/errors.js → providers/plugins/sso/proxy/proxy-errors.js} +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-errors.js.map +1 -0
- package/dist/{proxy/http-client.d.ts → providers/plugins/sso/proxy/proxy-http-client.d.ts} +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts.map +1 -0
- package/dist/{proxy/http-client.js → providers/plugins/sso/proxy/proxy-http-client.js} +3 -3
- package/dist/providers/plugins/sso/proxy/proxy-http-client.js.map +1 -0
- package/dist/{proxy/types.d.ts → providers/plugins/sso/proxy/proxy-types.d.ts} +2 -2
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -0
- package/dist/{proxy/types.js → providers/plugins/sso/proxy/proxy-types.js} +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-types.js.map +1 -0
- package/dist/{utils/codemie-proxy.d.ts → providers/plugins/sso/proxy/sso.proxy.d.ts} +3 -3
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -0
- package/dist/{utils/codemie-proxy.js → providers/plugins/sso/proxy/sso.proxy.js} +11 -11
- package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -0
- package/dist/providers/plugins/sso/sso.auth.d.ts +7 -3
- package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.auth.js +40 -7
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
- package/dist/providers/plugins/sso/sso.health.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.health.js +6 -4
- package/dist/providers/plugins/sso/sso.health.js.map +1 -1
- package/dist/providers/plugins/sso/sso.models.d.ts +6 -0
- package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.models.js +15 -6
- package/dist/providers/plugins/sso/sso.models.js.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js +116 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
- package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.template.js +51 -0
- package/dist/providers/plugins/sso/sso.template.js.map +1 -1
- package/dist/utils/credential-store.d.ts +9 -3
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/credential-store.js +43 -18
- package/dist/utils/credential-store.js.map +1 -1
- package/dist/utils/exec.d.ts +1 -1
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +9 -5
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/first-time.js +1 -1
- package/dist/utils/first-time.js.map +1 -1
- package/dist/{metrics/utils → utils}/git.d.ts +1 -1
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/{metrics/utils → utils}/git.js +2 -2
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/npm.d.ts.map +1 -1
- package/dist/utils/npm.js +16 -5
- package/dist/utils/npm.js.map +1 -1
- package/dist/utils/path-utils.d.ts +195 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +267 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/utils/profile-display.d.ts +41 -0
- package/dist/utils/profile-display.d.ts.map +1 -0
- package/dist/utils/profile-display.js +90 -0
- package/dist/utils/profile-display.js.map +1 -0
- package/dist/utils/profile.d.ts +12 -1
- package/dist/utils/profile.d.ts.map +1 -1
- package/dist/utils/profile.js +52 -9
- package/dist/utils/profile.js.map +1 -1
- package/dist/utils/which.d.ts.map +1 -1
- package/dist/utils/which.js +10 -3
- package/dist/utils/which.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/commands/auth.d.ts +0 -3
- package/dist/cli/commands/auth.d.ts.map +0 -1
- package/dist/cli/commands/auth.js +0 -184
- package/dist/cli/commands/auth.js.map +0 -1
- package/dist/cli/commands/profile.d.ts.map +0 -1
- package/dist/cli/commands/profile.js.map +0 -1
- package/dist/metrics/MetricsOrchestrator.d.ts.map +0 -1
- package/dist/metrics/MetricsOrchestrator.js.map +0 -1
- package/dist/metrics/config.d.ts.map +0 -1
- package/dist/metrics/config.js.map +0 -1
- package/dist/metrics/core/DeltaWriter.d.ts.map +0 -1
- package/dist/metrics/core/DeltaWriter.js.map +0 -1
- package/dist/metrics/core/FileSnapshotter.d.ts.map +0 -1
- package/dist/metrics/core/FileSnapshotter.js.map +0 -1
- package/dist/metrics/core/SessionCorrelator.d.ts.map +0 -1
- package/dist/metrics/core/SessionCorrelator.js +0 -115
- package/dist/metrics/core/SessionCorrelator.js.map +0 -1
- package/dist/metrics/core/SyncStateManager.d.ts.map +0 -1
- package/dist/metrics/core/SyncStateManager.js.map +0 -1
- package/dist/metrics/index.d.ts.map +0 -1
- package/dist/metrics/index.js.map +0 -1
- package/dist/metrics/session/SessionStore.d.ts.map +0 -1
- package/dist/metrics/session/SessionStore.js.map +0 -1
- package/dist/metrics/sync/MetricsApiClient.d.ts.map +0 -1
- package/dist/metrics/sync/MetricsApiClient.js.map +0 -1
- package/dist/metrics/sync/aggregator.d.ts.map +0 -1
- package/dist/metrics/sync/aggregator.js.map +0 -1
- package/dist/metrics/sync/index.d.ts +0 -10
- package/dist/metrics/sync/index.d.ts.map +0 -1
- package/dist/metrics/sync/index.js +0 -10
- package/dist/metrics/sync/index.js.map +0 -1
- package/dist/metrics/sync/jsonl-writer.d.ts.map +0 -1
- package/dist/metrics/sync/jsonl-writer.js.map +0 -1
- package/dist/metrics/sync/post-processor.d.ts.map +0 -1
- package/dist/metrics/sync/post-processor.js.map +0 -1
- package/dist/metrics/sync/types.d.ts.map +0 -1
- package/dist/metrics/sync/types.js.map +0 -1
- package/dist/metrics/types.d.ts.map +0 -1
- package/dist/metrics/types.js.map +0 -1
- package/dist/metrics/utils/git.d.ts.map +0 -1
- package/dist/metrics/utils/git.js.map +0 -1
- package/dist/proxy/errors.d.ts.map +0 -1
- package/dist/proxy/errors.js.map +0 -1
- package/dist/proxy/http-client.d.ts.map +0 -1
- package/dist/proxy/http-client.js.map +0 -1
- package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts.map +0 -1
- package/dist/proxy/plugins/endpoint-blocker.plugin.js.map +0 -1
- package/dist/proxy/plugins/header-injection.plugin.d.ts.map +0 -1
- package/dist/proxy/plugins/header-injection.plugin.js.map +0 -1
- package/dist/proxy/plugins/index.d.ts.map +0 -1
- package/dist/proxy/plugins/index.js.map +0 -1
- package/dist/proxy/plugins/logging.plugin.d.ts.map +0 -1
- package/dist/proxy/plugins/logging.plugin.js.map +0 -1
- package/dist/proxy/plugins/metrics-sync.plugin.d.ts.map +0 -1
- package/dist/proxy/plugins/metrics-sync.plugin.js.map +0 -1
- package/dist/proxy/plugins/registry.d.ts.map +0 -1
- package/dist/proxy/plugins/registry.js.map +0 -1
- package/dist/proxy/plugins/sso-auth.plugin.d.ts.map +0 -1
- package/dist/proxy/plugins/sso-auth.plugin.js.map +0 -1
- package/dist/proxy/plugins/types.d.ts.map +0 -1
- package/dist/proxy/plugins/types.js.map +0 -1
- package/dist/proxy/types.d.ts.map +0 -1
- package/dist/proxy/types.js.map +0 -1
- package/dist/utils/codemie-proxy.d.ts.map +0 -1
- package/dist/utils/codemie-proxy.js.map +0 -1
- /package/dist/{metrics → agents/core/metrics}/MetricsOrchestrator.d.ts +0 -0
- /package/dist/{metrics → agents/core/metrics}/core/DeltaWriter.d.ts +0 -0
- /package/dist/{metrics → agents/core/metrics}/core/FileSnapshotter.d.ts +0 -0
- /package/dist/{metrics → agents/core/metrics}/core/SessionCorrelator.d.ts +0 -0
- /package/dist/{metrics → agents/core/metrics}/core/SyncStateManager.d.ts +0 -0
- /package/dist/{metrics → agents/core/metrics}/index.d.ts +0 -0
- /package/dist/{metrics → agents/core/metrics}/index.js +0 -0
- /package/dist/{metrics → agents/core/metrics}/session/SessionStore.d.ts +0 -0
- /package/dist/{metrics → agents/core/metrics}/types.d.ts +0 -0
- /package/dist/{metrics → agents/core/metrics}/types.js +0 -0
- /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/endpoint-blocker.plugin.d.ts +0 -0
- /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/header-injection.plugin.d.ts +0 -0
- /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/logging.plugin.d.ts +0 -0
- /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/registry.d.ts +0 -0
- /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/sso-auth.plugin.d.ts +0 -0
- /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/types.js +0 -0
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Provides default implementations that work for most agents.
|
|
6
6
|
* Agent plugins override only what's specific to them.
|
|
7
7
|
*/
|
|
8
|
-
import { homedir } from 'os';
|
|
9
8
|
import { join, extname } from 'path';
|
|
9
|
+
import { resolveHomeDir, splitPath } from '../../utils/path-utils.js';
|
|
10
10
|
export class BaseMetricsAdapter {
|
|
11
11
|
agentName;
|
|
12
12
|
metadata;
|
|
@@ -14,17 +14,55 @@ export class BaseMetricsAdapter {
|
|
|
14
14
|
this.agentName = agentName;
|
|
15
15
|
this.metadata = metadata;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Get agent home directory (e.g., ~/.claude, ~/.codex, ~/.gemini)
|
|
19
|
+
* @returns Absolute path to agent home directory
|
|
20
|
+
*/
|
|
21
|
+
getHomeDir() {
|
|
22
|
+
if (!this.metadata?.dataPaths?.home) {
|
|
23
|
+
throw new Error(`${this.agentName}: metadata.dataPaths.home is not defined`);
|
|
24
|
+
}
|
|
25
|
+
return resolveHomeDir(this.metadata.dataPaths.home);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get sessions directory path
|
|
29
|
+
* @returns Absolute path to sessions directory
|
|
30
|
+
*/
|
|
31
|
+
getSessionsDir() {
|
|
32
|
+
const home = this.getHomeDir();
|
|
33
|
+
const sessions = this.metadata?.dataPaths?.sessions || '';
|
|
34
|
+
return join(home, sessions);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get user prompts file path
|
|
38
|
+
* @returns Absolute path to user prompts history file
|
|
39
|
+
*/
|
|
40
|
+
getUserPromptsPath() {
|
|
41
|
+
if (!this.metadata?.dataPaths?.user_prompts) {
|
|
42
|
+
throw new Error(`${this.agentName}: metadata.dataPaths.user_prompts is not defined`);
|
|
43
|
+
}
|
|
44
|
+
const home = this.getHomeDir();
|
|
45
|
+
return join(home, this.metadata.dataPaths.user_prompts);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get settings file path
|
|
49
|
+
* @returns Absolute path to settings file
|
|
50
|
+
*/
|
|
51
|
+
getSettingsPath() {
|
|
52
|
+
if (!this.metadata?.dataPaths?.settings) {
|
|
53
|
+
throw new Error(`${this.agentName}: metadata.dataPaths.settings is not defined`);
|
|
54
|
+
}
|
|
55
|
+
const home = this.getHomeDir();
|
|
56
|
+
return join(home, this.metadata.dataPaths.settings);
|
|
57
|
+
}
|
|
17
58
|
/**
|
|
18
59
|
* Get data paths - can be overridden or uses metadata.dataPaths
|
|
19
60
|
*/
|
|
20
61
|
getDataPaths() {
|
|
21
62
|
if (this.metadata?.dataPaths) {
|
|
22
|
-
// Use dataPaths from metadata
|
|
23
|
-
const home = this.metadata.dataPaths.home;
|
|
24
|
-
const sessions = this.metadata.dataPaths.sessions || '';
|
|
25
63
|
return {
|
|
26
|
-
sessionsDir:
|
|
27
|
-
settingsDir:
|
|
64
|
+
sessionsDir: this.getSessionsDir(),
|
|
65
|
+
settingsDir: this.getHomeDir()
|
|
28
66
|
};
|
|
29
67
|
}
|
|
30
68
|
// Fallback: must be overridden
|
|
@@ -56,19 +94,11 @@ export class BaseMetricsAdapter {
|
|
|
56
94
|
return 'hash'; // Default: full-file hash
|
|
57
95
|
}
|
|
58
96
|
/**
|
|
59
|
-
* Get initialization delay - default:
|
|
97
|
+
* Get initialization delay - default: 1000ms
|
|
60
98
|
* Override if agent needs different delay
|
|
61
99
|
*/
|
|
62
100
|
getInitDelay() {
|
|
63
|
-
return
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Utility: Get agent home directory
|
|
67
|
-
*/
|
|
68
|
-
getAgentHome(subpath) {
|
|
69
|
-
const home = homedir();
|
|
70
|
-
const agentDir = join(home, `.${this.agentName}`);
|
|
71
|
-
return subpath ? join(agentDir, subpath) : agentDir;
|
|
101
|
+
return 1000; // Default: 1000ms
|
|
72
102
|
}
|
|
73
103
|
// ==========================================
|
|
74
104
|
// Shared Utility Methods
|
|
@@ -146,5 +176,133 @@ export class BaseMetricsAdapter {
|
|
|
146
176
|
}
|
|
147
177
|
return Array.from(summaryMap.values());
|
|
148
178
|
}
|
|
179
|
+
// ==========================================
|
|
180
|
+
// Template-Based Path Matching
|
|
181
|
+
// ==========================================
|
|
182
|
+
/**
|
|
183
|
+
* Parse sessions path template into segments
|
|
184
|
+
* Handles both static segments and dynamic placeholders
|
|
185
|
+
*
|
|
186
|
+
* @returns Array of path segments
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* // Claude: 'projects' → ['projects']
|
|
190
|
+
* parseSessionsTemplate()
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* // Gemini: 'tmp/{projectHash}/chats' → ['tmp', '{projectHash}', 'chats']
|
|
194
|
+
* parseSessionsTemplate()
|
|
195
|
+
*/
|
|
196
|
+
parseSessionsTemplate() {
|
|
197
|
+
if (!this.metadata?.dataPaths?.sessions) {
|
|
198
|
+
return [];
|
|
199
|
+
}
|
|
200
|
+
return this.metadata.dataPaths.sessions.split('/').filter(Boolean);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Check if a segment is a dynamic placeholder
|
|
204
|
+
* Placeholders are enclosed in curly braces: {placeholderName}
|
|
205
|
+
*
|
|
206
|
+
* @param segment - Path segment to check
|
|
207
|
+
* @returns true if segment is a dynamic placeholder
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* isDynamicSegment('{projectHash}') // Returns: true
|
|
211
|
+
* isDynamicSegment('tmp') // Returns: false
|
|
212
|
+
*/
|
|
213
|
+
isDynamicSegment(segment) {
|
|
214
|
+
return segment.startsWith('{') && segment.endsWith('}');
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Validate that a path matches the sessions template structure
|
|
218
|
+
* Handles both static segments (must match exactly) and dynamic placeholders (any value)
|
|
219
|
+
*
|
|
220
|
+
* Cross-platform: uses splitPath() which normalizes separators
|
|
221
|
+
*
|
|
222
|
+
* @param path - File path to validate
|
|
223
|
+
* @returns true if path matches template structure
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* // Gemini with sessions: 'tmp/{projectHash}/chats'
|
|
227
|
+
* matchesSessionsStructure('~/.gemini/tmp/abc123/chats/session.json')
|
|
228
|
+
* // Returns: true (tmp=static, abc123=dynamic, chats=static)
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* // Claude with sessions: 'projects'
|
|
232
|
+
* matchesSessionsStructure('~/.claude/projects/hash/file.jsonl')
|
|
233
|
+
* // Returns: true (projects=static)
|
|
234
|
+
*/
|
|
235
|
+
matchesSessionsStructure(path) {
|
|
236
|
+
if (!this.metadata?.dataPaths?.home) {
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
const baseDir = this.metadata.dataPaths.home;
|
|
240
|
+
const sessionsParts = this.parseSessionsTemplate();
|
|
241
|
+
if (sessionsParts.length === 0) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
// Split path using cross-platform utility
|
|
245
|
+
const parts = splitPath(path);
|
|
246
|
+
const baseIndex = parts.findIndex(p => p === baseDir);
|
|
247
|
+
if (baseIndex === -1) {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
// Validate each segment in template
|
|
251
|
+
for (let i = 0; i < sessionsParts.length; i++) {
|
|
252
|
+
const expectedSegment = sessionsParts[i];
|
|
253
|
+
const actualSegment = parts[baseIndex + 1 + i];
|
|
254
|
+
if (!actualSegment) {
|
|
255
|
+
return false; // Missing segment
|
|
256
|
+
}
|
|
257
|
+
// Skip validation for dynamic placeholders (any value accepted)
|
|
258
|
+
if (this.isDynamicSegment(expectedSegment)) {
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
// Validate static segments (must match exactly)
|
|
262
|
+
if (actualSegment !== expectedSegment) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Extract value of a dynamic placeholder from path
|
|
270
|
+
* Finds placeholder in sessions template and extracts corresponding value from path
|
|
271
|
+
*
|
|
272
|
+
* @param path - File path containing placeholder value
|
|
273
|
+
* @param placeholderName - Name of placeholder (without braces)
|
|
274
|
+
* @returns Extracted value or null if placeholder not found
|
|
275
|
+
*
|
|
276
|
+
* @example
|
|
277
|
+
* // Gemini with sessions: 'tmp/{projectHash}/chats'
|
|
278
|
+
* extractPlaceholder('~/.gemini/tmp/abc123/chats/file.json', 'projectHash')
|
|
279
|
+
* // Returns: 'abc123'
|
|
280
|
+
*
|
|
281
|
+
* @example
|
|
282
|
+
* // Claude has no placeholders
|
|
283
|
+
* extractPlaceholder('~/.claude/projects/hash/file.jsonl', 'hash')
|
|
284
|
+
* // Returns: null (no {hash} placeholder in template)
|
|
285
|
+
*/
|
|
286
|
+
extractPlaceholder(path, placeholderName) {
|
|
287
|
+
const sessionsParts = this.parseSessionsTemplate();
|
|
288
|
+
const baseDir = this.metadata?.dataPaths?.home;
|
|
289
|
+
if (!baseDir) {
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
292
|
+
// Find placeholder index in template
|
|
293
|
+
// Example: ['tmp', '{projectHash}', 'chats'] → index 1 for 'projectHash'
|
|
294
|
+
const placeholderIndex = sessionsParts.findIndex(part => part === `{${placeholderName}}`);
|
|
295
|
+
if (placeholderIndex === -1) {
|
|
296
|
+
return null; // Placeholder not in template
|
|
297
|
+
}
|
|
298
|
+
// Extract value at that position in path
|
|
299
|
+
const parts = splitPath(path);
|
|
300
|
+
const baseIndex = parts.findIndex(p => p === baseDir);
|
|
301
|
+
if (baseIndex === -1) {
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
304
|
+
const valueIndex = baseIndex + 1 + placeholderIndex;
|
|
305
|
+
return parts[valueIndex] || null;
|
|
306
|
+
}
|
|
149
307
|
}
|
|
150
308
|
//# sourceMappingURL=BaseMetricsAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMetricsAdapter.js","sourceRoot":"","sources":["../../../src/agents/core/BaseMetricsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"BaseMetricsAdapter.js","sourceRoot":"","sources":["../../../src/agents/core/BaseMetricsAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle Hook Execution Helpers
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for executing agent lifecycle hooks with provider-specific resolution.
|
|
5
|
+
* This replaces the template method pattern with a more flexible hook-based approach.
|
|
6
|
+
*
|
|
7
|
+
* Hook Resolution Priority (Loose Coupling):
|
|
8
|
+
* 1. Provider plugin's agent hooks (providerPlugin.agentHooks[agentName].hookName)
|
|
9
|
+
* 2. Agent's default hooks (agentMetadata.lifecycle.hookName)
|
|
10
|
+
*
|
|
11
|
+
* Key Architecture Principle:
|
|
12
|
+
* - Agents remain FULLY provider-agnostic
|
|
13
|
+
* - Providers register hooks for agents they need to customize
|
|
14
|
+
* - Runtime resolution provides dynamic behavior
|
|
15
|
+
* - Zero hardcoded provider names in agent code
|
|
16
|
+
*
|
|
17
|
+
* @example Provider registers hooks for agent (loose coupling)
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // Provider plugin (src/providers/plugins/bedrock/)
|
|
20
|
+
* export const BedrockTemplate: ProviderTemplate = {
|
|
21
|
+
* name: 'bedrock',
|
|
22
|
+
* agentHooks: {
|
|
23
|
+
* 'claude': {
|
|
24
|
+
* beforeRun: async (env, config) => {
|
|
25
|
+
* env.CLAUDE_CODE_USE_BEDROCK = '1';
|
|
26
|
+
* return env;
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* };
|
|
31
|
+
*
|
|
32
|
+
* // Agent plugin (src/agents/plugins/claude.plugin.ts)
|
|
33
|
+
* export const ClaudeMetadata: AgentMetadata = {
|
|
34
|
+
* lifecycle: {
|
|
35
|
+
* // ONLY default hooks - no provider knowledge!
|
|
36
|
+
* beforeRun: async (env) => {
|
|
37
|
+
* env.CLAUDE_CODE_DISABLE_BETAS = '1';
|
|
38
|
+
* return env;
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
* };
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
import type { AgentLifecycle, AgentConfig } from './types.js';
|
|
45
|
+
/**
|
|
46
|
+
* Execute onSessionStart hook with provider resolution
|
|
47
|
+
*
|
|
48
|
+
* Called early in the session lifecycle, before environment transformation.
|
|
49
|
+
* Use for early initialization, session registration, or pre-setup tasks.
|
|
50
|
+
*
|
|
51
|
+
* @param context - The agent adapter instance (for binding `this`)
|
|
52
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
53
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
54
|
+
* @param sessionId - Unique session identifier
|
|
55
|
+
* @param env - Environment variables
|
|
56
|
+
*/
|
|
57
|
+
export declare function executeOnSessionStart(context: any, lifecycle: AgentLifecycle | undefined, agentName: string, sessionId: string, env: NodeJS.ProcessEnv): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Execute beforeRun hook with provider resolution
|
|
60
|
+
*
|
|
61
|
+
* Called after environment transformation, before agent execution.
|
|
62
|
+
* Use for config file setup, directory creation, or environment modification.
|
|
63
|
+
*
|
|
64
|
+
* @param context - The agent adapter instance (for binding `this`)
|
|
65
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
66
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
67
|
+
* @param env - Environment variables
|
|
68
|
+
* @param config - Agent configuration
|
|
69
|
+
* @returns Modified environment variables
|
|
70
|
+
*/
|
|
71
|
+
export declare function executeBeforeRun(context: any, lifecycle: AgentLifecycle | undefined, agentName: string, env: NodeJS.ProcessEnv, config: AgentConfig): Promise<NodeJS.ProcessEnv>;
|
|
72
|
+
/**
|
|
73
|
+
* Execute enrichArgs hook with provider resolution
|
|
74
|
+
*
|
|
75
|
+
* Called after beforeRun, before flag transformations.
|
|
76
|
+
* Use for injecting CLI arguments like --profile, --model, etc.
|
|
77
|
+
*
|
|
78
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
79
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
80
|
+
* @param args - CLI arguments
|
|
81
|
+
* @param config - Agent configuration
|
|
82
|
+
* @returns Enriched arguments
|
|
83
|
+
*/
|
|
84
|
+
export declare function executeEnrichArgs(lifecycle: AgentLifecycle | undefined, agentName: string, args: string[], config: AgentConfig): string[];
|
|
85
|
+
/**
|
|
86
|
+
* Execute onSessionEnd hook with provider resolution
|
|
87
|
+
*
|
|
88
|
+
* Called after agent exits, before afterRun hook.
|
|
89
|
+
* Use for session cleanup, telemetry, or metrics finalization.
|
|
90
|
+
*
|
|
91
|
+
* @param context - The agent adapter instance (for binding `this`)
|
|
92
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
93
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
94
|
+
* @param exitCode - Process exit code
|
|
95
|
+
* @param env - Environment variables
|
|
96
|
+
*/
|
|
97
|
+
export declare function executeOnSessionEnd(context: any, lifecycle: AgentLifecycle | undefined, agentName: string, exitCode: number, env: NodeJS.ProcessEnv): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Execute afterRun hook with provider resolution
|
|
100
|
+
*
|
|
101
|
+
* Called after onSessionEnd, at the very end of the session lifecycle.
|
|
102
|
+
* Use for final cleanup, config file removal, or post-processing.
|
|
103
|
+
*
|
|
104
|
+
* @param context - The agent adapter instance (for binding `this`)
|
|
105
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
106
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
107
|
+
* @param exitCode - Process exit code
|
|
108
|
+
* @param env - Environment variables
|
|
109
|
+
*/
|
|
110
|
+
export declare function executeAfterRun(context: any, lifecycle: AgentLifecycle | undefined, agentName: string, exitCode: number, env: NodeJS.ProcessEnv): Promise<void>;
|
|
111
|
+
//# sourceMappingURL=lifecycle-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-helpers.d.ts","sourceRoot":"","sources":["../../../src/agents/core/lifecycle-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAA0B,MAAM,YAAY,CAAC;AA6CtF;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,SAAS,EAAE,cAAc,GAAG,SAAS,EACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,GAAG,EACZ,SAAS,EAAE,cAAc,GAAG,SAAS,EACrC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAS5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,cAAc,GAAG,SAAS,EACrC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,WAAW,GAClB,MAAM,EAAE,CASV;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,GAAG,EACZ,SAAS,EAAE,cAAc,GAAG,SAAS,EACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,GAAG,EACZ,SAAS,EAAE,cAAc,GAAG,SAAS,EACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle Hook Execution Helpers
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for executing agent lifecycle hooks with provider-specific resolution.
|
|
5
|
+
* This replaces the template method pattern with a more flexible hook-based approach.
|
|
6
|
+
*
|
|
7
|
+
* Hook Resolution Priority (Loose Coupling):
|
|
8
|
+
* 1. Provider plugin's agent hooks (providerPlugin.agentHooks[agentName].hookName)
|
|
9
|
+
* 2. Agent's default hooks (agentMetadata.lifecycle.hookName)
|
|
10
|
+
*
|
|
11
|
+
* Key Architecture Principle:
|
|
12
|
+
* - Agents remain FULLY provider-agnostic
|
|
13
|
+
* - Providers register hooks for agents they need to customize
|
|
14
|
+
* - Runtime resolution provides dynamic behavior
|
|
15
|
+
* - Zero hardcoded provider names in agent code
|
|
16
|
+
*
|
|
17
|
+
* @example Provider registers hooks for agent (loose coupling)
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // Provider plugin (src/providers/plugins/bedrock/)
|
|
20
|
+
* export const BedrockTemplate: ProviderTemplate = {
|
|
21
|
+
* name: 'bedrock',
|
|
22
|
+
* agentHooks: {
|
|
23
|
+
* 'claude': {
|
|
24
|
+
* beforeRun: async (env, config) => {
|
|
25
|
+
* env.CLAUDE_CODE_USE_BEDROCK = '1';
|
|
26
|
+
* return env;
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* };
|
|
31
|
+
*
|
|
32
|
+
* // Agent plugin (src/agents/plugins/claude.plugin.ts)
|
|
33
|
+
* export const ClaudeMetadata: AgentMetadata = {
|
|
34
|
+
* lifecycle: {
|
|
35
|
+
* // ONLY default hooks - no provider knowledge!
|
|
36
|
+
* beforeRun: async (env) => {
|
|
37
|
+
* env.CLAUDE_CODE_DISABLE_BETAS = '1';
|
|
38
|
+
* return env;
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
* };
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
import { ProviderRegistry } from '../../providers/core/registry.js';
|
|
45
|
+
/**
|
|
46
|
+
* Resolve the appropriate hook based on provider
|
|
47
|
+
*
|
|
48
|
+
* Priority (loose coupling):
|
|
49
|
+
* 1. Provider plugin's agent-specific hook (provider owns the logic)
|
|
50
|
+
* 2. Provider plugin's wildcard hook ('*' for all agents)
|
|
51
|
+
* 3. Agent's default hook (fallback)
|
|
52
|
+
*
|
|
53
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
54
|
+
* @param hookName - Name of the hook to resolve
|
|
55
|
+
* @param provider - Current provider name
|
|
56
|
+
* @param agentName - Current agent name
|
|
57
|
+
* @returns Resolved hook function or undefined
|
|
58
|
+
*/
|
|
59
|
+
function resolveHook(lifecycle, hookName, provider, agentName) {
|
|
60
|
+
// 1. Try provider plugin's agent hook (provider owns the customization)
|
|
61
|
+
if (provider && agentName) {
|
|
62
|
+
const providerPlugin = ProviderRegistry.getProvider(provider);
|
|
63
|
+
// 1a. Check agent-specific hook first
|
|
64
|
+
const specificHook = providerPlugin?.agentHooks?.[agentName]?.[hookName];
|
|
65
|
+
if (specificHook) {
|
|
66
|
+
return specificHook;
|
|
67
|
+
}
|
|
68
|
+
// 1b. Check wildcard hook ('*' for all agents)
|
|
69
|
+
const wildcardHook = providerPlugin?.agentHooks?.['*']?.[hookName];
|
|
70
|
+
if (wildcardHook) {
|
|
71
|
+
return wildcardHook;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// 2. Fall back to agent's default hook
|
|
75
|
+
if (!lifecycle)
|
|
76
|
+
return undefined;
|
|
77
|
+
return lifecycle[hookName];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Execute onSessionStart hook with provider resolution
|
|
81
|
+
*
|
|
82
|
+
* Called early in the session lifecycle, before environment transformation.
|
|
83
|
+
* Use for early initialization, session registration, or pre-setup tasks.
|
|
84
|
+
*
|
|
85
|
+
* @param context - The agent adapter instance (for binding `this`)
|
|
86
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
87
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
88
|
+
* @param sessionId - Unique session identifier
|
|
89
|
+
* @param env - Environment variables
|
|
90
|
+
*/
|
|
91
|
+
export async function executeOnSessionStart(context, lifecycle, agentName, sessionId, env) {
|
|
92
|
+
const provider = env.CODEMIE_PROVIDER;
|
|
93
|
+
const { logger } = await import('../../utils/logger.js');
|
|
94
|
+
logger.info(`[lifecycle-helpers] Resolving onSessionStart hook for agent="${agentName}", provider="${provider}"`);
|
|
95
|
+
const hook = resolveHook(lifecycle, 'onSessionStart', provider, agentName);
|
|
96
|
+
if (hook) {
|
|
97
|
+
logger.info(`[lifecycle-helpers] onSessionStart hook found, executing...`);
|
|
98
|
+
await hook.call(context, sessionId, env);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
logger.info(`[lifecycle-helpers] No onSessionStart hook found`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Execute beforeRun hook with provider resolution
|
|
106
|
+
*
|
|
107
|
+
* Called after environment transformation, before agent execution.
|
|
108
|
+
* Use for config file setup, directory creation, or environment modification.
|
|
109
|
+
*
|
|
110
|
+
* @param context - The agent adapter instance (for binding `this`)
|
|
111
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
112
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
113
|
+
* @param env - Environment variables
|
|
114
|
+
* @param config - Agent configuration
|
|
115
|
+
* @returns Modified environment variables
|
|
116
|
+
*/
|
|
117
|
+
export async function executeBeforeRun(context, lifecycle, agentName, env, config) {
|
|
118
|
+
const provider = env.CODEMIE_PROVIDER;
|
|
119
|
+
const hook = resolveHook(lifecycle, 'beforeRun', provider, agentName);
|
|
120
|
+
if (hook) {
|
|
121
|
+
return await hook.call(context, env, config);
|
|
122
|
+
}
|
|
123
|
+
return env;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Execute enrichArgs hook with provider resolution
|
|
127
|
+
*
|
|
128
|
+
* Called after beforeRun, before flag transformations.
|
|
129
|
+
* Use for injecting CLI arguments like --profile, --model, etc.
|
|
130
|
+
*
|
|
131
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
132
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
133
|
+
* @param args - CLI arguments
|
|
134
|
+
* @param config - Agent configuration
|
|
135
|
+
* @returns Enriched arguments
|
|
136
|
+
*/
|
|
137
|
+
export function executeEnrichArgs(lifecycle, agentName, args, config) {
|
|
138
|
+
const provider = config.provider;
|
|
139
|
+
const hook = resolveHook(lifecycle, 'enrichArgs', provider, agentName);
|
|
140
|
+
if (hook) {
|
|
141
|
+
return hook(args, config);
|
|
142
|
+
}
|
|
143
|
+
return args;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Execute onSessionEnd hook with provider resolution
|
|
147
|
+
*
|
|
148
|
+
* Called after agent exits, before afterRun hook.
|
|
149
|
+
* Use for session cleanup, telemetry, or metrics finalization.
|
|
150
|
+
*
|
|
151
|
+
* @param context - The agent adapter instance (for binding `this`)
|
|
152
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
153
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
154
|
+
* @param exitCode - Process exit code
|
|
155
|
+
* @param env - Environment variables
|
|
156
|
+
*/
|
|
157
|
+
export async function executeOnSessionEnd(context, lifecycle, agentName, exitCode, env) {
|
|
158
|
+
const provider = env.CODEMIE_PROVIDER;
|
|
159
|
+
const { logger } = await import('../../utils/logger.js');
|
|
160
|
+
logger.info(`[lifecycle-helpers] Resolving onSessionEnd hook for agent="${agentName}", provider="${provider}", exitCode=${exitCode}`);
|
|
161
|
+
const hook = resolveHook(lifecycle, 'onSessionEnd', provider, agentName);
|
|
162
|
+
if (hook) {
|
|
163
|
+
logger.info(`[lifecycle-helpers] onSessionEnd hook found, executing...`);
|
|
164
|
+
await hook.call(context, exitCode, env);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
logger.info(`[lifecycle-helpers] No onSessionEnd hook found`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Execute afterRun hook with provider resolution
|
|
172
|
+
*
|
|
173
|
+
* Called after onSessionEnd, at the very end of the session lifecycle.
|
|
174
|
+
* Use for final cleanup, config file removal, or post-processing.
|
|
175
|
+
*
|
|
176
|
+
* @param context - The agent adapter instance (for binding `this`)
|
|
177
|
+
* @param lifecycle - Agent lifecycle configuration
|
|
178
|
+
* @param agentName - Agent name (for provider hook resolution)
|
|
179
|
+
* @param exitCode - Process exit code
|
|
180
|
+
* @param env - Environment variables
|
|
181
|
+
*/
|
|
182
|
+
export async function executeAfterRun(context, lifecycle, agentName, exitCode, env) {
|
|
183
|
+
const provider = env.CODEMIE_PROVIDER;
|
|
184
|
+
const hook = resolveHook(lifecycle, 'afterRun', provider, agentName);
|
|
185
|
+
if (hook) {
|
|
186
|
+
await hook.call(context, exitCode, env);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=lifecycle-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-helpers.js","sourceRoot":"","sources":["../../../src/agents/core/lifecycle-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,SAAS,WAAW,CAClB,SAAqC,EACrC,QAAW,EACX,QAA4B,EAC5B,SAA6B;IAE7B,wEAAwE;IACxE,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE9D,sCAAsC;QACtC,MAAM,YAAY,GAAG,cAAc,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAyC,CAAC;QACnD,CAAC;QAED,+CAA+C;QAC/C,MAAM,YAAY,GAAG,cAAc,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAyC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAY,EACZ,SAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,GAAsB;IAEtB,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEzD,MAAM,CAAC,IAAI,CAAC,gEAAgE,SAAS,gBAAgB,QAAQ,GAAG,CAAC,CAAC;IAElH,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE3E,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAY,EACZ,SAAqC,EACrC,SAAiB,EACjB,GAAsB,EACtB,MAAmB;IAEnB,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEtE,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAqC,EACrC,SAAiB,EACjB,IAAc,EACd,MAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEvE,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAY,EACZ,SAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,GAAsB;IAEtB,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEzD,MAAM,CAAC,IAAI,CAAC,8DAA8D,SAAS,gBAAgB,QAAQ,eAAe,QAAQ,EAAE,CAAC,CAAC;IAEtI,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEzE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAY,EACZ,SAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,GAAsB;IAEtB,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAErE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsOrchestrator.d.ts","sourceRoot":"","sources":["../../../../src/agents/core/metrics/MetricsOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAgC,MAAM,YAAY,CAAC;AAOpF,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,mBAAmB,CAAC;CACrC;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAsB;IAE5C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,KAAK,CAAe;IAG5B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,WAAW,CAAyC;IAE5D,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,YAAY,CAAkB;gBAE1B,OAAO,EAAE,0BAA0B;IAa/C;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiFvC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAwGtC;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDlD;;OAEG;YACW,0BAA0B;IA+CxC;;OAEG;YACW,aAAa;IAiH3B;;;OAGG;IACH,sBAAsB,IAAI,OAAO,GAAG,IAAI;IAUxC;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
|