@1agh/maude 0.53.1 → 0.54.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/apps/studio/api.ts +13 -7
- package/apps/studio/bin/screenshot.sh +173 -17
- package/apps/studio/build.ts +37 -3
- package/apps/studio/canvas-build-sandbox.ts +385 -0
- package/apps/studio/canvas-build-worker.ts +85 -0
- package/apps/studio/client/app.jsx +308 -21
- package/apps/studio/client/canvas-url.js +7 -0
- package/apps/studio/client/export-center.jsx +10 -2
- package/apps/studio/client/panels/SettingsPanel.jsx +37 -12
- package/apps/studio/client/report-bug.jsx +125 -30
- package/apps/studio/client/styles/4-components-maude.css +5 -0
- package/apps/studio/client/styles/4-components.css +75 -0
- package/apps/studio/cloud-build.ts +208 -0
- package/apps/studio/collab/room.ts +43 -7
- package/apps/studio/context.ts +12 -5
- package/apps/studio/dist/client.bundle.js +910 -910
- package/apps/studio/dist/comment-mount.js +2 -2
- package/apps/studio/dist/styles.css +1 -1
- package/apps/studio/git/repo-lock.ts +305 -0
- package/apps/studio/git/service.ts +171 -21
- package/apps/studio/http.ts +383 -31
- package/apps/studio/inspect.ts +66 -6
- package/apps/studio/paths.ts +8 -0
- package/apps/studio/server.ts +216 -53
- package/apps/studio/session-scope.ts +101 -0
- package/apps/studio/sync/autocommit.ts +84 -46
- package/apps/studio/sync/index.ts +20 -0
- package/apps/studio/test/canvas-build-sandbox.test.ts +69 -0
- package/apps/studio/test/canvas-origin-gate.test.ts +66 -0
- package/apps/studio/test/canvas-shell-base.test.ts +107 -0
- package/apps/studio/test/canvas-url.test.ts +26 -0
- package/apps/studio/test/cloud-build.test.ts +95 -0
- package/apps/studio/test/cloud-session-role.test.ts +131 -0
- package/apps/studio/test/cloud-shell-surfaces.test.ts +119 -0
- package/apps/studio/test/collab-readonly-gate.test.ts +194 -0
- package/apps/studio/test/config-projection.test.ts +104 -0
- package/apps/studio/test/git-system-engine.test.ts +135 -0
- package/apps/studio/test/read-only-gate.test.ts +58 -0
- package/apps/studio/test/repo-concurrency.test.ts +146 -0
- package/apps/studio/test/repo-lock.test.ts +350 -0
- package/apps/studio/test/server-lifecycle.test.ts +11 -1
- package/apps/studio/test/session-runtime-state.test.ts +226 -0
- package/apps/studio/test/session-scope.test.ts +100 -0
- package/apps/studio/test/shell-importmap.test.ts +8 -1
- package/apps/studio/test/sync-autocommit.test.ts +76 -0
- package/apps/studio/test/sync-hardening.test.ts +75 -0
- package/apps/studio/test/workspace-containment.test.ts +90 -11
- package/apps/studio/use-collab.tsx +21 -1
- package/apps/studio/whats-new.json +47 -2
- package/apps/studio/workspace-mode.ts +161 -28
- package/apps/studio/ws.ts +74 -8
- package/cli/commands/kg.mjs +49 -19
- package/cli/lib/gitignore-block.mjs +3 -0
- package/package.json +11 -9
- package/plugins/design/dependencies.json +1 -1
- package/plugins/design/templates/_shell.html +66 -32
- package/plugins/flow/.claude-plugin/config.schema.json +1 -1
- package/plugins/flow/dependencies.json +1 -1
package/apps/studio/context.ts
CHANGED
|
@@ -115,16 +115,23 @@ export interface Paths {
|
|
|
115
115
|
|
|
116
116
|
// Tiny pub-sub bus. Lazy — modules subscribe with on('selected', fn) and emit
|
|
117
117
|
// the matching event. Avoids cycling imports between inspect.ts <-> ws.ts.
|
|
118
|
+
/** Who an event is about, when that matters — Cloud Phase 27 D3. A `session`
|
|
119
|
+
* scopes a broadcast to one member of a cell; absent means everyone, which is
|
|
120
|
+
* every event this bus carried before and every event on a desktop. */
|
|
121
|
+
export interface BusMeta {
|
|
122
|
+
session?: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
118
125
|
export interface Bus {
|
|
119
126
|
// biome-ignore lint/suspicious/noExplicitAny: heterogeneous pubsub — subscribers annotate their own payload shape.
|
|
120
|
-
on(evt: string, fn: (payload: any) => void): () => void;
|
|
127
|
+
on(evt: string, fn: (payload: any, meta?: BusMeta) => void): () => void;
|
|
121
128
|
// biome-ignore lint/suspicious/noExplicitAny: heterogeneous pubsub — emitters supply their own payload shape.
|
|
122
|
-
emit(evt: string, payload?: any): void;
|
|
129
|
+
emit(evt: string, payload?: any, meta?: BusMeta): void;
|
|
123
130
|
}
|
|
124
131
|
|
|
125
132
|
export function createBus(): Bus {
|
|
126
133
|
// biome-ignore lint/suspicious/noExplicitAny: subscribers are typed at the call site; the bus stores the erased type.
|
|
127
|
-
const subs = new Map<string, Set<(p: any) => void>>();
|
|
134
|
+
const subs = new Map<string, Set<(p: any, meta?: BusMeta) => void>>();
|
|
128
135
|
return {
|
|
129
136
|
on(evt, fn) {
|
|
130
137
|
const set = subs.get(evt) ?? new Set();
|
|
@@ -132,12 +139,12 @@ export function createBus(): Bus {
|
|
|
132
139
|
subs.set(evt, set);
|
|
133
140
|
return () => set.delete(fn);
|
|
134
141
|
},
|
|
135
|
-
emit(evt, payload) {
|
|
142
|
+
emit(evt, payload, meta) {
|
|
136
143
|
const set = subs.get(evt);
|
|
137
144
|
if (!set) return;
|
|
138
145
|
for (const fn of set) {
|
|
139
146
|
try {
|
|
140
|
-
fn(payload);
|
|
147
|
+
fn(payload, meta);
|
|
141
148
|
} catch (err) {
|
|
142
149
|
console.error(`[bus] subscriber for ${evt} threw:`, err);
|
|
143
150
|
}
|