@peers-app/peers-sdk 0.1.4

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 (234) hide show
  1. package/README.md +1 -0
  2. package/dist/context/data-context.d.ts +31 -0
  3. package/dist/context/data-context.js +56 -0
  4. package/dist/context/index.d.ts +3 -0
  5. package/dist/context/index.js +19 -0
  6. package/dist/context/user-context-singleton.d.ts +11 -0
  7. package/dist/context/user-context-singleton.js +121 -0
  8. package/dist/context/user-context.d.ts +55 -0
  9. package/dist/context/user-context.js +205 -0
  10. package/dist/data/assistants.d.ts +68 -0
  11. package/dist/data/assistants.js +64 -0
  12. package/dist/data/change-tracking.d.ts +219 -0
  13. package/dist/data/change-tracking.js +119 -0
  14. package/dist/data/channels.d.ts +29 -0
  15. package/dist/data/channels.js +25 -0
  16. package/dist/data/data-locks.d.ts +37 -0
  17. package/dist/data/data-locks.js +180 -0
  18. package/dist/data/data-locks.test.d.ts +1 -0
  19. package/dist/data/data-locks.test.js +456 -0
  20. package/dist/data/device-sync-info.d.ts +19 -0
  21. package/dist/data/device-sync-info.js +24 -0
  22. package/dist/data/devices.d.ts +51 -0
  23. package/dist/data/devices.js +36 -0
  24. package/dist/data/embeddings.d.ts +47 -0
  25. package/dist/data/embeddings.js +36 -0
  26. package/dist/data/files/file-read-stream.d.ts +27 -0
  27. package/dist/data/files/file-read-stream.js +195 -0
  28. package/dist/data/files/file-write-stream.d.ts +20 -0
  29. package/dist/data/files/file-write-stream.js +113 -0
  30. package/dist/data/files/file.types.d.ts +47 -0
  31. package/dist/data/files/file.types.js +55 -0
  32. package/dist/data/files/files.d.ts +28 -0
  33. package/dist/data/files/files.js +127 -0
  34. package/dist/data/files/files.test.d.ts +1 -0
  35. package/dist/data/files/files.test.js +728 -0
  36. package/dist/data/files/index.d.ts +4 -0
  37. package/dist/data/files/index.js +23 -0
  38. package/dist/data/group-member-roles.d.ts +9 -0
  39. package/dist/data/group-member-roles.js +25 -0
  40. package/dist/data/group-members.d.ts +39 -0
  41. package/dist/data/group-members.js +68 -0
  42. package/dist/data/group-members.test.d.ts +1 -0
  43. package/dist/data/group-members.test.js +287 -0
  44. package/dist/data/group-permissions.d.ts +8 -0
  45. package/dist/data/group-permissions.js +73 -0
  46. package/dist/data/group-share.d.ts +50 -0
  47. package/dist/data/group-share.js +196 -0
  48. package/dist/data/groups.d.ts +50 -0
  49. package/dist/data/groups.js +73 -0
  50. package/dist/data/groups.test.d.ts +1 -0
  51. package/dist/data/groups.test.js +153 -0
  52. package/dist/data/index.d.ts +31 -0
  53. package/dist/data/index.js +47 -0
  54. package/dist/data/knowledge/knowledge-frames.d.ts +34 -0
  55. package/dist/data/knowledge/knowledge-frames.js +34 -0
  56. package/dist/data/knowledge/knowledge-links.d.ts +30 -0
  57. package/dist/data/knowledge/knowledge-links.js +25 -0
  58. package/dist/data/knowledge/knowledge-values.d.ts +35 -0
  59. package/dist/data/knowledge/knowledge-values.js +35 -0
  60. package/dist/data/knowledge/peer-types.d.ts +112 -0
  61. package/dist/data/knowledge/peer-types.js +27 -0
  62. package/dist/data/knowledge/predicates.d.ts +34 -0
  63. package/dist/data/knowledge/predicates.js +27 -0
  64. package/dist/data/messages.d.ts +57 -0
  65. package/dist/data/messages.js +97 -0
  66. package/dist/data/orm/client-proxy.data-source.d.ts +27 -0
  67. package/dist/data/orm/client-proxy.data-source.js +65 -0
  68. package/dist/data/orm/cursor.d.ts +25 -0
  69. package/dist/data/orm/cursor.js +47 -0
  70. package/dist/data/orm/cursor.test.d.ts +1 -0
  71. package/dist/data/orm/cursor.test.js +315 -0
  72. package/dist/data/orm/data-query.d.ts +96 -0
  73. package/dist/data/orm/data-query.js +208 -0
  74. package/dist/data/orm/data-query.mongo.d.ts +17 -0
  75. package/dist/data/orm/data-query.mongo.js +267 -0
  76. package/dist/data/orm/data-query.mongo.test.d.ts +1 -0
  77. package/dist/data/orm/data-query.mongo.test.js +398 -0
  78. package/dist/data/orm/data-query.sqlite.d.ts +14 -0
  79. package/dist/data/orm/data-query.sqlite.js +297 -0
  80. package/dist/data/orm/data-query.sqlite.test.d.ts +1 -0
  81. package/dist/data/orm/data-query.sqlite.test.js +377 -0
  82. package/dist/data/orm/data-query.test.d.ts +1 -0
  83. package/dist/data/orm/data-query.test.js +553 -0
  84. package/dist/data/orm/decorators.d.ts +6 -0
  85. package/dist/data/orm/decorators.js +21 -0
  86. package/dist/data/orm/dependency-injection.test.d.ts +1 -0
  87. package/dist/data/orm/dependency-injection.test.js +171 -0
  88. package/dist/data/orm/doc.d.ts +26 -0
  89. package/dist/data/orm/doc.js +124 -0
  90. package/dist/data/orm/event-registry.d.ts +24 -0
  91. package/dist/data/orm/event-registry.js +40 -0
  92. package/dist/data/orm/event-registry.test.d.ts +1 -0
  93. package/dist/data/orm/event-registry.test.js +44 -0
  94. package/dist/data/orm/factory.d.ts +8 -0
  95. package/dist/data/orm/factory.js +147 -0
  96. package/dist/data/orm/index.d.ts +16 -0
  97. package/dist/data/orm/index.js +32 -0
  98. package/dist/data/orm/multi-cursors.d.ts +11 -0
  99. package/dist/data/orm/multi-cursors.js +146 -0
  100. package/dist/data/orm/multi-cursors.test.d.ts +1 -0
  101. package/dist/data/orm/multi-cursors.test.js +455 -0
  102. package/dist/data/orm/sql-db.d.ts +6 -0
  103. package/dist/data/orm/sql-db.js +2 -0
  104. package/dist/data/orm/sql.data-source.d.ts +38 -0
  105. package/dist/data/orm/sql.data-source.js +379 -0
  106. package/dist/data/orm/sql.data-source.test.d.ts +1 -0
  107. package/dist/data/orm/sql.data-source.test.js +406 -0
  108. package/dist/data/orm/subscribable.data-source.d.ts +25 -0
  109. package/dist/data/orm/subscribable.data-source.js +72 -0
  110. package/dist/data/orm/table-container-events.test.d.ts +1 -0
  111. package/dist/data/orm/table-container-events.test.js +93 -0
  112. package/dist/data/orm/table-container.d.ts +39 -0
  113. package/dist/data/orm/table-container.js +96 -0
  114. package/dist/data/orm/table-definitions.system.d.ts +9 -0
  115. package/dist/data/orm/table-definitions.system.js +29 -0
  116. package/dist/data/orm/table-definitions.type.d.ts +19 -0
  117. package/dist/data/orm/table-definitions.type.js +2 -0
  118. package/dist/data/orm/table-dependencies.d.ts +32 -0
  119. package/dist/data/orm/table-dependencies.js +2 -0
  120. package/dist/data/orm/table.d.ts +42 -0
  121. package/dist/data/orm/table.event-source.test.d.ts +1 -0
  122. package/dist/data/orm/table.event-source.test.js +341 -0
  123. package/dist/data/orm/table.js +244 -0
  124. package/dist/data/orm/types.d.ts +20 -0
  125. package/dist/data/orm/types.js +115 -0
  126. package/dist/data/orm/types.test.d.ts +1 -0
  127. package/dist/data/orm/types.test.js +71 -0
  128. package/dist/data/package-permissions.d.ts +7 -0
  129. package/dist/data/package-permissions.js +18 -0
  130. package/dist/data/packages.d.ts +92 -0
  131. package/dist/data/packages.js +90 -0
  132. package/dist/data/peer-events/peer-event-handlers.d.ts +21 -0
  133. package/dist/data/peer-events/peer-event-handlers.js +28 -0
  134. package/dist/data/peer-events/peer-event-types.d.ts +119 -0
  135. package/dist/data/peer-events/peer-event-types.js +29 -0
  136. package/dist/data/peer-events/peer-events.d.ts +41 -0
  137. package/dist/data/peer-events/peer-events.js +102 -0
  138. package/dist/data/persistent-vars.d.ts +87 -0
  139. package/dist/data/persistent-vars.js +230 -0
  140. package/dist/data/tool-tests.d.ts +37 -0
  141. package/dist/data/tool-tests.js +27 -0
  142. package/dist/data/tools.d.ts +358 -0
  143. package/dist/data/tools.js +48 -0
  144. package/dist/data/user-permissions.d.ts +15 -0
  145. package/dist/data/user-permissions.js +39 -0
  146. package/dist/data/user-permissions.test.d.ts +1 -0
  147. package/dist/data/user-permissions.test.js +252 -0
  148. package/dist/data/users.d.ts +38 -0
  149. package/dist/data/users.js +73 -0
  150. package/dist/data/workflow-logs.d.ts +106 -0
  151. package/dist/data/workflow-logs.js +67 -0
  152. package/dist/data/workflow-runs.d.ts +103 -0
  153. package/dist/data/workflow-runs.js +313 -0
  154. package/dist/data/workflows.d.ts +16 -0
  155. package/dist/data/workflows.js +21 -0
  156. package/dist/device/connection.d.ts +41 -0
  157. package/dist/device/connection.js +249 -0
  158. package/dist/device/connection.test.d.ts +1 -0
  159. package/dist/device/connection.test.js +292 -0
  160. package/dist/device/device-election.d.ts +36 -0
  161. package/dist/device/device-election.js +137 -0
  162. package/dist/device/device.d.ts +22 -0
  163. package/dist/device/device.js +110 -0
  164. package/dist/device/device.test.d.ts +1 -0
  165. package/dist/device/device.test.js +203 -0
  166. package/dist/device/get-trust-level.d.ts +3 -0
  167. package/dist/device/get-trust-level.js +87 -0
  168. package/dist/device/socket.type.d.ts +20 -0
  169. package/dist/device/socket.type.js +15 -0
  170. package/dist/device/streamed-socket.d.ts +27 -0
  171. package/dist/device/streamed-socket.js +154 -0
  172. package/dist/device/streamed-socket.test.d.ts +1 -0
  173. package/dist/device/streamed-socket.test.js +44 -0
  174. package/dist/events.d.ts +35 -0
  175. package/dist/events.js +128 -0
  176. package/dist/index.d.ts +33 -0
  177. package/dist/index.js +50 -0
  178. package/dist/keys.d.ts +51 -0
  179. package/dist/keys.js +234 -0
  180. package/dist/keys.test.d.ts +1 -0
  181. package/dist/keys.test.js +215 -0
  182. package/dist/mentions.d.ts +9 -0
  183. package/dist/mentions.js +46 -0
  184. package/dist/observable.d.ts +19 -0
  185. package/dist/observable.js +112 -0
  186. package/dist/observable.test.d.ts +1 -0
  187. package/dist/observable.test.js +183 -0
  188. package/dist/package-loader/get-require.d.ts +10 -0
  189. package/dist/package-loader/get-require.js +31 -0
  190. package/dist/package-loader/index.d.ts +1 -0
  191. package/dist/package-loader/index.js +17 -0
  192. package/dist/package-loader/package-loader.d.ts +16 -0
  193. package/dist/package-loader/package-loader.js +102 -0
  194. package/dist/peers-ui/peers-ui.d.ts +15 -0
  195. package/dist/peers-ui/peers-ui.js +23 -0
  196. package/dist/peers-ui/peers-ui.types.d.ts +35 -0
  197. package/dist/peers-ui/peers-ui.types.js +3 -0
  198. package/dist/rpc-types.d.ts +45 -0
  199. package/dist/rpc-types.js +47 -0
  200. package/dist/serial-json.d.ts +5 -0
  201. package/dist/serial-json.js +186 -0
  202. package/dist/serial-json.test.d.ts +1 -0
  203. package/dist/serial-json.test.js +86 -0
  204. package/dist/system-ids.d.ts +6 -0
  205. package/dist/system-ids.js +10 -0
  206. package/dist/tools/index.d.ts +1 -0
  207. package/dist/tools/index.js +17 -0
  208. package/dist/tools/tools-factory.d.ts +5 -0
  209. package/dist/tools/tools-factory.js +34 -0
  210. package/dist/types/app-nav.d.ts +18 -0
  211. package/dist/types/app-nav.js +10 -0
  212. package/dist/types/assistant-runner-args.d.ts +9 -0
  213. package/dist/types/assistant-runner-args.js +2 -0
  214. package/dist/types/field-type.d.ts +37 -0
  215. package/dist/types/field-type.js +26 -0
  216. package/dist/types/peer-device.d.ts +40 -0
  217. package/dist/types/peer-device.js +14 -0
  218. package/dist/types/peers-package.d.ts +23 -0
  219. package/dist/types/peers-package.js +2 -0
  220. package/dist/types/workflow-logger.d.ts +2 -0
  221. package/dist/types/workflow-logger.js +2 -0
  222. package/dist/types/workflow-run-context.d.ts +12 -0
  223. package/dist/types/workflow-run-context.js +2 -0
  224. package/dist/types/workflow.d.ts +72 -0
  225. package/dist/types/workflow.js +24 -0
  226. package/dist/types/zod-types.d.ts +7 -0
  227. package/dist/types/zod-types.js +12 -0
  228. package/dist/users.query.d.ts +13 -0
  229. package/dist/users.query.js +134 -0
  230. package/dist/utils.d.ts +39 -0
  231. package/dist/utils.js +240 -0
  232. package/dist/utils.test.d.ts +1 -0
  233. package/dist/utils.test.js +140 -0
  234. package/package.json +50 -0
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ import type { DataContext } from "../context/data-context";
3
+ export declare const toolTestSchema: z.ZodObject<{
4
+ toolTestId: z.ZodString;
5
+ toolId: z.ZodString;
6
+ description: z.ZodString;
7
+ code: z.ZodDefault<z.ZodString>;
8
+ input: z.ZodAny;
9
+ output: z.ZodAny;
10
+ mocks: z.ZodOptional<z.ZodAny>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ code: string;
13
+ description: string;
14
+ toolId: string;
15
+ toolTestId: string;
16
+ input?: any;
17
+ output?: any;
18
+ mocks?: any;
19
+ }, {
20
+ description: string;
21
+ toolId: string;
22
+ toolTestId: string;
23
+ input?: any;
24
+ code?: string | undefined;
25
+ output?: any;
26
+ mocks?: any;
27
+ }>;
28
+ export type IToolTest = z.infer<typeof toolTestSchema>;
29
+ export declare function ToolTests(dataContext?: DataContext): import("./orm").Table<{
30
+ code: string;
31
+ description: string;
32
+ toolId: string;
33
+ toolTestId: string;
34
+ input?: any;
35
+ output?: any;
36
+ mocks?: any;
37
+ }>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toolTestSchema = void 0;
4
+ exports.ToolTests = ToolTests;
5
+ const zod_1 = require("zod");
6
+ const types_1 = require("./orm/types");
7
+ const user_context_singleton_1 = require("../context/user-context-singleton");
8
+ const table_definitions_system_1 = require("./orm/table-definitions.system");
9
+ exports.toolTestSchema = zod_1.z.object({
10
+ toolTestId: zod_1.z.string(),
11
+ toolId: zod_1.z.string(),
12
+ description: zod_1.z.string(),
13
+ code: zod_1.z.string().default(''),
14
+ input: zod_1.z.any(),
15
+ output: zod_1.z.any(),
16
+ mocks: zod_1.z.any().optional(),
17
+ });
18
+ const metaData = {
19
+ name: 'ToolTests',
20
+ description: 'Tests for tools',
21
+ primaryKeyName: 'toolTestId',
22
+ fields: (0, types_1.schemaToFields)(exports.toolTestSchema),
23
+ };
24
+ (0, table_definitions_system_1.registerSystemTableDefinition)(metaData, exports.toolTestSchema);
25
+ function ToolTests(dataContext) {
26
+ return (0, user_context_singleton_1.getTableContainer)(dataContext).getTable(metaData, exports.toolTestSchema);
27
+ }
@@ -0,0 +1,358 @@
1
+ import { z } from "zod";
2
+ import type { DataContext } from "../context/data-context";
3
+ export declare enum IOSchemaType {
4
+ none = "none",
5
+ simple = "simple",
6
+ complex = "complex",
7
+ code = "code"
8
+ }
9
+ export declare const ioSchema: z.ZodObject<{
10
+ type: z.ZodNativeEnum<typeof IOSchemaType>;
11
+ fields: z.ZodDefault<z.ZodArray<z.ZodObject<{
12
+ name: z.ZodString;
13
+ description: z.ZodOptional<z.ZodString>;
14
+ type: z.ZodNativeEnum<typeof import("../types/field-type").FieldType>;
15
+ defaultValue: z.ZodOptional<z.ZodAny>;
16
+ optional: z.ZodOptional<z.ZodBoolean>;
17
+ isArray: z.ZodOptional<z.ZodBoolean>;
18
+ subType: z.ZodOptional<z.ZodString>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ name: string;
21
+ type: import("../types/field-type").FieldType;
22
+ optional?: boolean | undefined;
23
+ description?: string | undefined;
24
+ defaultValue?: any;
25
+ isArray?: boolean | undefined;
26
+ subType?: string | undefined;
27
+ }, {
28
+ name: string;
29
+ type: import("../types/field-type").FieldType;
30
+ optional?: boolean | undefined;
31
+ description?: string | undefined;
32
+ defaultValue?: any;
33
+ isArray?: boolean | undefined;
34
+ subType?: string | undefined;
35
+ }>, "many">>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ type: IOSchemaType;
38
+ fields: {
39
+ name: string;
40
+ type: import("../types/field-type").FieldType;
41
+ optional?: boolean | undefined;
42
+ description?: string | undefined;
43
+ defaultValue?: any;
44
+ isArray?: boolean | undefined;
45
+ subType?: string | undefined;
46
+ }[];
47
+ }, {
48
+ type: IOSchemaType;
49
+ fields?: {
50
+ name: string;
51
+ type: import("../types/field-type").FieldType;
52
+ optional?: boolean | undefined;
53
+ description?: string | undefined;
54
+ defaultValue?: any;
55
+ isArray?: boolean | undefined;
56
+ subType?: string | undefined;
57
+ }[] | undefined;
58
+ }>;
59
+ export type IOSchema = z.infer<typeof ioSchema>;
60
+ export declare const toolSchema: z.ZodObject<{
61
+ toolId: z.ZodString;
62
+ name: z.ZodString;
63
+ usageDescription: z.ZodString;
64
+ detailedDescription: z.ZodOptional<z.ZodString>;
65
+ inputSchema: z.ZodObject<{
66
+ type: z.ZodNativeEnum<typeof IOSchemaType>;
67
+ fields: z.ZodDefault<z.ZodArray<z.ZodObject<{
68
+ name: z.ZodString;
69
+ description: z.ZodOptional<z.ZodString>;
70
+ type: z.ZodNativeEnum<typeof import("../types/field-type").FieldType>;
71
+ defaultValue: z.ZodOptional<z.ZodAny>;
72
+ optional: z.ZodOptional<z.ZodBoolean>;
73
+ isArray: z.ZodOptional<z.ZodBoolean>;
74
+ subType: z.ZodOptional<z.ZodString>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ name: string;
77
+ type: import("../types/field-type").FieldType;
78
+ optional?: boolean | undefined;
79
+ description?: string | undefined;
80
+ defaultValue?: any;
81
+ isArray?: boolean | undefined;
82
+ subType?: string | undefined;
83
+ }, {
84
+ name: string;
85
+ type: import("../types/field-type").FieldType;
86
+ optional?: boolean | undefined;
87
+ description?: string | undefined;
88
+ defaultValue?: any;
89
+ isArray?: boolean | undefined;
90
+ subType?: string | undefined;
91
+ }>, "many">>;
92
+ }, "strip", z.ZodTypeAny, {
93
+ type: IOSchemaType;
94
+ fields: {
95
+ name: string;
96
+ type: import("../types/field-type").FieldType;
97
+ optional?: boolean | undefined;
98
+ description?: string | undefined;
99
+ defaultValue?: any;
100
+ isArray?: boolean | undefined;
101
+ subType?: string | undefined;
102
+ }[];
103
+ }, {
104
+ type: IOSchemaType;
105
+ fields?: {
106
+ name: string;
107
+ type: import("../types/field-type").FieldType;
108
+ optional?: boolean | undefined;
109
+ description?: string | undefined;
110
+ defaultValue?: any;
111
+ isArray?: boolean | undefined;
112
+ subType?: string | undefined;
113
+ }[] | undefined;
114
+ }>;
115
+ outputSchema: z.ZodObject<{
116
+ type: z.ZodNativeEnum<typeof IOSchemaType>;
117
+ fields: z.ZodDefault<z.ZodArray<z.ZodObject<{
118
+ name: z.ZodString;
119
+ description: z.ZodOptional<z.ZodString>;
120
+ type: z.ZodNativeEnum<typeof import("../types/field-type").FieldType>;
121
+ defaultValue: z.ZodOptional<z.ZodAny>;
122
+ optional: z.ZodOptional<z.ZodBoolean>;
123
+ isArray: z.ZodOptional<z.ZodBoolean>;
124
+ subType: z.ZodOptional<z.ZodString>;
125
+ }, "strip", z.ZodTypeAny, {
126
+ name: string;
127
+ type: import("../types/field-type").FieldType;
128
+ optional?: boolean | undefined;
129
+ description?: string | undefined;
130
+ defaultValue?: any;
131
+ isArray?: boolean | undefined;
132
+ subType?: string | undefined;
133
+ }, {
134
+ name: string;
135
+ type: import("../types/field-type").FieldType;
136
+ optional?: boolean | undefined;
137
+ description?: string | undefined;
138
+ defaultValue?: any;
139
+ isArray?: boolean | undefined;
140
+ subType?: string | undefined;
141
+ }>, "many">>;
142
+ }, "strip", z.ZodTypeAny, {
143
+ type: IOSchemaType;
144
+ fields: {
145
+ name: string;
146
+ type: import("../types/field-type").FieldType;
147
+ optional?: boolean | undefined;
148
+ description?: string | undefined;
149
+ defaultValue?: any;
150
+ isArray?: boolean | undefined;
151
+ subType?: string | undefined;
152
+ }[];
153
+ }, {
154
+ type: IOSchemaType;
155
+ fields?: {
156
+ name: string;
157
+ type: import("../types/field-type").FieldType;
158
+ optional?: boolean | undefined;
159
+ description?: string | undefined;
160
+ defaultValue?: any;
161
+ isArray?: boolean | undefined;
162
+ subType?: string | undefined;
163
+ }[] | undefined;
164
+ }>;
165
+ configSchema: z.ZodOptional<z.ZodObject<{
166
+ type: z.ZodNativeEnum<typeof IOSchemaType>;
167
+ fields: z.ZodDefault<z.ZodArray<z.ZodObject<{
168
+ name: z.ZodString;
169
+ description: z.ZodOptional<z.ZodString>;
170
+ type: z.ZodNativeEnum<typeof import("../types/field-type").FieldType>;
171
+ defaultValue: z.ZodOptional<z.ZodAny>;
172
+ optional: z.ZodOptional<z.ZodBoolean>;
173
+ isArray: z.ZodOptional<z.ZodBoolean>;
174
+ subType: z.ZodOptional<z.ZodString>;
175
+ }, "strip", z.ZodTypeAny, {
176
+ name: string;
177
+ type: import("../types/field-type").FieldType;
178
+ optional?: boolean | undefined;
179
+ description?: string | undefined;
180
+ defaultValue?: any;
181
+ isArray?: boolean | undefined;
182
+ subType?: string | undefined;
183
+ }, {
184
+ name: string;
185
+ type: import("../types/field-type").FieldType;
186
+ optional?: boolean | undefined;
187
+ description?: string | undefined;
188
+ defaultValue?: any;
189
+ isArray?: boolean | undefined;
190
+ subType?: string | undefined;
191
+ }>, "many">>;
192
+ }, "strip", z.ZodTypeAny, {
193
+ type: IOSchemaType;
194
+ fields: {
195
+ name: string;
196
+ type: import("../types/field-type").FieldType;
197
+ optional?: boolean | undefined;
198
+ description?: string | undefined;
199
+ defaultValue?: any;
200
+ isArray?: boolean | undefined;
201
+ subType?: string | undefined;
202
+ }[];
203
+ }, {
204
+ type: IOSchemaType;
205
+ fields?: {
206
+ name: string;
207
+ type: import("../types/field-type").FieldType;
208
+ optional?: boolean | undefined;
209
+ description?: string | undefined;
210
+ defaultValue?: any;
211
+ isArray?: boolean | undefined;
212
+ subType?: string | undefined;
213
+ }[] | undefined;
214
+ }>>;
215
+ code: z.ZodDefault<z.ZodString>;
216
+ codeRepository: z.ZodOptional<z.ZodString>;
217
+ isAssistantRunner: z.ZodOptional<z.ZodBoolean>;
218
+ }, "strip", z.ZodTypeAny, {
219
+ code: string;
220
+ name: string;
221
+ toolId: string;
222
+ usageDescription: string;
223
+ inputSchema: {
224
+ type: IOSchemaType;
225
+ fields: {
226
+ name: string;
227
+ type: import("../types/field-type").FieldType;
228
+ optional?: boolean | undefined;
229
+ description?: string | undefined;
230
+ defaultValue?: any;
231
+ isArray?: boolean | undefined;
232
+ subType?: string | undefined;
233
+ }[];
234
+ };
235
+ outputSchema: {
236
+ type: IOSchemaType;
237
+ fields: {
238
+ name: string;
239
+ type: import("../types/field-type").FieldType;
240
+ optional?: boolean | undefined;
241
+ description?: string | undefined;
242
+ defaultValue?: any;
243
+ isArray?: boolean | undefined;
244
+ subType?: string | undefined;
245
+ }[];
246
+ };
247
+ detailedDescription?: string | undefined;
248
+ configSchema?: {
249
+ type: IOSchemaType;
250
+ fields: {
251
+ name: string;
252
+ type: import("../types/field-type").FieldType;
253
+ optional?: boolean | undefined;
254
+ description?: string | undefined;
255
+ defaultValue?: any;
256
+ isArray?: boolean | undefined;
257
+ subType?: string | undefined;
258
+ }[];
259
+ } | undefined;
260
+ codeRepository?: string | undefined;
261
+ isAssistantRunner?: boolean | undefined;
262
+ }, {
263
+ name: string;
264
+ toolId: string;
265
+ usageDescription: string;
266
+ inputSchema: {
267
+ type: IOSchemaType;
268
+ fields?: {
269
+ name: string;
270
+ type: import("../types/field-type").FieldType;
271
+ optional?: boolean | undefined;
272
+ description?: string | undefined;
273
+ defaultValue?: any;
274
+ isArray?: boolean | undefined;
275
+ subType?: string | undefined;
276
+ }[] | undefined;
277
+ };
278
+ outputSchema: {
279
+ type: IOSchemaType;
280
+ fields?: {
281
+ name: string;
282
+ type: import("../types/field-type").FieldType;
283
+ optional?: boolean | undefined;
284
+ description?: string | undefined;
285
+ defaultValue?: any;
286
+ isArray?: boolean | undefined;
287
+ subType?: string | undefined;
288
+ }[] | undefined;
289
+ };
290
+ code?: string | undefined;
291
+ detailedDescription?: string | undefined;
292
+ configSchema?: {
293
+ type: IOSchemaType;
294
+ fields?: {
295
+ name: string;
296
+ type: import("../types/field-type").FieldType;
297
+ optional?: boolean | undefined;
298
+ description?: string | undefined;
299
+ defaultValue?: any;
300
+ isArray?: boolean | undefined;
301
+ subType?: string | undefined;
302
+ }[] | undefined;
303
+ } | undefined;
304
+ codeRepository?: string | undefined;
305
+ isAssistantRunner?: boolean | undefined;
306
+ }>;
307
+ export type ITool = z.infer<typeof toolSchema>;
308
+ export interface IToolInstance {
309
+ tool: ITool;
310
+ toolFn: (...args: any[]) => any;
311
+ inputSchema?: z.ZodObject<any>;
312
+ outputSchema?: z.ZodObject<any>;
313
+ }
314
+ export declare function Tools(dataContext?: DataContext): import("./orm").Table<{
315
+ code: string;
316
+ name: string;
317
+ toolId: string;
318
+ usageDescription: string;
319
+ inputSchema: {
320
+ type: IOSchemaType;
321
+ fields: {
322
+ name: string;
323
+ type: import("../types/field-type").FieldType;
324
+ optional?: boolean | undefined;
325
+ description?: string | undefined;
326
+ defaultValue?: any;
327
+ isArray?: boolean | undefined;
328
+ subType?: string | undefined;
329
+ }[];
330
+ };
331
+ outputSchema: {
332
+ type: IOSchemaType;
333
+ fields: {
334
+ name: string;
335
+ type: import("../types/field-type").FieldType;
336
+ optional?: boolean | undefined;
337
+ description?: string | undefined;
338
+ defaultValue?: any;
339
+ isArray?: boolean | undefined;
340
+ subType?: string | undefined;
341
+ }[];
342
+ };
343
+ detailedDescription?: string | undefined;
344
+ configSchema?: {
345
+ type: IOSchemaType;
346
+ fields: {
347
+ name: string;
348
+ type: import("../types/field-type").FieldType;
349
+ optional?: boolean | undefined;
350
+ description?: string | undefined;
351
+ defaultValue?: any;
352
+ isArray?: boolean | undefined;
353
+ subType?: string | undefined;
354
+ }[];
355
+ } | undefined;
356
+ codeRepository?: string | undefined;
357
+ isAssistantRunner?: boolean | undefined;
358
+ }>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toolSchema = exports.ioSchema = exports.IOSchemaType = void 0;
4
+ exports.Tools = Tools;
5
+ const zod_1 = require("zod");
6
+ const field_type_1 = require("../types/field-type");
7
+ const types_1 = require("./orm/types");
8
+ const user_context_singleton_1 = require("../context/user-context-singleton");
9
+ const table_definitions_system_1 = require("./orm/table-definitions.system");
10
+ var IOSchemaType;
11
+ (function (IOSchemaType) {
12
+ IOSchemaType["none"] = "none";
13
+ IOSchemaType["simple"] = "simple";
14
+ IOSchemaType["complex"] = "complex";
15
+ IOSchemaType["code"] = "code";
16
+ })(IOSchemaType || (exports.IOSchemaType = IOSchemaType = {}));
17
+ exports.ioSchema = zod_1.z.object({
18
+ type: zod_1.z.nativeEnum(IOSchemaType),
19
+ fields: field_type_1.fieldSchema.array().default([]),
20
+ });
21
+ exports.toolSchema = zod_1.z.object({
22
+ toolId: zod_1.z.string(),
23
+ name: zod_1.z.string().describe('The name of the tool'),
24
+ usageDescription: zod_1.z.string().describe('A description of the what the tool does and how to use it. This is used by the AI to reason about the tool at runtime and in the middle of performing tasks.'),
25
+ detailedDescription: zod_1.z.string().optional().describe('A full description of the tool which may include examples, references, screenshots, etc. This is intended for humans and AI to decide if this is a tool they want to include in their toolbox while preparing to work on tasks.'),
26
+ inputSchema: exports.ioSchema.describe('The input schema of the tool'),
27
+ outputSchema: exports.ioSchema.describe('The output schema of the tool'),
28
+ configSchema: exports.ioSchema.optional().describe('The schema of any configuration values that the tool may need'),
29
+ code: zod_1.z.string().default('').describe('The code that implements the tool'),
30
+ codeRepository: zod_1.z.string().optional().describe('The repository where the code for the tool is stored'),
31
+ // TODO versioning somehow, maybe a git tag or branch
32
+ isAssistantRunner: zod_1.z.boolean().optional().describe('Whether this tool is a model that can be used to run an assistant'),
33
+ });
34
+ const metaData = {
35
+ name: 'Tools',
36
+ description: 'Tools that can be used by assistants.',
37
+ primaryKeyName: 'toolId',
38
+ fields: (0, types_1.schemaToFields)(exports.toolSchema),
39
+ iconClassName: 'bi bi-tools',
40
+ indexes: [
41
+ { fields: ['name'], },
42
+ { fields: ['isAssistantRunner'], },
43
+ ],
44
+ };
45
+ (0, table_definitions_system_1.registerSystemTableDefinition)(metaData, exports.toolSchema);
46
+ function Tools(dataContext) {
47
+ return (0, user_context_singleton_1.getTableContainer)(dataContext).getTable(metaData, exports.toolSchema);
48
+ }
@@ -0,0 +1,15 @@
1
+ import type { IUser } from './users';
2
+ /**
3
+ * Signs a user object with the provided secret key
4
+ * @param user The user object to sign
5
+ * @param secretKey The secret key to sign with
6
+ * @returns IUser The signed user object
7
+ */
8
+ export declare function signUserObject(user: IUser, secretKey: string): IUser;
9
+ /**
10
+ * Verifies that a user update signature is valid, throws on invalid signature
11
+ * @param user The user record to verify
12
+ * @param oldUser The existing user record (if any)
13
+ * @throws Error if signature is invalid or unauthorized
14
+ */
15
+ export declare function verifyUserSignature(user: IUser, oldUser?: IUser): void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signUserObject = signUserObject;
4
+ exports.verifyUserSignature = verifyUserSignature;
5
+ const keys_1 = require("../keys");
6
+ /**
7
+ * Signs a user object with the provided secret key
8
+ * @param user The user object to sign
9
+ * @param secretKey The secret key to sign with
10
+ * @returns IUser The signed user object
11
+ */
12
+ function signUserObject(user, secretKey) {
13
+ return (0, keys_1.addSignatureToObject)(user, secretKey);
14
+ }
15
+ /**
16
+ * Verifies that a user update signature is valid, throws on invalid signature
17
+ * @param user The user record to verify
18
+ * @param oldUser The existing user record (if any)
19
+ * @throws Error if signature is invalid or unauthorized
20
+ */
21
+ function verifyUserSignature(user, oldUser) {
22
+ (0, keys_1.verifyObjectSignature)(user);
23
+ const signerPublicKey = (0, keys_1.getPublicKeyFromObjectSignature)(user) ?? '';
24
+ // New user: signature must match their own public key
25
+ if (!oldUser) {
26
+ if (signerPublicKey !== user.publicKey) {
27
+ throw new Error('User signature must be signed with their own public key');
28
+ }
29
+ return;
30
+ }
31
+ // Existing user: signature must match existing public key
32
+ if (signerPublicKey !== oldUser.publicKey) {
33
+ throw new Error('User update must be signed by the user themselves');
34
+ }
35
+ // Prevent public key changes (for now)
36
+ if (user.publicKey !== oldUser.publicKey) {
37
+ throw new Error('Public key changes are not currently supported');
38
+ }
39
+ }
@@ -0,0 +1 @@
1
+ export {};