@locusai/sdk 0.13.0 → 0.13.3

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.
@@ -0,0 +1,59 @@
1
+ import type { Discussion, DiscussionInsight } from "./discussion-types.js";
2
+ /**
3
+ * Manages the lifecycle of discussions:
4
+ * create, save, load, list, complete, archive, delete.
5
+ */
6
+ export declare class DiscussionManager {
7
+ private discussionsDir;
8
+ constructor(projectPath: string);
9
+ /**
10
+ * Create a new discussion for a given topic.
11
+ */
12
+ create(topic: string, model: string, provider: string): Discussion;
13
+ /**
14
+ * Save a discussion to disk as JSON and summary markdown.
15
+ */
16
+ save(discussion: Discussion): void;
17
+ /**
18
+ * Load a discussion by ID.
19
+ */
20
+ load(id: string): Discussion | null;
21
+ /**
22
+ * List all discussions, optionally filtered by status. Sorted newest first.
23
+ */
24
+ list(status?: Discussion["status"]): Discussion[];
25
+ /**
26
+ * Mark a discussion as completed.
27
+ */
28
+ complete(id: string): Discussion;
29
+ /**
30
+ * Mark a discussion as archived.
31
+ */
32
+ archive(id: string): void;
33
+ /**
34
+ * Delete a discussion's files entirely.
35
+ */
36
+ delete(id: string): void;
37
+ /**
38
+ * Append a message to a discussion and save.
39
+ */
40
+ addMessage(id: string, role: "user" | "assistant", content: string): Discussion;
41
+ /**
42
+ * Append an insight to a discussion and save.
43
+ */
44
+ addInsight(id: string, insight: DiscussionInsight): Discussion;
45
+ /**
46
+ * Aggregate insights across all completed discussions.
47
+ */
48
+ getAllInsights(): DiscussionInsight[];
49
+ /**
50
+ * Get the markdown content of a discussion for display.
51
+ */
52
+ getMarkdown(id: string): string | null;
53
+ /**
54
+ * Render a discussion as readable markdown.
55
+ */
56
+ toMarkdown(discussion: Discussion): string;
57
+ private ensureDir;
58
+ }
59
+ //# sourceMappingURL=discussion-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discussion-manager.d.ts","sourceRoot":"","sources":["../../src/discussion/discussion-manager.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE3E;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,cAAc,CAAS;gBAEnB,WAAW,EAAE,MAAM;IAI/B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU;IAsBlE;;OAEG;IACH,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAUlC;;OAEG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAenC;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,EAAE;IA6BjD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAahC;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAWzB;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAcxB;;OAEG;IACH,UAAU,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,OAAO,EAAE,MAAM,GACd,UAAU;IAiBb;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU;IAa9D;;OAEG;IACH,cAAc,IAAI,iBAAiB,EAAE;IAiBrC;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMtC;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAkD1C,OAAO,CAAC,SAAS;CAKlB"}
@@ -0,0 +1,89 @@
1
+ import { z } from "zod";
2
+ export declare const DiscussionMessageSchema: z.ZodObject<{
3
+ role: z.ZodEnum<{
4
+ user: "user";
5
+ assistant: "assistant";
6
+ }>;
7
+ content: z.ZodString;
8
+ timestamp: z.ZodNumber;
9
+ }, z.core.$strip>;
10
+ export declare const DiscussionInsightSchema: z.ZodObject<{
11
+ id: z.ZodString;
12
+ type: z.ZodEnum<{
13
+ decision: "decision";
14
+ requirement: "requirement";
15
+ idea: "idea";
16
+ concern: "concern";
17
+ learning: "learning";
18
+ }>;
19
+ title: z.ZodString;
20
+ content: z.ZodString;
21
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
22
+ createdAt: z.ZodString;
23
+ }, z.core.$strip>;
24
+ export declare const DiscussionSchema: z.ZodObject<{
25
+ id: z.ZodString;
26
+ title: z.ZodString;
27
+ topic: z.ZodString;
28
+ status: z.ZodDefault<z.ZodEnum<{
29
+ completed: "completed";
30
+ active: "active";
31
+ archived: "archived";
32
+ }>>;
33
+ messages: z.ZodDefault<z.ZodArray<z.ZodObject<{
34
+ role: z.ZodEnum<{
35
+ user: "user";
36
+ assistant: "assistant";
37
+ }>;
38
+ content: z.ZodString;
39
+ timestamp: z.ZodNumber;
40
+ }, z.core.$strip>>>;
41
+ insights: z.ZodDefault<z.ZodArray<z.ZodObject<{
42
+ id: z.ZodString;
43
+ type: z.ZodEnum<{
44
+ decision: "decision";
45
+ requirement: "requirement";
46
+ idea: "idea";
47
+ concern: "concern";
48
+ learning: "learning";
49
+ }>;
50
+ title: z.ZodString;
51
+ content: z.ZodString;
52
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
53
+ createdAt: z.ZodString;
54
+ }, z.core.$strip>>>;
55
+ createdAt: z.ZodString;
56
+ updatedAt: z.ZodString;
57
+ metadata: z.ZodObject<{
58
+ model: z.ZodString;
59
+ provider: z.ZodString;
60
+ }, z.core.$strip>;
61
+ }, z.core.$strip>;
62
+ export interface DiscussionMessage {
63
+ role: "user" | "assistant";
64
+ content: string;
65
+ timestamp: number;
66
+ }
67
+ export interface DiscussionInsight {
68
+ id: string;
69
+ type: "decision" | "requirement" | "idea" | "concern" | "learning";
70
+ title: string;
71
+ content: string;
72
+ tags: string[];
73
+ createdAt: string;
74
+ }
75
+ export interface Discussion {
76
+ id: string;
77
+ title: string;
78
+ topic: string;
79
+ status: "active" | "completed" | "archived";
80
+ messages: DiscussionMessage[];
81
+ insights: DiscussionInsight[];
82
+ createdAt: string;
83
+ updatedAt: string;
84
+ metadata: {
85
+ model: string;
86
+ provider: string;
87
+ };
88
+ }
89
+ //# sourceMappingURL=discussion-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discussion-types.d.ts","sourceRoot":"","sources":["../../src/discussion/discussion-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,uBAAuB;;;;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;iBAOlC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa3B,CAAC;AAMH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
@@ -0,0 +1,5 @@
1
+ export { buildFacilitatorPrompt, buildSummaryPrompt, type FacilitatorPromptInput, } from "./agents/facilitator-prompt.js";
2
+ export { type ContinueDiscussionResult, DiscussionFacilitator, type DiscussionFacilitatorConfig, type StartDiscussionResult, } from "./discussion-facilitator.js";
3
+ export { DiscussionManager } from "./discussion-manager.js";
4
+ export { type Discussion, type DiscussionInsight, DiscussionInsightSchema, type DiscussionMessage, DiscussionMessageSchema, DiscussionSchema, } from "./discussion-types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discussion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,wBAAwB,EAC7B,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC"}
@@ -10,6 +10,7 @@ export * from "./agent/index.js";
10
10
  export * from "./ai/index.js";
11
11
  export * from "./core/index.js";
12
12
  export { PromptBuilder } from "./core/prompt-builder.js";
13
+ export * from "./discussion/index.js";
13
14
  export * from "./exec/index.js";
14
15
  export * from "./git/index.js";
15
16
  export * from "./index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../src/index-node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,cAAc,kBAAkB,CAAC;AAEjC,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,YAAY,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../src/index-node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,cAAc,kBAAkB,CAAC;AAEjC,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,cAAc,uBAAuB,CAAC;AAEtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,YAAY,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}