@deployxai/dxc 0.1.8 → 0.1.13
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/chunks/{chunk-QPHUHGHV.js → chunk-DDKUG5EV.js} +13 -5
- package/dist/chunks/{chunk-UQRFCGHR.js → chunk-RONRJJBC.js} +40 -5
- package/dist/chunks/{knowledge-5Y22MFAV.js → knowledge-MNDWLVLM.js} +1 -1
- package/dist/chunks/{monitor-MZPF73LC.js → monitor-ACOHQYOE.js} +2 -2
- package/dist/index.js +1464 -260
- package/package.json +2 -1
- package/skills/dxc-article-outline/SKILL.md +1 -1
- package/skills/dxc-article-write/SKILL.md +1 -1
- package/skills/dxc-content-brief/SKILL.md +1 -1
- package/skills/dxc-content-review/SKILL.md +1 -1
- package/skills/dxc-content-workflow/SKILL.md +5 -2
- package/skills/dxc-content-workflow/references/stage-contract.md +28 -1
- package/skills/dxc-knowledge/SKILL.md +1 -1
- package/skills/dxc-memory/SKILL.md +1 -1
- package/skills/dxc-profile/SKILL.md +1 -1
- package/skills/dxc-quote-curator/SKILL.md +1 -1
- package/skills/dxc-research/SKILL.md +8 -1
- package/skills/dxc-title-write/SKILL.md +1 -1
- package/skills/dxc-visual-plan/SKILL.md +56 -11
- package/skills/dxc-wechat-publisher/SKILL.md +48 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __dxcCreateRequire } from "node:module"; const require = __dxcCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
sourceFetchResultSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RONRJJBC.js";
|
|
5
5
|
|
|
6
6
|
// apps/cli/src/source.ts
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
@@ -1733,12 +1733,14 @@ var MAXIMUM_RSS_BYTES = 2 * 1024 * 1024;
|
|
|
1733
1733
|
var MAXIMUM_REDIRECTS = 3;
|
|
1734
1734
|
var MAXIMUM_RSS_ITEMS = 100;
|
|
1735
1735
|
var SourceCliError = class extends Error {
|
|
1736
|
-
constructor(code, message) {
|
|
1736
|
+
constructor(code, message, recovery) {
|
|
1737
1737
|
super(message);
|
|
1738
1738
|
this.code = code;
|
|
1739
|
+
this.recovery = recovery;
|
|
1739
1740
|
this.name = "SourceCliError";
|
|
1740
1741
|
}
|
|
1741
1742
|
code;
|
|
1743
|
+
recovery;
|
|
1742
1744
|
};
|
|
1743
1745
|
function asArray(value) {
|
|
1744
1746
|
return Array.isArray(value) ? value : value === void 0 ? [] : [value];
|
|
@@ -2043,14 +2045,19 @@ var SourceCli = class {
|
|
|
2043
2045
|
}
|
|
2044
2046
|
async #assertPublicRemote(url) {
|
|
2045
2047
|
if (url.hostname.toLowerCase() === "localhost") {
|
|
2046
|
-
throw new SourceCliError(
|
|
2048
|
+
throw new SourceCliError(
|
|
2049
|
+
"DXC_SOURCE_URL_BLOCKED",
|
|
2050
|
+
`\u6765\u6E90\u57DF\u540D ${url.hostname} \u6307\u5411\u672C\u673A\uFF0C\u5DF2\u5728\u8BF7\u6C42\u524D\u963B\u65AD\u3002`,
|
|
2051
|
+
"\u4E0D\u8981\u7ED5\u8FC7\u672C\u673A\u3001\u79C1\u7F51\u6216\u4E91\u5143\u6570\u636E\u4FDD\u62A4\uFF1B\u82E5\u8FD9\u662F\u516C\u5F00\u8D44\u6599\uFF0C\u8BF7\u786E\u8BA4\u6700\u7EC8 HTTPS URL \u548C\u91CD\u5B9A\u5411\u76EE\u6807\uFF0C\u6216\u7531\u5BBF\u4E3B\u53D7\u63A7\u6D4F\u89C8\u5668\u8BFB\u53D6\u540E\u4F5C\u4E3A\u6709\u6765\u6E90\u8BB0\u5F55\u7684\u672C\u5730\u6750\u6599\u7EE7\u7EED\u3002"
|
|
2052
|
+
);
|
|
2047
2053
|
}
|
|
2048
2054
|
const literalAddress = url.hostname.replaceAll(/^\[|\]$/gu, "");
|
|
2049
2055
|
const literalFamily = isIP(literalAddress);
|
|
2050
2056
|
if (literalFamily !== 0 && isBlockedAddress(literalAddress, literalFamily)) {
|
|
2051
2057
|
throw new SourceCliError(
|
|
2052
2058
|
"DXC_SOURCE_URL_BLOCKED",
|
|
2053
|
-
|
|
2059
|
+
`\u6765\u6E90\u57DF\u540D ${url.hostname} \u4F7F\u7528\u672C\u673A\u3001\u79C1\u7F51\u6216\u4E91\u5143\u6570\u636E\u5730\u5740\uFF0C\u5DF2\u5728\u8BF7\u6C42\u524D\u963B\u65AD\u3002`,
|
|
2060
|
+
"\u4E0D\u8981\u7ED5\u8FC7\u672C\u673A\u3001\u79C1\u7F51\u6216\u4E91\u5143\u6570\u636E\u4FDD\u62A4\uFF1B\u82E5\u8FD9\u662F\u516C\u5F00\u8D44\u6599\uFF0C\u8BF7\u6539\u7528\u5176\u516C\u5F00 HTTPS \u57DF\u540D\uFF0C\u6216\u7531\u5BBF\u4E3B\u53D7\u63A7\u6D4F\u89C8\u5668\u8BFB\u53D6\u540E\u4F5C\u4E3A\u6709\u6765\u6E90\u8BB0\u5F55\u7684\u672C\u5730\u6750\u6599\u7EE7\u7EED\u3002"
|
|
2054
2061
|
);
|
|
2055
2062
|
}
|
|
2056
2063
|
const addresses = await this.#lookup(url.hostname, { all: true, verbatim: true }).catch(() => {
|
|
@@ -2059,7 +2066,8 @@ var SourceCli = class {
|
|
|
2059
2066
|
if (addresses.length === 0 || addresses.some((address) => isBlockedAddress(address.address, address.family))) {
|
|
2060
2067
|
throw new SourceCliError(
|
|
2061
2068
|
"DXC_SOURCE_URL_BLOCKED",
|
|
2062
|
-
|
|
2069
|
+
`\u6765\u6E90\u57DF\u540D ${url.hostname} \u7684 DNS \u7ED3\u679C\u5305\u542B\u672C\u673A\u3001\u79C1\u7F51\u6216\u4E91\u5143\u6570\u636E\u5730\u5740\uFF0C\u5DF2\u5728\u8BF7\u6C42\u524D\u963B\u65AD\u3002`,
|
|
2070
|
+
"\u5148\u6838\u5BF9\u8BE5\u57DF\u540D\u7684\u516C\u5F00 DNS \u548C\u91CD\u5B9A\u5411\u94FE\uFF1B\u4E0D\u8981\u5F3A\u5236\u8DF3\u8FC7\u6821\u9A8C\u3002\u82E5\u5BBF\u4E3B\u7F51\u7EDC\u4F7F\u7528\u79C1\u6709\u4EE3\u7406\u89E3\u6790\uFF0C\u8BF7\u7531\u53D7\u63A7\u6D4F\u89C8\u5668\u8BFB\u53D6\u5E76\u628A\u6709\u754C\u5185\u5BB9\u4F5C\u4E3A\u6709\u6765\u6E90\u8BB0\u5F55\u7684\u672C\u5730\u6750\u6599\u7EE7\u7EED\u3002"
|
|
2063
2071
|
);
|
|
2064
2072
|
}
|
|
2065
2073
|
}
|
|
@@ -319,7 +319,8 @@ var sourceFetchErrorResultSchema = z2.object({
|
|
|
319
319
|
"DXC_SOURCE_URL_BLOCKED",
|
|
320
320
|
"DXC_SOURCE_URL_INVALID"
|
|
321
321
|
]).or(z2.literal("DXC_SOURCE_FAILED")),
|
|
322
|
-
message: z2.string().trim().min(1).max(500)
|
|
322
|
+
message: z2.string().trim().min(1).max(500),
|
|
323
|
+
recovery: z2.string().trim().min(1).max(800).optional()
|
|
323
324
|
}).strict(),
|
|
324
325
|
ok: z2.literal(false)
|
|
325
326
|
}).strict();
|
|
@@ -596,6 +597,17 @@ var publishingPreviewLinkSchema = z4.object({
|
|
|
596
597
|
snapshotHash: sha256Schema,
|
|
597
598
|
url: z4.url()
|
|
598
599
|
}).strict();
|
|
600
|
+
var publishingPreviewSelectionStateSchema = z4.object({
|
|
601
|
+
rootSnapshotHash: sha256Schema,
|
|
602
|
+
rootSnapshotId: z4.uuid(),
|
|
603
|
+
selectedSnapshotHash: sha256Schema,
|
|
604
|
+
selectedSnapshotId: z4.uuid(),
|
|
605
|
+
selectionRevision: z4.number().int().nonnegative(),
|
|
606
|
+
templateId: wechatTemplateIdSchema,
|
|
607
|
+
updatedAt: z4.iso.datetime(),
|
|
608
|
+
viewed: z4.boolean(),
|
|
609
|
+
viewedAt: z4.iso.datetime().nullable()
|
|
610
|
+
}).strict();
|
|
599
611
|
var createPublishingApprovalRequestSchema = z4.object({
|
|
600
612
|
accountId: z4.uuid(),
|
|
601
613
|
confirmed: z4.literal(true),
|
|
@@ -621,7 +633,8 @@ var publishingApprovalSchema = z4.object({
|
|
|
621
633
|
}
|
|
622
634
|
});
|
|
623
635
|
var createPublishingDraftIntentRequestSchema = z4.object({
|
|
624
|
-
approvalId: z4.uuid()
|
|
636
|
+
approvalId: z4.uuid(),
|
|
637
|
+
previousIntentId: z4.uuid().optional()
|
|
625
638
|
}).strict();
|
|
626
639
|
var publishingDraftStatusSchema = z4.enum([
|
|
627
640
|
"QUEUED",
|
|
@@ -1077,8 +1090,9 @@ var visualGenerationPlanSchema = z5.object({
|
|
|
1077
1090
|
chargesQuota: z5.boolean(),
|
|
1078
1091
|
dataTransit: z5.enum(["local-only", "agent-provider", "dxc-cloud"]),
|
|
1079
1092
|
executionLocation: z5.enum(["local-device", "agent-hosted"]),
|
|
1080
|
-
maxAttempts: z5.
|
|
1081
|
-
plannedAssets: z5.array(visualGenerationPlannedAssetSchema).min(1).max(20)
|
|
1093
|
+
maxAttempts: z5.number().int().min(1).max(2),
|
|
1094
|
+
plannedAssets: z5.array(visualGenerationPlannedAssetSchema).min(1).max(20),
|
|
1095
|
+
retryPolicy: z5.enum(["never", "verified-no-asset-no-charge-once"])
|
|
1082
1096
|
}).strict().superRefine((value, context) => {
|
|
1083
1097
|
if (value.plannedAssets.filter((asset) => asset.role === "cover").length > 1) {
|
|
1084
1098
|
context.addIssue({
|
|
@@ -1087,6 +1101,13 @@ var visualGenerationPlanSchema = z5.object({
|
|
|
1087
1101
|
path: ["plannedAssets"]
|
|
1088
1102
|
});
|
|
1089
1103
|
}
|
|
1104
|
+
if (value.maxAttempts === 1 && value.retryPolicy !== "never" || value.maxAttempts === 2 && value.retryPolicy !== "verified-no-asset-no-charge-once") {
|
|
1105
|
+
context.addIssue({
|
|
1106
|
+
code: "custom",
|
|
1107
|
+
message: "maxAttempts=1 requires retryPolicy=never; maxAttempts=2 requires verified-no-asset-no-charge-once",
|
|
1108
|
+
path: ["retryPolicy"]
|
|
1109
|
+
});
|
|
1110
|
+
}
|
|
1090
1111
|
});
|
|
1091
1112
|
var visualPlanGenerationProposalFrontmatterSchema = z5.object({
|
|
1092
1113
|
assetsDirectory: portableRelativePathSchema,
|
|
@@ -1145,6 +1166,9 @@ var deliveryStageArtifactFrontmatterSchema = z5.object({
|
|
|
1145
1166
|
intentId: z5.uuid().nullable(),
|
|
1146
1167
|
mediaId: z5.string().trim().min(1).max(256).nullable().optional(),
|
|
1147
1168
|
previewExpiresAt: z5.iso.datetime(),
|
|
1169
|
+
previewSelectionRevision: z5.number().int().nonnegative(),
|
|
1170
|
+
retryAttempt: z5.number().int().nonnegative().default(0),
|
|
1171
|
+
retryOfIntentId: z5.uuid().nullable().optional(),
|
|
1148
1172
|
rootSnapshotHash: z5.string().regex(/^[a-f0-9]{64}$/u),
|
|
1149
1173
|
rootSnapshotId: z5.uuid(),
|
|
1150
1174
|
selectedSnapshotHash: z5.string().regex(/^[a-f0-9]{64}$/u),
|
|
@@ -1159,6 +1183,13 @@ var deliveryStageArtifactFrontmatterSchema = z5.object({
|
|
|
1159
1183
|
path: ["state"]
|
|
1160
1184
|
});
|
|
1161
1185
|
}
|
|
1186
|
+
if (value.retryAttempt === 0 && value.retryOfIntentId !== void 0 && value.retryOfIntentId !== null || value.retryAttempt > 0 && (value.retryOfIntentId === void 0 || value.retryOfIntentId === null)) {
|
|
1187
|
+
context.addIssue({
|
|
1188
|
+
code: "custom",
|
|
1189
|
+
message: "retryAttempt and retryOfIntentId must describe the same retry generation",
|
|
1190
|
+
path: ["retryOfIntentId"]
|
|
1191
|
+
});
|
|
1192
|
+
}
|
|
1162
1193
|
});
|
|
1163
1194
|
function contentStageArtifactFrontmatterSchema(stage) {
|
|
1164
1195
|
switch (stage) {
|
|
@@ -1464,6 +1495,7 @@ var contentProjectStatusResultSchema = z5.object({
|
|
|
1464
1495
|
recoveryPlan: z5.array(
|
|
1465
1496
|
z5.object({
|
|
1466
1497
|
action: z5.literal("rerun-stage"),
|
|
1498
|
+
command: z5.string().trim().min(1).max(500),
|
|
1467
1499
|
reason: z5.enum([
|
|
1468
1500
|
"artifact-changed",
|
|
1469
1501
|
"artifact-empty",
|
|
@@ -1532,7 +1564,8 @@ var contentProjectCommandSchema = z5.enum([
|
|
|
1532
1564
|
"project.init",
|
|
1533
1565
|
"project.resolve",
|
|
1534
1566
|
"project.status",
|
|
1535
|
-
"project.checkpoint"
|
|
1567
|
+
"project.checkpoint",
|
|
1568
|
+
"project.preview"
|
|
1536
1569
|
]);
|
|
1537
1570
|
var contentProjectErrorResultSchema = z5.object({
|
|
1538
1571
|
command: contentProjectCommandSchema,
|
|
@@ -2250,8 +2283,10 @@ export {
|
|
|
2250
2283
|
publishingArticleSchema,
|
|
2251
2284
|
publishingRenderSnapshotSchema,
|
|
2252
2285
|
publishingPreviewLinkSchema,
|
|
2286
|
+
publishingPreviewSelectionStateSchema,
|
|
2253
2287
|
createPublishingApprovalRequestSchema,
|
|
2254
2288
|
publishingApprovalSchema,
|
|
2289
|
+
createPublishingDraftIntentRequestSchema,
|
|
2255
2290
|
publishingDraftIntentResponseSchema,
|
|
2256
2291
|
CONTENT_WORKFLOW_ID,
|
|
2257
2292
|
CONTENT_ARTIFACT_KINDS,
|
|
@@ -2,7 +2,7 @@ import { createRequire as __dxcCreateRequire } from "node:module"; const require
|
|
|
2
2
|
import {
|
|
3
3
|
SourceCli,
|
|
4
4
|
SourceCliError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DDKUG5EV.js";
|
|
6
6
|
import {
|
|
7
7
|
CONTENT_MONITOR_SCHEMA_VERSION,
|
|
8
8
|
LocalStateError,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
contentMonitorStatusResultSchema,
|
|
15
15
|
ensurePrivateRegularFile,
|
|
16
16
|
sourceFetchKindSchema
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-RONRJJBC.js";
|
|
18
18
|
|
|
19
19
|
// apps/cli/src/monitor.ts
|
|
20
20
|
import { createHash, randomUUID as systemRandomUUID } from "node:crypto";
|