@cyber-dash-tech/revela 0.18.10 → 0.18.11

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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  **English** | [中文](README.zh-CN.md)
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/@cyber-dash-tech/revela)](https://www.npmjs.com/package/@cyber-dash-tech/revela) [![license](https://img.shields.io/npm/l/@cyber-dash-tech/revela)](LICENSE) [![tests](https://img.shields.io/badge/tests-726%20passing-brightgreen)](tests/) [![OpenCode plugin](https://img.shields.io/badge/OpenCode-plugin-blue)](https://opencode.ai) [![Bun](https://img.shields.io/badge/Bun-%E2%89%A51.0-orange)](https://bun.sh)
5
+ [![npm version](https://img.shields.io/npm/v/@cyber-dash-tech/revela)](https://www.npmjs.com/package/@cyber-dash-tech/revela) [![license](https://img.shields.io/npm/l/@cyber-dash-tech/revela)](LICENSE) [![tests](https://img.shields.io/badge/tests-727%20passing-brightgreen)](tests/) [![OpenCode plugin](https://img.shields.io/badge/OpenCode-plugin-blue)](https://opencode.ai) [![Bun](https://img.shields.io/badge/Bun-%E2%89%A51.0-orange)](https://bun.sh)
6
6
 
7
7
  <p align="center">
8
8
  <img src="assets/img/logo.png" alt="Revela" width="560" />
@@ -34,7 +34,7 @@ To install globally, add the same entry to `~/.config/opencode/opencode.json`.
34
34
  Requirements:
35
35
 
36
36
  - The Codex CLI must be installed and the `codex` command must be available in your shell.
37
- - Your environment must be able to run `npx`; Revela uses `npx -y @cyber-dash-tech/revela@0.18.10 mcp` to start the MCP server.
37
+ - Your environment must be able to run `npx`; Revela uses `npx -y @cyber-dash-tech/revela@0.18.11 mcp` to start the MCP server.
38
38
  - For interactive Review Apply actions, `codex exec` must also work because the Review UI uses it after saved comments are applied.
39
39
 
40
40
  Optional preflight:
@@ -55,11 +55,11 @@ npm_config_cache=/tmp/revela-npm-cache bun run smoke:mcp-pack
55
55
  Install Revela through the Codex Git marketplace:
56
56
 
57
57
  ```bash
58
- codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.10
58
+ codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.11
59
59
  codex plugin add revela@revela
60
60
  ```
61
61
 
62
- The Git marketplace install provides the Codex plugin shell, skills, hooks, and MCP configuration. When Codex starts the Revela MCP server for the first time, it runs `npx -y @cyber-dash-tech/revela@0.18.10 mcp` so npm can fetch the published package and its dependencies.
62
+ The Git marketplace install provides the Codex plugin shell, skills, hooks, and MCP configuration. When Codex starts the Revela MCP server for the first time, it runs `npx -y @cyber-dash-tech/revela@0.18.11 mcp` so npm can fetch the published package and its dependencies.
63
63
 
64
64
  You do not need to run `bun install` inside the Codex marketplace clone.
65
65
 
package/README.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](README.md) | **中文**
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/@cyber-dash-tech/revela)](https://www.npmjs.com/package/@cyber-dash-tech/revela) [![license](https://img.shields.io/npm/l/@cyber-dash-tech/revela)](LICENSE) [![tests](https://img.shields.io/badge/tests-726%20passing-brightgreen)](tests/) [![OpenCode plugin](https://img.shields.io/badge/OpenCode-plugin-blue)](https://opencode.ai) [![Bun](https://img.shields.io/badge/Bun-%E2%89%A51.0-orange)](https://bun.sh)
5
+ [![npm version](https://img.shields.io/npm/v/@cyber-dash-tech/revela)](https://www.npmjs.com/package/@cyber-dash-tech/revela) [![license](https://img.shields.io/npm/l/@cyber-dash-tech/revela)](LICENSE) [![tests](https://img.shields.io/badge/tests-727%20passing-brightgreen)](tests/) [![OpenCode plugin](https://img.shields.io/badge/OpenCode-plugin-blue)](https://opencode.ai) [![Bun](https://img.shields.io/badge/Bun-%E2%89%A51.0-orange)](https://bun.sh)
6
6
 
7
7
  <p align="center">
8
8
  <img src="assets/img/logo.png" alt="Revela" width="560" />
@@ -34,7 +34,7 @@ Revela 可在 [OpenCode](https://opencode.ai) 和 Codex 中使用,把来源材
34
34
  环境要求:
35
35
 
36
36
  - 需要已安装 Codex CLI,并且 shell 中可以执行 `codex`。
37
- - 环境中需要可以执行 `npx`;Revela 会用 `npx -y @cyber-dash-tech/revela@0.18.10 mcp` 启动 MCP server。
37
+ - 环境中需要可以执行 `npx`;Revela 会用 `npx -y @cyber-dash-tech/revela@0.18.11 mcp` 启动 MCP server。
38
38
  - 如果使用 Review UI 的 Apply,需要 `codex exec` 可用;评论会先保存,点击 Apply 后才执行修复。
39
39
 
40
40
  可选的安装前检查:
@@ -55,11 +55,11 @@ npm_config_cache=/tmp/revela-npm-cache bun run smoke:mcp-pack
55
55
  通过 Codex Git marketplace 安装 Revela:
56
56
 
57
57
  ```bash
58
- codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.10
58
+ codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.11
59
59
  codex plugin add revela@revela
60
60
  ```
61
61
 
62
- Git marketplace 安装的是 Codex plugin 壳、skills、hooks 和 MCP 配置。Codex 第一次启动 Revela MCP server 时,会运行 `npx -y @cyber-dash-tech/revela@0.18.10 mcp`,由 npm 获取已发布 package 及其 dependencies。
62
+ Git marketplace 安装的是 Codex plugin 壳、skills、hooks 和 MCP 配置。Codex 第一次启动 Revela MCP server 时,会运行 `npx -y @cyber-dash-tech/revela@0.18.11 mcp`,由 npm 获取已发布 package 及其 dependencies。
63
63
 
64
64
  不需要在 Codex marketplace clone 里运行 `bun install`。
65
65
 
@@ -656,9 +656,9 @@ function writeDesignAssets(targetDir: string, assets?: DesignPackageAssetInput[]
656
656
 
657
657
  function normalizeAssetPath(pathInput: string): string {
658
658
  const normalized = pathInput.replace(/\\/g, "/").replace(/^\.\/+/, "")
659
- if (!normalized.startsWith("assets/")) throw new Error(`Design asset paths must start with assets/: ${pathInput}`)
659
+ if (!normalized.startsWith("assets/")) throw new Error(`Design asset path must be located under assets/: ${pathInput}`)
660
660
  if (normalized.includes("\0") || normalized.startsWith("/") || normalized.split("/").some((part) => !part || part === "." || part === "..")) {
661
- throw new Error(`Invalid design asset path: ${pathInput}`)
661
+ throw new Error(`Design asset path must be located under assets/ and must not contain absolute paths, empty segments, '.', '..', or NUL characters: ${pathInput}`)
662
662
  }
663
663
  return normalized
664
664
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyber-dash-tech/revela",
3
- "version": "0.18.10",
3
+ "version": "0.18.11",
4
4
  "description": "OpenCode plugin for trusted narrative artifacts from local sources, research, and evidence",
5
5
  "type": "module",
6
6
  "main": "./index.ts",
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "revela": {
4
4
  "command": "npx",
5
- "args": ["-y", "@cyber-dash-tech/revela@0.18.10", "mcp"]
5
+ "args": ["-y", "@cyber-dash-tech/revela@0.18.11", "mcp"]
6
6
  }
7
7
  }
8
8
  }
@@ -526,11 +526,11 @@ function arrayObjectProp(description: string) {
526
526
  function designAssetsProp() {
527
527
  return {
528
528
  type: "array",
529
- description: "Optional design-owned assets to write under assets/**. Each item must use path plus content, contentBase64, or sourcePath.",
529
+ description: "Optional design-owned assets for user-uploaded or local materials to archive under assets/**. Each item must use path plus content, contentBase64, or sourcePath.",
530
530
  items: {
531
531
  type: "object",
532
532
  properties: {
533
- path: { type: "string", description: "Package-relative asset path. Must start with assets/." },
533
+ path: { type: "string", description: "Package-relative asset path for uploaded or local design material. Must start with assets/." },
534
534
  content: { type: "string", description: "UTF-8 text asset content." },
535
535
  contentBase64: { type: "string", description: "Base64-encoded binary asset content." },
536
536
  sourcePath: { type: "string", description: "Local file path to copy into the design asset." },
@@ -11,6 +11,8 @@ Use this skill when the user asks to create, customize, edit, validate, package,
11
11
 
12
12
  - Designs define deck visual systems: rules, foundation, layouts, components, chart rules, and preview coverage.
13
13
  - Designs may include package-owned `assets/**` such as cover or closing backgrounds; design tools surface these as design elements, not source evidence.
14
+ - When the user uploads or provides logo, cover, closing, background, texture, brand image, or similar design material, store it inside the design package with `revela_design_draft_create.assets`; use paths under `assets/**` only.
15
+ - Generated `preview.html` must actually reference uploaded design assets with package-relative `assets/...` paths rather than describing them only in text.
14
16
  - Default authoring is workspace draft first, then validate, then install only when appropriate.
15
17
  - Direct user-level creation is reserved for explicit create/install-now requests.
16
18
  - Shareable design archives are `.tar` or `.tar.gz`; install archives only from trusted local paths.
@@ -30,7 +32,7 @@ For new or edited designs:
30
32
  1. Call `revela_design_list`.
31
33
  2. Read the requested base design or active design with `revela_design_read`.
32
34
  3. Draft complete `DESIGN.md` and complete `preview.html` content.
33
- 4. Call `revela_design_draft_create`.
35
+ 4. Call `revela_design_draft_create`; when uploaded or local design material exists, pass `assets: [{ path: "assets/...", contentBase64|content|sourcePath }]` so the files are written into the draft package.
34
36
  5. Call `revela_design_draft_validate`.
35
37
  6. If validation fails, revise the draft content and repeat draft create/validate.
36
38
  7. Call `revela_design_draft_install` only after the draft validates and the user intent is to install it.
@@ -52,7 +54,9 @@ Use `revela_design_create` only when the user explicitly requests direct local c
52
54
  - `DESIGN.md` must include valid frontmatter and complete design marker sections.
53
55
  - Include design rules, foundation guidance, at least one layout, and at least one component.
54
56
  - Optional assets must live under `assets/**`; reference them as package-relative paths like `assets/cover-background.png`.
57
+ - `DESIGN.md` may reference package assets in rules, layouts, or components with `assets/...`; do not reference workspace `assets/` media manifest entries for design-owned visuals.
55
58
  - `preview.html` must use the fixed Revela preview canvas contract and visibly preview the design.
59
+ - If design assets are present, `preview.html` must visibly use the saved `assets/...` files, for example a cover hero background or logo image.
56
60
  - Preview must include cover and closing examples and showcase every component.
57
61
  - Preserve source inspiration and limitations explicitly; do not copy copyrighted design text or assets into the package.
58
62
 
@@ -61,6 +65,7 @@ Use `revela_design_create` only when the user explicitly requests direct local c
61
65
  - Design draft path/status or installed design name.
62
66
  - Archive path/status when packaging or installing a shareable design.
63
67
  - Asset metadata surfaced by read/inventory tools when `assets/**` exists.
68
+ - Saved asset paths and intended uses, for example `assets/cover-background.png -> cover hero background`.
64
69
  - Validation result and any remaining diagnostics.
65
70
  - Whether the design was activated.
66
71
  - Next step, usually `revela-research` for planning with the design or `revela-make-deck` when a valid `deck-plan.md` already exists.