@nyte-ai/schema 0.0.27 → 0.0.28-nightly.20261104.54

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 (32) hide show
  1. package/dist/chunks/{browser-va00q82t.js → browser-0e0x4ear.js} +1 -1
  2. package/dist/chunks/{browser-2de97wy9.js → browser-3zr8fhc1.js} +22 -2
  3. package/dist/chunks/{browser-9jds4zd3.js → browser-b985t0h5.js} +1 -1
  4. package/dist/chunks/{browser-1d594pfy.js → browser-dj3qnmds.js} +5 -1
  5. package/dist/chunks/{browser-hmjz4pq1.js → browser-g0ez96bm.js} +5 -4
  6. package/dist/chunks/browser-nj57kstn.js +108 -0
  7. package/dist/chunks/{browser-n0nykn4c.js → browser-pj9xet8b.js} +1 -1
  8. package/dist/chunks/{browser-zzv5wce6.js → browser-pns0q83f.js} +2 -1
  9. package/dist/chunks/{browser-peqre1gb.js → browser-r5sv33r1.js} +5 -5
  10. package/dist/chunks/{browser-b65vf90n.js → browser-y7sq1h0h.js} +1 -1
  11. package/dist/src/connection.d.ts +20 -0
  12. package/dist/src/connection.js +3 -2
  13. package/dist/src/events.d.ts +2 -0
  14. package/dist/src/events.js +2 -2
  15. package/dist/src/ids.d.ts +1 -0
  16. package/dist/src/index.d.ts +1 -0
  17. package/dist/src/index.js +29 -9
  18. package/dist/src/projects.d.ts +82 -0
  19. package/dist/src/projects.js +26 -0
  20. package/dist/src/sessions.d.ts +4 -1
  21. package/dist/src/sessions.js +1 -1
  22. package/dist/src/store.d.ts +1 -0
  23. package/dist/src/store.js +3 -3
  24. package/dist/src/views.js +2 -2
  25. package/dist/src/wire/operations/host.d.ts +107 -0
  26. package/dist/src/wire/operations/host.js +4 -3
  27. package/dist/src/wire/operations/index.d.ts +112 -3
  28. package/dist/src/wire/operations/index.js +9 -8
  29. package/dist/src/wire/operations/session.d.ts +3 -1
  30. package/dist/src/wire/operations/session.js +3 -3
  31. package/dist/src/wire/operations/workspace.js +2 -2
  32. package/package.json +1 -1
@@ -43,7 +43,7 @@ import {
43
43
  } from "./browser-zpmvm43p.js";
44
44
  import {
45
45
  SessionCatalogViewType2
46
- } from "./browser-zzv5wce6.js";
46
+ } from "./browser-pns0q83f.js";
47
47
 
48
48
  // src/views.ts
49
49
  import { Type } from "typebox";
@@ -30,6 +30,11 @@ import {
30
30
  PluginCheckReportSchema2,
31
31
  PluginReplacementReportSchema2
32
32
  } from "./browser-6kfxrya6.js";
33
+ import {
34
+ ProjectPatchType2,
35
+ ProjectInputType2,
36
+ ProjectInfoSchema2
37
+ } from "./browser-nj57kstn.js";
33
38
  import {
34
39
  WorkspaceTargetType2,
35
40
  WorkspaceInfoType2,
@@ -42,11 +47,11 @@ import {
42
47
  SessionInfoType2,
43
48
  SessionsReadType2,
44
49
  SessionCatalogViewSchema2
45
- } from "./browser-zzv5wce6.js";
50
+ } from "./browser-pns0q83f.js";
46
51
  import {
47
52
  HostViewWireSchema2,
48
53
  SettingOutcomeSchema2
49
- } from "./browser-1d594pfy.js";
54
+ } from "./browser-dj3qnmds.js";
50
55
  import {
51
56
  PromptOverrideType2
52
57
  } from "./browser-yhzp7eyw.js";
@@ -233,6 +238,20 @@ var HOST_OPERATIONS2 = {
233
238
  input: wireObject2({ id: Type.String(), value: JsonType2 }),
234
239
  output: SettingOutcomeSchema2
235
240
  },
241
+ "projects.create": {
242
+ ...PARTICIPANT,
243
+ summary: "Creates a project in a workspace, with the brief its lead chat follows.",
244
+ kind: "command",
245
+ input: wireObject2({ input: ProjectInputType2 }),
246
+ output: ProjectInfoSchema2
247
+ },
248
+ "project.update": {
249
+ ...PARTICIPANT,
250
+ summary: "Edits a project's name, brief, goal, worker model or archived state.",
251
+ kind: "command",
252
+ input: wireObject2({ project: idSchema2(), patch: ProjectPatchType2 }),
253
+ output: ProjectInfoSchema2
254
+ },
236
255
  "workspaces.list": {
237
256
  ...PARTICIPANT,
238
257
  mcp: "read",
@@ -291,6 +310,7 @@ var HOST_OPERATIONS2 = {
291
310
  isolation: Type.Optional(Type.Literal("worktree")),
292
311
  contextFiles: Type.Optional(Type.Literal(false)),
293
312
  side: Type.Optional(Type.Literal(true)),
313
+ project: Type.Optional(idSchema2()),
294
314
  content: UserContentType2
295
315
  }),
296
316
  output: wireObject2({
@@ -35,7 +35,7 @@ import {
35
35
  WorkspaceCatalogViewType2,
36
36
  CommandCompletionsSchema2,
37
37
  WorkspaceCommandOutcomeSchema2
38
- } from "./browser-zzv5wce6.js";
38
+ } from "./browser-pns0q83f.js";
39
39
  import {
40
40
  wireSchema2,
41
41
  wireObject2,
@@ -23,9 +23,12 @@ import {
23
23
  AuthorityType2,
24
24
  TailnetStatusType2
25
25
  } from "./browser-6kfxrya6.js";
26
+ import {
27
+ ProjectInfoType2
28
+ } from "./browser-nj57kstn.js";
26
29
  import {
27
30
  SettingInfoType2
28
- } from "./browser-zzv5wce6.js";
31
+ } from "./browser-pns0q83f.js";
29
32
 
30
33
  // src/connection.ts
31
34
  import { Type } from "typebox";
@@ -61,6 +64,7 @@ var HostViewWireType2 = Type.Object({
61
64
  blob: idSchema2()
62
65
  })),
63
66
  defaultWorkspace: nullable2(idSchema2()),
67
+ projects: Type.Array(ProjectInfoType2),
64
68
  authority: Type.Array(AuthorityType2),
65
69
  principal: idSchema2(),
66
70
  tailnet: Type.Optional(TailnetStatusType2)
@@ -47,7 +47,7 @@ import {
47
47
  UpdateOutcomeSchema2,
48
48
  RemoveSessionOutcomeSchema2,
49
49
  ForkOutcomeSchema2
50
- } from "./browser-zzv5wce6.js";
50
+ } from "./browser-pns0q83f.js";
51
51
  import {
52
52
  ViewOptionsType2,
53
53
  UserStatusType2,
@@ -56,7 +56,7 @@ import {
56
56
  ResumeType2,
57
57
  HeadWindowType2,
58
58
  SessionViewSchema2
59
- } from "./browser-va00q82t.js";
59
+ } from "./browser-0e0x4ear.js";
60
60
  import {
61
61
  wireSchema2,
62
62
  wireObject2,
@@ -96,7 +96,7 @@ var SESSION_OPERATIONS2 = {
96
96
  },
97
97
  "session.update": {
98
98
  ...PARTICIPANT,
99
- summary: "Renames, pins, archives or moves a session to another workspace.",
99
+ summary: "Renames, pins, archives or moves a session to another workspace or project.",
100
100
  kind: "command",
101
101
  input: wireObject2({
102
102
  ...SESSION2,
@@ -104,7 +104,8 @@ var SESSION_OPERATIONS2 = {
104
104
  name: Type.Optional(nullable2(Type.String())),
105
105
  pinned: Type.Optional(Type.Boolean()),
106
106
  archived: Type.Optional(Type.Boolean()),
107
- workspace: Type.Optional(idSchema2())
107
+ workspace: Type.Optional(idSchema2()),
108
+ project: Type.Optional(nullable2(idSchema2()))
108
109
  })
109
110
  }),
110
111
  output: UpdateOutcomeSchema2
@@ -0,0 +1,108 @@
1
+ import {
2
+ standard2
3
+ } from "./browser-8k7kh9y4.js";
4
+ import {
5
+ idSchema2
6
+ } from "./browser-kevgsmcz.js";
7
+ import {
8
+ nullable2
9
+ } from "./browser-4et7qtz3.js";
10
+ import {
11
+ ModelRefType2
12
+ } from "./browser-kj15rn0m.js";
13
+
14
+ // src/projects.ts
15
+ import { Type } from "typebox";
16
+ var ProjectUntilType2 = Type.Union([
17
+ Type.Object({ kind: Type.Literal("standing") }),
18
+ Type.Object({ kind: Type.Literal("goal"), goal: Type.String({ minLength: 1 }) })
19
+ ]);
20
+ var ProjectInfoType2 = Type.Object({
21
+ id: idSchema2(),
22
+ name: Type.String({ minLength: 1, maxLength: 80 }),
23
+ brief: Type.String(),
24
+ until: ProjectUntilType2,
25
+ workspace: idSchema2(),
26
+ lead: nullable2(idSchema2()),
27
+ worker: nullable2(ModelRefType2),
28
+ archived: Type.Boolean(),
29
+ createdAt: Type.Number()
30
+ });
31
+ var PROJECT_EDITABLE2 = ["name", "brief", "until", "worker", "archived"];
32
+ var ProjectPatchType2 = Type.Partial(Type.Pick(ProjectInfoType2, PROJECT_EDITABLE2), {
33
+ additionalProperties: false
34
+ });
35
+ var PROJECT = ProjectInfoType2.properties;
36
+ var ProjectInputType2 = Type.Object({
37
+ name: PROJECT.name,
38
+ brief: PROJECT.brief,
39
+ until: PROJECT.until,
40
+ workspace: PROJECT.workspace,
41
+ worker: Type.Optional(PROJECT.worker)
42
+ });
43
+ var ProjectInfoSchema2 = standard2(ProjectInfoType2);
44
+ function projectRole2(project, session) {
45
+ return project.lead === session ? "lead" : "unit";
46
+ }
47
+ function indexProjects2(projects) {
48
+ return new Map(projects.map((project) => [project.id, project]));
49
+ }
50
+ function projectPrompt2(project, role) {
51
+ return `${FRAMING[role](project)}
52
+
53
+ ${brief(project)}`;
54
+ }
55
+ var FRAMING = {
56
+ lead: (project) => [
57
+ `You lead the project “${project.name}”. ${until(project)} This chat keeps going and holds the project's state. You triage, brief, review and decide; units do the work.`,
58
+ [
59
+ "Units",
60
+ `- A unit is one change with one owner, in a chat of its own the user can open and talk to. Start it with create, a title naming the change, and isolation "worktree" when it edits files. ${worker(project)}`,
61
+ "- Its brief is self-contained, since it sees none of this chat: the goal, the evidence (path:line, repro steps), the constraints, the skills to read first, and the done check.",
62
+ "- Follow up with send and collect with await. Every finished reply reaches you as a report, including replies to the user when they talk to a unit directly. When the user moves a chat into the project, a message tells you: take it on as a unit.",
63
+ "- Do yourself what is shorter than briefing it: triage, questions, reviews. Don't split small work across units."
64
+ ].join(`
65
+ `),
66
+ [
67
+ "Lifecycle",
68
+ "queued → writing → proving → review → committed → pull request → done. A unit moves forward only on evidence: the failing check before, the same check passing after, and the diff you reviewed. Without it, send the unit back with path:line findings."
69
+ ].join(`
70
+ `),
71
+ [
72
+ "Asking the user",
73
+ "- Ask with the question tool, not in prose. One question per decision, two to four options. Put your recommendation first and end its label with (Recommended); each description says what that choice costs.",
74
+ "- Ask only what the code, the brief and git log can't settle. Decide the rest and name what you picked in the board's Next column.",
75
+ "- When a unit is blocked, settle what the brief already answers and ask the user only the rest.",
76
+ "- Always ask before merging, pushing to a branch the project didn't open, deleting work, or anything the brief doesn't cover."
77
+ ].join(`
78
+ `),
79
+ `End every reply with the board, one row per unit:
80
+ | Unit | State | Evidence | Next |`
81
+ ].join(`
82
+
83
+ `),
84
+ unit: (project) => [
85
+ `You work one unit of the project “${project.name}”, led by its lead chat. ${until(project)} Do the change in your first message and nothing else. The user can open this chat and talk to you: answer them, within your unit.`,
86
+ `Every reply you finish reaches the lead. End it with:
87
+ State: writing, proving, blocked or done
88
+ Changed: the files
89
+ Evidence: each command or check you ran and its result
90
+ Not verified: what you couldn't check`,
91
+ "Blocked on a decision you can't make: name it, list the options with your recommendation first, and stop. The lead asks the user."
92
+ ].join(`
93
+
94
+ `)
95
+ };
96
+ function until(project) {
97
+ return project.until.kind === "goal" ? `Its goal: ${project.until.goal}.` : "It is standing: it takes work as it comes.";
98
+ }
99
+ function worker(project) {
100
+ return project.worker === null ? "Units run on your model unless you name another." : `Start every unit on the model ${project.worker.provider}/${project.worker.id} unless the user asks otherwise.`;
101
+ }
102
+ function brief(project) {
103
+ return project.brief.trim() === "" ? "The project has no brief yet. Ask the user what it is for and how its work should be done." : `The project's brief:
104
+
105
+ ${project.brief.trim()}`;
106
+ }
107
+
108
+ export { ProjectUntilType2, ProjectInfoType2, PROJECT_EDITABLE2, ProjectPatchType2, ProjectInputType2, ProjectInfoSchema2, projectRole2, indexProjects2, projectPrompt2 };
@@ -13,7 +13,7 @@ import {
13
13
  } from "./browser-4et7qtz3.js";
14
14
  import {
15
15
  DurableEventType2
16
- } from "./browser-b65vf90n.js";
16
+ } from "./browser-y7sq1h0h.js";
17
17
 
18
18
  // src/store.ts
19
19
  import { Type } from "typebox";
@@ -52,7 +52,8 @@ var SessionInfoType2 = Type.Object({
52
52
  createdAt: Type.Number(),
53
53
  lastActivityAt: Type.Number(),
54
54
  mcp: Type.Optional(McpCeilingType2),
55
- side: Type.Optional(Type.Literal(true))
55
+ side: Type.Optional(Type.Literal(true)),
56
+ project: Type.Optional(idSchema2())
56
57
  });
57
58
  var SESSIONS_LIMIT2 = 50;
58
59
  var SessionsReadType2 = Type.Object({
@@ -23,17 +23,17 @@ import {
23
23
  import {
24
24
  HOST_OPERATIONS2,
25
25
  MAINTENANCE_OPERATIONS2
26
- } from "./browser-2de97wy9.js";
26
+ } from "./browser-3zr8fhc1.js";
27
27
  import {
28
28
  SESSION_OPERATIONS2
29
- } from "./browser-hmjz4pq1.js";
29
+ } from "./browser-g0ez96bm.js";
30
30
  import {
31
31
  WORKSPACE_OPERATIONS2
32
- } from "./browser-9jds4zd3.js";
32
+ } from "./browser-b985t0h5.js";
33
33
 
34
34
  // src/wire/operations/index.ts
35
- var API_REVISION2 = 12;
36
- var API_MIN_REVISION2 = 12;
35
+ var API_REVISION2 = 13;
36
+ var API_MIN_REVISION2 = 13;
37
37
  var OPERATIONS2 = {
38
38
  ...HOST_OPERATIONS2,
39
39
  ...EVENT_OPERATIONS2,
@@ -51,7 +51,7 @@ import {
51
51
  } from "./browser-zpmvm43p.js";
52
52
  import {
53
53
  SessionInfoType2
54
- } from "./browser-zzv5wce6.js";
54
+ } from "./browser-pns0q83f.js";
55
55
 
56
56
  // src/events.ts
57
57
  import { Type } from "typebox";
@@ -55,6 +55,26 @@ export declare const HostViewWireType: Type.TObject<{
55
55
  }>>;
56
56
  /** The workspace a session created without one runs in (Home), or null when the host has none. */
57
57
  defaultWorkspace: Type.TUnion<[Type.TUnsafe<import("./ids.ts").Id<"workspace">>, Type.TNull]>;
58
+ /** Every project on the host, archived ones included, oldest first. */
59
+ projects: Type.TArray<Type.TObject<{
60
+ id: Type.TUnsafe<import("./ids.ts").Id<"project">>;
61
+ name: Type.TString;
62
+ brief: Type.TString;
63
+ until: Type.TUnion<[Type.TObject<{
64
+ kind: Type.TLiteral<"standing">;
65
+ }>, Type.TObject<{
66
+ kind: Type.TLiteral<"goal">;
67
+ goal: Type.TString;
68
+ }>]>;
69
+ workspace: Type.TUnsafe<import("./ids.ts").Id<"workspace">>;
70
+ lead: Type.TUnion<[Type.TUnsafe<import("./ids.ts").Id<"session">>, Type.TNull]>;
71
+ worker: Type.TUnion<[Type.TObject<{
72
+ provider: Type.TString;
73
+ id: Type.TString;
74
+ }>, Type.TNull]>;
75
+ archived: Type.TBoolean;
76
+ createdAt: Type.TNumber;
77
+ }>>;
58
78
  authority: Type.TArray<Type.TEnum<["participant", "owner", "maintenance"]>>;
59
79
  principal: Type.TUnsafe<import("./ids.ts").Id<"principal">>;
60
80
  tailnet: Type.TOptional<Type.TObject<{
@@ -7,9 +7,10 @@ import {
7
7
  CredentialSourceWireSchema2,
8
8
  JournalEntrySchema2,
9
9
  SettingOutcomeSchema2
10
- } from "../chunks/browser-1d594pfy.js";
10
+ } from "../chunks/browser-dj3qnmds.js";
11
+ import"../chunks/browser-nj57kstn.js";
11
12
  import"../chunks/browser-103r6swq.js";
12
- import"../chunks/browser-zzv5wce6.js";
13
+ import"../chunks/browser-pns0q83f.js";
13
14
  import"../chunks/browser-zpmvm43p.js";
14
15
  import"../chunks/browser-ggsck4tk.js";
15
16
  import"../chunks/browser-xd8gxrhc.js";
@@ -870,6 +870,7 @@ export declare const DurableEventType: Type.TUnion<[Type.TObject<{
870
870
  ceiling: Type.TUnion<[Type.TLiteral<"ask">, Type.TLiteral<"auto-edit">, Type.TLiteral<"full">]>;
871
871
  }>>;
872
872
  side: Type.TOptional<Type.TLiteral<true>>;
873
+ project: Type.TOptional<Type.TUnsafe<import("./ids.ts").Id<"project">>>;
873
874
  }>;
874
875
  }>, Type.TObject<{
875
876
  head: Type.TUnion<[Type.TUnsafe<import("./ids.ts").Id<"head">>, Type.TNull]>;
@@ -1690,6 +1691,7 @@ export declare const SessionEventType: Type.TUnion<[Type.TObject<{
1690
1691
  ceiling: Type.TUnion<[Type.TLiteral<"ask">, Type.TLiteral<"auto-edit">, Type.TLiteral<"full">]>;
1691
1692
  }>>;
1692
1693
  side: Type.TOptional<Type.TLiteral<true>>;
1694
+ project: Type.TOptional<Type.TUnsafe<import("./ids.ts").Id<"project">>>;
1693
1695
  }>;
1694
1696
  }>, Type.TObject<{
1695
1697
  seq: Type.TUnsafe<import("./ids.ts").Seq>;
@@ -7,10 +7,10 @@ import {
7
7
  DurableEventSchema2,
8
8
  SessionEventSchema2,
9
9
  PatchEventSchema2
10
- } from "../chunks/browser-b65vf90n.js";
10
+ } from "../chunks/browser-y7sq1h0h.js";
11
11
  import"../chunks/browser-nyax6822.js";
12
12
  import"../chunks/browser-40hrvphv.js";
13
- import"../chunks/browser-zzv5wce6.js";
13
+ import"../chunks/browser-pns0q83f.js";
14
14
  import"../chunks/browser-zpmvm43p.js";
15
15
  import"../chunks/browser-ggsck4tk.js";
16
16
  import"../chunks/browser-xd8gxrhc.js";
package/dist/src/ids.d.ts CHANGED
@@ -17,6 +17,7 @@ export type ReceiptId = Id<"receipt">;
17
17
  export type JobId = Id<"job">;
18
18
  export type JobKey = Id<"job-key">;
19
19
  export type WorkspaceId = Id<"workspace">;
20
+ export type ProjectId = Id<"project">;
20
21
  export type PageId = Id<"page">;
21
22
  export type HostId = Id<"host">;
22
23
  export type PrincipalId = Id<"principal">;
@@ -21,6 +21,7 @@ export * from "./parts.ts";
21
21
  export * from "./patch.ts";
22
22
  export * from "./plugins.ts";
23
23
  export * from "./primitives.ts";
24
+ export * from "./projects.ts";
24
25
  export * from "./runs.ts";
25
26
  export * from "./schema.ts";
26
27
  export * from "./sessions.ts";
package/dist/src/index.js CHANGED
@@ -163,6 +163,17 @@ import {
163
163
  DecodedObjectViewSchema2,
164
164
  IntegrityReportSchema2
165
165
  } from "../chunks/browser-6kfxrya6.js";
166
+ import {
167
+ ProjectUntilType2,
168
+ ProjectInfoType2,
169
+ PROJECT_EDITABLE2,
170
+ ProjectPatchType2,
171
+ ProjectInputType2,
172
+ ProjectInfoSchema2,
173
+ projectRole2,
174
+ indexProjects2,
175
+ projectPrompt2
176
+ } from "../chunks/browser-nj57kstn.js";
166
177
  import"../chunks/browser-m0wzr0g8.js";
167
178
  import {
168
179
  EndReasonType2,
@@ -249,7 +260,7 @@ import {
249
260
  UpdateOutcomeSchema2,
250
261
  RemoveSessionOutcomeSchema2,
251
262
  ForkOutcomeSchema2
252
- } from "../chunks/browser-zzv5wce6.js";
263
+ } from "../chunks/browser-pns0q83f.js";
253
264
  import {
254
265
  HostViewWireType2,
255
266
  CredentialSourceWireType2,
@@ -259,7 +270,7 @@ import {
259
270
  CredentialSourceWireSchema2,
260
271
  JournalEntrySchema2,
261
272
  SettingOutcomeSchema2
262
- } from "../chunks/browser-1d594pfy.js";
273
+ } from "../chunks/browser-dj3qnmds.js";
263
274
  import {
264
275
  ORIGIN_PATTERN2
265
276
  } from "../chunks/browser-f1vy5srg.js";
@@ -319,7 +330,7 @@ import {
319
330
  DurableEventSchema2,
320
331
  SessionEventSchema2,
321
332
  PatchEventSchema2
322
- } from "../chunks/browser-b65vf90n.js";
333
+ } from "../chunks/browser-y7sq1h0h.js";
323
334
  import {
324
335
  GitStatusType2,
325
336
  GitCommitViewType2,
@@ -437,7 +448,7 @@ import {
437
448
  RefSchema2,
438
449
  RefUpdateSchema2,
439
450
  SetOutcomeSchema2
440
- } from "../chunks/browser-n0nykn4c.js";
451
+ } from "../chunks/browser-pj9xet8b.js";
441
452
  import {
442
453
  ViewOptionsType2,
443
454
  UserStatusType2,
@@ -464,22 +475,22 @@ import {
464
475
  TurnInfoSchema2,
465
476
  SessionViewSchema2,
466
477
  HistoryPageSchema2
467
- } from "../chunks/browser-va00q82t.js";
478
+ } from "../chunks/browser-0e0x4ear.js";
468
479
  import"../chunks/browser-73zgb7zt.js";
469
480
  import"../chunks/browser-4vkqb1ak.js";
470
481
  import"../chunks/browser-y54qh224.js";
471
482
  import"../chunks/browser-8aeqa34r.js";
472
483
  import"../chunks/browser-1fkzxxj0.js";
473
484
  import"../chunks/browser-k9aksshj.js";
474
- import"../chunks/browser-2de97wy9.js";
475
- import"../chunks/browser-hmjz4pq1.js";
476
- import"../chunks/browser-9jds4zd3.js";
485
+ import"../chunks/browser-3zr8fhc1.js";
486
+ import"../chunks/browser-g0ez96bm.js";
487
+ import"../chunks/browser-b985t0h5.js";
477
488
  import {
478
489
  API_REVISION2,
479
490
  API_MIN_REVISION2,
480
491
  OPERATIONS2,
481
492
  describeOperations2
482
- } from "../chunks/browser-peqre1gb.js";
493
+ } from "../chunks/browser-r5sv33r1.js";
483
494
  export {
484
495
  API_MIN_REVISION2 as API_MIN_REVISION,
485
496
  API_REVISION2 as API_REVISION,
@@ -701,6 +712,7 @@ export {
701
712
  OperationDescriptionType2 as OperationDescriptionType,
702
713
  OutputFrameSchema2 as OutputFrameSchema,
703
714
  OutputFrameType2 as OutputFrameType,
715
+ PROJECT_EDITABLE2 as PROJECT_EDITABLE,
704
716
  PageIdSchema2 as PageIdSchema,
705
717
  PageInfoSchema2 as PageInfoSchema,
706
718
  PageInfoType2 as PageInfoType,
@@ -738,6 +750,11 @@ export {
738
750
  PrincipalIdSchema2 as PrincipalIdSchema,
739
751
  PrincipalViewWireSchema2 as PrincipalViewWireSchema,
740
752
  PrincipalViewWireType2 as PrincipalViewWireType,
753
+ ProjectInfoSchema2 as ProjectInfoSchema,
754
+ ProjectInfoType2 as ProjectInfoType,
755
+ ProjectInputType2 as ProjectInputType,
756
+ ProjectPatchType2 as ProjectPatchType,
757
+ ProjectUntilType2 as ProjectUntilType,
741
758
  PromptOverrideSchema2 as PromptOverrideSchema,
742
759
  PromptOverrideType2 as PromptOverrideType,
743
760
  ProviderUsageSchema2 as ProviderUsageSchema,
@@ -880,10 +897,13 @@ export {
880
897
  describeOperations2 as describeOperations,
881
898
  foldJobChange2 as foldJobChange,
882
899
  idSchema2 as idSchema,
900
+ indexProjects2 as indexProjects,
883
901
  isJson2 as isJson,
884
902
  isJsonObject2 as isJsonObject,
885
903
  jobTaskState2 as jobTaskState,
886
904
  pagedSchema2 as pagedSchema,
905
+ projectPrompt2 as projectPrompt,
906
+ projectRole2 as projectRole,
887
907
  readHunks2 as readHunks,
888
908
  standard2 as standard,
889
909
  stopOutcomeSchema2 as stopOutcomeSchema,
@@ -0,0 +1,82 @@
1
+ import { Type } from "typebox";
2
+ import type { ProjectId, SessionId } from "./ids.ts";
3
+ import type { Decoded, Schema } from "./schema.ts";
4
+ /** A project runs until its goal is met, or stands, taking work as it comes. */
5
+ export declare const ProjectUntilType: Type.TUnion<[Type.TObject<{
6
+ kind: Type.TLiteral<"standing">;
7
+ }>, Type.TObject<{
8
+ kind: Type.TLiteral<"goal">;
9
+ goal: Type.TString;
10
+ }>]>;
11
+ export declare const ProjectInfoType: Type.TObject<{
12
+ id: Type.TUnsafe<import("./ids.ts").Id<"project">>;
13
+ name: Type.TString;
14
+ brief: Type.TString;
15
+ until: Type.TUnion<[Type.TObject<{
16
+ kind: Type.TLiteral<"standing">;
17
+ }>, Type.TObject<{
18
+ kind: Type.TLiteral<"goal">;
19
+ goal: Type.TString;
20
+ }>]>;
21
+ workspace: Type.TUnsafe<import("./ids.ts").Id<"workspace">>;
22
+ lead: Type.TUnion<[Type.TUnsafe<import("./ids.ts").Id<"session">>, Type.TNull]>;
23
+ worker: Type.TUnion<[Type.TObject<{
24
+ provider: Type.TString;
25
+ id: Type.TString;
26
+ }>, Type.TNull]>;
27
+ archived: Type.TBoolean;
28
+ createdAt: Type.TNumber;
29
+ }>;
30
+ /**
31
+ * A stream of work in one folder: one lead chat that keeps going, and the units it hands work to.
32
+ * `brief` is the lead's system prompt: what the project is for and how its work is done. `lead`
33
+ * is the chat that leads it, set when its first chat starts. `worker` is the model the lead starts
34
+ * units on; null starts them on the lead's own. A session is in a project when its `project`
35
+ * names it; every session in a project but the lead is one of its units.
36
+ */
37
+ export type ProjectInfo = Decoded<typeof ProjectInfoType>;
38
+ /** The fields a person edits; `id`, `workspace`, `lead` and `createdAt` are the host's. */
39
+ export declare const PROJECT_EDITABLE: readonly ["name", "brief", "until", "worker", "archived"];
40
+ export declare const ProjectPatchType: Type.TObject<{
41
+ archived: Type.TOptional<Type.TBoolean>;
42
+ brief: Type.TOptional<Type.TString>;
43
+ name: Type.TOptional<Type.TString>;
44
+ until: Type.TOptional<Type.TUnion<[Type.TObject<{
45
+ kind: Type.TLiteral<"standing">;
46
+ }>, Type.TObject<{
47
+ kind: Type.TLiteral<"goal">;
48
+ goal: Type.TString;
49
+ }>]>>;
50
+ worker: Type.TOptional<Type.TUnion<[Type.TObject<{
51
+ provider: Type.TString;
52
+ id: Type.TString;
53
+ }>, Type.TNull]>>;
54
+ }>;
55
+ export type ProjectPatch = Decoded<typeof ProjectPatchType>;
56
+ export declare const ProjectInputType: Type.TObject<{
57
+ name: Type.TString;
58
+ brief: Type.TString;
59
+ until: Type.TUnion<[Type.TObject<{
60
+ kind: Type.TLiteral<"standing">;
61
+ }>, Type.TObject<{
62
+ kind: Type.TLiteral<"goal">;
63
+ goal: Type.TString;
64
+ }>]>;
65
+ workspace: Type.TUnsafe<import("./ids.ts").Id<"workspace">>;
66
+ worker: Type.TOptional<Type.TUnion<[Type.TObject<{
67
+ provider: Type.TString;
68
+ id: Type.TString;
69
+ }>, Type.TNull]>>;
70
+ }>;
71
+ export type ProjectInput = Decoded<typeof ProjectInputType>;
72
+ export declare const ProjectInfoSchema: Schema<ProjectInfo>;
73
+ /** How a session takes part in its project: the lead, or one of its units. */
74
+ export type ProjectRole = "lead" | "unit";
75
+ export declare function projectRole(project: Pick<ProjectInfo, "lead">, session: SessionId): ProjectRole;
76
+ /** The projects by id, for a pass that joins sessions to theirs. */
77
+ export declare function indexProjects(projects: readonly ProjectInfo[]): ReadonlyMap<ProjectId, ProjectInfo>;
78
+ /**
79
+ * The system prompt section a session in `project` reads, framed for its role, then the brief. Core
80
+ * sends it with every request; a client shows it to preview what the lead reads.
81
+ */
82
+ export declare function projectPrompt(project: ProjectInfo, role: ProjectRole): string;
@@ -0,0 +1,26 @@
1
+ import {
2
+ ProjectUntilType2,
3
+ ProjectInfoType2,
4
+ PROJECT_EDITABLE2,
5
+ ProjectPatchType2,
6
+ ProjectInputType2,
7
+ ProjectInfoSchema2,
8
+ projectRole2,
9
+ indexProjects2,
10
+ projectPrompt2
11
+ } from "../chunks/browser-nj57kstn.js";
12
+ import"../chunks/browser-kj15rn0m.js";
13
+ import"../chunks/browser-4et7qtz3.js";
14
+ import"../chunks/browser-kevgsmcz.js";
15
+ import"../chunks/browser-8k7kh9y4.js";
16
+ export {
17
+ PROJECT_EDITABLE2 as PROJECT_EDITABLE,
18
+ ProjectInfoSchema2 as ProjectInfoSchema,
19
+ ProjectInfoType2 as ProjectInfoType,
20
+ ProjectInputType2 as ProjectInputType,
21
+ ProjectPatchType2 as ProjectPatchType,
22
+ ProjectUntilType2 as ProjectUntilType,
23
+ indexProjects2 as indexProjects,
24
+ projectPrompt2 as projectPrompt,
25
+ projectRole2 as projectRole
26
+ };
@@ -279,8 +279,9 @@ export declare const SessionInfoType: Type.TObject<{
279
279
  ceiling: Type.TUnion<[Type.TLiteral<"ask">, Type.TLiteral<"auto-edit">, Type.TLiteral<"full">]>;
280
280
  }>>;
281
281
  side: Type.TOptional<Type.TLiteral<true>>;
282
+ project: Type.TOptional<Type.TUnsafe<import("./ids.ts").Id<"project">>>;
282
283
  }>;
283
- /** `side` marks a side chat of `parent`, which a person started beside it; absent for every other chat. */
284
+ /** `side` marks a side chat of `parent`, which a person started beside it; absent for every other chat. `project` names the project the chat works in; absent for a chat in none. */
284
285
  export type SessionInfo = Decoded<typeof SessionInfoType>;
285
286
  export declare const SESSIONS_LIMIT = 50;
286
287
  export declare const SessionsReadType: Type.TObject<{
@@ -438,6 +439,7 @@ export declare const SessionsReadType: Type.TObject<{
438
439
  ceiling: Type.TUnion<[Type.TLiteral<"ask">, Type.TLiteral<"auto-edit">, Type.TLiteral<"full">]>;
439
440
  }>>;
440
441
  side: Type.TOptional<Type.TLiteral<true>>;
442
+ project: Type.TOptional<Type.TUnsafe<import("./ids.ts").Id<"project">>>;
441
443
  }>>;
442
444
  }>;
443
445
  export type SessionsRead = Decoded<typeof SessionsReadType>;
@@ -597,6 +599,7 @@ export declare const SessionsChangeType: Type.TObject<{
597
599
  ceiling: Type.TUnion<[Type.TLiteral<"ask">, Type.TLiteral<"auto-edit">, Type.TLiteral<"full">]>;
598
600
  }>>;
599
601
  side: Type.TOptional<Type.TLiteral<true>>;
602
+ project: Type.TOptional<Type.TUnsafe<import("./ids.ts").Id<"project">>>;
600
603
  }>>;
601
604
  drop: Type.TArray<Type.TUnsafe<import("./ids.ts").Id<"session">>>;
602
605
  }>>;
@@ -33,7 +33,7 @@ import {
33
33
  UpdateOutcomeSchema2,
34
34
  RemoveSessionOutcomeSchema2,
35
35
  ForkOutcomeSchema2
36
- } from "../chunks/browser-zzv5wce6.js";
36
+ } from "../chunks/browser-pns0q83f.js";
37
37
  import"../chunks/browser-zpmvm43p.js";
38
38
  import"../chunks/browser-ggsck4tk.js";
39
39
  import"../chunks/browser-xd8gxrhc.js";
@@ -770,6 +770,7 @@ export declare const RefUpdateType: Type.TObject<{
770
770
  ceiling: Type.TUnion<[Type.TLiteral<"ask">, Type.TLiteral<"auto-edit">, Type.TLiteral<"full">]>;
771
771
  }>>;
772
772
  side: Type.TOptional<Type.TLiteral<true>>;
773
+ project: Type.TOptional<Type.TUnsafe<import("./ids.ts").Id<"project">>>;
773
774
  }>;
774
775
  }>, Type.TObject<{
775
776
  head: Type.TUnion<[Type.TUnsafe<import("./ids.ts").Id<"head">>, Type.TNull]>;
package/dist/src/store.js CHANGED
@@ -5,11 +5,11 @@ import {
5
5
  RefSchema2,
6
6
  RefUpdateSchema2,
7
7
  SetOutcomeSchema2
8
- } from "../chunks/browser-n0nykn4c.js";
9
- import"../chunks/browser-b65vf90n.js";
8
+ } from "../chunks/browser-pj9xet8b.js";
9
+ import"../chunks/browser-y7sq1h0h.js";
10
10
  import"../chunks/browser-nyax6822.js";
11
11
  import"../chunks/browser-40hrvphv.js";
12
- import"../chunks/browser-zzv5wce6.js";
12
+ import"../chunks/browser-pns0q83f.js";
13
13
  import"../chunks/browser-zpmvm43p.js";
14
14
  import"../chunks/browser-ggsck4tk.js";
15
15
  import"../chunks/browser-xd8gxrhc.js";
package/dist/src/views.js CHANGED
@@ -24,10 +24,10 @@ import {
24
24
  TurnInfoSchema2,
25
25
  SessionViewSchema2,
26
26
  HistoryPageSchema2
27
- } from "../chunks/browser-va00q82t.js";
27
+ } from "../chunks/browser-0e0x4ear.js";
28
28
  import"../chunks/browser-nyax6822.js";
29
29
  import"../chunks/browser-40hrvphv.js";
30
- import"../chunks/browser-zzv5wce6.js";
30
+ import"../chunks/browser-pns0q83f.js";
31
31
  import"../chunks/browser-zpmvm43p.js";
32
32
  import"../chunks/browser-ggsck4tk.js";
33
33
  import"../chunks/browser-xd8gxrhc.js";
@@ -59,6 +59,25 @@ export declare const HOST_OPERATIONS: {
59
59
  readonly blob: import("../../ids.ts").Id<"blob">;
60
60
  }[];
61
61
  readonly defaultWorkspace: import("../../ids.ts").Id<"workspace"> | null;
62
+ readonly projects: readonly {
63
+ readonly id: import("../../ids.ts").Id<"project">;
64
+ readonly name: string;
65
+ readonly brief: string;
66
+ readonly until: {
67
+ readonly kind: "standing";
68
+ } | {
69
+ readonly kind: "goal";
70
+ readonly goal: string;
71
+ };
72
+ readonly workspace: import("../../ids.ts").Id<"workspace">;
73
+ readonly lead: import("../../ids.ts").Id<"session"> | null;
74
+ readonly worker: {
75
+ readonly provider: string;
76
+ readonly id: string;
77
+ } | null;
78
+ readonly archived: boolean;
79
+ readonly createdAt: number;
80
+ }[];
62
81
  readonly authority: readonly ("maintenance" | "owner" | "participant")[];
63
82
  readonly principal: import("../../ids.ts").Id<"principal">;
64
83
  readonly tailnet?: {
@@ -472,6 +491,91 @@ export declare const HOST_OPERATIONS: {
472
491
  readonly kind: "unknown";
473
492
  }>;
474
493
  };
494
+ readonly "projects.create": {
495
+ readonly authority: "participant";
496
+ readonly scope: "host";
497
+ readonly summary: "Creates a project in a workspace, with the brief its lead chat follows.";
498
+ readonly kind: "command";
499
+ readonly input: import("../../schema.ts").Schema<{
500
+ input: {
501
+ name: string;
502
+ brief: string;
503
+ until: {
504
+ kind: "standing";
505
+ } | {
506
+ kind: "goal";
507
+ goal: string;
508
+ };
509
+ workspace: import("../../ids.ts").Id<"workspace">;
510
+ worker?: {
511
+ provider: string;
512
+ id: string;
513
+ } | null | undefined;
514
+ };
515
+ }>;
516
+ readonly output: import("../../schema.ts").Schema<{
517
+ readonly id: import("../../ids.ts").Id<"project">;
518
+ readonly name: string;
519
+ readonly brief: string;
520
+ readonly until: {
521
+ readonly kind: "standing";
522
+ } | {
523
+ readonly kind: "goal";
524
+ readonly goal: string;
525
+ };
526
+ readonly workspace: import("../../ids.ts").Id<"workspace">;
527
+ readonly lead: import("../../ids.ts").Id<"session"> | null;
528
+ readonly worker: {
529
+ readonly provider: string;
530
+ readonly id: string;
531
+ } | null;
532
+ readonly archived: boolean;
533
+ readonly createdAt: number;
534
+ }>;
535
+ };
536
+ readonly "project.update": {
537
+ readonly authority: "participant";
538
+ readonly scope: "host";
539
+ readonly summary: "Edits a project's name, brief, goal, worker model or archived state.";
540
+ readonly kind: "command";
541
+ readonly input: import("../../schema.ts").Schema<{
542
+ project: import("../../ids.ts").Id<"project">;
543
+ patch: {
544
+ archived?: boolean | undefined;
545
+ brief?: string | undefined;
546
+ name?: string | undefined;
547
+ until?: {
548
+ kind: "standing";
549
+ } | {
550
+ kind: "goal";
551
+ goal: string;
552
+ } | undefined;
553
+ worker?: {
554
+ provider: string;
555
+ id: string;
556
+ } | null | undefined;
557
+ };
558
+ }>;
559
+ readonly output: import("../../schema.ts").Schema<{
560
+ readonly id: import("../../ids.ts").Id<"project">;
561
+ readonly name: string;
562
+ readonly brief: string;
563
+ readonly until: {
564
+ readonly kind: "standing";
565
+ } | {
566
+ readonly kind: "goal";
567
+ readonly goal: string;
568
+ };
569
+ readonly workspace: import("../../ids.ts").Id<"workspace">;
570
+ readonly lead: import("../../ids.ts").Id<"session"> | null;
571
+ readonly worker: {
572
+ readonly provider: string;
573
+ readonly id: string;
574
+ } | null;
575
+ readonly archived: boolean;
576
+ readonly createdAt: number;
577
+ }>;
578
+ };
475
579
  readonly "workspaces.list": {
476
580
  readonly authority: "participant";
477
581
  readonly scope: "host";
@@ -646,6 +750,7 @@ export declare const HOST_OPERATIONS: {
646
750
  isolation?: "worktree" | undefined;
647
751
  contextFiles?: false | undefined;
648
752
  side?: true | undefined;
753
+ project?: import("../../ids.ts").Id<"project"> | undefined;
649
754
  content: string | ({
650
755
  kind: "text";
651
756
  text: string;
@@ -862,6 +967,7 @@ export declare const HOST_OPERATIONS: {
862
967
  ceiling: "ask" | "auto-edit" | "full";
863
968
  } | undefined;
864
969
  side?: true | undefined;
970
+ project?: import("../../ids.ts").Id<"project"> | undefined;
865
971
  }[];
866
972
  next: import("../../ids.ts").Id<"cursor"> | null;
867
973
  }>;
@@ -1040,6 +1146,7 @@ export declare const HOST_OPERATIONS: {
1040
1146
  ceiling: "ask" | "auto-edit" | "full";
1041
1147
  } | undefined;
1042
1148
  side?: true | undefined;
1149
+ project?: import("../../ids.ts").Id<"project"> | undefined;
1043
1150
  }[];
1044
1151
  }>;
1045
1152
  };
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  HOST_OPERATIONS2,
3
3
  MAINTENANCE_OPERATIONS2
4
- } from "../../../chunks/browser-2de97wy9.js";
4
+ } from "../../../chunks/browser-3zr8fhc1.js";
5
5
  import"../../../chunks/browser-73zgb7zt.js";
6
6
  import"../../../chunks/browser-yhzp7eyw.js";
7
7
  import"../../../chunks/browser-vmx34zex.js";
8
- import"../../../chunks/browser-1d594pfy.js";
8
+ import"../../../chunks/browser-dj3qnmds.js";
9
+ import"../../../chunks/browser-nj57kstn.js";
9
10
  import"../../../chunks/browser-103r6swq.js";
10
- import"../../../chunks/browser-zzv5wce6.js";
11
+ import"../../../chunks/browser-pns0q83f.js";
11
12
  import"../../../chunks/browser-zpmvm43p.js";
12
13
  import"../../../chunks/browser-ggsck4tk.js";
13
14
  import"../../../chunks/browser-xd8gxrhc.js";
@@ -1,8 +1,8 @@
1
1
  import type { OperationDescription } from "../../host.ts";
2
2
  import type { Json } from "../../json.ts";
3
3
  import type { Schema } from "../../schema.ts";
4
- export declare const API_REVISION = 12;
5
- export declare const API_MIN_REVISION = 12;
4
+ export declare const API_REVISION = 13;
5
+ export declare const API_MIN_REVISION = 13;
6
6
  /** The operations table, keyed by Connection path: every served operation's wire schemas, kind, authority, scope, capability, recovery, wait, locality and MCP access, in the order the host lists them. */
7
7
  export declare const OPERATIONS: {
8
8
  "browser.open": {
@@ -1692,6 +1692,25 @@ export declare const OPERATIONS: {
1692
1692
  readonly blob: import("../../ids.ts").Id<"blob">;
1693
1693
  }[];
1694
1694
  readonly defaultWorkspace: import("../../ids.ts").Id<"workspace"> | null;
1695
+ readonly projects: readonly {
1696
+ readonly id: import("../../ids.ts").Id<"project">;
1697
+ readonly name: string;
1698
+ readonly brief: string;
1699
+ readonly until: {
1700
+ readonly kind: "standing";
1701
+ } | {
1702
+ readonly kind: "goal";
1703
+ readonly goal: string;
1704
+ };
1705
+ readonly workspace: import("../../ids.ts").Id<"workspace">;
1706
+ readonly lead: import("../../ids.ts").Id<"session"> | null;
1707
+ readonly worker: {
1708
+ readonly provider: string;
1709
+ readonly id: string;
1710
+ } | null;
1711
+ readonly archived: boolean;
1712
+ readonly createdAt: number;
1713
+ }[];
1695
1714
  readonly authority: readonly ("maintenance" | "owner" | "participant")[];
1696
1715
  readonly principal: import("../../ids.ts").Id<"principal">;
1697
1716
  readonly tailnet?: {
@@ -2105,6 +2124,91 @@ export declare const OPERATIONS: {
2105
2124
  readonly kind: "unknown";
2106
2125
  }>;
2107
2126
  };
2127
+ "projects.create": {
2128
+ readonly authority: "participant";
2129
+ readonly scope: "host";
2130
+ readonly summary: "Creates a project in a workspace, with the brief its lead chat follows.";
2131
+ readonly kind: "command";
2132
+ readonly input: Schema<{
2133
+ input: {
2134
+ name: string;
2135
+ brief: string;
2136
+ until: {
2137
+ kind: "standing";
2138
+ } | {
2139
+ kind: "goal";
2140
+ goal: string;
2141
+ };
2142
+ workspace: import("../../ids.ts").Id<"workspace">;
2143
+ worker?: {
2144
+ provider: string;
2145
+ id: string;
2146
+ } | null | undefined;
2147
+ };
2148
+ }>;
2149
+ readonly output: Schema<{
2150
+ readonly id: import("../../ids.ts").Id<"project">;
2151
+ readonly name: string;
2152
+ readonly brief: string;
2153
+ readonly until: {
2154
+ readonly kind: "standing";
2155
+ } | {
2156
+ readonly kind: "goal";
2157
+ readonly goal: string;
2158
+ };
2159
+ readonly workspace: import("../../ids.ts").Id<"workspace">;
2160
+ readonly lead: import("../../ids.ts").Id<"session"> | null;
2161
+ readonly worker: {
2162
+ readonly provider: string;
2163
+ readonly id: string;
2164
+ } | null;
2165
+ readonly archived: boolean;
2166
+ readonly createdAt: number;
2167
+ }>;
2168
+ };
2169
+ "project.update": {
2170
+ readonly authority: "participant";
2171
+ readonly scope: "host";
2172
+ readonly summary: "Edits a project's name, brief, goal, worker model or archived state.";
2173
+ readonly kind: "command";
2174
+ readonly input: Schema<{
2175
+ project: import("../../ids.ts").Id<"project">;
2176
+ patch: {
2177
+ archived?: boolean | undefined;
2178
+ brief?: string | undefined;
2179
+ name?: string | undefined;
2180
+ until?: {
2181
+ kind: "standing";
2182
+ } | {
2183
+ kind: "goal";
2184
+ goal: string;
2185
+ } | undefined;
2186
+ worker?: {
2187
+ provider: string;
2188
+ id: string;
2189
+ } | null | undefined;
2190
+ };
2191
+ }>;
2192
+ readonly output: Schema<{
2193
+ readonly id: import("../../ids.ts").Id<"project">;
2194
+ readonly name: string;
2195
+ readonly brief: string;
2196
+ readonly until: {
2197
+ readonly kind: "standing";
2198
+ } | {
2199
+ readonly kind: "goal";
2200
+ readonly goal: string;
2201
+ };
2202
+ readonly workspace: import("../../ids.ts").Id<"workspace">;
2203
+ readonly lead: import("../../ids.ts").Id<"session"> | null;
2204
+ readonly worker: {
2205
+ readonly provider: string;
2206
+ readonly id: string;
2207
+ } | null;
2208
+ readonly archived: boolean;
2209
+ readonly createdAt: number;
2210
+ }>;
2211
+ };
2108
2212
  "workspaces.list": {
2109
2213
  readonly authority: "participant";
2110
2214
  readonly scope: "host";
@@ -2279,6 +2383,7 @@ export declare const OPERATIONS: {
2279
2383
  isolation?: "worktree" | undefined;
2280
2384
  contextFiles?: false | undefined;
2281
2385
  side?: true | undefined;
2386
+ project?: import("../../ids.ts").Id<"project"> | undefined;
2282
2387
  content: string | ({
2283
2388
  kind: "text";
2284
2389
  text: string;
@@ -2495,6 +2600,7 @@ export declare const OPERATIONS: {
2495
2600
  ceiling: "ask" | "auto-edit" | "full";
2496
2601
  } | undefined;
2497
2602
  side?: true | undefined;
2603
+ project?: import("../../ids.ts").Id<"project"> | undefined;
2498
2604
  }[];
2499
2605
  next: import("../../ids.ts").Id<"cursor"> | null;
2500
2606
  }>;
@@ -2673,6 +2779,7 @@ export declare const OPERATIONS: {
2673
2779
  ceiling: "ask" | "auto-edit" | "full";
2674
2780
  } | undefined;
2675
2781
  side?: true | undefined;
2782
+ project?: import("../../ids.ts").Id<"project"> | undefined;
2676
2783
  }[];
2677
2784
  }>;
2678
2785
  };
@@ -3086,12 +3193,13 @@ export declare const OPERATIONS: {
3086
3193
  readonly ceiling: "ask" | "auto-edit" | "full";
3087
3194
  } | undefined;
3088
3195
  readonly side?: true | undefined;
3196
+ readonly project?: import("../../ids.ts").Id<"project"> | undefined;
3089
3197
  }>;
3090
3198
  };
3091
3199
  "session.update": {
3092
3200
  readonly authority: "participant";
3093
3201
  readonly scope: "session";
3094
- readonly summary: "Renames, pins, archives or moves a session to another workspace.";
3202
+ readonly summary: "Renames, pins, archives or moves a session to another workspace or project.";
3095
3203
  readonly kind: "command";
3096
3204
  readonly input: Schema<{
3097
3205
  session: import("../../ids.ts").Id<"session">;
@@ -3100,6 +3208,7 @@ export declare const OPERATIONS: {
3100
3208
  pinned?: boolean | undefined;
3101
3209
  archived?: boolean | undefined;
3102
3210
  workspace?: import("../../ids.ts").Id<"workspace"> | undefined;
3211
+ project?: import("../../ids.ts").Id<"project"> | null | undefined;
3103
3212
  };
3104
3213
  }>;
3105
3214
  readonly output: Schema<{
@@ -3,28 +3,29 @@ import {
3
3
  API_MIN_REVISION2,
4
4
  OPERATIONS2,
5
5
  describeOperations2
6
- } from "../../../chunks/browser-peqre1gb.js";
6
+ } from "../../../chunks/browser-r5sv33r1.js";
7
+ import"../../../chunks/browser-1fkzxxj0.js";
7
8
  import"../../../chunks/browser-k9aksshj.js";
8
- import"../../../chunks/browser-2de97wy9.js";
9
- import"../../../chunks/browser-hmjz4pq1.js";
10
- import"../../../chunks/browser-9jds4zd3.js";
9
+ import"../../../chunks/browser-3zr8fhc1.js";
10
+ import"../../../chunks/browser-g0ez96bm.js";
11
+ import"../../../chunks/browser-b985t0h5.js";
12
+ import"../../../chunks/browser-0e0x4ear.js";
11
13
  import"../../../chunks/browser-4vkqb1ak.js";
12
14
  import"../../../chunks/browser-y54qh224.js";
13
15
  import"../../../chunks/browser-8aeqa34r.js";
14
- import"../../../chunks/browser-1fkzxxj0.js";
15
16
  import"../../../chunks/browser-73zgb7zt.js";
16
17
  import"../../../chunks/browser-e9zs4tr5.js";
17
- import"../../../chunks/browser-va00q82t.js";
18
18
  import"../../../chunks/browser-m0mvb774.js";
19
19
  import"../../../chunks/browser-yhzp7eyw.js";
20
20
  import"../../../chunks/browser-vmx34zex.js";
21
21
  import"../../../chunks/browser-64at03h8.js";
22
22
  import"../../../chunks/browser-nfx3qey6.js";
23
- import"../../../chunks/browser-1d594pfy.js";
23
+ import"../../../chunks/browser-dj3qnmds.js";
24
+ import"../../../chunks/browser-nj57kstn.js";
24
25
  import"../../../chunks/browser-103r6swq.js";
25
26
  import"../../../chunks/browser-nyax6822.js";
26
27
  import"../../../chunks/browser-40hrvphv.js";
27
- import"../../../chunks/browser-zzv5wce6.js";
28
+ import"../../../chunks/browser-pns0q83f.js";
28
29
  import"../../../chunks/browser-zpmvm43p.js";
29
30
  import"../../../chunks/browser-ggsck4tk.js";
30
31
  import"../../../chunks/browser-xd8gxrhc.js";
@@ -160,12 +160,13 @@ export declare const SESSION_OPERATIONS: {
160
160
  readonly ceiling: "ask" | "auto-edit" | "full";
161
161
  } | undefined;
162
162
  readonly side?: true | undefined;
163
+ readonly project?: import("../../ids.ts").Id<"project"> | undefined;
163
164
  }>;
164
165
  };
165
166
  readonly "session.update": {
166
167
  readonly authority: "participant";
167
168
  readonly scope: "session";
168
- readonly summary: "Renames, pins, archives or moves a session to another workspace.";
169
+ readonly summary: "Renames, pins, archives or moves a session to another workspace or project.";
169
170
  readonly kind: "command";
170
171
  readonly input: import("../../schema.ts").Schema<{
171
172
  session: import("../../ids.ts").Id<"session">;
@@ -174,6 +175,7 @@ export declare const SESSION_OPERATIONS: {
174
175
  pinned?: boolean | undefined;
175
176
  archived?: boolean | undefined;
176
177
  workspace?: import("../../ids.ts").Id<"workspace"> | undefined;
178
+ project?: import("../../ids.ts").Id<"project"> | null | undefined;
177
179
  };
178
180
  }>;
179
181
  readonly output: import("../../schema.ts").Schema<{
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  SESSION_OPERATIONS2
3
- } from "../../../chunks/browser-hmjz4pq1.js";
3
+ } from "../../../chunks/browser-g0ez96bm.js";
4
+ import"../../../chunks/browser-0e0x4ear.js";
4
5
  import"../../../chunks/browser-73zgb7zt.js";
5
- import"../../../chunks/browser-va00q82t.js";
6
6
  import"../../../chunks/browser-103r6swq.js";
7
7
  import"../../../chunks/browser-nyax6822.js";
8
8
  import"../../../chunks/browser-40hrvphv.js";
9
- import"../../../chunks/browser-zzv5wce6.js";
9
+ import"../../../chunks/browser-pns0q83f.js";
10
10
  import"../../../chunks/browser-zpmvm43p.js";
11
11
  import"../../../chunks/browser-ggsck4tk.js";
12
12
  import"../../../chunks/browser-xd8gxrhc.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  WORKSPACE_OPERATIONS2
3
- } from "../../../chunks/browser-9jds4zd3.js";
3
+ } from "../../../chunks/browser-b985t0h5.js";
4
4
  import"../../../chunks/browser-73zgb7zt.js";
5
5
  import"../../../chunks/browser-m0mvb774.js";
6
6
  import"../../../chunks/browser-vmx34zex.js";
7
- import"../../../chunks/browser-zzv5wce6.js";
7
+ import"../../../chunks/browser-pns0q83f.js";
8
8
  import"../../../chunks/browser-zpmvm43p.js";
9
9
  import"../../../chunks/browser-ggsck4tk.js";
10
10
  import"../../../chunks/browser-xd8gxrhc.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nyte-ai/schema",
3
- "version": "0.0.27",
3
+ "version": "0.0.28-nightly.20261104.54",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "repository": {