@nearform/fling 0.6.0 → 0.8.0
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 +150 -19
- package/dist/cli.js +4712 -621
- package/package.json +3 -4
- package/CHANGELOG.md +0 -109
- package/dist/cli.js.map +0 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nearform/fling",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Fling a folder of static files at a Fling server and get a link back. CLI + MCP server.",
|
|
6
6
|
"type": "module",
|
|
@@ -9,9 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"dist/cli.js",
|
|
12
|
-
"
|
|
13
|
-
"README.md",
|
|
14
|
-
"CHANGELOG.md"
|
|
12
|
+
"README.md"
|
|
15
13
|
],
|
|
16
14
|
"engines": {
|
|
17
15
|
"node": ">=22"
|
|
@@ -36,6 +34,7 @@
|
|
|
36
34
|
"zod": "^4.6.7"
|
|
37
35
|
},
|
|
38
36
|
"devDependencies": {
|
|
37
|
+
"@anthropic-ai/mcpb": "^2.1.2",
|
|
39
38
|
"@types/node": "^24.0.0",
|
|
40
39
|
"esbuild": "^0.25.12",
|
|
41
40
|
"tsx": "^4.23.13",
|
package/CHANGELOG.md
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## 0.6.0
|
|
4
|
-
|
|
5
|
-
- `fling groups --members a,b` lists only the groups whose members are exactly those people, to
|
|
6
|
-
find a group to use before making another. The MCP tool `fling_groups` takes `members` for the
|
|
7
|
-
same.
|
|
8
|
-
|
|
9
|
-
- **Shared with me.** `fling ls --shared` lists the restricted sites other people have shared with
|
|
10
|
-
you, by address or through a group you are in, with their owner and how (`--sort` as for
|
|
11
|
-
`fling ls`; `--json`: `{ name, url, reviewUrl?, owner, via: { direct, groups }, createdAt,
|
|
12
|
-
updatedAt }`). The MCP tool `fling_list` takes `shared: true` for the same list, on a Fling with
|
|
13
|
-
the `audiences` capability.
|
|
14
|
-
|
|
15
|
-
- **Groups.** `fling groups` lists the groups of people on a Fling (`--mine`: yours), and `show`,
|
|
16
|
-
`create`, `add`, `remove`, `rename` and `delete` manage them. Anyone can see a group and use it;
|
|
17
|
-
only its owner can change it. `fling access <name> --group <slugs>` / `--remove-group` put groups
|
|
18
|
-
in a site's audience. The MCP tools `fling_groups`, `fling_group_show`, `fling_group_create`,
|
|
19
|
-
`fling_group_members`, `fling_group_rename` and `fling_group_delete` do the same on a Fling with
|
|
20
|
-
the `groups` capability, and `fling_set_audience` takes `addGroups`, `removeGroups` and
|
|
21
|
-
`setGroups`. A site's `audience.groups` is `[{ slug, name, size }]`, and sites carry
|
|
22
|
-
`audienceGroups`.
|
|
23
|
-
- `fling access <name>` shows who can open a private site and, with `--add`, `--remove` or
|
|
24
|
-
`--clear`, limits it to listed people (its audience) or opens it to everyone signed in again.
|
|
25
|
-
It warns while a share link still opens a restricted site, and when the site is public (the
|
|
26
|
-
audience applies once it is private). `fling info` shows the same line.
|
|
27
|
-
- The MCP tool `fling_set_audience` (`add`, `remove`, `set`, `clear`) does the same, on a Fling
|
|
28
|
-
that has the `audiences` capability, and `fling_info` says who can open the site.
|
|
29
|
-
- Sites in `--json` output carry `restricted` (private with an audience) and `audienceSize`;
|
|
30
|
-
`fling info --json` adds the `audience` itself.
|
|
31
|
-
- `fling ls` lists the last updated site first. `--sort updated|created|name` picks the order
|
|
32
|
-
(`created`: newest first; `name`: A–Z). The MCP tool `fling_list` takes the same `sort`.
|
|
33
|
-
|
|
34
|
-
## 0.5.1
|
|
35
|
-
|
|
36
|
-
- `fling comments` shows the text a thread is pinned to (`> …` under its header), when a reviewer
|
|
37
|
-
pinned it by selecting text in review mode. The MCP tools return it as the anchor's `quote`.
|
|
38
|
-
|
|
39
|
-
## 0.5.0
|
|
40
|
-
|
|
41
|
-
- **One MCP server for every Fling.** The local MCP server (`fling mcp` and the Claude Desktop
|
|
42
|
-
extension) knows every Fling the CLI remembers. Every tool that talks to a Fling takes an
|
|
43
|
-
optional `server` (an address, host or unique part of it), and calls use that Fling's own key.
|
|
44
|
-
An unknown or ambiguous `server` fails with the list of Flings.
|
|
45
|
-
- **The server is chosen explicitly when there are several.** With one Fling (or none) nothing
|
|
46
|
-
changes: calls go to it. With several, the instructions and tool descriptions list them by host
|
|
47
|
-
and mark the current one, and tell Claude to settle at the start of a conversation which Fling it
|
|
48
|
-
uses (from your words, or by asking you, suggesting your current one), say so, and pass it as
|
|
49
|
-
`server` on every call. A call without `server`, reads included, doesn't run: it answers with the
|
|
50
|
-
list so Claude can ask. `fling mcp --server` and `FLING_URL` still pin one. The CLI's commands
|
|
51
|
-
are unchanged and follow `fling use`.
|
|
52
|
-
- `fling_servers` lists the Flings on this computer (address, name, who is signed in, which is
|
|
53
|
-
current), read when called; `{use: <server>}` makes one current, as `fling use` does.
|
|
54
|
-
- `fling_login` takes `server` to sign in to another Fling, including a new one. It becomes the
|
|
55
|
-
current Fling only when none is.
|
|
56
|
-
- Deploy, publish and comment results end with the Fling they went to.
|
|
57
|
-
- **One extension.** The extension has the same identity whichever Fling serves it, so installing
|
|
58
|
-
it from another Fling updates it in place. The address a Fling bakes in (`FLING_MCPB_SERVER_URL`
|
|
59
|
-
at build time, `FLING_ADD_SERVER` in the extension) is added to the remembered Flings when the
|
|
60
|
-
server starts, if it isn't there yet; it never replaces a stored key and becomes current only
|
|
61
|
-
when none is. The extension's **Fling server** setting is gone.
|
|
62
|
-
- Upgrading: remove older Fling extensions from Claude Desktop (Settings → Extensions), then
|
|
63
|
-
install it once from any of your Flings. Earlier extensions were each tied to one Fling.
|
|
64
|
-
|
|
65
|
-
## 0.4.0
|
|
66
|
-
|
|
67
|
-
- **Several Flings.** The CLI remembers every Fling you sign in to, each with its own API key, and
|
|
68
|
-
uses the current one. `fling login <url>` and `fling setup <url>` add a Fling (or refresh its
|
|
69
|
-
login) and make it current without signing you out of the others. `fling use` lists them, with
|
|
70
|
-
each one's name and your email; `fling use <url>` switches (a full address, its host or the start
|
|
71
|
-
of it). `fling logout <url>` signs out of another Fling and forgets it; a bare `fling logout`
|
|
72
|
-
still removes the current Fling's key and keeps the Fling. `fling whoami` shows which Fling is
|
|
73
|
-
current.
|
|
74
|
-
- `--server` and `FLING_URL` pick a remembered Fling for one command and use its stored key (an
|
|
75
|
-
address you haven't signed in to has no key; `FLING_API_KEY` still overrides). The local MCP
|
|
76
|
-
server uses the current Fling unless `FLING_URL` (the Claude Desktop extension's **Fling server**)
|
|
77
|
-
names one, and signing in from it makes that Fling current only when no other is.
|
|
78
|
-
- Upgrading: `~/.fling/config.json` from 0.3 is read as-is, as one remembered Fling that is
|
|
79
|
-
current. It is rewritten in the new shape (`current` plus `servers`, keyed by address) the next
|
|
80
|
-
time the CLI saves it, so an older CLI can no longer read it after that.
|
|
81
|
-
|
|
82
|
-
## 0.3.0
|
|
83
|
-
|
|
84
|
-
**Breaking: no default server.** The CLI works with any Fling deployment, so it no longer has one
|
|
85
|
-
built in.
|
|
86
|
-
|
|
87
|
-
- `fling login <url>` (or `fling setup <url>`) signs in to the Fling at that address. The CLI
|
|
88
|
-
reads the server's `/.well-known/fling` (its name, sites domain, sign-in method) and remembers
|
|
89
|
-
both in `~/.fling/config.json`; later commands, and `fling login` without a URL, use them.
|
|
90
|
-
`FLING_URL` and `--server` still override it.
|
|
91
|
-
- Upgrading from 0.2: if you logged in with 0.2, nothing changes; the server you logged in to is
|
|
92
|
-
kept, and its metadata is fetched the first time it is needed. A config without a server (a new
|
|
93
|
-
machine, or a key set by hand) fails with `No Fling server set — run fling login <url> …`
|
|
94
|
-
instead of assuming a server.
|
|
95
|
-
- Site URLs shown before a deploy come from the server's metadata instead of being guessed from
|
|
96
|
-
the server URL.
|
|
97
|
-
- The local MCP server (`fling mcp`, the Claude Desktop extension) names your Fling and its sites
|
|
98
|
-
domain in its tool descriptions. The extension's **Fling server** setting has no built-in
|
|
99
|
-
default; the copy a Fling serves at `/downloads/fling.mcpb` has its address filled in.
|
|
100
|
-
- Comments: `fling comments`, `fling comment` (and `--reply`), `fling resolve`, `fling uncomment`;
|
|
101
|
-
the local MCP server gains `fling_comments_list`, `fling_comment_add`, `fling_comment_resolve`
|
|
102
|
-
and `fling_comment_delete` on an instance with the `comments` capability.
|
|
103
|
-
- On an instance with comments, a deploy (`fling deploy`, and the MCP server's `fling_deploy` and
|
|
104
|
-
`fling_publish`) also gives the review page, the link to share for feedback: in the output box,
|
|
105
|
-
as `reviewUrl` in `--json` and in the MCP result, where it leads.
|
|
106
|
-
|
|
107
|
-
## 0.2.0
|
|
108
|
-
|
|
109
|
-
`fling setup`, a new look, and help by default.
|