xcode-copilot-server 3.0.0 → 3.1.1

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 (118) hide show
  1. package/dist/cli-validators.d.ts +2 -0
  2. package/dist/cli-validators.js +8 -1
  3. package/dist/cli-validators.js.map +1 -1
  4. package/dist/config.js +1 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.js +48 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/launchd/agent.d.ts +52 -0
  9. package/dist/launchd/agent.js +185 -0
  10. package/dist/launchd/agent.js.map +1 -0
  11. package/dist/launchd/index.d.ts +4 -0
  12. package/dist/launchd/index.js +3 -0
  13. package/dist/launchd/index.js.map +1 -0
  14. package/dist/launchd/socket.d.ts +5 -0
  15. package/dist/launchd/socket.js +31 -0
  16. package/dist/launchd/socket.js.map +1 -0
  17. package/dist/launchd-agent.d.ts +50 -0
  18. package/dist/launchd-agent.js +175 -0
  19. package/dist/launchd-agent.js.map +1 -0
  20. package/dist/launchd-socket.d.ts +5 -0
  21. package/dist/launchd-socket.js +33 -0
  22. package/dist/launchd-socket.js.map +1 -0
  23. package/dist/startup.d.ts +2 -0
  24. package/dist/startup.js +47 -5
  25. package/dist/startup.js.map +1 -1
  26. package/dist/stats.d.ts +48 -0
  27. package/dist/stats.js +68 -0
  28. package/dist/stats.js.map +1 -0
  29. package/dist/status-line.d.ts +11 -0
  30. package/dist/status-line.js +101 -0
  31. package/dist/status-line.js.map +1 -0
  32. package/package.json +8 -5
  33. package/LICENSE +0 -21
  34. package/README.md +0 -269
  35. package/dist/config-schema.d.ts +0 -85
  36. package/dist/config-schema.js +0 -38
  37. package/dist/config-schema.js.map +0 -1
  38. package/dist/handlers/completions/session-config.d.ts +0 -12
  39. package/dist/handlers/completions/session-config.js +0 -63
  40. package/dist/handlers/completions/session-config.js.map +0 -1
  41. package/dist/handlers/completions/streaming.d.ts +0 -4
  42. package/dist/handlers/completions/streaming.js +0 -121
  43. package/dist/handlers/completions/streaming.js.map +0 -1
  44. package/dist/handlers/completions.d.ts +0 -4
  45. package/dist/handlers/completions.js +0 -120
  46. package/dist/handlers/completions.js.map +0 -1
  47. package/dist/handlers/errors.d.ts +0 -5
  48. package/dist/handlers/errors.js +0 -10
  49. package/dist/handlers/errors.js.map +0 -1
  50. package/dist/handlers/messages/count-tokens.d.ts +0 -3
  51. package/dist/handlers/messages/count-tokens.js +0 -72
  52. package/dist/handlers/messages/count-tokens.js.map +0 -1
  53. package/dist/handlers/messages/streaming.d.ts +0 -6
  54. package/dist/handlers/messages/streaming.js +0 -274
  55. package/dist/handlers/messages/streaming.js.map +0 -1
  56. package/dist/handlers/messages/tool-result-handler.d.ts +0 -4
  57. package/dist/handlers/messages/tool-result-handler.js +0 -19
  58. package/dist/handlers/messages/tool-result-handler.js.map +0 -1
  59. package/dist/handlers/messages.d.ts +0 -4
  60. package/dist/handlers/messages.js +0 -150
  61. package/dist/handlers/messages.js.map +0 -1
  62. package/dist/handlers/models.d.ts +0 -3
  63. package/dist/handlers/models.js +0 -28
  64. package/dist/handlers/models.js.map +0 -1
  65. package/dist/handlers/responses/streaming.d.ts +0 -6
  66. package/dist/handlers/responses/streaming.js +0 -265
  67. package/dist/handlers/responses/streaming.js.map +0 -1
  68. package/dist/handlers/responses/tool-result-handler.d.ts +0 -4
  69. package/dist/handlers/responses/tool-result-handler.js +0 -9
  70. package/dist/handlers/responses/tool-result-handler.js.map +0 -1
  71. package/dist/handlers/responses.d.ts +0 -4
  72. package/dist/handlers/responses.js +0 -164
  73. package/dist/handlers/responses.js.map +0 -1
  74. package/dist/handlers/session-config.d.ts +0 -15
  75. package/dist/handlers/session-config.js +0 -79
  76. package/dist/handlers/session-config.js.map +0 -1
  77. package/dist/handlers/streaming-utils.d.ts +0 -10
  78. package/dist/handlers/streaming-utils.js +0 -22
  79. package/dist/handlers/streaming-utils.js.map +0 -1
  80. package/dist/providers/anthropic.d.ts +0 -5
  81. package/dist/providers/anthropic.js +0 -28
  82. package/dist/providers/anthropic.js.map +0 -1
  83. package/dist/providers/codex.d.ts +0 -5
  84. package/dist/providers/codex.js +0 -24
  85. package/dist/providers/codex.js.map +0 -1
  86. package/dist/providers/openai.d.ts +0 -5
  87. package/dist/providers/openai.js +0 -25
  88. package/dist/providers/openai.js.map +0 -1
  89. package/dist/schemas/anthropic.d.ts +0 -140
  90. package/dist/schemas/anthropic.js +0 -58
  91. package/dist/schemas/anthropic.js.map +0 -1
  92. package/dist/schemas/openai.d.ts +0 -98
  93. package/dist/schemas/openai.js +0 -76
  94. package/dist/schemas/openai.js.map +0 -1
  95. package/dist/schemas/responses.d.ts +0 -122
  96. package/dist/schemas/responses.js +0 -54
  97. package/dist/schemas/responses.js.map +0 -1
  98. package/dist/schemas.d.ts +0 -49
  99. package/dist/schemas.js +0 -75
  100. package/dist/schemas.js.map +0 -1
  101. package/dist/settings-patcher/anthropic.d.ts +0 -5
  102. package/dist/settings-patcher/anthropic.js +0 -75
  103. package/dist/settings-patcher/anthropic.js.map +0 -1
  104. package/dist/types.d.ts +0 -83
  105. package/dist/types.js +0 -2
  106. package/dist/types.js.map +0 -1
  107. package/dist/utils/anthropic-prompt.d.ts +0 -2
  108. package/dist/utils/anthropic-prompt.js +0 -52
  109. package/dist/utils/anthropic-prompt.js.map +0 -1
  110. package/dist/utils/model-resolver.d.ts +0 -3
  111. package/dist/utils/model-resolver.js +0 -45
  112. package/dist/utils/model-resolver.js.map +0 -1
  113. package/dist/utils/prompt.d.ts +0 -3
  114. package/dist/utils/prompt.js +0 -50
  115. package/dist/utils/prompt.js.map +0 -1
  116. package/dist/utils/responses-prompt.d.ts +0 -4
  117. package/dist/utils/responses-prompt.js +0 -58
  118. package/dist/utils/responses-prompt.js.map +0 -1
@@ -1,98 +0,0 @@
1
- import { z } from "zod";
2
- declare const MessageSchema: z.ZodObject<{
3
- role: z.ZodOptional<z.ZodEnum<{
4
- system: "system";
5
- developer: "developer";
6
- user: "user";
7
- assistant: "assistant";
8
- tool: "tool";
9
- }>>;
10
- content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodObject<{
11
- type: z.ZodString;
12
- text: z.ZodOptional<z.ZodString>;
13
- }, z.core.$loose>>, z.ZodNull]>>;
14
- name: z.ZodOptional<z.ZodString>;
15
- tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
16
- index: z.ZodOptional<z.ZodNumber>;
17
- id: z.ZodOptional<z.ZodString>;
18
- type: z.ZodOptional<z.ZodString>;
19
- function: z.ZodObject<{
20
- name: z.ZodString;
21
- arguments: z.ZodString;
22
- }, z.core.$strip>;
23
- }, z.core.$strip>>>;
24
- tool_call_id: z.ZodOptional<z.ZodString>;
25
- }, z.core.$strip>;
26
- export type ChatCompletionMessage = z.infer<typeof MessageSchema>;
27
- export declare const ChatCompletionRequestSchema: z.ZodObject<{
28
- model: z.ZodString;
29
- messages: z.ZodArray<z.ZodObject<{
30
- role: z.ZodOptional<z.ZodEnum<{
31
- system: "system";
32
- developer: "developer";
33
- user: "user";
34
- assistant: "assistant";
35
- tool: "tool";
36
- }>>;
37
- content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodObject<{
38
- type: z.ZodString;
39
- text: z.ZodOptional<z.ZodString>;
40
- }, z.core.$loose>>, z.ZodNull]>>;
41
- name: z.ZodOptional<z.ZodString>;
42
- tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
43
- index: z.ZodOptional<z.ZodNumber>;
44
- id: z.ZodOptional<z.ZodString>;
45
- type: z.ZodOptional<z.ZodString>;
46
- function: z.ZodObject<{
47
- name: z.ZodString;
48
- arguments: z.ZodString;
49
- }, z.core.$strip>;
50
- }, z.core.$strip>>>;
51
- tool_call_id: z.ZodOptional<z.ZodString>;
52
- }, z.core.$strip>>;
53
- temperature: z.ZodOptional<z.ZodNumber>;
54
- top_p: z.ZodOptional<z.ZodNumber>;
55
- n: z.ZodOptional<z.ZodNumber>;
56
- stop: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
57
- max_tokens: z.ZodOptional<z.ZodNumber>;
58
- presence_penalty: z.ZodOptional<z.ZodNumber>;
59
- frequency_penalty: z.ZodOptional<z.ZodNumber>;
60
- tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
61
- type: z.ZodString;
62
- function: z.ZodObject<{
63
- name: z.ZodString;
64
- description: z.ZodOptional<z.ZodString>;
65
- parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
66
- }, z.core.$strip>;
67
- }, z.core.$strip>>>;
68
- tool_choice: z.ZodOptional<z.ZodUnknown>;
69
- user: z.ZodOptional<z.ZodString>;
70
- }, z.core.$strip>;
71
- export type ChatCompletionRequest = z.infer<typeof ChatCompletionRequestSchema>;
72
- export interface Choice {
73
- index: number;
74
- message?: ChatCompletionMessage | undefined;
75
- delta?: Partial<ChatCompletionMessage> | undefined;
76
- finish_reason: string | null;
77
- }
78
- export interface ChatCompletionChunk {
79
- id: string;
80
- object: "chat.completion.chunk";
81
- created: number;
82
- model: string;
83
- choices: Choice[];
84
- system_fingerprint?: string | undefined;
85
- }
86
- export interface Model {
87
- id: string;
88
- object: "model";
89
- created: number;
90
- owned_by: string;
91
- }
92
- export interface ModelsResponse {
93
- object: "list";
94
- data: Model[];
95
- }
96
- export declare function currentTimestamp(): number;
97
- export declare function extractContentText(content: ChatCompletionMessage["content"]): string;
98
- export {};
@@ -1,76 +0,0 @@
1
- import { z } from "zod";
2
- const ContentPartSchema = z.looseObject({
3
- type: z.string(),
4
- text: z.string().optional(),
5
- });
6
- const VALID_ROLES = ["system", "developer", "user", "assistant", "tool"];
7
- const MessageSchema = z.object({
8
- role: z.enum(VALID_ROLES).optional(),
9
- content: z
10
- .union([z.string(), z.array(ContentPartSchema), z.null()])
11
- .optional(),
12
- name: z.string().optional(),
13
- tool_calls: z
14
- .array(z.object({
15
- index: z.number().optional(),
16
- id: z.string().optional(),
17
- type: z.string().optional(),
18
- function: z.object({
19
- name: z.string(),
20
- arguments: z.string(),
21
- }),
22
- }))
23
- .optional(),
24
- tool_call_id: z.string().optional(),
25
- });
26
- export const ChatCompletionRequestSchema = z.object({
27
- model: z.string().min(1, "Model is required"),
28
- messages: z.array(MessageSchema).min(1, "Messages are required"),
29
- temperature: z.number().optional(),
30
- top_p: z.number().optional(),
31
- n: z.number().optional(),
32
- stop: z.union([z.string(), z.array(z.string())]).optional(),
33
- max_tokens: z.number().optional(),
34
- presence_penalty: z.number().optional(),
35
- frequency_penalty: z.number().optional(),
36
- tools: z
37
- .array(z.object({
38
- type: z.string(),
39
- function: z.object({
40
- name: z.string(),
41
- description: z.string().optional(),
42
- parameters: z.record(z.string(), z.unknown()).optional(),
43
- }),
44
- }))
45
- .optional(),
46
- tool_choice: z.unknown().optional(),
47
- user: z.string().optional(),
48
- });
49
- export function currentTimestamp() {
50
- return Math.floor(Date.now() / 1000);
51
- }
52
- // We only support text content, so this rejects anything else early
53
- // and lets the caller surface a 400.
54
- export function extractContentText(content) {
55
- if (content == null) {
56
- return "";
57
- }
58
- if (typeof content === "string") {
59
- return content;
60
- }
61
- if (!Array.isArray(content)) {
62
- throw new Error(`invalid content type: expected string or array, got ${typeof content}`);
63
- }
64
- let text = "";
65
- for (const part of content) {
66
- if (part.type !== "text") {
67
- throw new Error(`unsupported content type: ${part.type}`);
68
- }
69
- if (typeof part.text !== "string") {
70
- throw new Error("text content part missing required 'text' field");
71
- }
72
- text += part.text;
73
- }
74
- return text;
75
- }
76
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/schemas/openai.ts"],"names":[],"mappings":"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"}
@@ -1,122 +0,0 @@
1
- import { z } from "zod";
2
- declare const ResponsesInputMessageSchema: z.ZodObject<{
3
- type: z.ZodOptional<z.ZodLiteral<"message">>;
4
- role: z.ZodEnum<{
5
- system: "system";
6
- developer: "developer";
7
- user: "user";
8
- assistant: "assistant";
9
- }>;
10
- content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>;
11
- }, z.core.$strip>;
12
- declare const FunctionCallInputSchema: z.ZodObject<{
13
- type: z.ZodLiteral<"function_call">;
14
- id: z.ZodOptional<z.ZodString>;
15
- call_id: z.ZodString;
16
- name: z.ZodString;
17
- arguments: z.ZodString;
18
- }, z.core.$strip>;
19
- declare const FunctionCallOutputInputSchema: z.ZodObject<{
20
- type: z.ZodLiteral<"function_call_output">;
21
- call_id: z.ZodString;
22
- output: z.ZodString;
23
- }, z.core.$strip>;
24
- declare const InputItemSchema: z.ZodUnion<readonly [z.ZodObject<{
25
- type: z.ZodOptional<z.ZodLiteral<"message">>;
26
- role: z.ZodEnum<{
27
- system: "system";
28
- developer: "developer";
29
- user: "user";
30
- assistant: "assistant";
31
- }>;
32
- content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>;
33
- }, z.core.$strip>, z.ZodObject<{
34
- type: z.ZodLiteral<"function_call">;
35
- id: z.ZodOptional<z.ZodString>;
36
- call_id: z.ZodString;
37
- name: z.ZodString;
38
- arguments: z.ZodString;
39
- }, z.core.$strip>, z.ZodObject<{
40
- type: z.ZodLiteral<"function_call_output">;
41
- call_id: z.ZodString;
42
- output: z.ZodString;
43
- }, z.core.$strip>]>;
44
- export type InputItem = z.infer<typeof InputItemSchema>;
45
- export type InputMessage = z.infer<typeof ResponsesInputMessageSchema>;
46
- export type FunctionCallInput = z.infer<typeof FunctionCallInputSchema>;
47
- export type FunctionCallOutputInput = z.infer<typeof FunctionCallOutputInputSchema>;
48
- declare const FunctionToolSchema: z.ZodObject<{
49
- type: z.ZodLiteral<"function">;
50
- name: z.ZodString;
51
- description: z.ZodOptional<z.ZodString>;
52
- parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
53
- strict: z.ZodOptional<z.ZodBoolean>;
54
- }, z.core.$strip>;
55
- export type ResponsesTool = z.infer<typeof FunctionToolSchema>;
56
- /** Narrow to function tools only (ignore web_search, code_interpreter, etc.) */
57
- export declare function filterFunctionTools(tools: Record<string, unknown>[]): ResponsesTool[];
58
- export declare const ResponsesRequestSchema: z.ZodObject<{
59
- model: z.ZodString;
60
- input: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
61
- type: z.ZodOptional<z.ZodLiteral<"message">>;
62
- role: z.ZodEnum<{
63
- system: "system";
64
- developer: "developer";
65
- user: "user";
66
- assistant: "assistant";
67
- }>;
68
- content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>]>;
69
- }, z.core.$strip>, z.ZodObject<{
70
- type: z.ZodLiteral<"function_call">;
71
- id: z.ZodOptional<z.ZodString>;
72
- call_id: z.ZodString;
73
- name: z.ZodString;
74
- arguments: z.ZodString;
75
- }, z.core.$strip>, z.ZodObject<{
76
- type: z.ZodLiteral<"function_call_output">;
77
- call_id: z.ZodString;
78
- output: z.ZodString;
79
- }, z.core.$strip>]>>]>;
80
- instructions: z.ZodOptional<z.ZodString>;
81
- tools: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
82
- stream: z.ZodOptional<z.ZodBoolean>;
83
- temperature: z.ZodOptional<z.ZodNumber>;
84
- previous_response_id: z.ZodOptional<z.ZodString>;
85
- }, z.core.$strip>;
86
- export type ResponsesRequest = z.infer<typeof ResponsesRequestSchema>;
87
- export interface MessageContent {
88
- type: "output_text";
89
- text: string;
90
- annotations: unknown[];
91
- }
92
- export interface MessageOutputItem {
93
- type: "message";
94
- id: string;
95
- status: "in_progress" | "completed";
96
- role: "assistant";
97
- content: MessageContent[];
98
- }
99
- export interface FunctionCallOutputItem {
100
- type: "function_call";
101
- id: string;
102
- call_id: string;
103
- name: string;
104
- arguments: string;
105
- status: "in_progress" | "completed";
106
- }
107
- export type OutputItem = MessageOutputItem | FunctionCallOutputItem;
108
- export interface ResponseObject {
109
- id: string;
110
- object: "response";
111
- created_at: number;
112
- model: string;
113
- status: "in_progress" | "completed" | "incomplete" | "failed";
114
- output: OutputItem[];
115
- error?: {
116
- code: string;
117
- message: string;
118
- } | null;
119
- }
120
- export declare function currentTimestamp(): number;
121
- export declare function genId(prefix: string): string;
122
- export {};
@@ -1,54 +0,0 @@
1
- import { z } from "zod";
2
- const ResponsesInputMessageSchema = z.object({
3
- type: z.literal("message").optional(),
4
- role: z.enum(["user", "assistant", "system", "developer"]),
5
- content: z.union([z.string(), z.array(z.record(z.string(), z.unknown()))]),
6
- });
7
- const FunctionCallInputSchema = z.object({
8
- type: z.literal("function_call"),
9
- id: z.string().optional(),
10
- call_id: z.string(),
11
- name: z.string(),
12
- arguments: z.string(),
13
- });
14
- const FunctionCallOutputInputSchema = z.object({
15
- type: z.literal("function_call_output"),
16
- call_id: z.string(),
17
- output: z.string(),
18
- });
19
- const InputItemSchema = z.union([
20
- ResponsesInputMessageSchema,
21
- FunctionCallInputSchema,
22
- FunctionCallOutputInputSchema,
23
- ]);
24
- /** Accept any tool shape in the request; we only process function tools. */
25
- const RawToolSchema = z.record(z.string(), z.unknown());
26
- const FunctionToolSchema = z.object({
27
- type: z.literal("function"),
28
- name: z.string(),
29
- description: z.string().optional(),
30
- parameters: z.record(z.string(), z.unknown()).optional(),
31
- strict: z.boolean().optional(),
32
- });
33
- /** Narrow to function tools only (ignore web_search, code_interpreter, etc.) */
34
- export function filterFunctionTools(tools) {
35
- return tools
36
- .filter((t) => t.type === "function")
37
- .map((t) => FunctionToolSchema.parse(t));
38
- }
39
- export const ResponsesRequestSchema = z.object({
40
- model: z.string().min(1, "Model is required"),
41
- input: z.union([z.string(), z.array(InputItemSchema)]),
42
- instructions: z.string().optional(),
43
- tools: z.array(RawToolSchema).optional(),
44
- stream: z.boolean().optional(),
45
- temperature: z.number().optional(),
46
- previous_response_id: z.string().optional(),
47
- });
48
- export function currentTimestamp() {
49
- return Math.floor(Date.now() / 1000);
50
- }
51
- export function genId(prefix) {
52
- return `${prefix}_${String(Date.now())}`;
53
- }
54
- //# sourceMappingURL=responses.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/schemas/responses.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts DELETED
@@ -1,49 +0,0 @@
1
- import { z } from "zod";
2
- import type { MessageContent } from "./types.js";
3
- export declare const ChatCompletionRequestSchema: z.ZodObject<{
4
- model: z.ZodString;
5
- messages: z.ZodArray<z.ZodObject<{
6
- role: z.ZodOptional<z.ZodEnum<{
7
- system: "system";
8
- developer: "developer";
9
- user: "user";
10
- assistant: "assistant";
11
- tool: "tool";
12
- }>>;
13
- content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodObject<{
14
- type: z.ZodString;
15
- text: z.ZodOptional<z.ZodString>;
16
- }, z.core.$loose>>, z.ZodNull]>>;
17
- name: z.ZodOptional<z.ZodString>;
18
- tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
19
- index: z.ZodOptional<z.ZodNumber>;
20
- id: z.ZodOptional<z.ZodString>;
21
- type: z.ZodOptional<z.ZodString>;
22
- function: z.ZodObject<{
23
- name: z.ZodString;
24
- arguments: z.ZodString;
25
- }, z.core.$strip>;
26
- }, z.core.$strip>>>;
27
- tool_call_id: z.ZodOptional<z.ZodString>;
28
- }, z.core.$strip>>;
29
- temperature: z.ZodOptional<z.ZodNumber>;
30
- top_p: z.ZodOptional<z.ZodNumber>;
31
- n: z.ZodOptional<z.ZodNumber>;
32
- stop: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
33
- max_tokens: z.ZodOptional<z.ZodNumber>;
34
- presence_penalty: z.ZodOptional<z.ZodNumber>;
35
- frequency_penalty: z.ZodOptional<z.ZodNumber>;
36
- tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
37
- type: z.ZodString;
38
- function: z.ZodObject<{
39
- name: z.ZodString;
40
- description: z.ZodOptional<z.ZodString>;
41
- parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
42
- }, z.core.$strip>;
43
- }, z.core.$strip>>>;
44
- tool_choice: z.ZodOptional<z.ZodUnknown>;
45
- user: z.ZodOptional<z.ZodString>;
46
- }, z.core.$strip>;
47
- export declare function currentTimestamp(): number;
48
- /** @throws {Error} on malformed or unsupported content types. */
49
- export declare function extractContentText(content: MessageContent | undefined): string;
package/dist/schemas.js DELETED
@@ -1,75 +0,0 @@
1
- import { z } from "zod";
2
- const ContentPartSchema = z.looseObject({
3
- type: z.string(),
4
- text: z.string().optional(),
5
- });
6
- const VALID_ROLES = ["system", "developer", "user", "assistant", "tool"];
7
- const MessageSchema = z.object({
8
- role: z.enum(VALID_ROLES).optional(),
9
- content: z
10
- .union([z.string(), z.array(ContentPartSchema), z.null()])
11
- .optional(),
12
- name: z.string().optional(),
13
- tool_calls: z
14
- .array(z.object({
15
- index: z.number().optional(),
16
- id: z.string().optional(),
17
- type: z.string().optional(),
18
- function: z.object({
19
- name: z.string(),
20
- arguments: z.string(),
21
- }),
22
- }))
23
- .optional(),
24
- tool_call_id: z.string().optional(),
25
- });
26
- export const ChatCompletionRequestSchema = z.object({
27
- model: z.string().min(1, "Model is required"),
28
- messages: z.array(MessageSchema).min(1, "Messages are required"),
29
- temperature: z.number().optional(),
30
- top_p: z.number().optional(),
31
- n: z.number().optional(),
32
- stop: z.union([z.string(), z.array(z.string())]).optional(),
33
- max_tokens: z.number().optional(),
34
- presence_penalty: z.number().optional(),
35
- frequency_penalty: z.number().optional(),
36
- tools: z
37
- .array(z.object({
38
- type: z.string(),
39
- function: z.object({
40
- name: z.string(),
41
- description: z.string().optional(),
42
- parameters: z.record(z.string(), z.unknown()).optional(),
43
- }),
44
- }))
45
- .optional(),
46
- tool_choice: z.unknown().optional(),
47
- user: z.string().optional(),
48
- });
49
- export function currentTimestamp() {
50
- return Math.floor(Date.now() / 1000);
51
- }
52
- /** @throws {Error} on malformed or unsupported content types. */
53
- export function extractContentText(content) {
54
- if (content == null) {
55
- return "";
56
- }
57
- if (typeof content === "string") {
58
- return content;
59
- }
60
- if (!Array.isArray(content)) {
61
- throw new Error(`invalid content type: expected string or array, got ${typeof content}`);
62
- }
63
- let text = "";
64
- for (const part of content) {
65
- if (part.type !== "text") {
66
- throw new Error(`unsupported content type: ${part.type}`);
67
- }
68
- if (typeof part.text !== "string") {
69
- throw new Error("text content part missing required 'text' field");
70
- }
71
- text += part.text;
72
- }
73
- return text;
74
- }
75
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { SettingsPaths, PatchResult, PatchOptions, RestoreOptions, DetectOptions } from "./types.js";
2
- export declare function defaultSettingsPaths(): SettingsPaths;
3
- export declare function detectPatchState(options: DetectOptions): Promise<PatchResult>;
4
- export declare function patchAnthropicSettings(options: PatchOptions): Promise<void>;
5
- export declare function restoreAnthropicSettings(options: RestoreOptions): Promise<void>;
@@ -1,75 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { readFile, writeFile, rename, unlink, mkdir, copyFile } from "node:fs/promises";
3
- import { join } from "node:path";
4
- import { homedir } from "node:os";
5
- export function defaultSettingsPaths() {
6
- const dir = join(homedir(), "Library/Developer/Xcode/CodingAssistant/ClaudeAgentConfig");
7
- return {
8
- dir,
9
- file: join(dir, "settings.json"),
10
- backup: join(dir, "settings.json.backup"),
11
- };
12
- }
13
- function isSettings(value) {
14
- return typeof value === "object" && value !== null && !Array.isArray(value);
15
- }
16
- async function readSettingsFile(path) {
17
- if (!existsSync(path))
18
- return null;
19
- const content = await readFile(path, "utf-8");
20
- const parsed = JSON.parse(content);
21
- return isSettings(parsed) ? parsed : null;
22
- }
23
- export async function detectPatchState(options) {
24
- const { logger } = options;
25
- const p = options.paths ?? defaultSettingsPaths();
26
- if (!existsSync(p.backup)) {
27
- return { patched: false };
28
- }
29
- try {
30
- const settings = await readSettingsFile(p.file);
31
- const url = settings?.env?.ANTHROPIC_BASE_URL;
32
- if (url) {
33
- const match = /localhost:(\d+)/.exec(url);
34
- if (match?.[1]) {
35
- return { patched: true, port: parseInt(match[1], 10) };
36
- }
37
- }
38
- }
39
- catch (err) {
40
- logger.warn(`Could not read settings.json to extract port: ${String(err)}`);
41
- }
42
- return { patched: true };
43
- }
44
- export async function patchAnthropicSettings(options) {
45
- const { logger } = options;
46
- const p = options.paths ?? defaultSettingsPaths();
47
- await mkdir(p.dir, { recursive: true });
48
- // Only back up once so crash recovery doesn't overwrite the original.
49
- if (existsSync(p.file) && !existsSync(p.backup)) {
50
- await copyFile(p.file, p.backup);
51
- }
52
- let settings = {};
53
- try {
54
- settings = await readSettingsFile(p.file) ?? {};
55
- }
56
- catch (err) {
57
- logger.warn(`Could not read settings.json, starting fresh: ${String(err)}`);
58
- }
59
- settings.env = {
60
- ...settings.env,
61
- ANTHROPIC_BASE_URL: `http://localhost:${String(options.port)}`,
62
- ANTHROPIC_AUTH_TOKEN: options.authToken ?? "12345",
63
- };
64
- await writeFile(p.file, JSON.stringify(settings, null, 2) + "\n", "utf-8");
65
- }
66
- export async function restoreAnthropicSettings(options) {
67
- const p = options.paths ?? defaultSettingsPaths();
68
- if (existsSync(p.file)) {
69
- await unlink(p.file);
70
- }
71
- if (existsSync(p.backup)) {
72
- await rename(p.backup, p.file);
73
- }
74
- }
75
- //# sourceMappingURL=anthropic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/settings-patcher/anthropic.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,83 +0,0 @@
1
- export interface ContentPart {
2
- type: string;
3
- text?: string | undefined;
4
- }
5
- export type MessageContent = string | ContentPart[] | null;
6
- export interface ToolCallFunction {
7
- name: string;
8
- arguments: string;
9
- }
10
- export interface ToolCall {
11
- index?: number | undefined;
12
- id?: string | undefined;
13
- type?: string | undefined;
14
- function: ToolCallFunction;
15
- }
16
- export interface Message {
17
- role?: "system" | "developer" | "user" | "assistant" | "tool" | undefined;
18
- content?: MessageContent | undefined;
19
- name?: string | undefined;
20
- tool_calls?: ToolCall[] | undefined;
21
- tool_call_id?: string | undefined;
22
- }
23
- export interface ToolFunction {
24
- name: string;
25
- description?: string | undefined;
26
- parameters?: Record<string, unknown> | undefined;
27
- }
28
- export interface Tool {
29
- type: string;
30
- function: ToolFunction;
31
- }
32
- export interface ChatCompletionRequest {
33
- model: string;
34
- messages: Message[];
35
- temperature?: number | undefined;
36
- top_p?: number | undefined;
37
- n?: number | undefined;
38
- stop?: string | string[] | undefined;
39
- max_tokens?: number | undefined;
40
- presence_penalty?: number | undefined;
41
- frequency_penalty?: number | undefined;
42
- tools?: Tool[] | undefined;
43
- tool_choice?: unknown;
44
- user?: string | undefined;
45
- }
46
- export interface Choice {
47
- index: number;
48
- message?: Message | undefined;
49
- delta?: Partial<Message> | undefined;
50
- finish_reason: string | null;
51
- }
52
- export interface Usage {
53
- prompt_tokens: number;
54
- completion_tokens: number;
55
- total_tokens: number;
56
- }
57
- export interface ChatCompletionChunk {
58
- id: string;
59
- object: "chat.completion.chunk";
60
- created: number;
61
- model: string;
62
- choices: Choice[];
63
- system_fingerprint?: string | undefined;
64
- }
65
- export interface Model {
66
- id: string;
67
- object: "model";
68
- created: number;
69
- owned_by: string;
70
- }
71
- export interface ModelsResponse {
72
- object: "list";
73
- data: Model[];
74
- }
75
- export interface ErrorDetail {
76
- message: string;
77
- type: "invalid_request_error" | "api_error";
78
- param?: string | null | undefined;
79
- code?: string | null | undefined;
80
- }
81
- export interface ErrorResponse {
82
- error: ErrorDetail;
83
- }