@lota-sdk/shared 0.1.5 → 0.1.6

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lota-sdk/shared",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -37,7 +37,8 @@
37
37
  "scripts": {
38
38
  "lint": "node ../node_modules/oxlint/bin/oxlint --fix -c ../oxlint.config.ts src",
39
39
  "format": "bunx oxfmt src",
40
- "typecheck": "bunx tsgo --noEmit"
40
+ "typecheck": "bunx tsgo --noEmit",
41
+ "test:unit": "bun test ../tests/unit/shared"
41
42
  },
42
43
  "publishConfig": {
43
44
  "access": "public",
package/src/index.ts CHANGED
@@ -7,9 +7,15 @@ export * from './schemas/common'
7
7
  export * from './schemas/document'
8
8
  export * from './schemas/error'
9
9
  export * from './schemas/execution-plan'
10
+ export * from './schemas/organization'
11
+ export * from './schemas/organization-api'
10
12
  export * from './schemas/recent-activity'
11
13
  export * from './schemas/repository-structure'
12
14
  export * from './schemas/tools'
15
+ export * from './schemas/user'
16
+ export * from './schemas/user-api'
17
+ export * from './schemas/workstream'
18
+ export * from './schemas/workstream-api'
13
19
  export * from './utils/assistant-text'
14
20
  export * from './utils/markdown-normalization'
15
21
  export * from './utils/string'
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod'
2
+
3
+ import { recordIdSchema } from './common'
4
+ import { sdkOrganizationSchema } from './organization'
5
+
6
+ export const createSdkOrganizationRequestSchema = z.object({ name: z.string().trim().min(1).max(100) })
7
+
8
+ export const upsertSdkOrganizationRequestSchema = z.object({
9
+ id: recordIdSchema,
10
+ name: z.string().trim().min(1).max(100),
11
+ })
12
+
13
+ export const updateSdkOrganizationRequestSchema = z.object({ name: z.string().trim().min(1).max(100) })
14
+
15
+ export const listSdkOrganizationsResponseSchema = z.object({ organizations: z.array(sdkOrganizationSchema) })
16
+
17
+ export type CreateSdkOrganizationRequest = z.infer<typeof createSdkOrganizationRequestSchema>
18
+ export type UpsertSdkOrganizationRequest = z.infer<typeof upsertSdkOrganizationRequestSchema>
19
+ export type UpdateSdkOrganizationRequest = z.infer<typeof updateSdkOrganizationRequestSchema>
20
+ export type ListSdkOrganizationsResponse = z.infer<typeof listSdkOrganizationsResponseSchema>
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod'
2
+
3
+ import { recordIdSchema, recordIdStringSchema } from './common'
4
+
5
+ export const sdkOrganizationSchema = z.object({
6
+ id: recordIdStringSchema,
7
+ name: z.string(),
8
+ regularChatDigestLastWorkstreamCursorCreatedAt: z.iso.datetime().nullable().optional(),
9
+ regularChatDigestLastWorkstreamCursorId: z.string().nullable().optional(),
10
+ skillExtractionLastCursorId: z.string().nullable().optional(),
11
+ skillExtractionLastCursorCreatedAt: z.iso.datetime().nullable().optional(),
12
+ createdAt: z.iso.datetime(),
13
+ updatedAt: z.iso.datetime(),
14
+ })
15
+
16
+ export const sdkOrganizationRecordSchema = z.object({
17
+ id: recordIdSchema,
18
+ name: z.string(),
19
+ regularChatDigestLastWorkstreamCursorCreatedAt: z.coerce.date().optional(),
20
+ regularChatDigestLastWorkstreamCursorId: z.string().optional(),
21
+ skillExtractionLastCursorId: z.string().optional(),
22
+ skillExtractionLastCursorCreatedAt: z.coerce.date().optional(),
23
+ createdAt: z.coerce.date(),
24
+ updatedAt: z.coerce.date(),
25
+ })
26
+
27
+ export type SdkOrganization = z.infer<typeof sdkOrganizationSchema>
28
+ export type SdkOrganizationRecord = z.infer<typeof sdkOrganizationRecordSchema>
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod'
2
+
3
+ import { recordIdSchema } from './common'
4
+ import { sdkUserSchema } from './user'
5
+
6
+ export const upsertSdkUserRequestSchema = z.object({
7
+ id: recordIdSchema,
8
+ name: z.string().trim().min(1).max(100),
9
+ email: z.string().email(),
10
+ })
11
+
12
+ export const updateSdkUserRequestSchema = z.object({
13
+ name: z.string().trim().min(1).max(100).optional(),
14
+ email: z.string().email().optional(),
15
+ })
16
+
17
+ export const listSdkUsersResponseSchema = z.object({ users: z.array(sdkUserSchema) })
18
+
19
+ export type UpsertSdkUserRequest = z.infer<typeof upsertSdkUserRequestSchema>
20
+ export type UpdateSdkUserRequest = z.infer<typeof updateSdkUserRequestSchema>
21
+ export type ListSdkUsersResponse = z.infer<typeof listSdkUsersResponseSchema>
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod'
2
+
3
+ import { recordIdSchema, recordIdStringSchema } from './common'
4
+
5
+ export const sdkUserSchema = z.object({
6
+ id: recordIdStringSchema,
7
+ name: z.string(),
8
+ email: z.string().email(),
9
+ createdAt: z.iso.datetime(),
10
+ updatedAt: z.iso.datetime(),
11
+ })
12
+
13
+ export const sdkUserRecordSchema = z.object({
14
+ id: recordIdSchema,
15
+ name: z.string(),
16
+ email: z.string().email(),
17
+ createdAt: z.coerce.date(),
18
+ updatedAt: z.coerce.date(),
19
+ })
20
+
21
+ export type SdkUser = z.infer<typeof sdkUserSchema>
22
+ export type SdkUserRecord = z.infer<typeof sdkUserRecordSchema>
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod'
2
+
3
+ import { baseChatMessageSchema } from './chat-api'
4
+ import { paginationPageSchema, paginationTakeSchema, recordIdSchema } from './common'
5
+ import { sdkWorkstreamSchema } from './workstream'
6
+
7
+ export const listSdkWorkstreamsRequestSchema = z.object({
8
+ userId: recordIdSchema,
9
+ organizationId: recordIdSchema,
10
+ mode: z.enum(['direct', 'group']),
11
+ core: z.boolean().optional(),
12
+ page: paginationPageSchema.optional(),
13
+ take: paginationTakeSchema.optional(),
14
+ includeArchived: z.boolean().default(false),
15
+ })
16
+
17
+ export const createSdkWorkstreamRequestSchema = z.object({
18
+ userId: recordIdSchema,
19
+ organizationId: recordIdSchema,
20
+ title: z.string().trim().min(1).max(200).optional(),
21
+ mode: z.enum(['direct', 'group']).default('group'),
22
+ agentId: z.string().trim().min(1).optional(),
23
+ core: z.boolean().optional(),
24
+ coreType: z.string().trim().min(1).optional(),
25
+ })
26
+
27
+ export const updateSdkWorkstreamRequestSchema = z.object({ title: z.string().trim().min(1).max(200) })
28
+
29
+ export const listSdkWorkstreamsResponseSchema = z.object({
30
+ workstreams: z.array(sdkWorkstreamSchema),
31
+ hasMore: z.boolean(),
32
+ page: z.number().optional(),
33
+ })
34
+
35
+ export const getSdkWorkstreamResponseSchema = sdkWorkstreamSchema
36
+
37
+ export const listSdkWorkstreamMessagesRequestSchema = z.object({
38
+ before: z.string().trim().min(1).optional(),
39
+ after: z.string().trim().min(1).optional(),
40
+ limit: paginationTakeSchema.optional(),
41
+ })
42
+
43
+ export const listSdkWorkstreamMessagesResponseSchema = z.object({
44
+ messages: z.array(baseChatMessageSchema),
45
+ hasMore: z.boolean(),
46
+ prevCursor: z.string().nullable().optional(),
47
+ nextCursor: z.string().nullable().optional(),
48
+ })
49
+
50
+ export const sdkWorkstreamMessageLookupSchema = z.object({
51
+ workstreamId: recordIdSchema,
52
+ messageId: z.string().trim().min(1),
53
+ })
54
+
55
+ export const sdkWorkstreamSendMessageRequestSchema = z.object({
56
+ workstreamId: recordIdSchema,
57
+ organizationId: recordIdSchema,
58
+ userId: recordIdSchema,
59
+ userName: z.string().trim().min(1),
60
+ messages: z.array(baseChatMessageSchema).min(1),
61
+ })
62
+
63
+ export type ListSdkWorkstreamsRequest = z.infer<typeof listSdkWorkstreamsRequestSchema>
64
+ export type CreateSdkWorkstreamRequest = z.infer<typeof createSdkWorkstreamRequestSchema>
65
+ export type UpdateSdkWorkstreamRequest = z.infer<typeof updateSdkWorkstreamRequestSchema>
66
+ export type ListSdkWorkstreamsResponse = z.infer<typeof listSdkWorkstreamsResponseSchema>
67
+ export type GetSdkWorkstreamResponse = z.infer<typeof getSdkWorkstreamResponseSchema>
68
+ export type ListSdkWorkstreamMessagesRequest = z.infer<typeof listSdkWorkstreamMessagesRequestSchema>
69
+ export type ListSdkWorkstreamMessagesResponse = z.infer<typeof listSdkWorkstreamMessagesResponseSchema>
70
+ export type SdkWorkstreamMessageLookup = z.infer<typeof sdkWorkstreamMessageLookupSchema>
71
+ export type SdkWorkstreamSendMessageRequest = z.infer<typeof sdkWorkstreamSendMessageRequestSchema>
@@ -0,0 +1,76 @@
1
+ import { z } from 'zod'
2
+
3
+ import { recordIdSchema, recordIdStringSchema } from './common'
4
+
5
+ export const sdkWorkstreamModeSchema = z.enum(['direct', 'group'])
6
+ export const sdkWorkstreamStatusSchema = z.enum(['regular', 'archived'])
7
+
8
+ export const sdkWorkstreamSchema = z.object({
9
+ id: recordIdStringSchema,
10
+ organizationId: recordIdStringSchema,
11
+ userId: recordIdStringSchema,
12
+ agentId: z.string().nullable().optional(),
13
+ mode: sdkWorkstreamModeSchema,
14
+ core: z.boolean(),
15
+ coreType: z.string().nullable().optional(),
16
+ title: z.string(),
17
+ status: sdkWorkstreamStatusSchema,
18
+ nameGenerated: z.boolean(),
19
+ isRunning: z.boolean(),
20
+ isCompacting: z.boolean(),
21
+ memoryBlock: z.string().optional(),
22
+ createdAt: z.iso.datetime(),
23
+ updatedAt: z.iso.datetime(),
24
+ })
25
+
26
+ export const sdkWorkstreamRecordSchema = z.object({
27
+ id: recordIdSchema,
28
+ organizationId: recordIdSchema,
29
+ userId: recordIdSchema,
30
+ agentId: z.string().nullish(),
31
+ mode: sdkWorkstreamModeSchema.optional(),
32
+ core: z.boolean().optional(),
33
+ coreType: z.string().nullish(),
34
+ title: z.string().nullish(),
35
+ status: sdkWorkstreamStatusSchema.nullish(),
36
+ memoryBlock: z.string().nullish(),
37
+ memoryBlockSummary: z.string().nullish(),
38
+ activeRunId: z.string().nullish(),
39
+ chatSummary: z.string().nullish(),
40
+ lastCompactedMessageId: z.string().nullish(),
41
+ nameGenerated: z.boolean().optional(),
42
+ isCompacting: z.boolean().optional(),
43
+ state: z.unknown().optional(),
44
+ createdAt: z.coerce.date(),
45
+ updatedAt: z.coerce.date(),
46
+ })
47
+
48
+ export const sdkWorkstreamMessageSchema = z.object({
49
+ id: recordIdStringSchema,
50
+ workstreamId: recordIdStringSchema,
51
+ messageId: z.string(),
52
+ role: z.enum(['system', 'user', 'assistant']),
53
+ parts: z.array(z.record(z.string(), z.unknown())),
54
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
55
+ createdAt: z.iso.datetime(),
56
+ updatedAt: z.iso.datetime().optional(),
57
+ })
58
+
59
+ export const sdkWorkstreamAttachmentSchema = z.object({
60
+ id: recordIdStringSchema,
61
+ attachmentType: z.string(),
62
+ name: z.string(),
63
+ contentType: z.string(),
64
+ storageKey: z.string().nullable().optional(),
65
+ sizeBytes: z.number().nullable().optional(),
66
+ url: z.string().nullable().optional(),
67
+ messageId: recordIdStringSchema,
68
+ workstreamId: recordIdStringSchema,
69
+ createdAt: z.iso.datetime(),
70
+ updatedAt: z.iso.datetime(),
71
+ })
72
+
73
+ export type SdkWorkstream = z.infer<typeof sdkWorkstreamSchema>
74
+ export type SdkWorkstreamRecord = z.infer<typeof sdkWorkstreamRecordSchema>
75
+ export type SdkWorkstreamMessage = z.infer<typeof sdkWorkstreamMessageSchema>
76
+ export type SdkWorkstreamAttachment = z.infer<typeof sdkWorkstreamAttachmentSchema>