superun-ai-cli 0.1.46 → 0.1.66
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/INSTALL.md +2 -0
- package/README.en.md +190 -6
- package/README.md +209 -8
- package/dist/api/agent-query-api.d.ts +27 -0
- package/dist/api/agent-query-api.js +31 -0
- package/dist/api/agent-query-api.js.map +1 -1
- package/dist/api/bill-query-api.d.ts +61 -0
- package/dist/api/bill-query-api.js +92 -0
- package/dist/api/bill-query-api.js.map +1 -0
- package/dist/api/managed-agent-resource-api.d.ts +19 -0
- package/dist/api/managed-agent-resource-api.js +63 -0
- package/dist/api/managed-agent-resource-api.js.map +1 -0
- package/dist/api/market-query-api.d.ts +74 -0
- package/dist/api/market-query-api.js +145 -0
- package/dist/api/market-query-api.js.map +1 -0
- package/dist/api/order-query-api.d.ts +47 -0
- package/dist/api/order-query-api.js +96 -0
- package/dist/api/order-query-api.js.map +1 -0
- package/dist/api/ppt-api.d.ts +258 -0
- package/dist/api/ppt-api.js +111 -0
- package/dist/api/ppt-api.js.map +1 -0
- package/dist/api/publish-api.d.ts +1 -0
- package/dist/api/publish-api.js +3 -0
- package/dist/api/publish-api.js.map +1 -1
- package/dist/api/security-review-api.d.ts +1 -1
- package/dist/api/security-review-api.js +15 -1
- package/dist/api/security-review-api.js.map +1 -1
- package/dist/api/site-analysis-api.d.ts +85 -0
- package/dist/api/site-analysis-api.js +165 -0
- package/dist/api/site-analysis-api.js.map +1 -0
- package/dist/auth/browser-login.d.ts +1 -0
- package/dist/auth/browser-login.js +25 -2
- package/dist/auth/browser-login.js.map +1 -1
- package/dist/auth/credential-status.d.ts +4 -0
- package/dist/auth/credential-status.js +19 -0
- package/dist/auth/credential-status.js.map +1 -0
- package/dist/auth/pat-store.js +14 -3
- package/dist/auth/pat-store.js.map +1 -1
- package/dist/auth/windows-credential-acl.d.ts +2 -0
- package/dist/auth/windows-credential-acl.js +68 -0
- package/dist/auth/windows-credential-acl.js.map +1 -0
- package/dist/commands/agent/index.d.ts +3 -0
- package/dist/commands/agent/index.js +68 -0
- package/dist/commands/agent/index.js.map +1 -0
- package/dist/commands/auth/login.js +8 -3
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/status.d.ts +1 -1
- package/dist/commands/auth/status.js +7 -2
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/bill/index.d.ts +3 -0
- package/dist/commands/bill/index.js +106 -0
- package/dist/commands/bill/index.js.map +1 -0
- package/dist/commands/chat/create.js +1 -0
- package/dist/commands/chat/create.js.map +1 -1
- package/dist/commands/chat/interaction.js +39 -6
- package/dist/commands/chat/interaction.js.map +1 -1
- package/dist/commands/chat/message.js +56 -34
- package/dist/commands/chat/message.js.map +1 -1
- package/dist/commands/chat/publish.js +72 -11
- package/dist/commands/chat/publish.js.map +1 -1
- package/dist/commands/chat/security.d.ts +1 -1
- package/dist/commands/chat/security.js +73 -29
- package/dist/commands/chat/security.js.map +1 -1
- package/dist/commands/independent-creation.d.ts +6 -0
- package/dist/commands/independent-creation.js +140 -0
- package/dist/commands/independent-creation.js.map +1 -0
- package/dist/commands/market/index.d.ts +3 -0
- package/dist/commands/market/index.js +111 -0
- package/dist/commands/market/index.js.map +1 -0
- package/dist/commands/order/index.d.ts +3 -0
- package/dist/commands/order/index.js +41 -0
- package/dist/commands/order/index.js.map +1 -0
- package/dist/commands/ppt/index.d.ts +3 -0
- package/dist/commands/ppt/index.js +159 -0
- package/dist/commands/ppt/index.js.map +1 -0
- package/dist/commands/session/diff.d.ts +4 -0
- package/dist/commands/session/diff.js +12 -0
- package/dist/commands/session/diff.js.map +1 -0
- package/dist/commands/session/history.d.ts +3 -0
- package/dist/commands/session/history.js +50 -0
- package/dist/commands/session/history.js.map +1 -0
- package/dist/commands/session/index.js +4 -0
- package/dist/commands/session/index.js.map +1 -1
- package/dist/commands/shared.d.ts +2 -2
- package/dist/commands/shared.js +5 -4
- package/dist/commands/shared.js.map +1 -1
- package/dist/commands/site/index.d.ts +3 -0
- package/dist/commands/site/index.js +113 -0
- package/dist/commands/site/index.js.map +1 -0
- package/dist/commands/system/version.js +13 -2
- package/dist/commands/system/version.js.map +1 -1
- package/dist/conversation/managed-agent-create-only.d.ts +26 -0
- package/dist/conversation/managed-agent-create-only.js +287 -0
- package/dist/conversation/managed-agent-create-only.js.map +1 -0
- package/dist/conversation/managed-agent-entry.d.ts +8 -8
- package/dist/conversation/ppt-preflight.d.ts +13 -0
- package/dist/conversation/ppt-preflight.js +68 -0
- package/dist/conversation/ppt-preflight.js.map +1 -0
- package/dist/conversation/project-check-preflight.d.ts +22 -0
- package/dist/conversation/project-check-preflight.js +89 -0
- package/dist/conversation/project-check-preflight.js.map +1 -0
- package/dist/conversation/publish-preflight.d.ts +44 -0
- package/dist/conversation/publish-preflight.js +123 -0
- package/dist/conversation/publish-preflight.js.map +1 -0
- package/dist/conversation/security-entry.d.ts +14 -0
- package/dist/conversation/security-entry.js +49 -0
- package/dist/conversation/security-entry.js.map +1 -0
- package/dist/conversation/security-review.d.ts +1 -1
- package/dist/conversation/security-review.js +1 -1
- package/dist/conversation/security-review.js.map +1 -1
- package/dist/conversation/snapshot-diff.d.ts +44 -0
- package/dist/conversation/snapshot-diff.js +134 -0
- package/dist/conversation/snapshot-diff.js.map +1 -0
- package/dist/interactions/managed-agent-model.d.ts +3 -0
- package/dist/interactions/managed-agent-model.js +2 -0
- package/dist/interactions/managed-agent-model.js.map +1 -1
- package/dist/interactions/managed-agent-wizard.d.ts +1 -1
- package/dist/interactions/managed-agent-wizard.js +38 -6
- package/dist/interactions/managed-agent-wizard.js.map +1 -1
- package/dist/program.js +12 -0
- package/dist/program.js.map +1 -1
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +2 -2
- package/dist/runtime.js.map +1 -1
- package/dist/site-analysis/pagespeed-report.d.ts +48 -0
- package/dist/site-analysis/pagespeed-report.js +163 -0
- package/dist/site-analysis/pagespeed-report.js.map +1 -0
- package/dist/transport/http-client.js +17 -3
- package/dist/transport/http-client.js.map +1 -1
- package/package.json +1 -1
package/INSTALL.md
CHANGED
|
@@ -106,6 +106,8 @@ superun-ai auth login
|
|
|
106
106
|
|
|
107
107
|
CLI 会打开 superun 登录页面,完成后领取 PAT 并保存到本地。浏览器未自动打开时,把 CLI 打印的登录地址提供给用户。保持登录命令运行,等它返回成功;不要另起重复登录流程。等待期间告诉用户需要完成网页登录,超时或取消时如实说明。
|
|
108
108
|
|
|
109
|
+
Windows 从 0.1.66 起使用系统 ACL 校验凭据,不要求 POSIX `0600`。保存前先收紧并核对临时文件 ACL;读取时仅允许当前用户、SYSTEM 和本机管理员访问。系统 PowerShell 不可用或 ACL 不安全时停止并保留错误,不关闭权限保护。自动化环境可复用用户已安全配置的 `SUPERUN_PAT`,不得要求用户将秘密发到聊天、写入命令参数或日志。
|
|
110
|
+
|
|
109
111
|
如果用户明确要导入已有 PAT,请让用户在自己的交互式终端执行:
|
|
110
112
|
|
|
111
113
|
```bash
|
package/README.en.md
CHANGED
|
@@ -73,9 +73,39 @@ superun-ai
|
|
|
73
73
|
├── session # Query projects and conversation binding
|
|
74
74
|
│ ├── list # List projects
|
|
75
75
|
│ ├── get <sessionId> # Get project details
|
|
76
|
+
│ ├── history <sessionId> # Query mainline version summaries, excluding separate demos and source code
|
|
77
|
+
│ ├── diff <sessionId> <oldReplyMessageId> <newReplyMessageId> # 对比本作品两个主线版本的文件变化,包含新侧当前账号暂存
|
|
76
78
|
│ ├── current # Read the saved project for this host conversation
|
|
77
79
|
│ ├── use <sessionId> # Select a project for this conversation
|
|
78
80
|
│ └── clear # Clear the local binding and keep the remote project
|
|
81
|
+
├── order # Query your superun product and service purchase orders
|
|
82
|
+
│ └── list # List purchase orders, items, order amounts, and existing invoices
|
|
83
|
+
├── bill # Query credit bills and deduction statistics
|
|
84
|
+
│ ├── list # List credit bills with server pagination, without date or page-size options
|
|
85
|
+
│ ├── stats # Summarize deductions including negative reversals, excluding recharge-type usage rebates
|
|
86
|
+
│ ├── projects # List bill-filter project candidates, not current editing permissions
|
|
87
|
+
│ └── types # List supported credit recharge and consumption business types
|
|
88
|
+
├── site # Read project traffic, existing performance reports, and runtime monitoring
|
|
89
|
+
│ ├── traffic <sessionId> # Read public-project traffic, preserving ambiguous zero values as unknown
|
|
90
|
+
│ ├── performance <sessionId> # Read existing raw performance and SEO reports without starting a check
|
|
91
|
+
│ ├── runtime <sessionId> # Read existing runtime monitoring without creating or activating plans
|
|
92
|
+
│ └── reports <sessionId> # Read existing monitoring reports without generating new ones
|
|
93
|
+
├── market # Browse public market entries and query current copy prices
|
|
94
|
+
│ ├── list # Search public market entries by category and keyword
|
|
95
|
+
│ ├── get <target> # Read a public entry's description, preview links, and available copy types
|
|
96
|
+
│ └── quote <communityId> # Query the current account's copy price without copying or ordering
|
|
97
|
+
├── ppt # Generate and verify project-level web slides without native PPTX export
|
|
98
|
+
│ ├── create # Submit requirements independently, then inspect the returned questionnaire
|
|
99
|
+
│ ├── refine <sessionId> <interactionId> # Save answers and continue clarification without generating designs
|
|
100
|
+
│ ├── generate <sessionId> # Check PPT prerequisites and submit or reuse a task without write retries
|
|
101
|
+
│ ├── status <sessionId> # Discover an existing PPT task or compare a specific generation ID
|
|
102
|
+
│ └── get <sessionId> # Read an existing deck or verify delivery using both generation and mainline IDs
|
|
103
|
+
├── agent # Create managed-agent configuration and read it back without running or deploying it
|
|
104
|
+
│ ├── app # Build an agent application through the independent entry
|
|
105
|
+
│ │ ├── create # Submit requirements independently, then inspect the returned questionnaire
|
|
106
|
+
│ │ └── refine <sessionId> <interactionId> # Save answers and continue clarification without generating designs
|
|
107
|
+
│ ├── create <sessionId> # Submit the official creation entry, then inspect its wizard with chat state
|
|
108
|
+
│ └── get <sessionId> <agentId> # Verify an existing agent in the specified project without creating a runtime session
|
|
79
109
|
├── free-quota [sessionId] # Query signed-in user and optional project free quotas
|
|
80
110
|
├── chat # Conversational creation
|
|
81
111
|
│ ├── create # Create a project and send a request
|
|
@@ -108,6 +138,8 @@ superun-ai
|
|
|
108
138
|
│ └── publish # Publish applications and manage visibility
|
|
109
139
|
│ ├── status <sessionId> # Query versions and deployment progress
|
|
110
140
|
│ ├── start <sessionId> <encryptedId> # Publish a specific version
|
|
141
|
+
│ ├── prepare <sessionId> # 核对当前主线待发布记录与费用估算;状态查询可能更新活动和超时记录
|
|
142
|
+
│ ├── deploy <sessionId> <encryptedId> # 按本次准备回执发布当前研发主线,写前复核目标和费用
|
|
111
143
|
│ └── visibility <sessionId> <visibility> # Make the site public or private
|
|
112
144
|
├── update # Check and update to the latest CLI version
|
|
113
145
|
└── version # Show local and output-schema versions
|
|
@@ -115,6 +147,127 @@ superun-ai
|
|
|
115
147
|
|
|
116
148
|
Run `npm run docs:sync` after changing command registration to update both command trees. `npm run docs:check` validates their completeness; `prepack` also checks them before packaging.
|
|
117
149
|
|
|
150
|
+
## Query project history
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
superun-ai session history <sessionId> --page 1 --limit 20
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The command first verifies that the current account can read the specified project, then queries version summaries from its development mainline (`previewVersionId=0`). The default page size is 20, with a maximum of 100. Results include version and message IDs, summaries, timestamps, current-version flags, and preview URLs returned by the API. It does not read source code, restore versions, or change the current project binding. Separate demo versions are excluded, so an empty mainline history does not mean that no demo versions exist.
|
|
157
|
+
|
|
158
|
+
`total` reports the total when the API makes it available. If the gateway returns only a list, `total` is `null`; a full page also has `hasMore=null`, and `nextPage` only identifies the next page that can be checked. A page shorter than the requested size has `hasMore=false`. Query failures or invalid responses produce errors instead of successful empty lists.
|
|
159
|
+
|
|
160
|
+
## Query purchase orders
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
superun-ai order list --page 1 --limit 20
|
|
164
|
+
superun-ai order list --status 20 --page 1 --limit 20
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Query superun product or service purchases made by the signed-in user; no project selection is required. Optional status codes are 0 initialized, 10 awaiting payment, 20 paid, 50 completed, 60 closed, and 70 cancelled. By default all statuses are included, with 20 orders per page and a maximum page size of 100. The command only calls the buyer-scoped `pageOrder` endpoint. It does not call the detail endpoint that can retry fulfillment, create or pay for orders, cancel orders, or request invoices.
|
|
168
|
+
|
|
169
|
+
Results retain the `items[].orderInfo` and `items[].orderItems` structure and add `statusName` / `invoiceStatusName`. `amountUnit=minor` means monetary values use the smallest currency unit: cents for CNY and USD. Preserve the original currency and do not sum different currencies. `orderInfo.total` is the order amount, not the actual payment amount; a paid status does not prove that resources were delivered. Invoice output is limited to existing status, application time, effective invoice number/date/currency, the invoice-record amount attributed to this order, and PDF/OFD URLs. The total face amount of a merged invoice is not provided by this command.
|
|
170
|
+
|
|
171
|
+
The top-level `total` counts orders matching the current status filter; use `hasMore` / `nextPage` to continue. The API has no order-number, keyword, or date filter, so these conditions can only be matched against returned records. Do not declare an order absent before checking all relevant pages. Missing fields remain null or absent, and query failures produce errors rather than fabricated empty lists.
|
|
172
|
+
|
|
173
|
+
## Query credit bills
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
superun-ai bill list
|
|
177
|
+
superun-ai bill list --cursor <scrollId> --session-id <sessionId>
|
|
178
|
+
superun-ai bill stats --from 2026-10-01 --to 2026-10-22 --granularity DAY
|
|
179
|
+
superun-ai bill projects
|
|
180
|
+
superun-ai bill types
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
All four commands only read `GLOW_TOKEN`. Without `--workspace-id`, they query the personal account. An explicit positive workspace ID queries the workspace bills visible to the current account; ordinary and former members are limited to their own historical consumption. `--session-id` filters within the selected billing account without changing it or requiring current project editing permission. A team project can be personally funded, so its workspace does not determine the billing account. `bill projects` only lists filter candidates; an absent candidate does not prove that historical charges are absent.
|
|
184
|
+
|
|
185
|
+
`bill list` returns `items/hasNext/scrollId`, without a total, date filter, or adjustable page size. The server fetches 100 raw bill rows and then aggregates and filters them, so empty `items` may still have `hasNext=true`. Continue using the returned `scrollId`; do not infer completion from displayed row counts or construct a cursor. Subsequent cursors must move strictly toward earlier records. Reset the cursor when changing accounts or filters. `amountUnit=hundredth-credit` means that `amount` is in hundredths of a credit. Glow displays `amount/100` for type=1 and the negated value for other types. Details include recharges, rebates, and deductions, so summing every raw amount does not measure consumption. An item with `aiMessageRunning=true` has a provisional amount.
|
|
186
|
+
|
|
187
|
+
`bill stats` includes both dates, uses `Asia/Shanghai`, and accepts at most 60 days with DAY/WEEK/MONTH granularity. `amountUnit=credit` means `totalAmount` and `items[].amount` are decimal strings already measured in credits; **do not divide them by 100 again**. Statistics only sum deduction bills (type=2), including negative reversals and excluding recharge-type usage rebates. Preserve signed amounts; these are neither cash amounts nor complete net consumption. The server also excludes statistics associated with projects it can no longer find, so a displayed detail page is not a substitute for these statistics.
|
|
188
|
+
|
|
189
|
+
Both list and stats accept `--related-types <codes>` as comma-separated business-type codes. Resolve them through `bill types`; do not substitute first-level category codes. Results retain the selected account, project, and type filters. Invalid responses produce errors rather than zero totals. Detail output only includes the related project's ID and title, excluding message content, memos, user IDs, and arbitrary related objects.
|
|
190
|
+
|
|
191
|
+
## Query website analysis
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
superun-ai site traffic <sessionId> --range last7Days
|
|
195
|
+
superun-ai site performance <sessionId>
|
|
196
|
+
superun-ai site runtime <sessionId>
|
|
197
|
+
superun-ai site reports <sessionId> --page 1 --limit 20
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Each command requires one explicit project ID for the current operation. It first loads the project to verify view access and identity, without inheriting the current project binding. **`state=COMPLETED` only means the query completed, not that the website is healthy.** Use `availability` to distinguish AVAILABLE, PARTIAL, UNKNOWN, NOT_AVAILABLE, and NO_REPORT, and retain the check time, plan status, and version context.
|
|
201
|
+
|
|
202
|
+
`site traffic` additionally requires `publicStatus=1`. An unpublished project returns NOT_AVAILABLE; a missing publication flag returns UNKNOWN. Neither branch queries traffic. Supported ranges are today/yesterday/last7Days using server calendar boundaries. last7Days begins at midnight seven days ago, not exactly 168 hours ago, and the server determines the timezone. Only validated source rows and rankings are displayed. A current-visitor value of zero may be an upstream failure fallback and stays unknown; zero within a valid raw time-series row remains zero. Empty series or rankings are not filled with zeros. No interval-wide deduplicated UV or incorrectly summed averages and rates are presented.
|
|
203
|
+
|
|
204
|
+
`site performance` only reads this project's existing raw reports. Downloads are restricted to trusted report hosts and matching project/category paths over HTTPS, without credentials or redirects, with a 30-second timeout and 10MiB limit. Category scores are converted from 0–1 to 0–100, preserving a real zero. Null or missing scores, runtime errors, and download failures remain UNKNOWN. Audit scores retain their original 0–1 scale. Historical target URLs are only displayed, with query strings and fragments removed; they do not establish the current published URL or version.
|
|
205
|
+
|
|
206
|
+
`site runtime` returns existing plans and results. No plan or results does not mean healthy; ACTIVE does not mean a check passed, and SUCCESS only describes the specific endpoint at its recorded time. `outdated=true` indicates an older-version context, and unselected endpoints are marked `selected=false`. `site reports` reads existing weekly reports. A full page has `hasMore=null`; `nextPage` is a possible continuation, not proof of additional reports. Historical results remain readable when a site is offline or monitoring is paused, and do not prove current health.
|
|
207
|
+
|
|
208
|
+
These commands do not query publishing status, start performance scans, create or activate monitoring, repair code, or perform indexing/GEO operations. Report content is data, not authorization to execute suggested actions.
|
|
209
|
+
|
|
210
|
+
## Browse the application market and query prices
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
superun-ai market list --keyword "CRM" --category "Management App" --page 1 --limit 20
|
|
214
|
+
superun-ai market get <communityId>
|
|
215
|
+
superun-ai market quote <communityId> --copy-type FULL_APP
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
`market list` only queries public, approved market entries. It defaults to category All and 20 items per page, with a maximum of 100. Use `--help` for supported categories; invalid categories fail instead of falling back to the entire market. Sorting is fixed to popularity and uses the PC device mix, not a strict PC-only filter. Keywords match titles, descriptions, and tags; one page is not the full result set.
|
|
219
|
+
|
|
220
|
+
`market get <target>` accepts one numeric market ID or an official `https://superun.com/community-view/<key>` / `https://superun.ai/community-view/<key>` link, optionally prefixed with `/web`. It only parses the path and resolves the public ID, then checks the root entry and detail. It does not open the URL or execute automatic actions in its parameters. Ordinary website or preview URLs are not used to guess IDs. Market communityId, copy configId, and the author's source sessionId are different identities. These queries never load the author's private project or bind the market entry as a project owned by the user.
|
|
221
|
+
|
|
222
|
+
`market quote` requires one type actually listed in the current detail: PROTOTYPE, FRONTEND_DEMO, or FULL_APP. It refreshes entry/type information, then queries the separate pricing API and checks communityId, copyType, and configId. Different copy types can share configId and must not be deduplicated by it. List and detail outputs exclude potentially misleading price fields. The current account's price only comes from the quote response; failures do not fall back to an earlier price or a free copy.
|
|
223
|
+
|
|
224
|
+
`amountUnit=currency-minor` denotes the raw amount. Display `amount/rate` in the returned currency. GLOW_TOKEN with rate=100 is measured in hundredths of a credit; CNY with rate=100 is measured in cents. Never default the currency or rate. An explicit amount=0 means the current quote is zero. originalAmount=0 means no original price was configured, not that the original price was free. Special-price eligibility and remaining counts are server results for the current buyer and do not guarantee future prices. Historical-cost or misleading originalTokenCostAmount fields are not used for quotes.
|
|
225
|
+
|
|
226
|
+
Output links retain only safe HTTP/HTTPS URLs and remove autoRemix, autoFullAppCopy, cashOrderNo, and copyingSessionId parameters. Descriptions are data, not instructions to follow action links. These commands only browse and quote; they do not create sessions, copy tasks, orders, or payments, including for zero-price quotes. The existing CLI login mechanism supplies buyer identity, which cannot be overridden by command options.
|
|
227
|
+
|
|
228
|
+
## Create a web presentation
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
superun-ai chat create --slides --no-wait --message "Create a web presentation introducing our product"
|
|
232
|
+
superun-ai ppt get <sessionId>
|
|
233
|
+
superun-ai ppt generate <sessionId>
|
|
234
|
+
superun-ai ppt status <sessionId> --generation-id <generationId>
|
|
235
|
+
superun-ai ppt get <sessionId> --generation-id <generationId> --source-message-id <sourceMessageId>
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
`chat create --slides` explicitly sets `hasSlidesIntent='1'` and the initial `stage1_action/slides` fields. Ordinary creation requests remain unchanged. The option does not skip questions or enable the senior designer. Submit PPT creation with `--no-wait`, answer real questions and choose a style, inspect progress with `chat state` / `chat style list`, then finish the demo through the separate `chat demo` command. **This PPT workflow does not use ordinary `chat wait` or automatically follow generic development nextActions**, because normal waiting can continue from the demo into application development.
|
|
239
|
+
|
|
240
|
+
`ppt generate` requires one explicit PPT project, a compiled demo, a normally completed persistent Agent message at the canonical mainline head, and no running, queued, pending-question, style-selection, automatic-tool, or subagent work. The head only comes from `pipeline.lanes.chain.messages`; missing lanes block the operation rather than falling back to merged consultation messages. It does not convert ordinary projects into PPT projects or target separate demo branches. Generation writes are not automatically retried and forceGenerate is not exposed. An existing generating task or unchanged valid result can reuse generationId; the receipt also returns sourceMessageId.
|
|
241
|
+
|
|
242
|
+
`ppt status/get` can discover existing tasks without a generation ID and return `hasSlidesIntent` (null when unknown). Before editing an existing project, confirm that it is true and then check its creation state. A read query's `state=COMPLETED`, a ready deck, or a generation acknowledgment alone does not prove delivery of this operation. Final get verification requires both receipt IDs, an unchanged mainline, a matching ready project-level deck with playable slides, and a `type=ppt/checkOnly=true` freshness probe followed by another read. Only `deliveryVerified=true` with `operation=VERIFIED_DELIVERY` confirms delivery. Missing anchors produce READ_ONLY results and do not trigger generation.
|
|
243
|
+
|
|
244
|
+
Changed attachments, replaced tasks, failures, or local wait timeouts must not automatically trigger another generation. If a write has an unknown outcome, inspect the original project rather than recreating it. Use the actual demo or preview URL returned by the same creation workflow; never append `__project__` to a URL. Delivery consists of a web presentation and its playback deck, not a native PPTX or PDF export. Fees follow the existing creation bills and are not promised to be free or fixed.
|
|
245
|
+
|
|
246
|
+
## Independent PPT and agent application flows
|
|
247
|
+
|
|
248
|
+
Use `ppt create` / `ppt refine` or `agent app create` / `agent app refine` for the two dedicated experts. Creation submits the matching Glow homepage direction and returns the new session and message IDs. Refinement accepts answers and optional content, saves the current questionnaire and continues clarification without generating a style. Start generation through the existing interaction reply only when requirements are confirmed.
|
|
249
|
+
|
|
250
|
+
These entries leave ordinary chat create, shared questionnaire parsing, generation, waiting and the original superun-creation packages unchanged. The PPT expert follows its separate demo and verified deck delivery; the agent application expert follows the actual questions, design selection, development and configuration wizard. The independent-creation-flow-v1 capability declares these dedicated commands. Application completion, resource verification and deployment remain separate checks.
|
|
251
|
+
|
|
252
|
+
## Create a managed-agent configuration only
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
superun-ai agent create <sessionId> --message "Agent name: Research Assistant. Organize project references and answer related questions."
|
|
256
|
+
superun-ai chat state <sessionId>
|
|
257
|
+
superun-ai chat interaction reply <sessionId> <interactionId> --agent-create-only --input <answers.json> --no-wait
|
|
258
|
+
superun-ai agent get <sessionId> <uxagentId>
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
`agent create` uses one explicit main-project resource scope, with an idle project and a current owner or editor. The actual Agent tool profile requires a selected mainline style for versions below 4, a viewed demo and current-mainline development marker for versions 4–5, and architecture approval for versions 6 and above. Older versions are not forced through a nonexistent demo step. Unknown versions or unmet stages stop the operation; it does not enter development or approve plans automatically. A synthetic optional feature-recommendation menu does not block a new explicit request, while real pending tools and other interactions still do. It never develops recommended features automatically. Supply up to 4,000 characters through `--message` or a JSON `--input` containing only content or message. The command preserves this work description and routes through the official `skill.superun_managed_agent_v2` enable/create entry, not a generic chat request or direct resource creation bypass. It submits the entry; use `chat state` and the existing wizard to answer real questions.
|
|
262
|
+
|
|
263
|
+
The dedicated mode is persisted before submission, then bound to the acknowledged source message and actual wizard. Its first projection checks current mainline ownership, matching view/round/payload session IDs, and editor permission. `--agent-create-only` is an explicit safeguard; omitting it cannot disable an already recorded mode. Replaced source messages, cross-session tools, or unknown acknowledgments stop the flow rather than guessing mappings or resubmitting. Every resource write and final tool reply reloads the current binding and role. Completion or confirmed cancellation closes only that entry, without permanently changing unrelated wizards.
|
|
264
|
+
|
|
265
|
+
The wizard retains its description, memory, existing-skill, and confirmation steps. Quick creation uses the current description without optional files, memories, or skills. This mode returns `adminPanelRequested=false` and does not create a management console, runtime session, test chat, or external deployment. New memories do not copy the entire role description into a shorter description field. Knowledge-file/custom-skill uploads and MCP configuration remain separate web operations; skipped options are not silently added.
|
|
266
|
+
|
|
267
|
+
Successful replies include `managedAgentCreation` with resourceSessionId, agentId, actual optional memoryStoreId/skillIds, checkpoint, and adminPanelRequested. Successful create-only replies return receipts even if `--no-wait` was omitted, without generic automatic waiting. If later state reading fails, error details retain the successful structured IDs. Unknown creation outcomes preserve checkpoints, and an existing agentId must never cause a second creation POST.
|
|
268
|
+
|
|
269
|
+
`agent get` only accepts public `uxagent_...` IDs. It reads through the same X-Session-Id mapping and checks the returned ID, rejecting native provider IDs. Only safe metadata such as name, description, model, and version is exposed; system prompts, MCP configuration, and credentials are omitted. Verification requires a real agentId and successful same-project readback. Plugin readiness or conversation completion alone is insufficient. A 402, authorization, or network error during GET does not mean creation failed: retain the ID and report incomplete readback rather than recreate it. Existing configuration does not imply execution or channel integration.
|
|
270
|
+
|
|
118
271
|
## Restore the project for this conversation
|
|
119
272
|
|
|
120
273
|
In Codex and WorkBuddy / CodeBuddy environments with a verifiable conversation identity, the CLI remembers one project per conversation. Creating a project or explicitly operating on another project replaces the binding. Listing projects, reading details, and waiting for tasks do not change it.
|
|
@@ -136,10 +289,11 @@ Bindings survive reopening the same host conversation and are isolated by conver
|
|
|
136
289
|
```bash
|
|
137
290
|
superun-ai auth login
|
|
138
291
|
superun-ai auth status
|
|
292
|
+
superun-ai auth status --online
|
|
139
293
|
superun-ai auth logout
|
|
140
294
|
```
|
|
141
295
|
|
|
142
|
-
`auth login`
|
|
296
|
+
`auth login` verifies an existing PAT online and reuses it when valid. If no credential exists, or the default site explicitly rejects a local file credential, it opens the system default browser and saves the new PAT only after successful login. Failed or cancelled login preserves the old credential. Business commands without a PAT use the same browser flow, including non-TTY agent shells. Existing credentials do not add a preflight request to each business command. If rejected, use the returned login command, then check the original result and project stage before continuing. Never automatically resend a write whose result is unknown.
|
|
143
297
|
|
|
144
298
|
The CLI detects its host from injected environment markers, currently supporting WorkBuddy, Codex, Claude Code, Gemini CLI, Qwen Code, Cursor, and the QoderWork desktop app. Missing or conflicting markers fall back to `superun-ai-cli`; detection for Doubao Work, Qoder CLI, and Qianwen Work is not enabled yet. Flag markers must equal `1`, and WorkBuddy requires both its product marker and CodeBuddy invocation context. QoderWork requires both `QODER_PRODUCT_ID=qoder` and `QODER_SESSION_TYPE=app`, producing the channel `qoder`.
|
|
145
299
|
|
|
@@ -150,7 +304,7 @@ superun-ai auth login
|
|
|
150
304
|
superun-ai --name my-token auth login
|
|
151
305
|
```
|
|
152
306
|
|
|
153
|
-
Explicit and automatic login send `name` when requesting a PAT; the server handles registration-channel tags during PAT creation. Reusing or manually importing a PAT does not request another PAT or rename an existing token. Subsequent requests use the channel detected for the current CLI process. The browser login URL does not include the name, and new PATs retain the existing 365-day validity period.
|
|
307
|
+
Explicit and automatic login send `name` when requesting a PAT; the server handles registration-channel tags during PAT creation. Reusing a valid PAT or manually importing a PAT does not request another PAT or rename an existing token. Subsequent requests use the channel detected for the current CLI process. The browser login URL does not include the name, and new PATs retain the existing 365-day validity period.
|
|
154
308
|
|
|
155
309
|
Browser login waits for up to five minutes. Press Ctrl+C to cancel. If the browser does not open automatically, use the URL printed in the terminal. The website login token is only used to obtain a PAT and is not stored locally.
|
|
156
310
|
|
|
@@ -162,15 +316,17 @@ superun-ai auth login --pat
|
|
|
162
316
|
|
|
163
317
|
`--pat` reads hidden input from the terminal, even if `SUPERUN_PAT` is already set. It is an input-mode switch: do not put the PAT after it, and do not combine it with `--stdin`.
|
|
164
318
|
|
|
165
|
-
|
|
319
|
+
For unattended automation, configure `SUPERUN_PAT` ahead of time or import a PAT using standard input:
|
|
166
320
|
|
|
167
321
|
```bash
|
|
168
322
|
printf '%s\n' "$SUPERUN_PAT" | superun-ai auth login --stdin
|
|
169
323
|
```
|
|
170
324
|
|
|
171
|
-
The CLI prefers `SUPERUN_PAT`, then `~/.config/superun-ai-cli/credentials.json`.
|
|
325
|
+
The CLI prefers `SUPERUN_PAT`, then `~/.config/superun-ai-cli/credentials.json`. macOS/Linux enforce `0600` file permissions. Windows checks the system ACL through PowerShell: the current user must own the file, and only that user, SYSTEM, and local administrators may have access. Before saving on Windows, the CLI restricts the empty temporary file to the current user and verifies the ACL before writing the PAT. Failed permission checks stop the operation without falling back to unprotected storage. Logging out removes the local credential without revoking the server-side PAT. Never put a PAT in command-line arguments, source control, or logs.
|
|
172
326
|
|
|
173
|
-
`auth status`
|
|
327
|
+
`auth status` checks local configuration by default; `CONFIGURED` does not prove that the credential is valid. Add `--online` for read-only verification, returning `authenticated=true` and `checkedOnline=true` on success without opening a browser, requesting a PAT, displaying projects, or selecting a project. Project permission and stage checks still apply to each operation.
|
|
328
|
+
|
|
329
|
+
A rejected `SUPERUN_PAT` must be updated or removed by its owner. A rejected credential on a custom endpoint requires checking that environment. HTTP 403, network or protocol errors, and damaged local files do not trigger automatic login or remove the existing credential.
|
|
174
330
|
|
|
175
331
|
`auth logout` deletes the saved PAT. If `SUPERUN_PAT` is set, it remains effective until you remove it from your shell:
|
|
176
332
|
|
|
@@ -321,7 +477,7 @@ After development completes, the preview link is returned in `development.previe
|
|
|
321
477
|
|
|
322
478
|
After the user selects a style, `chat style select` waits for its demo, completes the demo transition and preserves the version internally, then generates the development plan. Show only that the selected style is being used to prepare the plan, without demo-stage prompts or additional questions. The CLI silently generates and confirms the initial plan, then displays the actual feature list for the user to choose what to develop. Real business questions still require user input. After `--no-wait` or a local timeout, follow `CONTINUE_STYLE_PLANNING` with `chat wait` to check the current state and resume the transition. `chat state` remains read-only, and existing projects can still use `chat demo` and `chat develop`.
|
|
323
479
|
|
|
324
|
-
After the user explicitly asks to launch the site, use `chat publish status <sessionId> --for-launch` to get the latest pending version from the publishing panel. Show its `changeLog` unchanged, then follow the returned publishing command without a second confirmation. For a deployment already in progress, only track progress. If deployment is complete but the site is not public, finish the visibility step and return the public URL. `status`
|
|
480
|
+
After the user explicitly asks to launch the site, use `chat publish status <sessionId> --for-launch` to get the latest pending version from the publishing panel. Show its `changeLog` unchanged, then follow the returned publishing command without a second confirmation. For a deployment already in progress, only track progress. If deployment is complete but the site is not public, finish the visibility step and return the public URL. `status` may record cloud activity and persist timeout failures; a status query does not grant publishing authorization.
|
|
325
481
|
|
|
326
482
|
`chat publish start --indexing allow|deny` controls search-engine indexing, not visitor access. Change site visibility with `chat publish visibility`. If the service requires acknowledgment of cloud costs, review them before explicitly passing `--acknowledge-cloud-fee`.
|
|
327
483
|
|
|
@@ -422,3 +578,31 @@ superun-ai auth logout && npm uninstall -g superun-ai-cli
|
|
|
422
578
|
`npm uninstall` does not run `logout` automatically. If you configured `SUPERUN_PAT`, also run `unset SUPERUN_PAT` in the current shell and remove it from the shell configuration or environment that sets it. Logging out does not sign you out of the browser or revoke the server-side PAT.
|
|
423
579
|
|
|
424
580
|
<!-- @author xiuyu.yi -->
|
|
581
|
+
|
|
582
|
+
## Mainline version changes
|
|
583
|
+
|
|
584
|
+
`superun-ai session diff <sessionId> <oldReplyMessageId> <newReplyMessageId> [--include-diff]`
|
|
585
|
+
|
|
586
|
+
Select one project and two messageId values from its `session history` (not encryptedId). The CLI verifies project identity and server-side edit permission before reading differences. Both versions must belong to that project's mainline, with the old timestamp preceding the new one. This command reads history without advancing development or restoring a version.
|
|
587
|
+
|
|
588
|
+
Results include added, updated and removed files with line counts. `--include-diff` adds up to 12000 characters per file, for at most 200 files, with explicit truncation indicators. The new side may include the current user's uncommitted staging: `basis=SNAPSHOT_WITH_CURRENT_USER_STAGING` does not represent two frozen snapshots. Changes to version or staging metadata during the read invalidate delivery. Missing underlying source content may be treated as empty files by the backend; `sourceCompleteness=UNVERIFIED` means that zero returned differences cannot prove source equality. Full source files and internal attachments are excluded.
|
|
589
|
+
|
|
590
|
+
### Code review preflight
|
|
591
|
+
|
|
592
|
+
`chat review` and `chat send --review-followup` verify the explicit project, server-side edit permission, canonical mainline and phase, normal idle state, and pending questions/background work before writing. New requests use mode 6 and previewVersionId 0; a previous message mode does not invalidate a legitimate new operation. Existing demo code can be reviewed; unapproved v6 development planning blocks the operation. Unknown stages, consult/plan contexts, newer user messages or a replaced mainline never advance automatically. This protocol fixes findings and has no enforced read-only mode. Wait for the actual audit and repair report; a completed message is not a passing review.
|
|
593
|
+
|
|
594
|
+
### Automated test preflight
|
|
595
|
+
|
|
596
|
+
`chat test` and `chat send --test-followup` apply the same edit-permission, canonical-mainline, phase and pending-work checks as code review, and revalidate the source before submitting. Verify one explicit flow per run. Confirmed defects may be repaired; infrastructure failures and untestable cases are not product defects or passes. Interpret COMPLETED with the current autoTest report. Temporary identities and authentication changes need explicit setup authorization. Demo results do not establish production behavior.
|
|
597
|
+
|
|
598
|
+
### Prepared mainline deployment
|
|
599
|
+
|
|
600
|
+
Use `chat publish prepare <sessionId>`, then `chat publish deploy <sessionId> <encryptedId> --source-message-id <sourceMessageId> --quote-id <quoteId> [--acknowledge-cloud-fee] --no-wait`. Prepare checks server-side edit access, canonical development phase, approved architecture and idle state before returning the current pending record and cost estimate. READY is preparation, not consent or deployment. Deploy requires both anchors and rechecks source, record, region and estimate before writing. The backend builds the latest completed mainline; an old publication record does not select old source code. The independent Skill uses deploy rather than the compatible start entry.
|
|
601
|
+
|
|
602
|
+
Cost fields use GLOW_TOKEN cents, 100 units per token. Preserve server totals and itemized estimates, also show their computed daily/30-day sums and any discrepancy. Nonzero estimates need explicit consent to the current target and quote. Public visibility rechecks mainline state and permission, optionally binds source-message-id, and reads back publicStatus. Taking a site offline remains possible without requiring a completed development round. Indexing is separate from access; public visibility may enable homepage monitoring. Deployment does not automatically authorize visibility or AI integration.
|
|
603
|
+
|
|
604
|
+
### Security scanning and existing results
|
|
605
|
+
|
|
606
|
+
`chat security <sessionId> --list-checks` reads the catalog; `--status [--review-id <id>]` reads a current or specified snapshot without starting a scan. New scans verify the explicit project, edit access, canonical development phase, architecture approval, idle state and unmerged staging, then recheck before writing. Only explicit true availability/selectability is executable. Existing active scans reuse their ID; conflicting requested scope never creates or cancels a scan. Report retries require an explicit request and the same failed report state. A completed check is not proof of no risk: require an actual successful report and preserve failure, cancellation and invalidation.
|
|
607
|
+
|
|
608
|
+
The `capabilities` array in `version` JSON declares client implementation contracts. Independent review, test and security packages verify the required declaration before preparation returns READY. A familiar command name or higher version is insufficient. Each project still needs live permission, mainline and phase checks.
|