@todoforai/tfa-show 0.1.0 → 0.1.1

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 (2) hide show
  1. package/dist/show.js +21 -13
  2. package/package.json +10 -3
package/dist/show.js CHANGED
@@ -4477,7 +4477,7 @@ var tool_catalog_default = {
4477
4477
  platformAuth: true,
4478
4478
  versionCmd: "tfa-imagegen --version 2>/dev/null | sed -n 1p",
4479
4479
  credentialPaths: ["~/.config/todoforai/credentials.json"],
4480
- description: "AI image generation & editing via TODOFORAI backend (gpt-image, nano-banana, nano-banana-pro)"
4480
+ description: "AI image generation & editing via TODOFORAI backend (gpt-image-2, gpt-image-2.6, nano-banana, nano-banana-pro)"
4481
4481
  },
4482
4482
  "suno-api": {
4483
4483
  preinstallCloud: true,
@@ -5181,7 +5181,7 @@ var tool_catalog_default = {
5181
5181
  label: "Show",
5182
5182
  summary: "Show files, links and interactive HTML in the chat.",
5183
5183
  platformAuth: true,
5184
- description: "Show in chat: `tfa-show <file|url|->` renders by type; url = live preview. Only way to display local files (markdown `![](path)` 404s). `--title`. Keep/revise: `--alias <name>` updates in place (versioned; `<todoId>:<name>` other todo); `ref|share|unshare|rm <alias>`, `list`; `--card <name>` = project renderer. Interactive HTML, this chat only: `tfa-show - --bare [--wide]`. Body markup only, theme `var(--foreground|card|border|primary|muted-foreground)`, relative src = workspace file, no own frame/header. JS: `todo.exec(cmd)`→{stdout}, `todo.chat(text)` resumes you, `todo.connect(key,{reason})`→{connected}. Secrets: `todo.exec` → `tfa-vault patch`, never chat. More: `--help`.",
5184
+ description: "Show in chat: `tfa-show <file|url|->` renders by type; url = live preview. Only way to display local files (markdown `![](path)` 404s). `--title`. Keep/revise: `--alias <name>` updates in place (versioned; `<todoId>:<name>` other todo); `ref|share|unshare|rm <alias>`, `list`; `--renderer <name>` = project renderer. Interactive HTML, this chat only: `tfa-show - --bare [--wide]`. Body markup only, theme `var(--foreground|card|border|primary|muted-foreground)`, relative src = workspace file, no own frame/header. JS: `todo.exec(cmd)`→{stdout}, `todo.chat(text)` resumes you, `todo.connect(key,{reason})`→{connected}. Secrets: `todo.exec` → `tfa-vault patch`, never chat. More: `--help`.",
5185
5185
  versionCmd: "tfa-show --version 2>/dev/null | sed -n 1p",
5186
5186
  credentialPaths: ["~/.config/todoforai/credentials.json"],
5187
5187
  installCmd: "npm install -g @todoforai/tfa-show",
@@ -5360,7 +5360,7 @@ var tool_catalog_default = {
5360
5360
  label: "Surface",
5361
5361
  summary: "See and control what is on your TODOforAI screen.",
5362
5362
  platformAuth: true,
5363
- description: "The user's live UI from the shell. Everything on screen is a SURFACE holding one ref (a todo id, `<todoId>:<alias>` = a shown artifact, or a url). `describe` lists them (kind, id, ref, focus, embedded-browser CDP URL; `--json`). `open overlay <todoId>` (full page), `open window <ref> [--detached]` (floating; --detached = out of the grid, own size, resizable), `open panel changes|preview|browser|terminal [--url]` (a todo's side panel), `open card <ref> [--title] [--group <slug>]` (a persisted board card every member sees); `close|focus <kind> <id>`. Persistent state (plans, reports, live status) → `show chat.panel <todoId> \"...md\"` (stdin ok; re-show updates in place), `clear` removes; events go in chat. `card add|list|get|rm <name>` = project HTML renderers. Exit 2 = no frontend connected.",
5363
+ description: "The user's live UI from the shell. Everything on screen is a SURFACE holding one ref (a todo id, `<todoId>:<alias>` = a show, or a url). `describe` lists them (kind, id, ref, focus, embedded-browser CDP URL; `--json`). `open overlay <todoId>` (full page), `open window <ref> [--detached]` (floating; --detached = out of the grid, own size, resizable), `open panel changes|preview|browser|terminal [--url]` (a todo's side panel), `open card <ref> [--title] [--group <slug>]` (a persisted board card every member sees); `close|focus <kind> <id>`. Persistent state (plans, reports, live status) → `show chat.panel <todoId> \"...md\"` (stdin ok; re-show updates in place), `clear` removes; events go in chat. `renderer add|list|get|rm <name>` = project HTML renderers. Exit 2 = no frontend connected.",
5364
5364
  versionCmd: "tfa-surface --version 2>/dev/null | sed -n 1p",
5365
5365
  installCmd: "npm install -g @todoforai/tfa-surface",
5366
5366
  internal: true
@@ -11006,7 +11006,7 @@ function checkForUpdates(pkg) {
11006
11006
  // package.json
11007
11007
  var package_default = {
11008
11008
  name: "@todoforai/tfa-show",
11009
- version: "0.1.0",
11009
+ version: "0.1.1",
11010
11010
  description: "Show files, urls and interactive HTML in a TODOforAI chat from an agent shell.",
11011
11011
  type: "module",
11012
11012
  bin: {
@@ -11023,10 +11023,17 @@ var package_default = {
11023
11023
  "@todoforai/tfa-subagent": "^0.1.21",
11024
11024
  "@types/node": "^20.11.0"
11025
11025
  },
11026
- keywords: ["cli", "show", "agent", "todoforai"],
11026
+ keywords: [
11027
+ "cli",
11028
+ "show",
11029
+ "agent",
11030
+ "todoforai"
11031
+ ],
11027
11032
  author: "TODO for AI",
11028
11033
  license: "MIT",
11029
- files: ["dist"]
11034
+ files: [
11035
+ "dist"
11036
+ ]
11030
11037
  };
11031
11038
 
11032
11039
  // src/commands.ts
@@ -11035,15 +11042,15 @@ var HELP = `tfa-show — show a file, url or interactive HTML in the TODOforAI c
11035
11042
  tfa-show <file|url|-> [todo-id] Render by type (- = stdin); url = live preview. Prints <todoId>:<alias|id>
11036
11043
  --title T header label --alias A stable address: re-show updates in place (new version);
11037
11044
  --mime M override the type <todoId>:<A> updates another todo's block
11038
- --card <name> render via a project renderer card
11045
+ --renderer <name> render via a project renderer (tfa-surface renderer add; --card = old name)
11039
11046
  --link compact download chip instead of inline
11040
11047
  --force show an image that looks truncated
11041
11048
  --bare no header (interactive HTML); the file menu appears on hover
11042
11049
  --wide full chat column (dashboards, wide tables); default is prose width
11043
11050
  --json
11044
- tfa-show ref <ref|alias> [todo-id] re-post an artifact (any todo) at the chat bottom, live
11051
+ tfa-show ref <ref|alias> [todo-id] re-post a show (any todo) at the chat bottom, live
11045
11052
  tfa-show share|unshare|rm <ref|alias> public link (prints it) | private again | take down (all versions)
11046
- tfa-show list [todo-id] [--project <id>] [--card <name>]
11053
+ tfa-show list [todo-id] [--project <id>] [--renderer <name>]
11047
11054
 
11048
11055
  todo-id defaults to $TODOFORAI_TODO_ID. Private: visible to whoever can read the todo.
11049
11056
  A re-show replaces the block: repeat --bare/--wide/--title on every update. A file named list/ref/… → ./list
@@ -11079,6 +11086,7 @@ function parse(argv) {
11079
11086
  alias: { type: "string" },
11080
11087
  mime: { type: "string" },
11081
11088
  card: { type: "string" },
11089
+ renderer: { type: "string" },
11082
11090
  project: { type: "string" },
11083
11091
  link: { type: "boolean" },
11084
11092
  force: { type: "boolean" },
@@ -11100,7 +11108,7 @@ ${HELP}`);
11100
11108
  process.exit(values.help ? 0 : 2);
11101
11109
  }
11102
11110
  const sub = SUBS.has(positionals[0]) ? positionals[0] : undefined;
11103
- return { values, sub, args: sub ? positionals.slice(1) : positionals };
11111
+ return { values: { ...values, renderer: values.renderer ?? values.card }, sub, args: sub ? positionals.slice(1) : positionals };
11104
11112
  }
11105
11113
  var isUrl = (s) => /^https?:\/\//i.test(s);
11106
11114
  async function main(argv) {
@@ -11133,14 +11141,14 @@ async function main(argv) {
11133
11141
  const projectId = todoId2 ? undefined : o.project || process.env.TODOFORAI_PROJECT_ID;
11134
11142
  if (!todoId2 && !projectId)
11135
11143
  die("list: need a todo id or --project", 2);
11136
- const { items } = await api.listShows({ todoId: todoId2, projectId, card: o.card });
11144
+ const { items } = await api.listShows({ todoId: todoId2, projectId, card: o.renderer });
11137
11145
  if (o.json)
11138
11146
  return out(items, "");
11139
11147
  if (!items.length)
11140
11148
  return void console.error("no show blocks");
11141
11149
  for (const it of items) {
11142
11150
  const kind = it.url ? `url ${it.url}` : it.target ? `→ ${it.target}` : it.mime || "";
11143
- console.log([it.ref, it.title || it.filename || "", kind, it.cardRef && `card=${it.cardRef}`, it.shareUrl].filter(Boolean).join(" "));
11151
+ console.log([it.ref, it.title || it.filename || "", kind, it.cardRef && `renderer=${it.cardRef}`, it.shareUrl].filter(Boolean).join(" "));
11144
11152
  }
11145
11153
  return;
11146
11154
  }
@@ -11195,7 +11203,7 @@ async function main(argv) {
11195
11203
  title: o.title,
11196
11204
  alias,
11197
11205
  mime: o.mime,
11198
- card: o.card,
11206
+ card: o.renderer,
11199
11207
  display: o.link ? "link" : undefined,
11200
11208
  width: o.wide ? "wide" : undefined,
11201
11209
  bare: o.bare,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@todoforai/tfa-show",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Show files, urls and interactive HTML in a TODOforAI chat from an agent shell.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,8 +17,15 @@
17
17
  "@todoforai/tfa-subagent": "^0.1.21",
18
18
  "@types/node": "^20.11.0"
19
19
  },
20
- "keywords": ["cli", "show", "agent", "todoforai"],
20
+ "keywords": [
21
+ "cli",
22
+ "show",
23
+ "agent",
24
+ "todoforai"
25
+ ],
21
26
  "author": "TODO for AI",
22
27
  "license": "MIT",
23
- "files": ["dist"]
28
+ "files": [
29
+ "dist"
30
+ ]
24
31
  }