Archived
契约:三个端与路由归属(access 必填)、Principal / 角色→端 / 名册同步 schema、退役路由标 @deprecated(ADR-012)
- packages/contracts/src/api/http.ts:新增 SURFACES / surfaceSchema / Surface / SURFACE_LABEL / RouteAccess;RouteContract.access 必填;API_ERROR_CODES 增 'gone'。 - packages/contracts/src/org.ts:staffSchema 补 email? / roles(realm 角色快照);新增 principalSchema/Principal、roleAccessSchema/RoleAccess、rosterSyncOutcomeSchema/RosterSyncOutcome、 inFlightWorkSchema/InFlightWork;旧岗位授权(grant* / governanceFunction*)与 sessionSchema/Session 全部标 @deprecated 留一轮(web 编译不受影响,下个迭代删)。 - workbench.ts / governance.ts / ingest.ts:每条既有路由补 access(按所属端/两端共用/退役 public); 新增 meRoute、authTicketRoute(access:'any')与 syncStaffRoute、setStaffPositionRoute、 staffInFlightRoute、listRoleAccessRoute、setRoleAccessRoute、deleteRoleAccessRoute(access:'ops')。 - apps/api 的 org-service.ts 两处 staff.insert 补 roles: [](staffSchema 新必填字段,该文件下个 迭代会整份替换,这里只是让本次 typecheck 过)。 - 新增 packages/contracts/src/__tests__/route-access.test.ts:95 条路由的 access 归属断言。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015kAzS35kMnZNt4YGgJXtfw
This commit is contained in:
@@ -6,16 +6,19 @@ import { z } from 'zod';
|
||||
export declare const listStaffRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/staff";
|
||||
readonly access: readonly ["design", "ops"];
|
||||
readonly output: z.ZodObject<{
|
||||
staff: z.ZodArray<z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
account: z.ZodString;
|
||||
name: z.ZodString;
|
||||
email: z.ZodOptional<z.ZodString>;
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
state: z.ZodDefault<z.ZodEnum<{
|
||||
active: "active";
|
||||
disabled: "disabled";
|
||||
}>>;
|
||||
roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
||||
position: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
code: z.ZodString;
|
||||
@@ -31,9 +34,11 @@ export declare const listStaffRoute: {
|
||||
}, z.core.$strip>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** @deprecated 随 ADR-012 退役,后端回 410;人来自 Keycloak,改用 syncStaffRoute */
|
||||
export declare const createStaffRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/staff";
|
||||
readonly access: "public";
|
||||
readonly body: z.ZodObject<{
|
||||
account: z.ZodString;
|
||||
name: z.ZodString;
|
||||
@@ -43,16 +48,20 @@ export declare const createStaffRoute: {
|
||||
id: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
account: z.ZodString;
|
||||
name: z.ZodString;
|
||||
email: z.ZodOptional<z.ZodString>;
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
state: z.ZodDefault<z.ZodEnum<{
|
||||
active: "active";
|
||||
disabled: "disabled";
|
||||
}>>;
|
||||
roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** @deprecated 随 ADR-012 退役,后端回 410;改用 staffInFlightRoute */
|
||||
export declare const disableStaffCheckRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/staff/:staffId/disable-check";
|
||||
readonly access: "public";
|
||||
readonly params: z.ZodObject<{
|
||||
staffId: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -73,9 +82,11 @@ export declare const disableStaffCheckRoute: {
|
||||
}, z.core.$strip>>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** @deprecated 随 ADR-012 退役,后端回 410;停用改在 Keycloak 做,名册同步据此落 disabled */
|
||||
export declare const disableStaffRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/staff/:staffId/disable";
|
||||
readonly access: "public";
|
||||
readonly params: z.ZodObject<{
|
||||
staffId: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -99,9 +110,11 @@ export declare const disableStaffRoute: {
|
||||
}, z.core.$strip>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** @deprecated 随 ADR-012 退役,后端回 410;权限只到端,改用 listRoleAccessRoute */
|
||||
export declare const listGrantsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/positions/:positionId/grants";
|
||||
readonly access: "public";
|
||||
readonly params: z.ZodObject<{
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -138,9 +151,11 @@ export declare const listGrantsRoute: {
|
||||
}, z.core.$strip>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** @deprecated 随 ADR-012 退役,后端回 410;权限只到端,改用 setRoleAccessRoute */
|
||||
export declare const setGrantsRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/positions/:positionId/grants";
|
||||
readonly access: "public";
|
||||
readonly params: z.ZodObject<{
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -209,6 +224,128 @@ export declare const setGrantsRoute: {
|
||||
}, z.core.$strip>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** 从 Keycloak Admin API 同步名册;没配 provisioning 服务账号就如实回 configured:false */
|
||||
export declare const syncStaffRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/staff/sync";
|
||||
readonly access: "ops";
|
||||
readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
||||
configured: z.ZodLiteral<false>;
|
||||
message: z.ZodString;
|
||||
}, z.core.$strip>, z.ZodObject<{
|
||||
configured: z.ZodLiteral<true>;
|
||||
inserted: z.ZodNumber;
|
||||
updated: z.ZodNumber;
|
||||
disabled: z.ZodNumber;
|
||||
total: z.ZodNumber;
|
||||
}, z.core.$strip>], "configured">;
|
||||
};
|
||||
/** 指派岗位;指回哨兵岗 NONE = 取消指派 */
|
||||
export declare const setStaffPositionRoute: {
|
||||
readonly method: "PUT";
|
||||
readonly path: "/api/gov/staff/:staffId/position";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
staffId: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
}, z.core.$strip>;
|
||||
readonly body: z.ZodObject<{
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
}, z.core.$strip>;
|
||||
readonly output: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
account: z.ZodString;
|
||||
name: z.ZodString;
|
||||
email: z.ZodOptional<z.ZodString>;
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
state: z.ZodDefault<z.ZodEnum<{
|
||||
active: "active";
|
||||
disabled: "disabled";
|
||||
}>>;
|
||||
roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
||||
position: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
code: z.ZodString;
|
||||
name: z.ZodString;
|
||||
note: z.ZodOptional<z.ZodString>;
|
||||
}, z.core.$strip>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** 此人身上还挂着什么(只读)—— 原「停用前置检查」;停用本身在 Keycloak 做 */
|
||||
export declare const staffInFlightRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/staff/:staffId/in-flight";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
staffId: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
}, z.core.$strip>;
|
||||
readonly output: z.ZodObject<{
|
||||
staffId: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
blocked: z.ZodBoolean;
|
||||
openTasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
||||
taskId: z.ZodString;
|
||||
title: z.ZodString;
|
||||
}, z.core.$strip>>>;
|
||||
openCards: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
||||
cardId: z.ZodString;
|
||||
title: z.ZodString;
|
||||
}, z.core.$strip>>>;
|
||||
openApprovals: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
||||
approvalId: z.ZodString;
|
||||
title: z.ZodString;
|
||||
}, z.core.$strip>>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
export declare const listRoleAccessRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/access/roles";
|
||||
readonly access: "ops";
|
||||
readonly output: z.ZodObject<{
|
||||
roles: z.ZodArray<z.ZodObject<{
|
||||
role: z.ZodString;
|
||||
ends: z.ZodArray<z.ZodEnum<{
|
||||
design: "design";
|
||||
ops: "ops";
|
||||
workbench: "workbench";
|
||||
}>>;
|
||||
}, z.core.$strip>>;
|
||||
knownRoles: z.ZodArray<z.ZodString>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** 锁死不变量不过(改完没人能进运营中心)→ 409 conflict */
|
||||
export declare const setRoleAccessRoute: {
|
||||
readonly method: "PUT";
|
||||
readonly path: "/api/gov/access/roles/:role";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
role: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
readonly body: z.ZodObject<{
|
||||
ends: z.ZodArray<z.ZodEnum<{
|
||||
design: "design";
|
||||
ops: "ops";
|
||||
workbench: "workbench";
|
||||
}>>;
|
||||
}, z.core.$strip>;
|
||||
readonly output: z.ZodObject<{
|
||||
role: z.ZodString;
|
||||
ends: z.ZodArray<z.ZodEnum<{
|
||||
design: "design";
|
||||
ops: "ops";
|
||||
workbench: "workbench";
|
||||
}>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
export declare const deleteRoleAccessRoute: {
|
||||
readonly method: "DELETE";
|
||||
readonly path: "/api/gov/access/roles/:role";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
role: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
readonly output: z.ZodObject<{
|
||||
ok: z.ZodBoolean;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
export declare const LLM_PROVIDERS: readonly ["openai-compatible", "openai", "deepseek", "anthropic", "qwen"];
|
||||
export declare const llmProviderSchema: z.ZodEnum<{
|
||||
"openai-compatible": "openai-compatible";
|
||||
@@ -243,6 +380,7 @@ export type LlmInstanceView = z.infer<typeof llmInstanceViewSchema>;
|
||||
export declare const listLlmProvidersRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/llm/providers";
|
||||
readonly access: "design";
|
||||
readonly output: z.ZodObject<{
|
||||
providers: z.ZodArray<z.ZodObject<{
|
||||
provider: z.ZodEnum<{
|
||||
@@ -264,6 +402,7 @@ export declare const listLlmProvidersRoute: {
|
||||
export declare const listLlmInstancesRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/llm";
|
||||
readonly access: "design";
|
||||
readonly output: z.ZodObject<{
|
||||
instances: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -286,6 +425,7 @@ export declare const listLlmInstancesRoute: {
|
||||
export declare const upsertLlmInstanceRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/llm";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
id: z.ZodOptional<z.ZodString>;
|
||||
name: z.ZodString;
|
||||
@@ -331,6 +471,7 @@ export declare const upsertLlmInstanceRoute: {
|
||||
export declare const deleteLlmInstanceRoute: {
|
||||
readonly method: "DELETE";
|
||||
readonly path: "/api/gov/llm/:id";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -341,6 +482,7 @@ export declare const deleteLlmInstanceRoute: {
|
||||
export declare const probeLlmDraftRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/llm/probe";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
id: z.ZodOptional<z.ZodString>;
|
||||
name: z.ZodOptional<z.ZodString>;
|
||||
@@ -364,6 +506,7 @@ export declare const probeLlmDraftRoute: {
|
||||
export declare const probeLlmInstanceRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/llm/:id/probe";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -402,6 +545,7 @@ export type GovTaskRow = z.infer<typeof govTaskRowSchema>;
|
||||
export declare const listGovTasksRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/tasks";
|
||||
readonly access: "ops";
|
||||
readonly output: z.ZodObject<{
|
||||
tasks: z.ZodArray<z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
@@ -447,6 +591,7 @@ export declare const listGovTasksRoute: {
|
||||
export declare const controlTaskRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/tasks/:taskId/control";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -466,6 +611,7 @@ export declare const controlTaskRoute: {
|
||||
export declare const resumeTaskRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/tasks/:taskId/resume";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -485,6 +631,7 @@ export declare const resumeTaskRoute: {
|
||||
export declare const reassignTaskRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/tasks/:taskId/reassign";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -500,6 +647,7 @@ export declare const reassignTaskRoute: {
|
||||
export declare const govTaskLogRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/tasks/:taskId/log";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -516,6 +664,7 @@ export declare const govTaskLogRoute: {
|
||||
export declare const listProcessPackagesRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/process";
|
||||
readonly access: readonly ["design", "ops"];
|
||||
readonly output: z.ZodObject<{
|
||||
packages: z.ZodArray<z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "ProcessPackageId", "out">;
|
||||
@@ -635,6 +784,7 @@ export declare const listProcessPackagesRoute: {
|
||||
export declare const saveProcessRoute: {
|
||||
readonly method: "PUT";
|
||||
readonly path: "/api/gov/process";
|
||||
readonly access: "design";
|
||||
/**
|
||||
* 编辑即其身:pkg.version 已存在 → 就地写回该版(号不变)。
|
||||
* `asNew: true`(或版本不存在,如新流程首版)→ 产生新版本号(服务端算,不生效)。
|
||||
@@ -879,6 +1029,7 @@ export declare const saveProcessRoute: {
|
||||
export declare const setProcessStateRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/process/:id/:version/state";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
version: z.ZodString;
|
||||
@@ -1005,6 +1156,7 @@ export declare const setProcessStateRoute: {
|
||||
export declare const deleteProcessVersionRoute: {
|
||||
readonly method: "DELETE";
|
||||
readonly path: "/api/gov/process/:id/:version";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
version: z.ZodString;
|
||||
@@ -1121,6 +1273,7 @@ export declare const deleteProcessVersionRoute: {
|
||||
export declare const listApprovalTemplatesRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/approval-templates";
|
||||
readonly access: "design";
|
||||
readonly output: z.ZodObject<{
|
||||
templates: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -1151,6 +1304,7 @@ export declare const listApprovalTemplatesRoute: {
|
||||
export declare const upsertApprovalTemplateRoute: {
|
||||
readonly method: "PUT";
|
||||
readonly path: "/api/gov/approval-templates";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
template: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -1198,6 +1352,7 @@ export declare const upsertApprovalTemplateRoute: {
|
||||
export declare const deleteApprovalTemplateRoute: {
|
||||
readonly method: "DELETE";
|
||||
readonly path: "/api/gov/approval-templates/:id";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -1213,6 +1368,7 @@ export declare const deleteApprovalTemplateRoute: {
|
||||
export declare const deleteProcessFlowRoute: {
|
||||
readonly method: "DELETE";
|
||||
readonly path: "/api/gov/process/:id";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -1335,6 +1491,7 @@ export declare const deleteProcessFlowRoute: {
|
||||
export declare const editProcessVersionRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/process/:id/:version/edit";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
version: z.ZodString;
|
||||
@@ -1455,6 +1612,7 @@ export declare const editProcessVersionRoute: {
|
||||
export declare const validateProcessRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/process/validate";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
pkg: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "ProcessPackageId", "out">;
|
||||
@@ -1580,6 +1738,7 @@ export declare const validateProcessRoute: {
|
||||
export declare const listTriggersRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/triggers";
|
||||
readonly access: readonly ["design", "ops"];
|
||||
readonly output: z.ZodObject<{
|
||||
triggers: z.ZodArray<z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "TriggerId", "out">;
|
||||
@@ -1639,6 +1798,7 @@ export declare const listTriggersRoute: {
|
||||
export declare const toggleTriggerRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/triggers/:id/toggle";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -1659,6 +1819,7 @@ export declare const toggleTriggerRoute: {
|
||||
export declare const upsertTriggerRoute: {
|
||||
readonly method: "PUT";
|
||||
readonly path: "/api/gov/triggers";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
trigger: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "TriggerId", "out">;
|
||||
@@ -1779,6 +1940,7 @@ export declare const upsertTriggerRoute: {
|
||||
export declare const listWorkGroupsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/work-groups";
|
||||
readonly access: "ops";
|
||||
/** `ownerName` 是组长姓名的呈现补充,读表时一并带出,免得前端再对一次 id */
|
||||
readonly output: z.ZodObject<{
|
||||
groups: z.ZodArray<z.ZodObject<{
|
||||
@@ -1794,6 +1956,7 @@ export declare const listWorkGroupsRoute: {
|
||||
export declare const saveWorkGroupRoute: {
|
||||
readonly method: "PUT";
|
||||
readonly path: "/api/gov/work-groups";
|
||||
readonly access: "ops";
|
||||
readonly body: z.ZodObject<{
|
||||
ownerId: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
name: z.ZodString;
|
||||
@@ -1818,6 +1981,7 @@ export declare const saveWorkGroupRoute: {
|
||||
export declare const installActivityRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/activities";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
manifest: z.ZodObject<{
|
||||
identity: z.ZodObject<{
|
||||
@@ -2126,6 +2290,7 @@ export declare const installActivityRoute: {
|
||||
export declare const registerToolRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/tools";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
contract: z.ZodObject<{
|
||||
name: z.ZodString;
|
||||
@@ -2170,6 +2335,7 @@ export declare const registerToolRoute: {
|
||||
export declare const listActivitiesRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/activities";
|
||||
readonly access: "design";
|
||||
readonly output: z.ZodObject<{
|
||||
activities: z.ZodArray<z.ZodObject<{
|
||||
activityId: z.ZodString;
|
||||
@@ -2228,6 +2394,7 @@ export declare const listActivitiesRoute: {
|
||||
export declare const listToolsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/tools";
|
||||
readonly access: "design";
|
||||
readonly output: z.ZodObject<{
|
||||
tools: z.ZodArray<z.ZodObject<{
|
||||
name: z.ZodString;
|
||||
@@ -2246,6 +2413,7 @@ export declare const listToolsRoute: {
|
||||
export declare const listLedgerObjectsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/data/objects";
|
||||
readonly access: readonly ["design", "ops"];
|
||||
/** `label` 是人读名(落在表注释上);缺省即没登记,呈现退回对象键 */
|
||||
readonly output: z.ZodObject<{
|
||||
objects: z.ZodArray<z.ZodObject<{
|
||||
@@ -2278,6 +2446,7 @@ export declare const listLedgerObjectsRoute: {
|
||||
export declare const ledgerByActivityRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/data/by-activity";
|
||||
readonly access: readonly ["design", "ops"];
|
||||
readonly output: z.ZodObject<{
|
||||
activities: z.ZodArray<z.ZodObject<{
|
||||
activityId: z.ZodString;
|
||||
@@ -2313,6 +2482,7 @@ export declare const ledgerByActivityRoute: {
|
||||
export declare const browseLedgerRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/data/:domain/:object";
|
||||
readonly access: readonly ["design", "ops"];
|
||||
readonly params: z.ZodObject<{
|
||||
domain: z.ZodString;
|
||||
object: z.ZodString;
|
||||
@@ -2332,6 +2502,7 @@ export declare const browseLedgerRoute: {
|
||||
export declare const listActivityMemoryRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/memory/:activityId";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
activityId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2350,6 +2521,7 @@ export declare const listActivityMemoryRoute: {
|
||||
export declare const listChannelsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/channels";
|
||||
readonly access: readonly ["design", "ops"];
|
||||
readonly output: z.ZodObject<{
|
||||
channels: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -2382,6 +2554,7 @@ export declare const listChannelsRoute: {
|
||||
export declare const listApprovalsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/approvals";
|
||||
readonly access: "ops";
|
||||
readonly output: z.ZodObject<{
|
||||
approvals: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -2409,6 +2582,7 @@ export declare const listApprovalsRoute: {
|
||||
export declare const setTriggerConfirmRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/triggers/:id/confirm";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2424,6 +2598,7 @@ export declare const setTriggerConfirmRoute: {
|
||||
export declare const listNodeOwnersRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/packages/:id/owners";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2437,6 +2612,7 @@ export declare const listNodeOwnersRoute: {
|
||||
export declare const setNodeOwnerRoute: {
|
||||
readonly method: "PUT";
|
||||
readonly path: "/api/gov/packages/:id/owners/:nodeId";
|
||||
readonly access: "ops";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
nodeId: z.ZodString;
|
||||
@@ -2452,6 +2628,7 @@ export declare const setNodeOwnerRoute: {
|
||||
export declare const testRunRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/testbed/run";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
packageId: z.ZodString;
|
||||
mail: z.ZodObject<{
|
||||
@@ -2491,6 +2668,7 @@ export declare const testRunRoute: {
|
||||
export declare const testRunActivityRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/testbed/run-activity";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
activityId: z.ZodString;
|
||||
data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
||||
@@ -2510,6 +2688,7 @@ export declare const testRunActivityRoute: {
|
||||
export declare const testStopRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/testbed/stop";
|
||||
readonly access: "design";
|
||||
/** 两种试法各有其拔法:流程包给 workflowId,单活动给 taskId;都不给 = 拔掉所有试跑残留 */
|
||||
readonly body: z.ZodObject<{
|
||||
workflowId: z.ZodDefault<z.ZodString>;
|
||||
@@ -2532,6 +2711,7 @@ export declare const testStopRoute: {
|
||||
export declare const testCurrentRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/testbed/current";
|
||||
readonly access: "design";
|
||||
readonly output: z.ZodObject<{
|
||||
workflowId: z.ZodOptional<z.ZodString>;
|
||||
subject: z.ZodOptional<z.ZodString>;
|
||||
@@ -2551,6 +2731,7 @@ export declare const testCurrentRoute: {
|
||||
export declare const testActivityStateRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/testbed/activity/:taskId";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2617,6 +2798,7 @@ export declare const testActivityStateRoute: {
|
||||
export declare const uploadFileRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/gov/upload";
|
||||
readonly access: "design";
|
||||
readonly body: z.ZodObject<{
|
||||
name: z.ZodString;
|
||||
contentType: z.ZodDefault<z.ZodString>;
|
||||
@@ -2636,6 +2818,7 @@ export type UploadedFile = z.infer<typeof uploadFileRoute.output>;
|
||||
export declare const downloadFileRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/upload/:id";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2685,6 +2868,7 @@ export type TestLogRow = z.infer<typeof testLogRowSchema>;
|
||||
export declare const listTestLogsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/testbed/logs";
|
||||
readonly access: "design";
|
||||
readonly output: z.ZodObject<{
|
||||
runs: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -2720,6 +2904,7 @@ export declare const listTestLogsRoute: {
|
||||
export declare const testLogDetailRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/testbed/logs/:id";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2774,6 +2959,7 @@ export declare const testLogDetailRoute: {
|
||||
export declare const deleteTestLogRoute: {
|
||||
readonly method: "DELETE";
|
||||
readonly path: "/api/gov/testbed/logs/:id";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2784,6 +2970,7 @@ export declare const deleteTestLogRoute: {
|
||||
export declare const clearTestLogsRoute: {
|
||||
readonly method: "DELETE";
|
||||
readonly path: "/api/gov/testbed/logs";
|
||||
readonly access: "design";
|
||||
readonly output: z.ZodObject<{
|
||||
deleted: z.ZodNumber;
|
||||
}, z.core.$strip>;
|
||||
@@ -2792,6 +2979,7 @@ export declare const clearTestLogsRoute: {
|
||||
export declare const traceOfWorkflowRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/workflows/:id/trace";
|
||||
readonly access: "design";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2825,6 +3013,7 @@ export declare const traceOfWorkflowRoute: {
|
||||
export declare const govWorkflowRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/workflows/:id";
|
||||
readonly access: readonly ["design", "ops"];
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -2986,6 +3175,7 @@ export declare const govWorkflowRoute: {
|
||||
export declare const govMetricsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/gov/metrics";
|
||||
readonly access: "ops";
|
||||
/** 统计窗口 —— 不传按月;驾驶舱可切日/周/月/年 */
|
||||
readonly query: z.ZodObject<{
|
||||
period: z.ZodOptional<z.ZodEnum<{
|
||||
|
||||
+23
-4
@@ -4,16 +4,35 @@
|
||||
* 前端只经 `shared/typed-fetch` + 本目录的路由契约与服务端交互;组件内禁止裸 fetch。
|
||||
* **禁止 Hono RPC 客户端** —— 它要求前端 import 后端类型,违反 §5.1。
|
||||
*/
|
||||
import type { z } from 'zod';
|
||||
import { z } from 'zod';
|
||||
export declare const HTTP_METHODS: readonly ["GET", "POST", "PUT", "PATCH", "DELETE"];
|
||||
export type HttpMethod = (typeof HTTP_METHODS)[number];
|
||||
/**
|
||||
* 三个端(ADR-012):设计中心 / 运营中心 / 工作台。
|
||||
* 权限只到端 —— 一个角色能进哪几个端由运营中心的「角色 → 端」表定,不写死在代码里。
|
||||
*/
|
||||
export declare const SURFACES: readonly ["design", "ops", "workbench"];
|
||||
export declare const surfaceSchema: z.ZodEnum<{
|
||||
design: "design";
|
||||
ops: "ops";
|
||||
workbench: "workbench";
|
||||
}>;
|
||||
export type Surface = z.infer<typeof surfaceSchema>;
|
||||
export declare const SURFACE_LABEL: Readonly<Record<Surface, string>>;
|
||||
/**
|
||||
* 一条路由归哪个端(ADR-012):
|
||||
* `public` 不需要凭据;`any` 登录即可、不看端;端名 / 端名数组 —— 能进其中任一端即可。
|
||||
* 鉴权中间件按它统一判,路由里不再各写守卫;漏写编译不过(`satisfies RouteContract`)。
|
||||
*/
|
||||
export type RouteAccess = 'public' | 'any' | Surface | readonly Surface[];
|
||||
/**
|
||||
* 一条路由契约。`path` 用 `:name` 表示路径参数,与 `params` 的键一一对应。
|
||||
* body 只在 POST/PATCH 上有意义;GET 用 query。
|
||||
* body 只在 POST/PUT/PATCH 上有意义;GET 用 query。
|
||||
*/
|
||||
export type RouteContract<TParams extends z.ZodTypeAny = z.ZodTypeAny, TQuery extends z.ZodTypeAny = z.ZodTypeAny, TBody extends z.ZodTypeAny = z.ZodTypeAny, TOutput extends z.ZodTypeAny = z.ZodTypeAny> = {
|
||||
readonly method: HttpMethod;
|
||||
readonly path: string;
|
||||
readonly access: RouteAccess;
|
||||
readonly params?: TParams;
|
||||
readonly query?: TQuery;
|
||||
readonly body?: TBody;
|
||||
@@ -21,8 +40,8 @@ export type RouteContract<TParams extends z.ZodTypeAny = z.ZodTypeAny, TQuery ex
|
||||
};
|
||||
export type RouteOutput<R extends RouteContract> = z.infer<R['output']>;
|
||||
export type RouteBody<R extends RouteContract> = R['body'] extends z.ZodTypeAny ? z.infer<R['body']> : never;
|
||||
/** 结构化错误:前端按 code 分辨,不解析文案 */
|
||||
export declare const API_ERROR_CODES: readonly ["unauthenticated", "forbidden", "not-found", "validation-failed", "conflict", "precondition-failed", "internal"];
|
||||
/** 结构化错误:前端按 code 分辨,不解析文案。`gone` = 410,路由已随统一鉴权中心退役 */
|
||||
export declare const API_ERROR_CODES: readonly ["unauthenticated", "forbidden", "not-found", "validation-failed", "conflict", "precondition-failed", "internal", "gone"];
|
||||
export type ApiErrorCode = (typeof API_ERROR_CODES)[number];
|
||||
export type ApiError = {
|
||||
readonly code: ApiErrorCode;
|
||||
|
||||
@@ -26,6 +26,7 @@ export type InboundMail = z.infer<typeof inboundMailSchema>;
|
||||
export declare const ingestMailRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/ingest/channel/:channelId/mail";
|
||||
readonly access: "public";
|
||||
readonly params: z.ZodObject<{
|
||||
channelId: z.core.$ZodBranded<z.ZodString, "ChannelId", "out">;
|
||||
}, z.core.$strip>;
|
||||
|
||||
+79
-6
@@ -3,20 +3,23 @@
|
||||
* 工作台五要素:任务 / 审批 / 消息 / 纪要 / 汇报 —— 同一份过程事实的五种投影。
|
||||
*/
|
||||
import { z } from 'zod';
|
||||
/** 我是谁 —— 无会话即 401,前端据此落登录页(ADR-010) */
|
||||
/** @deprecated 随 ADR-012 退役,后端回 410;改用 meRoute */
|
||||
export declare const sessionRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/session";
|
||||
readonly access: "public";
|
||||
readonly output: z.ZodObject<{
|
||||
staff: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
account: z.ZodString;
|
||||
name: z.ZodString;
|
||||
email: z.ZodOptional<z.ZodString>;
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
state: z.ZodDefault<z.ZodEnum<{
|
||||
active: "active";
|
||||
disabled: "disabled";
|
||||
}>>;
|
||||
roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
||||
}, z.core.$strip>;
|
||||
position: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
@@ -56,13 +59,11 @@ export declare const sessionRoute: {
|
||||
}, z.core.$strip>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/**
|
||||
* 登录 —— 单组织 cookie session(编码规范 §4 / ADR-010)。
|
||||
* 成功即种 `jcai_session`(HttpOnly);失败只回一句话,不区分账号不存在还是口令错。
|
||||
*/
|
||||
/** @deprecated 随 ADR-012 退役,后端回 410;改用 meRoute */
|
||||
export declare const loginRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/login";
|
||||
readonly access: "public";
|
||||
readonly body: z.ZodObject<{
|
||||
account: z.ZodString;
|
||||
password: z.ZodString;
|
||||
@@ -72,11 +73,13 @@ export declare const loginRoute: {
|
||||
id: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
account: z.ZodString;
|
||||
name: z.ZodString;
|
||||
email: z.ZodOptional<z.ZodString>;
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
state: z.ZodDefault<z.ZodEnum<{
|
||||
active: "active";
|
||||
disabled: "disabled";
|
||||
}>>;
|
||||
roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
||||
}, z.core.$strip>;
|
||||
position: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
@@ -116,10 +119,11 @@ export declare const loginRoute: {
|
||||
}, z.core.$strip>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** 登出 —— 服务端会话立刻作废,不等 cookie 到期 */
|
||||
/** @deprecated 随 ADR-012 退役,后端回 410;改用 meRoute */
|
||||
export declare const logoutRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/logout";
|
||||
readonly access: "public";
|
||||
readonly output: z.ZodObject<{
|
||||
ok: z.ZodBoolean;
|
||||
}, z.core.$strip>;
|
||||
@@ -127,6 +131,7 @@ export declare const logoutRoute: {
|
||||
export declare const healthRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/health";
|
||||
readonly access: "public";
|
||||
readonly output: z.ZodObject<{
|
||||
ok: z.ZodBoolean;
|
||||
version: z.ZodString;
|
||||
@@ -136,6 +141,51 @@ export declare const healthRoute: {
|
||||
}>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** 我是谁、我能进哪几个端(ADR-012)—— 中间件解好 principal 放进上下文,这里只回投影 */
|
||||
export declare const meRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/me";
|
||||
readonly access: "any";
|
||||
readonly output: z.ZodObject<{
|
||||
staff: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "StaffId", "out">;
|
||||
account: z.ZodString;
|
||||
name: z.ZodString;
|
||||
email: z.ZodOptional<z.ZodString>;
|
||||
positionId: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
state: z.ZodDefault<z.ZodEnum<{
|
||||
active: "active";
|
||||
disabled: "disabled";
|
||||
}>>;
|
||||
roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
||||
}, z.core.$strip>;
|
||||
position: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "PositionId", "out">;
|
||||
code: z.ZodString;
|
||||
name: z.ZodString;
|
||||
note: z.ZodOptional<z.ZodString>;
|
||||
}, z.core.$strip>;
|
||||
roles: z.ZodArray<z.ZodString>;
|
||||
ends: z.ZodArray<z.ZodEnum<{
|
||||
design: "design";
|
||||
ops: "ops";
|
||||
workbench: "workbench";
|
||||
}>>;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/**
|
||||
* 60 秒票据(ADR-012 §9.3)—— 只为两条带不了 Authorization 头的路:
|
||||
* `EventSource('/api/stream')` 与 `<a href="…&raw=1" download>`。GET 上 `?ticket=` 认它。
|
||||
*/
|
||||
export declare const authTicketRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/auth/ticket";
|
||||
readonly access: "any";
|
||||
readonly output: z.ZodObject<{
|
||||
ticket: z.ZodString;
|
||||
expiresAt: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
};
|
||||
/** 任务卡 —— 清单里一条 = 一个活动的一次运行,不是一整条工作流 */
|
||||
export declare const taskCardSchema: z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
@@ -177,6 +227,7 @@ export type TaskCard = z.infer<typeof taskCardSchema>;
|
||||
export declare const listTasksRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/desk/tasks";
|
||||
readonly access: "workbench";
|
||||
readonly output: z.ZodObject<{
|
||||
tasks: z.ZodArray<z.ZodObject<{
|
||||
id: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
@@ -2138,6 +2189,7 @@ export type TaskDetail = z.infer<typeof taskDetailSchema>;
|
||||
export declare const taskDetailRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/desk/tasks/:taskId";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -4043,6 +4095,7 @@ export declare const taskDetailRoute: {
|
||||
export declare const replyWorkOrderRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/desk/work-orders/reply";
|
||||
readonly access: "workbench";
|
||||
readonly body: z.ZodObject<{
|
||||
reply: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
||||
}, z.core.$strip>;
|
||||
@@ -4058,6 +4111,7 @@ export declare const replyWorkOrderRoute: {
|
||||
export declare const replyChatCardRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/desk/chat-cards/reply";
|
||||
readonly access: "workbench";
|
||||
readonly body: z.ZodObject<{
|
||||
reply: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
||||
}, z.core.$strip>;
|
||||
@@ -4072,6 +4126,7 @@ export declare const replyChatCardRoute: {
|
||||
export declare const markCommReadRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/desk/comms/:commId/read";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
commId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -4120,6 +4175,7 @@ export declare const markCommReadRoute: {
|
||||
export declare const saveTableRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/desk/tasks/:taskId/table";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -4149,6 +4205,7 @@ export declare const saveTableRoute: {
|
||||
export declare const openAssetFileRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/desk/tasks/:taskId/file";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -4199,6 +4256,7 @@ export declare const openAssetFileRoute: {
|
||||
export declare const sayRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/desk/tasks/:taskId/say";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
taskId: z.core.$ZodBranded<z.ZodString, "TaskId", "out">;
|
||||
}, z.core.$strip>;
|
||||
@@ -4393,6 +4451,7 @@ export type SystemMessageView = z.infer<typeof systemMessageSchema>;
|
||||
export declare const listMessagesRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/desk/messages";
|
||||
readonly access: "workbench";
|
||||
readonly output: z.ZodObject<{
|
||||
messages: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -4448,6 +4507,7 @@ export declare const listMessagesRoute: {
|
||||
export declare const markMessageReadRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/desk/messages/:messageId/read";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
messageId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -4459,6 +4519,7 @@ export declare const markMessageReadRoute: {
|
||||
export declare const answerMessageRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/desk/messages/:messageId/answer";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
messageId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -4473,6 +4534,7 @@ export declare const answerMessageRoute: {
|
||||
export declare const confirmTriggerPendingRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/desk/trigger-pending/:id/confirm";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -4521,6 +4583,7 @@ export type MinuteView = z.infer<typeof minuteSchema>;
|
||||
export declare const listMinutesRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/minutes";
|
||||
readonly access: "workbench";
|
||||
readonly output: z.ZodObject<{
|
||||
minutes: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -4550,6 +4613,7 @@ export declare const listMinutesRoute: {
|
||||
export declare const createMinuteRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/minutes";
|
||||
readonly access: "workbench";
|
||||
readonly body: z.ZodObject<{
|
||||
title: z.ZodString;
|
||||
body: z.ZodString;
|
||||
@@ -4587,6 +4651,7 @@ export declare const createMinuteRoute: {
|
||||
export declare const appendResolutionRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/minutes/:minuteId/resolutions";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
minuteId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -4622,6 +4687,7 @@ export declare const appendResolutionRoute: {
|
||||
export declare const registerResolutionRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/minutes/resolutions/:resolutionId/register";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
resolutionId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -4704,6 +4770,7 @@ export type ReportView = z.infer<typeof reportSchema>;
|
||||
export declare const draftReportRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/reports/:period";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
period: z.ZodEnum<{
|
||||
day: "day";
|
||||
@@ -4759,6 +4826,7 @@ export declare const draftReportRoute: {
|
||||
export declare const listReportsRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/reports";
|
||||
readonly access: "workbench";
|
||||
readonly output: z.ZodObject<{
|
||||
reports: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -4809,6 +4877,7 @@ export declare const listReportsRoute: {
|
||||
export declare const submitReportRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/reports/:reportId/submit";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
reportId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -4884,6 +4953,7 @@ export type ApprovalItem = z.infer<typeof approvalItemSchema>;
|
||||
export declare const listApprovalsForMeRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/approvals";
|
||||
readonly access: "workbench";
|
||||
readonly output: z.ZodObject<{
|
||||
approvals: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -4910,6 +4980,7 @@ export declare const listApprovalsForMeRoute: {
|
||||
export declare const decideApprovalRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/approvals/:workflowId/:nodeId/decide";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
workflowId: z.ZodString;
|
||||
nodeId: z.ZodString;
|
||||
@@ -4940,6 +5011,7 @@ export type ListApprovalsForMeOutput = z.infer<typeof listApprovalsForMeRoute.ou
|
||||
export declare const listRegistrationTriggersRoute: {
|
||||
readonly method: "GET";
|
||||
readonly path: "/api/triggers/registration";
|
||||
readonly access: "workbench";
|
||||
readonly output: z.ZodObject<{
|
||||
triggers: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
@@ -4953,6 +5025,7 @@ export declare const listRegistrationTriggersRoute: {
|
||||
export declare const fireRegistrationRoute: {
|
||||
readonly method: "POST";
|
||||
readonly path: "/api/triggers/:triggerId/register";
|
||||
readonly access: "workbench";
|
||||
readonly params: z.ZodObject<{
|
||||
triggerId: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
|
||||
Reference in New Issue
Block a user