@mochabug/adaptkit 0.3.0-alpha.1 → 0.4.0-alpha.1
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/bin/add.d.ts +3 -0
- package/bin/add.d.ts.map +1 -0
- package/bin/index.js +296 -161
- package/bin/init.d.ts +2 -0
- package/bin/init.d.ts.map +1 -0
- package/bin/publish.d.ts +3 -0
- package/bin/publish.d.ts.map +1 -0
- package/bin/utils.d.ts +5 -0
- package/bin/utils.d.ts.map +1 -0
- package/bin/vertices.d.ts +3 -0
- package/bin/vertices.d.ts.map +1 -0
- package/package.json +13 -13
- package/LICENSE.txt +0 -12
- package/bin/index.js.map +0 -1
package/bin/add.d.ts
ADDED
package/bin/add.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../src/add.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAG5E,wBAAsB,GAAG,CAAC,QAAQ,EAAE,QAAQ,iBAqD3C"}
|
package/bin/index.js
CHANGED
|
@@ -1,42 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { ChannelCredentials } from '@grpc/grpc-js';
|
|
3
|
-
import { GrpcTransport } from '@protobuf-ts/grpc-transport';
|
|
4
2
|
import chalk from 'chalk';
|
|
5
|
-
import { execSync } from 'child_process';
|
|
6
3
|
import { program } from 'commander';
|
|
7
|
-
import fg from 'fast-glob';
|
|
8
4
|
import figlet from 'figlet';
|
|
9
5
|
import fs from 'fs';
|
|
10
6
|
import inquirer from 'inquirer';
|
|
7
|
+
import { ServiceType, stackIntercept } from '@protobuf-ts/runtime-rpc';
|
|
8
|
+
import { MessageType, reflectionMergePartial, UnknownFieldHandler, WireType, MESSAGE_TYPE } from '@protobuf-ts/runtime';
|
|
11
9
|
import { mkdirp } from 'mkdirp';
|
|
12
10
|
import path from 'path';
|
|
11
|
+
import { execSync } from 'child_process';
|
|
12
|
+
import { ChannelCredentials } from '@grpc/grpc-js';
|
|
13
|
+
import { GrpcTransport } from '@protobuf-ts/grpc-transport';
|
|
14
|
+
import fg from 'fast-glob';
|
|
13
15
|
import sharp from 'sharp';
|
|
14
|
-
import { ServiceType, stackIntercept } from '@protobuf-ts/runtime-rpc';
|
|
15
|
-
import { MessageType, reflectionMergePartial, UnknownFieldHandler, WireType, MESSAGE_TYPE } from '@protobuf-ts/runtime';
|
|
16
|
-
|
|
17
|
-
var externalConfigTemplate = "import { VertexConfig } from '@mochabug/adapt-plugin-toolkit/api';\nimport { ExternalConfiguratorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new ExternalConfiguratorRouter()\n .useRequestLogging()\n .useBearerAuthorization(['/api'])\n .add('GET', '/api/config', async (_req, api) => {\n const res = await api.getVertexConfig<VertexConfig>();\n if (!res.ok) {\n console.error(res);\n return new Response(res.errorMessage, { status: res.errorStatus });\n }\n return new Response(JSON.stringify(res.data!), {\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n })\n .add('GET', '(/?)', async () => {\n return new Response(getHelloWorldPage(), {\n headers: {\n 'Content-Type': 'text/html',\n },\n });\n });\n\nfunction getHelloWorldPage(): string {\n return `\n <html>\n <head>\n <style>\n @import url('https://fonts.googleapis.com/css2?family=Orbitron&display=swap');\n @keyframes glow {\n 0% { text-shadow: 0 0 5px #0f0, 0 0 10px #0f0, 0 0 15px #0f0, 0 0 20px #0f0; }\n 100% { text-shadow: 0 0 10px #0f0, 0 0 20px #0f0, 0 0 30px #0f0, 0 0 40px #0f0; }\n }\n body {\n background-color: #000;\n color: #0f0;\n font-family: 'Orbitron', sans-serif;\n text-align: center;\n overflow: hidden;\n margin: 0;\n padding: 0;\n }\n h1 {\n position: absolute;\n top: 30%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 3em;\n text-transform: uppercase;\n letter-spacing: 4px;\n animation: glow 2s infinite alternate;\n }\n #jsonOutput {\n position: absolute;\n top: 70%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 1.5em;\n text-transform: uppercase;\n letter-spacing: 2px;\n animation: glow 2s infinite alternate;\n }\n button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #0f0;\n border: none;\n color: black;\n padding: 15px 32px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 20px; /* Increase the font size */\n margin: 4px 2px;\n cursor: pointer;\n transition-duration: 0.4s;\n animation: glow 2s infinite alternate;\n font-family: 'Orbitron', sans-serif;\n border-radius: 15px;\n transform: rotate(-10deg) skew(10deg, 10deg);\n }\n </style>\n </head>\n <body>\n <h1>Hello, World!</h1>\n <button id=\"assimilateButton\">Assimilate</button>\n <pre id=\"jsonOutput\"></pre>\n <script>\n document.getElementById('assimilateButton').addEventListener('click', function() {\n const hash = window.location.hash.substr(1).trim();\n const token = decodeURIComponent(hash); \n fetch('/api/config', {\n method: 'GET',\n headers: {\n 'Authorization': 'Bearer ' + token\n }\n })\n .then(response => response.json())\n .then(data => {\n document.getElementById('jsonOutput').innerText = JSON.stringify(data, null, 2);\n this.style.display = 'none'; /* Hide button after being clicked */\n })\n .catch(error => {\n console.error('Error:', error);\n document.getElementById('jsonOutput').innerText = 'Error occurred while assimilating data';\n });\n });\n </script>\n </body>\n </html>\n `;\n}\n";
|
|
18
|
-
|
|
19
|
-
var internalConfigTemplate = "import { InternalConfiguratorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n/**\n * A `InternalConfiguratorRouter` instance configured to handle internal platform calls for the vertex during configuration.\n *\n * There are no events to handle at the moment\n */\nexport const router = new InternalConfiguratorRouter();\n";
|
|
20
|
-
|
|
21
|
-
var browserExecTempalte = "import { ExternalExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new ExternalExecutorRouter()\n .useRequestLogging()\n .useBearerAuthorization(['/api'])\n .add('POST', '/api/done', async (req, api, _route, ctx) => {\n const sapi = api.getSessionApi(req.headers.get('Authorization')!);\n ctx.waitUntil(sapi.complete('output', {}));\n return new Response();\n })\n .add('GET', '(/?)', async () => {\n return new Response(getSamplePage(), {\n headers: {\n 'Content-Type': 'text/html',\n },\n });\n });\n\nfunction getSamplePage(): string {\n return `\n <html>\n <head>\n <style>\n @import url('https://fonts.googleapis.com/css2?family=Orbitron&display=swap');\n @keyframes glow {\n 0% { text-shadow: 0 0 5px #0f0, 0 0 10px #0f0, 0 0 15px #0f0, 0 0 20px #0f0; }\n 100% { text-shadow: 0 0 10px #0f0, 0 0 20px #0f0, 0 0 30px #0f0, 0 0 40px #0f0; }\n }\n body {\n background-color: #000;\n color: #0f0;\n font-family: 'Orbitron', sans-serif;\n text-align: center;\n overflow: hidden;\n margin: 0;\n padding: 0;\n }\n button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #0f0;\n border: none;\n color: black;\n padding: 15px 32px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 20px;\n margin: 4px 2px;\n cursor: pointer;\n transition-duration: 0.4s;\n animation: glow 2s infinite alternate;\n font-family: 'Orbitron', sans-serif;\n border-radius: 15px;\n transform: rotate(-10deg) skew(10deg, 10deg);\n }\n </style>\n </head>\n <body>\n <button id=\"doneButton\">Done</button>\n <script>\n document.getElementById('doneButton').addEventListener('click', function() {\n const hash = window.location.hash.substr(1).trim();\n const token = decodeURIComponent(hash); \n fetch('/api/done', {\n method: 'POST',\n headers: {\n 'Authorization': 'Bearer ' + token\n }\n })\n .then(data => {\n this.innerText = 'Done';\n })\n .catch(error => {\n console.error('Error:', error);\n });\n });\n </script>\n </body>\n </html>\n `;\n}\n";
|
|
22
|
-
|
|
23
|
-
var cronExecTemplate = "import { CronExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new CronExecutorRouter()\n .onStart(async (req, _api) => {\n const start = await req.json<StartExecutionRequest>();\n console.log('Start has been called');\n console.log(start);\n })\n .onStop(async (_req, _api) => {\n console.log('Stop has been called');\n })\n .onCron(async (_req, _api) => {\n console.log('Received cron event');\n })\n .onStream(async (req, _api, name) => {\n console.log(`Stream ${name} has been called`);\n const res = await req.json<StreamResult>();\n console.log(res);\n })\n .onProcedure(async (req, _api, name) => {\n console.log(`Procedure ${name} has been called`);\n const res = await req.json<ProcedureResult>();\n console.log(res);\n });\n";
|
|
24
|
-
|
|
25
|
-
var triggerExecTemplate = "import { ExternalExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new ExternalExecutorRouter().add(\n '*',\n '(.*)',\n async (_req, _api, _route, _ctx) => {\n return new Response();\n },\n);\n";
|
|
26
|
-
|
|
27
|
-
var internalExecTemplate = "import { InternalExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new InternalExecutorRouter()\n .onStart(async (req, _api) => {\n const start = await req.json<StartExecutionRequest>();\n console.log('Start has been called');\n console.log(start);\n })\n .onStop(async (_req, _api) => {\n console.log('Stop has been called');\n })\n .onStream(async (req, _api, name) => {\n console.log(`Stream ${name} has been called`);\n const res = await req.json<StreamResult>();\n console.log(res);\n })\n .onProcedure(async (req, _api, name) => {\n console.log(`Procedure ${name} has been called`);\n const res = await req.json<ProcedureResult>();\n console.log(res);\n });\n";
|
|
28
|
-
|
|
29
|
-
var gitignoreTemplate = "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n.pnpm-debug.log*\n\n# Diagnostic reports (https://nodejs.org/api/report.html)\nreport.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n*.lcov\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Snowpack dependency directory (https://snowpack.dev/)\nweb_modules/\n\n# TypeScript cache\n*.tsbuildinfo\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional stylelint cache\n.stylelintcache\n\n# Microbundle cache\n.rpt2_cache/\n.rts2_cache_cjs/\n.rts2_cache_es/\n.rts2_cache_umd/\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variable files\n.env\n.env.development.local\n.env.test.local\n.env.production.local\n.env.local\n\n# parcel-bundler cache (https://parceljs.org/)\n.cache\n.parcel-cache\n\n# Next.js build output\n.next\nout\n\n# Nuxt.js build / generate output\n.nuxt\ndist\nbuild\n\n# Gatsby files\n.cache/\n# Comment in the public line in if your project uses Gatsby and not Next.js\n# https://nextjs.org/blog/next-9-1#public-directory-support\n# public\n\n# vuepress build output\n.vuepress/dist\n\n# vuepress v2.x temp and cache directory\n.temp\n.cache\n\n# Stores VSCode versions used for testing VSCode extensions\n.vscode-test\n\n# yarn v2\n.yarn/cache\n.yarn/unplugged\n.yarn/build-state.yml\n.yarn/install-state.gz\n.pnp.*";
|
|
30
|
-
|
|
31
|
-
var jestTemplate = "import type { Config } from \"@jest/types\"\n\nconst config: Config.InitialOptions = {\n preset: \"ts-jest\",\n testEnvironment: \"node\",\n verbose: true,\n automock: true,\n}\nexport default config";
|
|
32
|
-
|
|
33
|
-
var licenseTemplate = "## ISC License\n\nCopyright (c) [year] [fullname]\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.";
|
|
34
|
-
|
|
35
|
-
var readmeTemplate = "# 🐞 Mochabug Adapt's Magnificent Plugin 🐞\n\n[](PLUGIN_REPOSITORY_URL)\n[](https://opensource.org/licenses/ISC)\n\n## 📝 Description\n\nWelcome to the Magnificent Plugin for Mochabug Adapt! Developed by a talented third-party developer, this plugin promises to bring extra flavor to your Mochabug Adapt cloud platform experience. PLUGIN_DESCRIPTION\n\nThis plugin consists of one or more vertices. Each vertex is made up of an Executor and may optionally include a Configurator to help you tailor its behavior.\n\n## 📚 Table of Contents\n\n- [🐞 Mochabug Adapt's Magnificent Plugin 🐞](#-mochabug-adapts-magnificent-plugin-)\n - [📝 Description](#-description)\n - [📚 Table of Contents](#-table-of-contents)\n - [🚀 Getting Started](#-getting-started)\n - [🎯 Usage](#-usage)\n - [⚙️ Configuration](#️-configuration)\n - [📖 Documentation](#-documentation)\n - [🤝 Contributing](#-contributing)\n - [📜 License](#-license)\n - [👤 Author](#-author)\n\n## 🚀 Getting Started\n\nTo begin using Mochabug Adapt's Magnificent Plugin, simply start incorporating its vertices into your workflows within the Mochabug Adapt platform. No installation is required.\n\n## 🎯 Usage\n\nYou can start using the vertices by incorporating them into your workflows on the Mochabug Adapt platform. Each vertex will delight you with a specific task, and the usage will vary depending on your requirements. Consult the plugin documentation for a comprehensive guide on each vertex's usage.\n\n## ⚙️ Configuration\n\nEach vertex in the plugin may have a Configurator, which allows you to tailor the vertex's behavior to your liking. Configuration options may include settings for the Executor, input/output data formats, and other essential options.\n\n## 📖 Documentation\n\nFor more insights into the plugin, its vertices, and their features, visit the [homepage](PLUGIN_HOMEPAGE) and the [repository](PLUGIN_REPOSITORY_URL).\n\n## 🤝 Contributing\n\nReady to make the Magnificent Plugin for Mochabug Adapt even more magical? Contributions are welcome! Check the [repository](PLUGIN_REPOSITORY_URL) for open issues and guidelines on how to contribute.\n\n## 📜 License\n\nThis plugin is licensed under the [ISC License](https://opensource.org/licenses/ISC).\n\n## 👤 Author\n\nPLUGIN_AUTHOR\n";
|
|
36
|
-
|
|
37
|
-
var rollupTemplate = "import fs from 'fs';\nimport typescript from '@rollup/plugin-typescript';\nimport { nodeResolve } from '@rollup/plugin-node-resolve';\nimport terser from '@rollup/plugin-terser';\nimport commonjs from '@rollup/plugin-commonjs';\n\nconst config = [\n {\n input: 'src/executors.ts',\n output: {\n file: 'dist/executors.js',\n format: 'esm'\n },\n plugins: [typescript(), nodeResolve(), commonjs(), terser()]\n }\n];\n\n// Check if 'src/configurators.ts' exists\nif (fs.existsSync('src/configurators.ts')) {\n config.push({\n input: 'src/configurators.ts',\n output: {\n file: 'dist/configurators.js',\n format: 'esm'\n },\n plugins: [typescript(), nodeResolve(), commonjs(), terser()]\n });\n}\n\nexport default config;\n";
|
|
38
|
-
|
|
39
|
-
var tsconfig = "{\n \"exclude\": [\n \"**/*.test.*\",\n \"**/__mocks__/*\",\n \"**/__tests__/*\"\n ],\n \"compilerOptions\": {\n \"rootDir\": \"src\",\n \"jsx\": \"react\",\n \"target\": \"esnext\",\n \"module\": \"esnext\",\n \"lib\": [\n \"esnext\"\n ],\n \"moduleResolution\": \"node\",\n \"types\": [\n \"@mochabug/adapt-plugin-typings\",\n \"jest\"\n ],\n \"resolveJsonModule\": true,\n \"allowJs\": true,\n \"checkJs\": false,\n \"noEmit\": true,\n \"isolatedModules\": true,\n \"allowSyntheticDefaultImports\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"noImplicitReturns\": true,\n \"useUnknownInCatchVariables\": true,\n \"noUncheckedIndexedAccess\": true,\n \"noPropertyAccessFromIndexSignature\": true\n }\n}";
|
|
40
16
|
|
|
41
17
|
// @generated by protobuf-ts 2.9.1
|
|
42
18
|
// @generated from protobuf file "mochabugapis/adapt/plugins/v1/plugins.proto" (package "mochabugapis.adapt.plugins.v1", syntax proto3)
|
|
@@ -843,31 +819,17 @@ const PluginService = new ServiceType("mochabugapis.adapt.plugins.v1.PluginServi
|
|
|
843
819
|
{ name: "UploadPlugin", clientStreaming: true, options: { "google.api.http": { post: "/v1/plugins/upload", body: "*" } }, I: UploadPluginRequest, O: UploadPluginResponse }
|
|
844
820
|
], { "google.api.default_host": "adapt.mochabugapis.com", "google.api.oauth_scopes": "https://www.mochabugapis.com/auth/adapt.plugins" });
|
|
845
821
|
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
*
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
}
|
|
858
|
-
/**
|
|
859
|
-
* UploadPlugin is a streaming RPC method that allows uploading a plugin in
|
|
860
|
-
* chunks. The client can send multiple UploadPluginRequest messages, and the
|
|
861
|
-
* server will respond with a single UploadPluginResponse after processing all
|
|
862
|
-
* requests.
|
|
863
|
-
*
|
|
864
|
-
* @generated from protobuf rpc: UploadPlugin(stream mochabugapis.adapt.plugins.v1.UploadPluginRequest) returns (mochabugapis.adapt.plugins.v1.UploadPluginResponse);
|
|
865
|
-
*/
|
|
866
|
-
uploadPlugin(options) {
|
|
867
|
-
const method = this.methods[0], opt = this._transport.mergeOptions(options);
|
|
868
|
-
return stackIntercept("clientStreaming", this._transport, method, opt);
|
|
869
|
-
}
|
|
870
|
-
}
|
|
822
|
+
var externalConfigTemplate = "import { VertexConfig } from '@mochabug/adapt-plugin-toolkit/api';\nimport { ExternalConfiguratorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new ExternalConfiguratorRouter()\n .useRequestLogging()\n .useBearerAuthorization(['/api'])\n .add('GET', '/api/config', async (_req, api) => {\n const res = await api.getVertexConfig<VertexConfig>();\n if (!res.ok) {\n console.error(res);\n return new Response(res.errorMessage, { status: res.errorStatus });\n }\n return new Response(JSON.stringify(res.data!), {\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n })\n .add('GET', '(/?)', async () => {\n return new Response(getHelloWorldPage(), {\n headers: {\n 'Content-Type': 'text/html',\n },\n });\n });\n\nfunction getHelloWorldPage(): string {\n return `\n <html>\n <head>\n <style>\n @import url('https://fonts.googleapis.com/css2?family=Orbitron&display=swap');\n @keyframes glow {\n 0% { text-shadow: 0 0 5px #0f0, 0 0 10px #0f0, 0 0 15px #0f0, 0 0 20px #0f0; }\n 100% { text-shadow: 0 0 10px #0f0, 0 0 20px #0f0, 0 0 30px #0f0, 0 0 40px #0f0; }\n }\n body {\n background-color: #000;\n color: #0f0;\n font-family: 'Orbitron', sans-serif;\n text-align: center;\n overflow: hidden;\n margin: 0;\n padding: 0;\n }\n h1 {\n position: absolute;\n top: 30%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 3em;\n text-transform: uppercase;\n letter-spacing: 4px;\n animation: glow 2s infinite alternate;\n }\n #jsonOutput {\n position: absolute;\n top: 70%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 1.5em;\n text-transform: uppercase;\n letter-spacing: 2px;\n animation: glow 2s infinite alternate;\n }\n button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #0f0;\n border: none;\n color: black;\n padding: 15px 32px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 20px; /* Increase the font size */\n margin: 4px 2px;\n cursor: pointer;\n transition-duration: 0.4s;\n animation: glow 2s infinite alternate;\n font-family: 'Orbitron', sans-serif;\n border-radius: 15px;\n transform: rotate(-10deg) skew(10deg, 10deg);\n }\n </style>\n </head>\n <body>\n <h1>Hello, World!</h1>\n <button id=\"assimilateButton\">Assimilate</button>\n <pre id=\"jsonOutput\"></pre>\n <script>\n document.getElementById('assimilateButton').addEventListener('click', function() {\n const hash = window.location.hash.substr(1).trim();\n const token = decodeURIComponent(hash); \n fetch('/api/config', {\n method: 'GET',\n headers: {\n 'Authorization': 'Bearer ' + token\n }\n })\n .then(response => response.json())\n .then(data => {\n document.getElementById('jsonOutput').innerText = JSON.stringify(data, null, 2);\n this.style.display = 'none'; /* Hide button after being clicked */\n })\n .catch(error => {\n console.error('Error:', error);\n document.getElementById('jsonOutput').innerText = 'Error occurred while assimilating data';\n });\n });\n </script>\n </body>\n </html>\n `;\n}\n";
|
|
823
|
+
|
|
824
|
+
var internalConfigTemplate = "import { InternalConfiguratorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n/**\n * A `InternalConfiguratorRouter` instance configured to handle internal platform calls for the vertex during configuration.\n *\n * There are no events to handle at the moment\n */\nexport const router = new InternalConfiguratorRouter();\n";
|
|
825
|
+
|
|
826
|
+
var browserExecTempalte = "import { ExternalExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new ExternalExecutorRouter()\n .useRequestLogging()\n .useBearerAuthorization(['/api'])\n .add('POST', '/api/done', async (req, api, _route, ctx) => {\n const sapi = api.getSessionApi(req.headers.get('Authorization')!);\n ctx.waitUntil(sapi.complete('output', {}));\n return new Response();\n })\n .add('GET', '(/?)', async () => {\n return new Response(getSamplePage(), {\n headers: {\n 'Content-Type': 'text/html',\n },\n });\n });\n\nfunction getSamplePage(): string {\n return `\n <html>\n <head>\n <style>\n @import url('https://fonts.googleapis.com/css2?family=Orbitron&display=swap');\n @keyframes glow {\n 0% { text-shadow: 0 0 5px #0f0, 0 0 10px #0f0, 0 0 15px #0f0, 0 0 20px #0f0; }\n 100% { text-shadow: 0 0 10px #0f0, 0 0 20px #0f0, 0 0 30px #0f0, 0 0 40px #0f0; }\n }\n body {\n background-color: #000;\n color: #0f0;\n font-family: 'Orbitron', sans-serif;\n text-align: center;\n overflow: hidden;\n margin: 0;\n padding: 0;\n }\n button {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #0f0;\n border: none;\n color: black;\n padding: 15px 32px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 20px;\n margin: 4px 2px;\n cursor: pointer;\n transition-duration: 0.4s;\n animation: glow 2s infinite alternate;\n font-family: 'Orbitron', sans-serif;\n border-radius: 15px;\n transform: rotate(-10deg) skew(10deg, 10deg);\n }\n </style>\n </head>\n <body>\n <button id=\"doneButton\">Done</button>\n <script>\n document.getElementById('doneButton').addEventListener('click', function() {\n const hash = window.location.hash.substr(1).trim();\n const token = decodeURIComponent(hash); \n fetch('/api/done', {\n method: 'POST',\n headers: {\n 'Authorization': 'Bearer ' + token\n }\n })\n .then(data => {\n this.innerText = 'Done';\n })\n .catch(error => {\n console.error('Error:', error);\n });\n });\n </script>\n </body>\n </html>\n `;\n}\n";
|
|
827
|
+
|
|
828
|
+
var cronExecTemplate = "import { CronExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new CronExecutorRouter()\n .onStart(async (req, _api) => {\n const start = await req.json<StartExecutionRequest>();\n console.log('Start has been called');\n console.log(start);\n })\n .onStop(async (_req, _api) => {\n console.log('Stop has been called');\n })\n .onCron(async (_req, _api) => {\n console.log('Received cron event');\n })\n .onStream(async (req, _api, name) => {\n console.log(`Stream ${name} has been called`);\n const res = await req.json<StreamResult>();\n console.log(res);\n })\n .onProcedure(async (req, _api, name) => {\n console.log(`Procedure ${name} has been called`);\n const res = await req.json<ProcedureResult>();\n console.log(res);\n });\n";
|
|
829
|
+
|
|
830
|
+
var triggerExecTemplate = "import { ExternalExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new ExternalExecutorRouter().add(\n '*',\n '(.*)',\n async (_req, _api, _route, _ctx) => {\n return new Response();\n },\n);\n";
|
|
831
|
+
|
|
832
|
+
var internalExecTemplate = "import { InternalExecutorRouter } from '@mochabug/adapt-plugin-toolkit/router';\n\nexport const router = new InternalExecutorRouter()\n .onStart(async (req, _api) => {\n const start = await req.json<StartExecutionRequest>();\n console.log('Start has been called');\n console.log(start);\n })\n .onStop(async (_req, _api) => {\n console.log('Stop has been called');\n })\n .onStream(async (req, _api, name) => {\n console.log(`Stream ${name} has been called`);\n const res = await req.json<StreamResult>();\n console.log(res);\n })\n .onProcedure(async (req, _api, name) => {\n console.log(`Procedure ${name} has been called`);\n const res = await req.json<ProcedureResult>();\n console.log(res);\n });\n";
|
|
871
833
|
|
|
872
834
|
// Copyright 2023, mochabug AB
|
|
873
835
|
//
|
|
@@ -887,35 +849,39 @@ function writeFile(filePath, content) {
|
|
|
887
849
|
mkdirp.sync(dir);
|
|
888
850
|
fs.writeFileSync(filePath, content);
|
|
889
851
|
}
|
|
890
|
-
function readManifest() {
|
|
891
|
-
const
|
|
892
|
-
|
|
852
|
+
function readManifest(filePath) {
|
|
853
|
+
const fullPath = path.resolve(filePath);
|
|
854
|
+
if (!fs.existsSync(fullPath)) {
|
|
855
|
+
console.error(chalk.red(`Invalid command: Manifest file not found at ${fullPath}.`));
|
|
856
|
+
return null;
|
|
857
|
+
}
|
|
858
|
+
try {
|
|
859
|
+
const manifestData = fs.readFileSync(fullPath).toString();
|
|
860
|
+
return Manifest.fromJsonString(manifestData);
|
|
861
|
+
}
|
|
862
|
+
catch (error) {
|
|
863
|
+
console.error(chalk.red(`An error occurred while reading the manifest`));
|
|
864
|
+
console.error(error.message);
|
|
865
|
+
return null;
|
|
866
|
+
}
|
|
893
867
|
}
|
|
894
868
|
function capitilize(val) {
|
|
895
869
|
return val.charAt(0).toUpperCase() + val.substring(1);
|
|
896
870
|
}
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
return await sharp(filepath).resize(height, width).png().toBuffer();
|
|
912
|
-
case '.svg':
|
|
913
|
-
return fs.readFileSync(filepath);
|
|
914
|
-
case '.webp':
|
|
915
|
-
return await sharp(filepath).resize(height, width).webp().toBuffer();
|
|
916
|
-
}
|
|
917
|
-
throw new Error('Invalid logotype');
|
|
918
|
-
}
|
|
871
|
+
|
|
872
|
+
// Copyright 2023, mochabug AB
|
|
873
|
+
//
|
|
874
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
875
|
+
// you may not use this file except in compliance with the License.
|
|
876
|
+
// You may obtain a copy of the License at
|
|
877
|
+
//
|
|
878
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
879
|
+
//
|
|
880
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
881
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
882
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
883
|
+
// See the License for the specific language governing permissions and
|
|
884
|
+
// limitations under the License.
|
|
919
885
|
function convertVertexType(type) {
|
|
920
886
|
switch (type) {
|
|
921
887
|
case 'action':
|
|
@@ -1045,6 +1011,89 @@ function addVertex(cwd, name, type, hasConfigurator) {
|
|
|
1045
1011
|
fs.writeFileSync(path.join(cwd, 'src', name, 'config.json'), JSON.stringify(vertexConfig, null, 2));
|
|
1046
1012
|
return vertex;
|
|
1047
1013
|
}
|
|
1014
|
+
|
|
1015
|
+
// Copyright 2023, mochabug AB
|
|
1016
|
+
//
|
|
1017
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
1018
|
+
// you may not use this file except in compliance with the License.
|
|
1019
|
+
// You may obtain a copy of the License at
|
|
1020
|
+
//
|
|
1021
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
1022
|
+
//
|
|
1023
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
1024
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
1025
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1026
|
+
// See the License for the specific language governing permissions and
|
|
1027
|
+
// limitations under the License.
|
|
1028
|
+
async function add(manifest) {
|
|
1029
|
+
const ans = await inquirer.prompt([
|
|
1030
|
+
{
|
|
1031
|
+
type: 'input',
|
|
1032
|
+
name: 'vertexName',
|
|
1033
|
+
message: 'Type a new unused vertex name',
|
|
1034
|
+
filter: (val) => {
|
|
1035
|
+
return val.trim();
|
|
1036
|
+
},
|
|
1037
|
+
validate: (val) => {
|
|
1038
|
+
val = val.trim();
|
|
1039
|
+
if (manifest.vertices.filter((item) => item.name === val).length > 0) {
|
|
1040
|
+
return false;
|
|
1041
|
+
}
|
|
1042
|
+
return /[a-zA-Z][0-9a-zA-Z_]*/.test(val);
|
|
1043
|
+
}
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
type: 'list',
|
|
1047
|
+
name: 'vertexType',
|
|
1048
|
+
message: 'Choose your vertex type',
|
|
1049
|
+
choices: ['action', 'browser', 'cron-trigger', 'external-trigger']
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
type: 'confirm',
|
|
1053
|
+
name: 'hasConfigurator',
|
|
1054
|
+
message: 'Need a configurator for the vertex?'
|
|
1055
|
+
}
|
|
1056
|
+
]);
|
|
1057
|
+
console.log(chalk.magenta('Creating new vertex templates...'));
|
|
1058
|
+
const vertex = addVertex('.', ans.vertexName, ans.vertexType, ans.hasConfigurator);
|
|
1059
|
+
manifest.vertices.push(vertex);
|
|
1060
|
+
if (!manifest.configuratorEsm && vertex.hasConfigurator) {
|
|
1061
|
+
manifest.configuratorEsm = 'dist/configurators.js';
|
|
1062
|
+
}
|
|
1063
|
+
console.log(chalk.magenta('Updating manifest...'));
|
|
1064
|
+
fs.writeFileSync('manifest.json', Manifest.toJsonString(manifest, {
|
|
1065
|
+
enumAsInteger: false,
|
|
1066
|
+
prettySpaces: 2,
|
|
1067
|
+
emitDefaultValues: true
|
|
1068
|
+
}));
|
|
1069
|
+
console.log(chalk.bgGreen('Success'));
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
var gitignoreTemplate = "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n.pnpm-debug.log*\n\n# Diagnostic reports (https://nodejs.org/api/report.html)\nreport.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n*.lcov\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Snowpack dependency directory (https://snowpack.dev/)\nweb_modules/\n\n# TypeScript cache\n*.tsbuildinfo\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional stylelint cache\n.stylelintcache\n\n# Microbundle cache\n.rpt2_cache/\n.rts2_cache_cjs/\n.rts2_cache_es/\n.rts2_cache_umd/\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variable files\n.env\n.env.development.local\n.env.test.local\n.env.production.local\n.env.local\n\n# parcel-bundler cache (https://parceljs.org/)\n.cache\n.parcel-cache\n\n# Next.js build output\n.next\nout\n\n# Nuxt.js build / generate output\n.nuxt\ndist\nbuild\n\n# Gatsby files\n.cache/\n# Comment in the public line in if your project uses Gatsby and not Next.js\n# https://nextjs.org/blog/next-9-1#public-directory-support\n# public\n\n# vuepress build output\n.vuepress/dist\n\n# vuepress v2.x temp and cache directory\n.temp\n.cache\n\n# Stores VSCode versions used for testing VSCode extensions\n.vscode-test\n\n# yarn v2\n.yarn/cache\n.yarn/unplugged\n.yarn/build-state.yml\n.yarn/install-state.gz\n.pnp.*";
|
|
1073
|
+
|
|
1074
|
+
var jestTemplate = "import type { Config } from \"@jest/types\"\n\nconst config: Config.InitialOptions = {\n preset: \"ts-jest\",\n testEnvironment: \"node\",\n verbose: true,\n automock: true,\n}\nexport default config";
|
|
1075
|
+
|
|
1076
|
+
var licenseTemplate = "## ISC License\n\nCopyright (c) [year] [fullname]\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.";
|
|
1077
|
+
|
|
1078
|
+
var readmeTemplate = "# 🐞 Mochabug Adapt's Magnificent Plugin 🐞\n\n[](PLUGIN_REPOSITORY_URL)\n[](https://opensource.org/licenses/ISC)\n\n## 📝 Description\n\nWelcome to the Magnificent Plugin for Mochabug Adapt! Developed by a talented third-party developer, this plugin promises to bring extra flavor to your Mochabug Adapt cloud platform experience. PLUGIN_DESCRIPTION\n\nThis plugin consists of one or more vertices. Each vertex is made up of an Executor and may optionally include a Configurator to help you tailor its behavior.\n\n## 📚 Table of Contents\n\n- [🐞 Mochabug Adapt's Magnificent Plugin 🐞](#-mochabug-adapts-magnificent-plugin-)\n - [📝 Description](#-description)\n - [📚 Table of Contents](#-table-of-contents)\n - [🚀 Getting Started](#-getting-started)\n - [🎯 Usage](#-usage)\n - [⚙️ Configuration](#️-configuration)\n - [📖 Documentation](#-documentation)\n - [🤝 Contributing](#-contributing)\n - [📜 License](#-license)\n - [👤 Author](#-author)\n\n## 🚀 Getting Started\n\nTo begin using Mochabug Adapt's Magnificent Plugin, simply start incorporating its vertices into your workflows within the Mochabug Adapt platform. No installation is required.\n\n## 🎯 Usage\n\nYou can start using the vertices by incorporating them into your workflows on the Mochabug Adapt platform. Each vertex will delight you with a specific task, and the usage will vary depending on your requirements. Consult the plugin documentation for a comprehensive guide on each vertex's usage.\n\n## ⚙️ Configuration\n\nEach vertex in the plugin may have a Configurator, which allows you to tailor the vertex's behavior to your liking. Configuration options may include settings for the Executor, input/output data formats, and other essential options.\n\n## 📖 Documentation\n\nFor more insights into the plugin, its vertices, and their features, visit the [homepage](PLUGIN_HOMEPAGE) and the [repository](PLUGIN_REPOSITORY_URL).\n\n## 🤝 Contributing\n\nReady to make the Magnificent Plugin for Mochabug Adapt even more magical? Contributions are welcome! Check the [repository](PLUGIN_REPOSITORY_URL) for open issues and guidelines on how to contribute.\n\n## 📜 License\n\nThis plugin is licensed under the [ISC License](https://opensource.org/licenses/ISC).\n\n## 👤 Author\n\nPLUGIN_AUTHOR\n";
|
|
1079
|
+
|
|
1080
|
+
var rollupTemplate = "import fs from 'fs';\nimport typescript from '@rollup/plugin-typescript';\nimport { nodeResolve } from '@rollup/plugin-node-resolve';\nimport terser from '@rollup/plugin-terser';\nimport commonjs from '@rollup/plugin-commonjs';\n\nconst config = [\n {\n input: 'src/executors.ts',\n output: {\n file: 'dist/executors.js',\n format: 'esm'\n },\n plugins: [typescript(), nodeResolve(), commonjs(), terser()]\n }\n];\n\n// Check if 'src/configurators.ts' exists\nif (fs.existsSync('src/configurators.ts')) {\n config.push({\n input: 'src/configurators.ts',\n output: {\n file: 'dist/configurators.js',\n format: 'esm'\n },\n plugins: [typescript(), nodeResolve(), commonjs(), terser()]\n });\n}\n\nexport default config;\n";
|
|
1081
|
+
|
|
1082
|
+
var tsconfig = "{\n \"exclude\": [\n \"**/*.test.*\",\n \"**/__mocks__/*\",\n \"**/__tests__/*\"\n ],\n \"compilerOptions\": {\n \"rootDir\": \"src\",\n \"jsx\": \"react\",\n \"target\": \"esnext\",\n \"module\": \"esnext\",\n \"lib\": [\n \"esnext\"\n ],\n \"moduleResolution\": \"node\",\n \"types\": [\n \"@mochabug/adapt-plugin-typings\",\n \"jest\"\n ],\n \"resolveJsonModule\": true,\n \"allowJs\": true,\n \"checkJs\": false,\n \"noEmit\": true,\n \"isolatedModules\": true,\n \"allowSyntheticDefaultImports\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"noImplicitReturns\": true,\n \"useUnknownInCatchVariables\": true,\n \"noUncheckedIndexedAccess\": true,\n \"noPropertyAccessFromIndexSignature\": true\n }\n}";
|
|
1083
|
+
|
|
1084
|
+
// Copyright 2023, mochabug AB
|
|
1085
|
+
//
|
|
1086
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
1087
|
+
// you may not use this file except in compliance with the License.
|
|
1088
|
+
// You may obtain a copy of the License at
|
|
1089
|
+
//
|
|
1090
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
1091
|
+
//
|
|
1092
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
1093
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
1094
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1095
|
+
// See the License for the specific language governing permissions and
|
|
1096
|
+
// limitations under the License.
|
|
1048
1097
|
async function init(dir) {
|
|
1049
1098
|
const ans = await inquirer.prompt([
|
|
1050
1099
|
{
|
|
@@ -1094,9 +1143,9 @@ async function init(dir) {
|
|
|
1094
1143
|
test: 'jest --collectCoverage --passWithNoTests',
|
|
1095
1144
|
rollup: 'rollup -c rollup.config.js',
|
|
1096
1145
|
build: 'run-p rollup',
|
|
1097
|
-
add: 'adaptkit
|
|
1098
|
-
publish: 'npm run build && adaptkit
|
|
1099
|
-
emulate: 'npm run build && adaptkit
|
|
1146
|
+
add: 'adaptkit add',
|
|
1147
|
+
publish: 'npm run build && adaptkit publish',
|
|
1148
|
+
emulate: 'npm run build && adaptkit emulate'
|
|
1100
1149
|
}
|
|
1101
1150
|
};
|
|
1102
1151
|
writeFile(path.join(cwd, 'package.json'), JSON.stringify(defPackage, null, 2));
|
|
@@ -1149,48 +1198,67 @@ async function init(dir) {
|
|
|
1149
1198
|
}));
|
|
1150
1199
|
console.log(chalk.bgGreen('Success'));
|
|
1151
1200
|
}
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
type: 'confirm',
|
|
1177
|
-
name: 'hasConfigurator',
|
|
1178
|
-
message: 'Need a configurator for the vertex?'
|
|
1179
|
-
}
|
|
1180
|
-
]);
|
|
1181
|
-
console.log(chalk.magenta('Creating new vertex templates...'));
|
|
1182
|
-
const vertex = addVertex('.', ans.vertexName, ans.vertexType, ans.hasConfigurator);
|
|
1183
|
-
manifest.vertices.push(vertex);
|
|
1184
|
-
if (!manifest.configuratorEsm && vertex.hasConfigurator) {
|
|
1185
|
-
manifest.configuratorEsm = 'dist/configurators.js';
|
|
1201
|
+
|
|
1202
|
+
/**
|
|
1203
|
+
* PluginService provides a service for uploading a plugin.
|
|
1204
|
+
*
|
|
1205
|
+
* @generated from protobuf service mochabugapis.adapt.plugins.v1.PluginService
|
|
1206
|
+
*/
|
|
1207
|
+
class PluginServiceClient {
|
|
1208
|
+
constructor(_transport) {
|
|
1209
|
+
this._transport = _transport;
|
|
1210
|
+
this.typeName = PluginService.typeName;
|
|
1211
|
+
this.methods = PluginService.methods;
|
|
1212
|
+
this.options = PluginService.options;
|
|
1213
|
+
}
|
|
1214
|
+
/**
|
|
1215
|
+
* UploadPlugin is a streaming RPC method that allows uploading a plugin in
|
|
1216
|
+
* chunks. The client can send multiple UploadPluginRequest messages, and the
|
|
1217
|
+
* server will respond with a single UploadPluginResponse after processing all
|
|
1218
|
+
* requests.
|
|
1219
|
+
*
|
|
1220
|
+
* @generated from protobuf rpc: UploadPlugin(stream mochabugapis.adapt.plugins.v1.UploadPluginRequest) returns (mochabugapis.adapt.plugins.v1.UploadPluginResponse);
|
|
1221
|
+
*/
|
|
1222
|
+
uploadPlugin(options) {
|
|
1223
|
+
const method = this.methods[0], opt = this._transport.mergeOptions(options);
|
|
1224
|
+
return stackIntercept("clientStreaming", this._transport, method, opt);
|
|
1186
1225
|
}
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
// Copyright 2023, mochabug AB
|
|
1229
|
+
//
|
|
1230
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
1231
|
+
// you may not use this file except in compliance with the License.
|
|
1232
|
+
// You may obtain a copy of the License at
|
|
1233
|
+
//
|
|
1234
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
1235
|
+
//
|
|
1236
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
1237
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
1238
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1239
|
+
// See the License for the specific language governing permissions and
|
|
1240
|
+
// limitations under the License.
|
|
1241
|
+
async function resize(filepath, height, width) {
|
|
1242
|
+
const extname = path.extname(filepath);
|
|
1243
|
+
switch (extname) {
|
|
1244
|
+
case '.avif':
|
|
1245
|
+
return await sharp(filepath).resize(height, width).avif().toBuffer();
|
|
1246
|
+
case '.gif':
|
|
1247
|
+
return await sharp(filepath).resize(height, width).gif().toBuffer();
|
|
1248
|
+
case '.jpg':
|
|
1249
|
+
case '.jpeg':
|
|
1250
|
+
case '.jfif':
|
|
1251
|
+
case '.pjpeg':
|
|
1252
|
+
case '.pjp':
|
|
1253
|
+
return await sharp(filepath).resize(height, width).jpeg().toBuffer();
|
|
1254
|
+
case '.png':
|
|
1255
|
+
return await sharp(filepath).resize(height, width).png().toBuffer();
|
|
1256
|
+
case '.svg':
|
|
1257
|
+
return fs.readFileSync(filepath);
|
|
1258
|
+
case '.webp':
|
|
1259
|
+
return await sharp(filepath).resize(height, width).webp().toBuffer();
|
|
1260
|
+
}
|
|
1261
|
+
throw new Error('Invalid logotype');
|
|
1194
1262
|
}
|
|
1195
1263
|
async function publish(manifest, address) {
|
|
1196
1264
|
const transport = new GrpcTransport({
|
|
@@ -1278,48 +1346,115 @@ async function publish(manifest, address) {
|
|
|
1278
1346
|
console.log(chalk.bgRed('FAILURE'));
|
|
1279
1347
|
}
|
|
1280
1348
|
}
|
|
1349
|
+
|
|
1350
|
+
// Copyright 2023, mochabug AB
|
|
1351
|
+
//
|
|
1352
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
1353
|
+
// you may not use this file except in compliance with the License.
|
|
1354
|
+
// You may obtain a copy of the License at
|
|
1355
|
+
//
|
|
1356
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
1357
|
+
//
|
|
1358
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
1359
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
1360
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1361
|
+
// See the License for the specific language governing permissions and
|
|
1362
|
+
// limitations under the License.
|
|
1363
|
+
const DEFAULT_DIRECTORY = './';
|
|
1364
|
+
const DEFAULT_ADDRESS = 'localhost:51002';
|
|
1365
|
+
function banner() {
|
|
1366
|
+
return chalk.yellowBright(figlet.textSync('Adaptkit'));
|
|
1367
|
+
}
|
|
1368
|
+
function getAddress(optionValue) {
|
|
1369
|
+
return typeof optionValue !== 'boolean' ? optionValue : DEFAULT_ADDRESS;
|
|
1370
|
+
}
|
|
1371
|
+
async function handleInit(dir, cmd) {
|
|
1372
|
+
// Check for unexpected arguments
|
|
1373
|
+
if (cmd.args.length >= 1) {
|
|
1374
|
+
console.error(chalk.red(`Error: Invalid sub-command or arguments provided.`));
|
|
1375
|
+
console.log(`For more information, use: ${chalk.blue('adaptkit help init')}`);
|
|
1376
|
+
process.exit(1);
|
|
1377
|
+
}
|
|
1378
|
+
// Continue with the usual logic if no unexpected arguments are found
|
|
1379
|
+
await init(dir);
|
|
1380
|
+
}
|
|
1381
|
+
async function handleAdd(cmd) {
|
|
1382
|
+
if (cmd.args.length >= 1) {
|
|
1383
|
+
console.error(chalk.red(`Error: Invalid sub-command or arguments provided.`));
|
|
1384
|
+
console.log(`For more information, use: ${chalk.blue('adaptkit help add')}`);
|
|
1385
|
+
process.exit(1);
|
|
1386
|
+
}
|
|
1387
|
+
const manifest = readManifest('manifest.json');
|
|
1388
|
+
if (!manifest) {
|
|
1389
|
+
console.log(`For more information, use: ${chalk.blue('adaptkit help add')}`);
|
|
1390
|
+
return;
|
|
1391
|
+
}
|
|
1392
|
+
await add(manifest);
|
|
1393
|
+
}
|
|
1394
|
+
async function handlePublish(address, cmd) {
|
|
1395
|
+
if (cmd.args.length >= 1) {
|
|
1396
|
+
console.error(chalk.red(`Error: Invalid sub-command or arguments provided.`));
|
|
1397
|
+
console.log(`For more information, use: ${chalk.blue('adaptkit help publish')}`);
|
|
1398
|
+
process.exit(1);
|
|
1399
|
+
}
|
|
1400
|
+
const manifest = readManifest('manifest.json');
|
|
1401
|
+
if (!manifest) {
|
|
1402
|
+
console.log(`For more information, use: ${chalk.blue('adaptkit help publish')}`);
|
|
1403
|
+
return;
|
|
1404
|
+
}
|
|
1405
|
+
await publish(manifest, address);
|
|
1406
|
+
}
|
|
1407
|
+
async function handleEmulate(address, cmd) {
|
|
1408
|
+
if (cmd.args.length >= 1) {
|
|
1409
|
+
console.error(chalk.red(`Error: Invalid sub-command or arguments provided.`));
|
|
1410
|
+
console.log(`For more information, use: ${chalk.blue('adaptkit help emulate')}`);
|
|
1411
|
+
process.exit(1);
|
|
1412
|
+
}
|
|
1413
|
+
const manifest = readManifest('manifest.json');
|
|
1414
|
+
if (!manifest) {
|
|
1415
|
+
console.log(`For more information, use: ${chalk.blue('adaptkit help emulate')}`);
|
|
1416
|
+
return;
|
|
1417
|
+
}
|
|
1418
|
+
await publish(manifest, address); // Assuming this should be emulate instead of publish
|
|
1419
|
+
}
|
|
1281
1420
|
async function main() {
|
|
1282
1421
|
program
|
|
1283
1422
|
.name('Adaptkit')
|
|
1284
1423
|
.version('1.0.0')
|
|
1285
|
-
.description(
|
|
1286
|
-
.
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
await publish(readManifest(), address);
|
|
1424
|
+
.description(`Unleash the power of seamless plugin development with Adaptkit, your premier CLI companion for Mochabug Adapt. Effortlessly create, manage, and deploy plugins with finesse. Explore the full potential of Adaptkit at ${chalk.underline.blue('https://www.mochabug.com')}.`)
|
|
1425
|
+
.configureHelp({
|
|
1426
|
+
sortSubcommands: true,
|
|
1427
|
+
sortOptions: true,
|
|
1428
|
+
showGlobalOptions: true,
|
|
1429
|
+
helpWidth: 140
|
|
1430
|
+
});
|
|
1431
|
+
program
|
|
1432
|
+
.command('init')
|
|
1433
|
+
.option('-d, --dir <dir>', `Choose the directory to initiate your plugin's journey. Default: '${DEFAULT_DIRECTORY}'`, DEFAULT_DIRECTORY)
|
|
1434
|
+
.description('Kickstart your plugin adventure. This command scaffolds a ready-to-go project structure.')
|
|
1435
|
+
.action(({ dir }, cmd) => handleInit(dir, cmd));
|
|
1436
|
+
program
|
|
1437
|
+
.command('add')
|
|
1438
|
+
.description("Expand your plugin's capabilities. Ensure you're in the directory with manifest.json.")
|
|
1439
|
+
.action((cmd) => handleAdd(cmd));
|
|
1440
|
+
program
|
|
1441
|
+
.command('publish')
|
|
1442
|
+
.option('-u, --url <url>', `Choose the destination URL for your plugin's deployment. Note: Primarily for testing purposes. ${chalk.red('Use with caution')}`, DEFAULT_ADDRESS)
|
|
1443
|
+
.description("Ready for liftoff? Publish your plugin to your organization with this command. Ensure you're in the directory with manifest.json.")
|
|
1444
|
+
.action(({ url }, cmd) => handlePublish(getAddress(url), cmd));
|
|
1445
|
+
program
|
|
1446
|
+
.command('emulate')
|
|
1447
|
+
.option('-u, --url <url>', 'Specify the URL to test your plugin in the emulator. Ideal for custom port configurations.', DEFAULT_ADDRESS)
|
|
1448
|
+
.description("Take your plugin for a test drive. Best used in conjunction with your build pipeline. Ensure you're in the directory with manifest.json.")
|
|
1449
|
+
.action(({ url }, cmd) => handleEmulate(getAddress(url), cmd));
|
|
1450
|
+
// Set a custom help action
|
|
1451
|
+
program.addHelpText('beforeAll', banner() + '\n');
|
|
1452
|
+
program.showHelpAfterError();
|
|
1453
|
+
try {
|
|
1454
|
+
await program.parseAsync(process.argv);
|
|
1317
1455
|
}
|
|
1318
|
-
|
|
1319
|
-
console.
|
|
1320
|
-
program.outputHelp();
|
|
1456
|
+
catch (error) {
|
|
1457
|
+
console.error('An error occurred:', error.message);
|
|
1321
1458
|
}
|
|
1322
|
-
process.exit();
|
|
1323
1459
|
}
|
|
1324
1460
|
main();
|
|
1325
|
-
//# sourceMappingURL=index.js.map
|
package/bin/init.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AA8BA,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,iBA6HrC"}
|
package/bin/publish.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,QAAQ,EAET,MAAM,kDAAkD,CAAC;AA8B1D,wBAAsB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAiGhE"}
|
package/bin/utils.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Manifest } from './genproto/mochabugapis/adapt/plugins/v1/plugins';
|
|
2
|
+
export declare function writeFile(filePath: string, content: string): void;
|
|
3
|
+
export declare function readManifest(filePath: string): Manifest | null;
|
|
4
|
+
export declare function capitilize(val: string): string;
|
|
5
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAG5E,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAI1D;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAiB9D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertices.d.ts","sourceRoot":"","sources":["../src/vertices.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,MAAM,EAEP,MAAM,kDAAkD,CAAC;AAkB1D,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO,GACvB,MAAM,CAkIR"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mochabug/adaptkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-alpha.1",
|
|
4
4
|
"description": "A cmd to create, emulate and publish Mochabug Adapt plugins",
|
|
5
5
|
"main": "bin/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -38,32 +38,32 @@
|
|
|
38
38
|
"license": "Apache-2.0",
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@jest/globals": "^29.7.0",
|
|
41
|
-
"@rollup/plugin-commonjs": "^25.0.
|
|
42
|
-
"@rollup/plugin-node-resolve": "^15.2.
|
|
43
|
-
"@rollup/plugin-typescript": "^11.1.
|
|
44
|
-
"@types/figlet": "^1.5.
|
|
45
|
-
"@types/inquirer": "^9.0.
|
|
46
|
-
"@types/jest": "^29.5.
|
|
41
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
42
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
43
|
+
"@rollup/plugin-typescript": "^11.1.5",
|
|
44
|
+
"@types/figlet": "^1.5.7",
|
|
45
|
+
"@types/inquirer": "^9.0.6",
|
|
46
|
+
"@types/jest": "^29.5.7",
|
|
47
47
|
"@types/mkdirp": "^1.0.2",
|
|
48
|
-
"@types/mustache": "^4.2.
|
|
49
|
-
"@types/node": "^20.8.
|
|
48
|
+
"@types/mustache": "^4.2.4",
|
|
49
|
+
"@types/node": "^20.8.10",
|
|
50
50
|
"@types/sharp": "^0.31.1",
|
|
51
51
|
"jest": "^29.7.0",
|
|
52
|
-
"rollup": "^
|
|
52
|
+
"rollup": "^4.2.0",
|
|
53
53
|
"rollup-plugin-string": "^3.0.0",
|
|
54
54
|
"ts-jest": "^29.1.1",
|
|
55
55
|
"ts-node": "^10.9.1",
|
|
56
56
|
"typescript": "^5.2.2"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@grpc/grpc-js": "^1.9.
|
|
59
|
+
"@grpc/grpc-js": "^1.9.9",
|
|
60
60
|
"@protobuf-ts/grpc-transport": "^2.9.1",
|
|
61
61
|
"@protobuf-ts/runtime": "^2.9.1",
|
|
62
62
|
"@protobuf-ts/runtime-rpc": "^2.9.1",
|
|
63
63
|
"chalk": "^5.3.0",
|
|
64
|
-
"commander": "^11.
|
|
64
|
+
"commander": "^11.1.0",
|
|
65
65
|
"fast-glob": "^3.3.1",
|
|
66
|
-
"figlet": "^1.
|
|
66
|
+
"figlet": "^1.7.0",
|
|
67
67
|
"inquirer": "^9.2.11",
|
|
68
68
|
"mkdirp": "^3.0.1",
|
|
69
69
|
"mustache": "^4.2.0",
|
package/LICENSE.txt
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Copyright (c) 2023 mochabug AB. All rights reserved.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
5
|
-
this file except in compliance with the License. You may obtain a copy of the
|
|
6
|
-
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
-
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
8
|
-
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
9
|
-
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
10
|
-
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
11
|
-
See the Apache Version 2.0 License for specific language governing permissions
|
|
12
|
-
and limitations under the License.
|
package/bin/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/genproto/mochabugapis/adapt/plugins/v1/plugins.ts","../src/genproto/mochabugapis/adapt/plugins/v1/plugins.client.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|