@bevel-software/platform-mcp-core 0.33.0 → 0.35.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/connection-scope-wire.d.ts +53 -0
- package/dist/connection-scope-wire.d.ts.map +1 -0
- package/dist/connection-scope-wire.js +63 -0
- package/dist/connection-scope-wire.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/meta-tools.d.ts +1 -1
- package/dist/meta-tools.d.ts.map +1 -1
- package/dist/meta-tools.js +2 -2
- package/dist/meta-tools.js.map +1 -1
- package/package.json +1 -1
- package/src/connection-scope-wire.ts +81 -0
- package/src/index.ts +13 -0
- package/src/meta-tools.ts +2 -2
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a connection's scope says about itself on the wire, and the words
|
|
3
|
+
* both MCP servers — the hosted proxy and the local `hexis-mcp` — build from
|
|
4
|
+
* it: the handshake line, the refusal of a tool the connection does not
|
|
5
|
+
* load, and the sentence a connection that loads nothing carries. ONE
|
|
6
|
+
* module, so the two servers cannot word the same connection differently.
|
|
7
|
+
*
|
|
8
|
+
* The deployment puts the wire on `GET /api/agent/all-tools` and
|
|
9
|
+
* `GET /api/agent/catalog-revision` as their `connection` field; absent for
|
|
10
|
+
* a connection made as Everything, which is told nothing new.
|
|
11
|
+
*/
|
|
12
|
+
/** The `code` beside a refusal of what the caller's connection does not load. */
|
|
13
|
+
export declare const NOT_AVAILABLE_TO_CONNECTION = "not_available_to_connection";
|
|
14
|
+
/**
|
|
15
|
+
* Where the sentence saying why a connection loads nothing rides a
|
|
16
|
+
* `tools/list` answer: the listing has no description of its own, and an
|
|
17
|
+
* empty `tools` array alone would read as an outage.
|
|
18
|
+
*/
|
|
19
|
+
export declare const CONNECTION_META_KEY = "software.bevel.hexis/connection";
|
|
20
|
+
/** The agent a connection was made as, by the file that defines it. */
|
|
21
|
+
export interface ScopeAgent {
|
|
22
|
+
/** Repo-relative path of the agent configuration, as the distribution records it. */
|
|
23
|
+
path: string;
|
|
24
|
+
/** Its name — the frontmatter `name`, else the file's base name; the path when the file cannot be read. */
|
|
25
|
+
name: string;
|
|
26
|
+
}
|
|
27
|
+
/** The `connection` field of the two deployment answers above. */
|
|
28
|
+
export interface ConnectionScopeWire {
|
|
29
|
+
agent: ScopeAgent;
|
|
30
|
+
/** Set when the connection loads nothing because its file cannot be used: the one sentence saying why. */
|
|
31
|
+
unavailable?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The wire an answer carries, validated at the boundary: HTTP loses the
|
|
35
|
+
* type. A malformed one is dropped — undefined, the Everything reading —
|
|
36
|
+
* which serves what the answer listed, itself already narrowed by the
|
|
37
|
+
* deployment's agent surfaces.
|
|
38
|
+
*/
|
|
39
|
+
export declare function connectionWireOf(body: unknown): ConnectionScopeWire | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* The answer to a call of `toolName` that the connection described by
|
|
42
|
+
* `wire` does not load: names the tool and the agent, so the caller knows
|
|
43
|
+
* the tool was refused by the connection's choice and not missing from the
|
|
44
|
+
* deployment; for a file that cannot be used, the sentence that says why.
|
|
45
|
+
* The ONE wording — the tool route and both MCP servers answer with it.
|
|
46
|
+
*/
|
|
47
|
+
export declare function connectionRefusal(toolName: string, wire: ConnectionScopeWire | undefined): string;
|
|
48
|
+
/**
|
|
49
|
+
* The one line an agent is told about its connection (the MCP handshake, the
|
|
50
|
+
* agent guide); null for Everything, which is told nothing new.
|
|
51
|
+
*/
|
|
52
|
+
export declare function describeConnection(wire: ConnectionScopeWire | undefined): string | null;
|
|
53
|
+
//# sourceMappingURL=connection-scope-wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-scope-wire.d.ts","sourceRoot":"","sources":["../src/connection-scope-wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,iFAAiF;AACjF,eAAO,MAAM,2BAA2B,gCAAgC,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AAErE,uEAAuE;AACvE,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,2GAA2G;IAC3G,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,UAAU,CAAC;IAClB,0GAA0G;IAC1G,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAQ/E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAOjG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAOvF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a connection's scope says about itself on the wire, and the words
|
|
3
|
+
* both MCP servers — the hosted proxy and the local `hexis-mcp` — build from
|
|
4
|
+
* it: the handshake line, the refusal of a tool the connection does not
|
|
5
|
+
* load, and the sentence a connection that loads nothing carries. ONE
|
|
6
|
+
* module, so the two servers cannot word the same connection differently.
|
|
7
|
+
*
|
|
8
|
+
* The deployment puts the wire on `GET /api/agent/all-tools` and
|
|
9
|
+
* `GET /api/agent/catalog-revision` as their `connection` field; absent for
|
|
10
|
+
* a connection made as Everything, which is told nothing new.
|
|
11
|
+
*/
|
|
12
|
+
/** The `code` beside a refusal of what the caller's connection does not load. */
|
|
13
|
+
export const NOT_AVAILABLE_TO_CONNECTION = 'not_available_to_connection';
|
|
14
|
+
/**
|
|
15
|
+
* Where the sentence saying why a connection loads nothing rides a
|
|
16
|
+
* `tools/list` answer: the listing has no description of its own, and an
|
|
17
|
+
* empty `tools` array alone would read as an outage.
|
|
18
|
+
*/
|
|
19
|
+
export const CONNECTION_META_KEY = 'software.bevel.hexis/connection';
|
|
20
|
+
/**
|
|
21
|
+
* The wire an answer carries, validated at the boundary: HTTP loses the
|
|
22
|
+
* type. A malformed one is dropped — undefined, the Everything reading —
|
|
23
|
+
* which serves what the answer listed, itself already narrowed by the
|
|
24
|
+
* deployment's agent surfaces.
|
|
25
|
+
*/
|
|
26
|
+
export function connectionWireOf(body) {
|
|
27
|
+
const raw = body
|
|
28
|
+
?.connection;
|
|
29
|
+
if (!raw || typeof raw.agent?.path !== 'string' || typeof raw.agent.name !== 'string')
|
|
30
|
+
return undefined;
|
|
31
|
+
return {
|
|
32
|
+
agent: { path: raw.agent.path, name: raw.agent.name },
|
|
33
|
+
...(typeof raw.unavailable === 'string' && raw.unavailable ? { unavailable: raw.unavailable } : {}),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The answer to a call of `toolName` that the connection described by
|
|
38
|
+
* `wire` does not load: names the tool and the agent, so the caller knows
|
|
39
|
+
* the tool was refused by the connection's choice and not missing from the
|
|
40
|
+
* deployment; for a file that cannot be used, the sentence that says why.
|
|
41
|
+
* The ONE wording — the tool route and both MCP servers answer with it.
|
|
42
|
+
*/
|
|
43
|
+
export function connectionRefusal(toolName, wire) {
|
|
44
|
+
if (!wire)
|
|
45
|
+
return `The tool "${toolName}" is not available to this connection.`;
|
|
46
|
+
if (wire.unavailable)
|
|
47
|
+
return wire.unavailable;
|
|
48
|
+
return (`The tool "${toolName}" is not available to this connection: it is connected as the agent ` +
|
|
49
|
+
`"${wire.agent.name}" (\`${wire.agent.path}\`), which does not load it.`);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The one line an agent is told about its connection (the MCP handshake, the
|
|
53
|
+
* agent guide); null for Everything, which is told nothing new.
|
|
54
|
+
*/
|
|
55
|
+
export function describeConnection(wire) {
|
|
56
|
+
if (!wire)
|
|
57
|
+
return null;
|
|
58
|
+
if (wire.unavailable)
|
|
59
|
+
return wire.unavailable;
|
|
60
|
+
return (`This connection is connected as the agent "${wire.agent.name}" (\`${wire.agent.path}\`): it loads only the ` +
|
|
61
|
+
'platform tools, connectors, skills and plugins that file lists, and of those only what you may read.');
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=connection-scope-wire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-scope-wire.js","sourceRoot":"","sources":["../src/connection-scope-wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,iFAAiF;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAEzE;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAiBrE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,MAAM,GAAG,GAAI,IAAsG;QACjH,EAAE,UAAU,CAAC;IACf,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxG,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;QACrD,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpG,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,IAAqC;IACvF,IAAI,CAAC,IAAI;QAAE,OAAO,aAAa,QAAQ,wCAAwC,CAAC;IAChF,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC9C,OAAO,CACL,aAAa,QAAQ,sEAAsE;QAC3F,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,8BAA8B,CACzE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAqC;IACtE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC9C,OAAO,CACL,8CAA8C,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,yBAAyB;QAC7G,sGAAsG,CACvG,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -42,5 +42,6 @@ export { type SkillSummary, type LoadedSkill, skillPromptText, } from './skills.
|
|
|
42
42
|
export { utcpNamespacePrefix, utcpNamespacedKey, seedBevelHostedManualVars, isPlatformHostedUrl, } from './utcp-namespace.js';
|
|
43
43
|
export { sanitizeIdentifier, utcpNameToTsInterfaceName, findToolByName, findToolsByNames, AmbiguousToolNameError, } from './code-mode-names.js';
|
|
44
44
|
export { printable } from './printable.js';
|
|
45
|
+
export { CONNECTION_META_KEY, NOT_AVAILABLE_TO_CONNECTION, connectionRefusal, connectionWireOf, describeConnection, type ConnectionScopeWire, type ScopeAgent, } from './connection-scope-wire.js';
|
|
45
46
|
export { GOOGLE_SERVICE_ACCOUNT_AUTH_TYPE, GOOGLE_TOKEN_URL, GoogleAuthHttpProtocol, GoogleServiceAccountTokenSource, ServiceAccountAuthError, findUnservedGoogleServiceAccountAuth, holdsLiteralGoogleServiceAccountKey, installGoogleServiceAccountAuth, isGoogleServiceAccountAuth, type GoogleServiceAccountAuth, type IServiceAccountTokenSource, } from './google-service-account/index.js';
|
|
46
47
|
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACL,KAAK,WAAW,EAChB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,YAAY,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,cAAc,EACnB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,YAAY,EACZ,QAAQ,EACR,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -42,6 +42,10 @@ export { skillPromptText, } from './skills.js';
|
|
|
42
42
|
export { utcpNamespacePrefix, utcpNamespacedKey, seedBevelHostedManualVars, isPlatformHostedUrl, } from './utcp-namespace.js';
|
|
43
43
|
export { sanitizeIdentifier, utcpNameToTsInterfaceName, findToolByName, findToolsByNames, AmbiguousToolNameError, } from './code-mode-names.js';
|
|
44
44
|
export { printable } from './printable.js';
|
|
45
|
+
// A connection made as an `.agent` file, as the deployment says it on the
|
|
46
|
+
// wire and as both MCP servers word it: one module, so the hosted proxy and
|
|
47
|
+
// the local server cannot describe or refuse the same connection differently.
|
|
48
|
+
export { CONNECTION_META_KEY, NOT_AVAILABLE_TO_CONNECTION, connectionRefusal, connectionWireOf, describeConnection, } from './connection-scope-wire.js';
|
|
45
49
|
// Loading this package teaches UTCP `auth_type: google_service_account`, on
|
|
46
50
|
// both surfaces alike: the auth type validates and the `http` protocol mints
|
|
47
51
|
// the token. A side effect of the import, like the `@utcp/http` registration
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAEL,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAKlB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,wBAAwB,EACxB,qBAAqB,EAErB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EAGxB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EAGpB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAGL,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,YAAY,EACZ,QAAQ,GAET,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAGL,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,yDAAyD;AACzD,OAAO,EACL,gCAAgC,EAChC,gBAAgB,EAChB,sBAAsB,EACtB,+BAA+B,EAC/B,uBAAuB,EACvB,oCAAoC,EACpC,mCAAmC,EACnC,+BAA+B,EAC/B,0BAA0B,GAG3B,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAEL,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAKlB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,wBAAwB,EACxB,qBAAqB,EAErB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EAGxB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EAGpB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAGL,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,YAAY,EACZ,QAAQ,GAET,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAGL,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GAGnB,MAAM,4BAA4B,CAAC;AAEpC,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,yDAAyD;AACzD,OAAO,EACL,gCAAgC,EAChC,gBAAgB,EAChB,sBAAsB,EACtB,+BAA+B,EAC/B,uBAAuB,EACvB,oCAAoC,EACpC,mCAAmC,EACnC,+BAA+B,EAC/B,0BAA0B,GAG3B,MAAM,mCAAmC,CAAC"}
|
package/dist/meta-tools.d.ts
CHANGED
|
@@ -68,7 +68,7 @@ export declare function chainNamespaceExample(namespace: string): string;
|
|
|
68
68
|
*/
|
|
69
69
|
export declare const CHAIN_FAILURES_RULE = "Failures are answered, never dropped: a chain that throws comes back as an error carrying the reason, and one that outlives `timeout` (default 30000 ms, maximum 120000 ms) comes back saying so \u2014 raise `timeout` or split the work and run it again. Either way the connection stays open and your next call works as usual.";
|
|
70
70
|
/** What a chain does with a result too large to return. Placed as {@link CHAIN_FAILURES_RULE} is. */
|
|
71
|
-
export declare const CHAIN_LARGE_RESULTS_RULE = "Large results: if the combined result+logs exceed `max_output_size` (default 200000 chars) the full JSON is spilled to a shared store and you get back a `__tool_chain_spill__/\u2026` ref instead. Read it with `read_file` (pass that ref as `path
|
|
71
|
+
export declare const CHAIN_LARGE_RESULTS_RULE = "Large results: if the combined result+logs exceed `max_output_size` (default 200000 chars) the full JSON is spilled to a shared store and you get back a `__tool_chain_spill__/\u2026` ref instead. Read it with `read_file` (pass that ref as `path`, any existing branch as `branch`, plus `offset`/`limit` to slice it), or better, re-run a narrower chain that returns only what you need.";
|
|
72
72
|
/** What a surface says about itself when it asks for the meta-tools. */
|
|
73
73
|
export interface CodeModeMetaToolsOptions {
|
|
74
74
|
/**
|
package/dist/meta-tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-tools.d.ts","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAW5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,wUAA8W,CAAC;AAE/Y,qGAAqG;AACrG,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"meta-tools.d.ts","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAW5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,wUAA8W,CAAC;AAE/Y,qGAAqG;AACrG,eAAO,MAAM,wBAAwB,oYACyV,CAAC;AA0C/X,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIhE,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,SAAS,gBAAgB,EAAO,EACvC,OAAO,GAAE,wBAA6B,GACrC,OAAO,EAAE,CAiDX;AAeD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAA+D,CAAC;AAChH,qFAAqF;AACrF,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAgBlD;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,SAAS,GAChB,OAAO,CAAC,cAAc,CAAC,CA4HzB"}
|
package/dist/meta-tools.js
CHANGED
|
@@ -73,7 +73,7 @@ export function chainNamespaceExample(namespace) {
|
|
|
73
73
|
*/
|
|
74
74
|
export const CHAIN_FAILURES_RULE = `Failures are answered, never dropped: a chain that throws comes back as an error carrying the reason, and one that outlives \`timeout\` (default ${CHAIN_TIMEOUT_DEFAULT_MS} ms, maximum ${CHAIN_TIMEOUT_MAX_MS} ms) comes back saying so — raise \`timeout\` or split the work and run it again. Either way the connection stays open and your next call works as usual.`;
|
|
75
75
|
/** What a chain does with a result too large to return. Placed as {@link CHAIN_FAILURES_RULE} is. */
|
|
76
|
-
export const CHAIN_LARGE_RESULTS_RULE = 'Large results: if the combined result+logs exceed `max_output_size` (default 200000 chars) the full JSON is spilled to a shared store and you get back a `__tool_chain_spill__/…` ref instead. Read it with `read_file` (pass that ref as `path
|
|
76
|
+
export const CHAIN_LARGE_RESULTS_RULE = 'Large results: if the combined result+logs exceed `max_output_size` (default 200000 chars) the full JSON is spilled to a shared store and you get back a `__tool_chain_spill__/…` ref instead. Read it with `read_file` (pass that ref as `path`, any existing branch as `branch`, plus `offset`/`limit` to slice it), or better, re-run a narrower chain that returns only what you need.';
|
|
77
77
|
/**
|
|
78
78
|
* What a chained read of an IMAGE gives back. On a surface with the shared
|
|
79
79
|
* rules this is part of their content rule, which states it among everything
|
|
@@ -334,7 +334,7 @@ export async function dispatchMetaTool(client, name, args, spill) {
|
|
|
334
334
|
truncated: true,
|
|
335
335
|
result_ref: ref,
|
|
336
336
|
result_bytes: bytes,
|
|
337
|
-
message: `Result+logs payload was ${fullJson.length} characters (exceeded max_output_size of ${maxOutputSize}). Full JSON saved to the shared spill store as \`${ref}\`. Read it back with \`read_file\` (pass that ref as \`path\`, \`branch
|
|
337
|
+
message: `Result+logs payload was ${fullJson.length} characters (exceeded max_output_size of ${maxOutputSize}). Full JSON saved to the shared spill store as \`${ref}\`. Read it back with \`read_file\` (pass that ref as \`path\`, any existing branch as \`branch\`, plus \`offset\`/\`limit\` to slice), or re-run a narrower chain that returns only what you need.`,
|
|
338
338
|
});
|
|
339
339
|
}
|
|
340
340
|
catch (err) {
|
package/dist/meta-tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-tools.js","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,YAAY,EAA4C,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,oJAAoJ,wBAAwB,gBAAgB,oBAAoB,2JAA2J,CAAC;AAE/Y,qGAAqG;AACrG,MAAM,CAAC,MAAM,wBAAwB,GACnC,
|
|
1
|
+
{"version":3,"file":"meta-tools.js","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bevel-software/platform-mcp-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "The transport-agnostic half of Bevel's MCP surface: UTCP manual registration, tool discovery, MCP listing/dispatch and the code-mode meta-tools. Shared by the hosted proxy and the local stdio server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a connection's scope says about itself on the wire, and the words
|
|
3
|
+
* both MCP servers — the hosted proxy and the local `hexis-mcp` — build from
|
|
4
|
+
* it: the handshake line, the refusal of a tool the connection does not
|
|
5
|
+
* load, and the sentence a connection that loads nothing carries. ONE
|
|
6
|
+
* module, so the two servers cannot word the same connection differently.
|
|
7
|
+
*
|
|
8
|
+
* The deployment puts the wire on `GET /api/agent/all-tools` and
|
|
9
|
+
* `GET /api/agent/catalog-revision` as their `connection` field; absent for
|
|
10
|
+
* a connection made as Everything, which is told nothing new.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** The `code` beside a refusal of what the caller's connection does not load. */
|
|
14
|
+
export const NOT_AVAILABLE_TO_CONNECTION = 'not_available_to_connection';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Where the sentence saying why a connection loads nothing rides a
|
|
18
|
+
* `tools/list` answer: the listing has no description of its own, and an
|
|
19
|
+
* empty `tools` array alone would read as an outage.
|
|
20
|
+
*/
|
|
21
|
+
export const CONNECTION_META_KEY = 'software.bevel.hexis/connection';
|
|
22
|
+
|
|
23
|
+
/** The agent a connection was made as, by the file that defines it. */
|
|
24
|
+
export interface ScopeAgent {
|
|
25
|
+
/** Repo-relative path of the agent configuration, as the distribution records it. */
|
|
26
|
+
path: string;
|
|
27
|
+
/** Its name — the frontmatter `name`, else the file's base name; the path when the file cannot be read. */
|
|
28
|
+
name: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** The `connection` field of the two deployment answers above. */
|
|
32
|
+
export interface ConnectionScopeWire {
|
|
33
|
+
agent: ScopeAgent;
|
|
34
|
+
/** Set when the connection loads nothing because its file cannot be used: the one sentence saying why. */
|
|
35
|
+
unavailable?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The wire an answer carries, validated at the boundary: HTTP loses the
|
|
40
|
+
* type. A malformed one is dropped — undefined, the Everything reading —
|
|
41
|
+
* which serves what the answer listed, itself already narrowed by the
|
|
42
|
+
* deployment's agent surfaces.
|
|
43
|
+
*/
|
|
44
|
+
export function connectionWireOf(body: unknown): ConnectionScopeWire | undefined {
|
|
45
|
+
const raw = (body as { connection?: { agent?: { path?: unknown; name?: unknown }; unavailable?: unknown } } | null)
|
|
46
|
+
?.connection;
|
|
47
|
+
if (!raw || typeof raw.agent?.path !== 'string' || typeof raw.agent.name !== 'string') return undefined;
|
|
48
|
+
return {
|
|
49
|
+
agent: { path: raw.agent.path, name: raw.agent.name },
|
|
50
|
+
...(typeof raw.unavailable === 'string' && raw.unavailable ? { unavailable: raw.unavailable } : {}),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The answer to a call of `toolName` that the connection described by
|
|
56
|
+
* `wire` does not load: names the tool and the agent, so the caller knows
|
|
57
|
+
* the tool was refused by the connection's choice and not missing from the
|
|
58
|
+
* deployment; for a file that cannot be used, the sentence that says why.
|
|
59
|
+
* The ONE wording — the tool route and both MCP servers answer with it.
|
|
60
|
+
*/
|
|
61
|
+
export function connectionRefusal(toolName: string, wire: ConnectionScopeWire | undefined): string {
|
|
62
|
+
if (!wire) return `The tool "${toolName}" is not available to this connection.`;
|
|
63
|
+
if (wire.unavailable) return wire.unavailable;
|
|
64
|
+
return (
|
|
65
|
+
`The tool "${toolName}" is not available to this connection: it is connected as the agent ` +
|
|
66
|
+
`"${wire.agent.name}" (\`${wire.agent.path}\`), which does not load it.`
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The one line an agent is told about its connection (the MCP handshake, the
|
|
72
|
+
* agent guide); null for Everything, which is told nothing new.
|
|
73
|
+
*/
|
|
74
|
+
export function describeConnection(wire: ConnectionScopeWire | undefined): string | null {
|
|
75
|
+
if (!wire) return null;
|
|
76
|
+
if (wire.unavailable) return wire.unavailable;
|
|
77
|
+
return (
|
|
78
|
+
`This connection is connected as the agent "${wire.agent.name}" (\`${wire.agent.path}\`): it loads only the ` +
|
|
79
|
+
'platform tools, connectors, skills and plugins that file lists, and of those only what you may read.'
|
|
80
|
+
);
|
|
81
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -169,6 +169,19 @@ export {
|
|
|
169
169
|
|
|
170
170
|
export { printable } from './printable.js';
|
|
171
171
|
|
|
172
|
+
// A connection made as an `.agent` file, as the deployment says it on the
|
|
173
|
+
// wire and as both MCP servers word it: one module, so the hosted proxy and
|
|
174
|
+
// the local server cannot describe or refuse the same connection differently.
|
|
175
|
+
export {
|
|
176
|
+
CONNECTION_META_KEY,
|
|
177
|
+
NOT_AVAILABLE_TO_CONNECTION,
|
|
178
|
+
connectionRefusal,
|
|
179
|
+
connectionWireOf,
|
|
180
|
+
describeConnection,
|
|
181
|
+
type ConnectionScopeWire,
|
|
182
|
+
type ScopeAgent,
|
|
183
|
+
} from './connection-scope-wire.js';
|
|
184
|
+
|
|
172
185
|
// Loading this package teaches UTCP `auth_type: google_service_account`, on
|
|
173
186
|
// both surfaces alike: the auth type validates and the `http` protocol mints
|
|
174
187
|
// the token. A side effect of the import, like the `@utcp/http` registration
|
package/src/meta-tools.ts
CHANGED
|
@@ -86,7 +86,7 @@ export const CHAIN_FAILURES_RULE = `Failures are answered, never dropped: a chai
|
|
|
86
86
|
|
|
87
87
|
/** What a chain does with a result too large to return. Placed as {@link CHAIN_FAILURES_RULE} is. */
|
|
88
88
|
export const CHAIN_LARGE_RESULTS_RULE =
|
|
89
|
-
'Large results: if the combined result+logs exceed `max_output_size` (default 200000 chars) the full JSON is spilled to a shared store and you get back a `__tool_chain_spill__/…` ref instead. Read it with `read_file` (pass that ref as `path
|
|
89
|
+
'Large results: if the combined result+logs exceed `max_output_size` (default 200000 chars) the full JSON is spilled to a shared store and you get back a `__tool_chain_spill__/…` ref instead. Read it with `read_file` (pass that ref as `path`, any existing branch as `branch`, plus `offset`/`limit` to slice it), or better, re-run a narrower chain that returns only what you need.';
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* What a chained read of an IMAGE gives back. On a surface with the shared
|
|
@@ -396,7 +396,7 @@ export async function dispatchMetaTool(
|
|
|
396
396
|
truncated: true,
|
|
397
397
|
result_ref: ref,
|
|
398
398
|
result_bytes: bytes,
|
|
399
|
-
message: `Result+logs payload was ${fullJson.length} characters (exceeded max_output_size of ${maxOutputSize}). Full JSON saved to the shared spill store as \`${ref}\`. Read it back with \`read_file\` (pass that ref as \`path\`, \`branch
|
|
399
|
+
message: `Result+logs payload was ${fullJson.length} characters (exceeded max_output_size of ${maxOutputSize}). Full JSON saved to the shared spill store as \`${ref}\`. Read it back with \`read_file\` (pass that ref as \`path\`, any existing branch as \`branch\`, plus \`offset\`/\`limit\` to slice), or re-run a narrower chain that returns only what you need.`,
|
|
400
400
|
});
|
|
401
401
|
} catch (err) {
|
|
402
402
|
// `runToolChain` answers rather than throws, so a chain no longer reaches
|