@terminai/core 0.25.0 → 0.50.0

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 (109) hide show
  1. package/LICENSE +247 -0
  2. package/README.md +422 -0
  3. package/dist/docs/CONTRIBUTING.md +8 -8
  4. package/dist/docs/changelogs/index.md +5 -5
  5. package/dist/docs/cli/commands.md +43 -17
  6. package/dist/docs/cli/quick-reference.md +61 -0
  7. package/dist/docs/cli/telemetry.md +3 -792
  8. package/dist/docs/extensions/index.md +1 -1
  9. package/dist/docs/get-started/configuration.md +6 -2
  10. package/dist/docs/index.md +17 -17
  11. package/dist/docs/{termai-comparison.md → terminai-comparison.md} +18 -18
  12. package/dist/docs/{termai-examples.md → terminai-examples.md} +2 -2
  13. package/dist/docs/{termai-operator-recipes.md → terminai-operator-recipes.md} +1 -1
  14. package/dist/docs/{termai-process-manager.md → terminai-process-manager.md} +7 -7
  15. package/dist/docs/{termai-quickstart.md → terminai-quickstart.md} +10 -10
  16. package/dist/docs/{termai-system.md → terminai-system.md} +2 -2
  17. package/dist/index.d.ts +0 -1
  18. package/dist/index.js +0 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/src/agents/codebase-investigator.js +1 -1
  21. package/dist/src/auth/wizardSettings.js +3 -0
  22. package/dist/src/auth/wizardSettings.js.map +1 -1
  23. package/dist/src/auth/wizardSettings.test.js +3 -0
  24. package/dist/src/auth/wizardSettings.test.js.map +1 -1
  25. package/dist/src/brain/__tests__/advisors.test.js +25 -6
  26. package/dist/src/brain/__tests__/advisors.test.js.map +1 -1
  27. package/dist/src/brain/__tests__/cognitiveArchitecture.test.js +24 -0
  28. package/dist/src/brain/__tests__/cognitiveArchitecture.test.js.map +1 -1
  29. package/dist/src/brain/__tests__/thinkingOrchestrator.test.js +29 -5
  30. package/dist/src/brain/__tests__/thinkingOrchestrator.test.js.map +1 -1
  31. package/dist/src/brain/systemSpec.js +51 -23
  32. package/dist/src/brain/systemSpec.js.map +1 -1
  33. package/dist/src/config/builder.js +4 -1
  34. package/dist/src/config/builder.js.map +1 -1
  35. package/dist/src/config/config.js +24 -11
  36. package/dist/src/config/config.js.map +1 -1
  37. package/dist/src/config/settings/loader.d.ts +1 -0
  38. package/dist/src/config/settings/loader.js +10 -0
  39. package/dist/src/config/settings/loader.js.map +1 -1
  40. package/dist/src/config/settings/schema.d.ts +2 -5
  41. package/dist/src/config/settings/schema.js +2 -3
  42. package/dist/src/config/settings/schema.js.map +1 -1
  43. package/dist/src/core/client.test.js +0 -2
  44. package/dist/src/core/client.test.js.map +1 -1
  45. package/dist/src/core/coreToolScheduler.test.js +1 -1
  46. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  47. package/dist/src/generated/git-commit.d.ts +2 -2
  48. package/dist/src/generated/git-commit.js +2 -2
  49. package/dist/src/generated/git-commit.js.map +1 -1
  50. package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +3 -0
  51. package/dist/src/mcp/token-storage/hybrid-token-storage.js +34 -13
  52. package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
  53. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +25 -0
  54. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -1
  55. package/dist/src/openai_chatgpt/imports.test.js +17 -1
  56. package/dist/src/openai_chatgpt/imports.test.js.map +1 -1
  57. package/dist/src/services/shellExecutionService.js +2 -2
  58. package/dist/src/services/shellExecutionService.js.map +1 -1
  59. package/dist/src/services/shellExecutionService.test.js +12 -6
  60. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  61. package/dist/src/telemetry/config.d.ts +1 -0
  62. package/dist/src/telemetry/config.js +3 -4
  63. package/dist/src/telemetry/config.js.map +1 -1
  64. package/dist/src/telemetry/config.test.js +6 -4
  65. package/dist/src/telemetry/config.test.js.map +1 -1
  66. package/dist/src/telemetry/index.d.ts +0 -2
  67. package/dist/src/telemetry/index.js +0 -2
  68. package/dist/src/telemetry/index.js.map +1 -1
  69. package/dist/src/telemetry/loggers.js +0 -36
  70. package/dist/src/telemetry/loggers.js.map +1 -1
  71. package/dist/src/telemetry/loggers.test.js +17 -1
  72. package/dist/src/telemetry/loggers.test.js.map +1 -1
  73. package/dist/src/telemetry/sdk.js +24 -19
  74. package/dist/src/telemetry/sdk.js.map +1 -1
  75. package/dist/src/telemetry/sdk.test.js +17 -135
  76. package/dist/src/telemetry/sdk.test.js.map +1 -1
  77. package/dist/src/tools/confirmation-policy.test.js +1 -1
  78. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  79. package/dist/src/utils/paths.d.ts +3 -3
  80. package/dist/src/utils/paths.js +13 -3
  81. package/dist/src/utils/paths.js.map +1 -1
  82. package/dist/src/utils/paths.test.js +31 -2
  83. package/dist/src/utils/paths.test.js.map +1 -1
  84. package/dist/src/utils/shell-permissions.test.js +4 -2
  85. package/dist/src/utils/shell-permissions.test.js.map +1 -1
  86. package/dist/src/utils/shell-utils.js +11 -2
  87. package/dist/src/utils/shell-utils.js.map +1 -1
  88. package/dist/src/utils/shell-utils.test.js +29 -7
  89. package/dist/src/utils/shell-utils.test.js.map +1 -1
  90. package/dist/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +1 -5
  92. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +0 -159
  93. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +0 -1210
  94. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +0 -1
  95. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -20
  96. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +0 -835
  97. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +0 -1
  98. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +0 -140
  99. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +0 -350
  100. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +0 -1
  101. package/dist/src/telemetry/gcp-exporters.d.ts +0 -36
  102. package/dist/src/telemetry/gcp-exporters.js +0 -121
  103. package/dist/src/telemetry/gcp-exporters.js.map +0 -1
  104. package/dist/src/telemetry/gcp-exporters.test.d.ts +0 -7
  105. package/dist/src/telemetry/gcp-exporters.test.js +0 -319
  106. package/dist/src/telemetry/gcp-exporters.test.js.map +0 -1
  107. package/dist/src/telemetry/integration.test.circular.d.ts +0 -7
  108. package/dist/src/telemetry/integration.test.circular.js +0 -55
  109. package/dist/src/telemetry/integration.test.circular.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@terminai/core",
3
- "version": "0.25.0",
3
+ "version": "0.50.0",
4
4
  "description": "TerminaI Core",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -21,9 +21,6 @@
21
21
  "dist"
22
22
  ],
23
23
  "dependencies": {
24
- "@google-cloud/logging": "^11.2.1",
25
- "@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.21.0",
26
- "@google-cloud/opentelemetry-cloud-trace-exporter": "^3.0.0",
27
24
  "@google/genai": "^1.30.0",
28
25
  "@iarna/toml": "^2.2.5",
29
26
  "@joshua.litt/get-ripgrep": "^0.0.3",
@@ -36,7 +33,6 @@
36
33
  "@opentelemetry/exporter-trace-otlp-grpc": "^0.203.0",
37
34
  "@opentelemetry/exporter-trace-otlp-http": "^0.203.0",
38
35
  "@opentelemetry/instrumentation-http": "^0.203.0",
39
- "@opentelemetry/resource-detector-gcp": "^0.40.0",
40
36
  "@opentelemetry/sdk-node": "^0.203.0",
41
37
  "@types/glob": "^8.1.0",
42
38
  "@types/html-to-text": "^9.0.4",
@@ -1,159 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * Portions Copyright 2025 TerminaI Authors
5
- * SPDX-License-Identifier: Apache-2.0
6
- */
7
- import { HttpsProxyAgent } from 'https-proxy-agent';
8
- import type { StartSessionEvent, UserPromptEvent, ToolCallEvent, ApiRequestEvent, ApiResponseEvent, ApiErrorEvent, LoopDetectedEvent, NextSpeakerCheckEvent, SlashCommandEvent, MalformedJsonResponseEvent, IdeConnectionEvent, ConversationFinishedEvent, ChatCompressionEvent, FileOperationEvent, InvalidChunkEvent, ContentRetryEvent, ContentRetryFailureEvent, ExtensionInstallEvent, ToolOutputTruncatedEvent, ExtensionUninstallEvent, ModelRoutingEvent, ExtensionEnableEvent, ModelSlashCommandEvent, ExtensionDisableEvent, SmartEditStrategyEvent, SmartEditCorrectionEvent, AgentStartEvent, AgentFinishEvent, RecoveryAttemptEvent, WebFetchFallbackAttemptEvent, ExtensionUpdateEvent, LlmLoopCheckEvent } from '../types.js';
9
- import { EventMetadataKey } from './event-metadata-key.js';
10
- import type { Config } from '../../config/config.js';
11
- export declare enum EventNames {
12
- START_SESSION = "start_session",
13
- NEW_PROMPT = "new_prompt",
14
- TOOL_CALL = "tool_call",
15
- FILE_OPERATION = "file_operation",
16
- API_REQUEST = "api_request",
17
- API_RESPONSE = "api_response",
18
- API_ERROR = "api_error",
19
- END_SESSION = "end_session",
20
- FLASH_FALLBACK = "flash_fallback",
21
- RIPGREP_FALLBACK = "ripgrep_fallback",
22
- LOOP_DETECTED = "loop_detected",
23
- LOOP_DETECTION_DISABLED = "loop_detection_disabled",
24
- NEXT_SPEAKER_CHECK = "next_speaker_check",
25
- SLASH_COMMAND = "slash_command",
26
- MALFORMED_JSON_RESPONSE = "malformed_json_response",
27
- IDE_CONNECTION = "ide_connection",
28
- KITTY_SEQUENCE_OVERFLOW = "kitty_sequence_overflow",
29
- CHAT_COMPRESSION = "chat_compression",
30
- CONVERSATION_FINISHED = "conversation_finished",
31
- INVALID_CHUNK = "invalid_chunk",
32
- CONTENT_RETRY = "content_retry",
33
- CONTENT_RETRY_FAILURE = "content_retry_failure",
34
- EXTENSION_ENABLE = "extension_enable",
35
- EXTENSION_DISABLE = "extension_disable",
36
- EXTENSION_INSTALL = "extension_install",
37
- EXTENSION_UNINSTALL = "extension_uninstall",
38
- EXTENSION_UPDATE = "extension_update",
39
- TOOL_OUTPUT_TRUNCATED = "tool_output_truncated",
40
- MODEL_ROUTING = "model_routing",
41
- MODEL_SLASH_COMMAND = "model_slash_command",
42
- SMART_EDIT_STRATEGY = "smart_edit_strategy",
43
- SMART_EDIT_CORRECTION = "smart_edit_correction",
44
- AGENT_START = "agent_start",
45
- AGENT_FINISH = "agent_finish",
46
- RECOVERY_ATTEMPT = "recovery_attempt",
47
- WEB_FETCH_FALLBACK_ATTEMPT = "web_fetch_fallback_attempt",
48
- LLM_LOOP_CHECK = "llm_loop_check"
49
- }
50
- export interface LogResponse {
51
- nextRequestWaitMs?: number;
52
- }
53
- export interface LogEventEntry {
54
- event_time_ms: number;
55
- source_extension_json: string;
56
- }
57
- export interface EventValue {
58
- gemini_cli_key: EventMetadataKey;
59
- value: string;
60
- }
61
- export interface LogEvent {
62
- console_type: 'GEMINI_CLI';
63
- application: number;
64
- event_name: string;
65
- event_metadata: EventValue[][];
66
- client_email?: string;
67
- client_install_id?: string;
68
- }
69
- export interface LogRequest {
70
- log_source_name: 'CONCORD';
71
- request_time_ms: number;
72
- log_event: LogEventEntry[][];
73
- }
74
- export declare class ClearcutLogger {
75
- private config?;
76
- private sessionData;
77
- private promptId;
78
- private readonly installationManager;
79
- private readonly userAccountManager;
80
- private readonly hashedGHRepositoryName?;
81
- /**
82
- * Queue of pending events that need to be flushed to the server. New events
83
- * are added to this queue and then flushed on demand (via `flushToClearcut`)
84
- */
85
- private readonly events;
86
- /**
87
- * The last time that the events were successfully flushed to the server.
88
- */
89
- private lastFlushTime;
90
- /**
91
- * the value is true when there is a pending flush happening. This prevents
92
- * concurrent flush operations.
93
- */
94
- private flushing;
95
- /**
96
- * This value is true when a flush was requested during an ongoing flush.
97
- */
98
- private pendingFlush;
99
- private constructor();
100
- static getInstance(_config?: Config): ClearcutLogger | undefined;
101
- /** For testing purposes only. */
102
- static clearInstance(): void;
103
- enqueueHelper(event: LogEvent): void;
104
- enqueueLogEvent(event: LogEvent): void;
105
- enqueueLogEventAfterExperimentsLoadAsync(event: LogEvent): Promise<void>;
106
- createBasicLogEvent(eventName: EventNames, data?: EventValue[]): LogEvent;
107
- createLogEvent(eventName: EventNames, data?: EventValue[]): LogEvent;
108
- flushIfNeeded(): void;
109
- flushToClearcut(): Promise<LogResponse>;
110
- logStartSessionEvent(event: StartSessionEvent): void;
111
- logNewPromptEvent(event: UserPromptEvent): void;
112
- logToolCallEvent(event: ToolCallEvent): void;
113
- logFileOperationEvent(event: FileOperationEvent): void;
114
- logApiRequestEvent(event: ApiRequestEvent): void;
115
- logApiResponseEvent(event: ApiResponseEvent): void;
116
- logApiErrorEvent(event: ApiErrorEvent): void;
117
- logChatCompressionEvent(event: ChatCompressionEvent): void;
118
- logFlashFallbackEvent(): void;
119
- logRipgrepFallbackEvent(): void;
120
- logLoopDetectedEvent(event: LoopDetectedEvent): void;
121
- logLoopDetectionDisabledEvent(): void;
122
- logNextSpeakerCheck(event: NextSpeakerCheckEvent): void;
123
- logSlashCommandEvent(event: SlashCommandEvent): void;
124
- logMalformedJsonResponseEvent(event: MalformedJsonResponseEvent): void;
125
- logIdeConnectionEvent(event: IdeConnectionEvent): void;
126
- logConversationFinishedEvent(event: ConversationFinishedEvent): void;
127
- logEndSessionEvent(): void;
128
- logInvalidChunkEvent(event: InvalidChunkEvent): void;
129
- logContentRetryEvent(event: ContentRetryEvent): void;
130
- logContentRetryFailureEvent(event: ContentRetryFailureEvent): void;
131
- logExtensionInstallEvent(event: ExtensionInstallEvent): Promise<void>;
132
- logExtensionUninstallEvent(event: ExtensionUninstallEvent): Promise<void>;
133
- logExtensionUpdateEvent(event: ExtensionUpdateEvent): Promise<void>;
134
- logToolOutputTruncatedEvent(event: ToolOutputTruncatedEvent): void;
135
- logModelRoutingEvent(event: ModelRoutingEvent): void;
136
- logExtensionEnableEvent(event: ExtensionEnableEvent): Promise<void>;
137
- logModelSlashCommandEvent(event: ModelSlashCommandEvent): void;
138
- logExtensionDisableEvent(event: ExtensionDisableEvent): Promise<void>;
139
- logSmartEditStrategyEvent(event: SmartEditStrategyEvent): void;
140
- logSmartEditCorrectionEvent(event: SmartEditCorrectionEvent): void;
141
- logAgentStartEvent(event: AgentStartEvent): void;
142
- logAgentFinishEvent(event: AgentFinishEvent): void;
143
- logRecoveryAttemptEvent(event: RecoveryAttemptEvent): void;
144
- logWebFetchFallbackAttemptEvent(event: WebFetchFallbackAttemptEvent): void;
145
- logLlmLoopCheckEvent(event: LlmLoopCheckEvent): void;
146
- /**
147
- * Adds default fields to data, and returns a new data array. This fields
148
- * should exist on all log events.
149
- */
150
- addDefaultFields(data: EventValue[], totalAccounts: number): EventValue[];
151
- getProxyAgent(): HttpsProxyAgent<string> | undefined;
152
- getConfigJson(): string;
153
- shutdown(): void;
154
- private requeueFailedEvents;
155
- }
156
- export declare const TEST_ONLY: {
157
- MAX_RETRY_EVENTS: number;
158
- MAX_EVENTS: number;
159
- };