apps 0.0.1-beta.1 → 0.0.1-beta.11
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/README.md +65 -43
- package/framework-reference.json +1 -1
- package/js/browser-XIPJGLH2.js +65 -0
- package/js/{chunk-SATWJKN6.js → chunk-27F7W2LG.js} +1 -1
- package/js/{chunk-HDJH3RPR.js → chunk-57RKNWL2.js} +2 -2
- package/js/{chunk-2HHMABB6.js → chunk-5T57N25Q.js} +61 -13
- package/js/{chunk-FW5HBOIK.js → chunk-CDL5PM2Q.js} +307 -169
- package/js/{chunk-X7SFGU4Q.js → chunk-EFAPIRVB.js} +28 -9
- package/js/chunk-GPFVWWDZ.js +209 -0
- package/js/{chunk-OHRT55C4.js → chunk-IJX4CYZO.js} +3 -6
- package/js/{chunk-ZTFQHGEB.js → chunk-IPI4MFSN.js} +3 -5
- package/js/{chunk-YEJOQEII.js → chunk-JU7VHODU.js} +1 -1
- package/js/{chunk-IHQ4ML7K.js → chunk-KRSCJDTW.js} +586 -111
- package/js/chunk-KUMBKVJD.js +39 -0
- package/js/{chunk-EVJUVWN2.js → chunk-M3B3DE4K.js} +2 -2
- package/js/{chunk-ZJWDMTE3.js → chunk-MKWZPDR6.js} +3 -3
- package/js/{chunk-BMOIAIVR.js → chunk-N7YDVXYJ.js} +49 -1
- package/js/chunk-NKLWZJLE.js +172 -0
- package/js/{chunk-ZCAMUXSG.js → chunk-ODEIDRGW.js} +3 -4
- package/js/{chunk-M6ZRRIBI.js → chunk-PJJ24GU7.js} +1 -1
- package/js/{chunk-FZJOYIZO.js → chunk-PZB6T6KU.js} +1 -1
- package/js/chunk-R3EV5FTO.js +97 -0
- package/js/{chunk-KOXMLKTM.js → chunk-RELFXUOO.js} +308 -316
- package/js/{chunk-6YBRWRK3.js → chunk-RFVIONFX.js} +43 -14
- package/js/{chunk-RBAC33PQ.js → chunk-TYVDBQSI.js} +58 -83
- package/js/{chunk-QKHR7BMF.js → chunk-UK573G7W.js} +1 -1
- package/js/{chunk-NCYXZN2G.js → chunk-UVL56Z6E.js} +390 -23
- package/js/{chunk-4LPG6RCH.js → chunk-VFZKSM3T.js} +5 -25
- package/js/{chunk-6IIO4NPI.js → chunk-WVVV4TX2.js} +21 -9
- package/js/{chunk-G7IE6BKC.js → chunk-YBRC463S.js} +8 -8
- package/js/chunk-Z2QY3YTF.js +507 -0
- package/js/{chunk-PLCMJREA.js → chunk-ZQINWV4W.js} +60 -20
- package/js/client.js +10 -26
- package/js/contracts.js +70 -15
- package/js/effect.js +19 -19
- package/js/es-APDZKREY.js +40968 -0
- package/js/graphql.js +34 -39
- package/js/host.js +23 -23
- package/js/index.js +199 -195
- package/js/mcp/effect.js +21 -21
- package/js/mcp/stdio.js +25 -25
- package/js/mcp.js +60 -44
- package/js/openapi.js +826 -41682
- package/js/react.js +3 -3
- package/js/skills/effect.js +3 -4
- package/js/skills.js +53 -17
- package/js/storage/facet.js +4 -4
- package/js/ui/auth/contracts.js +8 -9
- package/js/ui/auth.js +16 -14
- package/js/ui/contracts.js +4 -4
- package/js/ui/serving.js +9 -8
- package/package.json +1 -1
- package/runtime.json +1 -1
- package/types/app-cache/src/contracts/cache.d.ts +42 -2
- package/types/app-cache/src/index.d.ts +59 -1
- package/types/app-data/src/contracts/database.d.ts +33 -6
- package/types/app-data/src/implementation/schema.d.ts +2 -17
- package/types/apps/src/contracts/app.d.ts +7 -6
- package/types/apps/src/contracts/cache.d.ts +4 -1
- package/types/apps/src/contracts/failure.d.ts +25 -0
- package/types/apps/src/contracts/host.d.ts +34 -679
- package/types/apps/src/contracts/mcp.d.ts +16 -0
- package/types/apps/src/contracts/openapi.d.ts +11 -1
- package/types/apps/src/contracts/operations.d.ts +0 -5
- package/types/apps/src/contracts/protocol-version.d.ts +6 -0
- package/types/apps/src/contracts/protocols/1.d.ts +1589 -0
- package/types/apps/src/contracts/protocols/2.d.ts +668 -0
- package/types/apps/src/contracts/protocols/3.d.ts +676 -0
- package/types/apps/src/contracts/protocols/4.d.ts +1229 -0
- package/types/apps/src/contracts/protocols/5.d.ts +1090 -0
- package/types/apps/src/contracts/provider.d.ts +56 -5
- package/types/apps/src/contracts/router.d.ts +59 -0
- package/types/apps/src/contracts/skills.d.ts +17 -8
- package/types/apps/src/contracts/storage.d.ts +3 -3
- package/types/apps/src/contracts/ui-auth.d.ts +6 -14
- package/types/apps/src/contracts/workflows.d.ts +34 -3
- package/types/apps/src/graphql.d.ts +1 -3
- package/types/apps/src/implementation/account-router.d.ts +12 -0
- package/types/apps/src/implementation/app.d.ts +5 -4
- package/types/apps/src/implementation/cache.d.ts +3 -1
- package/types/apps/src/implementation/catalog-cache.d.ts +9 -2
- package/types/apps/src/implementation/elicitation.d.ts +1 -1
- package/types/apps/src/implementation/failure-detail.d.ts +25 -0
- package/types/apps/src/implementation/graphql-catalog.d.ts +1 -4
- package/types/apps/src/implementation/mcp-catalog.d.ts +1 -4
- package/types/apps/src/implementation/mcp-client.d.ts +35 -19
- package/types/apps/src/implementation/mcp.d.ts +35 -19
- package/types/apps/src/implementation/openapi-compile.d.ts +3 -2
- package/types/apps/src/implementation/openapi-document.d.ts +0 -2
- package/types/apps/src/implementation/openapi-names.d.ts +18 -0
- package/types/apps/src/implementation/openapi-request.d.ts +0 -1
- package/types/apps/src/implementation/openapi-source.d.ts +7 -7
- package/types/apps/src/implementation/operations.d.ts +26 -3
- package/types/apps/src/implementation/protocol-operations.d.ts +3 -4
- package/types/apps/src/implementation/provider.d.ts +9 -4
- package/types/apps/src/implementation/router-catalog.d.ts +225 -0
- package/types/apps/src/implementation/router.d.ts +59 -0
- package/types/apps/src/implementation/schema.d.ts +5 -6
- package/types/apps/src/implementation/storage.d.ts +5 -3
- package/types/apps/src/implementation/swagger-client.d.ts +28 -0
- package/types/apps/src/implementation/ui-auth.d.ts +11 -5
- package/types/apps/src/implementation/ui-serving.d.ts +4 -2
- package/types/apps/src/implementation/webhooks.d.ts +1 -1
- package/types/apps/src/implementation/workflow-context.d.ts +11 -3
- package/types/apps/src/index.d.ts +21 -6
- package/types/apps/src/mcp-stdio.d.ts +2 -5
- package/types/apps/src/mcp.d.ts +5 -4
- package/types/apps/src/openapi.d.ts +6 -6
- package/types/apps/src/skills.d.ts +6 -3
- package/types/apps/src/ui-auth.d.ts +2 -2
- package/types/telemetry/src/browser-operations.d.ts +5 -2
- package/js/chunk-PZ36XMXW.js +0 -93
- package/js/chunk-SWPD52J7.js +0 -35
- package/js/chunk-TE4KO4HI.js +0 -47
- package/js/chunk-W7D7WVSY.js +0 -18
- package/types/apps/src/contracts/dynamic-tools.d.ts +0 -13
- package/types/apps/src/implementation/account-operations.d.ts +0 -151
- package/types/apps/src/implementation/dynamic-tools.d.ts +0 -8
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
prepareElicitation
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RELFXUOO.js";
|
|
4
4
|
import {
|
|
5
5
|
fromPromise
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GPFVWWDZ.js";
|
|
7
7
|
import {
|
|
8
8
|
ElicitationFailed,
|
|
9
9
|
McpError,
|
|
10
|
+
McpServerHeader,
|
|
10
11
|
McpToolMetadata,
|
|
11
12
|
McpToolResult,
|
|
13
|
+
RouterIcon,
|
|
12
14
|
ToolResultObservation,
|
|
13
15
|
defaultElicitationLimits,
|
|
14
16
|
defaultMcpClientLimits,
|
|
15
17
|
mcpSdkTimerCeilingMs
|
|
16
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-KRSCJDTW.js";
|
|
17
19
|
import {
|
|
18
20
|
compileJsonSchemaDecoder,
|
|
19
21
|
jsonSchemaDecoder
|
|
20
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-5T57N25Q.js";
|
|
21
23
|
import {
|
|
22
24
|
JsonObject
|
|
23
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-27F7W2LG.js";
|
|
24
26
|
import {
|
|
25
27
|
Clock_exports,
|
|
26
28
|
Deferred_exports,
|
|
@@ -29,7 +31,7 @@ import {
|
|
|
29
31
|
Option_exports,
|
|
30
32
|
Queue_exports,
|
|
31
33
|
Schema_exports
|
|
32
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-CDL5PM2Q.js";
|
|
33
35
|
|
|
34
36
|
// src/implementation/mcp-tools.ts
|
|
35
37
|
var adaptMcpTool = (client, tool) => Effect_exports.gen(function* () {
|
|
@@ -70,7 +72,7 @@ var adaptMcpTool = (client, tool) => Effect_exports.gen(function* () {
|
|
|
70
72
|
return adapted;
|
|
71
73
|
});
|
|
72
74
|
var adaptMcpTools = (client) => Effect_exports.gen(function* () {
|
|
73
|
-
const metadata = yield* client.list;
|
|
75
|
+
const { tools: metadata } = yield* client.list;
|
|
74
76
|
const entries = yield* Effect_exports.forEach(
|
|
75
77
|
metadata,
|
|
76
78
|
(tool) => adaptMcpTool(client, tool).pipe(Effect_exports.map((adapted) => [tool.name, adapted]))
|
|
@@ -233,7 +235,7 @@ function mcpClient(withClient, timeoutMs, failure) {
|
|
|
233
235
|
do {
|
|
234
236
|
const page = yield* Effect_exports.tryPromise({
|
|
235
237
|
// This session only reads metadata. listTools() also eagerly compiles
|
|
236
|
-
// every output validator;
|
|
238
|
+
// every output validator; mcpRouter validates the selected tool on call.
|
|
237
239
|
try: (signal) => client.request(
|
|
238
240
|
{ method: "tools/list", params: cursor === void 0 ? {} : { cursor } },
|
|
239
241
|
ListToolsResultSchema,
|
|
@@ -263,7 +265,24 @@ function mcpClient(withClient, timeoutMs, failure) {
|
|
|
263
265
|
cursors.add(cursor);
|
|
264
266
|
}
|
|
265
267
|
} while (cursor !== void 0);
|
|
266
|
-
|
|
268
|
+
const info = client.getServerVersion();
|
|
269
|
+
const instructions = client.getInstructions();
|
|
270
|
+
const icons = info?.icons?.flatMap(
|
|
271
|
+
(icon) => Option_exports.toArray(Schema_exports.decodeUnknownOption(RouterIcon)(icon))
|
|
272
|
+
);
|
|
273
|
+
const server = Schema_exports.decodeUnknownOption(McpServerHeader)({
|
|
274
|
+
...info?.name === void 0 ? {} : { name: info.name },
|
|
275
|
+
...info?.title === void 0 ? {} : { title: info.title },
|
|
276
|
+
...info?.version === void 0 ? {} : { version: info.version },
|
|
277
|
+
...info?.description === void 0 ? {} : { description: info.description },
|
|
278
|
+
...info?.websiteUrl === void 0 ? {} : { websiteUrl: info.websiteUrl },
|
|
279
|
+
...icons === void 0 ? {} : { icons },
|
|
280
|
+
...instructions === void 0 ? {} : { instructions }
|
|
281
|
+
});
|
|
282
|
+
return {
|
|
283
|
+
tools: [...tools.values()],
|
|
284
|
+
server: Option_exports.getOrElse(server, () => ({}))
|
|
285
|
+
};
|
|
267
286
|
})
|
|
268
287
|
).pipe(Effect_exports.withSpan("provider.mcp.discover"));
|
|
269
288
|
const call = (name, input, context) => withClient("call", (client) => mcpCall(client, name, input, context, timeoutMs, failure)).pipe(
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HostedTool,
|
|
3
|
+
RouterKey,
|
|
4
|
+
RouterMeta,
|
|
5
|
+
reservedRouterKeys
|
|
6
|
+
} from "./chunk-KRSCJDTW.js";
|
|
7
|
+
import {
|
|
8
|
+
decoderOf
|
|
9
|
+
} from "./chunk-5T57N25Q.js";
|
|
10
|
+
import {
|
|
11
|
+
Effect_exports,
|
|
12
|
+
Schema_exports
|
|
13
|
+
} from "./chunk-CDL5PM2Q.js";
|
|
14
|
+
|
|
15
|
+
// src/implementation/authoring.ts
|
|
16
|
+
var NativeCallback = /* @__PURE__ */ Symbol("apps.NativeCallback");
|
|
17
|
+
var fromPromise = (callback) => (...args) => {
|
|
18
|
+
if (NativeCallback in callback) {
|
|
19
|
+
const native = callback[NativeCallback];
|
|
20
|
+
return native(...args);
|
|
21
|
+
}
|
|
22
|
+
return Effect_exports.tryPromise({ try: () => callback(...args), catch: (error) => error });
|
|
23
|
+
};
|
|
24
|
+
var toPromise = (operation, signal) => {
|
|
25
|
+
const native = (...args) => Effect_exports.suspend(() => {
|
|
26
|
+
if (signal === void 0) return operation(...args);
|
|
27
|
+
if (signal.aborted) return Effect_exports.interrupt;
|
|
28
|
+
const cancelled = Effect_exports.callback((resume) => {
|
|
29
|
+
if (signal.aborted) {
|
|
30
|
+
resume(Effect_exports.interrupt);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const abort = () => resume(Effect_exports.interrupt);
|
|
34
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
35
|
+
return Effect_exports.sync(() => signal.removeEventListener("abort", abort));
|
|
36
|
+
});
|
|
37
|
+
return Effect_exports.raceFirst(
|
|
38
|
+
cancelled,
|
|
39
|
+
Effect_exports.suspend(() => operation(...args))
|
|
40
|
+
);
|
|
41
|
+
});
|
|
42
|
+
return Object.assign((...args) => Effect_exports.runPromise(native(...args)), {
|
|
43
|
+
[NativeCallback]: native
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// src/implementation/operations.ts
|
|
48
|
+
var NativeOperation = /* @__PURE__ */ Symbol("apps.Operation");
|
|
49
|
+
var NativeRouterKey = /* @__PURE__ */ Symbol("apps.Router");
|
|
50
|
+
var operationDeclaration = (operation) => ({
|
|
51
|
+
kind: operation.kind,
|
|
52
|
+
[NativeOperation]: operation
|
|
53
|
+
});
|
|
54
|
+
var nativeOperation = (value) => {
|
|
55
|
+
if (typeof value !== "object" || value === null || !(NativeOperation in value)) return void 0;
|
|
56
|
+
return value[NativeOperation];
|
|
57
|
+
};
|
|
58
|
+
var operationOptions = (options) => {
|
|
59
|
+
const approval = options.approval;
|
|
60
|
+
return {
|
|
61
|
+
...options.description === void 0 ? {} : { description: options.description },
|
|
62
|
+
...options.title === void 0 ? {} : { title: options.title },
|
|
63
|
+
...options.annotations === void 0 ? {} : { annotations: options.annotations },
|
|
64
|
+
...options._meta === void 0 ? {} : { _meta: options._meta },
|
|
65
|
+
input: decoderOf(options.input),
|
|
66
|
+
...approval === void 0 ? {} : {
|
|
67
|
+
approval: (context) => Effect_exports.tryPromise({ try: async () => approval(context), catch: (error) => error })
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
var withApproval = (operation, approval) => ({
|
|
72
|
+
...operation,
|
|
73
|
+
[NativeOperation]: {
|
|
74
|
+
...operation[NativeOperation],
|
|
75
|
+
approval: (context) => Effect_exports.tryPromise({ try: async () => approval(context), catch: (error) => error })
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
var make = (kind, options, run) => operationDeclaration({
|
|
79
|
+
...operationOptions(options),
|
|
80
|
+
kind,
|
|
81
|
+
// The host always validates JSON serialization, even without a stronger output declaration.
|
|
82
|
+
...options.output === void 0 ? {} : { output: decoderOf(options.output) },
|
|
83
|
+
run: (context, input) => Effect_exports.tryPromise({
|
|
84
|
+
// SAFETY: defineApp checks the handler context against its requirements.
|
|
85
|
+
// The host validates account bindings and creates the matching storage facade.
|
|
86
|
+
try: () => run(context, input),
|
|
87
|
+
catch: (error) => error
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
var query = (options, run) => make("query", options, run);
|
|
91
|
+
var mutation = (options, run) => make("mutation", options, run);
|
|
92
|
+
|
|
93
|
+
// src/implementation/router.ts
|
|
94
|
+
var routerDeclaration = (node) => ({
|
|
95
|
+
[NativeRouterKey]: node
|
|
96
|
+
});
|
|
97
|
+
var nativeRouter = (value) => {
|
|
98
|
+
if (typeof value !== "object" || value === null || !(NativeRouterKey in value)) return void 0;
|
|
99
|
+
return value[NativeRouterKey];
|
|
100
|
+
};
|
|
101
|
+
var nativeNode = (value) => nativeOperation(value) ?? nativeRouter(value);
|
|
102
|
+
var metaOf = (options) => {
|
|
103
|
+
if (options === void 0) return void 0;
|
|
104
|
+
const defined = Object.fromEntries(
|
|
105
|
+
Object.entries(options).filter(([, value]) => value !== void 0)
|
|
106
|
+
);
|
|
107
|
+
return Object.keys(defined).length === 0 ? void 0 : Schema_exports.decodeUnknownSync(RouterMeta)(defined);
|
|
108
|
+
};
|
|
109
|
+
var mergeMeta = (base, override) => base === void 0 ? override : override === void 0 ? base : { ...base, ...override };
|
|
110
|
+
function router(children, options) {
|
|
111
|
+
const meta = metaOf(options);
|
|
112
|
+
const existing = nativeRouter(children);
|
|
113
|
+
if (existing !== void 0)
|
|
114
|
+
return routerDeclaration(
|
|
115
|
+
existing.kind === "router" ? { ...existing, ...withMeta(mergeMeta(existing.meta, meta)) } : { ...existing, ...withOverrides(mergeMeta(existing.overrides, meta)) }
|
|
116
|
+
);
|
|
117
|
+
const nodes = {};
|
|
118
|
+
for (const [key, value] of Object.entries(children)) {
|
|
119
|
+
if (reservedRouterKeys.has(key)) throw new Error(`Router key "${key}" is reserved`);
|
|
120
|
+
if (!Schema_exports.is(RouterKey)(key))
|
|
121
|
+
throw new Error(`Router key "${key}" must start with a letter or _ and contain no dots`);
|
|
122
|
+
const node = nativeNode(value);
|
|
123
|
+
if (node === void 0)
|
|
124
|
+
throw new Error(`Router key "${key}" must be a query, mutation or router`);
|
|
125
|
+
nodes[key] = node;
|
|
126
|
+
}
|
|
127
|
+
return routerDeclaration({ kind: "router", ...withMeta(meta), children: nodes });
|
|
128
|
+
}
|
|
129
|
+
var withMeta = (meta) => meta === void 0 ? {} : { meta };
|
|
130
|
+
var withOverrides = (overrides) => overrides === void 0 ? {} : { overrides };
|
|
131
|
+
var dynamicRouter = (source) => {
|
|
132
|
+
const meta = source.meta;
|
|
133
|
+
return routerDeclaration({
|
|
134
|
+
kind: "dynamic",
|
|
135
|
+
...meta === void 0 ? {} : {
|
|
136
|
+
meta: () => fromPromise(async () => meta())().pipe(
|
|
137
|
+
Effect_exports.flatMap((options) => Schema_exports.decodeUnknownEffect(RouterMeta)(options))
|
|
138
|
+
)
|
|
139
|
+
},
|
|
140
|
+
list: () => fromPromise(async () => source.list())().pipe(
|
|
141
|
+
Effect_exports.flatMap(Schema_exports.decodeUnknownEffect(Schema_exports.Array(HostedTool)))
|
|
142
|
+
),
|
|
143
|
+
resolve: (name) => fromPromise(async () => source.resolve(name))().pipe(
|
|
144
|
+
Effect_exports.map((value) => {
|
|
145
|
+
if (value === void 0) return void 0;
|
|
146
|
+
const operation = nativeOperation(value);
|
|
147
|
+
if (operation === void 0) throw new Error("Expected an operation declaration");
|
|
148
|
+
return operation;
|
|
149
|
+
})
|
|
150
|
+
)
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
var joinPath = (path, name) => path === "" ? name : `${path}.${name}`;
|
|
154
|
+
var locate = (root, name) => {
|
|
155
|
+
if (root?.kind === "dynamic") return { kind: "dynamic", source: root, router: "", name };
|
|
156
|
+
let current = root;
|
|
157
|
+
let path = "";
|
|
158
|
+
let rest = name;
|
|
159
|
+
while (current !== void 0) {
|
|
160
|
+
const dot = rest.indexOf(".");
|
|
161
|
+
const key = dot < 0 ? rest : rest.slice(0, dot);
|
|
162
|
+
const child = Object.hasOwn(current.children, key) ? current.children[key] : void 0;
|
|
163
|
+
if (child === void 0) return void 0;
|
|
164
|
+
const remaining = dot < 0 ? void 0 : rest.slice(dot + 1);
|
|
165
|
+
switch (child.kind) {
|
|
166
|
+
case "query":
|
|
167
|
+
case "mutation":
|
|
168
|
+
return remaining === void 0 ? { kind: "operation", operation: child, router: path } : void 0;
|
|
169
|
+
case "dynamic":
|
|
170
|
+
return remaining === void 0 || remaining === "" ? void 0 : { kind: "dynamic", source: child, router: joinPath(path, key), name: remaining };
|
|
171
|
+
case "router":
|
|
172
|
+
if (remaining === void 0) return void 0;
|
|
173
|
+
current = child;
|
|
174
|
+
path = joinPath(path, key);
|
|
175
|
+
rest = remaining;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return void 0;
|
|
179
|
+
};
|
|
180
|
+
var declaredOperations = (root, path = "") => Object.entries(root?.children ?? {}).flatMap(([key, child]) => {
|
|
181
|
+
const name = joinPath(path, key);
|
|
182
|
+
switch (child.kind) {
|
|
183
|
+
case "query":
|
|
184
|
+
case "mutation":
|
|
185
|
+
return [{ name, router: path, operation: child }];
|
|
186
|
+
case "router":
|
|
187
|
+
return declaredOperations(child, name);
|
|
188
|
+
case "dynamic":
|
|
189
|
+
return [];
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
export {
|
|
194
|
+
fromPromise,
|
|
195
|
+
toPromise,
|
|
196
|
+
operationDeclaration,
|
|
197
|
+
nativeOperation,
|
|
198
|
+
withApproval,
|
|
199
|
+
query,
|
|
200
|
+
mutation,
|
|
201
|
+
routerDeclaration,
|
|
202
|
+
nativeRouter,
|
|
203
|
+
mergeMeta,
|
|
204
|
+
router,
|
|
205
|
+
dynamicRouter,
|
|
206
|
+
joinPath,
|
|
207
|
+
locate,
|
|
208
|
+
declaredOperations
|
|
209
|
+
};
|
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
text,
|
|
20
20
|
uint8Array,
|
|
21
21
|
urlParams
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-UK573G7W.js";
|
|
23
23
|
import {
|
|
24
24
|
JsonValue
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-27F7W2LG.js";
|
|
26
26
|
import {
|
|
27
27
|
Cause,
|
|
28
28
|
Defect,
|
|
@@ -118,7 +118,7 @@ import {
|
|
|
118
118
|
transformEffect,
|
|
119
119
|
transformPull,
|
|
120
120
|
void_2 as void_
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-CDL5PM2Q.js";
|
|
122
122
|
import {
|
|
123
123
|
__export
|
|
124
124
|
} from "./chunk-CZ7CSFO4.js";
|
|
@@ -1784,10 +1784,7 @@ var AppUiApi = HttpApi_exports.make("app-ui").add(
|
|
|
1784
1784
|
);
|
|
1785
1785
|
|
|
1786
1786
|
export {
|
|
1787
|
-
HttpApiEndpoint_exports,
|
|
1788
|
-
HttpApi_exports,
|
|
1789
1787
|
HttpApiClient_exports,
|
|
1790
|
-
HttpApiGroup_exports,
|
|
1791
1788
|
UiContext,
|
|
1792
1789
|
UiOperation,
|
|
1793
1790
|
UiUnauthorized,
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
parseDocument
|
|
3
|
-
} from "./chunk-NCYXZN2G.js";
|
|
4
1
|
import {
|
|
5
2
|
AppSkillMetadata,
|
|
6
3
|
AppSkillName,
|
|
@@ -8,11 +5,11 @@ import {
|
|
|
8
5
|
SkillDefinitionInvalid,
|
|
9
6
|
SkillFile,
|
|
10
7
|
SkillFilePath
|
|
11
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JU7VHODU.js";
|
|
12
9
|
import {
|
|
13
10
|
Effect_exports,
|
|
14
11
|
Schema_exports
|
|
15
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-CDL5PM2Q.js";
|
|
16
13
|
|
|
17
14
|
// src/implementation/skill-files.ts
|
|
18
15
|
var skillFromFiles = (input, source = {}) => Effect_exports.gen(function* () {
|
|
@@ -28,6 +25,7 @@ var skillFromFiles = (input, source = {}) => Effect_exports.gen(function* () {
|
|
|
28
25
|
);
|
|
29
26
|
if (match?.[1] === void 0) return yield* invalid("frontmatter");
|
|
30
27
|
const frontmatter = match[1];
|
|
28
|
+
const { parseDocument } = (yield* Effect_exports.promise(() => import("./browser-XIPJGLH2.js"))).default;
|
|
31
29
|
const value = yield* Effect_exports.try({
|
|
32
30
|
try: () => {
|
|
33
31
|
const yaml = parseDocument(frontmatter);
|