@eddyskywalker/dsh-chatgpt-subscription 0.2.21 → 0.3.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.
- package/CHANGELOG.md +100 -0
- package/README.md +115 -1
- package/lib/client.js +2831 -512
- package/lib/client.js.map +1 -1
- package/lib/index.js +9092 -389
- package/lib/types/client/ProviderHubSection.d.ts +15 -0
- package/lib/types/client/ProviderHubSection.d.ts.map +1 -0
- package/lib/types/client/command-code/CommandCodeComposerQuota.d.ts +24 -0
- package/lib/types/client/command-code/CommandCodeComposerQuota.d.ts.map +1 -0
- package/lib/types/client/command-code/CommandCodeSection.d.ts +11 -0
- package/lib/types/client/command-code/CommandCodeSection.d.ts.map +1 -0
- package/lib/types/client/command-code/locales.d.ts +401 -0
- package/lib/types/client/command-code/locales.d.ts.map +1 -0
- package/lib/types/client/index.d.ts +2 -0
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/kimi-code/KimiCodeComposerQuota.d.ts +25 -0
- package/lib/types/client/kimi-code/KimiCodeComposerQuota.d.ts.map +1 -0
- package/lib/types/client/kimi-code/KimiCodeSection.d.ts +11 -0
- package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -0
- package/lib/types/client/kimi-code/KimiModelCapabilities.d.ts +16 -0
- package/lib/types/client/kimi-code/KimiModelCapabilities.d.ts.map +1 -0
- package/lib/types/client/kimi-code/locales.d.ts +671 -0
- package/lib/types/client/kimi-code/locales.d.ts.map +1 -0
- package/lib/types/client/kimi-code/styles.d.ts +4 -0
- package/lib/types/client/kimi-code/styles.d.ts.map +1 -0
- package/lib/types/client/locales.d.ts +3 -1
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/styles.d.ts.map +1 -1
- package/lib/types/host/command-code/adapter.d.ts +34 -0
- package/lib/types/host/command-code/adapter.d.ts.map +1 -0
- package/lib/types/host/command-code/client.d.ts +99 -0
- package/lib/types/host/command-code/client.d.ts.map +1 -0
- package/lib/types/host/command-code/mapper.d.ts +102 -0
- package/lib/types/host/command-code/mapper.d.ts.map +1 -0
- package/lib/types/host/command-code/model-catalog.d.ts +31 -0
- package/lib/types/host/command-code/model-catalog.d.ts.map +1 -0
- package/lib/types/host/command-code/oauth.d.ts +89 -0
- package/lib/types/host/command-code/oauth.d.ts.map +1 -0
- package/lib/types/host/command-code/plans.d.ts +40 -0
- package/lib/types/host/command-code/plans.d.ts.map +1 -0
- package/lib/types/host/command-code/routes.d.ts +27 -0
- package/lib/types/host/command-code/routes.d.ts.map +1 -0
- package/lib/types/host/command-code/token-store.d.ts +88 -0
- package/lib/types/host/command-code/token-store.d.ts.map +1 -0
- package/lib/types/host/command-code/types.d.ts +138 -0
- package/lib/types/host/command-code/types.d.ts.map +1 -0
- package/lib/types/host/kimi-code/adapter.d.ts +112 -0
- package/lib/types/host/kimi-code/adapter.d.ts.map +1 -0
- package/lib/types/host/kimi-code/client.d.ts +173 -0
- package/lib/types/host/kimi-code/client.d.ts.map +1 -0
- package/lib/types/host/kimi-code/mapper.d.ts +370 -0
- package/lib/types/host/kimi-code/mapper.d.ts.map +1 -0
- package/lib/types/host/kimi-code/modalities.d.ts +94 -0
- package/lib/types/host/kimi-code/modalities.d.ts.map +1 -0
- package/lib/types/host/kimi-code/model-catalog.d.ts +77 -0
- package/lib/types/host/kimi-code/model-catalog.d.ts.map +1 -0
- package/lib/types/host/kimi-code/oauth.d.ts +133 -0
- package/lib/types/host/kimi-code/oauth.d.ts.map +1 -0
- package/lib/types/host/kimi-code/routes.d.ts +26 -0
- package/lib/types/host/kimi-code/routes.d.ts.map +1 -0
- package/lib/types/host/kimi-code/token-store.d.ts +135 -0
- package/lib/types/host/kimi-code/token-store.d.ts.map +1 -0
- package/lib/types/host/kimi-code/types.d.ts +174 -0
- package/lib/types/host/kimi-code/types.d.ts.map +1 -0
- package/lib/types/host/kimi-code/video-store.d.ts +99 -0
- package/lib/types/host/kimi-code/video-store.d.ts.map +1 -0
- package/lib/types/host/kimi-code/video-tool.d.ts +25 -0
- package/lib/types/host/kimi-code/video-tool.d.ts.map +1 -0
- package/lib/types/host/relay-probe.d.ts +161 -0
- package/lib/types/host/relay-probe.d.ts.map +1 -0
- package/lib/types/host/responses-client.d.ts.map +1 -1
- package/lib/types/index.d.ts +13 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/shared/command-code-contracts.d.ts +119 -0
- package/lib/types/shared/command-code-contracts.d.ts.map +1 -0
- package/lib/types/shared/kimi-code-contracts.d.ts +203 -0
- package/lib/types/shared/kimi-code-contracts.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only diagnostic probe for the child→parent subagent relay.
|
|
3
|
+
*
|
|
4
|
+
* The probe answers one question with evidence: when a continuable child tells
|
|
5
|
+
* its parent it finished (`send_message` or the runtime settlement notice),
|
|
6
|
+
* what did the parent's side actually do — was the message inserted into the
|
|
7
|
+
* inbox, claimed, turned into a model request, and did that turn produce any
|
|
8
|
+
* visible content? It observes durable session events plus the live Agent
|
|
9
|
+
* snapshot and writes metadata-only lines: never prompt text, never file
|
|
10
|
+
* contents, never credentials. The only message text it copies is a bounded
|
|
11
|
+
* excerpt of a tool result that matches a known delivery-failure marker.
|
|
12
|
+
*
|
|
13
|
+
* It is inert unless {@link RELAY_PROBE_ENV} is truthy, it never throws into the
|
|
14
|
+
* host (a diagnostic must not break the deployment), and it writes nothing but
|
|
15
|
+
* the log file.
|
|
16
|
+
*
|
|
17
|
+
* @module dsh-chatgpt-subscription/relay-probe
|
|
18
|
+
*/
|
|
19
|
+
/** Environment switch: any of `1`, `true`, `yes`, `on` enables the probe. */
|
|
20
|
+
export declare const RELAY_PROBE_ENV = "DSH_CHATGPT_SUBSCRIPTION_RELAY_PROBE";
|
|
21
|
+
/** Environment override for the log path (default `$DSH_HOME/relay-probe.log`). */
|
|
22
|
+
export declare const RELAY_PROBE_FILE_ENV = "DSH_CHATGPT_SUBSCRIPTION_RELAY_PROBE_FILE";
|
|
23
|
+
/** Default log file name inside the DSH home. */
|
|
24
|
+
export declare const RELAY_PROBE_FILE_NAME = "relay-probe.log";
|
|
25
|
+
/** A probe log is truncated once it grows past this size. */
|
|
26
|
+
export declare const RELAY_PROBE_MAX_BYTES: number;
|
|
27
|
+
/** Message source kinds that cross the child→parent delivery boundary. */
|
|
28
|
+
export declare const RELAY_SOURCE_KINDS: readonly string[];
|
|
29
|
+
/** One Session as this probe reads it. */
|
|
30
|
+
export interface ProbeSession {
|
|
31
|
+
readonly id: string;
|
|
32
|
+
/** A real Session header carries many more fields; only two are read here. */
|
|
33
|
+
readonly header?: {
|
|
34
|
+
readonly origin?: unknown;
|
|
35
|
+
readonly parentSession?: unknown;
|
|
36
|
+
readonly [key: string]: unknown;
|
|
37
|
+
} | undefined;
|
|
38
|
+
}
|
|
39
|
+
/** One durable session event as this probe reads it. */
|
|
40
|
+
export interface ProbeEvent {
|
|
41
|
+
readonly type?: unknown;
|
|
42
|
+
readonly seq?: unknown;
|
|
43
|
+
readonly data?: unknown;
|
|
44
|
+
}
|
|
45
|
+
/** Live Agent fields this probe snapshots (never mutated). */
|
|
46
|
+
export interface ProbeAgent {
|
|
47
|
+
readonly status?: unknown;
|
|
48
|
+
readonly inbox?: {
|
|
49
|
+
readonly nextStep?: readonly unknown[];
|
|
50
|
+
readonly nextTurn?: readonly unknown[];
|
|
51
|
+
} | undefined;
|
|
52
|
+
}
|
|
53
|
+
/** Registry lookup for the live Agent behind a Session id. */
|
|
54
|
+
export interface AgentsLookup {
|
|
55
|
+
get(id: string): ProbeAgent | undefined;
|
|
56
|
+
}
|
|
57
|
+
/** Where probe lines go. */
|
|
58
|
+
export interface RelayProbeSink {
|
|
59
|
+
write(line: string): void;
|
|
60
|
+
}
|
|
61
|
+
/** Construction inputs for {@link RelayProbe}. */
|
|
62
|
+
export interface RelayProbeOptions {
|
|
63
|
+
readonly sink: RelayProbeSink;
|
|
64
|
+
readonly agents?: AgentsLookup | undefined;
|
|
65
|
+
readonly clock?: (() => number) | undefined;
|
|
66
|
+
readonly maxObservedSessions?: number | undefined;
|
|
67
|
+
}
|
|
68
|
+
/** The Context surface {@link installRelayProbe} needs. */
|
|
69
|
+
export interface RelayProbeContext {
|
|
70
|
+
on(event: 'session/event', listener: (session: ProbeSession, event: ProbeEvent) => void): unknown;
|
|
71
|
+
get?(name: string): unknown;
|
|
72
|
+
logger?: {
|
|
73
|
+
info(message: string): void;
|
|
74
|
+
} | undefined;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Observes delivery boundaries and the parent turns they should produce.
|
|
78
|
+
*
|
|
79
|
+
* Every method is fail-open: an unexpected shape is dropped, never thrown.
|
|
80
|
+
*/
|
|
81
|
+
export declare class RelayProbe {
|
|
82
|
+
private readonly options;
|
|
83
|
+
private readonly observed;
|
|
84
|
+
private readonly started;
|
|
85
|
+
private readonly clock;
|
|
86
|
+
private readonly maxObserved;
|
|
87
|
+
private seen;
|
|
88
|
+
/** Count of observations dropped by the fail-open boundary. */
|
|
89
|
+
failures: number;
|
|
90
|
+
constructor(options: RelayProbeOptions);
|
|
91
|
+
/** Observe one durable session event. */
|
|
92
|
+
observe(session: ProbeSession, event: ProbeEvent): void;
|
|
93
|
+
private step;
|
|
94
|
+
/** A delivery entering (or leaving) the parent's inbox. */
|
|
95
|
+
private onSplice;
|
|
96
|
+
/** A message committed to the session surface — for a relay, the claim. */
|
|
97
|
+
private onUserMessage;
|
|
98
|
+
/** A child attempting to report to its parent. */
|
|
99
|
+
private onToolCall;
|
|
100
|
+
/** A tool result that may be a refused delivery. */
|
|
101
|
+
private onToolResult;
|
|
102
|
+
private toolResultText;
|
|
103
|
+
private observedRequest;
|
|
104
|
+
private turnReason;
|
|
105
|
+
private formTag;
|
|
106
|
+
/** Live snapshot of the Agent behind this Session, when it is resident. */
|
|
107
|
+
private agentState;
|
|
108
|
+
private pending;
|
|
109
|
+
private watch;
|
|
110
|
+
private line;
|
|
111
|
+
/** One startup line so a captured file says which process wrote it. */
|
|
112
|
+
head(path: string): void;
|
|
113
|
+
/** Sessions currently under observation. */
|
|
114
|
+
get observedCount(): number;
|
|
115
|
+
/** Event sequence number of the last observed event, when present. */
|
|
116
|
+
mark(seq: unknown): void;
|
|
117
|
+
/** Last observed durable sequence number, when the log carried one. */
|
|
118
|
+
get lastSeq(): number | undefined;
|
|
119
|
+
}
|
|
120
|
+
/** Where the probe reads a fallback value from, beside the process environment. */
|
|
121
|
+
export interface RelayProbeEnvOptions {
|
|
122
|
+
/**
|
|
123
|
+
* An env-file consulted after the process environment. Defaults to no file so
|
|
124
|
+
* a caller (or a test) never reads configuration behind the injected
|
|
125
|
+
* environment's back; {@link relayProbeEnvFile} names the deployment default.
|
|
126
|
+
*/
|
|
127
|
+
readonly envFile?: string | null;
|
|
128
|
+
/** DSH home used for the default log path and env file. */
|
|
129
|
+
readonly home?: string;
|
|
130
|
+
}
|
|
131
|
+
/** The deployment's env file, `$DSH_HOME/.env`, as the proxy settings already read it. */
|
|
132
|
+
export declare function relayProbeEnvFile(home?: string): string;
|
|
133
|
+
/**
|
|
134
|
+
* Read one probe key from the process environment, then from the env file.
|
|
135
|
+
* The key is always one of this module's own constants, so it is safe to
|
|
136
|
+
* interpolate into the lookup pattern.
|
|
137
|
+
* @param key - constant probe key.
|
|
138
|
+
* @param env - environment to read first.
|
|
139
|
+
* @param options - optional env-file fallback and DSH home.
|
|
140
|
+
* @returns the trimmed value, or undefined when neither source sets one.
|
|
141
|
+
*/
|
|
142
|
+
export declare function relayProbeEnvValue(key: string, env: Record<string, string | undefined>, options?: RelayProbeEnvOptions): string | undefined;
|
|
143
|
+
/** Whether the environment enables the probe. */
|
|
144
|
+
export declare function relayProbeEnabled(env?: Record<string, string | undefined>, options?: RelayProbeEnvOptions): boolean;
|
|
145
|
+
/** Resolve the probe log path from the environment. */
|
|
146
|
+
export declare function relayProbeLogPath(env?: Record<string, string | undefined>, options?: RelayProbeEnvOptions): string;
|
|
147
|
+
/** Append-only file sink that truncates itself past a size cap. */
|
|
148
|
+
export declare function createFileRelayProbeSink(options: {
|
|
149
|
+
path: string;
|
|
150
|
+
maxBytes?: number;
|
|
151
|
+
}): RelayProbeSink;
|
|
152
|
+
/**
|
|
153
|
+
* Subscribe the probe to durable session events.
|
|
154
|
+
* @param ctx - host context (or its probe-facing subset).
|
|
155
|
+
* @param options - sink, optional agent lookup, and optional clock.
|
|
156
|
+
* @returns the disposer that detaches the listener.
|
|
157
|
+
*/
|
|
158
|
+
export declare function installRelayProbe(ctx: RelayProbeContext, options: RelayProbeOptions & {
|
|
159
|
+
path?: string;
|
|
160
|
+
}): () => void;
|
|
161
|
+
//# sourceMappingURL=relay-probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-probe.d.ts","sourceRoot":"","sources":["../../../src/host/relay-probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses-client.d.ts","sourceRoot":"","sources":["../../../src/host/responses-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAwD,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAEzF,KAAK,SAAS,GAAG,OAAO,KAAK,CAAA;AAK7B,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,eAAe,CAAC,EAAE,MAAM,oBAAoB,GAAG,IAAI,CAAA;IACnD,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,qBAAqB,GAAG,IAAI,CAAA;CACtD;AAED,qBAAa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAR9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmC;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;gBAGlD,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,EAChH,OAAO,GAAE,sBAA2B;IAUtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAE9C,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;YA6CrD,IAAI;YAYJ,OAAO;CAsBtB;AAWD,wBAAuB,oBAAoB,CACzC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,qBAAqB,GAAE,WAAW,CAAC,MAAM,CAAa,GACrD,aAAa,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"responses-client.d.ts","sourceRoot":"","sources":["../../../src/host/responses-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAA;AAI7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAwD,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAEzF,KAAK,SAAS,GAAG,OAAO,KAAK,CAAA;AAK7B,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,eAAe,CAAC,EAAE,MAAM,oBAAoB,GAAG,IAAI,CAAA;IACnD,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,qBAAqB,GAAG,IAAI,CAAA;CACtD;AAED,qBAAa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAR9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmC;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;gBAGlD,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,EAChH,OAAO,GAAE,sBAA2B;IAUtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAE9C,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;YA6CrD,IAAI;YAYJ,OAAO;CAsBtB;AAWD,wBAAuB,oBAAoB,CACzC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,qBAAqB,GAAE,WAAW,CAAC,MAAM,CAAa,GACrD,aAAa,CAAC,WAAW,CAAC,CAwQ5B"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export interface Config {
|
|
|
20
20
|
export declare const Config: z<Config>;
|
|
21
21
|
export declare const inject: string[];
|
|
22
22
|
export declare function apply(ctx: Context, pluginConfig?: Config): void;
|
|
23
|
+
export { RELAY_PROBE_ENV, RELAY_PROBE_FILE_ENV, RELAY_PROBE_FILE_NAME, RELAY_PROBE_MAX_BYTES, RELAY_SOURCE_KINDS, RelayProbe, createFileRelayProbeSink, installRelayProbe, relayProbeEnabled, relayProbeEnvFile, relayProbeEnvValue, relayProbeLogPath, } from './host/relay-probe.ts';
|
|
24
|
+
export type { AgentsLookup, ProbeAgent, ProbeEvent, ProbeSession, RelayProbeContext, RelayProbeOptions, RelayProbeSink, } from './host/relay-probe.ts';
|
|
23
25
|
export { ProxyManager, detectSystemProxy } from './host/proxy-manager.ts';
|
|
24
26
|
export { SUBAGENT_MODEL_SELECTION_NAMESPACE, SUBAGENT_POLICY_EVENT, authorizedRoutesFor, createSubagentAuthorization, delegationDenialReason, installSubagentModelAuthorization, normalizeDelegationToolNames, parseAllowedRoutes, policyRoutesOf, subagentModelSelectionPreference, unauthorizedRouteReason, validateAuthorizationScope, validateDelegationToolNames, } from './host/subagent-model-authorization.ts';
|
|
25
27
|
export { OAuthService } from './host/oauth-service.ts';
|
|
@@ -36,6 +38,17 @@ export { LinuxFileTokenStore } from './host/token-store-linux.ts';
|
|
|
36
38
|
export { WindowsDpapiTokenStore } from './host/token-store-windows.ts';
|
|
37
39
|
export type { TokenStore, StoredOAuthCredentials } from './host/token-store.ts';
|
|
38
40
|
export { AntigravityAdapter } from './host/antigravity/adapter.ts';
|
|
41
|
+
export { CommandCodeAdapter } from './host/command-code/adapter.ts';
|
|
42
|
+
export { FileCredentialStore as CommandCodeCredentialStore, FileModelSettingsStore as CommandCodeModelSettingsStore, credentialPath as commandCodeCredentialPath, modelSettingsPath as commandCodeModelSettingsPath, registerCommandCodePreferenceStore, } from './host/command-code/token-store.ts';
|
|
43
|
+
export { beginWebLogin as startCommandCodeLogin, getWebLoginStatus as getCommandCodeLoginStatus, saveApiKey as saveCommandCodeApiKey, } from './host/command-code/oauth.ts';
|
|
44
|
+
export { getCommandCodeWebStatus, registerCommandCodeRoutes } from './host/command-code/routes.ts';
|
|
45
|
+
export { fetchAccountQuota as fetchCommandCodeQuota, clearCachedQuota as clearCommandCodeQuota, getCachedQuota as getCommandCodeQuota, loadProviderModels as loadCommandCodeModels, } from './host/command-code/client.ts';
|
|
46
|
+
export { KimiCodeAdapter, classifyKimiFailure, KIMI_CODE_RETRY_POLICY_CONFIG } from './host/kimi-code/adapter.ts';
|
|
47
|
+
export { FileCredentialStore as KimiCodeCredentialStore, FileModelSettingsStore as KimiCodeModelSettingsStore, credentialPath as kimiCodeCredentialPath, modelSettingsPath as kimiCodeModelSettingsPath, registerKimiCodePreferenceStore, resolveRegion as resolveKimiCodeRegion, } from './host/kimi-code/token-store.ts';
|
|
48
|
+
export { beginWebLogin as beginKimiCodeLogin, ensureAccessToken as ensureKimiCodeAccessToken, getWebLoginStatus as getKimiCodeLoginStatus, refreshAccessToken as refreshKimiCodeToken, requestDeviceAuthorization as requestKimiCodeDeviceAuthorization, } from './host/kimi-code/oauth.ts';
|
|
49
|
+
export { fetchAccountQuota as fetchKimiCodeQuota, fetchUserInfo as fetchKimiCodeUserInfo, loadProviderModels as loadKimiCodeModels, clearCachedQuota as clearKimiCodeQuota, getCachedQuota as getKimiCodeQuota, } from './host/kimi-code/client.ts';
|
|
50
|
+
export { getKimiCodeWebStatus, registerKimiCodeRoutes } from './host/kimi-code/routes.ts';
|
|
51
|
+
export { KIMI_CODE_MODELS, kimiCodeModelDef, } from './host/kimi-code/model-catalog.ts';
|
|
39
52
|
export { FileCredentialStore, FileModelSettingsStore, credentialPath, modelSettingsPath, } from './host/antigravity/token-store.ts';
|
|
40
53
|
export { loginAndSave, beginWebLogin, refreshAntigravityToken } from './host/antigravity/oauth.ts';
|
|
41
54
|
export { clearCachedQuota, fetchAccountQuota, getCachedQuota } from './host/antigravity/client.ts';
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire contracts between the Command Code host routes and the browser settings
|
|
3
|
+
* card. Everything here is public: no credential ever crosses this boundary.
|
|
4
|
+
*/
|
|
5
|
+
/** Deployment of the Command Code API a credential was issued against. */
|
|
6
|
+
export type CommandCodeApiEnv = 'prod' | 'staging' | 'local';
|
|
7
|
+
/**
|
|
8
|
+
* Reasoning levels the provider registry can expose. The exact set is per
|
|
9
|
+
* model — `minimal` is the cheapest budget, `xhigh` sits between `high` and
|
|
10
|
+
* `max`, and most models declare only a subset.
|
|
11
|
+
*/
|
|
12
|
+
export type CommandCodeReasoningEffort = 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
13
|
+
/** Every level, in escalating order; the settings card renders exactly these. */
|
|
14
|
+
export declare const COMMAND_CODE_REASONING_EFFORTS: readonly CommandCodeReasoningEffort[];
|
|
15
|
+
/** One model offered by the Command Code provider API. */
|
|
16
|
+
export interface CommandCodeModelOption {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
/** Enabled models are the ones DSH offers in the conversation model picker. */
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
/** Context window the live catalog reports for this model. */
|
|
22
|
+
defaultContextWindow: number;
|
|
23
|
+
/** Effective context window: the override when one is saved, else the default. */
|
|
24
|
+
contextWindow: number;
|
|
25
|
+
/** Maximum output tokens this route requests when a caller omits one. */
|
|
26
|
+
defaultMaxTokens: number;
|
|
27
|
+
/** Reasoning levels this route exposes; absent for non-reasoning models. */
|
|
28
|
+
reasoningEfforts?: string[];
|
|
29
|
+
/** Reasoning dialect the adapter uses on the wire. */
|
|
30
|
+
wire: CommandCodeWire;
|
|
31
|
+
}
|
|
32
|
+
/** Request/response dialect a model id is served over. */
|
|
33
|
+
export type CommandCodeWire = 'openai' | 'anthropic';
|
|
34
|
+
/** One credit / spend meter reported by the billing service. */
|
|
35
|
+
export interface CommandCodeMeter {
|
|
36
|
+
id: string;
|
|
37
|
+
label: string;
|
|
38
|
+
/** Used fraction in [0, 1] when the service reports a bounded allowance. */
|
|
39
|
+
usedFraction: number | null;
|
|
40
|
+
/** Remaining fraction in [0, 1], when the service reports one. */
|
|
41
|
+
remainingFraction: number | null;
|
|
42
|
+
used: string | null;
|
|
43
|
+
limit: string | null;
|
|
44
|
+
/** Unix milliseconds the meter resets, when reported. */
|
|
45
|
+
resetsAt: number | null;
|
|
46
|
+
description: string | null;
|
|
47
|
+
}
|
|
48
|
+
/** Windowed request/token allowance reported by the usage service. */
|
|
49
|
+
export interface CommandCodeUsageWindow {
|
|
50
|
+
id: string;
|
|
51
|
+
label: string;
|
|
52
|
+
usedPercent: number;
|
|
53
|
+
windowDurationMins: number | null;
|
|
54
|
+
resetsAt: number | null;
|
|
55
|
+
}
|
|
56
|
+
/** Account identity returned by `/alpha/whoami`. */
|
|
57
|
+
export interface CommandCodeAccount {
|
|
58
|
+
userId: string | null;
|
|
59
|
+
userName: string | null;
|
|
60
|
+
email: string | null;
|
|
61
|
+
organizationName: string | null;
|
|
62
|
+
keyName: string | null;
|
|
63
|
+
planLabel: string | null;
|
|
64
|
+
planId: string | null;
|
|
65
|
+
authenticatedAt: number | null;
|
|
66
|
+
}
|
|
67
|
+
/** One point-in-time quota snapshot for the signed-in Command Code account. */
|
|
68
|
+
export interface CommandCodeAccountQuota {
|
|
69
|
+
account: CommandCodeAccount;
|
|
70
|
+
/** Credit balance in the provider's own unit, when reported. */
|
|
71
|
+
creditBalance: string | null;
|
|
72
|
+
/** True when the plan bills against an unlimited allowance. */
|
|
73
|
+
unlimited: boolean;
|
|
74
|
+
/** Machine id the service reports, e.g. `individual-goat`. */
|
|
75
|
+
planId: string | null;
|
|
76
|
+
/** Display name for {@link planId}, e.g. `GOAT`. */
|
|
77
|
+
planName: string | null;
|
|
78
|
+
/** Monthly credits the plan grants, when the id is recognized. */
|
|
79
|
+
planMonthlyCredits: number | null;
|
|
80
|
+
/** Subscription state the service reports, e.g. `active`. */
|
|
81
|
+
subscriptionStatus: string | null;
|
|
82
|
+
/** End of the current billing period, as Unix milliseconds. */
|
|
83
|
+
periodEndsAt: number | null;
|
|
84
|
+
meters: CommandCodeMeter[];
|
|
85
|
+
windows: CommandCodeUsageWindow[];
|
|
86
|
+
/** Raw service payloads, kept for diagnostics in the settings card. */
|
|
87
|
+
fetchedAt: number;
|
|
88
|
+
sources: string[];
|
|
89
|
+
}
|
|
90
|
+
/** Everything the settings card and the composer badge render. */
|
|
91
|
+
export interface CommandCodeWebStatus {
|
|
92
|
+
authenticated: boolean;
|
|
93
|
+
hasCredentials: boolean;
|
|
94
|
+
storagePath: string;
|
|
95
|
+
apiEnv: CommandCodeApiEnv;
|
|
96
|
+
account: CommandCodeAccount | null;
|
|
97
|
+
quota: CommandCodeAccountQuota | null;
|
|
98
|
+
lastFetchedAt: number | null;
|
|
99
|
+
models: CommandCodeModelOption[];
|
|
100
|
+
contextWindowOverrides: Record<string, number>;
|
|
101
|
+
defaultReasoningEffort: CommandCodeReasoningEffort | null;
|
|
102
|
+
/** Route the plugin currently serves; false when another plugin owns it. */
|
|
103
|
+
serving: boolean;
|
|
104
|
+
/** Diagnostic when the route is owned by a different adapter family. */
|
|
105
|
+
conflict: string | null;
|
|
106
|
+
}
|
|
107
|
+
/** Patch accepted by the models/settings routes. */
|
|
108
|
+
export interface CommandCodeSettingsUpdateDto {
|
|
109
|
+
enabledModelIds?: string[];
|
|
110
|
+
contextWindowOverrides?: Record<string, number>;
|
|
111
|
+
defaultReasoningEffort?: CommandCodeReasoningEffort | null;
|
|
112
|
+
}
|
|
113
|
+
/** Result of a manual API-key submission or a compatibility probe. */
|
|
114
|
+
export interface CommandCodeConnectionDto {
|
|
115
|
+
connected: boolean;
|
|
116
|
+
account: CommandCodeAccount | null;
|
|
117
|
+
checkedAt: number;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=command-code-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-code-contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/command-code-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire contracts between the Kimi Code host routes and the browser settings
|
|
3
|
+
* card. Everything here is public: no credential ever crosses this boundary.
|
|
4
|
+
*
|
|
5
|
+
* Kimi Code (https://www.kimi.com/code) is a Moonshot AI coding subscription,
|
|
6
|
+
* distinct from the pay-as-you-go Moonshot Open Platform: its credentials come
|
|
7
|
+
* from an OAuth device flow against auth.kimi.com and its inference lives at
|
|
8
|
+
* https://api.kimi.com/coding/v1.
|
|
9
|
+
*/
|
|
10
|
+
/** Region a Kimi Code account belongs to; decides which hosts the client uses. */
|
|
11
|
+
export type KimiCodeRegion = 'mainland-cn' | 'global';
|
|
12
|
+
/**
|
|
13
|
+
* Request/response dialect used for the model calls.
|
|
14
|
+
*
|
|
15
|
+
* The official Kimi Code CLI configures its managed provider as `type = "kimi"`,
|
|
16
|
+
* an OpenAI-compatible chat-completions client, so that is the default here.
|
|
17
|
+
* The Anthropic Messages dialect is offered too because the service documents
|
|
18
|
+
* `https://api.kimi.com/coding/` as an Anthropic-compatible base URL for
|
|
19
|
+
* third-party tools, and some models behave better with a thinking budget.
|
|
20
|
+
*/
|
|
21
|
+
export type KimiCodeWire = 'openai' | 'anthropic';
|
|
22
|
+
/**
|
|
23
|
+
* Thinking level a Kimi Code model accepts.
|
|
24
|
+
*
|
|
25
|
+
* Kimi Code maps a tool's effort onto exactly three K3 levels plus a thinking-off
|
|
26
|
+
* switch. The documented mapping is authoritative and deliberately narrower than
|
|
27
|
+
* the generic level set other providers use:
|
|
28
|
+
*
|
|
29
|
+
* - `low` <- `low` / `minimum` / `light`
|
|
30
|
+
* - `high` <- `high` / `medium`
|
|
31
|
+
* - `max` <- `ultra` / `max` / `xhigh`
|
|
32
|
+
* - `none` -> thinking disabled (`thinking.type = "disabled"`)
|
|
33
|
+
*
|
|
34
|
+
* Anything else the client sends is rejected by the service with HTTP 400, so
|
|
35
|
+
* no other level is ever put on the wire.
|
|
36
|
+
*/
|
|
37
|
+
export type KimiCodeReasoningEffort = 'low' | 'high' | 'max' | 'none';
|
|
38
|
+
/** Every level, in escalating order; the settings card renders exactly these. */
|
|
39
|
+
export declare const KIMI_CODE_REASONING_EFFORTS: readonly KimiCodeReasoningEffort[];
|
|
40
|
+
/** One model offered by the Kimi Code coding endpoint. */
|
|
41
|
+
export interface KimiCodeModelOption {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
/** Enabled models are the ones DSH offers in the conversation model picker. */
|
|
45
|
+
enabled: boolean;
|
|
46
|
+
/** Context window the catalog reports for this model. */
|
|
47
|
+
defaultContextWindow: number;
|
|
48
|
+
/** Effective context window: the override when one is saved, else the default. */
|
|
49
|
+
contextWindow: number;
|
|
50
|
+
/** Maximum output tokens this route requests when a caller omits one. */
|
|
51
|
+
defaultMaxTokens: number;
|
|
52
|
+
/** Thinking levels this model accepts; absent for a model that cannot reason. */
|
|
53
|
+
reasoningEfforts?: string[];
|
|
54
|
+
/** Thinking level used when the conversation does not pick one. */
|
|
55
|
+
defaultReasoningEffort?: string;
|
|
56
|
+
/** Request/response dialect the adapter uses on the wire. */
|
|
57
|
+
wire: KimiCodeWire;
|
|
58
|
+
/** Human description from the official model table. */
|
|
59
|
+
description: string | null;
|
|
60
|
+
/** Whether the model accepts video input as well as images. */
|
|
61
|
+
supportsVideo: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Whether the model accepts message-level tool declarations
|
|
64
|
+
* (`messages[].tools`), Kimi's `dynamically_loaded_tools` capability.
|
|
65
|
+
*
|
|
66
|
+
* The card shows it because it is the one K3 feature that changes how a
|
|
67
|
+
* client should be shaped rather than what it may send: a session that
|
|
68
|
+
* progressively discloses tools keeps its top-level list stable, which is
|
|
69
|
+
* what protects the prefix cache.
|
|
70
|
+
*/
|
|
71
|
+
supportsDynamicTools: boolean;
|
|
72
|
+
/** Subscription tier the model needs, when it is not open to every member. */
|
|
73
|
+
minimumPlan: string | null;
|
|
74
|
+
}
|
|
75
|
+
/** One quota window reported for the signed-in account. */
|
|
76
|
+
export interface KimiCodeUsageWindow {
|
|
77
|
+
id: string;
|
|
78
|
+
label: string;
|
|
79
|
+
/** Used fraction in [0, 1]. */
|
|
80
|
+
usedFraction: number;
|
|
81
|
+
/** Convenience integer for the card and badge. */
|
|
82
|
+
usedPercent: number;
|
|
83
|
+
/** Nominal window length in minutes, when the service states one. */
|
|
84
|
+
windowDurationMins: number | null;
|
|
85
|
+
/** Unix milliseconds the window resets, when reported. */
|
|
86
|
+
resetsAt: number | null;
|
|
87
|
+
/** Allowance as the service reports it (request counts), when reported. */
|
|
88
|
+
limit: string | null;
|
|
89
|
+
used: string | null;
|
|
90
|
+
remaining: string | null;
|
|
91
|
+
}
|
|
92
|
+
/** Pay-as-you-go wallet the account can fall back on once a window is spent. */
|
|
93
|
+
export interface KimiCodeExtraUsage {
|
|
94
|
+
/** Remaining wallet balance in the currency's minor unit. */
|
|
95
|
+
balanceCents: number | null;
|
|
96
|
+
totalCents: number | null;
|
|
97
|
+
monthlyChargeLimitEnabled: boolean;
|
|
98
|
+
monthlyChargeLimitCents: number | null;
|
|
99
|
+
monthlyUsedCents: number | null;
|
|
100
|
+
currency: string | null;
|
|
101
|
+
}
|
|
102
|
+
/** Account identity, resolved from the token and the usage response. */
|
|
103
|
+
export interface KimiCodeAccount {
|
|
104
|
+
userId: string | null;
|
|
105
|
+
nickname: string | null;
|
|
106
|
+
email: string | null;
|
|
107
|
+
/** Subscription tier display name, for example Moderato. */
|
|
108
|
+
planName: string | null;
|
|
109
|
+
/** Machine tier level when the service reports one. */
|
|
110
|
+
planLevel: string | null;
|
|
111
|
+
region: KimiCodeRegion | null;
|
|
112
|
+
authenticatedAt: number | null;
|
|
113
|
+
}
|
|
114
|
+
/** One point-in-time quota snapshot for the signed-in Kimi Code account. */
|
|
115
|
+
export interface KimiCodeAccountQuota {
|
|
116
|
+
account: KimiCodeAccount;
|
|
117
|
+
/** Subscription tier display name, when the service reports one. */
|
|
118
|
+
planName: string | null;
|
|
119
|
+
/** Every quota window the account currently has. */
|
|
120
|
+
windows: KimiCodeUsageWindow[];
|
|
121
|
+
/** Pay-as-you-go booster wallet, when the account has one. */
|
|
122
|
+
extraUsage: KimiCodeExtraUsage | null;
|
|
123
|
+
/** Unix milliseconds this snapshot was fetched. */
|
|
124
|
+
fetchedAt: number;
|
|
125
|
+
/** Endpoint paths that answered, kept for diagnostics in the card. */
|
|
126
|
+
sources: string[];
|
|
127
|
+
}
|
|
128
|
+
/** Everything the settings card and the composer badge render. */
|
|
129
|
+
export interface KimiCodeWebStatus {
|
|
130
|
+
authenticated: boolean;
|
|
131
|
+
hasCredentials: boolean;
|
|
132
|
+
storagePath: string;
|
|
133
|
+
region: KimiCodeRegion;
|
|
134
|
+
oauthHost: string;
|
|
135
|
+
codingBaseUrl: string;
|
|
136
|
+
account: KimiCodeAccount | null;
|
|
137
|
+
quota: KimiCodeAccountQuota | null;
|
|
138
|
+
lastFetchedAt: number | null;
|
|
139
|
+
/** When true the stored refresh token was rejected and sign-in is required. */
|
|
140
|
+
credentialsRejected: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Why the quota could not be read, when the last attempt failed.
|
|
143
|
+
*
|
|
144
|
+
* Reported beside the snapshot rather than in place of it: a transient
|
|
145
|
+
* failure should explain itself without hiding the account that is signed in.
|
|
146
|
+
*/
|
|
147
|
+
quotaError?: string | null;
|
|
148
|
+
/** Rolling prefix-cache effectiveness for this process, when requests ran. */
|
|
149
|
+
cache: KimiCodeCacheStatsDto | null;
|
|
150
|
+
/** Whether Preserved Thinking is currently requested on the wire. */
|
|
151
|
+
preserveThinking: boolean;
|
|
152
|
+
models: KimiCodeModelOption[];
|
|
153
|
+
contextWindowOverrides: Record<string, number>;
|
|
154
|
+
defaultReasoningEffort: KimiCodeReasoningEffort | null;
|
|
155
|
+
/** Region used for the next login flow. */
|
|
156
|
+
loginRegion: KimiCodeRegion;
|
|
157
|
+
/** Route the plugin currently serves; false when another plugin owns it. */
|
|
158
|
+
serving: boolean;
|
|
159
|
+
/** Diagnostic when the route is owned by a different adapter family. */
|
|
160
|
+
conflict: string | null;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* How well Kimi's automatic prefix cache is working for this process.
|
|
164
|
+
*
|
|
165
|
+
* Reported because the cache is invisible otherwise: it is content-hash based
|
|
166
|
+
* with no marker to set, so the read ratio is the only evidence a session is
|
|
167
|
+
* actually reusing its prefix.
|
|
168
|
+
*/
|
|
169
|
+
export interface KimiCodeCacheStatsDto {
|
|
170
|
+
requests: number;
|
|
171
|
+
cachedTokens: number;
|
|
172
|
+
freshTokens: number;
|
|
173
|
+
outputTokens: number;
|
|
174
|
+
/** Cached / (cached + fresh); null until a request reports usage. */
|
|
175
|
+
hitRatio: number | null;
|
|
176
|
+
}
|
|
177
|
+
/** Patch accepted by the models/settings routes. */
|
|
178
|
+
export interface KimiCodeSettingsUpdateDto {
|
|
179
|
+
enabledModelIds?: string[];
|
|
180
|
+
contextWindowOverrides?: Record<string, number>;
|
|
181
|
+
defaultReasoningEffort?: KimiCodeReasoningEffort | null;
|
|
182
|
+
}
|
|
183
|
+
/** Live state of the device-code login flow the card polls. */
|
|
184
|
+
export interface KimiCodeLoginFlowStatus {
|
|
185
|
+
status: 'idle' | 'pending' | 'complete' | 'error';
|
|
186
|
+
/** Page the user must open, including the pre-filled user code. */
|
|
187
|
+
verificationUriComplete?: string;
|
|
188
|
+
verificationUri?: string;
|
|
189
|
+
userCode?: string;
|
|
190
|
+
startedAt?: number;
|
|
191
|
+
completedAt?: number;
|
|
192
|
+
/** Unix milliseconds the device code stops being valid. */
|
|
193
|
+
expiresAt?: number;
|
|
194
|
+
progress?: string;
|
|
195
|
+
error?: string;
|
|
196
|
+
}
|
|
197
|
+
/** Result of an explicit connection test. */
|
|
198
|
+
export interface KimiCodeConnectionDto {
|
|
199
|
+
connected: boolean;
|
|
200
|
+
latencyMs: number;
|
|
201
|
+
account: KimiCodeAccount | null;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=kimi-code-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kimi-code-contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/kimi-code-contracts.ts"],"names":[],"mappings":"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"}
|