diff --git a/.claude/commands/aix/sync-anthropic-api.md b/.claude/commands/aix/sync-anthropic-api.md new file mode 100644 index 000000000..1c2e48279 --- /dev/null +++ b/.claude/commands/aix/sync-anthropic-api.md @@ -0,0 +1,31 @@ +--- +description: Sync Anthropic API implementation with latest upstream documentation +argument-hint: specific feature to check +--- + +Please take a look at my API code for Anthropic: message wire types `src/modules/aix/server/dispatch/wiretypes/anthropic.wiretypes.ts`, assembly of the request messages (adapters) `src/modules/aix/server/dispatch/chatGenerate/adapters/anthropic.messageCreate.ts`, and parsing of the response in streaming or not `src/modules/aix/server/dispatch/chatGenerate/parsers/anthropic.parser.ts`. + +IMPORTANT: we only support the Messages API (message create). We do NOT support other APIs such as the older Completions API. +We support Anthropic caching natively, and want to make sure tools and state (crafting the history) are also done well. + +Then take a look at the newest API information available. Try these sources, and be creative if some are blocked: + +**Primary Sources:** +- Docs API: https://docs.claude.com/en/api/messages +- Release notes: https://docs.claude.com/en/release-notes/api +- Tools use: https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview +- Handling stop reasons: https://docs.claude.com/en/api/handling-stop-reasons + +**Alternative Sources if primary blocked:** +- Anthropic TypeScript SDK: https://github.com/anthropics/anthropic-sdk-typescript +- Anthropic Python SDK: https://github.com/anthropics/anthropic-sdk-python +- Recent news and announcements: Web Search for "anthropic api changelog" or "new claude api" or "new claude api pricing" + +**If all blocked:** Explain what you attempted and ask user to provide documentation manually. + +$ARGUMENTS +Check carefully and look if there are any discrepancies in the protocols, the available API surface, the structure of the messages, functionality, logic, etc. +Make sure you look deep in the fields of the requests and responses, especially required fields, streaming event types, and any new response shapes. + +Please point out all of the differences in the API whether it's in the final parsing and reassembly of the streaming message, or the protocol changed, etc. +Prioritize breaking changes and new capabilities that would improve the user experience. \ No newline at end of file diff --git a/.claude/commands/aix/sync-gemini-api.md b/.claude/commands/aix/sync-gemini-api.md new file mode 100644 index 000000000..c81d0a677 --- /dev/null +++ b/.claude/commands/aix/sync-gemini-api.md @@ -0,0 +1,30 @@ +--- +description: Sync Google Gemini API implementation with latest upstream documentation +argument-hint: specific feature to check +--- + +Please take a look at my API code for Google Gemini: message wire types `src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts`, assembly of the request messages (adapters) `src/modules/aix/server/dispatch/chatGenerate/adapters/gemini.generateContent.ts`, and parsing of the response in streaming or not `src/modules/aix/server/dispatch/chatGenerate/parsers/gemini.parser.ts`. + +IMPORTANT: we only support the generateContent API, not other Gemini APIs such as embeddings, etc. +Caching is only supported when implicit, we do not explicitly manage Gemini Caches. Same for file uploads and other systems. +Image generation happens through models, i.e. 'Gemini 2.5 Flash - Nano Banana' generates images using AIX from generateContent (chat input). + +Then take a look at the newest API information available. Try these sources, and be creative if some are blocked: + +**Primary Sources:** +- Docs API 1/2: https://ai.google.dev/api/generate-content +- Docs API 2/2: https://ai.google.dev/api/caching#Content +- Release notes: https://ai.google.dev/gemini-api/docs/changelog + +**Alternative Sources if primary blocked:** +- Google AI JavaScript SDK: https://github.com/googleapis/js-genai (check latest commits, README, type definitions) + Recent news and announcements: Web Search for "gemini api changelog" or "nwe gemini api updates" or "new gemini api pricing" + +**If all blocked:** Explain what you attempted and ask user to provide documentation manually. + +$ARGUMENTS +Check carefully and look if there are any discrepancies in the protocols, the available API surface, the structure of the messages, functionality, logic, etc. +Make sure you look deep in the fields of the requests and responses, especially required fields, streaming event types, and any new response shapes. + +Please point out all of the differences in the API whether it's in the final parsing and reassembly of the streaming message, or the protocol changed, etc. +Prioritize breaking changes and new capabilities that would improve the user experience. \ No newline at end of file diff --git a/.claude/commands/aix/sync-openai-apis.md b/.claude/commands/aix/sync-openai-apis.md new file mode 100644 index 000000000..9d90bf083 --- /dev/null +++ b/.claude/commands/aix/sync-openai-apis.md @@ -0,0 +1,34 @@ +--- +description: Sync OpenAI API implementation with latest upstream documentation +argument-hint: specific feature to check +--- + +Please take a look at my API code for OpenAI: message wire types `src/modules/aix/server/dispatch/wiretypes/openai.wiretypes.ts`, assembly of the request messages (adapters) `src/modules/aix/server/dispatch/chatGenerate/adapters/openai.chatCompletions.ts`, and parsing of the response in streaming or not `src/modules/aix/server/dispatch/chatGenerate/parsers/openai.parser.ts`. + +IMPORTANT: we prioritize the new Responses API, while Chat Completions is still supported but legacy. +We do NOT support other APIs such as Realtime (incl. websockets), etc. +We also do not support Agentic APIs (Agent SDK, AgentKit, ChatKit, Assistants API etc), as we perform similar functionality in AIX (server or client side). + +Then take a look at the newest API information available. Try these sources, and be creative if some are blocked: + +**Primary Sources:** +- Responses API (AIX prioritizes it): https://platform.openai.com/docs/api-reference/responses/create +- Chat Completions API: https://platform.openai.com/docs/api-reference/chat/create +- Changelog: https://platform.openai.com/docs/changelog +- Models: https://platform.openai.com/docs/models +- Pricing (use Copy Page button to download markdown): https://platform.openai.com/docs/pricing + +**Alternative Sources if primary blocked:** +- OpenAI Node.js SDK: https://github.com/openai/openai-node +- OpenAI Python SDK: https://github.com/openai/openai-python +- OpenAI OpenAPI spec: https://github.com/openai/openai-openapi + Recent news and announcements: Web Search for "openai api changelog" or "openai new models" or "openai new prices" + +**If all blocked:** Explain what you attempted and ask user to provide documentation manually. + +$ARGUMENTS +Check carefully and look if there are any discrepancies in the protocols, the available API surface, the structure of the messages, functionality, logic, etc. +Make sure you look deep in the fields of the requests and responses, especially required fields, streaming event types, and any new response shapes. + +Please point out all of the differences in the API whether it's in the final parsing and reassembly of the streaming message, or the protocol changed, etc. +Prioritize breaking changes and new capabilities that would improve the user experience. \ No newline at end of file