@useactor/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/ai-sdk-provider.d.ts +54 -0
  2. package/dist/ai-sdk-provider.d.ts.map +1 -0
  3. package/dist/ai-sdk-provider.js +335 -0
  4. package/dist/ai-sdk-provider.js.map +1 -0
  5. package/dist/app-runtime.d.ts +83 -0
  6. package/dist/app-runtime.d.ts.map +1 -0
  7. package/dist/app-runtime.js +504 -0
  8. package/dist/app-runtime.js.map +1 -0
  9. package/dist/artifacts.d.ts +49 -0
  10. package/dist/artifacts.d.ts.map +1 -0
  11. package/dist/artifacts.js +50 -0
  12. package/dist/artifacts.js.map +1 -0
  13. package/dist/cli-defined-tools.d.ts +17 -0
  14. package/dist/cli-defined-tools.d.ts.map +1 -0
  15. package/dist/cli-defined-tools.js +146 -0
  16. package/dist/cli-defined-tools.js.map +1 -0
  17. package/dist/codex-oauth-provider.d.ts +30 -0
  18. package/dist/codex-oauth-provider.d.ts.map +1 -0
  19. package/dist/codex-oauth-provider.js +453 -0
  20. package/dist/codex-oauth-provider.js.map +1 -0
  21. package/dist/events.d.ts +133 -0
  22. package/dist/events.d.ts.map +1 -0
  23. package/dist/events.js +46 -0
  24. package/dist/events.js.map +1 -0
  25. package/dist/feedback.d.ts +29 -0
  26. package/dist/feedback.d.ts.map +1 -0
  27. package/dist/feedback.js +62 -0
  28. package/dist/feedback.js.map +1 -0
  29. package/dist/history.d.ts +34 -0
  30. package/dist/history.d.ts.map +1 -0
  31. package/dist/history.js +118 -0
  32. package/dist/history.js.map +1 -0
  33. package/dist/in-memory-runtime.d.ts +12 -0
  34. package/dist/in-memory-runtime.d.ts.map +1 -0
  35. package/dist/in-memory-runtime.js +491 -0
  36. package/dist/in-memory-runtime.js.map +1 -0
  37. package/dist/index.d.ts +36 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +36 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/integrations.d.ts +37 -0
  42. package/dist/integrations.d.ts.map +1 -0
  43. package/dist/integrations.js +48 -0
  44. package/dist/integrations.js.map +1 -0
  45. package/dist/local-event-logger.d.ts +19 -0
  46. package/dist/local-event-logger.d.ts.map +1 -0
  47. package/dist/local-event-logger.js +163 -0
  48. package/dist/local-event-logger.js.map +1 -0
  49. package/dist/local-event-schema.d.ts +99 -0
  50. package/dist/local-event-schema.d.ts.map +1 -0
  51. package/dist/local-event-schema.js +43 -0
  52. package/dist/local-event-schema.js.map +1 -0
  53. package/dist/local-tools.d.ts +99 -0
  54. package/dist/local-tools.d.ts.map +1 -0
  55. package/dist/local-tools.js +418 -0
  56. package/dist/local-tools.js.map +1 -0
  57. package/dist/mcp-server-config.d.ts +16 -0
  58. package/dist/mcp-server-config.d.ts.map +1 -0
  59. package/dist/mcp-server-config.js +75 -0
  60. package/dist/mcp-server-config.js.map +1 -0
  61. package/dist/mock-provider.d.ts +8 -0
  62. package/dist/mock-provider.d.ts.map +1 -0
  63. package/dist/mock-provider.js +47 -0
  64. package/dist/mock-provider.js.map +1 -0
  65. package/dist/model-catalog.d.ts +24 -0
  66. package/dist/model-catalog.d.ts.map +1 -0
  67. package/dist/model-catalog.js +92 -0
  68. package/dist/model-catalog.js.map +1 -0
  69. package/dist/monoid-integration.d.ts +33 -0
  70. package/dist/monoid-integration.d.ts.map +1 -0
  71. package/dist/monoid-integration.js +184 -0
  72. package/dist/monoid-integration.js.map +1 -0
  73. package/dist/openai-oauth.d.ts +69 -0
  74. package/dist/openai-oauth.d.ts.map +1 -0
  75. package/dist/openai-oauth.js +127 -0
  76. package/dist/openai-oauth.js.map +1 -0
  77. package/dist/permission-grant-store.d.ts +7 -0
  78. package/dist/permission-grant-store.d.ts.map +1 -0
  79. package/dist/permission-grant-store.js +77 -0
  80. package/dist/permission-grant-store.js.map +1 -0
  81. package/dist/permission-grants.d.ts +38 -0
  82. package/dist/permission-grants.d.ts.map +1 -0
  83. package/dist/permission-grants.js +93 -0
  84. package/dist/permission-grants.js.map +1 -0
  85. package/dist/personas.d.ts +51 -0
  86. package/dist/personas.d.ts.map +1 -0
  87. package/dist/personas.js +137 -0
  88. package/dist/personas.js.map +1 -0
  89. package/dist/project-tool-registry.d.ts +16 -0
  90. package/dist/project-tool-registry.d.ts.map +1 -0
  91. package/dist/project-tool-registry.js +86 -0
  92. package/dist/project-tool-registry.js.map +1 -0
  93. package/dist/projects.d.ts +88 -0
  94. package/dist/projects.d.ts.map +1 -0
  95. package/dist/projects.js +243 -0
  96. package/dist/projects.js.map +1 -0
  97. package/dist/prompt-context.d.ts +13 -0
  98. package/dist/prompt-context.d.ts.map +1 -0
  99. package/dist/prompt-context.js +170 -0
  100. package/dist/prompt-context.js.map +1 -0
  101. package/dist/proposed-plan.d.ts +24 -0
  102. package/dist/proposed-plan.d.ts.map +1 -0
  103. package/dist/proposed-plan.js +74 -0
  104. package/dist/proposed-plan.js.map +1 -0
  105. package/dist/providers.d.ts +53 -0
  106. package/dist/providers.d.ts.map +1 -0
  107. package/dist/providers.js +31 -0
  108. package/dist/providers.js.map +1 -0
  109. package/dist/question-requests.d.ts +39 -0
  110. package/dist/question-requests.d.ts.map +1 -0
  111. package/dist/question-requests.js +135 -0
  112. package/dist/question-requests.js.map +1 -0
  113. package/dist/renderer-api.d.ts +52 -0
  114. package/dist/renderer-api.d.ts.map +1 -0
  115. package/dist/renderer-api.js +2 -0
  116. package/dist/renderer-api.js.map +1 -0
  117. package/dist/runtime-tool-execution.d.ts +22 -0
  118. package/dist/runtime-tool-execution.d.ts.map +1 -0
  119. package/dist/runtime-tool-execution.js +245 -0
  120. package/dist/runtime-tool-execution.js.map +1 -0
  121. package/dist/runtime.d.ts +154 -0
  122. package/dist/runtime.d.ts.map +1 -0
  123. package/dist/runtime.js +184 -0
  124. package/dist/runtime.js.map +1 -0
  125. package/dist/secrets.d.ts +75 -0
  126. package/dist/secrets.d.ts.map +1 -0
  127. package/dist/secrets.js +255 -0
  128. package/dist/secrets.js.map +1 -0
  129. package/dist/session-actions.d.ts +45 -0
  130. package/dist/session-actions.d.ts.map +1 -0
  131. package/dist/session-actions.js +393 -0
  132. package/dist/session-actions.js.map +1 -0
  133. package/dist/skills.d.ts +43 -0
  134. package/dist/skills.d.ts.map +1 -0
  135. package/dist/skills.js +333 -0
  136. package/dist/skills.js.map +1 -0
  137. package/dist/test/setup.d.ts +2 -0
  138. package/dist/test/setup.d.ts.map +1 -0
  139. package/dist/test/setup.js +17 -0
  140. package/dist/test/setup.js.map +1 -0
  141. package/dist/tool-requests.d.ts +58 -0
  142. package/dist/tool-requests.d.ts.map +1 -0
  143. package/dist/tool-requests.js +122 -0
  144. package/dist/tool-requests.js.map +1 -0
  145. package/dist/tools.d.ts +45 -0
  146. package/dist/tools.d.ts.map +1 -0
  147. package/dist/tools.js +50 -0
  148. package/dist/tools.js.map +1 -0
  149. package/dist/wyrdos-integration.d.ts +32 -0
  150. package/dist/wyrdos-integration.d.ts.map +1 -0
  151. package/dist/wyrdos-integration.js +183 -0
  152. package/dist/wyrdos-integration.js.map +1 -0
  153. package/package.json +51 -0
@@ -0,0 +1,38 @@
1
+ import type { ActorId } from "./runtime.js";
2
+ export type PermissionGrantType = "allow_once" | "allow_session" | "allow_always";
3
+ export interface PermissionGrantScope {
4
+ readonly projectId: ActorId;
5
+ readonly sessionId?: ActorId;
6
+ readonly toolId: ActorId;
7
+ readonly action: string;
8
+ readonly target?: string;
9
+ }
10
+ export interface PermissionGrant extends PermissionGrantScope {
11
+ readonly id: ActorId;
12
+ readonly type: PermissionGrantType;
13
+ readonly createdAt: string;
14
+ readonly updatedAt: string;
15
+ }
16
+ export interface PermissionGrantRequest extends PermissionGrantScope {
17
+ }
18
+ export interface CreatePermissionGrantInput extends PermissionGrantScope {
19
+ readonly type: PermissionGrantType;
20
+ readonly id?: ActorId;
21
+ }
22
+ export interface CreatePermissionGrantOptions {
23
+ readonly now?: () => Date;
24
+ readonly createId?: () => ActorId;
25
+ }
26
+ export declare function createPermissionGrant(input: CreatePermissionGrantInput, options?: CreatePermissionGrantOptions): PermissionGrant;
27
+ export declare function validatePermissionGrant(grant: PermissionGrant): PermissionGrant;
28
+ export declare function findMatchingPermissionGrant(grants: readonly PermissionGrant[], request: PermissionGrantRequest): PermissionGrant | undefined;
29
+ export declare function permissionGrantMatchesRequest(grant: PermissionGrant, request: PermissionGrantRequest): boolean;
30
+ export declare function shouldPersistPermissionGrant(type: PermissionGrantType): boolean;
31
+ export interface PermissionGrantStore {
32
+ listPermissionGrants(): Promise<readonly PermissionGrant[]>;
33
+ savePermissionGrant(grant: PermissionGrant): Promise<PermissionGrant>;
34
+ deletePermissionGrant(grantId: ActorId): Promise<boolean>;
35
+ deleteMatchingPermissionGrant(request: PermissionGrantRequest): Promise<PermissionGrant | undefined>;
36
+ }
37
+ export declare function permissionGrantRequestKey(request: PermissionGrantRequest): string;
38
+ //# sourceMappingURL=permission-grants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-grants.d.ts","sourceRoot":"","sources":["../src/permission-grants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,CAAC;AAElF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;CAAG;AAEvE,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,EACjC,OAAO,GAAE,4BAAiC,GACzC,eAAe,CAuBjB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAkB/E;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,OAAO,EAAE,sBAAsB,GAC9B,eAAe,GAAG,SAAS,CAE7B;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAkBT;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAE/E;AAED,MAAM,WAAW,oBAAoB;IACnC,oBAAoB,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IAC5D,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACtE,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,6BAA6B,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;CACtG;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAKjF"}
@@ -0,0 +1,93 @@
1
+ import { randomUUID } from "node:crypto";
2
+ export function createPermissionGrant(input, options = {}) {
3
+ const now = (options.now ?? (() => new Date()))().toISOString();
4
+ const grant = validatePermissionGrant({
5
+ id: input.id ?? options.createId?.() ?? `grant_${randomUUID()}`,
6
+ type: input.type,
7
+ projectId: input.projectId,
8
+ ...(input.sessionId ? { sessionId: input.sessionId } : {}),
9
+ toolId: input.toolId,
10
+ action: input.action,
11
+ ...(input.target ? { target: input.target } : {}),
12
+ createdAt: now,
13
+ updatedAt: now
14
+ });
15
+ if (grant.type === "allow_always" && !grant.projectId) {
16
+ throw new Error("Persistent permission grants must be project-scoped.");
17
+ }
18
+ if (grant.type === "allow_session" && !grant.sessionId) {
19
+ throw new Error("Session permission grants require a sessionId.");
20
+ }
21
+ return grant;
22
+ }
23
+ export function validatePermissionGrant(grant) {
24
+ normalizeRequiredString(grant.id, "Permission grant id");
25
+ normalizeGrantType(grant.type);
26
+ normalizeRequiredString(grant.projectId, "Permission grant projectId");
27
+ normalizeRequiredString(grant.toolId, "Permission grant toolId");
28
+ normalizeRequiredString(grant.action, "Permission grant action");
29
+ normalizeRequiredString(grant.createdAt, "Permission grant createdAt");
30
+ normalizeRequiredString(grant.updatedAt, "Permission grant updatedAt");
31
+ if (grant.sessionId !== undefined) {
32
+ normalizeRequiredString(grant.sessionId, "Permission grant sessionId");
33
+ }
34
+ if (grant.target !== undefined) {
35
+ normalizeRequiredString(grant.target, "Permission grant target");
36
+ }
37
+ return grant;
38
+ }
39
+ export function findMatchingPermissionGrant(grants, request) {
40
+ return grants.find((grant) => permissionGrantMatchesRequest(grant, request));
41
+ }
42
+ export function permissionGrantMatchesRequest(grant, request) {
43
+ validatePermissionGrant(grant);
44
+ validatePermissionGrantRequest(request);
45
+ if (grant.projectId !== request.projectId)
46
+ return false;
47
+ if (grant.toolId !== request.toolId)
48
+ return false;
49
+ if (grant.action !== request.action)
50
+ return false;
51
+ if ((grant.target ?? "") !== (request.target ?? ""))
52
+ return false;
53
+ if (grant.type === "allow_once") {
54
+ return grant.sessionId === request.sessionId;
55
+ }
56
+ if (grant.type === "allow_session") {
57
+ return Boolean(grant.sessionId) && grant.sessionId === request.sessionId;
58
+ }
59
+ return true;
60
+ }
61
+ export function shouldPersistPermissionGrant(type) {
62
+ return type === "allow_always";
63
+ }
64
+ export function permissionGrantRequestKey(request) {
65
+ validatePermissionGrantRequest(request);
66
+ return [request.projectId, request.sessionId ?? "", request.toolId, request.action, request.target ?? ""]
67
+ .map((part) => encodeURIComponent(part))
68
+ .join(":");
69
+ }
70
+ function validatePermissionGrantRequest(request) {
71
+ normalizeRequiredString(request.projectId, "Permission request projectId");
72
+ normalizeRequiredString(request.toolId, "Permission request toolId");
73
+ normalizeRequiredString(request.action, "Permission request action");
74
+ if (request.sessionId !== undefined) {
75
+ normalizeRequiredString(request.sessionId, "Permission request sessionId");
76
+ }
77
+ if (request.target !== undefined) {
78
+ normalizeRequiredString(request.target, "Permission request target");
79
+ }
80
+ }
81
+ function normalizeRequiredString(value, label) {
82
+ const normalized = value.trim();
83
+ if (!normalized) {
84
+ throw new Error(`${label} is required.`);
85
+ }
86
+ return normalized;
87
+ }
88
+ function normalizeGrantType(type) {
89
+ if (type !== "allow_once" && type !== "allow_session" && type !== "allow_always") {
90
+ throw new Error(`Unsupported permission grant type: ${String(type)}`);
91
+ }
92
+ }
93
+ //# sourceMappingURL=permission-grants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-grants.js","sourceRoot":"","sources":["../src/permission-grants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgCzC,MAAM,UAAU,qBAAqB,CACnC,KAAiC,EACjC,UAAwC,EAAE;IAE1C,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,uBAAuB,CAAC;QACpC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,SAAS,UAAU,EAAE,EAAE;QAC/D,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAsB;IAC5D,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACzD,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IACvE,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACjE,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACjE,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IACvE,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IAEvE,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAkC,EAClC,OAA+B;IAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAsB,EACtB,OAA+B;IAE/B,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAElE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAyB;IACpE,OAAO,IAAI,KAAK,cAAc,CAAC;AACjC,CAAC;AASD,MAAM,UAAU,yBAAyB,CAAC,OAA+B;IACvE,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;SACtG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACvC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,8BAA8B,CAAC,OAA+B;IACrE,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;IAC3E,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACrE,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAErE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa,EAAE,KAAa;IAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAEhC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAyB;IACnD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { type ActorPathResolverOptions } from "@useactor/storage";
2
+ import type { ModelRef, ActorId } from "./runtime.js";
3
+ export interface PersonaRecord {
4
+ readonly id: ActorId;
5
+ readonly name: string;
6
+ readonly description?: string;
7
+ readonly instructions: string;
8
+ readonly defaultModel?: ModelRef;
9
+ readonly createdAt: string;
10
+ readonly updatedAt: string;
11
+ }
12
+ export interface CreatePersonaInput {
13
+ readonly id?: ActorId;
14
+ readonly name: string;
15
+ readonly description?: string;
16
+ readonly instructions: string;
17
+ readonly defaultModel?: ModelRef;
18
+ }
19
+ export interface UpdatePersonaInput {
20
+ readonly name?: string;
21
+ readonly description?: string;
22
+ readonly instructions?: string;
23
+ readonly defaultModel?: ModelRef;
24
+ }
25
+ export interface CreatePersonaOptions extends ActorPathResolverOptions {
26
+ readonly input: CreatePersonaInput;
27
+ readonly now?: () => Date;
28
+ readonly createId?: () => ActorId;
29
+ }
30
+ export interface UpdatePersonaOptions extends ActorPathResolverOptions {
31
+ readonly personaId: ActorId;
32
+ readonly input: UpdatePersonaInput;
33
+ readonly now?: () => Date;
34
+ }
35
+ export interface DeletePersonaOptions extends ActorPathResolverOptions {
36
+ readonly personaId: ActorId;
37
+ }
38
+ export declare function createPersonaRecord(input: CreatePersonaInput, options: {
39
+ readonly id: ActorId;
40
+ readonly now: string;
41
+ }): PersonaRecord;
42
+ export declare function updatePersonaRecord(existing: PersonaRecord, input: UpdatePersonaInput, options: {
43
+ readonly now: string;
44
+ }): PersonaRecord;
45
+ export declare function validatePersonaRecord(persona: PersonaRecord): PersonaRecord;
46
+ export declare function createPersona(options: CreatePersonaOptions): Promise<PersonaRecord>;
47
+ export declare function listPersonas(options?: ActorPathResolverOptions): Promise<readonly PersonaRecord[]>;
48
+ export declare function getPersona(personaId: ActorId, options?: ActorPathResolverOptions): Promise<PersonaRecord | undefined>;
49
+ export declare function updatePersona(options: UpdatePersonaOptions): Promise<PersonaRecord>;
50
+ export declare function deletePersona(options: DeletePersonaOptions): Promise<boolean>;
51
+ //# sourceMappingURL=personas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB;IACpE,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB;IACpE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB;IACpE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtD,aAAa,CAWf;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChC,aAAa,CAYf;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAwB3E;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAiBzF;AAED,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAGnC;AAED,wBAAsB,UAAU,CAC9B,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAGpC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAiBzF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2BnF"}
@@ -0,0 +1,137 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { readActorConfig, updateActorConfig } from "@useactor/storage";
3
+ export function createPersonaRecord(input, options) {
4
+ const description = input.description === undefined ? undefined : optionalText(input.description);
5
+ return validatePersonaRecord({
6
+ id: input.id ?? options.id,
7
+ name: required(input.name, "Persona name"),
8
+ ...(description !== undefined ? { description } : {}),
9
+ instructions: required(input.instructions, "Persona instructions"),
10
+ createdAt: options.now,
11
+ updatedAt: options.now,
12
+ ...(input.defaultModel ? { defaultModel: input.defaultModel } : {})
13
+ });
14
+ }
15
+ export function updatePersonaRecord(existing, input, options) {
16
+ const description = input.description === undefined ? undefined : optionalText(input.description);
17
+ return validatePersonaRecord({
18
+ ...existing,
19
+ updatedAt: options.now,
20
+ ...(input.name !== undefined ? { name: required(input.name, "Persona name") } : {}),
21
+ ...(description !== undefined ? { description } : {}),
22
+ ...(input.instructions !== undefined
23
+ ? { instructions: required(input.instructions, "Persona instructions") }
24
+ : {}),
25
+ ...(input.defaultModel !== undefined ? { defaultModel: input.defaultModel } : {})
26
+ });
27
+ }
28
+ export function validatePersonaRecord(persona) {
29
+ required(persona.id, "Persona id");
30
+ required(persona.name, "Persona name");
31
+ required(persona.instructions, "Persona instructions");
32
+ required(persona.createdAt, "Persona createdAt");
33
+ required(persona.updatedAt, "Persona updatedAt");
34
+ const unknownProjectKeys = ["projectId", "project", "wyrdosContainerId", "monoidContainerId"].filter((key) => key in persona);
35
+ if (unknownProjectKeys.length > 0) {
36
+ throw new Error("Persona records cannot include project references.");
37
+ }
38
+ if (persona.description !== undefined) {
39
+ optionalText(persona.description);
40
+ }
41
+ if (persona.defaultModel) {
42
+ required(persona.defaultModel.providerId, "Persona model providerId");
43
+ required(persona.defaultModel.modelId, "Persona model modelId");
44
+ }
45
+ return persona;
46
+ }
47
+ export async function createPersona(options) {
48
+ const now = (options.now ?? (() => new Date()))().toISOString();
49
+ const persona = createPersonaRecord(options.input, {
50
+ id: options.input.id ?? options.createId?.() ?? `persona_${randomUUID()}`,
51
+ now
52
+ });
53
+ await updateActorConfig({
54
+ ...options,
55
+ update(config) {
56
+ const personas = getPersonaMap(config);
57
+ if (personas[persona.id])
58
+ throw new Error(`Persona already exists: ${persona.id}`);
59
+ return { ...config, cli: { ...(config.cli ?? {}), personas: { ...personas, [persona.id]: persona } } };
60
+ }
61
+ });
62
+ return persona;
63
+ }
64
+ export async function listPersonas(options) {
65
+ const config = await readActorConfig(options);
66
+ return Object.values(getPersonaMap(config)).sort((a, b) => a.name.localeCompare(b.name));
67
+ }
68
+ export async function getPersona(personaId, options) {
69
+ const config = await readActorConfig(options);
70
+ return getPersonaMap(config)[personaId];
71
+ }
72
+ export async function updatePersona(options) {
73
+ let nextPersona;
74
+ await updateActorConfig({
75
+ ...options,
76
+ update(config) {
77
+ const personas = getPersonaMap(config);
78
+ const existing = personas[options.personaId];
79
+ if (!existing)
80
+ throw new Error(`Persona not found: ${options.personaId}`);
81
+ nextPersona = updatePersonaRecord(existing, options.input, {
82
+ now: (options.now ?? (() => new Date()))().toISOString()
83
+ });
84
+ return { ...config, cli: { ...(config.cli ?? {}), personas: { ...personas, [options.personaId]: nextPersona } } };
85
+ }
86
+ });
87
+ if (!nextPersona)
88
+ throw new Error(`Persona not found after update: ${options.personaId}`);
89
+ return nextPersona;
90
+ }
91
+ export async function deletePersona(options) {
92
+ let deleted = false;
93
+ await updateActorConfig({
94
+ ...options,
95
+ update(config) {
96
+ const personas = getPersonaMap(config);
97
+ if (!personas[options.personaId])
98
+ return config;
99
+ const { [options.personaId]: _deletedPersona, ...remainingPersonas } = personas;
100
+ deleted = true;
101
+ const defaults = config.defaults?.personaId === options.personaId
102
+ ? withoutPersonaDefault(config.defaults)
103
+ : config.defaults;
104
+ const { defaults: _defaults, ...configWithoutDefaults } = config;
105
+ return {
106
+ ...configWithoutDefaults,
107
+ ...(defaults ? { defaults } : {}),
108
+ cli: { ...(config.cli ?? {}), personas: remainingPersonas }
109
+ };
110
+ }
111
+ });
112
+ return deleted;
113
+ }
114
+ function getPersonaMap(config) {
115
+ const personas = config.cli?.personas;
116
+ if (!personas || typeof personas !== "object" || Array.isArray(personas))
117
+ return {};
118
+ return Object.fromEntries(Object.entries(personas).map(([id, persona]) => [
119
+ id,
120
+ validatePersonaRecord(persona)
121
+ ]));
122
+ }
123
+ function withoutPersonaDefault(defaults) {
124
+ const { personaId: _personaId, ...remainingDefaults } = defaults;
125
+ return Object.keys(remainingDefaults).length > 0 ? remainingDefaults : undefined;
126
+ }
127
+ function required(value, label) {
128
+ const normalized = value.trim();
129
+ if (!normalized)
130
+ throw new Error(`${label} is required.`);
131
+ return normalized;
132
+ }
133
+ function optionalText(value) {
134
+ const normalized = value.trim();
135
+ return normalized ? normalized : undefined;
136
+ }
137
+ //# sourceMappingURL=personas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ProjectIntegrationRef } from "./projects.js";
2
+ import type { ActorId } from "./runtime.js";
3
+ import { type ToolRegistry } from "./tools.js";
4
+ import type { ActorPathResolverOptions } from "@useactor/storage";
5
+ export interface ProjectToolRegistryProject {
6
+ readonly id: ActorId;
7
+ readonly rootPath?: string;
8
+ readonly enabledTools?: readonly string[];
9
+ readonly integrations?: readonly ProjectIntegrationRef[];
10
+ }
11
+ export interface CreateProjectToolRegistryOptions extends ActorPathResolverOptions {
12
+ readonly project?: ProjectToolRegistryProject;
13
+ readonly includeDynamicLocalTools?: boolean;
14
+ }
15
+ export declare function createProjectToolRegistry(options?: CreateProjectToolRegistryOptions): Promise<ToolRegistry>;
16
+ //# sourceMappingURL=project-tool-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-tool-registry.d.ts","sourceRoot":"","sources":["../src/project-tool-registry.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAC7C;AAqDD,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
@@ -0,0 +1,86 @@
1
+ import { listCliDefinedToolConfigs, createCliDefinedIntegration, } from "./cli-defined-tools.js";
2
+ import { createIntegrationRegistry } from "./integrations.js";
3
+ import { createBashTool, createEditFileTool, createGlobTool, createListFilesTool, createReadFileTool, createRipgrepTool, createWriteFileTool, } from "./local-tools.js";
4
+ import { createMonoidIntegrationSkeleton } from "./monoid-integration.js";
5
+ import { createSkillTool } from "./skills.js";
6
+ import { createToolRegistry, } from "./tools.js";
7
+ import { createWyrdosIntegrationSkeleton } from "./wyrdos-integration.js";
8
+ const defaultLocalToolIds = [
9
+ "list",
10
+ "read",
11
+ "grep",
12
+ "glob",
13
+ "write",
14
+ "edit",
15
+ "bash",
16
+ "skill",
17
+ ];
18
+ const localToolAliases = {
19
+ list: "list",
20
+ list_files: "list",
21
+ read: "read",
22
+ read_file: "read",
23
+ grep: "grep",
24
+ ripgrep: "grep",
25
+ glob: "glob",
26
+ write: "write",
27
+ write_file: "write",
28
+ edit: "edit",
29
+ edit_file: "edit",
30
+ bash: "bash",
31
+ skill: "skill",
32
+ };
33
+ const localToolFactories = {
34
+ list: (options) => createListFilesTool({ ...options, id: "list" }),
35
+ read: (options) => createReadFileTool({ ...options, id: "read" }),
36
+ grep: (options) => createRipgrepTool({ ...options, id: "grep" }),
37
+ glob: (options) => createGlobTool({ ...options, id: "glob" }),
38
+ write: (options) => createWriteFileTool({ ...options, id: "write" }),
39
+ edit: (options) => createEditFileTool({ ...options, id: "edit" }),
40
+ bash: (options) => createBashTool({ ...options, id: "bash" }),
41
+ skill: (options) => createSkillTool(options),
42
+ };
43
+ export async function createProjectToolRegistry(options = {}) {
44
+ const integrationRegistry = createIntegrationRegistry([
45
+ createWyrdosIntegrationSkeleton(),
46
+ createMonoidIntegrationSkeleton(),
47
+ ...(await listCliDefinedToolConfigs(options)).map(createCliDefinedIntegration),
48
+ ]);
49
+ return createToolRegistry([
50
+ ...createEnabledLocalTools(options.project, pathResolverOptions(options), options.includeDynamicLocalTools),
51
+ ...integrationRegistry.listToolsForProject(options.project),
52
+ ]);
53
+ }
54
+ function pathResolverOptions(options) {
55
+ return {
56
+ ...(options.env ? { env: options.env } : {}),
57
+ ...(options.homedirPath ? { homedirPath: options.homedirPath } : {}),
58
+ ...(options.homedirResolver
59
+ ? { homedirResolver: options.homedirResolver }
60
+ : {}),
61
+ };
62
+ }
63
+ function createEnabledLocalTools(project, pathOptions, includeDynamicLocalTools = false) {
64
+ if (!includeDynamicLocalTools && !project?.enabledTools?.length && !project?.rootPath) {
65
+ return [];
66
+ }
67
+ const enabledTools = project?.enabledTools;
68
+ const rootPath = project?.rootPath;
69
+ const enabledToolIds = enabledTools?.length
70
+ ? [
71
+ ...new Set(enabledTools
72
+ .map((toolId) => localToolAliases[toolId])
73
+ .filter(isLocalToolId)),
74
+ ]
75
+ : defaultLocalToolIds;
76
+ return enabledToolIds
77
+ .map((toolId) => localToolFactories[toolId]?.({
78
+ ...pathOptions,
79
+ ...(rootPath ? { rootPath } : {}),
80
+ }))
81
+ .filter((tool) => Boolean(tool));
82
+ }
83
+ function isLocalToolId(toolId) {
84
+ return Boolean(toolId);
85
+ }
86
+ //# sourceMappingURL=project-tool-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-tool-registry.js","sourceRoot":"","sources":["../src/project-tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { type ActorPathResolverOptions } from "@useactor/storage";
2
+ import type { ModelRef, ActorId } from "./runtime.js";
3
+ export interface ProjectRecord {
4
+ readonly id: ActorId;
5
+ readonly name: string;
6
+ readonly wyrdosContainerId?: string;
7
+ readonly monoidContainerId?: string;
8
+ readonly githubRepoUrl?: string;
9
+ readonly desktopFolder?: string;
10
+ readonly rootPath?: string;
11
+ readonly links?: readonly ProjectLink[];
12
+ readonly enabledTools?: readonly string[];
13
+ readonly integrations?: readonly ProjectIntegrationRef[];
14
+ readonly instructions?: string;
15
+ readonly defaultModel?: ModelRef;
16
+ readonly defaultPersonaId?: ActorId;
17
+ readonly createdAt: string;
18
+ readonly updatedAt: string;
19
+ }
20
+ export interface ProjectLink {
21
+ readonly label: string;
22
+ readonly url: string;
23
+ }
24
+ export interface ProjectIntegrationRef {
25
+ readonly providerId: string;
26
+ readonly resourceId?: string;
27
+ }
28
+ export interface CreateProjectInput {
29
+ readonly id?: ActorId;
30
+ readonly name: string;
31
+ readonly wyrdosContainerId?: string;
32
+ readonly monoidContainerId?: string;
33
+ readonly githubRepoUrl?: string;
34
+ readonly desktopFolder?: string;
35
+ readonly rootPath?: string;
36
+ readonly links?: readonly ProjectLink[];
37
+ readonly enabledTools?: readonly string[];
38
+ readonly integrations?: readonly ProjectIntegrationRef[];
39
+ readonly instructions?: string;
40
+ readonly defaultModel?: ModelRef;
41
+ readonly defaultPersonaId?: ActorId;
42
+ }
43
+ export interface UpdateProjectInput {
44
+ readonly name?: string;
45
+ readonly wyrdosContainerId?: string;
46
+ readonly monoidContainerId?: string;
47
+ readonly githubRepoUrl?: string;
48
+ readonly desktopFolder?: string;
49
+ readonly rootPath?: string;
50
+ readonly links?: readonly ProjectLink[];
51
+ readonly enabledTools?: readonly string[];
52
+ readonly integrations?: readonly ProjectIntegrationRef[];
53
+ readonly instructions?: string;
54
+ readonly defaultModel?: ModelRef;
55
+ readonly defaultPersonaId?: ActorId;
56
+ }
57
+ export interface CreateProjectOptions extends ActorPathResolverOptions {
58
+ readonly input: CreateProjectInput;
59
+ readonly now?: () => Date;
60
+ readonly createId?: () => ActorId;
61
+ }
62
+ export interface UpdateProjectOptions extends ActorPathResolverOptions {
63
+ readonly projectId: ActorId;
64
+ readonly input: UpdateProjectInput;
65
+ readonly now?: () => Date;
66
+ }
67
+ export interface ProjectIntegrationMutationOptions extends ActorPathResolverOptions {
68
+ readonly projectId: ActorId;
69
+ readonly providerId: string;
70
+ readonly resourceId?: string;
71
+ readonly now?: () => Date;
72
+ }
73
+ export declare function createProjectRecord(input: CreateProjectInput, options: {
74
+ readonly id: ActorId;
75
+ readonly now: string;
76
+ }): ProjectRecord;
77
+ export declare function updateProjectRecord(existing: ProjectRecord, input: UpdateProjectInput, options: {
78
+ readonly now: string;
79
+ }): ProjectRecord;
80
+ export declare function validateProjectRecord(record: ProjectRecord): ProjectRecord;
81
+ export declare function createProject(options: CreateProjectOptions): Promise<ProjectRecord>;
82
+ export declare function listProjects(options?: ActorPathResolverOptions): Promise<readonly ProjectRecord[]>;
83
+ export declare function getProject(projectId: ActorId, options?: ActorPathResolverOptions): Promise<ProjectRecord | undefined>;
84
+ export declare function updateProject(options: UpdateProjectOptions): Promise<ProjectRecord>;
85
+ export declare function enableProjectIntegration(options: ProjectIntegrationMutationOptions): Promise<ProjectRecord>;
86
+ export declare function disableProjectIntegration(options: ProjectIntegrationMutationOptions): Promise<ProjectRecord>;
87
+ export declare function listProjectIntegrations(projectId: ActorId, options?: ActorPathResolverOptions): Promise<readonly ProjectIntegrationRef[]>;
88
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"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"}