@akagilnc/pi-workflow-roles 0.1.6080 → 0.1.6094
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/dist/acp-host/production-host.js +84 -8
- package/dist/diarist-contracts.js +40 -2
- package/dist/headless-host/production-host.js +84 -8
- package/dist/migrate-book-topology.js +84 -8
- package/dist/public-cli/main.js +84 -8
- package/dist/review-submission.js +30 -2
- package/docs/adr/0057-schema-narrowing-cuts-the-required-set-not-the-declared-set.md +1 -1
- package/package.json +1 -1
- package/souls/diarist.md +2 -1
- package/souls/notary.md +3 -1
- package/src/diarist-contracts.ts +68 -2
- package/src/review-submission.ts +41 -2
|
@@ -1682,7 +1682,7 @@ var init_navigator_output = __esm({
|
|
|
1682
1682
|
|
|
1683
1683
|
// src/review-submission.ts
|
|
1684
1684
|
import { Type as Type5 } from "typebox";
|
|
1685
|
-
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
1685
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, adrRowBase, notaryAdrRowSchema, notaryAdrField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
1686
1686
|
var init_review_submission = __esm({
|
|
1687
1687
|
"src/review-submission.ts"() {
|
|
1688
1688
|
"use strict";
|
|
@@ -1723,7 +1723,7 @@ var init_review_submission = __esm({
|
|
|
1723
1723
|
notaryClauseItemSchema = Type5.Object(
|
|
1724
1724
|
{
|
|
1725
1725
|
clause: Type5.String({
|
|
1726
|
-
description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09"
|
|
1726
|
+
description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09\uFF1B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\u4E5F\u7B97\u4E00\u6761\uFF0C\u524D\u7F00\u6587\u4EF6\u540D\u7167\u6284"
|
|
1727
1727
|
}),
|
|
1728
1728
|
ownerUuid: Type5.Union([Type5.String(), Type5.Null()], {
|
|
1729
1729
|
description: "\u63A8\u51FA\u8BE5\u6761\u7684\u965B\u4E0B\u539F\u8BDD uuid\uFF1B\u65E0\u539F\u8BDD\u5219 null"
|
|
@@ -1747,14 +1747,44 @@ var init_review_submission = __esm({
|
|
|
1747
1747
|
{ additionalProperties: true }
|
|
1748
1748
|
);
|
|
1749
1749
|
notaryClausesField = Type5.Array(notaryClauseItemSchema, {
|
|
1750
|
-
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
|
|
1750
|
+
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\uFF08\u542B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\uFF09\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
|
|
1751
|
+
});
|
|
1752
|
+
adrRowBase = {
|
|
1753
|
+
ownerUuid: Type5.String({ description: "\u965B\u4E0B\u62CD\u5B9A\u90A3\u53E5\u539F\u8BDD\u7684 uuid" }),
|
|
1754
|
+
decided: Type5.String({
|
|
1755
|
+
description: "\u90A3\u53E5\u62CD\u5B9A\u4E86\u4EC0\u4E48\uFF1A\u7167\u539F\u8BCD\uFF0C\u4E0D\u6982\u62EC\u3001\u4E0D\u5408\u5E76\uFF08\u56DB\u5C42\u5206\u5DE5\u3001\u56DB\u6761\u89C4\u77E9\u3001\u8D26\u672C\u53EA\u5B58\u4E8B\u5B9E\u2026\u2026\u4E00\u6761\u4E00\u884C\uFF09"
|
|
1756
|
+
})
|
|
1757
|
+
};
|
|
1758
|
+
notaryAdrRowSchema = Type5.Union([
|
|
1759
|
+
Type5.Object(
|
|
1760
|
+
{
|
|
1761
|
+
...adrRowBase,
|
|
1762
|
+
adr: Type5.String({ description: "\u843D\u5904\uFF1Adocs/adr \u6587\u4EF6\u540D\uFF0B\u6587\u5185\u627F\u8F7D\u8FD9\u6761\u62CD\u5B9A\u7684\u90A3\u4E00\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09" }),
|
|
1763
|
+
landed: Type5.Literal("\u843D\u4E86\uFF1AADR \u6587\u5185\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50")
|
|
1764
|
+
},
|
|
1765
|
+
{ additionalProperties: true }
|
|
1766
|
+
),
|
|
1767
|
+
Type5.Object(
|
|
1768
|
+
{
|
|
1769
|
+
...adrRowBase,
|
|
1770
|
+
adr: Type5.Null(),
|
|
1771
|
+
landed: Type5.Literal(
|
|
1772
|
+
"\u672A\u843D\uFF1AADR \u6587\u5185\u6CA1\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50\uFF1B\u7968\u9762\u6761\u6B3E\u5199\u4E86\u3001CLAUDE.md \u4E00\u7C7B\u7D22\u5F15\u8BF4\u67D0\u4EFD ADR \u542B\u5B83\u3001\u5224\u8BCD\u5F15\u8FC7\u5B83\u3001ADR \u6807\u9898\u50CF\uFF0C\u90FD\u4E0D\u662F\u843D\u5904"
|
|
1773
|
+
)
|
|
1774
|
+
},
|
|
1775
|
+
{ additionalProperties: true }
|
|
1776
|
+
)
|
|
1777
|
+
]);
|
|
1778
|
+
notaryAdrField = Type5.Array(notaryAdrRowSchema, {
|
|
1779
|
+
description: "ADR \u843D\u5904\u8868\uFF1A\u53D7\u5BA1\u4E4B\u7269\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF09\u65F6\u586B\u2014\u2014\u8D77\u5C45\u5F55\u4E0E\u6E90\u5377\u91CC\u965B\u4E0B\u62CD\u5B9A\u7684\u3001\u8BE5\u8FDB ADR \u7684\u51B3\u5B9A\uFF08\u67B6\u6784\u5F62\u72B6\u3001\u5206\u5C42\u4E0E\u8FB9\u754C\u3001\u6280\u672F\u9009\u578B\u3001\u523B\u610F\u504F\u79BB\u5E38\u89C4\u7684\u505A\u6CD5\uFF1A\u96BE\u9006\u3001\u8BFB\u4EE3\u7801\u7684\u4EBA\u4F1A\u95EE\u4E3A\u4EC0\u4E48\u7684\u90A3\u7C7B\uFF09\uFF0C\u6BCF\u6761\u4E00\u884C\uFF0C\u5230 docs/adr \u91CC\u627E\u627F\u8F7D\u5B83\u7684\u90A3\u4E00\u53E5\uFF1B\u600E\u4E48\u6D4B\u3001\u600E\u4E48\u5206\u652F\u5408\u5165\u3001\u6570\u636E\u600E\u4E48\u8865\u3001\u5B57\u6BB5\u53EB\u4EC0\u4E48\u8FD9\u7C7B\u529E\u4E8B\u65B9\u6CD5\u4E0E\u7968\u5185\u7EC6\u8282\u4E0D\u5217\u3002\u6709\u300C\u672A\u843D\u300D\u884C\uFF0Cstatus \u53EA\u80FD\u662F escalate\uFF0C\u62CD\u5B9A\u539F\u6587\u4E0E\u5B83\u8BE5\u8FDB\u54EA\u4EFD ADR \u5217\u8FDB decisionGate\uFF0C\u8FDB\u4E0D\u8FDB\u7531\u965B\u4E0B\u5B9A\u3002\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
1751
1780
|
});
|
|
1752
1781
|
notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
1753
1782
|
Type5.Object(
|
|
1754
1783
|
{
|
|
1755
1784
|
status: reviewStatusField,
|
|
1756
1785
|
...reviewNarrativeFields,
|
|
1757
|
-
clauses: notaryClausesField
|
|
1786
|
+
clauses: notaryClausesField,
|
|
1787
|
+
adr: notaryAdrField
|
|
1758
1788
|
},
|
|
1759
1789
|
{ additionalProperties: true }
|
|
1760
1790
|
)
|
|
@@ -2366,7 +2396,7 @@ function projectDiaristTicketSessions(value) {
|
|
|
2366
2396
|
}
|
|
2367
2397
|
return Array.from(perTicket, ([ticketNumber, sessions]) => ({ ticketNumber, sessions }));
|
|
2368
2398
|
}
|
|
2369
|
-
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_BOUND_ENDPOINTS, DIARIST_SESSIONS_DESCRIPTION, diaristOutputSchema;
|
|
2399
|
+
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_BOUND_ENDPOINTS, DIARIST_SESSIONS_DESCRIPTION, lastRecordedField, diaristSinceLastSchema, diaristOutputSchema;
|
|
2370
2400
|
var init_diarist_contracts = __esm({
|
|
2371
2401
|
"src/diarist-contracts.ts"() {
|
|
2372
2402
|
"use strict";
|
|
@@ -2377,7 +2407,51 @@ var init_diarist_contracts = __esm({
|
|
|
2377
2407
|
init_unknown_value();
|
|
2378
2408
|
DIARIST_OUTPUT_TOOL_NAME = "ak_diarist_output";
|
|
2379
2409
|
DIARIST_BOUND_ENDPOINTS = "\u8D77\u70B9\u4E0E\u7EC8\u70B9\u5404\u5199 id \u6216 line\uFF0C\u4E8C\u9009\u4E00\uFF1Aid\uFF1D\u4F1A\u8BDD\u5377\u91CC\u90A3\u4E00\u884C JSON \u7684 uuid \u5B57\u6BB5\u503C\uFF08\u6CA1\u6709 uuid \u53D6 id\uFF1B\u9876\u5C42\u90FD\u6CA1\u6709\u518D\u53D6 message \u6216 payload \u91CC\u7684 uuid / id\uFF09\uFF0C\u540C\u4E00 id \u51FA\u73B0\u591A\u6B21\u65F6\u53D6\u7B2C\u4E00\u6B21\u51FA\u73B0\u7684\u90A3\u4E00\u884C\uFF1Bline\uFF1D\u90A3\u4E00\u884C\u5728\u6587\u4EF6\u91CC\u4ECE 1 \u6570\u8D77\u7684\u884C\u53F7\u3002\u4E24\u7AEF\u90FD\u542B\u5728\u533A\u95F4\u5185\u3002";
|
|
2380
|
-
DIARIST_SESSIONS_DESCRIPTION = `\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B${DIARIST_BOUND_ENDPOINTS}\u533A\u95F4\u91CC\u53EA\u6709\u8BF4\u8BDD\u4EBA\u7684\u539F\u6587\u8FDB\u5F55\uFF1A\u7528\u6237\u4E0E\u52A9\u624B\u6D88\u606F\u91CC\u7684\u6587\u672C\u3001\u771F\u4EBA\u7ECF\u961F\u5217\u7684\u63D2\u8BDD\uFF1B\u601D\u8003\u3001\u5DE5\u5177\u8C03\u7528\u3001\u5DE5\u5177\u7ED3\u679C\u548C\u673A\u5668\u901A\u77E5\u4E0D\u8FDB\u5F55\uFF0C\u533A\u95F4\u53EF\u4EE5\u76F4\u63A5\u8DE8\u8FC7\u5B83\u4EEC\uFF0C\u4E0D\u5FC5\u62C6\u6BB5\u3002\u6BCF\u6B21\u4EA4\u5377\u7684\u8FB9\u754C\u7167\u6295\u5F71\u8FFD\u52A0\u8FDB\u672C\u7968\u8D77\u5C45\u5F55\uFF0C\u4E0D\u53BB\u91CD\uFF0C\u4E5F\u4E0D\u6539\u5DF2\u6709\u7684\u5F55\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002`;
|
|
2410
|
+
DIARIST_SESSIONS_DESCRIPTION = `\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B${DIARIST_BOUND_ENDPOINTS}\u533A\u95F4\u91CC\u53EA\u6709\u8BF4\u8BDD\u4EBA\u7684\u539F\u6587\u8FDB\u5F55\uFF1A\u7528\u6237\u4E0E\u52A9\u624B\u6D88\u606F\u91CC\u7684\u6587\u672C\u3001\u771F\u4EBA\u7ECF\u961F\u5217\u7684\u63D2\u8BDD\u3001\u965B\u4E0B\u7528\u659C\u6760\u547D\u4EE4\u5E26\u7684\u53C2\u6570\uFF08\u547D\u4EE4\u540D\u662F\u673A\u5668\u7684\uFF0C\u53C2\u6570\u662F\u965B\u4E0B\u8BF4\u7684\u8BDD\uFF09\uFF1B\u601D\u8003\u3001\u5DE5\u5177\u8C03\u7528\u3001\u5DE5\u5177\u7ED3\u679C\u548C\u673A\u5668\u901A\u77E5\u4E0D\u8FDB\u5F55\uFF0C\u533A\u95F4\u53EF\u4EE5\u76F4\u63A5\u8DE8\u8FC7\u5B83\u4EEC\uFF0C\u4E0D\u5FC5\u62C6\u6BB5\u3002\u6BCF\u6B21\u4EA4\u5377\u7684\u8FB9\u754C\u7167\u6295\u5F71\u8FFD\u52A0\u8FDB\u672C\u7968\u8D77\u5C45\u5F55\uFF0C\u4E0D\u53BB\u91CD\uFF0C\u4E5F\u4E0D\u6539\u5DF2\u6709\u7684\u5F55\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002`;
|
|
2411
|
+
lastRecordedField = Type13.String({
|
|
2412
|
+
description: "\u672C\u7968\u5DF2\u6709\u8D77\u5C45\u5F55\u91CC\u3001\u672C\u5377\u4E0A\u6B21\u6210\u5F55\u7684\u6700\u540E\u4E00\u884C\uFF1A\u7167\u8D77\u5C45\u5F55\u7AEF\u70B9\u5199 uuid \u6216 line"
|
|
2413
|
+
});
|
|
2414
|
+
diaristSinceLastSchema = Type13.Union(
|
|
2415
|
+
[
|
|
2416
|
+
Type13.Object(
|
|
2417
|
+
{
|
|
2418
|
+
lastRecorded: lastRecordedField,
|
|
2419
|
+
swept: Type13.Array(Type13.String(), {
|
|
2420
|
+
description: "\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\uFF0C\u965B\u4E0B\u8C08\u672C\u7968\u7684\u6BCF\u4E00\u884C\uFF0C\u4E00\u884C\u4E00\u6761\uFF0C\u7167\u8FB9\u754C\u7AEF\u70B9\u7684\u5199\u6CD5\uFF08uuid\uFF0C\u6CA1\u6709 uuid \u7684\u5199 line\uFF09\uFF1B\u8FD9\u4E9B\u884C\u90FD\u5DF2\u5212\u8FDB ranges"
|
|
2421
|
+
}),
|
|
2422
|
+
found: Type13.Literal("\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\u965B\u4E0B\u8C08\u8FC7\u672C\u7968\uFF0C\u5DF2\u5212\u8FDB ranges")
|
|
2423
|
+
},
|
|
2424
|
+
{ additionalProperties: true }
|
|
2425
|
+
),
|
|
2426
|
+
Type13.Object(
|
|
2427
|
+
{
|
|
2428
|
+
lastRecorded: lastRecordedField,
|
|
2429
|
+
swept: Type13.Null(),
|
|
2430
|
+
found: Type13.Literal("\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\u965B\u4E0B\u6CA1\u6709\u518D\u8C08\u672C\u7968")
|
|
2431
|
+
},
|
|
2432
|
+
{ additionalProperties: true }
|
|
2433
|
+
),
|
|
2434
|
+
Type13.Object(
|
|
2435
|
+
{
|
|
2436
|
+
lastRecorded: Type13.Null(),
|
|
2437
|
+
swept: Type13.Null(),
|
|
2438
|
+
found: Type13.Literal("\u672C\u5377\u5C1A\u65E0\u6210\u5F55\uFF08\u672C\u7968\u6CA1\u6709\u8D77\u5C45\u5F55\uFF0C\u6216\u8D77\u5C45\u5F55\u91CC\u6CA1\u6709\u672C\u5377\uFF09\uFF0C\u672C\u8F6E\u4ECE\u672C\u5377\u5F00\u5934\u6536")
|
|
2439
|
+
},
|
|
2440
|
+
{ additionalProperties: true }
|
|
2441
|
+
),
|
|
2442
|
+
Type13.Object(
|
|
2443
|
+
{
|
|
2444
|
+
lastRecorded: Type13.Null(),
|
|
2445
|
+
swept: Type13.Null(),
|
|
2446
|
+
found: Type13.Literal("\u65E0\u6CD5\u626B\uFF1A\u8D77\u5C45\u5F55\u6216\u6E90\u5377\u8BFB\u4E0D\u51FA\uFF0C\u672C\u8F6E status \u53EA\u80FD\u662F escalate\uFF0Creason \u5199\u660E\u8BFB\u4E0D\u51FA\u4EC0\u4E48")
|
|
2447
|
+
},
|
|
2448
|
+
{ additionalProperties: true }
|
|
2449
|
+
)
|
|
2450
|
+
],
|
|
2451
|
+
{
|
|
2452
|
+
description: "\u4E0A\u6B21\u6210\u5F55\u4EE5\u6765\u7684\u626B\u6BB5\uFF1A\u5148\u6253\u5F00\u672C\u7968\u5DF2\u6709\u7684\u8D77\u5C45\u5F55\uFF0C\u627E\u51FA\u672C\u5377\u4E0A\u6B21\u6210\u5F55\u7684\u6700\u540E\u4E00\u884C\uFF0C\u4ECE\u5B83\u7684\u4E0B\u4E00\u884C\u8D77\u4E00\u76F4\u626B\u5230\u672C\u8F6E\uFF08\u90A3\u4E00\u884C\u5DF2\u5728\u5F55\u91CC\uFF0C\u4E0D\u518D\u5212\uFF09\uFF0C\u965B\u4E0B\u5173\u4E8E\u672C\u7968\u8BF4\u8FC7\u7684\u6BCF\u4E00\u53E5\u90FD\u5212\u8FDB ranges\u2014\u2014\u4F20\u53EC\u70B9\u540D\u7684 uuid \u53EA\u662F\u8D77\u70B9\uFF0C\u4E0D\u662F\u5019\u9009\u96C6\u5408\u3002\u56DB\u79CD\u7B54\u6CD5\uFF1A\u8C08\u8FC7\uFF08\u9010\u884C\u5217 uuid \u6216 line\uFF09\uFF0F\u6CA1\u6709\u518D\u8C08\uFF0F\u672C\u5377\u5C1A\u65E0\u6210\u5F55\uFF0F\u65E0\u6CD5\u626B\uFF08\u53EA\u914D status escalate\uFF0C\u4E0D\u5F97\u7528\u6765\u514D\u626B\uFF09\u3002\u591A\u7968\u5EAD\u8FD9\u91CC\u586B\u4E3B\u7968\uFF0C\u5176\u4F59\u5404\u7968\u7684\u626B\u6BB5\u5404\u5199\u8FDB ticketSessions \u90A3\u4E00\u7968\u7684 sinceLast\u3002"
|
|
2453
|
+
}
|
|
2454
|
+
);
|
|
2381
2455
|
diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
2382
2456
|
openToolObject(
|
|
2383
2457
|
Type13.Object({
|
|
@@ -2396,11 +2470,13 @@ var init_diarist_contracts = __esm({
|
|
|
2396
2470
|
description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
|
|
2397
2471
|
})),
|
|
2398
2472
|
ticketSessions: Type13.Unknown({
|
|
2399
|
-
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\
|
|
2400
|
-
})
|
|
2473
|
+
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\u3001sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u4E0E\u8BE5\u7968\u81EA\u5DF1\u7684 sinceLast\uFF08\u5F62\u72B6\u540C\u9876\u5C42 sinceLast\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002`
|
|
2474
|
+
}),
|
|
2475
|
+
sinceLast: diaristSinceLastSchema
|
|
2401
2476
|
})
|
|
2402
2477
|
)
|
|
2403
2478
|
);
|
|
2479
|
+
diaristOutputSchema.required = ["sinceLast"];
|
|
2404
2480
|
}
|
|
2405
2481
|
});
|
|
2406
2482
|
|
|
@@ -66,7 +66,42 @@ export function projectDiaristTicketSessions(value) {
|
|
|
66
66
|
* 声明只留字段名和语义说明,不留类型、嵌套、长度、必填。
|
|
67
67
|
*/
|
|
68
68
|
export const DIARIST_BOUND_ENDPOINTS = "起点与终点各写 id 或 line,二选一:id=会话卷里那一行 JSON 的 uuid 字段值(没有 uuid 取 id;顶层都没有再取 message 或 payload 里的 uuid / id),同一 id 出现多次时取第一次出现的那一行;line=那一行在文件里从 1 数起的行号。两端都含在区间内。";
|
|
69
|
-
const DIARIST_SESSIONS_DESCRIPTION = `对话边界。每卷含 path(会话卷绝对或可读路径)与 ranges(本卷本轮各区间)。每段区间含 from / to;${DIARIST_BOUND_ENDPOINTS}
|
|
69
|
+
const DIARIST_SESSIONS_DESCRIPTION = `对话边界。每卷含 path(会话卷绝对或可读路径)与 ranges(本卷本轮各区间)。每段区间含 from / to;${DIARIST_BOUND_ENDPOINTS}区间里只有说话人的原文进录:用户与助手消息里的文本、真人经队列的插话、陛下用斜杠命令带的参数(命令名是机器的,参数是陛下说的话);思考、工具调用、工具结果和机器通知不进录,区间可以直接跨过它们,不必拆段。每次交卷的边界照投影追加进本票起居录,不去重,也不改已有的录。空列表=本轮无对话可划。端点无法指名时走 reask,不中止。`;
|
|
70
|
+
/**
|
|
71
|
+
* 2026-10-30 (陛下: #1943 的起居录漏了整场 grill): the gap since the last recorded line is a required cell.
|
|
72
|
+
* Three shapes plus the escalate-only 无法扫: the owner spoke about this ticket in the gap (every such line listed and inside
|
|
73
|
+
* ranges), the owner did not, or this volume has no recorded line yet (new ticket or new volume). Generation-required under ADR 0057's exception;
|
|
74
|
+
* the package still records the receipt as-is.
|
|
75
|
+
*/
|
|
76
|
+
const lastRecordedField = Type.String({
|
|
77
|
+
description: "本票已有起居录里、本卷上次成录的最后一行:照起居录端点写 uuid 或 line",
|
|
78
|
+
});
|
|
79
|
+
export const diaristSinceLastSchema = Type.Union([
|
|
80
|
+
Type.Object({
|
|
81
|
+
lastRecorded: lastRecordedField,
|
|
82
|
+
swept: Type.Array(Type.String(), {
|
|
83
|
+
description: "上次成录末尾到本轮之间,陛下谈本票的每一行,一行一条,照边界端点的写法(uuid,没有 uuid 的写 line);这些行都已划进 ranges",
|
|
84
|
+
}),
|
|
85
|
+
found: Type.Literal("上次成录末尾到本轮之间陛下谈过本票,已划进 ranges"),
|
|
86
|
+
}, { additionalProperties: true }),
|
|
87
|
+
Type.Object({
|
|
88
|
+
lastRecorded: lastRecordedField,
|
|
89
|
+
swept: Type.Null(),
|
|
90
|
+
found: Type.Literal("上次成录末尾到本轮之间陛下没有再谈本票"),
|
|
91
|
+
}, { additionalProperties: true }),
|
|
92
|
+
Type.Object({
|
|
93
|
+
lastRecorded: Type.Null(),
|
|
94
|
+
swept: Type.Null(),
|
|
95
|
+
found: Type.Literal("本卷尚无成录(本票没有起居录,或起居录里没有本卷),本轮从本卷开头收"),
|
|
96
|
+
}, { additionalProperties: true }),
|
|
97
|
+
Type.Object({
|
|
98
|
+
lastRecorded: Type.Null(),
|
|
99
|
+
swept: Type.Null(),
|
|
100
|
+
found: Type.Literal("无法扫:起居录或源卷读不出,本轮 status 只能是 escalate,reason 写明读不出什么"),
|
|
101
|
+
}, { additionalProperties: true }),
|
|
102
|
+
], {
|
|
103
|
+
description: "上次成录以来的扫段:先打开本票已有的起居录,找出本卷上次成录的最后一行,从它的下一行起一直扫到本轮(那一行已在录里,不再划),陛下关于本票说过的每一句都划进 ranges——传召点名的 uuid 只是起点,不是候选集合。四种答法:谈过(逐行列 uuid 或 line)/没有再谈/本卷尚无成录/无法扫(只配 status escalate,不得用来免扫)。多票庭这里填主票,其余各票的扫段各写进 ticketSessions 那一票的 sinceLast。",
|
|
104
|
+
});
|
|
70
105
|
export const diaristOutputSchema = withTerminatingOutputDeclarations(openToolObject(Type.Object({
|
|
71
106
|
status: Type.Unknown({
|
|
72
107
|
description: "completed | escalate",
|
|
@@ -81,6 +116,9 @@ export const diaristOutputSchema = withTerminatingOutputDeclarations(openToolObj
|
|
|
81
116
|
description: `仅单票庭时填对话边界;没有就填 null。${DIARIST_SESSIONS_DESCRIPTION}`,
|
|
82
117
|
})),
|
|
83
118
|
ticketSessions: Type.Unknown({
|
|
84
|
-
description: `仅多票庭时填逐票对话边界;没有就填 null。每票含 ticketNumber
|
|
119
|
+
description: `仅多票庭时填逐票对话边界;没有就填 null。每票含 ticketNumber(本条边界所归票号,正整数)、sessions(${DIARIST_SESSIONS_DESCRIPTION})与该票自己的 sinceLast(形状同顶层 sinceLast)。一次交卷各票各自分录。`,
|
|
85
120
|
}),
|
|
121
|
+
sinceLast: diaristSinceLastSchema,
|
|
86
122
|
})));
|
|
123
|
+
// #1134 emptied the required set; sinceLast is the one generation-required cell (ADR 0057 exception; the package still records as-is).
|
|
124
|
+
diaristOutputSchema.required = ["sinceLast"];
|
|
@@ -481,7 +481,7 @@ var init_terminating_infrastructure = __esm({
|
|
|
481
481
|
|
|
482
482
|
// src/review-submission.ts
|
|
483
483
|
import { Type as Type2 } from "typebox";
|
|
484
|
-
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
484
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, adrRowBase, notaryAdrRowSchema, notaryAdrField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
485
485
|
var init_review_submission = __esm({
|
|
486
486
|
"src/review-submission.ts"() {
|
|
487
487
|
"use strict";
|
|
@@ -522,7 +522,7 @@ var init_review_submission = __esm({
|
|
|
522
522
|
notaryClauseItemSchema = Type2.Object(
|
|
523
523
|
{
|
|
524
524
|
clause: Type2.String({
|
|
525
|
-
description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09"
|
|
525
|
+
description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09\uFF1B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\u4E5F\u7B97\u4E00\u6761\uFF0C\u524D\u7F00\u6587\u4EF6\u540D\u7167\u6284"
|
|
526
526
|
}),
|
|
527
527
|
ownerUuid: Type2.Union([Type2.String(), Type2.Null()], {
|
|
528
528
|
description: "\u63A8\u51FA\u8BE5\u6761\u7684\u965B\u4E0B\u539F\u8BDD uuid\uFF1B\u65E0\u539F\u8BDD\u5219 null"
|
|
@@ -546,14 +546,44 @@ var init_review_submission = __esm({
|
|
|
546
546
|
{ additionalProperties: true }
|
|
547
547
|
);
|
|
548
548
|
notaryClausesField = Type2.Array(notaryClauseItemSchema, {
|
|
549
|
-
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
|
|
549
|
+
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\uFF08\u542B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\uFF09\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
|
|
550
|
+
});
|
|
551
|
+
adrRowBase = {
|
|
552
|
+
ownerUuid: Type2.String({ description: "\u965B\u4E0B\u62CD\u5B9A\u90A3\u53E5\u539F\u8BDD\u7684 uuid" }),
|
|
553
|
+
decided: Type2.String({
|
|
554
|
+
description: "\u90A3\u53E5\u62CD\u5B9A\u4E86\u4EC0\u4E48\uFF1A\u7167\u539F\u8BCD\uFF0C\u4E0D\u6982\u62EC\u3001\u4E0D\u5408\u5E76\uFF08\u56DB\u5C42\u5206\u5DE5\u3001\u56DB\u6761\u89C4\u77E9\u3001\u8D26\u672C\u53EA\u5B58\u4E8B\u5B9E\u2026\u2026\u4E00\u6761\u4E00\u884C\uFF09"
|
|
555
|
+
})
|
|
556
|
+
};
|
|
557
|
+
notaryAdrRowSchema = Type2.Union([
|
|
558
|
+
Type2.Object(
|
|
559
|
+
{
|
|
560
|
+
...adrRowBase,
|
|
561
|
+
adr: Type2.String({ description: "\u843D\u5904\uFF1Adocs/adr \u6587\u4EF6\u540D\uFF0B\u6587\u5185\u627F\u8F7D\u8FD9\u6761\u62CD\u5B9A\u7684\u90A3\u4E00\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09" }),
|
|
562
|
+
landed: Type2.Literal("\u843D\u4E86\uFF1AADR \u6587\u5185\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50")
|
|
563
|
+
},
|
|
564
|
+
{ additionalProperties: true }
|
|
565
|
+
),
|
|
566
|
+
Type2.Object(
|
|
567
|
+
{
|
|
568
|
+
...adrRowBase,
|
|
569
|
+
adr: Type2.Null(),
|
|
570
|
+
landed: Type2.Literal(
|
|
571
|
+
"\u672A\u843D\uFF1AADR \u6587\u5185\u6CA1\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50\uFF1B\u7968\u9762\u6761\u6B3E\u5199\u4E86\u3001CLAUDE.md \u4E00\u7C7B\u7D22\u5F15\u8BF4\u67D0\u4EFD ADR \u542B\u5B83\u3001\u5224\u8BCD\u5F15\u8FC7\u5B83\u3001ADR \u6807\u9898\u50CF\uFF0C\u90FD\u4E0D\u662F\u843D\u5904"
|
|
572
|
+
)
|
|
573
|
+
},
|
|
574
|
+
{ additionalProperties: true }
|
|
575
|
+
)
|
|
576
|
+
]);
|
|
577
|
+
notaryAdrField = Type2.Array(notaryAdrRowSchema, {
|
|
578
|
+
description: "ADR \u843D\u5904\u8868\uFF1A\u53D7\u5BA1\u4E4B\u7269\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF09\u65F6\u586B\u2014\u2014\u8D77\u5C45\u5F55\u4E0E\u6E90\u5377\u91CC\u965B\u4E0B\u62CD\u5B9A\u7684\u3001\u8BE5\u8FDB ADR \u7684\u51B3\u5B9A\uFF08\u67B6\u6784\u5F62\u72B6\u3001\u5206\u5C42\u4E0E\u8FB9\u754C\u3001\u6280\u672F\u9009\u578B\u3001\u523B\u610F\u504F\u79BB\u5E38\u89C4\u7684\u505A\u6CD5\uFF1A\u96BE\u9006\u3001\u8BFB\u4EE3\u7801\u7684\u4EBA\u4F1A\u95EE\u4E3A\u4EC0\u4E48\u7684\u90A3\u7C7B\uFF09\uFF0C\u6BCF\u6761\u4E00\u884C\uFF0C\u5230 docs/adr \u91CC\u627E\u627F\u8F7D\u5B83\u7684\u90A3\u4E00\u53E5\uFF1B\u600E\u4E48\u6D4B\u3001\u600E\u4E48\u5206\u652F\u5408\u5165\u3001\u6570\u636E\u600E\u4E48\u8865\u3001\u5B57\u6BB5\u53EB\u4EC0\u4E48\u8FD9\u7C7B\u529E\u4E8B\u65B9\u6CD5\u4E0E\u7968\u5185\u7EC6\u8282\u4E0D\u5217\u3002\u6709\u300C\u672A\u843D\u300D\u884C\uFF0Cstatus \u53EA\u80FD\u662F escalate\uFF0C\u62CD\u5B9A\u539F\u6587\u4E0E\u5B83\u8BE5\u8FDB\u54EA\u4EFD ADR \u5217\u8FDB decisionGate\uFF0C\u8FDB\u4E0D\u8FDB\u7531\u965B\u4E0B\u5B9A\u3002\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
550
579
|
});
|
|
551
580
|
notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
552
581
|
Type2.Object(
|
|
553
582
|
{
|
|
554
583
|
status: reviewStatusField,
|
|
555
584
|
...reviewNarrativeFields,
|
|
556
|
-
clauses: notaryClausesField
|
|
585
|
+
clauses: notaryClausesField,
|
|
586
|
+
adr: notaryAdrField
|
|
557
587
|
},
|
|
558
588
|
{ additionalProperties: true }
|
|
559
589
|
)
|
|
@@ -2236,7 +2266,7 @@ function projectDiaristTicketSessions(value) {
|
|
|
2236
2266
|
}
|
|
2237
2267
|
return Array.from(perTicket, ([ticketNumber, sessions]) => ({ ticketNumber, sessions }));
|
|
2238
2268
|
}
|
|
2239
|
-
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_BOUND_ENDPOINTS, DIARIST_SESSIONS_DESCRIPTION, diaristOutputSchema;
|
|
2269
|
+
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_BOUND_ENDPOINTS, DIARIST_SESSIONS_DESCRIPTION, lastRecordedField, diaristSinceLastSchema, diaristOutputSchema;
|
|
2240
2270
|
var init_diarist_contracts = __esm({
|
|
2241
2271
|
"src/diarist-contracts.ts"() {
|
|
2242
2272
|
"use strict";
|
|
@@ -2247,7 +2277,51 @@ var init_diarist_contracts = __esm({
|
|
|
2247
2277
|
init_unknown_value();
|
|
2248
2278
|
DIARIST_OUTPUT_TOOL_NAME = "ak_diarist_output";
|
|
2249
2279
|
DIARIST_BOUND_ENDPOINTS = "\u8D77\u70B9\u4E0E\u7EC8\u70B9\u5404\u5199 id \u6216 line\uFF0C\u4E8C\u9009\u4E00\uFF1Aid\uFF1D\u4F1A\u8BDD\u5377\u91CC\u90A3\u4E00\u884C JSON \u7684 uuid \u5B57\u6BB5\u503C\uFF08\u6CA1\u6709 uuid \u53D6 id\uFF1B\u9876\u5C42\u90FD\u6CA1\u6709\u518D\u53D6 message \u6216 payload \u91CC\u7684 uuid / id\uFF09\uFF0C\u540C\u4E00 id \u51FA\u73B0\u591A\u6B21\u65F6\u53D6\u7B2C\u4E00\u6B21\u51FA\u73B0\u7684\u90A3\u4E00\u884C\uFF1Bline\uFF1D\u90A3\u4E00\u884C\u5728\u6587\u4EF6\u91CC\u4ECE 1 \u6570\u8D77\u7684\u884C\u53F7\u3002\u4E24\u7AEF\u90FD\u542B\u5728\u533A\u95F4\u5185\u3002";
|
|
2250
|
-
DIARIST_SESSIONS_DESCRIPTION = `\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B${DIARIST_BOUND_ENDPOINTS}\u533A\u95F4\u91CC\u53EA\u6709\u8BF4\u8BDD\u4EBA\u7684\u539F\u6587\u8FDB\u5F55\uFF1A\u7528\u6237\u4E0E\u52A9\u624B\u6D88\u606F\u91CC\u7684\u6587\u672C\u3001\u771F\u4EBA\u7ECF\u961F\u5217\u7684\u63D2\u8BDD\uFF1B\u601D\u8003\u3001\u5DE5\u5177\u8C03\u7528\u3001\u5DE5\u5177\u7ED3\u679C\u548C\u673A\u5668\u901A\u77E5\u4E0D\u8FDB\u5F55\uFF0C\u533A\u95F4\u53EF\u4EE5\u76F4\u63A5\u8DE8\u8FC7\u5B83\u4EEC\uFF0C\u4E0D\u5FC5\u62C6\u6BB5\u3002\u6BCF\u6B21\u4EA4\u5377\u7684\u8FB9\u754C\u7167\u6295\u5F71\u8FFD\u52A0\u8FDB\u672C\u7968\u8D77\u5C45\u5F55\uFF0C\u4E0D\u53BB\u91CD\uFF0C\u4E5F\u4E0D\u6539\u5DF2\u6709\u7684\u5F55\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002`;
|
|
2280
|
+
DIARIST_SESSIONS_DESCRIPTION = `\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B${DIARIST_BOUND_ENDPOINTS}\u533A\u95F4\u91CC\u53EA\u6709\u8BF4\u8BDD\u4EBA\u7684\u539F\u6587\u8FDB\u5F55\uFF1A\u7528\u6237\u4E0E\u52A9\u624B\u6D88\u606F\u91CC\u7684\u6587\u672C\u3001\u771F\u4EBA\u7ECF\u961F\u5217\u7684\u63D2\u8BDD\u3001\u965B\u4E0B\u7528\u659C\u6760\u547D\u4EE4\u5E26\u7684\u53C2\u6570\uFF08\u547D\u4EE4\u540D\u662F\u673A\u5668\u7684\uFF0C\u53C2\u6570\u662F\u965B\u4E0B\u8BF4\u7684\u8BDD\uFF09\uFF1B\u601D\u8003\u3001\u5DE5\u5177\u8C03\u7528\u3001\u5DE5\u5177\u7ED3\u679C\u548C\u673A\u5668\u901A\u77E5\u4E0D\u8FDB\u5F55\uFF0C\u533A\u95F4\u53EF\u4EE5\u76F4\u63A5\u8DE8\u8FC7\u5B83\u4EEC\uFF0C\u4E0D\u5FC5\u62C6\u6BB5\u3002\u6BCF\u6B21\u4EA4\u5377\u7684\u8FB9\u754C\u7167\u6295\u5F71\u8FFD\u52A0\u8FDB\u672C\u7968\u8D77\u5C45\u5F55\uFF0C\u4E0D\u53BB\u91CD\uFF0C\u4E5F\u4E0D\u6539\u5DF2\u6709\u7684\u5F55\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002`;
|
|
2281
|
+
lastRecordedField = Type13.String({
|
|
2282
|
+
description: "\u672C\u7968\u5DF2\u6709\u8D77\u5C45\u5F55\u91CC\u3001\u672C\u5377\u4E0A\u6B21\u6210\u5F55\u7684\u6700\u540E\u4E00\u884C\uFF1A\u7167\u8D77\u5C45\u5F55\u7AEF\u70B9\u5199 uuid \u6216 line"
|
|
2283
|
+
});
|
|
2284
|
+
diaristSinceLastSchema = Type13.Union(
|
|
2285
|
+
[
|
|
2286
|
+
Type13.Object(
|
|
2287
|
+
{
|
|
2288
|
+
lastRecorded: lastRecordedField,
|
|
2289
|
+
swept: Type13.Array(Type13.String(), {
|
|
2290
|
+
description: "\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\uFF0C\u965B\u4E0B\u8C08\u672C\u7968\u7684\u6BCF\u4E00\u884C\uFF0C\u4E00\u884C\u4E00\u6761\uFF0C\u7167\u8FB9\u754C\u7AEF\u70B9\u7684\u5199\u6CD5\uFF08uuid\uFF0C\u6CA1\u6709 uuid \u7684\u5199 line\uFF09\uFF1B\u8FD9\u4E9B\u884C\u90FD\u5DF2\u5212\u8FDB ranges"
|
|
2291
|
+
}),
|
|
2292
|
+
found: Type13.Literal("\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\u965B\u4E0B\u8C08\u8FC7\u672C\u7968\uFF0C\u5DF2\u5212\u8FDB ranges")
|
|
2293
|
+
},
|
|
2294
|
+
{ additionalProperties: true }
|
|
2295
|
+
),
|
|
2296
|
+
Type13.Object(
|
|
2297
|
+
{
|
|
2298
|
+
lastRecorded: lastRecordedField,
|
|
2299
|
+
swept: Type13.Null(),
|
|
2300
|
+
found: Type13.Literal("\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\u965B\u4E0B\u6CA1\u6709\u518D\u8C08\u672C\u7968")
|
|
2301
|
+
},
|
|
2302
|
+
{ additionalProperties: true }
|
|
2303
|
+
),
|
|
2304
|
+
Type13.Object(
|
|
2305
|
+
{
|
|
2306
|
+
lastRecorded: Type13.Null(),
|
|
2307
|
+
swept: Type13.Null(),
|
|
2308
|
+
found: Type13.Literal("\u672C\u5377\u5C1A\u65E0\u6210\u5F55\uFF08\u672C\u7968\u6CA1\u6709\u8D77\u5C45\u5F55\uFF0C\u6216\u8D77\u5C45\u5F55\u91CC\u6CA1\u6709\u672C\u5377\uFF09\uFF0C\u672C\u8F6E\u4ECE\u672C\u5377\u5F00\u5934\u6536")
|
|
2309
|
+
},
|
|
2310
|
+
{ additionalProperties: true }
|
|
2311
|
+
),
|
|
2312
|
+
Type13.Object(
|
|
2313
|
+
{
|
|
2314
|
+
lastRecorded: Type13.Null(),
|
|
2315
|
+
swept: Type13.Null(),
|
|
2316
|
+
found: Type13.Literal("\u65E0\u6CD5\u626B\uFF1A\u8D77\u5C45\u5F55\u6216\u6E90\u5377\u8BFB\u4E0D\u51FA\uFF0C\u672C\u8F6E status \u53EA\u80FD\u662F escalate\uFF0Creason \u5199\u660E\u8BFB\u4E0D\u51FA\u4EC0\u4E48")
|
|
2317
|
+
},
|
|
2318
|
+
{ additionalProperties: true }
|
|
2319
|
+
)
|
|
2320
|
+
],
|
|
2321
|
+
{
|
|
2322
|
+
description: "\u4E0A\u6B21\u6210\u5F55\u4EE5\u6765\u7684\u626B\u6BB5\uFF1A\u5148\u6253\u5F00\u672C\u7968\u5DF2\u6709\u7684\u8D77\u5C45\u5F55\uFF0C\u627E\u51FA\u672C\u5377\u4E0A\u6B21\u6210\u5F55\u7684\u6700\u540E\u4E00\u884C\uFF0C\u4ECE\u5B83\u7684\u4E0B\u4E00\u884C\u8D77\u4E00\u76F4\u626B\u5230\u672C\u8F6E\uFF08\u90A3\u4E00\u884C\u5DF2\u5728\u5F55\u91CC\uFF0C\u4E0D\u518D\u5212\uFF09\uFF0C\u965B\u4E0B\u5173\u4E8E\u672C\u7968\u8BF4\u8FC7\u7684\u6BCF\u4E00\u53E5\u90FD\u5212\u8FDB ranges\u2014\u2014\u4F20\u53EC\u70B9\u540D\u7684 uuid \u53EA\u662F\u8D77\u70B9\uFF0C\u4E0D\u662F\u5019\u9009\u96C6\u5408\u3002\u56DB\u79CD\u7B54\u6CD5\uFF1A\u8C08\u8FC7\uFF08\u9010\u884C\u5217 uuid \u6216 line\uFF09\uFF0F\u6CA1\u6709\u518D\u8C08\uFF0F\u672C\u5377\u5C1A\u65E0\u6210\u5F55\uFF0F\u65E0\u6CD5\u626B\uFF08\u53EA\u914D status escalate\uFF0C\u4E0D\u5F97\u7528\u6765\u514D\u626B\uFF09\u3002\u591A\u7968\u5EAD\u8FD9\u91CC\u586B\u4E3B\u7968\uFF0C\u5176\u4F59\u5404\u7968\u7684\u626B\u6BB5\u5404\u5199\u8FDB ticketSessions \u90A3\u4E00\u7968\u7684 sinceLast\u3002"
|
|
2323
|
+
}
|
|
2324
|
+
);
|
|
2251
2325
|
diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
2252
2326
|
openToolObject(
|
|
2253
2327
|
Type13.Object({
|
|
@@ -2266,11 +2340,13 @@ var init_diarist_contracts = __esm({
|
|
|
2266
2340
|
description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
|
|
2267
2341
|
})),
|
|
2268
2342
|
ticketSessions: Type13.Unknown({
|
|
2269
|
-
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\
|
|
2270
|
-
})
|
|
2343
|
+
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\u3001sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u4E0E\u8BE5\u7968\u81EA\u5DF1\u7684 sinceLast\uFF08\u5F62\u72B6\u540C\u9876\u5C42 sinceLast\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002`
|
|
2344
|
+
}),
|
|
2345
|
+
sinceLast: diaristSinceLastSchema
|
|
2271
2346
|
})
|
|
2272
2347
|
)
|
|
2273
2348
|
);
|
|
2349
|
+
diaristOutputSchema.required = ["sinceLast"];
|
|
2274
2350
|
}
|
|
2275
2351
|
});
|
|
2276
2352
|
|
|
@@ -8707,7 +8707,7 @@ var init_navigator_output = __esm({
|
|
|
8707
8707
|
});
|
|
8708
8708
|
|
|
8709
8709
|
// src/review-submission.ts
|
|
8710
|
-
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
8710
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, adrRowBase, notaryAdrRowSchema, notaryAdrField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
8711
8711
|
var init_review_submission = __esm({
|
|
8712
8712
|
"src/review-submission.ts"() {
|
|
8713
8713
|
"use strict";
|
|
@@ -8749,7 +8749,7 @@ var init_review_submission = __esm({
|
|
|
8749
8749
|
notaryClauseItemSchema = typebox_exports.Object(
|
|
8750
8750
|
{
|
|
8751
8751
|
clause: typebox_exports.String({
|
|
8752
|
-
description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09"
|
|
8752
|
+
description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09\uFF1B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\u4E5F\u7B97\u4E00\u6761\uFF0C\u524D\u7F00\u6587\u4EF6\u540D\u7167\u6284"
|
|
8753
8753
|
}),
|
|
8754
8754
|
ownerUuid: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
8755
8755
|
description: "\u63A8\u51FA\u8BE5\u6761\u7684\u965B\u4E0B\u539F\u8BDD uuid\uFF1B\u65E0\u539F\u8BDD\u5219 null"
|
|
@@ -8773,14 +8773,44 @@ var init_review_submission = __esm({
|
|
|
8773
8773
|
{ additionalProperties: true }
|
|
8774
8774
|
);
|
|
8775
8775
|
notaryClausesField = typebox_exports.Array(notaryClauseItemSchema, {
|
|
8776
|
-
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
|
|
8776
|
+
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\uFF08\u542B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\uFF09\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
|
|
8777
|
+
});
|
|
8778
|
+
adrRowBase = {
|
|
8779
|
+
ownerUuid: typebox_exports.String({ description: "\u965B\u4E0B\u62CD\u5B9A\u90A3\u53E5\u539F\u8BDD\u7684 uuid" }),
|
|
8780
|
+
decided: typebox_exports.String({
|
|
8781
|
+
description: "\u90A3\u53E5\u62CD\u5B9A\u4E86\u4EC0\u4E48\uFF1A\u7167\u539F\u8BCD\uFF0C\u4E0D\u6982\u62EC\u3001\u4E0D\u5408\u5E76\uFF08\u56DB\u5C42\u5206\u5DE5\u3001\u56DB\u6761\u89C4\u77E9\u3001\u8D26\u672C\u53EA\u5B58\u4E8B\u5B9E\u2026\u2026\u4E00\u6761\u4E00\u884C\uFF09"
|
|
8782
|
+
})
|
|
8783
|
+
};
|
|
8784
|
+
notaryAdrRowSchema = typebox_exports.Union([
|
|
8785
|
+
typebox_exports.Object(
|
|
8786
|
+
{
|
|
8787
|
+
...adrRowBase,
|
|
8788
|
+
adr: typebox_exports.String({ description: "\u843D\u5904\uFF1Adocs/adr \u6587\u4EF6\u540D\uFF0B\u6587\u5185\u627F\u8F7D\u8FD9\u6761\u62CD\u5B9A\u7684\u90A3\u4E00\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09" }),
|
|
8789
|
+
landed: typebox_exports.Literal("\u843D\u4E86\uFF1AADR \u6587\u5185\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50")
|
|
8790
|
+
},
|
|
8791
|
+
{ additionalProperties: true }
|
|
8792
|
+
),
|
|
8793
|
+
typebox_exports.Object(
|
|
8794
|
+
{
|
|
8795
|
+
...adrRowBase,
|
|
8796
|
+
adr: typebox_exports.Null(),
|
|
8797
|
+
landed: typebox_exports.Literal(
|
|
8798
|
+
"\u672A\u843D\uFF1AADR \u6587\u5185\u6CA1\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50\uFF1B\u7968\u9762\u6761\u6B3E\u5199\u4E86\u3001CLAUDE.md \u4E00\u7C7B\u7D22\u5F15\u8BF4\u67D0\u4EFD ADR \u542B\u5B83\u3001\u5224\u8BCD\u5F15\u8FC7\u5B83\u3001ADR \u6807\u9898\u50CF\uFF0C\u90FD\u4E0D\u662F\u843D\u5904"
|
|
8799
|
+
)
|
|
8800
|
+
},
|
|
8801
|
+
{ additionalProperties: true }
|
|
8802
|
+
)
|
|
8803
|
+
]);
|
|
8804
|
+
notaryAdrField = typebox_exports.Array(notaryAdrRowSchema, {
|
|
8805
|
+
description: "ADR \u843D\u5904\u8868\uFF1A\u53D7\u5BA1\u4E4B\u7269\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF09\u65F6\u586B\u2014\u2014\u8D77\u5C45\u5F55\u4E0E\u6E90\u5377\u91CC\u965B\u4E0B\u62CD\u5B9A\u7684\u3001\u8BE5\u8FDB ADR \u7684\u51B3\u5B9A\uFF08\u67B6\u6784\u5F62\u72B6\u3001\u5206\u5C42\u4E0E\u8FB9\u754C\u3001\u6280\u672F\u9009\u578B\u3001\u523B\u610F\u504F\u79BB\u5E38\u89C4\u7684\u505A\u6CD5\uFF1A\u96BE\u9006\u3001\u8BFB\u4EE3\u7801\u7684\u4EBA\u4F1A\u95EE\u4E3A\u4EC0\u4E48\u7684\u90A3\u7C7B\uFF09\uFF0C\u6BCF\u6761\u4E00\u884C\uFF0C\u5230 docs/adr \u91CC\u627E\u627F\u8F7D\u5B83\u7684\u90A3\u4E00\u53E5\uFF1B\u600E\u4E48\u6D4B\u3001\u600E\u4E48\u5206\u652F\u5408\u5165\u3001\u6570\u636E\u600E\u4E48\u8865\u3001\u5B57\u6BB5\u53EB\u4EC0\u4E48\u8FD9\u7C7B\u529E\u4E8B\u65B9\u6CD5\u4E0E\u7968\u5185\u7EC6\u8282\u4E0D\u5217\u3002\u6709\u300C\u672A\u843D\u300D\u884C\uFF0Cstatus \u53EA\u80FD\u662F escalate\uFF0C\u62CD\u5B9A\u539F\u6587\u4E0E\u5B83\u8BE5\u8FDB\u54EA\u4EFD ADR \u5217\u8FDB decisionGate\uFF0C\u8FDB\u4E0D\u8FDB\u7531\u965B\u4E0B\u5B9A\u3002\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
8777
8806
|
});
|
|
8778
8807
|
notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
8779
8808
|
typebox_exports.Object(
|
|
8780
8809
|
{
|
|
8781
8810
|
status: reviewStatusField,
|
|
8782
8811
|
...reviewNarrativeFields,
|
|
8783
|
-
clauses: notaryClausesField
|
|
8812
|
+
clauses: notaryClausesField,
|
|
8813
|
+
adr: notaryAdrField
|
|
8784
8814
|
},
|
|
8785
8815
|
{ additionalProperties: true }
|
|
8786
8816
|
)
|
|
@@ -9255,7 +9285,7 @@ var init_ticket_provenance_contracts = __esm({
|
|
|
9255
9285
|
});
|
|
9256
9286
|
|
|
9257
9287
|
// src/diarist-contracts.ts
|
|
9258
|
-
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_BOUND_ENDPOINTS, DIARIST_SESSIONS_DESCRIPTION, diaristOutputSchema;
|
|
9288
|
+
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_BOUND_ENDPOINTS, DIARIST_SESSIONS_DESCRIPTION, lastRecordedField, diaristSinceLastSchema, diaristOutputSchema;
|
|
9259
9289
|
var init_diarist_contracts = __esm({
|
|
9260
9290
|
"src/diarist-contracts.ts"() {
|
|
9261
9291
|
"use strict";
|
|
@@ -9267,7 +9297,51 @@ var init_diarist_contracts = __esm({
|
|
|
9267
9297
|
init_unknown_value();
|
|
9268
9298
|
DIARIST_OUTPUT_TOOL_NAME = "ak_diarist_output";
|
|
9269
9299
|
DIARIST_BOUND_ENDPOINTS = "\u8D77\u70B9\u4E0E\u7EC8\u70B9\u5404\u5199 id \u6216 line\uFF0C\u4E8C\u9009\u4E00\uFF1Aid\uFF1D\u4F1A\u8BDD\u5377\u91CC\u90A3\u4E00\u884C JSON \u7684 uuid \u5B57\u6BB5\u503C\uFF08\u6CA1\u6709 uuid \u53D6 id\uFF1B\u9876\u5C42\u90FD\u6CA1\u6709\u518D\u53D6 message \u6216 payload \u91CC\u7684 uuid / id\uFF09\uFF0C\u540C\u4E00 id \u51FA\u73B0\u591A\u6B21\u65F6\u53D6\u7B2C\u4E00\u6B21\u51FA\u73B0\u7684\u90A3\u4E00\u884C\uFF1Bline\uFF1D\u90A3\u4E00\u884C\u5728\u6587\u4EF6\u91CC\u4ECE 1 \u6570\u8D77\u7684\u884C\u53F7\u3002\u4E24\u7AEF\u90FD\u542B\u5728\u533A\u95F4\u5185\u3002";
|
|
9270
|
-
DIARIST_SESSIONS_DESCRIPTION = `\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B${DIARIST_BOUND_ENDPOINTS}\u533A\u95F4\u91CC\u53EA\u6709\u8BF4\u8BDD\u4EBA\u7684\u539F\u6587\u8FDB\u5F55\uFF1A\u7528\u6237\u4E0E\u52A9\u624B\u6D88\u606F\u91CC\u7684\u6587\u672C\u3001\u771F\u4EBA\u7ECF\u961F\u5217\u7684\u63D2\u8BDD\uFF1B\u601D\u8003\u3001\u5DE5\u5177\u8C03\u7528\u3001\u5DE5\u5177\u7ED3\u679C\u548C\u673A\u5668\u901A\u77E5\u4E0D\u8FDB\u5F55\uFF0C\u533A\u95F4\u53EF\u4EE5\u76F4\u63A5\u8DE8\u8FC7\u5B83\u4EEC\uFF0C\u4E0D\u5FC5\u62C6\u6BB5\u3002\u6BCF\u6B21\u4EA4\u5377\u7684\u8FB9\u754C\u7167\u6295\u5F71\u8FFD\u52A0\u8FDB\u672C\u7968\u8D77\u5C45\u5F55\uFF0C\u4E0D\u53BB\u91CD\uFF0C\u4E5F\u4E0D\u6539\u5DF2\u6709\u7684\u5F55\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002`;
|
|
9300
|
+
DIARIST_SESSIONS_DESCRIPTION = `\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B${DIARIST_BOUND_ENDPOINTS}\u533A\u95F4\u91CC\u53EA\u6709\u8BF4\u8BDD\u4EBA\u7684\u539F\u6587\u8FDB\u5F55\uFF1A\u7528\u6237\u4E0E\u52A9\u624B\u6D88\u606F\u91CC\u7684\u6587\u672C\u3001\u771F\u4EBA\u7ECF\u961F\u5217\u7684\u63D2\u8BDD\u3001\u965B\u4E0B\u7528\u659C\u6760\u547D\u4EE4\u5E26\u7684\u53C2\u6570\uFF08\u547D\u4EE4\u540D\u662F\u673A\u5668\u7684\uFF0C\u53C2\u6570\u662F\u965B\u4E0B\u8BF4\u7684\u8BDD\uFF09\uFF1B\u601D\u8003\u3001\u5DE5\u5177\u8C03\u7528\u3001\u5DE5\u5177\u7ED3\u679C\u548C\u673A\u5668\u901A\u77E5\u4E0D\u8FDB\u5F55\uFF0C\u533A\u95F4\u53EF\u4EE5\u76F4\u63A5\u8DE8\u8FC7\u5B83\u4EEC\uFF0C\u4E0D\u5FC5\u62C6\u6BB5\u3002\u6BCF\u6B21\u4EA4\u5377\u7684\u8FB9\u754C\u7167\u6295\u5F71\u8FFD\u52A0\u8FDB\u672C\u7968\u8D77\u5C45\u5F55\uFF0C\u4E0D\u53BB\u91CD\uFF0C\u4E5F\u4E0D\u6539\u5DF2\u6709\u7684\u5F55\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002`;
|
|
9301
|
+
lastRecordedField = typebox_exports.String({
|
|
9302
|
+
description: "\u672C\u7968\u5DF2\u6709\u8D77\u5C45\u5F55\u91CC\u3001\u672C\u5377\u4E0A\u6B21\u6210\u5F55\u7684\u6700\u540E\u4E00\u884C\uFF1A\u7167\u8D77\u5C45\u5F55\u7AEF\u70B9\u5199 uuid \u6216 line"
|
|
9303
|
+
});
|
|
9304
|
+
diaristSinceLastSchema = typebox_exports.Union(
|
|
9305
|
+
[
|
|
9306
|
+
typebox_exports.Object(
|
|
9307
|
+
{
|
|
9308
|
+
lastRecorded: lastRecordedField,
|
|
9309
|
+
swept: typebox_exports.Array(typebox_exports.String(), {
|
|
9310
|
+
description: "\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\uFF0C\u965B\u4E0B\u8C08\u672C\u7968\u7684\u6BCF\u4E00\u884C\uFF0C\u4E00\u884C\u4E00\u6761\uFF0C\u7167\u8FB9\u754C\u7AEF\u70B9\u7684\u5199\u6CD5\uFF08uuid\uFF0C\u6CA1\u6709 uuid \u7684\u5199 line\uFF09\uFF1B\u8FD9\u4E9B\u884C\u90FD\u5DF2\u5212\u8FDB ranges"
|
|
9311
|
+
}),
|
|
9312
|
+
found: typebox_exports.Literal("\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\u965B\u4E0B\u8C08\u8FC7\u672C\u7968\uFF0C\u5DF2\u5212\u8FDB ranges")
|
|
9313
|
+
},
|
|
9314
|
+
{ additionalProperties: true }
|
|
9315
|
+
),
|
|
9316
|
+
typebox_exports.Object(
|
|
9317
|
+
{
|
|
9318
|
+
lastRecorded: lastRecordedField,
|
|
9319
|
+
swept: typebox_exports.Null(),
|
|
9320
|
+
found: typebox_exports.Literal("\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\u965B\u4E0B\u6CA1\u6709\u518D\u8C08\u672C\u7968")
|
|
9321
|
+
},
|
|
9322
|
+
{ additionalProperties: true }
|
|
9323
|
+
),
|
|
9324
|
+
typebox_exports.Object(
|
|
9325
|
+
{
|
|
9326
|
+
lastRecorded: typebox_exports.Null(),
|
|
9327
|
+
swept: typebox_exports.Null(),
|
|
9328
|
+
found: typebox_exports.Literal("\u672C\u5377\u5C1A\u65E0\u6210\u5F55\uFF08\u672C\u7968\u6CA1\u6709\u8D77\u5C45\u5F55\uFF0C\u6216\u8D77\u5C45\u5F55\u91CC\u6CA1\u6709\u672C\u5377\uFF09\uFF0C\u672C\u8F6E\u4ECE\u672C\u5377\u5F00\u5934\u6536")
|
|
9329
|
+
},
|
|
9330
|
+
{ additionalProperties: true }
|
|
9331
|
+
),
|
|
9332
|
+
typebox_exports.Object(
|
|
9333
|
+
{
|
|
9334
|
+
lastRecorded: typebox_exports.Null(),
|
|
9335
|
+
swept: typebox_exports.Null(),
|
|
9336
|
+
found: typebox_exports.Literal("\u65E0\u6CD5\u626B\uFF1A\u8D77\u5C45\u5F55\u6216\u6E90\u5377\u8BFB\u4E0D\u51FA\uFF0C\u672C\u8F6E status \u53EA\u80FD\u662F escalate\uFF0Creason \u5199\u660E\u8BFB\u4E0D\u51FA\u4EC0\u4E48")
|
|
9337
|
+
},
|
|
9338
|
+
{ additionalProperties: true }
|
|
9339
|
+
)
|
|
9340
|
+
],
|
|
9341
|
+
{
|
|
9342
|
+
description: "\u4E0A\u6B21\u6210\u5F55\u4EE5\u6765\u7684\u626B\u6BB5\uFF1A\u5148\u6253\u5F00\u672C\u7968\u5DF2\u6709\u7684\u8D77\u5C45\u5F55\uFF0C\u627E\u51FA\u672C\u5377\u4E0A\u6B21\u6210\u5F55\u7684\u6700\u540E\u4E00\u884C\uFF0C\u4ECE\u5B83\u7684\u4E0B\u4E00\u884C\u8D77\u4E00\u76F4\u626B\u5230\u672C\u8F6E\uFF08\u90A3\u4E00\u884C\u5DF2\u5728\u5F55\u91CC\uFF0C\u4E0D\u518D\u5212\uFF09\uFF0C\u965B\u4E0B\u5173\u4E8E\u672C\u7968\u8BF4\u8FC7\u7684\u6BCF\u4E00\u53E5\u90FD\u5212\u8FDB ranges\u2014\u2014\u4F20\u53EC\u70B9\u540D\u7684 uuid \u53EA\u662F\u8D77\u70B9\uFF0C\u4E0D\u662F\u5019\u9009\u96C6\u5408\u3002\u56DB\u79CD\u7B54\u6CD5\uFF1A\u8C08\u8FC7\uFF08\u9010\u884C\u5217 uuid \u6216 line\uFF09\uFF0F\u6CA1\u6709\u518D\u8C08\uFF0F\u672C\u5377\u5C1A\u65E0\u6210\u5F55\uFF0F\u65E0\u6CD5\u626B\uFF08\u53EA\u914D status escalate\uFF0C\u4E0D\u5F97\u7528\u6765\u514D\u626B\uFF09\u3002\u591A\u7968\u5EAD\u8FD9\u91CC\u586B\u4E3B\u7968\uFF0C\u5176\u4F59\u5404\u7968\u7684\u626B\u6BB5\u5404\u5199\u8FDB ticketSessions \u90A3\u4E00\u7968\u7684 sinceLast\u3002"
|
|
9343
|
+
}
|
|
9344
|
+
);
|
|
9271
9345
|
diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
9272
9346
|
openToolObject(
|
|
9273
9347
|
typebox_exports.Object({
|
|
@@ -9286,11 +9360,13 @@ var init_diarist_contracts = __esm({
|
|
|
9286
9360
|
description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
|
|
9287
9361
|
})),
|
|
9288
9362
|
ticketSessions: typebox_exports.Unknown({
|
|
9289
|
-
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\
|
|
9290
|
-
})
|
|
9363
|
+
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\u3001sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u4E0E\u8BE5\u7968\u81EA\u5DF1\u7684 sinceLast\uFF08\u5F62\u72B6\u540C\u9876\u5C42 sinceLast\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002`
|
|
9364
|
+
}),
|
|
9365
|
+
sinceLast: diaristSinceLastSchema
|
|
9291
9366
|
})
|
|
9292
9367
|
)
|
|
9293
9368
|
);
|
|
9369
|
+
diaristOutputSchema.required = ["sinceLast"];
|
|
9294
9370
|
}
|
|
9295
9371
|
});
|
|
9296
9372
|
|
package/dist/public-cli/main.js
CHANGED
|
@@ -9197,7 +9197,7 @@ var init_navigator_output = __esm({
|
|
|
9197
9197
|
});
|
|
9198
9198
|
|
|
9199
9199
|
// src/review-submission.ts
|
|
9200
|
-
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
9200
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, adrRowBase, notaryAdrRowSchema, notaryAdrField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, existenceRowUnion, MECHANISM_LABELS, mechanismRowUnion, mechanismRowSchema, auditorMechanismRowSchema, clauseRowBase, CLAUSE_LABELS, clauseExistenceRowSchema, countersignSubmissionSchema, judgeMechanismRowSchema, judgeSubmissionSchema, inspectorSubmissionSchema, auditorSubmissionSchema;
|
|
9201
9201
|
var init_review_submission = __esm({
|
|
9202
9202
|
"src/review-submission.ts"() {
|
|
9203
9203
|
"use strict";
|
|
@@ -9239,7 +9239,7 @@ var init_review_submission = __esm({
|
|
|
9239
9239
|
notaryClauseItemSchema = typebox_exports.Object(
|
|
9240
9240
|
{
|
|
9241
9241
|
clause: typebox_exports.String({
|
|
9242
|
-
description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09"
|
|
9242
|
+
description: "\u7968\u9762\u6761\u6B3E\u539F\u6587\uFF08\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\uFF1B\u4E0D\u5408\u5E76\u3001\u4E0D\u6539\u5199\uFF09\uFF1B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\u4E5F\u7B97\u4E00\u6761\uFF0C\u524D\u7F00\u6587\u4EF6\u540D\u7167\u6284"
|
|
9243
9243
|
}),
|
|
9244
9244
|
ownerUuid: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()], {
|
|
9245
9245
|
description: "\u63A8\u51FA\u8BE5\u6761\u7684\u965B\u4E0B\u539F\u8BDD uuid\uFF1B\u65E0\u539F\u8BDD\u5219 null"
|
|
@@ -9263,14 +9263,44 @@ var init_review_submission = __esm({
|
|
|
9263
9263
|
{ additionalProperties: true }
|
|
9264
9264
|
);
|
|
9265
9265
|
notaryClausesField = typebox_exports.Array(notaryClauseItemSchema, {
|
|
9266
|
-
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
|
|
9266
|
+
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u586B\uFF0C\u4E0D\u8BBA\u672C\u8F6E\u53D7\u5BA1\u7684\u662F\u7968\u9762\u8FD8\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\uFF1A\u73B0\u884C\u7968\u9762\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\uFF08\u542B\u7968\u9762\u70B9\u540D\u4E3A\u6CD5\u6E90\u7684 ADR \u91CC\u672C\u7968\u65B0\u5199\u6216\u6539\u8FC7\u7684\u51B3\u5B9A\u53E5\uFF09\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3001\u662F\u5426\u5728\u6700\u540E\u4E00\u7B7E\u65F6\u5C31\u5728\u8868\u91CC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\u3002\u771F\u65E0\u7968\u5BF9\u8C61\u6CA1\u6709\u7968\u9762\uFF0C\u586B\u7A7A\u6570\u7EC4\u3002"
|
|
9267
|
+
});
|
|
9268
|
+
adrRowBase = {
|
|
9269
|
+
ownerUuid: typebox_exports.String({ description: "\u965B\u4E0B\u62CD\u5B9A\u90A3\u53E5\u539F\u8BDD\u7684 uuid" }),
|
|
9270
|
+
decided: typebox_exports.String({
|
|
9271
|
+
description: "\u90A3\u53E5\u62CD\u5B9A\u4E86\u4EC0\u4E48\uFF1A\u7167\u539F\u8BCD\uFF0C\u4E0D\u6982\u62EC\u3001\u4E0D\u5408\u5E76\uFF08\u56DB\u5C42\u5206\u5DE5\u3001\u56DB\u6761\u89C4\u77E9\u3001\u8D26\u672C\u53EA\u5B58\u4E8B\u5B9E\u2026\u2026\u4E00\u6761\u4E00\u884C\uFF09"
|
|
9272
|
+
})
|
|
9273
|
+
};
|
|
9274
|
+
notaryAdrRowSchema = typebox_exports.Union([
|
|
9275
|
+
typebox_exports.Object(
|
|
9276
|
+
{
|
|
9277
|
+
...adrRowBase,
|
|
9278
|
+
adr: typebox_exports.String({ description: "\u843D\u5904\uFF1Adocs/adr \u6587\u4EF6\u540D\uFF0B\u6587\u5185\u627F\u8F7D\u8FD9\u6761\u62CD\u5B9A\u7684\u90A3\u4E00\u53E5\u539F\u6587\uFF08\u7167\u6284\uFF09" }),
|
|
9279
|
+
landed: typebox_exports.Literal("\u843D\u4E86\uFF1AADR \u6587\u5185\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50")
|
|
9280
|
+
},
|
|
9281
|
+
{ additionalProperties: true }
|
|
9282
|
+
),
|
|
9283
|
+
typebox_exports.Object(
|
|
9284
|
+
{
|
|
9285
|
+
...adrRowBase,
|
|
9286
|
+
adr: typebox_exports.Null(),
|
|
9287
|
+
landed: typebox_exports.Literal(
|
|
9288
|
+
"\u672A\u843D\uFF1AADR \u6587\u5185\u6CA1\u6709\u627F\u8F7D\u5B83\u7684\u53E5\u5B50\uFF1B\u7968\u9762\u6761\u6B3E\u5199\u4E86\u3001CLAUDE.md \u4E00\u7C7B\u7D22\u5F15\u8BF4\u67D0\u4EFD ADR \u542B\u5B83\u3001\u5224\u8BCD\u5F15\u8FC7\u5B83\u3001ADR \u6807\u9898\u50CF\uFF0C\u90FD\u4E0D\u662F\u843D\u5904"
|
|
9289
|
+
)
|
|
9290
|
+
},
|
|
9291
|
+
{ additionalProperties: true }
|
|
9292
|
+
)
|
|
9293
|
+
]);
|
|
9294
|
+
notaryAdrField = typebox_exports.Array(notaryAdrRowSchema, {
|
|
9295
|
+
description: "ADR \u843D\u5904\u8868\uFF1A\u53D7\u5BA1\u4E4B\u7269\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF09\u65F6\u586B\u2014\u2014\u8D77\u5C45\u5F55\u4E0E\u6E90\u5377\u91CC\u965B\u4E0B\u62CD\u5B9A\u7684\u3001\u8BE5\u8FDB ADR \u7684\u51B3\u5B9A\uFF08\u67B6\u6784\u5F62\u72B6\u3001\u5206\u5C42\u4E0E\u8FB9\u754C\u3001\u6280\u672F\u9009\u578B\u3001\u523B\u610F\u504F\u79BB\u5E38\u89C4\u7684\u505A\u6CD5\uFF1A\u96BE\u9006\u3001\u8BFB\u4EE3\u7801\u7684\u4EBA\u4F1A\u95EE\u4E3A\u4EC0\u4E48\u7684\u90A3\u7C7B\uFF09\uFF0C\u6BCF\u6761\u4E00\u884C\uFF0C\u5230 docs/adr \u91CC\u627E\u627F\u8F7D\u5B83\u7684\u90A3\u4E00\u53E5\uFF1B\u600E\u4E48\u6D4B\u3001\u600E\u4E48\u5206\u652F\u5408\u5165\u3001\u6570\u636E\u600E\u4E48\u8865\u3001\u5B57\u6BB5\u53EB\u4EC0\u4E48\u8FD9\u7C7B\u529E\u4E8B\u65B9\u6CD5\u4E0E\u7968\u5185\u7EC6\u8282\u4E0D\u5217\u3002\u6709\u300C\u672A\u843D\u300D\u884C\uFF0Cstatus \u53EA\u80FD\u662F escalate\uFF0C\u62CD\u5B9A\u539F\u6587\u4E0E\u5B83\u8BE5\u8FDB\u54EA\u4EFD ADR \u5217\u8FDB decisionGate\uFF0C\u8FDB\u4E0D\u8FDB\u7531\u965B\u4E0B\u5B9A\u3002\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
9267
9296
|
});
|
|
9268
9297
|
notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
9269
9298
|
typebox_exports.Object(
|
|
9270
9299
|
{
|
|
9271
9300
|
status: reviewStatusField,
|
|
9272
9301
|
...reviewNarrativeFields,
|
|
9273
|
-
clauses: notaryClausesField
|
|
9302
|
+
clauses: notaryClausesField,
|
|
9303
|
+
adr: notaryAdrField
|
|
9274
9304
|
},
|
|
9275
9305
|
{ additionalProperties: true }
|
|
9276
9306
|
)
|
|
@@ -9741,7 +9771,7 @@ var init_ticket_provenance_contracts = __esm({
|
|
|
9741
9771
|
});
|
|
9742
9772
|
|
|
9743
9773
|
// src/diarist-contracts.ts
|
|
9744
|
-
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_BOUND_ENDPOINTS, DIARIST_SESSIONS_DESCRIPTION, diaristOutputSchema;
|
|
9774
|
+
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_BOUND_ENDPOINTS, DIARIST_SESSIONS_DESCRIPTION, lastRecordedField, diaristSinceLastSchema, diaristOutputSchema;
|
|
9745
9775
|
var init_diarist_contracts = __esm({
|
|
9746
9776
|
"src/diarist-contracts.ts"() {
|
|
9747
9777
|
"use strict";
|
|
@@ -9753,7 +9783,51 @@ var init_diarist_contracts = __esm({
|
|
|
9753
9783
|
init_unknown_value();
|
|
9754
9784
|
DIARIST_OUTPUT_TOOL_NAME = "ak_diarist_output";
|
|
9755
9785
|
DIARIST_BOUND_ENDPOINTS = "\u8D77\u70B9\u4E0E\u7EC8\u70B9\u5404\u5199 id \u6216 line\uFF0C\u4E8C\u9009\u4E00\uFF1Aid\uFF1D\u4F1A\u8BDD\u5377\u91CC\u90A3\u4E00\u884C JSON \u7684 uuid \u5B57\u6BB5\u503C\uFF08\u6CA1\u6709 uuid \u53D6 id\uFF1B\u9876\u5C42\u90FD\u6CA1\u6709\u518D\u53D6 message \u6216 payload \u91CC\u7684 uuid / id\uFF09\uFF0C\u540C\u4E00 id \u51FA\u73B0\u591A\u6B21\u65F6\u53D6\u7B2C\u4E00\u6B21\u51FA\u73B0\u7684\u90A3\u4E00\u884C\uFF1Bline\uFF1D\u90A3\u4E00\u884C\u5728\u6587\u4EF6\u91CC\u4ECE 1 \u6570\u8D77\u7684\u884C\u53F7\u3002\u4E24\u7AEF\u90FD\u542B\u5728\u533A\u95F4\u5185\u3002";
|
|
9756
|
-
DIARIST_SESSIONS_DESCRIPTION = `\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B${DIARIST_BOUND_ENDPOINTS}\u533A\u95F4\u91CC\u53EA\u6709\u8BF4\u8BDD\u4EBA\u7684\u539F\u6587\u8FDB\u5F55\uFF1A\u7528\u6237\u4E0E\u52A9\u624B\u6D88\u606F\u91CC\u7684\u6587\u672C\u3001\u771F\u4EBA\u7ECF\u961F\u5217\u7684\u63D2\u8BDD\uFF1B\u601D\u8003\u3001\u5DE5\u5177\u8C03\u7528\u3001\u5DE5\u5177\u7ED3\u679C\u548C\u673A\u5668\u901A\u77E5\u4E0D\u8FDB\u5F55\uFF0C\u533A\u95F4\u53EF\u4EE5\u76F4\u63A5\u8DE8\u8FC7\u5B83\u4EEC\uFF0C\u4E0D\u5FC5\u62C6\u6BB5\u3002\u6BCF\u6B21\u4EA4\u5377\u7684\u8FB9\u754C\u7167\u6295\u5F71\u8FFD\u52A0\u8FDB\u672C\u7968\u8D77\u5C45\u5F55\uFF0C\u4E0D\u53BB\u91CD\uFF0C\u4E5F\u4E0D\u6539\u5DF2\u6709\u7684\u5F55\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002`;
|
|
9786
|
+
DIARIST_SESSIONS_DESCRIPTION = `\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B${DIARIST_BOUND_ENDPOINTS}\u533A\u95F4\u91CC\u53EA\u6709\u8BF4\u8BDD\u4EBA\u7684\u539F\u6587\u8FDB\u5F55\uFF1A\u7528\u6237\u4E0E\u52A9\u624B\u6D88\u606F\u91CC\u7684\u6587\u672C\u3001\u771F\u4EBA\u7ECF\u961F\u5217\u7684\u63D2\u8BDD\u3001\u965B\u4E0B\u7528\u659C\u6760\u547D\u4EE4\u5E26\u7684\u53C2\u6570\uFF08\u547D\u4EE4\u540D\u662F\u673A\u5668\u7684\uFF0C\u53C2\u6570\u662F\u965B\u4E0B\u8BF4\u7684\u8BDD\uFF09\uFF1B\u601D\u8003\u3001\u5DE5\u5177\u8C03\u7528\u3001\u5DE5\u5177\u7ED3\u679C\u548C\u673A\u5668\u901A\u77E5\u4E0D\u8FDB\u5F55\uFF0C\u533A\u95F4\u53EF\u4EE5\u76F4\u63A5\u8DE8\u8FC7\u5B83\u4EEC\uFF0C\u4E0D\u5FC5\u62C6\u6BB5\u3002\u6BCF\u6B21\u4EA4\u5377\u7684\u8FB9\u754C\u7167\u6295\u5F71\u8FFD\u52A0\u8FDB\u672C\u7968\u8D77\u5C45\u5F55\uFF0C\u4E0D\u53BB\u91CD\uFF0C\u4E5F\u4E0D\u6539\u5DF2\u6709\u7684\u5F55\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002`;
|
|
9787
|
+
lastRecordedField = typebox_exports.String({
|
|
9788
|
+
description: "\u672C\u7968\u5DF2\u6709\u8D77\u5C45\u5F55\u91CC\u3001\u672C\u5377\u4E0A\u6B21\u6210\u5F55\u7684\u6700\u540E\u4E00\u884C\uFF1A\u7167\u8D77\u5C45\u5F55\u7AEF\u70B9\u5199 uuid \u6216 line"
|
|
9789
|
+
});
|
|
9790
|
+
diaristSinceLastSchema = typebox_exports.Union(
|
|
9791
|
+
[
|
|
9792
|
+
typebox_exports.Object(
|
|
9793
|
+
{
|
|
9794
|
+
lastRecorded: lastRecordedField,
|
|
9795
|
+
swept: typebox_exports.Array(typebox_exports.String(), {
|
|
9796
|
+
description: "\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\uFF0C\u965B\u4E0B\u8C08\u672C\u7968\u7684\u6BCF\u4E00\u884C\uFF0C\u4E00\u884C\u4E00\u6761\uFF0C\u7167\u8FB9\u754C\u7AEF\u70B9\u7684\u5199\u6CD5\uFF08uuid\uFF0C\u6CA1\u6709 uuid \u7684\u5199 line\uFF09\uFF1B\u8FD9\u4E9B\u884C\u90FD\u5DF2\u5212\u8FDB ranges"
|
|
9797
|
+
}),
|
|
9798
|
+
found: typebox_exports.Literal("\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\u965B\u4E0B\u8C08\u8FC7\u672C\u7968\uFF0C\u5DF2\u5212\u8FDB ranges")
|
|
9799
|
+
},
|
|
9800
|
+
{ additionalProperties: true }
|
|
9801
|
+
),
|
|
9802
|
+
typebox_exports.Object(
|
|
9803
|
+
{
|
|
9804
|
+
lastRecorded: lastRecordedField,
|
|
9805
|
+
swept: typebox_exports.Null(),
|
|
9806
|
+
found: typebox_exports.Literal("\u4E0A\u6B21\u6210\u5F55\u672B\u5C3E\u5230\u672C\u8F6E\u4E4B\u95F4\u965B\u4E0B\u6CA1\u6709\u518D\u8C08\u672C\u7968")
|
|
9807
|
+
},
|
|
9808
|
+
{ additionalProperties: true }
|
|
9809
|
+
),
|
|
9810
|
+
typebox_exports.Object(
|
|
9811
|
+
{
|
|
9812
|
+
lastRecorded: typebox_exports.Null(),
|
|
9813
|
+
swept: typebox_exports.Null(),
|
|
9814
|
+
found: typebox_exports.Literal("\u672C\u5377\u5C1A\u65E0\u6210\u5F55\uFF08\u672C\u7968\u6CA1\u6709\u8D77\u5C45\u5F55\uFF0C\u6216\u8D77\u5C45\u5F55\u91CC\u6CA1\u6709\u672C\u5377\uFF09\uFF0C\u672C\u8F6E\u4ECE\u672C\u5377\u5F00\u5934\u6536")
|
|
9815
|
+
},
|
|
9816
|
+
{ additionalProperties: true }
|
|
9817
|
+
),
|
|
9818
|
+
typebox_exports.Object(
|
|
9819
|
+
{
|
|
9820
|
+
lastRecorded: typebox_exports.Null(),
|
|
9821
|
+
swept: typebox_exports.Null(),
|
|
9822
|
+
found: typebox_exports.Literal("\u65E0\u6CD5\u626B\uFF1A\u8D77\u5C45\u5F55\u6216\u6E90\u5377\u8BFB\u4E0D\u51FA\uFF0C\u672C\u8F6E status \u53EA\u80FD\u662F escalate\uFF0Creason \u5199\u660E\u8BFB\u4E0D\u51FA\u4EC0\u4E48")
|
|
9823
|
+
},
|
|
9824
|
+
{ additionalProperties: true }
|
|
9825
|
+
)
|
|
9826
|
+
],
|
|
9827
|
+
{
|
|
9828
|
+
description: "\u4E0A\u6B21\u6210\u5F55\u4EE5\u6765\u7684\u626B\u6BB5\uFF1A\u5148\u6253\u5F00\u672C\u7968\u5DF2\u6709\u7684\u8D77\u5C45\u5F55\uFF0C\u627E\u51FA\u672C\u5377\u4E0A\u6B21\u6210\u5F55\u7684\u6700\u540E\u4E00\u884C\uFF0C\u4ECE\u5B83\u7684\u4E0B\u4E00\u884C\u8D77\u4E00\u76F4\u626B\u5230\u672C\u8F6E\uFF08\u90A3\u4E00\u884C\u5DF2\u5728\u5F55\u91CC\uFF0C\u4E0D\u518D\u5212\uFF09\uFF0C\u965B\u4E0B\u5173\u4E8E\u672C\u7968\u8BF4\u8FC7\u7684\u6BCF\u4E00\u53E5\u90FD\u5212\u8FDB ranges\u2014\u2014\u4F20\u53EC\u70B9\u540D\u7684 uuid \u53EA\u662F\u8D77\u70B9\uFF0C\u4E0D\u662F\u5019\u9009\u96C6\u5408\u3002\u56DB\u79CD\u7B54\u6CD5\uFF1A\u8C08\u8FC7\uFF08\u9010\u884C\u5217 uuid \u6216 line\uFF09\uFF0F\u6CA1\u6709\u518D\u8C08\uFF0F\u672C\u5377\u5C1A\u65E0\u6210\u5F55\uFF0F\u65E0\u6CD5\u626B\uFF08\u53EA\u914D status escalate\uFF0C\u4E0D\u5F97\u7528\u6765\u514D\u626B\uFF09\u3002\u591A\u7968\u5EAD\u8FD9\u91CC\u586B\u4E3B\u7968\uFF0C\u5176\u4F59\u5404\u7968\u7684\u626B\u6BB5\u5404\u5199\u8FDB ticketSessions \u90A3\u4E00\u7968\u7684 sinceLast\u3002"
|
|
9829
|
+
}
|
|
9830
|
+
);
|
|
9757
9831
|
diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
9758
9832
|
openToolObject(
|
|
9759
9833
|
typebox_exports.Object({
|
|
@@ -9772,11 +9846,13 @@ var init_diarist_contracts = __esm({
|
|
|
9772
9846
|
description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
|
|
9773
9847
|
})),
|
|
9774
9848
|
ticketSessions: typebox_exports.Unknown({
|
|
9775
|
-
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\
|
|
9776
|
-
})
|
|
9849
|
+
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\u3001sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u4E0E\u8BE5\u7968\u81EA\u5DF1\u7684 sinceLast\uFF08\u5F62\u72B6\u540C\u9876\u5C42 sinceLast\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002`
|
|
9850
|
+
}),
|
|
9851
|
+
sinceLast: diaristSinceLastSchema
|
|
9777
9852
|
})
|
|
9778
9853
|
)
|
|
9779
9854
|
);
|
|
9855
|
+
diaristOutputSchema.required = ["sinceLast"];
|
|
9780
9856
|
}
|
|
9781
9857
|
});
|
|
9782
9858
|
|
|
@@ -41,7 +41,7 @@ export const reviewSubmissionSchema = withTerminatingOutputDeclarations(Type.Obj
|
|
|
41
41
|
*/
|
|
42
42
|
export const notaryClauseItemSchema = Type.Object({
|
|
43
43
|
clause: Type.String({
|
|
44
|
-
description: "
|
|
44
|
+
description: "票面条款原文(改变实际行为的条款;不合并、不改写);票面点名为法源的 ADR 里本票新写或改过的决定句也算一条,前缀文件名照抄",
|
|
45
45
|
}),
|
|
46
46
|
ownerUuid: Type.Union([Type.String(), Type.Null()], {
|
|
47
47
|
description: "推出该条的陛下原话 uuid;无原话则 null",
|
|
@@ -60,7 +60,34 @@ export const notaryClauseItemSchema = Type.Object({
|
|
|
60
60
|
}),
|
|
61
61
|
}, { additionalProperties: true });
|
|
62
62
|
export const notaryClausesField = Type.Array(notaryClauseItemSchema, {
|
|
63
|
-
description: "
|
|
63
|
+
description: "票面逐条核旨表,每一轮都填,不论本轮受审的是票面还是大理寺的判词:现行票面每条改变实际行为的条款的原文(含票面点名为法源的 ADR 里本票新写或改过的决定句)、陛下原话 uuid、推导、是否在最后一签时就在表里。无原话则 ownerUuid 为 null。真无票对象没有票面,填空数组。",
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* Notary ADR-landing row (2026-10-30, 陛下: summoned by the countersign gate, the notary checks the grill's ADR
|
|
67
|
+
* against the owner's words). One row per owner decision at the direction/design/decision level; two row shapes,
|
|
68
|
+
* no third: the ADR text carries the sentence (adr filled, 落了) or it does not (adr null, 未落). A ticket clause,
|
|
69
|
+
* a CLAUDE.md index line, a verdict citation or an ADR title is not a landing.
|
|
70
|
+
*/
|
|
71
|
+
const adrRowBase = {
|
|
72
|
+
ownerUuid: Type.String({ description: "陛下拍定那句原话的 uuid" }),
|
|
73
|
+
decided: Type.String({
|
|
74
|
+
description: "那句拍定了什么:照原词,不概括、不合并(四层分工、四条规矩、账本只存事实……一条一行)",
|
|
75
|
+
}),
|
|
76
|
+
};
|
|
77
|
+
export const notaryAdrRowSchema = Type.Union([
|
|
78
|
+
Type.Object({
|
|
79
|
+
...adrRowBase,
|
|
80
|
+
adr: Type.String({ description: "落处:docs/adr 文件名+文内承载这条拍定的那一句原文(照抄)" }),
|
|
81
|
+
landed: Type.Literal("落了:ADR 文内有承载它的句子"),
|
|
82
|
+
}, { additionalProperties: true }),
|
|
83
|
+
Type.Object({
|
|
84
|
+
...adrRowBase,
|
|
85
|
+
adr: Type.Null(),
|
|
86
|
+
landed: Type.Literal("未落:ADR 文内没有承载它的句子;票面条款写了、CLAUDE.md 一类索引说某份 ADR 含它、判词引过它、ADR 标题像,都不是落处"),
|
|
87
|
+
}, { additionalProperties: true }),
|
|
88
|
+
]);
|
|
89
|
+
export const notaryAdrField = Type.Array(notaryAdrRowSchema, {
|
|
90
|
+
description: "ADR 落处表:受审之物是给事中对票面的判词(票庭)时填——起居录与源卷里陛下拍定的、该进 ADR 的决定(架构形状、分层与边界、技术选型、刻意偏离常规的做法:难逆、读代码的人会问为什么的那类),每条一行,到 docs/adr 里找承载它的那一句;怎么测、怎么分支合入、数据怎么补、字段叫什么这类办事方法与票内细节不列。有「未落」行,status 只能是 escalate,拍定原文与它该进哪份 ADR 列进 decisionGate,进不进由陛下定。受审之物是大理寺的判词、修法方向或收敛的实现时为空数组。",
|
|
64
91
|
});
|
|
65
92
|
/**
|
|
66
93
|
* Notary generation schema (#1195): shared review face plus
|
|
@@ -70,6 +97,7 @@ export const notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(Ty
|
|
|
70
97
|
status: reviewStatusField,
|
|
71
98
|
...reviewNarrativeFields,
|
|
72
99
|
clauses: notaryClausesField,
|
|
100
|
+
adr: notaryAdrField,
|
|
73
101
|
}, { additionalProperties: true }));
|
|
74
102
|
/** Inspector whole-ticket complexity row: one quality-law deletion clause, answered for the whole ticket. */
|
|
75
103
|
export const ticketComplexityRowSchema = Type.Object({
|
|
@@ -4,7 +4,7 @@ Status: accepted
|
|
|
4
4
|
|
|
5
5
|
交卷工具 schema 保留字段声明与 description;非审核席维持零 required(含记账位)、顶层开放额外属性的原决定。审核席的判别字段 status 则为三态枚举且必填,没有省略 status 的失败例外。审核席仍能交卷、而完成审核所需的外部依赖发生真实基础设施失败时,status 取上呈值,失败细节写入既有 infrastructureFailure;这不是放行或封驳。执行或宿主已失败、审核席无法交卷时,仍由宿主如实失败终局。
|
|
6
6
|
|
|
7
|
-
例外一处(2026-10-29 陛下拍,PR #1285):各席的核旨表与存废尺表是生成必填的——符宝郎 clauses(#1195
|
|
7
|
+
例外一处(2026-10-29 陛下拍,PR #1285):各席的核旨表与存废尺表是生成必填的——符宝郎 clauses(#1195 起)与 adr(ADR 落处表,#1286 起)、起居郎 sinceLast(上次成录以来的扫段)、台院 ticketComplexity/mechanisms、审刑院 mechanisms/runtime、大理寺 mechanisms、给事中与中书省 existence;中书省虽非三态审核席,这张表同样必填。必填只作用于宿主生成端,包侧仍照本条只记录、不拒收。
|
|
8
8
|
|
|
9
9
|
包侧收卷:审核席除判别字段外,其余字段不必填、不限制,允许额外属性;声明不是包侧校验授权,包不因格式拒收或判死;判别字段没填或读不出时只说读不出并附收到的值,不在重交提示里另写一套状态名。key 名字不必逐字相同,合不合格由审刑院按是否读得懂来判。
|
|
10
10
|
|
package/package.json
CHANGED
package/souls/diarist.md
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
你为本案找齐并整理决策依据,收进本票已有的起居录。你只记录已经作出的决定,不立法、不批准设计、不指挥施工。
|
|
4
4
|
|
|
5
5
|
- 相关性由你裁决:不把票面已列出的材料当完整候选集合,也不以票号、引语或关键词未命中作为排除依据。
|
|
6
|
-
-
|
|
6
|
+
- 本票已有起居录的,先打开它,找出本卷上次成录的最后一行,从它的下一行起一直扫到本轮(那一行本身已在录里,不再划):陛下关于本票说过的每一句都划进 ranges,不论本轮传召点名的是哪几句——点名的 uuid 只是起点,不是候选集合。本卷尚无成录的(本票没有起居录,或起居录里没有这一卷)从本卷开头收。扫过的这段写进 sinceLast(多票庭每票各写一份);起居录或源卷读不出,sinceLast 写无法扫并上呈,不编一个「没有再谈」。
|
|
7
|
+
- 分清身份:陛下(owner)的决定、助手的提议、正式裁决、你自己的整理解释,四者不得混同;建议不得写成授权。看说话的人,不看包装:陛下用斜杠命令带的参数、经队列插的话,都是陛下的话。
|
|
7
8
|
- 导航而非重写:已有设计与法源以原件指针加简短关系说明引用,不复制成第二份规范。
|
|
8
9
|
- 分清现行与历史:被修订替代的决定保留出处,但不与当前方向并列。
|
|
9
10
|
- 缺录、不可读、引用无法核实时如实说明,不猜成事实,不以缺失充当"没有问题"。
|
package/souls/notary.md
CHANGED
|
@@ -20,9 +20,11 @@
|
|
|
20
20
|
键值已写进 ADR、票面已过庭、判词已引用,都不算原话,不豁免。
|
|
21
21
|
任一病成立,点名该条驳回;拿不准陛下本意的,上呈。
|
|
22
22
|
|
|
23
|
+
**三、ADR 落处**:受审之物是票面本身(票庭)那一轮,再做一张表:起居录与源卷里陛下拍定的、该进 ADR 的决定——架构形状、分层与边界、技术选型、刻意偏离常规的做法,难逆、读代码的人会问为什么的那类——每条一行,到 docs/adr 里找承载它的那一句;怎么测、怎么分支合入、数据怎么补、字段叫什么这类办事方法与票内细节不列。落处只认 ADR 文内的句子:票面条款写了、CLAUDE.md 一类索引说某份 ADR「含」它、判词引过它、ADR 标题像,都不是落处。陛下说过要写进 ADR 的(「更新/新增到 adr」一类)而 ADR 里没有那句,是漏写;没说过的也照列,进不进 ADR 由陛下定。有未落的行,status 只能是 escalate,拍定原文与它该进哪份 ADR 列进 decisionGate。反过来,票面点名为法源的 ADR 里本票新写或改过的决定句也是条款,照条款表的规矩找原话(没动的句子不列);ADR 里有、原话推不出的,同为加戏。
|
|
24
|
+
|
|
23
25
|
方法:按条封驳。
|
|
24
26
|
取证按《审法·取证授权》与《取证边界》。无法解决的上抛陛下。
|
|
25
27
|
|
|
26
28
|
## 结论
|
|
27
29
|
|
|
28
|
-
结论三态,裁的是被审衙门这一轮的判词站不站得住(票庭是给事中,大理寺庭是大理寺),条款表是你的依据:'converged'(署)——站得住,不论它署了票还是封驳了票:它署了票,而条款表每条都有 uuid 且推导成立;或它封驳了票、退签发方改,而你也查出该改的地方。'continue'(封驳)——站不住,要被审衙门改判重交:它署了票,而条款表查出与原话相抵的条款;或它封驳的理由在原话上不成立。'escalate'(上呈)——有条款 ownerUuid 为 null
|
|
30
|
+
结论三态,裁的是被审衙门这一轮的判词站不站得住(票庭是给事中,大理寺庭是大理寺),条款表是你的依据:'converged'(署)——站得住,不论它署了票还是封驳了票:它署了票,而条款表每条都有 uuid 且推导成立;或它封驳了票、退签发方改,而你也查出该改的地方。'continue'(封驳)——站不住,要被审衙门改判重交:它署了票,而条款表查出与原话相抵的条款;或它封驳的理由在原话上不成立。'escalate'(上呈)——有条款 ownerUuid 为 null(无原话),或有条款是最后一签后才出现在票面上(未过庭),或 ADR 落处表有未落的拍定,陛下定。
|
package/src/diarist-contracts.ts
CHANGED
|
@@ -39,14 +39,25 @@ export type DiaristOutput =
|
|
|
39
39
|
readonly ticketSessions?: readonly {
|
|
40
40
|
readonly ticketNumber: number;
|
|
41
41
|
readonly sessions: readonly TicketProvenanceSession[];
|
|
42
|
+
readonly sinceLast?: DiaristSinceLast;
|
|
42
43
|
}[];
|
|
44
|
+
/** 2026-10-30: the sweep since the last recorded line (generation-required; the package records as-is, so typed as optional). */
|
|
45
|
+
readonly sinceLast?: DiaristSinceLast;
|
|
43
46
|
}
|
|
44
47
|
| {
|
|
45
48
|
/** LLM cannot sign this round normally (Soul) — escalate, never wash into 无录. */
|
|
46
49
|
readonly status: "escalate";
|
|
47
50
|
readonly reason: string;
|
|
51
|
+
/** On the escalate path the honest shape is 无法扫 (or whatever was actually swept before the failure). */
|
|
52
|
+
readonly sinceLast?: DiaristSinceLast;
|
|
48
53
|
};
|
|
49
54
|
|
|
55
|
+
export type DiaristSinceLast =
|
|
56
|
+
| { readonly lastRecorded: string; readonly swept: readonly string[]; readonly found: "上次成录末尾到本轮之间陛下谈过本票,已划进 ranges" }
|
|
57
|
+
| { readonly lastRecorded: string; readonly swept: null; readonly found: "上次成录末尾到本轮之间陛下没有再谈本票" }
|
|
58
|
+
| { readonly lastRecorded: null; readonly swept: null; readonly found: "本卷尚无成录(本票没有起居录,或起居录里没有本卷),本轮从本卷开头收" }
|
|
59
|
+
| { readonly lastRecorded: null; readonly swept: null; readonly found: "无法扫:起居录或源卷读不出,本轮 status 只能是 escalate,reason 写明读不出什么" };
|
|
60
|
+
|
|
50
61
|
export function validateRecordedDiaristOutput(value: unknown): DiaristOutput {
|
|
51
62
|
if (!isRecord(value)) {
|
|
52
63
|
throw new Error("Diarist output has no execution discriminator");
|
|
@@ -104,7 +115,59 @@ export const DIARIST_BOUND_ENDPOINTS =
|
|
|
104
115
|
"起点与终点各写 id 或 line,二选一:id=会话卷里那一行 JSON 的 uuid 字段值(没有 uuid 取 id;顶层都没有再取 message 或 payload 里的 uuid / id),同一 id 出现多次时取第一次出现的那一行;line=那一行在文件里从 1 数起的行号。两端都含在区间内。" as const;
|
|
105
116
|
|
|
106
117
|
const DIARIST_SESSIONS_DESCRIPTION =
|
|
107
|
-
`对话边界。每卷含 path(会话卷绝对或可读路径)与 ranges(本卷本轮各区间)。每段区间含 from / to;${DIARIST_BOUND_ENDPOINTS}
|
|
118
|
+
`对话边界。每卷含 path(会话卷绝对或可读路径)与 ranges(本卷本轮各区间)。每段区间含 from / to;${DIARIST_BOUND_ENDPOINTS}区间里只有说话人的原文进录:用户与助手消息里的文本、真人经队列的插话、陛下用斜杠命令带的参数(命令名是机器的,参数是陛下说的话);思考、工具调用、工具结果和机器通知不进录,区间可以直接跨过它们,不必拆段。每次交卷的边界照投影追加进本票起居录,不去重,也不改已有的录。空列表=本轮无对话可划。端点无法指名时走 reask,不中止。` as const;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* 2026-10-30 (陛下: #1943 的起居录漏了整场 grill): the gap since the last recorded line is a required cell.
|
|
122
|
+
* Three shapes plus the escalate-only 无法扫: the owner spoke about this ticket in the gap (every such line listed and inside
|
|
123
|
+
* ranges), the owner did not, or this volume has no recorded line yet (new ticket or new volume). Generation-required under ADR 0057's exception;
|
|
124
|
+
* the package still records the receipt as-is.
|
|
125
|
+
*/
|
|
126
|
+
const lastRecordedField = Type.String({
|
|
127
|
+
description: "本票已有起居录里、本卷上次成录的最后一行:照起居录端点写 uuid 或 line",
|
|
128
|
+
});
|
|
129
|
+
export const diaristSinceLastSchema = Type.Union(
|
|
130
|
+
[
|
|
131
|
+
Type.Object(
|
|
132
|
+
{
|
|
133
|
+
lastRecorded: lastRecordedField,
|
|
134
|
+
swept: Type.Array(Type.String(), {
|
|
135
|
+
description: "上次成录末尾到本轮之间,陛下谈本票的每一行,一行一条,照边界端点的写法(uuid,没有 uuid 的写 line);这些行都已划进 ranges",
|
|
136
|
+
}),
|
|
137
|
+
found: Type.Literal("上次成录末尾到本轮之间陛下谈过本票,已划进 ranges"),
|
|
138
|
+
},
|
|
139
|
+
{ additionalProperties: true },
|
|
140
|
+
),
|
|
141
|
+
Type.Object(
|
|
142
|
+
{
|
|
143
|
+
lastRecorded: lastRecordedField,
|
|
144
|
+
swept: Type.Null(),
|
|
145
|
+
found: Type.Literal("上次成录末尾到本轮之间陛下没有再谈本票"),
|
|
146
|
+
},
|
|
147
|
+
{ additionalProperties: true },
|
|
148
|
+
),
|
|
149
|
+
Type.Object(
|
|
150
|
+
{
|
|
151
|
+
lastRecorded: Type.Null(),
|
|
152
|
+
swept: Type.Null(),
|
|
153
|
+
found: Type.Literal("本卷尚无成录(本票没有起居录,或起居录里没有本卷),本轮从本卷开头收"),
|
|
154
|
+
},
|
|
155
|
+
{ additionalProperties: true },
|
|
156
|
+
),
|
|
157
|
+
Type.Object(
|
|
158
|
+
{
|
|
159
|
+
lastRecorded: Type.Null(),
|
|
160
|
+
swept: Type.Null(),
|
|
161
|
+
found: Type.Literal("无法扫:起居录或源卷读不出,本轮 status 只能是 escalate,reason 写明读不出什么"),
|
|
162
|
+
},
|
|
163
|
+
{ additionalProperties: true },
|
|
164
|
+
),
|
|
165
|
+
],
|
|
166
|
+
{
|
|
167
|
+
description:
|
|
168
|
+
"上次成录以来的扫段:先打开本票已有的起居录,找出本卷上次成录的最后一行,从它的下一行起一直扫到本轮(那一行已在录里,不再划),陛下关于本票说过的每一句都划进 ranges——传召点名的 uuid 只是起点,不是候选集合。四种答法:谈过(逐行列 uuid 或 line)/没有再谈/本卷尚无成录/无法扫(只配 status escalate,不得用来免扫)。多票庭这里填主票,其余各票的扫段各写进 ticketSessions 那一票的 sinceLast。",
|
|
169
|
+
},
|
|
170
|
+
);
|
|
108
171
|
|
|
109
172
|
export const diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
110
173
|
openToolObject(
|
|
@@ -125,8 +188,11 @@ export const diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
|
125
188
|
description: `仅单票庭时填对话边界;没有就填 null。${DIARIST_SESSIONS_DESCRIPTION}`,
|
|
126
189
|
})),
|
|
127
190
|
ticketSessions: Type.Unknown({
|
|
128
|
-
description: `仅多票庭时填逐票对话边界;没有就填 null。每票含 ticketNumber
|
|
191
|
+
description: `仅多票庭时填逐票对话边界;没有就填 null。每票含 ticketNumber(本条边界所归票号,正整数)、sessions(${DIARIST_SESSIONS_DESCRIPTION})与该票自己的 sinceLast(形状同顶层 sinceLast)。一次交卷各票各自分录。`,
|
|
129
192
|
}),
|
|
193
|
+
sinceLast: diaristSinceLastSchema,
|
|
130
194
|
}),
|
|
131
195
|
),
|
|
132
196
|
);
|
|
197
|
+
// #1134 emptied the required set; sinceLast is the one generation-required cell (ADR 0057 exception; the package still records as-is).
|
|
198
|
+
(diaristOutputSchema as unknown as { required: string[] }).required = ["sinceLast"];
|
package/src/review-submission.ts
CHANGED
|
@@ -58,7 +58,7 @@ export const reviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
|
58
58
|
export const notaryClauseItemSchema = Type.Object(
|
|
59
59
|
{
|
|
60
60
|
clause: Type.String({
|
|
61
|
-
description: "
|
|
61
|
+
description: "票面条款原文(改变实际行为的条款;不合并、不改写);票面点名为法源的 ADR 里本票新写或改过的决定句也算一条,前缀文件名照抄",
|
|
62
62
|
}),
|
|
63
63
|
ownerUuid: Type.Union([Type.String(), Type.Null()], {
|
|
64
64
|
description: "推出该条的陛下原话 uuid;无原话则 null",
|
|
@@ -87,7 +87,45 @@ export const notaryClauseItemSchema = Type.Object(
|
|
|
87
87
|
|
|
88
88
|
export const notaryClausesField = Type.Array(notaryClauseItemSchema, {
|
|
89
89
|
description:
|
|
90
|
-
"
|
|
90
|
+
"票面逐条核旨表,每一轮都填,不论本轮受审的是票面还是大理寺的判词:现行票面每条改变实际行为的条款的原文(含票面点名为法源的 ADR 里本票新写或改过的决定句)、陛下原话 uuid、推导、是否在最后一签时就在表里。无原话则 ownerUuid 为 null。真无票对象没有票面,填空数组。",
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Notary ADR-landing row (2026-10-30, 陛下: summoned by the countersign gate, the notary checks the grill's ADR
|
|
95
|
+
* against the owner's words). One row per owner decision at the direction/design/decision level; two row shapes,
|
|
96
|
+
* no third: the ADR text carries the sentence (adr filled, 落了) or it does not (adr null, 未落). A ticket clause,
|
|
97
|
+
* a CLAUDE.md index line, a verdict citation or an ADR title is not a landing.
|
|
98
|
+
*/
|
|
99
|
+
const adrRowBase = {
|
|
100
|
+
ownerUuid: Type.String({ description: "陛下拍定那句原话的 uuid" }),
|
|
101
|
+
decided: Type.String({
|
|
102
|
+
description: "那句拍定了什么:照原词,不概括、不合并(四层分工、四条规矩、账本只存事实……一条一行)",
|
|
103
|
+
}),
|
|
104
|
+
};
|
|
105
|
+
export const notaryAdrRowSchema = Type.Union([
|
|
106
|
+
Type.Object(
|
|
107
|
+
{
|
|
108
|
+
...adrRowBase,
|
|
109
|
+
adr: Type.String({ description: "落处:docs/adr 文件名+文内承载这条拍定的那一句原文(照抄)" }),
|
|
110
|
+
landed: Type.Literal("落了:ADR 文内有承载它的句子"),
|
|
111
|
+
},
|
|
112
|
+
{ additionalProperties: true },
|
|
113
|
+
),
|
|
114
|
+
Type.Object(
|
|
115
|
+
{
|
|
116
|
+
...adrRowBase,
|
|
117
|
+
adr: Type.Null(),
|
|
118
|
+
landed: Type.Literal(
|
|
119
|
+
"未落:ADR 文内没有承载它的句子;票面条款写了、CLAUDE.md 一类索引说某份 ADR 含它、判词引过它、ADR 标题像,都不是落处",
|
|
120
|
+
),
|
|
121
|
+
},
|
|
122
|
+
{ additionalProperties: true },
|
|
123
|
+
),
|
|
124
|
+
]);
|
|
125
|
+
|
|
126
|
+
export const notaryAdrField = Type.Array(notaryAdrRowSchema, {
|
|
127
|
+
description:
|
|
128
|
+
"ADR 落处表:受审之物是给事中对票面的判词(票庭)时填——起居录与源卷里陛下拍定的、该进 ADR 的决定(架构形状、分层与边界、技术选型、刻意偏离常规的做法:难逆、读代码的人会问为什么的那类),每条一行,到 docs/adr 里找承载它的那一句;怎么测、怎么分支合入、数据怎么补、字段叫什么这类办事方法与票内细节不列。有「未落」行,status 只能是 escalate,拍定原文与它该进哪份 ADR 列进 decisionGate,进不进由陛下定。受审之物是大理寺的判词、修法方向或收敛的实现时为空数组。",
|
|
91
129
|
});
|
|
92
130
|
|
|
93
131
|
/**
|
|
@@ -100,6 +138,7 @@ export const notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
|
100
138
|
status: reviewStatusField,
|
|
101
139
|
...reviewNarrativeFields,
|
|
102
140
|
clauses: notaryClausesField,
|
|
141
|
+
adr: notaryAdrField,
|
|
103
142
|
},
|
|
104
143
|
{ additionalProperties: true },
|
|
105
144
|
),
|