@tianacloud/agent-skills 1.0.2 → 1.0.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tianacloud/agent-skills",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Tiana Cloud Skills for accounts, SQLite, Git and Web applications",
5
5
  "license": "MIT",
6
6
  "repository": {
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "tiana",
4
- "version": "1.0.2",
4
+ "version": "1.0.3",
5
5
  "description": "Tiana Cloud account, SQLite, Git and Web application workflows",
6
6
  "author": {
7
7
  "name": "Tiana Cloud",
@@ -4,7 +4,7 @@ description: 使用 Tiana Cloud 管理实例、安装 CLI、登录和恢复账
4
4
  license: MIT
5
5
  metadata:
6
6
  author: Tiana Cloud
7
- version: "1.0.2"
7
+ version: "1.0.3"
8
8
  source: https://github.com/tianacloud/agent-skills/tree/main/skills/tiana
9
9
  ---
10
10
 
@@ -14,7 +14,7 @@ metadata:
14
14
 
15
15
  ## 每个会话一次的更新检查
16
16
 
17
- 四个 Tiana 技能共享当前会话的更新检查记录。CLI 已满足最低版本要求且本会话尚未尝试检查时,执行 `tiana version check --skills-version 1.0.2 --json`,使用实际加载的 metadata.version。调用前在会话上下文中记为已尝试;后续轮次、重复加载或切换技能均复用该记录,检查失败也不自动重试。上下文压缩或任务交接时保留记录,新会话重新检查。
17
+ 四个 Tiana 技能共享当前会话的更新检查记录。CLI 已满足最低版本要求且本会话尚未尝试检查时,执行 `tiana version check --skills-version 1.0.3 --json`,使用实际加载的 metadata.version。调用前在会话上下文中记为已尝试;后续轮次、重复加载或切换技能均复用该记录,检查失败也不自动重试。上下文压缩或任务交接时保留记录,新会话重新检查。
18
18
 
19
19
  仅在 `should_notify=true` 时简短提醒并询问是否升级;用户选择稍后或检查不可用时继续原任务。CLI 仍管理检查缓存和共同的 24 小时提醒额度。升级及重载见[开始使用](references/getting-started.md#更新)。
20
20
 
@@ -1,10 +1,10 @@
1
1
  # 开始使用
2
2
 
3
- 在 Agent 实际执行命令的环境检查 `tiana version`。本技能要求 CLI 1.0.1 或更新正式版,具备分步登录、sqlite、git、web、list-template/init-template 和 version check。CLI 不存在时执行下面的 npm 安装并重新核验;已有版本过低时按更新流程取得用户确认后升级,再执行资源操作。不要仅凭同名命令存在跳过版本核验。
3
+ 在 Agent 实际执行命令的环境检查 `tiana version`。本技能要求 CLI 1.0.3 或更新正式版,具备分步登录、sqlite、git、web、files、list-template/init-template 和 version check。CLI 不存在时执行下面的 npm 安装并重新核验;已有版本过低时按更新流程取得用户确认后升级,再执行资源操作。不要仅凭同名命令存在跳过版本核验。
4
4
 
5
5
  最低版本核验独立于更新提醒:0.x、预发行版、dev 或无法核实的版本不满足本技能基线。即使 `should_notify=false` 或更新检查不可用,也不能据此跳过最低版本要求;先完成已获授权的升级,尚未获授权时说明需要升级,暂缓依赖新版 CLI 的资源操作。CLI 与 Skills 独立编号,`--skills-version` 仍传实际加载的 Skills 版本。
6
6
 
7
- 最低版本升级已获授权但更新检查不可用时,可安装已发布基线 `npm install -g @tianacloud/cli@1.0.1 --registry=https://registry.npmjs.org/`,随后核验 `tiana version`;下载失败则报告实际错误,不继续资源操作。
7
+ 最低版本升级已获授权但更新检查不可用时,可安装已发布基线 `npm install -g @tianacloud/cli@1.0.3 --registry=https://registry.npmjs.org/`,随后核验 `tiana version`;下载失败则报告实际错误,不继续资源操作。
8
8
 
9
9
  ## 安装
10
10
 
@@ -4,7 +4,7 @@ description: 使用 Tiana Git 管理 Git 实例和原生仓库,关联项目远
4
4
  license: MIT
5
5
  metadata:
6
6
  author: Tiana Cloud
7
- version: "1.0.2"
7
+ version: "1.0.3"
8
8
  parent: tiana
9
9
  source: https://github.com/tianacloud/agent-skills/tree/main/skills/tiana-git
10
10
  ---
@@ -15,7 +15,7 @@ metadata:
15
15
 
16
16
  ## 每个会话一次的更新检查
17
17
 
18
- 四个 Tiana 技能共享当前会话的更新检查记录。CLI 已满足最低版本要求且本会话尚未尝试检查时,执行 `tiana version check --skills-version 1.0.2 --json`,使用实际加载的 metadata.version。调用前在会话上下文中记为已尝试;后续轮次、重复加载或切换技能均复用该记录,检查失败也不自动重试。上下文压缩或任务交接时保留记录,新会话重新检查。
18
+ 四个 Tiana 技能共享当前会话的更新检查记录。CLI 已满足最低版本要求且本会话尚未尝试检查时,执行 `tiana version check --skills-version 1.0.3 --json`,使用实际加载的 metadata.version。调用前在会话上下文中记为已尝试;后续轮次、重复加载或切换技能均复用该记录,检查失败也不自动重试。上下文压缩或任务交接时保留记录,新会话重新检查。
19
19
 
20
20
  仅在 `should_notify=true` 时简短提醒并询问是否升级;用户选择稍后或检查不可用时继续原任务。CLI 仍管理检查缓存和共同的 24 小时提醒额度。升级及重载见[开始使用](../tiana/references/getting-started.md#更新)。
21
21
 
@@ -4,7 +4,7 @@ description: 查询 Tiana SQLite 表结构、执行 SQL、选择数据库分支
4
4
  license: MIT
5
5
  metadata:
6
6
  author: Tiana Cloud
7
- version: "1.0.2"
7
+ version: "1.0.3"
8
8
  parent: tiana
9
9
  source: https://github.com/tianacloud/agent-skills/tree/main/skills/tiana-sqlite
10
10
  ---
@@ -15,7 +15,7 @@ metadata:
15
15
 
16
16
  ## 每个会话一次的更新检查
17
17
 
18
- 四个 Tiana 技能共享当前会话的更新检查记录。CLI 已满足最低版本要求且本会话尚未尝试检查时,执行 `tiana version check --skills-version 1.0.2 --json`,使用实际加载的 metadata.version。调用前在会话上下文中记为已尝试;后续轮次、重复加载或切换技能均复用该记录,检查失败也不自动重试。上下文压缩或任务交接时保留记录,新会话重新检查。
18
+ 四个 Tiana 技能共享当前会话的更新检查记录。CLI 已满足最低版本要求且本会话尚未尝试检查时,执行 `tiana version check --skills-version 1.0.3 --json`,使用实际加载的 metadata.version。调用前在会话上下文中记为已尝试;后续轮次、重复加载或切换技能均复用该记录,检查失败也不自动重试。上下文压缩或任务交接时保留记录,新会话重新检查。
19
19
 
20
20
  仅在 `should_notify=true` 时简短提醒并询问是否升级;用户选择稍后或检查不可用时继续原任务。CLI 仍管理检查缓存和共同的 24 小时提醒额度。升级及重载见[开始使用](../tiana/references/getting-started.md#更新)。
21
21
 
@@ -4,7 +4,7 @@ description: 使用 Tiana 创建、修改、预览和发布 Web 应用。用户
4
4
  license: MIT
5
5
  metadata:
6
6
  author: Tiana Cloud
7
- version: "1.0.2"
7
+ version: "1.0.3"
8
8
  parent: tiana
9
9
  source: https://github.com/tianacloud/agent-skills/tree/main/skills/tiana-web
10
10
  ---
@@ -15,7 +15,7 @@ metadata:
15
15
 
16
16
  ## 每个会话一次的更新检查
17
17
 
18
- 四个 Tiana 技能共享当前会话的更新检查记录。CLI 已满足最低版本要求且本会话尚未尝试检查时,执行 `tiana version check --skills-version 1.0.2 --json`,使用实际加载的 metadata.version。调用前在会话上下文中记为已尝试;后续轮次、重复加载或切换技能均复用该记录,检查失败也不自动重试。上下文压缩或任务交接时保留记录,新会话重新检查。
18
+ 四个 Tiana 技能共享当前会话的更新检查记录。CLI 已满足最低版本要求且本会话尚未尝试检查时,执行 `tiana version check --skills-version 1.0.3 --json`,使用实际加载的 metadata.version。调用前在会话上下文中记为已尝试;后续轮次、重复加载或切换技能均复用该记录,检查失败也不自动重试。上下文压缩或任务交接时保留记录,新会话重新检查。
19
19
 
20
20
  仅在 `should_notify=true` 时简短提醒并询问是否升级;用户选择稍后或检查不可用时继续原任务。CLI 仍管理检查缓存和共同的 24 小时提醒额度。升级及重载见[开始使用](../tiana/references/getting-started.md#更新)。
21
21
 
@@ -32,3 +32,7 @@ metadata:
32
32
  3. 直接开发时,使用 [固定 index.html](references/index.html)、哈希路由、支持动态账号鉴权的 SDK,按实际数据库结构编写应用及构建清单。
33
33
  4. **模板和直接开发都由 Agent 处理数据库初始化。** 模板先执行已配置且存在的 schema,再执行已配置且存在的 seeds;两项独立跳过,SQL 失败先核对结果并停止后续发布。
34
34
  5. 按用户需求完成交互和定制,安装依赖并从确定源码提交构建。按 [源码版本流程](../tiana-git/references/source-releases.md)完成源码同步,用 `web publish` 发布当前归档,再用 `web status --publish-id` 核对。除非用户仅要求本地开发,交付实际托管地址、资源 ID 和对应源码提交;未验证的阶段如实说明。
35
+
36
+ ## 文件上传、预览与下载
37
+
38
+ 应用需要文件存储时,阅读[WebApp 文件存储](references/files.md),核对配套候选环境后使用平台提供的 `context.files`。先创建 WebApp 获得 ID 即可本地预览,无需先发布;文件路径相对于该 WebApp 的目录。
@@ -81,3 +81,7 @@ tiana web status WEB_ID --json
81
81
  用 `tiana web list --json` 核对当前账号拥有的 Web 应用,优先使用已保存的真实 ID。用户明确要求删除时,执行 `tiana web delete WEB_ID --force`;需要等待源站清理完成时加 `--wait --json`。不得把失败恢复、重新发布或清理本地构建目录当作删除云端应用的授权。
82
82
 
83
83
  删除会关闭应用入口并通过 Web 实例生命周期清理当前归档,关联 SQLite、Git 不随之删除。只收到 `state: deleting` 时报告已受理;收到 `state: deleted` 才报告本次源站清理完成。空应用、上传中和已发布的应用均可删除;本地仍有未完成的 CLI 创建操作时,先按原请求恢复该操作。已受理的删除等待 Control 确认实例存储删除完成,MGR 不枚举或删除 S3 对象;公开缓存按缓存策略失效。中断后保留待完成记录,用原 ID 恢复,详情见[CLI 命令](../../tiana/references/cloud-cli.md)。
84
+
85
+ ## 应用文件
86
+
87
+ 配套文件存储环境中,`mount` 的第二个参数提供 `files`。先创建 WebApp 取得 ID,再本地预览;文件范围与是否发布无关。上传、下载、图片续期和 CLI 路径见[WebApp 文件存储](files.md)。
@@ -0,0 +1,59 @@
1
+ # WebApp 文件存储(配套候选能力)
2
+
3
+ 本页对应 `feat/file-storage` 的 CLI、MGR、Web 与 serverless-js 候选实现,须使用已验收的配套环境;CLI 1.0.1 和 Skills 1.0.2 的版本号本身不代表已包含这项能力。以实际候选 CLI 的 `tiana files --help`、目标环境与 Bootstrap 能力为准,不虚构 npm 已发布版本。
4
+
5
+ ## 归属和创建顺序
6
+
7
+ 文件归当前租户,租户成员共享,用量与数据库共用存储配额。Console 和 CLI 展示整个租户文件目录;WebApp 使用其中的 `<WebApp ID>/` 子目录。应用只传相对路径,服务端确定 tenant 和 WebApp 根,不能从 JavaScript 修改授权范围。
8
+
9
+ 先执行既有 `tiana web create` 获取 Web ID,再 `tiana web serve WEB_ID`。预览不要求先 publish,因此未发布应用也能访问自己的稳定文件目录。沿用已存在项目的真实 ID,不为一次预览另造 ID,也不把环境域名写死在应用里。
10
+
11
+ ## 挂载 API
12
+
13
+ 平台会在调用 `mount` 前准备文件访问。使用平台提供的 `context.files`:
14
+
15
+ ```js
16
+ export async function mount(root, { files }) {
17
+ const image = document.createElement('img');
18
+ image.alt = '封面';
19
+ root.append(image);
20
+ const unbind = await files.bindImage(image, 'images/cover.png');
21
+ return () => unbind();
22
+ }
23
+ ```
24
+
25
+ - `files.list(path, { cursor })`:一页文件和目录,`items` 加下一页 `cursor`;只按用户所需导航,不为统计遍历全部目录。
26
+ - `files.get(path)`:下载 Response;`files.getUrl(path)`:下载域名 URL,仍需授权。
27
+ - `files.put(path, blob, options)`:直传 OSS,返回上传记录;可用 `onPrepared` 保留 ID、`onProgress` 显示进度。
28
+ - `files.delete(path)`:删除一个文件,UI 必须先确认用户意图。
29
+ - `files.bindImage(image, path)`:准备 URL 并绑定一次授权失败恢复,返回卸载函数。
30
+
31
+ Site Bootstrap 在导入应用模块前安装 15 分钟的 HttpOnly 文件 Cookie。`<img>` 请求会自动携带有效 Cookie,但原生标签不负责续期;优先用 `bindImage`,或在设置 `src` 前调用 `getUrl`。SDK 对授权失败最多刷新并重试一次,不把文件不存在当成授权过期。
32
+
33
+ 本地预览使用同源 CLI broker,文件授权 Header 保留在 CLI 中;应用仍用同一个 `context.files`。上传数据在两种场景都直接去 OSS,平台接口仅签发和结算。不要自行读取 HttpOnly Cookie、复制数据库 Token 到文件域名,或把凭据拼进 URL。
34
+
35
+ ```js
36
+ let uploadID;
37
+ const upload = await files.put('documents/note.txt', new Blob(['内容'], {
38
+ type: 'text/plain',
39
+ }), {
40
+ onPrepared: receipt => { uploadID = receipt.id; },
41
+ });
42
+ const downloadURL = await files.getUrl(upload.path);
43
+ ```
44
+
45
+ 同名默认拒绝。用户明确替换时才用 `{ overwrite: true }`,其行为是删除旧文件再上传;新上传失败无法恢复旧文件。签发凭据有效 30 分钟,预留本次完整大小;完成确认或后台到期核验后结算。关闭浏览器不取消后台核验。
46
+
47
+ 上传结果不确定时保留 `uploadID`,调用 `files.uploadStatus(uploadID)`、`files.completeUpload(uploadID)` 检查,不重新执行替换。路径不能包含 `.`、`..`、反斜线和编码穿透片段。
48
+
49
+ ## CLI 操作同一目录
50
+
51
+ ```sh
52
+ tiana files list WEB_ID/images/
53
+ tiana files put ./cover.png WEB_ID/images/cover.png
54
+ tiana files get WEB_ID/images/cover.png ./downloaded-cover.png
55
+ tiana files get-url WEB_ID/images/cover.png
56
+ tiana files delete WEB_ID/images/cover.png
57
+ ```
58
+
59
+ 保持本任务选择的 `TIANA_API_ORIGIN`。CLI 操作租户根,所以访问应用文件时显式带真实 Web ID 子目录。`get-url` 的 URL 不是匿名分享链接;CLI 下载会另取并发送文件授权 Header。`put --overwrite` 同样先删除后上传,不能作为不确定结果的自动重试手段。