@getfrontline/cli 1.0.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 (270) hide show
  1. package/README.md +319 -0
  2. package/dist/assets/logo3.png +0 -0
  3. package/dist/commands/agents/analytics.d.ts +3 -0
  4. package/dist/commands/agents/analytics.d.ts.map +1 -0
  5. package/dist/commands/agents/analytics.js +67 -0
  6. package/dist/commands/agents/analytics.js.map +1 -0
  7. package/dist/commands/agents/flows.d.ts +3 -0
  8. package/dist/commands/agents/flows.d.ts.map +1 -0
  9. package/dist/commands/agents/flows.js +47 -0
  10. package/dist/commands/agents/flows.js.map +1 -0
  11. package/dist/commands/agents/list.d.ts +3 -0
  12. package/dist/commands/agents/list.d.ts.map +1 -0
  13. package/dist/commands/agents/list.js +46 -0
  14. package/dist/commands/agents/list.js.map +1 -0
  15. package/dist/commands/api/raw.d.ts +3 -0
  16. package/dist/commands/api/raw.d.ts.map +1 -0
  17. package/dist/commands/api/raw.js +54 -0
  18. package/dist/commands/api/raw.js.map +1 -0
  19. package/dist/commands/auth/login.d.ts +3 -0
  20. package/dist/commands/auth/login.d.ts.map +1 -0
  21. package/dist/commands/auth/login.js +39 -0
  22. package/dist/commands/auth/login.js.map +1 -0
  23. package/dist/commands/auth/logout.d.ts +3 -0
  24. package/dist/commands/auth/logout.d.ts.map +1 -0
  25. package/dist/commands/auth/logout.js +16 -0
  26. package/dist/commands/auth/logout.js.map +1 -0
  27. package/dist/commands/auth/profiles.d.ts +3 -0
  28. package/dist/commands/auth/profiles.d.ts.map +1 -0
  29. package/dist/commands/auth/profiles.js +72 -0
  30. package/dist/commands/auth/profiles.js.map +1 -0
  31. package/dist/commands/auth/whoami.d.ts +3 -0
  32. package/dist/commands/auth/whoami.d.ts.map +1 -0
  33. package/dist/commands/auth/whoami.js +46 -0
  34. package/dist/commands/auth/whoami.js.map +1 -0
  35. package/dist/commands/billing/get.d.ts +3 -0
  36. package/dist/commands/billing/get.d.ts.map +1 -0
  37. package/dist/commands/billing/get.js +42 -0
  38. package/dist/commands/billing/get.js.map +1 -0
  39. package/dist/commands/object/aggregation.d.ts +3 -0
  40. package/dist/commands/object/aggregation.d.ts.map +1 -0
  41. package/dist/commands/object/aggregation.js +78 -0
  42. package/dist/commands/object/aggregation.js.map +1 -0
  43. package/dist/commands/object/export.d.ts +3 -0
  44. package/dist/commands/object/export.d.ts.map +1 -0
  45. package/dist/commands/object/export.js +98 -0
  46. package/dist/commands/object/export.js.map +1 -0
  47. package/dist/commands/object/field.d.ts +3 -0
  48. package/dist/commands/object/field.d.ts.map +1 -0
  49. package/dist/commands/object/field.js +76 -0
  50. package/dist/commands/object/field.js.map +1 -0
  51. package/dist/commands/object/file.d.ts +3 -0
  52. package/dist/commands/object/file.d.ts.map +1 -0
  53. package/dist/commands/object/file.js +105 -0
  54. package/dist/commands/object/file.js.map +1 -0
  55. package/dist/commands/object/index.d.ts +3 -0
  56. package/dist/commands/object/index.d.ts.map +1 -0
  57. package/dist/commands/object/index.js +136 -0
  58. package/dist/commands/object/index.js.map +1 -0
  59. package/dist/commands/object/note.d.ts +3 -0
  60. package/dist/commands/object/note.d.ts.map +1 -0
  61. package/dist/commands/object/note.js +62 -0
  62. package/dist/commands/object/note.js.map +1 -0
  63. package/dist/commands/object/option.d.ts +3 -0
  64. package/dist/commands/object/option.d.ts.map +1 -0
  65. package/dist/commands/object/option.js +78 -0
  66. package/dist/commands/object/option.js.map +1 -0
  67. package/dist/commands/object/record-type.d.ts +3 -0
  68. package/dist/commands/object/record-type.d.ts.map +1 -0
  69. package/dist/commands/object/record-type.js +73 -0
  70. package/dist/commands/object/record-type.js.map +1 -0
  71. package/dist/commands/object/record.d.ts +3 -0
  72. package/dist/commands/object/record.d.ts.map +1 -0
  73. package/dist/commands/object/record.js +128 -0
  74. package/dist/commands/object/record.js.map +1 -0
  75. package/dist/commands/object/relation.d.ts +3 -0
  76. package/dist/commands/object/relation.d.ts.map +1 -0
  77. package/dist/commands/object/relation.js +73 -0
  78. package/dist/commands/object/relation.js.map +1 -0
  79. package/dist/commands/object/task.d.ts +3 -0
  80. package/dist/commands/object/task.d.ts.map +1 -0
  81. package/dist/commands/object/task.js +88 -0
  82. package/dist/commands/object/task.js.map +1 -0
  83. package/dist/commands/object/view.d.ts +3 -0
  84. package/dist/commands/object/view.d.ts.map +1 -0
  85. package/dist/commands/object/view.js +118 -0
  86. package/dist/commands/object/view.js.map +1 -0
  87. package/dist/commands/setup/claudeSkills.d.ts +3 -0
  88. package/dist/commands/setup/claudeSkills.d.ts.map +1 -0
  89. package/dist/commands/setup/claudeSkills.js +84 -0
  90. package/dist/commands/setup/claudeSkills.js.map +1 -0
  91. package/dist/commands/table/aggregation.d.ts +3 -0
  92. package/dist/commands/table/aggregation.d.ts.map +1 -0
  93. package/dist/commands/table/aggregation.js +78 -0
  94. package/dist/commands/table/aggregation.js.map +1 -0
  95. package/dist/commands/table/export.d.ts +3 -0
  96. package/dist/commands/table/export.d.ts.map +1 -0
  97. package/dist/commands/table/export.js +97 -0
  98. package/dist/commands/table/export.js.map +1 -0
  99. package/dist/commands/table/field.d.ts +3 -0
  100. package/dist/commands/table/field.d.ts.map +1 -0
  101. package/dist/commands/table/field.js +76 -0
  102. package/dist/commands/table/field.js.map +1 -0
  103. package/dist/commands/table/file.d.ts +3 -0
  104. package/dist/commands/table/file.d.ts.map +1 -0
  105. package/dist/commands/table/file.js +106 -0
  106. package/dist/commands/table/file.js.map +1 -0
  107. package/dist/commands/table/index.d.ts +3 -0
  108. package/dist/commands/table/index.d.ts.map +1 -0
  109. package/dist/commands/table/index.js +142 -0
  110. package/dist/commands/table/index.js.map +1 -0
  111. package/dist/commands/table/note.d.ts +3 -0
  112. package/dist/commands/table/note.d.ts.map +1 -0
  113. package/dist/commands/table/note.js +62 -0
  114. package/dist/commands/table/note.js.map +1 -0
  115. package/dist/commands/table/option.d.ts +3 -0
  116. package/dist/commands/table/option.d.ts.map +1 -0
  117. package/dist/commands/table/option.js +78 -0
  118. package/dist/commands/table/option.js.map +1 -0
  119. package/dist/commands/table/relation.d.ts +3 -0
  120. package/dist/commands/table/relation.d.ts.map +1 -0
  121. package/dist/commands/table/relation.js +74 -0
  122. package/dist/commands/table/relation.js.map +1 -0
  123. package/dist/commands/table/row.d.ts +3 -0
  124. package/dist/commands/table/row.d.ts.map +1 -0
  125. package/dist/commands/table/row.js +124 -0
  126. package/dist/commands/table/row.js.map +1 -0
  127. package/dist/commands/table/task.d.ts +3 -0
  128. package/dist/commands/table/task.d.ts.map +1 -0
  129. package/dist/commands/table/task.js +88 -0
  130. package/dist/commands/table/task.js.map +1 -0
  131. package/dist/commands/workflows/analytics.d.ts +3 -0
  132. package/dist/commands/workflows/analytics.d.ts.map +1 -0
  133. package/dist/commands/workflows/analytics.js +60 -0
  134. package/dist/commands/workflows/analytics.js.map +1 -0
  135. package/dist/commands/workflows/list.d.ts +3 -0
  136. package/dist/commands/workflows/list.d.ts.map +1 -0
  137. package/dist/commands/workflows/list.js +47 -0
  138. package/dist/commands/workflows/list.js.map +1 -0
  139. package/dist/index.d.ts +3 -0
  140. package/dist/index.d.ts.map +1 -0
  141. package/dist/index.js +73 -0
  142. package/dist/index.js.map +1 -0
  143. package/dist/lib/auth.d.ts +13 -0
  144. package/dist/lib/auth.d.ts.map +1 -0
  145. package/dist/lib/auth.js +40 -0
  146. package/dist/lib/auth.js.map +1 -0
  147. package/dist/lib/config.d.ts +28 -0
  148. package/dist/lib/config.d.ts.map +1 -0
  149. package/dist/lib/config.js +77 -0
  150. package/dist/lib/config.js.map +1 -0
  151. package/dist/lib/errors.d.ts +13 -0
  152. package/dist/lib/errors.d.ts.map +1 -0
  153. package/dist/lib/errors.js +31 -0
  154. package/dist/lib/errors.js.map +1 -0
  155. package/dist/lib/globalOpts.d.ts +23 -0
  156. package/dist/lib/globalOpts.d.ts.map +1 -0
  157. package/dist/lib/globalOpts.js +40 -0
  158. package/dist/lib/globalOpts.js.map +1 -0
  159. package/dist/lib/helpEpilog.d.ts +18 -0
  160. package/dist/lib/helpEpilog.d.ts.map +1 -0
  161. package/dist/lib/helpEpilog.js +56 -0
  162. package/dist/lib/helpEpilog.js.map +1 -0
  163. package/dist/lib/httpClient.d.ts +50 -0
  164. package/dist/lib/httpClient.d.ts.map +1 -0
  165. package/dist/lib/httpClient.js +196 -0
  166. package/dist/lib/httpClient.js.map +1 -0
  167. package/dist/lib/output.d.ts +38 -0
  168. package/dist/lib/output.d.ts.map +1 -0
  169. package/dist/lib/output.js +131 -0
  170. package/dist/lib/output.js.map +1 -0
  171. package/dist/max/browserLogin.d.ts +15 -0
  172. package/dist/max/browserLogin.d.ts.map +1 -0
  173. package/dist/max/browserLogin.js +164 -0
  174. package/dist/max/browserLogin.js.map +1 -0
  175. package/dist/max/commands/auth/login.d.ts +3 -0
  176. package/dist/max/commands/auth/login.d.ts.map +1 -0
  177. package/dist/max/commands/auth/login.js +58 -0
  178. package/dist/max/commands/auth/login.js.map +1 -0
  179. package/dist/max/commands/auth/logout.d.ts +3 -0
  180. package/dist/max/commands/auth/logout.d.ts.map +1 -0
  181. package/dist/max/commands/auth/logout.js +23 -0
  182. package/dist/max/commands/auth/logout.js.map +1 -0
  183. package/dist/max/commands/auth/whoami.d.ts +3 -0
  184. package/dist/max/commands/auth/whoami.d.ts.map +1 -0
  185. package/dist/max/commands/auth/whoami.js +46 -0
  186. package/dist/max/commands/auth/whoami.js.map +1 -0
  187. package/dist/max/commands/chat/repl.d.ts +3 -0
  188. package/dist/max/commands/chat/repl.d.ts.map +1 -0
  189. package/dist/max/commands/chat/repl.js +104 -0
  190. package/dist/max/commands/chat/repl.js.map +1 -0
  191. package/dist/max/commands/chat/send.d.ts +25 -0
  192. package/dist/max/commands/chat/send.d.ts.map +1 -0
  193. package/dist/max/commands/chat/send.js +163 -0
  194. package/dist/max/commands/chat/send.js.map +1 -0
  195. package/dist/max/commands/conversations/abort.d.ts +3 -0
  196. package/dist/max/commands/conversations/abort.d.ts.map +1 -0
  197. package/dist/max/commands/conversations/abort.js +55 -0
  198. package/dist/max/commands/conversations/abort.js.map +1 -0
  199. package/dist/max/commands/conversations/get.d.ts +3 -0
  200. package/dist/max/commands/conversations/get.d.ts.map +1 -0
  201. package/dist/max/commands/conversations/get.js +42 -0
  202. package/dist/max/commands/conversations/get.js.map +1 -0
  203. package/dist/max/commands/conversations/index.d.ts +3 -0
  204. package/dist/max/commands/conversations/index.d.ts.map +1 -0
  205. package/dist/max/commands/conversations/index.js +16 -0
  206. package/dist/max/commands/conversations/index.js.map +1 -0
  207. package/dist/max/commands/conversations/list.d.ts +3 -0
  208. package/dist/max/commands/conversations/list.d.ts.map +1 -0
  209. package/dist/max/commands/conversations/list.js +35 -0
  210. package/dist/max/commands/conversations/list.js.map +1 -0
  211. package/dist/max/commands/conversations/update.d.ts +3 -0
  212. package/dist/max/commands/conversations/update.d.ts.map +1 -0
  213. package/dist/max/commands/conversations/update.js +53 -0
  214. package/dist/max/commands/conversations/update.js.map +1 -0
  215. package/dist/max/jwtDecode.d.ts +5 -0
  216. package/dist/max/jwtDecode.d.ts.map +1 -0
  217. package/dist/max/jwtDecode.js +19 -0
  218. package/dist/max/jwtDecode.js.map +1 -0
  219. package/dist/max/lib/auth.d.ts +20 -0
  220. package/dist/max/lib/auth.d.ts.map +1 -0
  221. package/dist/max/lib/auth.js +53 -0
  222. package/dist/max/lib/auth.js.map +1 -0
  223. package/dist/max/lib/httpClient.d.ts +25 -0
  224. package/dist/max/lib/httpClient.d.ts.map +1 -0
  225. package/dist/max/lib/httpClient.js +138 -0
  226. package/dist/max/lib/httpClient.js.map +1 -0
  227. package/dist/max/lib/maxResponse.d.ts +30 -0
  228. package/dist/max/lib/maxResponse.d.ts.map +1 -0
  229. package/dist/max/lib/maxResponse.js +132 -0
  230. package/dist/max/lib/maxResponse.js.map +1 -0
  231. package/dist/max/lib/publicApiPaths.d.ts +12 -0
  232. package/dist/max/lib/publicApiPaths.d.ts.map +1 -0
  233. package/dist/max/lib/publicApiPaths.js +15 -0
  234. package/dist/max/lib/publicApiPaths.js.map +1 -0
  235. package/dist/max/maxConfig.d.ts +31 -0
  236. package/dist/max/maxConfig.d.ts.map +1 -0
  237. package/dist/max/maxConfig.js +50 -0
  238. package/dist/max/maxConfig.js.map +1 -0
  239. package/dist/max/ui/banner.d.ts +3 -0
  240. package/dist/max/ui/banner.d.ts.map +1 -0
  241. package/dist/max/ui/banner.js +96 -0
  242. package/dist/max/ui/banner.js.map +1 -0
  243. package/dist/max.d.ts +3 -0
  244. package/dist/max.d.ts.map +1 -0
  245. package/dist/max.js +94 -0
  246. package/dist/max.js.map +1 -0
  247. package/dist/scripts/postinstall.d.ts +8 -0
  248. package/dist/scripts/postinstall.d.ts.map +1 -0
  249. package/dist/scripts/postinstall.js +149 -0
  250. package/dist/scripts/postinstall.js.map +1 -0
  251. package/dist/skills/aggregations/SKILL.md +122 -0
  252. package/dist/skills/auth-and-profiles/SKILL.md +102 -0
  253. package/dist/skills/crm-setup/SKILL.md +385 -0
  254. package/dist/skills/crud-operations/SKILL.md +287 -0
  255. package/dist/skills/export-and-delete/SKILL.md +96 -0
  256. package/dist/skills/files/SKILL.md +70 -0
  257. package/dist/skills/filter-and-query/SKILL.md +199 -0
  258. package/dist/skills/frontline-agents/SKILL.md +99 -0
  259. package/dist/skills/frontline-api/SKILL.md +59 -0
  260. package/dist/skills/frontline-billing/SKILL.md +42 -0
  261. package/dist/skills/frontline-workflows/SKILL.md +72 -0
  262. package/dist/skills/max-auth/SKILL.md +76 -0
  263. package/dist/skills/max-chat/SKILL.md +111 -0
  264. package/dist/skills/notes-and-tasks/SKILL.md +128 -0
  265. package/dist/skills/pipeline-setup/SKILL.md +233 -0
  266. package/dist/skills/record-type-management/SKILL.md +104 -0
  267. package/dist/skills/relations/SKILL.md +153 -0
  268. package/dist/skills/resource-creation/SKILL.md +86 -0
  269. package/dist/skills/schema-design/SKILL.md +263 -0
  270. package/package.json +47 -0
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.objectFileCommand = void 0;
37
+ const commander_1 = require("commander");
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const globalOpts_1 = require("../../lib/globalOpts");
41
+ const output_1 = require("../../lib/output");
42
+ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
43
+ .description("List files for a row")
44
+ .argument("<object>", "Object name (slug)")
45
+ .argument("<row-id>", "Row ID (MongoDB ObjectId)")).action(async (objectName, rowId, opts) => {
46
+ const client = (0, globalOpts_1.requireClient)(opts);
47
+ const result = await client.get(`objects/${encodeURIComponent(objectName)}/rows/${encodeURIComponent(rowId)}/files`);
48
+ (0, output_1.success)(result);
49
+ });
50
+ const getCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("get")
51
+ .description("Get file metadata by ID")
52
+ .argument("<object>", "Object name (slug)")
53
+ .argument("<file-id>", "File ID (number)")).action(async (objectName, fileId, opts) => {
54
+ const client = (0, globalOpts_1.requireClient)(opts);
55
+ const result = await client.get(`objects/${encodeURIComponent(objectName)}/files/${fileId}`);
56
+ (0, output_1.success)(result);
57
+ });
58
+ const downloadCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("download")
59
+ .description("Download a file by ID")
60
+ .argument("<object>", "Object name (slug)")
61
+ .argument("<file-id>", "File ID (number)")
62
+ .option("--output <path>", "Output file path")).action(async (objectName, fileId, opts) => {
63
+ const client = (0, globalOpts_1.requireClient)(opts);
64
+ const response = await client.getRaw(`objects/${encodeURIComponent(objectName)}/files/${fileId}/download`);
65
+ const contentDisposition = response.headers.get("content-disposition") || "";
66
+ const filenameMatch = contentDisposition.match(/filename="?(.+?)"?$/);
67
+ const defaultName = filenameMatch ? filenameMatch[1] : `file_${fileId}`;
68
+ const outputPath = opts.output || `./${defaultName}`;
69
+ const buffer = Buffer.from(await response.arrayBuffer());
70
+ fs.writeFileSync(outputPath, buffer);
71
+ (0, output_1.success)({ downloaded: true, file: outputPath, size_bytes: buffer.length });
72
+ });
73
+ const uploadCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("upload")
74
+ .description("Upload a file for an object row")
75
+ .argument("<object>", "Object name (slug)")
76
+ .argument("<row-id>", "Row ID (ObjectId)")
77
+ .argument("<file-path>", "Path to local file")).action(async (objectName, rowId, filePath, opts) => {
78
+ const client = (0, globalOpts_1.requireClient)(opts);
79
+ if (!fs.existsSync(filePath)) {
80
+ (0, output_1.error)("file_not_found", `File not found: ${filePath}`, output_1.EXIT_CODES.BAD_INPUT);
81
+ }
82
+ const formData = new FormData();
83
+ const fileContent = fs.readFileSync(filePath);
84
+ const fileName = path.basename(filePath);
85
+ const blob = new Blob([fileContent]);
86
+ formData.append("files", blob, fileName);
87
+ const result = await client.postMultipart(`objects/${encodeURIComponent(objectName)}/rows/${encodeURIComponent(rowId)}/files`, formData);
88
+ (0, output_1.success)(result);
89
+ });
90
+ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
91
+ .description("Delete a file")
92
+ .argument("<object>", "Object name (slug)")
93
+ .argument("<file-id>", "File ID (number)")).action(async (objectName, fileId, opts) => {
94
+ const client = (0, globalOpts_1.requireClient)(opts);
95
+ const result = await client.delete(`objects/${encodeURIComponent(objectName)}/files/${fileId}`);
96
+ (0, output_1.success)(result);
97
+ });
98
+ exports.objectFileCommand = new commander_1.Command("file")
99
+ .description("Manage files attached to object rows")
100
+ .addCommand(listCmd)
101
+ .addCommand(getCmd)
102
+ .addCommand(downloadCmd)
103
+ .addCommand(uploadCmd)
104
+ .addCommand(deleteCmd);
105
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/commands/object/file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const objectCommand: Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/object/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6JpC,eAAO,MAAM,aAAa,SAmBe,CAAC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const globalOpts_1 = require("../../lib/globalOpts");
6
+ const output_1 = require("../../lib/output");
7
+ const field_1 = require("./field");
8
+ const option_1 = require("./option");
9
+ const record_type_1 = require("./record-type");
10
+ const view_1 = require("./view");
11
+ const relation_1 = require("./relation");
12
+ const record_1 = require("./record");
13
+ const export_1 = require("./export");
14
+ const note_1 = require("./note");
15
+ const task_1 = require("./task");
16
+ const file_1 = require("./file");
17
+ const aggregation_1 = require("./aggregation");
18
+ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list").description("List all objects").addHelpText("after", `
19
+ Examples:
20
+ $ frontline object list
21
+
22
+ Output: Array of objects with id, name, display_name, type, is_extensible.`)).action(async (opts) => {
23
+ const client = (0, globalOpts_1.requireClient)(opts);
24
+ const result = await client.get("objects");
25
+ (0, output_1.success)(result);
26
+ });
27
+ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
28
+ .description("Create a new object")
29
+ .option("--data <json>", "Object definition (JSON)")
30
+ .addHelpText("after", `
31
+ Examples:
32
+ $ frontline object create --data '{"name":"custom_obj","displayName":"Custom Object","emoji":"📦","fields":[...]}'
33
+
34
+ Output: Created object with id, name, display_name.`)).action(async (opts) => {
35
+ const client = (0, globalOpts_1.requireClient)(opts);
36
+ if (!opts.data) {
37
+ (0, output_1.error)("missing_data", "--data is required", output_1.EXIT_CODES.BAD_INPUT);
38
+ }
39
+ const body = JSON.parse(opts.data);
40
+ const result = await client.post("objects", body);
41
+ (0, output_1.success)(result);
42
+ });
43
+ const getCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("get")
44
+ .description("Get detailed info about an object (fields, views, record types)")
45
+ .argument("<name>", "Object name (slug, e.g. sor__people)")
46
+ .addHelpText("after", `
47
+ Examples:
48
+ $ frontline object get sor__people
49
+
50
+ Output: Object with id, name, display_name, fields, views, record_types.`)).action(async (name, opts) => {
51
+ const client = (0, globalOpts_1.requireClient)(opts);
52
+ const result = await client.get(`objects/${encodeURIComponent(name)}`);
53
+ (0, output_1.success)(result);
54
+ });
55
+ const schemaCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("schema")
56
+ .description("Get the schema definition for an object")
57
+ .argument("<name>", "Object name (slug)")
58
+ .addHelpText("after", `
59
+ Examples:
60
+ $ frontline object schema sor__people
61
+
62
+ Output: Schema with name, type, extensible, fields, relations, record_types.`)).action(async (name, opts) => {
63
+ const client = (0, globalOpts_1.requireClient)(opts);
64
+ const result = await client.get(`objects/${encodeURIComponent(name)}/schema`);
65
+ (0, output_1.success)(result);
66
+ });
67
+ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
68
+ .description("Update an object (displayName, emoji, iconColor, description)")
69
+ .argument("<name>", "Object name (slug)")
70
+ .option("--data <json>", "Update payload (JSON)")
71
+ .addHelpText("after", `
72
+ Examples:
73
+ $ frontline object update sor__deals --data '{"displayName":"Deals v2","emoji":"💰"}'
74
+
75
+ Output: Updated object.`)).action(async (name, opts) => {
76
+ const client = (0, globalOpts_1.requireClient)(opts);
77
+ if (!opts.data) {
78
+ (0, output_1.error)("missing_data", "--data is required", output_1.EXIT_CODES.BAD_INPUT);
79
+ }
80
+ const body = JSON.parse(opts.data);
81
+ const result = await client.patch(`objects/${encodeURIComponent(name)}`, body);
82
+ (0, output_1.success)(result);
83
+ });
84
+ const countCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("count")
85
+ .description("Count rows in an object, with optional query filter")
86
+ .argument("<name>", "Object name (slug)")
87
+ .option("--query <json>", "Filter query (JSON)")
88
+ .option("--record-type <type>", "Record type filter")
89
+ .addHelpText("after", `
90
+ Examples:
91
+ $ frontline object count sor__deals
92
+ $ frontline object count sor__deals --query '{"path":"[Amount]","operator":"gte","value":10000}'
93
+
94
+ Output: { count: 42 }`)).action(async (name, opts) => {
95
+ const client = (0, globalOpts_1.requireClient)(opts);
96
+ const body = {};
97
+ if (opts.query)
98
+ body.query = JSON.parse(opts.query);
99
+ if (opts.recordType)
100
+ body.recordType = opts.recordType;
101
+ const result = await client.post(`objects/${encodeURIComponent(name)}/rows/count`, body);
102
+ (0, output_1.success)(result);
103
+ });
104
+ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
105
+ .description("Delete an entire object (DESTRUCTIVE)")
106
+ .argument("<name>", "Object name (slug)")
107
+ .addHelpText("after", `
108
+ Examples:
109
+ $ frontline object delete sor__custom_object
110
+
111
+ Output: { deleted: true, name: "sor__custom_object" }`)).action(async (name, opts) => {
112
+ const client = (0, globalOpts_1.requireClient)(opts);
113
+ const result = await client.delete(`objects/${encodeURIComponent(name)}`);
114
+ (0, output_1.success)(result);
115
+ });
116
+ exports.objectCommand = new commander_1.Command("object")
117
+ .description("Manage system objects")
118
+ .addCommand(listCmd)
119
+ .addCommand(createCmd)
120
+ .addCommand(getCmd)
121
+ .addCommand(schemaCmd)
122
+ .addCommand(updateCmd)
123
+ .addCommand(countCmd)
124
+ .addCommand(deleteCmd)
125
+ .addCommand(field_1.objectFieldCommand)
126
+ .addCommand(option_1.objectOptionCommand)
127
+ .addCommand(record_type_1.objectRecordTypeCommand)
128
+ .addCommand(view_1.objectViewCommand)
129
+ .addCommand(relation_1.objectRelationCommand)
130
+ .addCommand(record_1.objectRecordCommand)
131
+ .addCommand(export_1.objectExportCommand)
132
+ .addCommand(note_1.objectNoteCommand)
133
+ .addCommand(task_1.objectTaskCommand)
134
+ .addCommand(file_1.objectFileCommand)
135
+ .addCommand(aggregation_1.objectAggregationCommand);
136
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/object/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const objectNoteCommand: Command;
3
+ //# sourceMappingURL=note.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../../src/commands/object/note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+EpC,eAAO,MAAM,iBAAiB,SAMJ,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectNoteCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const globalOpts_1 = require("../../lib/globalOpts");
6
+ const output_1 = require("../../lib/output");
7
+ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
8
+ .description("List notes for a row")
9
+ .argument("<object>", "Object name (slug)")
10
+ .argument("<row-id>", "Row ID (MongoDB ObjectId)")).action(async (objectName, rowId, opts) => {
11
+ const client = (0, globalOpts_1.requireClient)(opts);
12
+ const result = await client.get(`objects/${encodeURIComponent(objectName)}/rows/${encodeURIComponent(rowId)}/notes`);
13
+ (0, output_1.success)(result);
14
+ });
15
+ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
16
+ .description("Create a note on a row")
17
+ .argument("<object>", "Object name (slug)")
18
+ .argument("<row-id>", "Row ID (MongoDB ObjectId)")
19
+ .option("--content <text>", "Note content (required)")).action(async (objectName, rowId, opts) => {
20
+ const client = (0, globalOpts_1.requireClient)(opts);
21
+ if (!opts.content) {
22
+ (0, output_1.error)("missing_content", "--content is required", output_1.EXIT_CODES.BAD_INPUT);
23
+ }
24
+ const result = await client.post(`objects/${encodeURIComponent(objectName)}/rows/${encodeURIComponent(rowId)}/notes`, { content: opts.content });
25
+ (0, output_1.success)(result);
26
+ });
27
+ const getCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("get")
28
+ .description("Get a specific note by ID")
29
+ .argument("<object>", "Object name (slug)")
30
+ .argument("<note-id>", "Note ID (number)")).action(async (objectName, noteId, opts) => {
31
+ const client = (0, globalOpts_1.requireClient)(opts);
32
+ const result = await client.get(`objects/${encodeURIComponent(objectName)}/notes/${noteId}`);
33
+ (0, output_1.success)(result);
34
+ });
35
+ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
36
+ .description("Update a note")
37
+ .argument("<object>", "Object name (slug)")
38
+ .argument("<note-id>", "Note ID (number)")
39
+ .option("--content <text>", "New content")).action(async (objectName, noteId, opts) => {
40
+ const client = (0, globalOpts_1.requireClient)(opts);
41
+ if (!opts.content) {
42
+ (0, output_1.error)("missing_content", "--content is required", output_1.EXIT_CODES.BAD_INPUT);
43
+ }
44
+ const result = await client.patch(`objects/${encodeURIComponent(objectName)}/notes/${noteId}`, { content: opts.content });
45
+ (0, output_1.success)(result);
46
+ });
47
+ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
48
+ .description("Delete a note")
49
+ .argument("<object>", "Object name (slug)")
50
+ .argument("<note-id>", "Note ID (number)")).action(async (objectName, noteId, opts) => {
51
+ const client = (0, globalOpts_1.requireClient)(opts);
52
+ const result = await client.delete(`objects/${encodeURIComponent(objectName)}/notes/${noteId}`);
53
+ (0, output_1.success)(result);
54
+ });
55
+ exports.objectNoteCommand = new commander_1.Command("note")
56
+ .description("Manage notes on object rows")
57
+ .addCommand(listCmd)
58
+ .addCommand(createCmd)
59
+ .addCommand(getCmd)
60
+ .addCommand(updateCmd)
61
+ .addCommand(deleteCmd);
62
+ //# sourceMappingURL=note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.js","sourceRoot":"","sources":["../../../src/commands/object/note.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const objectOptionCommand: Command;
3
+ //# sourceMappingURL=option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/commands/object/option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuGpC,eAAO,MAAM,mBAAmB,SAKN,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectOptionCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const globalOpts_1 = require("../../lib/globalOpts");
6
+ const output_1 = require("../../lib/output");
7
+ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
8
+ .description("List options for a select field")
9
+ .argument("<object>", "Object name (slug)")
10
+ .argument("<field-id>", "Field ID (number)")
11
+ .addHelpText("after", `
12
+ Examples:
13
+ $ frontline object option list sor__deals 48
14
+
15
+ Output: Array of options with id, name, color, order.`)).action(async (objectName, fieldId, opts) => {
16
+ const client = (0, globalOpts_1.requireClient)(opts);
17
+ const result = await client.get(`objects/${encodeURIComponent(objectName)}/fields/${fieldId}/tags`);
18
+ (0, output_1.success)(result);
19
+ });
20
+ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
21
+ .description("Create a new option on a select field")
22
+ .argument("<object>", "Object name (slug)")
23
+ .argument("<field-id>", "Field ID (number)")
24
+ .option("--data <json>", "Option definition (JSON)")
25
+ .addHelpText("after", `
26
+ Examples:
27
+ $ frontline object option create sor__deals 48 --data '{"name":"Negotiation","color":"Amber"}'
28
+
29
+ Colors: Terracotta, Amber, Lime, Emerald, Lavender, Sky, Magenta, Bright Red,
30
+ Teal, Gray, Brown, Orange, Yellow, Green, Blue, Purple, Pink, Red
31
+
32
+ Output: Created option object.`)).action(async (objectName, fieldId, opts) => {
33
+ const client = (0, globalOpts_1.requireClient)(opts);
34
+ if (!opts.data) {
35
+ (0, output_1.error)("missing_data", "--data is required", output_1.EXIT_CODES.BAD_INPUT);
36
+ }
37
+ const body = JSON.parse(opts.data);
38
+ const result = await client.post(`objects/${encodeURIComponent(objectName)}/fields/${fieldId}/options`, body);
39
+ (0, output_1.success)(result);
40
+ });
41
+ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
42
+ .description("Update an option")
43
+ .argument("<object>", "Object name (slug)")
44
+ .argument("<option-id>", "Option ID (number)")
45
+ .option("--data <json>", "Updated option data (JSON)")
46
+ .addHelpText("after", `
47
+ Examples:
48
+ $ frontline object option update sor__deals 23 --data '{"name":"Warm Lead","color":"Amber"}'
49
+
50
+ Output: Updated option object.`)).action(async (objectName, optionId, opts) => {
51
+ const client = (0, globalOpts_1.requireClient)(opts);
52
+ if (!opts.data) {
53
+ (0, output_1.error)("missing_data", "--data is required", output_1.EXIT_CODES.BAD_INPUT);
54
+ }
55
+ const body = JSON.parse(opts.data);
56
+ const result = await client.patch(`objects/${encodeURIComponent(objectName)}/options/${optionId}`, body);
57
+ (0, output_1.success)(result);
58
+ });
59
+ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
60
+ .description("Delete an option")
61
+ .argument("<object>", "Object name (slug)")
62
+ .argument("<option-id>", "Option ID (number)")
63
+ .addHelpText("after", `
64
+ Examples:
65
+ $ frontline object option delete sor__deals 23
66
+
67
+ Output: { deleted: true, option_id: 23 }`)).action(async (objectName, optionId, opts) => {
68
+ const client = (0, globalOpts_1.requireClient)(opts);
69
+ const result = await client.delete(`objects/${encodeURIComponent(objectName)}/options/${optionId}`);
70
+ (0, output_1.success)(result);
71
+ });
72
+ exports.objectOptionCommand = new commander_1.Command("option")
73
+ .description("Manage options on select-type fields")
74
+ .addCommand(listCmd)
75
+ .addCommand(createCmd)
76
+ .addCommand(updateCmd)
77
+ .addCommand(deleteCmd);
78
+ //# sourceMappingURL=option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.js","sourceRoot":"","sources":["../../../src/commands/object/option.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const objectRecordTypeCommand: Command;
3
+ //# sourceMappingURL=record-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-type.d.ts","sourceRoot":"","sources":["../../../src/commands/object/record-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkGpC,eAAO,MAAM,uBAAuB,SAKV,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectRecordTypeCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const globalOpts_1 = require("../../lib/globalOpts");
6
+ const output_1 = require("../../lib/output");
7
+ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
8
+ .description("List record types for an object")
9
+ .argument("<object>", "Object name (slug)")
10
+ .addHelpText("after", `
11
+ Examples:
12
+ $ frontline object record-type list sor__people
13
+
14
+ Output: Array of record types with id, name, display_name, is_default.`)).action(async (objectName, opts) => {
15
+ const client = (0, globalOpts_1.requireClient)(opts);
16
+ const result = await client.get(`objects/${encodeURIComponent(objectName)}/record-types`);
17
+ (0, output_1.success)(result);
18
+ });
19
+ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
20
+ .description("Create a new record type")
21
+ .argument("<object>", "Object name (slug)")
22
+ .option("--data <json>", "Record type definition (JSON)")
23
+ .addHelpText("after", `
24
+ Examples:
25
+ $ frontline object record-type create sor__deals --data '{"name":"lead","displayName":"Lead","columnIds":[1,2,3]}'
26
+
27
+ Output: Created record type with id, name, display_name, is_default.`)).action(async (objectName, opts) => {
28
+ const client = (0, globalOpts_1.requireClient)(opts);
29
+ if (!opts.data) {
30
+ (0, output_1.error)("missing_data", "--data is required", output_1.EXIT_CODES.BAD_INPUT);
31
+ }
32
+ const body = JSON.parse(opts.data);
33
+ const result = await client.post(`objects/${encodeURIComponent(objectName)}/record-types`, body);
34
+ (0, output_1.success)(result);
35
+ });
36
+ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
37
+ .description("Update a record type")
38
+ .argument("<object>", "Object name (slug)")
39
+ .argument("<record-type-id>", "Record type ID (number)")
40
+ .option("--data <json>", "Updated record type data (JSON)")
41
+ .addHelpText("after", `
42
+ Examples:
43
+ $ frontline object record-type update sor__deals 5 --data '{"displayName":"Qualified Lead"}'
44
+
45
+ Output: Updated record type object.`)).action(async (objectName, recordTypeId, opts) => {
46
+ const client = (0, globalOpts_1.requireClient)(opts);
47
+ if (!opts.data) {
48
+ (0, output_1.error)("missing_data", "--data is required", output_1.EXIT_CODES.BAD_INPUT);
49
+ }
50
+ const body = JSON.parse(opts.data);
51
+ const result = await client.patch(`objects/${encodeURIComponent(objectName)}/record-types/${recordTypeId}`, body);
52
+ (0, output_1.success)(result);
53
+ });
54
+ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
55
+ .description("Delete a record type")
56
+ .argument("<object>", "Object name (slug)")
57
+ .argument("<record-type-id>", "Record type ID (number)")
58
+ .addHelpText("after", `
59
+ Examples:
60
+ $ frontline object record-type delete sor__deals 5
61
+
62
+ Output: { deleted: true, record_type_id: 5 }`)).action(async (objectName, recordTypeId, opts) => {
63
+ const client = (0, globalOpts_1.requireClient)(opts);
64
+ const result = await client.delete(`objects/${encodeURIComponent(objectName)}/record-types/${recordTypeId}`);
65
+ (0, output_1.success)(result);
66
+ });
67
+ exports.objectRecordTypeCommand = new commander_1.Command("record-type")
68
+ .description("Manage record types on an object")
69
+ .addCommand(listCmd)
70
+ .addCommand(createCmd)
71
+ .addCommand(updateCmd)
72
+ .addCommand(deleteCmd);
73
+ //# sourceMappingURL=record-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-type.js","sourceRoot":"","sources":["../../../src/commands/object/record-type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const objectRecordCommand: Command;
3
+ //# sourceMappingURL=record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/commands/object/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmLpC,eAAO,MAAM,mBAAmB,SAON,CAAC"}