@akagilnc/pi-workflow-roles 0.1.5946 → 0.1.5955
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/CLAUDE.md +1 -1
- package/dist/acp-host/production-host.js +34 -51
- package/dist/collector-tool-schemas.js +1 -1
- package/dist/diarist-contracts.js +8 -6
- package/dist/doctor-contracts.js +1 -1
- package/dist/headless-host/production-host.js +34 -51
- package/dist/migrate-book-topology.js +22 -36
- package/dist/package-contracts/fixer-output.js +1 -1
- package/dist/package-contracts/gatekeeper-output.js +2 -2
- package/dist/package-contracts/navigator-output.js +2 -2
- package/dist/package-contracts/reviewer-output.js +1 -1
- package/dist/package-contracts/terminating-infrastructure.js +6 -23
- package/dist/public-cli/main.js +33 -50
- package/dist/review-submission.js +1 -1
- package/dist/session-dialogue.js +26 -30
- package/package.json +1 -1
- package/src/collector-tool-schemas.ts +1 -1
- package/src/diarist-contracts.ts +10 -8
- package/src/doctor-contracts.ts +1 -1
- package/src/package-contracts/fixer-output.ts +1 -1
- package/src/package-contracts/gatekeeper-output.ts +2 -2
- package/src/package-contracts/navigator-output.ts +2 -2
- package/src/package-contracts/reviewer-output.ts +1 -1
- package/src/package-contracts/terminating-infrastructure.ts +10 -35
- package/src/review-submission.ts +1 -1
- package/src/session-dialogue.ts +22 -31
package/CLAUDE.md
CHANGED
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
|
|
58
58
|
## 起居录位置(#1092)
|
|
59
59
|
|
|
60
|
-
本票记录在 `~/.ak-roles/books/<簿>/<票号>/`,没有票号的在 `~/.ak-roles/books/<簿>/unbound/`。各腿的记录在其下 `runs/<runId
|
|
60
|
+
本票记录在 `~/.ak-roles/books/<簿>/<票号>/`,没有票号的在 `~/.ak-roles/books/<簿>/unbound/`。各腿的记录在其下 `runs/<runId>@<席>/`。角色凭已知票号自行定位与读取;代码不计算、不冻结、不向提示或附件递送本票指针。要读会话卷里谁说了什么,可以用 `ak-role dialogue <会话卷>`(用法见 `ak-role help dialogue`)。
|
|
61
61
|
|
|
62
62
|
## 锚定宪法
|
|
63
63
|
|
|
@@ -1519,15 +1519,15 @@ function withTerminatingOutputDeclarations(schema) {
|
|
|
1519
1519
|
...baseProperties ?? {},
|
|
1520
1520
|
...baseProperties?.ticketNumber === void 0 ? {
|
|
1521
1521
|
ticketNumber: Type2.Unknown({
|
|
1522
|
-
description: "\
|
|
1522
|
+
description: "\u4EC5\u5C1A\u672A\u7ED1\u5B9A\u65F6\u586B\u672C\u7968\u53F7\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF1B\u5F52\u4F4D\u53EA\u8BFB\u672C\u5B57\u6BB5\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
1523
1523
|
})
|
|
1524
1524
|
} : {},
|
|
1525
1525
|
...baseProperties?.summary === void 0 ? {
|
|
1526
1526
|
summary: Type2.Unknown({
|
|
1527
|
-
description: "\u672C\u5E2D\
|
|
1527
|
+
description: "\u4EC5\u672C\u5E2D\u6709\u7ED3\u8BBA\u65F6\u586B\u4E00\u4E24\u53E5\u300120\u201350 \u5B57\u7ED3\u8BBA\u6458\u8981\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u4E0D\u56E0\u7F3A\u5931\u6216\u8D85\u957F\u62D2\u6536\u3001\u622A\u65AD\u6216\u4EE3\u586B\u3002"
|
|
1528
1528
|
})
|
|
1529
1529
|
} : {},
|
|
1530
|
-
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]:
|
|
1530
|
+
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureField
|
|
1531
1531
|
};
|
|
1532
1532
|
const object = Type2.Object(properties, { additionalProperties: true });
|
|
1533
1533
|
const incoming = schema.required;
|
|
@@ -1535,30 +1535,14 @@ function withTerminatingOutputDeclarations(schema) {
|
|
|
1535
1535
|
object.required = preserved;
|
|
1536
1536
|
return object;
|
|
1537
1537
|
}
|
|
1538
|
-
var INFRASTRUCTURE_FAILURE_DECLARATION_KEY,
|
|
1538
|
+
var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, infrastructureFailureField;
|
|
1539
1539
|
var init_terminating_infrastructure = __esm({
|
|
1540
1540
|
"src/package-contracts/terminating-infrastructure.ts"() {
|
|
1541
1541
|
"use strict";
|
|
1542
1542
|
INFRASTRUCTURE_FAILURE_DECLARATION_KEY = "infrastructureFailure";
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
[INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY]: Type2.Unknown({
|
|
1547
|
-
description: "\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u8BCA\u65AD\u5B57\u7B26\u4E32\u3002"
|
|
1548
|
-
})
|
|
1549
|
-
},
|
|
1550
|
-
{
|
|
1551
|
-
additionalProperties: true,
|
|
1552
|
-
description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u51FA\u73B0\u3002"
|
|
1553
|
-
}
|
|
1554
|
-
);
|
|
1555
|
-
infrastructureFailureNested.required = [];
|
|
1556
|
-
infrastructureFailureDeclarationSchema = Type2.Object(
|
|
1557
|
-
{
|
|
1558
|
-
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureNested
|
|
1559
|
-
},
|
|
1560
|
-
{ additionalProperties: true }
|
|
1561
|
-
);
|
|
1543
|
+
infrastructureFailureField = Type2.Unknown({
|
|
1544
|
+
description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u586B {diagnostic}\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
1545
|
+
});
|
|
1562
1546
|
}
|
|
1563
1547
|
});
|
|
1564
1548
|
|
|
@@ -1578,10 +1562,10 @@ var init_gatekeeper_output = __esm({
|
|
|
1578
1562
|
description: "dispatch | pass"
|
|
1579
1563
|
}),
|
|
1580
1564
|
officer: Type3.Unknown({
|
|
1581
|
-
description: "status \u4E3A dispatch \u65F6\
|
|
1565
|
+
description: "\u4EC5 status \u4E3A dispatch \u65F6\u586B inspector | notary\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
1582
1566
|
}),
|
|
1583
1567
|
findings: Type3.Unknown({
|
|
1584
|
-
description: "status \u4E3A pass \u65F6\
|
|
1568
|
+
description: "\u4EC5 status \u4E3A pass \u65F6\u586B string[] findings\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
1585
1569
|
})
|
|
1586
1570
|
})
|
|
1587
1571
|
);
|
|
@@ -1682,13 +1666,13 @@ var init_navigator_output = __esm({
|
|
|
1682
1666
|
NAVIGATOR_OUTPUT_TOOL_NAME = "ak_navigator_output";
|
|
1683
1667
|
navigatorAdviceFields = {
|
|
1684
1668
|
prose: Type4.Unknown({
|
|
1685
|
-
description: "\u5355\u6761\u6563\u6587\u5EFA\u8BAE\
|
|
1669
|
+
description: "\u4EC5\u65E0\u72B6\u6001\u5206\u53C9\u65F6\u586B\u5355\u6761\u6563\u6587\u5EFA\u8BAE\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u539F\u6837\u5448\u73B0\u3002"
|
|
1686
1670
|
}),
|
|
1687
1671
|
byStatus: Type4.Unknown({
|
|
1688
1672
|
description: "\u6309\u4E3B\u8859\u95E8\u7ED3\u5C40 status \u9884\u5199\u7684\u6563\u6587\u5EFA\u8BAE\u3002\u952E\u4E3A status \u5B57\u9762\u91CF\uFF0C\u503C\u4E3A\u5EFA\u8BAE\u6B63\u6587\u3002\u7ED3\u7B97\u65F6\u4EE3\u7801\u53EA\u6309\u5B9E\u9645 status \u53D6\u5BF9\u5E94\u539F\u6587\uFF0C\u4E0D\u89E3\u6790\u5EFA\u8BAE\u8BED\u4E49\u3002"
|
|
1689
1673
|
}),
|
|
1690
1674
|
byRole: Type4.Unknown({
|
|
1691
|
-
description: "\u6574\u5F20\u8DEF\u7EBF\u8868\
|
|
1675
|
+
description: "\u4EC5\u76F4\u63A5\u5165\u53E3\u4E0D\u7ED9\u89D2\u8272\u65F6\u586B\u6574\u5F20\u8DEF\u7EBF\u8868\uFF08\u952E\u4E3A\u8859\u95E8\u89D2\u8272\uFF0C\u503C\u4E3A\u8BE5\u8859\u95E8 status \u2192 \u5EFA\u8BAE\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
1692
1676
|
})
|
|
1693
1677
|
};
|
|
1694
1678
|
navigatorAdviceBodySchema = openToolObject(Type4.Object(navigatorAdviceFields));
|
|
@@ -1721,7 +1705,7 @@ var init_review_submission = __esm({
|
|
|
1721
1705
|
reason: Type5.Optional(Type5.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
|
|
1722
1706
|
violations: Type5.Optional(Type5.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
|
|
1723
1707
|
conflicts: Type5.Optional(Type5.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
|
|
1724
|
-
fix: Type5.Optional(Type5.Unknown({ description: "continue \u65F6\
|
|
1708
|
+
fix: Type5.Optional(Type5.Unknown({ description: "\u4EC5 continue \u65F6\u586B\u8865\u6551\u8BF4\u660E\uFF08\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null" })),
|
|
1725
1709
|
classes: Type5.Optional(Type5.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
|
|
1726
1710
|
note: Type5.Optional(Type5.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
|
|
1727
1711
|
evidence: Type5.Optional(Type5.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
|
|
@@ -1812,7 +1796,7 @@ var init_reviewer_output = __esm({
|
|
|
1812
1796
|
init_open_tool_schema();
|
|
1813
1797
|
init_terminating_infrastructure();
|
|
1814
1798
|
REVIEWER_OUTPUT_TOOL_NAME = "ak_reviewer_output";
|
|
1815
|
-
REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\
|
|
1799
|
+
REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\u5404\u8F74\uFF08completeness / correctness\uFF09\u4EC5\u6709\u5DF2\u4EA7\u51FA\u62A5\u544A\u65F6\u586B\u62A5\u544A\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002hard-stop\uFF0Fusage error \u4E3A refused \u65F6\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u5BF9\u5E94 lens \u5B57\u6BB5\u3002";
|
|
1816
1800
|
REVIEWER_STATUS_DESCRIPTION = "completed | refused\u3002\u4E24\u79CD\u6B63\u5E38 lens verdict\uFF08completeness / correctness\uFF09\u5747 completed\uFF1Bhard-stop \u4E0E usage error \u4E3A refused\uFF08\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u8FDB\u6240\u9009 lens amendments\uFF09\u3002";
|
|
1817
1801
|
reviewerOutputObject = Type6.Object({
|
|
1818
1802
|
status: Type6.Unknown({ description: REVIEWER_STATUS_DESCRIPTION }),
|
|
@@ -1871,7 +1855,7 @@ var init_fixer_output = __esm({
|
|
|
1871
1855
|
}),
|
|
1872
1856
|
diffItems: diffItemsField,
|
|
1873
1857
|
testEvidence: Type8.Unknown({
|
|
1874
|
-
description: "\
|
|
1858
|
+
description: "\u4EC5 diff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u586B\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
|
|
1875
1859
|
})
|
|
1876
1860
|
});
|
|
1877
1861
|
fixerOutputSchema = withTerminatingOutputDeclarations(
|
|
@@ -1956,7 +1940,7 @@ var init_doctor_contracts = __esm({
|
|
|
1956
1940
|
description: `\u9010\u6761\u8D44\u4EA7\u89C2\u5BDF\u4E0E\u5904\u65B9\uFF0C\u539F\u6837\u7559\u5B58\u3002\u4E00\u6761\u53EF\u542B targetKey\u3001targetKind\uFF08${DOCTOR_TARGET_KINDS.join(" | ")}\uFF09\u3001observation\u3001evidenceIds\u3001disposition\uFF08${DOCTOR_DISPOSITIONS.join(" | ")}\uFF09\u3001assetEvidence\uFF08targetKey\u3001targetKind\u3001evidenceId\uFF09\u3001guardrails\uFF08reproducibleFailure\u3001owningSeamOrInvariant\u3001deletionOrSimplificationSuffices\uFF0C\u5404\u9879\u53EF\u542B answer\u3001evidenceIds\u3001explanation\uFF09\u3001prescription\uFF08kind \u4E3A ${DOCTOR_PRESCRIPTION_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 recommendation\u3001necessityExplanation\uFF09\u3001lastRealBite\uFF08kind \u4E3A ${DOCTOR_BITE_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 targetKey\u3001evidenceId\u3001eligibleEvidenceIds\uFF09\u3002\u4E0D\u8981\u6C42\u4EFB\u4F55\u5904\u65B9\u6216\u53EF\u590D\u7528 finding\uFF1B\u7F3A\u53EF\u590D\u7528\u8D44\u4EA7\u6216 bounded-bite \u8BC1\u636E\u53EA\u6392\u9664\u5BF9\u5E94\u8D44\u4EA7\u5904\u65B9\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002`
|
|
1957
1941
|
}),
|
|
1958
1942
|
reason: Type10.Unknown({
|
|
1959
|
-
description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\
|
|
1943
|
+
description: "\u4EC5 refused \u65F6\u586B\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
1960
1944
|
}),
|
|
1961
1945
|
missingEvidence: Type10.Unknown({
|
|
1962
1946
|
description: "\u5982\u5B9E\u8BC1\u8BCD\u6240\u9700\u800C\u5C1A\u7F3A\u7684\u8BC1\u636E\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982\u6BCF\u9879 need\u3001targetKeys\uFF09\u3002"
|
|
@@ -2247,7 +2231,7 @@ var init_ticket_provenance_contracts = __esm({
|
|
|
2247
2231
|
import { Type as Type13 } from "typebox";
|
|
2248
2232
|
function projectDiaristSessions(value) {
|
|
2249
2233
|
const raw = value?.sessions;
|
|
2250
|
-
if (raw
|
|
2234
|
+
if (raw == null) return [];
|
|
2251
2235
|
return projectTicketProvenanceSessions(raw);
|
|
2252
2236
|
}
|
|
2253
2237
|
function projectDiaristTicketSessions(value) {
|
|
@@ -2284,15 +2268,17 @@ var init_diarist_contracts = __esm({
|
|
|
2284
2268
|
}),
|
|
2285
2269
|
ticketNumber: Type13.Optional(
|
|
2286
2270
|
Type13.Unknown({
|
|
2287
|
-
description: "\u672C\u5EAD\u5BF9\u8C61\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\
|
|
2271
|
+
description: "\u4EC5\u6709\u672C\u5EAD\u5BF9\u8C61\u65F6\u586B\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null\uFF1D\u771F\u65E0\u7968\uFF1B\u4E0B\u6E38\u8D70 typed \u952E\uFF1B\u8BA4\u4E0D\u51FA\u7528 status=escalate\uFF0C\u4E0D\u6D17\u6210\u65E0\u5F55\u3002\u673A\u68B0\u5C42\u4E0D\u91CD\u5224\u3002"
|
|
2288
2272
|
})
|
|
2289
2273
|
),
|
|
2290
2274
|
reason: Type13.Unknown({
|
|
2291
|
-
description: "status \u4E3A escalate \u65F6\
|
|
2275
|
+
description: "\u4EC5 status \u4E3A escalate \u65F6\u586B\u4E0A\u5448\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
2292
2276
|
}),
|
|
2293
|
-
sessions: Type13.Optional(Type13.Unknown({
|
|
2277
|
+
sessions: Type13.Optional(Type13.Unknown({
|
|
2278
|
+
description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
|
|
2279
|
+
})),
|
|
2294
2280
|
ticketSessions: Type13.Unknown({
|
|
2295
|
-
description: `\u591A\u7968\u5EAD\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002
|
|
2281
|
+
description: `\u4EC5\u591A\u7968\u5EAD\u65F6\u586B\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002`
|
|
2296
2282
|
})
|
|
2297
2283
|
})
|
|
2298
2284
|
)
|
|
@@ -3119,7 +3105,7 @@ var init_collector_tool_schemas = __esm({
|
|
|
3119
3105
|
description: "\u6309\u673A\u5668\u8EAB\u4EFD\u5F52\u7EC4\u7684\u51FA\u5E2D\u3001\u6750\u6599\u4E0E\u9010\u6761 findings\uFF08LLM \u81EA\u884C\u4ECE\u5BBF\u4E3B CLI \u53D6\u8BC1\u6574\u7406\uFF1B\u4EE3\u7801\u4E0D\u4EE3\u6536\u4E0D\u5F52\u5E76\uFF09\u3002"
|
|
3120
3106
|
}),
|
|
3121
3107
|
unfinishedReasons: Type15.Unknown({
|
|
3122
|
-
description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\
|
|
3108
|
+
description: "\u4EC5\u53D6\u8BC1\u53D7\u9650\u65F6\u586B\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
3123
3109
|
})
|
|
3124
3110
|
})
|
|
3125
3111
|
);
|
|
@@ -5095,20 +5081,20 @@ function isCodexOwnerResponseItemUser(message) {
|
|
|
5095
5081
|
if (kinds === void 0) return false;
|
|
5096
5082
|
return kinds.some((kind) => kind.startsWith("user."));
|
|
5097
5083
|
}
|
|
5098
|
-
function fromQueueEvent(row) {
|
|
5099
|
-
if (row.type !== "queue-operation" || row.operation !== "enqueue") return [];
|
|
5100
|
-
const content = row.content;
|
|
5101
|
-
if (typeof content !== "string" || content === "") return [];
|
|
5102
|
-
const id = nativeEventId(row);
|
|
5103
|
-
return [{ speaker: "owner", text: content, ...id === void 0 ? {} : { id } }];
|
|
5104
|
-
}
|
|
5105
5084
|
function hasFixedOpenTagPrefix(content, tag) {
|
|
5106
5085
|
if (!content.startsWith(tag)) return false;
|
|
5107
5086
|
const next = content.charAt(tag.length);
|
|
5108
5087
|
return next === "" || next === ">" || next === " " || next === " " || next === "\n" || next === "\r";
|
|
5109
5088
|
}
|
|
5110
|
-
function
|
|
5111
|
-
|
|
5089
|
+
function fromQueuedCommandAttachment(row) {
|
|
5090
|
+
if (!isRecord(row.attachment) || row.attachment.type !== "queued_command") return [];
|
|
5091
|
+
const kind = materializationOriginKind(row.attachment);
|
|
5092
|
+
if (isNonOwnerOriginKind(kind)) return [];
|
|
5093
|
+
const text = textParts(row.attachment.prompt).join("");
|
|
5094
|
+
if (text === "") return [];
|
|
5095
|
+
if (kind === void 0 && hasFixedOpenTagPrefix(text, TASK_NOTIFICATION_OPEN_TAG)) return [];
|
|
5096
|
+
const id = nativeEventId(row);
|
|
5097
|
+
return [{ speaker: "owner", text, ...id === void 0 ? {} : { id } }];
|
|
5112
5098
|
}
|
|
5113
5099
|
function materializationOriginKind(row) {
|
|
5114
5100
|
if (!isRecord(row.origin)) return void 0;
|
|
@@ -5138,13 +5124,10 @@ function fromMessageEvent(row) {
|
|
|
5138
5124
|
function adaptSessionDialogue(rows) {
|
|
5139
5125
|
return rows.map((row) => {
|
|
5140
5126
|
if (row === void 0) return [];
|
|
5127
|
+
if (row.type === "queue-operation" || row.type === "api-request-blob") return [];
|
|
5128
|
+
if (row.type === "attachment") return fromQueuedCommandAttachment(row);
|
|
5141
5129
|
const originKind = materializationOriginKind(row);
|
|
5142
5130
|
if (isNonOwnerOriginKind(originKind)) return [];
|
|
5143
|
-
if (row.type === "queue-operation" && row.operation === "enqueue" && typeof row.content === "string" && isFixedNonOwnerEnqueueShape(row.content)) {
|
|
5144
|
-
return [];
|
|
5145
|
-
}
|
|
5146
|
-
const queued = fromQueueEvent(row);
|
|
5147
|
-
if (queued.length > 0) return queued;
|
|
5148
5131
|
return fromMessageEvent(row);
|
|
5149
5132
|
});
|
|
5150
5133
|
}
|
|
@@ -11,7 +11,7 @@ export const collectorOutputBaseSchema = openToolObject(Type.Object({
|
|
|
11
11
|
description: "按机器身份归组的出席、材料与逐条 findings(LLM 自行从宿主 CLI 取证整理;代码不代收不归并)。",
|
|
12
12
|
}),
|
|
13
13
|
unfinishedReasons: Type.Unknown({
|
|
14
|
-
description: "
|
|
14
|
+
description: "仅取证受限时填未完成原因;没有就填 null",
|
|
15
15
|
}),
|
|
16
16
|
}));
|
|
17
17
|
/** Runtime does not enrich findings; the model submits the receipt and signals sole-final. */
|
|
@@ -31,11 +31,11 @@ export function validateRecordedDiaristOutput(value) {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Project sessions from a completed diarist payload.
|
|
34
|
-
*
|
|
34
|
+
* Null / absent key → empty (lawful). Non-null but unusable → undefined (caller reasks).
|
|
35
35
|
*/
|
|
36
36
|
export function projectDiaristSessions(value) {
|
|
37
37
|
const raw = value?.sessions;
|
|
38
|
-
if (raw
|
|
38
|
+
if (raw == null)
|
|
39
39
|
return [];
|
|
40
40
|
return projectTicketProvenanceSessions(raw);
|
|
41
41
|
}
|
|
@@ -72,13 +72,15 @@ export const diaristOutputSchema = withTerminatingOutputDeclarations(openToolObj
|
|
|
72
72
|
description: "completed | escalate",
|
|
73
73
|
}),
|
|
74
74
|
ticketNumber: Type.Optional(Type.Unknown({
|
|
75
|
-
description: "
|
|
75
|
+
description: "仅有本庭对象时填票号(正整数);没有就填 null=真无票;下游走 typed 键;认不出用 status=escalate,不洗成无录。机械层不重判。",
|
|
76
76
|
})),
|
|
77
77
|
reason: Type.Unknown({
|
|
78
|
-
description: "status 为 escalate
|
|
78
|
+
description: "仅 status 为 escalate 时填上呈的原因;没有就填 null",
|
|
79
79
|
}),
|
|
80
|
-
sessions: Type.Optional(Type.Unknown({
|
|
80
|
+
sessions: Type.Optional(Type.Unknown({
|
|
81
|
+
description: `仅单票庭时填对话边界;没有就填 null。${DIARIST_SESSIONS_DESCRIPTION}`,
|
|
82
|
+
})),
|
|
81
83
|
ticketSessions: Type.Unknown({
|
|
82
|
-
description:
|
|
84
|
+
description: `仅多票庭时填逐票对话边界;没有就填 null。每票含 ticketNumber(本条边界所归票号,正整数)与 sessions(${DIARIST_SESSIONS_DESCRIPTION})。一次交卷各票各自分录。`,
|
|
83
85
|
}),
|
|
84
86
|
})));
|
package/dist/doctor-contracts.js
CHANGED
|
@@ -23,7 +23,7 @@ const doctorSubmissionObject = Type.Object({
|
|
|
23
23
|
description: `\u9010\u6761\u8D44\u4EA7\u89C2\u5BDF\u4E0E\u5904\u65B9\uFF0C\u539F\u6837\u7559\u5B58\u3002\u4E00\u6761\u53EF\u542B targetKey\u3001targetKind\uFF08${DOCTOR_TARGET_KINDS.join(" | ")}\uFF09\u3001observation\u3001evidenceIds\u3001disposition\uFF08${DOCTOR_DISPOSITIONS.join(" | ")}\uFF09\u3001assetEvidence\uFF08targetKey\u3001targetKind\u3001evidenceId\uFF09\u3001guardrails\uFF08reproducibleFailure\u3001owningSeamOrInvariant\u3001deletionOrSimplificationSuffices\uFF0C\u5404\u9879\u53EF\u542B answer\u3001evidenceIds\u3001explanation\uFF09\u3001prescription\uFF08kind \u4E3A ${DOCTOR_PRESCRIPTION_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 recommendation\u3001necessityExplanation\uFF09\u3001lastRealBite\uFF08kind \u4E3A ${DOCTOR_BITE_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 targetKey\u3001evidenceId\u3001eligibleEvidenceIds\uFF09\u3002\u4E0D\u8981\u6C42\u4EFB\u4F55\u5904\u65B9\u6216\u53EF\u590D\u7528 finding\uFF1B\u7F3A\u53EF\u590D\u7528\u8D44\u4EA7\u6216 bounded-bite \u8BC1\u636E\u53EA\u6392\u9664\u5BF9\u5E94\u8D44\u4EA7\u5904\u65B9\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002`
|
|
24
24
|
}),
|
|
25
25
|
reason: Type.Unknown({
|
|
26
|
-
description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\
|
|
26
|
+
description: "\u4EC5 refused \u65F6\u586B\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
27
27
|
}),
|
|
28
28
|
missingEvidence: Type.Unknown({
|
|
29
29
|
description: "\u5982\u5B9E\u8BC1\u8BCD\u6240\u9700\u800C\u5C1A\u7F3A\u7684\u8BC1\u636E\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982\u6BCF\u9879 need\u3001targetKeys\uFF09\u3002"
|
|
@@ -452,15 +452,15 @@ function withTerminatingOutputDeclarations(schema) {
|
|
|
452
452
|
...baseProperties ?? {},
|
|
453
453
|
...baseProperties?.ticketNumber === void 0 ? {
|
|
454
454
|
ticketNumber: Type.Unknown({
|
|
455
|
-
description: "\
|
|
455
|
+
description: "\u4EC5\u5C1A\u672A\u7ED1\u5B9A\u65F6\u586B\u672C\u7968\u53F7\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF1B\u5F52\u4F4D\u53EA\u8BFB\u672C\u5B57\u6BB5\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
456
456
|
})
|
|
457
457
|
} : {},
|
|
458
458
|
...baseProperties?.summary === void 0 ? {
|
|
459
459
|
summary: Type.Unknown({
|
|
460
|
-
description: "\u672C\u5E2D\
|
|
460
|
+
description: "\u4EC5\u672C\u5E2D\u6709\u7ED3\u8BBA\u65F6\u586B\u4E00\u4E24\u53E5\u300120\u201350 \u5B57\u7ED3\u8BBA\u6458\u8981\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u4E0D\u56E0\u7F3A\u5931\u6216\u8D85\u957F\u62D2\u6536\u3001\u622A\u65AD\u6216\u4EE3\u586B\u3002"
|
|
461
461
|
})
|
|
462
462
|
} : {},
|
|
463
|
-
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]:
|
|
463
|
+
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureField
|
|
464
464
|
};
|
|
465
465
|
const object = Type.Object(properties, { additionalProperties: true });
|
|
466
466
|
const incoming = schema.required;
|
|
@@ -468,30 +468,14 @@ function withTerminatingOutputDeclarations(schema) {
|
|
|
468
468
|
object.required = preserved;
|
|
469
469
|
return object;
|
|
470
470
|
}
|
|
471
|
-
var INFRASTRUCTURE_FAILURE_DECLARATION_KEY,
|
|
471
|
+
var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, infrastructureFailureField;
|
|
472
472
|
var init_terminating_infrastructure = __esm({
|
|
473
473
|
"src/package-contracts/terminating-infrastructure.ts"() {
|
|
474
474
|
"use strict";
|
|
475
475
|
INFRASTRUCTURE_FAILURE_DECLARATION_KEY = "infrastructureFailure";
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
[INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY]: Type.Unknown({
|
|
480
|
-
description: "\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u8BCA\u65AD\u5B57\u7B26\u4E32\u3002"
|
|
481
|
-
})
|
|
482
|
-
},
|
|
483
|
-
{
|
|
484
|
-
additionalProperties: true,
|
|
485
|
-
description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u51FA\u73B0\u3002"
|
|
486
|
-
}
|
|
487
|
-
);
|
|
488
|
-
infrastructureFailureNested.required = [];
|
|
489
|
-
infrastructureFailureDeclarationSchema = Type.Object(
|
|
490
|
-
{
|
|
491
|
-
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureNested
|
|
492
|
-
},
|
|
493
|
-
{ additionalProperties: true }
|
|
494
|
-
);
|
|
476
|
+
infrastructureFailureField = Type.Unknown({
|
|
477
|
+
description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u586B {diagnostic}\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
478
|
+
});
|
|
495
479
|
}
|
|
496
480
|
});
|
|
497
481
|
|
|
@@ -520,7 +504,7 @@ var init_review_submission = __esm({
|
|
|
520
504
|
reason: Type2.Optional(Type2.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
|
|
521
505
|
violations: Type2.Optional(Type2.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
|
|
522
506
|
conflicts: Type2.Optional(Type2.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
|
|
523
|
-
fix: Type2.Optional(Type2.Unknown({ description: "continue \u65F6\
|
|
507
|
+
fix: Type2.Optional(Type2.Unknown({ description: "\u4EC5 continue \u65F6\u586B\u8865\u6551\u8BF4\u660E\uFF08\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null" })),
|
|
524
508
|
classes: Type2.Optional(Type2.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
|
|
525
509
|
note: Type2.Optional(Type2.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
|
|
526
510
|
evidence: Type2.Optional(Type2.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
|
|
@@ -634,7 +618,7 @@ var init_reviewer_output = __esm({
|
|
|
634
618
|
init_open_tool_schema();
|
|
635
619
|
init_terminating_infrastructure();
|
|
636
620
|
REVIEWER_OUTPUT_TOOL_NAME = "ak_reviewer_output";
|
|
637
|
-
REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\
|
|
621
|
+
REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\u5404\u8F74\uFF08completeness / correctness\uFF09\u4EC5\u6709\u5DF2\u4EA7\u51FA\u62A5\u544A\u65F6\u586B\u62A5\u544A\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002hard-stop\uFF0Fusage error \u4E3A refused \u65F6\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u5BF9\u5E94 lens \u5B57\u6BB5\u3002";
|
|
638
622
|
REVIEWER_STATUS_DESCRIPTION = "completed | refused\u3002\u4E24\u79CD\u6B63\u5E38 lens verdict\uFF08completeness / correctness\uFF09\u5747 completed\uFF1Bhard-stop \u4E0E usage error \u4E3A refused\uFF08\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u8FDB\u6240\u9009 lens amendments\uFF09\u3002";
|
|
639
623
|
reviewerOutputObject = Type4.Object({
|
|
640
624
|
status: Type4.Unknown({ description: REVIEWER_STATUS_DESCRIPTION }),
|
|
@@ -665,10 +649,10 @@ var init_gatekeeper_output = __esm({
|
|
|
665
649
|
description: "dispatch | pass"
|
|
666
650
|
}),
|
|
667
651
|
officer: Type5.Unknown({
|
|
668
|
-
description: "status \u4E3A dispatch \u65F6\
|
|
652
|
+
description: "\u4EC5 status \u4E3A dispatch \u65F6\u586B inspector | notary\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
669
653
|
}),
|
|
670
654
|
findings: Type5.Unknown({
|
|
671
|
-
description: "status \u4E3A pass \u65F6\
|
|
655
|
+
description: "\u4EC5 status \u4E3A pass \u65F6\u586B string[] findings\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
672
656
|
})
|
|
673
657
|
})
|
|
674
658
|
);
|
|
@@ -769,13 +753,13 @@ var init_navigator_output = __esm({
|
|
|
769
753
|
NAVIGATOR_OUTPUT_TOOL_NAME = "ak_navigator_output";
|
|
770
754
|
navigatorAdviceFields = {
|
|
771
755
|
prose: Type6.Unknown({
|
|
772
|
-
description: "\u5355\u6761\u6563\u6587\u5EFA\u8BAE\
|
|
756
|
+
description: "\u4EC5\u65E0\u72B6\u6001\u5206\u53C9\u65F6\u586B\u5355\u6761\u6563\u6587\u5EFA\u8BAE\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u539F\u6837\u5448\u73B0\u3002"
|
|
773
757
|
}),
|
|
774
758
|
byStatus: Type6.Unknown({
|
|
775
759
|
description: "\u6309\u4E3B\u8859\u95E8\u7ED3\u5C40 status \u9884\u5199\u7684\u6563\u6587\u5EFA\u8BAE\u3002\u952E\u4E3A status \u5B57\u9762\u91CF\uFF0C\u503C\u4E3A\u5EFA\u8BAE\u6B63\u6587\u3002\u7ED3\u7B97\u65F6\u4EE3\u7801\u53EA\u6309\u5B9E\u9645 status \u53D6\u5BF9\u5E94\u539F\u6587\uFF0C\u4E0D\u89E3\u6790\u5EFA\u8BAE\u8BED\u4E49\u3002"
|
|
776
760
|
}),
|
|
777
761
|
byRole: Type6.Unknown({
|
|
778
|
-
description: "\u6574\u5F20\u8DEF\u7EBF\u8868\
|
|
762
|
+
description: "\u4EC5\u76F4\u63A5\u5165\u53E3\u4E0D\u7ED9\u89D2\u8272\u65F6\u586B\u6574\u5F20\u8DEF\u7EBF\u8868\uFF08\u952E\u4E3A\u8859\u95E8\u89D2\u8272\uFF0C\u503C\u4E3A\u8BE5\u8859\u95E8 status \u2192 \u5EFA\u8BAE\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
779
763
|
})
|
|
780
764
|
};
|
|
781
765
|
navigatorAdviceBodySchema = openToolObject(Type6.Object(navigatorAdviceFields));
|
|
@@ -827,7 +811,7 @@ var init_fixer_output = __esm({
|
|
|
827
811
|
}),
|
|
828
812
|
diffItems: diffItemsField,
|
|
829
813
|
testEvidence: Type8.Unknown({
|
|
830
|
-
description: "\
|
|
814
|
+
description: "\u4EC5 diff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u586B\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
|
|
831
815
|
})
|
|
832
816
|
});
|
|
833
817
|
fixerOutputSchema = withTerminatingOutputDeclarations(
|
|
@@ -912,7 +896,7 @@ var init_doctor_contracts = __esm({
|
|
|
912
896
|
description: `\u9010\u6761\u8D44\u4EA7\u89C2\u5BDF\u4E0E\u5904\u65B9\uFF0C\u539F\u6837\u7559\u5B58\u3002\u4E00\u6761\u53EF\u542B targetKey\u3001targetKind\uFF08${DOCTOR_TARGET_KINDS.join(" | ")}\uFF09\u3001observation\u3001evidenceIds\u3001disposition\uFF08${DOCTOR_DISPOSITIONS.join(" | ")}\uFF09\u3001assetEvidence\uFF08targetKey\u3001targetKind\u3001evidenceId\uFF09\u3001guardrails\uFF08reproducibleFailure\u3001owningSeamOrInvariant\u3001deletionOrSimplificationSuffices\uFF0C\u5404\u9879\u53EF\u542B answer\u3001evidenceIds\u3001explanation\uFF09\u3001prescription\uFF08kind \u4E3A ${DOCTOR_PRESCRIPTION_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 recommendation\u3001necessityExplanation\uFF09\u3001lastRealBite\uFF08kind \u4E3A ${DOCTOR_BITE_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 targetKey\u3001evidenceId\u3001eligibleEvidenceIds\uFF09\u3002\u4E0D\u8981\u6C42\u4EFB\u4F55\u5904\u65B9\u6216\u53EF\u590D\u7528 finding\uFF1B\u7F3A\u53EF\u590D\u7528\u8D44\u4EA7\u6216 bounded-bite \u8BC1\u636E\u53EA\u6392\u9664\u5BF9\u5E94\u8D44\u4EA7\u5904\u65B9\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002`
|
|
913
897
|
}),
|
|
914
898
|
reason: Type10.Unknown({
|
|
915
|
-
description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\
|
|
899
|
+
description: "\u4EC5 refused \u65F6\u586B\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
916
900
|
}),
|
|
917
901
|
missingEvidence: Type10.Unknown({
|
|
918
902
|
description: "\u5982\u5B9E\u8BC1\u8BCD\u6240\u9700\u800C\u5C1A\u7F3A\u7684\u8BC1\u636E\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982\u6BCF\u9879 need\u3001targetKeys\uFF09\u3002"
|
|
@@ -2117,7 +2101,7 @@ var init_ticket_provenance_contracts = __esm({
|
|
|
2117
2101
|
import { Type as Type13 } from "typebox";
|
|
2118
2102
|
function projectDiaristSessions(value) {
|
|
2119
2103
|
const raw = value?.sessions;
|
|
2120
|
-
if (raw
|
|
2104
|
+
if (raw == null) return [];
|
|
2121
2105
|
return projectTicketProvenanceSessions(raw);
|
|
2122
2106
|
}
|
|
2123
2107
|
function projectDiaristTicketSessions(value) {
|
|
@@ -2154,15 +2138,17 @@ var init_diarist_contracts = __esm({
|
|
|
2154
2138
|
}),
|
|
2155
2139
|
ticketNumber: Type13.Optional(
|
|
2156
2140
|
Type13.Unknown({
|
|
2157
|
-
description: "\u672C\u5EAD\u5BF9\u8C61\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\
|
|
2141
|
+
description: "\u4EC5\u6709\u672C\u5EAD\u5BF9\u8C61\u65F6\u586B\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null\uFF1D\u771F\u65E0\u7968\uFF1B\u4E0B\u6E38\u8D70 typed \u952E\uFF1B\u8BA4\u4E0D\u51FA\u7528 status=escalate\uFF0C\u4E0D\u6D17\u6210\u65E0\u5F55\u3002\u673A\u68B0\u5C42\u4E0D\u91CD\u5224\u3002"
|
|
2158
2142
|
})
|
|
2159
2143
|
),
|
|
2160
2144
|
reason: Type13.Unknown({
|
|
2161
|
-
description: "status \u4E3A escalate \u65F6\
|
|
2145
|
+
description: "\u4EC5 status \u4E3A escalate \u65F6\u586B\u4E0A\u5448\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
2162
2146
|
}),
|
|
2163
|
-
sessions: Type13.Optional(Type13.Unknown({
|
|
2147
|
+
sessions: Type13.Optional(Type13.Unknown({
|
|
2148
|
+
description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
|
|
2149
|
+
})),
|
|
2164
2150
|
ticketSessions: Type13.Unknown({
|
|
2165
|
-
description: `\u591A\u7968\u5EAD\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002
|
|
2151
|
+
description: `\u4EC5\u591A\u7968\u5EAD\u65F6\u586B\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002`
|
|
2166
2152
|
})
|
|
2167
2153
|
})
|
|
2168
2154
|
)
|
|
@@ -4382,7 +4368,7 @@ var init_collector_tool_schemas = __esm({
|
|
|
4382
4368
|
description: "\u6309\u673A\u5668\u8EAB\u4EFD\u5F52\u7EC4\u7684\u51FA\u5E2D\u3001\u6750\u6599\u4E0E\u9010\u6761 findings\uFF08LLM \u81EA\u884C\u4ECE\u5BBF\u4E3B CLI \u53D6\u8BC1\u6574\u7406\uFF1B\u4EE3\u7801\u4E0D\u4EE3\u6536\u4E0D\u5F52\u5E76\uFF09\u3002"
|
|
4383
4369
|
}),
|
|
4384
4370
|
unfinishedReasons: Type15.Unknown({
|
|
4385
|
-
description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\
|
|
4371
|
+
description: "\u4EC5\u53D6\u8BC1\u53D7\u9650\u65F6\u586B\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
4386
4372
|
})
|
|
4387
4373
|
})
|
|
4388
4374
|
);
|
|
@@ -6416,20 +6402,20 @@ function isCodexOwnerResponseItemUser(message) {
|
|
|
6416
6402
|
if (kinds === void 0) return false;
|
|
6417
6403
|
return kinds.some((kind) => kind.startsWith("user."));
|
|
6418
6404
|
}
|
|
6419
|
-
function fromQueueEvent(row) {
|
|
6420
|
-
if (row.type !== "queue-operation" || row.operation !== "enqueue") return [];
|
|
6421
|
-
const content = row.content;
|
|
6422
|
-
if (typeof content !== "string" || content === "") return [];
|
|
6423
|
-
const id = nativeEventId(row);
|
|
6424
|
-
return [{ speaker: "owner", text: content, ...id === void 0 ? {} : { id } }];
|
|
6425
|
-
}
|
|
6426
6405
|
function hasFixedOpenTagPrefix(content, tag) {
|
|
6427
6406
|
if (!content.startsWith(tag)) return false;
|
|
6428
6407
|
const next = content.charAt(tag.length);
|
|
6429
6408
|
return next === "" || next === ">" || next === " " || next === " " || next === "\n" || next === "\r";
|
|
6430
6409
|
}
|
|
6431
|
-
function
|
|
6432
|
-
|
|
6410
|
+
function fromQueuedCommandAttachment(row) {
|
|
6411
|
+
if (!isRecord(row.attachment) || row.attachment.type !== "queued_command") return [];
|
|
6412
|
+
const kind = materializationOriginKind(row.attachment);
|
|
6413
|
+
if (isNonOwnerOriginKind(kind)) return [];
|
|
6414
|
+
const text = textParts(row.attachment.prompt).join("");
|
|
6415
|
+
if (text === "") return [];
|
|
6416
|
+
if (kind === void 0 && hasFixedOpenTagPrefix(text, TASK_NOTIFICATION_OPEN_TAG)) return [];
|
|
6417
|
+
const id = nativeEventId(row);
|
|
6418
|
+
return [{ speaker: "owner", text, ...id === void 0 ? {} : { id } }];
|
|
6433
6419
|
}
|
|
6434
6420
|
function materializationOriginKind(row) {
|
|
6435
6421
|
if (!isRecord(row.origin)) return void 0;
|
|
@@ -6459,13 +6445,10 @@ function fromMessageEvent(row) {
|
|
|
6459
6445
|
function adaptSessionDialogue(rows) {
|
|
6460
6446
|
return rows.map((row) => {
|
|
6461
6447
|
if (row === void 0) return [];
|
|
6448
|
+
if (row.type === "queue-operation" || row.type === "api-request-blob") return [];
|
|
6449
|
+
if (row.type === "attachment") return fromQueuedCommandAttachment(row);
|
|
6462
6450
|
const originKind = materializationOriginKind(row);
|
|
6463
6451
|
if (isNonOwnerOriginKind(originKind)) return [];
|
|
6464
|
-
if (row.type === "queue-operation" && row.operation === "enqueue" && typeof row.content === "string" && isFixedNonOwnerEnqueueShape(row.content)) {
|
|
6465
|
-
return [];
|
|
6466
|
-
}
|
|
6467
|
-
const queued = fromQueueEvent(row);
|
|
6468
|
-
if (queued.length > 0) return queued;
|
|
6469
6452
|
return fromMessageEvent(row);
|
|
6470
6453
|
});
|
|
6471
6454
|
}
|