@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.
- package/dist/show.js +21 -13
- 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 `` 404s). `--title`. Keep/revise: `--alias <name>` updates in place (versioned; `<todoId>:<name>` other todo); `ref|share|unshare|rm <alias>`, `list`; `--
|
|
5184
|
+
description: "Show in chat: `tfa-show <file|url|->` renders by type; url = live preview. Only way to display local files (markdown `` 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
|
|
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.
|
|
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: [
|
|
11026
|
+
keywords: [
|
|
11027
|
+
"cli",
|
|
11028
|
+
"show",
|
|
11029
|
+
"agent",
|
|
11030
|
+
"todoforai"
|
|
11031
|
+
],
|
|
11027
11032
|
author: "TODO for AI",
|
|
11028
11033
|
license: "MIT",
|
|
11029
|
-
files: [
|
|
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
|
-
--
|
|
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
|
|
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>] [--
|
|
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.
|
|
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 && `
|
|
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.
|
|
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.
|
|
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": [
|
|
20
|
+
"keywords": [
|
|
21
|
+
"cli",
|
|
22
|
+
"show",
|
|
23
|
+
"agent",
|
|
24
|
+
"todoforai"
|
|
25
|
+
],
|
|
21
26
|
"author": "TODO for AI",
|
|
22
27
|
"license": "MIT",
|
|
23
|
-
"files": [
|
|
28
|
+
"files": [
|
|
29
|
+
"dist"
|
|
30
|
+
]
|
|
24
31
|
}
|