@nyte-ai/plugin 0.0.0-stage → 0.0.19

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 (137) hide show
  1. package/LICENSE +21 -0
  2. package/THIRD-PARTY-NOTICES.md +866 -0
  3. package/dist/chunks/billing-0y7dfkp2.js +146 -0
  4. package/dist/chunks/billing-2v3g7rd9.js +190 -0
  5. package/dist/chunks/billing-3j77ss7y.js +86 -0
  6. package/dist/chunks/billing-3scqmkzb.js +559 -0
  7. package/dist/chunks/billing-4vz9pxyx.js +22 -0
  8. package/dist/chunks/billing-6z2kgtyt.js +51 -0
  9. package/dist/chunks/billing-8rjk35gr.js +444 -0
  10. package/dist/chunks/billing-9nn3yp18.js +176 -0
  11. package/dist/chunks/billing-9qc0eqh4.js +174 -0
  12. package/dist/chunks/billing-a9vqn66p.js +351 -0
  13. package/dist/chunks/billing-bv5zr32b.js +369 -0
  14. package/dist/chunks/billing-cy1rg619.js +302 -0
  15. package/dist/chunks/billing-ejx2hv52.js +323 -0
  16. package/dist/chunks/billing-h13r0byk.js +80 -0
  17. package/dist/chunks/billing-hg64tqf1.js +97 -0
  18. package/dist/chunks/billing-j643d12p.js +197 -0
  19. package/dist/chunks/billing-kn3d30b4.js +276 -0
  20. package/dist/chunks/billing-mvc33pv6.js +36 -0
  21. package/dist/chunks/billing-s4rrspsk.js +7 -0
  22. package/dist/chunks/billing-svrhh5a5.js +307 -0
  23. package/dist/chunks/billing-sxc70w72.js +161 -0
  24. package/dist/chunks/billing-t1qrxe16.js +41 -0
  25. package/dist/chunks/billing-tm34gm2p.js +528 -0
  26. package/dist/chunks/billing-tzr3cebf.js +20 -0
  27. package/dist/chunks/billing-v3hg5rc7.js +373 -0
  28. package/dist/chunks/billing-wmcbg6fw.js +52 -0
  29. package/dist/chunks/billing-ye3wk5r3.js +205 -0
  30. package/dist/chunks/billing-zfpm2rt0.js +29 -0
  31. package/dist/examples/claude-code/LICENSE +21 -0
  32. package/dist/examples/claude-code/billing.d.ts +7 -0
  33. package/dist/examples/claude-code/billing.js +11 -0
  34. package/dist/examples/claude-code/claude-cli.d.ts +35 -0
  35. package/dist/examples/claude-code/claude-cli.js +15 -0
  36. package/dist/examples/claude-code/env.d.ts +1 -0
  37. package/dist/examples/claude-code/env.js +6 -0
  38. package/dist/examples/claude-code/index.d.ts +24 -0
  39. package/dist/examples/claude-code/index.js +149 -0
  40. package/dist/examples/claude-code/inert-mcp.d.ts +1 -0
  41. package/dist/examples/claude-code/inert-mcp.js +6 -0
  42. package/dist/examples/claude-code/model-catalog.d.ts +27 -0
  43. package/dist/examples/claude-code/model-catalog.js +12 -0
  44. package/dist/examples/claude-code/process.d.ts +22 -0
  45. package/dist/examples/claude-code/process.js +25 -0
  46. package/dist/examples/claude-code/replay.d.ts +4 -0
  47. package/dist/examples/claude-code/replay.js +11 -0
  48. package/dist/examples/claude-code/stream.d.ts +3 -0
  49. package/dist/examples/claude-code/stream.js +16 -0
  50. package/dist/examples/claude-code/transcript.d.ts +83 -0
  51. package/dist/examples/claude-code/transcript.js +23 -0
  52. package/dist/examples/claude-code/turn-relay.d.ts +48 -0
  53. package/dist/examples/claude-code/turn-relay.js +9 -0
  54. package/dist/examples/claude-code/wire.d.ts +372 -0
  55. package/dist/examples/claude-code/wire.js +18 -0
  56. package/dist/src/acp/connection.d.ts +24 -0
  57. package/dist/src/acp/connection.js +8 -0
  58. package/dist/src/acp/index.d.ts +54 -0
  59. package/dist/src/acp/index.js +1005 -0
  60. package/dist/src/acp/registry.d.ts +18 -0
  61. package/dist/src/acp/registry.js +9 -0
  62. package/dist/src/acp/thread.d.ts +46 -0
  63. package/dist/src/acp/thread.js +7 -0
  64. package/dist/src/acp/transcript.d.ts +8 -0
  65. package/dist/src/acp/transcript.js +11 -0
  66. package/dist/src/acp/translate.d.ts +33 -0
  67. package/dist/src/acp/translate.js +20 -0
  68. package/dist/src/approvals/approvals.d.ts +189 -0
  69. package/dist/src/approvals/approvals.js +143 -0
  70. package/dist/src/approvals/schema.d.ts +169 -0
  71. package/dist/src/approvals/schema.js +18 -0
  72. package/dist/src/bash-description.d.ts +30 -0
  73. package/dist/src/bash-description.js +18 -0
  74. package/dist/src/browser-tools.d.ts +25 -0
  75. package/dist/src/browser-tools.js +246 -0
  76. package/dist/src/canvas/canvas-compile.d.ts +48 -0
  77. package/dist/src/canvas/canvas-compile.js +8 -0
  78. package/dist/src/canvas/canvas-libraries.d.ts +32 -0
  79. package/dist/src/canvas/canvas-libraries.js +6 -0
  80. package/dist/src/canvas/canvas-preview.d.ts +107 -0
  81. package/dist/src/canvas/canvas-preview.js +12 -0
  82. package/dist/src/canvas/canvas-protocol.d.ts +184 -0
  83. package/dist/src/canvas/canvas-protocol.js +75 -0
  84. package/dist/src/canvas/canvas.d.ts +50 -0
  85. package/dist/src/canvas/canvas.js +221 -0
  86. package/dist/src/canvas/schema.d.ts +47 -0
  87. package/dist/src/canvas/schema.js +8 -0
  88. package/dist/src/claude-code-sdk/index.d.ts +35 -0
  89. package/dist/src/claude-code-sdk/index.js +379 -0
  90. package/dist/src/claude-code-sdk/session.d.ts +50 -0
  91. package/dist/src/claude-code-sdk/session.js +7 -0
  92. package/dist/src/claude-code-sdk/transcript.d.ts +19 -0
  93. package/dist/src/claude-code-sdk/transcript.js +15 -0
  94. package/dist/src/claude-code-sdk/translate.d.ts +18 -0
  95. package/dist/src/claude-code-sdk/translate.js +20 -0
  96. package/dist/src/client/mount.d.ts +44 -0
  97. package/dist/src/client/mount.js +252 -0
  98. package/dist/src/client/notifications.d.ts +36 -0
  99. package/dist/src/client/notifications.js +24 -0
  100. package/dist/src/client/presentation.d.ts +362 -0
  101. package/dist/src/client/presentation.js +391 -0
  102. package/dist/src/client/transcript-tui.d.ts +23 -0
  103. package/dist/src/client/transcript-tui.js +20 -0
  104. package/dist/src/client/transcript.d.ts +23 -0
  105. package/dist/src/client/transcript.js +51 -0
  106. package/dist/src/client.d.ts +53 -0
  107. package/dist/src/client.js +22 -0
  108. package/dist/src/codemode-runtime.d.ts +11 -0
  109. package/dist/src/codemode-runtime.js +10 -0
  110. package/dist/src/codemode-worker.d.ts +1 -0
  111. package/dist/src/codemode-worker.js +2 -0
  112. package/dist/src/codemode.d.ts +21 -0
  113. package/dist/src/codemode.js +170 -0
  114. package/dist/src/core.d.ts +43 -0
  115. package/dist/src/core.js +11 -0
  116. package/dist/src/find-on-path.d.ts +4 -0
  117. package/dist/src/find-on-path.js +8 -0
  118. package/dist/src/openai-astra-context.d.ts +23 -0
  119. package/dist/src/openai-astra-context.js +14 -0
  120. package/dist/src/openai-compaction.d.ts +15 -0
  121. package/dist/src/openai-compaction.js +55 -0
  122. package/dist/src/question/client/questions-tui.d.ts +9 -0
  123. package/dist/src/question/client/questions-tui.js +19 -0
  124. package/dist/src/question/client/questions.d.ts +9 -0
  125. package/dist/src/question/client/questions.js +160 -0
  126. package/dist/src/question/question.d.ts +63 -0
  127. package/dist/src/question/question.js +9 -0
  128. package/dist/src/question/schema.d.ts +101 -0
  129. package/dist/src/question/schema.js +14 -0
  130. package/dist/src/rename.d.ts +79 -0
  131. package/dist/src/rename.js +91 -0
  132. package/dist/src/telemetry.d.ts +36 -0
  133. package/dist/src/telemetry.js +84 -0
  134. package/dist/src/web-search.d.ts +78 -0
  135. package/dist/src/web-search.js +219 -0
  136. package/package.json +190 -3
  137. package/README.md +0 -3
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Armin Ronacher
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,7 @@
1
+ import type { NativeOutputEvent } from "./wire.ts";
2
+ export type RateLimitInfo = NonNullable<Extract<NativeOutputEvent, {
3
+ type: "rate_limit_event";
4
+ }>["rate_limit_info"]>;
5
+ export declare function usageCreditsAllowed(env: Record<string, string | undefined>): boolean;
6
+ export declare function usageCreditsChargeError(info: RateLimitInfo): Error;
7
+ export declare function describeUsageCreditsRejection(message: string): string | undefined;
@@ -0,0 +1,11 @@
1
+ import {
2
+ usageCreditsAllowed2,
3
+ usageCreditsChargeError2,
4
+ describeUsageCreditsRejection2
5
+ } from "../../chunks/billing-tzr3cebf.js";
6
+ import"../../chunks/billing-s4rrspsk.js";
7
+ export {
8
+ describeUsageCreditsRejection2 as describeUsageCreditsRejection,
9
+ usageCreditsAllowed2 as usageCreditsAllowed,
10
+ usageCreditsChargeError2 as usageCreditsChargeError
11
+ };
@@ -0,0 +1,35 @@
1
+ import type { RateLimitInfo } from "./billing.ts";
2
+ import type { AnthropicStreamEvent, JsonRecord, NativeFrame, NativeMessage, NativeUsage } from "./wire.ts";
3
+ import type { NativeSystemInjection, ToolManifestEntry } from "./transcript.ts";
4
+ export interface RunClaudeInput {
5
+ model: string;
6
+ cwd?: string;
7
+ frames: NativeFrame[];
8
+ systemPrompt: string;
9
+ manifest: ToolManifestEntry[];
10
+ extraBody: JsonRecord;
11
+ toolNames: Set<string>;
12
+ signal?: AbortSignal;
13
+ timeoutMs?: number;
14
+ env?: Record<string, string | undefined>;
15
+ upstreamUrl?: string;
16
+ initialUserPrefix?: unknown[];
17
+ initialSystemMessages?: unknown[];
18
+ nativeSystemInjections?: NativeSystemInjection[];
19
+ betas?: string[];
20
+ onEvent?: (event: AnthropicStreamEvent) => void;
21
+ sessionId?: string;
22
+ }
23
+ export interface RunClaudeOutput {
24
+ message: NativeMessage;
25
+ usage: NativeUsage;
26
+ relay: {
27
+ upstreamRequests: number;
28
+ blockedRequests: number;
29
+ requestId?: string;
30
+ };
31
+ initialUserPrefix?: unknown[];
32
+ initialSystemMessages?: unknown[];
33
+ rateLimit?: RateLimitInfo;
34
+ }
35
+ export declare function runClaudeRequest(input: RunClaudeInput): Promise<RunClaudeOutput>;
@@ -0,0 +1,15 @@
1
+ import {
2
+ runClaudeRequest2
3
+ } from "../../chunks/billing-3scqmkzb.js";
4
+ import"../../chunks/billing-ejx2hv52.js";
5
+ import"../../chunks/billing-a9vqn66p.js";
6
+ import"../../chunks/billing-tzr3cebf.js";
7
+ import"../../chunks/billing-t1qrxe16.js";
8
+ import"../../chunks/billing-cy1rg619.js";
9
+ import"../../chunks/billing-s4rrspsk.js";
10
+ import"../../chunks/billing-9qc0eqh4.js";
11
+ import"../../chunks/billing-j643d12p.js";
12
+ import"../../chunks/billing-0y7dfkp2.js";
13
+ export {
14
+ runClaudeRequest2 as runClaudeRequest
15
+ };
@@ -0,0 +1 @@
1
+ export declare function envFlagEnabled(value: string | undefined): boolean;
@@ -0,0 +1,6 @@
1
+ import {
2
+ envFlagEnabled2
3
+ } from "../../chunks/billing-s4rrspsk.js";
4
+ export {
5
+ envFlagEnabled2 as envFlagEnabled
6
+ };
@@ -0,0 +1,24 @@
1
+ import type { Provider } from "@nyte-ai/ai";
2
+ /** Returns the Anthropic provider using Claude Code's login and CLI; Nyte owns history, approvals and tool execution. */
3
+ export declare function claudeCodeProvider(): Provider;
4
+ declare const _default: {
5
+ id: string;
6
+ activate({ session, signal }: {
7
+ readonly side: "core";
8
+ readonly sdk: import("@nyte-ai/core").Connection;
9
+ readonly contribute: import("@nyte-ai/core").Registries<"core">;
10
+ readonly storage: import("@nyte-ai/core").PluginStorage;
11
+ readonly signal: AbortSignal;
12
+ hook<N extends "session_activated" | "before_send" | "run_started" | "transform_transcript" | "before_compaction" | "before_request" | "before_tool" | "after_tool" | "after_request" | "run_ended">(name: N, entry: import("@nyte-ai/core").HookEntry<"core", N>): import("@nyte-ai/schema").Disposer;
13
+ report(issue: import("@nyte-ai/schema").ValidationIssue): void;
14
+ reload(): void;
15
+ } & {
16
+ readonly session: import("@nyte-ai/core").Session;
17
+ readonly env: import("@nyte-ai/core").ExecutionEnv;
18
+ wrapEnv(wrap: import("@nyte-ai/core").EnvironmentWrap): import("@nyte-ai/schema").Disposer;
19
+ readonly inputs: import("@nyte-ai/core").Resources;
20
+ request<T = string>(input: import("@nyte-ai/schema").ModelRequestInput<T>): Promise<import("@nyte-ai/schema").ModelRequestOutcome<T>>;
21
+ approve(call: import("@nyte-ai/core").RuntimeCall, signal: AbortSignal): Promise<import("@nyte-ai/core").RuntimeVerdict>;
22
+ }): void;
23
+ };
24
+ export default _default;
@@ -0,0 +1,149 @@
1
+ import"../../chunks/billing-s4rrspsk.js";
2
+ import {
3
+ PROVIDER_ID2,
4
+ API_ID2,
5
+ createClaudeModelCatalog2
6
+ } from "../../chunks/billing-9qc0eqh4.js";
7
+ import"../../chunks/billing-0y7dfkp2.js";
8
+ import {
9
+ LOGIN_HINT2,
10
+ getClaudeStatus2,
11
+ discoverClaudeModels2
12
+ } from "../../chunks/billing-cy1rg619.js";
13
+ import"../../chunks/billing-tzr3cebf.js";
14
+ import"../../chunks/billing-t1qrxe16.js";
15
+ import"../../chunks/billing-j643d12p.js";
16
+ import"../../chunks/billing-a9vqn66p.js";
17
+ import"../../chunks/billing-ejx2hv52.js";
18
+ import"../../chunks/billing-3scqmkzb.js";
19
+ import {
20
+ streamClaudeCode2
21
+ } from "../../chunks/billing-8rjk35gr.js";
22
+
23
+ // examples/claude-code/index.ts
24
+ import process from "node:process";
25
+ import { acquireSessionResources, anthropicProvider } from "@nyte-ai/ai";
26
+ var ENV_NAMES = [
27
+ "NYTE_CLAUDE_CODE_COMMAND",
28
+ "NYTE_CLAUDE_CODE_CONFIG_DIR",
29
+ "NYTE_CLAUDE_CODE_ALLOW_USAGE_CREDITS",
30
+ "CLAUDE_CONFIG_DIR"
31
+ ];
32
+ async function providerEnvironment(ctx) {
33
+ const env = {};
34
+ for (const name of ENV_NAMES) {
35
+ const value = await ctx.env(name);
36
+ if (value !== undefined)
37
+ env[name] = value;
38
+ }
39
+ return env;
40
+ }
41
+ function claudeCodeProvider() {
42
+ const catalog = anthropicProvider();
43
+ const routes = createClaudeModelCatalog2();
44
+ let env = {};
45
+ let discovered;
46
+ const check = async ({
47
+ ctx,
48
+ signal
49
+ }) => {
50
+ env = await providerEnvironment(ctx);
51
+ const status = await getClaudeStatus2({ ...process.env, ...env }, signal);
52
+ if (!status.available || !status.loggedIn)
53
+ return;
54
+ return {
55
+ type: status.subscription ? "oauth" : "api_key",
56
+ source: status.subscription ? `Claude Code ${status.plan ?? "subscription"}` : "Claude Code CLI"
57
+ };
58
+ };
59
+ return {
60
+ id: PROVIDER_ID2,
61
+ name: "Claude Code",
62
+ baseUrl: "process://claude-code",
63
+ auth: {
64
+ apiKey: {
65
+ name: "Claude Code login",
66
+ check,
67
+ async resolve({ ctx, signal }) {
68
+ signal.throwIfAborted();
69
+ env = await providerEnvironment(ctx);
70
+ return { auth: {}, env, source: "Claude Code CLI" };
71
+ }
72
+ },
73
+ oauth: {
74
+ check,
75
+ name: "Claude Code subscription",
76
+ isSubscription: true,
77
+ async login() {
78
+ throw new Error("Claude Code manages its login. Run `claude auth login` in a terminal; Nyte uses it automatically.");
79
+ },
80
+ async refresh(_credential, signal) {
81
+ const status = await getClaudeStatus2({ ...process.env, ...env }, signal);
82
+ if (!status.subscription)
83
+ throw new Error(LOGIN_HINT2);
84
+ return {
85
+ type: "oauth",
86
+ access: "claude-code-external",
87
+ refresh: "claude-code-external",
88
+ expires: Date.now() + 365 * 24 * 60 * 60 * 1000
89
+ };
90
+ },
91
+ toAuth: async () => ({})
92
+ }
93
+ },
94
+ getModels() {
95
+ const builtins = catalog.getModels();
96
+ routes.restoreAnthropicModels(builtins);
97
+ if (discovered)
98
+ return discovered.map(routes.modelFromDiscovery);
99
+ const models = builtins.map((model) => ({
100
+ ...model,
101
+ api: API_ID2,
102
+ compat: undefined,
103
+ baseUrl: "process://claude-code"
104
+ }));
105
+ const ids = new Set(models.map((model) => model.id));
106
+ return [...models, ...routes.fallbackClaudeModels().filter((model) => !ids.has(model.id))];
107
+ },
108
+ async refreshModels(context) {
109
+ if (!context.allowNetwork) {
110
+ await catalog.refreshModels?.(context);
111
+ return;
112
+ }
113
+ const results = await Promise.allSettled([
114
+ catalog.refreshModels?.(context),
115
+ discoverClaudeModels2({ ...process.env, ...env }, context.signal).then((next) => context.publish({
116
+ update: () => {
117
+ discovered = next;
118
+ }
119
+ }))
120
+ ]);
121
+ context.signal.throwIfAborted();
122
+ const discovery = results[1];
123
+ if (discovery?.status === "rejected")
124
+ throw discovery.reason;
125
+ },
126
+ stream: (model, context, options) => streamClaudeCode2(model, context, {
127
+ signal: options?.signal,
128
+ env: options?.env,
129
+ timeoutMs: options?.timeoutMs,
130
+ maxTokens: options?.maxTokens,
131
+ sessionId: options?.sessionId,
132
+ cacheRetention: options?.cacheRetention
133
+ }, routes),
134
+ streamSimple: (model, context, options) => streamClaudeCode2(model, context, options, routes)
135
+ };
136
+ }
137
+ var claude_code_default = {
138
+ id: "claude-code",
139
+ activate({ session, signal }) {
140
+ const release = acquireSessionResources(session.id);
141
+ signal.addEventListener("abort", release, { once: true });
142
+ if (signal.aborted)
143
+ release();
144
+ }
145
+ };
146
+ export {
147
+ claudeCodeProvider,
148
+ claude_code_default as default
149
+ };
@@ -0,0 +1 @@
1
+ export declare const INERT_MCP_SOURCE = "#!/usr/bin/env node\nimport { readFile } from \"node:fs/promises\";\nimport { createInterface } from \"node:readline\";\n\nconst manifestPath = process.argv[2];\nif (!manifestPath) process.exit(2);\nconst tools = JSON.parse(await readFile(manifestPath, \"utf8\"));\nconst lines = createInterface({ input: process.stdin, crlfDelay: Infinity });\n\nfor await (const line of lines) {\n let request;\n try {\n request = JSON.parse(line);\n } catch {\n continue;\n }\n\n let result = {};\n if (request.method === \"initialize\") {\n result = {\n protocolVersion: \"2024-11-05\",\n capabilities: { tools: {} },\n serverInfo: { name: \"nyte-inert-tool-inventory\", version: \"1\" },\n };\n } else if (request.method === \"tools/list\") {\n result = { tools };\n } else if (request.method === \"tools/call\") {\n result = {\n isError: true,\n content: [{ type: \"text\", text: \"Denied: Claude Code tools are inert; only Nyte executes tools.\" }],\n };\n }\n\n if (request.id !== undefined) {\n process.stdout.write(`${JSON.stringify({ jsonrpc: \"2.0\", id: request.id, result })}\\n`);\n }\n}\n";
@@ -0,0 +1,6 @@
1
+ import {
2
+ INERT_MCP_SOURCE2
3
+ } from "../../chunks/billing-t1qrxe16.js";
4
+ export {
5
+ INERT_MCP_SOURCE2 as INERT_MCP_SOURCE
6
+ };
@@ -0,0 +1,27 @@
1
+ import type { Model } from "@nyte-ai/ai";
2
+ import { Type } from "typebox";
3
+ import type { Static } from "typebox";
4
+ export declare const PROVIDER_ID = "anthropic";
5
+ export declare const API_ID = "claude-code-stream-json";
6
+ export type ClaudeCodeModel = Model<typeof API_ID>;
7
+ export declare const discoveredModelSchema: Type.TObject<{
8
+ value: Type.TString;
9
+ resolvedModel: Type.TOptional<Type.TString>;
10
+ displayName: Type.TString;
11
+ description: Type.TString;
12
+ supportsEffort: Type.TOptional<Type.TBoolean>;
13
+ supportedEffortLevels: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<"low">, Type.TLiteral<"medium">, Type.TLiteral<"high">, Type.TLiteral<"xhigh">, Type.TLiteral<"max">]>>>;
14
+ supportsAdaptiveThinking: Type.TOptional<Type.TBoolean>;
15
+ supportsFastMode: Type.TOptional<Type.TBoolean>;
16
+ supportsAutoMode: Type.TOptional<Type.TBoolean>;
17
+ }>;
18
+ export type DiscoveredClaudeModel = Static<typeof discoveredModelSchema>;
19
+ export declare function createClaudeModelCatalog(): {
20
+ restoreAnthropicModels: (models: readonly Model<"anthropic-messages">[]) => void;
21
+ modelFromDiscovery: (info: DiscoveredClaudeModel) => ClaudeCodeModel;
22
+ fallbackClaudeModels: () => ClaudeCodeModel[];
23
+ nativeModel: (model: string) => string;
24
+ supportsAdaptiveThinking: (model: string) => boolean;
25
+ supportsNativeToolChanges: (model: string) => boolean;
26
+ };
27
+ export type ClaudeModelCatalog = ReturnType<typeof createClaudeModelCatalog>;
@@ -0,0 +1,12 @@
1
+ import {
2
+ PROVIDER_ID2,
3
+ API_ID2,
4
+ discoveredModelSchema2,
5
+ createClaudeModelCatalog2
6
+ } from "../../chunks/billing-9qc0eqh4.js";
7
+ export {
8
+ API_ID2 as API_ID,
9
+ PROVIDER_ID2 as PROVIDER_ID,
10
+ createClaudeModelCatalog2 as createClaudeModelCatalog,
11
+ discoveredModelSchema2 as discoveredModelSchema
12
+ };
@@ -0,0 +1,22 @@
1
+ import { spawn } from "node:child_process";
2
+ import type { ChildProcess } from "node:child_process";
3
+ import type { DiscoveredClaudeModel } from "./model-catalog.ts";
4
+ import type { JsonRecord } from "./wire.ts";
5
+ export declare const LOGIN_HINT = "Claude Code is installed but not logged in. Run `claude auth login` and try again.";
6
+ export interface ClaudeStatus {
7
+ available: boolean;
8
+ loggedIn: boolean;
9
+ subscription: boolean;
10
+ authMethod?: string;
11
+ plan?: string;
12
+ detail?: string;
13
+ command?: string;
14
+ }
15
+ export declare function configuredCommand(env: Record<string, string | undefined>): string;
16
+ export declare function getClaudeStatus(envInput?: Record<string, string | undefined>, signal?: AbortSignal): Promise<ClaudeStatus>;
17
+ export declare function readyClaudeCommand(envInput: Record<string, string | undefined>, signal?: AbortSignal): Promise<string>;
18
+ export declare function discoverClaudeModels(envInput?: Record<string, string | undefined>, signal?: AbortSignal, timeoutMs?: number): Promise<DiscoveredClaudeModel[]>;
19
+ export declare function spawnCommand(command: string, args: string[], options: Parameters<typeof spawn>[2]): ChildProcess;
20
+ export declare function childExit(child: ChildProcess): Promise<number>;
21
+ export declare function killProcessTree(child: ChildProcess): void;
22
+ export declare function processEnvironment(input: Record<string, string | undefined> | undefined, extraBody: JsonRecord): Record<string, string>;
@@ -0,0 +1,25 @@
1
+ import {
2
+ LOGIN_HINT2,
3
+ configuredCommand2,
4
+ getClaudeStatus2,
5
+ readyClaudeCommand2,
6
+ discoverClaudeModels2,
7
+ spawnCommand2,
8
+ childExit2,
9
+ killProcessTree2,
10
+ processEnvironment2
11
+ } from "../../chunks/billing-cy1rg619.js";
12
+ import"../../chunks/billing-s4rrspsk.js";
13
+ import"../../chunks/billing-9qc0eqh4.js";
14
+ import"../../chunks/billing-0y7dfkp2.js";
15
+ export {
16
+ LOGIN_HINT2 as LOGIN_HINT,
17
+ childExit2 as childExit,
18
+ configuredCommand2 as configuredCommand,
19
+ discoverClaudeModels2 as discoverClaudeModels,
20
+ getClaudeStatus2 as getClaudeStatus,
21
+ killProcessTree2 as killProcessTree,
22
+ processEnvironment2 as processEnvironment,
23
+ readyClaudeCommand2 as readyClaudeCommand,
24
+ spawnCommand2 as spawnCommand
25
+ };
@@ -0,0 +1,4 @@
1
+ import type { NativeSystemInjection } from "./transcript.ts";
2
+ export declare function deriveInitialUserPrefix(body: Buffer | undefined, canonicalContent: unknown[]): unknown[] | undefined;
3
+ export declare function deriveInitialSystemMessages(body: Buffer | undefined): unknown[] | undefined;
4
+ export declare function rewriteInitialRequest(body: Buffer, prefix: unknown[] | undefined, canonicalContent: unknown[], initialSystemMessages: unknown[] | undefined, nativeSystemInjections?: NativeSystemInjection[]): Buffer;
@@ -0,0 +1,11 @@
1
+ import {
2
+ deriveInitialUserPrefix2,
3
+ deriveInitialSystemMessages2,
4
+ rewriteInitialRequest2
5
+ } from "../../chunks/billing-j643d12p.js";
6
+ import"../../chunks/billing-0y7dfkp2.js";
7
+ export {
8
+ deriveInitialSystemMessages2 as deriveInitialSystemMessages,
9
+ deriveInitialUserPrefix2 as deriveInitialUserPrefix,
10
+ rewriteInitialRequest2 as rewriteInitialRequest
11
+ };
@@ -0,0 +1,3 @@
1
+ import type { Api, AssistantMessageEventStream, Model, SimpleStreamOptions, TranscriptContext } from "@nyte-ai/ai";
2
+ import type { ClaudeModelCatalog } from "./model-catalog.ts";
3
+ export declare function streamClaudeCode(model: Model<Api>, context: TranscriptContext, options: SimpleStreamOptions | undefined, catalog: ClaudeModelCatalog): AssistantMessageEventStream;
@@ -0,0 +1,16 @@
1
+ import {
2
+ streamClaudeCode2
3
+ } from "../../chunks/billing-8rjk35gr.js";
4
+ import"../../chunks/billing-3scqmkzb.js";
5
+ import"../../chunks/billing-ejx2hv52.js";
6
+ import"../../chunks/billing-a9vqn66p.js";
7
+ import"../../chunks/billing-tzr3cebf.js";
8
+ import"../../chunks/billing-t1qrxe16.js";
9
+ import"../../chunks/billing-cy1rg619.js";
10
+ import"../../chunks/billing-s4rrspsk.js";
11
+ import"../../chunks/billing-9qc0eqh4.js";
12
+ import"../../chunks/billing-j643d12p.js";
13
+ import"../../chunks/billing-0y7dfkp2.js";
14
+ export {
15
+ streamClaudeCode2 as streamClaudeCode
16
+ };
@@ -0,0 +1,83 @@
1
+ import type { JsonRecord } from "./wire.ts";
2
+ import type { AssistantMessage, Message, SimpleStreamOptions, Tool } from "@nyte-ai/ai";
3
+ import type { NativeFrame, NativeMessage } from "./wire.ts";
4
+ export declare const TOOL_PREFIX = "mcp__nyte__";
5
+ export declare const NATIVE_TOOL_CHANGES_BETA = "mid-conversation-tool-changes-2026-07-01";
6
+ export interface NativeSystemInjection {
7
+ beforeAssistant: number | null;
8
+ content: Array<JsonRecord>;
9
+ }
10
+ export interface NativeTranscriptPlan {
11
+ requestTools: Array<JsonRecord>;
12
+ systemInjections: NativeSystemInjection[];
13
+ }
14
+ interface AssistantProjection {
15
+ text: string;
16
+ toolCalls: Array<{
17
+ id: string;
18
+ name: string;
19
+ input: JsonRecord;
20
+ }>;
21
+ }
22
+ export declare function getInitialUserPrefix(messages: Message[]): unknown[] | undefined;
23
+ export declare function getInitialSystemMessages(messages: Message[]): unknown[] | undefined;
24
+ export declare function prepareFrames(messages: Message[]): NativeFrame[];
25
+ export interface ToolManifestEntry {
26
+ name: string;
27
+ description: string;
28
+ inputSchema: JsonRecord;
29
+ }
30
+ export declare function prepareTools(tools: Tool[]): {
31
+ manifest: ToolManifestEntry[];
32
+ nativeTools: Array<JsonRecord>;
33
+ names: Set<string>;
34
+ };
35
+ export declare function prepareNativeTranscript(messages: Message[], supported: boolean): NativeTranscriptPlan | undefined;
36
+ export declare function buildExtraBody(nativeTools: Array<JsonRecord>, options: SimpleStreamOptions | undefined, adaptive: boolean): JsonRecord;
37
+ export declare function makeReplayDiagnostic(message: NativeMessage, output: AssistantMessage, initialUserPrefix?: unknown[], initialSystemMessages?: unknown[]): {
38
+ type: string;
39
+ timestamp: number;
40
+ details: {
41
+ carrier: {
42
+ initialSystemMessages?: unknown[] | undefined;
43
+ initialUserPrefix?: unknown[] | undefined;
44
+ version: number;
45
+ message: Record<string, unknown> & {
46
+ id?: string | undefined;
47
+ usage?: {
48
+ cache_creation?: {
49
+ ephemeral_1h_input_tokens?: number | undefined;
50
+ } | undefined;
51
+ cache_read_input_tokens?: number | undefined;
52
+ cache_creation_input_tokens?: number | undefined;
53
+ output_tokens_details?: {
54
+ thinking_tokens?: number | undefined;
55
+ } | undefined;
56
+ input_tokens: number;
57
+ output_tokens: number;
58
+ } | undefined;
59
+ stop_sequence?: string | null | undefined;
60
+ stop_reason?: string | null | undefined;
61
+ content: ({
62
+ type: "text";
63
+ text: string;
64
+ } | {
65
+ signature?: string | undefined;
66
+ thinking: string;
67
+ type: "thinking";
68
+ } | {
69
+ type: "redacted_thinking";
70
+ data: string;
71
+ } | {
72
+ id: string;
73
+ name: string;
74
+ type: "tool_use";
75
+ input: Record<string, unknown>;
76
+ })[];
77
+ role: "assistant";
78
+ };
79
+ projection: AssistantProjection;
80
+ };
81
+ };
82
+ };
83
+ export {};
@@ -0,0 +1,23 @@
1
+ import {
2
+ TOOL_PREFIX2,
3
+ NATIVE_TOOL_CHANGES_BETA2,
4
+ getInitialUserPrefix2,
5
+ getInitialSystemMessages2,
6
+ prepareFrames2,
7
+ prepareTools2,
8
+ prepareNativeTranscript2,
9
+ buildExtraBody2,
10
+ makeReplayDiagnostic2
11
+ } from "../../chunks/billing-ejx2hv52.js";
12
+ import"../../chunks/billing-0y7dfkp2.js";
13
+ export {
14
+ NATIVE_TOOL_CHANGES_BETA2 as NATIVE_TOOL_CHANGES_BETA,
15
+ TOOL_PREFIX2 as TOOL_PREFIX,
16
+ buildExtraBody2 as buildExtraBody,
17
+ getInitialSystemMessages2 as getInitialSystemMessages,
18
+ getInitialUserPrefix2 as getInitialUserPrefix,
19
+ makeReplayDiagnostic2 as makeReplayDiagnostic,
20
+ prepareFrames2 as prepareFrames,
21
+ prepareNativeTranscript2 as prepareNativeTranscript,
22
+ prepareTools2 as prepareTools
23
+ };
@@ -0,0 +1,48 @@
1
+ import type { AnthropicStreamEvent, NativeMessage } from "./wire.ts";
2
+ export declare class AnthropicCapture {
3
+ message?: NativeMessage;
4
+ complete: boolean;
5
+ error?: string;
6
+ private pending;
7
+ private readonly decoder;
8
+ private readonly argumentsByIndex;
9
+ private readonly onEvent?;
10
+ constructor(onEvent?: (event: AnthropicStreamEvent) => void);
11
+ feed(chunk: Uint8Array): void;
12
+ finish(): void;
13
+ private consumeFrames;
14
+ private apply;
15
+ }
16
+ export declare class TurnRelay {
17
+ capture: AnthropicCapture;
18
+ used: boolean;
19
+ denied: number;
20
+ status?: number;
21
+ requestId?: string;
22
+ failure?: string;
23
+ errorBody: Buffer<ArrayBuffer>;
24
+ originalRequestBody?: Buffer;
25
+ requestBody?: Buffer;
26
+ private readonly upstream;
27
+ private readonly prefix;
28
+ private readonly server;
29
+ private readonly sockets;
30
+ private readonly active;
31
+ private cancelled;
32
+ private closed;
33
+ private baseUrl?;
34
+ private transformRequest?;
35
+ private requestBetas;
36
+ private readonly timeoutMs;
37
+ constructor(upstream?: string, timeoutMs?: number, onEvent?: (event: AnthropicStreamEvent) => void, transformRequest?: (body: Buffer) => Buffer, requestBetas?: string[]);
38
+ beginTurn(onEvent?: (event: AnthropicStreamEvent) => void, transformRequest?: (body: Buffer) => Buffer, requestBetas?: string[]): void;
39
+ finishTurn(): void;
40
+ start(): Promise<string>;
41
+ errorText(): string;
42
+ abort(): void;
43
+ settled(): Promise<void>;
44
+ close(): Promise<void>;
45
+ private handle;
46
+ private waitForDrain;
47
+ private readBody;
48
+ }
@@ -0,0 +1,9 @@
1
+ import {
2
+ AnthropicCapture2,
3
+ TurnRelay2
4
+ } from "../../chunks/billing-a9vqn66p.js";
5
+ import"../../chunks/billing-0y7dfkp2.js";
6
+ export {
7
+ AnthropicCapture2 as AnthropicCapture,
8
+ TurnRelay2 as TurnRelay
9
+ };