@tai42/api-client 16.0.0 → 16.0.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/dist/client/agents-client.d.ts +26 -0
- package/dist/client/agents-client.d.ts.map +1 -0
- package/dist/client/agents-client.js +19 -0
- package/dist/client/agents-client.js.map +1 -0
- package/dist/client/auth-client.d.ts +205 -0
- package/dist/client/auth-client.d.ts.map +1 -0
- package/dist/client/auth-client.js +59 -0
- package/dist/client/auth-client.js.map +1 -0
- package/dist/client/backend-client.d.ts +39 -0
- package/dist/client/backend-client.d.ts.map +1 -0
- package/dist/client/backend-client.js +22 -0
- package/dist/client/backend-client.js.map +1 -0
- package/dist/client/backup-client.d.ts +56 -0
- package/dist/client/backup-client.d.ts.map +1 -0
- package/dist/client/backup-client.js +12 -0
- package/dist/client/backup-client.js.map +1 -0
- package/dist/client/capabilities-client.d.ts +35 -0
- package/dist/client/capabilities-client.d.ts.map +1 -0
- package/dist/client/capabilities-client.js +19 -0
- package/dist/client/capabilities-client.js.map +1 -0
- package/dist/client/channels-client.d.ts +7 -0
- package/dist/client/channels-client.d.ts.map +1 -0
- package/dist/client/channels-client.js +10 -0
- package/dist/client/channels-client.js.map +1 -0
- package/dist/client/config-client.d.ts +59 -0
- package/dist/client/config-client.d.ts.map +1 -0
- package/dist/client/config-client.js +18 -0
- package/dist/client/config-client.js.map +1 -0
- package/dist/client/connectors-client.d.ts +225 -0
- package/dist/client/connectors-client.d.ts.map +1 -0
- package/dist/client/connectors-client.js +31 -0
- package/dist/client/connectors-client.js.map +1 -0
- package/dist/client/conversations-client.d.ts +399 -0
- package/dist/client/conversations-client.d.ts.map +1 -0
- package/dist/client/conversations-client.js +120 -0
- package/dist/client/conversations-client.js.map +1 -0
- package/dist/client/hooks-client.d.ts +113 -0
- package/dist/client/hooks-client.d.ts.map +1 -0
- package/dist/client/hooks-client.js +25 -0
- package/dist/client/hooks-client.js.map +1 -0
- package/dist/{client.d.ts → client/index.d.ts} +2235 -2666
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +79 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/interactions-client.d.ts +52 -0
- package/dist/client/interactions-client.d.ts.map +1 -0
- package/dist/client/interactions-client.js +84 -0
- package/dist/client/interactions-client.js.map +1 -0
- package/dist/client/login-client.d.ts +56 -0
- package/dist/client/login-client.d.ts.map +1 -0
- package/dist/client/login-client.js +103 -0
- package/dist/client/login-client.js.map +1 -0
- package/dist/client/manifest-client.d.ts +354 -0
- package/dist/client/manifest-client.d.ts.map +1 -0
- package/dist/client/manifest-client.js +76 -0
- package/dist/client/manifest-client.js.map +1 -0
- package/dist/client/marketplace-client.d.ts +274 -0
- package/dist/client/marketplace-client.d.ts.map +1 -0
- package/dist/client/marketplace-client.js +46 -0
- package/dist/client/marketplace-client.js.map +1 -0
- package/dist/client/mcp-config-schema-client.d.ts +5 -0
- package/dist/client/mcp-config-schema-client.d.ts.map +1 -0
- package/dist/client/mcp-config-schema-client.js +9 -0
- package/dist/client/mcp-config-schema-client.js.map +1 -0
- package/dist/client/notifications-client.d.ts +27 -0
- package/dist/client/notifications-client.d.ts.map +1 -0
- package/dist/client/notifications-client.js +11 -0
- package/dist/client/notifications-client.js.map +1 -0
- package/dist/client/observability-client.d.ts +103 -0
- package/dist/client/observability-client.d.ts.map +1 -0
- package/dist/client/observability-client.js +43 -0
- package/dist/client/observability-client.js.map +1 -0
- package/dist/client/plugins-client.d.ts +17 -0
- package/dist/client/plugins-client.d.ts.map +1 -0
- package/dist/client/plugins-client.js +9 -0
- package/dist/client/plugins-client.js.map +1 -0
- package/dist/client/policy-client.d.ts +37 -0
- package/dist/client/policy-client.d.ts.map +1 -0
- package/dist/client/policy-client.js +26 -0
- package/dist/client/policy-client.js.map +1 -0
- package/dist/client/presets-client.d.ts +335 -0
- package/dist/client/presets-client.d.ts.map +1 -0
- package/dist/client/presets-client.js +38 -0
- package/dist/client/presets-client.js.map +1 -0
- package/dist/client/profiles-client.d.ts +102 -0
- package/dist/client/profiles-client.d.ts.map +1 -0
- package/dist/client/profiles-client.js +37 -0
- package/dist/client/profiles-client.js.map +1 -0
- package/dist/client/schedules-client.d.ts +28 -0
- package/dist/client/schedules-client.d.ts.map +1 -0
- package/dist/client/schedules-client.js +13 -0
- package/dist/client/schedules-client.js.map +1 -0
- package/dist/client/settings-schema-client.d.ts +23 -0
- package/dist/client/settings-schema-client.d.ts.map +1 -0
- package/dist/client/settings-schema-client.js +9 -0
- package/dist/client/settings-schema-client.js.map +1 -0
- package/dist/client/states-client.d.ts +471 -0
- package/dist/client/states-client.d.ts.map +1 -0
- package/dist/client/states-client.js +144 -0
- package/dist/client/states-client.js.map +1 -0
- package/dist/client/storage-client.d.ts +40 -0
- package/dist/client/storage-client.d.ts.map +1 -0
- package/dist/client/storage-client.js +43 -0
- package/dist/client/storage-client.js.map +1 -0
- package/dist/client/sub-mcp-client.d.ts +17 -0
- package/dist/client/sub-mcp-client.d.ts.map +1 -0
- package/dist/client/sub-mcp-client.js +14 -0
- package/dist/client/sub-mcp-client.js.map +1 -0
- package/dist/client/system-client.d.ts +11 -0
- package/dist/client/system-client.d.ts.map +1 -0
- package/dist/client/system-client.js +13 -0
- package/dist/client/system-client.js.map +1 -0
- package/dist/client/templates-client.d.ts +29 -0
- package/dist/client/templates-client.d.ts.map +1 -0
- package/dist/client/templates-client.js +21 -0
- package/dist/client/templates-client.js.map +1 -0
- package/dist/client/tool-extensions-client.d.ts +54 -0
- package/dist/client/tool-extensions-client.d.ts.map +1 -0
- package/dist/client/tool-extensions-client.js +21 -0
- package/dist/client/tool-extensions-client.js.map +1 -0
- package/dist/client/tool-meta-client.d.ts +69 -0
- package/dist/client/tool-meta-client.d.ts.map +1 -0
- package/dist/client/tool-meta-client.js +38 -0
- package/dist/client/tool-meta-client.js.map +1 -0
- package/dist/client/tools-client.d.ts +83 -0
- package/dist/client/tools-client.d.ts.map +1 -0
- package/dist/client/tools-client.js +38 -0
- package/dist/client/tools-client.js.map +1 -0
- package/dist/client/transport.d.ts +13 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/client/transport.js +10 -0
- package/dist/client/transport.js.map +1 -0
- package/dist/client/trigger-links-client.d.ts +44 -0
- package/dist/client/trigger-links-client.d.ts.map +1 -0
- package/dist/client/trigger-links-client.js +30 -0
- package/dist/client/trigger-links-client.js.map +1 -0
- package/dist/client/web-entry-gate-client.d.ts +34 -0
- package/dist/client/web-entry-gate-client.d.ts.map +1 -0
- package/dist/client/web-entry-gate-client.js +25 -0
- package/dist/client/web-entry-gate-client.js.map +1 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +33 -17
- package/dist/http.js.map +1 -1
- package/dist/schemas/api-keys.d.ts +34 -0
- package/dist/schemas/api-keys.d.ts.map +1 -0
- package/dist/schemas/api-keys.js +22 -0
- package/dist/schemas/api-keys.js.map +1 -0
- package/dist/schemas/auth-routes.d.ts +78 -0
- package/dist/schemas/auth-routes.d.ts.map +1 -0
- package/dist/schemas/auth-routes.js +42 -0
- package/dist/schemas/auth-routes.js.map +1 -0
- package/dist/schemas/backup.d.ts +78 -0
- package/dist/schemas/backup.d.ts.map +1 -0
- package/dist/schemas/backup.js +33 -0
- package/dist/schemas/backup.js.map +1 -0
- package/dist/schemas/capabilities.d.ts +99 -0
- package/dist/schemas/capabilities.d.ts.map +1 -0
- package/dist/schemas/capabilities.js +74 -0
- package/dist/schemas/capabilities.js.map +1 -0
- package/dist/schemas/channels.d.ts +7 -0
- package/dist/schemas/channels.d.ts.map +1 -0
- package/dist/schemas/channels.js +9 -0
- package/dist/schemas/channels.js.map +1 -0
- package/dist/schemas/config.d.ts +17 -0
- package/dist/schemas/config.d.ts.map +1 -0
- package/dist/schemas/config.js +17 -0
- package/dist/schemas/config.js.map +1 -0
- package/dist/schemas/connectors.d.ts +383 -0
- package/dist/schemas/connectors.d.ts.map +1 -0
- package/dist/schemas/connectors.js +122 -0
- package/dist/schemas/connectors.js.map +1 -0
- package/dist/schemas/conversations.d.ts +600 -0
- package/dist/schemas/conversations.d.ts.map +1 -0
- package/dist/schemas/conversations.js +208 -0
- package/dist/schemas/conversations.js.map +1 -0
- package/dist/schemas/extensions.d.ts +44 -0
- package/dist/schemas/extensions.d.ts.map +1 -0
- package/dist/schemas/extensions.js +29 -0
- package/dist/schemas/extensions.js.map +1 -0
- package/dist/schemas/fleet.d.ts +271 -0
- package/dist/schemas/fleet.d.ts.map +1 -0
- package/dist/schemas/fleet.js +132 -0
- package/dist/schemas/fleet.js.map +1 -0
- package/dist/schemas/hooks.d.ts +120 -0
- package/dist/schemas/hooks.d.ts.map +1 -0
- package/dist/schemas/hooks.js +44 -0
- package/dist/schemas/hooks.js.map +1 -0
- package/dist/schemas/index.d.ts +38 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +38 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/interactions.d.ts +156 -0
- package/dist/schemas/interactions.d.ts.map +1 -0
- package/dist/schemas/interactions.js +124 -0
- package/dist/schemas/interactions.js.map +1 -0
- package/dist/schemas/login.d.ts +86 -0
- package/dist/schemas/login.d.ts.map +1 -0
- package/dist/schemas/login.js +54 -0
- package/dist/schemas/login.js.map +1 -0
- package/dist/schemas/manifest-mcp.d.ts +125 -0
- package/dist/schemas/manifest-mcp.d.ts.map +1 -0
- package/dist/schemas/manifest-mcp.js +61 -0
- package/dist/schemas/manifest-mcp.js.map +1 -0
- package/dist/schemas/marketplace.d.ts +708 -0
- package/dist/schemas/marketplace.d.ts.map +1 -0
- package/dist/schemas/marketplace.js +387 -0
- package/dist/schemas/marketplace.js.map +1 -0
- package/dist/schemas/notifications.d.ts +61 -0
- package/dist/schemas/notifications.d.ts.map +1 -0
- package/dist/schemas/notifications.js +38 -0
- package/dist/schemas/notifications.js.map +1 -0
- package/dist/schemas/observability.d.ts +114 -0
- package/dist/schemas/observability.d.ts.map +1 -0
- package/dist/schemas/observability.js +74 -0
- package/dist/schemas/observability.js.map +1 -0
- package/dist/schemas/policy.d.ts +58 -0
- package/dist/schemas/policy.d.ts.map +1 -0
- package/dist/schemas/policy.js +32 -0
- package/dist/schemas/policy.js.map +1 -0
- package/dist/schemas/presets.d.ts +258 -0
- package/dist/schemas/presets.d.ts.map +1 -0
- package/dist/schemas/presets.js +95 -0
- package/dist/schemas/presets.js.map +1 -0
- package/dist/schemas/profiles.d.ts +180 -0
- package/dist/schemas/profiles.d.ts.map +1 -0
- package/dist/schemas/profiles.js +100 -0
- package/dist/schemas/profiles.js.map +1 -0
- package/dist/schemas/roles.d.ts +125 -0
- package/dist/schemas/roles.d.ts.map +1 -0
- package/dist/schemas/roles.js +46 -0
- package/dist/schemas/roles.js.map +1 -0
- package/dist/schemas/schedules.d.ts +25 -0
- package/dist/schemas/schedules.d.ts.map +1 -0
- package/dist/schemas/schedules.js +24 -0
- package/dist/schemas/schedules.js.map +1 -0
- package/dist/schemas/served.d.ts +626 -0
- package/dist/schemas/served.d.ts.map +1 -0
- package/dist/schemas/served.js +28 -0
- package/dist/schemas/served.js.map +1 -0
- package/dist/schemas/settings-schema.d.ts +23 -0
- package/dist/schemas/settings-schema.d.ts.map +1 -0
- package/dist/schemas/settings-schema.js +25 -0
- package/dist/schemas/settings-schema.js.map +1 -0
- package/dist/schemas/shared.d.ts +20 -0
- package/dist/schemas/shared.d.ts.map +1 -0
- package/dist/schemas/shared.js +20 -0
- package/dist/schemas/shared.js.map +1 -0
- package/dist/schemas/states.d.ts +499 -0
- package/dist/schemas/states.d.ts.map +1 -0
- package/dist/schemas/states.js +220 -0
- package/dist/schemas/states.js.map +1 -0
- package/dist/schemas/storage.d.ts +37 -0
- package/dist/schemas/storage.d.ts.map +1 -0
- package/dist/schemas/storage.js +24 -0
- package/dist/schemas/storage.js.map +1 -0
- package/dist/schemas/studio-plugins.d.ts +30 -0
- package/dist/schemas/studio-plugins.d.ts.map +1 -0
- package/dist/schemas/studio-plugins.js +20 -0
- package/dist/schemas/studio-plugins.js.map +1 -0
- package/dist/schemas/sub-mcp.d.ts +29 -0
- package/dist/schemas/sub-mcp.d.ts.map +1 -0
- package/dist/schemas/sub-mcp.js +22 -0
- package/dist/schemas/sub-mcp.js.map +1 -0
- package/dist/schemas/system-kinds.d.ts +122 -0
- package/dist/schemas/system-kinds.d.ts.map +1 -0
- package/dist/schemas/system-kinds.js +40 -0
- package/dist/schemas/system-kinds.js.map +1 -0
- package/dist/schemas/templates.d.ts +26 -0
- package/dist/schemas/templates.d.ts.map +1 -0
- package/dist/schemas/templates.js +11 -0
- package/dist/schemas/templates.js.map +1 -0
- package/dist/schemas/tool-meta.d.ts +64 -0
- package/dist/schemas/tool-meta.d.ts.map +1 -0
- package/dist/schemas/tool-meta.js +44 -0
- package/dist/schemas/tool-meta.js.map +1 -0
- package/dist/schemas/tools.d.ts +62 -0
- package/dist/schemas/tools.d.ts.map +1 -0
- package/dist/schemas/tools.js +53 -0
- package/dist/schemas/tools.js.map +1 -0
- package/dist/schemas/trigger-links.d.ts +71 -0
- package/dist/schemas/trigger-links.d.ts.map +1 -0
- package/dist/schemas/trigger-links.js +46 -0
- package/dist/schemas/trigger-links.js.map +1 -0
- package/dist/schemas/web-entry.d.ts +45 -0
- package/dist/schemas/web-entry.d.ts.map +1 -0
- package/dist/schemas/web-entry.js +36 -0
- package/dist/schemas/web-entry.js.map +1 -0
- package/dist/tool-runs.d.ts +4 -4
- package/package.json +1 -1
- package/src/client/agents-client.ts +23 -0
- package/src/client/auth-client.ts +144 -0
- package/src/client/backend-client.ts +25 -0
- package/src/client/backup-client.ts +16 -0
- package/src/client/capabilities-client.ts +22 -0
- package/src/client/channels-client.ts +11 -0
- package/src/client/config-client.ts +21 -0
- package/src/client/connectors-client.ts +52 -0
- package/src/client/conversations-client.ts +240 -0
- package/src/client/hooks-client.ts +44 -0
- package/src/client/index.ts +122 -0
- package/src/client/interactions-client.ts +89 -0
- package/src/client/login-client.ts +109 -0
- package/src/client/manifest-client.ts +118 -0
- package/src/client/marketplace-client.ts +122 -0
- package/src/client/mcp-config-schema-client.ts +11 -0
- package/src/client/notifications-client.ts +13 -0
- package/src/client/observability-client.ts +82 -0
- package/src/client/plugins-client.ts +11 -0
- package/src/client/policy-client.ts +41 -0
- package/src/client/presets-client.ts +124 -0
- package/src/client/profiles-client.ts +51 -0
- package/src/client/schedules-client.ts +22 -0
- package/src/client/settings-schema-client.ts +11 -0
- package/src/client/states-client.ts +292 -0
- package/src/client/storage-client.ts +63 -0
- package/src/client/sub-mcp-client.ts +17 -0
- package/src/client/system-client.ts +16 -0
- package/src/client/templates-client.ts +28 -0
- package/src/client/tool-extensions-client.ts +24 -0
- package/src/client/tool-meta-client.ts +65 -0
- package/src/client/tools-client.ts +66 -0
- package/src/client/transport.ts +18 -0
- package/src/client/trigger-links-client.ts +51 -0
- package/src/client/web-entry-gate-client.ts +45 -0
- package/src/http.ts +48 -24
- package/src/schemas/api-keys.ts +26 -0
- package/src/schemas/auth-routes.ts +48 -0
- package/src/schemas/backup.ts +42 -0
- package/src/schemas/capabilities.ts +87 -0
- package/src/schemas/channels.ts +11 -0
- package/src/schemas/config.ts +17 -0
- package/src/schemas/connectors.ts +138 -0
- package/src/schemas/conversations.ts +256 -0
- package/src/schemas/extensions.ts +34 -0
- package/src/schemas/fleet.ts +153 -0
- package/src/schemas/hooks.ts +56 -0
- package/src/schemas/index.ts +37 -0
- package/src/schemas/interactions.ts +146 -0
- package/src/schemas/login.ts +62 -0
- package/src/schemas/manifest-mcp.ts +69 -0
- package/src/schemas/marketplace.ts +447 -0
- package/src/schemas/notifications.ts +42 -0
- package/src/schemas/observability.ts +86 -0
- package/src/schemas/policy.ts +37 -0
- package/src/schemas/presets.ts +113 -0
- package/src/schemas/profiles.ts +119 -0
- package/src/schemas/roles.ts +57 -0
- package/src/schemas/schedules.ts +27 -0
- package/src/schemas/served.ts +49 -0
- package/src/schemas/settings-schema.ts +31 -0
- package/src/schemas/shared.ts +21 -0
- package/src/schemas/states.ts +272 -0
- package/src/schemas/storage.ts +31 -0
- package/src/schemas/studio-plugins.ts +21 -0
- package/src/schemas/sub-mcp.ts +24 -0
- package/src/schemas/system-kinds.ts +46 -0
- package/src/schemas/templates.ts +11 -0
- package/src/schemas/tool-meta.ts +51 -0
- package/src/schemas/tools.ts +61 -0
- package/src/schemas/trigger-links.ts +54 -0
- package/src/schemas/web-entry.ts +46 -0
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -920
- package/dist/client.js.map +0 -1
- package/dist/schemas.d.ts +0 -5172
- package/dist/schemas.d.ts.map +0 -1
- package/dist/schemas.js +0 -2268
- package/dist/schemas.js.map +0 -1
- package/src/client.ts +0 -1771
- package/src/schemas.ts +0 -2760
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-client.d.ts","sourceRoot":"","sources":["../../src/client/storage-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAwBD,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS;8BAOZ,WAAW;;;;;oCACL,WAAW;;;8BAEjB,MAAM,WAAW,WAAW;;;;kCAExB,MAAM,WAAW,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC;kCAE5C,iBAAiB;;;;gCAEnB,MAAM;;;;6BAIT,MAAM;;;;EAGlC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Storage resource CRUD sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
import { apiDownload, isUnsafePathSegment } from '../http';
|
|
4
|
+
/**
|
|
5
|
+
* Encode a possibly-nested storage id / directory path for use in a URL path,
|
|
6
|
+
* percent-encoding each segment while preserving the `/` separators. A storage id
|
|
7
|
+
* can be a nested path (e.g. `a/b c.txt`); encoding each segment independently keeps
|
|
8
|
+
* the slashes structural and escapes everything else (spaces, `#`, `?`, …).
|
|
9
|
+
*
|
|
10
|
+
* Dot segments (`.`, `..`), empty segments (a leading/trailing/doubled `/`, or an
|
|
11
|
+
* empty id) are REJECTED loudly rather than encoded: the browser's WHATWG URL parser
|
|
12
|
+
* removes dot-segments from a relative request path before it is sent — collapsing
|
|
13
|
+
* `..` even when percent-encoded — so such an id can never be faithfully transmitted.
|
|
14
|
+
* Left to encode, it would silently retarget the request at an unrelated same-origin
|
|
15
|
+
* route. The server enforces the same relative-path rule; failing fast here keeps a
|
|
16
|
+
* malformed id from ever leaving the client.
|
|
17
|
+
*/
|
|
18
|
+
function encodePath(id) {
|
|
19
|
+
const segments = id.split('/');
|
|
20
|
+
if (segments.some(isUnsafePathSegment)) {
|
|
21
|
+
throw new Error("storage path must be a relative path with no empty, '.', or '..' segment");
|
|
22
|
+
}
|
|
23
|
+
return segments.map(encodeURIComponent).join('/');
|
|
24
|
+
}
|
|
25
|
+
export function storageClient(t) {
|
|
26
|
+
const { config, req } = t;
|
|
27
|
+
return {
|
|
28
|
+
// The content store a storage-provider plugin exposes. Dead by default:
|
|
29
|
+
// `getStorageInfo` reports `present: false` (a 200 empty state) and every other
|
|
30
|
+
// door answers a loud 501 when no provider is installed. Ids may be nested
|
|
31
|
+
// paths, so each is `encodePath`-encoded (per-segment, `/` preserved).
|
|
32
|
+
getStorageInfo: (signal) => req('/api/storage', s.storageInfo, { signal }),
|
|
33
|
+
listStorageResources: (signal) => req('/api/storage/resources', s.storageResourceList, { signal }),
|
|
34
|
+
statStorageResource: (id, signal) => req(`/api/storage/resources/${encodePath(id)}/stat`, s.storageResourceStat, { signal }),
|
|
35
|
+
downloadStorageResource: (id, signal) => apiDownload(config, `/api/storage/resources/${encodePath(id)}/content`, { signal }),
|
|
36
|
+
uploadStorageResource: (body) => req('/api/storage/resources', s.storageResourceStored, { method: 'POST', body }),
|
|
37
|
+
deleteStorageResource: (id) => req(`/api/storage/resources/${encodePath(id)}`, s.storageResourceDeleted, {
|
|
38
|
+
method: 'DELETE',
|
|
39
|
+
}),
|
|
40
|
+
deleteStorageDir: (path) => req(`/api/storage/dirs/${encodePath(path)}`, s.storageDirDeleted, { method: 'DELETE' }),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=storage-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-client.js","sourceRoot":"","sources":["../../src/client/storage-client.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAe3D;;;;;;;;;;;;;GAaG;AACH,SAAS,UAAU,CAAC,EAAU;IAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAY;IACxC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO;QACL,wEAAwE;QACxE,gFAAgF;QAChF,2EAA2E;QAC3E,uEAAuE;QACvE,cAAc,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC;QACxF,oBAAoB,EAAE,CAAC,MAAoB,EAAE,EAAE,CAC7C,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC;QAClE,mBAAmB,EAAE,CAAC,EAAU,EAAE,MAAoB,EAAE,EAAE,CACxD,GAAG,CAAC,0BAA0B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC;QACzF,uBAAuB,EAAE,CAAC,EAAU,EAAE,MAAoB,EAAiB,EAAE,CAC3E,WAAW,CAAC,MAAM,EAAE,0BAA0B,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC;QACrF,qBAAqB,EAAE,CAAC,IAAuB,EAAE,EAAE,CACjD,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAClF,qBAAqB,EAAE,CAAC,EAAU,EAAE,EAAE,CACpC,GAAG,CAAC,0BAA0B,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAsB,EAAE;YACxE,MAAM,EAAE,QAAQ;SACjB,CAAC;QACJ,gBAAgB,EAAE,CAAC,IAAY,EAAE,EAAE,CACjC,GAAG,CAAC,qBAAqB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KAC1F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Transport } from './transport';
|
|
2
|
+
export declare function subMcpClient(t: Transport): {
|
|
3
|
+
listSubMcp: (signal?: AbortSignal) => Promise<Record<string, {
|
|
4
|
+
tools: string[];
|
|
5
|
+
transport: string;
|
|
6
|
+
}>>;
|
|
7
|
+
createSubMcp: (slug: string, tools: string[], transport?: string) => Promise<{
|
|
8
|
+
slug: string;
|
|
9
|
+
tools: string[];
|
|
10
|
+
transport: string;
|
|
11
|
+
}>;
|
|
12
|
+
deleteSubMcp: (slug: string) => Promise<{
|
|
13
|
+
slug: string;
|
|
14
|
+
removed: true;
|
|
15
|
+
}>;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=sub-mcp-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-mcp-client.d.ts","sourceRoot":"","sources":["../../src/client/sub-mcp-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS;0BAGf,WAAW;;;;yBAGZ,MAAM,SAAS,MAAM,EAAE,cAAc,MAAM;;;;;yBAE3C,MAAM;;;;EAG9B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Sub-MCP mount registry sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
import { encodeSegment } from '../http';
|
|
4
|
+
export function subMcpClient(t) {
|
|
5
|
+
const { req } = t;
|
|
6
|
+
return {
|
|
7
|
+
listSubMcp: (signal) => req('/api/sub-mcp', s.subMcpList, { signal }),
|
|
8
|
+
// `transport` is optional at the client boundary (the server defaults it to
|
|
9
|
+
// `http`); when omitted, JSON.stringify drops the undefined key from the body.
|
|
10
|
+
createSubMcp: (slug, tools, transport) => req('/api/sub-mcp', s.subMcpCreated, { method: 'POST', body: { slug, tools, transport } }),
|
|
11
|
+
deleteSubMcp: (slug) => req(`/api/sub-mcp/${encodeSegment(slug)}`, s.subMcpRemoved, { method: 'DELETE' }),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=sub-mcp-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-mcp-client.js","sourceRoot":"","sources":["../../src/client/sub-mcp-client.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,MAAM,UAAU,YAAY,CAAC,CAAY;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO;QACL,UAAU,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC;QACnF,4EAA4E;QAC5E,+EAA+E;QAC/E,YAAY,EAAE,CAAC,IAAY,EAAE,KAAe,EAAE,SAAkB,EAAE,EAAE,CAClE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;QAC5F,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAC7B,GAAG,CAAC,gBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Transport } from './transport';
|
|
2
|
+
export declare function systemClient(t: Transport): {
|
|
3
|
+
getHealth: (signal?: AbortSignal) => Promise<string>;
|
|
4
|
+
getSystemKinds: (signal?: AbortSignal) => Promise<{
|
|
5
|
+
kind: string;
|
|
6
|
+
state: "default" | "active" | "off";
|
|
7
|
+
plugin: string | null;
|
|
8
|
+
detail: string;
|
|
9
|
+
}[]>;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=system-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-client.d.ts","sourceRoot":"","sources":["../../src/client/system-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS;yBAGhB,WAAW;8BAIN,WAAW;;;;;;EAGxC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** System health and pluggable-kind status sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
import { apiText } from '../http';
|
|
4
|
+
export function systemClient(t) {
|
|
5
|
+
const { config, req } = t;
|
|
6
|
+
return {
|
|
7
|
+
getHealth: (signal) => apiText(config, '/health', { signal }),
|
|
8
|
+
// The pluggable-kind status table (`GET /api/system/kinds`) — a JSON `{data}`
|
|
9
|
+
// envelope, one row per kind with its active/default/off state.
|
|
10
|
+
getSystemKinds: (signal) => req('/api/system/kinds', s.kindStatusList, { signal }),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=system-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-client.js","sourceRoot":"","sources":["../../src/client/system-client.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,UAAU,YAAY,CAAC,CAAY;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO;QACL,SAAS,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC;QAE3E,8EAA8E;QAC9E,gEAAgE;QAChE,cAAc,EAAE,CAAC,MAAoB,EAAE,EAAE,CACvC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Prompt-template listing, render and mutation sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
import type { Transport } from './transport';
|
|
4
|
+
export declare function templatesClient(t: Transport): {
|
|
5
|
+
listTemplates: (signal?: AbortSignal) => Promise<string[]>;
|
|
6
|
+
getTemplate: (templateId: string) => Promise<{
|
|
7
|
+
template: string;
|
|
8
|
+
schema: Record<string, unknown>;
|
|
9
|
+
}>;
|
|
10
|
+
uploadTemplate: (path: string, content: string) => Promise<{
|
|
11
|
+
path: string;
|
|
12
|
+
uploaded: true;
|
|
13
|
+
}>;
|
|
14
|
+
deleteTemplate: (path: string) => Promise<{
|
|
15
|
+
path: string;
|
|
16
|
+
deleted: true;
|
|
17
|
+
}>;
|
|
18
|
+
deleteTemplateDir: (path: string) => Promise<{
|
|
19
|
+
path: string;
|
|
20
|
+
deleted: true;
|
|
21
|
+
}>;
|
|
22
|
+
renderTemplate: (text: s.TemplatedText) => Promise<{
|
|
23
|
+
rendered: string;
|
|
24
|
+
}>;
|
|
25
|
+
clearTemplatesCache: () => Promise<{
|
|
26
|
+
cleared: true;
|
|
27
|
+
}>;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=templates-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-client.d.ts","sourceRoot":"","sources":["../../src/client/templates-client.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS;6BAGf,WAAW;8BACV,MAAM;;;;2BAET,MAAM,WAAW,MAAM;;;;2BAEvB,MAAM;;;;8BAKH,MAAM;;;;2BAKT,CAAC,CAAC,aAAa;;;;;;EAKzC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Prompt-template listing, render and mutation sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
export function templatesClient(t) {
|
|
4
|
+
const { req } = t;
|
|
5
|
+
return {
|
|
6
|
+
listTemplates: (signal) => req('/api/templates', s.templateNames, { signal }),
|
|
7
|
+
getTemplate: (templateId) => req('/api/template', s.templateDetail, { method: 'POST', body: { template_id: templateId } }),
|
|
8
|
+
uploadTemplate: (path, content) => req('/api/upload-template', s.templateUploaded, { method: 'POST', body: { path, content } }),
|
|
9
|
+
deleteTemplate: (path) => req('/api/delete-template', s.templateDeleted, { method: 'POST', body: { path } }),
|
|
10
|
+
// Delete every stored template under a directory prefix. Unlike the idempotent
|
|
11
|
+
// single delete, the server 404s a prefix matching nothing and 400s the template
|
|
12
|
+
// root; those surface as loud errors, never a faked success.
|
|
13
|
+
deleteTemplateDir: (path) => req('/api/delete-template-dir', s.templateDirDeleted, { method: 'POST', body: { path } }),
|
|
14
|
+
// Render one authored text — inline `content` OR a stored template `id`, plus its
|
|
15
|
+
// render `kwargs` — and parse the rendered output. The value is the shared
|
|
16
|
+
// `TemplatedText` (exactly one source); the route wraps it under `text`.
|
|
17
|
+
renderTemplate: (text) => req('/api/render-template', s.templateRendered, { method: 'POST', body: { text } }),
|
|
18
|
+
clearTemplatesCache: () => req('/api/clear-templates-cache', s.templateCacheCleared, { method: 'POST' }),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=templates-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-client.js","sourceRoot":"","sources":["../../src/client/templates-client.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAGhC,MAAM,UAAU,eAAe,CAAC,CAAY;IAC1C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO;QACL,aAAa,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC;QAC3F,WAAW,EAAE,CAAC,UAAkB,EAAE,EAAE,CAClC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC;QAC/F,cAAc,EAAE,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CAChD,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9F,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAC/B,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QACpF,+EAA+E;QAC/E,iFAAiF;QACjF,6DAA6D;QAC7D,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE,CAClC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3F,kFAAkF;QAClF,2EAA2E;QAC3E,yEAAyE;QACzE,cAAc,EAAE,CAAC,IAAqB,EAAE,EAAE,CACxC,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QACrF,mBAAmB,EAAE,GAAG,EAAE,CACxB,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KAChF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/** Tool extension listing and authoring sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
import type { Transport } from './transport';
|
|
4
|
+
export declare function toolExtensionsClient(t: Transport): {
|
|
5
|
+
listExtensions: (signal?: AbortSignal) => Promise<{
|
|
6
|
+
name: string;
|
|
7
|
+
kind: string;
|
|
8
|
+
}[]>;
|
|
9
|
+
getToolExtensions: (name: string, signal?: AbortSignal) => Promise<{
|
|
10
|
+
combos: (string | {
|
|
11
|
+
name: string;
|
|
12
|
+
config: Record<string, unknown>;
|
|
13
|
+
})[][];
|
|
14
|
+
available: {
|
|
15
|
+
name: string;
|
|
16
|
+
kind: string;
|
|
17
|
+
}[];
|
|
18
|
+
}>;
|
|
19
|
+
setToolExtensions: (name: string, combos: readonly s.PresetExtensionElement[][]) => Promise<{
|
|
20
|
+
status: string;
|
|
21
|
+
env_keys: number;
|
|
22
|
+
fanout: {
|
|
23
|
+
mode: "local-only";
|
|
24
|
+
note: string;
|
|
25
|
+
} | {
|
|
26
|
+
op: string;
|
|
27
|
+
reachable: boolean;
|
|
28
|
+
local_only: boolean;
|
|
29
|
+
results: {
|
|
30
|
+
name: string;
|
|
31
|
+
outcome: "failed" | "resyncing" | "recycling" | "stale" | "applied" | "missing" | "departed" | "timed_out";
|
|
32
|
+
payload: unknown;
|
|
33
|
+
error: string | null;
|
|
34
|
+
detail: string | null;
|
|
35
|
+
}[];
|
|
36
|
+
error: string | null;
|
|
37
|
+
mode: "fleet";
|
|
38
|
+
} | {
|
|
39
|
+
op: string;
|
|
40
|
+
reachable: boolean;
|
|
41
|
+
local_only: boolean;
|
|
42
|
+
results: {
|
|
43
|
+
name: string;
|
|
44
|
+
outcome: "failed" | "resyncing" | "recycling" | "stale" | "applied" | "missing" | "departed" | "timed_out";
|
|
45
|
+
payload: unknown;
|
|
46
|
+
error: string | null;
|
|
47
|
+
detail: string | null;
|
|
48
|
+
}[];
|
|
49
|
+
error: string | null;
|
|
50
|
+
mode: "unreachable";
|
|
51
|
+
};
|
|
52
|
+
}>;
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=tool-extensions-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-extensions-client.d.ts","sourceRoot":"","sources":["../../src/client/tool-extensions-client.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,SAAS;8BAGnB,WAAW;;;;8BAGX,MAAM,WAAW,WAAW;;;;;;;;;;8BAM5B,MAAM,UAAU,SAAS,CAAC,CAAC,sBAAsB,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMlF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Tool extension listing and authoring sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
import { encodeSegment } from '../http';
|
|
4
|
+
export function toolExtensionsClient(t) {
|
|
5
|
+
const { req } = t;
|
|
6
|
+
return {
|
|
7
|
+
listExtensions: (signal) => req('/api/extensions', s.extensions, { signal }),
|
|
8
|
+
// A MANIFEST-provided tool's current combos + the extension catalog. (A preset
|
|
9
|
+
// tool's extensions live on the preset spec, read via `getPreset`.)
|
|
10
|
+
getToolExtensions: (name, signal) => req(`/api/tools/${encodeSegment(name)}/extensions`, s.toolExtensions, { signal }),
|
|
11
|
+
// Author ALL of a MANIFEST tool's combos at once (the full lossless list; `[]`
|
|
12
|
+
// clears). Returns the apply result: the local reload (`status` + `env_keys`) plus
|
|
13
|
+
// the mode-wrapped fleet `fanout` of the reload it broadcast, from which the shared
|
|
14
|
+
// fleet-report handler surfaces any failed propagation.
|
|
15
|
+
setToolExtensions: (name, combos) => req(`/api/tools/${encodeSegment(name)}/extensions`, s.toolExtensionsApplyResult, {
|
|
16
|
+
method: 'POST',
|
|
17
|
+
body: { combos },
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=tool-extensions-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-extensions-client.js","sourceRoot":"","sources":["../../src/client/tool-extensions-client.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,MAAM,UAAU,oBAAoB,CAAC,CAAY;IAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO;QACL,cAAc,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC;QAC1F,+EAA+E;QAC/E,oEAAoE;QACpE,iBAAiB,EAAE,CAAC,IAAY,EAAE,MAAoB,EAAE,EAAE,CACxD,GAAG,CAAC,cAAc,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;QACnF,+EAA+E;QAC/E,mFAAmF;QACnF,oFAAoF;QACpF,wDAAwD;QACxD,iBAAiB,EAAE,CAAC,IAAY,EAAE,MAA6C,EAAE,EAAE,CACjF,GAAG,CAAC,cAAc,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,yBAAyB,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,MAAM,EAAE;SACjB,CAAC;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { Transport } from './transport';
|
|
2
|
+
/**
|
|
3
|
+
* Merge-patch body for a tool's overlay row (PATCH
|
|
4
|
+
* `/api/tool-meta/tools/{tool_name}`). Only the fields PRESENT are written; a
|
|
5
|
+
* present-null clears (`hidden: null` writes the tri-state "defer to the plugin
|
|
6
|
+
* declaration" state, `display_name: null` clears the label, `folder_id: null`
|
|
7
|
+
* unfiles); a present `tags` array replaces the whole set. Absent fields are left
|
|
8
|
+
* untouched — there is no full-row replace, so a display-name+tags editor sends
|
|
9
|
+
* ONLY those two keys with no risk to `folder_id`/`hidden`. At least one field must
|
|
10
|
+
* be present. A blank/whitespace-only `display_name` is rejected by the API (422) —
|
|
11
|
+
* callers map an emptied label to `null`, never `""`. A present `badges` array
|
|
12
|
+
* replaces the whole overlay set (INFORMATIONAL labels, never an enforced gate).
|
|
13
|
+
*/
|
|
14
|
+
export interface ToolMetaPatch {
|
|
15
|
+
readonly display_name?: string | null;
|
|
16
|
+
readonly folder_id?: string | null;
|
|
17
|
+
readonly tags?: readonly string[];
|
|
18
|
+
readonly badges?: readonly string[];
|
|
19
|
+
readonly hidden?: boolean | null;
|
|
20
|
+
}
|
|
21
|
+
export declare function toolMetaClient(t: Transport): {
|
|
22
|
+
listToolMeta: (signal?: AbortSignal) => Promise<{
|
|
23
|
+
folders: {
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
parent_id: string | null;
|
|
27
|
+
}[];
|
|
28
|
+
meta: {
|
|
29
|
+
tool_name: string;
|
|
30
|
+
display_name: string | null;
|
|
31
|
+
folder_id: string | null;
|
|
32
|
+
tags: string[];
|
|
33
|
+
badges: string[];
|
|
34
|
+
hidden: boolean | null;
|
|
35
|
+
}[];
|
|
36
|
+
}>;
|
|
37
|
+
upsertToolMeta: (toolName: string, patch: ToolMetaPatch) => Promise<{
|
|
38
|
+
tool_name: string;
|
|
39
|
+
display_name: string | null;
|
|
40
|
+
folder_id: string | null;
|
|
41
|
+
tags: string[];
|
|
42
|
+
badges: string[];
|
|
43
|
+
hidden: boolean | null;
|
|
44
|
+
}>;
|
|
45
|
+
deleteToolMeta: (toolName: string) => Promise<{
|
|
46
|
+
tool_name: string;
|
|
47
|
+
deleted: true;
|
|
48
|
+
}>;
|
|
49
|
+
createFolder: (name: string, parentId?: string | null) => Promise<{
|
|
50
|
+
id: string;
|
|
51
|
+
name: string;
|
|
52
|
+
parent_id: string | null;
|
|
53
|
+
}>;
|
|
54
|
+
renameFolder: (folderId: string, name: string) => Promise<{
|
|
55
|
+
id: string;
|
|
56
|
+
name: string;
|
|
57
|
+
parent_id: string | null;
|
|
58
|
+
}>;
|
|
59
|
+
moveFolder: (folderId: string, parentId: string | null) => Promise<{
|
|
60
|
+
id: string;
|
|
61
|
+
name: string;
|
|
62
|
+
parent_id: string | null;
|
|
63
|
+
}>;
|
|
64
|
+
deleteFolder: (folderId: string) => Promise<{
|
|
65
|
+
folder_id: string;
|
|
66
|
+
deleted: true;
|
|
67
|
+
}>;
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=tool-meta-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-meta-client.d.ts","sourceRoot":"","sources":["../../src/client/tool-meta-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS;4BAKf,WAAW;;;;;;;;;;;;;;;+BAIR,MAAM,SAAS,aAAa;;;;;;;;+BAK5B,MAAM;;;;yBAIZ,MAAM,aAAY,MAAM,GAAG,IAAI;;;;;6BAK3B,MAAM,QAAQ,MAAM;;;;;2BAMtB,MAAM,YAAY,MAAM,GAAG,IAAI;;;;;6BAK7B,MAAM;;;;EAKlC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** Tool-organization overlay (folders and meta) sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
import { encodeSegment } from '../http';
|
|
4
|
+
export function toolMetaClient(t) {
|
|
5
|
+
const { req } = t;
|
|
6
|
+
return {
|
|
7
|
+
// The folder tree + per-tool overlay rows in one read; the features merge the
|
|
8
|
+
// rows against the live tool list and native tags client-side.
|
|
9
|
+
listToolMeta: (signal) => req('/api/tool-meta', s.toolMetaOverlay, { signal }),
|
|
10
|
+
// Merge-patch a tool's overlay row (create it if absent). `patch` carries ONLY
|
|
11
|
+
// the fields to change — a present-null clears, an absent field is untouched,
|
|
12
|
+
// and a present `tags` array replaces the set.
|
|
13
|
+
upsertToolMeta: (toolName, patch) => req(`/api/tool-meta/tools/${encodeSegment(toolName)}`, s.toolMetaRecord, {
|
|
14
|
+
method: 'PATCH',
|
|
15
|
+
body: patch,
|
|
16
|
+
}),
|
|
17
|
+
deleteToolMeta: (toolName) => req(`/api/tool-meta/tools/${encodeSegment(toolName)}`, s.toolMetaDeleted, {
|
|
18
|
+
method: 'DELETE',
|
|
19
|
+
}),
|
|
20
|
+
createFolder: (name, parentId = null) => req('/api/tool-meta/folders', s.folderRecord, {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
body: { name, parent_id: parentId },
|
|
23
|
+
}),
|
|
24
|
+
renameFolder: (folderId, name) => req(`/api/tool-meta/folders/${encodeSegment(folderId)}/rename`, s.folderRecord, {
|
|
25
|
+
method: 'POST',
|
|
26
|
+
body: { name },
|
|
27
|
+
}),
|
|
28
|
+
// `null` re-parents to the root.
|
|
29
|
+
moveFolder: (folderId, parentId) => req(`/api/tool-meta/folders/${encodeSegment(folderId)}/move`, s.folderRecord, {
|
|
30
|
+
method: 'POST',
|
|
31
|
+
body: { parent_id: parentId },
|
|
32
|
+
}),
|
|
33
|
+
deleteFolder: (folderId) => req(`/api/tool-meta/folders/${encodeSegment(folderId)}`, s.folderDeleted, {
|
|
34
|
+
method: 'DELETE',
|
|
35
|
+
}),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=tool-meta-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-meta-client.js","sourceRoot":"","sources":["../../src/client/tool-meta-client.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAuBxC,MAAM,UAAU,cAAc,CAAC,CAAY;IACzC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO;QACL,8EAA8E;QAC9E,+DAA+D;QAC/D,YAAY,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC;QAC5F,+EAA+E;QAC/E,8EAA8E;QAC9E,+CAA+C;QAC/C,cAAc,EAAE,CAAC,QAAgB,EAAE,KAAoB,EAAE,EAAE,CACzD,GAAG,CAAC,wBAAwB,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,EAAE;YACvE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,KAAK;SACZ,CAAC;QACJ,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE,CACnC,GAAG,CAAC,wBAAwB,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,EAAE;YACxE,MAAM,EAAE,QAAQ;SACjB,CAAC;QACJ,YAAY,EAAE,CAAC,IAAY,EAAE,WAA0B,IAAI,EAAE,EAAE,CAC7D,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,YAAY,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;SACpC,CAAC;QACJ,YAAY,EAAE,CAAC,QAAgB,EAAE,IAAY,EAAE,EAAE,CAC/C,GAAG,CAAC,0BAA0B,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC;QACJ,iCAAiC;QACjC,UAAU,EAAE,CAAC,QAAgB,EAAE,QAAuB,EAAE,EAAE,CACxD,GAAG,CAAC,0BAA0B,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC;QACJ,YAAY,EAAE,CAAC,QAAgB,EAAE,EAAE,CACjC,GAAG,CAAC,0BAA0B,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE;YACxE,MAAM,EAAE,QAAQ;SACjB,CAAC;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type SubmitToolRunArgs } from '../tool-runs';
|
|
2
|
+
import type { Transport } from './transport';
|
|
3
|
+
export interface RunToolArgs {
|
|
4
|
+
readonly tool: string;
|
|
5
|
+
readonly kwargs?: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Identify one app tool for a live-registry op (`POST /api/tools/reload`,
|
|
9
|
+
* `POST /api/tools/remove`): its `kind` (the reloader kind a plugin registered,
|
|
10
|
+
* e.g. `example_tool`) and `name`. `targets` optionally restricts the fleet
|
|
11
|
+
* fan-out to specific workers; omit it to reach every worker.
|
|
12
|
+
*/
|
|
13
|
+
export interface ToolAdminArgs {
|
|
14
|
+
readonly kind: string;
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly targets?: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare function toolsClient(t: Transport): {
|
|
19
|
+
listTools: (signal?: AbortSignal) => Promise<string[]>;
|
|
20
|
+
getToolSchema: (name: string, signal?: AbortSignal) => Promise<{
|
|
21
|
+
input: Record<string, unknown>;
|
|
22
|
+
output: Record<string, unknown> | null;
|
|
23
|
+
description: string | null;
|
|
24
|
+
}>;
|
|
25
|
+
getAllToolSchemas: (signal?: AbortSignal) => Promise<Record<string, {
|
|
26
|
+
input: Record<string, unknown>;
|
|
27
|
+
output: Record<string, unknown> | null;
|
|
28
|
+
description: string | null;
|
|
29
|
+
}>>;
|
|
30
|
+
runTool: (args: RunToolArgs, signal?: AbortSignal) => Promise<unknown>;
|
|
31
|
+
reloadTool: (args: ToolAdminArgs) => Promise<{
|
|
32
|
+
op: string;
|
|
33
|
+
reachable: boolean;
|
|
34
|
+
local_only: boolean;
|
|
35
|
+
results: {
|
|
36
|
+
name: string;
|
|
37
|
+
outcome: "failed" | "resyncing" | "recycling" | "stale" | "applied" | "missing" | "departed" | "timed_out";
|
|
38
|
+
payload: unknown;
|
|
39
|
+
error: string | null;
|
|
40
|
+
detail: string | null;
|
|
41
|
+
}[];
|
|
42
|
+
error: string | null;
|
|
43
|
+
}>;
|
|
44
|
+
removeTool: (args: ToolAdminArgs) => Promise<{
|
|
45
|
+
op: string;
|
|
46
|
+
reachable: boolean;
|
|
47
|
+
local_only: boolean;
|
|
48
|
+
results: {
|
|
49
|
+
name: string;
|
|
50
|
+
outcome: "failed" | "resyncing" | "recycling" | "stale" | "applied" | "missing" | "departed" | "timed_out";
|
|
51
|
+
payload: unknown;
|
|
52
|
+
error: string | null;
|
|
53
|
+
detail: string | null;
|
|
54
|
+
}[];
|
|
55
|
+
error: string | null;
|
|
56
|
+
}>;
|
|
57
|
+
submitToolRun: (args: SubmitToolRunArgs, signal?: AbortSignal) => Promise<{
|
|
58
|
+
run_id: string;
|
|
59
|
+
}>;
|
|
60
|
+
getToolRun: (runId: string, signal?: AbortSignal) => Promise<{
|
|
61
|
+
run_id: string;
|
|
62
|
+
tool_name: string;
|
|
63
|
+
status: "failed" | "running" | "succeeded" | "lost";
|
|
64
|
+
started_at: string;
|
|
65
|
+
finished_at?: string | undefined;
|
|
66
|
+
result?: unknown;
|
|
67
|
+
error?: string | undefined;
|
|
68
|
+
}>;
|
|
69
|
+
listToolRuns: (toolName: string, signal?: AbortSignal) => Promise<{
|
|
70
|
+
run_id: string;
|
|
71
|
+
tool_name: string;
|
|
72
|
+
status: "failed" | "running" | "succeeded" | "lost";
|
|
73
|
+
started_at: string;
|
|
74
|
+
finished_at?: string | undefined;
|
|
75
|
+
}[]>;
|
|
76
|
+
listToolTags: (signal?: AbortSignal) => Promise<{
|
|
77
|
+
name: string;
|
|
78
|
+
tags: string[];
|
|
79
|
+
badges: string[];
|
|
80
|
+
hidden: boolean;
|
|
81
|
+
}[]>;
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=tools-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools-client.d.ts","sourceRoot":"","sources":["../../src/client/tools-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2C,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS;yBAGf,WAAW;0BACV,MAAM,WAAW,WAAW;;;;;iCAErB,WAAW;;;;;oBAExB,WAAW,WAAW,WAAW;uBAe9B,aAAa;;;;;;;;;;;;;uBAKb,aAAa;;;;;;;;;;;;;0BAMV,iBAAiB,WAAW,WAAW;;;wBAEzC,MAAM,WAAW,WAAW;;;;;;;;;6BACvB,MAAM,WAAW,WAAW;;;;;;;4BAG7B,WAAW;;;;;;EAEtC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** Tool catalog, run, live-registry admin and tag sub-client. */
|
|
2
|
+
import * as s from '../schemas';
|
|
3
|
+
import { encodeSegment } from '../http';
|
|
4
|
+
import { getToolRun, listToolRuns, submitToolRun } from '../tool-runs';
|
|
5
|
+
export function toolsClient(t) {
|
|
6
|
+
const { config, req } = t;
|
|
7
|
+
return {
|
|
8
|
+
listTools: (signal) => req('/api/tools', s.toolNames, { signal }),
|
|
9
|
+
getToolSchema: (name, signal) => req(`/api/tools/${encodeSegment(name)}/schema`, s.toolSchema, { signal }),
|
|
10
|
+
getAllToolSchemas: (signal) => req('/api/tools-schema', s.allToolSchemas, { signal }),
|
|
11
|
+
runTool: (args, signal) => req('/api/run-tool', s.runToolResult, {
|
|
12
|
+
method: 'POST',
|
|
13
|
+
// The backend's `/api/run-tool` door reads `{tool_name, arguments}` (the
|
|
14
|
+
// shape `read_tool_call` enforces and the background `/api/tool-runs`
|
|
15
|
+
// submit already sends). The SPA keeps `tool`/`kwargs` as its ergonomic
|
|
16
|
+
// arg names; map them onto the wire fields here.
|
|
17
|
+
body: { tool_name: args.tool, arguments: args.kwargs ?? {} },
|
|
18
|
+
signal,
|
|
19
|
+
}),
|
|
20
|
+
// Re-register or remove one app tool by kind+name, applied on this worker and
|
|
21
|
+
// broadcast to the fleet (all workers, or only `targets`); both return the bare
|
|
22
|
+
// per-worker `fleetResult` the shared fleet-report handler renders. Both are
|
|
23
|
+
// fenced + destructive server-side, so a refusal surfaces as a loud error.
|
|
24
|
+
reloadTool: (args) => req('/api/tools/reload', s.fleetResult, {
|
|
25
|
+
method: 'POST',
|
|
26
|
+
body: { kind: args.kind, name: args.name, targets: args.targets ?? null },
|
|
27
|
+
}),
|
|
28
|
+
removeTool: (args) => req('/api/tools/remove', s.fleetResult, {
|
|
29
|
+
method: 'POST',
|
|
30
|
+
body: { kind: args.kind, name: args.name, targets: args.targets ?? null },
|
|
31
|
+
}),
|
|
32
|
+
submitToolRun: (args, signal) => submitToolRun(config, args, signal),
|
|
33
|
+
getToolRun: (runId, signal) => getToolRun(config, runId, signal),
|
|
34
|
+
listToolRuns: (toolName, signal) => listToolRuns(config, toolName, signal),
|
|
35
|
+
listToolTags: (signal) => req('/api/tools/tags', s.toolTags, { signal }),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=tools-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools-client.js","sourceRoot":"","sources":["../../src/client/tools-client.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAA0B,MAAM,cAAc,CAAC;AAoB/F,MAAM,UAAU,WAAW,CAAC,CAAY;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO;QACL,SAAS,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC;QAC/E,aAAa,EAAE,CAAC,IAAY,EAAE,MAAoB,EAAE,EAAE,CACpD,GAAG,CAAC,cAAc,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC;QAC3E,iBAAiB,EAAE,CAAC,MAAoB,EAAE,EAAE,CAC1C,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;QACxD,OAAO,EAAE,CAAC,IAAiB,EAAE,MAAoB,EAAE,EAAE,CACnD,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,yEAAyE;YACzE,sEAAsE;YACtE,wEAAwE;YACxE,iDAAiD;YACjD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE;YAC5D,MAAM;SACP,CAAC;QAEJ,8EAA8E;QAC9E,gFAAgF;QAChF,6EAA6E;QAC7E,2EAA2E;QAC3E,UAAU,EAAE,CAAC,IAAmB,EAAE,EAAE,CAClC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,WAAW,EAAE;YACtC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;SAC1E,CAAC;QACJ,UAAU,EAAE,CAAC,IAAmB,EAAE,EAAE,CAClC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,WAAW,EAAE;YACtC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;SAC1E,CAAC;QAEJ,aAAa,EAAE,CAAC,IAAuB,EAAE,MAAoB,EAAE,EAAE,CAC/D,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;QACrC,UAAU,EAAE,CAAC,KAAa,EAAE,MAAoB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QACtF,YAAY,EAAE,CAAC,QAAgB,EAAE,MAAoB,EAAE,EAAE,CACvD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;QAExC,YAAY,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC;KACvF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** The shared transport seam every sub-client method flows through. */
|
|
2
|
+
import type { ApiConfig } from '../http';
|
|
3
|
+
import { apiRequest } from '../http';
|
|
4
|
+
/**
|
|
5
|
+
* Build the per-request transport for one client: the bound `config` and the
|
|
6
|
+
* `req` chokepoint that validates every response against its schema.
|
|
7
|
+
*/
|
|
8
|
+
export declare function makeTransport(config: ApiConfig): {
|
|
9
|
+
config: ApiConfig;
|
|
10
|
+
req: <S extends Parameters<typeof apiRequest>[2]>(path: string, schema: S, options?: Parameters<typeof apiRequest>[3]) => Promise<import("zod").infer<S>>;
|
|
11
|
+
};
|
|
12
|
+
export type Transport = ReturnType<typeof makeTransport>;
|
|
13
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS;;UAChC,CAAC,SAAS,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,QAC/C,MAAM,UACJ,CAAC,YACC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;EAG7C;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { apiRequest } from '../http';
|
|
2
|
+
/**
|
|
3
|
+
* Build the per-request transport for one client: the bound `config` and the
|
|
4
|
+
* `req` chokepoint that validates every response against its schema.
|
|
5
|
+
*/
|
|
6
|
+
export function makeTransport(config) {
|
|
7
|
+
const req = (path, schema, options) => apiRequest(config, path, schema, options);
|
|
8
|
+
return { config, req };
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,MAAM,GAAG,GAAG,CACV,IAAY,EACZ,MAAS,EACT,OAA0C,EAC1C,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Transport } from './transport';
|
|
2
|
+
/**
|
|
3
|
+
* Body for minting a trigger link (POST `/api/hooks/trigger-links`). `ttl_seconds`
|
|
4
|
+
* is REQUIRED and nullable — a positive int is a timed link, `null` is a permanent
|
|
5
|
+
* link (`0`/negative is a loud server 400); it is always sent EXPLICITLY (a dropped
|
|
6
|
+
* key 400s server-side). `name` is optional (the server generates one when omitted);
|
|
7
|
+
* `tool_kwargs` is the optional per-link params merged last into every fire.
|
|
8
|
+
*/
|
|
9
|
+
export interface TriggerLinkCreateBody {
|
|
10
|
+
readonly topic: string;
|
|
11
|
+
readonly name?: string;
|
|
12
|
+
readonly execution_key: string;
|
|
13
|
+
readonly require_api_key: boolean;
|
|
14
|
+
readonly ttl_seconds: number | null;
|
|
15
|
+
readonly tool_kwargs?: Record<string, unknown> | null;
|
|
16
|
+
}
|
|
17
|
+
export declare function triggerLinksClient(t: Transport): {
|
|
18
|
+
createTriggerLink: (body: TriggerLinkCreateBody) => Promise<{
|
|
19
|
+
name: string;
|
|
20
|
+
trigger_path: string;
|
|
21
|
+
token: string;
|
|
22
|
+
topic: string;
|
|
23
|
+
expires_at: string | null;
|
|
24
|
+
}>;
|
|
25
|
+
listTriggerLinks: (signal?: AbortSignal) => Promise<{
|
|
26
|
+
items: {
|
|
27
|
+
name: string;
|
|
28
|
+
topic: string;
|
|
29
|
+
execution_key: string;
|
|
30
|
+
trigger_auth: "public" | "verifier" | "token" | "token+api_key" | "out-of-service";
|
|
31
|
+
tool_kwargs: Record<string, unknown> | null;
|
|
32
|
+
created_by: string | null;
|
|
33
|
+
created_at: string;
|
|
34
|
+
expires_at: string | null;
|
|
35
|
+
token_hash_prefix: string;
|
|
36
|
+
}[];
|
|
37
|
+
total: number;
|
|
38
|
+
}>;
|
|
39
|
+
deleteTriggerLink: (name: string) => Promise<{
|
|
40
|
+
removed: boolean;
|
|
41
|
+
name: string;
|
|
42
|
+
}>;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=trigger-links-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-links-client.d.ts","sourceRoot":"","sources":["../../src/client/trigger-links-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS;8BAOjB,qBAAqB;;;;;;;gCAanB,WAAW;;;;;;;;;;;;;;8BAGb,MAAM;;;;EAKnC"}
|