@terminai/core 0.26.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 (97) 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/auth/wizardSettings.js +3 -0
  21. package/dist/src/auth/wizardSettings.js.map +1 -1
  22. package/dist/src/auth/wizardSettings.test.js +3 -0
  23. package/dist/src/auth/wizardSettings.test.js.map +1 -1
  24. package/dist/src/brain/__tests__/advisors.test.js +25 -6
  25. package/dist/src/brain/__tests__/advisors.test.js.map +1 -1
  26. package/dist/src/brain/__tests__/cognitiveArchitecture.test.js +24 -0
  27. package/dist/src/brain/__tests__/cognitiveArchitecture.test.js.map +1 -1
  28. package/dist/src/brain/__tests__/thinkingOrchestrator.test.js +29 -5
  29. package/dist/src/brain/__tests__/thinkingOrchestrator.test.js.map +1 -1
  30. package/dist/src/config/builder.js +4 -1
  31. package/dist/src/config/builder.js.map +1 -1
  32. package/dist/src/config/settings/loader.d.ts +1 -0
  33. package/dist/src/config/settings/loader.js +10 -0
  34. package/dist/src/config/settings/loader.js.map +1 -1
  35. package/dist/src/config/settings/schema.d.ts +2 -5
  36. package/dist/src/config/settings/schema.js +2 -3
  37. package/dist/src/config/settings/schema.js.map +1 -1
  38. package/dist/src/core/client.test.js +0 -2
  39. package/dist/src/core/client.test.js.map +1 -1
  40. package/dist/src/core/coreToolScheduler.test.js +1 -1
  41. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  42. package/dist/src/generated/git-commit.d.ts +2 -2
  43. package/dist/src/generated/git-commit.js +2 -2
  44. package/dist/src/generated/git-commit.js.map +1 -1
  45. package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +3 -0
  46. package/dist/src/mcp/token-storage/hybrid-token-storage.js +34 -13
  47. package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
  48. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +25 -0
  49. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -1
  50. package/dist/src/openai_chatgpt/imports.test.js +17 -1
  51. package/dist/src/openai_chatgpt/imports.test.js.map +1 -1
  52. package/dist/src/telemetry/config.d.ts +1 -0
  53. package/dist/src/telemetry/config.js +3 -4
  54. package/dist/src/telemetry/config.js.map +1 -1
  55. package/dist/src/telemetry/config.test.js +6 -4
  56. package/dist/src/telemetry/config.test.js.map +1 -1
  57. package/dist/src/telemetry/index.d.ts +0 -2
  58. package/dist/src/telemetry/index.js +0 -2
  59. package/dist/src/telemetry/index.js.map +1 -1
  60. package/dist/src/telemetry/loggers.js +0 -36
  61. package/dist/src/telemetry/loggers.js.map +1 -1
  62. package/dist/src/telemetry/loggers.test.js +17 -1
  63. package/dist/src/telemetry/loggers.test.js.map +1 -1
  64. package/dist/src/telemetry/sdk.js +24 -19
  65. package/dist/src/telemetry/sdk.js.map +1 -1
  66. package/dist/src/telemetry/sdk.test.js +17 -135
  67. package/dist/src/telemetry/sdk.test.js.map +1 -1
  68. package/dist/src/tools/confirmation-policy.test.js +1 -1
  69. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  70. package/dist/src/utils/paths.js +7 -3
  71. package/dist/src/utils/paths.js.map +1 -1
  72. package/dist/src/utils/paths.test.js +31 -2
  73. package/dist/src/utils/paths.test.js.map +1 -1
  74. package/dist/src/utils/shell-permissions.test.js +4 -2
  75. package/dist/src/utils/shell-permissions.test.js.map +1 -1
  76. package/dist/src/utils/shell-utils.test.js +4 -2
  77. package/dist/src/utils/shell-utils.test.js.map +1 -1
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/package.json +1 -5
  80. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +0 -159
  81. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +0 -1210
  82. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +0 -1
  83. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -20
  84. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +0 -835
  85. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +0 -1
  86. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +0 -140
  87. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +0 -350
  88. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +0 -1
  89. package/dist/src/telemetry/gcp-exporters.d.ts +0 -36
  90. package/dist/src/telemetry/gcp-exporters.js +0 -121
  91. package/dist/src/telemetry/gcp-exporters.js.map +0 -1
  92. package/dist/src/telemetry/gcp-exporters.test.d.ts +0 -7
  93. package/dist/src/telemetry/gcp-exporters.test.js +0 -319
  94. package/dist/src/telemetry/gcp-exporters.test.js.map +0 -1
  95. package/dist/src/telemetry/integration.test.circular.d.ts +0 -7
  96. package/dist/src/telemetry/integration.test.circular.js +0 -55
  97. 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.26.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
- };