@vibesdotdev/session 1.0.0-rc.5 → 1.0.0-rc.8

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 (116) hide show
  1. package/dist/admission/admit-caller.d.ts.map +1 -1
  2. package/dist/admission/admit-caller.js +8 -3
  3. package/dist/admission/admit-caller.js.map +1 -1
  4. package/dist/cli/chat/session.repair-slugs.descriptor.d.ts +4 -0
  5. package/dist/cli/chat/session.repair-slugs.descriptor.d.ts.map +1 -0
  6. package/dist/cli/chat/session.repair-slugs.descriptor.js +16 -0
  7. package/dist/cli/chat/session.repair-slugs.descriptor.js.map +1 -0
  8. package/dist/cli/chat/session.repair-slugs.impl.d.ts +6 -0
  9. package/dist/cli/chat/session.repair-slugs.impl.d.ts.map +1 -0
  10. package/dist/cli/chat/session.repair-slugs.impl.js +25 -0
  11. package/dist/cli/chat/session.repair-slugs.impl.js.map +1 -0
  12. package/dist/cli/command.d.ts +1 -1
  13. package/dist/cli/command.d.ts.map +1 -1
  14. package/dist/cli/command.js.map +1 -1
  15. package/dist/cli/schemas/commands.d.ts +21 -0
  16. package/dist/cli/schemas/commands.d.ts.map +1 -1
  17. package/dist/cli/schemas/commands.js +10 -0
  18. package/dist/cli/schemas/commands.js.map +1 -1
  19. package/dist/cli/services/session/participants.d.ts +6 -1
  20. package/dist/cli/services/session/participants.d.ts.map +1 -1
  21. package/dist/cli/services/session/participants.js +6 -0
  22. package/dist/cli/services/session/participants.js.map +1 -1
  23. package/dist/cli/services/session.cli.consumer.d.ts +1 -1
  24. package/dist/cli/services/session.cli.consumer.d.ts.map +1 -1
  25. package/dist/cli/services/session.cli.consumer.js +1 -1
  26. package/dist/cli/services/session.cli.consumer.js.map +1 -1
  27. package/dist/cli/session-cli.plugin.d.ts.map +1 -1
  28. package/dist/cli/session-cli.plugin.js +3 -0
  29. package/dist/cli/session-cli.plugin.js.map +1 -1
  30. package/dist/daemon/commands/holds.d.ts +12 -0
  31. package/dist/daemon/commands/holds.d.ts.map +1 -0
  32. package/dist/daemon/commands/holds.js +27 -0
  33. package/dist/daemon/commands/holds.js.map +1 -0
  34. package/dist/docs/session.docs.descriptor.d.ts.map +1 -1
  35. package/dist/docs/session.docs.descriptor.js +20 -7
  36. package/dist/docs/session.docs.descriptor.js.map +1 -1
  37. package/dist/index/session-index.context.descriptor.d.ts +33 -0
  38. package/dist/index/session-index.context.descriptor.d.ts.map +1 -0
  39. package/dist/index/session-index.context.descriptor.js +11 -0
  40. package/dist/index/session-index.context.descriptor.js.map +1 -0
  41. package/dist/index/session-index.context.impl.consumer.d.ts +8 -0
  42. package/dist/index/session-index.context.impl.consumer.d.ts.map +1 -0
  43. package/dist/index/session-index.context.impl.consumer.js +7 -0
  44. package/dist/index/session-index.context.impl.consumer.js.map +1 -0
  45. package/dist/index/session-index.d.ts +29 -0
  46. package/dist/index/session-index.d.ts.map +1 -0
  47. package/dist/index/session-index.js +68 -0
  48. package/dist/index/session-index.js.map +1 -0
  49. package/dist/index/session-index.record.descriptor.d.ts +49 -0
  50. package/dist/index/session-index.record.descriptor.d.ts.map +1 -0
  51. package/dist/index/session-index.record.descriptor.js +59 -0
  52. package/dist/index/session-index.record.descriptor.js.map +1 -0
  53. package/dist/manager.d.ts +22 -1
  54. package/dist/manager.d.ts.map +1 -1
  55. package/dist/manager.js +72 -45
  56. package/dist/manager.js.map +1 -1
  57. package/dist/mcp/utils/participant.d.ts +16 -0
  58. package/dist/mcp/utils/participant.d.ts.map +1 -1
  59. package/dist/mcp/utils/participant.js +88 -17
  60. package/dist/mcp/utils/participant.js.map +1 -1
  61. package/dist/schemas/participant.d.ts +3 -0
  62. package/dist/schemas/participant.d.ts.map +1 -1
  63. package/dist/schemas/participant.js +10 -0
  64. package/dist/schemas/participant.js.map +1 -1
  65. package/dist/session.consumer.plugin.d.ts.map +1 -1
  66. package/dist/session.consumer.plugin.js +5 -1
  67. package/dist/session.consumer.plugin.js.map +1 -1
  68. package/dist/storage/session-connections.record.descriptor.d.ts +1 -0
  69. package/dist/storage/session-connections.record.descriptor.d.ts.map +1 -1
  70. package/dist/storage/write-or-recover.d.ts +21 -0
  71. package/dist/storage/write-or-recover.d.ts.map +1 -0
  72. package/dist/storage/write-or-recover.js +46 -0
  73. package/dist/storage/write-or-recover.js.map +1 -0
  74. package/dist/tools/lifecycle/init/schemas.d.ts.map +1 -1
  75. package/dist/tools/lifecycle/init/schemas.js +5 -2
  76. package/dist/tools/lifecycle/init/schemas.js.map +1 -1
  77. package/dist/tools/lifecycle/tool/session.tool.descriptor.d.ts.map +1 -1
  78. package/dist/tools/lifecycle/tool/session.tool.descriptor.js +3 -2
  79. package/dist/tools/lifecycle/tool/session.tool.descriptor.js.map +1 -1
  80. package/dist/tools/messages/tool/session-collaborate.descriptor.d.ts.map +1 -1
  81. package/dist/tools/messages/tool/session-collaborate.descriptor.js +3 -2
  82. package/dist/tools/messages/tool/session-collaborate.descriptor.js.map +1 -1
  83. package/dist/tools/schema-descriptions.d.ts +16 -0
  84. package/dist/tools/schema-descriptions.d.ts.map +1 -0
  85. package/dist/tools/schema-descriptions.js +94 -0
  86. package/dist/tools/schema-descriptions.js.map +1 -0
  87. package/dist/tools/scratchpad/tool/session-scratchpad.descriptor.d.ts.map +1 -1
  88. package/dist/tools/scratchpad/tool/session-scratchpad.descriptor.js +3 -2
  89. package/dist/tools/scratchpad/tool/session-scratchpad.descriptor.js.map +1 -1
  90. package/dist/tools/todos/list/handler.js +1 -1
  91. package/dist/tools/todos/list/handler.js.map +1 -1
  92. package/dist/tools/todos/list/schemas.d.ts +1 -0
  93. package/dist/tools/todos/list/schemas.d.ts.map +1 -1
  94. package/dist/tools/todos/list/schemas.js +5 -0
  95. package/dist/tools/todos/list/schemas.js.map +1 -1
  96. package/dist/tools/todos/tool/schemas/index.d.ts +1 -0
  97. package/dist/tools/todos/tool/schemas/index.d.ts.map +1 -1
  98. package/dist/tools/todos/tool/session-todo.descriptor.d.ts.map +1 -1
  99. package/dist/tools/todos/tool/session-todo.descriptor.js +3 -2
  100. package/dist/tools/todos/tool/session-todo.descriptor.js.map +1 -1
  101. package/dist/tools/todos/tool/session-todo.variant.list.impl.d.ts +1 -0
  102. package/dist/tools/todos/tool/session-todo.variant.list.impl.d.ts.map +1 -1
  103. package/dist/tools/workspace/tool/schemas/index.d.ts +8 -1
  104. package/dist/tools/workspace/tool/schemas/index.d.ts.map +1 -1
  105. package/dist/tools/workspace/tool/schemas/index.js +5 -1
  106. package/dist/tools/workspace/tool/schemas/index.js.map +1 -1
  107. package/dist/tools/workspace/tool/session-workspace.descriptor.d.ts.map +1 -1
  108. package/dist/tools/workspace/tool/session-workspace.descriptor.js +6 -3
  109. package/dist/tools/workspace/tool/session-workspace.descriptor.js.map +1 -1
  110. package/dist/tools/workspace/tool/session-workspace.variant.list.impl.d.ts +1 -0
  111. package/dist/tools/workspace/tool/session-workspace.variant.list.impl.d.ts.map +1 -1
  112. package/dist/tools/workspace/tool/session-workspace.variant.pair.impl.d.ts +1 -0
  113. package/dist/tools/workspace/tool/session-workspace.variant.pair.impl.d.ts.map +1 -1
  114. package/dist/tools/workspace/tool/session-workspace.variant.unpair.impl.d.ts +1 -0
  115. package/dist/tools/workspace/tool/session-workspace.variant.unpair.impl.d.ts.map +1 -1
  116. package/package.json +52 -19
@@ -1 +1 @@
1
- {"version":3,"file":"session.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/session.docs.descriptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/session.docs.descriptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Session index context descriptor (`session/index`, ADR-0020 slice 3).
3
+ */
4
+ declare const _default: {
5
+ id: string;
6
+ kind: "context";
7
+ name?: string | undefined;
8
+ description?: string | undefined;
9
+ tags?: string[] | undefined;
10
+ hardware?: string[] | undefined;
11
+ enabled?: boolean | undefined;
12
+ priority?: number | undefined;
13
+ capabilityId?: string | undefined;
14
+ requiredContext?: string[] | undefined;
15
+ optionalContext?: string[] | undefined;
16
+ retention?: string | {
17
+ reason: string;
18
+ maxAgeDays?: number | undefined;
19
+ maxEntries?: number | undefined;
20
+ maxBytes?: number | undefined;
21
+ cascadeFrom?: string | undefined;
22
+ ageField?: string | undefined;
23
+ enforcedBy?: string | undefined;
24
+ } | undefined;
25
+ valueKind?: "data" | "service" | undefined;
26
+ valueSchema?: unknown;
27
+ config?: {
28
+ sources: ("literal" | "workspace" | "floor")[];
29
+ subset?: true | undefined;
30
+ } | undefined;
31
+ };
32
+ export default _default;
33
+ //# sourceMappingURL=session-index.context.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-index.context.descriptor.d.ts","sourceRoot":"","sources":["../../src/index/session-index.context.descriptor.ts"],"names":[],"mappings":"AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH,wBAIG"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Session index context descriptor (`session/index`, ADR-0020 slice 3).
3
+ */
4
+ import { createContextDescriptor } from '@vibesdotdev/kernel/factory/context';
5
+ import { SESSION_INDEX_CONTEXT_ID } from "./session-index.js";
6
+ export default createContextDescriptor({
7
+ id: SESSION_INDEX_CONTEXT_ID,
8
+ description: 'Which workspace holds a session, machine-wide: get(sessionId) and put(entry); a put naming another root refuses CONFLICT session-duplicate.',
9
+ hardware: ['consumer']
10
+ });
11
+ //# sourceMappingURL=session-index.context.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-index.context.descriptor.js","sourceRoot":"","sources":["../../src/index/session-index.context.descriptor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,eAAe,uBAAuB,CAAC;IACtC,EAAE,EAAE,wBAAwB;IAC5B,WAAW,EAAE,6IAA6I;IAC1J,QAAQ,EAAE,CAAC,UAAU,CAAC;CACtB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { VibesRuntime } from '@vibesdotdev/kernel';
2
+ import { type SessionIndex } from './session-index.ts';
3
+ /** The session index over the resolving runtime's global `session.index` record. */
4
+ declare const defaultExport: {
5
+ provide: (runtime: VibesRuntime) => Promise<SessionIndex>;
6
+ };
7
+ export default defaultExport;
8
+ //# sourceMappingURL=session-index.context.impl.consumer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-index.context.impl.consumer.d.ts","sourceRoot":"","sources":["../../src/index/session-index.context.impl.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3E,oFAAoF;AACpF,QAAA,MAAM,aAAa;uBACO,YAAY,KAAG,OAAO,CAAC,YAAY,CAAC;CAC7D,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { createSessionIndex } from "./session-index.js";
2
+ /** The session index over the resolving runtime's global `session.index` record. */
3
+ const defaultExport = {
4
+ provide: async (runtime) => createSessionIndex(runtime)
5
+ };
6
+ export default defaultExport;
7
+ //# sourceMappingURL=session-index.context.impl.consumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-index.context.impl.consumer.js","sourceRoot":"","sources":["../../src/index/session-index.context.impl.consumer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,oFAAoF;AACpF,MAAM,aAAa,GAAG;IACrB,OAAO,EAAE,KAAK,EAAE,OAAqB,EAAyB,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;CAC5F,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * The session index (`session/index`, ADR-0020 slice 3): which workspace's store
3
+ * holds a session, machine-wide.
4
+ *
5
+ * - `get(sessionId)` answers the entry, or `null` when the index has none.
6
+ * - `put(entry)` records it. A session lives in one workspace: a put naming the
7
+ * indexed root again keeps the entry (its owner and archive stamp may be
8
+ * filled); a put naming another root refuses `CONFLICT session-duplicate`,
9
+ * including when two puts race on the same id.
10
+ *
11
+ * Owner fields are what a transport verified, never what a caller declared (the
12
+ * entry schema has room for nothing else). The main daemon runtime is the only
13
+ * writer; nothing here enforces who calls it.
14
+ */
15
+ import { type VibesRuntime } from '@vibesdotdev/kernel';
16
+ import { type SessionIndexEntry } from './session-index.record.descriptor.ts';
17
+ export declare const SESSION_INDEX_CONTEXT_ID = "session/index";
18
+ export declare const SESSION_INDEX_RECORD_ID = "session.index";
19
+ /** What `put` takes: the entry, with `createdAt` stamped when omitted. */
20
+ export type SessionIndexPut = Omit<SessionIndexEntry, 'createdAt'> & {
21
+ createdAt?: string;
22
+ };
23
+ export interface SessionIndex {
24
+ get(sessionId: string): Promise<SessionIndexEntry | null>;
25
+ put(entry: SessionIndexPut): Promise<SessionIndexEntry>;
26
+ }
27
+ /** The session index over `runtime`'s `session.index` record. */
28
+ export declare function createSessionIndex(runtime: VibesRuntime): SessionIndex;
29
+ //# sourceMappingURL=session-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-index.d.ts","sourceRoot":"","sources":["../../src/index/session-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAGvG,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AACxD,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5F,MAAM,WAAW,YAAY;IAC5B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC1D,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxD;AAWD,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAuCtE"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * The session index (`session/index`, ADR-0020 slice 3): which workspace's store
3
+ * holds a session, machine-wide.
4
+ *
5
+ * - `get(sessionId)` answers the entry, or `null` when the index has none.
6
+ * - `put(entry)` records it. A session lives in one workspace: a put naming the
7
+ * indexed root again keeps the entry (its owner and archive stamp may be
8
+ * filled); a put naming another root refuses `CONFLICT session-duplicate`,
9
+ * including when two puts race on the same id.
10
+ *
11
+ * Owner fields are what a transport verified, never what a caller declared (the
12
+ * entry schema has room for nothing else). The main daemon runtime is the only
13
+ * writer; nothing here enforces who calls it.
14
+ */
15
+ import { CapabilityError } from '@vibesdotdev/kernel';
16
+ import { StorageRecord } from '@vibesdotdev/storage/record';
17
+ import { SessionIndexEntrySchema } from "./session-index.record.descriptor.js";
18
+ import { isUniqueConstraintError, writeOrRecover } from "../storage/write-or-recover.js";
19
+ export const SESSION_INDEX_CONTEXT_ID = 'session/index';
20
+ export const SESSION_INDEX_RECORD_ID = 'session.index';
21
+ function duplicate(sessionId, indexedRoot, namedRoot) {
22
+ return new CapabilityError('This session is already indexed in another workspace.', 'CONFLICT', {
23
+ reason: 'session-duplicate',
24
+ retryable: false,
25
+ details: { sessionId, indexedRoot, namedRoot },
26
+ recoveryHint: 'A session lives in one workspace; address it there.'
27
+ });
28
+ }
29
+ /** The session index over `runtime`'s `session.index` record. */
30
+ export function createSessionIndex(runtime) {
31
+ const descriptor = runtime.query('storage/record').withId(SESSION_INDEX_RECORD_ID).firstDescriptor();
32
+ if (!descriptor) {
33
+ throw new CapabilityError(`Storage record ${SESSION_INDEX_RECORD_ID} is not registered.`, 'NOT_FOUND', {
34
+ reason: 'not-registered',
35
+ details: { kind: 'storage/record', id: SESSION_INDEX_RECORD_ID }
36
+ });
37
+ }
38
+ const record = new StorageRecord(descriptor, { runtime });
39
+ /** Keep `existing` when it names `entry`'s root, filling what it lacks; refuse otherwise. */
40
+ const settle = async (existing, entry) => {
41
+ if (existing.workspaceRoot !== entry.workspaceRoot)
42
+ throw duplicate(entry.sessionId, existing.workspaceRoot, entry.workspaceRoot);
43
+ const fill = {};
44
+ if (!existing.owner && entry.owner)
45
+ fill.owner = entry.owner;
46
+ if (!existing.archivedAt && entry.archivedAt)
47
+ fill.archivedAt = entry.archivedAt;
48
+ return Object.keys(fill).length ? record.update(entry.sessionId, fill) : existing;
49
+ };
50
+ return {
51
+ get: (sessionId) => record.get(sessionId),
52
+ async put(input) {
53
+ const entry = SessionIndexEntrySchema.parse({
54
+ ...input,
55
+ createdAt: input.createdAt ?? new Date().toISOString()
56
+ });
57
+ const existing = await record.get(entry.sessionId);
58
+ if (existing)
59
+ return settle(existing, entry);
60
+ // Another put created the row between the read and this write: settle against it.
61
+ return writeOrRecover(() => record.create(entry), async () => {
62
+ const raced = await record.get(entry.sessionId);
63
+ return raced ? settle(raced, entry) : null;
64
+ }, isUniqueConstraintError);
65
+ }
66
+ };
67
+ }
68
+ //# sourceMappingURL=session-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-index.js","sourceRoot":"","sources":["../../src/index/session-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Session Index Storage Record Descriptor (`session.index`, ADR-0020 slice 3)
3
+ *
4
+ * One machine-wide row per session: which workspace's store holds it. Global
5
+ * scope, `{vibesHome}/sessions-index.db`. The main daemon runtime is its only
6
+ * writer (through `session/index`); a workspace's own `sessions.db` stays the
7
+ * truth about the session itself.
8
+ */
9
+ import * as z from 'zod/v4';
10
+ import type { StorageRecordDescriptorInput } from '@vibesdotdev/storage/schemas/record';
11
+ /**
12
+ * Who owns an indexed session: what a transport verified (`source`) and only the
13
+ * identity fields it verified. Seat data and declared fields have no place here.
14
+ */
15
+ export declare const SessionIndexOwnerSchema: z.ZodObject<{
16
+ source: z.ZodString;
17
+ caller: z.ZodObject<{
18
+ agentId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
19
+ harness: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
20
+ agentSystemId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
21
+ harnessSessionId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
22
+ userId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
23
+ orgId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
24
+ projectId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
25
+ }, z.core.$strict>;
26
+ }, z.core.$strict>;
27
+ export declare const SessionIndexEntrySchema: z.ZodObject<{
28
+ sessionId: z.ZodString;
29
+ workspaceRoot: z.ZodString;
30
+ owner: z.ZodOptional<z.ZodObject<{
31
+ source: z.ZodString;
32
+ caller: z.ZodObject<{
33
+ agentId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
34
+ harness: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
35
+ agentSystemId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
36
+ harnessSessionId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
37
+ userId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
38
+ orgId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
39
+ projectId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
40
+ }, z.core.$strict>;
41
+ }, z.core.$strict>>;
42
+ createdAt: z.ZodString;
43
+ archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
+ }, z.core.$strict>;
45
+ export type SessionIndexOwner = z.infer<typeof SessionIndexOwnerSchema>;
46
+ export type SessionIndexEntry = z.infer<typeof SessionIndexEntrySchema>;
47
+ export declare const sessionIndexRecordDescriptor: StorageRecordDescriptorInput;
48
+ export default sessionIndexRecordDescriptor;
49
+ //# sourceMappingURL=session-index.record.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-index.record.descriptor.d.ts","sourceRoot":"","sources":["../../src/index/session-index.record.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAOxF;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;kBAGzB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;kBAOzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,4BAA4B,EAAE,4BAiC1C,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Session Index Storage Record Descriptor (`session.index`, ADR-0020 slice 3)
3
+ *
4
+ * One machine-wide row per session: which workspace's store holds it. Global
5
+ * scope, `{vibesHome}/sessions-index.db`. The main daemon runtime is its only
6
+ * writer (through `session/index`); a workspace's own `sessions.db` stays the
7
+ * truth about the session itself.
8
+ */
9
+ import * as z from 'zod/v4';
10
+ import { INVOKE_CALLER_IDENTITY_FIELDS, RuntimeInvokeCallerSchema } from '@vibesdotdev/kernel/schemas/invoke-caller';
11
+ // SAFETY: fromEntries maps every INVOKE_CALLER_IDENTITY_FIELDS entry to `true`, so each key of the mapped type is present.
12
+ const IDENTITY_MASK = Object.fromEntries(INVOKE_CALLER_IDENTITY_FIELDS.map((field) => [field, true]));
13
+ /**
14
+ * Who owns an indexed session: what a transport verified (`source`) and only the
15
+ * identity fields it verified. Seat data and declared fields have no place here.
16
+ */
17
+ export const SessionIndexOwnerSchema = z.object({
18
+ source: z.string().min(1),
19
+ caller: RuntimeInvokeCallerSchema.pick(IDENTITY_MASK).strict()
20
+ }).strict();
21
+ export const SessionIndexEntrySchema = z.object({
22
+ sessionId: z.string().min(1),
23
+ /** The admitted workspace root whose store holds the session. */
24
+ workspaceRoot: z.string().min(1),
25
+ owner: SessionIndexOwnerSchema.optional(),
26
+ createdAt: z.string().datetime(),
27
+ archivedAt: z.string().datetime().nullable().optional()
28
+ }).strict();
29
+ export const sessionIndexRecordDescriptor = {
30
+ kind: 'storage/record',
31
+ id: 'session.index',
32
+ name: 'Session Index',
33
+ description: 'Machine-wide map from a session id to the workspace whose store holds it (ADR-0020)',
34
+ schema: SessionIndexEntrySchema,
35
+ tableName: 'session_index',
36
+ primaryKey: 'sessionId',
37
+ relations: {},
38
+ indexes: [{ name: 'idx_session_index_root', fields: ['workspaceRoot'], unique: false }],
39
+ version: 1,
40
+ timestamps: false,
41
+ autoId: false,
42
+ allowedAdapters: ['storage.localdb'],
43
+ defaultAdapter: 'storage.localdb',
44
+ adapterConfig: {
45
+ 'storage.localdb': { dbName: 'sessions-index.db', scope: 'global' }
46
+ },
47
+ scope: 'global',
48
+ validateOnWrite: true,
49
+ validateOnRead: false,
50
+ versioning: false,
51
+ audit: false,
52
+ changeTracking: false,
53
+ internal: false,
54
+ softDelete: false,
55
+ namespace: 'session.index',
56
+ tags: ['session', 'index', 'workspace']
57
+ };
58
+ export default sessionIndexRecordDescriptor;
59
+ //# sourceMappingURL=session-index.record.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-index.record.descriptor.js","sourceRoot":"","sources":["../../src/index/session-index.record.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAGrH,2HAA2H;AAC3H,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAa,CAAC,CAAC,CAE5G,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE;CAC9D,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,iEAAiE;IACjE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC,MAAM,EAAE,CAAC;AAKZ,MAAM,CAAC,MAAM,4BAA4B,GAAiC;IACzE,IAAI,EAAE,gBAAgB;IACtB,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,qFAAqF;IAClG,MAAM,EAAE,uBAAuB;IAC/B,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE,WAAW;IAEvB,SAAS,EAAE,EAAE;IAEb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEvF,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,KAAK;IAEb,eAAe,EAAE,CAAC,iBAAiB,CAAC;IACpC,cAAc,EAAE,iBAAiB;IACjC,aAAa,EAAE;QACd,iBAAiB,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;KACnE;IACD,KAAK,EAAE,QAAQ;IAEf,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,KAAK;IACrB,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,KAAK;IACZ,cAAc,EAAE,KAAK;IACrB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;CACvC,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
package/dist/manager.d.ts CHANGED
@@ -433,7 +433,28 @@ export declare class SessionManager {
433
433
  * refused (chosen).
434
434
  */
435
435
  registerInstance(input: RegisterInstanceInput): Promise<ParticipantConnection>;
436
- /** Free `handle` when its holder is no longer live, so a new instance can take it. */
436
+ /** The handle `input`'s own conversation holds under another instance key it succeeds, if any. */
437
+ private conversationHandle;
438
+ /**
439
+ * Whether a new key of the same conversation succeeds `row`: the row has
440
+ * lapsed, or it is on the same transport (a restart). A conversation live
441
+ * on two transports at once (an MCP connection and an in-process host) is
442
+ * two instances, and neither takes the other's handle or closes it.
443
+ */
444
+ private static succeeds;
445
+ /**
446
+ * The preferred handle an instance may take: sanitized, and not another
447
+ * participant's name (a live handle resolves ahead of slugs, so it would
448
+ * capture that participant's messages). Undefined when there is none.
449
+ */
450
+ private usablePreferredHandle;
451
+ /**
452
+ * Free `handle` for `claimant` when its holder is no longer live, or when the
453
+ * holder is the claimant's own conversation under another instance key the
454
+ * claimant succeeds (same participant, same harness conversation; lapsed or on
455
+ * the same transport): one conversation is one seat, so the stale key is
456
+ * closed and the handle moves with it.
457
+ */
437
458
  private releaseExpiredHandle;
438
459
  /** The live instance holding `handle`, if any. */
439
460
  liveInstanceByHandle(handle: string): Promise<ParticipantConnection | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
package/dist/manager.js CHANGED
@@ -18,7 +18,7 @@ import { getVibesClient } from '@vibesdotdev/kernel/client';
18
18
  import { JsonValueSchema as JsonSchema } from '@vibesdotdev/kernel/schemas/json';
19
19
  import { getLogger } from '@vibesdotdev/logging';
20
20
  import { StorageRecord } from '@vibesdotdev/storage/record';
21
- import { storageFailureCondition } from '@vibesdotdev/storage/record/failure-condition';
21
+ import { isUniqueConstraintError, writeOrRecover } from "./storage/write-or-recover.js";
22
22
  import { ScratchpadContentTypeSchema } from "./schemas/index.js";
23
23
  import { HarnessSeatRegistrationSchema, HarnessSeatSchema, harnessSeatParticipantId, harnessSeatSlug } from "./schemas/harness-seat.js";
24
24
  import { ensureSessionContextWithManager, getOrCreateMCPParticipant, resolveParticipantReference, participantSlugOf, sanitizeSlugCandidate, scanParticipantsBySlug } from "./mcp/utils/participant.js";
@@ -31,44 +31,6 @@ const SESSION_STATE_MCP_PREFIX = 'mcp:';
31
31
  const PARTICIPANT_ACTIVE_WINDOW_MS = 5 * 60 * 1000;
32
32
  /** The runtime client id notifications register their delivery client under. */
33
33
  const NOTIFICATIONS_CLIENT_ID = 'notifications.delivery';
34
- /**
35
- * Whether a storage write lost a unique-index race. LocalDB's driver classifies
36
- * the collision on its typed refusal (`unique-constraint`); the adapter's text
37
- * is never read. A conflict another adapter reports untyped is not recognised
38
- * here and propagates (cross-lane: storage has no adapter-neutral conflict code).
39
- */
40
- function isUniqueConstraintError(failure) {
41
- return storageFailureCondition(failure) === 'unique-constraint';
42
- }
43
- /**
44
- * Run `write`; when it fails with a failure `recoverable` admits, run
45
- * `recover` instead. Any other failure of `write`, and a recovery that finds
46
- * nothing (`null`), rethrows the write's own failure; a recovery that throws
47
- * carries its own failure. The write's failure is never dropped.
48
- */
49
- async function writeOrRecover(write, recover, recoverable) {
50
- let lost;
51
- const steps = [
52
- write,
53
- async () => {
54
- if (!recoverable(CaughtFailureSchema.parse(lost)))
55
- throw lost;
56
- const recovered = await recover();
57
- if (recovered === null)
58
- throw lost;
59
- return recovered;
60
- }
61
- ];
62
- for (const step of steps) {
63
- try {
64
- return await step();
65
- }
66
- catch (error) {
67
- lost = error;
68
- }
69
- }
70
- throw lost;
71
- }
72
34
  /** Any write failure admits a recovery read (the recovery itself confirms the race). */
73
35
  function anyFailure() {
74
36
  return true;
@@ -1870,8 +1832,14 @@ export class SessionManager {
1870
1832
  });
1871
1833
  }
1872
1834
  }
1873
- const kept = existing && SessionManager.isLiveInstance(existing, nowIso) ? existing.activeHandle ?? undefined : undefined;
1835
+ // The handle this key's own row still holds, live or lapsed: handles are
1836
+ // unique, so a lapsed row that still holds one holds it for no one else.
1837
+ const kept = existing && !existing.disconnectedAt ? existing.activeHandle ?? undefined : undefined;
1874
1838
  const base = input.agentId ?? input.harness ?? input.clientName;
1839
+ const preferred = chosen ? undefined : await this.usablePreferredHandle(input, existing);
1840
+ // A conversation arriving under a new key (its id changed) keeps the handle
1841
+ // it holds under the old one: one conversation is one seat.
1842
+ const inherited = chosen || kept ? undefined : await this.conversationHandle(input, nowIso);
1875
1843
  const fields = {
1876
1844
  participantId: input.participantId ?? existing?.participantId,
1877
1845
  clientName: input.clientName,
@@ -1883,14 +1851,23 @@ export class SessionManager {
1883
1851
  agentId: input.agentId,
1884
1852
  harness: input.harness,
1885
1853
  harnessSessionId: input.harnessSessionId,
1854
+ homeWorkspace: input.homeWorkspace ?? existing?.homeWorkspace ?? null,
1886
1855
  lastHeartbeatAt: nowAt,
1887
1856
  expiresAt,
1888
1857
  disconnectedAt: null
1889
1858
  };
1859
+ // The handle to try, in order: the one demanded; else the one preferred (the
1860
+ // seat's home handle), then the one already held, then a random one.
1861
+ const candidates = chosen ? [] : [preferred, kept ?? inherited].filter((handle) => !!handle);
1890
1862
  for (let attempt = 0; attempt < SessionManager.INSTANCE_HANDLE_ATTEMPTS; attempt++) {
1891
- const handle = chosen ?? (attempt === 0 && kept ? kept : SessionManager.randomHandle(base));
1892
- if (handle !== existing?.activeHandle)
1893
- await this.releaseExpiredHandle(handle, input.instanceId, nowIso);
1863
+ const handle = chosen ?? candidates[attempt] ?? SessionManager.randomHandle(base);
1864
+ if (handle !== existing?.activeHandle) {
1865
+ await this.releaseExpiredHandle(handle, input.instanceId, nowIso, {
1866
+ participantId: fields.participantId,
1867
+ harnessSessionId: input.harnessSessionId,
1868
+ transport: input.transport
1869
+ });
1870
+ }
1894
1871
  const row = { ...fields, handle, activeHandle: handle };
1895
1872
  const written = await settle(() => existing
1896
1873
  ? storage.update(input.instanceId, row)
@@ -1919,8 +1896,50 @@ export class SessionManager {
1919
1896
  reason: 'instance-handle-exhausted'
1920
1897
  });
1921
1898
  }
1922
- /** Free `handle` when its holder is no longer live, so a new instance can take it. */
1923
- async releaseExpiredHandle(handle, claimant, nowIso) {
1899
+ /** The handle `input`'s own conversation holds under another instance key it succeeds, if any. */
1900
+ async conversationHandle(input, nowIso) {
1901
+ if (!input.harnessSessionId || !input.participantId)
1902
+ return undefined;
1903
+ const rows = await this.connectionsStorage.list({
1904
+ where: { harnessSessionId: input.harnessSessionId, participantId: input.participantId },
1905
+ limit: 10
1906
+ });
1907
+ const sibling = rows.items.find((row) => row.connectionId !== input.instanceId &&
1908
+ !!row.activeHandle &&
1909
+ !row.disconnectedAt &&
1910
+ SessionManager.succeeds(row, input.transport, nowIso));
1911
+ return sibling?.activeHandle ?? undefined;
1912
+ }
1913
+ /**
1914
+ * Whether a new key of the same conversation succeeds `row`: the row has
1915
+ * lapsed, or it is on the same transport (a restart). A conversation live
1916
+ * on two transports at once (an MCP connection and an in-process host) is
1917
+ * two instances, and neither takes the other's handle or closes it.
1918
+ */
1919
+ static succeeds(row, transport, nowIso) {
1920
+ return !SessionManager.isLiveInstance(row, nowIso) || (!!transport && row.transport === transport);
1921
+ }
1922
+ /**
1923
+ * The preferred handle an instance may take: sanitized, and not another
1924
+ * participant's name (a live handle resolves ahead of slugs, so it would
1925
+ * capture that participant's messages). Undefined when there is none.
1926
+ */
1927
+ async usablePreferredHandle(input, existing) {
1928
+ const preferred = input.preferredHandle?.trim() ? sanitizeSlugCandidate(input.preferredHandle) : undefined;
1929
+ if (!preferred)
1930
+ return undefined;
1931
+ const named = (await scanParticipantsBySlug(this, preferred)).match;
1932
+ const actsAs = input.participantId ?? existing?.participantId;
1933
+ return named && named.participantId !== actsAs ? undefined : preferred;
1934
+ }
1935
+ /**
1936
+ * Free `handle` for `claimant` when its holder is no longer live, or when the
1937
+ * holder is the claimant's own conversation under another instance key the
1938
+ * claimant succeeds (same participant, same harness conversation; lapsed or on
1939
+ * the same transport): one conversation is one seat, so the stale key is
1940
+ * closed and the handle moves with it.
1941
+ */
1942
+ async releaseExpiredHandle(handle, claimant, nowIso, seat = {}) {
1924
1943
  const held = await this.connectionsStorage.list({
1925
1944
  where: { activeHandle: handle },
1926
1945
  limit: 1
@@ -1928,6 +1947,14 @@ export class SessionManager {
1928
1947
  const holder = held.items[0];
1929
1948
  if (!holder || holder.connectionId === claimant)
1930
1949
  return;
1950
+ const sameConversation = !!seat.harnessSessionId &&
1951
+ holder.harnessSessionId === seat.harnessSessionId &&
1952
+ !!seat.participantId &&
1953
+ holder.participantId === seat.participantId;
1954
+ if (sameConversation && SessionManager.succeeds(holder, seat.transport, nowIso)) {
1955
+ await this.closeInstance(holder.connectionId);
1956
+ return;
1957
+ }
1931
1958
  if (SessionManager.isLiveInstance(holder, nowIso))
1932
1959
  return;
1933
1960
  await this.connectionsStorage.update(holder.connectionId, { activeHandle: null });