apps 0.0.1-beta.35 → 0.0.1-beta.36
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/framework-reference.json +1 -1
- package/js/{chunk-FFTALB6S.js → chunk-4U2VUDET.js} +1 -1
- package/js/{chunk-I7CNZ4CM.js → chunk-556EWA6P.js} +2 -1
- package/js/{chunk-IA3VSGR4.js → chunk-A2NN45C7.js} +3 -3
- package/js/{chunk-VBVOPW4U.js → chunk-BKJDZYK7.js} +1 -1
- package/js/{chunk-KBXQOJYW.js → chunk-CZLCA2O4.js} +2 -2
- package/js/{chunk-UWOIEJ56.js → chunk-UBAKWXAJ.js} +8 -17
- package/js/{chunk-LUROQKFP.js → chunk-WAGGHNWH.js} +16 -8
- package/js/{chunk-5CQMUXW7.js → chunk-WMVTBHGK.js} +2 -2
- package/js/{chunk-5KNA2Z5I.js → chunk-XEXUHXC3.js} +284 -164
- package/js/{chunk-YYK6GEMC.js → chunk-ZQWDOHEO.js} +24 -17
- package/js/contracts.js +6 -4
- package/js/effect.js +7 -7
- package/js/graphql.js +8 -8
- package/js/host.js +7 -7
- package/js/index.js +4 -4
- package/js/mcp/effect.js +9 -9
- package/js/mcp/stdio.js +9 -9
- package/js/mcp.js +10 -10
- package/js/openapi.js +6 -6
- package/js/skills/effect.js +2 -2
- package/js/skills.js +44 -31
- package/package.json +1 -1
- package/runtime.json +1 -1
- package/types/apps/src/contracts/host.d.ts +10 -6
- package/types/apps/src/contracts/mcp.d.ts +6 -1
- package/types/apps/src/contracts/openapi.d.ts +1 -1
- package/types/apps/src/contracts/protocol-version.d.ts +2 -2
- package/types/apps/src/contracts/protocols/1.d.ts +8 -1
- package/types/apps/src/contracts/protocols/2.d.ts +1 -1
- package/types/apps/src/contracts/protocols/3.d.ts +1 -2
- package/types/apps/src/contracts/protocols/4.d.ts +1 -2
- package/types/apps/src/contracts/protocols/5.d.ts +3 -3
- package/types/apps/src/contracts/protocols/6.d.ts +3 -3
- package/types/apps/src/contracts/protocols/7.d.ts +3 -3
- package/types/apps/src/contracts/protocols/8.d.ts +13 -2
- package/types/apps/src/contracts/protocols/9.d.ts +1106 -0
- package/types/apps/src/contracts/skills.d.ts +5 -0
- package/types/apps/src/implementation/failure-detail.d.ts +4 -3
- package/types/apps/src/implementation/mcp-client.d.ts +1 -1
- package/types/apps/src/implementation/mcp.d.ts +1 -1
- package/types/apps/src/implementation/openapi-compile.d.ts +1 -1
- package/types/apps/src/implementation/router-catalog.d.ts +2 -3
- package/types/apps/src/implementation/skills.d.ts +8 -8
- package/types/apps/src/skills.d.ts +2 -1
|
@@ -79,11 +79,16 @@ declare const SkillLoadFailed_base: Schema.Class<SkillLoadFailed, Schema.TaggedS
|
|
|
79
79
|
readonly reason: Schema.Literals<readonly ["source", "request", "rate_limited", "document", "limit", "changed", "encoding"]>;
|
|
80
80
|
readonly message: Schema.optional<Schema.String>;
|
|
81
81
|
readonly status: Schema.optional<Schema.Int>;
|
|
82
|
+
readonly missing: Schema.optional<Schema.Literals<readonly ["repository", "ref"]>>;
|
|
82
83
|
}>, import("effect/Cause").YieldableError>;
|
|
83
84
|
/**
|
|
84
85
|
* A skill loader failure shown to people. `message` is the explanation they read; write it for
|
|
85
86
|
* them and never include URLs, tokens or response bodies. `reason` selects the title and whether
|
|
86
87
|
* a retry can help. Custom loaders throw this error to get the same presentation as built-ins.
|
|
88
|
+
* With `source`, `missing` names what the service's answer points to as missing: the `repository`,
|
|
89
|
+
* or the branch or tag (`ref`). It may be missing, or not readable with the request's credentials.
|
|
90
|
+
* Without it, the source's settings or the paths it lists are not valid.
|
|
91
|
+
* These fields choose the explanation; they never show that the failure lies outside Executor.
|
|
87
92
|
*/
|
|
88
93
|
export declare class SkillLoadFailed extends SkillLoadFailed_base {
|
|
89
94
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Option, Redacted } from "effect";
|
|
2
|
-
import type
|
|
3
|
-
import { McpError } from "../contracts/mcp.js";
|
|
2
|
+
import { McpError as HostMcpError, SkillLoadFailed as HostSkillLoadFailed, type ResolvedAccounts } from "../contracts/host.js";
|
|
4
3
|
import type { ProviderError } from "../contracts/provider-error.js";
|
|
5
4
|
import { type FailureFields, type FailurePhase, type UpstreamError } from "../contracts/failure.js";
|
|
6
5
|
/** Fields of `FailureDetail` as constructor input. */
|
|
@@ -34,7 +33,9 @@ export declare const leavingProviderError: (error: ProviderError, secrets: reado
|
|
|
34
33
|
* Rebuild an MCP failure's allowlisted fields, with account secrets replaced in the server's
|
|
35
34
|
* error. Absent fields have no key, as catalogs cross the boundary as JSON values.
|
|
36
35
|
*/
|
|
37
|
-
export declare const parseMcpError: (error: unknown, secrets: readonly string[]) => Option.Option<
|
|
36
|
+
export declare const parseMcpError: (error: unknown, secrets: readonly string[]) => Option.Option<HostMcpError>;
|
|
37
|
+
/** Rebuild only the allowlisted skill loader fields from an author-visible rejection. */
|
|
38
|
+
export declare const parseSkillLoadFailed: (error: unknown) => Option.Option<HostSkillLoadFailed>;
|
|
38
39
|
/** `Name: message` for any thrown value, before redaction. */
|
|
39
40
|
export declare const describeFailure: (error: unknown) => string;
|
|
40
41
|
/**
|
|
@@ -46,8 +46,8 @@ export declare function mcpClient(withClient: WithMcpClient, timeoutMs: number,
|
|
|
46
46
|
readonly description?: string;
|
|
47
47
|
readonly version?: string;
|
|
48
48
|
readonly name?: string;
|
|
49
|
-
readonly title?: string;
|
|
50
49
|
readonly instructions?: string;
|
|
50
|
+
readonly title?: string;
|
|
51
51
|
readonly icons?: readonly {
|
|
52
52
|
readonly src: string;
|
|
53
53
|
readonly mimeType?: string;
|
|
@@ -30,8 +30,8 @@ export declare const mcpClientEffect: (input: McpToolsOptions, changed?: Effect.
|
|
|
30
30
|
readonly description?: string;
|
|
31
31
|
readonly version?: string;
|
|
32
32
|
readonly name?: string;
|
|
33
|
-
readonly title?: string;
|
|
34
33
|
readonly instructions?: string;
|
|
34
|
+
readonly title?: string;
|
|
35
35
|
readonly icons?: readonly {
|
|
36
36
|
readonly src: string;
|
|
37
37
|
readonly mimeType?: string;
|
|
@@ -68,7 +68,7 @@ export declare const compileOpenApiDocument: (entry: OpenApiImport, inputDocumen
|
|
|
68
68
|
readonly input: {
|
|
69
69
|
readonly [x: string]: Schema.Json;
|
|
70
70
|
};
|
|
71
|
-
readonly method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "
|
|
71
|
+
readonly method: "HEAD" | "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "QUERY";
|
|
72
72
|
readonly securitySchemes: {
|
|
73
73
|
readonly [x: string]: {
|
|
74
74
|
readonly [x: string]: Schema.Json;
|
|
@@ -6,7 +6,6 @@ import { Effect, Schema } from "effect";
|
|
|
6
6
|
import { HostDeclarationInvalid, HostEvaluationFailed, type HostRouterError } from "../contracts/host.js";
|
|
7
7
|
import type { AppOperation } from "../contracts/operations.js";
|
|
8
8
|
import type { AppRouter, DynamicRouter, RouterMeta } from "../contracts/router.js";
|
|
9
|
-
import { SkillLoadFailed } from "../contracts/skills.js";
|
|
10
9
|
import type { OperationSchedule } from "../contracts/schedules.js";
|
|
11
10
|
/**
|
|
12
11
|
* Keep only a failure's safe fields. Anything unrecognized becomes an evaluation failure with the
|
|
@@ -189,7 +188,7 @@ export declare const readCatalog: (root: AppRouter | DynamicRouter | undefined,
|
|
|
189
188
|
routers: {
|
|
190
189
|
readonly path: string;
|
|
191
190
|
readonly description?: string;
|
|
192
|
-
readonly error?: import("../index.js").ProviderError |
|
|
191
|
+
readonly error?: import("../index.js").ProviderError | HostDeclarationInvalid | HostEvaluationFailed | import("../contracts/host.js").McpError | import("../contracts/host.js").SkillLoadFailed;
|
|
193
192
|
readonly title?: string;
|
|
194
193
|
readonly tags?: {
|
|
195
194
|
readonly [x: string]: string;
|
|
@@ -202,7 +201,7 @@ export declare const readCatalog: (root: AppRouter | DynamicRouter | undefined,
|
|
|
202
201
|
}[];
|
|
203
202
|
readonly skill?: string;
|
|
204
203
|
}[];
|
|
205
|
-
}, import("../index.js").ProviderError |
|
|
204
|
+
}, import("../index.js").ProviderError | HostDeclarationInvalid | HostEvaluationFailed | import("../contracts/host.js").McpError | import("../contracts/host.js").SkillLoadFailed, never>;
|
|
206
205
|
/**
|
|
207
206
|
* One skill for each router with instructions. Skills and tools fail independently: a dynamic
|
|
208
207
|
* router whose metadata cannot be read, including the root, contributes no skill and does not
|
|
@@ -4,21 +4,21 @@ import { NetworkRefused } from "../contracts/network.js";
|
|
|
4
4
|
import { ProviderError } from "../contracts/provider-error.js";
|
|
5
5
|
import { AppSkills, SkillLoadFailed, type GitHubSkillsOptions, type WellKnownSkillsOptions, type SkillTransport } from "../contracts/skills.js";
|
|
6
6
|
/** Give every failure without a message one that names the service. */
|
|
7
|
-
export declare const withService: (service: string | undefined) => <A, R>(effect: Effect.Effect<A, SkillLoadFailed, R>) => Effect.Effect<A, SkillLoadFailed, R>;
|
|
7
|
+
export declare const withService: (service: string | undefined) => <A, R>(effect: Effect.Effect<A, SkillLoadFailed | NetworkRefused, R>) => Effect.Effect<A, NetworkRefused | SkillLoadFailed, R>;
|
|
8
8
|
interface ReadRequest {
|
|
9
9
|
readonly headers?: Readonly<Record<string, string>>;
|
|
10
|
-
/** Describe a refusal by Executor's app network; defaults to the refusal
|
|
11
|
-
readonly refused?: (refused: NetworkRefused) => SkillLoadFailed;
|
|
10
|
+
/** Describe a refusal by Executor's app network; defaults to the refusal itself. */
|
|
11
|
+
readonly refused?: (refused: NetworkRefused) => SkillLoadFailed | NetworkRefused;
|
|
12
12
|
}
|
|
13
13
|
/** One loader invocation owns its byte budget and all of its network requests. */
|
|
14
14
|
export declare const reader: (transport: SkillTransport) => Effect.Effect<{
|
|
15
15
|
fetchBytes: (url: string, request?: ReadRequest & {
|
|
16
16
|
readonly body?: Uint8Array;
|
|
17
|
-
}) => Effect.Effect<Uint8Array<ArrayBuffer>, SkillLoadFailed, never>;
|
|
18
|
-
read: (url: string, request?: ReadRequest) => Effect.Effect<string, SkillLoadFailed, never>;
|
|
19
|
-
json: (url: string) => Effect.Effect<unknown, SkillLoadFailed, never>;
|
|
17
|
+
}) => Effect.Effect<Uint8Array<ArrayBuffer>, NetworkRefused | SkillLoadFailed, never>;
|
|
18
|
+
read: (url: string, request?: ReadRequest) => Effect.Effect<string, NetworkRefused | SkillLoadFailed, never>;
|
|
19
|
+
json: (url: string) => Effect.Effect<unknown, NetworkRefused | SkillLoadFailed, never>;
|
|
20
20
|
}, never, never>;
|
|
21
|
-
export declare const githubSkillsEffect: (options: GitHubSkillsOptions) => Effect.Effect<typeof AppSkills.Type, SkillLoadFailed | ProviderError>;
|
|
21
|
+
export declare const githubSkillsEffect: (options: GitHubSkillsOptions) => Effect.Effect<typeof AppSkills.Type, SkillLoadFailed | NetworkRefused | ProviderError>;
|
|
22
22
|
/** Fetch all indexed files and reject a publication whose index changes during the read. */
|
|
23
23
|
export declare const wellKnownSkillsEffect: (options: WellKnownSkillsOptions) => Effect.Effect<readonly {
|
|
24
24
|
readonly description: string;
|
|
@@ -33,5 +33,5 @@ export declare const wellKnownSkillsEffect: (options: WellKnownSkillsOptions) =>
|
|
|
33
33
|
readonly [x: string]: string;
|
|
34
34
|
};
|
|
35
35
|
readonly "allowed-tools"?: string;
|
|
36
|
-
}[], SkillLoadFailed, never>;
|
|
36
|
+
}[], NetworkRefused | SkillLoadFailed, never>;
|
|
37
37
|
export {};
|
|
@@ -66,7 +66,8 @@ export declare const folderSkills: (options: FolderSkillsOptions) => Promise<rea
|
|
|
66
66
|
}[]>;
|
|
67
67
|
/**
|
|
68
68
|
* Read files for a custom remote skill loader, such as one for GitLab. Reads share one byte
|
|
69
|
-
* budget and reject with the same safe SkillLoadFailed errors as githubSkills, naming `service
|
|
69
|
+
* budget and reject with the same safe SkillLoadFailed errors as githubSkills, naming `service`,
|
|
70
|
+
* or with `NetworkRefused` when Executor's network refuses a request.
|
|
70
71
|
*/
|
|
71
72
|
export declare const skillReader: (options: SkillReaderOptions) => {
|
|
72
73
|
/** Fetch one UTF-8 text file. */
|