@nervekit/shared 0.1.0 → 0.3.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 (160) hide show
  1. package/dist/core/ids.d.ts +1 -1
  2. package/dist/core/ids.d.ts.map +1 -1
  3. package/dist/core/ids.js.map +1 -1
  4. package/dist/core/index.d.ts +1 -0
  5. package/dist/core/index.d.ts.map +1 -1
  6. package/dist/core/index.js +1 -0
  7. package/dist/core/index.js.map +1 -1
  8. package/dist/core/inline-commands.d.ts +28 -0
  9. package/dist/core/inline-commands.d.ts.map +1 -0
  10. package/dist/core/inline-commands.js +104 -0
  11. package/dist/core/inline-commands.js.map +1 -0
  12. package/dist/domains/agents/agent.schema.d.ts +8 -8
  13. package/dist/domains/completions/completion.schema.d.ts +3 -3
  14. package/dist/domains/conversations/conversation.schema.d.ts +20 -3
  15. package/dist/domains/conversations/conversation.schema.d.ts.map +1 -1
  16. package/dist/domains/conversations/conversation.schema.js.map +1 -1
  17. package/dist/domains/conversations/tree.schema.d.ts +7 -6
  18. package/dist/domains/conversations/tree.schema.d.ts.map +1 -1
  19. package/dist/domains/conversations/tree.schema.js +1 -0
  20. package/dist/domains/conversations/tree.schema.js.map +1 -1
  21. package/dist/domains/filesystem/filesystem.schema.d.ts +4 -4
  22. package/dist/domains/git/git.schema.d.ts +14 -14
  23. package/dist/domains/logs/logs.schema.d.ts +55 -6
  24. package/dist/domains/logs/logs.schema.d.ts.map +1 -1
  25. package/dist/domains/logs/logs.schema.js +31 -0
  26. package/dist/domains/logs/logs.schema.js.map +1 -1
  27. package/dist/domains/pinned-commands/pinned-command.schema.d.ts +6 -0
  28. package/dist/domains/pinned-commands/pinned-command.schema.d.ts.map +1 -1
  29. package/dist/domains/pinned-commands/pinned-command.schema.js +5 -0
  30. package/dist/domains/pinned-commands/pinned-command.schema.js.map +1 -1
  31. package/dist/domains/plans/plan-review.schema.d.ts +2 -2
  32. package/dist/domains/providers/providers.schema.d.ts +4 -4
  33. package/dist/domains/settings/settings.schema.d.ts +2 -2
  34. package/dist/domains/status/status.schema.d.ts +2 -2
  35. package/dist/domains/storage/storage.schema.d.ts +24 -24
  36. package/dist/domains/tasks/task.schema.d.ts +88 -15
  37. package/dist/domains/tasks/task.schema.d.ts.map +1 -1
  38. package/dist/domains/tasks/task.schema.js +11 -0
  39. package/dist/domains/tasks/task.schema.js.map +1 -1
  40. package/dist/domains/tools/records.schema.d.ts +101 -4
  41. package/dist/domains/tools/records.schema.d.ts.map +1 -1
  42. package/dist/domains/tools/records.schema.js +17 -0
  43. package/dist/domains/tools/records.schema.js.map +1 -1
  44. package/dist/domains/tools/tool-results.schema.d.ts +343 -26
  45. package/dist/domains/tools/tool-results.schema.d.ts.map +1 -1
  46. package/dist/domains/tools/tool-results.schema.js +86 -1
  47. package/dist/domains/tools/tool-results.schema.js.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/agent-worker.d.ts +0 -66
  50. package/dist/agent-worker.d.ts.map +0 -1
  51. package/dist/agent-worker.js +0 -45
  52. package/dist/agent-worker.js.map +0 -1
  53. package/dist/agents.d.ts +0 -211
  54. package/dist/agents.d.ts.map +0 -1
  55. package/dist/agents.js +0 -105
  56. package/dist/agents.js.map +0 -1
  57. package/dist/api-errors.d.ts +0 -10
  58. package/dist/api-errors.d.ts.map +0 -1
  59. package/dist/api-errors.js +0 -9
  60. package/dist/api-errors.js.map +0 -1
  61. package/dist/auth.d.ts +0 -110
  62. package/dist/auth.d.ts.map +0 -1
  63. package/dist/auth.js +0 -82
  64. package/dist/auth.js.map +0 -1
  65. package/dist/conversation-title.d.ts +0 -2
  66. package/dist/conversation-title.d.ts.map +0 -1
  67. package/dist/conversation-title.js +0 -244
  68. package/dist/conversation-title.js.map +0 -1
  69. package/dist/conversation.d.ts +0 -269
  70. package/dist/conversation.d.ts.map +0 -1
  71. package/dist/conversation.js +0 -26
  72. package/dist/conversation.js.map +0 -1
  73. package/dist/conversations.d.ts +0 -219
  74. package/dist/conversations.d.ts.map +0 -1
  75. package/dist/conversations.js +0 -88
  76. package/dist/conversations.js.map +0 -1
  77. package/dist/core.d.ts +0 -4
  78. package/dist/core.d.ts.map +0 -1
  79. package/dist/core.js +0 -34
  80. package/dist/core.js.map +0 -1
  81. package/dist/domains/completions/completions.schema.d.ts +0 -21
  82. package/dist/domains/completions/completions.schema.d.ts.map +0 -1
  83. package/dist/domains/completions/completions.schema.js +0 -22
  84. package/dist/domains/completions/completions.schema.js.map +0 -1
  85. package/dist/domains/processes/index.d.ts +0 -2
  86. package/dist/domains/processes/index.d.ts.map +0 -1
  87. package/dist/domains/processes/index.js +0 -2
  88. package/dist/domains/processes/index.js.map +0 -1
  89. package/dist/domains/processes/process.schema.d.ts +0 -241
  90. package/dist/domains/processes/process.schema.d.ts.map +0 -1
  91. package/dist/domains/processes/process.schema.js +0 -106
  92. package/dist/domains/processes/process.schema.js.map +0 -1
  93. package/dist/events.d.ts +0 -17
  94. package/dist/events.d.ts.map +0 -1
  95. package/dist/events.js +0 -10
  96. package/dist/events.js.map +0 -1
  97. package/dist/filesystem.d.ts +0 -95
  98. package/dist/filesystem.d.ts.map +0 -1
  99. package/dist/filesystem.js +0 -56
  100. package/dist/filesystem.js.map +0 -1
  101. package/dist/git.d.ts +0 -386
  102. package/dist/git.d.ts.map +0 -1
  103. package/dist/git.js +0 -167
  104. package/dist/git.js.map +0 -1
  105. package/dist/logs.d.ts +0 -186
  106. package/dist/logs.d.ts.map +0 -1
  107. package/dist/logs.js +0 -84
  108. package/dist/logs.js.map +0 -1
  109. package/dist/models.d.ts +0 -49
  110. package/dist/models.d.ts.map +0 -1
  111. package/dist/models.js +0 -38
  112. package/dist/models.js.map +0 -1
  113. package/dist/pinned-commands.d.ts +0 -30
  114. package/dist/pinned-commands.d.ts.map +0 -1
  115. package/dist/pinned-commands.js +0 -19
  116. package/dist/pinned-commands.js.map +0 -1
  117. package/dist/plans.d.ts +0 -40
  118. package/dist/plans.d.ts.map +0 -1
  119. package/dist/plans.js +0 -34
  120. package/dist/plans.js.map +0 -1
  121. package/dist/processes.d.ts +0 -195
  122. package/dist/processes.d.ts.map +0 -1
  123. package/dist/processes.js +0 -86
  124. package/dist/processes.js.map +0 -1
  125. package/dist/projects.d.ts +0 -50
  126. package/dist/projects.d.ts.map +0 -1
  127. package/dist/projects.js +0 -38
  128. package/dist/projects.js.map +0 -1
  129. package/dist/settings.d.ts +0 -136
  130. package/dist/settings.d.ts.map +0 -1
  131. package/dist/settings.js +0 -124
  132. package/dist/settings.js.map +0 -1
  133. package/dist/status.d.ts +0 -39
  134. package/dist/status.d.ts.map +0 -1
  135. package/dist/status.js +0 -38
  136. package/dist/status.js.map +0 -1
  137. package/dist/suspensions.d.ts +0 -55
  138. package/dist/suspensions.d.ts.map +0 -1
  139. package/dist/suspensions.js +0 -38
  140. package/dist/suspensions.js.map +0 -1
  141. package/dist/tool-results.d.ts +0 -369
  142. package/dist/tool-results.d.ts.map +0 -1
  143. package/dist/tool-results.js +0 -117
  144. package/dist/tool-results.js.map +0 -1
  145. package/dist/tools.d.ts +0 -277
  146. package/dist/tools.d.ts.map +0 -1
  147. package/dist/tools.js +0 -127
  148. package/dist/tools.js.map +0 -1
  149. package/dist/transcription.d.ts +0 -8
  150. package/dist/transcription.d.ts.map +0 -1
  151. package/dist/transcription.js +0 -7
  152. package/dist/transcription.js.map +0 -1
  153. package/dist/usage.d.ts +0 -70
  154. package/dist/usage.d.ts.map +0 -1
  155. package/dist/usage.js +0 -35
  156. package/dist/usage.js.map +0 -1
  157. package/dist/workers.d.ts +0 -36
  158. package/dist/workers.d.ts.map +0 -1
  159. package/dist/workers.js +0 -22
  160. package/dist/workers.js.map +0 -1
@@ -1,10 +0,0 @@
1
- import { z } from "zod";
2
- export declare const apiErrorSchema: z.ZodObject<{
3
- error: z.ZodObject<{
4
- code: z.ZodString;
5
- message: z.ZodString;
6
- details: z.ZodOptional<z.ZodUnknown>;
7
- }, z.core.$strip>;
8
- }, z.core.$strip>;
9
- export type ApiError = z.infer<typeof apiErrorSchema>;
10
- //# sourceMappingURL=api-errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-errors.d.ts","sourceRoot":"","sources":["../src/api-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;;;;iBAMzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { z } from "zod";
2
- export const apiErrorSchema = z.object({
3
- error: z.object({
4
- code: z.string(),
5
- message: z.string(),
6
- details: z.unknown().optional(),
7
- }),
8
- });
9
- //# sourceMappingURL=api-errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-errors.js","sourceRoot":"","sources":["../src/api-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;CACH,CAAC,CAAC"}
package/dist/auth.d.ts DELETED
@@ -1,110 +0,0 @@
1
- import { z } from "zod";
2
- export declare const credentialTypeSchema: z.ZodEnum<{
3
- api_key: "api_key";
4
- oauth: "oauth";
5
- }>;
6
- export type CredentialType = z.infer<typeof credentialTypeSchema>;
7
- export declare const providerApiKeySchema: z.ZodObject<{
8
- provider: z.ZodString;
9
- envVar: z.ZodString;
10
- configured: z.ZodBoolean;
11
- }, z.core.$strip>;
12
- export type ProviderApiKey = z.infer<typeof providerApiKeySchema>;
13
- export declare const authProviderMetadataSchema: z.ZodObject<{
14
- provider: z.ZodString;
15
- displayName: z.ZodString;
16
- supportsApiKey: z.ZodBoolean;
17
- supportsOAuth: z.ZodBoolean;
18
- oauthName: z.ZodOptional<z.ZodString>;
19
- configured: z.ZodBoolean;
20
- credentialType: z.ZodOptional<z.ZodEnum<{
21
- api_key: "api_key";
22
- oauth: "oauth";
23
- }>>;
24
- envVar: z.ZodOptional<z.ZodString>;
25
- warning: z.ZodOptional<z.ZodString>;
26
- }, z.core.$strip>;
27
- export type AuthProviderMetadata = z.infer<typeof authProviderMetadataSchema>;
28
- export declare const encryptedSecretEnvelopeSchema: z.ZodObject<{
29
- keyId: z.ZodString;
30
- encryptedKey: z.ZodString;
31
- iv: z.ZodString;
32
- ciphertext: z.ZodString;
33
- }, z.core.$strip>;
34
- export type EncryptedSecretEnvelope = z.infer<typeof encryptedSecretEnvelopeSchema>;
35
- export declare const credentialKeyResponseSchema: z.ZodObject<{
36
- keyId: z.ZodString;
37
- algorithm: z.ZodLiteral<"RSA-OAEP-256+A256GCM">;
38
- publicKey: z.ZodString;
39
- }, z.core.$strip>;
40
- export type CredentialKeyResponse = z.infer<typeof credentialKeyResponseSchema>;
41
- export declare const setProviderApiKeyRequestSchema: z.ZodObject<{
42
- provider: z.ZodString;
43
- apiKey: z.ZodOptional<z.ZodString>;
44
- encryptedApiKey: z.ZodOptional<z.ZodObject<{
45
- keyId: z.ZodString;
46
- encryptedKey: z.ZodString;
47
- iv: z.ZodString;
48
- ciphertext: z.ZodString;
49
- }, z.core.$strip>>;
50
- }, z.core.$strip>;
51
- export type SetProviderApiKeyRequest = z.infer<typeof setProviderApiKeyRequestSchema>;
52
- export declare const startOAuthFlowRequestSchema: z.ZodObject<{
53
- provider: z.ZodString;
54
- }, z.core.$strip>;
55
- export type StartOAuthFlowRequest = z.infer<typeof startOAuthFlowRequestSchema>;
56
- export declare const oauthFlowStatusSchema: z.ZodEnum<{
57
- starting: "starting";
58
- select: "select";
59
- auth_url: "auth_url";
60
- device_code: "device_code";
61
- prompt: "prompt";
62
- progress: "progress";
63
- succeeded: "succeeded";
64
- failed: "failed";
65
- cancelled: "cancelled";
66
- }>;
67
- export type OAuthFlowStatus = z.infer<typeof oauthFlowStatusSchema>;
68
- export declare const oauthFlowInfoSchema: z.ZodObject<{
69
- flowId: z.ZodString;
70
- provider: z.ZodString;
71
- providerName: z.ZodString;
72
- status: z.ZodEnum<{
73
- starting: "starting";
74
- select: "select";
75
- auth_url: "auth_url";
76
- device_code: "device_code";
77
- prompt: "prompt";
78
- progress: "progress";
79
- succeeded: "succeeded";
80
- failed: "failed";
81
- cancelled: "cancelled";
82
- }>;
83
- promptId: z.ZodOptional<z.ZodString>;
84
- message: z.ZodOptional<z.ZodString>;
85
- authUrl: z.ZodOptional<z.ZodString>;
86
- instructions: z.ZodOptional<z.ZodString>;
87
- options: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
- id: z.ZodString;
89
- label: z.ZodString;
90
- }, z.core.$strip>>>;
91
- deviceCode: z.ZodOptional<z.ZodObject<{
92
- userCode: z.ZodString;
93
- verificationUri: z.ZodString;
94
- intervalSeconds: z.ZodOptional<z.ZodNumber>;
95
- expiresInSeconds: z.ZodOptional<z.ZodNumber>;
96
- }, z.core.$strip>>;
97
- placeholder: z.ZodOptional<z.ZodString>;
98
- allowEmpty: z.ZodOptional<z.ZodBoolean>;
99
- error: z.ZodOptional<z.ZodString>;
100
- createdAt: z.ZodString;
101
- updatedAt: z.ZodString;
102
- }, z.core.$strip>;
103
- export type OAuthFlowInfo = z.infer<typeof oauthFlowInfoSchema>;
104
- export declare const respondOAuthFlowRequestSchema: z.ZodObject<{
105
- promptId: z.ZodString;
106
- value: z.ZodOptional<z.ZodString>;
107
- selectedId: z.ZodOptional<z.ZodString>;
108
- }, z.core.$strip>;
109
- export type RespondOAuthFlowRequest = z.infer<typeof respondOAuthFlowRequestSchema>;
110
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;EAA+B,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;iBAUrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,8BAA8B;;;;;;;;;iBAQvC,CAAC;AACL,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB;;;;;;;;;;EAUhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuB9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC"}
package/dist/auth.js DELETED
@@ -1,82 +0,0 @@
1
- import { z } from "zod";
2
- export const credentialTypeSchema = z.enum(["api_key", "oauth"]);
3
- export const providerApiKeySchema = z.object({
4
- provider: z.string().min(1),
5
- envVar: z.string().min(1),
6
- configured: z.boolean(),
7
- });
8
- export const authProviderMetadataSchema = z.object({
9
- provider: z.string().min(1),
10
- displayName: z.string().min(1),
11
- supportsApiKey: z.boolean(),
12
- supportsOAuth: z.boolean(),
13
- oauthName: z.string().optional(),
14
- configured: z.boolean(),
15
- credentialType: credentialTypeSchema.optional(),
16
- envVar: z.string().optional(),
17
- warning: z.string().optional(),
18
- });
19
- export const encryptedSecretEnvelopeSchema = z.object({
20
- keyId: z.string().min(1),
21
- encryptedKey: z.string().min(1), // base64 RSA-OAEP(aesKey)
22
- iv: z.string().min(1), // base64 (12 bytes)
23
- ciphertext: z.string().min(1), // base64 AES-GCM(secret)||tag
24
- });
25
- export const credentialKeyResponseSchema = z.object({
26
- keyId: z.string().min(1),
27
- algorithm: z.literal("RSA-OAEP-256+A256GCM"),
28
- publicKey: z.string().min(1), // base64 SPKI DER
29
- });
30
- export const setProviderApiKeyRequestSchema = z
31
- .object({
32
- provider: z.string().min(1),
33
- apiKey: z.string().min(1).optional(),
34
- encryptedApiKey: encryptedSecretEnvelopeSchema.optional(),
35
- })
36
- .refine((value) => Boolean(value.apiKey) !== Boolean(value.encryptedApiKey), {
37
- message: "Provide exactly one of apiKey or encryptedApiKey.",
38
- });
39
- export const startOAuthFlowRequestSchema = z.object({
40
- provider: z.string().min(1),
41
- });
42
- export const oauthFlowStatusSchema = z.enum([
43
- "starting",
44
- "select",
45
- "auth_url",
46
- "device_code",
47
- "prompt",
48
- "progress",
49
- "succeeded",
50
- "failed",
51
- "cancelled",
52
- ]);
53
- export const oauthFlowInfoSchema = z.object({
54
- flowId: z.string().startsWith("authflow_"),
55
- provider: z.string().min(1),
56
- providerName: z.string().min(1),
57
- status: oauthFlowStatusSchema,
58
- promptId: z.string().optional(),
59
- message: z.string().optional(),
60
- authUrl: z.string().optional(),
61
- instructions: z.string().optional(),
62
- options: z.array(z.object({ id: z.string(), label: z.string() })).optional(),
63
- deviceCode: z
64
- .object({
65
- userCode: z.string(),
66
- verificationUri: z.string(),
67
- intervalSeconds: z.number().optional(),
68
- expiresInSeconds: z.number().optional(),
69
- })
70
- .optional(),
71
- placeholder: z.string().optional(),
72
- allowEmpty: z.boolean().optional(),
73
- error: z.string().optional(),
74
- createdAt: z.string().datetime(),
75
- updatedAt: z.string().datetime(),
76
- });
77
- export const respondOAuthFlowRequestSchema = z.object({
78
- promptId: z.string().min(1),
79
- value: z.string().optional(),
80
- selectedId: z.string().optional(),
81
- });
82
- //# sourceMappingURL=auth.js.map
package/dist/auth.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function deriveConversationTitle(text: string): string;
2
- //# sourceMappingURL=conversation-title.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversation-title.d.ts","sourceRoot":"","sources":["../src/conversation-title.ts"],"names":[],"mappings":"AA+RA,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB5D"}
@@ -1,244 +0,0 @@
1
- const DEFAULT_CONVERSATION_TITLE = "New Conversation";
2
- const IMAGE_REVIEW_TITLE = "Image Review";
3
- const FILE_REVIEW_TITLE = "File Review";
4
- const LINK_REVIEW_TITLE = "Link Review";
5
- const MAX_TITLE_LENGTH = 68;
6
- const MIN_READABLE_CHARS = 3;
7
- const COMMON_FILE_EXTENSIONS = [
8
- "astro",
9
- "bash",
10
- "c",
11
- "cc",
12
- "conf",
13
- "cpp",
14
- "cs",
15
- "css",
16
- "csv",
17
- "go",
18
- "h",
19
- "hpp",
20
- "html",
21
- "java",
22
- "jpeg",
23
- "jpg",
24
- "js",
25
- "json",
26
- "jsx",
27
- "kt",
28
- "lock",
29
- "log",
30
- "lua",
31
- "md",
32
- "mdx",
33
- "php",
34
- "png",
35
- "py",
36
- "rb",
37
- "rs",
38
- "scss",
39
- "sh",
40
- "sql",
41
- "svg",
42
- "svelte",
43
- "swift",
44
- "toml",
45
- "ts",
46
- "tsx",
47
- "txt",
48
- "vue",
49
- "webp",
50
- "xml",
51
- "yaml",
52
- "yml",
53
- ].join("|");
54
- const IMAGE_FILE_EXTENSIONS = [
55
- "avif",
56
- "bmp",
57
- "gif",
58
- "jpeg",
59
- "jpg",
60
- "png",
61
- "svg",
62
- "tiff",
63
- "webp",
64
- ].join("|");
65
- function fileReferencePattern(extensions = COMMON_FILE_EXTENSIONS) {
66
- return new RegExp(String.raw `(?:\b[A-Za-z]:[\\/][^\s),;]+|(?:^|\s)(?:~|\.{1,2}|/)?(?:[\w.-]+[\\/])+[\w.-]+(?::\d+(?::\d+)?)?|\b[\w.-]+\.(?:${extensions})(?::\d+(?::\d+)?)?)`, "i");
67
- }
68
- function stripCodeBlocks(text) {
69
- return text.replace(/```[\s\S]*?```/g, " ").replace(/~~~[\s\S]*?~~~/g, " ");
70
- }
71
- function stripUrls(text) {
72
- return text.replace(/https?:\/\/\S+|www\.\S+/gi, " ");
73
- }
74
- function stripFileReferences(text) {
75
- return text
76
- .replace(/\b[A-Za-z]:[\\/][^\s),;]+/g, " ")
77
- .replace(/(?:^|\s)(?:~|\.{1,2}|\/)?(?:[\w.-]+[\\/])+[\w.-]+(?::\d+(?::\d+)?)?/g, " ")
78
- .replace(new RegExp(`\\b[\\w.-]+\\.(?:${COMMON_FILE_EXTENSIONS})(?::\\d+(?::\\d+)?)?`, "gi"), " ");
79
- }
80
- function stripMarkdown(text) {
81
- return text
82
- .replace(/!\[[^\]]*\]\([^)]*\)/g, " ")
83
- .replace(/\[([^\]]+)\]\([^)]*\)/g, "$1")
84
- .replace(/`([^`]+)`/g, "$1")
85
- .replace(/[*_~]/g, "")
86
- .replace(/^\s{0,3}#{1,6}\s+/gm, "")
87
- .replace(/^\s*[-*+]\s+/gm, "")
88
- .replace(/^\s*\d+[.)]\s+/gm, "");
89
- }
90
- function readableCharCount(text) {
91
- return (text.match(/[\p{L}\p{N}]/gu) ?? []).length;
92
- }
93
- function wordCount(text) {
94
- return (text.match(/[\p{L}\p{N}]+/gu) ?? []).length;
95
- }
96
- function isCodeOrLogLine(line) {
97
- const trimmed = line.trim();
98
- if (!trimmed)
99
- return true;
100
- if (/^(>|\$|>>>|\.\.\.|at\s+|\+{3}|-{3}|@@|\[[\w:-]+\])/.test(trimmed)) {
101
- return true;
102
- }
103
- const punctuation = trimmed.replace(/[\p{L}\p{N}\s]/gu, "");
104
- return trimmed.length >= 8 && punctuation.length / trimmed.length > 0.45;
105
- }
106
- function normalizeCandidate(text) {
107
- return stripFileReferences(stripUrls(stripMarkdown(text)))
108
- .replace(/[“”]/g, '"')
109
- .replace(/[‘’]/g, "'")
110
- .replace(/\btoolcall\b/giu, "tool call")
111
- .replace(/\bthe similar UI to the write and edit tool calls?\b/giu, "similar UI for write and edit tool calls")
112
- .replace(/[\r\n\t]+/g, " ")
113
- .replace(/\s+/g, " ")
114
- .replace(/\s+([,.;:!?])/g, "$1")
115
- .replace(/^(?:i\s+think\s+)?(?:we\s+)?should\s+(?=[\p{L}\p{N}])/iu, "")
116
- .replace(/^please\s+(?=[\p{L}\p{N}])/iu, "")
117
- .replace(/^(?:fix|update|change|edit|review|check|open|look at)\s+(?:and\s+)?(?=[\p{Lu}\p{N}])/iu, "")
118
- .replace(/\b(?:in|at|from|for|and|or)\s+([,.;:!?])/giu, "$1")
119
- .replace(/\b(?:in|at|from|for|and|or)$/iu, "")
120
- .replace(/[([\]{}<>]/g, " ")
121
- .replace(/\s+/g, " ")
122
- .trim();
123
- }
124
- function sentenceFragments(text) {
125
- const fragments = text.match(/[^.!?]+[.!?]?/gu) ?? [text];
126
- return fragments.map((fragment) => fragment.trim()).filter(Boolean);
127
- }
128
- function candidateFragments(text) {
129
- const withoutBlocks = stripCodeBlocks(text);
130
- const fragments = [];
131
- for (const line of withoutBlocks.split(/\r?\n+/)) {
132
- const trimmed = line.trim();
133
- if (isCodeOrLogLine(trimmed))
134
- continue;
135
- const normalized = normalizeCandidate(trimmed);
136
- for (const fragment of sentenceFragments(normalized)) {
137
- fragments.push(normalizeCandidate(fragment));
138
- }
139
- }
140
- return fragments;
141
- }
142
- function isLowInformationCandidate(candidate) {
143
- const normalized = candidate
144
- .toLocaleLowerCase()
145
- .replace(/[^\p{L}\p{N}\s]/gu, " ")
146
- .replace(/\s+/g, " ")
147
- .trim();
148
- if (!normalized)
149
- return true;
150
- if (readableCharCount(normalized) < MIN_READABLE_CHARS)
151
- return true;
152
- if (/^(?:what do you think|thoughts|wdyt)$/u.test(normalized))
153
- return true;
154
- if (/^(?:(?:please|can you|could you|would you)\s+)?(?:see|look|look at|check|review|open|inspect|read|fix|update|edit|change|help)$/u.test(normalized)) {
155
- return true;
156
- }
157
- if (wordCount(normalized) <= 2 &&
158
- /^(?:please\s+)?(?:see|look|check|review|open|inspect|read)\b/u.test(normalized)) {
159
- return true;
160
- }
161
- return false;
162
- }
163
- function scoreCandidate(candidate, index) {
164
- if (isLowInformationCandidate(candidate))
165
- return Number.NEGATIVE_INFINITY;
166
- const words = wordCount(candidate);
167
- if (words < 3)
168
- return Number.NEGATIVE_INFINITY;
169
- let score = Math.min(words, 12) * 2;
170
- if (words > 16)
171
- score -= (words - 16) * 1.5;
172
- if (/\b(?:improve|fix|update|change|edit|review|redesign|test|build|add|remove|show|generate|write|create|make|debug|investigate|explain|compare|refactor|implement)\b/iu.test(candidate)) {
173
- score += 20;
174
- }
175
- if (/^(?:improve|fix|update|change|edit|review|redesign|test|build|add|remove|show|generate|write|create|make|debug|investigate|explain|compare|refactor|implement)\b/iu.test(candidate)) {
176
- score += 16;
177
- }
178
- if (/\b(?:ui|tool|call|title|conversation|settings|error|issue|bug|status|display|page|component|api|name)\b/iu.test(candidate)) {
179
- score += 8;
180
- }
181
- if (/\b(?:broken|hard|slow|fail|fails|error|issue|problem|confusing|unclear)\b/iu.test(candidate)) {
182
- score += 8;
183
- }
184
- if (/^(?:because|sometime|sometimes|here is|this is)\b/iu.test(candidate)) {
185
- score -= 12;
186
- }
187
- return score - index * 0.1;
188
- }
189
- function firstSentence(text) {
190
- const match = text.match(/^(.{12,}?[.!?])(?:\s|$)/u);
191
- return (match?.[1] ?? text).trim();
192
- }
193
- function truncateTitle(title) {
194
- if (title.length <= MAX_TITLE_LENGTH)
195
- return title;
196
- const prefix = title.slice(0, MAX_TITLE_LENGTH - 1);
197
- const lastSpace = prefix.lastIndexOf(" ");
198
- const cut = lastSpace >= 36 ? prefix.slice(0, lastSpace) : prefix;
199
- return `${cut.replace(/[\s,;:.-]+$/u, "")}…`;
200
- }
201
- function finalClean(title) {
202
- const cleaned = title
203
- .replace(/^[\s:;,.!?\-–—]+/u, "")
204
- .replace(/[\s:;,\-–—]+$/u, "")
205
- .replace(/\s+/g, " ")
206
- .trim();
207
- if (!cleaned)
208
- return "";
209
- return cleaned.replace(/^\p{Ll}/u, (char) => char.toLocaleUpperCase());
210
- }
211
- function hasImageReference(text) {
212
- return new RegExp(String.raw `(?:!\[[^\]]*\]\([^)]*\.(?:${IMAGE_FILE_EXTENSIONS})(?:[?#][^)]*)?\)|\b[A-Za-z]:[\\/][^\s),;]+\.(?:${IMAGE_FILE_EXTENSIONS})(?::\d+(?::\d+)?)?|(?:^|\s)(?:~|\.{1,2}|/)?(?:[\w.-]+[\\/])+[\w.-]+\.(?:${IMAGE_FILE_EXTENSIONS})(?::\d+(?::\d+)?)?|\b[\w.-]+\.(?:${IMAGE_FILE_EXTENSIONS})(?::\d+(?::\d+)?)?)`, "i").test(text);
213
- }
214
- function hasFileReference(text) {
215
- return fileReferencePattern().test(text);
216
- }
217
- function hasUrlReference(text) {
218
- return /https?:\/\/\S+|www\.\S+/i.test(text);
219
- }
220
- function fallbackTitle(text) {
221
- if (hasImageReference(text))
222
- return IMAGE_REVIEW_TITLE;
223
- if (hasFileReference(text))
224
- return FILE_REVIEW_TITLE;
225
- if (hasUrlReference(text))
226
- return LINK_REVIEW_TITLE;
227
- return DEFAULT_CONVERSATION_TITLE;
228
- }
229
- export function deriveConversationTitle(text) {
230
- const candidates = candidateFragments(text)
231
- .map((candidate) => finalClean(truncateTitle(firstSentence(candidate))))
232
- .filter((candidate) => readableCharCount(candidate) >= MIN_READABLE_CHARS);
233
- let best = "";
234
- let bestScore = Number.NEGATIVE_INFINITY;
235
- candidates.forEach((candidate, index) => {
236
- const score = scoreCandidate(candidate, index);
237
- if (score > bestScore) {
238
- best = candidate;
239
- bestScore = score;
240
- }
241
- });
242
- return best || fallbackTitle(text);
243
- }
244
- //# sourceMappingURL=conversation-title.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversation-title.js","sourceRoot":"","sources":["../src/conversation-title.ts"],"names":[],"mappings":"AAAA,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AACtD,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAC1C,MAAM,iBAAiB,GAAG,aAAa,CAAC;AACxC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AACxC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,sBAAsB,GAAG;IAC7B,OAAO;IACP,MAAM;IACN,GAAG;IACH,IAAI;IACJ,MAAM;IACN,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,IAAI;IACJ,GAAG;IACH,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,IAAI;IACJ,MAAM;IACN,KAAK;IACL,IAAI;IACJ,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,MAAM;IACN,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;CACN,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,qBAAqB,GAAG;IAC5B,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;CACP,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,SAAS,oBAAoB,CAAC,UAAU,GAAG,sBAAsB;IAC/D,OAAO,IAAI,MAAM,CACf,MAAM,CAAC,GAAG,CAAA,iHAAiH,UAAU,sBAAsB,EAC3J,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC;SAC1C,OAAO,CACN,sEAAsE,EACtE,GAAG,CACJ;SACA,OAAO,CACN,IAAI,MAAM,CACR,oBAAoB,sBAAsB,uBAAuB,EACjE,IAAI,CACL,EACD,GAAG,CACJ,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC;SACrC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC;SACvC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;SAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;SAClC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,oDAAoD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,mBAAmB,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACvC,OAAO,CACN,yDAAyD,EACzD,0CAA0C,CAC3C;SACA,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;SAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;SAC/B,OAAO,CAAC,yDAAyD,EAAE,EAAE,CAAC;SACtE,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC;SAC3C,OAAO,CACN,wFAAwF,EACxF,EAAE,CACH;SACA,OAAO,CAAC,6CAA6C,EAAE,IAAI,CAAC;SAC5D,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC;SAC7C,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,eAAe,CAAC,OAAO,CAAC;YAAE,SAAS;QACvC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC/C,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAiB;IAClD,MAAM,UAAU,GAAG,SAAS;SACzB,iBAAiB,EAAE;SACnB,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC;SACjC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,iBAAiB,CAAC,UAAU,CAAC,GAAG,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACpE,IAAI,wCAAwC,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,IACE,kIAAkI,CAAC,IAAI,CACrI,UAAU,CACX,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IACE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1B,+DAA+D,CAAC,IAAI,CAClE,UAAU,CACX,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB,EAAE,KAAa;IACtD,IAAI,yBAAyB,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC,iBAAiB,CAAC;IAE1E,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,iBAAiB,CAAC;IAE/C,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,EAAE;QAAE,KAAK,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;IAE5C,IACE,qKAAqK,CAAC,IAAI,CACxK,SAAS,CACV,EACD,CAAC;QACD,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IACD,IACE,oKAAoK,CAAC,IAAI,CACvK,SAAS,CACV,EACD,CAAC;QACD,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IACD,IACE,2GAA2G,CAAC,IAAI,CAC9G,SAAS,CACV,EACD,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IACE,6EAA6E,CAAC,IAAI,CAChF,SAAS,CACV,EACD,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IAAI,qDAAqD,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1E,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IAED,OAAO,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACrD,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,KAAK,CAAC,MAAM,IAAI,gBAAgB;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,OAAO,GAAG,KAAK;SAClB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,MAAM,CACf,MAAM,CAAC,GAAG,CAAA,6BAA6B,qBAAqB,mDAAmD,qBAAqB,4EAA4E,qBAAqB,qCAAqC,qBAAqB,sBAAsB,EACrT,GAAG,CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACvD,IAAI,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACrD,IAAI,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACpD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC;SACxC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACvE,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,CAAC;IAE7E,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACzC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,IAAI,GAAG,SAAS,CAAC;YACjB,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC"}