@vibesdotdev/integrations-meta 0.0.0-stage → 1.0.0-rc.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/LICENSE +126 -0
- package/README.md +38 -2
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +5 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/metadata/provider-models/meta/meta-muse-spark-1-1.json +18 -0
- package/dist/ai/metadata/provider-models/meta/meta-muse-spark-1-2-contributor.json +18 -0
- package/dist/ai/metadata/provider-models/meta/meta-muse-spark-1-2.json +18 -0
- package/dist/ai/metadata/provider-models/meta/meta-muse-spark-1-3-contributor.json +18 -0
- package/dist/ai/metadata/provider-models/meta/meta-muse-spark-1-3.json +18 -0
- package/dist/ai/metadata/providers/meta.json +8 -0
- package/dist/ai/muse-client.consumer.d.ts +10 -0
- package/dist/ai/muse-client.consumer.d.ts.map +1 -0
- package/dist/ai/muse-client.consumer.js +31 -0
- package/dist/ai/muse-client.consumer.js.map +1 -0
- package/dist/ai/provider.cloud.plugin.d.ts +6 -0
- package/dist/ai/provider.cloud.plugin.d.ts.map +1 -0
- package/dist/ai/provider.cloud.plugin.js +105 -0
- package/dist/ai/provider.cloud.plugin.js.map +1 -0
- package/dist/ai/provider.consumer.plugin.d.ts +3 -0
- package/dist/ai/provider.consumer.plugin.d.ts.map +1 -0
- package/dist/ai/provider.consumer.plugin.js +30 -0
- package/dist/ai/provider.consumer.plugin.js.map +1 -0
- package/dist/ai/provider.plugin.d.ts +6 -0
- package/dist/ai/provider.plugin.d.ts.map +1 -0
- package/dist/ai/provider.plugin.js +17 -0
- package/dist/ai/provider.plugin.js.map +1 -0
- package/dist/ai/providers/cloud/frontier/meta/config/config.meta.descriptor.d.ts +4194 -0
- package/dist/ai/providers/cloud/frontier/meta/config/config.meta.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/cloud/frontier/meta/config/config.meta.descriptor.js +13 -0
- package/dist/ai/providers/cloud/frontier/meta/config/config.meta.descriptor.js.map +1 -0
- package/dist/ai/providers/cloud/frontier/meta/config/schemas/index.d.ts +39 -0
- package/dist/ai/providers/cloud/frontier/meta/config/schemas/index.d.ts.map +1 -0
- package/dist/ai/providers/cloud/frontier/meta/config/schemas/index.js +34 -0
- package/dist/ai/providers/cloud/frontier/meta/config/schemas/index.js.map +1 -0
- package/dist/ai/providers/cloud/frontier/meta/index.d.ts +5 -0
- package/dist/ai/providers/cloud/frontier/meta/index.d.ts.map +1 -0
- package/dist/ai/providers/cloud/frontier/meta/index.js +4 -0
- package/dist/ai/providers/cloud/frontier/meta/index.js.map +1 -0
- package/dist/ai/providers/cloud/frontier/meta/provider.meta.descriptor.d.ts +183 -0
- package/dist/ai/providers/cloud/frontier/meta/provider.meta.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/cloud/frontier/meta/provider.meta.descriptor.js +97 -0
- package/dist/ai/providers/cloud/frontier/meta/provider.meta.descriptor.js.map +1 -0
- package/dist/ai/providers/meta/detection/system.d.ts +8 -0
- package/dist/ai/providers/meta/detection/system.d.ts.map +1 -0
- package/dist/ai/providers/meta/detection/system.js +16 -0
- package/dist/ai/providers/meta/detection/system.js.map +1 -0
- package/dist/ai/providers/meta/docs/ai.providers.meta.docs.descriptor.d.ts +4 -0
- package/dist/ai/providers/meta/docs/ai.providers.meta.docs.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/meta/docs/ai.providers.meta.docs.descriptor.js +20 -0
- package/dist/ai/providers/meta/docs/ai.providers.meta.docs.descriptor.js.map +1 -0
- package/dist/ai/providers/meta/index.d.ts +7 -0
- package/dist/ai/providers/meta/index.d.ts.map +1 -0
- package/dist/ai/providers/meta/index.js +6 -0
- package/dist/ai/providers/meta/index.js.map +1 -0
- package/dist/ai/providers/meta/meta-known-models.d.ts +3 -0
- package/dist/ai/providers/meta/meta-known-models.d.ts.map +1 -0
- package/dist/ai/providers/meta/meta-known-models.js +2 -0
- package/dist/ai/providers/meta/meta-known-models.js.map +1 -0
- package/dist/ai/providers/meta/meta.provider.impl.d.ts +42 -0
- package/dist/ai/providers/meta/meta.provider.impl.d.ts.map +1 -0
- package/dist/ai/providers/meta/meta.provider.impl.js +269 -0
- package/dist/ai/providers/meta/meta.provider.impl.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/client.d.ts +66 -0
- package/dist/ai/providers/meta/muse-server/client.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/client.js +209 -0
- package/dist/ai/providers/meta/muse-server/client.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/connection.d.ts +77 -0
- package/dist/ai/providers/meta/muse-server/connection.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/connection.js +174 -0
- package/dist/ai/providers/meta/muse-server/connection.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/failure-chunk.d.ts +10 -0
- package/dist/ai/providers/meta/muse-server/failure-chunk.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/failure-chunk.js +33 -0
- package/dist/ai/providers/meta/muse-server/failure-chunk.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/index.d.ts +9 -0
- package/dist/ai/providers/meta/muse-server/index.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/index.js +9 -0
- package/dist/ai/providers/meta/muse-server/index.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-failure.d.ts +189 -0
- package/dist/ai/providers/meta/muse-server/muse-failure.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-failure.js +226 -0
- package/dist/ai/providers/meta/muse-server/muse-failure.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-messages.d.ts +19 -0
- package/dist/ai/providers/meta/muse-server/muse-messages.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-messages.js +83 -0
- package/dist/ai/providers/meta/muse-server/muse-messages.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-server.spec.descriptor.d.ts +25 -0
- package/dist/ai/providers/meta/muse-server/muse-server.spec.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-server.spec.descriptor.js +21 -0
- package/dist/ai/providers/meta/muse-server/muse-server.spec.descriptor.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-server.spec.impl.d.ts +33 -0
- package/dist/ai/providers/meta/muse-server/muse-server.spec.impl.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-server.spec.impl.js +192 -0
- package/dist/ai/providers/meta/muse-server/muse-server.spec.impl.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-server.transport.descriptor.d.ts +13 -0
- package/dist/ai/providers/meta/muse-server/muse-server.transport.descriptor.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-server.transport.descriptor.js +11 -0
- package/dist/ai/providers/meta/muse-server/muse-server.transport.descriptor.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-server.transport.impl.consumer.d.ts +41 -0
- package/dist/ai/providers/meta/muse-server/muse-server.transport.impl.consumer.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/muse-server.transport.impl.consumer.js +103 -0
- package/dist/ai/providers/meta/muse-server/muse-server.transport.impl.consumer.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/protocol.d.ts +138 -0
- package/dist/ai/providers/meta/muse-server/protocol.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/protocol.js +106 -0
- package/dist/ai/providers/meta/muse-server/protocol.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/runtime-execution.d.ts +14 -0
- package/dist/ai/providers/meta/muse-server/runtime-execution.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/runtime-execution.js +39 -0
- package/dist/ai/providers/meta/muse-server/runtime-execution.js.map +1 -0
- package/dist/ai/providers/meta/muse-server/session.d.ts +19 -0
- package/dist/ai/providers/meta/muse-server/session.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-server/session.js +341 -0
- package/dist/ai/providers/meta/muse-server/session.js.map +1 -0
- package/dist/ai/providers/meta/muse-subscription.d.ts +38 -0
- package/dist/ai/providers/meta/muse-subscription.d.ts.map +1 -0
- package/dist/ai/providers/meta/muse-subscription.js +77 -0
- package/dist/ai/providers/meta/muse-subscription.js.map +1 -0
- package/dist/ai/providers/meta/recommendations.d.ts +26 -0
- package/dist/ai/providers/meta/recommendations.d.ts.map +1 -0
- package/dist/ai/providers/meta/recommendations.js +24 -0
- package/dist/ai/providers/meta/recommendations.js.map +1 -0
- package/dist/ai/providers/meta/schemas/index.d.ts +12 -0
- package/dist/ai/providers/meta/schemas/index.d.ts.map +1 -0
- package/dist/ai/providers/meta/schemas/index.js +8 -0
- package/dist/ai/providers/meta/schemas/index.js.map +1 -0
- package/dist/external/external.plugin.d.ts +3 -0
- package/dist/external/external.plugin.d.ts.map +1 -0
- package/dist/external/external.plugin.js +18 -0
- package/dist/external/external.plugin.js.map +1 -0
- package/dist/external/index.d.ts +2 -0
- package/dist/external/index.d.ts.map +1 -0
- package/dist/external/index.js +2 -0
- package/dist/external/index.js.map +1 -0
- package/dist/external/muse/index.d.ts +162 -0
- package/dist/external/muse/index.d.ts.map +1 -0
- package/dist/external/muse/index.js +7 -0
- package/dist/external/muse/index.js.map +1 -0
- package/dist/external/muse/manifest.d.ts +7 -0
- package/dist/external/muse/manifest.d.ts.map +1 -0
- package/dist/external/muse/manifest.js +25 -0
- package/dist/external/muse/manifest.js.map +1 -0
- package/dist/external/muse-subscription.operation.descriptors.d.ts +29 -0
- package/dist/external/muse-subscription.operation.descriptors.d.ts.map +1 -0
- package/dist/external/muse-subscription.operation.descriptors.js +12 -0
- package/dist/external/muse-subscription.operation.descriptors.js.map +1 -0
- package/dist/external/muse-subscription.operations.d.ts +3 -0
- package/dist/external/muse-subscription.operations.d.ts.map +1 -0
- package/dist/external/muse-subscription.operations.js +23 -0
- package/dist/external/muse-subscription.operations.js.map +1 -0
- package/dist/failure-outcome.d.ts +21 -0
- package/dist/failure-outcome.d.ts.map +1 -0
- package/dist/failure-outcome.js +22 -0
- package/dist/failure-outcome.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/package.json +103 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/meta/muse-server/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAIN,KAAK,cAAc,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAA2B,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEnG,qFAAqF;AACrF,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE3C,0GAA0G;AAC1G,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;IAC9B,2EAA2E;;IAE3E,+FAA+F;;IAE/F,qEAAqE;;IAErE,0BAA0B;;IAE1B,2DAA2D;;CAElD,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD,wGAAwG;AACxG,MAAM,WAAW,sBAAsB;IACtC,YAAY,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,qBAAa,oBAAoB;IAM/B,QAAQ,CAAC,OAAO,EAAE,iBAAiB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAPlC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,KAAK,CAA6C;IAE1D,OAAO;WAQM,OAAO,CACnB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC,oBAAoB,CAAC;IA2ChC,mHAAmH;IACnH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,uFAAuF;IACjF,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,MAAM,EAAE,CAAC,EACT,OAAO,GAAE,kBAAuB,GAC9B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAQhB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAMvD,gFAAgF;IAC1E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,wFAAwF;YAC1E,iBAAiB;YAyBjB,OAAO;CAQrB"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { CaughtFailureSchema } from '@vibesdotdev/kernel';
|
|
3
|
+
import { getLogger } from '@vibesdotdev/logging';
|
|
4
|
+
import { createJsonRpcChild } from '@vibesdotdev/external/jsonrpc';
|
|
5
|
+
import { attempt, settle } from "../../../../failure-outcome.js";
|
|
6
|
+
import { museFailure, museFailureFrom } from "./muse-failure.js";
|
|
7
|
+
import { MuseIgnoredResultSchema } from "./protocol.js";
|
|
8
|
+
/**
|
|
9
|
+
* The declared bounds of one Muse server connection. None is implied by a
|
|
10
|
+
* default of the shared client: a line, the notification queue, a request and the
|
|
11
|
+
* close all have the value written here.
|
|
12
|
+
*/
|
|
13
|
+
export const MUSE_SERVER_LIMITS = {
|
|
14
|
+
/** One line the child writes (a completed item carries its whole text). */
|
|
15
|
+
maxLineBytes: 8 * 1024 * 1024,
|
|
16
|
+
/** Notifications waiting for the connection's own pump (which delivers them synchronously). */
|
|
17
|
+
notificationCapacity: 4_096,
|
|
18
|
+
/** The wait for an answer to one request (never the turn itself). */
|
|
19
|
+
requestTimeoutMs: 30_000,
|
|
20
|
+
/** SIGTERM to SIGKILL. */
|
|
21
|
+
graceMs: 2_000,
|
|
22
|
+
/** The wait for a SIGKILLed child to be confirmed gone. */
|
|
23
|
+
killWaitMs: 5_000
|
|
24
|
+
};
|
|
25
|
+
const OptionsSchema = z.object({
|
|
26
|
+
clientName: z.string().min(1).max(128).default('vibes'),
|
|
27
|
+
clientTitle: z.string().min(1).max(128).default('Vibes AI Runtime'),
|
|
28
|
+
clientVersion: z.string().min(1).max(64).default('0.1.0'),
|
|
29
|
+
requestTimeoutMs: z.int().min(1).max(600_000).default(MUSE_SERVER_LIMITS.requestTimeoutMs)
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* One persistent `muse serve` connection, spoken over the shared JSON-RPC child
|
|
33
|
+
* client (`@vibesdotdev/external/jsonrpc`). This module keeps only what is Muse's:
|
|
34
|
+
* the handshake and the fan-out of notifications to the sessions of this
|
|
35
|
+
* connection. Authentication stays inside Muse's account store; Vibes never
|
|
36
|
+
* receives or persists tokens. The connection marks itself closed on a child exit
|
|
37
|
+
* or a stream failure (`closed`), so the transport can drop it and start a new one.
|
|
38
|
+
* A request the child sends is answered `-32601` by the shared client: Vibes is
|
|
39
|
+
* the sole tool host.
|
|
40
|
+
*/
|
|
41
|
+
export class MuseServerConnection {
|
|
42
|
+
runtime;
|
|
43
|
+
rpc;
|
|
44
|
+
requestTimeoutMs;
|
|
45
|
+
listeners = new Set();
|
|
46
|
+
pump;
|
|
47
|
+
ended;
|
|
48
|
+
constructor(runtime, rpc, requestTimeoutMs) {
|
|
49
|
+
this.runtime = runtime;
|
|
50
|
+
this.rpc = rpc;
|
|
51
|
+
this.requestTimeoutMs = requestTimeoutMs;
|
|
52
|
+
this.pump = this.pumpNotifications();
|
|
53
|
+
}
|
|
54
|
+
static async connect(runtime, spawn, options = {}) {
|
|
55
|
+
const parsed = OptionsSchema.safeParse(options);
|
|
56
|
+
if (!parsed.success) {
|
|
57
|
+
throw museFailure('unsupported-option', {
|
|
58
|
+
details: { option: parsed.error.issues[0]?.path.map(String).join('.') || 'options' }
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const declared = parsed.data;
|
|
62
|
+
const logger = getLogger('integrations-meta', runtime);
|
|
63
|
+
const settled = await settle(createJsonRpcChild({
|
|
64
|
+
runtime,
|
|
65
|
+
spawn,
|
|
66
|
+
envelope: 'jsonrpc-2.0',
|
|
67
|
+
maxLineBytes: MUSE_SERVER_LIMITS.maxLineBytes,
|
|
68
|
+
notificationCapacity: MUSE_SERVER_LIMITS.notificationCapacity,
|
|
69
|
+
graceMs: MUSE_SERVER_LIMITS.graceMs,
|
|
70
|
+
killWaitMs: MUSE_SERVER_LIMITS.killWaitMs,
|
|
71
|
+
// stderr is drained and discarded: it may hold credentials or private prompts.
|
|
72
|
+
stderrTailBytes: 0,
|
|
73
|
+
diagnostics: (event) => logger.warn('muse-server child event', describeDiagnostic(event)),
|
|
74
|
+
handshake: async (child) => {
|
|
75
|
+
await child.requestParsed('initialize', {
|
|
76
|
+
clientInfo: {
|
|
77
|
+
name: declared.clientName,
|
|
78
|
+
title: declared.clientTitle,
|
|
79
|
+
version: declared.clientVersion
|
|
80
|
+
},
|
|
81
|
+
capabilities: {}
|
|
82
|
+
}, MuseIgnoredResultSchema, { deadlineMs: declared.requestTimeoutMs });
|
|
83
|
+
await child.notify('initialized');
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
if (settled.failed)
|
|
87
|
+
throw museFailureFrom(CaughtFailureSchema.parse(settled.cause));
|
|
88
|
+
return new MuseServerConnection(runtime, settled.value, declared.requestTimeoutMs);
|
|
89
|
+
}
|
|
90
|
+
/** True once the child ended, its stream or protocol failed, or `close()` was called: nothing more can be sent. */
|
|
91
|
+
get closed() {
|
|
92
|
+
return this.rpc.closed;
|
|
93
|
+
}
|
|
94
|
+
/** Send one request and parse its result with the caller's schema at this boundary. */
|
|
95
|
+
async request(method, params, schema, options = {}) {
|
|
96
|
+
const settled = await settle(this.rpc.requestParsed(method, params, schema, { deadlineMs: this.requestTimeoutMs, signal: options.signal }));
|
|
97
|
+
if (settled.failed)
|
|
98
|
+
throw museFailureFrom(CaughtFailureSchema.parse(settled.cause));
|
|
99
|
+
return settled.value;
|
|
100
|
+
}
|
|
101
|
+
async notify(method, params) {
|
|
102
|
+
const settled = await settle(this.rpc.notify(method, params));
|
|
103
|
+
if (settled.failed)
|
|
104
|
+
throw museFailureFrom(CaughtFailureSchema.parse(settled.cause));
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Listen to this connection's notifications. The listener is told once when the
|
|
108
|
+
* connection ends (`closed`); subscribing to an ended connection is refused.
|
|
109
|
+
*/
|
|
110
|
+
subscribe(listener) {
|
|
111
|
+
if (this.ended)
|
|
112
|
+
throw this.ended;
|
|
113
|
+
this.listeners.add(listener);
|
|
114
|
+
return () => this.listeners.delete(listener);
|
|
115
|
+
}
|
|
116
|
+
/** SIGTERM, the declared grace, SIGKILL, and a join on the exit. Idempotent. */
|
|
117
|
+
async close() {
|
|
118
|
+
const settled = await settle(this.rpc.close());
|
|
119
|
+
await this.pump;
|
|
120
|
+
if (settled.failed)
|
|
121
|
+
throw museFailureFrom(CaughtFailureSchema.parse(settled.cause));
|
|
122
|
+
}
|
|
123
|
+
/** Delivers the child's notifications to the subscribers; ends when the client does. */
|
|
124
|
+
async pumpNotifications() {
|
|
125
|
+
const consumed = await settle(this.consume());
|
|
126
|
+
let failure = consumed.failed
|
|
127
|
+
? museFailureFrom(CaughtFailureSchema.parse(consumed.cause))
|
|
128
|
+
: museFailureFrom(this.rpc.failure ?? museFailure('muse-transport-closed'));
|
|
129
|
+
if (consumed.failed && failure.reason === 'muse-listener-failed') {
|
|
130
|
+
// A listener that throws leaves the connection in a state nobody can reason about: stop the child.
|
|
131
|
+
const stopped = await settle(this.rpc.close());
|
|
132
|
+
if (stopped.failed) {
|
|
133
|
+
failure = museFailure('muse-listener-failed', { cause: failure });
|
|
134
|
+
getLogger('integrations-meta', this.runtime).warn('muse-server close after a listener failure failed', {
|
|
135
|
+
error: stopped.cause
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
this.ended = failure;
|
|
140
|
+
for (const listener of this.listeners) {
|
|
141
|
+
const told = attempt(() => listener.closed(failure));
|
|
142
|
+
if (told.failed) {
|
|
143
|
+
getLogger('integrations-meta', this.runtime).warn('muse-server listener close failed', { error: told.cause });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
this.listeners.clear();
|
|
147
|
+
}
|
|
148
|
+
async consume() {
|
|
149
|
+
for await (const notification of this.rpc.notifications()) {
|
|
150
|
+
for (const listener of this.listeners) {
|
|
151
|
+
const told = attempt(() => listener.notification({ method: notification.method, params: notification.params }));
|
|
152
|
+
if (told.failed)
|
|
153
|
+
throw museFailure('muse-listener-failed', { cause: told.cause });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
function describeDiagnostic(event) {
|
|
159
|
+
switch (event.kind) {
|
|
160
|
+
case 'unmatched-response':
|
|
161
|
+
return { kind: event.kind, late: event.late };
|
|
162
|
+
case 'unhandled-request':
|
|
163
|
+
case 'request-handler-failed':
|
|
164
|
+
case 'abort-hook-failed':
|
|
165
|
+
return { kind: event.kind, method: event.method };
|
|
166
|
+
case 'stderr-failed':
|
|
167
|
+
return { kind: event.kind };
|
|
168
|
+
case 'cleanup-failed':
|
|
169
|
+
return { kind: event.kind, stage: event.stage };
|
|
170
|
+
case 'join-timeout':
|
|
171
|
+
return { kind: event.kind, pending: event.pending };
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../src/ai/providers/meta/muse-server/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WireResponseChunk } from '@vibesdotdev/ai/specs/interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* Streams `source` unchanged. A failure that `source` raises ends the stream as
|
|
4
|
+
* one in-band `error` chunk followed by `end`: the wire contract for a failed
|
|
5
|
+
* call. The chunk carries the failure itself when it is an `Error`, else an
|
|
6
|
+
* `Error` that keeps the thrown value as its cause. When the consumer stops
|
|
7
|
+
* early the source is closed too, so its own cleanup runs.
|
|
8
|
+
*/
|
|
9
|
+
export declare function failureAsChunk(source: AsyncIterable<WireResponseChunk>): AsyncGenerator<WireResponseChunk>;
|
|
10
|
+
//# sourceMappingURL=failure-chunk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failure-chunk.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/meta/muse-server/failure-chunk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAG1E;;;;;;GAMG;AACH,wBAAuB,cAAc,CACpC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,GACtC,cAAc,CAAC,iBAAiB,CAAC,CAsBnC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { settle } from "../../../../failure-outcome.js";
|
|
2
|
+
/**
|
|
3
|
+
* Streams `source` unchanged. A failure that `source` raises ends the stream as
|
|
4
|
+
* one in-band `error` chunk followed by `end`: the wire contract for a failed
|
|
5
|
+
* call. The chunk carries the failure itself when it is an `Error`, else an
|
|
6
|
+
* `Error` that keeps the thrown value as its cause. When the consumer stops
|
|
7
|
+
* early the source is closed too, so its own cleanup runs.
|
|
8
|
+
*/
|
|
9
|
+
export async function* failureAsChunk(source) {
|
|
10
|
+
const iterator = source[Symbol.asyncIterator]();
|
|
11
|
+
try {
|
|
12
|
+
while (true) {
|
|
13
|
+
const step = await settle(iterator.next());
|
|
14
|
+
if (step.failed) {
|
|
15
|
+
yield {
|
|
16
|
+
kind: 'error',
|
|
17
|
+
error: step.cause instanceof Error
|
|
18
|
+
? step.cause
|
|
19
|
+
: new TypeError('A non-Error value was thrown.', { cause: step.cause })
|
|
20
|
+
};
|
|
21
|
+
yield { kind: 'end' };
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (step.value.done)
|
|
25
|
+
return;
|
|
26
|
+
yield step.value.value;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
finally {
|
|
30
|
+
await iterator.return?.();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=failure-chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failure-chunk.js","sourceRoot":"","sources":["../../../../../src/ai/providers/meta/muse-server/failure-chunk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACpC,MAAwC;IAExC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAChD,IAAI,CAAC;QACJ,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EACJ,IAAI,CAAC,KAAK,YAAY,KAAK;wBAC1B,CAAC,CAAC,IAAI,CAAC,KAAK;wBACZ,CAAC,CAAC,IAAI,SAAS,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;iBACzE,CAAC;gBACF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBACtB,OAAO;YACR,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO;YAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACxB,CAAC;IACF,CAAC;YAAS,CAAC;QACV,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3B,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { MuseServerConnection, MUSE_SERVER_LIMITS, type MuseServerClientOptions, type MuseServerProcess, type MuseServerSpawner } from './connection.ts';
|
|
2
|
+
export { MUSE_FAILURE_REASONS, type MuseFailureReason } from './muse-failure.ts';
|
|
3
|
+
export { MuseServerTransport } from './muse-server.transport.impl.consumer.ts';
|
|
4
|
+
export { default as museServerTransportDescriptor } from './muse-server.transport.descriptor.ts';
|
|
5
|
+
export { default as museServerSpec } from './muse-server.spec.impl.ts';
|
|
6
|
+
export { default as museServerSpecDescriptor } from './muse-server.spec.descriptor.ts';
|
|
7
|
+
export { createMuseServerSpawner, createRuntimeMuseServerTransport, type MuseServerSpawnOptions } from './runtime-execution.ts';
|
|
8
|
+
export { generateUuidV7, type JsonRpcId, type JsonRpcNotification, type MuseApprovalMode, type MuseReasoningEffort, type MuseServerRecord, type MuseServerWireBody, type MuseToolExecutionEvidence, type MuseTurnInputPart } from './protocol.ts';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/meta/muse-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACN,mBAAmB,EACnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EACN,uBAAuB,EACvB,gCAAgC,EAChC,KAAK,sBAAsB,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,cAAc,EACd,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { MuseServerConnection, MUSE_SERVER_LIMITS } from "./connection.js";
|
|
2
|
+
export { MUSE_FAILURE_REASONS } from "./muse-failure.js";
|
|
3
|
+
export { MuseServerTransport } from "./muse-server.transport.impl.consumer.js";
|
|
4
|
+
export { default as museServerTransportDescriptor } from "./muse-server.transport.descriptor.js";
|
|
5
|
+
export { default as museServerSpec } from "./muse-server.spec.impl.js";
|
|
6
|
+
export { default as museServerSpecDescriptor } from "./muse-server.spec.descriptor.js";
|
|
7
|
+
export { createMuseServerSpawner, createRuntimeMuseServerTransport } from "./runtime-execution.js";
|
|
8
|
+
export { generateUuidV7 } from "./protocol.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai/providers/meta/muse-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAA0B,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACN,mBAAmB,EACnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EACN,uBAAuB,EACvB,gCAAgC,EAEhC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,cAAc,EASd,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed failures of the Muse server integration.
|
|
3
|
+
*
|
|
4
|
+
* Every failure is a `CapabilityError` with a code and a `reason` from the table
|
|
5
|
+
* below, and a message that is fixed per reason. Text the child wrote (a JSON-RPC
|
|
6
|
+
* `error.message`, a turn's error, stderr) never enters a message: it rides only
|
|
7
|
+
* in a bounded `cause` ({@link childTextCause}) the logger scrubs.
|
|
8
|
+
*/
|
|
9
|
+
import { CapabilityError, type CapabilityErrorDetails, type CaughtFailure } from '@vibesdotdev/kernel';
|
|
10
|
+
declare const FAILURES: {
|
|
11
|
+
readonly 'muse-transport-closed': {
|
|
12
|
+
readonly code: "UNAVAILABLE";
|
|
13
|
+
readonly message: "The Muse server connection is closed.";
|
|
14
|
+
readonly retryable: true;
|
|
15
|
+
};
|
|
16
|
+
readonly 'muse-process-exited': {
|
|
17
|
+
readonly code: "UNAVAILABLE";
|
|
18
|
+
readonly message: "The Muse server process ended.";
|
|
19
|
+
readonly retryable: true;
|
|
20
|
+
};
|
|
21
|
+
readonly 'muse-line-too-long': {
|
|
22
|
+
readonly code: "UNAVAILABLE";
|
|
23
|
+
readonly message: "The Muse server wrote a line longer than the declared maximum.";
|
|
24
|
+
readonly retryable: false;
|
|
25
|
+
};
|
|
26
|
+
readonly 'muse-envelope-unrecognized': {
|
|
27
|
+
readonly code: "UNAVAILABLE";
|
|
28
|
+
readonly message: "The Muse server wrote output that is not a JSON-RPC message.";
|
|
29
|
+
readonly retryable: false;
|
|
30
|
+
};
|
|
31
|
+
readonly 'muse-request-failed': {
|
|
32
|
+
readonly code: "UNAVAILABLE";
|
|
33
|
+
readonly message: "The Muse server answered a request with an error.";
|
|
34
|
+
readonly retryable: false;
|
|
35
|
+
};
|
|
36
|
+
readonly 'muse-request-timeout': {
|
|
37
|
+
readonly code: "TIMEOUT";
|
|
38
|
+
readonly message: "A Muse server request timed out.";
|
|
39
|
+
readonly retryable: true;
|
|
40
|
+
};
|
|
41
|
+
readonly 'muse-turn-failed': {
|
|
42
|
+
readonly code: "UNAVAILABLE";
|
|
43
|
+
readonly message: "The Muse turn did not complete.";
|
|
44
|
+
readonly retryable: false;
|
|
45
|
+
};
|
|
46
|
+
readonly 'muse-turn-cancelled': {
|
|
47
|
+
readonly code: "CANCELLED";
|
|
48
|
+
readonly message: "The Muse server reported the turn cancelled.";
|
|
49
|
+
readonly retryable: false;
|
|
50
|
+
};
|
|
51
|
+
readonly 'muse-turn-timeout': {
|
|
52
|
+
readonly code: "TIMEOUT";
|
|
53
|
+
readonly message: "The Muse turn timed out before it completed.";
|
|
54
|
+
readonly retryable: true;
|
|
55
|
+
};
|
|
56
|
+
readonly 'generation-cancelled': {
|
|
57
|
+
readonly code: "CANCELLED";
|
|
58
|
+
readonly message: "The generation was cancelled.";
|
|
59
|
+
readonly retryable: false;
|
|
60
|
+
};
|
|
61
|
+
readonly 'muse-output-too-large': {
|
|
62
|
+
readonly code: "UNAVAILABLE";
|
|
63
|
+
readonly message: "The Muse turn produced more output than the declared bound.";
|
|
64
|
+
readonly retryable: false;
|
|
65
|
+
};
|
|
66
|
+
readonly 'muse-notification-invalid': {
|
|
67
|
+
readonly code: "UNAVAILABLE";
|
|
68
|
+
readonly message: "The Muse server sent a notification of an unexpected shape.";
|
|
69
|
+
readonly retryable: false;
|
|
70
|
+
};
|
|
71
|
+
readonly 'approval-denied': {
|
|
72
|
+
readonly code: "PERMISSION_DENIED";
|
|
73
|
+
readonly message: "The Muse session asked for an approval the declared execution policy does not permit.";
|
|
74
|
+
readonly retryable: false;
|
|
75
|
+
};
|
|
76
|
+
readonly 'muse-user-input-requested': {
|
|
77
|
+
readonly code: "UNAVAILABLE";
|
|
78
|
+
readonly message: "The Muse session asked for user input, which a headless session cannot answer.";
|
|
79
|
+
readonly retryable: false;
|
|
80
|
+
};
|
|
81
|
+
readonly 'muse-approval-failed': {
|
|
82
|
+
readonly code: "UNAVAILABLE";
|
|
83
|
+
readonly message: "The Muse approval request could not be answered.";
|
|
84
|
+
readonly retryable: false;
|
|
85
|
+
};
|
|
86
|
+
readonly 'muse-listener-failed': {
|
|
87
|
+
readonly code: "INTERNAL";
|
|
88
|
+
readonly message: "A listener of the Muse server connection failed.";
|
|
89
|
+
readonly retryable: false;
|
|
90
|
+
};
|
|
91
|
+
readonly 'muse-transport-close-failed': {
|
|
92
|
+
readonly code: "UNAVAILABLE";
|
|
93
|
+
readonly message: "A Muse server connection could not be closed.";
|
|
94
|
+
readonly retryable: false;
|
|
95
|
+
};
|
|
96
|
+
readonly 'muse-cli-unavailable': {
|
|
97
|
+
readonly code: "UNAVAILABLE";
|
|
98
|
+
readonly message: "The Muse CLI is unavailable in the runtime environment.";
|
|
99
|
+
readonly retryable: false;
|
|
100
|
+
};
|
|
101
|
+
readonly 'muse-consumer-host-required': {
|
|
102
|
+
readonly code: "UNAVAILABLE";
|
|
103
|
+
readonly message: "Muse subscription execution requires a connected consumer host.";
|
|
104
|
+
readonly retryable: false;
|
|
105
|
+
};
|
|
106
|
+
readonly 'muse-session-program-missing': {
|
|
107
|
+
readonly code: "INTERNAL";
|
|
108
|
+
readonly message: "The selected spec did not provide a Muse session program.";
|
|
109
|
+
readonly retryable: false;
|
|
110
|
+
};
|
|
111
|
+
readonly 'muse-no-result': {
|
|
112
|
+
readonly code: "UNAVAILABLE";
|
|
113
|
+
readonly message: "The Muse session ended without a result.";
|
|
114
|
+
readonly retryable: false;
|
|
115
|
+
};
|
|
116
|
+
readonly 'response-shape-mismatch': {
|
|
117
|
+
readonly code: "UNAVAILABLE";
|
|
118
|
+
readonly message: "The Muse server answered with a result of an unexpected shape.";
|
|
119
|
+
readonly retryable: false;
|
|
120
|
+
};
|
|
121
|
+
readonly 'unsupported-option': {
|
|
122
|
+
readonly code: "INVALID_INPUT";
|
|
123
|
+
readonly message: "The Muse server spec does not support this request option.";
|
|
124
|
+
readonly retryable: false;
|
|
125
|
+
};
|
|
126
|
+
readonly 'unsupported-modality': {
|
|
127
|
+
readonly code: "INVALID_INPUT";
|
|
128
|
+
readonly message: "The Muse server spec only supports text generation.";
|
|
129
|
+
readonly retryable: false;
|
|
130
|
+
};
|
|
131
|
+
readonly 'unsupported-content': {
|
|
132
|
+
readonly code: "INVALID_INPUT";
|
|
133
|
+
readonly message: "The Muse server session carries text only: images, tools, tool calls and tool results are not supported.";
|
|
134
|
+
readonly retryable: false;
|
|
135
|
+
};
|
|
136
|
+
readonly 'invalid-connection': {
|
|
137
|
+
readonly code: "INVALID_INPUT";
|
|
138
|
+
readonly message: "The Meta connection configuration is not readable.";
|
|
139
|
+
readonly retryable: false;
|
|
140
|
+
};
|
|
141
|
+
readonly 'invalid-auth-method': {
|
|
142
|
+
readonly code: "INVALID_INPUT";
|
|
143
|
+
readonly message: "The Meta connection names an authentication method this provider does not support.";
|
|
144
|
+
readonly retryable: false;
|
|
145
|
+
};
|
|
146
|
+
readonly 'invalid-request': {
|
|
147
|
+
readonly code: "INVALID_INPUT";
|
|
148
|
+
readonly message: "The generation request is not a readable text request.";
|
|
149
|
+
readonly retryable: false;
|
|
150
|
+
};
|
|
151
|
+
readonly 'request-too-large': {
|
|
152
|
+
readonly code: "INVALID_INPUT";
|
|
153
|
+
readonly message: "The generation request is larger than the Muse server spec accepts.";
|
|
154
|
+
readonly retryable: false;
|
|
155
|
+
};
|
|
156
|
+
readonly 'invalid-transport-record': {
|
|
157
|
+
readonly code: "UNAVAILABLE";
|
|
158
|
+
readonly message: "The transport delivered a record the Muse spec cannot read.";
|
|
159
|
+
readonly retryable: false;
|
|
160
|
+
};
|
|
161
|
+
readonly untyped: {
|
|
162
|
+
readonly code: "INTERNAL";
|
|
163
|
+
readonly message: "The Muse server failed unexpectedly.";
|
|
164
|
+
readonly retryable: false;
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
export type MuseFailureReason = keyof typeof FAILURES;
|
|
168
|
+
/** Every reason this integration raises, for the SPEC table and its test. */
|
|
169
|
+
export declare const MUSE_FAILURE_REASONS: readonly string[];
|
|
170
|
+
/** Whether `reason` is one this integration raises. */
|
|
171
|
+
export declare function isMuseFailureReason(reason: string): reason is MuseFailureReason;
|
|
172
|
+
/**
|
|
173
|
+
* A typed failure with its reason's fixed message; `details` and `cause` are the caller's bounded facts.
|
|
174
|
+
* `retryable` overrides the reason's default only when the child judged the failure itself (MSP `TurnError.retryable`).
|
|
175
|
+
*/
|
|
176
|
+
export declare function museFailure(reason: MuseFailureReason, extra?: {
|
|
177
|
+
readonly details?: CapabilityErrorDetails;
|
|
178
|
+
readonly cause?: unknown;
|
|
179
|
+
readonly retryable?: boolean;
|
|
180
|
+
}): CapabilityError;
|
|
181
|
+
/**
|
|
182
|
+
* Text the child wrote, kept only as the `cause` of a typed failure: at most 200
|
|
183
|
+
* characters, with control, format and separator characters removed.
|
|
184
|
+
*/
|
|
185
|
+
export declare function childTextCause(text: string): Error;
|
|
186
|
+
/** The failure of a JSON-RPC request or of the child, as the Muse reason that names it. */
|
|
187
|
+
export declare function museFailureFrom(caught: CaughtFailure): CapabilityError;
|
|
188
|
+
export {};
|
|
189
|
+
//# sourceMappingURL=muse-failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"muse-failure.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/meta/muse-server/muse-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACN,eAAe,EAKf,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,MAAM,qBAAqB,CAAC;AAS7B,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JmC,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,QAAQ,CAAC;AAEtD,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,mBAAuC,CAAC;AAEzE,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,iBAAiB,CAE/E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,MAAM,EAAE,iBAAiB,EACzB,KAAK,GAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/G,eAAe,CAMjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAElD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CA6BtE"}
|