studiograph 1.3.48-next.151 → 1.3.48-next.152

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 (66) hide show
  1. package/dist/agent/tools/graph-tools.js +24 -47
  2. package/dist/agent/tools/graph-tools.js.map +1 -1
  3. package/dist/core/graph.d.ts +24 -66
  4. package/dist/core/graph.js +47 -76
  5. package/dist/core/graph.js.map +1 -1
  6. package/dist/core/workspace-manager.d.ts +17 -7
  7. package/dist/core/workspace-manager.js +31 -13
  8. package/dist/core/workspace-manager.js.map +1 -1
  9. package/dist/mcp/tools.js +16 -103
  10. package/dist/mcp/tools.js.map +1 -1
  11. package/dist/server/body-write-coordinator.d.ts +109 -0
  12. package/dist/server/body-write-coordinator.js +159 -0
  13. package/dist/server/body-write-coordinator.js.map +1 -0
  14. package/dist/server/index.js +10 -30
  15. package/dist/server/index.js.map +1 -1
  16. package/dist/services/entity-mutations.d.ts +91 -0
  17. package/dist/services/entity-mutations.js +142 -0
  18. package/dist/services/entity-mutations.js.map +1 -0
  19. package/dist/web/_app/immutable/chunks/{BpDsJt5A.js → B4GeChdr.js} +1 -1
  20. package/dist/web/_app/immutable/chunks/{CboE6caH.js → BETexJEo.js} +1 -1
  21. package/dist/web/_app/immutable/chunks/{BkNX_Twa.js → BIKuXIys.js} +3 -3
  22. package/dist/web/_app/immutable/chunks/{DOLCBtWg2.js → BIbpODkv2.js} +1 -1
  23. package/dist/web/_app/immutable/chunks/{D426pT9h2.js → BLCjfe2G2.js} +1 -1
  24. package/dist/web/_app/immutable/chunks/{C8zUrBNT.js → BLfmufb5.js} +1 -1
  25. package/dist/web/_app/immutable/chunks/{CLFLVu4E.js → BuD9NUs0.js} +1 -1
  26. package/dist/web/_app/immutable/chunks/{BzSYRjK02.js → C-qdFB7B2.js} +1 -1
  27. package/dist/web/_app/immutable/chunks/C6ulkM1e.js +1 -0
  28. package/dist/web/_app/immutable/chunks/{BnQoXgWh.js → CLHg6z39.js} +1 -1
  29. package/dist/web/_app/immutable/chunks/{Di5Q957p2.js → CYRgwABC2.js} +1 -1
  30. package/dist/web/_app/immutable/chunks/{tfUe-C9j2.js → CgYhJLA32.js} +1 -1
  31. package/dist/web/_app/immutable/chunks/{B66c84qs.js → CiT5n28e.js} +1 -1
  32. package/dist/web/_app/immutable/chunks/ClF-5nQ0.js +1 -0
  33. package/dist/web/_app/immutable/chunks/{BVICussD2.js → DCYuyxGC2.js} +1 -1
  34. package/dist/web/_app/immutable/chunks/{CiUoDrBV2.js → DQVMJnKy2.js} +1 -1
  35. package/dist/web/_app/immutable/chunks/{DUv9zgkq.js → DYBX1Pjj.js} +1 -1
  36. package/dist/web/_app/immutable/chunks/{CvhAoTmc2.js → DtkZAOW42.js} +1 -1
  37. package/dist/web/_app/immutable/chunks/{Ciu2ItGu2.js → Du3Sa3Kb2.js} +2 -2
  38. package/dist/web/_app/immutable/chunks/{BVQaWiGS.js → DuoHR8YE.js} +1 -1
  39. package/dist/web/_app/immutable/chunks/{ZeBd8OsK.js → KKu176Tm.js} +1 -1
  40. package/dist/web/_app/immutable/chunks/{DDw_A9d6.js → V-EmvTZA.js} +1 -1
  41. package/dist/web/_app/immutable/chunks/{DFjQOvZL2.js → fOJzgQL-2.js} +1 -1
  42. package/dist/web/_app/immutable/chunks/{BoeFTT_5.js → kU-j6fFg.js} +1 -1
  43. package/dist/web/_app/immutable/chunks/{C571A3Sm.js → l8ukJXxg.js} +1 -1
  44. package/dist/web/_app/immutable/chunks/{CxO1mcHD.js → oSSUEEiB.js} +1 -1
  45. package/dist/web/_app/immutable/entry/{app.CgoXMzXI.js → app.C0NdGli7.js} +2 -2
  46. package/dist/web/_app/immutable/entry/start.CdAt1Hl7.js +1 -0
  47. package/dist/web/_app/immutable/nodes/{0.LTi5hotg.js → 0.DRvW9XkK.js} +2 -2
  48. package/dist/web/_app/immutable/nodes/{1.IRYnOo6X.js → 1.Bs4-DC48.js} +1 -1
  49. package/dist/web/_app/immutable/nodes/{10.BkTMANqn.js → 10.WIl6Ic00.js} +1 -1
  50. package/dist/web/_app/immutable/nodes/{11.Bj5rXaSR.js → 11.B3TD7p7u.js} +1 -1
  51. package/dist/web/_app/immutable/nodes/{12.ByWL3w5m.js → 12.D-ripQ5w.js} +1 -1
  52. package/dist/web/_app/immutable/nodes/{13.JlLNmaxo.js → 13.CNByaHmv.js} +1 -1
  53. package/dist/web/_app/immutable/nodes/{2.Bsjl0f2f.js → 2.CFJxImHu.js} +4 -4
  54. package/dist/web/_app/immutable/nodes/{3.BxZjouAw.js → 3.DNDwjY_1.js} +1 -1
  55. package/dist/web/_app/immutable/nodes/{4.6wITDE05.js → 4.CtgIBlsC.js} +2 -2
  56. package/dist/web/_app/immutable/nodes/{5.E5adgwiX.js → 5.DLCCQrrM.js} +1 -1
  57. package/dist/web/_app/immutable/nodes/{6.FCKSchCd.js → 6.BwyZLLPM.js} +1 -1
  58. package/dist/web/_app/immutable/nodes/{7.CdAqOgSZ.js → 7.BqtH3ykP.js} +1 -1
  59. package/dist/web/_app/immutable/nodes/{8.BqNOx-jt.js → 8.2zeOEHxw.js} +1 -1
  60. package/dist/web/_app/immutable/nodes/{9.Ca8tvV6U.js → 9.ThYXCOh9.js} +1 -1
  61. package/dist/web/_app/version.json +1 -1
  62. package/dist/web/index.html +12 -12
  63. package/package.json +1 -1
  64. package/dist/web/_app/immutable/chunks/BzU_SVAW.js +0 -1
  65. package/dist/web/_app/immutable/chunks/CCSegW3v.js +0 -1
  66. package/dist/web/_app/immutable/entry/start.CTVVykOg.js +0 -1
@@ -47,6 +47,7 @@ import { registerWsRoute } from './routes/ws.js';
47
47
  import { SessionManager } from './session-manager.js';
48
48
  import { YjsManager } from './yjs-manager.js';
49
49
  import { YjsPersistence, acquireYjsStateLock } from './yjs-persistence.js';
50
+ import { BodyWriteCoordinator } from './body-write-coordinator.js';
50
51
  import { ensurePersonalFolder } from '../services/personal-folder.js';
51
52
  /** Ensure every user has a personal "My Entries" folder + admin access on it (idempotent). */
52
53
  async function ensureAllPersonalFolders(authService, workspacePath, workspaceManager) {
@@ -426,40 +427,19 @@ export async function createServer(config) {
426
427
  // and its docName), so the snapshot file has to move with it. Without
427
428
  // these hooks, snapshots leak (orphaned files for deleted entities) or
428
429
  // serve stale state at the new identity (ghost content after a rename).
429
- config.workspaceManager.setGraphMutationCallbacks({
430
+ config.workspaceManager.setPersistenceCallbacks({
430
431
  onDelete: (repo, entityType, entityId) => yjsPersistence.delete(`${repo}/${entityType}/${entityId}`),
431
432
  onRename: (repo, entityType, oldId, newId) => yjsPersistence.rename(`${repo}/${entityType}/${oldId}`, `${repo}/${entityType}/${newId}`),
432
433
  onChangeType: (repo, entityId, fromType, toType) => yjsPersistence.rename(`${repo}/${fromType}/${entityId}`, `${repo}/${toType}/${entityId}`),
433
- // Update the live Y.Doc entry's mdRevisionHash whenever .md is written.
434
- // Keeps the persistence snapshot's metadata in sync with disk on every
435
- // path (autosave + server-write).
436
- onBodyWritten: (repo, entityType, entityId, body) => yjsManager.recordDiskBody(`${repo}/${entityType}/${entityId}`, body),
437
- // Fail-closed guard: refuse server-side body writes when broadcast is
438
- // disabled and the doc has live editors. Throws
439
- // BroadcastDisabledLiveClientsError. Bypassed for autosave path inside
440
- // graph.update.
441
- assertWritable: (repo, entityType, entityId) => yjsManager.assertWritable(`${repo}/${entityType}/${entityId}`),
442
- // Apply server-write target body to the live Y.Doc after disk + commit
443
- // have landed. Returns 'no-doc' / 'unseeded' when no live editor —
444
- // caller's disk write is the only side effect. On 'ok', diff is
445
- // broadcast to all connected clients via the broadcast observer
446
- // (origin 'server-agent-write' is allowlisted). Autosave does NOT
447
- // trigger this — its content originated in the live Y.Doc.
448
- applyAgentContent: (repo, entityType, entityId, body) => yjsManager.applyAgentContent(`${repo}/${entityType}/${entityId}`, body).applied,
449
- // Per-doc lock for the body-write critical section. graph.update
450
- // acquires this for every body write. Inside the lock, inbound client
451
- // MSG_SYNC frames for the same doc are queued and applied after the
452
- // lock releases (see yjsManager.handleMessage). Closes the Codex
453
- // pass-3 #1 keystroke-deletion race.
454
- withDocLock: (repo, entityType, entityId, fn) => yjsManager.withDocLock(`${repo}/${entityType}/${entityId}`, fn),
455
- // Register the dirty file with sessionManager so the existing dirty-
456
- // flush retry has a chance to recover. graph.update still throws
457
- // CommitFailedDirtyError to the caller — this is additive bookkeeping,
458
- // not error suppression.
459
- onCommitFailedDirty: sessionManager
460
- ? (repo, entityType, entityId, path, user) => sessionManager.markDirty(repo, user, entityType, entityId, path)
461
- : undefined,
462
434
  });
435
+ // Body-write coordinator owns the single critical section for every body
436
+ // write (autosave PUT + MCP / agent / event-processor server-writes). Holds
437
+ // the per-doc lock, base-hash precondition, atomic disk write, commit +
438
+ // dirty recovery, post-commit applyAgentContent broadcast, and
439
+ // mdRevisionHash bookkeeping. Replaces the previous nine-callback shape on
440
+ // graph.update.
441
+ const bodyWriteCoordinator = new BodyWriteCoordinator(config.workspaceManager, yjsManager, sessionManager);
442
+ config.workspaceManager.setBodyWriteCoordinator(bodyWriteCoordinator);
463
443
  // Register auth API routes (before the auth hook so they are always accessible)
464
444
  await registerAuthApiRoutes(fastify, authService, config.workspacePath, config.workspaceManager, config.workspaceConfig.team_name);
465
445
  // Auth hook — applied to all routes
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Shared payload preparation for `create_entity` / `update_entity` across
3
+ * the MCP surface ([src/mcp/tools.ts](../mcp/tools.ts)) and the agent surface
4
+ * ([src/agent/tools/graph-tools.ts](../agent/tools/graph-tools.ts)).
5
+ *
6
+ * Owns:
7
+ * - Actor identity build (`buildActor`).
8
+ * - Base-field auto-stamping for create (`stampCreateBaseFields`).
9
+ * - Person.status synonym normalization (`normalizePersonStatus`).
10
+ * - Two composers (`prepareCreatePayload`, `prepareUpdatePayload`) that
11
+ * return ready-to-pass options for `graph.create` / `graph.update`.
12
+ *
13
+ * Does NOT own surface-specific concerns: MCP keeps its allowlist check,
14
+ * `withAgentActivity` chip wiring, `emitEntityChange` broadcast, and rich
15
+ * diagnostics; the agent keeps its content sanitiser, workspace dedup
16
+ * warning, eager-skill permission gate, user_handle bridge checks, and
17
+ * `onMutation` / `onAgentActivity` callbacks.
18
+ *
19
+ * Errors from `graph.update` — including `LiveEditorPendingError` from the
20
+ * Phase 2 server-write live-typing guard — propagate through the composers
21
+ * unchanged; callers map them to their surface's error format.
22
+ */
23
+ import type { AuthUser } from './auth-service.js';
24
+ import type { GitUser } from './git.js';
25
+ import type { CreateEntityOptions, UpdateEntityOptions } from '../core/graph.js';
26
+ import type { EntityType } from '../core/validation.js';
27
+ /**
28
+ * Person.status accepts only `current` | `former` per PersonSchema, but
29
+ * real-world payloads from external agents carry many synonyms. Map them
30
+ * to canonical before validation rejects the call. Unknown values fall
31
+ * through unchanged so validation surfaces them loudly.
32
+ *
33
+ * On create: defaults missing status to `current`.
34
+ * On update: only normalises when status is supplied — don't fabricate a
35
+ * field the caller didn't ask to change.
36
+ */
37
+ export declare const PERSON_STATUS_ALIASES: Record<string, 'current' | 'former'>;
38
+ /**
39
+ * Build the git-author / audit-trail identity for an authenticated session.
40
+ * `handle` is the canonical id stamped into `created_by` / `updated_by` and
41
+ * used as the git author; falls back to `user-<id>` if a token from before
42
+ * the handle backfill is still in use.
43
+ *
44
+ * Surfaces that may run without an authenticated user (CLI, server-only
45
+ * automations, tests) should keep their existing orchestrator `GitUser` and
46
+ * pass it directly to the composers — `buildActor` requires an `AuthUser`.
47
+ */
48
+ export declare function buildActor(user: AuthUser): GitUser;
49
+ /**
50
+ * EntityBaseSchema requires entity_id, created_at, updated_at, created_by,
51
+ * and updated_by. External callers (Claude Desktop, Cursor, the agent)
52
+ * typically pass only type-specific data plus the top-level entity_id, so
53
+ * the helper seeds the rest rather than forcing every caller to know the
54
+ * convention. Caller-supplied values for created_at / created_by / etc.
55
+ * win; entity_id is always overwritten to match the top-level arg (it is
56
+ * the lookup key and cannot diverge from the filename).
57
+ */
58
+ export declare function stampCreateBaseFields(data: Record<string, unknown>, entityId: string, actorHandle: string): Record<string, unknown>;
59
+ export declare function normalizePersonStatus(data: Record<string, unknown>, isCreate: boolean): Record<string, unknown>;
60
+ export interface PrepareCreateInput {
61
+ entityType: EntityType;
62
+ entityId: string;
63
+ data: Record<string, unknown>;
64
+ content?: string;
65
+ folderPath?: string;
66
+ commitMessage?: string;
67
+ }
68
+ /**
69
+ * Compose the options for `graph.create`. Stamps base fields, mirrors
70
+ * `entity_id` from the top-level arg into frontmatter, normalises
71
+ * `person.status` synonyms, and threads the actor through as the git
72
+ * commit author. The caller still owns access checks, allowlist
73
+ * enforcement, content sanitisation, and broadcast/chip wiring.
74
+ */
75
+ export declare function prepareCreatePayload(input: PrepareCreateInput, actor: GitUser): CreateEntityOptions;
76
+ export interface PrepareUpdateInput {
77
+ entityType: EntityType;
78
+ entityId: string;
79
+ data?: Record<string, unknown>;
80
+ content?: string;
81
+ commitMessage?: string;
82
+ }
83
+ /**
84
+ * Compose the options for `graph.update`. Mirrors `entity_id` from the
85
+ * top-level arg into frontmatter (defensive against callers that pass a
86
+ * disagreeing value), normalises `person.status` synonyms when status is
87
+ * supplied, and declares `source: 'server-write'` whenever content is
88
+ * present so the body-write path engages the per-doc lock + live-editor
89
+ * guard. `graph.update` re-stamps `updated_at` / `updated_by` itself.
90
+ */
91
+ export declare function prepareUpdatePayload(input: PrepareUpdateInput, actor: GitUser): UpdateEntityOptions;
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Shared payload preparation for `create_entity` / `update_entity` across
3
+ * the MCP surface ([src/mcp/tools.ts](../mcp/tools.ts)) and the agent surface
4
+ * ([src/agent/tools/graph-tools.ts](../agent/tools/graph-tools.ts)).
5
+ *
6
+ * Owns:
7
+ * - Actor identity build (`buildActor`).
8
+ * - Base-field auto-stamping for create (`stampCreateBaseFields`).
9
+ * - Person.status synonym normalization (`normalizePersonStatus`).
10
+ * - Two composers (`prepareCreatePayload`, `prepareUpdatePayload`) that
11
+ * return ready-to-pass options for `graph.create` / `graph.update`.
12
+ *
13
+ * Does NOT own surface-specific concerns: MCP keeps its allowlist check,
14
+ * `withAgentActivity` chip wiring, `emitEntityChange` broadcast, and rich
15
+ * diagnostics; the agent keeps its content sanitiser, workspace dedup
16
+ * warning, eager-skill permission gate, user_handle bridge checks, and
17
+ * `onMutation` / `onAgentActivity` callbacks.
18
+ *
19
+ * Errors from `graph.update` — including `LiveEditorPendingError` from the
20
+ * Phase 2 server-write live-typing guard — propagate through the composers
21
+ * unchanged; callers map them to their surface's error format.
22
+ */
23
+ /**
24
+ * Person.status accepts only `current` | `former` per PersonSchema, but
25
+ * real-world payloads from external agents carry many synonyms. Map them
26
+ * to canonical before validation rejects the call. Unknown values fall
27
+ * through unchanged so validation surfaces them loudly.
28
+ *
29
+ * On create: defaults missing status to `current`.
30
+ * On update: only normalises when status is supplied — don't fabricate a
31
+ * field the caller didn't ask to change.
32
+ */
33
+ export const PERSON_STATUS_ALIASES = {
34
+ current: 'current',
35
+ active: 'current',
36
+ prospective: 'current',
37
+ 'prospective-contact': 'current',
38
+ 'current-contact': 'current',
39
+ former: 'former',
40
+ 'former-contact': 'former',
41
+ inactive: 'former',
42
+ past: 'former',
43
+ };
44
+ /**
45
+ * Build the git-author / audit-trail identity for an authenticated session.
46
+ * `handle` is the canonical id stamped into `created_by` / `updated_by` and
47
+ * used as the git author; falls back to `user-<id>` if a token from before
48
+ * the handle backfill is still in use.
49
+ *
50
+ * Surfaces that may run without an authenticated user (CLI, server-only
51
+ * automations, tests) should keep their existing orchestrator `GitUser` and
52
+ * pass it directly to the composers — `buildActor` requires an `AuthUser`.
53
+ */
54
+ export function buildActor(user) {
55
+ const handle = user.handle || `user-${user.id}`;
56
+ return {
57
+ id: handle,
58
+ name: user.displayName || handle,
59
+ email: `${handle}@studiograph.local`,
60
+ };
61
+ }
62
+ /**
63
+ * EntityBaseSchema requires entity_id, created_at, updated_at, created_by,
64
+ * and updated_by. External callers (Claude Desktop, Cursor, the agent)
65
+ * typically pass only type-specific data plus the top-level entity_id, so
66
+ * the helper seeds the rest rather than forcing every caller to know the
67
+ * convention. Caller-supplied values for created_at / created_by / etc.
68
+ * win; entity_id is always overwritten to match the top-level arg (it is
69
+ * the lookup key and cannot diverge from the filename).
70
+ */
71
+ export function stampCreateBaseFields(data, entityId, actorHandle) {
72
+ const now = new Date().toISOString();
73
+ return {
74
+ created_at: now,
75
+ updated_at: now,
76
+ created_by: actorHandle,
77
+ updated_by: actorHandle,
78
+ ...data,
79
+ entity_id: entityId,
80
+ };
81
+ }
82
+ export function normalizePersonStatus(data, isCreate) {
83
+ const raw = data.status;
84
+ if (raw === undefined || raw === null || raw === '') {
85
+ return isCreate ? { ...data, status: 'current' } : data;
86
+ }
87
+ if (typeof raw !== 'string')
88
+ return data;
89
+ const mapped = PERSON_STATUS_ALIASES[raw.toLowerCase()];
90
+ if (!mapped || mapped === raw)
91
+ return data;
92
+ return { ...data, status: mapped };
93
+ }
94
+ /**
95
+ * Compose the options for `graph.create`. Stamps base fields, mirrors
96
+ * `entity_id` from the top-level arg into frontmatter, normalises
97
+ * `person.status` synonyms, and threads the actor through as the git
98
+ * commit author. The caller still owns access checks, allowlist
99
+ * enforcement, content sanitisation, and broadcast/chip wiring.
100
+ */
101
+ export function prepareCreatePayload(input, actor) {
102
+ let data = stampCreateBaseFields(input.data, input.entityId, actor.id);
103
+ if (input.entityType === 'person') {
104
+ data = normalizePersonStatus(data, true);
105
+ }
106
+ return {
107
+ entityType: input.entityType,
108
+ entityId: input.entityId,
109
+ data: data,
110
+ content: input.content,
111
+ folderPath: input.folderPath,
112
+ commitMessage: input.commitMessage,
113
+ user: actor,
114
+ };
115
+ }
116
+ /**
117
+ * Compose the options for `graph.update`. Mirrors `entity_id` from the
118
+ * top-level arg into frontmatter (defensive against callers that pass a
119
+ * disagreeing value), normalises `person.status` synonyms when status is
120
+ * supplied, and declares `source: 'server-write'` whenever content is
121
+ * present so the body-write path engages the per-doc lock + live-editor
122
+ * guard. `graph.update` re-stamps `updated_at` / `updated_by` itself.
123
+ */
124
+ export function prepareUpdatePayload(input, actor) {
125
+ let mergedData;
126
+ if (input.data !== undefined) {
127
+ mergedData = { ...input.data, entity_id: input.entityId };
128
+ if (input.entityType === 'person') {
129
+ mergedData = normalizePersonStatus(mergedData, false);
130
+ }
131
+ }
132
+ return {
133
+ entityType: input.entityType,
134
+ entityId: input.entityId,
135
+ data: mergedData,
136
+ content: input.content,
137
+ source: input.content !== undefined ? 'server-write' : undefined,
138
+ commitMessage: input.commitMessage,
139
+ user: actor,
140
+ };
141
+ }
142
+ //# sourceMappingURL=entity-mutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-mutations.js","sourceRoot":"","sources":["../../src/services/entity-mutations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{X as e,bt as t,vt as n}from"./BT3KAag_.js";import{r}from"./BzU_SVAW.js";import"./CCSegW3v.js";import{b as i}from"./y0WXY-Gz.js";function a(){let a=t(null),o=t(null),s=t(null),c=t(null),l=t(null),u=t(`entity`),d=t(null),f=t(null),p=t(null),m=t(`team`),h=t(`studiograph`),g=t(!1),_=t(!1);function v(t,n){e(a)&&(e(a)!==t||e(s)!==n)&&i(e(a)).catch(()=>{})}function y(e,t,r,i){v(e,r),n(a,e,!0),n(o,t,!0),n(s,r,!0),n(c,i??null,!0),n(l,null)}function b(t,r=``){e(a)&&e(a)!==t&&i(e(a)).catch(()=>{}),n(a,t,!0),n(o,null),n(s,null),n(c,null),n(l,r,!0)}function x(){n(u,`entity`)}function S(){n(u,`graph`)}function C(e){n(u,`view`),n(d,e,!0)}function w(e,t,r){n(p,e??`profile`,!0),t&&n(m,t,!0),r&&n(h,r,!0)}function T(){n(p,null),typeof window<`u`&&window.location.pathname.startsWith(`/settings`)&&r(`/`)}function E(t,r,i){e(s)===i&&e(a)===t?(n(a,null),n(o,null),n(s,null)):(n(a,t,!0),n(o,r,!0),n(s,i,!0)),n(c,null),n(l,null)}function D(){e(a)&&i(e(a)).catch(()=>{}),n(a,null),n(o,null),n(s,null),n(c,null),n(l,null)}return{get selectedRepo(){return e(a)},get selectedType(){return e(o)},get selectedId(){return e(s)},get selectedSubPath(){return e(c)},get selectedFolderPath(){return e(l)},get activeView(){return e(u)},get entityPath(){return e(a)&&e(o)&&e(s)?`/${e(a)}/${e(o)}/${e(s)}`:null},get hoveredEntityId(){return e(f)},set hoveredEntityId(e){n(f,e,!0)},get settingsPanel(){return e(p)},set settingsPanel(e){n(p,e,!0)},get workspaceTab(){return e(m)},set workspaceTab(e){n(m,e,!0)},get integrationsTab(){return e(h)},set integrationsTab(e){n(h,e,!0)},get hideSidebar(){return e(g)},set hideSidebar(e){n(g,e,!0)},get mobileSidebarOpen(){return e(_)},set mobileSidebarOpen(e){n(_,e,!0)},select:y,selectRepo:b,deselect:D,selectOnGraph:E,showEntity:x,showGraph:S,get activeViewId(){return e(d)},showView:C,showSettings:w,closeSettings:T}}var o=a();export{o as t};
1
+ import{X as e,bt as t,vt as n}from"./BT3KAag_.js";import{r}from"./C6ulkM1e.js";import"./ClF-5nQ0.js";import{b as i}from"./y0WXY-Gz.js";function a(){let a=t(null),o=t(null),s=t(null),c=t(null),l=t(null),u=t(`entity`),d=t(null),f=t(null),p=t(null),m=t(`team`),h=t(`studiograph`),g=t(!1),_=t(!1);function v(t,n){e(a)&&(e(a)!==t||e(s)!==n)&&i(e(a)).catch(()=>{})}function y(e,t,r,i){v(e,r),n(a,e,!0),n(o,t,!0),n(s,r,!0),n(c,i??null,!0),n(l,null)}function b(t,r=``){e(a)&&e(a)!==t&&i(e(a)).catch(()=>{}),n(a,t,!0),n(o,null),n(s,null),n(c,null),n(l,r,!0)}function x(){n(u,`entity`)}function S(){n(u,`graph`)}function C(e){n(u,`view`),n(d,e,!0)}function w(e,t,r){n(p,e??`profile`,!0),t&&n(m,t,!0),r&&n(h,r,!0)}function T(){n(p,null),typeof window<`u`&&window.location.pathname.startsWith(`/settings`)&&r(`/`)}function E(t,r,i){e(s)===i&&e(a)===t?(n(a,null),n(o,null),n(s,null)):(n(a,t,!0),n(o,r,!0),n(s,i,!0)),n(c,null),n(l,null)}function D(){e(a)&&i(e(a)).catch(()=>{}),n(a,null),n(o,null),n(s,null),n(c,null),n(l,null)}return{get selectedRepo(){return e(a)},get selectedType(){return e(o)},get selectedId(){return e(s)},get selectedSubPath(){return e(c)},get selectedFolderPath(){return e(l)},get activeView(){return e(u)},get entityPath(){return e(a)&&e(o)&&e(s)?`/${e(a)}/${e(o)}/${e(s)}`:null},get hoveredEntityId(){return e(f)},set hoveredEntityId(e){n(f,e,!0)},get settingsPanel(){return e(p)},set settingsPanel(e){n(p,e,!0)},get workspaceTab(){return e(m)},set workspaceTab(e){n(m,e,!0)},get integrationsTab(){return e(h)},set integrationsTab(e){n(h,e,!0)},get hideSidebar(){return e(g)},set hideSidebar(e){n(g,e,!0)},get mobileSidebarOpen(){return e(_)},set mobileSidebarOpen(e){n(_,e,!0)},select:y,selectRepo:b,deselect:D,selectOnGraph:E,showEntity:x,showGraph:S,get activeViewId(){return e(d)},showView:C,showSettings:w,closeSettings:T}}var o=a();export{o as t};
@@ -1 +1 @@
1
- import"./BT3KAag_.js";import{t as e}from"./BkNX_Twa.js";import{C as t,D as n,E as r,M as i,O as a,S as o,T as s,_ as c,b as l,d as u,k as d,r as f,t as p,u as m,v as h,w as g,x as _,y as v}from"./CUITrWFs2.js";var y=3e4,b=class extends i{constructor(e){super(),this.doc=e,this.clientID=e.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval(()=>{let e=h();this.getLocalState()!==null&&3e4/2<=e-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());let t=[];this.meta.forEach((n,r)=>{r!==this.clientID&&3e4<=e-n.lastUpdated&&this.states.has(r)&&t.push(r)}),t.length>0&&x(this,t,`timeout`)},d(y/10)),e.on(`destroy`,()=>{this.destroy()}),this.setLocalState({})}destroy(){this.emit(`destroy`,[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(e){let t=this.clientID,n=this.meta.get(t),r=n===void 0?0:n.clock+1,i=this.states.get(t);e===null?this.states.delete(t):this.states.set(t,e),this.meta.set(t,{clock:r,lastUpdated:h()});let a=[],o=[],s=[],l=[];e===null?l.push(t):i==null?e!=null&&a.push(t):(o.push(t),c(i,e)||s.push(t)),(a.length>0||s.length>0||l.length>0)&&this.emit(`change`,[{added:a,updated:s,removed:l},`local`]),this.emit(`update`,[{added:a,updated:o,removed:l},`local`])}setLocalStateField(e,t){let n=this.getLocalState();n!==null&&this.setLocalState({...n,[e]:t})}getStates(){return this.states}},x=(e,t,n)=>{let r=[];for(let n=0;n<t.length;n++){let i=t[n];if(e.states.has(i)){if(e.states.delete(i),i===e.clientID){let t=e.meta.get(i);e.meta.set(i,{clock:t.clock+1,lastUpdated:h()})}r.push(i)}}r.length>0&&(e.emit(`change`,[{added:[],updated:[],removed:r},n]),e.emit(`update`,[{added:[],updated:[],removed:r},n]))},S=(e,i,a=e.states)=>{let o=i.length,c=t();n(c,o);for(let t=0;t<o;t++){let o=i[t],s=a.get(o)||null,l=e.meta.get(o).clock;n(c,o),n(c,l),r(c,JSON.stringify(s))}return s(c)},C=(e,t,n)=>{let r=v(t),i=h(),a=[],o=[],s=[],u=[],d=_(r);for(let t=0;t<d;t++){let t=_(r),n=_(r),d=JSON.parse(l(r)),f=e.meta.get(t),p=e.states.get(t),m=f===void 0?0:f.clock;(m<n||m===n&&d===null&&e.states.has(t))&&(d===null?t===e.clientID&&e.getLocalState()!=null?n++:e.states.delete(t):e.states.set(t,d),e.meta.set(t,{clock:n,lastUpdated:i}),f===void 0&&d!==null?a.push(t):f!==void 0&&d===null?u.push(t):d!==null&&(c(d,p)||s.push(t),o.push(t)))}(a.length>0||s.length>0||u.length>0)&&e.emit(`change`,[{added:a,updated:s,removed:u},n]),(a.length>0||o.length>0||u.length>0)&&e.emit(`update`,[{added:a,updated:o,removed:u},n])},w=(e,t)=>{n(e,0),a(e,u(t))},T=(e,t,r)=>{n(e,1),a(e,m(t,r))},E=(e,t,n)=>T(t,n,o(e)),D=(e,t,n,r)=>{try{f(t,o(e),n)}catch(e){r?.(e),console.error(`Caught error while handling a Yjs update`,e)}},O=(e,t)=>{n(e,2),a(e,t)},k=D,A=(e,t,n,r,i)=>{let a=_(e);switch(a){case 0:E(e,t,n);break;case 1:D(e,n,r,i);break;case 2:k(e,n,r,i);break;default:throw Error(`Unknown message type`)}return a},j=0,M=1,N=2,P=3e4;function F(e,t,n){let r=new TextEncoder().encode(e),i=new ArrayBuffer(2+r.length+1+n.length);return new DataView(i).setUint16(0,r.length),new Uint8Array(i,2,r.length).set(r),new Uint8Array(i)[2+r.length]=t,new Uint8Array(i,2+r.length+1).set(n),i}function I(e){if(e.byteLength<3)return null;let t=new DataView(e).getUint16(0);return e.byteLength<2+t+1?null:{docName:new TextDecoder().decode(new Uint8Array(e,2,t)),msgType:new Uint8Array(e)[2+t],payload:new Uint8Array(e,2+t+1)}}function L(n,r,i){let a=new p,o=a.getText(`content`),c=new b(a);c.setLocalStateField(`user`,{name:r.name,color:r.color,colorLight:r.colorLight??r.color+`33`});let l=null,u=!1,d=!1,f=null,m=!1,h=new Map;function _(){if(!d&&f!==null&&o.length===f){d=!0,H.synced=!0;try{i?.onSync?.()}catch{}}}function y(){return e.ws??null}function T(e,t){let r=y();!r||r.readyState!==WebSocket.OPEN||r.send(F(n,e,t))}function E(){let e=t();w(e,a),T(j,s(e))}function D(e){T(M,S(c,e??[a.clientID]))}function k(e,n){if(e===j){let e=v(n),r=t();A(e,r,a,`ws-server`),g(r)>0&&T(j,s(r)),_()}else e===M&&C(c,n,`ws-server`)}function L(e){if(e.length<9)return;let t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=e[0].toString(16).padStart(2,`0`)+e[1].toString(16).padStart(2,`0`)+e[2].toString(16).padStart(2,`0`)+e[3].toString(16).padStart(2,`0`),r=t.getUint16(4),i=t.getUint16(6),a=e[8],o=e.slice(9),s=Date.now();for(let[e,t]of h)t.expiresAt<s&&h.delete(e);let c=h.get(n);if(!c){if(i===0)return;c={total:i,origMsgType:a,received:Array(i),receivedCount:0,expiresAt:s+P},h.set(n,c)}if(r>=c.total||c.received[r]||(c.received[r]=o,c.receivedCount++,c.receivedCount!==c.total))return;h.delete(n);let l=0;for(let e of c.received)l+=e?.length??0;let u=new Uint8Array(l),d=0;for(let e of c.received){if(!e)return;u.set(e,d),d+=e.length}k(c.origMsgType,u)}function R(e){if(u)return;if(typeof e.data==`string`){try{let t=JSON.parse(e.data);t?.docName===n&&(t.type===`doc_ready`&&typeof t.expectedLength==`number`?(f=t.expectedLength,_()):t.type===`collab:joined`&&!m&&(m=!0,E(),D()))}catch{}return}let t=e.data instanceof ArrayBuffer?e.data:null;if(!t)return;let r=I(t);!r||r.docName!==n||(r.msgType===N?L(r.payload):k(r.msgType,r.payload))}function z(e,n){if(u||n===`ws-server`||!m)return;let r=t();O(r,e),T(j,s(r))}function B({added:e,updated:t,removed:n},r){u||r===`ws-server`||m&&D(e.concat(t,n))}function V(){if(u)return;let e=y();!e||e.readyState!==WebSocket.OPEN||(m=!1,l&&e.removeEventListener(`message`,l),l=R,e.addEventListener(`message`,l),e.send(JSON.stringify({type:`collab:join`,docName:n})))}let H={ydoc:a,ytext:o,awareness:c,synced:!1,destroy:U};a.on(`update`,z),c.on(`update`,B),V(),e.addConnectHandler(V);function U(){if(u)return;u=!0,x(c,[a.clientID],`local`),D([a.clientID]);let e=y();e&&e.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:`collab:leave`,docName:n})),l&&e&&(e.removeEventListener(`message`,l),l=null),a.off(`update`,z),c.off(`update`,B),c.destroy(),a.destroy(),h.clear()}return H}export{L as createCollabSession};
1
+ import"./BT3KAag_.js";import{t as e}from"./BIKuXIys.js";import{C as t,D as n,E as r,M as i,O as a,S as o,T as s,_ as c,b as l,d as u,k as d,r as f,t as p,u as m,v as h,w as g,x as _,y as v}from"./CUITrWFs2.js";var y=3e4,b=class extends i{constructor(e){super(),this.doc=e,this.clientID=e.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval(()=>{let e=h();this.getLocalState()!==null&&3e4/2<=e-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());let t=[];this.meta.forEach((n,r)=>{r!==this.clientID&&3e4<=e-n.lastUpdated&&this.states.has(r)&&t.push(r)}),t.length>0&&x(this,t,`timeout`)},d(y/10)),e.on(`destroy`,()=>{this.destroy()}),this.setLocalState({})}destroy(){this.emit(`destroy`,[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(e){let t=this.clientID,n=this.meta.get(t),r=n===void 0?0:n.clock+1,i=this.states.get(t);e===null?this.states.delete(t):this.states.set(t,e),this.meta.set(t,{clock:r,lastUpdated:h()});let a=[],o=[],s=[],l=[];e===null?l.push(t):i==null?e!=null&&a.push(t):(o.push(t),c(i,e)||s.push(t)),(a.length>0||s.length>0||l.length>0)&&this.emit(`change`,[{added:a,updated:s,removed:l},`local`]),this.emit(`update`,[{added:a,updated:o,removed:l},`local`])}setLocalStateField(e,t){let n=this.getLocalState();n!==null&&this.setLocalState({...n,[e]:t})}getStates(){return this.states}},x=(e,t,n)=>{let r=[];for(let n=0;n<t.length;n++){let i=t[n];if(e.states.has(i)){if(e.states.delete(i),i===e.clientID){let t=e.meta.get(i);e.meta.set(i,{clock:t.clock+1,lastUpdated:h()})}r.push(i)}}r.length>0&&(e.emit(`change`,[{added:[],updated:[],removed:r},n]),e.emit(`update`,[{added:[],updated:[],removed:r},n]))},S=(e,i,a=e.states)=>{let o=i.length,c=t();n(c,o);for(let t=0;t<o;t++){let o=i[t],s=a.get(o)||null,l=e.meta.get(o).clock;n(c,o),n(c,l),r(c,JSON.stringify(s))}return s(c)},C=(e,t,n)=>{let r=v(t),i=h(),a=[],o=[],s=[],u=[],d=_(r);for(let t=0;t<d;t++){let t=_(r),n=_(r),d=JSON.parse(l(r)),f=e.meta.get(t),p=e.states.get(t),m=f===void 0?0:f.clock;(m<n||m===n&&d===null&&e.states.has(t))&&(d===null?t===e.clientID&&e.getLocalState()!=null?n++:e.states.delete(t):e.states.set(t,d),e.meta.set(t,{clock:n,lastUpdated:i}),f===void 0&&d!==null?a.push(t):f!==void 0&&d===null?u.push(t):d!==null&&(c(d,p)||s.push(t),o.push(t)))}(a.length>0||s.length>0||u.length>0)&&e.emit(`change`,[{added:a,updated:s,removed:u},n]),(a.length>0||o.length>0||u.length>0)&&e.emit(`update`,[{added:a,updated:o,removed:u},n])},w=(e,t)=>{n(e,0),a(e,u(t))},T=(e,t,r)=>{n(e,1),a(e,m(t,r))},E=(e,t,n)=>T(t,n,o(e)),D=(e,t,n,r)=>{try{f(t,o(e),n)}catch(e){r?.(e),console.error(`Caught error while handling a Yjs update`,e)}},O=(e,t)=>{n(e,2),a(e,t)},k=D,A=(e,t,n,r,i)=>{let a=_(e);switch(a){case 0:E(e,t,n);break;case 1:D(e,n,r,i);break;case 2:k(e,n,r,i);break;default:throw Error(`Unknown message type`)}return a},j=0,M=1,N=2,P=3e4;function F(e,t,n){let r=new TextEncoder().encode(e),i=new ArrayBuffer(2+r.length+1+n.length);return new DataView(i).setUint16(0,r.length),new Uint8Array(i,2,r.length).set(r),new Uint8Array(i)[2+r.length]=t,new Uint8Array(i,2+r.length+1).set(n),i}function I(e){if(e.byteLength<3)return null;let t=new DataView(e).getUint16(0);return e.byteLength<2+t+1?null:{docName:new TextDecoder().decode(new Uint8Array(e,2,t)),msgType:new Uint8Array(e)[2+t],payload:new Uint8Array(e,2+t+1)}}function L(n,r,i){let a=new p,o=a.getText(`content`),c=new b(a);c.setLocalStateField(`user`,{name:r.name,color:r.color,colorLight:r.colorLight??r.color+`33`});let l=null,u=!1,d=!1,f=null,m=!1,h=new Map;function _(){if(!d&&f!==null&&o.length===f){d=!0,H.synced=!0;try{i?.onSync?.()}catch{}}}function y(){return e.ws??null}function T(e,t){let r=y();!r||r.readyState!==WebSocket.OPEN||r.send(F(n,e,t))}function E(){let e=t();w(e,a),T(j,s(e))}function D(e){T(M,S(c,e??[a.clientID]))}function k(e,n){if(e===j){let e=v(n),r=t();A(e,r,a,`ws-server`),g(r)>0&&T(j,s(r)),_()}else e===M&&C(c,n,`ws-server`)}function L(e){if(e.length<9)return;let t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=e[0].toString(16).padStart(2,`0`)+e[1].toString(16).padStart(2,`0`)+e[2].toString(16).padStart(2,`0`)+e[3].toString(16).padStart(2,`0`),r=t.getUint16(4),i=t.getUint16(6),a=e[8],o=e.slice(9),s=Date.now();for(let[e,t]of h)t.expiresAt<s&&h.delete(e);let c=h.get(n);if(!c){if(i===0)return;c={total:i,origMsgType:a,received:Array(i),receivedCount:0,expiresAt:s+P},h.set(n,c)}if(r>=c.total||c.received[r]||(c.received[r]=o,c.receivedCount++,c.receivedCount!==c.total))return;h.delete(n);let l=0;for(let e of c.received)l+=e?.length??0;let u=new Uint8Array(l),d=0;for(let e of c.received){if(!e)return;u.set(e,d),d+=e.length}k(c.origMsgType,u)}function R(e){if(u)return;if(typeof e.data==`string`){try{let t=JSON.parse(e.data);t?.docName===n&&(t.type===`doc_ready`&&typeof t.expectedLength==`number`?(f=t.expectedLength,_()):t.type===`collab:joined`&&!m&&(m=!0,E(),D()))}catch{}return}let t=e.data instanceof ArrayBuffer?e.data:null;if(!t)return;let r=I(t);!r||r.docName!==n||(r.msgType===N?L(r.payload):k(r.msgType,r.payload))}function z(e,n){if(u||n===`ws-server`||!m)return;let r=t();O(r,e),T(j,s(r))}function B({added:e,updated:t,removed:n},r){u||r===`ws-server`||m&&D(e.concat(t,n))}function V(){if(u)return;let e=y();!e||e.readyState!==WebSocket.OPEN||(m=!1,l&&e.removeEventListener(`message`,l),l=R,e.addEventListener(`message`,l),e.send(JSON.stringify({type:`collab:join`,docName:n})))}let H={ydoc:a,ytext:o,awareness:c,synced:!1,destroy:U};a.on(`update`,z),c.on(`update`,B),V(),e.addConnectHandler(V);function U(){if(u)return;u=!0,x(c,[a.clientID],`local`),D([a.clientID]);let e=y();e&&e.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:`collab:leave`,docName:n})),l&&e&&(e.removeEventListener(`message`,l),l=null),a.off(`update`,z),c.off(`update`,B),c.destroy(),a.destroy(),h.clear()}return H}export{L as createCollabSession};
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./lqzqnLEw.js","./BNTlsKDJ.js","./BT3KAag_.js","./y0WXY-Gz.js","./9bCTHkeS.js","./CxO1mcHD.js","./BzU_SVAW.js","./CCSegW3v.js","./ikKa4mia.js","./BpDsJt5A.js","./VKovLyFY.js","./uqxmB78b.js"])))=>i.map(i=>d[i]);
2
- import{X as e,bt as t,vt as n,xt as r}from"./BT3KAag_.js";import{i,r as a}from"./BzU_SVAW.js";import{t as o}from"./C-OaypFN.js";import"./CCSegW3v.js";import{t as s}from"./9bCTHkeS.js";import{A as c,i as l}from"./y0WXY-Gz.js";import{i as u,r as d}from"./VKovLyFY.js";import{t as f}from"./BpDsJt5A.js";import{t as p}from"./ikKa4mia.js";import{t as m}from"./uqxmB78b.js";import{r as h}from"./PKJwETHu.js";var g=800;async function _(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function v(e,t,n){return`${e}/${t}/${n}`}function y(){let r=t(!1),i=t(null),a=t(null),o=t(null),s=null,l=null,d=!1,f=new Map;function p(e,t,n,r){s&&s.repo===e&&s.type===t&&s.id===n?(r.data!==void 0&&(s.payload.data=r.data),r.content!==void 0&&(s.payload.content=r.content)):s={repo:e,type:t,id:n,payload:{...r}},m()}function m(){l&&clearTimeout(l),l=setTimeout(y,g)}async function y(){if(l=null,!d&&s){let{repo:t,type:l,id:p,payload:m}=s;s=null,d=!0,n(r,!0),n(a,null);let g=v(t,l,p),b=m.content===void 0?void 0:f.get(g);try{let r=await c(t,l,p,m,{baseBodyHash:b});if(n(i,new Date,!0),m.content!==void 0){let e=r.document?.content??m.content;f.set(g,await _(e))}if(e(o)?.entityKey===g&&(n(o,null),h.dismiss(`conflict:${g}`)),m.data?.name){let e=u.repos.find(e=>e.name===t)?.entities.find(e=>e.id===p);e&&(e.title=m.data.name)}}catch(e){let r=e.status??e.statusCode;if(r===412&&e.body?.code===`STALE_BODY_HASH`&&m.content!==void 0){let r=await _(m.content),i=e.body.currentBodyHash;r===i?(f.set(g,i),s={repo:t,type:l,id:p,payload:m},n(a,null)):(n(o,{entityKey:g,currentBodyHash:i},!0),n(a,`Conflict: another writer modified this entity. Reload to continue.`),h.error(`Another writer modified this entry while you were editing.`,{id:`conflict:${g}`,duration:1/0,action:{label:`Reload`,onClick:()=>{window.location.reload()}}}))}else n(a,e.message??`Save failed`,!0),(!r||r>=500)&&(s={repo:t,type:l,id:p,payload:m})}finally{n(r,!1),d=!1,s&&y()}}}function b(){return l&&=(clearTimeout(l),null),s?y():Promise.resolve()}async function x(e,t,o,s){n(r,!0),n(a,null);try{let r=await c(e,t,o,s);return n(i,new Date,!0),r}catch(e){return n(a,e.message??`Save failed`,!0),null}finally{n(r,!1)}}function S(){n(a,null),n(i,null),s=null,e(o)&&(h.dismiss(`conflict:${e(o).entityKey}`),n(o,null)),l&&=(clearTimeout(l),null)}async function C(e,t,n,r){let i=v(e,t,n);f.set(i,await _(r))}function w(e,t,n){f.delete(v(e,t,n))}return{get saving(){return e(r)},get lastSaved(){return e(i)},get error(){return e(a)},get hasPending(){return!!(s||d)},get conflict(){return e(o)},scheduleAutoSave:p,flush:b,saveEntity:x,setBaseBodyHash:C,clearBaseBodyHash:w,reset:S}}var b=y(),x=t(`idle`),S=t(!1),C=t(null),w=t(null),T=t(null),E=t(``),D=t(null),O=t(0),k=null,A=t(19877),j=null,M={get state(){return e(x)},get isElectron(){return e(S)},get activeEntityId(){return e(C)},get activeRepo(){return e(w)},get meetingTitle(){return e(E)},get platform(){return e(D)},get elapsedSeconds(){return e(O)},get recordingStartTime(){return e(T)},handleElectronReady(e){n(S,!0),e?.port&&n(A,e.port,!0)},async handleRecordingStarted(t){if(n(S,!0),e(x)===`processing`&&this.reset(),e(x)!==`idle`)return;let i=t.repo||await ie()||u.repos[0]?.name||null;if(!i){h.error(`No folder configured. Set one in Connectors → Meeting Capture.`);return}n(E,t.meetingTitle||``,!0),n(D,t.platform||null,!0),n(w,i,!0),n(T,new Date,!0),n(x,`recording`),n(O,0),k=setInterval(()=>{r(O)},1e3);let o=ee(e(E)||`Meeting`,e(T));try{let r=e(T).toISOString();await l(i,`event`,o,{entity_type:`event`,entity_id:o,type:`meeting`,name:e(E)||`Meeting ${te(e(T))}`,date:m(e(T)),created_at:r,updated_at:r,created_by:`desktop`,updated_by:`desktop`,attendees:(t.attendees||[]).filter(e=>!e.isSelf).map(e=>`[[${I(e.name)}]]`),tags:[`auto-transcribed`,t.platform].filter(Boolean)},``),n(C,o,!0),a(`/${i}/event/${o}`),P({type:`sg:entity-created`,repo:i,entityType:`event`,entityId:o},`*`)}catch(e){console.error(`[Meeting] Failed to create entity:`,e),n(x,`idle`),F()}},handleRecordingStopped(t){e(x)!==`recording`&&e(x)!==`stopping`||N()},startRecording(){e(S)&&P({type:`sg:start-recording`},`*`)},stopRecording(){e(x)===`recording`&&N()},reset(){n(x,`idle`),n(C,null),n(w,null),n(T,null),n(E,``),n(D,null),n(O,0),F()},handleEntityUpdated(t,n,r){e(x)===`processing`&&n===`event`&&(t!==e(w)||r!==e(C)||this.reset())},registerEditorContentProvider(t,n,r){t!==e(w)||n!==e(C)||(j=r)},unregisterEditorContentProvider(){j=null}};function N(){let t=ne();n(x,`processing`),F(),fetch(`http://127.0.0.1:${e(A)}/stop`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({entityId:e(C),memo:t})}).catch(()=>{}),h(`Processing meeting notes…`,{description:`Your notes will be ready in a moment.`,duration:5e3})}function P(e,t){let{type:n,...r}=e;window.sgBridge?.send(n,r)}function F(){k&&=(clearInterval(k),null)}function I(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function ee(e,t){let n=m(t),r=t.toTimeString().slice(0,8).replace(/:/g,``);return`${n}-${I(e||`meeting`)}-${r}`}function te(e){return e.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function ne(){if(j)try{let e=j();if(typeof e==`string`)return e}catch{}return re()}function re(){let e=document.querySelector(`.cm-content`);if(e){let t=e.querySelectorAll(`.cm-line`);return t.length>0?Array.from(t).map(e=>e.textContent||``).join(`
3
- `):e.textContent||``}let t=document.querySelector(`.entity-editor textarea`);return t?t.value:``}async function ie(){try{let e=await s(`/api/preferences/settings`);if(e.default_meeting_folder)return e.default_meeting_folder}catch{}return null}function L(e){return u.repos.find(t=>t.name===e)?.displayName??d(e)}var R=null,z=null,B=null,V=null,H=null,U=[],W=null,G=[],K=[],q=null,J=1e3,Y=t(!1),X=t(null),Z={},Q={};function ae(e){let t=p.user?.displayName;if(e.type===`sync_progress`){let t=Z[e.repo];if(t){let n=e.message.trim(),r=n.match(/^Syncing from source:\s*(.+)$/i);r&&(Q[e.repo]=`Syncing ${r[1].trim()}…`);let i=Q[e.repo]??`Syncing ${e.repo}…`;h.loading(i,{id:t,description:n,duration:36e5})}return}if(e.type===`entity_change`){for(let t of K)try{t(e)}catch{}if(e.entityType===`_folder`){u.repos.some(t=>t.name===e.repo)?u.refreshRepoAfterFolderMutation(e.repo):u.ensureFolderInSidebar(e.repo);return}if(t&&e.actor===t&&e.source===`api`){u.refreshEntities(e.repo);return}u.refreshEntities(e.repo),M.handleEntityUpdated(e.repo,e.entityType,e.entityId),f.selectedRepo===e.repo&&f.selectedType===e.entityType&&f.selectedId===e.entityId&&(b.hasPending?h(`${e.actor} also saved changes to this entity`):i());return}if(e.type===`session_commit`){if(t&&e.actor===t){n(X,e.timestamp,!0);return}let r=e.entities.length;h(r===1?`${e.actor} updated ${e.entities[0]}`:`${e.actor} updated ${r} entries in ${e.repo}`),u.refreshEntities(e.repo);return}if(e.type===`sync_complete`){if(!Z[e.repo]){let t=e.created+e.updated+e.deleted,n=t===0?`Sync complete · no changes in ${e.repo}`:`Sync complete · ${t} ${t===1?`entity`:`entities`} from ${e.source}`;h.success(n)}u.refreshEntities(e.repo);return}if(e.type===`folder_created`){h(`${e.actor} created folder ${L(e.repo)}`),u.ensureFolderInSidebar(e.repo);return}if(e.type===`folder_deleted`){h(`${e.actor} deleted folder ${L(e.repo)}`);return}if(e.type===`repo_sync`){t&&e.actor===t&&e.source===`api`||h(`${e.actor} pushed to ${e.repo}`),u.refreshRepoAfterFolderMutation(e.repo);return}if(e.type===`presence`){z?.(e);return}if(e.type===`agent_activity`){B?.(e);return}if(e.type===`online`){V?.(e);return}if(e.type===`user_mention`){H?.(e);return}if(e.type===`comment_created`||e.type===`comment_updated`||e.type===`comment_resolved`||e.type===`comment_reopened`||e.type===`comment_deleted`){for(let t of U)t(e);return}if(e.type===`comment_agent_thinking`){W?.(e);return}if(e.type===`insights_updated`||e.type===`briefing_updated`){o(()=>import(`./lqzqnLEw.js`).then(e=>e.n).then(e=>e.insightsStore.load()),__vite__mapDeps([0,1,2,3,4]),import.meta.url);return}if(e.type===`state_cleared`){Promise.all([o(()=>import(`./CxO1mcHD.js`).then(e=>e.n),__vite__mapDeps([5,1,6,2,7,8,4,9,3,10,11]),import.meta.url),o(()=>import(`./lqzqnLEw.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3,4]),import.meta.url)]).then(([t,n])=>{t.chatStore.wipeLocal(),e.target===`all`&&n.insightsStore.load()});return}if(e.type===`access_granted`){u.ensureFolderInSidebar(e.repo);return}if(e.type===`access_revoked`){f.selectedRepo===e.repo&&f.deselect(),u.onFolderAccessRevoked(e.repo);return}}function oe(){if(typeof window>`u`||R&&(R.readyState===WebSocket.OPEN||R.readyState===WebSocket.CONNECTING))return;let e=window.location.protocol===`https:`?`wss:`:`ws:`,t=(()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}})(),r=`${e}//${window.location.host}/ws?tz=${encodeURIComponent(t)}`;R=new WebSocket(r),R.binaryType=`arraybuffer`,R.onopen=()=>{n(Y,!0),J=1e3,u.refreshAll();for(let e of G)e()},R.onmessage=e=>{if(!(e.data instanceof ArrayBuffer))try{let t=JSON.parse(e.data);if(t?.type===`ping`){R?.send(JSON.stringify({type:`pong`}));return}if(t?.type===`server_version`&&typeof t.version==`string`){ue(t.version);return}let n=t;n.type&&n.type!==`toast`&&ae(n)}catch{}},R.onclose=()=>{n(Y,!1),R=null,q=setTimeout(()=>{J=Math.min(J*2,1e4),oe()},J)},R.onerror=()=>{}}function se(){q&&=(clearTimeout(q),null),R&&=(R.close(),null),n(Y,!1)}function ce(e,t=4e3){h(e,{duration:t})}var $=t(!1),le={get value(){return e($)}};function ue(t){!t||t===`1.3.48-next.151`||e($)||n($,!0)}function de(e,t){let n=crypto.randomUUID();return t?.loading?h.loading(e,{id:n,duration:36e5}):h(e,{id:n}),n}function fe(e,t,n){if(n?.loading){h.loading(t,{id:e});return}/failed|error/i.test(t)?h.error(t,{id:e,duration:n?.duration??6e3}):h.success(t,{id:e,duration:n?.duration??4e3})}function pe(e){let t=crypto.randomUUID();Z[e]=t,h.loading(`Syncing ${e}…`,{id:t,duration:36e5})}function me(e,t,n){let r=Z[e];r&&(delete Z[e],delete Q[e],n?h.error(t,{id:r,duration:6e3}):h.success(t,{id:r,duration:4e3}))}function he(e){z=e}function ge(e){B=e}function _e(e){V=e}function ve(e){H=e}function ye(e){return U.push(e),()=>{let t=U.indexOf(e);t!==-1&&U.splice(t,1)}}function be(e){W=e}function xe(e){G.push(e)}function Se(e){return K.push(e),()=>{let t=K.indexOf(e);t!==-1&&K.splice(t,1)}}function Ce(e){R?.readyState===WebSocket.OPEN&&R.send(JSON.stringify(e))}var we={get connected(){return e(Y)},get lastAutoSaved(){return e(X)},get ws(){return R},connect:oe,disconnect:se,showToast:ce,showPersistentToast:de,updateToast:fe,startSyncToast:pe,finishSyncToast:me,send:Ce,setPresenceHandler:he,setAgentActivityHandler:ge,setOnlineHandler:_e,setUserMentionHandler:ve,addCommentHandler:ye,setCommentAgentThinkingHandler:be,addConnectHandler:xe,addEntityChangeHandler:Se};export{b as i,le as n,M as r,we as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./lqzqnLEw.js","./BNTlsKDJ.js","./BT3KAag_.js","./y0WXY-Gz.js","./9bCTHkeS.js","./oSSUEEiB.js","./C6ulkM1e.js","./ClF-5nQ0.js","./ikKa4mia.js","./B4GeChdr.js","./VKovLyFY.js","./uqxmB78b.js"])))=>i.map(i=>d[i]);
2
+ import{X as e,bt as t,vt as n,xt as r}from"./BT3KAag_.js";import{i,r as a}from"./C6ulkM1e.js";import{t as o}from"./C-OaypFN.js";import"./ClF-5nQ0.js";import{t as s}from"./9bCTHkeS.js";import{A as c,i as l}from"./y0WXY-Gz.js";import{i as u,r as d}from"./VKovLyFY.js";import{t as f}from"./B4GeChdr.js";import{t as p}from"./ikKa4mia.js";import{t as m}from"./uqxmB78b.js";import{r as h}from"./PKJwETHu.js";var g=800;async function _(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function v(e,t,n){return`${e}/${t}/${n}`}function y(){let r=t(!1),i=t(null),a=t(null),o=t(null),s=null,l=null,d=!1,f=new Map;function p(e,t,n,r){s&&s.repo===e&&s.type===t&&s.id===n?(r.data!==void 0&&(s.payload.data=r.data),r.content!==void 0&&(s.payload.content=r.content)):s={repo:e,type:t,id:n,payload:{...r}},m()}function m(){l&&clearTimeout(l),l=setTimeout(y,g)}async function y(){if(l=null,!d&&s){let{repo:t,type:l,id:p,payload:m}=s;s=null,d=!0,n(r,!0),n(a,null);let g=v(t,l,p),b=m.content===void 0?void 0:f.get(g);try{let r=await c(t,l,p,m,{baseBodyHash:b});if(n(i,new Date,!0),m.content!==void 0){let e=r.document?.content??m.content;f.set(g,await _(e))}if(e(o)?.entityKey===g&&(n(o,null),h.dismiss(`conflict:${g}`)),m.data?.name){let e=u.repos.find(e=>e.name===t)?.entities.find(e=>e.id===p);e&&(e.title=m.data.name)}}catch(e){let r=e.status??e.statusCode;if(r===412&&e.body?.code===`STALE_BODY_HASH`&&m.content!==void 0){let r=await _(m.content),i=e.body.currentBodyHash;r===i?(f.set(g,i),s={repo:t,type:l,id:p,payload:m},n(a,null)):(n(o,{entityKey:g,currentBodyHash:i},!0),n(a,`Conflict: another writer modified this entity. Reload to continue.`),h.error(`Another writer modified this entry while you were editing.`,{id:`conflict:${g}`,duration:1/0,action:{label:`Reload`,onClick:()=>{window.location.reload()}}}))}else n(a,e.message??`Save failed`,!0),(!r||r>=500)&&(s={repo:t,type:l,id:p,payload:m})}finally{n(r,!1),d=!1,s&&y()}}}function b(){return l&&=(clearTimeout(l),null),s?y():Promise.resolve()}async function x(e,t,o,s){n(r,!0),n(a,null);try{let r=await c(e,t,o,s);return n(i,new Date,!0),r}catch(e){return n(a,e.message??`Save failed`,!0),null}finally{n(r,!1)}}function S(){n(a,null),n(i,null),s=null,e(o)&&(h.dismiss(`conflict:${e(o).entityKey}`),n(o,null)),l&&=(clearTimeout(l),null)}async function C(e,t,n,r){let i=v(e,t,n);f.set(i,await _(r))}function w(e,t,n){f.delete(v(e,t,n))}return{get saving(){return e(r)},get lastSaved(){return e(i)},get error(){return e(a)},get hasPending(){return!!(s||d)},get conflict(){return e(o)},scheduleAutoSave:p,flush:b,saveEntity:x,setBaseBodyHash:C,clearBaseBodyHash:w,reset:S}}var b=y(),x=t(`idle`),S=t(!1),C=t(null),w=t(null),T=t(null),E=t(``),D=t(null),O=t(0),k=null,A=t(19877),j=null,M={get state(){return e(x)},get isElectron(){return e(S)},get activeEntityId(){return e(C)},get activeRepo(){return e(w)},get meetingTitle(){return e(E)},get platform(){return e(D)},get elapsedSeconds(){return e(O)},get recordingStartTime(){return e(T)},handleElectronReady(e){n(S,!0),e?.port&&n(A,e.port,!0)},async handleRecordingStarted(t){if(n(S,!0),e(x)===`processing`&&this.reset(),e(x)!==`idle`)return;let i=t.repo||await ie()||u.repos[0]?.name||null;if(!i){h.error(`No folder configured. Set one in Connectors → Meeting Capture.`);return}n(E,t.meetingTitle||``,!0),n(D,t.platform||null,!0),n(w,i,!0),n(T,new Date,!0),n(x,`recording`),n(O,0),k=setInterval(()=>{r(O)},1e3);let o=ee(e(E)||`Meeting`,e(T));try{let r=e(T).toISOString();await l(i,`event`,o,{entity_type:`event`,entity_id:o,type:`meeting`,name:e(E)||`Meeting ${te(e(T))}`,date:m(e(T)),created_at:r,updated_at:r,created_by:`desktop`,updated_by:`desktop`,attendees:(t.attendees||[]).filter(e=>!e.isSelf).map(e=>`[[${I(e.name)}]]`),tags:[`auto-transcribed`,t.platform].filter(Boolean)},``),n(C,o,!0),a(`/${i}/event/${o}`),P({type:`sg:entity-created`,repo:i,entityType:`event`,entityId:o},`*`)}catch(e){console.error(`[Meeting] Failed to create entity:`,e),n(x,`idle`),F()}},handleRecordingStopped(t){e(x)!==`recording`&&e(x)!==`stopping`||N()},startRecording(){e(S)&&P({type:`sg:start-recording`},`*`)},stopRecording(){e(x)===`recording`&&N()},reset(){n(x,`idle`),n(C,null),n(w,null),n(T,null),n(E,``),n(D,null),n(O,0),F()},handleEntityUpdated(t,n,r){e(x)===`processing`&&n===`event`&&(t!==e(w)||r!==e(C)||this.reset())},registerEditorContentProvider(t,n,r){t!==e(w)||n!==e(C)||(j=r)},unregisterEditorContentProvider(){j=null}};function N(){let t=ne();n(x,`processing`),F(),fetch(`http://127.0.0.1:${e(A)}/stop`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({entityId:e(C),memo:t})}).catch(()=>{}),h(`Processing meeting notes…`,{description:`Your notes will be ready in a moment.`,duration:5e3})}function P(e,t){let{type:n,...r}=e;window.sgBridge?.send(n,r)}function F(){k&&=(clearInterval(k),null)}function I(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function ee(e,t){let n=m(t),r=t.toTimeString().slice(0,8).replace(/:/g,``);return`${n}-${I(e||`meeting`)}-${r}`}function te(e){return e.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function ne(){if(j)try{let e=j();if(typeof e==`string`)return e}catch{}return re()}function re(){let e=document.querySelector(`.cm-content`);if(e){let t=e.querySelectorAll(`.cm-line`);return t.length>0?Array.from(t).map(e=>e.textContent||``).join(`
3
+ `):e.textContent||``}let t=document.querySelector(`.entity-editor textarea`);return t?t.value:``}async function ie(){try{let e=await s(`/api/preferences/settings`);if(e.default_meeting_folder)return e.default_meeting_folder}catch{}return null}function L(e){return u.repos.find(t=>t.name===e)?.displayName??d(e)}var R=null,z=null,B=null,V=null,H=null,U=[],W=null,G=[],K=[],q=null,J=1e3,Y=t(!1),X=t(null),Z={},Q={};function ae(e){let t=p.user?.displayName;if(e.type===`sync_progress`){let t=Z[e.repo];if(t){let n=e.message.trim(),r=n.match(/^Syncing from source:\s*(.+)$/i);r&&(Q[e.repo]=`Syncing ${r[1].trim()}…`);let i=Q[e.repo]??`Syncing ${e.repo}…`;h.loading(i,{id:t,description:n,duration:36e5})}return}if(e.type===`entity_change`){for(let t of K)try{t(e)}catch{}if(e.entityType===`_folder`){u.repos.some(t=>t.name===e.repo)?u.refreshRepoAfterFolderMutation(e.repo):u.ensureFolderInSidebar(e.repo);return}if(t&&e.actor===t&&e.source===`api`){u.refreshEntities(e.repo);return}u.refreshEntities(e.repo),M.handleEntityUpdated(e.repo,e.entityType,e.entityId),f.selectedRepo===e.repo&&f.selectedType===e.entityType&&f.selectedId===e.entityId&&(b.hasPending?h(`${e.actor} also saved changes to this entity`):i());return}if(e.type===`session_commit`){if(t&&e.actor===t){n(X,e.timestamp,!0);return}let r=e.entities.length;h(r===1?`${e.actor} updated ${e.entities[0]}`:`${e.actor} updated ${r} entries in ${e.repo}`),u.refreshEntities(e.repo);return}if(e.type===`sync_complete`){if(!Z[e.repo]){let t=e.created+e.updated+e.deleted,n=t===0?`Sync complete · no changes in ${e.repo}`:`Sync complete · ${t} ${t===1?`entity`:`entities`} from ${e.source}`;h.success(n)}u.refreshEntities(e.repo);return}if(e.type===`folder_created`){h(`${e.actor} created folder ${L(e.repo)}`),u.ensureFolderInSidebar(e.repo);return}if(e.type===`folder_deleted`){h(`${e.actor} deleted folder ${L(e.repo)}`);return}if(e.type===`repo_sync`){t&&e.actor===t&&e.source===`api`||h(`${e.actor} pushed to ${e.repo}`),u.refreshRepoAfterFolderMutation(e.repo);return}if(e.type===`presence`){z?.(e);return}if(e.type===`agent_activity`){B?.(e);return}if(e.type===`online`){V?.(e);return}if(e.type===`user_mention`){H?.(e);return}if(e.type===`comment_created`||e.type===`comment_updated`||e.type===`comment_resolved`||e.type===`comment_reopened`||e.type===`comment_deleted`){for(let t of U)t(e);return}if(e.type===`comment_agent_thinking`){W?.(e);return}if(e.type===`insights_updated`||e.type===`briefing_updated`){o(()=>import(`./lqzqnLEw.js`).then(e=>e.n).then(e=>e.insightsStore.load()),__vite__mapDeps([0,1,2,3,4]),import.meta.url);return}if(e.type===`state_cleared`){Promise.all([o(()=>import(`./oSSUEEiB.js`).then(e=>e.n),__vite__mapDeps([5,1,6,2,7,8,4,9,3,10,11]),import.meta.url),o(()=>import(`./lqzqnLEw.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3,4]),import.meta.url)]).then(([t,n])=>{t.chatStore.wipeLocal(),e.target===`all`&&n.insightsStore.load()});return}if(e.type===`access_granted`){u.ensureFolderInSidebar(e.repo);return}if(e.type===`access_revoked`){f.selectedRepo===e.repo&&f.deselect(),u.onFolderAccessRevoked(e.repo);return}}function oe(){if(typeof window>`u`||R&&(R.readyState===WebSocket.OPEN||R.readyState===WebSocket.CONNECTING))return;let e=window.location.protocol===`https:`?`wss:`:`ws:`,t=(()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}})(),r=`${e}//${window.location.host}/ws?tz=${encodeURIComponent(t)}`;R=new WebSocket(r),R.binaryType=`arraybuffer`,R.onopen=()=>{n(Y,!0),J=1e3,u.refreshAll();for(let e of G)e()},R.onmessage=e=>{if(!(e.data instanceof ArrayBuffer))try{let t=JSON.parse(e.data);if(t?.type===`ping`){R?.send(JSON.stringify({type:`pong`}));return}if(t?.type===`server_version`&&typeof t.version==`string`){ue(t.version);return}let n=t;n.type&&n.type!==`toast`&&ae(n)}catch{}},R.onclose=()=>{n(Y,!1),R=null,q=setTimeout(()=>{J=Math.min(J*2,1e4),oe()},J)},R.onerror=()=>{}}function se(){q&&=(clearTimeout(q),null),R&&=(R.close(),null),n(Y,!1)}function ce(e,t=4e3){h(e,{duration:t})}var $=t(!1),le={get value(){return e($)}};function ue(t){!t||t===`1.3.48-next.152`||e($)||n($,!0)}function de(e,t){let n=crypto.randomUUID();return t?.loading?h.loading(e,{id:n,duration:36e5}):h(e,{id:n}),n}function fe(e,t,n){if(n?.loading){h.loading(t,{id:e});return}/failed|error/i.test(t)?h.error(t,{id:e,duration:n?.duration??6e3}):h.success(t,{id:e,duration:n?.duration??4e3})}function pe(e){let t=crypto.randomUUID();Z[e]=t,h.loading(`Syncing ${e}…`,{id:t,duration:36e5})}function me(e,t,n){let r=Z[e];r&&(delete Z[e],delete Q[e],n?h.error(t,{id:r,duration:6e3}):h.success(t,{id:r,duration:4e3}))}function he(e){z=e}function ge(e){B=e}function _e(e){V=e}function ve(e){H=e}function ye(e){return U.push(e),()=>{let t=U.indexOf(e);t!==-1&&U.splice(t,1)}}function be(e){W=e}function xe(e){G.push(e)}function Se(e){return K.push(e),()=>{let t=K.indexOf(e);t!==-1&&K.splice(t,1)}}function Ce(e){R?.readyState===WebSocket.OPEN&&R.send(JSON.stringify(e))}var we={get connected(){return e(Y)},get lastAutoSaved(){return e(X)},get ws(){return R},connect:oe,disconnect:se,showToast:ce,showPersistentToast:de,updateToast:fe,startSyncToast:pe,finishSyncToast:me,send:Ce,setPresenceHandler:he,setAgentActivityHandler:ge,setOnlineHandler:_e,setUserMentionHandler:ve,addCommentHandler:ye,setCommentAgentThinkingHandler:be,addConnectHandler:xe,addEntityChangeHandler:Se};export{b as i,le as n,M as r,we as t};