MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / parseToolAddress

Function parseToolAddress

packages/core/sdk/src/executor.ts:310–335  ·  view source on GitHub ↗
(address: string)

Source from the content-addressed store, hash-verified

308 * `tools.<integration>.<owner>.<connection>.aliases.deleteAlias` — the same
309 * dotted nesting the sandbox `tools` proxy produces from property access. */
310export const parseToolAddress = (address: string): ParsedToolAddress | null => {
311 // Walk to the 4th dot; everything past it is the tool (dots and all).
312 let cut = -1;
313 for (let i = 0; i < 4; i++) {
314 cut = address.indexOf(".", cut + 1);
315 if (cut === -1) return null;
316 }
317 const [prefix, integration, owner, connection] = address.slice(0, cut).split(".") as [
318 string,
319 string,
320 string,
321 string,
322 ];
323 const tool = address.slice(cut + 1);
324 if (prefix !== ADDRESS_PREFIX) return null;
325 if (!isOwner(owner)) return null;
326 if (integration.length === 0 || connection.length === 0 || tool.length === 0) {
327 return null;
328 }
329 return {
330 integration: IntegrationSlug.make(integration),
331 owner,
332 connection: ConnectionName.make(connection),
333 tool: ToolName.make(tool),
334 };
335};
336
337export const connectionAddress = (
338 owner: Owner,

Callers 7

pathToAddressFunction · 0.90
makeExecutorToolInvokerFunction · 0.90
registerPassthroughToolsFunction · 0.90
executePassthroughCallFunction · 0.90
toolSchemaFunction · 0.85
policiesResolveFunction · 0.85
executeFunction · 0.85

Calls 1

isOwnerFunction · 0.85

Tested by

no test coverage detected