Files
app/tauri/src/runtime/app-management/reference-miniapps.ts
T

59 lines
3.2 KiB
TypeScript

import type { MiniAppManifestV1 } from "@/runtime/app-management/miniapp-manifest";
/** The two bundled SDK reference manifests shipped by the Host in SDK v1. */
export const TASK_DASHBOARD_MANIFEST: MiniAppManifestV1 = {
app_scope: "task-dashboard",
version: "1.0.0",
kind: "bundled",
subscriptions: ["lineup.v1.app.call", "lineup.v1.tool.call", "lineup.v1.text"],
requested_capabilities: [],
host: { min_version: "1.0.0", surface_required: true },
tools: [
{
id: "task-dashboard.open",
version: 1,
handling: "launch",
target: { app_scope: "task-dashboard", requires_foreground: true, restore_previous_focus: true },
input_schema: { type: "object", required: ["title"], properties: { task_id: { type: "string", minLength: 1 }, title: { type: "string", minLength: 1, maxLength: 200 }, initial_state: { type: "object" } }, additionalProperties: false },
output_schema: { type: "object", required: ["status", "task_id"], properties: { status: { type: "string", enum: ["completed", "cancelled", "failed"] }, task_id: { type: "string", minLength: 1 }, task: { type: "object" } }, additionalProperties: false },
},
{
id: "task-dashboard.update",
version: 1,
handling: "direct",
target: { app_scope: "task-dashboard", requires_foreground: false, restore_previous_focus: false },
input_schema: { type: "object", required: ["task_id"], properties: { task_id: { type: "string", minLength: 1 }, progress: { type: "number", minimum: 0, maximum: 100 }, status: { type: "string" } }, additionalProperties: false },
output_schema: { type: "object", required: ["task_id"], properties: { task_id: { type: "string", minLength: 1 }, task: { type: "object" } }, additionalProperties: false },
},
],
};
export const WHITEBOARD_MANIFEST: MiniAppManifestV1 = {
app_scope: "whiteboard",
version: "1.0.0",
kind: "bundled",
subscriptions: ["lineup.v1.ui.open", "lineup.v1.ui.patch", "lineup.v1.ui.close", "lineup.v1.artifact.offer"],
requested_capabilities: [],
host: { min_version: "1.0.0", surface_required: true },
tools: [
{
id: "whiteboard.open",
version: 1,
handling: "launch",
target: { app_scope: "whiteboard", requires_foreground: true, restore_previous_focus: true },
input_schema: { type: "object", required: ["board_id", "title"], properties: { board_id: { type: "string", minLength: 1 }, title: { type: "string", minLength: 1 }, initial_state: { type: "object" } }, additionalProperties: false },
output_schema: { type: "object" },
},
{
id: "whiteboard.submit",
version: 1,
handling: "operation",
target: { app_scope: "whiteboard", requires_foreground: true, restore_previous_focus: true },
input_schema: { type: "object", required: ["board_id"], properties: { board_id: { type: "string", minLength: 1 }, submit_request: { type: "object" } }, additionalProperties: false },
output_schema: { type: "object", properties: { artifact_id: { type: "string", minLength: 1 }, summary: { type: "object" } }, additionalProperties: false },
},
],
};
export const BUNDLED_REFERENCE_MANIFESTS: readonly MiniAppManifestV1[] = [TASK_DASHBOARD_MANIFEST, WHITEBOARD_MANIFEST];