@akagilnc/pi-workflow-roles 0.1.6039 → 0.1.6054
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 +45 -3
- package/dist/headless-host/production-host.js +45 -3
- package/dist/migrate-book-topology.js +45 -3
- package/dist/public-cli/main.js +45 -3
- package/dist/review-submission.js +36 -1
- package/package.json +1 -1
- package/souls/inspector.md +2 -0
- package/souls/notary.md +2 -2
- package/src/review-submission.ts +55 -1
|
@@ -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, inspectorSubmissionSchema;
|
|
1685
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, inspectorSubmissionSchema;
|
|
1686
1686
|
var init_review_submission = __esm({
|
|
1687
1687
|
"src/review-submission.ts"() {
|
|
1688
1688
|
"use strict";
|
|
@@ -1736,12 +1736,18 @@ var init_review_submission = __esm({
|
|
|
1736
1736
|
}),
|
|
1737
1737
|
derivation: Type5.String({
|
|
1738
1738
|
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\u3002answered \u4E0D\u4E3A null \u65F6\uFF0C\u6761\u6B3E\u7684\u5BF9\u8C61\u987B\u5728 askedObject \u4E4B\u5185\uFF0C\u6216\u53E6\u6709\u539F\u8BDD\u70B9\u540D\u66F4\u5927\u7684\u5BF9\u8C61\uFF0CownerUuid \u624D\u7AD9\u5F97\u4F4F\uFF0C\u5426\u5219\u586B null\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u7684\u539F\u8BDD\u76F4\u63A5\u6309\u5B83\u7684\u610F\u601D\u63A8"
|
|
1739
|
-
})
|
|
1739
|
+
}),
|
|
1740
|
+
sealed: Type5.Union(
|
|
1741
|
+
[Type5.Literal("\u6700\u540E\u4E00\u7B7E\u65F6\u5DF2\u5728\u6761\u6B3E\u8868"), Type5.Literal("\u6700\u540E\u4E00\u7B7E\u540E\u624D\u51FA\u73B0\u5728\u7968\u9762")],
|
|
1742
|
+
{
|
|
1743
|
+
description: "\u5BF9\u7167\u8D77\u5C45\u5F55\u91CC\u672C\u7968\u6700\u540E\u4E00\u6B21\u7B7E\u62BC\uFF08\u7ED9\u4E8B\u4E2D\uFF0F\u7B26\u5B9D\u90CE converged\uFF09\u90A3\u4E00\u8F6E\u7B26\u5B9D\u90CE\u4EA4\u7684\u6761\u6B3E\u8868\uFF1A\u8FD9\u6761\u5F53\u65F6\u5728\u4E0D\u5728\u3002\u7B7E\u62BC\u540E\u624D\u6539\u8FDB\u7968\u9762\u7684\u6761\u6B3E\u662F\u540E\u8005\uFF0C\u6CA1\u6709\u8FC7\u5EAD\uFF0C\u4E0D\u662F\u73B0\u884C\u7968\u9762\uFF1B\u540E\u8005\u53EA\u5728\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u51FA\u73B0\u3002\u53D7\u5BA1\u7684\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF0C\u542B\u4FEE\u8BA2\u540E\u91CD\u9001\u7684\uFF09\uFF0C\u6216\u7968\u5EAD\u5C1A\u65E0\u7B7E\u62BC\u3001\u7B7E\u62BC\u90A3\u4E00\u8F6E\u6CA1\u6709\u53EF\u5BF9\u7167\u7684\u8868\uFF0C\u4E0D\u8BBA\u53D7\u5BA1\u4E4B\u7269\u4E3A\u4F55\uFF0C\u6BCF\u6761\u90FD\u662F\u524D\u8005\u3002\u73B0\u884C\u7968\u9762\u7684\u66F4\u65B0\u65F6\u95F4\u53EA\u662F\u7EBF\u7D22\uFF08\u8BC4\u8BBA\u4E5F\u4F1A\u6539\u5B83\uFF09\uFF0C\u5B9A\u593A\u770B\u6761\u6B3E\u5728\u4E0D\u5728\u90A3\u5F20\u8868\u91CC\uFF1B\u8868\u6F0F\u5217\u7684\u4E0D\u7B97\u540E\u8005\uFF0C\u62FF\u4E0D\u51C6\u5C31\u67E5 issue \u7684\u7F16\u8F91\u8BB0\u5F55"
|
|
1744
|
+
}
|
|
1745
|
+
)
|
|
1740
1746
|
},
|
|
1741
1747
|
{ additionalProperties: true }
|
|
1742
1748
|
);
|
|
1743
1749
|
notaryClausesField = Type5.Array(notaryClauseItemSchema, {
|
|
1744
|
-
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF1A\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\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\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"
|
|
1745
1751
|
});
|
|
1746
1752
|
notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
1747
1753
|
Type5.Object(
|
|
@@ -1765,6 +1771,39 @@ var init_review_submission = __esm({
|
|
|
1765
1771
|
},
|
|
1766
1772
|
{ additionalProperties: true }
|
|
1767
1773
|
);
|
|
1774
|
+
mechanismRowBase = {
|
|
1775
|
+
where: Type5.String({
|
|
1776
|
+
description: "\u672C\u7968\u751F\u4EA7\u4EE3\u7801\u51C0\u589E\u91CC\u7684\u90A3\u4E00\u884C path:line\uFF1A\u65B0\u589E\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u4FDD\u5B58\u7684\u72B6\u6001\uFF08\u6A21\u5757\u7EA7\u6216\u5B9E\u4F8B\u7EA7\u7684\u5B57\u5178\u3001\u96C6\u5408\u3001\u5217\u8868\u3001LRU \u7B49\uFF09\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF1B\u4E00\u884C\u4E00\u6761\uFF0C\u7167 diff \u5217\uFF0C\u4E0D\u5408\u5E76\uFF1B\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217"
|
|
1777
|
+
}),
|
|
1778
|
+
keeps: Type5.String({ description: "\u8FD9\u4E00\u884C\u8BA9\u4EC0\u4E48\u4E1C\u897F\u5728\u4E24\u6B21\u8C03\u7528\u4E4B\u95F4\u7559\u4E0B\u6765\uFF0C\u6216\u6321\u4F4F\u4EC0\u4E48" }),
|
|
1779
|
+
layer: Type5.Integer({ description: "\u4ECE\u672C\u7968\u8D77\u70B9\u5230 HEAD\uFF0C\u8FD9\u662F\u7B2C\u51E0\u5904\u8FD9\u6837\u7684\u65B0\u589E\uFF08\u542B\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\uFF09" })
|
|
1780
|
+
};
|
|
1781
|
+
MECHANISM_FRAMEWORK_RULE = "\u6846\u67B6\u662F\u4ED3\u5E93 ADR \u6216\u7968\u9762\u70B9\u540D\u7684\u90A3\u4E00\u4E2A\uFF08\u8BFB\u5199\u6A21\u578B\u3001Web\u3001\u6D4B\u8BD5\u7B49\u6846\u67B6\uFF09\uFF0C\u4E0D\u662F\u5E2D\u4F4D\u81EA\u9009\uFF1B\u5B9E\u73B0\u8FD9\u4E00\u5C42\u6240\u7528\u7684\u5E93\uFF08ORM\u3001\u7F13\u5B58\u5E93\u3001\u89E3\u6790\u5E93\uFF09\u4E0D\u662F\u6846\u67B6\uFF0C\u5B83\u7684 API \u9875\u6216\u793A\u4F8B\u586B\u4E0D\u8FDB\u8FD9\u683C\u2014\u2014\u90A3\u7B54\u7684\u662F\u300C\u8FD9\u5C42\u600E\u4E48\u505A\u300D\uFF0C\u8FD9\u683C\u95EE\u7684\u662F\u300C\u793A\u8303\u4E0D\u5E26\u8FD9\u5C42\u600E\u4E48\u529E\u300D";
|
|
1782
|
+
mechanismRowSchema = Type5.Union(
|
|
1783
|
+
[
|
|
1784
|
+
Type5.Object(
|
|
1785
|
+
{
|
|
1786
|
+
...mechanismRowBase,
|
|
1787
|
+
official: Type5.String({
|
|
1788
|
+
description: `\u8FD9\u6BB5\u4EE3\u7801\u6240\u5C5E\u5E94\u7528\u6846\u67B6\u7684\u5B98\u65B9\u793A\u8303\u91CC\uFF0C\u4E0D\u5E26\u8FD9\u4E00\u5C42\u65F6\u540C\u4E00\u5173\u5207\u600E\u4E48\u5904\u7406\uFF1A\u5148\u5199\u6846\u67B6\u540D\uFF0C\u518D\u94FE\u63A5\uFF0B\u539F\u53E5\uFF08\u793A\u8303\u91CC\u76F4\u63A5\u8BFB\u3001\u76F4\u63A5\u67E5\u3001\u4EA4\u7ED9\u6846\u67B6\u54EA\u9879\u8BBE\u7F6E\uFF09\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
1789
|
+
}),
|
|
1790
|
+
disposition: Type5.Literal("\u5220\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86", { description: "official \u586B\u4E86\u5B57\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
1791
|
+
},
|
|
1792
|
+
{ additionalProperties: true }
|
|
1793
|
+
),
|
|
1794
|
+
Type5.Object(
|
|
1795
|
+
{
|
|
1796
|
+
...mechanismRowBase,
|
|
1797
|
+
official: Type5.Null({
|
|
1798
|
+
description: `\u793A\u8303\u4EE3\u7801\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u6216\u4F9D\u8D56\uFF1A\u586B null\uFF0C\u5E76\u5728 keeps \u672B\u5C3E\u5199\u6846\u67B6\u540D\u4E0E\u793A\u8303\u91CC\u90A3\u4E00\u5904\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
1799
|
+
}),
|
|
1800
|
+
disposition: Type5.Literal("\u7559\uFF1A\u793A\u8303\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u5C42", { description: "official \u4E3A null\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
1801
|
+
},
|
|
1802
|
+
{ additionalProperties: true }
|
|
1803
|
+
)
|
|
1804
|
+
],
|
|
1805
|
+
{ description: "\u4E24\u79CD\u884C\u5F62\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86\uFF08official \u586B\u5B57\uFF0C\u5220\uFF09\uFF1B\u793A\u8303\u672C\u8EAB\u5C31\u5E26\u540C\u6837\u7684\u5C42\uFF08official null\uFF0C\u7559\uFF09" }
|
|
1806
|
+
);
|
|
1768
1807
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
1769
1808
|
Type5.Object(
|
|
1770
1809
|
{
|
|
@@ -1775,6 +1814,9 @@ var init_review_submission = __esm({
|
|
|
1775
1814
|
}),
|
|
1776
1815
|
ticketComplexity: Type5.Array(ticketComplexityRowSchema, {
|
|
1777
1816
|
description: "\u6574\u7968\u590D\u6742\u5EA6\uFF1A\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF09\u5230 HEAD \u7684\u751F\u4EA7\u4E0E\u6D4B\u8BD5\u51C0\u589E\uFF0C\u5BF9\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u6BCF\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587\u5404\u7B54\u4E00\u884C\u3002\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u6539\u52A8\u4E5F\u7B97\u5728\u5185\u3002"
|
|
1817
|
+
}),
|
|
1818
|
+
mechanisms: Type5.Array(mechanismRowSchema, {
|
|
1819
|
+
description: "\u6574\u7968\u673A\u5236\u5C42\uFF1A\u672C\u7968\u8D77\u70B9\u5230 HEAD \u751F\u4EA7\u4EE3\u7801\u65B0\u589E\u7684\u6BCF\u4E00\u5904\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF0C\u5404\u4E00\u884C\uFF0C\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u4E5F\u5217\uFF0C\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
1778
1820
|
})
|
|
1779
1821
|
},
|
|
1780
1822
|
{ additionalProperties: true }
|
|
@@ -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, inspectorSubmissionSchema;
|
|
484
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, inspectorSubmissionSchema;
|
|
485
485
|
var init_review_submission = __esm({
|
|
486
486
|
"src/review-submission.ts"() {
|
|
487
487
|
"use strict";
|
|
@@ -535,12 +535,18 @@ var init_review_submission = __esm({
|
|
|
535
535
|
}),
|
|
536
536
|
derivation: Type2.String({
|
|
537
537
|
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\u3002answered \u4E0D\u4E3A null \u65F6\uFF0C\u6761\u6B3E\u7684\u5BF9\u8C61\u987B\u5728 askedObject \u4E4B\u5185\uFF0C\u6216\u53E6\u6709\u539F\u8BDD\u70B9\u540D\u66F4\u5927\u7684\u5BF9\u8C61\uFF0CownerUuid \u624D\u7AD9\u5F97\u4F4F\uFF0C\u5426\u5219\u586B null\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u7684\u539F\u8BDD\u76F4\u63A5\u6309\u5B83\u7684\u610F\u601D\u63A8"
|
|
538
|
-
})
|
|
538
|
+
}),
|
|
539
|
+
sealed: Type2.Union(
|
|
540
|
+
[Type2.Literal("\u6700\u540E\u4E00\u7B7E\u65F6\u5DF2\u5728\u6761\u6B3E\u8868"), Type2.Literal("\u6700\u540E\u4E00\u7B7E\u540E\u624D\u51FA\u73B0\u5728\u7968\u9762")],
|
|
541
|
+
{
|
|
542
|
+
description: "\u5BF9\u7167\u8D77\u5C45\u5F55\u91CC\u672C\u7968\u6700\u540E\u4E00\u6B21\u7B7E\u62BC\uFF08\u7ED9\u4E8B\u4E2D\uFF0F\u7B26\u5B9D\u90CE converged\uFF09\u90A3\u4E00\u8F6E\u7B26\u5B9D\u90CE\u4EA4\u7684\u6761\u6B3E\u8868\uFF1A\u8FD9\u6761\u5F53\u65F6\u5728\u4E0D\u5728\u3002\u7B7E\u62BC\u540E\u624D\u6539\u8FDB\u7968\u9762\u7684\u6761\u6B3E\u662F\u540E\u8005\uFF0C\u6CA1\u6709\u8FC7\u5EAD\uFF0C\u4E0D\u662F\u73B0\u884C\u7968\u9762\uFF1B\u540E\u8005\u53EA\u5728\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u51FA\u73B0\u3002\u53D7\u5BA1\u7684\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF0C\u542B\u4FEE\u8BA2\u540E\u91CD\u9001\u7684\uFF09\uFF0C\u6216\u7968\u5EAD\u5C1A\u65E0\u7B7E\u62BC\u3001\u7B7E\u62BC\u90A3\u4E00\u8F6E\u6CA1\u6709\u53EF\u5BF9\u7167\u7684\u8868\uFF0C\u4E0D\u8BBA\u53D7\u5BA1\u4E4B\u7269\u4E3A\u4F55\uFF0C\u6BCF\u6761\u90FD\u662F\u524D\u8005\u3002\u73B0\u884C\u7968\u9762\u7684\u66F4\u65B0\u65F6\u95F4\u53EA\u662F\u7EBF\u7D22\uFF08\u8BC4\u8BBA\u4E5F\u4F1A\u6539\u5B83\uFF09\uFF0C\u5B9A\u593A\u770B\u6761\u6B3E\u5728\u4E0D\u5728\u90A3\u5F20\u8868\u91CC\uFF1B\u8868\u6F0F\u5217\u7684\u4E0D\u7B97\u540E\u8005\uFF0C\u62FF\u4E0D\u51C6\u5C31\u67E5 issue \u7684\u7F16\u8F91\u8BB0\u5F55"
|
|
543
|
+
}
|
|
544
|
+
)
|
|
539
545
|
},
|
|
540
546
|
{ additionalProperties: true }
|
|
541
547
|
);
|
|
542
548
|
notaryClausesField = Type2.Array(notaryClauseItemSchema, {
|
|
543
|
-
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF1A\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\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\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"
|
|
544
550
|
});
|
|
545
551
|
notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
546
552
|
Type2.Object(
|
|
@@ -564,6 +570,39 @@ var init_review_submission = __esm({
|
|
|
564
570
|
},
|
|
565
571
|
{ additionalProperties: true }
|
|
566
572
|
);
|
|
573
|
+
mechanismRowBase = {
|
|
574
|
+
where: Type2.String({
|
|
575
|
+
description: "\u672C\u7968\u751F\u4EA7\u4EE3\u7801\u51C0\u589E\u91CC\u7684\u90A3\u4E00\u884C path:line\uFF1A\u65B0\u589E\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u4FDD\u5B58\u7684\u72B6\u6001\uFF08\u6A21\u5757\u7EA7\u6216\u5B9E\u4F8B\u7EA7\u7684\u5B57\u5178\u3001\u96C6\u5408\u3001\u5217\u8868\u3001LRU \u7B49\uFF09\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF1B\u4E00\u884C\u4E00\u6761\uFF0C\u7167 diff \u5217\uFF0C\u4E0D\u5408\u5E76\uFF1B\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217"
|
|
576
|
+
}),
|
|
577
|
+
keeps: Type2.String({ description: "\u8FD9\u4E00\u884C\u8BA9\u4EC0\u4E48\u4E1C\u897F\u5728\u4E24\u6B21\u8C03\u7528\u4E4B\u95F4\u7559\u4E0B\u6765\uFF0C\u6216\u6321\u4F4F\u4EC0\u4E48" }),
|
|
578
|
+
layer: Type2.Integer({ description: "\u4ECE\u672C\u7968\u8D77\u70B9\u5230 HEAD\uFF0C\u8FD9\u662F\u7B2C\u51E0\u5904\u8FD9\u6837\u7684\u65B0\u589E\uFF08\u542B\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\uFF09" })
|
|
579
|
+
};
|
|
580
|
+
MECHANISM_FRAMEWORK_RULE = "\u6846\u67B6\u662F\u4ED3\u5E93 ADR \u6216\u7968\u9762\u70B9\u540D\u7684\u90A3\u4E00\u4E2A\uFF08\u8BFB\u5199\u6A21\u578B\u3001Web\u3001\u6D4B\u8BD5\u7B49\u6846\u67B6\uFF09\uFF0C\u4E0D\u662F\u5E2D\u4F4D\u81EA\u9009\uFF1B\u5B9E\u73B0\u8FD9\u4E00\u5C42\u6240\u7528\u7684\u5E93\uFF08ORM\u3001\u7F13\u5B58\u5E93\u3001\u89E3\u6790\u5E93\uFF09\u4E0D\u662F\u6846\u67B6\uFF0C\u5B83\u7684 API \u9875\u6216\u793A\u4F8B\u586B\u4E0D\u8FDB\u8FD9\u683C\u2014\u2014\u90A3\u7B54\u7684\u662F\u300C\u8FD9\u5C42\u600E\u4E48\u505A\u300D\uFF0C\u8FD9\u683C\u95EE\u7684\u662F\u300C\u793A\u8303\u4E0D\u5E26\u8FD9\u5C42\u600E\u4E48\u529E\u300D";
|
|
581
|
+
mechanismRowSchema = Type2.Union(
|
|
582
|
+
[
|
|
583
|
+
Type2.Object(
|
|
584
|
+
{
|
|
585
|
+
...mechanismRowBase,
|
|
586
|
+
official: Type2.String({
|
|
587
|
+
description: `\u8FD9\u6BB5\u4EE3\u7801\u6240\u5C5E\u5E94\u7528\u6846\u67B6\u7684\u5B98\u65B9\u793A\u8303\u91CC\uFF0C\u4E0D\u5E26\u8FD9\u4E00\u5C42\u65F6\u540C\u4E00\u5173\u5207\u600E\u4E48\u5904\u7406\uFF1A\u5148\u5199\u6846\u67B6\u540D\uFF0C\u518D\u94FE\u63A5\uFF0B\u539F\u53E5\uFF08\u793A\u8303\u91CC\u76F4\u63A5\u8BFB\u3001\u76F4\u63A5\u67E5\u3001\u4EA4\u7ED9\u6846\u67B6\u54EA\u9879\u8BBE\u7F6E\uFF09\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
588
|
+
}),
|
|
589
|
+
disposition: Type2.Literal("\u5220\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86", { description: "official \u586B\u4E86\u5B57\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
590
|
+
},
|
|
591
|
+
{ additionalProperties: true }
|
|
592
|
+
),
|
|
593
|
+
Type2.Object(
|
|
594
|
+
{
|
|
595
|
+
...mechanismRowBase,
|
|
596
|
+
official: Type2.Null({
|
|
597
|
+
description: `\u793A\u8303\u4EE3\u7801\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u6216\u4F9D\u8D56\uFF1A\u586B null\uFF0C\u5E76\u5728 keeps \u672B\u5C3E\u5199\u6846\u67B6\u540D\u4E0E\u793A\u8303\u91CC\u90A3\u4E00\u5904\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
598
|
+
}),
|
|
599
|
+
disposition: Type2.Literal("\u7559\uFF1A\u793A\u8303\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u5C42", { description: "official \u4E3A null\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
600
|
+
},
|
|
601
|
+
{ additionalProperties: true }
|
|
602
|
+
)
|
|
603
|
+
],
|
|
604
|
+
{ description: "\u4E24\u79CD\u884C\u5F62\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86\uFF08official \u586B\u5B57\uFF0C\u5220\uFF09\uFF1B\u793A\u8303\u672C\u8EAB\u5C31\u5E26\u540C\u6837\u7684\u5C42\uFF08official null\uFF0C\u7559\uFF09" }
|
|
605
|
+
);
|
|
567
606
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
568
607
|
Type2.Object(
|
|
569
608
|
{
|
|
@@ -574,6 +613,9 @@ var init_review_submission = __esm({
|
|
|
574
613
|
}),
|
|
575
614
|
ticketComplexity: Type2.Array(ticketComplexityRowSchema, {
|
|
576
615
|
description: "\u6574\u7968\u590D\u6742\u5EA6\uFF1A\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF09\u5230 HEAD \u7684\u751F\u4EA7\u4E0E\u6D4B\u8BD5\u51C0\u589E\uFF0C\u5BF9\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u6BCF\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587\u5404\u7B54\u4E00\u884C\u3002\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u6539\u52A8\u4E5F\u7B97\u5728\u5185\u3002"
|
|
616
|
+
}),
|
|
617
|
+
mechanisms: Type2.Array(mechanismRowSchema, {
|
|
618
|
+
description: "\u6574\u7968\u673A\u5236\u5C42\uFF1A\u672C\u7968\u8D77\u70B9\u5230 HEAD \u751F\u4EA7\u4EE3\u7801\u65B0\u589E\u7684\u6BCF\u4E00\u5904\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF0C\u5404\u4E00\u884C\uFF0C\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u4E5F\u5217\uFF0C\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
577
619
|
})
|
|
578
620
|
},
|
|
579
621
|
{ additionalProperties: true }
|
|
@@ -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, inspectorSubmissionSchema;
|
|
8710
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, inspectorSubmissionSchema;
|
|
8711
8711
|
var init_review_submission = __esm({
|
|
8712
8712
|
"src/review-submission.ts"() {
|
|
8713
8713
|
"use strict";
|
|
@@ -8762,12 +8762,18 @@ var init_review_submission = __esm({
|
|
|
8762
8762
|
}),
|
|
8763
8763
|
derivation: typebox_exports.String({
|
|
8764
8764
|
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\u3002answered \u4E0D\u4E3A null \u65F6\uFF0C\u6761\u6B3E\u7684\u5BF9\u8C61\u987B\u5728 askedObject \u4E4B\u5185\uFF0C\u6216\u53E6\u6709\u539F\u8BDD\u70B9\u540D\u66F4\u5927\u7684\u5BF9\u8C61\uFF0CownerUuid \u624D\u7AD9\u5F97\u4F4F\uFF0C\u5426\u5219\u586B null\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u7684\u539F\u8BDD\u76F4\u63A5\u6309\u5B83\u7684\u610F\u601D\u63A8"
|
|
8765
|
-
})
|
|
8765
|
+
}),
|
|
8766
|
+
sealed: typebox_exports.Union(
|
|
8767
|
+
[typebox_exports.Literal("\u6700\u540E\u4E00\u7B7E\u65F6\u5DF2\u5728\u6761\u6B3E\u8868"), typebox_exports.Literal("\u6700\u540E\u4E00\u7B7E\u540E\u624D\u51FA\u73B0\u5728\u7968\u9762")],
|
|
8768
|
+
{
|
|
8769
|
+
description: "\u5BF9\u7167\u8D77\u5C45\u5F55\u91CC\u672C\u7968\u6700\u540E\u4E00\u6B21\u7B7E\u62BC\uFF08\u7ED9\u4E8B\u4E2D\uFF0F\u7B26\u5B9D\u90CE converged\uFF09\u90A3\u4E00\u8F6E\u7B26\u5B9D\u90CE\u4EA4\u7684\u6761\u6B3E\u8868\uFF1A\u8FD9\u6761\u5F53\u65F6\u5728\u4E0D\u5728\u3002\u7B7E\u62BC\u540E\u624D\u6539\u8FDB\u7968\u9762\u7684\u6761\u6B3E\u662F\u540E\u8005\uFF0C\u6CA1\u6709\u8FC7\u5EAD\uFF0C\u4E0D\u662F\u73B0\u884C\u7968\u9762\uFF1B\u540E\u8005\u53EA\u5728\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u51FA\u73B0\u3002\u53D7\u5BA1\u7684\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF0C\u542B\u4FEE\u8BA2\u540E\u91CD\u9001\u7684\uFF09\uFF0C\u6216\u7968\u5EAD\u5C1A\u65E0\u7B7E\u62BC\u3001\u7B7E\u62BC\u90A3\u4E00\u8F6E\u6CA1\u6709\u53EF\u5BF9\u7167\u7684\u8868\uFF0C\u4E0D\u8BBA\u53D7\u5BA1\u4E4B\u7269\u4E3A\u4F55\uFF0C\u6BCF\u6761\u90FD\u662F\u524D\u8005\u3002\u73B0\u884C\u7968\u9762\u7684\u66F4\u65B0\u65F6\u95F4\u53EA\u662F\u7EBF\u7D22\uFF08\u8BC4\u8BBA\u4E5F\u4F1A\u6539\u5B83\uFF09\uFF0C\u5B9A\u593A\u770B\u6761\u6B3E\u5728\u4E0D\u5728\u90A3\u5F20\u8868\u91CC\uFF1B\u8868\u6F0F\u5217\u7684\u4E0D\u7B97\u540E\u8005\uFF0C\u62FF\u4E0D\u51C6\u5C31\u67E5 issue \u7684\u7F16\u8F91\u8BB0\u5F55"
|
|
8770
|
+
}
|
|
8771
|
+
)
|
|
8766
8772
|
},
|
|
8767
8773
|
{ additionalProperties: true }
|
|
8768
8774
|
);
|
|
8769
8775
|
notaryClausesField = typebox_exports.Array(notaryClauseItemSchema, {
|
|
8770
|
-
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF1A\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\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\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"
|
|
8771
8777
|
});
|
|
8772
8778
|
notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
8773
8779
|
typebox_exports.Object(
|
|
@@ -8791,6 +8797,39 @@ var init_review_submission = __esm({
|
|
|
8791
8797
|
},
|
|
8792
8798
|
{ additionalProperties: true }
|
|
8793
8799
|
);
|
|
8800
|
+
mechanismRowBase = {
|
|
8801
|
+
where: typebox_exports.String({
|
|
8802
|
+
description: "\u672C\u7968\u751F\u4EA7\u4EE3\u7801\u51C0\u589E\u91CC\u7684\u90A3\u4E00\u884C path:line\uFF1A\u65B0\u589E\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u4FDD\u5B58\u7684\u72B6\u6001\uFF08\u6A21\u5757\u7EA7\u6216\u5B9E\u4F8B\u7EA7\u7684\u5B57\u5178\u3001\u96C6\u5408\u3001\u5217\u8868\u3001LRU \u7B49\uFF09\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF1B\u4E00\u884C\u4E00\u6761\uFF0C\u7167 diff \u5217\uFF0C\u4E0D\u5408\u5E76\uFF1B\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217"
|
|
8803
|
+
}),
|
|
8804
|
+
keeps: typebox_exports.String({ description: "\u8FD9\u4E00\u884C\u8BA9\u4EC0\u4E48\u4E1C\u897F\u5728\u4E24\u6B21\u8C03\u7528\u4E4B\u95F4\u7559\u4E0B\u6765\uFF0C\u6216\u6321\u4F4F\u4EC0\u4E48" }),
|
|
8805
|
+
layer: typebox_exports.Integer({ description: "\u4ECE\u672C\u7968\u8D77\u70B9\u5230 HEAD\uFF0C\u8FD9\u662F\u7B2C\u51E0\u5904\u8FD9\u6837\u7684\u65B0\u589E\uFF08\u542B\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\uFF09" })
|
|
8806
|
+
};
|
|
8807
|
+
MECHANISM_FRAMEWORK_RULE = "\u6846\u67B6\u662F\u4ED3\u5E93 ADR \u6216\u7968\u9762\u70B9\u540D\u7684\u90A3\u4E00\u4E2A\uFF08\u8BFB\u5199\u6A21\u578B\u3001Web\u3001\u6D4B\u8BD5\u7B49\u6846\u67B6\uFF09\uFF0C\u4E0D\u662F\u5E2D\u4F4D\u81EA\u9009\uFF1B\u5B9E\u73B0\u8FD9\u4E00\u5C42\u6240\u7528\u7684\u5E93\uFF08ORM\u3001\u7F13\u5B58\u5E93\u3001\u89E3\u6790\u5E93\uFF09\u4E0D\u662F\u6846\u67B6\uFF0C\u5B83\u7684 API \u9875\u6216\u793A\u4F8B\u586B\u4E0D\u8FDB\u8FD9\u683C\u2014\u2014\u90A3\u7B54\u7684\u662F\u300C\u8FD9\u5C42\u600E\u4E48\u505A\u300D\uFF0C\u8FD9\u683C\u95EE\u7684\u662F\u300C\u793A\u8303\u4E0D\u5E26\u8FD9\u5C42\u600E\u4E48\u529E\u300D";
|
|
8808
|
+
mechanismRowSchema = typebox_exports.Union(
|
|
8809
|
+
[
|
|
8810
|
+
typebox_exports.Object(
|
|
8811
|
+
{
|
|
8812
|
+
...mechanismRowBase,
|
|
8813
|
+
official: typebox_exports.String({
|
|
8814
|
+
description: `\u8FD9\u6BB5\u4EE3\u7801\u6240\u5C5E\u5E94\u7528\u6846\u67B6\u7684\u5B98\u65B9\u793A\u8303\u91CC\uFF0C\u4E0D\u5E26\u8FD9\u4E00\u5C42\u65F6\u540C\u4E00\u5173\u5207\u600E\u4E48\u5904\u7406\uFF1A\u5148\u5199\u6846\u67B6\u540D\uFF0C\u518D\u94FE\u63A5\uFF0B\u539F\u53E5\uFF08\u793A\u8303\u91CC\u76F4\u63A5\u8BFB\u3001\u76F4\u63A5\u67E5\u3001\u4EA4\u7ED9\u6846\u67B6\u54EA\u9879\u8BBE\u7F6E\uFF09\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
8815
|
+
}),
|
|
8816
|
+
disposition: typebox_exports.Literal("\u5220\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86", { description: "official \u586B\u4E86\u5B57\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
8817
|
+
},
|
|
8818
|
+
{ additionalProperties: true }
|
|
8819
|
+
),
|
|
8820
|
+
typebox_exports.Object(
|
|
8821
|
+
{
|
|
8822
|
+
...mechanismRowBase,
|
|
8823
|
+
official: typebox_exports.Null({
|
|
8824
|
+
description: `\u793A\u8303\u4EE3\u7801\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u6216\u4F9D\u8D56\uFF1A\u586B null\uFF0C\u5E76\u5728 keeps \u672B\u5C3E\u5199\u6846\u67B6\u540D\u4E0E\u793A\u8303\u91CC\u90A3\u4E00\u5904\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
8825
|
+
}),
|
|
8826
|
+
disposition: typebox_exports.Literal("\u7559\uFF1A\u793A\u8303\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u5C42", { description: "official \u4E3A null\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
8827
|
+
},
|
|
8828
|
+
{ additionalProperties: true }
|
|
8829
|
+
)
|
|
8830
|
+
],
|
|
8831
|
+
{ description: "\u4E24\u79CD\u884C\u5F62\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86\uFF08official \u586B\u5B57\uFF0C\u5220\uFF09\uFF1B\u793A\u8303\u672C\u8EAB\u5C31\u5E26\u540C\u6837\u7684\u5C42\uFF08official null\uFF0C\u7559\uFF09" }
|
|
8832
|
+
);
|
|
8794
8833
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
8795
8834
|
typebox_exports.Object(
|
|
8796
8835
|
{
|
|
@@ -8801,6 +8840,9 @@ var init_review_submission = __esm({
|
|
|
8801
8840
|
}),
|
|
8802
8841
|
ticketComplexity: typebox_exports.Array(ticketComplexityRowSchema, {
|
|
8803
8842
|
description: "\u6574\u7968\u590D\u6742\u5EA6\uFF1A\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF09\u5230 HEAD \u7684\u751F\u4EA7\u4E0E\u6D4B\u8BD5\u51C0\u589E\uFF0C\u5BF9\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u6BCF\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587\u5404\u7B54\u4E00\u884C\u3002\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u6539\u52A8\u4E5F\u7B97\u5728\u5185\u3002"
|
|
8843
|
+
}),
|
|
8844
|
+
mechanisms: typebox_exports.Array(mechanismRowSchema, {
|
|
8845
|
+
description: "\u6574\u7968\u673A\u5236\u5C42\uFF1A\u672C\u7968\u8D77\u70B9\u5230 HEAD \u751F\u4EA7\u4EE3\u7801\u65B0\u589E\u7684\u6BCF\u4E00\u5904\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF0C\u5404\u4E00\u884C\uFF0C\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u4E5F\u5217\uFF0C\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
8804
8846
|
})
|
|
8805
8847
|
},
|
|
8806
8848
|
{ additionalProperties: true }
|
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, inspectorSubmissionSchema;
|
|
9200
|
+
var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewStatusField, reviewNarrativeFields, reviewSubmissionSchema, notaryClauseItemSchema, notaryClausesField, notaryReviewSubmissionSchema, ticketComplexityRowSchema, mechanismRowBase, MECHANISM_FRAMEWORK_RULE, mechanismRowSchema, inspectorSubmissionSchema;
|
|
9201
9201
|
var init_review_submission = __esm({
|
|
9202
9202
|
"src/review-submission.ts"() {
|
|
9203
9203
|
"use strict";
|
|
@@ -9252,12 +9252,18 @@ var init_review_submission = __esm({
|
|
|
9252
9252
|
}),
|
|
9253
9253
|
derivation: typebox_exports.String({
|
|
9254
9254
|
description: "\u4E00\u53E5\u63A8\u5BFC\uFF1A\u4ECE\u539F\u8BDD\u54EA\u4E2A\u610F\u601D\u5230\u8BE5\u6761\u6B3E\u3002answered \u4E0D\u4E3A null \u65F6\uFF0C\u6761\u6B3E\u7684\u5BF9\u8C61\u987B\u5728 askedObject \u4E4B\u5185\uFF0C\u6216\u53E6\u6709\u539F\u8BDD\u70B9\u540D\u66F4\u5927\u7684\u5BF9\u8C61\uFF0CownerUuid \u624D\u7AD9\u5F97\u4F4F\uFF0C\u5426\u5219\u586B null\uFF1B\u965B\u4E0B\u72EC\u7ACB\u63D0\u51FA\u7684\u539F\u8BDD\u76F4\u63A5\u6309\u5B83\u7684\u610F\u601D\u63A8"
|
|
9255
|
-
})
|
|
9255
|
+
}),
|
|
9256
|
+
sealed: typebox_exports.Union(
|
|
9257
|
+
[typebox_exports.Literal("\u6700\u540E\u4E00\u7B7E\u65F6\u5DF2\u5728\u6761\u6B3E\u8868"), typebox_exports.Literal("\u6700\u540E\u4E00\u7B7E\u540E\u624D\u51FA\u73B0\u5728\u7968\u9762")],
|
|
9258
|
+
{
|
|
9259
|
+
description: "\u5BF9\u7167\u8D77\u5C45\u5F55\u91CC\u672C\u7968\u6700\u540E\u4E00\u6B21\u7B7E\u62BC\uFF08\u7ED9\u4E8B\u4E2D\uFF0F\u7B26\u5B9D\u90CE converged\uFF09\u90A3\u4E00\u8F6E\u7B26\u5B9D\u90CE\u4EA4\u7684\u6761\u6B3E\u8868\uFF1A\u8FD9\u6761\u5F53\u65F6\u5728\u4E0D\u5728\u3002\u7B7E\u62BC\u540E\u624D\u6539\u8FDB\u7968\u9762\u7684\u6761\u6B3E\u662F\u540E\u8005\uFF0C\u6CA1\u6709\u8FC7\u5EAD\uFF0C\u4E0D\u662F\u73B0\u884C\u7968\u9762\uFF1B\u540E\u8005\u53EA\u5728\u53D7\u5BA1\u4E4B\u7269\u662F\u5927\u7406\u5BFA\u7684\u5224\u8BCD\u3001\u4FEE\u6CD5\u65B9\u5411\u6216\u6536\u655B\u7684\u5B9E\u73B0\u65F6\u51FA\u73B0\u3002\u53D7\u5BA1\u7684\u662F\u7ED9\u4E8B\u4E2D\u5BF9\u7968\u9762\u7684\u5224\u8BCD\uFF08\u7968\u5EAD\uFF0C\u542B\u4FEE\u8BA2\u540E\u91CD\u9001\u7684\uFF09\uFF0C\u6216\u7968\u5EAD\u5C1A\u65E0\u7B7E\u62BC\u3001\u7B7E\u62BC\u90A3\u4E00\u8F6E\u6CA1\u6709\u53EF\u5BF9\u7167\u7684\u8868\uFF0C\u4E0D\u8BBA\u53D7\u5BA1\u4E4B\u7269\u4E3A\u4F55\uFF0C\u6BCF\u6761\u90FD\u662F\u524D\u8005\u3002\u73B0\u884C\u7968\u9762\u7684\u66F4\u65B0\u65F6\u95F4\u53EA\u662F\u7EBF\u7D22\uFF08\u8BC4\u8BBA\u4E5F\u4F1A\u6539\u5B83\uFF09\uFF0C\u5B9A\u593A\u770B\u6761\u6B3E\u5728\u4E0D\u5728\u90A3\u5F20\u8868\u91CC\uFF1B\u8868\u6F0F\u5217\u7684\u4E0D\u7B97\u540E\u8005\uFF0C\u62FF\u4E0D\u51C6\u5C31\u67E5 issue \u7684\u7F16\u8F91\u8BB0\u5F55"
|
|
9260
|
+
}
|
|
9261
|
+
)
|
|
9256
9262
|
},
|
|
9257
9263
|
{ additionalProperties: true }
|
|
9258
9264
|
);
|
|
9259
9265
|
notaryClausesField = typebox_exports.Array(notaryClauseItemSchema, {
|
|
9260
|
-
description: "\u7968\u9762\u9010\u6761\u6838\u65E8\u8868\uFF1A\u6BCF\u6761\u6539\u53D8\u5B9E\u9645\u884C\u4E3A\u7684\u6761\u6B3E\u7684\u539F\u6587\u3001\u965B\u4E0B\u539F\u8BDD uuid\u3001\u63A8\u5BFC\u3002\u65E0\u539F\u8BDD\u5219 ownerUuid \u4E3A null\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\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"
|
|
9261
9267
|
});
|
|
9262
9268
|
notaryReviewSubmissionSchema = withTerminatingOutputDeclarations(
|
|
9263
9269
|
typebox_exports.Object(
|
|
@@ -9281,6 +9287,39 @@ var init_review_submission = __esm({
|
|
|
9281
9287
|
},
|
|
9282
9288
|
{ additionalProperties: true }
|
|
9283
9289
|
);
|
|
9290
|
+
mechanismRowBase = {
|
|
9291
|
+
where: typebox_exports.String({
|
|
9292
|
+
description: "\u672C\u7968\u751F\u4EA7\u4EE3\u7801\u51C0\u589E\u91CC\u7684\u90A3\u4E00\u884C path:line\uFF1A\u65B0\u589E\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u4FDD\u5B58\u7684\u72B6\u6001\uFF08\u6A21\u5757\u7EA7\u6216\u5B9E\u4F8B\u7EA7\u7684\u5B57\u5178\u3001\u96C6\u5408\u3001\u5217\u8868\u3001LRU \u7B49\uFF09\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF1B\u4E00\u884C\u4E00\u6761\uFF0C\u7167 diff \u5217\uFF0C\u4E0D\u5408\u5E76\uFF1B\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217"
|
|
9293
|
+
}),
|
|
9294
|
+
keeps: typebox_exports.String({ description: "\u8FD9\u4E00\u884C\u8BA9\u4EC0\u4E48\u4E1C\u897F\u5728\u4E24\u6B21\u8C03\u7528\u4E4B\u95F4\u7559\u4E0B\u6765\uFF0C\u6216\u6321\u4F4F\u4EC0\u4E48" }),
|
|
9295
|
+
layer: typebox_exports.Integer({ description: "\u4ECE\u672C\u7968\u8D77\u70B9\u5230 HEAD\uFF0C\u8FD9\u662F\u7B2C\u51E0\u5904\u8FD9\u6837\u7684\u65B0\u589E\uFF08\u542B\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\uFF09" })
|
|
9296
|
+
};
|
|
9297
|
+
MECHANISM_FRAMEWORK_RULE = "\u6846\u67B6\u662F\u4ED3\u5E93 ADR \u6216\u7968\u9762\u70B9\u540D\u7684\u90A3\u4E00\u4E2A\uFF08\u8BFB\u5199\u6A21\u578B\u3001Web\u3001\u6D4B\u8BD5\u7B49\u6846\u67B6\uFF09\uFF0C\u4E0D\u662F\u5E2D\u4F4D\u81EA\u9009\uFF1B\u5B9E\u73B0\u8FD9\u4E00\u5C42\u6240\u7528\u7684\u5E93\uFF08ORM\u3001\u7F13\u5B58\u5E93\u3001\u89E3\u6790\u5E93\uFF09\u4E0D\u662F\u6846\u67B6\uFF0C\u5B83\u7684 API \u9875\u6216\u793A\u4F8B\u586B\u4E0D\u8FDB\u8FD9\u683C\u2014\u2014\u90A3\u7B54\u7684\u662F\u300C\u8FD9\u5C42\u600E\u4E48\u505A\u300D\uFF0C\u8FD9\u683C\u95EE\u7684\u662F\u300C\u793A\u8303\u4E0D\u5E26\u8FD9\u5C42\u600E\u4E48\u529E\u300D";
|
|
9298
|
+
mechanismRowSchema = typebox_exports.Union(
|
|
9299
|
+
[
|
|
9300
|
+
typebox_exports.Object(
|
|
9301
|
+
{
|
|
9302
|
+
...mechanismRowBase,
|
|
9303
|
+
official: typebox_exports.String({
|
|
9304
|
+
description: `\u8FD9\u6BB5\u4EE3\u7801\u6240\u5C5E\u5E94\u7528\u6846\u67B6\u7684\u5B98\u65B9\u793A\u8303\u91CC\uFF0C\u4E0D\u5E26\u8FD9\u4E00\u5C42\u65F6\u540C\u4E00\u5173\u5207\u600E\u4E48\u5904\u7406\uFF1A\u5148\u5199\u6846\u67B6\u540D\uFF0C\u518D\u94FE\u63A5\uFF0B\u539F\u53E5\uFF08\u793A\u8303\u91CC\u76F4\u63A5\u8BFB\u3001\u76F4\u63A5\u67E5\u3001\u4EA4\u7ED9\u6846\u67B6\u54EA\u9879\u8BBE\u7F6E\uFF09\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
9305
|
+
}),
|
|
9306
|
+
disposition: typebox_exports.Literal("\u5220\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86", { description: "official \u586B\u4E86\u5B57\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
9307
|
+
},
|
|
9308
|
+
{ additionalProperties: true }
|
|
9309
|
+
),
|
|
9310
|
+
typebox_exports.Object(
|
|
9311
|
+
{
|
|
9312
|
+
...mechanismRowBase,
|
|
9313
|
+
official: typebox_exports.Null({
|
|
9314
|
+
description: `\u793A\u8303\u4EE3\u7801\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u6216\u4F9D\u8D56\uFF1A\u586B null\uFF0C\u5E76\u5728 keeps \u672B\u5C3E\u5199\u6846\u67B6\u540D\u4E0E\u793A\u8303\u91CC\u90A3\u4E00\u5904\u3002${MECHANISM_FRAMEWORK_RULE}`
|
|
9315
|
+
}),
|
|
9316
|
+
disposition: typebox_exports.Literal("\u7559\uFF1A\u793A\u8303\u672C\u8EAB\u5C31\u4E3A\u540C\u4E00\u5173\u5207\u5E26\u540C\u6837\u7684\u5C42", { description: "official \u4E3A null\uFF0C\u8FD9\u4E00\u884C\u53EA\u80FD\u662F\u8FD9\u4E2A\u5904\u7F6E" })
|
|
9317
|
+
},
|
|
9318
|
+
{ additionalProperties: true }
|
|
9319
|
+
)
|
|
9320
|
+
],
|
|
9321
|
+
{ description: "\u4E24\u79CD\u884C\u5F62\uFF0C\u6CA1\u6709\u7B2C\u4E09\u79CD\uFF1A\u793A\u8303\u4E0D\u5E26\u8FD9\u4E00\u5C42\u4E5F\u5904\u7406\u5F97\u4E86\uFF08official \u586B\u5B57\uFF0C\u5220\uFF09\uFF1B\u793A\u8303\u672C\u8EAB\u5C31\u5E26\u540C\u6837\u7684\u5C42\uFF08official null\uFF0C\u7559\uFF09" }
|
|
9322
|
+
);
|
|
9284
9323
|
inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
9285
9324
|
typebox_exports.Object(
|
|
9286
9325
|
{
|
|
@@ -9291,6 +9330,9 @@ var init_review_submission = __esm({
|
|
|
9291
9330
|
}),
|
|
9292
9331
|
ticketComplexity: typebox_exports.Array(ticketComplexityRowSchema, {
|
|
9293
9332
|
description: "\u6574\u7968\u590D\u6742\u5EA6\uFF1A\u672C\u7968\u8D77\u70B9\uFF08\u672C\u5206\u652F\u4E0E\u5BB6\u65CF\u5206\u652F\u6216\u76EE\u6807\u5206\u652F\u7684 git merge-base\uFF09\u5230 HEAD \u7684\u751F\u4EA7\u4E0E\u6D4B\u8BD5\u51C0\u589E\uFF0C\u5BF9\u300A\u8D28\u91CF\u6CD5\u300B\u91CC\u6BCF\u4E00\u53E5\u8981\u6C42\u5220\u9664\u3001\u5408\u5E76\u3001\u590D\u7528\u6216\u4E0D\u53E6\u5199\u7684\u6761\u6587\u5404\u7B54\u4E00\u884C\u3002\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u6539\u52A8\u4E5F\u7B97\u5728\u5185\u3002"
|
|
9333
|
+
}),
|
|
9334
|
+
mechanisms: typebox_exports.Array(mechanismRowSchema, {
|
|
9335
|
+
description: "\u6574\u7968\u673A\u5236\u5C42\uFF1A\u672C\u7968\u8D77\u70B9\u5230 HEAD \u751F\u4EA7\u4EE3\u7801\u65B0\u589E\u7684\u6BCF\u4E00\u5904\u4F9D\u8D56\u884C\u3001\u8DE8\u8C03\u7528\u72B6\u6001\u3001\u9501\u3001\u7F13\u5B58\u88C5\u9970\u6216\u5305\u88C5\uFF0C\u5404\u4E00\u884C\uFF0C\u524D\u51E0\u8F6E\u5DF2\u7F72\u8FC7\u7684\u4E5F\u5217\uFF0C\u6D4B\u8BD5\u5939\u5177\u4E0D\u5217\uFF1B\u4E00\u5904\u6CA1\u6709\u4E3A\u7A7A\u6570\u7EC4\u3002"
|
|
9294
9336
|
})
|
|
9295
9337
|
},
|
|
9296
9338
|
{ additionalProperties: true }
|
|
@@ -55,9 +55,12 @@ export const notaryClauseItemSchema = Type.Object({
|
|
|
55
55
|
derivation: Type.String({
|
|
56
56
|
description: "一句推导:从原话哪个意思到该条款。answered 不为 null 时,条款的对象须在 askedObject 之内,或另有原话点名更大的对象,ownerUuid 才站得住,否则填 null;陛下独立提出的原话直接按它的意思推",
|
|
57
57
|
}),
|
|
58
|
+
sealed: Type.Union([Type.Literal("最后一签时已在条款表"), Type.Literal("最后一签后才出现在票面")], {
|
|
59
|
+
description: "对照起居录里本票最后一次签押(给事中/符宝郎 converged)那一轮符宝郎交的条款表:这条当时在不在。签押后才改进票面的条款是后者,没有过庭,不是现行票面;后者只在受审之物是大理寺的判词、修法方向或收敛的实现时出现。受审的是给事中对票面的判词(票庭,含修订后重送的),或票庭尚无签押、签押那一轮没有可对照的表,不论受审之物为何,每条都是前者。现行票面的更新时间只是线索(评论也会改它),定夺看条款在不在那张表里;表漏列的不算后者,拿不准就查 issue 的编辑记录",
|
|
60
|
+
}),
|
|
58
61
|
}, { additionalProperties: true });
|
|
59
62
|
export const notaryClausesField = Type.Array(notaryClauseItemSchema, {
|
|
60
|
-
description: "
|
|
63
|
+
description: "票面逐条核旨表,每一轮都填,不论本轮受审的是票面还是大理寺的判词:现行票面每条改变实际行为的条款的原文、陛下原话 uuid、推导、是否在最后一签时就在表里。无原话则 ownerUuid 为 null。真无票对象没有票面,填空数组。",
|
|
61
64
|
});
|
|
62
65
|
/**
|
|
63
66
|
* Notary generation schema (#1195): shared review face plus
|
|
@@ -78,6 +81,35 @@ export const ticketComplexityRowSchema = Type.Object({
|
|
|
78
81
|
description: "为这一条打开比对过的几处 path:line:hits 为空时写每处为什么不算,不能只写未发现;有命中时写比对了哪些地方、命中在哪找到",
|
|
79
82
|
}),
|
|
80
83
|
}, { additionalProperties: true });
|
|
84
|
+
/**
|
|
85
|
+
* Inspector whole-ticket mechanism row: one added line that keeps state across calls, locks, caches, or adds a dependency.
|
|
86
|
+
* Two row shapes, no third: the framework's example manages without the layer (official filled, 删), or it carries the
|
|
87
|
+
* same layer itself (official null, 留). The union sits inside the array item, never at the root (see reviewSubmissionSchema).
|
|
88
|
+
*/
|
|
89
|
+
const mechanismRowBase = {
|
|
90
|
+
where: Type.String({
|
|
91
|
+
description: "本票生产代码净增里的那一行 path:line:新增依赖行、跨调用保存的状态(模块级或实例级的字典、集合、列表、LRU 等)、锁、缓存装饰或包装;一行一条,照 diff 列,不合并;测试夹具不列",
|
|
92
|
+
}),
|
|
93
|
+
keeps: Type.String({ description: "这一行让什么东西在两次调用之间留下来,或挡住什么" }),
|
|
94
|
+
layer: Type.Integer({ description: "从本票起点到 HEAD,这是第几处这样的新增(含前几轮已署过的)" }),
|
|
95
|
+
};
|
|
96
|
+
const MECHANISM_FRAMEWORK_RULE = "框架是仓库 ADR 或票面点名的那一个(读写模型、Web、测试等框架),不是席位自选;实现这一层所用的库(ORM、缓存库、解析库)不是框架,它的 API 页或示例填不进这格——那答的是「这层怎么做」,这格问的是「示范不带这层怎么办」";
|
|
97
|
+
export const mechanismRowSchema = Type.Union([
|
|
98
|
+
Type.Object({
|
|
99
|
+
...mechanismRowBase,
|
|
100
|
+
official: Type.String({
|
|
101
|
+
description: `这段代码所属应用框架的官方示范里,不带这一层时同一关切怎么处理:先写框架名,再链接+原句(示范里直接读、直接查、交给框架哪项设置)。${MECHANISM_FRAMEWORK_RULE}`,
|
|
102
|
+
}),
|
|
103
|
+
disposition: Type.Literal("删:示范不带这一层也处理得了", { description: "official 填了字,这一行只能是这个处置" }),
|
|
104
|
+
}, { additionalProperties: true }),
|
|
105
|
+
Type.Object({
|
|
106
|
+
...mechanismRowBase,
|
|
107
|
+
official: Type.Null({
|
|
108
|
+
description: `示范代码本身就为同一关切带同样的状态、锁、缓存或依赖:填 null,并在 keeps 末尾写框架名与示范里那一处。${MECHANISM_FRAMEWORK_RULE}`,
|
|
109
|
+
}),
|
|
110
|
+
disposition: Type.Literal("留:示范本身就为同一关切带同样的层", { description: "official 为 null,这一行只能是这个处置" }),
|
|
111
|
+
}, { additionalProperties: true }),
|
|
112
|
+
], { description: "两种行形,没有第三种:示范不带这一层也处理得了(official 填字,删);示范本身就带同样的层(official null,留)" });
|
|
81
113
|
/** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
|
|
82
114
|
export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(Type.Object({
|
|
83
115
|
status: reviewStatusField,
|
|
@@ -88,4 +120,7 @@ export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(Type.
|
|
|
88
120
|
ticketComplexity: Type.Array(ticketComplexityRowSchema, {
|
|
89
121
|
description: "整票复杂度:本票起点(本分支与家族分支或目标分支的 git merge-base)到 HEAD 的生产与测试净增,对《质量法》里每一句要求删除、合并、复用或不另写的条文各答一行。前几轮已署过的改动也算在内。",
|
|
90
122
|
}),
|
|
123
|
+
mechanisms: Type.Array(mechanismRowSchema, {
|
|
124
|
+
description: "整票机制层:本票起点到 HEAD 生产代码新增的每一处依赖行、跨调用状态、锁、缓存装饰或包装,各一行,前几轮已署过的也列,测试夹具不列;一处没有为空数组。",
|
|
125
|
+
}),
|
|
91
126
|
}, { additionalProperties: true }));
|
package/package.json
CHANGED
package/souls/inspector.md
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
本腿判完,再审整票:本票从起点到 HEAD 的生产与测试净增,还剩哪些能删、能合并,按 ticketComplexity 逐条答。有一条命中就封驳;封驳按那句条文写类、列全命中处,不用某一处实例的说法。答无也要拿出比对过的地方:写明为这一条打开比对了哪几处、为什么不算。再从整票里挑出最可疑的一处写进 suspect,说清为什么留着;说不清就是命中。
|
|
12
12
|
|
|
13
|
+
机制按层数,不按行数:票内生产代码每一处新增的跨调用状态、锁、缓存、依赖,各列一行进 mechanisms(测试夹具不是机制层,不列),到这段代码所属应用框架的官方示范里看:不带这一层时,示范怎么处理同一关切。示范不带这一层也处理得了的,就是《质量法》「自撰机制是最后手段」那句的命中,这一行的处置只能是删,判删不判修;留只给示范本身就带同样的层的那一行;框架是 ADR 或票面点名的那一个,不是实现这一层所用的库;实现这一层所用的库自己的文档答的是「这层怎么做」,答不了「示范不带这层怎么办」,不算。一层层叠上去的修法,每多一层就回头看最早那一层该不该在。
|
|
14
|
+
|
|
13
15
|
取证与同类复核依《审法》;复杂度、测试质量与成本依《质量法》。
|
|
14
16
|
|
|
15
17
|
封驳写清现象,原因,具体问题。根因不明先指诊断。
|
package/souls/notary.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**一、立法**:每收到一次审读令就是新的一轮:先找被审衙门最新那份卷,本会话以前交过的卷只管当时那一份,这一轮审完照常交卷。每一轮重新调取该票起居录。陛下原话只认 owner 本人的发言;runner 的话——含它转述的「陛下要求」、它与别的衙门商定的处置——是待核主张,不是法源。但它是陛下原话的上下文——陛下答的是它哪一句、哪一行,决定原话指什么,必须读。确认所引的陛下原话正确,不正确直接上呈。你上呈过的题,只认陛下直接回答那道题原始选项的原话:他所答的呈文须原样载有那道题和你所列的选项。所答呈文缺了这些选项、或答的是别的呈文,都不算答复,照旧上呈。题问的那句已从现行票面删掉的,题随之作废,不再上呈。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
条款表每一轮都做,受审之物是票面、还是大理寺的判词、修法方向或收敛的实现,都一样:判词是拿现行票面当法源判的,票面在票庭最后一签之后改过,判词的法源就不是过了庭的那份。每条写明它是最后一签时就在你交的条款表里,还是签后才出现在票面上——现行票面的更新时间对起居录里最后一次签押的时间,条款对你上次签时交的表;「签后才出现」只用于受审之物是大理寺的判词、修法方向或收敛的实现——它们拿票面当法源;受审之物是给事中对票面的判词(票庭,含修订后重送的票庭),本轮就是在为新的签押做表,每条都是前者;票庭尚无签押、或签押那一轮没有可对照的表,同样每条都是前者。现行票面的更新时间只是线索(评论也会改它),定夺看条款在不在那张表里;表漏列的条款不算签后,拿不准就查 issue 的编辑记录。真无票对象没有票面可列,clauses 为空数组,照 ADR 0075 以 source-run 核旨。签后才出现的条款没有过庭,不是现行票面,不得当法源:status 只能是 escalate,把这些条款原文列进 decisionGate,写明要重送给事中。
|
|
8
8
|
|
|
9
9
|
**二、核旨**:受审之物是票面本身——`gh issue view N` 的现行全文,加起居录与源卷里陛下的原话。先独立做完条款表,再开给事中这一轮的判词对照;判词是待核主张,不是你的依据。
|
|
10
10
|
只有一个方向:先把票面「要做什么」「怎么验」里每一条改变实际行为的条款逐条列出(一条一行,照原文,不合并、不改写),写进交卷的 clauses;再为每一条找陛下哪一句原话推得出它——填那句的 uuid(ownerUuid)和一句推导(derivation:从那句话的哪个意思到这条条款)。推不出的,ownerUuid 填 null、derivation 写「无原话」。陛下答一句,只答那一句问的事:所答的句子(问句、选项、表格行)问的是什么,原话就只管什么。条款的对象比所答那句问的大——答的是备注画不画全,条款管的是整张票修不修——又没有别的原话点名大的那个,就是无原话,ownerUuid 填 null;选项正文里多写的字是 runner 写的,不是陛下说的。「承接设计」「保留现有能力」「合理」「接缝归属」这类话不是推导,不能顶替 uuid。
|
|
@@ -33,4 +33,4 @@
|
|
|
33
33
|
|
|
34
34
|
## 结论
|
|
35
35
|
|
|
36
|
-
结论三态,裁的是被审衙门这一轮的判词站不站得住(票庭是给事中,大理寺庭是大理寺),条款表是你的依据:'converged'(署)——站得住,不论它署了票还是封驳了票:它署了票,而条款表每条都有 uuid 且推导成立;或它封驳了票、退签发方改,而你也查出该改的地方。'continue'(封驳)——站不住,要被审衙门改判重交:它署了票,而条款表查出与原话相抵的条款;或它封驳的理由在原话上不成立。'escalate'(上呈)——有条款 ownerUuid 为 null
|
|
36
|
+
结论三态,裁的是被审衙门这一轮的判词站不站得住(票庭是给事中,大理寺庭是大理寺),条款表是你的依据:'converged'(署)——站得住,不论它署了票还是封驳了票:它署了票,而条款表每条都有 uuid 且推导成立;或它封驳了票、退签发方改,而你也查出该改的地方。'continue'(封驳)——站不住,要被审衙门改判重交:它署了票,而条款表查出与原话相抵的条款;或它封驳的理由在原话上不成立。'escalate'(上呈)——有条款 ownerUuid 为 null(无原话),或有条款是最后一签后才出现在票面上(未过庭),陛下定。
|
package/src/review-submission.ts
CHANGED
|
@@ -74,13 +74,20 @@ export const notaryClauseItemSchema = Type.Object(
|
|
|
74
74
|
description:
|
|
75
75
|
"一句推导:从原话哪个意思到该条款。answered 不为 null 时,条款的对象须在 askedObject 之内,或另有原话点名更大的对象,ownerUuid 才站得住,否则填 null;陛下独立提出的原话直接按它的意思推",
|
|
76
76
|
}),
|
|
77
|
+
sealed: Type.Union(
|
|
78
|
+
[Type.Literal("最后一签时已在条款表"), Type.Literal("最后一签后才出现在票面")],
|
|
79
|
+
{
|
|
80
|
+
description:
|
|
81
|
+
"对照起居录里本票最后一次签押(给事中/符宝郎 converged)那一轮符宝郎交的条款表:这条当时在不在。签押后才改进票面的条款是后者,没有过庭,不是现行票面;后者只在受审之物是大理寺的判词、修法方向或收敛的实现时出现。受审的是给事中对票面的判词(票庭,含修订后重送的),或票庭尚无签押、签押那一轮没有可对照的表,不论受审之物为何,每条都是前者。现行票面的更新时间只是线索(评论也会改它),定夺看条款在不在那张表里;表漏列的不算后者,拿不准就查 issue 的编辑记录",
|
|
82
|
+
},
|
|
83
|
+
),
|
|
77
84
|
},
|
|
78
85
|
{ additionalProperties: true },
|
|
79
86
|
);
|
|
80
87
|
|
|
81
88
|
export const notaryClausesField = Type.Array(notaryClauseItemSchema, {
|
|
82
89
|
description:
|
|
83
|
-
"
|
|
90
|
+
"票面逐条核旨表,每一轮都填,不论本轮受审的是票面还是大理寺的判词:现行票面每条改变实际行为的条款的原文、陛下原话 uuid、推导、是否在最后一签时就在表里。无原话则 ownerUuid 为 null。真无票对象没有票面,填空数组。",
|
|
84
91
|
});
|
|
85
92
|
|
|
86
93
|
/**
|
|
@@ -112,6 +119,49 @@ export const ticketComplexityRowSchema = Type.Object(
|
|
|
112
119
|
{ additionalProperties: true },
|
|
113
120
|
);
|
|
114
121
|
|
|
122
|
+
/**
|
|
123
|
+
* Inspector whole-ticket mechanism row: one added line that keeps state across calls, locks, caches, or adds a dependency.
|
|
124
|
+
* Two row shapes, no third: the framework's example manages without the layer (official filled, 删), or it carries the
|
|
125
|
+
* same layer itself (official null, 留). The union sits inside the array item, never at the root (see reviewSubmissionSchema).
|
|
126
|
+
*/
|
|
127
|
+
const mechanismRowBase = {
|
|
128
|
+
where: Type.String({
|
|
129
|
+
description:
|
|
130
|
+
"本票生产代码净增里的那一行 path:line:新增依赖行、跨调用保存的状态(模块级或实例级的字典、集合、列表、LRU 等)、锁、缓存装饰或包装;一行一条,照 diff 列,不合并;测试夹具不列",
|
|
131
|
+
}),
|
|
132
|
+
keeps: Type.String({ description: "这一行让什么东西在两次调用之间留下来,或挡住什么" }),
|
|
133
|
+
layer: Type.Integer({ description: "从本票起点到 HEAD,这是第几处这样的新增(含前几轮已署过的)" }),
|
|
134
|
+
} as const;
|
|
135
|
+
|
|
136
|
+
const MECHANISM_FRAMEWORK_RULE =
|
|
137
|
+
"框架是仓库 ADR 或票面点名的那一个(读写模型、Web、测试等框架),不是席位自选;实现这一层所用的库(ORM、缓存库、解析库)不是框架,它的 API 页或示例填不进这格——那答的是「这层怎么做」,这格问的是「示范不带这层怎么办」";
|
|
138
|
+
|
|
139
|
+
export const mechanismRowSchema = Type.Union(
|
|
140
|
+
[
|
|
141
|
+
Type.Object(
|
|
142
|
+
{
|
|
143
|
+
...mechanismRowBase,
|
|
144
|
+
official: Type.String({
|
|
145
|
+
description: `这段代码所属应用框架的官方示范里,不带这一层时同一关切怎么处理:先写框架名,再链接+原句(示范里直接读、直接查、交给框架哪项设置)。${MECHANISM_FRAMEWORK_RULE}`,
|
|
146
|
+
}),
|
|
147
|
+
disposition: Type.Literal("删:示范不带这一层也处理得了", { description: "official 填了字,这一行只能是这个处置" }),
|
|
148
|
+
},
|
|
149
|
+
{ additionalProperties: true },
|
|
150
|
+
),
|
|
151
|
+
Type.Object(
|
|
152
|
+
{
|
|
153
|
+
...mechanismRowBase,
|
|
154
|
+
official: Type.Null({
|
|
155
|
+
description: `示范代码本身就为同一关切带同样的状态、锁、缓存或依赖:填 null,并在 keeps 末尾写框架名与示范里那一处。${MECHANISM_FRAMEWORK_RULE}`,
|
|
156
|
+
}),
|
|
157
|
+
disposition: Type.Literal("留:示范本身就为同一关切带同样的层", { description: "official 为 null,这一行只能是这个处置" }),
|
|
158
|
+
},
|
|
159
|
+
{ additionalProperties: true },
|
|
160
|
+
),
|
|
161
|
+
],
|
|
162
|
+
{ description: "两种行形,没有第三种:示范不带这一层也处理得了(official 填字,删);示范本身就带同样的层(official null,留)" },
|
|
163
|
+
);
|
|
164
|
+
|
|
115
165
|
/** Inspector generation schema: shared review face plus the required whole-ticket complexity answer (package records as-is). */
|
|
116
166
|
export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
117
167
|
Type.Object(
|
|
@@ -125,6 +175,10 @@ export const inspectorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
|
125
175
|
description:
|
|
126
176
|
"整票复杂度:本票起点(本分支与家族分支或目标分支的 git merge-base)到 HEAD 的生产与测试净增,对《质量法》里每一句要求删除、合并、复用或不另写的条文各答一行。前几轮已署过的改动也算在内。",
|
|
127
177
|
}),
|
|
178
|
+
mechanisms: Type.Array(mechanismRowSchema, {
|
|
179
|
+
description:
|
|
180
|
+
"整票机制层:本票起点到 HEAD 生产代码新增的每一处依赖行、跨调用状态、锁、缓存装饰或包装,各一行,前几轮已署过的也列,测试夹具不列;一处没有为空数组。",
|
|
181
|
+
}),
|
|
128
182
|
},
|
|
129
183
|
{ additionalProperties: true },
|
|
130
184
|
),
|