@getfrontline/cli 1.0.3 → 1.0.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.
- package/README.md +5 -5
- package/dist/commands/object/activity.d.ts +3 -0
- package/dist/commands/object/activity.d.ts.map +1 -0
- package/dist/commands/object/{note.js → activity.js} +24 -19
- package/dist/commands/object/activity.js.map +1 -0
- package/dist/commands/object/export.js +3 -3
- package/dist/commands/object/field.js +5 -5
- package/dist/commands/object/index.js +10 -10
- package/dist/commands/object/index.js.map +1 -1
- package/dist/commands/object/option.js +4 -4
- package/dist/commands/object/record-type.js +4 -4
- package/dist/commands/object/record.js +8 -8
- package/dist/commands/object/relation.js +4 -4
- package/dist/commands/object/view.js +9 -9
- package/dist/commands/table/index.d.ts.map +1 -1
- package/dist/commands/table/index.js +0 -4
- package/dist/commands/table/index.js.map +1 -1
- package/dist/max/ui/banner.js +15 -15
- package/dist/skills/aggregations/SKILL.md +7 -7
- package/dist/skills/auth-and-profiles/SKILL.md +1 -1
- package/dist/skills/crm-setup/SKILL.md +66 -48
- package/dist/skills/crud-operations/SKILL.md +2 -2
- package/dist/skills/export-and-delete/SKILL.md +5 -5
- package/dist/skills/files/SKILL.md +4 -4
- package/dist/skills/filter-and-query/SKILL.md +7 -7
- package/dist/skills/frontline-internals/SKILL.md +7 -7
- package/dist/skills/notes-and-tasks/SKILL.md +29 -29
- package/dist/skills/pipeline-setup/SKILL.md +13 -13
- package/dist/skills/relations/SKILL.md +15 -15
- package/dist/skills/resource-creation/SKILL.md +70 -1
- package/dist/skills/schema-design/SKILL.md +21 -14
- package/package.json +51 -51
- package/dist/commands/object/note.d.ts +0 -3
- package/dist/commands/object/note.d.ts.map +0 -1
- package/dist/commands/object/note.js.map +0 -1
- package/dist/commands/table/note.d.ts +0 -3
- package/dist/commands/table/note.d.ts.map +0 -1
- package/dist/commands/table/note.js +0 -62
- package/dist/commands/table/note.js.map +0 -1
- package/dist/commands/table/task.d.ts +0 -3
- package/dist/commands/table/task.d.ts.map +0 -1
- package/dist/commands/table/task.js +0 -88
- package/dist/commands/table/task.js.map +0 -1
package/README.md
CHANGED
|
@@ -88,12 +88,12 @@ frontline api get /workflows/123/analytics --query startDate=2025-01-01 endDate=
|
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
90
|
frontline object list
|
|
91
|
-
frontline object get
|
|
92
|
-
frontline object schema
|
|
91
|
+
frontline object get people
|
|
92
|
+
frontline object schema deals
|
|
93
93
|
frontline object create --data '{"name":"custom_obj","displayName":"Custom","fields":[...]}'
|
|
94
|
-
frontline object update
|
|
95
|
-
frontline object count
|
|
96
|
-
frontline object delete
|
|
94
|
+
frontline object update deals --data '{"displayName":"Deals v2"}'
|
|
95
|
+
frontline object count deals
|
|
96
|
+
frontline object delete custom_object
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
### Tables (spreadsheet-like)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/commands/object/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoFpC,eAAO,MAAM,qBAAqB,SAMR,CAAC"}
|
|
@@ -1,62 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.objectActivityCommand = void 0;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const globalOpts_1 = require("../../lib/globalOpts");
|
|
6
6
|
const output_1 = require("../../lib/output");
|
|
7
7
|
const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
|
|
8
|
-
.description("List
|
|
8
|
+
.description("List activities for a row")
|
|
9
9
|
.argument("<object>", "Object name (slug)")
|
|
10
10
|
.argument("<row-id>", "Row ID (MongoDB ObjectId)")).action(async (objectName, rowId, opts) => {
|
|
11
11
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
12
|
-
const result = await client.get(`objects/${encodeURIComponent(objectName)}/rows/${encodeURIComponent(rowId)}/
|
|
12
|
+
const result = await client.get(`objects/${encodeURIComponent(objectName)}/rows/${encodeURIComponent(rowId)}/activities`);
|
|
13
13
|
(0, output_1.success)(result);
|
|
14
14
|
});
|
|
15
15
|
const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
|
|
16
|
-
.description("Create
|
|
16
|
+
.description("Create an activity on a row")
|
|
17
17
|
.argument("<object>", "Object name (slug)")
|
|
18
18
|
.argument("<row-id>", "Row ID (MongoDB ObjectId)")
|
|
19
|
-
.option("--content <text>", "
|
|
19
|
+
.option("--content <text>", "Activity content (required)")
|
|
20
|
+
.option("--type <type>", "Activity type: NOTE, EMAIL, PHONE_CALL, MEETING, WHATSAPP (default: NOTE)")).action(async (objectName, rowId, opts) => {
|
|
20
21
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
21
22
|
if (!opts.content) {
|
|
22
23
|
(0, output_1.error)("missing_content", "--content is required", output_1.EXIT_CODES.BAD_INPUT);
|
|
23
24
|
}
|
|
24
|
-
const
|
|
25
|
+
const body = { content: opts.content };
|
|
26
|
+
if (opts.type) {
|
|
27
|
+
body.type = opts.type;
|
|
28
|
+
}
|
|
29
|
+
const result = await client.post(`objects/${encodeURIComponent(objectName)}/rows/${encodeURIComponent(rowId)}/activities`, body);
|
|
25
30
|
(0, output_1.success)(result);
|
|
26
31
|
});
|
|
27
32
|
const getCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("get")
|
|
28
|
-
.description("Get a specific
|
|
33
|
+
.description("Get a specific activity by ID")
|
|
29
34
|
.argument("<object>", "Object name (slug)")
|
|
30
|
-
.argument("<
|
|
35
|
+
.argument("<activity-id>", "Activity ID (number)")).action(async (objectName, activityId, opts) => {
|
|
31
36
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
32
|
-
const result = await client.get(`objects/${encodeURIComponent(objectName)}/
|
|
37
|
+
const result = await client.get(`objects/${encodeURIComponent(objectName)}/activities/${activityId}`);
|
|
33
38
|
(0, output_1.success)(result);
|
|
34
39
|
});
|
|
35
40
|
const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
|
|
36
|
-
.description("Update
|
|
41
|
+
.description("Update an activity")
|
|
37
42
|
.argument("<object>", "Object name (slug)")
|
|
38
|
-
.argument("<
|
|
39
|
-
.option("--content <text>", "New content")).action(async (objectName,
|
|
43
|
+
.argument("<activity-id>", "Activity ID (number)")
|
|
44
|
+
.option("--content <text>", "New content")).action(async (objectName, activityId, opts) => {
|
|
40
45
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
41
46
|
if (!opts.content) {
|
|
42
47
|
(0, output_1.error)("missing_content", "--content is required", output_1.EXIT_CODES.BAD_INPUT);
|
|
43
48
|
}
|
|
44
|
-
const result = await client.patch(`objects/${encodeURIComponent(objectName)}/
|
|
49
|
+
const result = await client.patch(`objects/${encodeURIComponent(objectName)}/activities/${activityId}`, { content: opts.content });
|
|
45
50
|
(0, output_1.success)(result);
|
|
46
51
|
});
|
|
47
52
|
const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
|
|
48
|
-
.description("Delete
|
|
53
|
+
.description("Delete an activity")
|
|
49
54
|
.argument("<object>", "Object name (slug)")
|
|
50
|
-
.argument("<
|
|
55
|
+
.argument("<activity-id>", "Activity ID (number)")).action(async (objectName, activityId, opts) => {
|
|
51
56
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
52
|
-
const result = await client.delete(`objects/${encodeURIComponent(objectName)}/
|
|
57
|
+
const result = await client.delete(`objects/${encodeURIComponent(objectName)}/activities/${activityId}`);
|
|
53
58
|
(0, output_1.success)(result);
|
|
54
59
|
});
|
|
55
|
-
exports.
|
|
56
|
-
.description("Manage
|
|
60
|
+
exports.objectActivityCommand = new commander_1.Command("activity")
|
|
61
|
+
.description("Manage activities on object rows (notes, emails, calls, meetings, etc.)")
|
|
57
62
|
.addCommand(listCmd)
|
|
58
63
|
.addCommand(createCmd)
|
|
59
64
|
.addCommand(getCmd)
|
|
60
65
|
.addCommand(updateCmd)
|
|
61
66
|
.addCommand(deleteCmd);
|
|
62
|
-
//# sourceMappingURL=
|
|
67
|
+
//# sourceMappingURL=activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../src/commands/object/activity.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,8 +47,8 @@ const xlsxCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("xlsx")
|
|
|
47
47
|
.option("--output <path>", "Output file path")
|
|
48
48
|
.addHelpText("after", `
|
|
49
49
|
Examples:
|
|
50
|
-
$ frontline object export xlsx
|
|
51
|
-
$ frontline object export xlsx
|
|
50
|
+
$ frontline object export xlsx people
|
|
51
|
+
$ frontline object export xlsx deals --query '{"path":"[Amount]","operator":"gte","value":10000}'
|
|
52
52
|
|
|
53
53
|
Output: Downloads XLSX file.`)).action(async (name, opts) => {
|
|
54
54
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -74,7 +74,7 @@ const csvCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("csv")
|
|
|
74
74
|
.option("--output <path>", "Output file path")
|
|
75
75
|
.addHelpText("after", `
|
|
76
76
|
Examples:
|
|
77
|
-
$ frontline object export csv
|
|
77
|
+
$ frontline object export csv people
|
|
78
78
|
|
|
79
79
|
Output: Downloads CSV file.`)).action(async (name, opts) => {
|
|
80
80
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -9,7 +9,7 @@ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
|
|
|
9
9
|
.argument("<object>", "Object name (slug)")
|
|
10
10
|
.addHelpText("after", `
|
|
11
11
|
Examples:
|
|
12
|
-
$ frontline object field list
|
|
12
|
+
$ frontline object field list people
|
|
13
13
|
|
|
14
14
|
Output: Array of fields with id, name, type, options, format, mode.`)).action(async (objectName, opts) => {
|
|
15
15
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -22,7 +22,7 @@ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
|
|
|
22
22
|
.option("--data <json>", "Field definition (JSON)")
|
|
23
23
|
.addHelpText("after", `
|
|
24
24
|
Examples:
|
|
25
|
-
$ frontline object field create
|
|
25
|
+
$ frontline object field create people --data '{"name":"LinkedIn","type":"string","metadata":{"format":"url"}}'
|
|
26
26
|
|
|
27
27
|
Output: Created field object.`)).action(async (objectName, opts) => {
|
|
28
28
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -40,8 +40,8 @@ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
|
|
|
40
40
|
.option("--data <json>", "Updated field data (JSON)")
|
|
41
41
|
.addHelpText("after", `
|
|
42
42
|
Examples:
|
|
43
|
-
$ frontline object field update
|
|
44
|
-
$ frontline object field update
|
|
43
|
+
$ frontline object field update people 42 --data '{"name":"New Name"}'
|
|
44
|
+
$ frontline object field update people 42 --data '{"required":true,"unique":true}'
|
|
45
45
|
|
|
46
46
|
Supported keys: name, metadata, required, unique, tags, defaultValue.
|
|
47
47
|
|
|
@@ -60,7 +60,7 @@ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
|
|
|
60
60
|
.argument("<field-id>", "Field ID (number)")
|
|
61
61
|
.addHelpText("after", `
|
|
62
62
|
Examples:
|
|
63
|
-
$ frontline object field delete
|
|
63
|
+
$ frontline object field delete people 42
|
|
64
64
|
|
|
65
65
|
Output: { deleted: true, field_id: 42 }`)).action(async (objectName, fieldId, opts) => {
|
|
66
66
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -11,7 +11,7 @@ const view_1 = require("./view");
|
|
|
11
11
|
const relation_1 = require("./relation");
|
|
12
12
|
const record_1 = require("./record");
|
|
13
13
|
const export_1 = require("./export");
|
|
14
|
-
const
|
|
14
|
+
const activity_1 = require("./activity");
|
|
15
15
|
const task_1 = require("./task");
|
|
16
16
|
const file_1 = require("./file");
|
|
17
17
|
const aggregation_1 = require("./aggregation");
|
|
@@ -42,10 +42,10 @@ Output: Created object with id, name, display_name.`)).action(async (opts) => {
|
|
|
42
42
|
});
|
|
43
43
|
const getCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("get")
|
|
44
44
|
.description("Get detailed info about an object (fields, views, record types)")
|
|
45
|
-
.argument("<name>", "Object name (slug, e.g.
|
|
45
|
+
.argument("<name>", "Object name (slug, e.g. people)")
|
|
46
46
|
.addHelpText("after", `
|
|
47
47
|
Examples:
|
|
48
|
-
$ frontline object get
|
|
48
|
+
$ frontline object get people
|
|
49
49
|
|
|
50
50
|
Output: Object with id, name, display_name, fields, views, record_types.`)).action(async (name, opts) => {
|
|
51
51
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -57,7 +57,7 @@ const schemaCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("schema")
|
|
|
57
57
|
.argument("<name>", "Object name (slug)")
|
|
58
58
|
.addHelpText("after", `
|
|
59
59
|
Examples:
|
|
60
|
-
$ frontline object schema
|
|
60
|
+
$ frontline object schema people
|
|
61
61
|
|
|
62
62
|
Output: Schema with name, type, extensible, fields, relations, record_types.`)).action(async (name, opts) => {
|
|
63
63
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -70,7 +70,7 @@ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
|
|
|
70
70
|
.option("--data <json>", "Update payload (JSON)")
|
|
71
71
|
.addHelpText("after", `
|
|
72
72
|
Examples:
|
|
73
|
-
$ frontline object update
|
|
73
|
+
$ frontline object update deals --data '{"displayName":"Deals v2","emoji":"💰"}'
|
|
74
74
|
|
|
75
75
|
Output: Updated object.`)).action(async (name, opts) => {
|
|
76
76
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -88,8 +88,8 @@ const countCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("count")
|
|
|
88
88
|
.option("--record-type <type>", "Record type filter")
|
|
89
89
|
.addHelpText("after", `
|
|
90
90
|
Examples:
|
|
91
|
-
$ frontline object count
|
|
92
|
-
$ frontline object count
|
|
91
|
+
$ frontline object count deals
|
|
92
|
+
$ frontline object count deals --query '{"path":"[Amount]","operator":"gte","value":10000}'
|
|
93
93
|
|
|
94
94
|
Output: { count: 42 }`)).action(async (name, opts) => {
|
|
95
95
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -106,9 +106,9 @@ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
|
|
|
106
106
|
.argument("<name>", "Object name (slug)")
|
|
107
107
|
.addHelpText("after", `
|
|
108
108
|
Examples:
|
|
109
|
-
$ frontline object delete
|
|
109
|
+
$ frontline object delete my_custom_object
|
|
110
110
|
|
|
111
|
-
Output: { deleted: true, name: "
|
|
111
|
+
Output: { deleted: true, name: "my_custom_object" }`)).action(async (name, opts) => {
|
|
112
112
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
113
113
|
const result = await client.delete(`objects/${encodeURIComponent(name)}`);
|
|
114
114
|
(0, output_1.success)(result);
|
|
@@ -129,7 +129,7 @@ exports.objectCommand = new commander_1.Command("object")
|
|
|
129
129
|
.addCommand(relation_1.objectRelationCommand)
|
|
130
130
|
.addCommand(record_1.objectRecordCommand)
|
|
131
131
|
.addCommand(export_1.objectExportCommand)
|
|
132
|
-
.addCommand(
|
|
132
|
+
.addCommand(activity_1.objectActivityCommand)
|
|
133
133
|
.addCommand(task_1.objectTaskCommand)
|
|
134
134
|
.addCommand(file_1.objectFileCommand)
|
|
135
135
|
.addCommand(aggregation_1.objectAggregationCommand);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/object/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,qDAA0E;AAC1E,6CAA8D;AAE9D,mCAA6C;AAC7C,qCAA+C;AAC/C,+CAAwD;AACxD,iCAA2C;AAC3C,yCAAmD;AACnD,qCAA+C;AAC/C,qCAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/object/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
|
|
|
10
10
|
.argument("<field-id>", "Field ID (number)")
|
|
11
11
|
.addHelpText("after", `
|
|
12
12
|
Examples:
|
|
13
|
-
$ frontline object option list
|
|
13
|
+
$ frontline object option list deals 48
|
|
14
14
|
|
|
15
15
|
Output: Array of options with id, name, color, order.`)).action(async (objectName, fieldId, opts) => {
|
|
16
16
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -24,7 +24,7 @@ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
|
|
|
24
24
|
.option("--data <json>", "Option definition (JSON)")
|
|
25
25
|
.addHelpText("after", `
|
|
26
26
|
Examples:
|
|
27
|
-
$ frontline object option create
|
|
27
|
+
$ frontline object option create deals 48 --data '{"name":"Negotiation","color":"Amber"}'
|
|
28
28
|
|
|
29
29
|
Colors: Terracotta, Amber, Lime, Emerald, Lavender, Sky, Magenta, Bright Red,
|
|
30
30
|
Teal, Gray, Brown, Orange, Yellow, Green, Blue, Purple, Pink, Red
|
|
@@ -45,7 +45,7 @@ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
|
|
|
45
45
|
.option("--data <json>", "Updated option data (JSON)")
|
|
46
46
|
.addHelpText("after", `
|
|
47
47
|
Examples:
|
|
48
|
-
$ frontline object option update
|
|
48
|
+
$ frontline object option update deals 23 --data '{"name":"Warm Lead","color":"Amber"}'
|
|
49
49
|
|
|
50
50
|
Output: Updated option object.`)).action(async (objectName, optionId, opts) => {
|
|
51
51
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -62,7 +62,7 @@ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
|
|
|
62
62
|
.argument("<option-id>", "Option ID (number)")
|
|
63
63
|
.addHelpText("after", `
|
|
64
64
|
Examples:
|
|
65
|
-
$ frontline object option delete
|
|
65
|
+
$ frontline object option delete deals 23
|
|
66
66
|
|
|
67
67
|
Output: { deleted: true, option_id: 23 }`)).action(async (objectName, optionId, opts) => {
|
|
68
68
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -9,7 +9,7 @@ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
|
|
|
9
9
|
.argument("<object>", "Object name (slug)")
|
|
10
10
|
.addHelpText("after", `
|
|
11
11
|
Examples:
|
|
12
|
-
$ frontline object record-type list
|
|
12
|
+
$ frontline object record-type list people
|
|
13
13
|
|
|
14
14
|
Output: Array of record types with id, name, display_name, is_default.`)).action(async (objectName, opts) => {
|
|
15
15
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -22,7 +22,7 @@ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
|
|
|
22
22
|
.option("--data <json>", "Record type definition (JSON)")
|
|
23
23
|
.addHelpText("after", `
|
|
24
24
|
Examples:
|
|
25
|
-
$ frontline object record-type create
|
|
25
|
+
$ frontline object record-type create deals --data '{"name":"lead","displayName":"Lead","columnIds":[1,2,3]}'
|
|
26
26
|
|
|
27
27
|
Output: Created record type with id, name, display_name, is_default.`)).action(async (objectName, opts) => {
|
|
28
28
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -40,7 +40,7 @@ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
|
|
|
40
40
|
.option("--data <json>", "Updated record type data (JSON)")
|
|
41
41
|
.addHelpText("after", `
|
|
42
42
|
Examples:
|
|
43
|
-
$ frontline object record-type update
|
|
43
|
+
$ frontline object record-type update deals 5 --data '{"displayName":"Qualified Lead"}'
|
|
44
44
|
|
|
45
45
|
Output: Updated record type object.`)).action(async (objectName, recordTypeId, opts) => {
|
|
46
46
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -57,7 +57,7 @@ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
|
|
|
57
57
|
.argument("<record-type-id>", "Record type ID (number)")
|
|
58
58
|
.addHelpText("after", `
|
|
59
59
|
Examples:
|
|
60
|
-
$ frontline object record-type delete
|
|
60
|
+
$ frontline object record-type delete deals 5
|
|
61
61
|
|
|
62
62
|
Output: { deleted: true, record_type_id: 5 }`)).action(async (objectName, recordTypeId, opts) => {
|
|
63
63
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -16,9 +16,9 @@ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
|
|
|
16
16
|
.option("--record-type <name>", "Filter by record type")
|
|
17
17
|
.addHelpText("after", `
|
|
18
18
|
Examples:
|
|
19
|
-
$ frontline object record list
|
|
20
|
-
$ frontline object record list
|
|
21
|
-
$ frontline object record list
|
|
19
|
+
$ frontline object record list people
|
|
20
|
+
$ frontline object record list deals --search "acme"
|
|
21
|
+
$ frontline object record list deals --record-type lead --page-size 20
|
|
22
22
|
|
|
23
23
|
Output: { rows: [...], total_count, total_pages, current_page }`)).action(async (objectName, opts) => {
|
|
24
24
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -44,7 +44,7 @@ const getCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("get")
|
|
|
44
44
|
.argument("<id>", "Record ID (MongoDB ObjectId)")
|
|
45
45
|
.addHelpText("after", `
|
|
46
46
|
Examples:
|
|
47
|
-
$ frontline object record get
|
|
47
|
+
$ frontline object record get people 6625abc123def456
|
|
48
48
|
|
|
49
49
|
Output: Single record with id, auto_id, created_at, updated_at, and all field values.`)).action(async (objectName, id, opts) => {
|
|
50
50
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -57,7 +57,7 @@ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
|
|
|
57
57
|
.option("--data <json>", "Record field values (JSON)")
|
|
58
58
|
.addHelpText("after", `
|
|
59
59
|
Examples:
|
|
60
|
-
$ frontline object record create
|
|
60
|
+
$ frontline object record create people --data '{"First Name":"John","Last Name":"Doe","Email":"john@example.com"}'
|
|
61
61
|
|
|
62
62
|
Output: Created record object.`)).action(async (objectName, opts) => {
|
|
63
63
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -75,7 +75,7 @@ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
|
|
|
75
75
|
.option("--data <json>", "Updated field values (JSON)")
|
|
76
76
|
.addHelpText("after", `
|
|
77
77
|
Examples:
|
|
78
|
-
$ frontline object record update
|
|
78
|
+
$ frontline object record update people 6625abc123def456 --data '{"Email":"new@example.com"}'
|
|
79
79
|
|
|
80
80
|
Output: Updated record object.`)).action(async (objectName, id, opts) => {
|
|
81
81
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -92,7 +92,7 @@ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
|
|
|
92
92
|
.argument("<id>", "Record ID (MongoDB ObjectId)")
|
|
93
93
|
.addHelpText("after", `
|
|
94
94
|
Examples:
|
|
95
|
-
$ frontline object record delete
|
|
95
|
+
$ frontline object record delete people 6625abc123def456
|
|
96
96
|
|
|
97
97
|
Output: { deleted: true, row_id: "6625abc123def456" }`)).action(async (objectName, id, opts) => {
|
|
98
98
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -105,7 +105,7 @@ const bulkCreateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("bulk
|
|
|
105
105
|
.option("--data <json>", "Array of record field values (JSON)")
|
|
106
106
|
.addHelpText("after", `
|
|
107
107
|
Examples:
|
|
108
|
-
$ frontline object record bulk-create
|
|
108
|
+
$ frontline object record bulk-create people --data '[{"First Name":"John","Last Name":"Doe"},{"First Name":"Jane","Last Name":"Smith"}]'
|
|
109
109
|
|
|
110
110
|
Output: Array of created record objects.`)).action(async (objectName, opts) => {
|
|
111
111
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -11,7 +11,7 @@ const getCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("get")
|
|
|
11
11
|
.argument("<relation>", "Relation name (e.g. company, people)")
|
|
12
12
|
.addHelpText("after", `
|
|
13
13
|
Examples:
|
|
14
|
-
$ frontline object relation get
|
|
14
|
+
$ frontline object relation get people 6625abc123def456 company
|
|
15
15
|
|
|
16
16
|
Output: Array of related records.`)).action(async (objectName, id, relation, opts) => {
|
|
17
17
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -27,7 +27,7 @@ const findByCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("find-by"
|
|
|
27
27
|
.option("--page-size <n>", "Rows per page", "50")
|
|
28
28
|
.addHelpText("after", `
|
|
29
29
|
Examples:
|
|
30
|
-
$ frontline object relation find-by
|
|
30
|
+
$ frontline object relation find-by people company 6625abc123def456
|
|
31
31
|
|
|
32
32
|
Output: { rows: [...], total_count, total_pages, current_page }`)).action(async (objectName, relation, targetId, opts) => {
|
|
33
33
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -42,7 +42,7 @@ const linkCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("link")
|
|
|
42
42
|
.argument("<target-id>", "Target record ID to link")
|
|
43
43
|
.addHelpText("after", `
|
|
44
44
|
Examples:
|
|
45
|
-
$ frontline object relation link
|
|
45
|
+
$ frontline object relation link people 6625abc123def456 company 6625def789abc012
|
|
46
46
|
|
|
47
47
|
Output: Updated source record.`)).action(async (objectName, id, relation, targetId, opts) => {
|
|
48
48
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -57,7 +57,7 @@ const unlinkCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("unlink")
|
|
|
57
57
|
.argument("<target-id>", "Target record ID to unlink")
|
|
58
58
|
.addHelpText("after", `
|
|
59
59
|
Examples:
|
|
60
|
-
$ frontline object relation unlink
|
|
60
|
+
$ frontline object relation unlink people 6625abc123def456 company 6625def789abc012
|
|
61
61
|
|
|
62
62
|
Output: Updated source record.`)).action(async (objectName, id, relation, targetId, opts) => {
|
|
63
63
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -9,7 +9,7 @@ const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list")
|
|
|
9
9
|
.argument("<object>", "Object name (slug)")
|
|
10
10
|
.addHelpText("after", `
|
|
11
11
|
Examples:
|
|
12
|
-
$ frontline object view list
|
|
12
|
+
$ frontline object view list people
|
|
13
13
|
|
|
14
14
|
Output: Array of views with id, name, type, is_default, is_private.`)).action(async (objectName, opts) => {
|
|
15
15
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -23,8 +23,8 @@ const createCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("create")
|
|
|
23
23
|
.option("--record-type <id>", "Record type ID (uses default if omitted)")
|
|
24
24
|
.addHelpText("after", `
|
|
25
25
|
Examples:
|
|
26
|
-
$ frontline object view create
|
|
27
|
-
$ frontline object view create
|
|
26
|
+
$ frontline object view create deals --data '{"name":"Kanban","type":"KANBAN","metadata":{"groupingColumnId":42}}'
|
|
27
|
+
$ frontline object view create deals --record-type 10 --data '{"name":"Board","type":"TABLE","metadata":{}}'
|
|
28
28
|
|
|
29
29
|
View types: TABLE, KANBAN, RECORD
|
|
30
30
|
|
|
@@ -54,11 +54,11 @@ const updateCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("update")
|
|
|
54
54
|
.option("--data <json>", "Other updated view data (JSON)")
|
|
55
55
|
.addHelpText("after", `
|
|
56
56
|
Examples:
|
|
57
|
-
$ frontline object view update
|
|
58
|
-
$ frontline object view update
|
|
59
|
-
$ frontline object view update
|
|
60
|
-
$ frontline object view update
|
|
61
|
-
$ frontline object view update
|
|
57
|
+
$ frontline object view update deals 12 --name "My Deals" --column-order "Name, Stage, Amount"
|
|
58
|
+
$ frontline object view update deals 12 --hidden-columns "Created At, Updated At"
|
|
59
|
+
$ frontline object view update deals 12 --dialog-field-order "Name, Stage, Close Date"
|
|
60
|
+
$ frontline object view update deals 12 --sticky-columns "Name, Stage"
|
|
61
|
+
$ frontline object view update deals 12 --option-order "Closed, Won, In Progress, Lead"
|
|
62
62
|
|
|
63
63
|
Output: Updated view object.`)).action(async (objectName, viewId, opts) => {
|
|
64
64
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -102,7 +102,7 @@ const deleteCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("delete")
|
|
|
102
102
|
.argument("<view-id>", "View ID (number)")
|
|
103
103
|
.addHelpText("after", `
|
|
104
104
|
Examples:
|
|
105
|
-
$ frontline object view delete
|
|
105
|
+
$ frontline object view delete deals 12
|
|
106
106
|
|
|
107
107
|
Output: { deleted: true, view_id: 12 }`)).action(async (objectName, viewId, opts) => {
|
|
108
108
|
const client = (0, globalOpts_1.requireClient)(opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyKpC,eAAO,MAAM,YAAY,SAee,CAAC"}
|
|
@@ -9,8 +9,6 @@ const option_1 = require("./option");
|
|
|
9
9
|
const row_1 = require("./row");
|
|
10
10
|
const relation_1 = require("./relation");
|
|
11
11
|
const export_1 = require("./export");
|
|
12
|
-
const note_1 = require("./note");
|
|
13
|
-
const task_1 = require("./task");
|
|
14
12
|
const file_1 = require("./file");
|
|
15
13
|
const aggregation_1 = require("./aggregation");
|
|
16
14
|
const listCmd = (0, globalOpts_1.globalOpts)(new commander_1.Command("list").description("List all data tables in the account").addHelpText("after", `
|
|
@@ -135,8 +133,6 @@ exports.tableCommand = new commander_1.Command("table")
|
|
|
135
133
|
.addCommand(row_1.tableRowCommand)
|
|
136
134
|
.addCommand(relation_1.tableRelationCommand)
|
|
137
135
|
.addCommand(export_1.tableExportCommand)
|
|
138
|
-
.addCommand(note_1.tableNoteCommand)
|
|
139
|
-
.addCommand(task_1.tableTaskCommand)
|
|
140
136
|
.addCommand(file_1.tableFileCommand)
|
|
141
137
|
.addCommand(aggregation_1.tableAggregationCommand);
|
|
142
138
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/table/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,qDAA0E;AAC1E,6CAA8D;AAE9D,mCAA4C;AAC5C,qCAA8C;AAC9C,+BAAwC;AACxC,yCAAkD;AAClD,qCAA8C;AAC9C,iCAA0C;AAC1C
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/table/index.ts"],"names":[],"mappings":"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"}
|
package/dist/max/ui/banner.js
CHANGED
|
@@ -40,21 +40,21 @@ function resolveBundledLogoPath() {
|
|
|
40
40
|
function printAsciiLogo() {
|
|
41
41
|
// Fallback banner (matches the Frontline mark in plain text terminals).
|
|
42
42
|
// Keep as a single template literal to preserve spacing.
|
|
43
|
-
const art = `
|
|
44
|
-
@@@@@@@@@@@@@@@@@@@@@@
|
|
45
|
-
@@@@@@@@@@@@@@@@@@@@@@@@
|
|
46
|
-
@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
47
|
-
@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
48
|
-
@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
@@@@@@@@@@@@@@@@@@
|
|
52
|
-
@@@@@@@@@@@@@@@@@@@@@
|
|
53
|
-
@@@@@@@@@@@@@@@@@@@@@
|
|
54
|
-
@@@@@@@@@@@@@@@@@@@@@@
|
|
55
|
-
@@@@@@@@@@@@@@@@@@@@@
|
|
56
|
-
@@@@@@@@@@
|
|
57
|
-
@@@@@@@@@
|
|
43
|
+
const art = `
|
|
44
|
+
@@@@@@@@@@@@@@@@@@@@@@
|
|
45
|
+
@@@@@@@@@@@@@@@@@@@@@@@@
|
|
46
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
47
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
48
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
@@@@@@@@@@@@@@@@@@
|
|
52
|
+
@@@@@@@@@@@@@@@@@@@@@
|
|
53
|
+
@@@@@@@@@@@@@@@@@@@@@
|
|
54
|
+
@@@@@@@@@@@@@@@@@@@@@@
|
|
55
|
+
@@@@@@@@@@@@@@@@@@@@@
|
|
56
|
+
@@@@@@@@@@
|
|
57
|
+
@@@@@@@@@
|
|
58
58
|
`;
|
|
59
59
|
process.stderr.write(output_1.brand.primary(art) + "\n");
|
|
60
60
|
}
|
|
@@ -99,24 +99,24 @@ frontline object aggregation compute <object> <view-id> --column-id 5
|
|
|
99
99
|
|
|
100
100
|
```bash
|
|
101
101
|
# 1. Identify the view and columns
|
|
102
|
-
frontline object get
|
|
102
|
+
frontline object get deals
|
|
103
103
|
# → view ID = 1
|
|
104
|
-
frontline object field list
|
|
104
|
+
frontline object field list deals
|
|
105
105
|
# → Amount column ID = 5, Status column ID = 8
|
|
106
106
|
|
|
107
107
|
# 2. Add aggregations
|
|
108
|
-
frontline object aggregation create
|
|
108
|
+
frontline object aggregation create deals 1 \
|
|
109
109
|
--data '{"columnId": 5, "operation": "SUM"}'
|
|
110
|
-
frontline object aggregation create
|
|
110
|
+
frontline object aggregation create deals 1 \
|
|
111
111
|
--data '{"columnId": 5, "operation": "AVERAGE"}'
|
|
112
|
-
frontline object aggregation create
|
|
112
|
+
frontline object aggregation create deals 1 \
|
|
113
113
|
--data '{"columnId": 8, "operation": "COUNT_FILLED"}'
|
|
114
114
|
|
|
115
115
|
# 3. Compute results
|
|
116
|
-
frontline object aggregation compute
|
|
116
|
+
frontline object aggregation compute deals 1
|
|
117
117
|
# → { aggregations: [{ columnId: 5, operation: "SUM", value: 1250000 }, ...] }
|
|
118
118
|
|
|
119
119
|
# 4. Compute only for "Won" deals
|
|
120
|
-
frontline object aggregation compute
|
|
120
|
+
frontline object aggregation compute deals 1 \
|
|
121
121
|
--query '{"path":"[Status]","operator":"containsAny","value":[3]}'
|
|
122
122
|
```
|
|
@@ -85,7 +85,7 @@ frontline table row list my_table
|
|
|
85
85
|
|
|
86
86
|
# 3. Switch to prod when needed
|
|
87
87
|
frontline auth use prod
|
|
88
|
-
frontline object count
|
|
88
|
+
frontline object count deals
|
|
89
89
|
|
|
90
90
|
# 4. Quick one-off against staging without switching
|
|
91
91
|
frontline object list --api-key flk_stg_123 --base-url https://staging.example.com/public/v1
|