@sentropic/llm-mesh 0.19.2 → 0.21.0
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/dist/account-transports.d.ts.map +1 -1
- package/dist/account-transports.js +11 -1
- package/dist/account-transports.js.map +1 -1
- package/dist/adapters.d.ts +6 -0
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +10 -0
- package/dist/adapters.js.map +1 -1
- package/dist/auth.d.ts +2 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +3 -0
- package/dist/auth.js.map +1 -1
- package/dist/catalog.d.ts +42 -0
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +34 -0
- package/dist/catalog.js.map +1 -1
- package/dist/codex.d.ts.map +1 -1
- package/dist/codex.js +1 -2
- package/dist/codex.js.map +1 -1
- package/dist/enrollment/contracts.d.ts +7 -1
- package/dist/enrollment/contracts.d.ts.map +1 -1
- package/dist/enrollment/device-flow.d.ts +28 -0
- package/dist/enrollment/device-flow.d.ts.map +1 -0
- package/dist/enrollment/device-flow.js +42 -0
- package/dist/enrollment/device-flow.js.map +1 -0
- package/dist/enrollment/muse-code.d.ts +30 -0
- package/dist/enrollment/muse-code.d.ts.map +1 -0
- package/dist/enrollment/muse-code.js +249 -0
- package/dist/enrollment/muse-code.js.map +1 -0
- package/dist/enrollment/muse.d.ts +37 -0
- package/dist/enrollment/muse.d.ts.map +1 -0
- package/dist/enrollment/muse.js +162 -0
- package/dist/enrollment/muse.js.map +1 -0
- package/dist/generated-model-council.d.ts +2 -2
- package/dist/generated-model-council.d.ts.map +1 -1
- package/dist/generated-model-council.js +3 -1
- package/dist/generated-model-council.js.map +1 -1
- package/dist/generation.d.ts +1 -0
- package/dist/generation.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +6 -5
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +7 -1
- package/dist/providers.js.map +1 -1
- package/dist/routing-targets.d.ts +27 -4
- package/dist/routing-targets.d.ts.map +1 -1
- package/dist/routing-targets.js +112 -23
- package/dist/routing-targets.js.map +1 -1
- package/dist/service/facade.d.ts +3 -0
- package/dist/service/facade.d.ts.map +1 -1
- package/dist/service/facade.js +13 -0
- package/dist/service/facade.js.map +1 -1
- package/dist/service/local-account-transport-service.d.ts +3 -0
- package/dist/service/local-account-transport-service.d.ts.map +1 -1
- package/dist/service/local-account-transport-service.js +155 -0
- package/dist/service/local-account-transport-service.js.map +1 -1
- package/dist/streaming.d.ts +2 -0
- package/dist/streaming.d.ts.map +1 -1
- package/dist/transport/cloud-code-runtime-client.d.ts.map +1 -1
- package/dist/transport/cloud-code-runtime-client.js +25 -4
- package/dist/transport/cloud-code-runtime-client.js.map +1 -1
- package/dist/transport/codex-runtime-wire.d.ts.map +1 -1
- package/dist/transport/codex-runtime-wire.js +3 -0
- package/dist/transport/codex-runtime-wire.js.map +1 -1
- package/dist/transport/muse-runtime-client.d.ts +20 -0
- package/dist/transport/muse-runtime-client.d.ts.map +1 -0
- package/dist/transport/muse-runtime-client.js +244 -0
- package/dist/transport/muse-runtime-client.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { CompletedEnrollment, CompleteEnrollmentInput, EnrollmentProvider, EnrollmentSession, PreparedCredential, RefreshInput, ResolvedProviderMetadata, StartEnrollmentInput } from './contracts.js';
|
|
2
|
+
export declare const MUSE_AUTH_ISSUER = "https://auth.meta.com";
|
|
3
|
+
export declare const MUSE_DEVICE_AUTHORIZATION_URL = "https://auth.meta.com/oidc/device/authorization/";
|
|
4
|
+
export declare const MUSE_DEVICE_TOKEN_URL = "https://auth.meta.com/oidc/device/token/";
|
|
5
|
+
export declare const MUSE_CLIENT_ID = "1031625952748946";
|
|
6
|
+
export declare const MUSE_VERIFICATION_URL = "https://accountscenter.meta.com/muse_code/";
|
|
7
|
+
export declare const MUSE_KEY_MINT_URL = "https://api.meta.ai/muse-code/key";
|
|
8
|
+
export declare const MUSE_KEY_MINT_API_VERSION = "1.0.0";
|
|
9
|
+
export declare const MUSE_NATIVE_CONFIG_VERSION = "muse-device-flow-v1";
|
|
10
|
+
export interface MuseCodeEnrollmentOptions {
|
|
11
|
+
clientId?: string;
|
|
12
|
+
fetchFn?: typeof fetch;
|
|
13
|
+
}
|
|
14
|
+
export declare class MuseCodeEnrollmentProvider implements EnrollmentProvider {
|
|
15
|
+
private readonly clientId;
|
|
16
|
+
private readonly fetchFn;
|
|
17
|
+
private readonly sessions;
|
|
18
|
+
private sequence;
|
|
19
|
+
constructor(options?: MuseCodeEnrollmentOptions);
|
|
20
|
+
start(input: StartEnrollmentInput): Promise<EnrollmentSession>;
|
|
21
|
+
private pollToken;
|
|
22
|
+
private mintApiKey;
|
|
23
|
+
private buildCredential;
|
|
24
|
+
pollForCompletion(enrollmentId: string, maxAttempts?: number): Promise<CompletedEnrollment>;
|
|
25
|
+
complete(input: CompleteEnrollmentInput): Promise<PreparedCredential>;
|
|
26
|
+
resolve(credential: PreparedCredential): Promise<ResolvedProviderMetadata>;
|
|
27
|
+
refresh(input: RefreshInput): Promise<PreparedCredential>;
|
|
28
|
+
cancel(enrollmentId: string): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=muse-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muse-code.d.ts","sourceRoot":"","sources":["../../src/enrollment/muse-code.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EAEjB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AACxD,eAAO,MAAM,6BAA6B,qDAAmD,CAAC;AAC9F,eAAO,MAAM,qBAAqB,6CAA2C,CAAC;AAC9E,eAAO,MAAM,cAAc,qBAAqB,CAAC;AACjD,eAAO,MAAM,qBAAqB,+CAA+C,CAAC;AAClF,eAAO,MAAM,iBAAiB,sCAAsC,CAAC;AACrE,eAAO,MAAM,yBAAyB,UAAU,CAAC;AACjD,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAWD,qBAAa,0BAA2B,YAAW,kBAAkB;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAK;gBAET,OAAO,GAAE,yBAA8B;IAK7C,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAiEtD,SAAS;YAoCT,UAAU;IA+BxB,OAAO,CAAC,eAAe;IAoBjB,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,WAAW,SAAK,GACf,OAAO,CAAC,mBAAmB,CAAC;IAkCzB,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASrE,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAO1E,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuCzD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlD"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
// @sentropic/llm-mesh/enrollment/muse-code.ts
|
|
2
|
+
//
|
|
3
|
+
// Native Meta device-flow enrollment (S5, §14.6 DESIGN CONTRACT implemented).
|
|
4
|
+
// Wire facts [MEASURED] from static analysis of the installed muse CLI
|
|
5
|
+
// (wrapper ~/.local/bin/muse + ELF muse-bin-1.3.0-R3401.1, read-only):
|
|
6
|
+
// - authorize POST https://auth.meta.com/oidc/device/authorization/
|
|
7
|
+
// (client_id 1031625952748946, public RFC 8628 client),
|
|
8
|
+
// form-encoded (JSON body gets a live 404 — probed 2026-09-21);
|
|
9
|
+
// - poll POST https://auth.meta.com/oidc/device/token/ (form-encoded,
|
|
10
|
+
// grant_type urn:ietf:params:oauth:grant-type:device_code);
|
|
11
|
+
// - mint POST https://api.meta.ai/muse-code/key, header x-api-version 1.0.0,
|
|
12
|
+
// body { dca_token } -> MintedKey{ api_key, user_email, ... } (all optional).
|
|
13
|
+
// The wait/backoff/fail-up policy is mutualized in ./device-flow.ts
|
|
14
|
+
// (shared with future providers; codex keeps its custom flow).
|
|
15
|
+
// [GAP] refresh grant string: standard OAuth2 refresh_token grant against
|
|
16
|
+
// the token endpoint (RFC 6749, not Meta-measured); re-mint after refresh.
|
|
17
|
+
import { createHash } from 'node:crypto';
|
|
18
|
+
import { runDeviceFlowUntilComplete } from './device-flow.js';
|
|
19
|
+
export const MUSE_AUTH_ISSUER = 'https://auth.meta.com';
|
|
20
|
+
export const MUSE_DEVICE_AUTHORIZATION_URL = `${MUSE_AUTH_ISSUER}/oidc/device/authorization/`;
|
|
21
|
+
export const MUSE_DEVICE_TOKEN_URL = `${MUSE_AUTH_ISSUER}/oidc/device/token/`;
|
|
22
|
+
export const MUSE_CLIENT_ID = '1031625952748946';
|
|
23
|
+
export const MUSE_VERIFICATION_URL = 'https://accountscenter.meta.com/muse_code/';
|
|
24
|
+
export const MUSE_KEY_MINT_URL = 'https://api.meta.ai/muse-code/key';
|
|
25
|
+
export const MUSE_KEY_MINT_API_VERSION = '1.0.0';
|
|
26
|
+
export const MUSE_NATIVE_CONFIG_VERSION = 'muse-device-flow-v1';
|
|
27
|
+
const textOf = (value) => typeof value === 'string' && value.trim().length > 0 ? value.trim() : null;
|
|
28
|
+
export class MuseCodeEnrollmentProvider {
|
|
29
|
+
clientId;
|
|
30
|
+
fetchFn;
|
|
31
|
+
sessions = new Map();
|
|
32
|
+
sequence = 0;
|
|
33
|
+
constructor(options = {}) {
|
|
34
|
+
this.clientId = options.clientId ?? MUSE_CLIENT_ID;
|
|
35
|
+
this.fetchFn = options.fetchFn ?? fetch;
|
|
36
|
+
}
|
|
37
|
+
async start(input) {
|
|
38
|
+
this.sequence += 1;
|
|
39
|
+
const enrollmentId = `enr_musecode_${Date.now().toString(36)}_${this.sequence.toString(36)}`;
|
|
40
|
+
// Live-probed 2026-09-21: the Meta OIDC device endpoints take
|
|
41
|
+
// application/x-www-form-urlencoded (a JSON body gets a 404).
|
|
42
|
+
const response = await this.fetchFn(MUSE_DEVICE_AUTHORIZATION_URL, {
|
|
43
|
+
method: 'POST',
|
|
44
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded', accept: 'application/json' },
|
|
45
|
+
body: new URLSearchParams({ client_id: this.clientId }).toString(),
|
|
46
|
+
});
|
|
47
|
+
if (!response.ok) {
|
|
48
|
+
const text = await response.text().catch(() => '');
|
|
49
|
+
throw new Error(`Muse device auth start failed (${response.status}): ${text.slice(0, 200)}`);
|
|
50
|
+
}
|
|
51
|
+
const payload = (await response.json());
|
|
52
|
+
const deviceCode = textOf(payload.device_code);
|
|
53
|
+
const userCode = textOf(payload.user_code);
|
|
54
|
+
if (!deviceCode || !userCode) {
|
|
55
|
+
throw new Error('Muse device auth returned incomplete response');
|
|
56
|
+
}
|
|
57
|
+
const verificationUrl = textOf(payload.verification_uri_complete)
|
|
58
|
+
?? textOf(payload.verification_uri)
|
|
59
|
+
?? MUSE_VERIFICATION_URL;
|
|
60
|
+
const pollIntervalMs = typeof payload.interval === 'number' && payload.interval > 0
|
|
61
|
+
? payload.interval * 1000
|
|
62
|
+
: 5000;
|
|
63
|
+
const expiresInSec = typeof payload.expires_in === 'number' && payload.expires_in > 0
|
|
64
|
+
? payload.expires_in
|
|
65
|
+
: 900;
|
|
66
|
+
const now = new Date().toISOString();
|
|
67
|
+
this.sessions.set(enrollmentId, {
|
|
68
|
+
state: {
|
|
69
|
+
enrollmentId,
|
|
70
|
+
providerId: 'muse',
|
|
71
|
+
ownerScope: input.ownerScope,
|
|
72
|
+
pkceVerifier: '',
|
|
73
|
+
pkceState: '',
|
|
74
|
+
redirectUri: input.redirectUri,
|
|
75
|
+
configVersion: MUSE_NATIVE_CONFIG_VERSION,
|
|
76
|
+
createdAt: now,
|
|
77
|
+
expiresAt: new Date(Date.now() + expiresInSec * 1000).toISOString(),
|
|
78
|
+
},
|
|
79
|
+
deviceCode,
|
|
80
|
+
pollIntervalMs,
|
|
81
|
+
});
|
|
82
|
+
return {
|
|
83
|
+
kind: 'device-code',
|
|
84
|
+
enrollmentId,
|
|
85
|
+
verificationUrl,
|
|
86
|
+
userCode,
|
|
87
|
+
pollIntervalMs,
|
|
88
|
+
expiresAt: new Date(Date.now() + expiresInSec * 1000).toISOString(),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
async pollToken(deviceCode) {
|
|
92
|
+
const response = await this.fetchFn(MUSE_DEVICE_TOKEN_URL, {
|
|
93
|
+
method: 'POST',
|
|
94
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded', accept: 'application/json' },
|
|
95
|
+
body: new URLSearchParams({
|
|
96
|
+
grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
|
|
97
|
+
device_code: deviceCode,
|
|
98
|
+
client_id: this.clientId,
|
|
99
|
+
}).toString(),
|
|
100
|
+
});
|
|
101
|
+
if (!response.ok) {
|
|
102
|
+
const raw = await response.text().catch(() => '');
|
|
103
|
+
let error = '';
|
|
104
|
+
try {
|
|
105
|
+
error = String(JSON.parse(raw).error ?? '');
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
error = raw.slice(0, 100);
|
|
109
|
+
}
|
|
110
|
+
if (error === 'authorization_pending')
|
|
111
|
+
return { status: 'pending' };
|
|
112
|
+
if (error === 'slow_down')
|
|
113
|
+
return { status: 'slow_down' };
|
|
114
|
+
if (error === 'access_denied')
|
|
115
|
+
return { status: 'denied', error };
|
|
116
|
+
if (error === 'expired_token')
|
|
117
|
+
return { status: 'expired' };
|
|
118
|
+
throw new Error(`Muse device poll failed (${response.status}): ${error.slice(0, 200)}`);
|
|
119
|
+
}
|
|
120
|
+
const payload = (await response.json());
|
|
121
|
+
return { status: 'complete', payload };
|
|
122
|
+
}
|
|
123
|
+
async mintApiKey(accessToken) {
|
|
124
|
+
const response = await this.fetchFn(MUSE_KEY_MINT_URL, {
|
|
125
|
+
method: 'POST',
|
|
126
|
+
headers: {
|
|
127
|
+
'content-type': 'application/json',
|
|
128
|
+
accept: 'application/json',
|
|
129
|
+
'x-api-version': MUSE_KEY_MINT_API_VERSION,
|
|
130
|
+
// Live-probed 2026-09-21: body-only mints 401; the dca token must
|
|
131
|
+
// ALSO ride as Bearer alongside the { dca_token } body (200).
|
|
132
|
+
authorization: `Bearer ${accessToken}`,
|
|
133
|
+
},
|
|
134
|
+
body: JSON.stringify({ dca_token: accessToken }),
|
|
135
|
+
});
|
|
136
|
+
if (!response.ok) {
|
|
137
|
+
const text = await response.text().catch(() => '');
|
|
138
|
+
throw new Error(`Muse key mint failed (${response.status}): ${text.slice(0, 200)}`);
|
|
139
|
+
}
|
|
140
|
+
const payload = (await response.json());
|
|
141
|
+
const apiKey = textOf(payload.api_key);
|
|
142
|
+
if (!apiKey) {
|
|
143
|
+
throw new Error('Muse key mint returned no api_key');
|
|
144
|
+
}
|
|
145
|
+
return { apiKey, email: textOf(payload.user_email) };
|
|
146
|
+
}
|
|
147
|
+
buildCredential(input) {
|
|
148
|
+
// Same stable-id convention as the CLI import so the same Meta login
|
|
149
|
+
// converges on one account across enrollment paths.
|
|
150
|
+
const stableId = input.email ?? input.apiKey;
|
|
151
|
+
const accountId = `acct_muse_${createHash('sha256').update(stableId).digest('hex').slice(0, 12)}`;
|
|
152
|
+
return {
|
|
153
|
+
accountId,
|
|
154
|
+
accessToken: input.apiKey,
|
|
155
|
+
...(input.refreshToken ? { refreshToken: input.refreshToken } : {}),
|
|
156
|
+
expiresAt: new Date(Date.now() + (input.expiresInSec ?? 3600) * 1000).toISOString(),
|
|
157
|
+
authClientConfigVersion: MUSE_NATIVE_CONFIG_VERSION,
|
|
158
|
+
...(input.email ? { accountEmail: input.email } : {}),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
async pollForCompletion(enrollmentId, maxAttempts = 60) {
|
|
162
|
+
const entry = this.sessions.get(enrollmentId);
|
|
163
|
+
if (!entry) {
|
|
164
|
+
throw new Error(`Enrollment session ${enrollmentId} not found`);
|
|
165
|
+
}
|
|
166
|
+
const grant = await runDeviceFlowUntilComplete({
|
|
167
|
+
poll: () => this.pollToken(entry.deviceCode),
|
|
168
|
+
pollIntervalMs: entry.pollIntervalMs,
|
|
169
|
+
maxAttempts,
|
|
170
|
+
isCancelled: () => !!entry.state.cancelledAt,
|
|
171
|
+
});
|
|
172
|
+
const accessToken = textOf(grant.access_token);
|
|
173
|
+
if (!accessToken) {
|
|
174
|
+
throw new Error('Muse device flow completed without an access token');
|
|
175
|
+
}
|
|
176
|
+
const minted = await this.mintApiKey(accessToken);
|
|
177
|
+
const refreshToken = textOf(grant.refresh_token) ?? undefined;
|
|
178
|
+
const expiresInSec = typeof grant.expires_in === 'number' ? grant.expires_in : 3600;
|
|
179
|
+
const credential = this.buildCredential({
|
|
180
|
+
apiKey: minted.apiKey,
|
|
181
|
+
email: minted.email,
|
|
182
|
+
refreshToken,
|
|
183
|
+
expiresInSec,
|
|
184
|
+
});
|
|
185
|
+
// Same CompletedEnrollment shape as the codex device flow (mutualized
|
|
186
|
+
// service handling); the caller binds the session ownerScope.
|
|
187
|
+
return {
|
|
188
|
+
accountId: credential.accountId,
|
|
189
|
+
label: `Muse (${minted.email ?? credential.accountId})`,
|
|
190
|
+
ownerScope: entry.state.ownerScope,
|
|
191
|
+
credential,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
async complete(input) {
|
|
195
|
+
// Single-shot completion: one poll round; use pollForCompletion to wait.
|
|
196
|
+
const res = await this.pollForCompletion(input.enrollmentId, 1);
|
|
197
|
+
if (!res.credential) {
|
|
198
|
+
throw new Error(`Enrollment session ${input.enrollmentId} did not resolve a credential`);
|
|
199
|
+
}
|
|
200
|
+
return res.credential;
|
|
201
|
+
}
|
|
202
|
+
async resolve(credential) {
|
|
203
|
+
return {
|
|
204
|
+
provider: 'muse',
|
|
205
|
+
accountId: credential.accountId,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
async refresh(input) {
|
|
209
|
+
if (!input.refreshToken) {
|
|
210
|
+
throw new Error('Muse native refresh requires a refresh token');
|
|
211
|
+
}
|
|
212
|
+
const response = await this.fetchFn(MUSE_DEVICE_TOKEN_URL, {
|
|
213
|
+
method: 'POST',
|
|
214
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded', accept: 'application/json' },
|
|
215
|
+
body: new URLSearchParams({
|
|
216
|
+
grant_type: 'refresh_token',
|
|
217
|
+
refresh_token: input.refreshToken,
|
|
218
|
+
client_id: this.clientId,
|
|
219
|
+
}).toString(),
|
|
220
|
+
});
|
|
221
|
+
if (!response.ok) {
|
|
222
|
+
const text = await response.text().catch(() => '');
|
|
223
|
+
throw new Error(`Muse token refresh failed (${response.status}): ${text.slice(0, 200)}`);
|
|
224
|
+
}
|
|
225
|
+
const payload = (await response.json());
|
|
226
|
+
const accessToken = textOf(payload.access_token);
|
|
227
|
+
if (!accessToken) {
|
|
228
|
+
throw new Error('Muse token refresh returned no access token');
|
|
229
|
+
}
|
|
230
|
+
const minted = await this.mintApiKey(accessToken);
|
|
231
|
+
const credential = this.buildCredential({
|
|
232
|
+
apiKey: minted.apiKey,
|
|
233
|
+
email: minted.email,
|
|
234
|
+
refreshToken: textOf(payload.refresh_token) ?? undefined,
|
|
235
|
+
expiresInSec: typeof payload.expires_in === 'number' ? payload.expires_in : 3600,
|
|
236
|
+
});
|
|
237
|
+
if (credential.accountId !== input.accountId) {
|
|
238
|
+
throw new Error('Muse account changed during refresh');
|
|
239
|
+
}
|
|
240
|
+
return credential;
|
|
241
|
+
}
|
|
242
|
+
async cancel(enrollmentId) {
|
|
243
|
+
const entry = this.sessions.get(enrollmentId);
|
|
244
|
+
if (entry) {
|
|
245
|
+
entry.state.cancelledAt = new Date().toISOString();
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=muse-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muse-code.js","sourceRoot":"","sources":["../../src/enrollment/muse-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { CompleteEnrollmentInput, EnrollmentProvider, EnrollmentSession, PreparedCredential, RefreshInput, ResolvedProviderMetadata, StartEnrollmentInput } from './contracts.js';
|
|
2
|
+
export declare const MUSE_AUTH_FILE_SOURCE = "muse-cli-auth-file";
|
|
3
|
+
/** Marker recorded on accounts enrolled from a raw MUSE_API_KEY (pay-as-you-go). */
|
|
4
|
+
export declare const MUSE_DIRECT_BILLING_TYPE = "direct";
|
|
5
|
+
/** Meta wire auth block for a direct-billed key (no CLI seat involved). */
|
|
6
|
+
export interface MuseDirectAuthPayload {
|
|
7
|
+
auth_type: 'api_key';
|
|
8
|
+
user_api_key: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const buildMuseDirectAuthPayload: (apiKey: string) => MuseDirectAuthPayload;
|
|
11
|
+
export interface MuseEnrollmentOptions {
|
|
12
|
+
readAuthFile?: (path: string) => Promise<string>;
|
|
13
|
+
authFilePath?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class MuseEnrollmentProvider implements EnrollmentProvider {
|
|
16
|
+
private readonly readAuthFile;
|
|
17
|
+
private readonly authFilePath;
|
|
18
|
+
private readonly sessions;
|
|
19
|
+
private sequence;
|
|
20
|
+
constructor(options?: MuseEnrollmentOptions);
|
|
21
|
+
start(input: StartEnrollmentInput): Promise<EnrollmentSession>;
|
|
22
|
+
private readEntry;
|
|
23
|
+
private buildCredential;
|
|
24
|
+
/**
|
|
25
|
+
* Direct-billing import of a raw MUSE_API_KEY (pay-as-you-go, no CLI seat).
|
|
26
|
+
* No session round-trip: the key itself is the credential. Re-imports of
|
|
27
|
+
* the same key converge on one account; the `direct:` namespace keeps
|
|
28
|
+
* direct-key accounts distinct from CLI-login accounts even when the raw
|
|
29
|
+
* strings coincide (billing paths must never merge).
|
|
30
|
+
*/
|
|
31
|
+
importDirectApiKey(apiKey: string): Promise<PreparedCredential>;
|
|
32
|
+
complete(input: CompleteEnrollmentInput): Promise<PreparedCredential>;
|
|
33
|
+
resolve(credential: PreparedCredential): Promise<ResolvedProviderMetadata>;
|
|
34
|
+
refresh(input: RefreshInput): Promise<PreparedCredential>;
|
|
35
|
+
cancel(enrollmentId: string): Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=muse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muse.d.ts","sourceRoot":"","sources":["../../src/enrollment/muse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EAEjB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD,2EAA2E;AAC3E,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,0BAA0B,WAAY,MAAM,KAAG,qBAQ3D,CAAC;AAoBF,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuBD,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAK;gBAET,OAAO,GAAE,qBAA0B;IAMzC,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YA0BtD,SAAS;IA+BvB,OAAO,CAAC,eAAe;IAkBvB;;;;;;OAMG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAW/D,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYrE,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAO1E,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWzD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlD"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
export const MUSE_AUTH_FILE_SOURCE = 'muse-cli-auth-file';
|
|
6
|
+
/** Marker recorded on accounts enrolled from a raw MUSE_API_KEY (pay-as-you-go). */
|
|
7
|
+
export const MUSE_DIRECT_BILLING_TYPE = 'direct';
|
|
8
|
+
export const buildMuseDirectAuthPayload = (apiKey) => {
|
|
9
|
+
// textOf checks blankness but returns the untrimmed value; trim here so
|
|
10
|
+
// surrounding whitespace never reaches the wire payload.
|
|
11
|
+
const key = textOf(apiKey)?.trim();
|
|
12
|
+
if (!key) {
|
|
13
|
+
throw new Error('Muse direct API key is empty');
|
|
14
|
+
}
|
|
15
|
+
return { auth_type: 'api_key', user_api_key: key };
|
|
16
|
+
};
|
|
17
|
+
const defaultAuthFilePath = () => join(homedir(), '.config', 'muse', 'auth.json');
|
|
18
|
+
const textOf = (value) => typeof value === 'string' && value.trim().length > 0 ? value : null;
|
|
19
|
+
/** The CLI owns token lifecycle; mesh treats an import as fresh for one hour. */
|
|
20
|
+
const IMPORT_TTL_MS = 3600 * 1000;
|
|
21
|
+
/**
|
|
22
|
+
* Direct API keys have no mesh-visible rotation (no CLI store to re-read),
|
|
23
|
+
* so the credential outlives the CLI import window; mesh refresh cannot renew
|
|
24
|
+
* it and re-import is the rotation path. 90 days is the rotation horizon.
|
|
25
|
+
*/
|
|
26
|
+
const DIRECT_API_KEY_TTL_MS = 90 * 24 * 3600 * 1000;
|
|
27
|
+
/** Version marker for credentials enrolled from a raw key (no CLI schema). */
|
|
28
|
+
const DIRECT_API_KEY_CONFIG_VERSION = 'direct-api-key-v1';
|
|
29
|
+
export class MuseEnrollmentProvider {
|
|
30
|
+
readAuthFile;
|
|
31
|
+
authFilePath;
|
|
32
|
+
sessions = new Map();
|
|
33
|
+
sequence = 0;
|
|
34
|
+
constructor(options = {}) {
|
|
35
|
+
this.readAuthFile = options.readAuthFile
|
|
36
|
+
?? ((path) => readFile(path, 'utf8'));
|
|
37
|
+
this.authFilePath = options.authFilePath ?? defaultAuthFilePath();
|
|
38
|
+
}
|
|
39
|
+
async start(input) {
|
|
40
|
+
this.sequence += 1;
|
|
41
|
+
const enrollmentId = `enr_muse_${Date.now().toString(36)}_${this.sequence.toString(36)}`;
|
|
42
|
+
const now = new Date().toISOString();
|
|
43
|
+
this.sessions.set(enrollmentId, {
|
|
44
|
+
state: {
|
|
45
|
+
enrollmentId,
|
|
46
|
+
providerId: 'muse',
|
|
47
|
+
ownerScope: input.ownerScope,
|
|
48
|
+
pkceVerifier: '',
|
|
49
|
+
pkceState: '',
|
|
50
|
+
redirectUri: input.redirectUri,
|
|
51
|
+
configVersion: '1',
|
|
52
|
+
createdAt: now,
|
|
53
|
+
expiresAt: new Date(Date.now() + 15 * 60 * 1000).toISOString(),
|
|
54
|
+
},
|
|
55
|
+
ownerScope: input.ownerScope,
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
kind: 'local-import',
|
|
59
|
+
enrollmentId,
|
|
60
|
+
source: MUSE_AUTH_FILE_SOURCE,
|
|
61
|
+
expiresAt: new Date(Date.now() + 15 * 60 * 1000).toISOString(),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
async readEntry() {
|
|
65
|
+
let raw;
|
|
66
|
+
try {
|
|
67
|
+
raw = await this.readAuthFile(this.authFilePath);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
throw new Error(`Muse CLI auth file is not readable at ${this.authFilePath}`);
|
|
71
|
+
}
|
|
72
|
+
let parsed;
|
|
73
|
+
try {
|
|
74
|
+
parsed = JSON.parse(raw);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
throw new Error('Muse CLI auth file is not valid JSON');
|
|
78
|
+
}
|
|
79
|
+
const providers = parsed && typeof parsed === 'object' && parsed.providers
|
|
80
|
+
&& typeof parsed.providers === 'object'
|
|
81
|
+
? parsed.providers.meta
|
|
82
|
+
: undefined;
|
|
83
|
+
if (!providers || typeof providers !== 'object') {
|
|
84
|
+
throw new Error('Muse CLI auth file has no meta provider entry');
|
|
85
|
+
}
|
|
86
|
+
const entry = providers;
|
|
87
|
+
const token = textOf(entry.access_token) ?? textOf(entry.api_key);
|
|
88
|
+
if (!token) {
|
|
89
|
+
throw new Error('Muse CLI auth file has no usable token for the meta provider');
|
|
90
|
+
}
|
|
91
|
+
const schemaVersion = typeof parsed.schema_version === 'number' ? String(parsed.schema_version) : '1';
|
|
92
|
+
return { entry, schemaVersion };
|
|
93
|
+
}
|
|
94
|
+
buildCredential(entry, schemaVersion) {
|
|
95
|
+
const token = textOf(entry.access_token) ?? textOf(entry.api_key);
|
|
96
|
+
if (!token) {
|
|
97
|
+
throw new Error('Muse CLI auth file has no usable token for the meta provider');
|
|
98
|
+
}
|
|
99
|
+
// Stable per login so re-imports converge on one account, never a dupe.
|
|
100
|
+
const email = textOf(entry.user_email);
|
|
101
|
+
const stableId = email ?? token;
|
|
102
|
+
const accountId = `acct_muse_${createHash('sha256').update(stableId).digest('hex').slice(0, 12)}`;
|
|
103
|
+
return {
|
|
104
|
+
accountId,
|
|
105
|
+
accessToken: token,
|
|
106
|
+
expiresAt: new Date(Date.now() + IMPORT_TTL_MS).toISOString(),
|
|
107
|
+
authClientConfigVersion: schemaVersion,
|
|
108
|
+
...(email ? { accountEmail: email } : {}),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Direct-billing import of a raw MUSE_API_KEY (pay-as-you-go, no CLI seat).
|
|
113
|
+
* No session round-trip: the key itself is the credential. Re-imports of
|
|
114
|
+
* the same key converge on one account; the `direct:` namespace keeps
|
|
115
|
+
* direct-key accounts distinct from CLI-login accounts even when the raw
|
|
116
|
+
* strings coincide (billing paths must never merge).
|
|
117
|
+
*/
|
|
118
|
+
async importDirectApiKey(apiKey) {
|
|
119
|
+
const payload = buildMuseDirectAuthPayload(apiKey);
|
|
120
|
+
const accountId = `acct_muse_${createHash('sha256').update(`direct:${payload.user_api_key}`).digest('hex').slice(0, 12)}`;
|
|
121
|
+
return {
|
|
122
|
+
accountId,
|
|
123
|
+
accessToken: payload.user_api_key,
|
|
124
|
+
expiresAt: new Date(Date.now() + DIRECT_API_KEY_TTL_MS).toISOString(),
|
|
125
|
+
authClientConfigVersion: DIRECT_API_KEY_CONFIG_VERSION,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
async complete(input) {
|
|
129
|
+
const entry = this.sessions.get(input.enrollmentId);
|
|
130
|
+
if (!entry) {
|
|
131
|
+
throw new Error(`Enrollment session ${input.enrollmentId} not found`);
|
|
132
|
+
}
|
|
133
|
+
if (entry.state.cancelledAt) {
|
|
134
|
+
throw new Error(`Enrollment session ${input.enrollmentId} was cancelled`);
|
|
135
|
+
}
|
|
136
|
+
const { entry: providerEntry, schemaVersion } = await this.readEntry();
|
|
137
|
+
return this.buildCredential(providerEntry, schemaVersion);
|
|
138
|
+
}
|
|
139
|
+
async resolve(credential) {
|
|
140
|
+
return {
|
|
141
|
+
provider: 'muse',
|
|
142
|
+
accountId: credential.accountId,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
async refresh(input) {
|
|
146
|
+
// The CLI owns token lifecycle (login/refresh happens in muse itself);
|
|
147
|
+
// mesh refresh re-imports the current CLI store for the same account.
|
|
148
|
+
const { entry, schemaVersion } = await this.readEntry();
|
|
149
|
+
const credential = this.buildCredential(entry, schemaVersion);
|
|
150
|
+
if (credential.accountId !== input.accountId) {
|
|
151
|
+
throw new Error('Muse CLI store now holds a different login than the enrolled account');
|
|
152
|
+
}
|
|
153
|
+
return credential;
|
|
154
|
+
}
|
|
155
|
+
async cancel(enrollmentId) {
|
|
156
|
+
const entry = this.sessions.get(enrollmentId);
|
|
157
|
+
if (entry) {
|
|
158
|
+
entry.state.cancelledAt = new Date().toISOString();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=muse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muse.js","sourceRoot":"","sources":["../../src/enrollment/muse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare const GENERATED_MODEL_COUNCIL_SOURCE: {
|
|
2
2
|
readonly revision: "2026-09-05.1";
|
|
3
|
-
readonly digest: "sha256:
|
|
3
|
+
readonly digest: "sha256:9f3037cec2a44558cf252152aec3be4c508fe803ac80737dbc0c5baa55ebb0db";
|
|
4
4
|
readonly expiresAt: "2027-03-03T00:00:00.000Z";
|
|
5
5
|
readonly reason: "No pinned benchmark evidence authorizes automatic substitution.";
|
|
6
6
|
readonly reviewer: "Gemini 3.8 Flash and routing remap owner directive";
|
|
7
7
|
readonly provenance: "feat/mesh-gemini38-fable-astra-remap owner task";
|
|
8
|
-
readonly excludedModelKeys: readonly ["anthropic:claude-fable-5", "anthropic:claude-fable-5-1", "anthropic:claude-opus-4-8", "anthropic:claude-opus-5", "anthropic:claude-sonnet-5", "cohere:command-a-03-2025", "cohere:command-a-reasoning-08-2025", "gcp:anthropic/claude-opus-4-6@gcp", "gcp:anthropic/claude-sonnet-4-6@gcp", "gcp:google/gemini-3.1-flash-lite@gcp", "gcp:google/gemini-3.5-flash@gcp", "gemini:gemini-3.1-flash-lite", "gemini:gemini-3.5-flash", "gemini:gemini-3.7-flash", "gemini:gemini-3.8-flash", "mistral:magistral-medium-2509", "mistral:mistral-small-2603", "openai:gpt-4.1-nano", "openai:gpt-5.4-nano", "openai:gpt-5.5", "openai:gpt-5.6-luna", "openai:gpt-5.6-sol", "openai:gpt-5.6-terra", "openai:gpt-6-astra"];
|
|
8
|
+
readonly excludedModelKeys: readonly ["anthropic:claude-fable-5", "anthropic:claude-fable-5-1", "anthropic:claude-opus-4-8", "anthropic:claude-opus-5", "anthropic:claude-sonnet-5", "cohere:command-a-03-2025", "cohere:command-a-reasoning-08-2025", "gcp:anthropic/claude-opus-4-6@gcp", "gcp:anthropic/claude-sonnet-4-6@gcp", "gcp:google/gemini-3.1-flash-lite@gcp", "gcp:google/gemini-3.5-flash@gcp", "gemini:gemini-3.1-flash-lite", "gemini:gemini-3.5-flash", "gemini:gemini-3.7-flash", "gemini:gemini-3.8-flash", "mistral:magistral-medium-2509", "mistral:mistral-small-2603", "muse:muse-spark-1.3", "muse:muse-spark-1.3-contributor", "openai:gpt-4.1-nano", "openai:gpt-5.4-nano", "openai:gpt-5.5", "openai:gpt-5.6-luna", "openai:gpt-5.6-sol", "openai:gpt-5.6-terra", "openai:gpt-6-astra"];
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=generated-model-council.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generated-model-council.d.ts","sourceRoot":"","sources":["../src/generated-model-council.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,8BAA8B;;;;;;;;
|
|
1
|
+
{"version":3,"file":"generated-model-council.d.ts","sourceRoot":"","sources":["../src/generated-model-council.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,8BAA8B;;;;;;;;CAmCjC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Generated by make refresh-llm-model-equivalences. Do not edit.
|
|
2
2
|
export const GENERATED_MODEL_COUNCIL_SOURCE = {
|
|
3
3
|
revision: "2026-09-05.1",
|
|
4
|
-
digest: "sha256:
|
|
4
|
+
digest: "sha256:9f3037cec2a44558cf252152aec3be4c508fe803ac80737dbc0c5baa55ebb0db",
|
|
5
5
|
expiresAt: "2027-03-03T00:00:00.000Z",
|
|
6
6
|
reason: "No pinned benchmark evidence authorizes automatic substitution.",
|
|
7
7
|
reviewer: "Gemini 3.8 Flash and routing remap owner directive",
|
|
@@ -24,6 +24,8 @@ export const GENERATED_MODEL_COUNCIL_SOURCE = {
|
|
|
24
24
|
"gemini:gemini-3.8-flash",
|
|
25
25
|
"mistral:magistral-medium-2509",
|
|
26
26
|
"mistral:mistral-small-2603",
|
|
27
|
+
"muse:muse-spark-1.3",
|
|
28
|
+
"muse:muse-spark-1.3-contributor",
|
|
27
29
|
"openai:gpt-4.1-nano",
|
|
28
30
|
"openai:gpt-5.4-nano",
|
|
29
31
|
"openai:gpt-5.5",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generated-model-council.js","sourceRoot":"","sources":["../src/generated-model-council.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,yEAAyE;IACjF,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,iEAAiE;IACzE,QAAQ,EAAE,oDAAoD;IAC9D,UAAU,EAAE,iDAAiD;IAC7D,iBAAiB,EAAE;QACjB,0BAA0B;QAC1B,4BAA4B;QAC5B,2BAA2B;QAC3B,yBAAyB;QACzB,2BAA2B;QAC3B,0BAA0B;QAC1B,oCAAoC;QACpC,mCAAmC;QACnC,qCAAqC;QACrC,sCAAsC;QACtC,iCAAiC;QACjC,8BAA8B;QAC9B,yBAAyB;QACzB,yBAAyB;QACzB,yBAAyB;QACzB,+BAA+B;QAC/B,4BAA4B;QAC5B,qBAAqB;QACrB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,sBAAsB;QACtB,oBAAoB;KACrB;CACO,CAAC"}
|
|
1
|
+
{"version":3,"file":"generated-model-council.js","sourceRoot":"","sources":["../src/generated-model-council.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,yEAAyE;IACjF,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,iEAAiE;IACzE,QAAQ,EAAE,oDAAoD;IAC9D,UAAU,EAAE,iDAAiD;IAC7D,iBAAiB,EAAE;QACjB,0BAA0B;QAC1B,4BAA4B;QAC5B,2BAA2B;QAC3B,yBAAyB;QACzB,2BAA2B;QAC3B,0BAA0B;QAC1B,oCAAoC;QACpC,mCAAmC;QACnC,qCAAqC;QACrC,sCAAsC;QACtC,iCAAiC;QACjC,8BAA8B;QAC9B,yBAAyB;QACzB,yBAAyB;QACzB,yBAAyB;QACzB,+BAA+B;QAC/B,4BAA4B;QAC5B,qBAAqB;QACrB,iCAAiC;QACjC,qBAAqB;QACrB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,sBAAsB;QACtB,oBAAoB;KACrB;CACO,CAAC"}
|
package/dist/generation.d.ts
CHANGED
package/dist/generation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAE/D,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEN;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IAChC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export * from './codex.js';
|
|
|
20
20
|
export * from './transport/codex-runtime-client.js';
|
|
21
21
|
export * from './transport/codex-runtime-wire.js';
|
|
22
22
|
export * from './transport/cloud-code-runtime-client.js';
|
|
23
|
+
export * from './transport/muse-runtime-client.js';
|
|
23
24
|
export * from './streaming.js';
|
|
24
25
|
export * from './tools.js';
|
|
25
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,7 @@ export * from './codex.js';
|
|
|
20
20
|
export * from './transport/codex-runtime-client.js';
|
|
21
21
|
export * from './transport/codex-runtime-wire.js';
|
|
22
22
|
export * from './transport/cloud-code-runtime-client.js';
|
|
23
|
+
export * from './transport/muse-runtime-client.js';
|
|
23
24
|
export * from './streaming.js';
|
|
24
25
|
export * from './tools.js';
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|