@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,133 @@
1
+ import type { ActorId, SessionMessage, TokenUsage } from "./runtime.js";
2
+ import type { ArtifactKind, ArtifactRef } from "./artifacts.js";
3
+ export interface RuntimeEventBase {
4
+ readonly sessionId: ActorId;
5
+ readonly runId: ActorId;
6
+ readonly timestamp: string;
7
+ }
8
+ export interface UserMessageEvent extends RuntimeEventBase {
9
+ readonly type: "user_message";
10
+ readonly message: SessionMessage;
11
+ }
12
+ export interface AssistantMessageStartEvent extends RuntimeEventBase {
13
+ readonly type: "assistant_message_start";
14
+ readonly messageId: ActorId;
15
+ }
16
+ export interface StreamDeltaEvent extends RuntimeEventBase {
17
+ readonly type: "stream_delta";
18
+ readonly messageId: ActorId;
19
+ readonly delta: string;
20
+ }
21
+ export interface PlanDeltaEvent extends RuntimeEventBase {
22
+ readonly type: "plan_delta";
23
+ readonly messageId: ActorId;
24
+ readonly delta: string;
25
+ }
26
+ export interface ToolRequestDetails {
27
+ readonly toolId: ActorId;
28
+ readonly action: string;
29
+ readonly target?: string;
30
+ readonly reason: string;
31
+ readonly riskLevel?: "normal" | "destructive";
32
+ readonly preview?: string;
33
+ }
34
+ export interface ToolRequestEvent extends RuntimeEventBase {
35
+ readonly type: "tool_request";
36
+ readonly requestId: ActorId;
37
+ readonly tool: ToolRequestDetails;
38
+ }
39
+ export interface ToolCallEvent extends RuntimeEventBase {
40
+ readonly type: "tool_call";
41
+ readonly toolCallId: ActorId;
42
+ readonly tool: ToolRequestDetails;
43
+ }
44
+ export interface ToolResultEvent extends RuntimeEventBase {
45
+ readonly type: "tool_result";
46
+ readonly toolCallId: ActorId;
47
+ readonly toolId: ActorId;
48
+ readonly status: "success" | "error";
49
+ readonly durationMs: number;
50
+ readonly summary?: string;
51
+ readonly metadata?: Record<string, string | number | boolean | null>;
52
+ }
53
+ export type ApprovalDecisionType = "allow_once" | "allow_session" | "allow_always" | "deny" | "redirect";
54
+ export interface ApprovalResultEvent extends RuntimeEventBase {
55
+ readonly type: "approval_result";
56
+ readonly requestId: ActorId;
57
+ readonly approved: boolean;
58
+ readonly decision: ApprovalDecisionType;
59
+ }
60
+ export interface QuestionOption {
61
+ readonly label: string;
62
+ readonly description: string;
63
+ }
64
+ export interface QuestionPrompt {
65
+ readonly id: string;
66
+ readonly header: string;
67
+ readonly question: string;
68
+ readonly options: readonly QuestionOption[];
69
+ }
70
+ export interface QuestionRequestEvent extends RuntimeEventBase {
71
+ readonly type: "question_request";
72
+ readonly requestId: ActorId;
73
+ readonly questions: readonly QuestionPrompt[];
74
+ }
75
+ export interface QuestionAnswer {
76
+ readonly selectedLabel?: string;
77
+ readonly text?: string;
78
+ }
79
+ export interface QuestionResponseEvent extends RuntimeEventBase {
80
+ readonly type: "question_response";
81
+ readonly requestId: ActorId;
82
+ readonly answers: Record<string, QuestionAnswer>;
83
+ }
84
+ export interface ArtifactEvent extends RuntimeEventBase {
85
+ readonly type: "artifact";
86
+ readonly artifactId: ActorId;
87
+ readonly kind: ArtifactKind;
88
+ readonly name: string;
89
+ readonly ref: ArtifactRef;
90
+ readonly mediaType?: string;
91
+ readonly description?: string;
92
+ readonly metadata?: Record<string, string | number | boolean | null>;
93
+ }
94
+ export interface UsageEvent extends RuntimeEventBase {
95
+ readonly type: "usage";
96
+ readonly usage: TokenUsage;
97
+ }
98
+ export interface RuntimeErrorEvent extends RuntimeEventBase {
99
+ readonly type: "error";
100
+ readonly message: string;
101
+ readonly code?: string;
102
+ }
103
+ export interface RuntimeDoneEvent extends RuntimeEventBase {
104
+ readonly type: "done";
105
+ readonly messageId?: ActorId;
106
+ }
107
+ export interface RuntimeCancelledEvent extends RuntimeEventBase {
108
+ readonly type: "cancelled";
109
+ readonly reason?: string;
110
+ }
111
+ export type RuntimeEvent = UserMessageEvent | AssistantMessageStartEvent | StreamDeltaEvent | PlanDeltaEvent | ToolCallEvent | ToolResultEvent | ToolRequestEvent | ApprovalResultEvent | QuestionRequestEvent | QuestionResponseEvent | ArtifactEvent | UsageEvent | RuntimeErrorEvent | RuntimeDoneEvent | RuntimeCancelledEvent;
112
+ export type RuntimeEventType = RuntimeEvent["type"];
113
+ export interface EventContext {
114
+ readonly sessionId: ActorId;
115
+ readonly runId: ActorId;
116
+ readonly timestamp: string;
117
+ }
118
+ export declare function createUserMessageEvent(context: EventContext, message: SessionMessage): UserMessageEvent;
119
+ export declare function createAssistantMessageStartEvent(context: EventContext, messageId: ActorId): AssistantMessageStartEvent;
120
+ export declare function createStreamDeltaEvent(context: EventContext, messageId: ActorId, delta: string): StreamDeltaEvent;
121
+ export declare function createPlanDeltaEvent(context: EventContext, messageId: ActorId, delta: string): PlanDeltaEvent;
122
+ export declare function createToolRequestEvent(context: EventContext, requestId: ActorId, tool: ToolRequestDetails): ToolRequestEvent;
123
+ export declare function createToolCallEvent(context: EventContext, toolCallId: ActorId, tool: ToolRequestDetails): ToolCallEvent;
124
+ export declare function createToolResultEvent(context: EventContext, result: Omit<ToolResultEvent, keyof RuntimeEventBase | "type">): ToolResultEvent;
125
+ export declare function createApprovalResultEvent(context: EventContext, requestId: ActorId, approved: boolean, decision: ApprovalDecisionType): ApprovalResultEvent;
126
+ export declare function createQuestionRequestEvent(context: EventContext, requestId: ActorId, questions: readonly QuestionPrompt[]): QuestionRequestEvent;
127
+ export declare function createQuestionResponseEvent(context: EventContext, requestId: ActorId, answers: Record<string, QuestionAnswer>): QuestionResponseEvent;
128
+ export declare function createArtifactEvent(context: EventContext, artifact: Omit<ArtifactEvent, keyof RuntimeEventBase | "type">): ArtifactEvent;
129
+ export declare function createUsageEvent(context: EventContext, usage: TokenUsage): UsageEvent;
130
+ export declare function createRuntimeErrorEvent(context: EventContext, error: Omit<RuntimeErrorEvent, keyof RuntimeEventBase | "type">): RuntimeErrorEvent;
131
+ export declare function createRuntimeDoneEvent(context: EventContext, done?: Omit<RuntimeDoneEvent, keyof RuntimeEventBase | "type">): RuntimeDoneEvent;
132
+ export declare function createRuntimeCancelledEvent(context: EventContext, cancelled?: Omit<RuntimeCancelledEvent, keyof RuntimeEventBase | "type">): RuntimeCancelledEvent;
133
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/dist/events.js ADDED
@@ -0,0 +1,46 @@
1
+ export function createUserMessageEvent(context, message) {
2
+ return { ...context, type: "user_message", message };
3
+ }
4
+ export function createAssistantMessageStartEvent(context, messageId) {
5
+ return { ...context, type: "assistant_message_start", messageId };
6
+ }
7
+ export function createStreamDeltaEvent(context, messageId, delta) {
8
+ return { ...context, type: "stream_delta", messageId, delta };
9
+ }
10
+ export function createPlanDeltaEvent(context, messageId, delta) {
11
+ return { ...context, type: "plan_delta", messageId, delta };
12
+ }
13
+ export function createToolRequestEvent(context, requestId, tool) {
14
+ return { ...context, type: "tool_request", requestId, tool };
15
+ }
16
+ export function createToolCallEvent(context, toolCallId, tool) {
17
+ return { ...context, type: "tool_call", toolCallId, tool };
18
+ }
19
+ export function createToolResultEvent(context, result) {
20
+ return { ...context, type: "tool_result", ...result };
21
+ }
22
+ export function createApprovalResultEvent(context, requestId, approved, decision) {
23
+ return { ...context, type: "approval_result", requestId, approved, decision };
24
+ }
25
+ export function createQuestionRequestEvent(context, requestId, questions) {
26
+ return { ...context, type: "question_request", requestId, questions };
27
+ }
28
+ export function createQuestionResponseEvent(context, requestId, answers) {
29
+ return { ...context, type: "question_response", requestId, answers };
30
+ }
31
+ export function createArtifactEvent(context, artifact) {
32
+ return { ...context, type: "artifact", ...artifact };
33
+ }
34
+ export function createUsageEvent(context, usage) {
35
+ return { ...context, type: "usage", usage };
36
+ }
37
+ export function createRuntimeErrorEvent(context, error) {
38
+ return { ...context, type: "error", ...error };
39
+ }
40
+ export function createRuntimeDoneEvent(context, done = {}) {
41
+ return { ...context, type: "done", ...done };
42
+ }
43
+ export function createRuntimeCancelledEvent(context, cancelled = {}) {
44
+ return { ...context, type: "cancelled", ...cancelled };
45
+ }
46
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAkKA,MAAM,UAAU,sBAAsB,CACpC,OAAqB,EACrB,OAAuB;IAEvB,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAqB,EACrB,SAAkB;IAElB,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAqB,EACrB,SAAkB,EAClB,KAAa;IAEb,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAqB,EACrB,SAAkB,EAClB,KAAa;IAEb,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAqB,EACrB,SAAkB,EAClB,IAAwB;IAExB,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAqB,EACrB,UAAmB,EACnB,IAAwB;IAExB,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAqB,EACrB,MAA8D;IAE9D,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAqB,EACrB,SAAkB,EAClB,QAAiB,EACjB,QAA8B;IAE9B,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAqB,EACrB,SAAkB,EAClB,SAAoC;IAEpC,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAqB,EACrB,SAAkB,EAClB,OAAuC;IAEvC,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAqB,EACrB,QAA8D;IAE9D,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAqB,EACrB,KAAiB;IAEjB,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAqB,EACrB,KAA+D;IAE/D,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAqB,EACrB,OAAgE,EAAE;IAElE,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAqB,EACrB,YAA0E,EAAE;IAE5E,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAAC;AACzD,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { type ActorFeedbackRating, type ActorPathResolverOptions } from "@useactor/storage";
2
+ import type { ModelRef, ActorId } from "./runtime.js";
3
+ export type FeedbackRating = ActorFeedbackRating;
4
+ export interface AssistantFeedback {
5
+ readonly id: ActorId;
6
+ readonly sessionId: ActorId;
7
+ readonly messageId: ActorId;
8
+ readonly rating?: FeedbackRating;
9
+ readonly comment?: string;
10
+ readonly createdAt: string;
11
+ readonly model?: ModelRef;
12
+ }
13
+ export interface CaptureAssistantFeedbackInput {
14
+ readonly sessionId: ActorId;
15
+ readonly messageId: ActorId;
16
+ readonly rating?: FeedbackRating;
17
+ readonly comment?: string;
18
+ readonly model?: ModelRef;
19
+ }
20
+ export interface CaptureAssistantFeedbackOptions extends ActorPathResolverOptions {
21
+ readonly now?: () => Date;
22
+ readonly createId?: () => ActorId;
23
+ }
24
+ export interface ListAssistantFeedbackOptions extends ActorPathResolverOptions {
25
+ readonly sessionId?: ActorId;
26
+ }
27
+ export declare function captureAssistantFeedback(input: CaptureAssistantFeedbackInput, options?: CaptureAssistantFeedbackOptions): Promise<AssistantFeedback>;
28
+ export declare function listAssistantFeedback(options?: ListAssistantFeedbackOptions): Promise<readonly AssistantFeedback[]>;
29
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,+BAAgC,SAAQ,wBAAwB;IAC/E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,6BAA6B,EACpC,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,iBAAiB,CAAC,CAiB5B;AAED,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAMvC"}
@@ -0,0 +1,62 @@
1
+ import { appendActorFeedbackEntry, readActorFeedbackEntries } from "@useactor/storage";
2
+ import { randomUUID } from "node:crypto";
3
+ export async function captureAssistantFeedback(input, options = {}) {
4
+ const feedback = normalizeFeedback({
5
+ id: options.createId?.() ?? `feedback_${randomUUID()}`,
6
+ sessionId: input.sessionId,
7
+ messageId: input.messageId,
8
+ ...(input.rating ? { rating: input.rating } : {}),
9
+ ...(input.comment ? { comment: input.comment } : {}),
10
+ createdAt: (options.now ?? (() => new Date()))().toISOString(),
11
+ ...(input.model ? { model: input.model } : {})
12
+ });
13
+ await appendActorFeedbackEntry({
14
+ ...options,
15
+ entry: feedback
16
+ });
17
+ return feedback;
18
+ }
19
+ export async function listAssistantFeedback(options = {}) {
20
+ const result = await readActorFeedbackEntries(options);
21
+ return result.entries
22
+ .map((entry) => normalizeFeedback(entry))
23
+ .filter((entry) => !options.sessionId || entry.sessionId === options.sessionId)
24
+ .sort((first, second) => first.createdAt.localeCompare(second.createdAt));
25
+ }
26
+ function normalizeFeedback(entry) {
27
+ const id = normalizeRequiredString(entry.id, "Feedback id");
28
+ const sessionId = normalizeRequiredString(entry.sessionId, "Feedback sessionId");
29
+ const messageId = normalizeRequiredString(entry.messageId, "Feedback messageId");
30
+ const createdAt = normalizeRequiredString(entry.createdAt, "Feedback createdAt");
31
+ const rating = entry.rating;
32
+ const comment = entry.comment?.trim();
33
+ if (rating !== undefined && rating !== "up" && rating !== "down") {
34
+ throw new Error(`Unsupported feedback rating: ${String(rating)}`);
35
+ }
36
+ if (!rating && !comment) {
37
+ throw new Error("Feedback requires a rating or comment.");
38
+ }
39
+ assertNoRawSecret(comment ?? "");
40
+ return {
41
+ id,
42
+ sessionId,
43
+ messageId,
44
+ createdAt,
45
+ ...(rating ? { rating } : {}),
46
+ ...(comment ? { comment } : {}),
47
+ ...(entry.model ? { model: entry.model } : {})
48
+ };
49
+ }
50
+ function normalizeRequiredString(value, label) {
51
+ const normalized = value.trim();
52
+ if (!normalized) {
53
+ throw new Error(`${label} is required.`);
54
+ }
55
+ return normalized;
56
+ }
57
+ function assertNoRawSecret(value) {
58
+ if (/\b(sk-[A-Za-z0-9_-]{8,}|xox[baprs]-[A-Za-z0-9-]{8,}|gh[pousr]_[A-Za-z0-9_]{8,})\b/.test(value)) {
59
+ throw new Error("Feedback cannot contain raw secret values.");
60
+ }
61
+ }
62
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type ListActorSessionsResult, type ActorDiscoveredSession, type ActorPathResolverOptions } from "@useactor/storage";
2
+ import type { RuntimeEvent } from "./events.js";
3
+ import type { SessionContext, SessionRef } from "./runtime.js";
4
+ export interface AppendHistoryFromRuntimeEventOptions extends ActorPathResolverOptions {
5
+ readonly event: RuntimeEvent;
6
+ readonly messageContext?: SessionContext;
7
+ }
8
+ export interface AppendSessionIndexFromSessionOptions extends ActorPathResolverOptions {
9
+ readonly session: SessionRef;
10
+ readonly rolloutPath: string;
11
+ readonly sessionContext?: SessionContext;
12
+ }
13
+ export interface AppendSessionSummaryFromRuntimeEventOptions extends ActorPathResolverOptions {
14
+ readonly event: RuntimeEvent;
15
+ readonly rolloutPath: string;
16
+ }
17
+ export interface GetSessionRolloutPathByIdOptions extends ActorPathResolverOptions {
18
+ readonly sessionId: string;
19
+ }
20
+ export interface DiscoverProjectSessionsOptions extends ActorPathResolverOptions {
21
+ readonly projectId: string;
22
+ }
23
+ export interface DeleteSessionOptions extends ActorPathResolverOptions {
24
+ readonly sessionId: string;
25
+ }
26
+ export declare function appendHistoryFromRuntimeEvent(options: AppendHistoryFromRuntimeEventOptions): Promise<boolean>;
27
+ export declare function appendSessionIndexFromSession(options: AppendSessionIndexFromSessionOptions): Promise<void>;
28
+ export declare function appendSessionSummaryFromRuntimeEvent(options: AppendSessionSummaryFromRuntimeEventOptions): Promise<boolean>;
29
+ export declare function discoverSessions(options?: ActorPathResolverOptions): Promise<ListActorSessionsResult>;
30
+ export declare function discoverProjectSessions(options: DiscoverProjectSessionsOptions): Promise<ListActorSessionsResult>;
31
+ export declare function discoverSessionRolloutPath(options: GetSessionRolloutPathByIdOptions): Promise<string | undefined>;
32
+ export declare function deleteSession(options: DeleteSessionOptions): Promise<void>;
33
+ export type { ActorDiscoveredSession };
34
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAG3B,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,oCAAqC,SAAQ,wBAAwB;IACpF,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;CAC1C;AAED,MAAM,WAAW,oCAAqC,SAAQ,wBAAwB;IACpF,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;CAC1C;AAED,MAAM,WAAW,2CAA4C,SAAQ,wBAAwB;IAC3F,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,uBAAuB,CAAC,CASlC;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { appendActorHistoryEntry, appendActorSessionIndexEntry, deleteActorSession, getSessionRolloutPathById, listActorSessions, } from "@useactor/storage";
2
+ export async function appendHistoryFromRuntimeEvent(options) {
3
+ if (options.event.type !== "user_message") {
4
+ return false;
5
+ }
6
+ const entry = {
7
+ type: "prompt",
8
+ sessionId: options.event.sessionId,
9
+ messageId: options.event.message.id,
10
+ role: "user",
11
+ content: options.event.message.content,
12
+ createdAt: options.event.message.createdAt,
13
+ ...(options.messageContext?.project
14
+ ? { projectId: options.messageContext.project.id }
15
+ : {}),
16
+ ...(options.messageContext?.persona
17
+ ? { personaId: options.messageContext.persona.id }
18
+ : {}),
19
+ ...(options.messageContext?.model
20
+ ? { model: options.messageContext.model }
21
+ : {}),
22
+ };
23
+ await appendActorHistoryEntry({
24
+ ...options,
25
+ entry,
26
+ });
27
+ return true;
28
+ }
29
+ export async function appendSessionIndexFromSession(options) {
30
+ await appendActorSessionIndexEntry({
31
+ ...options,
32
+ entry: {
33
+ sessionId: options.session.id,
34
+ createdAt: options.session.createdAt,
35
+ updatedAt: options.session.updatedAt,
36
+ rolloutPath: options.rolloutPath,
37
+ ...(options.session.title ? { title: options.session.title } : {}),
38
+ ...(options.sessionContext?.project
39
+ ? { project: options.sessionContext.project }
40
+ : {}),
41
+ ...(options.sessionContext?.persona
42
+ ? { persona: options.sessionContext.persona }
43
+ : {}),
44
+ ...(options.sessionContext?.model
45
+ ? { model: options.sessionContext.model }
46
+ : {}),
47
+ },
48
+ });
49
+ }
50
+ export async function appendSessionSummaryFromRuntimeEvent(options) {
51
+ const summary = summaryFromRuntimeEvent(options.event);
52
+ if (!summary) {
53
+ return false;
54
+ }
55
+ await appendActorSessionIndexEntry({
56
+ ...options,
57
+ entry: {
58
+ sessionId: options.event.sessionId,
59
+ createdAt: options.event.timestamp,
60
+ updatedAt: options.event.timestamp,
61
+ rolloutPath: options.rolloutPath,
62
+ summary,
63
+ },
64
+ });
65
+ return true;
66
+ }
67
+ export async function discoverSessions(options) {
68
+ return listActorSessions(options);
69
+ }
70
+ export async function discoverProjectSessions(options) {
71
+ const sessions = await listActorSessions(options);
72
+ return {
73
+ ...sessions,
74
+ entries: sessions.entries.filter((session) => session.project?.id === options.projectId),
75
+ };
76
+ }
77
+ export async function discoverSessionRolloutPath(options) {
78
+ return getSessionRolloutPathById(options);
79
+ }
80
+ export async function deleteSession(options) {
81
+ await deleteActorSession(options);
82
+ }
83
+ function summaryFromRuntimeEvent(event) {
84
+ if (event.type === "user_message") {
85
+ return { messageCount: 1, lastStatus: "active" };
86
+ }
87
+ if (event.type === "artifact") {
88
+ return { artifactCount: 1, lastStatus: "active" };
89
+ }
90
+ if (event.type === "done") {
91
+ return { lastStatus: "done" };
92
+ }
93
+ if (event.type === "cancelled") {
94
+ return { lastStatus: "cancelled" };
95
+ }
96
+ if (event.type === "error") {
97
+ return {
98
+ lastStatus: "error",
99
+ lastError: {
100
+ message: event.message,
101
+ ...(event.code ? { code: event.code } : {}),
102
+ },
103
+ };
104
+ }
105
+ if (event.type === "assistant_message_start" ||
106
+ event.type === "stream_delta" ||
107
+ event.type === "plan_delta" ||
108
+ event.type === "tool_call" ||
109
+ event.type === "tool_result" ||
110
+ event.type === "tool_request" ||
111
+ event.type === "approval_result" ||
112
+ event.type === "question_request" ||
113
+ event.type === "question_response") {
114
+ return { lastStatus: "active" };
115
+ }
116
+ return undefined;
117
+ }
118
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { PermissionGrantStore } from "./permission-grants.js";
2
+ import { type ActorRuntime, type ProviderAdapter } from "./runtime.js";
3
+ import type { ToolRegistry } from "./tools.js";
4
+ interface CreateInMemoryRuntimeOptions {
5
+ readonly env?: NodeJS.ProcessEnv;
6
+ readonly provider?: ProviderAdapter;
7
+ readonly toolRegistry?: ToolRegistry;
8
+ readonly permissionGrantStore?: PermissionGrantStore;
9
+ }
10
+ export declare function createInMemoryRuntime(options?: CreateInMemoryRuntimeOptions): ActorRuntime;
11
+ export {};
12
+ //# sourceMappingURL=in-memory-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-runtime.d.ts","sourceRoot":"","sources":["../src/in-memory-runtime.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AASnE,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,eAAe,EAQrB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAC;AAe/D,UAAU,4BAA4B;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CACtD;AAED,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,4BAAiC,GACzC,YAAY,CA2fd"}