superun-ai-cli 0.1.44 → 0.1.65

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.
Files changed (125) hide show
  1. package/README.en.md +189 -5
  2. package/README.md +208 -7
  3. package/dist/api/agent-query-api.d.ts +27 -0
  4. package/dist/api/agent-query-api.js +31 -0
  5. package/dist/api/agent-query-api.js.map +1 -1
  6. package/dist/api/bill-query-api.d.ts +61 -0
  7. package/dist/api/bill-query-api.js +92 -0
  8. package/dist/api/bill-query-api.js.map +1 -0
  9. package/dist/api/managed-agent-resource-api.d.ts +19 -0
  10. package/dist/api/managed-agent-resource-api.js +63 -0
  11. package/dist/api/managed-agent-resource-api.js.map +1 -0
  12. package/dist/api/market-query-api.d.ts +74 -0
  13. package/dist/api/market-query-api.js +145 -0
  14. package/dist/api/market-query-api.js.map +1 -0
  15. package/dist/api/order-query-api.d.ts +47 -0
  16. package/dist/api/order-query-api.js +96 -0
  17. package/dist/api/order-query-api.js.map +1 -0
  18. package/dist/api/ppt-api.d.ts +258 -0
  19. package/dist/api/ppt-api.js +111 -0
  20. package/dist/api/ppt-api.js.map +1 -0
  21. package/dist/api/publish-api.d.ts +1 -0
  22. package/dist/api/publish-api.js +3 -0
  23. package/dist/api/publish-api.js.map +1 -1
  24. package/dist/api/security-review-api.d.ts +1 -1
  25. package/dist/api/security-review-api.js +15 -1
  26. package/dist/api/security-review-api.js.map +1 -1
  27. package/dist/api/site-analysis-api.d.ts +85 -0
  28. package/dist/api/site-analysis-api.js +165 -0
  29. package/dist/api/site-analysis-api.js.map +1 -0
  30. package/dist/auth/browser-login.d.ts +1 -0
  31. package/dist/auth/browser-login.js +25 -2
  32. package/dist/auth/browser-login.js.map +1 -1
  33. package/dist/auth/credential-status.d.ts +4 -0
  34. package/dist/auth/credential-status.js +19 -0
  35. package/dist/auth/credential-status.js.map +1 -0
  36. package/dist/commands/agent/index.d.ts +3 -0
  37. package/dist/commands/agent/index.js +68 -0
  38. package/dist/commands/agent/index.js.map +1 -0
  39. package/dist/commands/auth/login.js +8 -3
  40. package/dist/commands/auth/login.js.map +1 -1
  41. package/dist/commands/auth/status.d.ts +1 -1
  42. package/dist/commands/auth/status.js +7 -2
  43. package/dist/commands/auth/status.js.map +1 -1
  44. package/dist/commands/bill/index.d.ts +3 -0
  45. package/dist/commands/bill/index.js +106 -0
  46. package/dist/commands/bill/index.js.map +1 -0
  47. package/dist/commands/chat/create.js +1 -0
  48. package/dist/commands/chat/create.js.map +1 -1
  49. package/dist/commands/chat/interaction.js +39 -6
  50. package/dist/commands/chat/interaction.js.map +1 -1
  51. package/dist/commands/chat/message.js +57 -33
  52. package/dist/commands/chat/message.js.map +1 -1
  53. package/dist/commands/chat/publish.js +72 -11
  54. package/dist/commands/chat/publish.js.map +1 -1
  55. package/dist/commands/chat/security.d.ts +1 -1
  56. package/dist/commands/chat/security.js +73 -29
  57. package/dist/commands/chat/security.js.map +1 -1
  58. package/dist/commands/independent-creation.d.ts +6 -0
  59. package/dist/commands/independent-creation.js +140 -0
  60. package/dist/commands/independent-creation.js.map +1 -0
  61. package/dist/commands/market/index.d.ts +3 -0
  62. package/dist/commands/market/index.js +111 -0
  63. package/dist/commands/market/index.js.map +1 -0
  64. package/dist/commands/order/index.d.ts +3 -0
  65. package/dist/commands/order/index.js +41 -0
  66. package/dist/commands/order/index.js.map +1 -0
  67. package/dist/commands/ppt/index.d.ts +3 -0
  68. package/dist/commands/ppt/index.js +159 -0
  69. package/dist/commands/ppt/index.js.map +1 -0
  70. package/dist/commands/session/diff.d.ts +4 -0
  71. package/dist/commands/session/diff.js +12 -0
  72. package/dist/commands/session/diff.js.map +1 -0
  73. package/dist/commands/session/history.d.ts +3 -0
  74. package/dist/commands/session/history.js +50 -0
  75. package/dist/commands/session/history.js.map +1 -0
  76. package/dist/commands/session/index.js +4 -0
  77. package/dist/commands/session/index.js.map +1 -1
  78. package/dist/commands/shared.d.ts +2 -2
  79. package/dist/commands/shared.js +5 -4
  80. package/dist/commands/shared.js.map +1 -1
  81. package/dist/commands/site/index.d.ts +3 -0
  82. package/dist/commands/site/index.js +113 -0
  83. package/dist/commands/site/index.js.map +1 -0
  84. package/dist/commands/system/version.js +13 -2
  85. package/dist/commands/system/version.js.map +1 -1
  86. package/dist/conversation/agent-friendly.js +2 -2
  87. package/dist/conversation/managed-agent-create-only.d.ts +26 -0
  88. package/dist/conversation/managed-agent-create-only.js +287 -0
  89. package/dist/conversation/managed-agent-create-only.js.map +1 -0
  90. package/dist/conversation/managed-agent-entry.d.ts +8 -8
  91. package/dist/conversation/ppt-preflight.d.ts +13 -0
  92. package/dist/conversation/ppt-preflight.js +68 -0
  93. package/dist/conversation/ppt-preflight.js.map +1 -0
  94. package/dist/conversation/project-check-preflight.d.ts +22 -0
  95. package/dist/conversation/project-check-preflight.js +89 -0
  96. package/dist/conversation/project-check-preflight.js.map +1 -0
  97. package/dist/conversation/publish-preflight.d.ts +44 -0
  98. package/dist/conversation/publish-preflight.js +123 -0
  99. package/dist/conversation/publish-preflight.js.map +1 -0
  100. package/dist/conversation/security-entry.d.ts +14 -0
  101. package/dist/conversation/security-entry.js +49 -0
  102. package/dist/conversation/security-entry.js.map +1 -0
  103. package/dist/conversation/security-review.d.ts +1 -1
  104. package/dist/conversation/security-review.js +1 -1
  105. package/dist/conversation/security-review.js.map +1 -1
  106. package/dist/conversation/snapshot-diff.d.ts +44 -0
  107. package/dist/conversation/snapshot-diff.js +134 -0
  108. package/dist/conversation/snapshot-diff.js.map +1 -0
  109. package/dist/interactions/managed-agent-model.d.ts +3 -0
  110. package/dist/interactions/managed-agent-model.js +2 -0
  111. package/dist/interactions/managed-agent-model.js.map +1 -1
  112. package/dist/interactions/managed-agent-wizard.d.ts +1 -1
  113. package/dist/interactions/managed-agent-wizard.js +38 -6
  114. package/dist/interactions/managed-agent-wizard.js.map +1 -1
  115. package/dist/program.js +12 -0
  116. package/dist/program.js.map +1 -1
  117. package/dist/runtime.d.ts +1 -1
  118. package/dist/runtime.js +2 -2
  119. package/dist/runtime.js.map +1 -1
  120. package/dist/site-analysis/pagespeed-report.d.ts +48 -0
  121. package/dist/site-analysis/pagespeed-report.js +163 -0
  122. package/dist/site-analysis/pagespeed-report.js.map +1 -0
  123. package/dist/transport/http-client.js +17 -3
  124. package/dist/transport/http-client.js.map +1 -1
  125. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ import type { CreationRuntime } from '../runtime.js';
2
+ import type { SessionView } from '../contracts/node-wire.js';
3
+ export declare function slidesIntent(value: unknown): boolean | null;
4
+ export declare function pptHead(view: SessionView): {
5
+ role: number;
6
+ messageId: string;
7
+ sessionId: string;
8
+ status?: number | undefined;
9
+ } | undefined;
10
+ export declare function pptPreflight(service: CreationRuntime, sessionId: string, expectedSource?: string): Promise<{
11
+ view: SessionView;
12
+ sourceMessageId: string;
13
+ }>;
@@ -0,0 +1,68 @@
1
+ /** PPT 专用只读前置校验,不改变通用会话选择和自动衔接。@author xiuyu.yi */
2
+ import { z } from 'zod';
3
+ import { object } from '../contracts/value.js';
4
+ import { CliError } from '../output/exit-codes.js';
5
+ import { collectInteractions } from '../interactions/registry.js';
6
+ import { hasPendingCreationWork } from './state-resolver.js';
7
+ const chainSchema = z.array(z.object({
8
+ messageId: z.string().min(1),
9
+ sessionId: z.string(),
10
+ role: z.number().int(),
11
+ status: z.number().int().optional(),
12
+ }));
13
+ const TEMPORARY_PREFIXES = ['fake-message-', 'pending-', 'user-', 'assistant-', 'insufficient-credits-'];
14
+ export function slidesIntent(value) {
15
+ return value === '1' || value === 1 ? true : value === '0' || value === 0 ? false : null;
16
+ }
17
+ export function pptHead(view) {
18
+ const parsed = chainSchema.safeParse(object(object(view.pipeline.lanes).chain).messages);
19
+ if (!parsed.success)
20
+ return undefined;
21
+ const persistent = parsed.data.filter((message) => !TEMPORARY_PREFIXES.some((prefix) => message.messageId.startsWith(prefix)) &&
22
+ !/^select-branch-message-.+-batch-\d+$/.test(message.messageId));
23
+ if (persistent.some((message) => message.sessionId !== view.session.sessionId))
24
+ return undefined;
25
+ return persistent.at(-1);
26
+ }
27
+ export async function pptPreflight(service, sessionId, expectedSource) {
28
+ const view = await service.load(sessionId);
29
+ if (view.session.sessionId !== sessionId)
30
+ throw new CliError('PROTOCOL_ERROR', 'PPT 前置查询返回了不同作品');
31
+ if (slidesIntent(view.extra.hasSlidesIntent) !== true)
32
+ throw new CliError('INVALID_ARGUMENT', '当前作品未确认为 PPT 项目,请选择已有 PPT 或新建 PPT 作品', {
33
+ sessionId,
34
+ });
35
+ const compiled = view.session.everDeployed === true ||
36
+ (Number(view.extra.version) >= 2 && slidesIntent(view.extra.hasViewedDemo) === true);
37
+ if (!compiled)
38
+ throw new CliError('INVALID_ARGUMENT', '当前还没有满足幻灯片生成要求的编译演示,请先完成并查看演示', {
39
+ sessionId,
40
+ });
41
+ if (view.session.status !== 3 || view.session.waiting !== false || view.session.errorType)
42
+ throw new CliError('INVALID_ARGUMENT', '当前项目仍在运行、排队、等待回答或异常状态,不能生成或确认本次 PPT', { sessionId, sessionStatus: view.session.status });
43
+ const head = pptHead(view);
44
+ if (!head || head.role !== 2 || head.status !== 1)
45
+ throw new CliError('INVALID_ARGUMENT', '无法确认主线最后一条持久 Agent 消息已正常结束,请先查询项目进度', { sessionId });
46
+ if (expectedSource && head.messageId !== expectedSource)
47
+ throw new CliError('STALE_INTERACTION', 'PPT 来源主线已变化,请重新确认本次操作目标和内容', {
48
+ sessionId,
49
+ sourceMessageId: expectedSource,
50
+ currentSourceMessageId: head.messageId,
51
+ });
52
+ if (!view.pipeline.render || view.session.pendingBranch)
53
+ throw new CliError('INVALID_ARGUMENT', '项目交互状态不完整或仍待选择风格,不能继续 PPT 生成', {
54
+ sessionId,
55
+ });
56
+ const activeSubagentWork = await service.taskProgress.hasPendingSubagentWork(sessionId);
57
+ const checked = { ...view, activeSubagentWork };
58
+ if (activeSubagentWork || hasPendingCreationWork(checked))
59
+ throw new CliError('INVALID_ARGUMENT', '当前仍有后台任务或自动工具未结束,请先等待完成', { sessionId });
60
+ const interactions = collectInteractions(checked);
61
+ if (interactions.length)
62
+ throw new CliError('INVALID_ARGUMENT', '当前还有待回答的问题或选择,请先处理后再生成 PPT', {
63
+ sessionId,
64
+ interactions: interactions.map((binding) => binding.interaction.kind),
65
+ });
66
+ return { view, sourceMessageId: head.messageId };
67
+ }
68
+ //# sourceMappingURL=ppt-preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ppt-preflight.js","sourceRoot":"","sources":["../../src/conversation/ppt-preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { CreationRuntime } from '../runtime.js';
2
+ import { type SessionView } from '../contracts/node-wire.js';
3
+ /** 只验证编辑权限与暂存契约,不强加写入阶段门禁。 */
4
+ export declare function projectEditingState(service: CreationRuntime, sessionId: string): Promise<{
5
+ hasStaging: boolean;
6
+ files: unknown[];
7
+ }>;
8
+ /** 物理主线选取保持统一;不回退到混合展示末轮。 */
9
+ export declare function projectMainlineHead(view: SessionView): {
10
+ status: number;
11
+ role: number;
12
+ messageId: string;
13
+ sessionId: string;
14
+ replyMessageId?: string | undefined;
15
+ extra?: Record<string, unknown> | undefined;
16
+ roundExtra?: Record<string, unknown> | undefined;
17
+ } | undefined;
18
+ export declare function projectCheckPreflight(service: CreationRuntime, view: SessionView, sessionId: string, label: string): Promise<{
19
+ sourceMessageId: string;
20
+ stage: string;
21
+ hasStaging: boolean;
22
+ }>;
@@ -0,0 +1,89 @@
1
+ /** 检查类写操作的主线、阶段与服务端编辑权限门禁。@author xiuyu.yi */
2
+ import { z } from 'zod';
3
+ import { parseWire } from '../contracts/node-wire.js';
4
+ import { object } from '../contracts/value.js';
5
+ import { CliError } from '../output/exit-codes.js';
6
+ import { currentRound, roundContainingMessage } from './round-selector.js';
7
+ import { collectInteractions } from '../interactions/registry.js';
8
+ import { hasPendingCreationWork } from './state-resolver.js';
9
+ const chainSchema = z.array(z.object({
10
+ messageId: z.string().min(1),
11
+ sessionId: z.string(),
12
+ role: z.number().int(),
13
+ status: z.number().int(),
14
+ replyMessageId: z.string().optional(),
15
+ roundExtra: z.record(z.unknown()).optional(),
16
+ extra: z.record(z.unknown()).optional(),
17
+ }));
18
+ const one = (value) => value === '1' || value === 1;
19
+ /** 只验证编辑权限与暂存契约,不强加写入阶段门禁。 */
20
+ export async function projectEditingState(service, sessionId) {
21
+ if (!/^[A-Za-z0-9_-]+$/.test(sessionId))
22
+ throw new CliError('INVALID_ARGUMENT', '请明确本次单个作品ID');
23
+ const editing = parseWire(z.object({ hasStaging: z.boolean(), files: z.array(z.unknown()) }), await service.client.call('/api/uxa-center/agent/AgentQuery/queryAgentAttachmentGit', {
24
+ sessionId,
25
+ withContent: false,
26
+ }));
27
+ if (editing.hasStaging !== editing.files.length > 0)
28
+ throw new CliError('PROTOCOL_ERROR', '源码暂存状态不完整,未继续操作');
29
+ return editing;
30
+ }
31
+ /** 物理主线选取保持统一;不回退到混合展示末轮。 */
32
+ export function projectMainlineHead(view) {
33
+ const chain = chainSchema.safeParse(object(object(view.pipeline.lanes).chain).messages);
34
+ if (!chain.success || chain.data.some((row) => row.sessionId !== view.session.sessionId))
35
+ throw new CliError('PROTOCOL_ERROR', '无法核对当前物理主线,未发起检查');
36
+ const head = chain.data
37
+ .filter((row) => !/^(?:fake-message-|pending-|user-|assistant-|insufficient-credits-)/.test(row.messageId) &&
38
+ !/^select-branch-message-.+-batch-\d+$/.test(row.messageId))
39
+ .at(-1);
40
+ return head;
41
+ }
42
+ export async function projectCheckPreflight(service, view, sessionId, label) {
43
+ if (!/^[A-Za-z0-9_-]+$/.test(sessionId) || view.session.sessionId !== sessionId)
44
+ throw new CliError('PROTOCOL_ERROR', '检查目标与本次单个作品不一致');
45
+ // 复用有服务端编辑权限检查的只读方法;不以菜单可见或分享可访问代替权限。
46
+ const editing = await projectEditingState(service, sessionId);
47
+ const head = projectMainlineHead(view);
48
+ const round = head ? roundContainingMessage(view, head.messageId) : undefined;
49
+ if (!head ||
50
+ head.role !== 2 ||
51
+ head.status !== 1 ||
52
+ !round ||
53
+ round.sessionId !== sessionId ||
54
+ currentRound(view)?.roundId !== round.roundId ||
55
+ round.status !== 'completed' ||
56
+ view.session.status !== 3 ||
57
+ view.session.waiting !== false ||
58
+ view.session.errorType ||
59
+ view.session.pendingBranch ||
60
+ view.extra.agentRuntime === 'shire')
61
+ throw new CliError('INVALID_ARGUMENT', `当前主线不是已正常结束的常规创作流程,请先处理当前任务,再执行${label}`, { sessionId });
62
+ const rawVersion = view.extra.version;
63
+ const version = typeof rawVersion === 'number'
64
+ ? rawVersion
65
+ : typeof rawVersion === 'string' && /^[1-9]\d*$/.test(rawVersion)
66
+ ? Number(rawVersion)
67
+ : NaN;
68
+ const extra = object(head.roundExtra);
69
+ if (!Number.isSafeInteger(version) || version < 1 || !one(extra.hasSelectedStyle))
70
+ throw new CliError('INVALID_ARGUMENT', `尚未完成风格选择或流程版本未知,${label}工具当前不可用`, {
71
+ sessionId,
72
+ });
73
+ const stage = version < 4 || one(extra.startDevelopment) ? 'development' : 'demo';
74
+ if (version >= 6 && stage === 'development' && !one(extra.architecturePlanApproved))
75
+ throw new CliError('INVALID_ARGUMENT', `当前研发规划尚未确认,不能执行${label};不会自动确认规划`, {
76
+ sessionId,
77
+ });
78
+ const activeSubagentWork = await service.taskProgress.hasPendingSubagentWork(sessionId);
79
+ const checked = { ...view, activeSubagentWork };
80
+ const blocking = collectInteractions(checked).filter(({ interaction }) => !(interaction.kind === 'SELECT_FEATURES' &&
81
+ interaction.source.variant === 'select_features' &&
82
+ !interaction.source.toolId));
83
+ if (activeSubagentWork || hasPendingCreationWork(checked) || blocking.length)
84
+ throw new CliError('INVALID_ARGUMENT', `当前仍有后台任务或必答问题,请先处理后再执行${label}`, {
85
+ sessionId,
86
+ });
87
+ return { sourceMessageId: head.messageId, stage, hasStaging: editing.hasStaging };
88
+ }
89
+ //# sourceMappingURL=project-check-preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-check-preflight.js","sourceRoot":"","sources":["../../src/conversation/project-check-preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { CreationRuntime } from '../runtime.js';
2
+ export declare function preparePublish(service: CreationRuntime, sessionId: string): Promise<{
3
+ state: string;
4
+ sessionId: string;
5
+ topic: string;
6
+ sourceMessageId: string;
7
+ stage: string;
8
+ publicStatus: number;
9
+ publishUrl: string;
10
+ targetRegion: string | null | undefined;
11
+ deploymentNode: string | null | undefined;
12
+ candidate: {
13
+ encryptedId: string;
14
+ deployStatus: number;
15
+ updatedAt: number;
16
+ websiteIntroduction?: string | null | undefined;
17
+ changeLog?: string | null | undefined;
18
+ changeLogSummary?: string | null | undefined;
19
+ };
20
+ fee: {
21
+ costItems: {
22
+ name: string;
23
+ estimatedDailyCost: number;
24
+ }[];
25
+ itemizedDailyTotal: number;
26
+ itemizedThirtyDayTotal: number;
27
+ currency: string;
28
+ unitsPerToken: number;
29
+ totalsConsistent: boolean;
30
+ confirmationRequired: boolean;
31
+ estimatedDailyTotal: number;
32
+ estimatedMonthlyTotal: number;
33
+ };
34
+ visibilityEffect: {
35
+ afterSuccessfulDeployment: number;
36
+ changesCurrentStatus: boolean;
37
+ privateDeploymentSupported: boolean;
38
+ confirmationRequired: boolean;
39
+ };
40
+ quoteId: string;
41
+ sourcePolicy: string;
42
+ warning: string;
43
+ }>;
44
+ export declare function assertPublishConfirmation(prepared: Awaited<ReturnType<typeof preparePublish>>, encryptedId: string, sourceMessageId: unknown, quoteId: unknown, acknowledged: boolean, sitePublicationAcknowledged?: boolean): void;
@@ -0,0 +1,123 @@
1
+ /** 当前主线发布准备与费用确认绑定。@author xiuyu.yi */
2
+ import { createHash } from 'node:crypto';
3
+ import { z } from 'zod';
4
+ import { parseWire } from '../contracts/node-wire.js';
5
+ import { CliError } from '../output/exit-codes.js';
6
+ import { projectCheckPreflight } from './project-check-preflight.js';
7
+ const amount = z.number().int().nonnegative().safe();
8
+ const candidateSchema = z.object({
9
+ encryptedId: z.string().min(1),
10
+ updatedAt: amount,
11
+ deployStatus: z.number().int(),
12
+ changeLog: z.string().nullish(),
13
+ changeLogSummary: z.string().nullish(),
14
+ websiteIntroduction: z.string().nullish(),
15
+ });
16
+ const feeSchema = z.object({
17
+ costItems: z.array(z.object({ name: z.string().min(1), estimatedDailyCost: amount })),
18
+ estimatedDailyTotal: amount,
19
+ estimatedMonthlyTotal: amount,
20
+ });
21
+ export async function preparePublish(service, sessionId) {
22
+ const view = await service.load(sessionId);
23
+ const gate = await projectCheckPreflight(service, view, sessionId, '发布当前主线');
24
+ if (gate.hasStaging)
25
+ throw new CliError('INVALID_ARGUMENT', '当前有未合并的源码暂存,请先确认合并或放弃暂存,再发布当前主线;不会自动合并', { sessionId });
26
+ if (gate.stage !== 'development')
27
+ throw new CliError('INVALID_ARGUMENT', '当前仍是演示阶段,本入口只发布研发主线;不会自动进入研发', {
28
+ sessionId,
29
+ });
30
+ const status = parseWire(z.object({
31
+ unPublishedVersion: candidateSchema.nullish(),
32
+ publishUrl: z.string().url().nullish(),
33
+ targetRegion: z.string().nullish(),
34
+ deploymentNode: z.string().nullish(),
35
+ }), await service.publish.status(sessionId));
36
+ if (!['CN', 'INTL'].includes(status.targetRegion ?? ''))
37
+ throw new CliError('PROTOCOL_ERROR', '当前发布区域无法明确确认,请先核对项目发布配置');
38
+ const candidate = status.unPublishedVersion;
39
+ if (!candidate || candidate.deployStatus !== 0)
40
+ throw new CliError('INVALID_ARGUMENT', candidate?.deployStatus === 2
41
+ ? '已有发布正在进行,请继续跟踪同一记录,勿重复发布'
42
+ : '当前没有可发布的待发布记录,请先在原项目完成当前改动', { sessionId, encryptedId: candidate?.encryptedId });
43
+ if (view.session.publicStatus !== 0 && view.session.publicStatus !== 1)
44
+ throw new CliError('PROTOCOL_ERROR', '当前站点公开状态未知,请先核对再准备发布');
45
+ if (!status.publishUrl)
46
+ throw new CliError('PROTOCOL_ERROR', '尚未取得正式访问地址,请先核对项目发布配置');
47
+ if (status.publishUrl) {
48
+ const url = new URL(status.publishUrl);
49
+ if (!['https:', 'http:'].includes(url.protocol) || url.username || url.password)
50
+ throw new CliError('PROTOCOL_ERROR', '正式访问地址不符合安全链接格式,未继续发布');
51
+ }
52
+ const rawFee = parseWire(feeSchema, await service.publish.preflightCost(sessionId));
53
+ const costItems = [...rawFee.costItems].sort((a, b) => a.name.localeCompare(b.name) || a.estimatedDailyCost - b.estimatedDailyCost);
54
+ const itemizedDailyTotal = costItems.reduce((total, item) => total + item.estimatedDailyCost, 0);
55
+ if (!Number.isSafeInteger(itemizedDailyTotal * 30))
56
+ throw new CliError('PROTOCOL_ERROR', '费用估算超出支持范围');
57
+ const fee = {
58
+ ...rawFee,
59
+ costItems,
60
+ itemizedDailyTotal,
61
+ itemizedThirtyDayTotal: itemizedDailyTotal * 30,
62
+ currency: 'GLOW_TOKEN',
63
+ unitsPerToken: 100,
64
+ totalsConsistent: rawFee.estimatedDailyTotal === itemizedDailyTotal &&
65
+ rawFee.estimatedMonthlyTotal === itemizedDailyTotal * 30,
66
+ confirmationRequired: itemizedDailyTotal > 0 || rawFee.estimatedDailyTotal > 0 || rawFee.estimatedMonthlyTotal > 0,
67
+ };
68
+ // 当前发布成功回调会公开站点,接口没有原子保持未公开的参数。
69
+ const visibilityEffect = {
70
+ afterSuccessfulDeployment: 1,
71
+ changesCurrentStatus: view.session.publicStatus === 0,
72
+ privateDeploymentSupported: false,
73
+ confirmationRequired: view.session.publicStatus === 0,
74
+ };
75
+ const quoteId = createHash('sha256')
76
+ .update(JSON.stringify({
77
+ sessionId,
78
+ sourceMessageId: gate.sourceMessageId,
79
+ candidate,
80
+ fee,
81
+ targetRegion: status.targetRegion,
82
+ deploymentNode: status.deploymentNode,
83
+ publishUrl: status.publishUrl,
84
+ publicStatus: view.session.publicStatus,
85
+ visibilityEffect,
86
+ }))
87
+ .digest('hex');
88
+ return {
89
+ state: 'READY',
90
+ sessionId,
91
+ topic: view.session.topic,
92
+ sourceMessageId: gate.sourceMessageId,
93
+ stage: gate.stage,
94
+ publicStatus: view.session.publicStatus,
95
+ publishUrl: status.publishUrl,
96
+ targetRegion: status.targetRegion,
97
+ deploymentNode: status.deploymentNode,
98
+ candidate,
99
+ fee,
100
+ visibilityEffect,
101
+ quoteId,
102
+ sourcePolicy: 'CURRENT_MAINLINE_ONLY',
103
+ warning: [
104
+ '部署成功会将站点公开,当前接口不支持全程保持未公开;先部署再下线仍会产生公开窗口。',
105
+ ...(!fee.totalsConsistent
106
+ ? ['服务端汇总与费用明细不一致,请展示两者及差额,不称免费;实际计费须核实。']
107
+ : []),
108
+ ].join(' '),
109
+ };
110
+ }
111
+ export function assertPublishConfirmation(prepared, encryptedId, sourceMessageId, quoteId, acknowledged, sitePublicationAcknowledged = false) {
112
+ if (prepared.candidate.encryptedId !== encryptedId ||
113
+ prepared.sourceMessageId !== sourceMessageId ||
114
+ prepared.quoteId !== quoteId)
115
+ throw new CliError('STALE_INTERACTION', '当前主线、待发布记录或费用估算已变化,请重新准备并确认', {
116
+ sessionId: prepared.sessionId,
117
+ });
118
+ if (prepared.fee.confirmationRequired && !acknowledged)
119
+ throw new CliError('INVALID_ARGUMENT', '本次发布存在云服务费用估算,请取得用户对当前目标和费用的明确确认后继续', { preparation: prepared });
120
+ if (prepared.visibilityEffect.confirmationRequired && !sitePublicationAcknowledged)
121
+ throw new CliError('INVALID_ARGUMENT', '本次部署会公开当前未公开的站点。仅在用户明确允许公开后传 --acknowledge-site-publication;要求保持未公开时停止,不能先部署再下线冒充全程未公开', { preparation: prepared });
122
+ }
123
+ //# sourceMappingURL=publish-preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-preflight.js","sourceRoot":"","sources":["../../src/conversation/publish-preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /** 安全扫描独立入口的范围与主线门禁。@author xiuyu.yi */
2
+ import type { CreationRuntime } from '../runtime.js';
3
+ import type { SecurityReviewView } from '../contracts/security-review.js';
4
+ import type { SecurityReviewApi } from '../api/security-review-api.js';
5
+ import type { SessionView } from '../contracts/node-wire.js';
6
+ type Catalog = Awaited<ReturnType<SecurityReviewApi['options']>>;
7
+ export declare function selectSecurityChecks(catalog: Catalog, requested: string[]): string[];
8
+ export declare function securityStartPreflight(service: CreationRuntime, sessionId: string, expectedSource?: string, initialView?: SessionView): Promise<{
9
+ sourceMessageId: string;
10
+ stage: string;
11
+ hasStaging: boolean;
12
+ }>;
13
+ export declare function assertExistingSecurityScope(review: SecurityReviewView, requested: string[]): void;
14
+ export {};
@@ -0,0 +1,49 @@
1
+ import { CliError } from '../output/exit-codes.js';
2
+ import { SecurityStatus } from '../contracts/security-review.js';
3
+ import { projectCheckPreflight } from './project-check-preflight.js';
4
+ export function selectSecurityChecks(catalog, requested) {
5
+ if (new Set(catalog.map((item) => item.category)).size !== catalog.length)
6
+ throw new CliError('PROTOCOL_ERROR', '检查目录类别重复,未发起扫描');
7
+ if (!requested.length &&
8
+ catalog.some((item) => typeof item.available !== 'boolean' || typeof item.selectable !== 'boolean'))
9
+ throw new CliError('PROTOCOL_ERROR', '检查目录状态不完整,无法确认全部可用项,未发起扫描');
10
+ const selected = requested.length
11
+ ? [...new Set(requested)]
12
+ : catalog
13
+ .filter((item) => item.available === true && item.selectable === true)
14
+ .map((item) => item.category);
15
+ if (!selected.length)
16
+ throw new CliError('INVALID_ARGUMENT', '当前项目暂无明确可执行的安全检查项');
17
+ for (const category of selected) {
18
+ const item = catalog.find((row) => row.category === category);
19
+ if (!item || item.available === false || item.selectable === false)
20
+ throw new CliError('INVALID_ARGUMENT', '指定检查项当前不可用,请查询本项目检查目录', {
21
+ checks: catalog,
22
+ });
23
+ if (item.available !== true || item.selectable !== true)
24
+ throw new CliError('PROTOCOL_ERROR', '指定检查项的可用状态未知,未发起扫描');
25
+ }
26
+ return selected;
27
+ }
28
+ export async function securityStartPreflight(service, sessionId, expectedSource, initialView) {
29
+ const gate = await projectCheckPreflight(service, initialView ?? (await service.load(sessionId)), sessionId, '安全扫描');
30
+ if (gate.stage !== 'development')
31
+ throw new CliError('INVALID_ARGUMENT', '当前仍是演示阶段,请先完成当前主线研发前置,再发起安全扫描', {
32
+ sessionId,
33
+ });
34
+ if (gate.hasStaging)
35
+ throw new CliError('INVALID_ARGUMENT', '当前有未合并源码暂存,请先明确处理,再扫描研发主线;不会自动合并', { sessionId });
36
+ if (expectedSource && gate.sourceMessageId !== expectedSource)
37
+ throw new CliError('STALE_INTERACTION', '扫描提交前主线已变化,请重新确认目标和范围', { sessionId });
38
+ return gate;
39
+ }
40
+ export function assertExistingSecurityScope(review, requested) {
41
+ if (!requested.length)
42
+ return;
43
+ const categories = (review.checks ?? [])
44
+ .filter((item) => item.status !== SecurityStatus.SKIPPED)
45
+ .map((item) => item.category);
46
+ if (categories.length !== new Set(requested).size || requested.some((item) => !categories.includes(item)))
47
+ throw new CliError('INVALID_ARGUMENT', '该项目已有其它范围的扫描在运行,本次未新建或取消扫描,请先查询现有记录', { reviewId: review.reviewId, checks: review.checks });
48
+ }
49
+ //# sourceMappingURL=security-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-entry.js","sourceRoot":"","sources":["../../src/conversation/security-entry.ts"],"names":[],"mappings":"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"}
@@ -125,5 +125,5 @@ export declare function roundSecurityReviewId(view: SessionView, round?: import(
125
125
  export declare function reportMarkdown(value?: string | null): string | undefined;
126
126
  export declare function inspectSecurityReview(api: SecurityReviewApi, view: SessionView, requestedId?: string): Promise<CreationResult | undefined>;
127
127
  export declare function projectSecurityReview(view: SessionView, review: SecurityReviewView): CreationResult;
128
- export declare const SECURITY_REVIEW_INSTRUCTION = "\u8FD0\u884C\u4E2D\u53EA\u5C55\u793A\u672C\u6B21\u5B89\u5168\u626B\u63CF\u7684 taskProgress.markdown\uFF0C\u6309\u540C\u4E00 id \u66F4\u65B0\u5217\u8868\uFF1B\u4E0D\u5C55\u793A\u5386\u53F2\u626B\u63CF\u3001\u4E0D\u4F30\u7B97\u767E\u5206\u6BD4\u3001\u4E0D\u628A\u68C0\u67E5\u5B8C\u6210\u89E3\u91CA\u4E3A\u65E0\u98CE\u9669\u3002\u8BC4\u4F30\u548C\u5FC5\u8981\u4FEE\u590D\u7531\u670D\u52A1\u7AEF\u81EA\u52A8\u6267\u884C\uFF0C\u53EA\u5C55\u793A\u9636\u6BB5\u72B6\u6001\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\u4FEE\u590D\u6307\u4EE4\u3001\u4E0D\u589E\u52A0\u786E\u8BA4\u3001\u4E0D\u5C55\u5F00\u5185\u90E8\u6D3E\u53D1\u6D88\u606F\u3002\u5B8C\u6210\u540E\u4F9D\u636E securityReview.reportResult \u5C55\u793A\u7B80\u6D01\u7ED3\u679C\u6458\u8981\uFF1A\u5B9E\u9645\u53D1\u73B0\u7684\u95EE\u9898\u53CA\u98CE\u9669\u3001\u5DF2\u5904\u7406\u5185\u5BB9\u3001\u672A\u5904\u7406\u4E8B\u9879\u548C\u5FC5\u8981\u7684\u672A\u8986\u76D6\u8303\u56F4\uFF0C\u6570\u91CF\u4E0E\u7ED3\u8BBA\u5FC5\u987B\u6709\u62A5\u544A\u4F9D\u636E\u3002\u4E0D\u5C55\u5F00\u5B8C\u6574\u62A5\u544A\u6B63\u6587\u3001\u4E0D\u63D0\u4F9B\u5B8C\u6574\u62A5\u544A\u6216 PDF \u4E0B\u8F7D\u94FE\u63A5\u3001\u4E0D\u53E6\u884C\u751F\u6210\u62A5\u544A\u6587\u4EF6\u3002\u5BBF\u4E3B\u652F\u6301\u76F4\u63A5\u5185\u5D4C\u5C55\u793A PDF \u65F6\u53EF\u5C55\u793A\u539F PDF\uFF0C\u5426\u5219\u53EA\u5C55\u793A\u7ED3\u679C\u6458\u8981\u3002\u6B63\u5E38\u5B8C\u6210\u540E\u5FC5\u987B\u5728\u6458\u8981\u540E\u63A5\u4E0A\u201C\u63A5\u4E0B\u6765\uFF0C\u4F60\u53EF\u4EE5\uFF1A\u201D\uFF0C\u5C55\u793A nextActions \u4E2D\u7B26\u5408\u6761\u4EF6\u7684\u7EE7\u7EED\u521B\u4F5C\u3001\u81EA\u52A8\u6D4B\u8BD5\u3001\u4E0A\u7EBF\u8FD0\u8425\u4E09\u9879\u5F15\u5BFC\uFF0C\u4E0D\u80FD\u7701\u7565\uFF1B\u82E5\u5B58\u5728\u5F53\u524D\u5FC5\u987B\u5904\u7406\u7684\u963B\u788D\uFF0C\u5148\u8BF4\u660E\u5177\u4F53\u4E8B\u9879\u5E76\u5F15\u5BFC\u5904\u7406\u3002\u771F\u5B9E\u4E1A\u52A1\u63D0\u95EE\u3001\u6267\u884C\u9519\u8BEF\u548C\u4F59\u989D\u4E0D\u8DB3\u4ECD\u987B\u5982\u5B9E\u5C55\u793A\u3002";
128
+ export declare const SECURITY_REVIEW_INSTRUCTION = "\u8FD0\u884C\u4E2D\u53EA\u5C55\u793A\u672C\u6B21\u5B89\u5168\u626B\u63CF\u7684 taskProgress.markdown\uFF0C\u6309\u540C\u4E00 id \u66F4\u65B0\u5217\u8868\uFF1B\u4E0D\u5C55\u793A\u5386\u53F2\u626B\u63CF\u3001\u4E0D\u4F30\u7B97\u767E\u5206\u6BD4\u3001\u4E0D\u628A\u68C0\u67E5\u5B8C\u6210\u89E3\u91CA\u4E3A\u65E0\u98CE\u9669\u3002\u8BC4\u4F30\u548C\u5FC5\u8981\u4FEE\u590D\u7531\u670D\u52A1\u7AEF\u81EA\u52A8\u6267\u884C\uFF0C\u53EA\u5C55\u793A\u9636\u6BB5\u72B6\u6001\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\u4FEE\u590D\u6307\u4EE4\u3001\u4E0D\u589E\u52A0\u786E\u8BA4\u3001\u4E0D\u5C55\u5F00\u5185\u90E8\u6D3E\u53D1\u6D88\u606F\u3002\u8986\u76D6\u8303\u56F4\u5FC5\u987B\u4EE5 securityReview.checks \u7684\u5B9E\u9645\u72B6\u6001\u4E3A\u51C6\uFF1ASKIPPED/\u5931\u8D25/\u53D6\u6D88\u4E0D\u7B97\u5DF2\u5B8C\u6210\u68C0\u67E5\uFF1B\u62A5\u544A\u6982\u89C8\u82E5\u58F0\u79F0\u8986\u76D6\u4E86\u672A\u6267\u884C\u9879\uFF0C\u987B\u660E\u786E\u7EA0\u6B63\u8303\u56F4\uFF0C\u4E0D\u590D\u8FF0\u5176\u8D85\u8303\u56F4\u5B89\u5168\u7ED3\u8BBA\u3002\u5B8C\u6210\u540E\u4F9D\u636E securityReview.reportResult \u5C55\u793A\u7B80\u6D01\u7ED3\u679C\u6458\u8981\uFF1A\u5B9E\u9645\u53D1\u73B0\u7684\u95EE\u9898\u53CA\u98CE\u9669\u3001\u5DF2\u5904\u7406\u5185\u5BB9\u3001\u672A\u5904\u7406\u4E8B\u9879\u548C\u5FC5\u8981\u7684\u672A\u8986\u76D6\u8303\u56F4\uFF0C\u6570\u91CF\u4E0E\u7ED3\u8BBA\u5FC5\u987B\u6709\u62A5\u544A\u4F9D\u636E\u3002\u4E0D\u5C55\u5F00\u5B8C\u6574\u62A5\u544A\u6B63\u6587\u3001\u4E0D\u63D0\u4F9B\u5B8C\u6574\u62A5\u544A\u6216 PDF \u4E0B\u8F7D\u94FE\u63A5\u3001\u4E0D\u53E6\u884C\u751F\u6210\u62A5\u544A\u6587\u4EF6\u3002\u5BBF\u4E3B\u652F\u6301\u76F4\u63A5\u5185\u5D4C\u5C55\u793A PDF \u65F6\u53EF\u5C55\u793A\u539F PDF\uFF0C\u5426\u5219\u53EA\u5C55\u793A\u7ED3\u679C\u6458\u8981\u3002\u6B63\u5E38\u5B8C\u6210\u540E\u5FC5\u987B\u5728\u6458\u8981\u540E\u63A5\u4E0A\u201C\u63A5\u4E0B\u6765\uFF0C\u4F60\u53EF\u4EE5\uFF1A\u201D\uFF0C\u5C55\u793A nextActions \u4E2D\u7B26\u5408\u6761\u4EF6\u7684\u7EE7\u7EED\u521B\u4F5C\u3001\u81EA\u52A8\u6D4B\u8BD5\u3001\u4E0A\u7EBF\u8FD0\u8425\u4E09\u9879\u5F15\u5BFC\uFF0C\u4E0D\u80FD\u7701\u7565\uFF1B\u82E5\u5B58\u5728\u5F53\u524D\u5FC5\u987B\u5904\u7406\u7684\u963B\u788D\uFF0C\u5148\u8BF4\u660E\u5177\u4F53\u4E8B\u9879\u5E76\u5F15\u5BFC\u5904\u7406\u3002\u771F\u5B9E\u4E1A\u52A1\u63D0\u95EE\u3001\u6267\u884C\u9519\u8BEF\u548C\u4F59\u989D\u4E0D\u8DB3\u4ECD\u987B\u5982\u5B9E\u5C55\u793A\u3002";
129
129
  export declare function securityNextActions(result: Pick<CreationResult, 'sessionId' | 'state'> & Partial<CreationResult>, command: string[]): NextAction[] | undefined;
@@ -176,7 +176,7 @@ export function projectSecurityReview(view, review) {
176
176
  },
177
177
  };
178
178
  }
179
- export const SECURITY_REVIEW_INSTRUCTION = '运行中只展示本次安全扫描的 taskProgress.markdown,按同一 id 更新列表;不展示历史扫描、不估算百分比、不把检查完成解释为无风险。评估和必要修复由服务端自动执行,只展示阶段状态,不重复发送修复指令、不增加确认、不展开内部派发消息。完成后依据 securityReview.reportResult 展示简洁结果摘要:实际发现的问题及风险、已处理内容、未处理事项和必要的未覆盖范围,数量与结论必须有报告依据。不展开完整报告正文、不提供完整报告或 PDF 下载链接、不另行生成报告文件。宿主支持直接内嵌展示 PDF 时可展示原 PDF,否则只展示结果摘要。正常完成后必须在摘要后接上“接下来,你可以:”,展示 nextActions 中符合条件的继续创作、自动测试、上线运营三项引导,不能省略;若存在当前必须处理的阻碍,先说明具体事项并引导处理。真实业务提问、执行错误和余额不足仍须如实展示。';
179
+ export const SECURITY_REVIEW_INSTRUCTION = '运行中只展示本次安全扫描的 taskProgress.markdown,按同一 id 更新列表;不展示历史扫描、不估算百分比、不把检查完成解释为无风险。评估和必要修复由服务端自动执行,只展示阶段状态,不重复发送修复指令、不增加确认、不展开内部派发消息。覆盖范围必须以 securityReview.checks 的实际状态为准:SKIPPED/失败/取消不算已完成检查;报告概览若声称覆盖了未执行项,须明确纠正范围,不复述其超范围安全结论。完成后依据 securityReview.reportResult 展示简洁结果摘要:实际发现的问题及风险、已处理内容、未处理事项和必要的未覆盖范围,数量与结论必须有报告依据。不展开完整报告正文、不提供完整报告或 PDF 下载链接、不另行生成报告文件。宿主支持直接内嵌展示 PDF 时可展示原 PDF,否则只展示结果摘要。正常完成后必须在摘要后接上“接下来,你可以:”,展示 nextActions 中符合条件的继续创作、自动测试、上线运营三项引导,不能省略;若存在当前必须处理的阻碍,先说明具体事项并引导处理。真实业务提问、执行错误和余额不足仍须如实展示。';
180
180
  export function securityNextActions(result, command) {
181
181
  const review = result.securityReview;
182
182
  if (!review || result.interactions?.length)
@@ -1 +1 @@
1
- {"version":3,"file":"security-review.js","sourceRoot":"","sources":["../../src/conversation/security-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-review.js","sourceRoot":"","sources":["../../src/conversation/security-review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { CreationRuntime } from '../runtime.js';
2
+ export declare function snapshotDiff(service: CreationRuntime, sessionId: string, oldId: string, newId: string, includeDiff: boolean): Promise<{
3
+ basis: string;
4
+ stagingFilesOnNewVersion: number;
5
+ sourceCompleteness: string;
6
+ warning: string;
7
+ totalChangedFiles: number;
8
+ omittedInternalFiles: number;
9
+ filesTruncated: boolean;
10
+ items: {
11
+ unifiedDiff?: string | undefined;
12
+ diffTruncated?: boolean | undefined;
13
+ filename: string;
14
+ status: "ADDED" | "REMOVED" | "UPDATED";
15
+ addedLines: number;
16
+ removedLines: number;
17
+ }[];
18
+ oldVersion: {
19
+ type: number;
20
+ messageId: string;
21
+ createdAt: number;
22
+ encryptedId: string;
23
+ isCurrentVersion: boolean;
24
+ summary?: string | null | undefined;
25
+ visitUrl?: string | null | undefined;
26
+ bookmarkStatus?: number | null | undefined;
27
+ deployStatus?: number | null | undefined;
28
+ };
29
+ newVersion: {
30
+ type: number;
31
+ messageId: string;
32
+ createdAt: number;
33
+ encryptedId: string;
34
+ isCurrentVersion: boolean;
35
+ summary?: string | null | undefined;
36
+ visitUrl?: string | null | undefined;
37
+ bookmarkStatus?: number | null | undefined;
38
+ deployStatus?: number | null | undefined;
39
+ };
40
+ state: string;
41
+ sessionId: string;
42
+ topic: string;
43
+ previewVersionId: number;
44
+ }>;