@activepieces/piece-phantombuster 0.0.1 → 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.
package/package.json CHANGED
@@ -1,23 +1,24 @@
1
1
  {
2
2
  "name": "@activepieces/piece-phantombuster",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {
8
8
  "@sinclair/typebox": "0.34.11",
9
- "axios": "1.8.3",
9
+ "axios": "1.13.1",
10
10
  "axios-retry": "4.4.1",
11
11
  "deepmerge-ts": "7.1.0",
12
+ "form-data": "4.0.4",
12
13
  "mime-types": "2.1.35",
13
14
  "nanoid": "3.3.8",
14
15
  "semver": "7.6.0",
15
16
  "socket.io-client": "4.8.1",
16
17
  "tslib": "^2.3.0",
17
- "zod": "3.25.76",
18
- "@activepieces/pieces-common": "0.8.1",
19
- "@activepieces/pieces-framework": "0.20.2",
20
- "@activepieces/shared": "0.26.0"
18
+ "zod": "4.1.13",
19
+ "@activepieces/pieces-common": "0.11.0",
20
+ "@activepieces/pieces-framework": "0.23.0",
21
+ "@activepieces/shared": "0.30.4"
21
22
  },
22
23
  "resolutions": {
23
24
  "rollup": "npm:@rollup/wasm-node"
@@ -0,0 +1,35 @@
1
+ {
2
+ "Automate your web scraping and web automation tasks": "Automate your web scraping and web automation tasks",
3
+ "\n1. Login to your Pushbullet Dashboard.\n2. Go to **https://phantombuster.com/workspace-settings**.\n3. change to the **API Keys** tab and **Add API Key**.\n4. Copy the API Key to the clipboard and paste it.\n": "\n1. Login to your Pushbullet Dashboard.\n2. Go to **https://phantombuster.com/workspace-settings**.\n3. change to the **API Keys** tab and **Add API Key**.\n4. Copy the API Key to the clipboard and paste it.\n",
4
+ "Launch Phantom": "Launch Phantom",
5
+ "Custom API Call": "Custom API Call",
6
+ "Launch a Phantombuster agent and add it to the execution queue": "Launch a Phantombuster agent and add it to the execution queue",
7
+ "Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
8
+ "Agent": "Agent",
9
+ "Wait for Output": "Wait for Output",
10
+ "Argument": "Argument",
11
+ "Max Retries": "Max Retries",
12
+ "Method": "Method",
13
+ "Headers": "Headers",
14
+ "Query Parameters": "Query Parameters",
15
+ "Body": "Body",
16
+ "Response is Binary ?": "Response is Binary ?",
17
+ "No Error on Failure": "No Error on Failure",
18
+ "Timeout (in seconds)": "Timeout (in seconds)",
19
+ "Select the Phantombuster agent to use": "Select the Phantombuster agent to use",
20
+ "Wait until the agent execution completes and output is available": "Wait until the agent execution completes and output is available",
21
+ "Optional argument to pass to the agent": "Optional argument to pass to the agent",
22
+ "Maximum number of retries if the agent fails": "Maximum number of retries if the agent fails",
23
+ "Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
24
+ "Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
25
+ "GET": "GET",
26
+ "POST": "POST",
27
+ "PATCH": "PATCH",
28
+ "PUT": "PUT",
29
+ "DELETE": "DELETE",
30
+ "HEAD": "HEAD",
31
+ "New Output": "New Output",
32
+ "Trigger when a new output is generated by a Phantombuster agent ": "Trigger when a new output is generated by a Phantombuster agent ",
33
+ "Markdown": "Markdown",
34
+ "## Webhook Configuration\n\nTo use this trigger, you need to configure a webhook URL in your Phantombuster agent:\n\n### Steps to Configure:\n1. Go to your Phantombuster agent page\n2. Click on **Settings**\n3. Select **Advanced Notification Settings**\n4. Input the webhook URL in the webhook field:\n```\n{{webhookUrl}}\n```\n\n### Supported Exit Messages (Status Values):\n- `finished` - Agent completed successfully (exitCode: 0)\n- `killed` - Agent was killed\n- `global timeout` - Global timeout reached\n- `org timeout` - ": "## Webhook Configuration\n\nTo use this trigger, you need to configure a webhook URL in your Phantombuster agent:\n\n### Steps to Configure:\n1. Go to your Phantombuster agent page\n2. Click on **Settings**\n3. Select **Advanced Notification Settings**\n4. Input the webhook URL in the webhook field:\n```\n{{webhookUrl}}\n```\n\n### Supported Exit Messages (Status Values):\n- `finished` - Agent completed successfully (exitCode: 0)\n- `killed` - Agent was killed\n- `global timeout` - Global timeout reached\n- `org timeout` - Organization timeout reached\n- `agent timeout` - Agent timeout reached\n- `unknown` - Unknown status\n\n### Important Notes:\n- Maximum webhook timeout: 11 seconds\n- Webhooks accept POST requests only\n- Maximum 2 redirections allowed\n- Response body is ignored (you don't need to respond with data)\n\n[Learn more about webhooks](https://hub.phantombuster.com/docs/using-webhooks)"
35
+ }
package/src/index.js CHANGED
@@ -25,7 +25,7 @@ exports.phantombuster = (0, pieces_framework_1.createPiece)({
25
25
  authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
26
26
  const apiKey = auth;
27
27
  return {
28
- 'X-Phantombuster-Key': `${apiKey}`,
28
+ 'X-Phantombuster-Key': `${apiKey.secret_text}`,
29
29
  'Content-Type': 'application/json',
30
30
  };
31
31
  }),
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/phantombuster/src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,iEAA6D;AAC7D,4CAAsD;AACtD,0DAAsD;AACtD,+DAAwE;AACxE,gDAA+C;AAC/C,iDAAqD;AAExC,QAAA,aAAa,GAAG,IAAA,8BAAW,EAAC;IACvC,WAAW,EAAE,eAAe;IAC5B,IAAI,EAAE,wBAAiB;IACvB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,uDAAuD;IAChE,WAAW,EAAE,qDAAqD;IAClE,UAAU,EAAE,CAAC,sBAAa,CAAC,SAAS,EAAE,sBAAa,CAAC,aAAa,CAAC;IAClE,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,OAAO,EAAE;QACP,8BAAa;QACb,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,wBAAiB;YACvB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAQ;YACvB,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC;gBACpB,OAAO;oBACL,qBAAqB,EAAE,GAAG,MAAgB,EAAE;oBAC5C,cAAc,EAAE,kBAAkB;iBACnC,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,CAAC,sBAAS,CAAC;CACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/phantombuster/src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,iEAA6D;AAC7D,4CAAsD;AACtD,0DAAsD;AACtD,+DAAwE;AACxE,gDAA+C;AAC/C,iDAAqD;AAExC,QAAA,aAAa,GAAG,IAAA,8BAAW,EAAC;IACvC,WAAW,EAAE,eAAe;IAC5B,IAAI,EAAE,wBAAiB;IACvB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,uDAAuD;IAChE,WAAW,EAAE,qDAAqD;IAClE,UAAU,EAAE,CAAC,sBAAa,CAAC,SAAS,EAAE,sBAAa,CAAC,aAAa,CAAC;IAClE,OAAO,EAAE,CAAC,aAAa,CAAC;IACxB,OAAO,EAAE;QACP,8BAAa;QACb,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,wBAAiB;YACvB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAQ;YACvB,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC;gBACpB,OAAO;oBACL,qBAAqB,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE;oBAC9C,cAAc,EAAE,kBAAkB;iBACnC,CAAC;YACJ,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,CAAC,sBAAS,CAAC;CACtB,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare const launchPhantom: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- agentId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
2
+ agentId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
3
3
  waitForOutput: import("@activepieces/pieces-framework").CheckboxProperty<false>;
4
4
  argument: import("@activepieces/pieces-framework").ObjectProperty<false>;
5
5
  maxRetries: import("@activepieces/pieces-framework").NumberProperty<false>;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const pieces_common_1 = require("@activepieces/pieces-common");
6
6
  const pieces_framework_1 = require("@activepieces/pieces-framework");
7
7
  const client_1 = require("./client");
8
+ const shared_1 = require("@activepieces/shared");
8
9
  const authHelpDescription = `
9
10
  1. Login to your Pushbullet Dashboard.
10
11
  2. Go to **https://phantombuster.com/workspace-settings**.
@@ -17,7 +18,7 @@ exports.phantombusterAuth = pieces_framework_1.PieceAuth.SecretText({
17
18
  required: true,
18
19
  validate: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
19
20
  try {
20
- yield (0, client_1.makeRequest)(auth.auth, pieces_common_1.HttpMethod.GET, '/agents/fetch-all');
21
+ yield (0, client_1.makeRequest)({ secret_text: auth.auth, type: shared_1.AppConnectionType.SECRET_TEXT }, pieces_common_1.HttpMethod.GET, '/agents/fetch-all');
21
22
  return { valid: true };
22
23
  }
23
24
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/phantombuster/src/lib/common/auth.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAA2D;AAC3D,qCAAuC;AAEvC,MAAM,mBAAmB,GAAG;;;;;CAK3B,CAAC;AAEW,QAAA,iBAAiB,GAAG,4BAAS,CAAC,UAAU,CAAC;IACpD,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,CAAO,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,oBAAW,EACf,IAAI,CAAC,IAAc,EACnB,0BAAU,CAAC,GAAG,EACd,mBAAmB,CACpB,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,6CAA6C;aACrD,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/phantombuster/src/lib/common/auth.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAA2D;AAC3D,qCAAuC;AACvC,iDAAyD;AAEzD,MAAM,mBAAmB,GAAG;;;;;CAK3B,CAAC;AAEW,QAAA,iBAAiB,GAAG,4BAAS,CAAC,UAAU,CAAC;IACpD,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,CAAO,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,oBAAW,EACf,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,0BAAiB,CAAC,WAAW,EAAE,EAC/D,0BAAU,CAAC,GAAG,EACd,mBAAmB,CACpB,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,6CAA6C;aACrD,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import { HttpMethod } from '@activepieces/pieces-common';
2
+ import { AppConnectionValueForAuthProperty } from '@activepieces/pieces-framework';
3
+ import { phantombusterAuth } from './auth';
2
4
  export declare const BASE_URL = "https://api.phantombuster.com/api/v2";
3
- export declare function makeRequest(apiKey: string, method: HttpMethod, path: string, body?: unknown): Promise<any>;
5
+ export declare function makeRequest(apiKey: AppConnectionValueForAuthProperty<typeof phantombusterAuth>, method: HttpMethod, path: string, body?: unknown): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/phantombuster/src/lib/common/client.ts"],"names":[],"mappings":";;;AAIA,kCAqBC;;AAzBD,+DAAqE;AAExD,QAAA,QAAQ,GAAG,sCAAsC,CAAC;AAE/D,SAAsB,WAAW,CAC/B,MAAc,EACd,MAAkB,EAClB,IAAY,EACZ,IAAc;;QAEd,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAE,GAAG,gBAAQ,GAAG,IAAI,EAAE,CAAC,CAAA;YAClC,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM;gBACN,GAAG,EAAE,GAAG,gBAAQ,GAAG,IAAI,EAAE;gBACzB,OAAO,EAAE;oBACP,qBAAqB,EAAE,GAAG,MAAM,EAAE;oBAClC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI;aACL,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CAAA"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/phantombuster/src/lib/common/client.ts"],"names":[],"mappings":";;;AAMA,kCAqBC;;AA3BD,+DAAqE;AAIxD,QAAA,QAAQ,GAAG,sCAAsC,CAAC;AAE/D,SAAsB,WAAW,CAC/B,MAAmE,EACnE,MAAkB,EAClB,IAAY,EACZ,IAAc;;QAEd,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAE,GAAG,gBAAQ,GAAG,IAAI,EAAE,CAAC,CAAA;YAClC,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM;gBACN,GAAG,EAAE,GAAG,gBAAQ,GAAG,IAAI,EAAE;gBACzB,OAAO,EAAE;oBACP,qBAAqB,EAAE,GAAG,MAAM,EAAE;oBAClC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI;aACL,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CAAA"}
@@ -1 +1 @@
1
- export declare const agentIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
1
+ export declare const agentIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
@@ -5,7 +5,9 @@ const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
6
  const client_1 = require("./client");
7
7
  const pieces_common_1 = require("@activepieces/pieces-common");
8
+ const auth_1 = require("./auth");
8
9
  exports.agentIdDropdown = pieces_framework_1.Property.Dropdown({
10
+ auth: auth_1.phantombusterAuth,
9
11
  displayName: 'Agent',
10
12
  description: 'Select the Phantombuster agent to use',
11
13
  required: true,
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/phantombuster/src/lib/common/props.ts"],"names":[],"mappings":";;;;AAAA,qEAA0D;AAC1D,qCAAuC;AACvC,+DAAyD;AAE5C,QAAA,eAAe,GAAG,2BAAQ,CAAC,QAAQ,CAAC;IAC/C,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,uCAAuC;IACpD,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACtB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,2CAA2C;aACzD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,IAAc,EACd,0BAAU,CAAC,GAAG,EACd,mBAAmB,CACpB,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS;gBACzC,KAAK,EAAE,KAAK,CAAC,EAAE;aAChB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC,CAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/phantombuster/src/lib/common/props.ts"],"names":[],"mappings":";;;;AAAA,qEAA0D;AAC1D,qCAAuC;AACvC,+DAAyD;AACzD,iCAA2C;AAE9B,QAAA,eAAe,GAAG,2BAAQ,CAAC,QAAQ,CAAC;IAC/C,IAAI,EAAE,wBAAiB;IACvB,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,uCAAuC;IACpD,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACtB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,2CAA2C;aACzD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,IAAI,EACJ,0BAAU,CAAC,GAAG,EACd,mBAAmB,CACpB,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS;gBACzC,KAAK,EAAE,KAAK,CAAC,EAAE;aAChB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC,CAAA;CACF,CAAC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { TriggerStrategy } from '@activepieces/pieces-framework';
2
2
  export declare const newOutput: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
3
- agentId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
3
+ agentId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
4
4
  markdown: import("dist/packages/pieces/community/framework/src/lib/property/input/markdown-property").MarkDownProperty;
5
5
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
6
- agentId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
6
+ agentId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
7
7
  markdown: import("dist/packages/pieces/community/framework/src/lib/property/input/markdown-property").MarkDownProperty;
8
8
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
9
- agentId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
9
+ agentId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
10
10
  markdown: import("dist/packages/pieces/community/framework/src/lib/property/input/markdown-property").MarkDownProperty;
11
11
  }>;