@chaaskit/shared 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 (81) hide show
  1. package/dist/constants/index.d.ts +59 -0
  2. package/dist/constants/index.d.ts.map +1 -0
  3. package/dist/constants/index.js +69 -0
  4. package/dist/constants/index.js.map +1 -0
  5. package/dist/index.d.ts +20 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +23 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/types/admin.d.ts +98 -0
  10. package/dist/types/admin.d.ts.map +1 -0
  11. package/dist/types/admin.js +2 -0
  12. package/dist/types/admin.js.map +1 -0
  13. package/dist/types/auth.d.ts +43 -0
  14. package/dist/types/auth.d.ts.map +1 -0
  15. package/dist/types/auth.js +2 -0
  16. package/dist/types/auth.js.map +1 -0
  17. package/dist/types/config.d.ts +267 -0
  18. package/dist/types/config.d.ts.map +1 -0
  19. package/dist/types/config.js +2 -0
  20. package/dist/types/config.js.map +1 -0
  21. package/dist/types/documents.d.ts +80 -0
  22. package/dist/types/documents.d.ts.map +1 -0
  23. package/dist/types/documents.js +5 -0
  24. package/dist/types/documents.js.map +1 -0
  25. package/dist/types/mcp.d.ts +130 -0
  26. package/dist/types/mcp.d.ts.map +1 -0
  27. package/dist/types/mcp.js +2 -0
  28. package/dist/types/mcp.js.map +1 -0
  29. package/dist/types/message.d.ts +105 -0
  30. package/dist/types/message.d.ts.map +1 -0
  31. package/dist/types/message.js +2 -0
  32. package/dist/types/message.js.map +1 -0
  33. package/dist/types/payment.d.ts +57 -0
  34. package/dist/types/payment.d.ts.map +1 -0
  35. package/dist/types/payment.js +2 -0
  36. package/dist/types/payment.js.map +1 -0
  37. package/dist/types/project.d.ts +30 -0
  38. package/dist/types/project.d.ts.map +1 -0
  39. package/dist/types/project.js +2 -0
  40. package/dist/types/project.js.map +1 -0
  41. package/dist/types/scheduled-prompt.d.ts +99 -0
  42. package/dist/types/scheduled-prompt.d.ts.map +1 -0
  43. package/dist/types/scheduled-prompt.js +18 -0
  44. package/dist/types/scheduled-prompt.js.map +1 -0
  45. package/dist/types/team.d.ts +92 -0
  46. package/dist/types/team.d.ts.map +1 -0
  47. package/dist/types/team.js +2 -0
  48. package/dist/types/team.js.map +1 -0
  49. package/dist/types/theme.d.ts +42 -0
  50. package/dist/types/theme.d.ts.map +1 -0
  51. package/dist/types/theme.js +2 -0
  52. package/dist/types/theme.js.map +1 -0
  53. package/dist/types/thread.d.ts +41 -0
  54. package/dist/types/thread.d.ts.map +1 -0
  55. package/dist/types/thread.js +2 -0
  56. package/dist/types/thread.js.map +1 -0
  57. package/dist/types/user.d.ts +52 -0
  58. package/dist/types/user.d.ts.map +1 -0
  59. package/dist/types/user.js +2 -0
  60. package/dist/types/user.js.map +1 -0
  61. package/dist/validation/config.d.ts +1671 -0
  62. package/dist/validation/config.d.ts.map +1 -0
  63. package/dist/validation/config.js +160 -0
  64. package/dist/validation/config.js.map +1 -0
  65. package/dist/validation/message.d.ts +101 -0
  66. package/dist/validation/message.d.ts.map +1 -0
  67. package/dist/validation/message.js +33 -0
  68. package/dist/validation/message.js.map +1 -0
  69. package/dist/validation/project.d.ts +47 -0
  70. package/dist/validation/project.d.ts.map +1 -0
  71. package/dist/validation/project.js +19 -0
  72. package/dist/validation/project.js.map +1 -0
  73. package/dist/validation/team.d.ts +64 -0
  74. package/dist/validation/team.d.ts.map +1 -0
  75. package/dist/validation/team.js +27 -0
  76. package/dist/validation/team.js.map +1 -0
  77. package/dist/validation/user.d.ts +147 -0
  78. package/dist/validation/user.d.ts.map +1 -0
  79. package/dist/validation/user.js +37 -0
  80. package/dist/validation/user.js.map +1 -0
  81. package/package.json +41 -0
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Types for @-mentionable documents system
3
+ */
4
+ export type DocumentScope = 'my' | 'team' | 'project';
5
+ export interface DocumentPath {
6
+ scope: DocumentScope;
7
+ scopeSlug?: string;
8
+ name: string;
9
+ }
10
+ /**
11
+ * Document as returned from search/list endpoints
12
+ */
13
+ export interface MentionableDocument {
14
+ id: string;
15
+ path: string;
16
+ name: string;
17
+ mimeType: string;
18
+ charCount: number;
19
+ scope: DocumentScope;
20
+ scopeName?: string;
21
+ scopeId?: string;
22
+ createdAt: string;
23
+ updatedAt: string;
24
+ }
25
+ /**
26
+ * Parsed mention from message content
27
+ */
28
+ export interface ParsedMention {
29
+ path: string;
30
+ raw: string;
31
+ startIndex: number;
32
+ endIndex: number;
33
+ }
34
+ /**
35
+ * Document with content resolved (for context injection)
36
+ */
37
+ export interface ResolvedDocument {
38
+ id: string;
39
+ path: string;
40
+ name: string;
41
+ content: string;
42
+ truncated: boolean;
43
+ charCount: number;
44
+ }
45
+ /**
46
+ * Input for creating a document
47
+ */
48
+ export interface CreateDocumentInput {
49
+ name: string;
50
+ content?: string;
51
+ mimeType?: string;
52
+ teamId?: string;
53
+ projectId?: string;
54
+ }
55
+ /**
56
+ * Input for updating a document
57
+ */
58
+ export interface UpdateDocumentInput {
59
+ name?: string;
60
+ content?: string;
61
+ }
62
+ /**
63
+ * Full document model (as stored in DB)
64
+ */
65
+ export interface Document {
66
+ id: string;
67
+ name: string;
68
+ content: string | null;
69
+ storageKey: string | null;
70
+ mimeType: string;
71
+ fileSize: number;
72
+ charCount: number;
73
+ userId: string;
74
+ teamId: string | null;
75
+ projectId: string | null;
76
+ createdAt: Date;
77
+ updatedAt: Date;
78
+ archivedAt: Date | null;
79
+ }
80
+ //# sourceMappingURL=documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/types/documents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Types for @-mentionable documents system
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/types/documents.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,130 @@
1
+ export type MCPTransport = 'stdio' | 'sse' | 'streamable-http';
2
+ export type MCPAuthMode = 'none' | 'admin' | 'user-apikey' | 'user-oauth';
3
+ export type ToolConfirmationMode = 'none' | 'all' | 'whitelist' | 'blacklist';
4
+ export interface ToolConfirmationConfig {
5
+ mode: ToolConfirmationMode;
6
+ tools?: string[];
7
+ }
8
+ export type AutoApproveReason = 'config_none' | 'whitelist' | 'user_always' | 'thread_allowed';
9
+ export interface MCPOAuthConfig {
10
+ authorizationEndpoint?: string;
11
+ tokenEndpoint?: string;
12
+ clientId?: string;
13
+ clientSecretEnvVar?: string;
14
+ scopes?: string[];
15
+ clientName?: string;
16
+ clientUri?: string;
17
+ }
18
+ export interface MCPServerConfig {
19
+ id: string;
20
+ name: string;
21
+ transport: MCPTransport;
22
+ command?: string;
23
+ args?: string[];
24
+ url?: string;
25
+ enabled: boolean;
26
+ authMode?: MCPAuthMode;
27
+ adminApiKeyEnvVar?: string;
28
+ oauth?: MCPOAuthConfig;
29
+ userInstructions?: string;
30
+ }
31
+ export interface MCPToolMeta {
32
+ 'openai/outputTemplate'?: string;
33
+ 'openai/toolInvocation/invoking'?: string;
34
+ 'openai/toolInvocation/invoked'?: string;
35
+ 'ui/resourceUri'?: string;
36
+ [key: string]: unknown;
37
+ }
38
+ export interface MCPToolAnnotations {
39
+ readOnlyHint?: boolean;
40
+ destructiveHint?: boolean;
41
+ idempotentHint?: boolean;
42
+ openWorldHint?: boolean;
43
+ [key: string]: unknown;
44
+ }
45
+ export interface MCPTool {
46
+ name: string;
47
+ description?: string;
48
+ inputSchema: {
49
+ type: 'object';
50
+ properties?: Record<string, MCPToolProperty>;
51
+ required?: string[];
52
+ additionalProperties?: boolean;
53
+ };
54
+ _meta?: MCPToolMeta;
55
+ annotations?: MCPToolAnnotations;
56
+ }
57
+ export interface MCPToolProperty {
58
+ type: string;
59
+ description?: string;
60
+ enum?: string[];
61
+ default?: unknown;
62
+ }
63
+ export interface MCPToolInvocation {
64
+ serverId: string;
65
+ toolName: string;
66
+ arguments: Record<string, unknown>;
67
+ }
68
+ export interface MCPToolResponse {
69
+ content: MCPContentItem[];
70
+ isError?: boolean;
71
+ structuredContent?: Record<string, unknown>;
72
+ }
73
+ export interface MCPContentItem {
74
+ type: 'text' | 'image' | 'audio' | 'resource_link' | 'resource';
75
+ text?: string;
76
+ data?: string;
77
+ mimeType?: string;
78
+ uri?: string;
79
+ name?: string;
80
+ description?: string;
81
+ resource?: MCPResource;
82
+ }
83
+ export interface MCPResource {
84
+ uri: string;
85
+ mimeType?: string;
86
+ text?: string;
87
+ blob?: string;
88
+ }
89
+ export interface MCPServerStatus {
90
+ id: string;
91
+ name: string;
92
+ connected: boolean;
93
+ tools: MCPTool[];
94
+ error?: string;
95
+ }
96
+ export interface MCPCredentialStatus {
97
+ serverId: string;
98
+ serverName: string;
99
+ authMode: MCPAuthMode;
100
+ hasCredential: boolean;
101
+ credentialType?: 'api_key' | 'oauth';
102
+ userInstructions?: string;
103
+ }
104
+ /**
105
+ * Configuration for exposing this app's tools via MCP protocol.
106
+ * Allows external MCP clients (Claude Desktop, MCP Inspector, etc.) to connect.
107
+ */
108
+ export interface MCPServerExportConfig {
109
+ /** Enable MCP server endpoint */
110
+ enabled: boolean;
111
+ /** Which tools to expose: 'all', 'native' (built-in only), or array of tool names */
112
+ exposeTools?: 'all' | 'native' | string[];
113
+ /** OAuth configuration for MCP clients */
114
+ oauth?: MCPServerOAuthConfig;
115
+ }
116
+ /**
117
+ * OAuth configuration for MCP server authentication.
118
+ * Implements OAuth 2.1 with PKCE for MCP client authentication.
119
+ */
120
+ export interface MCPServerOAuthConfig {
121
+ /** Enable OAuth authentication (in addition to API keys) */
122
+ enabled: boolean;
123
+ /** Allow dynamic client registration (RFC 7591) */
124
+ allowDynamicRegistration: boolean;
125
+ /** Access token TTL in seconds (default: 3600 = 1 hour) */
126
+ accessTokenTTLSeconds?: number;
127
+ /** Refresh token TTL in seconds (default: 2592000 = 30 days) */
128
+ refreshTokenTTLSeconds?: number;
129
+ }
130
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ export type MessageRole = 'user' | 'assistant' | 'system';
2
+ export interface FileAttachment {
3
+ id: string;
4
+ name: string;
5
+ type: string;
6
+ size: number;
7
+ url?: string;
8
+ content?: string;
9
+ }
10
+ export interface Message {
11
+ id: string;
12
+ threadId: string;
13
+ role: MessageRole;
14
+ content: string;
15
+ files?: FileAttachment[];
16
+ toolCalls?: ToolCall[];
17
+ toolResults?: ToolResult[];
18
+ usage?: MessageUsage;
19
+ createdAt: Date;
20
+ }
21
+ export interface MessageUsage {
22
+ inputTokens: number;
23
+ outputTokens: number;
24
+ totalTokens: number;
25
+ }
26
+ export interface ToolCall {
27
+ id: string;
28
+ serverId: string;
29
+ toolName: string;
30
+ arguments: Record<string, unknown>;
31
+ status: 'pending' | 'approved' | 'rejected' | 'completed' | 'error';
32
+ }
33
+ export interface UIResource {
34
+ uri: string;
35
+ text?: string;
36
+ blob?: string;
37
+ mimeType?: string;
38
+ isOpenAiFormat?: boolean;
39
+ toolInput?: Record<string, unknown>;
40
+ toolOutput?: MCPContent[] | Record<string, unknown>;
41
+ }
42
+ export interface ToolResult {
43
+ toolCallId: string;
44
+ content: MCPContent[];
45
+ isError?: boolean;
46
+ uiResource?: UIResource;
47
+ }
48
+ export interface MCPContent {
49
+ type: 'text' | 'image' | 'audio' | 'resource_link' | 'resource';
50
+ text?: string;
51
+ data?: string;
52
+ mimeType?: string;
53
+ uri?: string;
54
+ name?: string;
55
+ description?: string;
56
+ resource?: {
57
+ uri: string;
58
+ mimeType?: string;
59
+ text?: string;
60
+ blob?: string;
61
+ };
62
+ }
63
+ export interface StreamingMessage {
64
+ type: 'start' | 'delta' | 'tool_call' | 'tool_result' | 'done' | 'error' | 'tool_pending_confirmation' | 'tool_confirmed' | 'tool_auto_approved';
65
+ messageId?: string;
66
+ content?: string;
67
+ toolCall?: ToolCall;
68
+ toolResult?: ToolResult;
69
+ usage?: MessageUsage;
70
+ error?: string;
71
+ confirmationId?: string;
72
+ serverId?: string;
73
+ toolName?: string;
74
+ toolArgs?: unknown;
75
+ approved?: boolean;
76
+ autoApproveReason?: 'config_none' | 'whitelist' | 'user_always' | 'thread_allowed';
77
+ }
78
+ export interface ToolPendingConfirmationEvent {
79
+ type: 'tool_pending_confirmation';
80
+ confirmationId: string;
81
+ serverId: string;
82
+ toolName: string;
83
+ toolArgs: unknown;
84
+ }
85
+ export interface ToolConfirmedEvent {
86
+ type: 'tool_confirmed';
87
+ confirmationId: string;
88
+ approved: boolean;
89
+ }
90
+ export interface ToolAutoApprovedEvent {
91
+ type: 'tool_auto_approved';
92
+ toolCallId: string;
93
+ serverId: string;
94
+ toolName: string;
95
+ reason: 'config_none' | 'whitelist' | 'user_always' | 'thread_allowed';
96
+ }
97
+ export interface MessageFeedback {
98
+ id: string;
99
+ messageId: string;
100
+ userId: string;
101
+ type: 'up' | 'down';
102
+ comment?: string;
103
+ createdAt: Date;
104
+ }
105
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ export type PlanType = 'free' | 'monthly' | 'credits';
2
+ export type PlanScope = 'personal' | 'team' | 'both';
3
+ export interface FreePlanParams {
4
+ monthlyMessageLimit: number;
5
+ }
6
+ export interface MonthlyPlanParams {
7
+ priceUSD: number;
8
+ monthlyMessageLimit: number;
9
+ stripePriceId: string;
10
+ seatBased?: boolean;
11
+ pricePerSeatUSD?: number;
12
+ }
13
+ export interface CreditsPlanParams {
14
+ pricePerCredit: number;
15
+ messagesPerCredit: number;
16
+ }
17
+ export interface PaymentPlan {
18
+ id: string;
19
+ name: string;
20
+ description?: string;
21
+ type: PlanType;
22
+ scope?: PlanScope;
23
+ params: FreePlanParams | MonthlyPlanParams | CreditsPlanParams;
24
+ }
25
+ export interface TeamSubscription {
26
+ teamId: string;
27
+ plan: string;
28
+ planName: string;
29
+ messagesThisMonth: number;
30
+ monthlyLimit: number;
31
+ credits: number;
32
+ hasStripeCustomer: boolean;
33
+ }
34
+ export interface BillingContext {
35
+ type: 'personal' | 'team';
36
+ entityId: string;
37
+ plan: string;
38
+ credits: number;
39
+ messagesThisMonth: number;
40
+ monthlyLimit: number;
41
+ }
42
+ export interface Subscription {
43
+ id: string;
44
+ planId: string;
45
+ status: 'active' | 'canceled' | 'past_due' | 'trialing';
46
+ currentPeriodStart: Date;
47
+ currentPeriodEnd: Date;
48
+ cancelAtPeriodEnd: boolean;
49
+ }
50
+ export interface CheckoutSession {
51
+ id: string;
52
+ url: string;
53
+ }
54
+ export interface BillingPortalSession {
55
+ url: string;
56
+ }
57
+ //# sourceMappingURL=payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../src/types/payment.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAGtD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;CAChE;AAGD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACxD,kBAAkB,EAAE,IAAI,CAAC;IACzB,gBAAgB,EAAE,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../src/types/payment.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ export type ProjectSharing = 'private' | 'team';
2
+ export interface Project {
3
+ id: string;
4
+ name: string;
5
+ context: string | null;
6
+ color: string;
7
+ sharing: ProjectSharing;
8
+ userId: string;
9
+ teamId: string | null;
10
+ archivedAt: Date | null;
11
+ createdAt: Date;
12
+ updatedAt: Date;
13
+ }
14
+ export interface ProjectWithThreadCount extends Project {
15
+ threadCount: number;
16
+ }
17
+ export interface CreateProjectRequest {
18
+ name: string;
19
+ color: string;
20
+ context?: string;
21
+ teamId?: string;
22
+ sharing?: ProjectSharing;
23
+ }
24
+ export interface UpdateProjectRequest {
25
+ name?: string;
26
+ color?: string;
27
+ context?: string | null;
28
+ sharing?: ProjectSharing;
29
+ }
30
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":""}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Scheduled Prompt (Automation) Types
3
+ *
4
+ * Types for scheduled prompts that run on a schedule, create threads with results,
5
+ * and send notifications via Slack and email.
6
+ */
7
+ /**
8
+ * Summary view of a scheduled prompt (for list view)
9
+ */
10
+ export interface ScheduledPromptSummary {
11
+ id: string;
12
+ name: string;
13
+ schedule: string;
14
+ timezone: string;
15
+ enabled: boolean;
16
+ agentId: string | null;
17
+ agentName: string;
18
+ lastRunAt: string | null;
19
+ lastRunStatus: 'success' | 'failed' | null;
20
+ nextRunAt: string | null;
21
+ runCount: number;
22
+ userId: string | null;
23
+ teamId: string | null;
24
+ }
25
+ /**
26
+ * Full details of a scheduled prompt
27
+ */
28
+ export interface ScheduledPromptDetail extends ScheduledPromptSummary {
29
+ prompt: string;
30
+ notifySlack: boolean;
31
+ notifyEmail: boolean;
32
+ emailRecipients: string[];
33
+ threadId: string | null;
34
+ createdAt: string;
35
+ updatedAt: string;
36
+ }
37
+ /**
38
+ * Request to create a new scheduled prompt
39
+ */
40
+ export interface CreateScheduledPromptRequest {
41
+ name: string;
42
+ prompt: string;
43
+ agentId?: string;
44
+ schedule: string;
45
+ timezone?: string;
46
+ notifySlack?: boolean;
47
+ notifyEmail?: boolean;
48
+ emailRecipients?: string[];
49
+ teamId?: string;
50
+ }
51
+ /**
52
+ * Request to update an existing scheduled prompt
53
+ */
54
+ export interface UpdateScheduledPromptRequest {
55
+ name?: string;
56
+ prompt?: string;
57
+ agentId?: string | null;
58
+ schedule?: string;
59
+ timezone?: string;
60
+ enabled?: boolean;
61
+ notifySlack?: boolean;
62
+ notifyEmail?: boolean;
63
+ emailRecipients?: string[];
64
+ }
65
+ /**
66
+ * Run history entry for a scheduled prompt
67
+ */
68
+ export interface ScheduledPromptRunHistory {
69
+ id: string;
70
+ scheduledPromptId: string;
71
+ status: 'success' | 'failed';
72
+ error?: string;
73
+ threadId?: string;
74
+ runAt: string;
75
+ duration: number;
76
+ }
77
+ /**
78
+ * Common schedule presets for the UI
79
+ */
80
+ export declare const SCHEDULE_PRESETS: readonly [{
81
+ readonly label: "Every morning (9 AM)";
82
+ readonly cron: "0 9 * * *";
83
+ }, {
84
+ readonly label: "Every evening (6 PM)";
85
+ readonly cron: "0 18 * * *";
86
+ }, {
87
+ readonly label: "Weekdays at 9 AM";
88
+ readonly cron: "0 9 * * 1-5";
89
+ }, {
90
+ readonly label: "Every Monday";
91
+ readonly cron: "0 9 * * 1";
92
+ }, {
93
+ readonly label: "First of month";
94
+ readonly cron: "0 9 1 * *";
95
+ }, {
96
+ readonly label: "Every hour";
97
+ readonly cron: "0 * * * *";
98
+ }];
99
+ //# sourceMappingURL=scheduled-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-prompt.d.ts","sourceRoot":"","sources":["../../src/types/scheduled-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;EAOnB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Scheduled Prompt (Automation) Types
3
+ *
4
+ * Types for scheduled prompts that run on a schedule, create threads with results,
5
+ * and send notifications via Slack and email.
6
+ */
7
+ /**
8
+ * Common schedule presets for the UI
9
+ */
10
+ export const SCHEDULE_PRESETS = [
11
+ { label: 'Every morning (9 AM)', cron: '0 9 * * *' },
12
+ { label: 'Every evening (6 PM)', cron: '0 18 * * *' },
13
+ { label: 'Weekdays at 9 AM', cron: '0 9 * * 1-5' },
14
+ { label: 'Every Monday', cron: '0 9 * * 1' },
15
+ { label: 'First of month', cron: '0 9 1 * *' },
16
+ { label: 'Every hour', cron: '0 * * * *' },
17
+ ];
18
+ //# sourceMappingURL=scheduled-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-prompt.js","sourceRoot":"","sources":["../../src/types/scheduled-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8EH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,WAAW,EAAE;IACpD,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,YAAY,EAAE;IACrD,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE;IAClD,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;IAC5C,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE;IAC9C,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;CAClC,CAAC"}