@plitzi/plitzi-builder 0.38.15 → 0.38.16
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/CHANGELOG.md +76 -0
- package/dist/modules/Collaboration/CollaborationHelper.d.ts +6 -1
- package/dist/modules/Collaboration/CollaborationHelper.test.d.ts +1 -0
- package/dist/modules/Collaboration/components/CollaboratorAvatar/CollaboratorAvatar.d.ts +5 -2
- package/dist/package.json.d.ts +1 -1
- package/dist/plitzi-builder.js +627 -627
- package/dist/plitzi-builder.js.gz +0 -0
- package/package.json +15 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,81 @@
|
|
|
1
1
|
# @plitzi/plitzi-builder
|
|
2
2
|
|
|
3
|
+
## 0.38.16
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 9cfdccb: ## Security
|
|
8
|
+
|
|
9
|
+
- **A site's credential reads nothing of the space over MCP** (`@plitzi/sdk-mcp`): the `render` token every published
|
|
10
|
+
page embeds — and a self-hosting `host` key — resolved to a grant naming the space, and the MCP served every read
|
|
11
|
+
under it: the unpublished draft, the change history with who made each change and every value before and after, the
|
|
12
|
+
functions' source, the space's private data, its action documents and connectors. Only an `agent` grant attaches a
|
|
13
|
+
space now; any other is a connection with no space (`plitzi_render` and the public guides), told so in the words
|
|
14
|
+
`NO_SPACE_ATTACHED` already uses. A deployment whose `getGrant` answered other scopes for reading must issue agent
|
|
15
|
+
grants for them.
|
|
16
|
+
|
|
17
|
+
## Agents
|
|
18
|
+
- **`plitzi space watch`** (`@plitzi/cli`): the space read again on every save of `src/space/`, `src/plugins/`,
|
|
19
|
+
`src/data/` or `public/data/`, and only what changed said — what the save did to the space element by element, the
|
|
20
|
+
findings and warnings it brought and fixed (one that only moved down its file is the same one), a save that changed
|
|
21
|
+
nothing, or that the space stopped authoring and why. `--json` is one event a line (`ready`, `pass`, `refused`,
|
|
22
|
+
`error`), for an agent to run in the background instead of `author` and `space lint` after every edit. Each pass reads
|
|
23
|
+
the space in a process of its own (`space watch-pass`, hidden). `space lint`'s reading is `spaceFindings`, shared.
|
|
24
|
+
- **A space's activity, followed** (`@plitzi/sdk-shared`, `@plitzi/sdk-mcp`, `@plitzi/cli`): what happened on a space
|
|
25
|
+
after a cursor — its draft changed (a person in the builder, an agent, the autofix), a version went out, a server
|
|
26
|
+
action failed or was refused — and, with nothing yet, waited for, up to 50 s. One vocabulary,
|
|
27
|
+
`@plitzi/sdk-shared/activity` (`SpaceActivity`, `SpaceActivityPage`, `activityLine`, `isSpaceActivityPage`, the
|
|
28
|
+
limits); the reader's own writes left out and counted (`skippedMine`), `mine` keeps them.
|
|
29
|
+
- **`plitzi_activity { after, wait, limit, mine }`** (`@plitzi/sdk-mcp`), on the new `getActivity` adapter
|
|
30
|
+
(`SSRAdapters`). The listing budget is 78k (was 77k) for it.
|
|
31
|
+
- **`plitzi space activity [--follow] [--after <cursor>] [--mine] [--limit <n>] [--json]`** (`@plitzi/cli`), over
|
|
32
|
+
the platform's `GET /spaces/:spaceId/activity`; `--follow` stays, one page a line with `--json`, and asks again
|
|
33
|
+
when the platform does not answer.
|
|
34
|
+
- **The people in the builder see the agent work** (`@plitzi/sdk-server`, `@plitzi/sdk-shared`, `@plitzi/sdk-mcp`,
|
|
35
|
+
`@plitzi/plitzi-builder`): an agent grant carries the application the member connected (`Grant.client`,
|
|
36
|
+
`StoredSpaceToken.client`, `SSRGrant.client`), and every MCP write `SSRWriteContext.client` — the history's
|
|
37
|
+
`client` for an agent, which was never set. A collaborator may be an agent (`SubscriptionCollaborator.agent`): the
|
|
38
|
+
builder draws it as a robot, names it `Claude · for ana` (`collaboratorTitle`) in the header, on the canvas and in
|
|
39
|
+
its notices. The deployment announces it — Plitzi's joins it on a write, selects what it changed, and lets it go
|
|
40
|
+
after a minute of nothing. `activityLine` names it the same way (`Claude for ana over the MCP, …`), so
|
|
41
|
+
`plitzi space activity` says which application wrote.
|
|
42
|
+
- A tool may declare `documents: false` (`ToolSpec`): the host loads none of the space for it, and passes the call's
|
|
43
|
+
abort signal through `ToolContext.activity`.
|
|
44
|
+
|
|
45
|
+
## Authoring
|
|
46
|
+
- **A file that does not parse is said at its line under any loader** (`@plitzi/sdk-authoring`): `moduleProblem` read
|
|
47
|
+
the first line of the error, and an esbuild transform (tsx, vitest) puts only `Transform failed with 1 error:` there
|
|
48
|
+
— the file, line and what is wrong are on the next. A line of the message that points at a file of the project is
|
|
49
|
+
now the problem (`src/space/hero.ts:139: Expected "}" but found ";"`), the project's root matched as given and as it
|
|
50
|
+
is on disk (`/var/…` and `/private/var/…` on macOS).
|
|
51
|
+
|
|
52
|
+
## Testing
|
|
53
|
+
- **`unusedPort` is chosen where the system never hands one out** (`@plitzi/sdk-server`): it answered a port the system
|
|
54
|
+
had just handed out (`listen(0)`), from the ephemeral range every outgoing connection takes its local port from — so
|
|
55
|
+
another worker's request could take it before the test listened, and CI failed `runtime.test.ts` with `EADDRINUSE`
|
|
56
|
+
(the page server then ends the process). It is a free port below that range now, at random, checked first.
|
|
57
|
+
|
|
58
|
+
## Docs
|
|
59
|
+
- **A self-hosted runtime's endpoints go in `data`**, as 0.38.15 moved them: `docs/en/runtimes.md`, the
|
|
60
|
+
`10-runtime` example and the website still put `served.stage` in `preAuth`, before the cross-site guard.
|
|
61
|
+
- New: `docs/en/activity.md`; `space watch` in `docs/en/agent-tooling.md`'s loop; the CLI README, the CLI skill, the
|
|
62
|
+
generated project's `AGENTS.md`, the MCP guide and README.
|
|
63
|
+
|
|
64
|
+
- Updated dependencies [9cfdccb]
|
|
65
|
+
- @plitzi/plitzi-sdk@0.38.16
|
|
66
|
+
- @plitzi/sdk-auth@0.38.16
|
|
67
|
+
- @plitzi/sdk-authoring@0.38.16
|
|
68
|
+
- @plitzi/sdk-dev-tools@0.38.16
|
|
69
|
+
- @plitzi/sdk-elements@0.38.16
|
|
70
|
+
- @plitzi/sdk-event-bridge@0.38.16
|
|
71
|
+
- @plitzi/sdk-interactions@0.38.16
|
|
72
|
+
- @plitzi/sdk-navigation@0.38.16
|
|
73
|
+
- @plitzi/sdk-plugins@0.38.16
|
|
74
|
+
- @plitzi/sdk-schema@0.38.16
|
|
75
|
+
- @plitzi/sdk-shared@0.38.16
|
|
76
|
+
- @plitzi/sdk-style@0.38.16
|
|
77
|
+
- @plitzi/sdk-variables@0.38.16
|
|
78
|
+
|
|
3
79
|
## 0.38.15
|
|
4
80
|
|
|
5
81
|
### Patch Changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SubscriptionCollaboratorElementState } from '@plitzi/sdk-shared';
|
|
1
|
+
import { SubscriptionCollaborator, SubscriptionCollaboratorElementState } from '@plitzi/sdk-shared';
|
|
2
2
|
/**
|
|
3
3
|
* The coordinate protocol between collaborators, both ends of it in one place.
|
|
4
4
|
*
|
|
@@ -51,3 +51,8 @@ declare const resolveElementState: (elementState: SubscriptionCollaboratorElemen
|
|
|
51
51
|
selected: string | undefined;
|
|
52
52
|
};
|
|
53
53
|
export { collaboratorAnchorSelector, readCursorAnchor, resolveCursorPosition, resolveElementState };
|
|
54
|
+
/**
|
|
55
|
+
* What a collaborator is called on the canvas, in the header and in the notices: a person by their name, an agent by
|
|
56
|
+
* its application and whom it works for (`Claude · for ana`).
|
|
57
|
+
*/
|
|
58
|
+
export declare const collaboratorTitle: ({ user, agent }: Pick<SubscriptionCollaborator, "user" | "agent">) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,7 +4,10 @@ export type CollaboratorAvatarProps = {
|
|
|
4
4
|
color?: string;
|
|
5
5
|
firstName: string;
|
|
6
6
|
surName: string;
|
|
7
|
+
/** An agent writing over the MCP: drawn as one, not as a person's initials. */
|
|
8
|
+
agent?: boolean;
|
|
9
|
+
title?: string;
|
|
7
10
|
};
|
|
8
|
-
/** The collaborator's initials in their presence color, as shown in the app header. */
|
|
9
|
-
declare const CollaboratorAvatar: ({ ref, color, firstName, surName }: CollaboratorAvatarProps) => import('react').JSX.Element;
|
|
11
|
+
/** The collaborator's initials in their presence color, as shown in the app header — or, for an agent, a robot. */
|
|
12
|
+
declare const CollaboratorAvatar: ({ ref, color, firstName, surName, agent, title }: CollaboratorAvatarProps) => import('react').JSX.Element;
|
|
10
13
|
export default CollaboratorAvatar;
|