-
Notifications
You must be signed in to change notification settings - Fork 1
chore(telemetry): rebrand to proto-cli, nuke qwen-logger Alibaba RUM ping #167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,6 +9,6 @@ export * from './base-token-storage.js'; | |
| export * from './file-token-storage.js'; | ||
| export * from './hybrid-token-storage.js'; | ||
|
|
||
| export const DEFAULT_SERVICE_NAME = 'qwen-code-oauth'; | ||
| export const DEFAULT_SERVICE_NAME = 'proto-cli-oauth'; | ||
| export const FORCE_ENCRYPTED_FILE_ENV_VAR = | ||
| 'QWEN_CODE_FORCE_ENCRYPTED_FILE_STORAGE'; | ||
| 'PROTO_CLI_FORCE_ENCRYPTED_FILE_STORAGE'; | ||
|
Comment on lines
+12
to
+14
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This token-storage rename still breaks existing installs.
🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,49 +4,49 @@ | |
| * SPDX-License-Identifier: Apache-2.0 | ||
| */ | ||
|
|
||
| export const SERVICE_NAME = 'qwen-code'; | ||
| export const SERVICE_NAME = 'proto-cli'; | ||
|
|
||
| export const EVENT_USER_PROMPT = 'qwen-code.user_prompt'; | ||
| export const EVENT_USER_RETRY = 'qwen-code.user_retry'; | ||
| export const EVENT_TOOL_CALL = 'qwen-code.tool_call'; | ||
| export const EVENT_API_REQUEST = 'qwen-code.api_request'; | ||
| export const EVENT_API_ERROR = 'qwen-code.api_error'; | ||
| export const EVENT_API_CANCEL = 'qwen-code.api_cancel'; | ||
| export const EVENT_API_RESPONSE = 'qwen-code.api_response'; | ||
| export const EVENT_CLI_CONFIG = 'qwen-code.config'; | ||
| export const EVENT_EXTENSION_DISABLE = 'qwen-code.extension_disable'; | ||
| export const EVENT_EXTENSION_ENABLE = 'qwen-code.extension_enable'; | ||
| export const EVENT_EXTENSION_INSTALL = 'qwen-code.extension_install'; | ||
| export const EVENT_EXTENSION_UNINSTALL = 'qwen-code.extension_uninstall'; | ||
| export const EVENT_EXTENSION_UPDATE = 'qwen-code.extension_update'; | ||
| export const EVENT_FLASH_FALLBACK = 'qwen-code.flash_fallback'; | ||
| export const EVENT_RIPGREP_FALLBACK = 'qwen-code.ripgrep_fallback'; | ||
| export const EVENT_NEXT_SPEAKER_CHECK = 'qwen-code.next_speaker_check'; | ||
| export const EVENT_SLASH_COMMAND = 'qwen-code.slash_command'; | ||
| export const EVENT_IDE_CONNECTION = 'qwen-code.ide_connection'; | ||
| export const EVENT_CHAT_COMPRESSION = 'qwen-code.chat_compression'; | ||
| export const EVENT_INVALID_CHUNK = 'qwen-code.chat.invalid_chunk'; | ||
| export const EVENT_CONTENT_RETRY = 'qwen-code.chat.content_retry'; | ||
| export const EVENT_CONTENT_RETRY_FAILURE = | ||
| 'qwen-code.chat.content_retry_failure'; | ||
| export const EVENT_CONVERSATION_FINISHED = 'qwen-code.conversation_finished'; | ||
| export const EVENT_MALFORMED_JSON_RESPONSE = | ||
| 'qwen-code.malformed_json_response'; | ||
| export const EVENT_FILE_OPERATION = 'qwen-code.file_operation'; | ||
| export const EVENT_MODEL_SLASH_COMMAND = 'qwen-code.slash_command.model'; | ||
| export const EVENT_SUBAGENT_EXECUTION = 'qwen-code.subagent_execution'; | ||
| export const EVENT_SKILL_LAUNCH = 'qwen-code.skill_launch'; | ||
| export const EVENT_AUTH = 'qwen-code.auth'; | ||
| export const EVENT_USER_FEEDBACK = 'qwen-code.user_feedback'; | ||
| export const EVENT_USER_PROMPT = 'proto.user_prompt'; | ||
| export const EVENT_USER_RETRY = 'proto.user_retry'; | ||
| export const EVENT_TOOL_CALL = 'proto.tool_call'; | ||
| export const EVENT_API_REQUEST = 'proto.api_request'; | ||
|
Comment on lines
+9
to
+12
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Finish the These constants now define the new namespace, but several event classes in Also applies to: 47-49 🤖 Prompt for AI Agents |
||
| export const EVENT_API_ERROR = 'proto.api_error'; | ||
| export const EVENT_API_CANCEL = 'proto.api_cancel'; | ||
| export const EVENT_API_RESPONSE = 'proto.api_response'; | ||
| export const EVENT_CLI_CONFIG = 'proto.config'; | ||
| export const EVENT_EXTENSION_DISABLE = 'proto.extension_disable'; | ||
| export const EVENT_EXTENSION_ENABLE = 'proto.extension_enable'; | ||
| export const EVENT_EXTENSION_INSTALL = 'proto.extension_install'; | ||
| export const EVENT_EXTENSION_UNINSTALL = 'proto.extension_uninstall'; | ||
| export const EVENT_EXTENSION_UPDATE = 'proto.extension_update'; | ||
| export const EVENT_FLASH_FALLBACK = 'proto.flash_fallback'; | ||
| export const EVENT_RIPGREP_FALLBACK = 'proto.ripgrep_fallback'; | ||
| export const EVENT_NEXT_SPEAKER_CHECK = 'proto.next_speaker_check'; | ||
| export const EVENT_SLASH_COMMAND = 'proto.slash_command'; | ||
| export const EVENT_IDE_CONNECTION = 'proto.ide_connection'; | ||
| export const EVENT_CHAT_COMPRESSION = 'proto.chat_compression'; | ||
| export const EVENT_INVALID_CHUNK = 'proto.chat.invalid_chunk'; | ||
| export const EVENT_CONTENT_RETRY = 'proto.chat.content_retry'; | ||
| export const EVENT_CONTENT_RETRY_FAILURE = 'proto.chat.content_retry_failure'; | ||
| export const EVENT_CONVERSATION_FINISHED = 'proto.conversation_finished'; | ||
| export const EVENT_MALFORMED_JSON_RESPONSE = 'proto.malformed_json_response'; | ||
| export const EVENT_FILE_OPERATION = 'proto.file_operation'; | ||
| export const EVENT_MODEL_SLASH_COMMAND = 'proto.slash_command.model'; | ||
| export const EVENT_SUBAGENT_EXECUTION = 'proto.subagent_execution'; | ||
| export const EVENT_SKILL_LAUNCH = 'proto.skill_launch'; | ||
| export const EVENT_HOOK_CALL = 'proto.hook_call'; | ||
| export const EVENT_LOOP_DETECTION_DISABLED = 'proto.loop_detection_disabled'; | ||
| export const EVENT_AUTH = 'proto.auth'; | ||
| export const EVENT_USER_FEEDBACK = 'proto.user_feedback'; | ||
|
|
||
| // Prompt Suggestion Events | ||
| export const EVENT_PROMPT_SUGGESTION = 'qwen-code.prompt_suggestion'; | ||
| export const EVENT_SPECULATION = 'qwen-code.speculation'; | ||
| export const EVENT_PROMPT_SUGGESTION = 'proto.prompt_suggestion'; | ||
| export const EVENT_SPECULATION = 'proto.speculation'; | ||
|
|
||
| // Arena Events | ||
| export const EVENT_ARENA_SESSION_STARTED = 'qwen-code.arena_session_started'; | ||
| export const EVENT_ARENA_AGENT_COMPLETED = 'qwen-code.arena_agent_completed'; | ||
| export const EVENT_ARENA_SESSION_ENDED = 'qwen-code.arena_session_ended'; | ||
| export const EVENT_ARENA_SESSION_STARTED = 'proto.arena_session_started'; | ||
| export const EVENT_ARENA_AGENT_COMPLETED = 'proto.arena_agent_completed'; | ||
| export const EVENT_ARENA_SESSION_ENDED = 'proto.arena_session_ended'; | ||
|
|
||
| // Harness Events — captured for Langfuse fine-tuning datasets | ||
| export const EVENT_HARNESS_DOOM_LOOP = 'proto.harness.doom_loop'; | ||
|
|
@@ -59,7 +59,7 @@ export const EVENT_HARNESS_SPRINT_CONTRACT = 'proto.harness.sprint_contract'; | |
| export const EVENT_HARNESS_REMINDER = 'proto.harness.reminder'; | ||
|
|
||
| // Performance Events | ||
| export const EVENT_STARTUP_PERFORMANCE = 'qwen-code.startup.performance'; | ||
| export const EVENT_MEMORY_USAGE = 'qwen-code.memory.usage'; | ||
| export const EVENT_PERFORMANCE_BASELINE = 'qwen-code.performance.baseline'; | ||
| export const EVENT_PERFORMANCE_REGRESSION = 'qwen-code.performance.regression'; | ||
| export const EVENT_STARTUP_PERFORMANCE = 'proto.startup.performance'; | ||
| export const EVENT_MEMORY_USAGE = 'proto.memory.usage'; | ||
| export const EVENT_PERFORMANCE_BASELINE = 'proto.performance.baseline'; | ||
| export const EVENT_PERFORMANCE_REGRESSION = 'proto.performance.regression'; | ||
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Preserve a legacy decryption path for existing file tokens.
Changing both the scrypt password and salt changes the AES key, but the token file path stays
~/.qwen/mcp-oauth-tokens-v2.json. Existing encrypted files will now faildecrypt()and surface asToken file corrupteduntil users reauthenticate, so this needs a fallback or an on-read migration strategy.🤖 Prompt for AI Agents