This repository has been archived on 2026-09-13. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
BPOS-TMP-REPO/api-report/packages/contracts/src/manifest.d.ts
T
xcsandClaude Fable 5 f3397a60ef E04 修到零被拒线,harness 补七刀:跨进程租约与广播桥、原子写、引用墙、对话区按序号排
活动侧(E04 2.1.0 → 2.1.9,I01 1.2.2):
- 覆盖闭合成为机检:基座新增 distinct 读数,「计划盖住的客户数 = 候选行数」钉进
  S3 收步 / S4 哨兵 / 放行 L2;人加的候选客户不再被整单无视
- 「关键人待识别」占位句式全链退役:查无联系人先发数据录入卡收人;契约新增 refersTo,
  计划/回执的 contact_code 只许引用真实存在的联系人(安装期核引用目标)
- 台账更新确认摆全落库面:客户档案/联系人档案两张落库预览(touched: 数据源,
  正式现值 + 草稿叠加),可补改、可加行(自增主键由基座续号);姓名升必填
- 更新明细:update_key 位置键 + 「同一处只留一条」L2;依据写人话不带机器键;
  标题旁不摆单号;判据与文案不夹字段名;行标识去掉单标识那一段
- 回执骨架 = 计划行数钉进 S3 收步与 S4 哨兵;重做分支不许删计划凑数
- 阶段刻度对齐文档 7 步;起单样例预填满

基座侧:
- 两个后端连同一个库:task-claim 跨进程租约(迁移 0030)+ Postgres LISTEN/NOTIFY
  广播桥;对话区按任务内记忆序号排,不按墙上时钟;并卡「刚说过话」按记忆序列判紧邻
- 多行 write 整批先验后写(dryRun),被拒 = 一行都没落
- 决策卡意见与本单草稿字面比对,归属以观察进轨迹(note-anchors)
- 括号栈补「补闭括号」两形(少一个 } / 行对象没关直接跟下一行)
- 件上加行:空着的自增主键直进续号,不从别的行借号;未落下的行点名回给前端
- 人答复落库那一刻就把 runtime 翻 running(task.wake),两块同帧变脸
- 试跑单可落真库(land_master,迁移 0031,默认开);数据域按活动分组;
  JSON 列不再是 [object Object];按钮键感 + 在办进度条 + 防抖
- 报价链 A1–A7 从系统卸载(只卸不删源码),种子只装 E04/I01

契约变更(api-report 已刷新):FieldDeclaration.distinct / refersTo,
objectDeclaration.file,landMaster,unkeyed,assetFiles,ledgerByActivityRoute。
1700 测 / typecheck / lint / depcruise / api:check 绿。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EEJX8Z7CHejvwmDQyPQuBX
2026-08-25 01:23:30 +08:00

783 lines
31 KiB
TypeScript

/**
* 活动包清单六区与资产形状(编码规范 §8.1;语义出处 OS 11.1,AM 11)。
*
* 清单机器可读,系统**不执行代码即知包为何物** —— 导入登记、安装静态审、编排装配读的都是清单。
* 资产与包分离版本化(OS 11.3):包版本管代码 / 契约 / 交互模版 / Harness;
* 资产版本管业务模型 / DMN / 技能 —— 包只携初始版,此后由进化管线在系统内产生。
*/
import { z } from 'zod';
export declare const manifestIdentitySchema: z.ZodObject<{
activityId: z.core.$ZodBranded<z.ZodString, "ActivityId", "out">;
name: z.ZodString;
packageVersion: z.ZodString;
category: z.ZodString;
sdkVersion: z.ZodString;
checksum: z.ZodString;
signature: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type ManifestIdentity = z.infer<typeof manifestIdentitySchema>;
export declare const harnessConfigSchema: z.ZodObject<{
memoryWindow: z.ZodDefault<z.ZodNumber>;
stallAfter: z.ZodDefault<z.ZodString>;
nudge: z.ZodDefault<z.ZodArray<z.ZodObject<{
after: z.ZodString;
action: z.ZodEnum<{
nudge: "nudge";
escalate: "escalate";
}>;
}, z.core.$strip>>>;
retry: z.ZodDefault<z.ZodObject<{
times: z.ZodDefault<z.ZodNumber>;
backoff: z.ZodDefault<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
export type HarnessConfig = z.infer<typeof harnessConfigSchema>;
export declare const manifestDeclarationsSchema: z.ZodObject<{
models: z.ZodDefault<z.ZodArray<z.ZodString>>;
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
name: z.ZodString;
version: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
ledger: z.ZodDefault<z.ZodArray<z.ZodObject<{
domain: z.ZodString;
object: z.ZodString;
label: z.ZodOptional<z.ZodString>;
kind: z.ZodDefault<z.ZodEnum<{
record: "record";
master: "master";
derived: "derived";
}>>;
caseKey: z.ZodOptional<z.ZodString>;
file: z.ZodOptional<z.ZodObject<{
titleColumn: z.ZodString;
bodyColumn: z.ZodString;
formatColumn: z.ZodString;
}, z.core.$strip>>;
fields: z.ZodArray<z.ZodObject<{
name: z.ZodString;
type: z.ZodEnum<{
number: "number";
boolean: "boolean";
json: "json";
text: "text";
date: "date";
integer: "integer";
timestamp: "timestamp";
}>;
label: z.ZodOptional<z.ZodString>;
primaryKey: z.ZodDefault<z.ZodBoolean>;
masked: z.ZodDefault<z.ZodBoolean>;
required: z.ZodOptional<z.ZodBoolean>;
tally: z.ZodOptional<z.ZodArray<z.ZodString>>;
expect: z.ZodOptional<z.ZodBoolean>;
auto: z.ZodOptional<z.ZodBoolean>;
requiredWhen: z.ZodOptional<z.ZodObject<{
column: z.ZodString;
value: z.ZodString;
}, z.core.$strip>>;
distinct: z.ZodOptional<z.ZodBoolean>;
refersTo: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>>;
listeners: z.ZodDefault<z.ZodArray<z.ZodObject<{
origin: z.ZodEnum<{
static: "static";
dynamic: "dynamic";
}>;
eventType: z.ZodEnum<{
human: "human";
data: "data";
time: "time";
control: "control";
}>;
keyFilter: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
condition: z.ZodOptional<z.ZodString>;
semantic: z.ZodEnum<{
observe: "observe";
"complete-step": "complete-step";
}>;
deadline: z.ZodString;
escalation: z.ZodDefault<z.ZodArray<z.ZodEnum<{
nudge: "nudge";
reroute: "reroute";
escalate: "escalate";
}>>>;
}, z.core.$strip>>>;
harness: z.ZodObject<{
memoryWindow: z.ZodDefault<z.ZodNumber>;
stallAfter: z.ZodDefault<z.ZodString>;
nudge: z.ZodDefault<z.ZodArray<z.ZodObject<{
after: z.ZodString;
action: z.ZodEnum<{
nudge: "nudge";
escalate: "escalate";
}>;
}, z.core.$strip>>>;
retry: z.ZodDefault<z.ZodObject<{
times: z.ZodDefault<z.ZodNumber>;
backoff: z.ZodDefault<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>;
export type ManifestDeclarations = z.infer<typeof manifestDeclarationsSchema>;
export declare const dmnDecisionTableSchema: z.ZodObject<{
id: z.ZodString;
label: z.ZodString;
hitPolicy: z.ZodDefault<z.ZodEnum<{
UNIQUE: "UNIQUE";
FIRST: "FIRST";
PRIORITY: "PRIORITY";
COLLECT: "COLLECT";
}>>;
inputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
expression: z.ZodString;
}, z.core.$strip>>;
outputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
}, z.core.$strip>>;
rules: z.ZodArray<z.ZodObject<{
id: z.ZodString;
when: z.ZodArray<z.ZodString>;
then: z.ZodArray<z.ZodUnknown>;
annotation: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
export type DmnDecisionTable = z.infer<typeof dmnDecisionTableSchema>;
export declare const dmnModelSchema: z.ZodObject<{
drd: z.ZodArray<z.ZodObject<{
decision: z.ZodString;
requires: z.ZodDefault<z.ZodArray<z.ZodString>>;
inputs: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>;
tables: z.ZodArray<z.ZodObject<{
id: z.ZodString;
label: z.ZodString;
hitPolicy: z.ZodDefault<z.ZodEnum<{
UNIQUE: "UNIQUE";
FIRST: "FIRST";
PRIORITY: "PRIORITY";
COLLECT: "COLLECT";
}>>;
inputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
expression: z.ZodString;
}, z.core.$strip>>;
outputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
}, z.core.$strip>>;
rules: z.ZodArray<z.ZodObject<{
id: z.ZodString;
when: z.ZodArray<z.ZodString>;
then: z.ZodArray<z.ZodUnknown>;
annotation: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
}, z.core.$strip>;
export type DmnModel = z.infer<typeof dmnModelSchema>;
/**
* **步骤剧本** —— 一个计划项一条,把「这一步是什么状态」写成机器读得懂的东西。
*
* 为什么要有它(2026-07-31 加,起因是 A1 反复空转):
* 从前每一拍喂给模型的是**整本说明书 + 全部工具 + 全部可写台账**,
* 模型得自己从六步里认出「我现在在第几步」。认对了还好,认岔了就开始转圈 ——
* 实测 S1 已经把八字段写齐了,而说明书里 S3 写着「把八字段补到齐」,
* 模型于是把同样三行又写一遍,被「写了等于没写」拒回,下一拍再写一遍,如此往复。
*
* 治法不是把说明书写得更啰嗦,是**把状态挪进引擎**:
* ① `doneWhen` 让引擎自己算得出「这一步的成果已经在那儿了」—— 是就直接收掉,
* **不问模型**(能算的不问 LLM:同输入必同结论、零 token);
* ② `guide` / `writes` / `tools` 让每一拍的上下文**只装当前这一步要用的东西** ——
* 上下文小了,模型跑偏的余地也就小了。
*
* 不写剧本的活动照旧跑(整本说明书 + 全部工具),只是没有这两样好处。
*/
export declare const planStepSchema: z.ZodObject<{
item: z.ZodString;
intent: z.ZodString;
guide: z.ZodString;
writes: z.ZodDefault<z.ZodArray<z.ZodString>>;
reads: z.ZodDefault<z.ZodArray<z.ZodString>>;
view: z.ZodOptional<z.ZodString>;
tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
doneWhen: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type PlanStep = z.infer<typeof planStepSchema>;
/**
* 阶段 —— **给人看的进度刻度**,引擎一眼都不看。
*
* 计划项是给引擎的:一件事拆到能判「干完没有」的粒度,A1 有六项。
* 可六格进度条对人没有意义 —— 「查历史价 / 打标 / 定去向」在业务上是**一件事**
* (判这单该怎么走),人关心的是「到哪一步了」,不是引擎拆了几项。
* 所以另立一层:几个计划项合成一个阶段,进度条按阶段走。
*
* **只声明激活态的阶段**。结束态不在这里 —— 每个活动都以放行收口(铁律③),
* 那是系统的规矩不是活动的阶段;进度条自己在末尾加这一格。
*/
export declare const casePhaseSchema: z.ZodObject<{
name: z.ZodString;
items: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export type CasePhase = z.infer<typeof casePhaseSchema>;
export declare const loopModelSchema: z.ZodObject<{
cmmnXml: z.ZodString;
narrative: z.ZodString;
dmn: z.ZodObject<{
drd: z.ZodArray<z.ZodObject<{
decision: z.ZodString;
requires: z.ZodDefault<z.ZodArray<z.ZodString>>;
inputs: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>;
tables: z.ZodArray<z.ZodObject<{
id: z.ZodString;
label: z.ZodString;
hitPolicy: z.ZodDefault<z.ZodEnum<{
UNIQUE: "UNIQUE";
FIRST: "FIRST";
PRIORITY: "PRIORITY";
COLLECT: "COLLECT";
}>>;
inputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
expression: z.ZodString;
}, z.core.$strip>>;
outputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
}, z.core.$strip>>;
rules: z.ZodArray<z.ZodObject<{
id: z.ZodString;
when: z.ZodArray<z.ZodString>;
then: z.ZodArray<z.ZodUnknown>;
annotation: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
}, z.core.$strip>;
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
item: z.ZodString;
intent: z.ZodString;
guide: z.ZodString;
writes: z.ZodDefault<z.ZodArray<z.ZodString>>;
reads: z.ZodDefault<z.ZodArray<z.ZodString>>;
view: z.ZodOptional<z.ZodString>;
tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
doneWhen: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
phases: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
items: z.ZodArray<z.ZodString>;
}, z.core.$strip>>>;
}, z.core.$strip>;
export type LoopModel = z.infer<typeof loopModelSchema>;
/**
* 业务模型只有一种(2026-07-29 用户定:活动不再分 flow 和 loop,内部实现都是 Loop)——
* 案例模型 CMMN + 说明书 + DMN。步序声明(flow)连同它的引擎一并退役:
* 一件事该怎么办,由 Agent 依案例模型临场决定,不再有「照谱执行」这一路。
*/
export declare const businessModelSchema: z.ZodObject<{
cmmnXml: z.ZodString;
narrative: z.ZodString;
dmn: z.ZodObject<{
drd: z.ZodArray<z.ZodObject<{
decision: z.ZodString;
requires: z.ZodDefault<z.ZodArray<z.ZodString>>;
inputs: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>;
tables: z.ZodArray<z.ZodObject<{
id: z.ZodString;
label: z.ZodString;
hitPolicy: z.ZodDefault<z.ZodEnum<{
UNIQUE: "UNIQUE";
FIRST: "FIRST";
PRIORITY: "PRIORITY";
COLLECT: "COLLECT";
}>>;
inputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
expression: z.ZodString;
}, z.core.$strip>>;
outputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
}, z.core.$strip>>;
rules: z.ZodArray<z.ZodObject<{
id: z.ZodString;
when: z.ZodArray<z.ZodString>;
then: z.ZodArray<z.ZodUnknown>;
annotation: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
}, z.core.$strip>;
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
item: z.ZodString;
intent: z.ZodString;
guide: z.ZodString;
writes: z.ZodDefault<z.ZodArray<z.ZodString>>;
reads: z.ZodDefault<z.ZodArray<z.ZodString>>;
view: z.ZodOptional<z.ZodString>;
tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
doneWhen: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
phases: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
items: z.ZodArray<z.ZodString>;
}, z.core.$strip>>>;
}, z.core.$strip>;
export type BusinessModel = z.infer<typeof businessModelSchema>;
export declare const skillSchema: z.ZodObject<{
id: z.core.$ZodBranded<z.ZodString, "SkillId", "out">;
label: z.ZodString;
applicability: z.ZodString;
method: z.ZodString;
crystallized: z.ZodDefault<z.ZodArray<z.ZodObject<{
tool: z.ZodString;
input: z.ZodRecord<z.ZodString, z.ZodString>;
}, z.core.$strip>>>;
knowledgeRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
version: z.ZodString;
}, z.core.$strip>;
export type Skill = z.infer<typeof skillSchema>;
export declare const manifestAssetsSchema: z.ZodObject<{
businessModel: z.ZodObject<{
cmmnXml: z.ZodString;
narrative: z.ZodString;
dmn: z.ZodObject<{
drd: z.ZodArray<z.ZodObject<{
decision: z.ZodString;
requires: z.ZodDefault<z.ZodArray<z.ZodString>>;
inputs: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>;
tables: z.ZodArray<z.ZodObject<{
id: z.ZodString;
label: z.ZodString;
hitPolicy: z.ZodDefault<z.ZodEnum<{
UNIQUE: "UNIQUE";
FIRST: "FIRST";
PRIORITY: "PRIORITY";
COLLECT: "COLLECT";
}>>;
inputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
expression: z.ZodString;
}, z.core.$strip>>;
outputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
}, z.core.$strip>>;
rules: z.ZodArray<z.ZodObject<{
id: z.ZodString;
when: z.ZodArray<z.ZodString>;
then: z.ZodArray<z.ZodUnknown>;
annotation: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
}, z.core.$strip>;
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
item: z.ZodString;
intent: z.ZodString;
guide: z.ZodString;
writes: z.ZodDefault<z.ZodArray<z.ZodString>>;
reads: z.ZodDefault<z.ZodArray<z.ZodString>>;
view: z.ZodOptional<z.ZodString>;
tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
doneWhen: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
phases: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
items: z.ZodArray<z.ZodString>;
}, z.core.$strip>>>;
}, z.core.$strip>;
skills: z.ZodDefault<z.ZodArray<z.ZodObject<{
id: z.core.$ZodBranded<z.ZodString, "SkillId", "out">;
label: z.ZodString;
applicability: z.ZodString;
method: z.ZodString;
crystallized: z.ZodDefault<z.ZodArray<z.ZodObject<{
tool: z.ZodString;
input: z.ZodRecord<z.ZodString, z.ZodString>;
}, z.core.$strip>>>;
knowledgeRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
version: z.ZodString;
}, z.core.$strip>>>;
viewTemplates: z.ZodDefault<z.ZodArray<z.ZodObject<{
name: z.ZodString;
html: z.ZodString;
}, z.core.$strip>>>;
cardSchemas: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
distillHooks: z.ZodDefault<z.ZodArray<z.ZodObject<{
on: z.ZodEnum<{
terminal: "terminal";
milestone: "milestone";
}>;
milestone: z.ZodOptional<z.ZodString>;
prompt: z.ZodString;
}, z.core.$strip>>>;
}, z.core.$strip>;
export type ManifestAssets = z.infer<typeof manifestAssetsSchema>;
export declare const sampleCaseSchema: z.ZodObject<{
name: z.ZodString;
input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
message: z.ZodOptional<z.ZodString>;
expect: z.ZodObject<{
ports: z.ZodArray<z.ZodString>;
payloadShape: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
}, z.core.$strip>;
export type SampleCase = z.infer<typeof sampleCaseSchema>;
export declare const activityManifestSchema: z.ZodObject<{
identity: z.ZodObject<{
activityId: z.core.$ZodBranded<z.ZodString, "ActivityId", "out">;
name: z.ZodString;
packageVersion: z.ZodString;
category: z.ZodString;
sdkVersion: z.ZodString;
checksum: z.ZodString;
signature: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
contract: z.ZodObject<{
activityId: z.core.$ZodBranded<z.ZodString, "ActivityId", "out">;
version: z.ZodString;
input: z.ZodObject<{
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
messageAllowed: z.ZodDefault<z.ZodBoolean>;
messageHint: z.ZodOptional<z.ZodString>;
inboundComm: z.ZodOptional<z.ZodObject<{
channel: z.ZodDefault<z.ZodString>;
partyField: z.ZodString;
subjectField: z.ZodOptional<z.ZodString>;
bodyField: z.ZodOptional<z.ZodString>;
attachmentsField: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
output: z.ZodObject<{
mandatory: z.ZodDefault<z.ZodArray<z.ZodObject<{
name: z.ZodString;
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
description: z.ZodOptional<z.ZodString>;
when: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
selective: z.ZodDefault<z.ZodArray<z.ZodObject<{
group: z.ZodString;
ports: z.ZodArray<z.ZodObject<{
name: z.ZodString;
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
description: z.ZodOptional<z.ZodString>;
when: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>>;
}, z.core.$strip>;
requiredDeliverables: z.ZodDefault<z.ZodArray<z.ZodObject<{
key: z.ZodString;
label: z.ZodString;
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
ledger: z.ZodOptional<z.ZodString>;
ledgers: z.ZodOptional<z.ZodArray<z.ZodString>>;
editableAtRelease: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>>;
acceptanceCriteria: z.ZodDefault<z.ZodArray<z.ZodObject<{
key: z.ZodString;
label: z.ZodString;
level: z.ZodEnum<{
L1: "L1";
L2: "L2";
L3: "L3";
L4: "L4";
L5: "L5";
}>;
predicate: z.ZodOptional<z.ZodString>;
modelRef: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
revisableAtRelease: z.ZodDefault<z.ZodArray<z.ZodObject<{
key: z.ZodString;
label: z.ZodString;
ledger: z.ZodString;
}, z.core.$strip>>>;
prohibitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
key: z.ZodString;
statement: z.ZodString;
}, z.core.$strip>>>;
authorization: z.ZodObject<{
discretion: z.ZodDefault<z.ZodArray<z.ZodObject<{
key: z.ZodString;
statement: z.ZodString;
}, z.core.$strip>>>;
preauthorizedActions: z.ZodDefault<z.ZodArray<z.ZodObject<{
tool: z.ZodString;
operation: z.ZodString;
limit: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
humanCallBudget: z.ZodNumber;
}, z.core.$strip>;
resources: z.ZodObject<{
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
name: z.ZodString;
version: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
skills: z.ZodDefault<z.ZodArray<z.core.$ZodBranded<z.ZodString, "SkillId", "out">>>;
models: z.ZodDefault<z.ZodArray<z.ZodString>>;
roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
budget: z.ZodObject<{
steps: z.ZodNumber;
tokens: z.ZodNumber;
activeMinutes: z.ZodNumber;
humanCalls: z.ZodNumber;
}, z.core.$strip>;
}, z.core.$strip>;
}, z.core.$strip>;
declarations: z.ZodObject<{
models: z.ZodDefault<z.ZodArray<z.ZodString>>;
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
name: z.ZodString;
version: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
ledger: z.ZodDefault<z.ZodArray<z.ZodObject<{
domain: z.ZodString;
object: z.ZodString;
label: z.ZodOptional<z.ZodString>;
kind: z.ZodDefault<z.ZodEnum<{
record: "record";
master: "master";
derived: "derived";
}>>;
caseKey: z.ZodOptional<z.ZodString>;
file: z.ZodOptional<z.ZodObject<{
titleColumn: z.ZodString;
bodyColumn: z.ZodString;
formatColumn: z.ZodString;
}, z.core.$strip>>;
fields: z.ZodArray<z.ZodObject<{
name: z.ZodString;
type: z.ZodEnum<{
number: "number";
boolean: "boolean";
json: "json";
text: "text";
date: "date";
integer: "integer";
timestamp: "timestamp";
}>;
label: z.ZodOptional<z.ZodString>;
primaryKey: z.ZodDefault<z.ZodBoolean>;
masked: z.ZodDefault<z.ZodBoolean>;
required: z.ZodOptional<z.ZodBoolean>;
tally: z.ZodOptional<z.ZodArray<z.ZodString>>;
expect: z.ZodOptional<z.ZodBoolean>;
auto: z.ZodOptional<z.ZodBoolean>;
requiredWhen: z.ZodOptional<z.ZodObject<{
column: z.ZodString;
value: z.ZodString;
}, z.core.$strip>>;
distinct: z.ZodOptional<z.ZodBoolean>;
refersTo: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>>;
listeners: z.ZodDefault<z.ZodArray<z.ZodObject<{
origin: z.ZodEnum<{
static: "static";
dynamic: "dynamic";
}>;
eventType: z.ZodEnum<{
human: "human";
data: "data";
time: "time";
control: "control";
}>;
keyFilter: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
condition: z.ZodOptional<z.ZodString>;
semantic: z.ZodEnum<{
observe: "observe";
"complete-step": "complete-step";
}>;
deadline: z.ZodString;
escalation: z.ZodDefault<z.ZodArray<z.ZodEnum<{
nudge: "nudge";
reroute: "reroute";
escalate: "escalate";
}>>>;
}, z.core.$strip>>>;
harness: z.ZodObject<{
memoryWindow: z.ZodDefault<z.ZodNumber>;
stallAfter: z.ZodDefault<z.ZodString>;
nudge: z.ZodDefault<z.ZodArray<z.ZodObject<{
after: z.ZodString;
action: z.ZodEnum<{
nudge: "nudge";
escalate: "escalate";
}>;
}, z.core.$strip>>>;
retry: z.ZodDefault<z.ZodObject<{
times: z.ZodDefault<z.ZodNumber>;
backoff: z.ZodDefault<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>;
assets: z.ZodObject<{
businessModel: z.ZodObject<{
cmmnXml: z.ZodString;
narrative: z.ZodString;
dmn: z.ZodObject<{
drd: z.ZodArray<z.ZodObject<{
decision: z.ZodString;
requires: z.ZodDefault<z.ZodArray<z.ZodString>>;
inputs: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>;
tables: z.ZodArray<z.ZodObject<{
id: z.ZodString;
label: z.ZodString;
hitPolicy: z.ZodDefault<z.ZodEnum<{
UNIQUE: "UNIQUE";
FIRST: "FIRST";
PRIORITY: "PRIORITY";
COLLECT: "COLLECT";
}>>;
inputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
expression: z.ZodString;
}, z.core.$strip>>;
outputs: z.ZodArray<z.ZodObject<{
name: z.ZodString;
}, z.core.$strip>>;
rules: z.ZodArray<z.ZodObject<{
id: z.ZodString;
when: z.ZodArray<z.ZodString>;
then: z.ZodArray<z.ZodUnknown>;
annotation: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>>;
}, z.core.$strip>;
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
item: z.ZodString;
intent: z.ZodString;
guide: z.ZodString;
writes: z.ZodDefault<z.ZodArray<z.ZodString>>;
reads: z.ZodDefault<z.ZodArray<z.ZodString>>;
view: z.ZodOptional<z.ZodString>;
tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
doneWhen: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
phases: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
items: z.ZodArray<z.ZodString>;
}, z.core.$strip>>>;
}, z.core.$strip>;
skills: z.ZodDefault<z.ZodArray<z.ZodObject<{
id: z.core.$ZodBranded<z.ZodString, "SkillId", "out">;
label: z.ZodString;
applicability: z.ZodString;
method: z.ZodString;
crystallized: z.ZodDefault<z.ZodArray<z.ZodObject<{
tool: z.ZodString;
input: z.ZodRecord<z.ZodString, z.ZodString>;
}, z.core.$strip>>>;
knowledgeRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
version: z.ZodString;
}, z.core.$strip>>>;
viewTemplates: z.ZodDefault<z.ZodArray<z.ZodObject<{
name: z.ZodString;
html: z.ZodString;
}, z.core.$strip>>>;
cardSchemas: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
distillHooks: z.ZodDefault<z.ZodArray<z.ZodObject<{
on: z.ZodEnum<{
terminal: "terminal";
milestone: "milestone";
}>;
milestone: z.ZodOptional<z.ZodString>;
prompt: z.ZodString;
}, z.core.$strip>>>;
}, z.core.$strip>;
samples: z.ZodArray<z.ZodObject<{
name: z.ZodString;
input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
message: z.ZodOptional<z.ZodString>;
expect: z.ZodObject<{
ports: z.ZodArray<z.ZodString>;
payloadShape: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strip>;
}, z.core.$strip>>;
entry: z.ZodObject<{
file: z.ZodString;
checksum: z.ZodString;
}, z.core.$strip>;
}, z.core.$strip>;
export type ActivityManifest = z.infer<typeof activityManifestSchema>;
export declare const staticAuditFindingSchema: z.ZodObject<{
code: z.ZodEnum<{
"signature-invalid": "signature-invalid";
"sdk-incompatible": "sdk-incompatible";
"schema-invalid": "schema-invalid";
"tool-contract-missing": "tool-contract-missing";
"model-name-unbound": "model-name-unbound";
"dangling-listener": "dangling-listener";
"template-has-script": "template-has-script";
"environment-capability": "environment-capability";
"dynamic-eval": "dynamic-eval";
"ledger-type-conflict": "ledger-type-conflict";
"acceptance-level-misreported": "acceptance-level-misreported";
"acceptance-predicate-unbound": "acceptance-predicate-unbound";
"deliverable-address-unbound": "deliverable-address-unbound";
"ledger-kind-invalid": "ledger-kind-invalid";
"reference-target-unbound": "reference-target-unbound";
}>;
severity: z.ZodEnum<{
error: "error";
warn: "warn";
}>;
message: z.ZodString;
at: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type StaticAuditFinding = z.infer<typeof staticAuditFindingSchema>;
export declare const replayAuditReportSchema: z.ZodObject<{
oldPassStillPass: z.ZodBoolean;
checked: z.ZodNumber;
regressions: z.ZodDefault<z.ZodArray<z.ZodObject<{
taskId: z.ZodString;
detail: z.ZodString;
}, z.core.$strip>>>;
newlyBlocked: z.ZodDefault<z.ZodArray<z.ZodObject<{
taskId: z.ZodString;
detail: z.ZodString;
}, z.core.$strip>>>;
skippedNoHistory: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
export type ReplayAuditReport = z.infer<typeof replayAuditReportSchema>;
export declare const installVerdictSchema: z.ZodObject<{
accepted: z.ZodBoolean;
staticFindings: z.ZodArray<z.ZodObject<{
code: z.ZodEnum<{
"signature-invalid": "signature-invalid";
"sdk-incompatible": "sdk-incompatible";
"schema-invalid": "schema-invalid";
"tool-contract-missing": "tool-contract-missing";
"model-name-unbound": "model-name-unbound";
"dangling-listener": "dangling-listener";
"template-has-script": "template-has-script";
"environment-capability": "environment-capability";
"dynamic-eval": "dynamic-eval";
"ledger-type-conflict": "ledger-type-conflict";
"acceptance-level-misreported": "acceptance-level-misreported";
"acceptance-predicate-unbound": "acceptance-predicate-unbound";
"deliverable-address-unbound": "deliverable-address-unbound";
"ledger-kind-invalid": "ledger-kind-invalid";
"reference-target-unbound": "reference-target-unbound";
}>;
severity: z.ZodEnum<{
error: "error";
warn: "warn";
}>;
message: z.ZodString;
at: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
replay: z.ZodObject<{
oldPassStillPass: z.ZodBoolean;
checked: z.ZodNumber;
regressions: z.ZodDefault<z.ZodArray<z.ZodObject<{
taskId: z.ZodString;
detail: z.ZodString;
}, z.core.$strip>>>;
newlyBlocked: z.ZodDefault<z.ZodArray<z.ZodObject<{
taskId: z.ZodString;
detail: z.ZodString;
}, z.core.$strip>>>;
skippedNoHistory: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
}, z.core.$strip>;
export type InstallVerdict = z.infer<typeof installVerdictSchema>;