@keystrokehq/project_bubble 0.1.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 (58) hide show
  1. package/README.md +17 -0
  2. package/dist/action.cjs +21 -0
  3. package/dist/action.cjs.map +1 -0
  4. package/dist/action.mjs +21 -0
  5. package/dist/action.mjs.map +1 -0
  6. package/dist/actions/data-api-get-data-type-fields.cjs +22 -0
  7. package/dist/actions/data-api-get-data-type-fields.cjs.map +1 -0
  8. package/dist/actions/data-api-get-data-type-fields.d.cts +9 -0
  9. package/dist/actions/data-api-get-data-type-fields.d.cts.map +1 -0
  10. package/dist/actions/data-api-get-data-type-fields.d.mts +9 -0
  11. package/dist/actions/data-api-get-data-type-fields.d.mts.map +1 -0
  12. package/dist/actions/data-api-get-data-type-fields.mjs +21 -0
  13. package/dist/actions/data-api-get-data-type-fields.mjs.map +1 -0
  14. package/dist/actions/data-api-get-objects.cjs +29 -0
  15. package/dist/actions/data-api-get-objects.cjs.map +1 -0
  16. package/dist/actions/data-api-get-objects.d.cts +9 -0
  17. package/dist/actions/data-api-get-objects.d.cts.map +1 -0
  18. package/dist/actions/data-api-get-objects.d.mts +9 -0
  19. package/dist/actions/data-api-get-objects.d.mts.map +1 -0
  20. package/dist/actions/data-api-get-objects.mjs +26 -0
  21. package/dist/actions/data-api-get-objects.mjs.map +1 -0
  22. package/dist/actions/data-api-get-record.cjs +23 -0
  23. package/dist/actions/data-api-get-record.cjs.map +1 -0
  24. package/dist/actions/data-api-get-record.d.cts +9 -0
  25. package/dist/actions/data-api-get-record.d.cts.map +1 -0
  26. package/dist/actions/data-api-get-record.d.mts +9 -0
  27. package/dist/actions/data-api-get-record.d.mts.map +1 -0
  28. package/dist/actions/data-api-get-record.mjs +20 -0
  29. package/dist/actions/data-api-get-record.mjs.map +1 -0
  30. package/dist/actions/index.cjs +7 -0
  31. package/dist/actions/index.d.cts +4 -0
  32. package/dist/actions/index.d.mts +4 -0
  33. package/dist/actions/index.mjs +4 -0
  34. package/dist/app.cjs +9 -0
  35. package/dist/app.cjs.map +1 -0
  36. package/dist/app.d.cts +5 -0
  37. package/dist/app.d.cts.map +1 -0
  38. package/dist/app.d.mts +5 -0
  39. package/dist/app.d.mts.map +1 -0
  40. package/dist/app.mjs +10 -0
  41. package/dist/app.mjs.map +1 -0
  42. package/dist/catalog.cjs +15 -0
  43. package/dist/catalog.cjs.map +1 -0
  44. package/dist/catalog.d.cts +14 -0
  45. package/dist/catalog.d.cts.map +1 -0
  46. package/dist/catalog.d.mts +14 -0
  47. package/dist/catalog.d.mts.map +1 -0
  48. package/dist/catalog.mjs +15 -0
  49. package/dist/catalog.mjs.map +1 -0
  50. package/dist/execute.cjs +18 -0
  51. package/dist/execute.cjs.map +1 -0
  52. package/dist/execute.mjs +18 -0
  53. package/dist/execute.mjs.map +1 -0
  54. package/dist/index.cjs +12 -0
  55. package/dist/index.d.cts +6 -0
  56. package/dist/index.d.mts +6 -0
  57. package/dist/index.mjs +7 -0
  58. package/package.json +49 -0
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # @keystrokehq/project_bubble
2
+
3
+ Keystroke-managed integration.
4
+
5
+ **App:** `project_bubble`
6
+ **Version:** `20260615_00`
7
+ **Actions:** 3
8
+
9
+ ```ts
10
+ import { defineAgent } from "@keystrokehq/keystroke/agent";
11
+ import { projectBubbleDataApiGetDataTypeFields } from "@keystrokehq/project_bubble/actions";
12
+
13
+ export default defineAgent({
14
+ key: "project_bubble-agent",
15
+ tools: [projectBubbleDataApiGetDataTypeFields],
16
+ });
17
+ ```
@@ -0,0 +1,21 @@
1
+ const require_app = require("./app.cjs");
2
+ const require_execute = require("./execute.cjs");
3
+ require("zod");
4
+ //#region src/action.ts
5
+ /** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */
6
+ function action(tool, def) {
7
+ return require_app.projectBubble.action({
8
+ slug: def.slug,
9
+ name: def.name,
10
+ description: def.description,
11
+ input: def.input,
12
+ output: def.output,
13
+ async run(input) {
14
+ return def.output.parse(await require_execute.executeProjectBubbleTool(tool, input));
15
+ }
16
+ });
17
+ }
18
+ //#endregion
19
+ exports.action = action;
20
+
21
+ //# sourceMappingURL=action.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.cjs","names":["projectBubble","executeProjectBubbleTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { projectBubble } from \"./app\";\nimport { executeProjectBubbleTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: z.ZodTypeAny;\n output: z.ZodTypeAny;\n },\n) {\n return projectBubble.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeProjectBubbleTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,cAAc,OAAO;EAC1B,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,yBAAyB,MAAM,KAAgC,CAAC;EAChG;CACF,CAAC;AACH"}
@@ -0,0 +1,21 @@
1
+ import { projectBubble } from "./app.mjs";
2
+ import { executeProjectBubbleTool } from "./execute.mjs";
3
+ import "zod";
4
+ //#region src/action.ts
5
+ /** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */
6
+ function action(tool, def) {
7
+ return projectBubble.action({
8
+ slug: def.slug,
9
+ name: def.name,
10
+ description: def.description,
11
+ input: def.input,
12
+ output: def.output,
13
+ async run(input) {
14
+ return def.output.parse(await executeProjectBubbleTool(tool, input));
15
+ }
16
+ });
17
+ }
18
+ //#endregion
19
+ export { action };
20
+
21
+ //# sourceMappingURL=action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { projectBubble } from \"./app\";\nimport { executeProjectBubbleTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: z.ZodTypeAny;\n output: z.ZodTypeAny;\n },\n) {\n return projectBubble.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeProjectBubbleTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,cAAc,OAAO;EAC1B,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,yBAAyB,MAAM,KAAgC,CAAC;EAChG;CACF,CAAC;AACH"}
@@ -0,0 +1,22 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/data-api-get-data-type-fields.ts
4
+ const ProjectBubbleDataApiGetDataTypeFieldsInput = zod.z.object({ data_type: zod.z.string().describe("The name of the Bubble data type to retrieve field schema for (case-sensitive).") }).describe("Request model for retrieving fields of a specific Bubble data type.");
5
+ const ProjectBubbleDataApiGetDataTypeFields_DataTypeFieldInfoSchema = zod.z.object({
6
+ name: zod.z.string().describe("Name of the field"),
7
+ type: zod.z.string().describe("Data type of the field (e.g., 'text', 'number')"),
8
+ required: zod.z.boolean().describe("Whether the field is required"),
9
+ description: zod.z.string().describe("Optional description of the field").nullable().optional()
10
+ }).describe("Model for a single field in a data type.");
11
+ const ProjectBubbleDataApiGetDataTypeFieldsOutput = zod.z.object({ fields: zod.z.array(ProjectBubbleDataApiGetDataTypeFields_DataTypeFieldInfoSchema).describe("List of custom fields defined for this data type. Empty list indicates no custom fields are configured.") }).describe("Response model for retrieving fields of a specific Bubble data type.");
12
+ const projectBubbleDataApiGetDataTypeFields = require_action.action("PROJECT_BUBBLE_DATA_API_GET_DATA_TYPE_FIELDS", {
13
+ slug: "project_bubble-data-api-get-data-type-fields",
14
+ name: "Data API Get Data Type Fields",
15
+ description: "Retrieves the field schema for a specific Bubble data type, returning metadata about each field including its name, data type, and whether it's required. Use this after discovering available data types to understand their structure before querying or manipulating records.",
16
+ input: ProjectBubbleDataApiGetDataTypeFieldsInput,
17
+ output: ProjectBubbleDataApiGetDataTypeFieldsOutput
18
+ });
19
+ //#endregion
20
+ exports.projectBubbleDataApiGetDataTypeFields = projectBubbleDataApiGetDataTypeFields;
21
+
22
+ //# sourceMappingURL=data-api-get-data-type-fields.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-data-type-fields.cjs","names":["z","action"],"sources":["../../src/actions/data-api-get-data-type-fields.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProjectBubbleDataApiGetDataTypeFieldsInput: z.ZodTypeAny = z.object({\n data_type: z.string().describe(\"The name of the Bubble data type to retrieve field schema for (case-sensitive).\"),\n}).describe(\"Request model for retrieving fields of a specific Bubble data type.\");\nconst ProjectBubbleDataApiGetDataTypeFields_DataTypeFieldInfoSchema: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Name of the field\"),\n type: z.string().describe(\"Data type of the field (e.g., 'text', 'number')\"),\n required: z.boolean().describe(\"Whether the field is required\"),\n description: z.string().describe(\"Optional description of the field\").nullable().optional(),\n}).describe(\"Model for a single field in a data type.\");\nexport const ProjectBubbleDataApiGetDataTypeFieldsOutput: z.ZodTypeAny = z.object({\n fields: z.array(ProjectBubbleDataApiGetDataTypeFields_DataTypeFieldInfoSchema).describe(\"List of custom fields defined for this data type. Empty list indicates no custom fields are configured.\"),\n}).describe(\"Response model for retrieving fields of a specific Bubble data type.\");\n\nexport const projectBubbleDataApiGetDataTypeFields = action(\"PROJECT_BUBBLE_DATA_API_GET_DATA_TYPE_FIELDS\", {\n slug: \"project_bubble-data-api-get-data-type-fields\",\n name: \"Data API Get Data Type Fields\",\n description: \"Retrieves the field schema for a specific Bubble data type, returning metadata about each field including its name, data type, and whether it's required. Use this after discovering available data types to understand their structure before querying or manipulating records.\",\n input: ProjectBubbleDataApiGetDataTypeFieldsInput,\n output: ProjectBubbleDataApiGetDataTypeFieldsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6CAA2DA,IAAAA,EAAE,OAAO,EAC/E,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iFAAiF,EAClH,CAAC,CAAC,CAAC,SAAS,qEAAqE;AACjF,MAAM,gEAA8EA,IAAAA,EAAE,OAAO;CAC3F,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB;CAC7C,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD;CAC3E,UAAUA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,+BAA+B;CAC9D,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,SAAS,0CAA0C;AACtD,MAAa,8CAA4DA,IAAAA,EAAE,OAAO,EAChF,QAAQA,IAAAA,EAAE,MAAM,6DAA6D,CAAC,CAAC,SAAS,yGAAyG,EACnM,CAAC,CAAC,CAAC,SAAS,sEAAsE;AAElF,MAAa,wCAAwCC,eAAAA,OAAO,gDAAgD;CAC1G,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/data-api-get-data-type-fields.d.ts
4
+ declare const ProjectBubbleDataApiGetDataTypeFieldsInput: z.ZodTypeAny;
5
+ declare const ProjectBubbleDataApiGetDataTypeFieldsOutput: z.ZodTypeAny;
6
+ declare const projectBubbleDataApiGetDataTypeFields: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { projectBubbleDataApiGetDataTypeFields };
9
+ //# sourceMappingURL=data-api-get-data-type-fields.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-data-type-fields.d.cts","names":[],"sources":["../../src/actions/data-api-get-data-type-fields.ts"],"mappings":";;;cAIa,0CAAA,EAA4C,CAAA,CAAE,UAEuB;AAAA,cAOrE,2CAAA,EAA6C,CAAA,CAAE,UAEuB;AAAA,cAEtE,qCAAA,gCAAqC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/data-api-get-data-type-fields.d.ts
4
+ declare const ProjectBubbleDataApiGetDataTypeFieldsInput: z.ZodTypeAny;
5
+ declare const ProjectBubbleDataApiGetDataTypeFieldsOutput: z.ZodTypeAny;
6
+ declare const projectBubbleDataApiGetDataTypeFields: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { projectBubbleDataApiGetDataTypeFields };
9
+ //# sourceMappingURL=data-api-get-data-type-fields.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-data-type-fields.d.mts","names":[],"sources":["../../src/actions/data-api-get-data-type-fields.ts"],"mappings":";;;cAIa,0CAAA,EAA4C,CAAA,CAAE,UAEuB;AAAA,cAOrE,2CAAA,EAA6C,CAAA,CAAE,UAEuB;AAAA,cAEtE,qCAAA,gCAAqC,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,21 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/data-api-get-data-type-fields.ts
4
+ const ProjectBubbleDataApiGetDataTypeFieldsInput = z.object({ data_type: z.string().describe("The name of the Bubble data type to retrieve field schema for (case-sensitive).") }).describe("Request model for retrieving fields of a specific Bubble data type.");
5
+ const ProjectBubbleDataApiGetDataTypeFields_DataTypeFieldInfoSchema = z.object({
6
+ name: z.string().describe("Name of the field"),
7
+ type: z.string().describe("Data type of the field (e.g., 'text', 'number')"),
8
+ required: z.boolean().describe("Whether the field is required"),
9
+ description: z.string().describe("Optional description of the field").nullable().optional()
10
+ }).describe("Model for a single field in a data type.");
11
+ const projectBubbleDataApiGetDataTypeFields = action("PROJECT_BUBBLE_DATA_API_GET_DATA_TYPE_FIELDS", {
12
+ slug: "project_bubble-data-api-get-data-type-fields",
13
+ name: "Data API Get Data Type Fields",
14
+ description: "Retrieves the field schema for a specific Bubble data type, returning metadata about each field including its name, data type, and whether it's required. Use this after discovering available data types to understand their structure before querying or manipulating records.",
15
+ input: ProjectBubbleDataApiGetDataTypeFieldsInput,
16
+ output: z.object({ fields: z.array(ProjectBubbleDataApiGetDataTypeFields_DataTypeFieldInfoSchema).describe("List of custom fields defined for this data type. Empty list indicates no custom fields are configured.") }).describe("Response model for retrieving fields of a specific Bubble data type.")
17
+ });
18
+ //#endregion
19
+ export { projectBubbleDataApiGetDataTypeFields };
20
+
21
+ //# sourceMappingURL=data-api-get-data-type-fields.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-data-type-fields.mjs","names":[],"sources":["../../src/actions/data-api-get-data-type-fields.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProjectBubbleDataApiGetDataTypeFieldsInput: z.ZodTypeAny = z.object({\n data_type: z.string().describe(\"The name of the Bubble data type to retrieve field schema for (case-sensitive).\"),\n}).describe(\"Request model for retrieving fields of a specific Bubble data type.\");\nconst ProjectBubbleDataApiGetDataTypeFields_DataTypeFieldInfoSchema: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Name of the field\"),\n type: z.string().describe(\"Data type of the field (e.g., 'text', 'number')\"),\n required: z.boolean().describe(\"Whether the field is required\"),\n description: z.string().describe(\"Optional description of the field\").nullable().optional(),\n}).describe(\"Model for a single field in a data type.\");\nexport const ProjectBubbleDataApiGetDataTypeFieldsOutput: z.ZodTypeAny = z.object({\n fields: z.array(ProjectBubbleDataApiGetDataTypeFields_DataTypeFieldInfoSchema).describe(\"List of custom fields defined for this data type. Empty list indicates no custom fields are configured.\"),\n}).describe(\"Response model for retrieving fields of a specific Bubble data type.\");\n\nexport const projectBubbleDataApiGetDataTypeFields = action(\"PROJECT_BUBBLE_DATA_API_GET_DATA_TYPE_FIELDS\", {\n slug: \"project_bubble-data-api-get-data-type-fields\",\n name: \"Data API Get Data Type Fields\",\n description: \"Retrieves the field schema for a specific Bubble data type, returning metadata about each field including its name, data type, and whether it's required. Use this after discovering available data types to understand their structure before querying or manipulating records.\",\n input: ProjectBubbleDataApiGetDataTypeFieldsInput,\n output: ProjectBubbleDataApiGetDataTypeFieldsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6CAA2D,EAAE,OAAO,EAC/E,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,iFAAiF,EAClH,CAAC,CAAC,CAAC,SAAS,qEAAqE;AACjF,MAAM,gEAA8E,EAAE,OAAO;CAC3F,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB;CAC7C,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD;CAC3E,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,+BAA+B;CAC9D,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC5F,CAAC,CAAC,CAAC,SAAS,0CAA0C;AAKtD,MAAa,wCAAwC,OAAO,gDAAgD;CAC1G,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QATuE,EAAE,OAAO,EAChF,QAAQ,EAAE,MAAM,6DAA6D,CAAC,CAAC,SAAS,yGAAyG,EACnM,CAAC,CAAC,CAAC,SAAS,sEAOF;AACV,CAAC"}
@@ -0,0 +1,29 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/data-api-get-objects.ts
4
+ const ProjectBubbleDataApiGetObjectsInput = zod.z.object({
5
+ count: zod.z.enum(["yes", "no"]).describe("If 'yes', return only the total count of matching objects instead of object data.").optional(),
6
+ limit: zod.z.number().int().describe("Maximum number of objects to return (1–1000). Defaults to server-side setting if omitted.").optional(),
7
+ cursor: zod.z.string().describe("Pagination cursor from a previous response for fetching the next page.").optional(),
8
+ data_type: zod.z.string().describe("Name of the Bubble data type to list objects from (case-sensitive)."),
9
+ descending: zod.z.enum(["yes", "no"]).describe("Sort in descending order when 'yes'; ascending when 'no' or omitted.").optional(),
10
+ sort_field: zod.z.string().describe("Field name to sort results by (must be a valid field on the data type).").optional(),
11
+ constraints: zod.z.string().describe("JSON-encoded search constraints to filter objects. For example: '{\"Status\":\"Active\"}'.").optional(),
12
+ ignore_fields: zod.z.enum(["yes", "no"]).describe("If 'yes', omit null-valued fields in each returned object.").optional()
13
+ }).describe("Request model for retrieving multiple objects from a Bubble Data API data type.");
14
+ const ProjectBubbleDataApiGetObjectsOutput = zod.z.object({
15
+ count: zod.z.number().int().describe("Total count of matching objects. Present only when count='yes'.").nullable().optional(),
16
+ results: zod.z.array(zod.z.record(zod.z.string(), zod.z.unknown())).describe("List of objects matching the query. Each object includes its fields and metadata. Omitted when count='yes'.").nullable().optional(),
17
+ remaining: zod.z.number().int().describe("Estimated number of objects remaining beyond the returned results.").nullable().optional()
18
+ }).describe("Response model for listing objects in a Bubble Data API data type.");
19
+ const projectBubbleDataApiGetObjects = require_action.action("PROJECT_BUBBLE_DATA_API_GET_OBJECTS", {
20
+ slug: "project_bubble-data-api-get-objects",
21
+ name: "Data API Get Objects",
22
+ description: "Tool to retrieve a list of objects for a specified data type. Use when you need to list items with optional filters, sorting, and pagination.",
23
+ input: ProjectBubbleDataApiGetObjectsInput,
24
+ output: ProjectBubbleDataApiGetObjectsOutput
25
+ });
26
+ //#endregion
27
+ exports.projectBubbleDataApiGetObjects = projectBubbleDataApiGetObjects;
28
+
29
+ //# sourceMappingURL=data-api-get-objects.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-objects.cjs","names":["z","action"],"sources":["../../src/actions/data-api-get-objects.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProjectBubbleDataApiGetObjectsInput: z.ZodTypeAny = z.object({\n count: z.enum([\"yes\", \"no\"]).describe(\"If 'yes', return only the total count of matching objects instead of object data.\").optional(),\n limit: z.number().int().describe(\"Maximum number of objects to return (1–1000). Defaults to server-side setting if omitted.\").optional(),\n cursor: z.string().describe(\"Pagination cursor from a previous response for fetching the next page.\").optional(),\n data_type: z.string().describe(\"Name of the Bubble data type to list objects from (case-sensitive).\"),\n descending: z.enum([\"yes\", \"no\"]).describe(\"Sort in descending order when 'yes'; ascending when 'no' or omitted.\").optional(),\n sort_field: z.string().describe(\"Field name to sort results by (must be a valid field on the data type).\").optional(),\n constraints: z.string().describe(\"JSON-encoded search constraints to filter objects. For example: '{\\\"Status\\\":\\\"Active\\\"}'.\").optional(),\n ignore_fields: z.enum([\"yes\", \"no\"]).describe(\"If 'yes', omit null-valued fields in each returned object.\").optional(),\n}).describe(\"Request model for retrieving multiple objects from a Bubble Data API data type.\");\nexport const ProjectBubbleDataApiGetObjectsOutput: z.ZodTypeAny = z.object({\n count: z.number().int().describe(\"Total count of matching objects. Present only when count='yes'.\").nullable().optional(),\n results: z.array(z.record(z.string(), z.unknown())).describe(\"List of objects matching the query. Each object includes its fields and metadata. Omitted when count='yes'.\").nullable().optional(),\n remaining: z.number().int().describe(\"Estimated number of objects remaining beyond the returned results.\").nullable().optional(),\n}).describe(\"Response model for listing objects in a Bubble Data API data type.\");\n\nexport const projectBubbleDataApiGetObjects = action(\"PROJECT_BUBBLE_DATA_API_GET_OBJECTS\", {\n slug: \"project_bubble-data-api-get-objects\",\n name: \"Data API Get Objects\",\n description: \"Tool to retrieve a list of objects for a specified data type. Use when you need to list items with optional filters, sorting, and pagination.\",\n input: ProjectBubbleDataApiGetObjectsInput,\n output: ProjectBubbleDataApiGetObjectsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,sCAAoDA,IAAAA,EAAE,OAAO;CACxE,OAAOA,IAAAA,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;CACpI,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS;CACvI,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CAC/G,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE;CACpG,YAAYA,IAAAA,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;CAC5H,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS;CACpH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4FAA4F,CAAC,CAAC,SAAS;CACxI,eAAeA,IAAAA,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;AACvH,CAAC,CAAC,CAAC,SAAS,iFAAiF;AAC7F,MAAa,uCAAqDA,IAAAA,EAAE,OAAO;CACzE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxH,SAASA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChM,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjI,CAAC,CAAC,CAAC,SAAS,oEAAoE;AAEhF,MAAa,iCAAiCC,eAAAA,OAAO,uCAAuC;CAC1F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/data-api-get-objects.d.ts
4
+ declare const ProjectBubbleDataApiGetObjectsInput: z.ZodTypeAny;
5
+ declare const ProjectBubbleDataApiGetObjectsOutput: z.ZodTypeAny;
6
+ declare const projectBubbleDataApiGetObjects: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { projectBubbleDataApiGetObjects };
9
+ //# sourceMappingURL=data-api-get-objects.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-objects.d.cts","names":[],"sources":["../../src/actions/data-api-get-objects.ts"],"mappings":";;;cAIa,mCAAA,EAAqC,CAAA,CAAE,UAS0C;AAAA,cACjF,oCAAA,EAAsC,CAAA,CAAE,UAI4B;AAAA,cAEpE,8BAAA,gCAA8B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/data-api-get-objects.d.ts
4
+ declare const ProjectBubbleDataApiGetObjectsInput: z.ZodTypeAny;
5
+ declare const ProjectBubbleDataApiGetObjectsOutput: z.ZodTypeAny;
6
+ declare const projectBubbleDataApiGetObjects: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { projectBubbleDataApiGetObjects };
9
+ //# sourceMappingURL=data-api-get-objects.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-objects.d.mts","names":[],"sources":["../../src/actions/data-api-get-objects.ts"],"mappings":";;;cAIa,mCAAA,EAAqC,CAAA,CAAE,UAS0C;AAAA,cACjF,oCAAA,EAAsC,CAAA,CAAE,UAI4B;AAAA,cAEpE,8BAAA,gCAA8B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,26 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const projectBubbleDataApiGetObjects = action("PROJECT_BUBBLE_DATA_API_GET_OBJECTS", {
4
+ slug: "project_bubble-data-api-get-objects",
5
+ name: "Data API Get Objects",
6
+ description: "Tool to retrieve a list of objects for a specified data type. Use when you need to list items with optional filters, sorting, and pagination.",
7
+ input: z.object({
8
+ count: z.enum(["yes", "no"]).describe("If 'yes', return only the total count of matching objects instead of object data.").optional(),
9
+ limit: z.number().int().describe("Maximum number of objects to return (1–1000). Defaults to server-side setting if omitted.").optional(),
10
+ cursor: z.string().describe("Pagination cursor from a previous response for fetching the next page.").optional(),
11
+ data_type: z.string().describe("Name of the Bubble data type to list objects from (case-sensitive)."),
12
+ descending: z.enum(["yes", "no"]).describe("Sort in descending order when 'yes'; ascending when 'no' or omitted.").optional(),
13
+ sort_field: z.string().describe("Field name to sort results by (must be a valid field on the data type).").optional(),
14
+ constraints: z.string().describe("JSON-encoded search constraints to filter objects. For example: '{\"Status\":\"Active\"}'.").optional(),
15
+ ignore_fields: z.enum(["yes", "no"]).describe("If 'yes', omit null-valued fields in each returned object.").optional()
16
+ }).describe("Request model for retrieving multiple objects from a Bubble Data API data type."),
17
+ output: z.object({
18
+ count: z.number().int().describe("Total count of matching objects. Present only when count='yes'.").nullable().optional(),
19
+ results: z.array(z.record(z.string(), z.unknown())).describe("List of objects matching the query. Each object includes its fields and metadata. Omitted when count='yes'.").nullable().optional(),
20
+ remaining: z.number().int().describe("Estimated number of objects remaining beyond the returned results.").nullable().optional()
21
+ }).describe("Response model for listing objects in a Bubble Data API data type.")
22
+ });
23
+ //#endregion
24
+ export { projectBubbleDataApiGetObjects };
25
+
26
+ //# sourceMappingURL=data-api-get-objects.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-objects.mjs","names":[],"sources":["../../src/actions/data-api-get-objects.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProjectBubbleDataApiGetObjectsInput: z.ZodTypeAny = z.object({\n count: z.enum([\"yes\", \"no\"]).describe(\"If 'yes', return only the total count of matching objects instead of object data.\").optional(),\n limit: z.number().int().describe(\"Maximum number of objects to return (1–1000). Defaults to server-side setting if omitted.\").optional(),\n cursor: z.string().describe(\"Pagination cursor from a previous response for fetching the next page.\").optional(),\n data_type: z.string().describe(\"Name of the Bubble data type to list objects from (case-sensitive).\"),\n descending: z.enum([\"yes\", \"no\"]).describe(\"Sort in descending order when 'yes'; ascending when 'no' or omitted.\").optional(),\n sort_field: z.string().describe(\"Field name to sort results by (must be a valid field on the data type).\").optional(),\n constraints: z.string().describe(\"JSON-encoded search constraints to filter objects. For example: '{\\\"Status\\\":\\\"Active\\\"}'.\").optional(),\n ignore_fields: z.enum([\"yes\", \"no\"]).describe(\"If 'yes', omit null-valued fields in each returned object.\").optional(),\n}).describe(\"Request model for retrieving multiple objects from a Bubble Data API data type.\");\nexport const ProjectBubbleDataApiGetObjectsOutput: z.ZodTypeAny = z.object({\n count: z.number().int().describe(\"Total count of matching objects. Present only when count='yes'.\").nullable().optional(),\n results: z.array(z.record(z.string(), z.unknown())).describe(\"List of objects matching the query. Each object includes its fields and metadata. Omitted when count='yes'.\").nullable().optional(),\n remaining: z.number().int().describe(\"Estimated number of objects remaining beyond the returned results.\").nullable().optional(),\n}).describe(\"Response model for listing objects in a Bubble Data API data type.\");\n\nexport const projectBubbleDataApiGetObjects = action(\"PROJECT_BUBBLE_DATA_API_GET_OBJECTS\", {\n slug: \"project_bubble-data-api-get-objects\",\n name: \"Data API Get Objects\",\n description: \"Tool to retrieve a list of objects for a specified data type. Use when you need to list items with optional filters, sorting, and pagination.\",\n input: ProjectBubbleDataApiGetObjectsInput,\n output: ProjectBubbleDataApiGetObjectsOutput,\n});\n"],"mappings":";;AAoBA,MAAa,iCAAiC,OAAO,uCAAuC;CAC1F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OApB+D,EAAE,OAAO;EACxE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;EACpI,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS;EACvI,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;EAC/G,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE;EACpG,YAAY,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;EAC5H,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS;EACpH,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,4FAA4F,CAAC,CAAC,SAAS;EACxI,eAAe,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;CACvH,CAAC,CAAC,CAAC,SAAS,iFAWH;CACP,QAXgE,EAAE,OAAO;EACzE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACxH,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChM,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjI,CAAC,CAAC,CAAC,SAAS,oEAOF;AACV,CAAC"}
@@ -0,0 +1,23 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/data-api-get-record.ts
4
+ const ProjectBubbleDataApiGetRecordInput = zod.z.object({
5
+ id: zod.z.string().describe("The unique identifier of the specific record to retrieve. This is the record's ID from the database."),
6
+ type: zod.z.string().describe("The data type (table/collection) name from which to retrieve the record. Must match an existing data type name exactly (case-sensitive).")
7
+ }).describe("Input parameters for fetching a specific Bubble Data API record by ID.");
8
+ const ProjectBubbleDataApiGetRecordOutput = zod.z.object({
9
+ id: zod.z.string().describe("Unique identifier of the record."),
10
+ created_date: zod.z.string().describe("Creation date in ISO 8601 format.").nullable().optional(),
11
+ modified_date: zod.z.string().describe("Last modification date in ISO 8601 format.").nullable().optional()
12
+ }).passthrough().describe("Response schema for a Bubble Data API record.\nContains record metadata and dynamic fields for all record properties.");
13
+ const projectBubbleDataApiGetRecord = require_action.action("PROJECT_BUBBLE_DATA_API_GET_RECORD", {
14
+ slug: "project_bubble-data-api-get-record",
15
+ name: "Get Record By ID",
16
+ description: "Retrieves a single record by its unique ID from a specified data type (table/collection). Use this when you need to fetch detailed information about a specific record and you already know its ID. The response includes all fields defined for that record, plus metadata like creation and modification dates. Common use cases: - Fetching full details of a specific team, user, or project by ID - Retrieving a record after getting its ID from a list/search operation - Accessing individual record properties for further processing Note: Returns an error if the record doesn't exist or you don't have permission to access it.",
17
+ input: ProjectBubbleDataApiGetRecordInput,
18
+ output: ProjectBubbleDataApiGetRecordOutput
19
+ });
20
+ //#endregion
21
+ exports.projectBubbleDataApiGetRecord = projectBubbleDataApiGetRecord;
22
+
23
+ //# sourceMappingURL=data-api-get-record.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-record.cjs","names":["z","action"],"sources":["../../src/actions/data-api-get-record.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProjectBubbleDataApiGetRecordInput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The unique identifier of the specific record to retrieve. This is the record's ID from the database.\"),\n type: z.string().describe(\"The data type (table/collection) name from which to retrieve the record. Must match an existing data type name exactly (case-sensitive).\"),\n}).describe(\"Input parameters for fetching a specific Bubble Data API record by ID.\");\nexport const ProjectBubbleDataApiGetRecordOutput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the record.\"),\n created_date: z.string().describe(\"Creation date in ISO 8601 format.\").nullable().optional(),\n modified_date: z.string().describe(\"Last modification date in ISO 8601 format.\").nullable().optional(),\n}).passthrough().describe(\"Response schema for a Bubble Data API record.\\nContains record metadata and dynamic fields for all record properties.\");\n\nexport const projectBubbleDataApiGetRecord = action(\"PROJECT_BUBBLE_DATA_API_GET_RECORD\", {\n slug: \"project_bubble-data-api-get-record\",\n name: \"Get Record By ID\",\n description: \"Retrieves a single record by its unique ID from a specified data type (table/collection). Use this when you need to fetch detailed information about a specific record and you already know its ID. The response includes all fields defined for that record, plus metadata like creation and modification dates. Common use cases: - Fetching full details of a specific team, user, or project by ID - Retrieving a record after getting its ID from a list/search operation - Accessing individual record properties for further processing Note: Returns an error if the record doesn't exist or you don't have permission to access it.\",\n input: ProjectBubbleDataApiGetRecordInput,\n output: ProjectBubbleDataApiGetRecordOutput,\n});\n"],"mappings":";;;AAIA,MAAa,qCAAmDA,IAAAA,EAAE,OAAO;CACvE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sGAAsG;CAC9H,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0IAA0I;AACtK,CAAC,CAAC,CAAC,SAAS,wEAAwE;AACpF,MAAa,sCAAoDA,IAAAA,EAAE,OAAO;CACxE,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC;CAC1D,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3F,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,uHAAuH;AAEjJ,MAAa,gCAAgCC,eAAAA,OAAO,sCAAsC;CACxF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/data-api-get-record.d.ts
4
+ declare const ProjectBubbleDataApiGetRecordInput: z.ZodTypeAny;
5
+ declare const ProjectBubbleDataApiGetRecordOutput: z.ZodTypeAny;
6
+ declare const projectBubbleDataApiGetRecord: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { projectBubbleDataApiGetRecord };
9
+ //# sourceMappingURL=data-api-get-record.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-record.d.cts","names":[],"sources":["../../src/actions/data-api-get-record.ts"],"mappings":";;;cAIa,kCAAA,EAAoC,CAAA,CAAE,UAGkC;AAAA,cACxE,mCAAA,EAAqC,CAAA,CAAE,UAI8F;AAAA,cAErI,6BAAA,gCAA6B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/data-api-get-record.d.ts
4
+ declare const ProjectBubbleDataApiGetRecordInput: z.ZodTypeAny;
5
+ declare const ProjectBubbleDataApiGetRecordOutput: z.ZodTypeAny;
6
+ declare const projectBubbleDataApiGetRecord: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { projectBubbleDataApiGetRecord };
9
+ //# sourceMappingURL=data-api-get-record.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-record.d.mts","names":[],"sources":["../../src/actions/data-api-get-record.ts"],"mappings":";;;cAIa,kCAAA,EAAoC,CAAA,CAAE,UAGkC;AAAA,cACxE,mCAAA,EAAqC,CAAA,CAAE,UAI8F;AAAA,cAErI,6BAAA,gCAA6B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,20 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const projectBubbleDataApiGetRecord = action("PROJECT_BUBBLE_DATA_API_GET_RECORD", {
4
+ slug: "project_bubble-data-api-get-record",
5
+ name: "Get Record By ID",
6
+ description: "Retrieves a single record by its unique ID from a specified data type (table/collection). Use this when you need to fetch detailed information about a specific record and you already know its ID. The response includes all fields defined for that record, plus metadata like creation and modification dates. Common use cases: - Fetching full details of a specific team, user, or project by ID - Retrieving a record after getting its ID from a list/search operation - Accessing individual record properties for further processing Note: Returns an error if the record doesn't exist or you don't have permission to access it.",
7
+ input: z.object({
8
+ id: z.string().describe("The unique identifier of the specific record to retrieve. This is the record's ID from the database."),
9
+ type: z.string().describe("The data type (table/collection) name from which to retrieve the record. Must match an existing data type name exactly (case-sensitive).")
10
+ }).describe("Input parameters for fetching a specific Bubble Data API record by ID."),
11
+ output: z.object({
12
+ id: z.string().describe("Unique identifier of the record."),
13
+ created_date: z.string().describe("Creation date in ISO 8601 format.").nullable().optional(),
14
+ modified_date: z.string().describe("Last modification date in ISO 8601 format.").nullable().optional()
15
+ }).passthrough().describe("Response schema for a Bubble Data API record.\nContains record metadata and dynamic fields for all record properties.")
16
+ });
17
+ //#endregion
18
+ export { projectBubbleDataApiGetRecord };
19
+
20
+ //# sourceMappingURL=data-api-get-record.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api-get-record.mjs","names":[],"sources":["../../src/actions/data-api-get-record.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ProjectBubbleDataApiGetRecordInput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"The unique identifier of the specific record to retrieve. This is the record's ID from the database.\"),\n type: z.string().describe(\"The data type (table/collection) name from which to retrieve the record. Must match an existing data type name exactly (case-sensitive).\"),\n}).describe(\"Input parameters for fetching a specific Bubble Data API record by ID.\");\nexport const ProjectBubbleDataApiGetRecordOutput: z.ZodTypeAny = z.object({\n id: z.string().describe(\"Unique identifier of the record.\"),\n created_date: z.string().describe(\"Creation date in ISO 8601 format.\").nullable().optional(),\n modified_date: z.string().describe(\"Last modification date in ISO 8601 format.\").nullable().optional(),\n}).passthrough().describe(\"Response schema for a Bubble Data API record.\\nContains record metadata and dynamic fields for all record properties.\");\n\nexport const projectBubbleDataApiGetRecord = action(\"PROJECT_BUBBLE_DATA_API_GET_RECORD\", {\n slug: \"project_bubble-data-api-get-record\",\n name: \"Get Record By ID\",\n description: \"Retrieves a single record by its unique ID from a specified data type (table/collection). Use this when you need to fetch detailed information about a specific record and you already know its ID. The response includes all fields defined for that record, plus metadata like creation and modification dates. Common use cases: - Fetching full details of a specific team, user, or project by ID - Retrieving a record after getting its ID from a list/search operation - Accessing individual record properties for further processing Note: Returns an error if the record doesn't exist or you don't have permission to access it.\",\n input: ProjectBubbleDataApiGetRecordInput,\n output: ProjectBubbleDataApiGetRecordOutput,\n});\n"],"mappings":";;AAcA,MAAa,gCAAgC,OAAO,sCAAsC;CACxF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAd8D,EAAE,OAAO;EACvE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,sGAAsG;EAC9H,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0IAA0I;CACtK,CAAC,CAAC,CAAC,SAAS,wEAWH;CACP,QAX+D,EAAE,OAAO;EACxE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC;EAC1D,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3F,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,uHAOhB;AACV,CAAC"}
@@ -0,0 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_data_api_get_data_type_fields = require("./data-api-get-data-type-fields.cjs");
3
+ const require_data_api_get_objects = require("./data-api-get-objects.cjs");
4
+ const require_data_api_get_record = require("./data-api-get-record.cjs");
5
+ exports.projectBubbleDataApiGetDataTypeFields = require_data_api_get_data_type_fields.projectBubbleDataApiGetDataTypeFields;
6
+ exports.projectBubbleDataApiGetObjects = require_data_api_get_objects.projectBubbleDataApiGetObjects;
7
+ exports.projectBubbleDataApiGetRecord = require_data_api_get_record.projectBubbleDataApiGetRecord;
@@ -0,0 +1,4 @@
1
+ import { projectBubbleDataApiGetDataTypeFields } from "./data-api-get-data-type-fields.cjs";
2
+ import { projectBubbleDataApiGetObjects } from "./data-api-get-objects.cjs";
3
+ import { projectBubbleDataApiGetRecord } from "./data-api-get-record.cjs";
4
+ export { projectBubbleDataApiGetDataTypeFields, projectBubbleDataApiGetObjects, projectBubbleDataApiGetRecord };
@@ -0,0 +1,4 @@
1
+ import { projectBubbleDataApiGetDataTypeFields } from "./data-api-get-data-type-fields.mjs";
2
+ import { projectBubbleDataApiGetObjects } from "./data-api-get-objects.mjs";
3
+ import { projectBubbleDataApiGetRecord } from "./data-api-get-record.mjs";
4
+ export { projectBubbleDataApiGetDataTypeFields, projectBubbleDataApiGetObjects, projectBubbleDataApiGetRecord };
@@ -0,0 +1,4 @@
1
+ import { projectBubbleDataApiGetDataTypeFields } from "./data-api-get-data-type-fields.mjs";
2
+ import { projectBubbleDataApiGetObjects } from "./data-api-get-objects.mjs";
3
+ import { projectBubbleDataApiGetRecord } from "./data-api-get-record.mjs";
4
+ export { projectBubbleDataApiGetDataTypeFields, projectBubbleDataApiGetObjects, projectBubbleDataApiGetRecord };
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const projectBubble = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "project_bubble",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.projectBubble = projectBubble;
8
+
9
+ //# sourceMappingURL=app.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const projectBubble = defineApp({\n slug: \"project_bubble\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,iBAAA,uCAAA,CAAA,CAAA,UAAA,CAA0B;CACrC,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const projectBubble: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { projectBubble };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,aAAA,6BAAa,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const projectBubble: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { projectBubble };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,aAAA,6BAAa,GAAA,+BAAA,UAAA"}
package/dist/app.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import { defineApp } from "@keystrokehq/keystroke/app";
2
+ //#region src/app.ts
3
+ const projectBubble = defineApp({
4
+ slug: "project_bubble",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { projectBubble };
9
+
10
+ //# sourceMappingURL=app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const projectBubble = defineApp({\n slug: \"project_bubble\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,gBAAgB,UAAU;CACrC,MAAM;CACN,MAAM;AACR,CAAC"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const projectBubbleCatalog = {
4
+ "slug": "project_bubble",
5
+ "name": "Project Bubble",
6
+ "description": "ProProfs Project is a project management tool that helps teams plan, collaborate, and deliver projects efficiently.",
7
+ "category": "Project Management",
8
+ "logo": "https://logos.composio.dev/api/project_bubble",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.projectBubbleCatalog = projectBubbleCatalog;
14
+
15
+ //# sourceMappingURL=catalog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const projectBubbleCatalog = {\n \"slug\": \"project_bubble\",\n \"name\": \"Project Bubble\",\n \"description\": \"ProProfs Project is a project management tool that helps teams plan, collaborate, and deliver projects efficiently.\",\n \"category\": \"Project Management\",\n \"logo\": \"https://logos.composio.dev/api/project_bubble\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,uBAAuB;CAClC,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const projectBubbleCatalog: {
4
+ readonly slug: "project_bubble";
5
+ readonly name: "Project Bubble";
6
+ readonly description: "ProProfs Project is a project management tool that helps teams plan, collaborate, and deliver projects efficiently.";
7
+ readonly category: "Project Management";
8
+ readonly logo: "https://logos.composio.dev/api/project_bubble";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { projectBubbleCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,oBAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const projectBubbleCatalog: {
4
+ readonly slug: "project_bubble";
5
+ readonly name: "Project Bubble";
6
+ readonly description: "ProProfs Project is a project management tool that helps teams plan, collaborate, and deliver projects efficiently.";
7
+ readonly category: "Project Management";
8
+ readonly logo: "https://logos.composio.dev/api/project_bubble";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { projectBubbleCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,oBAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const projectBubbleCatalog = {
4
+ "slug": "project_bubble",
5
+ "name": "Project Bubble",
6
+ "description": "ProProfs Project is a project management tool that helps teams plan, collaborate, and deliver projects efficiently.",
7
+ "category": "Project Management",
8
+ "logo": "https://logos.composio.dev/api/project_bubble",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { projectBubbleCatalog };
14
+
15
+ //# sourceMappingURL=catalog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const projectBubbleCatalog = {\n \"slug\": \"project_bubble\",\n \"name\": \"Project Bubble\",\n \"description\": \"ProProfs Project is a project management tool that helps teams plan, collaborate, and deliver projects efficiently.\",\n \"category\": \"Project Management\",\n \"logo\": \"https://logos.composio.dev/api/project_bubble\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,uBAAuB;CAClC,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,18 @@
1
+ let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "project_bubble";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeProjectBubbleTool(tool, args) {
7
+ const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ exports.executeProjectBubbleTool = executeProjectBubbleTool;
17
+
18
+ //# sourceMappingURL=execute.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"project_bubble\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeProjectBubbleTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,yBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
@@ -0,0 +1,18 @@
1
+ import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "project_bubble";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeProjectBubbleTool(tool, args) {
7
+ const { result } = await createKeystrokeClient().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ export { executeProjectBubbleTool };
17
+
18
+ //# sourceMappingURL=execute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"project_bubble\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeProjectBubbleTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,yBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
package/dist/index.cjs ADDED
@@ -0,0 +1,12 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_app = require("./app.cjs");
3
+ const require_catalog = require("./catalog.cjs");
4
+ const require_data_api_get_data_type_fields = require("./actions/data-api-get-data-type-fields.cjs");
5
+ const require_data_api_get_objects = require("./actions/data-api-get-objects.cjs");
6
+ const require_data_api_get_record = require("./actions/data-api-get-record.cjs");
7
+ require("./actions/index.cjs");
8
+ exports.projectBubble = require_app.projectBubble;
9
+ exports.projectBubbleCatalog = require_catalog.projectBubbleCatalog;
10
+ exports.projectBubbleDataApiGetDataTypeFields = require_data_api_get_data_type_fields.projectBubbleDataApiGetDataTypeFields;
11
+ exports.projectBubbleDataApiGetObjects = require_data_api_get_objects.projectBubbleDataApiGetObjects;
12
+ exports.projectBubbleDataApiGetRecord = require_data_api_get_record.projectBubbleDataApiGetRecord;
@@ -0,0 +1,6 @@
1
+ import { projectBubbleDataApiGetDataTypeFields } from "./actions/data-api-get-data-type-fields.cjs";
2
+ import { projectBubbleDataApiGetObjects } from "./actions/data-api-get-objects.cjs";
3
+ import { projectBubbleDataApiGetRecord } from "./actions/data-api-get-record.cjs";
4
+ import { projectBubble } from "./app.cjs";
5
+ import { projectBubbleCatalog } from "./catalog.cjs";
6
+ export { projectBubble, projectBubbleCatalog, projectBubbleDataApiGetDataTypeFields, projectBubbleDataApiGetObjects, projectBubbleDataApiGetRecord };
@@ -0,0 +1,6 @@
1
+ import { projectBubbleDataApiGetDataTypeFields } from "./actions/data-api-get-data-type-fields.mjs";
2
+ import { projectBubbleDataApiGetObjects } from "./actions/data-api-get-objects.mjs";
3
+ import { projectBubbleDataApiGetRecord } from "./actions/data-api-get-record.mjs";
4
+ import { projectBubble } from "./app.mjs";
5
+ import { projectBubbleCatalog } from "./catalog.mjs";
6
+ export { projectBubble, projectBubbleCatalog, projectBubbleDataApiGetDataTypeFields, projectBubbleDataApiGetObjects, projectBubbleDataApiGetRecord };
package/dist/index.mjs ADDED
@@ -0,0 +1,7 @@
1
+ import { projectBubble } from "./app.mjs";
2
+ import { projectBubbleCatalog } from "./catalog.mjs";
3
+ import { projectBubbleDataApiGetDataTypeFields } from "./actions/data-api-get-data-type-fields.mjs";
4
+ import { projectBubbleDataApiGetObjects } from "./actions/data-api-get-objects.mjs";
5
+ import { projectBubbleDataApiGetRecord } from "./actions/data-api-get-record.mjs";
6
+ import "./actions/index.mjs";
7
+ export { projectBubble, projectBubbleCatalog, projectBubbleDataApiGetDataTypeFields, projectBubbleDataApiGetObjects, projectBubbleDataApiGetRecord };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/project_bubble",
3
+ "version": "0.1.0",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "registry": "https://registry.npmjs.org"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/keystrokehq/keystroke.git",
11
+ "directory": "packages/integrations/project_bubble"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "sideEffects": false,
17
+ "type": "module",
18
+ "main": "./dist/index.cjs",
19
+ "module": "./dist/index.mjs",
20
+ "types": "./dist/index.d.mts",
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.mts",
24
+ "import": "./dist/index.mjs",
25
+ "require": "./dist/index.cjs"
26
+ },
27
+ "./actions": {
28
+ "types": "./dist/actions/index.d.mts",
29
+ "import": "./dist/actions/index.mjs",
30
+ "require": "./dist/actions/index.cjs"
31
+ }
32
+ },
33
+ "peerDependencies": {
34
+ "@keystrokehq/keystroke": "^0.1.4",
35
+ "zod": "^4.4.3"
36
+ },
37
+ "devDependencies": {
38
+ "@keystrokehq/keystroke": "link:../../keystroke",
39
+ "@types/node": "^25.9.1",
40
+ "tsdown": "^0.22.0",
41
+ "typescript": "^6.0.3",
42
+ "zod": "^4.4.3"
43
+ },
44
+ "scripts": {
45
+ "build": "tsdown",
46
+ "dev": "tsdown --watch --no-clean",
47
+ "typecheck": "tsc --noEmit"
48
+ }
49
+ }