orangeslice 2.1.4-beta.1 → 2.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 (77) hide show
  1. package/dist/cli.js +19 -9
  2. package/dist/ctx.d.ts +12 -7
  3. package/dist/ctx.js +6 -46
  4. package/dist/index.d.ts +1 -20
  5. package/dist/index.js +0 -2
  6. package/docs/integrations/attio/assertEntry.md +44 -0
  7. package/docs/integrations/attio/assertRecord.md +51 -0
  8. package/docs/integrations/attio/createAttribute.md +59 -0
  9. package/docs/integrations/attio/createComment.md +60 -0
  10. package/docs/integrations/attio/createEntry.md +44 -0
  11. package/docs/integrations/attio/createFolder.md +58 -0
  12. package/docs/integrations/attio/createList.md +51 -0
  13. package/docs/integrations/attio/createNote.md +47 -0
  14. package/docs/integrations/attio/createObject.md +39 -0
  15. package/docs/integrations/attio/createRecord.md +49 -0
  16. package/docs/integrations/attio/createSelectOption.md +37 -0
  17. package/docs/integrations/attio/createStatus.md +45 -0
  18. package/docs/integrations/attio/createTask.md +58 -0
  19. package/docs/integrations/attio/createWebhook.md +43 -0
  20. package/docs/integrations/attio/deleteComment.md +21 -0
  21. package/docs/integrations/attio/deleteEntry.md +23 -0
  22. package/docs/integrations/attio/deleteFile.md +21 -0
  23. package/docs/integrations/attio/deleteNote.md +21 -0
  24. package/docs/integrations/attio/deleteRecord.md +23 -0
  25. package/docs/integrations/attio/deleteTask.md +21 -0
  26. package/docs/integrations/attio/deleteWebhook.md +19 -0
  27. package/docs/integrations/attio/getAttribute.md +39 -0
  28. package/docs/integrations/attio/getCallRecording.md +33 -0
  29. package/docs/integrations/attio/getCallTranscript.md +38 -0
  30. package/docs/integrations/attio/getComment.md +31 -0
  31. package/docs/integrations/attio/getEntry.md +33 -0
  32. package/docs/integrations/attio/getFile.md +36 -0
  33. package/docs/integrations/attio/getList.md +33 -0
  34. package/docs/integrations/attio/getMeeting.md +39 -0
  35. package/docs/integrations/attio/getNote.md +33 -0
  36. package/docs/integrations/attio/getObject.md +31 -0
  37. package/docs/integrations/attio/getRecord.md +32 -0
  38. package/docs/integrations/attio/getSelf.md +27 -0
  39. package/docs/integrations/attio/getTask.md +34 -0
  40. package/docs/integrations/attio/getThread.md +36 -0
  41. package/docs/integrations/attio/getWebhook.md +31 -0
  42. package/docs/integrations/attio/getWorkspaceMember.md +32 -0
  43. package/docs/integrations/attio/index.md +122 -0
  44. package/docs/integrations/attio/listAttributes.md +38 -0
  45. package/docs/integrations/attio/listCallRecordings.md +35 -0
  46. package/docs/integrations/attio/listEntries.md +44 -0
  47. package/docs/integrations/attio/listEntryAttributeValues.md +36 -0
  48. package/docs/integrations/attio/listFiles.md +51 -0
  49. package/docs/integrations/attio/listLists.md +28 -0
  50. package/docs/integrations/attio/listMeetings.md +63 -0
  51. package/docs/integrations/attio/listNotes.md +39 -0
  52. package/docs/integrations/attio/listObjects.md +26 -0
  53. package/docs/integrations/attio/listRecordAttributeValues.md +35 -0
  54. package/docs/integrations/attio/listRecordEntries.md +37 -0
  55. package/docs/integrations/attio/listRecords.md +55 -0
  56. package/docs/integrations/attio/listSelectOptions.md +35 -0
  57. package/docs/integrations/attio/listStatuses.md +37 -0
  58. package/docs/integrations/attio/listTasks.md +45 -0
  59. package/docs/integrations/attio/listThreads.md +51 -0
  60. package/docs/integrations/attio/listWebhooks.md +31 -0
  61. package/docs/integrations/attio/listWorkspaceMembers.md +27 -0
  62. package/docs/integrations/attio/overwriteEntry.md +42 -0
  63. package/docs/integrations/attio/overwriteRecord.md +41 -0
  64. package/docs/integrations/attio/searchRecords.md +40 -0
  65. package/docs/integrations/attio/updateAttribute.md +53 -0
  66. package/docs/integrations/attio/updateEntry.md +42 -0
  67. package/docs/integrations/attio/updateList.md +49 -0
  68. package/docs/integrations/attio/updateObject.md +40 -0
  69. package/docs/integrations/attio/updateRecord.md +41 -0
  70. package/docs/integrations/attio/updateSelectOption.md +40 -0
  71. package/docs/integrations/attio/updateStatus.md +47 -0
  72. package/docs/integrations/attio/updateTask.md +57 -0
  73. package/docs/integrations/attio/updateWebhook.md +41 -0
  74. package/docs/integrations/index.md +42 -0
  75. package/docs/services/ctx/index.md +10 -9
  76. package/docs/services/index.md +0 -1
  77. package/package.json +1 -1
@@ -0,0 +1,63 @@
1
+ # listMeetings
2
+
3
+ List meetings with filters (linked records, participants, date range).
4
+
5
+ ```typescript
6
+ // List upcoming meetings
7
+ const result = await integrations.attio.listMeetings({
8
+ sort: "start_asc",
9
+ ends_from: "2025-03-01T00:00:00Z",
10
+ limit: 25,
11
+ });
12
+
13
+ // Filter by linked record
14
+ const companyMeetings = await integrations.attio.listMeetings({
15
+ linked_object: "companies",
16
+ linked_record_id: "rec_01abc123def456",
17
+ sort: "start_desc",
18
+ });
19
+
20
+ // Filter by participant
21
+ const myMeetings = await integrations.attio.listMeetings({
22
+ participants: "alice@example.com",
23
+ });
24
+ ```
25
+
26
+ ## Input
27
+
28
+ ```typescript
29
+ {
30
+ limit?: number;
31
+ cursor?: string;
32
+ linked_object?: string;
33
+ linked_record_id?: string;
34
+ participants?: string;
35
+ sort?: "start_asc" | "start_desc";
36
+ ends_from?: string;
37
+ starts_before?: string;
38
+ timezone?: string;
39
+ }
40
+ ```
41
+
42
+ ## Output
43
+
44
+ ```typescript
45
+ {
46
+ data: Array<{
47
+ id: { workspace_id: string; meeting_id: string };
48
+ title: string | null;
49
+ description: string | null;
50
+ is_all_day: boolean;
51
+ start: { datetime?: string; date?: string; timezone?: string | null };
52
+ end: { datetime?: string; date?: string; timezone?: string | null };
53
+ participants: Array<{
54
+ status: "accepted" | "tentative" | "declined" | "pending";
55
+ is_organizer: boolean;
56
+ email_address: string | null;
57
+ }>;
58
+ linked_records: Array<{ object_slug: string; object_id: string; record_id: string }>;
59
+ created_at: string;
60
+ }>;
61
+ next_cursor?: string | null;
62
+ }
63
+ ```
@@ -0,0 +1,39 @@
1
+ # listNotes
2
+
3
+ List notes, optionally filtered by parent record.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listNotes({
7
+ parent_object: "companies",
8
+ parent_record_id: "rec_01abc123def456",
9
+ limit: 20,
10
+ });
11
+ ```
12
+
13
+ ## Input
14
+
15
+ ```typescript
16
+ {
17
+ parent_object?: string;
18
+ parent_record_id?: string;
19
+ limit?: number;
20
+ offset?: number;
21
+ }
22
+ ```
23
+
24
+ ## Output
25
+
26
+ ```typescript
27
+ {
28
+ data: Array<{
29
+ id: { note_id: string };
30
+ parent_object: string;
31
+ parent_record_id: string;
32
+ title: string;
33
+ content_plaintext: string;
34
+ created_at: string;
35
+ created_by_actor: { type: string; id: string | null };
36
+ }>;
37
+ next_cursor?: string | null;
38
+ }
39
+ ```
@@ -0,0 +1,26 @@
1
+ # listObjects
2
+
3
+ List all objects in the workspace (people, companies, deals, custom objects).
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listObjects();
7
+ ```
8
+
9
+ ## Input
10
+
11
+ No input parameters.
12
+
13
+ ## Output
14
+
15
+ ```typescript
16
+ {
17
+ data: Array<{
18
+ id: { object_id: string };
19
+ api_slug: string;
20
+ singular_noun: string;
21
+ plural_noun: string;
22
+ created_at: string;
23
+ }>;
24
+ next_cursor?: string | null;
25
+ }
26
+ ```
@@ -0,0 +1,35 @@
1
+ # listRecordAttributeValues
2
+
3
+ Get all values (including historic) for a specific attribute on a record.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listRecordAttributeValues({
7
+ object: "people",
8
+ record_id: "rec_01abc123def456",
9
+ attribute: "job_title",
10
+ show_historic: true,
11
+ limit: 50,
12
+ });
13
+ ```
14
+
15
+ ## Input
16
+
17
+ ```typescript
18
+ {
19
+ object: string;
20
+ record_id: string;
21
+ attribute: string;
22
+ show_historic?: boolean;
23
+ limit?: number;
24
+ offset?: number;
25
+ }
26
+ ```
27
+
28
+ ## Output
29
+
30
+ ```typescript
31
+ {
32
+ data: Array<any>;
33
+ next_cursor?: string | null;
34
+ }
35
+ ```
@@ -0,0 +1,37 @@
1
+ # listRecordEntries
2
+
3
+ List all list entries associated with a record.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listRecordEntries({
7
+ object: "people",
8
+ record_id: "rec_01abc123def456",
9
+ limit: 20,
10
+ });
11
+ ```
12
+
13
+ ## Input
14
+
15
+ ```typescript
16
+ {
17
+ object: string;
18
+ record_id: string;
19
+ limit?: number;
20
+ offset?: number;
21
+ }
22
+ ```
23
+
24
+ ## Output
25
+
26
+ ```typescript
27
+ {
28
+ data: Array<{
29
+ id: { workspace_id: string; entry_id: string; list_id: string };
30
+ parent_record_id: string;
31
+ parent_object: string;
32
+ created_at: string;
33
+ entry_values: Record<string, AttioAttributeValue[]>;
34
+ }>;
35
+ next_cursor?: string | null;
36
+ }
37
+ ```
@@ -0,0 +1,55 @@
1
+ # listRecords
2
+
3
+ List/query records with filters and sorting. Works for people, companies, deals, and custom objects.
4
+
5
+ ```typescript
6
+ // Simple list
7
+ const result = await integrations.attio.listRecords({
8
+ object: "people",
9
+ limit: 20,
10
+ offset: 0,
11
+ sorts: [{ attribute: "created_at", direction: "desc" }],
12
+ });
13
+
14
+ // With filter
15
+ const filtered = await integrations.attio.listRecords({
16
+ object: "companies",
17
+ limit: 10,
18
+ filter: {
19
+ name: { "$contains": "Acme" },
20
+ },
21
+ sorts: [{ attribute: "name", direction: "asc" }],
22
+ });
23
+ ```
24
+
25
+ ## Input
26
+
27
+ ```typescript
28
+ {
29
+ object: string;
30
+ limit?: number;
31
+ offset?: number;
32
+ sorts?: Array<{
33
+ attribute: string;
34
+ field?: string;
35
+ direction: "asc" | "desc";
36
+ }>;
37
+ filter?: Record<string, any>;
38
+ }
39
+ ```
40
+
41
+ `object` is extracted as a path parameter. The remaining fields are sent as the POST query body.
42
+
43
+ ## Output
44
+
45
+ ```typescript
46
+ {
47
+ data: Array<{
48
+ id: { workspace_id: string; object_id: string; record_id: string };
49
+ created_at: string;
50
+ web_url: string;
51
+ values: Record<string, Array<{ active_from?: string; active_until?: string | null; attribute_type?: string; [key: string]: any }>>;
52
+ }>;
53
+ next_cursor?: string | null;
54
+ }
55
+ ```
@@ -0,0 +1,35 @@
1
+ # listSelectOptions
2
+
3
+ List select options for an attribute.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listSelectOptions({
7
+ target: "objects",
8
+ target_identifier: "companies",
9
+ attribute: "industry",
10
+ });
11
+ ```
12
+
13
+ ## Input
14
+
15
+ ```typescript
16
+ {
17
+ target: "objects" | "lists";
18
+ target_identifier: string;
19
+ attribute: string;
20
+ show_archived?: boolean;
21
+ }
22
+ ```
23
+
24
+ ## Output
25
+
26
+ ```typescript
27
+ {
28
+ data: Array<{
29
+ id: { option_id: string };
30
+ title: string;
31
+ is_archived: boolean;
32
+ }>;
33
+ next_cursor?: string | null;
34
+ }
35
+ ```
@@ -0,0 +1,37 @@
1
+ # listStatuses
2
+
3
+ List statuses for a status attribute.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listStatuses({
7
+ target: "objects",
8
+ target_identifier: "deals",
9
+ attribute: "stage",
10
+ });
11
+ ```
12
+
13
+ ## Input
14
+
15
+ ```typescript
16
+ {
17
+ target: "objects" | "lists";
18
+ target_identifier: string;
19
+ attribute: string;
20
+ show_archived?: boolean;
21
+ }
22
+ ```
23
+
24
+ ## Output
25
+
26
+ ```typescript
27
+ {
28
+ data: Array<{
29
+ id: { status_id: string };
30
+ title: string;
31
+ is_archived: boolean;
32
+ celebration_enabled: boolean;
33
+ target_time_in_status: string | null;
34
+ }>;
35
+ next_cursor?: string | null;
36
+ }
37
+ ```
@@ -0,0 +1,45 @@
1
+ # listTasks
2
+
3
+ List tasks with optional filters.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listTasks({
7
+ limit: 25,
8
+ sort: "created_at:desc",
9
+ linked_object: "companies",
10
+ linked_record_id: "rec_01abc123def456",
11
+ is_completed: false,
12
+ });
13
+ ```
14
+
15
+ ## Input
16
+
17
+ ```typescript
18
+ {
19
+ limit?: number;
20
+ offset?: number;
21
+ sort?: "created_at:asc" | "created_at:desc";
22
+ linked_object?: string;
23
+ linked_record_id?: string;
24
+ assignee?: string | null;
25
+ is_completed?: boolean;
26
+ }
27
+ ```
28
+
29
+ ## Output
30
+
31
+ ```typescript
32
+ {
33
+ data: Array<{
34
+ id: { task_id: string };
35
+ content_plaintext: string;
36
+ is_completed: boolean;
37
+ deadline_at: string | null;
38
+ created_at: string;
39
+ created_by_actor: { type: string; id: string | null };
40
+ assignees: Array<{ type: string; id: string | null }>;
41
+ linked_records: Array<{ target_object: string; target_record_id: string }>;
42
+ }>;
43
+ next_cursor?: string | null;
44
+ }
45
+ ```
@@ -0,0 +1,51 @@
1
+ # listThreads
2
+
3
+ List comment threads, optionally filtered by record or entry.
4
+
5
+ ```typescript
6
+ // List threads for a record
7
+ const result = await integrations.attio.listThreads({
8
+ object: "companies",
9
+ record_id: "rec_01abc123def456",
10
+ limit: 10,
11
+ });
12
+
13
+ // List threads for a list entry
14
+ const entryThreads = await integrations.attio.listThreads({
15
+ list: "sales_pipeline",
16
+ entry_id: "ent_01abc123def456",
17
+ });
18
+ ```
19
+
20
+ ## Input
21
+
22
+ ```typescript
23
+ {
24
+ record_id?: string;
25
+ object?: string;
26
+ entry_id?: string;
27
+ list?: string;
28
+ limit?: number;
29
+ offset?: number;
30
+ }
31
+ ```
32
+
33
+ ## Output
34
+
35
+ ```typescript
36
+ {
37
+ data: Array<{
38
+ id: { thread_id: string };
39
+ record_id?: string;
40
+ entry_id?: string;
41
+ comments: Array<{
42
+ id: { comment_id: string };
43
+ thread_id: string;
44
+ content_plaintext: string;
45
+ created_at: string;
46
+ author: { type: string; id: string | null };
47
+ }>;
48
+ }>;
49
+ next_cursor?: string | null;
50
+ }
51
+ ```
@@ -0,0 +1,31 @@
1
+ # listWebhooks
2
+
3
+ List all webhooks.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listWebhooks({ limit: 20 });
7
+ ```
8
+
9
+ ## Input
10
+
11
+ ```typescript
12
+ {
13
+ limit?: number;
14
+ offset?: number;
15
+ }
16
+ ```
17
+
18
+ ## Output
19
+
20
+ ```typescript
21
+ {
22
+ data: Array<{
23
+ id: { webhook_id: string };
24
+ target_url: string;
25
+ subscriptions: Array<{ event_type: string; filter: Record<string, any> | null }>;
26
+ status: string;
27
+ created_at: string;
28
+ }>;
29
+ next_cursor?: string | null;
30
+ }
31
+ ```
@@ -0,0 +1,27 @@
1
+ # listWorkspaceMembers
2
+
3
+ List all workspace members.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.listWorkspaceMembers();
7
+ ```
8
+
9
+ ## Input
10
+
11
+ No input parameters.
12
+
13
+ ## Output
14
+
15
+ ```typescript
16
+ {
17
+ data: Array<{
18
+ id: { workspace_member_id: string };
19
+ first_name: string;
20
+ last_name: string;
21
+ avatar_url: string | null;
22
+ email_address: string;
23
+ created_at: string;
24
+ }>;
25
+ next_cursor?: string | null;
26
+ }
27
+ ```
@@ -0,0 +1,42 @@
1
+ # overwriteEntry
2
+
3
+ Overwrite a list entry. For multiselect attributes, all values are replaced.
4
+
5
+ ```typescript
6
+ // Attribute slugs in entry_values depend on your list's configuration
7
+ const result = await integrations.attio.overwriteEntry({
8
+ list_id: "list_01abc123def456",
9
+ entry_id: "entry_01xyz789ghi012",
10
+ data: {
11
+ entry_values: {
12
+ // Use your list's attribute api_slugs (e.g. "stage", "tags", etc.)
13
+ },
14
+ },
15
+ });
16
+ ```
17
+
18
+ ## Input
19
+
20
+ ```typescript
21
+ {
22
+ list_id: string;
23
+ entry_id: string;
24
+ data: {
25
+ entry_values: Record<string, any>;
26
+ };
27
+ }
28
+ ```
29
+
30
+ ## Output
31
+
32
+ ```typescript
33
+ {
34
+ data: {
35
+ id: { workspace_id: string; entry_id: string; list_id: string };
36
+ parent_record_id: string;
37
+ parent_object: string;
38
+ created_at: string;
39
+ entry_values: Record<string, Array<{ active_from?: string; active_until?: string | null; attribute_type?: string; [key: string]: any }>>;
40
+ };
41
+ }
42
+ ```
@@ -0,0 +1,41 @@
1
+ # overwriteRecord
2
+
3
+ Overwrite a record. For multiselect attributes, all values are replaced with the supplied values.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.overwriteRecord({
7
+ object: "companies",
8
+ record_id: "rec_01xyz789ghi012",
9
+ data: {
10
+ values: {
11
+ categories: ["saas", "enterprise"],
12
+ description: "Cloud infrastructure provider",
13
+ },
14
+ },
15
+ });
16
+ ```
17
+
18
+ ## Input
19
+
20
+ ```typescript
21
+ {
22
+ object: string;
23
+ record_id: string;
24
+ data: {
25
+ values: Record<string, any>;
26
+ };
27
+ }
28
+ ```
29
+
30
+ ## Output
31
+
32
+ ```typescript
33
+ {
34
+ data: {
35
+ id: { workspace_id: string; object_id: string; record_id: string };
36
+ created_at: string;
37
+ web_url: string;
38
+ values: Record<string, Array<{ active_from?: string; active_until?: string | null; attribute_type?: string; [key: string]: any }>>;
39
+ };
40
+ }
41
+ ```
@@ -0,0 +1,40 @@
1
+ # searchRecords
2
+
3
+ Fuzzy search across records by text query.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.searchRecords({
7
+ query: "Jane Smith",
8
+ objects: ["people", "companies"],
9
+ request_as: { type: "workspace" },
10
+ limit: 10,
11
+ });
12
+ ```
13
+
14
+ ## Input
15
+
16
+ ```typescript
17
+ {
18
+ query: string;
19
+ objects: string[];
20
+ request_as:
21
+ | { type: "workspace" }
22
+ | { type: "workspace-member"; workspace_member_id: string }
23
+ | { type: "workspace-member"; email_address: string };
24
+ limit?: number;
25
+ }
26
+ ```
27
+
28
+ ## Output
29
+
30
+ ```typescript
31
+ {
32
+ data: Array<{
33
+ id: { workspace_id: string; object_id: string; record_id: string };
34
+ created_at: string;
35
+ web_url: string;
36
+ values: Record<string, Array<{ active_from?: string; active_until?: string | null; attribute_type?: string; [key: string]: any }>>;
37
+ }>;
38
+ next_cursor?: string | null;
39
+ }
40
+ ```
@@ -0,0 +1,53 @@
1
+ # updateAttribute
2
+
3
+ Update an attribute.
4
+
5
+ ```typescript
6
+ const result = await integrations.attio.updateAttribute({
7
+ target: "objects",
8
+ target_identifier: "companies",
9
+ attribute: "annual_revenue",
10
+ data: {
11
+ title: "Annual Revenue (USD)",
12
+ is_required: true,
13
+ },
14
+ });
15
+ ```
16
+
17
+ ## Input
18
+
19
+ ```typescript
20
+ {
21
+ target: "objects" | "lists";
22
+ target_identifier: string;
23
+ attribute: string;
24
+ data: {
25
+ title?: string;
26
+ description?: string | null;
27
+ api_slug?: string;
28
+ is_required?: boolean;
29
+ is_unique?: boolean;
30
+ is_archived?: boolean;
31
+ default_value?: any;
32
+ config?: Record<string, any>;
33
+ };
34
+ }
35
+ ```
36
+
37
+ ## Output
38
+
39
+ ```typescript
40
+ {
41
+ data: {
42
+ id: { attribute_id: string; object_id?: string; list_id?: string };
43
+ title: string;
44
+ api_slug: string;
45
+ type: string;
46
+ is_required: boolean;
47
+ is_unique: boolean;
48
+ is_multiselect: boolean;
49
+ is_writable: boolean;
50
+ created_at: string;
51
+ };
52
+ }
53
+ ```